/* Language: मराठी default — .en elements लपवा */
.en, span.en, h1.en, h2.en, h3.en, h4.en, p.en, div.en, li.en, [class~="en"] { display: none !important; }


*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --ink:    #050200;
  --ink2:   #0a0400;
  --ink3:   #110600;
  --ink4:   #190900;
  --ink5:   #220d00;
  --saf:    #ff7a00;
  --saf2:   #ff9933;
  --saf3:   #ffb84d;
  --sdim:   rgba(255,122,0,.13);
  --gold:   #c8910c;
  --gold2:  #e6b42a;
  --gold3:  #f4d05a;
  --gdim:   rgba(200,145,12,.2);
  --cream:  #f0ddb8;
  --cream2: #ddc898;
  --mute:   #967030;
  --bdr:    rgba(200,145,12,.18);
  --bdr2:   rgba(255,122,0,.2);
  --fd: 'Tiro Devanagari Marathi', serif;
  --fb: 'Mukta', sans-serif;
}
html { scroll-behavior: smooth; }
body {
  font-family: var(--fb);
  background: var(--ink);
  color: var(--cream);
  overflow-x: hidden;
  line-height: 1.8;
}
img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--ink); }
::-webkit-scrollbar-thumb { background:var(--saf); border-radius:3px; }
.wrap { max-width:1100px; margin:0 auto; padding:0 1.5rem; }





.loader {
  position:fixed; inset:0; background:var(--ink);
  display:flex; align-items:center; justify-content:center;
  z-index:9999; transition:opacity .6s, visibility .6s;
}
.loader.done { opacity:0; visibility:hidden; pointer-events:none; }
.ld-wrap { text-align:center; }
.ld-emblem {
  font-size:3.5rem; display:block; margin-bottom:1.5rem;
  animation:emblemPulse 1.5s ease-in-out infinite alternate;
}
@keyframes emblemPulse {
  from { transform:scale(.9) rotate(-5deg); filter:drop-shadow(0 0 10px rgba(255,122,0,.5)); }
  to   { transform:scale(1.1) rotate(5deg);  filter:drop-shadow(0 0 25px rgba(255,122,0,.9)); }
}
.ld-bar { width:220px; height:3px; background:var(--ink4); border-radius:2px; overflow:hidden; margin:0 auto 1rem; }
.ld-prog { height:100%; background:linear-gradient(90deg,var(--saf),var(--gold2)); width:0; transition:width .08s; }
.ld-msg { font-family:var(--fd); font-size:.9rem; color:var(--mute); }


.nav {
  position:fixed; top:0; left:0; right:0; z-index:800;
  transition:background .4s, box-shadow .4s;
}
.nav.stuck {
  background:rgba(5,2,0,.96);
  backdrop-filter:blur(20px);
  box-shadow:0 1px 0 var(--bdr), 0 4px 24px rgba(0,0,0,.6);
}
.nav-inner {
  max-width:1100px; margin:0 auto; padding:0 1.5rem;
  height:66px; display:flex; align-items:center; gap:1rem;
}
.nav-brand {
  display:flex; align-items:center; gap:9px;
  font-family:var(--fd); font-size:1.45rem; color:var(--gold2);
  flex-shrink:0;
}
.nav-brand-icon { font-size:1.2rem; }
.nav-links { display:flex; gap:.2rem; margin:0 auto; flex-wrap:wrap; }
.nl {
  font-family:var(--fb); font-size:1.05rem; font-weight:600;
  color:var(--cream2); padding:8px 14px; border-radius:8px;
  transition:color .3s, background .3s; position:relative;
  white-space:nowrap;
}
.nl::after {
  content:''; position:absolute; bottom:4px; left:50%;
  transform:translateX(-50%) scaleX(0);
  width:55%; height:2px; background:var(--saf); border-radius:2px;
  transition:transform .3s;
}
.nl:hover, .nl.on { color:var(--saf); background:rgba(255,122,0,.07); }
.nl:hover::after, .nl.on::after { transform:translateX(-50%) scaleX(1); }


.lang-toggle:hover { border-color:var(--saf); box-shadow:0 0 16px rgba(255,122,0,.2); }

.lt-opt.active {
  background:linear-gradient(135deg,#7a2e00,var(--saf));
  color:#000; box-shadow:0 2px 10px rgba(255,122,0,.35);
}

.ham {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:6px;
}
.ham span { display:block; width:22px; height:2px; background:var(--cream2); border-radius:2px; transition:all .3s; }
.ham.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.ham.open span:nth-child(2) { opacity:0; }
.ham.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }


.hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  text-align:center; overflow:hidden;
  background:
    radial-gradient(ellipse 80% 55% at 50% 30%, rgba(255,122,0,.14), transparent 65%),
    radial-gradient(ellipse 50% 60% at 10% 80%, rgba(200,145,12,.1), transparent 60%),
    radial-gradient(ellipse 40% 50% at 90% 70%, rgba(200,145,12,.07), transparent 60%),
    linear-gradient(170deg, var(--ink) 0%, var(--ink3) 45%, var(--ink) 100%);
  padding:110px 1.5rem 90px;
}
#heroCanvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }


.hero-frame { position:absolute; inset:22px; pointer-events:none; z-index:1; }
.hf-corner {
  position:absolute; font-size:1.3rem; color:var(--gold);
  opacity:.32; animation:cornerGlow 3.5s ease-in-out infinite alternate;
}
.hf-corner.tl{top:0;left:0} .hf-corner.tr{top:0;right:0}
.hf-corner.bl{bottom:0;left:0} .hf-corner.br{bottom:0;right:0}
@keyframes cornerGlow { from{opacity:.18} to{opacity:.52} }
.hf-line {
  position:absolute;
  background:linear-gradient(90deg,transparent,rgba(200,145,12,.22),transparent);
}
.hf-line.top { top:6px; left:30px; right:30px; height:1px; }
.hf-line.bot { bottom:6px; left:30px; right:30px; height:1px; }
.hf-line.lft { left:6px; top:30px; bottom:30px; width:1px; background:linear-gradient(180deg,transparent,rgba(200,145,12,.22),transparent); }
.hf-line.rgt { right:6px; top:30px; bottom:30px; width:1px; background:linear-gradient(180deg,transparent,rgba(200,145,12,.22),transparent); }

.hero-content { position:relative; z-index:2; max-width:820px; margin:0 auto; }


.hero-badge {
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--fd); font-size:clamp(1rem,2vw,1.3rem);
  letter-spacing:.08em; color:var(--gold2);
  margin-bottom:1.4rem; margin-top:.2rem;
  background:rgba(200,145,12,.1);
  border:1px solid rgba(200,145,12,.3);
  padding:8px 22px; border-radius:30px;
  opacity:0; animation:fadeUp .7s .55s forwards;
}


