/* Canonical interaction tokens. Bricks components consume these on every page. */
:root {
 --lr-motion-focus-width:2px; --lr-motion-duration:250ms; --lr-motion-ease:ease; --lr-motion-touch-hold:650ms;
 --lr-motion-card-lift:-3px; --lr-motion-action-lift:-2px; --lr-motion-paper-lift:-5px;
 --lr-motion-paper-angle:1.5deg;
 --lr-motion-card-shadow:0 16px 40px rgb(10 36 52 / .06);
 --lr-motion-action-shadow:0 12px 28px rgb(35 99 63 / .28);
 --lr-motion-pricing-shadow:0 26px 54px rgb(10 36 52 / .10);
 --lr-motion-paper-shadow:0 5px 9px rgb(10 36 52 / .06),0 28px 52px rgb(10 36 52 / .16);
 --lr-motion-featured-shadow:0 30px 66px rgb(35 99 63 / .24);
}
.lr-card,.lr-pricing,.lr-paper,.lr-action,.lr-booking-action .latepoint-book-button {
 transition:transform var(--lr-motion-duration) var(--lr-motion-ease),box-shadow var(--lr-motion-duration) var(--lr-motion-ease),border-color var(--lr-motion-duration) var(--lr-motion-ease);
 -webkit-tap-highlight-color:transparent;
}
.lr-paper:nth-child(odd) {transform:rotate(calc(-1 * var(--lr-motion-paper-angle)));}
.lr-paper:nth-child(even) {transform:rotate(var(--lr-motion-paper-angle));}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 .lr-card:hover {transform:translateY(var(--lr-motion-card-lift));box-shadow:var(--lr-motion-card-shadow);border-color:var(--primary);}
 .lr-pricing:hover {transform:translateY(var(--lr-motion-paper-lift));box-shadow:var(--lr-motion-pricing-shadow);}
 .lr-paper:hover {transform:rotate(0) translateY(var(--lr-motion-paper-lift));box-shadow:var(--lr-motion-paper-shadow);}
 .lr-featured:hover {box-shadow:var(--lr-motion-featured-shadow);}
 .lr-action:hover,.lr-booking-action .latepoint-book-button:hover {transform:translateY(var(--lr-motion-action-lift));box-shadow:var(--lr-motion-action-shadow);}
}
@media (prefers-reduced-motion:no-preference){
 .lr-card.lr-touch-pressed {transform:translateY(var(--lr-motion-card-lift));box-shadow:var(--lr-motion-card-shadow);border-color:var(--primary);}
 .lr-pricing.lr-touch-pressed {transform:translateY(var(--lr-motion-paper-lift));box-shadow:var(--lr-motion-pricing-shadow);}
 .lr-featured.lr-touch-pressed {box-shadow:var(--lr-motion-featured-shadow);}
 .lr-paper.lr-touch-pressed {transform:rotate(0) translateY(var(--lr-motion-paper-lift));box-shadow:var(--lr-motion-paper-shadow);}
 .lr-action.lr-touch-pressed,.lr-booking-action .latepoint-book-button.lr-touch-pressed {transform:translateY(var(--lr-motion-action-lift));box-shadow:var(--lr-motion-action-shadow);}
}
@media (prefers-reduced-motion:reduce){
 .lr-card,.lr-pricing,.lr-paper,.lr-action,.lr-booking-action .latepoint-book-button {transition:none!important;transform:none!important;}
 .lr-touch-pressed {outline:var(--lr-motion-focus-width) solid var(--primary);outline-offset:calc(-1 * var(--lr-motion-focus-width));}
 .lr-float {animation:none!important;}
}

