:root{--ink:#18322e;--moss:#25423c;--cream:#f7f4ec;--sand:#e9dfcd;--clay:#bf6f55;--line:rgba(24,50,46,.18);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:15px;line-height:1.5}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.5rem}.topbar{height:86px;display:flex;align-items:center;gap:29px;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(247,244,236,.94);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:12px;line-height:1.05;letter-spacing:.02em}.brand em{font-family:var(--serif);font-size:14px}.brand-mark{width:38px;height:38px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:14px}.topbar nav{display:flex;gap:26px;margin-left:auto}.topbar nav a{color:inherit;text-decoration:none;font-size:13px}.language{border:0;background:transparent;color:var(--ink);font:500 12px var(--mono);padding:5px;cursor:pointer;display:flex;align-items:center;gap:6px}.button{background:var(--moss);color:#fff;text-decoration:none;padding:15px 20px;display:inline-flex;gap:16px;align-items:center;justify-content:center;font-size:13px;transition:.25s}.button:hover{background:#3d6058;transform:translateY(-2px)}.button-small{padding:11px 16px;font-size:12px}.eyebrow{font:500 10px var(--mono);letter-spacing:.13em;margin:0 0 18px}.hero{min-height:670px;display:grid;grid-template-columns:1.04fr .96fr}.hero-copy{padding:11vw 7vw 5vw 12vw}.hero h1,h2{font:500 clamp(45px,5vw,76px)/.99 var(--serif);letter-spacing:-.055em;margin:0}.hero h1 i,h2 i{font-weight:500}.lede{max-width:430px;margin:27px 0;font-size:17px;line-height:1.62}.hero-actions{display:flex;align-items:center;gap:25px}.text-link{color:inherit;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px;font-size:13px}.text-link span{margin-left:8px}.hero-note{display:flex;gap:9px;align-items:center;margin-top:82px;font:11px var(--mono)}.sun{font-size:19px}.hero-image{position:relative;min-height:570px;overflow:hidden;background:var(--sand)}.hero-image img,.feature-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78)}.image-caption{position:absolute;bottom:22px;right:24px;color:#fff;font:11px var(--mono);letter-spacing:.08em}.intro{padding:95px 12vw;position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro>p:nth-child(2){font:500 clamp(28px,3.2vw,48px)/1.15 var(--serif);letter-spacing:-.035em;max-width:920px;margin:0}.intro-seal{position:absolute;right:10vw;top:52px;border:1px solid var(--ink);border-radius:50%;height:105px;width:105px;display:grid;place-content:center;text-align:center;font:9px/1.35 var(--mono);letter-spacing:.09em;transform:rotate(12deg)}.intro-seal b{font-size:18px}.treatments{display:grid;grid-template-columns:.7fr 1.3fr;padding:118px 12vw;gap:8vw}.section-heading h2,.feature h2,.rates h2,.calendar-section h2,.visit h2{font-size:clamp(38px,4.4vw,65px)}.section-heading>p:last-child{max-width:290px;margin-top:25px}.treatment-list{border-top:1px solid var(--line)}.treatment{border-bottom:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:53px 1fr auto;gap:10px;align-items:baseline;cursor:pointer}.treatment-number{font:11px var(--mono);color:#7b8c86}.treatment h3{font:500 29px var(--serif);margin:0;letter-spacing:-.03em}.treatment h3 em{font-size:14px;font-family:var(--sans);font-style:normal;color:#657671;margin-left:11px}.treatment-plus{font-size:20px}.treatment-info{grid-column:2/4;max-height:0;overflow:hidden;transition:max-height .35s ease;color:#52645e;font-size:13px;max-width:570px}.treatment.open .treatment-info{max-height:90px;padding-top:8px}.treatment.open .treatment-plus{transform:rotate(45deg)}.feature{background:var(--moss);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;min-height:590px}.feature-image{min-height:500px}.feature-copy{padding:105px 11vw 50px 8vw}.feature-copy>p:not(.eyebrow){max-width:455px;margin:25px 0;line-height:1.68}.feature blockquote{font:500 23px/1.35 var(--serif);margin:45px 0 10px;max-width:400px}.signature{font:italic 20px var(--serif);margin:0}.rates{padding:100px 12vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.rate-grid>div{border-top:1px solid var(--ink);padding-top:15px}.rate-grid span{font:500 62px/.8 var(--serif);letter-spacing:-.06em}.rate-grid small{font:11px var(--mono);margin-left:7px}.rate-grid strong{display:block;margin-top:25px;font:500 28px var(--serif)}.rate-grid p{font-size:13px;max-width:180px;color:#52645e}.calendar-section{padding:105px 12vw;background:var(--sand)}.calendar-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.calendar-header>p{max-width:300px;margin:0 0 6px}.calendar-card{background:var(--cream);padding:30px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px}.calendar-toolbar h3{font:500 28px var(--serif);margin:0}.calendar-toolbar button{border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);width:33px;height:33px;font-size:17px;cursor:pointer}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekdays{padding:18px 0 9px;font:10px var(--mono);color:#74837e}.day{height:68px;position:relative;display:grid;place-items:center;font:12px var(--mono);border-radius:2px}.day.empty{opacity:0}.day.available{cursor:pointer}.day.available:after{content:"";height:5px;width:5px;background:var(--clay);border-radius:50%;position:absolute;bottom:11px}.day.available:hover,.day.selected{background:#eee7d9}.calendar-legend{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font:10px var(--mono)}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{display:block;background:var(--clay);width:6px;height:6px;border-radius:50%}.ical-link{color:inherit;text-decoration:none;border-bottom:1px solid var(--ink)}.booking-callout{display:flex;align-items:center;justify-content:space-between;padding:25px 29px;margin-top:16px;background:var(--moss);color:white}.booking-callout>div{display:flex;gap:15px;align-items:center}.booking-callout>div>span{font-size:23px}.booking-callout p{margin:0;font-size:13px}.button-light{background:var(--cream);color:var(--ink)}.button-light:hover{background:#fff}.calendar-disclaimer{font-size:11px;color:#64736d;margin:16px 0 0}.visit{padding:110px 12vw;display:grid;grid-template-columns:1fr 1fr;gap:11vw}.visit address{font:500 26px/1.25 var(--serif);margin:30px 0 20px}.hours{margin-top:70px;display:flex;flex-direction:column;gap:4px}.hours span{font:10px var(--mono);letter-spacing:.1em}.hours strong{font:500 16px var(--serif)}.map-card{background:var(--moss);position:relative;color:var(--cream);min-height:370px;text-decoration:none;overflow:hidden;padding:25px;display:flex;flex-direction:column;justify-content:space-between;background-image:linear-gradient(122deg,transparent 0 45%,rgba(247,244,236,.15) 45.4% 46%,transparent 46.3% 100%),linear-gradient(29deg,transparent 0 50%,rgba(247,244,236,.15) 50.4% 51%,transparent 51.3% 100%)}.map-card>span{font:10px var(--mono);letter-spacing:.2em}.map-pin{font-size:90px;align-self:center;color:#e7d8bd}.map-card small{font:11px var(--mono);align-self:end}footer{background:#16302b;color:var(--cream);padding:40px 5vw;display:flex;align-items:center;gap:30px}footer p{margin-left:auto;font-size:12px}footer a{color:inherit;text-decoration:none;font:12px var(--mono)}footer small{font-size:10px;color:#bdc7c4}@media(max-width:760px){.topbar{height:70px;padding:0 5vw;gap:12px}.topbar nav{display:none}.topbar .button-small{display:none}.language{margin-left:auto}.hero{display:block}.hero-copy{padding:90px 7vw 55px}.hero-image{min-height:370px}.intro,.treatments,.calendar-section,.visit{padding:70px 7vw}.intro-seal{display:none}.treatments,.feature,.rates,.visit{grid-template-columns:1fr;gap:45px}.feature-copy{padding:75px 7vw}.rates{padding:70px 7vw}.calendar-header{display:block}.calendar-header>p{margin-top:25px}.calendar-card{padding:18px}.day{height:48px}.calendar-legend{gap:12px;align-items:end}.booking-callout{padding:22px;display:block}.booking-callout .button{margin-top:20px;width:100%}.visit{gap:50px}.map-card{min-height:250px}footer{flex-wrap:wrap;gap:20px}footer p{margin:0;width:100%;order:3}.hero-note{margin-top:55px}.treatment h3{font-size:25px}.feature-image{min-height:360px}}
