*{margin:0;padding:0;box-sizing:border-box}
:root{
  --f1:#0a1a0e;--f2:#142b1a;--f3:#1e4228;--f4:#2a5c38;--f5:#3d7a4e;--f6:#5a8a62;
  --g1:#b8952a;--g2:#cfa84a;--g3:#d4b060;--g4:#e8d49a;
  --c1:#f8f5ee;--c2:#f0ece0;
  --t1:#0e2012;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Outfit',system-ui,sans-serif;
  --script:'Pinyon Script',cursive;
  --rp:999px;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--c1);color:var(--t1);overflow-x:hidden}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--f1)}
::-webkit-scrollbar-thumb{background:var(--f5);border-radius:var(--rp)}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;transition:all 0.45s}
#nav.scrolled{background:rgba(14,35,18,0.97);backdrop-filter:blur(20px);height:64px;border-bottom:1px solid rgba(90,138,98,0.25)}
.nlogo{display:flex;align-items:center;gap:14px;text-decoration:none}
.nlogo-icon{height:52px;width:auto;flex-shrink:0;filter:drop-shadow(0 0 8px rgba(184,149,42,0.45)) drop-shadow(0 2px 4px rgba(0,0,0,0.6)) brightness(1.08);transition:filter 0.35s,transform 0.35s}
.nlogo:hover .nlogo-icon{filter:drop-shadow(0 0 12px rgba(184,149,42,0.65)) drop-shadow(0 2px 6px rgba(0,0,0,0.5)) brightness(1.15);transform:scale(1.04)}
#nav.scrolled .nlogo-icon{filter:drop-shadow(0 0 10px rgba(184,149,42,0.5)) brightness(1.1)}
.nlogo-text{display:flex;flex-direction:column;gap:2px}
.nm{font-family:var(--serif);font-size:21px;font-weight:400;color:#fff;letter-spacing:0.09em;line-height:1;text-shadow:0 1px 10px rgba(0,0,0,0.6),0 0 20px rgba(0,0,0,0.4)}
.ns{font-size:8px;letter-spacing:0.38em;text-transform:uppercase;color:rgba(255,255,255,0.5);text-shadow:0 1px 6px rgba(0,0,0,0.5)}
#nav.scrolled .nm{color:var(--g3);text-shadow:none}
#nav.scrolled .ns{color:rgba(184,149,42,0.5)}
.nlinks{display:flex;gap:2.4rem;list-style:none}
.nlinks a{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:400;color:rgba(255,255,255,0.8);text-decoration:none;position:relative;padding-bottom:3px;transition:color 0.25s;text-shadow:0 1px 6px rgba(0,0,0,0.5)}
#nav.scrolled .nlinks a{color:rgba(250,247,240,0.7);text-shadow:none}
.nlinks a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--g1);transition:width 0.3s}
.nlinks a:hover{color:var(--g3)}
.nlinks a:hover::after{width:100%}
.nbtn{background:var(--g1);color:var(--f1);border:none;cursor:pointer;font-family:var(--sans);font-size:10.5px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;padding:11px 24px;transition:background 0.25s,transform 0.15s;border-radius:0}
.nbtn:hover{background:var(--g2);transform:translateY(-1px)}
.nham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.nham span{display:block;width:22px;height:1.5px;background:rgba(255,255,255,0.8);transition:all 0.3s;border-radius:1px}

/* HERO */
#hero{position:relative;height:100vh;min-height:640px;overflow:hidden}
#hero::after{content:'';position:absolute;bottom:0;left:0;right:0;z-index:4;height:160px;background:linear-gradient(to bottom,transparent,rgba(10,26,14,0.85) 100%);pointer-events:none}
.hslide{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease;z-index:1}
.hslide.active{opacity:1;z-index:2}
.hbg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);transition:transform 10s ease}
.hslide.active .hbg{transform:scale(1.0)}
.hov{position:absolute;inset:0;background:linear-gradient(160deg,rgba(10,26,14,0.75) 0%,rgba(10,26,14,0.12) 52%,rgba(10,26,14,0.55) 100%),radial-gradient(ellipse at 18% 50%,rgba(10,26,14,0.58) 0%,transparent 70%)}
.hblob{position:absolute;z-index:3;pointer-events:none;will-change:transform}
.hblob1{top:-5%;right:-3%;width:45vw;height:45vw;max-width:660px;max-height:660px;background:radial-gradient(circle,rgba(90,138,98,0.07) 0%,transparent 65%);border-radius:30% 70% 70% 30%/30% 30% 70% 70%;animation:bf1 12s ease-in-out infinite alternate}
.hblob2{bottom:-8%;left:-4%;width:38vw;height:38vw;max-width:560px;max-height:560px;background:radial-gradient(circle,rgba(184,149,42,0.07) 0%,transparent 62%);border-radius:70% 30% 30% 70%/70% 70% 30% 30%;animation:bf2 16s ease-in-out infinite alternate}
@keyframes bf1{from{transform:translate(0,0) rotate(0deg)}to{transform:translate(-24px,16px) rotate(7deg)}}
@keyframes bf2{from{transform:translate(0,0) rotate(0deg)}to{transform:translate(16px,-22px) rotate(-8deg)}}
.hcont{position:relative;z-index:5;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 6vw;max-width:760px;padding-top:76px}
.hey{font-size:10px;letter-spacing:0.5em;text-transform:uppercase;color:var(--g1);margin-bottom:1.4rem;display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(16px);transition:all 1s ease 0.2s}
.hslide.active .hey{opacity:1;transform:none}
.heyln{width:28px;height:1px;background:var(--g1);opacity:0.7}
.htitle{font-family:var(--serif);font-size:clamp(50px,7.5vw,106px);font-weight:300;color:#fff;line-height:0.98;letter-spacing:-0.02em;margin-bottom:0.4em;opacity:0;transform:translateY(30px);transition:all 1.1s cubic-bezier(.2,0,.2,1) 0.4s;text-shadow:0 4px 32px rgba(10,26,14,0.5)}
.hslide.active .htitle{opacity:1;transform:none}
.htitle em{font-style:italic;color:var(--g3)}
.hscript{font-family:var(--script);font-size:clamp(26px,4vw,56px);color:rgba(212,176,96,0.44);margin-bottom:1.6rem;line-height:1.1;opacity:0;transform:translateY(14px);transition:all 1s ease 0.62s}
.hslide.active .hscript{opacity:1;transform:none}
.hsub{font-size:15px;font-weight:300;color:rgba(255,255,255,0.62);line-height:1.8;margin-bottom:2.2rem;max-width:450px;opacity:0;transform:translateY(12px);transition:all 0.9s ease 0.78s}
.hslide.active .hsub{opacity:1;transform:none}
.hbtns{display:flex;gap:12px;flex-wrap:wrap;opacity:0;transform:translateY(10px);transition:all 0.9s ease 0.95s}
.hslide.active .hbtns{opacity:1;transform:none}
.sarrs{position:absolute;bottom:32px;right:7vw;z-index:10;display:flex;gap:8px}
.sarr{width:44px;height:44px;border:1px solid rgba(184,149,42,0.3);background:rgba(10,26,14,0.45);backdrop-filter:blur(10px);color:var(--g3);font-size:16px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.3s}
.sarr:hover{background:rgba(184,149,42,0.2);border-color:var(--g1);transform:scale(1.08)}
.sdots{position:absolute;bottom:42px;left:7vw;z-index:10;display:flex;gap:8px;align-items:center}
.sdot{width:6px;height:6px;border-radius:50%;background:rgba(184,149,42,0.32);cursor:pointer;transition:all 0.35s}
.sdot.active{background:var(--g1);width:22px;border-radius:var(--rp)}
.sctr{position:absolute;right:7vw;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px}
.sctr-n{font-family:var(--serif);font-size:13px;color:var(--g1)}
.sctr-bar{width:1px;height:50px;background:linear-gradient(to bottom,var(--g1),rgba(184,149,42,0.04))}
.vpill{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:10px;background:rgba(10,26,14,0.55);backdrop-filter:blur(14px);border:1px solid rgba(184,149,42,0.22);padding:9px 18px 9px 11px;border-radius:var(--rp);cursor:pointer;transition:all 0.3s;white-space:nowrap}
.vpill:hover{border-color:var(--g1);transform:translateX(-50%) translateY(-2px)}
.vplay{width:34px;height:34px;border-radius:50%;background:var(--g1);display:flex;align-items:center;justify-content:center;color:var(--f1);font-size:12px;flex-shrink:0;transition:transform 0.3s}
.vpill:hover .vplay{transform:scale(1.1)}
.vpillt b{font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--g1);font-weight:500}
.vpillt span{font-size:11px;color:rgba(255,255,255,0.48);margin-top:1px}
.hscroll-ind{position:absolute;left:7vw;bottom:34px;z-index:10;display:flex;flex-direction:column;align-items:center;gap:7px}
.hsbar{width:1px;height:36px;background:rgba(184,149,42,0.18);position:relative;overflow:hidden}
.hsbar::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--g1);animation:stk 2s ease infinite}
@keyframes stk{0%{top:-100%}100%{top:100%}}
.hslbl{font-size:7.5px;letter-spacing:0.32em;text-transform:uppercase;color:rgba(184,149,42,0.38);writing-mode:vertical-rl}

/* BUTTONS */
.btn-fill{background:var(--g1);color:var(--f1);border:none;cursor:pointer;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;padding:13px 28px;border-radius:var(--rp);text-decoration:none;display:inline-block;transition:all 0.3s;box-shadow:0 4px 16px rgba(184,149,42,0.3)}
.btn-fill:hover{background:var(--g2);transform:translateY(-2px);box-shadow:0 7px 24px rgba(184,149,42,0.42)}
.btn-ring{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.38);font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;padding:12px 28px;border-radius:var(--rp);text-decoration:none;display:inline-block;cursor:pointer;transition:all 0.3s}
.btn-ring:hover{border-color:var(--g1);color:var(--g3);background:rgba(184,149,42,0.08)}
.btn-forest{background:var(--f3);color:var(--g3);border:none;cursor:pointer;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;padding:13px 28px;border-radius:var(--rp);text-decoration:none;display:inline-block;transition:all 0.3s}
.btn-forest:hover{background:var(--f4);transform:translateY(-2px)}
.btn-od{background:transparent;color:var(--t1);border:1px solid rgba(42,92,56,0.28);font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;padding:12px 28px;border-radius:var(--rp);text-decoration:none;display:inline-block;cursor:pointer;transition:all 0.3s}
.btn-od:hover{border-color:var(--f4);color:var(--f4)}

/* BOOKING BAR */
#bcard-sec{padding:0;position:relative;z-index:50}
.bcard-wrap{display:block;padding:0}
.bbar{background:var(--f3);border-top:3px solid var(--g1);display:flex;align-items:stretch;position:relative;z-index:50;width:100%}
.bbf{flex:1;min-width:130px;padding:20px 22px;border-right:1px solid rgba(255,255,255,0.07);display:flex;flex-direction:column;gap:5px}
.bbf:last-of-type{border-right:none}
.bbf label{font-size:8.5px;letter-spacing:0.28em;text-transform:uppercase;color:rgba(184,149,42,0.5)}
.bbf input,.bbf select{background:transparent;border:none;outline:none;color:var(--c1);font-family:var(--sans);font-size:14px;font-weight:300;width:100%;color-scheme:dark}
.bbf select option{background:var(--f2);color:var(--c1)}
.bbar-btn{background:var(--g1);color:var(--f1);border:none;cursor:pointer;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;padding:0 40px;min-width:168px;min-height:78px;transition:background 0.25s;flex-shrink:0}
.bbar-btn:hover{background:var(--g2)}
.bcard{background:var(--f3);border-radius:0;width:100%;max-width:none;box-shadow:none;overflow:hidden;border-top:3px solid var(--g1)}
.bcard-fields{display:flex;align-items:stretch;min-height:78px}
.bcf{padding:18px 22px 16px;border-right:1px solid rgba(255,255,255,0.07);display:flex;flex-direction:column;justify-content:center;gap:6px;position:relative;transition:background 0.2s}
.bcf:hover{background:rgba(255,255,255,0.03)}
.bcf:last-of-type{border-right:none}
.bcf label{font-size:8px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(184,149,42,0.52);font-weight:500;display:flex;align-items:center;gap:6px}
.bcf label::before{content:'';display:block;width:3px;height:3px;border-radius:50%;background:var(--g1);opacity:0.7;flex-shrink:0}
.bcf input,.bcf select{background:transparent;border:none;outline:none;color:var(--c1);font-family:var(--sans);font-size:15px;font-weight:300;width:100%;cursor:pointer}
.bcf select option{background:var(--f2);color:var(--c1)}
.bcf input[type="date"]{color-scheme:dark}
.bcard-cta{padding:0;display:contents}
.bcard-note{display:none}
.bc-btn{background:var(--g1);color:var(--f1);border:none;cursor:pointer;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;padding:0 36px;height:100%;min-width:160px;transition:all 0.3s;white-space:nowrap;border-radius:0;display:flex;align-items:center;justify-content:center;gap:8px}
.bc-btn:hover{background:var(--g2)}
.bc-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;flex-shrink:0}

/* SECTION UTILITIES */
.sec{padding:90px 7vw}
.stag{font-size:10px;letter-spacing:0.4em;text-transform:uppercase;color:var(--g1);margin-bottom:1.2rem;display:flex;align-items:center;gap:10px}
.stag::after{content:'';display:block;width:22px;height:1px;background:var(--g1);opacity:0.55}
.sh2{font-family:var(--serif);font-size:clamp(34px,4.2vw,58px);font-weight:300;line-height:1.06;color:var(--t1);margin-bottom:1.4rem}
.sh2 em{font-style:italic;color:var(--f4)}
.sh2w{font-family:var(--serif);font-size:clamp(34px,4.2vw,58px);font-weight:300;line-height:1.06;color:var(--c1);margin-bottom:1.4rem}
.sh2w em{font-style:italic;color:var(--g3)}
.sbody{font-size:15px;line-height:1.88;color:rgba(14,32,18,0.62);font-weight:300;max-width:520px}
.rv{opacity:0;transform:translateY(28px);transition:opacity 0.8s ease,transform 0.8s ease}
.rvl{opacity:0;transform:translateX(-30px);transition:opacity 0.8s ease,transform 0.8s ease}
.rvr{opacity:0;transform:translateX(30px);transition:opacity 0.8s ease,transform 0.8s ease}
.rv2{opacity:0;transform:translateY(18px) scale(0.97);transition:opacity 0.7s ease,transform 0.7s ease}
.rv.in,.rvl.in,.rvr.in,.rv2.in{opacity:1;transform:none}

/* ABOUT */
.about-sec{background:var(--c1);display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:600px;overflow:hidden}
.about-img-col{position:relative;height:100%;min-height:560px;border-radius:0 6rem 6rem 0;overflow:hidden}
.about-img-col img{width:100%;height:100%;object-fit:cover}
.about-img-col::after{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(10,26,14,0.1),transparent 60%)}
.about-stats-pill{position:absolute;top:24px;left:24px;z-index:3;background:rgba(10,26,14,0.78);backdrop-filter:blur(12px);border-radius:var(--rp);padding:12px 20px;display:flex;gap:16px;border:1px solid rgba(90,138,98,0.18)}
.asp{display:flex;flex-direction:column;align-items:center;gap:1px}
.asp-n{font-family:var(--serif);font-size:21px;color:var(--g3);line-height:1}
.asp-l{font-size:7.5px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(184,149,42,0.42)}
.asp-div{width:1px;background:rgba(90,138,98,0.2);align-self:stretch}
.about-float-badge{position:absolute;bottom:28px;right:0;z-index:3;background:var(--f3);color:var(--g3);border-radius:2.5rem 0 0 2.5rem;padding:14px 24px 14px 20px}
.afb-n{font-family:var(--serif);font-size:26px;color:var(--g3);line-height:1}
.afb-l{font-size:8.5px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(212,176,96,0.5)}
.about-txt-col{padding:60px 6vw 60px 5vw}
.pull-q{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--f4);line-height:1.65;background:linear-gradient(135deg,rgba(42,92,56,0.06),rgba(184,149,42,0.04));border-left:3px solid var(--g1);border-radius:0 1.2rem 1.2rem 0;padding:1rem 1.2rem;margin:1.6rem 0}

