/* ==========================================================================
   REAL BANDHAN — Luxury Redesign Layer
   Loaded LAST (after style.css and redesign.css). Visual-only: no HTML ids,
   form actions, PHP logic, or JS business logic depend on this file.
   Safe to remove this single <link> to revert to the previous look.

   Palette direction: soft lavender / dusty rose / warm cream / off-white —
   deliberately away from the old maroon+gold "heritage" scheme. Because
   every component in style.css / redesign.css already reads its colour
   from the CSS custom properties below, re-declaring the tokens here
   re-skins the entire site without touching a single class elsewhere.

   Contents
   1.  Design tokens (colour, radius, shadow, motion)
   2.  Global type, scrollbar, selection, focus
   3.  Buttons — glow/shine sweep, scale, soft shadow
   4.  Cards — unified hover-lift + glass system
   5.  Images — rounded, cover, hover zoom
   6.  Forms — inputs / selects / textareas / checks / radios
   7.  Navbar — glass, animated underline, active pill
   8.  Hero — spacing, entrance choreography, floating cards
   9.  Scroll reveal + section rhythm
   10. Footer, misc, responsive polish
   ========================================================================== */

/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root{
  /* ---- Core brand palette (soft, luxury, no navy / no shiny gold) ---- */
  --brand-primary:        #7C6BAE;   /* soft purple — primary actions */
  --brand-primary-hover:  #5B4B8A;   /* deeper plum-purple — hover / headings */
  --brand-primary-light:  #A79BD1;   /* light lavender accent */
  --brand-secondary:      #E7A9C2;   /* soft dusty pink — secondary accent */
  --brand-secondary-dark: #C97C9C;   /* deeper rose */
  --brand-accent:         #F3EAD8;   /* light warm cream — badges / soft fills */
  --brand-accent-dark:    #E4D3B0;
  --brand-bg:             #FBFAFF;   /* off-white with a whisper of lavender */
  --brand-bg-alt:         #F5F1FC;   /* pale lavender section tint */
  --brand-rose-bg:        #FDF3F6;   /* pale dusty-pink section tint */
  --brand-card:           #FFFFFF;
  --brand-border:         #E9E3F6;   /* soft lavender-grey border */
  --brand-text:           #29253A;   /* soft near-black, warmer than pure black */
  --brand-muted:          #726D85;   /* soft grey with a lavender cast */
  --brand-btn-secondary-bg: #F3EFFB;

  /* ---- Motion + geometry ---- */
  --ease:        cubic-bezier(.4,0,.2,1);
  --ease-spring: cubic-bezier(.16,1,.32,1);
  --r-sm:  12px;
  --r-md:  18px;
  --r-lg:  26px;
  --r-xl:  32px;

  /* ---- Layered "Apple/Linear" style shadows (purple-tinted, never harsh) ---- */
  --shadow-xs: 0 1px 2px rgba(41,37,58,0.04), 0 2px 8px -2px rgba(91,75,138,0.06);
  --shadow-sm: 0 4px 12px -4px rgba(91,75,138,0.10), 0 2px 4px -2px rgba(91,75,138,0.06);
  --shadow-md: 0 16px 36px -14px rgba(91,75,138,0.20), 0 4px 10px -4px rgba(91,75,138,0.08);
  --shadow-lg: 0 30px 70px -22px rgba(91,75,138,0.28), 0 8px 18px -8px rgba(91,75,138,0.10);
  --shadow-glow: 0 0 0 4px rgba(124,107,174,0.14);

  /* ---- Remap every legacy token the existing components already read --- */
  --maroon:         var(--brand-primary-hover);
  --maroon-deep:    #453A6B;
  --red-accent:     var(--brand-secondary-dark);
  --saffron:        var(--brand-primary);
  --saffron-light:  var(--brand-primary-light);
  --gold:           var(--brand-secondary-dark);
  --gold-deep:      var(--brand-primary-hover);
  --champagne:      var(--brand-accent);
  --champagne-soft: var(--brand-btn-secondary-bg);
  --ivory:          var(--brand-bg);
  --ivory-dim:      var(--brand-bg-alt);
  --blush:          var(--brand-rose-bg);
  --blush-deep:     #F6DEE8;
  --white:          var(--brand-card);
  --dark-bg:        #2E2846;
  --ink:            var(--brand-text);
  --ink-soft:       var(--brand-muted);
  --border:         var(--brand-border);
  --shadow:         var(--shadow-sm);
  --shadow-soft:    var(--shadow-lg);
  --shadow-card:    var(--shadow-md);
  --grad-heritage:  linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  --grad-saffron:   linear-gradient(135deg, var(--brand-secondary) 0%, var(--brand-primary) 100%);
  --primary:        var(--brand-primary);
  --primary-dark:   var(--brand-primary-hover);
  --secondary:      var(--brand-secondary);
  --secondary-light:var(--brand-secondary);
  --cream:          var(--brand-bg);
  --cream-light:    var(--brand-bg-alt);
  --text:           var(--brand-text);
  --radius:         var(--r-md);
  --radius-lg:      var(--r-xl);
}

