@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--forest:#243b30;--ink:#23362e;--muted:#68716a;--paper:#f8f8f3;--lime:#e3edb5;--line:#dce0d8;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.07}h1 em,h2 em{font-weight:400}h2{font-size:clamp(36px,4.1vw,60px);letter-spacing:-1.3px}h3{font-size:20px;font-weight:500;line-height:1.35}.skip{position:absolute;top:-100px;padding:12px;background:#fff;z-index:20}.skip:focus{top:0}:focus-visible{outline:3px solid #ac6d26;outline-offset:5px}.concept{font-size:12px;text-align:center;padding:8px 20px;background:var(--forest);color:#fff;letter-spacing:.3px}.concept span{margin:0 10px;color:var(--lime)}.header{display:flex;align-items:center;justify-content:space-between;padding:25px 4.4%;gap:24px;max-width:1700px;margin:auto}.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:25px;line-height:1.1;white-space:nowrap}.brand small{display:block;font:10px/1.5 var(--sans);letter-spacing:2.2px;margin-top:8px}.brand-mark{font-family:Georgia,serif;font-size:55px;transform:rotate(-10deg);color:#677a3f;line-height:1}nav{display:flex;gap:32px;font-size:14px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--forest);color:white;padding:16px 24px;border:1px solid transparent;border-radius:3px;font-size:15px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#385644;transform:translateY(-1px)}.button span{font-size:21px;line-height:1}.button.small{padding:12px 20px;gap:20px;font-size:14px}.button.lime{background:var(--lime);color:var(--forest)}.button.lime:hover{background:#f0f6d4}.hero{position:relative;min-height:610px;margin:0 22px;isolation:isolate;background:var(--forest);color:white;overflow:hidden}.hero-image{position:absolute;inset:0;height:100%;z-index:-2;object-position:center 56%}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,27,17,.74),rgba(17,33,23,.14) 65%),linear-gradient(0deg,rgba(15,29,18,.38),transparent 50%)}.hero-content{padding:75px 4.4% 76px;max-width:730px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.2px;margin-bottom:22px}.eyebrow.light{color:#eff4da}h1{font-size:clamp(58px,6.8vw,102px);letter-spacing:-2px}.hero-content>p:not(.eyebrow){font-size:17px;line-height:1.6;margin:25px 0 30px;color:#fff}.hero-caption{position:absolute;right:4.4%;bottom:37px;font-size:14px;display:flex;gap:30px;align-items:center}.hero-caption span{border:1px solid #cfd7c9;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.hero-note{position:absolute;right:6%;top:70px;border:1px solid #fff9;width:128px;height:128px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:15px;font-family:var(--serif);font-style:italic;transform:rotate(10deg);line-height:1.5}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:31px 0;margin:0 auto;max-width:1140px;border-bottom:1px solid var(--line)}.facts>div{display:flex;align-items:center;justify-content:center;gap:15px;border-right:1px solid var(--line)}.facts>div:last-child{border:0}.facts strong{font:34px/1.2 var(--serif);font-weight:400}.facts strong small{font-size:20px}.facts span{font-size:13px;color:#59665c;max-width:75px;line-height:1.4}.section{max-width:1260px;padding:100px 55px;margin:auto}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;padding-bottom:60px}.intro-copy>p{margin-bottom:20px;color:#637065}.intro-copy>p:first-child{font-size:20px;color:var(--ink);line-height:1.6}.text-link{font-size:14px;display:inline-flex;gap:25px;border-bottom:1px solid #879281;padding-bottom:7px;margin-top:8px}.photos{padding-top:0;display:grid;grid-template-columns:1.25fr .86fr;gap:35px 50px;position:relative}.photo-interior{padding-right:35px}.photo-interior img{height:550px;object-position:50% 45%}.photo-garden{padding-top:90px}.photo-garden img{height:460px}.photo-button{padding:0;border:0;background:var(--forest);position:relative;width:100%;overflow:hidden}.photo-button img{transition:transform .5s}.photo-button:hover img{transform:scale(1.025)}.photo-button>span{position:absolute;bottom:20px;right:20px;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--ink);font-size:23px}figcaption{font-size:14px;line-height:1.5;padding-top:15px}figcaption>span{display:block;font-size:11px;letter-spacing:1.5px;color:var(--muted);margin-bottom:5px}.photo-aside{font:30px/1.35 var(--serif);padding-left:22px;border-left:1px solid #adb99a;margin-top:12px}.amenities{padding-top:65px;padding-bottom:90px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2{font-size:43px}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:55px}.amenity-grid article{padding-top:18px;border-top:1px solid #b3beae}.amenity-number{font-size:13px;color:#778368;display:block;margin-bottom:25px}.amenity-grid h3{margin-bottom:12px}.amenity-grid p{font-size:14px;color:#647061;line-height:1.7}.outdoors{background:var(--forest);color:var(--paper);padding:80px 0}.outdoors-inner{max-width:1260px;padding:0 55px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:90px}.outdoors-title h2{font-size:64px}.outdoors-title>p:last-child{margin-top:30px;color:#c4cebf}.outdoor-list article{display:flex;gap:28px;border-top:1px solid #637264;padding:24px 0}.outdoor-list article:first-child{padding-top:0;border:0}.outdoor-list article>span{font-size:12px;color:var(--lime);padding-top:4px}.outdoor-list h3{font-size:23px;margin-bottom:8px}.outdoor-list p{font-size:15px;line-height:1.7;color:#c4cebf}.booking{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start;padding-top:110px;padding-bottom:110px}.booking-copy{padding-top:35px}.booking-copy h2{font-size:76px}.booking-copy>p:not(.eyebrow){margin-top:30px;color:#657160;font-size:17px}.booking-note{max-width:340px;border-left:2px solid #9caa80;padding:0 0 0 18px;margin-top:48px;font-size:14px}.booking-note strong{font-weight:500}.booking-note p{font-size:13px;color:#657160;margin-top:8px}.booking-card{background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px #20352408;border-radius:6px;padding:30px}.booking-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.booking-card h3{font-family:var(--serif);font-size:30px;font-weight:400}.tag{font-size:10px;letter-spacing:1.2px;border:1px solid #bdc7ae;color:#60704c;padding:3px 8px;border-radius:2px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{font-size:13px;font-weight:500}input,select{display:block;width:100%;min-width:0;min-height:48px;color:var(--ink);border:1px solid #cdd3c7;border-radius:3px;background:#fff;padding:9px 10px;margin-top:7px;font-size:14px}.guest-label{display:block;margin-top:14px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin:23px 0 14px}.calendar-heading strong{font-size:15px;font-weight:500}.calendar-heading button{border:0;background:#f5f6f0;border-radius:50%;width:34px;height:34px;color:var(--ink)}.calendar-heading button:disabled{opacity:.3;cursor:default}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekdays{font-size:12px;text-align:center;color:#68735f;margin-bottom:7px}.calendar button{border:1px solid transparent;aspect-ratio:1.15;color:var(--ink);background:#f6f7f3;border-radius:3px;font-size:14px;min-height:34px}.calendar button:hover:not(:disabled){border-color:#748664}.calendar button:disabled{background:transparent;color:#bcc1b9;cursor:default}.calendar button.in-range{background:#edf1df}.calendar button.selected{background:var(--forest);color:white}.calendar-hint{font-size:13px;margin-top:16px}.calendar-status{font-size:12px;color:#69735f;margin-top:5px}.booking-submit{width:100%;justify-content:space-between;margin-top:14px}.booking-footnote{font-size:12px;text-align:center;color:#68735f;margin-top:12px}.form-error{font-size:13px;color:#a13823}.practical{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:90px;padding-top:90px}.practical h2{font-size:49px}.practical>div>p:not(.eyebrow){color:var(--muted);margin-top:22px}.practical .text-link{margin-top:25px}.faq details{border-bottom:1px solid #d5dccf}.faq details:first-child{border-top:1px solid #d5dccf}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:25px;font-size:15px;cursor:pointer;padding:19px 0}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:23px;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;color:#5a6757;padding:0 25px 22px 0}footer{background:#e9eddf;padding:52px 5% 24px}.footer-top{max-width:1150px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:40px}.footer-top>p{font:24px/1.4 var(--serif)}.footer-top>a:last-child{font-size:14px;display:flex;gap:20px;border-bottom:1px solid;padding-bottom:6px}.footer-bottom{max-width:1150px;margin:auto;display:flex;gap:30px;justify-content:space-between;border-top:1px solid #c4cfb6;padding-top:23px;font-size:11px;color:#637057}dialog{border:0;background:var(--paper);color:var(--ink);width:min(620px,calc(100% - 30px));max-height:90vh;border-radius:6px;padding:50px}dialog::backdrop{background:#14261ec7;backdrop-filter:blur(5px)}dialog h2{font-size:43px}.dialog-close{position:absolute;right:16px;top:12px;background:transparent;border:0;font-size:30px;width:38px;height:38px;color:var(--ink)}#stay-summary{margin:25px 0}#stay-summary dl{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}#stay-summary dt,#stay-summary dd{padding:10px 0;border-bottom:1px solid var(--line);margin:0;font-size:14px}#stay-summary dd{text-align:right;font-weight:500}.summary-notice{padding:20px;background:#e9eddf;margin-bottom:25px;font-size:14px}.summary-notice p{font-size:13px;margin-top:6px}.text-button{display:block;background:transparent;color:var(--ink);border:0;padding:15px 0 0;text-decoration:underline;font-size:14px}.photo-dialog{padding:18px;background:#fff;width:min(800px,calc(100% - 24px))}.photo-dialog .dialog-close{background:white;border-radius:50%;top:25px;right:25px}.photo-dialog img{max-height:75vh;object-fit:contain}.photo-dialog p{font-size:14px;padding:12px 5px 0}body:has(dialog[open]){overflow:hidden}
@media(min-width:1550px){.hero{max-width:1656px;margin:auto}.hero-content{padding-left:85px}.hero{min-height:690px}}
@media(max-width:1050px){nav{gap:18px}.brand{font-size:22px}.brand small{font-size:9px}.header{padding:22px 3%}.hero{margin:0 14px;min-height:580px}.hero-content{padding-top:90px}.section{padding-left:35px;padding-right:35px}.intro,.outdoors-inner,.booking,.practical{gap:45px}.outdoors-inner{padding:0 35px}.photos{gap:30px}.photo-interior{padding:0}.photo-interior img{height:500px}.photo-garden img{height:410px}.amenity-grid{gap:23px}.booking-copy h2{font-size:65px}.booking-card{padding:23px}.facts{margin:0 30px}}
@media(max-width:760px){.concept{font-size:10px;line-height:1.55;padding:7px 15px}.concept span{margin:0 5px}.header{padding:19px 20px;gap:12px}nav{display:none}.brand{font-size:20px;gap:6px}.brand small{font-size:8px;letter-spacing:1.5px;margin-top:5px}.brand-mark{font-size:40px}.header .button{font-size:12px;padding:10px 12px;gap:10px}.header .button span{font-size:17px}.hero{margin:0 10px;min-height:575px}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#13261caa,#18251e11),linear-gradient(0deg,#0e251cbf,transparent 75%)}.hero-content{padding:110px 25px 90px}.hero-content h1{font-size:62px;letter-spacing:-1.7px}.hero-content>p:not(.eyebrow){font-size:16px}.hero-note{width:86px;height:86px;font-size:12px;top:22px;right:20px}.hero-caption{bottom:24px;right:25px;font-size:12px;gap:15px}.hero-caption span{width:28px;height:28px}.eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:20px}.facts{grid-template-columns:repeat(2,1fr);padding:23px 0;gap:26px 0;margin:0 25px}.facts>div:nth-child(2){border:0}.facts>div{justify-content:start;padding-left:22px;gap:12px}.facts strong{font-size:31px}.facts span{font-size:12px;max-width:95px}.section{padding:65px 25px}.intro{grid-template-columns:1fr;gap:30px;padding-bottom:38px}.intro h2{font-size:41px}.intro-copy>p:first-child{font-size:18px}.intro-copy>p{font-size:15px}.photos{grid-template-columns:1fr 1fr;padding-top:0;gap:22px}.photo-garden{padding-top:50px}.photo-interior img{height:340px}.photo-garden img{height:290px}figcaption{font-size:12px}figcaption>span{font-size:9px}.photo-aside{font-size:24px;grid-column:1/-1;margin-top:6px}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:18px}.section-heading h2{font-size:38px}.amenity-grid{grid-template-columns:1fr 1fr;gap:30px 25px;margin-top:35px}.amenity-number{margin-bottom:16px}.amenity-grid h3{font-size:18px}.amenity-grid p{font-size:13px}.outdoors{padding:60px 0}.outdoors-inner{grid-template-columns:1fr;gap:40px;padding:0 25px}.outdoors-title h2{font-size:52px}.outdoors-title>p:last-child{margin-top:20px;font-size:15px}.outdoor-list p{font-size:14px}.outdoor-list h3{font-size:20px}.booking{grid-template-columns:1fr;gap:30px}.booking-copy{padding-top:0}.booking-copy h2{font-size:57px}.booking-copy>p:not(.eyebrow){margin-top:22px;font-size:15px}.booking-note{max-width:none;margin-top:26px}.booking-card{padding:22px}.calendar button{aspect-ratio:1.25}.practical{grid-template-columns:1fr;gap:35px}.practical h2{font-size:41px}.footer-top{flex-wrap:wrap;gap:30px}.footer-top>p{font-size:22px}.footer-bottom{flex-direction:column;gap:8px;font-size:10px}footer{padding:40px 25px 25px}dialog{padding:45px 25px 30px}dialog h2{font-size:36px}dialog .button{font-size:13px;width:100%;gap:8px}}
@media(max-width:380px){.brand{font-size:17px}.header{padding:17px 12px}.hero-content{padding-left:20px}.hero-content h1{font-size:54px}.photos{grid-template-columns:1fr}.photo-garden{padding-top:5px}.photo-interior img,.photo-garden img{height:410px}.booking-card{padding:17px}.date-fields{gap:7px}input{font-size:12px;padding:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.calendar button.blocked{background:#f0e7e0;color:#9b7970;text-decoration:line-through}.calendar button.blocked:disabled{background:#f0e7e0;color:#9b7970}.calendar button.checkout-only{background:linear-gradient(135deg,#f6f7f3 50%,#f0e7e0 50%);text-decoration:none;color:#354a3c}.calendar-legend{display:flex;gap:18px;margin-top:12px;font-size:11px;color:#68735f}.calendar-legend span:before{content:"";display:inline-block;width:9px;height:9px;background:#f6f7f3;border:1px solid #d6deca;margin-right:5px}.calendar-legend span:last-child:before{background:#f0e7e0;border-color:#d3b4a6}.price-preview{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:19px;margin-top:22px;font-size:14px}.price-preview strong{font-family:var(--serif);font-size:32px;font-weight:400}.price-note{font-size:12px;color:#68735f;line-height:1.6;margin-top:8px}.booking-submit:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}
.linen-options{border:0;padding:0;margin:25px 0 0}.linen-options legend{font-size:14px;font-weight:500;margin-bottom:10px}.linen-options label{display:flex;align-items:center;gap:8px;font-weight:400;margin-top:9px;font-size:13px}.linen-options label span{margin-left:auto;color:#6c7564;font-size:12px}.linen-options input{display:inline-block;min-height:0;width:16px;height:16px;margin:0;accent-color:#243b30}.linen-options select{min-height:40px;font-size:13px}.linen-options .towel-label{margin-top:15px}
.booking>*{min-width:0}.linen-options{min-width:0}.price-note,.booking-footnote{line-height:1.65}.amenity-grid p,.faq details p{font-size:16px}.calendar-legend{font-size:12px}label,.calendar-hint{font-size:14px}#stay-summary dt:nth-last-of-type(3),#stay-summary dd:nth-last-of-type(3){font-weight:700}@media(max-width:760px){.booking{grid-template-columns:minmax(0,1fr)}.facts>div{flex-direction:column;align-items:flex-start;gap:5px}.facts strong{white-space:nowrap}.hero-content h1{font-size:54px}.intro-copy>p,.outdoor-list p{font-size:16px}}
.gallery{padding-top:30px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.gallery-heading h2{font-size:44px}.gallery-heading>span{font-size:13px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.gallery-grid img{height:230px;object-position:center}.gallery-grid figcaption{font-size:14px;line-height:1.5;padding-top:9px}.gallery-item{display:block}.more-photos summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;gap:25px;width:fit-content;margin:35px auto 0;padding:12px 23px;border:1px solid #a3b099;border-radius:3px;font-size:14px}.more-photos summary::-webkit-details-marker{display:none}.more-photos .when-open{display:none}.more-photos[open] .when-open{display:inline}.more-photos[open] .when-closed{display:none}.more-photos[open]>.gallery-grid{margin-top:35px}.photo-navigation{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:12px}.photo-navigation button{flex:none;width:42px;height:42px;border:1px solid #cbd5c2;border-radius:50%;background:white;color:var(--forest);font-size:21px}.photo-navigation p{text-align:center;padding:0;line-height:1.45;font-size:14px}.photo-dialog{width:min(1050px,calc(100% - 24px))}@media(max-width:760px){.gallery-heading{display:block}.gallery-heading h2{font-size:36px;margin-bottom:15px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.gallery-grid img{height:180px}.gallery-grid figcaption{font-size:13px}.gallery-grid .photo-button>span{width:30px;height:30px;font-size:18px;bottom:10px;right:10px}.photo-navigation p{font-size:12px}.photo-dialog img{max-height:68vh}}@media(max-width:400px){.gallery-grid img{height:145px}}
