@font-face{font-family:Inter;src:url(/assets/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/assets/fonts/plex-mono.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--paper:#f7f6f2;--surface:#fff;--sunken:#efede6;--ink:#1b1d1a;--ink-2:#4a4e47;--ink-3:#6b6f66;--rule:#e3e1d9;--rule-strong:#83867d;--signal:#a33a1c;--verified:#2f6b45;--unverified:#8a5a00;--unverified-bg:#fbf3e2;--cota:#4b5283;--error:#9e3120;--night:#1b1d1a;--night-ink:#d9dbd4;
--t-display:clamp(2.5rem,1.57rem + 3.81vw,4.5rem);--l-display:clamp(2.75rem,1.82rem + 3.81vw,4.75rem);
--t-title:clamp(1.75rem,1.47rem + 1.14vw,2.5rem);--l-title:clamp(2rem,1.72rem + 1.14vw,2.75rem);
--t-lead:clamp(1.125rem,1.08rem + .19vw,1.25rem);--t-body:clamp(.9375rem,.914rem + .1vw,1rem);--t-label:.75rem;
--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Plex Mono",ui-monospace,Menlo,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--t-body)/1.5 var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:inherit}.wrap{width:min(1160px,100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:20}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 4px var(--paper),0 0 0 6px var(--ink)}
.mono{font-family:var(--mono);font-size:var(--t-label);line-height:16px;letter-spacing:0}.num{font-variant-numeric:tabular-nums}
.nav{position:sticky;top:0;z-index:10;height:56px;background:rgb(247 246 242 / .94);border-bottom:1px solid var(--rule)}
.nav-row{height:56px;display:flex;align-items:center;gap:24px}.logo{font-weight:600;letter-spacing:-.02em;text-decoration:none;font-size:1.0625rem}
.nav-links{display:flex;gap:20px;margin-right:auto}.nav-links a,.btn-text{text-decoration:none;color:var(--ink-2);font-size:.9375rem;font-weight:500}
.nav-links a:hover,.btn-text:hover{color:var(--ink)}.nav-actions{display:flex;align-items:center;gap:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:8px;font:500 .9375rem/1 var(--sans);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background-color .16s ease-out,transform .16s ease-out}
.btn-primary{background:var(--signal);color:#fff}.btn-primary:hover{background:#8d3116}.btn-ghost{border-color:var(--rule-strong);color:var(--ink)}.btn-ghost:hover{background:var(--sunken)}
.nav .btn{min-height:36px;padding:0 14px}.link{color:var(--ink-2);font-weight:500}
.sheet{display:none;position:relative}.sheet summary{list-style:none;cursor:pointer;font-weight:500;color:var(--ink-2);padding:8px 0}.sheet summary::-webkit-details-marker{display:none}
.sheet-panel{position:absolute;right:0;top:44px;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:8px;display:grid;min-width:200px}.sheet-panel a{padding:12px;text-decoration:none}
.hero{text-align:center;padding:88px 0 56px}.eyebrow{color:var(--cota);margin:0 0 20px}
.display{font-size:var(--t-display);line-height:var(--l-display);font-weight:600;letter-spacing:-.03em;margin:0 auto;max-width:12ch}
.lead{font-size:var(--t-lead);line-height:1.5;color:var(--ink-2);max-width:38rem;margin:20px auto 0}
.cta-row{display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:32px}
.ficha{margin:56px auto 0;max-width:440px;text-align:left;background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:24px}
.ficha-head{display:flex;justify-content:space-between;align-items:center;color:var(--ink-3)}.ficha-name{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin:16px 0 4px}.ficha-spec{color:var(--ink-2);margin:0}
.ficha-price{display:flex;align-items:baseline;gap:10px;margin-top:20px}.price{font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.unit{color:var(--ink-3);font-size:.875rem;font-weight:400;letter-spacing:0}
.cota-line{height:12px;margin-top:8px;border-left:1px solid var(--cota)}.cota-line svg{width:100%;height:2px;display:block;margin-top:5px}.cota-line line{stroke:var(--cota);stroke-width:2;vector-effect:non-scaling-stroke}
.cota{color:var(--cota);margin:6px 0 0}.demo-note{color:var(--ink-3);font-size:var(--t-label);margin-top:12px}
.badge{display:inline-flex;gap:4px;font-size:var(--t-label);font-weight:500;border-radius:999px;padding:2px 8px}.ok{color:var(--verified);background:#eaf2ec}.warn{color:var(--unverified);background:var(--unverified-bg)}
.proof{border-block:1px solid var(--rule);background:var(--surface)}.proof-row{list-style:none;padding:0;margin-block:0;display:grid;grid-template-columns:repeat(3,1fr)}
.proof-row li{padding:28px 0;color:var(--ink-2)}.proof-row li+li{border-left:1px solid var(--rule);padding-left:28px}.proof-row strong{display:block;color:var(--ink);font-size:var(--t-title);line-height:var(--l-title);font-weight:600;letter-spacing:-.02em}
.title{font-size:var(--t-title);line-height:var(--l-title);font-weight:600;letter-spacing:-.02em;margin:0}
.features{padding:104px 0}.feat-grid{display:grid;grid-template-columns:5fr 7fr;gap:56px;margin-top:40px}
.feat-list{list-style:none;padding:0;margin:0}.feat{display:grid;grid-template-columns:40px 1fr;gap:4px 12px;padding:28px 0;border-top:1px solid var(--rule);min-height:44vh;opacity:.45;transition:opacity .2s ease-out}
.feat.active,.feat:focus-within{opacity:1}.feat .n{color:var(--cota);padding-top:4px}.feat h3{margin:0 0 6px;font-size:1.125rem;font-weight:600}.feat p{margin:0;color:var(--ink-2)}
.panel-m{display:none}.stage{position:sticky;top:96px;align-self:start;height:420px;background:var(--surface);border:1px solid var(--rule);border-radius:14px;overflow:hidden}
.panel{position:absolute;inset:0;padding:28px;opacity:0;transition:opacity .24s ease-out}.panel.on{opacity:1}
.demo{width:100%;border-collapse:collapse;font-size:.875rem}.demo th{text-align:left;font-weight:500;color:var(--ink-3);border-bottom:1px solid var(--rule-strong);padding:8px 6px}.demo td{border-bottom:1px solid var(--rule);padding:10px 6px}
.panel-title{font-weight:600;margin:0 0 16px}.specs{margin:0;display:grid;gap:0}.specs div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule);flex-wrap:wrap}.specs dt{color:var(--ink-2)}.specs dd{margin:0;font-weight:500}
.row-state{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.search{display:flex;justify-content:space-between;border:1px solid var(--rule-strong);border-radius:10px;padding:12px 14px}kbd{font-family:var(--mono);font-size:var(--t-label);color:var(--ink-3);border:1px solid var(--rule);border-radius:4px;padding:1px 6px}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--rule);background:var(--sunken);border-radius:999px;padding:4px 10px;font-size:.8125rem}.count{color:var(--ink-3);font-size:.875rem}
.soon{list-style:none;padding:0;margin:0}.soon li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--rule)}.tag{font-size:var(--t-label);color:var(--ink-3)}
.night{background:var(--night);color:var(--night-ink);padding:96px 0}.night .title{color:#fff;max-width:20ch}
.method{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;font-size:.875rem}.method li{border-top:1px solid #3a3d38;padding-top:16px}.method span{color:#9aa0c8;margin-right:8px}
.access{text-align:center;padding:112px 0}.access .title{max-width:22ch;margin-inline:auto}.muted{color:var(--ink-3);margin-top:16px}
.footer{border-top:1px solid var(--rule);color:var(--ink-2);font-size:.875rem}.foot-row{display:flex;gap:24px;flex-wrap:wrap;padding:28px 0}.foot-row a{text-decoration:none}.foot-row a:hover{text-decoration:underline}
/* motion: visible by default; JS opts in */
.js .reveal{opacity:0;transform:translateY(12px)}.js .reveal.in{opacity:1;transform:none;transition:opacity .48s cubic-bezier(.215,.61,.355,1),transform .48s cubic-bezier(.215,.61,.355,1)}
.js .draw{stroke-dasharray:100;stroke-dashoffset:100}.js .play .draw{stroke-dashoffset:0;transition:stroke-dashoffset .6s ease-out}
.js .calibrate{filter:blur(6px)}.js .play .calibrate{filter:none;transition:filter .4s ease-out .6s}
@media (max-width:1023px){.feat-grid{grid-template-columns:1fr}.stage{display:none}.feat{min-height:0;opacity:1;grid-template-columns:32px 1fr}.panel-m{display:block;grid-column:1/-1;margin-top:16px}.panel-m .panel{position:static;opacity:1;background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:20px;overflow-x:auto}}
@media (max-width:720px){.nav-links,.nav-request{display:none}.sheet{display:block}.proof-row{grid-template-columns:1fr}.proof-row li+li{border-left:0;border-top:1px solid var(--rule);padding-left:0}.method{grid-template-columns:1fr}.hero{padding-top:56px}.demo th:nth-child(2),.demo td:nth-child(2){display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.js .reveal.in{transform:none;transition:opacity .15s}.js .draw{stroke-dashoffset:0}.js .calibrate{filter:none}.panel{transition:opacity .15s}}
/* login */
.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,400px);background:var(--paper);border:1px solid var(--rule);border-radius:16px;padding:32px;background:var(--surface)}
.auth-card h1{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:20px 0 24px}.field{display:grid;gap:6px;margin-bottom:16px;font-weight:500;font-size:.875rem}
.field input{font:400 1rem var(--sans);min-height:44px;padding:0 12px;border:1px solid var(--rule-strong);border-radius:8px;background:var(--surface);color:var(--ink)}
.field input[aria-invalid=true]{border-color:var(--error)}.auth .btn{width:100%;min-width:0}.msg{min-height:22px;margin:0 0 16px;font-size:.875rem}.msg.err{color:var(--error)}.msg.okm{color:var(--verified)}
.auth-foot{display:flex;justify-content:space-between;margin-top:24px;font-size:.875rem;color:var(--ink-2)}
.legal{max-width:720px;padding:64px 0 96px}.legal h1{margin-bottom:20px}.legal h2{font-size:1.125rem;font-weight:600;margin:36px 0 8px}.legal p,.legal li{color:var(--ink-2)}.legal ul{padding-left:20px}
.notice{background:var(--unverified-bg);color:var(--unverified)!important;border:1px solid #ecd9b0;border-radius:10px;padding:14px 16px}
