/* This composition is scoped to Contact; the shared header/footer are untouched. */
.contact-page{padding-bottom:16px}
.contact-page .page-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:48px;padding:32px 0 22px;border-bottom:1px solid #d8d5e7}
.contact-page .page-intro h1{font-size:clamp(40px,3.5vw,60px);line-height:1;margin-top:12px}
.contact-page .intro-description{justify-self:end;max-width:430px;margin:0;padding:0 0 8px;font-size:22px;line-height:1.35}
.contact-page .contact-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:12px;padding:16px 0 0;align-items:stretch}
.contact-page .contact-photo{min-height:0;overflow:hidden;border-radius:3px}
.contact-page .contact-photo img{object-position:48% center}
.contact-page .contact-photo figcaption{left:20px;bottom:18px;font-size:22px}
.contact-page .contact-photo figcaption span{font-size:16px;margin-top:5px}
.contact-page .contact-details{padding:0 14px 8px;min-width:0;border-radius:3px}
.contact-page .contact-item{grid-template-columns:40px minmax(0,1fr);gap:14px;padding:12px 0}
.contact-page .contact-icon{width:40px;height:40px;padding:9px;border:1px solid #c4c5da;border-radius:50%;margin-top:0}
.contact-page .contact-item .eyebrow{font-size:10px;letter-spacing:.1em;line-height:1.4}
.contact-page .contact-item h2{font-size:26px;line-height:1.1;margin:4px 0 6px}
.contact-page .contact-item address{font-size:18px;line-height:1.15}
.contact-page .contact-item .outline-link{min-height:36px;padding:5px 14px;margin-top:8px;font-size:9px;gap:18px}
.contact-page .contact-value{font-size:14px;line-height:1.4;margin:0}
.contact-page .contact-phone{font-size:22px;line-height:1.2;margin:4px 0 0}
.contact-page .contact-item:nth-child(3){border-bottom:0}
.contact-page .contact-inline-map{margin-top:0;min-height:190px;flex:1;display:flex;overflow:hidden;border-radius:3px}
.contact-page .contact-inline-map iframe{display:block;width:100%;height:100%;min-height:190px;flex:1;border:0;background:#eeecf5}
@media(max-width:1100px) and (min-width:901px){
.contact-page .contact-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.contact-page .contact-item{gap:10px}.contact-page .contact-item address{font-size:17px}
}
@media(max-width:900px){
.contact-page{padding-bottom:24px}
.contact-page .page-intro{grid-template-columns:1fr;gap:18px;padding:28px 0 22px}
.contact-page .page-intro h1{font-size:42px}
.contact-page .intro-description{justify-self:start;max-width:560px;font-size:21px;padding:0}
.contact-page .contact-layout{grid-template-columns:1fr;gap:12px}
.contact-page .contact-photo{aspect-ratio:3/2;min-height:0}
.contact-page .contact-details{padding:4px 16px 12px}
.contact-page .contact-item{padding:15px 0}
.contact-page .contact-item .outline-link{min-height:44px}
.contact-page .contact-inline-map,.contact-page .contact-inline-map iframe{height:240px;min-height:240px;flex:none}
}
@media(max-width:420px){
.contact-page .page-intro h1{font-size:36px}
.contact-page .contact-item{grid-template-columns:34px minmax(0,1fr);gap:10px}
.contact-page .contact-icon{width:34px;height:34px;padding:7px}
.contact-page .contact-item h2{font-size:24px}
.contact-page .contact-item address{font-size:17px}
.contact-page .contact-value{font-size:13px}
}
