:root{
  --gold: #d6a93a;
  --maroon: #6b2541;
  --purple-deep: #3a0932;
  --text-light: rgba(255,255,255,0.95);
  --muted-dark: rgba(59,14,47,0.8);
  --container-max: 1200px;
}
html,body{ height:100%; margin:0; font-family: 'Montserrat', system-ui, -apple-system, "Segoe UI", Roboto, Arial;  
  color:#222; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

 /* ---------- Navbar ---------- */
  .navbar-transparent{
    background: rgba(0,0,0,0.32);
    backdrop-filter: blur(4px);
  }
  .navbar .nav-link{ color: var(--text-light); font-weight:600; padding: .45rem .6rem; }
  .navbar .nav-link:hover, .navbar .nav-link:focus { color: var(--gold); text-decoration:none; outline:none; }
  .navbar-brand img { height:72px; width:auto; }

  /* ---------- Hero carousel ---------- */
  .carousel, .carousel-item, .carousel-item .slide-bg {
    height: calc(100vh - 72px);
  }
  @media (min-width:1200px){
    .carousel, .carousel-item, .carousel-item .slide-bg { height: calc(100vh - 90px); }
  }
  .carousel-item { position:relative; background:#000; overflow:hidden; }
  .slide-bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(.02) contrast(.95) saturate(.7); transform:translateZ(0); }
  .slide-overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.32) 0%, rgba(0,0,0,0.56) 60%); mix-blend-mode:multiply; }

  .hero-content { position:relative; z-index:3; height:100%; display:flex; align-items:center; justify-content:center; padding:2rem; text-align:center; }
  .hero-inner { max-width: 920px; color:var(--text-light); text-shadow: 0 6px 18px rgba(0,0,0,0.55); }
  .hero-title { font-size: clamp(28px, 5vw, 56px); font-weight:800; margin-bottom:.6rem; letter-spacing:-0.02em; }
  .hero-sub { font-size: clamp(14px, 1.8vw, 22px); font-weight:500; margin-bottom:1.3rem; opacity:0.95; font-style:italic; }

  .hero-buttons .btn { padding:.7rem 1.6rem; font-weight:700; border-radius:40px; min-width:160px; }
  .btn-gold { background:var(--gold); border:none; color:#111; }
  .btn-maroon { background:var(--maroon); border:none; color:#fff; }
  .btn-gold:hover, .btn-maroon:hover { transform:translateY(-1px); opacity:.96; }

  .carousel-control-prev, .carousel-control-next { width:6%; filter: drop-shadow(0 4px 14px rgba(0,0,0,0.5)); }
  .carousel-indicators [data-bs-target] { width:10px; height:10px; border-radius:50%; background-color: rgba(255,255,255,0.6); }

/* ---------- Scroll to top ---------- */
.scroll-top { position: fixed; right: 22px; bottom: 22px; z-index:999; width:44px; height:44px; border-radius:999px; display:flex; align-items:center; justify-content:center; background: var(--maroon); color:white; box-shadow: 0 8px 18px rgba(0,0,0,0.4); border:none; }

/* ---------- Testimonial swiper (below hero) ---------- */
.testimonial-section { background: #f9f7f5; padding-top:3.2rem; padding-bottom:3.2rem; }
.testimonial-section h2 { font-weight:700; color:#2b0b21; }
.testimonial-card { background:#fff; border-radius:20px; padding:18px; box-shadow:0 6px 18px rgba(0,0,0,0.08); transition:transform .25s ease; }
.testimonial-card:hover { transform:translateY(-6px); }
.testimonial-card img { width:100%; height:240px; object-fit:cover; border-top-left-radius:18px; border-top-right-radius:18px; display:block; }
.testimonial-card h5 { margin-top:12px; font-weight:700; color:#2b0b21; }
.testimonial-card p { font-style:italic; color:#444; font-size:0.96rem; margin-top:8px; }

/* ---------- About / Counts ---------- */
.about-section { position:relative; overflow:hidden; padding-top:3.6rem; padding-bottom:3.6rem; }
.about-bg { background: linear-gradient(rgba(70, 36, 73, 0.75), rgba(75,0,130,0.75)), url('../images/redgirl.jpg') center/cover no-repeat; position:absolute; inset:0; z-index:0; filter: saturate(.9); }
.about-section .container { position:relative; z-index:2; }
.about-img-top, .about-img-mid, .about-img-bottom { width:100%; max-width:280px; height:auto; object-fit:cover; border-radius:12px; }
.count-box { background: rgba(255,255,255,0.08); backdrop-filter: blur(4px); padding:1rem; border-radius:12px; }
.count-box h3 { font-size:1.95rem; color:var(--gold); margin:0; font-weight:800; }
.count-box p { font-size:0.95rem; margin:0; color: #fff; opacity:0.9; }

/* ---------- Testimonials slider (cards) ---------- */
.testimonials-section { background:#faf8f6; color:#3b0e2f; padding-top:3.2rem; padding-bottom:3.2rem; }
.cards-viewport { overflow:hidden; padding:28px 16px; }
.cards-track { display:flex; gap:24px; transition: transform 420ms ease; will-change: transform; }
.testi-card { background:#fff; border-radius:10px; min-width:300px; max-width:420px; flex:0 0 32%; padding:18px; box-shadow:0 6px 18px rgba(35,15,20,0.06); border:1px solid rgba(59,14,47,0.04); }
.testi-text { color:#4d2b37; line-height:1.45; font-size:0.96rem; }
.slider-arrow { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; border:none; display:flex; align-items:center; justify-content:center; background:#4a1430; color:#fff; cursor:pointer; box-shadow:0 6px 18px rgba(74,20,48,0.15); z-index:5; }
.left-arrow{ left:8px; } .right-arrow{ right:8px; }

/* ---------- Video section ---------- */
.video-section { position:relative; min-height:75vh; display:flex; align-items:center; justify-content:center; overflow:hidden; padding-top:2.4rem; padding-bottom:2.4rem; }
.video-bg{ position:absolute; inset:0; background:url('../images/wed7.jpg') center/cover no-repeat; filter: blur(6px) saturate(.85) brightness(.85); transform:scale(1.08); z-index:0; }
.video-overlay{ position:absolute; inset:0; background: rgba(75,0,130,0.68); z-index:1; }
.video-wrapper { width:95%; max-width:1200px; border:3px solid rgba(255,255,255,0.18); border-radius:14px; overflow:hidden; z-index:2; }
.video-wrapper video { width:100%; height:70vh; object-fit:cover; display:block; }
@media (max-width:768px) { .video-wrapper video { height:48vh; } }

/* ---------- Backdrops/cards section ---------- */
.backdrops-section { background:#fff; color:#3b0e2f; padding-top:3rem; padding-bottom:3rem; }
.bd-card{ background:#fff; border-radius:12px; box-shadow:0 12px 30px rgba(59,14,47,0.06); border:1px solid rgba(59,14,47,0.04); overflow:hidden; transition:transform .4s; height:100%; display:flex; flex-direction:column; }
.bd-thumb{ position:relative; height:180px; overflow:hidden; }
.bd-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.bd-gradient{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(75,0,130,0.04) 0%, rgba(75,0,130,0.28) 70%); mix-blend-mode:multiply; pointer-events:none; }
.bd-body{ padding:18px; text-align:center; margin-top:auto; }
.bd-title{ font-weight:700; color:#3b0e2f; margin-bottom:6px; }
.bd-text{ color:#6b4350; font-size:0.95rem; line-height:1.45; }

/* ---------- Footer (bigger) ---------- */
.footer-section { background: linear-gradient(180deg, #3a0932 0%, #25051f 100%); position:relative; overflow:hidden; padding-top:90px; padding-bottom:70px; color:var(--text-light); }
.footer-section::before { content:''; position:absolute; inset:0; background: linear-gradient(rgba(58,9,50,0.9), rgba(37,5,31,0.95)), url('../images/redgirl.jpg') center/cover no-repeat; z-index:0; opacity:0.95; }
.footer-section > .container{ position:relative; z-index:2; }
.footer-title{ color:var(--gold); font-size:1.65rem; font-weight:800; margin-bottom:.6rem; }
.footer-subtitle{ color:var(--gold); font-size:1.05rem; font-weight:700; margin-bottom:1rem; }
.footer-desc{ font-size:1.02rem; line-height:1.7; color:rgba(255,255,255,0.92); max-width:520px; }
.footer-links a, .footer-contact li { color:rgba(255,255,255,0.92); font-size:1rem; text-decoration:none; display:block; margin-bottom:.6rem; }
.social-link{ width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; background:rgba(255,255,255,0.08); color:#fff; transition:all .25s; }
.social-link:hover{ background:var(--gold); color:#2b0b21; transform:translateY(-3px); }

/* Utilities & responsiveness */
@media (max-width:991px){ .carousel, .carousel-item, .carousel-item .slide-bg{ height:62vh; } .hero-title{ font-size:clamp(22px,6vw,36px);} }
@media (max-width:575px){
  .carousel, .carousel-item, .carousel-item .slide-bg{ height:56vh; }
  .testimonial-card img{ height:200px; }
  .bd-thumb{ height:160px; }
  .hero-inner{ padding:0 6px; }
  .footer-section{ padding-top:60px; padding-bottom:50px;}
}

/* Prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* small helpers */
.visually-hidden-focusable:focus { outline:2px solid var(--gold); outline-offset:3px; }
