/* INSCYD custom PDF report page - hosted styles, generated 1:1 from INSCYD-Report-FINAL.html.
   Loaded ONLY by the custom-pdf-report page bridge embed. */
/* hide the legacy baked sections at parse time (no flash); the engine removes them */
html:not(.bridge-ready) body > *:not(#report-root):not(script):not(style):not(.w-webflow-badge):not(.vlb){display:none!important}
#report-root{display:block}
#report-root .w-embed{display:contents}
body{font-size:16px;line-height:normal}
p,h1,h2,h3,h4,h5,h6,ul,ol,li,figure,blockquote,dl,dd{margin:0;padding:0}
img{display:block;max-width:100%;vertical-align:baseline}
button,input,select,textarea{font:inherit;margin:0}

/* ============ INSCYD v16 tokens (light) ============ */
:root{
  --bg:#ffffff; --surface:#ffffff; --surface-2:#f5f6f8; --surface-3:#eceef2;
  --ink:#1B1F3B; --muted:#5d5f66; --muted-2:#9a9aa1;
  --border:rgba(27,31,59,.10); --border-2:rgba(27,31,59,.16);
  --red:#E6261C; --accent:#E6261C; --accent-soft:rgba(230,38,28,.06);
  --cta:#1B1F3B; --cta-h:#070a18; --on-cta:#ffffff;
  --rec:#4E6D8C; --green:#0F766E; --carb:#EA580D; --acc:#C026D3; --fatmax:#DAE8E7;
  --g-track:rgba(27,31,59,.24); --g-needle:rgba(27,31,59,.52);
  --card-ink:#14181f; --card-mut:#3a4150;
  --ease:cubic-bezier(.32,.72,0,1); --expo:cubic-bezier(.16,1,.3,1);
  --shell:rgba(27,31,59,.04);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Manrope',-apple-system,system-ui,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:800;letter-spacing:-.03em;line-height:1.04}
.container{max-width:1200px;margin:0 auto;padding:0 32px}
/* homepage background system: soft depth gradients under everything + paper grain OVER the sections */
.bg-depth{position:fixed;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(680px 520px at 15% 24%, rgba(122,118,112,.10), transparent 70%),
  radial-gradient(640px 520px at 87% 30%, rgba(116,116,120,.09), transparent 70%),
  radial-gradient(1000px 640px at 50% -12%, rgba(27,31,59,.04), transparent 72%)}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.16;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* ============ nav (island pill) ============ */
.nav{position:sticky;top:0;padding:14px 0;z-index:60;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s}
.nav.mz-nav-hide{transform:translateY(-130%);opacity:0;pointer-events:none}
.nav-in{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.7);border:1px solid var(--border);border-radius:14px;padding:8px 16px;box-shadow:0 10px 30px -16px rgba(20,28,46,.16);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4)}
:root[data-theme="dark"] .nav-in{background:rgba(31,34,40,.72)}
.nav-left{display:flex;align-items:center;gap:26px}
.logo{display:inline-flex;align-items:center;line-height:0}
.logo img{height:18px;width:auto;display:block}
.logo .ll{display:none}
:root[data-theme="dark"] .logo .ld{display:none}:root[data-theme="dark"] .logo .ll{display:block}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;transition:color .15s}
.nav-links a:hover{color:var(--ink)}
.nav-right{display:flex;align-items:center;gap:12px}
.divid{width:1px;height:24px;background:var(--border)}
.signin{font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;padding:0 8px;height:32px;display:inline-flex;align-items:center;transition:color .15s}
.signin:hover{color:var(--ink)}
.cta{display:inline-flex;align-items:center;height:36px;padding:0 18px;border-radius:99px;background:var(--cta);color:#fff;font-size:14px;font-weight:700;text-decoration:none;transition:.18s}
:root[data-theme="dark"] .cta{color:#16181d}
.cta:hover{background:var(--cta-h);transform:translateY(-1px)}
@media (max-width:880px){.nav-links,.signin{display:none}}
.cta-pill{display:inline-flex;align-items:center;gap:10px;background:var(--cta);color:var(--on-cta);font-size:14px;font-weight:700;padding:9px 9px 9px 18px;border-radius:99px;transition:background .25s var(--ease),transform .25s var(--ease)}
.cta-pill:hover{background:var(--cta-h)}
.cta-pill:active{transform:scale(.98)}
.cta-pill .disc{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;transition:transform .35s var(--expo)}
.cta-pill:hover .disc{transform:translateX(2px)}
.cta-pill .disc svg{width:13px;height:13px;stroke:#fff;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ============ trusted-by logos (ported 1:1 from homepage) ============ */
.logos{position:relative;z-index:2;padding:120px 0 64px}
@media(min-width:1024px){.logos{padding:160px 0 96px}}
.logos-head{text-align:center;max-width:720px;margin:0 auto 40px;padding:0 16px}
.logos-title{font-size:clamp(22px,2.6vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}
.logos-sub{margin-top:12px;font-size:16.5px;line-height:1.5;color:var(--muted);font-weight:500}
.logoloop{position:relative;overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%)}
.logoloop-track{display:flex;width:max-content;will-change:transform}
.logoloop-list{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.logoloop-item{flex:0 0 auto;width:230px;margin-right:52px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px}
.logoloop-item img{width:220px;height:95px;display:block;object-fit:contain;opacity:.82;filter:saturate(.92);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease,filter .3s ease;-webkit-user-drag:none;user-select:none;cursor:pointer}
.logoloop-item img:hover{opacity:1;filter:none;transform:scale(1.09)}
.logoloop-cap{font:600 14.5px/1.3 'Manrope',sans-serif;color:var(--muted);text-align:center;letter-spacing:-.01em;max-width:220px}
@media(prefers-reduced-motion:reduce){.logoloop-track{transform:none!important}}

/* ============ shared ============ */
.eyebrow{display:inline-flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border);padding:7px 16px;border-radius:99px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);box-shadow:0 4px 14px rgba(20,28,46,.05)}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--red)}
.accent{color:var(--red)}
.sec-head{max-width:760px}
.sec-title{font-size:clamp(34px,4.6vw,56px);margin:18px 0 18px}
.sec-sub{font-size:17px;line-height:1.65;color:var(--muted);max-width:62ch}
.fade-up{opacity:0;transform:translateY(22px);transition:opacity .8s var(--expo),transform .9s var(--expo)}
.fade-up.in{opacity:1;transform:none}
html.no-js .fade-up{opacity:1;transform:none}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--ink);padding:12px 20px;border-radius:99px;border:1px solid var(--border-2);transition:border-color .2s,background .2s}
.btn-ghost:hover{border-color:var(--ink);background:var(--surface-2)}
/* double bezel shell */
.shell{background:var(--shell);border:1px solid var(--border);border-radius:24px;padding:7px}
.biz-grid .shell,.qgrid .shell,.qside .shell{display:flex}
.biz-grid .shell>.core,.qgrid .shell>.core,.qside .shell>.core{flex:1;min-width:0}
.core{background:var(--surface);border:1px solid var(--border);border-radius:17px;box-shadow:inset 0 1px 1px rgba(255,255,255,.6),0 24px 60px -24px rgba(20,28,46,.18);overflow:hidden}

/* ============ 1. HERO ============ */
.hero{position:relative;z-index:2;padding:170px 0 96px}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center}
.hero-h1{font-size:clamp(40px,5.2vw,64px);margin:22px 0 20px;letter-spacing:-.04em;line-height:1.02}
.hero-sub{font-size:18px;line-height:1.65;color:var(--muted);max-width:52ch;margin-bottom:30px}
.hero-sub b{color:var(--ink);font-weight:700}
.hero-note{margin-top:26px;font-size:13px;font-weight:600;color:var(--muted-2);display:flex;align-items:center;gap:8px}
.hero-note .pulse{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(15,118,110,.4);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(15,118,110,.35)}70%{box-shadow:0 0 0 9px rgba(15,118,110,0)}100%{box-shadow:0 0 0 0 rgba(15,118,110,0)}}

