/* ════════════════════════════════════════════════════════
   ROOT & RESET
═══════════════════════════════════════════════════════════ */
/* ════ SHARED TOKENS ════ */
:root {
  --easing:     cubic-bezier(.4,0,.2,1);
  --nav-h:      8.75rem;
  --layout-min: 320px;
  --layout-desktop-min: 1024px;
  --bp-mobile: 768px;
}

/* ════ THEME 1 · BRAND — White + Logo Navy + Crimson ════ */
html.theme-brand {
  --ink:        #ffffff;
  --deep:       #f7f8fa;
  --mid:        #eef0f4;
  --lift:       #e4e8ef;
  --rim:        #d0d8e4;
  --gold:       #e2231a;
  --gold-hi:    #ff3a32;
  --gold-pale:  #ff7a74;
  --gold-dim:   rgba(226,35,26,.10);
  --gold-line:  rgba(226,35,26,.22);
  --cream:      #1e3060;
  --cream-dim:  #3a5080;
  --snow:       #1a3880;
  --fog:        #687890;
  --sh-gold:    0 0 60px rgba(226,35,26,.14);
  --sh-card:    0 20px 60px rgba(26,56,128,.12);
  --accent-rgb: 226,35,26;
  --ink-rgb:    255,255,255;
}

/* Brand-specific overrides — white bg, navy + red accents */
html.theme-brand .hero-veil {
  background: linear-gradient(
    135deg,
    rgba(255,255,255,.98) 0%,
    rgba(248,250,255,.95) 50%,
    rgba(255,248,248,.95) 100%
  );
}
html.theme-brand #hero-canvas { opacity: .22 }
html.theme-brand #nav.stuck {
  background: rgba(255,255,255,.96) !important;
  border-bottom-color: rgba(26,56,128,.14) !important;
  box-shadow: 0 4px 30px rgba(26,56,128,.10) !important;
}
html.theme-brand .mob-overlay { background: rgba(255,255,255,.98) }
html.theme-brand .mob-overlay a { color: var(--snow) }
html.theme-brand .hero-sub { color: rgba(30,48,96,.78) }
html.theme-brand .btn-ghost { border-color: rgba(26,56,128,.35); color: var(--snow) }
html.theme-brand .btn-ghost:hover { border-color: var(--gold); color: var(--gold) }
html.theme-brand .eyebrow { color: var(--gold) }
html.theme-brand .eyebrow::before { background: linear-gradient(90deg,transparent,var(--gold)) }
html.theme-brand .eyebrow::after  { background: linear-gradient(90deg,var(--gold),transparent) }
html.theme-brand .orb-1 { background: radial-gradient(circle,rgba(26,56,128,.10) 0%,transparent 70%) }
html.theme-brand .orb-2 { background: radial-gradient(circle,rgba(226,35,26,.08) 0%,transparent 70%) }
html.theme-brand footer { background: #eef0f4 }

html.theme-brand .off-icon {
  background: rgba(26,56,128,.10);
  border: 1px solid rgba(26,56,128,.30);
}
html.theme-brand .off-card:hover .off-icon {
  background: rgba(226,35,26,.12);
  border-color: var(--gold);
}
html.theme-brand .doc-ico {
  background: rgba(26,56,128,.08);
  border: 1px solid rgba(26,56,128,.22);
}
html.theme-brand .track-ico { filter: drop-shadow(0 2px 6px rgba(26,56,128,.25)) }
html.theme-brand .mb-head .off-icon {
  background: rgba(26,56,128,.08);
  border-color: rgba(26,56,128,.25);
}
html.theme-brand .p-num {
  background: rgba(26,56,128,.08);
  border-color: rgba(26,56,128,.30);
  color: var(--snow);
}
html.theme-brand .team-av {
  background: linear-gradient(135deg, #e4e8ef, #eef0f4);
  border-color: rgba(26,56,128,.35);
  color: var(--snow);
}
html.theme-brand .team-av::after { border-color: rgba(26,56,128,.18) }
html.theme-brand .sebi-n { color: rgba(26,56,128,.28) }
html.theme-brand .stat-num { color: var(--gold) }
html.theme-brand .stat-cell { background: #f0f2f6 }
html.theme-brand .stat-cell:hover { background: #e8ecf2 }

html.theme-brand .off-card,
html.theme-brand .team-card,
html.theme-brand .sebi-card,
html.theme-brand .doc-card,
html.theme-brand .track-card,
html.theme-brand .about-main-card,
html.theme-brand .testi-card,
html.theme-brand .mb-box {
  box-shadow: 0 4px 24px rgba(26,56,128,.08), 0 1px 4px rgba(26,56,128,.05);
}
html.theme-brand .off-card:hover,
html.theme-brand .team-card:hover,
html.theme-brand .track-card:hover {
  box-shadow: 0 16px 48px rgba(26,56,128,.12), 0 2px 8px rgba(26,56,128,.08);
}
html.theme-brand .chip {
  border-color: rgba(26,56,128,.28);
  color: var(--snow);
  background: rgba(26,56,128,.06);
}
html.theme-brand .chip:hover {
  background: rgba(226,35,26,.08);
  border-color: var(--gold);
  color: var(--gold);
}
html.theme-brand .hero-badge {
  border-color: rgba(226,35,26,.30);
  color: var(--gold);
}
html.theme-brand .nav-logo-main { color: var(--snow) }
html.theme-brand .nav-logo-main em { color: var(--gold) }
html.theme-brand .nav-logo-sub { color: var(--fog); opacity: 1 }
html.theme-brand .nav-list a { color: var(--fog) }
html.theme-brand .nav-list a:hover { color: var(--gold) }
html.theme-brand .nav-btn {
  color: var(--gold) !important;
  border-color: rgba(226,35,26,.35) !important;
}
html.theme-brand .nav-btn:hover {
  background: var(--gold) !important;
  color: #fff !important;
}
html.theme-brand .fab {
  background: linear-gradient(135deg, #e4e8ef, #eef0f4);
  border-color: rgba(26,56,128,.20);
  box-shadow: 0 8px 24px rgba(26,56,128,.12);
}
html.theme-brand .fab-num { color: var(--gold) }
html.theme-brand .fab-lbl { color: var(--fog) }
html.theme-brand .scroll-line { background: linear-gradient(to bottom, var(--gold), transparent) }
html.theme-brand .hero-rule { background: linear-gradient(90deg, transparent, var(--gold), transparent) }
html.theme-brand .off-card:hover {
  border-color: rgba(226,35,26,.28);
  box-shadow: 0 20px 60px rgba(26,56,128,.12), 0 2px 8px rgba(26,56,128,.06);
}
html.theme-brand .off-card:hover .off-list li { color: var(--snow) }
html.theme-brand .mb-item:hover {
  background: rgba(26,56,128,.08);
  border-color: rgba(26,56,128,.28);
  color: var(--snow);
}
html.theme-brand .doc-card:hover {
  background: rgba(26,56,128,.05);
  border-color: var(--gold);
}
html.theme-brand .sebi-card:hover {
  border-color: rgba(26,56,128,.25);
  background: linear-gradient(135deg, #eef0f4, #e4e8ef);
}
html.theme-brand .track-card:hover {
  border-color: var(--gold);
  box-shadow: 0 12px 40px rgba(26,56,128,.12);
}
html.theme-brand .stag:hover {
  background: rgba(226,35,26,.06);
  border-color: var(--gold);
  color: var(--gold);
}
html.theme-brand .team-card:hover {
  border-color: rgba(26,56,128,.25);
  box-shadow: 0 20px 60px rgba(26,56,128,.12);
}
html.theme-brand .c-form {
  background: #ffffff;
  border-color: rgba(26,56,128,.15);
  box-shadow: 0 8px 40px rgba(26,56,128,.08), 0 2px 8px rgba(26,56,128,.05);
}
html.theme-brand .finp,
html.theme-brand .fsel,
html.theme-brand .ftxt {
  background: #f7f8fa;
  border-color: rgba(26,56,128,.20);
  color: var(--snow);
}
html.theme-brand .finp::placeholder,
html.theme-brand .ftxt::placeholder { color: #8a9bb5 }
html.theme-brand .finp:focus,
html.theme-brand .fsel:focus,
html.theme-brand .ftxt:focus {
  background: #ffffff;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(226,35,26,.10);
}
html.theme-brand .fsel option { background: #f7f8fa; color: var(--snow) }
html.theme-brand .flbl { color: var(--snow) }
html.theme-brand .req  { color: var(--gold) }
html.theme-brand .ci-lbl  { color: var(--snow) }
html.theme-brand .ci-val  { color: var(--cream-dim) }
html.theme-brand .ci-rule { background: rgba(26,56,128,.20) }

/* ════ THEME 2 · PEARL — Ivory White + Deep Sapphire (Light) ════ */
html.theme-pearl {
  --ink:        #f3f6ff;
  --deep:       #e8edf9;
  --mid:        #d8e2f5;
  --lift:       #c4d2ee;
  --rim:        #a8bde8;
  --gold:       #1a4ab8;
  --gold-hi:    #2255d0;
  --gold-pale:  #3b72f0;
  --gold-dim:   rgba(26,74,184,.10);
  --gold-line:  rgba(26,74,184,.20);
  --cream:      #0c1830;
  --cream-dim:  #1e3060;
  --snow:       #060e24;
  --fog:        #4a6298;
  --sh-gold:    0 0 60px rgba(26,74,184,.15);
  --sh-card:    0 20px 60px rgba(10,30,100,.14);
  --accent-rgb: 26,74,184;
  --ink-rgb:    243,246,255;
}

/* Pearl-specific overrides — hero & nav need dark-on-light treatment */
html.theme-pearl .hero-veil {
  background: linear-gradient(
    135deg,
    rgba(243,246,255,.96) 0%,
    rgba(232,240,255,.92) 50%,
    rgba(220,232,255,.95) 100%
  );
}
html.theme-pearl #hero-canvas { opacity: .35 }
html.theme-pearl #nav.stuck {
  background: rgba(243,246,255,.95) !important;
  border-bottom-color: rgba(26,74,184,.18) !important;
  box-shadow: 0 4px 30px rgba(10,30,100,.12) !important;
}
html.theme-pearl .mob-overlay { background: rgba(243,246,255,.98) }
html.theme-pearl .mob-overlay a { color: var(--snow) }
html.theme-pearl .hero-sub { color: rgba(12,24,48,.75) }
html.theme-pearl .btn-ghost { border-color: rgba(26,74,184,.4); color: var(--gold) }
html.theme-pearl .btn-ghost:hover { border-color: var(--gold); color: var(--gold-hi) }
html.theme-pearl .eyebrow::before { background: linear-gradient(90deg,transparent,var(--gold)) }
html.theme-pearl .eyebrow::after  { background: linear-gradient(90deg,var(--gold),transparent) }
html.theme-pearl .orb-1 { background: radial-gradient(circle,rgba(26,74,184,.12) 0%,transparent 70%) }
html.theme-pearl .orb-2 { background: radial-gradient(circle,rgba(26,74,184,.08) 0%,transparent 70%) }
html.theme-pearl footer { background: #d4ddf5 }

/* ── Pearl: icon containers (near-invisible on light bg without these) ── */
html.theme-pearl .off-icon {
  background: rgba(26,74,184,.12);
  border: 1px solid rgba(26,74,184,.35);
}
html.theme-pearl .off-card:hover .off-icon {
  background: rgba(26,74,184,.2);
  border-color: var(--gold);
}
html.theme-pearl .doc-ico {
  background: rgba(26,74,184,.1);
  border: 1px solid rgba(26,74,184,.25);
}
html.theme-pearl .track-ico {
  filter: drop-shadow(0 2px 6px rgba(26,74,184,.3));
}
html.theme-pearl .mb-head .off-icon {
  background: rgba(26,74,184,.1);
  border-color: rgba(26,74,184,.3);
}

/* ── Pearl: pillar & team numbering circles ── */
html.theme-pearl .p-num {
  background: rgba(26,74,184,.1);
  border-color: rgba(26,74,184,.35);
  color: var(--gold);
}
html.theme-pearl .team-av {
  background: linear-gradient(135deg, #c4d2ee, #d8e2f5);
  border-color: rgba(26,74,184,.45);
  color: var(--gold);
}
html.theme-pearl .team-av::after {
  border-color: rgba(26,74,184,.2);
}

/* ── Pearl: SEBI large ghost numbers (were near-transparent on white) ── */
html.theme-pearl .sebi-n {
  color: rgba(26,74,184,.32);
}

/* ── Pearl: stat numbers ── */
html.theme-pearl .stat-num { color: var(--gold) }
html.theme-pearl .stat-cell { background: #e8edf9 }
html.theme-pearl .stat-cell:hover { background: #dce5f5 }

/* ── Pearl: card shadows so cards pop off the white background ── */
html.theme-pearl .off-card,
html.theme-pearl .team-card,
html.theme-pearl .sebi-card,
html.theme-pearl .doc-card,
html.theme-pearl .track-card,
html.theme-pearl .about-main-card,
html.theme-pearl .testi-card,
html.theme-pearl .mb-box {
  box-shadow: 0 4px 24px rgba(26,74,184,.1), 0 1px 4px rgba(26,74,184,.07);
}
html.theme-pearl .off-card:hover,
html.theme-pearl .team-card:hover,
html.theme-pearl .track-card:hover {
  box-shadow: 0 16px 48px rgba(26,74,184,.16), 0 2px 8px rgba(26,74,184,.1);
}

/* ── Pearl: chips & badges on the hero ── */
html.theme-pearl .chip {
  border-color: rgba(26,74,184,.35);
  color: var(--gold);
  background: rgba(26,74,184,.08);
}
html.theme-pearl .chip:hover {
  background: rgba(26,74,184,.14);
  border-color: var(--gold);
}
html.theme-pearl .hero-badge {
  border-color: rgba(26,74,184,.35);
  color: var(--gold);
}

/* ── Logo images (embedded PNGs) — text only if image fails ── */
.nav-logo-text,
.foot-brand-text { display:none !important }
.site-logo-img,
.foot-brand-img {
  display:block;
  flex-shrink:0;
}
.logo-fallback .site-logo-img,
.logo-fallback .foot-brand-img { display:none !important }
.logo-fallback .nav-logo-text { display:flex !important; flex-direction:column }
.logo-fallback .foot-brand-text { display:block !important }

/* ── Pearl: nav text on light sticky bar ── */
html.theme-pearl .nav-logo-main { color: var(--snow) }
html.theme-pearl .nav-list a { color: var(--fog) }
html.theme-pearl .nav-list a:hover { color: var(--gold) }
html.theme-pearl .nav-btn {
  color: var(--gold) !important;
  border-color: rgba(26,74,184,.35) !important;
}
html.theme-pearl .nav-btn:hover {
  background: var(--gold) !important;
  color: #fff !important;
}

/* ── Pearl: fab floating cards ── */
html.theme-pearl .fab {
  background: linear-gradient(135deg, #c4d2ee, #d8e2f5);
  border-color: rgba(26,74,184,.25);
  box-shadow: 0 8px 24px rgba(26,74,184,.15);
}
html.theme-pearl .fab-num { color: var(--gold) }
html.theme-pearl .fab-lbl { color: var(--fog) }

/* ── Pearl: scroll cue line ── */
html.theme-pearl .scroll-line {
  background: linear-gradient(to bottom, var(--gold), transparent);
}
html.theme-pearl .hero-rule {
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

/* ── Pearl: offering card hover ── */
html.theme-pearl .off-card:hover {
  border-color: rgba(26,74,184,.35);
  box-shadow: 0 20px 60px rgba(26,74,184,.14), 0 2px 8px rgba(26,74,184,.08);
}
html.theme-pearl .off-card:hover .off-icon {
  background: rgba(26,74,184,.18);
  border-color: var(--gold);
}
html.theme-pearl .off-card:hover .off-list li {
  color: var(--snow); /* dark navy text — readable on light card */
}

/* ── Pearl: merchant banking items hover ── */
html.theme-pearl .mb-item:hover {
  background: rgba(26,74,184,.1);
  border-color: rgba(26,74,184,.35);
  color: var(--snow);
}

/* ── Pearl: document card hover ── */
html.theme-pearl .doc-card:hover {
  background: rgba(26,74,184,.06);
  border-color: var(--gold);
}

/* ── Pearl: SEBI card hover ── */
html.theme-pearl .sebi-card:hover {
  border-color: rgba(26,74,184,.3);
  background: linear-gradient(135deg, #d8e2f5, #c4d2ee);
}

/* ── Pearl: track card hover ── */
html.theme-pearl .track-card:hover {
  border-color: var(--gold);
  box-shadow: 0 12px 40px rgba(26,74,184,.16);
}

/* ── Pearl: sector tag hover ── */
html.theme-pearl .stag:hover {
  background: rgba(26,74,184,.08);
  border-color: var(--gold);
  color: var(--gold);
}

/* ── Pearl: team card hover ── */
html.theme-pearl .team-card:hover {
  border-color: rgba(26,74,184,.3);
  box-shadow: 0 20px 60px rgba(26,74,184,.14);
}

/* ── Pearl: stat cell hover ── */
html.theme-pearl .stat-cell:hover { background: #d8e2f5 }

/* ── Pearl: contact form ── */
html.theme-pearl .c-form {
  background: #ffffff;
  border-color: rgba(26,74,184,.18);
  box-shadow: 0 8px 40px rgba(26,74,184,.1), 0 2px 8px rgba(26,74,184,.06);
}
html.theme-pearl .finp,
html.theme-pearl .fsel,
html.theme-pearl .ftxt {
  background: #f3f6ff;
  border-color: rgba(26,74,184,.22);
  color: var(--snow);
}
html.theme-pearl .finp::placeholder,
html.theme-pearl .ftxt::placeholder {
  color: #7a90c0;
}
html.theme-pearl .finp:focus,
html.theme-pearl .fsel:focus,
html.theme-pearl .ftxt:focus {
  background: #ffffff;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(26,74,184,.1);
}
html.theme-pearl .fsel option {
  background: #f3f6ff;
  color: var(--snow);
}
html.theme-pearl .flbl { color: var(--gold) }
html.theme-pearl .req  { color: #2255d0 }
html.theme-pearl .finp.invalid,
html.theme-pearl .fsel.invalid,
html.theme-pearl .ftxt.invalid {
  background: #fff5f5;
  border-color: #c0392b;
}

/* ── Pearl: contact info side ── */
html.theme-pearl .ci-lbl  { color: var(--gold) }
html.theme-pearl .ci-val  { color: var(--snow) }
html.theme-pearl .ci-rule { background: rgba(26,74,184,.25) }

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html {
  scroll-behavior:smooth;
  font-size:16px;
  scroll-padding-top:var(--nav-h);
  min-width:var(--layout-min);
}
body {
  font-family:'Inter',sans-serif;
  background:var(--ink);
  color:var(--cream);
  overflow-x:hidden;
  line-height:1.65;
}
/* Desktop/tablet landscape: lock layout width — no further squeeze; scroll if needed */
@media (min-width: 769px) {
  body { min-width:var(--layout-desktop-min); }
}

/* ── Scrollbar ─────────────────────────────────── */
::-webkit-scrollbar { width:5px }
::-webkit-scrollbar-track { background:var(--ink) }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:3px }
::selection { background:var(--gold); color:var(--ink) }

/* ── Type helpers ──────────────────────────────── */
h1,h2,h3 { font-family:'Playfair Display',serif; line-height:1.15 }
.serif-italic { font-family:'Cormorant Garamond',serif; font-style:italic }

.eyebrow {
  display:inline-flex; align-items:center; gap:.75rem;
  font-size:.68rem; font-weight:600; letter-spacing:.35em;
  text-transform:uppercase; color:var(--gold);
}
.eyebrow::before,.eyebrow::after {
  content:''; height:1px; width:28px;
  background:linear-gradient(90deg,transparent,var(--gold));
}
.eyebrow::after { background:linear-gradient(90deg,var(--gold),transparent) }

.section-title {
  font-size:clamp(1.9rem,3.8vw,3rem);
  color:var(--snow); margin-bottom:1.1rem;
}
.section-title span { color:var(--gold) }

.section-sub {
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem; color:var(--fog);
  max-width:560px; line-height:1.85;
}

/* ── Keyframes ─────────────────────────────────── */
@keyframes fadeUp   { from{opacity:0;transform:translateY(44px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes floatY   { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes shimmer  {
  0%   { background-position:-200% center }
  100% { background-position: 200% center }
}
@keyframes spinOrb  { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes ticker   { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes barGrow  { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes pulseRing {
  0%,100% { box-shadow:0 0 0 0 rgba(200,168,75,.5) }
  50%     { box-shadow:0 0 0 18px rgba(200,168,75,0) }
}
@keyframes lineDown { from{height:0} to{height:60px} }

/* ── Scroll-reveal ─────────────────────────────── */
.rv, .rv-l, .rv-r {
  transition: opacity .85s var(--easing), transform .85s var(--easing);
}
.rv    { opacity:0; transform:translateY(48px) }
.rv-l  { opacity:0; transform:translateX(-52px) }
.rv-r  { opacity:0; transform:translateX(52px) }
.rv.on,.rv-l.on,.rv-r.on { opacity:1; transform:none }

.d1 { transition-delay:.10s }
.d2 { transition-delay:.20s }
.d3 { transition-delay:.30s }
.d4 { transition-delay:.40s }
.d5 { transition-delay:.50s }
.d6 { transition-delay:.60s }

/* ════════════════════════════════════════════════════════
   NAVIGATION
═══════════════════════════════════════════════════════════ */
#nav {
  position:fixed; inset:0 0 auto 0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.6rem 5%;
  transition:all .4s var(--easing);
}
#nav.stuck {
  background:rgba(5,12,30,.93);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  padding:1rem 5%;
  border-bottom:1px solid var(--gold-line);
  box-shadow:0 6px 40px rgba(0,0,0,.35);
}
.nav-logo {
  display:flex; flex-direction:column; gap:.08rem;
  text-decoration:none; align-items:flex-start;
  flex-shrink:0;
  min-width:0;
  overflow:hidden;
  line-height:0;
}
.site-logo-img {
  flex-shrink:0;
  width:220px;
  max-width:min(220px, 52vw);
  height:auto;
  /* aspect-ratio:280 / 166; */
  object-fit:contain;
  object-position:center;
  display:block;
}
.foot-brand-wrap {
  overflow:hidden;
  line-height:0;
}
.foot-brand-img {
  width:260px;
  max-width:100%;
  height:auto;
  /* aspect-ratio:280 / 166; */
  object-fit:contain;
  object-position:center;
  display:block;
  margin-bottom:1rem;
}
.nav-logo-main {
  font-family:'Playfair Display',serif;
  font-size:1.35rem; font-weight:800;
  color:var(--snow); letter-spacing:.06em; line-height:1;
}
.nav-logo-main em { color:var(--gold); font-style:normal }
.nav-logo-sub {
  font-size:.55rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--gold); opacity:.75;
}
.nav-list {
  list-style:none; display:flex; gap:2.4rem; align-items:center;
}
.nav-list a {
  font-size:.78rem; font-weight:500; letter-spacing:.1em;
  text-transform:uppercase; color:var(--fog);
  text-decoration:none; position:relative;
  transition:color .3s;
}
.nav-list a::after {
  content:''; position:absolute; bottom:-5px; left:0;
  width:0; height:1px; background:var(--gold);
  transition:width .3s var(--easing);
}
.nav-list a:hover { color:var(--gold) }
.nav-list a:hover::after { width:100% }
.nav-btn {
  padding:.55rem 1.5rem !important; color:var(--gold) !important;
  border:1px solid var(--gold-line) !important; border-radius:2px;
  transition:all .3s !important;
}
.nav-btn::after { display:none !important }
.nav-btn:hover { background:var(--gold) !important; color:var(--ink) !important }

/* Hamburger */
.burger { display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:1002 }
.burger span { display:block; width:24px; height:2px; background:var(--gold); transition:all .35s }
.burger.x span:nth-child(1) { transform:rotate(45deg) translate(5px,5px) }
.burger.x span:nth-child(2) { opacity:0 }
.burger.x span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px) }

/* Mobile overlay */
.mob-overlay {
  position:fixed; inset:0; z-index:1001;
  background:rgba(5,12,30,.97);
  backdrop-filter:blur(24px);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  transform:translateX(110%); transition:transform .45s var(--easing);
}
.mob-overlay.show { transform:translateX(0) }
.mob-nav {
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:2.5rem;
}
.mob-overlay a {
  font-family:'Playfair Display',serif;
  font-size:1.8rem; color:var(--snow);
  text-decoration:none; transition:color .3s;
}
.mob-overlay a:hover { color:var(--gold) }
.mob-close {
  position:absolute;
  top:max(1.1rem, env(safe-area-inset-top, 0px));
  right:max(5%, env(safe-area-inset-right, 0px));
  width:48px; height:48px;
  border:1px solid var(--gold-line);
  border-radius:50%;
  background:var(--mid);
  cursor:pointer; z-index:2;
  display:flex; align-items:center; justify-content:center;
  padding:0;
  transition:background .25s, border-color .25s, transform .25s;
}
.mob-close::before,
.mob-close::after {
  content:'';
  position:absolute;
  width:22px; height:2px;
  background:var(--gold);
  border-radius:1px;
}
.mob-close::before { transform:rotate(45deg) }
.mob-close::after  { transform:rotate(-45deg) }
.mob-close:hover {
  background:var(--lift);
  border-color:var(--gold);
  transform:scale(1.05);
}
.mob-close:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px;
}

/* ════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════ */
#hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  padding-top:var(--nav-h);
  /* Reserves clearance so the centered hero content (which can grow to two
     rows of chips on narrower viewports) never collides with the
     absolutely-positioned .scroll-cue pinned near the bottom of this section. */
  padding-bottom:8rem;
  overflow:hidden;
}
#hero-canvas { position:absolute; inset:0; z-index:0 }

/* Atmospheric orbs */
.orb {
  position:absolute; border-radius:50%;
  filter:blur(90px); pointer-events:none; z-index:1;
}
.orb-1 {
  width:700px; height:700px;
  background:radial-gradient(circle,rgba(200,168,75,.07) 0%,transparent 70%);
  top:-200px; right:-200px;
  animation:spinOrb 25s linear infinite;
}
.orb-2 {
  width:500px; height:500px;
  background:radial-gradient(circle,rgba(19,37,80,.8) 0%,transparent 70%);
  bottom:-100px; left:-100px;
}
.orb-3 {
  width:350px; height:350px;
  background:radial-gradient(circle,rgba(200,168,75,.05) 0%,transparent 70%);
  top:40%; left:20%;
}
.hero-veil {
  position:absolute; inset:0; z-index:2;
  background:linear-gradient(
    135deg,
    rgba(5,12,30,.97) 0%,
    rgba(8,17,42,.88) 50%,
    rgba(13,29,62,.92) 100%
  );
}
.hero-body {
  position:relative; z-index:3;
  text-align:center; padding:0 5%;
  max-width:1000px;
}
.hero-tag {
  animation:fadeUp .9s ease both .3s;
  margin-bottom:1.8rem;
}
.hero-h1 {
  font-size:clamp(3.2rem,8vw,7rem);
  color:var(--snow); line-height:1;
  margin-bottom:.8rem;
  animation:fadeUp .9s ease both .5s;
}
.hero-h1 .shine {
  background:linear-gradient(120deg,var(--gold) 0%,var(--gold-hi) 40%,var(--gold-pale) 60%,var(--gold) 100%);
  background-size:250% auto;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:shimmer 4s linear infinite, fadeUp .9s ease both .5s;
}
.hero-rule {
  width:80px; height:2px; margin:1.6rem auto;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  animation:fadeIn .9s ease both .7s;
}
.hero-sub {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.1rem,2.2vw,1.6rem);
  color:rgba(245,240,232,.82); max-width:680px;
  margin:0 auto 2.8rem; line-height:1.75;
  animation:fadeUp .9s ease both .75s;
}
.hero-chips {
  display:flex; flex-wrap:wrap; gap:.75rem;
  justify-content:center; margin-bottom:3rem;
  animation:fadeUp .9s ease both .9s;
}
.chip {
  padding:.45rem 1.2rem;
  border:1px solid rgba(200,168,75,.35);
  border-radius:100px; font-size:.72rem;
  letter-spacing:.1em; color:var(--gold-hi);
  backdrop-filter:blur(8px);
  transition:all .3s;
}
.chip:hover { background:rgba(200,168,75,.1); border-color:var(--gold) }
.hero-actions {
  display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;
  animation:fadeUp .9s ease both 1.05s;
}
.btn-gold {
  padding:.9rem 2.6rem;
  background:linear-gradient(130deg,var(--gold),var(--gold-hi));
  color:var(--ink); font-weight:700; font-size:.78rem;
  letter-spacing:.18em; text-transform:uppercase;
  text-decoration:none; border:none; cursor:pointer;
  border-radius:2px; position:relative;
  transition:transform .25s var(--easing), box-shadow .25s var(--easing), background .25s var(--easing);
}
.btn-gold:hover {
  transform:translateY(-2px);
  background:linear-gradient(130deg,var(--gold-hi),var(--gold-pale));
  box-shadow:0 10px 32px rgba(var(--accent-rgb),.32);
}
.btn-gold:active {
  transform:translateY(0);
  box-shadow:0 4px 14px rgba(var(--accent-rgb),.22);
}
.btn-ghost {
  padding:.9rem 2.6rem;
  background:transparent; color:var(--snow);
  border:1px solid rgba(255,255,255,.25);
  border-radius:2px; font-size:.78rem;
  letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; cursor:pointer;
  transition:all .3s;
}
.btn-ghost:hover { border-color:var(--gold); color:var(--gold) }

/* Scroll cue */
.scroll-cue {
  position:absolute; bottom:2.2rem; left:50%;
  transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:.4rem;
  cursor:pointer; animation:fadeIn 1s ease both 1.5s;
}
.scroll-cue span {
  font-size:.62rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--fog);
}
.scroll-line {
  width:1px;
  background:linear-gradient(to bottom,var(--gold),transparent);
  animation:lineDown 1.8s ease-in-out infinite;
}

/* ════════════════════════════════════════════════════════
   TICKER
═══════════════════════════════════════════════════════════ */
.ticker-wrap {
  overflow:hidden;
  background:linear-gradient(90deg,var(--deep),var(--mid),var(--deep));
  border-top:1px solid var(--gold-line);
  border-bottom:1px solid var(--gold-line);
  padding:.65rem 0; user-select:none;
}
.ticker-track {
  display:flex; width:max-content; white-space:nowrap;
  animation:ticker 36s linear infinite; gap:3.5rem;
}
.t-item {
  font-size:.7rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold); opacity:.8;
}
.t-dot { color:var(--fog); margin:0 .4rem }

/* ════════════════════════════════════════════════════════
   LAYOUT HELPERS
═══════════════════════════════════════════════════════════ */
.section { padding:7rem 5%; position:relative }
.wrap { max-width:1280px; margin:0 auto }
.s-head { margin-bottom:4rem }
.s-head.c { text-align:center }
.s-head.c .section-sub { margin:0 auto }
.s-head.c .eyebrow { justify-content:center }

/* Gold ornament divider */
.divider {
  display:flex; align-items:center; gap:1rem;
  margin:0 auto 1rem; width:fit-content;
}
.divider::before,.divider::after {
  content:''; height:1px; width:60px;
  background:linear-gradient(90deg,transparent,var(--gold));
}
.divider::after { background:linear-gradient(90deg,var(--gold),transparent) }
.divider-diamond { color:var(--gold); font-size:.65rem }

/* ════════════════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════════════════ */
#about {
  background:linear-gradient(180deg,var(--ink) 0%,var(--deep) 100%);
}
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:6rem; align-items:center;
}
/* Left visual */
.about-vis { position:relative }
.about-main-card {
  background:linear-gradient(145deg,var(--mid),var(--lift));
  border:1px solid var(--gold-line); border-radius:4px;
  padding:3rem; position:relative; overflow:hidden;
  z-index:1;
}
.about-main-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-hi),var(--gold));
}
.about-main-card::after {
  content:'\201C';
  position:absolute; bottom:-2rem; right:1rem;
  font-family:'Playfair Display',serif; font-size:14rem;
  color:rgba(200,168,75,.04); line-height:1; pointer-events:none;
}
.about-quote-text {
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem; font-style:italic;
  color:var(--cream); line-height:1.85; margin-bottom:1.5rem;
}
.about-quote-by {
  font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold);
}
/* Floating stat cards */
.fab {
  position:absolute;
  background:linear-gradient(135deg,var(--mid),var(--lift));
  border:1px solid var(--gold-line); border-radius:4px;
  padding:1rem 1.4rem; z-index:2; pointer-events:none;
}
.fab-1 {
  bottom:-1.8rem; right:-2rem;
  animation:floatY 4.5s ease-in-out infinite;
}
.fab-2 {
  top:-1.4rem; right:-1.8rem;
  animation:floatY 5.5s ease-in-out infinite 1.2s;
}
.fab-num {
  font-family:'Playfair Display',serif;
  font-size:1.75rem; font-weight:800; color:var(--gold); line-height:1;
}
.fab-lbl {
  font-size:.62rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--fog); margin-top:.15rem;
}

/* Right content */
.pillars { display:flex; flex-direction:column; gap:1.6rem; margin-top:2.2rem }
.pillar { display:flex; gap:1rem; align-items:flex-start }
.p-num {
  width:30px; height:30px; flex-shrink:0;
  border:1px solid rgba(200,168,75,.35);
  background:rgba(200,168,75,.07);
  border-radius:50%; display:flex;
  align-items:center; justify-content:center;
  font-size:.65rem; font-weight:700; color:var(--gold);
}
.p-title {
  font-weight:600; font-size:.9rem; color:var(--snow);
  margin-bottom:.2rem; letter-spacing:.04em;
}
.p-body { font-size:.84rem; color:var(--fog); line-height:1.65 }

/* ════════════════════════════════════════════════════════
   STATS BAND
═══════════════════════════════════════════════════════════ */
#stats {
  padding:0;
  background:linear-gradient(135deg,var(--lift) 0%,var(--mid) 100%);
  border-top:1px solid var(--gold-line);
  border-bottom:1px solid var(--gold-line);
}
.stats-row {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--gold-line);
  border-left:1px solid var(--gold-line);
  border-right:1px solid var(--gold-line);
  align-items:stretch;
}
.stat-cell {
  background:var(--deep); padding:3.5rem 2rem;
  text-align:center; position:relative; overflow:hidden;
  transition:background .35s;
  display:flex; flex-direction:column; align-items:center;
  justify-content:flex-start;
  height:100%;
}
.stat-cell::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transform:scaleX(0); transition:transform .4s;
  transform-origin:center;
}
.stat-cell:hover { background:var(--mid) }
.stat-cell:hover::after { transform:scaleX(1) }
.stat-num {
  font-family:'Playfair Display',serif;
  font-size:3.6rem; font-weight:800;
  color:var(--gold); line-height:1;
  min-height:3.6rem;
  width:100%;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:.75rem;
}
.stat-num.stat-word {
  font-size:clamp(1.85rem, 3.8vw, 2.75rem);
  letter-spacing:.03em;
}
.stat-lbl {
  font-size:.7rem; letter-spacing:.22em; line-height:1.45;
  text-transform:uppercase; color:var(--fog);
  min-height:2.75rem;
  width:100%;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:.75rem;
}
.stat-note {
  font-family:'Cormorant Garamond',serif;
  font-size:.95rem; font-style:italic; color:rgba(136,152,180,.7);
  line-height:1.4;
  min-height:2.65rem;
  width:100%;
  display:flex; align-items:flex-start; justify-content:center;
  margin-top:auto;
}

/* ════════════════════════════════════════════════════════
   OFFERINGS
═══════════════════════════════════════════════════════════ */
#offerings { background:var(--ink) }
.off-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1.6rem; margin-bottom:3.5rem;
}
.off-card {
  background:linear-gradient(150deg,var(--deep),var(--mid));
  border:1px solid rgba(200,168,75,.1); border-radius:4px;
  padding:2.6rem; position:relative; overflow:hidden;
  transition:all .45s var(--easing); cursor:default;
}
.off-card::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg,var(--gold),var(--gold-hi));
  transform:scaleY(0); transform-origin:top;
  transition:transform .45s var(--easing);
}
.off-card:hover {
  transform:translateY(-10px);
  border-color:rgba(200,168,75,.32);
  box-shadow:var(--sh-card), var(--sh-gold);
}
.off-card:hover::before { transform:scaleY(1) }
.off-icon {
  width:52px; height:52px;
  background:rgba(200,168,75,.08);
  border:1px solid rgba(200,168,75,.2);
  border-radius:4px; display:flex;
  align-items:center; justify-content:center;
  font-size:1.5rem; margin-bottom:1.7rem;
  transition:all .35s;
}
.off-card:hover .off-icon {
  background:rgba(200,168,75,.15);
  border-color:var(--gold);
  animation:pulseRing 2s ease infinite;
}
.off-title {
  font-family:'Playfair Display',serif;
  font-size:1.35rem; color:var(--snow); margin-bottom:1.1rem;
}
.off-list { list-style:none; display:flex; flex-direction:column; gap:.55rem }
.off-list li {
  font-size:.83rem; color:var(--fog);
  display:flex; align-items:flex-start; gap:.65rem; line-height:1.5;
  transition:color .3s;
}
.off-card:hover .off-list li { color:rgba(245,240,232,.85) }
.off-list li::before {
  content:'◆'; color:var(--gold); font-size:.4rem;
  margin-top:.45rem; flex-shrink:0;
}

