:root{
  --navy:#102A43;--navy-80:#3D5569;--blue:#246BCE;--mint:#55E6C1;--mint-soft:#BDF6E8;
  --ice:#EAF2F8;--ice-2:#F5F9FC;--slate:#64748B;--white:#FFFFFF;
  --line:rgba(16,42,67,.14);--line-dark:rgba(255,255,255,.16);
  --body:"Plus Jakarta Sans","Avenir Next",Arial,sans-serif;
  --head:var(--body);--head-w:500;--head-track:-.04em;--hs:1;
  --nav-h:64px;--gutter:clamp(20px,3.4vw,72px);--gap:clamp(40px,5vw,120px);--ease:cubic-bezier(.22,.61,.36,1);
}
html.serif{--head:"Instrument Serif",Georgia,serif;--head-w:400;--head-track:-.01em;--hs:1.18}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 8px);font-size:clamp(16px,.4vw + 10px,19px)}
body{font-family:var(--body);background:var(--white);color:var(--navy);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}
img{height:auto}
ul,ol{list-style:none}
::selection{background:var(--mint);color:var(--navy)}
h1,h2,h3{text-wrap:balance;font-family:var(--head);font-weight:var(--head-w);letter-spacing:var(--head-track);line-height:1.04}
em{font-style:normal}
html.serif em{font-style:italic}
.wrap{width:100%;max-width:2400px;margin:0 auto;padding:0 var(--gutter)}
section{padding:clamp(88px,9vw,180px) 0;position:relative}
.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--blue)}
h2{font-size:calc(var(--hs) * clamp(2.3rem,4.4vw,5.6rem));margin-top:14px}
h2 em{color:var(--blue)}
.lede{font-size:1.08rem;color:var(--slate);max-width:60ch;margin-top:20px}
.center{text-align:center;margin-left:auto;margin-right:auto}
.dark{background:var(--navy);color:#fff}
.dark .eyebrow,.dark h2 em{color:var(--mint)}
.dark .lede{color:rgba(255,255,255,.66)}
.tint{background:var(--ice-2)}

/* buttons */
.pill{display:inline-flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;border-radius:999px;background:var(--mint-soft);color:var(--navy);font-weight:600;font-size:.875rem;transition:background .25s var(--ease),transform .25s var(--ease)}
.pill:hover{background:var(--mint);transform:translateY(-1px)}
.pill .arr{width:22px;height:22px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:11px}
.pill.ghost-dark{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);padding-right:18px}
.pill.ghost-dark:hover{background:rgba(255,255,255,.08)}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

