:root{--ink:#062f3b;--deep:#032530;--mint:#cde3d9;--bright:#b5f2d7;--paper:#f5f6f0;--line:rgba(6,47,59,.22);--header:96px;--gutter:clamp(24px,6vw,100px);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 28px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{touch-action:manipulation}button{border:0}img{max-width:100%;height:auto;display:block}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #078391;outline-offset:6px}.light:focus-visible,.button-mint:focus-visible,#motion-toggle:focus-visible{outline-color:#fff}::selection{background:#8ddfcb;color:var(--deep)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:18px;background:white}.skip-link:focus{top:12px}.site-header{height:var(--header);position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 3.2vw;background:#fff;border-bottom:1px solid #e9edeb}.brand{width:124px;flex-shrink:0}.brand img{width:100%;height:86px;object-fit:contain}.desktop-nav{display:flex;gap:clamp(18px,2.7vw,44px);font-size:13px}.desktop-nav a{padding:17px 0;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:8px;left:0;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;gap:16px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:52px;padding:17px 23px;border-radius:2px;font-size:14px;line-height:1.2;transition:background .2s,transform .2s}.button span,.text-link span{display:inline-block;transition:transform .2s}.button:hover span,.text-link:hover span{transform:translate(3px,-2px)}.button:active{transform:translateY(2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#125363}.button-mint{background:var(--bright);color:var(--ink)}.button-mint:hover{background:#d9ffe9}.text-link{display:inline-flex;gap:24px;align-items:center;min-height:48px;border-bottom:1px solid currentColor;font-size:14px;background:transparent;padding:10px 0}.menu-toggle{display:none;width:44px;height:44px;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:7px}.menu-toggle span{height:1px;width:23px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px var(--gutter) 34px;box-shadow:0 20px 25px #062f3b20;max-height:calc(100svh - var(--header));overflow:auto}.mobile-nav a{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);font-size:25px;letter-spacing:-.04em}.mobile-nav a span{font-size:11px;letter-spacing:.1em}.mobile-nav p{font-size:12px;margin-top:25px}.eyebrow{font-size:10px;letter-spacing:.19em;line-height:1.5;font-weight:500;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{letter-spacing:-.06em;line-height:.97}em{font-family:var(--serif);font-weight:400;letter-spacing:-.065em}h2{font-size:clamp(48px,5.8vw,86px);margin-bottom:26px}p{line-height:1.65}section[id]{scroll-margin-top:24px}.journey{background:var(--mint);position:relative}.stage{position:relative}.film{height:calc(100svh - var(--header));min-height:660px;position:relative;overflow:hidden;background:var(--deep)}.film video{height:100%;width:100%;object-fit:cover;object-position:58% center;display:block}.film-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,24,36,.78),rgba(0,24,36,.12) 75%),linear-gradient(0deg,rgba(0,24,36,.87),transparent 75%)}.film-caption{position:absolute;left:28px;bottom:24px;color:#fff;font-size:12px;opacity:0}.hero{position:absolute;inset:0 0 auto;height:calc(100svh - var(--header));min-height:660px;color:#fff;display:flex;align-items:flex-end;padding:7vh var(--gutter) 105px}.hero-copy{max-width:1000px}.hero h1{font-size:clamp(72px,8.4vw,130px);margin:22px 0 28px}.hero h1 em{color:var(--bright)}.hero-description{font-size:17px;max-width:450px;line-height:1.65;margin-bottom:25px}.hero-actions{display:flex;align-items:center;gap:30px}.hero-rail{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.16em}.hero-location-tag{opacity:.85}.experience{position:relative;padding:100px var(--gutter);display:grid;grid-template-columns:1.3fr 1fr;gap:60px}.experience h2{font-size:clamp(50px,5.6vw,80px)}.experience-copy{max-width:390px;align-self:end;font-size:17px}.experience-copy p:last-of-type{margin-bottom:26px}.motion-bar{background:var(--ink);color:var(--mint);display:flex;justify-content:space-between;align-items:center;padding:14px var(--gutter);gap:20px;font-size:10px;letter-spacing:.16em}.motion-bar button{display:inline-flex;gap:12px;align-items:center;min-height:44px;background:transparent;color:var(--bright);font-size:12px;letter-spacing:0;padding:10px 0}.motion-symbol{font-size:11px}.section-pad{padding:110px var(--gutter)}.how{display:grid;grid-template-columns:1fr 1.12fr;gap:8vw;background:var(--paper)}.section-lead{font-size:17px;max-width:330px}.steps{padding-top:5px}.step{display:grid;grid-template-columns:38px 1fr 25px;gap:20px;padding:28px 0;border-top:1px solid var(--line);transition:padding .25s}.step:last-of-type{border-bottom:1px solid var(--line)}.step-number{font-size:11px;margin-top:8px}.step h3{font-size:27px;letter-spacing:-.035em;margin-bottom:12px}.step p{font-size:15px;max-width:370px;margin-bottom:0}.step-mark{font-size:23px}.preview-note{font-size:12px;display:flex;align-items:baseline;gap:10px;margin-top:24px;line-height:1.6}.status-dot{width:6px;height:6px;background:#287768;border-radius:50%;display:inline-block;flex-shrink:0}.play{background:var(--mint);position:relative;overflow:hidden}.play-top{display:flex;justify-content:space-between;gap:45px;align-items:flex-end;margin-bottom:50px}.play-top>p{font-size:16px;margin-bottom:32px;max-width:310px}.play-selector{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:400px}.play-controls{padding:45px 55px 45px 0;display:flex;flex-direction:column;justify-content:center}.play-choice{display:grid;grid-template-columns:28px 1fr 24px;gap:14px;align-items:baseline;text-align:left;background:none;padding:30px 0;border-bottom:1px solid var(--line);transition:padding .3s,color .3s}.play-choice:first-child{border-top:1px solid var(--line)}.play-choice>span:nth-child(2){font-size:clamp(22px,2.6vw,38px);letter-spacing:-.045em}.play-choice small{display:block;font-size:13px;letter-spacing:0;margin-top:12px}.choice-index{font-size:10px}.choice-arrow{font-size:24px;transition:transform .3s}.play-choice.selected{padding-left:18px;background:linear-gradient(90deg,#ffffff45,transparent)}.play-choice.selected .choice-arrow{transform:rotate(45deg)}.play-detail{padding:45px 55px;border-left:1px solid var(--line);background:#e4efe670;position:relative}.play-detail h3{font-size:48px;line-height:1.02;letter-spacing:-.045em;margin-bottom:22px}.play-detail p{font-size:15px;max-width:390px}.play-detail .detail-note{font-size:11px;margin:19px 0 0}.questions{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw;background:var(--paper)}.location-stamp{display:flex;align-items:center;gap:16px;margin:45px 0 20px}.location-stamp p{font-size:9px;letter-spacing:.18em;margin:0;line-height:1.7}.location-stamp strong{font-size:25px;font-weight:400;letter-spacing:-.04em}.location-line{height:54px;width:1px;background:var(--ink);display:block}.visit-note{font-size:12px;max-width:270px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:25px;padding:24px 0;font-size:18px;line-height:1.4}summary::-webkit-details-marker{display:none}summary span{font-size:24px;line-height:1;transition:transform .25s}details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:15px;line-height:1.75;margin:0;padding:0 30px 26px 0;max-width:520px}.closing{background:var(--ink);color:var(--mint);position:relative;overflow:hidden}.closing:before{content:'';position:absolute;width:65vw;height:65vw;border:1px solid #cde3d91a;border-radius:50%;right:-26vw;top:-23vw;pointer-events:none}.closing-line{display:flex;justify-content:space-between;align-items:center;gap:35px;position:relative}.closing h2{font-size:clamp(60px,8.6vw,128px);margin-bottom:35px}.closing h2 em{color:var(--bright)}.closing-button{width:170px;height:170px;border:1px solid var(--bright);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:20px;color:var(--bright);font-size:15px;transition:background .3s,color .3s,transform .3s}.closing-button span:last-child{font-size:25px}.closing-button:hover{background:var(--bright);color:var(--ink);transform:rotate(-5deg)}.closing-button:focus-visible{outline-color:var(--bright)}.closing-bottom{display:flex;justify-content:space-between;gap:35px;border-top:1px solid #cde3d940;padding-top:30px;margin-top:30px;font-size:12px}.closing-bottom p{margin:0}.closing-bottom p:last-child{text-align:right}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:30px var(--gutter);background:white}.footer-brand img{width:130px;height:98px;object-fit:contain}.site-footer nav{display:flex;gap:24px;font-size:12px;flex-wrap:wrap}.site-footer nav a,.back-top{padding:15px 0}.site-footer a:hover{text-decoration:underline}.site-credit{font-size:11px;white-space:nowrap;opacity:.72}.back-top{font-size:12px;white-space:nowrap}.back-top span{padding-left:15px}.reservation-fallback{background:var(--mint)}.reservation-fallback p{max-width:600px}dialog{color:var(--ink);background:var(--paper);border:0;padding:35px 42px;margin:0 0 0 auto;inset:0;width:min(550px,100%);max-width:100%;height:100%;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#001d32b3;backdrop-filter:blur(6px)}.dialog-top{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:45px}.dialog-top .eyebrow{margin:0;font-size:9px}.dialog-close{font-size:29px;background:transparent;border:1px solid var(--line);width:44px;height:44px;flex-shrink:0;border-radius:50%}dialog h2{font-size:60px;margin-bottom:25px}dialog>p{font-size:15px}.booking-choices{display:grid;gap:0;margin:26px 0}.booking-choices button{position:relative;border-top:1px solid var(--line);text-align:left;padding:22px 35px 22px 15px;background:transparent}.booking-choices button:last-child{border-bottom:1px solid var(--line)}.booking-choices button[aria-pressed=true]{background:var(--mint)}.booking-choices span{display:block;font-size:22px;letter-spacing:-.03em}.booking-choices small{display:block;font-size:12px;margin-top:8px}.booking-choices b{position:absolute;right:12px;top:22px;font-size:22px;font-weight:400}.booking-detail{background:#e4ece6;padding:22px;min-height:155px}.booking-detail h3{font-size:23px;letter-spacing:-.03em;margin-bottom:12px}.booking-detail p{font-size:13px;margin-bottom:0}.booking-status{font-size:12px;line-height:1.65;margin:22px 0 10px;display:flex;align-items:baseline;gap:10px}.dialog-learn{font-size:13px}.motion-paused *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
@media(min-width:1000px) and (prefers-reduced-motion:no-preference){.cinematic .journey{height:185svh}.cinematic .stage{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:620px;overflow:hidden}.cinematic .film{position:absolute;inset:0;min-height:0;height:100%;z-index:2;transform-origin:center;transform:translate(calc(var(--progress,0)*-22%),calc(var(--progress,0)*4%)) scale(calc(1 - var(--progress,0)*.56));box-shadow:0 25px 60px #062f3b35;will-change:transform}.cinematic .film-shade{opacity:calc(1 - var(--progress,0)*.65)}.cinematic .film-caption{opacity:var(--progress,0)}.cinematic .hero{height:100%;min-height:0;z-index:3;opacity:var(--hero-opacity,1);transform:translateY(calc(var(--progress,0)*-90px))}.cinematic .experience{position:absolute;inset:0;padding:55px var(--gutter);display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:0;opacity:var(--story-opacity,0);z-index:1}.cinematic .experience-heading,.cinematic .experience-copy{width:42%;max-width:none;align-self:flex-end}.cinematic .experience h2{font-size:clamp(46px,4.6vw,72px);margin-bottom:25px}.cinematic .experience-copy{font-size:15px}.cinematic .experience-copy p{max-width:380px;margin-bottom:16px}.cinematic .experience .text-link{margin-top:4px}.step:hover{padding-left:8px}.play-choice:hover .choice-arrow{transform:translate(4px,-3px)}}
@media(max-width:999px){:root{--header:84px}.desktop-nav{display:none}.menu-toggle{display:flex}.site-header{padding:0 24px}.brand{width:106px}.brand img{height:76px}.film,.hero{height:calc(90svh - var(--header));min-height:660px}.hero h1{font-size:clamp(64px,10vw,98px)}.hero{padding-bottom:100px}.experience{grid-template-columns:1fr 1fr;gap:40px;padding:80px var(--gutter)}.experience h2{font-size:52px}.experience-copy{font-size:15px}.section-pad{padding:80px var(--gutter)}.how,.questions{gap:6vw}.step{grid-template-columns:24px 1fr;gap:12px}.step-mark{display:none}.step h3{font-size:24px}.play-top{align-items:flex-start}.play-controls{padding-right:28px}.play-detail{padding:35px 28px}.play-detail h3{font-size:41px}.play-choice{grid-template-columns:18px 1fr 20px;gap:8px}.play-choice>span:nth-child(2){font-size:26px}.site-footer{flex-wrap:wrap;gap:22px}.site-footer nav{gap:18px}.closing-button{width:140px;height:140px}.closing h2{font-size:78px}}
@media(max-width:600px){:root{--header:78px;--gutter:24px}.site-header{padding:0 18px;gap:12px}.brand{width:92px}.brand img{height:69px}.header-actions{gap:12px}.header-actions .button{font-size:12px;padding:14px 16px;gap:20px;min-height:46px}.menu-toggle{width:36px}.film,.hero{height:calc(100svh - var(--header));min-height:620px;max-height:820px}.film video{object-position:57% center}.film-shade{background:linear-gradient(0deg,#001824f5 0%,#001824ab 40%,#00182422 85%)}.hero{padding:45px var(--gutter) 90px}.hero .eyebrow{font-size:8px;letter-spacing:.13em}.hero h1{font-size:clamp(54px,13.5vw,79px);line-height:1;margin:20px 0 23px}.hero-description{font-size:14px;max-width:310px;margin-bottom:22px}.hero-actions{gap:17px;align-items:flex-start;flex-direction:column}.hero-actions .button{min-width:175px}.hero-actions .text-link{font-size:12px;min-height:38px;padding-top:5px}.hero-rail{bottom:25px;font-size:8px;letter-spacing:.1em;align-items:flex-end}.hero-location-tag{max-width:90px;text-align:right;line-height:1.6}.experience{display:block;padding:62px var(--gutter)}.experience h2{font-size:53px}.experience-copy{margin-top:30px;max-width:390px}.motion-bar{padding:9px var(--gutter)}.motion-bar>span{font-size:8px;letter-spacing:.1em;max-width:110px;line-height:1.5}.motion-bar button{font-size:11px;gap:8px}.section-pad{padding:65px var(--gutter)}h2{font-size:49px}.eyebrow{font-size:9px;margin-bottom:22px}.how,.questions{display:block}.section-lead{font-size:15px}.steps{margin-top:38px}.step{padding:26px 0;grid-template-columns:28px 1fr}.step h3{font-size:26px}.step p{font-size:14px}.preview-note{font-size:11px}.play-top{display:block;margin-bottom:32px}.play-top h2{font-size:48px}.play-top>p{font-size:14px;margin:25px 0}.play-selector{display:block}.play-controls{padding:12px 0 25px}.play-choice{padding:24px 0;grid-template-columns:25px 1fr 25px}.play-choice:first-child{border-top:0}.play-choice>span:nth-child(2){font-size:29px}.play-choice.selected{padding-left:12px}.play-detail{border-left:0;border-top:1px solid var(--line);padding:30px 24px;min-height:355px}.play-detail h3{font-size:42px}.play-detail p{font-size:14px}.faq-list{margin-top:38px}summary{font-size:16px;padding:23px 0}.faq-list details p{font-size:14px;padding-right:14px}.location-stamp{margin-top:30px}.visit-note{max-width:320px}.closing-line{display:block}.closing h2{font-size:clamp(52px,13vw,76px)}.closing-button{height:62px;width:auto;max-width:220px;border-radius:2px;justify-content:space-between;padding:20px 25px;background:var(--bright);color:var(--ink);font-size:14px}.closing-button:hover{transform:none}.closing-bottom{font-size:11px;gap:20px;flex-direction:column}.closing-bottom p:last-child{text-align:left}.site-footer{padding:24px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.footer-brand img{width:115px;height:86px}.site-footer nav{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.site-credit{grid-column:1/-1;grid-row:3;justify-self:center}.back-top{justify-self:end}.dialog-top{margin-bottom:30px}dialog{padding:24px}dialog h2{font-size:50px}.booking-detail{min-height:170px}.dialog-top .eyebrow{max-width:190px;font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.film video{object-position:center}.closing-button:hover{transform:none}}

.hero-rail{align-items:center}.hero-film-toggle{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 16px;border:1px solid #ffffff75;border-radius:30px;background:#03253055;color:#fff;font-size:11px;letter-spacing:0}.hero-film-toggle:focus-visible{outline-color:#fff}.motion-actions{display:flex;align-items:center;gap:28px}.motion-bar #reduce-toggle{border-bottom:1px solid #b5f2d770}.reduced-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
@media(max-width:600px){.hero-rail{flex-wrap:wrap;row-gap:12px}.hero-rail>span:first-child{max-width:110px;line-height:1.7}.hero-rail .hero-location-tag{display:none}.hero-film-toggle{font-size:10px;min-height:40px;padding:8px 13px}.motion-actions{gap:18px}.motion-bar>span{max-width:85px;font-size:7px}}

@media(min-width:1000px){.cinematic .film-caption{font-size:25px;left:40px;bottom:32px}}
.booking-calendar{margin:25px 0 18px}.booking-duration{margin:0 0 24px}.booking-duration label{display:block;font-size:14px;margin-bottom:9px}.booking-duration select{width:100%;min-height:50px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px 14px;font:inherit}.calendar-heading{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:12px}.calendar-heading h3{margin:0;text-align:center;font-size:19px;letter-spacing:-.025em}.calendar-nav{width:44px;height:44px;border:1px solid var(--line);background:transparent;font-size:20px}.calendar-nav:disabled{opacity:.35;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-grid>span{padding:8px 0;font-size:10px;letter-spacing:.08em;color:#49636a}.calendar-days{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-day,.calendar-empty{min-height:42px}.calendar-day{border:1px solid transparent;background:transparent;font-size:13px}.calendar-day:hover:not(:disabled),.calendar-day:focus-visible{border-color:var(--ink);background:#e4ece6}.calendar-day:disabled{opacity:.28;cursor:not-allowed}.calendar-day.selected,.calendar-day.selected:hover{background:var(--ink);color:white}.availability-message{font-size:13px;line-height:1.55;margin:21px 0 11px;min-height:20px}.availability-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px}.availability-slot{min-height:48px;padding:10px 8px;border:1px solid var(--line);background:transparent;font-size:12px}.availability-slot:hover,.availability-slot.selected{background:var(--mint);border-color:var(--ink)}.availability-slot.selected{box-shadow:inset 0 0 0 1px var(--ink)}.slot-selection{margin-top:16px;padding:14px;background:#e4ece6;border-left:3px solid #287768;font-size:13px;line-height:1.55}.booking-limit-note{font-size:11px;line-height:1.6;color:#405b61;margin:0 0 18px}.booking-choices button[aria-pressed=true]{box-shadow:inset 3px 0 var(--ink)}@media(max-width:600px){.availability-slots{grid-template-columns:1fr 1fr}.calendar-day,.calendar-empty{min-height:40px}.calendar-grid,.calendar-days{gap:2px}.availability-slot{font-size:11px;padding:9px 4px}}
.sandbox-banner{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:13px var(--gutter);background:#f1e8d2;color:#31433b;border-bottom:1px solid #d8c79c;font-size:12px;line-height:1.5}.sandbox-banner strong{font-size:10px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.booking-flow{margin:20px 0 10px}.booking-flow[hidden]{display:none}.booking-flow-card{padding:22px;background:#e7eee8;border-left:3px solid #287768}.booking-flow-card h3{font-size:22px;letter-spacing:-.03em;margin:0 0 10px}.booking-flow-card>p{font-size:13px;line-height:1.65;margin:0 0 15px}.booking-flow-card.flow-error{background:#f4e7df;border-left-color:#a74c32}.flow-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;margin:10px 9px 0 0;border:0;background:#103b2d;color:#fff;font:inherit;font-size:13px;text-align:center;cursor:pointer}.flow-button:hover{background:#287768}.flow-button-secondary{background:transparent;color:#103b2d;border:1px solid #9bad9e}.flow-form{display:grid;gap:13px;margin-top:18px}.flow-form label{display:grid;gap:7px;font-size:12px}.flow-form input{width:100%;min-height:46px;padding:11px 13px;border:1px solid #aab9ac;background:#fff;color:#142823;font:inherit}.flow-message{min-height:20px;margin:5px 0 0!important;font-size:12px!important}.flow-small{font-size:11px!important;margin-top:15px!important;color:#526960}.flow-reservations{border-top:1px solid #bdcbc0;margin-top:20px;padding-top:14px}.flow-reservations h4{font-size:15px;margin:0 0 10px}.flow-reservation-list{list-style:none;padding:0;margin:0}.flow-reservation-list li{display:grid;gap:6px;border-top:1px solid #c5d0c7;padding:13px 0;font-size:12px}.flow-reservation-list li strong{font-size:13px}.flow-reservation-list li span{color:#53675e}.flow-success{background:#e2f0e7;border-left-color:#287768}@media(max-width:600px){.sandbox-banner{grid-template-columns:1fr;gap:3px;padding:11px 20px;font-size:11px}.booking-flow-card{padding:18px}.flow-button{width:100%;margin-right:0}.flow-reservation-list li .flow-button{width:auto}}
.booking-flow-card.email-sent-card{position:relative;padding:28px 24px 24px 82px;background:#e2f0e7;border-left:5px solid #287768;box-shadow:0 12px 32px #103b2d18}.booking-flow-card.email-sent-card h3{font-size:26px;margin-bottom:9px}.booking-flow-card.email-sent-card>p{font-size:15px;line-height:1.6;margin-bottom:12px}.email-sent-mark{position:absolute;left:22px;top:26px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#103b2d;color:#fff;font-size:20px}@media(max-width:600px){.booking-flow-card.email-sent-card{padding:22px 18px 20px 70px}.email-sent-mark{left:16px;top:22px}}

.home-news{background:#ece9de;color:#183c34}.home-news-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.home-news-card{border-top:1px solid #8c9a8d;padding-top:24px}.home-news-card img{width:100%;height:220px;object-fit:cover;margin-bottom:20px}.home-news-card h3{font-size:clamp(26px,3vw,40px);line-height:1.1;margin:16px 0}.home-news-card p{line-height:1.6}.home-news-card .eyebrow{font-size:11px}.home-news-card a{display:inline-block;margin-top:16px;color:inherit}#home-news-status{margin-top:32px}@media(max-width:760px){.home-news-list{grid-template-columns:1fr}.home-news .play-top{gap:24px}.home-news-card img{height:240px}}

/* Temporary static map in the Visit & FAQs section until the verified interactive map is ready. */
.location-map{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;margin-top:28px;border:1px solid var(--line);background:var(--mint)}
.location-map img{width:100%;height:100%;object-fit:cover;object-position:right center;transition:transform .35s ease}
.location-map:hover img{transform:scale(1.025)}
.location-map-link{display:inline-flex;align-items:center;gap:15px;margin-top:14px;padding:10px 0;border-bottom:1px solid currentColor;font-size:13px}
.location-map-link span{font-size:17px;transition:transform .2s}
.location-map-link:hover span{transform:translate(3px,-2px)}
@media(prefers-reduced-motion:reduce){.location-map img,.location-map-link span{transition:none}}
@media(min-width:1000px) and (max-height:740px) and (prefers-reduced-motion:no-preference){.cinematic .stage{min-height:0}.cinematic .hero h1{font-size:clamp(62px,9vh,100px)}.cinematic .hero{padding-bottom:75px}.cinematic .experience{padding-top:24px;padding-bottom:24px}.cinematic .experience h2{font-size:clamp(34px,6vh,52px)}.cinematic .experience-copy{font-size:13px}}

.member-benefits{list-style:none;padding:0;margin:28px 0 20px;max-width:500px}.member-benefits li{position:relative;padding:10px 0 10px 25px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.45}.member-benefits li::before{content:"↗";position:absolute;left:0;top:10px}.member-benefits + .detail-note{font-size:12px;line-height:1.5;max-width:450px}

.booking-contact{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid var(--line);padding:32px 0 8px;margin-top:0}.booking-contact .eyebrow{margin:0 0 12px}.booking-contact h3{font-size:clamp(22px,2.2vw,32px);font-weight:400;letter-spacing:-.035em;margin:0 0 10px}.booking-contact p{margin:0 0 8px}.booking-contact-placeholder{font-size:11px;opacity:.68}.booking-contact-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}.contact-phone{font-size:18px;white-space:nowrap}.whatsapp-placeholder{white-space:nowrap}
@media(max-width:700px){.booking-contact{align-items:flex-start;flex-direction:column;padding-top:27px}.booking-contact-actions{flex-wrap:wrap}}

.flow-cash-contact{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #bdcbc0;font-size:11px;line-height:1.4;color:#526960}.flow-cash-contact span{flex:1 1 210px}.flow-cash-contact>a{color:#103b2d;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.flow-cash-contact .flow-whatsapp{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid #8da99a;text-decoration:none;font-size:11px}.flow-cash-contact .flow-whatsapp:hover{background:#d6e8dc}

/* Membership landing page */
.membership-hero{background:var(--deep);color:var(--paper);min-height:480px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.membership-hero h1{font-size:clamp(58px,8vw,112px);line-height:.98;letter-spacing:-.065em;font-weight:400;margin:12px 0 25px}.membership-hero h1 em,.membership-section-head h2 em,.membership-benefits h2 em{font-family:var(--serif);font-weight:400}.membership-lead{font-size:18px;line-height:1.6;max-width:620px;margin:0 0 28px}.membership-plans{background:#e4eee8}.membership-section-head{display:grid;grid-template-columns:.65fr 1fr;align-items:start;margin-bottom:44px}.membership-section-head h2,.membership-benefits h2{font-size:clamp(46px,5vw,72px);font-weight:400;line-height:1;letter-spacing:-.055em;margin:0}.membership-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.membership-plan{padding:clamp(26px,4vw,50px);background:#f5f5ef;border:1px solid #bdcec4;display:flex;flex-direction:column;align-items:flex-start}.membership-plan-featured{background:#d0e4da;border-color:#9ab7a9}.membership-plan h3{font-size:clamp(30px,3vw,44px);font-weight:400;letter-spacing:-.04em;margin:3px 0 15px}.membership-price{display:flex;align-items:baseline;gap:10px;margin:0 0 20px}.membership-price strong{font-size:54px;line-height:1;letter-spacing:-.06em;font-weight:400}.membership-price span{font-size:15px}.membership-plan>p:not(.eyebrow):not(.membership-price){font-size:15px;line-height:1.65;max-width:520px}.membership-plan ul{padding:0 0 0 19px;margin:10px 0 28px;line-height:1.65}.membership-plan li{padding:5px 0}.membership-plan .button{margin-top:auto}.membership-benefits{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--paper)}.membership-benefit-list article{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:21px 0;border-top:1px solid var(--line)}.membership-benefit-list article:last-child{border-bottom:1px solid var(--line)}.membership-benefit-list article>span{font-size:12px}.membership-benefit-list h3{font-size:24px;font-weight:400;margin:0 0 8px}.membership-benefit-list p{font-size:14px;line-height:1.6;margin:0;max-width:540px}.membership-fineprint{display:flex;align-items:center;justify-content:space-between;gap:35px;background:#d7e9df}.membership-fineprint p{font-size:13px;line-height:1.65;max-width:760px;margin:0}.membership-page+.site-footer{margin-top:0}
@media(max-width:700px){.membership-hero{min-height:420px}.membership-hero h1{font-size:clamp(54px,13vw,76px)}.membership-lead{font-size:16px}.membership-section-head{display:block}.membership-section-head h2{margin-top:20px}.membership-plan-grid{grid-template-columns:1fr}.membership-plan{padding:28px 23px}.membership-benefits{display:block}.membership-benefit-list{margin-top:38px}.membership-fineprint{align-items:flex-start;flex-direction:column}}
/* Clear, compact MSQ2I footer credit */
.site-credit{display:inline-flex;align-items:center;gap:7px;padding:11px 14px;border:1px solid var(--line);background:var(--mint);color:var(--ink);font-size:12px;font-weight:500;letter-spacing:.02em;white-space:nowrap;opacity:1;transition:background .2s,border-color .2s,transform .2s}.site-credit strong{font-weight:700;letter-spacing:.06em}.site-credit span{font-size:14px;transition:transform .2s}.site-credit:hover{background:var(--bright);border-color:var(--ink);text-decoration:none!important;transform:translateY(-1px)}.site-credit:hover span{transform:translate(2px,-2px)}
/* Clear, compact MSQ2I footer credit */
.site-credit{display:inline-flex;align-items:center;gap:7px;padding:11px 14px;border:1px solid var(--line);background:var(--mint);color:var(--ink);font-size:12px;font-weight:500;letter-spacing:.02em;white-space:nowrap;opacity:1;transition:background .2s,border-color .2s,transform .2s}.site-credit strong{font-weight:700;letter-spacing:.06em}.site-credit span{font-size:14px;transition:transform .2s}.site-credit:hover{background:var(--bright);border-color:var(--ink);text-decoration:none!important;transform:translateY(-1px)}.site-credit:hover span{transform:translate(2px,-2px)}

/* Horizontal brand lockup in the site header. */
.site-header .brand{width:190px}.site-header .brand img{height:76px}
@media(max-width:999px){.site-header .brand{width:165px}.site-header .brand img{height:66px}}
@media(max-width:600px){.site-header .brand{width:145px}.site-header .brand img{height:60px}}

.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:11px;line-height:1.35}.footer-contact>span,.location-contact>span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.72}.footer-contact a,.location-contact a,.closing-bottom a{text-decoration:underline;text-underline-offset:3px}.booking-contact-actions .contact-phone{font-size:15px}.location-contact{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:27px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}.membership-payment-contact{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:28px;padding:23px 0;border-top:1px solid var(--line)}.membership-payment-contact>div{flex:1 1 300px}.membership-payment-contact p{margin:0}.membership-payment-contact .eyebrow{margin:0 0 7px;font-size:9px}.membership-payment-contact>a:last-child{font-size:13px;text-decoration:underline;text-underline-offset:3px}.flow-cash-contact{font-size:12px}.flow-cash-contact .flow-whatsapp{font-size:12px}@media(max-width:700px){.footer-contact{width:100%}.membership-payment-contact{align-items:flex-start;flex-direction:column;gap:14px}.closing-bottom p:last-child{text-align:left}}

/* Separate purchase actions clearly on the plan card and in the account. */
.membership-plan-actions{display:grid;gap:12px;width:100%;max-width:390px;margin-top:auto;padding-top:4px}
.membership-plan .membership-plan-actions .button{width:100%;margin:0;min-width:0}
.membership-plan .button-outline{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.membership-plan .button-outline:hover{background:#b6d5c6}
.flow-purchases{display:grid;gap:10px;margin:20px 0;padding:18px;background:#f7fbf8;border:1px solid #9bad9e}
.flow-purchases h4,.flow-purchases p{margin:0}.flow-purchases h4{font-size:16px}.flow-purchases p{font-size:13px;line-height:1.5}
.flow-purchases .flow-button{width:100%;margin:0}.flow-purchases label{display:grid;gap:7px;font-size:13px}.flow-purchases input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #9bad9e;background:#fff;color:#142823;font:inherit}
.member-hour-balance{margin:10px 0 14px;padding:11px 13px;background:#e7eee8;border-left:3px solid #287768;color:#103b2d;font-size:14px;line-height:1.5}
