/* Asphalt and taxi yellow, the same as the app. The page's one loud element is the fare bar itself,
   because the product is that bar. Everything else is plain text a captain can read quickly. */
@font-face {
  font-family: "Readex Pro";
  src: url("readex_pro.ttf") format("truetype");
  font-weight: 200 700;
  font-display: swap;
}

:root {
  --asphalt: #18212b;
  --surface: #212c38;
  --line: #3a4958;
  --text: #eef2f5;
  --muted: #9fb0bf;
  --taxi: #f5c518;
  --on-taxi: #1a1400;
  --go: #35c48d;
  --stop: #f0625a;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--asphalt);
  color: var(--text);
  font: 400 17px/1.75 "Readex Pro", system-ui, sans-serif;
}

a { color: var(--taxi); }
a:focus-visible { outline: 2px solid var(--taxi); outline-offset: 3px; }

.top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1040px;
  margin: 0 auto;
  padding: 20px 24px;
}
.brand { display: flex; align-items: center; gap: 10px; color: var(--text); font-weight: 700; text-decoration: none; }
.small { font-size: 15px; color: var(--muted); }

main { max-width: 1040px; margin: 0 auto; padding: 0 24px 40px; }

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
  gap: 56px;
  align-items: center;
  padding: 36px 0 64px;
}

h1 { font-size: clamp(34px, 5.2vw, 56px); line-height: 1.2; font-weight: 700; margin: 0 0 18px; }
h2 { font-size: 24px; font-weight: 700; margin: 0 0 14px; line-height: 1.35; }
.lead { font-size: 20px; color: var(--text); margin: 0 0 26px; max-width: 30em; }

.download {
  display: inline-block;
  background: var(--taxi);
  color: var(--on-taxi);
  font-weight: 700;
  font-size: 20px;
  padding: 16px 40px;
  text-decoration: none;
}
.download:hover { background: #ffd53a; }

.fine { color: var(--muted); font-size: 14px; margin: 12px 0 0; }
code { font-size: 12px; word-break: break-all; }

.phone { display: grid; gap: 14px; }

.bar {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #0f151c;
  border-inline-start: 8px solid var(--go);
  padding: 12px 16px;
}
.bar.skip { border-color: var(--stop); }
.bar-body { flex: 1; display: grid; min-width: 0; }
.verdict { color: var(--go); font-size: 15px; }
.skip .verdict { color: var(--stop); }
.fare { font-size: 40px; line-height: 1.2; font-weight: 700; }
.detail { font-size: 14px; white-space: pre-wrap; }
.reason { font-size: 13px; color: var(--muted); }
.stop { color: var(--stop); font-size: 13px; white-space: nowrap; }

section { padding: 34px 0; border-top: 1px solid var(--line); }
section.hero { border-top: 0; }

.warning { border-inline-start: 4px solid var(--stop); border-top: 0; background: var(--surface); padding: 22px 24px; margin-bottom: 20px; }
.warning p { margin: 0; max-width: 62ch; }
.warning h2 { color: var(--stop); }

.ledger { margin: 0; max-width: 760px; }
.ledger div { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--surface); }
.ledger dt { color: var(--taxi); font-weight: 500; }
.ledger dd { margin: 0; }
.note { color: var(--muted); font-size: 15px; max-width: 62ch; margin: 14px 0 0; }

.steps { margin: 0; padding-inline-start: 24px; max-width: 62ch; }
.steps li { margin-bottom: 8px; }

.prose { max-width: 720px; }
.prose h1 { font-size: 36px; }
.prose h2 { margin-top: 30px; font-size: 20px; color: var(--taxi); }
.prose p { margin: 0; }

footer { max-width: 1040px; margin: 0 auto; padding: 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
footer p { margin: 0 0 6px; }

@media (max-width: 820px) {
  .hero { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-top: 16px; }
  main, .top, footer { padding-inline: 16px; }
  .ledger div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .download { display: block; text-align: center; }
}

@media (prefers-reduced-motion: no-preference) {
  .download { transition: background-color 0.15s; }
}
