:root {
  /* HSP color system — matched to the reimagined reference site */
  --cream: #FFFCF5;
  --paper: #FFF8E9;
  --ink: #15283A;
  --ink-soft: #46576A;
  --ink-muted: #6B7A89;
  --ink-on-navy: #D7E1EA;
  --ink-on-navy-soft: #C3D3E2;
  --ink-on-navy-muted: #B7C7D6;
  --ink-on-navy-faint: #8FA3B5;
  --navy-950: #041F38;
  --navy-deepest: #020F1B;
  --navy-900: #082B4C;
  --navy-800: #0A3660;
  --navy-700: #0C416F;
  --gold: #D59B2D;
  --gold-dark: #B9821F;
  --gold-soft: #F3DCA6;
  --gold-ink: #8C6318;
  --line: rgba(8,43,76,.14);
  --shadow: 0 20px 46px rgba(4,31,56,.16);

  --display:"Book Antiqua","Palatino Linotype",Palatino,"URW Palladio L",Georgia,serif;
  --text:Arial,Helvetica,sans-serif;

  --type-h1:clamp(2.6rem,5.4vw,4.85rem);
  --type-h2:clamp(2rem,3.6vw,3.1rem);
  --type-h3:clamp(1.3rem,2vw,1.7rem);
  --type-eyebrow:.72rem;
  --type-statement:clamp(1.4rem,2.2vw,1.9rem);
  --type-caption:1.15rem;
  --type-small-body:.92rem;
  --type-meta:.82rem;

  --max:1180px;
  --section-space:clamp(64px,8vw,110px);
  --gutter:clamp(20px,4vw,48px);
}

*{box-sizing:border-box}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;overflow-x:clip;background:var(--cream);color:var(--ink);font-family:var(--text);font-size:1rem;line-height:1.62}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
::selection{background:var(--gold-soft);color:var(--navy-950)}

.shell{width:min(calc(100% - (2 * var(--gutter))),var(--max));margin-inline:auto}

