
/* Accessibility and resilient external services */
[hidden]{display:none!important}
.skip{position:absolute;top:8px;left:8px;transform:translateY(-180%);z-index:1000;background:#fff;color:#183c32;padding:12px 18px;border:2px solid currentColor}
.skip:focus{transform:none}
:focus-visible{outline:3px solid #087bca;outline-offset:4px}
img{max-width:100%;height:auto}
.external-controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 0;font-size:14px}
.external-controls button{font:inherit;cursor:pointer;padding:8px 12px;color:inherit;background:transparent;border:1px solid currentColor;border-radius:6px}
.external-status{font-size:14px;margin:10px 0}
[data-external-container] iframe{display:block;width:100%;height:650px;min-height:450px;border:0;background:#fff}
[data-external-container="maps"] iframe{height:360px;min-height:300px}
.legal-page{max-width:880px;margin:40px auto;padding:0 24px;overflow-wrap:anywhere}
.legal-page h1{font-size:clamp(36px,6vw,64px)}
.legal-page h2{font-size:26px;margin-top:36px;letter-spacing:-.02em}
.legal-page dt{font-weight:bold;margin-top:20px}
.legal-page dd{margin-left:0}
.legal-links{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:16px 0;font-size:14px}
.legal-links button{font:inherit;background:none;color:inherit;border:1px solid currentColor;padding:8px 12px;cursor:pointer}
@media(max-width:600px){header nav{flex-wrap:wrap;gap:12px}header .wrap{flex-wrap:wrap} .external-controls{align-items:flex-start;flex-direction:column}[data-external-container] iframe{height:600px} a,button,summary{touch-action:manipulation}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.privacy-dialog{--dark:#173e36;--teal:#24634f;--mint:#e7eee7;--muted:#53675d;color:var(--dark);background:#f5f3eb;text-align:left}.privacy-dialog p{margin:12px 0}.privacy-dialog .privacy-actions button{min-height:44px}.legal-page{--teal:#24634f;--mint:#e7eee7;--muted:#53675d}.legal-page p{margin-bottom:16px}.legal-page li{margin:10px 0}.legal-links button{color:inherit}
.agenda:has(iframe){display:block}.booking-frame:has(iframe){height:auto;overflow:visible}

@media(min-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

.hero-local-title{display:block;font:600 clamp(18px,2vw,25px)/1.35 Arial,sans-serif;letter-spacing:0;margin-bottom:18px}.local-faq h2{max-width:760px}.local-faq details{padding:20px 0;border-bottom:1px solid #bbcec5}.local-faq summary{cursor:pointer;font-weight:600}.local-faq details p{margin:16px 0;max-width:760px}.local-faq details a{text-decoration:underline}
