/* ============================================
   SARVADEO MANDIR
   Style: Ancient Divine Manuscript × Modern Temple
   Palette: Saffron · Deep Ruby · Luminous Gold · Ivory
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&family=Cinzel:wght@400;500;600;700&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

:root {
  /* Warm divine palette */
  --saffron:       #E8630A;
  --saffron-light: #F4922A;
  --saffron-pale:  #FDE8CC;
  --gold:          #C9952A;
  --gold-mid:      #E8B84B;
  --gold-bright:   #F7D77A;
  --gold-shine:    #FFF0A0;
  --ruby:          #8B0A0A;
  --ruby-mid:      #B01515;
  --ruby-deep:     #550505;
  --ruby-glow:     rgba(176,21,21,0.4);
  --amber:         #D4700A;
  --cream:         #100200;
  --ivory:         #0B0100;
  --parchment:     #150300;
  --parchment-dk:  #1C0500;
  --dark:          #1C0A00;
  --dark-mid:      #2E1000;
  --text-dark:     rgba(240,215,170,0.95);
  --text-mid:      rgba(220,185,145,0.85);
  --text-soft:     rgba(195,160,115,0.7);

  --font-deco:    'Cinzel Decorative', serif;
  --font-heading: 'Cinzel', serif;
  --font-body:    'EB Garamond', serif;

  --transition:   all 0.3s cubic-bezier(0.4,0,0.2,1);

  /* Ornate border gradient */
  --border-ornate: linear-gradient(90deg,
    transparent, var(--gold) 20%, var(--gold-bright) 50%, var(--gold) 80%, transparent);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family: var(--font-body);
  background: var(--cream);
  color: var(--text-dark);
  overflow-x: hidden;
  line-height: 1.7;
}
body.nav-open { overflow:hidden; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }

::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background: var(--dark); }
::-webkit-scrollbar-thumb { background: linear-gradient(var(--gold),var(--saffron)); border-radius:3px; }

/* ============================================
   PRELOADER
   ============================================ */
.preloader {
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  background: radial-gradient(ellipse at center, #3D0A00 0%, #1A0400 50%, #0A0200 100%);
  transition: opacity 1.4s ease, visibility 1.4s ease;
}
.preloader.hidden { opacity:0; visibility:hidden; pointer-events:none; }

.preloader-inner { text-align:center; position:relative; z-index:2; }

.preloader-logo-wrap {
  position:relative;
  width:140px; height:140px;
  margin:0 auto;
  display:flex; align-items:center; justify-content:center;
}

.preloader-logo {
  width:100px; height:100px;
  object-fit:contain;
  border-radius:50%;
  animation: logoPulse 2.4s ease-in-out infinite;
  position:relative; z-index:2;
}
@keyframes logoPulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:0.85; transform:scale(1.04); }
}

/* Outer spinning arc */
.preloader-ring {
  position:absolute; inset:0;
  border-radius:50%;
  border:3px solid transparent;
  border-top-color:var(--gold-bright);
  border-right-color:rgba(201,149,42,0.4);
  animation: ringSpinn 1.1s linear infinite;
}
/* Inner slower counter-ring */
.preloader-ring-inner {
  position:absolute; inset:10px;
  border-radius:50%;
  border:2px solid transparent;
  border-bottom-color:rgba(232,99,10,0.7);
  border-left-color:rgba(232,99,10,0.25);
  animation: ringSpinn 1.8s linear infinite reverse;
}
@keyframes ringSpinn { to { transform:rotate(360deg); } }

.preloader-text {
  font-family:var(--font-heading); font-size:0.9rem; letter-spacing:0.5em;
  text-transform:uppercase; color:rgba(247,215,122,0.8);
  margin-top:1.4rem; animation:fadeUp 1s ease 0.4s both;
}
@keyframes fadeUp {
  from { opacity:0; transform:translateY(12px); }
  to   { opacity:0.8; transform:translateY(0); }
}

/* ============================================
   STARFIELD CANVAS
   ============================================ */
#starfield {
  position:absolute; inset:0; z-index:1;
  width:100%; height:100%; pointer-events:none;
  opacity:0; transition:opacity 2s ease;
}
#starfield.visible { opacity:1; }

/* Gold pixie dust canvas */
#pixie-dust {
  position:fixed; top:0; left:0;
  width:100%; height:420px;
  pointer-events:none; z-index:199;
  transition: opacity 0.3s ease;
}

/* ============================================
   HEADER
   ============================================ */
.site-header {
  position:fixed; top:0; left:0; right:0; z-index:200;
  background: linear-gradient(180deg,
    rgba(28,10,0,0.97) 0%, rgba(46,16,0,0.95) 100%);
  backdrop-filter:blur(12px);
  transition:var(--transition);
}
.site-header.scrolled {
  box-shadow: 0 4px 40px rgba(0,0,0,0.6), 0 2px 0 rgba(201,149,42,0.3);
}

.header-ornament {
  height:3px;
  background: linear-gradient(90deg,
    transparent 0%, var(--ruby) 15%, var(--gold) 35%,
    var(--gold-bright) 50%, var(--gold) 65%, var(--saffron) 85%, transparent 100%);
  box-shadow: 0 0 15px rgba(201,149,42,0.5);
}
.header-ornament.bottom {
  height:1px;
  background: linear-gradient(90deg,
    transparent, rgba(201,149,42,0.25) 30%, rgba(201,149,42,0.5) 50%, rgba(201,149,42,0.25) 70%, transparent);
  box-shadow:none;
}

.header-inner {
  max-width:1300px; margin:0 auto;
  padding:0 2rem;
  display:flex; flex-direction:column;
}
.header-top-bar {
  display:flex; align-items:center; justify-content:space-between;
  position:relative; padding:0.55rem 0 0.4rem;
}
.header-brand-center {
  position:absolute; left:50%; transform:translateX(-50%);
  text-align:center; pointer-events:none; white-space:nowrap;
}
.header-brand-name {
  font-family:var(--font-decorative); font-size:1.65rem; font-weight:700;
  color:var(--gold-bright); letter-spacing:0.06em;
  text-shadow:0 0 25px rgba(201,149,42,0.5);
}
.header-brand-address {
  font-family:var(--font-heading); font-size:0.68rem; letter-spacing:0.18em;
  color:rgba(201,149,42,0.75); text-transform:uppercase; margin-top:0.15rem;
}
.main-nav { padding-bottom:0.45rem; }

.logo-area { display:flex; align-items:center; gap:0.9rem; flex-shrink:0; }

.header-right { display:flex; align-items:center; gap:0.9rem; flex-shrink:0; }

.header-flag {
  height:30px;
  width:auto;
  border-radius:2px;
  box-shadow:0 1px 5px rgba(0,0,0,0.5);
  border:1px solid rgba(255,255,255,0.12);
  display:block;
  opacity:0.9;
}

.logo-address {
  font-family:'EB Garamond', serif; font-size:0.78rem;
  color:rgba(232,184,75,0.75); letter-spacing:0.04em;
  line-height:1.4; max-width:200px;
  border-left:1px solid rgba(232,184,75,0.25);
  padding-left:0.9rem; margin-left:0.2rem;
}

.logo-img {
  height:58px; width:auto; object-fit:contain;
  filter:drop-shadow(0 0 10px rgba(232,184,75,0.5)) drop-shadow(0 0 28px rgba(232,99,10,0.3));
  transition:filter 0.4s ease;
}
.logo-img:hover { filter:drop-shadow(0 0 18px rgba(232,184,75,0.85)) drop-shadow(0 0 45px rgba(232,99,10,0.5)); }

