/* ===========================================================================
   AWPCAB - Homepage prototype stylesheet
   Hand-authored token-based CSS (production uses Tailwind built from same tokens)
   =========================================================================== */

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--color-bg);color:var(--color-text);
  font-family:var(--font-body);font-size:var(--fs-body);line-height:1.65;
  font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;transition:background .6s var(--ease-out-soft),color .6s var(--ease-out-soft);
}
img,video,svg{display:block;max-width:100%;height:auto}
a{color:var(--color-link);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:from-font}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-heading);font-weight:600;line-height:1.12;margin:0;letter-spacing:-.02em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:4px}
::selection{background:var(--orange-200);color:var(--ink-900)}

/* ---------- Utilities ---------- */
.wrap{width:min(100% - 2*var(--gutter),var(--w-content));margin-inline:auto}
.wrap-wide{width:min(100% - 2*var(--gutter),var(--w-wide));margin-inline:auto}
.eyebrow{font-size:var(--fs-eyebrow);font-family:var(--font-body);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);display:inline-block}
.lead{font-size:var(--fs-lead);line-height:1.5;color:var(--color-text-muted);max-width:46ch}
.serif-italic{font-style:italic}
.text-orange{color:var(--orange-500)}
.skip-link{position:absolute;left:8px;top:-60px;background:var(--ink-900);color:#fff;
  padding:.7em 1.2em;border-radius:var(--radius-sm);z-index:200;transition:top .2s}
.skip-link:focus{top:8px}
.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}

/* ---------- Buttons ---------- */
.btn{font-family:var(--font-body);font-size:1.2rem;font-weight:600;line-height:1;cursor:pointer;
  display:inline-flex;align-items:center;gap:.55em;padding:.68em 1.35em;border-radius:var(--radius-pill);
  border:1.5px solid transparent;text-decoration:none;min-height:44px;
  transition:transform var(--dur-base) var(--ease-out-soft),box-shadow var(--dur-base) var(--ease-out-soft),background var(--dur-base),color var(--dur-base)}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(-1px) scale(.99)}
.btn--primary{background:var(--color-primary);color:var(--ink-900);box-shadow:var(--shadow-1)}
.btn--primary:hover{background:var(--color-primary-hover);color:#fff;box-shadow:var(--shadow-glow)}
.btn--secondary{background:transparent;color:var(--color-heading);border-color:var(--clay-300)}
.btn--secondary:hover{border-color:var(--clay-500);background:rgba(169,84,47,.06)}
.btn--ghost{padding-inline:0;border:0;background:none;color:var(--color-heading);position:relative}
.btn--ghost::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--orange-500);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out-soft)}
.btn--ghost:hover::after,.btn--ghost:focus-visible::after{transform:scaleX(1)}
.btn--on-image{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:var(--glass-border);color:var(--ink-900)}
.arrow{transition:transform var(--dur-base) var(--ease-out-soft)}
.btn:hover .arrow,a:hover .arrow{transform:translateX(4px)}

/* ---------- Header, floating pill bar ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;display:block;
  padding:clamp(.55rem,1.3vw,1rem) clamp(.7rem,2vw,1.5rem);transition:padding var(--dur-base)}
.site-header.is-solid{padding-top:clamp(.4rem,.8vw,.7rem);padding-bottom:clamp(.4rem,.8vw,.7rem)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
  max-width:var(--w-wide);margin:0 auto;padding:.45rem .45rem .45rem 1.15rem;
  background:var(--bone-50);border:1px solid rgba(46,30,12,.10);
  border-radius:var(--radius-pill);box-shadow:0 12px 34px rgba(26,16,4,.14);
  transition:box-shadow var(--dur-base)}
.site-header.is-solid .header-inner{box-shadow:0 6px 22px rgba(26,16,4,.18)}
.brand{display:flex;align-items:center;gap:.6em;text-decoration:none;flex:0 0 auto}
.brand img{height:42px;width:auto}
.brand--academy img{height:48px}
.is-solid .brand-light,.brand-light{display:none}

.nav-primary{display:flex;align-items:center;gap:.15rem}
.nav-primary>li{display:flex}
.nav-primary>li>a,.nav-primary>li>button{font-family:var(--font-body);font-weight:600;font-size:1.2rem;
  color:var(--ink-700);background:none;border:0;cursor:pointer;text-decoration:none;white-space:nowrap;
  padding:.55em .9em;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:.3em;
  transition:background var(--dur-fast),color var(--dur-fast)}
.nav-primary>li>a:hover,.nav-primary>li>button:hover,.has-mega:focus-within>button{
  background:rgba(46,30,12,.07);color:var(--ink-900)}
.nav-primary>li>[aria-current="page"]{background:var(--orange-500);color:#fff}
.nav-primary>li>[aria-current="page"]:hover{background:var(--orange-600);color:#fff}

.header-actions{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}
.icon-btn{width:42px;height:42px;border-radius:var(--radius-pill);border:0;background:none;cursor:pointer;
  display:inline-grid;place-items:center;color:var(--ink-700)}
.icon-btn:hover{background:rgba(46,30,12,.08)}
.menu-toggle{display:none}
.header-cta{gap:.5em}
.header-cta .cta-arrow{display:inline-grid;place-items:center;width:1.5em;height:1.5em;border-radius:50%;
  background:rgba(255,255,255,.22);font-size:.85em;line-height:1}
.header-cta .cta-arrow svg{width:.95em;height:.95em;display:block;color:currentColor}

/* ---------- Mega menu ---------- */
.has-mega{position:static}
.mega{position:absolute;left:50%;top:calc(100% - 4px);transform:translateX(-50%) translateY(8px);
  width:min(100% - 2rem,var(--w-content));background:var(--color-surface);border-radius:var(--radius-xl);
  box-shadow:var(--shadow-4);padding:var(--space-6);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity var(--dur-base),transform var(--dur-base) var(--ease-out-soft);display:grid;
  grid-template-columns:1.2fr 1.2fr 1fr;gap:var(--space-6)}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