:root {--lr-sweep-cycle:5s;--lr-sweep-width:45%;--lr-sweep-angle:110deg;--lr-sweep-light:rgb(255 255 255 / .24);}
body .lr-booking-action .latepoint-book-button.os-loading {background:var(--primary)!important;border-color:var(--primary)!important;}
body .lr-booking-action .latepoint-book-button.os-loading::after {border-color:var(--white) transparent var(--white) var(--white)!important;}
.lr-featured .lr-booking-action .latepoint-book-button {position:relative;overflow:hidden;}
@media (prefers-reduced-motion:no-preference){
 .lr-featured .lr-booking-action .latepoint-book-button:not(.os-loading)::before {content:"";position:absolute;pointer-events:none;inset:0 auto 0 0;width:var(--lr-sweep-width);background:linear-gradient(var(--lr-sweep-angle),transparent,var(--lr-sweep-light),transparent);transform:translateX(-150%);animation:lr-button-sweep var(--lr-sweep-cycle) ease-in-out infinite;}
 @keyframes lr-button-sweep {0%,70%{transform:translateX(-150%);}95%,100%{transform:translateX(350%);}}
}
/* Reference-measured shine: 40% band, 3s cycle, with a quiet second half. */
:root{--lr-sweep-cycle:3s;--lr-sweep-width:40%;--lr-sweep-angle:90deg;--lr-sweep-light:rgb(255 255 255 / .18);--lr-action-hover:#19492f;--lr-action-hover-ink:#fff;--lr-motion-action-shadow:0 12px 28px rgb(35 99 63 / .35);}
:root[data-lr-theme="dark"]{--lr-action-hover:#abe5bd;--lr-action-hover-ink:#102319;--lr-motion-action-shadow:0 12px 28px rgb(0 0 0 / .35);}
:is(.lr-action,.lr-header-join,.lr-button,.lr-mobile-primary,.lr-mobile-secondary,.lr-member-cta,.fcom_user_onboard #wp-submit,.lr-booking-action .latepoint-book-button){position:relative;isolation:isolate;overflow:hidden;transition:background var(--lr-motion-duration),color var(--lr-motion-duration),transform var(--lr-motion-duration),box-shadow var(--lr-motion-duration);}
@media(prefers-reduced-motion:no-preference){
 :is(.lr-action,.lr-header-join,.lr-button,.lr-mobile-primary,.lr-mobile-secondary,.lr-member-cta,.fcom_user_onboard #wp-submit,.lr-booking-action .latepoint-book-button):not(.os-loading)::before{content:"";pointer-events:none;position:absolute;z-index:1;inset:0 auto 0 0;width:var(--lr-sweep-width);height:100%;background:linear-gradient(var(--lr-sweep-angle),transparent,var(--lr-sweep-light),transparent);animation:lr-button-sweep var(--lr-sweep-cycle) ease infinite;}
 @keyframes lr-button-sweep{0%{transform:translateX(-100%);}50%,100%{transform:translateX(300%);}}
}
@media(hover:hover){
 html[data-lr-theme] :is(.lr-action,.lr-header-join,.lr-button,.lr-mobile-primary,.lr-mobile-secondary,.lr-member-cta,.fcom_user_onboard #wp-submit,.lr-booking-action .latepoint-book-button):hover{background:var(--lr-action-hover)!important;color:var(--lr-action-hover-ink)!important;transform:translateY(var(--lr-motion-action-lift));box-shadow:var(--lr-motion-action-shadow);}
}
@media(prefers-reduced-motion:reduce){:is(.lr-action,.lr-header-join,.lr-button,.lr-mobile-primary,.lr-mobile-secondary,.lr-member-cta,.fcom_user_onboard #wp-submit)::before{animation:none!important;display:none;} :is(.lr-action,.lr-header-join,.lr-button,.lr-mobile-primary,.lr-mobile-secondary,.lr-member-cta,.fcom_user_onboard #wp-submit):hover{transform:none!important;}}
/* Touch feedback for the families added on September 14: the same lift the hover state gives, released on the shared hold timer. */
:is(.lr-video-card,.lr-note-card,.lr-fit,.lr-jr-station,.lr-jr-win,.lr-footer-brand,.lr-sticky,.lr-pill).lr-touch-pressed {transform:translateY(-4px) rotate(0)!important;box-shadow:0 20px 44px rgb(0 0 0 / .16)!important;}
.lr-portrait-card.lr-touch-pressed {transform:rotate(0)!important;}
:is(.lr-video-card,.lr-note-card,.lr-fit,.lr-jr-station,.lr-jr-win,.lr-footer-brand,.lr-sticky,.lr-pill,.lr-portrait-card).lr-touch-pressed {outline:0;}
/* Skip links: hidden until focused, then a full-size target in the action colours (design-principles, 48px minimum). */
.skip-link:focus-visible {position:fixed;inset-inline-start:1rem;inset-block-start:1rem;z-index:10000;display:inline-flex;align-items:center;min-height:48px;padding:.75rem 1.25rem;border-radius:8px;background:var(--lr-action-bg);color:var(--lr-action-ink);font-weight:600;text-decoration:none;outline:3px solid var(--lr-link);outline-offset:2px;}
