@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&display=swap');
:root{--green:#233d32;--cream:#f8f5ee;--gold:#b39762;--ink:#263a31;--muted:#68716a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c09b4f;outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.14}h1{font-size:clamp(46px,6vw,86px);max-width:820px;margin-bottom:24px}h2{font-size:clamp(34px,4vw,54px);margin-bottom:24px}h3{font-size:28px}p{color:var(--muted)}.wrap{width:min(1200px,88%);margin:auto}.eyebrow{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 25px;background:var(--green);color:#fff;border:1px solid var(--green);font-size:13px;font-weight:600}.btn.gold{background:#c3aa77;border-color:#c3aa77;color:#1d3026}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:5px;font-size:13px;font-weight:600}.topbar{background:var(--green);color:#e4e9e0;text-align:center;font-size:11px;padding:7px 15px;letter-spacing:1px}.header{position:sticky;top:0;z-index:20;background:var(--cream);border-bottom:1px solid #e6e4db}.nav{height:85px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-size:36px;color:var(--gold);line-height:1}.brand-name{font-family:Georgia,serif;font-size:24px;letter-spacing:2px;line-height:1.1}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:4px;margin-top:7px}.navlinks{display:flex;align-items:center;gap:30px;font-size:12px}.menu{display:none;background:none;border:1px solid #bdc5bb;padding:7px 12px}.hero{height:min(730px,80vh);min-height:540px;position:relative;background:#273b30;overflow:hidden;color:white}.slides,.shade{position:absolute;inset:0}.slides img{height:100%;position:absolute;opacity:0;transform:scale(1.045);transition:opacity 1.7s ease,transform 8s linear}.slides img.active{opacity:1;transform:scale(1)}.shade{background:linear-gradient(90deg,rgba(10,29,20,.64),rgba(10,29,20,.14)),linear-gradient(0deg,rgba(10,29,20,.35),transparent 50%)}.hero-copy{position:relative;padding-top:110px}.hero .eyebrow{color:#e1cfaa}.hero p{color:#f0f1e9;max-width:460px;font-size:16px}.hero em{color:#e3d2ae}.hero-actions{display:flex;gap:15px;margin-top:30px}.hero-controls{position:absolute;bottom:32px;left:6%;right:6%;display:flex;align-items:center;gap:12px}.hero-controls button{background:transparent;color:white;border:1px solid #ffffff66;width:37px;height:37px}.hero-controls .dot{width:23px;height:3px;border:0;padding:0;background:#ffffff66}.hero-controls .dot.active{background:#e2c98e}.slide-count{margin-left:auto;font-size:12px;letter-spacing:3px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #dedfd4;padding:30px 0;gap:24px}.benefits div{border-right:1px solid #d8d9ce;font-size:13px;text-align:center}.benefits div:last-child{border:0}.benefits span{display:block;color:var(--muted);font-size:11px}section{padding:90px 0}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.intro-visual{position:relative;padding-right:35px;padding-bottom:35px}.intro-visual img{height:470px}.intro-visual:after{content:'';position:absolute;inset:35px 0 0 35px;border:1px solid var(--gold);z-index:-1}.note{margin:30px 0 0;padding-left:22px;border-left:2px solid var(--gold);font-family:Georgia,serif;font-size:19px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}.section-heading h2{margin:0}.rooms-section{background:#eeeede}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.room-card{background:var(--cream)}.room-image{overflow:hidden;position:relative;display:block}.room-image img{height:300px;transition:transform .7s}.room-image:hover img{transform:scale(1.045)}.room-image span{position:absolute;top:18px;left:18px;background:var(--cream);padding:4px 12px;font-size:10px;letter-spacing:2px}.room-body{padding:28px}.room-body h3{margin-bottom:13px}.room-body p{font-size:13px}.room-meta{border-top:1px solid #dcded2;padding-top:16px;display:flex;justify-content:space-between;font-size:11px;margin:20px 0}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:45px}.amenity{border-top:1px solid #b8c4b4;padding-top:20px}.amenity b{display:block;font-family:Georgia,serif;font-size:20px;font-weight:400}.amenity p{font-size:13px;margin-top:9px}.green-section{background:var(--green);color:var(--cream)}.green-section p{color:#c3d0c4}.green-section .eyebrow{color:#d3bb86}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.gallery button{border:0;padding:0;background:none;overflow:hidden}.gallery img{height:230px;transition:transform .5s}.gallery button:hover img{transform:scale(1.04)}.gallery button:first-child{grid-column:span 2;grid-row:span 2}.gallery button:first-child img{height:473px}.gallery-more{margin-top:24px}.gallery-extra{margin-top:14px}.gallery-extra[hidden]{display:none}.explore-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.attractions{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.attraction{border-top:1px solid #d6d9cb;padding:22px 0}.attraction h3{font-size:22px;margin-bottom:9px}.attraction p{font-size:13px;margin-bottom:8px}.attraction a{font-size:11px;text-transform:uppercase;letter-spacing:1px}.source{font-size:11px;margin-top:20px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-details{display:grid;gap:20px;margin-top:30px}.contact-details small{display:block;color:#aabcae;letter-spacing:2px;font-size:10px}.contact-details a{font-size:20px}.contact-details p{margin:0}.enquiry{background:var(--cream);padding:35px;color:var(--ink)}.enquiry h3{font-size:28px;margin-bottom:10px}.enquiry p{color:var(--muted);font-size:12px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:11px;font-weight:600}input,select{width:100%;min-width:0;padding:12px;background:transparent;border:1px solid #c5cbbd;border-radius:0;color:var(--ink);margin:6px 0 17px}form .btn{width:100%;margin-top:9px}.footer{padding:32px 0;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.chat-toggle{position:fixed;bottom:24px;right:24px;z-index:40;border:0;background:#276e48;color:white;border-radius:50px;box-shadow:0 5px 30px #0003;padding:14px 21px}.chat-panel{position:fixed;bottom:87px;right:24px;z-index:40;background:var(--cream);box-shadow:0 8px 40px #0003;padding:25px;width:320px;max-width:calc(100vw - 32px);border-top:4px solid #276e48}.chat-panel h3{font-size:25px}.chat-panel p{font-size:13px}.chat-panel a{display:block;padding:12px;border:1px solid #c8d0c1;margin-top:10px;font-size:13px}.page-banner{height:350px;position:relative;color:white;display:flex;align-items:center;text-align:center}.page-banner img{position:absolute;height:100%;inset:0}.page-banner .shade{background:#152c2190}.page-banner .wrap{position:relative}.page-banner h1{margin:0 auto 15px;font-size:60px}.breadcrumb{font-size:12px}.room-detail{display:grid;grid-template-columns:1.25fr .75fr;gap:70px}.room-feature{height:480px;margin-bottom:25px}.room-aside{border:1px solid #ccd1c2;padding:32px;align-self:start;position:sticky;top:115px}.room-aside ul{padding-left:18px;color:var(--muted);font-size:14px}.room-aside .btn{width:100%}.room-gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px}.room-gallery button{border:0;padding:0;background:none}.room-gallery img{height:240px}dialog{border:0;background:#14231cf5;color:white;padding:60px 20px 20px;width:96vw;max-width:1300px}dialog::backdrop{background:#000b}dialog img{max-height:78vh;object-fit:contain}dialog button{position:absolute;right:20px;top:12px;color:white;background:none;border:1px solid #aaa;padding:6px 15px}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:0}.center{text-align:center}.error{color:#a23023!important}
@media(min-width:1600px){.hero-copy{padding-top:145px}}@media(max-width:950px){.navlinks{gap:17px}.intro{gap:40px}.room-image img{height:240px}.room-body{padding:20px}.explore-layout,.contact{gap:40px}.room-detail{gap:30px}.amenities{grid-template-columns:1fr 1fr}}@media(max-width:720px){.topbar{font-size:9px}.nav{height:73px}.brand-name{font-size:20px}.menu{display:block}.navlinks{display:none;position:absolute;top:73px;left:0;right:0;background:var(--cream);padding:22px 6%;flex-direction:column;align-items:stretch;box-shadow:0 12px 15px #0001}.navlinks.open{display:flex}.hero{height:650px;min-height:0;max-height:85svh}.hero-copy{padding-top:85px}.hero p{font-size:14px}.hero-actions{gap:12px}.btn{padding:13px 19px}.benefits{grid-template-columns:1fr 1fr;gap:22px;padding:25px 0}.benefits div:nth-child(2){border:0}.intro,.explore-layout,.contact,.room-detail{grid-template-columns:1fr;gap:40px}section{padding:60px 0}.intro-visual{order:2;padding:0 20px 20px}.intro-visual img{height:360px}.section-heading{display:block}.section-heading .text-link{margin-top:24px}.room-grid{grid-template-columns:1fr}.room-image img{height:310px}.room-body{padding:25px}.amenities{gap:22px}.gallery{grid-template-columns:1fr 1fr}.gallery button:first-child{grid-column:span 2;grid-row:auto}.gallery button:first-child img{height:290px}.gallery img{height:180px}.attractions{gap:0 22px}.attraction h3{font-size:21px}.enquiry{padding:25px}.footer{display:block;padding-bottom:95px}.footer p{margin-top:15px}.chat-toggle{bottom:17px;right:17px}.chat-panel{right:16px}.page-banner{height:280px}.page-banner h1{font-size:43px}.room-aside{position:static}.room-feature{height:330px}.room-gallery img{height:190px}.hero-controls{bottom:25px}.fields{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Shared gallery viewer: room galleries and the complete home gallery. */
dialog{overflow:hidden;padding-bottom:65px}
dialog img{height:calc(90dvh - 150px);max-height:78vh;touch-action:pan-y pinch-zoom;user-select:none}
dialog .gallery-prev,dialog .gallery-next{top:50%;right:auto;transform:translateY(-50%);width:48px;height:48px;padding:0;border:1px solid #ffffff80;border-radius:50%;background:#14231cce;font-size:24px;z-index:1}
dialog .gallery-prev{left:30px}dialog .gallery-next{right:30px}
dialog .gallery-prev:hover,dialog .gallery-next:hover{background:#233d32}
.gallery-status{position:absolute;bottom:33px;left:0;right:0;text-align:center;letter-spacing:3px;font-size:13px;pointer-events:none}
.gallery-hint{position:absolute;bottom:10px;left:0;right:0;text-align:center;color:#c3d0c4;font-size:11px;pointer-events:none}
@media(max-width:720px){dialog{width:100vw;max-width:100vw;padding:58px 8px 80px}dialog img{height:calc(85dvh - 140px)}dialog .gallery-prev,dialog .gallery-next{top:auto;bottom:18px;transform:none;width:44px;height:44px}dialog .gallery-prev{left:20px}dialog .gallery-next{right:20px}.gallery-status{bottom:40px}.gallery-hint{bottom:20px;font-size:9px}}
.facilities-section{background:#f3f1e8}.facilities-section>.wrap>p{max-width:690px}.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:35px}.facility-group{border-top:1px solid #b39762;padding-top:24px}.facility-group h3{font-size:25px}.facility-group ul{list-style:none;padding:0;margin:0;columns:1}.facility-group li{position:relative;padding:7px 0 7px 21px;color:var(--muted);font-size:14px;break-inside:avoid}.facility-group li:before{content:'✓';position:absolute;left:0;color:var(--green)}.stay-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:35px;padding-top:25px;border-top:1px solid #d6d9cb}.stay-notes p{font-size:13px;margin-bottom:0}.stay-notes strong{display:block;color:var(--ink);font-size:15px;margin-bottom:8px}@media(max-width:720px){.facility-grid,.stay-notes{grid-template-columns:1fr;gap:25px}.facility-group ul{columns:2;column-gap:20px}.facility-group li{font-size:13px}}@media(max-width:380px){.facility-group ul{columns:1}}
