:root {
  --bg: #FFFFFF;
  --bg-panel: #FFFFFF;
  --surface: #FFFFFF;
  --line: #D8D8D8;
  --text: #151515;
  --text-secondary: #4D4D4F;
  --muted: #4D4D4F;
  --brand: #ED3237;
  --brand-deep: #C91F2B;
  --brand-soft: #FCE9EA;
  --header-bg: #151515;
  --header-border: #ED3237;
  --stat-bg: #F2F2F2;
  --stat-border: #D8D8D8;
}
body { font-family: 'Inter', sans-serif; color: var(--text); }
h1, h2, h3, .hero h1, .stat-value { font-family: 'League Spartan', sans-serif; }
.quote-review-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; min-height: 45px; padding: 8px max(calc((100vw - 1180px) / 2), clamp(20px, 4vw, 60px)); border-bottom: 1px solid var(--line); background: #151515; color: #FFFFFF; }
.quote-review-nav a { color: inherit; text-decoration: none; font-size: .82rem; font-weight: 700; }
.quote-review-nav a:hover, .quote-review-nav a:focus-visible { text-decoration: underline; text-decoration-color: #ED3237; text-underline-offset: 5px; }
.page-shell, .content-grid, .form-panel, .summary-panel, .hero, .hero-copy, .hero-card { min-width: 0; }
.hero { background-image: linear-gradient(120deg, #FFFFFF 0%, #F2F2F2 100%); }
.hero h1 { font-size: clamp(1.4rem, 2vw, 2.1rem); }
.content-grid { grid-template-columns: minmax(0, 7fr) minmax(260px, 3fr); }
input, select, textarea { max-width: 100%; min-width: 0; }
.summary-box, .stat-value, .stat-label { overflow-wrap: anywhere; }
:focus-visible { outline: 3px solid #ED3237; outline-offset: 3px; }
@media (min-width: 769px) {
  .hero { flex-wrap: wrap; gap: 18px 24px; padding: 18px 20px; }
  .hero-copy { flex: 1 1 360px; flex-direction: column; align-items: flex-start; gap: 8px; }
  .hero .eyebrow { order: 0; font-size: .82rem; letter-spacing: .12em; }
  .brand-lockup { order: 1; min-width: 0; gap: 14px; }
  .brand-logo { order: 0; height: 70px !important; }
  .hero h1 { order: 1; position: static; transform: none; max-width: 270px; white-space: normal; line-height: 1.05; }
  .hero h1 span { display: block; }
  .hero-card { flex: 0 1 auto; margin-left: auto; }
}
@media (max-width: 1024px) { .content-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 768px) {
  .quote-review-nav { gap: 14px; padding: 10px 16px; }
  .page-shell { width: 100%; max-width: 100%; }
  .hero { width: 100%; padding: 16px; }
  .hero-copy, .brand-lockup { min-width: 0; width: 100%; }
  .brand-lockup { flex-wrap: wrap; gap: 8px 12px; }
  .hero h1 { margin: 0; width: 100%; text-align: left; font-size: 1.45rem; }
  .hero-card, .hero-card .stat-grid { min-width: 0; width: 100%; }
  .hero-card .stat-grid { display: flex; flex-wrap: wrap; overflow: visible; gap: 8px; }
  .hero-card .stat { flex: 1 1 calc(50% - 8px) !important; min-width: 0; align-items: flex-start; }
  .hero-card .stat:nth-child(3) { flex-basis: 100% !important; }
  .content-grid { padding: 12px; gap: 14px; }
  .form-panel, .summary-panel { min-width: 0; width: 100%; }
  .form-grid, .choice-grid, .strength-grid { min-width: 0; }
  .choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .strength-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .choice-card { min-width: 0; }
}
@media (max-width: 420px) {
  .choice-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
