/* =====================================================
   SHUBHAM ACADEMY — Maroon & Orange Color Scheme
   Maroon #7A1515 · Orange #E07020 · White #ffffff
   Fonts: Playfair Display + Roboto
===================================================== */

:root {
  --navy:      #6B1212;
  --navy-d:    #4A0B0B;
  --navy-m:    #861818;
  --navy-l:    #A01E1E;
  --gold:      #D4621A;
  --gold-l:    #E0742A;
  --gold-pale: #E8925A;
  --white:     #ffffff;
  --off:       #f9f5f2;
  --light-g:   #f2ede8;
  --border:    #e4d8d0;
  --ink:       #1a0a00;
  --ink-2:     #332211;
  --ink-3:     #554433;
  --ink-4:     #887766;

  --serif: 'Playfair Display', Georgia, serif;
  --sans:  'Roboto', system-ui, sans-serif;
  --ease:  cubic-bezier(.22,1,.36,1);
  --t:     .38s;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body { font-family:var(--sans); background:#fff; color:var(--ink); overflow-x:hidden; line-height:1.7; }
img  { display:block; width:100%; height:100%; object-fit:cover; }
a    { text-decoration:none; color:inherit; }
ul   { list-style:none; }
address { font-style:normal; }
.wrap { max-width:1200px; margin:0 auto; padding:0 2.5rem; }

/* ── PRELOADER ── */
.preloader { position:fixed; inset:0; z-index:9999; background:var(--navy-d); display:flex; align-items:center; justify-content:center; transition:opacity .7s, visibility .7s; }
.preloader.gone { opacity:0; visibility:hidden; pointer-events:none; }
.pre-wrap { display:flex; flex-direction:column; align-items:center; gap:1.2rem; }
.pre-wrap p { font-family:var(--serif); font-size:.95rem; color:rgba(255,255,255,.5); letter-spacing:.25em; text-transform:uppercase; }
.pre-ring { animation:pring 1.5s ease-out .2s forwards; }
@keyframes pring { to { stroke-dashoffset:0; } }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); transition-delay:var(--d, 0s); }
.reveal.in { opacity:1 !important; transform:translateY(0) !important; }

