:root {
  --blue:     rgb(11, 125, 194);
  --blue-dk:  rgb(8, 95, 148);
  --blue-lt:  rgb(40, 155, 220);
  --blue-bg:  rgba(11, 125, 194, 0.07);
  --gold:     rgb(254, 175, 28);
  --gold-dk:  rgb(210, 140, 10);
  --gold-lt:  rgb(255, 200, 80);
  --gold-bg:  rgba(254, 175, 28, 0.1);
  --deep:     #0A0F1A;
  --deep2:    #0E1624;
  --cream:    #FBF8F2;
  --warm:     #F5EDD8;
  --text:     #1A1A2E;
  --muted:    #6B7280;
  --white:    #FFFFFF;
  --border:   rgba(254, 175, 28, 0.2);
  --serif:    'PT Sans', sans-serif;
  --em-serif:    'Cormorant Garamond', sans-serif;
  --body-serif: 'Nunito', Georgia, serif;
  /* --serif:    'Cinzel', serif;
  --body-serif: 'Cormorant Garamond', Georgia, serif; */
  --sans:     'DM Sans', sans-serif;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); color:var(--text); background:var(--cream); overflow-x:hidden; }
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
.wrap { max-width:1280px; margin:0 auto; padding:0 48px; }

/* ═══ ANIMATIONS ═══ */
@keyframes fadeUp   { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes fadeLeft { from{opacity:0;transform:translateX(-40px)} to{opacity:1;transform:translateX(0)} }
@keyframes fadeRight{ from{opacity:0;transform:translateX(40px)} to{opacity:1;transform:translateX(0)} }
@keyframes scaleIn  { from{opacity:0;transform:scale(0.88)} to{opacity:1;transform:scale(1)} }
@keyframes float    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes pulse-glow{0%,100%{box-shadow:0 0 20px rgba(254,175,28,0.3)} 50%{box-shadow:0 0 50px rgba(254,175,28,0.7)} }
@keyframes spin-slow { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes counter  { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes shimmer  { 0%{background-position:-200% center} 100%{background-position:200% center} }
@keyframes bounce-x { 0%,100%{transform:translateX(0)} 50%{transform:translateX(5px)} }
@keyframes ticker   { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes pulse-dot{ 0%,100%{opacity:1} 50%{opacity:0.3} }
@keyframes scroll-anim{ 0%{opacity:0;transform:scaleY(0);transform-origin:top} 50%{opacity:1} 100%{opacity:0;transform:scaleY(1);transform-origin:top} }
@keyframes om-glow  { 0%,100%{filter:drop-shadow(0 0 20px rgba(254,175,28,0.5))} 50%{filter:drop-shadow(0 0 40px rgba(254,175,28,0.9))} }
@keyframes mandala-spin{ from{transform:translate(-50%,-50%) rotate(0deg)} to{transform:translate(-50%,-50%) rotate(360deg)} }
@keyframes line-grow{ from{width:0} to{width:100%} }
@keyframes ripple   { 0%{transform:scale(1);opacity:0.6} 100%{transform:scale(2.5);opacity:0} }

/* scroll reveal */
[data-r]{ opacity:0; transform:translateY(28px); transition:opacity 0.8s cubic-bezier(.25,.8,.25,1), transform 0.8s cubic-bezier(.25,.8,.25,1); }
[data-r].on{ opacity:1; transform:none; }
[data-r][data-d="1"]{ transition-delay:0.1s; }
[data-r][data-d="2"]{ transition-delay:0.2s; }
[data-r][data-d="3"]{ transition-delay:0.3s; }
[data-r][data-d="4"]{ transition-delay:0.4s; }
[data-r][data-d="5"]{ transition-delay:0.5s; }
[data-r].from-left { transform:translateX(-32px); }
[data-r].from-left.on { transform:none; }
[data-r].from-right{ transform:translateX(32px); }
[data-r].from-right.on{ transform:none; }
[data-r].scale-in  { transform:scale(0.9); }
[data-r].scale-in.on{ transform:none; }

/* ═══════════════════════════════════
   TICKER BAR
═══════════════════════════════════ */
.ticker {
  background:var(--gold);
  overflow:hidden; height:38px; display:flex; align-items:center;
}
.ticker-track {
  display:flex; gap:80px; animation:ticker 35s linear infinite;
  white-space:nowrap; width:max-content;
}
.ticker-track:hover { animation-play-state:paused; }
@keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.ticker-item {
  display:flex; align-items:center; gap:10px;
  font-family:var(--em-serif); font-size:12px; font-weight:600;
  color:var(--deep); letter-spacing:0.08em; text-transform:uppercase;
}
.ticker-dot { width:5px; height:5px; border-radius:50%; background:var(--blue); flex-shrink:0; }
.ticker-om { font-size:16px; color:var(--blue); font-family:var(--body-serif); }

/* ═══════════════════════════════════
   NAVIGATION
═══════════════════════════════════ */
.nav {
  position:sticky; top:0; z-index:900;
  background:rgba(10, 15, 26, 0.96);
  backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(254,175,28,0.15);
  transition:all 0.3s;
}
.nav-inner {
  max-width:1280px; margin:0 auto; padding:0 48px;
  height:76px; display:flex; align-items:center; justify-content:space-between;
}
.nav-logo { display:flex; align-items:center; gap:14px; width: 120px;}
.nav-logo img{width:100%;}
.nav-logo-emblem {
  width:48px; height:48px; border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--gold-dk));
  display:flex; align-items:center; justify-content:center;
  font-size:22px; box-shadow:0 0 20px rgba(254,175,28,0.4);
}
.nav-logo-txt { }
.nav-logo-txt b {
  display:block; font-family:var(--serif);
  font-size:15px; font-weight:700; color:var(--white);
  letter-spacing:0.12em;
}
.nav-logo-txt small {
  font-size:9.5px; color:rgba(255,255,255,0.45);
  letter-spacing:0.16em; text-transform:uppercase;
}
.nav-links { display:flex; align-items:center; gap:4px; list-style:none; }
.nav-links > li { position:relative; }
.nav-links > li > a {
  display:flex; align-items:center; gap:3px;
  padding:8px 14px; border-radius:6px;
  font-size:12.5px; font-weight:500; color:rgba(255,255,255,0.75);
  letter-spacing:0.04em; transition:all 0.2s;
}
.nav-links > li > a svg { width:10px; height:10px; stroke:currentColor; fill:none; stroke-width:2; opacity:0.5; }
.nav-links > li > a:hover { color:var(--gold); background:rgba(254,175,28,0.08); }
.drop {
  position:absolute; top:calc(100% + 8px); left:0;
  min-width:200px; background:var(--deep2);
  border:1px solid rgba(254,175,28,0.2); border-radius:10px;
  padding:6px; list-style:none;
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
  opacity:0; visibility:hidden; transform:translateY(-4px); transition:all 0.18s; z-index:200;
}
.nav-links > li:hover .drop { opacity:1; visibility:visible; transform:translateY(0); }
.drop li a {
  display:block; padding:9px 14px; border-radius:6px;
  font-size:12.5px; color:rgba(255,255,255,0.65); transition:all 0.15s;
}
.drop li a:hover { background:rgba(254,175,28,0.1); color:var(--gold); }
.nav-actions { display:flex; align-items:center; gap:10px; }
.nav-darshan {
  font-size:11px; font-weight:600; color:var(--gold);
  letter-spacing:0.08em; text-transform:uppercase;
  border:1px solid rgba(254,175,28,0.4); padding:7px 14px; border-radius:20px;
  transition:all 0.2s; display:flex; align-items:center; gap:5px;
}
.nav-darshan:hover { background:rgba(254,175,28,0.1); border-color:var(--gold); }
.nav-darshan-dot { width:6px; height:6px; border-radius:50%; background:#22c55e; animation:pulse-dot 2s infinite; }
@keyframes pulse-dot { 0%,100%{opacity:1} 50%{opacity:0.3} }
.nav-donate {
  background:linear-gradient(135deg, var(--gold), var(--gold-dk));
  color:var(--deep); font-size:12px; font-weight:700;
  padding:9px 22px; border-radius:6px;
  letter-spacing:0.06em; text-transform:uppercase;
  transition:all 0.2s; display:inline-block;
}
.nav-donate:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(254,175,28,0.4); }
.burger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:6px; }
.burger span { width:22px; height:1.5px; background:var(--white); border-radius:2px; }

/* ═══════════════════════════════════
   HERO
═══════════════════════════════════ */
.hero {
  position:relative; min-height:100vh; overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end;
  background:var(--deep);
}
/* Sacred mandala pattern BG */
.hero-bg {
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 30%, rgba(11,125,194,0.25) 0%, transparent 70%),
    radial-gradient(ellipse 60% 40% at 80% 60%, rgba(254,175,28,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at 20% 80%, rgba(11,125,194,0.1) 0%, transparent 60%),
    linear-gradient(180deg, #050810 0%, #0A0F1A 40%, #0D1520 100%);
}
/* Lotus / mandala SVG overlay */
.hero-mandala {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-52%);
  width:min(700px, 90vw); height:min(700px, 90vw);
  opacity:0.06; z-index:1; animation:mandala-spin 80s linear infinite;
}
@keyframes mandala-spin { from{transform:translate(-50%,-52%) rotate(0deg)} to{transform:translate(-50%,-52%) rotate(360deg)} }
.hero-mandala-2 {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-52%);
  width:min(500px, 70vw); height:min(500px, 70vw);
  opacity:0.04; z-index:1; animation:mandala-spin 50s linear infinite reverse;
}
/* Stars / particles */
.hero-particles { position:absolute; inset:0; z-index:1; pointer-events:none; }
.hero-particles::before {
  content:'';
  position:absolute; inset:0;
  background-image:
    radial-gradient(1px 1px at 15% 20%, rgba(254,175,28,0.6), transparent),
    radial-gradient(1px 1px at 30% 10%, rgba(255,255,255,0.4), transparent),
    radial-gradient(1.5px 1.5px at 50% 5%, rgba(254,175,28,0.5), transparent),
    radial-gradient(1px 1px at 70% 15%, rgba(255,255,255,0.3), transparent),
    radial-gradient(1.5px 1.5px at 85% 25%, rgba(254,175,28,0.6), transparent),
    radial-gradient(1px 1px at 10% 50%, rgba(255,255,255,0.3), transparent),
    radial-gradient(2px 2px at 90% 40%, rgba(254,175,28,0.4), transparent),
    radial-gradient(1px 1px at 25% 70%, rgba(255,255,255,0.2), transparent),
    radial-gradient(1.5px 1.5px at 60% 80%, rgba(254,175,28,0.3), transparent),
    radial-gradient(1px 1px at 40% 90%, rgba(255,255,255,0.25), transparent);
}
.hero-img-container {
  position:absolute; inset:0; z-index:2;
}
.hero-img-container img {
  width:100%; height:100%; object-fit:cover;
  opacity:0.35;
}
/* beautiful image overlay */
.hero-overlay {
  position:absolute; inset:0; z-index:3;
  background:
    linear-gradient(to top, rgba(10,15,26,0.97) 0%, rgba(10,15,26,0.6) 30%, rgba(10,15,26,0.1) 60%, transparent 100%),
    linear-gradient(to right, rgba(10,15,26,0.5) 0%, transparent 50%);
}
/* golden glow bottom */
.hero-glow {
  position:absolute; bottom:0; left:0; right:0; height:300px; z-index:3;
  background:linear-gradient(to top, rgba(254,175,28,0.08), transparent);
}
/* top ornamental line */
.hero-top-line {
  position:absolute; top:0; left:0; right:0; height:3px; z-index:10;
  background:linear-gradient(90deg, transparent, var(--gold), var(--blue), var(--gold), transparent);
}
.hero-content {
  position:relative; z-index:5;
  max-width:1280px; margin:0 auto; padding:0 48px 88px;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:flex-end;
}
.hero-left { }
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:10px; margin-bottom:20px;
}
.hero-eyebrow-line { width:40px; height:1px; background:var(--gold); }
.hero-eyebrow span {
  font-family:var(--serif); font-size:10px; font-weight:600;
  color:var(--gold); letter-spacing:0.2em; text-transform:uppercase;
}
.hero-om {
  font-family:var(--body-serif); font-size:50px; color:var(--gold);
  line-height:1; margin-bottom:8px; display:block;
  filter:drop-shadow(0 0 20px rgba(254,175,28,0.5)); 
  animation:om-glow 4s ease-in-out infinite;
}
@keyframes om-glow {
  0%,100% { filter:drop-shadow(0 0 20px rgba(254,175,28,0.5)); }
  50% { filter:drop-shadow(0 0 40px rgba(254,175,28,0.9)); }
}
.hero-h1 {
  font-family:var(--serif);
  font-size:clamp(44px, 5.5vw, 82px);
  font-weight:700; color:var(--white);
  line-height:1.04; letter-spacing:-0.01em;
  margin-bottom:8px;
  text-shadow:0 4px 40px rgba(0,0,0,0.5);
}
.hero-h1 span { color:var(--gold); display:block; }
.hero-subtitle {
  font-family:var(--body-serif); font-size:20px; font-weight:600;
  color:rgba(255,255,255,0.55); letter-spacing:0.06em;
  margin-bottom:28px; font-style:italic;
}
.mahamantra {
  font-family:var(--body-serif); font-size:15px; font-style:italic;
  color:rgba(254,175,28,0.8); letter-spacing:0.04em;
  border-left:2px solid var(--gold); padding-left:16px;
  line-height:1.9; margin-bottom:36px;
}
.hero-btns { display:flex; gap:14px; flex-wrap:wrap; }
.btn-primary {
  background:linear-gradient(135deg, var(--gold), var(--gold-dk));
  color:var(--deep); font-family:var(--serif);
  font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  padding:16px 36px; border-radius:4px;
  display:inline-block; transition:all 0.3s;
  box-shadow:0 4px 24px rgba(254,175,28,0.3);
}
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 10px 36px rgba(254,175,28,0.5); }
.btn-secondary {
  border:1px solid rgba(254,175,28,0.4); color:rgba(255,255,255,0.85);
  font-family:var(--serif); font-size:12px; font-weight:600;
  letter-spacing:0.12em; text-transform:uppercase;
  padding:15px 30px; border-radius:4px;
  display:inline-flex; align-items:center; gap:8px; transition:all 0.3s;
}
.btn-secondary:hover { border-color:var(--gold); color:var(--gold); background:rgba(254,175,28,0.05); }
.btn-play-ico {
  width:28px; height:28px; border-radius:50%;
  border:1px solid currentColor; display:flex; align-items:center; justify-content:center;
}
.btn-play-ico svg { width:10px; height:10px; fill:currentColor; margin-left:2px; }