/* ROOMS */
.rooms-sec{background:var(--f1);padding:90px 7vw;overflow:hidden}
.rooms-hed{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.rooms-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rcard{background:rgba(255,255,255,0.04);border:1px solid rgba(90,138,98,0.13);border-radius:2rem;overflow:hidden;transition:transform 0.4s cubic-bezier(.2,0,.2,1),border-color 0.3s,box-shadow 0.4s;cursor:pointer}
.rcard:hover{border-color:rgba(184,149,42,0.35);box-shadow:0 22px 60px rgba(10,26,14,0.5)}
.rthumb{height:200px;position:relative;overflow:hidden;border-radius:2rem 2rem 0 0}
.rthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.7s cubic-bezier(.2,0,.2,1)}
.rcard:hover .rthumb img{transform:scale(1.08)}
.rthumb-ov{position:absolute;bottom:0;left:0;right:0;height:70px;background:linear-gradient(to top,rgba(10,26,14,0.62),transparent);z-index:2}
.rbadge{position:absolute;top:12px;left:12px;z-index:3;background:var(--g1);color:var(--f1);font-size:8px;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;padding:5px 12px;border-radius:var(--rp)}
.rbody{padding:18px 20px 16px}
.rname{font-family:var(--serif);font-size:21px;font-weight:400;color:var(--c1);margin-bottom:7px}
.rfeats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.rfeat{font-size:9.5px;letter-spacing:0.07em;color:rgba(184,149,42,0.62);background:rgba(184,149,42,0.08);border:1px solid rgba(184,149,42,0.13);padding:4px 10px;border-radius:var(--rp)}
.rfoot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(90,138,98,0.1);padding-top:12px}
.rprice{font-family:var(--serif);font-size:22px;color:var(--g3)}
.rprice sub{font-size:10.5px;color:rgba(184,149,42,0.38);font-family:var(--sans)}
.rcta{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--g1);text-decoration:none;display:flex;align-items:center;gap:4px;transition:gap 0.25s}
.rcta:hover{gap:9px}

/* GALLERY */
.gal-sec{background:var(--f1);padding:0 6vw 90px}
.gal-hed{padding:64px 0 40px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem}
.gg{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:300px 300px;gap:3px}
.gcell{overflow:hidden;position:relative;cursor:pointer;border-radius:0}
.gcell:first-child{grid-row:1/3}
.gcell img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 0.65s ease,filter 0.4s}
.gcell:hover img{transform:scale(1.06);filter:brightness(1.07)}
.gcap{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,26,14,0.7) 0%,transparent 50%);opacity:0;transition:opacity 0.35s;display:flex;align-items:flex-end;padding:18px}
.gcell:hover .gcap{opacity:1}
.gcap-txt{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--g3)}

/* AMENITIES */
.amen-sec{background:var(--c2);padding:90px 7vw;position:relative;overflow:hidden}
.amen-sec::before{content:'';position:absolute;top:-20%;right:-10%;z-index:0;width:550px;height:550px;background:radial-gradient(circle,rgba(42,92,56,0.07) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.amen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:3rem;position:relative;z-index:1}
.amcard{background:var(--c1);border-radius:1.8rem;padding:28px 22px;border:1px solid rgba(42,92,56,0.07);transition:all 0.4s cubic-bezier(.2,0,.2,1);position:relative;overflow:hidden}
.amcard::before{content:'';position:absolute;bottom:-36px;right:-36px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(184,149,42,0.07),transparent 70%);transition:transform 0.4s}
.amcard:hover{background:var(--f2);transform:translateY(-5px) scale(1.01);box-shadow:0 18px 46px rgba(10,26,14,0.2)}
.amcard:hover::before{transform:scale(2.6)}
.amcard:hover .ami{color:var(--g1)}
.amcard:hover .amn{color:var(--c1)}
.amcard:hover .amd{color:rgba(200,180,120,0.5)}
.ami{font-size:26px;margin-bottom:14px;color:var(--f5);transition:color 0.3s;display:block}
.amn{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--t1);margin-bottom:7px;transition:color 0.3s}
.amd{font-size:12.5px;color:rgba(14,32,18,0.5);line-height:1.65;transition:color 0.3s}

