@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('fonts/newsreader-vf-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 300 800;
  font-display: swap;
  src: url('fonts/newsreader-vf-i-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/spectral-300-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/spectral-400-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/spectral-500-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/spectral-600-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/spectral-700-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/spectral-300i-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/spectral-400i-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/spectral-500i-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/spectral-600i-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url('fonts/jetbrainsmono-vf-latin.woff2') format('woff2');
}

html, body { overflow-x: clip; }

.guide { padding: 24px 0 120px; }
.guide-article.container { max-width: 864px; }

.guide-head { margin: 56px 0 40px; }
.guide-head h1 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: clamp(40px, 5.6vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--ink);
  text-wrap: balance;
  margin: 16px 0 20px;
}
.guide-meta {
  font-family: var(--font-text);
  font-style: italic;
  font-size: 14px;
  color: var(--ink-2);
  margin: 0;
}

.guide-lead {
  font-family: var(--font-serif);
  font-size: 22px;
  line-height: 1.5;
  color: var(--ink);
  margin: 0;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--rule);
}

.guide section { margin: 56px 0 0; }
.guide h2 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 16px;
  text-wrap: balance;
}
.guide h3 {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: 21px;
  line-height: 1.3;
  color: var(--ink);
  margin: 32px 0 10px;
}

.guide p,
.guide li {
  font-family: var(--font-text);
  font-size: 18px;
  line-height: 1.65;
  color: color-mix(in oklab, var(--ink), transparent 12%);
}
.guide p { margin: 0 0 16px; }
.guide b { font-weight: 600; color: var(--ink); }

.guide-article a:not(.store-cta) {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-underline-offset: 3px;
  transition: color var(--dur-fast) var(--ease);
}
.guide-article a:not(.store-cta):hover { color: var(--accent); }

.guide ul,
.guide ol {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}
.guide ul li {
  position: relative;
  padding-left: 22px;
  margin: 0 0 12px;
}
.guide ul li::before {
  content: "·";
  position: absolute;
  left: 4px;
  top: 0;
  font-weight: 600;
  color: var(--accent);
}
.guide ol { counter-reset: step; }
.guide ol li {
  counter-increment: step;
  position: relative;
  padding-left: 44px;
  margin: 0 0 14px;
}
.guide ol li::before {
  content: counter(step, lower-roman) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--accent);
}

.guide-cta {
  margin: 48px 0 0;
  padding: 40px 32px;
  background: var(--paper-2);
  border: 1px solid var(--rule);
  border-radius: var(--radius-3);
  text-align: center;
}
.guide .guide-cta-line {
  font-family: var(--font-serif);
  font-size: 28px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0 0 24px;
}
.guide .guide-cta-note {
  font-size: 14px;
  color: var(--ink-2);
  margin: 16px 0 0;
}

.guide-faq { padding-top: 8px; }
.guide-q {
  padding: 22px 0 6px;
  border-top: 1px solid var(--rule);
}
.guide .guide-q h3 { margin: 0 0 8px; }

@media (max-width: 600px) {
  .guide-head { margin: 32px 0 32px; }
  .guide-lead { font-size: 20px; }
  .guide h2 { font-size: 26px; }
  .guide p,
  .guide li { font-size: 17px; }
  .guide-cta { padding: 32px 20px; }
  .guide .guide-cta-line { font-size: 24px; }
}
