/* === Global Landing Header System === */
:root{
  --header-h: 64px;     /* JS measures & updates this */
  --header-gap: 34px;   /* constant breathing room */
  --subnav-h: 48px;     /* optional: only if page has sticky subnav */
  --padX: clamp(16px,3vw,24px);

  /* Brand accents (page may override) */
  --accent-start:#d8b4fe;
  --accent-end:#8b5cf6;
}

/* Mobile-first sensible defaults to reduce CLS before JS runs */
@media (max-width:780px){
  :root{
    --header-h: 56px;   /* closer mobile estimate */
    --header-gap: 22px; /* slightly tighter by default */
  }
}

/* Layout helpers */
.container{ max-width:1200px; margin:0 auto; padding: calc(var(--header-h) + var(--header-gap)) var(--padX) 72px; }
.container--topless{ max-width:1200px; margin:0 auto; padding: 0 var(--padX) 72px; } /* use for the hero wrapper */

/* Global hero */
.landing-hero{
  text-align:center; margin-top:0;
  /* Default vertical offset for hero H1 (menu→H1 gap). Tweakable per page. */
  padding-top: 96px;
}
@media (max-width:780px){ .landing-hero{ padding-top:72px; } }

/* Global heading visuals */
.landing-header{
  font-family:'Satoshi', Inter, system-ui, sans-serif; font-weight:700; line-height:1.18; letter-spacing:-.3px;
  margin:0 auto 12px; padding-bottom:.18em; max-width:760px;
  font-size:clamp(2.2rem,5vw,3rem);
  background:linear-gradient(90deg,var(--accent-start),var(--accent-end));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.landing-subtitle{ font-family:'Manrope',system-ui,sans-serif; font-weight:400; font-size:clamp(1.05rem,2.5vw,1.25rem); color:#ccc; margin:0 auto 28px; max-width:720px; }
.landing-divider{
  height:2px; width:90%; max-width:860px; margin:0 auto 48px;
  background:linear-gradient(90deg,var(--accent-start),var(--accent-end)); border-radius:4px;
  box-shadow:0 0 10px color-mix(in oklab, var(--accent-end) 28%, transparent);
}

/* Optional sticky subnav shell that uses global vars */
.subnav-wrap{ position:sticky; top:var(--header-h); z-index:20; background:linear-gradient(#000 70%, rgba(0,0,0,.82)); backdrop-filter:saturate(120%) blur(6px); border-bottom:1px solid #111; }
section{ scroll-margin-top: calc(var(--header-h) + var(--subnav-h) + 12px); }

/* Safety with GeneratePress */
.site-header, .inside-header{ margin:0 !important; padding:0 !important; }

.scroll-scrim{
  position: fixed; top: 0; left: 0; right: 0;
  height: 0; background:#000;
  z-index: 19; pointer-events: none;
  transition: height .2s ease;
}