h1,h2,h3{margin:0 0 .5em;font-family:var(--display);font-weight:400;letter-spacing:-.015em;color:var(--navy-900)}
h1{font-size:var(--type-h1);line-height:1.05}
h2{font-size:var(--type-h2);line-height:1.08}
h3{font-size:var(--type-h3);line-height:1.15}
p{margin:0 0 1em}
.lead{font-size:1.125rem;line-height:1.6;color:var(--ink-soft)}
.eyebrow{font-size:var(--type-eyebrow);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:14px}
.section.navy .eyebrow,.section.navy-mid .eyebrow{color:var(--gold-soft)}
.muted{color:var(--ink-soft)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:4px;font:700 .86rem/1 var(--text);text-decoration:none;border:0;cursor:pointer;transition:background .15s ease,transform .15s ease,opacity .15s ease}
.btn:focus-visible{outline:2px solid var(--navy-900);outline-offset:2px}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn-gold{background:var(--gold);color:var(--navy-950)}
.btn-gold:hover{background:var(--gold-dark)}
.btn-navy{background:var(--navy-900);color:var(--cream)}
.btn-navy:hover{background:var(--navy-950)}
.btn-navy:focus-visible,.btn-outline-light:focus-visible{outline-color:var(--cream)}
.btn-outline{background:transparent;color:var(--navy-900);border:1.5px solid var(--navy-900)}
.btn-outline:hover{background:var(--navy-900);color:var(--cream)}
.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--navy-900);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
.text-link:hover{color:var(--gold-dark)}
.text-link:focus-visible{outline:2px solid var(--navy-900);outline-offset:4px}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,252,245,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{min-height:80px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.wordmark{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:400;color:var(--navy-900);font-family:var(--display);font-size:1.3rem;letter-spacing:-.01em;border-radius:4px}
.wordmark:focus-visible{outline:2px solid var(--navy-900);outline-offset:4px}
.wordmark picture,.footer-logo picture,.media-card picture,.how-it-works-media picture{display:contents}
.wordmark img{width:42px;height:42px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a:not(.btn){text-decoration:none;color:var(--ink);font-weight:500;font-size:.9rem}
.nav-links a:not(.btn):hover{color:var(--navy-900)}
.nav-links a:not(.btn):focus-visible{outline:2px solid var(--navy-900);outline-offset:-2px}

/* Mobile/tablet nav toggle (hidden on desktop) */
.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:4px}
.nav-toggle:focus-visible{outline:2px solid var(--navy-900);outline-offset:2px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--navy-900);transition:transform .2s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Section rhythm */
.section{padding:var(--section-space) 0}
.section.paper{background:var(--paper)}
.section.navy{background:var(--navy-900);color:var(--cream)}
.section.navy h1,.section.navy h2,.section.navy h3{color:var(--cream)}
.section.navy p{color:var(--ink-on-navy)}
.section.navy-mid{background:var(--navy-700);color:var(--cream)}
.section.navy-mid h1,.section.navy-mid h2,.section.navy-mid h3{color:var(--cream)}

/* 2-column section head: kicker+heading left, gold-rule + body right */
.split-head{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:start}
.split-head .split-body{padding-top:14px;border-top:2px solid var(--gold)}
.split-head .split-body p{color:var(--ink-soft);max-width:68ch}
.section.navy .split-body p,.section.navy-mid .split-body p{color:var(--ink-on-navy-soft)}
.split-head.centered{grid-template-columns:1fr;text-align:center;max-width:820px;margin-inline:auto}
.split-head.centered .split-body{border-top:0;padding-top:0}
.split-head.centered h2{margin-inline:auto}

/* with-media: same 2 blocks (text/media) reordered by breakpoint — the
   image moves position, it never changes or duplicates per screen size.
   Kicker+body stay in one flowing block so they never get stretched apart
   by the media column's height (single grid row, no forced row-splitting). */
.split-head.with-media{grid-template-areas:"text media"}
.split-head.with-media .split-text{grid-area:text}
.split-head.with-media .split-media{grid-area:media;margin-top:0}
@media(max-width:980px){
  .split-head.with-media{grid-template-columns:1fr;grid-template-areas:"media" "text"}
}

/* Hero */
.hero{position:relative;padding:56px 0 0;overflow:hidden}
.hero-shape{position:absolute;right:0;top:60px;width:46vw;max-width:640px;aspect-ratio:1/1.05;background:var(--gold);clip-path:polygon(38% 0,100% 0,100% 100%,0 62%);opacity:.9;z-index:0}
/* Same two blocks at every screen size — only their grid placement changes,
   never their content, so nothing swaps images per breakpoint. On mobile the
   carousel leads, above all the copy. */
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"copy media";gap:clamp(20px,5vw,64px);align-items:center;padding-bottom:64px}
.hero-copy{grid-area:copy}
.hero-media-wrap{grid-area:media}
.hero-copy h1{max-width:11ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;grid-template-areas:"media" "copy"}
  .hero-copy h1{max-width:none}
}

/* Pilot context strip — a quiet separator between the hero and Why Story
   Discovery, grounding the mission copy in a real place and date. */
