:root{--cream:#f4f0e8;--paper:#faf8f3;--ink:#292721;--muted:#726d63;--line:#d6d0c4;--rust:#aa633f;--deep:#293a34;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%}h1,h2,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.047em}h2{font-size:clamp(3rem,5.4vw,6.2rem);line-height:1.08}h2 em,.quote-section em{font-weight:400}p{line-height:1.7}.shell{width:min(100% - 96px,1440px);margin-inline:auto}.section-space{padding-block:125px}.skip-link{position:fixed;left:14px;top:-80px;background:#fff;padding:12px;z-index:99}.skip-link:focus{top:14px}.concept-ribbon{height:30px;display:grid;place-items:center;background:var(--deep);color:#e7e3d7;text-transform:uppercase;letter-spacing:.2em;font-size:9px;font-weight:700}.site-header{height:84px;display:flex;align-items:center;gap:30px;padding:0 48px;position:relative;background:var(--paper);z-index:20}.brand{display:flex;align-items:center;gap:12px;min-width:248px}.brand-mark{width:35px;height:35px;border:1px solid #9c8a76;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:23px;line-height:1;padding-bottom:3px}.brand-text,.footer-logo{font-family:var(--serif);font-size:25px;letter-spacing:-.05em}.desktop-nav{display:flex;align-items:center;gap:39px;margin:auto;font-size:12px;font-weight:600}.desktop-nav a{transition:color .2s}.desktop-nav a:hover,.footer a:hover{color:var(--rust)}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;border:1px solid transparent;padding:17px 25px;white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.01em;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:18px;font-weight:400;line-height:.5}.button-dark{background:var(--deep);color:#fff}.button-dark:hover{background:#46574b}.button-accent{background:var(--rust);color:#fff;min-height:64px}.button-accent:hover{background:#8e5031}.button-light{background:var(--paper);color:var(--ink)}.menu-toggle,.mobile-nav{display:none}.hero{height:min(735px,calc(100svh - 114px));min-height:560px;color:#fff;position:relative;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center 55%}.hero-shade{background:linear-gradient(90deg,rgba(18,29,29,.64) 0%,rgba(21,32,31,.27) 60%,rgba(21,32,31,.13) 100%),linear-gradient(0deg,rgba(9,20,20,.3),transparent 40%)}.hero-content{position:relative;z-index:1;padding-top:clamp(110px,17vh,175px)}.eyebrow,.section-label,.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:700}.hero-eyebrow{display:flex;align-items:center;gap:13px;color:#f3e6d9}.tiny-line,.section-dash{display:inline-block;height:1px;width:34px;background:currentColor}.hero h1{white-space:pre-line;font-size:clamp(5rem,8.3vw,9.6rem);line-height:.99;max-width:800px;margin:25px 0 26px}.hero-content p{max-width:460px;font-size:16px;line-height:1.7;color:#f1eee8;margin-bottom:30px}.text-link{display:inline-flex;gap:36px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:9px;font-size:12px;font-weight:700}.text-link span{font-size:19px;font-weight:400;line-height:.5}.text-link-light{color:#fff}.hero-side-note{position:absolute;right:45px;top:50%;z-index:1;writing-mode:vertical-rl;font-size:10px;text-transform:uppercase;letter-spacing:.2em}.hero-scroll{position:absolute;bottom:38px;left:max(48px,calc((100vw - 1440px)/2));z-index:1;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.hero-scroll span{margin-left:13px;font-size:18px;vertical-align:-2px}.booking-section{position:relative;z-index:5;margin-top:-43px}.booking-card{background:var(--paper);box-shadow:0 18px 60px rgba(45,39,28,.11);padding:22px 26px 22px 34px;display:grid;grid-template-columns:1.1fr 3fr;align-items:center;gap:25px}.booking-heading{display:flex;flex-direction:column;gap:7px}.kicker{color:var(--rust);font-size:9px}.booking-heading strong{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:-.04em}.booking-form{display:grid;grid-template-columns:1fr 1fr .8fr auto;gap:0;align-items:stretch}.booking-form label{border-left:1px solid var(--line);padding:9px 20px;display:flex;flex-direction:column;gap:7px;min-width:0}.booking-form label span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted)}.booking-form input,.booking-form select{width:100%;border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:600;outline-offset:4px;min-height:25px}.booking-form .button{padding:15px 22px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,10vw,170px);align-items:center;padding-top:150px}.section-label{display:flex;align-items:center;gap:15px;color:var(--rust)}.intro h2{margin:35px 0 30px;max-width:550px}.intro-copy{padding-left:clamp(0px,4vw,60px)}.large-copy{font-size:17px;color:#625e55;max-width:460px;line-height:1.85;margin-bottom:35px}.intro-image-wrap{position:relative;height:590px}.intro-image-wrap img{height:100%;object-fit:cover}.image-stamp{position:absolute;bottom:-34px;left:-43px;border-radius:50%;background:#d2ad87;color:#363127;width:125px;height:125px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;line-height:1.35;font-weight:700;letter-spacing:.15em;transform:rotate(-12deg)}.image-stamp span{font-size:23px;margin-left:5px}.rooms-section{background:#e9e5dc;overflow:hidden}.section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.section-top h2{margin:31px 0 0}.section-top-side{max-width:320px;padding-bottom:8px}.section-top-side p{color:var(--muted);font-size:14px}.room-controls{display:flex;gap:10px;margin-top:25px}.room-controls button{width:41px;height:41px;border:1px solid #aaa49a;background:transparent;color:var(--ink);border-radius:50%;font-size:18px}.room-controls button:hover{background:var(--ink);color:#fff}.room-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-left:max(48px,calc((100vw - 1440px)/2));padding-right:48px}.room-track::-webkit-scrollbar{display:none}.room-card{background:var(--paper);flex:0 0 min(31vw,455px);min-width:330px;scroll-snap-align:start}.room-card img{height:350px;object-fit:cover}.room-card-body{padding:27px 30px 31px}.room-type{color:var(--rust);font-size:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:700}.room-card-body h3{font-family:var(--serif);font-size:30px;letter-spacing:-.04em;font-weight:400;margin:11px 0}.room-card-body p{font-size:13px;color:var(--muted);margin-bottom:22px}.room-card-body a{display:inline-flex;gap:20px;font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px}.rooms-foot{display:flex;justify-content:space-between;align-items:center;margin-top:40px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.rooms-foot .text-link{text-transform:none;letter-spacing:normal;color:var(--ink)}.experience{display:grid;grid-template-columns:1fr 1fr;min-height:760px;padding:0}.experience-image{min-height:760px}.experience-image img{height:100%;object-fit:cover}.experience-content{background:#303e36;color:var(--paper);padding:clamp(70px,8vw,145px) clamp(60px,8vw,130px);display:flex;flex-direction:column;justify-content:center}.experience-content .section-label{color:#d6b695}.experience-content h2{font-size:clamp(2.8rem,4.5vw,5rem);margin:33px 0 22px}.experience-content>p{font-size:15px;color:#d6ddd2;max-width:470px}.feature-list{margin-top:30px;border-top:1px solid #66736a}.feature{display:grid;grid-template-columns:45px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid #66736a}.feature-number{font-family:var(--serif);color:#d8b89a;font-size:16px}.feature h3{font-size:13px;margin:0 0 4px}.feature p{font-size:12px;color:#c8d0c7;margin:0;line-height:1.5}.quote-section{text-align:center;padding-block:125px}.asterisk{font-size:45px;color:var(--rust)}.quote-section p{font-family:var(--serif);font-size:clamp(3rem,5.6vw,6rem);line-height:1.25;letter-spacing:-.05em;margin:15px 0 26px}.quote-caption{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--muted);text-transform:uppercase}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.faq-section h2{margin:30px 0 20px}.faq-intro{color:var(--muted);font-size:15px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-family:var(--sans);font-size:23px;font-weight:400;color:var(--rust);line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list details p{color:var(--muted);font-size:13px;line-height:1.8;max-width:540px;margin:17px 35px 0 0}.closing{position:relative;min-height:560px;color:#fff;display:flex;align-items:center}.closing>img,.closing-overlay{position:absolute;inset:0;width:100%;height:100%}.closing>img{object-fit:cover;object-position:center 60%}.closing-overlay{background:linear-gradient(90deg,rgba(20,32,27,.78),rgba(20,32,27,.16))}.closing-content{position:relative;z-index:1}.closing-content .section-label{color:#e2c5a7}.closing-content h2{max-width:720px;margin:28px 0 15px}.closing-content p{max-width:460px;color:#e8e7df;margin-bottom:28px}.footer{background:#242c27;color:#f3f0e8;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:50px}.footer-logo{font-size:32px}.footer-grid p,.footer-grid a:not(.footer-logo){font-size:12px;color:#c8cec5}.footer-grid p{max-width:240px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:start;gap:10px}.footer-heading{font-size:10px;color:#d3b89e;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin-bottom:12px}.footer-cta{border-bottom:1px solid #b3b9b0;padding-bottom:6px;margin-top:4px}.footer-muted{font-size:12px;color:#acb4a9}.footer-bottom{border-top:1px solid #566258;margin-top:80px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;color:#aeb8ac;font-size:10px}.footer-bottom a{color:#e3e7dc}dialog{border:0;max-width:440px;width:calc(100% - 36px);padding:43px;background:var(--paper);color:var(--ink);box-shadow:0 25px 80px #1720194d}dialog::backdrop{background:rgba(20,29,24,.7)}dialog h2{font-size:38px;margin:8px 0 15px}.dialog-icon{font-size:34px;color:var(--rust)}.dialog-close{position:absolute;right:18px;top:13px;background:none;border:0;font-size:28px}.dialog-note{font-size:13px;color:var(--muted)}dialog code{font-size:12px}.dialog-done{margin-top:10px}@media(max-width:1100px){.site-header{padding-inline:28px}.brand{min-width:190px}.desktop-nav{gap:18px}.booking-card{grid-template-columns:1fr}.booking-form label:first-child{border-left:0}.experience-content{padding:70px 55px}.experience-image{min-height:690px}}@media(max-width:760px){.shell{width:min(100% - 40px,540px)}.section-space{padding-block:82px}.site-header{height:70px;padding:0 20px}.brand{min-width:0;margin-right:auto}.brand-text{font-size:22px}.desktop-nav,.header-book{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;background:transparent;border:0}.menu-toggle span{width:23px;height:1px;background:var(--ink);transition:transform .2s}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;position:absolute;top:70px;left:0;right:0;min-height:calc(100svh - 100px);background:var(--paper);padding:40px 26px;flex-direction:column;gap:26px;font-family:var(--serif);font-size:26px}.mobile-nav a:last-child{color:var(--rust)}.hero{height:680px;min-height:0}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(19,27,27,.7),rgba(19,27,27,.15)),linear-gradient(0deg,rgba(19,27,27,.35),transparent 50%)}.hero-content{padding-top:125px}.hero h1{font-size:clamp(4.6rem,17vw,7rem)}.hero-content p{font-size:14px;max-width:330px}.hero-side-note{right:14px;font-size:9px}.hero-scroll{left:20px;bottom:67px}.booking-section{margin-top:-35px}.booking-card{padding:23px;gap:16px}.booking-form{grid-template-columns:1fr 1fr;gap:10px}.booking-form label{border:1px solid var(--line);padding:10px}.booking-form label:first-child{border:1px solid var(--line)}.booking-form label:nth-child(3){grid-column:1 / 2}.booking-form .button{grid-column:2 / 3;font-size:11px;gap:8px;padding:10px}.intro{display:flex;flex-direction:column;gap:60px;padding-top:100px}.intro-copy{padding-left:0}.intro h2,.section-top h2,.faq-section h2{margin-top:25px}.large-copy{font-size:15px}.intro-image-wrap{height:440px;width:calc(100% - 18px);margin-left:18px}.image-stamp{left:-32px;width:100px;height:100px;font-size:9px}.section-top{display:block}.section-top-side{max-width:none}.room-controls{margin-top:14px}.room-track{padding-left:20px;padding-right:20px;gap:14px}.room-card{flex-basis:82vw;min-width:0}.room-card img{height:270px}.rooms-foot{gap:25px}.experience{display:flex;flex-direction:column}.experience-image{height:410px;min-height:0}.experience-content{padding:75px 25px}.experience-content h2{font-size:clamp(3rem,10vw,4.4rem)}.quote-section{padding-block:90px}.faq-section{display:block}.faq-list{margin-top:35px}.closing{min-height:510px}.footer-grid{grid-template-columns:1fr 1fr;gap:45px 25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;margin-top:65px;line-height:1.6}.footer-bottom span:nth-child(2){width:100%;order:3}}@media(max-width:420px){.booking-form{grid-template-columns:1fr 1fr}.booking-form .button{font-size:10px}.booking-form input,.booking-form select{font-size:11px}.booking-heading strong{font-size:20px}.room-card{flex-basis:85vw}.footer-grid{grid-template-columns:1fr 1fr}}