/* Hero right panel */
.hero-right {
  display:flex; flex-direction:column; gap:16px; padding-bottom:8px;
}
/* darshan time card */
.darshan-card {
  background:rgba(10,15,26,0.85);
  border:1px solid rgba(254,175,28,0.2);
  border-radius:12px; padding:22px 24px;
  backdrop-filter:blur(20px);
}
.darshan-card-header {
  display:flex; align-items:center; gap:10px; margin-bottom:16px;
}
.darshan-card-header .live-dot {
  width:8px; height:8px; border-radius:50%; background:#22c55e;
  animation:pulse-dot 2s infinite; flex-shrink:0;
}
.darshan-card-header h4 {
  font-family:var(--serif); font-size:13px; font-weight:600;
  color:var(--gold); letter-spacing:0.12em; text-transform:uppercase;
}
.darshan-times { display:flex; flex-direction:column; gap:8px; }
.dt-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:9px 12px; border-radius:6px; background:rgba(255,255,255,0.04);
}
.dt-row-label { font-size:11.5px; color:rgba(255,255,255,0.5); letter-spacing:0.04em; }
.dt-row-time { font-family:var(--serif); font-size:12.5px; font-weight:600; color:var(--white); }
.dt-row.highlight { background:rgba(254,175,28,0.1); border:1px solid rgba(254,175,28,0.2); }
.dt-row.highlight .dt-row-label { color:var(--gold); }
.dt-row.highlight .dt-row-time { color:var(--gold); }
/* today's festival */
.festival-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(135deg, rgba(11,125,194,0.3), rgba(11,125,194,0.1));
  border:1px solid rgba(11,125,194,0.4);
  border-radius:20px; padding:6px 14px; margin-top:12px;
}
.festival-badge span { font-size:11.5px; color:var(--blue-lt); font-weight:500; }
.festival-badge-ico { font-size:14px; }
/* quick donate card */
.donate-card {
  background:linear-gradient(135deg, rgba(11,125,194,0.15), rgba(11,125,194,0.05));
  border:1px solid rgba(11,125,194,0.25);
  border-radius:12px; padding:20px 24px;
  backdrop-filter:blur(20px);
}
.donate-card h4 {
  font-family:var(--serif); font-size:13px; font-weight:600;
  color:var(--white); letter-spacing:0.1em; margin-bottom:12px;
}
.donate-amounts { display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
.da {
  flex:1; min-width:60px; padding:9px 10px; text-align:center;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
  border-radius:6px; font-family:var(--serif); font-size:12.5px;
  color:rgba(255,255,255,0.7); cursor:pointer; transition:all 0.2s;
}
.da:hover,.da.active { background:rgba(254,175,28,0.15); border-color:var(--gold); color:var(--gold); }
.donate-btn-full {
  width:100%; background:linear-gradient(135deg,var(--blue),var(--blue-dk));
  color:var(--white); font-family:var(--serif);
  font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  padding:12px; border-radius:6px; border:none; cursor:pointer;
  transition:all 0.2s; display:block; text-align:center;
}
.donate-btn-full:hover { background:var(--blue-lt); transform:translateY(-1px); }
/* scroll indicator */
.hero-scroll {
  position:absolute; bottom:32px; left:50%; transform:translateX(-50%);
  z-index:5; display:flex; flex-direction:column; align-items:center; gap:6px;
}
.hero-scroll span { font-size:9px; letter-spacing:0.2em; color:rgba(255,255,255,0.3); text-transform:uppercase; }
.scroll-line {
  width:1px; height:40px;
  background:linear-gradient(to bottom, rgba(254,175,28,0.6), transparent);
  animation:scroll-anim 2s ease-in-out infinite;
}
@keyframes scroll-anim { 0%{opacity:0;transform:scaleY(0);transform-origin:top} 50%{opacity:1} 100%{opacity:0;transform:scaleY(1);transform-origin:top} }

/* ═══════════════════════════════════
   SECTION HELPERS
═══════════════════════════════════ */
.eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--serif); font-size:10px; font-weight:600;
  color:var(--gold); letter-spacing:0.2em; text-transform:uppercase;
  margin-bottom:14px;
}
.eyebrow::before { content:''; width:30px; height:1px; background:var(--gold); display:block; }
.eyebrow-blue { color:var(--blue); }
.eyebrow-blue::before { background:var(--blue); }
.eyebrow-w { color:rgba(254,175,28,0.8); }
.eyebrow-w::before { background:rgba(254,175,28,0.4); }
.sec-h2 {
  font-family:var(--serif);
  font-size:clamp(30px, 3.2vw, 48px);
  font-weight:700; color:var(--text);
  line-height:1.12; letter-spacing:-0.01em; margin-bottom:16px;
}
.sec-h2 em {font-family:var(--em-serif); font-style:italic; color:var(--blue); }
.sec-h2-white { color:var(--white); }
.sec-h2-white em {font-family:var(--em-serif); color:var(--gold); }
.sec-p { font-family:var(--body-serif); font-size:17px; line-height:1.85; color:var(--muted); font-weight:600; }
.btn-outline-gold {
  border:1px solid var(--gold); color:var(--gold);
  font-family:var(--serif); font-size:11px; font-weight:600;
  letter-spacing:0.14em; text-transform:uppercase;
  padding:12px 28px; border-radius:4px;
  display:inline-block; transition:all 0.2s;
}
.btn-outline-gold:hover { background:var(--gold); color:var(--deep); }
.btn-outline-blue {
  border:1px solid var(--blue); color:var(--blue);
  font-family:var(--serif); font-size:11px; font-weight:600;
  letter-spacing:0.14em; text-transform:uppercase;
  padding:12px 28px; border-radius:4px;
  display:inline-block; transition:all 0.2s;
}
.btn-outline-blue:hover { background:var(--blue); color:var(--white); }

