*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;font-family:Karla,system-ui,sans-serif;font-size:18px;line-height:1.72;color:#EDE6DA;background:#151A20;overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:#C79A4B;text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:#E0B76A}
a:focus-visible,button:focus-visible{outline:2px solid #C79A4B;outline-offset:3px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.25;color:#F2EBE0}
h1{font-size:clamp(1.75rem,4.5vw,2.5rem);margin:0 0 1rem}
h2{font-size:1.35rem;margin:2rem 0 .75rem}
main h1 + p{margin-top:0}
.mono{font-family:"Space Mono",monospace;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#B8AEA0}
.tagline{font-size:1.05rem;color:#B8AEA0;margin:.5rem 0 1.5rem;line-height:1.6}
.disclaimer{color:#B8AEA0;font-size:.95rem;line-height:1.65}
.map-note{margin:1.25rem 0;font-size:13px}
.site-header{border-bottom:1px solid rgba(162,152,138,.25);padding:1rem 0;position:sticky;top:0;background:#151A20;z-index:100}
.header-step,.footer-step,.article-step{margin-left:clamp(0px,4vw,96px);padding:0 clamp(1rem,4vw,1.5rem);border-left:1px solid #C79A4B;max-width:100%}
.step-2{margin-left:calc(clamp(0px,4vw,96px) + 24px)}
.step-3{margin-left:calc(clamp(0px,4vw,96px) + 48px)}
.site-mark{font-family:Fraunces,serif;font-size:1.25rem;color:#F2EBE0;text-decoration:none;font-weight:600}
.site-mark:hover{color:#C79A4B}
nav ul{display:flex;flex-wrap:wrap;gap:.65rem 1rem;list-style:none;margin:.75rem 0 0;padding:0}
nav a{color:#EDE6DA;text-decoration:none;font-size:1rem;padding:.15rem 0}
nav a:hover{color:#C79A4B}
nav a[aria-current=page]{color:#C79A4B;font-weight:500}
main{max-width:72ch;padding:2rem clamp(1rem,4vw,1.5rem) 5rem;margin:0 auto;width:100%}
.hero-step{padding-top:1rem}
.hero-step h1{font-size:clamp(2rem,5vw,3rem);max-width:18ch}
.brass-word{color:#C79A4B}
.photo-top-rule{border-top:2px solid #C79A4B;margin:2rem 0;padding-top:1rem}
.photo-top-rule img{border-radius:2px}
figure figcaption{margin-top:.75rem;line-height:1.5}
.note-card{background:#1D242C;border-left:3px solid #C79A4B;padding:1.25rem 1.5rem;margin:1.25rem 0}
.note-card h2,.note-card h3{font-size:1.2rem;margin:0 0 .5rem}
.note-card h2 a,.note-card h3 a{color:#F2EBE0;text-decoration:none}
.note-card h2 a:hover,.note-card h3 a:hover{color:#C79A4B}
.note-card p{margin:.5rem 0}
.note-card .mono{margin-bottom:.35rem}
.place-riser{margin:1rem 0;padding-left:1rem;border-left:1px solid #C79A4B;color:#EDE6DA}
.fragment-card{margin:1.25rem 0;padding:1rem 1.25rem;background:#1D242C;border-left:3px solid #C79A4B}
.fragment-card p{margin:.35rem 0}
section{margin:2rem 0}
section > h2{margin-top:0}
.map-wrap{margin:2rem 0;overflow:hidden;width:100%;max-width:100%;border:1px solid rgba(199,154,75,.35);background:#1D242C}
.map-wrap iframe,.map-wrap .map-placeholder{width:100%;max-width:100%;border:0;background:#1D242C;color:#EDE6DA;display:block}
.map-a iframe,.map-a .map-placeholder{min-height:320px;aspect-ratio:16/10}
.map-b iframe,.map-b .map-placeholder{min-height:180px;aspect-ratio:16/6}
.map-c iframe,.map-c .map-placeholder{min-height:220px;aspect-ratio:16/8}
.map-d iframe,.map-d .map-placeholder{min-height:160px;aspect-ratio:16/7}
.map-placeholder{padding:2rem 1.25rem;text-align:center;font-size:1rem;line-height:1.6}
.map-show-btn{background:#C79A4B;color:#151A20;border:0;padding:.75rem 1.25rem;cursor:pointer;font-family:Karla,sans-serif;font-size:1rem;border-radius:2px;margin-top:.75rem}
.map-show-btn:hover{background:#E0B76A}
.site-footer{border-top:1px solid rgba(162,152,138,.25);padding:2rem 0 7rem;font-size:1rem;color:#B8AEA0}
.site-footer p{margin:.5rem 0}
.site-footer strong{color:#F2EBE0}
.site-footer a{color:#C79A4B}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#1D242C;border-top:1px solid #C79A4B;padding:1rem clamp(1rem,4vw,1.5rem) 1.25rem;z-index:1000;color:#EDE6DA;max-width:100vw;box-shadow:0 -4px 24px rgba(0,0,0,.35)}
.cookie-banner p{margin:0;line-height:1.55;font-size:1rem}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}
.cookie-banner button{background:transparent;border:1px solid #C79A4B;color:#EDE6DA;padding:.55rem 1rem;cursor:pointer;font-family:Karla,sans-serif;font-size:.95rem;border-radius:2px;min-height:44px}
.cookie-banner button:hover{background:rgba(199,154,75,.15)}
.cookie-banner button[data-action=accept]{background:#C79A4B;color:#151A20;border-color:#C79A4B;font-weight:500}
.cookie-banner button[data-action=accept]:hover{background:#E0B76A}
.cookie-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(162,152,138,.3)}
.cookie-panel p{font-size:.95rem;margin:.5rem 0}
main button[data-manage-cookies]{background:#C79A4B;color:#151A20;border:0;padding:.65rem 1.15rem;cursor:pointer;font-family:Karla,sans-serif;font-size:1rem;border-radius:2px;margin:.5rem 0}
main button[data-manage-cookies]:hover{background:#E0B76A}
body.cookie-open{padding-bottom:9rem}
article[itemscope]{max-width:68ch}
article[itemscope] p{margin:0 0 1.15rem}
article[itemscope] p:last-of-type{margin-bottom:0}
main > p,main > section p{max-width:68ch}
@media(max-width:640px){
  .header-step,.footer-step,.article-step,.step-2,.step-3{margin-left:0;border-left:2px solid #C79A4B;padding-left:1rem;padding-right:1rem}
  body{font-size:17px}
  .mono{font-size:12px}
  nav ul{gap:.5rem .75rem}
  nav a{font-size:.95rem}
  .cookie-actions{flex-direction:column}
  .cookie-banner button{width:100%;text-align:center}
  .map-a iframe,.map-a .map-placeholder{min-height:240px}
  .hero-step h1{max-width:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
