@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--green:#0b2922;--deep:#071e19;--cream:#f3f0e6;--gold:#b8a77c;--line:#c5c3b5;--muted:#64716a;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--green);font:14px 'DM Sans',Arial,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(42px,5.4vw,82px);line-height:1.02;letter-spacing:-.035em}em{font-weight:400}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer;padding:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;width:100%;object-fit:cover}button,a{-webkit-tap-highlight-color:transparent}.skip{position:absolute;top:-80px;background:var(--cream);padding:15px;z-index:30}.skip:focus{top:0}header{height:106px;background:var(--green);color:var(--cream);padding:0 4%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:15;border-bottom:1px solid #ffffff20}.brand{font-family:var(--serif);font-size:36px;line-height:.95;text-align:center;letter-spacing:.04em}.brand>span{font:9px 'DM Sans',sans-serif;display:block;letter-spacing:.28em;margin-bottom:7px}.brand>small{font:6px 'DM Sans',sans-serif;display:block;letter-spacing:.22em;margin-top:9px}.menu{position:relative;width:155px;text-align:left;padding-left:34px;font-size:9px;letter-spacing:.16em;height:44px}.menu i{position:absolute;width:21px;height:1px;background:var(--cream);left:0;top:18px}.menu i:nth-child(2){top:25px}.header-book{font-size:11px;border-bottom:1px solid #b8a77c90;padding:12px 0;display:flex;gap:30px}nav{display:none;position:absolute;top:106px;left:0;width:100%;background:var(--deep);padding:35px 5%;border-top:1px solid #ffffff20;gap:35px}nav.open{display:flex}nav a{font:27px var(--serif)}.hero{height:calc(100svh - 106px);min-height:620px;max-height:1000px;position:relative;color:white;background:var(--green)}.hero>img{height:100%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061b17aa,transparent 50%,#061b1755),linear-gradient(90deg,#0003,#0001)}.hero-top,.hero-bottom{position:absolute;z-index:1;left:4%;right:4%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em}.hero-top{top:27px}.hero-bottom{bottom:29px}.hero-title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;text-align:center;padding:45px 20px}.hero-title>p{font-size:12px;letter-spacing:.04em;margin-bottom:26px}.hero h1{font-size:clamp(78px,10vw,156px);line-height:.83;letter-spacing:-.045em;text-shadow:0 2px 25px #0003}.hero-title .text-link{margin-top:34px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font-size:11px;padding:10px 0;border-bottom:1px solid currentColor}.booking-bar{background:var(--green);color:var(--cream);padding:38px 4%;display:grid;grid-template-columns:1fr 3.2fr;gap:45px;align-items:center}.booking-bar>p{font:29px/1.05 var(--serif)}#quick-book{display:grid;grid-template-columns:1fr 1fr .7fr 1.2fr;gap:25px;align-items:end}label{display:block;font-size:11px}#quick-book label{font-size:8px;letter-spacing:.12em}input,select{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:inherit;padding:12px 0;font-size:13px}#quick-book input,#quick-book select{color-scheme:dark;border-color:#ffffff50;margin-top:5px}select option{background:var(--cream);color:var(--green)}.primary,.light-button{padding:18px 24px;background:var(--green);color:var(--cream);display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px;min-height:52px;border:1px solid var(--green)}.primary:hover{background:#184337}.booking-bar .primary,.light-button{background:var(--cream);color:var(--green);border-color:var(--cream)}.section{padding:110px 6%}.eyebrow{font:9px 'DM Sans',sans-serif;letter-spacing:.18em;margin-bottom:25px}.introduction{display:grid;grid-template-columns:1fr 3fr;gap:6%;padding-top:125px;padding-bottom:125px}.crest{width:80px;height:90px;object-fit:contain}.intro-label .crest{margin:0 0 28px 20px}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:35px 0 25px;max-width:760px}.intro-copy p,.salon-copy>p:not(.eyebrow),.room-copy>p:not(.eyebrow),.dining-description p,.house-copy p{font-size:13px;line-height:1.9;color:var(--muted)}.salon{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--cream)}.salon-photo{position:relative}.salon-photo img{height:740px}.salon-photo>span{position:absolute;bottom:25px;left:30px;font-size:8px;letter-spacing:.1em;color:white}.salon-copy{padding:100px 12%;align-self:center}.salon-copy h2{font-size:clamp(42px,4vw,65px)}.salon-copy>p:not(.eyebrow){color:#c2c9bd;margin-top:28px}.house-details{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;margin-top:50px;padding-top:30px}.house-details strong{display:block;font:37px var(--serif);font-weight:400;color:var(--gold)}.house-details span{display:block;font-size:7px;letter-spacing:.08em;margin-top:10px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:50px}.section-heading>p{font-size:12px;line-height:1.8;color:var(--muted)}.room-tabs{display:flex;gap:45px;border-bottom:1px solid var(--line);margin-bottom:30px}.room-tabs button{display:flex;gap:18px;padding:0 0 18px;font-size:9px;color:var(--muted);border-bottom:1px solid transparent}.room-tabs button span{font-size:13px}.room-tabs button[aria-pressed=true]{color:var(--green);border-color:var(--green)}.room-showcase{display:grid;grid-template-columns:1.35fr 1fr;gap:6%}.room-image{position:relative;min-width:0}.room-image img{height:100%;min-height:560px;max-height:680px}.room-image>span{position:absolute;bottom:24px;left:25px;font-size:8px;letter-spacing:.13em;color:white;text-shadow:0 1px 5px #000}.room-copy{padding:20px 0}.room-copy h3{font-size:46px;letter-spacing:-.025em;margin-bottom:20px}.room-copy dl{margin:30px 0}.room-copy dl>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}.room-copy dt{font-size:8px;letter-spacing:.1em}.room-copy dd{font-size:11px;margin:0}.room-rate{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:10px;font-size:10px}.room-rate strong{font:30px var(--serif);margin:0 5px}.room-rate>span{font-size:9px;color:var(--muted)}.room-copy .primary{width:100%}.room-copy>.text-link{margin-top:12px;width:100%}.rooms-note{text-align:center;font-size:8px;letter-spacing:.11em;margin-top:38px;color:var(--muted)}.garden-banner{height:680px;position:relative;color:white}.garden-banner>img{height:100%;object-position:center 60%}.garden-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#061b17b0,transparent 80%),linear-gradient(0deg,#0004,transparent)}.garden-banner>div{position:absolute;left:8%;top:22%;z-index:1}.garden-banner h2{font-size:100px}.garden-banner .text-link{margin-top:30px}.caption{position:absolute;bottom:30px;left:8%;z-index:1;font-size:8px;letter-spacing:.14em}.dining{display:grid;grid-template-columns:.8fr 1.7fr;gap:6%;padding-bottom:75px}.dining-title>p:last-child{margin-top:32px;font-size:12px;line-height:1.8;color:var(--muted)}.dining-main>img{aspect-ratio:1.45}.dining-description{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:32px}.dining-description .eyebrow{display:block;margin-bottom:12px}.dining-description h3{font-size:30px;line-height:1.05}.dining-description .text-link{margin-top:17px}.daily-rituals{padding:0 6% 80px}.daily-rituals>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:28px;gap:30px}.daily-rituals article>span{font-size:10px;color:var(--muted)}.daily-rituals h3{font-size:30px;margin:15px 0 10px}.daily-rituals article p{font-size:11px;color:var(--muted)}.experiences{background:#e9e7db}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.experience-photo{display:block;width:100%;position:relative;overflow:hidden}.experience-photo img{aspect-ratio:3/4;transition:transform .7s}.experience-photo:hover img{transform:scale(1.035)}.experience-photo>span{position:absolute;top:20px;left:20px;font-size:8px;letter-spacing:.12em;color:white;text-shadow:0 2px 6px black}.experience-photo i{position:absolute;right:17px;bottom:17px;width:37px;height:37px;display:grid;place-items:center;border:1px solid #fffa;color:white;border-radius:50%;font-style:normal}.experience-grid h3{font-size:31px;margin:25px 0 14px}.experience-grid p{font-size:12px;color:var(--muted);line-height:1.8;max-width:300px}.experience-grid .text-link{margin-top:15px}.history{background:var(--green);color:var(--cream)}.history-heading{text-align:center}.history-heading>p:last-child{font-size:12px;line-height:1.9;color:#bbc4b7;margin-top:28px}.history-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;margin-top:65px;align-items:center}.history-image img{aspect-ratio:1/1;object-position:center}.history-image>span{font-size:7px;letter-spacing:.14em;display:block;margin-top:17px;color:#bdc4b7}.timeline article{display:grid;grid-template-columns:65px 1fr;gap:25px;border-top:1px solid #ffffff30;padding:30px 0}.timeline article>span{font:27px var(--serif);color:var(--gold)}.timeline h3{font-size:27px;line-height:1.1;margin-bottom:15px}.timeline p{font-size:12px;line-height:1.8;color:#bbc4b7}.private-house{display:grid;grid-template-columns:1fr 1fr;background:#e9e7db}.private-house>div:first-child img{height:100%;min-height:600px}.private-house>div:last-child{padding:85px 14%}.private-house p:not(.eyebrow){line-height:1.9;font-size:13px;color:var(--muted);margin:28px 0}.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.visit h2{font-size:56px}.visit>div>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);margin:25px 0;max-width:420px}.arrival-details{display:flex;flex-direction:column;gap:12px;font-size:8px;letter-spacing:.1em;margin:30px 0 20px}.questions{padding-top:45px}details{border-top:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:20px;font:23px var(--serif);padding:23px 0;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}details[open] summary>span{transform:rotate(45deg)}details p{font-size:12px;color:var(--muted);line-height:1.8;padding-bottom:25px}.closing{background:repeating-linear-gradient(90deg,#0b2922 0px,#0b2922 70px,#0d2d25 70px,#0d2d25 140px);color:var(--cream);padding:80px 20px 90px;text-align:center}.closing .crest{margin:0 auto 25px}.closing h2{font-size:85px}.closing .light-button{margin:32px 0 22px;min-width:230px}.closing>p:last-child{font:italic 20px var(--serif);color:#c7c9b8}footer{background:var(--deep);color:var(--cream);padding:65px 6% 25px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:45px}.footer-top>.brand{justify-self:start}.footer-top>div{display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:11px}.footer-top>p{font-size:11px;line-height:1.8}.footer-top>p span{font:italic 21px/1.3 var(--serif);display:block;margin-top:16px;color:#aeb9aa}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff25;padding-top:25px;margin-top:65px;font-size:7px;letter-spacing:.12em;color:#aeb9aa}dialog{border:0;color:var(--green);background:var(--cream);max-height:90dvh;max-width:calc(100% - 32px);padding:48px}dialog::backdrop{background:#031710c9;backdrop-filter:blur(6px)}body.modal-open{overflow:hidden}.close{position:absolute;right:18px;top:14px;font-size:30px;width:38px;height:38px}#booking{width:1060px}.booking-heading h2{font-size:52px}.booking-heading>p:last-child{font-size:11px;color:var(--muted);margin:15px 0 30px}.booking-heading .eyebrow{font-size:8px;margin-bottom:13px}.booking-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:45px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:25px}.form-row label{font-size:11px}.form-row input,.form-row select{margin-top:8px;height:45px;font-size:12px}.form-note{font-size:10px;line-height:1.7;color:var(--muted)}fieldset{border:0;padding:0;margin:30px 0}legend{font:26px var(--serif);margin-bottom:20px}.extra{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--line);padding:18px 0}.extra input{width:15px;height:15px;flex-shrink:0;margin:1px 0 0;accent-color:var(--green)}.extra>span:nth-child(2){flex:1;font-size:11px}.extra small{display:block;font-size:9px;line-height:1.6;color:var(--muted);margin-top:6px}.extra>span:last-child{font-size:10px;white-space:nowrap}.booking-summary{background:#e7e5d9;padding:24px}.booking-summary>img{aspect-ratio:1.8}.booking-summary h3{font-size:30px;margin:20px 0 8px}#summary-dates{font-size:10px;color:var(--muted);margin-bottom:20px;line-height:1.7}.cost-line{display:flex;justify-content:space-between;gap:15px;font-size:11px;margin:12px 0}.total{border-top:1px solid var(--line);margin-top:20px;padding:20px 0;display:flex;justify-content:space-between;align-items:center}.total strong{font:32px var(--serif)}.booking-summary .primary{width:100%;margin-top:20px}.form-error{font-size:12px;color:#914036;line-height:1.7}#booking-result{max-width:650px;padding:25px 0}#booking-result h3{font-size:48px;margin-bottom:22px}#result-summary p{font-size:14px;line-height:1.8}.result-note{padding:20px;border:1px solid var(--line);font-size:12px;line-height:1.8;margin:25px 0}#info{width:600px}#info h2{font-size:45px;margin-bottom:25px}#info-content p{font-size:13px;line-height:1.9;margin:15px 0}#info-content h3{font-size:28px;margin:25px 0 10px}#info-content ul{padding-left:18px;font-size:13px;line-height:2}#info-content .menu-course{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}[hidden]{display:none!important}
@media(max-width:1000px){.booking-bar{grid-template-columns:1fr;gap:25px}.booking-bar>p{display:none}.section{padding:80px 5%}.salon-copy{padding:60px 10%}.salon-photo img{height:650px}.room-showcase{gap:4%}.room-copy h3{font-size:38px}.room-image img{min-height:600px}.dining{grid-template-columns:1fr}.dining-title{margin-bottom:35px}.dining-title h2 br{display:none}.experience-grid h3{font-size:27px}.visit{gap:6%}.visit h2{font-size:47px}nav{flex-wrap:wrap}.footer-top{gap:25px}.booking-layout{gap:25px}dialog{padding:40px 30px}}
@media(max-width:640px){html{scroll-padding-top:80px}header{height:83px;padding:0 20px}.brand{font-size:27px}.brand>span{font-size:7px;margin-bottom:6px}.brand>small{font-size:4px;margin-top:6px}.menu{width:40px;padding:0}.menu>span{display:none}.header-book{font-size:9px;gap:0;width:65px;line-height:1.5;text-align:left}.header-book>span{display:none}nav{top:83px;padding:30px;gap:20px;flex-direction:column}nav a{font-size:26px}.hero{min-height:540px;height:calc(88svh - 83px);max-height:800px}.hero>img{object-position:center}.hero-top,.hero-bottom{left:20px;right:20px;font-size:7px;line-height:1.7;letter-spacing:.08em}.hero-top span:last-child{max-width:100px;text-align:right}.hero-bottom span:last-child{display:none}.hero-title>p{font-size:10px;margin-bottom:25px}.hero h1{font-size:78px;line-height:.88}.hero-title .text-link{font-size:10px}.booking-bar{padding:27px 20px}#quick-book{grid-template-columns:1fr 1fr;gap:24px 18px}#quick-book .primary{font-size:10px;padding:15px;gap:10px}#quick-book input{font-size:12px}.section{padding:65px 23px}h2{font-size:48px}.eyebrow{font-size:8px;line-height:1.8;margin-bottom:20px}.introduction{grid-template-columns:1fr;gap:22px}.intro-label{display:flex;align-items:center;gap:20px}.intro-label .crest{width:45px;height:55px;margin:0}.intro-label .eyebrow{margin:0}.intro-copy{grid-template-columns:1fr;gap:17px;margin:25px 0 15px}.intro-copy p{font-size:12px}.salon{grid-template-columns:1fr}.salon-photo img{height:470px}.salon-photo>span{left:23px;font-size:7px}.salon-copy{padding:55px 23px}.salon-copy h2{font-size:46px}.salon-copy>p:not(.eyebrow){font-size:12px}.house-details{margin-top:30px;padding-top:25px}.house-details strong{font-size:33px}.house-details span{font-size:6px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:11px}.room-tabs{gap:20px}.room-tabs button{gap:10px;font-size:8px;line-height:1.6}.room-tabs button span{font-size:11px}.room-showcase{grid-template-columns:1fr;gap:10px}.room-image img{min-height:0;height:330px}.room-image>span{left:17px;bottom:17px;font-size:7px}.room-copy{padding-top:25px}.room-copy h3{font-size:40px}.room-copy>p:not(.eyebrow){font-size:12px}.rooms-note{font-size:7px;line-height:1.9;margin-top:25px}.garden-banner{height:530px}.garden-banner>div{left:23px;top:22%}.garden-banner h2{font-size:76px}.garden-banner .eyebrow{max-width:200px}.caption{left:23px;right:23px;font-size:7px}.dining-title h2 br{display:block}.dining-title{margin-bottom:0}.dining-title>p:last-child{margin-top:20px}.dining{gap:30px;padding-bottom:40px}.dining-main>img{aspect-ratio:1/1}.dining-description{grid-template-columns:1fr;gap:20px;margin-top:25px}.dining-description h3{font-size:34px}.dining-description p{font-size:12px}.daily-rituals{padding:0 23px 55px}.daily-rituals>div{grid-template-columns:1fr;gap:25px;padding-top:23px}.daily-rituals article{display:grid;grid-template-columns:50px 1fr;gap:8px 15px}.daily-rituals article>span{padding-top:9px}.daily-rituals h3{margin:0;font-size:28px}.daily-rituals article>p{grid-column:2;font-size:10px}.experience-grid{grid-template-columns:1fr;gap:42px}.experience-photo img{aspect-ratio:4/3}.experience-grid h3{font-size:34px;margin:20px 0 12px}.experience-grid p{max-width:none}.history-heading h2{font-size:49px}.history-heading>p:last-child{font-size:11px}.history-layout{grid-template-columns:1fr;gap:35px;margin-top:35px}.history-image img{aspect-ratio:1.2}.history-image>span{font-size:6px}.timeline article{grid-template-columns:45px 1fr;gap:22px;padding:25px 0}.timeline h3{font-size:27px}.timeline p{font-size:11px}.private-house{grid-template-columns:1fr}.private-house>div:first-child img{min-height:0;height:350px}.private-house>div:last-child{padding:50px 23px}.private-house h2{font-size:60px}.private-house p:not(.eyebrow){font-size:12px}.visit{grid-template-columns:1fr;gap:15px}.visit h2{font-size:45px}.questions{padding-top:20px}summary{font-size:22px}.closing{padding:60px 23px}.closing h2{font-size:68px}.closing .crest{width:65px;height:75px}.closing>p:last-child{font-size:18px}footer{padding:45px 23px 25px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-top>.brand{align-self:start}.footer-top>p{font-size:9px}.footer-top>p span{font-size:19px}.footer-top>div{font-size:10px;gap:14px}.footer-bottom{flex-direction:column;font-size:6px;gap:14px;line-height:1.6;margin-top:40px}dialog{max-width:calc(100% - 20px);padding:45px 20px 25px;max-height:94dvh}.booking-heading h2{font-size:39px}.booking-heading>p:last-child{font-size:10px}.booking-layout{grid-template-columns:1fr;gap:5px}.form-row{gap:15px}.form-row input,.form-row select{font-size:11px}.form-row:nth-child(2){grid-template-columns:.65fr 1.35fr}.extra{gap:10px}.extra>span:last-child{font-size:9px}.extra>span:nth-child(2){font-size:10px}.booking-summary{padding:20px}.booking-summary>img{aspect-ratio:2}.booking-heading .eyebrow{font-size:7px}#info h2{font-size:37px}#info-content p{font-size:12px}#booking-result h3{font-size:40px}.primary{min-height:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Refined booking control and typography-led section openings. */
.booking-calendar{display:none}
.intro-label{padding-top:12px}
.intro-label .eyebrow{margin:0}
.closing{padding-top:85px;padding-bottom:85px}
@media(max-width:640px){
.header-book{width:44px;height:44px;padding:0;border:0;align-items:center;justify-content:center}
.header-book .booking-label,.header-book .booking-arrow{display:none}
.booking-calendar{display:block;width:24px;height:24px}
header .menu{width:44px}
.intro-label{padding-top:0}
.introduction{gap:18px}
.closing{padding:60px 23px}
}
@media(min-width:1024px){.hero{height:calc(100svh - 106px);min-height:0;max-height:none}}
