:root{--paper:#f6f3ec;--cream:#ece8dd;--ink:#292c23;--olive:#4b563e;--olive-dark:#30392c;--sage:#aeb6a1;--sand:#c2a77a;--muted:#73766b;--line:rgba(41,44,35,.17);--white:#fffdf8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.announcement{height:32px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;background:var(--olive-dark);color:#e6e1d5;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.site-header{height:94px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.wordmark{display:flex;flex-direction:column;line-height:1.05;min-width:170px}.wordmark span{font-size:10px;letter-spacing:.33em;font-weight:500}.wordmark strong{font-family:var(--serif);font-size:23px;letter-spacing:.09em;font-weight:500;margin-top:3px}.wordmark small{font-size:8px;letter-spacing:.16em;margin-top:7px;color:var(--muted)}.desktop-nav{display:flex;gap:clamp(15px,2.4vw,35px);align-items:center}.desktop-nav a,.footer-links a{font-size:11px;letter-spacing:.045em;transition:color .2s}.desktop-nav a:hover,.footer-links a:hover{color:#8a754f}.header-actions{display:flex;align-items:center;gap:18px}.language-switch{display:flex;gap:2px}.lang{border:0;background:transparent;color:#777;font-size:9px;padding:5px;cursor:pointer}.lang.active{color:var(--ink);font-weight:700;border-bottom:1px solid var(--sand)}.header-cta{font-size:10px;letter-spacing:.03em;border-bottom:1px solid var(--ink);padding:8px 0}.header-cta span{padding-left:9px}.menu-toggle{display:none;border:0;background:none;font-size:22px}.hero{min-height:min(760px,80vw);height:calc(100vh - 126px);max-height:900px;position:relative;color:white;overflow:hidden;background:#626957}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{object-position:center 58%;animation:heroReveal 1.2s ease both}.hero-shade{background:linear-gradient(90deg,rgba(21,28,21,.64),rgba(21,28,21,.18) 65%,rgba(21,28,21,.08)),linear-gradient(0deg,rgba(21,28,21,.42),transparent 40%,rgba(21,28,21,.18))}.hero-topline,.hero-bottom{position:absolute;left:5vw;right:5vw;display:flex;align-items:center;justify-content:space-between;z-index:1}.hero-topline{top:32px}.hero-pill{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.48);padding:7px 13px;border-radius:30px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(8px)}.hero-pill i{width:6px;height:6px;border-radius:50%;background:#d7c69e}.hero-coordinate,.hero-bottom{font-size:9px;letter-spacing:.17em}.hero-copy{position:absolute;z-index:1;top:50%;left:10vw;transform:translateY(-42%);max-width:730px}.eyebrow{font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;margin:0 0 18px}.eyebrow.olive{color:#7c805f}.eyebrow.light{color:#d4c19a}.hero h1,.section-pad h2,.section-heading h2,.together-copy h2,.privacy-strip h2,.booking-intro h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.05;margin:0}.hero h1{font-size:clamp(58px,8.3vw,118px);line-height:.98}.hero h1 em,.section-pad h2 em,.section-heading h2 em,.together-copy h2 em,.privacy-strip h2 em,.booking-intro h2 em{font-weight:400}.hero-desc{max-width:435px;color:rgba(255,255,255,.87);font-size:15px;line-height:1.8;margin:25px 0 30px}.hero-buttons{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:14px 18px;border:1px solid transparent;font-size:10px;letter-spacing:.07em;cursor:pointer;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:white}.hero-text-link{font-size:10px;border-bottom:1px solid rgba(255,255,255,.65);padding:9px 0}.hero-text-link span{margin-left:10px}.hero-bottom{bottom:24px;color:rgba(255,255,255,.82)}.hero-caption{font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:0}.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 9vw;border-bottom:1px solid var(--line);background:#f0ede5}.quick-facts>div{display:flex;flex-direction:column;align-items:center;gap:1px;border-right:1px solid var(--line)}.quick-facts>div:last-child{border:0}.fact-number{font-family:var(--serif);font-size:30px;line-height:1.3}.fact-number small{font-size:17px}.quick-facts>div>span:last-child{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.section-pad{padding:clamp(75px,10vw,145px) 8vw}.intro{display:grid;grid-template-columns:.9fr 1.05fr;gap:10vw;align-items:center}.intro-copy{max-width:540px}.section-pad h2,.section-heading h2,.privacy-strip h2,.booking-intro h2{font-size:clamp(38px,5vw,67px)}.intro-copy>p:not(.eyebrow),.house-copy>p:not(.eyebrow),.food-copy>p:not(.eyebrow),.region-head>p:not(.eyebrow){color:#64665a;font-size:14px;line-height:1.95}.intro-copy>p:nth-of-type(2){margin-top:28px}.underlined-link{display:inline-flex;align-items:center;gap:25px;margin-top:17px;padding-bottom:7px;border-bottom:1px solid var(--olive);font-size:10px;letter-spacing:.07em}.intro-visual{height:560px;position:relative;padding:0 0 25px 25px}.intro-visual:before{content:'';position:absolute;left:0;bottom:0;width:55%;height:65%;border:1px solid #b6b49e}.intro-visual img{position:relative;z-index:1}.image-note{position:absolute;z-index:2;bottom:0;right:0;transform:translateY(50%);background:var(--olive);color:white;padding:15px 20px;display:flex;gap:20px;align-items:center}.image-note span:first-child{font-size:8px;letter-spacing:.16em;color:#d7c7a5}.image-note span:last-child{font-family:var(--serif);font-style:italic;font-size:14px}.gallery-band{padding:95px 4vw 75px;background:#eae7dd}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin:0 4vw 38px}.section-heading>p{max-width:360px;color:#66685d;font-size:13px;line-height:1.9;margin:0 0 5px}.photo-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:300px 300px;gap:8px}.photo-grid figure{margin:0;position:relative;overflow:hidden;background:#d3d0c4}.photo-grid figure:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(20,25,19,.65),transparent)}.photo-grid figure img{transition:transform .7s}.photo-grid figure:hover img{transform:scale(1.04)}.photo-grid .photo-large{grid-row:span 2}.photo-grid figcaption{position:absolute;z-index:1;left:20px;bottom:18px;color:white;display:flex;flex-direction:column;font-family:var(--serif);font-size:20px}.photo-grid figcaption small{font:8px var(--sans);letter-spacing:.16em;margin-top:4px}.gallery-foot{display:flex;justify-content:space-between;align-items:center;margin:22px 4vw 0;color:#77786c;font-size:11px}.gallery-foot .underlined-link{margin:0}.house-section{display:grid;grid-template-columns:1fr .85fr;gap:10vw;align-items:center}.house-image{height:660px;position:relative}.house-stamp{position:absolute;left:-20px;bottom:40px;background:var(--olive);color:white;padding:25px 30px;min-width:210px;box-shadow:0 8px 24px #252a1d20}.house-stamp span{font-size:8px;letter-spacing:.2em;color:#d5c6a1}.house-stamp strong{display:block;font:25px/1.25 var(--serif);font-weight:400;margin-top:12px}.house-copy{max-width:520px}.house-copy>p:not(.eyebrow){margin:24px 0 28px}.amenities{border-top:1px solid var(--line);margin-top:28px}.amenities>div{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.amenity-icon{font-size:23px;color:#8c8c6d}.amenities strong{font-size:12px;font-weight:600}.amenities p{font-size:11px;line-height:1.8;color:#6d6f63;margin:4px 0 0}.bedrooms-section{padding-top:30px;background:#f0ede5}.bedroom-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.bedroom-card{min-width:0}.bed-photo,.bed-placeholder{height:280px;position:relative;overflow:hidden}.bed-photo img{transition:transform .6s}.bedroom-card:hover .bed-photo img{transform:scale(1.035)}.bed-photo>span,.bed-placeholder>span{position:absolute;left:13px;top:12px;font:12px var(--serif);color:white;z-index:1}.bed-placeholder{background:#e4e1d7;border:1px solid #d2cfc2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7d8168}.bed-placeholder:before{content:'';position:absolute;inset:12px;border:1px solid #c4c4b2}.bed-placeholder>span{color:#7d8168}.placeholder-symbol{font-size:30px;font-weight:300}.bed-placeholder small{font-size:8px;letter-spacing:.18em;margin-top:15px}.bed-label{padding:13px 1px}.bed-label h3{font:20px var(--serif);font-weight:400;margin:0}.bed-label p{font-size:10px;color:var(--muted);margin:2px 0}.together-section{display:grid;grid-template-columns:1fr 1fr;background:var(--olive-dark);color:white;min-height:560px}.together-image{min-height:560px}.together-copy{padding:clamp(45px,7vw,105px);align-self:center}.together-copy h2{font-size:clamp(38px,4.6vw,61px);font-family:var(--serif);font-weight:400;line-height:1.07}.together-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;color:#d0d2c8;max-width:440px;margin:25px 0}.activity-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:27px}.activity-tags span{font-size:9px;letter-spacing:.06em;border:1px solid #6e7767;padding:7px 11px;border-radius:20px;color:#e5e5dc}.food-section{display:grid;grid-template-columns:.75fr 1.15fr;gap:8vw;align-items:center}.food-copy{max-width:440px}.food-copy>p:not(.eyebrow){margin:23px 0}.food-copy .food-small{font-size:10px;color:#858777;border-left:2px solid #b5aa85;padding-left:13px}.food-mosaic{height:550px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:9px}.food-mosaic img{min-height:0}.food-mosaic .food-main{grid-row:span 2}.region-section{padding-top:45px;background:#eae7dd}.region-head{max-width:690px;margin:0 auto 60px;text-align:center}.region-head h2{font-size:clamp(38px,5vw,65px)}.region-head>p:not(.eyebrow){max-width:580px;margin:22px auto}.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.region-grid article{border-top:1px solid #b7b8a8;padding-top:15px}.region-index{font-size:8px;letter-spacing:.17em;color:#7b8169}.region-grid h3{font:26px var(--serif);font-weight:400;margin:13px 0 6px}.region-grid article>p{font-size:11px;line-height:1.8;color:#696b60;min-height:65px}.region-image{height:235px;margin-top:20px;overflow:hidden}.region-note{text-align:center;font-size:10px;color:#737568;margin:34px 0 0}.privacy-strip{display:grid;grid-template-columns:100px 1fr;gap:25px;align-items:start;background:#9ba38c;padding:75px 14vw;color:white}.privacy-icon{width:70px;height:70px;border:1px solid #d6dccb;border-radius:50%;display:grid;place-items:center;font-size:28px;color:#f0e5c7}.privacy-strip h2{font-size:clamp(36px,4.4vw,58px)}.privacy-strip>div:last-child>p:last-child{max-width:780px;color:#f0f0e9;font-size:13px;line-height:1.95;margin-top:24px}.rates-section{background:var(--paper)}.rates-heading{text-align:center;max-width:660px;margin:0 auto 50px}.rates-heading>p:last-child{font-size:13px;color:#707266;max-width:500px;margin:22px auto}.rates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1120px;margin:auto}.rate-card{padding:34px;background:#ece9df;min-height:315px}.rate-card.featured{background:var(--olive);color:white}.rate-label{font-size:8px;letter-spacing:.2em;margin:0 0 17px;color:#82836e}.featured .rate-label{color:#d3c7a4}.rate-price{font:clamp(34px,4vw,48px) var(--serif);letter-spacing:-.03em;line-height:1.2}.rate-price small{font:15px var(--sans)}.rate-card>p:nth-of-type(2){font-size:10px;color:#73766a;margin:3px 0}.featured>p:nth-of-type(2){color:#d6d9cf}.rate-rule{height:1px;background:#c9c8b9;margin:25px 0}.featured .rate-rule{background:#69745e}.rate-description{font-size:11px;line-height:1.8;color:#6e7064}.featured .rate-description{color:#e0e2d9}.rate-card ul{padding-left:16px;margin:0;font-size:10px;line-height:2;color:#686b60}.rate-supplement{max-width:900px;margin:28px auto 12px;padding:20px 28px;display:flex;align-items:center;justify-content:center;gap:22px;border:1px solid rgba(75,86,62,.18);border-left:3px solid var(--sand);background:linear-gradient(110deg,rgba(236,232,221,.82),rgba(255,253,248,.82));color:var(--ink);text-align:left;box-shadow:0 8px 24px rgba(41,44,35,.035)}.rate-supplement-label{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;background:var(--olive);color:#fffdf8;font-size:8px;line-height:1.4;letter-spacing:.15em;font-weight:600;white-space:nowrap}.rate-supplement p{margin:0;font-size:12px;line-height:1.8;color:#55584d}.rate-supplement p:before{content:"";display:inline-block;width:5px;height:5px;margin:0 10px 2px 0;border-radius:50%;background:var(--sand)}.rate-footnote{max-width:800px;margin:25px auto 0;text-align:center;color:#77786d;font-size:10px;line-height:1.8}.booking-section{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--olive-dark);color:white;padding:clamp(50px,8vw,110px) 8vw;gap:8vw;align-items:start}.booking-intro{padding-top:25px}.booking-intro h2{font-size:clamp(40px,5vw,65px)}.booking-intro>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#d4d8ce;max-width:440px;margin:24px 0 35px}.booking-details>div{display:flex;align-items:center;gap:16px;border-top:1px solid #56604e;padding:14px 0}.booking-details span{font:15px var(--serif);color:#d5c69f}.booking-details p{font-size:11px;margin:0;color:#ecece4}.admin-note{display:flex;gap:10px;align-items:flex-start;font-size:10px;color:#bec5b5;margin-top:35px}.admin-note>span:first-child{font-size:15px;color:#d5c69f}.booking-card{background:var(--paper);color:var(--ink);padding:clamp(22px,3vw,38px)}.booking-card-head{display:flex;justify-content:space-between;gap:15px;align-items:end}.booking-card-head .eyebrow{font-size:8px;margin-bottom:8px}.booking-card-head h3,.form-heading h3{font:25px var(--serif);font-weight:400;margin:0}.calendar-legend{display:flex;flex-direction:column;gap:4px;font-size:9px;color:#747568}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-open{background:#c5cdb9}.legend-busy{background:#9d7969}.availability-calendar{margin:22px 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.calendar-month{min-width:0}.month-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:11px;font-weight:600}.month-title button{border:0;background:transparent;font-size:17px;cursor:pointer;color:#6c735c;padding:0 5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.calendar-day-name{font-size:8px;color:#8a8b7e;padding:5px 0}.calendar-day{border:0;background:transparent;aspect-ratio:1/1;min-width:0;border-radius:50%;font-size:9px;color:#414438;cursor:pointer}.calendar-day:hover:not(:disabled){background:#e2e5da}.calendar-day.empty{pointer-events:none}.calendar-day.booked{background:#c5a89a;color:#6b4133;cursor:not-allowed;text-decoration:line-through}.calendar-day.past{color:#c1c0b6;cursor:default}.calendar-day.selected{background:var(--olive)!important;color:white!important}.calendar-day.range{background:#e0e5d8}.calendar-loading{grid-column:1/-1;padding:35px 0;text-align:center;color:#777;font-size:12px}.calendar-disclaimer{font-size:9px;line-height:1.7;color:#818274;border-bottom:1px solid var(--line);padding-bottom:18px;margin:0 0 24px}.form-heading{display:flex;align-items:center;gap:14px;margin-bottom:19px}.form-heading>span{font:15px var(--serif);color:#8b8d73}.form-heading h3{font-size:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label,.full-label{display:flex;flex-direction:column;gap:6px;min-width:0}.form-grid label>span,.full-label>span{font-size:9px;color:#6b6e61}.form-grid input,.form-grid select,.full-label textarea{width:100%;border:1px solid #deddd2;background:#fffdf8;padding:11px 10px;border-radius:0;color:var(--ink);font-size:11px;min-width:0}.form-grid input:focus,.form-grid select:focus,.full-label textarea:focus{outline:1px solid #7d856e;border-color:#7d856e}.checkbox-line{display:flex;align-items:flex-start;gap:9px;margin:16px 0;font-size:10px;color:#6e7064;line-height:1.5}.checkbox-line input{margin:3px 0 0;accent-color:var(--olive)}.full-label{margin-bottom:15px}.full-label textarea{resize:vertical}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden}.submit-button{width:100%;background:var(--olive);color:white;border:0;margin-top:5px}.submit-button:hover{background:#384331}.form-privacy{font-size:9px;text-align:center;color:#8a8b7f;margin:12px 0 0}.form-feedback{font-size:11px;line-height:1.6;margin-top:12px}.form-feedback.success{color:#3d6d45}.form-feedback.error{color:#9a493a}.site-footer{background:#252a22;color:#e4e2d8;padding:48px 8vw 25px;display:grid;grid-template-columns:1fr 1.2fr 1.8fr;gap:35px;align-items:start}.footer-mark{color:white}.footer-mark small{color:#b7b9ac}.site-footer>p{font:italic 17px/1.5 var(--serif);color:#c4c6ba;margin:0;max-width:310px}.footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:15px 20px}.footer-links a{color:#d1d2c8;font-size:9px}.site-footer>small{grid-column:1/-1;border-top:1px solid #444a3e;padding-top:18px;margin-top:15px;font-size:8px;letter-spacing:.14em;color:#aeb1a5}.menu-open .desktop-nav{display:flex;position:absolute;top:94px;left:0;right:0;background:var(--paper);padding:20px 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}@keyframes heroReveal{from{transform:scale(1.04);opacity:.7}to{transform:scale(1);opacity:1}}@media(max-width:1150px){.desktop-nav{gap:14px}.desktop-nav a{font-size:10px}.header-cta{display:none}.intro{gap:6vw}.house-section{gap:6vw}.booking-section{gap:4vw;padding-left:5vw;padding-right:5vw}.bed-photo,.bed-placeholder{height:230px}}@media(max-width:850px){.announcement{font-size:8px}.topline-right{display:none}.site-header{height:78px;padding:0 5vw}.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{gap:12px}.wordmark strong{font-size:20px}.hero{height:78vh;min-height:610px}.hero-copy{left:7vw;right:7vw;top:48%}.hero h1{font-size:clamp(58px,11vw,90px)}.hero-coordinate{display:none}.hero-bottom{left:6vw;right:6vw}.quick-facts{padding:25px 3vw}.fact-number{font-size:25px}.quick-facts>div>span:last-child{font-size:8px;letter-spacing:.07em}.intro,.house-section,.food-section{grid-template-columns:1fr;gap:55px}.intro{padding-top:85px}.intro-visual{height:520px;margin:0 10px}.section-heading{align-items:flex-start;flex-direction:column;gap:15px}.section-heading>p{max-width:550px}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 230px 230px}.photo-grid .photo-large{grid-row:span 2}.photo-grid figure:nth-child(5){grid-column:span 2}.house-image{height:570px;margin:0 20px}.house-copy{max-width:620px}.bedroom-grid{grid-template-columns:repeat(3,1fr)}.bedroom-card:nth-child(n+4){margin-top:10px}.bed-photo,.bed-placeholder{height:250px}.together-section{grid-template-columns:1fr}.together-image{min-height:420px;height:420px}.together-copy{padding:70px 9vw}.food-mosaic{height:520px}.region-grid{gap:18px}.region-image{height:190px}.privacy-strip{padding:65px 8vw;grid-template-columns:70px 1fr}.privacy-icon{width:55px;height:55px}.rates-grid{grid-template-columns:1fr 1fr}.rate-card.extras{grid-column:span 2;min-height:0}.booking-section{grid-template-columns:1fr;padding:70px 7vw;gap:35px}.booking-intro{padding-top:0}.booking-intro>p:not(.eyebrow){max-width:620px}.booking-details{max-width:520px}.booking-card{max-width:700px;width:100%;justify-self:center}.site-footer{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1;justify-content:flex-start}.site-footer>p{font-size:15px}}@media(max-width:560px){.announcement{height:28px;justify-content:center}.site-header{height:72px}.wordmark{min-width:0}.wordmark span{font-size:8px}.wordmark strong{font-size:18px}.wordmark small{font-size:7px}.language-switch{gap:0}.lang{padding:4px}.hero{height:78vh;min-height:580px}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(21,28,21,.58),rgba(21,28,21,.16)),linear-gradient(0deg,rgba(21,28,21,.48),transparent 65%)}.hero-topline{left:5vw;right:5vw;top:20px}.hero-pill{font-size:8px}.hero-copy{left:6vw;right:6vw;top:47%;transform:translateY(-35%)}.hero h1{font-size:clamp(53px,13vw,72px)}.hero-desc{font-size:13px;max-width:340px}.hero-buttons{align-items:flex-start;flex-direction:column;gap:13px}.hero-bottom{font-size:7px;letter-spacing:.1em;bottom:16px}.hero-caption{display:none}.quick-facts{grid-template-columns:1fr 1fr;row-gap:20px;padding:25px 5vw}.quick-facts>div:nth-child(2){border:0}.fact-number{font-size:28px}.section-pad{padding:72px 6vw}.section-pad h2,.section-heading h2,.privacy-strip h2{font-size:39px}.intro{gap:40px}.intro-copy>p:not(.eyebrow),.house-copy>p:not(.eyebrow),.food-copy>p:not(.eyebrow){font-size:13px}.intro-visual{height:370px;padding-left:13px;padding-bottom:14px;margin:0 0 10px}.image-note{right:-5px;padding:11px 12px;gap:10px}.image-note span:last-child{font-size:12px}.gallery-band{padding:70px 4vw 55px}.section-heading{margin:0 3vw 25px}.section-heading>p{font-size:12px}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 170px 170px;gap:5px}.photo-grid .photo-large{grid-row:span 2}.photo-grid figcaption{left:10px;bottom:10px;font-size:15px}.photo-grid figcaption small{font-size:7px}.gallery-foot{margin:16px 3vw 0;align-items:flex-start;gap:10px;font-size:9px}.gallery-foot .underlined-link{white-space:nowrap;font-size:9px;gap:8px}.house-image{height:400px;margin:0 10px}.house-stamp{left:-10px;bottom:25px;padding:17px 20px;min-width:170px}.house-stamp strong{font-size:22px}.amenities>div{grid-template-columns:30px 1fr}.bedrooms-section{padding-top:25px}.bedroom-grid{grid-template-columns:1fr 1fr;gap:12px}.bed-photo,.bed-placeholder{height:220px}.bed-label h3{font-size:18px}.bedroom-card:nth-child(n+4){margin-top:0}.bedroom-card:last-child{grid-column:span 2}.bedroom-card:last-child .bed-photo,.bedroom-card:last-child .bed-placeholder{height:230px}.together-image{height:300px;min-height:300px}.together-copy{padding:60px 7vw}.together-copy h2{font-size:40px}.together-copy>p:not(.eyebrow){font-size:12px}.food-mosaic{height:380px;gap:5px}.region-section{padding-top:30px}.region-head{margin-bottom:40px}.region-head h2{font-size:39px}.region-grid{grid-template-columns:1fr;gap:30px}.region-grid article>p{min-height:0}.region-image{height:230px}.privacy-strip{grid-template-columns:1fr;padding:55px 7vw;gap:20px}.privacy-icon{width:48px;height:48px;font-size:22px}.privacy-strip h2{font-size:38px}.rates-grid{grid-template-columns:1fr}.rate-card{min-height:0;padding:27px}.rate-card.extras{grid-column:auto}.rate-price{font-size:43px}.rate-supplement{padding:15px;font-size:12px}.booking-section{padding:60px 5vw}.booking-intro h2{font-size:42px}.booking-card{padding:20px 15px}.booking-card-head{align-items:flex-start;flex-direction:column}.calendar-legend{flex-direction:row}.availability-calendar{gap:8px}.calendar-day{font-size:8px}.calendar-day-name{font-size:7px}.form-grid{gap:11px}.form-grid input,.form-grid select{padding:10px 7px;font-size:10px}.form-grid label>span,.full-label>span{font-size:8px}.form-heading h3{font-size:21px}.site-footer{grid-template-columns:1fr;gap:20px;padding:38px 7vw 22px}.site-footer>p{max-width:350px}.footer-links{grid-column:auto;justify-content:flex-start;gap:12px 17px}.site-footer>small{grid-column:auto}.menu-open .desktop-nav{top:72px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Editorial photo-led refinement: richer imagery, clear photo discovery and lightbox */
.photo-grid{grid-template-columns:1.28fr 1fr 1fr;grid-template-rows:260px 250px;gap:13px}
.photo-tile,.image-button{display:block;position:relative;padding:0;border:0;background:transparent;text-align:left;overflow:hidden;cursor:pointer;color:inherit;font:inherit}
.photo-tile{width:100%;height:100%;min-height:0}
.photo-tile img,.image-button>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.65,.2,1)}
.photo-tile:hover img,.image-button:hover>img{transform:scale(1.045)}
.photo-tile:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(0deg,rgba(25,30,23,.68),transparent);pointer-events:none}
.photo-tile-caption{position:absolute;z-index:1;left:22px;right:20px;bottom:20px;color:#fff;display:flex;align-items:end;gap:12px}
.photo-tile-caption strong{font:500 20px/1.15 var(--serif);max-width:80%}
.photo-tile-caption small{display:block;font:500 9px/1.3 var(--sans);letter-spacing:.12em;margin-left:auto}
.photo-tile-caption i{font-style:normal;font-size:17px;margin-left:auto}
.photo-grid .photo-large{grid-row:span 2}
.gallery-open-link{border:0;background:none;padding:0;cursor:pointer;font:inherit}
.intro-visual{width:100%;border:0;text-align:left;cursor:pointer;background:transparent;position:relative;display:block;overflow:visible}
.intro-visual>img{width:100%;height:100%;object-fit:cover;display:block}
.image-note{pointer-events:none}
.image-note b{font:500 10px/1.2 var(--sans);letter-spacing:.08em;display:block;margin-top:9px;color:#fff}
.house-image{width:100%;border:0;cursor:pointer;text-align:left;display:block}
.house-stamp{pointer-events:none}
.house-stamp small{display:block;font:500 10px/1.4 var(--sans);letter-spacing:.1em;margin-top:15px}
.bed-photo{width:100%;display:block;border:0;padding:0;position:relative;overflow:hidden;cursor:pointer}
.bed-photo i{position:absolute;right:13px;bottom:13px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink);font-style:normal}
.together-image{border:0;padding:0;position:relative;display:block;min-width:0;overflow:hidden;cursor:pointer}
.together-image-badge{position:absolute;left:25px;bottom:25px;background:#f4f0e6;color:#293026;padding:13px 17px;font-size:10px;letter-spacing:.07em}
.activity-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:25px 0 20px}
.activity-preview button{padding:0;border:0;background:rgba(255,255,255,.07);color:#f3f0e6;text-align:left;cursor:pointer;min-width:0}
.activity-preview img{width:100%;height:92px;object-fit:cover;display:block;transition:opacity .25s}
.activity-preview button:hover img{opacity:.78}
.activity-preview span{display:block;font-size:10px;letter-spacing:.04em;padding:10px 9px 11px}
.light-link{color:#f3f0e6!important}
.food-mosaic .image-button{min-width:0;min-height:0;width:100%;height:100%;overflow:hidden}
.food-mosaic .image-button>img{width:100%;height:100%;object-fit:cover}
.food-mosaic .food-main>span{position:absolute;left:18px;bottom:18px;background:#f4f0e6;color:#252a22;padding:12px 15px;font-size:10px;letter-spacing:.06em}
.region-editorial article{min-height:290px;padding:24px 25px 27px;background:#f3f0e7;border-top:1px solid #d9d5c8}
.region-editorial .region-icon{font:400 42px/1 var(--serif);color:var(--olive);margin:29px 0 22px}
.region-editorial article>p{min-height:0}
.region-card-note{display:block;margin-top:22px;padding-top:15px;border-top:1px solid #d9d5c8;font-size:10px;line-height:1.6;color:#77796c}
.photo-lightbox{width:min(1120px,94vw);max-width:none;max-height:92vh;padding:55px 70px 44px;border:0;background:#1f241e;color:#f6f3ec;overflow:visible}
.photo-lightbox::backdrop{background:rgba(17,20,16,.88);backdrop-filter:blur(5px)}
.photo-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:17px}
.photo-lightbox figure img{display:block;max-width:100%;width:auto;height:min(72vh,760px);object-fit:contain}
.photo-lightbox figcaption{font:italic 22px/1.25 var(--serif);text-align:center}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;display:grid;place-items:center}
.lightbox-close{right:15px;top:15px;width:42px;height:42px;font-size:28px;border-radius:50%}
.lightbox-prev,.lightbox-next{top:48%;width:42px;height:52px;font-size:34px}
.lightbox-prev{left:13px}.lightbox-next{right:13px}
.lightbox-count{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.12em;color:#c6c9bd}
body.lightbox-open{overflow:hidden}
.photo-tile:focus-visible,.image-button:focus-visible,.activity-preview button:focus-visible,.gallery-open-link:focus-visible{outline:2px solid #a4a98e;outline-offset:3px}
@media(max-width:850px){.photo-grid{grid-template-rows:280px 230px 230px}.photo-grid .photo-large{grid-row:span 2}.region-editorial article{min-height:260px}.activity-preview img{height:105px}}
@media(max-width:560px){.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:245px 175px 175px;gap:6px}.photo-tile-caption{left:10px;right:8px;bottom:10px;gap:5px}.photo-tile-caption strong{font-size:14px}.photo-tile-caption small{font-size:6px}.photo-tile-caption i{font-size:14px}.photo-grid .photo-large{grid-row:span 2}.activity-preview{gap:6px;margin:20px 0 16px}.activity-preview img{height:76px}.activity-preview span{font-size:8px;padding:8px 6px}.together-image-badge{left:14px;bottom:14px;padding:10px 12px;font-size:8px}.photo-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;padding:65px 38px 48px;margin:0;border:0}.photo-lightbox figure img{height:70vh;max-width:100%;object-fit:contain}.photo-lightbox figcaption{font-size:18px}.lightbox-prev,.lightbox-next{width:30px;height:44px;font-size:27px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.region-editorial article{padding:20px;min-height:0}.region-editorial .region-icon{margin:22px 0 16px}}


/* Version 3 refinements: show each photograph completely and make galleries obvious */
.photo-tile,.image-button,.bed-photo,.region-photo{background:#ded9cc}
.photo-tile img,.image-button>img,.bed-photo img{
  object-fit:contain!important;
  background:#e6e1d6;
}
.photo-tile img,.image-button>img{transform:none!important}
.photo-tile:hover img,.image-button:hover>img{filter:brightness(.97)}
.together-section{grid-template-columns:minmax(0,.82fr) minmax(0,1fr);min-height:450px}
.together-image{min-height:450px;background:#e6e1d6}
.together-image img{padding:0}
.together-image-badge,.photo-tile-caption i,.region-photo-hint{
  border:1px solid rgba(255,255,255,.8);
  background:rgba(42,49,38,.78);
  backdrop-filter:blur(7px);
  border-radius:30px;
}
.together-image-badge{left:24px;bottom:24px;padding:13px 18px;font-size:10px;letter-spacing:.04em}
.region-editorial article{min-width:0}
.region-photo{width:100%;height:205px;margin:14px 0 7px;position:relative}
.region-photo img{width:100%;height:100%;display:block;padding:0}
.region-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(25,30,23,.48),transparent);pointer-events:none}
.region-photo-hint{position:absolute;z-index:2;bottom:12px;right:12px;padding:8px 12px;color:white;font-size:9px;letter-spacing:.03em}
.region-photo:hover .region-photo-hint{background:rgba(42,49,38,.95)}
.region-head{width:min(100%,760px);padding-inline:18px;box-sizing:border-box}
.region-head h2,.region-head p{max-width:100%;overflow-wrap:break-word}
.region-head>p:not(.eyebrow){width:min(100%,580px);box-sizing:border-box}
.region-grid article>p,.region-card-note{overflow-wrap:break-word;word-break:normal}
.gallery-open-link{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  border:1px solid #9b9c88;border-radius:30px;padding:12px 18px;
  text-decoration:none;background:transparent;color:#424638;
  letter-spacing:.02em;font-size:10px;transition:background .2s,color .2s,border-color .2s;
}
.gallery-open-link:hover{background:var(--olive-dark);border-color:var(--olive-dark);color:white}
.gallery-open-link span{font-size:15px}
.gallery-foot{gap:20px;flex-wrap:wrap}
.photo-lightbox{background:rgba(28,31,26,.97);color:#fff}
.photo-lightbox figure{max-width:calc(100% - 105px);width:100%}
.photo-lightbox figure img{width:100%;max-width:100%;height:min(74vh,780px);object-fit:contain;background:transparent}
.lightbox-close,.lightbox-prev,.lightbox-next{
  border:1px solid rgba(255,255,255,.5);background:rgba(238,235,225,.14);
  backdrop-filter:blur(8px);border-radius:50%;transition:background .2s,transform .2s;
}
.lightbox-close{width:46px;height:46px}
.lightbox-prev,.lightbox-next{width:48px;height:48px;top:calc(50% - 24px);font-family:var(--sans)}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:rgba(238,235,225,.3);transform:scale(1.04)}
.lightbox-count{bottom:18px;font-size:11px}
@media(max-width:850px){
 .together-section{grid-template-columns:1fr;min-height:0}
 .together-image{min-height:0;height:360px}
 .together-copy{padding:45px 7vw}
 .region-photo{height:180px}
}
@media(max-width:560px){
 .together-image{height:265px}
 .region-grid{grid-template-columns:1fr;gap:28px}
 .region-editorial article{min-height:0}
 .region-photo{height:220px}
 .gallery-foot{align-items:flex-start;flex-direction:column}
 .gallery-open-link{margin-top:5px}
 .photo-lightbox figure{max-width:100%}
 .photo-lightbox figure img{height:68vh}
}

.activity-preview img{object-fit:contain!important;background:#e6e1d6}
.region-editorial article{display:flex;flex-direction:column;align-items:stretch}
.region-editorial article>p{line-height:1.85;margin:7px 0 0}
.region-editorial .region-icon{flex:0 0 auto}
.region-card-note{margin-top:18px}
@media(max-width:850px){.region-editorial article{min-height:0}}


/* Version 5: consistent photo frames, a dedicated all-photos index and robust lightbox */
.region-editorial article{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:0;padding:27px 28px 30px}
.region-editorial article h3{font:400 clamp(23px,2.1vw,30px)/1.2 var(--serif);margin:0 0 10px;overflow-wrap:anywhere}
.region-editorial article>p{font-size:13px;line-height:1.8;margin:0;min-height:0;overflow-wrap:anywhere}
.region-editorial .region-icon{margin:0 0 18px;font-size:30px}
.region-card-note{margin-top:18px;padding-top:14px;line-height:1.7;overflow-wrap:anywhere}
.region-head{max-width:850px;margin:0 auto 42px}
.region-head>p:not(.eyebrow){width:auto;max-width:700px;font-size:14px;line-height:1.85;overflow-wrap:anywhere}
.region-grid{align-items:stretch}
.region-grid article{height:100%}

/* All non-hero photographs are contained fully inside their frames, never cropped. */
.intro-visual>img,.house-image>img,.together-image>img,
.photo-tile>img,.bed-photo>img,.food-mosaic .image-button>img,
.activity-preview img,.region-photo img,.photo-library-image img{
  object-fit:contain!important;
  object-position:center;
  background:#e9e5da;
}
.intro-visual>img,.house-image>img,.together-image>img,.food-mosaic .image-button>img{transform:none!important}
.photo-tile:hover>img,.image-button:hover>img{filter:brightness(.98)}
.photo-tile,.intro-visual,.house-image,.together-image,.food-mosaic .image-button{
  background:#e9e5da;
}
.photo-tile{border:1px solid rgba(61,66,52,.16)}
.photo-tile-caption{pointer-events:none}

/* Dedicated visual index with captions below each photograph */
.all-photos-section{padding:clamp(70px,8vw,112px) 6vw;background:#eeeadf;border-top:1px solid var(--line)}
.all-photos-heading{display:grid;grid-template-columns:1fr minmax(260px,.7fr);gap:7vw;align-items:end;max-width:1400px;margin:0 auto 34px}
.all-photos-heading h2{font:400 clamp(38px,5vw,64px)/1.04 var(--serif);letter-spacing:-.035em;margin:0}
.all-photos-heading h2 em{font-weight:400}
.all-photos-heading>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:500px;margin:0 0 5px}
.photo-filters{display:flex;gap:9px;flex-wrap:wrap;max-width:1400px;margin:0 auto 28px}
.photo-filter{appearance:none;border:1px solid #c8c5b7;background:transparent;color:#55594b;border-radius:30px;padding:10px 16px;font-size:11px;line-height:1.3;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.photo-filter:hover,.photo-filter.active{background:var(--olive-dark);border-color:var(--olive-dark);color:#fff}
.all-photos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;max-width:1400px;margin:0 auto}
.photo-library-card{display:flex;flex-direction:column;min-width:0;align-self:start;padding:0;text-align:left;color:var(--ink);border:1px solid #d8d4c8;background:#f9f6ef;cursor:pointer;overflow:hidden;box-shadow:0 3px 12px rgba(43,44,35,.035);transition:transform .2s,box-shadow .2s,border-color .2s}
.photo-library-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(43,44,35,.10);border-color:#aaa992}
.photo-library-card[hidden]{display:none!important}
.photo-library-image{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;padding:8px;background:#e4e0d5;border-bottom:1px solid #d8d4c8;overflow:hidden}
.photo-library-image img{width:100%;height:100%;object-fit:contain!important;object-position:center;background:transparent}
.photo-library-caption{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:14px 15px 16px;min-height:122px}
.photo-library-caption small{font-size:8px;line-height:1.45;letter-spacing:.09em;text-transform:uppercase;color:#7c8069;overflow-wrap:anywhere}
.photo-library-caption strong{font:400 19px/1.3 var(--serif);overflow-wrap:anywhere}
.photo-library-open{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:5px;font-size:9px;letter-spacing:.05em;color:#5c644c}
.photo-library-card:hover .photo-library-open{color:#22291e}
.photo-lightbox:not([open]){display:none!important}
.photo-lightbox[open]{position:fixed;inset:0;margin:auto;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(1180px,96vw);height:min(94vh,1000px);max-width:none;max-height:94vh;overflow:hidden;padding:58px 76px 52px;border:1px solid rgba(255,255,255,.16);border-radius:5px;background:rgba(28,31,26,.98);color:#fff}
.photo-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%;max-width:100%;min-height:0;margin:0}
.photo-lightbox figure img{display:block;width:100%;height:calc(100% - 42px);max-width:100%;max-height:calc(94vh - 155px);object-fit:contain!important;object-position:center;background:transparent}
.photo-lightbox figcaption{flex:0 0 auto;max-width:100%;font:italic clamp(16px,2vw,23px)/1.3 var(--serif);text-align:center;overflow-wrap:anywhere}
.lightbox-close,.lightbox-prev,.lightbox-next{z-index:2;box-shadow:0 3px 14px rgba(0,0,0,.15)}
.lightbox-count{z-index:2}
@media(max-width:1050px){.all-photos-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.all-photos-heading{gap:4vw}.region-editorial article{padding:22px}}
@media(max-width:760px){.all-photos-heading{grid-template-columns:1fr;gap:18px}.all-photos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-library-caption{padding:12px;min-height:116px}.photo-library-caption strong{font-size:17px}.photo-filters{gap:7px}.photo-filter{font-size:10px;padding:9px 12px}.photo-lightbox[open]{width:100vw;height:100dvh;max-height:100dvh;padding:62px 39px 48px;border-radius:0}.photo-lightbox figure img{height:calc(100% - 42px);max-height:75vh}.lightbox-prev{left:4px}.lightbox-next{right:4px}}
@media(max-width:420px){.all-photos-grid{grid-template-columns:1fr}.photo-library-image{aspect-ratio:5/3}.photo-library-caption{min-height:0}.region-editorial article{padding:21px}.region-editorial article h3{font-size:25px}.photo-lightbox figure img{max-height:72vh}}


/* Version 6: prevent food photographs from escaping their grid and improve image framing */
.food-section{position:relative;isolation:isolate;overflow:clip;align-items:center}
.food-mosaic{position:relative;display:grid;width:100%;height:clamp(340px,42vw,540px);min-height:0;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px;overflow:hidden;align-self:center}
.food-mosaic .image-button{position:relative;display:block;min-width:0;min-height:0;width:100%;height:100%;max-height:100%;padding:10px;overflow:hidden;border:1px solid #d2cbbb;border-radius:3px;background:#e8e3d7;box-shadow:0 5px 18px rgba(38,41,31,.07)}
.food-mosaic .food-main{grid-row:1 / span 2;grid-column:1;}
.food-mosaic .image-button:not(.food-main){grid-column:2}
.food-mosaic .image-button>img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center;background:#f4f0e7;border-radius:1px;transform:none!important}
.food-mosaic .food-main>span{z-index:2;left:20px;right:20px;bottom:20px;width:max-content;max-width:calc(100% - 40px);border:1px solid rgba(255,255,255,.72);border-radius:2px;box-shadow:0 4px 18px rgba(0,0,0,.12)}
.region-section{position:relative;z-index:1;clear:both;overflow:visible}
.bathrooms-block{margin-top:clamp(46px,7vw,88px);padding-top:clamp(32px,4vw,54px);border-top:1px solid var(--line)}
.bathrooms-heading{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:6vw;align-items:end;max-width:920px;margin-bottom:26px}
.bathrooms-heading .eyebrow{grid-column:1/-1;margin-bottom:12px}
.bathrooms-heading h3{font:400 clamp(28px,3.2vw,43px)/1.12 var(--serif);letter-spacing:-.025em;margin:0}
.bathrooms-heading h3 em{font-weight:400}
.bathrooms-heading>p:last-child{font-size:12px;line-height:1.85;color:var(--muted);margin:0}
.bathrooms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:900px}
.bathroom-card{display:flex;flex-direction:column;min-width:0;padding:0;text-align:left;border:1px solid #d6d1c4;border-radius:3px;overflow:hidden;background:#f9f6ef;box-shadow:0 5px 18px rgba(38,41,31,.055)}
button.bathroom-card{cursor:pointer;color:var(--ink)}
.bathroom-photo{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:clamp(190px,25vw,310px);min-height:0;padding:12px;background:#e5e0d4;overflow:hidden}
.bathroom-photo img{display:block;width:100%;height:100%;object-fit:contain!important;object-position:center;background:#f4f0e7}
.bathroom-caption{display:grid;grid-template-columns:34px 1fr;gap:3px 12px;align-items:center;padding:16px 18px 18px;border-top:1px solid #ddd7ca}
.bathroom-caption>small{grid-row:span 2;font:italic 16px var(--serif);color:#85896f}
.bathroom-caption strong{font:400 21px/1.3 var(--serif)}
.bathroom-caption>span{font-size:10px;line-height:1.6;color:var(--muted)}
.bathroom-placeholder .bathroom-photo{flex-direction:column;border-bottom:0;background:linear-gradient(135deg,#e9e5da,#f4f0e7)}
.bathroom-placeholder .bathroom-photo:before{content:"";position:absolute;inset:12px;border:1px solid #cbc7b9;pointer-events:none}
.bathroom-placeholder .placeholder-symbol{font-size:32px;color:#85896f}
.bathroom-placeholder .bathroom-photo>small{font-size:8px;letter-spacing:.16em;color:#777b65;margin-top:10px}
.photo-lightbox[open]{box-sizing:border-box;isolation:isolate}
.photo-lightbox figure img{object-fit:contain!important;width:100%;height:calc(100% - 48px);max-width:100%;max-height:calc(94vh - 155px);padding:8px;background:#292d26;border:1px solid rgba(255,255,255,.16);border-radius:3px}
.lightbox-close,.lightbox-prev,.lightbox-next{border-radius:50%;background:rgba(245,242,232,.12);border:1px solid rgba(245,242,232,.42);backdrop-filter:blur(8px);transition:background .2s,transform .2s}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:rgba(245,242,232,.25);transform:scale(1.04)}
@media(max-width:760px){.food-section{overflow:hidden}.food-mosaic{height:clamp(320px,100vw,430px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:7px}.food-mosaic .image-button{padding:6px}.food-mosaic .food-main>span{left:12px;right:12px;bottom:12px;max-width:calc(100% - 24px);padding:9px 10px;font-size:9px}.bathrooms-heading{grid-template-columns:1fr;gap:13px}.bathrooms-heading .eyebrow{grid-column:auto;margin-bottom:0}.bathrooms-grid{gap:12px}.bathroom-photo{height:clamp(170px,42vw,240px);padding:7px}.bathroom-caption{grid-template-columns:24px 1fr;padding:12px}.bathroom-caption strong{font-size:17px}.bathroom-caption>span{font-size:9px}}
@media(max-width:440px){.bathrooms-grid{grid-template-columns:1fr}.bathroom-photo{height:240px}.food-mosaic{height:310px}}

/* Refined guest supplement notice */
@media(max-width:640px){.rate-supplement{align-items:flex-start;flex-direction:column;gap:10px;padding:18px 18px;margin-top:22px}.rate-supplement p{font-size:12px}.rate-supplement p:before{margin-left:0}}

/* Version 8 — editorial photography refinement. The hero image and its styling are intentionally untouched. */

/* Let the photographs carry the design: no pale mats inside image frames. */
.intro-visual>img,
.house-image>img,
.together-image>img,
.photo-tile>img,
.bed-photo>img,
.food-mosaic .image-button>img,
.activity-preview img,
.region-photo img,
.photo-library-image img,
.bathroom-photo img {
  object-fit: cover !important;
  object-position: center;
  background: transparent;
}

/* Feature images: clean edges, with the existing offset accent kept subtle. */
.intro-visual { padding: 0 0 17px 17px; }
.intro-visual:before { left: 0; bottom: 0; width: 48%; height: 48%; border-color: rgba(75,86,62,.28); }
.house-image { overflow: visible; }

/* Outdoor image story: a quiet, editorial grid with larger image surfaces. */
.gallery-band { padding: clamp(68px,7.5vw,104px) 4.5vw clamp(58px,6vw,78px); }
.photo-grid {
  grid-template-columns: minmax(0,1.34fr) minmax(0,1fr) minmax(0,1fr);
  grid-template-rows: clamp(245px,24vw,350px) clamp(220px,21vw,305px);
  gap: 12px;
}
.photo-tile { border: 0 !important; outline-offset: 4px; }
.photo-tile img { transform: scale(1.001); transition: transform .7s cubic-bezier(.2,.65,.2,1), filter .35s ease; }
.photo-tile:hover img { transform: scale(1.035) !important; filter: brightness(.96); }
.photo-tile:after { inset: 42% 0 0; background: linear-gradient(0deg,rgba(22,27,20,.72),rgba(22,27,20,.05) 75%,transparent); }
.photo-tile-caption { left: 20px; right: 18px; bottom: 18px; gap: 10px; }
.photo-tile-caption strong { font-size: clamp(17px,1.6vw,23px); font-weight: 400; }
.photo-tile-caption small { font-size: 8px; }
.photo-tile-caption i { display: inline-flex; align-items: center; justify-content: center; width: 29px; height: 29px; flex: 0 0 29px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; font-size: 14px; transition: background .2s,color .2s; }
.photo-tile:hover .photo-tile-caption i { background: #f6f3ec; color: #292c23; }

/* Bedrooms and bathrooms: remove the card-like feel; let images align neatly. */
.bedroom-grid { gap: 18px; }
.bed-photo, .bathroom-photo { overflow: hidden; background: #e2ded2; }
.bed-photo { height: clamp(220px,22vw,310px); }
.bed-photo img, .bathroom-photo img { transition: transform .65s cubic-bezier(.2,.65,.2,1); }
.bedroom-card:hover .bed-photo img, .bathroom-card:hover .bathroom-photo img { transform: scale(1.035); }
.bed-label { padding: 14px 0 0; }
.bed-label h3 { font-size: 21px; }
.bathroom-card { border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.bathroom-photo { padding: 0 !important; }
.bathroom-caption { padding: 14px 0 0 !important; border-top: 1px solid rgba(41,44,35,.16); }

/* Full photo library: larger, full-bleed previews with captions beneath, not framed cards. */
.all-photos-section { background: #f3f0e8; border-top: 0; }
.all-photos-grid {
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 30px 22px;
}
.photo-library-card {
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
  transform: none;
}
.photo-library-card:hover { transform: translateY(-2px); }
.photo-library-image {
  aspect-ratio: 1.38 / 1;
  padding: 0 !important;
  border: 0 !important;
  background: #e3dfd4;
  overflow: hidden;
}
.photo-library-image img {
  object-fit: cover !important;
  transition: transform .7s cubic-bezier(.2,.65,.2,1), filter .35s ease;
}
.photo-library-card:hover .photo-library-image img { transform: scale(1.035); filter: brightness(.97); }
.photo-library-caption { padding: 13px 0 0 !important; min-height: 0 !important; gap: 5px !important; }
.photo-library-caption small { font-size: 8px; letter-spacing: .12em; color: #777b65; }
.photo-library-caption strong { font-size: clamp(18px,1.7vw,22px); line-height: 1.25; font-weight: 400; }
.photo-library-open { margin-top: 2px; padding-top: 2px; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.photo-library-card:focus-visible { outline: 2px solid #737b60; outline-offset: 5px; }

/* Keep the lightbox uncropped so guests can inspect each original photograph. */
.photo-lightbox figure img { object-fit: contain !important; background: transparent !important; }

@media (max-width: 1050px) {
  .photo-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); grid-template-rows: clamp(245px,32vw,330px) clamp(210px,27vw,280px) clamp(210px,27vw,280px); gap: 10px; }
  .all-photos-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 18px; }
  .bedroom-grid { gap: 15px; }
}
@media (max-width: 760px) {
  .photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: clamp(205px,53vw,285px) clamp(160px,40vw,220px) clamp(160px,40vw,220px); gap: 8px; }
  .photo-tile-caption { left: 12px; right: 10px; bottom: 12px; }
  .photo-tile-caption strong { font-size: 15px; }
  .photo-tile-caption small { font-size: 6px; }
  .photo-tile-caption i { width: 25px; height: 25px; flex-basis: 25px; }
  .intro-visual { padding: 0 0 12px 12px; }
  .intro-visual:before { width: 48%; height: 44%; }
  .all-photos-grid { gap: 22px 14px; }
  .photo-library-caption strong { font-size: 18px; }
  .bedroom-grid { gap: 13px; }
  .bed-photo { height: clamp(190px,34vw,250px); }
}
@media (max-width: 420px) {
  .all-photos-grid { grid-template-columns: 1fr; gap: 25px; }
  .photo-library-image { aspect-ratio: 1.45 / 1; }
  .photo-grid { gap: 6px; }
}


/* Domaine facilities overview */
.facilities-section{background:#f3f0e8}
.facilities-heading{margin-bottom:42px}
.facilities-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.facility-card{background:#fff;border:1px solid rgba(85,91,62,.12);padding:27px 24px 29px;min-height:205px;transition:transform .25s ease,box-shadow .25s ease}
.facility-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(38,42,27,.08)}
.facility-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e9ebdf;color:#66704c;font-family:Georgia,serif;font-size:27px;margin-bottom:20px}
.facility-card h3{font-family:'Playfair Display',Georgia,serif;font-size:21px;font-weight:500;margin:0 0 9px;color:#34372d}
.facility-card p{font-size:14px;line-height:1.7;color:#77786d;margin:0}
@media(max-width:900px){.facilities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.facilities-grid{grid-template-columns:1fr 1fr;gap:9px}.facility-card{padding:19px 15px;min-height:205px}.facility-card h3{font-size:18px}.facility-card p{font-size:13px}.facility-icon{width:42px;height:42px;margin-bottom:14px}}

/* Spacious bedroom cards and bed dimensions */
.bedroom-grid-five{align-items:start}.bed-photo{display:block;overflow:hidden}.bed-photo img{width:100%;height:100%;object-fit:cover}.bed-size{display:block;margin-top:7px;color:#747666;font-size:10px;line-height:1.55;letter-spacing:.015em}.bathroom-photo{display:block;height:260px;overflow:hidden}.bathroom-photo img{width:100%;height:100%;object-fit:cover}.bathroom-caption>span{font-size:10px;color:#77796c}

/* Regional guide: contained editorial overlay, never a long homepage section */
.nav-region-trigger,.footer-region-trigger{appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}
.region-invitation{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,90px);align-items:center;background:#f2efe7}
.region-invitation-photo{height:clamp(300px,42vw,560px);overflow:hidden}
.region-invitation-photo img{width:100%;height:100%;object-fit:cover;display:block}
.region-invitation-copy{max-width:560px;padding:36px 7vw 36px 0}
.region-invitation-copy h2{font:500 clamp(34px,4.5vw,58px)/1.13 'Playfair Display',Georgia,serif;color:#34372d;margin:15px 0 20px}
.region-invitation-copy h2 em{color:#85896e;font-weight:400}
.region-invitation-copy>p:not(.eyebrow){color:#77786d;line-height:1.85;margin:0 0 27px}
.region-dialog{border:0;padding:0;width:min(1440px,96vw);max-width:none;height:min(94vh,1100px);max-height:94vh;background:#f6f3ec;color:#36382f;overflow:hidden;box-shadow:0 30px 120px rgba(0,0,0,.35)}
.region-dialog::backdrop{background:rgba(25,28,21,.76);backdrop-filter:blur(5px)}
.region-dialog-shell{height:100%;display:flex;flex-direction:column}
.region-dialog-header{height:76px;flex:0 0 76px;padding:10px clamp(18px,4vw,56px);display:flex;align-items:center;justify-content:space-between;background:#f6f3ec;border-bottom:1px solid rgba(80,82,64,.14);position:relative;z-index:2}
.region-dialog-header .wordmark{transform:scale(.78);transform-origin:left center}
.region-dialog-actions{display:flex;align-items:center;gap:25px;color:#888a78;font-size:10px;letter-spacing:.15em}
.region-dialog-close{border:1px solid #d6d4c9;background:transparent;padding:10px 16px;color:#4b4d40;cursor:pointer;font:inherit;letter-spacing:0}
.region-dialog-scroll{overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth}
.region-dialog-hero{height:min(520px,55vh);min-height:370px;position:relative;display:flex;align-items:flex-end;color:white;overflow:hidden}
.region-dialog-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,25,19,.72),rgba(21,25,19,.18)),linear-gradient(0deg,rgba(21,25,19,.45),transparent 65%)}
.region-dialog-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.region-dialog-hero>div{position:relative;z-index:1;padding:clamp(30px,7vw,90px);max-width:850px}
.region-dialog-hero h2{font:500 clamp(38px,5.5vw,72px)/1.08 'Playfair Display',Georgia,serif;margin:15px 0 18px}
.region-dialog-hero h2 em{font-weight:400;color:#e0dfc9}
.region-dialog-hero>div>p:last-child{font-size:15px;line-height:1.85;max-width:660px;color:rgba(255,255,255,.9)}
.region-jumpnav{position:sticky;top:0;z-index:5;display:flex;justify-content:center;gap:clamp(14px,3vw,38px);flex-wrap:wrap;padding:17px 20px;background:rgba(246,243,236,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e6e1d6}
.region-jumpnav a{color:#656a50;text-decoration:none;font-size:11px;letter-spacing:.06em;white-space:nowrap}
.region-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center;padding:clamp(55px,8vw,110px) clamp(24px,8vw,120px);max-width:1300px;margin:auto;scroll-margin-top:65px}
.region-story-copy h3,.region-section-heading h3,.region-feature-row h3,.region-map-section h3{font:500 clamp(30px,4vw,48px)/1.15 'Playfair Display',Georgia,serif;margin:13px 0 22px;color:#34372d}
.region-story-copy p:not(.eyebrow),.region-destination p,.region-feature-row p,.region-activity-grid p{font-size:14px;line-height:1.9;color:#737568}
.region-story-image{margin:0}.region-story-image img{display:block;width:100%;aspect-ratio:1.2;object-fit:cover}.region-story-image figcaption,.region-destination figcaption{font-size:10px;color:#898a7c;margin-top:8px}
.region-source-note{font-size:11px!important;color:#8b8c80!important;font-style:italic;margin-top:24px}
.region-destinations,.region-outdoors{padding:70px clamp(24px,7vw,100px) 90px;background:#eeece3;scroll-margin-top:60px}
.region-section-heading{text-align:center;max-width:760px;margin:0 auto 42px}.region-section-heading>p:last-child{color:#77796d;line-height:1.8}
.region-destination-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.region-destination{background:#faf9f5;display:grid;grid-template-columns:42% 58%;min-height:270px}
.region-destination>img{width:100%;height:100%;min-height:270px;object-fit:cover}
.region-destination-body{padding:25px 27px;align-self:center}.region-distance{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8b8e72}
.region-destination h4,.region-activity-grid h4{font:500 24px 'Playfair Display',Georgia,serif;margin:10px 0 8px;color:#383a31}
.region-destination p{font-size:12px;line-height:1.75;margin:0 0 12px}.region-destination a,.region-feature-row a,.region-activity-grid a{font-size:11px;color:#747a58;text-decoration:none;border-bottom:1px solid #aeb197;padding-bottom:3px}
.region-destination-wide{grid-column:1/-1;grid-template-columns:48% 52%;min-height:320px}.region-destination-wide>img{min-height:320px}
.region-feature-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,7vw,100px);align-items:center;padding:clamp(55px,8vw,100px) clamp(24px,8vw,120px);max-width:1300px;margin:auto;scroll-margin-top:70px}
.region-feature-row figure{margin:0;min-height:320px;background:#e8e4d8;position:relative;overflow:hidden}.region-feature-row figure:after{content:'Marchés de producteurs · Quercy';position:absolute;inset:auto 0 0;padding:30px 18px 16px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.55));font:italic 18px 'Playfair Display',serif}
.region-feature-row ul{padding-left:18px;color:#747568;font-size:13px;line-height:2}.region-feature-row li{padding-left:4px}
.region-story-reverse{direction:rtl}.region-story-reverse>*{direction:ltr}
.region-outdoors{background:#f1efe8}
.region-activity-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.region-activity-grid article{background:#faf9f5;padding:34px 30px;min-height:300px}.region-activity-grid article>span{font-size:28px;color:#858c6d}.region-activity-grid h4{margin-top:22px}.region-activity-grid p{font-size:12px;line-height:1.8;min-height:150px}
.region-map-section{display:grid;grid-template-columns:.8fr 1.2fr;background:#3d4334;color:white;min-height:440px;scroll-margin-top:70px}
.region-map-section>div{padding:clamp(35px,6vw,75px);align-self:center}.region-map-section h3{color:white;margin-bottom:16px}.region-map-section p{line-height:1.8;color:#e2e3d8;font-size:14px}.region-map-section iframe{width:100%;height:100%;min-height:440px;border:0;filter:grayscale(.3)}
.region-endnote{text-align:center;padding:55px 20px 35px}.region-endnote p{font:italic 24px 'Playfair Display',Georgia,serif;color:#777d5c}.region-endnote button{margin-top:15px}
.region-image-credits{padding:18px clamp(20px,5vw,65px) 28px;display:flex;gap:15px;flex-wrap:wrap;color:#969689;font-size:10px;line-height:1.7;border-top:1px solid #e4e0d6}.region-image-credits strong{color:#737665}
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:10px;padding:13px 18px;border-radius:40px;background:#526348;color:#fff;text-decoration:none;box-shadow:0 8px 28px rgba(0,0,0,.2);font-size:12px;letter-spacing:.02em;transition:transform .2s,background .2s}.whatsapp-float:hover{transform:translateY(-3px);background:#414e39}.whatsapp-icon{font-size:20px;line-height:1}
body.region-open{overflow:hidden}
@media(max-width:850px){.region-invitation{grid-template-columns:1fr}.region-invitation-photo{height:330px}.region-invitation-copy{padding:10px 26px 48px}.region-story,.region-feature-row{grid-template-columns:1fr}.region-story-reverse{direction:ltr}.region-destination{grid-template-columns:1fr}.region-destination>img{height:230px;min-height:0}.region-destination-wide{grid-column:auto;grid-template-columns:1fr}.region-activity-grid{grid-template-columns:1fr}.region-activity-grid article{min-height:0}.region-activity-grid p{min-height:0}.region-map-section{grid-template-columns:1fr}.region-map-section iframe{min-height:340px}.region-dialog{width:100vw;height:100dvh;max-height:100dvh;max-width:none}.region-dialog-header{height:66px;flex-basis:66px}.region-dialog-actions>span{display:none}.region-dialog-hero{min-height:400px}.region-jumpnav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.region-jumpnav a{flex:0 0 auto}}
@media(max-width:520px){.region-dialog-header{padding:6px 12px}.region-dialog-header .wordmark{transform:scale(.65)}.region-dialog-close{padding:8px 10px}.region-dialog-hero{min-height:430px}.region-dialog-hero>div{padding:25px}.region-dialog-hero>div>p:last-child{font-size:13px}.region-destinations,.region-outdoors{padding:55px 14px}.region-destination-body{padding:22px}.region-story{padding:55px 22px}.region-feature-row{padding:55px 22px}.whatsapp-float{right:13px;bottom:13px;padding:11px 14px}.region-invitation-photo{height:260px}}

.region-market-visual{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;min-height:360px;overflow:hidden}
.region-market-visual img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.region-market-visual img:first-child{grid-row:1 / span 2}
@media(max-width:850px){.region-market-visual{min-height:300px}}
@media(max-width:520px){.region-market-visual{min-height:250px;gap:5px}}
.desktop-nav .nav-region-trigger{font-size:inherit;letter-spacing:inherit}.footer-links .footer-region-trigger{font-size:inherit;color:inherit}
.desktop-nav .nav-region-trigger{font-size:11px;letter-spacing:.045em;transition:color .2s}.desktop-nav .nav-region-trigger:hover,.footer-links .footer-region-trigger:hover{color:#8a754f}
