
:root{
  --logo:url(emblem.png);
  --paper:#F3EEE4;
  --paper-card:#EAE1D0;
  --petrol:#173E4D;        /* deep dark strata / primary ink */
  --petrol-2:#1E5061;
  --teal:#2C6E6E;          /* brand teal */
  --sage:#93AB7C;          /* brand sage */
  --vital:#1E9478;         /* the figure green, accent + interaction only */
  --vital-soft:#46B093;
  --ink:#2A2720;
  --ink-soft:#5E574A;
  --cream:#EDE6D7;
  --cream-soft:#AEB7A6;
  --line:#D9CEB9;
  --line-dk:rgba(237,230,215,.16);
  --d-xl:clamp(2.7rem,6.4vw,5.4rem);
  --d-l:clamp(2rem,4.2vw,3.4rem);
  --h2:clamp(1.7rem,3.1vw,2.6rem);
  --lead:clamp(1.06rem,1.5vw,1.32rem);
  --body:1.0625rem;
  --mx:clamp(1.25rem,6vw,7rem);
  --maxw:1280px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{background:var(--paper);color:var(--ink);font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:var(--body);line-height:1.6;overflow-x:hidden}
::selection{background:var(--vital);color:#fff}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--mx);padding-right:var(--mx)}
.serif{font-family:"Fraunces",Georgia,serif;font-weight:500;line-height:1.02;letter-spacing:-.012em}
.mono{font-family:"Spline Sans Mono",monospace}
.eyebrow{font-family:"Spline Sans Mono",monospace;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--vital);display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--vital);display:inline-block}
.on-dark .eyebrow{color:var(--vital-soft)}
.on-dark .eyebrow::before{background:var(--vital-soft)}

a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--vital);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--petrol);color:var(--cream);padding:.7rem 1rem;z-index:200}
.skip:focus{left:1rem;top:1rem}

/* NAV */
header.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.85rem var(--mx);background:rgba(243,238,228,.82);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .4s,padding .4s}
header.nav.scrolled{border-bottom-color:var(--line);padding-top:.65rem;padding-bottom:.65rem}
.brand{display:flex;align-items:center;gap:.65rem;font-family:"Fraunces",serif;font-weight:600;font-size:1.14rem;letter-spacing:-.01em;color:var(--petrol);line-height:1}
.brand .lmark{width:38px;height:38px;background:var(--logo) center/contain no-repeat;flex:0 0 auto}
.brand .bt{display:flex;flex-direction:column;gap:1px}
.brand .bt small{font-family:"Spline Sans Mono",monospace;font-size:.56rem;letter-spacing:.24em;color:var(--ink-soft);font-weight:500}
.navlinks{display:flex;align-items:center;gap:2.1rem}
.navlinks a.lnk{font-size:.92rem;font-weight:500;color:var(--ink-soft);position:relative;transition:color .25s}
.navlinks a.lnk::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1.5px;background:var(--vital);transition:width .3s var(--ease)}
.navlinks a.lnk:hover{color:var(--petrol)}
.navlinks a.lnk:hover::after{width:100%}
.btn{font-family:"Hanken Grotesk";font-weight:600;font-size:.9rem;padding:.62rem 1.15rem;border-radius:2px;cursor:pointer;border:1.5px solid var(--petrol);display:inline-flex;align-items:center;gap:.5rem;transition:all .28s var(--ease);white-space:nowrap}
.btn.solid{background:var(--petrol);color:var(--cream)}
.btn.solid:hover{background:var(--teal);border-color:var(--teal);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--petrol)}
.btn.ghost:hover{background:var(--petrol);color:var(--cream)}
.btn .arw{transition:transform .28s var(--ease)}
.btn:hover .arw{transform:translateX(3px)}

/* HERO */
.hero{position:relative;padding:clamp(7.5rem,15vh,10.5rem) 0 clamp(3.5rem,7vh,6rem);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:3rem;align-items:center}
.hero h1{font-size:var(--d-xl);color:var(--petrol);max-width:13ch}
.hero h1 em{font-style:italic;color:var(--teal);font-weight:400}
.hero .lead{font-size:var(--lead);color:var(--ink-soft);max-width:42ch;margin:1.6rem 0 2.2rem}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap}
.hero-meta{display:flex;gap:2.2rem;margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--line);flex-wrap:wrap}
.hero-meta div{display:flex;flex-direction:column;gap:.15rem}
.hero-meta .n{font-family:"Fraunces",serif;font-weight:600;font-size:1.4rem;color:var(--teal)}
.hero-meta .l{font-family:"Spline Sans Mono",monospace;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft)}
.hero-emblem{position:relative;justify-self:center;width:100%;max-width:430px;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.hero-emblem .halo{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 50% 42%,rgba(70,176,147,.20),rgba(70,176,147,0) 62%);filter:blur(4px)}
.hero-emblem .em{position:relative;width:88%;height:88%;background:var(--logo) center/contain no-repeat;opacity:0;transform:scale(.9);animation:emIn 1.1s var(--ease) .15s forwards}
@keyframes emIn{to{opacity:1;transform:scale(1)}}
.hero-emblem figcaption{position:absolute;bottom:-.5rem;left:50%;transform:translateX(-50%);font-family:"Spline Sans Mono",monospace;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}

/* TRUST */
.trust{background:var(--petrol);color:var(--cream)}
.trust .wrap{display:flex;flex-wrap:wrap;gap:1.4rem 3rem;align-items:center;padding-top:1.4rem;padding-bottom:1.4rem}
.trust .ti{display:flex;align-items:center;gap:.7rem;font-size:.92rem;color:var(--cream)}
.trust .ti svg{flex:0 0 auto;stroke:var(--vital-soft);stroke-width:1.5;fill:none}
.trust .ti b{font-weight:600}.trust .ti span{color:var(--cream-soft)}

section{position:relative}
.sec-pad{padding-top:clamp(5rem,11vh,8.5rem);padding-bottom:clamp(5rem,11vh,8.5rem)}
.sec-head{max-width:54ch}
.sec-head h2{font-size:var(--h2);color:var(--petrol);margin:1rem 0 0}
.on-dark .sec-head h2{color:var(--cream)}
.sec-head .sub{font-size:var(--lead);color:var(--ink-soft);margin-top:1rem;max-width:48ch}
.on-dark .sec-head .sub{color:var(--cream-soft)}

.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}

/* METHOD */
.method{background:var(--teal);color:var(--cream)}
.method-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2.5rem,5vw,5rem);align-items:center;margin-top:1.5rem}
.steps{display:flex;flex-direction:column;gap:.2rem}
.step{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;padding:1.25rem 0;border-top:1px solid var(--line-dk);transition:opacity .4s}
.step:last-child{border-bottom:1px solid var(--line-dk)}
.step .num{font-family:"Spline Sans Mono",monospace;font-size:.78rem;color:var(--vital-soft);padding-top:.35rem;letter-spacing:.1em}
.step h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.32rem;color:var(--cream);letter-spacing:-.01em}
.step p{font-size:.95rem;color:var(--cream-soft);margin-top:.3rem;max-width:42ch}
.step.dim{opacity:.4}
.step .h3wrap{display:flex;align-items:center;gap:.6rem}
.step .dot{width:7px;height:7px;border-radius:50%;background:var(--vital-soft);opacity:0;transform:scale(0);transition:all .4s var(--ease)}
.step.active .dot{opacity:1;transform:scale(1)}
.method-vis{position:relative}
.method-vis svg{width:100%;height:auto;overflow:visible}
.gv-axis{stroke:var(--line-dk);stroke-width:1}
.gv-base{stroke:var(--cream-soft);stroke-width:1;stroke-dasharray:3 4;opacity:.45}
.gv-phase{stroke:var(--cream-soft);stroke-width:1;stroke-dasharray:5 4;opacity:.6;stroke-dashoffset:300;transition:stroke-dashoffset .5s var(--ease) .35s}
.method-vis.in .gv-phase{stroke-dashoffset:0}
.gv-seg{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.gv-base-seg{stroke:var(--cream-soft);opacity:.8}
.gv-treat{stroke:var(--vital-soft)}
.gv-dot{fill:var(--cream);opacity:0;transition:opacity .3s}
.gv-dot.t{fill:var(--vital-soft)}
.method-vis.in .gv-dot{opacity:1}
.gv-lbl{font-family:"Spline Sans Mono",monospace;font-size:9px;letter-spacing:.1em;fill:var(--cream-soft);text-transform:uppercase}
.gv-seg{stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.method-vis.in .gv-base-seg{transition:stroke-dashoffset .5s var(--ease) .1s;stroke-dashoffset:0}
.method-vis.in .gv-treat{transition:stroke-dashoffset 1s var(--ease) .5s;stroke-dashoffset:0}

/* SERVICES */
.services .sec-head{margin-bottom:2.5rem}
.svc-list{border-top:1px solid var(--line)}
.svc{border-bottom:1px solid var(--line);cursor:pointer}
.svc-row{display:grid;grid-template-columns:auto 1fr auto;gap:1.4rem;align-items:center;padding:1.7rem .2rem;transition:padding-left .35s var(--ease)}
.svc:hover .svc-row,.svc.open .svc-row{padding-left:1rem}
.svc-idx{font-family:"Spline Sans Mono",monospace;font-size:.78rem;color:var(--vital);letter-spacing:.08em}
.svc-name{font-family:"Fraunces",serif;font-weight:500;font-size:clamp(1.3rem,2.4vw,1.85rem);color:var(--petrol);letter-spacing:-.01em;transition:color .3s}
.svc:hover .svc-name{color:var(--teal)}
.svc-plus{width:22px;height:22px;position:relative;flex:0 0 auto}
.svc-plus::before,.svc-plus::after{content:"";position:absolute;background:var(--vital);transition:transform .35s var(--ease)}
.svc-plus::before{top:50%;left:0;width:100%;height:1.6px;transform:translateY(-50%)}
.svc-plus::after{left:50%;top:0;height:100%;width:1.6px;transform:translateX(-50%)}
.svc.open .svc-plus::after{transform:translateX(-50%) scaleY(0)}
.svc-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.svc-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;padding:0 .2rem 2rem}
.svc-col h4{font-family:"Spline Sans Mono",monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-bottom:.55rem}
.on-light .svc-col h4{color:var(--teal)}
.svc-col p{font-size:.97rem;color:var(--ink-soft);line-height:1.55}

/* TEAM */
.team{background:var(--petrol);color:var(--cream)}
.team-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.1rem;margin-top:3rem}
.tcard{background:var(--petrol-2);border:1px solid var(--line-dk);border-radius:3px;padding:1.6rem;position:relative;overflow:hidden;transition:transform .4s var(--ease),border-color .4s}
.tcard::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 100% 0%,rgba(70,176,147,.18),transparent 60%);opacity:0;transition:opacity .5s}
.tcard:hover{transform:translateY(-4px);border-color:rgba(70,176,147,.4)}
.tcard:hover::after{opacity:1}
.tcard .face{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--sage));display:flex;align-items:center;justify-content:center;font-family:"Fraunces",serif;font-weight:600;font-size:1.3rem;color:#fff;margin-bottom:1.1rem}
.tcard.lead .face{background:linear-gradient(135deg,var(--vital),var(--teal))}
.tcard .role{font-family:"Spline Sans Mono",monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vital-soft);margin-bottom:.35rem}
.tcard .nm{font-family:"Fraunces",serif;font-weight:500;font-size:1.3rem;color:var(--cream);letter-spacing:-.01em}
.tcard .cred{font-size:.9rem;color:var(--cream-soft);margin-top:.5rem}
.tcard .reveal{max-height:0;overflow:hidden;opacity:0;transition:max-height .45s var(--ease),opacity .45s,margin-top .45s}
.tcard:hover .reveal,.tcard:focus-within .reveal{max-height:150px;opacity:1;margin-top:.9rem}
.tcard .reveal p{font-size:.88rem;color:var(--cream-soft);line-height:1.5}
.tcard .reveal .tag{display:inline-block;font-family:"Spline Sans Mono",monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);border:1px solid var(--line-dk);padding:.2rem .5rem;border-radius:2px;margin-top:.7rem}

