/* ═══════════════════════════════════════════════════════════════════
   Agastron Vantage Group — Global Custom Styles
   ───────────────────────────────────────────────────────────────────
   STRUCTURE (edit the section you need — nothing else required):
     §1  Design Tokens  — brand colors, fonts, radii, transitions
     §2  Typography     — Poppins everywhere, size scale
     §3  Brand Primary  — per-page Bootstrap color override
     §4  Buttons        — shape, rise effect, brand variants, dark mode
     §5  Badges & Tags  — brand-colored badges, light + dark mode
     §6  Cards          — engine card hover effects
     §7  Navbar         — transparent → sticky color logic, logo size
     §8  Page Hero      — about/contact/careers section template
     §9  Dropdowns      — active item brand accent
    §10  Dark Mode      — text, heading, icon corrections
    §11  Utility        — text-*, bg-*, border-* brand helpers
   ═══════════════════════════════════════════════════════════════════ */
/* ─────────────────────────────────────────────────────────────────
   §1  DESIGN TOKENS
   Single :root block — ALL tokens live here, nowhere else.
   ───────────────────────────────────────────────────────────────── */
:root {
  /* ── Brand signature colors ── */
  --brand-mayvrion:        #770c88;
  --brand-aranidhi:        #ffca11;
  --brand-ruler:           #0055bb;
  --brand-neofairs:        #21c36e;
  --brand-agastron:        #0e0b1f;
  --brand-agastron-gold:   #c9973b;
  /* ── Hover-darken variants ── */
  --brand-mayvrion-dark:   #5e0a6e;
  --brand-aranidhi-dark:   #d4a800;
  --brand-ruler-dark:      #003e8c;
  --brand-neofairs-dark:   #189e58;
  /* ── Light tints ── */
  --brand-mayvrion-tint:   rgba(119,12,136,0.10);
  --brand-aranidhi-tint:   rgba(255,202,17,0.12);
  --brand-ruler-tint:      rgba(0,85,187,0.10);
  --brand-neofairs-tint:   rgba(33,195,110,0.10);
  /* ── Typography tokens ── */
  --font-primary: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-serif:   'Source Serif 4', 'Georgia', 'Times New Roman', serif;
  /* Override Bootstrap CSS variables so var(--bs-font-sans-serif)
     in any compiled theme CSS picks up Poppins automatically. */
  --bs-font-sans-serif:  var(--font-primary);
  --bs-font-serif:       var(--font-serif);
  --bs-body-font-family: var(--font-primary);
  /* ── Shared UI tokens ── */
  --btn-radius:      50px;
  --btn-transition:  transform 0.42s cubic-bezier(0.77,0,0.175,1),
                     border-radius 0.42s cubic-bezier(0.77,0,0.175,1);
  --card-transition: border-color .25s ease, box-shadow .25s ease;
}
/* ─────────────────────────────────────────────────────────────────
   §2  TYPOGRAPHY
   ───────────────────────────────────────────────────────────────── */
body {
  font-family: var(--font-primary) !important;
  font-size:   1rem;
  line-height: 1.6;
}
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
  font-family:    var(--font-primary) !important;
  font-weight:    600;
  letter-spacing: -0.01em;
}
/* theme-serif.min.css hardcodes Source Serif 4 on .display-* — override */
.display-1,.display-2,.display-3,
.display-4,.display-5,.display-6 {
  font-family:    var(--font-primary) !important;
  font-weight:    700;
  letter-spacing: -0.02em;
}
.lead,.navbar,.btn,.badge,
.nav-link,.dropdown-item,
label,.form-label,.form-control,
.small,small {
  font-family: var(--font-primary) !important;
}
/* theme-serif hardcodes serif on master-slider titles — override */
.ms-layer.ms-title,
.ms-layer.ms-title-alt {
  font-family: var(--font-primary) !important;
}
/* Opt-in serif (pull-quotes, editorial accents only) */
.font-serif { font-family: var(--font-serif) !important; }
/* Font-size scale */
h1,.h1 { font-size: clamp(1.75rem,4vw,2.5rem); }
h2,.h2 { font-size: clamp(1.5rem,3vw,2rem); }
h3,.h3 { font-size: clamp(1.25rem,2.5vw,1.75rem); }
h4,.h4 { font-size: clamp(1.1rem,2vw,1.5rem); }
h5,.h5 { font-size: 1.125rem; }
h6,.h6 { font-size: 1rem; }
.display-1 { font-size: clamp(3rem,7vw,5rem); }
.display-2 { font-size: clamp(2.5rem,6vw,4.5rem); }
.display-3 { font-size: clamp(2rem,5vw,4rem); }
.display-4 { font-size: clamp(1.75rem,4vw,3.5rem); }
.display-5 { font-size: clamp(1.5rem,3vw,3rem); }
.display-6 { font-size: clamp(1.25rem,2.5vw,2.375rem); }
/* ─────────────────────────────────────────────────────────────────
   §3  BRAND PRIMARY — per-page Bootstrap color system override
   ───────────────────────────────────────────────────────────────── */
