:root {
  --paper: #f5f4f0;
  --ink: #101b2a;
  --line: #d2d6db;
  --muted: #535c67;
  --platform-midnight: #101b2a;
  --platform-charcoal: #17191d;
  --platform-silver: #a7adb5;
  --platform-gold: #c6a779;
  --platform-gold-ink: #6d512e;
  --platform-display: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

body { background: var(--paper); color: var(--ink); }
.home-header, .site-rail, .home-footer, .dark { background: var(--platform-midnight); }
.home-header { color: var(--paper); border-bottom: 1px solid #344050; }
.home-header .navlinks a:not(.btn) { color: var(--paper); }
.home-header .navlinks .btn { background: var(--paper); color: var(--ink); }
.preview { background: var(--platform-charcoal); color: var(--paper); }
.home-site h1, .home-site h2, .rail-site h1, .rail-site h2, .rail-headline {
  font-family: var(--platform-display);
  letter-spacing: -.05em;
}
.rail-headline { color: var(--paper); }
.rail-message .eyebrow { color: var(--platform-gold); }
.rail-links a { border-color: #344050; }
.home-site .platform-hero {
  background: var(--platform-midnight);
  color: var(--paper);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  margin-top: clamp(16px, 3vw, 36px);
  padding: 0;
  gap: 0;
  border-radius: 12px;
  overflow: hidden;
}
.platform-hero-copy { align-self: center; padding: clamp(26px, 4vw, 56px); min-width: 0; }
.platform-hero .eyebrow { color: var(--platform-gold); font-size: 12px; margin: 0; }
.home-site .platform-hero h1 { font-size: clamp(48px, 5.35vw, 78px); line-height: .98; margin: 18px 0 24px; }
.home-site .platform-hero .hero-description { color: #d9dde3; font-size: clamp(16px, 1.4vw, 19px); max-width: 34ch; }
.platform-hero .actions { align-items: center; gap: 16px 20px; }
.platform-hero .actions > a:not(.btn) { color: var(--paper); }
.platform-hero-art { margin: 0; min-width: 0; position: relative; min-height: 400px; }
.platform-hero-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.platform-model { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 32px 0; }
.platform-model article { padding: 24px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--platform-gold); border-radius: 0 0 8px 8px; }
.platform-model h3 { font-family: var(--platform-display); font-size: 25px; margin: 0 0 8px; }
.platform-model p { color: var(--muted); }
.platform-map-section .platform-map { max-width: 490px; margin: 16px auto 0; background: var(--platform-midnight); }
.platform-division-context { color: var(--platform-gold-ink); font-size: .9em; }
.rail-site .pagehead, .rail-site .detailhero { border-color: var(--line); }
.rail-site .pagehead .eyebrow, .rail-site .detailhero .eyebrow { color: var(--platform-gold-ink); }
@media (max-width: 800px) {
  .home-site .platform-hero, .platform-model { grid-template-columns: 1fr; }
  .home-site .platform-hero h1 { font-size: clamp(42px, 10vw, 62px); }
  .platform-hero-art { min-height: 0; aspect-ratio: 3 / 2; }
}
@media print {
  .home-site .platform-hero { background: #fff; color: #111; }
  .platform-hero .hero-description, .platform-hero .actions > a:not(.btn), .platform-hero .eyebrow { color: #111; }
  .platform-hero-art { display: none; }
}
