/* ==========================================================
   Mr Reis · design system (site.css)
   Same family as the Mythox site: monochrome, Geist type,
   one corner size, one spacing scale, seven text sizes,
   one set of motion curves. Dark first, light on request.

   TOKENS   --r · --s1…--s11 · --t1…--t7 · --ease --ease-io --spring
   THEMES   [data-theme=dark|light] · .inv slabs · palettes (.tint)
   TYPE     .h7 .h6 .h5 .h4 .lead .body .small .lbl .mono .num
   LAYOUT   .wrap .wrap-s .sec .head .cols2 .grid2/3/4 .stack .row
   PARTS    .btn .lnk .chip .tg .soc .card .ic .pf (photo frame)
            .nav .menu .ft .kpis .marq .tabs .tl .bars .acc .code
            .vid .form .note .fl (floating) .toast .mw (made with)
   FUNNEL   .fsteps .fn-* (sign-up) .ty-* (thank you) .rs-* (resources)
   MOTION   .rv reveal · [data-split] words rise · [data-words] lit
            on scroll · .rm reduced motion
   Every new page is built from these parts. No new colours,
   corners or sizes: reuse the tokens.
   ========================================================== */

/* ---------- tokens ---------- */
:root{
  --font:"Geist",-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",SFMono-Regular,Menlo,Monaco,Consolas,monospace;

  --r:18px;

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --s7:56px; --s8:72px; --s9:112px; --s10:152px; --s11:200px;

  --t1:11.5px; --t2:13px; --t3:15px; --t4:18px;
  --t5:clamp(22px,2vw,27px);
  --t6:clamp(30px,4vw,54px);
  --t7:clamp(36px,5.8vw,84px);

  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
  --spring:cubic-bezier(.34,1.56,.64,1);

  --nav:64px;
  --gut:40px;
  --max:1200px;
  --fl-b:20px;
}

/* ---------- themes ---------- */
:root,[data-theme=dark]{
  color-scheme:dark;
  --bg:#000; --bg2:#0c0c0c; --bg3:#161616; --bg4:#242424;
  --fg:#fff; --fg2:#a3a3a3; --fg3:#707070;
  --line:rgba(255,255,255,.1); --line2:rgba(255,255,255,.2);
  --glow:rgba(255,255,255,.14);
  --shade:0 40px 100px -20px rgba(0,0,0,.9);
  --veil:rgba(0,0,0,.55);
}
[data-theme=light]{
  color-scheme:light;
  --bg:#fff; --bg2:#f5f5f5; --bg3:#ebebeb; --bg4:#dcdcdc;
  --fg:#000; --fg2:#575757; --fg3:#787878;
  --line:rgba(0,0,0,.09); --line2:rgba(0,0,0,.18);
  --glow:rgba(0,0,0,.07);
  --shade:0 40px 100px -24px rgba(0,0,0,.22);
  --veil:rgba(255,255,255,.6);
}
/* inverted slabs: white in dark mode, black in light mode */
[data-theme=dark] .inv,[data-theme=dark] .nav.on-inv{
  color-scheme:light;
  --bg:#fff; --bg2:#f4f4f4; --bg3:#eaeaea; --bg4:#dcdcdc;
  --fg:#000; --fg2:#575757; --fg3:#787878;
  --line:rgba(0,0,0,.09); --line2:rgba(0,0,0,.18);
  --glow:rgba(0,0,0,.07); --shade:0 40px 100px -24px rgba(0,0,0,.25);
}
[data-theme=light] .inv,[data-theme=light] .nav.on-inv{
  color-scheme:dark;
  --bg:#000; --bg2:#0c0c0c; --bg3:#161616; --bg4:#242424;
  --fg:#fff; --fg2:#a3a3a3; --fg3:#707070;
  --line:rgba(255,255,255,.1); --line2:rgba(255,255,255,.2);
  --glow:rgba(255,255,255,.14); --shade:0 40px 100px -20px rgba(0,0,0,.9);
}
.inv{background:var(--bg);color:var(--fg)}

/* palettes from the "//" button: the live site's colours, mono first.
   --acd/--acd2 dark mode accent + second shade, --acl/--acl2 light mode,
   --acli text on the light accent. They tint the accents only. */
[data-palette=mono]{--acd:#FAFAFA;--acd2:#B7B8BD;--acl:#0A0A0B;--acl2:#3A3A3E}
[data-palette=green]{--acd:#C6FF3F;--acd2:#7FE000;--acl:#4FB400;--acl2:#3B8C00;--acli:#000}
[data-palette=blue]{--acd:#4FC3FF;--acd2:#1E9BE0;--acl:#0E83C9;--acl2:#0A6AA3}
[data-palette=yellow]{--acd:#C9A227;--acd2:#E8BF4A;--acl:#9A7A12;--acl2:#7D6310}
[data-palette=pink]{--acd:#FF4DB4;--acd2:#E8188C;--acl:#D81B80;--acl2:#B0136A}
.tint[data-theme=dark],.tint[data-theme=light] .inv,.tint[data-theme=light] .nav.on-inv{--ac:var(--acd);--ac2:var(--acd2);--aci:#000}
.tint[data-theme=light],.tint[data-theme=dark] .inv,.tint[data-theme=dark] .nav.on-inv{--ac:var(--acl);--ac2:var(--acl2);--aci:var(--acli,#fff)}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav) + 24px);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
html.lock{overflow:hidden}
body{
  margin:0;min-height:100vh;background:var(--bg);color:var(--fg);font-family:var(--font);
  font-size:var(--t3);line-height:1.5;overflow-x:clip;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
img,video,svg{display:block;max-width:100%}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,pre{margin:0}
ul,ol{padding:0;list-style:none}
[hidden]{display:none!important}
::selection{background:var(--fg);color:var(--bg)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:var(--r)}
.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.i-s{width:16px;height:16px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:var(--s3);top:var(--s3);z-index:200;display:inline-flex;align-items:center;height:40px;padding:0 var(--s4);border-radius:var(--r);background:var(--fg);color:var(--bg);font-size:var(--t2);font-weight:500;transform:translateY(-160%);transition:transform .4s var(--ease)}
.skip:focus,.skip:focus-visible{transform:none}

/* ---------- type ---------- */
.h7{font-size:var(--t7);font-weight:600;letter-spacing:-.05em;line-height:.95;text-wrap:balance}
.h6{font-size:var(--t6);font-weight:600;letter-spacing:-.045em;line-height:1;text-wrap:balance}
.h5{font-size:var(--t5);font-weight:600;letter-spacing:-.03em;line-height:1.1;text-wrap:balance}
.h4{font-size:var(--t4);font-weight:600;letter-spacing:-.02em;line-height:1.25}
.lead{font-size:var(--t4);line-height:1.5;color:var(--fg2);letter-spacing:-.012em;text-wrap:pretty}
.body{font-size:var(--t3);line-height:1.65;color:var(--fg2);text-wrap:pretty}
.small{font-size:var(--t2);line-height:1.55;color:var(--fg2)}
.t1{font-size:var(--t1)} .t2{font-size:var(--t2)}
.mono{font-family:var(--mono);letter-spacing:0}
.c1{color:var(--fg)} .c2{color:var(--fg2)} .c3{color:var(--fg3)}
.num{font-variant-numeric:tabular-nums}
.lbl{display:inline-flex;align-items:center;gap:var(--s2);font:500 var(--t1)/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg2)}
.lbl b{font-weight:500;color:var(--fg)}
.lead b,.body b,.small b{color:var(--fg);font-weight:500}

/* ---------- layout ---------- */
.wrap{width:min(var(--max),100% - var(--gut)*2);margin-inline:auto}
.wrap-s{width:min(820px,100% - var(--gut)*2);margin-inline:auto}
.wrap-xs{width:min(620px,100% - var(--gut)*2);margin-inline:auto}
.sec{position:relative;padding-block:var(--s10)}
.sec-t{padding-top:0}
.sec-b{padding-bottom:0}
.center{text-align:center}
.stack{display:flex;flex-direction:column}
.row{display:flex;align-items:center;flex-wrap:wrap}
.g1{gap:var(--s1)} .g2{gap:var(--s2)} .g3{gap:var(--s3)} .g4{gap:var(--s4)} .g5{gap:var(--s5)} .g6{gap:var(--s6)} .g7{gap:var(--s7)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s9);align-items:center}
.cols2.top{align-items:start}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}
.head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s5);max-width:760px}
.head.center{margin-inline:auto;align-items:center}
.head .lead{max-width:600px}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s6);flex-wrap:wrap}
.mt1{margin-top:var(--s1)} .mt2{margin-top:var(--s2)} .mt3{margin-top:var(--s3)} .mt4{margin-top:var(--s4)} .mt5{margin-top:var(--s5)}
.mt6{margin-top:var(--s6)} .mt7{margin-top:var(--s7)} .mt8{margin-top:var(--s8)} .mt9{margin-top:var(--s9)}
.hr{height:1px;background:var(--line);border:0;margin:0}
main{display:block}

/* ---------- buttons + links ---------- */
.btn{
  --h:48px;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  height:var(--h);padding:0 var(--s5);border-radius:var(--r);
  font-size:var(--t3);font-weight:500;letter-spacing:-.01em;line-height:1;white-space:nowrap;
  transition:transform .6s var(--spring),background-color .3s var(--ease),color .3s var(--ease),box-shadow .4s var(--ease),opacity .3s;
  user-select:none;-webkit-user-select:none;
}
.btn:active{transform:scale(.95)!important;transition-duration:.12s}
.btn .i{width:18px;height:18px;transition:transform .5s var(--ease)}
.btn-p{background:var(--fg);color:var(--bg)}
.btn-p:hover{box-shadow:0 0 0 5px var(--glow)}
.btn-s{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line2)}
.btn-s:hover{background:var(--bg3);box-shadow:inset 0 0 0 1px transparent}
.btn-q{background:var(--bg3);color:var(--fg)}
.btn-q:hover{background:var(--bg4)}
.btn-lg{--h:56px;padding:0 var(--s6)}
.btn-sm{--h:36px;padding:0 var(--s4);font-size:var(--t2)}
.btn-xs{--h:30px;padding:0 var(--s3);font-size:var(--t1)}
.btn-ic{width:var(--h);padding:0}
.btn:hover .i-go{transform:translateX(3px)}
.btn:hover .i-ur{transform:translate(2px,-2px)}
.btn[disabled]{opacity:.55;pointer-events:none}
.w100{width:100%}
/* label roll on hover (spans added by site.js) */
.rl{position:relative;display:block;overflow:hidden;height:1.25em;line-height:1.25em}
.rl>span{display:block;transition:transform .55s var(--ease)}
.rl>span+span{position:absolute;left:0;top:100%;width:100%}
.btn:hover .rl>span{transform:translateY(-100%)}
@media (hover:none){.rl{height:auto;overflow:visible}.rl>span+span{display:none}.btn:hover .rl>span{transform:none}}

.lnk{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:var(--fg);font-size:var(--t3);transition:opacity .3s}
.lnk .i{width:16px;height:16px;transition:transform .45s var(--ease)}
.lnk:hover .i{transform:translateX(4px)}
.lnk:hover .i-ur{transform:translate(2px,-2px)}
.ul{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s var(--ease),color .3s}
.ul:hover{background-size:100% 1px}

.chip{display:inline-flex;align-items:center;gap:var(--s2);min-height:32px;padding:6px var(--s3);border-radius:var(--r);background:var(--bg3);color:var(--fg2);font-size:var(--t2);font-weight:500;line-height:1.25;transition:background .3s var(--ease),color .3s var(--ease),transform .5s var(--spring),box-shadow .3s var(--ease)}
a.chip:hover,button.chip:hover{color:var(--fg);background:var(--bg4)}
a.chip:active,button.chip:active{transform:scale(.95)}
.chip .i{width:14px;height:14px;transition:transform .45s var(--ease)}
a.chip:hover .i-ur{transform:translate(2px,-2px)}
.chip-o{background:transparent;box-shadow:inset 0 0 0 1px var(--line2);color:var(--fg)}
.chip-o:hover{background:var(--bg3)}
.chip-src{background:transparent;box-shadow:inset 0 0 0 1px var(--line);font:500 var(--t1)/1.35 var(--mono);color:var(--fg2)}
.chip-src:hover{box-shadow:inset 0 0 0 1px var(--line2)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}

.tg{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line2);font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg2);white-space:nowrap;vertical-align:middle;flex:none}
.tg-f{background:var(--fg);color:var(--bg);box-shadow:none}