/* Ruler — confident blue */
body.page-ruler {
  --bs-primary:          #0055bb;
  --bs-primary-rgb:      0,85,187;
  --bs-link-color:       #0055bb;
  --bs-link-hover-color: #003e8c;
  --bs-focus-ring-color: rgba(0,85,187,.25);
}
body.page-ruler .btn-primary         { --bs-btn-color:#fff; --bs-btn-bg:#0055bb; --bs-btn-border-color:#0055bb; --bs-btn-hover-bg:#003e8c; --bs-btn-hover-border-color:#003e8c; --bs-btn-active-bg:#003e8c; }
body.page-ruler .btn-outline-primary { --bs-btn-color:#0055bb; --bs-btn-border-color:#0055bb; --bs-btn-hover-bg:#0055bb; --bs-btn-hover-color:#fff; }
body.page-ruler .text-primary        { color:#0055bb !important; }
body.page-ruler .bg-primary          { background-color:#0055bb !important; }
body.page-ruler .border-primary      { border-color:#0055bb !important; }
body.page-ruler .bg-primary-subtle   { background-color:rgba(0,85,187,.10) !important; }
body.page-ruler .bg-gradient-primary { background:linear-gradient(135deg,#0055bb 0%,#003e8c 100%) !important; }
body.page-ruler .fill-primary        { fill:#0055bb !important; }
body.page-ruler .text-success,
body.page-ruler .text-warning,
body.page-ruler .text-info           { color:var(--brand-ruler) !important; }
body.page-ruler .btn-success,
body.page-ruler .btn-warning,
body.page-ruler .btn-info            { background:var(--brand-ruler) !important; border-color:var(--brand-ruler) !important; color:#fff !important; }
/* Aranidhi — golden amber (dark text on yellow) */
body.page-aranidhi {
  --bs-primary:          #ffca11;
  --bs-primary-rgb:      255,202,17;
  --bs-link-color:       #9a7900;
  --bs-link-hover-color: #7a6000;
  --bs-focus-ring-color: rgba(255,202,17,.35);
}
body.page-aranidhi .btn-primary         { --bs-btn-color:#111; --bs-btn-bg:#ffca11; --bs-btn-border-color:#ffca11; --bs-btn-hover-bg:#b8920a; --bs-btn-hover-border-color:#b8920a; --bs-btn-hover-color:#fff; --bs-btn-active-bg:#b8920a; --bs-btn-active-color:#fff; }
body.page-aranidhi .btn-outline-primary { --bs-btn-color:#fff; --bs-btn-border-color:#ffca11; --bs-btn-hover-bg:#ffca11; --bs-btn-hover-color:#111; --bs-btn-active-color:#111; }
body.page-aranidhi .text-primary        { color:#9a7900 !important; }
body.page-aranidhi .bg-primary          { background-color:#ffca11 !important; color:#111 !important; }
body.page-aranidhi .border-primary      { border-color:#ffca11 !important; }
body.page-aranidhi .bg-primary-subtle   { background-color:rgba(255,202,17,.12) !important; }
body.page-aranidhi .bg-gradient-primary { background:linear-gradient(135deg,#ffca11 0%,#d4a800 100%) !important; }
body.page-aranidhi .fill-primary        { fill:#ffca11 !important; }
body.page-aranidhi .spinner-loader      { background-color:#ffca11 !important; color:#111 !important; }
body.page-aranidhi .text-success,
body.page-aranidhi .text-warning,
body.page-aranidhi .text-info           { color:var(--brand-aranidhi) !important; }
body.page-aranidhi .btn-success,
body.page-aranidhi .btn-warning,
body.page-aranidhi .btn-info            { background:var(--brand-aranidhi) !important; border-color:var(--brand-aranidhi) !important; color:#fff !important; }
/* Mayvrion — deep purple */
body.page-mayvrion {
  --bs-primary:          #770c88;
  --bs-primary-rgb:      119,12,136;
  --bs-link-color:       #770c88;
  --bs-link-hover-color: #5e0a6e;
  --bs-focus-ring-color: rgba(119,12,136,.25);
}
body.page-mayvrion .btn-primary         { --bs-btn-color:#fff; --bs-btn-bg:#770c88; --bs-btn-border-color:#770c88; --bs-btn-hover-bg:#5e0a6e; --bs-btn-hover-border-color:#5e0a6e; --bs-btn-active-bg:#5e0a6e; }
body.page-mayvrion .btn-outline-primary { --bs-btn-color:#770c88; --bs-btn-border-color:#770c88; --bs-btn-hover-bg:#770c88; --bs-btn-hover-color:#fff; }
body.page-mayvrion .text-primary        { color:#770c88 !important; }
body.page-mayvrion .bg-primary          { background-color:#770c88 !important; }
body.page-mayvrion .border-primary      { border-color:#770c88 !important; }
body.page-mayvrion .bg-primary-subtle   { background-color:rgba(119,12,136,.10) !important; }
body.page-mayvrion .bg-gradient-primary { background:linear-gradient(135deg,#770c88 0%,#5e0a6e 100%) !important; }
body.page-mayvrion .fill-primary        { fill:#770c88 !important; }
body.page-mayvrion .text-success,
body.page-mayvrion .text-warning,
body.page-mayvrion .text-info           { color:var(--brand-mayvrion) !important; }
body.page-mayvrion .btn-success,
body.page-mayvrion .btn-warning,
body.page-mayvrion .btn-info            { background:var(--brand-mayvrion) !important; border-color:var(--brand-mayvrion) !important; color:#fff !important; }
/* NeoFairs — growth green */
body.page-neofairs {
  --bs-primary:          #21c36e;
  --bs-primary-rgb:      33,195,110;
  --bs-link-color:       #21c36e;
  --bs-link-hover-color: #189e58;
  --bs-focus-ring-color: rgba(33,195,110,.25);
}
body.page-neofairs .btn-primary         { --bs-btn-color:#fff; --bs-btn-bg:#21c36e; --bs-btn-border-color:#21c36e; --bs-btn-hover-bg:#189e58; --bs-btn-hover-border-color:#189e58; --bs-btn-active-bg:#189e58; }
body.page-neofairs .btn-outline-primary { --bs-btn-color:#21c36e; --bs-btn-border-color:#21c36e; --bs-btn-hover-bg:#21c36e; --bs-btn-hover-color:#fff; }
body.page-neofairs .text-primary        { color:#21c36e !important; }
body.page-neofairs .bg-primary          { background-color:#21c36e !important; }
body.page-neofairs .border-primary      { border-color:#21c36e !important; }
body.page-neofairs .bg-primary-subtle   { background-color:rgba(33,195,110,.10) !important; }
body.page-neofairs .bg-gradient-primary { background:linear-gradient(135deg,#21c36e 0%,#189e58 100%) !important; }
body.page-neofairs .fill-primary        { fill:#21c36e !important; }
body.page-neofairs .text-success,
body.page-neofairs .text-warning,
body.page-neofairs .text-info           { color:var(--brand-neofairs) !important; }
body.page-neofairs .btn-success,
body.page-neofairs .btn-warning,
body.page-neofairs .btn-info            { background:var(--brand-neofairs) !important; border-color:var(--brand-neofairs) !important; color:#fff !important; }
/* Agastron — conglomerate gold accent */
body.page-agastron {
  --bs-primary:          #c9973b;
  --bs-primary-rgb:      201,151,59;
  --bs-link-color:       #c9973b;
  --bs-link-hover-color: #a87c2e;
  --bs-focus-ring-color: rgba(201,151,59,.25);
}
body.page-agastron .btn-primary         { --bs-btn-color:#fff; --bs-btn-bg:#c9973b; --bs-btn-border-color:#c9973b; --bs-btn-hover-bg:#a87c2e; --bs-btn-hover-border-color:#a87c2e; --bs-btn-active-bg:#a87c2e; }
body.page-agastron .btn-outline-primary { --bs-btn-color:#c9973b; --bs-btn-border-color:#c9973b; --bs-btn-hover-bg:#c9973b; --bs-btn-hover-color:#fff; }
body.page-agastron .text-primary        { color:#c9973b !important; }
body.page-agastron .bg-primary          { background-color:#c9973b !important; }
body.page-agastron .border-primary      { border-color:#c9973b !important; }
body.page-agastron .bg-primary-subtle   { background-color:rgba(201,151,59,.10) !important; }
body.page-agastron .bg-gradient-primary { background:linear-gradient(135deg,#c9973b 0%,#a87c2e 100%) !important; }
body.page-agastron .fill-primary        { fill:#c9973b !important; }
body.page-agastron .text-success        { color:var(--brand-neofairs) !important; }
body.page-agastron .text-warning        { color:var(--brand-aranidhi) !important; }
body.page-agastron .text-info           { color:var(--brand-ruler)    !important; }
body.page-agastron .page-hero           { background-color:var(--brand-agastron); }
/* ─────────────────────────────────────────────────────────────────
   §4  BUTTONS — shape · rise effect · brand variants · dark mode
   ───────────────────────────────────────────────────────────────── */
/* Universal shape + rise setup (single merged .btn rule) */
.btn {
  font-family:   var(--font-primary) !important;
  border-radius: var(--btn-radius) !important;
  overflow:      hidden !important;
  position:      relative !important;
  z-index:       0 !important;
}
.btn[class*="btn-outline-"] { border-width: 1.5px !important; }
/* Rising fill blob — z-index:-1 keeps it above the btn background
   but BELOW inline text/icons (which paint at step 5 in stacking order) */
.btn::before {
  content:        '';
  display:        block;
  width:          140%;
  height:         200%;
  position:       absolute;
  top:  50%; left: 50%;
  pointer-events: none;
  transform:      translate(-50%, 60%);
  border-radius:  50%;
  transition:     transform 0.42s cubic-bezier(0.77,0,0.175,1),
                  border-radius 0.42s cubic-bezier(0.77,0,0.175,1);
  z-index:        -1;
}
.btn:hover:not(:disabled):not(.disabled)::before,
.btn:focus:not(:disabled):not(.disabled)::before {
  transform:     translate(-50%, -50%);
  border-radius: 0;
}
/* Blob color — solid variants */
.btn-primary::before   { background-color: color-mix(in srgb, var(--bs-primary)   60%, black); }
.btn-secondary::before { background-color: color-mix(in srgb, var(--bs-secondary) 80%, black); }
.btn-success::before   { background-color: color-mix(in srgb, var(--bs-success)   80%, black); }
.btn-danger::before    { background-color: color-mix(in srgb, var(--bs-danger)    80%, black); }
.btn-warning::before   { background-color: color-mix(in srgb, var(--bs-warning)   80%, black); }
.btn-info::before      { background-color: color-mix(in srgb, var(--bs-info)      80%, black); }
.btn-dark::before      { background-color: color-mix(in srgb, var(--bs-dark)      80%, black); }
.btn-light::before,
.btn-white::before     { background-color: rgba(0,0,0,0.08); }
/* Aranidhi: primary blob must be dark enough for white text */
body.page-aranidhi .btn-primary::before { background-color: #8a6800; }
/* Blob color — outline variants */
.btn-outline-primary::before   { background-color: var(--bs-primary);   }
.btn-outline-secondary::before { background-color: var(--bs-secondary); }
.btn-outline-success::before   { background-color: var(--bs-success);   }
.btn-outline-danger::before    { background-color: var(--bs-danger);    }
.btn-outline-warning::before   { background-color: var(--bs-warning);   }
.btn-outline-info::before      { background-color: var(--bs-info);      }
.btn-outline-dark::before      { background-color: var(--bs-dark);      }
.btn-outline-light::before,
.btn-outline-white::before     { background-color: rgba(255,255,255,0.95); }
/* Keep bg transparent on hover — blob provides the fill */
.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-danger:hover,
.btn-outline-warning:hover,
.btn-outline-info:hover,
.btn-outline-dark:hover  { background-color: transparent !important; }
.btn-outline-light:hover,
.btn-outline-white:hover { background-color: transparent !important; color:#0a0a0a !important; }
/* Aranidhi outline: light mode → dark amber text (readable on white/gray bg);
   dark mode → white text (readable on dark bg). Gold border always. */
body.page-aranidhi .btn-outline-primary                        { color: #7a5a00 !important; border-color: #ffca11 !important; }
body.page-aranidhi .btn-outline-primary:hover,
body.page-aranidhi .btn-outline-primary:focus                  { color: #111 !important; background-color: #ffca11 !important; }
[data-bs-theme="dark"] body.page-aranidhi .btn-outline-primary { color: #fff !important; }
[data-bs-theme="dark"] body.page-aranidhi .btn-outline-primary:hover,
[data-bs-theme="dark"] body.page-aranidhi .btn-outline-primary:focus { color: #111 !important; }
/* Suppress double blob on .btn-rise elements */
.btn-rise::before { display: none !important; }
.btn-outline-white.btn-rise:hover .btn-rise-text,
.btn-outline-white.btn-rise:focus .btn-rise-text { color:#080713 !important; }
/* ─── Brand CTA Buttons — TWO-LAYER ARCHITECTURE ────────────────────
   PROBLEM: Duplicating behavior per brand means one typo breaks one brand
   inconsistently. The fix: each brand sets 5 token variables (what's unique),
   and TWO rules define ALL behavior for ALL brands.
   LAYER 1: Token variables — what differs per brand (color, text, hover text)
   LAYER 2: Behavior rules  — how buttons look/animate (written ONCE for all)
   To change hover behavior site-wide → edit Layer 2 (2–3 rules).
   To change a brand color            → edit §1 :root tokens only.
   ─────────────────────────────────────────────────────────────────── */
/* ── LAYER 1: Per-brand token variables ── */
.btn-mayvrion, .btn-outline-mayvrion {
  --_c: var(--brand-mayvrion); --_c-dark: var(--brand-mayvrion-dark);
  --_txt: #fff;  --_otxt: var(--brand-mayvrion);  --_htxt: #fff;
}
.btn-aranidhi, .btn-outline-aranidhi {
  --_c: var(--brand-aranidhi); --_c-dark: var(--brand-aranidhi-dark);
  --_txt: #fff;  --_otxt: var(--brand-aranidhi);  --_htxt: #fff;

}
.btn-ruler, .btn-outline-ruler {
  --_c: var(--brand-ruler);    --_c-dark: var(--brand-ruler-dark);
  --_txt: #fff;  --_otxt: var(--brand-ruler);    --_htxt: #fff;
}
.btn-neofairs, .btn-outline-neofairs {
  --_c: var(--brand-neofairs); --_c-dark: var(--brand-neofairs-dark);
  --_txt: #fff;  --_otxt: var(--brand-neofairs); --_htxt: #fff;
}
/* ── LAYER 2a: Solid button behavior — ONE rule for ALL solid brand buttons ── */
.btn-mayvrion, .btn-aranidhi, .btn-ruler, .btn-neofairs {
  --bs-btn-color:              var(--_txt);
  --bs-btn-bg:                 var(--_c);
  --bs-btn-border-color:       var(--_c);
  --bs-btn-hover-color:        var(--_txt);
  --bs-btn-hover-bg:           var(--_c-dark);
  --bs-btn-hover-border-color: var(--_c-dark);
  --bs-btn-active-color:       var(--_txt);
  --bs-btn-active-bg:          var(--_c-dark);
  background-color: var(--_c);
  border-color:     var(--_c);
  color:            var(--_txt);
}
/* ── LAYER 2b: Outline button behavior — ONE rule for ALL outline brand buttons ── */
/* --bs-btn-hover-bg: transparent keeps bg clear so the ::before blob shows through */
.btn-outline-mayvrion, .btn-outline-aranidhi,
.btn-outline-ruler,    .btn-outline-neofairs {
  --bs-btn-color:              var(--_otxt);
  --bs-btn-bg:                 transparent;
  --bs-btn-border-color:       var(--_c);
  --bs-btn-hover-color:        var(--_htxt);
  --bs-btn-hover-bg:           transparent;
  --bs-btn-hover-border-color: var(--_c);
  --bs-btn-active-color:       var(--_htxt);
  --bs-btn-active-bg:          var(--_c);
  border:     2px solid var(--_c);
  color:      var(--_otxt);
  background: transparent;
}
/* ── LAYER 2c: Rise blob — ONE rule for ALL outline brand buttons ── */
.btn-outline-mayvrion::before, .btn-outline-aranidhi::before,
.btn-outline-ruler::before,    .btn-outline-neofairs::before {
  background-color: var(--_c);
}
/* Dark mode — only aranidhi (yellow brand) needs an explicit nudge */
[data-bs-theme="dark"] .btn-aranidhi         { color: #111 !important; }
[data-bs-theme="dark"] .btn-outline-aranidhi { color: #fff !important; }
/* ─────────────────────────────────────────────────────────────────
   §5  BADGES — brand colors, light + dark mode
   ───────────────────────────────────────────────────────────────── */
.badge-mayvrion { background-color:var(--brand-mayvrion-tint) !important; color:var(--brand-mayvrion) !important; border:1px solid rgba(119,12,136,.25); font-weight:600; }
.badge-aranidhi { background-color:var(--brand-aranidhi-tint) !important; color:var(--brand-aranidhi) !important; border:1px solid rgba(255,202,17,.35); font-weight:600; }
.badge-ruler    { background-color:var(--brand-ruler-tint)    !important; color:var(--brand-ruler)    !important; border:1px solid rgba(0,85,187,.25); font-weight:600; }
.badge-neofairs { background-color:var(--brand-neofairs-tint) !important; color:#15864c !important; border:1px solid rgba(33,195,110,.25); font-weight:600; }
[data-bs-theme="dark"] .badge-mayvrion { background-color:rgba(119,12,136,0.25) !important; color:#d47ee0 !important; border-color:rgba(119,12,136,.45); }
[data-bs-theme="dark"] .badge-aranidhi { background-color:rgba(255,202,17,0.20) !important; color:#f5d55a !important; border-color:rgba(255,202,17,.40); }
[data-bs-theme="dark"] .badge-ruler    { background-color:rgba(0,85,187,0.25)   !important; color:#6aa4f8 !important; border-color:rgba(0,85,187,.45); }
[data-bs-theme="dark"] .badge-neofairs { background-color:rgba(33,195,110,0.20) !important; color:#5de8a0 !important; border-color:rgba(33,195,110,.40); }
/* ─────────────────────────────────────────────────────────────────
   §6  CARDS & SWIPER
   ───────────────────────────────────────────────────────────────── */
.engine-card-mayvrion { transition:var(--card-transition); }
.engine-card-mayvrion:hover { border-color:var(--brand-mayvrion) !important; box-shadow:0 8px 32px rgba(119,12,136,.14) !important; }
.engine-card-aranidhi { transition:var(--card-transition); }
.engine-card-aranidhi:hover { border-color:var(--brand-aranidhi) !important; box-shadow:0 8px 32px rgba(255,202,17,.28) !important; }
.engine-card-ruler    { transition:var(--card-transition); }
.engine-card-ruler:hover    { border-color:var(--brand-ruler)    !important; box-shadow:0 8px 32px rgba(0,85,187,.14)   !important; }
.engine-card-neofairs { transition:var(--card-transition); }
.engine-card-neofairs:hover { border-color:var(--brand-neofairs) !important; box-shadow:0 8px 32px rgba(33,195,110,.14) !important; }
.swiper-slide[data-slide-brand] .swiper-pagination-progress-bar       { background:rgba(255,255,255,0.18); border-radius:4px; }
.swiper-slide[data-slide-brand] .swiper-pagination-progress-bar-inner { background-color:var(--slide-brand-color,#fff) !important; border-radius:4px; }
.swiper-slide-thumb-active[data-slide-brand] .small                   { color:var(--slide-brand-color,#fff); font-weight:600; }
/* All-brand gradient stripe */
.brand-gradient-bar {
  height: 4px;
  background: linear-gradient(to right,
    var(--brand-ruler)    0%   25%,
    var(--brand-aranidhi) 25%  50%,
    var(--brand-mayvrion) 50%  75%,
    var(--brand-neofairs) 75% 100%);
}
/* ─────────────────────────────────────────────────────────────────
   §7  NAVBAR
   a) transparent / not scrolled  → white links (hero beneath)
   b) sticky + light theme        → dark links
   c) sticky + dark theme         → light links
   ───────────────────────────────────────────────────────────────── */
header.header-transparent:not(.is-sticky):not(.scroll-up) .navbar {
  --bs-navbar-color:                rgba(255,255,255,0.88) !important;
  --bs-navbar-hover-color:          rgba(255,255,255,1)    !important;
  --bs-navbar-active-color:         rgba(255,255,255,1)    !important;
  --bs-navbar-disabled-color:       rgba(255,255,255,0.4)  !important;
  --bs-navbar-toggler-border-color: rgba(255,255,255,0.3)  !important;
}
header.header-transparent:not(.is-sticky):not(.scroll-up) .navbar .nav-link        { color:rgba(255,255,255,0.88) !important; }
header.header-transparent:not(.is-sticky):not(.scroll-up) .navbar .nav-link:hover,
header.header-transparent:not(.is-sticky):not(.scroll-up) .navbar .nav-link:focus,
header.header-transparent:not(.is-sticky):not(.scroll-up) .navbar .nav-link.active { color:#ffffff !important; }
header.header-transparent:not(.is-sticky):not(.scroll-up) .navbar .dropdown-toggle::after { border-top-color:rgba(255,255,255,0.88); }
[data-bs-theme="light"] header.header-transparent.is-sticky .navbar,
[data-bs-theme="light"] header.header-transparent.scroll-up .navbar {
  --bs-navbar-color:        rgba(0,0,0,0.65) !important;
  --bs-navbar-hover-color:  rgba(0,0,0,0.9)  !important;
  --bs-navbar-active-color: rgba(0,0,0,1)    !important;
}
[data-bs-theme="light"] header.header-transparent.is-sticky .navbar .nav-link,
[data-bs-theme="light"] header.header-transparent.scroll-up .navbar .nav-link        { color:rgba(0,0,0,0.65) !important; }
[data-bs-theme="light"] header.header-transparent.is-sticky .navbar .nav-link:hover,
[data-bs-theme="light"] header.header-transparent.scroll-up .navbar .nav-link:hover,
[data-bs-theme="light"] header.header-transparent.is-sticky .navbar .nav-link.active,
[data-bs-theme="light"] header.header-transparent.scroll-up .navbar .nav-link.active { color:rgba(0,0,0,0.9) !important; }
[data-bs-theme="dark"] header.header-transparent.is-sticky .navbar,
[data-bs-theme="dark"] header.header-transparent.scroll-up .navbar {
  --bs-navbar-color:        rgba(255,255,255,0.85) !important;
  --bs-navbar-hover-color:  rgba(255,255,255,1)    !important;
  --bs-navbar-active-color: rgba(255,255,255,1)    !important;
}
[data-bs-theme="dark"] header.header-transparent.is-sticky .navbar .nav-link,
[data-bs-theme="dark"] header.header-transparent.scroll-up .navbar .nav-link       { color:rgba(255,255,255,0.85) !important; }
[data-bs-theme="dark"] header.header-transparent.is-sticky .navbar .nav-link:hover,
[data-bs-theme="dark"] header.header-transparent.scroll-up .navbar .nav-link:hover { color:#ffffff !important; }
header .navbar .dropdown-menu .dropdown-item       { color:var(--bs-dropdown-link-color)       !important; }
header .navbar .dropdown-menu .dropdown-item:hover,
header .navbar .dropdown-menu .dropdown-item:focus { color:var(--bs-dropdown-link-hover-color) !important; }
.navbar-link-white { /* legacy alias — intentionally empty */ }
.navbar-brand { position:relative !important; height:56px !important; display:block !important; }
.navbar-brand .navbar-brand-sticky,
.navbar-brand .navbar-brand-transparent { width:auto !important; height:56px !important; max-width:none !important; }
/* ─────────────────────────────────────────────────────────────────
   §8  PAGE HERO
   ───────────────────────────────────────────────────────────────── */
.page-hero { position:relative; overflow:hidden; background-color:var(--bs-tertiary-bg); }
.page-hero .page-hero-inner { padding-top:5rem; padding-bottom:5rem; }
@media (min-width:992px) { .page-hero .page-hero-inner { padding-top:7rem; } }
.page-hero-subtitle {
  font-size:0.8125rem; font-weight:600; text-transform:uppercase;
  letter-spacing:0.08em; margin-bottom:0.75rem;
  color:var(--bs-secondary-color);
}
/* ─────────────────────────────────────────────────────────────────
   §9  DROPDOWNS — active item brand accent
   ───────────────────────────────────────────────────────────────── */
.navbar .dropdown-menu .dropdown-item.active,
.navbar .dropdown-menu .dropdown-item:active { background-color:transparent; color:inherit; }
body.page-ruler .navbar .dropdown-menu .dropdown-item.active    { border-left:3px solid var(--brand-ruler);        padding-left:calc(var(--bs-dropdown-item-padding-x) - 3px); color:var(--brand-ruler)        !important; background-color:rgba(0,85,187,.06)   !important; }
body.page-ruler .navbar .dropdown-menu .dropdown-item.active .fw-semibold    { color:var(--brand-ruler) !important; }
body.page-aranidhi .navbar .dropdown-menu .dropdown-item.active { border-left:3px solid var(--brand-aranidhi-dark); padding-left:calc(var(--bs-dropdown-item-padding-x) - 3px); color:#9a7900                   !important; background-color:rgba(255,202,17,.10) !important; }
body.page-aranidhi .navbar .dropdown-menu .dropdown-item.active .fw-semibold { color:#9a7900 !important; }
body.page-mayvrion .navbar .dropdown-menu .dropdown-item.active { border-left:3px solid var(--brand-mayvrion);     padding-left:calc(var(--bs-dropdown-item-padding-x) - 3px); color:var(--brand-mayvrion)     !important; background-color:rgba(119,12,136,.07) !important; }
body.page-mayvrion .navbar .dropdown-menu .dropdown-item.active .fw-semibold { color:var(--brand-mayvrion) !important; }
body.page-neofairs .navbar .dropdown-menu .dropdown-item.active { border-left:3px solid var(--brand-neofairs);    padding-left:calc(var(--bs-dropdown-item-padding-x) - 3px); color:var(--brand-neofairs)    !important; background-color:rgba(33,195,110,.07) !important; }
body.page-neofairs .navbar .dropdown-menu .dropdown-item.active .fw-semibold { color:var(--brand-neofairs) !important; }
body.page-agastron .navbar .dropdown-menu .dropdown-item.active,
body:not([class*="page-"]) .navbar .dropdown-menu .dropdown-item.active       { border-left:3px solid var(--brand-agastron-gold); padding-left:calc(var(--bs-dropdown-item-padding-x) - 3px); color:var(--brand-agastron-gold) !important; background-color:rgba(201,151,59,.07) !important; }
body.page-agastron .navbar .dropdown-menu .dropdown-item.active .fw-semibold,
body:not([class*="page-"]) .navbar .dropdown-menu .dropdown-item.active .fw-semibold { color:var(--brand-agastron-gold) !important; }
/* ─────────────────────────────────────────────────────────────────
   §10  DARK MODE — text, headings, icons
   ───────────────────────────────────────────────────────────────── */
[data-bs-theme="dark"] p,
[data-bs-theme="dark"] small,
[data-bs-theme="dark"] .small               { color:rgba(255,255,255,0.80); }
[data-bs-theme="dark"] .text-body-secondary { color:rgba(255,255,255,0.65) !important; }
[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6                   { color:#ffffff; }
/* Icons stay readable — inherit color from parent */
[data-bs-theme="dark"] .bi,
[data-bs-theme="dark"] [class^="icon-"],
[data-bs-theme="dark"] [class*=" icon-"]    { color:inherit; }
/* Icons inside buttons/badges inherit the container's color */
[data-bs-theme="dark"] .btn .bi,
[data-bs-theme="dark"] .badge .bi,
[data-bs-theme="dark"] .btn [class^="icon-"],
[data-bs-theme="dark"] .badge [class^="icon-"] { color:inherit !important; }
/* SVG fills */
[data-bs-theme="dark"] .fill-primary        { fill:var(--bs-primary) !important; }
/* ─────────────────────────────────────────────────────────────────
   §11  UTILITY CLASSES
   ───────────────────────────────────────────────────────────────── */
.text-mayvrion      { color:var(--brand-mayvrion)      !important; }
.text-aranidhi      { color:var(--brand-aranidhi)      !important; }
.text-ruler         { color:var(--brand-ruler)         !important; }
.text-neofairs      { color:var(--brand-neofairs)      !important; }
.text-agastron      { color:var(--brand-agastron)      !important; }
.text-agastron-gold { color:var(--brand-agastron-gold) !important; }
.bg-mayvrion     { background-color:var(--brand-mayvrion)  !important; color:#fff !important; }
.bg-aranidhi     { background-color:var(--brand-aranidhi)  !important; color:#111 !important; }
.bg-ruler        { background-color:var(--brand-ruler)     !important; color:#fff !important; }
.bg-neofairs     { background-color:var(--brand-neofairs)  !important; color:#fff !important; }
.bg-agastron     { background-color:var(--brand-agastron)  !important; color:#fff !important; }
.bg-mayvrion-tint { background-color:var(--brand-mayvrion-tint) !important; }
.bg-aranidhi-tint { background-color:var(--brand-aranidhi-tint) !important; }
.bg-ruler-tint    { background-color:var(--brand-ruler-tint)    !important; }
.bg-neofairs-tint { background-color:var(--brand-neofairs-tint) !important; }
.border-mayvrion  { border-color:var(--brand-mayvrion)  !important; }
.border-aranidhi  { border-color:var(--brand-aranidhi)  !important; }
.border-ruler     { border-color:var(--brand-ruler)     !important; }
.border-neofairs  { border-color:var(--brand-neofairs)  !important; }
