/* 01-foundation.css - Base tokens, global reset, typography, background, layout, header, footer.
   Generated from styles/bundle.min.css. Keep numeric load order. */
:root{--bg-dark:#bfa792;--site-bg-light-rgb:212,184,154;--site-bg-mid-rgb:191,167,146;--site-bg-dark-rgb:139,111,90;--site-bg-shadow-rgb:58,42,29;--text-white:#fff;--modal-dark-brown:#5a3d2a;--modal-dark-brown-rgb:90,61,42;--modal-design-surface-rgb:191,167,146;--modal-design-overlay-rgb:191,167,146;--modal-design-tone-rgb:90,61,42;--modal-design-sticky-rgb:var(--modal-design-surface-rgb);--modal-design-border-rgb:255,248,239;--site-text-rgb:var(--modal-design-text-rgb);--site-text-shadow-rgb:52,38,28;--site-text-alpha:0.98;--site-text-shadow-alpha:0.24;--intake-shell-overlay:linear-gradient(215deg,hsla(0,0%,100%,.2) 0%,transparent 54%),linear-gradient(326deg,transparent 10%,hsla(0,0%,100%,.14) 40%,transparent 78%),linear-gradient(240deg,hsla(0,0%,100%,.1) 0%,transparent 66%),rgba(var(--modal-design-overlay-rgb),0.62);--intake-shell-surface:linear-gradient(214deg,hsla(0,0%,100%,.24) 0%,transparent 56%),linear-gradient(327deg,transparent 10%,hsla(0,0%,100%,.16) 40%,transparent 78%),linear-gradient(238deg,hsla(0,0%,100%,.12) 0%,transparent 66%),linear-gradient(0deg,rgba(var(--modal-design-tone-rgb),0.16),rgba(var(--modal-design-tone-rgb),0.16)),rgb(var(--modal-design-surface-rgb));--intake-shell-border-alpha:0.44;--intake-shell-shadow:0 1.2rem 3rem rgba(52,38,28,.45),inset 0 1px 0 hsla(0,0%,100%,.42);--intake-shell-backdrop:blur(18px) saturate(118%);--intake-shell-overlay-backdrop:blur(16px) saturate(118%);--home-bg-static:linear-gradient(146deg,hsla(0,0%,100%,.18),transparent 26%),linear-gradient(146deg,transparent 10%,hsla(0,0%,100%,.1) 40%,transparent 78%),linear-gradient(58deg,hsla(0,0%,100%,.08),transparent 30%),radial-gradient(120% 120% at 50% 100%,#d4b89a 0%,#8b6f5a 100%);--booking-plaque-border-rgb:255,243,227;--booking-plaque-shadow-rgb:34,22,14;--booking-cue-primary-rgb:141,106,78;--booking-cue-soft-rgb:214,183,156;--booking-status-accent-rgb:141,106,78;--booking-status-accent-soft-rgb:214,183,156;--booking-status-error-rgb:119,82,57;--booking-status-success-rgb:214,183,156;--booking-status-success-border-rgb:166,129,98;--booking-status-success-fg-rgb:90,61,42;--booking-status-glow-rgb:214,183,156;--booking-form-rgb:var(--modal-design-surface-rgb);--glass-bg:hsla(0,0%,100%,.1);--glass-border:hsla(0,0%,100%,.15);--placeholder-color:hsla(0,0%,100%,.6);--accent-gold:#6b5b4a;--accent-hover:#8b6f5a;--input-bg:hsla(0,0%,100%,.05);--services-line-height:1.5;--services-paragraph-spacing:0.35em;--major-block-gap:clamp(2rem,4.8vw,3.2rem);--layout-stack-gap:clamp(2rem,4.5vw,3rem);--hero-contact-gap-bottom:clamp(1.45rem,4vw,2rem);--hero-book-gap-top:clamp(1.15rem,3.2vw,1.85rem);--hero-book-gap-bottom:clamp(2rem,5.2vw,3rem);--hero-phone-button-gap:clamp(1.45rem,4vw,2.2rem);--calendar-main-max-width:41rem}
*{box-sizing:border-box;margin:0;padding:0}
body,button,input,select,textarea{font-family:Lato,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@keyframes blurReveal{0%{opacity:0}to{opacity:1}}
body{font-family:Lato,sans-serif;background-color:var(--bg-dark);color:var(--text-white);line-height:1.6;min-height:100vh;text-wrap:pretty;overflow-wrap:anywhere;padding-bottom:0;position:relative;will-change:opacity;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
/* DISABLED: White flash animation commented out */
/*body:before{content:"";position:fixed;inset:0;z-index:99998;pointer-events:none;background:linear-gradient(146deg,hsla(0,0%,100%,.12),transparent 26%),linear-gradient(326deg,transparent 10%,hsla(0,0%,100%,.08) 40%,transparent 78%),radial-gradient(120% 120% at 50% 100%,#d4b89a 0,#8b6f5a 100%);opacity:1;animation:siteInitialRevealVeil .72s cubic-bezier(.22,1,.36,1) 80ms forwards;will-change:opacity}*/
/*@keyframes siteInitialRevealVeil{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}*/
/*@keyframes siteInitialFadeIn{0%{opacity:0}to{opacity:1}}*/
@media (prefers-reduced-motion:reduce){body{opacity:1;animation:none}/*body:before{content:none;animation:none}*/}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;scrollbar-gutter:stable both-edges;touch-action:pan-y;overscroll-behavior-y:none;scrollbar-width:none;scrollbar-color:transparent transparent;opacity:.98}
img,svg,video{display:block;max-width:100%;height:auto}
body::-webkit-scrollbar,html::-webkit-scrollbar{width:0;height:0}
body::-webkit-scrollbar-button,body::-webkit-scrollbar-button:end:increment,body::-webkit-scrollbar-button:single-button,body::-webkit-scrollbar-button:start:decrement,body::-webkit-scrollbar-thumb,body::-webkit-scrollbar-track,html::-webkit-scrollbar-button,html::-webkit-scrollbar-button:end:increment,html::-webkit-scrollbar-button:single-button,html::-webkit-scrollbar-button:start:decrement,html::-webkit-scrollbar-thumb,html::-webkit-scrollbar-track{display:none!important;background:transparent!important;border:0!important;width:0!important;height:0!important}
#hdScrollThumb{position:fixed;top:0;right:max(2px,env(safe-area-inset-right,0px));width:6px;height:48px;border-radius:999px;background:rgba(90,61,42,.72);box-shadow:0 0 0 1px hsla(0,0%,100%,.04),0 0 10px rgba(90,61,42,.08);opacity:0;transform:translateZ(0);transform-origin:top center;pointer-events:none;touch-action:none;z-index:99999;will-change:transform,height,opacity;transition:opacity .18s ease,transform .18s ease,height .12s linear}
html.hd-scrollbar-visible #hdScrollThumb{opacity:1;pointer-events:auto}
@media (prefers-reduced-motion:reduce){#hdScrollThumb{transition:opacity .12s linear,height 0s linear}}
html.hd-apple-platform,html.hd-apple-platform *,html.hd-apple-platform body{-ms-overflow-style:auto!important;scrollbar-width:auto!important;scrollbar-color:auto!important}
html.hd-apple-platform #hdScrollThumb{display:none!important;opacity:0!important;visibility:hidden!important}
html.hd-apple-platform #bookingModal .custom-options::-webkit-scrollbar,html.hd-apple-platform #bookingModal.booking-modal--flat .modal__body::-webkit-scrollbar,html.hd-apple-platform #bookingModal.booking-modal--flat::-webkit-scrollbar,html.hd-apple-platform #floatingCustomSelectLayer .custom-options.custom-options--floating::-webkit-scrollbar,html.hd-apple-platform #privacyModal::-webkit-scrollbar,html.hd-apple-platform #termsModal::-webkit-scrollbar,html.hd-apple-platform ::-webkit-scrollbar,html.hd-apple-platform body::-webkit-scrollbar,html.hd-apple-platform::-webkit-scrollbar{all:revert!important;display:initial!important;width:auto!important;height:auto!important}
html.hd-apple-platform #bookingModal .custom-options::-webkit-scrollbar-thumb,html.hd-apple-platform #bookingModal .custom-options::-webkit-scrollbar-track,html.hd-apple-platform #bookingModal.booking-modal--flat .modal__body::-webkit-scrollbar-thumb,html.hd-apple-platform #bookingModal.booking-modal--flat .modal__body::-webkit-scrollbar-track,html.hd-apple-platform #bookingModal.booking-modal--flat::-webkit-scrollbar-thumb,html.hd-apple-platform #bookingModal.booking-modal--flat::-webkit-scrollbar-track,html.hd-apple-platform #floatingCustomSelectLayer .custom-options.custom-options--floating::-webkit-scrollbar-thumb,html.hd-apple-platform #floatingCustomSelectLayer .custom-options.custom-options--floating::-webkit-scrollbar-track,html.hd-apple-platform #privacyModal::-webkit-scrollbar-button,html.hd-apple-platform #privacyModal::-webkit-scrollbar-button:end:increment,html.hd-apple-platform #privacyModal::-webkit-scrollbar-button:single-button,html.hd-apple-platform #privacyModal::-webkit-scrollbar-button:start:decrement,html.hd-apple-platform #privacyModal::-webkit-scrollbar-thumb,html.hd-apple-platform #privacyModal::-webkit-scrollbar-thumb:hover,html.hd-apple-platform #privacyModal::-webkit-scrollbar-track,html.hd-apple-platform #termsModal::-webkit-scrollbar-button,html.hd-apple-platform #termsModal::-webkit-scrollbar-button:end:increment,html.hd-apple-platform #termsModal::-webkit-scrollbar-button:single-button,html.hd-apple-platform #termsModal::-webkit-scrollbar-button:start:decrement,html.hd-apple-platform #termsModal::-webkit-scrollbar-thumb,html.hd-apple-platform #termsModal::-webkit-scrollbar-thumb:hover,html.hd-apple-platform #termsModal::-webkit-scrollbar-track,html.hd-apple-platform ::-webkit-scrollbar-button,html.hd-apple-platform ::-webkit-scrollbar-thumb,html.hd-apple-platform ::-webkit-scrollbar-track,html.hd-apple-platform body::-webkit-scrollbar-button,html.hd-apple-platform body::-webkit-scrollbar-thumb,html.hd-apple-platform body::-webkit-scrollbar-track,html.hd-apple-platform::-webkit-scrollbar-button,html.hd-apple-platform::-webkit-scrollbar-thumb,html.hd-apple-platform::-webkit-scrollbar-track{all:revert!important}
.faq__question,.header__content-header,.header__content-subheader,.modal__section-title,.modal__title,.section-title,h1,h2,h3{text-wrap:balance;font-family:Lato,sans-serif;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;margin-top:0;margin-bottom:1.3rem;line-height:1.2}
.modal__title,.section-title,h1{font-size:clamp(1.7rem,5vw,2.2rem);text-align:center}
.header__content-header,h2{font-size:clamp(1.3rem,4vw,1.7rem);text-align:center}
.faq__question,.header__content-subheader,.modal__section-title,h3{font-size:clamp(1.05rem,3vw,1.25rem);margin-bottom:2rem;text-align:left}
.faq__answer,.footer__copyright,.footer__hours,.header__content-text,.modal__text,p{max-width:70ch;text-wrap:pretty;font-family:Lato,sans-serif;font-size:1rem;font-weight:400;color:hsla(0,0%,100%,.92);line-height:1.6;margin-bottom:.72rem;text-align:left;letter-spacing:.01em}
ol,ul{margin-bottom:2rem}
.contact-form__submit-button,.footer-book-btn{font-size:1rem;font-weight:600;padding:.8rem 2rem;border-radius:2rem;margin:0 auto 2.5rem;display:block}
html{font-size:16px}
body{font-size:1rem}
.background{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#bfa792;transform:translateZ(0);will-change:transform}
.background__svg{width:100%;height:100%}
.background__stripe{fill:#fff!important;opacity:.08!important;animation:anim-stripes-top 12s cubic-bezier(.34,1.56,.64,1) infinite alternate;transform-origin:center;transform-box:fill-box}
.background__stripe--delay-1{opacity:.05!important;animation-name:anim-stripes-bottom;animation-duration:15s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);animation-delay:-3s}
.background__stripe--delay-2{opacity:.04!important;animation-name:anim-stripes-diagonal;animation-duration:18s;animation-timing-function:cubic-bezier(.42,.29,.58,.71);animation-delay:-6s}
@keyframes anim-stripes-top{0%{transform:translate(0) rotate(0deg) scale(1)}50%{transform:translate(2%,1.5%) rotate(.5deg) scale(1.05)}to{transform:translate(4%,3%) rotate(1deg) scale(1.1)}}
@keyframes anim-stripes-bottom{0%{transform:translate(0) rotate(0deg) scale(1)}50%{transform:translate(-2%,2%) rotate(-.4deg) scale(.98)}to{transform:translate(-4%,4%) rotate(-.8deg) scale(.96)}}
@keyframes anim-stripes-diagonal{0%{transform:translate(0) scaleX(1)}50%{transform:translate(0) scaleX(1)}25%{transform:translate(2.5%,1.5%) scaleX(1.06)}75%{transform:translate(-2.5%,-1.5%) scaleX(.94)}}
.layout-container{width:min(94vw,41rem);max-width:41rem;margin:0 auto;padding:0 clamp(.8rem,2.1vw,1.2rem)}
.header+.layout-container{margin-top:clamp(-2.1rem,-4vw,-1.2rem)!important}
.section-title{font-size:clamp(1.4rem,5vw,1.8rem);font-weight:800;text-transform:uppercase;letter-spacing:2px;text-align:center;margin:5rem 0 2.5rem}
.header{text-align:center;width:min(96vw,50rem);padding:clamp(1rem,3.5vw,2rem) clamp(.85rem,2.4vw,1.3rem) clamp(1.5rem,4.2vw,2.5rem);max-width:50rem;margin:0 auto}
.header__hero{width:min(100%,72rem);max-width:72rem;margin:0 auto;padding-inline:clamp(.7rem,2.4vw,2rem);box-sizing:border-box;display:grid;justify-items:center}
.header__hero>h1{width:100%;max-width:100%;text-align:center;display:grid;justify-items:center}
.header__title{font-size:clamp(1.35rem,5.2vw,2.05rem);font-weight:800;margin-bottom:.3rem;letter-spacing:2px;text-transform:uppercase;opacity:.9;color:rgba(var(--site-text-rgb),var(--site-text-alpha));-webkit-text-fill-color:rgba(var(--site-text-rgb),var(--site-text-alpha));text-align:center}
.header__subtitle{--subtitle-fit:9.56cqw;display:block;width:100%;max-width:100%;margin-left:auto;margin-right:auto;margin-bottom:2rem;font-family:Lato,sans-serif;font-size:clamp(1.2rem,var(--subtitle-fit,9.56cqw),5rem);font-weight:900;text-transform:uppercase;text-align:center;line-height:.95;letter-spacing:-.02em;color:rgba(var(--site-text-rgb),var(--site-text-alpha));white-space:nowrap}
.header__subtitle.is-calibrating{visibility:hidden;opacity:0;pointer-events:none}
@media (min-width:769px){.header__subtitle{width:100%;max-width:100%;margin-left:auto;margin-right:auto}.header__description{margin-left:auto;margin-right:auto}}
.header__phone-link{font-size:inherit;font-weight:inherit;color:#fff;text-decoration:none;transition:opacity .3s;line-height:inherit;letter-spacing:inherit;white-space:nowrap}
.header__phone-link:hover{opacity:.8}
.footer__hours{display:flex!important;flex-direction:column!important;align-items:center!important;gap:0.42rem!important;font-size:1rem;color:hsla(0,0%,100%,.92);margin-bottom:1.3rem;white-space:pre-line;line-height:1.7;font-weight:400;text-align:center;letter-spacing:.01em}
.header__content-block{margin:4.4rem auto 3rem;text-align:left;width:min(94vw,41rem);max-width:41rem;padding:0 clamp(.8rem,2.1vw,1.2rem);color:#fff;font-family:inherit}
.header__content-header{font-size:clamp(1.4rem,5vw,1.8rem);font-weight:800;margin:4rem 0 2rem;text-transform:uppercase;letter-spacing:2px;color:#fff;text-align:center}
.header__content-subheader{font-size:clamp(1.1rem,3.5vw,1.3rem);font-weight:800;margin:2rem 0 .8rem;color:#fff;text-transform:uppercase;text-align:left}
.header__content-text{font-size:1rem;line-height:1.7;margin-bottom:1.3rem;color:hsla(0,0%,100%,.92);font-weight:400;text-align:left;letter-spacing:.01em}
.header__content-text strong{color:#fff;font-weight:800}
.header__content-block--intake-inline{display:none!important}
.service-headline{--header-description-base-width:41rem;font-size:clamp(12pt,1.8vw,19pt);font-weight:800;color:var(--text-white);margin:0 auto 3rem;width:min(96vw,var(--header-description-base-width));max-width:var(--header-description-base-width);line-height:1.15;padding:0 clamp(1rem,3vw,2.5rem);text-align:justify;text-justify:inter-word;text-align-last:center;letter-spacing:.5px;font-family:Lato,sans-serif;text-transform:uppercase;display:block;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;word-spacing:.15em}
.service-headline span:not(.service-headline__phone){display:block;width:100%;text-align:justify;text-align-last:justify;text-justify:inter-word;margin:0;padding:0;white-space:nowrap;font-size:clamp(6pt,2.5cqw,20pt);overflow-wrap:break-word;word-break:normal}
.service-headline span:first-of-type{margin-bottom:.3em}
.service-headline__phone{display:block;margin-top:.5em;text-align:center;width:100%;white-space:nowrap;transform:none;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}
.service-headline br{display:none}
.header__description{--header-description-base-width:41rem;font-size:clamp(14pt,2vw,22pt);font-weight:800;color:var(--text-white);margin:0 auto 3rem;width:min(96vw,var(--header-description-base-width));max-width:var(--header-description-base-width);line-height:1.15;padding:0 clamp(1rem,3vw,2.5rem);text-align:justify;text-justify:inter-word;text-align-last:center;letter-spacing:.5px;font-family:Lato,sans-serif;text-transform:uppercase;display:block;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;word-spacing:.15em;box-sizing:border-box}
.header__description-phone{margin-top:.15rem;transform:none;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}
.header__description span:first-of-type{margin-bottom:.3em}
.header__description-phone,.service-headline__phone{display:block;margin-top:.5em;text-align:center;width:100%;white-space:nowrap;transform:none;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}
.header__description br{display:none}
.footer{text-align:center;padding:5rem 1.3rem 1.3rem;margin-top:-5px;color:hsla(0,0%,100%,.8);font-size:.9rem;line-height:1.8}
.footer__container{margin-bottom:3.1rem}
.footer__official-meta{margin-top:10rem;font-family:Lato,sans-serif;font-size:clamp(.5rem,3.5vw,.85rem);font-weight:400;color:hsla(0,0%,100%,.92);line-height:1.5;letter-spacing:.01em;opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
.footer__official-meta .footer__copyright{white-space:normal;overflow:visible;text-overflow:unset;font-size:clamp(.45rem,3.2vw,.85rem);word-break:break-word;margin-top:0!important;margin-bottom:0!important;opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
.footer__official-meta .footer__copyright:first-child{margin-bottom:.42rem!important}
.map-container{width:100%;height:clamp(18rem,52vw,28rem);background-color:rgba(255,248,239,.28);border-radius:.35rem;overflow:hidden}
.map-container__iframe{border:0;width:100%;height:100%}
.services-swipe-container{width:100%;box-sizing:border-box;position:relative;touch-action:pan-y pinch-zoom}
.services-swipe-wrapper{position:relative;width:100%;box-sizing:border-box}
.services-swipe-slide{width:100%;box-sizing:border-box;padding:0;position:absolute;top:0;left:0;opacity:1;pointer-events:none;transform:translateX(6000px);will-change:transform}
@media (max-width:768px){.services-swipe-container{width:100vw;position:relative;left:50%;transform:translateX(-50%);padding:0}.services-swipe-slide{padding:0 clamp(.75rem,4vw,1.25rem)}}
.services-swipe-slide.is-active{position:relative;opacity:1;pointer-events:auto;transform:translateX(0)}
.services-swipe-slide.is-leaving-left{position:absolute;opacity:1;pointer-events:none;transform:translateX(-6000px)}
.services-swipe-slide.is-entering-left{transform:translateX(-6000px)}
.services-swipe-slide .services-list{padding-left:2rem!important;padding-right:1rem!important;margin-top:1.5rem;margin-bottom:1rem!important;display:flex;flex-direction:column;gap:1rem}
@media (max-width:768px){.services-swipe-slide .services-list{padding-left:1.5rem!important;padding-right:.5rem!important}}
@media (max-width:480px){.services-swipe-slide .services-list{padding-left:1.25rem!important;padding-right:.25rem!important}}
.services-swipe-slide .header__service-item{margin-top:0}