/* NAV: straight full-width bar, transparent over the hero, navy once scrolled */
.nav{position:fixed;z-index:50;top:0;left:0;right:0;border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
.nav.scrolled,.nav.solid{background:rgba(16,42,67,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line-dark)}
.nav-inner{height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{height:36px;width:auto}
.links{display:flex;gap:clamp(24px,2.6vw,48px);position:absolute;left:50%;transform:translateX(-50%)}
.links a{font-size:.875rem;color:rgba(255,255,255,.78);font-weight:500;position:relative}
.links a:hover,.links a[aria-current]{color:#fff}
.links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--mint);transition:right .25s var(--ease)}
.links a:hover:after,.links a[aria-current]:after{right:0}
.hamb{display:none;border:0;background:none;padding:8px;cursor:pointer}
.hamb span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}
.mobile-menu{display:none;position:fixed;z-index:49;inset:0;background:var(--navy);padding:calc(var(--nav-h) + 30px) var(--gutter) 40px;flex-direction:column}
.mobile-menu a{font-family:var(--head);font-size:2rem;color:#fff;border-bottom:1px solid var(--line-dark);padding:14px 0}
.mobile-menu.open{display:flex}

/* HERO: copy column beside one 3:2 clip of step I.2 (its row is the clip's own height, 42.3vw, so nothing is cropped);
   the step card and tips are HTML over the clip, timed to it by site.js, kept on the drape and board, off the hands */
.hero{padding:var(--nav-h) 0 0;color:#fff;background:var(--navy)}
.collage{display:grid;grid-template-columns:1.15fr 2fr;grid-auto-rows:minmax(42.3vw,auto);grid-template-areas:"copy v";gap:0;max-width:none;padding:0}
.hero-copy{grid-area:copy;display:flex;flex-direction:column;justify-content:flex-end;padding:0 clamp(24px,3vw,56px) clamp(32px,3.5vw,64px) var(--gutter)}
.hero-copy{position:relative;overflow:hidden;background:radial-gradient(70% 50% at 85% 18%,rgba(36,107,206,.22),transparent 70%)}
.hero-copy>*{position:relative}
.hero-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:linear-gradient(100deg,rgba(0,0,0,.25) 10%,#000 70%);mask-image:linear-gradient(100deg,rgba(0,0,0,.25) 10%,#000 70%)}
.hero .eyebrow{color:var(--mint);margin-bottom:18px}
.hero h1{font-size:calc(var(--hs) * clamp(2.6rem,4.6vw,6.4rem));line-height:.95}
.hero h1 em{color:var(--mint)}
.hero-side{border-top:1px solid rgba(255,255,255,.3);padding-top:20px;margin-top:clamp(28px,3vw,56px)}
.hero-v{grid-area:v;position:relative;overflow:hidden;background:#0B1E31;container-type:inline-size}
.hero-v video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hv-card{position:absolute;top:2.2cqw;right:2.2cqw;width:29cqw;padding:1.4cqw 1.6cqw 1.6cqw;border-radius:12px;background:rgba(16,42,67,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:clamp(10px,1.35cqw,15px);line-height:1.4}
.hv-step{font-size:max(9px,.75em);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--mint)}
.hv-title{margin-top:.15em;font-size:1.6em;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.hv-fig{position:relative;aspect-ratio:8/5;margin-top:.75em;border-radius:6px;overflow:hidden;background:#0B1E31}
.hv-fig img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s}
.hv-fig img.on{opacity:1}
.hv-pins{position:absolute;inset:0}
.hv-pins i{position:absolute;font-style:normal;width:1.1em;height:1.1em;margin:-.55em 0 0 -.55em;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px rgba(16,42,67,.55);opacity:0;transform:scale(.4);transition:opacity .3s,transform .45s var(--ease)}
.hv-pins i.on{opacity:1;transform:none}
.hv-pins b{position:absolute;bottom:calc(100% + .45em);left:50%;transform:translateX(-50%);padding:.1em .45em;border-bottom:2px solid var(--mint);border-radius:3px;background:rgba(16,42,67,.9);font-size:.8em;font-weight:600;white-space:nowrap}
.hv-points{display:grid;margin-top:.75em}
.hv-points li{grid-area:1/1;position:relative;padding-left:1.1em;opacity:0;transition:opacity .4s}
.hv-points li::before{content:"";position:absolute;left:0;top:.5em;width:.45em;height:.45em;border-radius:1px;background:var(--mint)}
.hv-points li.on{opacity:1}
.hv-tips{position:absolute;left:0;right:0;bottom:2.2cqw;display:grid;justify-items:center;font-size:clamp(10px,1.45cqw,16px)}
.hv-tips li{grid-area:1/1;display:flex;align-items:center;gap:.65em;padding:.45em 1.1em .45em .45em;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(16,42,67,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:600;white-space:nowrap;opacity:0;transform:translateY(.8em);transition:opacity .4s,transform .5s var(--ease)}
.hv-tips b{display:grid;place-items:center;width:1.75em;height:1.75em;border-radius:50%;background:var(--mint);color:var(--navy);font-size:.85em}
.hv-tips li.on{opacity:1;transform:none}
.hv-tips li.old{opacity:0;transform:translateY(-.6em)}
@container (max-width:800px){.hv-card{width:36cqw}}
@container (max-width:560px){.hv-card{width:auto;padding:8px 10px}.hv-fig,.hv-points{display:none}}

/* shared two-column section head */
.head-split{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--gap);align-items:end}
.head-split .lede{margin-top:0;border-top:1px solid var(--line);padding-top:20px}
.dark .head-split .lede{border-color:var(--line-dark)}

/* PRODUCT SHOWCASE: the product heading rises beside a hand holding the app while the stage is pinned.
   --half is half the hand-and-phone silhouette at its widest (42.2% of the image, which is .726 * --h wide),
   so the text columns never pass under the phone or the hand. */
.showcase{--p:0;height:200vh;padding:0}
.showcase .stage{--h:min(80svh,150vw);--half:calc(var(--h) * .3064);--clear:clamp(16px,2vw,40px);position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;
  background:radial-gradient(38% 50% at 50% 80%,rgba(85,230,193,.55),rgba(85,230,193,0) 72%),radial-gradient(65% 75% at 0% 0%,#BFD7F6,rgba(191,215,246,0) 70%),radial-gradient(55% 65% at 100% 8%,#D3DCFA,rgba(211,220,250,0) 70%),radial-gradient(60% 60% at 100% 100%,#BFF0E1,rgba(191,240,225,0) 70%),radial-gradient(50% 55% at 0% 100%,#CDE8F5,rgba(205,232,245,0) 70%),linear-gradient(#EEF4FC,#E6F2F6)}
/* text area: below the nav, above the wrist; lines fade in at the bottom and out at the top */
.showcase .window{position:absolute;inset:calc(var(--nav-h) + 20px) 0 calc(var(--h) * .12);container-type:size;-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
/* --start is the first line's top at --p 0, which is also the no-JS and reduced-motion state; --end is the last line's bottom at --p 1 */
.showcase .words{--start:34cqh;--end:66cqh;position:absolute;inset:0 0 auto;padding:0 var(--gutter);font-family:var(--head);font-weight:var(--head-w);letter-spacing:-.045em;line-height:1.02;font-size:calc(var(--hs) * clamp(2.1rem,5vw,6.6rem));color:#17B891;transform:translateY(calc(var(--start) + var(--p) * (var(--end) - var(--start) - 100%)));will-change:transform}
.showcase .eyebrow{font-family:var(--body)}
.showcase h2{font:inherit;letter-spacing:inherit}
/* lines hug the hand and phone: left lines end just before it, right lines start just after it */
.showcase .eyebrow,.showcase .words span{max-width:calc(50% - var(--half) - var(--clear));text-align:right}
.showcase .words span{display:block;text-wrap:balance;padding-bottom:.04em}
.showcase .words .r{margin-left:auto;text-align:left}
.showcase .sub{margin-top:.8em}
/* centered on the silhouette (14.5% to 98.9% of the image), so the phone sits a touch right of center */
.showcase .device{position:absolute;bottom:0;left:50%;height:var(--h);aspect-ratio:1200/1653;transform:translateX(-56.7%)}
.showcase .device>img{position:absolute;inset:0;width:100%;height:100%;z-index:2}
/* screen hole measured from the cutout (left 36.21%, top 2.19%, 53.42% x 82.98%), overscanned under the bezel */
.showcase .screen{position:absolute;left:35.9%;top:1.9%;width:54%;height:83.6%;overflow:hidden;background:#E4E0EE;border-radius:9%/4.2%;z-index:1}
.showcase .screen video{width:100%;height:100%;object-fit:cover;object-position:top}
/* covers the recording's own status bar (red recording dot, 15% battery) */
.showcase .status{position:absolute;inset:0 0 auto;height:7.6%;display:grid;grid-template-columns:25% 1fr 23%;padding-top:calc(var(--h) * .0105);background:linear-gradient(#E4E0EE 72%,rgba(228,224,238,0));font:600 calc(var(--h) * .0185)/1 -apple-system,"SF Pro Text",system-ui,sans-serif;color:#000}
.showcase .status span{text-align:center}
.showcase .status svg{grid-column:3;justify-self:center;height:calc(var(--h) * .0135);width:auto;margin-top:calc(var(--h) * .002)}
/* phones and portrait tablets have no room beside the phone, so the lines rise through the band above it */
@media(max-width:900px),(max-aspect-ratio:5/4){
 .showcase{height:170vh}
 .showcase .stage{--h:min(62svh,128vw)}
 .showcase .window{bottom:calc(var(--h) * .99 + 12px)}
 .showcase .words{--start:16cqh;--end:40cqh;font-size:calc(var(--hs) * max(2.4rem,9.6vw))}
 .showcase .eyebrow,.showcase .words span{max-width:none;text-align:left}
 .showcase .words .r{text-align:right}
}

/* HOW IT WORKS: one section, a row per step */
.flow{margin-top:clamp(40px,4vw,72px)}
/* steps section right after the showcase: a short top, then a small centered label between two rules */
.steps{padding-top:clamp(48px,4.5vw,88px)}
.kicker{display:flex;align-items:center;justify-content:center;gap:20px;margin:0;font-family:var(--body);font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1;color:var(--mint)}
.kicker:before,.kicker:after{content:"";width:clamp(40px,8vw,120px);height:1px;background:var(--line-dark)}
.steps .flow{margin-top:clamp(32px,3vw,56px)}
.steps .step:first-child{border-top:0;padding-top:0}
.step{display:grid;grid-template-columns:var(--media,1fr) 1fr;gap:var(--gap);align-items:center;padding:clamp(48px,5vw,104px) 0;border-top:1px solid var(--line-dark)}
.step.flip{grid-template-columns:1fr var(--media,1fr)}
.step.full{grid-template-columns:1fr;gap:clamp(32px,3vw,56px)}
.step .n{font-family:var(--head);font-size:calc(var(--hs) * 1.4rem);color:var(--mint)}
.step h3{font-size:calc(var(--hs) * clamp(2.4rem,3.6vw,4.6rem));margin-top:6px}
.step .lead{font-size:clamp(1.05rem,1.1vw,1.25rem);color:rgba(255,255,255,.8);margin-top:14px;max-width:46ch;text-wrap:pretty}
.step figure img{width:100%;border-radius:14px}
figcaption{margin-top:14px;font-size:.85rem;color:rgba(255,255,255,.62)}
figcaption b{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.mgroup{margin-top:clamp(28px,2.6vw,44px);border-top:1px solid var(--line-dark);padding-top:18px;max-width:52ch}
.mgroup .eyebrow{display:block;margin-bottom:14px}
.mlist{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
.mlist.inline{display:flex;flex-wrap:wrap;gap:4px 28px}
.mlist b{display:inline-block;font-family:var(--head);font-weight:var(--head-w);letter-spacing:var(--head-track);font-size:calc(var(--hs) * clamp(1.5rem,1.9vw,2.4rem));line-height:1.1;background:linear-gradient(100deg,#fff 0%,var(--mint-soft) 40%,var(--mint) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.mlist span,.mnote{display:block;margin-top:4px;font-size:.9rem;color:rgba(255,255,255,.6)}
.mnote{margin-top:10px}
.measure-media{display:grid;gap:14px}
.measure-media img{aspect-ratio:16/9;object-fit:cover}
.quotes{margin-top:28px}
.quotes li{border-top:1px solid var(--line-dark);padding:18px 0}
.quotes blockquote{font-family:var(--head);font-size:calc(var(--hs) * clamp(1.2rem,1.4vw,1.7rem));line-height:1.3;color:rgba(255,255,255,.88);margin-top:6px}
html.serif .quotes blockquote{font-style:italic}
.step.coach>.quotes{order:-1;margin-top:0}
.step.coach .quotes li:first-child{border-top:0;padding-top:0}
.step.coach blockquote{font-size:calc(var(--hs) * clamp(1.4rem,1.9vw,2.3rem))}
.step-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:end}
@supports (animation-timeline:view()){
 .step figure{animation:grow linear both;animation-timeline:view();animation-range:entry 0% cover 35%}
 @keyframes grow{from{transform:scale(.92);opacity:.5}to{transform:none;opacity:1}}
}

/* PRODUCT UI: the session viewer (Capture) and the program dashboard (Manage), drawn in HTML so site.js can animate them */
.ui{max-width:1560px}
.step figure.ui{max-width:none}
.ui .sv,.ui .db{box-shadow:0 30px 80px rgba(3,12,24,.45);color:#0F172A;text-align:left}
.step .ui img{border-radius:0}

.sv{--line:#E2E8F0;--muted:#526075;--text-2:#334155;--accent:#0F766E;--accent-ink:#0B5550;--tint:#E8F4F2;--control:#7C8AA0;--mk:25px;
 display:grid;gap:10px;padding:12px 14px 14px;border-radius:16px;background:#F3F6F9;font:400 15px/1.5 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.sv svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sv svg.fill{fill:currentColor;stroke:none}
.sv-cams{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sv-cam,.sv-tl{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.sv-h{display:flex;align-items:center;height:38px;padding:0 6px 0 14px;font-size:clamp(13.5px,1.05vw,15px);border-bottom:1px solid var(--line);color:var(--muted);font-weight:450;white-space:nowrap;overflow:hidden}
.sv-h b{color:#0F172A;font-weight:650;letter-spacing:-.01em}
.sv-seg{display:inline-flex;gap:2px;padding:2px;margin-left:auto;border-radius:10px;background:#EEF2F6}
.sv-seg span{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:7px;font-size:13.5px;font-weight:500;color:var(--text-2);transition:background .3s,box-shadow .3s,color .3s}
.sv-seg .on{background:#fff;color:#0F172A;font-weight:600;box-shadow:0 0 0 1px var(--control),0 1px 3px rgba(15,23,42,.1)}
.sv-v{position:relative;aspect-ratio:16/9;background:#0B1220}
.sv-v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter .6s,opacity .6s}
.sv-v .sv-depth{opacity:0}
.sv-stereo.dep .sv-depth{opacity:1}
.sv-seek .sv-v img{filter:blur(6px) saturate(.5) brightness(.85)}
.sv-chip{position:absolute;top:10px;right:12px;display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:13px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.sv-f{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:6px 8px 6px 14px;font-size:clamp(12px,.95vw,14px);color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}
.sv-open{display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-weight:600}
.sv-open svg{width:14px;height:14px}
.sv-tl{padding:12px 16px 10px}
.sv-ctl{display:flex;align-items:center;gap:6px}
.sv-play{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;margin-right:10px;border-radius:10px;background:var(--accent);color:#fff;font-weight:600}
.sv-play svg{width:13px;height:13px}
.sv-play .p2,.sv-live .sv-play .p1{display:none}
.sv-live .sv-play .p2{display:inline}
.sv-ib,.sv-clock{display:grid;place-items:center;height:42px;border:1px solid var(--control);border-radius:10px;color:#0F172A}
.sv-ib{width:42px}
.sv-clock{width:148px;font:500 21px/1 "IBM Plex Mono",monospace;letter-spacing:-.02em}
.sv-ctl .sv-seg{margin-left:16px}
.sv-ctl .sv-seg span{height:32px;padding:0 12px;font-size:14px}
.sv-legend{display:flex;gap:14px;margin-left:auto;font-size:14px;color:var(--muted)}
.sv-legend>span{display:inline-flex;align-items:center;gap:7px}
.sv-legend span span{width:13px;height:11px;border-radius:3px}
.sv-legend .k1{width:3px;border-radius:1px;background:var(--accent)}
.sv-legend .k2{background:rgba(58,150,140,.42)}
.sv-legend .k3{background:#E6F3F0;border:1px solid #9FCFC6}
.sv-scrub{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:var(--mk) 28px 20px 20px 20px 22px;column-gap:14px;row-gap:4px;margin-top:10px}
.sv-n{grid-column:1;align-self:center;font-size:13.5px;color:var(--muted);white-space:nowrap}
.sv-marks,.sv-dens,.sv-lane,.sv-axis,.sv-over{grid-column:2;position:relative}
.sv-marks{grid-row:1}
.sv svg.sv-dens{grid-row:2;width:100%;height:100%;stroke:none;border-bottom:1px solid var(--line)}
.sv-dens rect{fill:#3A968C;opacity:.42;transform-box:fill-box;transform-origin:50% 100%;transition:transform .5s var(--ease)}
.sv-dens rect.cur{fill:var(--accent);opacity:1}
.sv-lane{border-radius:5px;background:#EEF2F6}
.sv-lane span{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #B7C2D0;border-radius:5px;background:#DDE4EC;font:500 12.5px/1 "IBM Plex Mono",monospace;color:var(--text-2);transform-origin:0 50%;transition:transform .6s var(--ease) calc(.15s + var(--i) * 70ms),background .3s,border-color .3s,box-shadow .3s}
.sv-lane .src{background:#E6F3F0;border-color:#9FCFC6;color:var(--accent-ink)}
.sv-lane .cur{background:var(--tint);border-color:var(--accent);color:var(--accent-ink);font-weight:650;box-shadow:inset 0 0 0 1px var(--accent)}
.sv-axis{grid-row:6}
.sv-axis span{position:absolute;top:4px;transform:translateX(-50%);font:13px/16px "IBM Plex Mono",monospace;color:var(--muted);white-space:nowrap}
.sv-ev{position:absolute;top:0;display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:7px;background:var(--tint);color:var(--accent-ink);font-size:13px;font-weight:600;white-space:nowrap;transform:translateX(-50%);transition:opacity .5s .6s,translate .5s .6s}
.sv-ev.l{transform:translateX(-8px)}
.sv-ev.r{transform:translateX(calc(-100% + 8px))}
.sv-ev b{font:500 13px/1 "IBM Plex Mono",monospace}
.sv-ev svg{width:14px;height:14px}
.sv-over{grid-row:1/-1;pointer-events:none}
.sv-evl{position:absolute;top:var(--mk);bottom:22px;border-left:1.5px dashed var(--accent);opacity:.55}
.sv-ph{position:absolute;top:calc(var(--mk) - 2px);bottom:22px;width:2px;margin-left:-1px;background:var(--accent);z-index:3}
.sv-ph b{position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:1px;height:21px;padding:0 8px;border-radius:999px;background:var(--accent);color:#fff;font:600 12.5px/21px "IBM Plex Mono",monospace;white-space:nowrap}
.sv-wait .sv-lane span{transform:scaleX(0)}
.sv-wait .sv-dens rect{transform:scaleY(0)}
.sv-wait .sv-ev{opacity:0;translate:0 6px}

.db{--line:#d7e0dd;--ink:#14211d;--muted:#5a6b66;--panel2:#e9efed;--teal:#0d7368;--a:#c2410c;--b:#0d7368;
 display:grid;grid-template-columns:232px minmax(0,1fr);overflow:hidden;border-radius:16px;background:#edf1f0;font:400 14px/1.4 "IBM Plex Sans",Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
.db small,.db-g,.db-cr,.db-cf,.db-ph>b,.db-n b,.db-v{font-family:"IBM Plex Mono",monospace}
.db-side{display:flex;flex-direction:column;padding:24px 16px;background:#fff;border-right:1px solid var(--line)}
.db-brand{display:flex;align-items:center;gap:10px;padding:0 8px}
.step .db-brand img{width:30px;height:30px}
.db-brand b{font-size:19px;font-weight:600;letter-spacing:-.01em}
.db-side>small{margin:6px 8px 0;font-size:10.5px;letter-spacing:.12em;color:var(--muted)}
.db-dash{width:66px;height:2px;margin:10px 8px 8px;background:repeating-linear-gradient(90deg,var(--teal) 0 12px,transparent 12px 18px)}
.db-g{margin:16px 8px 6px;font-size:10.5px;font-weight:500;letter-spacing:.12em;color:var(--muted)}
.db-side>span:not([class]){padding:7px 10px;border-radius:7px;color:#2b3a36}
.db-side .on{padding:7px 10px;border-radius:7px;background:var(--panel2);font-weight:600;box-shadow:inset 3px 0 0 var(--teal)}
.db-main{display:flex;flex-direction:column;gap:22px;padding:30px 34px}
.db-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.db-top>div>b{font-size:26px;font-weight:600;letter-spacing:-.01em}
.db-top p{margin-top:4px;font-size:14.5px;color:var(--muted)}
.db-btns{display:flex;gap:8px;flex:none}
.db-btns span{padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13.5px;font-weight:500}
.db-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.db-kpis>div,.db-panel{border:1px solid var(--line);border-radius:10px;background:#fff}
.db-kpis>div{padding:16px 20px}
.db-kpis small{font-size:11.5px;font-weight:500;letter-spacing:.09em;color:var(--muted)}
.db-kpis>div>b{display:block;margin-top:10px;font-size:34px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}
.db-kpis .ok{color:#1b7a46}
.db-split{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12.5px;color:var(--muted)}
.db-split b{color:var(--ink);font-weight:600}
.db-dot,.db-tri{display:inline-block;margin-right:5px;vertical-align:-1px}
.db-dot{width:10px;height:10px;border-radius:50%;background:var(--a)}
.db-tri{width:0;height:0;border:solid transparent;border-width:0 6px 10px;border-bottom-color:var(--b)}
.db-panel{padding:18px 20px 20px;border-radius:12px}
.db-ph{display:flex;align-items:center;justify-content:space-between;gap:16px}
.db-ph>b{font-size:12px;font-weight:500;letter-spacing:.12em}
.db-ph .db-split{margin:0}
.db-desc{margin:10px 0 16px;font-size:13.5px;color:var(--muted)}
.db-desc b{color:var(--ink);font-weight:600}
.db-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.db-card{border:1px solid var(--line);border-radius:10px;background:#fff;transition:opacity .6s var(--ease) calc(var(--i) * 80ms),transform .6s var(--ease) calc(var(--i) * 80ms)}
.db-ch{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px 10px;border-bottom:1px solid var(--line)}
.db-ch>div>b{display:block;font-size:16.5px;font-weight:600;line-height:1.1}
.db-ch small{display:block;margin-top:3px;font-size:11.5px;color:var(--muted)}
.db-n{text-align:right}
.db-n b{font-size:24px;font-weight:600;line-height:1}
.db-n small{font-size:9.5px;font-weight:500;letter-spacing:.1em}
.db-cb{padding:11px 16px 12px}
.db-cr{display:flex;justify-content:space-between;font-size:10.5px;font-weight:500;line-height:1.6;letter-spacing:.06em;color:var(--muted)}
.db-cr b{color:var(--ink);font-weight:600}
.db-bar{display:grid;grid-template-columns:112px minmax(0,1fr) 74px;align-items:center;gap:10px;margin-top:8px;font-size:13.5px}
.db-track{height:9px;overflow:hidden;border-radius:3px;background:var(--panel2)}
.db-track span{display:block;width:var(--w);height:100%;border-radius:3px;background:var(--a);transform-origin:0 50%;transition:transform 1.1s var(--ease) calc(.25s + var(--i) * 80ms),width .9s var(--ease)}
.db-track .b{background:var(--b)}
.db-v{text-align:right;font-size:12.5px;font-weight:500;line-height:1}
.db-v b{font-weight:500}
.db-v small{font-size:12px;color:var(--muted)}
.db-cf{display:flex;justify-content:space-between;gap:10px;padding:9px 16px;border-top:1px dashed var(--line);font-size:10.5px;font-weight:500;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.db-cf b{color:var(--teal);font-weight:600}
.db-card.ping{animation:ping 1.8s var(--ease)}
@keyframes ping{from{box-shadow:0 0 0 0 rgba(13,115,104,.5)}to{box-shadow:0 0 0 16px rgba(13,115,104,0)}}
.db-wait .db-card{opacity:0;transform:translateY(14px)}
.db-wait .db-track span{transform:scaleX(0)}

@media(max-width:1100px){
 .sv-legend,.db-side,.db-btns,.sv-ev b{display:none}
 .sv-cams{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(380px,46%);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
 .sv-cam{scroll-snap-align:start}
 .sv-axis span:nth-child(even){display:none}
 .db{grid-template-columns:minmax(0,1fr)}
 .db-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .sv{--mk:4px;padding:10px;gap:8px}
 .sv-cams{grid-auto-columns:86%}
 .db-cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
 .db-card{scroll-snap-align:start}
 .sv-h{font-size:14px}
 .sv-f{font-size:12.5px}
 .sv-ib,.sv-ctl .sv-seg,.sv-ev{display:none}
 .sv-play{height:36px;padding:0 14px;font-size:14px}
 .sv-clock{width:120px;height:36px;font-size:18px}
 .sv-scrub{grid-template-columns:74px minmax(0,1fr);column-gap:8px}
 .sv-n{font-size:10.5px}
 .sv-lane span{font-size:0}
 .sv-axis span{font-size:11px}
 .sv-axis span:not(:nth-child(6n+1)){display:none}
 .sv-axis span:nth-child(even){display:none}
 .db-main{padding:12px;gap:12px}
 .db-cards{grid-auto-columns:92%}
 .db-ch{padding:10px 12px 8px}
 .db-cb{padding:10px 12px}
 .db-cr,.db-cf{font-size:9.5px;letter-spacing:.03em}
 .db-cf{padding:8px 12px}
 .db-bar{grid-template-columns:96px minmax(0,1fr) 62px;gap:8px;font-size:12.5px}
 .db-top p,.db-desc,.db-ph .db-split{display:none}
 .db-top>div>b{font-size:20px}
 .db-kpis{grid-template-columns:1fr 1fr;gap:10px}
 .db-kpis>div{padding:12px 14px}
 .db-kpis>div>b{font-size:28px}
 .db-panel{padding:12px}
 .db-ph{margin-bottom:12px}
}

/* WHO IT'S FOR: a faint logo behind the section, pinned while it scrolls; site.js stitches it in */
#who .wrap{position:relative;z-index:1}
.stitch-bg{position:absolute;inset:0;overflow:clip;pointer-events:none}
.stitch-bg .pin{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center}
.stitch-mark{height:min(62vh,600px);width:auto;opacity:.18;filter:blur(1.2px)}
.stitch-mark .ring{fill:#326db6}
.stitch-mark .dot{fill:#022b45}
@media(max-width:900px){.stitch-bg .pin{grid-template-columns:1fr}.stitch-mark{height:min(52vh,420px);opacity:.12}}
.callout{margin-top:clamp(64px,6vw,112px);text-align:center;font-family:var(--head);font-size:calc(var(--hs) * clamp(1.4rem,2vw,2.4rem));line-height:1.25;max-width:40ch;margin-left:auto;margin-right:auto}

/* PARTNERSHIP */
.provide{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2vw,40px);margin-top:clamp(56px,5vw,96px)}
.provide>div{border:1px solid var(--line);border-radius:14px;padding:clamp(24px,2.4vw,40px);background:#fff}
.provide>div.dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.provide li{padding:12px 0;border-top:1px solid var(--line);font-weight:500}
.provide>div.dark li{border-color:var(--line-dark)}
.provide .eyebrow{display:block;margin-bottom:18px}
.medtech{margin-top:clamp(56px,5vw,96px);display:grid;grid-template-columns:1fr 1.4fr;gap:var(--gap);align-items:start;border-top:1px solid var(--line);padding-top:28px}
.medtech h3{font-size:calc(var(--hs) * clamp(1.6rem,2.2vw,2.8rem));margin-top:10px}
.medtech p{color:var(--slate)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tags li{font-size:.8rem;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:5px 14px;color:var(--navy-80);background:#fff}

/* CTA + footer */
.cta{text-align:center;padding:clamp(120px,10vw,200px) 0 clamp(96px,8vw,160px)}
.cta h2{max-width:20ch;margin:0 auto}
.next3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);max-width:1100px;margin:clamp(48px,5vw,88px) auto 0}
.next3 b{display:block;font-size:.75rem;letter-spacing:.16em;color:var(--mint)}
.next3 h3{font-size:calc(var(--hs) * clamp(1.4rem,1.8vw,2.1rem));margin-top:8px}
.cta .ctas{justify-content:center;margin-top:clamp(48px,5vw,80px)}
footer{background:var(--navy);color:rgba(255,255,255,.55);font-size:.8rem;padding:0 0 28px}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line-dark);padding-top:24px}
.foot img{height:32px;width:auto}
.foot a{color:var(--mint)}
.foot nav{display:flex;gap:24px}
.foot nav a{color:rgba(255,255,255,.7)}

/* TEAM PAGE */
.page-head{padding:clamp(160px,14vw,260px) 0 clamp(64px,6vw,112px)}
.page-head h1{font-size:calc(var(--hs) * clamp(3rem,6vw,8rem));line-height:.95;margin-top:14px}
.page-head h1 em{color:var(--mint)}
.team{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,40px)}
.person img{width:100%;aspect-ratio:567/624;object-fit:cover;border-radius:14px;background:var(--ice)}
.person h3{font-size:calc(var(--hs) * clamp(1.5rem,1.8vw,2.2rem));margin-top:18px}
.person p{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--blue);margin-top:6px}
.person .li{display:inline-block;margin-top:10px;font-size:.85rem;font-weight:600;color:var(--navy-80);border-bottom:1px solid var(--line)}
.person .li:hover{color:var(--blue);border-color:currentColor}

/* reveal */
html.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
html.js .reveal.in{opacity:1;transform:none}


@media(max-width:1100px){
 .team{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
 .links,.nav-inner>.pill{display:none}.hamb{display:block}
 :root{--nav-h:56px}.brand img{height:30px}
 .collage{grid-template-columns:1fr;grid-auto-rows:auto;grid-template-areas:"copy" "v"}
 .hero-copy{padding:28px var(--gutter) 32px}
 .hero-v{aspect-ratio:3/2}
 .head-split,.provide,.medtech,.next3,.step-head{grid-template-columns:1fr}
 .next3{gap:36px}
 .step,.step.flip{grid-template-columns:1fr;gap:28px}
 .step.flip>figure{order:-1}
 .step figure{max-width:520px}
 .step.coach>.quotes{order:0}
 .team{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html.js .reveal{opacity:1;transform:none}}
