:root {
  --saffron:#E8690A; --deep-saffron:#C84E00; --gold:#B8860B;
  --bright-gold:#C8920A; --crimson:#8B0000; --maroon:#7A2000;
  --cream:#FFF8EE; --parchment:#F5E6C8; --dark-brown:#3C1F0A;
  --ink-black:#2C1400;
  /* Light theme palette */
  --bg-main:#FDF5E8;
  --bg-section:#FAF0DC;
  --bg-alt:#F5E8CC;
  --nav-bg:#F5C842;
  --nav-bg2:#E8B830;
  --text-main:#3C1F0A;
  --text-muted:#7A4A1A;
  --border-gold:rgba(180,120,20,0.35);
  --card-shadow:rgba(100,50,0,0.18);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'Noto Sans Devanagari','Crimson Pro',serif;
  background:var(--bg-main);color:var(--text-main);
  overflow-x:hidden;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

/* ===================== INTRO OVERLAY ===================== */
#intro-overlay{
  position:fixed;inset:0;z-index:9999;
  background:linear-gradient(160deg,#FDF5E8 0%,#F5E4C0 40%,#EDD8A0 100%);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
/* Mandala corner decorations */
#intro-overlay::before{
  content:'';position:absolute;inset:0;
  background:
    url('mandala-bg.png') center/cover no-repeat;
  opacity:0.55;
  pointer-events:none;z-index:0;
}
/* Warm radial center glow */
#intro-overlay::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 45%,rgba(255,240,200,0.7) 0%,rgba(245,210,140,0.3) 40%,transparent 70%);
  pointer-events:none;z-index:1;
  animation:introGroundGlow 2.5s ease-in-out infinite alternate;
}
@keyframes introGroundGlow{0%{opacity:0.7;}100%{opacity:1;}}

/* Stage phases: 0=figures enter, 1=letter drops, 2=letter opens, 3=curtains part */
.intro-figures{
  position:absolute;bottom:0;width:100%;height:100%;
  pointer-events:none;
}

/* left figure */
.ifig-left{
  position:absolute;bottom:0;left:-280px;
  width:240px;
  filter:drop-shadow(0 4px 20px rgba(180,100,20,0.5)) drop-shadow(0 0 8px rgba(232,105,10,0.3));
  transition:left 1.2s cubic-bezier(.22,1,.36,1);
}
.ifig-right{
  position:absolute;bottom:0;right:-280px;
  width:240px;
  transform:scaleX(-1);
  filter:drop-shadow(0 4px 20px rgba(180,100,20,0.5)) drop-shadow(0 0 8px rgba(232,105,10,0.3));
  transition:right 1.2s cubic-bezier(.22,1,.36,1);
}
.ifig-left.in{left:20px;}
.ifig-right.in{right:20px;}

/* Nagada sound waves around figures */
.sound-wave{
  position:absolute;bottom:60px;
  width:60px;height:60px;
  border-radius:50%;
  border:2px solid rgba(184,134,11,0.45);
  animation:soundRing 1.8s ease-out infinite;
}
.sw-left{left:120px;}
.sw-left.sw2{animation-delay:.4s;}
.sw-left.sw3{animation-delay:.8s;}
.sw-right{right:120px;}
.sw-right.sw2{animation-delay:.4s;}
.sw-right.sw3{animation-delay:.8s;}
@keyframes soundRing{
  0%{transform:scale(1);opacity:.8;}
  100%{transform:scale(3.5);opacity:0;}
}

/* ===== LETTER ===== */
.intro-letter-wrap{
  position:relative;z-index:10;
  display:flex;flex-direction:column;align-items:center;
  transform:translateY(-120vh);
  transition:transform 1s cubic-bezier(.22,1,.36,1);
  width:min(440px,90vw);
  filter:drop-shadow(0 8px 40px rgba(100,50,0,0.35));
}
.intro-letter-wrap.drop{transform:translateY(0);}

/* Envelope flap — warm brown scroll style */
.env-flap{
  width:100%;height:55px;
  background:linear-gradient(135deg,#8B5E2A,#A0722A,#7A4E1A);
  clip-path:polygon(0 100%,50% 0,100% 100%);
  border:1px solid rgba(180,130,50,0.6);
  transform-origin:bottom center;
  transition:transform 0.7s ease;
  position:relative;z-index:2;
  border-radius:4px 4px 0 0;
}
.env-flap.open{transform:rotateX(-160deg);}

.env-body{
  width:100%;
  background:
    url('scroll-bg.png') center/cover no-repeat,
    linear-gradient(170deg,#D4A96A,#C49050,#B07838);
  border:2px solid rgba(160,110,40,0.6);
  border-top:none;
  border-radius:0 0 8px 8px;
  padding:16px 20px 20px;
  text-align:center;
  box-shadow:0 20px 60px rgba(100,50,0,0.4),0 0 40px rgba(180,130,50,0.2);
  position:relative;
  overflow:hidden;
}
.env-body::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(170deg,rgba(240,200,130,0.85),rgba(210,165,90,0.8),rgba(190,140,65,0.85));
  pointer-events:none;z-index:0;
}
.env-body > *{position:relative;z-index:1;}
.env-seal{
  width:60px;height:60px;border-radius:50%;
  background:linear-gradient(135deg,#C8920A,#E8A800,#B07A00);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;
  font-size:1.7rem;font-family:'Noto Sans Devanagari',sans-serif;
  color:#fff;font-weight:700;
  box-shadow:0 0 18px rgba(200,146,10,0.6),0 2px 8px rgba(0,0,0,0.3);
  animation:sealPulse 2s ease-in-out infinite;
  border:2px solid rgba(255,220,100,0.5);
}
@keyframes sealPulse{0%,100%{box-shadow:0 0 18px rgba(200,146,10,.5),0 2px 8px rgba(0,0,0,.3);}50%{box-shadow:0 0 35px rgba(232,168,0,.8),0 2px 8px rgba(0,0,0,.3);}}

/* Letter paper that slides out — scroll style */
.letter-paper{
  width:calc(100% - 16px);
  background:
    url('scroll-bg.png') center/cover no-repeat;
  border:1px solid rgba(160,110,40,0.5);
  border-radius:0 0 6px 6px;
  padding:0;
  max-height:0;overflow:hidden;
  transition:max-height 0.9s ease, padding 0.5s ease, margin-top 0.5s ease;
  position:relative;
  box-shadow:0 6px 20px rgba(100,50,0,0.25);
}
.letter-paper::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(170deg,rgba(255,240,200,0.6),rgba(245,220,160,0.55),rgba(235,200,130,0.6));
}
.letter-paper::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(139,80,20,.08) 28px,rgba(139,80,20,.08) 29px);
}
.letter-paper.open{
  max-height:500px;
  padding:28px 26px 24px;
  margin-top:0;
}
.letter-paper-inner{
  position:relative;z-index:2;
  text-align:center;
  opacity:0;transform:translateY(10px);
  transition:opacity 0.6s ease 0.4s,transform 0.6s ease 0.4s;
}
.letter-paper.open .letter-paper-inner{opacity:1;transform:translateY(0);}