/* Merchant Banking Detail */
.mb-box {
  background:linear-gradient(145deg,var(--mid),var(--deep));
  border:1px solid var(--gold-line); border-radius:4px;
  overflow:hidden;
}
.mb-head {
  display:flex; align-items:center; gap:1rem;
  padding:2rem 2.5rem;
  border-bottom:1px solid rgba(200,168,75,.1);
}
.mb-head-title {
  font-family:'Playfair Display',serif;
  font-size:1.45rem; color:var(--snow);
}
.mb-tabs { display:flex; border-bottom:1px solid rgba(200,168,75,.1) }
.mb-tab {
  padding:1rem 2rem; font-size:.72rem;
  font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--fog);
  cursor:pointer; border-bottom:2px solid transparent;
  transition:all .3s;
}
.mb-tab:hover { color:var(--gold-hi) }
.mb-tab.on { color:var(--gold); border-bottom-color:var(--gold) }
.mb-pane { display:none; padding:2.5rem; animation:fadeIn .4s ease }
.mb-pane.on { display:block }
.mb-items {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:1rem;
}
.mb-item {
  padding:1rem 1.2rem;
  background:rgba(200,168,75,.05);
  border:1px solid rgba(200,168,75,.1);
  border-radius:2px; font-size:.84rem;
  color:var(--cream-dim); display:flex;
  align-items:center; gap:.5rem;
  transition:all .3s;
}
.mb-item::before { content:'→'; color:var(--gold); font-size:.75rem }
.mb-item:hover {
  background:rgba(200,168,75,.12);
  border-color:rgba(200,168,75,.35);
  color:var(--snow);
}

