.contact-main{position:relative;isolation:isolate;min-height:70vh;padding:clamp(54px,6vw,88px) clamp(24px,6vw,100px) clamp(72px,7vw,100px);background-color:#fff;background-image:linear-gradient(115deg,#a5cbd9 0%,#dbeaf0 32%,#fff 66%,#fff 100%)}
.contact-main:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.28;background-image:repeating-linear-gradient(125deg,transparent 0 3px,rgba(73,141,166,.045) 3px 4px)}
.contact-shell{max-width:1250px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr);gap:clamp(48px,7vw,100px);align-items:start}
.contact-intro h1{font:700 clamp(3.2rem,5vw,5.7rem)/1.02 'Manrope',sans-serif;letter-spacing:-.06em;color:var(--forest);margin:22px 0 24px}
.contact-intro h1 em{font:inherit;color:var(--blue)}
.contact-lede{max-width:500px;margin:0;color:#4d605e;font-size:clamp(1.05rem,1.3vw,1.25rem);font-weight:500;line-height:1.7}
.contact-provider{position:relative;margin-top:34px;min-height:152px;display:grid;grid-template-columns:124px minmax(0,1fr);overflow:hidden;background:#fff;border:1px solid rgba(73,141,166,.2);box-shadow:0 18px 46px rgba(35,87,107,.09)}
.contact-provider-photo{position:relative;min-height:152px;overflow:hidden;background:var(--pale-blue)}
.contact-provider-photo:after{content:none}
.contact-provider-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:none}
.contact-provider-copy{align-self:center;padding:22px 24px 22px 20px;min-width:0}
.contact-provider-label{display:block;margin-bottom:7px;font:700 .69rem/1.4 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}
.contact-provider h2{margin:0;color:var(--forest);font:700 clamp(1.25rem,2vw,1.6rem)/1.18 'Manrope',sans-serif;letter-spacing:-.025em}
.contact-provider-role{display:block;margin-top:5px;color:#627773;font:500 .84rem/1.45 'DM Sans',sans-serif}
.contact-provider-link{display:inline-flex;align-items:center;gap:9px;margin-top:15px;color:var(--blue);font:700 .78rem/1.4 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.06em}
.contact-provider-link:hover{text-decoration:underline;text-underline-offset:4px}
.contact-appointment{margin-top:38px;padding:26px 28px;background:var(--forest);color:#fff}
.contact-appointment h2{margin:0 0 10px;font:700 clamp(1.35rem,2vw,1.75rem)/1.25 'Manrope',sans-serif}
.contact-appointment p{margin:0;color:#e7f2ed;line-height:1.65}
.contact-appointment .about-cta{margin-top:22px}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #bfd4dc;border-left:1px solid #bfd4dc;background:rgba(255,255,255,.72)}
.contact-card{min-height:190px;padding:28px;border-right:1px solid #bfd4dc;border-bottom:1px solid #bfd4dc;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:22px}
.contact-card.contact-address,.contact-card.contact-hours{min-height:205px}
.contact-card-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--mint);color:var(--forest)}
.contact-card-icon svg{width:21px;height:21px;fill:currentColor}
.contact-card-icon.contact-clock-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-card-label{display:block;margin-bottom:8px;font:700 .73rem/1.4 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--blue)}
.contact-card a,.contact-card p,.contact-card address{margin:0;color:#27443f;font:600 clamp(1rem,1.4vw,1.15rem)/1.55 'Manrope',sans-serif;font-style:normal;overflow-wrap:anywhere}
.contact-card a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-directions{display:inline-flex!important;align-items:center;gap:10px;color:var(--blue)!important;font-size:.9rem!important}
.contact-hours-copy{width:100%}
.contact-hours-schedule{display:grid;gap:14px;width:100%}
.contact-hours-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:baseline;gap:0}
.contact-hours-row strong{font-weight:700;white-space:nowrap}
.contact-card .contact-hours-closed{color:#55736d;font-size:.9rem}
@media(max-width:850px){.contact-main{background-color:#fff;background-image:linear-gradient(155deg,#a5cbd9 0%,#e0edf2 35%,#fff 62%,#fff 100%)}.contact-shell{grid-template-columns:1fr}.contact-intro{max-width:680px}.contact-grid{max-width:760px}}
@media(max-width:520px){.contact-main{padding:42px 20px 68px}.contact-intro h1{font-size:3.35rem}.contact-provider{grid-template-columns:108px minmax(0,1fr)}.contact-provider-copy{padding:20px 18px 20px 14px}.contact-provider h2{font-size:1.2rem}.contact-grid{grid-template-columns:1fr}.contact-card{min-height:165px;padding:24px}.contact-card.contact-address,.contact-card.contact-hours{min-height:175px}.contact-hours-schedule{gap:9px}.contact-hours-row{grid-template-columns:minmax(0,1fr);gap:0}.contact-appointment{padding:24px}}
