:root {
  --bg: #f5f8f6;
  --paper: #ffffff;
  --ink: #1f2d2d;
  --muted: #536765;
  --line: #d5e1dd;
  --teal: #0f766e;
  --teal-soft: #d9efea;
  --gold: #b45309;
  --serif: Georgia, "Times New Roman", serif;
  --sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "Courier New", Courier, monospace;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #182222; --paper: #202c2b; --ink: #f3efe7; --muted: #c2ccc7; --line: #40504d; --teal: #8ed0c1; --teal-soft: #294b45; --gold: #e3ae69; }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at 85% 0%, #e8f3ef 0, transparent 30rem), var(--bg); font-family: var(--sans); font-size: 1.05rem; line-height: 1.7; overflow-wrap: break-word; }
a { color: var(--teal); text-underline-offset: 0.2em; }
a:hover, a:focus-visible { color: var(--gold); }
.shell { width: min(100% - 2.5rem, 68rem); margin: 0 auto; }
.nav { display: flex; justify-content: space-between; gap: 1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; }
.nav a { color: inherit; text-decoration: none; }
.nav a:hover { color: var(--teal); }
.hero { padding: 4rem 0 0; }
.eyebrow, .label { color: var(--teal); font-family: var(--mono); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.eyebrow { margin: 0 0 1rem; }
h1, h2, h3 { font-family: var(--serif); line-height: 1.1; font-weight: 500; }
h1 { max-width: 13ch; margin: 0; font-size: clamp(3.2rem, 9vw, 6.5rem); letter-spacing: -0.055em; }
.intro { max-width: 43rem; margin: 1.5rem 0 2.5rem; color: var(--muted); font-size: clamp(1.15rem, 2.5vw, 1.4rem); line-height: 1.55; }
.hero-image { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; display: block; border: 1px solid var(--line); filter: saturate(0.8) contrast(1.05); transition: transform 450ms ease, filter 450ms ease; }
.hero-image:hover { transform: scale(1.012); filter: saturate(0.95) contrast(1.05); }
.credit { margin: 0.55rem 0 0; color: var(--muted); font-family: var(--mono); font-size: 0.72rem; }
section { padding: 4rem 0; border-top: 1px solid var(--line); }
.two-col { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; }
.two-col h2 { max-width: 19ch; margin: 0; font-size: clamp(2rem, 5vw, 3.2rem); letter-spacing: -0.035em; }
.two-col p { max-width: 43rem; margin: 0.65rem 0 0; }
.steps { display: grid; gap: 0; margin-top: 2rem; border-top: 1px solid var(--line); }
.step { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.step__number { color: var(--gold); font-family: var(--mono); font-size: 0.75rem; }
.step h3 { margin: 0; font-size: 1.45rem; }
.step p { margin: 0.45rem 0 0; color: var(--muted); }
.note { margin-top: 2rem; padding: 1.5rem; border-left: 0.3rem solid var(--teal); background: var(--paper); }
.note p { margin: 0.5rem 0 0; }
.back { display: inline-block; margin: 2.5rem 0 4rem; font-family: var(--mono); font-size: 0.8rem; font-weight: 700; }
@media (max-width: 40rem) { .shell { width: min(100% - 1.5rem, 68rem); } .two-col, .step { grid-template-columns: 1fr; gap: 0.5rem; } .hero { padding-top: 3rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
