:root{color:#22251f;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f3efe6;--paper-light:#faf8f2;--ink:#22251f;--sage:#6c7761;--forest:#27302a;--gold:#a47b33;--line:#22251f2e;background:#f3efe6;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%}address{font-style:normal}::selection{background:var(--sage);color:#fff}:focus-visible{outline-offset:4px;outline:3px solid #d69d32}.skip-link{z-index:100;color:var(--ink);background:#fff;padding:12px 16px;font-size:14px;position:fixed;top:12px;left:12px;transform:translateY(-140%)}.skip-link:focus{transform:none}.hero{background:var(--paper-light);isolation:isolate;min-height:100svh;position:relative;overflow:hidden}.site-header{z-index:20;border-bottom:1px solid #22251f1f;justify-content:space-between;align-items:center;height:104px;padding:0 clamp(24px,5vw,80px);display:flex;position:absolute;inset:0 0 auto}.brand{z-index:22;align-items:center;gap:12px;display:inline-flex;position:relative}.brand-mark{border:1px solid var(--ink);border-radius:50%;place-items:center;width:42px;height:42px;font-family:Newsreader,serif;font-size:14px;display:grid}.brand-name{letter-spacing:-.02em;font-family:Newsreader,serif;font-size:18px;line-height:.9}.nav{align-items:center;gap:clamp(18px,2vw,36px);display:flex}.nav a{color:#44473f;font-size:13px;transition:color .2s}.nav a:hover{color:var(--gold)}.header-cta,.nav-book{border:0;border-bottom:1px solid var(--ink);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:12px 0;font-size:13px;display:flex}.menu-button,.mobile-only{display:none}.hero-copy{z-index:3;width:min(55vw,820px);padding:clamp(170px,21vh,235px) 40px 100px clamp(24px,7vw,112px);animation:.9s cubic-bezier(.2,.7,.2,1) both heroIn;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.16em;margin:0 0 22px;font-size:11px;font-weight:600}.hero-kicker{align-items:center;gap:10px;display:flex}.hero-kicker span{background:var(--gold);width:26px;height:1px}h1,h2{letter-spacing:-.045em;margin:0;font-family:Newsreader,serif;font-weight:400}h1{max-width:800px;font-size:clamp(58px,6.15vw,98px);line-height:.91}h1 em,h2 em{color:var(--gold);font-weight:400}.hero-description{color:#565950;max-width:530px;margin:28px 0 0;font-size:clamp(15px,1.12vw,18px);line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:30px;margin-top:32px;display:flex}.hero-assurance{color:#66695f;align-items:center;gap:9px;margin:23px 0 0;font-size:12px;line-height:1.5;display:flex}.button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:15px 22px;font-size:13px;font-weight:500;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--forest);color:#fff}.button-dark:hover{background:#354039}.button-light{background:var(--paper-light);color:var(--forest)}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:44px;padding-bottom:5px;font-size:13px;transition:gap .2s;display:inline-flex}.text-link:hover{gap:16px}.hero-portrait{z-index:1;animation:1.1s cubic-bezier(.2,.7,.2,1) .12s both imageIn;position:absolute;inset:0 0 0 50%;overflow:hidden}.hero-portrait:after{content:"";pointer-events:none;border-left:1px solid #22251f1f;position:absolute;inset:0}.hero-portrait picture{width:100%;height:100%;display:block}.hero-portrait img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;transition:scale 1.5s cubic-bezier(.2,.7,.2,1);display:block;scale:1.01}.hero:hover .hero-portrait img{scale:1.03}.portrait-caption{text-transform:uppercase;letter-spacing:.13em;color:#41433d;justify-content:space-between;font-size:11px;display:flex;position:absolute;bottom:32px;left:36px;right:36px}.hero-scroll{z-index:4;text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:13px;min-height:44px;font-size:10px;display:flex;position:absolute;bottom:27px;left:clamp(24px,7vw,112px)}@keyframes heroIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes imageIn{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.proof-strip{border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:repeat(4,1fr) 1.4fr;min-height:160px;display:grid}.proof-item,.proof-note{border-right:1px solid var(--line);align-items:center;gap:18px;min-height:160px;padding:28px clamp(18px,2.6vw,40px);display:flex}.proof-item strong{color:var(--gold);font-family:Newsreader,serif;font-size:46px;font-weight:400;line-height:1}.proof-item svg{stroke-width:1.3px;color:var(--sage);width:29px;height:29px}.proof-item span{text-transform:uppercase;letter-spacing:.1em;font-size:10px;line-height:1.6}.proof-note{background:#ded9cb;border-right:0;justify-content:space-between;font-family:Newsreader,serif;font-size:24px;line-height:1.08}.section-pad{padding:120px clamp(24px,7vw,112px)}.section-label{text-transform:uppercase;letter-spacing:.16em;color:#686b64;font-size:10px}.section-label.light{color:#ffffff9e}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(26px)}.reveal.visible{opacity:1;transform:none}.about{background:var(--paper-light);grid-template-columns:.65fr 1.35fr 1fr;gap:56px;display:grid}.about .section-label{grid-column:1}.about-heading{grid-column:2/4}.about-heading h2,.visit-content h2,.preparation h2,.modes h2,.faq h2{font-size:clamp(48px,5.1vw,80px);line-height:.97}.about-copy{grid-column:2;margin-top:52px}.about-copy p{color:#545850;font-size:15px;line-height:1.8}.about-copy .lead{color:var(--ink);font-family:Newsreader,serif;font-size:27px;line-height:1.25}.about-copy .text-link{margin-top:16px}.about-note{border-left:1px solid var(--gold);grid-column:3;align-self:start;margin-top:52px;padding-left:30px}.about-note svg{color:var(--sage);stroke-width:1.4px}.about-note h3{margin:25px 0 12px;font-family:Newsreader,serif;font-size:26px;font-weight:400}.about-note p{color:#5b5f57;margin:0;font-size:14px;line-height:1.7}.focus{background:var(--forest);color:var(--paper-light)}.focus-intro{grid-template-columns:2fr .9fr;align-items:end;gap:70px;margin:75px 0 84px 24%;display:grid}.focus-intro .eyebrow,.focus-intro h2{grid-column:1}.light-eyebrow{color:#e1bf79}.focus-intro h2{font-size:clamp(56px,6.1vw,92px);line-height:.92}.focus-intro>p:last-child{color:#ffffffb8;grid-area:2/2;max-width:310px;font-size:14px;line-height:1.7}.focus-list{border-top:1px solid #fff3}.focus-row{border-bottom:1px solid #fff3;grid-template-columns:.45fr 1.3fr 1.1fr auto;align-items:center;gap:30px;min-height:150px;transition:padding .25s,background .25s;display:grid}.focus-row:hover{background:#ffffff0a;padding:0 18px}.focus-number{color:#e1bf79;letter-spacing:.12em;font-size:11px}.focus-row h3{margin:0;font-family:Newsreader,serif;font-size:clamp(30px,3vw,44px);font-weight:400}.focus-row p{color:#ffffffb8;max-width:490px;margin:0;font-size:13px;line-height:1.7}.focus-row svg{color:#e1bf79;stroke-width:1.2px}.safety-notice{border-bottom:1px solid var(--line);background:#e6dfcf;grid-template-columns:64px 1fr auto;align-items:center;gap:28px;padding:34px clamp(24px,7vw,112px);display:grid}.safety-notice>svg{width:38px;height:38px;color:var(--sage);stroke-width:1.3px}.safety-notice .eyebrow{margin-bottom:7px}.safety-notice p:last-child{color:#4f534b;max-width:900px;margin:0;font-size:13px;line-height:1.65}.safety-notice>a{white-space:nowrap;border-bottom:1px solid var(--ink);align-items:center;gap:8px;min-height:44px;font-size:12px;display:flex}.first-visit{background:#ded9cb;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,140px);display:grid;overflow:hidden}.first-visit .section-label{grid-column:1/3}.visit-visual{background:var(--sage);min-height:650px;color:var(--paper-light);align-items:flex-end;padding:clamp(30px,5vw,72px);display:flex}.visit-visual span{letter-spacing:-.04em;font-family:Newsreader,serif;font-size:clamp(50px,5.1vw,76px);line-height:.92}.visit-content{padding-top:40px}.visit-content h2{margin-bottom:46px}.steps{border-top:1px solid var(--line)}.step{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;gap:20px;padding:22px 0;display:grid}.step>span{color:#825f22;letter-spacing:.12em;padding-top:5px;font-size:10px}.step h3{margin:0 0 7px;font-family:Newsreader,serif;font-size:24px;font-weight:400}.step p{color:#50544c;max-width:500px;margin:0;font-size:13px;line-height:1.65}.fee-note{border-left:2px solid var(--gold);background:#faf8f28f;margin:28px 0;padding:22px 24px}.fee-note strong{font-family:Newsreader,serif;font-size:20px;font-weight:400}.fee-note p{color:#50544c;margin:7px 0 0;font-size:13px;line-height:1.65}.preparation{background:var(--paper);grid-template-columns:.9fr 1.1fr;align-items:start;gap:10vw;display:grid}.preparation-heading{position:sticky;top:115px}.preparation-list{border-top:1px solid var(--line)}.preparation-item{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr;gap:18px;padding:30px 0;display:grid}.preparation-item>span{color:var(--gold);font-size:11px}.preparation-item h3{margin:0 0 9px;font-family:Newsreader,serif;font-size:27px;font-weight:400}.preparation-item p{color:#565a52;margin:0;font-size:14px;line-height:1.7}.modes{background:var(--paper-light);grid-template-columns:1fr 1.1fr;align-items:center;gap:10vw;display:grid}.section-copy{color:#5b5f57;max-width:460px;margin:25px 0 0;font-size:14px;line-height:1.7}.mode-list{border-top:1px solid var(--line)}.mode{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;grid-template-columns:50px 1fr auto;align-items:center;gap:22px;width:100%;min-height:112px;padding:26px 0;display:grid}.mode>svg:first-child{color:var(--sage);stroke-width:1.4px}.mode>svg:last-child{stroke-width:1.3px;transition:transform .2s}.mode:hover>svg:last-child{transform:translate(4px,4px)}.mode span{flex-direction:column;gap:7px;display:flex}.mode strong{font-family:Newsreader,serif;font-size:25px;font-weight:400}.mode small{color:#5d6159;font-size:12px;line-height:1.5}.location{background:var(--forest);color:#fff;grid-template-columns:.55fr 1fr 1fr;gap:5vw;display:grid}.location-heading h2{font-size:clamp(54px,5.7vw,86px);line-height:.94}.location-details{border-left:1px solid #fff3;padding-left:clamp(30px,4vw,62px)}.location-details>svg{color:#e1bf79;stroke-width:1.3px;margin-bottom:30px}.location-details address{font-family:Newsreader,serif;font-size:clamp(25px,2.1vw,34px);line-height:1.35}.location-details>p{color:#ffffffb8;max-width:450px;margin:24px 0;font-size:13px;line-height:1.7}.location-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.light-link{color:#fff;border-color:#ffffff80}.faq{background:var(--paper);grid-template-columns:.55fr 1fr 1.25fr;gap:5vw;display:grid}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item h3{font:inherit;margin:0}.faq-item h3>button{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:72px;padding:22px 0;font-size:15px;display:flex}.faq-item svg{flex:none;width:18px;transition:transform .3s}.faq-item.active svg{transform:rotate(180deg)}.faq-answer{grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid}.faq-answer p{color:#54584f;margin:0;font-size:14px;line-height:1.7;overflow:hidden}.faq-item.active .faq-answer{grid-template-rows:1fr}.faq-item.active .faq-answer p{padding:0 36px 24px 0}.emergency{background:#f1e2d5;border-top:1px solid #d8b69a;border-bottom:1px solid #d8b69a;grid-template-columns:48px 1fr;align-items:center;gap:20px;padding:32px clamp(24px,7vw,112px);display:grid}.emergency svg{color:#8b4c25;stroke-width:1.5px}.emergency strong{font-family:Newsreader,serif;font-size:23px;font-weight:400}.emergency p{color:#5e4a3d;margin:5px 0 0;font-size:13px;line-height:1.65}.final-cta{background:var(--forest);color:#fff;grid-template-columns:1.35fr .65fr;min-height:620px;display:grid}.final-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:105px clamp(24px,7vw,112px);display:flex}.final-copy h2{font-size:clamp(62px,7vw,106px);line-height:.9}.final-copy>p:not(.eyebrow){color:#ffffffb8;max-width:480px;margin:26px 0 32px;line-height:1.65}.final-detail{border-left:1px solid #ffffff2e;flex-direction:column;justify-content:center;padding:55px 6vw 55px 46px;display:flex}.final-detail>div{color:#ffffffb8;border-bottom:1px solid #ffffff2e;gap:20px;padding:23px 0;font-size:12px;display:flex}.final-detail svg{color:#e1bf79;stroke-width:1.3px}.final-detail span{flex-direction:column;gap:6px;display:flex}.final-detail strong{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:11px}footer{color:#ffffffbd;background:#1d211d;grid-template-columns:1.8fr 1fr 1.15fr 1fr;gap:45px;padding:70px clamp(24px,7vw,112px) 30px;display:grid}footer .brand-mark{border-color:#ffffffbf}footer .brand-name{color:#fff}.footer-brand p{margin-top:24px;font-size:12px;line-height:1.7}.footer-links{flex-direction:column;gap:13px;font-size:12px;display:flex}.footer-links strong{color:#e1bf79;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;font-size:10px}.footer-links a{min-height:24px}.footer-links a:hover{color:#fff}.footer-bottom{text-transform:uppercase;letter-spacing:.1em;border-top:1px solid #ffffff24;grid-column:1/-1;justify-content:space-between;gap:20px;padding-top:24px;font-size:10px;display:flex}.booking-dialog{background:var(--paper-light);width:min(680px,100vw - 32px);max-height:calc(100svh - 32px);color:var(--ink);border:0;padding:clamp(32px,5vw,56px);box-shadow:0 28px 90px #00000040}.booking-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#181d19cc}.booking-dialog[open]{animation:.35s both dialogIn}@keyframes dialogIn{0%{opacity:0;transform:translateY(15px)scale(.985)}to{opacity:1;transform:none}}.dialog-close{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:20px;right:20px}.dialog-close svg{width:17px}.booking-dialog h2{font-size:clamp(42px,6vw,62px);line-height:.94}.dialog-intro{color:#54584f;max-width:540px;margin:18px 0 0;font-size:13px;line-height:1.65}.mode-toggle{border:1px solid var(--line);grid-template-columns:1fr 1fr;margin:28px 0;display:grid}.mode-toggle button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:13px;display:flex}.mode-toggle button+button{border-left:1px solid var(--line)}.mode-toggle .selected{background:var(--forest);color:#fff}.booking-dialog form{gap:17px;display:grid}.booking-dialog label:not(.consent-check){text-transform:uppercase;letter-spacing:.1em;gap:7px;font-size:11px;display:grid}.booking-dialog label span{color:#6d7068;text-transform:none;letter-spacing:0}.booking-dialog input:not([type=checkbox]),.booking-dialog textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-transform:none;letter-spacing:0;background:0 0;border-radius:0;outline:0;padding:11px 0}.booking-dialog input:focus,.booking-dialog textarea:focus{border-bottom-color:var(--gold)}.booking-dialog textarea{resize:vertical}.privacy-hint{color:#5d6159;align-items:flex-start;gap:8px;margin:-2px 0 0;font-size:12px;line-height:1.5;display:flex}.privacy-hint svg{flex:none;margin-top:2px}.consent-check{cursor:pointer;grid-template-columns:20px 1fr;align-items:start;gap:10px;font-size:12px;line-height:1.5;display:grid}.consent-check input{width:18px;height:18px;accent-color:var(--forest);margin:1px 0 0}.booking-dialog .button{width:100%;margin-top:4px}.form-note,.sent-note{color:#5d6159;text-align:center;margin:0;font-size:12px;line-height:1.5}.form-note a{text-decoration:underline}.sent-note{color:#4e6049;font-weight:600}@media (width<=1080px){.site-header{height:84px}.nav{background:var(--paper-light);z-index:21;visibility:hidden;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;padding:90px 10vw;transition:transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s .45s;position:fixed;inset:0;transform:translateY(-100%)}.nav.is-open{visibility:visible;pointer-events:auto;transition-delay:0s;transform:none}.nav a{font-family:Newsreader,serif;font-size:34px}.header-cta{display:none}.menu-button{z-index:22;cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:relative}.mobile-only{display:flex}.hero-copy{width:64vw;padding-top:165px}.hero-portrait{left:54%}.proof-strip{grid-template-columns:repeat(4,1fr)}.proof-note{grid-column:1/-1;min-height:105px}.about{grid-template-columns:.4fr 1.2fr .9fr;gap:36px}.focus-intro{margin-left:8%}.faq{grid-template-columns:.4fr 1fr}.faq-list{grid-column:2}.location{grid-template-columns:.4fr 1fr}.location-details{grid-column:2}footer{grid-template-columns:1.4fr 1fr 1fr}footer .footer-links:nth-of-type(4){grid-column:2}}@media (width<=760px){html{scroll-padding-top:70px}.site-header{padding:0 20px}.brand-mark{width:38px;height:38px}.brand-name{font-size:16px}.nav{padding-left:24px}.hero{flex-direction:column;min-height:auto;display:flex}.hero-copy{width:100%;min-height:610px;padding:130px 22px 50px}h1{font-size:clamp(52px,15.8vw,72px)}.hero-description{max-width:95%;font-size:14px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}.hero-assurance{align-items:flex-start;max-width:330px}.hero-portrait{order:2;height:76svh;min-height:560px;position:relative;inset:auto}.hero-portrait:after{border-top:1px solid #22251f1f;border-left:0}.hero-portrait img{object-position:56% 28%}.portrait-caption{bottom:20px;left:20px;right:20px}.hero-scroll{display:none}.proof-strip{grid-template-columns:1fr 1fr}.proof-item{border-bottom:1px solid var(--line);min-height:132px}.proof-item:nth-child(2),.proof-item:nth-child(4){border-right:0}.proof-note{grid-column:1/-1;min-height:100px}.section-pad{padding:82px 22px}.about{grid-template-columns:1fr;gap:0}.about .section-label,.about-heading,.about-copy,.about-note{grid-column:1}.about-heading{margin-top:50px}.about-heading h2,.visit-content h2,.preparation h2,.modes h2,.faq h2{font-size:47px}.about-copy,.about-note{margin-top:42px}.focus-intro{margin:52px 0 60px;display:block}.focus-intro h2{font-size:54px}.focus-intro>p:last-child{margin-top:24px}.focus-row{grid-template-columns:40px 1fr auto;gap:12px;padding:27px 0}.focus-row:hover{padding:27px 0}.focus-row p{grid-column:2/4}.safety-notice{grid-template-columns:42px 1fr;align-items:start;gap:16px;padding:28px 22px}.safety-notice>svg{width:30px;height:30px}.safety-notice>a{grid-column:2;justify-self:start}.first-visit{grid-template-columns:1fr;gap:52px}.first-visit .section-label{grid-column:1}.visit-visual{min-height:430px;margin:0 -22px;padding:42px 22px}.visit-visual span{font-size:58px}.visit-content{padding:0}.preparation{grid-template-columns:1fr;gap:52px}.preparation-heading{position:static}.modes{grid-template-columns:1fr;gap:55px}.mode{grid-template-columns:38px 1fr auto;gap:12px}.mode strong{font-size:21px}.location{grid-template-columns:1fr;gap:48px}.location-details{border-top:1px solid #fff3;border-left:0;grid-column:1;padding:38px 0 0}.faq{grid-template-columns:1fr;gap:48px}.faq-list{grid-column:1}.faq-item h3>button{font-size:14px}.emergency{grid-template-columns:34px 1fr;align-items:start;gap:14px;padding:28px 22px}.final-cta{grid-template-columns:1fr}.final-copy{padding:82px 22px}.final-copy h2{font-size:62px}.final-detail{border-top:1px solid #ffffff2e;border-left:0;padding:34px 22px 54px}footer{grid-template-columns:1fr 1fr;gap:40px 24px;padding:58px 22px 25px}.footer-brand{grid-column:1/-1}footer .footer-links:nth-of-type(4){grid-column:auto}.footer-bottom{flex-direction:column}.booking-dialog{padding:50px 24px 28px}}@media (width<=420px){.proof-item{gap:12px;padding:24px 15px}.proof-item strong{font-size:40px}.proof-item span{font-size:9px}.location-actions{flex-direction:column;align-items:flex-start}footer{grid-template-columns:1fr}.footer-brand,.footer-bottom{grid-column:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