.hero-tribute {
  display:inline-flex; align-items:center; gap:18px;
  margin-bottom:1.6rem; position:relative;
  opacity:0; animation:fadeUp .7s .1s forwards;
}
.hero-tribute::before {
  content:''; position:absolute; inset:-13px -22px;
  border:1px solid rgba(200,145,12,.2); border-radius:14px;
  background:rgba(0,0,0,.25); backdrop-filter:blur(6px);
}
.diya { font-size:1.8rem; position:relative; z-index:1; filter:drop-shadow(0 0 12px rgba(255,180,0,.9)); animation:diyaFlame 2.5s ease-in-out infinite alternate; }
.diya:last-child { animation-delay:1.25s; }
@keyframes diyaFlame {
  0%   { transform:scale(1) rotate(-4deg);  filter:drop-shadow(0 0 8px rgba(255,140,0,.7)); }
  50%  { transform:scale(1.12);             filter:drop-shadow(0 0 22px rgba(255,210,50,1)); }
  100% { transform:scale(1.06) rotate(4deg); filter:drop-shadow(0 0 12px rgba(255,120,0,.8)); }
}
.tribute-text { display:flex; flex-direction:column; align-items:center; position:relative; z-index:1; gap:2px; }
.tribute-text .t1 { font-family:var(--fd); font-style:normal; font-size:clamp(.9rem,1.8vw,1.1rem); color:var(--cream2); letter-spacing:.1em; }
.tribute-text .t2 {
  font-family:var(--fd); font-weight:400; font-size:clamp(1.4rem,3.5vw,2.3rem);
  background:linear-gradient(90deg, var(--gold2), var(--saf3), var(--gold3), var(--gold2));
  background-size:200%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:shimmer 3.5s linear infinite;
}
@keyframes shimmer { from{background-position:0%} to{background-position:200%} }


.hero-name { display:flex; flex-direction:column; align-items:center; opacity:0; animation:fadeUp .7s .28s forwards; }
.hn-top { font-family:var(--fd); font-size:clamp(1.1rem,2.6vw,1.75rem); color:var(--cream2); letter-spacing:.22em; margin-bottom:.2rem; }
.hn-main {
  font-family:var(--fd); font-size:clamp(2.6rem,7.5vw,6rem); font-weight:400; line-height:1;
  background:linear-gradient(135deg, var(--gold3) 0%, var(--saf2) 40%, var(--gold2) 70%, var(--gold3) 100%);
  background-size:300%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:shimmer 5s linear infinite;
  filter:drop-shadow(0 0 40px rgba(200,145,12,.5));
  margin-bottom:.4rem;
}
.hn-dates { font-family:var(--fb); font-size:.8rem; color:var(--mute); letter-spacing:.12em; }


.hero-tagline { font-family:var(--fd); font-size:clamp(.95rem,2vw,1.2rem); color:var(--saf3); letter-spacing:.07em; margin-bottom:1.2rem; opacity:0; animation:fadeUp .7s .55s forwards; }


.hero-bio {
  font-size:clamp(.95rem,1.7vw,1.06rem); color:var(--cream2); opacity:0;
  max-width:640px; margin:0 auto 1.6rem; line-height:1.9;
  animation:fadeUp .7s .7s forwards;
}


.hero-quote {
  display:inline-flex; align-items:flex-start; gap:8px;
  background:rgba(255,122,0,.07); border:1px solid var(--bdr2);
  border-radius:12px; padding:14px 22px; margin-bottom:2rem;
  max-width:640px; opacity:0; animation:fadeUp .7s .85s forwards;
}
.hq-mark { font-size:2.4rem; line-height:.7; color:var(--saf); opacity:.45; flex-shrink:0; font-family:Georgia,serif; }
.hq-text { font-family:var(--fd); font-size:clamp(.95rem,1.9vw,1.18rem); color:var(--saf3); line-height:1.72; text-align:left; }


.hero-btns { display:flex; gap:.9rem; justify-content:center; flex-wrap:wrap; margin-bottom:2.5rem; opacity:0; animation:fadeUp .7s 1s forwards; }
.btn-main {
  display:inline-flex; align-items:center; gap:7px;
  background:linear-gradient(135deg,#922d00,var(--saf));
  color:#000; font-family:var(--fb); font-weight:700; font-size:.98rem;
  padding:13px 28px; border-radius:10px;
  box-shadow:0 4px 22px rgba(255,122,0,.45);
  transition:all .3s;
}
.btn-main:hover { transform:translateY(-3px); box-shadow:0 8px 32px rgba(255,122,0,.65); }
.btn-sec {
  display:inline-flex; align-items:center;
  background:transparent; color:var(--gold2);
  font-family:var(--fb); font-weight:600; font-size:.98rem;
  padding:12px 26px; border-radius:10px; border:1.5px solid var(--gold);
  transition:all .3s;
}
.btn-sec:hover { background:var(--gdim); transform:translateY(-3px); box-shadow:0 6px 22px rgba(200,145,12,.25); }


.hero-stats {
  display:inline-flex; align-items:center;
  background:rgba(255,255,255,.03); border:1px solid var(--bdr);
  border-radius:14px; padding:14px 8px; backdrop-filter:blur(10px);
  flex-wrap:wrap; justify-content:center;
  opacity:0; animation:fadeUp .7s 1.15s forwards;
}
.hstat { padding:5px 24px; text-align:center; }
.hstat-v { display:block; font-family:var(--fd); font-size:1.85rem; color:var(--gold2); line-height:1; margin-bottom:3px; }
.hstat-l { display:block; font-size:.74rem; color:var(--mute); letter-spacing:.08em; }
.hstat-sep { width:1px; height:40px; background:var(--bdr); }

.hero-scroll { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:6px; z-index:2; animation:scrollBounce 2s ease-in-out infinite; font-size:.7rem; color:var(--mute); letter-spacing:.1em; }
.hscroll-dot { width:5px; height:5px; background:var(--saf); border-radius:50%; box-shadow:0 0 8px var(--saf); }
@keyframes scrollBounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }
@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }


.section { padding:90px 0; position:relative; overflow:hidden; }
.sec-hd { text-align:center; margin-bottom:56px; }
.sec-chip {
  display:inline-block;
  background:linear-gradient(135deg,#5a2000,var(--saf));
  color:#000; font-family:var(--fb); font-weight:700; font-size:.7rem;
  letter-spacing:.24em; text-transform:uppercase;
  padding:5px 16px; border-radius:20px; margin-bottom:12px;
}
.sec-title { font-family:var(--fd); font-size:clamp(1.8rem,3.8vw,2.85rem); color:var(--gold2); font-weight:400; line-height:1.25; margin-bottom:.5rem; }
.sec-ornament { display:flex; align-items:center; justify-content:center; gap:12px; color:var(--gold); opacity:.55; font-size:1.1rem; margin:.5rem 0; }
.sec-ornament span { display:block; height:1px; width:60px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.sec-desc { font-size:.97rem; color:var(--mute); max-width:580px; margin:.5rem auto 0; line-height:1.82; }


.reveal { opacity:0; transform:translateY(30px); transition:opacity .65s ease calc(var(--i,0)*.1s), transform .65s ease calc(var(--i,0)*.1s); }
.reveal.in { opacity:1; transform:translateY(0); }


.about-sec {
  background:
    radial-gradient(ellipse 70% 50% at 20% 30%, rgba(255,122,0,.07) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 80% 70%, rgba(200,145,12,.08) 0%, transparent 55%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink2) 50%, var(--ink) 100%);
}
.about-sec::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(circle, rgba(200,145,12,.07) 1px, transparent 1px),
    radial-gradient(circle, rgba(255,122,0,.04) 1px, transparent 1px);
  background-size: 44px 44px, 88px 88px;
  background-position: 0 0, 22px 22px;
}

.about-grid { display:grid; grid-template-columns:300px 1fr; gap:52px; align-items:start; }
.about-portrait-col { position:sticky; top:82px; }
.portrait-box {
  height:380px; background:var(--ink4); border-radius:16px; overflow:hidden;
  border:2px solid var(--bdr); margin-bottom:16px;
  box-shadow:0 0 30px rgba(200,145,12,.2), 0 20px 55px rgba(0,0,0,.55);
  position:relative;
}
.portrait-box::after { content:''; position:absolute; bottom:0; left:0; right:0; height:38%; background:linear-gradient(to top,rgba(5,2,0,.75),transparent); }
.portrait-box.broken::before { content:'🚩'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:4rem; background:var(--ink4); }
.portrait-label { background:var(--ink3); border:1px solid var(--bdr); border-radius:10px; padding:12px 16px; text-align:center; margin-bottom:16px; }
.pl-mr { display:block; font-family:var(--fd); font-size:.96rem; color:var(--gold2); margin-bottom:3px; }
.pl-en { display:block; font-size:.82rem; color:var(--mute); font-style:italic; }
.info-table { background:var(--ink3); border:1px solid var(--bdr); border-radius:14px; overflow:hidden; }
.info-row { display:flex; justify-content:space-between; align-items:center; padding:11px 16px; border-bottom:1px solid var(--bdr); transition:background .3s; }
.info-row:last-child { border-bottom:none; }
.info-row:hover { background:rgba(255,122,0,.06); }
.ir-key { font-size:.8rem; color:var(--mute); font-weight:600; }
.ir-val { font-size:.86rem; color:var(--cream2); font-weight:600; text-align:right; }


.about-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:1.4rem; }
.tag {
  font-size:.8rem; font-weight:600; padding:5px 15px; border-radius:20px;
  border:1px solid var(--bdr); cursor:default; transition:all .3s;
  background:rgba(200,145,12,.1); color:var(--gold2);
}
.tag:hover { background:rgba(200,145,12,.22); transform:translateY(-2px); }
.tag.saf { background:rgba(255,122,0,.1); border-color:var(--bdr2); color:var(--saf3); }


.story-block { margin-bottom:1.5rem; }
.story-block h3 { font-family:var(--fd); font-size:1.1rem; color:var(--saf3); margin-bottom:.6rem; font-weight:400; display:flex; align-items:center; gap:8px; }
.story-block h3::after { content:''; flex:1; height:1px; background:linear-gradient(90deg,var(--bdr),transparent); }
.story-block p { font-size:.95rem; color:var(--cream2); opacity:.88; line-height:1.9; margin-bottom:.6rem; }

.story-quote { background:var(--ink3); border-left:3px solid var(--saf); border-radius:0 10px 10px 0; padding:14px 18px; margin-top:1rem; display:flex; gap:8px; align-items:flex-start; }
.sq-mark { font-size:2rem; line-height:.7; color:var(--saf); opacity:.45; flex-shrink:0; font-family:Georgia,serif; }
.sq-text { font-family:var(--fd); font-size:.98rem; color:var(--saf3); line-height:1.7; }


