:root {
  --gold: #C9920A;
  --gold2: #E8B84B;
  --gold3: #F5D78E;
  --gold-pale: #FDF0CC;
  --deep: #0D1F1A;
  --teal: #1A4D3A;
  --teal2: #256B52;
  --teal3: #2E8A6A;
  --cream: #FAF6ED;
  --white: #FFFFFF;
  --text: #1C1C1C;
  --text2: #4A4A4A;
  --text3: #7A7A7A;
  --border: rgba(201,146,10,0.25);
  --shadow-gold: 0 8px 40px rgba(201,146,10,0.18);
  --shadow-dark: 0 12px 48px rgba(13,31,26,0.22);
}

html, body { overflow-x: hidden;}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'Raleway',sans-serif; background:var(--cream); color:var(--text); overflow-x:hidden; cursor:default; font-size: 17px; }

body {
  padding-top: 110px;   /* trust bar ~36px + lang bar ~34px + nav 70px */
}


/* ─── SCROLLBAR ─── */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--deep); }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:3px; }

/* ─── PRELOADER ─── */
#preloader {
  position:fixed; inset:0; z-index:9999;
  background:var(--deep);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}
#preloader.fade-out { opacity:0; visibility:hidden; }
.preloader-om {
  font-family:'Cinzel',serif;
  font-size:4rem; color:var(--gold2);
  animation: omPulse 1.5s ease-in-out infinite;
  margin-bottom:20px;
}
.preloader-line {
  width:120px; height:2px; background:rgba(201,146,10,0.3); border-radius:2px; overflow:hidden;
}
.preloader-fill {
  height:100%; background:var(--gold2); width:0;
  animation: preLoad 2s ease forwards;
}
@keyframes omPulse { 0%,100%{opacity:0.4;transform:scale(0.95)} 50%{opacity:1;transform:scale(1.05)} }
@keyframes preLoad { 0%{width:0} 100%{width:100%} }

.trust-bar {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1002;
    background: var(--deep);
    border-bottom: 1px solid rgba(201,146,10,0.2);
    padding: 7px 0;
    overflow: hidden;
  }
  .trust-marquee {
    display: flex;
    white-space: nowrap;
    will-change: transform;
  }
  .trust-marquee span {
    font-family: 'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Kannada',
                 'Noto Sans Malayalam', 'Noto Sans Devanagari', sans-serif;
    font-size: 14px;
    color: var(--gold3);
    letter-spacing: 0.5px;
    flex-shrink: 0;
    padding: 0 30px;
  }
  .trust-marquee .sep {
    color: var(--gold);
    opacity: 0.5;
    flex-shrink: 0;
    padding: 0 4px;
    font-size: 14px;
  }

  
/* ─── LANG BAR ─── */
.lang-bar {
  position: fixed;
  top: 30px; left: 0; right: 0;   /* sits below trust bar */
  z-index: 1001;
  background: var(--teal);
  padding: 8px 0;
  display: flex; align-items: center; justify-content: flex-end;
  gap: 6px; padding-right: 40px;
}
.lang-btn {
  background:transparent;
  border:1px solid rgba(255,255,255,0.25);
  color:rgba(255,255,255,0.75);
  font-family:'Raleway',sans-serif;
  font-size:11px; font-weight:600;
  letter-spacing:0.5px;
  padding:4px 14px; border-radius:20px;
  cursor:pointer; transition:all 0.25s;
}
.lang-btn:hover, .lang-btn.active {
  background: var(--gold); border-color:var(--gold);
  color:#fff;
}

/* ─── NAVBAR ─── */
#mainNav {
  position: fixed; 
  top:0; left: 0; right: 0;
  top: 70px;
  z-index:1000;
  background: var(--gold);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  transition: all 0.4s ease;
}
#mainNav.scrolled {
  background: var(--gold);
  box-shadow: 0 4px 32px rgba(0,0,0,0.4);
}
.nav-inner {
  max-width:1320px; margin:auto;
  padding:0 40px;
  display:flex; align-items:center; justify-content:space-between;
  height:70px;
}
.nav-logo {
  display:flex; align-items:center; gap:14px;
  text-decoration:none;
}
.nav-logo-icon {
  width:46px; height:46px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:var(--deep);
  flex-shrink:0;
  box-shadow:0 0 16px rgba(232,184,75,0.35);
}
.nav-logo-text {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:11.5px; font-weight:600;
  color:var(--cream); line-height:1.45;
  max-width:240px;
}
.nav-links {
  display:flex; align-items:center; gap:2px;
}
.nav-links a {
  color:rgba(255,255,255,0.8);
  text-decoration:none;
  font-size:13px; font-weight:600;
  letter-spacing:0.8px; text-transform:uppercase;
  padding:8px 16px; border-radius:4px;
  transition:all 0.25s; position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:4px; left:50%; right:50%;
  height:1px; background:var(--gold2);
  transition:all 0.3s ease;
}
.nav-links a:hover { color:var(--gold2); }
.nav-links a:hover::after { left:16px; right:16px; }
.nav-cta {
  background:linear-gradient(135deg,var(--deep),var(--teal3)) !important;
  color:var(--gold3) !important;
  border-radius:6px !important;
  font-weight:700 !important;
  padding:9px 22px !important;
  box-shadow:0 4px 16px rgba(201,146,10,0.3);
}
.nav-cta:hover { transform:translateY(-1px); box-shadow:0 6px 22px rgba(201,146,10,0.45) !important; }
.nav-cta::after { display:none !important; }
.hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:8px; border:none; background:transparent;
}
.hamburger span { width:24px; height:2px; background:var(--gold2); display:block; transition:0.3s; border-radius:2px; }

/* ─── MOBILE MENU ─── */
.mobile-menu {
  display:none; flex-direction:column;
  background:var(--deep); border-top:1px solid var(--border);
  padding:16px 24px 24px; gap:4px;
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  color:rgba(255,255,255,0.8); text-decoration:none;
  font-size:14.5px; font-weight:600; letter-spacing:0.5px;
  padding:12px 16px; border-radius:6px;
  border-bottom:1px solid rgba(201,146,10,0.1);
  transition:0.2s;
}
.mobile-menu a:hover { color:var(--gold2); background:rgba(201,146,10,0.06); }

/* ─── HERO ─── */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  gap: 0;
  padding: 0;
}

.hero-image-panel {
  position: relative;
  flex: 0 0 45%;
  height: 100vh;
  overflow: hidden;
  order: 1;
  z-index: 2;
}

.hero-img-frame {
  width: 100%;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
}

.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.hero-content {
  position: relative;
  z-index: 2;
  flex: 0 0 55%;
  max-width: none;
  padding: 100px 50px 100px 50px;
  order: 2;
}

.hero-parallax-bg {
  position: absolute; inset: 0;
  background: url('https://images.unsplash.com/photo-1609778134645-cbad4e27b5e0?w=1600&q=90') center/cover no-repeat;
  transform-origin: center;
  will-change: transform;
}

.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(105deg,
    rgba(253,240,204,0.97) 0%,
    rgba(253,240,204,0.88) 38%,
    rgba(253,240,204,0.45) 62%,
    rgba(253,240,204,0.15) 100%
  );
}

.hero-decoration {
  position: absolute; top: 0; left: 0; bottom: 0; width: 4px;
  background: linear-gradient(to bottom, transparent, var(--gold), var(--gold2), transparent);
}

.hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(13,31,26,0.12);
  border: 1px solid var(--border);
  border-radius: 30px; padding: 7px 20px;
  margin-bottom: 28px;
}

.hero-badge span {
  font-family: 'Cinzel', serif;
  font-size: 11px; color: var(--deep);
  letter-spacing: 2px; text-transform: uppercase;
}

.hero-trust-no {
  font-size: 10px; color: var(--deep); opacity: 0.7;
  font-family: 'Raleway', sans-serif; letter-spacing: 1px;
}

.hero-om {
  font-family: 'Cinzel', serif;
  font-size: 3rem; color: var(--deep);
  display: block; margin-bottom: 16px;
  text-shadow: 0 0 30px rgba(232,184,75,0.4);
  animation: floatOm 4s ease-in-out infinite;
}

@keyframes floatOm { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

.hero-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.6rem,3.2vw,3rem);
  font-weight: 700; color: var(--teal);
  line-height: 1.25; margin-bottom: 8px;
  letter-spacing: 0.5px;
}

.hero-title-tamil {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: clamp(1.2rem,2.2vw,1.9rem);
  font-weight: 600; color: var(--teal);
  line-height: 1.4; margin-bottom: 28px;
}

.hero-divider {
  width: 80px; height: 2px;
  background: linear-gradient(to right, var(--teal), transparent);
  margin-bottom: 24px;
}

.hero-desc {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 16px; color: rgba(13,31,26,0.7);
  line-height: 2; margin-bottom: 36px;
  border-left: 2px solid var(--gold);
  padding-left: 18px;
}

.hero-stats {
  display: flex; gap: 32px; margin-bottom: 40px;
}

.hero-stat { text-align: center; }

.hero-stat-num {
  font-family: 'Cinzel', serif; font-size: 1.5rem;
  font-weight: 700; color: var(--teal); display: block; line-height: 1;
}

.hero-stat-label {
  font-size: 12px; color: rgba(13,31,26,0.5);
  letter-spacing: 1px; text-transform: uppercase; margin-top: 4px;
}

.hero-stat-div { width: 1px; background: rgba(13,31,26,0.15); align-self: stretch; }

.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }

.btn-gold {
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, var(--deep), var(--teal3));
  color: var(--gold3); padding: 14px 32px;
  border-radius: 6px; text-decoration: none;
  font-weight: 700; font-size: 13px;
  letter-spacing: 0.8px; text-transform: uppercase;
  box-shadow: 0 6px 24px rgba(201,146,10,0.35);
  transition: all 0.3s; border: none; cursor: pointer;
}

.btn-gold:hover { transform: translateY(-3px); box-shadow: 0 10px 32px rgba(201,146,10,0.5); }

.btn-ghost {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent;
  color: rgba(13,31,26,0.85); padding: 14px 32px;
  border-radius: 6px; text-decoration: none;
  font-weight: 600; font-size: 13px;
  letter-spacing: 0.8px; text-transform: uppercase;
  border: 1px solid rgba(13,31,26,0.3);
  transition: all 0.3s; cursor: pointer;
}

.btn-ghost:hover { border-color: var(--deep); color: var(--teal3); }

.hero-scroll-hint {
  position: absolute; bottom: 36px; left: 50%;
  transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  color: rgba(13,31,26,0.35); font-size: 11px;
  letter-spacing: 2px; text-transform: uppercase;
  animation: scrollBounce 2s ease-in-out infinite;
}

@keyframes scrollBounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }
/* ─── GOLDEN DIVIDER BAND ─── */
.gold-band {
  background:linear-gradient(135deg,var(--teal),var(--deep));
  padding:48px 40px;
  text-align:center;
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.gold-band::before {
  content:'';
  position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23C9920A' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.gold-band blockquote {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.5rem,3vw,2.1rem);
  font-style:italic; color:var(--gold3);
  max-width:900px; margin:0 auto 12px;
  line-height:1.7; position:relative; z-index:1;
}
.gold-band cite {
  font-family:'Raleway',sans-serif;
  font-size:12px; color:rgba(255,255,255,0.4);
  letter-spacing:2px; text-transform:uppercase;
  position:relative; z-index:1;
}

/* ─── SECTION COMMONS ─── */
section { padding:90px 40px; }
.section-wrap { max-width:1320px; margin:auto; }
.section-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  margin-bottom:14px;
}
.section-eyebrow::before, .section-eyebrow::after {
  content:''; width:30px; height:1px; background:var(--gold);
}
.section-eyebrow span {
  font-size:13px; font-weight:700; color:var(--gold);
  letter-spacing:3px; text-transform:uppercase;
  font-family:'Raleway',sans-serif;
}
.section-title {
  font-family:'Cinzel',serif;
  font-size:clamp(1.5rem,2.8vw,2.4rem);
  font-weight:700; color:var(--teal); line-height:1.2;
  margin-bottom:10px;
}
.section-title-tamil {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:clamp(1rem,1.8vw,1.4rem);
  font-weight:500; color:var(--gold);
  margin-bottom:20px; line-height:1.5;
}
.section-rule {
  width:60px; height:3px;
  background:linear-gradient(to right,var(--gold),var(--gold2),transparent);
  border-radius:2px; margin-bottom:28px;
}
.section-rule.center { margin-left:auto; margin-right:auto; }
.section-body {
  font-size:17px; line-height:1.9;
  color:var(--text2); max-width:620px;
}

/* reveal animations */
.reveal, .reveal-left, .reveal-right, .reveal-up {
  opacity:0; transition:all 0.8s cubic-bezier(.25,.46,.45,.94);
}
.reveal { transform:translateY(48px); }
.reveal-left { transform:translateX(-48px); }
.reveal-right { transform:translateX(48px); }
.reveal-up { transform:translateY(30px); }
.reveal.in,.reveal-left.in,.reveal-right.in,.reveal-up.in { opacity:1; transform:none; }
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}.d6{transition-delay:.6s}

/* ─── ABOUT ─── */
.about-section { background:var(--white); }
.about-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
}
.about-img-wrap {
  position:relative;
}
.about-img-frame {
  position:absolute; top:24px; left:24px; right:-24px; bottom:-24px;
  border:2px solid var(--border); border-radius:12px;
}
.about-img-main {
  position:relative; z-index:1;
  border-radius:12px; overflow:hidden;
  box-shadow:var(--shadow-dark);
}
.about-img-main img {
  width:100%; display:block;
  transition:transform 0.8s ease;
}
.about-img-main:hover img { transform:scale(1.04); }
.about-badge {
  position:absolute; bottom:-20px; right:-20px; z-index:2;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:var(--deep); border-radius:10px;
  padding:18px 22px; text-align:center;
  box-shadow:var(--shadow-gold);
}
.about-badge-num {
  font-family:'Cinzel',serif; font-size:1.6rem;
  font-weight:700; display:block; line-height:1;
}
.about-badge-label { font-size:10px; letter-spacing:1px; text-transform:uppercase; margin-top:4px; }

