:root{--chalk:#f5f5ef;--forest:#153d35;--mint:#d6ebe1;--sage:#d7ddce;--bg:var(--chalk);--fg:var(--forest);--surface:#fff;--line:#bccbc3;--muted:#49625b;--accent:var(--forest);--accent-text:var(--chalk);--booking:var(--mint);--inverse:#153d35;--inverse-text:#f5f5ef;color-scheme:light;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}
:root[data-theme=dark]{--bg:#122b25;--fg:#e6eee5;--surface:#1c3c33;--line:#436055;--muted:#c0cec6;--accent:#d6ebe1;--accent-text:#153d35;--booking:#203f34;--inverse:#d6ebe1;--inverse-text:#153d35;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--fg);transition:background-color .25s,color .25s}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:5px}button{border:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}figure,p,h1,h2,h3{margin:0}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:1.02}h2{font-size:clamp(44px,5.3vw,76px)}h3{font-size:27px;font-weight:400;letter-spacing:-.03em}p{line-height:1.6}p+p{margin-top:18px}.small{font-size:14px;color:var(--muted)}.section{padding:100px max(5vw,24px);max-width:1800px;margin:auto}.text-link{display:inline-block;border:0;border-bottom:1px solid currentColor;background:none;padding:8px 0;font-size:16px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:16px 27px;background:var(--accent);color:var(--accent-text);border-radius:100px;font-size:16px;transition:transform .2s,opacity .2s}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(0)}.button:disabled{opacity:.55}.header{max-width:1800px;min-height:114px;margin:auto;padding:24px max(5vw,24px);display:flex;align-items:center;gap:35px;justify-content:space-between}.brand{display:flex;align-items:center;gap:17px;font-size:16px;line-height:1.15;letter-spacing:-.03em}.logo{display:block;width:59px;height:36px;background:currentColor;mask:url('/icons/logo.png') center/contain no-repeat;-webkit-mask:url('/icons/logo.png') center/contain no-repeat}.header nav{display:flex;gap:32px;margin-left:auto}.header nav a{font-size:15px;padding:13px 0}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.controls{display:flex;gap:12px;align-items:center}.controls button{background:transparent;border:1px solid var(--line);min-width:44px;min-height:44px;border-radius:50%;font-size:13px}.controls #theme{display:flex;justify-content:center;align-items:center}.header-cta{font-size:14px;margin-left:12px}.hero{max-width:1800px;margin:0 auto;display:flex;align-items:stretch;padding:14px 0 0 max(5vw,24px);gap:3vw;min-height:690px}.hero-copy{width:51%;padding:16px 0 40px;position:relative;z-index:1;animation:enter .8s both}.hero h1{font-size:clamp(90px,12.4vw,180px);letter-spacing:-.075em;line-height:.9;position:relative;margin-bottom:26px}.hero h1 span{display:block;margin-left:6vw}.hero .lead{font-size:clamp(20px,2.1vw,29px);font-weight:400;letter-spacing:-.025em;line-height:1.35}.hero-actions{display:flex;align-items:center;gap:26px;margin:26px 0}.hero-note{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:30px;max-width:360px;font-size:15px;line-height:1.5}.line-icon{display:flex;width:44px;height:44px;align-items:center;justify-content:center;background:var(--mint);color:var(--forest);border-radius:50%;flex-shrink:0}.hero-photo{width:49%;position:relative;overflow:hidden;border-radius:90px 0 0 0;animation:photo-in .9s .12s both}.hero-photo img{width:100%;height:100%;max-height:740px;object-fit:cover;object-position:50% 35%;display:block}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--forest);color:var(--chalk);padding:18px 28px;display:flex;justify-content:space-between;gap:14px;font-size:13px}.hero-photo figcaption a{font-size:14px}.section-intro{display:flex;gap:10vw;align-items:end;margin-bottom:60px}.section-intro h2{flex:1}.section-intro p{width:35%;font-size:18px;max-width:340px}.offers{border-top:1px solid var(--line)}.offers article{display:flex;gap:35px;padding:36px 0;border-bottom:1px solid var(--line);align-items:center}.number{font-size:14px;align-self:flex-start;padding-top:7px;color:var(--muted)}.offers article>div{flex:1}.offers p{font-size:16px;color:var(--muted);max-width:520px;margin-top:13px}.offer-link{font-size:15px;margin-left:35px}.booking{background:var(--booking);display:flex;gap:6vw;align-items:flex-start}.booking-intro{flex:1;min-width:0}.booking-intro>p{font-size:18px;max-width:300px;margin-top:27px}.booking-intro .small{font-size:14px}.demo-note{padding:20px 0;display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;line-height:1.6;margin-top:30px;max-width:340px}.status-dot{width:7px;height:7px;background:currentColor;border-radius:50%;flex-shrink:0;margin-top:8px}.booking-panel{width:59%;background:var(--bg);padding:35px;border-radius:20px}.booking-panel label{font-size:14px;line-height:1.5}select,input,textarea{width:100%;display:block;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;padding:13px 14px;min-height:48px;margin:9px 0 18px}select{padding-right:30px}textarea{resize:vertical}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin:32px 0 20px;gap:10px}.calendar-header strong{font-size:16px;font-weight:500}.calendar-header button{background:none;font-size:22px;min-width:44px;height:44px;border:1px solid var(--line);border-radius:50%;margin-left:6px}.calendar-header button:disabled{opacity:.3}.days{display:flex;gap:7px}.days button{flex:1;min-width:0;min-height:72px;border-radius:8px;border:1px solid var(--line);background:none;font-size:12px;line-height:1.4;padding:9px 3px}.days b{display:block;font-size:19px;font-weight:400;margin-top:5px}.days button[aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.days button:disabled{opacity:.35}.time-heading{font-size:14px;margin:28px 0 16px}.times{display:flex;flex-wrap:wrap;gap:8px;min-height:46px}.times button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:12px 14px;min-height:46px;line-height:1.5;font-size:14px}.times button small{font-size:11px;display:block}.times button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.times button:disabled{background:none;color:var(--muted);border-style:dashed}.times button[data-state=booked]{text-decoration:line-through}.legend{display:flex;gap:15px;flex-wrap:wrap;padding:25px 0;font-size:11px;color:var(--muted)}.legend span{display:flex;gap:5px;align-items:center}.legend b{font-weight:400}.legend i{width:7px;height:7px;border-radius:50%;background:var(--forest);display:block}.legend .booked{background:#718b7d}.legend .blocked{border:1px solid currentColor;background:none}.legend .vacation{background:#aa7d39}.form-row{display:flex;gap:16px;align-items:flex-start}.form-row label{flex:1;min-width:0}fieldset{border:0;padding:25px 0 0;margin:0;border-top:1px solid var(--line)}legend{float:left;width:100%;margin-bottom:20px;font-size:18px}fieldset .form-row{clear:both}.consent{display:flex;align-items:flex-start;gap:12px;color:var(--muted);margin:10px 0 25px}.consent input{width:18px;height:18px;min-height:0;margin:3px 0 0;flex-shrink:0;accent-color:var(--forest)}.submit{width:100%}#booking-status{font-size:14px;margin-top:16px}#booking-status a{display:inline-block;text-decoration:underline;margin-top:8px}.about{display:flex;gap:9vw;align-items:center;padding-top:120px}.about figure{width:44%;border-radius:0 70px 0 0;overflow:hidden}.about img{display:block;width:100%;height:auto;max-height:600px;object-fit:cover}.about>div{flex:1}.about .lead{font-size:26px;margin:30px 0}.about p:not(.lead){color:var(--muted);max-width:440px;font-size:17px}.about .text-link{margin-top:25px}.journal{padding-top:25px}.journal-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.journal h2{font-size:48px}.photo-strip{display:flex;gap:22px;align-items:start}.photo-strip figure{flex:1;min-width:0}.photo-strip figure:nth-child(2){margin-top:55px}.photo-strip img{display:block;width:100%;height:340px;object-fit:cover;border-radius:10px}.photo-strip figcaption{padding-top:15px;font-size:14px}.faq{max-width:1000px;padding-top:30px}.faq h2{font-size:45px;margin-bottom:40px}.faq details{border-top:1px solid var(--line);padding:25px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:18px;line-height:1.4}.faq details p{font-size:16px;max-width:650px;margin-top:20px;color:var(--muted)}.contact{background:var(--inverse);color:var(--inverse-text);display:flex;flex-wrap:wrap;gap:55px;align-items:center}.contact h2{font-size:clamp(55px,7vw,100px);flex:1;min-width:40%}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:15px;font-size:clamp(16px,1.7vw,23px)}.contact-links a{padding:10px 0;border-bottom:1px solid currentColor;overflow-wrap:anywhere}.venue-row{width:100%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid currentColor;padding-top:32px;gap:30px;font-size:14px}.venue-row img{width:120px;height:81px;display:block;background:white;border-radius:5px;object-fit:contain}footer{max-width:1800px;padding:28px max(5vw,24px);display:flex;gap:25px;justify-content:space-between;font-size:12px;align-items:center}footer .text-link{font-size:12px}.skip{position:absolute;top:0;left:20px;transform:translateY(-130%);background:var(--accent);color:var(--accent-text);padding:15px;z-index:20}.skip:focus{transform:none}dialog{border:1px solid var(--line);border-radius:20px;color:var(--fg);background:var(--bg);max-width:550px;padding:40px;margin:auto}dialog h2{font-size:38px;margin-bottom:20px}dialog p{font-size:15px}.close{position:absolute;right:15px;top:12px;font-size:26px;background:none;min-width:44px;min-height:44px}dialog::backdrop{background:#10271c88}[hidden]{display:none!important}.studio-title{display:flex;gap:30px;justify-content:space-between;align-items:center}.studio-title h1{font-size:clamp(50px,7vw,100px);margin-top:20px}.studio-title p{font-size:17px}.studio .demo-note{max-width:none}.studio-section{border-top:1px solid var(--line);padding-top:35px;margin-top:45px}.studio-section h2{font-size:32px;margin-bottom:25px}.studio-slots{max-height:650px;overflow:auto}.slot-row,.booking-row{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.slot-row button,.booking-row button{background:none;border:1px solid var(--line);padding:10px 16px;border-radius:8px;min-height:44px}.booking-row{flex-wrap:wrap}.booking-row>div{min-width:180px}.studio-section>p{max-width:600px}.studio-section .text-link{margin-top:20px}
@keyframes enter{from{transform:translateY(15px)}to{transform:none}}@keyframes photo-in{from{transform:translateY(22px)}to{transform:none}}
@media(min-width:1800px){.hero{padding-left:90px}.hero h1{font-size:210px}}
@media(max-width:1000px){.header{gap:20px}.header nav{gap:20px}.header-cta{display:none}.hero{min-height:590px;gap:10px}.hero h1{font-size:14vw}.hero-copy{padding-top:35px}.hero-actions{flex-direction:column;align-items:start;gap:12px}.hero-note{margin-top:25px}.hero-photo img{max-height:700px}.section{padding:75px 5vw}.booking{gap:4vw}.booking-panel{padding:24px;width:61%}.photo-strip img{height:290px}.contact{gap:30px}.about{gap:6vw}}
@media(max-width:700px){.header{min-height:91px;padding:18px 6vw;gap:15px}.brand{font-size:13px;gap:10px}.logo{width:44px;height:28px}.header nav{display:none}.controls{gap:9px}.hero{padding:15px 6vw 0;flex-direction:column;gap:30px}.hero-copy{width:100%;padding:0}.hero h1{font-size:24.5vw;margin-bottom:25px;max-width:100%;line-height:.89}.hero h1 span{margin-left:13vw}.hero .lead{font-size:22px}.hero-actions{flex-direction:row;gap:20px;margin-top:25px;flex-wrap:wrap}.button{padding:14px 22px;font-size:14px;min-height:50px}.text-link{font-size:14px}.hero-note{margin-top:28px;padding-top:18px;max-width:none;font-size:13px}.hero-photo{width:100%;height:430px;border-radius:65px 0 0 0}.hero-photo img{height:100%;object-position:center 31%}.hero-photo figcaption{padding:14px 18px;font-size:11px}.hero-photo figcaption a{font-size:12px}.section{padding:66px 6vw}h2{font-size:49px}.section-intro{display:block;margin-bottom:36px}.section-intro p{width:100%;max-width:400px;font-size:16px;margin-top:25px}.offers article{align-items:start;flex-wrap:wrap;gap:20px;padding:29px 0}.offers article>div{width:calc(100% - 40px);flex:auto}.offers h3{font-size:23px}.offers p{font-size:15px}.offer-link{margin-left:38px;font-size:14px}.booking{display:block}.booking-intro>p{max-width:none;font-size:16px;margin-top:20px}.demo-note{max-width:none;padding:15px 0;margin-top:22px}.booking-intro .small{margin-top:17px}.booking-panel{width:100%;padding:22px 18px;margin-top:30px;border-radius:15px}.calendar-header{margin:22px 0 16px}.days{gap:5px}.days button{font-size:11px;min-height:67px}.days b{font-size:18px}.times{gap:7px}.legend{gap:12px;font-size:10px}.form-row{flex-wrap:wrap;gap:8px}.form-row label{flex:1 1 45%}.about{display:flex;flex-direction:column-reverse;gap:36px}.about figure{width:100%;border-radius:0 55px 0 0}.about img{max-height:520px;object-position:center 30%}.about .lead{font-size:23px;margin:25px 0}.about p:not(.lead){font-size:16px}.journal{padding-top:0;overflow:hidden}.journal-title{align-items:start;gap:20px}.journal h2{font-size:38px}.journal-title .text-link{font-size:12px;max-width:120px}.photo-strip{overflow:auto;scroll-snap-type:x mandatory;margin-right:-6vw;padding-right:6vw;gap:16px;align-items:start}.photo-strip figure{min-width:72vw;scroll-snap-align:start;flex:1 0 72vw}.photo-strip figure:nth-child(2){margin-top:0}.photo-strip img{height:360px}.faq{padding-top:10px}.faq h2{font-size:36px}.faq summary{font-size:16px}.faq details p{font-size:14px}.contact{display:block}.contact h2{font-size:clamp(42px,13.5vw,64px)}.contact-links{margin-top:32px;gap:10px;font-size:16px}.venue-row{margin-top:40px;gap:20px}.venue-row p{max-width:210px;font-size:12px}.venue-row img{width:98px;height:66px}footer{padding:24px 6vw;flex-wrap:wrap;font-size:11px;gap:18px}footer .text-link{font-size:11px}.studio-title{align-items:start}.studio-title .text-link{max-width:100px}.studio-section h2{font-size:28px}.slot-row{gap:10px;font-size:12px}.slot-row button{font-size:12px;padding:8px 10px}.studio-section .form-row{gap:14px}.studio-section .form-row label{flex-basis:calc(50% - 14px)}dialog{margin:20px;padding:35px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.booking-panel fieldset{animation:enter .25s both}.times button,.days button{transition:background-color .18s,color .18s,border-color .18s}

/* Mint Forest refinement — interaction, hierarchy and supporting venue identity. */
:root{--ease:cubic-bezier(.22,1,.36,1);--footer:#153d35}
html{scroll-padding-top:110px}.header{position:sticky;top:0;z-index:10;min-height:94px;background:var(--bg);border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s}.header.is-scrolled{border-color:var(--line);box-shadow:0 8px 24px #00000006}.header nav a{position:relative}.header nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.header nav a:hover{text-decoration:none}.header nav a:hover::after,.header nav a.is-active::after{transform:scaleX(1)}.controls button{transition:background-color .2s,transform .35s var(--ease)}.controls button:hover{background:var(--booking)}:root[data-theme=dark] #theme svg{transform:rotate(-25deg)}#theme svg{transition:transform .4s var(--ease)}
.hero{padding-top:26px;gap:5vw;min-height:670px}.hero-copy{width:50%;animation:none;padding-top:12px}.location-label{display:flex;gap:8px;align-items:center;font-size:14px;margin-bottom:30px;color:var(--muted)}.location-label svg{width:18px;height:18px}.hero h1{font-size:clamp(92px,10.5vw,166px);margin-bottom:30px}.hero h1 span{margin-left:5vw}.hero-photo{width:50%;border-radius:100px 0 0 0;animation:photo-reveal 1s var(--ease) both}.hero-photo img{max-height:720px;transition:transform .9s var(--ease)}.hero-copy>h1{animation:title-arrive .85s .06s var(--ease) both}.hero .lead,.hero-actions,.hero-note,.location-label{animation:copy-arrive .7s var(--ease) both}.hero .lead{animation-delay:.12s}.hero-actions{animation-delay:.2s}.hero-note{animation-delay:.28s}.hero-note{max-width:390px}.hero-note .line-icon{width:48px;height:48px}.button{transition:transform .3s var(--ease),background-color .25s,box-shadow .25s}.button:hover{transform:translateY(-2px);box-shadow:0 5px 0 color-mix(in srgb,var(--fg) 12%,transparent)}.button:active{transform:translateY(1px);box-shadow:none}.text-link{transition:color .2s,border-color .2s}.offer-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;color:var(--fg)}.offers article{gap:26px;transition:padding-left .35s var(--ease)}.offers h3{font-size:clamp(24px,2.4vw,32px)}.offer-link{padding:14px 0;min-height:48px;transition:transform .3s var(--ease);white-space:nowrap}.offers p{max-width:550px}.booking{border-radius:40px 40px 0 0}.booking-panel{padding:36px;border:1px solid var(--line);border-radius:24px}.booking-steps{list-style:none;display:flex;align-items:center;gap:16px;padding:0;margin:0 0 30px}.booking-steps li{display:flex;align-items:center;gap:8px;flex:1;font-size:12px;color:var(--muted)}.booking-steps li:not(:last-child)::after{content:"";height:1px;background:var(--line);flex:1;margin-left:8px}.booking-steps li>span{display:flex;width:26px;height:26px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;flex-shrink:0;transition:background-color .2s,color .2s}.booking-steps b{font-weight:400}.booking-steps .is-current b{font-weight:600;color:var(--fg)}.booking-steps .is-current>span,.booking-steps .is-complete>span{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.selection-summary{display:flex;gap:14px;align-items:center;padding:18px 0;margin-bottom:14px;border-top:1px solid var(--line)}.selection-summary strong{font-size:16px;font-weight:500}.selection-summary p{font-size:14px;color:var(--muted);margin-top:4px}.selection-summary .line-icon{width:36px;height:36px}.days button,.times button{transition:background-color .2s,color .2s,border-color .2s,transform .3s var(--ease)}.days button:not(:disabled):hover,.times button:not(:disabled):hover{border-color:var(--fg);transform:translateY(-2px)}.times button[aria-pressed=true]{animation:slot-select .3s var(--ease)}.legend{font-size:12px;gap:16px}.legend i{width:8px;height:8px}.form-row input:focus,.form-row textarea:focus{border-color:var(--fg)}.contact-location{width:100%;display:flex;align-items:center;gap:10px;font-size:16px;border-top:1px solid currentColor;padding-top:26px}.contact-location svg{width:20px;height:20px}.contact-links a{transition:transform .35s var(--ease)}.contact-links a:hover{transform:translateX(5px)}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:28px;font-weight:300;transition:transform .3s var(--ease);flex-shrink:0}.faq details[open] summary::after{transform:rotate(45deg)}.faq details{padding:18px 0}.faq details p{padding-bottom:12px}
.site-footer{display:block;background:var(--footer);color:#fff;max-width:none;padding:48px max(5vw,24px) 24px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:35px;padding-bottom:40px;max-width:1620px;margin:auto}.footer-brand{font-size:20px;gap:18px}.footer-brand .logo{width:68px;height:40px}.footer-venue{display:flex;align-items:center;gap:36px}.footer-venue p{font-size:14px;color:var(--mint);max-width:210px}.venue-logo-link{display:flex;flex-direction:column;align-items:center;gap:10px;padding:4px 10px}.venue-logo-link img{display:block;width:132px;height:auto;transition:transform .4s var(--ease)}.venue-logo-link>span{font-size:12px;color:var(--mint)}.venue-logo-link:hover img{transform:translateY(-3px)}.footer-bottom{max-width:1620px;margin:auto;border-top:1px solid #ffffff33;padding-top:24px;display:flex;gap:30px;align-items:center;justify-content:space-between;color:var(--mint);font-size:12px}.footer-bottom>div{display:flex;align-items:center;gap:24px}.footer-bottom a,.footer-bottom button{padding:12px 0;font-size:12px;min-height:44px}.footer-bottom .text-link{border:0}.mobile-actions{display:none}.heading-with-icon{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.heading-with-icon>svg{width:32px;height:32px;stroke-width:1.3;flex-shrink:0;letter-spacing:normal}.journal-title .heading-with-icon{flex-direction:row;align-items:center;gap:18px}.journal-title .heading-with-icon>svg{width:36px;height:36px}.photo-strip a{display:block;overflow:hidden;border-radius:12px}.photo-strip img{transition:transform .75s var(--ease);border-radius:0}.photo-strip figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px}.photo-more{font-size:12px;color:var(--muted);opacity:0;transform:translateX(-5px);transition:opacity .3s,transform .4s var(--ease)}.about figure img{transition:transform .85s var(--ease)}
@keyframes title-arrive{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes copy-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes photo-reveal{from{clip-path:inset(10% 0 0 8% round 100px 0 0 0)}to{clip-path:inset(0 round 100px 0 0 0)}}@keyframes slot-select{from{transform:scale(.96)}to{transform:none}}
@media(hover:hover) and (pointer:fine){.hero-photo:hover img,.about figure:hover img{transform:scale(1.025)}.photo-strip figure:hover img,.photo-strip figure:focus-within img{transform:scale(1.045)}.photo-strip figure:hover .photo-more,.photo-strip figure:focus-within .photo-more{opacity:1;transform:none}.offers article:hover{padding-left:8px}.offers article:hover .offer-link{transform:translateX(-5px)}}
@media(min-width:1800px){.hero h1{font-size:180px}}
@media(max-width:1000px){.header{gap:16px}.header nav{gap:18px}.hero{min-height:620px;gap:3vw}.hero h1{font-size:12vw}.hero-copy{padding-top:10px}.hero-actions{gap:14px}.hero-note{font-size:14px}.booking-panel{padding:25px}.booking-steps{gap:8px}.booking-steps li{gap:5px}.booking-steps li:not(:last-child)::after{margin-left:0}.footer-venue{gap:20px}.footer-top{align-items:center}}
@media(max-width:700px){html{scroll-padding-top:94px}.header{min-height:82px;padding:15px 6vw}.hero{padding-top:20px;gap:32px;min-height:0}.hero-copy{width:100%;padding:0}.location-label{margin-bottom:24px;font-size:13px}.hero h1{font-size:23vw;line-height:.94;margin-bottom:24px}.hero h1 span{margin-left:11vw}.hero .lead{font-size:23px;line-height:1.4}.hero-actions{gap:18px;flex-direction:row;margin:26px 0}.hero-photo{width:100%;height:470px;border-radius:60px 0 0 0;animation-name:copy-arrive}.hero-note{max-width:none;margin-top:24px;font-size:14px}.hero-note .line-icon{width:42px;height:42px}.offers article{gap:16px;padding:25px 0}.offer-icon{width:38px;height:38px}.offer-icon svg{width:21px;height:21px}.offers article>div{width:calc(100% - 55px);flex:1}.offers p{font-size:15px}.offer-link{margin-left:54px;flex-basis:calc(100% - 54px);font-size:15px;padding:7px 0}.heading-with-icon{gap:18px}.heading-with-icon>svg{width:28px;height:28px}.journal-title .heading-with-icon{gap:12px}.journal-title .heading-with-icon>svg{width:29px;height:29px}.journal h2{font-size:34px}.journal-title{align-items:center}.booking{border-radius:26px 26px 0 0}.booking-panel{padding:24px 16px;border-radius:18px}.booking-steps{margin-bottom:24px;gap:7px}.booking-steps li{font-size:11px;gap:5px}.booking-steps li>span{width:23px;height:23px}.booking-steps li:not(:last-child)::after{display:none}.legend{font-size:11px;gap:13px}.selection-summary strong{font-size:15px}.selection-summary p{font-size:13px}.contact-location{margin-top:35px;font-size:14px}.site-footer{padding:40px 6vw 105px}.footer-top{align-items:flex-start;padding-bottom:28px;gap:25px}.footer-brand{font-size:16px;gap:10px}.footer-brand .logo{width:50px;height:33px}.footer-venue{flex-direction:column;gap:14px;align-items:flex-end;max-width:48%}.footer-venue p{font-size:12px;line-height:1.6;text-align:right}.venue-logo-link{padding:0}.venue-logo-link img{width:108px}.venue-logo-link>span{font-size:11px}.footer-bottom{flex-wrap:wrap;gap:10px;font-size:11px}.footer-bottom>div{gap:16px}.footer-bottom a,.footer-bottom button{font-size:11px}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9;align-items:center;justify-content:space-between;gap:20px;padding:12px 6vw calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);transition:transform .35s var(--ease),visibility .35s;font-size:14px}.mobile-actions>a:first-child{padding:14px 6px;min-height:48px}.mobile-actions .button{min-height:46px;font-size:14px;padding:12px 24px}.mobile-actions.is-booking-visible,.mobile-actions.is-studio{transform:translateY(110%);visibility:hidden;pointer-events:none}.photo-more{opacity:1;transform:none}.photo-strip img{height:360px}}
@media(max-width:360px){.booking-steps li{font-size:10px}.hero-actions{gap:12px}.hero-actions .button{padding-inline:17px}.header .brand{gap:6px}.controls{gap:7px}.journal h2{font-size:30px}.journal-title .text-link{max-width:86px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-photo img,.about figure img,.photo-strip img{transform:none!important}.photo-more{opacity:1;transform:none}}
/* Branded service and administrative choices; no native select menu. */
.service-choices{margin:12px 0 26px}.service-options{display:flex;flex-wrap:wrap;gap:8px}.service-options button{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:1 1 45%;text-align:left;padding:16px;min-height:60px;font-size:14px;line-height:1.45;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:background-color .2s,color .2s,border-color .2s}.service-options button::after{content:"";width:15px;height:15px;border:1px solid currentColor;border-radius:50%;flex-shrink:0;opacity:.55}.service-options button[aria-checked=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.service-options button[aria-checked=true]::after{background:currentColor;box-shadow:inset 0 0 0 4px var(--accent);opacity:1}.service-options button:hover{border-color:var(--fg)}.custom-select{position:relative;margin:9px 0 18px}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;width:100%;text-align:left;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:15px}.select-trigger::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px);transition:transform .2s}.select-trigger[aria-expanded=true]::after{transform:rotate(225deg) translateY(-2px)}.select-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:5;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #00000012;animation:copy-arrive .2s var(--ease)}.select-options button{width:100%;display:block;padding:12px;border-radius:7px;text-align:left;background:transparent;font-size:15px;min-height:44px}.select-options button:hover,.select-options button[aria-selected=true]{background:var(--booking)}.select-options button[aria-selected=true]{font-weight:600}
@media(max-width:400px){.service-options button{font-size:13px;padding:13px 11px;gap:8px}}
@media(prefers-reduced-motion:reduce){.select-options{animation:none}}
.calendar-view{display:inline-flex;border:1px solid var(--line);padding:4px;border-radius:100px;gap:4px;margin:0 0 4px}.calendar-view button{border-radius:100px;background:none;min-height:40px;padding:9px 18px;font-size:13px;transition:background-color .2s,color .2s}.calendar-view button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.month-weekdays{display:flex;gap:5px;margin-bottom:9px;font-size:12px;color:var(--muted);text-align:center}.month-weekdays>span{flex:1}.days.month-days{display:flex;flex-wrap:wrap;gap:5px}.month-days button{flex:0 0 calc((100% - 30px)/7);min-height:51px;position:relative;padding:6px 2px 10px;line-height:1.2;border-color:transparent;border-radius:9px}.month-days b{font-size:16px;margin:0}.month-days button:disabled{opacity:.35}.month-days button.other-month{opacity:.2}.month-days button.today{border-color:var(--line)}.day-marker{display:block;width:4px;height:4px;border-radius:50%;background:currentColor;position:absolute;left:calc(50% - 2px);bottom:5px}.month-days button[data-state=booked] .day-marker{background:#718b7d}.month-days button[data-state=blocked] .day-marker{background:none;border:1px solid currentColor}.month-days button[data-state=vacation] .day-marker{background:#aa7d39}.calendar-header{margin-top:22px}.month-days button[data-state=booked] b{text-decoration:line-through}.month-days button[data-state=vacation]{border-style:dashed;border-color:var(--line)}
@media(max-width:400px){.month-days button{min-height:44px}.month-days b{font-size:15px}}
.date-control{position:relative;display:flex;align-items:center;gap:0;margin:9px 0 18px}.date-control input{margin:0;padding-right:48px;letter-spacing:.03em}.date-trigger{position:absolute;right:5px;top:4px;min-width:40px;min-height:40px;background:none;border-radius:6px;display:flex;align-items:center;justify-content:center}.date-trigger:hover{background:var(--booking)}.date-trigger svg{width:20px;height:20px}.date-popup{position:absolute;top:calc(100% + 7px);left:0;z-index:8;width:290px;max-width:calc(100vw - 48px);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 12px 32px #00000016;animation:copy-arrive .2s var(--ease)}.date-popup-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.date-popup-header button{width:36px;height:36px;min-width:36px;background:none;border:1px solid var(--line);border-radius:50%;font-size:18px}.date-popup-header strong{font-size:14px;font-weight:500}.date-popup-days{display:flex;flex-wrap:wrap;gap:3px}.date-popup-days button{flex:0 0 calc((100% - 18px)/7);min-height:34px;background:none;border-radius:7px;font-size:13px;padding:5px}.date-popup-days button:hover,.date-popup-days button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.date-popup-days .other-month{opacity:.35}.select-options{max-height:290px;overflow:auto;overscroll-behavior:contain}.consent input{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:4px;background:var(--surface);padding:0;transition:background-color .2s}.consent input:checked{background:var(--accent);border-color:var(--accent)}.consent input:checked::after{content:"✓";font-size:13px;line-height:1;color:var(--accent-text)}
@media(max-width:700px){.date-popup{width:270px}.studio .form-row label{flex-basis:100%}.date-popup-days button{min-height:34px}}
@media(prefers-reduced-motion:reduce){.date-popup{animation:none}}