.timeline-sec {
  background:
    radial-gradient(ellipse 60% 45% at 50% 50%, rgba(255,122,0,.06), transparent 65%),
    radial-gradient(ellipse 30% 60% at 5%  50%, rgba(200,145,12,.05), transparent 55%),
    radial-gradient(ellipse 30% 60% at 95% 50%, rgba(200,145,12,.05), transparent 55%),
    var(--ink);
}
.timeline-sec::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 40px,
      rgba(200,145,12,.025) 40px,
      rgba(200,145,12,.025) 41px
    );
}
.tl-wrap { position:relative; padding:10px 0 20px; }
.tl-line { position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%); width:2px; background:linear-gradient(180deg,transparent 0%,var(--saf) 8%,var(--gold2) 50%,var(--saf) 92%,transparent 100%); }
.tl-item { display:flex; align-items:flex-start; margin-bottom:48px; position:relative; width:50%; opacity:0; transform:translateY(22px); transition:opacity .55s ease calc(var(--i,0)*.09s), transform .55s ease calc(var(--i,0)*.09s); }
.tl-item.in { opacity:1; transform:translateY(0); }
.tl-left  { padding-right:50px; justify-content:flex-end; }
.tl-right { padding-left:50px; margin-left:50%; }
.tl-card {
  background:var(--ink3); border:1px solid var(--bdr); border-radius:14px;
  padding:20px 22px; max-width:400px; width:100%; transition:all .3s;
}
.tl-card:hover { border-color:var(--bdr2); box-shadow:0 0 28px rgba(255,122,0,.2); transform:scale(1.02); }
.tl-card.crown { border-color:rgba(200,145,12,.4); background:linear-gradient(135deg,var(--ink3),rgba(200,145,12,.06)); }
.tl-left .tl-card::after  { content:''; position:absolute; top:16px; right:-9px; border:9px solid transparent; border-left-color:var(--ink3); }
.tl-right .tl-card::after { content:''; position:absolute; top:16px; left:-9px;  border:9px solid transparent; border-right-color:var(--ink3); }
.tl-year { display:inline-block; background:linear-gradient(135deg,#5a2000,var(--saf)); color:#000; font-weight:700; font-size:.76rem; padding:3px 13px; border-radius:20px; margin-bottom:8px; }
.tl-card h3 { font-family:var(--fd); font-size:1.06rem; color:var(--gold2); margin-bottom:6px; font-weight:400; }
.tl-card p  { font-size:.88rem; color:var(--mute); line-height:1.8; }
.tl-node { position:absolute; top:13px; width:34px; height:34px; background:var(--ink4); border:2px solid var(--gold2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.9rem; z-index:2; box-shadow:0 0 12px rgba(200,145,12,.3); transition:all .3s; }
.tl-node.crown { border-color:var(--saf); box-shadow:0 0 20px rgba(255,122,0,.55); }
.tl-left  .tl-node { right:-17px; }
.tl-right .tl-node { left:-17px; }
.tl-item:hover .tl-node { box-shadow:0 0 24px rgba(255,122,0,.65); border-color:var(--saf); }


.forts-sec {
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%,   rgba(255,122,0,.08), transparent 55%),
    radial-gradient(ellipse 80% 40% at 50% 100%, rgba(200,145,12,.06), transparent 55%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink2) 30%, var(--ink2) 70%, var(--ink) 100%);
}
.forts-sec::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(circle, rgba(255,122,0,.06) 1px, transparent 1px);
  background-size: 55px 55px;
}
.forts-sec::after {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,145,12,.4),transparent);
}
.forts-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.fort-card { background:var(--ink3); border:1px solid var(--bdr); border-radius:18px; overflow:hidden; transition:all .4s; }
.fort-card:hover { transform:translateY(-9px); border-color:var(--bdr2); box-shadow:0 22px 55px rgba(0,0,0,.45), 0 0 32px rgba(255,122,0,.22); }
.fc-img { position:relative; height:220px; background:var(--ink4); overflow:hidden; }
.fc-img img { transition:transform .6s, filter .4s; filter:brightness(.82) saturate(.88); }
.fc-img.broken::before { content:'⛰'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:3.5rem; background:var(--ink4); }
.fort-card:hover .fc-img img { transform:scale(1.08); filter:brightness(.95) saturate(1.1); }
.fc-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(5,2,0,.85) 0%,transparent 55%); pointer-events:none; }
.fc-badge { position:absolute; top:12px; right:12px; background:linear-gradient(135deg,#5a2000,var(--saf)); color:#000; font-size:.7rem; font-weight:700; padding:3px 11px; border-radius:20px; letter-spacing:.06em; }
.fc-elev  { position:absolute; bottom:12px; left:12px; font-size:.75rem; color:var(--cream2); background:rgba(0,0,0,.55); padding:3px 11px; border-radius:20px; border:1px solid rgba(255,255,255,.1); }
.fc-body  { padding:20px 22px; }
.fc-body h3 { font-family:var(--fd); font-size:1.3rem; color:var(--gold2); margin-bottom:3px; font-weight:400; }
.fc-subtitle { font-size:.78rem; color:var(--saf); font-style:italic; margin-bottom:10px; }
.fc-body p  { font-size:.88rem; color:var(--mute); line-height:1.8; margin-bottom:14px; }
.fc-pills { display:flex; flex-wrap:wrap; gap:6px; }
.fc-pill { background:rgba(255,122,0,.09); border:1px solid var(--bdr2); color:var(--saf3); font-size:.72rem; padding:3px 11px; border-radius:20px; }


.battles-sec {
  background:
    radial-gradient(ellipse 50% 60% at 15% 50%, rgba(255,60,0,.06),  transparent 55%),
    radial-gradient(ellipse 50% 60% at 85% 50%, rgba(255,122,0,.05), transparent 55%),
    radial-gradient(ellipse 60% 40% at 50% 50%, rgba(200,145,12,.04), transparent 60%),
    var(--ink);
}
.battles-sec::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 60px,
      rgba(255,122,0,.02) 60px,
      rgba(255,122,0,.02) 61px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 60px,
      rgba(200,145,12,.02) 60px,
      rgba(200,145,12,.02) 61px
    );
}
.battles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.battle-card { background:var(--ink3); border:1px solid var(--bdr); border-radius:15px; padding:22px 18px; position:relative; overflow:hidden; transition:all .35s; }
.battle-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--saf),var(--gold2),var(--saf)); transform:scaleX(0); transition:transform .35s; }
.battle-card:hover::before { transform:scaleX(1); }
.battle-card:hover { transform:translateY(-7px); border-color:rgba(200,145,12,.3); box-shadow:0 16px 42px rgba(0,0,0,.42); }
.bc-yr   { display:inline-block; background:linear-gradient(135deg,#5a2000,var(--saf)); color:#000; font-weight:700; font-size:.75rem; padding:3px 12px; border-radius:20px; margin-bottom:10px; }
.bc-icon { font-size:2rem; display:block; margin-bottom:10px; }
.battle-card h3 { font-family:var(--fd); font-size:1.02rem; color:var(--gold2); margin-bottom:8px; font-weight:400; }
.bc-vs { display:flex; align-items:center; gap:6px; margin-bottom:8px; font-size:.8rem; color:var(--mute); }
.bc-vs strong { color:var(--saf); font-size:.75rem; }
.battle-card p { font-size:.86rem; color:var(--mute); line-height:1.78; margin-bottom:12px; }
.bc-result { display:inline-block; font-size:.76rem; padding:3px 12px; border-radius:20px; background:rgba(255,255,255,.05); border:1px solid var(--bdr); color:var(--mute); }
.bc-result.win { background:rgba(0,200,80,.07); border-color:rgba(0,200,80,.22); color:#4cc870; }


.mavale-sec {
  background:
    radial-gradient(ellipse 90% 50% at 50% 50%, rgba(200,145,12,.07), transparent 65%),
    radial-gradient(ellipse 40% 70% at  0% 50%, rgba(255,122,0,.05), transparent 55%),
    radial-gradient(ellipse 40% 70% at 100% 50%, rgba(255,122,0,.04), transparent 55%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink2) 30%, var(--ink2) 70%, var(--ink) 100%);
}
.mavale-sec::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(ellipse 2px 2px at center, rgba(200,145,12,.15) 0%, transparent 100%);
  background-size: 38px 38px;
}
.mavale-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.mavale-card { background:var(--ink3); border:1px solid var(--bdr); border-radius:16px; padding:26px 20px; text-align:center; position:relative; overflow:hidden; transition:all .4s; }
.mavale-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--saf),var(--gold2),var(--saf)); transform:scaleX(0); transition:transform .4s; }
.mavale-card:hover::before { transform:scaleX(1); }
.mavale-card:hover { transform:translateY(-9px); border-color:rgba(200,145,12,.32); box-shadow:0 20px 50px rgba(0,0,0,.4), 0 0 26px rgba(200,145,12,.22); }
.mc-icon { font-size:2.5rem; display:block; margin-bottom:14px; filter:drop-shadow(0 0 8px rgba(255,122,0,.4)); }
.mavale-card h3 { font-family:var(--fd); font-size:1.15rem; color:var(--gold2); margin-bottom:4px; font-weight:400; }
.mc-title { font-size:.78rem; color:var(--saf); letter-spacing:.08em; text-transform:uppercase; font-weight:700; margin-bottom:12px; display:block; }
.mavale-card p { font-size:.88rem; color:var(--mute); line-height:1.8; }