.logo-om {
  font-size:2.4rem; color:var(--gold-bright); line-height:1;
  text-shadow:0 0 20px var(--gold), 0 0 50px rgba(232,99,10,0.4);
  animation:logoGlow 4s ease-in-out infinite;
}
@keyframes logoGlow {
  0%,100% { text-shadow:0 0 20px var(--gold), 0 0 50px rgba(232,99,10,0.3); }
  50%      { text-shadow:0 0 35px var(--gold-bright), 0 0 80px rgba(232,99,10,0.5), 0 0 120px rgba(201,149,42,0.2); }
}

.logo-text { display:flex; flex-direction:column; line-height:1.2; }
.logo-main {
  font-family:var(--font-heading); font-size:1.2rem; font-weight:700;
  color:var(--gold-bright); letter-spacing:0.1em; text-transform:uppercase;
}
.logo-sub {
  font-family:var(--font-body); font-size:0.7rem; font-style:italic;
  color:rgba(247,215,122,0.55); letter-spacing:0.35em; text-transform:uppercase;
}

.main-nav ul { display:flex; flex-wrap:wrap; justify-content:center; gap:0; max-width:900px; margin:0 auto; }
.main-nav ul li a {
  font-family:var(--font-heading); font-size:0.72rem; font-weight:600;
  text-transform:uppercase; letter-spacing:0.15em;
  color:rgba(247,215,122,0.75); padding:0.55rem 0.9rem;
  position:relative; transition:var(--transition);
}
.main-nav ul li a::before {
  content:''; position:absolute; bottom:4px; left:50%; right:50%;
  height:1px; background:var(--saffron); box-shadow:0 0 8px var(--saffron);
  transition:var(--transition);
}
.main-nav ul li a:hover { color:var(--gold-bright); }
.main-nav ul li a:hover::before { left:15%; right:15%; }

/* ===== DROPDOWN ===== */
.nav-dropdown { position:relative; }
.nav-dropdown > a::after {
  content:'▾'; margin-left:0.3rem; font-size:0.6rem; opacity:0.7;
  display:inline; vertical-align:middle;
}
.dropdown-menu {
  position:absolute; top:calc(100% + 6px); left:50%; transform:translateX(-50%);
  background:#1A0400; border:1px solid rgba(201,149,42,0.25);
  border-radius:3px; min-width:240px; padding:0.4rem 0;
  box-shadow:0 16px 48px rgba(0,0,0,0.5);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity 0.22s ease, transform 0.22s ease;
  transform:translateX(-50%) translateY(-6px);
  z-index:300;
}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu {
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.dropdown-menu::before {
  content:''; position:absolute; top:-5px; left:50%; transform:translateX(-50%);
  width:8px; height:8px; background:#1A0400;
  border-left:1px solid rgba(201,149,42,0.25); border-top:1px solid rgba(201,149,42,0.25);
  transform:translateX(-50%) rotate(45deg);
}
.dropdown-menu li { list-style:none; }
.dropdown-menu li a {
  display:block; padding:0.65rem 1.2rem;
  font-family:var(--font-heading); font-size:0.68rem; font-weight:600;
  text-transform:uppercase; letter-spacing:0.12em;
  color:rgba(247,215,122,0.8); white-space:nowrap;
  transition:background 0.18s, color 0.18s;
  border-left:2px solid transparent;
}
.dropdown-menu li a::before { display:none; }
.dropdown-menu li a:hover {
  background:rgba(201,149,42,0.1); color:var(--gold-bright);
  border-left-color:var(--saffron);
}

/* Mobile dropdown — expand inline */
@media (max-width:768px) {
  .dropdown-menu {
    position:static; transform:none; opacity:1; visibility:visible;
    pointer-events:auto; background:rgba(255,255,255,0.03);
    border:none; border-left:2px solid rgba(201,149,42,0.3);
    box-shadow:none; padding:0; margin:0.2rem 0 0.2rem 1rem;
    transition:none;
  }
  .dropdown-menu::before { display:none; }
  .dropdown-menu li a { font-size:0.8rem; padding:0.6rem 0.8rem; }
  .nav-dropdown > a::after { content:' ▾'; }
}

.nav-toggle {
  display:none;
  position:relative;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  flex-shrink:0;
  background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(201,149,42,0.08));
  border:1px solid rgba(201,149,42,0.3);
  border-radius:10px;
  box-shadow:0 8px 22px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.06);
  backdrop-filter:blur(8px);
  cursor:pointer;
  padding:0;
  z-index:201;
  transition:var(--transition);
}
.nav-toggle span {
  position:absolute;
  left:50%;
  top:50%;
  display:block;
  width:18px;
  height:1.5px;
  background:var(--gold-bright);
  border-radius:999px;
  box-shadow:0 0 10px rgba(201,149,42,0.35);
  transition:transform 0.3s cubic-bezier(0.4,0,0.2,1), opacity 0.2s ease, background 0.3s ease;
}
.nav-toggle span:nth-child(1) { transform:translate(-50%, -6px); }
.nav-toggle span:nth-child(2) { transform:translate(-50%, -50%); }
.nav-toggle span:nth-child(3) { transform:translate(-50%, 4px); }
.nav-toggle:hover {
  border-color:rgba(247,215,122,0.5);
  box-shadow:0 10px 26px rgba(0,0,0,0.35), 0 0 20px rgba(201,149,42,0.08);
}
.nav-toggle:focus-visible {
  outline:none;
  border-color:rgba(247,215,122,0.75);
  box-shadow:0 0 0 3px rgba(201,149,42,0.18), 0 10px 26px rgba(0,0,0,0.35);
}

/* ============================================
   BUTTONS
   ============================================ */
.btn {
  display:inline-flex; align-items:center; gap:0.5rem;
  font-family:var(--font-heading); font-size:0.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:0.18em;
  padding:0.9rem 2.4rem; border:none; cursor:pointer;
  transition:var(--transition); position:relative; overflow:hidden;
}

.btn-primary {
  background: linear-gradient(135deg, var(--ruby-deep) 0%, var(--ruby) 40%, var(--ruby-mid) 60%, var(--ruby) 100%);
  color:var(--gold-bright);
  border:1px solid rgba(201,149,42,0.4);
  box-shadow:0 4px 20px rgba(139,10,10,0.5), inset 0 1px 0 rgba(255,255,255,0.1);
}
.btn-primary::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(90deg, transparent, rgba(247,215,122,0.15), transparent);
  transform:translateX(-100%) skewX(-15deg); transition:transform 0.6s ease;
}
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 10px 35px rgba(139,10,10,0.6), 0 0 30px rgba(201,149,42,0.15); }
.btn-primary:hover::before { transform:translateX(150%) skewX(-15deg); }

.btn-secondary {
  background:transparent; color:var(--gold-bright);
  border:1.5px solid rgba(201,149,42,0.6);
  box-shadow:0 0 20px rgba(201,149,42,0.1);
}
.btn-secondary:hover {
  background:rgba(201,149,42,0.12); border-color:var(--gold-bright);
  transform:translateY(-3px); box-shadow:0 8px 30px rgba(201,149,42,0.25);
}

.btn-outline {
  background:transparent; color:var(--ruby);
  border:1.5px solid var(--ruby);
}
.btn-outline:hover {
  background:var(--ruby); color:var(--gold-bright); transform:translateY(-2px);
  box-shadow:0 8px 25px rgba(139,10,10,0.3);
}

.btn-full { width:100%; justify-content:center; }
.btn-om { font-size:1.1rem; opacity:0.7; }

/* ============================================
   HERO — DIVINE SUNRISE OVER THE SACRED REALM
   ============================================ */