/* ornamental divider */
.ornament {
  display:flex; align-items:center; gap:16px; margin:0 auto;
  justify-content:center;
}
.ornament-line { flex:1; max-width:120px; height:1px; background:linear-gradient(to right, transparent, var(--gold)); }
.ornament-line.rev { background:linear-gradient(to left, transparent, var(--gold)); }
.ornament-ico { font-size:20px; color:var(--gold); }

/* ═══════════════════════════════════
   DEITY DARSHAN SECTION
═══════════════════════════════════ */
.deity-section {
  padding:100px 0; background:var(--cream);
  position:relative; overflow:hidden;
}
.deity-section::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--blue), var(--gold), var(--blue));
}
.deity-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.deity-images { position:relative; }
.deity-main-img {
  width:100%; aspect-ratio:3/4; object-fit:cover;
  border-radius:12px;
  box-shadow:0 24px 80px rgba(11,125,194,0.2), 0 0 0 4px var(--gold);
}
.deity-accent-img {
  position:absolute; bottom:-28px; right:-28px;
  width:50%; aspect-ratio:1; object-fit:cover;
  border-radius:10px;
  border:4px solid var(--cream);
  box-shadow:0 12px 40px rgba(0,0,0,0.2);
}
.deity-badge {
  position:absolute; top:-16px; left:24px;
  background:linear-gradient(135deg, var(--gold), var(--gold-dk));
  padding:10px 20px; border-radius:4px;
  font-family:var(--serif); font-size:11px; font-weight:700;
  color:var(--deep); letter-spacing:0.1em; text-transform:uppercase;
  box-shadow:0 8px 24px rgba(254,175,28,0.4);
}
.deity-txt .sec-p { margin-bottom:24px; }
.deity-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:32px 0 36px; }
.dstat {
  text-align:center; padding:20px 12px;
  background:var(--white); border-radius:8px;
  border-bottom:3px solid var(--gold);
  box-shadow:0 4px 16px rgba(11,125,194,0.06);
}
.dstat:nth-child(2) { border-bottom-color:var(--blue); }
.dstat-n {
  font-family:var(--serif); font-size:28px; font-weight:700;
  color:var(--gold); line-height:1; margin-bottom:4px;
}
.dstat:nth-child(2) .dstat-n { color:var(--blue); }
.dstat-l { font-size:11px; color:var(--muted); letter-spacing:0.06em; }

