@font-face{font-family:Yauza;src:url('fonts/yauza.ttf') format('truetype');font-display:swap}
@font-face{font-family:CorporateCond;src:url('fonts/corporate-cond.ttf') format('truetype');font-display:swap}
@font-face{font-family:Corporate;src:url('fonts/corporate.ttf') format('truetype');font-display:swap}
:root{--bg:#2b3029;--cream:#f0e0d0;--muted:#aaa79a;--line:#787b6d;--green:#57744e;--scale:1;--hero-scale:1;--header-height:64px;color-scheme:dark;background:var(--bg);color:var(--cream);font-family:Inter,Arial,sans-serif;font-weight:500;scroll-padding-top:calc(var(--header-height) + 20px)}
*{box-sizing:border-box}body{margin:0;overflow-x:clip}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}a,button{transition:color .22s,background .22s,opacity .22s}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:2px solid var(--cream);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font:400 24px/1.03 CorporateCond,Georgia,serif;letter-spacing:-.02em;text-transform:uppercase}h2{font-size:32px}em{font-family:Yauza,Georgia,serif;font-size:.792em;font-style:normal;letter-spacing:-.02em}b{font-weight:700}img{display:block}.photo{width:100%;height:100%;object-fit:cover;border-radius:12px}.vector{max-width:none}.wrap{width:1160px;margin-inline:auto}.site-canvas{width:1200px;zoom:var(--scale);display:flow-root;margin:auto}.section{margin-top:160px}.eyebrow{font:14px/1 CorporateCond,Georgia,serif;text-transform:uppercase;color:var(--muted);margin-bottom:22px;letter-spacing:-.02em}.body-copy{font-size:12px;line-height:1.27;color:var(--muted);letter-spacing:-.03em}.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--cream);color:var(--bg);padding:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}
/* A 1200 px artboard scales as one composition. The header stays outside the scaled scrolling canvas. */
.header-shell{position:absolute;inset:0 0 auto;z-index:40;height:var(--header-height);background:var(--bg);transform:translateY(0)}.header-shell.is-floating{position:fixed;transform:translateY(-105%);transition:transform .4s cubic-bezier(.22,.68,.2,1);pointer-events:none}.header-shell.is-floating.is-visible{transform:translateY(0);pointer-events:auto}.header-space{height:var(--header-height)}.header{position:relative;height:64px;zoom:var(--scale);font:14px/1 CorporateCond,serif}.logo{display:flex;gap:7px;align-items:center;width:127px;height:41px;font:14.2px/1.14 Yauza,serif;text-transform:uppercase;letter-spacing:.02em}.logo>span:last-child{white-space:nowrap}.logo-mark{width:41px;height:41px;display:grid;place-items:center}.logo-mark img{transform:rotate(45deg)}.header>.logo{position:absolute;left:0;top:25px}.desktop-nav{position:absolute;display:flex;justify-content:space-between;align-items:center;left:174px;width:572px;white-space:nowrap;top:35px}.desktop-nav a,.footer nav a{position:relative;width:max-content}.desktop-nav a::after,.footer nav a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover::after,.footer nav a:hover::after{transform:scaleX(1)}.hours{position:absolute;left:790px;top:35px;white-space:nowrap}.header-phone{position:absolute;left:968px;top:35px;white-space:nowrap}.header-phone:hover,.footer-meta a:hover,.footer-contact>a:hover{color:#c3d2b6}.socials{display:flex;align-items:center;gap:5px}.socials a{width:20px;height:20px;display:grid;place-items:center;border-radius:50%}.socials a:hover{background:var(--green);outline:1px solid var(--cream);outline-offset:3px}.header>.socials{position:absolute;left:1090px;top:30px}.header .mobile-question,.menu-toggle{display:none}
.hero-shell{width:100%;display:flow-root}.hero{width:1200px;height:660px;position:relative;zoom:var(--hero-scale)}.hero-media{position:absolute;left:611px;top:0;width:569px;height:595px;border-radius:12px;overflow:hidden;background:#22281f;isolation:isolate}.hero-photo{position:absolute;inset:0;object-position:61.5% center}.hero-copy{position:absolute;left:166px;top:80px;width:264px;text-align:center}.hero-copy .eyebrow{margin-bottom:29px}.hero-copy h1{width:264px;margin:0 auto 21px;line-height:1.03}.hero-copy .body-copy{width:264px;margin:auto}.wordmark{font:219.24px/1.37 Yauza,serif;letter-spacing:-.04em;display:flex;justify-content:space-between;white-space:nowrap;pointer-events:none;width:1173px;height:301px}.hero .wordmark{position:absolute;left:13px;top:357px}.seal{position:relative;width:154.742px;height:156px;display:grid;place-items:center;isolation:isolate;flex-shrink:0;border-radius:50%;color:var(--bg)}.seal .art{position:absolute;inset:0;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.seal>span{z-index:1;font:12px/1.1 CorporateCond,serif;text-transform:uppercase;text-align:center}.seal:hover .art{transform:rotate(20deg)}.seal:hover{outline:1px solid var(--cream);outline-offset:4px}.hero>.seal{position:absolute;left:521px;top:96px}.art{pointer-events:none;position:absolute;inset:0}.art-canvas{position:absolute;left:0;top:0;transform:scale(var(--art-scale,1));transform-origin:0 0}.art img{max-width:none;display:block}
.about{margin-top:57px;position:relative}.about .eyebrow{margin-bottom:20px}.about h2{width:710px;line-height:1.03}.about-copy{width:445px;margin-top:20px}.leaf-decoration{position:absolute;pointer-events:none;z-index:-1;right:-140px;top:-40px;opacity:.85;transform:rotate(-23deg);transform-origin:center}.leaf-decoration img{opacity:.65}.about,.section-content{isolation:isolate}.feature-grid{margin-top:65px;height:247px;position:relative}.feature{position:absolute;height:205px;color:var(--bg);text-align:center;display:grid;place-items:center}.feature h3{position:relative;z-index:1;line-height:1.16}.capacity{left:0;top:0;width:277px}.water{left:286px;top:0;width:375px;text-align:left;padding:45px 22px 25px;display:block;border-radius:12px;background:var(--cream)}.water::before{content:'';position:absolute;inset:2px;border:1px solid var(--bg);border-radius:10px;pointer-events:none}.water h3{width:260px;margin-bottom:18px;line-height:1.03}.water p{font-size:12px;line-height:1.27;width:256px;letter-spacing:-.03em}.postcards{position:absolute;left:282px;top:0;width:295px;height:248px;z-index:3;pointer-events:none}.stamp{position:absolute;left:0;top:14px;transform:rotate(-9deg);transform-origin:left top;z-index:1}.postcard{position:absolute;left:134px;top:-4px}.minimum{left:870px;top:-1px;width:291px;height:207px;background:transparent}.minimum:hover{filter:brightness(.91)}
.included{margin-top:150px;position:relative;height:427px;display:grid;grid-template-columns:571px 569px;gap:20px}.included-copy{position:relative;text-align:center;height:427px;display:flex;flex-direction:column;align-items:center;justify-content:center}.included-copy>.eyebrow{width:100%;margin-bottom:27px}.included-slides{position:relative;width:100%;height:194px}.included-step{position:absolute;inset:0;width:100%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s}.included-step.active{opacity:1;visibility:visible;pointer-events:auto}.included-step h3{width:269px;height:75px;margin:0 auto 39px;line-height:1.03;display:flex;align-items:center;justify-content:center}.thumbnails{display:flex;gap:10px;justify-content:center}.image-zoom{width:106px;height:80px;border-radius:8px;overflow:hidden}.image-zoom .photo{border-radius:8px;transition:transform .4s}.image-zoom:hover .photo{transform:scale(1.04)}.included-visual{position:relative;width:569px;height:427px}.included-visual>.seal{position:absolute;left:-90px;top:136px}.included-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}.included-dots button{width:24px;height:24px;display:grid;place-items:center;border-radius:50%}.included-dots button::after{content:'';width:5px;height:5px;border:1px solid var(--muted);border-radius:50%;transition:background .25s,opacity .25s}.included-dots button[aria-current=true]::after,.included-dots button:hover::after{background:var(--cream);border-color:var(--cream)}.included-dots button:focus-visible{outline:1px solid var(--muted);outline-offset:-3px}
.pricing{margin-top:39px}.pricing .eyebrow{margin-bottom:20px}.pricing>.body-copy{margin-top:18px}.price-grid{display:grid;grid-template-columns:575px 575px;gap:12px;margin-top:30px;margin-left:-2px}.price-card{position:relative;background:var(--cream);color:var(--bg);border-radius:16px;height:332px;display:grid;place-items:center}.price-art{position:absolute;left:3px;top:3px;transform:scale(var(--price-scale,1));transform-origin:0 0;pointer-events:none}.price-content{position:relative;width:85%;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;padding:25px 0}.price-content h3{font:16px/1 Yauza,serif}.price-content strong{font:56px/.95 CorporateCond,serif;letter-spacing:-.04em;font-weight:400}.price-content b{font-size:12px;letter-spacing:-.04em}.hourly{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:80%;border-top:1px solid #999a87;margin-top:3px;padding-top:16px}.hourly small{display:block;font-size:10px;font-weight:600}.hourly span{display:block;margin-top:6px;font:20px/1.1 CorporateCond,serif;letter-spacing:-.04em}.price-bottom{display:grid;grid-template-columns:573px 575px;gap:12px;margin-top:9px;align-items:center}.price-bottom p{font-size:12px;line-height:1.27;letter-spacing:-.03em;color:var(--muted)}.button{position:relative;border:0;border-radius:10px;background:var(--cream);color:var(--bg);min-height:43px;display:inline-flex;align-items:center;justify-content:center;padding:10px 22px;font:16px/1.09 CorporateCond,serif;text-align:center;letter-spacing:-.02em}.button::after{content:'';position:absolute;inset:2px;border:1px solid currentColor;border-radius:8px;pointer-events:none}.button:hover{background:var(--green);color:var(--cream)}.button.dark{background:var(--bg);color:var(--cream)}.button.dark:hover{background:var(--green)}
.split{display:grid;grid-template-columns:541px 532px;gap:40px;align-items:stretch}.section-image{position:relative;height:540px;border-radius:12px;overflow:hidden}.section-image>.photo{object-position:center 69.3%}.service-photo{position:absolute;inset:0;opacity:0;transition:opacity .55s ease}.service-photo.active{opacity:1}.section-content{position:relative;min-height:540px;display:flex;flex-direction:column}.section-content h2{width:470px;line-height:1.03}.section-content>.eyebrow{margin-bottom:20px}.accordion{margin-top:auto;padding-top:25px}.accordion details{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;min-height:54.6px;padding:12px 0;font:24px/1.1 CorporateCond,serif;text-transform:uppercase;color:var(--cream);transition:opacity .2s}.accordion summary::-webkit-details-marker{display:none}.accordion summary:hover{opacity:.65}.accordion details[open] summary{color:var(--cream)}.accordion summary>span:not(.service-icon){flex:1}.accordion i{position:relative;width:13px;height:13px;flex-shrink:0;margin-inline:8px;color:var(--muted)}.accordion i::before,.accordion i::after{content:'';position:absolute;left:0;top:6px;width:13px;height:1px;background:currentColor;transition:transform .22s}.accordion i::after{transform:rotate(90deg)}.accordion details[open] i::before{transform:rotate(45deg)}.accordion details[open] i::after{transform:rotate(135deg)}.accordion dl{font-size:12px;line-height:1.5;letter-spacing:-.03em;color:var(--muted);padding:0 0 18px;margin:0}.accordion dl>div{display:grid;grid-template-columns:187px 1fr;gap:54px}.accordion dd{margin:0;white-space:nowrap}.accordion details>p{font-size:12px;line-height:1.5;padding:4px 0 20px;color:var(--muted);max-width:455px}.service-icon{width:27px;min-height:30px;display:grid;place-items:center}.services .accordion summary{font-family:Yauza,serif;font-size:19px}.services .section-image{align-self:end}.services{margin-top:161px}.programs{margin-top:190px}.programs .eyebrow{margin-bottom:20px}.programs>.body-copy{margin-top:20px;width:279px}.program-track{display:grid;grid-template-columns:283px 282px 283px 282px;gap:10px;margin-top:38px;height:215px}.program{position:relative;height:213px;color:var(--bg);min-width:0;isolation:isolate}.program:nth-child(1){height:209.44px;margin-top:3.78px}.program:nth-child(2){margin-top:2px}.program:nth-child(3){height:215px}.program:nth-child(4){margin-top:1px}.program.plain{background:var(--cream);border-radius:12px}.program.plain::after{content:'';position:absolute;inset:2px;border:1px solid var(--bg);border-radius:10px;pointer-events:none}.program.ornamental{background:none}.program-front{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px 10px;gap:20px;width:100%}.program-front h3{font-size:24px;line-height:1.16}.program-front span{font-size:9px;letter-spacing:-.03em}.program-back{position:absolute;inset:0;padding:40px 25px 32px;display:flex;flex-direction:column;justify-content:center;visibility:hidden;opacity:0;transition:opacity .3s,visibility .3s}.program-back ul{margin:0 0 14px;padding-left:13.5px;font-size:9px;line-height:1.63;letter-spacing:-.03em}.program-back li{margin:0}.program:nth-child(2) .program-back{padding-inline:12px}.program:nth-child(3) .program-back{padding-inline:40px 24px}.program:nth-child(4) .program-back{padding-inline:20px 10px}.text-button{text-decoration:underline;text-underline-offset:3px;font:14px/1.2 CorporateCond,serif;text-transform:uppercase;text-align:left}.text-button:hover{color:#abc09b}.program-back .text-button{font-size:12px;margin-left:13.5px;width:max-content;text-decoration:none;transition:opacity .2s}.program-back .text-button:hover,.program-back .text-button:focus-visible{color:inherit;text-decoration:underline;opacity:.65;outline:none}.program.is-open .program-back{visibility:visible;opacity:1;transition:opacity .3s}.program.is-open .program-front{opacity:0;pointer-events:none}.program-front:focus-visible{outline-offset:-15px}.slider-controls{display:none}
.location{display:grid;grid-template-columns:571px 569px;gap:20px;align-items:center;margin-top:200px}.location-copy{width:279px;text-align:center;margin-left:134px}.location-copy .eyebrow{margin-bottom:30px}.location-copy h2{font-size:24px;margin:0 auto 30px;width:230px;line-height:1.03}.map{position:relative;height:491px;background:#deddd6;border-radius:12px}.map iframe{border:0;width:100%;height:100%;border-radius:12px;filter:grayscale(1)}.map>.seal{position:absolute;left:-90px;top:168px}.reviews{position:relative;margin-top:97px}.reviews h2{font-size:24px;line-height:1.03;margin-bottom:35px}.reviews .eyebrow{margin-bottom:20px}.pause-reviews{position:absolute;right:20px;top:43px;color:var(--muted);font-size:12px}.marquee{overflow:hidden;width:1200px;padding:0 20px}.review-track{display:flex;width:max-content;gap:10px;animation:marquee 55s linear infinite;animation-play-state:paused;will-change:transform}.review-group{display:flex;gap:10px}.review-card,.review-photo{width:283px;height:355px;border-radius:16px;overflow:hidden;flex:none}.review-card{position:relative;background:var(--cream);color:var(--bg);padding:22px 20px 14px;display:flex;flex-direction:column}.review-card::after{content:'';position:absolute;inset:2px;border:1px solid var(--bg);border-radius:14px;pointer-events:none}.review-card:hover{outline:1px solid var(--cream);outline-offset:2px}.review-heading{display:flex;justify-content:space-between;font:18px/1.1 CorporateCond,serif}.rating{display:flex;align-items:center;gap:14px;margin-top:12px}.rating>span{font:48px/1 CorporateCond,serif}.rating>div{font-size:20px;letter-spacing:2px}.rating small{font:10px/1.5 Inter,sans-serif;letter-spacing:-.03em;display:block}.review-card p{font-size:12px;line-height:1.27;letter-spacing:-.03em;margin-top:22px;flex:1}.review-card .button{font-size:14px;margin:12px -8px -4px;min-height:39px;padding:8px}.review-photo .photo{border-radius:0}.reviews.in-view .review-track{animation-play-state:running}.marquee:hover .review-track,.marquee:focus-within .review-track,.reviews.paused .review-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(calc(-1 * var(--marquee-distance,1172px)))}}.faq{margin-top:100px}.faq .accordion summary{min-height:45.57px}.faq .section-image{align-self:end}.footer{position:relative;margin-top:157px;height:573px}.footer-top{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between}.footer-top p{font:14px/1 CorporateCond,serif;margin:38px 0 24px}.footer nav{display:grid;grid-template-columns:110px 160px;gap:18px 14px;font:14px/1 CorporateCond,serif}.footer-contact{position:absolute;left:1003px;top:0;display:flex;flex-direction:column;gap:7px;font:14px/1.1 Inter,sans-serif;font-weight:400;width:150px;letter-spacing:-.03em}.footer-contact .socials{margin:0 0 26px;gap:10px;justify-content:flex-start}.footer-contact .socials a{width:36px;height:36px}.footer-contact .socials img{transform:scale(1.8)}.footer-meta{position:absolute;left:0;right:0;top:280px;height:60px;font:12px/1.65 Inter,sans-serif;font-weight:400;letter-spacing:-.03em;color:var(--muted)}.footer-meta>p{position:absolute;left:0;top:0}.footer-meta>a{position:absolute;left:310px;top:45px;line-height:1.27}.footer-meta>span{position:absolute;left:880px;top:45px;line-height:1.27}.footer .wordmark{position:absolute;left:-6px;top:309px}
/* Keep the page readable before JS. Only unseen elements receive entrance transitions. */
.reveal-pending{opacity:0;transform:translateY(16px)}.reveal-item{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal-item.revealed{opacity:1;transform:none}
dialog{color:var(--cream);background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:40px;max-height:92dvh;max-width:calc(100vw - 24px);overflow-y:auto}dialog::backdrop{background:rgba(13,20,13,.8);backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:14px;top:10px;width:36px;height:36px;font:32px/1 Inter,sans-serif;z-index:5}.dialog-close:hover{transform:rotate(90deg)}.booking{width:540px}.booking .eyebrow{margin-bottom:20px}.booking h2{font-size:36px}.booking-intro{font-size:13px;line-height:1.5;color:var(--muted);margin:15px 0 24px}.booking form{display:grid;gap:16px}.booking label{display:grid;gap:7px;font-size:12px;color:var(--muted)}.booking input,.booking select,.booking textarea{width:100%;min-height:42px;border:1px solid var(--line);background:#343b32;color:var(--cream);border-radius:5px;padding:10px 12px;font-size:14px}.booking textarea{resize:vertical}.booking input:focus,.booking textarea:focus,.booking select:focus{outline:1px solid var(--cream);outline-offset:0}.booking .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking .consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.5}.consent input{width:17px;height:17px;min-height:0;flex-shrink:0;accent-color:var(--cream);margin:0}.consent a{text-decoration:underline}.booking .honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.form-status:empty{display:none}.form-status{font-size:13px;line-height:1.5;padding:12px;border:1px solid var(--line);border-radius:5px}.form-status.error{color:#ffcbab}.form-status.success{color:#c4e6c0}.form-contact{font-size:12px;text-align:center;color:var(--muted)}.form-contact a{white-space:nowrap}.lightbox{padding:20px;border:0;background:transparent;overflow:hidden;max-width:95vw;max-height:95dvh}.lightbox img{max-width:90vw;max-height:85dvh;object-fit:contain;border-radius:10px}.lightbox .dialog-close{background:var(--bg);border-radius:50%;right:24px;top:24px}.mobile-menu nav{display:flex;flex-direction:column;gap:24px;font:30px/1.1 CorporateCond,serif;margin:40px 0}.mobile-menu .button{margin-top:30px;width:100%}.legal{max-width:800px;margin:60px auto;padding:20px}.legal h1{font-size:42px;margin:35px 0}.legal h2{font-size:26px;margin:35px 0 16px}.legal p,.legal li{font-size:15px;line-height:1.7;color:var(--muted);margin:15px 0}.legal a{text-decoration:underline}
@media(max-width:760px){
:root{--header-height:65px}.wrap{width:370px}.site-canvas{width:390px}.header{height:65px}.header>.logo{left:0;top:12px}.desktop-nav,.header-phone,.header>.socials,.hours{display:none}.header .mobile-question{position:absolute;left:230px;top:21px;display:inline-flex;min-height:23px;width:95px;padding:2px 10px;font-size:10px;border-radius:6px}.header .mobile-question::after{border-radius:4px}.menu-toggle{position:absolute;left:340px;top:27px;display:flex;flex-direction:column;justify-content:space-between;width:30px;height:13px}.menu-toggle span{display:block;width:30px;height:1px;background:var(--cream)}.mobile-menu{position:fixed;inset:10px 10px auto;margin:0;width:calc(100% - 20px);max-width:none;max-height:calc(100dvh - 20px);padding:30px 25px}.hero{width:390px;height:670px}.hero-copy{left:63px;top:21px;width:264px}.hero-copy .eyebrow{margin-bottom:26px;font-size:14px}.hero-copy h1{margin-bottom:26px}.hero-media{left:10px;top:309px;width:370px;height:338px;border-radius:10px}.hero>.seal{width:119px;height:120px;left:136px;top:235px}.seal>span{font-size:10px}.hero .wordmark{font-size:76.5px;line-height:1.37;top:564px;left:5px;width:381px;height:105px}.section{margin-top:90px}.eyebrow{font-size:11px;line-height:1;margin-bottom:18px}h2{font-size:24px;line-height:1.03}.desktop-only{display:none}.about{margin-top:22px}.about .eyebrow{margin-bottom:18px}.about h2{width:319px}.about-copy{margin-top:20px;width:350px}.body-copy{font-size:12px}.leaf-decoration{right:-420px;top:0;transform:rotate(-20deg) scale(.65)}.feature-grid{height:755px;margin:40px 0 0}.feature{left:0;top:0}.capacity{width:277px;left:46px}.water{width:370px;left:0;top:229px;height:280px;padding:130px 22px 20px}.water h3{font-size:24px;margin-bottom:16px}.water p{width:300px}.postcards{left:107px;top:-25px;transform:scale(.68);transform-origin:top left}.minimum{left:39px;top:533px;width:291px;height:207px}.included{margin-top:60px;display:flex;flex-direction:column;gap:0;height:706px}.included-copy{order:0;height:348px;justify-content:flex-start}.included-copy>.eyebrow{margin-bottom:26px}.included-slides{height:177px}.included-step h3{margin-bottom:22px}.included-dots{margin-top:16px}.included-sticky,.included-visual{width:370px;height:358px}.included-visual>.seal{width:119px;height:120px;left:126px;top:-60px}.pricing{margin-top:75px}.pricing .eyebrow{margin-bottom:20px}.pricing>.body-copy{margin-top:20px}.price-grid{grid-template-columns:370px;gap:14px;margin:30px 0 0}.price-card{height:260px}.price-art{left:3px;top:3px}.price-art img{max-width:none}.price-content{padding:18px 0;gap:10px}.price-content strong{font-size:46px}.price-content h3{font-size:14px}.price-content b{font-size:11px}.hourly{padding-top:12px;gap:12px;width:95%;margin-top:0}.hourly small{font-size:10px}.hourly span{font-size:18px}.price-bottom{display:flex;flex-direction:column;gap:20px;margin-top:20px;align-items:stretch}.price-bottom p{font-size:11px;width:350px}.button{min-height:43px}.split{display:flex;flex-direction:column;gap:26px}.section-image{width:370px;height:370px;order:2}.section-content{min-height:0;display:flex;order:1}.section-content h2{width:340px}.section-content>.eyebrow{margin-bottom:18px}.accordion{margin-top:35px;padding-top:0}.accordion summary{min-height:50px;font-size:23px}.services .accordion summary{font-size:17px}.accordion dl>div{grid-template-columns:210px 1fr;gap:20px}.accordion dl{font-size:12px}.accordion details>p{font-size:12px}.services{margin-top:90px}.programs{margin-top:90px}.programs>.body-copy{width:279px}.program-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;height:222px;width:390px;margin:38px -10px 0;padding:0 10px 5px;gap:10px}.program-track::-webkit-scrollbar{display:none}.program{width:283px;flex:none;scroll-snap-align:center}.slider-controls{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:var(--muted);font:12px/1 Inter,sans-serif}.slider-controls button{width:40px;height:35px;border:1px solid var(--line);border-radius:5px;font-size:22px}.slider-controls button:hover{background:var(--green)}.location{display:flex;flex-direction:column;gap:70px;margin-top:90px}.location-copy{width:279px;margin:auto}.location-copy .eyebrow{margin-bottom:26px}.map{width:370px;height:370px}.map>.seal{width:119px;height:120px;left:126px;top:-60px}.reviews{margin-top:90px}.reviews h2{font-size:24px;margin-bottom:30px}.reviews .wrap{width:350px}.pause-reviews{right:20px;top:25px;max-width:100px;font-size:11px;text-align:right}.marquee{width:390px;padding:0 10px}.review-card,.review-photo{width:250px;height:340px}.review-card{padding:20px 16px 14px}.review-heading{font-size:17px}.review-card p{font-size:11px}.review-card .button{font-size:12px}.faq{margin-top:80px}.faq .accordion{margin-top:35px}.faq .accordion summary{min-height:50px}.footer{margin-top:80px;height:500px}.footer-top{display:block}.footer-top p{margin:26px 0 24px;font-size:12px}.footer nav{grid-template-columns:110px 130px;font-size:12px;gap:17px 14px}.footer-contact{left:242px;width:128px;font-size:11px;gap:6px}.footer-contact .socials{gap:8px;margin-bottom:26px}.footer-contact .socials a{width:32px;height:32px}.footer-contact .socials img{transform:scale(1.6)}.footer-meta{top:240px;font-size:10px;line-height:1.6}.footer-meta>a{left:0;top:72px}.footer-meta>span{left:0;top:96px}.footer .wordmark{font-size:70px;line-height:1.37;left:0;top:370px;width:370px;height:96px}.booking{padding:30px 20px}.booking h2{font-size:32px}.booking .form-row{gap:10px}.lightbox{padding:8px}.legal{margin:30px auto}.legal h1{font-size:32px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}.review-track{animation:none;transform:none}.marquee{overflow-x:auto}.included-step{transition:none}}
.minimum::before{content:'';position:absolute;inset:4px;background:var(--cream);clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px)}
.program:nth-child(3)::before{content:'';position:absolute;inset:4px;background:var(--cream);clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px)}
.socials a{transition:transform .25s ease,opacity .25s ease}
.socials a:hover{background:none;outline:none;transform:translateY(-3px);opacity:.82}
/* Fit the available height without narrowing the hero artboard. */
.hero{height:var(--hero-height,660px)}
.hero-media{height:calc(var(--hero-height,660px) - 65px);container-type:size}

.hero-copy{top:var(--hero-copy-top,80px);transform:scale(var(--hero-copy-scale,1));transform-origin:top center}
.hero .wordmark{top:calc(var(--hero-height,660px) - 303px)}
.hero>.seal{top:clamp(16px,calc(var(--hero-height,660px) - 564px),96px)}
.seal:hover{outline:none}
@media(max-width:760px){
.hero-media{top:calc(65px + 235px * var(--hero-copy-scale,1));height:calc(var(--hero-height,670px) - 65px - 235px * var(--hero-copy-scale,1) - 23px)}
.hero>.seal{top:calc(65px + 235px * var(--hero-copy-scale,1) - 70px)}
.hero .wordmark{top:calc(var(--hero-height,670px) - 106px)}
}
.water{place-items:normal}
@media(min-width:761px){
.about .eyebrow,.pricing .eyebrow,.programs .eyebrow,.section-content>.eyebrow,.reviews .eyebrow{margin-bottom:16px}
.hero-copy .body-copy{position:relative;top:-3px}
.water{padding-top:45px}
}
@media(max-width:760px){
.hero-media{top:calc(74px + 235px * var(--hero-copy-scale,1));height:calc(var(--hero-height,670px) - 74px - 235px * var(--hero-copy-scale,1) - 23px)}
.hero>.seal{top:calc(74px + 235px * var(--hero-copy-scale,1) - 74px)}
}
.image-zoom:hover,.review-card:hover,.seal:hover,.socials a:hover{outline:none}
.price-bottom>.button:hover{background:var(--bg);color:var(--cream)}
.section-image{z-index:1}
/* Keyboard focus uses the same quiet underline; it never adds a white frame to the navigation. */
.desktop-nav a:focus-visible,.footer nav a:focus-visible{outline:none;text-decoration:underline;text-underline-offset:4px}
.socials a:focus-visible,.seal:focus-visible{outline:none;filter:brightness(1.2)}

.service-photo:not(:first-child){object-position:center}
.service-photo:last-child{inset:auto;left:-5.52%;top:-.05%;width:123.75%;height:100%;border-radius:0;object-fit:fill}
body{overflow-anchor:none}
.accordion summary:focus-visible{outline:none;opacity:.65}
.accordion summary:focus-visible>span:not(.service-icon){text-decoration:underline;text-underline-offset:5px}
html,.site-canvas,.hero-shell{overflow-x:clip}
.logo:focus-visible{outline:none;opacity:.8}
.mobile-heading{display:none}.about h2.desktop-heading{width:661px}
@media(max-width:760px){.desktop-heading{display:none}.mobile-heading{display:block}}
@media(min-width:761px){
.hero-media{height:calc(var(--hero-height,660px) - 20px)}
.hero .wordmark{top:calc(var(--hero-height,660px) - 258px);height:246px}
}
@media(min-width:761px){.hero>.seal{top:clamp(56px,calc(var(--hero-height,660px) - 524px),136px)}}
@media(max-width:760px){.hero>.seal{top:calc(235px * var(--hero-copy-scale,1) + 18px)}}
/* The cover keeps the two navigation groups from Figma; only the floating bar uses equal gaps. */
@media(min-width:761px){
.header-shell:not(.is-floating) .desktop-nav{display:block;height:11px}
.header-shell:not(.is-floating) .desktop-nav a{position:absolute;top:0;font:16px/1.42 CorporateCond,serif;letter-spacing:-.48px;color:rgba(240,224,208,.82);text-box:trim-both cap alphabetic}
.header-shell:not(.is-floating) .desktop-nav a:nth-child(1){left:0}
.header-shell:not(.is-floating) .desktop-nav a:nth-child(2){left:101px}
.header-shell:not(.is-floating) .desktop-nav a:nth-child(3){left:229px}
.header-shell:not(.is-floating) .desktop-nav a:nth-child(4){left:417px}
.header-shell:not(.is-floating) .desktop-nav a:nth-child(5){left:484px}
}
/* A short first-paint loader. Its independent timeout also releases it if the main script fails. */
.page-loader{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;background:var(--bg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility 0s linear .32s}
.is-loading .page-loader{opacity:1;visibility:visible;transition:none}
.loader-mark{display:grid;place-items:center;width:41px;height:41px}
.loader-mark img{transform:rotate(45deg)}
.loader-line{position:relative;width:80px;height:1px;overflow:hidden;background:rgba(240,224,208,.15)}
.loader-line::after{content:'';position:absolute;inset:0 auto 0 0;width:28px;background:var(--cream);animation:loader-line 1s ease-in-out infinite}
@keyframes loader-line{from{transform:translateX(-28px)}to{transform:translateX(80px)}}
@media(prefers-reduced-motion:reduce){.loader-line::after{animation:none;width:100%;opacity:.6}.page-loader{transition:none}}
.booking h2 em{text-transform:lowercase}

/* Figma mobile geometry and interaction revision, 12 October. */
.mobile-art{display:none}
.minimum>.desktop-art,.minimum>.mobile-art{position:absolute;inset:0}
.price-primary{display:contents}
.lowercase{text-transform:lowercase}
.reviews>.wrap{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:16px;margin-bottom:35px}
.reviews .eyebrow{grid-column:1/-1}
.reviews h2{margin-bottom:0}
.pause-reviews{position:static;white-space:nowrap;max-width:none;text-decoration:none;align-self:end;line-height:1;padding-bottom:2px}
.pause-reviews:hover{color:inherit;opacity:.65;text-decoration:none}
.mobile-menu .dialog-close:focus-visible{outline:none;opacity:.65}
.mobile-menu nav{gap:7px;font-size:26px;letter-spacing:-2px;margin:26px 0}
.mobile-menu nav a:hover{opacity:.65}
.menu-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:12px;line-height:1.4;color:var(--muted);letter-spacing:-.02em}
.menu-contacts .socials{gap:12px;margin-bottom:7px}
.menu-contacts .socials a{width:28px;height:28px}
.menu-contacts .socials img{transform:scale(1.4)}
.menu-contacts a:hover{opacity:.65}
.menu-address{max-width:250px;margin-top:4px}
.mobile-menu .button{margin-top:22px}
@media(max-width:760px){
 .desktop-art{display:none}.mobile-art{display:block}
 .header .mobile-question{top:12px;height:41px;min-height:41px;font-size:12px}
 .feature-grid{height:732px;margin-top:32px}
 .capacity{left:23px;width:324px;height:239.78px}
 .water{left:19px;top:250.24px;width:332px;height:261px;padding:143px 22px 19px}
 .water h3{width:220px;font-size:24px;line-height:1.03;margin-bottom:9px}
 .water p{width:256px;line-height:1.27}
 .mobile-postcards{position:absolute;inset:0;pointer-events:none;z-index:3}
 .mobile-stamp{position:absolute;left:-2px;top:-56.67px;transform:rotate(-9deg);transform-origin:left top;z-index:1}
 .mobile-postcard{position:absolute;left:132px;top:-89px}
 .minimum{left:19px;top:521.24px;width:331px;height:207px}
 .price-grid{gap:5px}
 .price-card{height:236px;border-radius:10.296px}
 .mobile-price-art{position:absolute;left:2px;top:1.87px;pointer-events:none}
 .price-content{width:314.661px;padding:0;gap:11px}
 .price-content h3{font-size:16px;line-height:10.296px}
 .price-primary{display:flex;flex-direction:column;align-items:center}
 .price-content strong{font-size:38px;line-height:43.757px}
 .price-content b{font-size:11px;line-height:11.583px}
 .hourly{position:relative;width:100%;border:0;padding-top:13px;gap:15.443px}
 .hourly::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:250.957px;height:1px;background:#999a87}
 .hourly small{font-size:10px;line-height:9.652px;letter-spacing:-.04em}
 .hourly span{font-size:18px;line-height:16.087px;margin-top:5px;letter-spacing:-.07em}
 .programs>.mobile-heading{width:378px;letter-spacing:-.48px;line-height:1.03;text-box-trim:trim-both;text-box-edge:cap alphabetic}
 .programs>.body-copy{width:213px;margin-top:16px}
 .program-track{padding-top:7px;height:236px;scroll-padding-inline:10px;overscroll-behavior-x:contain}
 .program{scroll-snap-align:start}
 .program-front,.program-back,.program.is-open .program-back{transition:none}
 .reviews>.wrap{column-gap:8px;margin-bottom:30px}
 .reviews .pause-reviews{font-size:11px;line-height:1;padding-bottom:2px}
 .footer{height:424px}
 .footer-meta{top:240px;height:auto;display:flex;flex-direction:column;align-items:flex-start;gap:5px;line-height:1.6}
 .footer-meta>p,.footer-meta>a,.footer-meta>span{position:static;line-height:1.6}
 .footer .wordmark{top:330px;font-size:76.5px;left:-5px;width:381px;height:94px;line-height:1.23;text-box-trim:trim-both;text-box-edge:cap alphabetic}
}

/* Optional third-party content is loaded only after the visitor's choice. */
[hidden]{display:none!important}
.cookie-banner{position:fixed;left:24px;bottom:24px;z-index:45;width:420px;max-width:calc(100vw - 32px);padding:20px;background:var(--cream);color:var(--bg);border-radius:12px;box-shadow:0 8px 40px #1115;font:12px/1.5 Inter,Arial,sans-serif;letter-spacing:-.02em}
.cookie-banner p a{text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:8px;margin-top:14px}
.cookie-choice{flex:1;border:1px solid var(--bg);border-radius:6px;min-height:38px;padding:7px 10px;font-size:11px}
.cookie-choice[data-cookie-choice=all]{background:var(--bg);color:var(--cream)}
.cookie-choice:hover{opacity:.75}
.cookie-choice:focus-visible{outline-color:var(--bg);outline-offset:3px}
.cookie-settings{position:absolute;left:1003px;top:-165px;font:inherit;color:inherit;text-align:left}
.cookie-settings:hover{text-decoration:underline;text-underline-offset:3px;opacity:.7}
.map-consent{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;color:var(--bg);padding:60px}
.map-consent p{font:26px/1.15 CorporateCond,serif;text-transform:uppercase}
.map-consent span{max-width:275px;font:11px/1.5 Inter,sans-serif;color:#596052}
.map-consent .button{font-size:14px}
@media(max-width:760px){
 .cookie-banner{left:16px;bottom:16px;width:calc(100vw - 32px);padding:16px;font-size:11px}
 .cookie-choice{font-size:10px}
 .map-consent{padding:35px;gap:16px}
 .map-consent p{font-size:24px}
 .footer{height:auto;padding-top:240px;padding-bottom:0}
 .footer-meta{position:static}
 .footer-meta .cookie-settings{position:static;line-height:1.6}
 .footer .wordmark{position:relative;top:auto;margin-top:12px;line-height:1.2;height:92px}
}

/* FJERD client revision — 2 November 2026. */
.logo>span:last-child{font-size:18px;line-height:1.05;letter-spacing:.025em}
.rental-terms{display:flex;flex-direction:column;align-items:center;gap:16px;width:80%;border-top:1px solid #999a87;margin-top:5px;padding-top:18px}
.rental-terms>span{font:26px/1 CorporateCond,serif;letter-spacing:-.02em}
.review-controls{display:flex;align-items:center;gap:10px;color:var(--muted);padding-bottom:2px}
.review-position{font:11px/1 Inter,sans-serif;letter-spacing:-.02em;min-width:52px;text-align:center}
.review-arrow{width:36px;height:32px;border:1px solid var(--line);border-radius:6px;font-size:20px;line-height:1}
.review-arrow:hover{opacity:.65}
.review-arrow:disabled{opacity:.3;cursor:default}
.review-carousel{position:relative;display:flex;gap:10px;width:1160px;margin-inline:auto;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px 0 12px}
.review-carousel::-webkit-scrollbar{display:none}
.review-carousel>*{scroll-snap-align:start}
.review-carousel:focus-visible{outline:1px solid var(--muted);outline-offset:4px}
.review-card p.review-quote{margin-top:26px;font-size:13px;line-height:1.4}
.review-photo{position:relative;text-align:left;cursor:zoom-in;flex:none;padding:0;background:var(--bg)}
.review-photo .photo{height:100%;transition:transform .4s}
.review-photo:hover .photo{transform:scale(1.025)}
.review-photo>span{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:5px;background:#2b3029cc;color:var(--cream);font:10px/1.2 Inter,sans-serif}
.lightbox{background:var(--bg);border-radius:12px;padding:44px 18px 12px;width:max-content;max-width:95vw;max-height:95dvh}
.lightbox img{max-height:calc(90dvh - 110px);max-width:calc(95vw - 36px);border-radius:6px;object-fit:contain;touch-action:pan-y}
.lightbox .dialog-close{right:10px;top:5px;background:none;line-height:1}
.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:100%;margin-top:12px}
.lightbox-controls>button{width:36px;height:32px;flex:none;font-size:22px}
.lightbox-caption{font:11px/1.4 Inter,sans-serif;color:var(--muted);text-align:center;flex:1;max-width:70vw}
@media(max-width:760px){
 .price-primary{display:flex}
 .rental-terms{width:250px;gap:12px;margin-top:0;padding-top:14px}
 .rental-terms>span{font-size:23px}
 .review-controls{gap:6px}
 .review-arrow{width:28px;height:28px;font-size:18px}
 .review-position{font-size:9px;min-width:38px}
 .review-carousel{width:370px;gap:10px}
 .review-card p.review-quote{font-size:11px;line-height:1.4}
 .review-photo>span{font-size:9px;left:9px;bottom:9px}
 .lightbox{max-width:calc(100vw - 16px);padding:42px 10px 10px}
 .lightbox img{max-width:calc(100vw - 36px);max-height:calc(90dvh - 120px)}
 .lightbox-controls{gap:8px}
}

/* Two-part title from the client's reference. */
.wordmark>span:first-child{letter-spacing:-.04em;text-transform:lowercase}
.wordmark>span:last-child{letter-spacing:-.02em}
@media(max-width:760px){.hero .wordmark,.footer .wordmark{font-size:70px}}
@media(min-width:761px){.hero-copy{top:calc(var(--hero-copy-top,80px) + 30px)}}