.trust-chips { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.trust-chip {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--gold-pale); border:1px solid var(--border);
  border-radius:20px; padding:6px 16px;
  font-size:12px; color:var(--teal); font-weight:600;
}
.trust-chip i { color:var(--gold); }

.sthal-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:24px;
}
.sthal-card {
  background:linear-gradient(135deg,rgba(26,77,58,0.05),rgba(201,146,10,0.05));
  border:1px solid var(--border);
  border-radius:10px; padding:16px 18px;
}
.sthal-card-label {
  font-size:10px; color:var(--gold); letter-spacing:1.5px;
  text-transform:uppercase; margin-bottom:6px;
}
.sthal-card-val {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:15px; color:var(--teal); font-weight:600; line-height:1.6;
}

/* ─── SPECIALTIES PARALLAX SECTION ─── */
.special-section {
  position:relative; overflow:hidden;
  padding:110px 40px;
  background:var(--deep);
}
.special-parallax-bg {
  position:absolute; inset:0;
  background:url('https://images.unsplash.com/photo-1570459027562-4a916cc6113f?w=1400&q=85') center/cover no-repeat;
  opacity:0.12; will-change:transform;
}
.special-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, var(--deep) 0%, rgba(13,31,26,0.7) 50%, var(--deep) 100%);
}
.special-section .section-title { color:var(--gold3); }
.special-section .section-title-tamil { color:rgba(255,255,255,0.6); }
.special-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:24px; margin-top:48px;
}
.special-card {
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(201,146,10,0.2);
  border-radius:12px; padding:32px 28px;
  position:relative; overflow:hidden;
  transition:all 0.4s ease;
}
.special-card::before {
  content:''; position:absolute;
  top:0; left:0; right:0; height:2px;
  background:linear-gradient(to right,var(--gold),var(--gold2),transparent);
  transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s ease;
}
.special-card:hover { background:rgba(255,255,255,0.07); transform:translateY(-6px); }
.special-card:hover::before { transform:scaleX(1); }
.special-card-icon {
  width:52px; height:52px;
  background:rgba(201,146,10,0.12);
  border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:var(--gold2);
  margin-bottom:18px;
}
.special-card-title {
  font-family:'Cinzel',serif; font-size:0.95rem;
  font-weight:600; color:var(--gold3); margin-bottom:10px;
  letter-spacing:0.3px;
}
.special-card-title-tamil {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:13px; color:var(--gold2); margin-bottom:10px; font-weight:600;
}
.special-card-desc {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:14px; color:rgba(255,255,255,0.55); line-height:1.85;
}

/* ─── DEITIES ─── */
.deities-section { background:var(--cream); }
.deities-main {
  background:linear-gradient(135deg,var(--teal),var(--deep));
  border-radius:20px; padding:48px; margin-bottom:40px;
  position:relative; overflow:hidden;
}
.deities-main::after {
  content:''; position:absolute; right:-40px; top:-40px;
  width:240px; height:240px; border-radius:50%;
  background:rgba(201,146,10,0.07); pointer-events:none;
}
.deities-main-title {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:clamp(1rem,1.8vw,1.3rem);
  color:var(--gold3); line-height:1.9; font-weight:400;
}
.deities-main-title strong { color:var(--gold2); font-weight:700; }
.deity-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:20px;
}
.deity-card-top img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.4s cubic-bezier(.25,.8,.25,1);
}

.deity-card:hover .deity-card-top img {
  transform: scale(1.08);
}
.deity-card {
  background:var(--white); border-radius:14px;
  overflow:hidden; position:relative;
  box-shadow:0 4px 20px rgba(0,0,0,0.07);
  transition:all 0.4s cubic-bezier(.25,.8,.25,1);
  border:1px solid rgba(201,146,10,0.1);
}
.deity-card:hover { transform:translateY(-8px); box-shadow:0 16px 48px rgba(13,31,26,0.18); border-color:var(--gold2); }
.deity-card-top {
  background:linear-gradient(135deg,var(--teal),var(--deep));
  height:200px; display:flex; align-items:center; justify-content:center;
  font-size:2.2rem; color:var(--gold2);
  position:relative; overflow:hidden;
}
.deity-card-top::after {
  content:''; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23C9920A' fill-opacity='0.06'%3E%3Cpath d='M20 0L25 15L40 15L27.5 24L32.5 39L20 30L7.5 39L12.5 24L0 15L15 15Z'/%3E%3C/g%3E%3C/svg%3E") center/40px;
}
.deity-card-body { padding:16px 18px 20px; }
.deity-name {
  font-family:'Cinzel',serif; font-size:0.85rem; font-weight:700;
  color:var(--teal); margin-bottom:4px; line-height:1.3;
}
.deity-name-tamil {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:13px; color:var(--gold); font-weight:600;
}
.deity-desc { font-size:14px; color:var(--text3); margin-top:6px; line-height:1.6; }

/* ─── POOJAS ─── */
.poojas-section { background:var(--white); }
.pooja-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:24px; margin-top:44px;
}
.pooja-card {
  border:1px solid var(--border);
  border-radius:14px; overflow:hidden;
  transition:all 0.35s ease;
  background:var(--cream);
  position:relative;
}
.pooja-card:hover { box-shadow:var(--shadow-gold); transform:translateY(-5px); border-color:var(--gold); }
.pooja-card-head {
  background:linear-gradient(135deg,var(--teal),var(--teal2));
  padding:24px 24px 20px;
}
.pooja-card-icon {
  width:44px; height:44px; background:rgba(255,255,255,0.12);
  border-radius:8px; display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; color:var(--gold2); margin-bottom:12px;
}
.pooja-card-title {
  font-family:'Cinzel',serif; font-size:0.9rem; font-weight:700;
  color:#fff; margin-bottom:3px;
}
.pooja-card-title-tamil {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:12px; color:var(--gold3); font-weight:500;
}
.pooja-card-body { padding:18px 24px 22px; }
.pooja-card-desc {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:14px; color:var(--text2); line-height:1.85;
}
.pooja-free-tag {
  display:inline-flex; align-items:center; gap:5px;
  margin-top:14px;
  background:rgba(42,138,106,0.1); border:1px solid rgba(42,138,106,0.25);
  border-radius:20px; padding:5px 14px;
  font-size:11px; color:var(--teal2); font-weight:700; letter-spacing:0.5px;
}

/* ─── PUJA DAYS ─── */
.pujadays-section { background:var(--deep); }
.pujadays-section .section-title { color:var(--gold3); }
.pujadays-section .section-title-tamil { color:rgba(255,255,255,0.6); }
.pujaday-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:16px; margin-top:40px;
}
.pujaday-card {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(201,146,10,0.2);
  border-radius:12px; padding:24px 20px; text-align:center;
  transition:all 0.3s ease;
}
.pujaday-card:hover { background:rgba(201,146,10,0.08); border-color:var(--gold); transform:translateY(-4px); }
.pujaday-icon { font-size:1.8rem; color:var(--gold2); display:block; margin-bottom:12px; }
.pujaday-name { font-family:'Cinzel',serif; font-size:0.9rem; font-weight:700; color:var(--gold3); margin-bottom:6px; }
.pujaday-name-tamil { font-family:'Noto Sans Tamil',sans-serif; font-size:12px; color:rgba(255,255,255,0.5); }

/* ─── FREE SERVICES BAND ─── */
.free-band {
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  padding:60px 40px; text-align:center;
}
.free-band h2 {
  font-family:'Cinzel',serif; font-size:clamp(1.4rem,3vw,2.2rem);
  color:var(--deep); font-weight:900; margin-bottom:10px;
}
.free-band p {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:16px; color:rgba(13,31,26,0.75); max-width:680px;
  margin:0 auto 24px; line-height:1.9;
}
.free-band-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--deep); color:var(--gold2);
  border-radius:40px; padding:12px 32px;
  font-family:'Cinzel',serif; font-size:14px; font-weight:700;
  letter-spacing:1px; box-shadow:0 4px 20px rgba(0,0,0,0.2);
}

/* ─── GALLERY ─── */
.gallery-section { background:var(--cream); }
.gallery-masonry {
  columns:3; gap:16px; margin-top:44px;
}
.gallery-item {
  break-inside:avoid; margin-bottom:16px;
  border-radius:12px; overflow:hidden;
  position:relative; cursor:pointer;
  display:block;
}
.gallery-item img {
  width:100%; display:block;
  transition:transform 0.6s ease;
}
.gallery-item:hover img { transform:scale(1.06); }
.gallery-item-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(13,31,26,0.7) 0%,transparent 60%);
  opacity:0; transition:0.3s;
  display:flex; align-items:flex-end; padding:20px;
}
.gallery-item:hover .gallery-item-overlay { opacity:1; }
.gallery-item-overlay span {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:13px; color:var(--gold2); font-weight:600;
}
.gallery-cta-row {
  text-align:center; margin-top:32px;
}

/* ─── CONTACT ─── */
.contact-section { background:var(--white); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.contact-card {
  background:linear-gradient(135deg,var(--teal),var(--deep));
  border-radius:16px; padding:40px;
  box-shadow:var(--shadow-dark);
  position:relative; overflow:hidden;
}
.contact-card::before {
  content:''; position:absolute; top:-40px; right:-40px;
  width:160px; height:160px; border-radius:50%;
  background:rgba(201,146,10,0.07);
}
.contact-card h3 {
  font-family:'Cinzel',serif; font-size:1.3rem;
  color:var(--gold2); margin-bottom:24px; font-weight:700;
}
.contact-item {
  display:flex; gap:14px; align-items:flex-start; margin-bottom:20px;
}
.contact-item-icon {
  width:42px; height:42px; flex-shrink:0;
  background:rgba(201,146,10,0.15); border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; color:var(--gold2);
}
.contact-item-text { font-size:13.5px; color:rgba(255,255,255,0.7); line-height:1.75; }
.contact-item-text strong { display:block; color:var(--gold3); margin-bottom:3px; font-weight:700; }
.contact-item-text a { color:var(--gold2); text-decoration:none; }
.contact-item-text a:hover { color:var(--gold3); }
.map-wrap { border-radius:16px; overflow:hidden; box-shadow:var(--shadow-dark); height:100%; min-height:360px; }
.map-wrap iframe { width:100%; height:100%; border:none; display:block; min-height:360px; }

/* ─── BOOKING ─── */
.booking-section { background:var(--cream); }
.booking-inner {
  max-width:780px; margin:0 auto;
  background:var(--white); border-radius:20px;
  box-shadow:var(--shadow-dark); overflow:hidden;
  border:1px solid var(--border);
}
.booking-head {
  background:linear-gradient(135deg,var(--teal),var(--deep));
  padding:36px 44px;
  text-align:center;
}
.booking-head h2 {
  font-family:'Cinzel',serif; font-size:1.5rem;
  color:var(--gold2); font-weight:700; margin-bottom:8px;
}
.booking-head p { font-family:'Noto Sans Tamil',sans-serif; font-size:13px; color:rgba(255,255,255,0.6); line-height:1.7; }
.booking-body { padding:40px 44px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-group { display:flex; flex-direction:column; gap:7px; margin-bottom:0; }
.form-group label {
  font-size:12px; font-weight:700; color:var(--teal);
  letter-spacing:0.5px; text-transform:uppercase;
}
.form-group input, .form-group select, .form-group textarea {
  padding:12px 16px; border:1.5px solid #e0d9cc;
  border-radius:8px; font-size:14px;
  font-family:'Raleway',sans-serif;
  background:var(--cream); color:var(--text);
  transition:border 0.2s, box-shadow 0.2s; outline:none;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  border-color:var(--teal2); box-shadow:0 0 0 3px rgba(42,107,82,0.1);
}
.form-group textarea { resize:vertical; min-height:100px; }
.form-submit {
  width:100%; padding:15px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:var(--deep); border:none; border-radius:8px;
  font-family:'Cinzel',serif; font-size:14px; font-weight:700;
  letter-spacing:1px; cursor:pointer;
  transition:all 0.3s; margin-top:8px;
  box-shadow:0 4px 20px rgba(201,146,10,0.25);
}
.form-submit:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(201,146,10,0.4); }
.booking-note {
  text-align:center; margin-top:16px;
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:14px; color:var(--text3); line-height:1.7;
}

/* ----- ABOUT PAGE ----- */
/* SECTIONS */
section{padding:88px 40px}
.section-wrap{max-width:1320px;margin:auto}
.section-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}
.section-eyebrow::before,.section-eyebrow::after{content:'';width:30px;height:1px;background:var(--gold)}
.section-eyebrow span{font-size:13px;font-weight:700;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-family:'Raleway',sans-serif}
.section-title{font-family:'Cinzel',serif;font-size:clamp(1.5rem,2.8vw,2.4rem);font-weight:700;color:var(--teal);line-height:1.2;margin-bottom:10px}
.section-rule{width:60px;height:3px;background:linear-gradient(to right,var(--gold),var(--gold2),transparent);border-radius:2px;margin-bottom:28px}
.section-rule.center{margin-left:auto;margin-right:auto}

