*{box-sizing:border-box}body{margin:0;background:#fbf7ee;color:#203c37;font:16px/1.6 system-ui,sans-serif}header,footer{padding:20px clamp(16px,5vw,80px);display:flex;justify-content:space-between;gap:16px;align-items:center}header a{color:inherit;text-decoration:none}nav{display:flex;align-items:center;gap:16px}.brand{font-family:Georgia,serif;font-weight:bold;overflow-wrap:anywhere}h1,h2,h3{font-family:Georgia,serif;line-height:1.1;font-weight:normal}h1{font-size:clamp(40px,7vw,86px);margin:12px 0}h2{font-size:clamp(29px,4vw,48px);margin:.2em 0 .5em}.hero{position:relative;isolation:isolate;min-height:480px;display:flex;align-items:end;padding:clamp(25px,6vw,100px);color:white}.hero img,.hero:after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after{content:'';z-index:-1;background:linear-gradient(0deg,#142d28df,transparent 90%)}.hero p{font-size:19px}.hero span,article span{text-transform:uppercase;letter-spacing:.14em;font-size:12px}main>section:not(.hero){max-width:1200px;margin:auto;padding:38px clamp(16px,5vw,55px)}.cards,.booking{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}article,form,.booking>div{background:white;border:1px solid #e7dfcc;border-radius:16px;overflow:hidden}article img{width:100%;height:280px;object-fit:cover}article>div,form,.booking>div{padding:24px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery img{width:100%;height:180px;object-fit:cover;border-radius:8px}.intro p{font-size:20px}.cta{display:inline-block;border:0;border-radius:30px;padding:12px 19px;background:#28594e;color:white;text-decoration:none;font:inherit;cursor:pointer}.hero .cta{background:#fbf7ee;color:#203c37}button,input,select,textarea{font:inherit}input,select,textarea{padding:7px;border:1px solid #a5b2a8;border-radius:6px;background:white;width:100%;min-width:0}nav select{width:auto}.month-nav{display:flex;justify-content:space-between}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.days button,.month-nav button{border:0;border-radius:5px;background:#e4efe9;color:#203c37;cursor:pointer;padding:5px 1px}.month-nav button{padding:4px 12px}.days small{display:block;font-size:10px}.days strong{font-size:11px}form{display:grid;grid-template-columns:1fr 1fr;gap:10px}form p,form button,form label:last-of-type{grid-column:1/-1}form p{margin:0}label{display:grid;gap:4px;font-size:14px}footer{background:#203c37;color:white;margin-top:30px}@media(max-width:700px){.cards,.booking{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:140px}.hero{min-height:420px}header nav>a{display:none}}

.gallery-thumb{padding:0;border:0;background:none;cursor:zoom-in;min-width:0}.gallery-thumb img{display:block}.photo-viewer{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:12px;border:0;border-radius:14px;background:#142d28;color:white}.photo-viewer::backdrop{background:#091b19dd}.viewer-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.viewer-stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.viewer-stage img{width:100%;height:min(74dvh,800px);object-fit:contain}.photo-viewer button{border:0;border-radius:8px;background:#28594e;color:white;font-size:26px;min-width:40px;cursor:pointer}.hero button.cta{margin-top:8px}

/* Consistent type and spacing across the rental site */
.brand,h1,h2,h3{font-family:inherit}
h1,h2,h3{font-weight:650;letter-spacing:-.025em}
h1{font-size:clamp(2.25rem,5.3vw,4.25rem);line-height:1.08;max-width:19ch;text-wrap:balance}
h2{font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.2;text-wrap:balance}
.hero p{font-size:clamp(1rem,1.7vw,1.125rem);max-width:58ch}
.hero span,article span{font-weight:650;letter-spacing:.09em}
.intro p{font-size:1rem}
.cta{font-weight:650}
main>section.home-closing{max-width:900px}
main>section.home-region{padding-bottom:12px}

.home-region p:first-child{font-size:1.125rem}
.home-region h2{margin-top:1.2em}
.home-region ul{padding-inline-start:1.2em}
.home-region li+li{margin-top:.65em}
main>section.cards{padding-top:12px}
.cards article{display:flex;flex-direction:column}
.cards article>div{display:flex;flex:1;flex-direction:column;align-items:flex-start}
.cards article p{margin:0 0 1em}
.cards article .cta{margin-top:auto}
.home-closing{text-align:center}