.hero {
  position:relative; min-height:100vh;
  padding-top:140px; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  /* Warm sunrise / temple dusk gradient */
  background:
    radial-gradient(ellipse 100% 60% at 50% 100%, rgba(139,10,10,0.7) 0%, transparent 60%),
    radial-gradient(ellipse 80% 50% at 50% 0%,   rgba(232,99,10,0.15) 0%, transparent 55%),
    linear-gradient(175deg,
      #0D0200 0%,
      #1C0500 15%,
      #2E0900 30%,
      #3D1000 50%,
      #2E0600 70%,
      #1A0200 85%,
      #0A0100 100%);
}

/* Warm divine glow from above — like the sun god descending */
.hero-divine-light {
  position:absolute; z-index:2;
  top:-8%; left:50%; transform:translateX(-50%);
  width:1400px; height:1000px; pointer-events:none;
  background: conic-gradient(from -90deg at 50% 2%,
    transparent 0deg, rgba(232,99,10,0.07) 3deg, transparent 7deg,
    rgba(201,149,42,0.09) 11deg, transparent 15deg,
    rgba(232,99,10,0.05) 19deg, transparent 24deg,
    rgba(247,215,122,0.08) 28deg, transparent 33deg,
    rgba(201,149,42,0.06) 37deg, transparent 42deg,
    rgba(232,99,10,0.07) 46deg, transparent 51deg,
    rgba(247,215,122,0.05) 55deg, transparent 60deg,
    rgba(201,149,42,0.09) 64deg, transparent 69deg,
    rgba(232,99,10,0.06) 73deg, transparent 78deg,
    rgba(247,215,122,0.07) 82deg, transparent 88deg,
    transparent 92deg, transparent 268deg,
    rgba(232,99,10,0.07) 272deg, transparent 277deg,
    rgba(247,215,122,0.09) 281deg, transparent 286deg,
    rgba(201,149,42,0.05) 290deg, transparent 295deg,
    rgba(232,99,10,0.08) 299deg, transparent 304deg,
    rgba(247,215,122,0.06) 308deg, transparent 313deg,
    rgba(201,149,42,0.09) 317deg, transparent 322deg,
    rgba(232,99,10,0.05) 326deg, transparent 331deg,
    rgba(247,215,122,0.08) 335deg, transparent 340deg,
    rgba(201,149,42,0.06) 344deg, transparent 349deg,
    rgba(232,99,10,0.07) 353deg, transparent 358deg,
    transparent 360deg);
  animation:lightPulse 7s ease-in-out infinite;
}
@keyframes lightPulse {
  0%,100% { opacity:0.7; transform:translateX(-50%) scaleY(1); }
  50%      { opacity:1;   transform:translateX(-50%) scaleY(1.06); }
}

/* Central divine glow — the aura */
.hero-aura {
  position:absolute; z-index:3; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:650px; height:650px; border-radius:50%; pointer-events:none;
  background: radial-gradient(ellipse at center,
    rgba(232,99,10,0.12) 0%,
    rgba(201,149,42,0.08) 25%,
    rgba(139,10,10,0.05) 50%,
    transparent 70%);
  animation:auraPulse 5s ease-in-out infinite;
}
@keyframes auraPulse {
  0%,100% { transform:translate(-50%,-50%) scale(1);    opacity:0.8; }
  50%      { transform:translate(-50%,-50%) scale(1.15); opacity:1; }
}

/* Mandala pulsing rings */
.hero-mandala-ring {
  position:absolute; z-index:3; top:50%; left:50%;
  transform:translate(-50%,-50%); border-radius:50%; pointer-events:none;
}
.hero-mandala-ring:nth-child(4) { width:280px; height:280px; border:1px solid rgba(201,149,42,0.2); animation:ringGlow 5s ease-in-out 0s infinite; }
.hero-mandala-ring:nth-child(5) { width:480px; height:480px; border:1px solid rgba(201,149,42,0.12); animation:ringGlow 5s ease-in-out 1s infinite; }
.hero-mandala-ring:nth-child(6) { width:680px; height:680px; border:1px solid rgba(201,149,42,0.07); animation:ringGlow 5s ease-in-out 2s infinite; }
.hero-mandala-ring:nth-child(7) { width:920px; height:920px; border:1px solid rgba(201,149,42,0.04); animation:ringGlow 5s ease-in-out 3s infinite; }
@keyframes ringGlow {
  0%,100% { box-shadow:0 0 0 0 transparent; }
  50%      { box-shadow:0 0 30px 2px rgba(201,149,42,0.07); }
}

/* Sacred geometry SVG */
.hero-mandala-spin {
  position:absolute; z-index:4; top:50%; left:50%;
  transform:translate(-50%,-50%); pointer-events:none;
}
.hero-mandala-spin svg { animation:spinSlow 100s linear infinite; opacity:0.07; }
.hero-mandala-spin.rev svg { animation:spinSlowRev 80s linear infinite; opacity:0.05; }
@keyframes spinSlow    { to { transform:rotate(360deg); } }
@keyframes spinSlowRev { to { transform:rotate(-360deg); } }

/* Lotus petals */
.hero-petals {
  position:absolute; z-index:5; inset:0; pointer-events:none; overflow:hidden;
}
.petal {
  position:absolute; opacity:0;
  animation:floatPetal linear infinite;
  filter:drop-shadow(0 0 8px rgba(232,99,10,0.6));
}
@keyframes floatPetal {
  0%   { transform:translateY(110vh) rotate(0deg); opacity:0; }
  8%   { opacity:0.5; }
  92%  { opacity:0.2; }
  100% { transform:translateY(-10vh) rotate(360deg); opacity:0; }
}

/* Hero content */
.hero-content {
  position:relative; z-index:10; text-align:center;
  padding:2rem 2rem 7rem; max-width:940px;
  animation:divineAscend 1.5s cubic-bezier(0.16,1,0.3,1) 1.2s both;
}
@keyframes divineAscend {
  from { opacity:0; transform:translateY(50px); filter:blur(6px); }
  to   { opacity:1; transform:translateY(0); filter:blur(0); }
}

.hero-top-ornament {
  display:flex; align-items:center; justify-content:center; gap:1.2rem; margin-bottom:2rem;
}
.ornament-line {
  display:block; width:80px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,149,42,0.7));
  box-shadow:0 0 8px rgba(201,149,42,0.4);
}
.ornament-line:last-child { background:linear-gradient(90deg, rgba(201,149,42,0.7), transparent); }
.ornament-lotus { color:var(--saffron); font-size:1rem; text-shadow:0 0 15px var(--saffron); }

.hero-sanskrit {
  font-family:var(--font-heading); font-size:0.95rem;
  color:rgba(247,215,122,0.65); letter-spacing:0.55em; margin-bottom:1.8rem;
  text-shadow:0 0 25px rgba(232,99,10,0.5);
}

/* ── Hero logo frame ───────────────────────────── */
.hero-logo-frame {
  display:flex; align-items:center; justify-content:center;
  gap:0; margin-bottom:1.2rem;
}

.hero-logo-orn { flex-shrink:0; opacity:0.85; }

/* Trishul + Yantra side elements */
.hero-side-element {
  position:relative; display:flex; align-items:center; justify-content:center;
  width:160px; height:240px; flex-shrink:0;
}

/* Spinning Shiva yantra sits behind the trishul */
.hero-shiva-yantra {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  animation:shivaYantraSpin 18s linear infinite;
  opacity:0.7;
}
@keyframes shivaYantraSpin { to { transform:translate(-50%,-50%) rotate(360deg); } }

/* Trishul on top */
.hero-trishul-svg {
  position:relative; z-index:2;
  filter:drop-shadow(0 0 8px rgba(232,184,75,0.5)) drop-shadow(0 0 20px rgba(232,99,10,0.3));
}

.hero-logo-wrap {
  position:relative; display:flex; align-items:center; justify-content:center;
  width:240px; height:240px; flex-shrink:0;
}

/* Outer slow-spinning ring */
.hero-logo-ring-outer {
  position:absolute; inset:-14px; border-radius:50%;
  border:1px solid rgba(232,184,75,0.35);
  border-top-color:rgba(232,184,75,0.9);
  border-right-color:rgba(232,99,10,0.5);
  animation:heroRingSpin 12s linear infinite;
}
@keyframes heroRingSpin { to { transform:rotate(360deg); } }

