:root{
  --maroon-deep:#2A0808;
  --maroon-mid:#41100F;
  --maroon-line:#5C1E19;
  --gold:#C9992F;
  --gold-bright:#EAC873;
  --saffron:#E2672A;
  --ivory:#FBF3E3;
  --ivory-dim:#EFE3CC;
  --ink:#241611;
  --ink-soft:#5B4A3D;
  --line:rgba(201,153,47,0.25);
  --shadow:0 18px 40px rgba(42,8,8,0.18);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Hind',sans-serif;
  background:var(--ivory);
  color:var(--ink);
  overflow-x:hidden;
  font-weight:400;
}
h1,h2,h3,.eng-display{font-family:'Cinzel',serif;letter-spacing:.02em;}
.hin-display{font-family:'Tiro Devanagari Hindi',serif;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
::selection{background:var(--gold);color:var(--maroon-deep);}

/* ---------- NAV (shared header) ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(42,8,8,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1180px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:10px;color:var(--ivory);}
.brand .om{font-size:24px;color:var(--gold-bright);}
.brand-text{line-height:1.1;}
.brand-text .hin{font-family:'Tiro Devanagari Hindi',serif;font-size:19px;color:var(--gold-bright);display:block;}
.brand-text .eng{font-family:'Cinzel',serif;font-size:10.5px;letter-spacing:.14em;color:var(--ivory-dim);text-transform:uppercase;}
nav.links{display:flex;gap:28px;}
nav.links a{
  color:var(--ivory-dim);font-size:14.5px;font-weight:500;position:relative;padding:4px 0;
  transition:color .25s ease;
}
nav.links a::after{
  content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--gold-bright);
  transition:width .3s ease;
}
nav.links a:hover{color:var(--gold-bright);}
nav.links a:hover::after{width:100%;}
nav.links a.active{color:var(--gold-bright);}
nav.links a.active::after{width:100%;}
.nav-cta{
  background:var(--gold);color:var(--maroon-deep);padding:9px 22px;border-radius:3px;
  font-weight:600;font-size:14px;letter-spacing:.03em;transition:background .25s ease, transform .2s ease;
}
.nav-cta:hover{background:var(--gold-bright);transform:translateY(-1px);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
.burger span{width:24px;height:2px;background:var(--gold-bright);display:block;transition:.3s;}
.mobile-menu{
  display:none;flex-direction:column;background:var(--maroon-mid);
  border-top:1px solid var(--line);padding:10px 24px 20px;
}
.mobile-menu a{color:var(--ivory-dim);padding:12px 0;font-size:15px;border-bottom:1px solid rgba(255,255,255,0.06);}
.mobile-menu .nav-cta{margin-top:14px;text-align:center;}

/* ---------- Reveal on scroll (shared) ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.stats-grid .reveal:nth-child(1){transition-delay:0s;}
.stats-grid .reveal:nth-child(2){transition-delay:.12s;}
.stats-grid .reveal:nth-child(3){transition-delay:.24s;}
.stats-grid .reveal:nth-child(4){transition-delay:.36s;}
.features-grid .fcard:nth-child(3n+1){transition-delay:0s;}
.features-grid .fcard:nth-child(3n+2){transition-delay:.12s;}
.features-grid .fcard:nth-child(3n+3){transition-delay:.24s;}

/* ---------- Sitewide floating particles (every section) ---------- */
.site-particles{
  position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:5;
}
.site-particles span{
  position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;
  background:var(--gold);opacity:0;
  animation:emberRise linear infinite;
}
@keyframes emberRise{
  0%{transform:translateY(0) scale(.6);opacity:0;}
  10%{opacity:.5;}
  90%{opacity:.35;}
  100%{transform:translateY(-100vh) scale(1);opacity:0;}
}
@media (prefers-reduced-motion: reduce){
  .site-particles{display:none;}
}

/* ---------- Buttons (shared) ---------- */
.btn{
  padding:14px 30px;border-radius:3px;font-size:14.5px;font-weight:600;letter-spacing:.03em;
  display:inline-flex;align-items:center;gap:8px;transition:transform .2s ease, box-shadow .2s ease;
}
.btn-primary{background:var(--gold);color:var(--maroon-deep);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(201,153,47,0.35);}
.btn-ghost{border:1px solid rgba(251,243,227,0.35);color:var(--ivory);}
.btn-ghost:hover{border-color:var(--gold-bright);color:var(--gold-bright);transform:translateY(-2px);}

/* ---------- Section eyebrow (shared) ---------- */
.eyebrow{color:var(--saffron);font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;font-family:'Cinzel',serif;}

/* ---------- FOOTER (shared) ---------- */
footer{background:var(--maroon-deep);padding:60px 24px 26px;color:var(--ivory-dim);}
.foot-grid{
  max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--line);
}
.foot-brand .hin{font-family:'Tiro Devanagari Hindi',serif;color:var(--gold-bright);font-size:22px;}
.foot-brand p{font-size:13.5px;margin-top:14px;line-height:1.8;max-width:280px;color:rgba(251,243,227,0.6);}
.foot-col h4{font-family:'Cinzel',serif;font-size:12.5px;letter-spacing:.14em;color:var(--gold-bright);text-transform:uppercase;margin-bottom:16px;}
.foot-col a{display:block;font-size:14px;color:rgba(251,243,227,0.7);margin-bottom:11px;transition:color .2s ease;}
.foot-col a:hover{color:var(--gold-bright);}
.foot-bottom{
  max-width:1100px;margin:22px auto 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  font-size:12.5px;color:rgba(251,243,227,0.45);
}

