/* Sheldon homepage. Desktop rules come from the approved mockup (v17); responsive + fallback rules are at the end. */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url(/sheldon/fonts/newsreader.woff2) format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url(/sheldon/fonts/geist.woff2) format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/sheldon/fonts/geist-mono-500.woff2) format('woff2')}
body{margin:0;background:#00041D}
.pg{--navy:#00041D;--ink:#0A1230;--blue:#1E4DFF;--sky:#5C86FF;--lime:#D4F93C;--paper:#F4F6FB;--mute:#5B6787;--line:#E2E6F0;
  font-family:'Geist',system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
.pg *{box-sizing:border-box}
.pin-art{display:none}
/* the product section and its decorative videos overlap the hero buttons; never let them swallow clicks */
.hero-art,.pin-art,.product,.product .wrap{pointer-events:none}
.product>:not(.wrap),.product .wrap>:not(.pin-art){pointer-events:auto}
.pg a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.eyebrow{font:500 12px/1 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 28px}
.h2,.pcard h2,.final h2,.hero h1{font-family:'Newsreader',serif;font-weight:400;letter-spacing:-.02em}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border-radius:999px;font:500 15px 'Geist',sans-serif;transition:.2s}
.btn-lime{background:var(--lime);color:#0A1230;box-shadow:0 0 0 1px rgba(212,249,60,.4),0 10px 40px -8px rgba(212,249,60,.55)}
.btn-line{border:1px solid rgba(255,255,255,.28);color:#fff}
.btn-ghost{height:40px;padding:0 18px;font-size:14px;border:1px solid rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.04)}

/* hero */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding-bottom:640px}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:340px;background:linear-gradient(180deg,rgba(0,4,29,0) 0%,rgba(11,43,184,.85) 50%,#2C5BFF 75%,var(--paper) 100%);z-index:1}
.hero-art{position:absolute;left:50%;top:470px;transform:translateX(-50%);width:1600px;max-width:none;opacity:.95;z-index:0}
.nav{position:relative;z-index:3;display:flex;align-items:center;height:76px;gap:40px}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;letter-spacing:-.01em}
.logo-mark{display:grid;grid-template-columns:repeat(2,5px);gap:3px}
.logo-mark i{width:5px;height:5px;border-radius:50%;background:#fff}
.logo-mark i:last-child{background:var(--lime)}
.nav-links{display:flex;gap:32px;margin-left:auto;font-size:14px;color:rgba(255,255,255,.75)}
.hero-copy{position:relative;z-index:3;text-align:center;padding-top:96px}
.kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 28px;padding:7px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font:500 12px 'Geist Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.8);background:rgba(0,4,29,.6)}
.kicker .dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}
.hero h1{font-size:84px;line-height:1.02;margin:0 auto;max-width:960px}
.lede{font-size:20px;line-height:1.55;color:rgba(222,230,255,.78);margin:28px auto 40px}
.ctas{display:flex;gap:14px;justify-content:center}

/* product */
.product{position:relative;margin-top:-250px;z-index:4;padding-bottom:120px}
.app{background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 40px 120px -30px rgba(10,30,120,.45),0 2px 0 rgba(255,255,255,.6) inset;overflow:hidden}
.app-bar{display:flex;align-items:center;gap:18px;height:52px;padding:0 20px;border-bottom:1px solid var(--line);font-size:13px}
.lights{display:flex;gap:6px}.lights i{width:10px;height:10px;border-radius:50%;background:#DDE2EC}
.app-title{font-weight:500}
.app-meta{margin-left:auto;color:var(--mute);font-family:'Geist Mono',monospace;font-size:12px}
.app-body{display:grid;grid-template-columns:220px 1fr}
.app-side{border-right:1px solid var(--line);padding:22px 14px;font-size:13px;background:#FAFBFD}
.side-h{font:500 11px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:0 10px 10px}
.side-h2{margin-top:22px}
.side-row{display:flex;justify-content:space-between;padding:8px 10px;border-radius:8px;color:#36405F}
.side-row span{display:flex;align-items:center;gap:8px}
.side-row b{font-weight:500;color:var(--mute)}
.side-row.on{background:#EEF2FF;color:var(--ink)}
.sw{width:8px;height:8px;border-radius:2px}.sw-block{background:#FF6B4A}.sw-keep{background:#2EB872}.sw-rev{background:#F2B33D}
.app-main{font-size:14px}
.t-head,.t-row{display:grid;grid-template-columns:2.1fr .8fr .5fr .8fr 2.4fr;align-items:center;padding:0 24px;gap:12px}
.t-head{height:44px;font:500 11px 'Geist Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line)}
.t-row{height:56px;border-bottom:1px solid #EEF1F6;color:#36405F;font-variant-numeric:tabular-nums}
.t-row .term{color:var(--ink);font-weight:500}
.t-row.hi{background:linear-gradient(90deg,rgba(212,249,60,.18),rgba(212,249,60,0) 70%)}
.why{color:var(--mute);font-size:13px}
.v{font-style:normal;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px}
.v-block{background:#FFECE6;color:#B4321A}.v-keep{background:#E3F6EC;color:#16784A}.v-rev{background:#FFF4DC;color:#8A5A00}
.t-foot{display:flex;align-items:center;gap:16px;padding:16px 24px;background:#FAFBFD;font-size:13px;color:var(--mute)}
.t-foot .chips{display:flex;gap:8px}
.t-foot code,.mt code{font:12px 'Geist Mono',monospace;background:#EEF1F7;color:#26304F;padding:4px 8px;border-radius:6px}
.t-foot .copy{margin-left:auto;background:var(--ink);color:#fff;padding:8px 14px;border-radius:999px;font-weight:500}

/* problem */
.problem{padding:40px 0 140px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pcard{background:var(--navy);color:#fff;border-radius:20px;overflow:hidden;padding:0 0 40px}
.pcard img{display:block;width:100%;height:300px;object-fit:cover}
.pcard h2{font-size:38px;line-height:1.1;margin:8px 40px 16px}
.pcard p{margin:0 40px;color:rgba(222,230,255,.7);font-size:17px;line-height:1.5}

/* how */
.how{padding:0 0 140px}
.how-grid{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.h2{font-size:56px;line-height:1.05;margin:0}
.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:80px 1fr;padding:32px 0;border-bottom:1px solid var(--line)}
.num{font:500 13px 'Geist Mono',monospace;color:var(--blue);padding-top:8px}
.steps h3{font-size:24px;font-weight:500;letter-spacing:-.01em;margin:0 0 6px}
.steps p{margin:0;color:var(--mute);font-size:16px}

/* features */
.features{padding:0 0 160px}
.fgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;gap:20px}
.f{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;min-height:220px;display:flex;flex-direction:column}
.f h3{font-size:22px;font-weight:500;margin:0 0 8px;letter-spacing:-.01em}
.f p{margin:0;color:var(--mute);font-size:15px;line-height:1.5}
.f-big{grid-row:span 2;background:var(--navy);color:#fff;padding:0;overflow:hidden;border:0}
.f-big img{width:100%;height:340px;object-fit:cover;display:block}
.f-big .f-txt{padding:28px 32px 32px}
.f-big p{color:rgba(222,230,255,.7)}
.tag,.thumbs,.mt{margin-top:auto;padding-top:24px}
.tag{align-self:flex-start;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;margin-top:auto}
.tag-keep{background:#E3F6EC;color:#16784A}.tag-rev{background:#FFF4DC;color:#8A5A00}
.thumbs{display:flex;gap:8px}.thumbs i{font-style:normal;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink)}
.mt{display:flex;gap:8px}

/* band */
.band{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:200px 0 440px}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--paper) 0%,#2C5BFF 18%,#0B2BB8 40%,var(--navy) 70%);z-index:0}
.band-art{position:absolute;left:50%;bottom:-40px;transform:translateX(-50%);width:1600px;max-width:none;z-index:1;opacity:.9}
.band-in{position:relative;z-index:2;text-align:center}
.band-line{font-family:'Newsreader',serif;font-size:60px;line-height:1.08;letter-spacing:-.02em;margin:0}
.band-line span{color:var(--lime)}

/* who */
.who{background:var(--navy);color:#fff;padding:40px 0 140px}
.eyebrow-d{color:rgba(222,230,255,.55)}
.who-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.14)}
.who-grid article{padding:36px 36px 0 0}
.who-grid article+article{padding-left:36px;border-left:1px solid rgba(255,255,255,.14)}
.who-k{font:500 12px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}
.who-grid p{font-family:'Newsreader',serif;font-size:30px;line-height:1.2;margin:18px 0 0}

/* trust */
.trust{background:var(--navy);color:#fff;padding:0 0 140px}
.trust-in{display:grid;grid-template-columns:420px 1fr;gap:80px;align-items:center}
.eye{width:420px;height:420px;object-fit:cover;border-radius:24px}
.trust-list{list-style:none;margin:0;padding:0}
.trust-list li{font-family:'Newsreader',serif;font-size:40px;line-height:1.15;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.trust-list li:first-child{border-top:1px solid rgba(255,255,255,.14)}

/* final */
.final{position:relative;background:linear-gradient(180deg,var(--navy) 0%,#0B2BB8 55%,#1E4DFF 100%);color:#fff;overflow:hidden;padding:160px 0 40px}
.final-in{text-align:center;position:relative;z-index:2}
.final h2{font-size:80px;line-height:1.02;margin:0 auto 40px;max-width:900px}
.wordmark{font-family:'Newsreader',serif;font-size:220px;line-height:1;text-align:center;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);margin:120px 0 40px;white-space:nowrap}
.foot{font-size:14px;color:rgba(255,255,255,.75);position:relative;z-index:2}
.foot-links{display:flex;gap:24px}

/* round 2 */
.pg .btn-lime{color:#0A1230;font-weight:600}
.pg h1,.pg h2,.pg h3,.who-grid p,.trust-list li{text-wrap:balance}
.hero-art{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 80%,transparent 100%)}
.scan-chips{position:absolute;left:50%;top:640px;width:1440px;transform:translateX(-50%);height:300px;z-index:2;pointer-events:none}
.sc{position:absolute;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;border-radius:10px;background:rgba(8,16,52,.82);border:1px solid rgba(120,150,255,.25);backdrop-filter:blur(8px);font:500 12px 'Geist Mono',monospace;color:#DDE5FF;box-shadow:0 10px 30px -10px rgba(0,0,0,.6)}
.sc b{font:600 11px 'Geist',sans-serif;padding:3px 8px;border-radius:999px;margin-left:6px}
.sc1{left:860px;top:30px}.sc2{left:950px;top:108px}.sc3{left:1040px;top:186px}
.sc1 b,.sc3 b{background:#FFECE6;color:#B4321A}.sc2 b{background:var(--lime);color:#0A1230}
.d{width:6px;height:6px;border-radius:50%}.d-block{background:#FF6B4A}.d-keep{background:var(--lime);box-shadow:0 0 8px var(--lime)}
.why{color:#4A5677}
.pcard{display:flex;flex-direction:column;padding:0;min-height:600px}
.pcard img{height:340px}
.pc-txt{margin-top:auto;padding:0 40px 40px}
.pcard h2{margin:0 0 14px}.pcard p{margin:0}
.features{padding-bottom:80px}
.f h3,.f p{max-width:300px}
.mini{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#FAFBFD;font:500 12px 'Geist Mono',monospace;color:#26304F}
.thumbs,.mt{margin-top:auto}
.bleed{padding:28px 28px 8px;display:flex;flex-direction:column;gap:12px}
.bl-h{display:flex;justify-content:space-between;font:500 11px 'Geist Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:rgba(222,230,255,.55);padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}
.bl-r{display:grid;grid-template-columns:1fr 70px;grid-template-rows:auto 6px;column-gap:12px;row-gap:6px;font:13px 'Geist',sans-serif;color:#DDE5FF}
.bl-r span{grid-column:1}.bl-r b{grid-column:2;grid-row:1;text-align:right;font:500 12px 'Geist Mono',monospace;color:#FF8C70}
.bl-r i{grid-column:1/3;grid-row:2;height:6px;border-radius:3px;background:linear-gradient(90deg,#FF6B4A,rgba(255,107,74,.25))}
.f-big .f-txt{margin-top:auto}
.band::before{background:linear-gradient(180deg,var(--paper) 0%,#9DB4FF 8%,#2C5BFF 22%,#0B2BB8 42%,var(--navy) 72%)}
.band-art{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 45%);mask-image:linear-gradient(180deg,transparent 0%,#000 45%)}
.who-grid p{font-size:27px}
.eye{object-fit:contain;background:var(--navy)}
.final{background:radial-gradient(60% 45% at 50% 30%,rgba(30,77,255,.55),rgba(30,77,255,0) 70%),linear-gradient(180deg,var(--navy) 0%,#061355 50%,#02031A 100%)}
.wordmark{-webkit-text-stroke:0;color:transparent;background:linear-gradient(180deg,rgba(150,175,255,.22),rgba(150,175,255,0) 85%);-webkit-background-clip:text;background-clip:text}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-top:40px;border-top:1px solid rgba(255,255,255,.1)}
.foot-brand{display:flex;flex-direction:column;gap:12px;color:rgba(222,230,255,.55)}
.foot-col{display:flex;flex-direction:column;gap:10px}
.fh{font:500 11px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:rgba(222,230,255,.45);margin-bottom:4px}
.foot-base{padding-top:40px;font-size:13px;color:rgba(222,230,255,.4)}

/* round 3 */
.band-line span{font-size:.72em;display:inline-block;margin-top:14px}
.mini{white-space:nowrap;font-size:11px}
.mini span{overflow:hidden;text-overflow:ellipsis}
.f h3{margin-bottom:12px}
.pcard{min-height:640px}
.pc-art{position:relative}
.pc-art img{-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,#000 60%,transparent 100%)}
.pc-txt{margin-top:auto}
.q{position:absolute;font:500 11px 'Geist Mono',monospace;color:#DDE5FF;background:rgba(0,4,29,.85);border:1px solid rgba(120,150,255,.3);padding:4px 8px;border-radius:6px;white-space:nowrap}
.q::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--lime);margin-right:7px;vertical-align:1px;box-shadow:0 0 6px var(--lime)}
.q1{left:34px;top:60px}.q2{right:40px;top:110px}.q3{left:110px;top:170px}.q4{right:70px;top:215px}
.band-art{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 40%,#000 70%,transparent 100%)}
.sc{background:rgba(6,12,44,.97);box-shadow:0 10px 30px -10px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.04)}
.sc2 b{background:#E3F6EC;color:#16784A}
.d-keepg{background:#2EB872}
.hero-art{top:520px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,transparent 22%,#000 40%,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,transparent 22%,#000 40%,#000 80%,transparent 100%)}
.scan-chips{top:690px}
.trust{padding-top:20px}
.trust-in{grid-template-columns:420px 1fr;align-items:center}
.shield-wrap{display:flex;justify-content:center;align-items:center;height:460px;background:radial-gradient(closest-side,rgba(30,77,255,.22),rgba(30,77,255,0))}
.wf{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.03);font:500 12px 'Geist Mono',monospace;color:rgba(222,230,255,.8);max-width:300px}
.wf-c{color:#0A1230;background:#2EB872;padding:3px 9px;border-radius:999px;font-family:'Geist',sans-serif}
.wf-b{color:#0A1230;background:var(--lime);padding:3px 10px;border-radius:999px;font-family:'Geist',sans-serif}
.wf-acc{flex-direction:column;align-items:stretch;gap:2px;padding:6px}
.wf-acc span{padding:7px 10px;border-radius:8px}
.wf-acc .on{background:rgba(92,134,255,.18);color:#fff}

/* round 4 */
.mini{margin-top:auto}
.f p{margin-bottom:24px}
.q5{left:50%;top:205px;transform:translateX(-50%)}
.qk::after{content:"Keep";font:600 10px 'Geist',sans-serif;background:#E3F6EC;color:#16784A;padding:2px 7px;border-radius:999px;margin-left:8px}
.who{padding-bottom:60px}
.foot-brand .logo{color:#fff}
.foot-base{display:flex;justify-content:space-between;align-items:center;padding:28px 40px 0}
.fb-trust{display:flex;align-items:center;gap:10px;color:rgba(222,230,255,.7)}
.fb-trust i{width:7px;height:7px;border-radius:50%;background:#2EB872;box-shadow:0 0 8px #2EB872}
.eyebrow{display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:10px;height:10px;flex:none;background:radial-gradient(circle,var(--blue) 1.6px,transparent 2px) 0 0/5px 5px}
.eyebrow-d::before{background:radial-gradient(circle,var(--lime) 1.6px,transparent 2px) 0 0/5px 5px}
.product::before{content:"";position:absolute;left:50%;top:40%;width:1300px;height:700px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(30,77,255,.14),rgba(30,77,255,0));z-index:-1}
.product{isolation:isolate}

/* round 5 */
.hero-art{transform:translateX(calc(-50% + 220px));-webkit-mask-image:linear-gradient(180deg,transparent 0%,transparent 28%,#000 46%,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,transparent 28%,#000 46%,#000 80%,transparent 100%)}
.band-line span{font-size:.6em}
.who-grid article{display:flex;flex-direction:column}
.who-grid p{margin-bottom:28px}
.who-grid .wf{margin-top:auto}
.who{padding-bottom:10px}
.how-grid{align-items:center}
.q5{top:245px}
.q5::before{content:"";position:absolute;left:50%;top:-34px;height:30px;border-left:2px dotted rgba(212,249,60,.8)}
.foot{border-top:none;background:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)) 40px 0/calc(100% - 80px) 1px no-repeat}
.product::before{top:75%;height:600px;background:radial-gradient(closest-side,rgba(30,77,255,.2),rgba(30,77,255,0))}
.hero-art{width:2000px;top:470px}

/* round 6 */
.lede{font-size:21px;color:rgba(230,236,255,.88)}
.who-grid{grid-template-columns:1fr 1.22fr 1fr}
.pcard{min-height:0}
.pcard img{height:400px}
.pc-art img{-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 62%,transparent 100%)}
.pc-txt{margin-top:-30px;position:relative}
.q5{top:215px}
.sc2{left:990px}.sc3{left:1080px}
.how-grid{align-items:start}
.hv{margin-top:40px;max-width:380px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 24px 60px -30px rgba(10,30,120,.35)}
.hv-h{display:flex;justify-content:space-between;font:500 12px 'Geist Mono',monospace;color:var(--mute)}
.hv-ok{color:#16784A}
.hv-bar{height:4px;border-radius:4px;background:#E8ECF6;margin:12px 0 8px;overflow:hidden}.hv-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--blue),#5C86FF)}
.hv-r{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.hv-r:first-of-type{border-top:0}
.thumbs i.on{background:#16784A;border-color:#16784A;color:#fff}
.app{box-shadow:0 40px 120px -30px rgba(10,30,120,.45),0 80px 160px -40px rgba(30,77,255,.22),0 2px 0 rgba(255,255,255,.6) inset}
.hero-q{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero-q span{position:absolute;font:400 12px 'Geist Mono',monospace;color:rgba(140,170,255,.38);white-space:nowrap}

/* round 7 */
.band-line span{font-style:italic;margin-top:24px}
.pc-txt{margin-top:auto}
.pc-art{margin-bottom:-30px}
.who-grid .wf{margin-top:32px}
.hero-q span{color:rgba(170,195,255,.6);text-shadow:0 0 4px #00041D,0 0 10px #00041D,0 0 16px #00041D}
.hv-bar{position:relative;overflow:visible}
.hv-steps{display:flex;justify-content:space-between;font:500 10px 'Geist Mono',monospace;color:var(--mute);margin:0 0 6px}
.hv-steps span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-right:6px;vertical-align:1px}
.final{background:radial-gradient(70% 60% at 50% 40%,rgba(30,77,255,.55),rgba(30,77,255,0) 72%),linear-gradient(180deg,var(--navy) 0%,#061355 50%,#02031A 100%)}
.wordmark{background:linear-gradient(180deg,rgba(170,195,255,.34),rgba(150,175,255,0) 85%);-webkit-background-clip:text;background-clip:text}
.f-big{background:radial-gradient(120% 70% at 30% 0%,rgba(30,77,255,.35),rgba(30,77,255,0) 60%),var(--navy);box-shadow:0 30px 80px -30px rgba(10,30,120,.55),inset 0 1px 0 rgba(255,255,255,.08)}
.bleed{padding:32px 32px 8px;gap:16px}
.bl-r{font-size:14px}
.bl-r i{box-shadow:0 0 12px rgba(255,107,74,.35)}
/* round 8 */
.who-grid p{margin-bottom:0}
.who-grid .wf{margin-top:32px}
.hv-steps{font-size:12px;color:rgba(91,103,135,.85)}
.f:not(.f-big){box-shadow:0 20px 40px -20px rgba(10,30,120,.18),inset 0 1px 0 #fff}
.mt code.on{background:var(--navy);color:#fff;border-color:var(--navy)}

/* round 9 */
.trust-list li{font-size:46px}
.trust{padding-bottom:70px}
.final{padding-top:120px}
.pcard h2{font-size:34px;text-wrap:pretty}
.product .wrap{perspective:2200px}
.app{transform:rotateX(7deg);transform-origin:50% 0;box-shadow:0 -20px 80px -10px rgba(60,110,255,.45),0 40px 120px -30px rgba(10,30,120,.45),0 80px 160px -40px rgba(30,77,255,.22)}
.band::before{background:radial-gradient(560px 240px at 50% 300px,rgba(150,185,255,.38),rgba(150,185,255,0)),linear-gradient(180deg,var(--paper) 0%,#9DB4FF 8%,#2C5BFF 22%,#0B2BB8 42%,var(--navy) 72%)}

/* round 10 */
.trust-list li{font-size:42px}
.app{transform:rotateX(4deg);backface-visibility:hidden;-webkit-font-smoothing:antialiased}
.pc-txt{min-height:150px}
.gh{display:flex;gap:6px}.gh b{font:600 11px 'Geist',sans-serif;padding:4px 10px;border-radius:999px;border:1px solid}
.gk{color:#16784A;border-color:rgba(22,120,74,.35)}.gb{color:#B4321A;border-color:rgba(180,50,26,.35)}
.foot{grid-template-columns:1fr 1.22fr 1fr;gap:0}
.foot-col{padding-left:36px}
/* round 11 */
.mini:has(.gh){flex-direction:column;align-items:flex-start;gap:10px}
.mini:has(.gh) span:first-child{white-space:normal;overflow:visible}
.pc-txt{min-height:180px}
.hv{margin-top:24px}
.steps li{padding:44px 0}
/* round 12 */
.problem,.how,.features{background-image:radial-gradient(circle,rgba(30,77,255,.09) 1px,transparent 1.4px);background-size:22px 22px}
/* round 13 */
.problem{background-image:linear-gradient(180deg,var(--paper) 0,rgba(244,246,251,0) 160px),radial-gradient(circle,rgba(30,77,255,.09) 1px,transparent 1.4px);background-size:100% 100%,22px 22px}
.hv{position:relative}
.hv::after{content:"";position:absolute;left:100%;top:58px;width:133px;border-top:2px dotted rgba(30,77,255,.45)}
.hv::before{content:"";position:absolute;left:calc(100% + 129px);top:54px;width:10px;height:10px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(30,77,255,.15)}
.sc{position:absolute}
.sc::before{content:"";position:absolute;right:100%;top:50%;margin-right:8px;width:34px;height:4px;transform:translateY(-50%);background:radial-gradient(circle,rgba(140,170,255,.7) 1.6px,transparent 2px) 0 0/12px 4px;-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000)}
/* final polish */
.hv::after{top:113px;width:118px}
.hv::before{display:none}
.sc::before{width:40px;background:radial-gradient(circle,rgba(140,170,255,.9) 2px,transparent 2.4px) 28px 0/12px 4px no-repeat,radial-gradient(circle,rgba(140,170,255,.55) 1.5px,transparent 1.9px) 15px 0/12px 4px no-repeat,radial-gradient(circle,rgba(140,170,255,.3) 1px,transparent 1.4px) 2px 0/12px 4px no-repeat;-webkit-mask-image:none;mask-image:none}
.problem{background-image:linear-gradient(180deg,var(--paper) 0,var(--paper) 40px,rgba(244,246,251,0) 220px),radial-gradient(circle,rgba(30,77,255,.09) 1px,transparent 1.4px)}
/* light hero (v2) */
.hero{background:linear-gradient(180deg,#F4F6FB 0%,#F4F6FB 38%,#DCE4FF 52%,#7F9BFF 66%,#2C5BFF 80%,#1E4DFF 100%);color:#0A1230}
.hero::after{background:linear-gradient(180deg,rgba(30,77,255,0) 0%,rgba(30,77,255,.6) 45%,#5A7DFF 72%,var(--paper) 100%)}
.hero-art{mix-blend-mode:screen;opacity:1}
.nav-links{color:rgba(10,18,48,.7)}
.hero .btn-ghost{border-color:rgba(10,18,48,.16);color:#0A1230;background:#fff}
.hero .btn-line{border-color:rgba(10,18,48,.2);color:#0A1230;background:rgba(255,255,255,.6)}
.kicker{border-color:rgba(10,18,48,.12);color:#3A4668;background:#fff;box-shadow:0 4px 16px -8px rgba(10,30,120,.2)}
.kicker .dot{background:#1E4DFF;box-shadow:0 0 10px rgba(30,77,255,.6)}
.lede{color:#4A5676}
.hero h1{max-width:1200px;font-size:82px;color:#0A1230}
.hero .btn-lime{box-shadow:0 0 0 1px rgba(10,18,48,.12),0 10px 30px -10px rgba(120,150,20,.6)}
.hero-q span{color:rgba(225,233,255,.75);text-shadow:0 0 6px rgba(20,50,200,.9),0 0 14px rgba(20,50,200,.8)}
.logo-img{width:26px;height:auto;display:block}
.mk2{position:relative;padding:0 .12em;margin:0 -.04em;z-index:0}
.mk2::before{content:"";position:absolute;left:0;right:0;top:.16em;bottom:.02em;z-index:-1;border-radius:.12em .3em .14em .26em;background:linear-gradient(100deg,rgba(255,120,95,.30),rgba(255,92,70,.42) 50%,rgba(255,120,95,.34));transform:rotate(-.8deg) skewX(-6deg);transform-origin:left center;animation:mkdraw .9s cubic-bezier(.65,0,.35,1) .5s both}
.mk2 .tag{position:absolute;right:0;top:100%;margin-top:4px;display:inline-flex;align-items:center;gap:6px;font:500 13px "Geist Mono",monospace;letter-spacing:.04em;color:#C2412A;background:#fff;border:1px solid rgba(194,65,42,.22);padding:5px 10px 5px 8px;border-radius:8px;box-shadow:0 10px 24px -12px rgba(194,65,42,.45);animation:tagin .45s cubic-bezier(.2,.8,.2,1.2) 1.45s both}
@keyframes mkdraw{from{transform:rotate(-.8deg) skewX(-6deg) scaleX(0)}to{transform:rotate(-.8deg) skewX(-6deg) scaleX(1)}}
@keyframes tagin{from{opacity:0;transform:translateY(-6px) scale(.9)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mk2::before,.mk2 .tag{animation:none}}
/* hero fuller (v3) */
.hero-copy{padding-top:44px}.kicker{margin-bottom:22px}.lede{margin:22px auto 30px}
.hero{background:linear-gradient(180deg,#F4F6FB 0,#ECF0FF 430px,#C3D0FF 610px,#6E8DFF 740px,#2C5BFF 850px,#1E4DFF 990px,#1E4DFF 100%)}
/* round 14 fixes */
.scan-chips{top:630px}
.mk2 .tag{top:auto;bottom:-20px;margin-top:0;right:-.08em}
.q5{top:285px}
.hero-q span{color:rgba(255,255,255,.88);text-shadow:0 0 8px rgba(10,30,160,.85)}
/* kicker removed: keep hero geometry */
.hero-copy{padding-top:98px}
/* nav CTA: Start free (roni approved) */
.hero .nav-cta{background:#0A1230;color:#fff;border-color:#0A1230;font-weight:500}
/* subhead one sentence (roni approved) */
.lede{max-width:640px;color:#2E3A5C;font-size:21px}
/* hero video + 4 verdict chips (Block/Keep/Scale) */
.hero-art{display:block;height:auto;aspect-ratio:2200/940;object-fit:cover}
.sc1{left:860px;top:14px}.sc2{left:940px;top:76px}.sc3{left:1020px;top:138px}.sc4{left:1100px;top:200px}
.sc3 b.b-scale{background:var(--lime);color:#0A1230}
.sc2 b{background:#DDF5E6;color:#17673B}
.d-scale{background:var(--lime);box-shadow:0 0 8px var(--lime)}
.sc4 b{background:#FFECE6;color:#B4321A}
/* round 15 judge fixes */
.sc1,.sc2,.sc3,.sc4{left:auto;right:160px}
.sc1{top:14px}.sc2{top:68px}.sc3{top:122px}.sc4{top:176px}
.v-scale{background:#E6ECFF;color:#1E4DFF}
.sc3 b.b-scale{background:#E6ECFF;color:#1E4DFF}
.d-scale{background:#7FA0FF;box-shadow:0 0 8px rgba(127,160,255,.9)}
.hero-art{filter:brightness(1.12) contrast(1.12)}
.hero-q span{font-size:12px;text-shadow:0 0 6px rgba(10,30,160,.95),0 0 14px rgba(10,30,160,.7)}
.hero{background:linear-gradient(180deg,#F4F6FB 0,#ECF0FF 400px,#C3D0FF 560px,#6E8DFF 700px,#2C5BFF 830px,#1E4DFF 990px,#1E4DFF 100%)}
/* round 16 judge fixes */
.sc{min-width:275px;justify-content:flex-start}.sc b{margin-left:auto}
.sc3 b.b-scale{background:#2F5BFF;color:#fff}
.hero-q span{color:#E6ECFF;background:rgba(8,16,52,.55);padding:4px 9px;border-radius:7px;text-shadow:none;border:1px solid rgba(160,185,255,.18)}
/* round 17 judge fixes */
.sc3 b.b-scale{background:#E6ECFF;color:#1E4DFF}
.hero-q span{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.92);text-shadow:0 0 6px rgba(10,30,160,.8)}
/* round 18 judge fixes */
.scan-chips::before{content:"";position:absolute;left:1140px;top:115px;width:360px;height:260px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(255,255,255,.22),rgba(255,255,255,0));pointer-events:none}
.sc{box-shadow:0 12px 32px rgba(10,20,80,.35)}
/* real estate pass: chips removed, scroll-in table */
.scan-chips{display:none}
.sw-scale{background:#5C86FF}
@supports (animation-timeline: view()){
  .product{perspective:1800px}
  .app{transform-origin:50% 0;animation:appIn linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
  @keyframes appIn{from{transform:rotateX(16deg) scale(.9);opacity:.92}to{transform:none;opacity:1}}
}
.hero-q span{background:rgba(20,40,160,.35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
/* account switcher in app header */
.acct{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 5px;border:1px solid var(--line);border-radius:999px;background:#fff;font-family:'Geist',sans-serif;color:var(--mute)}
.acct .av{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#0A1230;color:#fff;font:600 10px 'Geist',sans-serif;font-style:normal;letter-spacing:.02em}
.acct span{display:flex;flex-direction:column;line-height:1.15}
.acct b{font-weight:500;font-size:12.5px;color:var(--ink)}
.acct small{font-size:11px;color:var(--mute)}
.acct{padding:3px 9px 3px 3px;gap:8px}.acct .av{width:24px;height:24px}.acct b{font-size:12px}.acct small{font-size:11px;color:#6B7390}
.wf-acc span{display:flex;justify-content:space-between;align-items:center;gap:12px}.wf-acc em{font-style:normal;font-size:11px;color:#FF8A70}
/* round 24 judge fixes (A list) */
.hero{background:linear-gradient(180deg,#F4F6FB 0,#EEF1FB 500px,#8EA4FF 600px,#3D5CFF 690px,#1E4DFF 860px,#1E4DFF 100%)}
.hero::before{content:"";position:absolute;left:calc(50% + 220px);top:600px;width:140px;height:420px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,255,255,.25),rgba(255,255,255,0));mix-blend-mode:screen;z-index:1;pointer-events:none}
@supports (animation-timeline: view()){
  @keyframes appIn{0%{transform:rotateX(16deg) scale(.9);opacity:0}10%{opacity:1}100%{transform:none;opacity:1}}
}
.trust-list{counter-reset:tr}
.trust-list li{counter-increment:tr;display:grid;grid-template-columns:56px 1fr;align-items:baseline}
.trust-list li::before{content:"0" counter(tr);font:500 13px 'Geist Mono',monospace;color:#7FA0FF;letter-spacing:.04em}
.final .btn{height:56px;padding:0 30px;font-size:17px}
.wordmark{background:radial-gradient(circle,rgba(170,195,255,.55) 1.3px,transparent 1.8px) 0 0/6px 6px;-webkit-background-clip:text;background-clip:text;-webkit-mask-image:linear-gradient(180deg,#000 10%,transparent 90%);mask-image:linear-gradient(180deg,#000 10%,transparent 90%)}
/* round 25 judge fixes */
.hero{background:linear-gradient(180deg,#F4F6FB 0,#EEF1FB 540px,#8EA4FF 630px,#3D5CFF 710px,#1E4DFF 870px,#1E4DFF 100%)}
.hero::before{top:560px;width:240px;height:520px;background:radial-gradient(ellipse 90px 300px at 50% 75%,rgba(255,255,255,.28),rgba(255,255,255,0) 70%);-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);mask-image:radial-gradient(closest-side,#000 55%,transparent)}
.hero-tex{position:absolute;left:0;right:0;top:600px;height:300px;z-index:0;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1.4px) 0 0/8px 8px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(180deg,transparent,#000 35%,#000 65%,transparent)}
/* roni approved 2026-10-19: video up 140px, table up 70px */
.hero-art{top:330px}
.hero{padding-bottom:570px}
.hero::before{top:420px}
.hero::before{background:radial-gradient(ellipse 120px 340px at 50% 57%,rgba(255,255,255,.35),rgba(255,255,255,0) 70%)}
.hero::before{width:480px;height:620px;top:380px;background:radial-gradient(ellipse 110px 300px at 50% 54%,rgba(255,255,255,.32),rgba(255,255,255,0) 100%);-webkit-mask-image:none;mask-image:none}
/* round 27 fixes */
.hero::before{width:80px;height:300px;top:570px;border-radius:50%;background:rgba(255,255,255,.32);filter:blur(30px);mix-blend-mode:screen}
.pcard h2{font-size:35px;max-width:none}
.pcard{justify-content:flex-start}.pcard .pc-txt{margin-top:-30px!important}.pcard h2{font-size:36px}
/* smoother hero gradient (roni: hard line) */
.hero{background:linear-gradient(180deg,#F4F6FB 0,#EEF1FB 470px,#E4E9FE 530px,#CBD5FF 585px,#A9BAFF 635px,#839CFF 685px,#5C7DFF 740px,#3D60FF 800px,#2652FF 860px,#1E4DFF 920px,#1E4DFF 100%)}
.hero{background:linear-gradient(180deg,#F4F6FB 0,#EEF1FB 470px,#E2E8FE 525px,#C6D1FF 575px,#9FB2FF 620px,#7390FF 665px,#4F70FF 710px,#2F4FFF 760px,#1E4DFF 860px,#1E4DFF 100%)}
/* pinned zoom: table straightens, pins, grows, holds, then releases.
   Authored at peak size (zoom:1.15) and scaled down, so text is crisp at the peak. */
/* pinned zoom layout: .sd is set on <html> when scroll effects can run (natively in CSS, or via sheldon.js);
   the animation-timeline lines are ignored where unsupported and sheldon.js drives the same keyframes instead */
@supports (zoom:1){
  @media (min-width:1300px) and (max-height:1400px){
    /* the whole viewport is pinned: .wrap is a full-screen panel whose paper background
       fades in over the hero while the table rises, so nothing behind the table moves during the zoom */
    .sd .product{--pin:calc(50vh - 287px);margin-top:calc(-250px - var(--pin));height:calc(200vh - 40vh);padding-bottom:0;perspective:none}
    .sd .product .wrap{position:sticky;top:0;height:100vh;padding-top:var(--pin)}
    /* panel = continuation of the hero: same gradient (in page coordinates) and an aligned copy of the
       hero video, so the crossfade has no seam and the beam doesn't jump; it then stays put while pinned */
    .sd .product .wrap::before{content:"";position:absolute;top:-300px;left:50%;width:100vw;height:calc(100% + 300px);transform:translateX(-50%);z-index:-2;
      background:linear-gradient(180deg,#EEF1FB calc(50vh - 343px),#E2E8FE calc(50vh - 288px),#C6D1FF calc(50vh - 238px),#9FB2FF calc(50vh - 193px),#7390FF calc(50vh - 148px),#4F70FF calc(50vh - 103px),#2F4FFF calc(50vh - 53px),#1E4DFF calc(50vh + 47px));
      -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 300px);mask-image:linear-gradient(180deg,transparent 0,#000 300px);
      animation:panelIn linear both;animation-timeline:scroll(root);animation-range:calc(815px - 50vh) calc(1115px - 50vh)}
    .sd .product .wrap::after{content:"";position:absolute;inset:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-2;pointer-events:none;
      background:radial-gradient(circle,rgba(255,255,255,.13) 1px,transparent 1.5px) 0 0/8px 8px;
      -webkit-mask-image:linear-gradient(180deg,transparent 35%,#000 60%,#000 72%,transparent);mask-image:linear-gradient(180deg,transparent 35%,#000 60%,#000 72%,transparent);
      animation:panelIn linear both;animation-timeline:scroll(root);animation-range:calc(815px - 50vh) calc(1115px - 50vh)}
    .sd .product .wrap .pin-art{display:block;position:absolute;top:calc(50vh - 783px);left:50%;width:2000px;height:auto;aspect-ratio:2200/940;object-fit:cover;
      transform:translateX(calc(-50% + 220px));mix-blend-mode:screen;filter:brightness(1.12) contrast(1.12);z-index:-1;
      -webkit-mask-image:linear-gradient(180deg,transparent 0,transparent 28%,#000 46%,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,transparent 28%,#000 46%,#000 88%,transparent 100%);
      animation:panelIn linear both;animation-timeline:scroll(root);animation-range:calc(815px - 50vh) calc(1115px - 50vh)}
    /* soft hand-off from the blue panel to the light page after release */
    .sd .product{height:calc(160vh + 230px);padding-bottom:230px;background:linear-gradient(180deg,#1E4DFF 0,#2350FF 12%,#3F66FF 30%,#7891FF 52%,#B4C3FD 72%,#E1E7FB 88%,var(--paper) 100%) 0 100%/100% 230px no-repeat}
    .sd .problem{padding-top:0}
    @keyframes panelIn{from{opacity:0}to{opacity:1}}
    .sd .app{zoom:1.15;width:1138px;margin-left:-74.35px;transform-origin:50% 0;animation:appTilt linear both,appZoom linear both;animation-timeline:scroll(root),scroll(root);
      animation-range:0px calc((1115px - 50vh) / 1.15),calc((1115px - 50vh) / 1.15) calc((1115px - 10vh) / 1.15)}/* lengths here are scaled by zoom:1.15 */
    @keyframes appTilt{from{transform:rotateX(16deg) scale(.9)}to{transform:none}}
    @keyframes appZoom{from{scale:.8696}to{scale:1}}
    .sd .app{box-shadow:0 -10px 50px -20px rgba(60,110,255,.3),0 26px 70px -20px rgba(60,80,220,.2)}
    .sd .product::before{opacity:.45}
  }
}
/* softer hand-off from hero blue to paper behind the pinned table */
.hero::after{height:420px;background:linear-gradient(180deg,rgba(30,77,255,0) 0%,rgba(30,77,255,.6) 36%,#5A7DFF 56%,#9DB2FF 72%,#D3DCFC 87%,var(--paper) 100%)}
/* wordmark sized for the shorter name */
.wordmark{font-size:330px}

/* ---- production layer (2026-10-21) ---- */
/* Firefox and other browsers without animation-timeline: sheldon.js drives the same keyframes from scroll.
   Start states are set here so nothing flashes before the script runs. */
.sd-js .product{perspective:1800px}
.sd-js .app{animation:none;transform:rotateX(16deg) scale(.9);opacity:0}
@media (min-width:1300px) and (max-height:1400px){
  .sd-js .app{opacity:1;scale:.8696}
  .sd-js .product .wrap::before,.sd-js .product .wrap::after,.sd-js .product .wrap .pin-art{animation:none;opacity:0}
}
/* reduced motion: no tilt, zoom, pin or marker animation; the table is shown flat */
@media (prefers-reduced-motion:reduce){
  .app{animation:none!important;transform:none!important;opacity:1!important}
  .hero-art,.pin-art{display:none}
}
/* the 2000px hero/pin videos must not widen the page; clip (not hidden) keeps position:sticky working */
.pg{overflow-x:clip}

/* ---- tablet (under 1100px) ---- */
@media (max-width:1099px){
  .wrap{padding:0 32px}
  .hero h1{font-size:68px}
  .app-body{grid-template-columns:1fr}
  .app-side{display:none}
  .how-grid{grid-template-columns:1fr;gap:48px}
  .hv{max-width:460px}
  .hv::after{display:none}
  .fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .f-big{grid-row:span 1;grid-column:1/-1}
  .f h3,.f p{max-width:none}
  .trust-in{grid-template-columns:1fr;gap:24px}
  .shield-wrap{height:320px}
  .shield{width:260px;height:auto}
  .final h2{font-size:64px}
  .wordmark{font-size:24vw}
  .foot{background-position:32px 0;background-size:calc(100% - 64px) 1px}
  .foot-base{padding:28px 32px 0}
}

@media (max-width:899px){
  .hero h1{font-size:58px}
  .lede{margin-top:40px}
  .who-grid{grid-template-columns:1fr}
  .who-grid article,.who-grid article+article{padding:28px 0;border-left:0}
  .who-grid article+article{border-top:1px solid rgba(255,255,255,.14)}
  .who-grid .wf{max-width:360px}
}

/* ---- phone (under 760px) ---- */
@media (max-width:759px){
  .wrap{padding:0 20px}
  .eyebrow{margin-bottom:20px}

  /* nav: logo, Log in, Start free (section links live in the footer) */
  .nav{height:64px;gap:16px}
  .nav-links a:not(:last-child){display:none}
  .nav-links{gap:0}
  .hero .nav-cta{height:36px;padding:0 14px;font-size:13px}

  /* hero: same light-to-blue fall, measured from the bottom so it fits the taller stacked copy */
  .hero{padding-bottom:330px;background:linear-gradient(180deg,#F4F6FB 0,#EEF1FB calc(100% - 520px),#C6D1FF calc(100% - 440px),#7390FF calc(100% - 370px),#2F4FFF calc(100% - 290px),#1E4DFF calc(100% - 200px),#1E4DFF 100%)}
  .hero-copy{padding-top:40px}
  .hero h1{font-size:46px;line-height:1.04}
  .mk2 .tag{font-size:11px;padding:4px 8px 4px 6px;bottom:-24px}
  .lede{font-size:17px;margin:36px auto 28px;max-width:340px}
  .ctas{flex-direction:column;gap:10px;max-width:340px;margin:0 auto}
  .ctas .btn{width:100%}
  .hero-art{top:auto;bottom:40px;width:1000px;transform:translateX(calc(-50% + 90px))}
  .hero::before{top:auto;bottom:120px;left:calc(50% + 90px);height:220px}
  .hero-tex{top:auto;bottom:60px;height:260px}
  .hero::after{height:260px}

  /* product: a phone-sized table (term and verdict, then reason and cost) */
  .product{margin-top:-170px;padding-bottom:72px}
  .app{border-radius:14px}
  .app-bar{height:auto;padding:12px 14px;gap:10px;flex-wrap:wrap}
  .lights{display:none}
  .app-title{font-size:12px}
  .acct small{display:none}
  .t-head{display:none}
  .t-row{grid-template-columns:1fr auto;grid-template-areas:"term v" "why cost";height:auto;padding:14px 16px;row-gap:6px;column-gap:12px}
  .t-row>span:nth-child(1){grid-area:term;font-size:14px}
  .t-row>span:nth-child(2){grid-area:cost;justify-self:end;font:500 12px 'Geist Mono',monospace;color:var(--mute)}
  .t-row>span:nth-child(3){display:none}
  .t-row>span:nth-child(4){grid-area:v;justify-self:end}
  .t-row>span:nth-child(5){grid-area:why;font-size:12.5px;line-height:1.4}
  .t-foot{flex-wrap:wrap;padding:14px 16px;gap:10px}
  .t-foot .chips{flex-wrap:wrap}
  .t-foot .copy{margin-left:0}

  /* problem */
  .problem{padding:0 0 80px}
  .pair{grid-template-columns:1fr;gap:20px}
  .pcard img{height:260px}
  .pc-txt{padding:0 24px 28px;min-height:0}
  .pcard h2{font-size:28px}
  .pcard p{font-size:16px}
  .q{font-size:10px}
  .q1{left:16px;top:36px}.q2{right:16px;top:78px}.q3{left:44px;top:122px}.q4{right:20px;top:164px}
  .q5{top:150px}

  /* how */
  .how{padding-bottom:80px}
  .h2{font-size:38px}
  .hv{max-width:none}
  .steps li{grid-template-columns:52px 1fr;padding:26px 0}
  .steps h3{font-size:20px}
  .steps p{font-size:15px}

  /* features */
  .features{padding-bottom:40px}
  .fgrid{grid-template-columns:1fr;gap:14px}
  .f{padding:24px;min-height:0}
  .f p{margin-bottom:20px}
  .bleed{padding:24px 20px 4px;gap:14px}
  .bl-r{font-size:13px}
  .f-big .f-txt{padding:20px 24px 26px}

  /* band */
  .band{padding:120px 0 280px}
  .band-line{font-size:36px}
  .band-art{width:1000px;bottom:-20px}

  /* who */
  .who{padding:20px 0 10px}
  .who-grid{grid-template-columns:1fr}
  .who-grid article,.who-grid article+article{padding:28px 0;border-left:0}
  .who-grid article+article{border-top:1px solid rgba(255,255,255,.14)}
  .who-grid p{font-size:25px}
  .who-grid .wf{margin-top:22px;max-width:none}

  /* trust */
  .trust{padding-bottom:40px}
  .shield-wrap{height:240px}
  .shield{width:190px}
  .trust-list li{font-size:27px;grid-template-columns:40px 1fr;padding:22px 0}

  /* final + footer */
  .final{padding-top:88px}
  .final h2{font-size:44px;margin-bottom:28px}
  .final .btn{width:100%;max-width:340px}
  .wordmark{font-size:26vw;margin:72px 0 28px}
  .bl-h{font-size:10px;gap:12px}
  .foot{grid-template-columns:1fr 1fr;row-gap:32px;background-position:20px 0;background-size:calc(100% - 40px) 1px}
  .foot-brand{grid-column:1/-1}
  .foot-col{padding-left:0}
  .foot-base{flex-direction:column;align-items:flex-start;gap:12px;padding:28px 20px 0}
}

/* ---- responsive round 2 (judge fixes) ---- */
@media (max-width:1099px){
  .band-line{max-width:18ch;margin:0 auto}
  .band-line br{display:none}
  .band-line span{display:block}
  .hero-copy{padding-top:72px}
  .hero{padding-bottom:520px}
  .hero-art{top:250px;transform:translateX(calc(-50% + 120px))}
  .hero::before{left:calc(50% + 120px);top:500px}
  .pcard h2{font-size:32px;line-height:1.1}
}
@media (min-width:760px) and (max-width:1099px){
  .how-grid{grid-template-columns:1fr 1fr;gap:40px}
  .hv{max-width:none}
  .steps li{padding:28px 0}
  .trust-in{grid-template-columns:2fr 3fr;gap:32px}
  .shield{width:220px}
  .trust-list li{font-size:32px}
}
@media (min-width:760px) and (max-width:899px){
  .who-grid article{display:grid;grid-template-columns:1.1fr 1fr;column-gap:32px;align-items:center}
  .who-k{grid-column:1/-1}
  .who-grid .wf{margin-top:0;max-width:none}
}
@media (max-width:759px){
  .hero{padding-bottom:330px}
  .hero-copy{padding-top:40px}
  .ctas{gap:12px}
  .ctas .btn{height:52px}
  .hero .btn-line{background:#fff;border-color:rgba(15,23,42,.12)}
  .trust-list li{font-size:24px}
  .q1{top:22px}.q2{top:58px}.q3{top:94px}.q4{top:130px}
  .f-big .f-txt{padding-bottom:28px}
  .band-art{bottom:-60px}
}
@media (max-width:479px){
  .bl-h span:last-child{display:none}
}

/* ---- responsive round 3 (judge fixes) ---- */
@media (max-width:1099px){.f p,.steps h3,.steps p{text-wrap:pretty}}
@media (max-width:1099px){
  .foot{padding-top:40px}
  .product{margin-top:-300px}
  .trust-list{padding-right:24px}
}
@media (max-width:759px){
  .product{margin-top:-170px}
  .f-big .f-txt{margin-top:0;padding:20px 24px 28px}
  .bleed{padding:24px 24px 4px}
  .trust-list{padding-right:0}
}
/* AA contrast for the small step labels (was 85% of --mute) */
.hv-steps{color:var(--mute)}
/* ---- responsive round 4 (judge fixes) ---- */
@media (max-width:1099px){
  .trust-list{padding-right:0}
  .product{margin-top:-370px}
}
@media (min-width:760px) and (max-width:1099px){
  .trust-in{grid-template-columns:.8fr 1.2fr}
  .trust-list li{font-size:28px}
}
@media (max-width:759px){
  .product{margin-top:-170px}
  .f-big{padding:0}
  .f-big p{margin-bottom:0}
  .f-big .f-txt{padding-bottom:32px}
}
@media (min-width:760px) and (max-width:1099px){
  .f-big .f-txt{margin-top:0;padding-bottom:40px}
  .problem{padding-bottom:112px}
}
@media (max-width:1099px){
  .f .mini{margin-top:auto}
}
/* ---- responsive round 6 (judge fixes) ---- */
@media (max-width:1099px){
  .f-big p{margin-bottom:0}
  .f-big .f-txt{padding-bottom:36px}
}
@media (min-width:760px) and (max-width:1099px){
  .steps li{grid-template-columns:40px 1fr}
  .steps{margin-top:40px}
}
@media (max-width:759px){
  .hero h1{letter-spacing:-.025em;line-height:1.02}
  .hero{padding-bottom:280px}
  .q1{top:22px}.q2{top:70px}.q3{top:120px}.q4{top:170px}
  .fgrid{grid-template-columns:1fr 1fr;gap:12px}
  .fgrid>.f:not(:nth-child(4)):not(:nth-child(5)){grid-column:1/-1}
  .fgrid>.f:nth-child(4),.fgrid>.f:nth-child(5){padding:18px}
  .fgrid>.f:nth-child(4) h3,.fgrid>.f:nth-child(5) h3{font-size:17px}
  .fgrid>.f:nth-child(4) p,.fgrid>.f:nth-child(5) p{font-size:13.5px;margin-bottom:16px}
  .mt{flex-wrap:wrap;gap:6px}
  .thumbs,.mt{padding-top:0}
  .wordmark{font-size:28vw}
}
@media (max-width:759px){
  .hero{background:linear-gradient(180deg,#F4F6FB 0,#EEF1FB calc(100% - 460px),#C6D1FF calc(100% - 390px),#7390FF calc(100% - 320px),#2F4FFF calc(100% - 245px),#1E4DFF calc(100% - 160px),#1E4DFF 100%)}
}
/* ---- responsive round 7 (judge fixes, narrow widths only) ---- */
@media (max-width:1099px){
  .band::before{background:radial-gradient(70% 35% at 50% 0%,rgba(120,150,255,.4),rgba(120,150,255,0)),radial-gradient(560px 240px at 50% 300px,rgba(150,185,255,.38),rgba(150,185,255,0)),linear-gradient(180deg,var(--paper) 0%,#9DB4FF 8%,#2C5BFF 22%,#0B2BB8 42%,var(--navy) 72%)}
  .f:not(.f-big),.hv{box-shadow:inset 0 1px 0 #fff,0 12px 28px -14px rgba(30,50,140,.22)}
}
@media (min-width:760px) and (max-width:1099px){
  .how-grid{align-items:end}
  .steps{margin-top:0}
  .pcard img{height:360px}
}
@media (max-width:759px){
  .fgrid>.f:nth-child(5) .mt code{padding:4px 7px;font-size:11px}
}
@media (max-width:1099px){
  .band::before{background:radial-gradient(80% 45% at 50% 0%,rgba(140,165,255,.55),rgba(140,165,255,0) 70%),radial-gradient(560px 240px at 50% 300px,rgba(150,185,255,.38),rgba(150,185,255,0)),linear-gradient(180deg,var(--paper) 0%,#9DB4FF 8%,#2C5BFF 22%,#0B2BB8 42%,var(--navy) 72%)}
  .f:not(.f-big),.hv{box-shadow:inset 0 1px 0 #fff,0 16px 32px -16px rgba(30,50,140,.28)}
}
@media (min-width:760px) and (max-width:1099px){
  .q5{top:180px}
  .pc-txt{padding-top:28px}
}
@media (max-width:1099px){
  .band::after{content:"";position:absolute;left:0;right:0;top:60px;height:460px;z-index:1;pointer-events:none;background:radial-gradient(80% 55% at 50% 35%,rgba(150,175,255,.6),rgba(150,175,255,0) 70%);mix-blend-mode:screen}
}
@media (min-width:760px) and (max-width:1099px){
  .q5{top:205px}
}
@media (max-width:759px){
  .app{box-shadow:0 24px 48px -20px rgba(30,50,140,.35)}
}
@media (min-width:760px) and (max-width:1099px){.q5{top:258px}}
@media (min-width:760px) and (max-width:1099px){
  .band::after{top:0;height:360px;background:radial-gradient(70% 30% at 50% -5%,rgba(150,175,255,.5),rgba(150,175,255,0) 70%)}
  .band-line{text-shadow:0 2px 24px rgba(20,40,160,.35)}
}
/* width/height attributes on the band image are only for layout reservation */
.band-art{height:auto}
/* screens wider than the art: grow the hero/pin video and the band image so their edges never show.
   hero and pin copies use the same formula so the crossfade stays aligned */
@media (min-width:1100px){
  .hero-art,.sd .product .wrap .pin-art{width:max(2000px,calc(100vw + 480px))}
  .band-art{width:max(1600px,calc(100vw + 40px))}
}
/* phone, after roni's iPhone review: the marker paints line by line instead of one box over two lines,
   and the table gets a fixed right column (equal-width verdicts over aligned costs) and a one-line header */
@media (max-width:759px){
  .hero h1 br{display:none}
  .hero h1{font-size:44px;max-width:340px}
  .mk2{padding:0 .1em;margin:0;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.14em .3em .16em .26em;
    background:linear-gradient(100deg,rgba(255,120,95,.30),rgba(255,92,70,.42) 50%,rgba(255,120,95,.34)) 0 70%/100% 82% no-repeat}
  .mk2::before{display:none}
  .mk2 .tag{bottom:-30px;right:0}
  .app-bar{flex-wrap:nowrap;justify-content:space-between}
  .app-title{white-space:nowrap}
  .acct{flex:none}
  .acct b{font-size:11.5px}
  .t-row{grid-template-columns:1fr 64px;column-gap:14px;padding:13px 16px;align-items:center}
  .t-row>span:nth-child(4),.t-row>span:nth-child(2){justify-self:stretch;text-align:center}
  .t-row .v{display:block;text-align:center;padding-left:0;padding-right:0}
  .t-row>span:nth-child(5){align-self:start}
}
@media (max-width:759px) and (prefers-reduced-motion:no-preference){
  .mk2{animation:mkline .9s cubic-bezier(.65,0,.35,1) .5s both}
  @keyframes mkline{from{background-size:0 82%}to{background-size:100% 82%}}
}
/* phone: problem cards swipe sideways; the next card peeks from the edge so the swipe is discoverable */
@media (max-width:759px){
  .pair{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;scroll-padding:0 20px;margin:0 -20px;padding:0 20px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .pair::-webkit-scrollbar{display:none}
  .pcard{scroll-snap-align:start}
  .pcard h2{font-size:26px}
}
/* row wrapper and the phone-only summary: invisible to the desktop layout */
.t-rows{display:contents}
.saved{display:none}
.t-foot .copy{display:inline-flex;align-items:center;gap:7px}

/* phone table demo: desktop cues carried over (window dots, verdict filter, mono column labels),
   verdicts stamp in one by one while the blocked-spend total fills, then one export button */
@media (max-width:759px){
  .app-body>*{min-width:0}
  .lights{display:flex}
  .lights i{width:8px;height:8px}
  .app-bar{gap:10px;padding:10px 12px}
  .app-title{margin-right:auto;font-size:12px;white-space:nowrap}
  .app-range{display:none}
  .acct b{font-size:11.5px}
  .app-side{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line);font-size:12px}
  .app-side::-webkit-scrollbar{display:none}
  .app-side .side-h,.app-side>div:nth-child(n+7){display:none}
  .side-row{flex:none;gap:6px;padding:5px 9px;border:1px solid #E6E9F2;border-radius:999px;background:#fff}
  .side-row.on{border-color:#D5DDFB}
  .t-head{display:grid;grid-template-columns:1fr 64px;height:34px;padding:0 16px;font-size:10px}
  .t-head span:nth-child(2),.t-head span:nth-child(3),.t-head span:nth-child(5){display:none}
  .t-head span:nth-child(4){text-align:center}
  .t-foot{display:block;padding:14px 16px 16px}
  .t-foot .neg-l,.t-foot .chips{display:none}
  .saved{display:grid;grid-template-columns:1fr auto;align-items:baseline;row-gap:9px;margin-bottom:14px}
  .saved span{font:500 10px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
  .saved b{font:600 18px 'Geist',sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
  .saved i{grid-column:1/-1;height:3px;border-radius:3px;background:#E6E9F2;overflow:hidden}
  .saved s{display:block;height:100%;width:var(--p,100%);background:#FF6B4A;border-radius:3px}
  .t-foot .copy{display:flex;justify-content:center;gap:9px;width:100%;height:46px;border-radius:12px;font-size:14px;
    background:linear-gradient(180deg,#1A2347,#0A1230);box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 10px 24px -12px rgba(10,18,48,.6)}
  .t-foot .copy svg{width:15px;height:15px}
  .stamp-ready .app:not(.stamped) .t-row .v{opacity:0;transform:scale(1.7) rotate(-8deg)}
  .stamp-ready .app:not(.stamped) .t-row .why{opacity:.25}
  .stamp-ready .t-row .v{transition:opacity .2s ease-out,transform .38s cubic-bezier(.2,.9,.25,1.35);transition-delay:calc(var(--i) * .45s + .3s)}
  .stamp-ready .t-row .why{transition:opacity .4s ease-out;transition-delay:calc(var(--i) * .45s + .4s)}
}
/* phone header: the product name instead of the page title; the date range is a picker chip in the filter row */
.app-brand,.side-date{display:none}
@media (max-width:759px){
  .app-title{display:none}
  .app-brand{display:flex;align-items:center;gap:6px;margin-right:auto;font-weight:600;font-size:13px;color:var(--ink)}
  .app-brand img{width:15px;height:auto}
  .side-date{display:flex;flex:none;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:var(--ink);color:#fff;font:500 11.5px 'Geist Mono',monospace}
  .app-side>div:nth-child(n+8){display:none}
}
.t-foot .copy .gads{width:15px;height:auto;flex:none}
@media (max-width:759px){.t-foot .copy .gads{width:18px}}
/* export button, judge round 1: pill like every other control, icon on a white chip, quieter weight than the payoff number;
   the bar now shows wasted spend as a share of all spend in view */
.gchip{display:contents}
.t-foot .copy .arr{display:none}
@media (max-width:759px){
  .t-foot{padding:16px 16px 20px}
  .saved{row-gap:10px;margin-bottom:20px}
  .saved .pct{font-style:normal;color:#B4321A;margin-left:6px}
  .saved i{background:#F1E4E1}
  .t-foot .copy{height:48px;border-radius:999px;gap:10px;font-weight:500;letter-spacing:-.01em;
    background:linear-gradient(180deg,#1A2350 0%,#0A1230 100%);
    box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 1px 2px rgba(10,18,48,.25),0 6px 16px -6px rgba(10,18,48,.35)}
  .gchip{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;flex:none}
  .t-foot .copy .gads{width:16px}
  .t-foot .copy .arr{display:block;opacity:.6;transition:transform .2s}
  .t-foot .copy:hover .arr{transform:translateX(4px)}
}
@media (max-width:759px){.saved s{width:var(--p,53.7%)}}
/* export button, judge round 2: quieter icon chip, navy-tinted shadow, glass top edge */
@media (max-width:759px){
  .saved .pct{margin-left:8px}
  .gchip{width:24px;height:24px;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 1px 2px rgba(0,0,0,.25)}
  .t-foot .copy .gads{width:15px}
  .t-foot .copy{box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 1px 2px rgba(10,18,48,.25),0 8px 20px -8px rgba(10,18,48,.45)}
}
@media (max-width:759px){
  .saved .pct{margin-left:6px;font:500 11px 'Geist',sans-serif;letter-spacing:0}
  .t-foot .copy .arr{translate:0 -.5px}
}
@media (max-width:759px){.saved s{width:var(--p,100%)}}
.acct img.av{object-fit:cover;padding:0;background:#DDE2EC}