/* PAGE HERO */
.page-hero{position:relative;min-height:360px;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(135deg,var(--deep) 0%,var(--teal) 60%,#1a3d2e 100%)}
.page-hero-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(201,146,10,0.12) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(232,184,75,0.08) 0%,transparent 40%),url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23C9920A' fill-opacity='0.04'%3E%3Cpath d='M40 0L50 30L80 30L55 48L65 78L40 60L15 78L25 48L0 30L30 30Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.page-hero-content{position:relative;z-index:2;max-width:1320px;margin:0 auto;padding:80px 40px 60px;width:100%}
.page-hero-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px}
.page-hero-breadcrumb a{color:rgba(255,255,255,0.5);text-decoration:none;font-size:12px;letter-spacing:1px;transition:0.2s}
.page-hero-breadcrumb a:hover{color:var(--gold2)}
.page-hero-breadcrumb span{color:rgba(255,255,255,0.25);font-size:12px}
.page-hero-breadcrumb .current{color:var(--gold2);font-size:12px;font-weight:600;letter-spacing:1px}
.page-hero-title{font-family:'Cinzel',serif;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:700;color:var(--gold2);line-height:1.2;margin-bottom:12px}
.page-hero-subtitle{font-size:clamp(1rem,2vw,1.3rem);color:rgba(255,255,255,0.6);font-weight:400}
.page-hero-subtitle.tamil-font{font-family:'Noto Sans Tamil',sans-serif}
.page-hero-subtitle.latin-font{font-family:'Cormorant Garamond',serif;font-style:italic}
.page-hero-line{width:80px;height:3px;background:linear-gradient(to right,var(--gold),var(--gold2),transparent);border-radius:2px;margin:20px 0 0}

/* INTRO */
.intro-section{background:var(--white)}
.intro-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:72px;align-items:center}
.para-text{font-size:17px;line-height:2;color:var(--text2);margin-bottom:20px}
.para-text.ta{font-family:'Noto Sans Tamil',sans-serif;font-size:17px;line-height:2.2}
.para-text.en{font-family:'Cormorant Garamond',serif;font-size:19px;line-height:1.95}
.para-text.hi,.para-text.te,.para-text.ml{font-family:'Noto Sans Tamil',sans-serif;font-size:17px;line-height:2.1}
.pull-quote{border-left:3px solid var(--gold);padding:20px 24px;background:var(--gold-pale);border-radius:0 10px 10px 0;margin:28px 0}
.pull-quote p{font-style:italic;font-size:1.2rem;color:var(--teal);line-height:1.75}
.pull-quote p.ta{font-family:'Noto Sans Tamil',sans-serif;font-style:normal;font-size:1.05rem;line-height:2}
.pull-quote p.en{font-family:'Cormorant Garamond',serif}
.pull-quote p.hi,.pull-quote p.te,.pull-quote p.ml{font-family:'Noto Sans Tamil',sans-serif;font-style:normal;font-size:0.98rem;line-height:2}
.trust-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.trust-chip{display:inline-flex;align-items:center;gap:6px;background:var(--gold-pale);border:1px solid var(--border);border-radius:20px;padding:6px 16px;font-size:12px;color:var(--teal);font-weight:600;font-family:'Raleway',sans-serif}
.trust-chip i{color:var(--gold)}
.intro-img-wrap{position:relative}
.intro-img-frame{position:absolute;top:24px;left:24px;right:-24px;bottom:-24px;border:2px solid var(--border);border-radius:12px}
.intro-img-main{position:relative;z-index:1;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-dark)}
.intro-img-main img{width:100%;display:block;transition:transform 0.8s ease}
.intro-img-main:hover img{transform:scale(1.04)}
.intro-badge{position:absolute;bottom:-20px;right:-20px;z-index:2;background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--deep);border-radius:10px;padding:18px 22px;text-align:center;box-shadow:var(--shadow-gold)}
.intro-badge-num{font-family:'Cinzel',serif;font-size:1.4rem;font-weight:700;display:block;line-height:1}
.intro-badge-label{font-family:'Raleway',sans-serif;font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-top:4px}

/* QUOTES */
.quotes-section{background:linear-gradient(135deg,var(--teal),var(--deep));padding:88px 40px;position:relative;overflow:hidden}
.quotes-section::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23C9920A' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.quotes-header{text-align:center;position:relative;z-index:1}
.quotes-header .section-eyebrow{justify-content:center}
.quotes-header .section-title{color:var(--gold3);text-align:center}
.quotes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-top:48px;position:relative;z-index:1}
.quote-card{background:rgba(255,255,255,0.05);border:1px solid rgba(201,146,10,0.2);border-radius:14px;padding:32px 28px;transition:all 0.35s ease}
.quote-card:hover{background:rgba(255,255,255,0.09);transform:translateY(-4px);border-color:var(--gold)}
.quote-mark{font-family:'Cinzel',serif;font-size:4rem;color:var(--gold);opacity:0.3;line-height:0.8;margin-bottom:12px;display:block}
.quote-text{font-size:1.1rem;color:var(--gold3);line-height:1.8;margin-bottom:16px}
.quote-text.ta{font-family:'Noto Sans Tamil',sans-serif;font-style:normal;font-size:1rem;line-height:2}
.quote-text.en{font-family:'Cormorant Garamond',serif;font-style:italic}
.quote-text.hi,.quote-text.te,.quote-text.ml{font-family:'Noto Sans Tamil',sans-serif;font-style:normal;font-size:0.9rem;line-height:2}
.quote-source{font-family:'Raleway',sans-serif;font-size:11px;color:rgba(255,255,255,0.35);letter-spacing:2px;text-transform:uppercase}

/* TIMELINE */
.timeline-section{background:var(--cream)}
.timeline{position:relative;padding-left:0;margin-top:48px}
.timeline::before{content:'';position:absolute;left:27px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--gold),var(--gold2),transparent)}
.tl-item{display:flex;gap:36px;margin-bottom:48px;position:relative}
.tl-dot{width:56px;height:56px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--gold),var(--gold2));display:flex;align-items:center;justify-content:center;color:var(--deep);font-size:1.2rem;box-shadow:0 0 0 6px rgba(201,146,10,0.15);z-index:1}
.tl-content{flex:1;padding-top:12px}
.tl-year{font-family:'Cinzel',serif;font-size:1.6rem;font-weight:700;color:var(--teal);line-height:1;margin-bottom:6px}
.tl-title{font-family:'Cinzel',serif;font-size:0.95rem;font-weight:600;color:var(--gold);margin-bottom:8px}
.tl-title.ta{font-family:'Noto Sans Tamil',sans-serif;font-size:0.9rem}
.tl-desc{font-size:15px;color:var(--text2);line-height:1.9}
.tl-desc.ta{font-family:'Noto Sans Tamil',sans-serif}
.tl-desc.en,.tl-desc.hi,.tl-desc.te,.tl-desc.ml{font-family:'Raleway',sans-serif}

/* DEITY */
.deity-section{background:var(--white)}
.main-deity-card{background:linear-gradient(135deg,var(--teal),var(--deep));border-radius:20px;padding:48px 52px;margin-bottom:48px;display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;position:relative;overflow:hidden}
.main-deity-card::after{content:'';position:absolute;right:-40px;top:-40px;width:280px;height:280px;border-radius:50%;background:rgba(201,146,10,0.06)}
.main-deity-icon{width:100px;height:100px;border-radius:50%;background:rgba(201,146,10,0.15);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:2.8rem;color:var(--gold2);flex-shrink:0}
.main-deity-label{font-family:'Raleway',sans-serif;font-size:11px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;font-weight:700}
.main-deity-name{font-family:'Cinzel',serif;font-size:1.8rem;font-weight:700;color:var(--gold2);margin-bottom:6px;line-height:1.2}
.main-deity-sub{font-size:1.1rem;color:var(--gold3);font-weight:600;margin-bottom:16px}
.main-deity-sub.ta{font-family:'Noto Sans Tamil',sans-serif}
.main-deity-sub.en{font-family:'Cormorant Garamond',serif;font-style:italic}
.main-deity-sub.hi,.main-deity-sub.te,.main-deity-sub.ml{font-family:'Noto Sans Tamil',sans-serif}
.main-deity-desc{font-size:15.5px;color:rgba(255,255,255,0.65);line-height:2}
.main-deity-desc.ta{font-family:'Noto Sans Tamil',sans-serif}
.main-deity-desc.en{font-family:'Cormorant Garamond',serif;font-size:16px;line-height:1.85}
.main-deity-desc.hi,.main-deity-desc.te,.main-deity-desc.ml{font-family:'Noto Sans Tamil',sans-serif}
.sannidhi-intro{font-size:15px;color:var(--text2);line-height:2;margin-bottom:32px}
.sannidhi-intro.ta{font-family:'Noto Sans Tamil',sans-serif}
.sannidhi-intro.en{font-family:'Cormorant Garamond',serif;font-size:17px}
.sannidhi-intro.hi,.sannidhi-intro.te,.sannidhi-intro.ml{font-family:'Noto Sans Tamil',sans-serif}
.deity-chips{display:flex;flex-wrap:wrap;gap:12px}
.deity-chip{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(26,77,58,0.07),rgba(201,146,10,0.07));border:1px solid var(--border);border-radius:30px;padding:8px 20px;font-size:13px;color:var(--teal);font-weight:600;transition:0.25s;cursor:default}
.deity-chip.ta{font-family:'Noto Sans Tamil',sans-serif;font-size:12px}
.deity-chip.en{font-family:'Raleway',sans-serif}
.deity-chip.hi,.deity-chip.te,.deity-chip.ml{font-family:'Noto Sans Tamil',sans-serif;font-size:12px}
.deity-chip:hover{background:var(--gold-pale);border-color:var(--gold)}
.deity-chip i{color:var(--gold);font-size:0.85rem}

/* PUJA */
.puja-section{background:var(--cream)}
.puja-note{font-size:14px;color:var(--text3);line-height:1.9;max-width:640px;margin:0 auto}
.puja-note.ta{font-family:'Noto Sans Tamil',sans-serif}
.puja-note.en{font-family:'Cormorant Garamond',serif;font-size:16px}
.puja-note.hi,.puja-note.te,.puja-note.ml{font-family:'Noto Sans Tamil',sans-serif}
.puja-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:40px}
.puja-card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:28px 24px;transition:all 0.35s ease;position:relative;overflow:hidden}
.puja-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold),var(--gold2));transform:scaleX(0);transform-origin:left;transition:0.35s}
.puja-card:hover{box-shadow:var(--shadow-gold);transform:translateY(-4px);border-color:var(--gold)}
.puja-card:hover::before{transform:scaleX(1)}
.puja-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--teal),var(--teal2));border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--gold2);margin-bottom:16px}
.puja-title{font-family:'Cinzel',serif;font-size:0.95rem;font-weight:700;color:var(--teal);margin-bottom:4px}
.puja-subtitle{font-size:0.85rem;font-weight:600;color:var(--gold);margin-bottom:10px}
.puja-subtitle.ta{font-family:'Noto Sans Tamil',sans-serif}
.puja-subtitle.en{font-family:'Raleway',sans-serif}
.puja-subtitle.hi,.puja-subtitle.te,.puja-subtitle.ml{font-family:'Noto Sans Tamil',sans-serif}
.puja-desc{font-size:14.5px;color:var(--text2);line-height:1.85}
.puja-desc.ta{font-family:'Noto Sans Tamil',sans-serif;font-size:14.5px}
.puja-desc.en{font-family:'Raleway',sans-serif}
.puja-desc.hi,.puja-desc.te,.puja-desc.ml{font-family:'Noto Sans Tamil',sans-serif;font-size:12.5px}
.puja-free{display:inline-flex;align-items:center;gap:5px;margin-top:14px;background:rgba(42,138,106,0.1);border:1px solid rgba(42,138,106,0.25);border-radius:20px;padding:4px 14px;font-size:11px;color:var(--teal2);font-weight:700;font-family:'Raleway',sans-serif}

/* UNIQUE */
.unique-section{background:var(--deep);padding:88px 40px}
.unique-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;margin-top:48px}
.unique-card{background:rgba(255,255,255,0.04);border:1px solid rgba(201,146,10,0.2);border-radius:12px;padding:30px 26px;transition:all 0.4s}
.unique-card:hover{background:rgba(255,255,255,0.07);transform:translateY(-5px);border-color:var(--gold2)}
.unique-num{font-family:'Cinzel',serif;font-size:2.5rem;font-weight:900;color:rgba(201,146,10,0.2);line-height:1;margin-bottom:10px}
.unique-title{font-size:0.95rem;font-weight:600;color:var(--gold3);margin-bottom:8px}
.unique-title.ta{font-family:'Noto Sans Tamil',sans-serif;font-size:0.9rem}
.unique-title.en{font-family:'Cinzel',serif}
.unique-title.hi,.unique-title.te,.unique-title.ml{font-family:'Noto Sans Tamil',sans-serif;font-size:0.88rem}
.unique-desc{font-size:14px;color:rgba(255,255,255,0.5);line-height:1.85}
.unique-desc.ta{font-family:'Noto Sans Tamil',sans-serif;font-size:13.5px}
.unique-desc.en{font-family:'Raleway',sans-serif}
.unique-desc.hi,.unique-desc.te,.unique-desc.ml{font-family:'Noto Sans Tamil',sans-serif;font-size:12.5px}

/* CTA BAND */
.cta-band{background:linear-gradient(135deg,var(--gold),var(--gold2));padding:64px 40px;text-align:center}
.cta-band h2{font-family:'Cinzel',serif;font-size:clamp(1.4rem,3vw,2.2rem);color:var(--deep);font-weight:900;margin-bottom:12px}
.cta-band p{font-size:16px;color:rgba(13,31,26,0.7);max-width:640px;margin:0 auto 28px;line-height:1.9}
.cta-band p.ta{font-family:'Noto Sans Tamil',sans-serif}
.cta-band p.en{font-family:'Cormorant Garamond',serif;font-size:18px}
.cta-band p.hi,.cta-band p.te,.cta-band p.ml{font-family:'Noto Sans Tamil',sans-serif}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn-dark{display:inline-flex;align-items:center;gap:8px;background:var(--deep);color:var(--gold3);padding:14px 32px;border-radius:6px;text-decoration:none;font-family:'Raleway',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.8px;text-transform:uppercase;box-shadow:0 6px 24px rgba(0,0,0,0.25);transition:all 0.3s}
.btn-dark:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(0,0,0,0.35)}
.btn-outline-dark{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--deep);padding:14px 32px;border-radius:6px;text-decoration:none;font-family:'Raleway',sans-serif;font-weight:600;font-size:13px;letter-spacing:0.8px;text-transform:uppercase;border:2px solid var(--deep);transition:all 0.3s}
.btn-outline-dark:hover{background:rgba(13,31,26,0.08)}