/* ==========================================================================
   2. GLOBAL TYPE, SCROLLBAR, SELECTION, FOCUS
   ========================================================================== */
html{ scroll-behavior: smooth; }

body{
  background: var(--brand-bg);
  color: var(--brand-text);
  line-height: 1.65;
  letter-spacing: 0.1px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, .font-display{
  letter-spacing: -0.01em;
  line-height: 1.18;
}
h1{ line-height: 1.1; }
p{ line-height: 1.7; }
.section-lede, .hero p, .lede{ line-height: 1.75; }

a{ transition: color .2s var(--ease); }

.eyebrow{ letter-spacing: 0.16em; font-size: 0.72rem; }
.eyebrow::before{ background: var(--brand-primary); }
.section-title{ color: var(--brand-primary-hover); letter-spacing: -0.015em; }

/* Elegant custom scrollbar */
::-webkit-scrollbar{ width: 11px; height: 11px; }
::-webkit-scrollbar-track{ background: var(--brand-bg-alt); }
::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, var(--brand-primary-light), var(--brand-primary));
  border-radius: 999px;
  border: 3px solid var(--brand-bg-alt);
}
::-webkit-scrollbar-thumb:hover{ background: var(--brand-primary-hover); }
html{ scrollbar-width: thin; scrollbar-color: var(--brand-primary-light) var(--brand-bg-alt); }

::selection{ background: var(--brand-secondary); color: #35294F; }

a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible{
  outline: 2px solid var(--brand-primary) !important;
  outline-offset: 3px;
  border-radius: 4px;
}

img{ max-width: 100%; height: auto; }

/* ==========================================================================
   3. BUTTONS — premium glow / shine-sweep / scale
   ========================================================================== */
.btn{ position: relative; }

.btn-heritage,
.btn-outline-heritage,
.btn-saffron,
.btn-ghost-light,
.btn.btn-primary,
.btn.btn-dark{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 999px;
  transition: transform .35s var(--ease-spring),
              box-shadow .35s var(--ease-spring),
              background-color .3s var(--ease),
              border-color .3s var(--ease),
              color .3s var(--ease);
  will-change: transform;
}

/* diagonal "shine sweep" micro-interaction shared by every heritage button */
.btn-heritage::before,
.btn-outline-heritage::before,
.btn-saffron::before,
.btn-ghost-light::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.55) 48%, transparent 66%);
  transform: translateX(-120%);
  transition: transform .65s var(--ease);
  pointer-events: none;
}
.btn-heritage:hover::before,
.btn-outline-heritage:hover::before,
.btn-saffron:hover::before,
.btn-ghost-light:hover::before{ transform: translateX(120%); }