/* invisible hover bridge across the gap between the nav row and the panel, so the
   menu stays open while the cursor travels down to it (only active when open) */
.mega::before{content:"";position:absolute;left:0;right:0;top:-2.75rem;height:2.75rem}
.mega h3{font-size:1.2rem;font-family:var(--font-body);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.8em}
.mega a{display:block;text-decoration:none;color:var(--color-text);padding:.4em 0;font-weight:500;font-size:1.2rem;line-height:1.25;border-radius:6px}
.mega a:hover{color:var(--orange-600)}
.mega a.mega-hot{color:var(--orange-600);font-weight:700}
.mega a.mega-hot:hover{color:var(--orange-700)}
/* compact image feature: photo tile with an overlaid CTA (no body text) */
.mega a.mega-feature{position:relative;display:block;align-self:start;padding:0;border-radius:var(--radius-lg);
  overflow:hidden;aspect-ratio:16/10;background:var(--stone-200)}
.mega-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform var(--dur-base) var(--ease-out-soft)}
.mega-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 32%,rgba(26,16,4,.85))}
.mega-feature:hover img{transform:scale(1.05)}
.mega-feature__cta{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:.85rem 1rem;
  display:flex;align-items:center;gap:.4em;color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.3rem}
.mega-feature:hover .mega-feature__cta{color:#fff}
.mega-feature__cta .arrow{transition:transform .25s var(--ease-out-soft)}
.mega-feature:hover .mega-feature__cta .arrow{transform:translateX(4px)}
.mega h3{display:flex;align-items:center;gap:.5em}
.mega-ico{display:inline-flex;width:1.15em;height:1.15em;color:var(--orange-600);flex:none}
.mega-ico svg{width:100%;height:100%}

/* ---------- Mobile nav ---------- */
.mobile-nav{position:fixed;inset:0;z-index:120;background:var(--ink-900);color:#fff;padding:calc(var(--header-h) + 1rem) var(--gutter) 2rem;
  display:flex;flex-direction:column;gap:.4rem;transform:translateY(-100%);transition:transform .5s var(--ease-in-out-quart);overflow-y:auto}
.mobile-nav.is-open{transform:translateY(0)}
.mobile-nav a,.mobile-nav summary{color:#fff;text-decoration:none;font-family:var(--font-display);font-size:1.6rem;padding:.5em 0;cursor:pointer}
.mobile-nav details>div{padding-left:1rem;display:flex;flex-direction:column}
.mobile-nav details a{font-family:var(--font-body);font-size:1.2rem;opacity:.85}
.mobile-nav .mnav-lbl{font-family:var(--font-body);font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);margin:.7em 0 .05em}
.mobile-nav .btn{margin-top:auto;align-self:flex-start}

/* ---------- Section scaffold ---------- */
.section{position:relative;padding-block:var(--section-y)}
.section-head{max-width:var(--w-prose);margin-bottom:var(--space-7)}
.section-head h2{font-size:var(--fs-h2);margin-top:.3em}
/* centered section heads: keep max-width children (e.g. .lead) centered, not pinned left */
.section-head[style*="center"]>*{margin-inline:auto}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease-out-soft),transform .8s var(--ease-out-soft)}
.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}.reveal[data-delay="4"]{transition-delay:.32s}

