/* ===============================================================
   FABEN HOMES NIGERIA LIMITED — PREMIUM STYLES v2
   =============================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
  --black-deep: #080808;
  --black-card: #0F0F0F;
  --black-glass: rgba(15,15,15,0.78);
  --gold-primary: #C9A84C;
  --gold-light: #E8C97A;
  --gold-muted: #8B6914;
  --white-pure: #FFFFFF;
  --white-muted: #B0B0B0;
  --amber-glow: rgba(201,168,76,0.12);
  --glass-border: rgba(201,168,76,0.2);
  --font-primary: 'Outfit','Inter',sans-serif;
  --font-display: 'Cormorant Garamond',serif;
  --container-width: 1200px;
  --section-pad: clamp(4rem,10vw,8rem) 5%;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;background:var(--black-deep);}
body{font-family:var(--font-primary);color:var(--white-pure);background:var(--black-deep);overflow-x:hidden;line-height:1.6;}
a{text-decoration:none;}
img,video{max-width:100%;display:block;}

/* ============ KEYFRAMES ============ */
@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes kenBurns{0%{transform:scale(1)}100%{transform:scale(1.1)}}
@keyframes bounceFade{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(10px);opacity:.5}}
@keyframes goldPulse{0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,0.4)}70%{box-shadow:0 0 0 10px rgba(201,168,76,0)}}
@keyframes fadeInScale{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}

/* ============ TYPOGRAPHY ============ */
h1,h2,h3,h4,h5,h6{color:var(--white-pure);font-weight:500;line-height:1.2;}
p{font-size:1rem;color:var(--white-muted);}
.gold-text{color:var(--gold-primary);}
.text-gold{color:var(--gold-primary);}
.text-uppercase{text-transform:uppercase;letter-spacing:.15em;}
.text-small{font-size:.85rem;font-weight:300;letter-spacing:.1em;}
.text-center{text-align:center;}

.hero-h1{font-family:var(--font-display);font-size:clamp(3rem,8vw,7rem);color:var(--white-pure);margin-bottom:24px;}
.hero-h1 .gold-text{color:var(--gold-primary);}
.section-h2{font-family:var(--font-primary);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;margin-bottom:.5rem;}
.card-h3{font-family:var(--font-primary);font-size:1.5rem;font-weight:600;}
.hero-sub{font-size:1.2rem;font-weight:300;color:var(--white-muted);max-width:650px;margin:0 auto 3rem;}

.section-eyebrow{display:inline-block;color:var(--gold-muted);font-size:.82rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:.75rem;font-weight:500;}
.gold-bar{width:60px;height:2px;background:var(--gold-primary);margin-bottom:1.5rem;}

/* ============ UTILITIES ============ */
.container{max-width:var(--container-width);margin:0 auto;width:100%;}
.section{padding:var(--section-pad);position:relative;}

/* ============ SCROLL & PROGRESS ============ */
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--gold-muted),var(--gold-primary),var(--gold-light));width:0%;z-index:1100;transition:width .1s;}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94);will-change:opacity,transform;}
.reveal.active{opacity:1;transform:translateY(0);}
.delay-1{transition-delay:120ms;}.delay-2{transition-delay:240ms;}.delay-3{transition-delay:360ms;}.delay-4{transition-delay:480ms;}.delay-5{transition-delay:600ms;}

/* ============ PARTICLES ============ */
#particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.6;}

/* ============ GLASSMORPHISM ============ */
.glass-panel{background:rgba(15,15,15,.65);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 8px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(201,168,76,.1);transition:transform .3s ease,box-shadow .35s ease;}
.glass-panel:hover{transform:translateY(-8px);box-shadow:0 16px 50px rgba(0,0,0,.6),0 0 30px var(--amber-glow);}

/* ============ BUTTONS ============ */
.btn-gold-shimmer,.btn-gold-outline{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-family:var(--font-primary);transition:all .3s cubic-bezier(.25,.46,.45,.94);will-change:transform;text-decoration:none !important;}
.btn-gold-shimmer{background:linear-gradient(135deg,#C9A84C,#E8C97A,#C9A84C);background-size:200% 200%;animation:shimmer 3s ease infinite;border-radius:50px;padding:15px 36px;text-transform:uppercase;letter-spacing:.15em;font-weight:600;color:var(--black-deep);border:none;font-size:.95rem;}
.btn-gold-shimmer:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(201,168,76,.35);}
.btn-gold-outline{background:transparent;border:1.5px solid var(--gold-primary);color:var(--gold-primary);border-radius:50px;padding:13.5px 34px;text-transform:uppercase;letter-spacing:.15em;font-weight:600;font-size:.95rem;}
.btn-gold-outline:hover{background:linear-gradient(135deg,#C9A84C,#E8C97A);color:var(--black-deep);border-color:transparent;}
.suite-cta-btn{width:100%;justify-content:center;margin-top:.5rem;}

/* ============ NAVBAR ============ */
.navbar{position:fixed;top:0;left:0;right:0;padding:18px 5%;display:flex;justify-content:space-between;align-items:center;z-index:1000;transition:all .4s ease;}
.navbar.scrolled{background:var(--black-glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--glass-border);padding:13px 5%;}
.navbar-logo img{height:52px;width:auto;padding:4px;transition:height .3s ease;}
.navbar.scrolled .navbar-logo img{height:40px;}
.nav-links{display:flex;gap:1.8rem;align-items:center;}
.nav-link{color:var(--white-pure);text-decoration:none !important;font-size:.95rem;font-weight:500;position:relative;padding:5px 0;}
.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold-primary);transition:width .3s ease;}
.nav-link:hover::after,.nav-link.active::after{width:100%;}
.nav-wa-btn{padding:9px 20px !important;font-size:.82rem !important;}
.mobile-menu-btn{display:none;background:none;border:none;color:var(--gold-primary);font-size:1.6rem;cursor:pointer;z-index:1001;}
.overlay-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background:rgba(8,8,8,.98);z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;pointer-events:none;transition:.4s;}
.overlay-menu.active{opacity:1;pointer-events:auto;}
.close-menu{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--gold-primary);font-size:2.5rem;cursor:pointer;}
.overlay-menu .nav-link{font-size:2rem;transform:translateY(20px);opacity:0;transition:.4s;}
.overlay-menu.active .nav-link{transform:translateY(0);opacity:1;}
.overlay-menu .nav-link:nth-child(2){transition-delay:.1s;}.overlay-menu .nav-link:nth-child(3){transition-delay:.2s;}.overlay-menu .nav-link:nth-child(4){transition-delay:.3s;}.overlay-menu .nav-link:nth-child(5){transition-delay:.4s;}.overlay-menu .nav-link:nth-child(6){transition-delay:.5s;}.overlay-menu .nav-link:nth-child(7){transition-delay:.6s;}

/* ============ HERO ============ */
.hero{height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;z-index:2;}
.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:kenBurns 20s ease-out infinite alternate;}
.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.55);z-index:-1;}
.hero-content{max-width:920px;padding:20px;z-index:3;}
.hero-label{display:inline-block;color:var(--gold-muted);font-size:.88rem;letter-spacing:.3em;margin-bottom:2rem;text-transform:uppercase;}
.word-reveal{display:inline-block;opacity:0;transform:translateY(20px);}
.hero-buttons{display:flex;gap:1.5rem;justify-content:center;}
.scroll-indicator{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;color:var(--gold-light);gap:10px;opacity:1;transition:opacity .3s;}
.scroll-bounce{animation:bounceFade 2s ease-in-out infinite;}

/* ============ ABOUT ============ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.about-logo-card{padding:4rem;text-align:center;position:relative;}
.about-logo-card::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180px;height:180px;background:var(--gold-primary);filter:blur(90px);opacity:.25;z-index:-1;border-radius:50%;}
.about-logo-card img{max-width:260px;margin:0 auto;}
/* .about-content uses inherited styles */

/* ============ STATS ============ */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:4rem;text-align:center;border-top:1px solid var(--glass-border);padding-top:3rem;}
.stat-num{font-size:3rem;font-family:var(--font-display);color:var(--gold-primary);margin-bottom:.5rem;display:flex;justify-content:center;align-items:center;}
.stat-ring-container{position:relative;width:100px;height:100px;margin:0 auto .5rem;}
.stat-ring-svg{transform:rotate(-90deg);width:100%;height:100%;}
.stat-ring-circle{fill:none;stroke:var(--glass-border);stroke-width:6;}
.stat-ring-fill{fill:none;stroke:var(--gold-primary);stroke-width:6;stroke-dasharray:283;stroke-dashoffset:283;transition:stroke-dashoffset 2s ease-out;}
.stat-ring-container .stat-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.8rem;margin:0;}

/* ============ SUITES ============ */
.suites-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem;}
.suite-card{position:relative;overflow:hidden;border-radius:24px;}
.suite-badge{position:absolute;top:20px;right:20px;background:var(--gold-primary);color:var(--black-deep);padding:5px 15px;border-radius:20px;font-size:.82rem;font-weight:700;z-index:10;}
.suite-ribbon{position:absolute;top:28px;left:-30px;background:var(--gold-primary);color:var(--black-deep);padding:5px 42px;transform:rotate(-45deg);font-size:.78rem;font-weight:700;z-index:10;box-shadow:0 4px 10px rgba(0,0,0,.3);}
.suite-content{padding:2rem;}
.suite-price{color:var(--gold-primary);font-size:1.25rem;margin:.5rem 0 1rem;font-weight:600;}
.suite-amenities{display:flex;gap:1rem;flex-wrap:wrap;margin:1.5rem 0;font-size:.88rem;color:var(--gold-light);}
.suite-amenities span{display:flex;align-items:center;gap:.4rem;}

/* Advanced Carousel */
.adv-carousel{position:relative;width:100%;height:350px;overflow:hidden;}
.adv-carousel-track{display:flex;height:100%;transition:transform .6s cubic-bezier(.25,1,.5,1);}
.adv-slide{min-width:100%;height:100%;position:relative;overflow:hidden;}
.adv-slide img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.adv-slide:hover img{transform:scale(1.04);}
.slide-label{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.55);color:var(--gold-light);font-size:.88rem;letter-spacing:.1em;text-align:center;padding:10px;transform:translateY(100%);transition:transform .35s ease;font-style:italic;}
.adv-slide:hover .slide-label{transform:translateY(0);}
.adv-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.55);border:1px solid var(--gold-primary);color:var(--gold-primary);width:38px;height:38px;border-radius:50%;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:.3s;}
.adv-arrow:hover{background:var(--gold-primary);color:#000;}
.adv-prev{left:14px;}.adv-next{right:14px;}
.adv-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:10;}
.adv-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:.3s;}
.adv-dot.active{background:var(--gold-primary);}

/* Sub-rooms toggle */
.rooms-toggle{background:none;border:none;color:var(--white-muted);width:100%;text-align:left;padding:14px 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);margin:1.5rem 0;cursor:pointer;font-family:var(--font-primary);font-size:1rem;display:flex;justify-content:space-between;align-items:center;}
.rooms-expandable{max-height:0;overflow:hidden;transition:max-height .5s ease;}
.sub-room-card{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.05);align-items:center;}
.sub-room-card img{width:80px;height:80px;border-radius:8px;object-fit:cover;}
.sub-room-info h4{font-size:1.05rem;}
.sub-price{color:var(--gold-primary);font-size:.9rem;margin-top:3px;}
.sub-room-btn{margin-left:auto;font-size:.78rem;padding:8px 15px;}

/* ============ AMENITIES ============ */
.amenities-strip{border-top:1px solid var(--gold-primary);border-bottom:1px solid var(--gold-primary);background:rgba(20,20,20,.5);padding:4rem 5%;text-align:center;}
.amenities-grid{display:flex;justify-content:space-around;flex-wrap:wrap;gap:2.5rem;margin-top:2.5rem;}
.amenity-item{display:flex;flex-direction:column;align-items:center;gap:1rem;font-size:1rem;font-weight:500;transition:transform .3s;}
.amenity-item:hover{transform:translateY(-5px);}
.amenity-icon-wrap{width:70px;height:70px;border-radius:50%;background:var(--amber-glow);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;transition:all .35s ease;}
.amenity-item:hover .amenity-icon-wrap{background:rgba(201,168,76,.2);border-color:var(--gold-primary);box-shadow:0 0 20px rgba(201,168,76,.3);animation:goldPulse 1.5s infinite;}
.amenity-icon{font-size:1.6rem;color:var(--gold-primary);}

/* ============ BAR & LOUNGE ============ */
.bar-section{position:relative;min-height:80vh;display:flex;align-items:center;background-position:center;background-size:cover;}
.bar-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.62);}
.bar-container{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4rem;z-index:2;align-items:center;padding:5rem 5%;}
.bar-content .gold-bar{margin-bottom:1.5rem;}
.feature-list{list-style:none;margin:2rem 0;}
.feature-list li{margin-bottom:1rem;display:flex;align-items:center;gap:12px;font-size:1.05rem;color:var(--white-muted);}
.feature-list li i{color:var(--gold-primary);min-width:20px;}
.bar-collage{position:relative;height:500px;}
.collage-img{position:absolute;border:2px solid var(--gold-primary);border-radius:16px;object-fit:cover;transition:.4s ease;box-shadow:0 10px 30px rgba(0,0,0,.5);}
.collage-1{width:60%;height:60%;top:0;right:0;z-index:1;transform:rotate(3deg);}
.collage-2{width:55%;height:50%;bottom:0;left:0;z-index:2;transform:rotate(-5deg);}
.collage-3{width:50%;height:45%;top:20%;left:15%;z-index:3;transform:rotate(1deg);}
.bar-collage:hover .collage-img{transform:rotate(0) scale(1.04);box-shadow:0 0 25px rgba(201,168,76,.3);}

/* ============ VIP ============ */
.vip-section{text-align:center;}
.vip-icon{font-size:3rem;color:var(--gold-primary);margin-bottom:1rem;}
.vip-masonry{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;margin-top:2rem;border-radius:20px;overflow:hidden;}
.vip-masonry-main img{width:100%;height:100%;object-fit:cover;min-height:500px;transition:transform .5s ease;}
.vip-masonry-side{display:grid;grid-template-rows:repeat(4,1fr);gap:1rem;}
.vip-masonry-side img{width:100%;height:100%;object-fit:cover;border-radius:8px;transition:transform .4s ease,box-shadow .4s ease;}
.vip-masonry img:hover{transform:scale(1.04);box-shadow:0 0 20px rgba(201,168,76,.3);}

/* ============ GALLERY ============ */
.gallery-filters{display:flex;justify-content:center;gap:1.2rem;margin-bottom:3rem;flex-wrap:wrap;}
.filter-btn{background:none;border:none;color:var(--white-muted);font-size:1rem;cursor:pointer;padding:6px 16px;position:relative;font-family:var(--font-primary);border-radius:30px;transition:.3s;}
.filter-btn::after{content:'';position:absolute;bottom:4px;left:16px;width:0;height:2px;background:var(--gold-primary);transition:.3s;}
.filter-btn.active{color:var(--gold-primary);}
.filter-btn.active::after,.filter-btn:hover::after{width:calc(100% - 32px);}
.masonry-grid{column-count:3;column-gap:1.2rem;}
.gallery-item{break-inside:avoid;margin-bottom:1.2rem;position:relative;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .4s,opacity .4s;}
.gallery-item.hidden{display:none;}
.gallery-item img,.gallery-item video{width:100%;display:block;border-radius:12px;transition:transform .4s;}
.gallery-item:hover img,.gallery-item:hover video{transform:scale(1.04);}
.gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.2) 100%);opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.4s;border:2px solid transparent;border-radius:12px;}
.gallery-item:hover .gallery-overlay{opacity:1;border-color:var(--gold-primary);}
.gallery-desc{color:var(--gold-light);font-size:.88rem;text-align:center;padding:0 1.5rem;font-style:italic;transform:translateY(8px);transition:transform .4s;}
.gallery-item:hover .gallery-desc{transform:translateY(0);}
.play-icon{width:44px;height:44px;background:var(--gold-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000;margin-top:1rem;font-size:1rem;}

/* ============ YOUTUBE EMBEDS ============ */
.yt-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0,0,0,0.3);
  background: black;
}
.yt-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.yt-embed.vertical-short {
  aspect-ratio: 9 / 16;
  max-width: 400px;
  margin: 0 auto;
}

