: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}}
