/* Shared motion system for all public pages. */
:root{--motion-fast:180ms;--motion-normal:260ms;--motion-reveal:560ms;--motion-ease:cubic-bezier(.22,.75,.25,1)}
.btn,.service-card,.service,.fact-card,.booking,.slot,.tab,.nav a,.links a,.contact{transition:transform var(--motion-normal) var(--motion-ease),box-shadow var(--motion-normal) var(--motion-ease),background-color var(--motion-normal) ease,border-color var(--motion-normal) ease,color var(--motion-fast) ease!important}
@media(hover:hover) and (pointer:fine){.btn:not(:disabled):hover,.service-card:hover,.service:hover,.fact-card:hover{transform:translateY(-3px)!important}.btn:not(:disabled):active,.service-card:active,.service:active{transform:translateY(0)!important}}
/* Avoid invisible content when scripts fail or are disabled. */
.reveal{opacity:1!important;transform:none!important}
.motion-ready .reveal:not(.visible){opacity:0!important;transform:translateY(16px)!important}
.motion-ready .reveal.visible{opacity:1!important;transform:none!important;transition:opacity var(--motion-reveal) ease,transform var(--motion-reveal) var(--motion-ease)!important}
.links.open{animation:unifiedMenuIn var(--motion-normal) var(--motion-ease) both!important}
@keyframes unifiedMenuIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}.reveal,.motion-ready .reveal,.motion-ready .reveal:not(.visible){opacity:1!important;transform:none!important}.links.open{animation:none!important}}

/* Consistent footer treatment across all public pages. */
.footer{position:relative;margin-top:0!important;padding:64px 0 30px!important;background:#173638!important;color:#f5f6f2!important}
.footer .footer-row{display:flex!important;flex-wrap:wrap;align-items:start!important;justify-content:space-between!important;gap:32px 56px!important;padding-bottom:34px!important;border-bottom:1px solid rgba(255,255,255,.2)}
.footer .footer-row>div+div{margin-top:0!important}
.footer .brand{margin-bottom:12px}
.footer .brand strong{font-size:1.35rem;letter-spacing:.055em}
.footer .brand small,.footer small{color:#bfd0cb!important}
.footer a{color:#f5f6f2!important;text-decoration:none!important;text-underline-offset:5px}
.footer a:hover{text-decoration:underline!important}
.footer .footer-row a{display:inline-block;padding:5px 0}
.footer .legal-nav{display:flex;flex-wrap:wrap;gap:12px 30px;max-width:1320px;width:min(1320px,calc(100% - 44px));margin:22px auto 0!important;padding:0!important;font-size:.9rem}
.footer .buildcurrent-credit{max-width:1320px;width:min(1320px,calc(100% - 44px));margin:18px auto 0!important;color:#bfd0cb!important;font-size:.82rem}
.footer .credit{padding-top:22px!important;color:#bfd0cb!important;font-size:.82rem}
.footer .credit a{color:#f5f6f2!important}
.footer .footer-row nav{display:flex;gap:10px 24px;flex-wrap:wrap;align-content:start}
.footer .footer-row nav a{padding:4px 0}
.footer .footer-row>div:first-child{max-width:520px}
.footer .footer-row>div:first-child small{display:block;margin-top:8px}
.footer .footer-row>div:nth-child(2){line-height:1.65}
.footer .footer-row>div:nth-child(2) a{display:inline-block}
.footer .footer-row>div:nth-child(2) br{display:none}
.footer .footer-row>div:nth-child(2) a+a{margin-left:24px}
body.footer-in-view .floating{opacity:0!important;pointer-events:none!important;transform:translateY(20px)!important}
@media(max-width:760px){.footer{padding:44px 0 28px!important}.footer .footer-row{display:flex!important;flex-direction:column!important;gap:23px!important;padding-bottom:26px!important}.footer .footer-row>div:nth-child(2) a+a{margin-left:18px}.footer .legal-nav{gap:14px 24px;margin-top:22px!important}.footer .buildcurrent-credit{line-height:1.65}.footer .footer-row nav{flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){body.footer-in-view .floating{transform:none!important}}