/* ============================ ACT 1 - HERO ============================ */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,16,4,.55) 0%,rgba(26,16,4,.15) 35%,rgba(26,16,4,.55) 75%,rgba(26,16,4,.85) 100%)}
.hero__inner{position:relative;z-index:1;padding-block:clamp(7rem,14vh,11rem) clamp(3rem,7vh,5rem);width:100%}
.hero .eyebrow{color:var(--orange-200)}
.hero h1{color:#fff;font-size:var(--fs-display-1);line-height:1.02;margin:.35em 0 .5em;max-width:16ch;font-weight:300}
.hero h1 em{font-style:italic;color:var(--orange-500)}
.hero__lead{color:rgba(255,255,255,.92);font-size:var(--fs-lead);max-width:52ch;line-height:1.5}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6)}
.hero__scroll{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:1;display:flex;flex-direction:column;align-items:center;gap:.5em;
  font-size:1.2rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.hero__scroll span{width:1px;height:42px;background:linear-gradient(#fff,transparent);animation:scrolldrop 1.8s var(--ease-out-soft) infinite}
@keyframes scrolldrop{0%{transform:scaleY(0);transform-origin:top}40%{transform:scaleY(1);transform-origin:top}60%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* line mask reveal */
.line-mask{overflow:hidden;display:block}
.line-mask>span{display:block;transform:translateY(105%);transition:transform 1s var(--ease-out-expo)}
.is-ready .line-mask>span{transform:translateY(0)}
.is-ready .line-mask:nth-child(2)>span{transition-delay:.09s}
.is-ready .line-mask:nth-child(3)>span{transition-delay:.18s}

/* ============================ ACT 2 - WHY ============================ */
.why{background:var(--bone-100);overflow:hidden}
.why__grid{display:grid;grid-template-columns:1.45fr .85fr;gap:var(--space-8);align-items:center}
.why__statement{font-family:var(--font-display);font-size:clamp(1.9rem,3.6vw,3.4rem);line-height:1.18;color:var(--ink-900);letter-spacing:-.015em}
.why__statement b{color:var(--clay-500);font-weight:400}
.why__portrait{position:relative}
.why__portrait img{border-radius:var(--radius-organic);box-shadow:var(--shadow-3);aspect-ratio:4/5;object-fit:cover;width:100%}
.why__portrait::before{content:"";position:absolute;inset:-18px -18px auto auto;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,var(--orange-200),transparent 70%);z-index:-1}
.why__cta{margin-top:var(--space-6)}

/* ============================ ACT 3 - PILLARS ============================ */
.pillars{background:var(--color-bg)}
.pillars__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-top:var(--space-7)}
.pcard{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-2);
  display:flex;flex-direction:column;transition:transform var(--dur-base) var(--ease-out-soft),box-shadow var(--dur-base)}
.pcard:nth-child(2){transform:translateY(36px)}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-3)}
.pcard:nth-child(2):hover{transform:translateY(30px)}
.pcard__img{aspect-ratio:4/3;overflow:hidden}
.pcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out-soft)}
.pcard:hover .pcard__img img{transform:scale(1.05)}
.pcard__body{padding:var(--space-5) var(--space-5) var(--space-6)}
.pcard__body h3{font-size:var(--fs-h3);margin-bottom:.4em}
.pcard__body p{color:var(--color-text-muted);font-size:1.3rem;line-height:1.5;margin-bottom:1em}
.pcard__link{font-weight:600;color:var(--orange-600);text-decoration:none;display:inline-flex;gap:.4em;align-items:center}
.pcard__link::after{content:"";position:absolute;inset:0}

/* ============================ ACT 4 - CHOICE ============================ */
.choice{background:linear-gradient(180deg,var(--bone-50),var(--clay-100));overflow:hidden}
.choice__head{text-align:center;max-width:60ch;margin-inline:auto}
.choice__head h2{font-size:var(--fs-h2);margin-top:.3em}
.options{display:flex;gap:var(--space-4);margin-top:var(--space-8);flex-wrap:wrap;justify-content:center}
.opt{flex:1 1 160px;max-width:220px;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);
  box-shadow:var(--shadow-1);border:1.5px solid transparent;cursor:default;text-align:center;
  transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base),border-color var(--dur-base)}
.opt:hover,.opt:focus-within{transform:translateY(-8px);box-shadow:var(--shadow-3);border-color:var(--orange-200)}
.opt__ring{width:56px;height:56px;border-radius:50%;margin:0 auto .8em;display:grid;place-items:center;
  background:var(--orange-200);color:var(--clay-700);font-family:var(--font-display);font-size:1.3rem}
.opt h3{font-size:1.2rem;margin-bottom:.3em}
.opt p{font-size:1.2rem;color:var(--color-text-muted);line-height:1.5}
.choice__cta{text-align:center;margin-top:var(--space-7)}

/* ============================ ACT 5 - IN ACTION ============================ */
.action{background:var(--ink-900);color:#fff;overflow:hidden}
.action .eyebrow{color:var(--orange-200)}
.action h2{color:#fff;font-size:var(--fs-h2)}
.action__intro{max-width:var(--w-prose);margin-bottom:var(--space-7)}
.action__intro p{color:rgba(255,255,255,.8)}
.strip{display:flex;gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-4);scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin}
.strip__item{flex:0 0 auto;width:min(70vw,420px);scroll-snap-align:start;border-radius:var(--radius-lg);overflow:hidden;position:relative}
.strip__item img{aspect-ratio:3/2;object-fit:cover;width:100%}
.strip__item figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.2em 1em .9em;font-size:1.2rem;
  background:linear-gradient(transparent,rgba(26,16,4,.85));color:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);margin-top:var(--space-9);
  border-top:1px solid rgba(255,255,255,.15);padding-top:var(--space-7)}
.stat__num{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4.2rem);line-height:1;color:var(--orange-500);font-feature-settings:"tnum"}
.stat__label{margin-top:.5em;color:rgba(255,255,255,.78);font-size:1.2rem}

