/* Targeted quote journey improvements; existing editorial design retained. */
.nav .nav-cta { background:var(--lime); padding:12px 18px; border-radius:4px; text-decoration:none; white-space:nowrap; }
.quote-title { padding-top:28px; padding-bottom:24px; margin-bottom:24px; }
.quote-title h1 { font-size:clamp(36px,4vw,56px); max-width:none; margin-bottom:16px; }
.quote-title .lead { max-width:700px; }
.quote-title .eyebrow { margin-bottom:12px; }
.field-error { color:#a12522; font-size:14px; margin:8px 0 0; }
.booking-form [aria-invalid=true] { border:2px solid #a12522; }
.booking-form :focus-visible, .mobile-quote-bar a:focus-visible { outline:3px solid #387286; outline-offset:3px; }
.form-step h2, #request-message { scroll-margin-top:24px; }
#request-message:focus { outline:2px solid var(--ink); outline-offset:4px; }
.quote-edit { background:none; border:0; text-decoration:underline; color:var(--ink); font:inherit; padding:10px 0; cursor:pointer; }
.quote-edit-actions { display:flex; gap:24px; flex-wrap:wrap; }
.mobile-quote-bar { display:none; }
.request-choice button { min-height:72px; padding:12px; }
.request-choice button[aria-pressed=true] { padding:11px; }
#request-choice-hint { margin-bottom:16px; }
.journey-intro { font-size:16px; max-width:720px; }
@media(max-width:760px) {
 .nav .nav-cta { display:none!important; }
 .nav { justify-content:space-between; }
 .quote-title { padding-top:20px; padding-bottom:18px; margin-bottom:18px; }
 .quote-title h1 { font-size:36px; line-height:1.08; }
 .quote-title .lead { font-size:16px; line-height:1.5; margin-bottom:0; }
 .quote-title .eyebrow { display:none; }
 .booking-form #request-message { font-size:14px; padding:12px; margin-bottom:18px; }
 .request-choice { grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; }
 .request-choice button { min-height:48px; padding:10px; }
 .request-choice button[aria-pressed=true] { padding:9px; }
 .request-choice button strong { font-size:16px; margin:0; }
 .request-choice button span { display:none; }
 #request-choice-hint { font-size:13px; line-height:1.45; }
 .quote-progress { margin-bottom:20px; }
 .form-step h2 { font-size:27px; margin-bottom:20px; }
 .form-step .eyebrow { font-size:10px; margin-bottom:8px; }
 .booking-form input,.booking-form select { font-size:16px; min-height:48px; }
 .wizard-actions { position:sticky; bottom:0; background:var(--paper); padding:12px 0 calc(12px + env(safe-area-inset-bottom)); z-index:2; border-top:1px solid var(--line); }
 .wizard-actions .primary { flex:1; }
 .mobile-quote-bar { display:block; position:fixed; bottom:0; left:0; right:0; padding:10px 22px calc(10px + env(safe-area-inset-bottom)); background:var(--paper); border-top:1px solid var(--line); z-index:20; }
 .mobile-quote-bar a { display:block; text-align:center; padding:13px; background:var(--lime); color:var(--ink); border-radius:4px; font-weight:700; text-decoration:none; }
 body:has(.mobile-quote-bar) { padding-bottom:78px; }
 .editorial-hero .hero-kicker { white-space:normal; line-height:1.5; }
 .editorial-hero .hero-kicker::after { display:none; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } }
