
:root{
  --ink:#16362a;--forest:#173b2a;--forest2:#0f2a1e;--cream:#f6f1e7;--paper:#fffdf8;
  --gold:#d5a63c;--gold2:#f0c869;--muted:#6e776f;--line:#dcd8cc;--radius:22px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
img{display:block;width:100%} a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:.3s}.site-header.scrolled{background:rgba(15,42,30,.94);backdrop-filter:blur(14px);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.nav-wrap{height:90px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand-mark{width:44px;height:44px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display";font-size:25px}.brand strong{display:block;font-size:14px;letter-spacing:.18em}.brand small{font-size:10px;letter-spacing:.14em;opacity:.75}
.nav{display:flex;align-items:center;gap:27px;color:#fff;font-size:14px}.nav a:not(.btn){opacity:.86}.nav a:hover{opacity:1}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-weight:700;cursor:pointer;font:inherit;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-sm{min-height:42px;padding:0 18px}.btn-gold{background:var(--gold);color:#12251b}.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.06)}.btn-ghost.light{border-color:rgba(255,255,255,.32)}.btn-outline{border-color:var(--forest);background:transparent;color:var(--forest)}.full{width:100%}
.hero{position:relative;height:100svh;min-height:690px;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-media,.hero-media img,.hero-media video,.hero-shade{position:absolute;inset:0}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(10,31,21,.78),rgba(10,31,21,.34) 53%,rgba(10,31,21,.18)),linear-gradient(0deg,rgba(10,31,21,.35),transparent 45%)}
.hero-content{position:relative;z-index:2;padding-top:70px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:700;color:var(--gold2);margin:0 0 18px}.eyebrow.dark{color:#8d6d22}.hero h1,.section h2{font-family:"Playfair Display",serif;line-height:1.05;margin:0}.hero h1{font-size:clamp(58px,7.4vw,108px);max-width:820px}.hero h1 em{color:var(--gold2);font-weight:600}.hero-copy{max-width:610px;font-size:18px;color:rgba(255,255,255,.84);margin:26px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-points{display:flex;gap:25px;margin-top:40px;font-size:13px;color:rgba(255,255,255,.78)}.scroll-cue{position:absolute;bottom:30px;left:50%;z-index:3;border:1px solid rgba(255,255,255,.45);width:42px;height:42px;border-radius:50%;display:grid;place-items:center}
.section{padding:105px 0}.section h2{font-size:clamp(38px,5vw,64px)}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}.intro-grid p{font-size:17px;color:#58665e}.text-link{font-weight:700;display:inline-block;margin-top:18px;border-bottom:1px solid currentColor}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-head>div{max-width:720px}.section-head>p{max-width:410px;color:var(--muted)}.section-head.center{text-align:center;display:block}.section-head.center>div,.section-head.center>p{margin-left:auto;margin-right:auto}
.day-packages{background:#f8f5ed}.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.package-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 50px rgba(18,47,34,.08)}.package-card>img{height:300px;object-fit:cover}.package-body{padding:30px}.package-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.package-top>span{color:#8d6d22;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.package-top strong{color:var(--forest);font-size:22px;text-align:right;line-height:1.2}.package-top small{display:block;color:var(--muted);font-size:11px;font-weight:600;margin-top:4px}.package-body h3{font:700 31px/1.1 "Playfair Display",serif;margin:15px 0 8px}.package-body>p{color:var(--muted);margin:0}.package-details{max-height:0;overflow:hidden;opacity:0;transition:max-height .45s ease,opacity .25s ease}.package-details.open{max-height:520px;opacity:1}.package-details ul{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;list-style:none;padding:18px 0 0;margin:18px 0 5px;border-top:1px solid #eee9de}.package-details li{padding:6px 0;font-size:14px}.package-details li:before{content:"✓";color:#9a741b;font-weight:800;margin-right:8px}.package-details .text-link{width:max-content;margin:10px 0 20px}.package-toggle{width:100%;margin-top:22px}.package-toggle span{font-size:20px;margin-left:9px;transition:transform .25s}.package-toggle[aria-expanded="true"] span{transform:rotate(45deg)}
.stay-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:420px 330px;gap:18px}.stay-card{position:relative;overflow:hidden;border-radius:var(--radius)}.stay-card.feature-card{grid-row:span 2}.stay-card.wide{grid-column:2}.stay-card img{height:100%;object-fit:cover;transition:.6s}.stay-card:hover img{transform:scale(1.035)}.stay-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,26,17,.78),transparent 60%)}.stay-overlay{position:absolute;left:28px;right:28px;bottom:26px;z-index:2;color:#fff}.stay-overlay .tag{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold2)}.stay-overlay h3{font-family:"Playfair Display";font-size:31px;margin:7px 0 4px}.stay-overlay p{margin:0 0 12px;color:rgba(255,255,255,.78)}.stay-overlay a{font-weight:700;font-size:13px}
.experience{background:#f8f5ed}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.exp-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 15px 50px rgba(18,47,34,.07)}.exp-card img{height:280px;object-fit:cover}.exp-card div{padding:28px}.exp-card span{font-size:12px;color:#a77d22;font-weight:700}.exp-card h3{font-family:"Playfair Display";font-size:28px;margin:4px 0 8px}.exp-card p{color:var(--muted);margin:0}
.video-feature{background:var(--forest);color:#fff}.video-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.video-grid h2{max-width:530px}.video-grid p:not(.eyebrow){color:rgba(255,255,255,.72);max-width:540px}.resort-video{display:block;width:100%;max-height:70vh;aspect-ratio:16/9;object-fit:contain;border-radius:var(--radius);background:#081f16;box-shadow:0 22px 60px rgba(0,0,0,.28)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}.g{border:0;padding:0;overflow:hidden;border-radius:14px;cursor:zoom-in;background:#ddd}.g img{height:100%;object-fit:cover;transition:.35s}.g:hover img{transform:scale(1.035)}.g1{grid-column:span 2;grid-row:span 2}.g.tall{grid-row:span 2}.g.wide{grid-column:span 2}.gallery-more{display:block;margin:28px auto 0}
.amenities{background:var(--cream)}.amenities-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.amenity-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.amenity-list div{padding:24px;background:rgba(255,255,255,.65);border:1px solid rgba(22,54,42,.08);border-radius:16px}.amenity-list span{font-size:24px}.amenity-list strong,.amenity-list small{display:block}.amenity-list small{color:var(--muted);margin-top:3px}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.about-collage{position:relative;min-height:620px}.about-collage img{position:absolute;object-fit:cover;border-radius:20px;box-shadow:0 20px 70px rgba(20,45,33,.12)}.about-collage .a1{width:78%;height:520px;left:0;top:0}.about-collage .a2{width:54%;height:310px;right:0;bottom:0;border:10px solid var(--paper)}.about-copy>p:not(.eyebrow){color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.stats div{border-top:1px solid var(--line);padding-top:17px}.stats strong{display:block;font-family:"Playfair Display";font-size:30px}.stats span{font-size:12px;color:var(--muted)}
.booking{background:#102d20;color:#fff}.booking-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.booking-copy p:not(.eyebrow){color:rgba(255,255,255,.68)}.contact-mini{display:flex;gap:13px;align-items:center;margin:18px 0}.contact-mini span{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center}.contact-mini small,.contact-mini strong{display:block}.contact-mini small{opacity:.55}.booking-form{background:#fff;color:var(--ink);padding:34px;border-radius:24px}.booking-form label{display:block;font-size:12px;font-weight:700;margin-bottom:14px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;margin-top:7px;border:1px solid #d8ddd9;border-radius:10px;padding:13px 14px;background:#fbfcfa;font:inherit;color:var(--ink);outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#91a59b;box-shadow:0 0 0 3px rgba(23,59,42,.08)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-note{font-size:11px;color:#7d857f;text-align:center;margin:12px 0 0}.form-note.success{color:#2c7a48}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.contact-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:25px}.map-placeholder{height:400px;border-radius:24px;background:linear-gradient(135deg,#dfe8dc,#edf1e7);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d8dfd4}.map-placeholder span{width:64px;height:64px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font-size:11px;letter-spacing:.15em}.map-placeholder strong{font-family:"Playfair Display";font-size:26px;margin-top:14px}.map-placeholder small{color:var(--muted)}.contact-map{height:430px;position:relative;overflow:hidden;border:1px solid #d8dfd4;border-radius:24px;box-shadow:0 18px 50px rgba(18,47,34,.1)}.contact-map iframe{width:100%;height:100%;border:0;display:block}.map-directions{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);background:#fff;color:var(--forest);border-radius:10px;padding:12px 17px 9px;font-weight:700;white-space:nowrap;box-shadow:0 10px 25px rgba(0,0,0,.22)}.map-directions:after{content:"";display:block;height:1px;background:currentColor;margin-top:3px}.map-directions:hover{transform:translateX(-50%) translateY(-2px)}
footer{background:#081f16;color:#fff;padding:62px 0 26px}.footer-grid{display:grid;grid-template-columns:1.45fr .7fr 1.05fr 1.25fr;gap:56px;padding:0}.footer-grid>nav>strong,.footer-contact>strong{display:block;margin-bottom:16px;font-size:13px;letter-spacing:.04em}.footer-grid a{display:block;width:max-content;max-width:100%;color:rgba(255,255,255,.66);margin:9px 0;font-size:14px;transition:color .2s,transform .2s}.footer-grid a:hover{color:#fff;transform:translateX(3px)}.footer-brand{display:flex;gap:13px;align-items:flex-start}.footer-brand strong,.footer-brand small{display:block}.footer-brand small{color:rgba(255,255,255,.52)}.footer-contact address{margin-top:16px;color:rgba(255,255,255,.5);font-size:13px;font-style:normal;line-height:1.65}.footer-status{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#25d366;box-shadow:0 0 0 4px rgba(37,211,102,.12)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.48)}.footer-bottom a{color:rgba(255,255,255,.7)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100;display:none;align-items:center;justify-content:center;padding:50px}.lightbox.open{display:flex}.lightbox img{max-width:1100px;max-height:85vh;object-fit:contain}.lightbox-close{position:absolute;right:25px;top:15px;color:#fff;background:none;border:0;font-size:44px;cursor:pointer}.floating-book{position:fixed;right:20px;bottom:20px;z-index:45;background:var(--gold);color:#173021;border-radius:999px;padding:13px 20px;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.2)}.floating-whatsapp{position:fixed;left:20px;bottom:20px;z-index:45;width:58px;height:58px;display:grid;place-items:center;background:#25d366;color:#fff;border-radius:50%;box-shadow:0 12px 30px rgba(0,0,0,.22);transition:.25s}.floating-whatsapp:hover{transform:translateY(-2px) scale(1.04);background:#20bd5a}.floating-whatsapp span{width:34px;height:34px;display:grid;place-items:center}.floating-whatsapp svg{display:block;width:34px;height:34px;fill:#fff}
@media(max-width:900px){
  .nav{display:none;position:absolute;top:78px;left:20px;right:20px;background:#102d20;padding:24px;border-radius:16px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-toggle{display:block}.nav-wrap{height:78px}
  .hero{min-height:660px}.hero h1{font-size:clamp(52px,14vw,78px)}.hero-points{flex-direction:column;gap:4px}
  .section{padding:78px 0}.intro-grid,.video-grid,.about-grid,.booking-card,.contact-grid,.amenities-wrap{grid-template-columns:1fr;gap:42px}.section-head{display:block}.section-head>p{margin-top:18px}
  .package-grid{grid-template-columns:1fr}
  .stay-grid{grid-template-columns:1fr;grid-template-rows:none}.stay-card,.stay-card.feature-card,.stay-card.wide{grid-column:auto;grid-row:auto;height:420px}
  .experience-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.g1{grid-column:span 2}.amenity-list{grid-template-columns:1fr 1fr}.about-collage{min-height:520px}.footer-grid{grid-template-columns:1fr 1fr;gap:44px}
}
@media(max-width:600px){
  .container{width:min(100% - 28px,1180px)}.hero-content{padding-top:40px}.hero-copy{font-size:16px}.hero-actions .btn{width:100%}.section h2{font-size:40px}
  .package-card>img{height:230px}.package-body{padding:22px}.package-top{display:block}.package-top strong{text-align:left;display:block;margin-top:8px}.package-details ul{grid-template-columns:1fr}
  .stay-card,.stay-card.feature-card,.stay-card.wide{height:360px}.stay-overlay{left:20px;right:20px;bottom:20px}.stay-overlay h3{font-size:26px}
  .gallery-grid{grid-auto-rows:150px}.g.wide{grid-column:span 2}.amenity-list{grid-template-columns:1fr}.about-collage{min-height:430px}.about-collage .a1{height:370px}.about-collage .a2{height:220px}.stats{grid-template-columns:1fr}
  .booking-form{padding:22px}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-bottom{align-items:center;gap:12px}.floating-book{right:14px;bottom:14px}.floating-whatsapp{left:14px;bottom:14px}
}

/* ----- Multi-page navigation ----- */
.footer-grid>div:not(.footer-brand)>strong{display:block;margin-bottom:16px;font-size:13px;letter-spacing:.04em}
.footer-bottom>strong{color:rgba(255,255,255,.72);font-size:12px;font-weight:600}
.booking-hero{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.booking-hero>img,.booking-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.booking-hero-shade{background:linear-gradient(90deg,rgba(7,29,20,.86),rgba(7,29,20,.5) 55%,rgba(7,29,20,.16)),linear-gradient(0deg,rgba(7,29,20,.55),transparent 50%)}.booking-hero .container{position:relative;z-index:1;padding-bottom:70px}.booking-hero h1{margin:0;font:600 clamp(54px,7vw,92px)/.98 "Playfair Display",serif}.booking-hero .container>p:last-child{max-width:590px;margin:22px 0 0;color:rgba(255,255,255,.8);font-size:17px}.booking-page-shell{padding:90px 0;background:linear-gradient(135deg,#f6f1e7,#fffdf8)}.booking-page-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.booking-assurance{position:sticky;top:110px}.booking-assurance h2{margin:0 0 30px;font:600 clamp(36px,4vw,52px)/1.08 "Playfair Display",serif}.booking-benefit{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--line)}.booking-benefit>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:#fff;font-size:11px;font-weight:700}.booking-benefit strong,.booking-benefit small{display:block}.booking-benefit small{margin-top:3px;color:var(--muted)}.booking-direct{margin-top:26px;padding:22px;border-radius:16px;background:#173b2a;color:#fff}.booking-direct small,.booking-direct a{display:block}.booking-direct small{color:rgba(255,255,255,.58)}.booking-direct a{width:max-content;margin-top:6px;font-weight:700}.booking-direct a:last-child{color:var(--gold2);font-size:13px;margin-top:12px}.booking-page-form{padding:38px;border:1px solid #e2dbce;box-shadow:0 24px 70px rgba(18,47,34,.11)}.form-heading{margin-bottom:28px}.form-heading>span{color:#96711e;font-size:11px;font-weight:800;letter-spacing:.16em}.form-heading h2{margin:7px 0 5px;font:600 34px "Playfair Display",serif}.form-heading p{margin:0;color:var(--muted);font-size:13px}.optional{float:right;color:#969c97;font-size:10px;font-weight:500}
@media(max-width:900px){.booking-page-grid{grid-template-columns:1fr;gap:45px}.booking-assurance{position:static}.booking-hero{min-height:500px}}
@media(max-width:600px){.booking-hero{min-height:480px}.booking-hero .container{padding-bottom:45px}.booking-hero h1{font-size:52px}.booking-page-shell{padding:55px 0}.booking-page-form{padding:24px}.booking-assurance h2{font-size:38px}}
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropbtn{border:0;background:transparent;color:#fff;font:inherit;font-size:14px;padding:10px 0;cursor:pointer;opacity:.86;display:flex;align-items:center;gap:8px;white-space:nowrap}.nav-dropbtn span{display:none}.nav-dropbtn:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transform-origin:center;transition:transform .2s}.nav-dropdown.open .nav-dropbtn:after,.nav-dropdown:hover .nav-dropbtn:after{transform:rotate(225deg) translate(-1px,-1px)}
.nav-dropbtn:hover,.nav-dropdown:focus-within .nav-dropbtn{opacity:1}
.nav-dropdown-menu{position:absolute;top:calc(100% + 14px);left:-18px;min-width:245px;padding:10px;background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(-7px);transition:.2s;z-index:90}
.nav-dropdown-menu:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:none}
.nav .nav-dropdown-menu a{display:block!important;color:var(--ink)!important;opacity:1!important;padding:10px 12px;border-radius:9px;font-size:13px}
.nav .nav-dropdown-menu a:hover{background:#f3efe4}
.inner-header{background:#123526}
.inner-header .nav-wrap{height:82px}
.page-hero{position:relative;min-height:490px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;padding:150px 0 70px}
.page-hero>img{position:absolute;inset:0;height:100%;object-fit:cover}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,30,20,.82),rgba(7,30,20,.22))}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{font:700 clamp(52px,7vw,92px)/1 "Playfair Display",serif;margin:0;max-width:900px}
.page-hero p:not(.eyebrow){max-width:680px;font-size:18px;color:rgba(255,255,255,.82)}
.page-shell{padding:90px 0}
.breadcrumbs{font-size:12px;color:#718078;margin-bottom:22px}
.breadcrumbs a{font-weight:700}
.content-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:end;margin-bottom:55px}
.content-intro h2{font:700 clamp(38px,5vw,62px)/1.06 "Playfair Display",serif;margin:0}
.content-intro p{color:var(--muted);font-size:17px}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.category-card{border:1px solid #e1ddd3;background:#fff;border-radius:20px;padding:28px;box-shadow:0 12px 40px rgba(20,50,37,.06)}
.category-card h3{font:700 28px/1.1 "Playfair Display",serif;margin:10px 0}
.category-card p{color:var(--muted);margin:0}
.category-card ul{padding-left:18px;color:#4d5e54}
.category-card .icon{width:48px;height:48px;border-radius:50%;background:#f2ead5;display:grid;place-items:center;font-size:22px}
.activity-band{padding:80px 0;background:var(--cream)}
.activity-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.activity-pill{padding:20px 14px;border:1px solid rgba(22,54,42,.12);border-radius:14px;background:rgba(255,255,255,.7);font-weight:700;text-align:center}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.price-card{border-radius:20px;overflow:hidden;background:#fff;border:1px solid #e1ddd3}
.price-card img{height:240px;object-fit:cover}
.price-card .pc-body{padding:26px}
.price-card h3{font:700 28px/1.1 "Playfair Display",serif;margin:0 0 8px}
.price{font-weight:800;color:#8b6614;font-size:20px}
.feature-list{list-style:none;padding:0;margin:18px 0 22px}
.feature-list li{padding:7px 0;border-bottom:1px solid #eee9de;font-size:14px}
.detail-block{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding:72px 0;border-bottom:1px solid #e5e0d6}
.detail-block:nth-child(even) .detail-media{order:2}
.detail-media img{height:430px;object-fit:cover;border-radius:20px}
.detail-copy h2{font:700 46px/1.05 "Playfair Display",serif;margin:0 0 12px}
.detail-copy .price{display:inline-block;margin:0 12px 14px 0}
.detail-copy p{color:var(--muted)}
.page-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:12px}
.page-gallery button{border:0;padding:0;overflow:hidden;border-radius:14px;background:#ddd;cursor:zoom-in}
.page-gallery img{height:100%;object-fit:cover;transition:.35s}
.page-gallery button:hover img{transform:scale(1.04)}
.page-gallery .span2{grid-column:span 2}.page-gallery .tall2{grid-row:span 2}
.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.filter-btn{border:1px solid #cfd7d1;background:#fff;color:var(--ink);border-radius:999px;padding:10px 16px;cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.filter-btn.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.page-cta{background:var(--forest);color:#fff;border-radius:24px;padding:45px;display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:65px}
.page-cta h2{font:700 40px/1.05 "Playfair Display",serif;margin:0 0 8px}
.page-cta p{margin:0;color:rgba(255,255,255,.7)}
.room-catalogue .detail-block,.room-catalogue .source-note{display:none}
.room-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;padding:18px 22px;background:#f3efe4;border-radius:14px}.room-toolbar p{margin:0;color:var(--muted)}.room-toolbar label{display:flex;align-items:center;gap:10px;font-weight:700}.room-toolbar select{border:1px solid #d8d4c9;border-radius:9px;padding:10px 36px 10px 12px;background:#fff;color:var(--ink);font:inherit}
.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 14px 45px rgba(18,47,34,.09)}.room-card[hidden]{display:none}.room-card-image{height:235px;display:block;position:relative;overflow:hidden}.room-card-image img{height:100%;object-fit:cover;transition:.4s}.room-card:hover .room-card-image img{transform:scale(1.035)}.room-card-image span{position:absolute;left:16px;top:16px;background:rgba(16,45,32,.9);color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.room-card-copy{padding:24px}.room-card-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:#8d6d22;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.room-card-meta strong{text-align:right}.room-card h3{font:700 28px/1.08 "Playfair Display",serif;margin:10px 0 8px}.room-card p{color:var(--muted);margin:0}.room-card ul{padding:0;list-style:none;font-size:13px;color:var(--muted)}.room-card li:before{content:"✓";color:#8d6d22;font-weight:800;margin-right:7px}.room-error{padding:24px;border:1px solid #d7b77a;background:#fff9e9;border-radius:12px;color:#664a15}
.room-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.room-detail-grid h2{font:700 clamp(40px,5vw,64px)/1.05 "Playfair Display",serif;margin:0}.room-lead{font-size:18px;color:var(--muted);max-width:680px}.room-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.room-facts div{padding:20px;background:#f3efe4;border-radius:13px}.room-facts strong,.room-facts span{display:block}.room-facts strong{font:700 24px "Playfair Display",serif}.room-facts span{font-size:11px;color:var(--muted);margin-top:4px}.room-inclusions{padding:32px;background:#f8f5ed;border-radius:20px}.room-inclusions h3{font:700 24px "Playfair Display",serif;margin:0 0 12px}.room-inclusions h3:not(:first-child){margin-top:26px}.room-inclusions .btn{margin-top:22px}.room-gallery-heading{margin-top:90px}
.source-note{margin-top:20px;color:#7a817c;font-size:12px}
@media(max-width:900px){
  .nav-dropdown{width:100%;display:block}
  .nav-dropbtn{width:100%;justify-content:space-between;padding:8px 0}
  .nav-dropdown-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(255,255,255,.06);color:#fff;margin:5px 0 8px;padding:7px}
  .nav-dropdown.open .nav-dropdown-menu{display:block}
  .nav .nav-dropdown-menu a{color:#fff!important}
  .nav .nav-dropdown-menu a:hover{background:rgba(255,255,255,.08)}
  .content-intro,.detail-block{grid-template-columns:1fr;gap:30px}
  .detail-block:nth-child(even) .detail-media{order:0}
  .category-grid,.price-grid{grid-template-columns:1fr 1fr}
  .activity-list{grid-template-columns:repeat(2,1fr)}
  .page-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .room-grid{grid-template-columns:repeat(2,1fr)}.room-detail-grid{grid-template-columns:1fr;gap:35px}
}
@media(max-width:600px){
  .page-hero{min-height:410px;padding-bottom:45px}.page-hero h1{font-size:48px}
  .page-shell{padding:65px 0}.category-grid,.price-grid{grid-template-columns:1fr}
  .detail-media img{height:320px}.detail-copy h2{font-size:38px}
  .page-gallery{grid-auto-rows:145px}.page-gallery .span2{grid-column:span 2}
  .room-toolbar{display:block}.room-toolbar label{margin-top:12px}.room-grid{grid-template-columns:1fr}.room-facts{grid-template-columns:1fr}.room-card-image{height:220px}
  .page-cta{padding:28px;display:block}.page-cta .btn{margin-top:20px;width:100%}
}
.room-card-image em{position:absolute;right:14px;top:14px;padding:7px 10px;border-radius:999px;background:#8f3a32;color:#fff;font-style:normal;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.room-unavailable .room-card-image img{filter:saturate(.45)}
.home-availability{margin-top:28px;padding:30px;border:1px solid #ddd6c7;border-radius:18px;background:#fff;box-shadow:0 14px 45px rgba(18,47,34,.07)}.availability-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.availability-heading .eyebrow{margin:0 0 5px}.availability-heading h3{margin:0;font:700 30px/1.1 "Playfair Display",serif}.availability-summary{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:start}.availability-total{min-height:100%;display:grid;align-content:center;padding:22px;border-radius:14px;background:#173d2c;color:#fff;text-align:center}.availability-total strong{font:700 52px/1 "Playfair Display",serif;color:#e0b867}.availability-total span{margin-top:7px;font-size:13px}.availability-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.availability-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid #e8e2d7;border-radius:10px;color:inherit;text-decoration:none}.availability-list strong,.availability-list small{display:block}.availability-list small{margin-top:2px;color:var(--muted);font-size:11px}.availability-list em{font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-available{color:#247144}.status-unavailable,.status-maintenance{color:#a3473e}.availability-error{grid-column:1/-1;margin:0;color:var(--muted)}
@media(max-width:850px){.availability-summary{grid-template-columns:1fr}.availability-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.home-availability{padding:20px}.availability-heading{display:block}.availability-heading .text-link{display:inline-block;margin-top:12px}.availability-list{grid-template-columns:1fr}}

/* Refined live availability UI */
.home-availability{margin-top:34px;padding:clamp(22px,3vw,34px);border-radius:24px;background:linear-gradient(145deg,#fff,#fffdf9);box-shadow:0 20px 60px rgba(18,47,34,.09);overflow:hidden}.availability-heading{margin-bottom:24px}.availability-heading h3{font-size:clamp(28px,3vw,38px)}.availability-heading .text-link{transition:color .2s,transform .2s}.availability-heading .text-link:hover{color:#8d6d22;transform:translateX(4px)}.availability-summary{grid-template-columns:190px 1fr;align-items:stretch}.availability-total{min-height:230px;border-radius:18px;background:linear-gradient(145deg,#194a35,#0f3425);box-shadow:inset 0 1px rgba(255,255,255,.12);animation:availabilityReveal .55s ease both}.availability-ring{width:108px;height:108px;margin:auto;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--gold2) calc(var(--availability)*1%),rgba(255,255,255,.14) 0);position:relative}.availability-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#153f2e}.availability-ring strong{position:relative;font-size:46px}.availability-total>small{margin-top:3px;color:rgba(255,255,255,.62);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.availability-list{gap:10px}.availability-list a{min-height:72px;padding:14px 15px;border-radius:13px;background:#fff;transition:transform .22s,box-shadow .22s,border-color .22s;animation:roomCardReveal .45s calc(var(--item-index)*45ms) ease both}.availability-list a:hover{transform:translateY(-3px);border-color:#cfbea0;box-shadow:0 10px 24px rgba(18,47,34,.09)}.availability-list a:focus-visible{outline:3px solid rgba(213,166,60,.35);outline-offset:2px}.availability-list em{display:flex;align-items:center;gap:6px;font-size:9px}.availability-list em i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px currentColor;opacity:.85;transform:scale(.5)}.availability-list .room-status-maintenance{background:#fffaf4}
@keyframes availabilityReveal{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}@keyframes roomCardReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:850px){.availability-summary{grid-template-columns:1fr}.availability-total{min-height:190px}}@media(prefers-reduced-motion:reduce){.availability-total,.availability-list a{animation:none}.availability-list a,.availability-heading .text-link{transition:none}}

/* Availability component v2 */
.home-availability{position:relative;border:0;box-shadow:0 25px 70px rgba(18,47,34,.11)}.home-availability:before{content:"";position:absolute;inset:0;border:1px solid #e1d8c7;border-radius:inherit;pointer-events:none}.availability-heading{align-items:center;padding-bottom:23px;border-bottom:1px solid #eee8dc}.availability-heading .eyebrow{display:flex;align-items:center;gap:8px}.live-dot{width:8px;height:8px;border-radius:50%;background:#2e9b62;box-shadow:0 0 0 5px rgba(46,155,98,.12);animation:livePulse 2s ease-out infinite}.availability-intro{max-width:570px;margin:9px 0 0;color:var(--muted);font-size:14px}.availability-link{display:inline-flex;align-items:center;gap:14px;flex:0 0 auto;padding:12px 12px 12px 18px;border:1px solid #d9d1c1;border-radius:999px;font-size:13px;font-weight:800;transition:.25s}.availability-link b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:#fff;font-size:17px;transition:transform .25s}.availability-link:hover{border-color:#b9a98a;box-shadow:0 8px 22px rgba(18,47,34,.08)}.availability-link:hover b{transform:translateX(3px)}
.availability-summary{grid-template-columns:220px 1fr;gap:24px}.availability-total{min-height:100%;align-content:start;place-content:unset;padding:25px;background:linear-gradient(150deg,#194a35,#0c2e20);text-align:left}.availability-ring{width:92px;height:92px;margin:0 0 22px}.availability-ring:after{content:"";position:absolute;inset:-6px;border:1px solid rgba(255,255,255,.08);border-radius:50%}.availability-ring strong{display:block;text-align:center;font-size:39px}.availability-ring span{position:relative;display:block;color:rgba(255,255,255,.58);font-size:9px;text-align:center;text-transform:uppercase;letter-spacing:.12em}.availability-total>p{display:grid;margin:0}.availability-total>p strong{color:#fff;font:700 19px "DM Sans",sans-serif}.availability-total>p span{margin-top:2px;color:rgba(255,255,255,.62);font-size:12px}.availability-meter{height:6px;margin:17px 0 20px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.12)}.availability-meter i{display:block;width:calc(var(--availability)*1%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold2));animation:meterGrow .8s .2s ease both}.availability-legend{display:grid;gap:8px}.availability-legend span{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.68);font-size:10px}.availability-legend i{width:7px;height:7px;border-radius:50%}.legend-available{background:#59c987}.legend-maintenance{background:#e59b58}
.availability-list a{position:relative;display:grid;grid-template-columns:40px 1fr auto 20px;min-width:0;gap:11px;overflow:hidden}.availability-list a:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 4px 4px 0;background:#49a875;opacity:0;transition:opacity .2s}.availability-list .room-status-maintenance:before,.availability-list .room-status-unavailable:before{background:#cf6f58}.availability-list a:hover:before{opacity:1}.room-number{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#f1eee6;color:#6e5a31;font:700 12px "DM Sans",sans-serif}.room-copy{min-width:0}.availability-list .room-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-list .room-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-arrow{color:#a59d90;font-size:17px;transition:transform .2s,color .2s}.availability-list a:hover .room-arrow{color:var(--forest);transform:translateX(3px)}
@keyframes livePulse{0%,45%{box-shadow:0 0 0 5px rgba(46,155,98,.12)}70%{box-shadow:0 0 0 9px rgba(46,155,98,0)}100%{box-shadow:0 0 0 5px rgba(46,155,98,.12)}}@keyframes meterGrow{from{width:0}}
@media(max-width:920px){.availability-summary{grid-template-columns:1fr}.availability-total{min-height:auto;grid-template-columns:auto 1fr;align-items:center;gap:0 22px}.availability-ring{grid-row:span 2;margin:0}.availability-total>p{align-self:end}.availability-meter{align-self:start;margin:9px 0 0}.availability-legend{display:none}}
@media(max-width:600px){.availability-heading{align-items:flex-start}.availability-intro{font-size:13px}.availability-link{margin-top:16px}.availability-summary{gap:15px}.availability-total{grid-template-columns:76px 1fr;padding:20px}.availability-ring{width:72px;height:72px}.availability-ring strong{font-size:30px}.availability-list a{grid-template-columns:38px 1fr 18px}.availability-list em{grid-column:2;font-size:8px}.room-arrow{grid-column:3;grid-row:1/3}.availability-list a{min-height:82px}.home-availability{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.live-dot,.availability-meter i{animation:none}}

/* Shared Secret Valley Retreat logo */
.brand-logo{display:block;width:58px;height:58px;flex:0 0 58px;object-fit:cover;border-radius:10px;border:1px solid rgba(240,200,105,.5);box-shadow:0 5px 16px rgba(0,0,0,.22)}
.footer-brand .brand-logo{width:72px;height:72px;flex-basis:72px}
@media(max-width:600px){.brand-logo{width:50px;height:50px;flex-basis:50px}.brand strong{font-size:11px;letter-spacing:.11em}.brand small{font-size:8px}}
