.hero .hero-enter { animation: hero-entrance 500ms cubic-bezier(.22,1,.36,1) both; }
.hero .hero-copy > :nth-child(2) { animation-delay:80ms; }
.hero .hero-copy > :nth-child(3) { animation-delay:160ms; }
.hero .hero-copy > :nth-child(4) { animation-delay:240ms; }
.hero #quote { animation-delay:320ms; top:165px; padding:22px; scroll-margin-top:105px; }
.hero #quote h2 { font-size:20px; margin-bottom:16px; }
.hero #quote .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; margin-bottom:14px; }
#quote .quote-field { min-width:0; }
#quote label { display:block; font-size:11px; font-weight:650; line-height:1.4; margin-bottom:5px; color:#284568; }
#quote .optional-label { position:static; width:auto; height:auto; clip:auto; font-weight:450; }
#quote input, #quote select, #quote textarea { box-sizing:border-box; width:100%; min-width:0; min-height:40px; height:40px; border:1px solid #dce5f0; border-radius:4px; padding:9px; background:#fafcff; color:#0b2547; font:inherit; font-size:13px; line-height:1.35; }
#quote select { padding-right:2px; }
#quote textarea { display:block; height:62px; resize:none; }
#quote .quote-message { grid-column:1 / -1; }
#quote [aria-invalid="true"] { border-color:#b42318; }
#quote .field-error { display:block; color:#b42318; font-size:11px; line-height:1.35; margin-top:4px; }
#quote .field-error:empty { display:none; }
#quote .quote-consent { font-size:11px; line-height:1.55; margin:12px 0 0; color:#425872; }
#quote .quote-consent a { color:#084ea2; text-decoration:underline; text-underline-offset:2px; }
#quote .form-status { font-size:12px; }
#quote:focus-within { animation:none; }
@keyframes hero-entrance { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-form-entrance { from { opacity:0; transform:translate(16px,12px); } to { opacity:1; transform:translate(0,0); } }
@media (min-width:1001px) { .hero #quote { animation-name:hero-form-entrance; } }
@media (min-width:1600px) { .hero #quote { top:210px; } }
@media (max-width:1000px) { .hero #quote { top:auto; } }
@media (max-width:760px) {
 .hero #quote { padding:20px; }
 #quote input, #quote select, #quote textarea { font-size:16px; min-height:44px; height:44px; }
 #quote textarea { height:70px; }
 #quote .quote-consent { font-size:12px; }
 .sticky-mobile-cta a { font-size:12px; }
}
@media (max-width:370px) { .hero #quote .form-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .hero .hero-enter, .hero #quote { animation:none; opacity:1; transform:none; } }
