@font-face{font-family:geist;src:url(../media/geist-s.p.2tqjy_v7v86c1.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geist Fallback;src:local(Arial);ascent-override:94.47%;descent-override:27.73%;line-gap-override:0.0%;size-adjust:106.39%}.geist_b3587ccf-module__pxe8lW__className{font-family:geist,geist Fallback}.geist_b3587ccf-module__pxe8lW__variable{--cl-geist:"geist", "geist Fallback"}
@font-face{font-family:plexMono;src:url(../media/ibm_plex_mono_400-s.p.19gbeb610ur4n.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:plexMono;src:url(../media/ibm_plex_mono_500-s.p.25_05y-blbp24.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:plexMono;src:url(../media/ibm_plex_mono_600-s.p.04jv21_rdbjv3.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:plexMono Fallback;src:local(Arial);ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.0%;size-adjust:131.49%}.plexmono_b2ddcb27-module__A2MsTa__className{font-family:plexMono,plexMono Fallback}.plexmono_b2ddcb27-module__A2MsTa__variable{--cl-plex:"plexMono", "plexMono Fallback"}
.v{--bg:#fff;--panel:#f0eeea;--panel-2:#e4e1da;--ink:#000;--muted:#494641;--soft:#8c877e;--line:#dedbd5;--dot:#cfccc5;--dot-on:#141210;--btn:#000;--btn-ink:#fff;--dark:#0f0d0b;--dark-ink:#f2efe9;--dark-muted:#a9a49b;--dark-line:#2e2b27;--slash:#3b0f6b;--slash-light:#a98bdc;--slash-tint:#ede7f6;--sans:var(--cl-geist), Arial, sans-serif;--mono:var(--cl-plex), ui-monospace, monospace;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}.v *{box-sizing:border-box}.v h1,.v h2,.v h3,.v p,.v ul,.v ol{margin:0;padding:0}.v ul,.v ol{list-style:none}.v a{color:inherit}.v :focus-visible{outline:2px solid var(--slash);outline-offset:3px}.v .wm{font:600 27px/1 var(--sans);letter-spacing:-.055em;color:var(--ink);align-items:baseline;text-decoration:none;display:inline-flex}.v .wm b{color:var(--slash);letter-spacing:0;margin-left:.04em;font-weight:400;display:inline-block}.v .wm-light{color:var(--dark-ink)}.v .wm-light b{color:var(--slash-light)}.v .nav .wm b{animation:cl-draw .6s .35s var(--ease) both}.v .nav .logo:hover .wm b{transition:transform .25s var(--ease);transform:skew(-8deg)}@keyframes cl-draw{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}.v .cota{white-space:nowrap;display:inline;position:relative}.v .cota:after{content:"";background:var(--slash);transform-origin:0;height:3px;animation:cl-cota .9s 1s var(--ease) both;position:absolute;bottom:-.11em;left:0;right:0}.v .cota i{background:var(--slash);width:3px;height:.32em;animation:.3s 1s both cl-fade;position:absolute;bottom:calc(1px - .24em);transform:rotate(40deg)}.v .cota i:first-of-type{left:-2px}.v .cota i:last-of-type{animation-delay:1.8s;right:-2px}.v .close .cota:after,.v .close .cota i{background:var(--slash-light)}@keyframes cl-cota{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cl-fade{0%{opacity:0}to{opacity:1}}.v .label{font:500 12.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.v .label b{color:var(--slash);font-weight:600}.v .announce{color:#f2efe9;background:#0f0d0b;font-size:14px}.v .announce div{text-align:center;flex-wrap:wrap;justify-content:center;gap:4px 32px;padding:10px 16px;display:flex}.v .announce a{text-underline-offset:3px;align-items:center;min-height:44px;margin-block:-12px;font-weight:600;display:inline-flex}.v .nav{justify-content:space-between;align-items:center;gap:16px;padding:18px 32px;display:flex}.v .nav .logo{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.v .nav ul{align-items:center;gap:32px;font-size:16px;display:flex}.v .nav ul a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.v .nav>ul a:not(.touch){transition:background-size .3s var(--ease);background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/0 1px no-repeat}.v .nav>ul a:not(.touch):hover{background-size:100% 1px}.v .menu{display:none;position:relative}.v .menu summary{border:1px solid var(--line);cursor:pointer;border-radius:6px;align-items:center;min-height:44px;padding:0 14px;font-weight:500;list-style:none;display:inline-flex}.v .menu summary::-webkit-details-marker{display:none}.v .menu ul{z-index:20;border:1px solid var(--line);background:var(--bg);border-radius:8px;min-width:220px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;gap:0!important;display:grid!important}.v .menu ul a{padding:0 12px}.v .nav .touch{font-weight:600}.v .nav .touch span,.v .btn span,.v .link span{transition:transform .25s var(--ease);display:inline-block}.v .nav .touch:hover span,.v .btn:hover span{transform:translate(3px)}.v .link:hover span{transform:translateY(3px)}.v .btn{background:var(--btn);min-height:44px;color:var(--btn-ink);border-radius:6px;align-items:center;gap:6px;padding:0 20px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex;box-shadow:0 1px 2px #0000002e}.v .btn:hover{opacity:.88}.v .link{align-items:center;gap:6px;min-height:44px;padding:0 4px;font-weight:500;text-decoration:none;display:inline-flex}.v .hero{padding:0 16px 72px}.v .hero-media{-webkit-mask-composite:source-in;width:min(1180px,100%);height:440px;margin-inline:auto;position:relative;-webkit-mask-image:linear-gradient(#000 55%,#0000 100%),linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#000 55%,#0000 100%),linear-gradient(90deg,#0000,#000 10% 90%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.v .hero-art{object-fit:cover;object-position:center;opacity:.92;width:100%;height:100%;display:block;position:absolute;inset:0}.v .vision{z-index:1;width:100%;height:100%;position:absolute;inset:0}.v .vision .bx{fill:none;stroke:var(--slash);stroke-width:2.5px;vector-effect:non-scaling-stroke}.v .vision .tag rect{fill:var(--slash)}.v .vision .tag text{fill:#fff;font:500 19px var(--mono);letter-spacing:.04em}.v .vision .o{opacity:0;transition:opacity .5s var(--ease)}.v .vision.run .o{opacity:1;transition-delay:var(--t)}.v .vision .scanx{fill:var(--slash);opacity:0}.v .vision.run .scanx{animation:cl-scanX 1.6s var(--ease) both}@keyframes cl-scanX{0%{opacity:0;transform:translate(0)}12%{opacity:.9}88%{opacity:.9}to{opacity:0;transform:translate(1500px)}}.v .vision-chip{z-index:2;background:var(--slash);color:#fff;font:500 11px/1.2 var(--mono);letter-spacing:.04em;white-space:nowrap;border-radius:4px;padding:5px 9px;display:none;position:absolute;top:14px;left:50%;transform:translate(-50%)}.v .hero-copy{z-index:2;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end;gap:24px 64px;width:min(1180px,100%);margin:-64px auto 0;padding-inline:8px;display:grid;position:relative}.v .hero h1{letter-spacing:-.045em;font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:500;line-height:1.16}.v .hero-copy p{letter-spacing:-.03em;color:var(--muted);font-size:1.2rem}.v .ctas{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:24px;display:flex}.v .backers{justify-items:center;gap:22px;padding:24px 16px 96px;display:grid}.v .backers ul{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 64px;display:flex}.v .backers img{filter:grayscale()contrast(1.1);opacity:.78;width:auto;height:48px;transition:opacity .3s,filter .3s;display:block}.v .backers img:hover{filter:none;opacity:1}.v .backers img.tall{height:64px}.v .media{width:min(1120px,100% - 32px);margin-inline:auto}.v .media figure{background:var(--panel);aspect-ratio:16/9;border-radius:12px;margin:0;position:relative;overflow:hidden}.v .media img.photo{object-fit:cover;width:100%;height:100%;transition:transform 8s linear;position:absolute;inset:0;transform:scale(1.04)}.v .media figure.in img.photo{transform:scale(1)}.v .media figcaption{color:#fff;letter-spacing:-.02em;text-align:center;background:#0f0d0bd1;border-radius:6px;width:max-content;max-width:calc(100% - 32px);padding:6px 14px;font-size:clamp(1rem,2vw,1.5rem);font-weight:500;transition:opacity .35s;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.v .media figcaption.out{opacity:0}.v .media .mark{width:38px;height:38px;color:var(--slash);font:400 26px/1 var(--sans);background:#ffffffe6;border-radius:9px;place-items:center;display:grid;position:absolute;bottom:22px;right:22px}.v .demo{border:1px solid var(--line);text-align:left;background:#fffffff7;border-radius:10px;width:368px;padding:16px 18px 14px;font-size:14px;position:absolute;top:32px;left:32px;box-shadow:0 1px 2px #00000014}.v .demo-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.v .demo-head .wm{font-size:18px}.v .demo-tag{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.v .demo-tabs{gap:6px;margin-top:12px;display:flex}.v .demo-tabs button{border:1px solid var(--line);min-height:34px;color:var(--muted);font:500 13px/1 var(--sans);cursor:pointer;background:#fff;border-radius:999px;padding:0 12px;transition:color .2s,border-color .2s;position:relative}.v .demo-tabs button:before{content:"";position:absolute;inset:-5px -2px}.v .demo-tabs button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.v .demo-in{background:var(--panel);border-radius:8px;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;display:flex}.v .demo-in b{background:var(--ink);color:#fff;font:500 11px/1 var(--mono);letter-spacing:.04em;border-radius:4px;flex:none;padding:5px 7px}.v .demo-in span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.v .wave{flex:none;align-items:center;gap:2px;height:16px;display:inline-flex}.v .wave i{background:var(--ink);border-radius:1px;width:2px;height:30%}.v .demo.busy .wave i{animation:.9s ease-in-out infinite cl-wave}.v .wave i:nth-child(2n){animation-delay:-.3s!important}.v .wave i:nth-child(3n){animation-delay:-.6s!important}@keyframes cl-wave{0%,to{height:25%}50%{height:100%}}.v .demo-status{height:20px;font:500 12px/20px var(--mono);color:var(--slash);margin-top:10px}.v .demo.busy .demo-status:after{content:"";animation:1.2s steps(4,end) infinite cl-dots}@keyframes cl-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.v .demo-out{min-height:144px;margin-top:4px}.v .demo-out li{border-top:1px solid var(--line);opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);grid-template-columns:92px minmax(0,1fr);gap:10px;padding:8px 0;display:grid;transform:translateY(4px)}.v .demo-out li.in{opacity:1;transform:none}.v .demo-out li small{font:500 11px/1.6 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.v .demo-out li.flag span{color:var(--slash);font-weight:600}.v .demo-done{border-top:1px solid var(--line);opacity:0;align-items:center;gap:8px;min-height:36px;padding-top:8px;font-weight:500;transition:opacity .35s;display:flex}.v .demo-done.in{opacity:1}.v .demo-done i{background:var(--slash);color:#fff;width:18px;height:18px;font:600 11px/1 var(--sans);border-radius:50%;place-items:center;font-style:normal;display:grid}.v .sec{width:min(1280px,100% - 32px);margin-inline:auto}.v .head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:16px 64px;padding-bottom:40px;display:grid}.v .head h2{letter-spacing:-.04em;margin-top:14px;font-size:clamp(2rem,3.6vw,2.9rem);font-weight:500;line-height:1.08}.v .head p{letter-spacing:-.02em;color:var(--muted);max-width:52ch;font-size:1.12rem}.v .built{padding-top:160px}.v .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:40px;display:grid}.v .card a{gap:8px;text-decoration:none;display:grid}.v .card svg{background:var(--panel);border-radius:6px;width:100%;height:auto;display:block}.v .card svg circle{fill:var(--dot);transform-box:fill-box;transform-origin:50%;transition:fill .3s, transform .35s var(--ease)}.v .card svg circle.on{transition-delay:var(--d)}.v .card svg.play circle.on{fill:var(--dot-on);transform:scale(1.8)}.v .card svg.reset circle{transition:none}.v .card h3{letter-spacing:-.02em;margin-top:14px;font-size:1.15rem;font-weight:500}.v .card h3 span{transition:transform .25s var(--ease);margin-left:8px;font-size:.9em;display:inline-block}.v .card a:hover h3 span{color:var(--slash);transform:translate(2px,-2px)}.v .card p{color:var(--muted);letter-spacing:-.01em;font-size:.95rem}.v .more{background:var(--panel);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-top:40px;padding:28px 32px;text-decoration:none;transition:background .25s;display:flex}.v .more:hover{background:var(--panel-2)}.v .more b{font-size:1.15rem;font-weight:500}.v .more span{color:var(--muted)}.v .tech{padding-top:160px}.v .segs{scrollbar-width:none;flex-wrap:wrap;gap:8px;margin-top:36px;padding-bottom:2px;display:flex;overflow-x:auto}.v .segs::-webkit-scrollbar{display:none}.v .segs button{border:1px solid var(--line);min-height:48px;color:var(--muted);font:500 1.05rem/1 var(--sans);letter-spacing:-.01em;cursor:pointer;background:#fff;border-radius:999px;flex:none;align-items:center;gap:10px;padding:0 20px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.v .segs button:hover{border-color:var(--ink);color:var(--ink)}.v .segs button small{font:500 11px/1 var(--mono);letter-spacing:.04em;color:var(--soft)}.v .segs button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.v .segs button[aria-pressed=true] small{color:var(--slash-light)}.v .lab{grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:28px;margin-top:24px;display:grid}.v .lab-tabs{grid-auto-rows:1fr;display:grid}.v .lab-tabs button{border:0;border-top:1px solid var(--line);color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:30px minmax(0,1fr);align-content:center;gap:2px 6px;padding:12px 12px 12px 14px;transition:color .2s,background .2s;display:grid;position:relative}.v .lab-tabs button:last-child{border-bottom:1px solid var(--line)}.v .lab-tabs button:before{content:"";background:var(--slash);transform-origin:top;width:3px;transition:transform .35s var(--ease);position:absolute;top:-1px;bottom:-1px;left:0;transform:scaleY(0)}.v .lab-tabs button:after{content:"";background:var(--slash);transform-origin:0;opacity:.5;height:2px;position:absolute;bottom:6px;left:14px;right:12px;transform:scaleX(0)}.v .lab-tabs button.timing:after{animation:cl-tabfill var(--dur,9s) linear forwards}.v .lab:hover .lab-tabs button.timing:after{animation-play-state:paused}@keyframes cl-tabfill{to{transform:scaleX(1)}}.v .lab-tabs button[aria-pressed=true]{color:var(--ink);background:var(--panel)}.v .lab-tabs button[aria-pressed=true]:before{transform:scaleY(1)}.v .lab-tabs button:hover{color:var(--ink)}.v .lab-tabs .n{font:600 13px/1.6 var(--mono);color:var(--slash);grid-row:span 2}.v .lab-tabs b{letter-spacing:-.02em;font-size:1.05rem;font-weight:500}.v .lab-tabs span:last-child{font-size:.9rem;line-height:1.4}.v .lab-stage{display:grid}.v .scene{border:1px solid var(--ink);background:#fff;border-radius:4px;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);height:100%;display:grid;overflow:hidden}.v .sheet{border-right:1px solid var(--ink);background-color:#fff;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-position:-1px -1px;background-size:24px 24px;grid-template-rows:1fr auto;display:grid}.v .sheet svg{align-self:center;width:100%;height:auto;padding:12px;display:block}.v .stamp{border-top:1px solid var(--ink);font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.v .stamp span{border-right:1px solid var(--ink);padding:10px 12px}.v .stamp span:last-child{color:var(--muted);border-right:0}.v .res-wrap{flex-direction:column;padding:18px 20px 20px;display:flex}.v .does{letter-spacing:-.025em;text-wrap:pretty;margin:2px 0 16px;font-size:1.22rem;font-weight:500;line-height:1.3}.v .pain{border-bottom:1px solid var(--ink);background:var(--panel);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 18px;padding:12px 20px;display:grid}.v .pain small{font:600 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block}.v .pain p{letter-spacing:-.01em;font-size:1.02rem;line-height:1.4}.v .pain a{white-space:nowrap;min-height:32px;font:500 11.5px/1.3 var(--mono);color:var(--muted);text-underline-offset:3px;align-items:center;display:inline-flex}.v .pain a:hover{color:var(--ink)}.v .res-head{justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:10px;display:flex}.v .res-head .wm{font-size:18px}.v .res li{border-top:1px solid var(--line);opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding:10px 0;display:grid;transform:translateY(4px)}.v .res li.in{opacity:1;transform:none}.v .res small{font:500 11px/1.6 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.v .res span{letter-spacing:-.01em;grid-column:1;font-size:.97rem}.v .res i{border:1px solid var(--line);width:22px;height:22px;color:var(--muted);font:600 12px/1 var(--sans);border-radius:50%;grid-area:1/2/span 2;align-self:center;place-items:center;font-style:normal;display:grid}.v .res li.flag span{color:var(--slash);font-weight:600}.v .res li.flag i{border-color:var(--slash);background:var(--slash);color:#fff}.v .res-done{border-top:1px solid var(--ink);opacity:0;align-items:center;gap:10px;padding-top:12px;font-weight:500;line-height:1.35;transition:opacity .4s;display:flex;margin-bottom:22px!important}.v .res-done.in{opacity:1}.v .res-done i{background:var(--slash);color:#fff;width:20px;height:20px;font:600 11px/1 var(--sans);border-radius:50%;flex:none;place-items:center;font-style:normal;display:grid}.v .res-cta{border:1px solid var(--ink);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;min-height:48px;margin-top:auto;padding:0 16px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.v .res-cta:hover{background:var(--ink);color:#fff}.v .res-cta span{transition:transform .25s var(--ease)}.v .res-cta:hover span{transform:translate(3px)}.v .stat{border-left:3px solid var(--slash);color:var(--ink);gap:2px;margin-top:16px;padding-left:14px;font-size:.98rem;text-decoration:none;display:grid}.v .stat b{letter-spacing:-.03em;color:var(--slash);font-size:1.6rem;font-weight:500}.v .stat span{font:500 11.5px/1.4 var(--mono);color:var(--muted)}.v .stat:hover span{color:var(--ink)}.v .lab-note{font:500 11.5px/1.5 var(--mono);color:var(--soft);margin-top:14px}.v .dw{fill:none;stroke:var(--ink);stroke-width:1.5px;stroke-linecap:square}.v .dw.wall{stroke-width:4px}.v .dw.thin{stroke:var(--soft);stroke-width:1px}.v .dw.dash{stroke-dasharray:6 5}.v .dw.grid{stroke:var(--line);stroke-width:1px}.v .win rect{fill:#fff}.v .win line,.v .wl{stroke:var(--ink);stroke-width:1px}.v .lbl{font:500 10.5px var(--mono);letter-spacing:.06em;fill:var(--muted)}.v .lbl.ink{fill:var(--ink)}.v .lbl.pur{fill:var(--slash);font-weight:600}.v .ai-ring{fill:none;stroke:var(--slash);stroke-width:2.5px}.v .ai-fill{fill:var(--slash)}.v .ai-line{fill:none;stroke:var(--slash);stroke-width:1.5px}.v .ai-box{fill:none;stroke:var(--slash);stroke-width:2.5px}.v .cool .ai-box{stroke:var(--slash);stroke-width:1.8px;opacity:.85}.v .ai-box-r{fill:#4c1d9514;stroke:var(--slash);stroke-width:2px}.v .ai-zone{fill:#4c1d9529;stroke:var(--slash);stroke-width:2px;stroke-dasharray:7 5}.v .ai-txt{font:600 10.5px var(--mono);letter-spacing:.05em;fill:#fff}.v .ai-num{font:600 11px var(--sans);fill:#fff}.v .page{fill:#fff;stroke:var(--ink);stroke-width:1.2px}.v .ln{fill:#d6d2ca}.v .hl{fill:#4c1d951f;stroke:var(--slash);stroke-width:1.5px}.v .cellb{fill:#fff;stroke:var(--line);stroke-width:1px}.v .ok{font:600 13px var(--sans);fill:var(--soft)}.v .cellt{font:500 12.5px var(--sans);fill:var(--ink)}.v .cellt.first{fill:var(--muted);font-weight:500}.v .unit.sold{fill:url(#dotsP);stroke:var(--ink);stroke-width:.8px}.v .unit.free{fill:#fff;stroke:var(--soft);stroke-width:.8px}.v .unit-m{fill:url(#hatchP);stroke:var(--slash);stroke-width:1.2px}.v .cell-done{fill:#14121047;stroke:#fff;stroke-width:1px}.v .cell-todo{fill:#4c1d9561;stroke:#fff;stroke-width:1px}.v .over{fill:var(--slash)}.v .shift{fill:none;stroke:var(--slash);stroke-width:1.5px;stroke-dasharray:5 4}.v .today{stroke:var(--slash);stroke-width:1.5px;stroke-dasharray:4 4}.v .fac{stroke:none}.v .fac.brick{fill:url(#brickP)}.v .fac.wood{fill:url(#woodP)}.v .fac.conc{fill:url(#concP)}.v .glass{fill:#fff}.v .wall-hot{fill:none;stroke:var(--slash);stroke-width:7px}.v .wall-ok{fill:none;stroke:var(--soft);stroke-width:6px;stroke-dasharray:6 5}.v .stop{fill:#fff;stroke:var(--ink);stroke-width:1.5px}.v .stop-n{font:600 11px var(--sans);fill:var(--ink)}.v .anim .ai{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .4s var(--ease), transform .5s var(--ease);transform:scale(.6)}.v .anim.run .ai{opacity:1;transition-delay:var(--t);transform:none}.v .anim .lay{opacity:0;transition:opacity .6s var(--ease)}.v .anim.run .lay{opacity:1;transition-delay:var(--t)}.v .anim .pulse{fill:none;stroke:var(--slash);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite cl-pulse}@keyframes cl-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.v .scan-band{fill:url(#scanG)}.v .scan-line{fill:var(--slash)}.v .anim .scan{opacity:0}.v .anim.run .scan{animation:cl-scanY 1.8s .3s var(--ease) both}@keyframes cl-scanY{0%{opacity:0;transform:translateY(0)}10%{opacity:1}88%{opacity:1}to{opacity:0;transform:translateY(300px)}}.v .scanx-l{fill:var(--slash);opacity:0}.v .anim.run .scanx-l{animation:cl-scanXs 1.4s .2s var(--ease) both}@keyframes cl-scanXs{0%{opacity:0;transform:translate(0)}12%{opacity:.9}88%{opacity:.9}to{opacity:0;transform:translate(540px)}}.v .trace{fill:none;stroke:var(--slash);stroke-width:4.5px;stroke-dasharray:1;stroke-dashoffset:1px}.v .trace.ink{stroke:var(--ink);stroke-width:2.2px}.v .anim.run .trace{stroke-dashoffset:0;transition:stroke-dashoffset 1.8s ease-in-out .3s}.v .hatch{fill:url(#hatchP)}.v .fl{fill:url(#dotsP);transform-box:fill-box;transform-origin:0;transform:scaleX(0)}.v .anim.run .fl{transition:transform .7s var(--ease) var(--t);transform:scaleX(1)}.v .iso-top{fill:#fff;stroke:var(--ink);stroke-width:1.2px;stroke-linejoin:round}.v .iso-l{fill:var(--panel);stroke:var(--ink);stroke-width:1.2px;stroke-linejoin:round}.v .iso-r{fill:var(--panel-2);stroke:var(--ink);stroke-width:1.2px;stroke-linejoin:round}.v .iso-duct.iso-top{fill:#fbfaf8}.v .iso-duct{stroke:var(--soft)}.v .pipe{fill:none;stroke:#6e6a63;stroke-width:8px;stroke-linecap:round}.v .pipe-hit{fill:none;stroke:var(--slash);stroke-width:10px;stroke-linecap:round}.v .tag-front{background:var(--slash);color:#fff;font:600 9.5px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;vertical-align:3px;border-radius:3px;margin-left:8px;padding:2px 6px;font-style:normal;display:inline-block}.v .pain.front{background:var(--slash-tint)}.v .pain.front small{color:var(--slash)}.v .live{fill:var(--slash);animation:1.4s ease-in-out infinite cl-blink}@keyframes cl-blink{50%{opacity:.2}}.v .card-r{fill:#fff;stroke:var(--line);stroke-width:1px}.v .card-r.hot{fill:#4c1d950f;stroke:var(--slash);stroke-width:2px}.v .chip{fill:var(--ink)}.v .chip-t{font:600 9.5px var(--mono);letter-spacing:.05em;fill:#fff}.v .bar-bg{fill:var(--line)}.v .bar-fg{fill:var(--slash)}.v .dotw{fill:var(--line)}.v .field{fill:#fff;stroke:var(--line);stroke-width:1px}.v .field-on{fill:#4c1d9514;transform-box:fill-box;transform-origin:0;transform:scaleX(0)}.v .anim.run .field-on{transition:transform .45s var(--ease) var(--t);transform:scaleX(1)}.v .logt{font:500 12.5px var(--sans);fill:var(--ink)}.v .cursor path{fill:var(--ink);stroke:#fff;stroke-width:1.2px}.v .cursor{opacity:0;transform:translate(300px,330px)}.v .anim.run .cursor{animation:4s ease-in-out .6s both cl-cur}@keyframes cl-cur{0%{opacity:1;transform:translate(300px,330px)}14%{transform:translate(200px,83px)}28%{transform:translate(200px,135px)}42%{transform:translate(200px,187px)}56%{transform:translate(200px,239px)}70%,96%{opacity:1;transform:translate(200px,291px)}to{opacity:0;transform:translate(200px,291px)}}.v .sat-bg{fill:#fff}.v .b-built{fill:url(#dotsP);opacity:.5}.v .b-green{fill:url(#hatchG)}.v .b-new{fill:url(#dotsP);transform-box:fill-box;transform-origin:bottom;transform:scaleY(0)}.v .anim.run .b-new{transition:transform 1.4s var(--ease) var(--t);transform:scaleY(1)}.v .lot-hot{fill:#4c1d952e;stroke:var(--slash);stroke-width:2.5px}.v .radius{fill:none;stroke:var(--slash);stroke-width:1.5px;stroke-dasharray:5 5}.v .sat-tag{fill:var(--ink)}.v .room{fill:#fff;stroke:var(--ink);stroke-width:2.5px}.v .opt{fill:#fff;stroke:var(--line);stroke-width:1px}.v .opt.on{stroke:var(--slash);stroke-width:2px}.v .soft{opacity:.4}.v .pilar{fill:var(--slash)}.v .trace.thin{stroke-width:2.5px}.v .rain{fill:var(--panel-2);stroke:var(--soft);stroke-width:1px;transform-box:fill-box;transform-origin:bottom;transform:scaleY(0)}.v .rain.hot{fill:#4c1d954d;stroke:var(--slash)}.v .anim.run .rain{transition:transform .6s var(--ease) var(--t);transform:scaleY(1)}.v .contour{fill:none;stroke:var(--soft);stroke-width:1px}.v .fill-dots{fill:url(#dotsP);opacity:.6}.v .fac.plain{fill:#f7f5f1}.v .costs{padding-top:160px}.v .map{border:1px solid var(--ink);background:#fff;border-radius:4px;margin-top:40px;position:relative}.v .map-segs{border-bottom:1px solid var(--ink);flex-wrap:wrap;gap:6px;padding:14px 16px;display:flex}.v .map-segs button{border:1px solid var(--line);min-height:40px;color:var(--muted);font:500 .95rem/1 var(--sans);cursor:pointer;background:#fff;border-radius:999px;padding:0 14px;transition:color .2s,border-color .2s,background .2s}.v .map-segs button:hover{border-color:var(--ink);color:var(--ink)}.v .map-segs button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.v .map-grid{min-height:var(--map-h,500px);grid-template-columns:minmax(0,1fr) minmax(0,360px);display:grid}.v .map-left{border-right:1px solid var(--ink);flex-direction:column;min-width:0;display:flex}.v .map-body{flex:1;min-height:0;position:relative;overflow-x:auto}.v .map-body svg{width:100%;min-width:760px;height:100%;padding:8px 12px;display:block;position:absolute;inset:0}.v .map-legend{border-top:1px solid var(--line);font:500 11.5px/1.4 var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px 16px;display:flex}.v .lg-flow{background:radial-gradient(circle, var(--ink) 1.4px, transparent 1.6px) 0 50% / 8px 3px repeat-x;width:26px;height:3px}.v .lg-fr{background:var(--slash);color:#fff;width:16px;height:16px;font:700 10px/1 var(--sans);border-radius:50%;place-items:center;margin-left:8px;font-style:normal;display:grid}.v .lane{font:600 10.5px var(--mono);letter-spacing:.08em;fill:var(--muted)}.v .flow-base{fill:none;stroke:var(--line);stroke-width:1.5px}.v .flow-dots{fill:none;stroke:var(--ink);stroke-width:3.2px;stroke-linecap:round;stroke-dasharray:0 10;animation:1.1s linear infinite cl-march}@keyframes cl-march{to{stroke-dashoffset:-20px}}.v .token{fill:var(--slash)}.v .mnode{cursor:pointer;outline:none}.v .mnode rect{fill:#fff;stroke:var(--ink);stroke-width:1.2px;transition:fill .2s,stroke .2s}.v .mnode text{font:500 12.5px var(--sans);fill:var(--ink);pointer-events:none}.v .mnode .mlane{font:500 9.5px var(--mono);letter-spacing:.06em;fill:var(--muted)}.v .map.vert .map-body svg{min-width:0;max-width:420px;margin-inline:auto}.v .map.vert .map-hint{display:none}.v .map.vert .mnode text:not(.mlane){font-size:14px}.v .mnode:hover rect{stroke-width:2px}.v .mnode.on rect{fill:var(--slash-tint);stroke:var(--slash);stroke-width:2.5px}.v .mnode:focus-visible rect{stroke:var(--slash);stroke-width:3px}.v .fr-dot{fill:var(--slash)}.v .mnode .fr-t{font:700 11px var(--sans);fill:#fff;pointer-events:none}.v .fr-pulse{fill:none;stroke:var(--slash);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite cl-pulse}.v .map-panel{flex-direction:column;gap:14px;padding:20px;display:flex}.v .vs{border:1px solid var(--line);border-radius:6px;display:grid}.v .vs>div{gap:4px;padding:12px 14px;display:grid}.v .vs>div+div{border-top:1px solid var(--line);background:var(--slash-tint)}.v .vs small,.v .mp-loss small{font:500 11px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.v .vs .pur small{color:var(--slash);font-weight:600}.v .vs p{font-size:.98rem;line-height:1.45}.v .mp-loss{gap:2px;padding-top:4px;display:grid}.v .mp-loss b{letter-spacing:-.02em;font-size:1.2rem;font-weight:500}.v .mp-loss span{color:var(--muted);font-size:.92rem}.v .map-panel h4{letter-spacing:-.03em;margin:-6px 0 0;font-size:1.6rem;font-weight:500}.v .mp-trava,.v .mp-ia,.v .mp-calm{color:var(--muted);font-size:.98rem;line-height:1.45}.v .mp-trava b,.v .mp-ia b{color:var(--ink);font-weight:600}.v .mp-ia b{color:var(--slash)}.v .mp-tip b{background:var(--slash);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:inline-grid}.v .mp-in{gap:10px;display:grid}.v .mp-sl{gap:4px;display:grid}.v .mp-sl span{font:500 11.5px/1.4 var(--mono);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:8px;display:flex}.v .mp-sl output{color:var(--ink);text-transform:none;font-weight:600}.v .mp-sl input{width:100%;height:28px;accent-color:var(--slash);cursor:pointer;margin:0}.v .mp-out{border:1px solid var(--line);border-radius:6px;grid-template-columns:1fr 1fr;display:grid}.v .mp-out>div{gap:2px;padding:12px;display:grid}.v .mp-out>div+div{border-left:1px solid var(--line)}.v .mp-out small,.v .map-total small{font:500 11px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.v .mp-out b{white-space:nowrap;letter-spacing:-.03em;font-size:1.12rem;font-weight:500}.v .mp-out span{color:var(--muted);font-size:.85rem}.v .mp-out .pur b,.v .map-total .pur b{color:var(--slash)}.v .map-total{border-top:1px solid var(--ink);background:var(--panel);border-radius:0 0 3px 3px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:16px 28px;padding:20px;display:grid}.v .map-total>div{gap:2px;display:grid}.v .map-total b{letter-spacing:-.03em;font-size:1.6rem;font-weight:500}.v .map-total span{color:var(--muted);font-size:.9rem}.v .map-total span b{font-size:inherit;color:var(--ink);letter-spacing:0;font-weight:600}.v .map-total em{color:var(--ink);font-style:normal;font-weight:500}.v .mt-inv{align-items:center;gap:6px;font-size:1.1rem;font-weight:500;display:flex}.v .mt-inv input{border:1px solid var(--ink);width:96px;min-height:40px;font:500 1.1rem var(--sans);background:#fff;border-radius:6px;padding:0 10px}.v .pick{z-index:40;margin-top:40px;position:relative}.v .pick-line{letter-spacing:-.03em;font-size:clamp(1.45rem,2.7vw,2.1rem);font-weight:500;line-height:1.3}.v .pick-btn{border:2px solid var(--slash);background:var(--slash-tint);color:var(--slash);font:inherit;letter-spacing:inherit;cursor:pointer;border-radius:.32em;align-items:center;gap:.35em;margin-left:.1em;padding:.02em .22em .06em .38em;transition:background .2s,color .2s,box-shadow .2s;display:inline-flex}.v .pick-btn i{background:var(--slash);color:#fff;width:max(.78em,20px);height:max(.78em,20px);transition:transform .25s var(--ease);border-radius:50%;flex:none;place-items:center;font-style:normal;line-height:1;display:grid}.v .pick-btn:hover,.v .pick-btn[aria-expanded=true]{background:var(--slash);color:#fff}.v .pick-btn:hover i,.v .pick-btn[aria-expanded=true] i{color:var(--slash);background:#fff}.v .pick-btn[aria-expanded=true] i{transform:rotate(180deg)}.v .pick-btn i svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:72%;height:72%}.v .pick.in .pick-btn,.v .pick.map-pick.seen .pick-btn{animation:1.4s ease-out 1s 2 cl-pickcall}.v .pick.used .pick-btn{animation:none}@keyframes cl-pickcall{0%{box-shadow:0 0 #4c1d9573}70%{box-shadow:0 0 0 14px #4c1d9500}to{box-shadow:0 0 #4c1d9500}}.v .pick-hint{font:500 12px/1.3 var(--mono);letter-spacing:.04em;color:var(--slash);align-items:center;gap:8px;max-height:40px;margin-top:10px;transition:opacity .4s,max-height .4s;display:flex;overflow:hidden}.v .pick-hint b{animation:1.6s ease-in-out infinite cl-hintup;display:inline-block}@keyframes cl-hintup{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.v .pick.used .pick-hint{opacity:0;max-height:0;margin-top:0}.v .pick-pop{border:1px solid var(--ink);background:#fff;border-radius:8px;grid-template-columns:repeat(3,minmax(0,230px));gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 12px);left:0;box-shadow:0 16px 40px #00000024}.v .pick-pop[hidden]{display:none}.v .pick-pop button{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;gap:2px;padding:12px 14px 12px 28px;display:grid;position:relative}.v .pick-pop button:before{content:"";border:1px solid var(--soft);border-radius:50%;width:7px;height:7px;position:absolute;top:19px;left:12px}.v .pick-pop button:hover,.v .pick-pop button:focus-visible{background:var(--panel);outline:none}.v .pick-pop button[aria-selected=true]{border-color:var(--slash)}.v .pick-pop button[aria-selected=true]:before{border-color:var(--slash);background:var(--slash)}.v .pick-pop b{letter-spacing:-.01em;font-size:1rem;font-weight:500}.v .pick-pop button[aria-selected=true] b{color:var(--slash)}.v .pick-pop span{color:var(--muted);font-size:.86rem;line-height:1.35}.v .map-pick{border-bottom:1px solid var(--ink);margin:0;padding:16px 20px}.v .map-pick .pick-line{font-size:clamp(1.15rem,1.8vw,1.4rem)}.v .map-pick .pick-hint{margin-top:6px}.v .map-total small a{color:inherit;text-underline-offset:3px}.v .faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:48px 80px;display:grid}.v .faq-side{position:sticky;top:32px}.v .faq-side h2{letter-spacing:-.04em;margin-top:14px;font-size:clamp(2rem,3.6vw,2.9rem);font-weight:500;line-height:1.08}.v .faq-side>p:not(.label){max-width:40ch;color:var(--muted);margin-top:16px;font-size:1.08rem}.v .faq-card{border:1px solid var(--ink);border-radius:6px;gap:4px;margin-top:32px;padding:20px;text-decoration:none;transition:background .25s;display:grid}.v .faq-card:hover{background:var(--panel)}.v .faq-card small{font:500 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.v .faq-card b{letter-spacing:-.02em;font-size:1.35rem;font-weight:500}.v .faq-card b span{transition:transform .25s var(--ease);display:inline-block}.v .faq-card:hover b span{transform:translate(4px)}.v .faq-card em{color:var(--muted);font-size:.92rem;font-style:normal}.v .faq-group+.faq-group{margin-top:44px}.v .faq-g{border-bottom:1px solid var(--ink);font:600 11.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:10px}.v .faq-list details{border-bottom:1px solid var(--line)}.v .faq-list summary{letter-spacing:-.02em;cursor:pointer;grid-template-columns:40px minmax(0,1fr) 32px;align-items:center;gap:12px;min-height:68px;padding:10px 0;font-size:1.12rem;font-weight:500;list-style:none;display:grid}.v .faq-list summary::-webkit-details-marker{display:none}.v .faq-list summary i{font:600 12px/1 var(--mono);color:var(--soft);font-style:normal;transition:color .2s}.v .faq-list summary:after{content:"+";border:1px solid var(--line);width:32px;height:32px;font:300 22px/1 var(--sans);transition:transform .3s var(--ease), color .2s, border-color .2s;border-radius:50%;place-items:center;display:grid}.v .faq-list summary:hover:after{border-color:var(--ink)}.v .faq-list details[open] summary i{color:var(--slash)}.v .faq-list details[open] summary:after{border-color:var(--slash);color:var(--slash);transform:rotate(45deg)}.v .ans{overflow:hidden}.v .ans p{max-width:62ch;color:var(--muted);padding:0 44px 22px 52px;font-size:1.02rem;line-height:1.55}.v .tools{padding-top:96px}.v .tools .label{text-align:center}.v .marquee{margin-top:22px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.v .track{width:max-content;animation:45s linear infinite cl-marquee;display:flex}.v .marquee:hover .track{animation-play-state:paused}.v .track ul{flex:none;display:flex}.v .track li{letter-spacing:-.03em;white-space:nowrap;color:#6b665e;align-items:center;gap:10px;height:64px;padding-right:28px;font-size:1.35rem;font-weight:600;display:flex}.v .track li:after{content:"/";color:var(--slash);margin-left:18px;font-size:1.6rem;font-weight:300}.v .track img{filter:grayscale()brightness(0);opacity:.58;width:auto;height:40px;transition:filter .3s,opacity .3s;display:block}.v .track img.lg{height:46px}.v .track img.ic{height:28px}.v .track li:hover img{filter:none;opacity:1}@keyframes cl-marquee{to{transform:translate(-50%)}}.v .steps{padding-top:160px}.v .timeline{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:56px;display:grid}.v .step{position:relative}.v .step>:not(.step-cota){margin-right:32px}.v .step-cota{height:34px;margin-bottom:26px;position:relative}.v .step-cota:before{content:"";background:var(--ink);transform-origin:0;height:2px;transition:transform .8s var(--ease);transition-delay:calc(var(--i) * .5s);position:absolute;top:22px;left:0;right:0;transform:scaleX(0)}.v .step-cota:after{content:"";background:var(--ink);width:2px;height:22px;position:absolute;top:12px;left:0}.v .step:last-child .step-cota{border-right:0}.v .step:last-child .step-cota i{background:var(--ink);width:2px;height:22px;position:absolute;top:12px;right:0}.v .step-cota b{font:600 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slash);position:absolute;top:-2px;left:0}.v .step-cota em{background:var(--slash);width:14px;height:2px;font-style:normal;position:absolute;top:17px;left:-6px;transform:rotate(-45deg)}.v .timeline.in .step-cota:before{transform:scaleX(1)}.v .step:nth-child(3) .step-cota:before{background:repeating-linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 14px)}.v .step .label{margin-bottom:8px;display:block}.v .step h3{letter-spacing:-.03em;font-size:1.5rem;font-weight:500}.v .step p{color:var(--muted);max-width:36ch;margin-top:10px}.v .step small{background:var(--panel);font:500 12px/1.2 var(--mono);letter-spacing:.03em;border-radius:4px;margin-top:16px;padding:5px 9px;display:inline-block}.v .faq{padding-block:160px 140px}.v .qa{margin-top:8px}.v .qa details{border-bottom:1px solid var(--line)}.v .qa summary{letter-spacing:-.02em;cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:72px;font-size:1.25rem;font-weight:500;list-style:none;display:flex}.v .qa summary::-webkit-details-marker{display:none}.v .qa summary:after{content:"+";border:1px solid var(--line);width:32px;height:32px;font:300 22px/1 var(--sans);transition:transform .3s var(--ease);border-radius:50%;flex:none;place-items:center;display:grid}.v .qa details[open] summary:after{border-color:var(--slash);color:var(--slash);transform:rotate(45deg)}.v .qa p{max-width:68ch;color:var(--muted);padding-bottom:24px;font-size:1.05rem}.v .close{background:var(--dark);color:var(--dark-ink)}.v .close-inner{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:24px;width:min(1376px,100% - 32px);margin-inline:auto;padding-block:96px 64px;display:grid}.v .close h2{letter-spacing:-.04em;padding-bottom:.12em;font-size:clamp(2.6rem,5.4vw,4rem);font-weight:500;line-height:1.12}.v .close .btn{background:var(--dark-ink);color:#0f0d0b;margin-top:32px}.v .close p{color:var(--dark-muted);max-width:40ch;margin-top:18px;font-size:14.5px}.v .close .art{-webkit-mask-composite:source-in;width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(#0000,#000 18% 85%,#0000),linear-gradient(90deg,#0000,#000 10%);mask-image:linear-gradient(#0000,#000 18% 85%,#0000),linear-gradient(90deg,#0000,#000 10%);-webkit-mask-composite:source-in;mask-composite:intersect}.v .carimbo{border:1px solid var(--dark-line);grid-template-columns:auto repeat(4,minmax(0,1fr));width:min(1376px,100% - 32px);margin-inline:auto;display:grid}.v .carimbo>div{border-right:1px solid var(--dark-line);align-content:center;gap:4px;padding:14px 18px;display:grid}.v .carimbo>div:last-child{border-right:0}.v .carimbo small{font:500 10.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dark-muted)}.v .carimbo span{font-size:14.5px}.v .carimbo .wm{font-size:24px}.v .foot{width:min(1376px,100% - 32px);color:var(--dark-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 32px;margin-inline:auto;padding-block:12px 28px;font-size:14.5px;display:flex}.v .foot ul{flex-wrap:wrap;gap:0 32px;display:flex}.v .foot a{min-height:44px;color:var(--dark-ink);align-items:center;text-decoration:none;display:inline-flex}.v .foot a:hover{text-underline-offset:4px;text-decoration:underline}.v .sticky-cta{display:none}.v .map-hint{font:500 11.5px/1.4 var(--mono);color:var(--muted);padding:8px 20px 0;display:none}@media (prefers-reduced-motion:no-preference){.js .v .develop{visibility:hidden}.js .v .rv{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(18px)}.js .v .rv.in{opacity:1;transform:none}.v .hero h1,.v .hero-copy>div{animation:cl-rise .9s var(--ease) both}.v .hero h1{animation-delay:.25s}.v .hero-copy>div{animation-delay:.45s}@keyframes cl-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}@media (max-width:900px){.v .nav{padding:14px 16px}.v .nav>ul{display:none}.v .menu{display:block}.v .hero{padding-bottom:56px}.v .hero-media{height:300px}.v .vision .tag{display:none}.v .vision-chip{display:block}.v .hero-copy{grid-template-columns:minmax(0,1fr);margin-top:-28px;padding-inline:0}.v .hero-copy p{font-size:1.05rem}.v .backers{padding-bottom:64px}.v .backers ul{gap:18px 28px}.v .backers img{height:34px}.v .backers img.tall{height:46px}.v .media figure{aspect-ratio:auto;background:0 0;border-radius:0;flex-direction:column;display:flex;overflow:visible}.v .media img.photo{border-radius:10px;height:230px;position:relative;inset:auto}.v .media figcaption{width:auto;max-width:none;color:var(--ink);text-align:left;background:0 0;order:-1;margin-bottom:10px;padding:0;font-size:1.05rem;position:static;transform:none}.v .media .mark{display:none}.v .demo{width:auto;margin:-36px 10px 0;padding:14px 14px 12px;font-size:13.5px;position:relative;top:auto;left:auto}.v .demo-out{min-height:132px}.v .demo-out li{grid-template-columns:84px minmax(0,1fr)}.v .head{grid-template-columns:minmax(0,1fr);padding-bottom:28px}.v .built,.v .tech,.v .steps{padding-top:96px}.v .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.v .card h3{margin-top:8px;font-size:1.02rem}.v .card h3 span{margin-left:4px}.v .card p{font-size:.86rem;line-height:1.4}.v .segs{flex-wrap:nowrap;margin-inline:-16px;padding-inline:16px}.v .map-grid{grid-template-columns:minmax(0,1fr);min-height:0}.v .pick-btn{min-height:44px}.v .map-body{flex:none}.v .map-body svg{height:auto;position:static}.v .map-panel{min-height:0}.v .pick-pop{grid-template-columns:minmax(0,1fr);max-height:calc(100dvh - 100px);position:fixed;inset:auto 12px 76px;overflow-y:auto}.v .faq-grid{grid-template-columns:minmax(0,1fr);gap:32px}.v .faq-side{position:static}.v .ans p{padding:0 0 20px 52px}.v .map-left{border-right:0;border-bottom:1px solid var(--ink)}.v .map-total{grid-template-columns:minmax(0,1fr)}.v .map-total .btn{justify-content:center}.v .map-panel{padding:16px}.v .costs{padding-top:96px}.v .segs button{min-height:44px;padding:0 16px;font-size:1rem}.v .lab{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px}.v .lab-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v .lab-tabs button,.v .lab-tabs button:last-child{border:1px solid var(--line);border-radius:6px;grid-template-columns:minmax(0,1fr);padding:12px 12px 14px}.v .lab-tabs button:before{display:none}.v .lab-tabs button:after{bottom:5px;left:12px;right:12px}.v .lab-tabs button[aria-pressed=true]{border-color:var(--ink)}.v .lab-tabs .n{grid-row:auto}.v .lab-tabs b{font-size:.98rem;line-height:1.3}.v .lab-tabs span:last-child{display:none}.v .scene{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);height:auto}.v .pain{grid-template-columns:minmax(0,1fr);padding:14px 16px}.v .sheet{border-right:0;border-bottom:1px solid var(--ink)}.v .sheet svg{padding:6px}.v .stamp{grid-template-columns:auto minmax(0,1fr)}.v .stamp span:last-child{display:none}.v .stamp span:nth-child(2){border-right:0}.v .res-wrap{padding:16px}.v .res-cta{display:flex}.v .map{margin-top:40px}.v .sticky-cta{z-index:30;background:var(--ink);color:#fff;min-height:52px;transition:transform .35s var(--ease);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:600;text-decoration:none;display:flex;position:fixed;bottom:12px;left:12px;right:12px;transform:translateY(160%);box-shadow:0 8px 24px #0003}.v .sticky-cta.show{transform:none}.v .map-hint{display:block}.v .tools{padding-top:72px}.v .track li{height:52px;font-size:1.1rem}.v .track img{height:30px}.v .track img.lg{height:34px}.v .track img.ic{height:22px}.v .timeline{grid-template-columns:minmax(0,1fr);gap:40px}.v .step>:not(.step-cota){margin-right:0}.v .faq{padding-block:96px 88px}.v .qa summary{font-size:1.1rem}.v .close-inner{grid-template-columns:minmax(0,1fr);padding-block:72px 32px}.v .carimbo{grid-template-columns:repeat(2,minmax(0,1fr))}.v .carimbo>div{border-right:0;border-bottom:1px solid var(--dark-line)}.v .carimbo>div:nth-child(odd){border-right:1px solid var(--dark-line)}.v .carimbo>div:first-child{border-right:0;grid-column:1/-1}.v .carimbo>div:last-child{border-bottom:0}.v .foot{flex-direction:column-reverse;align-items:flex-start}}@media (min-width:901px) and (max-width:1100px){.v .map-grid{grid-template-columns:minmax(0,1fr);min-height:0}.v .map-left{border-right:0;border-bottom:1px solid var(--ink)}.v .map-body{flex:none}.v .map-body svg{height:auto;position:static}}@media (prefers-reduced-motion:reduce){.v *,.v :before,.v :after{transition:none!important;animation:none!important}.v .track{flex-wrap:wrap;justify-content:center;width:auto}.v .track ul{flex-wrap:wrap;justify-content:center}.v .track ul[aria-hidden]{display:none}}