/* ═══════════════════════════════════
   PROGRAMS / ACTIVITIES
═══════════════════════════════════ */
.programs { padding:100px 0; background:var(--deep); position:relative; overflow:hidden; }
.programs::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 20% 50%, rgba(11,125,194,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 80% 30%, rgba(254,175,28,0.06) 0%, transparent 60%);
}
.programs-head { text-align:center; margin-bottom:64px; position:relative; z-index:1; }
.programs-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  position:relative; z-index:1;
}
.prog-card {
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:12px; overflow:hidden; transition:all 0.4s;
  group: true;
}
.prog-card:hover {
  transform:translateY(-6px);
  border-color:rgba(254,175,28,0.25);
  box-shadow:0 20px 60px rgba(0,0,0,0.4), 0 0 0 1px rgba(254,175,28,0.1);
}
.prog-card-img { aspect-ratio:16/9; overflow:hidden; position:relative; }
.prog-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.prog-card:hover .prog-card-img img { transform:scale(1.08); }
.prog-card-img-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,15,26,0.8), transparent);
}
.prog-num {
  position:absolute; top:14px; left:14px;
  font-family:var(--serif); font-size:11px; font-weight:700;
  color:var(--gold); letter-spacing:0.1em;
  background:rgba(10,15,26,0.7); padding:4px 10px; border-radius:12px;
  border:1px solid rgba(254,175,28,0.3);
}
.prog-body { padding:24px 26px 28px; }
.prog-tag {
  font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--blue-lt); margin-bottom:8px; display:block;
}
.prog-body h4 {
  font-family:var(--serif); font-size:18px; font-weight:700;
  color:var(--white); margin-bottom:10px; line-height:1.3;
}
.prog-body p { font-size:13.5px; color:rgba(255,255,255,0.5); line-height:1.75; margin-bottom:18px; font-weight: 600;}
.prog-link {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--serif); font-size:11px; font-weight:600;
  color:var(--gold); letter-spacing:0.1em; text-transform:uppercase;
  transition:gap 0.2s;
}
.prog-card:hover .prog-link { gap:10px; }
/* featured big card */
.prog-card.featured {
  grid-column:span 2;
}
.prog-card.featured .prog-card-img { aspect-ratio:21/9; }
.prog-card.featured .prog-body h4 { font-size:24px; }

