/* Contact-only layout; shared forms and submission behavior stay intact. */
.contact-page .contact-intro{background:transparent;padding-block:48px 38px;border-bottom:1px solid #d5e1d7;margin-inline:clamp(20px,5vw,64px);padding-inline:0}
.contact-page .contact-intro h1{font-size:clamp(40px,4.8vw,64px);margin-block:16px;max-width:none}
.contact-page .contact-intro>p:last-child{max-width:58ch;color:#506a70;font-size:16px}
.contact-page .contact-layout{gap:clamp(28px,5vw,68px);padding-top:42px;padding-bottom:48px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.contact-page .contact-overview h2{font-size:27px}
.contact-page .contact-lead{font-size:15px;margin-bottom:24px;max-width:42ch}
.contact-page .contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:none;border:0;padding:0}
.contact-page .contact-channel{display:flex;flex-direction:column;gap:12px;border:1px solid #d5e1d7;border-radius:12px;background:#fcfdfb;padding:20px;min-width:0}
.contact-page .contact-channel:last-child{grid-column:1/-1;flex-direction:row;align-items:flex-start;border:1px solid #d5e1d7}
.contact-page .contact-channel:nth-child(3){grid-column:1/-1;flex-direction:row;align-items:flex-start}
.contact-page .contact-channel-icon{width:38px;height:38px;flex-shrink:0;border-radius:10px;background:#e7eee5}
.contact-page .contact-channel a{display:flex;font-size:14px;min-height:32px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}
.contact-page .contact-channel-label{font-size:12px;margin-bottom:7px}
.contact-page .contact-channel address{font-size:14px;line-height:1.8}
.contact-page .contact-form-panel{padding:clamp(23px,3vw,38px);border-radius:16px;box-shadow:0 12px 40px #123b4305;border-top:3px solid #17654d}
.contact-page .contact-form-panel h2{font-size:28px;margin-bottom:10px}
.contact-page .contact-form-panel>p{font-size:14px;margin-bottom:24px}
.contact-page .contact-form-panel input,.contact-page .contact-form-panel textarea{background:#f6f8f4;border-color:#b9cbc1;border-radius:6px}
.contact-page .contact-form-panel textarea{min-height:145px}
.contact-page .contact-form-panel .button{border-radius:6px;min-height:50px}
.contact-page .location-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border:1px solid #cbd9ce;border-radius:16px;overflow:hidden;background:#082d3c}
.contact-page .location-details{padding:clamp(26px,4vw,48px);color:#f1f6ee;min-width:0}
.contact-page .location-details .eyebrow{color:#a5c5b5;font-size:10px;letter-spacing:.16em}
.contact-page .location-details h2{font-size:clamp(27px,3vw,38px);line-height:1.4;margin:14px 0}
.contact-page .location-description{font-size:14px;line-height:1.9;color:#c0d3d2;max-width:38ch}
.contact-page .location-address{margin-block:25px;padding-top:22px;border-top:1px solid #ffffff25}
.contact-page .location-address>span{font-size:10px;letter-spacing:.12em;color:#a5c5b5}
.contact-page .location-address address{font-style:normal;font-size:14px;line-height:1.9;margin-top:8px}
.contact-page .location-directions{background:#d2e6d5;color:#082d3c;border-radius:6px;gap:22px;font-size:13px;min-height:48px}
.contact-page .contact-map{position:relative;border:0;border-radius:0;min-height:420px;background:#e4ece5;display:flex;flex-direction:column}
.contact-page .map-cover{position:relative;flex:1;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 24px;overflow:hidden;text-align:center;background:radial-gradient(ellipse at center,#fbfcf7aa,transparent 70%),linear-gradient(90deg,#62826b0c 1px,transparent 1px),linear-gradient(#62826b0c 1px,transparent 1px);background-size:auto,38px 38px,38px 38px}
.contact-page .map-city{font-size:clamp(30px,4.7vw,66px);font-weight:700;letter-spacing:.04em;color:#123b4314;position:absolute;top:35px;direction:ltr}
.contact-page .map-pin{width:72px;height:72px;display:grid;place-items:center;border:1px solid #fff;border-radius:50%;background:#f7faf3;box-shadow:0 0 0 16px #ffffff55,0 0 0 34px #ffffff28;color:#17654d;margin-bottom:28px;margin-top:38px}
.contact-page .map-pin svg{width:32px;height:32px}
.contact-page .map-cover strong{font-size:18px;margin-bottom:20px}
.contact-page .map-load{font:inherit;font-size:13px;padding:14px 20px;min-height:48px;border:1px solid #a4bcac;border-radius:6px;background:#fcfdf9;color:#123b43;cursor:pointer;display:flex;align-items:center;gap:18px}
.contact-page .map-load:hover{background:#fff;border-color:#17654d}
.contact-page .map-cover p,.contact-page .map-fallback{font-size:11px;line-height:1.8;color:#526f61;margin:14px 0 0}
.contact-page .contact-map iframe{flex:1;height:420px;min-height:420px;width:100%;border:0}
.contact-page .map-fallback{padding:10px 20px;margin:0;background:#f0f5ee}
.contact-page [hidden]{display:none!important}
.contact-page .map-load:focus-visible,.contact-page .location-directions:focus-visible{outline:3px solid #68a38a;outline-offset:4px}
@media(max-width:1000px){.contact-page .contact-layout{grid-template-columns:1fr 1.15fr;gap:28px}.contact-page .contact-channels{grid-template-columns:1fr}.contact-page .contact-channel{flex-direction:row;padding:16px}.contact-page .contact-channel:last-child{grid-column:auto}.contact-page .location-card{grid-template-columns:1fr 1fr}}
@media(max-width:740px){.contact-page .contact-layout,.contact-page .location-card{grid-template-columns:1fr}.contact-page .contact-intro{padding-block:32px 26px}.contact-page .contact-layout{padding-top:30px}.contact-page .contact-channels{grid-template-columns:1fr 1fr}.contact-page .contact-channel{flex-direction:column}.contact-page .contact-channel:last-child{grid-column:1/-1}.contact-page .location-details{padding:28px}.contact-page .contact-map,.contact-page .map-cover{min-height:340px}.contact-page .contact-map iframe{min-height:340px;height:340px}.contact-page .map-city{font-size:44px;top:25px}.contact-page .contact-form-panel .form-fields{grid-template-columns:1fr}.contact-page .contact-form-panel .button{width:100%}}
@media(max-width:380px){.contact-page .contact-channels{grid-template-columns:1fr}.contact-page .contact-channel{flex-direction:row}.contact-page .contact-channel:last-child{grid-column:auto}.contact-page .contact-form-panel h2{font-size:24px}}
@media(max-width:600px){.contact-page .contact-channels{grid-template-columns:1fr}.contact-page .contact-channel{flex-direction:row;align-items:flex-start}.contact-page .contact-channel a{font-size:14px}.contact-page .contact-channel bdi{white-space:nowrap}.contact-page .contact-channel:nth-child(3),.contact-page .contact-channel:last-child{grid-column:auto}}