/* ════════════════════════════════════════════════════════
   OFFER DOCUMENTS
═══════════════════════════════════════════════════════════ */
#docs {
  background:linear-gradient(180deg,var(--deep) 0%,var(--ink) 100%);
}
.docs-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(270px,1fr));
  gap:1rem; margin-bottom:3rem;
}
.doc-card {
  background:var(--mid); border:1px solid rgba(200,168,75,.1);
  border-radius:4px; padding:1.4rem 1.6rem;
  display:flex; align-items:center; gap:1rem;
  transition:all .3s; text-decoration:none;
}
.doc-card:hover {
  border-color:var(--gold);
  background:rgba(200,168,75,.06);
  transform:translateX(5px);
}
.doc-ico {
  width:38px; height:38px;
  background:rgba(200,168,75,.1);
  border-radius:4px; display:flex;
  align-items:center; justify-content:center;
  font-size:1.1rem; flex-shrink:0;
}
.doc-nm { font-size:.84rem; font-weight:600; color:var(--snow); margin-bottom:.15rem }
.doc-tp {
  font-size:.65rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gold);
}

/* SEBI charters */
.sebi-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
}
.sebi-card {
  background:var(--mid); border:1px solid rgba(200,168,75,.08);
  border-radius:4px; padding:1.4rem;
  display:flex; gap:.9rem; align-items:flex-start;
  transition:all .3s;
}
.sebi-card:hover {
  border-color:rgba(200,168,75,.28);
  background:linear-gradient(135deg,var(--mid),var(--lift));
}
.sebi-n {
  font-family:'Playfair Display',serif;
  font-size:1.55rem; font-weight:700;
  color:rgba(200,168,75,.28); line-height:1; flex-shrink:0;
}
.sebi-t { font-size:.79rem; font-weight:600; color:var(--cream-dim); line-height:1.45 }