/* RESPONSIVE */
@media(max-width:900px){
  .intro-grid{grid-template-columns:1fr}
  .main-deity-card{grid-template-columns:1fr}
}

@media(max-width:600px){
  .quotes-grid,
  .puja-grid,
  .unique-grid{
    grid-template-columns:1fr
  }
}


/* ----- DEITIES PAGE ----- */
/* ══════════════════════════════════════════════════════
   DEITIES PAGE — PREMIUM STYLES
══════════════════════════════════════════════════════ */

/* ── HERO ── */
.deities-hero {
  position: relative;
  min-height: 480px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: linear-gradient(135deg, var(--deep) 0%, #0a1810 40%, var(--teal) 100%);
}

.deities-hero-bg {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(ellipse at 15% 60%, rgba(201,146,10,0.15) 0%, transparent 55%),
    radial-gradient(ellipse at 85% 25%, rgba(232,184,75,0.09) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 90%, rgba(42,107,82,0.2) 0%, transparent 50%),
    url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23C9920A' fill-opacity='0.035'%3E%3Cpath d='M50 5L61 36H94L68 56L79 87L50 67L21 87L32 56L6 36H39Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: auto, auto, auto, 100px 100px;
}

/* Large decorative Om in background */
.deities-hero-om {
  position: absolute;
  right: 8%;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Cinzel', serif;
  font-size: 22rem;
  color: rgba(201,146,10,0.06);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

.deities-hero-content {
  position: relative; z-index: 2;
  max-width: 1320px; margin: 0 auto;
  padding: 120px 40px 70px;
  width: 100%;
}

.deities-hero-breadcrumb {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 22px;
}
.deities-hero-breadcrumb a {
  color: rgba(255,255,255,0.45); text-decoration: none;
  font-size: 12px; letter-spacing: 1px; transition: 0.2s;
  font-family: 'Raleway', sans-serif;
}
.deities-hero-breadcrumb a:hover { color: var(--gold2); }
.deities-hero-breadcrumb .sep { color: rgba(255,255,255,0.2); font-size: 12px; }
.deities-hero-breadcrumb .current { color: var(--gold2); font-size: 12px; font-weight: 600; letter-spacing: 1px; font-family: 'Raleway', sans-serif; }

.deities-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(201,146,10,0.12); border: 1px solid rgba(201,146,10,0.3);
  border-radius: 30px; padding: 6px 18px; margin-bottom: 20px;
  font-size: 11px; color: var(--gold3); letter-spacing: 2px;
  text-transform: uppercase; font-family: 'Raleway', sans-serif; font-weight: 700;
}

.deities-hero-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 700; color: var(--gold2);
  line-height: 1.15; margin-bottom: 14px;
}
.deities-hero-subtitle {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: clamp(1rem, 2vw, 1.4rem);
  color: rgba(255,255,255,0.55);
  max-width: 620px; line-height: 1.7;
}
.deities-hero-line {
  width: 90px; height: 3px;
  background: linear-gradient(to right, var(--gold), var(--gold2), transparent);
  border-radius: 2px; margin-top: 28px;
}

/* ── DASHA MAHA VIDYA INTRO BAND ── */
.dasha-band {
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  padding: 52px 40px;
  text-align: center;
  position: relative; overflow: hidden;
}
.dasha-band::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%230D1F1A' fill-opacity='0.06'%3E%3Cpath d='M30 0L37 21L60 21L41 34L48 55L30 42L12 55L19 34L0 21L23 21Z'/%3E%3C/g%3E%3C/svg%3E") center/60px;
}
.dasha-band-inner { position: relative; z-index: 1; max-width: 900px; margin: 0 auto; }
.dasha-band-icon { font-size: 2.2rem; color: var(--deep); margin-bottom: 14px; display: block; }
.dasha-band h2 {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.4rem, 2.8vw, 2.1rem);
  font-weight: 900; color: var(--deep); margin-bottom: 12px;
}
.dasha-band p {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 15px; color: rgba(13,31,26,0.72);
  line-height: 2; max-width: 720px; margin: 0 auto;
}
.dasha-count-row {
  display: flex; justify-content: center; gap: 0;
  margin-top: 32px; flex-wrap: wrap;
}
.dasha-count {
  display: flex; flex-direction: column; align-items: center;
  padding: 0 32px;
  border-right: 1px solid rgba(13,31,26,0.2);
}
.dasha-count:last-child { border-right: none; }
.dasha-count-num {
  font-family: 'Cinzel', serif; font-size: 2rem;
  font-weight: 900; color: var(--deep); line-height: 1;
}
.dasha-count-label {
  font-size: 11px; color: rgba(13,31,26,0.6);
  letter-spacing: 1.5px; text-transform: uppercase;
  margin-top: 5px; font-family: 'Raleway', sans-serif;
}

/* ── MAIN DEITY — FULL WIDTH SPOTLIGHT ── */
.main-deity-section {
  background: var(--white);
  padding: 90px 40px;
}
.main-deity-spotlight {
  max-width: 1320px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1.4fr;
  gap: 72px; align-items: center;
}
.main-deity-img-wrap {
  position: relative;
}
.main-deity-img-halo {
  position: absolute;
  inset: -24px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(201,146,10,0.18), rgba(42,107,82,0.18));
  animation: haloPulse 4s ease-in-out infinite;
  z-index: 0;
}
@keyframes haloPulse {
  0%,100% { opacity: 0.5; transform: scale(0.98); }
  50% { opacity: 1; transform: scale(1); }
}
.main-deity-img-ring {
  position: absolute; inset: -12px;
  border-radius: 16px;
  border: 1px solid rgba(201,146,10,0.35);
  z-index: 1;
}
.main-deity-img-frame {
  position: relative; z-index: 2;
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 24px 80px rgba(13,31,26,0.3), 0 0 0 1px rgba(201,146,10,0.2);
}
.main-deity-img-frame img {
  width: 100%; display: block;
  height: 580px; object-fit: cover; object-position: center top;
  transition: transform 0.9s ease;
}
.main-deity-img-frame:hover img { transform: scale(1.04); }

.main-deity-lamp {
  position: absolute; bottom: -18px; left: 50%; transform: translateX(-50%);
  z-index: 3;
  display: flex; gap: 10px;
}
.lamp-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--gold2);
  box-shadow: 0 0 12px var(--gold2), 0 0 4px var(--gold);
  animation: lampFlicker 2s ease-in-out infinite;
}
.lamp-dot:nth-child(2) { animation-delay: 0.4s; }
.lamp-dot:nth-child(3) { animation-delay: 0.8s; }
@keyframes lampFlicker { 0%,100%{opacity:0.7;transform:scale(0.9)} 50%{opacity:1;transform:scale(1.1)} }

.main-deity-content { position: relative; }
.main-deity-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  margin-bottom: 18px;
}
.main-deity-eyebrow::before, .main-deity-eyebrow::after {
  content: ''; width: 30px; height: 1px; background: var(--gold);
}
.main-deity-eyebrow span {
  font-size: 11px; font-weight: 700; color: var(--gold);
  letter-spacing: 3px; text-transform: uppercase; font-family: 'Raleway', sans-serif;
}
.main-deity-name-en {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.6rem, 3vw, 2.8rem);
  font-weight: 700; color: var(--teal); line-height: 1.2;
  margin-bottom: 6px;
}
.main-deity-name-ta {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: clamp(1.1rem, 2vw, 1.6rem);
  color: var(--gold); font-weight: 600; margin-bottom: 24px;
}
.main-deity-rule {
  width: 70px; height: 3px;
  background: linear-gradient(to right, var(--gold), var(--gold2), transparent);
  border-radius: 2px; margin-bottom: 28px;
}
.main-deity-attrib {
  display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px;
}
.attrib-pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: linear-gradient(135deg, rgba(26,77,58,0.08), rgba(201,146,10,0.08));
  border: 1px solid var(--border); border-radius: 24px;
  padding: 7px 18px; font-size: 12px; color: var(--teal); font-weight: 600;
  font-family: 'Raleway', sans-serif;
}
.attrib-pill i { color: var(--gold); font-size: 0.85rem; }
.main-deity-body {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 16px; line-height: 2.1;
  color: var(--text2); margin-bottom: 28px;
  border-left: 2px solid var(--gold);
  padding-left: 20px;
}
.main-deity-highlights {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
}
.highlight-card {
  background: linear-gradient(135deg, var(--teal), var(--deep));
  border-radius: 10px; padding: 18px 20px;
  display: flex; gap: 12px; align-items: flex-start;
}
.highlight-card-icon {
  width: 36px; height: 36px; border-radius: 8px;
  background: rgba(201,146,10,0.18);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: var(--gold2); flex-shrink: 0;
}
.highlight-card-text { font-size: 12px; color: rgba(255,255,255,0.75); line-height: 1.7; }
.highlight-card-text strong { display: block; color: var(--gold3); font-size: 11px; letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 3px; }

/* ── SECONDARY DEITIES GRID ── */
.deities-grid-section {
  background: var(--cream);
  padding: 90px 40px;
}
.section-wrap { max-width: 1320px; margin: auto; }

/* Tab Filter */
.deity-filter-bar {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-bottom: 48px; justify-content: center;
}
.filter-btn {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text2); border-radius: 30px;
  padding: 9px 24px; font-size: 12px;
  font-family: 'Raleway', sans-serif; font-weight: 600;
  letter-spacing: 0.5px; cursor: pointer;
  transition: all 0.25s;
}
.filter-btn:hover, .filter-btn.active {
  background: var(--gold); border-color: var(--gold);
  color: var(--deep);
}

/* Premium Deity Cards */
.deities-main-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 28px;
}

.deity-premium-card {
  background: var(--white);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(201,146,10,0.12);
  box-shadow: 0 4px 24px rgba(13,31,26,0.07);
  transition: all 0.45s cubic-bezier(.25,.8,.25,1);
  position: relative;
}
.deity-premium-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--gold), var(--gold2), var(--teal));
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.45s ease;
  z-index: 2;
}
.deity-premium-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 24px 60px rgba(13,31,26,0.2), 0 0 0 1px var(--gold2);
  border-color: transparent;
}
.deity-premium-card:hover::before { transform: scaleX(1); }

.deity-card-image {
  position: relative;
  height: 260px; overflow: hidden;
  background: linear-gradient(135deg, var(--teal), var(--deep));
}
.deity-card-image img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  transition: transform 0.7s cubic-bezier(.25,.8,.25,1);
}
.deity-premium-card:hover .deity-card-image img {
  transform: scale(1.08);
}

/* Gradient overlay on image */
.deity-card-image-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 40%,
    rgba(13,31,26,0.85) 100%
  );
}

/* Floating name badge on image */
.deity-card-image-label {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 16px 20px;
}
.deity-card-image-name {
  font-family: 'Cinzel', serif; font-size: 0.95rem;
  font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 3px;
}
.deity-card-image-name-ta {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 12px; color: var(--gold2); font-weight: 600;
}

/* Category badge top-right */
.deity-category-badge {
  position: absolute; top: 14px; right: 14px; z-index: 2;
  background: rgba(13,31,26,0.75);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(201,146,10,0.4);
  border-radius: 20px; padding: 5px 12px;
  font-size: 10px; color: var(--gold3);
  font-family: 'Raleway', sans-serif; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase;
}

/* Placeholder icon if no image */
.deity-placeholder-icon {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 4rem; color: var(--gold2);
  background: linear-gradient(135deg, var(--teal), var(--deep));
  position: relative;
}
.deity-placeholder-icon::after {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23C9920A' fill-opacity='0.07'%3E%3Cpath d='M25 0L31 18H50L35 28L41 46L25 36L9 46L15 28L0 18H19Z'/%3E%3C/g%3E%3C/svg%3E") center/50px;
}

.deity-card-body {
  padding: 22px 24px 26px;
}

.deity-card-desc {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 15px; color: var(--text2);
  line-height: 1.9; margin-bottom: 18px;
}

.deity-card-powers {
  display: flex; flex-wrap: wrap; gap: 7px;
}
.power-tag {
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(42,107,82,0.08);
  border: 1px solid rgba(42,107,82,0.2);
  border-radius: 20px; padding: 4px 12px;
  font-size: 10.5px; color: var(--teal2); font-weight: 600;
  font-family: 'Raleway', sans-serif; letter-spacing: 0.3px;
  white-space: nowrap;
}
.power-tag i { font-size: 9px; color: var(--gold); }

/* ── DASHA MAHA VIDYA SECTION (DARK) ── */
.dasha-section {
  background: var(--deep);
  padding: 100px 40px;
  position: relative; overflow: hidden;
}
.dasha-section-bg {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(ellipse at 20% 30%, rgba(201,146,10,0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 70%, rgba(42,107,82,0.1) 0%, transparent 50%);
}
.dasha-section .section-title { color: var(--gold3); text-align: center; }
.dasha-section .section-eyebrow { justify-content: center; }

.dasha-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
  margin-top: 52px;
}
.dasha-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(201,146,10,0.18);
  border-radius: 14px; padding: 28px 24px;
  position: relative; overflow: hidden;
  transition: all 0.4s ease;
}
.dasha-card::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(to right, var(--gold), var(--gold2), transparent);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.4s ease;
}
.dasha-card:hover {
  background: rgba(255,255,255,0.08);
  transform: translateY(-6px);
  border-color: rgba(201,146,10,0.4);
}
.dasha-card:hover::after { transform: scaleX(1); }
.dasha-card-num {
  font-family: 'Cinzel', serif; font-size: 2.8rem;
  font-weight: 900; color: rgba(201,146,10,0.15);
  line-height: 1; margin-bottom: 12px;
}
.dasha-card-en {
  font-family: 'Cinzel', serif; font-size: 1rem;
  font-weight: 700; color: var(--gold2); margin-bottom: 4px;
}
.dasha-card-ta {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 12.5px; color: var(--gold3); font-weight: 600; margin-bottom: 12px;
}
.dasha-card-desc {
  font-family: 'Raleway', sans-serif;
  font-size: 12px; color: rgba(255,255,255,0.45); line-height: 1.85;
}
.dasha-card-power {
  display: inline-flex; align-items: center; gap: 5px;
  margin-top: 14px;
  background: rgba(201,146,10,0.1); border: 1px solid rgba(201,146,10,0.25);
  border-radius: 20px; padding: 4px 14px;
  font-size: 11px; color: var(--gold3); font-weight: 600;
  font-family: 'Raleway', sans-serif;
}