/* ============ LIGHTBOX ============ */
.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.96);z-index:3000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;}
.lightbox.active{opacity:1;pointer-events:auto;animation:fadeInScale .35s ease forwards;}
.lb-close{position:fixed;top:20px;right:20px;background:rgba(201,168,76,.15);border:1px solid var(--gold-primary);color:var(--gold-primary);width:48px;height:48px;border-radius:50%;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3100;transition:.3s;}
.lb-close:hover{background:var(--gold-primary);color:#000;box-shadow:0 0 20px rgba(201,168,76,.5);}
.lb-content{max-width:90vw;max-height:90vh;position:relative;}
.lb-content img,.lb-content video{max-width:100%;max-height:85vh;object-fit:contain;border-radius:8px;}
.lb-nav{position:fixed;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.5);border:1px solid var(--gold-primary);color:var(--gold-primary);width:50px;height:50px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3100;transition:.3s;}
.lb-nav:hover{background:var(--gold-primary);color:#000;}
.lb-prev{left:20px;}.lb-next{right:20px;}

/* ============ MENU ============ */
.menu-tabs{display:flex;justify-content:center;gap:1.5rem;margin-bottom:3rem;flex-wrap:wrap;}
.menu-tab{background:transparent;border:1px solid var(--glass-border);color:var(--white-pure);padding:10px 28px;border-radius:30px;font-size:1rem;font-family:var(--font-primary);cursor:pointer;transition:.3s;}
.menu-tab.active,.menu-tab:hover{background:var(--gold-primary);color:var(--black-deep);border-color:var(--gold-primary);}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;}
.menu-card{padding:1.5rem;display:flex;flex-direction:column;gap:.8rem;transition:transform .3s,box-shadow .3s;}
.menu-card:hover{transform:translateY(-8px);box-shadow:0 16px 50px rgba(0,0,0,.5),0 0 20px var(--amber-glow);}
.menu-img{width:100%;height:200px;object-fit:cover;border-radius:12px;transition:.4s;}
.menu-card:hover .menu-img{transform:scale(1.03);filter:brightness(1.1);}
.menu-line{width:50px;height:2px;background:var(--gold-primary);}
.price-label{align-self:flex-start;background:rgba(201,168,76,.12);color:var(--gold-primary);padding:7px 18px;border-radius:20px;font-size:.85rem;font-weight:600;border:1px solid rgba(201,168,76,.3);transition:all .3s;text-decoration:none !important;cursor:pointer;}
.price-label:hover{background:var(--gold-primary);color:#000;}
.menu-footer-note{text-align:center;color:var(--gold-muted);font-size:1.05rem;margin-top:3rem;letter-spacing:.05em;}

/* ============ TESTIMONIALS ============ */
.testimonials-section{background:linear-gradient(180deg,var(--black-deep) 0%,rgba(15,15,15,.9) 100%);}
.testimonial-wrapper{max-width:800px;margin:0 auto;position:relative;}
.testimonial-slider{position:relative;min-height:280px;padding:2.5rem;background:rgba(15,15,15,.65);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:24px;}
.testimonial-slide{position:absolute;top:2.5rem;left:2.5rem;right:2.5rem;opacity:0;transition:opacity .6s ease;pointer-events:none;}
.testimonial-slide.active{opacity:1;pointer-events:auto;position:relative;top:auto;left:auto;right:auto;}
.quote-mark{font-size:5rem;color:var(--gold-primary);font-family:var(--font-display);line-height:.8;margin-bottom:.5rem;}
.stars{color:var(--gold-primary);font-size:1.2rem;letter-spacing:3px;margin:.75rem 0;}
.testimonial-text{font-size:1.15rem;font-style:italic;color:var(--white-muted);margin:1rem 0 1.5rem;line-height:1.7;}
.guest-info{display:flex;align-items:center;gap:15px;}
.guest-img{width:58px;height:58px;border-radius:50%;border:2px solid var(--gold-primary);object-fit:cover;}
.guest-info h4{font-weight:700;font-size:1rem;}
.guest-info .text-small{color:var(--white-muted);}
.testimonial-nav{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:2rem;padding-bottom:.5rem;}
.t-arrow{background:none;border:1px solid var(--glass-border);color:var(--gold-primary);width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:.3s;flex-shrink:0;}
.t-arrow:hover{background:var(--gold-primary);color:#000;border-color:var(--gold-primary);}
.t-dots{display:flex;gap:10px;align-items:center;}
.tdot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:.3s;}
.tdot.active{background:var(--gold-primary);}

/* ============ CONTACT ============ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;}
.contact-item{display:flex;gap:15px;margin-bottom:1.8rem;align-items:flex-start;}
.contact-icon{font-size:1.4rem;color:var(--gold-primary);min-width:30px;padding-top:4px;}
.contact-link{color:var(--white-muted);transition:.3s;}
.contact-link:hover,.contact-link.gold{color:var(--gold-primary);}
.contact-actions{display:flex;gap:1rem;margin-top:10px;flex-wrap:wrap;}
.map-container{width:100%;height:420px;border-radius:16px;overflow:hidden;border:2px solid var(--gold-primary);}
.wa-big-btn{display:flex;justify-content:center;margin-top:1.5rem;width:100%;}

/* ============ FOOTER ============ */
footer{background:#040404;border-top:1px solid var(--gold-primary);padding:4rem 5% 0;margin-top:5rem;}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;}
.footer-logo{height:48px;margin-bottom:1rem;}
.footer-col p{font-size:.9rem;color:var(--white-muted);margin-bottom:.5rem;}
.footer-social{display:inline-block;margin-top:15px;color:var(--gold-primary);font-size:1.8rem;transition:.3s;}
.footer-social:hover{color:var(--gold-light);transform:scale(1.1);}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-links a{color:var(--white-muted);text-decoration:none;transition:.3s;font-size:.95rem;position:relative;width:fit-content;}
.footer-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--gold-primary);transition:.3s;}
.footer-links a:hover{color:var(--gold-primary);}
.footer-links a:hover::after{width:100%;}
.bottom-bar{border-top:1px solid var(--glass-border);padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;color:var(--white-muted);font-size:.85rem;}
.dev-credit{font-weight:300;font-size:.82rem;}
.dev-credit a{color:var(--white-muted);text-decoration:none;transition:.3s;}
.dev-credit a:hover{color:var(--gold-primary);}

