/* ============================================================
   VOKAVIA — Homepage design system
   Master stylesheet · mobile-first · B+C direction
   Type: Helvetica Neue grotesque + IBM Plex Mono (technical)
   ============================================================ */

:root{
  /* Brand */
  --navy:#1F2853;
  --navy-deep:#161C3C;
  --navy-700:#283163;
  --navy-tint:#2C3669;
  --coral:#FF4E46;
  --coral-ink:#E23C35;

  /* Neutrals — cool aviation greys */
  --paper:#FFFFFF;
  --grey-50:#F5F6F8;
  --grey-100:#EDEFF2;
  --grey-150:#E4E7EB;
  --grey-200:#DCE0E5;
  --grey-300:#C3C9D1;
  --ink:#181D30;
  --muted:#5A6173;
  --muted-light:rgba(255,255,255,.66);

  /* Type */
  --sans:"Helvetica Neue",Helvetica,"Helvetica Now Text",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;

  /* Fluid scale */
  --fs-hero:clamp(2.5rem,1.4rem + 4.6vw,4.9rem);
  --fs-h2:clamp(1.95rem,1.3rem + 2.6vw,3.15rem);
  --fs-h3:clamp(1.25rem,1.05rem + .8vw,1.65rem);
  --fs-lead:clamp(1.18rem,1.04rem + .6vw,1.5rem);
  --fs-body:clamp(1rem,.97rem + .15vw,1.1rem);

  /* Layout */
  --maxw:1240px;
  --gut:clamp(20px,5vw,64px);
  --sp:clamp(76px,9vw,148px);
  --radius:4px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);
  font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,p{margin:0;}
::selection{background:var(--coral);color:#fff;}

/* ── Layout helpers ─────────────────────────── */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}
.section{padding-block:var(--sp);position:relative;}
.coral{color:var(--coral);}
.mono{font-family:var(--mono);}

.section-label{
  display:inline-flex;align-items:center;gap:11px;font-family:var(--mono);
  font-size:.78rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);margin-bottom:clamp(26px,3.4vw,44px);
}
.section-label.on-dark{color:var(--muted-light);}
.dot{width:7px;height:7px;border-radius:50%;background:var(--coral);flex:0 0 auto;
  box-shadow:0 0 0 4px rgba(255,78,70,.16);}

/* ── Buttons ─────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-weight:600;font-size:1rem;letter-spacing:.005em;
  cursor:pointer;border:1.5px solid transparent;border-radius:var(--radius);
  padding:16px 26px;min-height:52px;transition:background .16s,color .16s,border-color .16s,box-shadow .16s,transform .14s;
  white-space:nowrap;
}
.btn .ar{transition:transform .2s ease;flex:0 0 auto;}
.btn:hover .ar{transform:translateX(4px);}
.btn-coral{background:var(--coral);color:#fff;}
.btn-coral:hover{background:var(--coral-ink);box-shadow:0 10px 30px -8px rgba(255,78,70,.5);}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent;}
.btn-outline:hover{background:var(--navy);color:#fff;}
.btn-ghost{border-color:rgba(255,255,255,.32);color:#fff;background:transparent;}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6);}
.btn-text{color:var(--muted);font-weight:600;padding:10px 4px;min-height:0;border:none;}
.btn-text:hover{color:var(--ink);}
.btn-block{width:100%;}

/* ============================================================
   NAVIGATION — transparent over hero, solid on scroll
   ============================================================ */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  display:flex;align-items:center;gap:24px;
  padding:14px var(--gut);min-height:72px;
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;
  background:transparent;border-bottom:1px solid transparent;
}
.site-nav.scrolled{
  background:rgba(255,255,255,.86);backdrop-filter:saturate(160%) blur(12px);
  border-bottom-color:var(--grey-200);box-shadow:0 1px 0 rgba(24,29,48,.02);
}
.nav-brand{display:flex;align-items:center;flex:0 0 auto;}
.nav-brand img{height:28px;width:auto;}
.logo-dark{display:none;}
.site-nav.scrolled .logo-light{display:none;}
.site-nav.scrolled .logo-dark{display:block;}

