:root {
  color-scheme: dark;
  --bg: #07111f;
  --bg-deep: #040a14;
  --panel: linear-gradient(180deg, rgba(8, 18, 32, 0.96) 0%, rgba(5, 10, 20, 0.99) 100%);
  --panel-soft: rgba(10, 20, 34, 0.84);
  --text: #e2eef9;
  --muted: #9eb2c7;
  --cyan: #19c2d6;
  --cyan-soft: rgba(25, 194, 214, 0.18);
  --cyan-line: rgba(25, 194, 214, 0.34);
  --max: 1040px;
}

* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  background:
    radial-gradient(circle at top left, rgba(25, 194, 214, 0.12), transparent 26%),
    radial-gradient(circle at top right, rgba(56, 189, 248, 0.10), transparent 24%),
    linear-gradient(160deg, #081322 0%, #07111f 46%, #040a14 100%);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}

a {
  color: #8be7f2;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.page {
  width: min(100%, var(--max));
  margin: 0 auto;
  padding: 32px 20px 72px;
}

.hero,
.section,
.card {
  position: relative;
  overflow: hidden;
  background: var(--panel);
  box-shadow:
    inset 0 1px 0 rgba(140, 232, 245, 0.08),
    inset 0 0 24px rgba(25, 194, 214, 0.04),
    0 24px 60px rgba(0, 0, 0, 0.28);
}

.hero::before,
.section::before,
.card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(125, 232, 247, 0.92), transparent);
}

.hero {
  border-radius: 24px;
  padding: 28px 24px;
  margin-bottom: 24px;
}

.section {
  border-radius: 20px;
  padding: 22px 20px;
  margin-top: 18px;
}

.hero p,
.section p,
.section li,
.card p,
.card li {
  color: var(--muted);
}

.eyebrow {
  margin: 0 0 10px;
  color: #8be7f2;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

h1, h2, h3 {
  margin: 0;
  line-height: 1.08;
  letter-spacing: -0.03em;
}

h1 {
  font-size: clamp(2.4rem, 6vw, 4.4rem);
}

h2 {
  font-size: 1.25rem;
  margin-bottom: 12px;
}

.hero p {
  max-width: 860px;
  margin: 14px 0 0;
  font-size: 1rem;
}

.meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.pill {
  background: rgba(7, 17, 31, 0.92);
  box-shadow: inset 0 0 0 1px rgba(25, 194, 214, 0.18);
  color: #cfeaf0;
  padding: 8px 12px;
  font-size: 12px;
}

ul, ol {
  margin: 0;
  padding-left: 20px;
}

li + li {
  margin-top: 8px;
}

code {
  color: #d7fbff;
  background: rgba(25, 194, 214, 0.10);
  padding: 1px 5px;
}

.grid {
  display: grid;
  gap: 16px;
}

.grid.cols-2 {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.card {
  border-radius: 18px;
  padding: 18px;
}

.card h3 {
  font-size: 1rem;
  margin-bottom: 10px;
}

.topnav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 18px;
  font-size: 13px;
}

.topnav a {
  color: #7edcea;
}

.route-list {
  display: grid;
  gap: 10px;
}

.route-item {
  border-radius: 16px;
  background: var(--panel-soft);
  box-shadow: inset 0 0 0 1px rgba(25, 194, 214, 0.14);
  padding: 12px 14px;
}

.route-item strong {
  display: block;
  color: #f2fbff;
  font-size: 14px;
}

.footer-note {
  margin-top: 28px;
  color: #86a0b8;
  font-size: 12px;
}

@media (max-width: 640px) {
  .page {
    padding: 20px 14px 48px;
  }

  .hero,
  .section {
    padding: 18px 16px;
  }
}
