
:root{--blue:#1d4ed8;--blue-mid:#2563eb;--blue-elec:#3b82f6;--bg:#0f1318;--bg2:#0c0f14;--panel:#10141b;--line:#232a35;--line-soft:#1b212b;--cloud:#f8fafc;--text:#dbe5f3;--muted:#9aa8bb;--ash:#828fa1;--green:#16a34a;--mono:ui-monospace,"SF Mono",Menlo,monospace;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--t:150ms;--rcell:6px;--rwin:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}
body{font-family:var(--font);color:var(--text);background:linear-gradient(180deg,var(--bg),var(--bg2));-webkit-font-smoothing:antialiased;line-height:1.5}
:focus-visible{outline:2px solid var(--blue-elec);outline-offset:3px;border-radius:3px}a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#2563eb;color:#fff;padding:10px 16px;border-radius:9px;font-weight:700;font-size:14px}
.skip:focus{left:16px}
.wrap{max-width:1240px;margin:0 auto;padding:0 30px}
.brand{display:flex;align-items:center;gap:5px}.brand .word{font-size:20px;font-weight:800;font-style:italic;letter-spacing:-.5px;color:var(--cloud)}.arc{height:24px;width:auto;display:block}
.navwrap{position:sticky;top:0;z-index:40;display:flex;justify-content:center;padding:14px 30px 4px;background:linear-gradient(180deg,rgba(15,19,24,.92),transparent)}
.navpill{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:22px;width:100%;max-width:1240px;background:rgba(16,20,27,.85);border:1px solid var(--line);border-radius:100px;padding:8px 10px 8px 18px;backdrop-filter:blur(10px)}
.navlinks{display:flex;align-items:center;gap:22px;margin-left:8px}.navpill .sp{flex:1}
.navlinks a{font-size:13px;font-weight:500;color:var(--muted);padding:6px 2px}.navlinks a:hover{color:var(--text)}
.menu-login{display:none}
.navcta{font-size:13px;font-weight:700;color:#fff;background:#2563eb;padding:11px 17px;border-radius:9px;min-height:42px;display:inline-flex;align-items:center}.navcta:hover{filter:brightness(1.08)}
.login{font-size:13px;color:var(--text);padding:6px 2px}
.navtoggle{display:none;background:transparent;border:1px solid var(--line);color:var(--text);width:42px;height:42px;border-radius:10px;cursor:pointer;align-items:center;justify-content:center;font-size:18px}
.hero{padding:54px 0 14px}
h1{font-size:clamp(42px,6.4vw,80px);line-height:.92;letter-spacing:-2.6px;font-weight:800;color:var(--cloud);margin:0 0 20px;max-width:12ch}
h1 .it{font-style:italic;color:var(--blue-elec)}
.lede{font-size:18px;color:#c2d0e0;max-width:560px;margin:0 0 28px}
.cta-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.btn{font-size:15px;font-weight:700;padding:14px 26px;border-radius:11px;cursor:pointer;border:1px solid transparent;transition:transform var(--t),filter var(--t);display:inline-block}
.btn-primary{color:#fff;background:#2563eb;box-shadow:0 12px 30px -14px rgba(37,99,235,.8)}.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.08)}
.lic{font-size:13.5px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:2px}.lic:hover{color:var(--text);border-color:var(--blue-elec)}
.appwin{margin:38px 0 6px;border:1px solid var(--line);border-radius:var(--rwin);overflow:hidden;background:linear-gradient(180deg,#10141b,#0c0f14);box-shadow:0 40px 80px -46px rgba(0,0,0,.85)}
.winbar{height:42px;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--line-soft);background:#11151c}
.winbar .dot{width:11px;height:11px;border-radius:50%}.winbar .r{background:#ff5f57}.winbar .y{background:#febc2e}.winbar .g{background:#28c840}
.winbar .wt{flex:1;text-align:center;font-size:11.5px;font-weight:600;color:var(--muted)}.winbar .wf{font-family:var(--mono);font-size:10.5px;color:var(--ash)}
.appbody{padding:8px 26px 26px}.appbody .engine{margin-top:26px}
.engine{position:relative;display:grid;grid-template-columns:184px 1fr;gap:0;align-items:center}
.src{z-index:2}.tile-src{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#0c1119,#0b0f15)}
.tile-src .v{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;position:relative;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%20100%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27g%27%20x1%3D%270%27%20y1%3D%270%27%20x2%3D%270%27%20y2%3D%271%27%3E%3Cstop%20offset%3D%270%27%20stop-color%3D%27%23FDBA74%27%2F%3E%3Cstop%20offset%3D%270.5%27%20stop-color%3D%27%23F97316%27%2F%3E%3Cstop%20offset%3D%271%27%20stop-color%3D%27%23C2410C%27%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx%3D%2750%27%20cy%3D%2732%27%20r%3D%2716%27%20fill%3D%27url%28%23g%29%27%2F%3E%3Cpath%20d%3D%27M22%20100%20C22%2074%2034%2060%2050%2060%20C66%2060%2078%2074%2078%20100%20Z%27%20fill%3D%27url%28%23g%29%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:center 78%;background-size:auto 56%}
.tile-src .play{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;z-index:2}
.tile-src .play::after{content:"";border-left:12px solid #F97316;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.engine.run .tile-src .play{animation:beat 2.4s ease-out}
@keyframes beat{0%,100%{transform:scale(1)}12%{transform:scale(1.12)}24%{transform:scale(1)}}
.tile-src .lab{padding:8px 11px;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:9.5px;letter-spacing:.4px;color:var(--muted)}
.streak{position:absolute;left:156px;top:0;bottom:0;width:130px;z-index:1;pointer-events:none}
.streak span{position:absolute;height:2px;left:0;border-radius:2px;background:linear-gradient(90deg,transparent,var(--blue-elec));transform-origin:left center;animation:rush 1.7s ease-out infinite;opacity:.5}
.streak span:nth-child(1){top:34%;width:96px}.streak span:nth-child(2){top:50%;width:124px;animation-delay:.25s}.streak span:nth-child(3){top:64%;width:104px;animation-delay:.45s}
@keyframes rush{0%{transform:translateX(-26px) scaleX(.2);opacity:0}40%{opacity:.6}100%{transform:translateX(52px) scaleX(1);opacity:0}}
.matrix{z-index:2;padding-left:26px;position:relative}.mx{display:grid;grid-template-columns:96px repeat(6,1fr);gap:8px}
.scan{position:absolute;top:30px;bottom:6px;left:96px;width:70px;pointer-events:none;z-index:4;background:linear-gradient(90deg,transparent,rgba(59,130,246,.16),transparent);filter:blur(1px);opacity:0}
.engine.run .scan{animation:scan 2.3s ease-in-out}
@keyframes scan{0%{transform:translateX(0);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateX(560px);opacity:0}}
.corner{font-family:var(--mono);font-size:9px;color:var(--ash);align-self:end;padding-bottom:6px;line-height:1.3}
.hc{display:flex;flex-direction:column;align-items:center;gap:5px;padding-bottom:6px}
.chip{width:30px;height:30px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.chip img{max-width:26px;max-height:26px;width:auto;height:auto;display:block}.chip .lsvg{width:25px;height:25px;display:block}
.hc .nm{font-size:9.5px;color:var(--muted);font-weight:600;letter-spacing:.2px}
.off{font-family:var(--mono);font-size:12px;color:var(--text);display:flex;align-items:center;font-weight:600}.off.dim{color:var(--ash);font-weight:500;font-size:11px}
.cell{height:66px;border:1px solid var(--line-soft);border-radius:var(--rcell);background:var(--panel);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;opacity:0;transform:scale(.92)}
.engine.run .cell{animation:pop .26s ease-out forwards}
.cell.dim{background:#0b0f15}
.vf{position:relative;border-radius:3px;overflow:hidden;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%20100%27%3E%3Cdefs%3E%3ClinearGradient%20id%3D%27g%27%20x1%3D%270%27%20y1%3D%270%27%20x2%3D%270%27%20y2%3D%271%27%3E%3Cstop%20offset%3D%270%27%20stop-color%3D%27%23FDBA74%27%2F%3E%3Cstop%20offset%3D%270.5%27%20stop-color%3D%27%23F97316%27%2F%3E%3Cstop%20offset%3D%271%27%20stop-color%3D%27%23C2410C%27%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx%3D%2750%27%20cy%3D%2732%27%20r%3D%2716%27%20fill%3D%27url%28%23g%29%27%2F%3E%3Cpath%20d%3D%27M22%20100%20C22%2074%2034%2060%2050%2060%20C66%2060%2078%2074%2078%20100%20Z%27%20fill%3D%27url%28%23g%29%27%2F%3E%3C%2Fsvg%3E"),linear-gradient(150deg,#0c1119,#0b0f15);background-repeat:no-repeat;background-position:center 64%,center;background-size:auto 70%,cover;box-shadow:0 0 0 1px rgba(148,163,184,.16)}
.vf.r169{aspect-ratio:16/9;width:82%}.vf.r916{aspect-ratio:9/16;height:84%}.vf.r11{aspect-ratio:1/1;height:84%}
.vf .glow{position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 38%,rgba(249,115,22,.16),transparent 72%)}
.vf .safe{position:absolute;inset:16% 12% 28%;border:1px dashed rgba(59,130,246,.5);border-radius:2px}
.vf .disc{position:absolute;left:12%;right:12%;bottom:13%;height:4px;background:var(--blue-elec);box-shadow:0 0 6px rgba(59,130,246,.6);border-radius:1px}.cell:not(.dim) .vf::after{content:"";position:absolute;top:8%;right:9%;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px rgba(22,163,74,.85);z-index:3}
.engine.run .vf .disc{animation:disclock 2.4s ease-out}
@keyframes disclock{0%,55%{background:rgba(59,130,246,.45);box-shadow:0 0 0 rgba(59,130,246,0)}68%{background:var(--blue-elec);box-shadow:0 0 9px rgba(59,130,246,.85)}100%{background:var(--blue-elec);box-shadow:0 0 6px rgba(59,130,246,.6)}}
@keyframes pop{to{opacity:1;transform:none}}
.mfoot{display:flex;align-items:center;gap:12px;margin-top:16px;font-family:var(--mono);font-size:11px;color:var(--ash);flex-wrap:wrap}
.mfoot b{color:var(--cloud)}.mfoot .stamp{margin-left:auto;color:var(--green);border:1px solid rgba(22,163,74,.34);background:rgba(22,163,74,.08);padding:4px 10px;border-radius:6px;letter-spacing:.4px}
.section{padding:66px 0;border-top:1px solid var(--line-soft)}
.sec-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--blue-elec);margin:0 0 14px}
.sec-h{font-size:clamp(26px,3.2vw,38px);font-weight:800;letter-spacing:-1px;color:var(--cloud);margin:0 0 14px;max-width:22ch}
.sec-sub{font-size:16px;color:var(--muted);max-width:64ch;margin:0 0 36px}
.sec-sub .it{font-style:italic;color:var(--blue-elec)}
.roles{border:1px solid var(--line);border-radius:16px;padding:10px;background:linear-gradient(180deg,rgba(59,130,246,.04),transparent)}
.rtabs{display:flex;flex-wrap:wrap;gap:6px}
.rtab{font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:9px;padding:10px 15px;cursor:pointer;min-height:42px}
.rtab:hover{color:var(--text)}
.rtab[aria-selected=true]{color:var(--cloud);background:rgba(37,99,235,.16);border-color:rgba(59,130,246,.4)}
.rpanel{padding:20px 15px 8px;display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap}
.rline{font-size:clamp(18px,2.3vw,24px);font-weight:700;letter-spacing:-.5px;color:var(--cloud);margin:0;max-width:30ch}
.rlink{font-size:13.5px;font-weight:600;color:var(--blue-elec);white-space:nowrap}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{border:1px solid var(--line);border-radius:14px;padding:22px;background:linear-gradient(180deg,rgba(59,130,246,.04),transparent)}
.card .k{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:var(--cloud);margin-bottom:9px}
.card .k .b{width:18px;height:2px;background:var(--blue-elec);border-radius:2px;box-shadow:6px 0 0 -.5px rgba(59,130,246,.5),11px 0 0 -1px rgba(59,130,246,.3)}
.card .cnum{font-family:var(--mono);font-size:12px;color:var(--blue-elec);margin-bottom:10px;letter-spacing:1px}
.card .ct{font-size:15.5px;font-weight:700;color:var(--cloud);margin-bottom:8px;letter-spacing:-.2px}
.card .d{font-size:13.5px;color:#b3c1d4}.card .d b{display:block;margin-bottom:4px;color:var(--cloud);font-weight:600}
.cnote{margin-top:18px;font-size:13.5px;color:var(--ash);max-width:70ch}.cnote b{color:var(--text)}
.calc{display:grid;grid-template-columns:1fr 1fr;gap:30px;border:1px solid var(--line);border-radius:18px;padding:34px;background:linear-gradient(180deg,rgba(59,130,246,.05),transparent);align-items:center}
.calc .ctrls{display:flex;flex-direction:column;gap:24px}
.sld{display:flex;flex-direction:column;gap:9px}
.sld .lab{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--muted);font-weight:600}
.sld .val{font-family:var(--mono);font-size:15px;color:var(--cloud)}
.sld input[type=range]{-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:#222a36;outline:none}
.sld input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--blue-mid);border:2px solid #0c0f14;box-shadow:0 0 0 1px var(--blue-elec);cursor:pointer}
.sld input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--blue-mid);border:2px solid #0c0f14;cursor:pointer}
.sld .assume{font-size:11.5px;color:var(--ash);margin-top:2px}
.calc .out{border-left:1px solid var(--line-soft);padding-left:30px}
.calc .obig{font-size:clamp(40px,6vw,64px);font-weight:800;letter-spacing:-2px;color:var(--cloud);line-height:1}
.calc .obig .u{font-size:19px;font-weight:600;color:var(--blue-elec);letter-spacing:0;margin-left:9px}
.calc .osub{font-size:14px;color:var(--muted);margin-top:11px}
.calc .orow{display:flex;gap:28px;margin-top:22px;flex-wrap:wrap}
.calc .ostat .n{font-family:var(--mono);font-size:20px;color:var(--cloud);font-weight:700}
.calc .ostat .l{font-size:11.5px;color:var(--ash);text-transform:uppercase;letter-spacing:.5px;margin-top:3px}
.calc .rush{margin-top:22px;font-size:13.5px;color:#bdebd2;border:1px solid rgba(22,163,74,.3);background:rgba(22,163,74,.07);border-radius:10px;padding:12px 14px}
.calc .disc-note{font-size:11.5px;color:var(--ash);margin-top:16px;max-width:48ch}
.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.step{border:1px solid var(--line);border-radius:12px;padding:16px 14px;background:var(--panel);position:relative}
.step .n{font-family:var(--mono);font-size:11px;color:var(--ash);letter-spacing:1px;margin-bottom:10px}
.step .st{font-size:13.5px;font-weight:700;color:var(--cloud);margin-bottom:6px}
.step .sd{font-size:11.5px;color:var(--muted);line-height:1.45}
.step.gate{border-color:rgba(59,130,246,.5);background:linear-gradient(180deg,rgba(59,130,246,.08),transparent)}
.step .gtag{display:inline-flex;align-items:center;gap:7px;margin-top:11px;font-family:var(--mono);font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:var(--blue-elec)}
.step .gtag::before{content:"";width:11px;height:2px;background:var(--blue-elec);border-radius:1px}
.steps-foot{margin-top:18px;font-family:var(--mono);font-size:11.5px;color:var(--ash)}.steps-foot b{color:var(--cloud)}
.proofgrid{display:grid;grid-template-columns:1.12fr .88fr;gap:18px}
.receipt{border:1px solid var(--line);border-radius:14px;background:#0e131b;overflow:hidden;position:relative}
.receipt::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#3b82f6,#1d4ed8)}
.rhd{display:flex;align-items:center;gap:9px;padding:16px 20px;border-bottom:1px solid var(--line-soft)}
.rhd .rt{font-size:14px;font-weight:700;color:var(--cloud)}.rhd .id{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ash)}
.rhd .sample-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--ash);border:1px solid var(--line);border-radius:5px;padding:3px 7px}
.rb{padding:6px 20px 16px}
.kv{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #161c25;font-size:13px}
.kv:last-child{border-bottom:none}.kv .k{color:var(--muted)}.kv .v{color:var(--text);font-weight:600;text-align:right}.kv .v.mono{font-family:var(--mono);font-weight:500;color:#cdd9f5}.kv .v.ok{color:var(--green)}
.stamp-v{display:inline-block;margin:6px 0 2px;transform:rotate(-7deg);border:2.5px solid #2563eb;color:#2563eb;border-radius:9px;padding:5px 12px;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:2px;background:rgba(37,99,235,.08)}
.rfoot{display:flex;gap:8px;padding:14px 20px;border-top:1px solid var(--line-soft);flex-wrap:wrap}
.chipbtn{font-size:12px;font-weight:600;color:#cfe0ff;background:rgba(37,99,235,.14);border:1px solid rgba(37,99,235,.34);padding:9px 13px;border-radius:6px;display:inline-flex;align-items:center;gap:7px;min-height:38px}
.tech{border:1px solid var(--line);border-radius:14px;background:#0c1119;padding:16px 20px}
.tech .th{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--cloud);margin-bottom:10px}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.path{border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--panel);display:flex;flex-direction:column}
.path.feat{border-color:rgba(59,130,246,.5);background:linear-gradient(180deg,rgba(59,130,246,.07),transparent)}
.path .plabel{font-family:var(--mono);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--blue-elec);margin-bottom:10px}
.path .pt{font-size:21px;font-weight:800;color:var(--cloud);letter-spacing:-.5px;margin-bottom:8px}
.path .pd{font-size:14px;color:var(--muted);margin-bottom:16px}
.path ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:9px}
.path li{font-size:13.5px;color:#c3cfe2;display:flex;gap:9px;align-items:flex-start}
.path li::before{content:"";flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--blue-elec);margin-top:6px}
.path .pcta{margin-top:auto}
.prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.prod{border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--panel)}
.prod .tagm{font-family:var(--mono);font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--ash);margin-bottom:10px}
.prod .pn{font-size:17px;font-weight:800;color:var(--cloud);letter-spacing:-.3px;margin-bottom:7px}
.prod .pdesc{font-size:13px;color:var(--muted);margin-bottom:16px}
.prod .pl{font-size:13px;font-weight:600;color:var(--blue-elec)}
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line-soft);padding:16px 0}
.faq summary{cursor:pointer;list-style:none;font-size:16px;font-weight:600;color:var(--cloud);display:flex;justify-content:space-between;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blue-elec);font-weight:700;font-size:20px;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq .fa{font-size:14.5px;color:var(--muted);margin:12px 0 0;max-width:70ch}
.consult{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(59,130,246,.06),transparent);padding:38px;display:grid;grid-template-columns:.86fr 1.14fr;gap:36px;align-items:start}
.consult .clead h2{font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-1px;color:var(--cloud);margin:0 0 12px}
.consult .clead p{font-size:15px;color:var(--muted);margin:0 0 18px;max-width:40ch}
.consult .clist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.consult .clist li{font-size:13.5px;color:#c3cfe2;display:flex;gap:10px;align-items:flex-start}
.consult .clist li::before{content:"";flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--blue-elec);margin-top:6px}
.form .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:12px;color:var(--muted);font-weight:600}
.field input,.field select,.field textarea{background:#0c1119;border:1px solid var(--line);border-radius:9px;padding:12px 13px;color:var(--text);font-family:inherit;font-size:14px;width:100%;min-height:44px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-elec);outline:none}
.field textarea{resize:vertical;min-height:84px}
.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:#ff6b6b}
.formnote{font-size:12px;color:var(--ash);margin-top:14px}.formnote a{color:var(--muted);border-bottom:1px solid var(--line)}
.success{display:none;border:1px solid rgba(22,163,74,.4);background:rgba(22,163,74,.08);border-radius:12px;padding:26px;color:#bdebd2;font-size:15px}
.success.show{display:block}.form.hide{display:none}
.footer{border-top:1px solid var(--line-soft);margin-top:60px;padding:46px 0 60px}
.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}
.footgrid .ft-h{font-size:12px;font-weight:700;color:var(--cloud);margin-bottom:14px;letter-spacing:.2px}
.footgrid a{display:block;font-size:13px;color:var(--muted);margin-bottom:9px}.footgrid a:hover{color:var(--text)}
.foot-tag{font-size:13px;color:var(--ash);max-width:34ch;margin:12px 0 0}
.foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:34px;padding-top:20px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--ash)}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}
@media(max-width:980px){.navlinks{display:none;position:absolute;top:62px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:4px;background:#11151c;border:1px solid var(--line);border-radius:14px;padding:12px;margin-left:0}.navlinks.open{display:flex}.navlinks a{padding:11px 8px;width:100%;font-size:15px}.menu-login{display:block}.login{display:none}.navtoggle{display:inline-flex}
.engine{grid-template-columns:1fr;gap:20px}.streak,.scan{display:none}.src{max-width:230px}.matrix{padding-left:0}.mx{grid-template-columns:64px repeat(6,1fr);gap:5px}.hc .nm{display:none}.cell{height:48px}
.three{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.proofgrid{grid-template-columns:1fr}.paths{grid-template-columns:1fr}.prods{grid-template-columns:1fr}.calc{grid-template-columns:1fr;gap:24px;padding:26px}.calc .out{border-left:none;border-top:1px solid var(--line-soft);padding-left:0;padding-top:24px}.consult{grid-template-columns:1fr;gap:24px;padding:26px}.footgrid{grid-template-columns:1fr 1fr}.navpill{gap:10px;padding:8px 8px 8px 14px}.navcta{padding:11px 13px}}
@media(max-width:560px){.steps{grid-template-columns:1fr}.form .frow{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr}.rpanel{flex-direction:column;align-items:flex-start;gap:10px}}
@media(prefers-reduced-motion:reduce){.cell{opacity:1!important;transform:none!important;animation:none!important}.scan,.streak span{animation:none!important;opacity:0}.engine.run .vf .disc,.engine.run .tile-src .play{animation:none}.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
#consulterror{display:none;color:#ff8f8f}

/* ===== Theme toggle button ===== */
.themetoggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:transparent;border:1px solid var(--line);color:var(--text);cursor:pointer;flex:0 0 auto}
.themetoggle:hover{border-color:var(--blue-elec);color:var(--cloud)}
.themetoggle svg{width:19px;height:19px}
.themetoggle .ic-moon{display:none}
.themetoggle .ic-sun{display:block}
[data-theme=light] .themetoggle .ic-moon{display:block}
[data-theme=light] .themetoggle .ic-sun{display:none}

/* ===== LIGHT THEME (opt-in). Flips page chrome to light; product screens stay dark. BLUE-ONLY. ===== */
[data-theme=light]{
  color-scheme:light;
  --bg:#ffffff; --bg2:#eef2f7; --panel:#ffffff;
  --line:#e2e8f0; --line-soft:#eef2f7;
  --cloud:#0f172a;   /* was bright/white text → dark ink for headings on light */
  --text:#334155; --muted:#64748b; --ash:#94a3b8;
}
/* Product screens stay dark — re-assert the console palette inside them */
[data-theme=light] .appwin,
[data-theme=light] .receipt,
[data-theme=light] .tech{
  --bg:#0f1318; --bg2:#0c0f14; --panel:#10141b;
  --line:#232a35; --line-soft:#1b212b;
  --cloud:#f8fafc; --text:#dbe5f3; --muted:#9aa8bb; --ash:#828fa1;
}
/* Light nav chrome */
[data-theme=light] .navwrap{background:linear-gradient(180deg,rgba(255,255,255,.92),transparent)}
[data-theme=light] .navpill{background:rgba(255,255,255,.85)}
/* Wordmark: Rushly Blue on light per locked guide */
[data-theme=light] .brand .word{color:var(--blue-mid)}
/* Light pricing/feature cards (NOT the dark product screens) */
[data-theme=light] .card,
[data-theme=light] .roles,
[data-theme=light] .calc{background:linear-gradient(180deg,rgba(37,99,235,.05),#ffffff)}
[data-theme=light] .step{background:#ffffff}

/* ===== LIGHT THEME: targeted overrides for elements with hardcoded dark values ===== */
/* card body text was hardcoded #b3c1d4 — too light on white bg */
[data-theme=light] .card .d{color:#475569}
[data-theme=light] .card .d b{color:#0f172a}
/* card heading (.k) uses --cloud which remaps correctly, but .b accent bar border ok */
/* section headings already use --cloud token (remapped to dark ink) */
/* lede uses hardcoded #c2d0e0 — needs darker color on light */
[data-theme=light] .lede{color:#334155}
/* path card li text was hardcoded #c3cfe2 */
[data-theme=light] .path li{color:#334155}
[data-theme=light] .path .pd{color:#475569}
/* consult list items hardcoded #c3cfe2 */
[data-theme=light] .consult .clist li{color:#334155}
[data-theme=light] .consult .clead p{color:#475569}
/* form fields — bg was hardcoded #0c1119, border #232a35 */
[data-theme=light] .field input,
[data-theme=light] .field select,
[data-theme=light] .field textarea{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}
[data-theme=light] .field input:focus,
[data-theme=light] .field select:focus,
[data-theme=light] .field textarea:focus{border-color:var(--blue-elec)}
/* range slider track was hardcoded #222a36 */
[data-theme=light] .sld input[type=range]{background:#cbd5e1}
[data-theme=light] .sld input[type=range]::-webkit-slider-thumb{border-color:#eef2f7}
[data-theme=light] .sld input[type=range]::-moz-range-thumb{border-color:#eef2f7}
/* calc output area left border splits from hardcoded --line-soft */
[data-theme=light] .calc .out{border-left-color:#e2e8f0}
/* receipt border-bottom on .kv rows was hardcoded #161c25 — stays inside .receipt which re-asserts dark, so fine */
/* faq text uses --muted (remapped), --cloud (remapped) — fine */
/* footer brand uses --cloud (remapped) for word — needs to stay blue on light page */
[data-theme=light] .footgrid .brand .word{color:var(--blue-mid)}
/* body gradient re-bind so it isn't just the token gradient on light */
[data-theme=light] body{background:linear-gradient(180deg,#ffffff,#eef2f7)}
/* border-top on .section uses --line-soft token — remapped, fine */
/* step gate: border-color rgba(59,130,246,.5) stays blue — fine */
/* navpill border uses --line — remapped to #e2e8f0 on light — fine */

/* ===== Hero Concept B graft (2026-07-04): index.html hero band only. New scoped classes only; base .hero/.lede/.cta-row/h1 rules are unchanged so other pages (box/slice/studio/concierge/faq) are unaffected. Tokens reused: --text, --muted, --line, blue accent rgba already used sitewide. ===== */
.hero-h1b{font-size:clamp(32px,4.4vw,54px);line-height:1.12;letter-spacing:-1px;max-width:20ch}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 26px}
.hero-chip{font-size:13px;font-weight:600;color:var(--text);background:rgba(59,130,246,.08);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.hero-proof{font-size:13.5px;color:var(--muted)}
@media(max-width:560px){.hero-chip{font-size:12px;padding:7px 12px}}