/* Track records */
.track-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2rem;
}
.track-card {
  background:linear-gradient(135deg,var(--mid),var(--deep));
  border:1px solid var(--gold-line); border-radius:4px;
  padding:2rem; text-align:center; transition:all .4s;
}
.track-card:hover {
  transform:translateY(-6px);
  border-color:var(--gold); box-shadow:var(--sh-gold);
}
.track-ico { font-size:2.2rem; margin-bottom:.9rem }
.track-nm {
  font-family:'Playfair Display',serif;
  font-size:1.05rem; color:var(--snow); margin-bottom:.6rem;
}
.track-badge {
  display:inline-block; padding:.25rem .9rem;
  background:rgba(200,168,75,.1);
  border:1px solid rgba(200,168,75,.3); border-radius:100px;
  font-size:.66rem; letter-spacing:.12em;
  color:var(--gold); text-transform:uppercase;
}

/* Investor complaints */
.complaint-row {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(360px,1fr));
  gap:1rem; margin-top:2rem;
}

/* ════════════════════════════════════════════════════════
   SECTORS
═══════════════════════════════════════════════════════════ */
#sectors {
  background:linear-gradient(180deg,var(--ink) 0%,var(--deep) 100%);
}
.tags-cloud {
  display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center;
}
.stag {
  padding:.6rem 1.3rem;
  background:var(--mid); border:1px solid rgba(200,168,75,.15);
  border-radius:100px; font-size:.8rem; color:var(--fog);
  transition:all .3s; cursor:default;
}
.stag:hover {
  border-color:var(--gold); color:var(--gold);
  background:rgba(200,168,75,.06); transform:translateY(-3px);
}


