/* =====================================================================
   AI509 — Brand stylesheet
   Two worlds, one system:
     :root        = PAPER world (warm cream, ink text, soft shadows) — reading
     .ai509-dark  = NEON world  (deep circuit ground, white ink, glows) — hero / CTA
   Golden rule: never put a neon glow on paper; never set long-form
   reading on the dark circuit field.
   ===================================================================== */

/* ---------- Design tokens ---------- */
:root {
  /* Brand — semantic aliases (reference these, not raw ramps) */
  --brand-primary:   #E11D26;  /* Hibiscus Red  — action, primary buttons */
  --brand-flame:     #FF6A1A;  /* Flame Orange  — petal mid */
  --brand-accent:    #E0A93C;  /* Stamen Gold   — editorial accent, taglines */
  --brand-secondary: #1B4DB1;  /* Circuit Blue  — structure, links */

  /* Red ramp */
  --red-700:#9E1015; --red-600:#C4161C; --red-500:#E11D26; --red-400:#FF3B30;
  /* Orange / gold ramp */
  --orange-600:#E2530C; --orange-500:#FF6A1A; --gold-500:#E0A93C; --gold-400:#F2C14E;
  /* Blue ramp */
  --blue-800:#0E1F4A; --blue-600:#1B4DB1; --blue-500:#2D6BE8; --blue-400:#5B8EF8;
  /* Ink / stone / paper neutrals */
  --ink-950:#05070D; --ink-900:#0A0E16; --ink-700:#1D2536; --ink-500:#3D4862;
  --stone-700:#44403A; --stone-500:#837B6E; --stone-300:#CABFAC;
  --paper-50:#FDFAF2; --paper-100:#FAF4E8; --paper-200:#F4ECDA; --paper-400:#DDCDAE;

  /* Paper-world surface + text (default) */
  --bg:           var(--paper-100);
  --surface-card: #ffffff;
  --surface-sunk: var(--paper-200);
  --text-strong:  var(--ink-900);
  --text-body:    #36424f;
  --text-muted:   var(--stone-500);
  --hairline:     #e7ddc9;
  --link:         var(--brand-secondary);

  /* Gradients */
  --gradient-hibiscus: linear-gradient(135deg, var(--red-500) 0%, var(--orange-500) 55%, var(--gold-400) 100%);
  --gradient-flame:    linear-gradient(135deg, var(--red-400) 0%, var(--orange-500) 100%);
  --gradient-gold:     linear-gradient(135deg, var(--gold-500) 0%, var(--gold-400) 100%);
  --gradient-circuit:  radial-gradient(120% 90% at 80% -10%, #122044 0%, #0a0f1d 45%, var(--ink-950) 100%);
  --gradient-paper:    linear-gradient(180deg, var(--paper-50) 0%, var(--paper-100) 100%);

  /* Radii */
  --r-sm:8px; --r-md:12px; --r-lg:18px; --r-xl:26px; --r-pill:999px;

  /* Paper shadows (soft, warm) */
  --shadow-sm: 0 1px 2px rgba(68,64,58,.06), 0 2px 8px rgba(68,64,58,.06);
  --shadow-md: 0 4px 12px rgba(68,64,58,.08), 0 12px 28px rgba(68,64,58,.08);
  --shadow-lg: 0 10px 24px rgba(68,64,58,.10), 0 28px 60px rgba(68,64,58,.12);

  /* Neon glows (for dark world only) */
  --glow-red:  0 0 28px rgba(225,29,38,.55);
  --glow-gold: 0 0 28px rgba(224,169,60,.50);
  --glow-blue: 0 0 28px rgba(45,107,232,.50);

  /* Motion */
  --ease-out: cubic-bezier(.16,.84,.36,1);
  --dur-base: 200ms;

  /* Type */
  --font-display: "Orbitron", system-ui, sans-serif;       /* eyebrows, numerals, wordmark */
  --font-sans:    "Hanken Grotesk", system-ui, sans-serif; /* headings + body */
  --font-serif:   "Lora", Georgia, serif;                  /* taglines, quotes, signature */

  --container: 1140px;
}

/* NEON world scope — re-map surface + text for dark sections */
.ai509-dark {
  --bg: var(--ink-950);
  --surface-card: rgba(255,255,255,.04);
  --surface-sunk: rgba(255,255,255,.03);
  --text-strong: #ffffff;
  --text-body: #d7dce6;
  --text-muted: #9aa3b4;
  --hairline: rgba(255,255,255,.10);
  --link: var(--blue-400);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after { box-sizing:border-box; }
* { margin:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:84px; }
body {
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.7;
  color:var(--text-body);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img { max-width:100%; display:block; }
a { color:var(--link); text-decoration:none; }
a:hover { text-decoration:underline; }
ul { list-style:none; padding:0; }
:focus-visible { outline:2px solid var(--brand-secondary); outline-offset:3px; border-radius:4px; }

/* ---------- Typography ---------- */
h1,h2,h3,h4 { font-family:var(--font-sans); color:var(--text-strong); line-height:1.1; font-weight:800; letter-spacing:-.02em; }
.eyebrow {
  font-family:var(--font-display);
  font-weight:600;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--brand-primary);
  display:inline-block;
  margin-bottom:1rem;
}
.ai509-dark .eyebrow { color:var(--gold-400); }
.display { font-size:clamp(2.6rem,6vw,5.5rem); letter-spacing:-.03em; }
.h-section { font-size:clamp(2rem,4vw,3rem); }
.h-sub { font-size:clamp(1.3rem,2.2vw,1.75rem); font-weight:800; letter-spacing:-.015em; }
.lead { font-size:clamp(1.05rem,1.4vw,1.22rem); color:var(--text-body); }
.serif { font-family:var(--font-serif); font-style:italic; }
.tagline { font-family:var(--font-serif); font-style:italic; color:var(--brand-accent); }
.numeral { font-family:var(--font-display); font-weight:800; letter-spacing:.02em; }
.text-grad {
  background:var(--gradient-hibiscus);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* ---------- Layout ---------- */
.container { width:100%; max-width:var(--container); margin-inline:auto; padding-inline:24px; }
.section { padding-block:clamp(72px,11vh,128px); position:relative; }
.section--tight { padding-block:clamp(48px,7vh,80px); }
.center { text-align:center; }
.measure { max-width:62ch; }
.mx-auto { margin-inline:auto; }
.stack > * + * { margin-top:1rem; }

/* ---------- Buttons ---------- */
.btn {
  --btn-bg:var(--brand-primary); --btn-fg:#fff; --btn-bd:transparent;
  display:inline-flex; align-items:center; gap:.55em;
  font-family:var(--font-sans); font-weight:700; font-size:1rem; line-height:1;
  padding:.95em 1.6em; border-radius:var(--r-pill);
  background:var(--btn-bg); color:var(--btn-fg);
  border:1.5px solid var(--btn-bd);
  cursor:pointer; text-decoration:none;
  transition:transform var(--dur-base) var(--ease-out),
             box-shadow var(--dur-base) var(--ease-out),
             background var(--dur-base) var(--ease-out),
             color var(--dur-base) var(--ease-out);
  will-change:transform;
}
.btn:hover { transform:translateY(-2px); text-decoration:none; box-shadow:0 8px 22px rgba(225,29,38,.28); }
.btn:active { transform:translateY(1px); }
.btn .icon { width:1.1em; height:1.1em; }

.btn--gold { --btn-bg:var(--gold-500); --btn-fg:#3a2c08; }
.btn--gold:hover { box-shadow:0 8px 22px rgba(224,169,60,.32); }
.btn--secondary { --btn-bg:transparent; --btn-fg:var(--brand-secondary); --btn-bd:var(--brand-secondary); }
.btn--secondary:hover { background:var(--brand-secondary); --btn-fg:#fff; box-shadow:0 8px 22px rgba(27,77,177,.26); }
.btn--ghost { --btn-bg:transparent; --btn-fg:var(--text-strong); --btn-bd:var(--hairline); }
.btn--ghost:hover { background:rgba(0,0,0,.04); box-shadow:none; }

/* On the neon world, primary carries a soft red glow */
.ai509-dark .btn { box-shadow:var(--glow-red); }
.ai509-dark .btn:hover { box-shadow:0 0 36px rgba(225,29,38,.7); }
.ai509-dark .btn--gold { box-shadow:var(--glow-gold); }
.ai509-dark .btn--gold:hover { box-shadow:0 0 36px rgba(224,169,60,.7); }
.ai509-dark .btn--secondary { --btn-fg:#cdd9ff; --btn-bd:rgba(120,160,255,.5); box-shadow:none; }
.ai509-dark .btn--secondary:hover { background:rgba(45,107,232,.18); --btn-fg:#fff; box-shadow:var(--glow-blue); }
.ai509-dark .btn--ghost { --btn-fg:#fff; --btn-bd:rgba(255,255,255,.25); box-shadow:none; }
.ai509-dark .btn--ghost:hover { background:rgba(255,255,255,.08); }

.btn-row { display:flex; flex-wrap:wrap; gap:.85rem; }

/* ---------- Badges / tags (pill, tinted fills) ---------- */
.badge {
  display:inline-flex; align-items:center; gap:.4em;
  font-family:var(--font-display); font-weight:600; font-size:.66rem;
  text-transform:uppercase; letter-spacing:.12em;
  padding:.5em .85em; border-radius:var(--r-pill);
  background:color-mix(in srgb, var(--brand-primary) 12%, transparent);
  color:var(--brand-primary);
}
.badge--gold { background:color-mix(in srgb, var(--gold-500) 16%, transparent); color:#9a7414; }
.badge--blue { background:color-mix(in srgb, var(--brand-secondary) 14%, transparent); color:var(--brand-secondary); }
.badge--green{ background:rgba(45,140,90,.14); color:#1f7a4d; }
.badge .dot { width:.5em; height:.5em; border-radius:50%; background:currentColor; }

.tag {
  display:inline-flex; align-items:center;
  font-family:var(--font-sans); font-weight:600; font-size:.85rem;
  padding:.5em 1em; border-radius:var(--r-pill);
  background:var(--surface-card); color:var(--text-strong);
  border:1px solid var(--hairline); box-shadow:var(--shadow-sm);
}
.ai509-dark .tag { box-shadow:none; }
.tag-row { display:flex; flex-wrap:wrap; gap:.6rem; }

/* ---------- Navigation ---------- */
.nav {
  position:fixed; inset:0 0 auto 0; z-index:100;
  height:64px;
  background:color-mix(in srgb, var(--paper-50) 78%, transparent);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid rgba(120,110,90,.14);
}
.nav__inner { height:100%; display:flex; align-items:center; gap:1.25rem; }
.brand { display:flex; align-items:center; gap:.6rem; font-family:var(--font-display); font-weight:800;
         letter-spacing:.06em; color:var(--ink-900); font-size:1.05rem; }
.brand:hover { text-decoration:none; }
.brand img { width:34px; height:34px; border-radius:9px; box-shadow:var(--shadow-sm); }
.nav__links { display:flex; align-items:center; gap:.35rem; margin-left:auto; }
.nav__links a {
  font-size:.92rem; font-weight:600; color:var(--ink-700);
  padding:.5rem .8rem; border-radius:var(--r-pill);
  transition:background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);
}
.nav__links a:hover { background:rgba(0,0,0,.05); color:var(--brand-primary); text-decoration:none; }
.nav__links a[aria-current="page"] { color:var(--brand-primary); }
.nav__cta { display:flex; align-items:center; gap:.75rem; }
.nav .btn { padding:.6em 1.1em; font-size:.9rem; box-shadow:none; }
.nav .btn:hover { box-shadow:0 6px 16px rgba(225,29,38,.25); }

/* Language toggle — segmented control */
.langtoggle { display:inline-flex; padding:3px; background:var(--surface-sunk);
              border:1px solid var(--hairline); border-radius:var(--r-pill); }
.langtoggle button {
  font-family:var(--font-sans); font-weight:700; font-size:.78rem;
  border:0; background:transparent; color:var(--text-muted);
  padding:.4em .8em; border-radius:var(--r-pill); cursor:pointer;
  transition:all var(--dur-base) var(--ease-out);
}
.langtoggle button[aria-pressed="true"] { background:var(--brand-primary); color:#fff; box-shadow:0 2px 8px rgba(225,29,38,.3); }

/* Mobile menu */
.nav__toggle { display:none; margin-left:auto; background:none; border:0; cursor:pointer; color:var(--ink-900); padding:.4rem; }
.nav__toggle .icon { width:26px; height:26px; }
@media (max-width:900px){
  .nav__links, .nav__cta { display:none; }
  .nav__toggle { display:inline-flex; }
  .nav.is-open .nav__links {
    display:flex; flex-direction:column; align-items:stretch; gap:.2rem;
    position:absolute; top:64px; left:0; right:0;
    background:var(--paper-50); border-bottom:1px solid var(--hairline);
    padding:1rem 24px 1.4rem; box-shadow:var(--shadow-md);
  }
  .nav.is-open .nav__links a { padding:.8rem .6rem; font-size:1rem; }
  .nav.is-open .nav__cta {
    display:flex; flex-direction:column; align-items:stretch; gap:.8rem;
    position:absolute; top:calc(64px + var(--menu-h,260px)); left:0; right:0;
  }
}

/* ---------- Hero ---------- */
.hero { background:var(--gradient-circuit); position:relative; overflow:hidden; padding-top:140px; }
.hero::before { /* subtle circuit traces */
  content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'><g fill='none' stroke='%231b3a78' stroke-width='1' opacity='0.5'><path d='M10 30 H60 V70 H110'/><path d='M0 90 H40 V50'/><circle cx='60' cy='70' r='3' fill='%231b3a78'/><circle cx='40' cy='50' r='3' fill='%231b3a78'/><path d='M90 10 V40 H70'/></g></svg>");
  mask-image:linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent);
}
.hero::after { /* hibiscus glow accent, kept away from text */
  content:""; position:absolute; right:-8%; top:6%; width:min(46vw,560px); aspect-ratio:1;
  background:radial-gradient(circle, rgba(225,29,38,.30), rgba(255,106,26,.12) 45%, transparent 70%);
  filter:blur(6px); pointer-events:none;
}
.hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center; }
.hero__title { font-size:clamp(2.4rem,5.2vw,4.4rem); letter-spacing:-.03em; color:#fff; }
.hero__title .text-grad { background:var(--gradient-hibiscus); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero p { color:#cfd6e4; }
.hero__start { font-family:var(--font-serif); font-style:italic; font-size:1.2rem; color:var(--gold-400); }
.hero__art { display:flex; justify-content:center; }
.hero__art img { width:min(78%,360px); border-radius:24px;
  box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 30px 80px rgba(225,29,38,.28), 0 10px 30px rgba(0,0,0,.5); }
@media (max-width:820px){
  .hero__inner { grid-template-columns:1fr; gap:2rem; }
  .hero__art { order:-1; } .hero__art img { width:min(62%,260px); }
}

/* ---------- Section helpers ---------- */
.section-head { max-width:54ch; margin-bottom:2.6rem; }
.section-head.center { margin-inline:auto; }

/* ---------- Cards ---------- */
.grid { display:grid; gap:1.4rem; }
.grid--3 { grid-template-columns:repeat(3,1fr); }
.grid--4 { grid-template-columns:repeat(4,1fr); }
.grid--2 { grid-template-columns:repeat(2,1fr); }
@media (max-width:900px){ .grid--4{grid-template-columns:repeat(2,1fr);} .grid--3{grid-template-columns:1fr;} .grid--2{grid-template-columns:1fr;} }
@media (max-width:560px){ .grid--4{grid-template-columns:1fr;} }

.card {
  background:var(--surface-card); border:1px solid var(--hairline);
  border-radius:var(--r-lg); padding:1.8rem;
  box-shadow:var(--shadow-sm);
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}
.card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.ai509-dark .card { box-shadow:none; backdrop-filter:blur(6px); }
.ai509-dark .card:hover { box-shadow:none; border-color:rgba(255,255,255,.18); }
.card__icon {
  width:48px; height:48px; border-radius:var(--r-md);
  display:grid; place-items:center; margin-bottom:1.1rem;
  background:color-mix(in srgb, var(--brand-primary) 12%, transparent); color:var(--brand-primary);
}
.card__icon .icon { width:24px; height:24px; }
.card h3 { font-size:1.18rem; margin-bottom:.5rem; }
.card p { color:var(--text-body); font-size:.98rem; }

/* Testimonials */
.quote { background:var(--surface-card); border:1px solid var(--hairline); border-radius:var(--r-lg);
         padding:1.8rem; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:1rem; }
.quote__text { font-family:var(--font-serif); font-style:italic; font-size:1.1rem; color:var(--text-strong); line-height:1.55; }
.quote__author { font-weight:700; font-size:.85rem; color:var(--text-muted); }
.quote__author::before { content:"— "; }

/* Stat band */
.stat { text-align:center; }
.stat__num { font-family:var(--font-display); font-weight:800; font-size:clamp(3rem,9vw,7rem);
             line-height:1; letter-spacing:.01em; }
.stat__num.text-grad { background:var(--gradient-hibiscus); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* Gold left-bar callout — the ONLY left-bar in the system */
.callout {
  background:var(--paper-200); border-left:4px solid var(--gold-500);
  border-radius:0 var(--r-md) var(--r-md) 0; padding:1.4rem 1.6rem;
}
.ai509-dark .callout { background:rgba(255,255,255,.05); }
.callout__label { font-family:var(--font-display); font-weight:600; text-transform:uppercase;
                  letter-spacing:.12em; font-size:.72rem; color:#9a7414; margin-bottom:.4rem; }
.ai509-dark .callout__label { color:var(--gold-400); }

/* Numbered steps */
.steps { counter-reset:step; display:grid; gap:1rem; }
.step { display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start;
        background:var(--surface-card); border:1px solid var(--hairline);
        border-radius:var(--r-md); padding:1.2rem 1.4rem; box-shadow:var(--shadow-sm); }
.ai509-dark .step { box-shadow:none; }
.step__num { counter-increment:step; font-family:var(--font-display); font-weight:800;
             width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
             background:var(--gradient-flame); color:#fff; box-shadow:var(--glow-red); }
.step__num::before { content:counter(step,decimal-leading-zero); }

/* Bullet list with marker */
.feature-list { display:grid; gap:.9rem; }
.feature-list li { display:grid; grid-template-columns:auto 1fr; gap:.8rem; align-items:start; font-size:1.05rem; color:var(--text-body); }
.feature-list .icon { width:22px; height:22px; color:var(--brand-primary); margin-top:.25rem; }
.ai509-dark .feature-list .icon { color:var(--gold-400); }

/* Inline check list (newsletter) */
.checklist { display:grid; gap:.7rem; }
.checklist li { display:grid; grid-template-columns:auto 1fr; gap:.7rem; align-items:start; }
.checklist .icon { width:20px; height:20px; color:var(--brand-secondary); margin-top:.3rem; }

/* Featured resource */
.feature-card { display:grid; grid-template-columns:auto 1fr; gap:1.6rem; align-items:center;
  background:var(--surface-card); border:1px solid var(--hairline); border-radius:var(--r-xl);
  padding:2rem; box-shadow:var(--shadow-md); }
.feature-card__art { width:96px; height:96px; border-radius:var(--r-lg); display:grid; place-items:center;
  background:var(--gradient-hibiscus); color:#fff; box-shadow:var(--shadow-md); }
.feature-card__art .icon { width:46px; height:46px; }
.feature-card__cover { display:block; width:clamp(160px,20vw,220px); border-radius:var(--r-md); overflow:hidden;
  box-shadow:var(--shadow-lg); transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.feature-card__cover:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(68,64,58,.22); }
.feature-card__cover img { width:100%; height:auto; display:block; }
@media (max-width:560px){ .feature-card{grid-template-columns:1fr; justify-items:center;} .feature-card__cover{width:min(70%,220px);} }

/* Underline-style input (forms) */
.field { display:grid; gap:.4rem; }
.field label { font-weight:700; font-size:.9rem; color:var(--text-strong); }
.field input {
  font:inherit; color:var(--text-strong); background:transparent;
  border:0; border-bottom:1.5px solid var(--hairline);
  padding:.6rem .2rem; transition:border-color var(--dur-base) var(--ease-out);
}
.field input:focus { outline:none; border-bottom-color:var(--brand-primary); }

/* Split layout for content pages */
.split { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
@media (max-width:880px){ .split{grid-template-columns:1fr; gap:2rem;} }

/* Founder portrait block */
.founder { display:grid; grid-template-columns:.8fr 1.2fr; gap:3rem; align-items:start; }
.founder__card { background:var(--gradient-circuit); border-radius:var(--r-xl); padding:2.2rem; color:#fff;
                 box-shadow:var(--shadow-lg); position:relative; overflow:hidden; }
.founder__card img { width:120px; border-radius:18px; box-shadow:var(--glow-red); margin-bottom:1.2rem; }
.founder__sig { font-family:var(--font-serif); font-style:italic; font-size:1.3rem; color:var(--gold-400); }
@media (max-width:880px){ .founder{grid-template-columns:1fr;} }

/* ---------- Footer ---------- */
.footer { background:var(--gradient-circuit); color:#cfd6e4; padding-block:4rem 2.2rem; position:relative; }
.footer__grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem; margin-bottom:2.5rem; }
@media (max-width:760px){ .footer__grid{grid-template-columns:1fr; gap:1.8rem;} }
.footer .brand { color:#fff; margin-bottom:1rem; }
.footer p { color:#aeb6c6; font-size:.95rem; max-width:40ch; }
.footer__tagline { font-family:var(--font-serif); font-style:italic; color:var(--gold-400) !important; font-size:1.1rem; margin-top:1rem; }
.footer h4 { color:#fff; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; font-family:var(--font-display); font-weight:600; margin-bottom:1rem; }
.footer__links { display:grid; gap:.6rem; }
.footer__links a { color:#aeb6c6; font-size:.95rem; }
.footer__links a:hover { color:#fff; }
.socials { display:flex; gap:.7rem; margin-top:.4rem; }
.socials a { width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
             background:rgba(255,255,255,.06); color:#cfd6e4; border:1px solid rgba(255,255,255,.1); }
.socials a:hover { background:var(--brand-primary); color:#fff; box-shadow:var(--glow-red); }
.socials .icon { width:20px; height:20px; }
.footer__bottom { border-top:1px solid rgba(255,255,255,.1); padding-top:1.5rem;
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.85rem; color:#8a92a4; }

/* ---------- Page hero (subpages) ---------- */
.pagehead { background:var(--gradient-circuit); color:#fff; padding-top:148px; padding-bottom:64px; position:relative; overflow:hidden; }
.pagehead::after { content:""; position:absolute; left:-6%; bottom:-30%; width:min(40vw,460px); aspect-ratio:1;
  background:radial-gradient(circle, rgba(224,169,60,.18), transparent 70%); pointer-events:none; }
.pagehead h1 { color:#fff; }
.pagehead p { color:#cfd6e4; }

/* ---------- CTA band ---------- */
.cta-band { background:var(--gradient-circuit); color:#fff; border-radius:var(--r-xl); padding:clamp(2rem,5vw,3.4rem); text-align:center; position:relative; overflow:hidden; }
.cta-band h2 { color:#fff; }
.cta-band .btn-row { justify-content:center; margin-top:1.6rem; }

/* ---------- Skip link ---------- */
.skip { position:absolute; left:-999px; top:.5rem; z-index:200; background:#fff; color:var(--ink-900);
        padding:.6rem 1rem; border-radius:var(--r-md); box-shadow:var(--shadow-md); }
.skip:focus { left:1rem; }

/* ---------- Scroll reveal ---------- */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.reveal.is-in { opacity:1; transform:none; }
.reveal[data-delay="1"]{ transition-delay:.08s; }
.reveal[data-delay="2"]{ transition-delay:.16s; }
.reveal[data-delay="3"]{ transition-delay:.24s; }

@media (prefers-reduced-motion: reduce){
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  .btn, .card, .nav__links a { transition:none; }
  .btn:hover, .card:hover { transform:none; }
}

/* ---------- Utilities ---------- */
.muted { color:var(--text-muted); }
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}
.hide { display:none !important; }