.legacy-sec {
  background:
    radial-gradient(ellipse 70% 55% at 50% 50%, rgba(255,122,0,.07), transparent 65%),
    radial-gradient(ellipse 35% 80% at  0% 50%, rgba(200,145,12,.06), transparent 50%),
    radial-gradient(ellipse 35% 80% at 100% 50%, rgba(200,145,12,.05), transparent 50%),
    var(--ink);
}
.legacy-sec::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    repeating-linear-gradient(
      60deg,
      transparent,
      transparent 50px,
      rgba(255,122,0,.022) 50px,
      rgba(255,122,0,.022) 51px
    );
}
.legacy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.legacy-item { display:flex; gap:15px; align-items:flex-start; background:var(--ink3); border:1px solid var(--bdr); border-radius:15px; padding:22px 18px; transition:all .3s; }
.legacy-item:hover { border-color:var(--bdr2); transform:translateY(-6px); box-shadow:0 16px 40px rgba(0,0,0,.4), 0 0 25px rgba(255,122,0,.18); }
.li-icon { font-size:2.1rem; flex-shrink:0; filter:drop-shadow(0 0 7px rgba(255,122,0,.35)); }
.li-body h3 { font-family:var(--fd); font-size:.98rem; color:var(--saf3); margin-bottom:7px; font-weight:400; }
.li-body p  { font-size:.86rem; color:var(--mute); line-height:1.8; }