/* ════════════════════════════════════════════════════════
   TEAM
═══════════════════════════════════════════════════════════ */
#team {
  background:linear-gradient(180deg,var(--deep) 0%,var(--ink) 100%);
}
.team-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;
}
.team-card {
  background:linear-gradient(150deg,var(--deep),var(--mid));
  border:1px solid rgba(200,168,75,.1); border-radius:4px;
  padding:2.6rem 2rem; text-align:center;
  position:relative; overflow:hidden;
  transition:all .45s var(--easing);
}
.team-card::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(200,168,75,.04),transparent);
  opacity:0; transition:opacity .4s;
}
.team-card:hover {
  transform:translateY(-7px);
  border-color:rgba(200,168,75,.32);
  box-shadow:var(--sh-card);
}
.team-card:hover::after { opacity:1 }
.team-av {
  width:78px; height:78px;
  background:linear-gradient(135deg,var(--lift),var(--mid));
  border:2px solid rgba(200,168,75,.35); border-radius:50%;
  margin:0 auto 1.4rem;
  display:flex; align-items:center; justify-content:center;
  font-family:'Playfair Display',serif;
  font-size:1.6rem; color:var(--gold);
  position:relative; transition:all .4s;
}
.team-av::after {
  content:''; position:absolute; inset:-6px;
  border-radius:50%; border:1px solid rgba(200,168,75,.14);
  transition:all .4s;
}
.team-card:hover .team-av {
  border-color:var(--gold);
  animation:pulseRing 2s ease infinite;
}
.team-nm {
  font-family:'Playfair Display',serif;
  font-size:1.15rem; color:var(--snow); margin-bottom:.4rem;
}
.team-role {
  font-size:.7rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold); opacity:.85;
}