/* ── GLOBAL TYPE ── */
.sec-title {
  font-family:var(--serif);
  font-size:clamp(1.85rem, 3.8vw, 3rem);
  font-weight:500; line-height:1.18;
  color:var(--ink); margin-bottom:.6rem;
}
.sec-title.light { color:#fff; }
.sec-title.center { text-align:center; }

.gold-rule {
  display:block; width:55px; height:3px;
  background:var(--gold); margin-bottom:1.75rem;
}
.gold-rule.center { margin-left:auto; margin-right:auto; }

.gold-label { font-size:.72rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:.7rem; }
.read-more {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.82rem; font-weight:700; letter-spacing:.08em;
  color:var(--navy); border-bottom:1.5px solid var(--navy);
  padding-bottom:2px; transition:all var(--t);
}
.read-more:hover { color:var(--gold); border-color:var(--gold); }

/* =====================================================
   HEADER — transparent → solid navy
===================================================== */
.header {
  position:fixed; top:0; left:0; right:0; z-index:900;
  padding:1rem 0;
  transition:background var(--t) var(--ease), box-shadow var(--t), padding var(--t);
}
.header.solid {
  background:rgba(74,11,11,.97);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  box-shadow:0 2px 24px rgba(0,0,0,.35);
  padding:.55rem 0;
}
.header-wrap {
  max-width:1200px; margin:0 auto; padding:0 2.5rem;
  display:flex; align-items:center; justify-content:space-between;
}

.logo { display:flex; align-items:center; gap:.85rem; }
.logo-img-wrap {
  flex-shrink:0;
  width:58px; height:58px;
  border-radius:8px;
  background:rgba(255,255,255,.92);
  display:flex; align-items:center; justify-content:center;
  padding:4px;
  box-shadow:0 2px 12px rgba(0,0,0,.25);
  overflow:hidden;
}
.logo-img {
  width:100%; height:100%;
  object-fit:contain;
  display:block;
}
.logo-text { line-height:1.2; }
.lt-marathi { display:block; font-size:.55rem; color:var(--gold-pale); letter-spacing:.05em; }
.lt-name    { display:block; font-family:var(--serif); font-size:1.08rem; color:#fff; }

.nav ul { display:flex; align-items:center; gap:2.4rem; }
.nav a {
  font-size:.82rem; font-weight:500; color:rgba(255,255,255,.8);
  letter-spacing:.05em; position:relative; transition:color var(--t);
}
.nav a::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:0; height:1.5px; background:var(--gold);
  transition:width var(--t) var(--ease);
}
.nav a:hover { color:#fff; }
.nav a:hover::after { width:100%; }
/* "Contact Us" link gets a gold outline button */
.nav li:last-child a {
  padding:.44rem 1.3rem;
  border:1.5px solid var(--gold); border-radius:2px;
  color:var(--gold);
  transition:all var(--t);
}
.nav li:last-child a::after { display:none; }
.nav li:last-child a:hover { background:var(--gold); color:var(--navy-d); }

.ham { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:5px; z-index:1001; }
.ham span { width:22px; height:2px; background:#fff; border-radius:2px; display:block; transition:all var(--t); }
.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 — fullscreen slider
===================================================== */
.hero { position:relative; height:100vh; overflow:hidden; }
.slider { position:absolute; inset:0; }
.slide { position:absolute; inset:0; opacity:0; transition:opacity 1.1s var(--ease); }
.slide.s-active { opacity:1; }
.slide-bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform 8s linear; }
.slide.s-active .slide-bg { transform:scale(1.06); }
.slide-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,20,40,.4) 0%, rgba(10,20,40,.72) 100%); }
.slide-body {
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-align:center; padding:0 2rem;
}
/* Individual text elements animate in */
.slide-label {
  font-size:.7rem; font-weight:700; letter-spacing:.3em; text-transform:uppercase;
  color:var(--gold-pale); display:block; margin-bottom:1.2rem;
  opacity:0; transform:translateY(12px);
  transition:opacity .65s .3s, transform .65s .3s var(--ease);
}
.slide-small {
  font-size:clamp(.9rem, 2vw, 1.2rem); color:rgba(255,255,255,.75);
  margin-bottom:.9rem; letter-spacing:.04em; max-width:700px;
  opacity:0; transform:translateY(14px);
  transition:opacity .65s .5s, transform .65s .5s var(--ease);
}
.slide-heading {
  font-family:var(--serif);
  font-size:clamp(2.8rem, 7vw, 7rem);
  font-weight:700; color:#fff; line-height:1; margin-bottom:2rem;
  opacity:0; transform:translateY(20px);
  transition:opacity .75s .65s, transform .75s .65s var(--ease);
}
.slide-cta {
  display:inline-block; padding:.85rem 2.5rem;
  background:var(--gold); color:var(--navy-d);
  font-weight:700; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase;
  border-radius:2px; box-shadow:0 6px 24px rgba(212,98,26,.5);
  opacity:0; transform:translateY(12px);
  transition:background var(--t), opacity .6s .85s, transform .6s .85s var(--ease);
}
.slide-cta:hover { background:var(--gold-l); }
/* Activate when slide is active */
.slide.s-active .slide-label,
.slide.s-active .slide-small,
.slide.s-active .slide-heading,
.slide.s-active .slide-cta { opacity:1; transform:translateY(0); }

/* Slider controls */
.slider-ctrl {
  position:absolute; bottom:100px; left:50%; transform:translateX(-50%);
  z-index:10; display:flex; align-items:center; gap:1.5rem;
}
.sc-prev, .sc-next {
  width:38px; height:38px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.4); background:rgba(0,0,0,.2);
  backdrop-filter:blur(6px); color:#fff; font-size:.85rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:all var(--t);
}
.sc-prev:hover, .sc-next:hover { border-color:var(--gold); background:rgba(212,98,26,.3); }
.sc-dots { display:flex; gap:.5rem; }
.sc-dot {
  width:7px; height:7px; border-radius:50%;
  background:rgba(255,255,255,.4); cursor:pointer; transition:all var(--t);
  border:none; padding:0;
}
.sc-dot.active { background:var(--gold); transform:scale(1.4); }

