@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#242623;--paper:#f8f7f3;--gold:#d4b46d;--muted:#666b62;--line:#d8d9d1;--serif:'Libre Caslon Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}img{display:block;max-width:100%;height:auto}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a47921;outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.header{background:#222420;color:white;position:sticky;top:0;z-index:10;height:104px;display:flex;align-items:center;justify-content:space-between;padding:12px 5vw;gap:24px}.brand img{width:152px;height:80px;object-fit:contain}.nav{display:flex;align-items:center;gap:36px}.nav a{text-decoration:none;font-size:14px}.nav a[aria-current=page]:not(.button){color:var(--gold);text-decoration:underline}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;background:var(--gold);color:#25251f;padding:14px 25px;text-decoration:none;border:1px solid var(--gold);font-weight:600;font-size:14px;min-height:48px;cursor:pointer}.button:hover{background:#e6ca89}.button.outline{background:transparent;border-color:var(--line)}.button.outline:hover{background:#ffffff15}.menu{display:none;background:none;color:white;border:1px solid #8b8e80;padding:9px 15px}.hero{height:min(710px,76vw);min-height:580px;position:relative;color:white;display:flex;align-items:flex-end;padding:70px 7vw}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111a12a6,transparent 95%),linear-gradient(0deg,#111a1270,transparent 80%)}.hero-copy{z-index:1;position:relative;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:600;margin:0 0 18px}.hero .eyebrow{color:#ead59d}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06}h1{font-size:clamp(48px,6.2vw,90px);margin-bottom:24px;letter-spacing:-.025em}h2{font-size:clamp(40px,4.5vw,62px);margin-bottom:25px}h3{font-size:34px;margin-bottom:16px}.hero p:not(.eyebrow){max-width:460px;color:#f7f7ef;margin-bottom:27px}.hero-actions{display:flex;align-items:center;gap:28px}.hero-actions>a:not(.button){font-size:14px}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:29px 7vw;gap:15px;text-align:center}.facts span{border-right:1px solid var(--line);font-size:14px}.facts span:last-child{border:0}.facts b{font-weight:600}.section{padding:90px 7vw}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.split p{max-width:520px;color:var(--muted)}.split img{width:100%;aspect-ratio:1.15;object-fit:cover}.text-link{font-weight:600;font-size:14px;display:inline-block;margin-top:10px}.caption{font-size:12px;color:var(--muted);margin:10px 0 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px}.section-head h2{margin-bottom:0}.photo-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:20px}.photo-grid img{width:100%;height:310px;object-fit:cover}.photo-grid figure{margin:0}.dark{background:#282d27;color:var(--paper)}.dark p{color:#c4c9bd}.seasons{display:grid;grid-template-columns:1fr 1fr;gap:50px}.season img{height:330px;width:100%;object-fit:cover;margin-bottom:25px}.season p{max-width:540px}.booking-banner{text-align:center;padding:80px 20px;background:#eaece3}.booking-banner p{color:var(--muted)}footer{background:#222420;color:#e6e9df;padding:48px 7vw;display:flex;justify-content:space-between;gap:32px;align-items:center;font-size:14px}footer img{width:150px}footer p{margin:5px 0;color:#b7bcaf}footer a{display:inline-block;margin-right:20px}.page-intro{padding:66px 7vw 45px;max-width:1050px}.page-intro h1{font-size:clamp(52px,6vw,76px)}.page-intro>p:last-child{color:var(--muted);max-width:640px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:0 7vw 80px}.gallery-grid figure{margin:0}.gallery-grid a{display:block;overflow:hidden;background:#e1e3da}.gallery-grid img{width:100%;aspect-ratio:1.4;object-fit:cover;transition:transform .3s}.gallery-grid a:hover img{transform:scale(1.025)}.gallery-grid figcaption{font-size:14px;margin-top:10px}.gallery-grid figure:first-child{grid-column:span 2;grid-row:span 2}.gallery-grid figure:first-child img{aspect-ratio:auto;height:100%;min-height:550px}.gallery-grid figure:first-child a{height:calc(100% - 34px)}dialog{border:0;background:#171a16;color:white;padding:18px;width:min(1100px,94vw);max-height:95vh}dialog::backdrop{background:#000d}dialog img{width:100%;max-height:72vh;object-fit:contain}dialog .dialog-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:20px}dialog button{color:white;background:transparent;border:1px solid #aaa;padding:8px 17px;cursor:pointer}.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.rooms img{aspect-ratio:1.3;object-fit:cover;width:100%;margin-bottom:24px}.rooms h3{font-size:30px}.rooms p{color:var(--muted)}.amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.amenities div{border-top:1px solid #636958;padding-top:24px}.amenities h3{font-family:inherit;font-size:17px;font-weight:600}.amenities p{font-size:15px}.notes{max-width:900px;margin:auto}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:600;min-height:28px}details p{margin:16px 0 0;color:var(--muted)}.booking-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:7vw;padding:0 7vw 70px}.booking-layout>img{width:100%;height:100%;max-height:650px;object-fit:cover}.booking-options{padding:10px 0}.booking-option{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:30px}.booking-option h2{font-size:38px}.booking-option p{color:var(--muted)}.form-section{padding:60px 7vw;background:#eaece3}.form-section iframe{border:0;width:100%;height:1550px;background:white}.form-section>div{max-width:850px;margin:auto}.privacy{font-size:14px;color:var(--muted)}.not-found{min-height:65vh;padding:80px 7vw}.mobile-book{display:none}
@media(min-width:1500px){.hero{max-height:800px;height:75vh}.section,.page-intro,.gallery-grid,.booking-layout{padding-left:max(7vw,calc((100vw - 1350px)/2));padding-right:max(7vw,calc((100vw - 1350px)/2))}}
@media(max-width:760px){.header{height:88px;padding:8px 6vw}.brand img{width:128px;height:68px}.menu{display:block}.nav{display:none;position:absolute;top:88px;left:0;right:0;background:#222420;padding:24px 6vw;align-items:stretch;gap:0;flex-direction:column;border-top:1px solid #555}.nav.open{display:flex}.nav a{padding:13px 0;font-size:16px}.nav .button{margin-top:10px;padding:13px}.hero{min-height:560px;height:calc(88svh - 88px);padding:48px 7vw}.hero>img{object-position:57% center}.hero:after{background:linear-gradient(0deg,#111a12ce,#111a1220)}.hero h1{font-size:58px}.hero-actions{gap:22px;flex-wrap:wrap}.facts{grid-template-columns:1fr 1fr;padding:23px 5vw;gap:19px 5px}.facts span:nth-child(2){border:0}.section{padding:60px 7vw}.split{grid-template-columns:1fr;gap:35px}.split img{aspect-ratio:1.2}.section-head{align-items:flex-start;flex-direction:column;gap:8px}.photo-grid{grid-template-columns:1fr 1fr;gap:14px}.photo-grid figure:first-child{grid-column:span 2}.photo-grid img{height:200px}.photo-grid figure:first-child img{height:280px}.seasons{grid-template-columns:1fr;gap:32px}.season img{height:260px}.booking-banner{padding:58px 7vw}footer{flex-direction:column;align-items:flex-start;padding-bottom:100px;gap:25px}footer a{margin-bottom:10px}.page-intro{padding:45px 7vw 30px}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px 14px;padding-bottom:50px}.gallery-grid figure:first-child{grid-column:span 2;grid-row:auto}.gallery-grid figure:first-child img{min-height:0;height:auto;aspect-ratio:1.4}.gallery-grid figure:first-child a{height:auto}.gallery-grid figcaption{font-size:12px}.rooms{grid-template-columns:1fr;gap:25px}.amenities{grid-template-columns:1fr 1fr;gap:24px}.booking-layout{grid-template-columns:1fr;gap:25px}.booking-layout>img{height:280px;order:2}.booking-option:last-child{margin-bottom:0}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;background:#222420;padding:10px 6vw;z-index:9;box-shadow:0 -2px 12px #0002}.mobile-book .button{width:100%;min-height:44px;padding:9px}.form-section{padding:40px 3vw}.form-section h2,.form-section p{margin-left:4vw;margin-right:4vw}dialog img{max-height:65vh}html{scroll-padding-top:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.included-section{background:#f0f0e9}.included-intro{color:var(--muted);max-width:660px;margin-bottom:35px}.included-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 42px}.included-group{border-top:1px solid var(--line);padding-top:20px}.included-group h3{font-family:inherit;font-size:18px;font-weight:600;line-height:1.4;margin-bottom:14px}.included-group ul{padding-left:19px;margin:0;color:var(--muted);font-size:15px}.included-group li{margin:0 0 9px}.included-note{font-size:14px;color:var(--muted);max-width:780px;margin:32px 0 0}@media(max-width:900px){.included-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.included-grid{grid-template-columns:1fr;gap:25px}.included-intro{margin-bottom:24px}}