/* Inner radiant halo */
.hero-logo-halo {
  position:absolute; inset:-30px; border-radius:50%;
  background:radial-gradient(circle, rgba(232,184,75,0.18) 0%, rgba(232,99,10,0.08) 45%, transparent 70%);
  animation:heroHaloPulse 4s ease-in-out infinite;
}
@keyframes heroHaloPulse {
  0%,100% { opacity:0.7; transform:scale(1); }
  50%      { opacity:1;   transform:scale(1.06); }
}

.hero-logo-img {
  width:220px; height:220px; object-fit:contain; border-radius:50%;
  position:relative; z-index:2;
  filter:drop-shadow(0 0 20px rgba(232,184,75,0.6))
         drop-shadow(0 0 50px rgba(232,99,10,0.35))
         drop-shadow(0 0 90px rgba(201,149,42,0.2));
}

/* Temple name block above hero logo */
.hero-temple-name {
  display:flex; flex-direction:column; align-items:center;
  margin-bottom:0.6rem; line-height:1.1;
}

.hero-title { font-family:var(--font-deco); line-height:1.05; margin-bottom:1rem; }

.hero-title-main {
  display:block;
  font-size:clamp(2.8rem,6.5vw,6rem); font-weight:900;
  background:linear-gradient(175deg,
    #FFF8D0 0%, #F7D77A 20%, var(--gold) 42%, var(--saffron-light) 58%, var(--gold-mid) 75%, #8A6000 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 4px 25px rgba(201,149,42,0.7)) drop-shadow(0 0 60px rgba(232,99,10,0.3));
}

.hero-title-inc {
  display:inline; font-family:var(--font-deco); font-weight:900;
  font-size:clamp(2.8rem,6.5vw,6rem);
  background:linear-gradient(175deg,
    #FFF8D0 0%, #F7D77A 20%, var(--gold) 42%, var(--saffron-light) 58%, var(--gold-mid) 75%, #8A6000 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 4px 25px rgba(201,149,42,0.7)) drop-shadow(0 0 60px rgba(232,99,10,0.3));
}

.hero-tagline {
  font-family:var(--font-body); font-style:italic;
  font-size:clamp(1rem,2.2vw,1.3rem);
  color:rgba(247,215,122,0.7); margin-bottom:1.8rem;
  text-shadow:0 2px 15px rgba(0,0,0,0.5);
}

.hero-divider {
  display:flex; align-items:center; justify-content:center;
  gap:1rem; margin:1.8rem auto; max-width:360px;
}
.divider-line {
  flex:1; height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,149,42,0.55));
  box-shadow:0 0 6px rgba(201,149,42,0.25);
}
.divider-line:last-of-type { background:linear-gradient(90deg, rgba(201,149,42,0.55), transparent); }
.divider-gem {
  display:block; width:7px; height:7px;
  background:var(--saffron); transform:rotate(45deg);
  box-shadow:0 0 12px var(--saffron);
}
.divider-lotus { color:var(--gold-bright); font-size:1.2rem; text-shadow:0 0 15px var(--gold); }