.pilot-strip{background:var(--navy-900);padding:clamp(36px,5vw,52px) 0}
.pilot-strip-inner{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.pilot-strip .eyebrow{color:var(--gold);margin-bottom:0}
.pilot-strip p{margin:0;color:var(--cream);font-size:1.02rem;line-height:1.6;max-width:62ch}
.btn-outline-light{background:transparent;color:var(--cream);border:1.5px solid var(--cream)}
.btn-outline-light:hover{background:var(--cream);color:var(--navy-900)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Placeholder media card (hero / video / wide photo) */
.media-card{position:relative;background:linear-gradient(160deg,var(--navy-800),var(--navy-950) 78%);box-shadow:var(--shadow);min-height:420px;overflow:hidden;border-radius:4px}
.pilot-photo{border-radius:4px 4px 0 0}
.media-card .media-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-tag{position:absolute;left:20px;top:20px;background:var(--gold);color:var(--navy-950);font:800 .68rem/1 var(--text);letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;z-index:2}
.media-caption{position:absolute;left:0;right:0;bottom:26px;text-align:center;color:#fff;font-family:var(--display);font-size:var(--type-caption);z-index:2;padding:0 24px}
.media-caption.corner{left:20px;right:auto;bottom:20px;text-align:left;font-family:var(--text);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.hero-media{aspect-ratio:4/3;min-height:0}

/* Wide carousel (hero) — obviously a carousel: side arrows,
   vertically centered, plus small dots. No tag, no caption. */
.wide-carousel .carousel-viewport{position:absolute;inset:0;overflow:hidden}
.wide-carousel .carousel-track{display:flex;height:100%;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.wide-carousel .carousel-track{transition:none}}
.wide-carousel .carousel-slide{flex:0 0 100%;min-width:100%;position:relative}
.wide-carousel .carousel-slide .media-img{position:absolute;inset:0}
.wide-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:var(--gold);color:var(--navy-950);display:grid;place-items:center;cursor:pointer;font-size:1.3rem;line-height:1;z-index:4;transition:background .15s ease,color .15s ease}
.wide-carousel-arrow:hover{background:rgba(4,31,56,.4);color:#fff}
.wide-carousel-arrow:focus-visible{background:rgba(4,31,56,.4);color:#fff;outline:2px solid var(--cream);outline-offset:2px}
.wide-carousel-arrow.prev{left:18px}
.wide-carousel-arrow.next{right:18px}
.wide-carousel-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;display:flex;gap:6px}
/* Visual dot stays 8px (content-box); padding pads out the tap/click
   target without growing what's painted, via background-clip. */
.wide-carousel-dots .carousel-dot{width:8px;height:8px;padding:8px;box-sizing:content-box;border-radius:50%;background-color:rgba(255,255,255,.55);background-clip:content-box;border:0;cursor:pointer}
.wide-carousel-dots .carousel-dot[aria-current="true"]{background-color:var(--gold)}
.wide-carousel-dots .carousel-dot:focus-visible{outline:2px solid var(--cream);outline-offset:1px}

/* Supplementary photo inset in How It Works */
.how-it-works-media{margin-top:26px;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.15);aspect-ratio:4/5;max-width:340px;background:linear-gradient(160deg,var(--navy-800),var(--navy-950) 78%)}
.how-it-works-media img{width:100%;height:100%;object-fit:cover}

/* Video card */
.video-block{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:center;margin-top:56px}
.video-card{position:relative;min-height:320px}
.video-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-play{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;overflow:hidden}
.video-play-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.video-play::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,31,56,.15) 45%,rgba(4,31,56,.7));z-index:1;pointer-events:none}
.video-play-ring{position:relative;z-index:2;width:72px;height:72px;border-radius:50%;background:var(--gold);display:grid;place-items:center;transition:background .15s ease,transform .15s ease}
.video-play:hover .video-play-ring{background:var(--gold-dark);transform:scale(1.05)}
.video-play-ring::before{content:"";border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--navy-950);margin-left:5px}
.video-play-name{position:relative;z-index:2;font-weight:700;font-size:.85rem;text-align:center;max-width:78%;line-height:1.4}
.video-play-role{font-size:var(--type-meta);color:var(--ink-on-navy-soft)}
.quote-block blockquote{margin:0 0 20px;font-family:var(--display);font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.32;color:var(--navy-900)}
.quote-block cite{font-style:normal;display:block;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.quote-block cite strong{display:block;color:var(--navy-900)}
.quote-block cite span{color:var(--ink-muted);font-size:.9rem}
.quote-block .takeaway{color:var(--ink-soft)}

/* Storyteller principle: cream card inset in a navy section. Centered and
   tapering top-to-bottom (heading widest, body narrower, spark narrowest)
   rather than a left-icon layout. */
.principle-wrap{padding:20px 0 56px}
.principle-card{background:var(--cream);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;max-width:min(60vw,600px);margin-inline:auto;border-radius:4px}
.principle-card .spark{color:var(--gold);font-size:1.4rem;line-height:1;order:2}
.principle-card h2{font-size:var(--type-statement);margin:0;max-width:none}
.principle-copy{display:flex;flex-direction:column;align-items:center;gap:12px;order:1}
.principle-body p{color:var(--ink-soft);margin:0;max-width:36ch}
/* The card itself is cream, not navy — override the ancestor .section.navy
   text-color rules (meant for white-on-navy) so text stays readable here. */
.section.navy .principle-card h2,.section.navy .principle-card h3{color:var(--navy-900)}
.section.navy .principle-card p{color:var(--ink-soft)}
.section.navy .principle-card .eyebrow{color:var(--gold-ink)}

/* Process grid (How It Works) */
.process{display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--gold);margin-top:44px}
.process-step{padding:26px 22px 0;border-right:1px solid rgba(255,255,255,.15)}
.process-step:last-child{border-right:0}
.process-no{font:700 var(--type-meta)/1 var(--text);color:var(--gold);margin-bottom:14px}
.process-step strong{display:block;font-family:var(--display);font-weight:400;font-size:var(--type-caption);color:#fff;margin-bottom:8px}
.process-step span{font-size:.88rem;color:var(--ink-on-navy-muted);line-height:1.5}

/* Phase cards (gold, flush under the wide photo) */
.phase-row{display:grid;grid-template-columns:repeat(3,1fr);border-radius:0 0 4px 4px;overflow:hidden}
.phase-card{background:var(--gold);padding:28px 26px;border-right:1px solid rgba(255,255,255,.35)}
.phase-card:last-child{border-right:0}
.phase-card .eyebrow{color:var(--navy-950);margin-bottom:10px}
.phase-card h3{color:var(--navy-950);font-size:var(--type-h3);margin-bottom:10px}
.phase-card p{color:var(--navy-950);opacity:.82;margin:0;font-size:var(--type-small-body)}

/* Journey card: dashed outline marks this as a separate, optional path —
   distinct from the solid donation-flow cards, deliberately not using the
   gold accent reserved for the pilot/campaign itself. */
.journey-card{background:var(--paper);border:1.5px dashed var(--line);padding:clamp(28px,4vw,44px);display:grid;grid-template-columns:.8fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;border-radius:4px}
.journey-card h3{max-width:none}
.journey-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.journey-actions p{margin:0}

/* Partners grid */
.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:48px;border-radius:4px;overflow:hidden}
.partner-card{padding:30px 26px;border-right:1px solid var(--line);border-top:1px solid var(--line)}
.partner-card:nth-child(3n){border-right:0}
.partner-card:nth-child(-n+3){border-top:0}
.partner-card::before{content:"";display:block;width:32px;height:3px;background:var(--gold);margin-bottom:20px}
.partner-card.lead{background:var(--navy-900)}
.partner-card.lead::before{background:var(--gold)}
.partner-card.lead .partner-role{color:var(--gold)}
.partner-card.lead h3,.partner-card.lead p{color:var(--cream)}
.partner-role{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:12px}
.partner-card h3{font-size:var(--type-h3);margin-bottom:10px}
.partner-card p{color:var(--ink-soft);font-size:var(--type-small-body);margin-bottom:14px}
.partner-card .text-link{font-size:.84rem}