/* ============================ ACT 6 - VOICES ============================ */
.voices{background:var(--plum-600);color:#fff;text-align:center;overflow:hidden}
.voices .eyebrow{color:var(--orange-200)}
.voices__q{font-family:var(--font-display);font-size:clamp(1.8rem,3.4vw,3.1rem);line-height:1.2;max-width:20ch;margin:.4em auto var(--space-7);font-style:italic}
.ring{position:relative;width:min(92vw,560px);aspect-ratio:1;margin:0 auto var(--space-7);--ring-r:220px}
.ring__center{position:absolute;inset:0;margin:auto;width:46%;height:46%;border-radius:50%;background:rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;padding:1.2rem;text-align:center}
.ring__center p{font-size:1.5rem;font-family:var(--font-display)}
.ring__center .count{color:var(--orange-500);font-feature-settings:"tnum"}
.ring__node{position:absolute;width:18%;height:18%;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.5);box-shadow:var(--shadow-2);
  top:50%;left:50%;transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--ring-r)*-1)) rotate(calc(var(--a)*-1))}
.ring__node img{width:100%;height:100%;object-fit:cover}
/* Slow continuous rotation, photos + centre counter-spin to stay upright */
.ring[data-spin]{animation:ringspin 44s linear infinite}
.ring[data-spin] .ring__node img,
.ring[data-spin] .ring__center{animation:ringspin-rev 44s linear infinite}
@keyframes ringspin{to{transform:rotate(360deg)}}
@keyframes ringspin-rev{to{transform:rotate(-360deg)}}
@media (prefers-reduced-motion:reduce){
  .ring[data-spin],
  .ring[data-spin] .ring__node img,
  .ring[data-spin] .ring__center{animation:none}
}
.voices blockquote{max-width:46ch;margin:0 auto;font-size:var(--fs-lead);line-height:1.5}
.voices cite{display:block;margin-top:.8em;font-style:normal;color:var(--orange-200);font-weight:600;font-size:1.2rem}
.voices__cta{margin-top:var(--space-7);display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}

/* ============================ ACT 7 - CHAMPIONS ============================ */
.champs{background:var(--bone-100)}
.champs__top{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-5);flex-wrap:wrap;margin-bottom:var(--space-7)}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.tile{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-1)}
.tile:nth-child(1){grid-row:span 2;aspect-ratio:4/5}
.tile img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s var(--ease-out-soft)}
.tile:hover img{transform:scale(1.06)}
.tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.4em .9em .8em;
  background:linear-gradient(transparent,rgba(26,16,4,.8));color:#fff;font-size:1.2rem}
.tile figcaption b{display:block;font-family:var(--font-display);font-size:1.2rem;font-weight:500}
.tile figcaption span{opacity:.8}

/* ============================ ACT 8 - JOIN ============================ */
.join{background:var(--clay-900);color:#fff;text-align:center;position:relative;overflow:hidden}
/* Immersive photo background + warm scrim */
.join__bg{position:absolute;inset:0;z-index:0}
.join__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.join__bg::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(26,16,4,.55) 0%, rgba(26,16,4,.4) 45%, rgba(26,16,4,.72) 100%)}
/* 4-image montage variant */
.join__bg--grid{display:grid;grid-template-columns:repeat(4,1fr)}
.join__bg--grid img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
@media (max-width:700px){.join__bg--grid{grid-template-columns:repeat(2,1fr)}}
.join__inner{position:relative;z-index:1}
.join .eyebrow{color:var(--orange-300)}
.join h2{color:#fff;font-size:clamp(1.8rem,3.8vw,3.2rem);line-height:1.08;max-width:18ch;margin:.3em auto .5em;text-shadow:0 2px 30px rgba(0,0,0,.4)}
/* secondary button sits on the dark CTA, give it a legible on-image treatment */
.join .btn--secondary{color:#fff;border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.08)}
.join .btn--secondary:hover{background:rgba(255,255,255,.18);border-color:#fff;color:#fff}
.join p{color:rgba(255,255,255,.92);max-width:50ch;margin:0 auto var(--space-7);text-shadow:0 1px 14px rgba(0,0,0,.55)}
.join__paths{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);max-width:820px;margin:0 auto var(--space-8)}
.path{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-lg);
  padding:var(--space-6) var(--space-5);text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 12px 30px rgba(20,12,2,.28);transition:transform .32s var(--ease-out-soft),background .32s,border-color .32s}
.path:hover{transform:translateY(-5px);background:rgba(255,255,255,.13);border-color:rgba(248,148,30,.55)}
.path h3{color:#fff;font-size:var(--fs-h4);font-family:var(--font-display);margin-bottom:.4em}
.path p{color:rgba(255,255,255,.82);font-size:1.3rem;line-height:1.5;margin-bottom:1em}
.path a{color:var(--orange-400);font-weight:600;text-decoration:none}
.path a:hover{color:var(--orange-300)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink-900);color:rgba(255,255,255,.8);padding-block:var(--space-7) var(--space-5)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--space-7)}
.footer-brand img{height:40px;margin-bottom:1em}
.footer-brand p{font-size:1.2rem;max-width:34ch}
.site-footer h4{color:#fff;font-family:var(--font-body);font-weight:700;font-size:1.2rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1em}
.site-footer a{color:rgba(255,255,255,.8);text-decoration:none;display:block;padding:.32em 0;font-size:1.2rem}
.site-footer a:hover{color:var(--orange-500)}
.social{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2em 0 0;padding:0}
.social li{margin:0}
.social a{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;
  color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  transition:background .25s var(--ease-out-soft,ease),color .25s,transform .25s}
.social a:hover{background:var(--orange-500);border-color:var(--orange-500);color:#fff;transform:translateY(-2px)}
.footer-bottom{display:flex;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-8);
  padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.12);font-size:1.2rem;color:rgba(255,255,255,.6)}