.nav-menu{display:none;}
.nav-links{display:flex;gap:26px;margin-left:14px;}
.nav-links a{font-size:.92rem;font-weight:500;color:rgba(255,255,255,.78);transition:color .15s;position:relative;}
.nav-links a:hover{color:#fff;}
.site-nav.scrolled .nav-links a{color:var(--muted);}
.site-nav.scrolled .nav-links a:hover{color:var(--ink);}
.nav-actions{margin-left:auto;display:flex;align-items:center;gap:18px;}
.nav-actions .btn-text{color:rgba(255,255,255,.82);}
.nav-actions .btn-text:hover{color:#fff;}
.site-nav.scrolled .nav-actions .btn-text{color:var(--muted);}
.site-nav.scrolled .nav-actions .btn-text:hover{color:var(--ink);}
.nav-actions .btn-coral{padding:11px 19px;min-height:44px;font-size:.93rem;}

/* hamburger */
.nav-toggle{
  margin-left:auto;display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:46px;height:46px;border:none;background:transparent;cursor:pointer;padding:11px;
}
.nav-toggle span{height:2px;width:100%;background:#fff;border-radius:2px;transition:transform .28s ease,opacity .2s ease,background .3s;}
.site-nav.scrolled .nav-toggle span{background:var(--navy);}
body.menu-open .nav-toggle span{background:#fff;}
body.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.menu-open .nav-toggle span:nth-child(2){opacity:0;}
body.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* mobile overlay menu */
.mobile-menu{
  position:fixed;inset:0;z-index:55;background:var(--navy-deep);
  display:flex;flex-direction:column;justify-content:center;gap:6px;
  padding:96px var(--gut) 48px;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s;
}
body.menu-open .mobile-menu{opacity:1;visibility:visible;transform:none;}
.mobile-menu a.m-link{
  color:#fff;font-size:clamp(1.7rem,7vw,2.4rem);font-weight:600;letter-spacing:-.02em;
  padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);
}
.mobile-menu .m-actions{display:flex;flex-direction:column;gap:14px;margin-top:32px;}
.m-meta{margin-top:auto;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:rgba(255,255,255,.4);padding-top:32px;}

/* ============================================================
   HERO — dark command, softened
   ============================================================ */
.hero{
  position:relative;background:var(--navy);color:#fff;overflow:hidden;
  padding-top:clamp(118px,16vh,180px);padding-bottom:clamp(60px,8vw,92px);
}
.hero::before{ /* depth gradient */
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 120% at 88% 8%,rgba(255,78,70,.16),transparent 46%),
             linear-gradient(180deg,var(--navy-deep),var(--navy) 38%,var(--navy));
  pointer-events:none;
}
.hero-grid-lines{
  position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:clamp(80px,11vw,160px) 100%;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent);
  mask-image:linear-gradient(180deg,#000,transparent);
}
.hero-mark{
  position:absolute;right:-3%;top:54%;transform:translateY(-50%);
  width:min(840px,80vw);opacity:.14;pointer-events:none;
}
.hero-path{position:absolute;right:0;top:0;width:min(660px,64vw);height:auto;pointer-events:none;opacity:.55;}
.hero-inner{position:relative;max-width:880px;}
.hero h1{
  font-size:var(--fs-hero);line-height:1.03;letter-spacing:-.03em;font-weight:700;
  margin:24px 0 26px;text-wrap:balance;
}
.hero .sub{font-size:var(--fs-lead);line-height:1.55;color:rgba(255,255,255,.74);max-width:600px;margin-bottom:38px;}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;}

/* brand motto — refined signature line (dark surfaces) */
.brand-motto{
  display:inline-flex;align-items:center;gap:13px;
  font-family:var(--sans);font-size:1.04rem;font-weight:500;letter-spacing:.005em;
  color:rgba(255,255,255,.84);
}
.brand-motto::before{content:"";flex:0 0 auto;width:26px;height:1.5px;background:var(--coral);}
.brand-motto em{font-style:normal;color:var(--coral);font-weight:600;}
.hero-motto{margin-top:clamp(28px,3.4vw,38px);}

/* trust strip */
.hero-trust{
  position:relative;margin-top:clamp(48px,7vw,76px);
  display:grid;grid-template-columns:1fr;gap:1px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);overflow:hidden;
}
.trust-cell{background:var(--navy);padding:24px clamp(20px,3vw,30px);}
.trust-k{font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:700;letter-spacing:-.015em;margin-bottom:7px;}
.trust-v{font-family:var(--mono);font-size:.78rem;line-height:1.5;letter-spacing:.02em;color:rgba(255,255,255,.56);}