/* ============ BACK TO TOP ============ */
.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:var(--gold-primary);color:#000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;z-index:1000;opacity:0;pointer-events:none;transition:.3s;border:none;}
.back-to-top.visible{opacity:1;pointer-events:auto;}
.back-to-top:hover{background:var(--gold-light);transform:translateY(-3px);}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){.masonry-grid{column-count:2;}.vip-masonry{grid-template-columns:1fr 1fr;}.vip-masonry-main img{min-height:300px;}}
@media(max-width:768px){
  .nav-links{display:none;}.mobile-menu-btn{display:block;}
  .about-grid,.suites-grid,.bar-container,.contact-grid,.footer-grid{grid-template-columns:1fr;}
  .stats-bar{grid-template-columns:1fr 1fr;}
  .bar-container{padding:3rem 5%;}
  .vip-masonry{grid-template-columns:1fr;}
  .vip-masonry-side{grid-template-rows:unset;grid-template-columns:1fr 1fr;}
  .bottom-bar{flex-direction:column;gap:12px;text-align:center;}
  .hero-h1{font-size:3rem;}
  .collage-1{width:70%;height:60%;}.collage-2{width:62%;height:52%;}
  .hero-buttons{flex-wrap:wrap;}
}
@media(max-width:480px){
  .masonry-grid{column-count:1;}
  .stats-bar{grid-template-columns:1fr;}
  .amenities-grid{flex-direction:column;align-items:center;}
  .hero-buttons,.contact-actions{flex-direction:column;width:100%;}
  .btn-gold-shimmer,.btn-gold-outline,.wa-big-btn{width:100%;justify-content:center;}
  .vip-masonry-side{grid-template-columns:1fr;}
  .testimonial-slider{padding:1.5rem;}
}