/* ── STHAL INFO BAND ── */
.sthal-section {
  background: var(--white);
  padding: 90px 40px;
}
.sthal-hero-grid {
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 72px; align-items: center;
}
.sthal-info-list { margin-top: 28px; display: flex; flex-direction: column; gap: 18px; }
.sthal-info-item {
  display: flex; gap: 16px; align-items: flex-start;
  padding: 18px 20px;
  background: linear-gradient(135deg, rgba(26,77,58,0.05), rgba(201,146,10,0.04));
  border: 1px solid var(--border); border-radius: 10px;
  transition: all 0.3s;
}
.sthal-info-item:hover { border-color: var(--gold); background: var(--gold-pale); }
.sthal-info-icon {
  width: 44px; height: 44px; border-radius: 10px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--teal), var(--teal2));
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; color: var(--gold2);
}
.sthal-info-text strong {
  display: block; font-size: 12px; color: var(--gold);
  letter-spacing: 1px; text-transform: uppercase; margin-bottom: 4px;
  font-family: 'Raleway', sans-serif;
}
.sthal-info-text p {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 13.5px; color: var(--teal); font-weight: 600; line-height: 1.65;
}

.sthal-img-stack { position: relative; }
.sthal-img-frame {
  position: absolute; top: 24px; left: 24px; right: -24px; bottom: -24px;
  border: 2px solid var(--border); border-radius: 12px;
}
.sthal-img-main {
  position: relative; z-index: 1;
  border-radius: 12px; overflow: hidden;
  box-shadow: var(--shadow-dark);
}
.sthal-img-main img { width: 100%; display: block; height: 480px; object-fit: cover; }

/* ── SPECIAL PUJA CTA ── */
.deities-cta {
  background: linear-gradient(135deg, var(--teal), var(--deep));
  padding: 80px 40px;
  text-align: center; position: relative; overflow: hidden;
}
.deities-cta::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23C9920A' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}
.deities-cta-inner {
  position: relative; z-index: 1;
  max-width: 760px; margin: 0 auto;
}
.deities-cta-icon { font-size: 2.4rem; color: var(--gold2); margin-bottom: 18px; display: block; }
.deities-cta h2 {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.5rem, 3vw, 2.3rem);
  color: var(--gold2); font-weight: 700; margin-bottom: 10px;
}
.deities-cta-ta {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  color: var(--gold3); margin-bottom: 18px; font-weight: 500;
}
.deities-cta p {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 14px; color: rgba(255,255,255,0.55); line-height: 1.9; margin-bottom: 32px;
}
.cta-btn-row { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ── LANG ADJUSTMENTS for DEITIES ── */
.deity-name-block { margin-bottom: 20px; }
.deity-names-ta { font-family: 'Noto Sans Tamil', sans-serif; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .main-deity-spotlight { gap: 48px; }
  .sthal-hero-grid { gap: 48px; }
}
@media (max-width: 900px) {
  .main-deity-spotlight,
  .sthal-hero-grid { grid-template-columns: 1fr; }
  .main-deity-img-frame img { height: 380px; }
  .deities-main-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
  .main-deity-highlights { grid-template-columns: 1fr; }
  .dasha-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
  .sthal-img-frame { display: none; }
  .deities-hero-om { font-size: 14rem; opacity: 0.5; }
}
@media (max-width: 600px) {
  .deities-hero-content { padding: 100px 20px 50px; }
  .deities-main-grid { grid-template-columns: 1fr; }
  .dasha-grid { grid-template-columns: 1fr 1fr; }
  .dasha-count { padding: 0 16px; }
  .dasha-count-num { font-size: 1.5rem; }
  .deities-hero-om { display: none; }
  .deity-card-image { height: 220px; }
  .sthal-img-main img { height: 320px; }
  .deities-cta { padding: 56px 20px; }
  .dasha-band { padding: 40px 20px; }
  .dasha-count-row { gap: 0; }
}

/* ── DASHA MAHA VIDYA — MOBILE ── */
@media (max-width: 768px) {
  .dasha-section {
    padding: 60px 20px;
  }

  .dasha-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 36px;
  }

  .dasha-card {
    padding: 20px 18px;
    border-radius: 12px;
  }

  .dasha-card-num {
    font-size: 2rem;
    margin-bottom: 8px;
  }

  .dasha-card-en {
    font-size: 0.9rem;
  }

  .dasha-card-ta {
    font-size: 12px;
    margin-bottom: 8px;
  }

  .dasha-card-desc {
    font-size: 13.5px;
    line-height: 1.75;
  }

  .dasha-card-power {
    font-size: 10.5px;
    padding: 3px 12px;
    margin-top: 12px;
  }
}

@media (max-width: 480px) {
  .dasha-section {
    padding: 50px 16px;
  }

  .dasha-card {
    padding: 18px 16px;
  }

  .dasha-card-num {
    font-size: 1.8rem;
  }

  .dasha-card:hover {
    transform: none;
  }
}

/* ── FLICKER DIYA ANIMATION ── */
.diya-glow {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  width: 32px; height: 32px; border-radius: 50%;
  background: radial-gradient(circle, rgba(232,184,75,0.9) 0%, rgba(201,146,10,0.4) 50%, transparent 70%);
  animation: diyaGlow 2.5s ease-in-out infinite;
}
@keyframes diyaGlow {
  0%,100% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.15); }
}


/* ═══════════════════════════════════════════════
   GALLERY PAGE — PREMIUM STYLES
═══════════════════════════════════════════════ */

/* ── HERO ── */
.gallery-hero {
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: linear-gradient(135deg, var(--deep) 0%, #0a1a12 45%, var(--teal) 100%);
}
.gallery-hero-bg {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(ellipse at 10% 50%, rgba(201,146,10,0.18) 0%, transparent 50%),
    radial-gradient(ellipse at 90% 20%, rgba(232,184,75,0.10) 0%, transparent 45%),
    radial-gradient(ellipse at 55% 85%, rgba(42,107,82,0.22) 0%, transparent 55%),
    url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23C9920A' fill-opacity='0.03'%3E%3Cpath d='M60 6L75 45H116L83 69L96 108L60 84L24 108L37 69L4 45H45Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: auto, auto, auto, 120px 120px;
}
.gallery-hero-om {
  position: absolute;
  right: 6%;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Cinzel', serif;
  font-size: 26rem;
  color: rgba(201,146,10,0.05);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.gallery-hero-content {
  position: relative; z-index: 2;
  max-width: 1320px; margin: 0 auto;
  padding: 130px 40px 72px;
  width: 100%;
}
.gallery-hero-breadcrumb {
  display: flex; align-items: center; gap: 8px; margin-bottom: 22px;
}
.gallery-hero-breadcrumb a {
  color: rgba(255,255,255,0.45); text-decoration: none;
  font-size: 12px; letter-spacing: 1px;
  font-family: 'Raleway', sans-serif; transition: 0.2s;
}
.gallery-hero-breadcrumb a:hover { color: var(--gold2); }
.gallery-hero-breadcrumb .sep { color: rgba(255,255,255,0.2); font-size: 12px; }
.gallery-hero-breadcrumb .current {
  color: var(--gold2); font-size: 12px; font-weight: 600;
  letter-spacing: 1px; font-family: 'Raleway', sans-serif;
}
.gallery-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(201,146,10,0.12); border: 1px solid rgba(201,146,10,0.3);
  border-radius: 30px; padding: 6px 18px; margin-bottom: 20px;
  font-size: 11px; color: var(--gold3); letter-spacing: 2px;
  text-transform: uppercase; font-family: 'Raleway', sans-serif; font-weight: 700;
}
.gallery-hero-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 700; color: var(--gold2);
  line-height: 1.15; margin-bottom: 14px;
}
.gallery-hero-subtitle {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: clamp(1rem, 2vw, 1.4rem);
  color: rgba(255,255,255,0.55);
  max-width: 600px; line-height: 1.7;
}
.gallery-hero-line {
  width: 90px; height: 3px;
  background: linear-gradient(to right, var(--gold), var(--gold2), transparent);
  border-radius: 2px; margin-top: 28px;
}

/* ── STATS BAND ── */
.gallery-stats-band {
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  padding: 0;
  overflow: hidden;
  position: relative;
}
.gallery-stats-band::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%230D1F1A' fill-opacity='0.05'%3E%3Cpath d='M30 0L37 21H60L42 34L49 55L30 42L11 55L18 34L0 21H23Z'/%3E%3C/g%3E%3C/svg%3E") center/60px;
}
.gallery-stats-inner {
  max-width: 1320px; margin: 0 auto;
  padding: 0 40px;
  display: flex; align-items: stretch;
  position: relative; z-index: 1;
}
.gallery-stat-item {
  flex: 1; padding: 32px 28px;
  text-align: center;
  border-right: 1px solid rgba(13,31,26,0.15);
  transition: background 0.3s;
}
.gallery-stat-item:last-child { border-right: none; }
.gallery-stat-item:hover { background: rgba(13,31,26,0.06); }
.gallery-stat-num {
  font-family: 'Cinzel', serif; font-size: 2.2rem;
  font-weight: 900; color: var(--deep); line-height: 1;
  display: block;
}
.gallery-stat-label {
  font-family: 'Raleway', sans-serif; font-size: 11px;
  color: rgba(13,31,26,0.65); letter-spacing: 1.5px;
  text-transform: uppercase; margin-top: 6px;
}

/* ── FILTER BAR ── */
.gallery-filter-section {
  background: var(--cream);
  padding: 52px 40px 0;
  position: sticky; top: 70px; z-index: 99;
}
.gallery-filter-inner {
  max-width: 1320px; margin: 0 auto;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(201,146,10,0.15);
}
.gallery-filter-top {
  display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap; gap: 16px;
  margin-bottom: 20px;
}
.gallery-filter-heading {
  font-family: 'Cinzel', serif; font-size: 1.1rem;
  font-weight: 700; color: var(--teal);
}
.gallery-view-toggle {
  display: flex; gap: 6px;
}
.view-btn {
  width: 36px; height: 36px;
  border-radius: 6px; border: 1px solid var(--border);
  background: transparent; color: var(--text3);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.95rem; cursor: pointer; transition: all 0.25s;
}
.view-btn:hover, .view-btn.active {
  background: var(--gold); border-color: var(--gold);
  color: var(--deep);
}
.filter-tabs {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.filter-tab {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text2); border-radius: 30px;
  padding: 8px 20px; font-size: 12px;
  font-family: 'Raleway', sans-serif; font-weight: 600;
  letter-spacing: 0.5px; cursor: pointer;
  transition: all 0.25s; display: flex; align-items: center; gap: 6px;
}
.filter-tab:hover, .filter-tab.active {
  background: var(--teal); border-color: var(--teal);
  color: #fff;
}
.filter-tab-count {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: 50%;
  background: rgba(255,255,255,0.2);
  font-size: 10px; font-weight: 700;
}
.filter-tab.active .filter-tab-count {
  background: rgba(255,255,255,0.25);
}

/* ── MAIN GALLERY SECTION ── */
.gallery-main-section {
  background: var(--cream);
  padding: 40px 40px 90px;
}
.gallery-main-inner { max-width: 1320px; margin: 0 auto; }

/* MASONRY GRID (default) */
.gallery-grid-masonry {
  columns: 3; column-gap: 20px;
}

.gal-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);  /* 3 columns */
  grid-auto-flow: row;                     /* fill row by row → 1,2,3 then 4,5,6 */
  gap: 16px;
}

.gallery-grid-masonry .gallery-card {
  break-inside: avoid;
  margin-bottom: 20px;
}

/* GRID 2 */
.gallery-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

/* GRID 4 */
.gallery-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* ── PREMIUM GALLERY CARD ── */
.gallery-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  background: var(--deep);
  box-shadow: 0 6px 28px rgba(13,31,26,0.12);
  border: 1px solid rgba(201,146,10,0.08);
  transition: all 0.45s cubic-bezier(.25,.8,.25,1);
  group: true;
}
.gallery-card:hover {
  transform: translateY(-8px) scale(1.01);
  box-shadow: 0 24px 60px rgba(13,31,26,0.28), 0 0 0 1px var(--gold2);
  border-color: transparent;
}

.gallery-card-img {
  width: 100%; display: block;
  transition: transform 0.7s cubic-bezier(.25,.8,.25,1);
  object-fit: cover;
}
.gallery-card:hover .gallery-card-img {
  transform: scale(1.08);
}

/* Overlay on hover */
.gallery-card-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 30%,
    rgba(13,31,26,0.92) 100%
  );
  opacity: 0;
  transition: opacity 0.45s ease;
  display: flex; flex-direction: column;
  justify-content: flex-end; padding: 24px;
}
.gallery-card:hover .gallery-card-overlay { opacity: 1; }

/* Always-visible bottom gradient for label */
.gallery-card-label-wrap {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 14px 18px 16px;
  background: linear-gradient(to top, rgba(13,31,26,0.82), transparent);
}
.gallery-card-category {
  font-family: 'Raleway', sans-serif; font-size: 10px;
  font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--gold2); margin-bottom: 3px;
}
.gallery-card-title {
  font-family: 'Noto Sans Tamil', sans-serif; font-size: 13px;
  font-weight: 600; color: #fff; line-height: 1.4;
}

