:root{--ink:#182724;--muted:#5d6c67;--green:#124d40;--accent:#fcbb67;--line:#dce5e0;--bg:#f3f6f4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #ce711f;outline-offset:4px}img{display:block;width:100%;object-fit:cover}p,h1,h2,h3{margin:0}header{position:sticky;top:0;z-index:10;background:#fffffff5;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px max(24px,calc((100vw - 1280px)/2));backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:750;letter-spacing:-.8px;line-height:1.1}.brand-mark{display:grid;place-items:center;width:43px;height:43px;background:var(--green);color:white;border-radius:12px;font-size:28px;font-weight:700;flex-shrink:0}.brand small{display:block;font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:6px}nav{display:flex;gap:26px;font-size:14px;font-weight:600}nav a:hover,.inline-link:hover{color:#ad5816}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:13px 19px;border-radius:9px;background:var(--green);color:white;font-size:14px;font-weight:650;white-space:nowrap;transition:filter .15s}.button:hover{filter:brightness(1.12)}.button span{font-size:19px}.button.accent{background:var(--accent);color:#142d25}.container{width:min(1280px,calc(100% - 48px));margin-inline:auto}.hero{height:355px;position:relative;border-radius:18px;overflow:hidden;margin-top:24px;background:var(--green)}.hero>img{position:absolute;height:100%;object-position:center 54%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,24,.95),rgba(7,31,24,.84) 32%,rgba(7,31,24,.22) 70%,rgba(7,31,24,.06))}.hero-content{position:relative;z-index:1;color:white;padding:32px 38px;max-width:680px}.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:700;color:var(--green);margin-bottom:9px}.hero .eyebrow{color:#bfe1cc}h1{font-size:clamp(30px,3.6vw,48px);line-height:1.13;letter-spacing:-1.8px;font-weight:720}.hero-content>p:not(.eyebrow){color:#e4ece5;max-width:490px;margin:16px 0 20px;line-height:1.5}.hero-caption{position:absolute;z-index:1;bottom:20px;right:23px;background:#17382bd9;color:white;font-size:12px;padding:6px 11px;border-radius:6px}.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:16px;background:white;border:1px solid var(--line);border-radius:12px;padding:20px 0}.quick-facts>div{padding:0 24px;border-right:1px solid var(--line)}.quick-facts>div:last-child{border:0}.quick-facts strong{display:block;font-size:19px;letter-spacing:-.4px}.quick-facts span{display:block;margin-top:4px;color:var(--muted);font-size:13px}.section{padding-top:44px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.section-heading>p{font-size:14px;color:var(--muted)}h2{font-size:30px;line-height:1.2;font-weight:720;letter-spacing:-.9px}h3{font-size:20px;line-height:1.3;letter-spacing:-.4px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.room-card{display:grid;grid-template-columns:35% 65%;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:white}.room-image{padding:0;border:0;position:relative;overflow:hidden;background:#d5dfd8}.room-image img{height:100%;object-position:53% center}.room-image>span{position:absolute;bottom:12px;left:12px;background:#ffffffeb;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:650}.room-content{padding:20px}.room-heading{display:flex;gap:10px;justify-content:space-between;align-items:center}.room-heading h3{font-size:24px}.badge{font-size:12px;color:var(--green);background:#e8f2ec;padding:4px 8px;border-radius:5px;white-space:nowrap;font-weight:650}.room-location{font-size:13px;color:var(--muted);margin-top:7px;min-height:39px}.room-content ul{list-style:none;padding:0;margin:12px 0;font-size:14px;line-height:1.45}.room-content li{margin-top:5px;padding-left:12px;position:relative}.room-content li:before{content:'·';position:absolute;left:0;font-weight:900}.room-note{font-size:12px;color:var(--muted);line-height:1.5;min-height:54px}.room-price{margin-top:13px;padding-top:13px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.room-price strong{font-size:21px;color:var(--ink);letter-spacing:-.6px}.inline-link{font-size:14px;font-weight:650;color:var(--green);padding:0;border:0;background:none;cursor:pointer;text-align:left}.room-price .inline-link{font-size:12px;white-space:nowrap}.rates-panel{border:1px solid var(--line);border-radius:13px;background:white;margin-top:20px;overflow:hidden}.rates-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.season-buttons{display:flex;gap:4px;background:var(--bg);border-radius:8px;padding:4px}.season-buttons button{background:transparent;border:0;border-radius:6px;font-size:14px;font-weight:600;padding:8px 14px}.season-buttons button[aria-pressed=true]{background:var(--green);color:white}.rates-toolbar p{font-size:14px;color:var(--muted)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:600px}th,td{padding:11px 24px;border-bottom:1px solid #edf1ee}thead{background:#f8faf8}thead th{font-size:13px;font-weight:600;color:var(--muted)}th small{display:block;font-size:12px;font-weight:400;line-height:1.4;margin-top:2px;color:var(--muted)}tbody th{font-size:15px;font-weight:650}td{font-size:15px;white-space:nowrap}td:last-child{color:var(--green);font-weight:650}.rate-footnote{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 24px}.rate-footnote p{font-size:12px;color:var(--muted)}.inventory{margin-top:13px;background:white;border:1px solid var(--line);border-radius:10px;padding:13px 20px}.inventory summary{font-size:14px;font-weight:600;cursor:pointer}.inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:18px}.inventory-grid p{font-size:14px;color:var(--muted)}.inventory-grid b{display:block;color:var(--ink);margin-bottom:4px}.facilities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.facilities-grid article{padding:20px;background:white;border:1px solid var(--line);border-radius:12px}.facility-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.number{font-size:12px;color:#87968d;font-weight:600}.status{font-size:12px;color:var(--green);font-weight:650;background:#eaf4ec;padding:4px 8px;border-radius:5px}.status.paid{background:#fff1db;color:#8e4f08}.facilities-grid h3{font-size:19px;margin-bottom:9px}.facilities-grid p{font-size:14px;color:var(--muted);line-height:1.55}.photo-strip{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:12px}.photo-strip button{height:205px;border:0;background:var(--green);padding:0;position:relative;overflow:hidden;border-radius:11px}.photo-strip img{height:100%;transition:transform .3s}.photo-strip button:hover img{transform:scale(1.035)}.photo-strip span{position:absolute;left:12px;bottom:12px;color:white;background:#163f30db;padding:5px 10px;border-radius:6px;font-size:13px}.rules-section{display:grid;grid-template-columns:1fr 1.55fr;gap:48px}.arrival{display:flex;gap:35px;margin:23px 0 12px}.arrival span{display:block;font-size:13px;color:var(--muted)}.arrival strong{font-size:25px;letter-spacing:-.7px}.rules-section>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:330px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}summary{cursor:pointer}.faq-list summary{font-size:15px;font-weight:650;list-style:none;position:relative;padding:15px 28px 15px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:3px;top:9px;font-size:23px;font-weight:400;color:var(--green)}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:14px;line-height:1.55;color:var(--muted);padding:0 22px 17px 0}.booking{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--green);color:white;border-radius:14px;padding:30px 32px;margin:38px 0 0}.booking .eyebrow{color:#bcdcca}.booking h2{font-size:27px}.booking p:not(.eyebrow){font-size:14px;color:#cee0d5;margin-top:10px;max-width:670px}.booking .button{flex-shrink:0}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0}footer>span{font-size:12px;color:var(--muted)}footer .brand{font-size:21px}footer .brand-mark{width:36px;height:36px;font-size:24px}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:20}.skip:focus{top:10px}dialog{border:0;padding:18px;background:#102a22;color:white;width:min(1000px,94vw);max-height:94vh;border-radius:12px}dialog::backdrop{background:#071510dd}.gallery-top,.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px}.gallery-top{margin-bottom:12px}.gallery-controls{justify-content:center;margin-top:12px;gap:35px}dialog button{background:transparent;color:white;border:1px solid #657a6e;border-radius:6px;min-width:44px;min-height:44px}#gallery-img{height:calc(85vh - 145px);object-fit:contain}.gallery-top button{border:0;font-size:23px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.hero{height:370px}}@media(max-width:1100px){nav{gap:16px}.room-card{grid-template-columns:1fr}.room-image{height:205px}.room-image img{object-position:center 52%}.room-location{min-height:0}.room-content ul{min-height:65px}.room-note{min-height:36px}.rates-toolbar{align-items:flex-start}.booking{gap:20px;padding:25px}.booking h2{font-size:24px}}
@media(max-width:760px){header{padding:12px 18px;gap:12px;flex-wrap:wrap}.brand{font-size:23px}.brand small{font-size:11px}.brand-mark{width:38px;height:38px;font-size:26px}header>.button{font-size:12px;gap:9px;padding:10px 13px}nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font-size:13px;gap:12px}.container{width:calc(100% - 32px)}html{scroll-padding-top:122px}.hero{margin-top:16px;height:auto;min-height:350px;border-radius:12px}.hero:after{background:linear-gradient(90deg,#092d24e8,#092d24a6)}.hero-content{padding:26px 23px 48px}.hero-content>p:not(.eyebrow){font-size:15px;margin:14px 0 18px}.hero-caption{font-size:11px;bottom:12px;right:15px}h1{font-size:34px;letter-spacing:-1px}.quick-facts{grid-template-columns:1fr 1fr;padding:0;border-radius:10px;gap:0}.quick-facts>div{padding:14px;border-right:0}.quick-facts>div:nth-child(odd){border-right:1px solid var(--line)}.quick-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.quick-facts strong{font-size:16px;letter-spacing:-.3px}.quick-facts span{font-size:12px}.section{padding-top:30px}.section-heading{display:block;margin-bottom:15px}.section-heading>p{margin-top:8px;font-size:13px}.section-heading>.inline-link{margin-top:12px}h2{font-size:26px}.eyebrow{font-size:11px}.room-grid{grid-template-columns:1fr}.room-card{grid-template-columns:34% 66%}.room-image{height:auto}.room-content{padding:16px}.room-heading{flex-wrap:wrap;gap:5px}.room-heading h3{font-size:22px}.room-location{font-size:12px;line-height:1.45}.room-content ul{font-size:13px;min-height:0}.room-note{font-size:12px;min-height:0}.room-price{flex-wrap:wrap;gap:5px}.room-price strong{font-size:19px}.room-image>span{left:8px;bottom:10px;font-size:11px}.rates-toolbar{padding:12px;gap:10px}.season-buttons{width:100%;gap:2px}.season-buttons button{padding:8px 7px;font-size:12px;flex:1}.rates-toolbar p{font-size:12px}th,td{padding:10px 15px}.rate-footnote{padding:12px 15px;align-items:flex-start;flex-direction:column;gap:8px}.inventory{padding:12px 15px}.inventory-grid{grid-template-columns:1fr;gap:13px}.facilities-grid{grid-template-columns:1fr 1fr;gap:10px}.facilities-grid article{padding:15px}.facility-top{align-items:flex-start;gap:7px;margin-bottom:11px}.number{display:none}.status{font-size:11px}.facilities-grid h3{font-size:17px}.facilities-grid p{font-size:13px}.photo-strip{grid-template-columns:1fr 1fr;gap:10px}.photo-strip button{height:165px}.photo-strip span{font-size:12px;left:8px;bottom:8px}.rules-section{grid-template-columns:1fr;gap:20px}.arrival{margin:16px 0 9px}.booking{display:block;padding:24px;margin-top:27px;border-radius:12px}.booking h2{font-size:24px}.booking .button{margin-top:19px;width:100%;white-space:normal;text-align:center}footer{flex-wrap:wrap;gap:18px;padding:24px 0}footer>span{order:3;width:100%}footer .inline-link{font-size:13px}}@media(max-width:370px){header>.button{font-size:11px;padding:10px}.room-card{grid-template-columns:1fr}.room-image{height:220px}.facilities-grid{grid-template-columns:1fr}.room-content ul,.room-location{font-size:14px}.quick-facts strong{font-size:15px}h1{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep explanatory copy readable at every viewport. */
.facilities-grid p,.faq-list p{font-size:16px}.room-content ul{font-size:15px}.booking p:not(.eyebrow){font-size:16px}

.brand-logo{width:52px;height:52px;object-fit:contain;flex-shrink:0}footer .brand-logo{width:45px;height:45px}@media(max-width:760px){.brand-logo{width:44px;height:44px}}

.brand-lockup{display:block}.brand-wordmark{width:210px;height:70px;object-fit:contain}.brand-lockup small{margin:0 0 0 8px;font-size:11px}footer .brand-wordmark{width:185px;height:62px}@media(max-width:760px){.brand-wordmark{width:165px;height:55px}.brand-lockup small{font-size:10px;margin-left:5px}header{gap:10px}html{scroll-padding-top:145px}}@media(max-width:370px){.brand-wordmark{width:145px;height:49px}}

header nav{flex-wrap:wrap;gap:10px 18px}.sup-promo{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#c9f0e7;border-radius:12px;padding:22px 24px;margin-top:30px}.sup-promo strong{font-size:23px}.sup-promo p{font-size:14px;margin-top:5px}@media(max-width:760px){header nav{justify-content:center;gap:8px 16px}.sup-promo{align-items:flex-start;flex-direction:column;padding:20px}.sup-promo strong{font-size:21px}html{scroll-padding-top:170px}}