.live{position:relative;display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--fg);flex:none}
.live::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:pulse 2.2s var(--ease) infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(3);opacity:0}}

/* social icon buttons */
.soc{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.soc a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--bg3);color:var(--fg);transition:background .3s var(--ease),color .3s var(--ease),transform .5s var(--spring)}
.soc a:hover{background:var(--fg);color:var(--bg);transform:translateY(-2px)}
.soc a:active{transform:scale(.92)}
.soc .i{width:17px;height:17px}
.soc-l{font:500 var(--t1)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);margin-right:var(--s2)}

/* ---------- cards ---------- */
.card{position:relative;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:var(--s6);isolation:isolate;overflow:hidden}
.card-l{padding:var(--s7)}
.card-h{transition:transform .6s var(--ease),border-color .4s var(--ease),background-color .4s var(--ease)}
.card-h:hover{border-color:var(--line2);transform:translateY(-3px)}
.spot::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .5s var(--ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),var(--glow),transparent 45%);
}
.spot:hover::before{opacity:1}
.ic{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--r);background:var(--bg3);color:var(--fg)}
.ic .i{width:20px;height:20px}
.ic-l{width:56px;height:56px}
.ic-l .i{width:24px;height:24px}
.card-hd{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;padding-bottom:var(--s4);border-bottom:1px solid var(--line)}

.ticks{display:flex;flex-direction:column;gap:var(--s3)}
.ticks li{display:flex;align-items:flex-start;gap:var(--s3);font-size:var(--t3);font-weight:500;line-height:1.45}
.ticks .i{width:24px;height:24px;padding:5px;border-radius:50%;background:var(--bg3);stroke-width:2.4;margin-top:-1px}

/* ---------- photo frame ---------- */
.pf{position:relative;overflow:hidden;border-radius:var(--r);background:var(--bg3);isolation:isolate;transform:translateZ(0)}
.pf::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--line);pointer-events:none}
.pf-in{position:absolute;left:0;right:0;top:-6%;bottom:-6%;will-change:transform}
.pf img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.pf-cap{position:absolute;left:var(--s4);bottom:var(--s4);z-index:3;display:inline-flex;align-items:center;gap:var(--s2);height:34px;padding:0 var(--s3);border-radius:var(--r);background:rgba(0,0,0,.5);color:#fff;font:500 var(--t1)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.pf-cap .live{width:6px;height:6px;background:#fff}
.ar-45{aspect-ratio:4/5} .ar-34{aspect-ratio:3/4} .ar-11{aspect-ratio:1/1} .ar-169{aspect-ratio:16/9} .ar-21{aspect-ratio:21/9}
.pf-shade::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45));pointer-events:none}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;height:var(--nav);color:var(--fg);transition:color .4s var(--ease)}
.nav::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .5s var(--ease);
  background:color-mix(in srgb,var(--bg) 76%,transparent);
  backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);
  border-bottom:1px solid var(--line);
}
.nav.scrolled::before{opacity:1}
.menu-open .nav::before{opacity:0}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--s4)}
.logo{display:inline-flex;align-items:center;gap:10px;font-size:var(--t4);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--fg);flex:none}
.mk{width:26px;height:26px;flex:none;overflow:visible}
.mk-bg{fill:var(--fg);transition:fill .4s var(--ease)}
.mk-s{fill:none;stroke:var(--bg);stroke-width:7;stroke-linecap:round;transition:stroke .4s var(--ease)}
.logo:hover .mk-s{stroke-dasharray:1;animation:redraw .8s var(--ease) both}
.logo:hover .mk-s+.mk-s{animation-delay:.12s}
@keyframes redraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.nav-links{position:relative;display:flex;align-items:center;gap:2px}
.nav-links a{position:relative;z-index:1;padding:var(--s2) var(--s3);font-size:var(--t2);font-weight:500;color:var(--fg2);border-radius:var(--r);transition:color .3s var(--ease);white-space:nowrap}
.nav-links a:hover,.nav-links a.on{color:var(--fg)}
.nav-links a.on::after{content:"";position:absolute;left:50%;bottom:0;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--fg)}
.nav-pill{position:absolute;z-index:0;top:0;left:0;height:100%;border-radius:var(--r);background:var(--bg3);opacity:0;pointer-events:none;transition:transform .45s var(--ease),width .45s var(--ease),opacity .3s var(--ease)}
.nav-r{display:flex;align-items:center;gap:var(--s2)}
.nav-tag{display:inline-flex;align-items:center;gap:var(--s2);height:32px;padding:0 var(--s3);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line2);font:500 var(--t1)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg2)}
.prog{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--fg);transform-origin:0 50%;transform:scaleX(0);opacity:.6;pointer-events:none}
/* the "//" menu button: two slashes that turn into a cross */
.burger{display:none;place-items:center;width:40px;height:36px;border-radius:var(--r);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line2);transition:background .3s var(--ease),transform .5s var(--spring)}
.burger:hover{background:var(--bg3)}
.burger:active{transform:scale(.92)}
.burger-ic{position:relative;width:16px;height:16px}
.burger-ic i{position:absolute;top:1px;width:1.8px;height:14px;border-radius:2px;background:currentColor;transform:rotate(22deg);transition:transform .55s var(--ease),left .55s var(--ease)}
.burger-ic i:first-child{left:4px}
.burger-ic i:last-child{left:10px}
.menu-open .burger-ic i{left:7.1px}
.menu-open .burger-ic i:first-child{transform:rotate(45deg)}
.menu-open .burger-ic i:last-child{transform:rotate(-45deg)}
.only-s{display:none}

