:root,[data-theme=dark]{--substrate:#0b1210;--substrate-raised:#121b18;--substrate-sunken:#070c0b;--line:#24312c;--line-strong:#5c6f67;--silk:#e8eeea;--silk-muted:#98a9a1;--copper:#e8894a;--copper-soft:#2e1c10;--on-copper:#0b1210;--trace:#7fc3e8;--trace-soft:#0f2430;--pass:#7bd88f;--pass-soft:#10281a;--warn:#f2c14e;--warn-soft:#2b220c;--fault:#ff8a80;--fault-soft:#2e1414;--focus:var(--trace);--link:var(--trace);--shadow-float:0 12px 32px #00000080;color-scheme:dark}[data-theme=light]{--substrate:#f5f7f4;--substrate-raised:#fff;--substrate-sunken:#eaefeb;--line:#d5ddd8;--line-strong:#7f8f88;--silk:#101815;--silk-muted:#4e5e57;--copper:#a64910;--copper-soft:#fcede2;--on-copper:#fff;--trace:#1a6890;--trace-soft:#e1f0f8;--pass:#1d7a3a;--pass-soft:#e2f4e6;--warn:#855c00;--warn-soft:#fbf0d2;--fault:#b42318;--fault-soft:#fce6e4;--focus:var(--trace);--link:var(--trace);--shadow-float:0 12px 32px #1018151f;color-scheme:light}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-sm:2px;--radius-md:6px;--radius-lg:10px;--chamfer-sm:6px;--chamfer-lg:16px;--font-display:Sora, "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-sans:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}@font-face{font-family:Sora;src:url(/fonts/Sora-Variable.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--substrate);color:var(--silk);font:400 16px/24px var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;display:flex}main{flex:1}a{color:var(--trace)}a:hover{color:var(--silk)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}img,svg{max-width:100%}[hidden]{display:none!important}.skip-link{z-index:20;background:var(--substrate-raised);color:var(--silk);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:12px 16px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.wrap{max-width:1200px;margin:0 auto;padding:0 32px}.section{padding:96px 0}.section-hero{padding:112px 0}.section-intro{padding-bottom:64px}.section-detail{padding-top:48px;padding-bottom:64px}.section-flush{padding-top:0}.band{background:var(--substrate-sunken);border-top:1px solid var(--line);border-bottom:1px solid var(--line);--card-ground:var(--substrate-sunken)}.stack{flex-direction:column;display:flex}.row{flex-wrap:wrap;align-items:center;display:flex}.g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px;display:grid}.split-wide{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.split-contact{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;display:flex}.list-reset{margin:0;padding:0;list-style:none}.d-xl{font:600 64px/68px var(--font-display);letter-spacing:-.03em;text-wrap:balance;color:var(--silk);margin:0}.d-l{font:600 44px/50px var(--font-display);letter-spacing:-.02em;text-wrap:balance;color:var(--silk);margin:0}.h2{font:600 28px/34px var(--font-display);letter-spacing:-.01em;text-wrap:balance;color:var(--silk);margin:0}.h3{font:600 20px/28px var(--font-display);text-wrap:balance;color:var(--silk);margin:0}.mono-title{font-family:var(--font-mono);font-weight:500}.eyebrow{font:500 12px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--copper);margin:0}.label{font:500 12px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--silk-muted);margin:0}.lead{font:400 18px/28px var(--font-sans);color:var(--silk-muted);max-width:60ch;margin:0}.lead strong{color:var(--silk);font-weight:400}.muted{color:var(--silk-muted);margin:0}.body{color:var(--silk);margin:0}.small{font-size:14px;line-height:20px}.mono{font-family:var(--font-mono)}.num{font-family:var(--font-mono);color:var(--copper);font-size:14px}.btn{height:48px;font:600 16px/1 var(--font-sans);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 24px;text-decoration:none;transition:background-color .15s;display:inline-flex}.btn-sm{height:40px;padding:0 16px;font-size:15px}.btn-primary{background:var(--copper);color:var(--on-copper);clip-path:polygon(var(--chamfer-sm) 0, 100% 0, 100% calc(100% - var(--chamfer-sm)), calc(100% - var(--chamfer-sm)) 100%, 0 100%, 0 var(--chamfer-sm));border-radius:0}.btn-primary:hover{background:color-mix(in srgb, var(--copper) 88%, var(--silk));color:var(--on-copper)}.btn-primary:focus-visible{clip-path:none}.btn-secondary{color:var(--silk);border-color:var(--line-strong);background:0 0}.btn-secondary:hover{background:var(--substrate-raised);color:var(--silk)}.btn:disabled{opacity:.45;cursor:not-allowed}.arrow-link{font:600 15px/24px var(--font-sans);color:var(--trace);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.arrow-link:hover{color:var(--trace);text-underline-offset:4px;text-decoration:underline}.badge{white-space:nowrap;font:500 11px/22px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.b-pass{background:var(--pass-soft);color:var(--pass)}.b-info{background:var(--trace-soft);color:var(--trace)}.b-warn{background:var(--warn-soft);color:var(--warn)}.b-copper{background:var(--copper-soft);color:var(--copper)}.b-neutral{background:var(--substrate-raised);color:var(--silk-muted);border-color:var(--line)}.chip{font:400 13px/22px var(--font-mono);color:var(--silk-muted);border:1px solid var(--line);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;padding:0 8px;display:inline-flex}.card{background:var(--substrate-raised);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:12px;min-width:0;padding:24px;display:flex;position:relative}.card:after{content:"";width:var(--chamfer-lg);height:var(--chamfer-lg);border-top-right-radius:var(--radius-lg);background:linear-gradient(45deg, transparent calc(50% - .5px), var(--line) calc(50% - .5px), var(--line) calc(50% + .5px), var(--card-ground,var(--substrate)) calc(50% + .5px));position:absolute;top:-1px;right:-1px}.card-featured{border-color:var(--copper)}.card-featured:after{background:linear-gradient(45deg, transparent calc(50% - .5px), var(--copper) calc(50% - .5px), var(--copper) calc(50% + .5px), var(--card-ground,var(--substrate)) calc(50% + .5px))}.card.split{display:grid}.card-md{padding:32px}.card-lg{padding:40px}.card-foot{border-top:1px solid var(--line);color:var(--silk-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:16px;font-size:14px;line-height:20px;display:flex}.frame{background:var(--line);border-radius:var(--radius-lg);clip-path:polygon(0 0, calc(100% - var(--chamfer-lg)) 0, 100% var(--chamfer-lg), 100% 100%, 0 100%);padding:1px}.frame-tall{height:100%;min-height:480px}.frame-detail{height:100%;min-height:440px}.frame-in{background:var(--substrate-sunken);clip-path:polygon(0 0,calc(100% - 15.6px) 0,100% 15.6px,100% 100%,0 100%);border-radius:9px;justify-content:center;align-items:center;gap:24px;height:100%;padding:24px;display:flex;overflow:hidden}.frame-in>img{object-fit:contain;max-width:100%;height:auto;max-height:100%}.ph-label{font:500 12px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--silk-muted);text-align:center}.phone{aspect-ratio:9/19;border:1px solid var(--line-strong);background:var(--substrate-raised);border-radius:28px;flex:none;justify-content:center;align-items:center;width:168px;padding:16px;display:flex;overflow:hidden}.phone:has(>img){aspect-ratio:auto;padding:0}.phone.phone-offset{margin-top:48px}.phone>img{width:100%;height:auto;display:block}.app-icon{background:var(--substrate-raised);border:1px solid var(--line-strong);border-radius:16px;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.app-icon>img{object-fit:cover;width:100%;height:100%}.app-icon .ph-label{font-size:10px}.meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:0;padding:20px 0;display:grid}.meta dt{font:500 12px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--silk-muted);margin:0 0 4px}.meta dd{color:var(--silk);margin:0;font-size:15px;line-height:22px}.details{margin:0;padding:0 24px}.details>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.details dd{text-align:right;margin:0;font-size:15px}.highlights{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.highlights li{border-bottom:1px solid var(--line);align-items:baseline;gap:16px;padding:16px 0;display:flex}.policy-list{margin:0;padding-left:24px;list-style:outside}.policy-list li{padding:4px 0;display:list-item}.breadcrumb ol{color:var(--silk-muted);gap:8px;margin:0;padding:0;list-style:none}.breadcrumb a{color:var(--silk-muted)}.breadcrumb [aria-current]{color:var(--silk)}.code{background:var(--substrate-sunken);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;margin:0;overflow:hidden}.code-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:45px;padding:8px 8px 8px 16px;display:flex}.code-copy{font:500 13px/1 var(--font-sans);height:28px;color:var(--silk-muted);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:0 12px}.code-copy:hover{color:var(--silk)}.code-wide{width:100%;max-width:440px}.code pre{font:400 14px/22px var(--font-mono);color:var(--silk);margin:0;padding:16px;overflow-x:auto}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field-label{font:500 14px/20px var(--font-sans);color:var(--silk)}.input{font:400 16px/24px var(--font-sans);background:var(--substrate);width:100%;height:44px;color:var(--silk);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:0 16px}select.input{padding:0 12px}textarea.input{resize:vertical;height:auto;padding:10px 16px}.input[aria-invalid=true]{border-color:var(--fault)}.field-error{color:var(--fault);margin:0;font-size:14px;line-height:20px}.field-error:empty{display:none}.form-alert{border-radius:var(--radius-md);background:var(--fault-soft);color:var(--fault);margin:0;padding:12px 16px;font-size:15px}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.nav{z-index:10;background:var(--substrate);border-bottom:1px solid var(--line);position:sticky;top:0}.nav-in{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;height:72px;margin:0 auto;padding:0 32px;display:flex}.nav-primary{align-items:center;gap:16px;display:flex}.nav-links{gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav-link{border-radius:var(--radius-md);height:40px;color:var(--silk-muted);font:500 15px/1 var(--font-sans);align-items:center;padding:0 12px;text-decoration:none;display:inline-flex}.nav-link:hover{color:var(--silk);background:var(--substrate-raised)}.nav-link[aria-current=page]{color:var(--copper)}.nav-right{align-items:center;gap:8px;display:flex}.menu-btn{border:1px solid var(--line-strong);border-radius:var(--radius-md);width:44px;height:44px;color:var(--silk);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:none}.mobile-menu{display:none}.logo-link{display:flex}.logo{width:auto;height:32px;display:block}.logo-light,[data-theme=light] .logo-dark{display:none}[data-theme=light] .logo-light{display:block}.footer{border-top:1px solid var(--line);background:var(--substrate-sunken);padding:40px 0}.foot{align-items:center;gap:24px;display:flex}.foot-logo{flex:none;display:flex}.foot-trace{background:var(--line);flex:1;min-width:48px;height:2px;position:relative}.foot-trace:before{content:"";border:2px solid var(--line);background:var(--substrate-sunken);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-1px}.foot-trace:after{content:"";background:var(--copper);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;right:-1px}.foot-copy{font:500 12px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--silk-muted);flex:none;margin:0}.hero-art{justify-self:end;width:100%;max-width:560px;height:auto}:root{--spark:color-mix(in srgb, var(--copper) 40%, #fff)}.circuit .pulse,.circuit .spark,.circuit .ring,.bus-track{display:none}@media (width<=640px){.bus{padding-left:28px;position:relative}.bus-track{background:var(--line);width:2px;display:block;position:absolute;top:32px;bottom:32px;left:7px}.bus-fill{background:var(--copper);transform-origin:top;transform:scaleY(var(--fill,0));position:absolute;inset:0}.bus-head{left:-4px;top:calc(var(--fill,0) * 100% - 5px);background:var(--spark);width:10px;height:10px;box-shadow:0 0 10px 2px var(--copper);opacity:var(--head,0);border-radius:50%;transition:opacity .3s;position:absolute}.bus>.card:before{content:"";background:radial-gradient(circle at 5px 50%, var(--tap,var(--line-strong)) 3.5px, transparent 4px), linear-gradient(var(--tap,var(--line)), var(--tap,var(--line))) 5px 50% / 100% 2px no-repeat;width:26px;height:10px;position:absolute;top:27px;left:-26px}.bus>.card{transition:border-color .4s,box-shadow .4s}.bus>.card.is-on{--tap:var(--copper);border-color:var(--copper);box-shadow:0 0 0 1px var(--copper-soft), 0 8px 32px -12px color-mix(in srgb, var(--copper) 45%, transparent)}.bus>.card.is-on:after{background:linear-gradient(45deg, transparent calc(50% - .5px), var(--copper) calc(50% - .5px), var(--copper) calc(50% + .5px), var(--card-ground,var(--substrate)) calc(50% + .5px))}}.foot-spark{display:none}@media (prefers-reduced-motion:no-preference){.circuit .pulse,.circuit .spark,.circuit .ring{display:inline}.circuit .draw{stroke-dasharray:1;animation:.5s cubic-bezier(.3,0,.2,1) both draw}.circuit .draw-trunk{animation-duration:.35s}.circuit .draw-branch{animation-delay:.35s}.circuit .pop{transform-box:fill-box;transform-origin:50%;animation:.35s cubic-bezier(.3,1.6,.5,1) both pop}.circuit .pop-junction{animation-delay:.3s}.circuit .pop-out{animation-delay:.8s}.circuit .fade-in{animation:.4s .9s both fade-in}.circuit .pulse{stroke:var(--spark);stroke-width:4px;stroke-linecap:round;stroke-dasharray:48 1000;animation:3.6s linear 1.4s infinite both flow}.circuit :is(.junction,.out){transform-box:fill-box;transform-origin:50%}.circuit .junction{animation:.35s cubic-bezier(.3,1.6,.5,1) .3s both pop,3.6s 1.4s infinite junction-hit}.circuit .out{animation:.35s cubic-bezier(.3,1.6,.5,1) .8s both pop,3.6s 1.4s infinite node-hit}.circuit .ring{fill:none;stroke:var(--spark);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:3.6s 1.4s infinite both ring}.circuit .ring-src{animation-name:ring-src}.circuit .label-out{animation:.4s .9s both fade-in,3.6s 1.4s infinite label-hit}.circuit .out.late{animation-delay:.8s,1.55s}.circuit .ring.late{animation-delay:1.55s}.circuit .label-out.late{animation-delay:.9s,1.55s}.circuit .spark{stroke:var(--trace);stroke-width:2px;stroke-linecap:round;stroke-dasharray:10 200;opacity:.8;animation:spark var(--t,6s) var(--d,0s) linear infinite both}.circuit .pad{animation:pad-hit var(--t,6s) var(--d,0s) infinite both}.circuit :is(.draw,.pop,.fade-in,.pulse,.junction,.out,.ring,.label-out,.spark,.pad){animation-play-state:paused}.circuit.is-live :is(.draw,.pop,.fade-in,.pulse,.junction,.out,.ring,.label-out,.spark,.pad){animation-play-state:running}@media (scripting:enabled){[data-reveal]{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(20px)}[data-reveal].is-in{opacity:1;transform:none}}.foot-trace:before,.foot-trace:after{z-index:1}.foot-spark{display:block;position:absolute;inset:0;overflow:hidden;container-type:inline-size}.foot-spark:before{content:"";background:linear-gradient(90deg, transparent, var(--spark));width:64px;height:2px;box-shadow:0 0 8px var(--copper);animation:4.5s cubic-bezier(.5,0,.5,1) 1s infinite paused foot-run;position:absolute;top:0;left:0;transform:translate(-64px)}.foot-trace:after{animation:4.5s 1s infinite paused foot-hit}.foot-trace.is-live .foot-spark:before,.foot-trace.is-live:after{animation-play-state:running}}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes fade-in{0%{opacity:0}}@keyframes flow{0%{stroke-dashoffset:48px}60%,to{stroke-dashoffset:-430px}}@keyframes junction-hit{0%,11%,24%,to{fill:var(--copper)}15%{fill:var(--spark)}}@keyframes node-hit{0%,40%,70%,to{fill:var(--substrate)}44%{fill:var(--spark)}}@keyframes ring{0%,42%{opacity:0;transform:scale(1)}43%{opacity:.9;transform:scale(1)}70%,to{opacity:0;transform:scale(2.6)}}@keyframes ring-src{0%{opacity:.8;transform:scale(1)}25%,to{opacity:0;transform:scale(2)}}@keyframes label-hit{0%,40%,80%,to{fill:var(--silk-muted)}46%{fill:var(--silk)}}@keyframes spark{0%{stroke-dashoffset:10px}40%,to{stroke-dashoffset:-100px}}@keyframes pad-hit{0%,34%,50%,to{stroke:var(--line)}37%{stroke:var(--trace)}}@keyframes foot-run{0%{transform:translate(-64px)}55%,to{transform:translate(100cqw)}}@keyframes foot-hit{0%,50%,75%,to{box-shadow:none}56%{box-shadow:0 0 0 4px var(--copper-soft), 0 0 14px var(--copper)}}@media (width<=960px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.split-wide,.split-contact{grid-template-columns:minmax(0,1fr);gap:48px}.hero-art{justify-self:start}}@media (width<=880px){.nav-links,.nav-cta{display:none}.menu-btn{display:inline-flex}.mobile-menu:not([hidden]){border-top:1px solid var(--line);gap:4px;padding:8px 16px 24px;display:grid}.mobile-menu a{border-radius:var(--radius-md);min-height:48px;color:var(--silk);font:500 17px/1 var(--font-sans);align-items:center;padding:0 12px;text-decoration:none;display:flex}.mobile-menu a:hover{background:var(--substrate-raised)}.mobile-menu a[aria-current=page]{color:var(--copper)}}@media (width<=760px){.foot{flex-wrap:wrap;gap:16px}.foot-logo{order:1}.foot-trace{flex-basis:100%;order:2;margin:4px 0}.foot-copy{flex-basis:100%;order:3}}@media (width<=640px){.wrap,.nav-in{padding:0 16px}.section{padding:64px 0}.section-hero{padding:56px 0 64px}.section-intro{padding-bottom:40px}.section-detail{padding-top:24px;padding-bottom:40px}.section-flush{padding-top:0}.d-xl{letter-spacing:-.02em;font-size:44px;line-height:50px}.d-l{letter-spacing:-.01em;font-size:28px;line-height:34px}.h2{font-size:20px;line-height:28px}.lead{font-size:17px;line-height:26px}.g3,.g2{grid-template-columns:minmax(0,1fr)}.card.split,.card-md,.card-lg{gap:24px;padding:20px}.frame-tall,.frame-detail{min-height:300px}.row>.btn{flex:auto}.hero-art{max-width:100%}.code pre{font-size:13px}.phone{border-radius:22px;width:128px}.frame-in{gap:12px}.sec-head{margin-bottom:32px}.hide-sm{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