/* ═══════════════════════════════════
   FESTIVALS / EVENTS
═══════════════════════════════════ */
.festivals { padding:100px 0; background:var(--cream); }
.festivals-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; flex-wrap:wrap; gap:20px; }
.festivals-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.fest-card {
  border-radius:10px; overflow:hidden; position:relative;
  transition:transform 0.35s, box-shadow 0.35s;
  cursor:pointer;
}
.fest-card:hover { transform:translateY(-5px); box-shadow:0 20px 60px rgba(11,125,194,0.15); }
.fest-img { aspect-ratio:3/4; overflow:hidden; }
.fest-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.fest-card:hover .fest-img img { transform:scale(1.08); }
.fest-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,15,26,0.88) 40%, rgba(10,15,26,0.2) 70%, transparent 100%);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:20px 18px;
}
.fest-date {
  font-family:var(--serif); font-size:11px; font-weight:600;
  color:var(--gold); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:6px;
}
.fest-title {
  font-family:var(--serif); font-size:16px; font-weight:700;
  color:var(--white); line-height:1.3; margin-bottom:4px;
}
.fest-sub { font-size:12px; color:rgba(255,255,255,0.55); }
.fest-tag {
  position:absolute; top:14px; right:14px;
  background:var(--blue); color:var(--white);
  font-size:10px; font-weight:700; padding:4px 10px; border-radius:10px;
  letter-spacing:0.06em; text-transform:uppercase;
}
.fest-card:nth-child(2) .fest-tag { background:var(--gold); color:var(--deep); }
.fest-card:nth-child(3) .fest-tag { background:var(--blue); }
.fest-card:nth-child(4) .fest-tag { background:var(--gold); color:var(--deep); }

/* ═══════════════════════════════════
   PRABHUPADA / FOUNDER SECTION
═══════════════════════════════════ */
.founder { padding:100px 0; position:relative; overflow:hidden; background:var(--deep); }
.founder::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 50% 70% at 70% 50%, rgba(254,175,28,0.07) 0%, transparent 70%),
    radial-gradient(ellipse 40% 50% at 10% 30%, rgba(11,125,194,0.1) 0%, transparent 60%);
}
.founder-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; position:relative; z-index:1; }
.founder-visual { position:relative; }
.founder-frame {
  position:relative; display:inline-block;
  width:100%;
}
.founder-img {
  width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top;
  border-radius:8px;
  box-shadow:0 20px 80px rgba(0,0,0,0.5);
}
.founder-gold-frame {
  position:absolute; inset:-8px;
  border:1px solid rgba(254,175,28,0.3); border-radius:12px;
  pointer-events:none;
}
.founder-gold-frame::before, .founder-gold-frame::after {
  content:''; position:absolute;
  width:20px; height:20px;
  border-color:var(--gold); border-style:solid;
}
.founder-gold-frame::before { top:-2px; left:-2px; border-width:2px 0 0 2px; border-radius:2px 0 0 0; }
.founder-gold-frame::after { bottom:-2px; right:-2px; border-width:0 2px 2px 0; border-radius:0 0 2px 0; }
.founder-quote-badge {
  position:absolute; bottom:-20px; right:-20px;
  background:linear-gradient(135deg, var(--gold), var(--gold-dk));
  border-radius:10px; padding:20px 22px; max-width:220px;
  box-shadow:0 12px 36px rgba(254,175,28,0.3);
}
.founder-quote-badge p {
  font-family:var(--body-serif); font-size:13.5px; font-style:italic;
  color:var(--deep); line-height:1.6;
}
.founder-quote-badge cite { font-size:11px; color:rgba(10,15,26,0.6); display:block; margin-top:8px; }
.founder-txt .eyebrow { display:block; }
.founder-txt .sec-h2-white { margin-bottom:10px; }
.founder-name-subtitle {
  font-family:var(--body-serif); font-size:17px; font-style:italic;
  color:var(--gold); margin-bottom:24px; opacity:0.85;
}
.founder-txt .sec-p { color:rgba(255,255,255,0.55); margin-bottom:16px; font-size:17px; font-weight:600;}
.founder-pillars { display:flex; flex-direction:column; gap:12px; margin:28px 0 36px; }
.fp {
  display:flex; align-items:flex-start; gap:12px;
  padding:14px 18px; border-radius:8px;
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.07);
  transition:all 0.3s;
}
.fp:hover { background:rgba(254,175,28,0.06); border-color:rgba(254,175,28,0.2); }
.fp-ico { font-size:20px; flex-shrink:0; }
.fp b { display:block; font-family:var(--serif); font-size:12.5px; font-weight:600; color:var(--white); margin-bottom:3px; letter-spacing:0.04em; }
.fp span { font-size:13px; color:rgba(255,255,255,0.45); line-height:1.5; }

