@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500;600;700&display=swap');
:root{--cream:#faf6f0;--sand:#f0e8dc;--sand2:#e5d9c8;--copper:#c4622d;--copper2:#e07540;--copper3:#9e4d22;--gold:#c8942a;--gold2:#e8b84b;--forest:#2a4a3a;--forest2:#3d6b54;--deep:#1c120a;--text:#251a0f;--text2:#7a6248;--text3:#b09878;--white:#ffffff;--r:16px;--nav-h:76px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}
img{display:block;max-width:100%}a{text-decoration:none;color:inherit}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--sand)}::-webkit-scrollbar-thumb{background:var(--copper);border-radius:3px}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.anim{opacity:0;animation:fadeUp .7s ease forwards}
.anim-d1{animation-delay:.1s}.anim-d2{animation-delay:.2s}.anim-d3{animation-delay:.3s}.anim-d4{animation-delay:.4s}
/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:rgba(250,246,240,0);transition:background .4s,box-shadow .4s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(250,246,240,.97);backdrop-filter:blur(20px);box-shadow:0 2px 20px rgba(28,18,10,.08);border-color:rgba(196,98,45,.12)}
.nav-brand{display:flex;align-items:center;gap:10px}
.nav-logo{width:42px;height:42px;background:linear-gradient(135deg,var(--copper),var(--gold));border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.nav-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--white);transition:color .4s}
.nav.solid .nav-name{color:var(--text)}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{font-size:13.5px;font-weight:500;color:rgba(255,255,255,.8);transition:color .3s;position:relative}
.nav.solid .nav-links a{color:var(--text2)}
.nav-links a:hover{color:var(--copper2)}
.nav-btn{background:var(--copper);color:var(--white)!important;padding:10px 22px;border-radius:50px;font-weight:600!important;font-size:13px!important;transition:all .2s!important}
.nav-btn:hover{background:var(--copper3)!important;transform:translateY(-1px)}
.nav-mob{display:none;background:none;border:none;cursor:pointer;padding:6px;color:var(--white);font-size:22px}
.nav.solid .nav-mob{color:var(--text)}
/* HERO */
.hero{min-height:100vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:var(--nav-h) 5% 60px}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,#1c120a 0%,#2e1a0a 35%,#1a2e22 70%,#0f1e18 100%)}
.hero-orb1{position:absolute;top:-10%;left:-5%;width:60vw;height:60vw;max-width:700px;max-height:700px;border-radius:50%;background:radial-gradient(circle,rgba(196,98,45,.4) 0%,transparent 70%);filter:blur(60px);animation:float 8s ease-in-out infinite}
.hero-orb2{position:absolute;bottom:-10%;right:-5%;width:50vw;height:50vw;max-width:600px;max-height:600px;border-radius:50%;background:radial-gradient(circle,rgba(42,74,58,.7) 0%,transparent 70%);filter:blur(80px);animation:float 10s 2s ease-in-out infinite}
.hero-orb3{position:absolute;top:30%;right:15%;width:30vw;height:30vw;max-width:400px;border-radius:50%;background:radial-gradient(circle,rgba(200,148,42,.2) 0%,transparent 70%);filter:blur(50px);animation:float 6s 4s ease-in-out infinite}
.hero-content{position:relative;z-index:2;text-align:center;max-width:860px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(196,98,45,.18);border:1px solid rgba(196,98,45,.35);color:var(--copper2);padding:8px 20px;border-radius:50px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:28px;animation:fadeUp .8s ease both}
.hero-badge-dot{width:6px;height:6px;background:var(--copper2);border-radius:50%;animation:pulse 2s infinite;display:inline-block}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(46px,8vw,96px);font-weight:700;color:var(--white);line-height:1.0;margin-bottom:8px;animation:fadeUp .8s .1s ease both}
.hero-h1 em{color:var(--copper2);font-style:italic}
.hero-h1 .alt{color:var(--gold2)}
.hero-tagline{font-size:clamp(15px,2vw,20px);color:rgba(255,255,255,.6);font-weight:300;line-height:1.7;max-width:520px;margin:16px auto 48px;animation:fadeUp .8s .2s ease both}
/* SEARCH BAR */
.search-bar{background:var(--white);border-radius:20px;padding:8px;display:flex;gap:4px;box-shadow:0 24px 64px rgba(0,0,0,.3);max-width:820px;width:100%;margin:0 auto;animation:fadeUp .8s .3s ease both}
.sb-field{flex:1;display:flex;flex-direction:column;padding:10px 16px;border-radius:14px;cursor:pointer;transition:background .2s;min-width:0}
.sb-field:hover{background:var(--sand)}
.sb-field label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text2);margin-bottom:5px;cursor:pointer;white-space:nowrap}
.sb-field select,.sb-field input{border:none;outline:none;background:transparent;font-family:inherit;font-size:14px;font-weight:600;color:var(--text);width:100%;cursor:pointer}
.sb-field select option{background:#fff;color:var(--text)}
.sb-div{width:1px;background:var(--sand2);margin:8px 0;flex-shrink:0}
.sb-btn{background:linear-gradient(135deg,var(--copper),var(--copper3));color:var(--white);border:none;border-radius:14px;padding:0 30px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:9px;white-space:nowrap;transition:all .2s;flex-shrink:0;min-height:54px}
.sb-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(196,98,45,.45)}
.hero-nums{display:flex;justify-content:center;gap:52px;margin-top:52px;animation:fadeUp .8s .4s ease both}
.hn-n{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:700;color:var(--white);line-height:1}
.hn-l{font-size:12px;color:rgba(255,255,255,.45);margin-top:3px;font-weight:400}
/* SECTIONS */
section{padding:90px 5%}
.section-label{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--copper);margin-bottom:12px}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,52px);font-weight:700;color:var(--text);line-height:1.15;margin-bottom:16px}
.section-sub{font-size:16px;color:var(--text2);line-height:1.7;max-width:560px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:20px;flex-wrap:wrap}
.view-all{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--copper);border:1.5px solid var(--copper);padding:10px 22px;border-radius:50px;transition:all .2s}
.view-all:hover{background:var(--copper);color:var(--white)}
/* PROPERTY CARDS */
.props-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.prop-card{background:var(--white);border-radius:20px;overflow:hidden;transition:transform .3s,box-shadow .3s;position:relative}
.prop-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(28,18,10,.15)}
.prop-img-wrap{position:relative;height:228px;overflow:hidden;background:var(--sand)}
.prop-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.prop-card:hover .prop-img-wrap img{transform:scale(1.06)}
.prop-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:56px;background:linear-gradient(135deg,var(--sand),var(--sand2))}
.prop-badge{position:absolute;top:14px;left:14px;padding:5px 13px;border-radius:50px;font-size:11px;font-weight:700}
.badge-avail{background:rgba(42,74,58,.85);color:#7ee8a2;backdrop-filter:blur(8px)}
.badge-taken{background:rgba(196,98,45,.85);color:var(--white);backdrop-filter:blur(8px)}
.badge-soon{background:rgba(200,148,42,.85);color:var(--white);backdrop-filter:blur(8px)}
.prop-imgs-count{position:absolute;bottom:12px;right:12px;background:rgba(28,18,10,.65);color:var(--white);padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;backdrop-filter:blur(8px);display:flex;align-items:center;gap:5px}
.prop-fav{position:absolute;top:14px;right:14px;width:34px;height:34px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:all .2s;border:none}
.prop-fav:hover,.prop-fav.active{background:var(--copper);color:var(--white)}
.prop-body{padding:20px}
.prop-type{font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--copper);margin-bottom:7px}
.prop-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--text);margin-bottom:5px;line-height:1.2}
.prop-loc{font-size:13px;color:var(--text2);display:flex;align-items:center;gap:5px;margin-bottom:12px}
.prop-feats{display:flex;gap:14px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--sand);flex-wrap:wrap}
.prop-feat{font-size:12.5px;color:var(--text2);display:flex;align-items:center;gap:5px}
.prop-foot{display:flex;align-items:center;justify-content:space-between}
.prop-price{font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:700;color:var(--copper)}
.prop-price span{font-family:'DM Sans',sans-serif;font-size:12px;color:var(--text2);font-weight:400}
.prop-book-btn{background:var(--forest);color:var(--white);padding:9px 18px;border-radius:50px;font-size:12.5px;font-weight:600;border:none;cursor:pointer;font-family:inherit;transition:all .2s}
.prop-book-btn:hover{background:var(--forest2);transform:translateY(-1px)}
/* FILTERS */
.filters{display:flex;gap:10px;margin-bottom:36px;flex-wrap:wrap}
.filter-pill{padding:9px 20px;border-radius:50px;font-size:13px;font-weight:500;border:1.5px solid var(--sand2);background:var(--white);color:var(--text2);cursor:pointer;transition:all .2s}
.filter-pill:hover,.filter-pill.active{background:var(--copper);border-color:var(--copper);color:var(--white)}
/* FEATURED STRIP */
.featured-strip{background:linear-gradient(135deg,var(--forest) 0%,var(--forest2) 100%);padding:70px 5%;position:relative;overflow:hidden}
.fs-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1200px;margin:0 auto}
.fs-title{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4vw,48px);font-weight:700;color:var(--white);line-height:1.1;margin-bottom:16px}
.fs-title em{color:var(--gold2);font-style:italic}
.fs-sub{font-size:16px;color:rgba(255,255,255,.6);line-height:1.7;margin-bottom:28px}
.fs-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fs-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px;transition:background .2s;cursor:pointer;text-decoration:none}
.fs-card:hover{background:rgba(255,255,255,.14)}
.fs-card-ico{width:44px;height:44px;border-radius:10px;background:rgba(196,98,45,.3);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.fs-card-name{font-weight:600;font-size:13.5px;color:var(--white);margin-bottom:2px}
.fs-card-meta{font-size:11.5px;color:rgba(255,255,255,.5)}
/* DETAIL */
.gallery-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:490px;border-radius:20px;overflow:hidden}
.gallery-main{grid-row:1/3;position:relative;overflow:hidden;cursor:pointer}
.gallery-main img,.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-main:hover img,.gallery-thumb:hover img{transform:scale(1.04)}
.gallery-thumb{position:relative;overflow:hidden;cursor:pointer}
.gallery-more-overlay{position:absolute;inset:0;background:rgba(28,18,10,.55);display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--white);pointer-events:none}
.gallery-more-n{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:700}
.gallery-more-l{font-size:12px;opacity:.75}
.lightbox{display:none;position:fixed;inset:0;background:rgba(10,6,3,.95);z-index:1000;align-items:center;justify-content:center;flex-direction:column;padding:20px}
.lightbox.open{display:flex}
.lb-img-wrap{position:relative}
.lb-img-wrap img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:10px}
.lb-close{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.15);border:none;color:var(--white);font-size:22px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:none;color:var(--white);font-size:22px;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lb-prev{left:14px}.lb-next{right:14px}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.3)}
.lb-dots{display:flex;gap:8px;justify-content:center;margin-top:16px}
.lb-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;border:none;transition:background .2s}
.lb-dot.active{background:var(--white)}
.detail-wrap{max-width:1200px;margin:0 auto;padding:30px 5% 80px;margin-top:var(--nav-h)}
.detail-grid{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;margin-top:36px}
.detail-title{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4vw,46px);font-weight:700;color:var(--text);line-height:1.1;margin-bottom:8px}
.detail-loc{font-size:15px;color:var(--text2);display:flex;align-items:center;gap:6px;margin-bottom:18px}
.detail-feats{display:flex;gap:24px;padding:18px 0;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand);margin-bottom:28px;flex-wrap:wrap}
.detail-feat{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text2)}
.detail-feat strong{color:var(--text);font-weight:600}
.detail-section{margin-bottom:32px}
.detail-section h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;margin-bottom:14px;color:var(--text)}
.detail-section p{font-size:15px;color:var(--text2);line-height:1.8}
.amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}
.amenity-tag{display:flex;align-items:center;gap:9px;padding:11px 14px;background:var(--sand);border-radius:10px;font-size:13px;font-weight:500}
/* BOOKING WIDGET */
.book-widget{background:var(--white);border-radius:20px;padding:28px;box-shadow:0 8px 40px rgba(28,18,10,.12);position:sticky;top:calc(var(--nav-h) + 20px);border:1px solid var(--sand)}
.bw-price{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:700;color:var(--copper);margin-bottom:4px}
.bw-price span{font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text2);font-weight:400}
.bw-rating{display:flex;align-items:center;gap:6px;margin-bottom:22px;font-size:13.5px;color:var(--text2)}
.bw-dates{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--sand2);border-radius:14px;overflow:hidden;margin-bottom:10px}
.bw-date-field{padding:12px 16px;cursor:pointer;transition:background .2s}
.bw-date-field:first-child{border-right:1.5px solid var(--sand2)}
.bw-date-field:hover{background:var(--sand)}
.bw-date-field label{display:block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text2);margin-bottom:4px;cursor:pointer}
.bw-date-field input{border:none;outline:none;background:transparent;font-family:inherit;font-size:14px;font-weight:600;color:var(--text);width:100%}
.bw-guests{border:1.5px solid var(--sand2);border-radius:14px;padding:12px 16px;margin-bottom:20px}
.bw-guests label{display:block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text2);margin-bottom:4px}
.bw-guests select{border:none;outline:none;background:transparent;font-family:inherit;font-size:14px;font-weight:600;color:var(--text);width:100%}
.bw-btn{width:100%;background:linear-gradient(135deg,var(--copper),var(--copper3));color:var(--white);border:none;border-radius:14px;padding:16px;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;margin-bottom:12px}
.bw-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(196,98,45,.4)}
.bw-wa{width:100%;background:linear-gradient(135deg,#25d366,#128c7e);color:var(--white);border:none;border-radius:14px;padding:13px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:8px}
.bw-wa:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(37,211,102,.3)}
.bw-call{width:100%;background:var(--forest);color:var(--white);border:none;border-radius:14px;padding:13px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:all .2s}
.bw-call:hover{background:var(--forest2)}
.bw-breakdown{margin-top:20px;padding-top:18px;border-top:1px solid var(--sand)}
.bw-row{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:9px;color:var(--text2)}
.bw-total{display:flex;justify-content:space-between;font-size:16px;font-weight:700;color:var(--text);padding-top:12px;border-top:1px solid var(--sand);margin-top:4px}
/* REVIEWS */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.review-card{background:var(--white);border-radius:16px;padding:22px;border:1px solid var(--sand)}
.rev-stars{color:var(--gold);font-size:14px;margin-bottom:10px;letter-spacing:2px}
.rev-text{font-size:14px;color:var(--text2);line-height:1.75;margin-bottom:14px;font-style:italic}
.rev-author{display:flex;align-items:center;gap:10px}
.rev-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--copper),var(--gold));display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:700;font-size:14px;flex-shrink:0}
.rev-name{font-weight:600;font-size:13.5px}.rev-date{font-size:11.5px;color:var(--text3)}
/* ENQUIRY */
.enq-section{background:linear-gradient(160deg,var(--sand) 0%,var(--cream) 100%)}
.enq-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1100px;margin:0 auto}
.enq-form{background:var(--white);border-radius:24px;padding:40px;box-shadow:0 8px 40px rgba(28,18,10,.08)}
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.fg label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text2)}
.fg input,.fg select,.fg textarea{background:var(--sand);border:1.5px solid transparent;border-radius:10px;padding:12px 16px;font-family:inherit;font-size:14px;color:var(--text);transition:all .2s;outline:none;width:100%}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--copper);background:var(--white);box-shadow:0 0 0 4px rgba(196,98,45,.1)}
.fg textarea{resize:vertical;min-height:90px}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.enq-submit{width:100%;background:linear-gradient(135deg,var(--copper),var(--copper3));color:var(--white);border:none;border-radius:12px;padding:16px;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;margin-top:6px}
.enq-submit:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(196,98,45,.4)}
.enq-info-item{display:flex;align-items:flex-start;gap:16px;margin-bottom:28px}
.enq-ico{width:50px;height:50px;background:var(--copper);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;color:var(--white)}
.enq-info-title{font-weight:700;font-size:15px;margin-bottom:4px}
.enq-info-sub{font-size:14px;color:var(--text2);line-height:1.6}
/* ABOUT */
.about-section{background:var(--deep);padding:90px 5%;position:relative;overflow:hidden}
.about-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(196,98,45,.15) 0%,transparent 60%)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:1100px;margin:0 auto;position:relative;z-index:1}
.about-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,50px);font-weight:700;color:var(--white);line-height:1.1;margin-bottom:16px}
.about-title em{color:var(--copper2);font-style:italic}
.about-text{font-size:15px;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:16px}
.about-vals{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.about-val{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px}
.about-val-ico{font-size:22px;margin-bottom:8px}
.about-val-title{font-weight:700;font-size:14px;color:var(--white);margin-bottom:4px}
.about-val-text{font-size:12.5px;color:rgba(255,255,255,.45);line-height:1.6}
.about-nums{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.about-num-n{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:700;color:var(--copper2);line-height:1}
.about-num-l{font-size:13px;color:rgba(255,255,255,.5);margin-top:4px}
/* CHAT */
.chat-bubble{position:fixed;bottom:28px;right:28px;z-index:300}
.chat-toggle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--copper),var(--copper3));border:none;cursor:pointer;font-size:26px;box-shadow:0 6px 24px rgba(196,98,45,.5);display:flex;align-items:center;justify-content:center;transition:all .3s;color:var(--white)}
.chat-toggle:hover{transform:scale(1.08)}
.chat-dot{position:absolute;top:2px;right:2px;width:14px;height:14px;background:#22c55e;border-radius:50%;border:2px solid var(--white);animation:pulse 2s infinite}
.chat-box{position:absolute;bottom:74px;right:0;width:340px;background:var(--white);border-radius:20px;box-shadow:0 16px 60px rgba(28,18,10,.2);border:1px solid var(--sand);overflow:hidden;display:none}
.chat-box.open{display:block;animation:fadeUp .3s ease}
.chat-head{background:linear-gradient(135deg,var(--forest),var(--forest2));padding:18px 20px;display:flex;align-items:center;gap:12px}
.chat-head-av{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.chat-head-info .name{font-weight:700;font-size:15px;color:var(--white)}
.chat-head-info .status{font-size:11.5px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:5px;margin-top:2px}
.chat-head-info .status::before{content:'';width:7px;height:7px;background:#22c55e;border-radius:50%;display:inline-block}
.chat-msgs{height:260px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--cream)}
.chat-msg{max-width:80%;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.55}
.chat-msg.agent{background:var(--white);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 2px 8px rgba(28,18,10,.06)}
.chat-msg.guest{background:var(--copper);color:var(--white);border-bottom-right-radius:4px;align-self:flex-end}
.chat-msg-time{font-size:10px;opacity:.5;margin-top:4px}
.chat-input-wrap{padding:12px;border-top:1px solid var(--sand);display:flex;gap:8px;background:var(--white)}
.chat-input{flex:1;border:1.5px solid var(--sand2);border-radius:50px;padding:10px 16px;font-family:inherit;font-size:13.5px;outline:none;background:var(--sand);transition:border .2s}
.chat-input:focus{border-color:var(--copper);background:var(--white)}
.chat-send{width:38px;height:38px;background:var(--copper);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:16px;transition:all .2s;flex-shrink:0}
.chat-send:hover{background:var(--copper3);transform:scale(1.08)}
.chat-intro{padding:20px;background:var(--cream)}
.chat-intro p{font-size:13.5px;color:var(--text2);margin-bottom:14px;line-height:1.6}
.chat-intro input{width:100%;border:1.5px solid var(--sand2);border-radius:10px;padding:11px 14px;font-family:inherit;font-size:14px;background:var(--white);outline:none;margin-bottom:10px;transition:border .2s}
.chat-intro input:focus{border-color:var(--copper)}
.chat-intro button{width:100%;background:var(--copper);color:var(--white);border:none;border-radius:10px;padding:12px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s}
.chat-intro button:hover{background:var(--copper3)}
/* FOOTER */
footer{background:var(--deep);padding:60px 5% 30px;position:relative}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--copper),var(--gold),var(--copper))}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-brand-name{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:var(--white);margin:12px 0 10px}
.footer-tagline{font-size:13.5px;color:rgba(255,255,255,.4);line-height:1.7;max-width:260px;margin-bottom:20px}
.footer-socials{display:flex;gap:10px}
.footer-social{width:36px;height:36px;background:rgba(255,255,255,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;color:rgba(255,255,255,.5);transition:all .2s;cursor:pointer;border:none}
.footer-social:hover{background:var(--copper);color:var(--white)}
.footer-col h4{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--copper2);margin-bottom:16px}
.footer-col a{display:block;font-size:13.5px;color:rgba(255,255,255,.45);margin-bottom:9px;transition:color .2s}
.footer-col a:hover{color:rgba(255,255,255,.8)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-copy{font-size:12.5px;color:rgba(255,255,255,.25)}
/* TOAST */
.toast{position:fixed;bottom:100px;right:28px;background:var(--forest);color:var(--white);padding:14px 20px;border-radius:12px;font-size:14px;font-weight:500;box-shadow:0 8px 28px rgba(0,0,0,.25);z-index:500;transform:translateX(140%);transition:transform .4s ease;max-width:300px}
.toast.show{transform:translateX(0)}
/* AVAILABILITY */
.avail-strip{display:inline-flex;align-items:center;gap:10px;background:rgba(42,74,58,.1);border:1px solid rgba(42,74,58,.2);color:var(--forest);padding:8px 16px;border-radius:50px;font-size:13px;font-weight:600;margin-bottom:20px}
.avail-dot{width:8px;height:8px;background:var(--forest2);border-radius:50%;animation:pulse 2s infinite;display:inline-block}
/* RESPONSIVE */
@media(max-width:1024px){.detail-grid{grid-template-columns:1fr}.book-widget{position:static}.fs-inner{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr}.enq-grid{grid-template-columns:1fr}}
@media(max-width:768px){.nav-links{display:none}.nav-mob{display:block}.search-bar{flex-direction:column;border-radius:16px}.sb-div{display:none}.sb-btn{width:100%;justify-content:center;padding:16px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:280px 140px 140px;height:auto}.gallery-main{grid-row:auto}.footer-grid{grid-template-columns:1fr 1fr}.hero-nums{gap:28px}.hn-n{font-size:28px}.fs-cards{grid-template-columns:1fr}.about-vals{grid-template-columns:1fr}.props-grid{grid-template-columns:1fr}}
@media(max-width:500px){.footer-grid{grid-template-columns:1fr}.chat-box{width:calc(100vw - 40px);right:-14px}.fg-row{grid-template-columns:1fr}}

/* Nav always solid on non-hero pages */
.nav-dark{background:rgba(250,246,240,.97)!important;backdrop-filter:blur(20px);box-shadow:0 2px 20px rgba(28,18,10,.08);border-color:rgba(196,98,45,.12)!important}
.nav-dark .nav-name{color:var(--text)!important}
.nav-dark .nav-links a{color:var(--text2)!important}
.nav-dark .nav-mob{color:var(--text)!important}
/* Nav always solid on hero pages too — just ensure text readable */
.nav-hero{background:rgba(28,18,10,.35)!important;backdrop-filter:blur(12px);border-color:rgba(196,98,45,.2)!important}
.nav-hero .nav-name{color:var(--white)!important}
.nav-hero .nav-links a{color:rgba(255,255,255,.85)!important}
.nav-hero .nav-mob{color:var(--white)!important}

/* ── EXTRA MOBILE FIXES ─────────────────────────────────────── */
@media(max-width:768px){
  /* Hero search bar */
  .search-bar{flex-direction:column;gap:0;padding:6px;border-radius:16px}
  .sb-field{border-bottom:1px solid var(--sand2);border-radius:0;padding:12px 16px}
  .sb-field:first-child{border-radius:12px 12px 0 0}
  .sb-div{display:none}
  .sb-btn{border-radius:0 0 12px 12px;width:100%;justify-content:center;padding:16px;min-height:52px}
  /* Hero */
  .hero{padding-top:80px;padding-bottom:40px}
  .hero-nums{gap:20px;flex-wrap:wrap;justify-content:center}
  .hn-n{font-size:26px}
  /* Booking widget unstick */
  .book-widget{position:static!important;margin-top:24px}
  /* Detail grid */
  .detail-grid{grid-template-columns:1fr!important}
  /* Enq grid */
  .enq-grid{grid-template-columns:1fr!important;gap:32px}
  /* About grid */
  .about-grid{grid-template-columns:1fr!important;gap:36px}
  /* Footer */
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:28px}
  /* Property detail feats */
  .detail-feats{gap:12px}
  /* Reviews */
  .reviews-grid{grid-template-columns:1fr!important}
  /* Section padding */
  section{padding:60px 5%}
  /* Featured strip */
  .fs-inner{grid-template-columns:1fr!important;gap:32px}
  .fs-cards{grid-template-columns:1fr 1fr}
  /* Carousel */
  .carousel-main{height:260px!important}
  .car-thumb{width:72px!important;height:52px!important}
  .car-thumbs-wrap{padding:8px 38px!important}
  /* Amenities */
  .amenities-grid{grid-template-columns:1fr 1fr!important}
  /* Stats band on about */
  div[style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:1fr 1fr!important
  }
}
@media(max-width:500px){
  .footer-grid{grid-template-columns:1fr!important}
  .props-grid{grid-template-columns:1fr!important}
  .hero-h1{font-size:38px!important}
  .hero-tagline{font-size:15px}
  .carousel-main{height:220px!important}
  .car-thumbs-wrap{padding:6px 34px!important}
  .car-thumb{width:60px!important;height:44px!important}
  .fs-cards{grid-template-columns:1fr!important}
  .enq-form{padding:24px 18px!important}
  section{padding:48px 4%}
  /* About stats */
  div[style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:1fr 1fr!important
  }
  /* Property card thumbnails in grid */
  .prop-feats{gap:8px}
  .prop-feat{font-size:11.5px}
}