/* EXPERIENCE */
.exp-sec{background:var(--f1);padding:90px 7vw;overflow:hidden}
.exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.exp-list-card{background:rgba(255,255,255,0.03);border:1px solid rgba(90,138,98,0.1);border-radius:2rem;padding:38px 34px}
.expi{display:flex;gap:1.2rem;padding:16px 0;border-bottom:1px solid rgba(90,138,98,0.09);align-items:flex-start}
.expi:last-child{border-bottom:none}
.expi-n{font-family:var(--serif);font-size:28px;font-weight:300;color:rgba(184,149,42,0.26);min-width:34px;line-height:1}
.expi-b h3{font-family:var(--serif);font-size:17px;font-weight:400;color:var(--c1);margin-bottom:4px}
.expi-b p{font-size:13px;color:rgba(200,180,120,0.42);line-height:1.65}
.exp-img-stack{display:flex;flex-direction:column;gap:14px}
.exp-img-card{position:relative;overflow:hidden;height:220px;border-radius:2rem;cursor:pointer}
.exp-img-card:first-child{border-radius:3.5rem 2rem 2rem 2rem}
.exp-img-card:last-child{border-radius:2rem 2rem 3.5rem 2rem;height:180px}
.exp-img-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;filter:brightness(0.74)}
.exp-img-card:hover img{transform:scale(1.06);filter:brightness(0.87)}
.exp-img-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,26,14,0.7),transparent 50%)}
.exp-img-inner{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:18px 22px}
.eit{font-size:9px;letter-spacing:0.28em;text-transform:uppercase;color:var(--g1);margin-bottom:4px}
.ein{font-family:var(--serif);font-size:19px;font-weight:400;color:#fff}

/* TESTIMONIALS */
.testi-sec{background:var(--c1);padding:90px 0;overflow:hidden}
.testi-hed{padding:0 7vw;margin-bottom:2.5rem}
.ttrack{display:flex;gap:14px;animation:scrt 26s linear infinite;width:max-content;padding:6px 0}
.ttrack:hover{animation-play-state:paused}
@keyframes scrt{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.tcard{flex:0 0 340px;background:var(--c2);border:1px solid rgba(42,92,56,0.08);border-radius:2rem;padding:26px 24px;transition:transform 0.3s,box-shadow 0.3s}
.tcard:hover{transform:translateY(-4px);box-shadow:0 10px 36px rgba(10,26,14,0.1)}
.tcard:nth-child(odd){border-radius:3.5rem 2rem 2rem 2rem}
.tcard:nth-child(even){border-radius:2rem 2rem 3.5rem 2rem}
.tc-stars{color:var(--g1);letter-spacing:3px;font-size:11.5px;margin-bottom:12px}
.tc-q{font-family:var(--serif);font-size:16.5px;font-style:italic;color:var(--t1);line-height:1.7;margin-bottom:12px}
.tc-a{font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(14,32,18,0.33)}
.tc-src{display:inline-block;margin-top:5px;font-size:9px;letter-spacing:0.1em;border:1px solid rgba(184,149,42,0.28);padding:3px 9px;border-radius:var(--rp);color:var(--g1)}

/* LOCATION */
.loc-sec{display:grid;grid-template-columns:1fr 1.1fr;background:var(--c2);overflow:hidden}
.loc-vis{position:relative;min-height:500px;overflow:hidden}
.loc-map-iframe{position:absolute;inset:0;width:100%;height:100%;border:none;filter:saturate(0.85) brightness(0.92);transition:filter 0.4s}
.loc-vis:hover .loc-map-iframe{filter:saturate(1) brightness(1)}
.loc-map-label{position:absolute;bottom:0;left:0;right:0;z-index:3;background:linear-gradient(to top,rgba(14,34,22,0.92) 0%,rgba(14,34,22,0.6) 60%,transparent 100%);padding:28px 28px 22px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}
.loc-map-name{font-family:var(--serif);font-size:19px;font-style:italic;color:var(--g3);text-shadow:0 1px 6px rgba(0,0,0,0.5)}
.loc-map-sub{font-size:9px;letter-spacing:0.28em;text-transform:uppercase;color:rgba(184,149,42,0.55);margin-top:5px}
.loc-map-badge{background:var(--g1);color:var(--f1);font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;padding:8px 14px;pointer-events:auto;text-decoration:none;flex-shrink:0;transition:background 0.2s}
.loc-map-badge:hover{background:var(--g2)}
.loc-info{padding:60px 6vw}
.prox-list{margin-top:1.6rem}
.pxi{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid rgba(42,92,56,0.09)}
.pxn{font-size:13.5px;color:var(--t1);display:flex;align-items:center;gap:9px}
.pxd{font-family:var(--serif);font-size:13.5px;color:var(--f4);font-style:italic}
.crow-wrap{margin-top:1.8rem;display:flex;flex-direction:column;gap:11px}
.crow{display:flex;gap:11px;align-items:flex-start}
.cicon{width:32px;height:32px;background:rgba(42,92,56,0.1);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;border-radius:var(--rp)}
.ctxt{font-size:13px;color:rgba(14,32,18,0.57);line-height:1.55}
.ctxt strong{display:block;font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:var(--f4);margin-bottom:2px;font-weight:600}

/* ENQUIRY */
.enq-sec{background:#0e2216;padding:90px 7vw;position:relative;overflow:hidden}
.enq-sec::before{content:'';position:absolute;top:-25%;left:-8%;z-index:0;width:650px;height:650px;background:radial-gradient(circle,rgba(42,92,56,0.1) 0%,transparent 65%);border-radius:50%;pointer-events:none}
.enq-sec::after{content:'';position:absolute;bottom:-18%;right:-4%;z-index:0;width:480px;height:480px;background:radial-gradient(circle,rgba(184,149,42,0.05) 0%,transparent 65%);border-radius:50%;pointer-events:none}
.enq-inner{display:grid;grid-template-columns:1fr 1.3fr;gap:7vw;align-items:start;position:relative;z-index:1}
.enq-feats{margin-top:1.8rem;display:flex;flex-direction:column;gap:11px}
.enqf{font-size:13px;color:rgba(200,180,120,0.5);display:flex;gap:11px;align-items:center}
.enqf::before{content:'✓';width:20px;height:20px;border-radius:50%;background:rgba(184,149,42,0.1);display:flex;align-items:center;justify-content:center;color:var(--g1);font-size:10.5px;flex-shrink:0}
.enq-form{background:rgba(255,255,255,0.04);border:1px solid rgba(90,138,98,0.12);border-radius:2rem;padding:36px;backdrop-filter:blur(8px)}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.fg label{font-size:8.5px;letter-spacing:0.24em;text-transform:uppercase;color:rgba(184,149,42,0.4)}
.fg input,.fg select,.fg textarea{background:rgba(255,255,255,0.05);border:1px solid rgba(90,138,98,0.14);border-radius:0.9rem;color:var(--c1);font-family:var(--sans);font-size:14px;font-weight:300;padding:11px 14px;outline:none;width:100%;transition:all 0.3s;color-scheme:dark}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:rgba(184,149,42,0.42);background:rgba(255,255,255,0.07);box-shadow:0 0 0 3px rgba(184,149,42,0.08)}
.fg select option{background:var(--f2)}
.fg textarea{resize:vertical;min-height:86px}

/* FOOTER */
.footer-logo-wrap{display:flex;align-items:flex-start;margin-bottom:14px}
.footer-logo-img{height:140px;width:auto;mix-blend-mode:screen;filter:brightness(1.15) contrast(1.05)}
footer{background:#0f2214;padding:64px 7vw 0;color:rgba(255,255,255,0.6);border-top:3px solid var(--g1);position:relative}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(184,149,42,0.4) 20%,rgba(184,149,42,0.4) 80%,transparent)}
.fg-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:3rem;margin-bottom:2.6rem}
.fw{display:none}
.fb p{font-size:13px;line-height:1.7;max-width:220px;color:rgba(255,255,255,0.5)}
.f-tagline{font-size:11px;letter-spacing:0.16em;color:rgba(184,149,42,0.55);text-transform:uppercase;margin-bottom:16px}
.fsoc-wrap{display:flex;gap:9px;margin-top:4px}
.fsoc{width:36px;height:36px;border:1px solid rgba(184,149,42,0.35);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--g1);text-decoration:none;transition:all 0.22s;flex-shrink:0}
.fsoc svg{width:16px;height:16px;display:block}
.fsoc:hover{background:var(--g1);border-color:var(--g1);color:#0f2214}
.fcol h5{font-size:8.5px;letter-spacing:0.28em;text-transform:uppercase;color:var(--g1);margin-bottom:1rem;font-weight:600;padding-bottom:8px;border-bottom:1px solid rgba(184,149,42,0.2)}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.fcol a{font-size:13px;color:rgba(255,255,255,0.55);text-decoration:none;transition:color 0.2s,padding-left 0.2s;display:inline-block}
.fcol a:hover{color:var(--g3);padding-left:4px}
.fbot{border-top:1px solid rgba(184,149,42,0.15);background:#fff;color:#fff;margin:0 -7vw;padding:15px 7vw;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:11px}
.fbot p{color:rgba(255,255,255,0.36);margin:0}
.fbot a{color:rgba(184,149,42,0.6);text-decoration:none}
.fbot a:hover{color:var(--g1)}
.fpay{display:flex;gap:7px;flex-wrap:wrap}
.fpchip{font-size:9px;border:1px solid rgba(184,149,42,0.25);padding:4px 10px;border-radius:var(--rp);color:rgba(184,149,42,0.65);letter-spacing:0.08em;background:rgba(184,149,42,0.05)}

/* FAB */
.fab{position:fixed;bottom:24px;right:24px;z-index:400;background:var(--g1);color:var(--f1);border:none;cursor:pointer;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;padding:12px 20px;border-radius:var(--rp);box-shadow:0 6px 26px rgba(184,149,42,0.44);display:flex;align-items:center;gap:6px;opacity:0;pointer-events:none;transform:translateY(10px) scale(0.95);transition:all 0.4s cubic-bezier(.2,0,.2,1)}
.fab.show{opacity:1;pointer-events:auto;transform:none}
.fab:hover{background:var(--g2);transform:translateY(-2px) scale(1.02)!important}

/* VIDEO MODAL */
#vmodal{position:fixed;inset:0;z-index:900;background:rgba(6,14,8,0.94);backdrop-filter:blur(20px);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity 0.4s}
#vmodal.open{display:flex;opacity:1}
.vm{position:relative;max-width:840px;width:88%;aspect-ratio:16/9;background:var(--f2);border:1px solid rgba(90,138,98,0.18);border-radius:1.8rem;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vm-close{position:absolute;top:-44px;right:0;background:none;border:none;color:var(--g3);font-family:var(--serif);font-size:30px;cursor:pointer;line-height:1}
.vm-ph{text-align:center;color:rgba(200,180,120,0.36)}
.vm-ph .vmi{font-size:52px;margin-bottom:12px}
.vm-ph p{font-family:var(--serif);font-size:17px;font-style:italic}
.vm-ph small{font-size:10.5px;letter-spacing:0.14em;color:rgba(200,180,120,0.2);margin-top:7px;display:block}

/* ═══════════════ RESPONSIVE ═══════════════ */

@media(max-width:1024px){
  .amen-grid{grid-template-columns:repeat(2,1fr)}
  .rooms-scroll{grid-template-columns:repeat(2,1fr)}
  .fg-grid{grid-template-columns:1fr 1fr}
  .enq-inner{grid-template-columns:1fr}
  .exp-grid{grid-template-columns:1fr}
  .exp-img-stack{flex-direction:row}
  .exp-img-card,.exp-img-card:first-child,.exp-img-card:last-child{flex:1;height:200px;border-radius:2rem}
  .loc-sec{grid-template-columns:1fr}
  .loc-vis{border-radius:0 0 3rem 3rem;margin:0;min-height:260px}
}

@media(max-width:768px){
  .bbar{flex-wrap:wrap}
  .bbf{min-width:50%;border-bottom:1px solid rgba(255,255,255,0.07)}
  .bbar-btn{flex:0 0 100%;min-height:56px}
  .nlinks{display:none;position:fixed;top:60px;left:0;right:0;background:rgba(14,35,18,0.98);backdrop-filter:blur(20px);flex-direction:column;padding:16px 0 20px;border-bottom:1px solid rgba(184,149,42,0.2);z-index:499;gap:0}
  .nlinks.open{display:flex}
  .nlinks li{width:100%}
  .nlinks a{display:block;padding:13px 5vw;font-size:12px;color:rgba(255,255,255,0.75)!important;text-shadow:none!important;border-bottom:1px solid rgba(255,255,255,0.05);letter-spacing:0.18em}
  .nlinks a:hover{color:var(--g3)!important;background:rgba(255,255,255,0.04)}
  .nbtn{display:none}
  .nham{display:flex}
  #nav{padding:0 4vw;height:60px}
  .nlogo-icon{height:40px}
  .nm{font-size:16px}
  #hero{min-height:580px}
  .hcont{padding:0 5vw;padding-bottom:80px;max-width:100%}
  .htitle{font-size:clamp(42px,11vw,72px)}
  .hscript{font-size:clamp(22px,7vw,38px)}
  .hsub{font-size:14px;max-width:100%}
  .hbtns{gap:10px}
  .sctr,.vpill,.hscroll-ind{display:none}
  .sarrs{bottom:20px;right:5vw}
  .sarr{width:38px;height:38px;font-size:14px}
  .sdots{bottom:26px;left:5vw}
  .bcard-wrap{padding:0 1rem;transform:none}
  .bcard{border-radius:1.2rem}
  .bcard-fields{grid-template-columns:1fr 1fr}
  .bcf{padding:15px 16px;border-right:none;border-bottom:1px solid rgba(255,255,255,0.06)}
  .bcf:nth-child(1),.bcf:nth-child(3){border-right:1px solid rgba(255,255,255,0.06)}
  .bc-btn{grid-column:1/-1;border-radius:0 0 1.1rem 1.1rem;min-height:54px;padding:14px;height:auto}
  .about-sec{grid-template-columns:1fr}
  .about-img-col{min-height:300px;border-radius:0 0 3rem 3rem}
  .about-txt-col{padding:40px 6vw}
  .rooms-sec{padding:72px 5vw}
  .rooms-scroll{grid-template-columns:1fr}
  .rooms-hed{flex-direction:column;align-items:flex-start}
  .gal-sec{padding:0 5vw 72px}
  .gg{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px}
  .gcell:first-child{grid-row:auto;grid-column:1/-1}
  .gcell,.gcell:first-child{height:200px;border-radius:0}
  .amen-sec{padding:72px 5vw}
  .amen-grid{grid-template-columns:1fr 1fr;gap:12px}
  .amcard{padding:22px 18px;border-radius:1.5rem}
  .exp-sec{padding:72px 5vw}
  .exp-grid{grid-template-columns:1fr;gap:16px}
  .exp-img-stack{flex-direction:row;gap:12px}
  .exp-img-card,.exp-img-card:first-child,.exp-img-card:last-child{flex:1;height:160px;border-radius:1.5rem}
  .loc-sec{grid-template-columns:1fr}
  .loc-vis{border-radius:0 0 2.5rem 2.5rem;margin:0;min-height:220px}
  .loc-info{padding:40px 5vw}
  .enq-sec{padding:72px 5vw}
  .enq-inner{grid-template-columns:1fr;gap:3rem}
  .fr{grid-template-columns:1fr}
  .enq-form{padding:24px;border-radius:1.5rem}
  footer{padding:50px 5vw 0}
  .fg-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .fbot{margin:0 -5vw;padding:15px 5vw;flex-direction:column;align-items:flex-start;gap:0.8rem}
  .sec{padding:72px 5vw}
}

@media(max-width:480px){
  .bbf{min-width:100%}
  .bcard-fields{grid-template-columns:1fr}
  .bcf{border-right:none!important;border-bottom:1px solid rgba(255,255,255,0.06)}
  .bcf:last-child{border-bottom:none}
  .amen-grid{grid-template-columns:1fr}
  .exp-img-stack{flex-direction:column}
  .exp-img-card,.exp-img-card:first-child,.exp-img-card:last-child{height:180px;border-radius:1.5rem}
  .fg-grid{grid-template-columns:1fr}
  .rooms-hed{flex-direction:column;align-items:flex-start}
}

/* Date input fix */
.bbf input[type="date"]::-webkit-datetime-edit{color:var(--c1)}
.bbf input[type="date"]::-webkit-datetime-edit-fields-wrapper{color:var(--c1)}
.bbf input[type="date"]::-webkit-inner-spin-button,
.bbf input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1) opacity(0.5)}

/* Hamburger X */
.nham.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nham.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.nham.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}


/**************************/


/* ═══════════════════════════════════════════════════════════════════════════
   NAV ADDITIONS  —  paste at the end of style.css
   ═══════════════════════════════════════════════════════════════════════════ */

/* Active nav link */
.nlinks a.active{
  color:var(--g3) !important;
  text-shadow:none !important;
}
.nlinks a.active::after{
  width:100% !important;
  background:var(--g1);
}

/* Inner pages (room.php, gallery.php, etc.)
   Nav is always dark — no transparent phase */
#nav.nav-inner{
  background:rgba(14,35,18,0.97);
  backdrop-filter:blur(20px);
  height:64px;
  border-bottom:1px solid rgba(90,138,98,0.25);
}
#nav.nav-inner .nlogo-icon{
  filter:drop-shadow(0 0 10px rgba(184,149,42,0.5)) brightness(1.1);
}
#nav.nav-inner .nm{
  color:var(--g3);
  text-shadow:none;
}
#nav.nav-inner .ns{
  color:rgba(184,149,42,0.5);
}
#nav.nav-inner .nlinks a{
  color:rgba(250,247,240,0.7);
  text-shadow:none;
}
#nav.nav-inner .nlinks a.active{
  color:var(--g3) !important;
}

