/* v1.2.0 — retain approved identity; normalize geometry and mobile layout. */
.icon { display:block; flex:none; overflow:visible; }
.hero-form,.hero-copy { min-width:0; }
.form-submit-status { margin-top:14px; padding:11px 13px; border-radius:8px; background:#f1f8eb; color:#315d16; font-size:13px; line-height:1.5; }
.submit-progress { display:block; width:100%; height:5px; margin-top:8px; accent-color:#69f000; border:0; border-radius:4px; overflow:hidden; }
.submit-progress::-webkit-progress-bar { background:#dfead6; }
.submit-progress::-webkit-progress-value { background:#69f000; }
.photo-status { color:#396c1c; }
.process-icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; }
.hero-benefits .icon { width:28px; height:28px; margin:0; }
.trust-strip p { min-width:0; }
.trust-strip>div>span { aspect-ratio:1; }
.form-progress { align-items:center; }
.form-progress:before { top:50%; transform:translateY(-50%); }
.form-progress li { display:flex; align-items:center; justify-content:center; }
.quote-head h2 { font-size:clamp(27px,2.2vw,32px); }
.pb-quote-form select { padding-right:38px!important; }
.pb-quote-form :disabled { cursor:wait; }
.form-step [type=date]:disabled { cursor:default; }
.mobile-sticky { transition:transform .15s,opacity .15s; }
.mobile-sticky.keyboard-open { transform:translateY(120%); visibility:hidden; pointer-events:none; }
@media(max-width:760px) {
 html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:18px; }
 .container { width:calc(100% - 32px); }
 .header-inner { min-height:78px; padding-block:14px; }
 .brand { max-width:calc(100% - 60px); }
 .brand img,.custom-logo-link img { width:280px; max-width:100%; }
 .menu-toggle { width:42px; height:42px; }
 .hero-grid { display:flex; flex-direction:column; align-items:stretch; gap:26px; padding-top:28px; padding-bottom:52px; }
 .hero-copy,.hero-form { width:100%; max-width:100%; min-width:0; align-self:stretch; margin:0; }
 .hero h1 { font-size:clamp(36px,9.5vw,52px); line-height:1.08; margin:22px 0 20px; }
 .hero-description { font-size:16px; line-height:1.65; }
 .hero .pill { font-size:9px; letter-spacing:.09em; padding:8px 11px; }
 .hero-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; width:100%; max-width:none; margin-top:24px; }
 .hero-benefits>div { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; gap:10px; padding:12px 4px 10px; background:#ffffff04; border:1px solid #ffffff0f; border-radius:11px; min-width:0; }
 .hero-benefits .icon { width:25px; height:25px; margin:0; }
 .hero-benefits>div>span { width:100%; min-width:0; }
 .hero-benefits strong { margin:0; font-size:12px; line-height:1.4; min-height:34px; display:flex; align-items:center; justify-content:center; letter-spacing:-.02em; }
 .hero-benefits small { display:none; }
 .quote-card { width:100%; max-width:none; min-width:0; margin:0; padding:25px 20px 22px; border-radius:18px; box-shadow:0 4px 0 #dce1e590; }
 .quote-head h2 { font-size:28px; line-height:1.15; letter-spacing:-.045em; }
 .quote-head>p { font-size:14px; margin-top:9px; }
 .quote-overline { font-size:10px; margin-bottom:8px; }
 .form-progress { margin:22px 0 12px; }
 .form-progress li span { width:32px; height:32px; font-size:13px; }
 .form-step-caption { font-size:12px; margin-bottom:20px; }
 .form-step label:not(.consent):not(.button) { font-size:14px; margin:18px 0 8px; }
 .form-step>label:first-of-type { margin-top:0; }
 .form-row>div:first-child label:first-of-type { margin-top:0; }
 .pb-quote-form input:not([type=checkbox]):not([type=file]):not([type=hidden]),.pb-quote-form select,.pb-quote-form textarea { width:100%; min-width:0; font-size:16px; min-height:52px; padding:13px 14px; border-radius:9px; }
 .pb-quote-form input::placeholder,.pb-quote-form textarea::placeholder { font-size:14px; }
 .pb-quote-form textarea { min-height:100px; }
 .form-row { grid-template-columns:minmax(0,1fr); }
 .form-row>div+div { margin-top:18px; }
 .form-row>div+div label:first-of-type { margin-top:0; }
 .form-buttons { margin-top:24px; gap:10px; }
 .form-buttons .button { min-height:52px; font-size:15px; padding:13px 15px; }
 .form-prev { min-width:74px; }
 .form-assurance { align-items:flex-start; text-align:left; justify-content:center; font-size:11px; line-height:1.5; gap:7px; margin-top:16px; }
 .form-assurance .icon { width:14px; height:14px; margin-top:1px; }
 .consent { font-size:12px!important; gap:10px; line-height:1.6; }
 .consent input { width:20px; height:20px; }
 .field-hint { font-size:12px; }
 .form-success { min-height:300px; }
 .upload-zone { padding:24px 10px; }
 .upload-zone .button { width:100%; padding-inline:10px; }
 /* Equal cells and centered icons: no baseline offset or per-label shifting. */
 .trust-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:8px; margin-top:-24px; border-radius:16px; box-shadow:0 12px 40px #0f1b2408; }
 .trust-strip>div { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center; gap:10px; min-width:0; padding:17px 8px; }
 .trust-strip>div:nth-child(odd) { border-right:1px solid #edf0f2; }
 .trust-strip>div:nth-child(-n+2) { border-bottom:1px solid #edf0f2; }
 .trust-strip>div>span { width:40px; height:40px; display:grid; place-items:center; margin:0; }
 .trust-strip .icon { width:21px; height:21px; }
 .trust-strip strong { font-size:14px; line-height:1.35; min-height:38px; display:flex; align-items:center; justify-content:center; }
 .trust-strip small { font-size:12px; line-height:1.45; max-width:155px; margin:4px auto 0; }
 .section { padding-block:52px; }
 .section-heading { margin-bottom:26px; }
 .section-heading h2,h2 { font-size:32px; }
 .section-heading>p { font-size:15px; line-height:1.7; margin-top:16px; }
 .eyebrow { font-size:10px; }
 /* Each step is its own grid: the number and SVG never steal text width. */
 .steps-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .process-step { display:grid; grid-template-columns:32px 1fr; grid-template-rows:36px auto 1fr; column-gap:10px; row-gap:12px; align-content:start; padding:18px 14px; text-align:left; background:#f7f9fa; border:1px solid #e9eef1; border-radius:13px; min-width:0; }
 .process-step>.step-number { position:static; width:28px; height:28px; font-size:12px; align-self:center; grid-column:1; grid-row:1; }
 .process-icon { grid-column:2; grid-row:1; justify-self:end; margin:0; width:32px; height:32px; align-self:center; }
 .process-icon .icon { width:29px; height:29px; stroke-width:1.7; }
 .process-step h3 { grid-column:1/-1; margin:0; font-size:15px; line-height:1.35; letter-spacing:-.025em; }
 .process-step p { grid-column:1/-1; margin:0; font-size:13px; line-height:1.55; }
 .value-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .value-cards article { padding:20px 16px; min-width:0; }
 .value-cards .icon { width:26px; height:26px; margin:0 0 14px; }
 .value-cards h3 { font-size:14px; }
 .value-cards p { font-size:13px; line-height:1.55; }
 .clarity-points>div { align-items:flex-start; }
 .clarity-points .icon { width:22px; height:22px; margin-top:2px; }
 .footer-top .brand { max-width:100%; }
 .footer-top .brand img { width:280px; }
 .footer-top .icon { width:17px; height:17px; }
 .footer-top>div>a:not(.brand):not(.button),.footer-top>div>span:not(.footer-tag) { font-size:13px; }
 .mobile-sticky { padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); }
 .mobile-sticky .button { min-height:48px; font-size:14px; }
 .site-footer { padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
 .page-content .quote-card { max-width:100%; }
}
@media(max-width:360px) {
 .container { width:calc(100% - 24px); }
 .header-inner { min-height:74px; gap:10px; }
 .hero h1 { font-size:35px; }
 .hero .pill { font-size:8px; }
 .hero-benefits strong { font-size:11px; }
 .quote-card { padding:23px 17px 21px; }
 .quote-head h2 { font-size:25px; }
 .form-progress li span { width:29px; height:29px; }
 .process-step { padding:16px 11px; }
 .process-step h3 { font-size:14px; }
 .process-step p { font-size:12px; }
 .value-cards { grid-template-columns:minmax(0,1fr); }
 .trust-strip strong { font-size:13px; }
}

@media(max-width:760px) {
 /* Keep the mobile car visible even when the form makes the hero very tall. */
 .hero-art { bottom:auto; height:520px; }
 .hero-art:after { background:linear-gradient(90deg,#0c141aeb 0%,#0c141a99 52%,#0c141a55 100%),linear-gradient(0deg,#0c141a 0%,transparent 70%); }
}
