:root{--ink:#17231f;--pine:#203e35;--sage:#9aaa8e;--paper:#f4f1ea;--white:#fff;--coral:#ce684f;--line:rgba(23,35,31,.18);--serif:'Italiana',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;letter-spacing:0;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.skip-link{position:fixed;top:-100px;left:1rem;background:#fff;padding:.75rem 1rem;z-index:1000}.skip-link:focus{top:1rem}.hotel-header{height:84px;padding:0 clamp(1.25rem,4vw,4rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:absolute;top:0;left:0;width:100%;z-index:20;color:#fff;border-bottom:1px solid rgba(255,255,255,.25);transition:.3s}.hotel-header.scrolled{position:fixed;background:rgba(244,241,234,.94);color:var(--ink);border-color:var(--line);backdrop-filter:blur(14px)}.wordmark{display:flex;flex-direction:column;width:max-content;font-family:var(--serif);font-size:1.3rem;line-height:1}.wordmark small{font-family:var(--sans);font-size:.5rem;text-transform:uppercase;letter-spacing:.18em;margin-top:.5rem}.desktop-nav{display:flex;gap:clamp(1.2rem,3vw,2.5rem)}.desktop-nav a{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}.desktop-nav a:hover{opacity:.6}.header-book{justify-self:end;border:1px solid currentColor;color:inherit;background:transparent;padding:.7rem 1rem;display:flex;align-items:center;gap:.5rem;cursor:pointer}.header-book svg{width:15px}.menu-toggle,.mobile-nav{display:none}.hero{height:94svh;min-height:650px;position:relative;color:#fff}.hero>img{height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,23,18,.5),rgba(9,23,18,.04) 65%),linear-gradient(0deg,rgba(9,23,18,.4),transparent 50%)}.hero-copy{position:absolute;left:clamp(1.5rem,8vw,8rem);bottom:clamp(6rem,13vh,10rem);max-width:680px}.eyebrow{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;margin-bottom:1.25rem}.eyebrow.dark{color:var(--coral)}.hero h1{font:400 clamp(4rem,8.5vw,8.5rem)/.86 var(--serif);letter-spacing:0;margin-bottom:1.6rem}.hero-copy>p:last-child{max-width:460px;font-size:1rem}.hero-scroll{position:absolute;right:clamp(1.5rem,5vw,5rem);bottom:3rem;display:flex;align-items:center;gap:1rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.16em}.hero-scroll svg{width:17px}.availability-wrap{max-width:1260px;margin:-48px auto 0;position:relative;z-index:5;padding:0 1.5rem}.availability{min-height:96px;background:#fff;box-shadow:0 14px 50px rgba(22,31,27,.13);display:grid;grid-template-columns:1fr 1fr .8fr auto;align-items:stretch}.availability label{padding:1.4rem 2rem;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.availability label span,.booking-grid label span{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:#66716c;margin-bottom:.4rem}.availability input,.availability select,.booking-grid input,.booking-grid select{appearance:none;border:0;background:transparent;color:var(--ink);outline:none;width:100%}.availability button,.confirm-booking{border:0;background:var(--coral);color:#fff;padding:0 2.5rem;display:flex;align-items:center;justify-content:center;gap:.7rem;cursor:pointer}.availability button svg,.confirm-booking svg{width:17px}.section{padding:clamp(5rem,10vw,10rem) clamp(1.5rem,6vw,6rem)}.welcome{max-width:1400px;margin:auto;display:grid;grid-template-columns:.55fr 1.5fr .55fr;gap:clamp(2rem,6vw,7rem);align-items:start}.welcome-mark{width:112px;height:112px;border:1px solid var(--line);display:grid;place-items:center;font:2.4rem var(--serif);color:var(--sage);transform:rotate(-6deg)}h2{font:400 clamp(3rem,6vw,6rem)/.98 var(--serif);letter-spacing:0}.welcome-copy h2{max-width:760px;margin-bottom:2.2rem}.welcome-copy p{max-width:680px;color:#58625e;margin-bottom:1.2rem}.welcome-copy .lede{font-size:1.23rem;color:var(--ink)}.text-link,.light-link{display:inline-flex;gap:.8rem;align-items:center;margin-top:1.5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid;padding-bottom:.35rem}.text-link svg,.light-link svg{width:16px}.welcome-aside{padding-top:6rem}.aside-number{font:4.5rem var(--serif)}.welcome-aside p{font-size:.8rem;color:#65716b}.welcome-aside hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.stay{background:#e5e9e0}.section-heading{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:3rem;align-items:end;max-width:1400px;margin:0 auto 4rem}.section-heading .eyebrow{align-self:start}.section-heading p:last-child{font-size:.9rem;color:#58625e;max-width:330px}.room-feature{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.45fr .75fr;background:#f7f7f2}.room-image{position:relative;min-height:580px}.room-image img{height:100%;object-fit:cover}.image-count{position:absolute;left:1.5rem;bottom:1.5rem;background:#fff;padding:.5rem .7rem;font-size:.65rem;letter-spacing:.12em}.room-copy{padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}.room-copy h3,.room-card h3{font:400 clamp(2.2rem,4vw,4rem)/1 var(--serif);margin-bottom:1.3rem}.room-copy>p:not(.eyebrow){color:#5b6561}.room-facts{list-style:none;display:flex;flex-wrap:wrap;gap:1.2rem;margin:2rem 0;padding-bottom:2rem;border-bottom:1px solid var(--line)}.room-facts li{font-size:.7rem;display:flex;align-items:center;gap:.4rem}.room-facts svg{width:15px}.rate{display:flex;align-items:center;justify-content:space-between;gap:1rem}.rate span{font-size:.7rem}.rate span strong{font-size:1.1rem}.rate button,.room-card button{border:0;background:var(--ink);color:#fff;padding:.75rem 1rem;display:flex;gap:.5rem;align-items:center;cursor:pointer}.rate button svg,.room-card button svg{width:15px}.room-grid{max-width:1400px;margin:1.5rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(32,62,53,.2)}.room-card{background:#e5e9e0;padding:2.5rem}.room-card>span{display:block;color:var(--coral);font-size:.65rem;margin-bottom:4rem}.room-card>p{font-size:.76rem;color:#65716b;margin-bottom:1rem}.room-card h3{font-size:2.2rem}.room-card>div{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:2rem;display:flex;align-items:center;justify-content:space-between}.room-card strong{font-size:.78rem}.room-card button{width:38px;height:38px;padding:0;justify-content:center}.split-feature{min-height:740px;display:grid;grid-template-columns:1.2fr .8fr;background:var(--pine);color:#fff}.split-feature.spa-feature{grid-template-columns:.8fr 1.2fr;background:#173634}.feature-image{min-height:650px}.feature-image img{height:100%;object-fit:cover}.feature-copy{padding:clamp(3rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-size:clamp(3rem,5vw,5.5rem);margin-bottom:2rem}.feature-copy>p:not(.eyebrow){color:rgba(255,255,255,.7);max-width:540px}.feature-copy dl{margin-top:2rem}.feature-copy dl div{display:grid;grid-template-columns:1fr 1.5fr;border-top:1px solid rgba(255,255,255,.2);padding:1rem 0;font-size:.75rem}.feature-copy dt{color:rgba(255,255,255,.55)}.facility-list{list-style:none;margin-top:2.5rem}.facility-list li{border-top:1px solid rgba(255,255,255,.2);padding:1.1rem 0}.facility-list span{display:inline-block;width:3rem;font-size:.65rem;color:#b6c4b5}.gather{max-width:1500px;margin:auto;display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(3rem,7vw,8rem);align-items:center}.gather-image{min-height:680px}.gather-image img{height:100%;object-fit:cover}.gather-copy h2{margin-bottom:2rem}.gather-copy>p:not(.eyebrow){color:#59635e}.event-specs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2.5rem;padding:1.5rem 0;border-block:1px solid var(--line);gap:1rem}.event-specs strong{font:2.4rem var(--serif);display:block}.event-specs span{font-size:.65rem;color:#67716d}.voices{text-align:center;background:#d9dfd4;min-height:650px;display:flex;flex-direction:column;align-items:center;justify-content:center}.quote-track{display:grid;max-width:1000px}.quote{grid-area:1/1;opacity:0;pointer-events:none;transform:translateY(10px);transition:.4s}.quote.active{opacity:1;pointer-events:auto;transform:none}.quote blockquote{font:400 clamp(2.2rem,4.5vw,4.8rem)/1.15 var(--serif)}.quote figcaption{margin-top:2rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}.quote-controls{display:flex;align-items:center;gap:1.2rem;margin-top:3rem}.quote-controls button{width:40px;height:40px;border:1px solid var(--line);background:transparent;display:grid;place-items:center;cursor:pointer}.quote-controls svg{width:16px}.quote-controls span{font-size:.68rem;letter-spacing:.12em}.island{max-width:1400px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,10vw,10rem)}.island>div:last-child{padding-top:2rem;color:#58625e}.hotel-footer{background:#142820;color:#fff;padding:5rem clamp(1.5rem,6vw,6rem) 2rem;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:3rem}.footer-wordmark span{font:2.7rem var(--serif)}.hotel-footer h3{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:1.2rem;color:#aab7ad}.hotel-footer a,.hotel-footer p,.hotel-footer div>span{display:block;font-size:.78rem;color:rgba(255,255,255,.66);margin-bottom:.5rem}.footer-note{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:1.5rem;margin-top:2rem;font-size:.6rem!important}.booking-dialog{width:min(760px,calc(100% - 2rem));max-height:calc(100svh - 2rem);border:0;padding:clamp(2rem,5vw,4.5rem);background:var(--paper);color:var(--ink);overflow:auto}.booking-dialog::backdrop{background:rgba(10,23,18,.76);backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:1rem;top:1rem;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;cursor:pointer}.dialog-close svg{width:18px}.booking-head h2,.booking-success h2{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1rem}.booking-head>p:last-child{color:#65716b;font-size:.82rem;max-width:560px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.booking-grid label{padding:1rem;border:1px solid var(--line);display:flex;flex-direction:column}.booking-total{border-block:1px solid var(--line);padding:1.25rem 0;display:flex;justify-content:space-between;text-align:right}.booking-total>div:first-child{text-align:left}.booking-total span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#68736e}.booking-total strong{font:1.5rem var(--serif)}.booking-error{min-height:1.5em;color:#9c301e;font-size:.75rem;margin:.8rem 0}.confirm-booking{width:100%;min-height:56px}.booking-success{text-align:center;padding:3rem 0 1rem}.booking-success>svg{width:45px;height:45px;color:var(--coral);margin-bottom:1.5rem}.booking-success p:not(.eyebrow){color:#65716b;margin-bottom:2rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.hotel-header{height:72px;grid-template-columns:1fr auto}.desktop-nav,.header-book{display:none}.menu-toggle{display:grid;place-items:center;justify-self:end;border:0;background:transparent;color:inherit;width:44px;height:44px}.mobile-nav{display:flex;position:fixed;top:72px;left:0;right:0;bottom:0;background:var(--paper);color:var(--ink);padding:3rem 1.5rem;flex-direction:column;gap:1.5rem;transform:translateX(100%);transition:.3s}.mobile-nav.open{transform:none}.mobile-nav a{font:2.4rem var(--serif)}.mobile-nav button{margin-top:auto;background:var(--coral);border:0;color:#fff;padding:1rem}.hero{height:88svh;min-height:590px}.hero h1{font-size:clamp(3.5rem,15vw,6rem)}.availability{grid-template-columns:1fr 1fr}.availability label:nth-child(3){border-top:1px solid var(--line)}.availability button{min-height:78px}.welcome{grid-template-columns:1fr}.welcome-mark{display:none}.welcome-aside{padding-top:0;max-width:220px}.section-heading{grid-template-columns:1fr}.room-feature,.split-feature,.split-feature.spa-feature,.gather{grid-template-columns:1fr}.room-image,.gather-image{min-height:480px}.room-grid{grid-template-columns:1fr}.split-feature .feature-image{min-height:560px}.spa-feature .feature-copy{order:2}.hotel-footer{grid-template-columns:1fr 1fr}.footer-wordmark{grid-column:1/-1}}
@media(max-width:600px){.hero-copy{left:1.25rem;right:1.25rem;bottom:6rem}.hero-copy>p:last-child{font-size:.88rem}.hero-scroll{display:none}.availability-wrap{padding:0 .75rem;margin:-34px auto 0}.availability{grid-template-columns:1fr 1fr}.availability label{padding:1rem;border-bottom:1px solid var(--line)}.availability label:nth-child(3),.availability button{grid-column:1/-1}.availability button{min-height:60px}.section{padding:5rem 1.25rem}.welcome-copy .lede{font-size:1.05rem}.section-heading{gap:1rem}.room-image,.gather-image{min-height:340px}.room-copy,.room-card{padding:1.5rem}.rate{align-items:flex-start;flex-direction:column}.rate button{width:100%;justify-content:center}.split-feature{min-height:0}.split-feature .feature-image{min-height:400px}.feature-copy{padding:4.5rem 1.25rem}.gather{gap:2.5rem}.event-specs{grid-template-columns:1fr 1fr}.quote blockquote{font-size:2.15rem}.island{grid-template-columns:1fr}.hotel-footer{grid-template-columns:1fr}.footer-wordmark{grid-column:auto}.booking-grid{grid-template-columns:1fr}.booking-dialog{padding:3.5rem 1.25rem 1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.quote{transition:none}}
.booking-dialog{margin:auto}