.footer-bottom a{display:inline;color:rgba(255,255,255,.6)}
.prefs{display:none}
.prefs button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:var(--radius-pill);
  padding:.5em 1em;font-size:1.2rem;cursor:pointer;font-family:var(--font-body)}
.prefs button:hover{background:rgba(255,255,255,.16)}

/* ---------- Responsive ---------- */
@media (max-width:1023px){
  .nav-primary,.header-actions .btn,.header-actions .icon-btn:not(.menu-toggle){display:none}
  .menu-toggle{display:inline-grid}
  .why__grid{grid-template-columns:1fr;gap:var(--space-6)}
  .why__portrait{max-width:380px}
  .pillars__grid{grid-template-columns:1fr;gap:var(--space-6)}
  .pcard:nth-child(2){transform:none}.pcard:nth-child(2):hover{transform:translateY(-6px)}
  .stats{grid-template-columns:repeat(2,1fr);gap:var(--space-7)}
  .mosaic{grid-template-columns:repeat(2,1fr)}
  .tile:nth-child(1){grid-row:span 1}
  .join__paths{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .hero{min-height:92svh}
  .ring{--ring-r:130px}
  .stats{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}

/* =====================================================================
   INNER-PAGE COMPONENTS (templates: manifesto, academy, country, etc.)
   ===================================================================== */

/* ---- Page hero (dark, lets the transparent header stay legible) ---- */
.page-hero{position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden;
  min-height:clamp(320px,46vh,470px);
  padding:calc(var(--header-h) + clamp(2.2rem,6vh,4.2rem)) 0 clamp(2.2rem,5vh,3.4rem)}
.page-hero--short{min-height:clamp(300px,42vh,440px)}
.page-hero__media{position:absolute;inset:0;z-index:-2}
.page-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
/* group photo: bias crop toward the top so faces/heads stay in frame */
.page-hero--group .page-hero__media img{object-position:center 22%}
.page-hero--group .page-hero__media::after{background:linear-gradient(180deg,rgba(26,16,4,.32),rgba(26,16,4,.28) 38%,rgba(26,16,4,.82))}
.page-hero__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,16,4,.6),rgba(26,16,4,.35) 40%,rgba(26,16,4,.8))}
.page-hero--plum{background:var(--plum-600)}.page-hero--plum::after{display:none}
.page-hero--ink{background:var(--ink-900)}
.page-hero .eyebrow{color:var(--orange-200)}
.page-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3.7rem);line-height:1.08;font-weight:300;margin:.3em 0 .35em;max-width:30ch}
.page-hero h1 em{font-style:italic;color:var(--orange-500)}
.page-hero__lead{color:rgba(255,255,255,.92);font-size:var(--fs-lead);max-width:60ch;line-height:1.5}
.page-hero__cta{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-6)}

/* ---- Breadcrumb ---- */
.breadcrumb{font-size:1.2rem;margin-bottom:.6rem}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.5em;align-items:center;color:rgba(255,255,255,.7);list-style:none;margin:0;padding:0}
.breadcrumb li{display:flex;align-items:center}
.breadcrumb a{color:rgba(255,255,255,.85);text-decoration:none}
.breadcrumb a:hover{color:#fff}
.breadcrumb li+li::before{content:"/";margin-right:.5em;opacity:.5}
.breadcrumb [aria-current]{color:#fff}
/* on light pages */
.breadcrumb--light ol{color:var(--stone-600)}
.breadcrumb--light a{color:var(--clay-700)}
.breadcrumb--light [aria-current]{color:var(--ink-900)}

/* ---- Prose / article body ---- */
.prose{max-width:var(--w-prose)}
.prose>*+*{margin-top:1.15em}
.prose p{color:var(--color-text)}
.prose h2{font-size:var(--fs-h2);margin-top:1.6em}
.prose h3{font-size:var(--fs-h3);margin-top:1.3em}
.prose .lead{color:var(--ink-700)}
.prose a{color:var(--indigo-600)}
.drop-cap::first-letter{font-family:var(--font-display);font-size:3.4em;line-height:.82;float:left;
  margin:.06em .12em 0 0;color:var(--clay-500);font-weight:500}

/* on-this-page / aside layout */
.article-layout{display:grid;grid-template-columns:1fr minmax(0,var(--w-prose)) 1fr;gap:var(--space-6)}
.article-layout>.prose{grid-column:2}
.toc{position:sticky;top:calc(var(--header-h) + 1rem);align-self:start;grid-column:3;font-size:1.2rem}
.toc h4{font-size:1.2rem;text-transform:uppercase;letter-spacing:.1em;color:var(--stone-600);margin-bottom:.7em}
.toc a{display:block;padding:.3em 0;color:var(--stone-600);text-decoration:none;border-left:2px solid var(--sand-200);padding-left:.8em}
.toc a:hover{color:var(--clay-700);border-color:var(--clay-300)}

/* ---- Commitment cards (manifesto) ---- */
.commitments{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5);margin-top:var(--space-7)}
.commitment{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-1);
  border-top:4px solid var(--clay-500);position:relative;transition:transform var(--dur-base) var(--ease-out-soft),box-shadow var(--dur-base)}