/* hero visual: coach photo + floating INSCYD gauges */
.hero-visual{position:relative;padding:6px}
.coach-shot{position:relative;border-radius:22px;overflow:hidden;transform:rotate(1deg);box-shadow:0 44px 90px -42px rgba(20,28,46,.42),0 14px 34px -20px rgba(20,28,46,.22)}
.coach-shot img{width:100%;height:clamp(440px,50vw,552px);object-fit:cover;object-position:66% 34%;display:block}
.coach-shot::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 56%,rgba(9,13,24,.4))}
.coach-badge{position:absolute;left:18px;bottom:15px;z-index:4;color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.01em;display:flex;align-items:center;gap:8px;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.coach-badge i{width:6px;height:6px;border-radius:50%;background:var(--red)}

.gfloat{position:absolute;z-index:6;background:linear-gradient(160deg,rgba(247,249,252,.9),rgba(226,231,238,.82));-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,255,255,.78);border-radius:16px;box-shadow:0 24px 50px -24px rgba(14,22,38,.44),inset 0 1px 0 rgba(255,255,255,.85);padding:11px 13px 12px;animation:gbob 6.6s ease-in-out infinite alternate;opacity:0;transform:translateY(12px);transition:opacity .8s var(--expo),transform .8s var(--expo)}
.hero-in .gfloat{opacity:1;transform:none}
.gfloat.d2{animation-duration:7.6s;animation-delay:-1.3s;transition-delay:.1s}
.gfloat.d3{animation-duration:7s;animation-delay:-2.2s;transition-delay:.2s}
.gfloat.d4{animation-duration:8.1s;animation-delay:-.7s;transition-delay:.3s}
@keyframes gbob{from{transform:translateY(5px)}to{transform:translateY(-7px)}}
.hero-in .gfloat{animation-play-state:running}
.gf-cap{font-size:13px;font-weight:700;color:var(--card-ink);letter-spacing:-.01em;margin-bottom:5px;text-align:center;line-height:1}
.gf-gauge{width:122px}
.gf-gauge .gx{display:block;width:88px;height:auto;margin:0 auto}
.gf-val{margin-top:5px;text-align:center;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.gf-val .gnum{font-size:19px;font-weight:800;color:var(--card-ink);letter-spacing:-.02em}
.gf-val .gun{margin-left:3px;font-size:10px;font-weight:600;color:var(--card-mut)}
.gf-graph{width:min(56%,246px)}
.gf-graph .gf-cap{margin-bottom:6px}
.gf-graph .stack{position:relative}
.gf-graph .stack .ly{display:block}
.gf-graph .stack .ly.over{position:absolute;inset:0}
.gf-graph .gx{display:block;width:100%;height:auto}
/* straddle the image edges: half inside, half outside */
.gf-vo2{top:5%;left:-12%}
.gf-vla{top:16%;right:-11%}
.gf-fat{bottom:26%;left:-13%}
.gf-graph{bottom:-6%;right:-8%}
.gf-graph .fat{fill:none;stroke:var(--green);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.gf-graph .carb{fill:none;stroke:var(--carb);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.gf-graph .leg-bg{opacity:0}
.gf-graph .leg-tx{fill:#2e3547;font-size:24px}

/* ============ 2. STORY (scrollytelling) ============ */
.story{position:relative;z-index:2}
.story-head{padding:110px 0 0;text-align:center;display:flex;flex-direction:column;align-items:center}
.story-track{height:400vh;position:relative}
.story-stage{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
.story-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center;width:100%}
.story-chart-shell{position:relative}
.schart{width:100%;height:auto;display:block}
.schart .axis{stroke:var(--border-2);stroke-width:1}
.schart text{font-family:'Manrope';font-weight:700}
.schart .tick{fill:var(--muted-2);font-size:10px}
.ftp-line{stroke:var(--ink);stroke-width:3.5;fill:none;stroke-linecap:round}
.ftp-label{fill:var(--ink);transition:opacity .3s}
.ftp-bar{fill:url(#barHatch);stroke:#4E6D8C;stroke-width:1;opacity:.95}
.ftp-line{fill:none;stroke:#4E6D8C;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ftp-dot{fill:#4E6D8C;stroke:#fff;stroke-width:1.4}
.u-zig{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.u-zdot{stroke:#fff;stroke-width:1.4}
.zlab{font-size:12.5px;font-weight:800;transition:opacity .25s}
.sleg-t{font-size:11.5px;font-weight:700;fill:var(--muted)}
.pd-line{stroke-linejoin:round}
.pd-vdot{stroke:#fff;stroke-width:1.2}
.u-line{fill:none;stroke-width:3;stroke-linecap:round;opacity:0}
.u-end{transition:opacity .4s}
.u-vla{stroke:var(--red)}
.u-fat{stroke:var(--green)}
.u-label{font-size:11px;opacity:0}
.u-label.vla{fill:var(--red)}
.u-label.fat{fill:var(--green)}
.story-steps{position:relative;min-height:280px}
.step{position:absolute;inset:0;opacity:0;transform:translateY(26px);transition:opacity .55s var(--expo),transform .6s var(--expo);pointer-events:none}
.step.on{opacity:1;transform:none;pointer-events:auto}
.step .k{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:12px}
.step h3{font-size:clamp(24px,2.6vw,34px);margin-bottom:14px}
.step p{font-size:16px;line-height:1.6;color:var(--muted);max-width:44ch}
.zonewrap{margin-top:26px;opacity:0;transform:translateY(14px);transition:opacity .6s var(--expo),transform .6s var(--expo)}
.zonewrap.on{opacity:1;transform:none}
.zrow{margin-bottom:10px}
.zrow .zl{font-size:11px;font-weight:800;color:var(--muted);margin-bottom:5px;display:flex;justify-content:space-between}
.zstrip{display:flex;height:26px;border-radius:8px;overflow:hidden;border:1px solid var(--border);position:relative}
.zstrip i{display:block;height:100%}
.zstrip .z1{background:#E8EDF3}.zstrip .z2{background:#C9D6E4}.zstrip .z3{background:#9FB8CE}.zstrip .z4{background:#6E92B4}.zstrip .z5{background:#E6261C}
.zmark{position:absolute;top:-8px;bottom:-8px;width:2px;background:var(--ink);left:62%}
.zmark::after{content:"FTP";position:absolute;top:-16px;left:-12px;font-size:9px;font-weight:800;color:var(--ink)}

/* ============ 3. SAME FTP — twin athlete cards (text on top, cards below) ============ */
.tw-sec{position:relative;z-index:2;padding:120px 0 100px}
.tw-head{text-align:center;max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.tw-body{position:relative;max-width:920px;margin:52px auto 0}
/* Sebastian note: floats fully LEFT of card A on wide screens (no overlap, no extra vertical space) */
.twin{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative;margin:0}
.seb-note{position:relative;z-index:8;max-width:520px;margin:28px auto 0;background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px 26px 22px;box-shadow:0 26px 55px -30px rgba(20,28,46,.35)}
@media(min-width:1240px){
  .tw-body{margin-left:auto;margin-right:auto}
  .seb-note{position:absolute;top:2px;right:calc(100% + 24px);width:min(300px,calc(100vw - 1000px));max-width:none;margin:0;transform:rotate(-1.6deg)}
}
.seb-note::before{content:"\201C";position:absolute;top:2px;left:18px;font-size:54px;font-weight:800;color:rgba(230,38,28,.18);line-height:1;font-family:Georgia,serif}
.seb-note .q{font-size:14.5px;line-height:1.62;font-weight:600;color:var(--ink);position:relative}
.seb-note .q em{font-style:normal;color:var(--red)}
.seb-note .who{margin-top:16px;display:flex;align-items:center;gap:12px}
.seb-note .who img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:center 30%;border:2px solid #fff;box-shadow:0 4px 14px rgba(20,28,46,.28);flex:none}
.seb-note .nm{font-size:13px;font-weight:800;color:var(--ink)}
.seb-note .rr{font-size:11.5px;font-weight:600;color:var(--muted);line-height:1.45;display:block}
.seb-arrow{display:none;position:absolute;top:24%;right:-60px;width:66px;height:44px;pointer-events:none;overflow:visible}
@media(min-width:1240px){.seb-arrow{display:block}}
.seb-arrow .ln{fill:none;stroke:var(--red);stroke-width:2.5;stroke-linecap:round}
.seb-arrow .hd{fill:none;stroke:var(--red);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .4s ease 1.15s}
.seb-note.in .seb-arrow .hd{opacity:1}
@media(max-width:1080px){
  .twin{min-width:0}
  .seb-note{min-width:0}
}
.vs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(20,28,46,.32);letter-spacing:.04em}
.ath{padding:24px 24px 20px;position:relative;height:100%}
.ath-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ath-ava{width:38px;height:38px;border-radius:50%;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.ath.a .ath-ava{background:var(--rec)}
.ath.b .ath-ava{background:var(--carb)}
.ath-name{font-size:14.5px;font-weight:800}
.ath-tag{font-size:11.5px;font-weight:600;color:var(--muted-2)}
.ftp{padding:8px 0 16px;border-bottom:1px dashed var(--border-2);margin-bottom:14px}
.ftp .lab{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)}
.ftp .num{font-size:46px;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.12}
.ftp .num small{font-size:18px;font-weight:700;color:var(--muted-2)}
.metric{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0}
.metric+.metric{border-top:1px solid var(--border)}
.metric .m-lab{font-size:12.5px;font-weight:700;color:var(--muted)}
.metric .m-val{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.metric .m-val small{font-weight:600;color:var(--muted-2);font-size:11px}
.mbar{flex:1;height:6px;border-radius:4px;background:var(--surface-3);margin:0 12px;overflow:hidden;position:relative;min-width:40px}
.mbar i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);border-radius:4px;transition:transform 1.2s var(--expo)}
.in .mbar i{transform:scaleX(var(--w,.5))}
.ath.a .mbar i{background:var(--rec)}
.ath.b .mbar i{background:var(--carb)}
.metric.hot .m-val{color:var(--red)}
.tw-note{grid-column:1/-1;text-align:center;font-size:13.5px;color:var(--muted-2);font-weight:600;margin-top:20px}
@media(max-width:760px){.twin{grid-template-columns:minmax(0,1fr);gap:14px}.vs{display:none}.metric .m-val{white-space:normal;text-align:right}}

/* ============ 4·V2. REINFORCEMENT VARIANT 2 — dark capsule, metric reels left (hero194 ref) ============ */
.reinf2{position:relative;z-index:2;padding:70px 0 110px}
.reinf2 .container{display:flex;flex-direction:column}
.reinf2 .var-chip{align-self:center;margin-bottom:26px}
.r2-capsule{position:relative;display:grid;grid-template-columns:1.02fr 1fr;background:linear-gradient(150deg,#171c2a,#0b0f1a);border-radius:34px;overflow:hidden;min-height:560px;box-shadow:0 60px 120px -50px rgba(6,9,20,.55),inset 0 1px 0 rgba(255,255,255,.06)}
.r2-rain{position:relative;overflow:hidden}
.r2-cols{position:absolute;inset:-40px 0;display:flex;gap:16px;justify-content:center;padding:0 20px}
.r2-cols .rain-col,.r2-cols .rain-col .dq-tile,.r2-cols .rain-col .dq-tile.graph,.r2-cols .rain-col .dq-tile.metric{opacity:1}
.r2-cols .rain-col{gap:16px;max-width:218px}
.r2-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,15,26,.85),transparent 20%,transparent 80%,rgba(11,15,26,.85)),linear-gradient(270deg,transparent 78%,rgba(13,17,28,.55))}
.r2-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,4.5vw,72px);color:#fff}
.r2-copy .eyebrow{align-self:flex-start;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.78);box-shadow:none}
.r2-copy h2{margin-top:20px;font-size:clamp(28px,3.2vw,44px);font-weight:800;letter-spacing:-.035em;line-height:1.1}
.r2-copy .r2-q{margin-top:18px;font-size:15px;line-height:1.65;color:rgba(255,255,255,.68);max-width:46ch}
.r2-copy .r2-q em{font-style:normal;color:#ff6a60}
.r2-who{margin-top:12px;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.55)}
.r2-copy .cta-pill{align-self:flex-start;margin-top:30px;background:#fff;color:var(--ink)}
.r2-copy .cta-pill:hover{background:#eef1f5}
.r2-copy .cta-pill .disc{background:rgba(27,31,59,.1)}
.r2-copy .cta-pill .disc svg{stroke:var(--ink)}
@media(max-width:900px){
  .r2-capsule{grid-template-columns:1fr;min-height:0}
  .r2-rain{order:2;height:400px}
  .r2-copy{order:1;padding:38px 28px 16px}
}

/* ============ 7b. CERTIFIED COACH — planetary globe with callouts (hero216 ref) ============ */
.cert{position:relative;z-index:2;padding:120px 0 0;overflow:hidden}
.cert-head{text-align:center;display:flex;flex-direction:column;align-items:center}
.cert-head .sec-sub{text-align:center}
.cert-head .cta-pill{margin-top:30px}
.cert-points{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;max-width:900px;margin:26px auto 0;text-align:left}
.cert-points p{font-size:14.5px;line-height:1.55;color:var(--muted);position:relative;padding-left:16px}
.cert-points p::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--red)}
.cert-points b{color:var(--ink);font-weight:800}
@media(max-width:760px){.cert-points{grid-template-columns:1fr;gap:12px}}
.cg-chip{position:absolute;z-index:5;display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:99px;padding:9px 17px;font-size:12.5px;font-weight:700;color:var(--ink);box-shadow:0 14px 34px -16px rgba(20,28,46,.35);white-space:nowrap}
.cg-chip i{width:8px;height:8px;border-radius:50%;background:var(--red);flex:none;animation:pulse 2.4s infinite}
.cg-chip::after{content:"";position:absolute;top:100%;left:50%;width:1.5px;height:44px;background:linear-gradient(rgba(27,31,59,.4),transparent)}
.cc1{left:9%;top:52%}
.cc2{left:24%;top:20%}
.cc3{left:50%;top:8%;transform:translateX(-50%)}
.cc4{right:22%;top:22%}
.cc5{right:8%;top:54%}
@media(max-width:900px){
  .cg-chip{font-size:11px;padding:7px 12px}
  .cc1{left:3%;top:44%}
  .cc2{left:12%;top:12%}
  .cc4{right:12%;top:14%}
  .cc5{right:3%;top:46%}
  .cc3{top:2%}
}

/* ============ 3b. SAME FTP · VARIANT 2 — spatial athlete showcase (21st.dev ref) ============ */
.spx-sec{position:relative;z-index:2;padding:110px 0 120px}
.spx-sec .var-chip{align-self:center}
.spx-stage{position:relative;margin:52px auto 0;width:100%;max-width:1080px;height:min(62vw,540px);border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--border);box-shadow:0 44px 90px -52px rgba(20,28,46,.45)}
.spx-bg{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--expo)}
.spx-bg.a{background:radial-gradient(92% 92% at 50% 104%,rgba(78,109,140,.38),rgba(78,109,140,.12) 55%,transparent 82%)}
.spx-bg.b{background:radial-gradient(92% 92% at 50% 104%,rgba(234,88,13,.32),rgba(234,88,13,.1) 55%,transparent 82%)}
.spx-stage[data-s="a"] .spx-bg.a{opacity:1}
.spx-stage[data-s="b"] .spx-bg.b{opacity:1}
.spx-ghost{position:absolute;left:50%;top:13%;transform:translateX(-50%);font-size:clamp(58px,10.4vw,144px);font-weight:800;letter-spacing:-.03em;color:rgba(27,31,59,.075);white-space:nowrap;z-index:1;line-height:1;transition:opacity .6s var(--expo),transform .9s var(--expo)}
.spx-stage[data-s="a"] .gh-b{opacity:0;transform:translateX(calc(-50% + 44px))}
.spx-stage[data-s="b"] .gh-a{opacity:0;transform:translateX(calc(-50% - 44px))}
.spx-row.ftp{border:1px solid rgba(230,38,28,.28);background:rgba(230,38,28,.06);border-radius:10px;padding:10px 12px;margin-bottom:4px}
.spx-row.ftp .k{color:var(--ink)}
.spx-row.ftp .v{color:var(--red)}
.spx-img{position:absolute;left:50%;bottom:0;height:84%;width:auto;z-index:2;filter:drop-shadow(0 30px 44px rgba(20,28,46,.35));transition:opacity .7s var(--expo),transform .95s var(--expo);transform:translateX(-50%)}
.spx-stage[data-s="b"] .spx-img.a{opacity:0;transform:translateX(calc(-50% - 64px)) scale(.94)}
.spx-stage[data-s="a"] .spx-img.b{opacity:0;transform:translateX(calc(-50% + 64px)) scale(.94)}
.spx-panel{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:min(33%,330px);opacity:0;transition:opacity .65s var(--expo),transform .8s var(--expo)}
.spx-panel.a{left:4.4%;transform:translateY(-50%) translateX(-16px)}
.spx-panel.b{right:4.4%;text-align:right;transform:translateY(-50%) translateX(16px)}
.spx-stage[data-s="a"] .spx-panel.a{opacity:1;transform:translateY(-50%)}
.spx-stage[data-s="b"] .spx-panel.b{opacity:1;transform:translateY(-50%)}
.spx-name{display:block;font-size:21px;font-weight:800;letter-spacing:-.02em}
.spx-tag{display:block;font-size:12px;font-weight:600;color:var(--muted-2);margin:3px 0 16px}
.spx-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border);font-size:13px}
.spx-panel.b .spx-row{flex-direction:row-reverse}
.spx-row .k{font-weight:700;color:var(--muted)}
.spx-row .v{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.spx-row .v small{font-weight:600;color:var(--muted-2);font-size:11px}
.spx-row .v.hot{color:var(--red)}
.spx-lim{margin-top:14px;font-size:12.5px;font-weight:700;color:var(--muted)}
.spx-lim b{color:var(--ink)}
.spx-dock{position:absolute;left:50%;top:20px;transform:translateX(-50%);z-index:7;display:flex;gap:6px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:99px;padding:6px;box-shadow:0 18px 44px -18px rgba(20,28,46,.45)}
.spx-dock button{font-family:inherit;font-size:13px;font-weight:800;color:var(--muted);background:transparent;border:0;border-radius:99px;padding:9px 22px;cursor:pointer;transition:background .35s var(--ease),color .35s}
.spx-dock button.on{background:var(--ink);color:#fff}
@media(max-width:900px){
  .spx-stage{height:540px}
  .spx-ghost{top:5%;font-size:clamp(44px,13vw,90px)}
  .spx-img{left:auto;right:-4%;transform:none;height:60%}
  .spx-stage[data-s="b"] .spx-img.a{opacity:0;transform:translateX(-44px) scale(.95)}
  .spx-stage[data-s="a"] .spx-img.b{opacity:0;transform:translateX(44px) scale(.95)}
  .spx-panel{top:auto;bottom:86px;width:52%;transform:none}
  .spx-panel.a{left:5%}
  .spx-panel.b{right:auto;left:5%;text-align:left}
  .spx-panel.b .spx-row{flex-direction:row}
  .spx-stage[data-s="a"] .spx-panel.a{transform:none}
  .spx-stage[data-s="b"] .spx-panel.b{transform:none}
  .spx-row{padding:7px 0;font-size:12px}
  .spx-name{font-size:16px}
  .spx-lim{display:none}
  .spx-dock button{padding:8px 14px;font-size:12px;white-space:nowrap}
}

/* ============ image comparison slider (generic; used in Solution) ============ */
.cmp-head{text-align:center;display:flex;flex-direction:column;align-items:center;max-width:760px;margin:0 auto}
.cmp-wrap{margin-top:48px;padding:7px}
.cmpslider{position:relative;width:100%;height:clamp(490px,49vw,580px);border-radius:16px;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:ew-resize;background:var(--surface)}
.cs-layer{position:absolute;inset:0;overflow:hidden}
.cs-clip{z-index:2;clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.cs-base{z-index:1}
.cs-corner{position:absolute;top:16px;z-index:4;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:6px 12px;border-radius:99px;border:1px solid var(--border)}
.cs-corner i{width:7px;height:7px;border-radius:50%;background:var(--red)}
.cs-clip .cs-corner{left:18px}
.cs-base .cs-corner{right:18px}
/* the original card-on-gradient treatment, restored — the card just spans the FULL layer now */
/* the frame around the card (not the card interior): the plate sits with clear margin from every edge */
/* mirrors .cs-out (52/28 + centered) so the card band aligns 1:1 with the metric rows on the right */
.cs-in{background:linear-gradient(155deg,#eef3f8,#e1eaf2);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px clamp(44px,6vw,72px) 28px}
/* static: full width + height of the layer. It never resizes on drag — the divider just
   uncovers it, exactly like the metric marquee on the right. */
/* the card hugs the graph: width capped, height follows the svg's own aspect ratio,
   so the padding you see IS the padding — no aspect letterboxing can reopen the gap */
.cs-in .curvecard{width:100%;height:min(458px,100%);padding:14px 16px 12px;background:rgba(255,255,255,.95);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 42px -22px rgba(20,28,46,.36)}
/* one curve at a time, chosen by the tabs above the slider */
.cs-in .curvecard{display:none}
.cs-in .curvecard.is-on{display:flex;flex-direction:column}
.cs-in .curvecard .ct{font-size:13px;margin-bottom:1px}
.cs-in .curvecard .cc-sub{font-size:10.5px;margin-bottom:6px}
.cs-in .curvecard .ct{font-size:15px}
.cs-in .curvecard .cc-sub{font-size:11.5px}
.cs-in .curvecard svg{flex:1;min-height:0;width:100%;height:100%;display:block}
/* curve switcher tabs (same pill language as the athlete sport tabs) */
.cvt-wrap{display:flex;justify-content:center;margin:32px 0 0}
.cvt-list{position:relative;display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);max-width:100%;flex-wrap:wrap;justify-content:center}
.cvt-tab{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--muted-2);padding:9px 18px;border-radius:999px;white-space:nowrap;transition:color .35s}
.cvt-tab[aria-selected="true"]{color:#fff}
.cvt-tab:hover:not([aria-selected="true"]){color:var(--ink)}
.cvt-pill{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:999px;z-index:0;background:linear-gradient(150deg,#2b3350,#1B1F3B);box-shadow:0 10px 24px -12px rgba(18,20,29,.6),inset 0 -2px 0 #E6261C;transition:transform .5s cubic-bezier(.34,1.18,.5,1),width .5s cubic-bezier(.34,1.18,.5,1)}
@media(max-width:860px){.cvt-pill{display:none}.cvt-tab[aria-selected="true"]{background:#1B1F3B}}
/* same gradient as .cs-in so both halves of the slider read as one surface */
.cs-out{background:linear-gradient(155deg,#eef3f8,#e1eaf2);display:flex;flex-direction:column;justify-content:center;padding:52px 0 28px}
.cs-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:#fff;z-index:6;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(27,31,59,.08),0 0 22px rgba(0,0,0,.16);pointer-events:none}
.cs-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 10px 26px -6px rgba(20,28,46,.42),0 0 0 1px rgba(27,31,59,.06);display:flex;align-items:center;justify-content:center;transition:transform .18s var(--ease)}
.cmpslider.cs-grabbing .cs-knob{transform:translate(-50%,-50%) scale(1.08)}
.cs-knob svg{width:20px;height:20px;stroke:var(--ink);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cmp-cap{text-align:center;margin-top:22px;font-size:14.5px;font-weight:700;color:var(--ink)}
.cmp-cap .accent{color:var(--red)}
/* ============ 4b. SOFTWARE — interactive product tour (white, vector assets) ============ */
.pv{position:relative;z-index:2;padding:110px 0}
.pv .container{position:relative;max-width:1340px}
.pv-tour{margin-top:48px;display:grid;grid-template-columns:.6fr 1.4fr;gap:clamp(26px,2.6vw,44px);align-items:center}
.pv-tabs{display:flex;flex-direction:column;gap:2px}
.pv-tab{display:flex;align-items:flex-start;gap:13px;width:100%;text-align:left;font-family:inherit;font-size:15px;font-weight:700;color:var(--muted);background:transparent;border:0;border-left:2px solid var(--border);padding:13px 0 13px 18px;cursor:pointer;transition:color .25s,border-color .25s,background .25s}
.pv-tab .pn{margin-top:2px}
.pv-tx{display:flex;flex-direction:column;min-width:0}
.pv-td{font-size:12.5px;font-weight:500;color:var(--muted);line-height:1.5;max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .45s cubic-bezier(.2,.7,.2,1),opacity .3s,margin-top .3s}
.pv-tab.on .pv-td{max-height:96px;opacity:1;margin-top:6px}
.pv-tab:hover{color:var(--ink)}
.pv-tab.on{color:var(--ink);border-left-color:var(--red);background:linear-gradient(90deg,rgba(230,38,28,.07),transparent)}
.pv-tab .pn{font-size:12px;font-weight:800;color:var(--muted-2);font-variant-numeric:tabular-nums;flex:none}
.pv-tab.on .pn{color:var(--red)}
.pv-stage{min-width:0}
.pv-window{position:relative;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--border);box-shadow:0 44px 90px -50px rgba(20,28,46,.42),0 2px 8px -2px rgba(20,28,46,.06)}
.pv-chrome{display:flex;align-items:center;gap:10px;padding:11px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}
.pv-dots{display:flex;gap:6px}
.pv-dots i{width:10px;height:10px;border-radius:50%;background:#dfe2e8}
.pv-url{margin-left:8px;font-size:12px;font-weight:600;color:#8a8f9a;background:#fff;border:1px solid var(--border);border-radius:7px;padding:4px 14px}
.pv-screen{position:relative;background:#fff}
.pv-shead{padding:20px 24px 2px}
.pv-ht{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.2}
.pv-hs{display:block;margin-top:5px;font-size:13px;font-weight:500;color:var(--muted);line-height:1.4}
.pv-panels{position:relative;transition:height .5s var(--expo);overflow:hidden}
.pv-panel{position:absolute;left:0;right:0;top:0;padding:18px 24px 26px;opacity:0;transform:scale(1.01);transition:opacity .5s var(--expo),transform .6s var(--expo);pointer-events:none}
.pv-panel.on{opacity:1;transform:none;pointer-events:auto}
.pv-panel .shot{width:100%;height:auto;display:block}
/* Body Composition — rebuilt natively from the app's own vectors */
.bc{display:grid;grid-template-columns:.72fr 1fr .95fr;gap:24px;align-items:center}
.bc img{width:100%;height:auto;display:block}
.bc-stats{border:1px solid var(--border);border-radius:12px;background:var(--surface-2);padding:2px 16px}
.bc-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 0;font-size:13.5px}
.bc-row+.bc-row{border-top:1px solid var(--border)}
.bc-row .k{color:var(--muted);font-weight:600}
.bc-row .v{color:var(--ink);font-weight:800;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
/* Physiological Performance Benchmarks — 8 real gauges */
.bm{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.bm-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);padding:14px 14px 12px}
.bm-n{font-size:12.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em;min-height:2.4em;line-height:1.2}
.bm-card img{width:100%;max-width:150px;height:auto;display:block;margin:2px auto 8px}
.bm-v{font-size:11.5px;color:var(--muted);font-weight:600;line-height:1.7;white-space:nowrap}
.bm-v b{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}
/* Load Characteristics — all six graphs, 3 x 2 */
.lc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lc img{width:100%;height:auto;display:block;border:1px solid var(--border);border-radius:10px;background:#fff}
.pv-progress{position:absolute;left:0;bottom:0;height:3px;background:var(--red);width:0;z-index:3}
.pv-cap{margin:18px auto 0;font-size:14.5px;font-weight:600;color:var(--muted);min-height:22px;text-align:center;max-width:60ch}
@media(max-width:1000px){
  .pv-tour{grid-template-columns:1fr;gap:26px;margin-top:32px}
  .pv-tabs{flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center}
  .pv-tab{width:auto;border-left:0;border:1px solid var(--border-2);border-radius:99px;padding:8px 13px;font-size:12px;background:var(--surface-2)}
  .pv-tab.on{border-color:transparent;background:var(--red);color:#fff}
  .pv-tab.on .pn{color:#fff}
  .pv-tab .pn{display:none}
  .pv-td{display:none}
}
@media(max-width:760px){
  .pv{padding:74px 0}
  .pv-panel{padding:12px 14px 18px}
  .pv-shead{padding:14px 16px 2px}
  .pv-ht{font-size:16px}
  .pv-hs{font-size:11.5px}
  .bc{grid-template-columns:1fr;gap:16px}
  .lc{grid-template-columns:1fr 1fr;gap:10px}
  .bm{grid-template-columns:1fr 1fr;gap:10px}
  .bm-n{min-height:0;font-size:11.5px}
  .bm-v{font-size:10.5px}
}
@media(max-width:480px){.lc{grid-template-columns:1fr}.bm{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pv-panel{transition:opacity .2s}.pv-panels{transition:none}.pv-progress{display:none}}

/* ============ 4c/4d. SOFTWARE — alternative variants (Igor picks one) ============ */
.var-chip{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--carb);background:rgba(234,88,13,.08);border:1px solid rgba(234,88,13,.3);padding:6px 14px;border-radius:99px;margin-bottom:16px;align-self:center}

/* — VARIANT 1: full-width metric marquee (SaaSify ref) — */
.swv1{position:relative;z-index:2;padding:110px 0 0}
.swv1 .sec-head{margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;max-width:820px}
.mq-band{margin-top:56px;padding:46px 0 58px;background:linear-gradient(180deg,#f3f7fa,#e9f0f6);border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:18px;overflow:hidden}
.mq-row{display:flex;gap:18px;width:max-content;will-change:transform}
.mq-row .dq-tile.graph{width:344px}
.mq-row .dq-tile.metric{width:258px}
.mq-cap{text-align:center;font-size:13.5px;font-weight:700;color:var(--muted);margin-top:26px}

/* — VARIANT 3: metric rain — columns of cards looping vertically on white, alternating directions — */
.swv3{position:relative;z-index:2;overflow:hidden}
.rain{position:relative;height:clamp(640px,92vh,860px)}
.rain-cols{position:absolute;inset:-60px 0;display:flex;gap:18px;justify-content:center;padding:0 14px}
.rain-col{flex:1;max-width:252px;display:flex;flex-direction:column;gap:18px;opacity:.85;will-change:transform;animation:rainUp var(--dur,44s) linear infinite}
.rain-col:nth-child(even){animation-name:rainDown}
.rain-col .dq-tile,.rain-col .dq-tile.graph,.rain-col .dq-tile.metric{width:100%;box-shadow:0 14px 30px -20px rgba(20,28,46,.28);border-color:var(--border)}
@keyframes rainUp{to{transform:translateY(-50%)}}
@keyframes rainDown{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.rain-veil{position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse 58% 46% at 50% 50%,rgba(255,255,255,.97),rgba(255,255,255,.72) 55%,rgba(255,255,255,.16) 80%,transparent),linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 16%,rgba(255,255,255,0) 84%,#fff 100%)}
.rain-copy{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px}
.rain-copy .var-chip{margin-bottom:22px}
.rain-copy h2{margin-top:20px;max-width:16ch;font-size:clamp(32px,4.4vw,58px);font-weight:800;letter-spacing:-.035em;line-height:1.07;color:var(--ink);text-shadow:0 2px 34px rgba(255,255,255,.95),0 1px 2px rgba(255,255,255,.7)}
.rain-copy h2 .accent{color:var(--red);text-shadow:0 2px 34px rgba(255,255,255,.95),0 1px 2px rgba(255,255,255,.7)}
@media(max-width:1000px){.rain-col:nth-child(n+5){display:none}.rain{height:70vh;min-height:540px}}
@media(max-width:640px){.rain-col:nth-child(n+4){display:none}.rain-cols{gap:12px}.rain-col{gap:12px}}
@media(prefers-reduced-motion:reduce){.rain-col{animation:none}}

/* — VARIANT 4: cinematic pinned scroll (hand-rolled GSAP-style scrub) — */
.swv4{position:relative;z-index:2}
.cin-track{height:340vh;position:relative}
.cin-stage{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cin-grid{position:absolute;inset:0;background-size:60px 60px;background-image:linear-gradient(to right,rgba(27,31,59,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(27,31,59,.05) 1px,transparent 1px);-webkit-mask-image:radial-gradient(ellipse at center,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 0%,transparent 70%)}
.cin-intro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;will-change:transform,opacity,filter}
.cin-intro h2{font-size:clamp(36px,5vw,68px);font-weight:800;letter-spacing:-.04em;line-height:1.05;color:var(--ink);text-shadow:0 10px 30px rgba(27,31,59,.14)}
.cin-hint{margin-top:36px;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-2);display:flex;flex-direction:column;align-items:center;gap:9px}
.cin-hint i{width:1.5px;height:34px;background:linear-gradient(var(--red),transparent);display:block;animation:hintDrop 1.7s var(--expo) infinite}
@keyframes hintDrop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.cin-card{position:absolute;left:50%;top:50%;width:min(90vw,1340px);height:80vh;transform:translate(-50%,-50%) translateY(110vh);border-radius:36px;z-index:3;background:linear-gradient(165deg,#ffffff 0%,#eef2f7 100%);box-shadow:0 60px 130px -45px rgba(20,28,46,.38),0 2px 10px -2px rgba(20,28,46,.08),inset 0 1px 0 rgba(255,255,255,.9);border:1px solid var(--border);overflow:hidden;will-change:transform}
.cin-inner{position:relative;width:100%;height:100%;max-width:1400px;margin:0 auto}
.cin-athlete{position:absolute;left:50%;bottom:0;height:90%;width:auto;transform:translateX(-50%) translateY(14%) scale(.86);opacity:0;will-change:transform,opacity;filter:drop-shadow(0 34px 44px rgba(20,28,46,.3))}
.cin-g{position:absolute;z-index:6;width:120px;background:linear-gradient(160deg,rgba(247,249,252,.92),rgba(226,231,238,.85));border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:11px 13px 12px;box-shadow:0 22px 44px -22px rgba(20,28,46,.4),inset 0 1px 0 rgba(255,255,255,.85);opacity:0;will-change:opacity;animation:gbob 6.6s ease-in-out infinite alternate}
.cin-g .gx{display:block;width:84px;height:auto;margin:0 auto}
.cin-g1{left:calc(50% - 288px);top:27%}
.cin-g2{left:calc(50% - 240px);bottom:11%;animation-duration:7.6s;animation-delay:-1.3s}
.cin-g3{left:calc(50% - 238px);top:8%;animation-duration:7.1s;animation-delay:-2.2s}
.cin-graphs{position:absolute;left:calc(50% + 200px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:28px;z-index:5}
.cin-graphs .cg{width:min(24vw,304px);background:linear-gradient(160deg,rgba(247,249,252,.94),rgba(226,231,238,.88));border:1px solid rgba(255,255,255,.8);border-radius:16px;padding:12px 14px 13px;box-shadow:0 26px 50px -26px rgba(20,28,46,.42),inset 0 1px 0 rgba(255,255,255,.85);opacity:0;will-change:opacity;animation:gbob 8.1s ease-in-out infinite alternate;animation-delay:-.7s}
.cin-graphs .cg+.cg{margin-left:26px;animation-duration:7.2s;animation-delay:-2.8s}
.cin-graphs svg{width:100%;height:auto;display:block}
.cg-ln{fill:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.cg-grid line{stroke:rgba(27,31,59,.07);stroke-width:1.5}
.cg-leg{font-family:'Manrope';font-size:13px;font-weight:700;fill:#3a4150}
.cin-reveal{position:absolute;left:clamp(26px,4vw,72px);top:50%;transform:translateY(-50%);z-index:7;font-size:clamp(30px,3.4vw,50px);font-weight:800;letter-spacing:-.035em;line-height:1.08;max-width:8ch;opacity:0;background:linear-gradient(180deg,var(--ink) 0%,#4a5068 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 10px 20px rgba(27,31,59,.18));clip-path:inset(-8% 100% -8% 0)}
.cin-reveal .accent{background:linear-gradient(180deg,#ff5a50 0%,var(--red) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* static fallback (mobile / reduced motion) */
.swv4.cin-static .cin-track{height:auto}
.swv4.cin-static .cin-stage{position:relative;height:auto;padding:80px 0 30px;flex-direction:column}
.swv4.cin-static .cin-intro{position:relative;inset:auto}
.swv4.cin-static .cin-hint{display:none}
.swv4.cin-static .cin-card{position:relative;left:auto;top:auto;transform:none;width:92vw;height:auto;min-height:540px;margin:44px auto 70px;aspect-ratio:4/5;max-height:640px}
.swv4.cin-static .cin-athlete{opacity:1;transform:translateX(-50%)}
.swv4.cin-static .cin-g,.swv4.cin-static .cin-graphs .cg{opacity:1;transform:none}
.swv4.cin-static .cin-reveal{opacity:1;clip-path:none;top:auto;bottom:6%;transform:none;font-size:24px}
.swv4.cin-static .cin-graphs{display:none}
.swv4.cin-static .cin-g2{display:none}
.swv4.cin-static .cin-g1{left:6%}
.swv4.cin-static .cin-g3{left:auto;right:6%}
@media(max-width:1280px){
  .cin-g1{left:calc(50% - 258px);top:27%}
  .cin-g2{left:calc(50% - 216px)}
  .cin-g3{left:calc(50% - 214px)}
  .cin-g4{left:calc(50% - 244px)}
  .cin-graphs{left:calc(50% + 178px)}
  .cin-graphs .cg{width:min(22vw,272px)}
  .cin-reveal{max-width:7ch}
}

/* — VARIANT 5: container scroll — tablet straightens on scroll, metric rain inside (Aceternity ref) — */
.swv5{position:relative;z-index:2;padding:100px 0 130px}
.cs5-wrap{position:relative;max-width:1100px;margin:0 auto;padding:0 28px;perspective:1150px}
.cs5-head{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:20px;will-change:transform}
.cs5-tab{position:relative;margin:26px auto 0;height:clamp(340px,56vw,620px);max-width:1024px;background:#1a1d24;border:4px solid #565b66;border-radius:30px;padding:13px;box-shadow:0 9px 20px rgba(0,0,0,.29),0 37px 37px rgba(0,0,0,.26),0 84px 50px rgba(0,0,0,.15),0 149px 60px rgba(0,0,0,.04);transform:rotateX(22deg) scale(1.03);will-change:transform}
.cs5-screen{position:relative;width:100%;height:100%;border-radius:17px;overflow:hidden;background:#f7f9fc}
.cs5-rain{position:absolute;inset:-30px 0;display:flex;gap:14px;justify-content:center;padding:0 16px}
.cs5-rain .rain-col{gap:14px;opacity:1;max-width:225px}
.cs5-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#fff,transparent 15%,transparent 85%,#fff)}
@media(max-width:760px){.swv5{padding:70px 0 90px}.cs5-tab{border-width:3px;padding:8px;border-radius:22px}.cs5-screen{border-radius:13px}}

/* — VARIANT 2: guided tabs on top + app window with overlays (Figma section 04 ref) — */
.swv2{position:relative;z-index:2;padding:110px 0 120px}
.swv2 .container{max-width:1200px;display:flex;flex-direction:column}
.swv2 .sec-head{max-width:760px}
.swv2 .var-chip{align-self:flex-start}
.ft-tabs{margin-top:52px;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,1.8vw,28px)}
.ft-tab{position:relative;overflow:hidden;text-align:left;background:transparent;border:0;border-top:2px solid var(--border);padding:20px 8px 12px 0;cursor:pointer;font-family:inherit}
.ft-tab .bar{position:absolute;top:-2px;left:0;height:2px;width:0;background:var(--red)}
.ft-head{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.ft-tab .ic{flex:none;width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:background .3s,color .3s,border-color .3s}
.ft-tab .ic svg{width:15px;height:15px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ft-tab h3{font-size:14.5px;font-weight:800;color:var(--muted);letter-spacing:-.015em;line-height:1.25;transition:color .3s}
.ft-tab:hover h3{color:var(--ink)}
.ft-tab.on h3{color:var(--ink)}
.ft-tab.on .ic{background:rgba(230,38,28,.08);border-color:rgba(230,38,28,.3);color:var(--red)}
.ft-window{margin-top:36px;position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--border);box-shadow:0 50px 100px -55px rgba(20,28,46,.45),0 2px 8px -2px rgba(20,28,46,.06);background:linear-gradient(155deg,#f5f8fb,#e8eef5)}
.ft-panels{position:relative;aspect-ratio:16/7.6}
.ft-panel{position:absolute;inset:0;overflow:hidden;opacity:0;transform:scale(1.015);transition:opacity .55s var(--expo),transform .7s var(--expo);pointer-events:none}
.ft-panel.on{opacity:1;transform:none;pointer-events:auto}
.ft-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.ft-bg.dim{opacity:.42;filter:blur(2.5px) saturate(.85)}
.ft-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(245,248,251,.2),rgba(240,245,250,.86))}
.ft-chip{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:99px;padding:9px 17px;font-size:12.5px;font-weight:700;color:var(--ink);box-shadow:0 14px 34px -16px rgba(20,28,46,.4);white-space:nowrap}
.ft-chip i{width:7px;height:7px;border-radius:50%;background:var(--red);flex:none}
.ft-chip s{color:var(--muted-2);font-weight:600;margin-right:2px}
/* panel 1 — hub: your data sources feed one engine */
.hub-lines{position:absolute;inset:0;width:100%;height:100%}
.hub-lines path{fill:none;stroke:rgba(78,109,140,.42);stroke-width:1.6;stroke-dasharray:5 7}
.hub-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 28px 60px -28px rgba(20,28,46,.45);padding:20px 26px;text-align:center}
.hub-core img{height:22px;width:auto;margin:0 auto 8px}
.hub-core span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hub-card{position:absolute;z-index:4;width:186px;text-align:center;animation:gbob 7s ease-in-out infinite alternate}
.hub-card:nth-child(odd){animation-duration:7.8s;animation-delay:-2s}
.hub-card img{width:100%;height:118px;object-fit:contain;display:block;margin-bottom:9px;filter:drop-shadow(0 20px 26px rgba(20,28,46,.3))}
.hub-card .hn{font-size:13.5px;font-weight:800;color:var(--ink);display:block;line-height:1.2}
.hub-card .hv{font-size:11px;font-weight:600;color:var(--muted);display:block;margin-top:3px}
.hc-1{left:8%;top:11%}
.hc-2{right:8%;top:11%}
.hc-3{left:8%;bottom:12%}
.hc-4{right:8%;bottom:12%}
/* panel 2 — complete picture: mini metric rain on white, white fades top/bottom */
.ft-p2{background:#fff}
.p2-rain{position:absolute;inset:-50px 0;display:flex;gap:16px;justify-content:center;padding:0 22px}
.p2-rain .rain-col{opacity:1;max-width:236px;gap:16px}
.p2-rain .rain-col .dq-tile{box-shadow:0 14px 30px -20px rgba(20,28,46,.3);border-color:var(--border)}
.p2-veil{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 20%,rgba(255,255,255,0) 80%,#fff 100%)}
/* panel 3 — physiology-based zones over a training-session photo */
.ft-p3 .ft-bg{object-position:center 20%}
.p3-table{position:absolute;left:4%;bottom:9%;width:min(56%,620px);z-index:5;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 30px 64px -30px rgba(14,22,38,.6);padding:12px;animation:gbob 7.6s ease-in-out infinite alternate}
.p3-table img{width:100%;height:auto;display:block;border-radius:8px}
.p3-graph{position:absolute;right:4%;top:11%;width:min(28%,320px);z-index:5;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 50px -24px rgba(14,22,38,.55);padding:12px;animation:gbob 7s ease-in-out infinite alternate;animation-delay:-2.2s}
.p3-graph img{width:100%;height:auto;display:block;border-radius:8px}
/* panel 4 — branded reports: homepage coverflow fan */
.ft-p4{background:linear-gradient(155deg,#f2f6fa,#e3ebf3)}
.rp-rf{position:absolute;inset:24px 0 12px;perspective:1600px;overflow:hidden}
.rp-stage{position:absolute;left:50%;top:50%;transform-style:preserve-3d}
.rp-card{position:absolute;left:0;top:0;width:236px;aspect-ratio:1050/1491;margin:-167px 0 0 -118px;border-radius:14px;overflow:hidden;background:#fff;outline:1px solid rgba(0,0,0,.06);outline-offset:-1px;box-shadow:0 26px 48px -26px rgba(20,28,46,.42);transition:transform 1.05s cubic-bezier(.32,.72,0,1),opacity 1.05s ease;will-change:transform,opacity}
.rp-card img{width:100%;height:100%;object-fit:cover;display:block}
.rp-rf::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(to right,#f0f4f9 0%,transparent 9%,transparent 91%,#e9eff6 100%),linear-gradient(to bottom,transparent 80%,#e7edf4 100%)}
@media(prefers-reduced-motion:reduce){.rp-card{transition:none}}
@media(max-width:1000px){
  .ft-tabs{grid-template-columns:repeat(2,1fr);gap:14px 22px}
  .ft-panels{aspect-ratio:auto;height:440px}
  .hub-card{padding:10px 12px;gap:9px}
  .hub-card .hv{display:none}
  .hc-1{left:4%;top:10%}
  .hc-2{right:4%;top:10%}
  .hc-3{left:4%;bottom:10%}
  .hc-4{right:4%;bottom:10%}
  .p3-graph{width:min(34%,250px)}
  .p3-table{width:min(70%,560px)}
  .mq-row .dq-tile.graph{width:250px}
  .mq-row .dq-tile.metric{width:190px}
}
@media(max-width:640px){
  .ft-tabs{grid-template-columns:1fr 1fr;gap:12px 16px}
  .ft-tab h3{font-size:13px}
  .ft-panels{height:380px}
  .hub-core{padding:13px 16px}
  .hub-card{width:124px;padding:8px}
  .hub-card img{height:56px;margin-bottom:5px}
  .hub-card .hn{font-size:11px}
  .hc-1{top:6%;left:4%}
  .hc-2{top:21%;right:4%}
  .hc-3{bottom:31%;left:4%}
  .hc-4{bottom:16%;right:4%}
  .p4-fan .r1{transform:translateX(-34%) rotate(-7deg)}
  .p4-fan .r3{transform:translateX(34%) rotate(7deg)}
}

/* ============ 4. REINFORCEMENT — outdoor Higgsfield shot as full section background ============ */
.reinf{position:relative;z-index:2;color:#fff;background:#10141f}
.reinf-band{position:relative;min-height:clamp(560px,66vh,720px);display:flex;align-items:center;overflow:hidden}
.reinf-band>.bg{position:absolute;top:0;bottom:0;right:0;width:114%;height:100%;object-fit:cover;object-position:center 30%}
.reinf-shade{position:absolute;inset:0;background:linear-gradient(96deg,rgba(8,11,20,.82) 0%,rgba(8,11,20,.55) 34%,rgba(8,11,20,.14) 60%,transparent 78%),linear-gradient(180deg,rgba(8,11,20,.14),transparent 30%,transparent 72%,rgba(8,11,20,.3))}
.reinf-band .container{position:relative;z-index:3;width:100%}
.reinf-copy{max-width:560px;margin-right:auto;padding:100px 0}
.reinf-copy .eyebrow{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.82);box-shadow:none}
.reinf-copy h2{font-size:clamp(30px,3.9vw,50px);font-weight:800;letter-spacing:-.035em;line-height:1.08;margin-top:18px;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.reinf-copy h2 .accent{color:var(--red);text-shadow:0 1px 3px rgba(0,0,0,.45),0 2px 24px rgba(0,0,0,.35)}
/* floating gauges over the photo (hero card style) */
.reinf-band .gfloat{z-index:5}
.reinf-band.in .gfloat{opacity:1;transform:none}
.rf-vo2{top:7%;right:33%}
.rf-vla{top:26%;right:4%}
.rf-fat{bottom:6%;right:30%}

/* ============ 5. SOLUTION (image comparison slider: your data <-> 360° profile) ============ */
.sol{position:relative;z-index:2;padding:120px 0}
.curvecard{padding:20px 22px 18px}
.curvecard .ct{font-size:14.5px;font-weight:800;letter-spacing:-.015em;display:flex;align-items:center;gap:9px;margin-bottom:2px}
.curvecard .ct i{width:8px;height:8px;border-radius:50%}
.curvecard.lac .ct i{background:var(--red)}
.curvecard.pow .ct i{background:var(--rec)}
.curvecard .cc-sub{font-size:12px;font-weight:600;color:var(--muted-2);margin-bottom:10px}
.curvecard svg{width:100%;height:auto;display:block}
.cv-ax{stroke:var(--border-2);stroke-width:1.2}
.cv-grid{stroke:rgba(27,31,59,.06);stroke-width:1}
.cv-tick{fill:var(--muted-2);font-size:10px;font-weight:700;font-family:'Manrope'}
.cv-lac{fill:none;stroke:var(--red);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.cv-dot{fill:#fff;stroke:var(--red);stroke-width:2.4}
.cv-pow{fill:none;stroke:var(--rec);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.cv-fill-lac{fill:rgba(230,38,28,.06)}
.cv-fill-pow{fill:rgba(78,109,140,.08)}
.cv-asym{stroke:var(--muted-2);stroke-width:1.3;stroke-dasharray:4 5;fill:none}
.cv-thr{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:3 4}
.cv-thr-lab{fill:var(--ink);font-size:10px;font-weight:800;font-family:'Manrope'}
.cv-note{fill:var(--rec);font-size:10.5px;font-weight:800;font-family:'Manrope'}
.cv-draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.in .cv-draw{transition:stroke-dashoffset 1.7s var(--expo);stroke-dashoffset:0}
.in .cv-draw.d2{transition-delay:.2s}
.cv-fade{opacity:0;transition:opacity .5s ease 1.2s}
.in .cv-fade{opacity:1}

/* metric marquee (auto-scroll, lives inside the slider's right layer) */
.dragq{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 100%);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 100%);display:flex;flex-direction:column;gap:16px;pointer-events:none}
.dragq-row{display:flex;gap:16px;width:max-content;will-change:transform}
.dq-tile{background:#fff;border:1px solid rgba(20,28,46,.08);border-radius:14px;box-shadow:0 16px 34px -22px rgba(20,28,46,.3);padding:11px;flex:none;display:flex;align-items:center;justify-content:center;pointer-events:none}
.dq-tile.graph{width:300px}
.dq-tile.metric{width:232px}
/* the gallery captures already carry their own card edge — no second border on comparison-slider tiles */
.cmpslider .dq-tile{border:0;background:transparent;box-shadow:none;padding:0}
/* Solution · Variant 2 — two columns: copy left, the SAME drag slider right */
.sol2{padding:110px 0 120px;position:relative;z-index:2}
.sol2 .container{max-width:1304px}
.sol2-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,4vw,56px);margin-top:8px;align-items:center;width:100%}
.sol2-grid>*{min-width:0}
.sol2-copy .eyebrow{margin-bottom:18px}
.sol2-copy .sec-title{text-align:left;font-size:clamp(30px,2.9vw,46px);margin:0 0 18px}
.sol2-copy .sec-sub{text-align:left;margin:0 0 22px;max-width:52ch}
.sol2-copy .cmp-cap{text-align:left;margin:0}
.sol2 .cmpslider{height:clamp(460px,40vw,560px)}
.sol2 .cs-in{padding:30px 24px 20px;gap:12px}
.sol2 .cs-in .curvecard{width:min(72%,460px)}
.sol2 .cs-in .curvecard svg{max-height:clamp(120px,calc(20vw - 117px),170px)}
.sol2 .cv-draw{stroke-dashoffset:0!important}
.sol2 .cv-fade{opacity:1!important}
.sol2 .dq-tile.graph{width:300px}
.sol2 .dq-tile.metric{width:230px}
@media(max-width:860px){.sol2{padding:80px 0 84px}.sol2-grid{grid-template-columns:1fr;gap:22px}.sol2 .cmpslider{height:470px}.sol2 .cs-in .curvecard{width:min(86%,300px)}}
.dq-tile img{width:100%;height:auto;display:block;border-radius:7px}

/* variant folds: alternative sections collapse under a left-edge toggle bar */
.fold{position:relative;z-index:2}
.fold-bar{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface);border:0;border-top:1px dashed var(--border-2);border-bottom:1px dashed var(--border-2);padding:13px 18px 13px max(20px,calc((100vw - 1200px)/2 + 32px));cursor:pointer;font-family:'Manrope';font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);transition:color .2s,background .2s}
.fold-bar:hover{color:var(--ink);background:var(--surface-2)}
.fold-bar i{width:0;height:0;border-left:6px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .25s;flex:none}
.fold.open .fold-bar i{transform:rotate(90deg)}
.fold-body{display:none}
.fold.open .fold-body{display:block}
.fold+.fold:not(.fold-gap) .fold-bar{border-top:0}
.fold-gap{margin-top:34px}

/* ============ 6. TRACK (PD chart) ============ */

/* ---- business ROI R43: shared typed+slider controls ---- */
.bz-ctl{margin-bottom:20px;min-width:0}
.bz-lab{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.bz-lab label{font-size:15px;font-weight:700;color:var(--ink)}
.bz-ctl input[type=number]{width:96px;font:inherit;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);background:#fff;border:1px solid var(--border-2);border-radius:11px;padding:9px 12px;text-align:right;transition-property:border-color,box-shadow;transition-duration:.25s}
.bz-ctl input[type=number]:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(230,38,28,.12)}
.bz-ctl input[type=number]::-webkit-outer-spin-button,.bz-ctl input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bz-num{display:inline-flex;align-items:center;gap:6px}
.bz-num i{font-style:normal;font-size:14px;font-weight:800;color:var(--muted-2)}
.bz-ctl input[type=range]{width:100%;accent-color:var(--red);height:20px;cursor:pointer}
.bz-hint{font-size:11.5px;line-height:1.5;color:var(--muted-2);margin:7px 0 0}
.bz-demo{display:flex;align-items:center;justify-content:space-between;gap:26px;background:linear-gradient(120deg,#171b33,#0d1022);border-radius:18px;padding:24px 28px;margin-top:38px}
.bz-demo p{font-size:18px;font-weight:700;color:#fff;margin:0;max-width:52ch;text-wrap:balance}
.bza-cap{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.bza-math{display:grid;grid-template-columns:1fr auto;gap:9px 16px;font-size:13.5px;font-weight:700;color:var(--muted)}
.bza-math b{font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;white-space:nowrap}
.bza-math .tt{border-top:1.5px solid var(--ink);padding-top:9px;margin-top:2px}
.bza-math b.tt{color:var(--red);font-size:16px}
.bza-ph{font-size:12.5px;line-height:1.6;color:var(--muted-2);margin:16px 0 0}
.bza-ph b{color:var(--muted);font-variant-numeric:tabular-nums}
/* variant A: calculator + trajectory + equation flow */
.bza{position:relative;z-index:2;padding:130px 0}
.bza-title{font-size:clamp(36px,4.6vw,60px);margin:22px 0 10px;letter-spacing:-.03em;text-wrap:balance}
.bza-strip{display:grid;grid-template-columns:.78fr 1.35fr;gap:52px;margin-top:50px;align-items:start}
.bza-right{min-width:0}
.bza-headline{font-size:clamp(21px,2.1vw,28px);font-weight:800;letter-spacing:-.015em;color:var(--ink);margin:0 0 26px;text-wrap:balance;position:relative;z-index:2}
.bza-headline b{color:var(--red);font-variant-numeric:tabular-nums}
.bz-growth{position:relative;background:transparent;border-radius:0;box-shadow:none;padding:6px 0 34px;overflow:visible}
.bz-growth svg{position:relative;width:100%;height:196px;display:block;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 84%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 90%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 84%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 90%,transparent 100%);mask-composite:intersect}
.g-months{position:absolute;left:calc(33.3% + 10px);right:6px;bottom:20px;display:flex;justify-content:space-between}
.g-months span{font-size:9.5px;font-weight:700;color:var(--muted-2);font-variant-numeric:tabular-nums}
.g-months span.gh:nth-last-child(2){opacity:.4}
.g-months span.gh:last-child{opacity:.16}
.g-mlab{position:absolute;left:calc(33.3% + 10px);right:6px;bottom:4px;text-align:center;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.bza-notes{margin-top:26px;border-top:1px solid var(--border-2);padding-top:20px}
.bza-notes h4{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.bza-notes ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bza-notes li{position:relative;padding-left:16px;font-size:12.5px;line-height:1.55;color:var(--muted)}
.bza-notes li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--red);opacity:.75}
.bza-notes li b{color:var(--ink)}
.g-ax{position:absolute;bottom:18px;font-size:11.5px;font-weight:700;color:var(--muted-2)}
.g-ax.l{left:2px}
.g-mark{position:absolute;left:33.3%;top:-2px;transform:translateX(-50%);font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--red);background:rgba(230,38,28,.07);border-radius:99px;padding:4px 11px;white-space:nowrap}
.g-pill{position:absolute;right:16%;background:var(--surface-2);border:1px solid var(--border);border-radius:99px;padding:5px 12px;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);transition:top .8s var(--expo)}
.bza-sums{display:grid;grid-template-columns:1fr 1fr;gap:16px 34px;margin-top:24px}
.bza-sums h4{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.bza-sums .bza-ph{grid-column:1/-1;margin-top:2px}
.bza-flow{display:grid;grid-template-columns:1fr 68px 1fr 68px 1fr 68px 1.04fr;gap:0;align-items:stretch;margin-top:56px;border-top:1px solid var(--border-2);padding-top:0}
.bza-cell{display:flex;flex-direction:column;padding:28px 0 26px 0}
.bza-cell .hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.bza-cell .n{font-size:26px;font-weight:300;color:rgba(27,31,59,.28);font-variant-numeric:tabular-nums;line-height:1}
.bza-cell h3{font-size:18.5px;margin:0 0 9px}
.bza-cell .hd em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--red);border-radius:99px;padding:3px 9px;display:inline-block;vertical-align:2px;white-space:nowrap}
.bza-cell p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 20px}
.bza-cell .v{margin-top:auto}
.bza-cell .v.today{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);padding-bottom:6px}
.bza-cell .v.live{font-size:15px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.bza-cell .v.live b{font-size:26px;color:var(--red)}
.bza-cell .v.live span{display:block;font-size:11.5px;font-weight:700;color:var(--muted-2);margin-top:4px;min-height:32px}
.bza-cell .v.live span b{font-size:11.5px;color:var(--muted);font-weight:800}
.bza-plus{display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:300;color:rgba(27,31,59,.3);padding-bottom:10px}
.bza-plus.eq{font-size:38px;color:var(--ink);font-weight:400}
.bza-cell.tot{background:linear-gradient(180deg,#fff,#f4f7fb);box-shadow:inset 0 0 0 1px var(--border);border-radius:0 0 18px 18px;padding:28px 22px 26px}
.bza-cell.tot .n{color:var(--red)}
/* variant B: departure board, light */
.bzc{position:relative;z-index:2;padding:130px 0}
/* the calculator lives inside a lab section here: keep the page rhythm and a left head */
.lab-sec.bzc{padding:clamp(56px,8vw,104px) 0}
#business .lp4-head{text-align:left;max-width:820px;margin-left:0;margin-right:0}
#business .lp4-head .sec-sub{margin-left:0;margin-right:0}
#business .l9-pillars{justify-content:flex-start}
#business .bz3-col{justify-content:flex-start}
/* plate removed on request: the section sits directly on the page background */
.bzc-panel{max-width:none;width:100%;margin:0;border-radius:0;background:transparent;border:0;box-shadow:none;padding:30px 0 0}
.bzc-title{font-size:clamp(32px,4vw,52px);margin:20px 0 0;letter-spacing:-.03em}
.bzc-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;margin-top:44px;align-items:start}
.bzc-total{background:#fff;border-radius:22px;box-shadow:inset 0 0 0 1px var(--border),0 24px 60px -38px rgba(20,28,46,.3);padding:26px 30px}
.bzc-total .lbl{display:block;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.bzc-totnote{font-size:11.5px;color:var(--muted-2);font-weight:600;margin:12px 0 0}
.bzc-sum{margin-top:18px;border-top:1px dashed var(--border-2);padding-top:16px}
.odo{display:flex;gap:5px}
.odo .od-cell{position:relative;height:64px;border-radius:9px;background:linear-gradient(180deg,#ffffff,#f2f5f9 48%,#e9edf3 52%,#f6f8fb);box-shadow:inset 0 0 0 1px var(--border-2),0 6px 16px -8px rgba(20,28,46,.25);min-width:42px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.odo .od-cell:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(27,31,59,.16)}
.odo .od-static{font-size:36px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.odo .od-col{position:relative;width:100%;height:100%}
.odo .od-strip{position:absolute;left:0;right:0;top:0;transition:transform .75s var(--expo)}
.odo .od-strip b{display:flex;align-items:center;justify-content:center;height:64px;font-size:36px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.bzc-board{margin-top:44px;border-radius:18px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--border),0 24px 60px -40px rgba(20,28,46,.28)}
.bzc-rowh,.bzc-row{display:grid;grid-template-columns:1fr 120px 240px;gap:18px;align-items:center;padding:16px 26px}
.bzc-rowh{background:var(--surface-2);font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2)}
.bzc-row{border-top:1px solid var(--border)}
.bzc-row .sd b{display:block;font-size:16.5px;font-weight:800;color:var(--ink)}
.bzc-row .sd p{font-size:12.5px;line-height:1.55;color:var(--muted);margin:4px 0 0;max-width:56ch}
.bzc-row .st{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:99px;padding:4px 12px;justify-self:start}
.bzc-row .st.y{color:var(--muted);box-shadow:inset 0 0 0 1px var(--border-2)}
.bzc-row .st.n{color:#fff;background:var(--red)}
.bzc-row .st.t{color:#fff;background:var(--ink)}
.bzc-row i{font-style:normal;font-size:16px;font-weight:800;color:var(--green);text-align:right;font-variant-numeric:tabular-nums}
.bzc-row i span{color:inherit}
.bzc-row.tot{background:linear-gradient(90deg,rgba(230,38,28,.045),transparent 60%)}
.bzc-row.tot i{color:var(--red);font-size:18px}
/* -- business v2: model section captions, country picker, INSCYD cost line -- */
.bz2-sec{margin:28px 0 14px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.bz2-sec i{width:6px;height:6px;border-radius:50%;background:var(--red);flex:none}
.cty{position:relative;margin-bottom:6px}
.cty label{display:block;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px}
.cty input{width:100%;font:inherit;font-size:16px;font-weight:700;color:var(--ink);background:#fff;border:1px solid var(--border-2);border-radius:12px;padding:11px 58px 11px 14px;transition-property:border-color,box-shadow;transition-duration:.25s}
.cty input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(230,38,28,.12)}
.cty .cur{position:absolute;right:13px;bottom:13px;font-size:11.5px;font-weight:800;letter-spacing:.04em;color:var(--muted-2);pointer-events:none}
.cty-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:264px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 30px 70px -30px rgba(20,28,46,.4);display:none}
.cty-list.open{display:block}
.cty-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:none;border:0;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:var(--ink);padding:10px 14px}
.cty-list button:hover,.cty-list button.act{background:var(--surface-2)}
.cty-list button span{color:var(--muted-2);font-size:11px;font-weight:800}
.cty-list .none{padding:12px 14px;font-size:13px;color:var(--muted-2)}
.bzc-cost{margin-top:14px;border-top:1px dashed var(--border-2);padding-top:12px;font-size:12.5px;line-height:1.6;color:var(--muted);font-weight:600}
.bzc-cost b{color:var(--ink);font-variant-numeric:tabular-nums}
/* -- three-column restructure: inputs as columns, totals below, report form -- */
.bz3-top{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:22px;align-items:end;margin-top:44px}
.bz3-top .bz-hint{margin:0 0 12px}
/* variant 1: tall section 01 left, 02+03 stacked right, equal heights */
.bz3-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px;align-items:stretch}
.bz3-stack{display:flex;flex-direction:column;gap:22px}
.bz3-stack .bz3-col{flex:1}
.bz3-col{background:#fff;border-radius:18px;box-shadow:inset 0 0 0 1px var(--border),0 20px 50px -34px rgba(20,28,46,.28);padding:20px 24px 8px;display:flex;flex-direction:column}
/* section 01 spreads its controls over the full card height, so no dead block at the bottom */
.bz3-cols > .bz3-col:first-child{justify-content:space-between}
.bz3-col .bz2-sec{margin:0 0 8px;font-size:13.5px;letter-spacing:.1em}
.bz3-desc{font-size:12.5px;line-height:1.55;color:var(--muted);margin:0 0 14px}
.bz3-col .bz-ctl{margin-bottom:16px}
.bz3-total{margin-top:26px;display:grid;grid-template-columns:1fr 1.15fr;gap:18px 56px;align-items:center}
.bz3-calccol .bz3-math{margin-top:20px;border-top:1px dashed var(--border-2);padding-top:16px}
.bz3-form.bz3-formcol{grid-column:auto;border-top:0!important;margin-top:0!important;padding-top:0!important;align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:var(--surface-2);border-radius:16px;padding:26px 28px!important;box-shadow:inset 0 0 0 1px var(--border)}
.bz3-formcol .bz3-form-row{grid-template-columns:1fr}
.bz3-formcol .cta-pill{justify-self:stretch;width:100%;justify-content:center}
.bz3-formcol .bz3-form-h{font-size:16px;line-height:1.45;margin-bottom:16px}
.bz3-big{margin-top:18px;font-size:clamp(22px,2.2vw,30px);font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.bz3-big span{color:var(--red);font-variant-numeric:tabular-nums}
.bz3-big em{display:block;font-style:normal;font-size:12.5px;font-weight:700;color:var(--muted-2);margin-top:4px}
.bz3-chip{display:inline-flex;align-items:center;gap:5px;margin-top:14px;font-size:12.5px;font-weight:700;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:99px;padding:7px 14px}
.bz3-chip b{color:var(--ink);font-variant-numeric:tabular-nums}
.bz3-math .bzc-sum{margin-top:0;border-top:0;padding-top:0}
.bz3-form{grid-column:1/-1;border-top:1px dashed var(--border-2);margin-top:10px;padding-top:20px}
.bz3-form-h{font-size:14px;font-weight:700;color:var(--ink);margin:0 0 12px}
.bz3-form-row{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:10px}
.bz3-form input{font:inherit;font-size:16px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--border-2);border-radius:12px;padding:11px 14px;min-width:0;transition-property:border-color,box-shadow;transition-duration:.25s}
.bz3-form input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(230,38,28,.12)}
.bz3-form input.err{border-color:var(--red);box-shadow:0 0 0 3px rgba(230,38,28,.12)}
.bz3-form .cta-pill{border:0;cursor:pointer;font:inherit;justify-self:start;white-space:nowrap}
.bz3-form-msg{font-size:13px;font-weight:700;color:var(--green);margin:12px 0 0}
@media(max-width:1020px){.bz3-cols{grid-template-columns:1fr}.bz3-total{grid-template-columns:1fr}.bz3-top{grid-template-columns:1fr;gap:8px}.bz3-form-row{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.bz3-form-row{grid-template-columns:1fr}}
/* variant D: balance scale */
.bze{position:relative;z-index:2;padding:130px 0}
.bze-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;margin-top:50px}
.bze-stage{min-width:0}
.sc-wrap{position:relative;height:380px;display:flex;align-items:flex-end;justify-content:center}
.sc-beam{position:absolute;left:50%;bottom:120px;width:min(560px,92%);height:12px;margin-left:min(-280px,-46%);border-radius:99px;background:linear-gradient(180deg,#2a3350,#1B1F3B);box-shadow:0 14px 30px -14px rgba(20,28,46,.5);transform:rotate(var(--a,-8deg));transform-origin:center;transition:transform .9s var(--expo)}
.sc-pan{position:absolute;bottom:12px;width:170px;transform:rotate(calc(var(--a,-8deg)*-1));transform-origin:bottom center;display:flex;flex-direction:column;align-items:center;transition:transform .9s var(--expo)}
.sc-pan.l{left:-24px}
.sc-pan.r{right:-24px}
.sc-val{font-size:17px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;margin-bottom:8px}
.sc-pan.r .sc-val{color:var(--red);font-size:20px}
.sc-chips{display:flex;flex-wrap:wrap-reverse;gap:3px;justify-content:center;align-items:flex-end;width:150px;min-height:12px;margin-bottom:6px}
.sc-chip{width:30px;height:9px;border-radius:4px;background:linear-gradient(180deg,#5E7FA3,#4E6D8C);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 2px 4px -2px rgba(20,28,46,.4)}
.sc-pan.r .sc-chip{background:linear-gradient(180deg,#F0554B,#E6261C)}
.sc-pan:after{content:"";width:150px;height:10px;border-radius:6px;background:#1B1F3B;box-shadow:0 8px 18px -8px rgba(20,28,46,.5)}
.sc-lab{margin-top:9px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);text-align:center}
.sc-pivot{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);width:0;height:0;border-left:26px solid transparent;border-right:26px solid transparent;border-bottom:92px solid #1B1F3B;border-radius:6px}
.sc-base{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:190px;height:12px;border-radius:99px;background:#1B1F3B;opacity:.9}
.bze-note{font-size:12.5px;line-height:1.6;color:var(--muted-2);margin:18px 0 0;text-align:center}
.bze-note b{color:var(--muted);font-variant-numeric:tabular-nums}
/* variant E: receipt printer */
.bzf{position:relative;z-index:2;padding:130px 0}
.bzf-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start}
.bzf-copy .bz-calc{margin-top:30px;max-width:480px}
.bzf-printer{position:relative;width:min(380px,100%);margin:0 auto}
.pr-body{position:relative;z-index:3;height:86px;border-radius:20px;background:linear-gradient(180deg,#2a2f45,#1B1F3B);box-shadow:0 30px 60px -30px rgba(20,28,46,.55),inset 0 1px 0 rgba(255,255,255,.14)}
.pr-slot{position:absolute;left:26px;right:26px;bottom:16px;height:9px;border-radius:99px;background:#0d1022;box-shadow:inset 0 2px 5px rgba(0,0,0,.7)}
.rc-paper{position:relative;z-index:2;width:calc(100% - 60px);margin:-6px auto 0;background:#fffdf7;padding:26px 24px 30px;font-family:'SFMono-Regular',ui-monospace,Menlo,monospace;box-shadow:0 30px 60px -34px rgba(20,28,46,.4);transform-origin:top center}
.rc-paper:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:9px;background:linear-gradient(-45deg,transparent 6px,#fffdf7 0) 0 0/18px 9px repeat-x,linear-gradient(45deg,transparent 6px,#fffdf7 0) 9px 0/18px 9px repeat-x}
.rc-paper.rp{animation:rcprint .6s var(--expo)}
@keyframes rcprint{0%{transform:translateY(-26px)}100%{transform:translateY(0)}}
.rc-h{font-size:13px;font-weight:700;letter-spacing:.08em;color:#14181f;margin:0;text-align:center}
.rc-sub{font-size:10px;letter-spacing:.06em;color:#8a8d96;margin:5px 0 16px;text-align:center;text-transform:uppercase}
.rc-line{display:flex;justify-content:space-between;gap:14px;font-size:11.5px;color:#3a4150;padding:5px 0;border-bottom:1px dashed rgba(27,31,59,.14)}
.rc-line b{font-weight:700;font-variant-numeric:tabular-nums;color:#14181f;white-space:nowrap}
.rc-line.neg b{color:var(--red)}
.rc-total{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:12px 0 8px;border-bottom:1px dashed rgba(27,31,59,.14)}
.rc-total span{font-size:11px;letter-spacing:.06em;color:#14181f;font-weight:700}
.rc-total b{font-size:22px;font-weight:700;color:#14181f;font-variant-numeric:tabular-nums}
.rc-note{font-size:9px;letter-spacing:.06em;color:#8a8d96;margin:8px 0 0;text-align:center}
.rc-bar{height:34px;margin:18px 10px 8px;background:repeating-linear-gradient(90deg,#14181f 0 2px,transparent 2px 5px,#14181f 5px 6px,transparent 6px 9px,#14181f 9px 12px,transparent 12px 14px)}
.rc-thanks{font-size:10px;letter-spacing:.1em;color:#8a8d96;text-align:center;margin:8px 0 0}
@media(max-width:1020px){
 .bza-strip{grid-template-columns:1fr;gap:34px}
 .bza-ctls{padding-right:0}
 .bza-flow{grid-template-columns:1fr;gap:0}
 .bza-plus{justify-content:flex-start;padding:8px 0}
 .bza-sums{grid-template-columns:1fr}
 .bzc-grid{grid-template-columns:1fr}
 .bze-grid,.bzf-grid{grid-template-columns:1fr}
}
@media(max-width:860px){
 .bza,.bzc,.bze,.bzf{padding:80px 0}
 .bza-strip{grid-template-columns:1fr;gap:30px;margin-top:40px}
 .bza-cell{padding-right:0}
 .bzc-panel{width:calc(100% - 24px);border-radius:24px;padding:54px 0 26px}
 .odo .od-cell{height:48px;min-width:32px}
 .odo .od-static,.odo .od-strip b{font-size:26px}
 .odo .od-strip b{height:48px}
 .bzc-rowh{display:none}
 .bzc-row{grid-template-columns:1fr;gap:8px}
 .bzc-row i{text-align:left}
 .sc-wrap{transform:scale(.72);transform-origin:center bottom;height:300px}
 .bz-demo{flex-direction:column;align-items:flex-start;gap:16px}
}
/* ---- track: performance development, light panel (cin-card style) ---- */
.track-sec{position:relative;z-index:2;padding:120px 0 130px}
.tk-panel{position:relative;max-width:1400px;width:calc(100% - 48px);margin:0 auto;border-radius:36px;overflow:hidden;background:linear-gradient(165deg,#ffffff 0%,#eef2f7 100%);box-shadow:0 60px 130px -45px rgba(20,28,46,.38),0 2px 10px -2px rgba(20,28,46,.08),inset 0 1px 0 rgba(255,255,255,.9);border:1px solid var(--border);padding:92px 0 46px}
.tk-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(52% 34% at 50% 0%,rgba(78,109,140,.07),transparent 70%)}
.tk-panel.tk-bare{background:transparent;border:0;box-shadow:none;border-radius:0}
.tk-bare .tk-glow{display:none}
.tk-bare .tk-chart{background:transparent;-webkit-mask-image:none;mask-image:none}
.tk-bare .tk-future{display:none}
.tk-head{position:relative;z-index:3;display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:end}
.tk-title{font-size:clamp(34px,4.6vw,56px);margin:18px 0 0;color:var(--ink);text-wrap:balance}
.tk-sub{font-size:16px;line-height:1.62;color:var(--muted);margin:0 0 6px}
.tk-chartwrap{position:relative;z-index:1;margin-top:34px}
.tk-chart{position:relative;max-width:1240px;margin:0 auto;height:clamp(360px,37vw,500px);padding:0 40px;background:linear-gradient(180deg,rgba(27,31,59,.045),rgba(27,31,59,0) 82%);border-radius:28px 28px 0 0;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 102%);mask-image:linear-gradient(180deg,#000 72%,transparent 102%)}
.tk-months{position:absolute;left:40px;right:40px;height:30px;top:28px}
.tk-tests{--pad:40px;position:relative;max-width:1240px;margin:-30px auto 0;height:26px}
.tk-months span,.tk-tests span{position:absolute;top:0;transform:translateX(-50%);font-size:12.5px;font-weight:700;color:rgba(27,31,59,.45);letter-spacing:.02em;white-space:nowrap}
.tk-months span.now{top:-10px;color:#fff;background:var(--blue,#4E6D8C);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11.5px;box-shadow:0 0 0 5px rgba(78,109,140,.16),0 6px 18px -4px rgba(78,109,140,.5)}
.tk-tests span{color:rgba(27,31,59,.60);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.tk-plot{position:absolute;left:40px;right:40px;top:76px;bottom:44px}
.tk-grid{position:absolute;top:0;bottom:0;width:1px;background:repeating-linear-gradient(180deg,rgba(27,31,59,.10) 0 3px,transparent 3px 10px)}
.tk-grid.t{background:repeating-linear-gradient(180deg,rgba(27,31,59,.18) 0 3px,transparent 3px 10px)}
.tk-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.tk-seg{fill:none;stroke-width:2.6;stroke-linecap:round}
.tk-panel.in .tk-seg{stroke-dashoffset:0!important}
.tk-station{transform-box:fill-box;transform-origin:center;stroke:#fff;stroke-width:2}
.tk-panel.in .tk-station{transform:scale(1)!important}
.tk-projline{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:3 7;opacity:0;transition:opacity .9s ease 2.3s}
.tk-panel.in .tk-projline{opacity:.42}
.tk-future{position:absolute;left:78%;right:-4%;top:-14%;bottom:-8%;background:linear-gradient(90deg,rgba(243,246,250,0),rgba(243,246,250,.75) 70%);pointer-events:none;z-index:2}
.tk-today{position:absolute;left:78%;top:-9%;bottom:-6%;width:2px;margin-left:-1px;background:linear-gradient(180deg,#4E6D8C,rgba(78,109,140,.04));box-shadow:0 0 14px rgba(78,109,140,.28);transform:scaleY(0);transform-origin:top;transition:transform 1s var(--expo) .5s;z-index:3}
.tk-panel.in .tk-today{transform:scaleY(1)}
.tk-chip{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:7px;padding:4.5px 11px;border-radius:10px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(27,31,59,.10),0 10px 26px -12px rgba(20,28,46,.30);font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap;opacity:0;transform:translate(-50%,-98%) scale(.95);filter:blur(3px);transition-property:opacity,transform,filter;transition-duration:.7s;transition-timing-function:cubic-bezier(.2,0,0,1)}
/* chips are centred on the April line and alternate above / below their own endpoint,
   so the dashed projections stay readable between them */
.tk-chip.below{transform:translate(-50%,35%) scale(.95)}
.tk-panel.in .tk-chip{opacity:1;transform:translate(-50%,-172%) scale(1);filter:blur(0)}
/* FatMax keeps the tighter gap on request; every other chip sits a bit further off its dot */
.tk-panel.in .tk-chip.near{transform:translate(-50%,-138%) scale(1)}
.tk-panel.in .tk-chip.below{transform:translate(-50%,64%) scale(1)}
.tk-chip i{width:9px;height:9px;border-radius:3px;flex:none}
.tk-chip b{font-weight:800;font-size:10.5px;padding:1.5px 7px;border-radius:99px}
.tk-dot{position:absolute;z-index:4;width:9px;height:9px;border-radius:50%;margin:-4.5px 0 0 -4.5px;box-shadow:0 0 0 2px #fff;opacity:0;transition:opacity .5s ease 1.8s}
.tk-panel.in .tk-dot{opacity:1;animation:tkpulse 3s ease-out 2.4s infinite}
@keyframes tkpulse{0%{box-shadow:0 0 0 2px #fff,0 0 0 2px var(--pc)}55%{box-shadow:0 0 0 2px #fff,0 0 0 12px transparent}100%{box-shadow:0 0 0 2px #fff,0 0 0 0 transparent}}
.tk-feats{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:36px 44px;margin-top:56px}
.tk-feat h4{font-size:15.5px;font-weight:700;color:var(--ink);margin:0 0 7px;display:flex;align-items:center;gap:9px}
.tk-feat h4 svg{width:17px;height:17px;stroke:var(--blue,#4E6D8C);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tk-feat p{font-size:14px;line-height:1.62;color:var(--muted);margin:0}
.tk-cards{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:64px}
.tk-card{position:relative;border-radius:26px;overflow:hidden;background:linear-gradient(180deg,#ffffff,#f7f9fc);box-shadow:inset 0 0 0 1px rgba(27,31,59,.08),0 30px 70px -40px rgba(20,28,46,.30),0 2px 8px -2px rgba(20,28,46,.06);padding:36px 38px 0;display:flex;flex-direction:column}
.tk-card h3{font-size:21px;font-weight:700;color:var(--ink);margin:0}
.tk-card>p{font-size:14.5px;line-height:1.62;color:var(--muted);margin:12px 0 0;max-width:52ch}
.tk-media{position:relative;margin:28px -38px 0 0;border-radius:14px 0 0 0;overflow:hidden;box-shadow:0 0 0 1px rgba(27,31,59,.18),0 24px 60px -30px rgba(20,28,46,.28);-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 99%);mask-image:linear-gradient(180deg,#000 62%,transparent 99%)}
.tk-media video{width:100%;display:block}

/* ============ 6b. LEARN + SUPPORT (INSCYD College + support, merged) ============ */
/* temporary review label above each variant — remove once Igor picks one */
.vlabel{position:relative;z-index:3;max-width:1304px;margin:0 auto;padding:0 32px 0;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2)}
.edu{position:relative;z-index:2;padding:34px 0 120px}
.edu .container{max-width:1380px}
.edu .sec-head{margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;max-width:820px}
.edu .sec-title{text-wrap:balance}
.edu .sec-sub{text-wrap:pretty}
.edu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.edu-card{position:relative;display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:linear-gradient(180deg,#ffffff,#f7f9fc);box-shadow:inset 0 0 0 1px rgba(27,31,59,.08),0 30px 70px -40px rgba(20,28,46,.30),0 2px 8px -2px rgba(20,28,46,.06);padding:30px 30px 0;transition-property:transform,box-shadow;transition-duration:.4s;transition-timing-function:cubic-bezier(.2,0,0,1)}
@media(hover:hover){.edu-card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(27,31,59,.10),0 44px 86px -44px rgba(20,28,46,.38),0 2px 8px -2px rgba(20,28,46,.06)}}
.edu-txt{padding-bottom:26px}
.edu-ix{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:14px}
.edu-ix i{width:6px;height:6px;border-radius:50%;background:var(--red);flex:none}
.edu-card h3{font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0}
.edu-card p{font-size:14px;line-height:1.6;color:var(--muted);margin:10px 0 0;text-wrap:pretty}
.edu-tags{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 0}
.edu-tag{font-size:11.5px;font-weight:700;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:99px;padding:5px 11px;white-space:nowrap}
/* learn-more button */
.edu-cta{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:18px 0 0;font-size:13.5px;font-weight:700;color:var(--ink);background:#fff;border:1px solid var(--border-2);border-radius:99px;padding:9px 16px;transition-property:border-color,background,transform;transition-duration:.2s}
@media(hover:hover){.edu-cta:hover{border-color:var(--ink);background:var(--surface-2)}}
.edu-cta:active{transform:scale(.97)}
.edu-cta svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.3;fill:none;stroke-linecap:round;stroke-linejoin:round}
/* left edge stays aligned with the copy, video bleeds off the RIGHT only — top-left corner
   rounded, top-right square, so it reads as running out of the card from the left */
.edu-media{position:relative;margin:auto -30px 0 0;border-radius:14px 0 0 0;overflow:hidden;box-shadow:0 0 0 1px rgba(27,31,59,.18),0 24px 60px -30px rgba(20,28,46,.28);-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent 99%);mask-image:linear-gradient(180deg,#000 78%,transparent 99%)}
.edu-media video{width:100%;display:block}
@media(max-width:1020px){.edu-grid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){
 .edu{padding:24px 0 84px}
 .edu-grid{grid-template-columns:1fr;gap:18px;margin-top:34px}
 .edu-card{padding:26px 24px 0}
 .edu-media{margin:auto -24px 0}
}

/* ---- full-video lightbox (same interaction pattern as the homepage bento cards) ---- */
.vplay{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.97);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 40px -14px rgba(0,0,0,.55);transition-property:transform,background;transition-duration:.18s;transition-timing-function:cubic-bezier(.2,0,0,1)}
@media(hover:hover){.vplay:hover{transform:translate(-50%,-50%) scale(1.06)}}
.vplay:active{transform:translate(-50%,-50%) scale(.96)}
.vplay svg{width:20px;height:20px;margin-left:3px;fill:var(--blue,#4E6D8C)}
.vplay:focus-visible{outline:2px solid #fff;outline-offset:3px}
.vlb{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:5vw;opacity:0;pointer-events:none;transition:opacity .32s ease}
.vlb.open{opacity:1;pointer-events:auto}
.vlb-bd{position:absolute;inset:0;background:rgba(10,14,24,.74);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.vlb-box{position:relative;z-index:1;width:min(980px,100%);aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);transform:scale(.96) translateY(8px);transition:transform .36s cubic-bezier(.2,0,0,1)}
.vlb.open .vlb-box{transform:scale(1) translateY(0)}
.vlb-box video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.vlb-x{position:absolute;z-index:3;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;color:#fff;font-size:20px;line-height:1;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;transition-property:background,transform;transition-duration:.2s}
.vlb-x:hover{background:rgba(255,255,255,.26)}
.vlb-x:active{transform:scale(.94)}
.vlb-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:860px){.vlb{padding:16px}.vplay{width:48px;height:48px}.vplay svg{width:17px;height:17px}}

/* ---- Variant 3: pill tabs + single panel ---- */
.ev3{position:relative;z-index:2;padding:34px 0 120px}
.ev3 .container{max-width:1304px}
.ev3 .sec-head{margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;max-width:820px}
.ev3 .sec-title{text-wrap:balance}
.ev3-tabs{display:flex;justify-content:center;margin:34px 0 30px}
.ev3-list{position:relative;display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);max-width:100%;flex-wrap:wrap;justify-content:center}
.ev3-tab{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--muted-2);padding:9px 18px;border-radius:999px;white-space:nowrap;transition:color .35s}
.ev3-tab[aria-selected="true"]{color:#fff}
.ev3-tab:hover:not([aria-selected="true"]){color:var(--ink)}
.ev3-pill{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:999px;z-index:0;background:linear-gradient(150deg,#2b3350,#1B1F3B);box-shadow:0 10px 24px -12px rgba(18,20,29,.6),inset 0 -2px 0 #E6261C;transition:transform .5s cubic-bezier(.34,1.18,.5,1),width .5s cubic-bezier(.34,1.18,.5,1)}
.ev3-panel{position:relative;border-radius:26px;overflow:hidden;background:linear-gradient(180deg,#ffffff,#f7f9fc);box-shadow:inset 0 0 0 1px rgba(27,31,59,.08),0 30px 70px -40px rgba(20,28,46,.30)}
.ev3-pane{display:none;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,3vw,48px);align-items:center;padding:44px 48px}
.ev3-pane.is-on{display:grid;animation:ev3in .5s cubic-bezier(.2,0,0,1) both}
@keyframes ev3in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ev3-pane>*{min-width:0}
.ev3-ix{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:13px}
.ev3-ix i{width:6px;height:6px;border-radius:50%;background:var(--red);flex:none}
.ev3-copy h3{font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0}
.ev3-copy p{font-size:15px;line-height:1.62;color:var(--muted);margin:12px 0 0;text-wrap:pretty}
/* rounded on ALL four corners, and the whole video frame is visible — never cropped */
.ev3-media{position:relative;border-radius:16px;overflow:hidden;background:#0b0e18;box-shadow:0 0 0 1px rgba(27,31,59,.16),0 24px 60px -30px rgba(20,28,46,.28)}
.ev3-media video{width:100%;display:block;aspect-ratio:16/9;object-fit:contain;background:#0b0e18}
@media(prefers-reduced-motion:reduce){.ev3-pane.is-on{animation:none}}
@media(max-width:860px){
 .ev3{padding:24px 0 84px}
 .ev3-pill{display:none}
 .ev3-tab[aria-selected="true"]{background:#1B1F3B}
 .ev3-tabs{margin:26px 0 22px}
 .ev3-pane{grid-template-columns:1fr;gap:22px;padding:26px 24px}
 .ev3-media{border-radius:14px}
 .ev3-copy h3{font-size:22px}
}

@media(prefers-reduced-motion:reduce){.tk-seg,.tk-projline,.tk-station,.tk-chip,.tk-dot,.tk-today{transition:none!important;animation:none!important;stroke-dashoffset:0!important;opacity:1!important;transform:none!important;filter:none!important}.tk-projline{opacity:.42!important}.tk-chip{transform:translate(-50%,-172%)!important}.tk-chip.near{transform:translate(-50%,-138%)!important}.tk-chip.below{transform:translate(-50%,64%)!important}.tk-station{transform:scale(1)!important}}
@media(max-width:1020px){.tk-feats{grid-template-columns:1fr 1fr}}
@media(max-width:860px){
 .track-sec{padding:80px 0 90px}
 .tk-panel{width:calc(100% - 24px);border-radius:24px;padding:64px 0 22px}
 .tk-head{grid-template-columns:1fr;gap:18px}
 .tk-chartwrap{margin-top:4px}
 .tk-chart{height:340px;padding:0 18px}
 .tk-months{left:18px;right:18px;top:26px}
 .tk-tests{--pad:18px;margin-top:-24px}
 .tk-plot{left:18px;right:18px;top:72px;bottom:30px;padding-top:8px}
 .tk-months span:nth-child(even){display:none}
 .tk-months span.now{width:30px;height:30px;font-size:10.5px;top:-8px}
 .tk-chip{position:relative;left:auto!important;top:auto!important;transform:none!important;margin:0 6px 8px 0;font-size:11px;padding:5px 9px;gap:6px;z-index:4}
 .tk-chip b{font-size:10px;padding:2px 6px}
 .tk-feats{grid-template-columns:1fr;gap:22px;margin-top:44px}
 .tk-cards{grid-template-columns:1fr;margin-top:40px}
 .tk-card{padding:26px 24px 0}
 .tk-media{margin:22px -24px 0 0}
}
}
.pl{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--muted)}
.pl i{width:14px;height:3px;border-radius:2px}
.pl b{font-variant-numeric:tabular-nums;color:var(--ink)}
.pl .up{color:var(--green)}
.pl .dn{color:var(--red)}

/* ============ 7. BUSINESS ============ */
.biz{position:relative;z-index:2;padding:130px 0}
.biz-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:54px}
.rev-card{padding:26px}
.rev-card h3{font-size:19px;margin-bottom:6px}
.rev-card .cap{font-size:13px;color:var(--muted);margin-bottom:24px}
.rev-row{margin-bottom:16px}
.rev-row .rl{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.rev-row .rl b{color:var(--ink);font-variant-numeric:tabular-nums}
.rbar{height:12px;border-radius:7px;background:var(--surface-3);overflow:hidden}
.rbar i{display:block;height:100%;border-radius:7px;transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--expo)}
.in .rbar i{transform:none}
.rbar .coach{background:var(--rec)}
.rbar .test{background:var(--red);transition-delay:.15s}
.rbar .camp{background:var(--green);transition-delay:.3s}
.steps-card{padding:26px;display:flex;flex-direction:column}
.steps-card h3{font-size:19px;margin-bottom:6px}
.steps-card .cap{font-size:13px;color:var(--muted);margin-bottom:24px}
.stp{display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--border)}
.stp .n{width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.stp h4{font-size:14.5px;font-weight:800;margin-bottom:3px}
.stp p{font-size:13px;color:var(--muted);line-height:1.55}
.bcase{grid-column:1/-1;padding:30px;border:1.5px dashed var(--border-2);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--surface)}
.bcase .t h3{font-size:17px;margin-bottom:4px}
.bcase .t p{font-size:13px;color:var(--muted)}
.todo{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--carb);background:rgba(234,88,13,.08);border:1px solid rgba(234,88,13,.25);padding:6px 12px;border-radius:99px;white-space:nowrap}

/* ============ 8. QUOTES ============ */
.proof{position:relative;z-index:2;padding:120px 0}
.qgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:54px}
.qbig{padding:38px 36px;display:flex;flex-direction:column;justify-content:space-between;min-height:320px}
.qbig .qq{font-size:clamp(20px,2.2vw,27px);font-weight:800;letter-spacing:-.02em;line-height:1.35}
.qside{display:flex;flex-direction:column;gap:18px}
.qsm{padding:24px;flex:1}
.qsm .qq{font-size:15.5px;font-weight:700;line-height:1.5;color:var(--ink)}
.who-row{display:flex;align-items:center;gap:12px;margin-top:22px}
.who-row img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.who-row .nm{font-size:13.5px;font-weight:800;display:block}
.who-row .rr{font-size:12px;color:var(--muted);font-weight:600}

/* ============ 9. CTA ============ */
.cx-sec{position:relative;z-index:2;padding:120px 0 140px}
.cx{position:relative;border-radius:28px;overflow:hidden;min-height:440px;display:flex;align-items:center}
.cx>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,14,26,.86) 0%,rgba(11,14,26,.55) 55%,rgba(11,14,26,.2) 100%)}
.cx .copy{position:relative;z-index:2;padding:64px;max-width:600px;color:#fff}
.cx .eyebrow{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.8);box-shadow:none}
.cx h2{font-size:clamp(30px,3.8vw,48px);margin:18px 0 14px}
.cx p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.75);margin-bottom:28px}
.cx .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.cx .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.cx-g{position:absolute;right:56px;z-index:2;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:14px 18px;color:#fff;display:none}
.cx-g .nm{font-size:11px;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.65);display:block}
.cx-g .vl{font-size:16px;font-weight:800}
.cx-g.ga{top:74px}
.cx-g.gb{bottom:74px;right:120px}
footer{position:relative;z-index:2;padding:0 0 44px;text-align:center;font-size:12.5px;color:var(--muted-2);font-weight:600}

/* ============ responsive ============ */
@media(min-width:1000px){.cx-g{display:block}}
@media(max-width:1000px){
  .hero{padding:140px 0 70px}
  /* mobile hero spacing wants roughly 48 to 64px under a fixed nav (vault:
     inscyd-mobile-hero-spacing); appears after the rule above so it wins */
  .hero{padding-top:clamp(56px,14vw,140px)}
  .hero-grid{grid-template-columns:1fr;gap:56px}
  .hero-visual{max-width:460px;margin:0 auto;width:100%}
  .gf-vo2{top:2%;left:-4%}
  .gf-vla{top:12%;right:-4%}
  .gf-fat{bottom:22%;left:-5%}
  .gf-graph{bottom:-4%;right:-3%;width:min(52%,190px)}
  .story-grid{grid-template-columns:1fr;gap:26px}
  .story-track{height:auto}
  .story-stage{position:relative;height:auto;display:block;padding:40px 0}
  .story-steps{min-height:0;margin-top:30px}
  .step{position:relative;opacity:1;transform:none;margin-bottom:44px}
  .zonewrap{opacity:1;transform:none}
  .u-line,.u-label{opacity:1!important}
  .reinf-copy{padding:80px 0;max-width:480px}
  .rf-vo2{top:5%;right:6%}
  .rf-vla{display:none}
  .rf-fat{bottom:5%;right:6%}
  .sol-grid{grid-template-columns:1fr;gap:26px}
  .dragq-shell{min-height:360px}
  .biz-grid{grid-template-columns:1fr}
  .qgrid{grid-template-columns:1fr}
  .nav-links,.signin{display:none}
}
@media(max-width:640px){
  .container{padding:0 20px}
  .cx .copy{padding:40px 28px}
  .bcase{flex-direction:column;align-items:flex-start}
  .cmpslider{height:470px}
  .reinf-band{min-height:500px}
  .reinf-shade{background:linear-gradient(180deg,rgba(8,11,20,.34),rgba(8,11,20,.62))}
  .reinf-copy{padding:64px 0}
  .reinf-copy h2{font-size:27px}
  .reinf-band .gf-gauge{width:88px}
  .reinf-band .gf-gauge .gx{width:62px}
  .cs-in{padding:40px 20px 24px}
  .cs-in .curvecard{width:min(86%,300px)}
  .cs-corner{font-size:9.5px;padding:5px 10px}
  .gf-gauge{width:88px}
  .gf-gauge .gx{width:62px}
  .gf-val .gnum{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .fade-up,.step,.gfloat{opacity:1!important;transform:none!important}
  .an-driver .db i{transform:scaleX(var(--w))!important}
  .rbar i{transform:none!important}
  .pd-line,.cv-draw{stroke-dashoffset:0!important}
  .pd-dot,.cv-fade{opacity:1!important}
  .u-line,.u-label{opacity:1!important}
}

/* Same FTP · Variant 3 — both athletes visible */
.abpair{position:relative;z-index:2;padding:110px 0 120px}
.abpair .container{display:flex;flex-direction:column;max-width:1304px}
.abpair-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px;width:100%;max-width:1000px;margin-left:auto;margin-right:auto}
.abcard{background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:0 34px 74px -44px rgba(20,28,46,.42)}
.abcard-photo{position:relative;height:290px;overflow:hidden;background:var(--surface-2)}
.abcard-photo img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:104%;width:auto;object-fit:contain}
.abcard-glow{position:absolute;inset:0;z-index:0}
.abcard-glow.a{background:radial-gradient(92% 92% at 50% 108%,rgba(78,109,140,.34),transparent 72%)}
.abcard-glow.b{background:radial-gradient(92% 92% at 50% 108%,rgba(234,88,13,.30),transparent 72%)}
.abcard-badge{position:absolute;z-index:2;top:16px;left:16px;width:34px;height:34px;border-radius:50%;background:var(--rec);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 6px 16px -6px rgba(20,28,46,.5)}
.abcard-badge.b{background:var(--carb)}
.abcard-body{padding:22px 26px 26px}
.abcard-body .spx-lim{display:block}
@media(max-width:860px){.abpair{padding:80px 0 84px}.abpair-grid{grid-template-columns:1fr;gap:20px}.abcard-photo{height:260px}}
/* sport tabs (ported from homepage comparison tabs) */
.ab-tabs{display:flex;justify-content:center;margin:34px 0 6px}
.ab-tablist{position:relative;display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);max-width:100%;flex-wrap:wrap;justify-content:center}
.ab-tab{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--muted-2);padding:9px 18px;border-radius:999px;white-space:nowrap;transition:color .35s}
.ab-tab[aria-selected="true"]{color:#fff}
.ab-tab:hover:not([aria-selected="true"]){color:var(--ink)}
.ab-pill{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:999px;z-index:0;background:linear-gradient(150deg,#2b3350,#1B1F3B);box-shadow:0 10px 24px -12px rgba(18,20,29,.6),inset 0 -2px 0 #E6261C;transition:transform .5s cubic-bezier(.34,1.18,.5,1),width .5s cubic-bezier(.34,1.18,.5,1)}
@media(max-width:600px){.ab-pill{display:none}.ab-tab[aria-selected="true"]{background:linear-gradient(150deg,#2b3350,#1B1F3B);box-shadow:inset 0 -2px 0 #E6261C}}
.abpair.is-placeholder .ab-cut{opacity:.42;filter:grayscale(.5)}
.ab-ph-note{display:none;text-align:center;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--carb);margin-top:20px}
.abpair.is-placeholder .ab-ph-note{display:block}

/* reinf2 as the closing CTA: copy left, tilted reels right, wider capsule */
.reinf2 .container{max-width:1300px}
@media(min-width:861px){.r2-cols{transform:perspective(1200px) rotateY(-14deg) scale(1.12);transform-origin:72% 50%}}

/* track graph — modern refresh: inline labels, chip legend, area fill */

/* cinematic: Glycogen gauge (4th) + fit the real hero graphs */
.cin-g4{left:calc(50% - 272px);top:51%;animation-duration:6.8s;animation-delay:-3.1s}
@media(max-width:1000px){.cin-g4{display:none}}
.cin-graphs .cg svg{border-radius:8px}

/* pv: per-tab description unfolds under the headline */
.pv-shead .pv-hs{display:block;overflow:hidden}
.pv-shead.reveal .pv-ht{animation:pvUp .45s var(--expo) both}
.pv-shead.reveal .pv-hs{animation:pvUnfold .55s var(--expo) .06s both}
@keyframes pvUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pvUnfold{from{opacity:0;transform:translateY(10px);max-height:0}to{opacity:1;transform:none;max-height:120px}}

/* A/B Variant 3 — both athletes on one spatial stage */
.abstage{position:relative;margin:44px auto 0;width:100%;max-width:1240px;height:min(58vw,580px);border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--border);box-shadow:0 44px 96px -52px rgba(20,28,46,.42);display:grid;grid-template-columns:1fr 1fr}
.abhalf{position:relative;overflow:hidden}
.abhalf.a{border-right:1px solid var(--border)}
.ab-glow{position:absolute;inset:0;z-index:0}
.ab-glow.a{background:radial-gradient(92% 92% at 50% 110%,rgba(78,109,140,.34),transparent 72%)}
.ab-glow.b{background:radial-gradient(92% 92% at 50% 110%,rgba(234,88,13,.30),transparent 72%)}
.ab-ghost{position:absolute;top:6%;left:50%;transform:translateX(-50%);font-size:clamp(42px,6.4vw,96px);font-weight:800;letter-spacing:-.03em;color:rgba(27,31,59,.13);white-space:nowrap;z-index:1;pointer-events:none}
.ab-cut{position:absolute;bottom:-20%;height:112%;width:auto;z-index:2;filter:drop-shadow(0 30px 44px rgba(20,28,46,.32))}
.abhalf.a .ab-cut{left:52%;transform:translateX(-50%)}
.abhalf.b .ab-cut{left:48%;transform:translateX(-50%)}
/* boat sports (rowing): wide cutout zoomed to fill the card - hull tips may bleed off the side edges
   (same treatment as the cyclists' clipped legs), athlete stays centered */
.abpair.is-boat .ab-cut{height:92%;bottom:-6%;max-width:none}
.abpair.is-boat .abhalf.a .ab-cut{left:50%}
/* B's athlete sits smaller/lower inside his source image (54% vs A's 62% of image height):
   105%/-20% renders both athletes at the same visual size with heads on the same line */
.abpair.is-boat .abhalf.b .ab-cut{left:50%;height:105%;bottom:-20%}
/* ski sport: the vertical skis tower over the athletes' heads, so at the default 112% the women
   render visibly smaller than the other sports - scale up (ski tips may clip at the card top,
   same rule as clipped legs/hulls) and pull both toward the centre so they face each other */
.abpair.is-ski .ab-cut{height:130%;bottom:-24%}
.abpair.is-ski .abhalf.a .ab-cut{left:57%}
.abpair.is-ski .abhalf.b .ab-cut{left:43%}
.ab-badge{position:absolute;z-index:5;top:16px;left:16px;width:34px;height:34px;border-radius:50%;background:var(--rec);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 6px 16px -6px rgba(20,28,46,.5)}
.ab-badge.b{background:var(--carb)}
.abhalf.b .ab-badge{left:auto;right:16px}
.ab-head{position:absolute;z-index:5;top:18px}
.abhalf.a .ab-head{left:64px;text-align:left}
.abhalf.b .ab-head{right:64px;text-align:right}
.ab-head .spx-tag{margin:3px 0 0}
.ab-metrics{position:absolute;z-index:4;bottom:24px;width:296px;background:rgba(255,255,255,.74);backdrop-filter:blur(9px) saturate(1.12);-webkit-backdrop-filter:blur(9px) saturate(1.12);border:1px solid var(--border);border-radius:16px;padding:14px 16px;box-shadow:0 22px 46px -26px rgba(20,28,46,.42)}
.abhalf.a .ab-metrics{left:20px}
.abhalf.b .ab-metrics{right:20px}
.ab-metrics .spx-lim{display:block;margin-top:10px}
.ab-vs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;letter-spacing:.02em;box-shadow:0 12px 32px -8px rgba(20,28,46,.6)}
/* sport-switch motion. Transition params live on the DESTINATION state: adding .sw-out uses the
   fast no-delay exit set below; removing it lands on these base sets, giving the slow staggered
   entrance (A first, B +80ms, ghost words, then metric panels rise last). Interruptible by design. */
.ab-cut{transition:opacity .42s cubic-bezier(.2,0,0,1),transform .42s cubic-bezier(.2,0,0,1),filter .42s cubic-bezier(.2,0,0,1)}
.abhalf.b .ab-cut{transition-delay:.08s}
.ab-ghost{transition:opacity .38s cubic-bezier(.2,0,0,1) .05s}
.ab-metrics{transition:opacity .34s cubic-bezier(.2,0,0,1) .16s,transform .34s cubic-bezier(.2,0,0,1) .16s}
.abhalf.b .ab-metrics{transition-delay:.22s}
.abpair.sw-out .ab-cut,.abpair.sw-out .ab-ghost,.abpair.sw-out .ab-metrics{transition-duration:.2s;transition-delay:0s}
.abpair.sw-out .abhalf.a .ab-cut{opacity:0;transform:translateX(calc(-50% - 28px));filter:drop-shadow(0 30px 44px rgba(20,28,46,.32)) blur(6px)}
.abpair.sw-out .abhalf.b .ab-cut{opacity:0;transform:translateX(calc(-50% + 28px));filter:drop-shadow(0 30px 44px rgba(20,28,46,.32)) blur(6px)}
.abpair.sw-out .ab-ghost{opacity:0}
.abpair.sw-out .ab-metrics{opacity:0;transform:translateY(10px)}
.ab-vs.vs-pop{animation:vsPop .34s cubic-bezier(.2,0,0,1)}
@keyframes vsPop{0%{transform:translate(-50%,-50%) scale(.86)}55%{transform:translate(-50%,-50%) scale(1.07)}100%{transform:translate(-50%,-50%) scale(1)}}
@media (prefers-reduced-motion:reduce){.ab-cut,.ab-ghost,.ab-metrics{transition:none!important}.ab-vs.vs-pop{animation:none}}
@media(max-width:860px){.abstage{grid-template-columns:1fr;height:auto}.abhalf{height:620px}.abhalf.a{border-right:0;border-bottom:1px solid var(--border)}.ab-vs{display:none}.abhalf.a .ab-cut,.abhalf.b .ab-cut{left:50%;height:58%;bottom:214px}.ab-metrics{width:auto}.abhalf.a .ab-metrics{left:18px;right:18px}.abhalf.b .ab-metrics{left:18px;right:18px}.abhalf.a .ab-head{left:60px}.abhalf.b .ab-head{right:60px}}

/* Variant 2 — 6 use-case guided tabs */
.uc-panels{aspect-ratio:16/6.6;background:#fff}
.ft-panel.uc{display:grid;grid-template-columns:1.02fr .98fr;gap:0;background:#fff}
/* clean variant: no browser chrome, no card frame - plain text-left / visual-right section */
.ft-window.ft-clean{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible;margin-top:28px}
/* taller than the default 16/6.6: the copy column was outgrowing the fixed-aspect panel and
   overflow:hidden cut the last bullet line mid-sentence.
   NOTE: this selector outranks the max-width:900px `.uc-panels{aspect-ratio:auto}` reset, so it
   must be unset again below or the ratio + min-height forces the panel ~1211px wide on mobile. */
.ft-window.ft-clean .uc-panels{aspect-ratio:16/7.4}
@media(max-width:900px){
  .ft-window.ft-clean .uc-panels{aspect-ratio:auto;height:auto}
  /* the zones table is 8 nowrap columns; scale the whole card down rather than let it overflow */
  .zn-card{position:relative;right:auto;bottom:auto;width:100%;transform:scale(.62);transform-origin:top left;margin-bottom:-38%}
  .zn-vis,.lim-vis,.fuel-vis,.rv-vis{min-height:340px}
  .zn-vis .zn-ath,.lim-vis .lim-ath,.fuel-vis .fuel-ath,.rv-vis .rv-coach{height:96%;bottom:-8%}
  .rv-tx{transform:scale(.86);transform-origin:center}
}
.ft-window.ft-clean,.ft-window.ft-clean .uc-panels,.ft-window.ft-clean .ft-panel.uc,.ft-window.ft-clean .uc-vis{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important}
.ft-window.ft-clean .uc-copy{padding-left:0}
.ft-window.ft-clean .uc-vis{background:transparent!important;border:0!important;box-shadow:none!important}
.ft-window.ft-clean .ft-panel.uc,.ft-window.ft-clean .uc-vis{overflow:visible!important}
/* clean panels are transparent, so a symmetric crossfade briefly superimposes both visuals
   (white report cards ghosting behind the athlete): fade the outgoing panel out FAST and
   bring the incoming one in on a short delay so they never visibly overlap */
.ft-window.ft-clean .ft-panel{transition:opacity .24s var(--expo),transform .5s var(--expo)}
.ft-window.ft-clean .ft-panel.on{transition:opacity .5s var(--expo) .14s,transform .7s var(--expo) .14s;z-index:2}
/* fueling visual: triathlete cutout + hero-style floating combustion graph and gauges */
.fuel-vis{overflow:visible;background:transparent!important;border:0!important}
/* oversized cutout, lower ~30% cropped by the panel edge; the mask fades the image out just
   BEFORE the crop line so the cut reads as a soft wash into the page, not a hard edge.
   Image is 148% of panel with bottom -30%, so the panel edge sits at ~80% of image height. */
.fuel-vis .fuel-ath{position:absolute;left:38%;bottom:-30%;transform:translateX(-50%);height:148%;width:auto;max-width:none;max-height:none!important;z-index:2;border-radius:0!important;box-shadow:none!important;filter:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 60%,rgba(0,0,0,.55) 72%,transparent 79.5%);mask-image:linear-gradient(to bottom,#000 0%,#000 60%,rgba(0,0,0,.55) 72%,transparent 79.5%)}
.fuel-vis .gfloat{opacity:1;transform:none;animation-play-state:running}
.fuel-vis .fv-graph{right:-2%;bottom:4%;width:min(58%,300px);z-index:3}
.fuel-vis .fv-fat{left:2%;top:15%;z-index:3;animation-delay:-2.4s}
.fuel-vis .fv-carb{right:10%;top:5%;z-index:1;animation-delay:-4.2s}
/* limiters visual: runner + coded metabolic-fingerprint radar (SVG, not an image) */
.lim-vis{overflow:visible;background:transparent!important;border:0!important}
/* this cutout is far taller/narrower than the cyclist (946x1921), so height% - |bottom%| must
   stay <= 100% or his head punches up through the tab row above the panel */
.lim-vis .lim-ath{position:absolute;left:46%;bottom:-26%;transform:translateX(-50%);height:124%;width:auto;max-width:none;max-height:none!important;z-index:2;border-radius:0!important;box-shadow:none!important;filter:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 56%,rgba(0,0,0,.55) 68%,transparent 76%);mask-image:linear-gradient(to bottom,#000 0%,#000 56%,rgba(0,0,0,.55) 68%,transparent 76%)}
.lim-vis .gfloat{opacity:1;transform:none;animation-play-state:running}
.lim-vis .lim-radar{right:-1%;bottom:2%;width:min(56%,262px);z-index:3;padding:12px 12px 10px}
.lim-vis .lim-svg{width:100%;height:auto;display:block;overflow:visible}
/* the collapsed spoke is the story: fill the shape in brand slate, flag the dent in red */
.lim-svg .lr-area{fill:rgba(78,109,140,.22);stroke:var(--rec);stroke-width:2;stroke-linejoin:round}
.lim-svg .lr-hit{fill:var(--red);stroke:#fff;stroke-width:2}
.lim-svg .lr-lim-lab{fill:var(--red)}
.lim-key{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--card-mut);letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
.lim-key b{color:var(--card-ink);font-weight:800}
.lim-dot{width:8px;height:8px;border-radius:50%;background:var(--red);flex:none}
.lim-vis .lim-vla{left:1%;top:42%;z-index:3;animation-delay:-3.1s}
/* zones visual: athlete + coded training-zones table (recreated from the app, not a screenshot) */
.zn-vis{overflow:visible;background:transparent!important;border:0!important}
/* the zones table overlaps his legs, so he only needs a short fade at the very bottom */
.zn-vis .zn-ath{position:absolute;left:31%;bottom:-24%;transform:translateX(-50%);height:124%;width:auto;max-width:none;max-height:none!important;z-index:2;border-radius:0!important;box-shadow:none!important;filter:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 52%,rgba(0,0,0,.5) 63%,transparent 71%);mask-image:linear-gradient(to bottom,#000 0%,#000 52%,rgba(0,0,0,.5) 63%,transparent 71%)}
.zn-vis .gfloat{opacity:1;transform:none;animation-play-state:running}
/* recreation of the real app's zones table: white sheet, stacked label/value/unit cells,
   grouped "Physiological Conditions" header. Sits low and overlaps the athlete's legs so the
   panel has no dead band above or below it. */
/* frosted glass, same language as the other floating cards */
.zn-card{position:absolute;right:-3%;bottom:5%;width:min(88%,452px);z-index:3;background:linear-gradient(160deg,rgba(247,249,252,.88),rgba(226,231,238,.8));-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,255,255,.78);border-radius:16px;box-shadow:0 24px 50px -24px rgba(14,22,38,.44),inset 0 1px 0 rgba(255,255,255,.85);padding:0;overflow:hidden;animation:none}
.zn-tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.zn-tbl thead th{font-size:9.5px;font-weight:700;color:var(--card-ink);text-align:center;padding:7px 4px;background:rgba(255,255,255,.34);border-bottom:1px solid rgba(27,31,59,.1);white-space:nowrap;vertical-align:middle}
.zn-tbl th.zn-h-zone{text-align:left;padding-left:11px}
.zn-tbl th.zn-h-phys{border-left:1px solid rgba(27,31,59,.08)}
.zn-tbl tr.zn-sub th{font-size:8.5px;font-weight:600;color:var(--card-mut);padding:4px}
.zn-tbl td{padding:7px 4px;border-bottom:1px solid rgba(27,31,59,.07);text-align:center;white-space:nowrap;vertical-align:middle}
.zn-tbl tbody tr:last-child td{border-bottom:0}
.zn-name{text-align:left!important;padding-left:11px!important;font-size:10.5px;font-weight:700;color:var(--card-ink);letter-spacing:-.01em}
.zn-code{font-size:10.5px;color:var(--card-mut);font-weight:600}
.zn-v{line-height:1.15}
.zn-v i{display:block;font-style:normal;font-size:7.5px;font-weight:600;color:var(--card-mut)}
.zn-v b{display:block;font-size:11.5px;font-weight:800;color:var(--card-ink)}
.zn-v u{display:block;text-decoration:none;font-size:7.5px;font-weight:600;color:#9aa1ad}
.zn-dash{color:#c3c8d0;font-size:12px}
.zn-hi td{background:rgba(230,38,28,.045)}
.zn-hi .zn-name{color:var(--red)}
/* revenue visual: coach with a tablet + incoming-payment notifications drifting in */
.rv-vis{overflow:visible;background:transparent!important;border:0!important}
.rv-vis .rv-coach{position:absolute;left:46%;bottom:-24%;transform:translateX(-50%);height:124%;width:auto;max-width:none;max-height:none!important;z-index:2;border-radius:0!important;box-shadow:none!important;filter:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 60%,rgba(0,0,0,.55) 71%,transparent 79%);mask-image:linear-gradient(to bottom,#000 0%,#000 60%,rgba(0,0,0,.55) 71%,transparent 79%)}
.rv-tx{position:absolute;z-index:4;display:flex;align-items:center;gap:9px;padding:8px 12px 8px 9px;border-radius:13px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 36px -18px rgba(14,22,38,.42),inset 0 1px 0 rgba(255,255,255,.9);white-space:nowrap;animation:rvIn .7s var(--expo) both,gbob 6.4s ease-in-out infinite alternate}
.rv-ic{flex:none;width:24px;height:24px;border-radius:50%;background:rgba(22,163,74,.12);color:#16a34a;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;line-height:1}
.rv-tt{display:flex;flex-direction:column;line-height:1.2}
.rv-tt b{font-size:11.5px;font-weight:800;color:var(--card-ink);letter-spacing:-.01em}
.rv-tt em{font-style:normal;font-size:9.5px;font-weight:600;color:var(--card-mut)}
.rv-amt{margin-left:6px;font-size:13px;font-weight:800;color:#16a34a;font-variant-numeric:tabular-nums}
@keyframes rvIn{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}
.rv-t1{left:-4%;top:10%;animation-delay:0s,-1.2s}
.rv-t2{right:-1%;top:4%;animation-delay:.14s,-3.4s}
.rv-t3{left:-6%;top:44%;animation-delay:.28s,-2.1s}
.rv-t4{right:-4%;top:64%;animation-delay:.42s,-4.6s}
.rv-total{position:absolute;right:1%;bottom:4%;z-index:5;width:min(58%,258px);padding:12px 14px 13px;text-align:center;animation:none;opacity:1;transform:none}
.rv-big{font-size:34px;font-weight:800;letter-spacing:-.03em;color:var(--card-ink);line-height:1;font-variant-numeric:tabular-nums}
.rv-big span{color:var(--red);font-size:22px;margin-left:1px}
.rv-sub{margin-top:6px;font-size:10.5px;line-height:1.45;font-weight:600;color:var(--card-mut)}
@media(prefers-reduced-motion:reduce){.rv-tx{animation:none}}
.uc-copy{padding:clamp(28px,3.4vw,48px);display:flex;flex-direction:column;justify-content:center}
.uc-eb{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:12px}
.uc-copy h3{font-size:clamp(24px,2.5vw,32px);font-weight:800;letter-spacing:-.02em;line-height:1.16;color:var(--ink);text-wrap:balance}
.uc-copy>p{margin-top:14px;font-size:16px;line-height:1.55;color:var(--muted);max-width:46ch}
.uc-bul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.uc-bul li{position:relative;padding-left:24px;font-size:14px;line-height:1.5;color:var(--muted);font-weight:500}
.uc-bul li::before{content:"";position:absolute;left:0;top:6px;width:13px;height:13px;border-radius:50%;background:rgba(230,38,28,.1)}
.uc-bul li::after{content:"";position:absolute;left:4.4px;top:9px;width:4.5px;height:4.5px;border-radius:50%;background:var(--red)}
.uc-vis{position:relative;background:linear-gradient(160deg,var(--surface-2),#eceef2);border-left:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:26px}
.uc-vis img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:12px;box-shadow:0 24px 54px -30px rgba(20,28,46,.4)}
.uc-stat{flex-direction:column;text-align:center;gap:6px}
.uc-statbig{font-size:clamp(52px,7vw,92px);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ink)}
.uc-statbig span{color:var(--red);font-size:.5em;vertical-align:super;margin-left:2px}
.uc-statlab{font-size:15px;font-weight:700;color:var(--ink);max-width:22ch}
.uc-statsub{font-size:12.5px;color:var(--muted);margin-top:2px}
.uc-fan{padding:0;background:transparent!important;border:0!important}.uc-fan .rp-rf{width:100%;height:100%}
/* that vignette existed to blend the report fan into the old solid card; on the transparent
   clean panel it paints opaque grey bands that read as a box behind the reports */
.ft-window.ft-clean .rp-rf::after{background:none!important}
@media(max-width:900px){.ft-panel.uc{grid-template-columns:1fr}.uc-vis{border-left:0;border-top:1px solid var(--border);min-height:180px}.uc-panels{aspect-ratio:auto;height:auto;min-height:560px}.ft-panel.uc{position:relative;height:auto}.ft-panel.uc:not(.on){display:none}}

/* certified coach: real Earth rising from the fold, blinking coach pins, left/right callouts */
.cert-globe{position:relative;width:100%;max-width:1240px;margin:56px auto 0;height:clamp(360px,44vw,560px);overflow:hidden;
  /* the globe dissolves into the page instead of being cut off at the container edge */
  -webkit-mask-image:linear-gradient(to bottom,#000 58%,rgba(0,0,0,.55) 82%,transparent 99%);
          mask-image:linear-gradient(to bottom,#000 58%,rgba(0,0,0,.55) 82%,transparent 99%)}
.cert-globe canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.gl-card{position:absolute;z-index:5;width:220px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border-radius:14px;padding:12px 14px;
  box-shadow:0 0 0 1px rgba(27,31,59,.07),0 2px 6px -2px rgba(20,28,46,.10),0 14px 34px -14px rgba(20,28,46,.28),0 34px 70px -30px rgba(20,28,46,.32);
  opacity:0;transform:translateY(8px) scale(.975);filter:blur(3px);
  transition-property:opacity,transform,filter;transition-duration:.55s,.55s,.4s;transition-timing-function:cubic-bezier(.2,0,0,1);pointer-events:none}
.gl-card.on{opacity:1;transform:none;filter:blur(0)}
.gl-card.l{left:0;text-align:right}
.gl-card.r{right:0}
.gl-type{display:block;font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--carb)}
.gl-name{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-top:3px}
.gl-place{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-top:1px}
.gl-count{margin-top:18px;font-size:13px;font-weight:600;color:var(--muted)}
.gl-count b{color:var(--ink);font-weight:800}
/* globe variant 2 (folded): same section as v1, clean dotted skin */
.cert2{position:relative;z-index:2;padding:120px 0 0;overflow:hidden}
@media(max-width:860px){
  .cert-globe{height:clamp(280px,58vw,380px)}
  .gl-card{display:none}   /* the globe is too small to hang callouts on; pins alone read cleanly */
}

/* cinematic hero graphs: scope the curve strokes so the global .fat combo can't hijack them */
.cin-graphs svg .fat{stroke:#0F766E;stroke-width:7;fill:none}
.cin-graphs svg .carb{stroke:#EA580D;stroke-width:7;fill:none}
.cin-graphs svg .lrec{stroke:#4E6D8C;stroke-width:7;fill:none}
.cin-graphs svg .lacc{stroke:#C026D3;stroke-width:7;fill:none}
.cin-graphs svg .leg-bg{fill:rgba(38,42,50,.6);stroke:rgba(255,255,255,.12)}
.cin-graphs svg .leg-tx{fill:#3b4256}

/* ===== Labs page scaffold ===== */
/* labs hero headline: a notch smaller than coaching so it doesn't dominate the fold */
.hero-h1{font-size:clamp(34px,4.2vw,52px)!important;line-height:1.05!important}
.lab-sec{padding:clamp(56px,8vw,104px) 0}
.lab-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5vw,72px);align-items:center}
.lab-grid.lab-alt .lab-copy{order:2}
.lab-grid.lab-alt .lab-visual{order:1}
.lab-copy .sec-title{margin:14px 0 18px}
.lab-visual{position:relative}
.lab-ph{display:flex;align-items:center;justify-content:center;text-align:center;min-height:clamp(280px,32vw,420px);border-radius:20px;border:1px dashed rgba(27,31,59,.24);background:linear-gradient(160deg,var(--surface-2),#eceff3);color:var(--muted);font-size:14px;font-weight:600;letter-spacing:.01em;padding:24px}
.lab-quote{max-width:900px;margin:clamp(40px,6vw,72px) auto 0;text-align:center;font-size:clamp(17px,2.1vw,21px);line-height:1.5;font-weight:600;color:var(--muted);border:0}
.lab-quote::before{content:"";display:block;width:34px;height:3px;border-radius:2px;background:var(--red);margin:0 auto 18px}
@media(max-width:860px){.lab-grid{grid-template-columns:1fr;gap:26px}.lab-grid.lab-alt .lab-copy{order:1}.lab-grid.lab-alt .lab-visual{order:2}}

/* ===== Problem -> Solution : PINNED scroll showcase =====
   The section is a tall track with a sticky viewport, so exactly one state is in focus at a
   time. Scroll progress picks the state; every state change trades the visual and copy sides
   (manual FLIP), which is the horizontal cross-over from the reference component. */
.lp3{position:relative;height:330vh}
.lp3-pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
.lp3-glow{position:absolute;inset:0;z-index:0;pointer-events:none;transition:background 1.1s cubic-bezier(.16,1,.3,1)}
.lp3[data-side="L"] .lp3-glow{background:radial-gradient(56% 60% at 24% 52%,rgba(230,38,28,.09),transparent 62%)}
.lp3[data-side="R"] .lp3-glow{background:radial-gradient(56% 60% at 76% 52%,rgba(78,109,140,.15),transparent 62%)}
.lp3 .container{position:relative;z-index:1;width:100%}
.lp3-head{text-align:center;max-width:760px;margin:0 auto clamp(40px,5.5vw,78px)}
.lp3-head .eyebrow{margin-bottom:12px}
.lp3-title{font-size:clamp(22px,2.4vw,32px);font-weight:800;letter-spacing:-.03em;line-height:1.14;color:var(--ink)}
.lp3-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,64px);align-items:center}
.lp3-visual,.lp3-content{position:relative;min-height:clamp(300px,40vh,420px)}
/* --- state layers --- */
.lp3-vis{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateX(var(--enter,44px)) scale(1.05);filter:blur(14px);transition:opacity .5s var(--expo),transform .7s var(--expo),filter .5s var(--expo);pointer-events:none}
.lp3-vis.k-problem{--enter:-44px}
.lp3-vis.k-solution{--enter:44px}
.lp3-vis.on{opacity:1;transform:none;filter:blur(0);pointer-events:auto}
.lp3-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:22px;border:1px dashed rgba(27,31,59,.2);background:linear-gradient(160deg,var(--surface-2),#eceff3);color:var(--muted);font-size:14px;font-weight:600;padding:28px}
/* --- copy --- */
.lp3-block{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;pointer-events:none}
.lp3-block.on{opacity:1;pointer-events:auto}
.lp3-block > *{opacity:0;transform:translateY(18px);filter:blur(9px)}
.lp3-block.on.run > *{animation:lp3in .62s var(--expo) forwards}
.lp3-block.on.run > *:nth-child(1){animation-delay:.04s}
.lp3-block.on.run > *:nth-child(2){animation-delay:.12s}
.lp3-block.on.run > *:nth-child(3){animation-delay:.2s}
@keyframes lp3in{to{opacity:1;transform:none;filter:blur(0)}}
.lp3-tag{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding:7px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2)}
.lp3-tag .dot{width:7px;height:7px;border-radius:50%}
.lp3-block.k-problem .lp3-tag .dot{background:var(--red)}
.lp3-block.k-solution .lp3-tag .dot{background:var(--rec)}
.lp3-h{font-size:clamp(23px,2.6vw,35px);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:14px 0 12px;color:var(--ink)}
.lp3-p{font-size:clamp(14.5px,1.25vw,16.5px);line-height:1.6;color:var(--muted);max-width:32em}
/* --- progress rail --- */
.lp3-rail{display:flex;justify-content:center;gap:7px;margin-top:clamp(18px,2.6vw,34px)}
.lp3-seg{width:44px;height:4px;border-radius:3px;background:rgba(27,31,59,.13);overflow:hidden}
.lp3-seg i{display:block;height:100%;width:0;border-radius:3px;background:var(--ink);transition:width .18s linear}

/* ===== state 0 : live lactate curve + physiological controllers ===== */
.lc-card{width:100%;max-width:560px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(255,255,255,.8);border-radius:20px;box-shadow:0 30px 66px -34px rgba(14,22,38,.42),inset 0 1px 0 rgba(255,255,255,.85);padding:16px 18px 14px}
.lc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.lc-ttl{font-size:12.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.lc-gwrap{position:relative}
.lc-pill{position:absolute;z-index:6;top:3px;left:50%;transform:translate(-50%,0);white-space:nowrap;display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;color:#fff;background:var(--rec);padding:4px 10px;border-radius:999px;font-variant-numeric:tabular-nums;box-shadow:0 8px 18px -8px rgba(20,28,46,.5);transition:background .3s,opacity .3s}
.lc-pill svg{width:9px;height:9px}
.lc-pill.neg svg{transform:rotate(180deg)}
.lc-pill.neg{background:var(--red)}
.lc-pill.zero{opacity:.35;background:var(--muted-2)}
.lc-svg{width:100%;height:auto;display:block}
.lc-grid line{stroke:rgba(27,31,59,.26);stroke-width:1.6;stroke-linecap:round}
.lc-grid line.lc-g{stroke:rgba(27,31,59,.06);stroke-width:1;stroke-linecap:butt}
.lc-grid line.lc-tick{stroke:rgba(27,31,59,.2);stroke-width:1.4;stroke-linecap:butt}
.lc-ref{stroke:rgba(27,31,59,.32);stroke-width:1.2;stroke-dasharray:5 5}
.lc-ax,.lc-axl{font-family:Manrope,system-ui,sans-serif;font-size:10px;font-weight:700;fill:var(--muted-2)}
.lc-leg{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:var(--muted-2)}
.lc-leg i{width:15px;height:0;border-top:3.5px dotted var(--rec);border-radius:2px}
.lc-leg i.lg-gh{border-top:3px solid rgba(78,109,140,.4);margin-left:8px}
.lc-ghost{fill:none;stroke:var(--rec);opacity:.36;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.lc-curve{fill:none;stroke:var(--rec);stroke-width:4;stroke-dasharray:.5 10.5;stroke-linecap:round;stroke-linejoin:round}
.lc-lt{stroke:rgba(27,31,59,.34);stroke-width:1.3;stroke-dasharray:4 4}
.lc-ltt{font-family:Manrope,system-ui,sans-serif;font-size:11px;font-weight:800;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round}
.lc-ctrls{margin-top:10px;display:grid;gap:7px}
.lc-row{display:grid;grid-template-columns:1fr 128px;align-items:center;gap:10px}
.lc-lab{font-size:11px;font-weight:700;color:var(--muted)}
.lc-track{position:relative;height:5px;border-radius:3px;background:rgba(27,31,59,.1)}
.lc-track i{position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;margin-left:-6px;border-radius:50%;background:#fff;border:2px solid var(--rec);box-shadow:0 2px 6px rgba(20,28,46,.28);left:50%}
.lc-foot{margin-top:9px;text-align:center;font-size:11px;font-weight:700;color:var(--muted-2)}

/* ===== state 1 : laptop opens on scroll, metrics pop ===== */
.mb{width:100%;max-width:470px;display:flex;flex-direction:column;align-items:center}
.mb-lidwrap{width:100%;perspective:1100px}
.mb-lid{transform-origin:bottom center;transform:rotateX(var(--open,-88deg));transition:transform .06s linear;background:#0e1116;border-radius:12px 12px 3px 3px;padding:8px 8px 10px;box-shadow:0 30px 60px -30px rgba(14,22,38,.6)}
.mb-screen{position:relative;aspect-ratio:16/10.4;border-radius:7px;overflow:hidden;background:#fff}
.mb-ui{position:absolute;inset:0;padding:11px 13px;display:flex;flex-direction:column}
.mb-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.mb-brand{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--ink)}
.mb-status{font-size:9px;font-weight:700;color:var(--muted-2);opacity:0;transition:opacity .4s}
.mb.is-open .mb-status{opacity:1}
.mb-graph{width:100%;flex:1;min-height:0}
.mb-line{fill:none;stroke:var(--rec);stroke-width:2.8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.4,0,.2,1)}
.mb-4mm{stroke:rgba(27,31,59,.28);stroke-width:1;stroke-dasharray:4 4}
.mb.is-open .mb-line{stroke-dashoffset:0}
/* the sweeping analysis line */
.mb-scan{position:absolute;top:24px;bottom:12px;width:2px;left:12px;background:linear-gradient(180deg,transparent,rgba(78,109,140,.75),transparent);opacity:0}
.mb.is-open .mb-scan{animation:mbscan 1.9s cubic-bezier(.4,0,.2,1) .15s 1 forwards}
@keyframes mbscan{0%{opacity:0;transform:translateX(0)}12%{opacity:1}88%{opacity:1}100%{opacity:0;transform:translateX(calc(100% + 300px))}}
.mb{position:relative}
.mb-gcards{position:absolute;inset:0;pointer-events:none;z-index:6}
.mb-gc{position:absolute;background:#fff;border:1px solid rgba(255,255,255,.85);border-radius:16px;padding:9px 11px 8px;text-align:center;box-shadow:0 26px 50px -22px rgba(20,28,46,.45),0 8px 18px -10px rgba(20,28,46,.2);opacity:0;transform:scale(.25) translateY(28px);filter:blur(4px)}
.mb-gc .gf-cap{font-size:10.5px;font-weight:700;color:var(--ink);margin-bottom:2px}
.mb-gc .gx{display:block;width:84px;height:auto;margin:0 auto}
.mb-gc .gnum{font-size:14px;font-weight:800;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.mb-gc .gun{margin-left:3px;font-size:8.5px;font-weight:600;color:var(--muted-2)}
.mb-gc.g1{left:1%;top:6%}
.mb-gc.g2{left:50%;top:-10%;margin-left:-77px;width:154px;z-index:2}
.mb-gc.g2 .gx{width:108px}
.mb-gc.g2 .gnum{font-size:17px}
.mb-gc.g3{right:1%;top:6%}
.mb.is-open .mb-gc{animation:mbpop .55s cubic-bezier(.34,1.56,.64,1) forwards}
.mb.is-open .mb-gc.g1{animation-delay:1.08s}
.mb.is-open .mb-gc.g2{animation-delay:1.24s}
.mb.is-open .mb-gc.g3{animation-delay:1.42s}
@keyframes mbpop{to{opacity:1;transform:none;filter:blur(0)}}
.mb-base{width:112%;height:11px;border-radius:0 0 12px 12px;background:linear-gradient(180deg,#2a2f37,#171b21);position:relative;box-shadow:0 16px 26px -14px rgba(14,22,38,.55)}
.mb-notch{position:absolute;left:50%;top:0;transform:translateX(-50%);width:66px;height:4px;border-radius:0 0 5px 5px;background:rgba(255,255,255,.16)}

/* ===== state 2 : the old-paper artefact ===== */
.lp3-paper{position:relative;transform:rotate(-1.6deg)}
.lp3-paper img{width:100%;max-width:520px;height:auto;display:block;filter:drop-shadow(0 30px 44px rgba(14,22,38,.30)) drop-shadow(0 8px 16px rgba(14,22,38,.16))}
.lp3-stamp{position:absolute;right:-6px;bottom:-12px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);background:rgba(255,255,255,.92);border:1px solid rgba(230,38,28,.35);border-radius:999px;padding:6px 12px;transform:rotate(-2deg);box-shadow:0 10px 22px -12px rgba(20,28,46,.45)}

@media(max-width:860px){
  .lp3{height:auto}
  .lp3-pin{position:relative;height:auto;padding:40px 0}
  .lp3-grid{grid-template-columns:1fr;gap:20px}
  .lp3-visual{order:-1!important;min-height:clamp(260px,64vw,340px)}
  .lp3-content{min-height:250px}
  .lp3-vis{transform:none;filter:none}
  .lp3-vis:not(.on){display:none}
  .lp3-block:not(.on){display:none}
}
@media(prefers-reduced-motion:reduce){
  .lp3-vis{transition:opacity .2s;transform:none;filter:none}
  .lp3-block > *{opacity:1;transform:none;filter:none;animation:none!important}
  .mb-scan{display:none}
  .mb-gc{opacity:1;transform:none;filter:none;animation:none!important}
}

/* ===== 360 solution : standalone single-column dashboard ===== */
.lp4{padding:clamp(56px,8vw,104px) 0 clamp(40px,6vw,72px)}
.lp4-head{text-align:center;max-width:800px;margin:0 auto clamp(34px,5vw,58px)}
.lp4-head .eyebrow{margin-bottom:14px}
.lp4-head .sec-sub{margin:16px auto 0}
.lp4-stage{position:relative;max-width:1220px;margin:0 auto}
/* metrics that sit OUTSIDE the frame, like the floating chips in the reference */
.lp4-out{position:absolute;top:46%;z-index:3;display:flex;flex-direction:column;gap:14px}
.lp4-out-l{left:0;transform:translateX(-58%)}
.lp4-out-r{right:0;transform:translateX(58%);text-align:right}
.lp4-oc{width:120px;text-align:center;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.85);border-radius:16px;padding:9px 10px 8px;box-shadow:0 24px 48px -22px rgba(20,28,46,.45),0 8px 18px -10px rgba(20,28,46,.18);animation:lp4bob 7s ease-in-out infinite alternate}
.lp4-oc .gf-cap{font-size:9.5px;font-weight:700;color:var(--ink);margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp4-oc .gx{display:block;width:64px;height:auto;margin:0 auto}
.lp4-oc .gnum{font-size:13px;font-weight:800;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.lp4-oc .gun{margin-left:3px;font-size:8px;font-weight:600;color:var(--muted-2)}
.lp4-out-r .lp4-oc{animation-delay:-3.2s;margin-left:auto}
@keyframes lp4bob{from{transform:translateY(-6px)}to{transform:translateY(6px)}}

/* the dashboard frame, cut off at the bottom by a white fade */
.lp4-frame{position:relative;overflow:hidden;max-height:clamp(600px,66vw,800px)}
.lp4-fade{position:absolute;left:0;right:0;bottom:0;height:170px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 82%);pointer-events:none}
.lp4-app{padding:2px}
/* athlete profile row */
.lp4-athlete{display:flex;align-items:center;gap:20px;padding:13px 18px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 14px 30px -24px rgba(20,28,46,.35);margin-bottom:16px;flex-wrap:wrap}
.lp4-avatar{flex:none;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--surface-2);box-shadow:0 0 0 2px #fff,0 2px 6px rgba(20,28,46,.2)}
.lp4-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.lp4-who{display:flex;flex-direction:column;gap:1px;min-width:0;margin-right:6px}
.lp4-who b{font-size:14.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.lp4-who i{font-style:normal;font-size:11px;font-weight:600;color:var(--muted)}
.lp4-field{display:flex;flex-direction:column;gap:1px;padding-left:20px;border-left:1px solid var(--border)}
.lp4-field i{font-style:normal;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}
.lp4-field b{font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap}
.lp4-change{margin-left:auto;flex:none;font-size:11px;font-weight:700;color:var(--ink);border:1px solid var(--border);border-radius:9px;padding:8px 13px;background:#fff;box-shadow:0 2px 6px -2px rgba(20,28,46,.15)}

/* six metric tiles */
.lp4-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.lp4-m{border:1px solid var(--border);border-radius:14px;padding:10px 6px 9px;background:#fff;text-align:center;min-width:0;box-shadow:0 12px 26px -22px rgba(20,28,46,.35)}
.lp4-m .gf-cap{font-size:10.5px;font-weight:700;color:var(--ink);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp4-m .gx{display:block;width:72px;max-width:88%;height:auto;margin:0 auto}
.lp4-m .gnum{font-size:14px;font-weight:800;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.lp4-m .gun{margin-left:3px;font-size:8.5px;font-weight:600;color:var(--muted-2);white-space:nowrap}
/* the two graphs */
.lp4-graphs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.lp4-g{border:1px solid var(--border);border-radius:14px;padding:14px 16px 11px;background:#fff;box-shadow:0 12px 26px -22px rgba(20,28,46,.35)}
.lp4-gh{display:flex;align-items:baseline;justify-content:space-between;gap:8px 12px;margin-bottom:8px;flex-wrap:wrap}
.lp4-gh b{font-size:13.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.lp4-key{display:flex;align-items:center;gap:6px;font-size:9.5px;font-weight:700;color:var(--muted-2);flex-wrap:wrap}
.lp4-key i{width:14px;height:0;border-top:3px solid;border-radius:2px;display:inline-block}
.lp4-key i.k-fat{border-color:var(--green,#0F766E)}
.lp4-key i.k-carb{border-color:var(--carb,#EA580D);margin-left:8px}
.lp4-key i.k-zone{width:10px;height:10px;border:0;border-radius:3px;background:rgba(15,118,110,.16);outline:1px solid rgba(15,118,110,.3);outline-offset:-1px;margin-left:8px}
.lp4-key i.k-rec{border-color:var(--rec)}
.lp4-key i.k-acc{border-color:#C026D3;margin-left:8px}
.lp4-gbody .stack{position:relative}
.lp4-gbody .ly{display:block}
.lp4-gbody .ly.over{position:absolute;inset:0}
.lp4-gbody .gx{width:100%;height:auto;display:block}
.lp4-gbody .fat{stroke:var(--green,#0F766E);stroke-width:4;fill:none}
.lp4-gbody .carb{stroke:var(--carb,#EA580D);stroke-width:4;fill:none}
.lp4-gbody .lrec{stroke:var(--rec);stroke-width:4;fill:none}
.lp4-gbody .lacc{stroke:#C026D3;stroke-width:4;fill:none}
.lp4-xl{text-align:center;font-size:9px;font-weight:700;color:var(--muted-2);margin-top:2px}
.lp4-read{display:flex;flex-wrap:wrap;gap:4px 14px;border-top:1px solid var(--border);margin-top:10px;padding-top:9px;font-size:10.5px;font-weight:700;color:var(--muted)}
.lp4-read b{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}
.lp4-read .v-fat{color:var(--green,#0F766E)}
.lp4-read .v-carb{color:var(--carb,#EA580D)}
.lp4-read .v-rec{color:var(--rec)}
.lp4-read .v-acc{color:#C026D3}
/* the cut-off zone rows that prove there is more below */
.lp4-more{display:grid;gap:7px}
.lp4-zrow{display:grid;grid-template-columns:1.5fr 1fr .7fr;gap:10px;font-size:11.5px;font-weight:600;color:var(--muted);border:1px solid var(--border);border-radius:10px;padding:9px 12px;background:#fff}
.lp4-zrow span:first-child{color:var(--ink);font-weight:700}
.lp4-zrow span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:1100px){
  .lp4-out-l{transform:translateX(-14%)}
  .lp4-out-r{transform:translateX(14%)}
}
@media(max-width:860px){
  .lp4-out{display:none}
  .lp4-field,.lp4-change{display:none}
  .lp4-metrics{grid-template-columns:repeat(3,1fr)}
  .lp4-graphs{grid-template-columns:1fr}
  .lp4-frame{max-height:clamp(680px,190vw,960px)}
}
@media(prefers-reduced-motion:reduce){.lp4-oc{animation:none}}

/* ===== equipment bento ===== */
.lp5{padding:clamp(56px,8vw,104px) 0}
.lp5-head{text-align:left;max-width:800px;margin:0 0 clamp(30px,4.5vw,52px)}
.lp5-head .eyebrow{margin-bottom:14px}
.lp5-head .sec-sub{margin:16px 0 0}
.lp5-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.5vw,18px)}
.lp5-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:clamp(210px,22vw,258px);border-radius:20px;border:1px solid var(--border);background:linear-gradient(160deg,#fbfcfd,#f1f4f8);padding:18px 18px 0;overflow:hidden;transition:transform .45s var(--expo),box-shadow .45s var(--expo)}
.lp5-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(20,28,46,.42)}
.lp5-wide{grid-column:span 2;flex-direction:row;align-items:center;padding:20px 0 20px 22px}
.lp5-txt{position:relative;z-index:1}
.lp5-wide .lp5-txt{max-width:52%}
.lp5-card h3{font-size:clamp(15px,1.35vw,17.5px);font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}
.lp5-card p{font-size:12.5px;line-height:1.5;color:var(--muted);font-weight:500}
.lp5-chip{display:inline-block;margin-top:10px;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--rec);background:rgba(78,109,140,.1);border:1px solid rgba(78,109,140,.24);border-radius:999px;padding:5px 10px}
.lp5-img{display:flex;align-items:flex-end;justify-content:center;flex:1;min-height:0}
.lp5-img img{max-width:100%;max-height:172px;width:auto;height:auto;object-fit:contain;display:block;filter:drop-shadow(0 18px 26px rgba(20,28,46,.18))}
.lp5-wide .lp5-img{align-items:center;padding-right:12px}
.lp5-wide .lp5-img img{max-height:190px}
.lp5-img-duo{gap:8px;align-items:flex-end}
.lp5-img-duo img{max-height:148px}
.lp5-wide .lp5-img-duo img{max-height:150px}
.lp5-wide .lp5-img{min-width:0;overflow:hidden}
.lp5-accent .lp5-img-duo img.dv-cart{max-height:212px}
.lp5-accent .lp5-img-duo img.dv-vo2{max-height:92px}
.lp5-pm .lp5-txt{max-width:42%}
.lp5-pm .lp5-img-duo{justify-content:flex-end;gap:12px;padding-right:16px}
.lp5-pm .lp5-img-duo img.dv-pm{max-height:158px}
.lp5-pm .lp5-img-duo img:last-child{max-height:104px}
/* the VO2 card is the upsell, give it the brand tint */
.lp5-accent{background:linear-gradient(160deg,#f2f6fa,#e6edf4);border-color:rgba(78,109,140,.28)}
.lp5-foot{text-align:center;margin-top:clamp(22px,3vw,34px);font-size:13px;font-weight:700;color:var(--muted-2)}
@media(max-width:1000px){
  .lp5-bento{grid-template-columns:repeat(2,1fr)}
  .lp5-wide{grid-column:span 2}
}
@media(max-width:640px){
  .lp5-bento{grid-template-columns:1fr}
  .lp5-wide{grid-column:span 1;flex-direction:column;align-items:stretch;padding:18px 18px 0}
  .lp5-wide .lp5-txt{max-width:none}
  .lp5-wide .lp5-img{padding-right:0}
}

/* ===== science : fey-card study deck (1:1 with the homepage deck, light theme) ===== */
.lp6{padding:clamp(56px,8vw,104px) 0;overflow:hidden}
.lp6-head{text-align:left;max-width:800px;margin:0 0 clamp(10px,1.6vw,20px)}
.lp6-head .eyebrow{margin-bottom:14px}
.lp6-head .sec-sub{margin:16px 0 0}
.lp6-stage{position:relative;margin-top:34px;height:clamp(500px,52vw,680px);display:flex;align-items:center;justify-content:center}
/* the caption fades in on hover, like the fey signature */
.lp6-caption{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);z-index:70;pointer-events:none;font-size:12.5px;font-weight:700;letter-spacing:.01em;color:var(--muted);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:999px;padding:8px 16px;transition:opacity .35s var(--expo),transform .35s var(--expo);white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis}
.lp6-deck{--cw:clamp(240px,25vw,320px);--ch:clamp(344px,36vw,456px);position:relative;width:min(920px,94vw);height:var(--ch);perspective:1600px}
/* cards sit tilted and only partly visible at rest; hover straightens + lifts the hovered one */
.lp6-card{position:absolute;top:0;bottom:0;margin:auto;left:50%;width:var(--cw);height:var(--ch);margin-left:calc(var(--cw) / -2);display:block;text-decoration:none;color:inherit;border-radius:8px;overflow:hidden;cursor:pointer;background:#fff;outline:1px solid rgba(0,0,0,.08);outline-offset:-1px;box-shadow:0 1px 2px rgba(20,28,46,.07),0 16px 34px -16px rgba(20,28,46,.34),0 46px 80px -36px rgba(20,28,46,.46);transition:transform .6s cubic-bezier(.22,1,.36,1),width .6s cubic-bezier(.22,1,.36,1),height .6s cubic-bezier(.22,1,.36,1),margin-left .6s cubic-bezier(.22,1,.36,1),box-shadow .45s var(--expo);will-change:transform}
.lp6-bar{flex:0 0 auto;display:flex;align-items:center;gap:8px;height:26px;padding:0 10px;background:linear-gradient(#fcfcfd,#f1f2f6);border-bottom:1px solid rgba(20,28,46,.08)}
.lp6-dots{display:flex;gap:5px}
.lp6-dots i{width:7px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.09),inset 0 1px 1px rgba(255,255,255,.5)}
.lp6-dots i:nth-child(1){background:#ff5f57}
.lp6-dots i:nth-child(2){background:#febc2e}
.lp6-dots i:nth-child(3){background:#28c840}
.lp6-url{flex:1;max-width:150px;height:13px;border-radius:999px;background:#fff;border:1px solid rgba(20,28,46,.1)}
.lp6-pg{position:absolute;inset:0;overflow:hidden;background:#fff}
.lp6-pg img{width:100%;height:100%;object-fit:cover;object-position:left top;display:block}
/* hovering a paper zooms it for real: the card takes a bigger layout size (the page is
   re-rendered at that size, not stretched), and its bottom dissolves into the page */
.lp6-card.active{--cwA:clamp(360px,34vw,470px);top:0;bottom:auto;
  width:var(--cwA);height:calc(var(--cwA) * 1.4145);margin-left:calc(var(--cwA) / -2);
  -webkit-mask-image:linear-gradient(to bottom,#000 42%,rgba(0,0,0,.55) 64%,transparent 86%);
          mask-image:linear-gradient(to bottom,#000 42%,rgba(0,0,0,.55) 64%,transparent 86%)}
.lp6-card.active .lp6-pg::after{opacity:0}
.lp6-pg::after{transition:opacity .4s var(--expo)}
.lp6-pg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 78%,rgba(255,255,255,.9) 100%)}
.lp6-card::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(14,22,38,.01) 26%,rgba(14,22,38,.26));transition:opacity .45s var(--expo);pointer-events:none}
.lp6-card.active::after{opacity:0}
.lp6-card.active{box-shadow:0 2px 6px rgba(20,28,46,.1),0 -12px 40px -20px rgba(20,28,46,.4)}
.lp6-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px);margin-top:clamp(26px,3.4vw,42px);max-width:none}
.lp6-fact{text-align:center;border:1px solid var(--border);border-radius:16px;background:linear-gradient(160deg,#fbfcfd,#f2f5f9);padding:16px 14px}
.lp6-fact b{display:block;font-size:13.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em;margin-bottom:4px}
.lp6-fact span{font-size:11.5px;line-height:1.45;color:var(--muted);font-weight:500}
@media(max-width:860px){
  .lp6-facts{grid-template-columns:1fr}
  /* the 3D fan does not survive a phone: the papers become a swipeable row */
  .lp6-stage{height:auto;display:flex;flex-direction:column;align-items:flex-start;margin-top:26px}
  .lp6-deck{--cw:min(74vw,290px);--ch:auto;align-self:stretch;width:auto;height:auto;perspective:none;display:flex;gap:14px;
    overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;
    padding:4px 16px 10px;margin:0 -16px;scrollbar-width:none}
  .lp6-deck::-webkit-scrollbar{display:none}
  .lp6-card{position:relative!important;top:auto;bottom:auto;left:auto;margin:0!important;height:calc(var(--cw) * 1.42);
    flex:0 0 var(--cw);scroll-snap-align:center;transform:none!important;z-index:1!important}
  .lp6-card::after{display:none}
  .lp6-card.active{width:var(--cw);height:calc(var(--cw) * 1.42);margin-left:0;-webkit-mask-image:none;mask-image:none}
  .lp6-caption{position:static;transform:none;order:2;margin:14px 0 0;max-width:none}
}
@media(prefers-reduced-motion:reduce){.lp6-card{transition:none}}

/* ===== round 8 : paired sections + polish ===== */
.vchip-row{text-align:center}
.lab-sec.paired{padding-top:0}
.lab-grid .lp7b-stage{height:clamp(440px,46vw,580px)}
.lab-grid .lp7b-sheet{width:min(74%,410px)}
.lab-grid .rj-card,.lab-grid .lv-card{max-width:none}
.sec-title,.lp3-title,.hero-h1{text-wrap:balance}
.sec-sub,.lp3-p{text-wrap:pretty}
.lp6-card:focus-visible{outline:2px solid var(--rec);outline-offset:3px}
.rj-range:focus-visible{outline:2px solid var(--rec);outline-offset:2px;border-radius:99px}
.lv-opt:active{transform:scale(.96)}
.l9-loopgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,3.5vw,48px);align-items:center;max-width:1060px;margin:clamp(44px,6vw,70px) auto 0}
.l9-loopcopy h3{font-size:clamp(20px,2.3vw,29px);font-weight:800;letter-spacing:-.025em;color:var(--ink);margin-bottom:10px;text-wrap:balance}
.l9-loopcopy h3 .accent{color:var(--red)}
.l9-loopcopy p{font-size:14.5px;line-height:1.6;color:var(--muted);font-weight:500;max-width:46ch;text-wrap:pretty}
.l9-loopgrid .rt-card{max-width:none;margin:0}
@media(max-width:960px){.l9-loopgrid{grid-template-columns:1fr}}
/* ===== round 7 : reports + retention + ROI + CTA ===== */
.vchip{display:inline-flex;align-items:center;gap:8px;align-self:center;margin:0 auto clamp(20px,3vw,30px);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:7px 14px;border-radius:999px;border:1px dashed rgba(27,31,59,.3);background:rgba(255,255,255,.7)}
.vwrap{display:flex;flex-direction:column}
.vblock{margin-top:clamp(30px,4.5vw,54px);display:flex;flex-direction:column}
.vblock>.vchip{align-self:center}
/* --- lp7a : report fan --- */
.lp7-fan{position:relative;height:clamp(380px,42vw,510px);margin-right:-9%}
/* the report pages carry the section, so they render large */
.lp7-fan .rp-card{width:clamp(204px,21vw,272px);margin:0}
.lp7-fan .rp-card{margin-left:calc(clamp(204px,21vw,272px) / -2);margin-top:calc(clamp(204px,21vw,272px) * -0.71)}
.lp7-fan .rp-rf{inset:0}
.lp7-fan .rp-rf::after{background:linear-gradient(to right,#fff 0%,transparent 10%,transparent 90%,#fff 100%),linear-gradient(to bottom,transparent 82%,#fff 100%)}
/* --- lp7b : live report builder --- */
.lp7b-stage{position:relative;height:clamp(430px,46vw,540px);overflow:hidden}
.lp7b-sheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(66%,430px);aspect-ratio:210/260;background:#fff;border-radius:12px;box-shadow:0 34px 70px -34px rgba(20,28,46,.4),0 0 0 1px rgba(20,28,46,.06);padding:5% 5.5%}
.lp7b-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:4.5%}
.lp7b-logo{height:17px;width:auto;display:block}
.lp7b-badge{display:inline-flex;align-items:center;gap:7px;font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
.lp7b-av{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(78,109,140,.08);border:1px dashed rgba(78,109,140,.4);color:rgba(78,109,140,.75)}
.lp7b-av svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lp7b-title{font-size:clamp(13px,1.6vw,19px);font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.lp7b-sub{font-size:10.5px;font-weight:600;color:var(--muted);margin-top:3px;margin-bottom:4%}
.lp7b-slot{position:absolute;border:1.5px dashed rgba(78,109,140,.45);border-radius:10px;background:rgba(78,109,140,.05);transition:border-color .3s,background .3s,opacity .3s}
.lp7b-slot .hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:rgba(78,109,140,.65);text-align:center;padding:6px;transition:opacity .25s}
.lp7b-slot.filled{border-color:transparent;background:transparent}
.lp7b-slot.filled .hint{opacity:0}
.lp7b-s1{left:6%;top:21%;width:41%;height:29%}
.lp7b-s2{left:53%;top:21%;width:41%;height:29%}
.lp7b-txt{position:absolute;left:6%;top:54%;width:88%;height:30%;border-radius:10px}
.lp7b-txtin{font-size:clamp(10px,1.2vw,14px);line-height:1.55;font-weight:600;color:var(--ink);padding:10px 13px;min-height:100%}
.lp7b-caret{display:inline-block;width:1.5px;height:1em;background:var(--rec);vertical-align:-2px;margin-left:1px;animation:l7caret 1s steps(2) infinite}
@keyframes l7caret{50%{opacity:0}}
.lp7b-el{position:absolute;left:0;top:0;will-change:transform;filter:drop-shadow(0 16px 26px rgba(20,28,46,.28))}
/* both dropped cards share one box so they land as a single aligned row */
.lp7b-el .mb-gc-like,.lp7b-graphcard{box-sizing:border-box;width:174px;height:114px;
  display:flex;flex-direction:column;align-items:center;justify-content:center}
.lp7b-el .mb-gc-like{background:#fff;border:1px solid rgba(255,255,255,.85);border-radius:16px;padding:9px 12px;text-align:center;box-shadow:0 10px 24px -12px rgba(20,28,46,.35)}
.lp7b-el .gf-cap{font-size:11.5px;font-weight:700;color:var(--ink);margin-bottom:1px}
.lp7b-el .gx{display:block;width:74px;height:auto;margin:0 auto}
.lp7b-el .gnum{font-size:17px;font-weight:800;color:var(--ink)}
.lp7b-el .gun{margin-left:3px;font-size:10px;font-weight:600;color:var(--muted-2)}
.lp7b-graphcard{background:#fff;border:1px solid rgba(255,255,255,.85);border-radius:16px;padding:9px 11px;box-shadow:0 10px 24px -12px rgba(20,28,46,.35)}
.lp7b-graphcard .cap{font-size:11px;font-weight:700;color:var(--ink);margin-bottom:3px}
.lp7b-graphcard svg{width:150px;height:auto;display:block}
.lp7b-cursor{position:absolute;left:0;top:0;z-index:8;will-change:transform;pointer-events:none}
.lp7b-cursor .cur-arrow{width:17px;height:17px;display:block;filter:drop-shadow(0 2px 4px rgba(20,28,46,.35))}
.lp7b-cursor .tag{position:absolute;left:14px;top:15px;white-space:nowrap;font-size:9px;font-weight:700;color:#fff;padding:3px 8px;border-radius:999px;box-shadow:0 4px 10px -4px rgba(20,28,46,.4)}
.lp7b-c1 .cur-arrow{fill:var(--rec);stroke:#fff;stroke-width:1.4}
.lp7b-c1 .tag{background:var(--rec)}
.lp7b-c2 .cur-arrow{fill:var(--red);stroke:#fff;stroke-width:1.4}
.lp7b-c2 .tag{background:var(--red)}
.lp7b-c3 .cur-arrow{fill:#0f766e;stroke:#fff;stroke-width:1.4}
.lp7b-c3 .tag{background:#0f766e}
.lp7b-ready{position:absolute;right:5%;top:auto;bottom:4.5%;display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;color:#0f766e;background:rgba(15,118,110,.1);border:1px solid rgba(15,118,110,.25);border-radius:999px;padding:5px 11px;opacity:0;transform:scale(.4);filter:blur(3px)}
.lp7b-ready svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.lp7b-ready.on{animation:l7pop .5s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes l7pop{to{opacity:1;transform:scale(1);filter:blur(0)}}
.lp7b-note{text-align:center;font-size:12px;font-weight:700;color:var(--muted-2);margin-top:14px}
/* --- lp8 v1 : interactive projection (rj-) --- */
.rj-card{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 30px 66px -34px rgba(14,22,38,.35);padding:18px 20px 16px}
.rj-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.rj-ttl{font-size:13px;font-weight:800;color:var(--ink)}
.rj-live{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--rec)}
.rj-live i{width:7px;height:7px;border-radius:50%;background:var(--rec);animation:rjpulse 1.8s ease-in-out infinite}
@keyframes rjpulse{50%{opacity:.3}}
.rj-sliders{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.rj-srow{display:grid;grid-template-columns:96px 1fr 92px;align-items:center;gap:12px}
.rj-srow label{font-size:11.5px;font-weight:800;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.rj-val{font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:var(--ink)}
.rj-val i{font-style:normal;font-size:8px;font-weight:600;color:var(--muted);margin-left:3px}
.rj-range{-webkit-appearance:none;appearance:none;width:100%;height:20px;background:transparent;cursor:pointer}
.rj-range::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:linear-gradient(to right,var(--rec) 0%,var(--rec) var(--p,50%),rgba(20,28,46,.12) var(--p,50%))}
.rj-range::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:#fff;border:1.5px solid var(--rec);box-shadow:0 1px 3px rgba(20,28,46,.25),0 0 0 3px rgba(78,109,140,.12)}
.rj-range::-moz-range-track{height:4px;border-radius:99px;background:rgba(20,28,46,.12)}
.rj-range::-moz-range-progress{height:4px;border-radius:99px;background:var(--rec)}
.rj-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:1.5px solid var(--rec);box-shadow:0 1px 3px rgba(20,28,46,.25)}
.rj-gwrap{position:relative;border:1px solid rgba(20,28,46,.07);border-radius:12px;padding:8px 7px 5px;overflow:hidden}
.rj-gwrap svg{width:100%;height:auto;display:block}
.rj-base{fill:none;stroke:var(--rec);opacity:.4;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}
.rj-proj{fill:none;stroke:var(--rec);stroke-width:5;stroke-dasharray:1 13;stroke-linecap:round;stroke-linejoin:round}
.rj-legend{position:absolute;z-index:6;left:10px;top:9px;display:flex;flex-direction:column;gap:3px;background:rgba(255,255,255,.88);border:1px solid rgba(20,28,46,.08);border-radius:8px;padding:5px 9px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.rj-legend span{display:inline-flex;align-items:center;gap:6px;font-size:8.5px;font-weight:700;color:var(--muted)}
.rj-legend i{width:14px;height:0;border-radius:2px}
.rj-legend .a i{border-top:3px solid rgba(78,109,140,.45)}
.rj-legend .b i{border-top:3.5px dotted var(--rec)}
.rj-pill{position:absolute;z-index:7;left:50%;top:20%;transform:translate(-50%,-130%);white-space:nowrap;display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;color:#fff;background:var(--rec);padding:4px 10px;border-radius:999px;font-variant-numeric:tabular-nums;box-shadow:0 8px 18px -8px rgba(20,28,46,.5);transition:opacity .3s,background .3s}
.rj-pill svg{width:9px;height:9px}
.rj-pill.neg{background:var(--red)}
.rj-pill.neg svg{transform:rotate(180deg)}
.rj-pill.hide{opacity:0}
.rj-foot{margin-top:10px;text-align:center;font-size:11px;font-weight:700;color:var(--muted-2)}
/* --- lp8 v2 : pick the lever (lv-) --- */
.lv-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 30px 66px -34px rgba(14,22,38,.35);padding:20px 22px 18px}
.lv-head{display:flex;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--border);margin-bottom:16px}
.lv-ava{flex:none;width:34px;height:34px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(20,28,46,.2)}
.lv-ava img{width:100%;height:100%;object-fit:cover;display:block}
.lv-who b{display:block;font-size:13px;font-weight:800;color:var(--ink)}
.lv-who i{font-style:normal;font-size:10.5px;font-weight:600;color:var(--muted)}
.lv-goal{margin-left:auto;text-align:right}
.lv-goal i{display:block;font-style:normal;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
.lv-goal b{font-size:13px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.lv-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.lv-opt{position:relative;border:1.5px solid var(--border);border-radius:14px;background:#fff;padding:11px 10px 10px;text-align:center;cursor:pointer;transition:border-color .3s,box-shadow .3s,transform .3s var(--expo)}
.lv-opt .gx{display:block;width:58px;height:auto;margin:0 auto 2px}
.lv-opt b{display:block;font-size:11.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.lv-opt i{font-style:normal;font-size:9.5px;font-weight:700;color:var(--muted)}
.lv-opt.on{border-color:var(--rec);box-shadow:0 14px 30px -18px rgba(78,109,140,.55),0 0 0 3px rgba(78,109,140,.12);transform:translateY(-3px)}
.lv-star{position:absolute;top:-9px;right:-7px;font-size:8.5px;font-weight:800;letter-spacing:.05em;color:#fff;background:var(--red);border-radius:999px;padding:3px 8px;box-shadow:0 6px 14px -6px rgba(230,38,28,.6)}
.lv-out{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;align-items:center;background:linear-gradient(160deg,#f7f9fc,#eef2f7);border:1px solid var(--border);border-radius:14px;padding:14px 18px}
.lv-time i{display:block;font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:3px}
.lv-time b{font-size:clamp(30px,3.4vw,40px);font-weight:800;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.lv-time u{text-decoration:none;margin-left:8px;font-size:12px;font-weight:800;color:#0f766e;font-variant-numeric:tabular-nums}
.lv-chips{display:flex;flex-direction:column;gap:7px}
.lv-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:7px 11px;font-size:10.5px;font-weight:700;color:var(--muted)}
.lv-chip b{font-size:12.5px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.lv-note{margin-top:11px;text-align:center;font-size:11px;font-weight:700;color:var(--muted-2)}
/* --- lp8 v3 : retest loop (rt-) --- */
.rt-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 30px 66px -34px rgba(14,22,38,.35);padding:20px 22px 18px}
.rt-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:center}
.rt-radar{position:relative}
.rt-radar svg{width:100%;height:auto;display:block}
.rt-ax{font-family:Manrope,system-ui,sans-serif;font-size:10.5px;font-weight:700;fill:var(--muted-2)}
.rt-web{stroke:rgba(27,31,59,.1);stroke-width:1;fill:none}
.rt-t1{fill:rgba(27,31,59,.05);stroke:rgba(27,31,59,.3);stroke-width:1.6;stroke-dasharray:5 5}
.rt-t2{fill:rgba(78,109,140,.16);stroke:var(--rec);stroke-width:2.6;stroke-linejoin:round}
.rt-leg{display:flex;gap:14px;justify-content:center;margin-top:6px;font-size:9.5px;font-weight:700;color:var(--muted-2)}
.rt-leg span{display:inline-flex;align-items:center;gap:5px}
.rt-leg i{width:14px;height:0}
.rt-leg .t1 i{border-top:2.5px dashed rgba(27,31,59,.35)}
.rt-leg .t2 i{border-top:3px solid var(--rec)}
.rt-deltas{display:flex;flex-direction:column;gap:8px}
.rt-d{display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(160deg,#f9fafc,#f0f3f8);border:1px solid var(--border);border-radius:11px;padding:8px 12px;opacity:0;transform:translateY(10px) scale(.92);filter:blur(3px)}
.rt-d.on{animation:l7pop .5s cubic-bezier(.34,1.56,.64,1) forwards}
.rt-d i{font-style:normal;font-size:10.5px;font-weight:700;color:var(--muted)}
.rt-d b{font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums;color:#0f766e}
.rt-d b.down{color:var(--rec)}
.rt-line{position:relative;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.rt-steps{display:flex;align-items:center;justify-content:space-between;position:relative}
.rt-steps::before{content:"";position:absolute;left:5%;right:5%;top:7px;height:2px;background:rgba(27,31,59,.1);border-radius:2px}
.rt-prog{position:absolute;left:5%;top:7px;height:2px;width:0;background:var(--rec);border-radius:2px}
.rt-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9.5px;font-weight:700;color:var(--muted-2);width:33%}
.rt-step i{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid rgba(27,31,59,.2);transition:border-color .3s,background .3s}
.rt-step.done i{border-color:var(--rec);background:var(--rec);box-shadow:0 0 0 3px rgba(78,109,140,.15)}
.rt-book{margin-top:13px;text-align:center}
.rt-book span{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:800;color:#0f766e;background:rgba(15,118,110,.09);border:1px solid rgba(15,118,110,.25);border-radius:999px;padding:6px 13px;opacity:0;transform:scale(.5)}
.rt-book span.on{animation:l7pop .5s cubic-bezier(.34,1.56,.64,1) forwards}
/* --- lp9 : lab ROI calculator --- */
.l9-pillars{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 clamp(24px,3.4vw,40px)}
.l9-pill{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:999px;padding:9px 16px;box-shadow:0 10px 22px -14px rgba(20,28,46,.3)}
.l9-pill svg{width:14px;height:14px;fill:none;stroke:var(--rec);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.l9-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(22px,3.4vw,44px);align-items:start;max-width:1060px;margin:0 auto}
.l9-in{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 56px -34px rgba(20,28,46,.35);padding:22px 24px 18px}
.l9-in h3{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.l9-out{display:flex;flex-direction:column;gap:12px}
.l9-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 20px;box-shadow:0 18px 40px -30px rgba(20,28,46,.35)}
.l9-card i{display:block;font-style:normal;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-bottom:5px}
.l9-card b{font-size:clamp(24px,2.6vw,32px);font-weight:800;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.05}
.l9-card u{text-decoration:none;font-size:12px;font-weight:700;color:var(--muted);margin-left:6px}
.l9-card p{font-size:11.5px;line-height:1.5;font-weight:600;color:var(--muted);margin:6px 0 0}
.l9-card.hero{background:linear-gradient(140deg,#1b2135,#0d1122);border-color:transparent}
.l9-card.hero i{color:rgba(255,255,255,.55)}
.l9-card.hero b{color:#fff}
.l9-card.hero u,.l9-card.hero p{color:rgba(255,255,255,.62)}
.l9-note{max-width:1060px;margin:16px auto 0;font-size:11px;line-height:1.55;color:var(--muted-2);font-weight:600;text-align:center}
@media(max-width:960px){.l9-grid{grid-template-columns:1fr}.rt-grid{grid-template-columns:1fr}.lv-row{grid-template-columns:1fr 1fr 1fr;gap:7px}}
@media(max-width:640px){.lv-row{grid-template-columns:1fr}.lv-out{grid-template-columns:1fr}.lp7b-stage{height:clamp(360px,110vw,470px)}.lp7b-sheet{width:82%}
.lp7b-el .gx{width:42px}.lp7b-el .mb-gc-like{padding:5px 7px 4px;border-radius:10px}.lp7b-el .gnum{font-size:10px}
.lp7b-graphcard{padding:5px 7px;border-radius:10px}.lp7b-graphcard svg{width:84px}.lp7b-graphcard .cap{font-size:7px}
.lp7b-ready{bottom:3.5%;right:4%}}

/* ===== problem->solution : laptop projection screen + layout variant tabs ===== */
.mbp-ghost{fill:none;stroke:var(--rec);opacity:.34;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mbp-live{fill:none;stroke:var(--rec);stroke-width:2.6;stroke-dasharray:.4 7;stroke-linecap:round;stroke-linejoin:round}
.mbp-ax{font-family:Manrope,system-ui,sans-serif;font-size:8px;font-weight:700;fill:var(--muted-2)}
.mbp-pillg rect{fill:var(--rec);transition:fill .3s}
.mbp-pillg.neg rect{fill:var(--red)}
.mbp-pillg.zero{opacity:.35}
.mbp-pillg{transition:opacity .3s}
.mbp-pillg text{font-family:Manrope,system-ui,sans-serif;font-size:8.5px;font-weight:800;fill:#fff;font-variant-numeric:tabular-nums}
.mbp-pillg .arr{fill:none;stroke:#fff;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center;transition:transform .3s}
.mbp-pillg.neg .arr{transform:rotate(180deg)}
.mbc{display:grid;grid-template-columns:1fr 1fr;gap:3px 14px;padding:5px 2px 0}
.mbc-row{display:flex;align-items:center;gap:6px}
.mbc-row>span:first-child{font-size:8px;font-weight:700;color:var(--muted-2);width:44px;flex:none;white-space:nowrap}
.mbc-track{position:relative;flex:1;height:3px;border-radius:99px;background:rgba(27,31,59,.12)}
.mbc-track i{position:absolute;top:50%;left:50%;width:7px;height:7px;border-radius:50%;background:#fff;border:1.5px solid var(--rec);transform:translate(-50%,-50%);box-shadow:0 1px 3px rgba(20,28,46,.3)}

/* dev-review tab bar (stripped once a layout is picked) */
.ps-zone{position:relative}
.ps-tabbar{position:static;top:auto;z-index:70;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;width:max-content;max-width:calc(100% - 32px);margin:clamp(26px,4vw,44px) auto 6px;padding:6px 9px;border-radius:999px;border:1px dashed rgba(27,31,59,.3);background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 14px 34px -18px rgba(20,28,46,.35)}
.ps-tlab{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding:0 6px}
.ps-tabbar button{font-family:inherit;font-size:11.5px;font-weight:700;color:var(--muted);background:none;border:1px solid transparent;border-radius:999px;padding:7px 13px;cursor:pointer;transition:color .25s,background-color .25s,border-color .25s,transform .15s}
.ps-tabbar button:hover{color:var(--ink)}
.ps-tabbar button:active{transform:scale(.96)}
.ps-tabbar button.on{color:#fff;background:var(--rec);border-color:var(--rec)}
section[data-psv][hidden]{display:none!important}
.psv-head{padding:clamp(34px,5vw,60px) 0 clamp(28px,4vw,46px)}
.psv .story-steps{min-height:460px}

/* V1 : one evolving chart inside the coaching story shell */
.w1-core{position:relative;padding:26px}
.w1-core .lc-card{max-width:none;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}
.w1-paper{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#fdfcf9,#f2efe8);opacity:0;transition:opacity .55s var(--expo);pointer-events:none}
.w1-paper img{max-width:72%;max-height:82%;width:auto;filter:drop-shadow(0 22px 34px rgba(14,22,38,.28))}
.w1-paper .lp3-stamp{position:absolute;right:9%;bottom:8%}
.w1-old .w1-paper{opacity:1}
.w1-old .lc-pill{opacity:0}
.w1-solved .lc-ctrls .lc-row{opacity:.4;transition:opacity .4s}
.w1-solved .lc-ctrls .lc-row:nth-child(2){opacity:1}
.w1-solved .lc-ctrls .lc-row:nth-child(2) .lc-lab{color:var(--rec);font-weight:800}

/* V2 : sticky scroll reveal */
.psv2{padding-bottom:clamp(50px,7vw,90px)}
.psv2-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:start}
.psv2-steps{display:flex;flex-direction:column}
.psv2-item{min-height:60vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;opacity:.22;transition:opacity .45s}
.psv2-item.on{opacity:1}
.psv2-side{position:sticky;top:calc(50vh - 230px);margin-top:calc(30vh - 230px);align-self:start;display:flex;justify-content:center}
.psv2-card{position:relative;width:100%;max-width:600px;height:460px}
.psv2-vis{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(14px) scale(.98);transition:opacity .5s var(--expo),transform .55s var(--expo);pointer-events:none}
.psv2-vis.on{opacity:1;transform:none;pointer-events:auto}
.psv2-vis .lc-card{max-width:100%}
.psv2-vis .lp3-paper img{max-height:360px;width:auto;max-width:100%;height:auto}

/* V3 : sticky card stack */
.psv3{padding-bottom:clamp(60px,8vw,110px)}
.psv3-stack{display:flex;flex-direction:column;padding-bottom:16px}
.psv3-end{height:60vh;flex:none}
.psv3-card{position:sticky;top:max(96px,calc(50vh - 290px));display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center;height:min(580px,calc(100vh - 150px));background:linear-gradient(150deg,#fff 40%,#f5f8fb);border:1px solid var(--border);border-radius:28px;padding:clamp(26px,4vw,54px);box-shadow:0 -18px 44px -30px rgba(20,28,46,.25),0 40px 90px -40px rgba(20,28,46,.35);margin-bottom:14vh;overflow:hidden}
.psv3-card:last-child{margin-bottom:0}
.psv3-num{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--red);display:block;margin-bottom:12px;font-variant-numeric:tabular-nums}
.psv3-copy .lp3-h{margin-top:14px}
.psv3-vis{display:flex;align-items:center;justify-content:center}
.psv3-vis .lp3-paper img{max-height:380px;width:auto;max-width:100%;height:auto}

/* app-window visual used by V2/V3 */
.psx-app{width:100%;max-width:470px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px 14px;box-shadow:0 30px 60px -30px rgba(14,22,38,.35)}
.psx-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.psx-stat{font-size:9.5px;font-weight:700;color:var(--muted-2)}
.psx-svg{width:100%;height:auto;display:block}

@media(max-width:860px){
  .ps-tabbar{position:static;top:auto}
  .psv .story-steps{min-height:0}
  .psv2-wrap{grid-template-columns:1fr}
  .psv2-side{top:64px;z-index:5;order:-1;margin-top:0}
  .psv2-card{height:clamp(250px,66vw,360px)}
  .psv2-vis{inset:12px}
  .psv2-vis .lp3-paper img{max-height:230px}
  .psv2-item{min-height:52vh}
  .psv3-card{grid-template-columns:1fr;height:auto;min-height:0;margin-bottom:60px;top:76px}
  .psv3-vis{order:-1}
}
@media(prefers-reduced-motion:reduce){
  .psv2-vis{transition:opacity .2s;transform:none}
}

/* ===== analyzing visuals (laptop + az cards + 5 review variants) ===== */
.mb-dots circle{fill:#fff;stroke:var(--rec);stroke-width:1.6;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3)}
.mb.is-open .mb-dots circle{animation:azdot .45s cubic-bezier(.34,1.56,.64,1) forwards}
.mb.is-open .mb-dots circle:nth-child(1){animation-delay:0.50s}.mb.is-open .mb-dots circle:nth-child(2){animation-delay:0.65s}.mb.is-open .mb-dots circle:nth-child(3){animation-delay:0.80s}.mb.is-open .mb-dots circle:nth-child(4){animation-delay:0.95s}.mb.is-open .mb-dots circle:nth-child(5){animation-delay:1.10s}.mb.is-open .mb-dots circle:nth-child(6){animation-delay:1.25s}.mb.is-open .mb-dots circle:nth-child(7){animation-delay:1.40s}
@keyframes azdot{to{opacity:1;transform:scale(1)}}
.az-app{position:relative;width:100%;min-width:0;max-width:480px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px 14px;box-shadow:0 30px 60px -30px rgba(14,22,38,.35);overflow:hidden}
.az-stat{font-size:9.5px;font-weight:700;color:var(--muted-2);font-variant-numeric:tabular-nums}
.az-curve{fill:none;stroke:var(--rec);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.run .az-curve{stroke-dashoffset:0;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1) .1s}
.az-dots circle{fill:#fff;stroke:var(--rec);stroke-width:1.6;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3)}
.run .az-dots circle{animation:azdot .45s cubic-bezier(.34,1.56,.64,1) forwards}
.run .az-dots circle:nth-child(1){animation-delay:0.30s}.run .az-dots circle:nth-child(2){animation-delay:0.47s}.run .az-dots circle:nth-child(3){animation-delay:0.64s}.run .az-dots circle:nth-child(4){animation-delay:0.81s}.run .az-dots circle:nth-child(5){animation-delay:0.98s}.run .az-dots circle:nth-child(6){animation-delay:1.15s}.run .az-dots circle:nth-child(7){animation-delay:1.32s}
.az-scan{position:absolute;top:34px;bottom:16px;width:2px;left:15px;background:linear-gradient(180deg,transparent,rgba(78,109,140,.75),transparent);opacity:0;pointer-events:none}
.run .az-scan{animation:azscan 1.7s cubic-bezier(.4,0,.2,1) .05s 1 forwards}
@keyframes azscan{0%{opacity:0;transform:translateX(0)}10%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translateX(436px)}}
.az-lt{stroke:var(--rec);stroke-width:1.2;stroke-dasharray:3 4;opacity:0;transition:opacity .45s}
.az-ltt{font-family:Manrope,system-ui,sans-serif;font-size:8.5px;font-weight:700;fill:var(--ink);opacity:0;transition:opacity .45s}
.marks .az-lt,.marks .az-ltt{opacity:1}
.az-out{display:flex;gap:6px;flex-wrap:wrap;padding-top:9px}
.az-chip{display:inline-flex;align-items:baseline;gap:5px;font-size:9.5px;font-weight:700;color:var(--muted);background:#fff;border:1px solid var(--border);border-radius:999px;padding:4px 9px;opacity:0;transform:translateY(8px) scale(.85)}
.az-chip b{font-size:11px;color:var(--ink);font-variant-numeric:tabular-nums}
.az-chip i{width:9px;height:3.5px;border-radius:2px;align-self:center}
.out .az-out .az-chip{animation:azchip .5s cubic-bezier(.34,1.56,.64,1) forwards}
.out .az-out .az-chip:nth-child(2){animation-delay:.12s}
.out .az-out .az-chip:nth-child(3){animation-delay:.24s}
@keyframes azchip{to{opacity:1;transform:none}}

/* review grid */
.solvis{padding:clamp(30px,4vw,50px) 0 clamp(60px,8vw,100px)}
.sv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,3vw,34px);justify-items:center}
.sv-cell{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;max-width:100%}
.sv-cell .vchip{margin-bottom:14px}
.sv-wide{grid-column:1/-1}

/* sv2 beam trace */
.sv2-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:12px;align-items:center}
.sv2-base{fill:none;stroke:var(--rec);stroke-width:2.4;stroke-linecap:round;opacity:.25}
.sv2-beam{fill:none;stroke:var(--rec);stroke-width:3.2;stroke-linecap:round;filter:drop-shadow(0 0 3.5px rgba(78,109,140,.9));stroke-dasharray:.13 .87;stroke-dashoffset:1.13;animation:svbeam 3.2s linear infinite}
@keyframes svbeam{from{stroke-dashoffset:1.13}to{stroke-dashoffset:.13}}
.sv2-d{fill:#fff;stroke:var(--rec);stroke-width:1.6;opacity:.4;transform-box:fill-box;transform-origin:center;animation:svdot 3.2s linear infinite}
@keyframes svdot{0%{opacity:.4;transform:scale(1)}2%{opacity:1;transform:scale(1.55);stroke-width:2.2}14%{opacity:1;transform:scale(1)}100%{opacity:.55}}
.sv2-rail{display:flex;flex-direction:column;gap:7px;border-left:1px solid var(--border);padding-left:12px}
.sv2-row{display:flex;align-items:baseline;gap:5px;opacity:.25;transform:translateX(10px);transition:opacity .5s var(--expo),transform .5s var(--expo)}
.sv2-row span{font-size:9.5px;font-weight:700;color:var(--muted);flex:1}
.sv2-row b{font-size:14px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.sv2-row i{font-size:8px;font-weight:600;color:var(--muted-2)}
.sv2.r0 .sv2-row:nth-child(1),.sv2.r1 .sv2-row:nth-child(2),.sv2.r2 .sv2-row:nth-child(3),.sv2.r3 .sv2-row:nth-child(4){opacity:1;transform:none}

/* sv3 decompose */
.sv3-net{fill:none;stroke:var(--rec);stroke-width:3;stroke-linecap:round}
.sv3-p{fill:none;stroke:#C026D3;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.85}
.sv3-c{fill:none;stroke:#0F766E;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.85}
.sv3.run .sv3-p{stroke-dashoffset:0;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1) .2s}
.sv3.run .sv3-c{stroke-dashoffset:0;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1) .7s}
.sv3-leg{display:flex;gap:6px;padding-top:9px}
.sv3-leg .az-chip.on{opacity:1;transform:none}
.sv3.lg .az-chip.l1,.sv3.lg .az-chip.l2{animation:azchip .5s cubic-bezier(.34,1.56,.64,1) forwards}
.sv3.lg .az-chip.l2{animation-delay:.15s}

/* sv4 blueprint */
.sv4-curve{stroke-dashoffset:0}
.sv4-band{fill:rgba(15,118,110,.1);opacity:0;transform:scaleX(.02);transform-origin:left center;transform-box:fill-box;transition:opacity .4s,transform .8s var(--expo)}
.sv4.a1 .sv4-band{opacity:1;transform:none}
.sv4-bandt{font-family:Manrope,system-ui,sans-serif;font-size:8.5px;font-weight:700;fill:#0F766E;opacity:0;transition:opacity .4s .3s}
.sv4.a1 .sv4-bandt{opacity:1}
.sv4-l{stroke:var(--rec);stroke-width:1.2;stroke-dasharray:3 4;opacity:0;transition:opacity .4s}
.sv4-t{font-family:Manrope,system-ui,sans-serif;font-size:8.5px;font-weight:700;fill:var(--ink);opacity:0;transition:opacity .4s}
.sv4.a2 .sv4-a2{opacity:1}
.sv4.a3 .sv4-a3{opacity:1}
.sv4-flag{fill:var(--rec)}
.sv4-ft{font-family:Manrope,system-ui,sans-serif;font-size:8px;font-weight:800;fill:#fff}
g.sv4-a4{opacity:0;transform:translateY(6px);transition:opacity .45s,transform .45s var(--expo)}
.sv4.a4 g.sv4-a4{opacity:1;transform:none}

/* sv5 live report */
.sv5-grid{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding-top:4px}
.sv5-ringwrap{position:relative;width:110px;display:flex;flex-direction:column;align-items:center}
.sv5-ringwrap svg{width:96px;height:96px}
.sv5-tr{fill:none;stroke:rgba(27,31,59,.08);stroke-width:7}
.sv5-pr{fill:none;stroke:var(--rec);stroke-width:7;stroke-linecap:round;stroke-dasharray:226.19;stroke-dashoffset:226.19}
.sv5-ringwrap b{position:absolute;top:38px;font-size:16px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.sv5-cap{font-size:9px;font-weight:700;color:var(--muted-2);margin-top:6px;opacity:0;transition:opacity .4s}
.sv5.done .sv5-cap{opacity:1}
.sv5.done .sv5-pr{stroke:#0F766E}
.sv5-rows{display:flex;flex-direction:column;gap:8px}
.sv5-row{display:flex;align-items:center;gap:8px;opacity:.3;transition:opacity .4s}
.sv5-row.on{opacity:1}
.sv5-row>span:first-child{font-size:9.5px;font-weight:700;color:var(--muted);width:70px;flex:none}
.sv5-track{flex:1;height:4px;border-radius:99px;background:rgba(27,31,59,.08);overflow:hidden}
.sv5-track i{display:block;height:100%;width:0;border-radius:99px;background:var(--rec);transition:width 1s cubic-bezier(.4,0,.2,1)}
.sv5-row.on .sv5-track i{width:var(--w)}
.sv5-row b{font-size:12px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.sv5-row i{font-size:8px;font-weight:600;color:var(--muted-2);width:44px}

/* V4 horizontal slide */
.psv4-track{height:320vh}
.psv4-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.psv4-row{display:flex;width:300%;will-change:transform}
.psv4-panel{flex:0 0 33.3333%;display:flex;align-items:center;justify-content:center;padding:0 4vw;box-sizing:border-box}
.psv4-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,60px);align-items:center;max-width:1140px;width:100%}
.psv4-dots{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.psv4-dots i{width:26px;height:4px;border-radius:99px;background:rgba(27,31,59,.14);transition:background-color .3s}
.psv4-dots i.on{background:var(--rec)}

/* V5 auto tabs */
.psv5{padding-bottom:clamp(60px,8vw,110px)}
.psv5-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:clamp(24px,3vw,40px);flex-wrap:wrap}
.psv5-tabs button{position:relative;font-family:inherit;font-size:13px;font-weight:700;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:10px 18px 13px;cursor:pointer;transition:color .3s,border-color .3s,transform .15s;overflow:hidden}
.psv5-tabs button:active{transform:scale(.96)}
.psv5-tabs button.on{color:var(--ink);border-color:rgba(78,109,140,.5)}
.psv5-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(27,31,59,.07)}
.psv5-bar i{display:block;height:100%;width:0;background:var(--rec)}
@keyframes w5fill{to{width:100%}}
.psv5-panelwrap{position:relative;min-height:500px}
.psv5-panel{position:absolute;inset:0;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,60px);align-items:center;opacity:0;transform:translateY(12px);transition:opacity .5s var(--expo),transform .55s var(--expo);pointer-events:none}
.psv5-panel.on{opacity:1;transform:none;pointer-events:auto}

@media(max-width:860px){
  .sv-grid{grid-template-columns:minmax(0,1fr)}
  .sv2-grid{grid-template-columns:1fr}
  .sv2-rail{border-left:0;padding-left:0;flex-direction:row;flex-wrap:wrap;gap:12px}
  .psv4-track{height:auto}
  .psv4-pin{position:static;height:auto;overflow:visible}
  .psv4-row{display:block;width:auto;transform:none!important}
  .psv4-panel{padding:22px 18px}
  .psv4 .lp3-stamp{right:2px}
  .psv4-inner{grid-template-columns:1fr}
  .psv4-inner .psv3-vis{order:-1}
  .psv4-dots{display:none}
  .psv5-panelwrap{min-height:0}
  .psv5-panel{position:static;display:none;grid-template-columns:1fr}
  .psv5-panel.on{display:grid}
  .psv5-panel .psv3-vis{order:-1}
}
@media(prefers-reduced-motion:reduce){
  .sv2-beam,.sv2-d{animation:none}
  .az-scan{display:none}
}

/* ===== 360 V2 : curve -> full profile transition ===== */
.lp4b .lp4-head{margin-bottom:clamp(24px,3.5vw,42px)}
.lp4b-stage{position:relative;display:flex;align-items:center;justify-content:center;max-width:1280px;margin:0 auto;padding:0 16px}
.lp4b-tag{display:block;text-align:center;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-bottom:14px}
.lp4b-left{position:relative;z-index:2;flex:0 0 44%;max-width:560px;margin-right:-3%;
  -webkit-mask-image:linear-gradient(90deg,#000 60%,transparent 99%);mask-image:linear-gradient(90deg,#000 60%,transparent 99%)}
.lp4b-curve{fill:none;stroke:var(--rec);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.lp4b-left{display:flex;flex-direction:column}
.lp4b-left .lc-card{max-width:none;flex:1;display:flex;flex-direction:column}
.lp4b-card svg{flex:1;min-height:0}
.lp4b-stage{align-items:stretch}
.lp4b-right{position:relative;z-index:1;flex:0 0 63%;min-width:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 17%);mask-image:linear-gradient(90deg,transparent 0%,#000 17%)}
.lp4b-right .lp4-frame{max-height:clamp(480px,52vw,640px)}
.lp4b-mid{position:absolute;left:42.5%;top:-6%;bottom:-6%;width:18%;transform:translateX(-50%);z-index:3;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.85) 50%,rgba(255,255,255,0) 100%)}
.lp4b-arrow{position:absolute;left:42.5%;top:52%;transform:translate(-50%,-50%);z-index:4;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--rec);border:1px solid var(--border);box-shadow:0 14px 30px -14px rgba(20,28,46,.4),0 4px 10px -6px rgba(20,28,46,.2)}
.lp4b-arrow svg{width:17px;height:17px}
@media(max-width:860px){
  .lp4b-stage{flex-direction:column;padding:0 18px}
  .lp4b-left{flex:none;width:100%;max-width:480px;margin:0 0 -46px 0;
    -webkit-mask-image:linear-gradient(180deg,#000 58%,transparent 100%);mask-image:linear-gradient(180deg,#000 58%,transparent 100%)}
  .lp4b-right{flex:none;width:100%;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 26%);mask-image:linear-gradient(180deg,transparent 0%,#000 26%)}
  .lp4b-right .lp4-frame{max-height:clamp(560px,160vw,820px)}
  .lp4b-mid,.lp4b-arrow{display:none}
}

/* ===== 360 V3 : real app, tab by tab ===== */
.lp4c .lp4-head{margin-bottom:clamp(20px,3vw,34px)}
.lp4c-wrap{max-width:1340px}
/* the switcher sits on the browser chrome, in the coaching pill language */
.lp4c-tabs{position:relative;display:inline-flex;gap:4px;padding:5px;margin:0 auto;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);max-width:100%}
.lp4c-tabs button{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:700;letter-spacing:-.01em;color:var(--muted-2);padding:8px 16px;border-radius:999px;white-space:nowrap;transition:color .35s,transform .15s}
.lp4c-tabs button:hover:not(.on){color:var(--ink)}
.lp4c-tabs button:active{transform:scale(.96)}
.lp4c-tabs button.on{color:#fff}
.lp4c-pill{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:999px;z-index:0;background:linear-gradient(150deg,#2b3350,#1B1F3B);box-shadow:0 10px 24px -12px rgba(18,20,29,.6),inset 0 -2px 0 #E6261C;transition:transform .5s cubic-bezier(.34,1.18,.5,1),width .5s cubic-bezier(.34,1.18,.5,1)}
.lp4c-desc{text-align:center;font-size:clamp(14.5px,1.2vw,16.5px);line-height:1.6;color:var(--muted);max-width:58ch;margin:0 auto clamp(22px,3vw,34px);transition:opacity .3s}
.lp4c-desc.swap{opacity:0}
.lp4c-win{position:relative;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 40px 90px -40px rgba(20,28,46,.4),0 10px 30px -18px rgba(20,28,46,.2);overflow:hidden}
.lp4c-bar{display:flex;align-items:center;gap:12px;padding:9px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fbfcfe,#f4f6f9)}
.lp4c-dots{display:flex;gap:6px;flex:none;width:96px}
.lp4c-dots i{width:10px;height:10px;border-radius:50%;background:rgba(27,31,59,.14)}
.lp4c-url{flex:none;width:96px;text-align:right;font-size:11px;font-weight:600;color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp4c-view{position:relative;height:clamp(560px,62vw,860px)}
.lp4c-shot{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:auto;-webkit-overflow-scrolling:touch;opacity:0;transition:opacity .45s var(--expo);pointer-events:none;scrollbar-width:thin;scrollbar-color:rgba(78,109,140,.45) transparent}
.lp4c-shot::-webkit-scrollbar{width:9px}
.lp4c-shot::-webkit-scrollbar-thumb{background:rgba(78,109,140,.4);border-radius:99px;border:2px solid #fff}
.lp4c-shot::-webkit-scrollbar-track{background:transparent}
.lp4c-shot.on{opacity:1;pointer-events:auto}
.lp4c-shot img{display:block;width:100%;height:auto}
.lp4c-fade{position:absolute;left:0;right:12px;bottom:0;height:70px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.85));pointer-events:none}
.lp4c-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted);background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:999px;padding:6px 13px;box-shadow:0 8px 20px -10px rgba(20,28,46,.35);pointer-events:none;transition:opacity .4s}
.lp4c-hint svg{width:11px;height:11px}
.lp4c-win.scrolled .lp4c-hint{opacity:0}
@media(max-width:860px){
  .lp4c-view{height:clamp(320px,90vw,480px)}
}


/* ===== equipment V2 : image-first bento ===== */
.lp5b-bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(230px,auto);gap:clamp(12px,1.5vw,18px)}
.lp5b-tall{grid-row:span 2}
.lp5b-tall .lp5-img img{max-height:400px}
.lp5b-wide{grid-column:span 2;flex-direction:row;align-items:center;padding:20px 0 20px 22px}
.lp5b-wide .lp5-txt{max-width:44%}
.lp5b-wide .lp5-img{min-width:0;overflow:hidden;align-items:center}
.lp5b-wide .lp5-img-duo img.dv-cart{max-height:236px}
.lp5b-wide .lp5-img-duo img.dv-vo2{max-height:98px}
.lp5b-full{grid-column:1/-1;flex-direction:row;align-items:center;padding:20px 0 20px 22px;min-height:250px}
.lp5b-full .lp5-txt{max-width:34%}
.lp5b-full .lp5-img{min-width:0;overflow:hidden;align-items:center;justify-content:flex-end;padding-right:26px;gap:22px}
.lp5b-full .lp5-img-duo img{max-height:216px}
.lp5b-bento .lp5-card:not(.lp5b-wide):not(.lp5b-full):not(.lp5b-tall) .lp5-img-duo img.dv-pm{max-height:170px}
.lp5b-bento .lp5-card:not(.lp5b-wide):not(.lp5b-full):not(.lp5b-tall) .lp5-img-duo img:last-child{max-height:120px}
.lp5b-bento .lp5-card:not(.lp5b-wide):not(.lp5b-full) .lp5-img img{max-height:190px}
.lp5b-tall .lp5-img{align-items:center}

/* ===== equipment V3 : device-first cards, persona overlay ===== */
.lp5c-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,1.5vw,18px)}
.lp5c-card{position:relative;grid-column:span 2;min-height:clamp(340px,30vw,420px);border-radius:24px;border:1px solid var(--border);background:linear-gradient(165deg,#fafbfd 0%,#eef2f7 78%);overflow:hidden;transition:transform .45s var(--expo),box-shadow .45s var(--expo)}
.lp5c-card:hover{transform:translateY(-4px);box-shadow:0 34px 70px -36px rgba(20,28,46,.45)}
.lp5c-wide{grid-column:span 3;min-height:clamp(300px,24vw,360px)}
.lp5c-card img.dev{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);max-width:74%;max-height:58%;filter:drop-shadow(0 22px 34px rgba(20,28,46,.24))}
.lp5c-card img.d1{left:35%;max-width:54%;max-height:58%}
.lp5c-card img.d2{left:76%;max-width:42%;max-height:52%}
.lp5c-wide img.c1{left:34%;max-width:40%;max-height:74%;top:42%}
.lp5c-wide img.c2{left:69%;max-width:31%;max-height:46%;top:44%}
.lp5c-wide img.p1{left:30%;max-width:44%;max-height:70%;top:40%}
.lp5c-wide img.p2{left:71%;max-width:42%;max-height:64%;top:42%}
.lp5c-ol{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:84px 22px 20px;background:linear-gradient(180deg,rgba(13,17,27,0) 0%,rgba(13,17,27,.62) 55%,rgba(13,17,27,.88) 100%)}
.lp5c-ol h3{color:#fff;font-size:clamp(16px,1.5vw,20px);font-weight:800;letter-spacing:-.02em;margin-bottom:6px}
.lp5c-ol p{color:rgba(255,255,255,.78);font-size:13px;line-height:1.55;font-weight:500;max-width:52ch}
@media(max-width:860px){
  .lp5b-bento{grid-template-columns:1fr 1fr}
  .lp5b-tall{grid-row:auto}
  .lp5b-wide,.lp5b-full{grid-column:1/-1;flex-direction:column;padding:18px 18px 0}
  .lp5b-wide .lp5-txt,.lp5b-full .lp5-txt{max-width:none}
  .lp5c-grid{grid-template-columns:1fr}
  .lp5c-card,.lp5c-wide{grid-column:span 1}
}

/* ===== equipment V4 : persona-overlay bento ===== */
.lp5d-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(200px,auto);gap:clamp(12px,1.5vw,18px)}
.lp5d-hero{grid-column:1/5;grid-row:1/3;min-height:clamp(420px,34vw,480px)}
.lp5d-hero img.c1{left:36%;max-width:44%;max-height:78%;top:42%}
.lp5d-hero img.c2{left:72%;max-width:24%;max-height:38%;top:46%}
.lp5d-sm{grid-column:span 2;min-height:0}
.lp5d-sm img.dev{max-width:66%;max-height:56%;top:38%}
.lp5d-sm .lp5c-ol{padding:56px 18px 16px}
.lp5d-sm .lp5c-ol p{font-size:12px}
.lp5d-w{grid-column:span 3;min-height:clamp(240px,20vw,290px)}
.lp5d-w img.d1{left:34%;max-width:42%;max-height:60%;top:40%}
.lp5d-w img.d2{left:72%;max-width:34%;max-height:52%;top:42%}
@media(max-width:860px){
  .lp5d-grid{grid-template-columns:1fr}
  .lp5d-hero,.lp5d-sm,.lp5d-w{grid-column:span 1;grid-row:auto;min-height:300px}
}

/* ===== equipment V5 : split, name-only tiles ===== */
.lp5e-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(34px,5vw,80px);align-items:center}
.lp5e-left .lp5e-foot{margin-top:22px;font-size:13px;font-weight:700;color:var(--muted-2)}
.lp5e-left .sec-sub{margin:16px 0 0}
.lp5e-right{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(170px,auto);gap:clamp(12px,1.4vw,18px)}
.lp5e-tile{position:relative;display:flex;flex-flow:row wrap;align-items:center;align-content:center;justify-content:center;gap:12px;padding:18px 16px 16px;border-radius:20px;border:1px solid var(--border);background:linear-gradient(160deg,#fbfcfd,#f1f4f8);transition:transform .4s var(--expo),box-shadow .4s var(--expo)}
.lp5e-tile:hover{box-shadow:0 24px 50px -30px rgba(20,28,46,.4)}
.lp5e-w{grid-column:span 2;flex-direction:row;gap:18px;min-height:190px;flex-wrap:wrap}
.lp5e-tile img{max-height:110px;max-width:46%;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(20,28,46,.16))}
.lp5e-w img{max-height:150px;max-width:38%}
.lp5e-w img.t2{max-height:84px}
.lp5e-tile img.t2{max-height:78px}
.lp5e-tile span{font-size:13px;font-weight:800;letter-spacing:-.01em;color:var(--ink);text-align:center;flex-basis:100%;margin-top:2px}
.lp5e-w span{width:auto;flex-basis:100%}
.lp5e-right .lp5e-tile{animation:lp5efloat 6s ease-in-out infinite alternate}
.lp5e-right .lp5e-tile:nth-child(1){animation-duration:7.2s}
.lp5e-right .lp5e-tile:nth-child(2){animation-delay:-1.6s;animation-duration:5.6s}
.lp5e-right .lp5e-tile:nth-child(3){animation-delay:-3.1s;animation-duration:6.4s}
.lp5e-right .lp5e-tile:nth-child(4){animation-delay:-2.2s;animation-duration:5.2s}
.lp5e-right .lp5e-tile:nth-child(5){animation-delay:-4.2s;animation-duration:6.8s}
@keyframes lp5efloat{from{transform:translateY(-5px)}to{transform:translateY(7px)}}
@media(prefers-reduced-motion:reduce){.lp5e-right .lp5e-tile{animation:none}}
@media(max-width:860px){
  .lp5e-grid{grid-template-columns:1fr}
  .lp5e-right{grid-auto-rows:minmax(150px,auto)}
}

/* ===== accuracy V2 : the homepage bento card mechanism, no frame ===== */
section.sci-v[hidden]{display:none!important}
.lp6b{padding:clamp(56px,8vw,104px) 0;overflow:hidden}
.lp6b-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(24px,4vw,56px);align-items:center}
.lp6b-copy{max-width:520px}
.lp6b-copy .sec-title{margin-top:14px}
.lp6b-copy .sec-sub{margin-top:16px}
.lp6b-area{--sw:clamp(320px,38vw,540px);--sh:calc(var(--sw) * 1.016);
  position:relative;height:clamp(440px,46vw,620px)}
.lp6b-scene{position:absolute;left:6%;top:50%;width:var(--sw);height:var(--sh);margin-top:calc(var(--sh) / -2);
  perspective:1400px;transform-style:preserve-3d;opacity:0;translate:0 20px;
  transition:opacity .7s ease,translate .7s cubic-bezier(.23,1,.32,1)}
.lp6b-area.in .lp6b-scene{opacity:1;translate:0 0}
.lp6b-win{position:absolute;top:50%;left:50%;width:var(--sw);height:var(--sh);
  margin:calc(var(--sh) / -2) 0 0 calc(var(--sw) / -2);display:block;overflow:hidden;border-radius:12px;background:#fff;
  text-decoration:none;opacity:0;outline:1px solid rgba(0,0,0,.08);outline-offset:-1px;
  transition:transform 1.05s cubic-bezier(.32,.72,0,1),opacity .6s ease,box-shadow .9s ease;will-change:transform}
.lp6b-win img{width:100%;display:block}
.lp6b-win .cut{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 76%,rgba(255,255,255,.86) 100%)}
.lp6b-win.s0{transform:translate(0,0) scale(1) skewY(6deg);opacity:1;z-index:8;
  box-shadow:0 2px 5px rgba(20,28,46,.09),0 8px 18px -6px rgba(20,28,46,.24),0 64px 104px -42px rgba(20,28,46,.62)}
.lp6b-win.s1{transform:translate(17%,-10.5%) scale(.94) skewY(6deg);opacity:1;z-index:7;
  box-shadow:0 1px 3px rgba(20,28,46,.05),0 4px 12px -4px rgba(20,28,46,.14),0 40px 74px -40px rgba(20,28,46,.42)}
.lp6b-win.s2{transform:translate(33%,-20%) scale(.885) skewY(6deg);opacity:1;z-index:6;
  box-shadow:0 1px 2px rgba(20,28,46,.04),0 24px 50px -34px rgba(20,28,46,.3)}
.lp6b-win.sq{transform:translate(34%,-21%) scale(.87) skewY(6deg);opacity:0;z-index:5;pointer-events:none}
.lp6b-win.sdrop{transform:translate(0,100%) scale(1) skewY(6deg);opacity:0;z-index:9}
.lp6b-win.snap{transition:none}
@media(max-width:900px){
  .lp6b-grid{grid-template-columns:1fr}
  .lp6b-copy{max-width:none}
  .lp6b-area{--sw:min(70vw,340px);height:clamp(360px,86vw,470px)}
  .lp6b-scene{left:4%}
}
@media(prefers-reduced-motion:reduce){.lp6b-win{transition:opacity .3s ease}}

/* ===== accuracy V3 : the same fan, papers cut to the top half of the page ===== */
.lp6c{padding:clamp(56px,8vw,104px) 0;overflow:hidden}
.lp6c .lp6-head{text-align:left;max-width:800px;margin:0 0 clamp(10px,1.6vw,20px)}
.lp6c .lp6-head .sec-sub{margin:16px 0 0}
.lp6c-stage{position:relative;margin-top:38px;height:clamp(330px,34vw,430px);display:flex;align-items:center;justify-content:center}
/* page is 620x877, so half of it is width * 0.707 */
.lp6c-deck{--cw:clamp(300px,32vw,430px);--ch:calc(var(--cw) * .707);position:relative;width:min(1080px,94vw);height:var(--ch);perspective:1600px}
.lp6c-card{position:absolute;top:0;bottom:0;margin:auto;left:50%;width:var(--cw);height:var(--ch);margin-left:calc(var(--cw) / -2);
  display:block;text-decoration:none;color:inherit;border-radius:6px;overflow:hidden;cursor:pointer;background:#fff;
  outline:1px solid rgba(0,0,0,.08);outline-offset:-1px;
  box-shadow:0 1px 2px rgba(20,28,46,.07),0 16px 34px -16px rgba(20,28,46,.34),0 46px 80px -36px rgba(20,28,46,.46);
  transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .45s var(--expo);will-change:transform}
.lp6c-pg{position:absolute;inset:0;overflow:hidden;background:#fff}
.lp6c-pg img{width:100%;height:auto;display:block}
/* the page is cut, not shrunk: it fades out over the last third */
.lp6c-pg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 88%)}
.lp6c-card::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(14,22,38,.01) 26%,rgba(14,22,38,.26));
  transition:opacity .45s var(--expo);pointer-events:none}
.lp6c-card.active::after{opacity:0}
.lp6c-card.active{box-shadow:0 2px 4px rgba(20,28,46,.08),0 26px 52px -20px rgba(20,28,46,.4),0 60px 110px -34px rgba(20,28,46,.5)}
.lp6c-card:focus-visible{outline:2px solid var(--rec);outline-offset:3px}
@media(max-width:860px){
  .lp6c-stage{height:auto;display:flex;flex-direction:column;align-items:flex-start;margin-top:26px}
  .lp6c-deck{--cw:min(78vw,320px);--ch:auto;align-self:stretch;width:auto;height:auto;perspective:none;display:flex;gap:14px;
    overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;
    padding:4px 16px 10px;margin:0 -16px;scrollbar-width:none}
  .lp6c-deck::-webkit-scrollbar{display:none}
  .lp6c-card{position:relative!important;top:auto;bottom:auto;left:auto;margin:0!important;height:calc(var(--cw) * .707);
    flex:0 0 var(--cw);scroll-snap-align:center;transform:none!important;z-index:1!important}
  .lp6c-card::after{display:none}
  .lp6c-stage .lp6-caption{position:static;transform:none;order:2;margin:14px 0 0;max-width:none}
}
@media(prefers-reduced-motion:reduce){.lp6c-card{transition:none}}

.lab-sec.ovh{overflow:hidden}
/* ===== reports V3 : interactive folder gallery ===== */
section.rep-v[hidden],section.rtn-v[hidden]{display:none!important}
.lp7c-stage{position:relative;height:clamp(390px,42vw,510px);margin-left:-5%;margin-right:-11%;perspective:1300px;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:center;padding-bottom:6%}
.lp7c-scene{position:relative;width:min(94%,520px);height:340px;transform-style:preserve-3d}
.lp7c-back{position:absolute;left:2.5%;right:2.5%;bottom:12px;height:282px;border-radius:16px;
  background:linear-gradient(160deg,#e9edf4,#dde3ec);box-shadow:0 30px 60px -34px rgba(20,28,46,.45);
  transition:transform .8s cubic-bezier(.32,.72,0,1),opacity .6s ease}
.lp7c-front{position:absolute;left:0;right:0;bottom:0;height:224px;border-radius:18px;z-index:20;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(162deg,#f8fafc,#e8edf4);border:1px solid rgba(20,28,46,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 6px -2px rgba(20,28,46,.12),0 34px 64px -30px rgba(20,28,46,.42);
  transition:transform .8s cubic-bezier(.32,.72,0,1),opacity .6s ease}
.lp7c-label{font-size:13px;font-weight:800;letter-spacing:-.01em;color:#fff;background:var(--ink);
  border-radius:999px;padding:9px 18px;box-shadow:0 12px 26px -14px rgba(20,28,46,.6)}
.lp7c-cards{position:absolute;inset:0;z-index:10;transform-style:preserve-3d}
.lp7c-card{position:absolute;left:50%;bottom:86px;width:216px;aspect-ratio:1050/1491;margin-left:-108px;
  border-radius:11px;overflow:hidden;background:#fff;transform-origin:bottom center;
  outline:1px solid rgba(0,0,0,.07);outline-offset:-1px;
  box-shadow:0 2px 5px rgba(20,28,46,.08),0 20px 40px -20px rgba(20,28,46,.5);
  transition:transform .95s cubic-bezier(.32,.72,0,1),opacity .5s ease;will-change:transform}
.lp7c-card img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.lp7c-stage.no-tr .lp7c-card{transition:none}
.lp7c-stage.is-carousel .lp7c-front{transform:translateY(58px);opacity:0}
.lp7c-stage.is-carousel .lp7c-back{transform:translateY(44px);opacity:0}
@media(max-width:640px){
  .lp7c-scene{width:92%;height:280px}
  .lp7c-front{height:176px}
  .lp7c-back{height:228px}
  .lp7c-card{width:168px;margin-left:-84px;bottom:70px}
}
@media(prefers-reduced-motion:reduce){.lp7c-card,.lp7c-front,.lp7c-back{transition:none}}

/* ===== reports V4 : pages falling onto a tilted plane ===== */
.lp7d{padding:clamp(56px,8vw,104px) 0 0;overflow:hidden}
.lp7d-copy .sec-title{margin:14px 0 18px;max-width:20ch}
.lp7d-sub{max-width:60ch}
.lp7d-copy .btn-row{margin-top:clamp(20px,2.6vw,30px)}
.lp7d-link{display:inline-flex;align-items:center;font-size:15px;font-weight:700;color:var(--ink);text-decoration:none;
  padding:12px 4px;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}
.lp7d-link:hover{border-bottom-color:var(--ink)}
.lp7d-scene{position:relative;height:clamp(370px,40vw,540px);margin-top:clamp(2px,1vw,14px);
  perspective:1700px;perspective-origin:24% 12%;
  /* only the far end dissolves: a mask, so it works on any background */
  -webkit-mask-image:linear-gradient(to top,#000 40%,rgba(0,0,0,.86) 74%,transparent 99%);
          mask-image:linear-gradient(to top,#000 40%,rgba(0,0,0,.86) 74%,transparent 99%)}
/* a 1x1 origin: every page is placed by translate3d relative to this point */
.lp7d-plane{position:absolute;left:29%;bottom:6%;width:1px;height:1px;transform-style:preserve-3d;
  transform:rotateX(52deg) rotateZ(-21deg)}
.lp7d-pg{position:absolute;left:0;bottom:0;width:clamp(240px,29vw,420px);aspect-ratio:1050/1491;
  border-radius:10px;overflow:hidden;background:#fff;outline:1px solid rgba(0,0,0,.07);outline-offset:-1px;
  box-shadow:0 34px 64px -30px rgba(20,28,46,.5),0 2px 6px -2px rgba(20,28,46,.16);
  transform:translate3d(var(--x),var(--y),0);opacity:0;
  transition:transform 1s cubic-bezier(.22,1,.36,1),opacity .55s ease}
.lp7d-pg:not(.is-in){transform:translate3d(var(--x),calc(var(--y) - 60px),300px)}
.lp7d-pg.is-in{opacity:var(--o,1)}
.lp7d-pg img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
/* the far end of the cascade dissolves into the page */
@media(max-width:900px){
  .lp7d-scene{height:clamp(240px,50vw,330px);perspective-origin:30% 10%}
  .lp7d-plane{left:-2%;bottom:-12%;transform:rotateX(48deg) rotateZ(-19deg)}
  .lp7d-pg{width:min(56vw,250px)}
}
@media(prefers-reduced-motion:reduce){.lp7d-pg{transition:none}}

/* ===== ROI calculator : compact layout variants (one instance, four layouts) ===== */
.roi-tabs{margin-top:clamp(26px,3.4vw,40px)}
#business .bz2-calc{--slider-w:100%}
#business .bz-ctl input[type=range]{width:var(--slider-w);max-width:100%}

/* --- V2 two columns: all three strategies side by side, controls in pairs --- */
:is(.roi-b,.roi-e,.roi-f) .bz3-cols{grid-template-columns:1fr 1fr 1fr;align-items:start}
:is(.roi-b,.roi-e,.roi-f) .bz3-stack{display:contents}
:is(.roi-b,.roi-e,.roi-f) .bz3-col{padding:18px 20px 6px}
:is(.roi-b,.roi-e,.roi-f) .bz2-sec{margin:0 0 8px;font-size:10px}
:is(.roi-b,.roi-e,.roi-f) .bz3-desc{font-size:11.5px;line-height:1.5;margin:0 0 12px}
:is(.roi-b,.roi-e,.roi-f) .bz-ctl{margin-bottom:12px}
:is(.roi-b,.roi-e,.roi-f) .bz-lab{margin-bottom:4px;gap:8px}
:is(.roi-b,.roi-e,.roi-f) .bz-lab label{font-size:13px}
:is(.roi-b,.roi-e,.roi-f) .bz-ctl input[type=number]{width:78px;font-size:15px;padding:6px 9px;border-radius:9px}
:is(.roi-b,.roi-e,.roi-f) .bz-ctl input[type=range]{height:16px}
:is(.roi-b,.roi-e,.roi-f) .bz-hint{font-size:10.5px;margin-top:5px}
:is(.roi-b,.roi-e,.roi-f) .bz3-total{margin-top:20px}

/* --- V3 strategy tabs: one strategy at a time, two control columns, totals beside --- */
.roi-c .bz3-cols{display:block;margin-top:14px}
.roi-c .bz3-stack{display:contents}
.roi-c .bz3-col{padding:20px 24px 10px}
.roi-c .bz3-col[hidden]{display:none}
.roi-c .bz3-col .bz2-sec{display:none}
.roi-c .bz3-desc{font-size:12.5px;margin:0 0 14px;max-width:70ch}
.roi-c .bz3-col{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-items:start}
.roi-c .bz3-desc{grid-column:1/-1}
.roi-c .bz-ctl{margin-bottom:14px}
.roi-c .bz-ctl input[type=range]{height:18px}
.roi-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.roi-strip button{font-family:inherit;font-size:12px;font-weight:800;letter-spacing:-.01em;color:var(--muted);
  background:#fff;border:1px solid var(--border-2);border-radius:999px;padding:9px 16px;cursor:pointer;
  transition:color .2s,border-color .2s,background-color .2s,transform .15s}
.roi-strip button:hover{color:var(--ink);border-color:var(--ink)}
.roi-strip button:active{transform:scale(.97)}
.roi-strip button.on{color:#fff;background:var(--ink);border-color:var(--ink)}
.roi-strip button i{font-style:normal;color:var(--red);margin-right:7px}
.roi-strip button.on i{color:#fff;opacity:.7}
.roi-a .roi-strip,.roi-b .roi-strip,.roi-d .roi-strip,.roi-e .roi-strip,.roi-f .roi-strip{display:none}

/* --- V4 spreadsheet: no sliders, tight rows, closest to the original sheet --- */
.roi-d .bz3-cols{grid-template-columns:1fr;gap:0;margin-top:16px}
.roi-d .bz3-stack{display:contents}
.roi-d .bz3-col{border-radius:0;box-shadow:none;background:transparent;padding:14px 0 6px;
  border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(170px,250px) minmax(0,1fr) minmax(0,1fr);
  gap:6px 28px;align-items:center}
.roi-d .bz3-cols>.bz3-stack>.bz3-col:first-child,.roi-d .bz3-cols>.bz3-col:first-child{border-top:0}
.roi-d .bz2-sec{margin:0;grid-column:1;align-self:center}
.roi-d .bz3-desc{display:none}
.roi-d .bz-ctl{margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.roi-d .bz-ctl input[type=range]{display:none}
.roi-d .bz-lab{margin:0;flex:1;gap:10px}
.roi-d .bz-lab label{font-size:12.5px;font-weight:700;color:var(--muted)}
.roi-d .bz-ctl input[type=number]{width:84px;font-size:15px;padding:6px 9px;border-radius:9px}
.roi-d .bz-hint{display:none}
.roi-d .bz3-col>.bz-ctl:nth-of-type(n+3){grid-column:2/-1}
.roi-d .bz3-total{margin-top:22px}
@media(max-width:1100px){
  .roi-b .bz3-cols{grid-template-columns:1fr 1fr}
  .roi-d .bz3-col{grid-template-columns:1fr;gap:8px}
  .roi-d .bz2-sec{margin-bottom:4px}
}
@media(max-width:860px){
  .roi-b .bz3-cols,.roi-c .bz3-col{grid-template-columns:1fr}
}

/* --- V5 / V6 : the retest evidence, in place of the old standalone section --- */
.roi-proof,.roi-rt{display:none}
.roi-e .roi-proof{display:block;margin:2px 0 14px;padding:14px 16px;border-radius:14px;
  background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}
/* the retest chart shows in V5 and V6; in V5 the numbers already sit in strategy 02 */
:is(.roi-e,.roi-f) .roi-rt{display:block;margin-top:20px;padding-top:18px;border-top:1px dashed var(--border-2)}
.roi-e .roi-rt .rt-deltas{display:none}
.roi-rt .rt-card{max-width:none;margin:0;padding:0;background:transparent;box-shadow:none;border:0}
.roi-rt .rt-grid{grid-template-columns:1fr;gap:10px}
.roi-f .roi-rt .rt-grid{grid-template-columns:1.05fr .95fr;gap:14px}
.roi-rt .rt-radar svg{max-width:300px;margin:0 auto;display:block}
.roi-rt .rt-line{margin-top:12px}
.roi-proof-h,.roi-panel-h{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted-2);margin:0 0 12px}
.roi-dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.roi-dl span{display:flex;flex-direction:column;gap:2px;min-width:0}
.roi-dl i{font-style:normal;font-size:11px;font-weight:700;color:var(--muted-2);letter-spacing:-.01em}
.roi-dl b{font-size:15px;font-weight:800;letter-spacing:-.02em;color:var(--rec);font-variant-numeric:tabular-nums;
  display:flex;align-items:baseline;gap:4px}
.roi-dl b.down{color:var(--red)}
.roi-dl u{text-decoration:none;font-size:10px;font-weight:700;color:var(--muted-2);letter-spacing:0}
.roi-f .roi-dl{grid-template-columns:1fr 1fr;gap:12px 20px}
.roi-line{display:flex;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap}
.roi-line span{font-size:10.5px;font-weight:800;letter-spacing:.02em;color:var(--muted-2);
  background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 12px;white-space:nowrap}
.roi-line span.on{color:#fff;background:var(--ink);border-color:var(--ink)}
.roi-line i{flex:1;min-width:14px;height:1px;background:var(--border-2)}
@media(max-width:860px){.roi-dl,.roi-f .roi-dl{grid-template-columns:1fr}}

/* ===== how it works (hw3), ported from the homepage ===== */


/*HW-CSS-START*/
.hw3{--surface:#ffffff;--surface-2:#f5f6f8;--surface-3:#eceef2;--ink:#1B1F3B;--muted:#5d5f66;--muted-3:#b4b4bb;
  --border:rgba(27,31,59,.10);--red:#E6261C;--slate:#4E6D8C;--accent:#E6261C;--slate-soft:rgba(78,109,140,.08);--red-soft:rgba(230,38,28,.06);
  position:relative;color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:16px;line-height:1.55;letter-spacing:-.005em}
.hw3 *,.hw3 *:before,.hw3 *:after{box-sizing:border-box}
.hw3 .hw3-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
/* header */
.hw3 .hw3-head{text-align:center;max-width:760px;margin:0 auto;padding-top:clamp(30px,5vh,60px)}
.hw3 .hw3-eyebrow{display:inline-flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border);padding:7px 16px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);box-shadow:0 4px 14px rgba(20,28,46,.05)}
.hw3 .hw3-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--red)}
.hw3 .hw3-head h2{font-size:clamp(28px,3.6vw,44px);font-weight:800;letter-spacing:-.035em;line-height:1.07;color:var(--ink);margin:16px 0 0;text-wrap:balance}
.hw3 .hw3-head h2 .accent{color:var(--red)}
.hw3 .hw3-head p{font-size:clamp(15px,1.5vw,17.5px);line-height:1.55;color:var(--muted);font-weight:500;margin-top:14px;text-wrap:pretty}
/* deck: tall scroll runway; the group (stage + progress) is JS-pinned and vertically centered */
.hw3 .hw3-deck{position:relative;height:300vh;margin-top:clamp(28px,4vh,44px)}
.hw3 .hw3-group{position:absolute;top:0;left:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:26px}
.hw3 .hw3-group.fixed{position:fixed}
.hw3 .hw3-group.bottom{top:auto;bottom:0}
.hw3 .hw3-stage{position:relative;width:100%;max-width:940px;height:clamp(360px,42vw,400px)}
/* card: 2-col [copy | visual], throws up on advance */
.hw3 .hw3-card{position:absolute;top:0;left:0;right:0;min-height:340px;background:var(--surface);border:1px solid rgba(27,31,59,.1);border-radius:24px;
  padding:clamp(28px,3vw,42px);display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:clamp(24px,3.4vw,46px);
  box-shadow:0 26px 60px -30px rgba(20,28,46,.34),inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .8s cubic-bezier(.5,0,.2,1),opacity .8s ease,box-shadow .8s ease;will-change:transform,opacity}
.hw3 .hw3-card.s1{background:linear-gradient(135deg,rgba(230,38,28,.04),transparent 42%) var(--surface)}
.hw3 .hw3-card.s2{background:linear-gradient(135deg,rgba(78,109,140,.06),transparent 42%) var(--surface)}
.hw3 .hw3-card.s3{background:linear-gradient(135deg,rgba(230,38,28,.05),rgba(78,109,140,.05) 60%) var(--surface)}
.hw3 .hw3-card[data-card="0"]{z-index:4}
.hw3 .hw3-card[data-card="1"]{z-index:3;transform:translateY(22px) scale(.966)}
.hw3 .hw3-card[data-card="2"]{z-index:2;transform:translateY(44px) scale(.932)}
.hw3 .hw3-card.thrown{transform:translateY(-130vh) rotate(-2deg) scale(.95);opacity:0}
/* copy side */
.hw3 .hw3-copy{min-width:0}
.hw3 .hw3-step-tag{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--red);letter-spacing:.02em;margin-bottom:14px}
.hw3 .hw3-step-tag .num{display:inline-flex;width:34px;height:34px;border-radius:9px;background:rgba(230,38,28,.12);color:var(--red);align-items:center;justify-content:center;font-size:15px;font-weight:800}
.hw3 .hw3-step-tag .total{color:var(--muted-3);font-weight:500;margin-left:4px}
.hw3 .hw3-card h3{font-size:clamp(23px,2.6vw,31px);line-height:1.12;font-weight:800;letter-spacing:-.028em;margin:0;text-wrap:balance;color:var(--ink)}
.hw3 .hw3-card p{color:var(--muted);font-size:clamp(14.5px,1.4vw,16px);line-height:1.55;max-width:46ch;font-weight:500;margin:11px 0 0;text-wrap:pretty}
/* visual side */
.hw3 .hw3-viz{position:relative;min-width:0;height:clamp(210px,22vw,262px);display:flex;align-items:center;justify-content:center}
/* card 1: device cluster — clean aligned 2x2 grid */
.hw3 .hw3-devices{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:10px;place-content:center;width:100%;height:100%;padding:4px}
.hw3 .hw3-devices .dv{display:flex;align-items:center;justify-content:center}
.hw3 .hw3-devices .dv img{display:block;width:100%;max-width:130px;height:auto;filter:drop-shadow(0 10px 18px rgba(20,28,46,.13))}
/* card 2: upload to INSCYD — real MacBook mockup + two files uploading */
.hw3 .hw3-upload{overflow:visible}
.hw3 .hw3-mockwrap{position:relative;width:min(100%,360px)}
.hw3 .hw3-mock{display:block;width:100%;height:auto;filter:drop-shadow(0 22px 34px rgba(20,28,46,.22))}
/* screen cutout of macbook-pro-16.png: x968-3014 / y546-1872 of 3996x2664 */
.hw3 .hw3-screen{position:absolute;left:24.2%;top:20.5%;width:51.2%;height:49.8%;background:#fff;border-radius:3px;display:grid;place-items:center;overflow:hidden}
.hw3 .hw3-wm{width:58%;max-width:148px;opacity:.96}
.hw3 .hw3-uploaded{position:absolute;left:50%;bottom:13%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:#15803d;background:rgba(22,163,74,.1);border:1px solid rgba(22,163,74,.26);padding:5px 12px 5px 6px;border-radius:99px;white-space:nowrap;opacity:0;animation:hw3-uploaded 6s ease-in-out infinite}
.hw3 .hw3-check{width:17px;height:17px;flex:none;border-radius:50%;background:#16a34a;display:grid;place-items:center}
.hw3 .hw3-check svg{width:9px;height:9px;stroke:#fff;stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
/* single file (with cursor) dragged into the laptop */
.hw3 .hw3-file{position:absolute;top:22%;right:-4%;display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:10px 14px;box-shadow:0 16px 30px -12px rgba(20,28,46,.42);z-index:3;animation:hw3-in 6s ease-in-out infinite}
.hw3 .hw3-file .doc{width:22px;height:27px;flex:none;border-radius:4px;background:linear-gradient(160deg,#fdeceb,#f7d7d5);border:1px solid rgba(230,38,28,.3);position:relative}
.hw3 .hw3-file b{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap}
.hw3 .hw3-cursor{position:absolute;right:-8px;bottom:-9px;width:21px;height:21px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
@keyframes hw3-in{0%{transform:translate(14px,8px);opacity:0}12%,38%{transform:translate(0,0);opacity:1}58%{transform:translate(-150%,-6%) scale(.66);opacity:.8}66%{transform:translate(-225%,-12%) scale(.32);opacity:0}67%,100%{opacity:0}}
@keyframes hw3-uploaded{0%,68%{opacity:0}76%,93%{opacity:1}98%,100%{opacity:0}}
/* card 3: profile image */
.hw3 .hw3-profile{overflow:visible}
.hw3 .hw3-profile img{width:min(100%,430px);height:auto;filter:drop-shadow(0 24px 38px rgba(20,28,46,.28))}
/* progress */
.hw3 .hw3-prog{position:relative;width:100%;max-width:560px}
.hw3 .hw3-prog-line{height:4px;background:rgba(27,31,59,.14);border-radius:99px;overflow:hidden;position:relative}
.hw3 .hw3-prog-fill{position:absolute;left:0;top:0;height:100%;background:var(--red);border-radius:99px;width:0;transition:width .25s linear}
.hw3 .hw3-prog-labels{display:flex;justify-content:space-between;margin-top:13px;font-size:13px;color:#8b8f98;font-weight:600}
.hw3 .hw3-prog-labels span{display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:color .3s;user-select:none}
.hw3 .hw3-prog-labels span:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--surface-3);transition:background .3s,transform .3s}
.hw3 .hw3-prog-labels span.active{color:var(--red)}
.hw3 .hw3-prog-labels span.active:before{background:var(--red);transform:scale(1.35)}
.hw3 .hw3-prog-labels span.done{color:var(--muted)}
.hw3 .hw3-prog-labels span.done:before{background:var(--muted)}
/* reveal */
.hw3 .hw3-reveal{opacity:0;transform:translateY(16px)}
.hw3 .hw3-reveal.in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
/* mobile / reduced-motion: static vertical stack, no scroll-jack */
@media(max-width:820px){
  .hw3 .hw3-deck{height:auto;margin-top:20px}
  .hw3 .hw3-group{position:static !important;width:auto !important;left:auto !important;gap:0}
  .hw3 .hw3-stage{height:auto;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
  .hw3 .hw3-card{position:relative;min-height:auto;transform:none !important;opacity:1 !important;grid-template-columns:1fr;gap:22px;padding:26px 22px}
  .hw3 .hw3-viz{order:-1;height:clamp(200px,52vw,250px)}
  .hw3 .hw3-card p{max-width:none}
  .hw3 .hw3-prog{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hw3 .hw3-deck{height:auto}.hw3 .hw3-group{position:static !important;width:auto !important}
  .hw3 .hw3-stage{height:auto;display:flex;flex-direction:column;gap:20px}
  .hw3 .hw3-card{position:relative;transform:none !important;opacity:1 !important}
  .hw3 .hw3-prog{display:none}
  .hw3 .hw3-devices .dv,.hw3 .hw3-drag,.hw3 .hw3-drop,.hw3 .hw3-ring{animation:none}
}
/*HW-CSS-END*/

/* ===== 360 dashboard : 9 inline metrics, spider + body composition floats, zones table ===== */
.lp4-metrics{grid-template-columns:repeat(9,1fr);gap:7px}
.lp4-metrics .lp4-m{padding:8px 4px 7px}
.lp4-metrics .gf-cap{font-size:9px;letter-spacing:-.01em}
.lp4-zh{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin:0 0 8px}
/* the zones table is the coaching one, dropped in and faded out at the bottom */
.lp4-zcard{position:static;width:100%;max-width:none;animation:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 52%,rgba(0,0,0,.5) 80%,transparent 100%);
          mask-image:linear-gradient(to bottom,#000 52%,rgba(0,0,0,.5) 80%,transparent 100%)}
@media(max-width:1180px){.lp4-metrics{grid-template-columns:repeat(5,1fr)}}

/* ===== 360 dashboard, round 2 ===== */
/* eight gauges now, and the rule stays scoped so the V2 clone keeps its own six */
#profile360 .lp4-metrics{grid-template-columns:repeat(8,1fr);gap:8px}
#profile360 .lp4-metrics .lp4-m{padding:9px 5px 8px}
#profile360 .lp4-metrics .gf-cap{font-size:9.5px;letter-spacing:-.01em}
@media(max-width:1180px){#profile360 .lp4-metrics{grid-template-columns:repeat(4,1fr)}}
@media(max-width:860px){#profile360 .lp4-metrics{grid-template-columns:repeat(2,1fr)}}

/* the two floating cards are the real app panels now, so they need real room.
   The frame gives some width back so the cards hang off its edges instead of
   covering the charts: 272px wide, ~55px of it overlapping the frame. */
/* full-width frame, so the cards are pushed as far outboard as each width allows */
#profile360 .lp4-out-l{top:30%;transform:translateX(-48%)}
#profile360 .lp4-out-r{top:27%;transform:translateX(48%)}
@media(max-width:1430px){#profile360 .lp4-out-l{transform:translateX(-40%)}#profile360 .lp4-out-r{transform:translateX(40%)}}
@media(max-width:1360px){.lp4-fp,.lp4-bc{width:238px}
  #profile360 .lp4-out-l{transform:translateX(-38%)}#profile360 .lp4-out-r{transform:translateX(38%)}}
@media(max-width:1280px){#profile360 .lp4-out-l{transform:translateX(-22%)}#profile360 .lp4-out-r{transform:translateX(22%)}}
@media(max-width:1160px){.lp4-fp,.lp4-bc{width:214px}
  #profile360 .lp4-out-l{transform:translateX(-14%)}#profile360 .lp4-out-r{transform:translateX(14%)}}
.lp4-fp,.lp4-bc{width:272px}
.lp4-fp{padding:13px 14px 11px}
.lp4-bc{padding:13px 14px 12px;text-align:left}
.lp4-fp .lim-svg{width:100%;height:auto;display:block;overflow:visible;margin-top:2px}
.lp4-fp .gf-cap,.lp4-bc .gf-cap{font-size:11px;margin-bottom:4px;text-align:center}
.lp4-bcpie{display:block;width:100%;height:auto;margin:2px 0 10px}
.lp4-bcstats{padding:0 12px;border-radius:11px}
.lp4-bcstats .bc-row{padding:7px 0;font-size:11px;gap:10px}

/* the graphs were mostly empty air; cap their height and they read like app cards */
#profile360 .lp4-gbody .gx{max-height:clamp(220px,24vw,286px)}

/* zones: header plus three full rows, then the dissolve */
#profile360 .lp4-frame{max-height:none}
#profile360 .lp4-fade{display:none}
/* 252px holds the two header rows plus three full zones at full strength (191px),
   so only the fourth row is inside the dissolve */
#profile360 .lp4-zcard{max-height:252px;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,#000 76%,rgba(0,0,0,.42) 90%,transparent 100%);
          mask-image:linear-gradient(to bottom,#000 76%,rgba(0,0,0,.42) 90%,transparent 100%)}

/* the tab strip drops below the chrome once the four labels stop fitting */
@media(max-width:1080px){
  .lp4c-bar{flex-wrap:wrap;row-gap:10px}
  .lp4c-dots{width:auto}
  .lp4c-url{display:none}
  .lp4c-tabs{order:3;width:100%;margin:0;justify-content:center;overflow-x:auto}
}
@media(max-width:640px){.lp4c-pill{display:none}.lp4c-tabs button.on{background:#1B1F3B}}
/* the ported solution section is a 360 variant, so it hides with the rest */
section.sol[hidden]{display:none!important}



/* ===== custom PDF report page (cr) ===== */
/* app visualizations and report sheets float ABOVE the fixed paper-grain layer
   (z-index 1), same as the coaches page lifts its app window; the grain stays on
   the ambient page background only */
.lp7-fan,.crb-demo,.crl-stage,.cri-stage,.crt-stage,.crt2-demo{position:relative;z-index:2}
.cr-alt{background:linear-gradient(180deg,rgba(27,31,59,0),rgba(27,31,59,.026) 18%,rgba(27,31,59,.026) 82%,rgba(27,31,59,0))}
.cr-head{text-align:center;max-width:780px;margin:0 auto}
.cr-head .eyebrow{margin:0 auto}
.cr-head .sec-sub{margin-left:auto;margin-right:auto}
.cr-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.cr-cap{margin:16px 0 0;font-size:13px;font-weight:600;color:var(--muted-2);text-align:center}
.cr-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* hero (falling pages) */
.crp-hv2{padding:clamp(110px,12vw,150px) 0 0}
/* mobile hero spacing wants roughly 48 to 64px under a fixed nav (vault:
   inscyd-mobile-hero-spacing); the 110px floor above is well outside that band */
@media(max-width:1000px){.crp-hv2{padding-top:clamp(56px,14vw,140px)}}
.crp-hv2 .lp7d-copy{padding-top:0}
.crp-hv2 .hero-h1{max-width:22ch}

/* branding demo */
.crb-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,5vw,72px);align-items:center}
.crb-grid>*,.crl-grid>*,.cri-grid>*,.crt2-grid>*{min-width:0}
.crb-copy .btn-row{margin-top:24px}
.crb-demo{position:relative}
.crb-try{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.crb-try svg{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.crb-chips{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.crb-chip{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:5px;cursor:pointer;font:700 12.5px/1 'Manrope',sans-serif;color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.crb-chip:hover{border-color:var(--border-2)}
.crb-chip:active{transform:scale(.97)}
.crb-chip:focus-visible{outline:2px solid var(--rec);outline-offset:2px}
.crb-chip.on{border-color:rgba(230,38,28,.35);box-shadow:0 10px 24px -14px rgba(20,28,46,.4)}
.crb-st{display:flex}
.crb-st i{width:29px;height:27px;display:block}
.crb-st .p{background:var(--cb-p);border-radius:9px 0 0 9px}
.crb-st .s{background:var(--cb-s);border-radius:0 9px 9px 0}
.crb-upc{border-style:dashed;padding:5px 13px 5px 5px}
.crb-upc .crb-mark{position:relative;width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);overflow:hidden}
.crb-upc .crb-mark svg{width:15px;height:15px;stroke:var(--ink);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.crb-upc .crb-upm img{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:2px}
.crb-upc.has .crb-upm img{display:block}
.crb-upc .crb-sw{display:none}
.crb-upc.has .crb-sw{display:inline-flex}
.crb-upbig{padding:8px 20px 8px 8px;font-size:14.5px;gap:11px;border:0;border-style:solid;background:var(--cta);color:#fff;box-shadow:0 12px 26px -14px rgba(20,28,46,.6),inset 0 1px 0 rgba(255,255,255,.14);transition:background .25s var(--ease),transform .2s,box-shadow .25s}
.crb-upbig:hover{background:var(--cta-h);border-color:transparent;transform:translateY(-1px);box-shadow:0 18px 34px -14px rgba(20,28,46,.66),inset 0 1px 0 rgba(255,255,255,.14)}
.crb-upbig .crb-mark{width:34px;height:34px;border-radius:10px;background:#fff}
.crb-upbig .crb-mark svg{width:18px;height:18px;stroke:var(--ink)}
.crb-sw{display:inline-flex;gap:3px}
.crb-sw i{width:8px;height:8px;border-radius:3px;display:block}
.crb-sw i:first-child{background:var(--cb-p)}
.crb-sw i:last-child{background:var(--cb-s)}
.crb-upbig .crb-sw i{width:10px;height:10px}
.crb-pick{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:5px 13px 5px 5px;font:700 12.5px/1 'Manrope',sans-serif;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.crb-pick.on{border-color:rgba(230,38,28,.35);box-shadow:0 10px 24px -14px rgba(20,28,46,.4)}
.crb-pick input{width:27px;height:27px;border:0;padding:0;background:none;border-radius:9px;cursor:pointer;-webkit-appearance:none;appearance:none}
.crb-pick input::-webkit-color-swatch-wrapper{padding:0}
.crb-pick input::-webkit-color-swatch{border:1px solid var(--border);border-radius:9px}
.crb-pick input:focus-visible{outline:2px solid var(--rec);outline-offset:2px}
.crb-sheet{--rep-p:#E6261C;--rep-s:#1B1F3B;--rep-deep:#1B1F3B;position:relative;background:#fff;border-radius:14px;box-shadow:0 34px 70px -34px rgba(20,28,46,.42),0 0 0 1px rgba(20,28,46,.06);overflow:hidden}
.crb-sheet[data-b="1"]{--rep-p:#1F4C7A;--rep-s:#6CC24A;--rep-deep:#16324F}
.crb-sheet[data-b="2"]{--rep-p:#1F6FEB;--rep-s:#F59E0B;--rep-deep:#0F2A4A}
.crb-band{position:relative;display:flex;align-items:center;gap:13px;background-color:var(--rep-deep);color:#fff;padding:13px 22px 12px;transition:background-color .5s ease}
.crb-band::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.12) 100%);pointer-events:none}
.crb-logo{position:relative;width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex:0 0 36px}
.crb-logo svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;display:none}
.crb-sheet[data-b="0"] .crb-logo svg:nth-of-type(1){display:block}
.crb-sheet[data-b="1"] .crb-logo svg:nth-of-type(2){display:block}
.crb-sheet[data-b="2"] .crb-logo svg:nth-of-type(3){display:block}
.crb-ulogo{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:9px;background:#fff;padding:3px}
.crb-sheet[data-b="custom"] .crb-ulogo{display:block}
.crb-bt{display:flex;flex-direction:column;gap:4px;min-width:0;position:relative;z-index:1;flex:1}
.crb-tw{display:flex;align-items:center;gap:7px;min-width:0}
.crb-ttl{font-size:16.5px;font-weight:800;letter-spacing:-.01em;outline:none;cursor:text;border-radius:5px;padding:1px 4px;margin-left:-4px;min-width:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crb-ttl:hover{background:rgba(255,255,255,.1)}
.crb-ttl:focus{background:rgba(255,255,255,.14);box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.crb-tcaret{background:#fff;height:1.1em}
.crb-pen{flex:0 0 24px;width:24px;height:24px;border:0;border-radius:7px;background:rgba(255,255,255,.14);display:grid;place-items:center;cursor:pointer;padding:0;transition:background .2s}
.crb-pen:hover{background:rgba(255,255,255,.26)}
.crb-pen:focus-visible{outline:2px solid #fff;outline-offset:2px}
.crb-pen svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.crb-meta-in{display:flex;flex-wrap:wrap;gap:3px 14px;font-size:9.5px;font-weight:600;opacity:.85}
.crb-meta-in b{font-weight:800;margin-right:4px}
.crb-gs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px 20px 2px}
.crb-g{margin:0;text-align:center;min-width:0}
.crb-g figcaption{font-size:11.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em;margin-bottom:5px}
.crb-g .gx{width:100%;max-width:124px;margin:0 auto;display:block}
.crb-gv{display:block;margin-top:5px;font-size:11px;line-height:1.5;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.crb-gv i{font-style:normal;display:block;font-size:10px;color:var(--muted-2);font-weight:600}
.crb-arc,.crb-tr{transition:fill .5s ease}
.crb-comb{margin:12px 20px 0;padding:12px 2px 18px;border-top:1px solid var(--border)}
.crb-ch{display:block;font-size:12.5px;font-weight:800;color:var(--rep-p);letter-spacing:.01em;margin-bottom:8px;transition:color .5s}
.crb-comb .gf-graph{width:min(100%,500px);margin:0 auto;overflow:hidden}
.crb-comb .gf-graph .stack{margin:-9% 0 -2.5%}
.crb-comb .stack .ly:nth-child(2){display:none}
.crb-leg{display:inline-flex;gap:12px;margin-left:auto;font-size:9.5px;font-weight:700;color:var(--muted);letter-spacing:0;text-transform:none}
.crb-leg span{display:inline-flex;align-items:center;gap:5px}
.crb-leg i{display:inline-block}
.crb-leg .lf{width:14px;height:3px;border-radius:2px;background:var(--green,#0F766E)}
.crb-leg .lc{width:14px;height:3px;border-radius:2px;background:var(--carb,#EA580D)}
.crb-leg .lz{width:11px;height:11px;border-radius:3px;background:var(--fatmax,#DAE8E7);border:1px solid rgba(15,118,110,.28)}
.crb-ch{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.crb-band,.crb-arc,.crb-tr,.crb-ch{transition:none}}

/* builder demo */
.crl-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(34px,5vw,72px);align-items:center}
.crl-stage{position:relative}
.crl-card{display:grid;grid-template-columns:1.06fr .94fr;background:#fff;border-radius:16px;box-shadow:0 34px 70px -34px rgba(20,28,46,.42),0 0 0 1px rgba(20,28,46,.06);overflow:hidden}
.crl-outline{position:relative;padding:16px 16px 52px;border-right:1px solid var(--border)}
.crl-ph{display:flex;justify-content:space-between;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.crl-row{display:flex;align-items:center;gap:9px;padding:7px 9px;border:1px solid var(--border);border-radius:10px;background:#fff;margin-top:8px}
.crl-grip{color:var(--muted-2);display:flex;flex:0 0 10px}
.crl-grip svg{width:10px;height:14px}
.crl-th{width:25px;height:34px;border-radius:4px;overflow:hidden;outline:1px solid var(--border);flex:0 0 25px}
.crl-th img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.crl-lab{font-size:12px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.crl-slot{max-height:0;opacity:0;overflow:hidden;transform:translateY(-4px);transition:max-height .55s var(--expo),opacity .4s ease,transform .55s var(--expo)}
.crl-slot.in{max-height:58px;opacity:1;transform:none}
.crl-slot .crl-row{border-color:rgba(230,38,28,.4)}
.crl-savebtn{position:absolute;left:16px;bottom:12px;display:inline-flex;align-items:center;font:800 11px/1 'Manrope',sans-serif;color:#fff;background:var(--cta);border-radius:999px;padding:9px 15px;box-shadow:0 10px 22px -12px rgba(20,28,46,.55);transition:transform .18s var(--ease),opacity .3s ease,background .2s;pointer-events:none}
.crl-savebtn.press{transform:scale(.93);background:var(--cta-h)}
.crl-savebtn.done{opacity:0;transform:scale(.88)}
.crl-saved{position:absolute;left:16px;bottom:13px;z-index:2;display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#0f766e;background:rgba(15,118,110,.1);border:1px solid rgba(15,118,110,.25);border-radius:999px;padding:5px 11px;opacity:0;transform:scale(.4)}
.crl-saved svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.crl-saved.on{animation:l7pop .5s cubic-bezier(.34,1.56,.64,1) forwards}
.crl-lib{padding:16px;background:var(--surface-2)}
.crl-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:12px;font-weight:700;color:var(--ink);min-height:36px}
.crl-search svg{width:13px;height:13px;color:var(--muted-2);flex:0 0 13px}
.crl-item{display:flex;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--border);border-radius:10px;background:#fff;margin-top:8px;max-height:64px;transition:border-color .3s,box-shadow .3s,opacity .3s,transform .4s var(--expo),max-height .45s var(--expo),margin-top .45s var(--expo),padding .45s var(--expo)}
.crl-item.out{max-height:0;opacity:0;margin-top:0;padding-top:0;padding-bottom:0;border-top-width:0;border-bottom-width:0;overflow:hidden}
.crl-lt{display:flex;flex-direction:column;gap:2px;min-width:0}
.crl-sub{font-size:10px;font-weight:600;color:var(--muted-2)}
.crl-item.hl{border-color:rgba(230,38,28,.4);box-shadow:0 12px 26px -16px rgba(20,28,46,.45)}
.crl-item.ghost{opacity:.35;transform:scale(.96)}
.crl-cur{opacity:0;transition:transform 1s cubic-bezier(.32,.72,0,1),opacity .3s ease}
.crl-cur.on{opacity:1}
.crl-cur .tag{background:var(--rec)}
@media(prefers-reduced-motion:reduce){.crl-slot,.crl-item,.crl-cur{transition:none}}

/* insights demo */
.cri-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(34px,5vw,72px);align-items:center}
.cri-stage{position:relative;padding-top:16px}
.cri-sheet{width:min(100%,470px);margin:0 auto}
.cri-sheet .crb-ttl{cursor:default;pointer-events:none;white-space:normal}
.cri-sheet .crb-ttl:hover{background:none}
.cri-body{padding:16px 20px 18px}
.cri-imgbox{position:relative;border:1.5px dashed rgba(27,31,59,.22);border-radius:10px;background:var(--surface-2);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .3s ease,background .3s ease}
.cri-imgbox.over{border-color:rgba(230,38,28,.55);background:rgba(230,38,28,.04)}
.cri-imgbox.filled{border-color:transparent}
.cri-hint{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);transition:opacity .25s ease}
.cri-hint svg{width:16px;height:16px;stroke:var(--muted-2);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cri-imgbox.filled .cri-hint{opacity:0}
.cri-imgbox img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity .4s ease,transform .6s var(--expo)}
.cri-imgbox.filled img{opacity:1;transform:none}
.cri-h{display:block;font-size:12px;font-weight:800;color:var(--rep-p);margin:14px 0 6px}
.cri-ed{border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}
.cri-ed.live{border-color:rgba(230,38,28,.4);box-shadow:0 0 0 3px rgba(230,38,28,.07)}
.cri-bar{display:flex;align-items:center;gap:7px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}
.cri-sel{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;border:1px solid var(--border);background:#fff;border-radius:7px;padding:5px 8px;color:var(--ink)}
.cri-sel svg{width:11px;height:11px;color:var(--muted-2)}
.cri-b{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;font-size:11.5px;font-weight:800;color:var(--muted);background:#fff;border:1px solid var(--border)}
.cri-b.on{color:#fff;background:var(--ink);border-color:var(--ink)}
.cri-i{font-style:italic}.cri-u{text-decoration:underline}
.cri-dots{display:inline-flex;gap:6px;margin-left:auto}
.cri-dot{width:15px;height:15px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--border);display:block}
.cri-t{margin:0;padding:10px 12px 12px;font-size:12.5px;line-height:1.65;color:var(--ink);font-weight:600;min-height:78px}
.cri-file{position:absolute;z-index:6;right:0;top:-8px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:6px 11px 6px 6px;font-size:10.5px;font-weight:700;color:var(--muted);box-shadow:0 14px 30px -16px rgba(20,28,46,.4)}
.cri-file img{width:46px;height:27px;object-fit:cover;border-radius:5px;outline:1px solid var(--border)}
.cri-file.grab{box-shadow:0 24px 44px -18px rgba(20,28,46,.55)}
.cri-cur{opacity:0;transition:opacity .3s ease}
.cri-cur.on{opacity:1}
.cri-cur .tag{background:var(--rec)}
@media(prefers-reduced-motion:reduce){.cri-imgbox,.cri-imgbox img,.cri-hint,.cri-ed{transition:none}}

/* tiers */
.crt-stage{display:block}
/* One report, stepped. A single vertical object, which is what lets it live in the
   560px column of the two-column layout where the two-branch fork could not. */
.crt-step{--wire:#7C93AB;--dsc:1;--xsc:1;display:grid;justify-items:center}
/* baseline, not centre: at 15px and 12.5px the boxes centre but the text baselines
   diverge by 1.5px, which reads as misalignment. The icon keeps centring on its own. */
.crt-src{display:inline-flex;align-items:baseline;gap:11px;padding:12px 20px;border-radius:999px;border:1px solid var(--border);background:#fff;box-shadow:0 14px 32px -20px rgba(20,28,46,.55)}
.crt-src svg{width:18px;height:18px;flex:none;align-self:center;fill:none;stroke:var(--slate);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.crt-src b{font:800 15px/1 'Manrope',sans-serif;letter-spacing:-.01em;color:var(--ink)}
.crt-src i{font:600 12.5px/1 'Manrope',sans-serif;color:var(--muted);font-style:normal}
/* --wire measures 3.17:1 on white; the old rgba slate measured 1.51:1 and read as absent */
.crt-link{position:relative;display:block;width:3px;height:26px;border-radius:3px 3px 0 0;background:var(--wire)}
.crt-link::after{content:"";position:absolute;left:50%;bottom:-4px;width:9px;height:9px;margin-left:-5.5px;border-right:3px solid var(--wire);border-bottom:3px solid var(--wire);border-radius:0 0 3px 0;transform:rotate(45deg)}
.crt-tiers{display:grid;justify-items:center;gap:10px;margin-top:14px}
.crt-tierlab{font:800 11px/1 'Manrope',sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.crt-dot{position:absolute;left:50%;top:0;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--slate);box-shadow:0 0 0 4px rgba(78,109,140,.16);opacity:0}
.crt-go .crt-dot{animation:crtDrop .6s var(--expo) .3s 1 both}
@keyframes crtDrop{0%{transform:translateY(-4px);opacity:0}20%{opacity:1}80%{transform:translateY(20px);opacity:1}100%{transform:translateY(20px);opacity:0}}
/* the tier rail is the animation's own timeline, and it is clickable so a reader can
   step back and compare instead of waiting for a loop */
.crt-rail{position:relative;display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:360px;margin:0;padding:5px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2)}
.crt-thumb{position:absolute;top:5px;left:5px;width:calc((100% - 10px)/3);height:calc(100% - 10px);border-radius:999px;background:#fff;box-shadow:0 6px 18px -8px rgba(20,28,46,.35),inset 0 0 0 1px rgba(230,38,28,.28);transform:translateX(calc(var(--i,0)*100%));transition:transform .34s var(--expo)}
.crt-rail button{position:relative;z-index:1;font:800 13px/1 'Manrope',sans-serif;color:var(--muted);background:none;border:0;border-radius:999px;padding:11px 6px;cursor:pointer;transition:color .28s ease;min-height:38px}
.crt-rail button.on{color:var(--ink)}
.crt-rail button:focus-visible{outline:2px solid var(--rec);outline-offset:2px}
.crt-card{position:relative;width:100%;margin-top:20px;padding:26px 22px 22px;border-radius:20px;border:1px solid var(--border);background:var(--surface-2)}
.crt-deck{position:relative;display:block;width:100%;height:calc(210px*var(--dsc,1))}
.crt-pg2{position:absolute;left:50%;top:0;width:calc(132px*var(--dsc,1));aspect-ratio:1050/1491;border-radius:9px;overflow:hidden;background:#fff;outline:1px solid rgba(20,28,46,.1);outline-offset:-1px;box-shadow:0 22px 44px -22px rgba(20,28,46,.5);transform:translateX(-50%) translateX(calc(var(--x)*var(--xsc,var(--dsc,1)))) rotate(var(--r));transition:opacity .26s ease,transform .3s var(--expo)}
.crt-pg2 img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
/* pages above the current tier keep their slot, so the card never changes height */
.crt-card[data-tier="0"] .crt-pg2.t1,.crt-card[data-tier="0"] .crt-pg2.t2,
.crt-card[data-tier="1"] .crt-pg2.t2{opacity:0;transform:translateX(-50%) translateX(calc(var(--x)*var(--xsc,var(--dsc,1))*.42)) translateY(10px) rotate(0deg)}
.crt-grow{display:flex;align-items:baseline;justify-content:center;gap:7px;margin-top:16px;font:800 14px/1 'Manrope',sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}
.crt-grow i{font:700 11.5px/1 'Manrope',sans-serif;letter-spacing:.08em;color:var(--muted-2);font-style:normal}
.crt-card .crt-list{margin-top:16px;width:100%;grid-template-columns:1fr 1fr;gap:10px 18px}
.crt-stamp{margin-top:16px;max-width:400px;text-align:center;font:700 12.5px/1.45 'Manrope',sans-serif;color:var(--muted)}
.crt-kick{font:800 15px/1.45 'Manrope',sans-serif;color:var(--ink);margin-top:16px}
.crt2-copy .sec-sub+.sec-sub{margin-top:12px}
.crt-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.crt-list li{position:relative;padding-left:26px;font-size:13px;font-weight:600;color:var(--ink);transition:opacity .4s ease}
.crt-list li::before{content:"";position:absolute;left:0;top:0;width:17px;height:17px;border-radius:50%;background-color:rgba(78,109,140,.12);background-repeat:no-repeat;background-position:center;background-size:10px 10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234E6D8C' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");transition:background-color .4s,background-image .4s}
.crt-list li.t1::before,.crt-list li.t2::before{background-color:rgba(230,38,28,.1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E6261C' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}
/* a feature the current tier has not unlocked keeps its slot, dimmed with a plus, so
   stepping up adds value without moving anything */
.crt-card[data-tier="0"] .crt-list li.t1,.crt-card[data-tier="0"] .crt-list li.t2,
.crt-card[data-tier="1"] .crt-list li.t2{opacity:.4}
.crt-card[data-tier="0"] .crt-list li.t1::before,.crt-card[data-tier="0"] .crt-list li.t2::before,
.crt-card[data-tier="1"] .crt-list li.t2::before{background-color:rgba(27,31,59,.07);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9aa1' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
.crt2-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(34px,5vw,72px);align-items:center}
/* reduced motion: the markup already holds the finished state, so nothing moves */
@media(prefers-reduced-motion:reduce){.crt-dot{animation:none}
.crt-pg2,.crt-thumb,.crt-list li,.crt-list li::before,.crt-rail button{transition:none}}
@media(max-width:1239px){.crt-step{--dsc:.9;--xsc:.86}}
@media(max-width:1000px){.crt-step{--dsc:1;--xsc:1}}
@media(max-width:560px){.crt-step{--dsc:.94;--xsc:.66}}
@media(max-width:420px){.crt-step{--dsc:.9;--xsc:.58}}

/* how it works: nv-tlh horizontal timeline, vendored from the novo2 head */
.nv-step-t{margin-top:9px;display:inline-flex;align-items:center;gap:6px;font:800 10px/1 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--rec)}
.nv-tlh{--g:clamp(20px,3vw,52px);margin-top:clamp(30px,3.6vw,50px)}
.nv-tlh-marks{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g)}
.nv-tlh-m{position:relative}
.nv-tlh-m:not(:last-child):before{content:"";position:absolute;left:40px;right:calc(-1 * var(--g) - 2px);top:16px;height:2px;background:rgba(27,31,59,.14)}
.nv-tlh-m:nth-last-child(2):before{background:linear-gradient(90deg,rgba(27,31,59,.14),var(--red))}
.nv-tlh-n{position:relative;z-index:2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid rgba(27,31,59,.14);font:800 14px/1 'Manrope',sans-serif;color:var(--ink)}
.nv-tlh-m.hot .nv-tlh-n{border-color:var(--red);background:var(--red);color:#fff;box-shadow:0 0 0 5px rgba(230,38,28,.12)}
.nv-tlh-m h3{margin:20px 0 6px;font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.015em}
.nv-tlh-m p{margin:0;font-size:13.5px;line-height:1.6;color:var(--muted);max-width:38ch}
.nv-tlh-m .nv-step-t{margin-top:12px}
@media(max-width:820px){
.nv-tlh-marks{grid-template-columns:1fr}
.nv-tlh-m{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:14px}
.nv-tlh-n{grid-row:1;grid-column:1}
.nv-tlh-m h3,.nv-tlh-m p,.nv-tlh-m .nv-step-t{grid-column:2}
.nv-tlh-m h3{margin:3px 0 6px}
.nv-tlh-m:not(:last-child):before{left:16px;top:40px;right:auto;bottom:calc(-1 * var(--g));width:2px;height:auto}
.nv-tlh-m:nth-last-child(2):before{background:linear-gradient(180deg,rgba(27,31,59,.14),var(--red))}
}
.crh .nv-tlh{max-width:980px}

.crh-left{text-align:left;margin:0;max-width:820px}
.crh-left .eyebrow{margin-left:0}
.crh-left .sec-sub{margin-left:0;margin-right:0}

/* faq */
.crf-wrap{max-width:780px;margin:clamp(30px,4vw,44px) auto 0}
.crf-item{background:#fff;border:1px solid var(--border);border-radius:18px;margin-bottom:14px;overflow:hidden;transition:box-shadow .25s,border-color .25s}
.crf-item.open{box-shadow:0 18px 44px -26px rgba(20,28,46,.4);border-color:var(--border-2)}
.crf-h{margin:0}
.crf-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;background:none;border:0;cursor:pointer;text-align:left;font-family:inherit;font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.01em;min-height:44px}
.crf-q:focus-visible{outline:2px solid var(--rec);outline-offset:-2px;border-radius:18px}
.crf-plus{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--rec);transition:transform .3s var(--ease),background .25s,color .25s}
.crf-plus svg{width:13px;height:13px}
.crf-item.open .crf-plus{transform:rotate(135deg);background:var(--rec);color:#fff}
.crf-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--expo)}
.crf-item.open .crf-a{grid-template-rows:1fr}
.crf-ain{overflow:hidden;min-height:0}
.crf-ain p{margin:0;padding:0 22px 21px;color:var(--muted);font-size:15px;line-height:1.62;max-width:64ch}
@media(prefers-reduced-motion:reduce){.crf-a,.crf-plus{transition:none}}

/* responsive */
@media(max-width:1000px){
.crb-grid,.crl-grid,.cri-grid,.crg-grid{grid-template-columns:1fr;gap:40px}
.crl-stage{order:2}.crl-copy{order:1}
.crg-demo{order:2}.crg-copy{order:1}
.crt2-grid{grid-template-columns:1fr;gap:40px}
.crt-card{max-width:620px;margin-inline:auto}
}
@media(max-width:640px){
.crb-gs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:14px 10px 0}
.crb-g .gx{max-width:none}
.crl-card{grid-template-columns:1fr}
.crl-outline{border-right:0;border-bottom:1px solid var(--border);padding-bottom:56px}
.crt-card{padding:22px 14px 18px}
.crt-card .crt-list{grid-template-columns:1fr;gap:11px}
.crt-rail button{font-size:12px;padding:11px 2px}
.cri-stage{padding-top:34px}
.cri-back{width:62%;right:-4px}
.crg-rows{flex-direction:column;align-items:flex-start}
}