/* ---------- menu overlay (narrow screens) ---------- */
.menu{position:fixed;inset:0;z-index:40;visibility:hidden;pointer-events:none;transition:visibility 0s .7s}
.menu.open{visibility:visible;pointer-events:auto;transition:visibility 0s 0s}
.menu-panel{
  position:absolute;inset:0;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;
  padding:calc(var(--nav) + var(--s7)) 0 var(--s7);
  clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease-io);
}
.menu.open .menu-panel{clip-path:inset(0 0 0 0)}
.menu-col{display:flex;flex-direction:column;gap:var(--s4)}
.menu-a{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);font-size:clamp(26px,5vw,36px);font-weight:600;letter-spacing:-.04em;line-height:1.1;color:var(--fg)}
.menu-a span{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .5s var(--ease)}
.menu-a:hover span{background-size:100% 2px}
.menu-a .i{opacity:.35;transition:.45s var(--ease)}
.menu-a:hover .i{opacity:1;transform:translateX(4px)}
.menu-foot{display:flex;flex-direction:column;gap:var(--s5);margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--line)}
.menu-foot .btn{width:100%}
.m-it{opacity:0;transform:translateY(32px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.menu.open .m-it{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0)*45ms + .2s)}

/* ---------- floating theme buttons ---------- */
.fl{position:fixed;right:var(--s5);bottom:var(--fl-b);z-index:60;display:flex;gap:var(--s2);transition:bottom .5s var(--ease),opacity .3s var(--ease)}
.fl button{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--fg);background:color-mix(in srgb,var(--bg2) 72%,transparent);box-shadow:inset 0 0 0 1px var(--line2),0 10px 30px -10px rgba(0,0,0,.5);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);transition:transform .5s var(--spring),background .3s var(--ease)}
.fl button:hover{background:var(--bg3)}
.fl button:active{transform:scale(.88)}
.fl .i{width:17px;height:17px}
.fl-pal{font:600 13px/1 var(--mono);letter-spacing:-.06em}
.fl-pal::after{content:"";position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:50%;background:transparent}
.tint:not([data-palette=mono]) .fl-pal::after{background:linear-gradient(135deg,var(--ac),var(--ac2))}
.fl button[data-tip]::before{content:attr(data-tip);position:absolute;right:0;bottom:calc(100% + 10px);padding:6px 10px;border-radius:var(--r);background:var(--fg);color:var(--bg);font:500 var(--t1)/1 var(--mono);letter-spacing:0;white-space:nowrap;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .25s,transform .4s var(--ease)}
.fl button[data-tip]:hover::before{opacity:1;transform:none}
@media (hover:none){.fl button[data-tip]::before{display:none}}
.menu-open .fl,.menu-open .mw{opacity:0;pointer-events:none}
[data-theme=dark] .th-moon,[data-theme=light] .th-sun{display:none}

/* toast */
.toast{
  position:fixed;left:50%;bottom:var(--s5);z-index:120;display:flex;align-items:center;gap:var(--s2);max-width:calc(100% - 32px);
  padding:var(--s3) var(--s4);border-radius:var(--r);background:var(--fg);color:var(--bg);font-size:var(--t2);font-weight:500;
  transform:translate(-50%,24px) scale(.96);opacity:0;pointer-events:none;transition:transform .6s var(--ease),opacity .4s var(--ease);
}
.toast.show{transform:translate(-50%,0);opacity:1}
.toast .i{width:16px;height:16px;stroke-width:2.2}

/* "made with // mythox.ai" tag at the page edge */
.mw{position:fixed;left:var(--s5);bottom:var(--fl-b);z-index:55;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--s3);border-radius:var(--r);background:color-mix(in srgb,var(--bg2) 72%,transparent);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font:500 10.5px/1 var(--mono);letter-spacing:.02em;color:var(--fg3);transition:color .3s,box-shadow .3s,transform .5s var(--spring),bottom .5s var(--ease)}
.mw b{font-weight:600;color:var(--fg2);letter-spacing:-.06em}
.mw:hover{color:var(--fg);box-shadow:inset 0 0 0 1px var(--line2)}
.mw:active{transform:scale(.95)}

/* intro: the mark draws once per visit */
.intro{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--bg);transition:clip-path .9s var(--ease-io)}
.intro svg{width:64px;height:64px;overflow:visible}
.intro .mk-bg{fill:var(--fg);transform-origin:center;transform-box:fill-box;animation:pop .6s var(--spring) both}
.intro .mk-s{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .6s var(--ease) .35s forwards}
.intro .mk-s+.mk-s{animation-delay:.5s}
.intro.out{clip-path:inset(0 0 100% 0)}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{from{transform:scale(.6);opacity:0}}

/* ---------- reveal on scroll (only when JS runs) ---------- */
.js .rv{opacity:0;transform:translate3d(0,32px,0);transition:opacity 1s var(--ease),transform 1.2s var(--ease);transition-delay:calc(var(--i,0)*80ms)}
.js .rv-s{transform:translate3d(0,40px,0) scale(.96)}
.js .rv-f{transform:none}
.js .rv.in{opacity:1;transform:none}
.js .pf.rv{opacity:1;transform:none;clip-path:inset(6% 6% 6% 6% round var(--r));transition:clip-path 1.4s var(--ease)}
.js .pf.rv img{transform:scale(1.14)}
.js .pf.rv.in{clip-path:inset(0 0 0 0 round var(--r))}
.js .pf.rv.in img{transform:none}
[data-split] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em;padding-right:.04em;margin-right:-.04em}
[data-split] .w>span{display:inline-block;transform:translate3d(0,112%,0);transition:transform 1.15s var(--ease);transition-delay:calc(var(--i,0)*42ms + var(--d,0ms))}
[data-split].in .w>span{transform:none}
.words .wd{opacity:.18;transition:opacity .5s var(--ease)}
.words .wd.on{opacity:1}

/* ---------- section label row used across pages ---------- */
.sec-lbl{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}

/* ---------- KPIs (number strips) ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.kpi{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s6) var(--s5);border-left:1px solid var(--line);min-width:0}
.kpi:first-child{border-left:0}
.kpi b{font-size:clamp(30px,3.4vw,46px);font-weight:600;letter-spacing:-.05em;line-height:1;white-space:nowrap}
.kpi>span{font:500 var(--t1)/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg3)}
.kpi-top{flex-direction:column-reverse;justify-content:flex-end}
.kpis-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.kpis-5 .kpi b{font-size:clamp(24px,2.5vw,34px)}
.kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kpis-s .kpi b{font-size:clamp(26px,2.8vw,40px)}
.wap-hero .kpis{text-align:left}

/* odometer digits (built by site.js) */
.odo{display:inline-flex;align-items:flex-start;--oh:1.04em;height:var(--oh);line-height:var(--oh);overflow:hidden;vertical-align:top}
.od-d{display:inline-block;height:var(--oh);overflow:hidden;transition:width 1.4s var(--ease)}
.od-s{display:flex;flex-direction:column;transition:transform 1.6s var(--ease)}
.od-s>span{display:block;height:var(--oh);line-height:var(--oh);text-align:center}
.od-c{display:inline-block;white-space:pre}

/* ---------- marquee ribbon ---------- */
.marq{overflow:hidden;padding-block:var(--s5);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq-track{display:flex;width:max-content;animation:marq 60s linear infinite}
.marq:hover .marq-track{animation-play-state:paused}
.marq-track span{display:inline-flex;align-items:center;gap:var(--s5);padding-right:var(--s5);font-size:var(--t4);font-weight:500;letter-spacing:-.02em;color:var(--fg2);white-space:nowrap}
.marq-track span::after{content:"//";font:500 var(--t2)/1 var(--mono);letter-spacing:-.06em;color:var(--fg3)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- segmented control + tabs ---------- */
.seg{position:relative;display:inline-flex;align-items:center;padding:3px;border-radius:var(--r);background:var(--bg3);isolation:isolate;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.seg::-webkit-scrollbar{display:none}
.seg>button{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 var(--s4);border-radius:var(--r);font-size:var(--t2);font-weight:500;color:var(--fg2);white-space:nowrap;transition:color .3s var(--ease)}
.seg>button:hover{color:var(--fg)}
.seg>button.on{color:var(--fg)}
.seg-th{position:absolute;z-index:0;top:3px;bottom:3px;left:0;width:0;border-radius:var(--r);background:var(--bg);box-shadow:0 1px 2px rgba(0,0,0,.25),0 0 0 1px var(--line);transition:transform .5s var(--ease),width .5s var(--ease)}
.seg>button:focus-visible{outline-offset:-2px}
.seg.more-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent)}
.seg.more-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px);mask-image:linear-gradient(90deg,transparent,#000 48px)}
.seg.more-l.more-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent)}

