@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --bg:#121922;
  --navy:#1f2a37;
  --ink:#f4f2ee;
  --muted:#aeb7c3;
  --faint:#808b9a;
  --line:#283442;
  --copper:#b8541c;
  --copper-hi:#c9622a;
  --copper-dark:#8e3f13;
  --copper-light:#e8a87c;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:var(--copper-light);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--ink)}
a:focus-visible,.button:focus-visible{outline:2px solid var(--copper-light);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:700;margin:0;letter-spacing:-.005em}
h2{font-size:30px;line-height:1.15}
h3{font-size:20px;line-height:1.25}
p{margin:0}
p+p{margin-top:14px}

.wrap{width:100%;max-width:1120px;margin:0 auto;padding-left:20px;padding-right:20px}

.label{font:600 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--copper-light)}
.label::after{content:"";display:block;width:44px;height:2px;margin-top:12px;background:var(--copper)}
.label+h1,.label+h2{margin-top:22px}

.top{border-bottom:1px solid var(--line);background:var(--bg)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.mark{font:700 21px/1 var(--serif);color:var(--ink);text-decoration:none;letter-spacing:.01em}
.mark:hover{color:var(--ink)}
.top-buy{font:500 14px/1 var(--sans);color:var(--ink);text-decoration:none;border-bottom:2px solid var(--copper);padding-bottom:4px}
.top-buy:hover{color:var(--copper-light)}

.button{display:inline-block;background:var(--copper);color:#fff;font:600 16px/1 var(--sans);text-decoration:none;padding:17px 26px;border-radius:2px;box-shadow:inset 0 -3px 0 var(--copper-dark)}
.button:hover{background:var(--copper-hi);color:#fff}
.buy{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:30px}
.price{font-size:15px;line-height:1.45;color:var(--muted)}
.price strong{font:700 22px/1 var(--serif);color:var(--ink);margin-right:2px}

.hero{position:relative;padding-top:52px;background-image:radial-gradient(rgba(244,242,238,.07) 1px,transparent 1.4px);background-size:22px 22px;background-position:11px 11px}
.hero-in{display:grid;gap:44px;padding-bottom:56px}
.hero h1{font-size:46px;line-height:1.02;letter-spacing:-.015em}
.sub{margin-top:16px;font-size:15px;color:var(--muted)}
.sub span{white-space:nowrap}
.lead{margin-top:22px;font-size:18px;line-height:1.55;max-width:34em}
.after{margin-top:14px;font-size:14px;color:var(--faint)}

.stack{position:relative;width:100%;max-width:250px;aspect-ratio:1/1.68}
.stack img{position:absolute;width:80%;box-shadow:0 14px 34px rgba(0,0,0,.5);outline:1px solid rgba(244,242,238,.08)}
.stack .k0{left:0;top:0;z-index:6}
.stack .k1{left:4%;top:5.7%;z-index:5}
.stack .k2{left:8%;top:11.4%;z-index:4}
.stack .k3{left:12%;top:17.1%;z-index:3}
.stack .k4{left:16%;top:22.8%;z-index:2}
.stack .k5{left:20%;top:28.6%;z-index:1}

.pipe{position:relative;height:18px;background:radial-gradient(circle,#fff 2.6px,transparent 3.2px) 14px 50%/40px 18px repeat-x,linear-gradient(var(--copper) 0 22%,#cb6b33 22% 70%,var(--copper) 70%)}
.pipe::before,.pipe::after{content:"";position:absolute;top:-6px;width:14px;height:30px;background:var(--copper-dark);border-radius:2px}
.pipe::before{left:18%}
.pipe::after{left:61%}

section{padding:64px 0}
.rule{border-top:1px solid var(--line)}
.intro{margin-top:18px;max-width:40em;color:var(--muted);font-size:17px}

.shelf{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:28px}
.shelf li{display:grid;grid-template-columns:104px 1fr;gap:18px;align-items:start;align-content:start}
.shelf img{width:100%;box-shadow:0 12px 28px rgba(0,0,0,.45);outline:1px solid rgba(244,242,238,.08)}
.meta{font:500 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.shelf h3{margin-top:6px}
.shelf p:not(.meta){margin-top:8px;font-size:15px;color:var(--muted)}

.sample-in{display:grid;gap:36px}
.sample p{color:var(--muted)}
.sample p.label{color:var(--copper-light)}
.sample h2+p{margin-top:18px}
.calc{background:var(--navy);border:1px dashed #4a5869;padding:8px 22px 22px}
.calc-label{font:600 12px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--copper-light)}
.calc p.calc-label{color:var(--copper-light)}
.calc .row{display:grid;grid-template-columns:1fr 112px;gap:6px 16px;align-items:center;padding:14px 0;border-bottom:1px solid #334152}
.calc label{font-size:15px;font-weight:500;color:var(--ink)}
.calc small{grid-column:1/-1;font-size:13px;line-height:1.45;color:var(--faint)}
.calc input{width:100%;margin:0;background:var(--bg);border:1px solid #415066;border-radius:2px;color:var(--ink);font:500 18px/1.2 var(--sans);padding:9px 12px;text-align:right;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.calc input::-webkit-outer-spin-button,.calc input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.calc input:focus{outline:2px solid var(--copper-light);outline-offset:1px}
.result{padding-top:20px}
.calc p.big{margin-top:8px;font:700 44px/1.05 var(--serif);color:var(--copper-light);font-variant-numeric:lining-nums}
.big span{font:400 16px/1 var(--sans);color:var(--muted);margin-left:4px}
.calc p.year{margin-top:8px;font-size:15px;color:var(--ink)}
.sample-in .sample-buy{margin-top:0}
.fine{margin-top:16px;font-size:13px;line-height:1.5}
.fine,.calc p.fine{color:var(--faint)}

.pages{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px}
.pages figure{margin:0}
.pages a{display:block}
.pages img{width:100%;box-shadow:0 16px 36px rgba(0,0,0,.5)}
.pages figcaption{margin-top:14px;font-size:14px;line-height:1.5;color:var(--muted)}
.pages figcaption strong{color:var(--ink);font-weight:600}
.tap{margin-top:18px;font-size:13px;color:var(--faint)}

.files{margin:36px 0 0;border-top:1px solid var(--line)}
.files div{padding:18px 0;border-bottom:1px solid var(--line)}
.files dt{font:500 14px/1.4 var(--mono);color:var(--ink);overflow-wrap:anywhere}
.files dd{margin:6px 0 0;font-size:15px;color:var(--muted)}
.files dd.fmt{font:500 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--copper-light);margin-top:6px}
.files+.fine{margin-top:18px}

.cols{display:grid;gap:52px}
.cols p{color:var(--muted)}
.cols h2+p{margin-top:18px}
.quote{margin:26px 0 0;padding-left:20px;border-left:2px solid var(--copper)}
.cols .quote p{font:400 italic 21px/1.45 var(--serif);color:var(--ink)}
.quote figcaption{margin-top:10px;font-size:13px;color:var(--faint)}

.faq{display:grid;gap:30px;margin-top:36px}
.faq h3{font-size:19px}
.faq p{margin-top:8px;color:var(--muted);font-size:15px}

.final{padding:0 0 72px}
.panel{position:relative;background-color:var(--navy);padding:44px 24px 40px;background-image:radial-gradient(rgba(244,242,238,.08) 1px,transparent 1.4px);background-size:22px 22px;background-position:11px 11px}
.panel h2{font-size:34px;line-height:1.08}
.panel .sub{margin-top:14px}
.panel .buy{margin-top:28px}

body>footer{border-top:1px solid var(--line);padding:28px 0 40px;font-size:14px;color:var(--faint)}
body>footer .wrap{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between}
body>footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
body>footer .x-link{display:inline-flex;padding:4px;margin:-4px}
body>footer .x-link svg{display:block}
body>footer a{color:var(--muted);text-decoration:none}
body>footer a:hover{color:var(--ink);text-decoration:underline}

.doc{max-width:720px;padding-top:56px;padding-bottom:80px}
.doc h1{font-size:40px;line-height:1.1}
.doc h2{font-size:22px;margin-top:40px}
.doc p,.doc li{color:var(--muted)}
.doc h2+p,.doc h2+ul{margin-top:12px}
.doc ul{margin:12px 0 0;padding-left:20px}
.doc li+li{margin-top:8px}
.doc ul+p{margin-top:14px}
.doc strong{color:var(--ink);font-weight:600}
.updated{margin-top:12px;font-size:14px;color:var(--faint)}
mark.todo{background:#5b4410;color:#ffe2a8;padding:1px 4px;border-radius:2px}

@media (min-width:640px){
  .wrap{padding-left:32px;padding-right:32px}
  .hero h1{font-size:64px}
  h2{font-size:36px}
  .faq{grid-template-columns:1fr 1fr;gap:36px 48px}
  .pages{gap:24px}
  .stack{max-width:300px}
  .tap{display:none}
  .panel{padding:56px 52px 52px}
  .panel h2{font-size:44px}
}

@media (min-width:920px){
  body{font-size:17px}
  .hero{padding-top:72px}
  .hero-in{grid-template-columns:1.15fr .85fr;align-items:center;gap:56px;padding-bottom:76px}
  .hero h1{font-size:82px}
  .lead{font-size:20px}
  .stack{max-width:330px;justify-self:end}
  section{padding:96px 0}
  .shelf{grid-template-columns:repeat(5,1fr);gap:22px}
  .shelf li{grid-template-columns:1fr;gap:16px}
  .sample-in{grid-template-columns:1fr 1fr;grid-template-areas:"text calc" "buy calc";gap:28px 64px}
  .sample-text{grid-area:text;align-self:end}
  .sample-in .calc{grid-area:calc;align-self:center}
  .sample-in .sample-buy{grid-area:buy;align-self:start}
  .pages{max-width:880px}
  .files div{display:grid;grid-template-columns:300px 1fr;column-gap:32px}
  .files dt{grid-row:span 2}
  .files dd.fmt{margin-top:0}
  .cols{grid-template-columns:1fr 1fr;gap:72px}
  .final{padding-bottom:96px}
}