.btn-heritage{
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  box-shadow: 0 14px 30px -14px rgba(91,75,138,0.55);
  border: none;
}
.btn-heritage:hover{
  transform: translateY(-3px) scale(1.015);
  box-shadow: 0 22px 40px -14px rgba(91,75,138,0.55), var(--shadow-glow);
}
.btn-heritage:active{ transform: translateY(-1px) scale(0.985); transition-duration: .12s; }

.btn-outline-heritage{
  border-color: var(--brand-primary);
  color: var(--brand-primary-hover);
  background: var(--brand-card);
}
.btn-outline-heritage:hover{
  background: var(--brand-primary-hover);
  border-color: var(--brand-primary-hover);
  transform: translateY(-3px) scale(1.015);
  box-shadow: var(--shadow-md);
}
.btn-outline-heritage:active{ transform: translateY(-1px) scale(0.985); transition-duration: .12s; }

.btn-saffron{
  background: linear-gradient(135deg, var(--brand-secondary) 0%, var(--brand-primary-hover) 100%);
  color: #35294F;
  box-shadow: 0 14px 28px -12px rgba(199,124,156,0.5);
  border: none;
}
.btn-saffron:hover{
  color: #35294F;
  transform: translateY(-3px) scale(1.015);
  box-shadow: 0 22px 40px -14px rgba(199,124,156,0.55), var(--shadow-glow);
}
.btn-saffron:active{ transform: translateY(-1px) scale(0.985); transition-duration: .12s; }

.btn-ghost-light{
  background: rgba(255,255,255,0.14);
  border: 1.5px solid rgba(255,255,255,0.55);
  color: #fff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.btn-ghost-light:hover{
  background: rgba(255,255,255,0.94);
  color: var(--brand-primary-hover);
  transform: translateY(-3px) scale(1.015);
  box-shadow: var(--shadow-md);
}

.btn.btn-primary{
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  border-color: transparent;
}
.btn.btn-primary:hover{ transform: translateY(-2px); box-shadow: var(--shadow-md); }

/* subtle continuous pulse for a single hero CTA, opt-in only */
.btn-pulse{ animation: btnPulse 2.6s var(--ease) infinite; }
@keyframes btnPulse{
  0%, 100%{ box-shadow: 0 14px 30px -14px rgba(91,75,138,0.55), 0 0 0 0 rgba(124,107,174,0.35); }
  50%{ box-shadow: 0 14px 30px -14px rgba(91,75,138,0.55), 0 0 0 10px rgba(124,107,174,0); }
}

/* ==========================================================================
   4. CARDS — unified hover-lift + glass system
   ========================================================================== */
.glass-card,
.why-card,
.profile-card,
.feature-card,
.story-card,
.testimonial-card-new,
.pricing-card,
.mini-pricing-card,
.card-profile,
.spotlight-story-card,
.dash-panel,
.dash-stat-card,
.dash-profile-status-card,
.dash-preview-header,
.member-card .profile-card{
  border-radius: var(--r-xl);
  border: 1px solid var(--brand-border);
  transition: transform .4s var(--ease-spring), box-shadow .4s var(--ease-spring), border-color .3s var(--ease);
}

.glass-card{
  background: rgba(255,255,255,0.72);
  border-color: rgba(255,255,255,0.7);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: var(--shadow-sm);
}
.glass-card:hover{
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}

.why-card:hover,
.profile-card:hover,
.feature-card:hover,
.story-card:hover,
.card-profile:hover,
.spotlight-story-card:hover,
.dash-quick-card:hover{
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
  border-color: var(--brand-primary-light);
}

.testimonial-card-new:hover,
.mini-pricing-card:hover{
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}