.gallery-sec {
  background:
    radial-gradient(ellipse 80% 60% at 50% 50%, rgba(200,145,12,.07), transparent 65%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink2) 20%, var(--ink2) 80%, var(--ink) 100%);
}
.gallery-sec::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(200,145,12,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200,145,12,.04) 1px, transparent 1px);
  background-size: 50px 50px;
}
.gal-mosaic { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:220px 220px; gap:14px; }
.gal-item { position:relative; overflow:hidden; border-radius:12px; border:1px solid var(--bdr); cursor:pointer; background:var(--ink4); transition:border-color .3s; }
.gal-item:hover { border-color:var(--bdr2); }
.gal-tall { grid-row:span 2; }
.gal-wide { grid-column:span 2; }
.gal-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s, filter .4s; filter:brightness(.82); }
.gal-item:hover img { transform:scale(1.08); filter:brightness(.95); }
.gal-ov { position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,122,0,.6),rgba(5,2,0,.6)); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; opacity:0; transition:opacity .3s; }
.gal-item:hover .gal-ov { opacity:1; }
.gal-ov span { font-size:1.8rem; color:#fff; }
.gal-ov p { color:#fff; font-family:var(--fd); font-size:.86rem; }


.lightbox { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; }
.lightbox.open { display:flex; }
.lb-bg { position:absolute; inset:0; background:rgba(0,0,0,.93); backdrop-filter:blur(12px); }
.lb-inner { position:relative; z-index:1; text-align:center; max-width:88vw; animation:lbIn .28s ease; }
@keyframes lbIn { from{transform:scale(.85);opacity:0} to{transform:scale(1);opacity:1} }
.lb-inner img { max-width:100%; max-height:72vh; object-fit:contain; border-radius:12px; border:2px solid var(--bdr); }
.lb-close { position:absolute; top:-46px; right:0; width:38px; height:38px; background:rgba(255,122,0,.18); border:1px solid var(--saf); border-radius:50%; color:#fff; font-size:.9rem; cursor:pointer; transition:background .3s; display:flex; align-items:center; justify-content:center; }
.lb-close:hover { background:var(--saf); }
.lb-cap { margin-top:14px; font-family:var(--fd); color:var(--gold2); font-size:.92rem; }


.quotes-sec {
  background:
    radial-gradient(ellipse 70% 80% at 50% 50%, rgba(255,122,0,.09), transparent 60%),
    radial-gradient(ellipse 40% 40% at 50% 100%, rgba(200,145,12,.06), transparent 55%),
    var(--ink);
  position:relative;
}
.quotes-sec::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    repeating-radial-gradient(
      ellipse 100% 100% at 50% 50%,
      transparent 0px,
      transparent 48px,
      rgba(255,122,0,.025) 49px,
      transparent 50px
    );
}
.quotes-slider { max-width:700px; margin:0 auto; }
.q-track { position:relative; min-height:200px; }
.q-slide { display:none; text-align:center; animation:qIn .45s ease; }
.q-slide.active { display:block; }
@keyframes qIn { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.q-mark { display:block; font-size:4.5rem; line-height:.5; color:var(--saf); opacity:.27; margin-bottom:1rem; font-family:Georgia,serif; }
.q-slide blockquote { font-family:var(--fd); font-size:clamp(1.1rem,2.3vw,1.5rem); color:var(--cream2); line-height:1.82; margin-bottom:1.2rem; }
.q-slide cite { font-size:.82rem; color:var(--saf); letter-spacing:.08em; font-style:italic; }
.q-controls { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:1.8rem; }
.q-btn { width:40px; height:40px; border-radius:50%; background:rgba(255,122,0,.1); border:1px solid var(--bdr2); color:var(--saf3); font-size:1.2rem; cursor:pointer; transition:all .3s; display:flex; align-items:center; justify-content:center; }
.q-btn:hover { background:rgba(255,122,0,.22); transform:scale(1.12); }
.q-dots { display:flex; gap:7px; align-items:center; }
.qdot { width:7px; height:7px; border-radius:50%; background:var(--ink5); border:1px solid var(--bdr2); cursor:pointer; transition:all .3s; }
.qdot.on { background:var(--saf); width:22px; border-radius:4px; }


.footer {
  background:
    radial-gradient(ellipse 60% 60% at 50% 0%, rgba(255,122,0,.07), transparent 60%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink2) 100%);
  border-top:1px solid var(--bdr); position:relative; overflow:hidden;
}
.footer::before { content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:500px; height:180px; background:radial-gradient(ellipse,rgba(255,122,0,.08),transparent 70%); pointer-events:none; }
.footer-grid { display:grid; grid-template-columns:1.8fr 1fr 1.2fr; gap:44px; padding:55px 0 36px; }
.footer-logo { display:flex; align-items:center; gap:9px; font-family:var(--fd); font-size:1.3rem; color:var(--gold2); margin-bottom:.9rem; }
.footer-brand p { font-size:.9rem; color:var(--mute); line-height:1.86; margin-bottom:.4rem; }
.footer-salute { font-family:var(--fd) !important; color:var(--saf3) !important; margin-top:.8rem !important; }
.footer-links h4 { font-size:.74rem; color:var(--saf); letter-spacing:.2em; text-transform:uppercase; font-weight:700; margin-bottom:13px; padding-bottom:7px; border-bottom:1px solid var(--bdr); }
.footer-links ul li { margin-bottom:9px; }
.footer-links ul li a { font-size:.9rem; color:var(--mute); display:flex; align-items:center; gap:5px; transition:color .3s; }
.footer-links ul li a::before { content:'›'; color:var(--saf); }
.footer-links ul li a:hover { color:var(--saf3); }
.footer-big-q { display:flex; align-items:flex-start; gap:8px; }
.fbq-mark { font-size:3.5rem; line-height:.6; color:var(--saf); opacity:.28; font-family:Georgia,serif; flex-shrink:0; }
.fbq-text { font-family:var(--fd); font-size:1.05rem; color:var(--gold2); line-height:1.7; opacity:.85; }
.footer-bar { display:flex; justify-content:space-between; align-items:center; padding:17px 0; border-top:1px solid var(--bdr); font-size:.78rem; color:var(--mute); flex-wrap:wrap; gap:8px; }


.stt { position:fixed; bottom:26px; right:26px; width:42px; height:42px; background:linear-gradient(135deg,#5a2000,var(--saf)); border:none; border-radius:50%; color:#000; font-size:1.05rem; font-weight:800; cursor:pointer; z-index:700; opacity:0; transform:translateY(15px) scale(.85); pointer-events:none; transition:all .3s; box-shadow:0 4px 18px rgba(255,122,0,.4); }
.stt.show { opacity:1; transform:translateY(0) scale(1); pointer-events:all; }
.stt:hover { transform:translateY(-3px) scale(1.1); box-shadow:0 8px 28px rgba(255,122,0,.65); }


@media (max-width:1024px) {
  .about-grid { grid-template-columns:1fr; gap:36px; }
  .about-portrait-col { position:static; display:grid; grid-template-columns:260px 1fr; gap:20px; align-items:start; }
  .battles-grid { grid-template-columns:repeat(2,1fr); }
  .mavale-grid { grid-template-columns:repeat(2,1fr); }
  .legacy-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:span 2; }
  
  .tl-line { left:18px; }
  .tl-item, .tl-right { width:100%; padding-left:54px; padding-right:0; margin-left:0; justify-content:flex-start; }
  .tl-left .tl-card::after, .tl-right .tl-card::after { right:auto; left:-9px; border-left-color:transparent; border-right-color:var(--ink3); }
  .tl-left .tl-node, .tl-right .tl-node { left:1px; right:auto; }
}
@media (max-width:768px) {
  .section { padding:68px 0; }
  .nav-links { display:none; position:fixed; top:66px; left:0; right:0; background:rgba(5,2,0,.97); backdrop-filter:blur(18px); flex-direction:column; padding:14px; gap:4px; border-bottom:1px solid var(--bdr); z-index:799; }
  .nav-links.open { display:flex; }
  .ham { display:flex; }
  .forts-grid, .battles-grid, .mavale-grid, .legacy-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand { grid-column:span 1; }
  .about-portrait-col { grid-template-columns:1fr; }
  .hero-stats { flex-direction:column; gap:0; }
  .hstat-sep { width:80%; height:1px; }
  .hero-btns { flex-direction:column; align-items:center; }
  .btn-main, .btn-sec { width:100%; max-width:260px; justify-content:center; }
  .gal-mosaic { grid-template-columns:repeat(2,1fr); grid-template-rows:auto; }
  .gal-tall { grid-row:span 1; }
  .gal-wide { grid-column:span 2; }
}
@media (max-width:480px) {
  .sec-title { font-size:1.65rem; }
  .hn-main { font-size:2.3rem; }
  .footer-bar { flex-direction:column; text-align:center; }
  .gal-mosaic { grid-template-columns:1fr; }
  .gal-wide { grid-column:span 1; }
  
}




.section::after {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,122,0,.06), transparent 70%);
  pointer-events: none;
  animation: orbFloat 12s ease-in-out infinite alternate;
  top: -100px; right: -150px;
  filter: blur(40px);
}
@keyframes orbFloat {
  from { transform: translate(0, 0) scale(1); }
  to   { transform: translate(-40px, 60px) scale(1.15); }
}


.about-sec, .forts-sec, .mavale-sec, .gallery-sec {
  border-top: 1px solid rgba(200,145,12,.12);
  border-bottom: 1px solid rgba(200,145,12,.12);
}
.timeline-sec, .battles-sec, .legacy-sec, .quotes-sec {
  border-top: 1px solid rgba(255,122,0,.08);
  border-bottom: 1px solid rgba(255,122,0,.08);
}


.section:hover::before {
  opacity: 1;
  transition: opacity .6s;
}


.about-sec .wrap { position: relative; z-index: 1; }


.tl-wrap::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 4px; height: 100%;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(255,122,0,.15) 30%,
    rgba(200,145,12,.25) 50%,
    rgba(255,122,0,.15) 70%,
    transparent 100%
  );
  filter: blur(8px);
  pointer-events: none;
  animation: spineGlow 3s ease-in-out infinite alternate;
}
@keyframes spineGlow {
  from { opacity: .5; filter: blur(8px); }
  to   { opacity: 1;  filter: blur(14px); }
}


.battles-sec::after {
  content: '';
  position: absolute;
  bottom: -80px; left: 50%;
  transform: translateX(-50%);
  width: 600px; height: 200px;
  background: radial-gradient(ellipse, rgba(200,0,0,.06), transparent 70%);
  pointer-events: none;
  filter: blur(30px);
}


.gal-mosaic {
  position: relative;
}
.gal-mosaic::before {
  content: '';
  position: absolute; inset: -10px;
  background: radial-gradient(ellipse 80% 80% at 50% 50%, rgba(200,145,12,.05), transparent);
  pointer-events: none;
  z-index: 0;
  border-radius: 20px;
}


.quotes-slider {
  position: relative;
  z-index: 1;
}
.quotes-slider::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 500px; height: 300px;
  background: radial-gradient(ellipse, rgba(255,122,0,.07), transparent 70%);
  pointer-events: none;
  filter: blur(20px);
  z-index: -1;
}


.fort-card:hover, .battle-card:hover, .mavale-card:hover, .legacy-item:hover {
  background: linear-gradient(135deg, var(--ink3), rgba(255,122,0,.04)) !important;
}


.sec-title {
  position: relative;
}
.sec-title::after {
  content: '';
  position: absolute;
  bottom: -6px; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,145,12,.4), transparent);
}