/* ════════════════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════════════════ */
#testi {
  background:linear-gradient(135deg,var(--lift) 0%,var(--mid) 50%,var(--deep) 100%);
  overflow:hidden;
}
.testi-viewport { overflow:hidden; position:relative }
.testi-track {
  display:flex; transition:transform .65s var(--easing);
}
.testi-slide {
  flex:0 0 100%; padding:0 8%;
}
.testi-card {
  background:linear-gradient(150deg,var(--deep),var(--ink));
  border:1px solid var(--gold-line); border-radius:4px;
  padding:4rem; max-width:920px; margin:0 auto; position:relative;
}
.testi-card::before {
  content:'\201C';
  position:absolute; top:.5rem; left:2rem;
  font-family:'Playfair Display',serif; font-size:9rem;
  color:rgba(200,168,75,.12); line-height:1; pointer-events:none;
}
.testi-text {
  font-family:'Cormorant Garamond',serif;
  font-size:1.35rem; font-style:italic;
  color:var(--cream); line-height:1.85;
  margin-bottom:2rem; position:relative; z-index:1;
}
.testi-author { display:flex; align-items:center; gap:1.2rem }
.testi-av {
  width:50px; height:50px;
  background:linear-gradient(135deg,var(--lift),var(--gold));
  border-radius:50%; display:flex;
  align-items:center; justify-content:center;
  font-family:'Playfair Display',serif;
  font-size:1.1rem; font-weight:700; color:var(--ink); flex-shrink:0;
}
.testi-nm { font-weight:600; color:var(--snow); margin-bottom:.2rem }
.testi-co { font-size:.78rem; color:var(--gold); letter-spacing:.06em }

/* Controls */
.testi-controls {
  display:flex; align-items:center; justify-content:center;
  gap:1.5rem; margin-top:3rem;
}
.testi-btn {
  width:46px; height:46px; border-radius:50%;
  border:1px solid rgba(200,168,75,.3); background:transparent;
  color:var(--gold); font-size:1.15rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all .3s;
}
.testi-btn:hover { background:var(--gold); color:var(--ink); border-color:var(--gold) }
.testi-dots { display:flex; gap:.5rem }
.tdot {
  width:6px; height:6px; border-radius:3px;
  background:var(--fog); cursor:pointer; transition:all .35s;
}
.tdot.on { background:var(--gold); width:24px }

/* ════════════════════════════════════════════════════════
   CONTACT
═══════════════════════════════════════════════════════════ */
#contact {
  background:linear-gradient(180deg,var(--ink) 0%,var(--deep) 100%);
}
.contact-grid {
  display:grid; grid-template-columns:1fr 1.6fr;
  gap:5rem; align-items:start;
}
.ci-block { margin-bottom:2.4rem }
.ci-lbl {
  font-size:.64rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--gold); margin-bottom:.45rem;
}
.ci-val {
  font-family:'Cormorant Garamond',serif;
  font-size:1.08rem; color:var(--cream); line-height:1.75;
}
.ci-val a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.ci-val a:hover {
  color: var(--gold);
}
.ci-val-link {
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  text-decoration: none !important;
  color: inherit;
  cursor: pointer;
  transition: color 0.2s ease;
}
.ci-val-link:hover {
  color: var(--gold);
}
.ci-ext-icon {
  flex-shrink: 0;
  margin-top: 3px;
  opacity: 0.65;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.ci-val-link:hover .ci-ext-icon {
  opacity: 1;
  transform: translate(2px, -2px);
}
.ci-rule { width:40px; height:1px; background:rgba(200,168,75,.3); margin:1.8rem 0 }

/* Form */
.c-form {
  background:linear-gradient(150deg,var(--mid),var(--deep));
  border:1px solid var(--gold-line); border-radius:4px;
  padding:3rem;
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem }
.fg { margin-bottom:1.5rem }
.flbl {
  display:block; font-size:.66rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold); margin-bottom:.55rem;
}
.req { color:var(--gold) }
.opt {
  color: var(--fog);
  font-weight: 400;
  font-size: .62rem;
  text-transform: none;
  letter-spacing: normal;
}
.finp,.fsel,.ftxt {
  width:100%; padding:.9rem 1.15rem;
  background:rgba(5,12,30,.7); border:1px solid rgba(200,168,75,.18);
  border-radius:2px; color:var(--snow);
  font-family:'Inter',sans-serif; font-size:.9rem;
  outline:none; transition:all .3s;
}
.finp::placeholder,.ftxt::placeholder { color:var(--fog) }
.finp:focus,.fsel:focus,.ftxt:focus {
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(200,168,75,.08);
}
.fsel { cursor:pointer }
.fsel option { background:var(--deep) }
.ftxt { height:130px; resize:vertical }
.fsub {
  width:100%; padding:1rem; border:none; border-radius:2px;
  background:linear-gradient(130deg,var(--gold),var(--gold-hi));
  color:var(--ink); font-family:'Inter',sans-serif;
  font-size:.78rem; font-weight:700; letter-spacing:.2em;
  text-transform:uppercase; cursor:pointer; transition:all .3s;
}
.fsub:hover { transform:translateY(-2px); box-shadow:0 12px 44px rgba(200,168,75,.32) }
.fsub:disabled { opacity:.6; cursor:not-allowed; transform:none }
.ferr {
  display:block; font-size:.72rem; color:#e07070;
  margin-top:.35rem; min-height:.9rem; letter-spacing:.02em;
}
.finp.invalid,.fsel.invalid,.ftxt.invalid {
  border-color:#e07070;
  box-shadow:0 0 0 3px rgba(224,112,112,.1);
}
.form-success-box {
  background:rgba(60,160,80,.12);
  border:1px solid rgba(60,160,80,.35);
  border-radius:2px; padding:1.1rem 1.3rem;
  font-size:.9rem; color:#7de8a0;
  margin-bottom:1.2rem; line-height:1.6;
}

/* ════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
footer {
  background:#030a19;
  border-top:1px solid rgba(200,168,75,.1);
  padding:4.5rem 5% 2.5rem;
}
.foot-top {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem; padding-bottom:3rem;
  border-bottom:1px solid rgba(200,168,75,.08);
  margin-bottom:2.5rem;
}
.foot-brand-nm {
  font-family:'Playfair Display',serif;
  font-size:1.5rem; font-weight:800; color:var(--snow); margin-bottom:.2rem;
}
.foot-brand-nm em { color:var(--gold); font-style:normal }
.foot-brand-tag {
  font-size:.58rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--gold); opacity:.7;
  margin-bottom:1.2rem;
}
.foot-about { font-size:.84rem; color:var(--fog); line-height:1.7; margin-bottom:1.4rem }
.sebi-note {
  font-size: .68rem;
  color: var(--fog);
  line-height: 1.6;
}
.sebi-note-label {
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .5rem;
}
.sebi-note-address {
  margin-bottom: .5rem;
}
.sebi-note-emails a {
  color: var(--fog);
  text-decoration: none;
  transition: color .2s ease;
}
.sebi-note-emails a:hover {
  color: var(--gold);
}
.foot-col-h {
  font-size:.66rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold);
  margin-bottom:1.2rem; font-weight:600;
}
.foot-links { list-style:none }
/* .foot-links li { margin-bottom:.6rem } */
.foot-links li {
  font-size: .84rem;
  color: var(--fog);
  line-height: 1.65;
  font-weight: 400;
}
.foot-links a {
  font-size:.84rem; color:var(--fog);
  text-decoration:none; transition:color .3s;
}
.foot-links a:hover { color:var(--gold) }
.foot-bottom {
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
}
.foot-copy { font-size:.74rem; color:var(--fog) }
.foot-legal { display:flex; gap:1.8rem }
.foot-legal a {
  font-size:.68rem; color:var(--fog);
  text-decoration:none; transition:color .3s;
}
.foot-legal a:hover { color:var(--gold) }