.tabs{position:relative;display:flex;flex-direction:column;gap:var(--s6);padding:var(--s6);border-radius:var(--r);background:var(--bg2);border:1px solid var(--line);isolation:isolate;overflow:hidden}
.tabs-hd{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;min-width:0}
.tabs-hd>.seg{min-width:0}
.tabs-bd{display:grid;min-width:0}
.tabs-bd{gap:var(--s7)}
.js .tabs-bd{gap:0}
.tab-p{min-width:0}
.js .tab-p{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .35s var(--ease),transform .6s var(--ease),visibility 0s .35s}
.js .tab-p.on{opacity:1;visibility:visible;transform:none;transition:opacity .6s var(--ease) .08s,transform .9s var(--ease) .08s,visibility 0s 0s}
.no-anim .tab-p{transition:none!important}
.tp{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4);padding-right:clamp(0px,16vw,240px);min-height:100%}
.tp-top{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
.tp .h5{max-width:20em}
.tp .body{max-width:600px}
.tp .btn{margin-top:var(--s2)}
.tp-n{position:absolute;right:0;bottom:-.08em;font-size:clamp(80px,11vw,156px);font-weight:600;letter-spacing:-.06em;line-height:.8;color:transparent;-webkit-text-stroke:1px var(--line2);user-select:none;pointer-events:none}
.tp-big{font-size:clamp(36px,4.8vw,68px);font-weight:600;letter-spacing:-.05em;line-height:.95}
.tabs-count{font:500 var(--t1)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg2)}
.tabs-count .odo{--oh:1.2em}
/* chip-style tab list (many items) */
.tabs-chips{display:flex;flex-wrap:wrap;gap:var(--s2)}
.tabs-chips>button{display:inline-flex;align-items:center;gap:var(--s2);height:38px;padding:0 var(--s4);border-radius:var(--r);background:var(--bg3);color:var(--fg2);font-size:var(--t2);font-weight:500;transition:background .35s var(--ease),color .35s var(--ease),transform .5s var(--spring),box-shadow .35s}
.tabs-chips>button em{font:500 10.5px/1 var(--mono);font-style:normal;color:var(--fg3);transition:color .35s}
.tabs-chips>button:hover{background:var(--bg4);color:var(--fg)}
.tabs-chips>button:active{transform:scale(.95)}
.tabs-chips>button.on{background:var(--fg);color:var(--bg)}
.tabs-chips>button.on em{color:var(--bg);opacity:.6}

/* ---------- bars (income months) ---------- */
.bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:var(--s3);height:280px}
.bar{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:var(--s2);height:100%;min-width:0;text-align:left;color:var(--fg2);cursor:default}
.bar[data-tab-i]{cursor:pointer}
.bar-v{font:500 var(--t1)/1 var(--mono);color:var(--fg2);white-space:nowrap;transition:color .4s var(--ease)}
.bar-t{position:relative;height:calc((100% - var(--lab,48px)) * var(--h,1));min-height:6px;border-radius:calc(var(--r) / 2);background:var(--bg4);transform-origin:50% 100%;transition:background .45s var(--ease),transform 1.3s var(--ease),box-shadow .45s var(--ease)}
.bar-m{font:500 var(--t1)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg3)}
.bar.on .bar-t{background:var(--fg);box-shadow:0 0 0 5px var(--glow)}
.bar.on .bar-v{color:var(--fg)}
.bar[data-tab-i]:hover .bar-t{background:var(--fg3)}
.bar[data-tab-i].on:hover .bar-t{background:var(--fg)}
.jr{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center}
.jr .tp{padding-right:0}
.jr .bars{height:320px}
.js .bars:not(.in) .bar-t{transform:scaleY(0)}
.bars .bar:nth-child(2) .bar-t{transition-delay:.06s}.bars .bar:nth-child(3) .bar-t{transition-delay:.12s}.bars .bar:nth-child(4) .bar-t{transition-delay:.18s}.bars .bar:nth-child(5) .bar-t{transition-delay:.24s}.bars .bar:nth-child(6) .bar-t{transition-delay:.3s}

/* ---------- timeline ---------- */
.tl{position:relative}
.tl-line{position:absolute;left:11.5px;top:var(--s5);bottom:var(--s5);width:1px;background:var(--line)}
.tl-line b{position:absolute;inset:0;background:var(--fg);transform-origin:50% 0;transform:scaleY(var(--p,0))}
.tl-it{position:relative;display:grid;grid-template-columns:24px 1fr;gap:var(--s5);align-items:start;padding:var(--s5) 0;opacity:.32;transition:opacity .7s var(--ease)}
.tl-it.on{opacity:1}
.tl-dot{position:relative;display:grid;place-items:center;width:24px;height:24px;margin-top:2px}
.tl-dot::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--bg);box-shadow:0 0 0 1.5px var(--fg3);transition:background .4s,box-shadow .4s,transform .6s var(--spring)}
.tl-it.on .tl-dot::before{background:var(--fg);box-shadow:0 0 0 1.5px var(--fg),0 0 0 7px var(--glow);transform:scale(1.1)}
.tl-c{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);min-width:0}
.tl-c .lbl{color:var(--fg3)}
.rm .tl-it,.nojs .tl-it{opacity:1}

/* ---------- three-step flow ---------- */
.flow{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.flow li{position:relative;display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s6);border-top:1px solid var(--line2)}
.flow li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--fg)}
.flow-n{font:500 var(--t1)/1 var(--mono);letter-spacing:.06em;color:var(--fg3)}
.flow-w{position:relative}
.flow-run{position:absolute;z-index:1;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--fg);box-shadow:0 0 14px var(--fg);animation:run 4.5s var(--ease-io) infinite}
@keyframes run{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}

/* ---------- accordions (prompts) ---------- */
.acc{border-radius:var(--r);border:1px solid var(--line2);background:var(--bg2);overflow:hidden;transition:border-color .4s var(--ease)}
.acc.open{border-color:var(--fg3)}
.acc-q{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);width:100%;padding:var(--s4) var(--s5);text-align:left;font-size:var(--t3);font-weight:600;letter-spacing:-.01em;line-height:1.35;transition:background .3s var(--ease)}
.acc-q:hover{background:var(--bg3)}
.acc-q .tg{margin-right:var(--s1)}
.acc-q>span:first-child{display:flex;align-items:center;gap:var(--s3);min-width:0}
.acc-ic{position:relative;flex:none;width:28px;height:28px;border-radius:50%;background:var(--bg3);color:var(--fg);transition:background .35s var(--ease),color .35s,transform .6s var(--ease)}
.acc-ic::before,.acc-ic::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;border-radius:2px;background:currentColor;transition:transform .6s var(--ease)}
.acc-ic::after{transform:rotate(90deg)}
.acc.open .acc-ic{background:var(--fg);color:var(--bg);transform:rotate(180deg)}
.acc.open .acc-ic::after{transform:rotate(0)}
.acc-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.acc.open .acc-a{grid-template-rows:1fr}
.acc-a>div{overflow:hidden;min-height:0}
.acc-in{display:flex;flex-direction:column;gap:var(--s3);padding:0 var(--s5) var(--s5);opacity:0;transform:translateY(-6px);transition:opacity .4s var(--ease),transform .6s var(--ease)}
.acc.open .acc-in{opacity:1;transform:none;transition-delay:.08s}
.acc-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}
.acc-bar .small{color:var(--fg3)}

/* code / prompt box */
.code{margin:0;padding:var(--s4) var(--s5);border-radius:calc(var(--r) - 4px);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font:450 12.5px/1.7 var(--mono);color:var(--fg2);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4}
.copy .i{width:15px;height:15px}
.copy .i-ok{display:none}
.copy.done .i-ok{display:block}
.copy.done .i-cp{display:none}

/* note / callout */
.note{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s4) var(--s5);border-radius:var(--r);border:1px dashed var(--line2);background:color-mix(in srgb,var(--bg2) 70%,transparent);font-size:var(--t2);line-height:1.6;color:var(--fg2)}
.note>.i{width:18px;height:18px;margin-top:2px;color:var(--fg)}
.note b{color:var(--fg);font-weight:600}
.note-s{border-style:solid;border-color:var(--line)}