.lp-om{font-family:'Noto Sans Devanagari',sans-serif;font-size:2.6rem;color:var(--crimson);line-height:1;text-shadow:1px 1px 4px rgba(139,0,0,0.2);}
.lp-title{font-family:'Cinzel Decorative',cursive;font-size:1.1rem;color:#4A1800;margin:.4rem 0 .3rem;line-height:1.3;font-weight:700;}
.lp-sub{font-family:'Noto Sans Devanagari',sans-serif;font-size:.95rem;color:#6B2800;margin-bottom:.8rem;}
.lp-text{font-family:'Noto Sans Devanagari',sans-serif;font-size:.82rem;line-height:1.9;color:#3D1800;}
.lp-divider{width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(139,80,20,.45),transparent);margin:.7rem auto;}
.lp-footer{font-family:'Cinzel Decorative',cursive;font-size:.65rem;color:var(--crimson);letter-spacing:2px;}

/* Skip button */
.intro-skip{
  position:absolute;bottom:20px;right:20px;z-index:20;
  background:rgba(180,120,20,0.15);border:1px solid rgba(180,120,20,0.5);
  color:var(--dark-brown);padding:6px 18px;border-radius:20px;
  font-family:'Cinzel Decorative',cursive;font-size:.55rem;letter-spacing:2px;
  cursor:pointer;transition:all .3s;
}
.intro-skip:hover{background:rgba(180,120,20,.3);}

/* Radial glow behind letter */
.intro-glow{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:500px;height:500px;
  background:radial-gradient(ellipse,rgba(200,146,10,.1) 0%,transparent 70%);
  pointer-events:none;z-index:1;
  animation:glowPulse 2s ease-in-out infinite;
}
@keyframes glowPulse{0%,100%{transform:translate(-50%,-50%) scale(1);}50%{transform:translate(-50%,-50%) scale(1.2);}}

/* ===================== NAVIGATION ===================== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:transparent;
  border-bottom:2px solid transparent;padding:0 2rem;
  display:flex;align-items:center;justify-content:space-between;
  height:70px;backdrop-filter:blur(0px);
  box-shadow:none;
  transition:background 0.4s ease, border-color 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease;
}
nav.scrolled{
  background:linear-gradient(180deg,#F5C030,#E8B020);
  border-bottom:2px solid rgba(160,100,10,0.4);
  backdrop-filter:blur(10px);
  box-shadow:0 2px 20px rgba(180,120,10,0.25);
}
nav::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(160,100,10,0.6),rgba(200,130,10,0.8),rgba(160,100,10,0.6),transparent);}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;cursor:pointer;}
.nav-logo img{width:44px;height:44px;border-radius:50%;border:2px solid rgba(160,100,10,0.5);object-fit:cover;box-shadow:0 2px 8px rgba(0,0,0,0.15);}
.nav-logo-text span:first-child{font-family:'Cinzel Decorative',cursive;font-size:.9rem;color:#E8D090;display:block;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,0.4);transition:color 0.4s ease,text-shadow 0.4s ease;}
.nav-logo-text span:last-child{font-family:'Noto Sans Devanagari',sans-serif;font-size:.80rem;color:rgba(255,240,200,0.85);transition:color 0.4s ease;}
nav.scrolled .nav-logo-text span:first-child{color:var(--dark-brown);text-shadow:none;}
nav.scrolled .nav-logo-text span:last-child{color:var(--maroon);}
.nav-links{display:flex;gap:.4rem;list-style:none;align-items:center;}
.nav-links a{
  color:rgba(255, 255, 255, 0.92);text-decoration:none;font-family:'Cinzel Decorative',cursive;
  font-size:.8rem;letter-spacing:1px;padding:7px 13px;border:1px solid transparent;
  border-radius:3px;transition:all .3s;cursor:pointer;
  /* font-weight:600; */
  text-shadow:0 1px 3px rgba(0,0,0,0.35);
}
nav.scrolled .nav-links a{color:#481e00;text-shadow:none;}
.nav-links a:hover,.nav-links a.active{
  color:#ff9f08f7;;border-color:rgba(139,0,0,0.3);
  background:rgba(255,255,255,0.25);
}
.nav-right{display:flex;align-items:center;gap:.8rem;}
.lang-switcher{display:flex;gap:3px;background:rgba(255,255,255,0.18);border:1px solid rgba(255,255,255,0.35);border-radius:20px;padding:3px;transition:background 0.4s,border-color 0.4s;}
nav.scrolled .lang-switcher{background:rgba(255,255,255,0.25);border-color:rgba(160,100,10,0.4);}
.lang-btn{background:none;border:none;color:rgba(0, 0, 0, 0.92);font-family:'Noto Sans Devanagari',sans-serif;font-size:.68rem;padding:4px 9px;border-radius:15px;cursor:pointer;transition:all .3s;font-weight:600;}
nav.scrolled .lang-btn{color:#fff;}
.lang-btn.active{background:var(--crimson);color:#fff;font-weight:700;}
.btn-connect{
  background:linear-gradient(135deg,var(--crimson),#6A0000);color:#fff;border:none;
  padding:8px 18px;border-radius:5px;font-family:'Cinzel Decorative',cursive;font-size:.58rem;
  letter-spacing:1px;cursor:pointer;text-decoration:none;transition:all .3s;
  box-shadow:0 2px 10px rgba(139,0,0,0.3);
}
.btn-connect:hover{box-shadow:0 4px 18px rgba(139,0,0,0.45);transform:translateY(-1px);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:5px;}
.hamburger span{width:24px;height:2px;background:rgba(255,245,220,0.9);display:block;transition:background 0.4s;}
nav.scrolled .hamburger span{background:var(--dark-brown);}
@media(max-width:900px){
  .hamburger{display:flex;}
  .nav-links{display:none;position:absolute;top:70px;left:0;right:0;
    background:#F5C030;border-bottom:2px solid rgba(160,100,10,0.4);
    padding:1rem;flex-direction:column;gap:.3rem;}
  .nav-links.open{display:flex;}
}

/* ===================== PAGES ===================== */
.page{display:none;min-height:100vh;}
.page.active{display:block;}

/* ===================== HOME: HERO ===================== */
.hero{
  position:relative;height:100svh;min-height:600px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;padding-top:70px;
  background:linear-gradient(160deg,#FDF5E8 0%,#F5E4C0 50%,#EDD8A0 100%);
}

/* Mandala background */
.hero-mandala-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url('mandala-bg.png') center/cover no-repeat;
  opacity:0.5;
}

/* Video background */
.hero-video-bg{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:1;pointer-events:none;
}
.hero-video-overlay{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(180deg,
      rgba(20,8,0,0.32) 0%,
      rgba(0,0,0,0.10) 35%,
      rgba(0,0,0,0.10) 65%,
      rgba(20,8,0,0.45) 100%);
}

/* Floating petals / gold particles */
.ember{
  position:absolute;border-radius:50%;pointer-events:none;z-index:3;
  animation:emberFloat linear infinite;
  background:radial-gradient(circle,rgba(200,146,10,0.7) 0%,rgba(232,105,10,0.3) 50%,transparent 100%);
}
@keyframes emberFloat{
  0%{transform:translateY(0) translateX(0) scale(1);opacity:0;}
  10%{opacity:0.8;}
  85%{opacity:0.5;}
  100%{transform:translateY(-110vh) translateX(var(--dx,20px)) scale(0.2);opacity:0;}
}

/* Subtle warm glow at bottom */
.hero-fire-glow{
  position:absolute;bottom:0;left:0;right:0;height:180px;z-index:3;pointer-events:none;
  background:radial-gradient(ellipse at 50% 100%,rgba(232,105,10,0.12) 0%,rgba(184,134,11,0.05) 40%,transparent 70%);
  animation:fireGlowPulse 3s ease-in-out infinite alternate;
}
@keyframes fireGlowPulse{
  0%{opacity:0.5;transform:scaleX(1);}
  100%{opacity:1;transform:scaleX(1.06);}
}
.hero-mandala{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  opacity:.06;pointer-events:none;z-index:2;
}
.mandala-svg{width:900px;height:900px;animation:spin 70s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* hero figures — HIDDEN in hero (only in intro overlay) */
.hero-figures{display:none !important;}

.hero-content{text-align:center;z-index:5;position:relative;animation:heroIn 1.2s ease-out both;}
@keyframes heroIn{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.hero-om{font-family:'Noto Sans Devanagari',sans-serif;font-size:5rem;color:var(--crimson);
  text-shadow:2px 2px 12px rgba(139,0,0,0.2),0 0 40px rgba(200,146,10,0.3);line-height:1;margin-bottom:.4rem;
  animation:omGlow 2.5s ease-in-out infinite;}
@keyframes omGlow{
  0%,100%{text-shadow:2px 2px 12px rgba(139,0,0,0.2),0 0 30px rgba(200,146,10,0.25);}
  50%{text-shadow:2px 2px 18px rgba(139,0,0,0.35),0 0 60px rgba(200,146,10,0.45);}
}
.hero-title{font-family:'Cinzel Decorative',cursive;font-size:clamp(1.8rem,4vw,3.2rem);color:var(--dark-brown);text-shadow:1px 1px 6px rgba(100,50,0,0.2);line-height:1.15;margin-bottom:.5rem;}
.hero-sub{font-family:'Noto Sans Devanagari',sans-serif;font-size:clamp(1.1rem,2.5vw,1.7rem);color:var(--saffron);margin-bottom:.3rem;}
.hero-tag{font-family:'Crimson Pro',serif;font-size:1rem;color:var(--text-muted);opacity:.85;font-style:italic;margin-bottom:2rem;}
.hdivider{width:200px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),var(--saffron),var(--gold),transparent);margin:1rem auto;}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ===================== BUTTONS ===================== */
.btn-primary{
  background:linear-gradient(135deg,var(--saffron),var(--deep-saffron));color:#fff;
  padding:11px 28px;border:2px solid rgba(160,80,10,0.4);border-radius:4px;
  font-family:'Cinzel Decorative',cursive;font-size:.95rem;letter-spacing:2px;
  text-decoration:none;cursor:pointer;transition:all .4s;display:inline-block;
  box-shadow:0 4px 18px rgba(200,80,0,.3);
}
.btn-primary:hover{box-shadow:0 6px 28px rgba(200,80,0,.5);transform:translateY(-2px);}
.btn-outline{
  background:rgba(255,255,255,0.5);color:var(--dark-brown);
  padding:11px 28px;border:2px solid rgba(180,120,20,0.5);border-radius:4px;
  font-family:'Cinzel Decorative',cursive;font-size:.95rem;letter-spacing:2px;
  text-decoration:none;cursor:pointer;transition:all .4s;display:inline-block;
  backdrop-filter:blur(4px);
}
.btn-outline:hover{background:rgba(255,255,255,0.75);box-shadow:0 0 18px rgba(180,120,20,0.2);}

/* ===================== SECTIONS ===================== */
section{padding:70px 2rem;position:relative;}
.sec-header{text-align:center;margin-bottom:2.5rem;}
.sec-header .om-tag{font-family:'Noto Sans Devanagari',sans-serif;font-size:2.4rem;color:var(--gold);display:block;margin-bottom:.4rem;letter-spacing:4px;}
.sec-title{font-family:'Cinzel Decorative',cursive;font-size:clamp(1.4rem,3vw,2.3rem);color:var(--dark-brown);font-weight:700;letter-spacing:.5px;}
.sec-title-deva{font-family:'Noto Sans Devanagari',sans-serif;font-size:clamp(1.1rem,2.5vw,1.8rem);color:var(--saffron);display:block;margin-top:.2rem;font-weight:600;}
.sec-line{width:150px;height:2px;background:linear-gradient(90deg,transparent,var(--saffron),var(--gold),var(--saffron),transparent);margin:1rem auto;}

/* ===================== HINDU-MONTH STYLE CARDS ===================== */
/* Each card = vivid background like the month tiles in the image */
.month-card{
  border-radius:14px;
  border:3px solid rgba(255,255,255,.25);
  padding:0;overflow:hidden;
  position:relative;cursor:pointer;
  transition:transform .35s ease, box-shadow .35s ease;
}
.month-card:hover{transform:translateY(-8px) rotate(-.5deg);}

.mc-top{
  padding:18px 16px 12px;
  min-height:120px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  position:relative;
  overflow:hidden;
}
/* Mandala watermark inside card */
.mc-top::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);
  pointer-events:none;
}
.mc-icon{font-size:2.8rem;margin-bottom:.3rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));line-height:1;}
.mc-label{
  font-family:'Noto Sans Devanagari',sans-serif;
  font-size:1.35rem;font-weight:700;
  color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);
  letter-spacing:.5px;
}
.mc-bottom{
  background:rgba(0,0,0,.45);
  padding:12px 14px;
  position:relative;
}
.mc-bottom h3{
  font-family:'Cinzel Decorative',cursive;
  font-size:.7rem;color:#fff;margin-bottom:.4rem;letter-spacing:1px;
}
.mc-bottom p{
  font-family:'Crimson Pro',serif;
  font-size:.82rem;color:rgba(255,255,255,.85);line-height:1.55;
}

