/* One honest offer, no overlay, timer or layout-blocking script. */
.revenue-banner { background: var(--caution); border-block: var(--line); color: var(--ink); }
.revenue-banner__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; padding-block: 1.35rem; }
.revenue-banner__eyebrow { font: 700 .72rem/1.4 var(--font-mono); letter-spacing: .06em; margin: 0 0 .35rem; }
.revenue-banner h2 { font: 400 clamp(1.15rem, 2.1vw, 1.65rem)/1.2 var(--font-display); margin: 0 0 .5rem; text-wrap: balance; }
.revenue-banner__copy > p:not(.revenue-banner__eyebrow) { max-width: 68ch; font: .86rem/1.5 var(--font-mono); margin: 0; }
.revenue-banner__copy > .revenue-banner__note { margin-top: .4rem !important; font-size: .72rem !important; }
.revenue-banner__cta { display: inline-flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: .9rem 1.15rem; background: var(--ink); color: var(--paper); border: 2px solid var(--ink); font: 700 .86rem/1.3 var(--font-mono); text-decoration: none; min-height: 48px; transition: background 160ms, color 160ms; }
.revenue-banner__cta:hover { color: var(--ink); background: var(--paper); }
.revenue-banner__cta:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.revenue-banner__cta:active { transform: translateY(1px); }
@media(max-width: 640px) { .revenue-banner__inner { grid-template-columns: 1fr; gap: 1rem; } .revenue-banner__cta { justify-self: start; } }
@media(prefers-reduced-motion: reduce) { .revenue-banner__cta { transition: none; } }
/* Home-only repair: the live Halloween hero had a min-content column wider than a phone. */
@media(max-width: 640px) {
  .hero__inner { grid-template-columns: minmax(0, 1fr); }
  .hero__inner > * { min-width: 0; }
  .hero h1 { font-size: clamp(1.9rem, 9vw, 3rem); }
  .hero__kicker { overflow-wrap: anywhere; }
}