/* ---------- video ---------- */
.vid{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r);background:#000;box-shadow:0 0 0 1px var(--line2),var(--shade)}
.vid video{width:100%;height:100%;object-fit:cover;background:#000}
.vid-play{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.35));transition:opacity .6s var(--ease),visibility 0s .6s;cursor:pointer}
.vid-play b{position:relative;display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#fff;color:#000;box-shadow:0 20px 60px -10px rgba(0,0,0,.6);transition:transform .6s var(--spring)}
.vid-play b::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(255,255,255,.5);animation:ring 2.4s var(--ease) infinite}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(255,255,255,.45)}80%,100%{box-shadow:0 0 0 22px rgba(255,255,255,0)}}
.vid-play .i{width:30px;height:30px;margin-left:4px;stroke:none}
.vid-play:hover b{transform:scale(1.08)}
.vid-play:active b{transform:scale(.94)}
.vid-play span{position:absolute;left:var(--s5);bottom:var(--s5);font:500 var(--t1)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff}
.vid.playing .vid-play{opacity:0;visibility:hidden;pointer-events:none}
.vid-hd{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}
.vid-snd{position:absolute;left:var(--s4);top:var(--s4);z-index:3;display:inline-flex;align-items:center;gap:var(--s2);height:34px;padding:0 var(--s3);border-radius:var(--r);background:rgba(0,0,0,.55);color:#fff;font-size:var(--t2);font-weight:500;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:transform .5s var(--spring),opacity .4s}
.vid-snd:active{transform:scale(.94)}
.vid-snd .i{width:16px;height:16px}

/* ---------- forms ---------- */
.form{display:flex;flex-direction:column;gap:var(--s3)}
.inp{
  width:100%;height:54px;padding:0 var(--s4);border-radius:var(--r);border:1px solid var(--line2);background:var(--bg);color:var(--fg);
  font-size:16px;outline:none;-webkit-appearance:none;appearance:none;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease),background .3s;
}
.inp::placeholder{color:var(--fg3);opacity:1}
.inp:hover{border-color:var(--fg3)}
.inp:focus{border-color:var(--fg);box-shadow:0 0 0 4px var(--glow)}
.inp.bad{border-color:var(--fg);animation:shake .5s var(--ease)}
@keyframes shake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;opacity:0}
.tel{display:flex;flex-wrap:wrap;gap:var(--s2)}
.tel .cc{flex:1 0 auto}
.tel .inp{flex:9999 1 220px;min-width:0} /* 220px shows the whole placeholder; narrower rows put the number under the picker */
.cc{position:relative;display:flex;align-items:center;gap:6px;height:54px;padding:0 34px 0 var(--s4);border-radius:var(--r);border:1px solid var(--line2);background:var(--bg);font-size:16px;white-space:nowrap;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.cc:hover{border-color:var(--fg3)}
.cc:focus-within{border-color:var(--fg);box-shadow:0 0 0 4px var(--glow)}
.cc select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.cc .i{position:absolute;right:12px;top:50%;width:14px;height:14px;transform:translateY(-50%);color:var(--fg3);pointer-events:none}
.cc-f{font-size:18px;line-height:1}
.cc-d{font-variant-numeric:tabular-nums;color:var(--fg)}
.f-hint{font-size:var(--t2);color:var(--fg3);padding-left:2px}
.f-err{min-height:0;font-size:var(--t2);font-weight:500;color:var(--fg)}
.f-err:not(:empty){display:flex;align-items:center;gap:var(--s2);min-height:22px;animation:errIn .4s var(--ease)}
.f-err:not(:empty)::before{content:"!";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--fg);color:var(--bg);font:700 11px/1 var(--mono);flex:none}
@keyframes errIn{from{opacity:0;transform:translateY(-4px)}}
.f-fine{font:500 var(--t1)/1.5 var(--mono);letter-spacing:.02em;color:var(--fg3);text-align:center}
.spin{display:none;width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;animation:spin .8s linear infinite}
.busy .spin{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
/* form card + success step */
.fcard{position:relative;display:grid;padding:var(--s7) var(--s6) var(--s6);border-radius:var(--r);border:1px solid var(--line2);background:var(--bg2);box-shadow:var(--shade);isolation:isolate;overflow:hidden}
.fcard>.fstep{grid-area:1/1;transition:opacity .5s var(--ease),transform .7s var(--ease),visibility 0s 0s}
.fcard>.fstep[aria-hidden=true]{opacity:0;transform:translateY(16px);visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease),transform .5s var(--ease),visibility 0s .35s}
.fcard.is-done>.fstep-1{transform:translateY(-16px)}
.done-ck{width:64px;height:64px}
.done-ck svg{width:100%;height:100%;fill:none;stroke:var(--fg);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.done-ck .c,.done-ck .p{stroke-dasharray:1;stroke-dashoffset:1}
.done-ck .c{transform:rotate(-90deg);transform-origin:center;transform-box:fill-box}
.go .done-ck .c,.done-ck.go .c{animation:draw 1s var(--ease) .1s forwards}
.go .done-ck .p,.done-ck.go .p{animation:draw .6s var(--ease) .8s forwards}
.fcard-face{display:flex;align-items:center;gap:var(--s3)}
.face{width:44px;height:44px;flex:none;border-radius:50%;overflow:hidden;background:var(--bg3);box-shadow:0 0 0 1px var(--line2)}
.face img{width:100%;height:100%;object-fit:cover;object-position:49% 34%;transform:scale(1.9);transform-origin:49% 38%}

/* funnel steps (sign up · reply · resources) */
.fsteps{display:inline-flex;align-items:center;gap:var(--s2);flex-wrap:wrap;font:500 var(--t1)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg3)}
.fsteps li{display:inline-flex;align-items:center;gap:var(--s2)}
.fsteps li+li::before{content:"";width:18px;height:1px;background:var(--line2);margin-right:2px}
.fsteps i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line2);font-style:normal;font-size:10px;color:var(--fg2)}
.fsteps .done i{background:var(--bg4);box-shadow:none;color:var(--fg)}
.fsteps .cur{color:var(--fg)}
.fsteps .cur i{background:var(--fg);color:var(--bg);box-shadow:0 0 0 4px var(--glow)}
.fsteps svg{width:11px;height:11px;stroke-width:3}

/* ---------- footer ---------- */
.ft{position:relative;padding:var(--s9) 0 var(--s5);border-top:1px solid var(--line);overflow:clip}
.ft-top{display:grid;grid-template-columns:1.1fr 2fr;gap:var(--s8)}
.ft-brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s5)}
.ft-brand .small{max-width:420px}
.ft-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6)}
.ft-cols.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ft-col{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3)}
.ft-col h4{margin-bottom:var(--s2);font:500 var(--t1)/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}
.ft-col a{font-size:var(--t2);color:var(--fg2);transition:color .3s}
.ft-col a:hover{color:var(--fg)}
.ft-big{display:block;margin-top:var(--s8);white-space:nowrap;font-size:min(20.5vw,268px);font-weight:600;letter-spacing:-.065em;line-height:1.16;user-select:none;margin-bottom:-.2em;text-align:center}
.ft-big span{display:inline-block;background:linear-gradient(180deg,var(--fg) 30%,color-mix(in srgb,var(--fg) 6%,transparent) 96%);-webkit-background-clip:text;background-clip:text;color:transparent;transform:translateY(40%);opacity:0;transition:transform 1.4s var(--ease),opacity 1s var(--ease);transition-delay:calc(var(--i,0)*60ms);padding:0 .12em;margin:0 -.12em}
.ft-big .sl{font-weight:500;letter-spacing:-.14em;margin-right:-.06em;background:linear-gradient(180deg,var(--fg3) 30%,transparent 96%);-webkit-background-clip:text;background-clip:text}
.ft-big.in span,.nojs .ft-big span{transform:none;opacity:1}
.ft-bot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s3) var(--s4);margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--line);font:500 var(--t1)/1.4 var(--mono);color:var(--fg3)}
.ft-bot a{color:var(--fg2);transition:color .3s}
.ft-bot a:hover{color:var(--fg)}
.ft-min{padding:var(--s6) 0 calc(var(--s6) + 56px)}
.ft-min .ft-bot{margin-top:0;border-top:0;padding-top:0}

/* ---------- CTA band with drawn line ---------- */
.cta{position:relative;overflow:clip}
.cta .sec{padding-block:var(--s11)}
.cta-in{position:relative;z-index:1;align-items:center}
.cta-in h2{max-width:13em}
.cta-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cta-line path{fill:none;stroke:var(--fg);stroke-width:1.5;opacity:.22;stroke-dasharray:1;stroke-dashoffset:var(--draw,1);vector-effect:non-scaling-stroke}
.cta-sl{position:absolute;left:50%;top:50%;z-index:0;transform:translate(-50%,-50%);font:500 min(52vw,640px)/1 var(--mono);letter-spacing:-.18em;color:var(--bg2);user-select:none;pointer-events:none;white-space:nowrap}