.about-sec {
  background:
    radial-gradient(ellipse 55% 60% at 5% 50%,  rgba(255,122,0,.13), transparent 60%),
    radial-gradient(ellipse 45% 50% at 95% 20%, rgba(200,145,12,.11), transparent 55%),
    radial-gradient(ellipse 35% 35% at 50% 90%, rgba(255,122,0,.08), transparent 50%),
    linear-gradient(180deg, #060200 0%, #0d0500 50%, #060200 100%);
  position: relative;
}
.about-sec::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(200,145,12,.12) 1.5px, transparent 1.5px);
  background-size: 38px 38px;
  animation: dotsDrift 18s linear infinite;
}
.about-sec::after {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,122,0,.06) 0%, transparent 40%),
    linear-gradient(315deg, rgba(200,145,12,.06) 0%, transparent 40%);
}
@keyframes dotsDrift {
  from { background-position: 0 0; }
  to   { background-position: 38px 38px; }
}


.timeline-sec {
  background:
    radial-gradient(ellipse 70% 50% at 50% 50%, rgba(255,122,0,.10), transparent 60%),
    radial-gradient(ellipse 30% 80% at 0%  50%, rgba(200,145,12,.08), transparent 55%),
    radial-gradient(ellipse 30% 80% at 100% 50%, rgba(200,145,12,.08), transparent 55%),
    linear-gradient(170deg, #060200 0%, #090400 100%);
  position: relative;
  overflow: hidden;
}
.timeline-sec::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 40px,
      rgba(200,145,12,.035) 40px,
      rgba(200,145,12,.035) 41px
    );
}
.timeline-sec::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(255,122,0,.07), transparent 70%);
  pointer-events: none;
  animation: centrePulse 4s ease-in-out infinite alternate;
}
@keyframes centrePulse {
  from { transform: translate(-50%,-50%) scale(.85); opacity:.6; }
  to   { transform: translate(-50%,-50%) scale(1.15); opacity:1; }
}


.forts-sec {
  background:
    radial-gradient(ellipse 90% 35% at 50%   0%, rgba(255,122,0,.12), transparent 50%),
    radial-gradient(ellipse 90% 35% at 50% 100%, rgba(200,145,12,.10), transparent 50%),
    radial-gradient(ellipse 50% 50% at 20%  50%, rgba(255,122,0,.06), transparent 55%),
    radial-gradient(ellipse 50% 50% at 80%  50%, rgba(200,145,12,.06), transparent 55%),
    linear-gradient(180deg, #060200 0%, #0c0500 50%, #060200 100%);
  position: relative;
}
.forts-sec::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(200,145,12,.07) 1px, transparent 1px),
    radial-gradient(circle, rgba(255,122,0,.05) 1px, transparent 1px);
  background-size: 28px 28px, 14px 14px;
  background-position: 0 0, 7px 7px;
}
.forts-sec::after {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, rgba(255,122,0,.5), rgba(200,145,12,.5), transparent);
  pointer-events: none;
}


.battles-sec {
  background:
    radial-gradient(ellipse 60% 45% at 50% 10%,  rgba(255,122,0,.11), transparent 55%),
    radial-gradient(ellipse 40% 60% at 10% 60%,  rgba(200,0,0,.06),   transparent 50%),
    radial-gradient(ellipse 40% 60% at 90% 40%,  rgba(200,0,0,.06),   transparent 50%),
    radial-gradient(ellipse 60% 35% at 50% 90%,  rgba(255,122,0,.09), transparent 50%),
    linear-gradient(180deg, #060200 0%, #080200 50%, #060200 100%);
  position: relative;
}
.battles-sec::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    repeating-linear-gradient(0deg,   transparent, transparent 50px, rgba(255,122,0,.025) 50px, rgba(255,122,0,.025) 51px),
    repeating-linear-gradient(90deg,  transparent, transparent 50px, rgba(200,145,12,.02) 50px, rgba(200,145,12,.02) 51px);
}
.battles-sec::after {
  content: '⚔';
  position: absolute; bottom: 30px; right: 40px;
  font-size: 8rem; color: rgba(255,122,0,.04);
  pointer-events: none; line-height: 1;
  animation: bgSymbolRotate 20s linear infinite;
}
@keyframes bgSymbolRotate {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}


.mavale-sec {
  background:
    radial-gradient(ellipse 70% 55% at 50% 50%,  rgba(200,145,12,.10), transparent 60%),
    radial-gradient(ellipse 40% 70% at 0%  30%,  rgba(255,122,0,.08),  transparent 55%),
    radial-gradient(ellipse 40% 70% at 100% 70%, rgba(255,122,0,.08),  transparent 55%),
    linear-gradient(135deg, #060200 0%, #0c0500 50%, #060200 100%);
  position: relative;
}
.mavale-sec::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    repeating-conic-gradient(rgba(200,145,12,.03) 0deg, transparent 1deg, transparent 9deg, rgba(200,145,12,.03) 10deg);
  background-size: 80px 80px;
  background-position: center;
  opacity: 0.5;
}
.mavale-sec::after {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 100% 15% at 50% 0%,   rgba(255,122,0,.08), transparent),
    radial-gradient(ellipse 100% 15% at 50% 100%, rgba(255,122,0,.08), transparent);
}


.legacy-sec {
  background:
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(255,122,0,.12), transparent 55%),
    radial-gradient(ellipse 50% 40% at 20%  20%, rgba(200,145,12,.09), transparent 50%),
    radial-gradient(ellipse 50% 40% at 80%  20%, rgba(200,145,12,.09), transparent 50%),
    linear-gradient(180deg, #060200 0%, #090400 100%);
  position: relative;
}
.legacy-sec::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 60px,
      rgba(255,122,0,.03) 60px,
      rgba(255,122,0,.03) 61px
    ),
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 60px,
      rgba(200,145,12,.03) 60px,
      rgba(200,145,12,.03) 61px
    );
}
.legacy-sec::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, rgba(200,145,12,.5), rgba(255,122,0,.5), transparent);
  pointer-events: none;
}


.gallery-sec {
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%, rgba(255,122,0,.09), transparent 60%),
    radial-gradient(ellipse 80% 30% at 50%  0%, rgba(200,145,12,.10), transparent 50%),
    radial-gradient(ellipse 80% 30% at 50% 100%, rgba(200,145,12,.08), transparent 50%),
    linear-gradient(180deg, #060200 0%, #0c0500 50%, #060200 100%);
  position: relative;
}
.gallery-sec::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(circle at 50% 50%, rgba(200,145,12,.08) 2px, transparent 2px);
  background-size: 30px 30px;
  animation: dotsDrift 25s linear infinite reverse;
}