/* STORIES */
.stories .sec-head{margin-bottom:2.6rem}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.story{background:var(--paper-card);border:1px solid var(--line);border-radius:3px;padding:1.7rem;display:flex;flex-direction:column;gap:1.1rem;transition:transform .4s var(--ease),box-shadow .4s}
.story:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(23,62,77,.5)}
.story .ssvg{width:100%;height:88px}
.story .ssvg .base{stroke:var(--ink-soft);stroke-width:1;stroke-dasharray:3 4;opacity:.4;fill:none}
.story .ssvg .grow{fill:none;stroke:var(--teal);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:240;stroke-dashoffset:240;transition:stroke-dashoffset 1.3s var(--ease)}
.story.in .ssvg .grow{stroke-dashoffset:0}
.story .ssvg .gdot{fill:var(--vital);opacity:0;transition:opacity .3s .9s}
.story.in .ssvg .gdot{opacity:1}
.story .scap{font-family:"Spline Sans Mono",monospace;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--vital)}
.story h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.22rem;color:var(--petrol);line-height:1.25}
.story p{font-size:.95rem;color:var(--ink-soft);line-height:1.55}
.story .meta{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:"Spline Sans Mono",monospace;font-size:.7rem;letter-spacing:.08em;color:var(--ink-soft)}
.story .meta b{color:var(--teal);font-weight:500}
.stories .note{font-size:.82rem;color:var(--ink-soft);margin-top:1.6rem;max-width:62ch}

/* CAREERS */
.careers{background:var(--teal);color:var(--cream)}
.careers-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.careers h2{font-size:var(--h2);color:var(--cream);max-width:16ch}
.careers h2 em{font-style:italic;color:var(--vital-soft);font-weight:400}
.careers .lead{font-size:var(--lead);color:var(--cream-soft);margin:1.3rem 0 2rem;max-width:46ch}
.careers .btn.solid{background:var(--paper);color:var(--petrol);border-color:var(--paper)}
.careers .btn.solid:hover{background:var(--vital);border-color:var(--vital);color:#fff}
.careers .roles{display:flex;flex-direction:column;gap:.6rem}
.role{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;background:rgba(237,230,215,.06);border:1px solid var(--line-dk);border-radius:3px;transition:background .3s,transform .3s var(--ease)}
.role:hover{background:rgba(237,230,215,.11);transform:translateX(4px)}
.role .rt{font-family:"Fraunces",serif;font-weight:500;font-size:1.06rem;color:var(--cream)}
.role .rl{font-family:"Spline Sans Mono",monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-soft);margin-top:.2rem}
.role .arw{color:var(--vital-soft);transition:transform .3s var(--ease)}
.role:hover .arw{transform:translateX(4px)}

/* START */
.start{background:var(--paper)}
.start .wrap{text-align:center;display:flex;flex-direction:column;align-items:center}
.start .eyebrow{margin:0 auto}
.start h2{font-family:"Fraunces",serif;font-weight:500;font-size:clamp(2rem,5vw,3.6rem);color:var(--petrol);letter-spacing:-.015em;margin:1.2rem 0 0;max-width:18ch;line-height:1.05}
.start h2 em{font-style:italic;color:var(--teal);font-weight:400}
.start p{font-size:var(--lead);color:var(--ink-soft);margin:1.3rem auto 2.2rem;max-width:44ch}
.start .cta-row{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center}
.start .contact{margin-top:2.4rem;font-family:"Spline Sans Mono",monospace;font-size:.82rem;letter-spacing:.04em;color:var(--ink-soft);line-height:2}
.start .contact a{color:var(--vital);border-bottom:1px solid transparent;transition:border-color .3s}
.start .contact a:hover{border-color:var(--vital)}

/* FOOTER */
footer{background:var(--petrol);color:var(--cream-soft);padding:clamp(3.5rem,7vh,5rem) 0 2.2rem}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:2rem;padding-bottom:2.8rem;border-bottom:1px solid var(--line-dk)}
.foot-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
.foot-brand .lmark{width:46px;height:46px;background:var(--cream) var(--logo) center/76% no-repeat;border-radius:50%;flex:0 0 auto}
.foot-brand .ft{font-family:"Fraunces",serif;font-weight:600;font-size:1.16rem;color:var(--cream);line-height:1.1}
.foot-brand small{display:block;font-family:"Spline Sans Mono",monospace;font-size:.56rem;letter-spacing:.22em;color:var(--cream-soft)}
.foot-col p{font-size:.9rem;line-height:1.55;max-width:32ch}
.foot-col h5{font-family:"Spline Sans Mono",monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--vital-soft);margin-bottom:1rem}
.foot-col a{display:block;font-size:.92rem;color:var(--cream-soft);padding:.28rem 0;transition:color .25s}
.foot-col a:hover{color:var(--cream)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;font-family:"Spline Sans Mono",monospace;font-size:.72rem;letter-spacing:.05em;color:var(--cream-soft)}

/* DEPTH RAIL */
.rail{position:fixed;right:clamp(.6rem,2vw,1.6rem);top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:.7rem;align-items:center}
.rail a{width:8px;height:8px;border-radius:50%;border:1px solid var(--ink-soft);opacity:.5;transition:all .3s var(--ease)}
.rail a.on{background:var(--vital);border-color:var(--vital);opacity:1;transform:scale(1.25)}
.rail.light a{border-color:var(--cream-soft)}
.rail.light a.on{background:var(--vital-soft);border-color:var(--vital-soft)}

