/* The existing cream, forest and DejaVu brand system, with a single-column task layout. */
.flow-progress{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 25px;font-size:12px;font-weight:700;color:var(--text-muted)}
.flow-progress li{flex:1;border-top:3px solid var(--line);padding-top:10px}
.flow-progress [aria-current=step]{color:var(--gold);border-color:var(--gold)}
.flow-page{max-width:680px;padding-block:32px 64px}.flow-page h1{font-size:30px;letter-spacing:-1px;line-height:1.2;margin:12px 0}
.flow-page h2{font-size:18px;margin:0 0 16px}.flow-section{padding:24px 0;border-bottom:1px solid var(--line)}
.flow-fields{display:grid;gap:14px}.flow-check{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 0}
.flow-check input{flex-shrink:0}.flow-kicker{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--gold)}
.flow-summary{padding:22px;background:var(--navy-light);border:1px solid var(--line);border-radius:8px;margin-block:22px}
.flow-summary .estimate-price{font-size:34px}.flow-actions{display:grid;gap:10px;margin-top:20px}
.flow-address{border:0;padding:0;margin:0;min-width:0}.flow-address legend{font-size:15px;margin-bottom:12px}
.flow-manual{display:grid;gap:12px;margin:10px 0 20px}.flow-suggestions{display:grid;gap:3px;margin-top:4px}
.flow-suggestions button{min-height:48px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--navy);color:var(--cream)}
.pet-type-buttons{display:flex;gap:6px;margin-block:6px 12px}.pet-type-buttons button{flex:1;min-height:46px;border:1px solid var(--line);border-radius:5px;background:var(--navy);color:var(--cream)}
.pet-type-buttons [aria-pressed=true]{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.flow-note{font-size:12px;color:var(--text-muted)}.flow-terms{max-height:180px;overflow:auto;font-size:12px;white-space:pre-wrap}.flow-page .primary{width:100%}
.quote-estimator .zip-grid,.quote-estimator .pet-fields{grid-template-columns:1fr}.quote-estimator .flow-progress{margin-bottom:20px}
.quote-estimator .primary,.quote-estimator .secondary{min-height:48px}.quote-estimator .flow-check{font-size:12px}
.quote-estimator .auth-methods{display:none}.quote-estimator .hero h1{white-space:normal}
@media(max-width:767px){.flow-page{padding-top:22px}.flow-page h1{font-size:26px}.registration-badge{white-space:normal}.flow-progress{font-size:11px;gap:6px}.hero h1{white-space:normal}}
/* Customer polish: keep the established DejaVu / cream / forest palette. */
.flow-note,.flow-terms,.flow-kicker,.flow-progress,.fine-print,.status,
.registration-badge,.quote-detail,.price-details dt,.flow-address legend,
.quote-estimator .flow-check,label,legend,.text-button,.nav-login,
.site-footer a,.site-footer p,.footer-bottom,.steps li,.faq-list p{font-size:14px}
.text-button,.hamburger,.mobile-close,.nav-login,.nav-links a,.footer-links a,
.faq-list summary{min-height:44px}
.nav-links a,.footer-links a{display:inline-flex;align-items:center}
.site-footer a{display:inline-flex;align-items:center;min-height:44px}
.hamburger{min-width:44px;justify-content:center;align-items:center}
.flow-terms{max-height:none;overflow:visible;overflow-wrap:anywhere}
.flow-page nav .brand-lockup{width:200px}
.quote-updating{display:flex;align-items:center;gap:10px;min-height:32px;margin:12px 0;color:var(--gold);font-size:14px}
.quote-updating::before{content:"";width:16px;height:16px;flex:0 0 16px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:quote-spin .8s linear infinite}
.quote-freshness{font-size:14px;color:var(--text-muted);margin:8px 0}
.quote-freshness:empty{display:none}
.info-page{max-width:800px;padding-block:40px 64px}
.info-page h1{font-size:clamp(28px,5vw,42px);line-height:1.2;letter-spacing:-1px}
.info-page h2{font-size:23px;line-height:1.3}
.info-page section{margin-block:32px}
.info-page .intro{font-size:17px;color:var(--text-muted);max-width:660px}
.info-card{padding:24px;background:var(--navy-light);border:1px solid var(--line);border-radius:8px;margin-block:20px}
.info-card h2{margin-top:0}.info-card .estimate-price{font-size:30px}
.contact-form{display:grid;gap:18px}.contact-form textarea{font:inherit;width:100%;min-height:160px;resize:vertical;margin-top:5px;padding:12px;border:1px solid #AFAE9E;border-radius:5px;background:var(--navy);color:var(--cream)}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.owner-photo-placeholder{min-height:220px;border:1px dashed var(--line);background:var(--navy-light);display:grid;place-items:center;padding:24px;color:var(--text-muted);border-radius:8px;margin-block:28px}
.info-nav{display:flex;gap:16px;flex-wrap:wrap}.info-nav a{min-height:44px;display:inline-flex;align-items:center}
@keyframes quote-spin{to{transform:rotate(360deg)}}
@media(max-width:767px){
 .registration-badge{white-space:normal;font-size:14px;letter-spacing:normal;align-items:flex-start}
 .flow-progress,.flow-kicker,.nav-login,.site-footer a,.footer-bottom{font-size:14px}
 .nav-inner:has(>a.nav-login) .brand-lockup{width:clamp(145px,48vw,220px);max-width:100%;height:auto}
 .nav-inner:has(>a.nav-login){gap:12px}
 .flow-page .flow-terms{max-height:none;overflow:visible}
 .service-toggle label{min-height:44px}
 .info-page{padding-top:24px}.info-card{padding:20px}
}
@media(prefers-reduced-motion:reduce){.quote-updating::before{animation:none}}