/* ==========================================================
   HOME + ABOUT
   ========================================================== */
.hero{position:relative;padding:var(--s8) 0 var(--s9);overflow:clip}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--s8);align-items:center}
.hero-in{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s5);will-change:transform,opacity}
.hero-in .h7{font-size:clamp(40px,5.6vw,80px)}
.hero-in .lead{max-width:540px}
.hero-cta{margin-top:var(--s2)}
.hero-ph{position:relative}
.hero-ph .pf{box-shadow:var(--shade)}
.orbit{position:absolute;left:50%;top:50%;width:0;height:0;z-index:-1;pointer-events:none}
.orbit>i{position:absolute;left:0;top:0;border:1px solid var(--line);border-radius:50%;transform:translate(-50%,-50%);animation:spin 80s linear infinite}
.orbit>i:nth-child(1){width:680px;height:680px}
.orbit>i:nth-child(2){width:980px;height:980px;animation-duration:120s;animation-direction:reverse}
.orbit b{position:absolute;top:-3.5px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--fg);box-shadow:0 0 14px var(--fg)}
.orbit>i:nth-child(2) b{top:auto;bottom:-3.5px}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero-glow{position:absolute;left:50%;top:50%;width:900px;height:900px;transform:translate(-50%,-50%);z-index:-1;background:radial-gradient(closest-side,var(--glow),transparent);pointer-events:none}

.quote{font-size:var(--t5);font-weight:500;letter-spacing:-.03em;line-height:1.2;color:var(--fg);text-wrap:balance}
.quote-l{max-width:22em;font-size:clamp(26px,3.2vw,42px);font-weight:600;letter-spacing:-.045em;line-height:1.08}
.quote-mark{display:block;font:500 var(--t1)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);margin-bottom:var(--s4)}

.sticky-ph{position:sticky;top:calc(var(--nav) + var(--s6))}
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s9);align-items:start}
.story-grid.flip{grid-template-columns:1.1fr .9fr}
.story-grid.flip>:first-child{order:2}
.bars-s{--lab:26px;height:240px}
.hero-ph{isolation:isolate}
.hero-in{position:relative;z-index:1}

.slab-ph{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--s9);align-items:center}

.about-hero{padding:var(--s9) 0 0;overflow:clip}
.about-hero .head{max-width:1200px}
.about-hero .h7{font-size:clamp(36px,5.4vw,78px)}
.about-hero .lead{max-width:640px}
.about-hero .kpis{margin-top:var(--s5)}
.banner{margin-top:var(--s8)}
.banner .pf{aspect-ratio:2.25/1}
.banner .pf img{object-position:50% 38%}

.stat-list{display:flex;flex-direction:column}
.stat{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:baseline;gap:var(--s4);padding:var(--s5) 0;border-bottom:1px solid var(--line)}
.stat:first-child{border-top:1px solid var(--line)}
.stat b{font-size:clamp(38px,4.2vw,62px);font-weight:600;letter-spacing:-.05em;line-height:.9;white-space:nowrap}
.stat>span{font-size:var(--t4);color:var(--fg2)}
.facts{display:flex;flex-wrap:wrap;gap:var(--s2)}
.facts li{display:inline-flex;align-items:center;gap:var(--s2);min-height:36px;padding:6px var(--s4);border-radius:var(--r);background:var(--bg3);font-size:var(--t2);font-weight:500;color:var(--fg)}
.facts .i{width:14px;height:14px;stroke-width:2.2}

/* thumbnail crop: Philipe and the car, without the poster text */
.crop-thumb{position:absolute;inset:0;overflow:hidden}
.crop-thumb img{position:absolute;max-width:none;width:258%;height:auto;left:-119%;top:-16.1%;object-fit:fill}

/* ==========================================================
   WEALTH ACADEMY PRO
   ========================================================== */
.wap-hero{padding:var(--s9) 0 var(--s8);text-align:center}
.wap-hero .head{max-width:1000px}
.wap-hero h1{max-width:17em}
.wap-vid{max-width:1000px;margin-inline:auto}
.buy{display:flex;flex-direction:column;align-items:center;gap:var(--s3)}
.buy-fine{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--t2);color:var(--fg3);text-align:center}
.buy-fine .i{width:14px;height:14px}
.price{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s6);border-radius:var(--r);border:1px solid var(--line2);background:var(--bg2);box-shadow:var(--shade)}
.price-n{display:flex;align-items:baseline;gap:var(--s3)}
.price-n b{font-size:clamp(46px,4.6vw,64px);font-weight:600;letter-spacing:-.055em;line-height:.9}
.price-n>span{font-size:var(--t3);color:var(--fg2)}
.price .buy{align-items:stretch}
.price .buy-fine{justify-content:center}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s8);align-items:start}
.split.flip{grid-template-columns:1.1fr .9fr}
.split .sticky{position:sticky;top:calc(var(--nav) + var(--s6))}
.split.flip>:first-child{order:2}
.tp-in{min-height:250px;justify-content:flex-end;padding-right:clamp(0px,6vw,96px)}
.tp-in .h5{font-size:clamp(22px,2.1vw,30px);letter-spacing:-.035em;max-width:15em}
.tp-in .tp-n{top:-.06em;bottom:auto;font-size:clamp(68px,7vw,108px)}
.steps-l{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.steps-l li{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s4);align-items:center;padding:var(--s5) 0;border-bottom:1px solid var(--line)}
.steps-l li p{font-size:var(--t3);line-height:1.5;color:var(--fg)}
.steps-l li em{font:500 var(--t2)/1 var(--mono);font-style:normal;color:var(--fg3)}
.who{display:flex;flex-direction:column;gap:var(--s5)}
.who-top{display:flex;align-items:center;gap:var(--s4)}
.who-top img{width:76px;height:76px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--line2),0 0 0 6px var(--bg3)}
.comm .pf{aspect-ratio:1084/576;background:#0d0b08}
.scta{position:fixed;left:var(--s3);right:var(--s3);bottom:var(--s3);z-index:58;display:none;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s2) var(--s2) var(--s4);border-radius:var(--r);background:color-mix(in srgb,var(--bg2) 82%,transparent);box-shadow:inset 0 0 0 1px var(--line2),0 20px 50px -10px rgba(0,0,0,.6);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);transform:translateY(140%);visibility:hidden;transition:transform .6s var(--ease),visibility 0s .6s}
.scta.show{transform:none;visibility:visible;transition:transform .6s var(--ease),visibility 0s 0s}
.scta-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.scta-t b{font-size:var(--t2);font-weight:600}
.scta-t span{font:500 10.5px/1.2 var(--mono);color:var(--fg3)}

/* ==========================================================
   FREE TRAINING (standalone)
   ========================================================== */
.solo-bar{position:relative;z-index:5;height:var(--nav)}
.solo-bar .wrap{display:flex;align-items:center;justify-content:space-between;height:100%}
.solo-mark{display:inline-flex;align-items:center;gap:10px}
.solo-mark .mk{width:30px;height:30px}
.dots{position:absolute;inset:0 0 auto 0;height:min(1100px,130vh);z-index:-1;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%)}
.dots canvas{width:100%;height:100%;display:block}
.tr-hero{position:relative;padding:var(--s8) 0 var(--s7);text-align:center;isolation:isolate}
.tr-hero .head{max-width:900px}
.tr-hero h1{max-width:13em}
.tr-form{max-width:520px;margin:var(--s7) auto 0;text-align:left;container-type:inline-size}
.tr-form .inp[type=tel]::placeholder{font-size:min(1em,calc((100cqi - 84px)*.062))} /* long placeholder shrinks only when the field can't fit it */
.tr-vid{max-width:1000px;margin-inline:auto}
.tr-end{display:flex;flex-direction:column;align-items:center;gap:var(--s5);text-align:center}
.tr-end .mk{width:40px;height:40px}

/* ==========================================================
   FREE GUIDE FUNNEL (sign up, thank you, resources)
   ========================================================== */
.fn-hero{padding:var(--s8) 0 var(--s9)}
.fn-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-template-areas:"copy form" "pts form";column-gap:var(--s9);row-gap:var(--s6);align-items:start}
.fn-copy{grid-area:copy;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s5);padding-top:var(--s5)}
.fn-copy .h7{font-size:clamp(36px,4.8vw,66px)}
.fn-pts{grid-area:pts}
.fn-form{grid-area:form;scroll-margin-top:calc(var(--nav) + 24px)}
.pts{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.pts li{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) 0;border-bottom:1px solid var(--line);font-size:var(--t3);font-weight:500}
.pts .ic{width:36px;height:36px;border-radius:calc(var(--r) - 6px)}
.pts .ic .i{width:18px;height:18px}
.gets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.get{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s6)}
.get .flow-n{margin-bottom:var(--s6)}

.ty-hero{padding:var(--s8) 0 var(--s7)}
.ty-badge{display:inline-flex;align-items:center;gap:var(--s2);height:36px;padding:0 var(--s4) 0 6px;border-radius:var(--r);background:var(--bg3);font-size:var(--t2);font-weight:500}
.ty-badge b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--fg);color:var(--bg)}
.ty-badge svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ty-badge path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .7s var(--ease) .4s forwards}
.ty-do{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s7);align-items:center}
.ty-big{font-size:clamp(22px,2.3vw,31px);font-weight:600;letter-spacing:-.035em;line-height:1.12;text-wrap:balance}
.kbd{display:inline-flex;align-items:center;height:1.25em;padding:0 .3em;border-radius:.28em;background:var(--fg);color:var(--bg);font-family:var(--mono);font-size:.82em;letter-spacing:-.02em;vertical-align:.06em}
.mail{--u:1px;display:flex;flex-direction:column;border-radius:var(--r);background:var(--bg);box-shadow:0 0 0 1px var(--line2),var(--shade);overflow:hidden}
.mail-bar{display:flex;align-items:center;gap:6px;height:40px;padding:0 var(--s4);border-bottom:1px solid var(--line)}
.mail-bar i{width:10px;height:10px;border-radius:50%;background:var(--bg4)}
.mail-bar span{margin-left:auto;font:500 var(--t1)/1 var(--mono);color:var(--fg3);letter-spacing:.06em;text-transform:uppercase}
.mail-bd{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s5)}
.mail-in{display:flex;align-items:center;min-height:96px;padding:var(--s4);border-radius:calc(var(--r) - 4px);background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--t4);font-weight:500}
.mail-in .caret{width:2px;height:1.2em;margin-left:2px;background:var(--fg);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.mail-ft{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.mail-send{display:inline-flex;align-items:center;gap:var(--s2);height:40px;padding:0 var(--s4);border-radius:var(--r);background:var(--fg);color:var(--bg);font-size:var(--t2);font-weight:600;transition:transform .45s var(--spring)}
.mail-send.press{transform:scale(.88)}
.mail-ok{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--t2);font-weight:500;color:var(--fg2);opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.mail-ok.show{opacity:1;transform:none}
.mail-ok .i{width:16px;height:16px;stroke-width:2.4;color:var(--fg)}
.free2 .card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s7) var(--s6) var(--s6)}
.free2 .btn{margin-top:auto}
.free2 .card>.tg{margin-bottom:var(--s5)}
.pv{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--s2) var(--s3);padding:var(--s3) var(--s4);border:1px dashed var(--line2);border-radius:var(--r);font:500 var(--t1)/1.4 var(--mono);color:var(--fg3);text-align:center}
.pv a{color:var(--fg)}

/* resources */
.res-hero{padding:var(--s9) 0 var(--s8)}
.res-hero .head{max-width:980px}
.res-hero h1{max-width:13em}
.rsec{scroll-margin-top:var(--nav)}
.rsteps{position:relative;margin-top:var(--s8)}
.rsteps .tl-line{left:19.5px;top:var(--s6);bottom:var(--s6)}
.rs{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--s5);padding-bottom:var(--s8)}
.rs-n{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);font:600 var(--t2)/1 var(--mono);color:var(--fg2);transition:background .5s var(--ease),color .5s var(--ease),box-shadow .5s var(--ease)}
.rs.on .rs-n{background:var(--fg);color:var(--bg);box-shadow:0 0 0 6px var(--glow)}
.rs-b{display:flex;flex-direction:column;align-items:stretch;gap:var(--s4);min-width:0;padding-top:6px}
.rs-b>.h4,.rs-b>.h5{font-size:var(--t5);font-weight:600;letter-spacing:-.03em;line-height:1.15}
.rs-b>.body{max-width:680px}
.rs-b>.chips{margin-top:var(--s1)}
.feat{display:flex;flex-direction:column;gap:var(--s5);padding:var(--s7);border-radius:var(--r)}
.feat .ticks li{font-weight:400;color:var(--fg2)}
.feat .ticks li b{color:var(--fg)}
.kv{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.kv li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--line);font-size:var(--t3)}
.kv li>span{color:var(--fg2)}
.kv-t li{display:grid;grid-template-columns:150px 1fr;gap:var(--s4)}
.kv.kv-t li>b{text-align:left;font-weight:400;color:var(--fg)}
.card h3,.card h4{overflow-wrap:break-word}
.kv li>b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.big-band{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s6);flex-wrap:wrap;padding:var(--s8) var(--s7);border-radius:var(--r)}
.big-band b{display:block;font-size:clamp(56px,8.4vw,128px);font-weight:600;letter-spacing:-.06em;line-height:.85}
.road{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s4)}
.road li{position:relative;display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s6);border-top:1px solid var(--line2)}
.road li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--fg)}
.road em{align-self:flex-start;display:inline-flex;align-items:center;height:28px;padding:0 var(--s3);margin-bottom:var(--s3);border-radius:var(--r);background:var(--bg3);font:600 var(--t2)/1 var(--mono);font-style:normal;color:var(--fg)}
.road li:last-child em{background:var(--fg);color:var(--bg)}
.method{counter-reset:m;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.method li{counter-increment:m;display:grid;grid-template-columns:56px 1fr;gap:var(--s4);padding:var(--s5) 0;border-bottom:1px solid var(--line);font-size:var(--t4);line-height:1.45;letter-spacing:-.012em;color:var(--fg)}
.method li::before{content:counter(m,decimal-leading-zero);font:500 var(--t2)/1.9 var(--mono);color:var(--fg3)}
.links{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.links li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;gap:var(--s5);align-items:center;padding:var(--s4) 0;border-bottom:1px solid var(--line);transition:background .3s}
.links li b{font-weight:600;font-size:var(--t3);overflow-wrap:anywhere}
.links li>span{font-size:var(--t2);color:var(--fg2)}
.links li .btn{justify-self:end}
.links-g{margin-top:var(--s7);margin-bottom:var(--s3)}
.dl{display:flex;flex-direction:column;gap:var(--s5);padding:var(--s7) var(--s6) var(--s6)}
.dl h3{font-family:var(--mono);font-size:clamp(18px,1.6vw,22px);font-weight:600;letter-spacing:-.03em;overflow-wrap:anywhere}
.dl-part{display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s4);border-top:1px solid var(--line)}
.dl .btn{margin-top:auto;align-self:flex-start}
.inst{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}
.inst li{display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s5);border-top:1px solid var(--line2)}
.inst code{font-family:var(--mono);font-size:.92em;color:var(--fg)}
.res-ft-line{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);font:500 var(--t2)/1.5 var(--mono);color:var(--fg)}

/* ==========================================================
   Palette accents (from the "//" button)
   ========================================================== */
.tint .btn-p,.tint .tabs-chips>button.on,.tint .tg-f,.tint .skip,.tint .toast,.tint .mail-send,.tint .ty-badge b,.tint .fsteps .cur i,.tint .rs.on .rs-n,.tint .kbd,.tint .road li:last-child em{background:var(--ac);color:var(--aci)}
.tint:not([data-palette=mono]) .btn-p:hover{box-shadow:0 0 0 5px color-mix(in srgb,var(--ac) 30%,transparent)}
.tint .live,.tint .prog,.tint .tl-line b,.tint .nav-links a.on::after,.tint .flow li::before,.tint .road li::before,.tint .bar.on .bar-t,.tint .orbit b,.tint .flow-run{background:var(--ac)}
.tint .tabs-chips>button.on em{color:var(--aci)}
.tint .tl-it.on .tl-dot::before{background:var(--ac);box-shadow:0 0 0 1.5px var(--ac),0 0 0 7px var(--glow)}
.tint:not([data-palette=mono]) .tl-it.on .tl-dot::before{box-shadow:0 0 0 1.5px var(--ac),0 0 0 7px color-mix(in srgb,var(--ac) 22%,transparent)}
.tint .cta-line path,.tint .done-ck svg{stroke:var(--ac)}
.tint ::selection{background:var(--ac);color:var(--aci)}
.tint :focus-visible{outline-color:var(--ac)}
.tint .inp:focus,.tint .cc:focus-within{border-color:var(--ac)}
.tint:not([data-palette=mono]) .inp:focus,.tint:not([data-palette=mono]) .cc:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--ac) 22%,transparent)}
/* second shade: blends into the accent on lines and the active bar */
.tint:not([data-palette=mono]) .prog{background:linear-gradient(90deg,var(--ac2),var(--ac))}
.tint:not([data-palette=mono]) .tl-line b{background:linear-gradient(180deg,var(--ac2),var(--ac))}
.tint:not([data-palette=mono]) .bar.on .bar-t{background:linear-gradient(180deg,var(--ac),var(--ac2))}
.tint .lbl b,.tint .sl-ac{color:var(--ac)}
.tint .pf-cap .live{background:var(--ac)}