.commitment:nth-child(2){border-color:var(--orange-500)}
.commitment:nth-child(3){border-color:var(--marigold-500)}
.commitment:nth-child(4){border-color:var(--teal-500)}
.commitment:nth-child(5){border-color:var(--plum-600)}
.commitment:hover{transform:translateY(-5px);box-shadow:var(--shadow-3)}
.commitment .num{font-family:var(--font-display);font-size:2.4rem;color:var(--clay-300);line-height:1;display:block;margin-bottom:.2em}
.commitment h3{font-size:var(--fs-h4);margin-bottom:.4em}
.commitment p{color:var(--color-text-muted);font-size:1.2rem}

/* ---- Champion journey steps ---- */
.journey{display:grid;gap:var(--space-4);margin-top:var(--space-7);counter-reset:step}
.journey__step{display:grid;grid-template-columns:auto 1fr;gap:var(--space-5);align-items:start;
  background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-1)}
.journey__step::before{counter-increment:step;content:counter(step);width:48px;height:48px;border-radius:50%;
  background:var(--orange-200);color:var(--clay-700);display:grid;place-items:center;font-family:var(--font-display);font-size:1.4rem}
.journey__step h3{font-size:var(--fs-h4);margin-bottom:.2em}
.journey__step p{color:var(--color-text-muted);font-size:1.2rem}

/* ---- Generic feature/gain grid ---- */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-5);margin-top:var(--space-7)}
.feature{background:var(--color-surface-alt);border-radius:var(--radius-lg);padding:var(--space-6)}
.feature .ic{width:48px;height:48px;border-radius:var(--radius-md);background:var(--clay-100);color:var(--clay-700);
  display:grid;place-items:center;font-family:var(--font-display);font-size:1.3rem;margin-bottom:.7em}
.feature h3{font-size:var(--fs-h4);margin-bottom:.3em}
.feature p{color:var(--color-text-muted);font-size:1.2rem}

/* ---- Accordion (FAQ / long content) ---- */
.accordion{max-width:var(--w-prose);margin-top:var(--space-6)}
.accordion details{border-bottom:1px solid var(--color-border)}
.accordion summary{cursor:pointer;list-style:none;padding:1.1em 0;font-family:var(--font-display);font-size:1.2rem;
  color:var(--color-heading);display:flex;justify-content:space-between;gap:1em;align-items:center}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:"+";font-size:1.5rem;color:var(--clay-500);transition:transform var(--dur-base)}
.accordion details[open] summary::after{transform:rotate(45deg)}
.accordion details>p{padding-bottom:1.2em;color:var(--color-text-muted);max-width:64ch}

/* ---- Filter bar + resource cards ---- */
.filterbar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:var(--space-6);align-items:center}
.chip{font-family:var(--font-body);font-size:1.2rem;font-weight:500;padding:.55em 1.1em;border-radius:var(--radius-pill);
  border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all var(--dur-fast)}
.chip:hover{border-color:var(--clay-300)}
.chip[aria-pressed="true"]{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
@media(max-width:900px){.res-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.res-grid{grid-template-columns:1fr}}
.res-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-2);
  display:flex;flex-direction:column;gap:.7em;transition:transform var(--dur-base) var(--ease-out-soft),box-shadow var(--dur-base)}
.res-card:hover{transform:translateY(-7px);box-shadow:0 28px 54px -22px rgba(120,72,24,.55)}
.res-card .type{font-size:1.2rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-700)}
.res-card h3{font-size:1.35rem;line-height:1.22;color:var(--clay-700)}
.res-card p{color:var(--color-text-muted);font-size:1.3rem;flex:1}
.res-card .meta{font-size:1.2rem;color:var(--stone-400);display:flex;gap:.8em;flex-wrap:wrap}
.res-card .meta b{color:var(--stone-600);font-weight:600}
.res-card .dl{font-weight:600;color:var(--orange-600);text-decoration:none;display:inline-flex;gap:.4em;align-items:center}
/* document card with cover + preview/download */
.res-card{padding:0;overflow:hidden}
.res-card__b{display:flex;flex-direction:column;gap:.7em;padding:var(--space-5);flex:1}
.res-card__actions{display:flex;gap:.6em;margin-top:.4em;flex-wrap:wrap}
.res-card__actions .btn{padding:.6em 1.1em;font-size:1.2rem}
.res-card__cover{position:relative;display:block;width:100%;border:0;cursor:pointer;padding:0;text-align:left}
.res-card__hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.5em;
  background:rgba(30,18,6,.55);color:#fff;font-weight:600;opacity:0;transition:opacity var(--dur-base);font-size:1.2rem}