/* Overlay details (only visible on hover) */
.gallery-card-overlay-content {
  transform: translateY(10px);
  transition: transform 0.4s ease;
}
.gallery-card:hover .gallery-card-overlay-content {
  transform: translateY(0);
}
.gallery-card-desc-overlay {
  font-family: 'Noto Sans Tamil', sans-serif; font-size: 12px;
  color: rgba(255,255,255,0.7); line-height: 1.7; margin-top: 6px;
  margin-bottom: 14px;
}
.gallery-card-actions {
  display: flex; gap: 8px; align-items: center;
}
.gallery-action-btn {
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid rgba(201,146,10,0.5);
  background: rgba(201,146,10,0.12);
  color: var(--gold2); font-size: 0.9rem;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all 0.25s;
}
.gallery-action-btn:hover {
  background: var(--gold); border-color: var(--gold);
  color: var(--deep); transform: scale(1.1);
}
.gallery-card-zoom-icon {
  position: absolute; top: 14px; right: 14px; z-index: 3;
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(13,31,26,0.7); backdrop-filter: blur(8px);
  border: 1px solid rgba(201,146,10,0.35);
  color: var(--gold3); font-size: 0.85rem;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transform: scale(0.8);
  transition: all 0.3s ease;
}
.gallery-card:hover .gallery-card-zoom-icon {
  opacity: 1; transform: scale(1);
}

/* ── FEATURED (WIDE) CARD ── */
.gallery-card.featured .gallery-card-img {
  height: 380px;
  object-position: center top;
}
.gallery-card.featured .gallery-card-overlay {
  background: linear-gradient(to bottom, transparent 25%, rgba(13,31,26,0.95) 100%);
}
.gallery-card.tall .gallery-card-img {
  height: 480px;
  object-position: center top;
}
.gallery-card.medium .gallery-card-img {
  height: 280px;
  object-position: center top;
}
.gallery-card.small .gallery-card-img {
  height: 220px;
  object-position: center top;
}

/* ── DIYA GLOW ── */
.diya-badge {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  background: rgba(13,31,26,0.75); backdrop-filter: blur(8px);
  border: 1px solid rgba(201,146,10,0.45);
  border-radius: 20px; padding: 5px 12px;
  font-size: 10px; color: var(--gold3);
  font-family: 'Raleway', sans-serif; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase;
}

/* ── DIVIDER ── */
.gallery-divider {
  background: linear-gradient(135deg, var(--teal), var(--deep));
  padding: 52px 40px;
  text-align: center;
  position: relative; overflow: hidden;
}
.gallery-divider::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23C9920A' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E");
}
.gallery-divider-inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
.gallery-divider blockquote {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.2rem, 2.5vw, 1.8rem);
  font-style: italic; color: var(--gold3); line-height: 1.75; margin-bottom: 10px;
}
.gallery-divider cite {
  font-family: 'Raleway', sans-serif;
  font-size: 11px; color: rgba(255,255,255,0.35);
  letter-spacing: 2px; text-transform: uppercase;
}

/* ── LIGHTBOX ── */
.lightbox-overlay {
  position: fixed; inset: 0; z-index: 9998;
  background: rgba(13,31,26,0.97);
  backdrop-filter: blur(12px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: all 0.4s ease;
  padding: 40px;
}
.lightbox-overlay.active {
  opacity: 1; visibility: visible;
}
.lightbox-inner {
  position: relative;
  max-width: 960px; max-height: 90vh;
  width: 100%;
  display: flex; flex-direction: column; align-items: center;
  transform: scale(0.92);
  transition: transform 0.4s cubic-bezier(.25,.8,.25,1);
}
.lightbox-overlay.active .lightbox-inner {
  transform: scale(1);
}
.lightbox-img-wrap {
  position: relative; width: 100%;
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 40px 100px rgba(0,0,0,0.6), 0 0 0 1px rgba(201,146,10,0.25);
}
.lightbox-img {
  width: 100%; max-height: 72vh;
  object-fit: contain; display: block;
}
.lightbox-info {
  margin-top: 20px; text-align: center; width: 100%;
}
.lightbox-title {
  font-family: 'Cinzel', serif; font-size: 1.1rem;
  color: var(--gold2); font-weight: 700; margin-bottom: 4px;
}
.lightbox-subtitle {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 13px; color: rgba(255,255,255,0.55);
}
.lightbox-close {
  position: fixed; top: 24px; right: 28px; z-index: 9999;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(201,146,10,0.15); border: 1px solid rgba(201,146,10,0.4);
  color: var(--gold2); font-size: 1.2rem;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all 0.25s;
}
.lightbox-close:hover {
  background: var(--gold); color: var(--deep); transform: rotate(90deg);
}
.lightbox-nav {
  position: fixed; top: 50%; transform: translateY(-50%);
  z-index: 9999;
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(201,146,10,0.12); border: 1px solid rgba(201,146,10,0.35);
  color: var(--gold2); font-size: 1.3rem;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all 0.25s;
}
.lightbox-nav:hover { background: var(--gold); color: var(--deep); }
.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }
.lightbox-counter {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
  font-family: 'Raleway', sans-serif; font-size: 12px;
  color: rgba(255,255,255,0.4); letter-spacing: 2px;
  z-index: 9999;
}
.lightbox-dots {
  display: flex; gap: 6px; margin-top: 16px; justify-content: center;
}
.lightbox-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(201,146,10,0.3);
  transition: all 0.3s;
}
.lightbox-dot.active {
  background: var(--gold2); width: 22px; border-radius: 4px;
}

/* ── EMPTY STATE ── */
.gallery-empty {
  text-align: center; padding: 80px 20px;
  display: none;
}
.gallery-empty i { font-size: 3rem; color: var(--gold); margin-bottom: 16px; display: block; }
.gallery-empty p { font-family: 'Raleway', sans-serif; color: var(--text3); }

/* ── CTA BAND ── */
.gallery-cta-band {
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  padding: 64px 40px; text-align: center;
  position: relative; overflow: hidden;
}
.gallery-cta-band::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%230D1F1A' fill-opacity='0.05'%3E%3Cpath d='M30 0L37 21H60L42 34L49 55L30 42L11 55L18 34L0 21H23Z'/%3E%3C/g%3E%3C/svg%3E") center/60px;
}
.gallery-cta-band-inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
.gallery-cta-band h2 {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  color: var(--deep); font-weight: 900; margin-bottom: 12px;
}
.gallery-cta-band p {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 15px; color: rgba(13,31,26,0.72);
  max-width: 580px; margin: 0 auto 28px; line-height: 1.9;
}

/* ── SECTION LABEL ── */
.gallery-section-label {
  display: flex; align-items: center; gap: 16px;
  margin-bottom: 32px; margin-top: 52px;
}
.gallery-section-label:first-child { margin-top: 0; }
.gallery-section-label-line {
  flex: 1; height: 1px; background: rgba(201,146,10,0.2);
}
.gallery-section-label-text {
  font-family: 'Cinzel', serif; font-size: 11px; font-weight: 700;
  color: var(--gold); letter-spacing: 3px; text-transform: uppercase;
  white-space: nowrap;
}

/* ── LOADING SKELETON ── */
.gallery-skeleton {
  background: linear-gradient(90deg, rgba(201,146,10,0.04) 25%, rgba(201,146,10,0.10) 50%, rgba(201,146,10,0.04) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.8s infinite;
  border-radius: 16px;
  height: 280px;
  margin-bottom: 20px;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── SCROLL INDICATOR ── */
.gallery-scroll-hint {
  position: absolute; bottom: 28px; left: 50%;
  transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  color: rgba(255,255,255,0.3); font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  animation: scrollBounce 2s ease-in-out infinite;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .gallery-grid-masonry { columns: 2; }
  .gallery-grid-4 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .gallery-hero-content { padding: 110px 20px 56px; }
  .gallery-filter-section { padding: 32px 20px 0; top: 60px; }
  .gallery-main-section { padding: 32px 20px 64px; }
  .gallery-stats-inner { flex-wrap: wrap; }
  .gallery-stat-item { flex: 0 0 50%; border-bottom: 1px solid rgba(13,31,26,0.15); }
  .gallery-stat-item:nth-child(even) { border-right: none; }
  .gallery-stat-item:nth-last-child(-n+2) { border-bottom: none; }
  .gallery-grid-masonry { columns: 1; }
  .gallery-grid-2 { grid-template-columns: 1fr; }
  .gallery-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .gallery-hero-om { font-size: 14rem; }
  .lightbox-nav { display: none; }
  .lightbox-overlay { padding: 16px; }
}
@media (max-width: 480px) {
  .gallery-grid-4 { grid-template-columns: 1fr; }
  .filter-tab { padding: 7px 14px; font-size: 11px; }
  .gallery-hero-om { display: none; }
  .gallery-stats-inner { flex-direction: column; }
  .gallery-stat-item { flex: 1; border-right: none; border-bottom: 1px solid rgba(13,31,26,0.15); }
  .gallery-stat-item:last-child { border-bottom: none; }
}

/* Tablet */
@media (max-width: 992px) {
  .gal-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile */
@media (max-width: 576px) {
  .gal-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════
   CONTACT PAGE — PREMIUM STYLES
═══════════════════════════════════════════════ */

/* ── HERO ── */
.contact-hero {
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: linear-gradient(135deg, var(--deep) 0%, #071510 40%, var(--teal) 100%);
}
.contact-hero-bg {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(ellipse at 12% 55%, rgba(201,146,10,0.16) 0%, transparent 52%),
    radial-gradient(ellipse at 88% 18%, rgba(232,184,75,0.09) 0%, transparent 44%),
    radial-gradient(ellipse at 50% 92%, rgba(42,107,82,0.20) 0%, transparent 50%),
    url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23C9920A' fill-opacity='0.03'%3E%3Cpath d='M50 5L61 36H94L68 56L79 87L50 67L21 87L32 56L6 36H39Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: auto, auto, auto, 100px 100px;
}
.contact-hero-om {
  position: absolute; right: 5%; top: 50%;
  transform: translateY(-50%);
  font-family: 'Cinzel', serif;
  font-size: 24rem; color: rgba(201,146,10,0.05);
  line-height: 1; pointer-events: none;
  user-select: none; z-index: 0;
}
.contact-hero-content {
  position: relative; z-index: 2;
  max-width: 1320px; margin: 0 auto;
  padding: 130px 40px 72px;
  width: 100%;
}
.contact-hero-breadcrumb {
  display: flex; align-items: center; gap: 8px; margin-bottom: 22px;
}
.contact-hero-breadcrumb a {
  color: rgba(255,255,255,0.45); text-decoration: none;
  font-size: 12px; letter-spacing: 1px;
  font-family: 'Raleway', sans-serif; transition: 0.2s;
}
.contact-hero-breadcrumb a:hover { color: var(--gold2); }
.contact-hero-breadcrumb .sep { color: rgba(255,255,255,0.2); font-size: 12px; }
.contact-hero-breadcrumb .current {
  color: var(--gold2); font-size: 12px; font-weight: 600;
  letter-spacing: 1px; font-family: 'Raleway', sans-serif;
}
.contact-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(201,146,10,0.12); border: 1px solid rgba(201,146,10,0.3);
  border-radius: 30px; padding: 6px 18px; margin-bottom: 20px;
  font-size: 11px; color: var(--gold3); letter-spacing: 2px;
  text-transform: uppercase; font-family: 'Raleway', sans-serif; font-weight: 700;
}
.contact-hero-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 700; color: var(--gold2);
  line-height: 1.15; margin-bottom: 14px;
}
.contact-hero-subtitle {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: clamp(1rem, 2vw, 1.4rem);
  color: rgba(255,255,255,0.55);
  max-width: 600px; line-height: 1.7;
}
.contact-hero-line {
  width: 90px; height: 3px;
  background: linear-gradient(to right, var(--gold), var(--gold2), transparent);
  border-radius: 2px; margin-top: 28px;
}
.contact-scroll-hint {
  position: absolute; bottom: 28px; left: 50%;
  transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  color: rgba(255,255,255,0.3); font-size: 10px;
  letter-spacing: 2px; text-transform: uppercase;
  animation: scrollBounce 2s ease-in-out infinite;
}

/* ── QUICK REACH BAND ── */
.quick-reach-band {
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  padding: 0; position: relative; overflow: hidden;
}
.quick-reach-band::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%230D1F1A' fill-opacity='0.05'%3E%3Cpath d='M30 0L37 21H60L42 34L49 55L30 42L11 55L18 34L0 21H23Z'/%3E%3C/g%3E%3C/svg%3E") center/60px;
}
.quick-reach-inner {
  max-width: 1320px; margin: 0 auto;
  padding: 0 40px;
  display: grid; grid-template-columns: repeat(4, 1fr);
  position: relative; z-index: 1;
}
.quick-reach-item {
  display: flex; align-items: center; gap: 16px;
  padding: 28px 24px;
  border-right: 1px solid rgba(13,31,26,0.15);
  text-decoration: none;
  transition: background 0.3s;
  cursor: pointer;
}
.quick-reach-item:last-child { border-right: none; }
.quick-reach-item:hover { background: rgba(13,31,26,0.07); }
.quick-reach-icon {
  width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0;
  background: rgba(13,31,26,0.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; color: var(--deep);
  transition: all 0.3s;
}
.quick-reach-item:hover .quick-reach-icon {
  background: rgba(13,31,26,0.2); transform: scale(1.08);
}
.quick-reach-label {
  font-family: 'Raleway', sans-serif; font-size: 10px;
  font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  color: rgba(13,31,26,0.55); margin-bottom: 3px;
}
.quick-reach-value {
  font-family: 'Cinzel', serif; font-size: 0.95rem;
  font-weight: 700; color: var(--deep); line-height: 1.3;
}
.quick-reach-value.small {
  font-family: 'Raleway', sans-serif; font-size: 13px; font-weight: 600;
}

/* ── MAIN CONTACT SECTION ── */
.contact-main-section {
  background: var(--cream);
  padding: 90px 40px;
}
.contact-main-inner {
  max-width: 1320px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1.1fr;
  gap: 72px; align-items: start;
}

/* LEFT — INFO CARD STACK */
.contact-info-stack { display: flex; flex-direction: column; gap: 24px; }

.contact-info-hero-card {
  background: linear-gradient(135deg, var(--teal), var(--deep));
  border-radius: 20px; padding: 44px 40px;
  position: relative; overflow: hidden;
}
.contact-info-hero-card::before {
  content: '';
  position: absolute; top: -50px; right: -50px;
  width: 200px; height: 200px; border-radius: 50%;
  background: rgba(201,146,10,0.07);
}
.contact-info-hero-card::after {
  content: '';
  position: absolute; bottom: -30px; left: -30px;
  width: 140px; height: 140px; border-radius: 50%;
  background: rgba(201,146,10,0.05);
}
.contact-card-eyebrow {
  font-family: 'Raleway', sans-serif; font-size: 10px; font-weight: 700;
  letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--gold); margin-bottom: 10px; display: flex;
  align-items: center; gap: 8px;
}
.contact-card-eyebrow::before {
  content: ''; width: 24px; height: 1px; background: var(--gold);
}
.contact-info-hero-name {
  font-family: 'Cinzel', serif; font-size: clamp(1rem, 1.8vw, 1.4rem);
  font-weight: 700; color: var(--gold2);
  line-height: 1.4; margin-bottom: 6px;
}
.contact-info-hero-sub {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 12px; color: rgba(255,255,255,0.45);
  margin-bottom: 28px; line-height: 1.6;
}
.contact-detail-row {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  position: relative; z-index: 1;
}
.contact-detail-row:last-child { border-bottom: none; padding-bottom: 0; }
.contact-detail-icon {
  width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
  background: rgba(201,146,10,0.15);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: var(--gold2);
}
.contact-detail-label {
  font-family: 'Raleway', sans-serif; font-size: 10px; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase;
  color: var(--gold); margin-bottom: 4px;
}
.contact-detail-value {
  font-family: 'Raleway', sans-serif; font-size: 15px;
  color: rgba(255,255,255,0.8); line-height: 1.65;
}
.contact-detail-value a {
  color: var(--gold2); text-decoration: none; transition: 0.2s;
}
.contact-detail-value a:hover { color: var(--gold3); }
.contact-detail-value .ta {
  font-family: 'Noto Sans Tamil', sans-serif; font-size: 12.5px;
}

/* TRUST BADGES ROW */
.contact-trust-row {
  display: flex; gap: 10px; flex-wrap: wrap;
}
.contact-trust-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(201,146,10,0.08); border: 1px solid rgba(201,146,10,0.25);
  border-radius: 24px; padding: 7px 16px;
  font-family: 'Raleway', sans-serif; font-size: 11px;
  font-weight: 700; color: var(--gold3); letter-spacing: 0.5px;
  transition: all 0.25s;
}
.contact-trust-badge:hover {
  background: rgba(201,146,10,0.16); border-color: var(--gold);
}

/* PUJA DAYS MINI CARD */
.contact-pujadays-card {
  background: var(--white); border-radius: 16px; padding: 28px 28px;
  border: 1px solid var(--border);
  box-shadow: 0 4px 20px rgba(13,31,26,0.06);
}
.contact-pujadays-title {
  font-family: 'Cinzel', serif; font-size: 0.9rem; font-weight: 700;
  color: var(--teal); margin-bottom: 18px;
  display: flex; align-items: center; gap: 10px;
}
.contact-pujadays-title::after {
  content: ''; flex: 1; height: 1px; background: var(--border);
}
.pujaday-pills {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.pujaday-pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: linear-gradient(135deg, rgba(26,77,58,0.06), rgba(201,146,10,0.06));
  border: 1px solid var(--border);
  border-radius: 24px; padding: 7px 16px;
  font-family: 'Raleway', sans-serif; font-size: 11.5px;
  font-weight: 600; color: var(--teal); transition: all 0.25s;
}
.pujaday-pill i { color: var(--gold); font-size: 0.8rem; }
.pujaday-pill:hover {
  background: var(--gold-pale); border-color: var(--gold); color: var(--teal);
}

/* SOCIAL / CONNECT CARD */
.contact-connect-card {
  background: var(--white); border-radius: 16px; padding: 24px 28px;
  border: 1px solid var(--border);
  box-shadow: 0 4px 20px rgba(13,31,26,0.06);
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
}
.contact-connect-label {
  font-family: 'Cinzel', serif; font-size: 0.85rem; font-weight: 700;
  color: var(--teal);
}
.contact-connect-label p {
  font-family: 'Raleway', sans-serif; font-size: 12px;
  color: var(--text3); font-weight: 400; margin-top: 3px;
}
.connect-btns { display: flex; gap: 10px; }
.connect-btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 10px 20px; border-radius: 8px;
  font-family: 'Raleway', sans-serif; font-size: 12px; font-weight: 700;
  text-decoration: none; transition: all 0.3s;
  letter-spacing: 0.3px;
}
.connect-btn-call {
  background: linear-gradient(135deg, var(--teal), var(--teal2));
  color: #fff; box-shadow: 0 4px 16px rgba(26,77,58,0.3);
}
.connect-btn-call:hover {
  transform: translateY(-2px); box-shadow: 0 8px 24px rgba(26,77,58,0.45);
}
.connect-btn-wa {
  background: #25D366; color: #fff;
  box-shadow: 0 4px 16px rgba(37,211,102,0.3);
}
.connect-btn-wa:hover {
  transform: translateY(-2px); box-shadow: 0 8px 24px rgba(37,211,102,0.45);
}