/* ==========================================================
   Tablet
   ========================================================== */
@media (max-width:1080px){
  .nav-links{display:none}
  .burger{display:grid}
  .cols2{gap:var(--s8)}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft-top{grid-template-columns:1fr;gap:var(--s7)}
  .hero-grid{grid-template-columns:1fr 1fr;gap:var(--s7)}
  .story-grid,.slab-ph{gap:var(--s7)}
  .split,.split.flip{grid-template-columns:1fr;gap:var(--s7)}
  .split .sticky{position:static}
  .split.flip>:first-child{order:0}
  .fn-grid{column-gap:var(--s7)}
  .kpis-5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kpis-5 .kpi:nth-child(4){border-left:0}
  .kpis-5 .kpi:nth-child(n+4){border-top:1px solid var(--line)}
  .road{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--s7)}
  .inst{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp{padding-right:0}
  .tp-n{opacity:.6}
}

/* ==========================================================
   Phone
   ========================================================== */
@media (max-width:760px){
  :root{--gut:24px;--fl-b:16px}
  .sec{padding-block:var(--s9)}
  .lead{font-size:16px}
  .head{gap:var(--s4)}
  .cols2,.story-grid,.story-grid.flip,.slab-ph,.hero-grid,.ty-do{grid-template-columns:1fr;gap:var(--s7)}
  .grid2,.grid3,.grid4,.gets,.flow{grid-template-columns:1fr}
  .flow{gap:var(--s6)}
  .flow-run{display:none}
  .card{padding:var(--s5)}
  .card-l{padding:var(--s6) var(--s5)}
  .only-l{display:none}
  .only-s{display:inline}
  .btn-lg{--h:54px;padding:0 var(--s5)}
  .hero{padding:var(--s6) 0 var(--s8)}
  .hero-in .h7{font-size:clamp(38px,11.4vw,50px)}
  .hero-cta{width:100%}
  .hero-cta .btn{flex:1 1 auto}
  .hero-ph{max-width:420px}
  .orbit>i:nth-child(1){width:420px;height:420px}
  .orbit>i:nth-child(2){width:620px;height:620px}
  .hero-glow{width:560px;height:560px}
  .kpis,.kpis-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpis-3 .kpi:last-child{grid-column:1 / -1}
  .kpi{padding:var(--s5) var(--s4)}
  .kpi:nth-child(odd){border-left:0;padding-left:0}
  .kpi:nth-child(n+3){border-top:1px solid var(--line)}
  .kpis-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpis-5 .kpi{border-left:1px solid var(--line)}
  .kpis-5 .kpi:nth-child(odd){border-left:0}
  .kpis-5 .kpi:nth-child(n+3){border-top:1px solid var(--line)}
  .kpis-5 .kpi:last-child{grid-column:1 / -1}
  .marq-track span{font-size:var(--t3)}
  .tabs{padding:var(--s5) var(--s4);gap:var(--s5);border-radius:var(--r)}
  .tabs-hd{flex-direction:column;align-items:stretch}
  .tabs-hd>.seg{align-self:stretch}
  .tp-n{top:-6px;bottom:auto;font-size:56px;opacity:.7}
  .tp-in .tp-n{top:-6px;font-size:56px}
  .tp .h5{padding-right:0}
  .bars{height:220px;gap:var(--s2)}
  .jr{grid-template-columns:1fr;gap:var(--s6)}
  .jr .bars{height:200px}
  .bar-v{font-size:10px}
  .sticky-ph{position:relative;top:0}
  .story-grid.flip>:first-child{order:0}
  .story-grid .pf.ar-34{aspect-ratio:4/5}
  .stat b{font-size:clamp(36px,10.4vw,50px)}
  .stat>span{font-size:var(--t3)}
  .about-hero{padding-top:var(--s7)}
  .banner{margin-top:var(--s7)}
  .banner .pf{aspect-ratio:4/5}
  .ft{padding-top:var(--s8)}
  .ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6) var(--s5)}
  .ft-cols>:last-child:nth-child(3){grid-column:1 / -1}
  .ft-big{margin-top:var(--s8)}
  .ft-bot{flex-direction:column;align-items:flex-start}
  .cta .sec{padding-block:var(--s10)}
  .wap-hero{padding-top:var(--s7);text-align:left}
  .wap-hero .head.center{align-items:flex-start}
  .buy{align-items:stretch}
  .rl{height:auto;overflow:visible}
  .rl>span+span{display:none}
  .btn:hover .rl>span{transform:none}
  .buy .btn{white-space:normal;text-align:center;line-height:1.25;height:auto;min-height:56px;padding-block:var(--s3)}
  .form .btn{white-space:normal;text-align:center;line-height:1.25;height:auto;min-height:var(--h);padding:var(--s3) var(--s4)}
  .buy-fine{justify-content:center}
  .price{padding:var(--s5)}
  .steps-l li{grid-template-columns:auto 1fr;gap:var(--s3) var(--s4)}
  .steps-l li em{display:none}
  .scta{display:flex}
  .menu-panel{padding:calc(var(--nav) + var(--s5)) 0 var(--s6)}
  .fn-hero{padding:var(--s6) 0 var(--s8)}
  .fn-grid{grid-template-columns:1fr;grid-template-areas:"copy" "form" "pts";row-gap:var(--s6)}
  .fn-copy{padding-top:0;gap:var(--s4)}
  .fn-copy .h7{font-size:clamp(34px,9.6vw,46px)}
  .fcard{padding:var(--s6) var(--s5) var(--s5)}
  .cc{padding:0 28px 0 var(--s3)}
  .cc .i{right:8px}
  .get{padding:var(--s5)}
  .get .flow-n{margin-bottom:var(--s4)}
  .tr-hero{padding-top:var(--s6)}
  .tr-form{margin-top:var(--s6)}
  .ty-hero{padding-top:var(--s6)}
  .mw{position:static;display:flex;width:max-content;margin:0 var(--gut) var(--s5)}
  .ft-min{padding-bottom:var(--s6)}
  .fsteps li:not(.cur)>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .fsteps li+li::before{width:14px}
  .typing .fl,.typing .scta{opacity:0;pointer-events:none}
  .fl{right:var(--s3)}
  .res-hero{padding:var(--s7) 0 var(--s7)}
  .rs{grid-template-columns:32px minmax(0,1fr);gap:var(--s4);padding-bottom:var(--s7)}
  .rs-n{width:32px;height:32px;font-size:var(--t1)}
  .rsteps .tl-line{left:15.5px}
  .rs-b{padding-top:2px}
  .feat{padding:var(--s6) var(--s5)}
  .acc-q{padding:var(--s4)}
  .acc-in{padding:0 var(--s4) var(--s4)}
  .code{padding:var(--s4);font-size:11.5px}
  .big-band{padding:var(--s7) var(--s5)}
  .road{grid-template-columns:1fr;row-gap:var(--s6)}
  .method li{grid-template-columns:40px 1fr;font-size:var(--t3)}
  .kv-t li{grid-template-columns:1fr;gap:var(--s1)}
  .links li{grid-template-columns:minmax(0,1fr) auto;gap:var(--s1) var(--s4)}
  .links li b{grid-column:1}
  .links li>span{grid-column:1;grid-row:2}
  .links li .btn{grid-column:2;grid-row:1 / span 2}
  .dl{padding:var(--s6) var(--s5) var(--s5)}
  .inst{grid-template-columns:1fr}
  .note{padding:var(--s4)}
}
@media (max-width:400px){
  .nav-cta-x{display:none}
  .seg>button{padding:0 var(--s3)}
}

/* ==========================================================
   Reduced motion (OS setting, class set before first paint)
   ========================================================== */
.rm *,.rm *::before,.rm *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
.rm .rv,.rm [data-split] .w>span,.rm .ft-big span{opacity:1!important;transform:none!important}
.rm .pf.rv{clip-path:none!important}
.rm .pf.rv img{transform:none!important}
.rm .words .wd{opacity:1}
.rm .live::after,.rm .orbit,.rm .flow-run,.rm .vid-play b::after{display:none}
.rm .marq-track{animation:none!important;flex-wrap:wrap;width:auto}
.rm .marq-track span[aria-hidden]{display:none}
.rm .bars .bar-t{transform:none!important}
.rm .intro{display:none}
.rm .done-ck .c,.rm .done-ck .p,.rm .ty-badge path{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){
  .marq-track{animation:none}
  .orbit{display:none}
}