.hero-scroll {
  position:absolute; bottom:44px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  color:rgba(255,255,255,.35); font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; z-index:10;
}
.hs-bar { width:1px; height:46px; background:linear-gradient(to bottom, rgba(255,255,255,.4), transparent); animation:hbar 2.2s ease-in-out infinite; }
@keyframes hbar { 0%,100%{opacity:1}50%{opacity:.2} }

/* Stats bar */
.stats-bar { background:var(--navy); border-bottom:3px solid var(--gold); }
.stats-inner { max-width:1200px; margin:0 auto; padding:1.3rem 2.5rem; display:flex; align-items:center; justify-content:center; gap:0; }
.stat-item { text-align:center; padding:0 3rem; }
.stat-item strong { display:block; font-family:var(--serif); font-size:2rem; color:var(--gold); line-height:1; }
.stat-item span { display:block; font-size:.68rem; color:rgba(255,255,255,.55); margin-top:.2rem; letter-spacing:.07em; text-transform:uppercase; }
.stat-sep { width:1px; height:40px; background:rgba(255,255,255,.15); flex-shrink:0; }

/* =====================================================
   OVERVIEW — white bg, 
===================================================== */
.overview { padding:8rem 0; background:#fff; }
.ov-grid { display:grid; grid-template-columns:1fr 1fr; gap:7rem; align-items:center; }
.ov-intro { font-family:var(--serif); font-size:1.2rem; font-style:italic; color:var(--ink-3); margin-bottom:1.2rem; line-height:1.65; }
.ov-intro strong { font-style:normal; color:var(--navy); }
.ov-body { font-size:.97rem; color:var(--ink-3); line-height:1.9; margin-bottom:1.25rem; }
.ov-img-frame { border-radius:3px; overflow:hidden; height:480px; box-shadow:0 24px 70px rgba(107,18,18,.18); }

/* =====================================================
   DEFINED BY —
===================================================== */
.defined-by { background:var(--navy-d); padding:8rem 0; }
.db-grid { display:grid; grid-template-columns:1fr 1fr; gap:7rem; align-items:center; }
.db-body { font-size:.96rem; color:rgba(255,255,255,.62); line-height:1.9; margin-bottom:1.25rem; }
.db-tags { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.5rem; }
.db-tags span { padding:.4rem .95rem; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); border-radius:2px; font-size:.82rem; color:rgba(255,255,255,.72); transition:all var(--t); }
.db-tags span:hover { background:rgba(212,98,26,.15); border-color:var(--gold); color:var(--gold-pale); }
.db-image { position:relative; }
.db-image img { border-radius:3px; height:460px; box-shadow:0 30px 80px rgba(0,0,0,.4); }
.db-img-tag { margin-top:1.2rem; }
.db-img-tag strong { display:block; color:#fff; font-size:.95rem; }
.db-img-tag span { font-size:.78rem; color:rgba(255,255,255,.5); }

/* =====================================================
   CHAIRMAN — white bg, image left, quote right
===================================================== */
.chairman { padding:8rem 0; background:var(--off); }
.ch-grid { display:grid; grid-template-columns:380px 1fr; gap:7rem; align-items:start; }
.ch-img-frame { border-radius:3px; overflow:hidden; height:500px; box-shadow:0 24px 70px rgba(107,18,18,.18); }
.ch-stats { display:flex; align-items:center; justify-content:space-around; background:var(--navy); padding:1.3rem; margin-top:1.2rem; border-radius:2px; }
.ch-stat { text-align:center; }
.ch-stat b { display:block; font-family:var(--serif); font-size:1.75rem; color:var(--gold); line-height:1; }
.ch-stat span { font-size:.68rem; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.05em; }
.ch-stat-div { width:1px; height:36px; background:rgba(255,255,255,.15); }
.ch-quote { font-family:var(--serif); font-size:1.2rem; font-style:italic; color:var(--navy); line-height:1.6; margin-bottom:1.5rem; padding-left:1.5rem; border-left:3px solid var(--gold); }
.ch-body { font-size:.95rem; color:var(--ink-3); line-height:1.9; margin-bottom:1.25rem; }

/* =====================================================
   SPHERES —
===================================================== */
.spheres { padding:8rem 0; background:#fff; }
.spheres-intro { font-size:.97rem; color:var(--ink-3); line-height:1.85; max-width:800px; margin:0 auto 3.5rem; text-align:center; }

.spheres-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.sp-card {
  position:relative; overflow:hidden;
  height:380px; cursor:pointer;
}
.sp-img { position:absolute; inset:0; transition:transform .6s var(--ease); }
.sp-card:hover .sp-img { transform:scale(1.08); }
.sp-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(74,11,11,.85) 0%, rgba(74,11,11,.3) 60%, transparent 100%); transition:background .4s; }
.sp-card:hover .sp-overlay { background:linear-gradient(to top, rgba(74,11,11,.92) 0%, rgba(74,11,11,.6) 100%); }
.sp-label {
  position:absolute; bottom:0; left:0; right:0; padding:1.75rem 1.5rem;
  z-index:2; transition:transform .4s var(--ease);
}
.sp-card:hover .sp-label { transform:translateY(-100%); opacity:0; }
.sp-badge { display:inline-block; font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:var(--gold); color:var(--navy-d); padding:.22rem .65rem; border-radius:2px; margin-bottom:.6rem; }
.sp-label h3 { font-family:var(--serif); font-size:1.25rem; color:#fff; margin-bottom:.4rem; }
.sp-label p  { font-size:.82rem; color:rgba(255,255,255,.7); line-height:1.6; }
.sp-hover {
  position:absolute; inset:0; z-index:3; padding:1.75rem 1.5rem;
  display:flex; flex-direction:column; justify-content:center;
  opacity:0; transform:translateY(20px);
  transition:opacity .4s var(--ease), transform .4s var(--ease);
}
.sp-card:hover .sp-hover { opacity:1; transform:translateY(0); }
.sp-hover h3 { font-family:var(--serif); font-size:1.2rem; color:#fff; margin-bottom:1rem; }
.sp-hover ul { margin-bottom:1.2rem; }
.sp-hover ul li { font-size:.84rem; color:rgba(255,255,255,.78); padding:.28rem 0 .28rem 1.2rem; border-bottom:1px solid rgba(255,255,255,.1); position:relative; }
.sp-hover ul li::before { content:'✓'; position:absolute; left:0; color:var(--gold); font-weight:700; }
.sp-hover a { display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); border-bottom:1.5px solid var(--gold); padding-bottom:1px; transition:all var(--t); }
.sp-hover a:hover { color:#fff; border-color:#fff; }

/* =====================================================
   WHY US — 
===================================================== */
.why-us { background:var(--navy-d); padding:8rem 0; }
.why-intro { font-size:.97rem; color:rgba(255,255,255,.6); line-height:1.85; max-width:700px; margin:0 auto 4rem; text-align:center; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(255,255,255,.1); }
.why-item { padding:2.5rem 1.5rem; text-align:center; border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); transition:background var(--t); }
.why-item:nth-child(4n) { border-right:none; }
.why-item:nth-child(n+5) { border-bottom:none; }
.why-item:hover { background:rgba(212,98,26,.07); }
.why-item span { font-size:2.1rem; display:block; margin-bottom:.9rem; }
.why-item h4   { font-size:.88rem; font-weight:700; color:#fff; margin-bottom:.3rem; letter-spacing:.02em; }
.why-item p    { font-size:.77rem; color:rgba(255,255,255,.45); line-height:1.55; }

/* =====================================================
   PEOPLE / FACULTY
===================================================== */
.people { padding:8rem 0; background:var(--off); }
.people-intro { font-size:.97rem; color:var(--ink-3); line-height:1.85; max-width:700px; margin-bottom:3.5rem; }

.people-scroll { overflow:hidden; padding-bottom:1.2rem; }
.people-track { display:flex; gap:1.5rem; padding:0 2.5rem; cursor:grab; user-select:none; width:max-content; }
.people-track:active { cursor:grabbing; }
.drag-hint { text-align:center; font-size:.72rem; color:var(--ink-4); letter-spacing:.08em; margin-top:.5rem; }

.person-card { flex-shrink:0; width:215px; background:#fff; border:1px solid var(--border); border-radius:3px; padding:1.75rem 1.4rem; text-align:center; transition:all var(--t) var(--ease); }
.person-card:hover { border-color:var(--navy); box-shadow:0 16px 50px rgba(107,18,18,.15); transform:translateY(-6px); }
.pc-photo { width:88px; height:88px; border-radius:50%; overflow:hidden; margin:0 auto 1rem; border:3px solid var(--border); transition:border-color var(--t); }
.person-card:hover .pc-photo { border-color:var(--navy); }
.pc-init { width:100%; height:100%; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.3rem; font-weight:800; color:#fff; }
.pc-tag { display:inline-block; font-size:.6rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; padding:.22rem .7rem; border-radius:2px; margin-bottom:.85rem; }
.pc-tag.physics { background:rgba(107,18,18,.1); color:var(--navy); }
.pc-tag.chem    { background:rgba(212,98,26,.12); color:#b85010; }
.pc-tag.maths   { background:rgba(26,90,46,.1); color:#1a5a2e; }
.pc-tag.bio     { background:rgba(92,26,26,.1); color:#5c1a1a; }
.person-card h4 { font-family:var(--serif); font-size:.95rem; color:var(--navy-d); margin-bottom:.2rem; }
.person-card p  { font-size:.74rem; color:var(--ink-4); margin-bottom:.85rem; }
.pc-bar { height:3px; background:var(--light-g); border-radius:2px; overflow:hidden; margin-bottom:.35rem; }
.pc-bar div { height:100%; background:linear-gradient(90deg, var(--navy), var(--gold)); border-radius:2px; animation:bfill 1s ease .5s both; }
@keyframes bfill { from{width:0} }
.person-card span { font-size:.72rem; color:var(--ink-4); }

/* =====================================================
   RESULTS
===================================================== */
.results { padding:8rem 0; background:var(--navy-d); }
.results-intro { font-size:.97rem; color:rgba(255,255,255,.6); line-height:1.85; max-width:700px; margin:0 auto 4rem; text-align:center; }
.results-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-bottom:3rem; }
.rc { border-radius:3px; overflow:hidden; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); transition:all var(--t) var(--ease); }
.rc:hover { transform:translateY(-5px); border-color:rgba(212,98,26,.4); box-shadow:0 24px 60px rgba(0,0,0,.4); }
.rc-img { height:200px; position:relative; overflow:hidden; }
.rc-img img { transition:transform .5s var(--ease); }
.rc:hover .rc-img img { transform:scale(1.05); }
.rc-init { height:100%; display:flex; align-items:center; justify-content:center; font-size:2.5rem; font-weight:800; color:#fff; background:var(--navy); }
.rc-score { position:absolute; top:.9rem; right:.9rem; padding:.45rem .85rem; border-radius:2px; font-size:.92rem; font-weight:800; text-align:center; line-height:1.2; background:rgba(212,98,26,.95); color:var(--navy-d); }
.rc-score.neet { background:rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.3); }
.rc-score small { display:block; font-size:.62rem; font-weight:600; opacity:.85; }
.rc-body { padding:1.4rem; }
.rc-tag { display:inline-block; font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); background:rgba(212,98,26,.1); padding:.18rem .55rem; border-radius:2px; margin-bottom:.6rem; }
.rc-body h4 { font-family:var(--serif); font-size:1.05rem; color:#fff; margin-bottom:.2rem; }
.rc-dest    { font-size:.78rem; color:var(--gold-pale); margin-bottom:.55rem; }
.rc-q       { font-size:.82rem; color:rgba(255,255,255,.5); font-style:italic; line-height:1.65; }
.ticker { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:3px; padding:1.35rem; margin-bottom:3rem; overflow:hidden; }
.ticker-hd { font-size:.8rem; font-weight:700; color:var(--gold); display:block; margin-bottom:1rem; letter-spacing:.08em; text-transform:uppercase; }
.ticker-scroll { overflow:hidden; }
.ticker-track { display:flex; gap:1.5rem; width:max-content; animation:tt 30s linear infinite; }
.ticker-track span { white-space:nowrap; font-size:.82rem; color:rgba(255,255,255,.65); }
.ticker-track b { color:var(--gold-pale); font-weight:700; }
.ticker-track i { font-style:normal; color:rgba(212,98,26,.3); font-size:.6rem; }
@keyframes tt { from{transform:translateX(0)}to{transform:translateX(-50%)} }
.perc-hd { font-family:var(--serif); font-size:1.4rem; color:#fff; margin-bottom:1.4rem; }
.perc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; }
.pc { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:3px; padding:.85rem 1rem; transition:all var(--t); }
.pc:hover { background:rgba(212,98,26,.1); border-color:rgba(212,98,26,.35); transform:translateY(-3px); }
.pc b    { display:block; font-family:var(--serif); font-size:1.25rem; color:var(--gold); line-height:1.1; margin-bottom:.25rem; }
.pc span { font-size:.78rem; color:rgba(255,255,255,.5); }

/* =====================================================
   CONTACT
===================================================== */
.contact { padding:8rem 0; background:var(--off); }
.ct-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:start; }
.ct-info-rows { display:flex; flex-direction:column; gap:1.1rem; margin-bottom:2rem; }
.ct-row { display:flex; gap:.85rem; align-items:flex-start; }
.ct-row>span { width:38px; height:38px; background:rgba(107,18,18,.08); border:1px solid rgba(107,18,18,.15); border-radius:2px; display:flex; align-items:center; justify-content:center; font-size:.9rem; flex-shrink:0; }
.ct-row strong { display:block; font-size:.88rem; color:var(--ink-2); }
.ct-row small   { font-size:.8rem; color:var(--ink-4); }
.ct-quote { padding:1rem 1.25rem; border-left:3px solid var(--gold); color:var(--ink-3); font-style:italic; font-size:.9rem; line-height:1.7; }
.form-box { background:#fff; border:1px solid var(--border); border-radius:3px; padding:2.75rem; box-shadow:0 8px 40px rgba(107,18,18,.1); }
.form-box h3 { font-family:var(--serif); font-size:1.75rem; color:var(--navy-d); margin-bottom:.2rem; }
.form-box>form>p { font-size:.88rem; color:var(--ink-4); margin-bottom:1.75rem; border-bottom:1px solid var(--light-g); padding-bottom:1.25rem; }
.fg-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.fg { display:flex; flex-direction:column; gap:.3rem; margin-bottom:.9rem; }
.fg label { font-size:.74rem; font-weight:700; color:var(--ink-2); letter-spacing:.07em; text-transform:uppercase; }
.fg input,.fg select,.fg textarea { padding:.75rem 1rem; border:1.5px solid var(--border); border-radius:2px; font-family:var(--sans); font-size:.9rem; color:var(--ink); background:#fff; outline:none; min-height:46px; transition:border-color var(--t),box-shadow var(--t); -webkit-appearance:none; }
.fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--navy); box-shadow:0 0 0 3px rgba(107,18,18,.1); }
.fg input.err,.fg select.err { border-color:#c0392b; }
.fe { font-size:.74rem; color:#c0392b; min-height:1em; }
#submitBtn { width:100%; margin-top:.5rem; padding:1rem 1.5rem; min-height:52px; background:var(--navy); color:#fff; font-family:var(--sans); font-size:.82rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; border:none; border-radius:2px; cursor:pointer; box-shadow:0 6px 24px rgba(107,18,18,.3); transition:background var(--t),transform var(--t),box-shadow var(--t); display:flex; align-items:center; justify-content:center; }
#submitBtn:hover { background:var(--navy-m); transform:translateY(-2px); box-shadow:0 12px 36px rgba(107,18,18,.4); }
#submitBtn:disabled { opacity:.6; cursor:not-allowed; transform:none; }
.form-success { text-align:center; padding:2.5rem 1rem; }
.form-success>div { font-size:2.8rem; margin-bottom:.8rem; }
.form-success h4 { font-family:var(--serif); font-size:1.4rem; color:var(--navy-d); margin-bottom:.4rem; }
.form-success p  { font-size:.88rem; color:var(--ink-3); }
.form-err { background:rgba(192,57,43,.07); border:1px solid rgba(192,57,43,.2); border-radius:2px; padding:1rem; margin-top:1rem; font-size:.84rem; color:#c0392b; text-align:center; }

/* =====================================================
   FOOTER 
===================================================== */
.footer { background:var(--navy-d); }
.footer-top { padding:5.5rem 0 4rem; border-bottom:1px solid rgba(255,255,255,.1); }
.ft-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3.5rem; }
.ft-logo { display:flex; align-items:center; gap:.8rem; margin-bottom:1.2rem; }
.ft-logo>div strong { display:block; font-family:var(--serif); font-size:1.05rem; color:#fff; }
.ft-logo>div span   { display:block; font-size:.65rem; color:rgba(255,255,255,.35); }
.ft-label { font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); margin-bottom:.75rem; display:block; }
.ft-brand address { font-size:.84rem; color:rgba(255,255,255,.45); line-height:1.75; margin-bottom:.75rem; }
.ft-quote { font-size:.8rem; color:rgba(255,255,255,.25); font-style:italic; }
.ft-col h5 { font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; }
.ft-col ul { display:flex; flex-direction:column; gap:.6rem; }
.ft-col li,.ft-col a { font-size:.84rem; color:rgba(255,255,255,.45); transition:color var(--t); }
.ft-col a:hover { color:var(--gold); }
.footer-bottom { padding:1.5rem 0; }
.footer-bottom .wrap { display:flex; justify-content:space-between; align-items:center; font-size:.76rem; color:rgba(255,255,255,.28); }

/* =====================================================
   RESPONSIVE — Tablet ≤1024px
===================================================== */
@media(max-width:1024px) {
  .ov-grid   { grid-template-columns:1fr; gap:4rem; }
  .ov-img-frame { height:360px; }
  .db-grid   { grid-template-columns:1fr; gap:4rem; }
  .db-image img { height:360px; }
  .ch-grid   { grid-template-columns:1fr 1fr; gap:4rem; }
  .ch-img-frame { height:380px; }
  .spheres-grid { grid-template-columns:repeat(2,1fr); }
  .sp-card   { height:340px; }
  .why-grid  { grid-template-columns:repeat(4,1fr); }
  .results-grid { grid-template-columns:repeat(2,1fr); }
  .perc-grid { grid-template-columns:repeat(3,1fr); }
  .ct-grid   { grid-template-columns:1fr; gap:4rem; }
  .ft-grid   { grid-template-columns:1fr 1fr; gap:2.5rem; }
}

/* =====================================================
   RESPONSIVE — Mobile ≤640px
===================================================== */
@media(max-width:640px) {
  .wrap { padding:0 1.25rem; }
  .header-wrap { padding:0 1.25rem; }
  .lt-marathi { display:none; }
  .lt-name { font-size:.95rem; }
  .logo-img-wrap { width:46px; height:46px; border-radius:6px; padding:3px; }

  /* Mobile nav */
  .nav {
    display:none; flex-direction:column; gap:0;
    position:fixed; top:0; right:0; bottom:0; width:82%; max-width:300px;
    background:rgba(74,11,11,.98); backdrop-filter:blur(20px);
    padding:5.5rem 1.75rem 2rem;
    transition:transform var(--t) var(--ease); transform:translateX(100%);
    box-shadow:-8px 0 50px rgba(0,0,0,.6); z-index:900; overflow-y:auto;
  }
  .nav.open { display:flex; transform:translateX(0); }
  .nav ul { flex-direction:column; gap:0; }
  .nav ul li { border-bottom:1px solid rgba(255,255,255,.08); }
  .nav a { display:block; padding:1rem 0; font-size:1rem; color:rgba(255,255,255,.82); letter-spacing:0; }
  .nav a::after { display:none; }
  .nav li:last-child a { padding:1rem 0; border:none; border-bottom:1px solid rgba(255,255,255,.08); color:var(--gold); background:none; }
  .ham { display:flex; }

  /* Hero */
  .slide-heading { font-size:clamp(2.4rem,11vw,4rem); }
  .slider-ctrl { bottom:105px; }
  .stats-inner { flex-wrap:wrap; padding:1rem; gap:0; }
  .stat-item { padding:.8rem 1rem; flex:1 1 50%; border-bottom:1px solid rgba(255,255,255,.1); }
  .stat-item:nth-child(3) { border-left:1px solid rgba(255,255,255,.1); }
  .stat-sep { display:none; }
  .stat-item strong { font-size:1.6rem; }

  /* Sections */
  .overview,.defined-by,.chairman,.spheres,.why-us,.people,.results,.contact { padding:5rem 0; }
  .ov-img-frame { height:260px; }
  .db-image img { height:260px; }
  .ch-grid { grid-template-columns:1fr; gap:3rem; }
  .ch-img-frame { height:260px; }
  .ch-stats { flex-wrap:wrap; gap:.5rem; }
  .ch-stat { flex:1 1 40%; }
  .spheres-grid { grid-template-columns:1fr; }
  .sp-card { height:300px; }
  .why-grid { grid-template-columns:repeat(2,1fr); }
  .why-item { padding:2rem 1rem; }
  .why-item:nth-child(2n) { border-right:none; }
  .why-item:nth-child(n+7) { border-bottom:none; }
  .people-track { padding:0 1.25rem; }
  .person-card { width:188px; }
  .results-grid { grid-template-columns:1fr; gap:1.1rem; }
  .perc-grid { grid-template-columns:repeat(2,1fr); gap:.75rem; }
  .fg-row { grid-template-columns:1fr; }
  .fg input,.fg select,.fg textarea { font-size:16px; }
  .form-box { padding:2rem 1.5rem; }
  .ft-grid { grid-template-columns:1fr; gap:2.5rem; }
  .footer-bottom .wrap { flex-direction:column; gap:.5rem; text-align:center; }
  .sec-title { font-size:clamp(1.8rem,7vw,2.6rem); }
}

@media(max-width:380px) {
  .spheres-grid { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr 1fr; }
  .perc-grid { grid-template-columns:1fr 1fr; }
  .person-card { width:170px; }
}

.preloader-logo{
    position: relative;
    width: 100px;      /* Adjust according to logo size */
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-img{
    width: 70px;
    height: 70px;
    object-fit: contain;
    position: relative;
    z-index: 2;
}

.loader-ring{
    position: absolute;
    width: 90px;
    height: 90px;
    border: 3px solid rgba(212,98,26,.25);
    border-top: 3px solid #D4621A;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin{
    0%{
        transform: rotate(0deg);
    }
    100%{
        transform: rotate(360deg);
    }
}

.footer{
  background:#650000;
  color:#fff;
}

.footer-top{
  padding:40px 0 20px;
}

.ft-logo-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
  flex-wrap:wrap;
}

.ft-logo{
  display:flex;
  align-items:center;
  gap:16px;
}

.logo-img{
  width:70px;
  height:auto;
}

.ft-logo-text{
  display:flex;
  flex-direction:column;
}

.ft-logo-text strong{
  font-size:2rem;
  color:#fff;
}

.ft-logo-text span{
  font-size:.95rem;
  color:rgba(255,255,255,.75);
}

.ft-contact-section h5{
  margin-bottom:12px;
  color:#fff;
  font-size:1.1rem;
}

.ft-contact-inline{
  display:flex;
  gap:35px;
  flex-wrap:wrap;
}

.contact-item{
  display:flex;
  flex-direction:column;
}

.contact-label{
  color:#d4621a;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:4px;
}

.contact-item a{
  color:#fff;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:500;
}

.contact-item a:hover{
  color:#d4621a;
}

.contact-item i{
  color:#d4621a;
}

.ft-quote{
  margin-top:20px;
  color:rgba(255,255,255,.7);
  font-style:italic;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.15);
  padding:16px 0;
}

.footer-bottom-content{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
}

@media (max-width:768px){

  .ft-logo-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .ft-contact-inline{
    flex-direction:column;
    gap:16px;
  }

  .footer-bottom-content{
    flex-direction:column;
    text-align:center;
  }
}