:root {
  --stage: #09090a;
  --ground: #161618;
  --panel: rgba(255, 255, 255, 0.045);
  --hairline: rgba(255, 255, 255, 0.08);
  --text: #f2f2f3;
  --secondary: rgba(235, 235, 245, 0.62);
  --amber: #ffb529;
  --amber-ink: #1c1405;
  color-scheme: dark;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--ground);
  color: var(--text);
  font: 16px/1.55 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--amber); }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }

header.hero { background: var(--stage); border-bottom: 1px solid var(--hairline); padding: 72px 0 0; text-align: center; overflow: hidden; }
.hero img.icon { width: 104px; height: 104px; }
.hero h1 { font-size: clamp(32px, 5vw, 48px); line-height: 1.1; letter-spacing: -0.02em; font-weight: 650; margin: 20px auto 14px; max-width: 760px; }
.hero p.lede { color: var(--secondary); font-size: 19px; max-width: 620px; margin: 0 auto 28px; }
.download { display: inline-flex; align-items: center; gap: 10px; background: var(--amber); color: var(--amber-ink); font-weight: 600; font-size: 17px; text-decoration: none; padding: 12px 22px; border-radius: 9px; transition: opacity .12s ease-out; }
.download:hover { opacity: .88; }
.download:focus-visible { outline: 2px solid var(--text); outline-offset: 3px; }
.meta { color: var(--secondary); font-size: 14px; margin: 14px 0 0; font-variant-numeric: tabular-nums; }
.shot { margin: 48px auto 0; max-width: 1000px; border-radius: 12px 12px 0 0; border: 1px solid var(--hairline); border-bottom: 0; overflow: hidden; }
.shot img { display: block; width: 100%; height: auto; }

section.how { padding: 72px 0 56px; }
.how h2 { font-size: 15px; font-weight: 600; margin: 0 0 28px; color: var(--secondary); }
.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; counter-reset: step; }
.steps li { background: var(--panel); border: 1px solid var(--hairline); border-radius: 10px; padding: 20px; counter-increment: step; }
.steps li::before { content: counter(step); display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--hairline); background: var(--panel); font-size: 13px; font-weight: 600; margin-bottom: 12px; font-variant-numeric: tabular-nums; }
.steps h3 { font-size: 17px; margin: 0 0 6px; }
.steps p { margin: 0; color: var(--secondary); font-size: 15px; }

section.facts { padding: 0 0 72px; }
.facts ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; }
@media (max-width: 640px) { .facts ul { grid-template-columns: 1fr; } }
.facts li { padding: 14px 0; border-top: 1px solid var(--hairline); color: var(--secondary); font-size: 15px; }
.facts strong { color: var(--text); font-weight: 600; }

footer { border-top: 1px solid var(--hairline); padding: 28px 0 40px; color: var(--secondary); font-size: 14px; }
footer .wrap { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; }

footer nav { display: flex; gap: 20px; }
footer a { color: var(--secondary); }
footer a:hover { color: var(--text); }

/* Legal pages */
.page-head { background: var(--stage); border-bottom: 1px solid var(--hairline); padding: 20px 0; }
.page-head a.home { display: inline-flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; font-weight: 600; }
.page-head img { width: 28px; height: 28px; }
article.legal { max-width: 720px; margin: 0 auto; padding: 48px 24px 72px; }
.legal h1 { font-size: 32px; letter-spacing: -0.01em; margin: 0 0 8px; }
.legal .updated { color: var(--secondary); font-size: 14px; margin: 0 0 32px; }
.legal h2 { font-size: 19px; margin: 40px 0 10px; }
.legal p, .legal li { color: var(--secondary); }
.legal strong { color: var(--text); font-weight: 600; }
.legal address { font-style: normal; color: var(--text); line-height: 1.6; }
.legal ul { padding-left: 20px; }
.legal li { margin: 4px 0; }