/* ===== CARD COLORS — inspired by the month image ===== */
.mc-yellow  { background:linear-gradient(160deg,#F5C518 0%,#E8A800 50%,#C87800 100%); }
.mc-teal    { background:linear-gradient(160deg,#4ECDC4 0%,#2AB5AC 50%,#1A8A82 100%); }
.mc-blue    { background:linear-gradient(160deg,#1565C0 0%,#0D47A1 50%,#072D7A 100%); }
.mc-orange  { background:linear-gradient(160deg,#FF8C00 0%,#E65C00 50%,#C43B00 100%); }
.mc-lavender{ background:linear-gradient(160deg,#9C8ED4 0%,#7B6CB0 50%,#5A4A8E 100%); }
.mc-brown   { background:linear-gradient(160deg,#8B5E3C 0%,#6B3F1F 50%,#4A2800 100%); }
.mc-purple  { background:linear-gradient(160deg,#5B1E6B 0%,#3D0D4D 50%,#280836 100%); }
.mc-darkred { background:linear-gradient(160deg,#8B0000 0%,#6B0000 50%,#4A0000 100%); }
.mc-navy    { background:linear-gradient(160deg,#1A237E 0%,#0D1B6E 50%,#060E4A 100%); }
.mc-violet  { background:linear-gradient(160deg,#4527A0 0%,#311B92 50%,#1A0F60 100%); }
.mc-red     { background:linear-gradient(160deg,#C62828 0%,#B71C1C 50%,#8B0000 100%); }
.mc-pink    { background:linear-gradient(160deg,#F8BBD9 0%,#F48FB1 50%,#E57DA8 100%); }
.mc-forest  { background:linear-gradient(160deg,#2E7D32 0%,#1B5E20 50%,#0A3D0E 100%); }
.mc-saffron { background:linear-gradient(160deg,#FF6B1A 0%,#E8490A 50%,#C43000 100%); }
.mc-gold-bg { background:linear-gradient(160deg,#D4A017 0%,#B8860B 50%,#8B6914 100%); }

/* ===================== STATS ===================== */
.stats-bar{
  display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;
  padding:1.5rem 2rem;
  background:linear-gradient(90deg,#F5E8C8,#FAF0D8,#F5E8C8);
  border-top:1px solid rgba(180,120,20,.25);border-bottom:1px solid rgba(180,120,20,.25);
}
.stat-num{font-family:'Cinzel Decorative',cursive;font-size:2.2rem;color:var(--crimson);line-height:1;}
.stat-label{font-family:'Noto Sans Devanagari',sans-serif;font-size:.75rem;color:var(--saffron);margin-top:.2rem;}

/* ===================== IN-PAGE LETTER CARDS (oath/info) ===================== */
.pg-letter-wrap{cursor:pointer;}
.pg-env{
  border-radius:8px;border:2px solid rgba(160,110,40,0.5);overflow:hidden;
  box-shadow:0 8px 30px rgba(100,60,10,0.2);
  background:linear-gradient(160deg,#C8944A,#B07A30);
}
.pg-env-flap{
  height:42px;
  clip-path:polygon(0 100%,50% 0%,100% 100%);
  border-bottom:2px solid rgba(160,110,40,0.5);
  background:linear-gradient(135deg,#9A6020,#B07830);
  transition:transform .6s ease;transform-origin:bottom;
  position:relative;z-index:2;
}
.pg-env-body{
  padding:18px 20px;text-align:center;
  background:url('scroll-bg.png') center/cover no-repeat;
  position:relative;
}
.pg-env-body::before{
  content:'';position:absolute;inset:0;
  background:rgba(210,165,80,0.75);
  pointer-events:none;
}
.pg-env-body > *{position:relative;z-index:1;}
.pg-env-seal{
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--bright-gold));
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;
  font-size:1.5rem;font-family:'Noto Sans Devanagari',sans-serif;color:#fff;font-weight:700;
  box-shadow:0 0 18px rgba(184,134,11,.5),0 2px 8px rgba(0,0,0,.2);
  border:2px solid rgba(255,220,100,0.4);
}
.pg-env-title{font-family:'Cinzel Decorative',cursive;font-size:.7rem;color:var(--dark-brown);letter-spacing:2px;font-weight:700;}
.pg-env-hint{font-family:'Noto Sans Devanagari',sans-serif;font-size:.75rem;color:rgba(60,31,10,0.65);margin-top:.3rem;}

.pg-paper{
  background:url('scroll-bg.png') center/cover no-repeat;
  border:2px solid rgba(160,110,40,.4);border-top:none;
  border-radius:0 0 6px 6px;
  max-height:0;overflow:hidden;
  transition:max-height .8s ease, padding .4s;
  position:relative;
}
.pg-paper::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(170deg,rgba(255,240,200,0.65),rgba(245,220,155,0.6),rgba(235,200,120,0.65));
}
.pg-paper::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(139,80,20,.07) 28px,rgba(139,80,20,.07) 29px);
}
.pg-paper.open{max-height:600px;padding:24px 22px 22px;}
.pg-paper-inner{
  position:relative;z-index:2;color:var(--dark-brown);
  opacity:0;transform:translateY(8px);
  transition:opacity .5s ease .35s,transform .5s ease .35s;
}
.pg-paper.open .pg-paper-inner{opacity:1;transform:translateY(0);}
.pg-paper-inner h4{font-family:'Cinzel Decorative',cursive;font-size:.9rem;color:var(--crimson);text-align:center;margin-bottom:.8rem;letter-spacing:2px;}
.pg-paper-inner p{font-family:'Noto Sans Devanagari',sans-serif;font-size:.92rem;line-height:1.95;text-align:center;color:#3D1A00;}
.pg-env-flap.open{transform:rotateX(-170deg);}

/* ===================== ABOUT, JOB, VENDOR page sections ===================== */
.bg-dark{background:linear-gradient(180deg,#FAF0DC,#F5E8C8,#FAF0DC);}
.bg-d2{background:linear-gradient(135deg,#F5E8C8,#EDD8A8);}
.about-hero,.job-hero,.vendor-hero{
  padding:120px 2rem 60px;text-align:center;
  background:linear-gradient(160deg,#FDF5E8,#F0DDB0);
  border-bottom:2px solid rgba(180,120,20,.2);
}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1100px;margin:3rem auto 0;align-items:start;}
@media(max-width:768px){.about-grid{grid-template-columns:1fr;}}

/* Scroll / parchment card (for Why choose us) */
.parch-card{
  background:linear-gradient(135deg,#F5E6C8,#EDD9A8,#D4B87A);
  border:2px solid var(--gold);border-radius:6px;overflow:hidden;
  color:var(--dark-brown);position:relative;
  box-shadow:3px 4px 15px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .3s,box-shadow .3s;
}
.parch-card::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(139,80,20,.08) 27px,rgba(139,80,20,.08) 28px);}
.parch-card:hover{transform:translateY(-5px) rotate(.3deg);box-shadow:6px 8px 25px rgba(0,0,0,.5);}
.parch-top{background:linear-gradient(90deg,var(--crimson),var(--maroon),var(--crimson));padding:10px 18px;border-bottom:2px solid var(--gold);}
.parch-top h3{font-family:'Cinzel Decorative',cursive;font-size:.72rem;color:var(--bright-gold);letter-spacing:1.5px;}
.parch-body{padding:18px;position:relative;z-index:1;}
.parch-body p{font-family:'Crimson Pro',serif;font-size:.95rem;color:#3D1A00;line-height:1.8;}
.parch-body p.deva{font-family:'Noto Sans Devanagari',sans-serif;font-size:.88rem;}

/* Job form */
.job-form-card{max-width:700px;margin:0 auto;background:rgba(255,255,255,0.6);border:1px solid rgba(180,120,20,.25);border-radius:8px;padding:36px;backdrop-filter:blur(4px);}
.form-group{margin-bottom:1.4rem;}
.form-group label{display:block;font-family:'Cinzel Decorative',cursive;font-size:.58rem;color:var(--gold);letter-spacing:2px;margin-bottom:6px;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;background:rgba(255,255,255,0.8);border:1px solid rgba(180,120,20,.3);border-radius:3px;
  padding:11px 14px;color:var(--dark-brown);font-family:'Crimson Pro',serif;font-size:.95rem;transition:border .3s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);background:#fff;}
.form-group select option{background:#fff;color:var(--dark-brown);}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
@media(max-width:600px){.form-2col{grid-template-columns:1fr;}}

/* Category tags */
.cat-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;}
.cat-tag{background:rgba(255,255,255,0.6);border:1px solid rgba(180,120,20,.3);color:var(--dark-brown);
  padding:5px 15px;border-radius:2px;font-family:'Crimson Pro',serif;font-size:.85rem;
  cursor:pointer;transition:all .3s;}
.cat-tag:hover,.cat-tag.active-tag{background:var(--saffron);border-color:var(--saffron);color:#fff;}

/* Vendor grid */
.vendor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;}

/* Mission CTA */
.qr-cta{
  background:linear-gradient(160deg,#3D0800 0%,#6B1200 35%,#8B2000 65%,#5C0F00 100%);
  padding:80px 2rem 120px;text-align:center;
  border-top:3px solid rgba(200,146,10,.45);border-bottom:none;
  position:relative;overflow:visible;
}
.qr-cta::before{content:'ॐ';position:absolute;font-family:'Noto Sans Devanagari',sans-serif;
  font-size:320px;color:rgba(255,200,100,.05);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;}
.mission-text{
  font-family:'Noto Sans Devanagari','Cinzel Decorative',cursive;
  font-size:clamp(2rem,5vw,3rem);
  line-height:1.55;
  position:relative;z-index:1;
  text-shadow:0 2px 18px rgba(0,0,0,.55),0 0 40px rgba(200,100,0,.25);
  letter-spacing:1px;
}
.mission-text span{display:block;}

/* Corner decorations */
.cdecor{position:absolute;width:35px;height:35px;border-color:var(--gold);border-style:solid;opacity:.4;}
.cdecor.tl{top:14px;left:14px;border-width:2px 0 0 2px;}
.cdecor.tr{top:14px;right:14px;border-width:2px 2px 0 0;}
.cdecor.bl{bottom:14px;left:14px;border-width:0 0 2px 2px;}
.cdecor.br{bottom:14px;right:14px;border-width:0 2px 2px 0;}

/* Download */
.dl-card{
  display:flex;flex-direction:column;align-items:center;
  background:rgba(255,255,255,0.6);border:2px solid rgba(180,120,20,.35);border-radius:8px;
  padding:36px 12px;max-width:580px;width:100%;backdrop-filter:blur(4px);
  text-align:center;
  box-sizing:border-box;
}
.dl-btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:1.2rem;width:100%;}
.dl-btns a{text-align:center;flex:1 1 auto;min-width:160px;max-width:260px;}
@media(max-width:520px){
  .dl-btns{flex-direction:column;align-items:center;}
  .dl-btns a{width:100%;max-width:100%;}
  .dl-card{padding:28px 18px;}
}

/* Footer */
footer{background:linear-gradient(180deg,#F0DDA8,#E8D090);border-top:none;padding:60px 2rem 20px;text-align:center;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:1100px;margin:0 auto 3rem;text-align:left;}
.footer-logo img{width:55px;height:55px;border-radius:50%;border:2px solid rgba(160,100,10,0.4);margin-bottom:1rem;}
.footer-logo h3{font-family:'Cinzel Decorative',cursive;font-size:.85rem;color:var(--dark-brown);margin-bottom:.4rem;font-weight:700;}
.footer-logo p,.footer-logo p.deva{font-family:'Noto Sans Devanagari',sans-serif;font-size:.85rem;color:var(--text-muted);line-height:1.7;}
.footer-col h4{font-family:'Cinzel Decorative',cursive;font-size:.65rem;color:var(--crimson);letter-spacing:2px;margin-bottom:.9rem;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:.5rem;}
.footer-col a{color:var(--text-muted);text-decoration:none;font-family:'Crimson Pro',serif;font-size:.9rem;transition:all .3s;cursor:pointer;}
.footer-col a:hover{color:var(--crimson);}
.footer-bottom{border-top:1px solid rgba(160,100,10,.2);padding-top:1.5rem;font-family:'Crimson Pro',serif;font-size:.82rem;color:var(--text-muted);}
.ornament{text-align:center;font-family:'Noto Sans Devanagari',sans-serif;font-size:1.4rem;color:var(--gold);margin:1rem 0;opacity:.7;letter-spacing:10px;}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
/* ===== DOWNLOAD SECTION DECORATIVE PATTERN ===== */
.download-section::before{
  content:'';
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(184,134,11,0.12) 0%, transparent 35%),
    radial-gradient(circle at 85% 80%, rgba(232,105,10,0.10) 0%, transparent 35%),
    radial-gradient(circle at 50% 50%, rgba(184,134,11,0.06) 0%, transparent 60%);
}
.download-section::after{
  content:'📥';
  font-family:'Noto Sans Devanagari',sans-serif;
  position:absolute;
  font-size:clamp(200px,30vw,380px);
  opacity:.04;
  pointer-events:none;
  z-index:0;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  line-height:1;
}
/* Corner Om decorations */
.download-section .corner-deco{
  position:absolute;
  font-family:'Noto Sans Devanagari',sans-serif;
  font-size:2.2rem;color:rgba(184,134,11,0.18);
  pointer-events:none;z-index:0;line-height:1;
}
.download-section .corner-deco.tl{top:18px;left:22px;}
.download-section .corner-deco.tr{top:18px;right:22px;}
.download-section .corner-deco.bl{bottom:18px;left:22px;}
.download-section .corner-deco.br{bottom:18px;right:22px;}
/* border accent lines */
.download-section{
  border-top:3px solid rgba(184,134,11,0.25);
  border-bottom:3px solid rgba(184,134,11,0.25);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:70px 1rem;
  box-sizing:border-box;
  width:100%;
}
.download-section .sec-header{
  width:100%;
  max-width:700px;
}
@media(max-width:600px){
  .download-section{padding:50px 1rem;}
}


/* ===================== FLOATING HINDU SYMBOLS (replaces dots) ===================== */
/* Fixed layer — floats slowly behind everything */
.bg-dots{
  position:fixed;inset:0;
  pointer-events:none;z-index:0;
  overflow:hidden;
}
.bg-dot{
  position:absolute;bottom:-60px;
  font-family:'Noto Sans Devanagari',sans-serif;
  color:var(--gold);
  opacity:0;
  animation:symbolFloat linear infinite;
  user-select:none;
  font-weight:400;
  line-height:1;
}
@keyframes symbolFloat{
  0%  { transform:translateY(0)   rotate(0deg)  scale(1);   opacity:0; }
  8%  { opacity:1; }
  88% { opacity:.55; }
  100%{ transform:translateY(-110vh) rotate(20deg) scale(.6); opacity:0; }
}

/* ===================== SECTION SYMBOL WATERMARKS ===================== */
/* Every section gets a faint Hindu symbol watermark via pseudo-element */
section::before,
.stats-bar::before,
.qr-cta::after,
footer::before{
  content:'ॐ';
  font-family:'Noto Sans Devanagari',sans-serif;
  position:absolute;
  font-size:clamp(200px,30vw,380px);
  font-weight:700;
  color:var(--gold);
  opacity:.035;
  pointer-events:none;
  z-index:0;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  line-height:1;
  user-select:none;
}
/* Alternate symbols per section for variety */
.bg-dark::before       { content:'ॐ'; }
.bg-d2::before         { content:'卐'; font-size:clamp(180px,28vw,340px); }
section:nth-of-type(odd)::before  { content:'ॐ'; }
section:nth-of-type(even)::before { content:'।।'; font-size:clamp(160px,25vw,300px); letter-spacing:-10px; }
footer::before         { content:'🪔'; font-style:normal; opacity:.04; font-size:clamp(160px,22vw,280px); }

/* Make sure section content sits above watermark */
section > *,
.stats-bar > *,
footer > * { position:relative; z-index:1; }

/* diya glow */
.diya{animation:diyaF 1.5s ease-in-out infinite alternate;}
@keyframes diyaF{from{filter:drop-shadow(0 0 6px rgba(200,100,10,.5));}to{filter:drop-shadow(0 0 18px rgba(200,146,10,.8));}}

/* Value cards */
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem;max-width:1100px;margin:0 auto;}
/* ---- Large desktop (1200px+) ---- */
@media(min-width:1200px){
  section { padding:80px 3rem; }
  .about-hero, .job-hero, .vendor-hero { padding:130px 3rem 70px; }
  .vendor-grid { grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
}

/* ---- Tablet (900–1199px) ---- */
@media(min-width:901px) and (max-width:1199px){
  section { padding:60px 2rem; }
  .vendor-grid { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
  .values-grid { grid-template-columns:repeat(2,1fr); }
}

/* ---- Language */
[data-lang]{display:none;}
[data-lang].la{display:block;}
span[data-lang].la{display:inline;}

/* =====================================================================
   COMPREHENSIVE RESPONSIVE STYLES
   Breakpoints: 1200px (large tablet/small desktop), 900px (tablet),
                600px (mobile landscape), 480px (mobile portrait)
   ===================================================================== */

/* ---- Global layout helpers ---- */
img { max-width:100%; height:auto; }

/* ---- Navigation ---- */
@media(max-width:900px){
  nav { padding:0 1rem; height:60px; }
  .nav-logo-text span:first-child { font-size:.75rem; }
  .nav-logo-text span:last-child  { font-size:.85rem; }
  .nav-logo img { width:36px; height:36px; }
  .nav-links { top:60px; padding:.75rem 1rem; }
  .nav-links a { font-size:.65rem; padding:10px 12px; }
  .btn-connect { padding:6px 12px; font-size:.52rem; }
  .lang-btn { font-size:.62rem; padding:4px 7px; }
}
@media(max-width:480px){
  nav { padding:0 .75rem; }
  .nav-logo-text { display:none; }
  .lang-switcher { gap:2px; }
  .lang-btn { padding:3px 6px; font-size:.58rem; }
  .btn-connect { display:none; }
}

/* ---- Intro overlay — mobile ---- */
@media(max-width:600px){
  .ifig-left  { width:130px; }
  .ifig-right { width:130px; }
  .ifig-left.in  { left:2px; }
  .ifig-right.in { right:2px; }
  .intro-letter-wrap { width:92vw; }
  .lp-title { font-size:.85rem; }
  .lp-om { font-size:2rem; }
  .sw-left { left:60px; }
  .sw-right { right:60px; }
}
@media(max-width:420px){
  .ifig-left, .ifig-right { display:none !important; }
  .sound-wave { display:none !important; }
}

/* ---- Hero section ---- */
.hero { padding-top:60px; min-height:100svh; }
@media(max-width:900px){
  .hero { height:auto; min-height:100svh; padding-top:60px; }
  .hero-om { font-size:3.8rem; }
  .hero-title { font-size:clamp(1.4rem,5vw,2.2rem); }
  .hero-sub   { font-size:clamp(.95rem,3vw,1.3rem); }
  .hero-tag   { font-size:.88rem; padding:0 .5rem; }
  .hero-content { padding:0 1rem; }
  .hdivider { width:140px; }
  .mandala-svg { width:500px; height:500px; }
}
@media(max-width:480px){
  .hero-om { font-size:3rem; }
  .hero-btns { flex-direction:column; align-items:center; gap:.7rem; }
  .btn-primary, .btn-outline { width:100%; max-width:280px; text-align:center; }
}

/* ---- Stats bar ---- */
@media(max-width:600px){
  .stats-bar { gap:1.2rem; padding:1.2rem 1rem; }
  .stat-num  { font-size:1.7rem; }
  .stat-item { flex:1 1 40%; text-align:center; }
}

/* ---- Sections padding ---- */
@media(max-width:900px){
  section { padding:50px 1.25rem; }
  .about-hero, .job-hero, .vendor-hero { padding:90px 1.25rem 40px; }
}
@media(max-width:480px){
  section { padding:40px 1rem; }
  .about-hero, .job-hero, .vendor-hero { padding:80px 1rem 32px; }
  .sec-header { margin-bottom:1.5rem; }
  .sec-title { font-size:clamp(1.2rem,5vw,1.8rem); }
}

/* ---- Core values grid ---- */
@media(max-width:480px){
  .values-grid { grid-template-columns:1fr; gap:1rem; }
}

/* ---- Vendor carousel ---- */
.vc-wrapper { padding:20px 0 40px; }
@media(max-width:600px){
  .vc-card { flex:0 0 130px; width:130px; height:185px; }
  .vc-top  { height:118px; }
  .vc-top .vc-icon { font-size:2.1rem; }
  .vc-top .vc-deva { font-size:.95rem; }
  .vc-bottom { height:67px; padding:5px 8px; }
  .vc-name { font-size:.52rem; }
  .vc-type { font-size:.62rem; }
  .vc-card.vc-center { transform:scale(1.22) translateY(-8px); }
}
@media(max-width:380px){
  .vc-card { flex:0 0 115px; width:115px; height:170px; }
  .vc-top  { height:106px; }
}

/* ---- About grid ---- */
@media(max-width:768px){
  .about-grid { grid-template-columns:1fr; gap:1.5rem; }
}

/* ---- Why Choose Us grid ---- */
@media(max-width:600px){
  .why-grid { grid-template-columns:1fr !important; }
  .values-grid { grid-template-columns:1fr; gap:1rem; }
}

/* ---- Job & info envelope grid ---- */
@media(max-width:600px){
  .job-info-grid { grid-template-columns:1fr !important; }
}

/* ---- Job form ---- */
@media(max-width:700px){
  .job-form-card { padding:20px 16px; }
}
@media(max-width:600px){
  .form-2col { grid-template-columns:1fr; gap:0; }
}

/* ---- Vendor grid ---- */
@media(max-width:900px){
  .vendor-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
}
@media(max-width:480px){
  .vendor-grid { grid-template-columns:1fr; gap:1rem; }
  .cat-tags    { gap:.4rem; }
  .cat-tag     { padding:5px 10px; font-size:.78rem; }
}

/* ---- Download section ---- */
@media(max-width:480px){
  .dl-card { padding:22px 16px; }
  .dl-btns { flex-direction:column; align-items:center; }
  .dl-btns a { width:100%; max-width:280px; text-align:center; }
}

/* ---- Mission CTA ---- */
@media(max-width:600px){
  .qr-cta { padding:50px 1rem; }
  .mission-text { font-size:clamp(1.6rem,8vw,2.8rem); }
  .cdecor { width:22px; height:22px; }
}

/* ---- Footer ---- */
@media(max-width:700px){
  footer { padding:36px 1.25rem 16px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:1.5rem; margin-bottom:2rem; }
  .footer-logo { grid-column:1/-1; text-align:center; }
  .footer-logo img { margin:0 auto 1rem; display:block; }
}
@media(max-width:480px){
  .footer-grid { grid-template-columns:1fr; }
  .footer-col  { text-align:center; }
  .footer-col ul { padding:0; }
  .ornament { font-size:1rem; letter-spacing:6px; }
  .footer-bottom { font-size:.75rem; }
}

/* ---- Vendor register card ---- */
@media(max-width:480px){
  .vendor-register-box { padding:22px 14px !important; }
}

/* ---- In-page letter / oath ---- */
@media(max-width:480px){
  .pg-paper.open { padding:16px 14px 14px; }
  .pg-paper-inner p { font-size:.82rem; }
}

/* ---- Month-card content scale on very small screens ---- */
@media(max-width:380px){
  .mc-icon  { font-size:2.2rem; }
  .mc-label { font-size:1.1rem; }
  .mc-bottom h3 { font-size:.62rem; }
  .mc-bottom p  { font-size:.75rem; }
}

/* =====================================================================
   OATH SECTION — AKHAND BHARAT MAP BACKGROUND + LETTER STYLE
   ===================================================================== */

/* Oath section wrapper */
.oath-section {
  position: relative;
  padding: 80px 2rem;
  overflow: hidden;
  background: #fff8f0;
}

/* Full-section Akhand Bharat map as background watermark */
.oath-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../imgi_157_IMG_20220129_014838627.jpg') center/cover no-repeat;
  opacity: 0.08;
  pointer-events: none;
  z-index: 0;
  filter: saturate(0) brightness(0.5);
}

/* Orange saffron overlay gradient on top of map */
.oath-section-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(232,105,10,0.13) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 50%, rgba(232,105,10,0.13) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 50%, rgba(255,140,0,0.07) 0%, transparent 70%);
}

.oath-section > * { position: relative; z-index: 1; }

/* ---- Oath Letter Card ---- */
.oath-letter-card {
  max-width: 820px;
  margin: 0 auto;
  position: relative;
}

/* The envelope outer container */
.oath-envelope {
  position: relative;
  cursor: pointer;
  filter: drop-shadow(0 12px 40px rgba(100,40,0,0.28));
  transition: filter 0.3s ease;
}
.oath-envelope:hover { filter: drop-shadow(0 18px 55px rgba(100,40,0,0.38)); }

/* Flap */
.oath-flap {
  width: 100%;
  height: 70px;
  background: linear-gradient(135deg, #8B1A1A 0%, #6A0000 50%, #5C0000 100%);
  clip-path: polygon(0 100%, 50% 0%, 100% 100%);
  position: relative;
  z-index: 2;
  border-radius: 6px 6px 0 0;
  transform-origin: bottom center;
  transition: transform 0.7s cubic-bezier(0.4,0,0.2,1);
  box-shadow: 0 -4px 12px rgba(100,0,0,0.2);
}
.oath-flap.open { transform: rotateX(-175deg); }

/* Envelope body (shows map) */
.oath-env-body {
  background:
    url('../imgi_157_IMG_20220129_014838627.jpg') center/cover no-repeat;
  border: 3px solid rgba(139,0,0,0.4);
  border-top: none;
  border-radius: 0 0 12px 12px;
  padding: 28px 32px 32px;
  text-align: center;
  position: relative;
  overflow: hidden;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Semi-transparent saffron overlay on envelope body */
.oath-env-body::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 200, 100, 0.82);
  pointer-events: none;
  z-index: 0;
}
.oath-env-body > * { position: relative; z-index: 1; }

/* Seal */
.oath-seal {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #8B0000, #C00000, #6A0000);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Noto Sans Devanagari', sans-serif;
  font-size: 2.2rem; color: #FFD700;
  box-shadow: 0 0 0 4px rgba(200,146,10,0.5), 0 0 25px rgba(139,0,0,0.4);
  animation: sealPulse 2s ease-in-out infinite;
  margin-bottom: 1rem;
}

.oath-env-title {
  font-family: 'Cinzel Decorative', cursive;
  font-size: clamp(0.9rem, 2.5vw, 1.3rem);
  color: #3D0000;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 0.4rem;
}

.oath-env-sub {
  font-family: 'Noto Sans Devanagari', sans-serif;
  font-size: 1rem;
  color: #6B1800;
  margin-bottom: 1rem;
}

.oath-click-hint {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(139,0,0,0.12);
  border: 1px solid rgba(139,0,0,0.3);
  color: #8B0000;
  padding: 6px 20px;
  border-radius: 20px;
  font-family: 'Cinzel Decorative', cursive;
  font-size: 0.75rem;
  letter-spacing: 2px;
  animation: hintPulse 2s ease-in-out infinite;
}
@keyframes hintPulse {
  0%,100% { opacity: 0.7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.04); }
}

/* ---- Letter Paper that slides out ---- */
.oath-paper {
  width: calc(100% - 6px);
  margin: 0 auto;
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s cubic-bezier(0.4,0,0.2,1);
  border-radius: 0 0 10px 10px;
  position: relative;
}

.oath-paper.open { max-height: 1800px; }

/* Map background inside the paper */
.oath-paper-inner {
  background: url('../imgi_157_IMG_20220129_014838627.jpg') center/cover no-repeat;
  border: 3px solid rgba(139,0,0,0.35);
  border-top: none;
  border-radius: 0 0 10px 10px;
  position: relative;
  overflow: hidden;
}

/* Warm semi-transparent overlay so text is readable */
.oath-paper-inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(170deg,
      rgba(255,248,225,0.93) 0%,
      rgba(255,240,200,0.90) 40%,
      rgba(255,235,190,0.92) 100%);
  pointer-events: none;
  z-index: 0;
}

/* Lined paper effect */
.oath-paper-inner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 30px,
    rgba(139,80,20,0.07) 30px,
    rgba(139,80,20,0.07) 31px
  );
  pointer-events: none;
  z-index: 1;
}

.oath-paper-content {
  position: relative;
  z-index: 2;
  padding: 36px 40px 40px;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s ease 0.4s, transform 0.7s ease 0.4s;
}

.oath-paper.open .oath-paper-content {
  opacity: 1;
  transform: translateY(0);
}

/* Om header */
.oath-om-header {
  text-align: center;
  font-family: 'Noto Sans Devanagari', sans-serif;
  font-size: 2.8rem;
  color: #8B0000;
  line-height: 1;
  margin-bottom: 0.3rem;
  text-shadow: 1px 1px 6px rgba(139,0,0,0.2);
}

.oath-ram-title {
  text-align: center;
  font-family: 'Cinzel Decorative', cursive;
  font-size: clamp(0.85rem, 2vw, 1.1rem);
  color: #5C0000;
  letter-spacing: 3px;
  margin-bottom: 1rem;
}

.oath-divider {
  width: 85%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(139,0,0,0.45), rgba(200,146,10,0.6), rgba(139,0,0,0.45), transparent);
  margin: 0.8rem auto 1.2rem;
}

/* Akhand Bharat map inlined in letter */
.oath-map-inline {
  float: right;
  width: clamp(160px, 35%, 240px);
  margin: 0 0 1rem 1.5rem;
  opacity: 0.75;
  filter: drop-shadow(0 4px 12px rgba(200,80,0,0.3));
}
@media(max-width:600px){
  .oath-map-inline { float: none; display: block; margin: 0 auto 1rem; width: 60%; }
}

/* Oath text */
.oath-text-block {
  font-family: 'Noto Sans Devanagari', sans-serif;
  font-size: clamp(0.85rem, 1.6vw, 1rem);
  line-height: 2.1;
  color: #3D1000;
  text-align: left;
}

.oath-text-en {
  font-family: 'Crimson Pro', serif;
  font-size: clamp(0.9rem, 1.6vw, 1.05rem);
  line-height: 2;
  color: #3D1000;
}

.oath-closing {
  text-align: center;
  margin-top: 1.5rem;
  font-family: 'Noto Sans Devanagari', sans-serif;
  font-size: 1.1rem;
  color: #8B0000;
  font-weight: 700;
  letter-spacing: 2px;
}

.oath-diya-row {
  text-align: center;
  font-size: 1.6rem;
  margin-top: 1rem;
  letter-spacing: 8px;
}

/* Sign oath button */
.oath-sign-btn {
  display: block;
  margin: 1.5rem auto 0;
  background: linear-gradient(135deg, #8B0000, #C00000);
  color: #FFD700;
  border: 2px solid rgba(200,146,10,0.5);
  padding: 12px 32px;
  border-radius: 4px;
  font-family: 'Cinzel Decorative', cursive;
  font-size: 0.8rem;
  letter-spacing: 2px;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 4px 18px rgba(139,0,0,0.35);
  text-decoration: none;
}
.oath-sign-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(139,0,0,0.5);
}

/* ---- Mobile oath ---- */
@media(max-width:600px){
  .oath-paper-content { padding: 20px 18px 24px; }
  .oath-section { padding: 50px 1rem; }
  .oath-flap { height: 50px; }
  .oath-seal { width: 60px; height: 60px; font-size: 1.7rem; }
  .oath-env-body { padding: 20px 18px 24px; }
}

/* =====================================================================
   STATS BAR (already referenced, ensure defined)
   ===================================================================== */
.stats-bar{
  display:flex;justify-content:center;flex-wrap:wrap;gap:2rem;
  padding:1.8rem 2rem;
  background:linear-gradient(135deg,#3D0800 0%,#6B1200 50%,#3D0800 100%);
  border-top:2px solid rgba(200,146,10,.35);border-bottom:2px solid rgba(200,146,10,.35);
  position:relative;overflow:hidden;
}
.stat-item{text-align:center;position:relative;}
.stat-num{font-family:'Cinzel Decorative',cursive;font-size:2.2rem;color:var(--bright-gold);line-height:1;font-weight:700;text-shadow:0 2px 10px rgba(200,146,10,.4);}
.stat-label{font-family:'Noto Sans Devanagari',sans-serif;font-size:.82rem;color:rgba(255,235,200,.8);margin-top:.2rem;}
