.contact-hero{background:var(--navy);color:white;padding:3.5rem 0 4rem}
.contact-hero__layout{display:grid;grid-template-columns:1.1fr 1fr;gap:6rem;align-items:center}
.contact-hero h1{color:white;font-size:clamp(4rem,7vw,6rem);margin-bottom:1.25rem;max-width:none}
.contact-hero__lede{font-size:1.2rem;line-height:1.65;max-width:40ch;color:#d5e2f8;margin-bottom:2rem}
.contact-hero :focus-visible{outline-color:#b8d5ff}
.contact-direct a{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:1.25rem 0;text-decoration:none;border-bottom:1px solid #435373}
.contact-direct a:first-child{padding-top:0}
.contact-direct a span{color:#b8cce9;font-size:.9rem;grid-column:1}
.contact-direct a strong{font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:600;overflow-wrap:anywhere;grid-column:1}
.contact-direct .arrow-icon{grid-column:2;grid-row:1 / 3;align-self:center}
.contact-direct a:hover strong{text-decoration:underline;text-underline-offset:.2em}
.contact-body{background:white;padding-block:4.5rem}
.contact-body .quote-layout{align-items:start;gap:5rem}
.contact-guidance h2{font-size:clamp(1.8rem,3vw,2.4rem)}
.contact-guidance>p{color:var(--slate)}
.contact-new-work{border-block:1px solid var(--line);padding-block:1.75rem;margin-block:2rem}
.contact-new-work h3{font-size:1.15rem}
.contact-new-work p{margin-bottom:.75rem}
.contact-text-link{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;font-weight:700;color:var(--blue-dark)}
.contact-privacy-note{font-size:.9rem;max-width:40ch}
.contact-body .quote-form{background:var(--paper);box-shadow:none;padding:2rem;border-radius:12px}
#contact-message{scroll-margin-top:8rem;min-width:0}
.contact-coverage{background:#edf2f7;padding-block:4.5rem}
.contact-coverage__heading{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-bottom:2rem}
.contact-coverage__heading h2{margin-bottom:0}
.contact-coverage__heading p{color:var(--slate);margin-bottom:0;max-width:52ch}
.contact-coverage__layout{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:start}
.contact-map{min-width:0}
.contact-map iframe{display:block;border:1px solid #c2ccd9;width:100%;height:520px;border-radius:12px;background:#dce5e9}
.contact-map>a{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;font-size:.9rem}
.contact-areas h3{margin-bottom:.75rem}
.contact-areas ul{list-style:none;padding:0;margin:0 0 1.25rem}
.contact-areas li{border-bottom:1px solid #cbd5e2}
.contact-areas li a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.6rem 0;text-decoration:none;font-weight:600}
.contact-areas li a:hover{text-decoration:underline;color:var(--blue-dark)}
.contact-areas>p{font-size:.9rem;color:var(--slate);margin-bottom:.5rem}
@media(max-width:900px){.contact-hero__layout{gap:3rem}.contact-body .quote-layout{gap:2rem}.contact-coverage__layout{grid-template-columns:1.2fr 1fr;gap:2rem}.contact-map iframe{height:560px}}
@media(max-width:640px){.contact-hero{padding:2rem 0 2.5rem}.contact-hero__layout,.contact-coverage__heading,.contact-coverage__layout{grid-template-columns:1fr;gap:2rem}.contact-hero h1{font-size:4rem}.contact-hero__lede{font-size:1.1rem}.contact-direct a{padding-block:1rem}.contact-body,.contact-coverage{padding-block:3rem}.contact-body .quote-layout{grid-template-columns:1fr;gap:2rem}.contact-body .quote-form{padding:1.25rem}.contact-new-work{margin-block:1.5rem;padding-block:1.25rem}.contact-coverage__heading{gap:1rem}.contact-map iframe{height:380px}.contact-areas li a{min-height:48px}}