/* ════════════════════════════════════════════════════════
   RESPONSIVE
   · ≥769px: desktop min-width (1024px) — layout does not shrink further
   · ≤768px: full mobile layout, fluid width (min 320px)
═══════════════════════════════════════════════════════════ */
@media(max-width:1100px) {
  .about-grid { grid-template-columns:1fr; gap:3.5rem }
  .stats-row { grid-template-columns:repeat(2,1fr) }
  .off-grid { grid-template-columns:1fr 1fr }
  .team-grid { grid-template-columns:repeat(2,1fr) }
  .sebi-grid { grid-template-columns:1fr 1fr }
  .track-grid { grid-template-columns:1fr 1fr }
  .foot-top { grid-template-columns:1fr 1fr }
  .contact-grid { grid-template-columns:1fr; gap:3rem }
}
@media(max-width:768px) {
  html, body {
    min-width:0;
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  html { min-width:var(--layout-min) }

  .section { padding:5rem 5% }
  #nav { padding:1rem 5% }
  #nav .nav-list { display:none }
  .site-logo-img { width:min(180px, 52vw) }
  .burger { display:flex }
  .off-grid { grid-template-columns:1fr }
  .sebi-grid { grid-template-columns:1fr }
  .track-grid { grid-template-columns:1fr }
  .team-grid { grid-template-columns:1fr 1fr }
  .stats-row { grid-template-columns:1fr 1fr }
  .stat-cell { padding:2.5rem 1.25rem }
  .hero-body { padding:0 6% }
  .hero-h1 { font-size:clamp(2.4rem, 10vw, 3.6rem) }
  .hero-sub { font-size:clamp(1rem, 4vw, 1.25rem) }
  .hero-chips { justify-content:center; flex-wrap:wrap }
  .hero-actions { flex-direction:column; align-items:center; width:100% }
  .hero-actions .btn-gold,
  .hero-actions .btn-ghost { width:100%; max-width:320px; text-align:center }
  .section-title { font-size:clamp(1.75rem, 7vw, 2.4rem) }
  .about-grid { gap:2.5rem }
  .form-row { grid-template-columns:1fr }
  .foot-top { grid-template-columns:1fr }
  .foot-bottom { flex-direction:column; text-align:center; gap:1rem }
  .testi-card { padding:2rem 1.25rem }
  .testi-slide { padding:0 2% }
  .fab-1,.fab-2 { display:none }
  .ticker-wrap { overflow:hidden }
  #theme-rig { bottom:1.25rem; right:1.25rem }
  #back-to-top { bottom:5.5rem; right:1.25rem }
  :root { --nav-h:6.75rem }
}
@media(max-width:520px) {
  .team-grid { grid-template-columns:1fr }
  .docs-grid { grid-template-columns:1fr }
  .stats-row { grid-template-columns:1fr }
  .stat-num { font-size:2.6rem; min-height:2.6rem }
  .stat-lbl { min-height:2.5rem }
  .stat-cell { padding:2rem 1rem }
  .off-grid { grid-template-columns:1fr }
  .hero-chips { gap:.5rem }
  .chip { font-size:.65rem; padding:.45rem .85rem }
  #theme-trig { width:46px; height:46px }
}

/* ════════════════════════════════════════════════════════
   THEME SWITCHER
═══════════════════════════════════════════════════════════ */
#theme-rig {
  position:fixed; bottom:2rem; right:2rem;
  z-index:9000; display:flex; flex-direction:column;
  align-items:flex-end; gap:1rem;
}

/* Trigger button */
#theme-trig {
  width:52px; height:52px; border-radius:50%;
  background:var(--mid); border:1.5px solid var(--gold-line);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  position:relative; overflow:visible;
  box-shadow:0 8px 32px rgba(0,0,0,.5), 0 0 0 0 rgba(var(--accent-rgb),.4);
  transition:transform .3s var(--easing), box-shadow .3s var(--easing), border-color .3s;
  animation:floatY 4s ease-in-out infinite;
}
#theme-trig:hover {
  transform:scale(1.1) translateY(-2px);
  border-color:var(--gold);
  box-shadow:0 12px 40px rgba(0,0,0,.5), 0 0 0 10px rgba(var(--accent-rgb),.1);
}
#theme-trig svg { width:22px; height:22px; fill:var(--gold); transition:fill .3s }
#theme-trig.open { border-color:var(--gold); animation:none }
#theme-trig.open svg { fill:var(--gold-hi) }

/* Panel */
#theme-panel {
  background:linear-gradient(145deg, var(--mid), var(--deep));
  border:1px solid var(--gold-line); border-radius:12px;
  padding:1.4rem 1.2rem;
  box-shadow:0 20px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(var(--accent-rgb),.06);
  transform-origin:bottom right;
  transform:scale(.85) translateY(10px);
  opacity:0; pointer-events:none;
  transition:transform .35s var(--easing), opacity .35s var(--easing);
  min-width:260px;
}
#theme-panel.show {
  transform:scale(1) translateY(0);
  opacity:1; pointer-events:auto;
}
.tp-label {
  font-size:.62rem; font-weight:700; letter-spacing:.25em;
  text-transform:uppercase; color:var(--gold);
  margin-bottom:1rem; text-align:center;
  display:flex; align-items:center; justify-content:center; gap:.6rem;
}
.tp-label::before,.tp-label::after {
  content:''; height:1px; width:20px;
  background:linear-gradient(90deg,transparent,var(--gold));
}
.tp-label::after { background:linear-gradient(90deg,var(--gold),transparent) }

/* Individual theme options */
.tp-opts {
  display:grid; grid-template-columns:1fr 1fr; gap:.6rem;
}
.tp-opt {
  display:flex; flex-direction:column; align-items:center; gap:.55rem;
  padding:.8rem .6rem; border-radius:10px;
  background:transparent; border:1px solid transparent;
  cursor:pointer; transition:all .3s var(--easing);
  text-align:center; width:100%;
  opacity:0; transform:translateY(10px);
}
#theme-panel.show .tp-opt {
  opacity:1; transform:translateY(0);
}
#theme-panel.show .tp-opt:nth-child(1) { transition-delay:.04s }
#theme-panel.show .tp-opt:nth-child(2) { transition-delay:.09s }
#theme-panel.show .tp-opt:nth-child(3) { transition-delay:.14s }
#theme-panel.show .tp-opt:nth-child(4) { transition-delay:.19s }
#theme-panel.show .tp-opt:nth-child(5) { transition-delay:.24s }
#theme-panel.show .tp-opt:nth-child(6) { transition-delay:.29s }
.tp-opt:hover {
  background:rgba(var(--accent-rgb),.06);
  border-color:var(--gold-line);
}
.tp-opt.active {
  background:rgba(var(--accent-rgb),.08);
  border-color:var(--gold-line);
}

/* Swatch circle — diagonal split showing bg + accent */
.tp-swatch {
  width:44px; height:44px; border-radius:50%;
  border:2px solid rgba(255,255,255,.12);
  transition:transform .3s, box-shadow .3s;
  position:relative; overflow:hidden; flex-shrink:0;
}
.tp-opt:hover .tp-swatch {
  transform:scale(1.12);
  box-shadow:0 0 18px rgba(255,255,255,.18);
}
.tp-opt.active .tp-swatch {
  transform:scale(1.12);
  border-color:rgba(255,255,255,.55);
  box-shadow:0 0 22px rgba(255,255,255,.22);
}
.tp-sw-pearl     { background:linear-gradient(135deg, #f3f6ff 50%, #1a4ab8 50%) }
.tp-sw-brand     { background:linear-gradient(135deg, #ffffff 40%, #1a3880 40% 70%, #e2231a 70%) }

/* Text stack */
.tp-text { width:100%; min-width:0 }
.tp-name {
  display:block; font-size:.76rem; font-weight:600;
  color:var(--snow); letter-spacing:.03em; margin-bottom:.08rem;
}
.tp-sub {
  display:block; font-size:.58rem; letter-spacing:.05em;
  color:var(--fog); text-transform:uppercase;
}

/* Active checkmark overlay on swatch */
.tp-check {
  position:absolute; inset:0; border-radius:50%;
  background:rgba(0,0,0,.45); color:#fff;
  font-size:.75rem; font-weight:900;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:scale(.5);
  transition:all .3s var(--easing);
}
.tp-opt.active .tp-check { opacity:1; transform:scale(1) }

/* Theme reveal overlay (injected by JS) */
#theme-reveal {
  position:fixed; inset:0; z-index:99998;
  pointer-events:none; will-change:clip-path;
}

/* ════════════════════════════════════════════════════════
   ANIMATION SYSTEM — 18 OPPORTUNITIES
════════════════════════════════════════════════════════════ */

/* ── New keyframes ─────────────────────────────────────── */
@keyframes shineSwipe {
  0%   { background-position: -200% center }
  100% { background-position:  200% center }
}
@keyframes pulseBeat {
  0%,100% { transform:scale(1); box-shadow:0 0 0 0 rgba(var(--accent-rgb),.45) }
  40%     { transform:scale(1.12); box-shadow:0 0 0 10px rgba(var(--accent-rgb),0) }
}
@keyframes borderDraw {
  from { transform:scaleX(0); transform-origin:left }
  to   { transform:scaleX(1); transform-origin:left }
}
@keyframes avatarGlow {
  0%,100% { box-shadow:0 0 0 0 rgba(var(--accent-rgb),.5), 0 0 20px rgba(var(--accent-rgb),.1) }
  50%     { box-shadow:0 0 0 8px rgba(var(--accent-rgb),0), 0 0 30px rgba(var(--accent-rgb),.25) }
}
@keyframes breatheTag {
  0%,100% { transform:scale(1) }
  50%     { transform:scale(1.07) }
}
@keyframes entranceFade {
  from { opacity:0; transform:translateY(30px) }
  to   { opacity:1; transform:translateY(0) }
}
@keyframes progressFill {
  from { transform:scaleX(0) }
  to   { transform:scaleX(1) }
}
@keyframes statShine {
  0%   { background-position:-200% center }
  100% { background-position: 200% center }
}

/* ── 1. Custom Cursor ──────────────────────────────────── */
body { cursor:none }
a, button, .tp-opt, .tp-trig, .burger, .testi-btn, .mb-tab, .stag, .off-card, .nav-btn, [onclick] {
  cursor:none;
}
#cursor-dot {
  position:fixed; top:0; left:0; z-index:99999;
  width:8px; height:8px; border-radius:50%;
  background:var(--gold); pointer-events:none;
  transform:translate(-50%,-50%);
  transition:transform .1s, background .3s, width .2s, height .2s;
  will-change:transform;
}
#cursor-ring {
  position:fixed; top:0; left:0; z-index:99998;
  width:32px; height:32px; border-radius:50%;
  border:1.5px solid rgba(var(--accent-rgb),.6);
  pointer-events:none;
  transform:translate(-50%,-50%);
  transition:width .25s var(--easing), height .25s var(--easing), border-color .3s, transform .06s linear;
  will-change:transform;
}
body.cursor-hover #cursor-dot {
  width:12px; height:12px; background:var(--gold-hi);
}
body.cursor-hover #cursor-ring {
  width:48px; height:48px;
  border-color:rgba(var(--accent-rgb),.9);
}
@media (hover:none) {
  #cursor-dot, #cursor-ring { display:none }
  body, a, button, .tp-opt, .tp-trig, .burger, .testi-btn, .mb-tab, .stag, .off-card, .nav-btn, [onclick] {
    cursor:auto;
  }
}

