* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family:'Inter',sans-serif; background:#0B1226; color:#F5E6D0; overflow-x:hidden; }
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:#101A33; }
::-webkit-scrollbar-thumb { background:#B8860B; border-radius:3px; }

/* ===== KEYFRAME ANIMATIONS ===== */
@keyframes gradientShift { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
@keyframes goldGlow { 0%,100%{box-shadow:0 0 20px rgba(184,134,11,0.15)} 50%{box-shadow:0 0 40px rgba(184,134,11,0.3)} }
@keyframes pulseDot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(1.5)} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes fadeInUp { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeInLeft { from{opacity:0;transform:translateX(-40px)} to{opacity:1;transform:translateX(0)} }
@keyframes fadeInRight { from{opacity:0;transform:translateX(40px)} to{opacity:1;transform:translateX(0)} }
@keyframes scaleIn { from{opacity:0;transform:scale(0.85)} to{opacity:1;transform:scale(1)} }
@keyframes shimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
@keyframes borderGlow { 0%,100%{border-color:rgba(184,134,11,0.2)} 50%{border-color:rgba(212,175,55,0.5)} }
@keyframes particleFloat { 0%{transform:translateY(0) translateX(0);opacity:0} 20%{opacity:0.5} 100%{transform:translateY(-100vh) translateX(60px);opacity:0} }
@keyframes slideDown { from{transform:translateY(-100%);opacity:0} to{transform:translateY(0);opacity:1} }
@keyframes ripple { 0%{transform:scale(1);opacity:0.5} 100%{transform:scale(2.5);opacity:0} }
@keyframes pulseGlow { 0%,100%{box-shadow:0 0 0 0 rgba(184,134,11,0.4)} 50%{box-shadow:0 0 0 15px rgba(184,134,11,0)} }
@keyframes tickDown { 0%{transform:translateY(-100%);opacity:0} 100%{transform:translateY(0);opacity:1} }
@keyframes slideUp { from{transform:translateY(100%);opacity:0} to{transform:translateY(0);opacity:1} }
@keyframes bounceGentle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
@keyframes rotateStar { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes typewriter { from{max-width:0} to{max-width:100%} }
@keyframes glowPulse { 0%,100%{text-shadow:0 0 10px rgba(212,175,55,0.3)} 50%{text-shadow:0 0 30px rgba(212,175,55,0.6)} }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ===== REUSABLE CLASSES ===== */
.gradient-border { background:linear-gradient(135deg,#B8860B,#D4AF37,#1B2A4A,#B8860B); background-size:300% 300%; animation:gradientShift 6s ease infinite; }
.gold-glow { animation:goldGlow 3s ease-in-out infinite; }
.float { animation:float 4s ease-in-out infinite; }
.gradient-text { background:linear-gradient(135deg,#D4AF37,#F5E6D0); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.glass { background:rgba(27,42,74,0.4); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(184,134,11,0.15); }
.glass-light { background:rgba(245,230,208,0.05); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(245,230,208,0.08); }
.glass-dark { background:rgba(11,18,38,0.7); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border:1px solid rgba(184,134,11,0.1); }
.shimmer { background:linear-gradient(90deg,transparent,rgba(212,175,55,0.08),transparent); background-size:200% 100%; animation:shimmer 3s linear infinite; }

/* ===== CARD EFFECTS ===== */
.card-hover { transition:all 0.4s cubic-bezier(0.4,0,0.2,1); }
.card-hover:hover { transform:translateY(-6px); box-shadow:0 25px 60px rgba(184,134,11,0.2); border-color:rgba(184,134,11,0.4); }

/* ===== PARTICLES & AMBIENT ===== */
.particle { position:fixed; width:2px; height:2px; background:#D4AF37; border-radius:50%; pointer-events:none; animation:particleFloat linear infinite; opacity:0; z-index:0; }
.ambient-glow { position:fixed; width:500px; height:500px; border-radius:50%; filter:blur(150px); pointer-events:none; z-index:0; }

/* ===== SCROLL ANIMATIONS ===== */
.observe-fade { opacity:0; transform:translateY(40px); transition:all 0.8s cubic-bezier(0.4,0,0.2,1); }
.observe-fade.visible { opacity:1; transform:translateY(0); }
.observe-left { opacity:0; transform:translateX(-40px); transition:all 0.8s cubic-bezier(0.4,0,0.2,1); }
.observe-left.visible { opacity:1; transform:translateX(0); }
.observe-right { opacity:0; transform:translateX(40px); transition:all 0.8s cubic-bezier(0.4,0,0.2,1); }
.observe-right.visible { opacity:1; transform:translateX(0); }
.observe-scale { opacity:0; transform:scale(0.9); transition:all 0.6s cubic-bezier(0.4,0,0.2,1); }
.observe-scale.visible { opacity:1; transform:scale(1); }

/* ===== HERO ===== */
.hero-img { transition:transform 0.6s ease; }
.hero-img:hover { transform:scale(1.02); }

/* ===== CTA BUTTON ===== */
.cta-btn { position:relative; overflow:hidden; transition:all 0.3s ease; }
.cta-btn::after { content:''; position:absolute; top:50%; left:50%; width:0; height:0; background:rgba(255,255,255,0.15); border-radius:50%; transform:translate(-50%,-50%); transition:width 0.6s,height 0.6s; }
.cta-btn:hover::after { width:300px; height:300px; }
.cta-btn-pulse { animation:pulseGlow 2s ease-in-out infinite; }

/* ===== NAVIGATION ===== */
.nav-fixed { position:fixed; top:0; left:0; right:0; z-index:50; transition:all 0.4s ease; }
.nav-scrolled { background:rgba(11,18,38,0.97); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border-bottom:1px solid rgba(184,134,11,0.15); box-shadow:0 4px 30px rgba(0,0,0,0.3); }

/* ===== CARDS ===== */
.testimonial-card { transition:all 0.4s ease; }
.testimonial-card:hover { transform:translateY(-4px) scale(1.01); }

.pkg-card { transition:all 0.5s cubic-bezier(0.4,0,0.2,1); }
.pkg-card:hover { transform:translateY(-8px); box-shadow:0 30px 80px rgba(184,134,11,0.2); }
.pkg-card.featured { border:2px solid rgba(212,175,55,0.5); }
.pkg-card.featured:hover { border-color:rgba(212,175,55,0.8); }

.stat-counter { display:inline-block; }

/* ===== JOURNEY LINE ===== */
.journey-line { position:relative; }
.journey-line::before { content:''; position:absolute; top:32px; left:5%; right:5%; height:2px; background:linear-gradient(90deg,transparent,#B8860B,#D4AF37,#B8860B,transparent); z-index:0; }

/* ===== BRAND IMAGES ===== */
.brand-img { border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,0.4); transition:all 0.4s ease; }
.brand-img:hover { box-shadow:0 25px 80px rgba(184,134,11,0.2); transform:scale(1.01); }

/* ===== PROMO BANNER ===== */
.promo-banner { background:linear-gradient(90deg,#B8860B,#D4AF37,#B8860B); background-size:200% 100%; animation:shimmer 4s linear infinite; }
.promo-banner-text { animation:glowPulse 2s ease-in-out infinite; }

/* ===== FLOATING ACTION BUTTONS ===== */
.floating-actions { position:fixed; bottom:24px; right:24px; z-index:45; display:flex; flex-direction:column; gap:12px; }
.float-btn { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:white; font-size:22px; cursor:pointer; transition:all 0.3s ease; box-shadow:0 4px 20px rgba(0,0,0,0.3); }
.float-btn:hover { transform:scale(1.12); }
.float-btn-phone { background:linear-gradient(135deg,#25D366,#128C7E); }
.float-btn-call { background:linear-gradient(135deg,#D4AF37,#B8860B); animation:pulseGlow 2.5s ease-in-out infinite; }

/* ===== COUNTDOWN ===== */
.countdown-box { display:flex; flex-direction:column; align-items:center; min-width:60px; }
.countdown-num { font-size:1.75rem; font-weight:800; background:linear-gradient(135deg,#D4AF37,#F5E6D0); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; font-family:'Playfair Display',serif; }
.countdown-label { font-size:0.65rem; color:#A08860; text-transform:uppercase; letter-spacing:0.1em; margin-top:2px; }

/* ===== EXIT INTENT MODAL ===== */
.modal-overlay { position:fixed; inset:0; z-index:100; background:rgba(6,10,21,0.85); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; pointer-events:none; transition:opacity 0.3s ease; }
.modal-overlay.active { opacity:1; pointer-events:all; }
.modal-content { background:#0B1226; border:1px solid rgba(184,134,11,0.3); border-radius:24px; max-width:520px; width:100%; padding:0; overflow:hidden; transform:scale(0.9) translateY(20px); transition:transform 0.4s cubic-bezier(0.4,0,0.2,1); }
.modal-overlay.active .modal-content { transform:scale(1) translateY(0); }

/* ===== MOBILE NAV ===== */
.mobile-nav-overlay { position:fixed; inset:0; z-index:55; background:rgba(6,10,21,0.95); backdrop-filter:blur(20px); transform:translateX(100%); transition:transform 0.35s cubic-bezier(0.4,0,0.2,1); }
.mobile-nav-overlay.active { transform:translateX(0); }

/* ===== MARQUEE ===== */
.marquee-track { display:flex; animation:marquee 30s linear infinite; width:max-content; }
.marquee-track:hover { animation-play-state:paused; }

/* ===== SOCIAL PROOF TOAST ===== */
.toast { position:fixed; bottom:100px; left:24px; z-index:44; max-width:340px; animation:slideUp 0.5s ease forwards; }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
  .hero-title { font-size:2.8rem !important; }
  .section-title { font-size:1.85rem !important; }
}
@media (max-width:768px) {
  .hero-title { font-size:2.2rem !important; }
  .section-title { font-size:1.5rem !important; }
  .floating-actions { bottom:16px; right:16px; }
  .float-btn { width:48px; height:48px; font-size:18px; }
  .countdown-num { font-size:1.3rem; }
  .toast { left:12px; right:12px; max-width:none; bottom:80px; }
}
@media (max-width:480px) {
  .hero-title { font-size:1.8rem !important; }
}
