/* Contact page only: clear sections, generous inputs and an obvious send action. */
.contact-refresh .hero.compact{min-height:420px;min-height:clamp(380px,48svh,500px);border-bottom:0}
.contact-refresh .page-hero .hero-inner{padding-block:52px 48px}
.contact-refresh .page-hero h1{font-size:clamp(2.5rem,5vw,4rem)}
.contact-refresh .contact-grid{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:36px;align-items:start}
.contact-refresh .contact-grid .form-card{padding:clamp(24px,4vw,48px);border-radius:20px;border:1px solid #dce5f2;box-shadow:0 20px 65px #0b1c4510;background:#fff;min-width:0}
.contact-refresh .form-card>h3{font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:-.035em;margin-bottom:12px}
.contact-refresh .form-card>p{font-size:1rem;line-height:1.75}
.contact-refresh .required-note{font-size:.8rem;color:#576780;margin:16px 0 28px}
.contact-refresh .required-note span,.contact-refresh .field label>span{color:#244c9a}
.contact-refresh .quote-group{min-width:0;margin:0;padding:0 0 26px;border:0;border-bottom:1px solid #e0e7f2}
.contact-refresh .quote-group legend{padding:0;margin-bottom:18px;font:600 1.12rem var(--font-display);color:#102a53;letter-spacing:-.025em}
.contact-refresh .address-group{padding-top:10px}
.contact-refresh .address-help{font-size:.875rem;line-height:1.65;color:#52647e;margin:0 0 22px;max-width:52ch}
.contact-refresh .form-grid{gap:20px}
.contact-refresh .field{gap:8px;min-width:0}
.contact-refresh .field label,.contact-refresh .service-heading{font-size:.875rem;font-weight:600;color:#193259}
.contact-refresh .field label small{font-size:.8rem;font-weight:400;color:#65748a}
.contact-refresh .field :is(input,textarea){background:#f8faff;min-height:52px;border:1px solid #c8d6ea;border-radius:10px;font-size:1rem;padding:14px 15px}
.contact-refresh .field :is(input,textarea)::placeholder{color:#738096;opacity:1}
.contact-refresh .field :is(input,textarea):focus{border-color:#4169e1;background:#fff;box-shadow:0 0 0 4px #4169e119}
.contact-refresh .field input:user-invalid{border-color:#b84242;box-shadow:0 0 0 3px #b8424210}
.contact-refresh #q-postal{text-transform:uppercase}
.contact-refresh .service-picker{gap:10px;margin-top:10px}
.contact-refresh .service-picker label{padding:13px 12px;font-size:.875rem;line-height:1.55;align-items:center;border-width:1px;border-radius:10px;min-height:58px}
.contact-refresh .service-picker label:has(input:checked){background:#eaf1ff;border-color:#4169e1;box-shadow:0 0 0 1px #4169e1}
.contact-refresh .service-picker input{width:18px;height:18px;margin:0 8px 0 0;flex:none}
.contact-refresh .field-note{font-size:.8rem;line-height:1.65;margin-top:6px}
.contact-refresh .quote-submit{border-top:1px solid #e0e7f2;padding-top:24px}
.contact-refresh .quote-submit>.btn{width:100%;min-height:56px;font-size:.95rem;justify-content:center;border-radius:10px}
.contact-refresh .quote-submit .form-note{font-size:.85rem;line-height:1.8;text-align:center;margin:20px 0 0}
.contact-refresh .contact-grid .info-card{background:linear-gradient(145deg,#0d214a,#1c3c74);border:1px solid #375a90;border-radius:20px;padding:30px 24px;box-shadow:0 16px 45px #0b1c4517}
.contact-refresh .info-card .row{border-radius:10px;font-size:.9rem;overflow-wrap:anywhere;padding:16px 12px}
.contact-refresh .info-card .row small{font-size:.8rem;line-height:1.7;color:#c0cee3}
@media(min-width:921px){.contact-refresh .contact-grid .info-card{position:sticky;top:135px}}
@media(max-width:920px){.contact-refresh .contact-grid{grid-template-columns:minmax(0,1fr);gap:26px}.contact-refresh .contact-grid .form-card{grid-row:1}.contact-refresh .contact-grid .info-card{grid-row:2}}
@media(max-width:560px){.contact-refresh .contact-grid .form-card{padding:26px 20px}.contact-refresh .form-grid,.contact-refresh .service-picker{grid-template-columns:minmax(0,1fr)}.contact-refresh .contact-grid{width:calc(100% - 28px)}.contact-refresh .hero.compact{min-height:390px}.contact-refresh .quote-group{padding-bottom:24px}}