/* Hero Events Box */
.hero-events-box {
  width:100%; max-width:520px; margin:0 auto 2.8rem;
  border:1px solid rgba(232,184,75,0.3);
  border-radius:4px;
  background:rgba(10,3,0,0.55);
  backdrop-filter:blur(6px);
  overflow:hidden;
}
.hero-events-header {
  display:flex; align-items:center; gap:0.55rem;
  padding:0.65rem 1rem;
  border-bottom:1px solid rgba(232,184,75,0.18);
  background:rgba(232,184,75,0.07);
}
.hero-events-header span {
  font-family:var(--font-heading); font-size:0.65rem; letter-spacing:0.25em;
  text-transform:uppercase; color:#E8B84B; flex:1;
}
.hero-events-viewall {
  font-family:var(--font-heading); font-size:0.6rem; letter-spacing:0.2em;
  text-transform:uppercase; color:rgba(232,184,75,0.5);
  text-decoration:none; transition:color 0.2s;
}
.hero-events-viewall:hover { color:#E8B84B; }

.hero-events-list { display:flex; flex-direction:column; }

.hero-event-item {
  display:flex; align-items:center; gap:0.9rem;
  padding:0.7rem 1rem;
  border-bottom:1px solid rgba(232,184,75,0.1);
  transition:background 0.2s;
}
.hero-event-item:last-child { border-bottom:none; }
.hero-event-item:hover { background:rgba(232,184,75,0.05); }

.hero-event-badge {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-width:42px; background:rgba(232,184,75,0.12);
  border:1px solid rgba(232,184,75,0.25); border-radius:3px; padding:0.25rem 0.5rem;
  flex-shrink:0;
}
.hero-event-badge .ev-day {
  font-family:var(--font-heading); font-size:1.05rem; font-weight:700;
  color:#E8B84B; line-height:1;
}
.hero-event-badge .ev-mon {
  font-family:var(--font-heading); font-size:0.5rem; letter-spacing:0.15em;
  text-transform:uppercase; color:rgba(232,184,75,0.6);
}
.hero-event-badge.ev-today {
  background:rgba(232,184,75,0.22); border-color:rgba(232,184,75,0.5);
}
.hero-event-badge.ev-today .ev-day { font-size:0.72rem; line-height:1.2; }

.hero-event-info { flex:1; text-align:left; min-width:0; }
.hero-event-name {
  font-family:var(--font-heading); font-size:0.82rem; letter-spacing:0.03em;
  color:rgba(240,220,180,0.95); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.hero-event-time {
  font-family:var(--font-body); font-size:0.7rem; color:rgba(200,170,120,0.55);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:0.15rem;
}
.hero-events-empty {
  padding:1rem; text-align:center;
  font-family:var(--font-heading); font-size:0.7rem; letter-spacing:0.15em;
  color:rgba(232,184,75,0.35); text-transform:uppercase;
}

.hero-actions { display:flex; gap:1.4rem; justify-content:center; flex-wrap:wrap; }

/* Scroll indicator */
.hero-scroll {
  position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:0.6rem;
  cursor:pointer; animation:scrollFloat 2.5s ease-in-out infinite;
}
@keyframes scrollFloat {
  0%,100% { transform:translateX(-50%) translateY(0); }
  50%      { transform:translateX(-50%) translateY(7px); }
}
.hero-scroll-dot {
  width:1px; height:48px;
  background:linear-gradient(180deg, transparent, rgba(201,149,42,0.7), transparent);
  position:relative;
}
.hero-scroll-dot::after {
  content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:5px; height:5px; border-radius:50%;
  background:var(--gold-mid); box-shadow:0 0 10px var(--gold-mid);
  animation:dropBead 2.5s ease-in-out infinite;
}
@keyframes dropBead {
  0%   { top:0; opacity:0; }
  20%  { opacity:1; }
  100% { top:44px; opacity:0; }
}
.hero-scroll-label {
  font-family:var(--font-heading); font-size:0.58rem;
  letter-spacing:0.4em; text-transform:uppercase; color:rgba(201,149,42,0.4);
}

/* ============================================
   WELCOME STRIP
   ============================================ */
.welcome-strip {
  background:linear-gradient(90deg, var(--ruby-deep) 0%, var(--ruby) 30%, #9B1A1A 50%, var(--ruby) 70%, var(--ruby-deep) 100%);
  border-top:1.5px solid rgba(201,149,42,0.5);
  border-bottom:1.5px solid rgba(201,149,42,0.5);
  box-shadow:0 0 30px rgba(139,10,10,0.3);
  padding:0.8rem 0; overflow:hidden;
}
.strip-inner {
  display:flex; gap:3rem; align-items:center;
  width:max-content; white-space:nowrap;
  animation:marquee 40s linear infinite;
}
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.strip-om { color:var(--gold-bright); font-size:1.1rem; text-shadow:0 0 10px var(--gold); }
.strip-text {
  font-family:var(--font-heading); font-size:0.72rem;
  letter-spacing:0.25em; text-transform:uppercase; color:rgba(247,215,122,0.8);
}

/* ============================================
   SHARED SECTION STYLES
   ============================================ */
.section { position:relative; padding:7rem 0; }
.container { max-width:1200px; margin:0 auto; padding:0 2rem; }

/* Ornate section background texture */
.section-bg-pattern {
  position:absolute; inset:0; pointer-events:none; opacity:0.5;
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 4 L56 30 L30 56 L4 30 Z' fill='none' stroke='rgba(201,149,42,0.06)' stroke-width='0.8'/%3E%3Ccircle cx='30' cy='30' r='10' fill='none' stroke='rgba(201,149,42,0.04)' stroke-width='0.5'/%3E%3C/svg%3E");
}

.section-header { text-align:center; margin-bottom:4rem; }

.section-ornament {
  display:flex; align-items:center; justify-content:center; gap:0.8rem; margin:0.4rem 0;
}
.section-ornament.light .orn-line { background:rgba(201,149,42,0.5); }
.section-ornament.light .orn-diamond,
.section-ornament.light .orn-lotus { color:rgba(247,215,122,0.7); }

.orn-line { display:block; width:60px; height:1px; background:rgba(201,149,42,0.3); }
.orn-diamond, .orn-lotus { color:var(--gold); font-size:0.9rem; }

.section-label {
  font-family:var(--font-heading); font-size:0.7rem;
  letter-spacing:0.45em; text-transform:uppercase; color:var(--saffron); margin:0.5rem 0 0.3rem;
}
.section-header.light .section-label { color:rgba(232,99,10,0.8); }

.section-title {
  font-family:var(--font-deco); font-size:clamp(1.7rem,3.5vw,2.7rem); font-weight:700;
  color:var(--gold-bright); position:relative; padding-bottom:1rem;
}
.section-title::after {
  content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:70px; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold-mid), var(--saffron), var(--gold-mid), transparent);
}
.section-header.light .section-title { color:var(--gold-bright); }

.section-intro {
  font-size:1.08rem; color:var(--text-mid); max-width:660px;
  margin:1.5rem auto 0; font-style:italic; line-height:1.9;
}

/* ============================================
   ABOUT
   ============================================ */
.about-section {
  background:linear-gradient(160deg, var(--ivory) 0%, var(--cream) 50%, var(--parchment) 100%);
}

/* About intro text */
.about-intro-block { max-width:800px; margin:0 auto 3.5rem; }
.about-intro {
  text-align:center; font-size:1.07rem; color:var(--text-mid); line-height:1.9;
  margin-bottom:1.1rem;
}
.about-intro:last-child { margin-bottom:0; }

/* Leaders grid — 3 columns */
.leaders-grid {
  display:grid;
  grid-template-columns:1fr 1.18fr 1fr;
  gap:2rem;
  align-items:end;
}

/* Leader card */
.leader-card {
  display:flex; flex-direction:column; align-items:center; gap:1.4rem;
  text-align:center;
}

.leader-photo-wrap { position:relative; width:100%; }

.leader-photo-frame {
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  border-radius:6px;
  overflow:hidden;
  background:linear-gradient(155deg, #1C0500 0%, #2E0900 50%, #1A0300 100%);
  border:1px solid rgba(201,149,42,0.3);
  box-shadow:0 16px 50px rgba(0,0,0,0.3), 0 0 40px rgba(201,149,42,0.05);
  transition:var(--transition);
}
.leader-photo-frame::before {
  content:''; position:absolute; inset:8px;
  border:1px solid rgba(201,149,42,0.18); border-radius:4px; pointer-events:none; z-index:2;
}
.leader-card:hover .leader-photo-frame {
  border-color:rgba(201,149,42,0.55);
  box-shadow:0 24px 70px rgba(0,0,0,0.38), 0 0 60px rgba(201,149,42,0.12);
  transform:translateY(-6px);
}

/* Featured (center) card is taller */
.leader-card--featured .leader-photo-frame {
  border-color:rgba(232,184,75,0.45);
  box-shadow:0 20px 70px rgba(0,0,0,0.4), 0 0 80px rgba(232,184,75,0.1);
}
.leader-card--featured:hover .leader-photo-frame {
  border-color:rgba(232,184,75,0.7);
  box-shadow:0 28px 90px rgba(0,0,0,0.45), 0 0 100px rgba(232,184,75,0.18);
}

/* Animated halo ring on featured card */
.leader-halo-ring {
  position:absolute; inset:-8px; border-radius:10px;
  border:1px solid rgba(232,184,75,0.25);
  animation:leaderHaloPulse 4s ease-in-out infinite;
  pointer-events:none; z-index:0;
}
@keyframes leaderHaloPulse {
  0%,100% { opacity:0.4; transform:scale(1); }
  50%      { opacity:0.9; transform:scale(1.01); }
}

.leader-photo-inner {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  overflow:hidden; padding:0;
}
.leader-photo-inner svg { width:100%; height:100%; }
.leader-photo-img {
  width:100%; height:100%; object-fit:cover; object-position:center top;
  display:block;
}

.leader-photo-label {
  position:absolute; bottom:10px; left:0; right:0;
  font-family:var(--font-heading); font-size:0.58rem; letter-spacing:0.25em;
  text-transform:uppercase; color:rgba(201,149,42,0.45); text-align:center;
  z-index:3;
}

/* Leader info below photo */
.leader-info { display:flex; flex-direction:column; align-items:center; gap:0.5rem; }

.leader-role-tag {
  display:inline-block;
  font-family:var(--font-heading); font-size:0.62rem; letter-spacing:0.22em;
  text-transform:uppercase; color:rgba(232,140,120,0.9); padding:0.3rem 0.9rem;
  border:1px solid rgba(176,21,21,0.4); border-radius:2px;
  background:rgba(176,21,21,0.12);
}
.leader-role-tag--current {
  color:var(--gold); border-color:rgba(201,149,42,0.4);
  background:rgba(201,149,42,0.07);
}

.leader-name {
  font-family:var(--font-heading); font-size:1.05rem; font-weight:600;
  color:var(--text-dark); letter-spacing:0.04em; line-height:1.35;
}
.leader-card--featured .leader-name {
  font-size:1.18rem; color:var(--gold-bright);
}
.leader-bio-link {
  font-family:var(--font-heading); font-size:0.62rem; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--gold); text-decoration:none;
  border-bottom:1px solid rgba(201,149,42,0.4); padding-bottom:1px;
  transition:color 0.2s, border-color 0.2s;
}
.leader-bio-link:hover { color:var(--saffron); border-color:var(--saffron); }

/* ============================================
   DEITIES — COSMIC JEWEL CARDS
   ============================================ */
.deities-section { position:relative; padding:7rem 0; overflow:hidden; }
.deities-bg {
  position:absolute; inset:0;
  background:linear-gradient(160deg, #0F0200 0%, #1C0500 25%, #2A0800 50%, #1A0400 75%, #0A0100 100%);
}
.deities-bg::after {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 60% 40% at 50% 50%, rgba(232,99,10,0.06) 0%, transparent 70%),
    radial-gradient(ellipse 80% 30% at 50% 0%,  rgba(201,149,42,0.05) 0%, transparent 60%);
}
.deities-section .container { position:relative; z-index:1; }

.deities-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }

.deity-card {
  position:relative; overflow:hidden;
  background:linear-gradient(155deg,
    rgba(255,255,255,0.04) 0%, rgba(201,149,42,0.05) 50%, rgba(255,255,255,0.02) 100%);
  border:1px solid rgba(201,149,42,0.18);
  border-top:1px solid rgba(201,149,42,0.35);
  border-radius:3px; padding:2.5rem 1.5rem 2rem; text-align:center; transition:var(--transition);
}
.deity-card-glow {
  position:absolute; inset:0; opacity:0; transition:var(--transition);
  background:radial-gradient(ellipse at 50% 0%, rgba(232,99,10,0.12) 0%, transparent 65%);
}
.deity-card:hover { border-color:rgba(201,149,42,0.5); transform:translateY(-8px); box-shadow:0 25px 60px rgba(0,0,0,0.5), 0 0 40px rgba(232,99,10,0.08); }
.deity-card:hover .deity-card-glow { opacity:1; }
.deity-card.featured { border-color:rgba(201,149,42,0.4); box-shadow:0 0 30px rgba(232,99,10,0.06); }

.deity-halo {
  position:absolute; top:-20px; left:50%; transform:translateX(-50%);
  width:100px; height:100px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,149,42,0.2) 0%, transparent 70%);
  animation:haloGlow 4s ease-in-out infinite;
}
@keyframes haloGlow { 0%,100%{transform:translateX(-50%) scale(1); opacity:0.5;} 50%{transform:translateX(-50%) scale(1.3); opacity:1;} }

.deity-symbol { font-size:3rem; display:block; margin-bottom:1rem; z-index:1; position:relative; transition:var(--transition); }
.deity-card:hover .deity-symbol { transform:scale(1.12); filter:drop-shadow(0 0 15px rgba(201,149,42,0.7)); }

.deity-name { font-family:var(--font-heading); font-size:1rem; font-weight:700; color:var(--gold-bright); margin-bottom:0.3rem; position:relative; z-index:1; }
.deity-title { font-family:var(--font-body); font-size:0.78rem; color:rgba(232,160,120,0.8); font-style:italic; letter-spacing:0.05em; margin-bottom:0.8rem; position:relative; z-index:1; }
.deity-desc { font-size:0.86rem; color:rgba(220,195,160,0.6); line-height:1.75; position:relative; z-index:1; }

/* ============================================
   SERVICES
   ============================================ */
.services-section { background:linear-gradient(160deg, var(--parchment) 0%, var(--cream) 50%, var(--ivory) 100%); }

.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }

.service-card {
  background:linear-gradient(155deg, rgba(255,255,255,0.03) 0%, rgba(201,149,42,0.03) 100%); border:1px solid rgba(201,149,42,0.15);
  border-radius:3px; padding:2rem 1.4rem; text-align:center; transition:var(--transition);
  position:relative; overflow:hidden;
}
.service-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2.5px;
  background:linear-gradient(90deg, var(--ruby-deep), var(--saffron), var(--gold-mid), var(--saffron), var(--ruby-deep));
  transform:scaleX(0); transform-origin:left; transition:var(--transition);
}
.service-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(139,10,10,0.1); border-color:rgba(232,99,10,0.25); }
.service-card:hover::before { transform:scaleX(1); }

.service-icon { font-size:2.2rem; display:block; margin-bottom:0.9rem; transition:var(--transition); }
.service-card:hover .service-icon { transform:scale(1.12) rotate(-4deg); }
.service-card h3 { font-family:var(--font-heading); font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--gold-bright); margin-bottom:0.7rem; }
.service-card p { font-size:0.87rem; color:var(--text-mid); line-height:1.75; }

.services-cta { text-align:center; margin-top:3rem; }
.services-cta p { font-style:italic; color:var(--text-soft); margin-bottom:1.3rem; }

/* ============================================
   EVENTS
   ============================================ */
.events-section { background:linear-gradient(160deg, var(--ivory) 0%, var(--cream) 100%); }
.events-list { display:flex; flex-direction:column; gap:1.2rem; }

.event-card {
  display:flex; align-items:flex-start; gap:1.8rem; background:rgba(10,3,0,0.5);
  border:1px solid rgba(201,149,42,0.1); border-left:3px solid var(--saffron);
  border-radius:3px; padding:1.5rem 2rem; transition:var(--transition); position:relative;
}
.event-card:hover { box-shadow:0 10px 35px rgba(139,10,10,0.08); transform:translateX(5px); border-left-color:var(--gold); }

.event-date {
  min-width:68px; border-radius:3px; padding:0.8rem; text-align:center; flex-shrink:0;
  background:linear-gradient(155deg, #1C0500, #2E0900);
  border:1px solid rgba(201,149,42,0.2);
}
.event-day { display:block; font-family:var(--font-deco); font-size:1.8rem; font-weight:900; line-height:1; color:var(--gold-bright); text-shadow:0 0 15px rgba(201,149,42,0.5); }
.event-month { display:block; font-family:var(--font-heading); font-size:0.63rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(201,149,42,0.6); margin-top:0.2rem; }

.event-info { flex:1; }
.event-name { font-family:var(--font-heading); font-size:1.05rem; font-weight:700; color:var(--gold-bright); margin-bottom:0.35rem; }
.event-meta { font-size:0.8rem; color:var(--text-soft); font-family:var(--font-heading); letter-spacing:0.04em; margin-bottom:0.5rem; }
.event-desc { font-size:0.9rem; color:var(--text-mid); line-height:1.75; }

.event-tag { font-family:var(--font-heading); font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--saffron); border:1px solid rgba(232,99,10,0.3); border-radius:2px; padding:0.3rem 0.7rem; align-self:flex-start; flex-shrink:0; transition:var(--transition); }
.event-card:hover .event-tag { background:var(--saffron); color:white; border-color:var(--saffron); }

.events-cta { text-align:center; margin-top:2.5rem; }

/* ============================================
   PROCLAMATION BOX
   ============================================ */
.proclamation-wrap {
  margin: 5rem auto 1rem;
  max-width: 860px;
  text-align: center;
  background: linear-gradient(160deg, rgba(60,15,5,0.55) 0%, rgba(30,8,2,0.7) 100%);
  border: 1px solid rgba(201,149,42,0.35);
  border-radius: 6px;
  padding: 3rem 2.5rem;
  box-shadow: 0 4px 40px rgba(0,0,0,0.35), inset 0 0 60px rgba(201,149,42,0.04);
  position: relative;
}
.proclamation-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 6px;
  border: 1px solid rgba(201,149,42,0.12);
  pointer-events: none;
}
.proclamation-ornament {
  display: flex; align-items: center; gap: 0.75rem;
  justify-content: center; margin-bottom: 1.4rem; color: var(--gold);
}
.proclamation-ornament .orn-line { flex: 1; max-width: 80px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.proclamation-eyebrow {
  font-family: var(--font-heading);
  font-size: 0.82rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-bright);
  margin-bottom: 0.8rem;
  display: inline-block;
  padding: 0.4rem 1.2rem;
  border: 1px solid rgba(201,149,42,0.5);
  border-radius: 2px;
  background: rgba(201,149,42,0.1);
  text-shadow: 0 0 12px rgba(201,149,42,0.5);
}
.proclamation-title {
  font-family: var(--font-decorative);
  font-size: clamp(1.3rem, 3vw, 1.9rem);
  color: var(--gold-bright);
  margin-bottom: 0.9rem;
  line-height: 1.3;
  text-shadow: 0 0 20px rgba(201,149,42,0.3);
}
.proclamation-sub {
  font-family: var(--font-body);
  font-size: 1rem;
  color: rgba(247,215,122,0.75);
  max-width: 620px;
  margin: 0 auto 2rem;
  line-height: 1.7;
}
.proclamation-img-wrap {
  border: 1px solid rgba(201,149,42,0.3);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 6px 30px rgba(0,0,0,0.5);
}
.proclamation-img {
  width: 100%;
  display: block;
  transition: transform 0.5s ease;
}
.proclamation-img:hover { transform: scale(1.015); }

