/* =====================================================================
   Berolink — shared site navigation (Option B)
   Fixed top bar. Chapter pages: visible from load (body.has-nav offsets
   content below it). Home (body.home): hidden over the dark hero, fades
   in once you scroll past the doorway. Warm system · CDO-06.
   ===================================================================== */
:root{ --nav-h:clamp(54px,7vh,64px); }

.site-nav{
  position:fixed; inset:0 0 auto 0; z-index:60; height:var(--nav-h);
  display:flex; align-items:center;
  background:rgba(241,233,224,0.90); border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:saturate(1.1) blur(10px); backdrop-filter:saturate(1.1) blur(10px);
  transition:opacity .5s ease, transform .5s ease;
}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .site-nav{ background:var(--gardenia); }
}
.nav-inner{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 var(--pad);
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }

.nav-mark{ font-family:"Breve SC",var(--mono); font-weight:400; font-size:1.06rem;
  letter-spacing:0.3em; color:var(--peri-deep); line-height:1; white-space:nowrap; }

.nav-links{ display:flex; align-items:center; gap:clamp(1.1rem,2.4vw,2.4rem); }
.nav-links a{ font-family:var(--mono); font-size:0.72rem; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--taupe); white-space:nowrap; padding:0.4em 0;
  position:relative; transition:color .25s ease; }
.nav-links a:hover{ color:var(--umber); }
.nav-links a.is-current{ color:var(--peri-deep); }
.nav-links a.is-current::after{ content:""; position:absolute; left:0; right:0; bottom:-3px;
  height:1.5px; background:var(--peri-deep); border-radius:2px; }

.nav-toggle{ display:none; }

/* Home only: nav hidden over the doorway, revealed past the hero */
body.home .site-nav{ opacity:0; transform:translateY(-100%); pointer-events:none; }
body.home .site-nav.is-visible{ opacity:1; transform:none; pointer-events:auto; }

/* chapter pages: clear the fixed bar */
body.has-nav{ padding-top:var(--nav-h); }

/* ---- mobile: hamburger + drop panel ---- */
@media (max-width:720px){
  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center;
    width:42px; height:42px; margin-right:-10px; background:none; border:0;
    cursor:pointer; color:var(--umber); -webkit-tap-highlight-color:transparent; }
  .nav-toggle svg{ width:22px; height:22px; }
  .nav-toggle .ic-x{ display:none; }
  .site-nav.is-open .nav-toggle .ic-menu{ display:none; }
  .site-nav.is-open .nav-toggle .ic-x{ display:block; }

  .nav-links{ position:absolute; top:var(--nav-h); left:0; right:0;
    flex-direction:column; align-items:flex-start; gap:0;
    background:var(--gardenia); border-bottom:1px solid var(--line);
    padding:0.2rem var(--pad) 1rem;
    opacity:0; transform:translateY(-10px); pointer-events:none;
    transition:opacity .3s ease, transform .3s ease; }
  .site-nav.is-open .nav-links{ opacity:1; transform:none; pointer-events:auto; }
  .nav-links a{ font-size:0.82rem; letter-spacing:0.14em; padding:0.95em 0; width:100%;
    border-bottom:1px solid var(--line); }
  .nav-links a:last-child{ border-bottom:0; }
  .nav-links a.is-current::after{ display:none; }
}
