.landing {
  --signal-bg: #e7e7e3; --signal-panel: #f7f6f2; --signal-ink: #20201f;
  --signal-muted: #666660; --signal-line: rgba(32,32,31,.22);
  --signal-red: #c83d34; --signal-red-dark: #9f3029;
  min-height: 100dvh; background: var(--signal-bg); color: var(--signal-ink);
}
.signal-shell { width: min(1460px, calc(100% - 72px)); margin: 0 auto; }
.signal-top { border-bottom: 2px solid var(--signal-ink); }
.signal-nav { min-height: 66px; display: flex; align-items: center; gap: 32px; }
.signal-brand { color: var(--signal-ink); font-weight: 720; letter-spacing: -.035em; }
.signal-brand span { color: var(--signal-red); }
.signal-nav nav { margin-left: auto; display: flex; align-items: center; gap: 24px; }
.signal-nav nav a { color: var(--signal-ink); text-decoration: none; font: 11px "Geist Mono"; letter-spacing: .08em; }
.signal-button { display: inline-block; border: 1px solid var(--signal-ink); padding: 11px 17px; color: var(--signal-ink); text-decoration: none; font: 11px "Geist Mono"; letter-spacing: .08em; }
.signal-button.primary { color: white; border-color: var(--signal-red); background: var(--signal-red); }
.signal-button.primary:hover { background: var(--signal-red-dark); }
.signal-kicker { display: block; font: 10.5px "Geist Mono"; letter-spacing: .12em; }

.signal-hero { padding: 54px 0 0; }
.signal-hero-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 58px; align-items: end; }
.signal-hero-copy h1 { margin: 24px 0 26px; font-size: clamp(64px, 8vw, 118px); line-height: .88; letter-spacing: -.07em; font-weight: 650; }
.signal-hero-copy h1 em { color: var(--signal-red); font-style: normal; }
.signal-lede { max-width: 510px; font-size: 18px; line-height: 1.55; }
.signal-actions { display: flex; gap: 10px; margin-top: 28px; }
.signal-poster { min-height: 440px; padding: 28px; color: white; background: var(--signal-red); display: flex; flex-direction: column; justify-content: space-between; }
.poster-mark { font-size: 78px; line-height: .82; font-weight: 650; letter-spacing: -.07em; }
.poster-mark span { font-weight: 350; }
.poster-foot { font: 11px/1.7 "Geist Mono"; letter-spacing: .08em; }

.signal-facts { margin-top: 54px; border-top: 2px solid var(--signal-ink); border-bottom: 1px solid var(--signal-ink); }
.signal-facts-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.signal-facts-grid > div { padding: 20px 22px; border-right: 1px solid var(--signal-line); }
.signal-facts-grid > div:last-child { border: 0; }
.signal-facts strong { display: block; margin-top: 7px; font: 600 26px "Geist Mono"; }

.signal-section { padding: 94px 0; border-bottom: 1px solid var(--signal-ink); }
.signal-section-head { margin-bottom: 48px; }
.signal-section-head h2, .signal-honest-grid h2, .signal-close h2 { margin: 0 0 16px; font-size: clamp(38px, 5vw, 70px); line-height: .95; letter-spacing: -.055em; }
.signal-section-head p { max-width: 590px; margin: 0; color: var(--signal-muted); font-size: 17px; }
.signal-feature-grid { display: grid; grid-template-columns: 1fr 1.15fr .85fr; gap: 16px; }
.signal-feature { min-height: 230px; padding: 24px; background: var(--signal-panel); border-top: 4px solid var(--signal-ink); }
.signal-feature.red { color: white; border: 0; background: var(--signal-red); }
.signal-feature.wide { grid-column: span 2; }
.signal-feature > span { font: 10px "Geist Mono"; letter-spacing: .11em; }
.signal-feature h3 { margin: 42px 0 10px; font-size: 26px; line-height: 1; letter-spacing: -.035em; }
.signal-feature p { margin: 0; color: inherit; opacity: .7; max-width: 440px; }
.signal-feature pre { margin: 24px 0 0; padding: 0; border: 0; background: transparent; font-size: 12px; }
.signal-route-row { display: grid; grid-template-columns: 1fr 1fr auto auto; gap: 16px; margin-top: 22px; padding-top: 12px; border-top: 1px solid var(--signal-line); font: 11px "Geist Mono"; }
.signal-route-row i { color: var(--signal-red); font-style: normal; }

.signal-price-wrap { overflow-x: auto; }
.signal-price { width: 100%; border-collapse: collapse; }
.signal-price th { padding: 12px 0; border-bottom: 2px solid var(--signal-ink); text-align: left; font: 10px "Geist Mono"; letter-spacing: .1em; }
.signal-price td { padding: 18px 0; border-bottom: 1px solid var(--signal-line); font: 15px "Geist Mono"; }
.signal-price th:last-child, .signal-price td:last-child { text-align: right; }
.signal-method { color: var(--signal-muted); font: 11px "Geist Mono"; }
.signal-honest-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: start; }
.signal-honest-grid p { margin: 0; max-width: 620px; font-size: 18px; line-height: 1.65; }
.signal-close { padding: 80px 0; background: var(--signal-red); color: white; }
.signal-close-grid { display: grid; grid-template-columns: 1fr .7fr; gap: 60px; align-items: end; }
.signal-close-grid p { margin: 0 0 24px; font-size: 17px; }
.signal-close .signal-button.primary { background: white; border-color: white; color: var(--signal-red); }
.signal-foot { padding: 26px 0 52px; }
.signal-foot .signal-shell { display: flex; align-items: center; gap: 28px; font: 11px "Geist Mono"; }
.signal-foot nav { display: flex; gap: 20px; }
.signal-foot a { color: var(--signal-ink); text-decoration: none; }
.signal-foot span { margin-left: auto; }

@media (prefers-reduced-motion: no-preference) {
  .signal-button { transition: transform .15s ease, color .15s ease, background-color .15s ease; }
  .signal-button:active { transform: translateY(1px); }
}
@media (max-width: 850px) {
  .signal-shell { width: min(100% - 32px, 1460px); }
  .signal-nav nav a.hide-sm { display: none; }
  .signal-hero-grid, .signal-honest-grid, .signal-close-grid { grid-template-columns: 1fr; }
  .signal-poster { min-height: 340px; }
  .signal-facts-grid { grid-template-columns: 1fr 1fr; }
  .signal-facts-grid > div:nth-child(2) { border-right: 0; }
  .signal-facts-grid > div:nth-child(n+3) { border-top: 1px solid var(--signal-line); }
  .signal-feature-grid { grid-template-columns: 1fr; }
  .signal-feature.wide { grid-column: auto; }
  .signal-section { padding: 62px 0; }
}
@media (max-width: 430px) {
  .signal-hero-copy h1 { font-size: clamp(44px, 15vw, 62px); }
  .signal-actions, .signal-foot .signal-shell { align-items: stretch; flex-direction: column; }
  .signal-actions .signal-button { text-align: center; }
  .signal-foot nav { flex-wrap: wrap; }
  .signal-foot span { margin-left: 0; }
  .signal-route-row { grid-template-columns: 1fr 1fr; }
}