.quotes-sec {
  background:
    radial-gradient(ellipse 75% 65% at 50% 50%, rgba(255,122,0,.11), transparent 60%),
    radial-gradient(ellipse 40% 80% at 0%  50%, rgba(200,145,12,.07), transparent 55%),
    radial-gradient(ellipse 40% 80% at 100% 50%, rgba(200,145,12,.07), transparent 55%),
    linear-gradient(180deg, #060200 0%, #080300 100%);
  position: relative;
}
.quotes-sec::before {
  content: '❝';
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-size: 30rem; line-height: 1;
  color: rgba(255,122,0,.025);
  pointer-events: none; font-family: Georgia, serif;
  animation: bgQuoteFade 6s ease-in-out infinite alternate;
}
@keyframes bgQuoteFade {
  from { opacity:.5; transform: translate(-50%,-50%) scale(.95); }
  to   { opacity:1;  transform: translate(-50%,-50%) scale(1.05); }
}
.quotes-sec::after {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(200,145,12,.06) 1px, transparent 1px);
  background-size: 50px 50px;
}


.footer {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255,122,0,.10), transparent 55%),
    radial-gradient(ellipse 40% 80% at 0%  80%, rgba(200,145,12,.07), transparent 50%),
    radial-gradient(ellipse 40% 80% at 100% 80%, rgba(200,145,12,.07), transparent 50%),
    linear-gradient(180deg, #0c0500 0%, #060200 100%);
  border-top: 1px solid rgba(200,145,12,.25) !important;
  position: relative;
}
.footer::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--saf), var(--gold2), var(--saf), transparent);
  animation: borderGlow 3s ease-in-out infinite alternate;
}
@keyframes borderGlow {
  from { opacity: .4; }
  to   { opacity: 1; }
}


.section::before,
.section::after {
  pointer-events: none;
}


.about-sec, .forts-sec, .legacy-sec {
  border-top: 1px solid rgba(200,145,12,.12);
}
.timeline-sec, .battles-sec, .gallery-sec {
  border-top: 1px solid rgba(255,122,0,.10);
}
.mavale-sec, .quotes-sec {
  border-top: 1px solid rgba(200,145,12,.10);
}


/* ═══ बालपण SECTION ═══ */
.childhood-sec {
  background:
    radial-gradient(ellipse 70% 55% at 30% 50%, rgba(255,122,0,.11), transparent 60%),
    radial-gradient(ellipse 50% 60% at 80% 20%, rgba(200,145,12,.10), transparent 55%),
    radial-gradient(ellipse 40% 40% at 70% 85%, rgba(255,122,0,.07), transparent 50%),
    linear-gradient(160deg, #060200 0%, #0e0500 50%, #060200 100%);
  position: relative;
}
.childhood-sec::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(200,145,12,.10) 1.5px, transparent 1.5px);
  background-size: 34px 34px;
  animation: dotsDrift 20s linear infinite;
}
.childhood-sec::after {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,122,0,.45), transparent);
}
.childhood-intro {
  text-align: center;
  max-width: 740px;
  margin: 0 auto 3rem;
  font-size: 1.02rem;
  color: var(--cream2);
  opacity: .88;
  line-height: 1.9;
}
.childhood-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.cc-card {
  background: var(--ink3);
  border: 1px solid var(--bdr);
  border-radius: 18px;
  overflow: hidden;
  transition: all .4s;
  position: relative;
}
.cc-card:hover {
  transform: translateY(-10px);
  border-color: var(--bdr2);
  box-shadow: 0 22px 55px rgba(0,0,0,.45), 0 0 30px rgba(255,122,0,.2);
}
.cc-img-wrap {
  position: relative;
  height: 240px;
  background: var(--ink4);
  overflow: hidden;
}
.cc-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform .6s, filter .4s;
  filter: brightness(.82) saturate(.88);
}
.cc-card:hover .cc-img-wrap img {
  transform: scale(1.08);
  filter: brightness(.95) saturate(1.1);
}
.cc-img-fade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(6,3,0,.88) 0%, transparent 55%);
  pointer-events: none;
}
.cc-img-label {
  position: absolute;
  bottom: 12px; left: 14px;
  font-family: var(--fd);
  font-size: .82rem;
  color: var(--gold2);
  letter-spacing: .1em;
  background: rgba(0,0,0,.45);
  padding: 3px 12px;
  border-radius: 20px;
  border: 1px solid rgba(200,145,12,.3);
}
.cc-body {
  padding: 20px 22px 24px;
}
.cc-body h3 {
  font-family: var(--fd);
  font-size: 1.35rem;
  color: var(--gold2);
  margin-bottom: 6px;
  font-weight: 400;
}
.cc-subtitle {
  font-size: .78rem;
  color: var(--saf);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 12px;
  display: block;
}
.cc-body p {
  font-size: .92rem;
  color: var(--mute);
  line-height: 1.85;
}

@media (max-width: 768px) {
  .childhood-cards { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
  .childhood-cards { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════
   LANGUAGE SYSTEM
   Default: मराठी | Toggle: English
   ══════════════════════════════════ */
.lang-en { display: none !important; }
body.english .lang-en { display: inline !important; }
body.english .lang-mr { display: none !important; }
body.english .tl-card p,
body.english .tl-card h3,
body.english .fc-body h3,
body.english .fc-body p,
body.english .battle-card h3,
body.english .battle-card p,
body.english .mavale-card h3,
body.english .mavale-card p,
body.english .legacy-item h3,
body.english .legacy-item p,
body.english .cc-body h3,
body.english .cc-body p,
body.english .childhood-intro,
body.english .q-slide blockquote { display: none !important; }

/* Block-level english elements */
body.english p.lang-en,
body.english h1.lang-en,
body.english h2.lang-en,
body.english h3.lang-en,
body.english div.lang-en,
body.english li.lang-en { display: block !important; }

/* Language Toggle Button */
.lang-toggle {
  display: flex;
  align-items: center;
  background: rgba(255,122,0,.08);
  border: 1.5px solid rgba(255,122,0,.35);
  border-radius: 20px;
  padding: 2px;
  gap: 0;
  flex-shrink: 0;
  cursor: pointer;
  transition: all .3s;
  box-shadow: 0 0 10px rgba(255,122,0,.12);
}
.lang-toggle:hover {
  border-color: var(--saf);
  box-shadow: 0 0 22px rgba(255,122,0,.35);
  transform: translateY(-1px);
}
.lt-btn {
  font-family: var(--fb);
  font-size: .75rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  border: none;
  background: transparent;
  color: rgba(255,122,0,.6);
  cursor: pointer;
  transition: all .3s;
  letter-spacing: .03em;
}
.lt-btn.active {
  background: linear-gradient(135deg, #922d00, var(--saf));
  color: #000;
  box-shadow: 0 2px 10px rgba(255,122,0,.45);
  font-weight: 700;
}
.lt-btn:not(.active):hover {
  color: var(--saf);
}