.pricing-card:hover{
  transform: translateY(-10px);
  box-shadow: var(--shadow-lg);
}
.pricing-card.popular{
  background: linear-gradient(160deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
}
.pricing-card.popular:hover{ transform: scale(1.03) translateY(-10px); }

.mini-pricing-card.popular{
  background: linear-gradient(160deg, var(--brand-secondary) 0%, var(--brand-primary-hover) 100%);
  border: none;
}
.mini-pricing-card.popular .mp-name,
.mini-pricing-card.popular .mp-price{ color: #fff !important; }
.mini-pricing-card.popular .mp-price span{ color: rgba(255,255,255,0.8) !important; }
.mini-pricing-card.popular ul li,
.mini-pricing-card.popular ul li i{ color: rgba(255,255,255,0.92) !important; }

.popular-badge{ box-shadow: var(--shadow-sm); }

.member-card .profile-card,
.card-profile{ box-shadow: var(--shadow-card); }

.dash-panel,
.dash-profile-status-card,
.dash-preview-header{ box-shadow: var(--shadow-xs); }
.dash-stat-card{ box-shadow: var(--shadow-sm); }

/* ==========================================================================
   5. IMAGES — rounded, cover, hover zoom
   ========================================================================== */
.card-profile__image,
.profile-image,
.story-media,
.testimonial-photo,
.spotlight-story-img,
.hero-image-card,
.member-thumb{
  overflow: hidden;
  border-radius: var(--r-lg);
}
.card-profile__image img,
.profile-image img,
.story-media img,
.spotlight-story-img img,
.member-thumb img{
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .7s var(--ease-spring), filter .4s var(--ease);
}
.card-profile:hover img,
.profile-card:hover .profile-image img,
.story-card:hover .story-media img,
.spotlight-story-card:hover .spotlight-story-img img,
.member-card:hover .member-thumb img{
  transform: scale(1.08);
}

/* ==========================================================================
   6. FORMS — inputs / selects / textareas / checks / radios
   ========================================================================== */
.form-control,
.form-select,
.form-control-heritage{
  background: var(--brand-card);
  border: 1.5px solid var(--brand-border);
  border-radius: var(--r-sm);
  padding: 0.8rem 1.05rem;
  font-size: 0.95rem;
  color: var(--brand-text);
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease);
}
.form-control::placeholder{ color: var(--brand-muted); opacity: .8; }

.form-control:focus,
.form-select:focus,
.form-control-heritage:focus{
  border-color: var(--brand-primary) !important;
  box-shadow: var(--shadow-glow) !important;
  background: var(--brand-card);
}

textarea.form-control{ line-height: 1.6; }

.form-check-input{
  border: 1.5px solid var(--brand-border);
  width: 1.15em; height: 1.15em;
  transition: background-color .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.form-check-input:checked{
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}
.form-check-input:focus{
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 3px rgba(124,107,174,0.18);
}
.form-check-label{ color: var(--brand-text); }

.form-label{ font-weight: 600; color: var(--brand-text); font-size: 0.88rem; letter-spacing: 0.01em; }

.accordion{
  --bs-accordion-active-bg: var(--brand-btn-secondary-bg);
  --bs-accordion-active-color: var(--brand-primary-hover);
  --bs-accordion-border-color: var(--brand-border);
  --bs-accordion-btn-focus-border-color: var(--brand-secondary);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.2rem rgba(124,107,174,0.20);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235B4B8A'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
.accordion-item{ border-radius: var(--r-md) !important; overflow: hidden; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline-color: var(--brand-primary) !important;
}

/* ==========================================================================
   7. NAVBAR — glass, animated underline, active pill
   ========================================================================== */
.navbar-heritage{
  background: rgba(251, 250, 255, 0.82) !important;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border-bottom: 1px solid var(--brand-border) !important;
  box-shadow: 0 8px 26px -20px rgba(91,75,138,0.4);
  transition: background-color .35s var(--ease), box-shadow .35s var(--ease), padding .3s var(--ease);
}
.navbar-heritage.scrolled{
  background: rgba(251, 250, 255, 0.96) !important;
  box-shadow: 0 12px 30px -18px rgba(91,75,138,0.3);
}
.navbar-heritage .brand-mark,
.navbar-heritage .marathi,
.navbar-heritage.scrolled .brand-mark{ color: var(--brand-primary-hover) !important; }
.navbar-heritage .marathi,
.navbar-heritage.scrolled .marathi{ color: var(--brand-secondary-dark) !important; }
.navbar-heritage .brand-tagline,
.navbar-heritage.scrolled .brand-tagline{ color: var(--brand-muted); }
.navbar-heritage .nav-link,
.navbar-heritage.scrolled .nav-link{
  color: var(--brand-text) !important;
  position: relative;
  transition: color .25s var(--ease);
}
.navbar-heritage .nav-link::after{
  content: "";
  position: absolute;
  left: 50%; bottom: 2px;
  width: 0; height: 2px;
  background: linear-gradient(90deg, var(--brand-primary), var(--brand-secondary));
  border-radius: 2px;
  transform: translateX(-50%);
  transition: width .3s var(--ease-spring);
}
.navbar-heritage .nav-link:hover::after,
.navbar-heritage .nav-link.active::after{ width: 60%; }
.navbar-heritage .nav-link.active,
.navbar-heritage.scrolled .nav-link.active{ color: var(--brand-primary-hover) !important; font-weight: 600; }
.navbar-heritage .btn-outline-heritage{ border-color: var(--brand-primary); color: var(--brand-primary); }
.navbar-heritage .btn-outline-heritage:hover{ background: var(--brand-primary); color: #fff; }
.navbar-heritage .navbar-toggler i,
.navbar-heritage:not(.scrolled) .navbar-toggler i{ color: var(--brand-primary-hover) !important; }
.navbar-collapse{ transition: all .3s var(--ease); }

/* ==========================================================================
   8. HERO — spacing, entrance choreography, floating cards
   ========================================================================== */
.hero{
  padding: 152px 0 0;
  background:
    radial-gradient(circle at 8% 12%, rgba(167,155,209,0.28), transparent 45%),
    radial-gradient(circle at 96% 18%, rgba(231,169,194,0.30), transparent 42%),
    linear-gradient(180deg, #FDFCFF 0%, var(--brand-bg-alt) 100%);
}
.hero-bg-slider{ display: none !important; }
.hero-pattern{
  background-image: radial-gradient(circle, rgba(124,107,174,0.14) 1.3px, transparent 1.3px);
  background-size: 26px 26px;
  opacity: 0.6;
}
.hero .container{ height: auto; min-height: 0; padding-bottom: 3rem; }

.hero-intro{ text-align: center; max-width: 760px; margin: 0 auto; }
.hero-intro .hero-badge{ margin-inline: auto; }
.hero-intro .hero-tag{ display: inline-block; }
.hero-intro .hero-stat-row{ justify-content: center; margin-inline: auto; }
.hero-intro p{ margin-inline: auto; }

.hero-badge{
  background: #fff;
  border: 1px solid var(--brand-border);
  color: var(--brand-primary-hover);
  box-shadow: var(--shadow-sm);
}
.hero-tag{
  color: var(--brand-primary-hover);
  background: var(--brand-rose-bg);
  border: 1px solid var(--brand-border);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: inline-block;
  padding: 0.32rem 0.85rem;
  border-radius: 999px;
  margin-bottom: 0.8rem;
}
.hero h1{ color: var(--brand-primary-hover); text-shadow: none; }
.hero h1 span{ color: var(--brand-secondary-dark); }
.hero p{ color: var(--brand-muted); }
.hero-stat-item{ color: var(--brand-text); }
.hero-stat-item .lbl{ color: var(--brand-muted); }
.hero-stat-divider{ background: var(--brand-border); }

/* entrance choreography — pure CSS, staggered fade + slide, respects reduced-motion */
.hero-badge, .hero-tag, .hero h1, .hero p, .hero-actions,
.hero-stat-row, .hero-trust-row{
  animation: heroFadeUp .8s var(--ease-spring) both;
}
.hero-badge{ animation-delay: .02s; }
.hero-tag{ animation-delay: .06s; }
.hero h1{ animation-delay: .12s; }
.hero p{ animation-delay: .22s; }
.hero-actions{ animation-delay: .32s; }
.hero-stat-row, .hero-trust-row{ animation-delay: .42s; }
@keyframes heroFadeUp{
  from{ opacity: 0; transform: translateY(22px); }
  to{ opacity: 1; transform: translateY(0); }
}

.floating-card{
  animation: floatCard 5s ease-in-out infinite;
  box-shadow: var(--shadow-lg);
}
.floating-card.card-2{ animation-delay: 1.4s; }
@keyframes floatCard{
  0%, 100%{ transform: translateY(0); }
  50%{ transform: translateY(-12px); }
}

.hero-slider-wrap{ width: min(90%, 1560px); margin: 2.75rem auto 0; position: relative; }
.hero-photo-carousel.hero-photo-carousel--full{
  aspect-ratio: unset;
  height: 620px;
  max-height: none;
  width: 100%;
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-lg);
}
.hero-photo-carousel.hero-photo-carousel--full .swiper-slide{ overflow: hidden; position: relative; }
.hero-photo-carousel.hero-photo-carousel--full .swiper-slide img{
  width: 100%; height: 100%; object-fit: cover; object-position: center; display: block;
}
.hero-photo-carousel.hero-photo-carousel--full::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(41,37,58,0) 45%, rgba(41,37,58,0.4) 100%);
  pointer-events: none;
  z-index: 2;
}
.hero-slide-caption{
  position: absolute; left: 28px; bottom: 26px; z-index: 3;
  color: #fff;
  font-family: var(--font-display);
  font-size: 1.35rem; font-weight: 600;
  text-shadow: 0 2px 14px rgba(0,0,0,0.35);
}
.hero-slider-arrow{
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
  width: 50px; height: 50px; border-radius: 50%;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border: none;
  box-shadow: var(--shadow-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--brand-primary-hover);
  font-size: 1.2rem; cursor: pointer;
  transition: background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease-spring);
}
.hero-slider-arrow:hover{ background: var(--brand-primary); color: #fff; transform: translateY(-50%) scale(1.08); }
.hero-slider-prev{ left: 22px; }
.hero-slider-next{ right: 22px; }
.hero-photo-carousel--full .swiper-pagination{ bottom: 22px !important; z-index: 5; display: flex; justify-content: center; gap: 8px; }
.hero-photo-carousel--full .swiper-pagination-bullet{
  width: 9px; height: 9px; background: rgba(255,255,255,0.75); opacity: 1; margin: 0 !important;
  transition: width .3s var(--ease), background .3s var(--ease), border-radius .3s var(--ease);
}
.hero-photo-carousel--full .swiper-pagination-bullet-active{ width: 26px; border-radius: 5px; background: #fff; }

@media (max-width: 1199.98px){ .hero-photo-carousel.hero-photo-carousel--full{ height: 560px; } }
@media (max-width: 991.98px){
  .hero{ padding-top: 132px; }
  .hero-slider-wrap{ width: 94%; margin-top: 2.25rem; }
  .hero-photo-carousel.hero-photo-carousel--full{ height: 440px; border-radius: var(--r-lg); }
  .hero-slide-caption{ font-size: 1.1rem; left: 20px; bottom: 20px; }
  .hero-slider-arrow{ width: 42px; height: 42px; font-size: 1.05rem; }
}
@media (max-width: 575.98px){
  .hero-slider-wrap{ width: 96%; margin-top: 1.75rem; }
  .hero-photo-carousel.hero-photo-carousel--full{ height: 320px; border-radius: var(--r-md); }
  .hero-slider-arrow{ width: 36px; height: 36px; font-size: 0.95rem; }
  .hero-slider-prev{ left: 12px; }
  .hero-slider-next{ right: 12px; }
  .hero-slide-caption{ font-size: 0.95rem; left: 16px; bottom: 16px; }
}

/* ==========================================================================
   8b. Photo marquee / gallery strip
   ========================================================================== */
.gallery-strip-section{
  background: linear-gradient(180deg, var(--brand-bg-alt) 0%, #fff 100%);
  padding: 30px 0 56px;
}
.gallery-strip-heading{ max-width: 640px; }
.photo-marquee-section{ background: transparent; padding: 10px 0 6px; border-top: none; border-bottom: none; }
.photo-marquee-track{ gap: 20px; animation-duration: 60s; }
.photo-marquee-item{
  width: 240px; height: 170px;
  border-radius: var(--r-lg);
  border: 1px solid var(--brand-border);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  transition: box-shadow .35s var(--ease-spring), transform .35s var(--ease-spring);
}
.photo-marquee-item:hover{ box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.photo-marquee-item img{ transition: transform .7s var(--ease-spring); }
.photo-marquee-item:hover img{ transform: scale(1.09); }
@media (max-width: 767.98px){
  .photo-marquee-item{ width: 168px; height: 120px; border-radius: var(--r-md); }
  .photo-marquee-track{ gap: 14px; animation-duration: 46s; }
}

/* ==========================================================================
   9. SCROLL REVEAL + SECTION RHYTHM
   ========================================================================== */
.reveal{
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s var(--ease-spring), transform .8s var(--ease-spring);
}
.reveal.in{ opacity: 1; transform: translateY(0); }

.section-pad{ padding: 96px 0; }
@media (max-width: 767.98px){ .section-pad{ padding: 64px 0; } }

.stats-band{
  background: linear-gradient(135deg, var(--brand-rose-bg) 0%, var(--brand-bg-alt) 100%);
}
.stats-band::before{ background-image: radial-gradient(circle, rgba(124,107,174,0.16) 1.5px, transparent 1.5px); }
.stat-number, .stats-band .stat-number span{ color: var(--brand-primary-hover) !important; }
.stat-label{ color: var(--brand-muted); font-weight: 600; }

@media (prefers-reduced-motion: reduce){
  .reveal, .hero-badge, .hero-tag, .hero h1, .hero p, .hero-actions,
  .hero-stat-row, .hero-trust-row{ animation: none !important; opacity: 1 !important; transform: none !important; }
  .floating-card{ animation: none; }
  .btn-pulse{ animation: none; }
  .photo-marquee-track{ animation: none; overflow-x: auto; }
  html{ scroll-behavior: auto; }
}

/* ==========================================================================
   10. FOOTER, BACK-TO-TOP, MISC RESPONSIVE POLISH
   ========================================================================== */
.footer-heritage{
  background: linear-gradient(180deg, var(--brand-bg-alt) 0%, var(--brand-rose-bg) 100%);
  color: var(--brand-muted);
  border-top: 1px solid var(--brand-border);
}
.footer-heritage h6{ color: var(--brand-primary-hover); }
.footer-heritage a{ color: var(--brand-muted); }
.footer-heritage a:hover{ color: var(--brand-primary-hover); }
.footer-brand{ color: var(--brand-primary-hover); }
.footer-brand .marathi{ color: var(--brand-secondary-dark); }
.footer-social{
  border-color: var(--brand-border);
  color: var(--brand-primary-hover);
  transition: all .3s var(--ease-spring);
}
.footer-social:hover{
  background: var(--brand-primary);
  border-color: var(--brand-primary);
  color: #fff !important;
  transform: translateY(-4px);
  box-shadow: var(--shadow-sm);
}

.back-to-top{
  background: var(--grad-heritage) !important;
  transition: all .3s var(--ease-spring);
}
.back-to-top:hover{ transform: translateY(-4px) scale(1.06); box-shadow: var(--shadow-lg); }

.page-header{
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
}

img{ max-width: 100%; height: auto; }

/* ==========================================================================\n   HOME MEDIA — IMAGE + VIDEO SUPPORT\n   ========================================================================== */
.hero-photo-carousel.hero-photo-carousel--full .hero-media-video{
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
}
.photo-marquee-item img,
.photo-marquee-item .photo-marquee-media{
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
}
.photo-marquee-item .photo-marquee-media{ background:#111; transition:transform .7s var(--ease-spring); }
.photo-marquee-item:hover .photo-marquee-media{ transform:scale(1.09); }

/* ==========================================================
   HOME MEDIA FIX — scrolling images + videos
   ========================================================== */
.hero-photo-carousel.hero-photo-carousel--full .hero-media-video,
.photo-marquee-item .gallery-media-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  background: #111;
}
.photo-marquee-item .gallery-media-video {
  transition: transform .7s var(--ease-spring);
}
.photo-marquee-item:hover .gallery-media-video {
  transform: scale(1.09);
}


/* ========================================================================== 
   REAL SATHI PROFILE CARDS — shared index/gallery/profiles styling
   ========================================================================== */
.public-profile-card{position:relative;background:#fff;border:1px solid var(--brand-border);border-radius:24px;overflow:hidden;box-shadow:0 10px 28px rgba(91,75,138,.10);transition:transform .3s var(--ease-spring),box-shadow .3s var(--ease-spring);height:100%;}
.public-profile-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(91,75,138,.18);}
.public-profile-card__media{display:block;position:relative;height:330px;overflow:hidden;text-decoration:none;color:#fff;background:#eee7f6;}
.public-profile-card__photo{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .65s var(--ease-spring);}
.public-profile-card:hover .public-profile-card__photo{transform:scale(1.045);}
.public-profile-card__photo--fallback{object-fit:contain;padding:22px;background:#fdf3f6;}
.public-profile-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,30,.06) 35%,rgba(25,18,32,.72) 100%);pointer-events:none;}
.public-profile-card__top{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;gap:8px;z-index:2;}
.public-profile-card__verified,.public-profile-card__photo-count,.public-profile-card__joined{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:700;line-height:1;background:rgba(255,255,255,.92);color:var(--brand-primary-hover);box-shadow:0 4px 14px rgba(0,0,0,.08);}
.public-profile-card__verified{background:#5b4b8a;color:#fff;}
.public-profile-card__joined{position:absolute;right:14px;top:52px;z-index:2;color:#7c1749;background:#fff;}
.public-profile-card__details{position:absolute;left:16px;right:16px;bottom:42px;z-index:2;color:#fff;}
.public-profile-card__details h3{margin:0 0 7px;font-size:1.35rem;font-weight:700;color:#fff;font-family:var(--font-body);}
.public-profile-card__details p{margin:3px 0;font-size:.82rem;color:rgba(255,255,255,.94);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.public-profile-card__details i{margin-right:5px;}
.public-profile-card__managed{position:absolute;left:16px;bottom:14px;z-index:2;font-size:.68rem;font-style:italic;color:rgba(255,255,255,.9);}
.public-profile-card__action{padding:12px;background:#fff;display:grid;gap:9px;}
.public-profile-card__action>.btn{border-radius:999px;font-weight:700;min-height:42px;}
.public-profile-card__contact-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.contact-action{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:7px 5px;border-radius:12px;text-decoration:none!important;font-size:.72rem;font-weight:700;border:1px solid var(--brand-border);transition:all .25s var(--ease-spring);}
.contact-action--call{color:#5b4b8a;background:#f5f1fc;}
.contact-action--whatsapp{color:#15803d;background:#effaf3;}
.contact-action--email{color:#a23b68;background:#fdf2f6;}
.contact-action:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(91,75,138,.12);}
.contact-action i{font-size:.9rem;}
.official-contact-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.official-contact-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:14px;text-decoration:none!important;font-weight:700;border:1px solid var(--brand-border);}
.official-contact-btn--call{color:#5b4b8a;background:#f5f1fc;}
.official-contact-btn--whatsapp{color:#15803d;background:#effaf3;}
.official-contact-btn--email{color:#a23b68;background:#fdf2f6;}
@media(max-width:575.98px){
  .public-profile-card__media{height:300px;}
  .public-profile-card__details h3{font-size:1.2rem;}
  .contact-action span{font-size:.68rem;}
  .official-contact-actions{grid-template-columns:1fr;}
}