/* Funding section */
.fund-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:start}
.fund-stat{margin:26px 0 30px;display:flex;flex-direction:column;gap:6px}
.fund-stat-kicker{color:var(--gold-soft);font-size:var(--type-eyebrow);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.fund-stat .amount{font-family:var(--display);font-size:clamp(2.4rem,4.2vw,3.4rem);color:#fff;line-height:1.05}
.fund-stat-deadline{color:var(--ink-on-navy-muted);font-size:.9rem}
.fund-card{background:var(--navy-950);padding:clamp(34px,4.5vw,48px) clamp(26px,3.5vw,40px) clamp(26px,3.5vw,40px);border-radius:4px}
.fund-card h3{margin:0 0 24px;padding-top:2px;border-top:2px solid var(--gold);color:var(--gold-soft);font-family:var(--text);font-size:var(--type-eyebrow);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.fund-list{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 28px}
.fund-list li{position:relative;padding:8px 0 8px 24px;color:var(--ink-on-navy);font-size:var(--type-small-body);line-height:1.5}
.fund-list li::before{content:"✦";position:absolute;left:0;top:8px;color:var(--gold);font-size:.8rem}
.fund-note{margin:0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:var(--ink-on-navy-muted);font-size:.86rem;line-height:1.6}

/* Contact */
.contact-form{margin-top:28px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.form-field label{font-size:.82rem;font-weight:700;color:var(--ink-soft)}
.form-field input,.form-field textarea{font:inherit;font-size:.95rem;color:var(--ink);background:var(--cream);border:1.5px solid var(--line);border-radius:4px;padding:12px 14px;resize:vertical}
.form-field input:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--navy-900);outline-offset:1px;border-color:var(--navy-900)}
.form-field input[aria-invalid="true"],.form-field textarea[aria-invalid="true"]{border-color:#B3261E}
.form-error{display:block;font-size:.8rem;color:#B3261E;margin-top:2px}
.form-footer{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.form-status{margin:0;font-size:.88rem;font-weight:700;display:none}
.form-status[data-fs-active]{display:block}
.form-status[data-fs-error]{color:#B3261E}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-success-panel{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px;padding:clamp(28px,4vw,40px);border:1.5px solid var(--gold);border-radius:4px;background:var(--cream)}
.form-success-panel .spark{color:var(--gold);font-size:1.3rem;line-height:1}
.form-success-panel h3{margin:0}
.form-success-panel p{margin:0;color:var(--ink-soft)}

/* Footer */
footer{background:var(--navy-950);color:var(--cream);padding:64px 0 0}
.footer-top{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:start;padding-bottom:44px}
.footer-brand{display:flex;align-items:flex-start;gap:16px}
.footer-logo{width:56px;height:56px;border-radius:4px;background:#fff;display:grid;place-items:center;padding:6px;flex-shrink:0}
.footer-logo img{width:100%;height:100%;object-fit:contain}
.footer-brand-text{display:flex;flex-direction:column}
.footer-brand-text strong{font-family:var(--display);font-weight:400;font-size:1.3rem;line-height:1.2;letter-spacing:-.01em;margin-bottom:3px}
.footer-tagline{color:var(--ink-on-navy-muted);font-size:var(--type-small-body);font-style:italic;margin:0 0 9px}
.footer-contact{margin:0}
.footer-contact a{color:var(--ink-on-navy-soft);font-weight:400;font-size:var(--type-small-body);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
.footer-contact a:hover{color:var(--gold-soft)}
.footer-contact a:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.footer-legal{max-width:520px;padding-top:14px;border-top:2px solid var(--gold);color:var(--ink-on-navy-faint);font-size:var(--type-meta);line-height:1.7;margin:0}
.footer-legal strong{color:var(--ink-on-navy-soft);font-weight:700}
.footer-legal-note{max-width:520px;color:var(--ink-on-navy-faint);font-size:.76rem;line-height:1.6;opacity:.9;margin:10px 0 0}
.footer-bottom{background:var(--navy-deepest);padding:18px 0}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-copy{color:var(--ink-on-navy-faint);font-size:var(--type-meta)}
.footer-credit{color:var(--ink-on-navy-faint);font-size:var(--type-meta);text-decoration:underline}
.footer-credit:hover{color:var(--gold-soft)}
.footer-credit:focus-visible{outline:2px solid var(--cream);outline-offset:4px}

@media(max-width:980px){
  .nav-toggle{display:flex}
  .wordmark{font-size:clamp(.875rem,4vw,1.3rem)}
  /* Overlay the menu below the header instead of growing it in-flow —
     opening it should never push the page content down or shift scroll
     position. Positioned off .site-header (already sticky), not .nav, so
     it spans the full viewport instead of just the shell's inset width. */
  .nav-links{position:absolute;top:100%;left:0;right:0;z-index:10;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px var(--gutter) 20px;border-top:1px solid var(--line);background:rgba(255,252,245,.98);backdrop-filter:blur(10px);box-shadow:0 16px 32px rgba(4,31,56,.12)}
  .nav-links.is-open{display:flex}
  .nav-links a:not(.btn){display:block;padding:16px 2px;border-bottom:1px solid var(--line)}
  .nav-links .btn{align-self:flex-start;margin-top:16px}
  .video-block,.journey-card,.fund-grid,.split-head,.form-row,.footer-top,.fund-list{grid-template-columns:1fr}
  .principle-card{max-width:none}
  .process{grid-template-columns:repeat(2,1fr)}
  .process-step{border-right:0;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:22px;margin-bottom:22px}
  .phase-row{grid-template-columns:1fr}
  .phase-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.35)}
  .partners-grid{grid-template-columns:1fr}
  .partner-card{border-right:0!important;border-top:1px solid var(--line)!important}
  .partner-card:first-child{border-top:0!important}
}

@media(max-width:640px){
  :root{--gutter:18px}
  .hero-shape{width:80vw;top:20px}
}