/* ═══════════════════════════════════
   DONATE / SEVA
═══════════════════════════════════ */
.seva { padding:100px 0; background:var(--warm); position:relative; overflow:hidden; }
.seva::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 80% 50%, rgba(11,125,194,0.08) 0%, transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='20' cy='20' r='1' fill='rgba(254,175,28,0.15)'/%3E%3C/svg%3E");
}
.seva-inner { position:relative; z-index:1; }
.seva-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.seva-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.seva-card {
  background:var(--white); border-radius:10px; padding:24px 22px;
  border-bottom:3px solid var(--gold);
  box-shadow:0 4px 20px rgba(0,0,0,0.06);
  transition:all 0.3s;
}
.seva-card:nth-child(2) { border-bottom-color:var(--blue); }
.seva-card:nth-child(3) { border-bottom-color:var(--blue); }
.seva-card:nth-child(4) { border-bottom-color:var(--gold); }
.seva-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.1); }
.seva-ico { font-size:32px; margin-bottom:12px; }
.seva-card h4 { font-family:var(--serif); font-size:14px; font-weight:700; color:var(--text); margin-bottom:6px; }
.seva-card p { font-size:12.5px; color:var(--muted); line-height:1.65; margin-bottom:14px; }
.seva-amount {
  font-family:var(--serif); font-size:18px; font-weight:700; color:var(--gold);
  display:block; margin-bottom:10px;
}
.seva-card:nth-child(2) .seva-amount,.seva-card:nth-child(3) .seva-amount { color:var(--blue); }
.seva-card-btn {
  font-family:var(--serif); font-size:10px; font-weight:700; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--gold); display:inline-flex; align-items:center; gap:4px;
  transition:gap 0.2s;
}
.seva-card:hover .seva-card-btn { gap:8px; }
.seva-card:nth-child(2) .seva-card-btn,.seva-card:nth-child(3) .seva-card-btn { color:var(--blue); }
.seva-txt .sec-p { margin-bottom:24px; }
.seva-cert { display:flex; align-items:center; gap:10px; background:rgba(11,125,194,0.08); border:1px solid rgba(11,125,194,0.2); border-radius:8px; padding:12px 16px; margin-top:20px; }
.seva-cert span { font-size:13px; color:var(--blue-dk); }
.seva-cert strong { color:var(--blue); }

/* ═══════════════════════════════════
   GALLERY STRIP
═══════════════════════════════════ */
.gallery-strip { padding:80px 0 0; background:var(--cream); }
.gallery-strip-head { text-align:center; margin-bottom:48px; }
.gallery-masonry {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  grid-template-rows:220px 220px;
  gap:6px;
}
.gm-item { overflow:hidden; position:relative; cursor:pointer; }
.gm-item:nth-child(1) { grid-column:span 2; grid-row:span 2; }
.gm-item:nth-child(5) { grid-column:span 2; }
.gm-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.gm-item:hover img { transform:scale(1.08); }
.gm-overlay {
  position:absolute; inset:0;
  background:rgba(10,15,26,0); transition:background 0.3s;
  display:flex; align-items:center; justify-content:center;
}
.gm-item:hover .gm-overlay { background:rgba(10,15,26,0.4); }
.gm-overlay-ico { font-size:32px; opacity:0; transform:scale(0.7); transition:all 0.3s; }
.gm-item:hover .gm-overlay-ico { opacity:1; transform:scale(1); }

/* ═══════════════════════════════════
   TESTIMONIALS / DEVOTEE VOICES
═══════════════════════════════════ */
.voices { padding:100px 0; background:var(--deep); position:relative; overflow:hidden; }
.voices::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 50% 60% at 50% 50%, rgba(11,125,194,0.08) 0%, transparent 70%);
}
.voices-head { text-align:center; margin-bottom:60px; position:relative; z-index:1; }
.voices-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; z-index:1; }
.voice-card {
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px; padding:32px 28px;
  transition:all 0.3s;
}
.voice-card:hover { background:rgba(255,255,255,0.07); border-color:rgba(254,175,28,0.2); transform:translateY(-3px); }
.voice-card:nth-child(2) { border-color:rgba(11,125,194,0.2); }
.qmark {
  font-family:var(--body-serif); font-size:72px;
  color:var(--gold); line-height:0.8; margin-bottom:14px;
  font-style:italic; font-weight:300;
}
.voice-card:nth-child(2) .qmark { color:var(--blue-lt); }
.voice-txt { font-family:var(--body-serif); font-size:16px; font-style:italic; color:rgba(255,255,255,0.6); line-height:1.6.5; margin-bottom:24px;font-weight:500; }
.voice-person { display:flex; align-items:center; gap:12px; }
.voice-person img { width:44px; height:44px; border-radius:50%; object-fit:cover; border:2px solid var(--gold); }
.voice-card:nth-child(2) .voice-person img { border-color:var(--blue-lt); }
.voice-person b { display:block; font-family:var(--serif); font-size:12.5px; color:var(--white); margin-bottom:2px; letter-spacing:0.04em; }
.voice-person span { font-size:12px; color:rgba(255,255,255,0.4); }

