@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#202522;--muted:#666d67;--gold:#d7b574;--gold-light:#ead0a0;--dark:#171c19;--line:#e1e4df;--paper:#fff;--soft:#f6f7f4;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65}body:has(dialog[open]){overflow:hidden}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{color:inherit}button:disabled{cursor:wait;opacity:.65}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.035em}h2{font-size:clamp(2.2rem,4vw,3.6rem);margin-bottom:1.3rem}h1 em,h2 em{font-weight:400}h3{line-height:1.3}p{margin-bottom:1.1rem}small{font-size:.875rem}.wrap{max-width:1320px;width:calc(100% - 112px);margin-inline:auto}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.17em;margin-bottom:1.3rem;color:#816128}.eyebrow.light{color:var(--gold-light)}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.7rem;min-height:52px;padding:.9rem 1.45rem;font-weight:600;font-size:.9375rem;line-height:1.4;border:1px solid transparent;border-radius:3px;transition:background .2s,color .2s,transform .2s}.button span[aria-hidden]{font-size:1.3rem;line-height:1}.button-gold{color:var(--dark);background:var(--gold)}.button-gold:hover{background:var(--gold-light)}.button-dark{color:#fff;background:var(--dark)}.button-dark:hover{background:#344039}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:0 0 .35rem;border:0;border-bottom:1px solid #bbbfb7;background:transparent;font-size:.9375rem;font-weight:500;line-height:1.6}.text-link:hover{border-color:var(--ink)}.text-link.light{color:#fff;border-color:#b9bfb680}.text-link.light:hover{border-color:var(--gold)}:focus-visible{outline:3px solid #a8792b;outline-offset:5px}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;padding:1rem;background:white;color:black}.skip-link:focus{top:10px}.site-header{background:var(--dark);color:#fff;position:relative;z-index:5}.header-inner{max-width:1440px;margin:auto;padding:1.3rem 56px;display:flex;justify-content:space-between;align-items:center;gap:2rem}.wordmark{display:flex;flex-direction:column;align-items:center;color:var(--gold-light);min-width:158px}.wordmark>span{font-family:var(--serif);font-size:2.15rem;letter-spacing:.06em;line-height:1.03}.wordmark small{letter-spacing:.32em;font-size:.75rem;line-height:2.05}.site-header nav{display:flex;align-items:center;gap:2.5rem;font-size:.9375rem}.site-header nav>a:not(.button){border-bottom:1px solid transparent}.site-header nav>a:not(.button):hover{border-color:var(--gold)}.menu-toggle{display:none}.hero{position:relative;min-height:660px;display:flex;align-items:center;color:#fff;background:#292c25;isolation:isolate}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,19,14,.86) 0%,rgba(12,22,15,.53) 45%,rgba(10,19,14,.06) 80%),linear-gradient(0deg,rgba(10,18,12,.32),transparent 60%)}.hero-content{padding-block:65px 145px}.hero h1{font-size:clamp(3.3rem,5.2vw,5.2rem);line-height:1.1;margin-bottom:1.6rem;max-width:1050px}.hero h1 em{color:#f1d5a2}.hero-intro{font-size:1.125rem;line-height:1.7;color:#ecefe8;max-width:590px;margin-bottom:2rem}.hero-caption{position:absolute;right:56px;bottom:108px;display:flex;align-items:center;gap:1rem;font-size:.75rem;letter-spacing:.17em;color:#fff}.hero-caption i{width:4px;height:4px;border-radius:50%;background:var(--gold)}.search-wrap{position:relative;margin-top:-64px;z-index:2;scroll-margin-top:100px}.search-card{background:#fff;padding:1.8rem 2rem 1rem;box-shadow:0 14px 60px #1d2b1920;border:1px solid #e8ebe4}.search-card form{display:grid;grid-template-columns:1fr 1fr .65fr 1.15fr;gap:1.5rem;align-items:end}.search-field{border-right:1px solid var(--line);padding-right:1.5rem;min-width:0}.search-field label{display:block;text-transform:uppercase;font-size:.875rem;font-weight:700;letter-spacing:.09em;color:#656c65}.search-field input{width:100%;min-width:0;min-height:46px;padding:.3rem 0;color:var(--ink);border:0;background:transparent;font-size:1.125rem}.search-card input:focus-visible{outline-offset:0}.search-button{height:60px;white-space:nowrap}.search-card #search-note{font-size:.8125rem;margin:.65rem 0 0;color:var(--muted)}.intro-section{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-block:115px 70px}.intro-heading h2{font-size:clamp(3rem,4.9vw,4.6rem);margin-bottom:0}.intro-copy{padding-top:2.3rem;max-width:570px}.intro-copy p{color:var(--muted)}.intro-copy .large-copy{font-size:1.3rem;line-height:1.55;color:var(--ink);margin-bottom:1.4rem}.intro-copy .text-link{margin-top:.7rem}.amenities{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:110px}.amenities>div{padding:2.1rem 1.8rem 2rem;border-right:1px solid var(--line)}.amenities>div:first-child{padding-left:0}.amenities>div:last-child{border-right:0}.amenity-number{color:#84652f;font-size:.8125rem;display:block;margin-bottom:1rem;letter-spacing:.1em}.amenities h3{font-size:1.0625rem;font-weight:500;margin:0 0 .45rem}.amenities p{font-size:.9375rem;color:var(--muted);margin:0}.stay-story{display:grid;grid-template-columns:1.05fr 1fr;background:var(--dark);color:white}.story-image{min-height:500px}.story-image img{width:100%;height:100%;object-fit:cover}.story-copy{max-width:670px;align-self:center;padding:75px 12%}.story-copy h2{font-size:clamp(2.3rem,3.5vw,3.5rem)}.story-copy h2 em{color:var(--gold-light)}.story-copy p:not(.eyebrow){color:#c3cac3;max-width:390px}.story-copy .text-link{margin-top:1rem}.gallery-section{padding-block:110px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.section-heading h2{margin:0}.section-heading p:last-child:not(.eyebrow){margin:1rem 0 0;color:var(--muted)}.section-heading>.text-link{flex-shrink:0;margin-bottom:.25rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-tile{position:relative;border:0;padding:0;background:var(--dark);overflow:hidden;aspect-ratio:1.38;color:#fff;text-align:left;border-radius:1px}.gallery-tile>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-tile:hover>img{transform:scale(1.035)}.gallery-tile>span{position:absolute;inset:auto 0 0;padding:2.5rem 1.1rem 1rem;background:linear-gradient(transparent,#061008ba);font-size:.9375rem;display:flex;justify-content:space-between;gap:1rem}.film-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:center;padding-block:110px}.film-copy p:not(.eyebrow){color:var(--muted);max-width:320px}.film-label{display:block;font-size:.75rem;letter-spacing:.15em;margin-top:2.7rem;color:#74796f}.film-player video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--dark)}.island-section{background:#242e27;color:#fff;position:relative}.island-inner{padding-block:75px;display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:center}.island-inner h2{margin-bottom:0}.island-inner h2 em{color:var(--gold-light)}.island-inner>div>p:not(.eyebrow){color:#cbd4ca;max-width:450px}.island-inner .button{margin-top:.75rem}.property-address{white-space:normal}.site-footer{background:var(--dark);color:#b5beb5;padding-top:50px;font-size:.875rem}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-bottom:45px}.footer-top>p{font-family:var(--serif);font-size:1.4rem;font-style:italic;color:var(--gold-light);margin:0}.footer-contact{display:flex;flex-direction:column;gap:.3rem;align-items:end}.footer-contact a:hover{color:var(--gold-light)}.footer-bottom{border-top:1px solid #3b443b;display:flex;gap:2rem;padding-block:1.3rem}.footer-bottom>span{margin-right:auto}.footer-bottom a:hover{color:#fff}.no-script{padding:1rem;background:#fff3dc;position:relative;text-align:center}.availability-results{padding-top:70px;scroll-margin-top:30px}.availability-results .section-heading{margin-bottom:1.4rem}.availability-results h2{font-size:2.6rem}.availability-message{padding:1.6rem;background:var(--soft);border:1px solid var(--line);color:var(--ink)}.availability-message.error{background:#fff0e9;border-color:#e6baa8;color:#7e351e}.availability-message h3{font-size:1.1rem;margin-bottom:.6rem}.availability-message p{margin-bottom:0}.room-results{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.available-room{border:1px solid var(--line);display:flex;flex-direction:column}.available-room>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.available-room-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}.available-room-body h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;margin-bottom:.5rem}.available-room-body .room-description{white-space:pre-line;font-size:.9375rem;color:var(--muted)}.available-room-body .room-facts{font-size:.875rem;color:var(--muted);margin-bottom:1rem}.available-room-body .room-price{margin-top:auto;border-top:1px solid var(--line);padding-top:1rem}.room-price strong{font-size:1.25rem;font-weight:500}.room-price small{display:block;color:var(--muted)}.available-room-body .button{width:100%;margin-top:.7rem}.gallery-dialog{width:calc(100% - 60px);max-width:1400px;max-height:calc(100dvh - 40px);background:#111612;color:#fff;padding:20px 28px;border:1px solid #3e493f;border-radius:3px}.gallery-dialog::backdrop,.booking-dialog::backdrop{background:#06110de6;backdrop-filter:blur(5px)}.gallery-toolbar{display:flex;align-items:center;gap:1.4rem;font-size:.9375rem}.gallery-toolbar>span:first-child{margin-right:auto}.icon-button{background:transparent;color:inherit;border:1px solid #7f897e70;border-radius:50%;min-width:44px;width:44px;height:44px;font-size:1.6rem;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}.icon-button:hover{background:#879d811f}.gallery-stage{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;min-height:0}.gallery-stage img{width:calc(100% - 128px);max-height:calc(100dvh - 210px);object-fit:contain;min-width:0}.gallery-stage button{flex-shrink:0}.gallery-dialog #gallery-caption{text-align:center;margin:18px 0 0;color:#d4ddd3}.booking-dialog{border:0;border-radius:5px;width:calc(100% - 40px);max-width:630px;padding:2.3rem 2.6rem;max-height:calc(100dvh - 40px);color:var(--ink);background:#fff}.booking-close{position:absolute;top:20px;right:20px}.booking-dialog .eyebrow{font-size:.75rem;padding-right:40px;margin-bottom:1rem}.booking-dialog h2{font-size:2.8rem;margin-bottom:1.5rem}.booking-summary{background:var(--soft);border:1px solid var(--line);padding:1rem 1.2rem;margin-bottom:1.5rem}.booking-summary h3{font-size:1.05rem;margin-bottom:.5rem}.booking-summary p{font-size:.9375rem;color:var(--muted);margin:0}.booking-summary .summary-price{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.8rem;border-top:1px solid var(--line);padding-top:.8rem;color:var(--ink)}.booking-summary .summary-price strong{font-size:1.2rem;white-space:nowrap}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.booking-fields .full{grid-column:1/-1}.booking-fields label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.35rem}.booking-fields label span{color:var(--muted);font-weight:400}.booking-fields input,.booking-fields textarea{width:100%;padding:.7rem .8rem;border:1px solid #c8cfc6;border-radius:3px;background:white;min-height:46px;resize:vertical;color:var(--ink)}.booking-note{margin-top:1rem;font-size:.875rem;color:var(--muted);white-space:normal;overflow-wrap:anywhere}.consent{display:flex;gap:.65rem;align-items:start;font-size:.875rem;line-height:1.5;margin-block:1rem}.consent input{width:18px;height:18px;accent-color:var(--dark);flex-shrink:0;margin-top:2px}.booking-submit{width:100%;margin-top:.5rem}.booking-footnote{color:var(--muted);font-size:.8125rem;margin:1rem 0 0;text-align:center}.booking-error{padding:.8rem 1rem;background:#fff0e9;color:#7e351e;font-size:.9375rem;margin-bottom:1rem;border:1px solid #e5bfaa}.honeypot{display:none}.success-mark{color:#246b45;border:1px solid #b6d4bc;background:#f0f7f0;border-radius:50%;width:56px;height:56px;font-size:1.7rem;display:grid;place-items:center;margin:1rem 0 1.5rem}.reference-box{padding:1rem;border:1px dashed #9ca994;margin:1.5rem 0;background:var(--soft)}.reference-box small{display:block;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.4rem}.reference-box strong{font-family:monospace;font-size:1.3rem;letter-spacing:.03em}.reference-box .text-link{margin-top:.5rem}.confirmation-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-block:1.5rem}.confirmation-details dt{font-size:.875rem;color:var(--muted)}.confirmation-details dd{margin:0;font-size:1rem}.confirmation-details .full{grid-column:1/-1}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:760px}.hero-content{padding-block:110px 170px}.hero-photo{object-position:center 54%}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header-inner{padding-inline:32px}.site-header nav{gap:1.5rem}.hero h1{font-size:4.4rem}.hero{min-height:620px}.hero-caption{right:32px}.search-card{padding:1.4rem 1.4rem 1rem}.search-card form{gap:1rem;grid-template-columns:1fr 1fr .6fr 1.2fr}.search-field{padding-right:1rem}.search-button{padding:.8rem}.story-copy{padding:55px 10%}.story-copy h2{font-size:2.65rem}.intro-section{padding-top:90px}.gallery-section{padding-top:80px}.film-section{padding-block:80px}.room-results{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.header-inner{padding-block:1.05rem}.wordmark>span{font-size:1.9rem}.wordmark{min-width:140px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:46px;height:46px;border:1px solid #73806f;background:transparent;border-radius:3px;padding:11px}.menu-toggle>span{height:1px;background:var(--gold-light);width:22px}.site-header nav{display:none;position:absolute;inset:100% 0 auto;background:var(--dark);padding:1.2rem 32px 1.8rem;border-top:1px solid #384637;align-items:stretch;gap:1.2rem}.site-header nav.open{display:flex;flex-direction:column}.site-header nav a:not(.button){padding:.4rem 0}.hero h1{font-size:clamp(2.8rem,6.4vw,3.9rem)}.hero{min-height:560px}.hero-content{padding-block:65px 140px}.hero-intro{font-size:1rem}.hero-shade{background:linear-gradient(90deg,#0b150de6,#0e190c55)}.hero-caption{bottom:94px}.search-wrap{margin-top:-62px}.search-card form{grid-template-columns:1fr 1fr;gap:1rem}.search-field:nth-child(2){border:0}.guest-field{padding-top:.4rem}.search-button{height:58px}.search-card #search-note{margin-top:1rem}.intro-section{grid-template-columns:1fr 1.15fr;gap:2rem;padding-block:75px 50px}.intro-heading h2{font-size:3rem}.intro-copy{padding-top:0}.intro-copy .large-copy{font-size:1.125rem}.amenities{margin-bottom:75px;grid-template-columns:1fr 1fr}.amenities>div{padding:1.6rem 1rem}.amenities>div:nth-child(2){border-right:0}.amenities>div:nth-child(3){padding-left:0;border-top:1px solid var(--line)}.amenities>div:nth-child(4){border-top:1px solid var(--line)}.stay-story{grid-template-columns:1fr}.story-image{height:360px;min-height:0}.story-copy{max-width:none;padding:55px 32px}.story-copy p:not(.eyebrow){max-width:600px}.gallery-section{padding-top:65px}.section-heading{display:block}.section-heading>.text-link{margin-top:1.4rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-tile>span{font-size:.875rem;padding-inline:.8rem}.film-section{grid-template-columns:1fr;padding-block:65px;gap:2rem}.film-copy p:not(.eyebrow){max-width:550px}.film-label{margin-top:1.5rem}.island-inner{grid-template-columns:1fr;gap:1.2rem;padding-block:55px}.island-inner>div>p:not(.eyebrow){max-width:600px}.footer-top{flex-wrap:wrap}.footer-contact{align-items:start;flex-basis:100%;margin-top:.5rem}.footer-bottom{gap:1rem;flex-wrap:wrap}.footer-bottom>span{flex-basis:100%;margin:0}.gallery-dialog{width:calc(100% - 24px);padding:16px}.gallery-stage{gap:8px;position:relative}.gallery-stage img{width:100%;max-height:calc(100dvh - 230px)}.gallery-stage button{position:absolute;z-index:1;background:#17241cdd}.gallery-previous{left:6px}.gallery-next{right:6px}.gallery-toolbar{gap:.6rem;font-size:.875rem}.gallery-dialog #gallery-caption{font-size:.9375rem}.availability-results{padding-top:55px}}
@media(max-width:520px){.wrap{width:calc(100% - 40px)}.header-inner{padding-inline:20px}.site-header nav{padding-inline:20px}.hero h1{font-size:2.65rem;letter-spacing:-.035em;line-height:1.18}.hero-content{padding-top:55px}.hero{min-height:540px}.hero .eyebrow{font-size:.75rem;letter-spacing:.13em}.hero-caption{right:20px;gap:.6rem;font-size:.75rem;bottom:93px}.desktop-break{display:none}.hero-intro{max-width:300px}.search-card{padding:1.2rem 1rem .8rem}.search-card form{gap:.85rem}.search-field input{font-size:1rem;max-width:100%}.search-field label{font-size:.875rem}.search-button{font-size:.875rem;gap:.8rem;padding:.6rem}.search-card #search-note{font-size:.75rem}.intro-section{display:block;padding-block:55px 35px}.intro-heading h2{font-size:3.25rem;margin-bottom:1.8rem}.eyebrow{font-size:.8125rem}.intro-copy .large-copy{font-size:1.2rem}.amenities{margin-bottom:55px}.amenities h3{font-size:1rem}.amenities p{font-size:.875rem}.story-image{height:280px}.story-copy{padding:42px 20px}.story-copy h2{font-size:2.45rem}.gallery-section{padding-top:55px}.gallery-grid{gap:10px}.gallery-tile{aspect-ratio:1}.gallery-tile>span{font-size:.8125rem;line-height:1.35;padding:.9rem .55rem .6rem}.gallery-tile>span>span{display:none}.film-section{padding-block:55px}.island-inner h2{font-size:2.25rem}.footer-top{gap:1.5rem;padding-bottom:30px}.footer-top>p{font-size:1.2rem}.room-results{grid-template-columns:1fr}.booking-dialog{padding:1.8rem 1.3rem;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.booking-close{right:13px;top:13px}.booking-fields{grid-template-columns:1fr}.booking-fields .full{grid-column:auto}.booking-dialog h2{font-size:2.4rem}.booking-summary{padding:.85rem}.summary-price{flex-wrap:wrap}.gallery-toolbar>span:first-child{font-size:.8125rem}.confirmation-details{gap:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