/* ============================================================
   HOMEPAGE HERO — photographic, layered, animated (homepage only)
   Activated by .hero--photo. Other pages keep the plain navy hero.
   ============================================================ */
.hero--photo{padding-top:clamp(130px,17vh,200px);padding-bottom:clamp(66px,9vw,108px);isolation:isolate;}
.hero--photo::before{display:none;}            /* drop flat navy gradient; scrim handles depth */
.hero--photo .hero-mark{display:none;}         /* photo replaces the V watermark */
.hero--photo .hero-grid-lines{z-index:-1;opacity:.34;}

.hero-photo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:74% 58%;z-index:-3;pointer-events:none;
}
.hero-scrim{
  position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    linear-gradient(95deg,var(--navy-deep) 0%,rgba(22,28,60,.97) 20%,rgba(27,34,72,.80) 42%,rgba(22,28,60,.46) 66%,rgba(22,28,60,.30) 100%),
    linear-gradient(180deg,rgba(22,28,60,.50) 0%,transparent 26%,transparent 60%,rgba(13,17,38,.82) 100%),
    radial-gradient(135% 120% at 88% 4%,rgba(255,78,70,.18),transparent 50%);
}
.hero--photo h1{text-shadow:0 2px 34px rgba(13,17,38,.45);}
.hero--photo .sub{text-shadow:0 1px 18px rgba(13,17,38,.4);}

/* route + Indonesia outbound graphic */
.hero-routes{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:visible;}
.hero-island{fill:rgba(255,255,255,.42);}
.hero-island.is-accent{fill:var(--coral);}
.hero-route{fill:none;stroke:var(--coral);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:2 9;opacity:.55;}
.hero-route.is-base{stroke:rgba(255,255,255,.55);stroke-dasharray:2 12;opacity:.26;stroke-width:1.2;}
.hero-origin-core{fill:var(--coral);}
.hero-origin-halo{fill:rgba(255,78,70,.22);}
.hero-node-halo{fill:rgba(255,78,70,.20);transform-box:fill-box;transform-origin:center;}
.hero-node-core{fill:var(--coral);}
.hero-geo-label{font-family:var(--mono);font-size:12px;letter-spacing:.22em;fill:rgba(255,255,255,.58);}
.hero-travel circle{fill:var(--coral);}

/* floating particles */
.hero-particles{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;}
.hero-particles span{
  position:absolute;width:4px;height:4px;border-radius:50%;
  background:rgba(255,255,255,.55);box-shadow:0 0 9px rgba(255,255,255,.45);opacity:0;
}
.hero-particles span.is-coral{background:var(--coral);box-shadow:0 0 10px rgba(255,78,70,.6);}

@media (prefers-reduced-motion:no-preference){
  .hero-photo{animation:heroKen 42s ease-in-out infinite alternate;transform-origin:72% 56%;}
  .hero-route{animation:routeFlow 7s linear infinite;}
  .hero-route:nth-of-type(2){animation-duration:9s;}
  .hero-route:nth-of-type(3){animation-duration:8s;}
  .hero-route:nth-of-type(4){animation-duration:10s;}
  .hero-route.is-base{animation-duration:24s;}
  .hero-node-halo{animation:nodePulse 3.4s ease-in-out infinite;}
  .hero-node-halo.d2{animation-delay:.8s;}
  .hero-node-halo.d3{animation-delay:1.5s;}
  .hero-node-halo.d4{animation-delay:2.2s;}
  .hero-origin-halo{animation:nodePulse 3.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center;}
  .hero-travel{offset-path:path('M -60 560 C 360 500 720 360 1480 90');animation:travel 12s linear infinite;}
  .hero-particles span{animation:heroDrift 12s ease-in-out infinite;}
  .hero-particles span:nth-child(2){animation-duration:15s;animation-delay:2s;}
  .hero-particles span:nth-child(3){animation-duration:13s;animation-delay:4s;}
  .hero-particles span:nth-child(4){animation-duration:16s;animation-delay:1s;}
  .hero-particles span:nth-child(5){animation-duration:14s;animation-delay:5.5s;}
  .hero-particles span:nth-child(6){animation-duration:17s;animation-delay:3s;}
}
@keyframes heroKen{from{transform:scale(1.03);}to{transform:scale(1.11);}}
@keyframes routeFlow{to{stroke-dashoffset:-110;}}
@keyframes nodePulse{0%,100%{transform:scale(1);opacity:.85;}50%{transform:scale(1.8);opacity:.25;}}
@keyframes travel{from{offset-distance:0%;}to{offset-distance:100%;}}
@keyframes heroDrift{0%{transform:translateY(10px);opacity:0;}18%{opacity:.65;}82%{opacity:.5;}100%{transform:translateY(-30px);opacity:0;}}