.res-card__hint .ico{width:1.1em;height:1.1em;display:inline-flex}
.res-card__hint .ico svg{width:100%;height:100%}
.res-card__cover:hover .res-card__hint,.res-card__cover:focus-visible .res-card__hint{opacity:1}
/* modern coloured document cover */
.doccover{--c1:var(--orange-500);--c2:var(--orange-600);position:relative;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:.6rem;aspect-ratio:16/9;overflow:hidden;
  background:linear-gradient(140deg,var(--c1),var(--c2));color:#fff}
.doccover::after{content:"";position:absolute;right:-34px;top:-34px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.10)}
.doccover__badge{width:3.4em;height:3.4em;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.22);color:#fff;position:relative;z-index:1}
.doccover__badge svg{width:1.75em;height:1.75em}
.doccover__ext{font-family:var(--font-display,inherit);font-weight:800;letter-spacing:.18em;font-size:1.2rem;color:rgba(255,255,255,.92);position:relative;z-index:1}
.res-card:nth-child(3n+2) .doccover{--c1:#C0603A;--c2:#8F4626}
.res-card:nth-child(3n) .doccover{--c1:#E0A32E;--c2:#C4841A}
/* preview modal */
.docmodal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;
  border:0;border-radius:var(--radius-lg);padding:0;max-width:760px;width:calc(100% - 2rem);max-height:calc(100vh - 2rem);
  background:var(--color-surface);box-shadow:var(--shadow-3);color:var(--color-text);overflow:visible}
.docmodal::backdrop{background:rgba(30,18,6,.55);backdrop-filter:blur(3px)}
.docmodal__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-5);padding:var(--space-6)}
.docmodal__preview .doccover{aspect-ratio:3/4;border-radius:var(--radius-md);box-shadow:var(--shadow-2);border-bottom:0}
.docmodal .doccover--lg{padding:1.7rem 1.8rem;gap:.7rem}
.docmodal .doccover--lg .doccover__title{font-size:1.3rem;-webkit-line-clamp:5}
.docmodal .doccover--lg .doccover__lines{height:4.5em}
.docmodal__meta{display:flex;flex-direction:column;gap:.7em;align-self:center}
.docmodal__meta .type{font-size:1.2rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clay-500)}
.docmodal__meta h3{font-size:1.5rem;line-height:1.2}
.docmodal__meta p{color:var(--color-text-muted)}
.docmodal__actions{margin-top:.4em}
.docmodal__note{font-size:1.2rem;color:var(--stone-400);margin-top:.2em}
.docmodal__close{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;
  background:var(--ink-900);color:#fff;font-size:1.5rem;line-height:1;box-shadow:var(--shadow-2)}
.docmodal__close:hover{background:var(--orange-600)}
@media(max-width:680px){.docmodal__grid{grid-template-columns:1fr;gap:var(--space-4)}
  .docmodal__preview{max-width:240px;margin:0 auto}
  .docmodal__close{top:8px;right:8px}}

/* ---- Quote feature (advocacy / about) ---- */
.quote-feature{background:var(--plum-600);color:#fff;border-radius:var(--radius-xl);padding:var(--space-9) var(--space-8);text-align:center}
.quote-feature blockquote{font-family:var(--font-display);font-style:italic;font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.25;max-width:24ch;margin:0 auto}
.quote-feature cite{display:block;margin-top:1em;font-style:normal;color:var(--orange-200);font-weight:600;font-size:1.2rem}

/* ---- Inline sign-the-manifesto form ---- */
.signform{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-3);max-width:680px;margin-inline:auto}
.signform .field{margin-bottom:var(--space-5)}
.signform label{display:block;font-weight:600;margin-bottom:.4em;font-size:1.2rem}
.signform .req{color:var(--ribbon-600)}
.signform input,.signform select,.signform textarea{width:100%;font:inherit;font-size:1.2rem;padding:.85em 1em;
  border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text)}
.signform input:focus,.signform select:focus,.signform textarea:focus{outline:none;border-color:var(--clay-500);box-shadow:0 0 0 3px var(--orange-200)}
.signform .help{font-size:1.2rem;color:var(--stone-600);margin-top:.35em}
.signform .check{display:flex;gap:.7em;align-items:flex-start}
.signform .check input{width:auto;margin-top:.25em}

/* ---- Two-column intro ---- */
.intro-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center}
.intro-split img{border-radius:var(--radius-organic);box-shadow:var(--shadow-2);aspect-ratio:4/5;object-fit:cover;width:100%}
.bg-alt{background:var(--color-surface-alt)}
.bg-bone{background:var(--bone-100)}

/* ---- Leadership / people grid ---- */
.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-5);margin-top:var(--space-7)}
.person{text-align:center}
.person img{aspect-ratio:1;object-fit:cover;border-radius:50%;width:100%;max-width:200px;margin:0 auto .9em;box-shadow:var(--shadow-2)}
.person h3{font-size:1.2rem;margin-bottom:.1em}
.person .role{color:var(--color-text-muted);font-size:1.2rem}
.person .loc{color:var(--clay-500);font-size:1.2rem;font-weight:600;margin-top:.2em}

