:root {
  --room: #0f2a24;
  --paper: #fffdf8;
  --ink: #17211d;
  --muted: #657169;
  --line: #d9d0bf;
  --wash: #f7f1e7;
  --tomato: #c4362f;
  --brass: #c89d3f;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--room);
  color: var(--ink);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  min-height: 100vh;
  padding: clamp(18px, 5vw, 56px) clamp(14px, 4vw, 24px);
}

.sheet {
  background: var(--paper);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(4, 18, 15, .28);
  margin: 0 auto;
  max-width: 760px;
  padding: clamp(24px, 6vw, 58px);
}

.eyebrow {
  color: var(--tomato);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
  margin: 0 0 .8rem;
  text-transform: uppercase;
}

h1, h2 {
  font-family: "Fraunces", Georgia, serif;
  line-height: 1.12;
}

h1 {
  font-size: clamp(2.3rem, 8vw, 4.8rem);
  letter-spacing: -.045em;
  margin: 0 0 1rem;
}

h2 { font-size: clamp(1.35rem, 4vw, 1.8rem); margin: 2.2rem 0 .7rem; }
p { margin: 0 0 1rem; }
.lede { color: var(--muted); font-size: 1.12rem; max-width: 62ch; }

.routes {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  margin: 1.5rem 0;
}

.route {
  background: var(--wash);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 1rem;
}

.route strong { display: block; margin-bottom: .35rem; }
.action {
  background: var(--tomato);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  padding: .65rem 1.05rem;
  text-decoration: none;
}

a { color: #174e68; }
a:focus-visible { outline: 3px solid var(--brass); outline-offset: 3px; }
footer {
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 1rem;
  margin-top: 2.5rem;
  padding-top: 1.2rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --room: #071815;
    --paper: #171d1a;
    --ink: #f4efe5;
    --muted: #b8b0a2;
    --line: #39433d;
    --wash: #212a25;
    --tomato: #f26b5e;
    --brass: #d7b768;
  }
  a { color: #8bc7e4; }
}
