@charset "UTF-8";
:root{--paper:#f5f1e9;--ink:#263f3c;--deep:#294e4d;--muted:#6c746c;--line:#d7d9cd;--sage:#e4e7db;--gold:#b9a279}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.skip{position:absolute;top:-100px;left:15px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:100px;padding:20px 5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font:24px/1.1 Georgia,serif;letter-spacing:3px}.monogram{border:1px solid var(--gold);width:43px;text-align:center;font-size:43px;line-height:1.1;letter-spacing:0}.brand small{display:block;font:8px/1.5 Arial,sans-serif;letter-spacing:2px;margin-top:8px}header nav{display:flex;gap:30px;font-size:12px}.header-call{font-size:13px;white-space:nowrap}header a:hover{text-decoration:underline;text-underline-offset:6px}.hero{height:calc(100svh - 100px);max-height:900px;min-height:680px;position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:white}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,48,47,.87),rgba(18,48,47,.42) 60%,rgba(18,48,47,.12));z-index:-1}.hero-copy{padding:80px 7% 100px;max-width:1100px}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:2.4px;margin:0 0 28px;font-weight:600}.hero .eyebrow{color:#e5d8bb}.hero h1{font:normal clamp(52px,5.6vw,88px)/1.12 Georgia,serif;letter-spacing:-2px;margin:0 0 28px}.hero h1 em{color:#f1e5ca}.lead{font-size:16px;line-height:1.9;color:#f1f1e7;margin:0 0 35px}.actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:16px 24px;font-size:12px;line-height:1.6;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.cream{color:var(--ink);background:var(--paper)}.cream:hover{background:#e8dcc5}.dark{background:var(--deep);color:white}.dark:hover{background:#3b6560}.quiet-link{font-size:12px;border-bottom:1px solid #e6e2cd;padding:7px 0}.hero-caption{position:absolute;bottom:28px;left:7%;right:7%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff50;padding-top:20px;font-size:9px;letter-spacing:1.5px}.section{padding:90px 7%}h2{font:normal clamp(34px,3.2vw,52px)/1.2 Georgia,serif;letter-spacing:-1px;margin:0 0 28px}h2 em,h1 em{font-weight:400;color:#587061}.intro{border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.intro-grid>div{padding-top:12px;max-width:510px}.intro-grid p{color:var(--muted);margin:0 0 20px}.intro-grid p:first-child{font-size:18px;color:var(--ink)}.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;padding-top:30px;border-top:1px solid var(--line);gap:20px}.facts strong{display:block;font:normal 27px Georgia,serif;margin-bottom:8px}.facts span{font-size:11px;color:var(--muted)}.pool{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}.pool-photo img{width:100%;height:560px;object-fit:cover}.pool-copy p:not(.eyebrow){color:var(--muted);max-width:420px;font-size:14px}.text-link{display:inline-flex;gap:30px;font-size:12px;border-bottom:1px solid var(--deep);padding:8px 0;color:var(--deep)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-head>p{font-size:13px;color:var(--muted);margin-bottom:30px}.baths{background:var(--sage)}.bath-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.bath-grid img{width:100%;height:360px;object-fit:cover}.bath-grid article>div{padding:28px 0 0}.bath-grid .eyebrow{font-size:9px}.bath-grid h3{font:normal 34px Georgia,serif;margin:15px 0}.bath-grid p{color:var(--muted);font-size:14px;max-width:500px;margin:0}.fitness{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center}.fitness>div>p:not(.eyebrow){color:var(--muted);max-width:480px;font-size:14px}.fitness .button{margin-top:20px}.schedule{background:#e9e3d6;padding:45px}.schedule h3{font:normal 35px/1.4 Georgia,serif;margin:0 0 20px}.time{font:normal 34px Georgia,serif;margin:25px 0}.time span{font:14px Arial,sans-serif;margin:0 10px;color:var(--muted)}.schedule>p:not(.eyebrow):not(.time){font-size:13px;color:var(--muted)}.rituals{border-top:1px solid var(--line)}.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.ritual-grid article{padding:30px 35px 0 0}.ritual-grid article+article{border-left:1px solid var(--line);padding-left:35px}.ritual-grid article>span{font:italic 25px Georgia,serif;color:#a19c83}.ritual-grid h3{font:normal 27px Georgia,serif;margin:24px 0 14px}.ritual-grid p{font-size:13px;color:var(--muted);max-width:300px}.prices{display:grid;grid-template-columns:1fr 1fr;gap:13%;background:var(--sage);align-items:center}.prices>div>p:not(.eyebrow){color:var(--muted);max-width:410px;font-size:14px}.price-preview{border:1px solid #bbc6b5;padding:35px 40px}.price-number{font:normal 65px Georgia,serif!important;margin:15px 0!important;color:var(--deep)!important}.price-number>span{font-size:35px}.price-preview>p:not(.eyebrow):not(.price-number){font-size:11px!important}.price-preview hr{border:0;border-top:1px solid #c2cbbb;margin:25px 0}.price-preview>div{display:flex;justify-content:space-between;gap:20px;margin:12px 0;font-size:12px}.price-preview strong{font-weight:400;white-space:nowrap}.contacts{display:grid;grid-template-columns:1fr 1fr;gap:13%}.contacts>div>p:not(.eyebrow){font-size:14px}.contacts>div>p>span{color:var(--muted);font-size:12px}.contact-details{padding-top:25px}.big-phone{display:block;font:normal clamp(28px,2.6vw,40px) Georgia,serif;letter-spacing:-1px;margin:0 0 8px}.second-phone{display:block;font-size:16px;margin-bottom:20px;color:var(--muted)}.email{font-size:13px;border-bottom:1px solid var(--deep);overflow-wrap:anywhere}.contact-details>p:last-child{color:var(--muted);border-top:1px solid var(--line);padding-top:25px;margin-top:30px;font-size:12px!important}footer{background:#243f3c;color:#eceadb;padding:50px 7% 25px}.footer-brand{font:26px Georgia,serif;letter-spacing:4px}.footer-brand em{font-size:15px;color:#d1c5a7;margin-left:10px}footer>p{font-size:11px;color:#bfc9bc}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:45px;border-top:1px solid #ffffff30;padding-top:20px;font-size:9px;color:#c1cbbf}.footer-bottom a:hover{text-decoration:underline}.mobile-call{display:none}.price-heading{padding-bottom:55px;border-bottom:1px solid var(--line)}.price-heading h1{font:normal clamp(42px,4.5vw,72px)/1.16 Georgia,serif;letter-spacing:-1px;margin:0 0 25px}.price-heading>p:last-child{font-size:14px;color:var(--muted)}.full-prices{display:grid;grid-template-columns:1.6fr 1fr;gap:12%;align-items:start}.price-row{display:flex;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.price-row:first-child{border-top:1px solid var(--line)}.price-row h3{font-weight:400;font-size:17px;margin:0 0 8px;line-height:1.5}.price-row p{font-size:12px;color:var(--muted);margin:0;max-width:350px}.price{display:flex;align-items:end;flex-direction:column;flex-shrink:0}.price strong{font:normal 23px/1.5 Georgia,serif}.price span{font-size:10px;color:var(--muted);margin-top:5px}.full-prices aside{background:var(--sage);padding:30px}.full-prices aside h2{font-size:33px}.full-prices aside>p:not(.eyebrow){font-size:13px;color:var(--muted)}.full-prices aside .button{margin-top:10px}.price-outro{border-top:1px solid var(--line);padding-top:60px}
@media(max-width:1050px){header{padding:18px 5%}.header-call{display:none}header nav{gap:20px}.hero-copy{padding-top:90px}.hero h1{font-size:68px}.section{padding:70px 6%}.pool{gap:6%}.pool-photo img{height:510px}.bath-grid img{height:300px}.fitness,.prices,.contacts{gap:8%}.schedule{padding:35px}.full-prices{gap:7%}.big-phone{font-size:31px}}
@media(max-width:650px){header{padding:18px 6%;gap:18px;flex-wrap:wrap;min-height:110px}.brand{font-size:19px;gap:10px}.monogram{font-size:34px;width:34px}.brand small{font-size:7px;letter-spacing:1.3px;margin-top:5px}header nav{width:100%;justify-content:space-between;gap:10px;font-size:10px;border-top:1px solid var(--line);padding-top:12px}.hero{height:690px;min-height:0;max-height:none}.hero-copy{padding:60px 6% 100px;max-width:none}.hero h1{font-size:49px;letter-spacing:-1.6px;line-height:1.13}.hero h1 em{font-size:47px}.hero>img{object-position:64% center}.hero:after{background:linear-gradient(90deg,rgba(18,48,47,.87),rgba(18,48,47,.4))}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:24px}.lead{font-size:14px;margin-bottom:30px}.actions{flex-direction:column;align-items:start;gap:15px}.button{padding:15px 20px;font-size:12px;gap:30px}.quiet-link{font-size:12px}.hero-caption{font-size:8px;letter-spacing:.6px;left:6%;right:6%;bottom:35px;padding-top:18px}.section{padding:60px 6%}h2{font-size:36px;letter-spacing:-.8px}.intro-grid,.pool,.fitness,.prices,.contacts,.full-prices{grid-template-columns:1fr;gap:25px}.intro-grid>div{padding-top:0}.intro-grid p:first-child{font-size:17px}.intro-grid p{font-size:14px}.facts{grid-template-columns:1fr 1fr;gap:25px 15px;margin-top:25px}.facts strong{font-size:24px}.facts span{font-size:10px}.pool-photo img{height:340px}.pool{gap:35px}.pool-copy h2{font-size:39px}.section-head{display:block;margin-bottom:25px}.section-head>p{display:none}.bath-grid{grid-template-columns:1fr;gap:40px}.bath-grid img{height:280px}.bath-grid article>div{padding-top:25px}.bath-grid h3{font-size:30px}.bath-grid p{font-size:13px}.schedule{padding:30px}.schedule h3{font-size:30px}.fitness>div .button{margin-bottom:15px}.ritual-grid{grid-template-columns:1fr}.ritual-grid article,.ritual-grid article+article{border-left:0;border-bottom:1px solid var(--line);padding:25px 0 20px}.ritual-grid p{max-width:none}.ritual-grid h3{margin-top:15px}.price-preview{padding:30px 25px}.price-number{font-size:58px!important}.contacts{gap:20px}.contact-details{padding-top:10px}.big-phone{font-size:31px}.footer-bottom{flex-direction:column;gap:8px;font-size:9px;margin-top:30px}footer{padding:45px 6% 95px}.mobile-call{display:flex;position:fixed;bottom:12px;left:5%;right:5%;z-index:5;justify-content:space-between;padding:14px 20px;background:var(--deep);color:white;box-shadow:0 5px 25px #0003;border:1px solid #879e8c;font-size:13px}.price-heading h1{font-size:44px}.price-heading{padding-top:50px;padding-bottom:35px}.full-prices{padding-top:35px}.price-row{gap:15px}.price-row h3{font-size:16px}.price-row p{font-size:11px}.price strong{font-size:21px}.price span{font-size:9px}.full-prices aside{margin-top:15px}.price-outro h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{header,.mobile-call,footer,.full-prices aside{display:none}.section{padding:20px}.full-prices{display:block}.price-row{break-inside:avoid}body{background:white;color:black}}

/* Navigation returns immediately when scrolling upward; keyboard focus stays visible. */
body>header{position:sticky;top:0;z-index:30;transition:transform .2s ease;will-change:transform}body>header.header-hidden{transform:translateY(-101%)}html{scroll-padding-top:calc(var(--header-height,100px) + 16px)}
@media(prefers-reduced-motion:reduce){body>header{transition:none}}

/* An opaque surface is required when the sticky header returns over content. */
body>header{background-color:var(--paper);isolation:isolate;box-shadow:0 1px 0 var(--line)}
