@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--ink:#17323a;--teal:#126c73;--cream:#f8f7f2;--sand:#eae7dc;--muted:#61747a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.6 'DM Sans',Arial,sans-serif}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.section{padding:100px 0}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand-title{font-family:'DM Serif Display',Georgia,serif;font-weight:400}h1{font-size:clamp(58px,8vw,112px);line-height:.98;letter-spacing:-.035em;margin:18px 0 26px}h2{font-size:clamp(38px,5vw,64px);line-height:1.08;letter-spacing:-.02em;margin:16px 0 26px}h2 em{font-weight:400;color:var(--teal)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}.eyebrow.light{color:#d4ece7}.site-header{background:#fff;position:relative;z-index:3}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--teal);border-radius:50%;color:var(--teal);font:19px Georgia}.brand-title{font-size:24px;line-height:1}.brand-title small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:.21em;margin-top:8px}.nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700}.nav a:hover,.inline-link:hover{color:var(--teal)}.nav-book{background:var(--ink);color:#fff!important;padding:12px 19px;border-radius:50px}.hero{height:min(720px,75vw);min-height:560px;position:relative;display:flex;align-items:center;color:#fff;background:#18343c}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(6,31,39,.78),rgba(8,29,38,.38) 55%,rgba(8,29,38,.1))}.hero-content{position:relative;z-index:1}.hero-content p{font-size:19px;max-width:480px}.hero h1 .dot{color:#9cdbc7}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:0;border-radius:50px;padding:15px 23px;font-weight:700}.button-light{background:#fff;color:var(--ink)}.button-primary{background:var(--teal);color:#fff;width:100%}.text-link{border-bottom:1px solid #ffffffb0;padding:6px 0;font-weight:700}.hero-caption{position:absolute;bottom:24px;right:4%;z-index:1;font-size:11px;letter-spacing:.15em}.facts{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;transform:translateY(-34px);position:relative;z-index:2;box-shadow:0 12px 40px #122c3814}.facts div{padding:23px 32px;border-right:1px solid #e5e8e5}.facts div:last-child{border:0}.facts strong{display:block;font:34px 'DM Serif Display',Georgia,serif;line-height:1.1}.facts span{font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.intro,.location,.more-stays{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.intro{padding-top:55px}.intro-copy p,.location-copy p,.more-stays p{color:var(--muted);max-width:500px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:27px 0 34px}.chips span{border:1px solid #cbd9d7;border-radius:30px;padding:8px 14px;font-size:13px}.inline-link{font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:6px;display:inline-block}.intro-image,.location-image{position:relative}.intro-image img{height:510px;object-fit:cover}.intro-image span{position:absolute;bottom:20px;left:20px;background:#fff;padding:9px 15px;font-size:11px;letter-spacing:.15em}.gallery-section{background:#efeee8}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}.section-heading p{max-width:245px;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:205px;gap:12px}.photo{border:0;padding:0;overflow:hidden;background:#d9dfdf}.photo img{height:100%;object-fit:cover;transition:transform .35s}.photo:hover img{transform:scale(1.045)}.photo-wide{grid-column:span 2;grid-row:span 2}.location-image img{height:460px;object-fit:cover}.booking-section{background:#173c43;color:#fff}.booking-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center}.booking-copy p{max-width:490px;color:#d0dcda}.booking-copy h2 em{color:#a7dfd1}.booking-aside{margin-top:35px;display:flex;gap:14px;align-items:center;color:#c5ded8}.booking-card{background:#fff;color:var(--ink);padding:35px;border-radius:5px;box-shadow:0 20px 50px #001c2020}.booking-card h3{font-size:33px;margin:0}.booking-card>p{color:var(--muted);font-size:14px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}.date-fields label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.date-fields input,.date-fields select{display:block;width:100%;padding:13px 11px;margin-top:8px;border:1px solid #bac9c8;border-radius:3px;background:#fff;color:var(--ink)}.field-full{grid-column:span 2}.date-error{min-height:20px!important;color:#a52828!important;font-size:13px}.booking-card small{display:block;margin-top:17px;color:var(--muted);font-size:12px;line-height:1.5}.stay-card{background:#fff;box-shadow:0 15px 40px #143b4217}.stay-card img{height:300px;object-fit:cover}.stay-card>span{display:block;margin:19px 22px 3px;font-size:10px;letter-spacing:.15em;color:var(--teal)}.stay-card strong{display:flex;justify-content:space-between;padding:0 22px 22px;font:26px 'DM Serif Display',Georgia,serif}.footer{background:#102e35;color:#fff;padding:40px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:13px}.footer .brand-title{font-size:22px}.floating-wa{position:fixed;bottom:22px;right:22px;z-index:5;background:#20a971;color:white;border-radius:50px;padding:11px 19px;box-shadow:0 8px 28px #0003;font-size:13px;font-weight:700}.lightbox{border:0;background:#101a1b;padding:44px;max-width:95vw;max-height:95vh}.lightbox::backdrop{background:#000e}.lightbox img{max-height:80vh;max-width:85vw;object-fit:contain}.lightbox-close{position:absolute;right:7px;top:0;background:none;color:#fff;border:0;font-size:32px}
@media(max-width:800px){.header-inner{height:76px}.nav>a:not(.nav-book){display:none}.brand-title{font-size:21px}.hero{min-height:610px;height:75vh}.hero-image{object-position:center}.hero-content p{max-width:390px}.facts div{padding:18px}.intro,.location,.more-stays,.booking-layout{grid-template-columns:1fr;gap:35px}.section{padding:70px 0}.intro{padding-top:30px}.intro-image img,.location-image img{height:400px}.section-heading{display:block}.photo-grid{grid-auto-rows:160px}.booking-layout{gap:35px}.footer-inner{flex-wrap:wrap}}@media(max-width:560px){.wrap{width:min(100% - 32px,1160px)}.nav-book{font-size:11px;padding:10px 12px}.brand-icon{width:36px;height:36px}.brand-title{font-size:18px}.brand-title small{font-size:7px}.hero{min-height:610px}.hero-shade{background:linear-gradient(90deg,#06202fd9,#06202f72)}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-caption{left:16px;right:auto}.facts{grid-template-columns:repeat(2,1fr);transform:translateY(-20px)}.facts div:nth-child(2){border-right:0}.facts div:nth-child(-n+2){border-bottom:1px solid #e5e8e5}.facts strong{font-size:28px}.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:130px;gap:7px}.photo-wide{grid-column:span 2;grid-row:span 2}.intro-image img{height:320px}.location-image img{height:300px}.booking-card{padding:24px}.footer-inner{display:block}.footer-inner>*{display:block;margin:0 0 16px}.floating-wa{bottom:14px;right:14px}.lightbox{padding:28px 6px}}
.booking-next{margin-top:12px;background:#173c43}.booking-next[hidden]{display:none}.date-success{color:#126c53!important}.booking-card button:disabled{opacity:.65;cursor:wait}
.booking-quote{padding:14px 16px;background:#e5f3ed;border:1px solid #a8d4bf;border-radius:4px;color:#173c43;font-weight:700;font-size:14px}.booking-quote[hidden]{display:none}

/* Preserve conditional visibility of booking controls. */
[hidden]{display:none!important}