/* ═══════════════════════════════════
   NEWSLETTER / JOIN
═══════════════════════════════════ */
.join-section {
  padding:80px 0; position:relative; overflow:hidden;
  background:linear-gradient(135deg, var(--blue-dk) 0%, var(--blue) 50%, rgb(8,100,160) 100%);
}
.join-section::before {
  content:'ॐ'; position:absolute; right:-40px; top:50%; transform:translateY(-50%);
  font-size:400px; color:rgba(255,255,255,0.04); font-family:var(--body-serif);
  pointer-events:none; line-height:1;
}
.join-inner { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative; z-index:1; }
.join-txt h2 { font-family:var(--serif); font-size:clamp(28px,3vw,42px); font-weight:700; color:var(--white); margin-bottom:12px; line-height:1.15; }
.join-txt h2 em { font-family:var(--em-serif); font-style:italic; font-weight:300; color:var(--gold); }
.join-txt p { font-family:var(--body-serif); font-size:17px; color:rgba(255,255,255,0.65); line-height:1.8; }
.join-form { display:flex; flex-direction:column; gap:12px; }
.join-form-row { display:flex; gap:10px; }
.join-input {
  flex:1; padding:14px 18px; border-radius:6px;
  border:1px solid rgba(255,255,255,0.15); background:rgba(255,255,255,0.1);
  color:var(--white); font-family:var(--sans); font-size:13.5px;
  outline:none; transition:border-color 0.2s;
  backdrop-filter:blur(10px);
}
.join-input::placeholder { color:rgba(255,255,255,0.45); }
.join-input:focus { border-color:var(--gold); }
.join-select {
  padding:14px 18px; border-radius:6px;
  border:1px solid rgba(255,255,255,0.15); background:rgba(255,255,255,0.1);
  color:rgba(255,255,255,0.7); font-family:var(--sans); font-size:13.5px;
  outline:none; min-width:160px; transition:border-color 0.2s;
}
.join-select:focus { border-color:var(--gold); }
.join-submit {
  background:linear-gradient(135deg, var(--gold), var(--gold-dk));
  color:var(--deep); font-family:var(--serif); font-size:11px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  padding:14px 28px; border-radius:6px; border:none; cursor:pointer;
  transition:all 0.2s; white-space:nowrap;
}
.join-submit:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(254,175,28,0.4); }
.join-privacy { font-size:11.5px; color:rgba(255,255,255,0.4); }
.join-channels { display:flex; gap:10px; margin-top:8px; flex-wrap:wrap; }
.jch {
  display:flex; align-items:center; gap:6px;
  padding:8px 14px; border-radius:20px;
  background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.15);
  font-size:12px; color:rgba(255,255,255,0.7); transition:all 0.2s;
}
.jch:hover { background:rgba(254,175,28,0.15); border-color:var(--gold); color:var(--gold); }
.jch-ico { font-size:14px; }

/* ═══════════════════════════════════
   CONTACT STRIP
═══════════════════════════════════ */
.contact-strip { padding:64px 0; background:var(--cream); }
.contact-strip-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid rgba(11,125,194,0.12); border-radius:10px; overflow:hidden; }
.cs-card {
  padding:28px 28px; display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:12px; border-right:1px solid rgba(11,125,194,0.12);
  background:var(--white); transition:all 0.3s;
}
.cs-card:last-child { border-right:none; }
.cs-card:hover { background:var(--blue); }
.cs-card:hover .cs-title { color:var(--white); }
.cs-card:hover .cs-val { color:rgba(255,255,255,0.75); }
.cs-ico { width:48px; height:48px; border-radius:50%; background:var(--blue-bg); display:flex; align-items:center; justify-content:center; transition:background 0.3s; }
.cs-card:hover .cs-ico { background:rgba(255,255,255,0.15); }
.cs-ico svg { width:20px; height:20px; stroke:var(--blue); fill:none; stroke-width:1.8; transition:stroke 0.3s; }
.cs-card:hover .cs-ico svg { stroke:var(--gold); }
.cs-title { font-family:var(--serif); font-size:13px; font-weight:700; color:var(--text); letter-spacing:0.06em; transition:color 0.3s; }
.cs-val { font-size:12.5px; color:var(--muted); line-height:1.6; transition:color 0.3s; }

/* ═══════════════════════════════════
   FOOTER
═══════════════════════════════════ */
.footer-top-bar {
  height:5px;
  background:linear-gradient(90deg, var(--blue), var(--gold), var(--blue-lt), var(--gold), var(--blue));
}
.footer { background:var(--deep2); padding:72px 0 0; }
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:56px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,0.06); }
.footer-brand img { height:48px; filter:brightness(0) invert(1) sepia(1) saturate(0) brightness(2); margin-bottom:16px; }
.footer-brand-name {
  font-family:var(--serif); font-size:16px; font-weight:700;
  color:var(--white); letter-spacing:0.08em; margin-bottom:4px;
}
.footer-brand-sub { font-size:11px; color:rgba(255,255,255,0.35); letter-spacing:0.12em; margin-bottom:16px; text-transform:uppercase; }
.footer-brand p { font-family:var(--body-serif); font-size:14.5px; color:rgba(255,255,255,0.35); line-height:1.8; max-width:260px; }
.footer-socials { display:flex; gap:8px; margin-top:20px; }
.footer-socials a {
  width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(255,255,255,0.1);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; color:rgba(255,255,255,0.4); transition:all 0.2s;
}
.footer-socials a:hover { border-color:var(--gold); color:var(--gold); background:rgba(254,175,28,0.08); }
.footer-col h5 {
  font-family:var(--serif); font-size:11px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--gold); margin-bottom:20px;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col ul li a { font-size:13px; color:rgba(255,255,255,0.45); transition:color 0.2s; }
