:root{--wine:#342b27;--wine-deep:#211d1a;--clay:#ad7354;--rose:#d0a589;--sand:#eee5d8;--ivory:#f8f3e9;--ink:#3b332d;--muted:#82776b;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.65}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #bd8869;outline-offset:4px}
.skip-link{position:absolute;z-index:10;left:1rem;top:-5rem;background:#fff;padding:.7rem 1rem;color:#111}.skip-link:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hotel-header{position:sticky;top:0;z-index:5;background:var(--ivory);border-bottom:1px solid #e5dbce}
.hotel-header-inner,.hotel-wrap{max-width:1240px;margin:auto;padding-left:5%;padding-right:5%}
.hotel-header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between}
.hotel-brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--wine);font:1.05rem var(--serif);line-height:1.15}.hotel-brand strong{display:block;font-weight:400;letter-spacing:.04em}.hotel-brand small{display:block;margin-top:.3rem;font: .58rem var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#927560}
.hotel-monogram{width:41px;height:41px;border:1px solid #a17b60;border-radius:50%;display:grid;place-items:center;font:italic 14px var(--serif);color:#93694d}
.hotel-nav{display:flex;gap:2rem;align-items:center}.hotel-nav a{text-decoration:none;font-size:.75rem;color:#65594f}.hotel-nav a:hover{color:#a66e50}.hotel-nav .nav-contact{border:1px solid #b99c83;padding:.63rem 1rem;color:#533f32}
.menu-toggle{display:none;border:0;background:none;color:var(--wine);padding:.6rem}.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:23px;height:1px;background:currentColor;position:relative}.menu-lines:before,.menu-lines:after{content:"";position:absolute;left:0}.menu-lines:before{top:-7px}.menu-lines:after{top:7px}
.hotel-hero{position:relative;overflow:hidden;min-height:660px;display:flex;align-items:center;padding:5rem max(8%,calc((100vw - 1120px)/2));background:var(--wine-deep);color:var(--ivory)}
.hotel-hero-bg{position:absolute;inset:0;overflow:hidden;background:linear-gradient(110deg,#211d1a 0%,#382d27 53%,#614637 100%)}
.hotel-hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,29,26,.98),rgba(33,29,26,.83) 45%,rgba(33,29,26,.15) 100%)}
.hero-moon{position:absolute;top:11%;right:17%;width:28%;aspect-ratio:1;border-radius:50%;background:#c89a70;box-shadow:0 0 100px #d5ab8055}
.mountain{position:absolute;bottom:0;right:-4%;width:78%;height:67%;clip-path:polygon(0 100%,20% 39%,35% 64%,59% 9%,77% 55%,90% 28%,100% 46%,100% 100%);background:linear-gradient(155deg,#78604b,#3e342c)}
.mountain-far{right:19%;height:49%;width:69%;opacity:.65;background:#90735a;clip-path:polygon(0 100%,24% 43%,39% 69%,59% 19%,76% 57%,89% 31%,100% 48%,100% 100%)}
.mountain-near{background:linear-gradient(160deg,#584538,#292420)}
.lodge-shape{position:absolute;z-index:1;right:19%;bottom:0;width:32%;height:43%;background:#332821;clip-path:polygon(0 38%,50% 0,100% 38%,100% 100%,0 100%);border-top:1px solid #d1a77f}
.lodge-shape:before{content:"";position:absolute;left:42%;top:43%;width:18%;height:57%;background:#bd8c63}
.lodge-shape i,.lodge-shape b{position:absolute;top:45%;width:14%;height:19%;background:#d5ad81}.lodge-shape i{left:17%}.lodge-shape b{right:17%}
.hotel-hero-copy{position:relative;z-index:2;max-width:570px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.17em;font-size:.65rem;color:#d0a987}.eyebrow{display:flex;align-items:center;gap:.8rem;margin:0 0 1.5rem}.eyebrow span{width:30px;height:1px;background:#c28d68}
.hotel-hero h1{font:clamp(3.7rem,8vw,7.1rem)/.97 var(--serif);letter-spacing:-.06em;font-weight:400;margin:0}.hotel-hero h1 em{color:#d4ad8c;font-weight:400}
.hotel-hero-copy>p:not(.eyebrow){max-width:410px;color:#ded3c7;font:1rem/1.8 var(--serif);margin:1.5rem 0 1.9rem}
.hotel-button{display:inline-flex;align-items:center;gap:1.8rem;padding:.95rem 1.2rem;border:1px solid #b99070;color:#f7eddf;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;transition:background .2s,transform .2s}.hotel-button:hover{background:#694d3d;transform:translateY(-2px)}
.hero-side-note{position:absolute;right:5%;bottom:2rem;writing-mode:vertical-rl;color:#d0ad8e;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem}
.hotel-intro{padding:6.5rem 0 6rem;text-align:center;background:var(--sand)}.intro-inner{max-width:900px}.section-kicker{color:#9e7359;margin:0 0 1.2rem}
.hotel-intro h2,.experience-copy h2,.dining-copy h2,.welcome h2,.contact-section h2{font:clamp(2.7rem,5.4vw,4.9rem)/1.05 var(--serif);letter-spacing:-.045em;font-weight:400;margin:0}
.hotel-intro h2 em,.experience-copy h2 em,.dining-copy h2 em,.welcome h2 em,.contact-section h2 em{font-weight:400;color:#a8785b}
.hotel-intro .intro-inner>p:last-child{max-width:630px;margin:1.5rem auto 0;color:#776c61;font:1rem/1.85 var(--serif)}
.experience{padding:6.5rem 0}.experience-grid,.dining-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.experience-art{position:relative;min-height:430px;overflow:hidden}.stay-art{background:linear-gradient(145deg,#b8906e,#604638)}
.art-sun{position:absolute;width:35%;aspect-ratio:1;border-radius:50%;background:#e4c59f;top:10%;right:14%}.room-arch{position:absolute;left:17%;bottom:-18%;width:66%;height:86%;border-radius:50% 50% 0 0;background:#4d3b31;border:1px solid #e5c6a0;box-shadow:inset 0 0 0 13px #6a4d39,inset 0 0 0 14px #d3aa7e}.room-bed{position:absolute;z-index:1;left:27%;bottom:10%;width:47%;height:22%;background:#d7c3a5;border-radius:40% 40% 0 0;box-shadow:0 12px 0 #8e6d52}.room-bed:after{content:"";position:absolute;left:16%;top:-27%;width:34%;height:40%;background:#eee1c8;border-radius:50%}
.art-label{position:absolute;z-index:2;left:1.3rem;top:1.2rem;font:italic .9rem var(--serif);color:#fff4e5}
.experience-copy{max-width:460px}.experience-copy h2,.dining-copy h2{font-size:clamp(3rem,5vw,4.7rem);margin-bottom:1.3rem}.experience-copy>p:not(.section-kicker),.dining-copy>p:not(.section-kicker){font-size:.86rem;color:#74695f;max-width:440px}.hotel-text-link{display:inline-flex;align-items:center;gap:.8rem;margin-top:.8rem;padding-bottom:.35rem;border-bottom:1px solid #b18b6e;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:#684d3c}
.dining{padding:6.5rem 0;background:#eee3d5}.dining-copy{order:1}.dining-art{order:2;background:linear-gradient(145deg,#bb9b7c,#64473a)}
.table-sun{position:absolute;width:63%;aspect-ratio:1;border-radius:50%;background:#ddc5a5;left:19%;top:10%}.plate{position:absolute;z-index:1;border-radius:50%;border:1px solid #f2e7d5;background:#d7c4a8;box-shadow:inset 0 0 0 10px #a98664,inset 0 0 0 11px #f2e7d5}.plate-one{width:46%;aspect-ratio:1;left:28%;top:26%}.plate-two{width:33%;aspect-ratio:1;left:35%;top:33%;background:#eee0c7;box-shadow:inset 0 0 0 7px #c19b72,inset 0 0 0 8px #eee0c7}.stem{position:absolute;z-index:2;width:3px;height:35%;background:#778066;transform:rotate(35deg);border-radius:100%}.stem-one{left:22%;top:30%}.stem-two{right:24%;top:43%;transform:rotate(-28deg);background:#8c6950}
.welcome{position:relative;overflow:hidden;background:#493a32;color:#f6efe4;padding:6.5rem 0}.welcome-inner{position:relative;z-index:1}.welcome .section-kicker{color:#d4ab8a}.welcome h2{font-size:clamp(3.2rem,6vw,5.5rem)}.welcome h2 em{color:#ddb697}.welcome-bottom{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-top:2rem}.welcome-bottom p{max-width:480px;color:#d7c9bb;font:1rem/1.8 var(--serif);margin:0}.hotel-button-light{background:#e4d3bf;color:#3b3028;border-color:#e4d3bf;white-space:nowrap}.hotel-button-light:hover{background:#f0e4d4}.welcome-ornament{position:absolute;right:7%;top:-45%;width:37vw;aspect-ratio:1;border:1px solid #be967455;border-radius:50%;box-shadow:inset 0 0 0 18px #493a32,inset 0 0 0 19px #be967455}
.contact-section{padding:6.5rem 0;background:#f8f3e9}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.contact-section h2{font-size:clamp(3rem,5vw,4.8rem)}.contact-intro{max-width:430px;color:#756b62;font-size:.85rem;margin:1.3rem 0 1.6rem}.contact-section .hotel-button{background:#493a32;border-color:#493a32}.contact-details{border-top:1px solid #d7c9b8}.contact-details>div{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid #d7c9b8}.contact-details>div span{color:#8a7461;text-transform:uppercase;font-size:.66rem;letter-spacing:.1em}.contact-details>div p{margin:0;color:#5e5147;font-size:.82rem}.placeholder{color:#986d50!important}.contact-note{font-size:.68rem;color:#928679;line-height:1.6;margin-top:1.1rem}
.hotel-footer{background:#211d1a;color:#f2eade}.hotel-footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;padding-top:3.5rem;padding-bottom:3rem}.hotel-footer-brand>p{max-width:230px;margin:1rem 0 0;color:#bcb0a2;font:italic 1rem var(--serif)}.hotel-footer-col h2{font:1rem var(--serif);margin:0 0 .9rem}.hotel-footer-col a,.hotel-footer-col p{display:block;color:#bdb2a4;text-decoration:none;font-size:.73rem;margin:.45rem 0}.hotel-footer-col a:hover,.hotel-footer-bottom a:hover{color:#dab596}.hotel-footer-col .placeholder,.hotel-footer-bottom .placeholder{color:#c4a185}.hotel-footer-bottom{border-top:1px solid #494039;display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;padding-bottom:1.2rem;font-size:.67rem;color:#a99e91}.hotel-footer-bottom a{color:#dec3a7;text-decoration:none}
@media(max-width:850px){.hotel-hero-bg:after{background:linear-gradient(90deg,rgba(33,29,26,.98),rgba(33,29,26,.82) 57%,rgba(33,29,26,.35))}.experience-grid,.dining-grid{gap:5%}.experience-art{min-height:360px}.hotel-footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.hotel-header-inner{min-height:68px}.menu-toggle{display:block}.hotel-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:1rem 5% 1.4rem;border-top:1px solid #e5dbce;flex-direction:column;align-items:stretch;gap:0}.hotel-nav.is-open{display:flex}.hotel-nav a{padding:.85rem 0}.hotel-nav .nav-contact{text-align:center;margin-top:.4rem}.menu-toggle[aria-expanded=true] .menu-lines{background:transparent}.menu-toggle[aria-expanded=true] .menu-lines:before{top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{top:0;transform:rotate(-45deg)}.hotel-hero{min-height:640px;padding:5rem 7% 6rem;align-items:flex-start}.hotel-hero h1{font-size:clamp(3.5rem,16vw,5.8rem)}.hotel-hero-bg:after{background:linear-gradient(90deg,rgba(33,29,26,.97),rgba(33,29,26,.83) 65%,rgba(33,29,26,.46))}.hero-moon{right:-4%;top:35%;width:60%;opacity:.7}.lodge-shape{right:-4%;width:60%;height:36%}.hero-side-note{right:4%;font-size:.55rem}.hotel-intro,.experience,.dining,.welcome,.contact-section{padding:4.5rem 0}.hotel-intro h2{font-size:2.7rem}.experience-grid,.dining-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.experience-art{min-height:320px;order:0}.experience-copy,.dining-copy{order:1}.dining-art{order:0}.experience-copy h2,.dining-copy h2{font-size:3.4rem}.welcome h2{font-size:3.5rem}.welcome-bottom{display:block}.welcome-bottom p{margin-bottom:1.5rem}.welcome-ornament{right:-30%;top:0;width:70vw}.contact-section h2{font-size:3.5rem}.contact-details>div{grid-template-columns:.8fr 1.2fr}.hotel-footer-top{grid-template-columns:1fr 1fr;gap:2rem 1rem;padding-top:3rem}.hotel-footer-brand{grid-column:1/-1}.hotel-footer-bottom{flex-direction:column}}
@media(max-width:620px){.menu-toggle{display:none}.js .menu-toggle{display:block}.hotel-nav{display:flex}.js .hotel-nav{display:none}.js .hotel-nav.is-open{display:flex}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