/* ===== ADDED: About / Values / Programs ===== */
.about{background:var(--paper)}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.8rem}
.value{background:var(--paper-card);border:1px solid var(--line);border-radius:3px;padding:1.4rem;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s}
.value:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(23,62,77,.5)}
.value .vk{font-family:"Spline Sans Mono",monospace;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--teal);margin-bottom:.7rem}
.value h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.12rem;color:var(--petrol);letter-spacing:-.01em;line-height:1.18;margin-bottom:.5rem}
.value p{font-size:.9rem;color:var(--ink-soft);line-height:1.5}
.programs{background:var(--paper)}
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.8rem}
.prog{background:var(--paper-card);border:1px solid var(--line);border-radius:3px;padding:1.7rem;display:flex;flex-direction:column;gap:.7rem;transition:transform .4s var(--ease),box-shadow .4s}
.prog:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(23,62,77,.5)}
.prog .pidx{font-family:"Spline Sans Mono",monospace;font-size:.7rem;letter-spacing:.1em;color:var(--vital)}
.prog h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.18rem;color:var(--petrol);letter-spacing:-.01em;line-height:1.2}
.prog p{font-size:.92rem;color:var(--ink-soft);line-height:1.55}
.prog .pset{margin-top:auto;padding-top:.95rem;border-top:1px solid var(--line);font-family:"Spline Sans Mono",monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
@media(max-width:980px){.values{grid-template-columns:1fr 1fr}.prog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.values,.prog-grid{grid-template-columns:1fr}}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-emblem{max-width:300px;order:-1}
  .method-grid,.careers-grid{grid-template-columns:1fr;gap:2.5rem}
  .team-grid,.story-grid{grid-template-columns:1fr 1fr}
  .foot-top{grid-template-columns:1fr 1fr}
  .rail{display:none}
}
@media(max-width:680px){
  .navlinks .lnk,.navlinks .btn.ghost{display:none}
  .team-grid,.story-grid,.foot-top{grid-template-columns:1fr}
  .svc-inner{grid-template-columns:1fr;gap:1.1rem}
  .hero-meta{gap:1.4rem}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .hero-emblem .em{opacity:1;transform:none}
}
/* ===== ADDED: Team portraits + bio modal + measure ===== */
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:3rem}
.tcard{display:flex;flex-direction:column;background:var(--petrol-2);border:1px solid var(--line-dk);border-radius:9px;overflow:hidden;cursor:pointer;padding:0;transition:transform .42s var(--ease),box-shadow .42s,border-color .42s}
.tcard::after{display:none}
.tcard:hover,.tcard:focus-visible{transform:translateY(-6px);border-color:rgba(70,176,147,.6);box-shadow:0 26px 52px -26px rgba(0,0,0,.62);outline:none}
.tcard .photo{position:relative;aspect-ratio:1/1;background-color:var(--petrol);background-size:cover;background-position:center top}
.tcard .badge{position:absolute;top:.6rem;left:.6rem;font-family:"Spline Sans Mono",monospace;font-size:.55rem;letter-spacing:.13em;text-transform:uppercase;color:var(--petrol);background:var(--vital-soft);padding:.22rem .5rem;border-radius:2px}
.tcard .info{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;border-top:2px solid var(--vital)}
.tcard .info .role{font-family:"Spline Sans Mono",monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vital-soft);margin-bottom:.42rem}
.tcard .info .nm{font-family:"Fraunces",serif;font-weight:600;font-size:1.34rem;color:#fff;letter-spacing:-.01em;line-height:1.12}
.tcard .info .more{display:flex;align-items:center;gap:.45rem;margin-top:.9rem;font-family:"Spline Sans Mono",monospace;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--vital-soft);font-weight:500}
.tcard .info .more .arw{transition:transform .28s var(--ease)}
.tcard:hover .info .more .arw{transform:translateX(4px)}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.team-grid{grid-template-columns:repeat(2,1fr)}}
.bio-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:1.2rem}
.bio-modal[hidden]{display:none}
.bio-backdrop{position:absolute;inset:0;background:rgba(9,26,32,.7);backdrop-filter:blur(5px)}
.bio-panel{position:relative;background:var(--paper);color:var(--ink);width:100%;max-width:900px;max-height:88vh;display:grid;grid-template-columns:340px 1fr;border-radius:10px;overflow:hidden;box-shadow:0 50px 110px -30px rgba(0,0,0,.7);animation:bmIn .4s var(--ease)}
@keyframes bmIn{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
.bio-figure{position:relative;background-color:var(--paper-card);background-size:cover;background-position:center top;min-height:440px}
.bio-content{position:relative;padding:clamp(1.7rem,3vw,2.8rem);overflow:auto;max-height:88vh}
.bio-close{position:absolute;top:.7rem;right:.8rem;width:40px;height:40px;border:none;background:var(--paper-card);font-size:1.6rem;line-height:1;color:var(--ink-soft);cursor:pointer;border-radius:50%;transition:background .25s,color .25s,transform .25s}
.bio-close:hover{background:var(--petrol);color:var(--cream);transform:rotate(90deg)}
.bio-role{font-family:"Spline Sans Mono",monospace;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--vital);margin-bottom:.5rem}
.bio-content h3{font-family:"Fraunces",serif;font-weight:500;font-size:clamp(1.7rem,3vw,2.1rem);color:var(--petrol);letter-spacing:-.015em;line-height:1.02}
.bio-cred{font-family:"Spline Sans Mono",monospace;font-size:.7rem;letter-spacing:.04em;color:var(--teal);margin-top:.55rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.bio-body{margin-top:1.2rem}
.bio-body p{font-size:.99rem;color:var(--ink-soft);line-height:1.65;margin-bottom:.95rem}
.bio-body p:last-child{margin-bottom:0}
@media(max-width:680px){.bio-panel{grid-template-columns:1fr;max-height:90vh}.bio-figure{min-height:320px;max-height:48vh;background-position:center 25%}}
.measure{background:var(--paper)}
.measure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.8rem}
.mcard{position:relative;background:var(--paper-card);border:1px solid var(--line);border-radius:6px;padding:1.9rem 1.8rem;transition:transform .4s var(--ease),box-shadow .4s}
.mcard:hover{transform:translateY(-5px);box-shadow:0 22px 46px -26px rgba(23,62,77,.55)}
.mcard .mnum{font-family:"Spline Sans Mono",monospace;font-size:.74rem;letter-spacing:.1em;color:var(--vital)}
.mcard h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.24rem;color:var(--petrol);letter-spacing:-.01em;margin:.55rem 0 .65rem;line-height:1.18}
.mcard p{font-size:.95rem;color:var(--ink-soft);line-height:1.58}
@media(max-width:820px){.measure-grid{grid-template-columns:1fr}}
/* ===== ADDED: Getting started + FAQ ===== */
.begin{background:var(--petrol);color:var(--cream)}
.begin-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem}
.bstep{position:relative;padding:1.7rem 1.45rem;background:var(--petrol-2);border:1px solid var(--line-dk);border-radius:8px;transition:transform .4s var(--ease),border-color .4s}
.bstep:hover{transform:translateY(-5px);border-color:rgba(70,176,147,.5)}
.bstep .bs-n{font-family:"Spline Sans Mono",monospace;font-size:.82rem;letter-spacing:.1em;color:var(--vital-soft);margin-bottom:.95rem}
.bstep h4{font-family:"Fraunces",serif;font-weight:500;font-size:1.2rem;color:var(--cream);margin-bottom:.5rem;letter-spacing:-.01em}
.bstep p{font-size:.92rem;color:var(--cream-soft);line-height:1.55}
@media(max-width:900px){.begin-steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.begin-steps{grid-template-columns:1fr}}
.faq{background:var(--paper)}
.faq-list{margin-top:2.4rem;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.5rem .2rem;background:none;border:none;cursor:pointer;text-align:left;font-family:"Fraunces",serif;font-weight:500;font-size:clamp(1.1rem,1.9vw,1.35rem);color:var(--petrol);letter-spacing:-.01em;transition:color .25s}
.faq-q:hover{color:var(--teal)}
.faq-plus{position:relative;width:18px;height:18px;flex:0 0 auto}
.faq-plus::before,.faq-plus::after{content:"";position:absolute;background:var(--vital);transition:transform .35s var(--ease)}
.faq-plus::before{top:50%;left:0;width:100%;height:1.7px;transform:translateY(-50%)}
.faq-plus::after{left:50%;top:0;height:100%;width:1.7px;transform:translateX(-50%)}
.faq-item.open .faq-plus::after{transform:translateX(-50%) scaleY(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.faq-a p{font-size:1rem;color:var(--ink-soft);line-height:1.62;padding:0 .2rem 1.55rem;max-width:74ch}
/* ===== ADDED: card credentials + stats + interaction polish ===== */
.tcard .info .cred{font-family:"Spline Sans Mono",monospace;font-size:.6rem;letter-spacing:.03em;color:var(--cream-soft);margin-top:.4rem;line-height:1.45}
.stats{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats .wrap{padding-top:2.7rem;padding-bottom:2.7rem}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:840px;margin-left:auto;margin-right:auto}
.stat{text-align:center}
.stat-n{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(2.3rem,4.4vw,3.2rem);color:var(--teal);letter-spacing:-.02em;line-height:1}
.stat-l{font-family:"Spline Sans Mono",monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:.65rem;line-height:1.4}
@media(max-width:680px){.stats-grid{grid-template-columns:1fr;gap:2.2rem}}
.hero-emblem{transition:transform .35s ease-out;will-change:transform}
.btn.solid{position:relative;overflow:hidden}
.btn.solid::after{content:"";position:absolute;top:0;left:-130%;width:65%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .65s var(--ease);pointer-events:none}
.btn.solid:hover::after{left:140%}
/* ===== ADDED: cinematic dark hero + adaptive nav + section depth ===== */
.hero{background:linear-gradient(157deg,#0e2c37 0%,#15404e 46%,#0f3340 100%);color:var(--cream);isolation:isolate}
.hero::before{content:"";position:absolute;inset:-25%;z-index:-2;background:radial-gradient(38% 38% at 22% 26%,rgba(70,176,147,.30),transparent 62%),radial-gradient(44% 44% at 82% 70%,rgba(44,110,110,.36),transparent 62%),radial-gradient(34% 34% at 62% 10%,rgba(147,171,124,.18),transparent 60%);filter:blur(6px);animation:heroGlow 22s ease-in-out infinite alternate}
@keyframes heroGlow{0%{transform:translate(0,0) scale(1)}100%{transform:translate(3%,-2.5%) scale(1.09)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(125% 85% at 50% -5%,transparent 42%,rgba(7,22,28,.6) 100%)}
.hero-orbs{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-orbs span{position:absolute;display:block;border-radius:50%;background:radial-gradient(circle at 32% 30%,rgba(190,198,180,.55),rgba(190,198,180,0) 70%);animation-name:orbDrift;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
@keyframes orbDrift{0%{transform:translateY(40px);opacity:0}16%{opacity:.5}84%{opacity:.5}100%{transform:translateY(-170px);opacity:0}}
.hero h1{color:var(--cream)}
.hero h1 em{color:var(--vital-soft);font-style:italic}
.hero .eyebrow{color:var(--vital-soft)}
.hero .eyebrow::before{background:var(--vital-soft)}
.hero .lead{color:var(--cream-soft)}
.hero-meta{border-top-color:var(--line-dk)}
.hero-meta .n{color:var(--vital-soft)}
.hero-meta .l{color:var(--cream-soft)}
.hero .btn.ghost{color:var(--cream);border-color:rgba(237,230,215,.45)}
.hero .btn.ghost:hover{background:var(--cream);color:var(--petrol);border-color:var(--cream)}
.hero-emblem figcaption{color:var(--cream-soft)}
.hero-emblem .halo{inset:0%;background:radial-gradient(circle at 50% 46%,rgba(70,176,147,.5),rgba(70,176,147,0) 60%);filter:blur(8px);animation:haloPulse 6.5s ease-in-out infinite}
@keyframes haloPulse{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}
.hero-emblem .em{animation:emIn 1.1s var(--ease) .15s forwards,emFloat 7.5s ease-in-out 1.4s infinite}
@keyframes emFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hero .scrollcue{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);font-family:"Spline Sans Mono",monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-soft);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.8;animation:cueBob 2.4s ease-in-out infinite}
.hero .scrollcue::after{content:"";width:1px;height:30px;background:linear-gradient(var(--vital-soft),transparent)}
@keyframes cueBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}
/* adaptive nav: transparent + light over the hero, solid on scroll */
header.nav:not(.scrolled){background:transparent;border-bottom-color:transparent}
header.nav:not(.scrolled) .brand{color:var(--cream)}
header.nav:not(.scrolled) .brand .bt small{color:var(--cream-soft)}
header.nav:not(.scrolled) .navlinks a.lnk{color:var(--cream-soft)}
header.nav:not(.scrolled) .navlinks a.lnk:hover{color:#fff}
header.nav:not(.scrolled) .navlinks a.lnk::after{background:var(--vital-soft)}
header.nav:not(.scrolled) .btn.solid{background:var(--cream);color:var(--petrol);border-color:var(--cream)}
header.nav:not(.scrolled) .btn.solid:hover{background:#fff;border-color:#fff}
/* depth on the dark sections */
.method{background:linear-gradient(165deg,#2f7474,#235a5a)}
.team{background:linear-gradient(168deg,#173E4D,#143039)}
.careers{background:linear-gradient(165deg,#2f7474,#276460)}
.begin{background:linear-gradient(168deg,#173E4D,#15303b)}
.trust{background:linear-gradient(#143b48,#173E4D)}
/* ===== ADDED: real logo medallion ===== */
.brand .lmark{width:40px;height:40px;background:var(--cream) var(--logo) center/77% no-repeat;border-radius:50%;box-shadow:0 2px 9px -3px rgba(0,0,0,.22),inset 0 0 0 1px rgba(0,0,0,.04)}
.foot-brand .lmark{background:var(--cream) var(--logo) center/77% no-repeat}
.hero-emblem{transition:transform .2s ease-out;transform-style:preserve-3d}
.hero-emblem .em{border-radius:50%;background:var(--logo) center/67% no-repeat,radial-gradient(circle at 50% 36%,#fcf9f3,#ece2d0);box-shadow:0 32px 66px -18px rgba(0,0,0,.55),inset 0 2px 0 rgba(255,255,255,.65),inset 0 0 0 1px rgba(23,62,77,.07);transition:box-shadow .45s var(--ease)}
.hero-emblem:hover .em{box-shadow:0 40px 78px -16px rgba(0,0,0,.6),inset 0 2px 0 rgba(255,255,255,.7),0 0 56px -6px rgba(70,176,147,.4)}
.hero-emblem .halo{background:radial-gradient(circle at 50% 47%,rgba(70,176,147,.55),rgba(70,176,147,0) 62%)}
/* ===== ADDED: logo go-nuts + interactive approach + back-to-top ===== */
.hero-emblem{transition:transform .12s ease-out}
.hero-emblem.spin{animation:heroSpin .9s cubic-bezier(.34,.82,.3,1)}
@keyframes heroSpin{0%{transform:perspective(600px) rotateY(0)}100%{transform:perspective(600px) rotateY(360deg)}}
.method.sec-pad{padding-top:clamp(3rem,5vh,4.5rem);padding-bottom:clamp(1.75rem,3.5vh,2.75rem)}
.method.js-on .step{cursor:pointer}
.method.js-on .step.dim{opacity:1}
.method.js-on .step .num,.method.js-on .step h3{transition:opacity .3s,color .3s}
.method.js-on .step.dim .num,.method.js-on .step.dim h3{opacity:.48}
.method.js-on .step:hover .num,.method.js-on .step:hover h3{opacity:1}
.method.js-on .step p{max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--ease),opacity .35s}
.method.js-on .step.active p{max-height:300px;opacity:1}
.to-top{position:fixed;right:clamp(1rem,2.4vw,2rem);bottom:1.4rem;z-index:80;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-dk);background:var(--petrol);color:var(--cream);font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease),background .25s;box-shadow:0 12px 28px -10px rgba(0,0,0,.55)}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--teal);transform:translateY(-3px)}
/* ===== ADDED: mobile hamburger menu ===== */
.navtoggle{display:none;position:relative;z-index:130;width:44px;height:44px;border:none;background:transparent;cursor:pointer;padding:0}
.navtoggle span{display:block;width:24px;height:2px;margin:5px auto;background:var(--petrol);transition:transform .3s var(--ease),opacity .25s,background .3s}
header.nav:not(.scrolled) .navtoggle span{background:var(--cream)}
.nav.open .navtoggle span{background:var(--cream)}
.nav.open .navtoggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .navtoggle span:nth-child(2){opacity:0}
.nav.open .navtoggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1024px){
  .navtoggle{display:block}
  .navlinks{position:fixed;top:0;right:0;z-index:120;width:min(82vw,310px);height:100vh;background:var(--petrol);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.1rem;padding:5.5rem 1.5rem 2rem;transform:translateX(106%);transition:transform .42s var(--ease);box-shadow:-26px 0 60px -26px rgba(0,0,0,.6);overflow-y:auto}
  .nav.open .navlinks{transform:none}
  .navlinks a.lnk{display:block;color:var(--cream);font-size:1.14rem;letter-spacing:0;padding:.85rem .2rem;border-bottom:1px solid var(--line-dk)}
  .navlinks a.lnk::after{display:none}
  .navlinks .btn.solid{margin-top:1.3rem;justify-content:center;background:var(--cream);color:var(--petrol);border-color:var(--cream)}
}
.nav-backdrop{position:fixed;inset:0;z-index:110;background:rgba(7,22,28,.5);opacity:0;pointer-events:none;transition:opacity .35s}
.nav.open .nav-backdrop{opacity:1;pointer-events:auto}
.navlinks a.lnk{white-space:nowrap}.brand .bt{white-space:nowrap}
/* ===== KID-FRIENDLY THEME (override only; clinical version untouched) ===== */
:root{--vital:#26B873;--vital-soft:#63D6A3;--kf-coral:#FF8A5C;--kf-sunny:#FBC34A;--kf-sky:#57C7DA;--ease-bounce:cubic-bezier(.34,1.5,.64,1)}
.btn{border-radius:50px}
.tcard,.prog,.value,.mcard,.bstep,.story{border-radius:22px}
.bio-panel{border-radius:28px}
.to-top{border-radius:50px}
.eyebrow{color:var(--kf-coral)}.eyebrow::before{background:var(--kf-coral)}
.on-dark .eyebrow{color:var(--kf-sunny)}.on-dark .eyebrow::before{background:var(--kf-sunny)}
.hero h1 em,.careers h2 em,.start h2 em{color:var(--kf-sunny)}
.services .sec-head h2 em,.about .sec-head h2 em{color:var(--kf-coral)}
.rail a.on{background:var(--kf-coral);border-color:var(--kf-coral)}
.rail.light a.on{background:var(--kf-sunny);border-color:var(--kf-sunny)}
.mnum,.pidx,.svc-idx,.bs-n,.story .scap,.stat-n,.tcard .info .role,.bio-role,.prog .pset{color:var(--kf-coral)}
.tcard .info{border-top-color:var(--kf-sunny)}
.trust .ti svg{stroke:var(--kf-sunny)}
.tcard,.prog,.value,.mcard,.bstep,.story{transition:transform .42s var(--ease-bounce),box-shadow .42s,border-color .42s!important}
.tcard:hover,.prog:hover,.value:hover,.mcard:hover,.bstep:hover,.story:hover{transform:translateY(-9px)!important}
.btn.solid:hover{transform:translateY(-3px) scale(1.03)}
.hero::before{background:radial-gradient(36% 36% at 20% 28%,rgba(255,138,92,.32),transparent 62%),radial-gradient(40% 40% at 80% 66%,rgba(87,199,218,.34),transparent 62%),radial-gradient(34% 34% at 60% 14%,rgba(251,195,74,.30),transparent 60%),radial-gradient(38% 38% at 50% 92%,rgba(38,184,115,.26),transparent 60%)!important}
.hero-orbs span:nth-child(3n){background:radial-gradient(circle at 32% 30%,rgba(255,138,92,.65),rgba(255,138,92,0) 70%)}
.hero-orbs span:nth-child(3n+1){background:radial-gradient(circle at 32% 30%,rgba(251,195,74,.65),rgba(251,195,74,0) 70%)}
.hero-orbs span:nth-child(3n+2){background:radial-gradient(circle at 32% 30%,rgba(87,199,218,.65),rgba(87,199,218,0) 70%)}
.method{background:linear-gradient(165deg,#33999a,#2b8281)}
.careers{background:linear-gradient(165deg,#33999a,#2f8a82)}
.faq-q:hover{color:var(--kf-coral)}
/* ===== KID-FRIENDLY: pushed further ===== */
.btn.solid{background:var(--vital);border-color:var(--vital);color:#fff}
.btn.solid:hover{background:var(--kf-coral);border-color:var(--kf-coral);color:#fff}
header.nav:not(.scrolled) .btn.solid{background:#fff;color:var(--petrol);border-color:#fff}
.careers .btn.solid{background:#fff;color:var(--petrol);border-color:#fff}
.careers .btn.solid:hover{background:var(--kf-sunny);border-color:var(--kf-sunny);color:var(--petrol)}
.value,.mcard,.bstep{border-top:4px solid var(--kf-coral)}
.value:nth-child(2),.mcard:nth-child(2),.bstep:nth-child(2){border-top-color:var(--kf-sky)}
.value:nth-child(3),.mcard:nth-child(3),.bstep:nth-child(3){border-top-color:var(--kf-sunny)}
.value:nth-child(4),.bstep:nth-child(4){border-top-color:var(--vital)}
.stats .stat:nth-child(1) .stat-n{color:var(--kf-coral)}
.stats .stat:nth-child(2) .stat-n{color:var(--vital)}
.stats .stat:nth-child(3) .stat-n{color:var(--kf-sky)}
.tcard{border-radius:24px}
.about,.programs,.measure,.services{position:relative;overflow:hidden}
.about::after,.programs::after,.measure::after,.services::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(6px)}
.about::after{width:380px;height:380px;background:radial-gradient(circle,rgba(255,138,92,.16),transparent 70%);top:-110px;right:-80px}
.programs::after{width:430px;height:430px;background:radial-gradient(circle,rgba(87,199,218,.16),transparent 70%);bottom:-130px;left:-90px}
.measure::after{width:360px;height:360px;background:radial-gradient(circle,rgba(251,195,74,.2),transparent 70%);top:-90px;left:-70px}
.services::after{width:400px;height:400px;background:radial-gradient(circle,rgba(38,184,115,.14),transparent 70%);bottom:-120px;right:-80px}
.about .wrap,.programs .wrap,.measure .wrap,.services .wrap{position:relative;z-index:1}
/* ===== KID-FRIENDLY: drop the greens -> sky-blue / coral / sunny / purple ===== */
:root{--vital:#2FB0D4;--vital-soft:#79D0E6;--kf-purple:#9B7EDE}
.btn.solid{background:var(--vital);border-color:var(--vital);color:#fff}
.btn.solid:hover{background:var(--kf-coral);border-color:var(--kf-coral);color:#fff}
.value:nth-child(4),.bstep:nth-child(4){border-top-color:var(--kf-purple)}
.stats .stat:nth-child(2) .stat-n{color:var(--vital)}
.hero::before{background:radial-gradient(36% 36% at 20% 28%,rgba(255,138,92,.32),transparent 62%),radial-gradient(40% 40% at 80% 66%,rgba(47,176,212,.34),transparent 62%),radial-gradient(34% 34% at 60% 14%,rgba(251,195,74,.30),transparent 60%),radial-gradient(38% 38% at 50% 92%,rgba(155,126,222,.26),transparent 60%)!important}
.hero-emblem .halo{background:radial-gradient(circle at 50% 46%,rgba(47,176,212,.5),rgba(47,176,212,0) 60%)!important}
.hero-emblem:hover .em{box-shadow:0 40px 78px -16px rgba(0,0,0,.6),inset 0 2px 0 rgba(255,255,255,.7),0 0 56px -6px rgba(47,176,212,.45)!important}
.services::after{background:radial-gradient(circle,rgba(155,126,222,.15),transparent 70%)!important}
.method{background:linear-gradient(165deg,#26699a,#1f5780)!important}
.careers{background:linear-gradient(165deg,#276b9c,#1d5479)!important}
.svc:hover .svc-name{color:var(--vital)}
.on-light .svc-col h4{color:var(--kf-coral)}
/* ===== full recolor (no green but the logo) + addicting feel ===== */
:root{--teal:#2E86A8;--sage:#B98FD1;--cream-soft:#E6E0D4}
.btn{transition:transform .25s cubic-bezier(.34,1.6,.5,1),background .28s,border-color .28s!important}
.btn:active{transform:scale(.93)!important}
.tcard,.prog,.value,.mcard,.bstep,.story{transform-style:preserve-3d}
.confetti-piece{position:fixed;top:0;left:0;pointer-events:none;z-index:500;border-radius:2px;will-change:transform,opacity}
/* ===== navy-fy the dark sections (remove the teal/green cast) ===== */
:root{--petrol:#16315A;--petrol-2:#26508C}
.hero{background:linear-gradient(157deg,#23618c 0%,#2b71a0 46%,#1c4f76 100%)!important}
.trust{background:linear-gradient(#153358,#16315A)!important}
.team{background:linear-gradient(168deg,#27699a,#1d527c)!important}
.begin{background:linear-gradient(168deg,#256790,#1b4d73)!important}
footer{background:#16315A!important}
/* ===== ADDED: real photos + value icons ===== */
.photoband{background:var(--paper);padding:0 0 clamp(3rem,7vh,5rem)}
.pb-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.pb-photo{aspect-ratio:4/3;background-size:cover;background-position:center;border-radius:26px;box-shadow:0 26px 54px -28px rgba(22,49,90,.55);border:5px solid #fff}
.pb-cap{text-align:center;margin-top:1.5rem;font-family:"Spline Sans Mono",monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.value .vicon{width:56px;height:56px;background-size:contain;background-repeat:no-repeat;background-position:left center;margin-bottom:1rem}
@media(max-width:680px){.pb-grid{grid-template-columns:1fr}}
/* ===== careers: expandable job postings ===== */
.apply-note{font-size:.92rem;color:var(--cream-soft);margin:1rem 0 0;max-width:46ch;line-height:1.55}
.apply-note a,.role-email a{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
.apply-note a:hover,.role-email a:hover{color:var(--kf-sunny)}
.jrole{background:rgba(237,230,215,.06);border:1px solid var(--line-dk);border-radius:12px;overflow:hidden;transition:background .3s var(--ease)}
.jrole:hover,.jrole.open{background:rgba(237,230,215,.12)}
.jrole-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.35rem;background:none;border:none;cursor:pointer;text-align:left;color:inherit;font:inherit;transition:padding-left .3s var(--ease)}
.jrole:hover .jrole-head,.jrole.open .jrole-head{padding-left:1.7rem}
.jrole-tt{display:block}
.jrole .rt{font-family:"Fraunces",serif;font-weight:500;font-size:1.07rem;color:var(--cream);display:block}
.jrole .rl{font-family:"Spline Sans Mono",monospace;font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-soft);margin-top:.3rem;display:block}
.role-plus{width:20px;height:20px;position:relative;flex:0 0 auto}
.role-plus::before,.role-plus::after{content:"";position:absolute;background:var(--kf-sunny);transition:transform .35s var(--ease)}
.role-plus::before{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%)}
.role-plus::after{left:50%;top:0;height:100%;width:2px;transform:translateX(-50%)}
.jrole.open .role-plus::after{transform:translateX(-50%) scaleY(0)}
.jrole-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.jrole-inner{padding:0 1.35rem 1.4rem}
.role-sum{font-size:.95rem;color:var(--cream-soft);line-height:1.6;margin:.1rem 0 1.2rem;max-width:74ch}
.role-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.3rem}
.role-cols h4{font-family:"Spline Sans Mono",monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--kf-sunny);margin:0 0 .7rem;font-weight:600}
.role-cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.role-cols li{font-size:.92rem;color:var(--cream-soft);line-height:1.5;padding-left:1.05rem;position:relative}
.role-cols li::before{content:"";position:absolute;left:0;top:.52em;width:5px;height:5px;border-radius:50%;background:var(--kf-coral)}
.role-perks{font-size:.86rem;color:var(--cream-soft);line-height:1.5;margin:0 0 1.3rem;padding:.85rem 1rem;background:rgba(237,230,215,.05);border-radius:9px}
.role-perks span{font-family:"Spline Sans Mono",monospace;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--kf-sunny);margin-right:.6rem}
.role-apply{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem 1.1rem;padding-top:1.2rem;border-top:1px solid var(--line-dk)}
.role-apply .btn.solid{font-size:.68rem;padding:.72rem 1.2rem}
.role-email{font-family:"Spline Sans Mono",monospace;font-size:.64rem;letter-spacing:.05em;color:var(--cream-soft)}
@media(max-width:640px){.role-cols{grid-template-columns:1fr;gap:1.1rem}}
/* ===== section continuation cue (fixes the false-bottom on Approach) ===== */
.section-next{display:flex;width:fit-content;align-items:center;gap:.7rem;margin:.5rem auto 0;padding:.6rem 1.3rem;background:rgba(237,230,215,.06);border:1px solid var(--line-dk);border-radius:999px;cursor:pointer;font:inherit;transition:background .25s,transform .3s var(--ease)}
.section-next:hover{background:rgba(237,230,215,.12);transform:translateY(3px)}
.section-next-k{font-family:"Spline Sans Mono",monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-soft)}
.section-next-t{font-family:"Fraunces",serif;font-size:1rem;font-weight:500;color:var(--cream);transition:color .25s}
.section-next:hover .section-next-t{color:var(--kf-sunny)}
.section-next-arrow{width:13px;height:13px;border-right:2px solid var(--kf-sunny);border-bottom:2px solid var(--kf-sunny);transform:rotate(45deg);animation:nextBob 2.2s ease-in-out infinite}
@keyframes nextBob{0%,100%{transform:rotate(45deg) translate(0,0)}50%{transform:rotate(45deg) translate(3px,3px)}}
.on-light .section-next{background:rgba(22,49,90,.045);border-color:var(--line)}
.on-light .section-next:hover{background:rgba(22,49,90,.08)}
.on-light .section-next-k{color:var(--ink-soft)}
.on-light .section-next-t{color:var(--petrol)}
.on-light .section-next:hover .section-next-t{color:var(--kf-coral)}
.on-light .section-next-arrow{border-right-color:var(--kf-coral);border-bottom-color:var(--kf-coral)}
.services.sec-pad{padding-top:clamp(3rem,5vh,4.5rem);padding-bottom:clamp(1.75rem,3.5vh,2.75rem)}
/* ============================================================
   VIBRANT PASS v2: warm + blue/cyan, NO pink/purple (per Namaz)
   ============================================================ */
:root{
  --kf-coral:#FF5C33; --kf-sunny:#F7A400; --kf-sky:#16C0DE;
  --kf-purple:#2F7DD4; --sage:#2F7DD4;       /* legacy names, now blue (no purple) */
  --kf-pink:#EC6A1A; --kf-indigo:#0E92B8;    /* legacy names, now orange / teal-blue (no pink) */
  --vital:#15B4DA; --vital-soft:#74DCEF;
}
/* --- color-code the dark sections: warm + blue/cyan, no pink/purple (each >=4.2:1 w/ --cream-soft) --- */
.hero{background:linear-gradient(157deg,#2358a8 0%,#2a66c4 46%,#1b4488 100%)!important}   /* blue         */
.method{background:linear-gradient(165deg,#B5371B,#8A2810)!important}                       /* coral/orange */
.team{background:linear-gradient(168deg,#0F6E92,#0A5470)!important}                         /* teal-blue    */
.careers{background:linear-gradient(165deg,#2A4CA8,#1C3580)!important}                      /* amber/bronze */
.begin{background:linear-gradient(168deg,#2C5E96,#1E4570)!important}                        /* steel blue   */
.careers h2 em{color:var(--vital-soft)!important}   /* gold->light-cyan so it reads on the amber panel */
/* hero glow blobs -> warm + blue (no purple) */
.hero::before{background:radial-gradient(36% 36% at 20% 28%,rgba(255,92,51,.36),transparent 62%),radial-gradient(40% 40% at 80% 66%,rgba(22,192,222,.40),transparent 62%),radial-gradient(34% 34% at 60% 14%,rgba(247,164,0,.34),transparent 60%),radial-gradient(38% 38% at 50% 92%,rgba(47,125,212,.30),transparent 60%)!important}
/* --- rainbow the skill numbers (warm + blue/cyan, text-safe on light) --- */
#svcList .svc:nth-child(6n+1) .svc-idx{color:var(--kf-coral)}
#svcList .svc:nth-child(6n+2) .svc-idx{color:var(--vital)}
#svcList .svc:nth-child(6n+3) .svc-idx{color:#2F7DD4}
#svcList .svc:nth-child(6n+4) .svc-idx{color:#EC6A1A}
#svcList .svc:nth-child(6n+5) .svc-idx{color:#0E92B8}
#svcList .svc:nth-child(6n+6) .svc-idx{color:#D98400}
/* --- rainbow the program cards: top stripe + number (warm + blue/cyan) --- */
.prog{border-top:4px solid var(--kf-coral)!important}
.prog:nth-child(6n+1) .pidx{color:var(--kf-coral)}
.prog:nth-child(6n+2){border-top-color:var(--vital)!important} .prog:nth-child(6n+2) .pidx{color:var(--vital)}
.prog:nth-child(6n+3){border-top-color:#2F7DD4!important} .prog:nth-child(6n+3) .pidx{color:#2F7DD4}
.prog:nth-child(6n+4){border-top-color:#EC6A1A!important} .prog:nth-child(6n+4) .pidx{color:#EC6A1A}
.prog:nth-child(6n+5){border-top-color:#0E92B8!important} .prog:nth-child(6n+5) .pidx{color:#0E92B8}
.prog:nth-child(6n+6){border-top-color:#D98400!important} .prog:nth-child(6n+6) .pidx{color:#D98400}
/* --- splashier background blobs: warm + cyan, no purple --- */
.about::after{background:radial-gradient(circle,rgba(255,92,51,.20),transparent 70%)!important}
.programs::after{background:radial-gradient(circle,rgba(22,192,222,.26),transparent 70%)!important}
.measure::after{background:radial-gradient(circle,rgba(247,164,0,.26),transparent 70%)!important}
.services::after{background:radial-gradient(circle,rgba(255,92,51,.18),transparent 70%)!important}
/* --- logo watermark: faint emblem behind a few sections, peeks as you scroll --- */
.about,.measure,.programs{position:relative}
.about::before,.measure::before,.programs::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  width:min(46vw,520px);aspect-ratio:1;background:var(--logo) center/contain no-repeat;opacity:.07}
.about::before{right:-4%;top:7%}
.measure::before{left:-6%;bottom:-7%}
.programs::before{right:-5%;top:-3%;opacity:.06}

/* ===== real photos: marquee + section photos + magic ===== */
.photoband{background:var(--paper);padding:clamp(2rem,5vh,3.5rem) 0 clamp(3rem,7vh,5rem);overflow:hidden}
.ph-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ph-track{display:flex;gap:1.25rem;width:max-content;animation:phscroll 70s linear infinite}
.ph-marquee:hover .ph-track{animation-play-state:paused}
.ph-item{flex:0 0 auto;width:clamp(270px,31vw,410px);aspect-ratio:3/2;border-radius:22px;overflow:hidden;box-shadow:0 24px 50px -26px rgba(22,49,90,.5);border:5px solid #fff;background:#e9e3d6}
.ph-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.ph-item:hover img{transform:scale(1.07)}
@keyframes phscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.sec-photo{margin:clamp(2rem,4.5vh,3.2rem) auto 0;max-width:760px;border-radius:24px;overflow:hidden;box-shadow:0 30px 62px -30px rgba(22,49,90,.5);border:6px solid #fff;line-height:0;transform:translateZ(0)}
.sec-photo img{width:100%;height:auto;display:block;transition:transform .8s var(--ease)}
.sec-photo:hover img{transform:scale(1.045)}
.on-dark .sec-photo{border-color:rgba(255,255,255,.9);box-shadow:0 30px 62px -28px rgba(0,0,0,.5)}
@media(prefers-reduced-motion:reduce){.ph-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}.ph-marquee{mask-image:none;-webkit-mask-image:none}}

/* ===== REDESIGN: photo hero, about split, program photos, refined vibrancy ===== */
.hero-photo{position:relative;margin:0;align-self:center}
.hero-photo img{width:100%;height:auto;display:block;border-radius:26px;border:6px solid #fff;box-shadow:0 44px 90px -38px rgba(0,0,0,.62);object-fit:cover}
.hero-photo::before{content:"";position:absolute;inset:-9% -7% -7% -9%;z-index:-1;border-radius:42px;filter:blur(34px);opacity:.85;background:radial-gradient(58% 58% at 26% 18%,rgba(255,92,51,.55),transparent 70%),radial-gradient(58% 58% at 82% 88%,rgba(22,192,222,.55),transparent 70%),radial-gradient(50% 50% at 60% 50%,rgba(247,164,0,.4),transparent 70%)}
.hero-badge{position:absolute;left:-16px;bottom:22px;background:var(--kf-coral);color:#fff;border-radius:16px;padding:.65rem 1rem;box-shadow:0 18px 36px -14px rgba(0,0,0,.55);display:flex;flex-direction:column;line-height:1.04}
.hero-badge b{font-size:1.5rem;font-weight:600}
.hero-badge span{font-family:"Spline Sans Mono",monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;opacity:.96}
.about-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,3.4rem);align-items:center;margin-bottom:clamp(2.4rem,5vh,3.6rem)}
.about-photo{border-radius:24px;overflow:hidden;border:6px solid #fff;box-shadow:0 30px 60px -30px rgba(22,49,90,.45);line-height:0;margin:0}
.about-photo img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3;transition:transform .8s var(--ease)}
.about-photo:hover img{transform:scale(1.05)}
.prog-photo{border-radius:14px;overflow:hidden;line-height:0;aspect-ratio:16/9;margin-bottom:1.05rem;background:#e9e3d6}
.prog-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.prog:hover .prog-photo img{transform:scale(1.07)}
@media(max-width:760px){.about-split{grid-template-columns:1fr;gap:1.6rem}}

/* ===== polish: subtle scroll arrow, CTA band ===== */
.scrollcue{display:block!important;font-size:0;width:15px;height:15px;left:50%;margin-left:-7px;bottom:1.05rem;border-right:2px solid var(--cream);border-bottom:2px solid var(--cream);opacity:.4;background:none;animation:scrollbob 2.4s ease-in-out infinite}
.scrollcue::after{display:none!important}
@keyframes scrollbob{0%,100%{transform:rotate(45deg) translate(0,0)}50%{transform:rotate(45deg) translate(3px,3px)}}
.ctaband{background:linear-gradient(125deg,var(--kf-coral),#FF9A3C);color:#fff;text-align:center;padding:clamp(3rem,7vh,5rem) 0}
.ctaband h2{font-size:var(--h2);color:#fff;margin:0 0 .7rem}
.ctaband h2 em{color:#fff;font-style:italic}
.ctaband p{max-width:46ch;margin:0 auto 1.7rem;font-size:var(--lead);color:rgba(255,255,255,.94)}
.ctaband .btn.solid{background:#fff;color:#C23A12;border-color:#fff}
.ctaband .btn.solid:hover{background:var(--petrol);color:#fff;border-color:var(--petrol)}

.hero .scrollcue{display:block!important;font-size:0!important;letter-spacing:0!important;width:14px!important;height:14px!important;left:50%!important;margin-left:-7px!important;bottom:1rem!important;border:none!important;border-right:2px solid var(--cream)!important;border-bottom:2px solid var(--cream)!important;opacity:.38!important;background:none!important;animation:scrollbob 2.4s ease-in-out infinite!important}
.hero .scrollcue::after{display:none!important}

/* remove the slapped-on per-section watermark + flare; clean footer emblem on every page */
.about::before,.measure::before,.programs::before{content:none!important;background:none!important}
footer{position:relative;overflow:hidden}
footer>*{position:relative;z-index:1}
footer::before{content:"";position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(33vw,390px);aspect-ratio:1;background:var(--logo) center/contain no-repeat;opacity:.09;pointer-events:none;z-index:0}

/* body logo watermark: faint emblem SILHOUETTE (mask), visible while scrolling, every page, no color flare */
section .wrap{position:relative;z-index:1}
.about,.method,.measure,.services,.programs,.team,.begin,.faq,.careers,.start{position:relative}
.about::before,.method::before,.measure::before,.services::before,.programs::before,.team::before,.begin::before,.faq::before,.careers::before,.start::before{
  content:""!important;position:absolute;z-index:0;pointer-events:none;
  width:min(44vw,540px);aspect-ratio:1;right:-10%;top:50%;transform:translateY(-50%);
  -webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat;
  background:var(--petrol);opacity:.05;background-image:none}
.method::before,.team::before,.begin::before,.careers::before{background:var(--cream)!important;opacity:.07!important}
.programs::before,.measure::before,.services::before,.about::before{background:var(--petrol)!important;opacity:.045!important}

/* ================= AUDIT FIXES: WCAG 2.2 AA contrast + quick wins ================= */
/* B2 primary CTA white-on-cyan 2.45:1 -> teal #0E7C99 (white ~5:1), exclusive to the action */
.btn.solid{background:#0E7C99!important;border-color:#0E7C99!important;color:#fff!important}
.btn.solid:hover{background:#0B6680!important;border-color:#0B6680!important;color:#fff!important}
.careers .btn.solid,.ctaband .btn.solid{background:#fff!important;color:#0E7C99!important;border-color:#fff!important}
.careers .btn.solid:hover,.ctaband .btn.solid:hover{background:#16315A!important;color:#fff!important;border-color:#16315A!important}
/* B3 CTA band white-on-coral 2.0:1 -> deeper coral so white passes (~5:1), keeps the warm tone */
.ctaband{background:linear-gradient(125deg,#B83C0C,#C84A14)!important}
.ctaband p{color:#fff!important}
/* H6 Approach alarm-red -> warm terracotta (softer, still warm, body text passes) */
.method{background:linear-gradient(165deg,#A8461C,#7A3012)!important}
/* M7 darken lightest gradient stops so light body copy clears 4.5:1 */
.hero{background:linear-gradient(157deg,#1f4f96 0%,#24539e 46%,#173a72 100%)!important}
.team{background:linear-gradient(168deg,#0C5E7E,#093f56)!important}
/* H5 accent TEXT contrast: eyebrows/numbers were 2.1-2.7:1 on cream. Keep rainbow STRIPES, fix TEXT. */
.eyebrow{color:#C2410C!important}
.hero .eyebrow,.method .eyebrow,.team .eyebrow,.careers .eyebrow,.begin .eyebrow,.on-dark .eyebrow{color:#FFC247!important}
#svcList .svc .svc-idx,.prog .pidx,.story .scap{color:#0E6E86!important}
.stats .stat-n{color:#16315A!important}
.start .contact a{color:#0E6E86!important}
.tcard .info .role{color:#74DCEF!important}
/* quick wins: no transition:all, tabular figures, reduced-motion on pseudo-els, team-card focus ring */
.btn{transition:transform .28s var(--ease),background-color .28s,border-color .28s,color .28s!important}
.stat-n{font-variant-numeric:tabular-nums}
.tcard:focus-visible{outline:2px solid #0E7C99!important;outline-offset:3px!important}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* contact consultation form */
.start .wrap.start-grid{display:grid!important;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:start;text-align:left;max-width:1080px}
.start-intro .contact{margin-top:1.5rem}
.consult-form{background:var(--paper-card);border:1px solid var(--line);border-radius:22px;padding:clamp(1.5rem,3vw,2.1rem);box-shadow:0 24px 52px -34px rgba(22,49,90,.4)}
.cf-title{font-size:1.3rem;color:var(--petrol);margin:0 0 1.1rem}
.cf-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.cf-field label,.cf-lang legend{font-family:"Spline Sans Mono",monospace;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);padding:0}
.cf-opt{text-transform:none;letter-spacing:0;opacity:.7}
.consult-form input,.consult-form select,.consult-form textarea{font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:.7rem .85rem;width:100%}
.consult-form input:focus,.consult-form select:focus,.consult-form textarea:focus{outline:2px solid #0E7C99;outline-offset:1px;border-color:#0E7C99}
.cf-hint{font-size:.8rem;color:var(--ink-soft)}
.cf-lang{border:none;padding:0;margin:0 0 1.1rem}
.cf-radio{display:inline-flex;align-items:center;gap:.45rem;font-size:.95rem;color:var(--ink);margin-right:1.2rem;margin-top:.5rem}
.cf-radio input{width:auto;accent-color:#0E7C99}
.cf-submit{width:100%;justify-content:center;margin-top:.3rem}
.cf-trust{font-size:.85rem;color:var(--ink-soft);margin:.9rem 0 0;line-height:1.5}
.cf-status{margin:.85rem 0 0;padding:.8rem 1rem;border-radius:12px;background:#E6F2EE;color:#0A5A4A;font-size:.95rem}
@media(max-width:860px){.start .wrap.start-grid{grid-template-columns:1fr!important;text-align:center}}
/* sr-only for the injected page h1s */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* interactive hero emblem: company name by default, ABA facts on click */
.hero-emblem{cursor:pointer;margin-bottom:3rem}
.hero-emblem:focus-visible{outline:2px solid var(--cream-soft);outline-offset:10px;border-radius:50%}
.hero-emblem figcaption{bottom:-2.4rem!important;left:50%!important;transform:translateX(-50%)!important;width:min(90vw,22rem)!important;white-space:normal!important;text-align:center;text-transform:none!important;letter-spacing:.03em!important;font-size:.72rem!important;line-height:1.45;min-height:2.8em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:opacity .2s ease}
@media(max-width:760px){.hero-emblem{margin-bottom:3.4rem}}

/* about: services link */
.about-cta{margin:clamp(1.8rem,4vw,2.8rem) 0 0;text-align:center}
.about-cta a{display:inline-flex;align-items:center;gap:.5rem;color:#0E6E86;font-family:"Spline Sans Mono",monospace;font-size:.82rem;letter-spacing:.06em;font-weight:600;text-decoration:none;border:1.5px solid rgba(14,110,134,.45);border-radius:999px;padding:.72rem 1.5rem;transition:background-color .25s,color .25s,border-color .25s}
.about-cta a:hover{background:#0E6E86;color:#fff;border-color:#0E6E86}
.about-cta .lk-arw{transition:transform .25s ease}
.about-cta a:hover .lk-arw{transform:translateX(4px)}

/* ===== PALETTE: Teal sections (clean, brand) + Cream base + Coral/amber WARM ACCENTS (deep warm fills read muddy, so warmth lives in accents only) ===== */
.hero{background:linear-gradient(157deg,#0C6B86 0%,#0C5E7E 48%,#093f56 100%)!important}
.team{background:linear-gradient(168deg,#0C5E7E,#093f56)!important}
.method{background:linear-gradient(165deg,#0C5E7E,#093f56)!important}
.begin{background:linear-gradient(160deg,#0C5E7E,#093f56)!important}
.careers{background:linear-gradient(160deg,#0C5E7E,#093f56)!important}
.trust{background:linear-gradient(#0B5063,#093f56)!important}
/* navy retired from body; lives only in footer for depth */
/* CONSISTENT HEADER on every page (removes the home-vs-subpage flip) */
header.nav{background:#093F56!important;border-bottom:1px solid rgba(255,255,255,.10)!important;backdrop-filter:none!important}
header.nav .brand{color:var(--cream)!important}
header.nav .brand .bt small{color:rgba(243,238,228,.70)!important}
header.nav .navlinks a.lnk{color:rgba(243,238,228,.84)!important}
header.nav .navlinks a.lnk:hover,header.nav .navlinks a.lnk.active{color:#fff!important}
header.nav .navlinks a.lnk::after{background:#F7A400!important}
header.nav .navtoggle span{background:var(--cream)!important}
header.nav .btn.solid{background:#F4C84B!important;border-color:#F4C84B!important;color:#16315A!important}
header.nav .btn.solid:hover{background:#FFD968!important;border-color:#FFD968!important;color:#16315A!important}
/* Namaz fixes: kill muddy corner flares; CENTER the body logo (was tucked off the right edge) so it reads proud, not hidden */
.about::after,.programs::after,.measure::after,.services::after{display:none!important}
.about::before,.method::before,.measure::before,.services::before,.programs::before,.team::before,.begin::before,.faq::before,.careers::before,.start::before{display:block!important;left:50%!important;right:auto!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(40vw,460px)!important;opacity:.07!important}

/* ===== BRIGHT & PLAYFUL (step 1): sunny gold trust band + bright gold accents (kid-friendly, AA held; clinical copy untouched) ===== */
.trust{background:#F6D976!important}
.trust .wrap,.trust *{color:#16315A!important}
.hero .eyebrow,.method .eyebrow,.team .eyebrow,.begin .eyebrow,.careers .eyebrow,.on-dark .eyebrow{color:#FFCB5B!important}

/* ===== Sunny-gold CTA bands (was ugly muddy-orange) + FUN accordions ===== */
.ctaband{background:#F4C84B!important}
.ctaband h2,.ctaband h2 em,.ctaband p{color:#16315A!important}
.ctaband .btn.solid{background:#0C5E7E!important;color:#fff!important;border-color:#0C5E7E!important}
.ctaband .btn.solid:hover{background:#093f56!important;color:#fff!important;border-color:#093f56!important}
.faq-plus{width:30px;height:30px;border-radius:50%;background:#0E7C99;transition:transform .42s cubic-bezier(.34,.82,.3,1),background-color .3s}
.svc-plus{width:34px;height:34px;border-radius:50%;background:#0E7C99;transition:transform .42s cubic-bezier(.34,.82,.3,1),background-color .3s}
.faq-plus::before,.faq-plus::after,.svc-plus::before,.svc-plus::after{background:#fff!important;border-radius:2px}
.faq-plus::before{top:50%;left:50%;width:13px;height:2.4px;transform:translate(-50%,-50%)!important}
.faq-plus::after{top:50%;left:50%;width:2.4px;height:13px;transform:translate(-50%,-50%)!important}
.svc-plus::before{top:50%;left:50%;width:15px;height:2.6px;transform:translate(-50%,-50%)!important}
.svc-plus::after{top:50%;left:50%;width:2.6px;height:15px;transform:translate(-50%,-50%)!important}
.faq-item.open .faq-plus,.svc.open .svc-plus{transform:rotate(135deg)}
.faq-item.open .faq-plus::after,.svc.open .svc-plus::after{transform:translate(-50%,-50%)!important}
.faq-q:hover .faq-plus,.svc:hover .svc-plus{transform:scale(1.14)}
.faq-item.open .faq-q:hover .faq-plus,.svc.open:hover .svc-plus{transform:rotate(135deg) scale(1.1)}
.faq-item:nth-child(5n+1) .faq-plus,#svcList .svc:nth-child(5n+1) .svc-plus{background:#E0531E}
.faq-item:nth-child(5n+2) .faq-plus,#svcList .svc:nth-child(5n+2) .svc-plus{background:#0E8FA8}
.faq-item:nth-child(5n+3) .faq-plus,#svcList .svc:nth-child(5n+3) .svc-plus{background:#C77F0A}
.faq-item:nth-child(5n+4) .faq-plus,#svcList .svc:nth-child(5n+4) .svc-plus{background:#2F7DD4}
.faq-item:nth-child(5n+5) .faq-plus,#svcList .svc:nth-child(5n+5) .svc-plus{background:#0E7C99}
.faq-item.open,.svc.open{background:rgba(246,217,118,.20);border-radius:12px}

/* audit fix: restore symmetric section padding on Approach(.method)/Services so they are not bottom-cramped */
.method.sec-pad,.services.sec-pad{padding-top:clamp(5rem,11vh,8.5rem)!important;padding-bottom:clamp(5rem,11vh,8.5rem)!important}

/* audit fix: .svc-row is now a real button */
button.svc-row{border:none;background:transparent;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}

/* audit fixes: define missing --h1 (404 heading) + un-cramp Approach/Services bottom padding */
:root{--h1:clamp(2rem,4.6vw,3.4rem)}
.method.sec-pad,.services.sec-pad{padding-top:clamp(5rem,11vh,8.5rem)!important;padding-bottom:clamp(5rem,11vh,8.5rem)!important}

/* ===== Approach steps: per-step color + smooth (click/keyboard only, no hover-jank) + story-driven chart ===== */
.step{--sc:#16C0DE;transition:opacity .4s,box-shadow .45s var(--ease),padding-left .45s var(--ease)}
.steps .step:nth-child(1){--sc:#E0531E}
.steps .step:nth-child(2){--sc:#E8A012}
.steps .step:nth-child(3){--sc:#16C0DE}
.steps .step:nth-child(4){--sc:#2F7DD4}
.steps .step:nth-child(5){--sc:#0E9DBE}
.step .num{color:var(--sc)!important}
.step .dot{background:var(--sc)!important}
.step.active{box-shadow:inset 3px 0 0 var(--sc);padding-left:1rem}
.step.active .h3wrap h3{color:#fff}
/* the SKILL MASTERY chart reacts to the active step, in that step's color */
.method-vis .gv-dot{transition:fill .5s var(--ease),r .5s var(--ease),opacity .5s var(--ease)}
.method-vis .gv-seg{transition:stroke-dashoffset 1s var(--ease),stroke .55s var(--ease),opacity .55s var(--ease),stroke-width .5s}
.method-vis .gv-phase{transition:stroke-dashoffset .5s var(--ease),stroke .5s var(--ease),opacity .5s,stroke-width .45s}
.method-vis[data-step="0"] .gv-dot:not(.t){fill:#E0531E;r:5.4}
.method-vis[data-step="0"] #segBase{stroke:#E0531E;opacity:1}
.method-vis[data-step="0"] .gv-dot.t,.method-vis[data-step="0"] #segTreat{opacity:.28}
.method-vis[data-step="1"] .gv-phase{stroke:#E8A012;opacity:1;stroke-width:2.6}
.method-vis[data-step="1"] .gv-dot{opacity:.5}
.method-vis[data-step="1"] #segBase,.method-vis[data-step="1"] #segTreat{opacity:.4}
.method-vis[data-step="2"] .gv-dot.t{fill:#16C0DE;r:5.4}
.method-vis[data-step="2"] #segTreat{stroke:#16C0DE;opacity:1;stroke-width:3.2}
.method-vis[data-step="2"] .gv-dot:not(.t),.method-vis[data-step="2"] #segBase{opacity:.28}
.method-vis[data-step="3"] #segTreat{stroke:#2F7DD4;opacity:1;stroke-width:3.6}
.method-vis[data-step="3"] .gv-dot.t{fill:#2F7DD4;r:4.6}
.method-vis[data-step="3"] .gv-dot:not(.t),.method-vis[data-step="3"] #segBase{opacity:.28}
.method-vis[data-step="4"] .gv-dot.t{fill:#0E9DBE;r:5}
.method-vis[data-step="4"] #segTreat{stroke:#0E9DBE;opacity:1}
.method-vis[data-step="4"] .gv-dot:not(.t),.method-vis[data-step="4"] #segBase{opacity:.28}
.method-vis[data-step="4"] .gv-dot.t{animation:gvPulse 1.7s var(--ease) infinite}
@keyframes gvPulse{0%,100%{r:5}50%{r:6.6}}
@media(prefers-reduced-motion:reduce){.method-vis[data-step="4"] .gv-dot.t{animation:none}}

/* --- careers: Now hiring status badge + openings spotlight --- */
.jrole-status{display:inline-flex;align-items:center;gap:.45rem;margin-top:.6rem;font-family:"Spline Sans Mono",monospace;font-size:.6rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#093F56;background:#3CCB7A;padding:.28rem .62rem .28rem .55rem;border-radius:100px;box-shadow:0 3px 12px rgba(34,170,90,.32);animation:badgeBreath 2.6s ease-in-out infinite}
.jrole-status .js-dot{position:relative;width:7px;height:7px;border-radius:50%;background:#093F56;flex:none}
.jrole-status .js-dot::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;border:1.5px solid #093F56;animation:hirePulse 1.8s ease-out infinite}
@keyframes hirePulse{0%{transform:scale(.55);opacity:.95}100%{transform:scale(3.1);opacity:0}}
@keyframes badgeBreath{0%,100%{box-shadow:0 3px 12px rgba(34,170,90,.3)}50%{box-shadow:0 5px 18px rgba(34,170,90,.6),0 0 0 4px rgba(60,203,122,.28)}}
#openings{scroll-margin-top:108px;border-radius:18px}
#openings.flash,#openings:target{animation:openingsGlow 2.6s ease-out 1}
@keyframes openingsGlow{0%{box-shadow:0 0 0 0 rgba(244,200,75,0)}14%{box-shadow:0 0 0 4px rgba(244,200,75,.6),0 0 42px 6px rgba(244,200,75,.38)}60%{box-shadow:0 0 0 3px rgba(244,200,75,.4),0 0 30px 4px rgba(244,200,75,.2)}100%{box-shadow:0 0 0 0 rgba(244,200,75,0)}}
@media (prefers-reduced-motion:reduce){.jrole-status,.jrole-status .js-dot::after{animation:none}#openings.flash,#openings:target{animation:none;box-shadow:0 0 0 3px rgba(244,200,75,.6)}}

.foot-social{display:flex;gap:.55rem;margin-top:1.15rem}
.foot-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(237,230,215,.1);color:var(--cream);transition:background .25s var(--ease),color .25s var(--ease),transform .2s var(--ease)}
.foot-social a:hover{background:var(--kf-sunny);color:#093F56;transform:translateY(-3px)}
.foot-social svg{width:18px;height:18px;fill:currentColor}

.page-xlink{margin-top:2.4rem;text-align:center;font-size:1.02rem}
.page-xlink a{font-weight:600;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px;transition:opacity .2s}
.on-light .page-xlink a{color:#0C5E7E}
.on-dark .page-xlink a{color:#F6D976}
.page-xlink a:hover{opacity:.72}

/* ===== multipage ===== */
body.subpage{padding-top:68px}
.navlinks a.lnk.active::after{width:100%}

/* ===== legal / privacy ===== */
.legal-updated{font-family:'Spline Sans Mono',monospace;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:1.1rem}
.legal-body{max-width:74ch}
.legal-body h3{font-size:1.32rem;margin:2.4rem 0 .65rem}
.legal-body p,.legal-body li{color:var(--ink-soft);line-height:1.72;font-size:1.03rem}
.legal-body p{margin:.55rem 0}
.legal-body ul{padding-left:1.25rem;margin:.6rem 0}
.legal-body li{margin:.4rem 0}
.legal-body a{color:#0C5E7E;font-weight:600;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:1px;transition:opacity .2s}
.legal-body a:hover{opacity:.72}
.legal-body b{color:inherit}
.legal-sum{border:1px solid var(--line);border-radius:16px;padding:1.35rem 1.6rem;margin:1.7rem 0 2.2rem;background:rgba(255,255,255,.55)}
.legal-sum p{margin:0}
.foot-bottom a{color:inherit;text-decoration:underline;text-underline-offset:3px;transition:opacity .2s}
.foot-bottom a:hover{opacity:.75}
.cf-trust a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cf-trust a:hover{opacity:.75}
/* tiny screens: let long emails wrap instead of forcing overflow */
.start-grid>*{min-width:0}
.contact{overflow-wrap:anywhere}
/* mobile bio modal: whole panel scrolls so long bios are fully readable */
@media(max-width:680px){
  .bio-panel{display:block;max-height:90vh;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .bio-figure{min-height:0;height:46vh}
  .bio-content{max-height:none;overflow:visible}
}
/* mobile: keep the close button pinned while the bio scrolls */
@media(max-width:680px){
  .bio-close{position:fixed;top:calc(5vh + .6rem);top:calc(5dvh + .6rem);right:calc(1.2rem + .6rem);z-index:20;background:var(--petrol);color:var(--cream);box-shadow:0 4px 14px rgba(0,0,0,.35)}
}