.footer-col ul li a:hover { color:var(--white); }
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 0; font-size:12px;
  color:rgba(255,255,255,0.2); flex-wrap:wrap; gap:8px;
}
.footer-bottom a { color:rgba(255,255,255,0.2); }
.footer-bottom a:hover { color:rgba(255,255,255,0.5); }
.footer-mantra {
  font-family:var(--body-serif); font-size:14px; font-style:italic;
  color:rgba(254,175,28,0.4); text-align:center; padding:20px 0;
  border-top:1px solid rgba(255,255,255,0.04);
}


/* ════════════════════════════════════════
   FIXED MOBILE DONATE BUTTON
════════════════════════════════════════ */
.mobile-donate-bar{
  display:none;
  position:fixed;
  bottom:0; left:0; right:0;
  z-index:800;
  background:linear-gradient(90deg,var(--deep2),rgba(10,15,26,0.98));
  border-top:1px solid rgba(254,175,28,0.25);
  padding:12px 20px;
  align-items:center;
  gap:12px;
  backdrop-filter:blur(16px);
  box-shadow:0 -8px 32px rgba(0,0,0,0.5);
}
.mdb-info{flex:1}
.mdb-info span{display:block;font-family:var(--sans);font-size:11px;font-weight:600;color:rgba(255,255,255,0.45);letter-spacing:0.06em}
.mdb-info b{display:block;font-family:var(--serif);font-size:14px;font-weight:700;color:var(--white);letter-spacing:0.04em}
.mdb-btn{
  background:linear-gradient(135deg,var(--gold),var(--gold-dk));
  color:var(--deep);
  font-family:var(--serif);
  font-size:12px;
  font-weight:700;
  padding:13px 22px;
  border-radius:8px;
  border:none;
  letter-spacing:0.08em;
  text-transform:uppercase;
  white-space:nowrap;
  text-decoration:none;
  display:inline-block;
  box-shadow:0 4px 18px rgba(254,175,28,0.4);
  flex-shrink:0;
}
/* ═══════════════════════════════════
   SCROLL REVEALS
═══════════════════════════════════ */
[data-r] { opacity:0; transform:translateY(24px); transition:opacity 0.75s ease, transform 0.75s ease; }
[data-r].on { opacity:1; transform:none; }
[data-r][data-d="1"] { transition-delay:0.1s; }
[data-r][data-d="2"] { transition-delay:0.2s; }
[data-r][data-d="3"] { transition-delay:0.3s; }
[data-r][data-d="4"] { transition-delay:0.4s; }

/* MOBILE NAV */
.mob-nav { display:none; position:fixed; inset:0; background:var(--deep); z-index:9999; flex-direction:column; padding:28px 32px; overflow-y:auto; }
.mob-nav.open { display:flex; }
.mob-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:40px; }
.mob-top .nav-logo-txt b { color:var(--white); }
.mob-close { background:none; border:none; font-size:26px; color:rgba(255,255,255,0.5); cursor:pointer; }
.mob-list { list-style:none; }
.mob-list li a { display:block; padding:16px 0; font-family:var(--serif); font-size:18px; color:rgba(255,255,255,0.75); border-bottom:1px solid rgba(255,255,255,0.06); letter-spacing:0.06em; }
.mob-list li a:hover { color:var(--gold); }
.mob-bottom { margin-top:32px; display:flex; flex-direction:column; gap:10px; }

@media(max-width:1100px){
  .hero-content { grid-template-columns:1fr; }
  .hero-right { display:none; }
  .deity-grid,.founder-grid,.seva-grid,.join-inner { grid-template-columns:1fr; gap:52px; }
  .programs-grid { grid-template-columns:1fr 1fr; }
  .prog-card.featured { grid-column:span 2; }
  .festivals-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-masonry { grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(3,180px); }
  .gm-item:nth-child(1) { grid-column:span 2; grid-row:span 2; }
  .voices-grid { grid-template-columns:1fr 1fr; }
  .contact-strip-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:768px){
      /* show mobile donate bar */
  .mobile-donate-bar{display:flex}
  .nav-links,.nav-actions { display:none; }
  .burger { display:flex; }
  .wrap { padding:0 22px; }
  .hero-content { padding:0 22px 72px; }
  .deity-accent-img{right:-8px;}
  .programs-grid,.festivals-grid,.voices-grid { grid-template-columns:1fr; }
  .prog-card.featured { grid-column:span 1; }
  .prog-card.featured .prog-card-img { aspect-ratio:16/9; }
  .seva-cards { grid-template-columns:1fr; }
  .gallery-masonry { grid-template-columns:1fr 1fr; grid-template-rows:repeat(4,160px); }
  .gm-item:nth-child(1) { grid-column:span 2; grid-row:span 1; }
  .contact-strip-grid { grid-template-columns:1fr; }
  .join-inner { grid-template-columns:1fr; gap:36px; }
  .join-form-row { flex-direction:column; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .hero-btns { flex-direction:column; }
  .deity-stats { grid-template-columns:1fr 1fr; }
}