/* ============================================
   QUOTE BANNER
   ============================================ */
.quote-banner { position:relative; overflow:hidden; padding:6rem 2rem; text-align:center; }
.quote-bg {
  position:absolute; inset:0;
  background:linear-gradient(160deg, #1C0500 0%, #2E0900 40%, #3D0F00 60%, #1C0500 100%);
}
.quote-bg::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 50% 50%, rgba(232,99,10,0.08) 0%, transparent 70%),
    radial-gradient(ellipse 40% 30% at 50% 50%, rgba(201,149,42,0.05) 0%, transparent 50%);
}
.quote-inner { position:relative; z-index:1; max-width:820px; margin:0 auto; }
.quote-mark { font-family:Georgia,serif; font-size:7rem; line-height:0; color:var(--gold); opacity:0.2; vertical-align:-3rem; display:inline-block; text-shadow:0 0 30px rgba(201,149,42,0.4); }
.quote-text { font-family:var(--font-body); font-size:clamp(1.1rem,2.5vw,1.6rem); color:rgba(247,215,122,0.8); font-style:italic; line-height:1.9; margin:1rem 0; }
.quote-text em { color:var(--gold-bright); font-style:normal; text-shadow:0 0 20px rgba(201,149,42,0.5); }
.quote-source { font-family:var(--font-heading); font-size:0.73rem; letter-spacing:0.3em; text-transform:uppercase; color:rgba(201,149,42,0.5); margin-top:1.5rem; }

/* ============================================
   GALLERY
   ============================================ */
.gallery-section { background:linear-gradient(160deg, var(--parchment) 0%, var(--cream) 100%); }
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:200px; gap:1rem; }
.gallery-item { border-radius:3px; overflow:hidden; transition:var(--transition); cursor:pointer; }
.gallery-item.tall { grid-row:span 2; }
.gallery-item.wide { grid-column:span 2; }

.gallery-placeholder {
  width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.75rem;
  background:linear-gradient(135deg, hsl(var(--hue,20deg) 70% 10%) 0%, hsl(var(--hue,20deg) 55% 17%) 100%);
  border:1px solid rgba(201,149,42,0.15); transition:var(--transition); position:relative;
}
.gallery-placeholder::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 50%, rgba(232,99,10,0.1) 0%, transparent 60%);
  opacity:0; transition:var(--transition);
}
.gallery-item:hover .gallery-placeholder::after { opacity:1; }
.gallery-item:hover { transform:scale(1.025); box-shadow:0 12px 40px rgba(0,0,0,0.25); }
.gallery-icon { font-size:2.5rem; filter:drop-shadow(0 0 10px rgba(232,99,10,0.5)); }
.gallery-label { font-family:var(--font-heading); font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(247,215,122,0.65); }
.gallery-note { text-align:center; font-style:italic; color:var(--text-soft); margin-top:2rem; font-size:0.9rem; }

/* ============================================
   CONTACT
   ============================================ */
.contact-section { background:linear-gradient(160deg, var(--ivory) 0%, var(--parchment) 100%); }
.contact-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:4rem; align-items:start; }
.contact-info { display:flex; flex-direction:column; gap:2rem; }
.contact-block { display:flex; gap:1.2rem; align-items:flex-start; }
.contact-icon { font-size:1.7rem; flex-shrink:0; filter:drop-shadow(0 2px 8px rgba(139,10,10,0.3)); }
.contact-block h4 { font-family:var(--font-heading); font-size:0.7rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--saffron); margin-bottom:0.4rem; }
.contact-block p { font-size:0.95rem; color:var(--text-mid); line-height:1.75; }
.contact-block em { font-size:0.84rem; color:var(--text-soft); }

.contact-form-wrap {
  background:linear-gradient(160deg, rgba(28,5,0,0.95), rgba(15,3,0,0.98)); border:1px solid rgba(201,149,42,0.2); border-radius:3px;
  padding:2.5rem; box-shadow:0 8px 50px rgba(139,10,10,0.06); position:relative;
}
.contact-form-wrap::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2.5px;
  border-radius:3px 3px 0 0;
  background:linear-gradient(90deg, var(--ruby-deep), var(--saffron), var(--gold-mid), var(--saffron), var(--ruby-deep));
}

.form-header { margin-bottom:2rem; }
.form-header h3 { font-family:var(--font-heading); font-size:1.1rem; font-weight:700; color:var(--gold-bright); margin-bottom:0.3rem; }
.form-header p { font-size:0.85rem; color:var(--text-soft); font-style:italic; }

.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { display:flex; flex-direction:column; gap:0.45rem; margin-bottom:1rem; }
.form-group:last-of-type { margin-bottom:1.5rem; }

label { font-family:var(--font-heading); font-size:0.68rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-mid); }

input, select, textarea {
  font-family:var(--font-body); font-size:0.95rem; color:var(--text-dark);
  background:rgba(255,255,255,0.05); border:1px solid rgba(201,149,42,0.2);
  border-radius:2px; padding:0.75rem 1rem; transition:var(--transition); outline:none; width:100%;
}
input:focus, select:focus, textarea:focus {
  border-color:var(--saffron); background:rgba(255,255,255,0.09); box-shadow:0 0 0 3px rgba(232,99,10,0.1);
}
textarea { resize:vertical; }

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
  background:linear-gradient(160deg, #0F0200 0%, #1C0500 50%, #0A0100 100%);
  color:rgba(247,215,122,0.65);
}
.footer-top-border {
  height:2.5px;
  background:linear-gradient(90deg, transparent, var(--ruby) 15%, var(--gold) 35%, var(--gold-bright) 50%, var(--gold) 65%, var(--saffron) 85%, transparent);
  box-shadow:0 0 15px rgba(201,149,42,0.4);
}
.footer-inner {
  max-width:1200px; margin:0 auto; padding:4.5rem 2rem 2.5rem;
  display:grid; grid-template-columns:1fr 2.5fr; gap:4rem;
}
.footer-brand { text-align:center; }
.footer-om { font-size:4rem; color:var(--gold-bright); display:block; margin-bottom:0.6rem; text-shadow:0 0 25px var(--gold), 0 0 60px rgba(232,99,10,0.3); animation:logoGlow 4s ease-in-out infinite; }
.footer-name { font-family:var(--font-heading); font-size:1rem; font-weight:700; color:var(--gold-bright); letter-spacing:0.1em; margin-bottom:0.4rem; }
.footer-tagline { font-family:var(--font-body); font-size:0.83rem; color:rgba(247,215,122,0.4); font-style:italic; }
.footer-divider { color:var(--saffron); font-size:1rem; margin-top:1rem; opacity:0.4; }

.footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.footer-col h4 { font-family:var(--font-heading); font-size:0.68rem; font-weight:700; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold-mid); margin-bottom:1.2rem; padding-bottom:0.5rem; border-bottom:1px solid rgba(201,149,42,0.15); }
.footer-col ul { display:flex; flex-direction:column; gap:0.55rem; }
.footer-col ul li, .footer-col ul li a { font-size:0.84rem; color:rgba(247,215,122,0.4); transition:var(--transition); }
.footer-col ul li a:hover { color:var(--gold-bright); padding-left:5px; }
.footer-social { display:flex; flex-direction:column; gap:0.7rem; margin-bottom:1.5rem; }
.social-link { font-size:0.84rem; color:rgba(247,215,122,0.4); transition:var(--transition); }
.social-link:hover { color:var(--gold-bright); }
.footer-hours p { font-size:0.8rem; color:rgba(247,215,122,0.35); line-height:1.9; }