/* ---------- Om decoration (auto-injected into every hero by common.js) ---------- */
.om-decor{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  pointer-events:none;overflow:hidden;z-index:0;
}
.om-decor .om-glyph{
  font-family:'Tiro Devanagari Hindi',serif;
  font-size:min(65vw,560px);
  color:var(--gold-bright);
  opacity:.09;
  line-height:1;
  user-select:none;
  animation:omMove 18s ease-in-out infinite;
  will-change:transform,opacity;
}
.om-decor .om-ring{
  position:absolute;border:1px dashed rgba(234,200,115,0.16);border-radius:50%;
  animation:omSpin 70s linear infinite;
}
.om-decor .ring-1{width:min(78vmin,640px);height:min(78vmin,640px);}
.om-decor .ring-2{width:min(56vmin,460px);height:min(56vmin,460px);animation-duration:50s;animation-direction:reverse;border-color:rgba(226,103,42,0.16);}
.om-decor .ring-3{width:min(34vmin,300px);height:min(34vmin,300px);animation-duration:35s;}
@keyframes omMove{
  0%{transform:rotate(0deg) scale(1) translateY(0);opacity:.07;}
  25%{transform:rotate(8deg) scale(1.05) translateY(-14px);opacity:.11;}
  50%{transform:rotate(0deg) scale(1.1) translateY(0);opacity:.13;}
  75%{transform:rotate(-8deg) scale(1.05) translateY(14px);opacity:.11;}
  100%{transform:rotate(0deg) scale(1) translateY(0);opacity:.07;}
}
@keyframes omSpin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
@media (max-width:600px){
  .om-decor .om-glyph{font-size:min(72vw,340px);}
}

/* ---------- Generic page hero (used by inner pages later) ---------- */
.page-hero{
  position:relative;padding:150px 24px 70px;text-align:center;
  background:radial-gradient(ellipse at 50% 20%, var(--maroon-mid) 0%, var(--maroon-deep) 65%);
  overflow:hidden;
}
.page-hero h1{color:var(--ivory);font-size:clamp(28px,5vw,44px);}
.page-hero p{color:var(--ivory-dim);max-width:560px;margin:16px auto 0;line-height:1.75;}

@media (max-width:900px){
  nav.links, .nav-cta{display:none;}
  .burger{display:flex;}
  .mobile-menu.open{display:flex;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
  .foot-grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}