/* ── 2. Scroll Progress Bar ────────────────────────────── */
#scroll-progress {
  position:fixed; top:0; left:0; z-index:99997;
  height:3px; width:100%;
  transform:scaleX(0); transform-origin:left;
  background:linear-gradient(90deg, var(--gold), var(--gold-hi), var(--gold));
  transition:transform .05s linear;
  pointer-events:none;
}

/* ── 3. Back-to-Top Button ─────────────────────────────── */
#back-to-top {
  position:fixed; bottom:2rem; left:2rem; z-index:9100;
  width:44px; height:44px; border-radius:50%;
  border:1.5px solid var(--gold-line); background:var(--mid);
  color:var(--gold); font-size:1.2rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  cursor:none; box-shadow:0 4px 20px rgba(0,0,0,.35);
  opacity:0; transform:translateY(16px);
  transition:opacity .35s var(--easing), transform .35s var(--easing),
             background .25s, border-color .25s, box-shadow .25s;
  line-height:1; pointer-events:auto;
}
#back-to-top.show { opacity:1; transform:translateY(0) }
#back-to-top:hover {
  background:var(--gold); color:var(--ink);
  box-shadow:0 6px 28px rgba(var(--accent-rgb),.35);
}
html.theme-pearl #back-to-top {
  background:#e8edf9; border-color:rgba(26,74,184,.3);
}
html.theme-pearl #back-to-top:hover {
  background:var(--gold); color:#fff;
}

/* ── 4. Ticker Gradient Edge Fade ──────────────────────── */
.ticker-wrap {
  -webkit-mask-image:linear-gradient(
    to right, transparent 0%, black 8%, black 92%, transparent 100%
  );
  mask-image:linear-gradient(
    to right, transparent 0%, black 8%, black 92%, transparent 100%
  );
}

/* ── 5. Merchant Banking Tab Slide Transition ──────────── */
.mb-pane {
  display:none; position:relative;
  animation:none;
}
.mb-pane.on {
  display:block;
  animation:mbSlideIn .42s var(--easing) both;
}
.mb-pane.out {
  animation:mbSlideOut .3s var(--easing) both;
}
@keyframes mbSlideIn {
  from { opacity:0; transform:translateX(32px) }
  to   { opacity:1; transform:translateX(0) }
}
@keyframes mbSlideOut {
  from { opacity:1; transform:translateX(0) }
  to   { opacity:0; transform:translateX(-32px) }
}

/* ── 6. Stats Section Shine Sweep ──────────────────────── */
.stat-num.shine-done {
  background: linear-gradient(
    105deg,
    var(--gold) 20%,
    var(--gold-hi) 40%,
    var(--gold-pale) 50%,
    var(--gold-hi) 60%,
    var(--gold) 80%
  );
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:statShine 1.4s linear forwards;
}
html.theme-pearl .stat-num.shine-done {
  background: linear-gradient(105deg, var(--gold) 20%, var(--gold-hi) 50%, var(--gold) 80%);
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:statShine 1.4s linear forwards;
}

/* ── 7. Testimonial Progress Bar ──────────────────────── */
.testi-progress {
  position:relative; width:160px; height:2px;
  background:rgba(var(--accent-rgb),.18);
  border-radius:2px; overflow:hidden;
  margin:0 auto 1.2rem;
}
.testi-progress-fill {
  position:absolute; inset:0;
  background:var(--gold); border-radius:2px;
  transform:scaleX(0); transform-origin:left;
}
.testi-progress-fill.running {
  animation:progressFill 6.5s linear forwards;
}

/* ── 8. About Quote Border Draw (left border) ────────── */
.about-main-card::before {
  /* Override the original top-line ::before with a growing left border */
  right:auto !important; /* prevent original right:0 from stretching it */
  width:3px !important;
  height:0 !important;
  border-radius:2px;
  background:linear-gradient(to bottom, var(--gold), var(--gold-pale)) !important;
  transition:height 1.1s cubic-bezier(.4,0,.2,1);
}
.about-vis.on .about-main-card::before { height:100% !important }

/* ── 9. Pillar Number Circle Pulse (once on entry) ───── */
.pillar.on .p-num {
  animation:pulseBeat .7s var(--easing) both;
}
.pillar.d1.on .p-num { animation-delay:.10s }
.pillar.d2.on .p-num { animation-delay:.20s }
.pillar.d3.on .p-num { animation-delay:.30s }
.pillar.d4.on .p-num { animation-delay:.40s }
.pillar.d5.on .p-num { animation-delay:.50s }

/* ── 10. Team Avatar Ring Continuous Glow ──────────────── */
.team-av {
  animation:avatarGlow 3.2s ease-in-out infinite;
}

/* ── 11. Footer Link Underline Draw ─────────────────────── */
.foot-links a {
  position:relative; display:inline-block;
}
.foot-links a::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:0; height:1px; background:var(--gold);
  transition:width .35s var(--easing);
}
.foot-links a:hover::after { width:100% }

/* ── 12. Offering Card List Item Stagger on Hover ─────── */
.off-card .off-list li {
  transition:color .25s, transform .25s var(--easing), padding-left .25s var(--easing);
}
.off-card:hover .off-list li { padding-left:.5rem }
.off-card:hover .off-list li:nth-child(1) { transition-delay:0ms }
.off-card:hover .off-list li:nth-child(2) { transition-delay:40ms }
.off-card:hover .off-list li:nth-child(3) { transition-delay:80ms }
.off-card:hover .off-list li:nth-child(4) { transition-delay:120ms }
.off-card:hover .off-list li:nth-child(5) { transition-delay:160ms }
.off-card:hover .off-list li:nth-child(6) { transition-delay:200ms }
.off-card:hover .off-list li:nth-child(7) { transition-delay:240ms }
.off-card:hover .off-list li:nth-child(8) { transition-delay:280ms }

/* ── 13. Page Load Entrance Sequence ──────────────────── */
.entrance-hidden { opacity:0 }
.entrance-anim {
  animation:entranceFade .75s var(--easing) both;
}

/* ── 14. Button transitions ───────────────────────────── */
.btn-gold, .btn-ghost {
  transition:transform .25s var(--easing), background .25s var(--easing), box-shadow .25s var(--easing), color .25s var(--easing), border-color .25s var(--easing);
}

/* ── 15. 3D Tilt Cards ─────────────────────────────────── */
.off-card, .team-card, .track-card, .doc-card, .sebi-card {
  transform-style:preserve-3d;
  will-change:transform;
}

/* ── 16. SEBI / Sector stagger (JS adds delays) ─────── */
.sebi-card.stagger-rv, .stag.stagger-rv {
  opacity:0; transform:translateY(36px);
  transition:opacity .6s var(--easing), transform .6s var(--easing);
}
.sebi-card.stagger-rv.on, .stag.stagger-rv.on {
  opacity:1; transform:none;
}

/* ── 17. Floating Label Inputs ────────────────────────── */
.fg { position:relative }
.finp:not(:placeholder-shown) + .flbl-float,
.finp:focus + .flbl-float,
.ftxt:not(:placeholder-shown) + .flbl-float,
.ftxt:focus + .flbl-float {
  transform:translateY(-1.6rem) scale(.78);
  color:var(--gold);
}
/* (activated via JS class toggle so we don't need to restructure HTML) */
.flbl-up {
  font-size:.7rem; color:var(--gold);
  transition:all .25s var(--easing);
}

/* ── 18. Sector Tags breathing (JS applies inline keyframe timing) ── */
.stag.breathing {
  animation:breatheTag 2.8s ease-in-out infinite;
}
