:root{--green:#203d32;--ink:#24392f;--paper:#f8f6ef;--sand:#e8e4d8;--muted:#68736a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b77c37;outline-offset:4px}.skip{position:fixed;top:-100px;z-index:99;background:white;padding:12px}.skip:focus{top:0}header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{font-size:17px;letter-spacing:2px;font-weight:600;line-height:1.4;display:flex;align-items:center;gap:12px}.brand small{display:block;font-size:9px;letter-spacing:5px;margin-top:4px}.brand-mark{font-size:43px;font-weight:normal}nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav-cta{border:1px solid #b8bfb5;border-radius:3px;padding:12px 18px}.hero{min-height:620px;height:76vh;max-height:880px;position:relative;overflow:hidden;color:white;margin:0 20px}.hero>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 48%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,27,18,.76),rgba(10,27,18,.1)),linear-gradient(0deg,rgba(10,27,18,.35),transparent 30%)}.hero-copy{position:relative;padding:8vh 6%;max-width:850px}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:600}.green{color:#52664e}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.07;letter-spacing:-2px}h1{font-size:clamp(52px,6.3vw,94px);margin:28px 0}h1 em,h2 em{font-weight:400}h2{font-size:clamp(38px,4.3vw,62px);margin:19px 0 27px}h3{font-size:27px;letter-spacing:-.8px;margin:12px 0}.hero p{color:#f2f2e7;margin-bottom:32px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:17px 23px;border:0;border-radius:2px;font-size:13px;font-weight:600;line-height:1.3}.light{background:var(--paper);color:var(--green)}.green-bg{background:var(--green);color:white}.hero-bottom{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.benefits{display:flex;justify-content:space-evenly;padding:26px 5%;border-bottom:1px solid var(--sand);font-size:12px;gap:20px}.section{max-width:1320px;margin:auto;padding:95px 45px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.section-heading>p{color:var(--muted);font-size:14px}.filters{display:flex;gap:10px;margin:15px 0 35px;flex-wrap:wrap}.filters button{border:1px solid #cdd1c6;background:none;padding:9px 24px;border-radius:30px;color:var(--green);font-size:12px}.filters button.active{background:var(--green);border-color:var(--green);color:white}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 25px}.room-card{min-width:0}.cover{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e2e5d9;display:block;width:100%;border:0;padding:0;color:var(--green)}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.cover:hover img{transform:scale(1.04)}.photo-count{position:absolute;bottom:14px;right:14px;border:1px solid #ffffff80;background:#14312499;color:white;padding:4px 10px;font-size:10px;border-radius:20px}.card-type{display:block;font-size:9px;letter-spacing:2px;margin-top:20px;color:var(--muted)}.room-tags{font-size:12px;color:var(--muted);margin:0 0 18px;min-height:20px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--sand);padding-top:14px;gap:8px}.price{font-size:21px}.price small{display:block;font-size:10px;color:var(--muted)}.text-button{font-size:12px;background:none;border:0;border-bottom:1px solid #788b78;color:var(--green);padding:5px 0}.experience{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--paper)}.experience-photo img{height:100%;min-height:650px;max-height:800px;width:100%;object-fit:cover}.experience-copy{padding:80px 13%;align-self:center}.experience-copy p{font-size:14px;color:#d0dbce;line-height:1.9}.experience-note{border-top:1px solid #6b7e6f;margin-top:30px;padding-top:20px}.experience-note small{display:block;margin-top:10px;color:#d0dbce;font-size:12px;line-height:1.8}.availability{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.availability>div:first-child{padding-top:45px}.muted{color:var(--muted);font-size:12px}.booking-box{background:#fffefa;padding:30px;border:1px solid var(--sand)}label{display:block;font-size:12px;font-weight:600}input,select{display:block;width:100%;padding:12px;border:1px solid #c7ccbf;background:#fffefa;color:var(--green);border-radius:3px;margin:6px 0 16px;min-width:0}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:18px 0}.calendar-nav button{background:none;border:1px solid var(--sand);padding:5px 13px}.calendar-nav strong{font-size:14px;text-transform:capitalize}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-size:11px}.weekdays{margin-bottom:8px;color:var(--muted)}.calendar span{padding:8px 0;background:#efeee9;border-radius:2px;color:#5e665e}.calendar .busy{background:#eed2c6;color:#793b25}.calendar .free{background:#d9e7ce;color:#304a29}.calendar .past{opacity:.35}.calendar .empty{background:none}.legend{display:flex;gap:16px;margin-top:17px;font-size:10px}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;background:#deded8}.legend .free{background:#90ae7c}.legend .busy{background:#c78a72}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-box .button{width:100%}.details{border-top:1px solid var(--sand)}.faq{max-width:850px;margin-left:auto}details{border-bottom:1px solid #d8ddcf;padding:23px 0}summary{cursor:pointer;font-size:16px}details p{color:var(--muted);font-size:14px;max-width:740px}.closing{text-align:center;background:#e6e9dc;padding:80px 25px}.closing h2{font-size:50px}footer{padding:45px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}footer .brand{display:block;font-size:13px}.floating-wa{position:fixed;bottom:22px;right:22px;background:var(--green);color:white;border:1px solid #aec4aa;padding:12px 20px;border-radius:30px;box-shadow:0 4px 18px #0002;font-size:12px;z-index:4}dialog{border:0;width:min(1100px,95vw);max-height:92vh;background:var(--paper);padding:35px;color:var(--ink)}dialog::backdrop{background:#132b22d9}.close{position:sticky;top:0;float:right;background:var(--paper);border:1px solid var(--sand);padding:8px 14px;z-index:2}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery-grid img{width:100%;height:360px;object-fit:cover}.admin-wrap{max-width:1000px;margin:auto;padding:45px 24px}.panel{background:white;border:1px solid var(--sand);padding:25px;margin-bottom:24px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.notice{padding:12px;background:#eee7d5;font-size:13px}.reservation{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--sand);padding:15px 0}.error{color:#8a2e1a}[hidden]{display:none!important}
@media(max-width:900px){nav{gap:15px}nav>a:not(.nav-cta){display:none}.room-grid{grid-template-columns:repeat(2,1fr)}.section{padding:65px 25px}.availability{gap:35px}.experience-copy{padding:45px 30px}.experience-photo img{min-height:580px}.benefits{font-size:10px}.hero{margin:0 12px}footer{flex-wrap:wrap}}
@media(max-width:600px){header{height:78px;padding:0 20px}.brand{font-size:12px;letter-spacing:1.5px;gap:7px}.brand-mark{font-size:29px}.brand small{font-size:8px;letter-spacing:3px}.nav-cta{font-size:10px;padding:10px}.hero{height:640px;min-height:0;max-height:none}.hero-copy{padding:70px 25px}h1{font-size:56px;letter-spacing:-2px}.hero p{font-size:13px}.hero-bottom{font-size:8px;left:25px;right:25px}.hero-bottom span{display:none}.benefits{display:grid;gap:10px;padding:22px 25px}.section-heading{display:block}.section-heading>p{margin-bottom:28px}.room-grid{grid-template-columns:1fr;gap:38px}.section{padding:58px 22px}.filters button{padding:8px 17px}.experience,.availability,.admin-grid{grid-template-columns:1fr}.experience-photo img{height:390px;min-height:0}.experience-copy{padding:45px 25px}.availability{gap:20px}.availability>div:first-child{padding-top:0}.booking-box{padding:20px}.closing h2{font-size:38px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:auto}dialog{padding:20px}footer{padding-bottom:95px}.floating-wa{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover img{transition:none}}
.gallery-grid{align-items:start}.gallery-grid img{height:auto;max-height:none;object-fit:contain}

.calendar .partial{background:#f3e4b8;color:#674d16}.legend .partial{background:#c9a752}.legend{flex-wrap:wrap}.reservation{flex-wrap:wrap}

.common-areas{border-bottom:1px solid var(--sand)}.common-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:30px 0}.common-grid article{border-top:2px solid #849778;padding:25px 8px 18px}.area-number{font-size:10px;letter-spacing:2px;color:var(--muted)}.common-grid h3{font-size:30px;margin:22px 0 15px}.common-grid p{font-size:13px;color:var(--muted)}.agenda-form-layout{max-width:650px;margin-top:24px}@media(max-width:900px){.common-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.common-grid{grid-template-columns:1fr;gap:10px}.common-grid article{padding:20px 4px}.nav-cta{font-size:10px}}

.common-photo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:35px 24px;margin:30px 0 35px}.common-photo-card{grid-column:span 2;min-width:0}.common-photo-card:nth-child(-n+2){grid-column:span 3}.common-cover{position:relative;display:block;width:100%;border:0;padding:0;overflow:hidden;background:var(--sand);aspect-ratio:4/3}.common-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.common-cover:hover img{transform:scale(1.04)}.common-card-copy{padding-top:19px}.common-card-copy h3{font-size:29px;margin:12px 0}.common-card-copy p{color:var(--muted);font-size:13px;margin:0 0 12px}.common-gallery img{height:auto;width:100%;object-fit:contain}.common-photo-card:last-child .common-cover img{object-position:center 65%}@media(max-width:900px){.common-photo-grid{grid-template-columns:1fr 1fr}.common-photo-card,.common-photo-card:nth-child(-n+2){grid-column:auto}.common-photo-card:last-child{grid-column:1/-1}.common-photo-card:last-child .common-cover{aspect-ratio:16/7}}@media(max-width:600px){.common-photo-grid{grid-template-columns:1fr;gap:32px}.common-photo-card:last-child{grid-column:auto}.common-photo-card:last-child .common-cover{aspect-ratio:4/3}.common-card-copy h3{font-size:28px}}@media(prefers-reduced-motion:reduce){.common-cover img{transition:none}}

/* Common-area photo viewer: one complete image and a horizontal filmstrip. */
dialog.common-mode{width:min(1100px,96vw);padding:24px;overflow:auto;border-radius:6px;max-height:94dvh}.common-mode .close{position:absolute;right:18px;top:16px;float:none;border-radius:50%;width:36px;height:36px;padding:0;background:var(--paper)}.viewer-heading{padding-right:40px}.viewer-heading h2{font-size:32px;letter-spacing:-.8px;margin:8px 0}.viewer-heading p{font-size:13px;color:var(--muted);margin:0 0 16px}.photo-stage{height:clamp(220px,52dvh,600px);position:relative;display:flex;align-items:center;justify-content:center;background:#15271f;border-radius:4px;overflow:hidden;touch-action:pan-y}.photo-stage>img{width:100%;height:100%;object-fit:contain;display:block}.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);height:44px;width:44px;border:1px solid #ffffff80;background:#172b22bf;color:white;border-radius:50%;font-size:34px;line-height:1;display:grid;place-items:center}.photo-arrow.prev{left:12px}.photo-arrow.next{right:12px}.photo-arrow:hover{background:#172b22}.viewer-bottom{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted);margin:10px 0}.viewer-bottom strong{color:var(--green);white-space:nowrap}.photo-thumbnails{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 9px;scroll-behavior:smooth;position:relative}.photo-thumbnails button{flex:0 0 78px;height:62px;padding:3px;background:transparent;border:2px solid transparent;border-radius:4px;opacity:.65}.photo-thumbnails button.selected{border-color:var(--green);opacity:1}.photo-thumbnails img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}@media(max-width:600px){dialog.common-mode{padding:17px;width:96vw;max-height:94dvh}.viewer-heading h2{font-size:26px}.viewer-heading p{font-size:12px}.photo-stage{height:48dvh;min-height:210px}.photo-arrow{width:38px;height:38px}.photo-arrow.prev{left:7px}.photo-arrow.next{right:7px}.photo-thumbnails button{flex-basis:65px;height:54px}.viewer-bottom{font-size:10px}}@media(prefers-reduced-motion:reduce){.photo-thumbnails{scroll-behavior:auto}}

.room-info{padding:18px 0 20px;border-top:1px solid #bec8b8}.room-info .card-type{margin-top:0}.room-info h3{margin:10px 0 12px}.room-name-button{font:inherit;letter-spacing:inherit;line-height:inherit;color:var(--green);background:none;border:0;border-bottom:1px solid #adbda6;text-align:left;padding:3px 0 5px;display:inline-flex;align-items:center;gap:14px}.room-name-button span{font:18px Arial,sans-serif}.room-name-button:hover{color:#536b40;border-color:currentColor}.room-info .room-tags{margin-bottom:13px}.room-info .card-bottom{padding-top:12px}.room-card{display:flex;flex-direction:column}.room-card>.cover{margin-top:auto}

/* Clear photo and availability actions, consistent title-first cards. */
.action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:var(--paper);border:1px solid var(--green);border-radius:4px;font:600 12px/1.3 Arial,sans-serif;padding:12px 17px;min-height:44px;text-decoration:none;white-space:nowrap}.action-button:hover{background:#355743;border-color:#355743}.common-photo-card{display:flex;flex-direction:column}.common-photo-card .common-card-copy{padding:18px 0 20px;border-top:1px solid #bec8b8}.common-photo-card .common-card-copy p{margin-bottom:17px}.common-photo-card>.common-cover{margin-top:auto}.instagram-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;border:1px solid #b8bfb5;border-radius:50%;color:var(--green);flex-shrink:0}.instagram-link:hover{background:#e6e9dc}.footer-instagram{border-radius:4px;padding:0 12px}header nav{gap:20px}@media(max-width:900px){nav>a.header-instagram{display:inline-flex}header nav{gap:10px}}@media(max-width:600px){header{padding:0 14px}.header-instagram{min-width:38px;min-height:38px}.header-instagram svg{width:19px;height:19px}.nav-cta{padding:10px 8px;font-size:9px}.brand{font-size:11px;gap:5px}.brand-mark{font-size:26px}.action-button{padding:11px 13px}.card-bottom{gap:12px;flex-wrap:wrap}}

/* Understated actions, shared by accommodations and common areas. */
.action-button{background:#edf0e7;color:var(--green);border:1px solid #cbd4c4;font-weight:500;padding:10px 13px;border-radius:4px;min-height:42px;font-size:12px}.action-button:hover{background:#dfe6d7;border-color:#a6b79d;color:var(--green)}.room-actions{display:flex;gap:8px;flex-wrap:wrap}.room-info .card-bottom{flex-wrap:wrap;align-items:flex-start;gap:14px}.room-info .price{width:100%}.room-name-button{border-bottom-color:#cbd4c4}.instagram-link{border-color:#d2dacb;background:transparent}.photo-count{background:#203d3270;border-color:#ffffff60;font-weight:400}.common-card-copy .action-button{margin-bottom:0}@media(max-width:600px){.room-actions .action-button{padding:10px 12px}}

/* Inline photo galleries and clearly separated accommodation cards. */
.room-grid{gap:30px}.room-card{background:#fffefa;border:1px solid #cbd3c3;border-radius:8px;overflow:hidden;box-shadow:0 3px 12px #203d3208;min-width:0}.room-card .room-info{padding:23px;border-top:0}.room-card .room-info .card-bottom{border-top:1px solid var(--sand)}.room-card .inline-gallery{margin-top:auto}.common-photo-card{background:#fffefa;border:1px solid #d9dece;border-radius:7px;overflow:hidden}.common-photo-card .common-card-copy{padding:23px;border-top:0}.common-photo-card .inline-gallery{margin-top:auto}.inline-gallery{position:relative;min-width:0;width:100%}.inline-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;outline-offset:-3px}.inline-track::-webkit-scrollbar{display:none}.inline-slide{margin:0;flex:0 0 100%;min-width:0;position:relative;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:4/3;background:#e4e8de}.inline-slide img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}.inline-slide figcaption{position:absolute;bottom:11px;right:12px;background:#203d328c;color:white;font-size:10px;padding:3px 9px;border-radius:20px}.inline-arrow{position:absolute;top:calc((100% - 38px)/2);transform:translateY(-50%);width:33px;height:38px;border:1px solid #ffffffa0;background:#f8f6efe8;color:var(--green);border-radius:4px;font-size:27px;line-height:1;z-index:1}.inline-prev{left:10px}.inline-next{right:10px}.inline-arrow:disabled{opacity:.3;cursor:default}.inline-footer{display:flex;justify-content:space-between;gap:10px;min-height:38px;padding:10px 14px;font-size:10px;color:var(--muted);background:#f1f3eb}.inline-count{white-space:nowrap}.hero-outline{background:transparent;color:white;border:1px solid #fff;border-radius:3px}.hero-outline:hover{background:#ffffff1c}.common-photo-card:last-child .inline-slide img{object-position:center 65%}@media(max-width:600px){.room-grid{gap:35px}.room-card .room-info,.common-photo-card .common-card-copy{padding:20px}.inline-arrow{width:32px;height:36px}}@media(prefers-reduced-motion:reduce){.inline-track{scroll-behavior:auto}}

/* Preserve the entire photograph in inline carousels, without zoom/cropping. */
.inline-slide{background:#e7eade}.inline-slide img{object-fit:contain;object-position:center!important}.common-photo-card:last-child .inline-slide img{object-fit:contain;object-position:center!important}

.calendar-icon{display:inline-block;vertical-align:middle;flex-shrink:0;background:transparent}.nav-cta,.floating-wa{display:inline-flex;align-items:center;gap:8px}.button:has(.calendar-icon){justify-content:center;gap:10px}

header{height:108px}.brand-logo{display:flex;flex-shrink:0}.brand-logo img{display:block;width:170px;height:90px;object-fit:contain}@media(max-width:600px){header{height:88px}.brand-logo img{width:125px;height:68px}header nav{gap:8px}.nav-cta{white-space:nowrap}}

/* Center the three hospitality notes beneath the hero on every screen. */
.benefits{text-align:center;align-items:center}.benefits>span{text-align:center}@media(max-width:600px){.benefits{justify-items:center}.benefits>span{width:100%}}