@media (max-width:760px){
  .hero--photo .hero-scrim{
    background:
      linear-gradient(180deg,rgba(20,26,54,.93) 0%,rgba(22,28,60,.82) 48%,rgba(13,17,38,.88) 100%),
      radial-gradient(130% 80% at 82% 4%,rgba(255,78,70,.15),transparent 55%);
  }
  .hero--photo .hero-photo{object-position:66% 58%;}
  .hero-routes,.hero-particles{display:none;}
}

/* ============================================================
   WHAT VOKAVIA IS
   ============================================================ */
.what-grid{display:grid;grid-template-columns:1fr;gap:clamp(44px,6vw,80px);align-items:start;}
.what-lead{font-size:var(--fs-h2);line-height:1.12;letter-spacing:-.025em;font-weight:700;text-wrap:balance;}
.what-lead .coral{color:var(--coral);}
.what-body{font-size:var(--fs-lead);color:var(--muted);line-height:1.6;margin-top:26px;max-width:560px;}
.what-note{
  margin-top:30px;padding:20px 22px;background:var(--grey-50);border:1px solid var(--grey-150);
  border-left:2px solid var(--coral);border-radius:var(--radius);
  font-size:.96rem;line-height:1.55;color:var(--ink);max-width:560px;
}
.what-note .k{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:7px;}

.pillars{list-style:none;margin:0;padding:0;border-top:1px solid var(--grey-200);}
.pillars li{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--grey-200);align-items:baseline;}
.pillars .p-n{font-family:var(--mono);font-size:.82rem;color:var(--coral);font-weight:500;flex:0 0 auto;letter-spacing:.05em;}
.pillars .p-t{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.012em;}
.pillars .p-d{font-size:.95rem;color:var(--muted);margin-top:4px;}
.pillars .p-main{flex:1;}

/* ============================================================
   HOW IT WORKS — status board
   ============================================================ */
.how{background:var(--grey-50);border-block:1px solid var(--grey-150);}
.how-head{max-width:680px;margin-bottom:clamp(38px,5vw,58px);}
.how-title{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.025em;font-weight:700;}
.how-intro{font-size:var(--fs-lead);color:var(--muted);margin-top:18px;}

