@font-face { font-family:Archivo; src:url('/fonts/Archivo-VariableFont_wdth,wght.ttf') format('truetype'); font-weight:100 900; font-stretch:62% 125%; font-display:swap; }
:root { color-scheme:dark; --ground:#0B0D0E; --carbon:#111416; --graphite:#191D20; --line:#262C30; --steel:#8D979D; --ash:#E2E6E6; --signal:#5CC4B8; color:var(--ash); background:var(--ground); font-family:Archivo,Arial,sans-serif; font-synthesis:none; font-variation-settings:'wdth' 100; font-variant-numeric:tabular-nums; }
* { box-sizing:border-box; }
body { margin:0; font-size:1rem; line-height:1.6; }
a { color:inherit; text-underline-offset:.25em; }
button,input,code,pre { font:inherit; }
button,input { border-radius:0; }
a:hover { text-decoration-thickness:2px; }
:focus-visible { outline:2px solid var(--signal); outline-offset:5px; }
[hidden] { display:none !important; }
.wrap { width:min(1600px,calc(100% - 80px)); margin-inline:auto; }
.skip { position:absolute; left:20px; top:-100px; z-index:10; padding:12px; background:var(--ash); color:var(--ground); }
.skip:focus { top:10px; }
.masthead { min-height:80px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid var(--line); }
.wordmark { font-size:1.1rem; font-weight:600; text-decoration:none; }
.wordmark span { color:var(--steel); font-size:.875rem; font-weight:400; margin-left:8px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { overflow-wrap:anywhere; font-variation-settings:'wdth' 86; font-weight:600; line-height:1.1; letter-spacing:-.025em; }
h1 { font-size:clamp(2.35rem,3.5vw,4rem); margin-bottom:24px; }
h2 { font-size:clamp(1.9rem,2.8vw,3rem); margin-bottom:22px; }
h3 { font-size:1.45rem; margin-top:28px; }
p { margin-bottom:18px; }
.label { font-size:.875rem; font-variation-settings:'wdth' 116; text-transform:uppercase; letter-spacing:.1em; color:var(--steel); }
.small,figcaption { font-size:.875rem; color:var(--steel); }
.lede { font-size:1.15rem; }
.hero { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); gap:40px; padding:56px 0; align-items:center; }
.hero>* { min-width:0; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 16px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 18px; background:var(--graphite); border:1px solid var(--steel); color:var(--ash); font-weight:600; text-decoration:none; cursor:pointer; }
.button:hover { background:var(--line); }
.buy,.buy:hover { background:var(--signal); border-color:var(--signal); color:#06110F; }
.button[aria-disabled=true] { cursor:default; }
figure { margin:0; }
.plate { position:relative; min-width:0; padding:12px; background:var(--carbon); border:1px solid var(--line); }
.plate::before,.plate::after { content:''; position:absolute; width:14px; height:14px; pointer-events:none; border-color:var(--steel); }
.plate::before { left:-1px; top:-1px; border-left:1px solid; border-top:1px solid; }
.plate::after { right:-1px; bottom:-1px; border-right:1px solid; border-bottom:1px solid; }
.plate img,.plate video { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; background:var(--ground); }
figcaption { margin-top:12px; }
.hero-plate .button { margin-top:14px; }
.hero-plate p { margin:12px 0 0; }
.panel { padding:52px 0; border-top:1px solid var(--line); scroll-margin-top:24px; }
.evidence { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:64px; align-items:start; }
.text-panel { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:64px; }
.text-panel>div { min-width:0; max-width:900px; }
.price { font-size:3rem; font-variation-settings:'wdth' 86; line-height:1.2; }
.price span { display:block; font-size:1.1rem; margin-top:8px; }
.counter { min-height:5.2em; font-size:1rem; color:var(--steel); }
.downloads { padding:0; list-style:none; }
.downloads li { padding:16px 0; border-top:1px solid var(--line); }
.downloads a,.checksum,.session { overflow-wrap:anywhere; }
.checksum { display:block; margin-top:6px; }
#checkout-status { min-height:4.8em; }
#downloads { margin-top:40px; }
details { border-top:1px solid var(--line); }
details:last-child { border-bottom:1px solid var(--line); }
summary { cursor:pointer; padding:20px 0; font-size:1.1rem; }
details p { color:var(--steel); }
.footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; padding:28px 0; border-top:1px solid var(--line); color:var(--steel); font-size:.875rem; }
.footer nav { display:flex; flex-wrap:wrap; gap:24px; }
.document { max-width:850px; padding:56px 0 80px; min-height:70vh; }
.document h2 { font-size:1.8rem; margin-top:38px; }
.document p,.document li { overflow-wrap:anywhere; }
.note { padding:16px 20px; background:var(--carbon); border-left:2px solid var(--steel); color:var(--steel); }
.claim-card { border:1px solid var(--line); background:var(--carbon); padding:24px; margin-top:28px; }
.claim-card h2 { margin-top:0; }
.key-row { display:flex; flex-wrap:wrap; gap:12px; margin:8px 0; }
.key-row input { flex:1 1 22rem; min-width:0; max-width:100%; background:var(--ground); color:var(--ash); border:1px solid var(--steel); padding:12px; }
pre { white-space:pre-wrap; overflow-wrap:anywhere; padding:16px; background:var(--ground); border:1px solid var(--line); }
@media (max-width:1000px) { .wrap { width:calc(100% - 40px); } .hero { gap:28px; } .evidence,.text-panel { gap:28px; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); } }
@media (max-width:720px) { .hero,.evidence,.text-panel { grid-template-columns:minmax(0,1fr); gap:28px; } .hero { padding-top:28px; } .masthead { min-height:72px; gap:12px; } .wordmark span { display:block; margin:0; } .masthead>a:last-child { font-size:.875rem; } .panel { padding:36px 0; } h1 { font-size:2.35rem; } .document { padding-top:32px; } .claim-card { padding:18px; } .counter { min-height:6.5em; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
