/* Separate phone numbers and an actual consultation application. Minimum 20px. */
.visually-hidden,.lead-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
.phone-number[aria-disabled="true"]{cursor:default;user-select:text;transform:none!important}
.phone-number[aria-disabled="true"]:hover{transform:none!important}
.hero-phone-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:22px auto 0}
.hero-phone-row .phone-number{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:12px 22px;border:1px solid #bfcfed;border-radius:10px;background:#ffffffd9;color:#2d548c;font-size:1.375rem;font-weight:800;letter-spacing:0;white-space:nowrap}
.hero-phone-row .phone-number[href]:hover{background:#eaf1ff;border-color:#436bc2}
.hero .hero-actions .button-navy{background:var(--blue-gradient);color:#fff}
.services-grid .service-card .service-kicker{margin:0 0 8px;font-size:1.25rem;line-height:1.5;color:var(--tone-ink);font-weight:750}
.service-checks{display:grid;gap:9px;margin:0 0 24px;font-size:1.25rem;color:#405778;line-height:1.6}
.service-checks li{position:relative;padding-left:22px}
.service-checks li::before{content:"";position:absolute;left:1px;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.service-symptoms{color:#914727;margin-top:12px;font-size:1.25rem;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.service-process{margin-top:34px;padding:30px;border:1px solid #d4e2f6;border-radius:16px;background:linear-gradient(115deg,#eff7ff,#f7f2ff);text-align:center}
.service-process h3{font-size:1.625rem;margin:0 0 24px}
.service-process ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}
.service-process li{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:1.25rem;line-height:1.65}
.service-process li b{display:grid;place-items:center;width:48px;height:48px;background:#fff;border:1px solid #c9d9f2;border-radius:50%;color:#5367c4;font-size:1.25rem}
.service-process li strong{font-size:1.375rem;color:#294c7b}
.service-process li span,.service-process>p{font-size:1.25rem;color:#566d8b}
.service-process>p{margin-top:26px}
.quote-fields{border:0;padding:0;margin:0;min-width:0}
.lead-badge{display:inline-block;padding:6px 15px;border-radius:50px;background:#eef0ff;color:#5262ab;font-size:1.25rem;font-weight:750;margin-bottom:12px}
.quote-form-wrap .field input:not([type="checkbox"]){width:100%;min-width:0;min-height:58px;border:1px solid #c9d9f0;border-radius:6px;background:#fff;color:#263e60;padding:13px 14px;font-size:1.25rem;line-height:1.6}
.quote-form-wrap .field select,.quote-form-wrap .field textarea{font-size:1.25rem;min-width:0}
.quote-form-wrap .field input:focus-visible{outline:3px solid #6c85df;outline-offset:3px;border-color:#567cda}
.quote-form-wrap input::placeholder,.quote-form-wrap textarea::placeholder{color:#6a7b95;opacity:1}
.quote-form-wrap .field label{flex-wrap:wrap}
.quote-form-wrap .field label small{font-size:1.25rem;font-weight:500;color:#5c6e8c}
.privacy-block{border:1px solid #dae3f4;border-radius:10px;padding:17px;background:#f7faff;margin:6px 0 22px;font-size:1.25rem}
.privacy-consent{display:flex;align-items:flex-start;gap:12px;line-height:1.65;cursor:pointer;font-size:1.25rem;font-weight:700;color:#314f76}
.privacy-consent input{width:25px;height:25px;margin:4px 0 0;flex-shrink:0;accent-color:#4a64d7;cursor:pointer}
.privacy-consent b{font-size:1.25rem;color:#5869ad;font-weight:600;white-space:nowrap}
.privacy-details{margin:10px 0 0;padding-left:37px;color:#526984}
.privacy-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-size:1.25rem;line-height:1.6}
.privacy-details dl{margin:16px 0 0;font-size:1.25rem;line-height:1.7}
.privacy-details dt{font-weight:750;color:#354e74;margin-top:12px}
.privacy-details dd{margin:2px 0 0}
.privacy-details p{margin-top:16px;font-size:1.25rem;line-height:1.7}
.quote-status:empty{display:none}
.quote-form-wrap .quote-status{margin:18px 0 0;padding:16px 18px;border-radius:9px;background:#edf4ff;color:#294e91;line-height:1.7;font-size:1.25rem;overflow-wrap:anywhere}
.quote-status[data-state="error"]{background:#fff0ed;color:#a33929}
.quote-status[data-state="success"]{background:#e6f8f0;color:#146048}
.quote-form-wrap .button-full:disabled{transform:none;opacity:.75;cursor:default}
.quote-form-wrap .lead-new{width:100%;margin-top:14px;background:#fff;border-color:#cad7ee;color:#45609b;font-size:1.25rem}
.phone-section-title{font-size:1.625rem;margin:0 0 18px;text-align:center;color:#375386}
#quote .contact-block{border:0;background:transparent;padding:0;gap:18px}
#quote .contact-block>a{padding:22px 18px;border:1px solid #c7d8f1;border-radius:12px;background:#fff;box-shadow:0 7px 25px #375b9410}
#quote .contact-block>a+a{border:1px solid #c7d8f1}
#quote .contact-block>a>strong{font-size:1.875rem;letter-spacing:0}
#quote .contact-block>a[href]:hover{border-color:#5679cc;background:#f6f9ff}
.guide-dialog-form .quote-form-wrap .field input:not([type="checkbox"]){padding:11px 12px;min-height:54px}
.guide-dialog-form .privacy-block{padding:13px;margin-bottom:16px}
.guide-dialog-form .privacy-details{padding-left:0}
.guide-dialog-form .lead-badge{display:none}
.guide-dialog-form .quote-form-wrap .quote-status{padding:12px}
.guide-dialog-form .field label small{color:#6a7790}
@media(max-width:1023px){.service-process ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}}
@media(max-width:640px){
 .hero-phone-row{max-width:440px;gap:10px;display:grid;grid-template-columns:1fr}
 .hero-phone-row .phone-number{width:100%;min-height:56px;padding:12px;font-size:1.375rem}
 .service-process{padding:24px 18px}
 .service-process h3{font-size:1.375rem}
 .service-process ol{grid-template-columns:1fr;gap:22px}
 .service-process li{padding-bottom:20px;border-bottom:1px solid #d7e1f4}
 .service-process li:last-child{border-bottom:0;padding-bottom:0}
 .privacy-block{padding:14px}
 .privacy-details{padding-left:0}
 #quote .contact-block{padding:0;gap:12px}
 #quote .contact-block>a,#quote .contact-block>a+a{padding:20px 12px;border:1px solid #c7d8f1}
 #quote .contact-block>a>strong{font-size:1.75rem}
 .mobile-contact-bar{grid-template-columns:1.1fr 1fr}
 .mobile-contact-bar a{font-size:1.25rem}
 .mobile-contact-bar a:first-child .icon{display:none}
}
@media(max-width:560px){.header-actions .header-phone{display:none}}
@media print{.hero-phone-row .phone-number{background:#fff;color:#222}}

/* Validation changes are visible only after an unsuccessful submission. */
#quote-form input[aria-invalid="true"],#quote-form select[aria-invalid="true"],#quote-form textarea[aria-invalid="true"]{border-color:#cc3446;box-shadow:0 0 0 1px #cc3446}
#quote-form input[aria-invalid="true"]:focus-visible,#quote-form select[aria-invalid="true"]:focus-visible,#quote-form textarea[aria-invalid="true"]:focus-visible{outline-color:#cc3446;border-color:#cc3446}
#quote-form .privacy-block.is-invalid{border-color:#cc3446;box-shadow:0 0 0 1px #cc3446}
#quote-form .field-error{margin:8px 0 0;color:#af2638;font-size:1.25rem;line-height:1.6;overflow-wrap:anywhere}
#quote-form .field-error[hidden]{display:none}

/* A separate top-layer confirmation also works while the guide dialog is open. */
html.quote-success-open{overflow:hidden}
.quote-success-dialog{position:fixed;inset:0;width:min(480px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:42px 30px 28px;border:1px solid #dbe5fa;border-radius:22px;background:linear-gradient(160deg,#f4f8ff 0%,#fff 55%);color:#263e60;box-shadow:0 24px 100px #132b5c3d;text-align:center;overflow-y:auto;overscroll-behavior:contain}
.quote-success-dialog[open]{display:block}
.quote-success-dialog::backdrop{background:#112344a6;backdrop-filter:blur(4px)}
.quote-success-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#627697;cursor:pointer;font-size:1.875rem;line-height:1}
.quote-success-close:hover{background:#eaf0fc;color:#2d528b}
.quote-success-close:focus-visible,.quote-success-actions button:focus-visible{outline:3px solid #6c85df;outline-offset:3px}
.quote-success-icon{display:grid;place-items:center;width:84px;height:84px;margin:6px auto 24px;border:1px solid #cfddfa;border-radius:50%;background:linear-gradient(135deg,#e9f3ff,#ebedff);color:#4a64d7;box-shadow:0 0 0 10px #eef4ff80}
.quote-success-icon svg{width:48px;height:48px}
.quote-success-eyebrow{margin:0 0 10px;color:#5b6f9f;font-size:1.25rem;font-weight:750;letter-spacing:.08em}
.quote-success-dialog h2{margin:0;color:#263e60;font-size:2rem;line-height:1.4;letter-spacing:-.04em}
.quote-success-dialog #quote-success-description{margin:18px 0 0;color:#526984;font-size:1.25rem;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.quote-success-actions{margin-top:28px}
.quote-success-actions .button{min-height:56px;border-radius:10px;background:linear-gradient(110deg,#426bc8,#6260c8);color:#fff;font-size:1.25rem}
.quote-success-actions .button:hover{background:linear-gradient(110deg,#355cb6,#5653b9)}
@media(max-width:480px){.quote-success-dialog{padding:38px 20px 22px;border-radius:18px}.quote-success-dialog h2{font-size:1.75rem}.quote-success-icon{width:76px;height:76px;margin-bottom:22px}}
@media print{.quote-success-dialog{display:none!important}}
