/* Restore the uploaded reference proportions; preserve this site's imagery and palette. */
:root{--banner-height:78px}.top-banner{display:block!important;position:fixed;height:var(--banner-height);padding:0!important;z-index:100}.site-logo{position:absolute!important;left:30px!important;top:50%!important;right:auto!important;transform:translateY(-50%)!important;width:230px!important;max-width:calc(100% - 230px)!important;height:auto!important;display:block!important;margin:0!important;padding:0!important;filter:none!important}.ds-brand-logo{display:block;width:100%;height:auto;max-height:34px;object-fit:contain;object-position:left center}.ds-footer-logo{width:260px;max-width:100%;height:auto}.top-project-cta,.top-project-cta:hover,.top-project-cta:focus-visible{position:absolute!important;left:auto!important;right:18px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:148px!important;width:auto!important;height:36px!important;min-height:36px!important;padding:0 16px!important;margin:0!important;font:600 10px/1 Arial,sans-serif!important;letter-spacing:.055em!important;filter:none!important;backdrop-filter:none!important;animation:none!important;border:1px solid #c3f36b!important;background:#c3f36b!important;color:#17221a!important;box-shadow:none!important}.top-project-cta:hover,.top-project-cta:focus-visible{background:transparent!important;color:#c3f36b!important;box-shadow:0 0 12px #c3f36b55!important}.menu-panel,.menu-panel.open{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;top:var(--banner-height)!important;z-index:95;min-height:36px;padding:12px 24px;height:auto;gap:24px}.menu-link,.menu-button{background:transparent!important;box-shadow:none!important;border:0!important}.menu-link:hover,.menu-link:focus-visible{color:#c3f36b!important}.contact-stage{position:fixed;inset:0;z-index:110;pointer-events:none}.contact-panel,.contact-panel.contact-expanded,.contact-panel.booking-expanded,.contact-panel.login-expanded{position:fixed;left:auto;right:0;top:auto;bottom:0;border-radius:0;padding:38px;width:50%;height:50%;max-height:calc(100dvh - var(--banner-height));min-height:0;overflow:hidden;visibility:hidden;transform:translateY(105%);background:rgba(18,24,31,.62);backdrop-filter:blur(21px) saturate(.75);-webkit-backdrop-filter:blur(21px) saturate(.75);transition:transform .72s cubic-bezier(.22,.72,.22,1),visibility 0s .72s!important}.contact-panel.open{visibility:visible;transform:translateY(0);transition:transform .72s cubic-bezier(.22,.72,.22,1),visibility 0s!important}.contact-panel.contact-expanded{height:66%;padding:30px 34px}.contact-panel.booking-expanded{width:58%;height:74%;padding:28px 34px}.contact-panel.login-expanded{width:46%;height:24%;min-height:200px;max-height:240px;padding:26px 34px}.login-expanded #compactPanelInner{height:auto;max-height:100%;overflow:auto;overscroll-behavior:contain}.login-expanded .compact-panel-title{margin-bottom:11px!important;font-size:24px!important}.blue-action{height:auto!important;min-height:0!important;max-height:none!important;padding:11px 18px!important;font:600 10px Arial,sans-serif!important;line-height:normal!important;border-radius:0;letter-spacing:.12em;align-self:auto}.auth-type{display:flex;gap:8px;margin:0 0 14px;width:100%;min-height:0}.auth-type button{flex:1;min-width:0}.ys-login-row{display:flex;align-items:center;gap:9px;flex-wrap:nowrap}.ys-boxes{gap:5px}.ys-digit{width:34px!important;height:38px!important;padding:0!important}.ys-go{height:38px!important;min-height:38px!important;min-width:62px!important;padding:0 16px!important}.ys-prefix-box{height:38px;min-width:40px;font-size:13px;padding:0 9px}.booking-shell{height:100%;min-height:0}.booking-head{padding-right:26px}.booking-head .compact-panel-title{font:400 30px Georgia,serif;margin:0 0 18px}.booking-head .compact-sub{font:12px/1.5 Arial,sans-serif;margin:-8px 0 18px}.booking-viewport{flex:1;min-height:0;overflow:hidden}.booking-track{width:400%;height:100%}.booking-step{width:25%;flex:0 0 25%;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:2px 4px 8px 0}.booking-step>.form-grid{flex:1 1 auto;min-height:0;overflow:auto;align-content:start;gap:11px;overscroll-behavior:contain}.form-grid .glass-field{height:auto;min-height:0;padding:11px 12px;font:13px Arial,sans-serif}.booking-step textarea.glass-field{min-height:88px;height:88px;resize:vertical}.customer-choice,.project-choice{display:flex;gap:8px;flex-wrap:wrap;align-items:start}.customer-choice button,.project-choice button{flex:1;min-width:112px}.booking-nav,.booking-time-step .booking-nav,.fitness-intake .booking-nav{display:flex;justify-content:flex-end;align-items:center;gap:9px;position:relative;bottom:auto;flex:0 0 auto;min-height:0!important;height:auto!important;padding:0!important;margin:14px 0 0!important;background:none!important;background-image:none!important;border:0!important;box-shadow:none!important}.booking-time-step .booking-nav{margin-top:auto!important;padding-top:6px!important}.booking-error{min-height:0;flex:none;margin:3px 0 0}.booking-step>.review-card,.booking-step>.ys-result{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.calendar-head{grid-template-columns:34px 1fr 34px;gap:9px;margin:4px 0 9px}.calendar-head button{height:30px}.calendar-grid{gap:5px}.calendar-day{height:28px!important;font:11px Arial,sans-serif;padding:0!important}.time-grid{grid-template-columns:repeat(4,1fr);gap:6px}.time-slot{height:31px!important;min-height:31px!important;padding:0!important;font:10px Arial,sans-serif}.booking-time-step .booking-time-scroll-zone{flex:0 0 0;min-height:0;max-height:0;margin-top:0}.booking-time-step.has-date .booking-time-scroll-zone{flex:1 1 138px;min-height:50px;max-height:170px;margin-top:6px}.contact-layout{height:100%;display:flex;flex-direction:column;gap:15px;overflow:hidden}.contact-form-block{flex:1;min-height:0;height:100%;display:flex;flex-direction:column}.contact-form-block>.form-grid{flex:1;min-height:0;overflow:auto;align-content:start}.contact-form-block>.form-grid>.full:has(#contactSend){position:static!important;bottom:auto!important;background:none!important;padding:0!important;min-height:0}.contact-success-copy,.contact-success-guide,.contact-success-actions{background:transparent!important;background-image:none!important;box-shadow:none!important}.contact-success-copy{height:100%;overflow:auto;overscroll-behavior:contain;display:block}.contact-success-guide{padding:15px 0;border-left:0}.contact-success-actions{position:static;margin-top:18px;padding:0;display:flex;gap:10px}.contact-close,.ds-page-close{position:absolute;right:13px;top:10px;border:0;background:none;color:rgba(235,240,236,.8);font:300 25px/1 Arial,sans-serif;cursor:pointer;padding:0;z-index:8}.contact-close:hover,.ds-page-close:hover{color:#c3f36b}.intake-page-panel{top:0;left:0;right:0;bottom:0;z-index:98;max-height:none;overscroll-behavior:contain}.intake-page-panel.gate-mode{height:calc(var(--banner-height) + 208px);max-height:100dvh}.intake-page-panel.gate-mode.expanded{height:100dvh;max-height:100dvh;bottom:0}.intake-page-inner{top:calc(var(--banner-height) + 24px);right:42px;bottom:34px;left:42px}.intake-page-panel>.panel-close{position:fixed;top:calc(var(--banner-height) + 10px)!important;right:13px!important}.intake-page-panel.gate-mode .intake-page-inner{bottom:18px}.intake-page-panel.expanded .intake-head{display:none}.fitness-intake .booking-nav{margin-top:10px!important}.intake-gate{max-width:540px}.ds-content-page{position:fixed;left:0;right:0;top:var(--banner-height);bottom:0;z-index:90;transform:translateX(-101%);transition:transform 650ms cubic-bezier(.22,.72,.2,1);pointer-events:none;overflow:hidden;background:var(--paper);visibility:hidden}.ds-content-page.open{transform:translateX(0);pointer-events:auto;visibility:visible}.ds-content-scroll{height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.ds-content-page .ds-page-close{position:absolute;top:10px;right:13px;color:#243327}.ds-content-page .ds-page-close:hover{color:#81a54d}.ds-content-page .site-section{min-height:100%;padding-top:65px}.ds-content-page .site-section.testimonials-section{min-height:100%}.ds-content-page:has(.testimonials-section)>.ds-page-close{color:#f1f0ea}.ds-content-page .coaching-banner{margin:0}.ds-content-page .blog-section{min-height:100%}.ds-content-page .contact-section{min-height:100%}.ds-content-page .faq-section{min-height:100%}.ds-content-page:not(.open){transition:transform 650ms cubic-bezier(.22,.72,.2,1),visibility 0s 650ms}.article-close{top:10px!important;right:13px!important}.fitness-footer{position:relative}.contact-panel .form-note{margin-bottom:0}
@media(max-width:900px){.contact-panel.booking-expanded{width:68%}.contact-panel.login-expanded{width:52%}.menu-panel{gap:16px}.site-logo{left:22px!important;width:210px!important}.booking-head .compact-panel-title{font-size:28px}.booking-head .compact-sub{font-size:11px}}
@media(max-width:700px){:root{--banner-height:70px}.site-logo{left:16px!important;width:170px!important;max-width:calc(100% - 160px)!important}.top-project-cta,.top-project-cta:hover,.top-project-cta:focus-visible{right:9px!important;min-width:112px!important;height:32px!important;min-height:32px!important;padding:0 9px!important;font-size:8px!important}.menu-panel{padding:12px 18px;gap:14px 18px;justify-content:flex-start}.contact-panel,.contact-panel.contact-expanded,.contact-panel.booking-expanded,.contact-panel.login-expanded{width:94%;height:76%;max-height:calc(100dvh - var(--banner-height));min-height:0;padding:25px 22px;right:0;bottom:0;top:auto}.contact-panel.login-expanded{height:auto;min-height:0;max-height:calc(100dvh - var(--banner-height));padding:26px 22px 24px}.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}.booking-head .compact-panel-title{font-size:25px;margin-bottom:12px}.booking-head .compact-sub{font-size:11px;margin:0 0 12px}.booking-step>.form-grid{gap:8px}.project-choice{gap:6px}.customer-choice button,.project-choice button{min-width:100px}.booking-step textarea.glass-field{height:70px;min-height:70px}.ys-login-row{gap:6px;flex-wrap:wrap}.ys-digit{width:30px!important}.ys-go{margin-top:0}.ys-prefix-box{min-width:35px;padding:0 6px}.intake-page-inner{top:calc(var(--banner-height) + 18px);right:20px;bottom:22px;left:20px}.intake-page-panel.gate-mode{height:calc(var(--banner-height) + 235px)}.ds-content-page .site-section{padding-top:55px}.fitness-tabs button{font-size:10px;padding:7px 5px}.time-grid{grid-template-columns:repeat(2,1fr)}.booking-time-step.has-date .booking-time-scroll-zone{min-height:50px;max-height:170px}.booking-head{padding-right:18px}.contact-panel .compact-panel-title{font-size:25px}.contact-panel .compact-sub{font-size:11px}}
@media(max-height:650px){.contact-panel.booking-expanded{height:calc(100dvh - var(--banner-height));padding-top:24px;padding-bottom:14px}.booking-head .compact-panel-title{font-size:23px;margin-bottom:10px}.booking-head .compact-sub{margin:0 0 8px}.calendar-day{height:23px!important}.booking-time-step.has-date .booking-time-scroll-zone{min-height:40px;max-height:110px}.booking-nav{margin-top:9px!important}}
body.ds-page-open:not(.ds-page-dark) .menu-link{color:#26352b!important}body.ds-page-open .menu-link:hover,body.ds-page-open .menu-link:focus-visible{color:#c3f36b!important}.ds-content-page .ds-content-scroll .site-section{scroll-margin-top:0}.contact-panel .contactSend,.contact-panel #contactSend{background:transparent}.login-expanded .auth-type button{height:auto!important;min-height:0!important}.login-expanded .ys-go{height:38px!important}.ds-content-page .ds-page-close{width:25px;height:25px}.ds-content-page .ds-content-scroll{padding-top:0}.ds-content-page .site-section .section-heading{padding-right:18px}
.booking-step:not(.booking-time-step)>.form-grid,.booking-step:not(.booking-time-step)>.review-card,.booking-step:not(.booking-time-step)>.ys-result{flex:0 1 auto}.booking-step:not(.booking-time-step)>.booking-nav{margin-top:14px!important}.contact-panel .contact-success-actions .blue-action{align-self:flex-start}