/* Mobile active link */
@media(max-width:768px){
  .nlinks a.active{
    color:var(--g3) !important;
    background:rgba(184,149,42,0.06);
  }
}
/***********************/
/* ═══════════════════════════════════════════════════════════════════════════
   NAV ADDITIONS — append to the bottom of style.css
   ═══════════════════════════════════════════════════════════════════════════ */

/* Active nav link */
.nlinks a.active,
.nlinks a[style*="color:var(--g3)"] {
  color: var(--g3) !important;
}
.nlinks a.active::after {
  width: 100% !important;
}

/* Inner pages: nav always dark (no transparent phase) */
#nav.nav-inner {
  background: rgba(14,35,18,0.97) !important;
  backdrop-filter: blur(20px);
  height: 64px;
  border-bottom: 1px solid rgba(90,138,98,0.25);
}
#nav.nav-inner .nlogo-icon {
  filter: drop-shadow(0 0 10px rgba(184,149,42,0.5)) brightness(1.1);
}
#nav.nav-inner .nm { color: var(--g3); text-shadow: none; }
#nav.nav-inner .ns { color: rgba(184,149,42,0.5); }
#nav.nav-inner .nlinks a { color: rgba(250,247,240,0.7); text-shadow: none; }

/* Mobile — ensure menu slides in correctly on ALL pages */
@media (max-width: 768px) {
  .nlinks {
    display: none;
    position: fixed;
    top: 60px; left: 0; right: 0;
    background: rgba(14,35,18,0.98);
    backdrop-filter: blur(20px);
    flex-direction: column;
    padding: 10px 0 16px;
    border-bottom: 1px solid rgba(184,149,42,0.18);
    z-index: 499;
    gap: 0;
  }
  .nlinks.open { display: flex; }

  .nlinks li { width: 100%; }
  .nlinks a {
    display: block;
    padding: 13px 5vw;
    font-size: 12px;
    color: rgba(255,255,255,0.75) !important;
    text-shadow: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    letter-spacing: 0.18em;
  }
  .nlinks a:hover { color: var(--g3) !important; background: rgba(255,255,255,0.04); }
  .nlinks a[style*="color:var(--g3)"] { color: var(--g3) !important; }
}
/**********************home**************/
/* ── Rooms Grid ─────────────────────────────────────────── */
.rooms-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 32px;
  max-width: 1200px;
  margin: 48px auto 0;
  padding: 0 24px;
}