.board{display:grid;grid-template-columns:1fr;gap:18px;position:relative;}
.stage{
  position:relative;background:#fff;border:1px solid var(--grey-200);border-radius:var(--radius);
  padding:clamp(26px,3vw,34px);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.stage:hover{transform:translateY(-3px);box-shadow:0 22px 50px -28px rgba(31,40,83,.35);border-color:var(--grey-300);}
.stage-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.stage-n{font-family:var(--mono);font-size:.82rem;color:var(--coral);font-weight:600;letter-spacing:.08em;}
.stage-badge{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;padding:6px 10px;border-radius:2px;font-weight:500;white-space:nowrap;}
.badge-led{background:rgba(91,208,138,.13);color:#2C9A5E;}
.badge-struct{background:rgba(255,78,70,.1);color:var(--coral-ink);}
.badge-coord{background:rgba(31,40,83,.08);color:var(--navy);}
.stage-t{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.015em;margin-bottom:12px;}
.stage-d{font-size:.98rem;color:var(--muted);line-height:1.58;}
.stage-arrow{
  display:flex;align-items:center;justify-content:center;color:var(--grey-300);
}
.stage-arrow svg{transform:rotate(90deg);}

/* ============================================================
   PARTNERS
   ============================================================ */
.partners-head{max-width:680px;margin-bottom:clamp(38px,5vw,56px);}
.partners-title{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.025em;font-weight:700;text-wrap:balance;}
.partners-intro{font-size:var(--fs-lead);color:var(--muted);margin-top:18px;}
.partner-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--grey-200);border:1px solid var(--grey-200);border-radius:var(--radius);overflow:hidden;}
.pcard{background:#fff;padding:26px clamp(22px,2.4vw,28px);transition:background .18s;position:relative;}
.pcard:hover{background:var(--grey-50);}
.pcard .pc-n{font-family:var(--mono);font-size:.72rem;color:var(--coral);letter-spacing:.1em;}
.pcard .pc-t{font-size:1.12rem;font-weight:600;letter-spacing:-.01em;margin:14px 0 6px;}
.pcard .pc-d{font-size:.9rem;color:var(--muted);line-height:1.5;}

/* ============================================================
   PATHWAYS — blueprint
   ============================================================ */
.pathways-head{max-width:680px;margin-bottom:clamp(40px,5vw,60px);}
.pathways-title{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.025em;font-weight:700;text-wrap:balance;}
.pathways-intro{font-size:var(--fs-lead);color:var(--muted);margin-top:18px;}
.blueprint{
  position:relative;border:1px solid var(--grey-200);border-radius:var(--radius);background:#fff;overflow:hidden;
}
.blueprint::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.6;
  background-image:linear-gradient(var(--grey-100) 1px,transparent 1px),linear-gradient(90deg,var(--grey-100) 1px,transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:radial-gradient(150% 120% at 0% 0%,#000 20%,transparent 70%);
  mask-image:radial-gradient(150% 120% at 0% 0%,#000 20%,transparent 70%);
}
.phases{position:relative;display:grid;grid-template-columns:1fr;}
.phase{padding:clamp(26px,3vw,38px);border-bottom:1px solid var(--grey-150);position:relative;}
.phase:last-child{border-bottom:none;}
.phase-n{font-family:var(--mono);font-size:.78rem;color:var(--coral);letter-spacing:.1em;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.phase-n::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(255,78,70,.14);}
.phase-t{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.015em;margin-bottom:10px;}
.phase-d{font-size:.96rem;color:var(--muted);line-height:1.56;}
.blueprint-foot{
  position:relative;padding:18px clamp(26px,3vw,38px);background:var(--grey-50);border-top:1px solid var(--grey-150);
  font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--muted);
}

/* ============================================================
   CANDIDATE BAND — navy
   ============================================================ */
.candidate{position:relative;background:var(--navy);color:#fff;overflow:hidden;}
.candidate::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(90% 120% at 92% 0%,rgba(255,78,70,.14),transparent 50%);
}
.cand-mark{position:absolute;right:-4%;bottom:-30%;width:min(420px,46vw);opacity:.06;pointer-events:none;}
.cand-grid{position:relative;display:grid;grid-template-columns:1fr;gap:34px;align-items:center;}
.cand-title{font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.025em;font-weight:700;text-wrap:balance;}
.cand-copy{font-size:var(--fs-lead);color:rgba(255,255,255,.74);line-height:1.58;margin-top:20px;max-width:620px;}
.cand-cta{margin-top:34px;}

/* ============================================================
   DISCLAIMER / SCOPE STRIP
   ============================================================ */
.scope{background:var(--grey-50);border-top:1px solid var(--grey-150);}
.scope-inner{border:1px solid var(--grey-200);border-radius:var(--radius);background:#fff;padding:clamp(28px,3.4vw,44px);}
.scope-label{font-family:var(--mono);font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:10px;margin-bottom:26px;}
.scope-label::before{content:"";width:7px;height:7px;background:var(--coral);border-radius:50%;}
.scope-cols{display:grid;grid-template-columns:1fr;gap:30px;}
.scope-col h3{font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:14px;}
.scope-col ul{list-style:none;margin:0;padding:0;}
.scope-col li{display:flex;gap:11px;font-size:.95rem;color:var(--muted);padding:7px 0;line-height:1.5;}
.scope-col li::before{content:"—";color:var(--coral);font-family:var(--mono);flex:0 0 auto;}
.scope-clause{margin-top:30px;padding-top:24px;border-top:1px solid var(--grey-150);
  font-size:.92rem;line-height:1.6;color:var(--muted);}

/* ============================================================
   FOOTER
   ============================================================ */
.foot{background:var(--navy-deep);color:#fff;padding-block:clamp(56px,7vw,84px) 34px;}
.foot-top{display:grid;grid-template-columns:1fr;gap:44px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1);}
.foot-brand img{height:30px;margin-bottom:20px;}
.foot-motto{
  font-family:var(--sans);font-size:1.08rem;font-weight:600;letter-spacing:-.005em;line-height:1.3;
  color:#fff;margin:0 0 16px;display:flex;align-items:center;gap:13px;
}
.foot-motto::before{content:"";flex:0 0 auto;width:26px;height:1.5px;background:var(--coral);}
.foot-tag{font-size:1rem;color:rgba(255,255,255,.62);max-width:320px;line-height:1.5;}
.foot-mails{display:flex;flex-direction:column;gap:14px;margin-top:28px;}
.foot-mail{display:block;text-decoration:none;}
.foot-mail{font-family:var(--sans);font-size:1rem;font-weight:600;color:rgba(255,255,255,.9);transition:color .15s;overflow-wrap:anywhere;}
.foot-mail:hover{color:var(--coral);}
.foot-mail small{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:rgba(255,255,255,.4);text-transform:uppercase;margin-top:3px;font-weight:400;}
.foot-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
.foot-col h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.4);margin:0 0 16px;font-weight:500;}
.foot-col a{display:block;font-size:.96rem;color:rgba(255,255,255,.78);padding:6px 0;transition:color .15s;}
.foot-col a:hover{color:var(--coral);}
.foot-bottom{display:flex;flex-direction:column;gap:14px;padding-top:30px;}
.foot-reg{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:rgba(255,255,255,.42);line-height:1.6;}
.foot-copy{font-size:.85rem;color:rgba(255,255,255,.5);}

/* ============================================================
   REVEAL — resting state is always visible. Motion lives in the
   sticky-nav transition, button/card hovers, and the flight-path.
   ============================================================ */

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (min-width:600px){
  .hero-trust{grid-template-columns:repeat(3,1fr);}
  .scope-cols{grid-template-columns:1fr 1fr;}
  .partner-grid{grid-template-columns:1fr 1fr;}
  .foot-cols{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:880px){
  .partner-grid{grid-template-columns:repeat(4,1fr);}
  .board{grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;}
  .stage-arrow svg{transform:none;}
  .phases{grid-template-columns:repeat(4,1fr);}
  .phase{border-bottom:none;border-right:1px solid var(--grey-150);}
  .phase:last-child{border-right:none;}
  .what-grid{grid-template-columns:1.05fr .95fr;}
  .cand-grid{grid-template-columns:1.4fr .6fr;}
  .cand-cta{margin-top:0;justify-self:end;}
  .foot-top{grid-template-columns:1.3fr 2fr;}
}
@media (min-width:1080px){
  .nav-toggle{display:none;}
  .nav-menu{display:flex;align-items:center;flex:1;}
  .partner-grid{grid-template-columns:repeat(4,1fr);}
}

/* ============================================================
   TINT — neutral grey section (shared with .how look)
   ============================================================ */
.section.tint{background:var(--grey-50);border-block:1px solid var(--grey-150);}

/* ============================================================
   PATHWAYS — curated category cards
   ============================================================ */
.pcat-grid{display:grid;grid-template-columns:1fr;gap:18px;}
.pcat{
  background:#fff;border:1px solid var(--grey-200);border-radius:var(--radius);
  padding:clamp(24px,2.6vw,30px);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  display:flex;flex-direction:column;
}
.pcat:hover{transform:translateY(-3px);box-shadow:0 22px 50px -30px rgba(31,40,83,.34);border-color:var(--grey-300);}
.pcat-head{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--grey-150);}
.pcat-title{font-size:1.18rem;font-weight:600;letter-spacing:-.012em;line-height:1.15;}
.pcat-count{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;color:var(--coral);text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;}
.pcat-count::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral);flex:0 0 auto;}
.pcat-list{list-style:none;margin:0;padding:0;}
.pcat-list li{font-size:.95rem;color:var(--muted);padding:7px 0 7px 20px;position:relative;line-height:1.4;}
.pcat-list li::before{content:"";position:absolute;left:0;top:14px;width:8px;height:1.5px;background:var(--coral);border-radius:1px;}