/* ---- Timeline (Our Journey) ---- */
.timeline{position:relative;margin-top:var(--space-7)}
/* spine line connecting every step */
.timeline::before{content:"";position:absolute;left:10px;top:18px;bottom:18px;width:3px;border-radius:9px;
  background:linear-gradient(var(--orange-400),var(--orange-200));z-index:0}
/* each step is a connected, colour-coded card (image + text together) */
.tl-item{position:relative;margin:0 0 1.5rem 3rem;
  display:grid;grid-template-columns:1fr minmax(0,clamp(190px,26vw,300px));gap:clamp(1rem,3vw,2rem);align-items:start;
  background:var(--tl-bg,#fff);border:1px solid color-mix(in srgb,var(--tl-ac,var(--orange-500)) 24%,transparent);
  border-left:5px solid var(--tl-ac,var(--orange-500));border-radius:var(--radius-xl);
  padding:clamp(1.2rem,2.5vw,1.7rem);box-shadow:var(--shadow-1);
  transition:transform .3s var(--ease-out-soft),box-shadow .3s}
.tl-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-3)}
/* node dot sitting on the spine */
.tl-item::before{content:"";position:absolute;top:1.9rem;left:calc(-3rem + 1px);width:20px;height:20px;border-radius:50%;
  background:var(--tl-ac,var(--orange-500));border:3px solid var(--color-bg);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--tl-ac,var(--orange-500)) 35%,transparent);z-index:2}
/* connector from the spine into the card */
.tl-item::after{content:"";position:absolute;top:calc(1.9rem + 9px);left:calc(-3rem + 18px);width:calc(3rem - 18px);height:3px;
  background:var(--tl-ac,var(--orange-500));opacity:.55;z-index:0;border-radius:9px}
.tl-item .year{font-family:var(--font-display);font-weight:700;color:var(--tl-ac,var(--clay-500));font-size:1.5rem;line-height:1;display:block;margin-bottom:.2em}
.tl-item h3{font-size:var(--fs-h4);margin-bottom:.3em;color:var(--clay-900)}
.tl-item p{color:var(--color-text-muted);font-size:1.2rem;max-width:60ch;margin:0}
.tl-list{list-style:none;margin:.55em 0 0;padding:0;display:flex;flex-direction:column;gap:.5em;max-width:66ch}
.tl-list li{position:relative;padding-left:1.15em;color:var(--color-text-muted);font-size:1.2rem;line-height:1.5}
.tl-list li::before{content:"";position:absolute;left:0;top:.55em;width:.42em;height:.42em;border-radius:50%;background:var(--tl-ac,var(--orange-500))}
.tl-list li strong{color:var(--clay-900);font-weight:700}
.tl-list li em{font-style:italic}
.tl-item__img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-2);aspect-ratio:4/3}
.tl-item__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out-soft)}
.tl-item:hover .tl-item__img img{transform:scale(1.06)}
/* warm brand colour cycle across the steps */
.tl-item:nth-child(4n+1){--tl-bg:#FFF4E6;--tl-ac:#F8941E}
.tl-item:nth-child(4n+2){--tl-bg:#FBEAD8;--tl-ac:#C2670B}
.tl-item:nth-child(4n+3){--tl-bg:#F5ECE0;--tl-ac:#8A6043}
.tl-item:nth-child(4n+0){--tl-bg:#F8EFE4;--tl-ac:#A8763F}
@media (max-width:680px){
  .tl-item{grid-template-columns:1fr;margin-left:2.2rem}
  .tl-item__img{order:-1;margin-bottom:1rem}
  .tl-item::before{left:calc(-2.2rem + 1px)}
  .tl-item::after{left:calc(-2.2rem + 18px);width:calc(2.2rem - 18px)}
}

/* ---- Mission/Vision cards ---- */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-top:var(--space-6)}
.mv{background:var(--clay-900);color:#fff;border-radius:var(--radius-lg);padding:var(--space-7);box-shadow:var(--shadow-2)}
.mv:last-child{background:var(--orange-500)}
.mv h3{font-size:var(--fs-h3);margin-bottom:.4em;color:#fff}
.mv p{color:rgba(255,255,255,.94)}
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-top:var(--space-6)}
.glance div{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:var(--space-5)}
.glance dt{font-size:1.2rem;text-transform:uppercase;letter-spacing:.1em;color:var(--clay-500);font-weight:700;margin-bottom:.3em}
.glance dd{margin:0;font-family:var(--font-display);font-size:1.2rem;color:var(--ink-900)}

@media (max-width:1023px){
  .article-layout{grid-template-columns:1fr}.article-layout>.prose{grid-column:1}.toc{display:none}
  .intro-split{grid-template-columns:1fr}.intro-split img{max-width:420px}
  .mv-grid{grid-template-columns:1fr}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .line-mask>span{transform:none}
  .hero__scroll span{animation:none}
  .pcard:nth-child(2){transform:none}
}
