.public-site{background:var(--paper)}.public-site .lab-container{width:min(100%,1240px);margin-inline:auto;padding-inline:40px}.public-site .lab-label{font:500 12px/1.5 var(--font-sans);color:var(--muted);letter-spacing:.035em;margin-bottom:20px}.public-site .lab-location{border-bottom:1px solid var(--rule);color:var(--muted);justify-content:space-between;gap:20px;padding-block:24px;font-size:12px;display:flex}.public-site .lab-hero-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;padding-block:64px 80px;display:grid}.public-site .lab-hero h1{font:400 clamp(42px, 4.7vw, 66px)/1.06 var(--font-serif);letter-spacing:-.04em;color:var(--navy)}.public-site .lab-hero h1 em,.public-site .lab-page-title em{font-weight:400}.public-site .lab-intro{color:var(--muted);max-width:45ch;margin-top:28px;font-size:17px;line-height:1.8}.public-site .lab-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px;display:flex}.public-site .lab-button{background:var(--navy);color:var(--paper);border-radius:2px;justify-content:space-between;align-items:center;gap:24px;padding:15px 20px;font-size:14px;transition:background .15s;display:inline-flex}.public-site .lab-button:hover{background:var(--navy-2)}.public-site .lab-text-link{color:var(--navy);text-decoration:underline;-webkit-text-decoration-color:var(--accent-deep);text-decoration-color:var(--accent-deep);text-underline-offset:6px;font-size:14px;text-decoration-thickness:1px}.public-site .lab-text-link:hover{-webkit-text-decoration-color:var(--navy);text-decoration-color:var(--navy)}.public-site .lab-report{border-top:3px solid var(--navy);background:var(--paper-2);padding:24px}.public-site .lab-report-heading{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:28px;font-size:11px;display:flex}.public-site .lab-report h2{font:400 29px/1.15 var(--font-serif);color:var(--navy)}.public-site .lab-report>p{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.6}.public-site .lab-chart{width:100%;margin-block:20px;display:block}.public-site .lab-chart text{font:10px var(--font-mono);fill:var(--muted)}.public-site .lab-report figcaption{border-top:1px solid var(--rule);padding-top:18px}.public-site .lab-report figcaption .lab-label{margin-bottom:8px;display:block}.public-site .lab-report figcaption p{color:var(--muted);margin-bottom:16px;font-size:13px;line-height:1.7}.public-site .lab-section{padding-block:76px}.public-site .lab-section-heading{grid-template-columns:1fr 1fr;align-items:end;gap:70px;margin-bottom:42px;display:grid}.public-site .lab-section h2,.public-site .lab-about-grid h2{font:400 clamp(28px, 3vw, 40px)/1.15 var(--font-serif);color:var(--navy);letter-spacing:-.025em}.public-site .lab-section-heading>p,.public-site .lab-clubs>div>p:not(.lab-label),.public-site .lab-about-grid p:not(.lab-label){color:var(--muted);font-size:16px;line-height:1.8}.public-site .lab-services{border-top:1px solid var(--navy)}.public-site .lab-service{border-bottom:1px solid var(--rule);grid-template-columns:40px 1fr 120px 30px;align-items:baseline;gap:24px;padding:28px 12px;transition:background .15s;display:grid}.public-site .lab-service:hover{background:var(--paper-2)}.public-site .lab-service-number{font:12px var(--font-mono);color:var(--muted)}.public-site .lab-service h3{font:400 27px/1.2 var(--font-serif);color:var(--navy)}.public-site .lab-service p{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.6}.public-site .lab-service-price{text-align:right;flex-direction:column;gap:4px;display:flex}.public-site .lab-service-price>span{font:400 24px var(--font-serif);color:var(--navy)}.public-site .lab-service-price small{color:var(--muted);font-size:12px}.public-site .lab-service-arrow{color:var(--navy);text-align:right;font-size:23px}.public-site .lab-availability{color:var(--muted);margin-top:10px;font-size:12px;display:inline-block}.public-site .lab-after-list{margin-top:28px;display:inline-block}.public-site .lab-visit{background:var(--paper-2);border-block:1px solid var(--rule)}.public-site .lab-steps{grid-template-columns:repeat(3,1fr);gap:40px;margin-block:44px 36px;display:grid}.public-site .lab-steps li{border-top:1px solid var(--rule);padding-top:20px}.public-site .lab-steps h3{color:var(--navy);margin-block:14px 12px;font-size:17px;font-weight:500}.public-site .lab-steps p{color:var(--muted);font-size:14px;line-height:1.8}.public-site .lab-clubs{grid-template-columns:1fr 1fr;align-items:center;gap:70px;display:grid}.public-site .lab-page-title{font:400 clamp(40px, 5vw, 64px)/1.08 var(--font-serif);letter-spacing:-.035em;color:var(--navy)}.public-site .lab-contact-strip{border-top:1px solid var(--rule);max-width:720px;margin-top:64px;padding-top:30px}.public-site .lab-contact-strip p{color:var(--muted);margin-block:18px;font-size:15px;line-height:1.8}.public-site .lab-about-title{margin-bottom:64px}.public-site .lab-about-grid{grid-template-columns:1.2fr 1fr;gap:100px;display:grid}.public-site .lab-about-grid p:not(.lab-label){margin-block:22px}.public-site .lab-address-block{border-top:3px solid var(--navy);background:var(--paper-2);align-self:start;padding:24px}.public-site .lab-address-block dl>div{border-top:1px solid var(--rule);overflow-wrap:anywhere;padding-block:14px;font-size:14px}.public-site .lab-address-block dt{color:var(--muted);margin-bottom:6px;font-size:12px}.public-site .lab-address-block a:hover{text-decoration:underline}.public-site header{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}.public-site footer{margin-top:0}.public-site main .shadow-card,.public-site main .shadow-card-lg{box-shadow:none}.public-site main .rounded-xl,.public-site main .rounded-2xl{border-radius:3px}.public-site main .eyebrow{text-transform:none;letter-spacing:.035em;font-size:12px}.public-site main .ribbon-mark{display:none}.public-site .lab-detail-panels{border-bottom:1px solid var(--rule);padding-bottom:30px}.public-site .lab-detail-panel{border-top:1px solid var(--rule);padding-top:24px}@media (max-width:1023px){.public-site .lab-hero-grid{gap:32px}.public-site .lab-about-grid{gap:40px}}@media (max-width:767px){.public-site .lab-container{padding-inline:24px}.public-site .lab-location{flex-direction:column;gap:4px;padding-block:18px}.public-site .lab-hero-grid,.public-site .lab-section-heading,.public-site .lab-clubs,.public-site .lab-about-grid{grid-template-columns:1fr;gap:32px}.public-site .lab-hero-grid{padding-block:40px 48px}.public-site .lab-hero h1{font-size:clamp(39px,8vw,58px)}.public-site .lab-section{padding-block:48px}.public-site .lab-report{padding:20px}.public-site .lab-service{grid-template-columns:1fr 80px;gap:12px;padding:24px 0}.public-site .lab-service-number,.public-site .lab-service-arrow{display:none}.public-site .lab-service h3{font-size:23px}.public-site .lab-steps{grid-template-columns:1fr;gap:26px;margin-block:30px}.public-site .lab-steps .lab-label{margin-bottom:0}.public-site .lab-about-title{margin-bottom:40px}.public-site header>div{gap:8px;padding-inline:16px}.public-site header>div>div:first-child{min-width:0}.public-site header a[href=\/book] svg{display:none}}@media (max-width:380px){.public-site header>div>div:last-child{flex-shrink:0}}.public-site .lab-photo{min-width:0;margin:0}.public-site .lab-photo-space{aspect-ratio:16/9;background:var(--paper-2);border:1px dashed var(--muted-2);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.public-site .lab-photo-format{font-size:12px}.public-site .lab-photo--lab-session .lab-photo-space{aspect-ratio:2;background:var(--paper)}.public-site .lab-photo--team .lab-photo-space,.public-site .lab-photo--entrance .lab-photo-space{aspect-ratio:3/2}.public-site .lab-photo figcaption{max-width:80ch;padding-top:14px}.public-site .lab-photo-title{color:var(--navy);font-size:13px;font-weight:500}.public-site .lab-photo figcaption p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.7}.public-site .lab-photo-pair{grid-template-columns:1fr 1fr;gap:40px;margin-top:56px;display:grid}.public-site .lab-service-photo{margin-top:36px}@media (max-width:767px){.public-site .lab-photo-pair{grid-template-columns:1fr;gap:32px;margin-top:40px}.public-site .lab-photo--lab-session .lab-photo-space{aspect-ratio:3/2}}@keyframes reveal-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.public-site .reveal-pending:not([data-reveal=stagger]),.public-site [data-reveal=stagger].reveal-pending>*{opacity:0}.public-site .reveal-in:not([data-reveal=stagger]),.public-site [data-reveal=stagger].reveal-in>*{animation:.75s cubic-bezier(.2,.7,.2,1) backwards reveal-up}.public-site [data-reveal=stagger].reveal-in>*{animation-delay:calc(var(--reveal-i,0) * 90ms)}@media (prefers-reduced-motion:reduce){.public-site .reveal-pending:not([data-reveal=stagger]),.public-site [data-reveal=stagger].reveal-pending>*{opacity:1}.public-site .reveal-in:not([data-reveal=stagger]),.public-site [data-reveal=stagger].reveal-in>*{animation:none}}
.public-site .booking-progress{width:100%;margin:24px 0 32px}.public-site .booking-progress ol{gap:16px;display:flex}.public-site .booking-progress li{color:var(--muted);border-top:2px solid var(--rule);flex:1;align-items:center;gap:10px;padding-top:14px;font-size:13px;display:flex}.public-site .booking-progress li[aria-current=step]{border-color:var(--navy);color:var(--navy);font-weight:600}.public-site .booking-progress li[data-complete=true]{border-color:var(--accent-deep)}.public-site .booking-progress-number{background:var(--rule-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.public-site .booking-progress li[aria-current=step] .booking-progress-number{background:var(--navy);color:var(--paper)}.public-site .booking-progress-current{display:none}.public-site .booking-heading h1{margin-top:8px}.public-site .booking-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:32px;display:grid}.public-site .booking-panel{background:var(--paper);border:1px solid var(--rule);min-width:0;padding:32px}.public-site .booking-panel h2{scroll-margin-top:88px}.public-site .booking-panel h2:focus{outline:none}.public-site .booking-desktop-summary{position:sticky;top:88px}.public-site .booking-mobile-summary{display:none}.public-site .booking-services{border-top:1px solid var(--rule);gap:0;margin-top:24px;display:grid}.public-site .booking-service-option{border-bottom:1px solid var(--rule);cursor:pointer;gap:14px;padding:20px 12px;display:flex}.public-site .booking-service-option:has(input:checked){background:var(--paper-2);box-shadow:inset 3px 0 var(--navy)}.public-site .booking-service-option:has(input:focus-visible){outline:2px solid var(--accent-deep);outline-offset:2px}.public-site .booking-service-option input{width:20px;height:20px;accent-color:var(--navy);flex-shrink:0;margin-top:3px}.public-site .booking-service-content{gap:6px;min-width:0;display:grid}.public-site .booking-service-title{font:400 21px/1.25 var(--font-serif);color:var(--navy)}.public-site .booking-service-meta{color:var(--navy);font-size:14px}.public-site .booking-service-meta>span{color:var(--muted);padding-inline:6px}.public-site .booking-service-description{color:var(--muted);font-size:13px;line-height:1.6}.public-site .booking-actions{border-top:1px solid var(--rule);margin-top:32px;padding-top:20px}.public-site .booking-action-buttons{justify-content:space-between;align-items:center;gap:12px;display:flex}.public-site .booking-action-buttons button,.public-site .booking-action-buttons a{min-height:44px}.public-site .booking-next-hint{color:var(--muted);margin-bottom:12px;font-size:13px;line-height:1.5}.public-site .booking-payment-options{gap:12px;margin-top:24px;display:grid}.public-site .booking-payment-options>button{grid-template-columns:36px 1fr;gap:4px 14px;display:grid}.public-site .booking-payment-options>button>span:first-child{grid-row:span 2}.public-site .booking-flow input:not([type=radio]):not([type=checkbox]),.public-site .booking-flow select,.public-site .booking-flow textarea{min-width:0;min-height:44px;font-size:16px}.public-site .booking-flow label>span:first-child{letter-spacing:normal;text-transform:none;gap:8px;font-size:13px}.public-site .booking-flow button,.public-site .booking-flow a{max-width:100%}.public-site .booking-flow button:not(.booking-calendar button),.public-site .booking-flow a{white-space:normal}.public-site .booking-calendar{margin-top:8px}.public-site .booking-calendar-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.public-site .booking-calendar-header>p{color:var(--navy);font-size:15px;font-weight:500}.public-site .booking-calendar-header>div{flex-shrink:0;gap:8px;display:flex}.public-site .booking-calendar-header button{border:1px solid var(--rule);place-items:center;width:44px;height:44px;display:grid}.public-site .booking-calendar button:disabled{color:var(--muted-2);background:var(--paper-3);cursor:not-allowed}.public-site .booking-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.public-site .booking-days button{border:1px solid var(--rule);color:var(--navy);flex-direction:column;align-items:center;gap:5px;padding:12px 2px;display:flex}.public-site .booking-days span{font-size:12px}.public-site .booking-days strong{font:400 24px var(--font-serif)}.public-site .booking-days small{font-size:10px}.public-site .booking-days button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--paper)}.public-site .booking-times-section{border-top:1px solid var(--rule);margin-top:24px;padding-top:24px}.public-site .booking-times-section h3{color:var(--navy);font-size:16px;font-weight:500}.public-site .booking-times{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-top:16px;display:grid}.public-site .booking-times button{border:1px solid var(--rule);min-height:44px;color:var(--navy);font-variant-numeric:tabular-nums;padding:10px;font-size:14px}.public-site .booking-times .is-selected{background:var(--navy);border-color:var(--navy);color:var(--paper)}.public-site .booking-calendar-note{color:var(--muted);border-top:1px solid var(--rule);margin-top:24px;padding-top:16px;font-size:12px;line-height:1.6}.public-site .booking-slot-message{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;padding:24px 0;font-size:14px;display:flex}@media (max-width:1023px){.public-site .booking-layout{grid-template-columns:minmax(0,1fr)}.public-site .booking-desktop-summary{display:none}.public-site .booking-mobile-summary{border-block:1px solid var(--rule);margin-bottom:20px;display:block}.public-site .booking-mobile-summary summary{cursor:pointer;color:var(--navy);align-items:center;gap:16px;padding:14px 0;font-size:15px;display:flex}.public-site .booking-mobile-summary summary>span{flex:1}.public-site .booking-mobile-summary summary small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.public-site .booking-mobile-summary summary:after{content:"+";font-size:22px}.public-site .booking-mobile-summary[open] summary:after{content:"−"}.public-site .booking-mobile-summary-body{padding-bottom:16px;font-size:14px;line-height:1.8}.public-site .booking-mobile-summary-body>div{flex-wrap:wrap;gap:20px;margin-top:8px;display:flex}.public-site .booking-mobile-summary-body button{color:var(--navy);text-underline-offset:4px;min-height:44px;text-decoration:underline}}@media (max-width:639px){.public-site .booking-page{padding-block:24px}.public-site .booking-page>div{padding-inline:16px}.public-site .booking-heading p{font-size:14px}.public-site .booking-progress{margin-block:20px}.public-site .booking-progress-current{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.public-site .booking-progress-current span{color:var(--navy);font-weight:500}.public-site .booking-progress ol{gap:6px}.public-site .booking-progress li{border-top-width:3px;padding:0}.public-site .booking-progress-number{display:none}.public-site .booking-progress-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.public-site .booking-panel{padding:20px 16px 0}.public-site .booking-service-option{gap:12px;padding:16px 10px}.public-site .booking-service-title{font-size:20px}.public-site .booking-days{grid-template-columns:repeat(4,minmax(0,1fr))}.public-site .booking-calendar-header>p{font-size:13px}.public-site .booking-calendar-header>div{gap:4px}.public-site .booking-actions{z-index:10;background:var(--paper);padding:14px 0 max(14px, env(safe-area-inset-bottom));margin-top:24px;position:sticky;bottom:0}.public-site .booking-action-buttons>:last-child{flex:1;min-width:0}.public-site .booking-action-buttons>button:first-child{padding-inline:8px}.public-site .booking-action-buttons>button.invisible{display:none}.public-site .booking-flow [role=dialog]{padding:8px}.public-site .booking-flow [role=dialog]>div{max-height:calc(100dvh - 16px)}.public-site .booking-flow [role=dialog]>div>div{padding-inline:16px}.public-site .booking-flow [role=dialog] li{flex-wrap:wrap;gap:10px}.public-site .booking-flow [role=dialog] button{min-height:44px}.public-site .booking-panel>div:last-child:not(.booking-actions){padding-bottom:20px}}.public-site .booking-progress{scroll-margin-top:88px}.public-site .booking-flow select{background-size:20px 20px}.public-site .booking-group-summary{position:sticky;top:88px}@media (max-width:1023px){.public-site .booking-group-summary{position:static}}@media (max-width:639px){.public-site .booking-payment-confirmation{padding:24px 16px}.public-site .booking-payment-confirmation form,.public-site .booking-payment-confirmation .p-8{padding:20px 16px}.public-site .booking-payment-confirmation h1{font-size:32px}.public-site .booking-payment-confirmation .flex{flex-wrap:wrap}.public-site .booking-group-flow .booking-action-buttons>button{flex:1}}