/* ============================================================
   SCOUTING — open-to-new-talent + 0→1 highlight
   ============================================================ */
.scout-top{display:grid;grid-template-columns:1fr;gap:clamp(30px,4vw,52px);align-items:start;margin-bottom:clamp(34px,4vw,52px);}
.scout-title{font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.025em;font-weight:700;text-wrap:balance;}
.scout-body{font-size:var(--fs-lead);color:var(--muted);line-height:1.6;margin-top:20px;max-width:540px;}
.scout-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px;}
.scout-chip{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;padding:9px 14px;
  background:#fff;border:1px solid var(--grey-200);border-radius:100px;color:var(--ink);
}
.scout-bottom{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,52px);align-items:start;}
.scout-profiles-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.scout-profiles{list-style:none;margin:0;padding:0;border-top:1px solid var(--grey-200);}
.scout-profiles li{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--grey-200);font-size:1.02rem;color:var(--ink);line-height:1.4;}
.scout-check{flex:0 0 auto;width:20px;height:20px;margin-top:1px;color:var(--coral);}
.scout-act{display:flex;flex-direction:column;align-items:flex-start;}
.scout-act .btn{margin-bottom:16px;}
.scout-disclaim{font-size:.85rem;color:var(--muted);line-height:1.55;max-width:460px;
  padding-top:16px;border-top:1px solid var(--grey-200);width:100%;}

