/* P04 + G01 Hero R2 — Refinements limited to brand, navigation, CTAs. */
/* Do not touch the existing Georgia headline, video, hero layout or G01 gallery. */
.site-header .brand{gap:0;min-width:0}
.site-header .brand-name{white-space:nowrap;font-weight:600;letter-spacing:.145em}
.site-header .header-book{display:inline-flex;align-items:center;gap:.65rem;white-space:nowrap;transition:color .24s ease,border-color .24s ease}
.site-header .header-book:hover{color:#cbe2d8;border-color:#cbe2d8}
.cta-arrow{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle;stroke:currentColor}
.site-header .header-book .cta-arrow{width:16px;height:16px;transition:transform .28s ease}
.site-header .header-book:hover .cta-arrow,.hero .button:hover .cta-arrow{transform:translate(2px,-2px)}
.hero .button .cta-arrow{width:20px;height:20px;transition:transform .28s ease}
.site-header .brand,.site-header .nav-tools{position:relative;z-index:3}
.site-header .menu-toggle{width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.56);transition:border-color .3s ease,background .3s ease,transform .3s ease}
.site-header .menu-toggle:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.site-header .menu-toggle span{width:19px;height:1px;flex:none;transition:transform .3s cubic-bezier(.22,.7,.23,1),opacity .3s ease}
.menu-is-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-is-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
body.menu-is-open{overflow:hidden;overscroll-behavior:none}
.menu-is-open .header-book{opacity:0;pointer-events:none}
/* Immersive editorial overlay, not a white floating dropdown. Outside animated header. */
.primary-nav{
  position:fixed;inset:0;z-index:39;
  top:0;right:0;bottom:0;left:0;
  width:100%;max-width:none;height:100vh;height:100dvh;
  background:linear-gradient(115deg,rgba(8,20,21,.985),rgba(9,23,26,.945)),url('../img/hero_big.webp') center / cover no-repeat;
  color:#f6f4ee;box-shadow:none;
  display:flex;flex-direction:column;align-items:stretch;
  overflow-y:auto;overscroll-behavior:contain;
  padding:clamp(7rem,18vh,12rem) var(--pad) clamp(2rem,5vh,4rem);
  visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px);
  transition:opacity .35s ease,transform .5s cubic-bezier(.21,.67,.23,1),visibility 0s linear .5s;
}
.primary-nav.open{display:flex;visibility:visible;opacity:1;pointer-events:auto;transform:none;transition-delay:0s}
.primary-nav__intro,.primary-nav__links,.primary-nav__footer{width:min(1100px,100%);margin-left:auto;margin-right:auto}
.primary-nav__intro{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:clamp(1.25rem,3vh,2.5rem)}
.primary-nav__kicker{color:#a8beb6;font-size:.65rem;font-weight:600;letter-spacing:.22em}
.primary-nav__heading{font-family:var(--serif);font-size:clamp(1.1rem,1.7vw,1.65rem);font-style:italic;color:#d6dfd8}
.primary-nav__links{counter-reset:navitem;display:flex;flex-direction:column;border-top:1px solid rgba(238,239,232,.22)}
.primary-nav__links a{
  display:grid;grid-template-columns:3.7rem minmax(0,1fr) 22px;gap:clamp(.7rem,2vw,1.5rem);align-items:center;
  border:0;border-bottom:1px solid rgba(238,239,232,.22);padding:clamp(.6rem,1.5vh,1.2rem) .1rem;
  color:#f7f5ee;font-family:var(--serif);font-size:clamp(1.65rem,3.1vw,3.3rem);font-weight:400;line-height:1.08;
  letter-spacing:-.036em;transition:color .25s ease,padding-left .28s ease,background .25s ease;
}
.primary-nav__links a::before{counter-increment:navitem;content:'0' counter(navitem);align-self:center;font-family:var(--sans);font-weight:500;font-size:.65rem;letter-spacing:.15em;color:#92aaa2}
.primary-nav__links a::after{content:'';display:block;width:10px;height:10px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);justify-self:center;opacity:.6;transition:opacity .25s ease,transform .25s ease}
.primary-nav__links a:last-child{border-bottom:1px solid rgba(238,239,232,.22)}
.primary-nav__links a:hover,.primary-nav__links a:focus-visible{color:#d4e7db;background:rgba(255,255,255,.035);padding-left:.35rem}
.primary-nav__links a:hover::after,.primary-nav__links a:focus-visible::after{opacity:1;transform:translateX(3px) rotate(45deg)}
.primary-nav__footer{margin-top:auto;padding-top:clamp(1.5rem,4vh,3rem);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#a0b3ab;letter-spacing:.15em;font-size:.6rem;font-weight:500}
@media(max-width:900px){
  .primary-nav{padding-top:clamp(7rem,16vh,10rem)}
  .primary-nav__links a{grid-template-columns:2.25rem minmax(0,1fr) 18px;font-size:clamp(1.6rem,4.1vw,2.55rem)}
}
@media(max-width:680px){
  .site-header .brand-name{font-size:.65rem;letter-spacing:.105em}
  .site-header .nav-tools{gap:.85rem}
  .site-header .header-book{font-size:.73rem;letter-spacing:0;gap:.35rem;padding-bottom:.18rem}
  .site-header .header-book .cta-arrow{width:14px;height:14px}
  .site-header .menu-toggle{width:42px;height:42px}
  .hero .button .cta-arrow{width:19px;height:19px}
  .primary-nav{top:0;right:0;bottom:0;left:0;width:100%;padding:clamp(7.7rem,17vh,10rem) var(--pad) clamp(1.9rem,5vh,3rem)}
  .primary-nav__intro{display:block;margin-bottom:1.4rem}
  .primary-nav__heading{display:block;font-size:1.13rem;margin-top:1.3rem}
  .primary-nav__links a{grid-template-columns:1.65rem minmax(0,1fr) 15px;gap:.6rem;font-size:clamp(1.48rem,6vw,2.3rem);padding:clamp(.7rem,1.6vh,1.1rem) 0;line-height:1.08}
  .primary-nav__links a::before{font-size:.58rem}
  .primary-nav__links a::after{width:8px;height:8px}
  .primary-nav__footer{font-size:.56rem;gap:.5rem;padding-top:1.8rem;line-height:1.65}
}
@media(max-width:380px){
  .site-header .brand-name{font-size:.62rem;letter-spacing:.065em}
  .site-header .nav-tools{gap:.6rem}
  .site-header .header-book{font-size:.68rem}
  .primary-nav{padding-top:7.1rem}
  .primary-nav__links a{font-size:1.45rem;padding:.7rem 0}
}
@media(max-height:680px){
  .primary-nav{padding-top:6.8rem}
  .primary-nav__intro{margin-bottom:.9rem}
  .primary-nav__links a{padding:.65rem 0}
  .primary-nav__footer{padding-top:1rem}
}
@media(prefers-reduced-motion:reduce){
  .primary-nav,.primary-nav__links a,.menu-toggle span,.cta-arrow{transition:none!important;transform:none}
  .primary-nav.open{transform:none}
}
