:root{
  --ink:#f2f1ee; --bg:#0a0a12; --panel:#101018; --line:rgba(255,255,255,.10);
  --muted:#9b9aa6; --gold:#d4a574;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --gut:clamp(20px,5vw,72px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--gut)}
header{border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:14px;padding:20px 0}
.mark{width:26px;height:26px;flex:0 0 auto}
.wordmark{font-family:var(--mono);font-size:13px;letter-spacing:.22em;text-transform:uppercase}
.wordmark b{color:var(--gold);font-weight:600}
.bar nav{margin-left:auto;display:flex;gap:22px;font-size:14px}
.bar nav a{color:var(--muted)}
.bar nav a:hover{color:var(--ink)}
.hero{padding:clamp(40px,7vh,86px) 0 clamp(30px,5vh,54px)}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin:0 0 18px}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.8vw,56px);line-height:1.08;
  letter-spacing:-.015em;margin:0 0 20px;text-wrap:balance}
h1 em{font-style:italic;color:var(--gold)}
.lede{font-size:clamp(16px,1.5vw,18.5px);color:var(--muted);max-width:62ch;margin:0}
.playerFrame{margin:clamp(26px,4vh,44px) 0 0;border:1px solid var(--line);border-radius:12px;
  overflow:hidden;background:var(--panel);box-shadow:0 30px 70px -34px rgba(0,0,0,.9)}
.playerBar{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.06em}
.dot{width:9px;height:9px;border-radius:50%;background:#2a2a35}
.playerFrame .player{display:block;width:100%;aspect-ratio:16/9}
.transport{display:flex;align-items:center;gap:14px;padding:12px 14px;border-top:1px solid var(--line);
  background:rgba(255,255,255,.02)}
.tbtn{background:transparent;border:1px solid var(--line);border-radius:7px;color:var(--ink);
  font:inherit;font-size:13px;padding:7px 14px;min-height:36px;cursor:pointer}
.tbtn:hover{border-color:var(--gold);color:var(--gold)}
input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:3px;border-radius:3px;
  background:rgba(255,255,255,.16);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;
  background:var(--gold);cursor:pointer;border:2px solid var(--bg)}
input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--gold);
  cursor:pointer;border:2px solid var(--bg)}
.mono{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--muted);
  white-space:nowrap;min-width:118px;text-align:right}
canvas.player{background:#0a0a12}
video.player{background:#0a0a12}
section{padding:clamp(48px,7vh,88px) 0;border-top:1px solid var(--line)}
.secHead{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);
  gap:clamp(20px,4vw,56px);margin-bottom:clamp(28px,4vh,48px)}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(24px,3vw,34px);line-height:1.15;
  margin:0;letter-spacing:-.01em;text-wrap:balance}
.secHead p{margin:0;color:var(--muted);max-width:62ch}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(18px,3vw,34px)}
.card{border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--panel)}
.card h3{margin:0 0 8px;font-size:15px;font-family:var(--mono);letter-spacing:.08em;color:var(--gold)}
.card p{margin:0;color:var(--muted);font-size:14.6px}
ol.steps{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
ol.steps li{position:relative;padding:0 0 24px 26px}
ol.steps li:last-child{padding-bottom:0}
ol.steps li::before{content:"";position:absolute;left:-4.5px;top:9px;width:8px;height:8px;
  border-radius:50%;background:var(--bg);border:1.5px solid var(--gold)}
.stepTitle{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}
.stepTitle code{font-family:var(--mono);font-size:13px;color:var(--gold)}
.stepTitle span{font-size:14px;color:var(--muted)}
ol.steps p{margin:5px 0 0;font-size:15px;color:var(--muted);max-width:72ch}
pre.code{margin:0;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--panel);
  font-family:var(--mono);font-size:12.6px;line-height:1.8;overflow-x:auto;color:#cfd2da}
pre.code .k{color:var(--gold)} pre.code .m{color:var(--muted)}
ul.limits{list-style:none;margin:0;padding:0;max-width:76ch}
ul.limits li{padding:13px 0;border-bottom:1px solid var(--line);display:grid;
  grid-template-columns:150px minmax(0,1fr);gap:16px}
ul.limits b{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);font-weight:500;padding-top:3px}
ul.limits span{color:var(--muted);font-size:15px}
footer{border-top:1px solid var(--line);padding:34px 0 60px;color:var(--muted);font-size:13.5px}
footer .wrap{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
footer .sp{margin-left:auto;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em}
@media (max-width:900px){
  .secHead{grid-template-columns:1fr;gap:14px}
  ul.limits li{grid-template-columns:1fr;gap:4px}
}
/* the header nav overflows a 390px viewport by ~4px: let it wrap and tighten the gaps */
@media (max-width:600px){
  :root{--gut:18px}
  .bar{flex-wrap:wrap;gap:10px}
  .bar nav{margin-left:0;width:100%;gap:16px;font-size:13px;flex-wrap:wrap}
  .transport{flex-wrap:wrap;gap:10px}
  .mono{min-width:0;text-align:left}
  pre.code{font-size:11.4px}
  h1{font-size:clamp(27px,8vw,38px)}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition:none!important}}
