/* Contacts use the site's plum ink, warm paper and flat editorial rhythm. */
.contacts-page{--contact-space:clamp(60px,7vw,100px)}
.contacts-page section{scroll-margin-top:150px}
.contacts-page p{line-height:1.7}
.contact-hero{padding-top:28px;padding-bottom:44px}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:end;margin-top:42px}
.contact-hero .eyebrow{color:var(--accent);margin-bottom:22px}
.contact-hero h1{font-size:clamp(38px,4.5vw,66px);line-height:1.06;letter-spacing:-.045em;margin:0;max-width:700px}
.contact-intro p{font-size:clamp(16px,1.4vw,19px);max-width:48ch;margin:0;color:var(--text-secondary)}
.contact-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.contact-hero-actions .button{min-height:54px;padding-inline:25px;white-space:normal;gap:12px;min-width:0}
.contacts-page .contact-whatsapp{background:var(--accent-secondary);color:var(--ink)}
.contacts-page .contact-whatsapp:hover{background:#f2cb75}
.contacts-page .contact-route{border:1px solid var(--primary);background:transparent;color:var(--primary)}
.contacts-page .contact-route:hover{background:var(--alternate-background)}
.contact-channels{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(30px,6vw,90px);padding-bottom:var(--contact-space)}
.contact-section-heading{border-top:1px solid var(--line);padding-top:22px}
.contact-section-heading h2{font-size:clamp(26px,2.5vw,36px);margin:0 0 15px}
.contact-section-heading p{font-size:14px;color:var(--muted);max-width:33ch}
.contact-number-row{display:grid;grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:16px;border-top:1px solid var(--line);padding:20px 0}
.contact-number-row>span{font-size:12px;color:var(--muted)}
.contact-number-row a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}
.contact-number{font-size:clamp(19px,2vw,27px);letter-spacing:-.035em;white-space:nowrap}
.contact-message{font-size:13px;justify-self:end;text-decoration:underline}
.contact-rule{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:16px;margin-bottom:35px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.contact-location-section{padding-bottom:var(--contact-space)}
.contact-location-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,75px);align-items:center}
.contact-address-copy{padding-top:20px}
.contact-address-copy h2{font-size:18px;font-family:inherit;margin-bottom:22px}
.contact-address-copy address{font-style:normal;font-size:clamp(30px,3.2vw,46px);line-height:1.16;letter-spacing:-.04em;max-width:22ch}
.contact-address-copy .eyebrow{color:var(--accent);margin-bottom:20px}
.contact-hours{padding-top:30px;margin-top:32px;border-top:1px solid var(--line)}
.contact-hours h3,.contact-visit h3{font-family:inherit;font-size:15px;margin:0 0 10px}
.contact-hours p{font-size:clamp(20px,2vw,26px);margin:0;letter-spacing:-.025em}
.contact-visit{margin-top:30px;max-width:480px}
.contact-visit p{font-size:15px;color:var(--muted);margin:0 0 16px}
.contact-visit .text-link{font-size:14px;min-height:44px}
.contact-photo{margin:0;width:100%;justify-self:end}
.contact-photo .responsive-media{aspect-ratio:16/9;background:var(--alternate-background)}
.contact-photo .responsive-media img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.contact-photo figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:13px}
.contact-photo>.text-link{font-size:14px;min-height:44px;margin-top:8px}
.contact-directions{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,90px);padding-bottom:var(--contact-space);align-items:start}
.contact-directions h2,.contact-faq h2,.contact-proof h2{font-size:clamp(32px,3.7vw,50px);line-height:1.12;margin:15px 0 24px}
.contact-directions>div>p:not(.eyebrow){color:var(--muted);font-size:15px}
.contact-route-panel{border-block:1px solid var(--line);padding:28px 0}
.contact-route-panel .contact-route-name{font-size:22px;font-weight:500;color:var(--ink);margin:0 0 10px}
.contact-map-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 18px}
.contact-map-actions .button{font-size:14px;min-height:52px}
.contact-map-block{margin-top:calc(-1 * var(--contact-space) + 20px);padding-bottom:var(--contact-space)}
.contact-map-shell{min-height:300px;background:var(--alternate-background);display:grid;align-items:center;border:1px solid var(--line)}
.contact-map-placeholder{text-align:center;padding:36px 20px}
.contact-map-placeholder>p:first-child{font-size:22px;color:var(--ink);margin-bottom:20px}
.contact-map-placeholder .button{display:inline-flex}
.contact-map-placeholder .button[hidden]{display:none}
.contact-map-placeholder .contact-map-load-note{font-size:12px;color:var(--muted);margin-top:16px}
.contact-map-shell iframe{display:block;width:100%;height:380px;border:0}
.contact-route-panel .contact-map-note{font-size:12px;max-width:56ch;margin:0}
.contact-emergency{margin-bottom:var(--contact-space)}
.contact-emergency p{font-size:14px;padding:20px 24px;border-left:3px solid var(--muted);background:var(--alternate-background);margin:0}
.contact-emergency a{font-weight:600;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
.contacts-page .consultation-layout{padding-block:clamp(54px,6vw,90px)}
.contacts-page .consultation-layout h2{font-size:clamp(34px,4vw,56px);max-width:500px}
.contacts-page .consultation-layout>div>p:not(.eyebrow){max-width:43ch}
.contact-faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,90px);padding-block:var(--contact-space)}
.contact-faq>div>p:not(.eyebrow){font-size:15px;color:var(--muted)}
.contact-faq>div>.text-link{margin-top:15px;font-size:14px;min-height:44px}
.contact-faq .faq-list details{padding:0;border-top:1px solid var(--line)}
.contact-faq .faq-list details:last-child{border-bottom:1px solid var(--line)}
.contact-faq .faq-list summary{font-size:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;cursor:pointer;min-height:60px}
.contact-faq .faq-list details p{font-size:15px;color:var(--muted);margin:0;padding:0 30px 23px 0;max-width:65ch}
.contact-proof{padding-bottom:var(--contact-space)}
.contact-proof h2{max-width:700px}
.contact-proof-links{display:flex;flex-wrap:wrap;gap:12px 36px;padding:20px 0 30px;border-bottom:1px solid var(--line)}
.contact-proof-links a{min-height:44px}
.contact-legal{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:28px;font-size:13px;color:var(--muted)}
.contact-legal h3{font-size:14px;font-family:inherit;color:var(--ink);margin-bottom:12px}
.contact-legal p{margin:0 0 10px;max-width:60ch}
@media(max-width:1000px){.contact-channels{grid-template-columns:1fr;gap:15px}.contact-section-heading{display:flex;gap:30px;justify-content:space-between;align-items:start}.contact-section-heading p{margin:0;max-width:40ch}.contact-number-row{grid-template-columns:1fr 1fr auto}.contact-location-grid{gap:40px}.contact-directions,.contact-faq{grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:35px}.contact-number{font-size:25px}}
@media(max-width:760px){.contact-hero-grid,.contact-location-grid,.contact-directions,.contact-faq{grid-template-columns:1fr}.contact-hero-grid{margin-top:30px;gap:24px}.contact-hero h1{max-width:620px}.contact-intro p{max-width:60ch}.contact-hero-actions{gap:10px;margin-top:26px}.contact-hero-actions .button{font-size:14px;padding-inline:18px}.contact-section-heading{display:block}.contact-section-heading p{max-width:60ch;margin-top:12px}.contact-address-copy{padding-top:0}.contact-address-copy address{max-width:24ch;font-size:clamp(30px,6vw,42px)}.contact-photo{justify-self:start;max-width:100%}.contact-location-grid{gap:30px}.contact-directions{gap:18px}.contact-directions h2{margin-bottom:16px}.contact-faq{gap:25px}.contact-legal{grid-template-columns:1fr;gap:15px}.contact-hero{padding-bottom:34px}.contact-number-row{gap:10px;grid-template-columns:1fr auto}.contact-number-row>span{grid-column:1/-1}.contact-number{font-size:24px}}
@media(max-width:420px){.contact-hero-actions{display:grid;grid-template-columns:1fr 1fr}.contact-hero-actions .button{padding-inline:12px}.contact-hero-actions .contact-route{grid-column:1/-1}.contact-hero-actions .contact-whatsapp{font-size:12px}.contact-number{font-size:21px}.contact-message{font-size:12px}.contact-map-actions{display:grid}.contact-map-actions .button{justify-content:space-between}.contact-faq .faq-list summary{font-size:16px}.contact-rule{font-size:10px}.contact-emergency p{padding:12px 16px}.contact-proof-links{display:grid;gap:8px}.contact-photo{max-width:100%}}
@media(prefers-reduced-motion:reduce){.contacts-page *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:360px){.contact-hero-actions{grid-template-columns:1fr}.contact-hero-actions .contact-whatsapp{font-size:14px}}
