.contact-page-hero{padding:46px 0 38px;background:#f1f5f3;border-bottom:1px solid #d8e1dc}
.contact-page-hero h1{font-size:42px;line-height:1.2;margin:14px 0 18px;max-width:850px;overflow-wrap:anywhere}
.contact-page-hero .detail-lead{max-width:760px;font-size:18px;line-height:1.7;overflow-wrap:anywhere}
.contact-page-phone{display:inline-flex;align-items:center;gap:18px;font-size:27px;line-height:1.5;min-height:48px;color:#173f2c;font-weight:600;margin:12px 0}
.contact-page-phone svg{width:24px;height:24px;flex:0 0 24px}
.contact-page-hours{display:flex;align-items:center;gap:9px;font-size:14px;color:#3a5a48}
.contact-page-hours svg{width:18px;height:18px;flex:0 0 18px}
.contact-page-schedule{font-size:13px;color:#52665a;max-width:690px;line-height:1.7}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:64px;padding-top:44px;padding-bottom:56px}
.contact-page-grid h2{font-size:25px;line-height:1.35;overflow-wrap:anywhere}
.contact-page-grid p,.contact-page-grid li{line-height:1.8;overflow-wrap:anywhere}
.contact-page-address{font-size:20px;font-weight:600;color:#1b442e}
.contact-page-photo{margin:24px 0}
.contact-page-photo img{display:block;width:100%;height:auto;object-fit:contain}
.contact-page-photo figcaption{font-size:12px;line-height:1.7;color:#58685e;margin-top:9px}
.contact-page-channels{border-top:1px solid #cbd8cf}
.contact-page-channels>a{display:flex;align-items:center;gap:12px;padding:18px 0;min-height:76px;border-bottom:1px solid #cbd8cf}
.contact-page-channels>a>svg{width:20px;height:20px;flex:0 0 20px;color:#24563c}
.contact-page-channels>a>span{flex:1;min-width:0}
.contact-page-channels strong{display:block;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.contact-page-channels small{display:block;font-size:13px;line-height:1.7;color:#4a6352;overflow-wrap:anywhere}
.contact-page-side>p{font-size:13px;color:#53665b}
.contact-page-side .contact-page-source{font-size:12px}
.contact-page-questions>h2{margin-top:0}
.contact-page-questions details{border-bottom:1px solid #ccd8cf}
.contact-page-questions summary{display:flex;gap:18px;align-items:center;list-style:none;font-size:16px;line-height:1.6;font-weight:600;min-height:64px;padding:18px 0;cursor:pointer;overflow-wrap:anywhere}
.contact-page-questions summary::-webkit-details-marker{display:none}
.contact-page-questions summary svg{width:18px;height:18px;flex:0 0 18px;margin-left:auto}
.contact-page-questions details[open] summary svg{transform:rotate(180deg)}
.contact-page-questions details p{font-size:14px;color:#4c6353;margin:0 0 20px}
.contact-page-related{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:30px}
.contact-page-related a{display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px;color:#23583e;overflow-wrap:anywhere}
.contact-page-related svg{width:17px;height:17px;flex:0 0 17px}
.contact-page-grid a:focus-visible,.contact-page-hero a:focus-visible,.contact-page-questions summary:focus-visible{outline:3px solid #a84d5a;outline-offset:4px}
@media(max-width:900px){.contact-page-grid{grid-template-columns:1fr;gap:36px}.contact-page-side{border-top:1px solid #cbd8cf;padding-top:26px}.contact-page-side .contact-page-photo{max-width:600px}}
@media(max-width:640px){.contact-page-hero{padding:30px 0}.contact-page-hero h1{font-size:30px}.contact-page-hero .detail-lead{font-size:16px}.contact-page-phone{font-size:22px;gap:12px;flex-wrap:wrap}.contact-page-grid{padding-top:30px}.contact-page-grid h2{font-size:22px}.contact-page-address{font-size:18px}.contact-page-questions summary{font-size:15px}.contact-page-grid .text-button{white-space:normal;flex-wrap:wrap}}

/* Lead with the real illuminated entrance; the lower call panel follows visitor information. */
.contact-page-hero h1{font-family:var(--display);font-weight:400}
.contact-page-hero-layout.has-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,70px);align-items:center}
.contact-hero-photo{margin:0;border-radius:4px;overflow:hidden}
.contact-hero-photo img{width:100%;height:auto;display:block;aspect-ratio:auto;object-fit:contain}
@media(max-width:900px){.contact-page-hero-layout.has-photo{grid-template-columns:1fr}.contact-hero-photo{max-width:700px}}