/* RIGHT — BOOKING / MESSAGE FORM */
.contact-form-card {
  background: var(--white); border-radius: 20px;
  box-shadow: 0 8px 48px rgba(13,31,26,0.12);
  border: 1px solid var(--border); overflow: hidden;
  position: sticky; top: 110px;
}
.contact-form-head {
  background: linear-gradient(135deg, var(--teal), var(--deep));
  padding: 40px 44px 36px;
  position: relative; overflow: hidden;
}
.contact-form-head::before {
  content: '';
  position: absolute; top: -40px; right: -40px;
  width: 180px; height: 180px; border-radius: 50%;
  background: rgba(201,146,10,0.07);
}
.contact-form-head-icon {
  width: 52px; height: 52px; border-radius: 12px;
  background: rgba(201,146,10,0.15);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; color: var(--gold2);
  margin-bottom: 16px; position: relative; z-index: 1;
}
.contact-form-head h2 {
  font-family: 'Cinzel', serif; font-size: 1.3rem;
  color: var(--gold2); font-weight: 700;
  margin-bottom: 6px; position: relative; z-index: 1;
}
.contact-form-head p {
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 12.5px; color: rgba(255,255,255,0.55);
  line-height: 1.7; max-width: 380px; position: relative; z-index: 1;
}

/* FORM TABS */
.form-tabs {
  display: flex; border-bottom: 1px solid rgba(255,255,255,0.1);
  position: relative; z-index: 1; margin-top: 20px;
}
.form-tab-btn {
  flex: 1; padding: 11px 14px;
  background: transparent; border: none;
  font-family: 'Raleway', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.5px; text-transform: uppercase;
  color: rgba(255,255,255,0.4); cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
  transition: all 0.25s;
}
.form-tab-btn.active {
  color: var(--gold2); border-bottom-color: var(--gold2);
}
.form-tab-btn:hover:not(.active) { color: rgba(255,255,255,0.7); }

.contact-form-body { padding: 36px 44px 40px; }

/* TAB PANELS */
.form-panel { display: none; }
.form-panel.active { display: block; }

/* FORM ELEMENTS */
.cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.cf-group { display: flex; flex-direction: column; gap: 7px; margin-bottom: 16px; }
.cf-group label {
  font-family: 'Raleway', sans-serif; font-size: 11px; font-weight: 700;
  color: var(--teal); letter-spacing: 0.8px; text-transform: uppercase;
  display: flex; align-items: center; gap: 5px;
}
.cf-group label i { color: var(--gold); font-size: 0.75rem; }
.cf-group input,
.cf-group select,
.cf-group textarea {
  padding: 13px 16px;
  border: 1.5px solid #e8e0d0;
  border-radius: 10px; font-size: 16px;
  font-family: 'Raleway', sans-serif;
  background: var(--cream); color: var(--text);
  transition: all 0.25s; outline: none;
  appearance: none; -webkit-appearance: none;
}
.cf-group input:focus,
.cf-group select:focus,
.cf-group textarea:focus {
  border-color: var(--teal2);
  box-shadow: 0 0 0 3px rgba(42,107,82,0.1);
  background: #fff;
}
.cf-group input::placeholder,
.cf-group textarea::placeholder { color: #b8b0a0; }
.cf-group textarea { resize: vertical; min-height: 110px; line-height: 1.6; }
.cf-group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231A4D3A' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
  padding-right: 40px;
}
.cf-submit {
  width: 100%; padding: 16px;
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  color: var(--deep); border: none; border-radius: 10px;
  font-family: 'Cinzel', serif; font-size: 13.5px; font-weight: 700;
  letter-spacing: 1px; cursor: pointer;
  transition: all 0.3s; margin-top: 6px;
  box-shadow: 0 4px 20px rgba(201,146,10,0.25);
  display: flex; align-items: center; justify-content: center; gap: 10px;
}
.cf-submit:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(201,146,10,0.42); }
.cf-submit:active { transform: translateY(0); }
.cf-note {
  text-align: center; margin-top: 14px;
  font-family: 'Noto Sans Tamil', sans-serif;
  font-size: 12px; color: var(--text3); line-height: 1.7;
}
.cf-success {
  display: none; text-align: center; padding: 28px 20px;
}
.cf-success i { font-size: 2.5rem; color: var(--teal2); margin-bottom: 12px; display: block; }
.cf-success h4 {
  font-family: 'Cinzel', serif; font-size: 1rem; color: var(--teal);
  margin-bottom: 6px;
}
.cf-success p { font-family: 'Raleway', sans-serif; font-size: 13px; color: var(--text3); }

/* ── MAP SECTION ── */
.map-section {
  background: var(--white); padding: 0 40px 90px;
}
.map-section-inner { max-width: 1320px; margin: 0 auto; }
.map-header {
  padding-top: 0; margin-bottom: 36px;
}
.map-grid {
  display: grid; grid-template-columns: 1fr 2fr;
  gap: 32px; align-items: stretch;
}
.map-info-panel {
  display: flex; flex-direction: column; gap: 16px;
}
.map-info-card {
  background: linear-gradient(135deg, var(--teal), var(--deep));
  border-radius: 14px; padding: 24px 22px;
  flex: 1;
  display: flex; flex-direction: column; justify-content: center;
}
.map-info-title {
  font-family: 'Cinzel', serif; font-size: 0.85rem; font-weight: 700;
  color: var(--gold2); margin-bottom: 12px;
  display: flex; align-items: center; gap: 8px;
}
.map-info-title i { color: var(--gold); font-size: 0.9rem; }
.map-directions-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.map-directions-list li {
  display: flex; gap: 14px; align-items: flex-start;
  font-family: 'Raleway', sans-serif; font-size: 12.5px;
  color: rgba(255,255,255,0.65); line-height: 1.55;
}
.map-directions-list li i { color: var(--gold2); font-size: 0.8rem; margin-top: 2px; flex-shrink: 0; }
.map-hours-grid {
  display: flex; flex-direction: column; gap: 8px;
}
.map-hours-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.06);
  font-family: 'Raleway', sans-serif; font-size: 12px;
}
.map-hours-row:last-child { border-bottom: none; }
.map-hours-day { color: rgba(255,255,255,0.55); }
.map-hours-time { color: var(--gold3); font-weight: 700; }
.map-frame-wrap {
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 12px 48px rgba(13,31,26,0.18);
  border: 1px solid var(--border);
  min-height: 400px;
}
.map-frame-wrap iframe {
  width: 100%; height: 100%; border: none; display: block;
  min-height: 400px;
}

/* ── DIVIDER ── */
.contact-divider {
  background: linear-gradient(135deg, var(--teal), var(--deep));
  padding: 52px 40px; text-align: center;
  position: relative; overflow: hidden;
}
.contact-divider::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23C9920A' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E");
}
.contact-divider-inner { position: relative; z-index: 1; max-width: 680px; margin: 0 auto; }
.contact-divider blockquote {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.2rem, 2.4vw, 1.8rem);
  font-style: italic; color: var(--gold3); line-height: 1.75; margin-bottom: 10px;
}
.contact-divider cite {
  font-family: 'Raleway', sans-serif;
  font-size: 11px; color: rgba(255,255,255,0.3);
  letter-spacing: 2px; text-transform: uppercase;
}