.footer-bottom {
  border-top:1px solid rgba(201,149,42,0.1);
  padding:1.3rem 2rem; text-align:center; max-width:1200px; margin:0 auto;
}
.footer-copy { font-family:var(--font-heading); font-size:0.67rem; letter-spacing:0.1em; color:rgba(247,215,122,0.3); }
.footer-mantra { color:rgba(232,99,10,0.4); font-family:var(--font-body); font-style:italic; }
.footer-bottom-border {
  height:2px;
  background:linear-gradient(90deg, transparent, var(--ruby-deep) 30%, var(--ruby) 50%, var(--ruby-deep) 70%, transparent);
}

/* ============================================
   SCROLL REVEAL
   ============================================ */
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.8s ease, transform 0.8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width:1024px) {
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .deities-grid { grid-template-columns:repeat(2,1fr); }
  .leaders-grid { gap:1.5rem; }
}

@media (max-width:768px) {
  .header-inner { padding:0 1.25rem; }
  .header-top-bar { gap:0.75rem; padding:0.55rem 0 0.35rem; }
  .header-brand-center {
    position:static;
    transform:none;
    flex:1;
    min-width:0;
    padding:0 0.35rem;
    white-space:normal;
  }
  .header-brand-name {
    font-size:clamp(1.1rem,4.6vw,1.35rem);
    line-height:1.08;
    letter-spacing:0.03em;
  }
  .header-brand-address {
    display:none;
  }
  .logo-img { height:48px; }
  .header-flag { height:24px; }
  .main-nav {
    position:fixed; top:0; right:0; bottom:0; width:min(88vw, 320px);
    background:#0F0200; border-left:1px solid rgba(201,149,42,0.15);
    padding:5.25rem 1.25rem 1.5rem; transform:translateX(100%);
    transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);
    z-index:200; box-shadow:-20px 0 60px rgba(0,0,0,0.6);
    height:100vh;
    overflow-y:auto;
  }
  .main-nav.open { transform:translateX(0); }
  .main-nav ul { flex-direction:column; align-items:stretch; gap:0.4rem; }
  .main-nav ul li a {
    font-size:0.8rem; display:block; padding:0.8rem 0.9rem;
    letter-spacing:0.12em;
  }
  .dropdown-menu { margin:0.2rem 0 0.2rem 0.75rem; }
  .dropdown-menu li a { white-space:normal; line-height:1.45; }
  .nav-toggle { display:inline-flex; }
  .nav-toggle.open {
    position:fixed;
    top:0.9rem;
    right:1rem;
    background:rgba(32,7,0,0.96);
    border-color:rgba(247,215,122,0.55);
    box-shadow:0 14px 36px rgba(0,0,0,0.45);
  }
  .nav-toggle.open span:nth-child(1) { transform:translate(-50%, -50%) rotate(45deg); }
  .nav-toggle.open span:nth-child(2) { opacity:0; }
  .nav-toggle.open span:nth-child(3) { transform:translate(-50%, -50%) rotate(-45deg); }
  .hero { min-height:auto; padding-top:118px; }
  .hero-content { padding:1.5rem 1.25rem 5.5rem; }
  .hero-logo-wrap { width:200px; height:200px; }
  .hero-logo-img { width:180px; height:180px; }
  .hero-events-box { margin-bottom:2.2rem; }
  .hero-scroll { bottom:1.5rem; }
  .welcome-strip { padding:0.65rem 0; }
  .strip-inner { gap:2rem; }
  .strip-text { font-size:0.62rem; letter-spacing:0.18em; }
  .section { padding:5.5rem 0; }
  .container { padding:0 1.25rem; }
  .section-header { margin-bottom:3rem; }
  .about-intro { font-size:1rem; line-height:1.8; }
  .proclamation-wrap {
    margin-top:4rem;
    padding:2.25rem 1.5rem;
  }
  .quote-banner { padding:4.5rem 1.25rem; }
  .leaders-grid { grid-template-columns:1fr; max-width:380px; margin-left:auto; margin-right:auto; }
  .contact-grid { grid-template-columns:1fr; }
  .contact-form-wrap { padding:2rem 1.4rem; }
  .footer-inner { grid-template-columns:1fr; gap:2.5rem; }
  .footer-links { grid-template-columns:1fr 1fr; }
  .footer-inner { padding:3.5rem 1.25rem 2.25rem; }
  .footer-bottom { padding:1.1rem 1.25rem; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-item.wide { grid-column:span 1; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .form-row { grid-template-columns:1fr; }
  body .inner-page-hero { padding:9rem 0 3rem; }
  body .inner-page-label {
    font-size:0.62rem;
    letter-spacing:0.28em;
    padding:0 1rem;
  }
  body .inner-page-title { padding:0 1rem 1rem; }
  body .inner-page-subtitle { padding:0 1rem; }
  body .posters-header,
  body .trip-poster-label,
  body .tours-section-head,
  body .patra-divider { gap:0.7rem; }
  body .posters-header-text,
  body .trip-poster-label-text,
  body .tours-section-head-text,
  body .patra-divider-text {
    white-space:normal;
    text-align:center;
    letter-spacing:0.22em;
  }
}

@media (max-width:480px) {
  .header-inner { padding:0 0.85rem; }
  .header-top-bar { gap:0.55rem; padding:0.45rem 0 0.3rem; }
  .header-brand-center { padding:0 0.2rem; }
  .header-brand-name {
    font-size:1rem;
    letter-spacing:0.02em;
  }
  .header-brand-address { display:none; }
  .nav-toggle {
    width:40px;
    height:40px;
    border-radius:9px;
  }
  .nav-toggle.open {
    top:0.75rem;
    right:0.85rem;
  }
  .logo-img { height:42px; }
  .header-flag { height:20px; }
  .main-nav { width:min(100vw, 320px); }
  .logo-main { font-size:1rem; }
  .logo-om { font-size:1.9rem; }
  .hero { padding-top:96px; }
  .hero-content { padding:1.25rem 1rem 4.5rem; }
  .hero-title-main { font-size:clamp(2.25rem,12vw,3rem); }
  .hero-top-ornament { gap:0.8rem; margin-bottom:1.25rem; }
  .ornament-line { width:52px; }
  .hero-logo-wrap { width:172px; height:172px; }
  .hero-logo-img { width:154px; height:154px; }
  .hero-tagline { margin-bottom:1.35rem; }
  .hero-divider { margin:1.35rem auto; }
  .hero-event-item { gap:0.7rem; padding:0.65rem 0.8rem; }
  .hero-event-name,
  .hero-event-time {
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
  .hero-actions {
    width:100%;
    max-width:260px;
    margin:0 auto;
    flex-direction:column;
  }
  .hero-actions .btn {
    width:100%;
    justify-content:center;
    padding:0.85rem 1.5rem;
  }
  .hero-scroll { display:none; }
  .section { padding:4.5rem 0; }
  .event-card {
    flex-direction:column;
    gap:0.9rem;
    padding:1.1rem;
  }
  .event-card:hover { transform:none; }
  .event-date,
  .event-tag { align-self:flex-start; }
  .proclamation-wrap,
  .contact-form-wrap { padding:1.6rem 1rem; }
  .quote-banner { padding:3.75rem 1rem; }
  body .date-row {
    grid-template-columns:1fr;
    gap:0.4rem;
    padding:0.85rem 0;
  }
  body .date-cell { font-size:0.72rem; }
  body .date-name em {
    display:block;
    margin-top:0.15rem;
  }
  body .patra-form-wrap,
  body .trip-cta { padding:1.6rem 1rem; }
  body .trip-poster-caption { padding:1rem 1rem 1.15rem; }
  body .trip-intro p,
  body .patra-intro p,
  body .dates-note { font-size:1rem; }
  body .carousel-btn {
    width:34px;
    height:34px;
    font-size:1rem;
  }
  .deities-grid { grid-template-columns:1fr; }
  .services-grid { grid-template-columns:1fr; }
  .footer-links { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:1fr; }
  .gallery-item.tall { grid-row:span 1; }
}
