@import url('https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62..125,100..900&display=swap');

:root { color-scheme: dark; --ground:#0B0D0E; --carbon:#111416; --graphite:#191D20; --line:#262C30; --steel:#8D979D; --ash:#E2E6E6; --signal:#5CC4B8; font-family:'Archivo',Arial,sans-serif; color:var(--ash); background:var(--ground); font-synthesis:none; }
* { box-sizing:border-box; }
body { margin:0; font-size:1rem; line-height:1.65; }
a { color:inherit; text-underline-offset:.25em; }
a:hover { text-decoration-thickness:2px; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--signal); outline-offset:5px; }
[hidden] { display:none !important; }
::selection { background:var(--ash); color:var(--ground); }
.wrap { width:min(1160px,calc(100% - 64px)); margin-inline:auto; }
.skip { position:absolute; top:-100px; left:24px; padding:12px; background:var(--ash); color:var(--ground); z-index:10; }
.skip:focus { top:12px; }
.masthead { display:flex; align-items:center; justify-content:space-between; min-height:88px; gap:24px; border-bottom:1px solid var(--line); }
.wordmark { text-decoration:none; font-weight:600; letter-spacing:.07em; font-variation-settings:'wdth' 116; text-transform:uppercase; font-size:.875rem; }
.masthead-note,.label { color:var(--steel); font-size:.875rem; text-transform:uppercase; letter-spacing:.10em; font-variation-settings:'wdth' 116; }
.hero { padding:80px 0 0; }
.eyebrow { margin:0 0 24px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.05; font-weight:600; font-variation-settings:'wdth' 86; }
h1 { font-size:clamp(3rem,6.4vw,5.6rem); max-width:900px; letter-spacing:-.04em; margin-bottom:28px; }
h2 { font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.025em; margin-bottom:24px; }
h3 { font-size:1.5rem; line-height:1.2; margin-bottom:14px; }
.lede { color:var(--steel); font-size:1.2rem; line-height:1.65; max-width:690px; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin:32px 0; }
.button { display:inline-flex; justify-content:center; align-items:center; padding:13px 20px; min-height:48px; border:1px solid var(--steel); background:var(--graphite); color:var(--ash); text-decoration:none; font-weight:600; cursor:pointer; }
.button:hover { background:var(--line); }
.buy { color:var(--ground); background:var(--signal); border-color:var(--signal); }
.buy:hover { background:var(--signal); text-decoration:underline; }
.small { font-size:.875rem; color:var(--steel); }
.hero-device { margin:52px 0 0; padding:24px 0 18px; border-top:1px solid var(--line); }
.device-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.reliability { width:100%; height:auto; display:block; overflow:visible; }
.reliability .grid { stroke:var(--line); stroke-width:1; }
.reliability .curve { fill:none; stroke:var(--steel); stroke-width:1.5; }
.reliability .dot { fill:var(--signal); transform-box:fill-box; transform-origin:center; animation:reliability-pulse 1.3s ease-out 1; }
@keyframes reliability-pulse { 0% { opacity:.35; transform:scale(.65); } 55% { opacity:1; transform:scale(1.15); } 100% { opacity:1; transform:scale(1); } }
section.panel { padding:68px 0; border-top:1px solid var(--line); scroll-margin-top:28px; }
.section-heading { display:grid; grid-template-columns:230px 1fr; gap:28px; }
.section-heading>.label { padding-top:8px; }
.proof-image { display:block; width:100%; height:auto; border:1px solid var(--line); }
figure { margin:0; }
figcaption { margin-top:20px; color:var(--steel); max-width:880px; }
.metrics { display:grid; grid-template-columns:repeat(3,1fr); margin:28px 0; border-block:1px solid var(--line); }
.metric { padding:20px 24px 20px 0; }
.metric+.metric { border-left:1px solid var(--line); padding-left:24px; }
.metric strong { font-size:2.4rem; font-weight:600; line-height:1.2; display:block; font-variation-settings:'wdth' 86; }
.metric span { color:var(--steel); font-size:.875rem; }
.three-col { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.use { padding-top:26px; border-top:1px solid var(--line); }
.use p { color:var(--steel); margin-bottom:0; }
.steps { list-style:none; counter-reset:step; padding:0; margin:8px 0 32px; }
.steps li { display:grid; grid-template-columns:1fr; gap:18px; padding:20px 0; border-top:1px solid var(--line); }
.steps p { margin:6px 0 0; color:var(--steel); }
code { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.9em; overflow-wrap:anywhere; }
pre { padding:22px; background:var(--carbon); border:1px solid var(--line); white-space:pre-wrap; overflow-wrap:anywhere; margin:0; line-height:1.8; }
.note { padding:18px 20px; border-left:2px solid var(--steel); background:var(--carbon); color:var(--steel); font-size:.875rem; }
.inventory { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }
.inventory li { padding:22px 0; border-top:1px solid var(--line); }
.inventory strong { display:block; margin-bottom:8px; }
.inventory p { color:var(--steel); margin:0; }
.requirements { display:flex; flex-wrap:wrap; gap:12px; padding:0; list-style:none; }
.requirements li { padding:14px 18px; border:1px solid var(--line); background:var(--carbon); }
.price-card { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:40px; background:var(--carbon); border:1px solid var(--line); }
.price { margin:8px 0 16px; font-size:5rem; font-weight:600; font-variation-settings:'wdth' 86; line-height:1; letter-spacing:-.04em; }
.price span { font-size:1rem; letter-spacing:0; font-weight:400; color:var(--steel); }
.price-card ul { padding-left:20px; margin:0 0 28px; }
.price-card .button { width:100%; }
details { border-top:1px solid var(--line); }
details:last-child { border-bottom:1px solid var(--line); }
summary { padding:22px 34px 22px 0; font-size:1.1rem; cursor:pointer; position:relative; list-style:none; }
summary::-webkit-details-marker { display:none; }
summary::after { content:'+'; position:absolute; right:4px; color:var(--steel); }
details[open] summary::after { content:'−'; }
details p { color:var(--steel); padding-right:28px; max-width:800px; }
.footer { border-top:1px solid var(--line); padding:30px 0 40px; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; color:var(--steel); font-size:.875rem; }
.footer nav { display:flex; gap:24px; flex-wrap:wrap; }
.footer p { margin:0; }
.document { max-width:780px; padding:72px 0 88px; min-height:65vh; }
.document h1 { font-size:clamp(2.8rem,6vw,4.5rem); }
.document h2 { font-size:1.8rem; margin-top:40px; }
.document p,.document li { color:var(--steel); }
.document strong { color:var(--ash); }
.placeholder { overflow-wrap:anywhere; }
.claim-card { padding:28px; background:var(--carbon); border:1px solid var(--line); margin-top:32px; }
.claim-card h2 { margin-top:0; }
.key-label { display:block; margin:24px 0 8px; }
.key-row { display:flex; gap:12px; align-items:stretch; }
.key-row input { min-width:0; width:100%; background:var(--ground); border:1px solid var(--line); color:var(--ash); padding:12px; font-family:ui-monospace,monospace; font-size:1rem; border-radius:0; }
.claim-card pre { margin:16px 0 24px; }
.claim-card .small { margin-top:12px; margin-bottom:0; }
.session { display:block; overflow-wrap:anywhere; margin-top:10px; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; scroll-behavior:auto !important; } }
@media (max-width:760px) { .wrap { width:calc(100% - 40px); } .masthead { min-height:72px; } .masthead-note { font-size:.75rem; text-align:right; max-width:125px; } .hero { padding-top:48px; } h1 { font-size:3.4rem; } .section-heading { grid-template-columns:1fr; gap:8px; } section.panel { padding:44px 0; } .three-col,.inventory,.price-card { grid-template-columns:1fr; } .three-col { gap:24px; } .price-card { padding:24px; gap:20px; } .metrics { grid-template-columns:1fr; } .metric+.metric { padding-left:0; border-left:0; border-top:1px solid var(--line); } .metric { display:flex; align-items:center; gap:22px; padding:16px 0; } .metric strong { min-width:120px; } .document { padding-top:44px; } .claim-card { padding:20px; } .key-row { flex-wrap:wrap; } .footer { flex-direction:column; } }