/* ── FAQ SECTION ── */
.faq-section { background: var(--cream); padding: 90px 40px; }
.faq-inner { max-width: 1320px; margin: 0 auto; }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 44px; }
.faq-item {
  background: var(--white); border-radius: 14px;
  border: 1px solid var(--border);
  overflow: hidden; transition: all 0.3s;
}
.faq-item:hover { border-color: var(--gold); box-shadow: var(--shadow-gold); }
.faq-question {
  padding: 20px 24px; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; user-select: none;
}
.faq-question-text {
  font-family: 'Raleway', sans-serif; font-size: 13.5px;
  font-weight: 700; color: var(--teal); line-height: 1.45;
}
.faq-question-text .ta {
  font-family: 'Noto Sans Tamil', sans-serif; font-size: 12.5px;
}
.faq-toggle {
  width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;
  background: var(--gold-pale); border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.75rem; color: var(--gold); transition: all 0.3s;
}
.faq-item.open .faq-toggle {
  background: var(--gold); color: var(--deep); transform: rotate(45deg);
}
.faq-answer {
  max-height: 0; overflow: hidden;
  transition: max-height 0.4s cubic-bezier(.25,.8,.25,1), padding 0.3s;
  padding: 0 24px;
}
.faq-item.open .faq-answer { max-height: 200px; padding: 0 24px 20px; }
.faq-answer p {
  font-family: 'Noto Sans Tamil', sans-serif; font-size: 15px;
  color: var(--text2); line-height: 2; border-left: 2px solid var(--gold);
  padding-left: 14px;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .contact-main-inner { gap: 44px; }
  .map-grid { gap: 24px; }
}
@media (max-width: 900px) {
  .contact-main-inner { grid-template-columns: 1fr; }
  .quick-reach-inner { grid-template-columns: repeat(2, 1fr); }
  .quick-reach-item:nth-child(2) { border-right: none; }
  .quick-reach-item:nth-child(3), .quick-reach-item:nth-child(4) {
    border-top: 1px solid rgba(13,31,26,0.12);
  }
  .quick-reach-item:nth-child(4) { border-right: none; }
  .map-grid { grid-template-columns: 1fr; }
  .faq-grid { grid-template-columns: 1fr; }
  .contact-form-card { position: static; }
}
@media (max-width: 600px) {
  .contact-hero-content { padding: 110px 20px 56px; }
  .contact-main-section { padding: 52px 20px; }
  .map-section { padding: 0 20px 64px; }
  .faq-section { padding: 52px 20px; }
  .contact-form-head { padding: 28px 24px; }
  .contact-form-body { padding: 24px 20px 28px; }
  .cf-row { grid-template-columns: 1fr; gap: 0; }
  .quick-reach-inner { grid-template-columns: 1fr; }
  .quick-reach-item { border-right: none !important; border-bottom: 1px solid rgba(13,31,26,0.12); }
  .quick-reach-item:last-child { border-bottom: none; }
  .contact-hero-om { display: none; }
  .contact-info-hero-card { padding: 28px 24px; }
  .connect-btns { flex-direction: column; width: 100%; }
  .connect-btn { justify-content: center; }
  .contact-connect-card { flex-direction: column; align-items: flex-start; }
}


/* ─── FOOTER ─── */
footer {
  background:var(--deep);
  padding:64px 40px 0;
  border-top:1px solid var(--border);
}
.footer-inner {
  max-width:1320px; margin:auto;
  display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr;
  gap:48px; padding-bottom:48px;
}
.footer-brand-logo {
  font-family:'Noto Sans Tamil',sans-serif;
  font-size:14px; font-weight:700; color:var(--gold3);
  line-height:1.5; margin-bottom:16px;
}
.footer-brand-sub {
  font-size:14px; color:rgba(255,255,255,0.4); line-height:1.8; max-width:280px;
  margin-bottom:20px;
}
.footer-trust {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(201,146,10,0.1); border:1px solid var(--border);
  border-radius:6px; padding:8px 14px;
  font-size:11px; color:var(--gold3);
  font-weight:600; letter-spacing:0.5px;
}
.footer-col h4 {
  font-family:'Cinzel',serif; font-size:11px; font-weight:700;
  color:var(--gold2); letter-spacing:2px; text-transform:uppercase;
  margin-bottom:18px;
}
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a {
  color:rgba(255,255,255,0.45); text-decoration:none;
  font-size:14.5px; transition:0.2s;
  display:flex; align-items:center; gap:6px;
}
.footer-col ul li a:hover { color:var(--gold2); }
.footer-col ul li a i { font-size:10px; color:var(--gold); opacity:0.7; }
.footer-bottom {
  max-width:1320px; margin:0 auto;
  border-top:1px solid rgba(255,255,255,0.07);
  padding:18px 0; display:flex; align-items:center; justify-content:space-between;
}
.footer-bottom p { font-size:11.5px; color:rgba(255,255,255,0.3); letter-spacing:0.3px; }

/* ── BOTTOM MOBILE NAV ── */
.bottom-nav {
  display: none;
}

/* ── BOTTOM NAV LABEL FIX ── */
@media (max-width: 768px) {
  .bottom-nav-label {
    font-size: 0.52rem !important;
    line-height: 1;
    max-width: 56px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .bottom-nav-item i {
    font-size: 1.1rem;
  }

  .bottom-nav {
    height: 62px;
  }

  .bottom-nav-item {
    gap: 2px;
    padding: 4px 1px;
  }
}
@media (max-width: 768px) {
  .bottom-nav-item {
    display: flex;
    flex-direction: column;    /* icon top, label bottom */
    align-items: center;
    justify-content: center;
    gap: 3px;
  }

  .bottom-nav-item i {
    font-size: 1.1rem;
    line-height: 1;
  }

  .bottom-nav-label {
    font-size: 0.52rem !important;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 56px;
  }
}

@media (max-width: 768px) {
  .bottom-nav {
    display: flex;
    align-items: center;
    justify-content: space-around;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 9999;
    height: 62px;
    background: var(--gold);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid rgba(201, 146, 10, 0.2);
    padding: 0 8px;
    padding-bottom: env(safe-area-inset-bottom); /* iPhone notch support */
  }

  .bottom-nav-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px; height: 48px;
    border-radius: 12px;
    color: var(--cream);
    font-size: 1.25rem;
    transition: all 0.25s ease;
    text-decoration: none;
  }

  .bottom-nav-item:hover,
  .bottom-nav-item.active {
    color: var(--teal);
    background: rgba(201, 146, 10, 0.1);
  }

  .bottom-nav-cta {
    color: var(--gold);
    background: rgba(201, 146, 10, 0.15);
    border: 1px solid rgba(201, 146, 10, 0.35);
  }

  .bottom-nav-cta:hover {
    background: rgba(201, 146, 10, 0.25);
    color: var(--gold);
  }

  /* Push page content up so it doesn't hide behind the nav */
  body {
    padding-bottom: 72px;
  }
}

/* ─── FLOATING BUTTONS ─── */
.float-group {
  position:fixed; bottom:30px; right:30px;
  display:flex; flex-direction:column; gap:12px; z-index:998;
}
.float-btn {
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; font-size:1.3rem;
  box-shadow:0 6px 24px rgba(0,0,0,0.3);
  transition:all 0.3s; border:none; cursor:pointer;
}
.float-btn:hover { transform:translateY(-4px) scale(1.08); }
.float-call { background:#25D366; color:#fff; }
.float-call { background:#0D1F1A; color:#fff; border:2px solid rgba(255,255,255,0.2); }
.float-whatsapp { background:#25D366; color:#fff; }
.float-top {
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:var(--deep); opacity:0; pointer-events:none;
  transition:all 0.3s;
}
.float-top.show { opacity:1; pointer-events:auto; }

/* ─── LANG HIDDEN ─── */
[data-lang] { display:none; }
[data-lang="ta"] { display:block; }
span[data-lang] { display:none; }
span[data-lang="ta"] { display:inline; }

/* ─── RESPONSIVE ─── */
@media(max-width:1024px) {
  .nav-inner { padding:0 24px; }
  .hero-content { padding:80px 40px 80px 40px; }
  .about-grid { gap:48px; }
}
@media(max-width:900px) {
  section { padding:64px 24px; }
  .about-grid, .contact-grid { grid-template-columns:1fr; }
  .hero-content { max-width:100%; }
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .footer-inner { grid-template-columns:1fr 1fr; }
  .gallery-masonry { columns:2; }
  .form-row { grid-template-columns:1fr; }
  .booking-body { padding:28px 24px; }
  .booking-head { padding:28px 24px; }
}
@media(max-width:600px) {
  .hero-stats { gap:18px; }
  .gallery-masonry { columns:1; }
  .footer-inner { grid-template-columns:1fr; }
  .special-grid, .deity-grid, .pooja-grid { grid-template-columns:1fr; }
  .float-group { bottom:20px; right:16px; }
  .hero-content { padding:60px 20px; }
  .lang-bar { padding-right:16px; }
  .footer-bottom { flex-direction:column; gap:8px; text-align:center; }
}

/* ─── HERO MOBILE FIX ─── */
@media (max-width: 900px) {
  .hero {
    flex-direction: column;
    min-height: auto;
  }

  .hero-image-panel {
    flex: none;
    width: 100%;
    height: 55vw;
    min-height: 280px;
    max-height: 420px;
    order: 1;
  }

  .hero-img-frame {
    width: 100%;
    height: 100%;
  }

  .hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }

  .hero-content {
    flex: none;
    width: 100%;
    order: 2;
    padding: 40px 24px 60px;
  }

  .hero-stats {
    gap: 16px;
  }

  .hero-stat-num {
    font-size: 1.2rem;
  }
}

@media (max-width: 600px) {
  .hero-image-panel {
    height: 70vw;
    max-height: 340px;
  }

  .hero-title {
    font-size: 1.4rem;
  }

  .hero-title-tamil {
    font-size: 1.1rem;
  }

  .hero-badge {
    padding: 5px 14px;
    flex-wrap: wrap;
    gap: 4px;
  }

  .hero-badge span {
    font-size: 9px;
    letter-spacing: 1px;
  }

  .hero-cta {
    flex-direction: column;
  }

  .btn-gold, .btn-ghost {
    width: 100%;
    justify-content: center;
    padding: 12px 20px;
  }
}

/* ─── TRUST BAR MOBILE ─── */
@media (max-width: 600px) {
  .trust-bar {
    padding: 5px 0;
  }

  .trust-marquee span {
    font-size: 10px;
  }

  .lang-bar {
    top: 24px;
    padding-right: 10px;
    gap: 4px;
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: center;
  }

  .lang-btn {
    font-size: 10px;
    padding: 3px 10px;
    white-space: nowrap;
  }

  #mainNav {
    top: 60px;
  }

  body {
    padding-top: 130px;
  }
}

/* ─── NAVBAR MOBILE ─── */
@media (max-width: 900px) {
  .nav-inner {
    padding: 0 16px;
    height: 60px;
  }

  .nav-logo-text {
    font-size: 10px;
    max-width: 180px;
  }

  .nav-logo-icon {
    width: 38px;
    height: 38px;
    font-size: 1.1rem;
  }

  .hamburger {
    display: flex;
  }

  .nav-links {
    display: none;
  }

  .mobile-menu.open {
    display: flex;
  }
}

/* ─── ABOUT SECTION MOBILE ─── */
@media (max-width: 900px) {
  .about-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about-img-frame {
    display: none;   /* hides decorative offset frame on small screens */
  }

  .about-badge {
    bottom: -10px;
    right: -10px;
    padding: 12px 16px;
  }

  .sthal-grid {
    grid-template-columns: 1fr;
  }

  .sthal-grid .sthal-card[style*="span 2"] {
    grid-column: span 1;
  }
}

/* ─── SPECIALTIES MOBILE ─── */
@media (max-width: 600px) {
  .special-section {
    padding: 64px 16px;
  }

  .special-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .special-card {
    padding: 24px 20px;
  }
}

/* ─── DEITIES MOBILE ─── */
@media (max-width: 600px) {
  .deities-main {
    padding: 28px 20px;
  }

  .deity-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .deity-card-top {
    height: 290px;
    font-size: 1.6rem;
  }
}

@media (max-width: 400px) {
  .deity-grid {
    grid-template-columns: 1fr;
  }
}

/* ─── POOJAS MOBILE ─── */
@media (max-width: 600px) {
  .pooja-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .pooja-card-head {
    padding: 18px 18px 14px;
  }

  .pooja-card-body {
    padding: 14px 18px 18px;
  }
}

/* ─── PUJA DAYS MOBILE ─── */
@media (max-width: 600px) {
  .pujaday-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .pujaday-card {
    padding: 18px 14px;
  }

  .pujaday-icon {
    font-size: 1.4rem;
    margin-bottom: 8px;
  }
}

/* ─── FREE BAND MOBILE ─── */
@media (max-width: 600px) {
  .free-band {
    padding: 40px 20px;
  }

  .free-band h2 {
    font-size: 1.2rem;
  }

  .free-band-badge {
    padding: 10px 20px;
    font-size: 12px;
  }
}

/* ─── GALLERY MOBILE ─── */
@media (max-width: 900px) {
  .gallery-masonry {
    columns: 2;
    gap: 12px;
  }
}

@media (max-width: 600px) {
  .gallery-masonry {
    columns: 1;
  }
}

/* ─── CONTACT MOBILE ─── */
@media (max-width: 900px) {
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .contact-card {
    padding: 28px 24px;
  }

  .map-wrap {
    min-height: 280px;
  }

  .map-wrap iframe {
    min-height: 280px;
  }
}

/* ─── BOOKING MOBILE ─── */
@media (max-width: 600px) {
  .booking-inner {
    border-radius: 12px;
  }

  .booking-head {
    padding: 24px 20px;
  }

  .booking-head h2 {
    font-size: 1.1rem;
  }

  .booking-body {
    padding: 24px 20px;
  }

  .form-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* ─── FOOTER MOBILE ─── */
@media (max-width: 900px) {
  .footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  footer {
    padding: 48px 24px 0;
  }
}

@media (max-width: 600px) {
  .footer-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 6px;
    text-align: center;
    padding: 16px 0;
  }
}

/* ─── FLOATING BUTTONS MOBILE ─── */
@media (max-width: 600px) {
  .float-group {
    bottom: 16px;
    right: 14px;
    gap: 10px;
  }

  .float-btn {
    width: 46px;
    height: 46px;
    font-size: 1.1rem;
  }
}

/* ─── GOLD BAND MOBILE ─── */
@media (max-width: 600px) {
  .gold-band {
    padding: 32px 20px;
  }

  .gold-band blockquote {
    font-size: 1.1rem;
  }
}

/* ─── SECTION COMMONS MOBILE ─── */
@media (max-width: 600px) {
  section {
    padding: 52px 16px;
  }

  .section-title {
    font-size: 1.3rem;
  }

  .section-eyebrow::before,
  .section-eyebrow::after {
    width: 18px;
  }
}

@media (max-width: 600px) {
  body {
    padding-top: 120px;
  }
}

@media (max-width: 600px) {
  .deities-hero {
    margin-top: 0;
  }

  .deities-hero-content {
    padding-top: 30px;
  }
}