/* 0 → 1 highlight card */
.zerocard{
  position:relative;background:var(--navy);color:#fff;border-radius:6px;overflow:hidden;
  padding:clamp(30px,3.4vw,42px);box-shadow:0 34px 80px -34px rgba(31,40,83,.55);
}
.zerocard::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.9;
  background:radial-gradient(120% 90% at 92% 6%,rgba(255,78,70,.22),transparent 52%);
}
.zerocard::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:42px 42px;
  -webkit-mask-image:linear-gradient(135deg,#000,transparent 75%);mask-image:linear-gradient(135deg,#000,transparent 75%);
}
.zerocard>*{position:relative;}
.zerocard-tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;color:rgba(255,255,255,.6);text-transform:uppercase;display:flex;align-items:center;gap:9px;}
.zerocard-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(255,78,70,.18);}
.zerocard-big{display:flex;align-items:center;gap:clamp(14px,3vw,26px);margin:26px 0 4px;font-weight:700;letter-spacing:-.04em;line-height:.9;font-size:clamp(3.6rem,13vw,5.6rem);}
.zerocard-big .arrow{color:var(--coral);font-size:.7em;}
.zerocard-title{font-size:clamp(1.3rem,2.4vw,1.6rem);font-weight:600;letter-spacing:-.015em;margin-top:18px;}
.zerocard-sub{color:rgba(255,255,255,.7);margin-top:13px;font-size:1.02rem;line-height:1.55;max-width:380px;}
.zerocard-foot{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;color:rgba(255,255,255,.58);}

/* ============================================================
   CONTACT — navy band, three address cards
   ============================================================ */
.contact{position:relative;background:var(--navy);color:#fff;overflow:hidden;}
.contact::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(80% 120% at 90% 0%,rgba(255,78,70,.13),transparent 50%);}
.contact-head{position:relative;max-width:640px;margin-bottom:clamp(34px,4vw,52px);}
.contact-title{font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.025em;font-weight:700;text-wrap:balance;}
.contact-intro{font-size:var(--fs-lead);color:rgba(255,255,255,.72);line-height:1.55;margin-top:18px;}
.contact-grid{position:relative;display:grid;grid-template-columns:1fr;gap:1px;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13);border-radius:4px;overflow:hidden;}
.ccard{background:var(--navy);padding:clamp(26px,3vw,32px);transition:background .18s;display:block;}
.ccard:hover{background:var(--navy-700);}
.ccard-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:9px;}
.ccard-label::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral);}
.ccard-email{font-size:clamp(1.02rem,4.4vw,1.3rem);font-weight:600;letter-spacing:-.015em;margin:14px 0 8px;color:#fff;overflow-wrap:anywhere;}
.ccard:hover .ccard-email{color:var(--coral);}
.ccard-desc{font-size:.9rem;color:rgba(255,255,255,.58);line-height:1.5;}
.contact-cta{position:relative;display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(30px,3.4vw,40px);}

/* ============================================================
   FOOTER — emails surfaced in brand column (legacy hook kept)
   ============================================================ */

/* ============================================================
   RESPONSIVE — new sections
   ============================================================ */
@media (min-width:640px){
  .pcat-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:880px){
  .scout-top{grid-template-columns:1.05fr .95fr;}
  .scout-bottom{grid-template-columns:1.15fr .85fr;}
}
@media (min-width:1000px){
  .pcat-grid{grid-template-columns:repeat(3,1fr);}
}
