.contact-heading{padding-block:64px 48px;border-bottom:1px solid var(--line)}
.contact-heading h1{font-size:clamp(32px,4vw,50px);margin-bottom:16px}
.contact-heading>p:last-child{font-size:16px}
.contact-content{padding-block:48px 80px}
.contact-intro{max-width:850px;margin-bottom:36px}
.contact-intro h2{font-size:25px;margin-bottom:14px}
.address-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.address-card{border:1px solid var(--line);border-radius:8px;padding:28px;background:var(--paper);min-width:0}
.address-card h2{font-size:20px;margin-bottom:20px}
.office-address{font-size:14px;line-height:2.25;overflow-wrap:anywhere}
.contact-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;margin-top:40px;padding:36px;background:var(--wash);border-radius:8px}
.contact-bottom h2{font-size:24px;margin-bottom:16px}
.contact-bottom p{font-size:14px;line-height:2.1}
.contact-direct p+p{margin-top:8px}
.contact-direct a{display:inline-block;min-height:44px;padding-block:7px;text-decoration:underline;text-underline-offset:5px}
.form-layout{margin-top:48px}
.form-card .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.form-card .field{min-width:0}.form-card .field-label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px}
.form-card .field-control{height:50px;border:1px solid #a3afb9;border-radius:4px;background:#fff;margin:0}
.form-card .field.full{grid-column:1/-1}.form-card .field.full .field-control{height:128px}
.form-card>.button{width:fit-content;margin-top:22px;opacity:.72;cursor:not-allowed}
.form-card .form-note{margin-bottom:22px}
@media(max-width:1050px){.address-grid{grid-template-columns:1fr 1fr}.address-card:last-child{grid-column:1/-1}}
@media(max-width:700px){.contact-heading{padding-block:36px 28px}.contact-content{padding-block:28px 48px}.address-grid,.contact-bottom,.form-card .form-grid{grid-template-columns:minmax(0,1fr)}.form-card .field.full{grid-column:auto}.address-card{padding:22px}.contact-bottom{padding:24px;gap:28px}.contact-intro h2{font-size:23px}}

/* Contact-page spacing follows the shared 4/8px scale. */
.contact-heading h1{margin-bottom:var(--space-4);line-height:var(--leading-display)}
.contact-heading>p:last-child,.contact-intro,.office-address,.contact-bottom p{line-height:var(--leading-body)}
.contact-intro{margin-bottom:var(--space-6)}
.contact-intro h2{margin-bottom:var(--space-3);line-height:var(--leading-heading)}
.address-grid{gap:var(--space-5)}
.address-card{padding:var(--space-6)}
.address-card h2{margin-bottom:var(--space-4);line-height:var(--leading-heading)}
.contact-bottom{gap:var(--space-7);margin-top:var(--space-7);padding:var(--space-6)}
.contact-bottom h2{margin-bottom:var(--space-4);line-height:var(--leading-heading)}
.contact-direct p+p{margin-top:var(--space-2)}
.form-layout{margin-top:var(--space-7)}
.form-card .form-grid{gap:var(--space-5)}
.form-card .field-label{margin-bottom:var(--space-2);line-height:var(--leading-ui)}
.form-card>.button{margin-top:var(--space-5)}
.form-card .form-note{margin-bottom:var(--space-5);line-height:var(--leading-body)}
@media(max-width:700px){.contact-intro{margin-bottom:var(--space-5)}.address-card{padding:var(--space-5)}.contact-bottom{gap:var(--space-6);padding:var(--space-5)}}
