@font-face{font-family:Lora;src:url(fonts/lora.woff) format("woff");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Lora;src:url(fonts/lora-italic.woff) format("woff");font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-Medium.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-SemiBold.woff) format("woff");font-weight:600;font-display:swap}
:root{--ink:#0d0f12;--ink2:#14171c;--steel:#8c95a0;--steel2:#3a414b;--bone:#ece6d6;--bone2:#d9d1bb;--brass:#c9a45c;--oxide:#7a2c22;
 --pad:clamp(44px,8vw,128px);--serif:Lora,Georgia,"Times New Roman",serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--ink);color:var(--bone);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
/* blade: scroll progress */
.blade{position:fixed;left:22px;top:0;bottom:0;width:10px;z-index:5;pointer-events:none}
.blade:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--steel2)}
.blade:after{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:repeating-linear-gradient(to bottom,var(--steel2) 0 1px,transparent 1px 16px);-webkit-mask:linear-gradient(#000,#000);opacity:.8}
.blade i{position:absolute;left:-1px;top:0;width:3px;height:calc(var(--p,0)*100%);background:linear-gradient(var(--steel2),var(--brass))}
.blade b{position:absolute;left:-4px;top:calc(var(--p,0)*100% - 5px);width:9px;height:9px;background:var(--brass);transform:rotate(45deg)}
/* header */
header{display:flex;align-items:center;gap:32px;padding:22px var(--pad) 0;max-width:1480px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:600 22px/1 var(--serif);letter-spacing:.01em;margin-right:auto}
.brand img{width:30px;height:36px;object-fit:contain}
header nav{display:flex;gap:28px;font-size:15px}header nav a{text-decoration:none;color:var(--steel);padding:6px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
header nav a:hover,header nav a[aria-current]{color:var(--bone);border-color:var(--brass)}
.btn{display:inline-block;text-decoration:none;font:600 16px/1 var(--sans);padding:15px 24px;background:var(--brass);color:#17120a;border-radius:2px;transition:background .2s,transform .2s}
.btn:hover{background:#dbb877}.btn.line{background:none;color:var(--bone);box-shadow:inset 0 0 0 1px var(--steel2)}.btn.line:hover{box-shadow:inset 0 0 0 1px var(--brass)}
header .btn{padding:11px 18px;font-size:15px}
main,footer{max-width:1480px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;margin:0}
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:center;padding:clamp(40px,8vh,96px) 0 clamp(64px,10vh,120px)}
.hero h1{font-size:clamp(46px,7.4vw,112px);line-height:1;letter-spacing:-.03em;margin-bottom:28px}
.hero p{font-size:clamp(18px,1.6vw,21px);max-width:34em;color:var(--bone2);margin:0 0 36px}
.acts{display:flex;flex-wrap:wrap;gap:12px}
.emb{position:relative}.emb img{width:100%;max-width:440px;margin-left:auto;filter:drop-shadow(0 30px 60px rgba(201,164,92,.22))}
.facts{margin:28px 0 0 auto;max-width:440px;border-top:1px solid var(--steel2)}
.facts div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--steel2);font-size:15px}.facts dt{color:var(--steel)}.facts dd{margin:0;font-weight:500}
dl.facts{margin-bottom:0}
/* how */
.how{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,80px);padding:clamp(56px,9vh,110px) 0;border-top:1px solid var(--steel2)}
.how>h2{font-size:clamp(34px,4vw,56px);line-height:1.05;position:sticky;top:32px;align-self:start}
.how article{padding:0 0 36px;margin-bottom:36px;border-bottom:1px solid var(--steel2)}.how article:last-child{border:0;margin:0;padding:0}
.how h3{font-size:clamp(24px,2.4vw,32px);line-height:1.15;margin-bottom:12px}.how p{margin:0;max-width:36em;color:var(--bone2)}
/* tariffs on paper */
.paper{background:var(--bone);color:#16130d;position:relative}
.paper .in{max-width:1480px;margin:0 auto;padding:clamp(56px,9vh,110px) var(--pad);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,80px)}
.paper h2{font-size:clamp(34px,4vw,56px);line-height:1.05}
.paper .lead{margin:16px 0 0;max-width:20em;color:#4a4333}
.price{list-style:none;margin:0;padding:0;border-top:2px solid #16130d}
.price li{display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:baseline;padding:20px 0;border-bottom:1px solid #b9b095}
.price .n{font:500 clamp(24px,2.6vw,34px)/1.1 var(--serif)}.price .m{color:#6a624d;font-size:15px;font-variant-numeric:tabular-nums}
.price .c{font:500 clamp(28px,3.2vw,44px)/1 var(--serif);font-variant-numeric:tabular-nums;min-width:4.4em;text-align:right}
.price .free .c{color:var(--oxide)}
.note{margin:20px 0 0;color:#4a4333;font-size:15px;max-width:44em}
/* servers */
.geo{padding:clamp(56px,9vh,110px) 0;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,80px)}
.geo h2{font-size:clamp(34px,4vw,56px);line-height:1.05}
.geo ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--steel2)}.geo li{font:500 clamp(36px,6vw,84px)/1.1 var(--serif);letter-spacing:-.02em;padding:14px 0;border-bottom:1px solid var(--steel2)}
.geo p{color:var(--steel);max-width:34em;margin:20px 0 0}
/* cta */
.cta{padding:clamp(64px,12vh,150px) 0 clamp(72px,12vh,150px);border-top:1px solid var(--steel2)}
.cta h2{font-size:clamp(40px,6.4vw,96px);line-height:1;letter-spacing:-.03em;max-width:12em;margin-bottom:36px}
footer{display:flex;flex-wrap:wrap;gap:12px 32px;padding-top:24px;padding-bottom:40px;border-top:1px solid var(--steel2);color:var(--steel);font-size:14px}
footer a{text-decoration:none}footer a:hover{color:var(--bone)}footer span{margin-right:auto}
/* inner pages */
.page{padding:clamp(40px,8vh,90px) 0 clamp(64px,10vh,120px);max-width:880px}
.page h1{font-size:clamp(40px,5.6vw,76px);line-height:1.02;letter-spacing:-.025em;margin-bottom:20px}
.page .sub{font-size:20px;color:var(--bone2);margin:0 0 48px;max-width:32em}
.page h2{font-size:clamp(28px,3vw,38px);margin:56px 0 8px;padding-top:28px;border-top:1px solid var(--steel2)}
.page p,.page li{color:var(--bone2);max-width:40em}.page code{font:500 .9em/1 var(--sans);background:var(--ink2);border:1px solid var(--steel2);padding:2px 6px;border-radius:2px;color:var(--bone)}
ol.steps{list-style:none;counter-reset:s;padding:0;margin:20px 0 0}
ol.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;padding:14px 0;border-bottom:1px solid var(--steel2)}
ol.steps li:before{content:counter(s);font:500 26px/1.1 var(--serif);color:var(--brass)}
details{border-bottom:1px solid var(--steel2)}details:first-of-type{border-top:1px solid var(--steel2)}
summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font:500 clamp(20px,2.2vw,26px)/1.25 var(--serif);position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2px solid var(--brass);border-bottom:2px solid var(--brass);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
details[open] summary:after{transform:translateY(-30%) rotate(-135deg)}
details p{margin:0 0 24px}
.paper-page{background:var(--bone);color:#16130d}
@media(max-width:860px){
 :root{--pad:20px}.blade{left:8px}main,footer,header{padding-left:36px;padding-right:20px}.paper .in{padding-left:36px;padding-right:20px}
 header{gap:14px}header nav{display:none}
 .hero,.how,.geo,.paper .in{grid-template-columns:1fr}.how>h2{position:static}
 .emb img{max-width:200px;margin:0}.facts{max-width:none;margin-top:20px}
 .price li{grid-template-columns:1fr auto;gap:4px 16px}.price .m{grid-column:1;grid-row:2}.price .c{grid-row:1/3;grid-column:2}
}
/* downloads */
.dls{padding:clamp(48px,8vh,100px) 0;border-top:1px solid var(--steel2)}.dls h2{font-size:clamp(34px,4vw,56px);line-height:1.05;margin-bottom:28px}
.dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--steel2)}
.dlc{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto auto;gap:2px 16px;padding:26px 24px 26px 0;border-bottom:1px solid var(--steel2);text-decoration:none;color:var(--bone);transition:background .2s}
.dlc+.dlc{padding-left:24px;border-left:1px solid var(--steel2)}
.dlc svg{grid-row:1/4;width:36px;height:36px;fill:var(--brass);align-self:start;margin-top:4px}
.dlc b{font:500 28px/1.1 var(--serif)}.dlc span{color:var(--steel);font-size:14px;line-height:1.4}.dlc em{font-style:normal;font-weight:600;font-size:15px;color:var(--brass);margin-top:10px}
a.dlc:hover{background:rgba(201,164,92,.06)}.dlc.soon{opacity:.7}.dlc.soon em{color:var(--steel)}
.page .dl{margin:8px 0 8px}
@media(max-width:860px){.dl{grid-template-columns:minmax(0,1fr)}.dlc+.dlc{padding-left:0;border-left:0}}
/* video */
.vid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,80px);padding:clamp(56px,9vh,110px) 0;border-top:1px solid var(--steel2);align-items:center}
.vid h2{font-size:clamp(30px,3.6vw,50px);line-height:1.08;margin-bottom:14px}.vid p{color:var(--bone2);max-width:26em;margin:0}
.vf{justify-self:start;border:1px solid var(--steel2);background:#000;line-height:0}
.vf video{height:min(620px,78vh);aspect-ratio:9/16;max-width:100%;background:#000}
@media(max-width:860px){.vid{grid-template-columns:minmax(0,1fr)}.vf{justify-self:center}.vf video{height:auto;width:min(300px,78vw)}}