.room-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,0.10);
  display: flex;
  flex-direction: column;
  transition: transform .25s, box-shadow .25s;
}
.room-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 36px rgba(0,0,0,0.15);
}

.room-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
}
.room-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.room-card:hover .room-img-wrap img { transform: scale(1.04); }

.room-badge {
  position: absolute; top: 14px; left: 14px;
  background: #b8952a;
  color: #fff;
  font-size: .70rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 4px;
}

.room-info {
  padding: 22px 22px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.room-info h3 {
  font-size: 1.18rem;
  font-weight: 700;
  color: #142b1a;
  margin: 0 0 10px;
}

.room-meta {
  display: flex; gap: 14px;
  font-size: .82rem; color: #555;
  margin-bottom: 10px;
}
.room-meta span { display: flex; align-items: center; gap: 5px; }
.tag-family { color: #1e7f3e; font-weight: 600; }

.room-desc {
  font-size: .88rem;
  color: #666;
  line-height: 1.55;
  margin: 0 0 14px;
}

.room-amenities {
  list-style: none;
  padding: 0; margin: 0 0 16px;
  display: flex; flex-wrap: wrap; gap: 6px 14px;
}
.room-amenities li {
  font-size: .78rem;
  color: #3a6b48;
  display: flex; align-items: center; gap: 4px;
}
.room-amenities li.more-amenities {
  color: #b8952a;
  font-weight: 600;
}

.room-footer {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #f0ede7;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.room-price { display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap; }
.price-from  { font-size: .78rem; color: #888; }
.price-amount{ font-size: 1.35rem; font-weight: 700; color: #142b1a; }
.price-night { font-size: .78rem; color: #888; }
.price-wkd   { font-size: .74rem; color: #b8952a; }
.price-gst   { font-size: .72rem; color: #999; width:100%; margin-top:2px; }

.btn-book-room {
  background: #142b1a;
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 9px 18px;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s, color .2s;
}
.btn-book-room:hover { background: #b8952a; color: #fff; }

/* ── Gallery Grid ─────────────────────────────────────────── */
.gallery-filters {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 32px 0 24px;
}
.gf-btn {
  background: transparent;
  border: 1.5px solid #b8952a;
  color: #b8952a;
  font-size: .80rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 7px 18px;
  border-radius: 20px;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.gf-btn.active, .gf-btn:hover {
  background: #b8952a;
  color: #fff;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 4/3;
  cursor: pointer;
}
.gallery-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s;
  display: block;
}
.gallery-item:hover img { transform: scale(1.06); }

.gallery-caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,.65));
  color: #fff;
  font-size: .80rem;
  padding: 18px 12px 10px;
  opacity: 0;
  transition: opacity .3s;
}
.gallery-item:hover .gallery-caption { opacity: 1; }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 768px) {
  .rooms-grid   { grid-template-columns: 1fr; padding: 0 16px; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); padding: 0 16px; }
}
@media (max-width: 480px) {
  .gallery-grid { grid-template-columns: 1fr; }
  .room-footer  { flex-direction: column; align-items: flex-start; }
}