/* fonts: self-hosted, no third-party requests */
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/jost-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(../fonts/dm-sans-latin-opsz-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dm-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/dm-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
    --sage:#5A6B48;
    --sage-deep:#3D4A2E;
    --ink:#1A1A1A;
    --paper:#FBFAF6;
    --line:#E5E3D8;
    --tint:#EAEEE2;
    --muted:#5f6355;
    --amber:#B8802B;
    --red:#C0492B;
    --sage-light:#A8BD8B;
    --hero-dark:18,20,16;
    --disp:'Jost',system-ui,sans-serif;
    --body:'DM Sans',system-ui,sans-serif;
    --mono:'DM Mono',ui-monospace,SFMono-Regular,monospace;
    --maxw:1080px;
  }
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
h1,h2,h3{font-family:var(--disp);font-weight:400;line-height:1.08;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
.eyebrow{font-family:var(--disp);font-weight:400;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--sage)}
/* nav */
header.nav{position:sticky;top:14px;z-index:50;margin-top:14px}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:76px;
    background:var(--paper);
    border:1.5px solid var(--ink);border-radius:4px;padding:0 26px;
    }
.brand{display:inline-flex;align-items:center;cursor:pointer;overflow:hidden;height:58px}
.brand img{height:92px;width:auto;display:block}
.menu{display:flex;align-items:center;gap:clamp(14px,1.9vw,28px)}
.menu a{font-size:14px;color:var(--muted);white-space:nowrap}
.menu a.nav-cta{color:var(--ink);border-bottom:1.5px solid var(--sage);padding-bottom:3px}
.menu a.nav-cta:hover{color:var(--sage-deep);border-color:var(--sage-deep)}
.menu a:hover{color:var(--ink)}
.btn{font-family:var(--body);font-size:14px;font-weight:500;cursor:pointer;padding:0 22px;height:42px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border:1px solid var(--sage)}
.btn::after{content:"\2192";font-size:1.15em;line-height:1;display:inline-block;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.btn:hover::after{transform:translateX(5px)}
@media (max-width:520px){.cta-row .btn,.cta2 .btn{height:40px;padding:0 20px;font-size:13.5px}}
.btn-solid{background:var(--sage);color:#fff}
.btn-solid:hover{background:var(--sage-deep);border-color:var(--sage-deep)}
.btn-line{background:transparent;color:var(--sage-deep)}
.btn-line:hover{background:var(--tint)}
.burger{display:none;background:none;border:0;font-size:24px;cursor:pointer;color:var(--ink)}
/* ---------- HERO (mobile first) ---------- */
/* mobile: the whole portrait photo is shown at its natural shape. The brick wall above his head
     is the copy area. Everything is sized in vw so the copy scales with the photo and stays above
     his head (copy must end before roughly 76vw from the top of the hero). No overlays besides a soft top gradient. */
.hero{position:relative;overflow:hidden;margin-top:14px;aspect-ratio:941/1671;background:#b4623f;color:#fff}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 100%;display:block}
.hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:
      linear-gradient(to bottom,rgba(12,14,10,.72) 0%,rgba(12,14,10,.52) 22%,rgba(12,14,10,.26) 38%,rgba(12,14,10,0) 54%),
      linear-gradient(to top,rgba(12,14,10,.88) 0%,rgba(12,14,10,.78) 16%,rgba(12,14,10,.5) 30%,rgba(12,14,10,0) 46%),
      rgba(12,14,10,.06)}
.hero-copy{position:absolute;top:15.5vw;left:0;right:0;padding:0 6.7vw;text-align:left}
.hero .eyebrow{color:#b9e8b4;font-size:2.8vw;letter-spacing:.2em;margin-bottom:2vw}
.hero h1{font-size:7.3vw;font-weight:400;line-height:1.04;color:#fff;max-width:none;text-shadow:0 1px 14px rgba(0,0,0,.4)}
.hero h1 .em{font-weight:500;color:#9fdca6;background:linear-gradient(90deg,#7fd48b 0%,#a9e8ad 55%,#cdf3c6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero h1 .plus{display:block;color:#9fdca6;font-weight:300;font-size:.5em;line-height:1;margin:.1em 0}
.hero p{max-width:none;margin:2.4vw 0 0;font-size:3.7vw;line-height:1.42;color:rgba(255,255,255,.9);text-shadow:0 1px 10px rgba(0,0,0,.4)}
.hero .cta{display:flex;gap:2.6vw;margin-top:3.6vw;flex-wrap:nowrap}
.hero .btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:1.4vw;text-align:center;white-space:nowrap;font-size:3.7vw;font-weight:500;padding:0 2vw;height:11.8vw;border-radius:999px}
.hero .btn::after{content:"\2192";font-size:1.15em;line-height:1}
.hero .btn-solid{background:#fff;color:#161a12;border-color:#fff}
.hero .btn-solid:hover{background:#f1f3ec;border-color:#f1f3ec}
.hero .btn-line{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero .btn-line:hover{background:rgba(255,255,255,.26)}
/* proof row is desktop only, mobile has no spare room above his head */
.hero-proof{display:none}
/* wider screens: big headline on the left, framed portrait on the right, plain light background */
@media (min-width:821px){
    .hero{
      aspect-ratio:auto;overflow:visible;background:none;color:var(--ink);
      max-width:var(--maxw);margin:14px auto 0;padding:56px 26px 72px;
      display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:72px;align-items:center;
    }
    .hero-media{position:relative;inset:auto;order:2;aspect-ratio:941/1400;border-radius:4px;overflow:visible}
    .hero-media img{border-radius:4px;border:1.5px solid var(--ink);position:relative;z-index:1;object-position:50% 100%}
    /* offset sage block behind the portrait */
    .hero-media::before{content:"";position:absolute;z-index:0;inset:0;transform:translate(16px,16px);background:var(--tint);border:1.5px solid var(--sage);border-radius:4px}
    .hero-media::after{display:none}
    .hero-copy{position:static;order:1;padding:0}
    .hero .eyebrow{color:var(--sage);font-size:12px;letter-spacing:.28em;margin-bottom:24px;text-shadow:none}
    .hero h1{font-size:clamp(46px,5.8vw,74px);color:var(--ink);max-width:12ch;text-shadow:none}
    .hero h1 .em{color:var(--sage);font-weight:400;background:none;-webkit-text-fill-color:currentColor}
    .hero h1 .plus{color:var(--sage);font-size:.46em;margin:.16em 0}
    .hero p{font-size:19px;color:var(--muted);max-width:46ch;margin-top:26px;line-height:1.6;text-shadow:none}
    .hero .cta{gap:14px;margin-top:36px;flex-wrap:wrap}
    .hero .btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;font-size:15px;padding:0 28px;height:52px;border-radius:999px}
    .hero .btn::after{content:"\2192";font-size:1.15em;line-height:1}
    .hero .btn-solid{background:var(--sage);border-color:var(--sage);color:#fff}
    .hero .btn-solid:hover{background:var(--sage-deep);border-color:var(--sage-deep)}
    .hero .btn-line{background:transparent;color:var(--sage-deep);border-color:var(--sage);-webkit-backdrop-filter:none;backdrop-filter:none}
    .hero .btn-line:hover{background:var(--tint)}
    .hero-proof{display:flex;gap:40px;margin-top:46px;padding-top:24px;border-top:1px solid var(--line);max-width:520px}
    .hero-proof .n{font-family:var(--disp);font-size:32px;line-height:1;color:var(--sage)}
    .hero-proof .l{margin-top:8px;font-size:13px;line-height:1.4;color:var(--muted);max-width:15ch}
  }
/* section base */
.sec{padding:84px 0;border-top:1px solid var(--line)}
.sec-head{max-width:56ch}
.sec-head h2{font-size:clamp(27px,3.8vw,42px);font-weight:400;margin-top:12px}
.sec-head p{margin-top:14px;color:var(--muted)}
/* services, uniform blocks */
.help{display:grid;grid-template-columns:1fr;gap:22px;margin-top:52px}
.card{display:grid;grid-template-columns:280px 1fr;background:var(--paper);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.card .media{aspect-ratio:1/1;overflow:hidden;background:var(--tint)}
.card .media img{width:100%;height:100%;object-fit:cover;display:block}
.card .media.data{display:flex;align-items:center;justify-content:center;background:var(--sage)}
.card .media.data svg{width:82%;max-width:212px;height:auto}
.card .body{padding:24px 22px;display:flex;flex-direction:column;flex:1}
.card .k{font-family:var(--disp);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.card h3{font-size:22px;font-weight:400;margin:12px 0 10px}
.card p{font-size:15px;color:var(--muted);flex:1 1 auto}
.card .who{display:block;margin-top:auto;font-family:var(--disp);font-size:11px;line-height:1.5;letter-spacing:.14em;
    text-transform:uppercase;color:var(--sage-deep);border-top:1px solid var(--line);padding-top:12px;min-height:calc(3em + 12px)}
/* folded-in interactive */
.journey{margin-top:56px;border-top:1px solid var(--line);padding-top:40px}
.journey h3{font-family:var(--disp);font-size:clamp(24px,3.4vw,34px);font-weight:400;margin-top:10px;letter-spacing:-.01em}
.journey ol{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0}
.journey li{position:relative;padding:0 0 26px 26px;border-left:2px solid var(--line)}
.journey li::before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--sage)}
.journey li span{font-family:var(--disp);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.journey li b{display:block;font-family:var(--disp);font-weight:500;font-size:19px;margin-top:4px}
.journey li p{color:var(--muted);font-size:15.5px;margin-top:6px;max-width:34ch}
@media (min-width:821px){
    .journey ol{grid-template-columns:repeat(4,1fr);gap:22px}
    .journey li{border-left:0;border-top:2px solid var(--line);padding:22px 0 0}
    .journey li::before{left:0;top:-7px}
  }
.sharp-wrap{display:grid;grid-template-columns:1fr;gap:28px;margin-top:30px;align-items:start}
.sharp-img{margin:0}
.sharp-img .frame{overflow:hidden;border-radius:4px;aspect-ratio:3/2;background:var(--ink)}
.sharp-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.8s var(--ease)}
.sharp-img figcaption{margin-top:12px;font-size:14px;color:var(--muted);max-width:44ch}
.sharp-img .frame{position:relative;aspect-ratio:3/2}
#sharpImg{filter:grayscale(var(--gs,0)) brightness(var(--br,1)) contrast(var(--ct,1));scale:var(--zm,1);transform-origin:50% 60%;will-change:filter,scale}
.mode{position:absolute;left:50%;bottom:16px;translate:-50% 0;display:flex;align-items:center;gap:12px;padding:9px 16px;border-radius:999px;background:rgba(12,14,10,.78);border:1px solid rgba(255,255,255,.18)}
.ml{white-space:nowrap;font:500 11px/1 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);transition:color .35s}
.ml.on{color:#fff}
.mt{position:relative;width:46px;height:24px;border-radius:999px;background:rgba(255,255,255,.18);flex:none}
.mt i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.4);translate:calc(var(--t,0) * 22px) 0}
.mt::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--sage);opacity:var(--t,0)}
.sharp-cta{margin:28px 0 0}
@media (min-width:821px){.sharp-img .frame{aspect-ratio:21/9}}
@media (max-width:520px){.ml{font-size:9px;letter-spacing:.06em}.mode{gap:8px;padding:8px 11px}.mt{width:40px}.mt i{translate:calc(var(--t,0) * 16px) 0}}
.js .sharp-img.reveal img{transform:scale(1.1)}
.js .sharp-img.reveal.in img{transform:scale(1)}
.rv-fail .sharp-img.reveal img{transform:none!important;transition:none!important}
@media (hover:hover) and (pointer:fine){.js .sharp-img.reveal.in:hover img{transform:scale(1.035);transition-duration:.9s}}
@media (prefers-reduced-motion:reduce){.js .sharp-img.reveal img,.js .sharp-img.reveal.in:hover img{transform:none;transition:none}}
.try{margin-top:74px;border-top:1px solid var(--line);padding-top:54px}
.try-head{max-width:56ch}
.try-head h3{font-family:var(--disp);font-size:clamp(24px,3.4vw,34px);font-weight:400;margin-top:10px;letter-spacing:-.01em}
.try-head p{margin-top:12px;color:var(--muted)}
/* where should AI go, spectrum */
.wag{margin-top:50px}
.wag-zones{display:flex;font-family:var(--disp);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.wag-zones span{flex:1;text-align:center}
.wag-zones .z1{color:var(--sage)}
.wag-zones .z2{color:var(--amber)}
.wag-zones .z3{color:var(--red)}
.wag-track{position:relative;height:12px;border-radius:4px;background:var(--line)}
.wag-seg{position:absolute;inset:0;display:flex;border-radius:4px;overflow:hidden}
.wag-seg i{height:100%}
.wag-marker{position:absolute;top:50%;left:11%;width:22px;height:22px;border-radius:50%;background:var(--paper);border:3px solid var(--sage);
    transform:translate(-50%,-50%);transition:left .7s cubic-bezier(.34,1.2,.4,1),border-color .4s;}
.wag-ends{display:flex;justify-content:space-between;margin-top:12px;font-size:13px;color:var(--muted)}
.wag-tasks{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0 0}
.wag-task{font-family:var(--body);font-size:14px;cursor:pointer;padding:10px 16px;border-radius:4px;border:1px solid var(--line);background:var(--paper);color:var(--ink);}
.wag-task:hover{border-color:var(--sage)}
.wag-task.on{background:var(--sage);color:#fff;border-color:var(--sage)}
.wag-task:focus-visible{outline:2px solid var(--sage);outline-offset:2px}
.wag-verdict{margin-top:26px;border:1px solid var(--line);border-radius:4px;padding:22px 24px;background:var(--paper);min-height:92px;display:flex;gap:18px;align-items:flex-start}
.wag-badge{font-family:var(--disp);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:4px;white-space:nowrap;margin-top:2px}
.wag-badge.a{background:rgba(90,107,72,.14);color:var(--sage-deep)}
.wag-badge.o{background:rgba(184,128,43,.16);color:#8a5e18}
.wag-badge.h{background:rgba(192,73,43,.14);color:var(--red)}
.wag-vt{font-family:var(--disp);font-size:20px;margin-bottom:4px}
.wag-vr{color:var(--muted);font-size:15.5px}
.wag-verdict .wag-empty{color:var(--muted);font-size:15px;margin:auto}
.wag-foot{margin-top:18px;font-family:var(--disp);font-size:12.5px;letter-spacing:.03em;color:var(--muted)}
.wag-std{margin-top:8px;font-size:13px;color:var(--muted)}
.wag-std b{font-weight:500;color:var(--sage-deep)}
@media (prefers-reduced-motion:reduce){.wag-marker{}}
/* built software, Chitra-SA */
.built-head{max-width:58ch}
.built-head h2{font-size:clamp(27px,3.8vw,42px);font-weight:400;margin-top:12px}
.built-head p{margin-top:14px;color:var(--muted)}
.built-inuse{margin-top:20px;font-size:16px;color:var(--sage-deep);font-weight:500}
.built-link{display:inline-block;margin-top:22px;font-size:15px;color:var(--sage);border-bottom:1px solid var(--sage);padding-bottom:1px}
.built-link:hover{color:var(--sage-deep);border-color:var(--sage-deep)}
.shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:60px}
.shot-fig{min-width:0;text-align:center}
.shot{border-radius:4px;overflow:hidden;border:1px solid var(--line);background:#F1F0EA;
    aspect-ratio:630/1058}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.shot-num{font-family:var(--mono);font-size:12px;letter-spacing:.24em;color:var(--muted);margin-top:22px}
.shot-t{font-family:var(--disp);font-size:20px;font-weight:500;margin-top:8px;letter-spacing:-.005em}
.shot-d{font-size:14.5px;color:var(--muted);margin:8px auto 0;max-width:30ch;line-height:1.5}
/* human in the loop, signature */
.loop{background:var(--sage-deep);color:var(--paper);border:0}
.loop-in{display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:center}
.loop .eyebrow{color:#b7c4a2}
.loop h2{font-family:var(--disp);font-weight:300;font-size:clamp(26px,3.6vw,40px);line-height:1.2;color:#fff;margin-top:16px}
.loop h2 b{font-weight:500}
.loop p{margin-top:20px;color:#d7ddca;max-width:46ch}
.loop-mark{display:flex;justify-content:center}
.loop-mark img{width:100%;max-width:270px;border-radius:4px;display:block}
/* team */
.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:34px 26px;margin-top:52px}
.person{min-width:0;text-align:center}
.person .photo{aspect-ratio:4/5;border-radius:50%;background:var(--tint);border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;overflow:hidden;
    font-family:var(--disp);font-size:42px;font-weight:300;color:var(--sage)}
.person .photo img{width:100%;height:100%;object-fit:cover;display:block}
.person .pname{font-family:var(--disp);font-size:21px;margin-top:16px;text-wrap:balance;overflow-wrap:break-word}
.person .prole{font-family:var(--disp);font-size:11.5px;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;
    color:var(--sage);margin:7px auto 0;max-width:19ch;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}
/* success story */
.story{display:grid;grid-template-columns:.82fr 1.18fr;gap:48px;align-items:center;margin-top:8px}
.story .photo{aspect-ratio:4/5;border-radius:4px;background:var(--tint);border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:var(--disp);font-size:58px;font-weight:300;color:var(--sage)}
.story .photo img{width:100%;height:100%;object-fit:cover;display:block}
.story .role{font-family:var(--disp);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.story h3{font-family:var(--disp);font-size:clamp(23px,3vw,32px);font-weight:400;margin:8px 0 18px}
.story p{color:var(--muted);font-size:16px;margin-bottom:14px}
.story .pull{margin-top:24px;
    font-family:var(--disp);font-weight:300;font-size:19px;line-height:1.4;color:var(--ink)}
.story .pull cite{display:block;font-family:var(--body);font-style:normal;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:12px}
/* proof */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:8px}
.stat .n{font-family:var(--disp);font-weight:400;font-size:46px;color:var(--sage);line-height:1}
.stat .l{margin-top:10px;font-size:14.5px;color:var(--muted);max-width:24ch}
.quote{margin-top:54px;max-width:60ch}
.quote p{font-family:var(--disp);font-weight:300;font-size:clamp(20px,2.6vw,27px);line-height:1.35;color:var(--ink)}
.quote .cite{font-size:13px;letter-spacing:.06em;color:var(--muted);margin-top:16px;text-transform:uppercase}
/* cta */
.final{text-align:center;padding:96px 0}
.final h2{font-size:clamp(28px,4.4vw,48px);font-weight:400;max-width:20ch;margin:0 auto}
.final p{color:var(--muted);margin:18px auto 30px;max-width:44ch}
/* footer */
footer{background:var(--ink);color:#c9c8bf;padding:52px 0 30px}
.foot{display:flex;justify-content:space-between;gap:36px;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:30px}
.foot .brand img{height:52px;width:52px;border-radius:4px}
.foot p.tag{margin-top:14px;font-size:14px;max-width:34ch;color:#a9a89f}
.fcol h5{font-family:var(--disp);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#87877d;margin-bottom:13px}
.fcol a{display:block;font-size:14.5px;margin-bottom:9px;color:#c9c8bf}
.fcol a:hover{color:#fff}
.social{display:flex;gap:10px;margin-top:16px}
.fcol .social a{display:grid;place-items:center;width:44px;height:44px;margin:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#c9c8bf;transition:border-color .25s,color .25s,background .25s}
.fcol .social a:hover{color:#fff;border-color:#fff;background:rgba(255,255,255,.08)}
.social svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fbot{margin-top:24px;font-size:12.5px;color:#9a9a90;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
a:focus-visible,button:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
@media (max-width:820px){
    .menu{display:none}
    .burger{padding:10px 6px;margin-right:8px}
    .burger{display:block}
    .help,.loop-in,.stats,.story,.card{grid-template-columns:1fr}
    .help{gap:30px}
    .loop-in{gap:34px}
    .loop-mark{order:-1}
    .loop-mark img{max-width:230px}
    .people{grid-template-columns:repeat(2,1fr);gap:30px 20px}
    .person .pname{font-size:19px;margin-top:13px}
    .person .prole{font-size:10.5px;letter-spacing:.07em;max-width:17ch}
    .card .who{min-height:0}
    .try{margin-top:54px;padding-top:40px}
    .wag{margin-top:32px}
    .wag-zones{font-size:10px;letter-spacing:.06em}
    .wag-tasks{gap:8px;margin-top:26px}
    .wag-task{font-size:13.5px;padding:9px 14px}
    .wag-verdict{flex-direction:column;align-items:stretch;gap:12px;padding:18px;min-height:0}
    .wag-badge{align-self:flex-start;margin-top:0}
    .wag-verdict .wag-empty{margin:0}
    .wag-vt{font-size:18px}
    .wag-vr{font-size:15px}
    .wag-std,.wag-foot{font-size:12.5px}
    .shots{display:flex;grid-template-columns:none;gap:16px;margin-top:40px;
      overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
      scrollbar-width:none;padding:2px 26px 6px;margin-left:-26px;margin-right:-26px}
    .shots::-webkit-scrollbar{display:none}
    .shot{border-radius:4px}
    .shot-fig{flex:0 0 72%;scroll-snap-align:center}
    .shot-d{max-width:none;font-size:14px}
    .built-head h2{font-size:29px}
  }
/* mobile: no header bar. Logo and menu button sit on the photo itself. */
@media (max-width:820px){
    header.nav{position:absolute;top:0;left:0;right:0;margin-top:0}
    header.nav .nav-in{height:64px;background:transparent;border:0;border-radius:0;padding:0 6.7vw}
    header.nav .brand{height:44px;background:transparent}
    header.nav .brand img{height:70px}
    header.nav .brand img.logo-light{display:none;width:auto;height:70px}
    header.nav.logo-ready .brand img:not(.logo-light){display:none}
    header.nav.logo-ready .brand img.logo-light{display:block;filter:drop-shadow(0 1px 4px rgba(0,0,0,.45))}
    header.nav.nav-pending .brand{visibility:hidden}
    /* fallback if the logo cannot be recoloured: the off-white tab */
    header.nav.logo-chip .brand{height:42px;background:var(--paper);border-radius:4px}
    header.nav.logo-chip .brand img{height:66px}
    /* hamburger: three bare white lines, no box */
    header.nav .burger{width:44px;height:44px;padding:0;margin:0 -6px 0 0;border:0;border-radius:0;background:
        linear-gradient(#fff,#fff) 50% 14px/24px 2px no-repeat,
        linear-gradient(#fff,#fff) 50% 21px/24px 2px no-repeat,
        linear-gradient(#fff,#fff) 50% 28px/24px 2px no-repeat;
      font-size:0;color:transparent;display:block;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
    .hero{margin-top:0}
  }
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
  }
/* ---------- overhaul: two audiences, strengths, animation ---------- */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}
.paths{display:grid;grid-template-columns:1fr;gap:20px;margin-top:44px}
.path{display:flex;flex-direction:column;height:100%;padding:30px 26px 26px;border:1.5px solid var(--ink);border-radius:4px;background:var(--paper);
    transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.path:hover{transform:translateY(-4px);box-shadow:8px 8px 0 var(--tint)}
.path .k{font-family:var(--disp);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.path h3{font-size:clamp(24px,3vw,32px);margin:14px 0 12px}
.path p{color:var(--muted);font-size:16px}
.path .go{margin-top:auto;padding-top:26px;font-family:var(--disp);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep)}
.path .go::after{content:"\2192";display:inline-block;margin-left:10px;transition:transform .3s}
.path:hover .go::after{transform:translateX(6px)}
.path-youth{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff}
.path-youth .k{color:#b7c4a2}
.path-youth p{color:#d7ddca}
.path-youth .go{color:#fff}
.path-youth:hover{box-shadow:8px 8px 0 var(--sage-light)}
.steps{position:relative;display:grid;gap:30px;margin-top:48px}
.steps::before,.steps::after{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px}
.steps::before{background:var(--line)}
.steps::after{background:var(--sage);transform:scaleY(1);transform-origin:top}
.js .steps::after{transform:scaleY(var(--p,0));will-change:transform}
.step{position:relative;display:grid;grid-template-columns:40px 1fr;gap:18px;align-items:start}
.step .dot{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper);
    display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;color:var(--muted);
    transition:background .5s,color .5s,border-color .5s;transition-delay:var(--d,0s)}
.step.on .dot{background:var(--sage);border-color:var(--sage);color:#fff;box-shadow:0 0 0 6px rgba(90,107,72,.16)}
.step .dot{transition:background .45s,color .45s,border-color .45s,box-shadow .6s}
.rv-fail .step .dot{background:var(--sage)!important;border-color:var(--sage)!important;color:#fff!important}
.step h3{font-family:var(--disp);font-size:20px;font-weight:500;margin-bottom:6px}
.step p{font-size:15.5px;color:var(--muted)}
.step small{display:block;margin-top:10px;font-size:13.5px;line-height:1.5;color:var(--sage-deep)}
.note{margin-top:44px;max-width:60ch;font-family:var(--disp);font-weight:300;font-size:clamp(19px,2.4vw,24px);line-height:1.4}
@media (min-width:821px){
    .steps{grid-template-columns:repeat(4,1fr);gap:28px}
    .steps::before,.steps::after{left:0;right:0;top:19px;bottom:auto;width:auto;height:2px}
    .steps::after{transform:scaleX(1);transform-origin:left}
    .js .steps::after{transform:scaleX(var(--p,0))}
    .step{display:block}
    .step .dot{margin-bottom:20px}
  }
.str{display:grid;grid-template-columns:1fr;gap:34px;margin-top:44px;align-items:start}
.donut-wrap{max-width:300px;margin:0 auto;width:100%}
.donut{width:100%;height:auto;display:block;overflow:visible}
.seg{cursor:pointer;transition:opacity .3s,stroke-width .3s}
.donut{will-change:rotate}
.donut.sel .seg:not(.on){opacity:.38}
.seg.on{stroke-width:35}
.dn{font-family:var(--disp);font-size:34px;fill:var(--ink)}
.dl{font-family:var(--body);font-size:10px;fill:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.cap{margin-top:16px;font-size:13px;color:var(--muted);text-align:center}
.lens{display:inline-flex;border:1.5px solid var(--ink);border-radius:999px;padding:3px;margin-bottom:20px}
.lens button{font-family:var(--body);font-size:14px;font-weight:500;border:0;background:none;padding:9px 18px;border-radius:999px;cursor:pointer;color:var(--ink);transition:background .3s,color .3s}
.lens button[aria-pressed="true"]{background:var(--sage);color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:9px;font-family:var(--body);font-size:14px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink);transition:border-color .2s,background .2s}
.chip i{width:11px;height:11px;border-radius:50%;background:var(--c);display:block}
.chip b{font-weight:500;color:var(--muted);font-size:12.5px}
.chip[aria-pressed="true"]{border-color:var(--ink);background:var(--tint)}
.panel{margin-top:20px;border:1px solid var(--line);border-radius:4px;padding:22px;background:var(--paper);min-height:270px}
.panel.swap{animation:swap .45s ease}
@keyframes swap{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.panel h3{font-size:24px;margin-bottom:8px}
.panel .ps{color:var(--muted);font-size:15.5px}
.panel .pl{margin-top:16px;font-family:var(--disp);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.panel .pt{margin-top:6px;font-size:16px}
@media (min-width:821px){.str{grid-template-columns:300px 1fr;gap:64px}.panel{min-height:240px}}
/* results gauges: each one fills with the scroll and finishes before it reaches mid-screen */
.gauges{display:grid;grid-template-columns:1fr;gap:14px;margin-top:40px}
@media (min-width:821px){.gauges{grid-template-columns:repeat(3,1fr);gap:18px}}
.gauge{border:1px solid var(--line);border-radius:4px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:16px;background:var(--paper)}
.g-l{font-family:var(--disp);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.g-num{font-family:var(--disp);font-size:clamp(40px,6vw,52px);line-height:1;color:var(--sage);font-variant-numeric:tabular-nums}
.g-viz{height:56px;margin-top:auto}
.g-people{display:flex;gap:4px;align-items:flex-end}
.pp{position:relative;flex:1;min-width:0;max-width:30px;height:100%}
.pp svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--line)}
.pp svg.fill{fill:var(--sage);opacity:var(--f,1);translate:0 calc((1 - var(--f,1)) * 7px);will-change:opacity,translate}
.g-nps{position:relative}
.nps-track{position:absolute;left:0;right:0;top:16px;height:4px;border-radius:2px;background:var(--line)}
.nps-zero{position:absolute;left:50%;top:8px;width:1.5px;height:20px;background:var(--muted);opacity:.5}
.nps-fill{position:absolute;left:50%;top:16px;height:4px;width:34.5%;background:var(--sage);border-radius:0 2px 2px 0;transform-origin:left;transform:scaleX(var(--p,1));will-change:transform}
.nps-dot{position:absolute;top:18px;left:calc(50% + var(--p,1) * 34.5%);width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 5px rgba(90,107,72,.18)}
.g-axis{position:absolute;left:0;right:0;top:36px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--muted)}
.g-bars{display:flex;gap:4px;align-items:flex-end}
.sg{flex:1;min-width:0;background:var(--line);border-radius:2px;position:relative;overflow:hidden}
.sg i{position:absolute;inset:0;background:var(--sage);transform-origin:bottom;transform:scaleY(calc(var(--f,1) * var(--max,1)));will-change:transform}
/* method illustration: scattered repeated tasks snap into a four-part system as you scroll */
.viz-sys{margin-top:40px}
.viz-sys .vm{display:none;max-width:340px}
@media (max-width:820px){.viz-sys{margin-top:30px}.viz-sys .vd{display:none}.viz-sys .vm{display:block}}
.viz-sys svg{display:block;width:100%;height:auto;overflow:visible}
.viz-sys .slab{opacity:calc(var(--r,1) * .7)}
.viz-sys .ghost{fill:none;stroke:var(--sage);stroke-width:1;stroke-dasharray:3 3;opacity:calc(.55 - var(--r,1) * .35)}
.viz-sys .rail{fill:none;stroke:var(--sage);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--r,1))}
.viz-sys .chev{fill:var(--sage);opacity:var(--c,1)}
.viz-sys .cb{translate:calc((1 - var(--f,1)) * var(--dx)) calc((1 - var(--f,1)) * var(--dy));will-change:translate}
.viz-sys .cb{--k:clamp(0,calc((var(--f,1) - .55) * 2.2),1);rotate:calc((1 - var(--f,1)) * var(--rt,0deg));transform-box:fill-box;transform-origin:50% 100%}
.viz-sys .ft{opacity:var(--k,1)}
.viz-sys .sh{opacity:calc(var(--f,1) * .13);transition:opacity .5s}
.viz-sys .lf{transition:translate .6s cubic-bezier(.2,.7,.2,1)}
.viz-sys .cb.lit .lf{translate:0 -16px}
.viz-sys .cb.lit .sh{opacity:calc(var(--f,1) * .07)}
.viz-sys .ln{transform-box:fill-box;transform-origin:left;scale:var(--k,1) 1}
.viz-sys .cur{animation:vzb 1s steps(1) infinite;opacity:var(--k,1)}
@keyframes vzb{50%{opacity:0}}
.viz-sys .tri{stroke-dasharray:var(--k,1) 1}
.viz-sys .nd{transform-box:fill-box;transform-origin:center;scale:var(--k,1);opacity:var(--k,1)}
.viz-sys .beam{transform-box:fill-box;transform-origin:50% 50%;rotate:calc((1 - var(--k,1)) * -18deg)}
.viz-sys .arc{stroke-dasharray:var(--k,1) 1}
.viz-sys .ah{opacity:clamp(0,calc((var(--k,1) - .8) * 5),1)}
.viz-sys .eye{opacity:var(--k,1)}
@media (prefers-reduced-motion:reduce){.viz-sys .cur{animation:none}}
.viz-sys .gr{opacity:calc(1 - var(--f,1))}
.viz-sys .co{opacity:var(--f,1)}
.viz-leg{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted)}
.viz-leg li{display:inline-flex;align-items:center;gap:6px}
.viz-leg i{width:9px;height:9px;border-radius:2px;display:inline-block}
.honest{margin-top:40px;max-width:62ch;padding:20px 22px;border-left:3px solid var(--amber);background:var(--tint);font-size:15.5px}
.honest b{font-weight:500}
.gets{display:grid;grid-template-columns:1fr;gap:16px;margin-top:22px}
.get{padding:20px 22px;border:1px solid var(--line);border-radius:4px}
.get b{display:block;font-family:var(--disp);font-weight:400;font-size:19px;margin-bottom:6px}
.get span{font-size:15px;color:var(--muted)}
@media (min-width:821px){.gets{grid-template-columns:repeat(3,1fr)}}
.mini{margin-top:34px;font-size:14.5px;color:var(--muted);max-width:62ch}
.mini a:not(.btn){color:var(--sage);border-bottom:1px solid var(--sage)}
.routes{display:grid;grid-template-columns:1fr;gap:20px;margin-top:44px}
.route{padding:28px 26px;border:1px solid var(--line);border-radius:4px;background:var(--paper);display:flex;flex-direction:column}
.route.sp{background:var(--tint);border-color:#d5dcc7}
.route .k{font-family:var(--disp);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.route h3{font-size:26px;margin:12px 0 10px}
.route p{font-size:15.5px;color:var(--muted)}
.route .btn{align-self:flex-start;margin-top:22px}
@media (min-width:821px){.routes{grid-template-columns:1fr 1fr;gap:26px}}
.cta-note{margin:14px 0 0;font-size:13.5px;color:var(--muted);max-width:52ch}
.final .cta-note{margin:18px auto 0;text-align:center}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.sharp-cta{margin:0}
.sharp-cta .cta-row{margin-top:28px}
.loop .cta-row{margin-top:44px}
.loop .btn-solid{background:var(--paper);color:var(--sage-deep);border-color:var(--paper)}
.loop .btn-solid:hover{background:#fff;border-color:#fff}
.loop .btn-line{color:#fff;border-color:rgba(255,255,255,.55)}
.loop .btn-line:hover{background:rgba(255,255,255,.1)}
.cta2{display:flex;flex-direction:column;gap:12px;align-items:center}
@media (min-width:600px){.cta2{flex-direction:row;justify-content:center}}
@media (prefers-reduced-motion:reduce){
    .js .reveal{opacity:1;transform:none;transition:none}
    .steps::after{transition:none;transform:none}
    .js .bar i{transition:none;width:var(--w)}
    .seg{transition:none}
  }
/* ---------- motion layer: transform and opacity only ---------- */
body{overflow-x:clip}
@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes imgIn{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
@keyframes imgFade{from{opacity:0}to{opacity:1}}
@keyframes marq{to{transform:translateX(-50%)}}
:root{--ease:cubic-bezier(.2,.7,.2,1)}
/* hero: plays once on load */
.hero-media img{animation:imgIn 1.4s var(--ease) both}
.hero .eyebrow{animation:up .8s var(--ease) .25s both}
.hero h1 .ln{display:block;animation:up .8s var(--ease) .4s both}
.hero h1 .plus{animation:up .8s var(--ease) .52s both}
.hero h1 .em{display:block;animation:up .8s var(--ease) .64s both}
.hero p{animation:up .8s var(--ease) .85s both}
.hero .cta{animation:up .8s var(--ease) 1s both}
.hero-proof{animation:up .8s var(--ease) 1.15s both}
.hero .btn::after{display:inline-block;transition:transform .3s var(--ease)}
@media (min-width:821px){.hero-media img{animation:imgFade 1.2s ease both}}
/* scroll reveals: start lower and transparent, settle once */
.js .reveal{opacity:0;transform:translateY(24px);
    transition:opacity .75s ease,transform .75s var(--ease),translate .3s var(--ease),box-shadow .3s ease,border-color .3s ease;
    transition-delay:var(--d,0s),var(--d,0s),0s,0s,0s}
.js .reveal.in{opacity:1;transform:none}
/* section heads: container stays put, children arrive in sequence */
.js .sec-head.reveal,.js .sec-head.reveal.in{opacity:1;transform:none}
.js .sec-head.reveal>*{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s var(--ease)}
.js .sec-head.reveal.in>*{opacity:1;transform:none}
.js .sec-head.reveal>:nth-child(2){transition-delay:.1s}
.js .sec-head.reveal>:nth-child(3){transition-delay:.2s}
/* chips arrive one after another */
.js .chips .chip{opacity:0;transform:translateY(12px);
    transition:opacity .5s ease,transform .5s var(--ease),border-color .2s,background .2s;
    transition-delay:calc(var(--i,0)*.07s + .25s),calc(var(--i,0)*.07s + .25s),0s,0s}
.js .reveal.in .chip{opacity:1;transform:none}
/* bars grow with transform, not width */
.js .bar i{width:var(--w);transform:scaleX(0);transform-origin:left;transition:transform 1.5s var(--ease) var(--d,0s)}
.js .bars.in .bar i{transform:none}
/* never leave content hidden if scripts fail */
.rv-fail .reveal,.rv-fail .sec-head.reveal>*,.rv-fail .chips .chip{opacity:1!important;transform:none!important;transition:none!important}
.rv-fail .steps::after{transform:none!important}
.rv-fail .bar i{transform:none!important}
/* clients and partners: overlays the laptop area of the hero on phones, sits below it on wide screens */
.clients{position:relative;z-index:4;--ch:76px;height:var(--ch);margin-top:calc(-1 * (var(--ch) + 9vw));margin-bottom:9vw;
    display:flex;flex-direction:column;justify-content:center;gap:8px;
    background:none;color:#fff}
.cl-label{font-family:var(--disp);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);text-align:center}
.cl-mask{overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cl-track{animation-duration:38s}
.cl-i{display:inline-flex;align-items:center;gap:10px;margin-right:48px;white-space:nowrap;font-family:var(--disp);font-size:19px;font-weight:500;color:#fff;letter-spacing:.01em;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.cl-i::before{content:"";width:5px;height:5px;border-radius:50%;background:#9fdca6;opacity:.8;margin-right:2px}
.cl-i img{height:26px;width:auto;display:block;filter:grayscale(1) brightness(0) invert(1);opacity:.9}
@media (min-width:821px){
    .clients{--ch:auto;height:auto;margin:0;padding:24px 0 22px;gap:14px;background:var(--paper);border-bottom:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}
    .cl-label{color:var(--muted)}
    .cl-i{font-size:22px;margin-right:64px;color:var(--sage-deep);text-shadow:none}
    .cl-i::before{background:var(--sage);opacity:.55}
    .cl-i img{filter:grayscale(1);opacity:.85}
  }
@media (hover:hover) and (pointer:fine){.clients:hover .cl-track{animation-play-state:paused}}
/* ticker: decorative, pauses on hover */
.ticker{overflow:hidden;border-bottom:1px solid var(--line);padding:16px 0;background:var(--paper);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.tk-track{display:flex;width:max-content;animation:marq 48s linear infinite}
.tk{display:inline-flex;align-items:center;gap:12px;margin-right:12px;padding:10px 18px;border:1px solid var(--line);border-radius:999px;
    font-size:14px;color:var(--sage-deep);white-space:nowrap;background:var(--paper)}
.tk::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sage)}
/* interactive states */
.btn{transition:translate .25s var(--ease),scale .25s var(--ease),box-shadow .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.btn:active{translate:0 0;scale:.98}
.menu a{transition:color .2s ease}
.card,.route,.get{transition:translate .3s var(--ease),box-shadow .3s ease,border-color .3s ease}
.person .photo{transition:scale .4s var(--ease)}
.path{transition:translate .35s var(--ease),box-shadow .35s ease}
@media (hover:hover) and (pointer:fine){
    .btn:hover{translate:0 -2px;box-shadow:0 10px 22px rgba(61,74,46,.2)}
    .card:hover,.route:hover,.get:hover{translate:0 -4px;box-shadow:0 16px 36px rgba(26,26,26,.09)}
    .path:hover{transform:none;translate:0 -4px;box-shadow:8px 8px 0 var(--tint)}
    .path-youth:hover{box-shadow:8px 8px 0 var(--sage-light)}
    .hero .btn:hover::after{transform:translateX(5px)}
    .person:hover .photo{scale:1.03}
    .chip:hover{border-color:var(--sage)}
    .ticker:hover .tk-track{animation-play-state:paused}
  }
@media (prefers-reduced-motion:reduce){
    .hero-media img,.hero .eyebrow,.hero h1 .ln,.hero h1 .plus,.hero h1 .em,.hero p,.hero .cta,.hero-proof{animation:none!important}
    .tk-track{animation:none}
    .js .reveal,.js .sec-head.reveal>*,.js .chips .chip{opacity:1;transform:none;transition:none}
    .js .bar i{transform:none;transition:none}
    .btn,.card,.route,.get,.path,.person .photo{transition:none}
  }
.hero-copy p{text-wrap:balance}
/* plain page header: transparent, sits over the page top with the dark logo (pages with no dark hero) */
header.nav.plain{position:absolute;top:0;left:0;right:0;margin-top:0}
header.nav.plain .nav-in{background:transparent;border:0;border-radius:0;height:72px}
header.nav.plain .brand{background:transparent;height:50px}
header.nav.plain .brand img:not(.logo-light){display:block!important;height:80px}
header.nav.plain .brand img.logo-light{display:none!important}
header.nav.plain .brand,header.nav.plain .brand img{background:transparent!important;mix-blend-mode:multiply}
header.nav.plain.nav-pending .brand{visibility:visible}