/* WCAG source review 18 October 2026; real-browser checks remain necessary. */
html{scroll-padding-top:140px;scroll-padding-bottom:calc(30px + var(--privacy-notice-space,0px))}
main:focus{outline:none}
main a,main button,main input,main select,main textarea,summary,footer a{scroll-margin-top:140px;scroll-margin-bottom:calc(30px + var(--privacy-notice-space,0px))}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #806725;outline-offset:4px;box-shadow:0 0 0 6px #fff}
#menu .mobile-menu-back button:focus-visible{background:#e4d5ae;color:#242726;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;outline:none;box-shadow:none}
.prose p a,.notes p a,.contact-note a,.funding p a{text-decoration:underline;text-underline-offset:3px}
.page-hero:before{background:linear-gradient(90deg,rgba(15,22,21,.94),rgba(15,22,21,.82) 55%,rgba(15,22,21,.72))}
.whatsapp-floating{background:#128c4a}.whatsapp-floating:hover{background:#0c713a}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{border-color:#806725}
.contact-form [aria-invalid=true]{border-color:#932b1f!important;outline:2px solid #932b1f;outline-offset:2px}
.privacy-notice{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
.preference-panel{scroll-padding-top:120px;scroll-padding-bottom:24px}
.preference-panel button,.preference-panel input,.preference-panel a{scroll-margin-top:120px;scroll-margin-bottom:24px}
.preference-panel-head{position:static}
.effects-toolbar{position:static;left:auto;bottom:auto;transform:none;margin:16px auto;width:max-content;max-width:calc(100% - 32px);flex-wrap:wrap;justify-content:center;white-space:normal;backdrop-filter:none}
.effects-preview .site-footer{padding-bottom:0}
.effects-toolbar button,.effects-toolbar a{min-height:32px;display:inline-flex;align-items:center}
html.a11y-contrast .motion-statement .paint-word{color:#101410!important}
html.a11y-motion .service:hover img,html.a11y-motion .service:focus-within img,html.a11y-motion .photo-frame img{transform:none!important;filter:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
@media(max-width:760px){
 html{scroll-padding-top:120px}
 main a,main button,main input,main select,main textarea,summary,footer a{scroll-margin-top:120px}
 .wrap{width:calc(100% - 40px)}
 .utility .wrap{flex-wrap:wrap;gap:2px 12px;padding-block:8px}.utility span{width:100%}
 h1,h2,h3,.big-phone,.roadside-call{overflow-wrap:anywhere}
 .section-head,.roadside .wrap{flex-wrap:wrap}
 .hero-copy,.about-copy,.banner>div,.visit,.journal aside{min-width:0}
 .contact-grid>div,.content-layout>*,.service-grid>*,.journal-grid>*,.form-grid>*{min-width:0}
 .button,.text-link,.big-phone,.email{max-width:100%;overflow-wrap:anywhere}
 .privacy-notice{max-height:calc(100dvh - 24px)}
 .privacy-actions button{white-space:normal;min-width:0;flex-basis:100%}
 .consent-row{flex-wrap:wrap}.consent-badge{white-space:normal}
 .reading-options button{flex-wrap:wrap}
 .effects-toolbar{width:calc(100% - 32px);position:static;transform:none;margin:12px auto}
}
@media(forced-colors:active){a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid Highlight;box-shadow:none}.whatsapp-floating,.menu-toggle,.back-top,.preference-launcher{border:2px solid ButtonText}.consent-switch>span{border:2px solid ButtonText}.consent-switch input:checked+span{background:Highlight}}

@media(max-height:480px){header{position:relative}html{scroll-padding-top:24px}main a,main button,main input,main select,main textarea,summary,footer a{scroll-margin-top:24px}}
.privacy-notice{max-height:45dvh}

.mobile-menu-open .privacy-notice,.mobile-menu-open .preference-dock{visibility:hidden}

/* V30: the map spans the full page, independently of text-column widths. */
.contact-map{width:100%;max-width:none;margin-inline:0;padding-inline:0}
.contact-map .map-stage{display:block;width:100%;max-width:none;min-width:0;min-height:440px}
.contact-map .map-stage iframe{display:block;width:100%!important;max-width:none;height:480px;border:0}
.contact-map .map-placeholder{width:100%;box-sizing:border-box}
@media(max-width:650px){.contact-map .map-stage{min-height:400px}.contact-map .map-stage iframe{height:400px}}
