@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Sora:wght@500;600;700;800&display=swap');
/* ======================================================
   REXERA FINANCIAL SERVICES — DESIGN SYSTEM
   ====================================================== */

:root {
  /* --- Color tokens --- */
  --void: #080D18;
  --navy: #0D1528;
  --navy-elev: #16213B;
  --navy-elev-2: #1C2A47;
  --line-dark: rgba(255, 255, 255, 0.09);
  --line-dark-strong: rgba(255, 255, 255, 0.16);

  --orange: #D68B24;
  --orange-bright: #D68B24;
  --orange-glow: rgba(214, 139, 36, 0.18);
  --orange-glow-soft: rgba(214, 139, 36, 0.08);

  --paper: #F7F9FC;
  --paper-alt: #EEF1F6;
  --card: #FFFFFF;
  --line-light: rgba(16, 22, 37, 0.09);

  --ink: #101625;
  --ink-soft: #5B6472;
  --ink-faint: #8A93A3;
  --on-dark: #F3F5FA;
  --on-dark-soft: #9AA5B8;

  --success: #1E9A6C;

  /* --- Type --- */
  --font-head: 'Sora', 'Segoe UI', sans-serif;
  --font-body: 'DM Sans', 'Segoe UI', sans-serif;

  /* --- Layout --- */
  --maxw: 1240px;
  --pad: 32px;
  --radius-s: 10px;
  --radius-m: 16px;
  --radius-l: 24px;
}

@media (max-width: 640px) {
  :root {
    --pad: 20px;
  }
}

/* --- Dark theme token remap (driven by body.dark-theme, toggled via #themeToggleBtn) --- */
body.dark-theme {
  --paper: var(--void);
  --paper-alt: var(--navy);
  --card: var(--navy-elev);
  --line-light: var(--line-dark);
  --ink: var(--on-dark);
  --ink-soft: var(--on-dark-soft);
  --ink-faint: var(--on-dark-soft);
}

body.dark-theme {
  background: var(--paper);
  color: var(--ink);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  overflow-x: clip;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

body {
  margin: 0;
  padding-top: 86px !important;
  font-family: var(--font-body);
  background: var(--paper);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
  overflow-x: hidden;
  overflow-x: clip;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

button {
  font-family: inherit;
}

.wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--pad);
}

/* --- Typography scale --- */
h1,
h2,
h3,
h4 {
  font-family: var(--font-head);
  margin: 0;
  letter-spacing: -0.015em;
  font-weight: 800;
}

h1 {
  font-size: clamp(2.6rem, 5vw, 4.4rem);
  line-height: 1.05;
}

h2 {
  font-size: clamp(1.9rem, 3.2vw, 2.9rem);
  line-height: 1.12;
}

h3 {
  font-size: 1.3rem;
  line-height: 1.3;
  font-weight: 750;
}

p {
  margin: 0;
}

.lede {
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--ink-soft);
  max-width: 52ch;
}

.section-dark .lede {
  color: var(--on-dark-soft);
}

.small-label {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--orange);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

.small-label::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orange);
  flex-shrink: 0;
}

/* --- Section rhythm --- */
.section {
  padding: 96px 0;
  position: relative;
}

@media (max-width:720px) {
  .section {
    padding: 64px 0;
  }
}

.section-dark {
  background: var(--navy);
  color: var(--on-dark);
}

.section-void {
  background:
    radial-gradient(ellipse 900px 480px at 15% 0%, var(--orange-glow-soft), transparent 60%),
    var(--void);
  color: var(--on-dark);
}

.section-alt {
  background: var(--paper-alt);
}

.grid-overlay {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--line-dark) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-dark) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: 0.5;
  mask-image: radial-gradient(ellipse 75% 65% at 50% 30%, black, transparent 78%);
  pointer-events: none;
}

/* ======================================================
   TOP NEWS TICKER
   ====================================================== */
.top-ticker,
.top-ticker-bar {
  background: #090E1A;
  color: #CBD5E1;
  font-size: 0.8125rem;
  font-weight: 500;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  overflow: hidden;
  height: 38px;
  display: flex;
  align-items: center;
}

.ticker-inner {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--pad);
  position: relative;
}

.ticker-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #F5D061;
  color: #1A170F;
  font-family: var(--font-head);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 3px 10px;
  border-radius: 9999px;
  text-transform: uppercase;
  margin-right: 18px;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(245, 208, 97, 0.3);
  position: relative;
  z-index: 5;
}

.ticker-badge svg {
  width: 12px;
  height: 12px;
  fill: currentColor;
}

.ticker-track,
.ticker-track-wrap {
  display: flex;
  align-items: center;
  gap: 36px;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  flex: 1;
  mask-image: linear-gradient(90deg, transparent 0%, #000 20px, #000 calc(100% - 20px), transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 20px, #000 calc(100% - 20px), transparent 100%);
}

.ticker-content {
  display: inline-flex;
  align-items: center;
  gap: 36px;
  animation: tickerSlide 32s linear infinite;
  will-change: transform;
}

.ticker-track:hover .ticker-content,
.ticker-track-wrap:hover .ticker-content {
  animation-play-state: paused;
}

@keyframes tickerSlide {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #E2E8F0;
  font-size: 0.8125rem;
  font-weight: 500;
}

.ticker-item .dot-sep {
  color: #F59E0B;
  font-size: 1.1rem;
  line-height: 0;
}

/* ======================================================
   FLOATING ISLAND NAVBAR
   ====================================================== */
/* ============ FLOATING ANTI-GRAVITY STICKY NAVBAR ============ */
.nav-wrapper {
  position: fixed !important;
  top: 42px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 9990 !important;
  padding: 0 16px;
  margin: 0 !important;
  width: 92%;
  max-width: 1260px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.nav-island,
.anti-gravity-navbar {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.72) 100%);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50px;
  padding: 5px 8px 5px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 16px 36px -8px rgba(15, 23, 42, 0.16), 0 1px 0 rgba(255, 255, 255, 0.9) inset, 0 4px 16px rgba(15, 23, 42, 0.06);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: visible !important;
}

.nav-island::before,
.anti-gravity-navbar::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 55%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  border-radius: 50px 50px 0 0;
}

.nav-wrapper.is-scrolled .nav-island,
.anti-gravity-navbar.is-scrolled {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.86) 100%);
  backdrop-filter: blur(24px) saturate(190%);
  -webkit-backdrop-filter: blur(24px) saturate(190%);
  border-color: rgba(255, 255, 255, 0.85);
  box-shadow: 0 20px 42px -8px rgba(15, 23, 42, 0.2), 0 1px 0 rgba(255, 255, 255, 0.95) inset, 0 6px 20px rgba(15, 23, 42, 0.08);
}

.brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.95);
  padding: 3px 12px;
  border-radius: 9999px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
  transition: transform 0.2s ease, background 0.2s ease;
}

.brand:hover {
  transform: scale(1.02);
  background: #FFFFFF;
}

.brand-logo-svg {
  height: 24px;
  width: auto;
  display: block;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 20px;
}

.nav-item {
  position: relative;
}

.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-body);
  font-size: 0.84rem;
  font-weight: 550;
  letter-spacing: 0.015em;
  color: #10182B;
  padding: 5px 3px;
  transition: color 0.18s ease, transform 0.18s ease;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}

.nav-link:hover {
  color: #D68B24;
}

.nav-link.active {
  color: #D68B24;
  font-weight: 700;
}

.nav-chevron {
  width: 10px;
  height: 10px;
  transition: transform 0.2s ease;
  color: #64748B;
  opacity: 0.75;
}

.nav-item:hover .nav-chevron {
  transform: rotate(180deg);
  color: #D68B24;
  opacity: 1;
}

/* Nav Dropdown Menu */
.nav-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(12px);
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 18px;
  padding: 12px;
  min-width: 240px;
  box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.14), 0 4px 12px rgba(0, 0, 0, 0.04);
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  z-index: 150;
}

.nav-item:hover .nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(6px);
  pointer-events: auto;
}

.nav-dropdown-wide {
  min-width: 640px;
  max-width: 720px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 12px;
  padding: 18px 20px;
}

.dropdown-header-tag {
  grid-column: span 2;
  font-family: var(--font-head);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #D68B24;
  padding: 4px 10px 10px;
  border-bottom: 1px solid #F1F5F9;
  margin-bottom: 6px;
}

body.dark-theme .dropdown-header-tag {
  border-bottom-color: #1E293B;
}

.dropdown-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.18s ease;
}

.dropdown-item:hover {
  background: #F8FAFC;
  transform: translateX(3px);
}

body.dark-theme .dropdown-item:hover {
  background: #1E293B;
}

.dropdown-icon-box {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s ease;
}

body.dark-theme .dropdown-icon-box {
  background: #19263E;
  border-color: #2D3F66;
}

.dropdown-item:hover .dropdown-icon-box {
  transform: scale(1.08);
}

.dropdown-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.dropdown-title {
  font-family: var(--font-head);
  font-size: 0.86rem;
  font-weight: 700;
  color: #0F172A;
  line-height: 1.25;
}

body.dark-theme .dropdown-title {
  color: #F8FAFC;
}

.dropdown-desc {
  font-size: 0.72rem;
  color: #64748B;
  margin-top: 2px;
}

body.dark-theme .dropdown-desc {
  color: #94A3B8;
}

/* ======================================================
   SERVICES MEGA MENU DROPDOWN (MATCHING USER SCREENSHOT)
   ====================================================== */
.nav-island {
  position: relative;
}

.mega-services-dropdown {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(10px) !important;
  width: 860px !important;
  max-width: 95vw !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 24px !important;
  padding: 24px 28px !important;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.03) !important;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  pointer-events: none;
  z-index: 999 !important;
}

body.dark-theme .mega-services-dropdown {
  background: #0D1528 !important;
  border-color: #1E293B !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6) !important;
}

.nav-item:hover .mega-services-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
  pointer-events: auto !important;
}

.mega-dropdown-grid {
  display: flex;
  gap: 28px;
  align-items: stretch;
}

/* Headers */
.mega-col-header {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 800;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
}

body.dark-theme .mega-col-header {
  color: #94A3B8;
}

.mega-header-bar {
  width: 3px;
  height: 12px;
  border-radius: 2px;
  background: #E11D48;
}

/* Left Column: Business Funding Box */
.mega-funding-col {
  flex: 0 0 240px;
}

.mega-funding-card-box {
  background: #F4F6FB;
  border: 1px solid #EEF2F6;
  border-radius: 20px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: calc(100% - 30px);
}

body.dark-theme .mega-funding-card-box {
  background: #111B2E;
  border-color: #1E293B;
}

.mega-funding-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.mega-funding-item:hover {
  background: #FFFFFF;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  transform: translateX(3px);
}

body.dark-theme .mega-funding-item:hover {
  background: #1E293B;
}

/* Right Column: Our Services */
.mega-services-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.mega-services-2col {
  display: flex;
  gap: 20px;
  flex: 1;
}

.mega-sub-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.mega-vertical-divider {
  width: 1px;
  background: #F1F5F9;
  margin: 4px 0;
}

body.dark-theme .mega-vertical-divider {
  background: #1E293B;
}

.mega-service-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.mega-service-item:hover {
  background: #F8FAFC;
  transform: translateX(3px);
}

body.dark-theme .mega-service-item:hover {
  background: #162036;
}

/* Icon Box Styles */
.mega-icon-box {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s ease;
}

body.dark-theme .mega-icon-box {
  background: #1E293B;
  border-color: #334155;
}

.mega-funding-item:hover .mega-icon-box,
.mega-service-item:hover .mega-icon-box {
  transform: scale(1.08);
}

/* Icon Colors */
.icon-green svg {
  color: #16A34A;
}

.icon-red svg {
  color: #E11D48;
}

.icon-blue svg {
  color: #2563EB;
}

.icon-orange svg {
  color: #D68B24;
}

.icon-yellow svg {
  color: #D97706;
}

.icon-multi svg {
  color: #8B5CF6;
}

.icon-cyan svg {
  color: #0891B2;
}

.icon-indigo svg {
  color: #4F46E5;
}

.icon-teal svg {
  color: #0D9488;
}

/* Item Typography */
.mega-item-info {
  display: flex;
  flex-direction: column;
}

.mega-item-title {
  font-family: var(--font-head);
  font-size: 0.88rem;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.25;
}

body.dark-theme .mega-item-title {
  color: #F8FAFC;
}

.mega-item-desc {
  font-size: 0.72rem;
  color: #64748B;
  margin-top: 2px;
}

body.dark-theme .mega-item-desc {
  color: #94A3B8;
}

/* Bottom Action Row */
.mega-footer-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid #F1F5F9;
}

body.dark-theme .mega-footer-row {
  border-top-color: #1E293B;
}

.mega-view-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 18px;
  border-radius: 9999px;
  border: 1px solid #CBD5E1;
  background: #FFFFFF;
  color: #1E293B;
  font-family: var(--font-body);
  font-size: 0.76rem;
  font-weight: 750;
  text-decoration: none;
  transition: all 0.2s ease;
}

body.dark-theme .mega-view-all-btn {
  background: #162036;
  border-color: #334155;
  color: #F8FAFC;
}

.mega-view-all-btn:hover {
  background: #0F172A;
  color: #FFFFFF;
  border-color: #0F172A;
  transform: translateY(-1px);
}

body.dark-theme .mega-view-all-btn:hover {
  background: #D68B24;
  border-color: #D68B24;
  color: #FFFFFF;
}

/* ======================================================
   SCHEMES & RESOURCES MEGA DROPDOWN PANELS
   ====================================================== */
.mega-dropdown-panel {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(10px) !important;
  width: 980px !important;
  max-width: 95vw !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 24px !important;
  padding: 24px 28px !important;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.03) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  display: block !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  pointer-events: none !important;
  z-index: 999 !important;
}

body.dark-theme .mega-dropdown-panel {
  background: #0D1528 !important;
  border-color: #1E293B !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6) !important;
}

/* Open ONLY when hovering the specific parent nav-item */
.nav-item.mega-nav-item:hover>.mega-dropdown-panel,
.nav-item:hover>.mega-dropdown-panel {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
  pointer-events: auto !important;
}

.mega-panel-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 28px;
  align-items: stretch;
}

.mega-intro-col {
  background: linear-gradient(145deg, #0A192F 0%, #172A46 100%);
  border-radius: 18px;
  padding: 22px 20px;
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 20px -4px rgba(10, 25, 47, 0.4);
}

.mega-intro-col::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(214, 139, 36, 0.25) 0%, transparent 70%);
  pointer-events: none;
}

.mega-intro-tag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  color: #F5C542;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}

.mega-intro-title {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.25;
  color: #FFFFFF;
  margin: 0 0 8px 0;
}

.mega-intro-desc {
  font-size: 0.76rem;
  line-height: 1.5;
  color: #CBD5E1;
  margin: 0 0 16px 0;
}

.mega-intro-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: linear-gradient(90deg, #C9A227 0%, #F5C542 50%, #D4AF37 100%);
  color: #0A192F !important;
  padding: 8px 14px;
  border-radius: 9999px;
  font-family: var(--font-head);
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.35);
  transition: transform 0.2s ease, filter 0.2s ease;
}

.mega-intro-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

.mega-links-col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.mega-groups-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.mega-groups-grid.mega-schemes-groups {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.mega-group-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #475569;
  margin-bottom: 10px;
}

body.dark-theme .mega-group-title {
  color: #94A3B8;
}

.mega-group-bar {
  width: 3px;
  height: 12px;
  border-radius: 2px;
  background: #D68B24;
}

.mega-items-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.mega-link-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.18s ease;
}

.mega-link-item:hover {
  background: #F8FAFC;
  transform: translateX(3px);
}

body.dark-theme .mega-link-item:hover {
  background: #162036;
}

.mega-link-icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #D68B24;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

body.dark-theme .mega-link-icon {
  background: #1E293B;
  border-color: #334155;
  color: #F5C542;
}

.mega-link-item:hover .mega-link-icon {
  transform: scale(1.1);
  background: #EFF6FF;
}

.mega-link-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.mega-link-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  font-family: var(--font-head);
  font-size: 0.82rem;
  font-weight: 750;
  color: #0F172A;
  line-height: 1.25;
}

body.dark-theme .mega-link-heading {
  color: #F8FAFC;
}

.mega-link-arrow {
  font-size: 0.8rem;
  color: #94A3B8;
  opacity: 0;
  transform: translateX(-4px);
  transition: all 0.2s ease;
}

.mega-link-item:hover .mega-link-arrow {
  opacity: 1;
  transform: translateX(0);
  color: #D68B24;
}

.mega-link-sub {
  font-size: 0.70rem;
  color: #64748B;
  margin-top: 2px;
  line-height: 1.3;
}

body.dark-theme .mega-link-sub {
  color: #94A3B8;
}

.mega-panel-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid #F1F5F9;
}

body.dark-theme .mega-panel-bottom {
  border-top-color: #1E293B;
}

.mega-bottom-link {
  font-family: var(--font-body);
  font-size: 0.76rem;
  font-weight: 750;
  color: #D68B24;
  text-decoration: none;
  transition: color 0.18s ease;
}

.mega-bottom-link:hover {
  color: #B87319;
  text-decoration: underline;
}

@media (max-width: 991px) {

  .mega-dropdown-panel,
  .mega-services-dropdown {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Nav Actions (Search, Theme, CTA) */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.icon-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.05);
  border: 1px solid rgba(15, 23, 42, 0.12);
  color: #10182B;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.icon-btn:hover {
  background: rgba(214, 139, 36, 0.1);
  color: #D68B24;
  border-color: rgba(214, 139, 36, 0.4);
  transform: translateY(-1px);
}

.icon-btn svg {
  width: 14px;
  height: 14px;
}

.icon-btn.theme-btn svg {
  color: #D68B24;
}

/* Golden CTA Call Button with Continuous Shine Animation */
.btn-nav-call,
.btn-nav-expert {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: linear-gradient(90deg, #C9A227 0%, #F5C542 40%, #D4AF37 70%, #B8960C 100%) !important;
  border: none;
  border-radius: 9999px;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.015em;
  color: #0A192F !important;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  white-space: nowrap;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.btn-nav-call::after,
.btn-nav-expert::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.65) 50%, transparent 100%);
  animation: goldShine 2.2s linear infinite;
  pointer-events: none;
}

.btn-nav-call:hover,
.btn-nav-expert:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow: 0 6px 18px rgba(212, 175, 55, 0.55);
  color: #0A192F !important;
}

.btn-nav-call svg,
.btn-nav-expert svg {
  width: 12px;
  height: 12px;
  color: #0A192F !important;
  fill: currentColor;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.btn-nav-call:hover svg,
.btn-nav-expert:hover svg {
  transform: scale(1.08);
}

/* Check Eligibility Navbar Button */
.btn-nav-eligibility {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 13px;
  background: rgba(15, 23, 42, 0.04);
  border: 1px solid rgba(15, 23, 42, 0.16);
  border-radius: 9999px;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.015em;
  color: #10182B !important;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  backdrop-filter: blur(8px);
}

.btn-nav-eligibility svg {
  width: 13px;
  height: 13px;
}

.btn-nav-eligibility:hover {
  background: #0D1528;
  border-color: #0D1528;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(13, 21, 40, 0.25);
}

.btn-nav-eligibility svg {
  width: 13px;
  height: 13px;
  color: #D68B24;
  flex-shrink: 0;
  transition: transform 0.2s ease, color 0.2s ease;
}

.btn-nav-eligibility:hover svg {
  color: #FFFFFF;
  transform: scale(1.1);
}

@media (max-width: 1180px) {
  .btn-nav-eligibility span {
    display: none;
  }

  .btn-nav-eligibility {
    padding: 9px 12px;
  }
}

@media (max-width: 980px) {
  .btn-nav-eligibility {
    display: none;
  }
}

/* Floating Quick Eligibility Widget (Bottom Left on desktop) */
.floating-eligibility-pill {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 9998;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 20px;
  background: linear-gradient(135deg, #0A192F 0%, #162444 100%);
  border: 1.5px solid rgba(212, 175, 55, 0.55);
  border-radius: 9999px;
  box-shadow: 0 10px 30px -4px rgba(10, 25, 47, 0.5), 0 4px 14px rgba(212, 175, 55, 0.3);
  color: #FFFFFF !important;
  text-decoration: none;
  font-family: var(--font-head);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
  backdrop-filter: blur(12px);
}

.floating-eligibility-pill:hover {
  transform: translateY(-3px) scale(1.03);
  border-color: #F5C542;
  box-shadow: 0 14px 36px -4px rgba(10, 25, 47, 0.65), 0 6px 22px rgba(212, 175, 55, 0.45);
  color: #FFFFFF !important;
}

.floating-elig-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #10B981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.35);
  animation: eligPulse 2s infinite;
}

@keyframes eligPulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  }

  70% {
    transform: scale(1);
    box-shadow: 0 0 0 7px rgba(16, 185, 129, 0);
  }

  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

.floating-elig-badge {
  background: linear-gradient(135deg, #F6D365 0%, #D4AF37 100%);
  color: #0A192F;
  font-size: 0.70rem;
  font-weight: 850;
  padding: 2px 8px;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

@media (max-width: 980px) {
  .floating-eligibility-pill {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

.nav-toggle {
  display: none;
  background: rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(15, 23, 42, 0.16);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  color: #10182B;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

/* Legacy mobile-menu removed - using .mobile-drawer system */

@media (max-width: 980px) {
  .nav-links {
    display: none;
  }

  .btn-nav-expert {
    display: none !important;
  }

  .nav-toggle {
    display: flex;
  }
}

/* ======================================================
   BUTTONS
   ====================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 0.9375rem;
  padding: 14px 26px;
  border-radius: 9999px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.25s cubic-bezier(.2, .8, .2, 1), background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  white-space: nowrap;
}

.btn-gold {
  background: linear-gradient(135deg, #F6D365 0%, #E6B439 50%, #D89E28 100%);
  color: #1A170F !important;
  font-family: var(--font-head);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 9999px;
  border: none;
  box-shadow: 0 10px 24px -4px rgba(230, 180, 57, 0.42);
}

.btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -4px rgba(230, 180, 57, 0.52);
  filter: brightness(1.04);
  color: #1A170F !important;
}

.btn-light-pill {
  background: #F1F5F9;
  color: #1E293B;
  border-color: #E2E8F0;
  font-family: var(--font-body);
  font-weight: 600;
}

.btn-light-pill:hover {
  background: #E2E8F0;
  color: #0F172A;
  transform: translateY(-2px);
}

.btn-primary {
  background: var(--orange);
  color: #FFFFFF !important;
  border-radius: 9999px;
  border: 1px solid transparent;
  box-shadow: 0 8px 24px -10px var(--orange-glow);
}

.btn-primary:hover {
  background: var(--orange-bright);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -6px var(--orange-glow);
  color: #FFFFFF !important;
}

.btn-ghost-dark {
  background: transparent;
  color: var(--on-dark);
  border-color: var(--line-dark-strong);
}

.btn-ghost-dark:hover {
  border-color: var(--orange);
  color: var(--orange-bright);
  transform: translateY(-2px);
}

.btn-ghost-light {
  background: transparent;
  color: var(--ink);
  border-color: var(--line-light);
}

.btn-ghost-light:hover {
  border-color: var(--orange);
  color: var(--orange);
  transform: translateY(-2px);
}

.btn-block {
  width: 100%;
}

.btn svg {
  width: 16px;
  height: 16px;
  transition: transform 0.25s ease;
}

.btn:hover svg {
  transform: translateX(3px);
}

/* ======================================================
   HERO LUXURY SECTION (New UI/UX)
   ====================================================== */
.hero-luxury {
  position: relative;
  padding: 56px 0 84px;
  background: radial-gradient(circle at 10% 20%, rgba(214, 139, 36, 0.04), transparent 50%),
    radial-gradient(circle at 90% 80%, rgba(245, 208, 97, 0.06), transparent 50%),
    #F8FAFC;
  overflow: hidden;
}

.hero-grid-luxury {
  display: grid;
  grid-template-columns: 1.15fr 0.95fr;
  gap: 52px;
  align-items: center;
  position: relative;
  z-index: 1;
}

@media (max-width: 1020px) {
  .hero-grid-luxury {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.hero-pill-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 18px;
  background: #FFF5ED;
  border: 1px solid #FED7AA;
  border-radius: 9999px;
  margin-bottom: 24px;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #C2410C;
}

.hero-pill-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #D68B24;
}

.hero-luxury-title {
  font-family: var(--font-head);
  font-size: clamp(2.8rem, 5vw, 4.4rem);
  font-weight: 850;
  color: #080E1E;
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin-bottom: 20px;
}

.hero-luxury-desc {
  font-family: var(--font-body);
  font-size: 1.125rem;
  line-height: 1.65;
  color: #475569;
  max-width: 54ch;
  margin-bottom: 34px;
}

.hero-luxury-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 38px;
}

/* Feature highlight pill cards (Below CTAs) */
.hero-feature-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.feature-pill-card {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 10px 18px;
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 600;
  color: #1E293B;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.feature-pill-card:hover {
  transform: translateY(-2px);
  border-color: #CBD5E1;
}

.feature-pill-icon {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #FFF5ED;
  color: #D68B24;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
}

/* Hero Right Visual Card Frame */
.hero-card-frame {
  position: relative;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 28px;
  padding: 14px;
  box-shadow: 0 25px 60px -12px rgba(15, 23, 42, 0.14), 0 4px 14px rgba(0, 0, 0, 0.04);
}

.hero-image-wrapper {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 4 / 3.1;
  background: #0D1528;
}

.hero-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Floating Bottom Stat Bar inside the Image Frame */
.hero-floating-stat {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 18px;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12);
}

.floating-stat-info {
  display: flex;
  flex-direction: column;
}

.floating-stat-label {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748B;
}

.floating-stat-value {
  font-family: var(--font-head);
  font-size: 1.45rem;
  font-weight: 850;
  color: #080E1E;
  line-height: 1.15;
}

.floating-stat-badge {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #FFF2E8;
  border: 1px solid #FED7AA;
  color: #C2410C;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 800;
}

/* Floating Accessibility Widget */
.floating-accessibility-btn {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  box-shadow: 0 10px 25px -4px rgba(15, 23, 42, 0.15);
  color: #0F172A;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 900;
  transition: all 0.2s ease;
}

.floating-accessibility-btn:hover {
  transform: translateY(-50%) scale(1.08);
  background: #F8FAFC;
  box-shadow: 0 14px 30px -4px rgba(15, 23, 42, 0.2);
}

/* ======================================================
   QUICK SEARCH MODAL
   ====================================================== */
.search-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 13, 24, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 99999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 80px 20px 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.search-modal-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.search-modal-card {
  width: 100%;
  max-width: 580px;
  background: #FFFFFF;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
  transform: translateY(-12px);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.search-modal-overlay.is-visible .search-modal-card {
  transform: translateY(0);
}

.search-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  border-bottom: 1.5px solid #E2E8F0;
  padding-bottom: 14px;
}

.search-input-wrap svg {
  position: absolute;
  left: 4px;
  color: #64748B;
  width: 20px;
  height: 20px;
}

.search-input-field {
  width: 100%;
  padding: 10px 10px 10px 38px;
  font-family: var(--font-body);
  font-size: 1.1rem;
  font-weight: 500;
  border: none;
  outline: none;
  color: #0F172A;
}

.search-results {
  margin-top: 14px;
  max-height: 280px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.search-result-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: 12px;
  color: #1E293B;
  text-decoration: none;
  transition: background 0.15s ease;
  gap: 12px;
}

.search-result-item:hover {
  background: #F8FAFC;
}

.search-item-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.search-item-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #0F172A;
  transition: color 0.15s ease;
}

.search-result-item:hover .search-item-title {
  color: #D68B24;
}

.search-item-desc {
  font-size: 0.78rem;
  color: #64748B;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-result-badge {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 9999px;
  background: #EEF2F6;
  color: #475569;
  flex-shrink: 0;
}

/* ======================================================
   SUCCESS STORIES VIDEO CAROUSEL SECTION
   ====================================================== */
.stories-section {
  position: relative;
  padding: 84px 0 96px;
  background: radial-gradient(circle at 50% 10%, rgba(245, 208, 97, 0.08), transparent 60%),
    #FFFFFF;
  border-top: 1px solid #E2E8F0;
  border-bottom: 1px solid #E2E8F0;
  overflow: hidden;
  text-align: center;
}

.stories-header {
  max-width: 680px;
  margin: 0 auto 44px;
}

.stories-title {
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 850;
  color: #080E1E;
  line-height: 1.15;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.stories-popper-icon {
  font-size: 2rem;
  display: inline-block;
  animation: bounceSlow 3s ease-in-out infinite;
}

@keyframes bounceSlow {

  0%,
  100% {
    transform: translateY(0) rotate(0deg);
  }

  50% {
    transform: translateY(-4px) rotate(8deg);
  }
}

.stories-desc {
  font-family: var(--font-body);
  font-size: 1.05rem;
  color: #64748B;
  line-height: 1.6;
}

/* Stories Carousel Container */
.stories-carousel-wrapper {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 20px 0 30px;
  overflow: hidden;
}

.stories-track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 20px 10px;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Story Card */
.story-card {
  position: relative;
  flex: 0 0 220px;
  height: 350px;
  border-radius: 24px;
  overflow: hidden;
  background: #0B132B;
  border: 1.5px solid #E2E8F0;
  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.08);
  cursor: pointer;
  transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  transform: scale(0.92);
  opacity: 0.78;
  user-select: none;
}

.story-card:hover {
  opacity: 0.95;
  transform: scale(0.96) translateY(-4px);
  box-shadow: 0 16px 35px -8px rgba(15, 23, 42, 0.16);
}

/* Center Active Card */
.story-card.is-active {
  flex: 0 0 245px;
  height: 380px;
  opacity: 1;
  transform: scale(1) translateY(-6px);
  border: 2.5px solid #F5D061;
  box-shadow: 0 25px 50px -10px rgba(245, 208, 97, 0.35), 0 10px 25px rgba(15, 23, 42, 0.12);
  z-index: 10;
}

.story-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.story-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.story-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 13, 24, 0.45) 0%, rgba(8, 13, 24, 0.08) 35%, rgba(8, 13, 24, 0.92) 100%);
  pointer-events: none;
}

/* Top Watermarks / Brand */
.story-top-bar {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 2;
}

.story-brand-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-head);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #FFFFFF;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

.story-testimonial-badge {
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #F8FAFC;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(6px);
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.25);
}

/* Play Button */
.story-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  z-index: 3;
  color: #FFFFFF;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.story-play-btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  margin-left: 2px;
}

.story-play-btn.btn-purple {
  background: #8B5CF6;
}

.story-play-btn.btn-teal {
  background: #10B981;
}

.story-play-btn.btn-blue {
  background: #3B82F6;
}

.story-play-btn.btn-gold {
  background: #F59E0B;
}

.story-play-btn.btn-orange {
  background: #D68B24;
}

.story-card:hover .story-play-btn {
  transform: translate(-50%, -50%) scale(1.1);
}

/* Active card pulse ring */
.story-card.is-active .story-play-btn::before {
  content: '';
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 2px dashed rgba(245, 208, 97, 0.85);
  animation: rotateDashed 8s linear infinite;
}

@keyframes rotateDashed {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* Bottom Caption */
.story-bottom {
  position: absolute;
  bottom: 16px;
  left: 14px;
  right: 14px;
  text-align: left;
  z-index: 2;
}

.story-author-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.story-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1.5px solid #FFFFFF;
  object-fit: cover;
  flex-shrink: 0;
}

.story-author-info {
  display: flex;
  flex-direction: column;
}

.story-author-name {
  font-family: var(--font-head);
  font-size: 0.95rem;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.2;
}

.story-author-company {
  font-family: var(--font-body);
  font-size: 0.72rem;
  color: #CBD5E1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 170px;
}

/* Carousel Pagination Dots */
.stories-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}

.story-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #CBD5E1;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}

.story-dot.active {
  width: 28px;
  border-radius: 9999px;
  background: #C25E1A;
}

/* Dynamic Quote Display */
.story-quote-box {
  max-width: 780px;
  margin: 28px auto 0;
  padding: 0 20px;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.story-quote-text {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #334155;
  transition: opacity 0.3s ease;
}

/* Video Playback Modal Dialog */
.video-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 13, 24, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.32s ease;
}

.video-modal-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.video-modal-card {
  position: relative;
  width: 100%;
  max-width: 440px;
  background: #0D1528;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.1);
  transform: scale(0.92);
  transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
}

.video-modal-overlay.is-visible .video-modal-card {
  transform: scale(1);
}

.video-modal-media {
  position: relative;
  aspect-ratio: 9 / 14;
  width: 100%;
  background: #000;
}

.video-modal-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-sim-controls {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 20px 16px;
  background: linear-gradient(180deg, transparent 0%, rgba(8, 13, 24, 0.95) 100%);
  color: #FFFFFF;
  z-index: 5;
}

.video-progress-bar {
  width: 100%;
  height: 4px;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 2px;
  margin-bottom: 12px;
  overflow: hidden;
}

.video-progress-fill {
  height: 100%;
  width: 65%;
  background: #F5D061;
  border-radius: 2px;
}

.video-author-badge {
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 800;
  color: #FFFFFF;
}

.video-author-sub {
  font-size: 0.8rem;
  color: #94A3B8;
}

@media (max-width: 768px) {
  .stories-track {
    overflow-x: auto;
    justify-content: flex-start;
    padding: 10px 20px;
    scroll-snap-type: x mandatory;
  }

  .story-card {
    scroll-snap-align: center;
    flex: 0 0 200px;
    height: 320px;
  }

  .story-card.is-active {
    flex: 0 0 220px;
    height: 340px;
  }
}

.card {
  background: var(--card);
  border: 1px solid var(--line-light);
  border-radius: var(--radius-m);
  padding: 28px;
  transition: transform 0.3s cubic-bezier(.2, .8, .2, 1), border-color 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
  transform: translateY(-5px);
  border-color: rgba(214, 139, 36, 0.35);
  box-shadow: 0 20px 40px -24px rgba(16, 22, 37, 0.25);
}

.card-dark {
  background: var(--navy-elev);
  border: 1px solid var(--line-dark);
  color: var(--on-dark);
}

.card-dark:hover {
  border-color: rgba(214, 139, 36, 0.4);
}

.card-icon {
  width: 44px;
  height: 44px;
  border-radius: 11px;
  background: var(--orange-glow-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--orange);
  margin-bottom: 18px;
  flex-shrink: 0;
}

.card-icon svg {
  width: 22px;
  height: 22px;
}

.card h3 {
  margin-bottom: 8px;
  color: inherit;
}

.card p {
  font-size: 0.9375rem;
  color: var(--ink-soft);
  line-height: 1.6;
}

.card-dark p {
  color: var(--on-dark-soft);
}

.card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--orange);
  margin-top: 16px;
}

.card-link svg {
  width: 14px;
  height: 14px;
  transition: transform 0.2s ease;
}

.card:hover .card-link svg {
  transform: translateX(3px);
}

/* Enlarge small text-link tap targets on touch/mobile without changing their look */
@media (max-width: 720px) {

  .card-link,
  .dropdown-item .card-link,
  .mega-view-all-btn,
  .stories-arrow-btn,
  .a11y-toggle-card {
    min-height: 44px;
  }

  .card-link {
    padding: 10px 0;
    margin-top: 6px;
  }
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

@media (max-width:980px) {
  .grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width:640px) {

  .grid-3,
  .grid-2,
  .grid-4 {
    grid-template-columns: 1fr;
  }
}

/* ======================================================
   SECTION HEAD
   ====================================================== */
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.section-head h2 {
  max-width: 600px;
}

/* ======================================================
   PROCESS / STEPPED SEQUENCE
   ====================================================== */
.process-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  position: relative;
}

@media (max-width:900px) {
  .process-row {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

.process-step {
  position: relative;
  padding: 0 18px 0 0;
}

.process-step .num {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.6rem;
  color: var(--orange);
  margin-bottom: 14px;
  display: block;
}

.process-step h4 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.02rem;
  color: var(--on-dark);
  margin-bottom: 8px;
}

.process-step p {
  font-size: 0.85rem;
  color: var(--on-dark-soft);
  line-height: 1.55;
}

.process-line {
  position: absolute;
  top: 14px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--line-dark);
  z-index: 0;
}

.process-line-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: var(--orange);
  transition: width 1.4s cubic-bezier(.2, .8, .2, 1);
}

@media (max-width:900px) {
  .process-line {
    display: none;
  }
}

/* ======================================================
   FUNDING JOURNEY (vertical stage list)
   ====================================================== */
.stage-list {
  display: flex;
  flex-direction: column;
}

.stage {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line-dark);
}

.stage:last-child {
  border-bottom: none;
}

.stage-marker {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--navy-elev);
  border: 1px solid var(--line-dark-strong);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--on-dark-soft);
  position: relative;
}

.stage.is-final .stage-marker {
  background: var(--orange);
  border-color: var(--orange);
  color: #1A0800;
}

.stage h4 {
  color: var(--on-dark);
  font-size: 1.05rem;
  margin-bottom: 6px;
}

.stage p {
  color: var(--on-dark-soft);
  font-size: 0.9rem;
}

/* ======================================================
   STATS
   ====================================================== */
.stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

@media (max-width:768px) {
  .stats-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width:480px) {
  .stats-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 12px;
  }
}

.stat {
  text-align: left;
}

.stat .num {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: clamp(1.85rem, 3.2vw, 2.75rem);
  color: var(--on-dark);
  display: block;
  margin-bottom: 4px;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

.stat .label {
  font-size: 0.875rem;
  color: var(--on-dark-soft);
  font-weight: 500;
  line-height: 1.4;
}

/* ======================================================
   FAQ ACCORDION & MODERN CARDS
   ====================================================== */
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}

.faq-item {
  background: var(--card, #FFFFFF);
  border: 1.5px solid var(--border-color, #E2E8F0);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 10px -2px rgba(15, 23, 42, 0.04);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

body.dark-theme .faq-item {
  background: #111A2E;
  border-color: #1E2D4A;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.faq-item:hover {
  border-color: #CBD5E1;
  box-shadow: 0 8px 22px -4px rgba(15, 23, 42, 0.08);
}

body.dark-theme .faq-item:hover {
  border-color: #2D3F66;
}

.faq-item.open,
.faq-item.is-open {
  border-color: #D4AF37;
  box-shadow: 0 10px 28px -4px rgba(212, 175, 55, 0.18);
}

body.dark-theme .faq-item.open,
body.dark-theme .faq-item.is-open {
  border-color: #D4AF37;
  box-shadow: 0 10px 28px -4px rgba(212, 175, 55, 0.15);
}

.faq-q,
.faq-btn {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 22px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  font-family: var(--font-head);
  font-weight: 750;
  font-size: 1.02rem;
  color: var(--ink, #0F172A);
  outline: none;
  transition: color 0.2s ease;
}

body.dark-theme .faq-q,
body.dark-theme .faq-btn {
  color: #F8FAFC;
}

.faq-q:hover,
.faq-btn:hover {
  color: #D4AF37;
}

.faq-question-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.faq-badge-num {
  font-family: var(--font-mono, monospace);
  font-size: 0.76rem;
  font-weight: 800;
  color: #B8860B;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.25);
  padding: 3px 8px;
  border-radius: 6px;
  flex-shrink: 0;
}

body.dark-theme .faq-badge-num {
  color: #F5D061;
  background: rgba(212, 175, 55, 0.18);
  border-color: rgba(212, 175, 55, 0.35);
}

.faq-icon-wrapper {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #F1F5F9;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s ease, color 0.2s ease;
  color: #475569;
}

body.dark-theme .faq-icon-wrapper {
  background: #19263E;
  color: #94A3B8;
}

.faq-icon {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2.2;
  transition: transform 0.3s ease;
}

.faq-item.open .faq-icon-wrapper,
.faq-item.is-open .faq-icon-wrapper {
  transform: rotate(180deg);
  background: linear-gradient(135deg, #F6D365 0%, #D4AF37 50%, #B88E18 100%);
  color: #0B132B;
}

/* Standalone FAQ Arrow SVG styling */
.faq-arrow {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  padding: 8px !important;
  border-radius: 50% !important;
  background: #F1F5F9;
  color: #475569;
  stroke: currentColor;
  stroke-width: 2.2;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

body.dark-theme .faq-arrow {
  background: #19263E;
  color: #94A3B8;
}

.faq-q:hover .faq-arrow,
.faq-btn:hover .faq-arrow {
  background: rgba(212, 175, 55, 0.15);
  color: #D4AF37;
  transform: scale(1.06);
}

.faq-item.open .faq-arrow,
.faq-item.is-open .faq-arrow {
  transform: rotate(180deg);
  background: linear-gradient(135deg, #F6D365 0%, #D4AF37 50%, #B88E18 100%);
  color: #0B132B;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.35);
}

.faq-icon-wrapper .faq-arrow {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.faq-a,
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), padding 0.35s ease;
}

.faq-item.open .faq-a,
.faq-item.open .faq-answer,
.faq-item.is-open .faq-a,
.faq-item.is-open .faq-answer {
  max-height: 600px;
}

.faq-answer-inner,
.faq-a p {
  padding: 0 24px 22px;
  color: var(--ink-soft, #475569);
  font-family: var(--font-body);
  font-size: 0.94rem;
  line-height: 1.7;
}

body.dark-theme .faq-answer-inner,
body.dark-theme .faq-a p {
  color: #94A3B8;
}

.faq-tag-chip {
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 8px;
  border-radius: 4px;
  background: #EEF2F6;
  color: #475569;
  margin-bottom: 8px;
}

body.dark-theme .faq-tag-chip {
  background: #1E2D4A;
  color: #CBD5E1;
}

/* ======================================================
   FORM
   ====================================================== */
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

@media (max-width:640px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
}

.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.field.full {
  grid-column: 1/-1;
}

.field label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink-soft);
}

.field input,
.field select,
.field textarea {
  font-family: var(--font-body);
  font-size: 0.9375rem;
  padding: 13px 15px;
  border-radius: 10px;
  border: 1px solid var(--line-light);
  background: var(--paper);
  color: var(--ink);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--orange);
  box-shadow: 0 0 0 4px var(--orange-glow-soft);
}

.field textarea {
  resize: vertical;
  min-height: 110px;
}

.form-note {
  font-size: 0.8125rem;
  color: var(--ink-faint);
  margin-top: 14px;
}

.form-success {
  display: none;
  align-items: center;
  gap: 10px;
  background: rgba(30, 154, 108, 0.1);
  border: 1px solid rgba(30, 154, 108, 0.3);
  color: var(--success);
  padding: 14px 18px;
  border-radius: 10px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-top: 18px;
}

.form-success.show {
  display: flex;
}

.form-success svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* ======================================================
   BADGE / TAG
   ====================================================== */
.tag {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 5px 11px;
  border-radius: 100px;
  background: var(--orange-glow-soft);
  color: var(--orange);
}

.tag-dark {
  background: var(--navy-elev);
  color: var(--on-dark-soft);
  border: 1px solid var(--line-dark);
}

/* ======================================================
   BREADCRUMB
   ====================================================== */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: var(--on-dark-soft);
  margin-bottom: 20px;
}

.breadcrumb a:hover {
  color: var(--orange);
}

.breadcrumb svg {
  width: 12px;
  height: 12px;
  opacity: 0.5;
}

/* ======================================================
   FOOTER
   ====================================================== */
.footer {
  background: var(--void);
  color: var(--on-dark-soft);
  padding: 72px 0 28px;
  border-top: 1px solid var(--line-dark);
}

.footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--line-dark);
}

@media (max-width:900px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:560px) {
  .footer-top {
    grid-template-columns: 1fr;
  }
}

.footer-brand p {
  font-size: 0.9rem;
  line-height: 1.65;
  margin: 16px 0 20px;
  max-width: 34ch;
  color: var(--on-dark-soft);
}

.footer-col h5 {
  font-family: var(--font-head);
  font-size: 0.85rem;
  color: var(--on-dark);
  margin-bottom: 16px;
  font-weight: 700;
}

.footer-col ul li {
  margin-bottom: 11px;
}

.footer-col a {
  font-size: 0.875rem;
  color: var(--on-dark-soft);
  transition: color 0.2s ease;
}

.footer-col a:hover {
  color: var(--orange);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-top: 26px;
  font-size: 0.8125rem;
  color: var(--ink-faint);
  flex-wrap: wrap;
}

.footer-disclaimer {
  font-size: 0.75rem;
  color: #5B6472;
  max-width: 760px;
  line-height: 1.6;
  margin-top: 14px;
}

/* ======================================================
   REVEAL ANIMATION
   ====================================================== */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(.2, .8, .2, 1), transform 0.7s cubic-bezier(.2, .8, .2, 1);
}

.reveal.in {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 {
  transition-delay: 0.08s;
}

.reveal-delay-2 {
  transition-delay: 0.16s;
}

.reveal-delay-3 {
  transition-delay: 0.24s;
}

/* ======================================================
   PAGE HERO (inner pages)
   ====================================================== */
.page-hero {
  padding: 56px 0 72px;
  position: relative;
  overflow: hidden;
}

.page-hero .lede {
  margin-top: 16px;
}

.page-hero-actions {
  display: flex;
  gap: 14px;
  margin-top: 28px;
  flex-wrap: wrap;
}

/* ======================================================
   FINAL CTA
   ====================================================== */
.final-cta {
  position: relative;
  text-align: left;
  overflow: hidden;
  border-radius: var(--radius-l);
}

.final-cta-inner {
  background: linear-gradient(135deg, var(--navy) 0%, var(--void) 100%);
  border: 1px solid var(--line-dark);
  border-radius: var(--radius-l);
  padding: 64px;
  position: relative;
  overflow: hidden;
}

@media (max-width:640px) {
  .final-cta-inner {
    padding: 40px 28px;
  }
}

.final-cta-glow {
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--orange-glow), transparent 70%);
  top: -220px;
  right: -140px;
  pointer-events: none;
}

.final-cta h2 {
  color: var(--on-dark);
  max-width: 640px;
  margin-bottom: 16px;
}

.final-cta .lede {
  margin-bottom: 32px;
}

/* Utility */
.mt-0 {
  margin-top: 0;
}

.center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* ======================================================
   MILESTONE CELEBRATION MODAL
   ====================================================== */
.milestone-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 13, 24, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.milestone-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.milestone-card {
  position: relative;
  width: 100%;
  max-width: 640px;
  background: #FFFFFF;
  border-radius: 28px;
  padding: 44px 48px 40px;
  text-align: center;
  box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.1);
  transform: scale(0.92) translateY(14px);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}

.milestone-overlay.is-visible .milestone-card {
  transform: scale(1) translateY(0);
}

/* Top golden luxury accent bar */
.milestone-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #D49A43 0%, #F5D061 50%, #D49A43 100%);
}

.milestone-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F1F4F9;
  border: none;
  border-radius: 50%;
  color: #5B6472;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 2;
}

.milestone-close:hover {
  background: #E2E7F0;
  color: #101625;
  transform: scale(1.06);
}

.milestone-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 18px;
  background: #FAF0E7;
  border: 1px solid #F2D2BD;
  border-radius: 9999px;
  margin-bottom: 22px;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #A04E1C;
}

.milestone-badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #B45309;
}

.milestone-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  font-family: var(--font-head);
  font-size: clamp(1.65rem, 3.6vw, 2.25rem);
  font-weight: 800;
  color: #0D1528;
  line-height: 1.2;
  margin: 0 0 14px;
  letter-spacing: -0.02em;
}

.milestone-popper-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  line-height: 1;
}

.milestone-desc {
  font-family: var(--font-body);
  font-size: 1.05rem;
  line-height: 1.6;
  color: #556987;
  max-width: 480px;
  margin: 0 auto 30px;
}

.milestone-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 30px;
}

.milestone-stat-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 18px;
  padding: 18px 10px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(16, 22, 37, 0.03);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.milestone-stat-card:hover {
  transform: translateY(-2px);
  border-color: #CBD5E1;
}

.milestone-stat-value {
  font-family: var(--font-head);
  font-size: clamp(1.3rem, 2.2vw, 1.65rem);
  font-weight: 800;
  color: #B85D19;
  line-height: 1.15;
  margin-bottom: 6px;
}

.milestone-stat-label {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748B;
}

.milestone-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 18px 32px;
  background: linear-gradient(135deg, #F6D365 0%, #E6B439 50%, #D89E28 100%);
  border: none;
  border-radius: 9999px;
  font-family: var(--font-head);
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1A170F;
  cursor: pointer;
  box-shadow: 0 10px 24px -4px rgba(230, 180, 57, 0.42), 0 3px 6px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.milestone-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 14px 28px -4px rgba(230, 180, 57, 0.52), 0 6px 12px rgba(0, 0, 0, 0.08);
  color: #1A170F;
}

.milestone-btn:active {
  transform: translateY(0);
}

.milestone-btn svg {
  transition: transform 0.2s ease;
}

.milestone-btn:hover svg {
  transform: translateX(4px);
}

@media (max-width: 600px) {
  .milestone-card {
    padding: 36px 20px 28px;
    border-radius: 22px;
  }

  .milestone-title {
    font-size: 1.45rem;
  }

  .milestone-desc {
    font-size: 0.95rem;
    margin-bottom: 24px;
  }

  .milestone-stats {
    gap: 8px;
  }

  .milestone-stat-card {
    padding: 14px 6px;
    border-radius: 14px;
  }

  .milestone-stat-value {
    font-size: 1.15rem;
  }

  .milestone-stat-label {
    font-size: 0.65rem;
  }

  .milestone-btn {
    padding: 15px 20px;
    font-size: 0.88rem;
  }
}

/* ======================================================
   BOOK FREE CONSULTATION MODAL (ENHANCED & CENTERED)
   ====================================================== */
.consult-modal-overlay,
.consult-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 14, 28, 0.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.consult-modal-overlay.is-visible,
.consult-modal-overlay.is-active,
.consult-modal-overlay.active,
.consult-overlay.is-visible,
.consult-overlay.is-active,
.consult-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.consult-modal-card,
.consult-modal-card,
.consult-card {
  position: relative;
  width: 100%;
  max-width: 480px;
  max-height: 92vh;
  overflow-y: auto;
  background: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 20px;
  padding: 22px 24px 20px;
  box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(0, 0, 0, 0.04);
  transform: scale(0.92) translateY(14px);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

body.dark-theme .consult-modal-card,
body.dark-theme .consult-card {
  background: #0D1528;
  border-color: #1E293B;
  box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.7);
}

.consult-modal-overlay.is-visible .consult-modal-card,
.consult-overlay.is-visible .consult-card {
  transform: scale(1) translateY(0);
}

/* Close Button (Top Right Floating) */
.consult-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10;
}

body.dark-theme .consult-close {
  background: #1E293B;
  border-color: #334155;
  color: #94A3B8;
}

.consult-close:hover {
  background: #0F172A;
  color: #FFFFFF;
  border-color: #0F172A;
  transform: scale(1.08) rotate(90deg);
}

body.dark-theme .consult-close:hover {
  background: #D68B24;
  border-color: #D68B24;
}

/* Modal Header Typography */
.consult-modal-head,
.consult-header {
  margin-bottom: 12px;
  padding-right: 28px;
}

.consult-brand {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.consult-brand-logo {
  display: inline-flex;
  align-items: center;
}

.consult-modal-logo,
.consult-brand-logo img {
  height: 22px !important;
  width: auto !important;
  max-width: 100px !important;
  display: block !important;
  object-fit: contain !important;
}

.consult-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(214, 139, 36, 0.1);
  border: 1px solid rgba(214, 139, 36, 0.22);
  border-radius: 9999px;
  padding: 3px 10px;
  font-family: var(--font-body);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  color: #D68B24;
  text-transform: uppercase;
  margin-bottom: 6px;
}

body.dark-theme .consult-badge {
  background: rgba(214, 139, 36, 0.16);
  border-color: rgba(214, 139, 36, 0.35);
  color: #D68B24;
}

.consult-badge-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #D68B24;
  animation: pingCustom 2s infinite;
}

.consult-modal-title,
.consult-title {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.2;
  color: #0F172A;
  margin: 0 0 4px;
  letter-spacing: -0.01em;
}

body.dark-theme .consult-modal-title,
body.dark-theme .consult-title {
  color: #F8FAFC;
}

.consult-modal-sub,
.consult-desc {
  font-family: var(--font-body);
  font-size: 0.8rem;
  line-height: 1.4;
  color: #64748B;
  margin: 0;
}

body.dark-theme .consult-modal-sub,
body.dark-theme .consult-desc {
  color: #94A3B8;
}

/* Modal Form & Inputs */
.consult-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.consult-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}

.consult-label {
  font-family: var(--font-body);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #334155;
  display: flex;
  align-items: center;
  gap: 3px;
}

body.dark-theme .consult-label {
  color: #CBD5E1;
}

.consult-label .req {
  color: #E11D48;
}

.consult-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.consult-input-icon {
  position: absolute;
  left: 12px;
  color: #94A3B8;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.consult-input {
  width: 100%;
  background: #F8FAFC;
  border: 1.5px solid #E2E8F0;
  border-radius: 10px;
  padding: 9px 12px 9px 36px;
  font-family: var(--font-body);
  font-size: 0.84rem;
  color: #0F172A;
  outline: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

body.dark-theme .consult-input {
  background: #111B2E;
  border-color: #1E293B;
  color: #F8FAFC;
}

.consult-input::placeholder {
  color: #94A3B8;
  font-size: 0.8rem;
}

.consult-input:focus {
  background: #FFFFFF;
  border-color: #D68B24;
  box-shadow: 0 0 0 3px rgba(214, 139, 36, 0.15);
}

body.dark-theme .consult-input:focus {
  background: #0B132B;
}

/* Select Box */
.consult-select-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.consult-select {
  width: 100%;
  background: #F8FAFC;
  border: 1.5px solid #E2E8F0;
  border-radius: 10px;
  padding: 9px 34px 9px 12px;
  font-family: var(--font-body);
  font-size: 0.84rem;
  font-weight: 500;
  color: #0F172A;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

body.dark-theme .consult-select {
  background: #111B2E;
  border-color: #1E293B;
  color: #F8FAFC;
}

.consult-select:focus {
  background: #FFFFFF;
  border-color: #D68B24;
  box-shadow: 0 0 0 3px rgba(214, 139, 36, 0.15);
}

body.dark-theme .consult-select:focus {
  background: #0B132B;
}

.consult-select-arrow {
  position: absolute;
  right: 12px;
  color: #D68B24;
  pointer-events: none;
  display: flex;
  align-items: center;
}

/* Submit Button with Golden Shine */
.consult-submit-btn {
  width: 100%;
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 20px;
  background: linear-gradient(135deg, #F6D365 0%, #D4AF37 50%, #B88E18 100%) !important;
  color: #0B132B !important;
  font-family: var(--font-head);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: none !important;
  border-radius: 9999px !important;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 20px -3px rgba(212, 175, 55, 0.45) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
}

.consult-submit-btn:hover {
  transform: translateY(-2px) scale(1.02) !important;
  filter: brightness(1.04);
  box-shadow: 0 12px 28px -4px rgba(212, 175, 55, 0.6) !important;
  color: #0B132B !important;
}

.consult-submit-btn:active {
  transform: scale(0.98) !important;
}

.consult-submit-btn::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -150%;
  width: 60%;
  height: 200%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0) 100%);
  transform: rotate(25deg);
  animation: shine-sweep 3s ease-in-out infinite;
  pointer-events: none;
}

.consult-footer-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 14px;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748B;
}

body.dark-theme .consult-footer-note {
  color: #94A3B8;
}

.consult-footer-note svg {
  color: #D68B24;
}

.consult-success-msg {
  display: none;
  text-align: center;
  padding: 24px 16px;
}

.consult-success-msg.show {
  display: block;
}


.consult-success-icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #E8F7F0;
  color: #1E9A6C;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.consult-success-title {
  font-family: var(--font-head);
  font-size: 1.4rem;
  font-weight: 800;
  color: #0D1528;
  margin-bottom: 8px;
}

.consult-success-desc {
  font-size: 0.95rem;
  color: #556987;
  line-height: 1.5;
}

@media (max-width: 600px) {
  .consult-card {
    padding: 28px 20px 22px;
    border-radius: 22px;
  }

  .consult-title {
    font-size: 1.45rem;
  }

  .consult-submit-btn {
    padding: 14px 18px;
    font-size: 0.84rem;
  }
}

/* ======================================================
   OUR SUCCESS STORIES SECTION (VIDEO TESTIMONIAL REELS)
   ====================================================== */
.stories-section {
  position: relative;
  padding: 80px 0 90px;
  background: radial-gradient(circle at 50% 10%, rgba(245, 208, 97, 0.08) 0%, transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
  overflow: hidden;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.stories-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 44px;
  position: relative;
}

.stories-title {
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 850;
  color: #080E1E;
  letter-spacing: -0.025em;
  margin-bottom: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.stories-subtitle {
  font-family: var(--font-body);
  font-size: 1.05rem;
  color: #556987;
  line-height: 1.6;
}

.stories-carousel-wrapper {
  position: relative;
  width: 100%;
  padding: 20px 0 10px;
  overflow: hidden;
}

.stories-track {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-start;
  padding: 16px max(24px, calc((100% - 1320px) / 2));
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.stories-track::-webkit-scrollbar {
  display: none;
}

/* Story Card Reel */
.story-card {
  flex: 0 0 205px;
  width: 205px;
  height: 350px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background: #111827;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.12);
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease, border-color 0.35s ease, filter 0.3s ease;
  user-select: none;
}

.story-card:not(.is-active) {
  filter: saturate(0.88) brightness(0.96);
  opacity: 0.9;
}

.story-card:hover {
  transform: translateY(-6px) scale(1.02);
  filter: saturate(1) brightness(1);
  box-shadow: 0 16px 32px -6px rgba(15, 23, 42, 0.2);
}

/* Active Highlighted Center Card */
.story-card.is-active {
  transform: translateY(-8px) scale(1.06);
  border: 2.5px solid #E6B439;
  box-shadow: 0 0 0 4px rgba(230, 180, 57, 0.25), 0 20px 40px -8px rgba(230, 180, 57, 0.35), 0 12px 28px rgba(0, 0, 0, 0.18);
  opacity: 1;
  filter: none;
  z-index: 5;
}

.story-card-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.4s ease;
}

.story-card:hover .story-card-bg {
  transform: scale(1.04);
}

/* Watermark Pattern Header */
.story-watermark-row {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 48px;
  background: linear-gradient(180deg, rgba(8, 14, 30, 0.65) 0%, rgba(8, 14, 30, 0) 100%);
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 8px 10px;
  z-index: 2;
}

.story-wm-logo {
  font-family: var(--font-head);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 3px;
}

.story-wm-logo span {
  color: #D68B24;
}

/* Floating Testimonial Tag */
.story-tag-pill {
  position: absolute;
  top: 48px;
  left: 14px;
  padding: 3px 9px;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 9999px;
  font-family: var(--font-body);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #F8FAFC;
  z-index: 2;
}

/* Play Button Centers */
.story-play-btn {
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  z-index: 3;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease;
}

.story-card:hover .story-play-btn {
  transform: translate(-50%, -50%) scale(1.12);
}

/* Play button color variants */
.play-purple {
  background: linear-gradient(135deg, #818CF8, #6366F1);
}

.play-green {
  background: linear-gradient(135deg, #34D399, #059669);
}

.play-blue {
  background: linear-gradient(135deg, #60A5FA, #2563EB);
}

.play-amber {
  background: linear-gradient(135deg, #FBBF24, #D97706);
}

.play-gold {
  background: linear-gradient(135deg, #FDE047, #EAB308);
  color: #111827;
  width: 48px;
  height: 48px;
}

/* Dashed active ring for featured play button */
.story-play-halo {
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 2px dashed rgba(245, 208, 97, 0.85);
  animation: spinSlow 12s linear infinite;
  pointer-events: none;
}

@keyframes spinSlow {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* Bottom Card Details */
.story-card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 38px 14px 14px;
  background: linear-gradient(180deg, rgba(8, 14, 30, 0) 0%, rgba(8, 14, 30, 0.75) 45%, rgba(8, 14, 30, 0.95) 100%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.story-category-label {
  font-family: var(--font-head);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 3px;
}

.story-founder-name {
  font-family: var(--font-head);
  font-size: 0.92rem;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.2;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.story-founder-role {
  font-family: var(--font-body);
  font-size: 0.68rem;
  color: #CBD5E1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Pagination Dots */
.stories-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 32px 0 20px;
}

.story-dot {
  width: 9px;
  height: 9px;
  border-radius: 9999px;
  background: #CBD5E1;
  border: none;
  cursor: pointer;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s ease, transform 0.2s ease;
  padding: 0;
}

.story-dot:hover {
  background: #94A3B8;
  transform: scale(1.15);
}

.story-dot.is-active {
  width: 32px;
  background: #D68B24;
}

/* Dynamic Quote Display */
.story-quote-box {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
  padding: 0 20px;
  position: relative;
  min-height: 60px;
}

.story-quote-text {
  font-family: var(--font-body);
  font-size: 1.06rem;
  font-style: italic;
  font-weight: 500;
  color: #1E293B;
  line-height: 1.6;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Video Player Modal */
.video-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 14, 30, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.video-modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.video-modal-content {
  width: 100%;
  max-width: 440px;
  background: #0D1528;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 25px 60px -12px rgba(0, 0, 0, 0.7);
  position: relative;
  transform: scale(0.92) translateY(20px);
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.video-modal-overlay.is-open .video-modal-content {
  transform: scale(1) translateY(0);
}

.video-mock-screen {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 14;
  background: #080E1E;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-mock-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-mock-playing-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, transparent 40%, rgba(0, 0, 0, 0.85) 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  color: #FFFFFF;
}

.video-modal-footer {
  padding: 20px 24px;
  background: #0A1020;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .stories-section {
    padding: 60px 0 70px;
  }

  .story-card {
    flex: 0 0 175px;
    width: 175px;
    height: 300px;
  }

  .story-card.is-active {
    transform: translateY(-4px) scale(1.04);
  }

  .story-quote-text {
    font-size: 0.95rem;
  }
}

/* ======================================================
   GOOGLE REVIEWS MULTI-ROW MARQUEE SECTION
   ====================================================== */
.reviews-section {
  position: relative;
  background:
    radial-gradient(ellipse 900px 500px at 12% 0%, rgba(255, 116, 23, 0.10), transparent 60%),
    radial-gradient(ellipse 700px 500px at 90% 100%, rgba(255, 116, 23, 0.06), transparent 60%),
    #0B1220;
  padding: 88px 0 96px;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.reviews-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: 0.35;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 20%, black, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 20%, black, transparent 75%);
  pointer-events: none;
}

.reviews-header {
  position: relative;
  max-width: 1200px;
  margin: 0 auto 56px;
  padding: 0 32px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.reviews-header h2 {
  font-family: var(--font-head);
  font-weight: 800;
  color: #F7F9FC;
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  max-width: 560px;
}

.reviews-header p {
  font-family: var(--font-body);
  color: #94A3B8;
  font-size: 1.0625rem;
  line-height: 1.6;
  margin: 0;
  max-width: 480px;
}

.rating-badge {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  background: #141F38;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 16px 22px;
  box-shadow: 0 12px 28px -6px rgba(0, 0, 0, 0.4);
}

.rating-badge .g-mark {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.rating-badge .score-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.rating-badge .score {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.5rem;
  color: #F7F9FC;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.rating-badge .score span {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.8125rem;
  color: #8B94A3;
}

.rating-badge .stars-row {
  display: flex;
  gap: 2px;
}

.rating-badge .stars-row svg {
  width: 14px;
  height: 14px;
}

/* Rows Container */
.rows-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 22px;
  -webkit-mask-image: linear-gradient(to right, transparent 0, black 6%, black 94%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, black 6%, black 94%, transparent 100%);
}

.row {
  overflow: hidden;
  width: 100%;
}

.row-track {
  display: flex;
  width: max-content;
  gap: 20px;
  animation: scroll-ltr 52s linear infinite;
}

.row[data-dir="rtl"] .row-track {
  animation-name: scroll-rtl;
}

.row[data-speed="slow"] .row-track {
  animation-duration: 64s;
}

.row[data-speed="fast"] .row-track {
  animation-duration: 46s;
}

.row:hover .row-track {
  animation-play-state: paused;
}

@keyframes scroll-ltr {
  from {
    transform: translateX(-50%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes scroll-rtl {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* Card */
.rcard {
  flex: 0 0 auto;
  width: 340px;
  background: #FFFFFF;
  border: 1px solid rgba(16, 24, 40, 0.07);
  border-radius: 16px;
  padding: 22px 22px 20px;
  box-shadow:
    0 1px 2px rgba(16, 24, 40, 0.04),
    0 8px 24px -12px rgba(16, 24, 40, 0.18);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.rcard:hover {
  transform: translateY(-4px);
  box-shadow:
    0 14px 28px -10px rgba(0, 0, 0, 0.22);
}

.rcard-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.rcard-user {
  display: flex;
  align-items: center;
  gap: 12px;
}

.avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 0.875rem;
  color: #fff;
  flex-shrink: 0;
}

.rcard-name {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.rcard-name strong {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 0.9375rem;
  color: #101828;
  line-height: 1.2;
}

.rcard-name span {
  font-size: 0.75rem;
  color: #5B6472;
  line-height: 1.2;
}

.g-mark {
  flex-shrink: 0;
}

.rcard-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}

.stars-row {
  display: flex;
  gap: 2px;
}

.stars-row svg {
  width: 15px;
  height: 15px;
}

.rcard-meta time {
  font-size: 0.75rem;
  color: #5B6472;
  margin-left: 2px;
}

.rcard-text {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #344054;
  margin: 0;
}

/* Responsive */
@media (max-width: 720px) {
  .reviews-section {
    padding: 64px 0 72px;
  }

  .reviews-header {
    padding: 0 20px;
    margin-bottom: 40px;
  }

  .rating-badge {
    padding: 13px 16px;
  }

  .rows-wrap {
    gap: 16px;
  }

  .row-track {
    gap: 14px;
  }

  .rcard {
    width: 268px;
    padding: 18px 18px 16px;
    border-radius: 14px;
  }

  .row .row-track {
    animation-duration: 34s;
  }

  .row[data-speed="slow"] .row-track {
    animation-duration: 42s;
  }

  .row[data-speed="fast"] .row-track {
    animation-duration: 30s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .row-track {
    animation: none !important;
  }

  .row {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ======================================================
   OFFICIAL CERTIFICATIONS & RECOGNITIONS SECTION
   ====================================================== */
.cert-section {
  position: relative;
  padding: 52px 0 58px;
  background: #FFFFFF;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  overflow: hidden;
  text-align: center;
}

.pill-badge-center {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 20px;
  background: #FFF8F1;
  border: 1px solid #FFD9B3;
  border-radius: 9999px;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #C2410C;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(255, 116, 23, 0.08);
}

.pill-dot-orange {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #D68B24;
  box-shadow: 0 0 0 3px rgba(214, 139, 36, 0.2);
}

.cert-section-title {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.2vw, 2.45rem);
  font-weight: 850;
  color: #080E1E;
  letter-spacing: -0.02em;
  margin: 0 0 36px;
}

.cert-carousel-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 10px 0;
  -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%);
}

.cert-track {
  display: flex;
  gap: 22px;
  width: max-content;
  animation: certMarquee 38s linear infinite;
}

.cert-carousel-wrap:hover .cert-track {
  animation-play-state: paused;
}

@keyframes certMarquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.cert-card {
  flex: 0 0 auto;
  min-width: 175px;
  height: 108px;
  background: #FFFFFF;
  border: 1.5px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 4px 14px -3px rgba(15, 23, 42, 0.06);
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.28s ease, border-color 0.28s ease;
  cursor: default;
}

.cert-card:hover {
  transform: translateY(-5px) scale(1.03);
  border-color: #FF7417;
  box-shadow: 0 12px 24px -6px rgba(255, 116, 23, 0.18), 0 4px 10px rgba(0, 0, 0, 0.04);
}

.cert-icon-wrap {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cert-label {
  font-family: var(--font-head);
  font-size: 0.76rem;
  font-weight: 750;
  color: #1E293B;
  letter-spacing: -0.01em;
  white-space: nowrap;
  line-height: 1.2;
}

@media (max-width: 768px) {
  .cert-section {
    padding: 42px 0 46px;
  }

  .cert-section-title {
    margin-bottom: 26px;
  }

  .cert-card {
    min-width: 150px;
    height: 98px;
    padding: 12px 16px;
    border-radius: 15px;
  }

  .cert-icon-wrap {
    width: 38px;
    height: 38px;
  }

  .cert-label {
    font-size: 0.7rem;
  }
}

/* ======================================================
   CORPORATE 4-COLUMN FOOTER (MATCHING DESIGN)
   ====================================================== */
.corporate-footer {
  background: #F8FAFC;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding: 68px 0 32px;
  color: #1E293B;
  font-family: var(--font-body);
}

.footer-main-grid {
  display: grid;
  grid-template-columns: 1.15fr 1.35fr 1fr 1.15fr;
  gap: 40px;
  margin-bottom: 48px;
}

@media (max-width: 1100px) {
  .footer-main-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
}

@media (max-width: 680px) {
  .footer-main-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.footer-col-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 850;
  color: #080E1E;
  margin-bottom: 20px;
  position: relative;
  padding-left: 12px;
  display: flex;
  align-items: center;
}

.footer-col-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  bottom: 3px;
  width: 3.5px;
  border-radius: 2px;
  background: #FF7417;
}

.footer-brand-desc {
  font-size: 0.88rem;
  line-height: 1.65;
  color: #475569;
  margin: 16px 0 24px;
}

.footer-social-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-social-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.footer-social-btn:hover {
  background: #0D1528;
  border-color: #0D1528;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px -2px rgba(13, 21, 40, 0.18);
}

/* Contact & Offices Column */
.footer-contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.88rem;
  font-weight: 600;
  color: #334155;
  text-decoration: none;
  margin-bottom: 12px;
  transition: color 0.2s ease;
}

.footer-contact-item:hover {
  color: #FF7417;
}

.footer-contact-item svg {
  color: #FF7417;
  flex-shrink: 0;
}

.footer-office-group {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-office-card {
  font-size: 0.82rem;
  line-height: 1.55;
  color: #475569;
}

.footer-office-heading {
  font-family: var(--font-head);
  font-size: 0.82rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.footer-office-heading svg {
  color: #FF7417;
}

.footer-ext-arrow {
  color: #94A3B8;
  font-size: 0.75rem;
}

.footer-map-link {
  margin-left: auto;
  font-size: 0.72rem;
  font-weight: 600;
  color: #FF7417;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.footer-map-link:hover {
  text-decoration: underline;
}

.footer-office-address-link {
  color: inherit;
  text-decoration: none;
  display: block;
  transition: color 0.2s ease;
}

.footer-office-address-link:hover {
  color: #FF7417;
  text-decoration: underline;
}

@media (max-width: 640px) {
  .footer-map-link {
    display: none !important;
  }
}

/* Quick Navigation List */
.footer-quick-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.footer-quick-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 0.88rem;
  font-weight: 500;
  color: #475569;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
}

.footer-quick-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #CBD5E1;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.footer-quick-link:hover {
  color: #0F172A;
  transform: translateX(3px);
}

.footer-quick-link:hover .footer-quick-dot {
  background: #FF7417;
  transform: scale(1.3);
}

.footer-quick-link.is-active .footer-quick-dot {
  background: #3B82F6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

/* Map Card */
.footer-map-card {
  position: relative;
  width: 100%;
  height: 180px;
  border-radius: 16px;
  overflow: hidden;
  border: 1.5px solid #E2E8F0;
  box-shadow: 0 6px 16px -4px rgba(15, 23, 42, 0.08);
  background: #E2E8F0;
}

.footer-map-card iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.footer-map-open-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #D4AF37;
  text-decoration: none;
  transition: all 0.2s ease;
}

.footer-map-open-link:hover {
  color: #F5C542;
  transform: translateX(2px);
  text-decoration: underline;
}

@media (max-width: 680px) {
  .footer-col-map {
    display: none !important;
  }
}

/* Disclaimer Banner */
.footer-disclaimer-box {
  background: #FFFFFF;
  border: 1px solid #FED7AA;
  border-radius: 14px;
  padding: 16px 20px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 32px;
  box-shadow: 0 2px 6px rgba(255, 116, 23, 0.04);
}

.footer-disclaimer-icon {
  color: #C2410C;
  flex-shrink: 0;
  margin-top: 2px;
}

.footer-disclaimer-text {
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #334155;
  margin: 0;
}

.footer-disclaimer-text strong {
  color: #0F172A;
}

/* Bottom Sub-bar */
.footer-subbar {
  border-top: 1px solid #E2E8F0;
  padding-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 0.8125rem;
  color: #64748B;
}

.footer-sublinks {
  display: flex;
  align-items: center;
  gap: 22px;
}

.footer-sublink {
  color: #475569;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-sublink:hover {
  color: #FF7417;
}

/* ======================================================
   EXPANDED MEGA-DROPDOWNS & INNER PAGE SYSTEM
   ====================================================== */
.nav-dropdown.nav-dropdown-wide {
  min-width: 580px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  padding: 16px;
}

.nav-dropdown.nav-dropdown-3col {
  min-width: 780px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 18px;
}

.dropdown-header-tag {
  grid-column: 1 / -1;
  font-family: var(--font-head);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #C25E1A;
  padding: 4px 10px 8px;
  border-bottom: 1px solid #E2E8F0;
  margin-bottom: 4px;
}

/* Breadcrumb Navigation */
.breadcrumb-wrap {
  padding: 10px 0 6px !important;
}

.breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.84rem;
  color: #64748B;
  list-style: none;
  padding: 0;
  margin: 0;
}

.breadcrumb-list a {
  color: #475569;
  text-decoration: none;
  transition: color 0.2s;
}

.breadcrumb-list a:hover {
  color: #C25E1A;
}

.breadcrumb-sep {
  color: #94A3B8;
  font-size: 0.75rem;
}

.breadcrumb-current {
  color: #0F172A;
  font-weight: 600;
}

/* ======================================================
   UNIVERSAL TIGHT TOP SPACING FOR ALL PAGES & HEROES
   Eliminates excessive gaps below floating navbar on all devices
   ====================================================== */
.inner-hero,
.hero-luxury,
.about-hero,
.about-hero-section,
.page-hero,
.elig-hero-section,
.schemes-hero-header,
.resources-hero-header,
.contact-hero,
.faq-hero,
.calc-hero {
  padding-top: 24px !important;
}

/* First section-pad on pages without a dedicated hero header */
main>.section-pad:first-child,
.nav-wrapper+.section-pad,
.nav-wrapper+*>.section-pad:first-child,
body>.section-pad:first-of-type {
  padding-top: 24px !important;
}

/* Page Hero System */
.inner-hero {
  position: relative;
  padding: 24px 0 64px;
  background: radial-gradient(circle at 80% 20%, rgba(255, 116, 23, 0.06), transparent 50%),
    radial-gradient(circle at 10% 80%, rgba(13, 30, 58, 0.04), transparent 45%),
    #FFFFFF;
  border-bottom: 1px solid #E2E8F0;
  overflow: hidden;
}

.inner-hero-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 48px;
  align-items: center;
}

@media (max-width: 960px) {
  .inner-hero-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

.inner-hero-title {
  font-family: var(--font-head);
  font-size: clamp(2.2rem, 4.2vw, 3.2rem);
  font-weight: 850;
  color: #080E1E;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 18px;
}

.inner-hero-title span {
  color: #C25E1A;
}

.inner-hero-desc {
  font-size: 1.08rem;
  line-height: 1.68;
  color: #475569;
  margin-bottom: 28px;
  max-width: 620px;
}

.inner-hero-card {
  background: linear-gradient(135deg, #0D1E3A 0%, #162B50 100%);
  border-radius: 24px;
  padding: 32px;
  color: #FFFFFF;
  box-shadow: 0 20px 40px -10px rgba(13, 30, 58, 0.25);
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.inner-hero-card::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 116, 23, 0.15) 0%, transparent 60%);
  pointer-events: none;
}

.hero-stats-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.hero-stat-box {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 14px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.hero-stat-val {
  font-family: var(--font-head);
  font-size: 1.35rem;
  font-weight: 800;
  color: #F5D061;
}

.hero-stat-lbl {
  font-size: 0.74rem;
  color: #CBD5E1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 2px;
}

/* Feature Grid 3-Col / 4-Col */
.section-pad {
  padding: 80px 0;
}

.section-pad-sm {
  padding: 50px 0;
}

.section-header-center {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 52px;
}

.section-title-lg {
  font-family: var(--font-head);
  font-size: clamp(1.9rem, 3.2vw, 2.5rem);
  font-weight: 850;
  color: #080E1E;
  line-height: 1.2;
  margin-bottom: 14px;
}

.section-subtitle {
  font-size: 1rem;
  line-height: 1.6;
  color: #64748B;
}

.cards-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.cards-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.cards-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 1024px) {

  .cards-grid-3,
  .cards-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {

  .cards-grid-3,
  .cards-grid-2,
  .cards-grid-4 {
    grid-template-columns: 1fr;
  }
}

.pro-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 20px;
  padding: 28px;
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
  position: relative;
}

.pro-card:hover {
  transform: translateY(-6px);
  border-color: #FF7417;
  box-shadow: 0 16px 32px -8px rgba(255, 116, 23, 0.12), 0 4px 12px rgba(0, 0, 0, 0.04);
}

.pro-card-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #FFF7ED;
  color: #C25E1A;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 20px;
  border: 1px solid #FFEDD5;
}

.pro-card-title {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 10px;
}

.pro-card-desc {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #475569;
  flex: 1;
}

.pro-card-list {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-top: 1px solid #F1F5F9;
  padding-top: 16px;
}

/* ======================================================
   "WE'RE HERE TO HELP" 2.5-MINUTE RECURRING POPUP MODAL
   ====================================================== */
.help-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.48);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 99995;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}

.help-modal-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.help-modal-card {
  position: relative;
  width: 100%;
  max-width: 390px;
  max-height: 92vh;
  background: #FFFFFF;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 25px 60px -10px rgba(15, 23, 42, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.04);
  padding: 28px 24px 22px;
  overflow-y: auto;
  transform: scale(0.92) translateY(16px);
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
}

body.dark-theme .help-modal-card {
  background: #0D1528;
  border-color: #1E293B;
  box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.7);
}

.help-modal-overlay.is-visible .help-modal-card {
  transform: scale(1) translateY(0);
}

.help-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 2;
}

body.dark-theme .help-modal-close {
  background: #1E293B;
  border-color: #334155;
  color: #CBD5E1;
}

.help-modal-close:hover {
  background: #E2E8F0;
  color: #0F172A;
  transform: scale(1.06);
}

.help-modal-title {
  font-family: var(--font-head);
  font-size: 1.55rem;
  font-weight: 850;
  color: #1E1B4B;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
  padding-right: 32px;
}

body.dark-theme .help-modal-title {
  color: #F8FAFC;
}

.help-modal-subtitle {
  font-size: 0.88rem;
  color: #64748B;
  line-height: 1.45;
  margin-bottom: 20px;
}

body.dark-theme .help-modal-subtitle {
  color: #94A3B8;
}

.help-lead-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.help-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.help-form-label {
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 750;
  color: #334155;
}

body.dark-theme .help-form-label {
  color: #CBD5E1;
}

.help-form-input {
  width: 100%;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1.5px solid #E2E8F0;
  background: #FFFFFF;
  color: #0F172A;
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 500;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.dark-theme .help-form-input {
  background: #162036;
  border-color: #334155;
  color: #F8FAFC;
}

.help-form-input::placeholder {
  color: #94A3B8;
  font-weight: 450;
}

.help-form-input:focus {
  border-color: #7E22CE;
  box-shadow: 0 0 0 3px rgba(126, 34, 206, 0.12);
}

.help-form-textarea {
  resize: vertical;
  min-height: 60px;
}

.help-form-submit-btn {
  width: 100%;
  padding: 14px 20px;
  margin-top: 6px;
  border-radius: 9999px;
  border: none;
  background: linear-gradient(90deg, #C9A227 0%, #F5C542 40%, #D4AF37 70%, #B8960C 100%);
  color: #0A192F;
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.45);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.help-form-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(212, 175, 55, 0.65);
  filter: brightness(1.06);
}

.help-form-submit-btn:active {
  transform: translateY(0);
}

.help-modal-footer-link {
  text-align: center;
  font-size: 0.76rem;
  color: #64748B;
  margin-top: 10px;
}

body.dark-theme .help-modal-footer-link {
  color: #94A3B8;
}

.help-modal-footer-link a {
  color: #6D28D9;
  font-weight: 700;
  text-decoration: none;
}

body.dark-theme .help-modal-footer-link a {
  color: #C084FC;
}

.help-modal-footer-link a:hover {
  text-decoration: underline;
}

.help-success-state {
  text-align: center;
  padding: 24px 10px;
}

.help-success-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #DCFCE7;
  color: #16A34A;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.help-success-state h4 {
  font-family: var(--font-head);
  font-size: 1.3rem;
  font-weight: 850;
  color: #0F172A;
  margin-bottom: 8px;
}

body.dark-theme .help-success-state h4 {
  color: #F8FAFC;
}

.help-success-state p {
  font-size: 0.88rem;
  color: #64748B;
  line-height: 1.5;
}

body.dark-theme .help-success-state p {
  color: #94A3B8;
}

/* Process Steps Timeline */
.workflow-track {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  position: relative;
  margin: 40px 0;
}

.workflow-step {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 18px;
  padding: 24px;
  position: relative;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
}

.step-num-badge {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #0D1E3A;
  color: #F5D061;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.workflow-step-title {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 8px;
}

.workflow-step-desc {
  font-size: 0.85rem;
  line-height: 1.55;
  color: #64748B;
}

/* Comparison & Detail Grids */
.compare-box {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 32px;
  margin: 32px 0;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
}

.clean-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.9rem;
}

.clean-table th {
  background: #0D1E3A;
  color: #FFFFFF;
  font-family: var(--font-head);
  padding: 14px 18px;
  font-weight: 700;
}

.clean-table th:first-child {
  border-top-left-radius: 12px;
}

.clean-table th:last-child {
  border-top-right-radius: 12px;
}

.clean-table td {
  padding: 14px 18px;
  border-bottom: 1px solid #E2E8F0;
  background: #FFFFFF;
  color: #334155;
}

.clean-table tr:hover td {
  background: #F8FAFC;
}

/* Related Services Cards */
.related-services-section {
  background: #F8FAFC;
  border-top: 1px solid #E2E8F0;
  padding: 68px 0;
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .related-grid {
    grid-template-columns: 1fr;
  }
}

.related-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 22px;
  text-decoration: none;
  transition: all 0.22s ease;
  display: flex;
  flex-direction: column;
}

.related-card:hover {
  border-color: #C25E1A;
  transform: translateY(-4px);
  box-shadow: 0 12px 24px -6px rgba(0, 0, 0, 0.06);
}

.related-title {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.related-desc {
  font-size: 0.84rem;
  color: #64748B;
  line-height: 1.5;
}

/* Interactive Calculator Cards */
.calc-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 12px 30px -8px rgba(15, 23, 42, 0.08);
}

.calc-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 32px;
  align-items: center;
}

@media (max-width: 800px) {
  .calc-grid {
    grid-template-columns: 1fr;
  }
}

.calc-field {
  margin-bottom: 20px;
}

.calc-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
  font-weight: 700;
  color: #1E293B;
  margin-bottom: 8px;
}

.calc-range {
  width: 100%;
  accent-color: #FF7417;
  height: 6px;
  border-radius: 3px;
  background: #E2E8F0;
}

.calc-result-box {
  background: #0D1E3A;
  border-radius: 18px;
  padding: 28px;
  color: #FFFFFF;
  text-align: center;
}

/* ======================================================
   CUSTOM CURSOR (DISABLED)
   ====================================================== */
.custom-cursor-dot,
.custom-cursor-ring {
  display: none !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* ======================================================
   ACCESSIBILITY WIDGET & PANEL
   ====================================================== */
.a11y-widget-btn {
  position: fixed;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99990;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #F6D365 0%, #D4AF37 50%, #B8860B 100%);
  color: #0B1220;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 8px 24px -2px rgba(212, 175, 55, 0.5), 0 2px 6px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  user-select: none;
  touch-action: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

/* ======================================================
   ACCESSIBILITY WIDGET & PANEL (MATCHING SCREENSHOTS)
   ====================================================== */
.a11y-widget-btn {
  position: fixed;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99990;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #FFFFFF;
  color: #0F172A;
  border: 1.5px solid #E2BD68;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.a11y-widget-btn:hover {
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 6px 20px rgba(226, 189, 104, 0.45);
  border-color: #D4AF37;
}

.a11y-widget-btn:active {
  transform: translateY(-50%) scale(0.95);
}

.a11y-widget-btn svg {
  width: 22px;
  height: 22px;
}

/* Accessibility Modal Overlay */
.a11y-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.a11y-modal-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.a11y-modal-card {
  position: relative;
  width: 100%;
  max-width: 380px;
  max-height: 90vh;
  background: #E4E7EC;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
  transform: scale(0.94);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.a11y-modal-overlay.is-visible .a11y-modal-card {
  transform: scale(1);
}

/* Modal Header */
.a11y-header {
  background: #FFFFFF;
  border-radius: 20px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.a11y-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #0F172A;
  margin: 0;
}

.a11y-title-gold {
  color: #D97706;
}

.a11y-close-btn {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #E2E8F0;
  background: #FFFFFF;
  color: #64748B;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: all 0.2s ease;
}

.a11y-close-btn:hover {
  background: #F1F5F9;
  color: #0F172A;
  transform: scale(1.05);
}

/* Theme Mode Select */
.a11y-theme-wrap {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.a11y-theme-label {
  font-size: 0.65rem;
  font-weight: 800;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding-left: 6px;
}

.a11y-theme-select-box {
  position: relative;
  width: 100%;
}

.a11y-theme-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #D97706;
  pointer-events: none;
}

.a11y-theme-select {
  width: 100%;
  height: 40px;
  background-color: #FFFFFF;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 14px;
  border: 1.5px solid #E2E8F0;
  border-radius: 9999px;
  padding: 0 36px 0 38px;
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 700;
  color: #1E293B;
  outline: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.a11y-theme-select:hover {
  border-color: #CBD5E1;
}

.a11y-theme-select:focus {
  border-color: #D97706;
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

/* 3-Column Toggle Grid */
.a11y-toggles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.a11y-toggle-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 6px;
  border-radius: 16px;
  background: #FFFFFF;
  border: 1.5px solid transparent;
  color: #334155;
  cursor: pointer;
  min-height: 82px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
  transition: all 0.2s ease;
  user-select: none;
}

.a11y-toggle-card:hover {
  border-color: #CBD5E1;
  transform: translateY(-1px);
}

.a11y-toggle-card.is-active {
  background: #FEF3C7;
  border-color: #F59E0B;
  color: #92400E;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.2);
}

.a11y-toggle-icon {
  color: #D97706;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 22px;
}

.a11y-toggle-label {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 750;
  text-align: center;
  line-height: 1.25;
}

/* Reset All Settings Button */
.a11y-reset-wrap {
  margin-top: 4px;
}

.a11y-reset-btn {
  width: 100%;
  padding: 11px;
  background: rgba(255, 255, 255, 0.65);
  border: 1.5px solid #CBD5E1;
  border-radius: 14px;
  color: #D97706;
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.a11y-reset-btn:hover {
  background: #FFFFFF;
  border-color: #F59E0B;
}

/* Suppress Google Translate's default UI (banner, tooltips, highlight) so
   our custom accessibility dropdown is the only visible translate control. */
#google_translate_element {
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
  opacity: 0.01 !important;
  pointer-events: none !important;
  z-index: -9999 !important;
}

.goog-te-banner-frame.skiptranslate,
.goog-te-banner-frame,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-tooltip:hover,
#goog-gt-tt,
.goog-te-spinner-pos {
  display: none !important;
  visibility: hidden !important;
}

.goog-text-highlight {
  background: none !important;
  box-shadow: none !important;
}

body {
  top: 0 !important;
  position: static !important;
}

.skiptranslate:not(#google_translate_element) {
  display: none !important;
}

/* ------------------------------------------------------
   ACCESSIBILITY ACTIVE MODES IMPLEMENTATION
   ------------------------------------------------------ */
/* Bigger / Smaller Text */
body.a11y-bigger-text {
  font-size: 116% !important;
}

body.a11y-smaller-text {
  font-size: 88% !important;
}

/* Text Spacing */
body.a11y-text-spacing * {
  letter-spacing: 0.08em !important;
  word-spacing: 0.12em !important;
}

/* Line Height */
body.a11y-line-height,
body.a11y-line-height * {
  line-height: 2 !important;
}

/* Dyslexia Font */
body.a11y-dyslexia,
body.a11y-dyslexia * {
  font-family: 'OpenDyslexic', 'Comic Sans MS', sans-serif !important;
}

/* High Contrast */
body.a11y-contrast {
  background: #000000 !important;
  color: #FFFFFF !important;
}

body.a11y-contrast .site-header,
body.a11y-contrast .nav,
body.a11y-contrast .mobile-drawer,
body.a11y-contrast .mobile-bottom-bar,
body.a11y-contrast .card,
body.a11y-contrast .service-card,
body.a11y-contrast .scheme-card,
body.a11y-contrast .funding-card,
body.a11y-contrast .contact-info-card {
  background: #111111 !important;
  border-color: #EAB308 !important;
  color: #FFFFFF !important;
}

body.a11y-contrast a {
  color: #FDE047 !important;
}

/* Invert Colors */
html.a11y-invert {
  filter: invert(100%) hue-rotate(180deg) !important;
  background: #000000 !important;
}

html.a11y-invert img,
html.a11y-invert video,
html.a11y-invert .a11y-modal-overlay,
html.a11y-invert .a11y-widget-btn {
  filter: invert(100%) hue-rotate(180deg) !important;
}

/* Highlight Links */
body.a11y-highlight-links a,
body.highlight-links a {
  background: #FEF08A !important;
  color: #000000 !important;
  text-decoration: underline 2.5px solid #CA8A04 !important;
  border-radius: 4px;
  padding: 1px 4px;
}

/* Big Cursor */
body.a11y-big-cursor,
body.a11y-big-cursor * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24' fill='%230F172A' stroke='%23FFFFFF' stroke-width='1.5'%3E%3Cpolygon points='3 3 10 22 13 14 21 11 3 3'/%3E%3C/svg%3E"), auto !important;
}

/* Pause Animations */
body.a11y-pause-anim *,
body.pause-animations *,
body.a11y-pause-anim *::before,
body.a11y-pause-anim *::after,
body.pause-animations *::before,
body.pause-animations *::after {
  animation-play-state: paused !important;
  transition: none !important;
}

/* Hide Images */
body.a11y-hide-images img,
body.hide-images img,
body.a11y-hide-images video,
body.hide-images video,
body.a11y-hide-images .hero-banner-img,
body.hide-images .hero-banner-img {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* ADHD Reading Ruler */
.adhd-reading-ruler {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99980;
  display: none;
}

.adhd-reading-ruler.is-active {
  display: block;
}

.adhd-focus-bar {
  position: fixed;
  left: 0;
  right: 0;
  height: 80px;
  background: transparent;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.45);
  border-top: 2px solid #F5D061;
  border-bottom: 2px solid #F5D061;
  pointer-events: none;
  transition: top 0.05s ease-out;
}

/* ======================================================
   MOBILE DRAWER & BOTTOM STICKY ACTION BAR (MATCHING SCREENSHOTS)
   ====================================================== */

/* Sticky Mobile Bottom Bar */
.mobile-bottom-bar {
  display: none;
}

@media (max-width: 820px) {
  body {
    padding-bottom: 0;
  }

  .mobile-bottom-bar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9980;
    background: transparent;
    border: none;
    border-top: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 8px 14px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    pointer-events: none;
  }

  body.dark-theme .mobile-bottom-bar {
    background: transparent;
    border-top: none;
    box-shadow: none;
  }

  .bar-eligibility-btn {
    flex: 1.4;
    background: linear-gradient(135deg, #F9D976 0%, #E9B646 50%, #C25E1A 100%);
    color: #080E1E;
    font-family: var(--font-head);
    font-weight: 850;
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 12px 14px;
    border-radius: 9999px;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: 0 4px 14px rgba(194, 94, 26, 0.35);
    white-space: nowrap;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }

  .bar-eligibility-btn:active {
    transform: scale(0.97);
  }

  .bar-action-btn {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0 !important;
    border-radius: 50% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    position: relative;
    flex-shrink: 0;
    transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
    pointer-events: auto;
  }

  .bar-action-btn span {
    display: none !important;
  }

  .bar-action-btn svg {
    width: 22px;
    height: 22px;
  }

  /* Call Button (Bright Vibrant Lime Green Round Emblem) */
  .bar-action-btn.call {
    background: #60D636 !important;
    border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 4px 14px rgba(96, 214, 54, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.6) !important;
  }

  .bar-action-btn.call svg {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
    stroke: none !important;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2)) !important;
  }

  /* WhatsApp Button (Bright Vibrant Sky Blue Emblem) */
  .bar-action-btn.wa {
    background: #007AFF !important;
    border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 4px 14px rgba(0, 122, 255, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.6) !important;
  }

  .bar-action-btn.wa svg {
    color: #FFFFFF !important;
    stroke: #FFFFFF !important;
    fill: #FFFFFF !important;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2)) !important;
  }

  .bar-action-btn:hover {
    transform: translateY(-2px) scale(1.08);
  }

  .bar-action-btn:active {
    transform: scale(0.92);
  }
}

/* ======================================================
   FULLSCREEN MOBILE DRAWER (SCREENSHOT 2)
   ====================================================== */
.mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transform: translateX(100%);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

body.dark-theme .mobile-drawer {
  background: #080E1E;
}

.mobile-drawer.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* Drawer Header */
.mobile-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #F1F5F9;
  flex-shrink: 0;
}

body.dark-theme .mobile-drawer-header {
  border-bottom-color: #1E293B;
}

.mobile-drawer-close {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #475569;
  cursor: pointer;
  transition: all 0.2s ease;
}

body.dark-theme .mobile-drawer-close {
  background: #1E293B;
  border-color: #334155;
  color: #CBD5E1;
}

.mobile-drawer-close:hover {
  background: #E2E8F0;
  color: #0F172A;
  transform: scale(1.05);
}

/* Drawer Body (Scrollable) */
.mobile-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 18px 20px 40px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  -webkit-overflow-scrolling: touch;
}

/* Top 2 Quick Cards */
.mobile-quick-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 6px;
}

.mobile-quick-card {
  border-radius: 18px;
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border: 1.5px solid transparent;
}

.mobile-quick-card:hover {
  transform: translateY(-2px);
}

.mobile-quick-card.eligibility {
  background: #FFF7ED;
  border-color: #FED7AA;
}

/* ======================================================
   JOURNEY OF IMPACT & GROWTH (CURVED SINE WAVE TIMELINE)
   ====================================================== */
.impact-journey-section {
  padding: 100px 0 120px;
  background: radial-gradient(circle at 50% 10%, rgba(214, 139, 36, 0.04), transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
  position: relative;
  overflow: hidden;
}

body.dark-theme .impact-journey-section {
  background: radial-gradient(circle at 50% 10%, rgba(214, 139, 36, 0.08), transparent 60%),
    linear-gradient(180deg, #0B1220 0%, #080E1E 100%);
}

.impact-journey-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 70px;
}

.impact-journey-title {
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.4vw, 2.8rem);
  font-weight: 850;
  color: #0F172A;
  letter-spacing: -0.025em;
  line-height: 1.2;
  margin-bottom: 16px;
}

body.dark-theme .impact-journey-title {
  color: #F8FAFC;
}

.impact-title-accent {
  background: linear-gradient(135deg, #D68B24 0%, #D68B24 50%, #E11D48 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.impact-journey-subtitle {
  font-size: 1.05rem;
  color: #475569;
  line-height: 1.65;
}

body.dark-theme .impact-journey-subtitle {
  color: #94A3B8;
}

/* Timeline Desktop Container */
.impact-timeline-container {
  position: relative;
  width: 100%;
  max-width: 1240px;
  height: 480px;
  margin: 0 auto;
}

.impact-wave-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 320px;
  z-index: 1;
}

.impact-wave-pulse {
  animation: wavePulseFlow 8s linear infinite;
}

@keyframes wavePulseFlow {
  from {
    stroke-dashoffset: 600;
  }

  to {
    stroke-dashoffset: 0;
  }
}

/* Milestone Nodes on Desktop */
.timeline-node {
  position: absolute;
  z-index: 3;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.node-icon-bubble {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 2px solid #E2E8F0;
  box-shadow: 0 8px 25px -4px rgba(15, 23, 42, 0.12), 0 0 0 6px rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
  cursor: pointer;
}

body.dark-theme .node-icon-bubble {
  background: #0F172A;
  border-color: #334155;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4), 0 0 0 6px rgba(15, 23, 42, 0.8);
}

.timeline-node:hover .node-icon-bubble {
  transform: scale(1.15);
  box-shadow: 0 12px 30px -4px rgba(214, 139, 36, 0.35), 0 0 0 8px rgba(214, 139, 36, 0.15);
}

.node-icon-bubble.has-pulse {
  border-color: #E11D48;
  box-shadow: 0 8px 25px rgba(225, 29, 72, 0.35), 0 0 0 6px rgba(225, 29, 72, 0.15);
  animation: nodePresentPulse 2.2s infinite;
}

@keyframes nodePresentPulse {

  0%,
  100% {
    box-shadow: 0 8px 25px rgba(225, 29, 72, 0.35), 0 0 0 6px rgba(225, 29, 72, 0.15);
  }

  50% {
    box-shadow: 0 12px 35px rgba(225, 29, 72, 0.55), 0 0 0 12px rgba(225, 29, 72, 0.25);
  }
}

/* Milestone Cards */
.node-content-card {
  position: absolute;
  top: 66px;
  width: 250px;
  text-align: left;
  background: transparent;
  pointer-events: auto;
}

.node-date-tag {
  display: block;
  font-size: 0.78rem;
  font-weight: 750;
  color: #64748B;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}

.node-milestone-title {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 850;
  color: #0F172A;
  margin-bottom: 6px;
  line-height: 1.25;
}

body.dark-theme .node-milestone-title {
  color: #F8FAFC;
}

.node-milestone-desc {
  font-size: 0.86rem;
  color: #64748B;
  line-height: 1.5;
  margin: 0;
}

body.dark-theme .node-milestone-desc {
  color: #94A3B8;
}

.text-present {
  color: #E11D48 !important;
}

/* Mobile Vertical Layout */
.impact-mobile-timeline {
  display: none;
}

@media (max-width: 900px) {
  .impact-timeline-container {
    display: none;
  }

  .impact-mobile-timeline {
    display: flex;
    flex-direction: column;
    gap: 32px;
    position: relative;
    padding-left: 32px;
    margin-top: 20px;
  }

  .mobile-timeline-stem {
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 20px;
    width: 3px;
    background: linear-gradient(180deg, #1E3A8A 0%, #C2410C 50%, #E11D48 100%);
    border-radius: 9999px;
  }

  .mobile-timeline-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    position: relative;
  }

  .mobile-node-badge {
    position: absolute;
    left: -32px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 2px solid #E2E8F0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
    z-index: 2;
  }

  body.dark-theme .mobile-node-badge {
    background: #0F172A;
    border-color: #334155;
  }

  .mobile-node-body {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 18px;
    padding: 16px 20px;
    flex: 1;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
  }

  body.dark-theme .mobile-node-body {
    background: #0D1528;
    border-color: #1E293B;
  }

  .mobile-node-body.highlight-card {
    border-color: #FDA4AF;
    background: #FFF1F2;
  }

  body.dark-theme .mobile-node-body.highlight-card {
    background: rgba(225, 29, 72, 0.12);
    border-color: rgba(225, 29, 72, 0.3);
  }
}

body.dark-theme .mobile-quick-card.eligibility {
  background: rgba(194, 65, 12, 0.12);
  border-color: rgba(254, 215, 170, 0.2);
}

.mobile-quick-card.case-studies {
  background: #F0F7FF;
  border-color: #BAE6FD;
}

body.dark-theme .mobile-quick-card.case-studies {
  background: rgba(14, 165, 233, 0.12);
  border-color: rgba(186, 230, 253, 0.2);
}

.mobile-quick-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.mobile-quick-card.eligibility .mobile-quick-icon {
  background: #D68B24;
  color: #FFFFFF;
}

.mobile-quick-card.case-studies .mobile-quick-icon {
  background: #E2E8F0;
  color: #854D0E;
}

body.dark-theme .mobile-quick-card.case-studies .mobile-quick-icon {
  background: #1E293B;
  color: #F5D061;
}

.mobile-quick-info {
  display: flex;
  flex-direction: column;
}

.mobile-quick-title {
  font-family: var(--font-head);
  font-size: 0.96rem;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.2;
}

body.dark-theme .mobile-quick-title {
  color: #F8FAFC;
}

.mobile-quick-subtitle {
  font-size: 0.72rem;
  color: #64748B;
  font-weight: 500;
  margin-top: 2px;
}

body.dark-theme .mobile-quick-subtitle {
  color: #94A3B8;
}

/* Nav Menu Items List */
.mobile-drawer-nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mobile-drawer-item {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.dark-theme .mobile-drawer-item {
  background: #0D1528;
  border-color: #1E293B;
}

.mobile-drawer-item.is-active {
  border-color: #CBD5E1;
}

.mobile-drawer-link-direct {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  font-family: var(--font-head);
  font-size: 1.02rem;
  font-weight: 800;
  color: #0F172A;
  text-decoration: none;
  transition: background 0.2s ease;
}

body.dark-theme .mobile-drawer-link-direct {
  color: #F8FAFC;
}

.mobile-drawer-link-direct:hover {
  background: #F8FAFC;
}

body.dark-theme .mobile-drawer-link-direct:hover {
  background: #162036;
}

.mobile-drawer-link-direct svg {
  color: #94A3B8;
  transition: transform 0.2s ease;
}

.mobile-drawer-link-direct:hover svg {
  transform: translateX(3px);
  color: #D68B24;
}

/* Accordion Trigger Item */
.mobile-drawer-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  font-family: var(--font-head);
  font-size: 1.02rem;
  font-weight: 800;
  color: #0F172A;
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease;
}

body.dark-theme .mobile-drawer-trigger {
  color: #F8FAFC;
}

.mobile-drawer-trigger:hover {
  background: #F8FAFC;
}

body.dark-theme .mobile-drawer-trigger:hover {
  background: #162036;
}

.mobile-drawer-title-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mobile-drawer-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #64748B;
}

.mobile-drawer-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mobile-count-badge {
  display: none !important;
}

.mobile-chevron-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748B;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s, color 0.2s;
}

body.dark-theme .mobile-chevron-btn {
  background: #1E293B;
  border-color: #334155;
  color: #94A3B8;
}

.mobile-drawer-item.is-open .mobile-chevron-btn {
  transform: rotate(180deg);
  background: #FFF7ED;
  border-color: #FED7AA;
  color: #D68B24;
}

body.dark-theme .mobile-drawer-item.is-open .mobile-chevron-btn {
  background: rgba(214, 139, 36, 0.2);
  border-color: rgba(214, 139, 36, 0.4);
  color: #F5D061;
}

/* Accordion Dropdown Content */
.mobile-drawer-submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.35s ease;
  background: #F8FAFC;
  border-top: 1px solid #F1F5F9;
}

body.dark-theme .mobile-drawer-submenu {
  background: #090F1C;
  border-top-color: #1E293B;
}

.mobile-drawer-item.is-open .mobile-drawer-submenu {
  max-height: 600px;
  padding: 8px 0;
}

.mobile-sub-item-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 22px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #334155;
  text-decoration: none;
  transition: all 0.2s ease;
  border-bottom: 1px solid rgba(0, 0, 0, 0.03);
}

body.dark-theme .mobile-sub-item-link {
  color: #CBD5E1;
  border-bottom-color: rgba(255, 255, 255, 0.04);
}

.mobile-sub-item-link:last-child {
  border-bottom: none;
}

.mobile-sub-item-link:hover {
  color: #D68B24;
  background: rgba(255, 116, 23, 0.05);
  padding-left: 26px;
}

.mobile-sub-item-link svg {
  width: 14px;
  height: 14px;
  color: #94A3B8;
}

/* Bottom Helpline Card */
.mobile-helpline-box {
  background: #FFF7ED;
  border: 1.5px solid #FED7AA;
  border-radius: 20px;
  padding: 16px 18px;
  margin-top: 8px;
}

body.dark-theme .mobile-helpline-box {
  background: #111B2E;
  border-color: rgba(254, 215, 170, 0.2);
}

.mobile-helpline-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.72rem;
  font-weight: 800;
  color: #C2410C;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}

body.dark-theme .mobile-helpline-top {
  color: #F5D061;
}

.live-green-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10B981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25);
}

.mobile-helpline-row {
  display: flex;
  gap: 10px;
}

.helpline-phone-card {
  flex: 1.1;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 11px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.84rem;
  font-weight: 800;
  color: #0F172A;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

body.dark-theme .helpline-phone-card {
  background: #1E293B;
  border-color: #334155;
  color: #F8FAFC;
}

.helpline-phone-card svg {
  color: #D68B24;
}

.helpline-wa-card {
  flex: 0.9;
  background: #059669;
  border-radius: 12px;
  padding: 11px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.84rem;
  font-weight: 800;
  color: #FFFFFF;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(5, 150, 105, 0.35);
}

/* ==========================================================================
   80-IAC TAX SAVINGS CALCULATOR — REXERA LUXURY NAVY & GOLD THEME
   ========================================================================== */
:root {
  --tax-bg: #FAF9F6;
  --tax-surface: #FFFFFF;
  --tax-border: #E2E8F0;
  --tax-field: #F8FAFC;
  --tax-ink: #0A192F;
  --tax-ink-soft: #475569;
  --tax-ink-faint: #94A3B8;
  --tax-navy: #0A192F;
  --tax-navy-deep: #060F1E;
  --tax-gold: #D4AF37;
  --tax-gold-light: #F6D365;
  --tax-gold-dark: #B88E18;
  --tax-orange: #D68B24;
  --tax-track: #E2E8F0;
  --tax-success: #10B981;
  --tax-success-bg: #ECFDF5;
  --tax-success-border: #A7F3D0;
  --tax-radius-lg: 20px;
  --tax-radius-md: 14px;
  --tax-radius-sm: 10px;
  --tax-shadow-card: 0 4px 20px -4px rgba(10, 25, 47, 0.08), 0 1px 3px rgba(10, 25, 47, 0.04);
  --tax-shadow-hero: 0 18px 40px -16px rgba(10, 25, 47, 0.45), 0 0 24px rgba(212, 175, 55, 0.15);
}

/* Button to open Tax Calculator */
.btn-tax-calc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 24px;
  border-radius: 9999px;
  background: linear-gradient(135deg, #F6D365 0%, #D4AF37 50%, #B88E18 100%);
  color: #0A192F !important;
  font-family: var(--font-head);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.35);
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.btn-tax-calc:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(212, 175, 55, 0.5);
  filter: brightness(1.05);
}

/* Tax Calculator Modal Backdrop */
.tax-calc-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 25, 47, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 100010;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s ease;
  overflow-y: auto;
}

.tax-calc-overlay.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Modal Content Card */
.tax-calc-modal-wrapper {
  position: relative;
  background: #FAF9F6;
  background-image:
    radial-gradient(circle at 12% 10%, rgba(212, 175, 55, 0.09), transparent 45%),
    radial-gradient(circle at 92% 90%, rgba(10, 25, 47, 0.06), transparent 50%);
  color: var(--tax-ink);
  border-radius: var(--tax-radius-lg);
  max-width: 940px;
  width: 100%;
  max-height: 92vh;
  overflow-y: auto;
  padding: 36px 28px 40px;
  box-shadow: 0 25px 60px -12px rgba(0, 0, 0, 0.55), 0 0 24px rgba(212, 175, 55, 0.15);
  border: 1px solid #E2E8F0;
  transform: scale(0.95) translateY(20px);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  font-family: var(--font-body);
}

.tax-calc-overlay.is-visible .tax-calc-modal-wrapper {
  transform: scale(1) translateY(0);
}

/* Close Button */
.tax-calc-close-btn {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  color: #0A192F;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(10, 25, 47, 0.08);
  transition: all 0.2s ease;
}

.tax-calc-close-btn:hover {
  background: #0A192F;
  transform: rotate(90deg);
  color: #F5D061;
  border-color: #D4AF37;
}

/* Header */
.tax-page-head {
  max-width: 800px;
  margin: 0 auto 28px;
  text-align: center;
}

.tax-page-head h2 {
  font-family: var(--font-head);
  font-size: clamp(22px, 3.4vw, 28px);
  font-weight: 850;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
  color: #0A192F;
}

.tax-page-head p {
  color: #5B6478;
  font-size: 14.5px;
  margin: 0;
  line-height: 1.6;
}

/* 2-Column App Grid */
.tax-app {
  max-width: 910px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 360px) minmax(0, 500px);
  justify-content: center;
  gap: 24px;
  align-items: start;
}

@media (max-width: 860px) {
  .tax-app {
    grid-template-columns: 1fr;
    max-width: 480px;
  }
}

.tax-panel {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: var(--tax-radius-lg);
  box-shadow: var(--tax-shadow-card);
  padding: 26px;
}

.tax-panel-title,
.tax-proj-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-head);
  font-size: 16px;
  font-weight: 800;
  margin: 0 0 20px;
  letter-spacing: -0.01em;
  color: #0A192F;
}

.tax-panel-title .tax-marker,
.tax-proj-title .tax-marker {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: linear-gradient(135deg, #D4AF37, #D68B24);
  box-shadow: 0 0 8px rgba(212, 175, 55, 0.4);
  flex: none;
}

.tax-field {
  margin-bottom: 16px;
}

.tax-field label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #334155;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 7px;
}

.tax-field label .tax-req {
  color: #D68B24;
  margin-left: 2px;
}

.tax-field input {
  width: 100%;
  padding: 12px 14px;
  background: #F8FAFC;
  border: 1.5px solid #E2E8F0;
  border-radius: var(--tax-radius-sm);
  font-size: 15px;
  font-family: inherit;
  font-weight: 600;
  color: #0A192F;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.tax-field input::placeholder {
  color: var(--tax-ink-faint);
  font-weight: 400;
}

.tax-field input[type=number] {
  -moz-appearance: textfield;
  appearance: textfield;
}

.tax-field input::-webkit-outer-spin-button,
.tax-field input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.tax-field input:focus {
  outline: none;
  background: #FFFFFF;
  border-color: #D4AF37;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.18);
}

.tax-field input.error {
  border-color: #EF4444;
}

.tax-field .tax-hint {
  font-size: 12px;
  color: #D4AF37;
  font-weight: 700;
  margin-top: 5px;
}

.tax-field .tax-error-msg {
  font-size: 12px;
  color: #EF4444;
  margin-top: 5px;
  display: none;
}

.tax-field .tax-error-msg.show {
  display: block;
}

/* Firm Type Toggle Buttons */
.tax-firm-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.tax-firm-btn {
  border: 1.5px solid #E2E8F0;
  background: #FFFFFF;
  border-radius: var(--tax-radius-sm);
  padding: 12px 14px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.2s ease;
}

.tax-firm-btn:hover {
  border-color: #D4AF37;
  transform: translateY(-1px);
}

.tax-firm-btn .ft-name {
  font-family: var(--font-head);
  font-size: 14.5px;
  font-weight: 800;
  display: block;
  color: #0A192F;
}

.tax-firm-btn .ft-sub {
  font-size: 11.5px;
  display: block;
  margin-top: 2px;
  color: #64748B;
}

.tax-firm-btn.active {
  border-color: #D4AF37;
  background: #0A192F;
  box-shadow: 0 4px 14px rgba(10, 25, 47, 0.2), 0 0 0 1px #D4AF37;
}

.tax-firm-btn.active .ft-name {
  color: #FFFFFF !important;
}

.tax-firm-btn.active .ft-sub {
  color: #F5D061 !important;
}

/* Golden CTA Submit Button */
.tax-submit-btn {
  width: 100%;
  border: none;
  border-radius: 9999px;
  padding: 14px 20px;
  background: linear-gradient(135deg, #F6D365 0%, #D4AF37 50%, #B88E18 100%);
  color: #0A192F !important;
  font-family: var(--font-head);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.3;
  white-space: normal;
  text-wrap: balance;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.35);
  position: relative;
  overflow: hidden;
  transition: all 0.2s ease;
  margin-top: 8px;
}

.tax-submit-btn::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -60%;
  width: 40%;
  height: 200%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
  transform: rotate(25deg);
  animation: taxBtnShineSweep 3.5s infinite;
}

@keyframes taxBtnShineSweep {
  0% {
    left: -60%;
  }

  25% {
    left: 140%;
  }

  100% {
    left: 140%;
  }
}

.tax-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(212, 175, 55, 0.5);
  filter: brightness(1.05);
}

.tax-submit-btn:active {
  transform: translateY(0);
}

.tax-form-error {
  font-size: 12.5px;
  color: #EF4444;
  margin-top: 10px;
  text-align: center;
  display: none;
}

.tax-form-error.show {
  display: block;
}

/* Confirmation Box */
.tax-confirm {
  margin-top: 18px;
  background: #ECFDF5;
  border: 1px solid #A7F3D0;
  border-radius: var(--tax-radius-md);
  padding: 16px;
  display: none;
}

.tax-confirm.show {
  display: block;
}

.tax-confirm-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.tax-confirm-head svg {
  flex: none;
  margin-top: 1px;
}

.tax-confirm-title {
  font-family: var(--font-head);
  font-size: 14.5px;
  font-weight: 800;
  color: #065F46;
  margin: 0 0 3px;
}

.tax-confirm-body {
  font-size: 12.5px;
  color: #047857;
  line-height: 1.5;
  margin: 0;
}

.tax-confirm-actions {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.tax-confirm-actions a {
  flex: 1;
  min-width: 120px;
  text-align: center;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 750;
  padding: 10px 14px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.tax-confirm-actions .tax-call {
  background: #0A192F;
  color: #FFFFFF;
  border: 1px solid #0A192F;
}

.tax-confirm-actions .tax-call:hover {
  background: #172A45;
  border-color: #D4AF37;
  color: #F5D061;
}

.tax-confirm-actions .tax-mail {
  background: #FFFFFF;
  color: #0A192F;
  border: 1.5px solid #0A192F;
}

.tax-confirm-actions .tax-mail:hover {
  border-color: #D4AF37;
  color: #B88E18;
}

/* Projection Right Panel: YoY Growth Slider */
.tax-growth-row {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: var(--tax-radius-md);
  padding: 13px 16px;
  margin-bottom: 18px;
}

.tax-growth-label {
  font-size: 13px;
  font-weight: 700;
  color: #334155;
  flex: none;
}

.tax-slider-wrap {
  position: relative;
  flex: 1;
  height: 24px;
  display: flex;
  align-items: center;
}

.tax-slider-track {
  position: absolute;
  left: 0;
  right: 0;
  height: 6px;
  border-radius: 3px;
  background: #E2E8F0;
}

.tax-slider-fill {
  position: absolute;
  left: 0;
  height: 6px;
  border-radius: 3px;
  background: linear-gradient(90deg, #D4AF37, #D68B24);
  width: 33%;
}

.tax-slider-input {
  position: relative;
  width: 100%;
  height: 24px;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  cursor: pointer;
}

.tax-slider-input::-webkit-slider-runnable-track {
  background: transparent;
  height: 6px;
}

.tax-slider-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 3px solid #D4AF37;
  box-shadow: 0 2px 8px rgba(10, 25, 47, 0.25);
  margin-top: -7px;
  cursor: pointer;
  transition: transform 0.15s ease;
}

.tax-slider-input::-webkit-slider-thumb:hover {
  transform: scale(1.15);
}

.tax-slider-input::-moz-range-track {
  background: transparent;
  height: 6px;
}

.tax-slider-input::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 3px solid #D4AF37;
  box-shadow: 0 2px 8px rgba(10, 25, 47, 0.25);
  cursor: pointer;
}

.tax-growth-badge {
  flex: none;
  background: #0A192F;
  color: #F5D061;
  border: 1px solid rgba(212, 175, 55, 0.4);
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 14px;
  padding: 6px 14px;
  border-radius: 9999px;
  min-width: 54px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(10, 25, 47, 0.15);
}

/* Hero Box: Deep Navy Luxury Card with Glowing Gold Numbers */
.tax-hero {
  background: linear-gradient(135deg, #0A192F 0%, #0D2240 50%, #152E52 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: var(--tax-radius-md);
  padding: 22px 24px;
  color: #FFFFFF;
  box-shadow: 0 16px 36px -8px rgba(10, 25, 47, 0.45), 0 0 20px rgba(212, 175, 55, 0.15);
  margin-bottom: 18px;
  position: relative;
  overflow: hidden;
}

.tax-hero::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.2), transparent 70%);
  pointer-events: none;
}

.tax-hero-label {
  font-size: 14px;
  font-weight: 600;
  color: #CBD5E1;
  letter-spacing: 0;
  margin: 0 0 8px;
  line-height: 1.4;
}

.tax-hero-number {
  font-family: var(--font-head);
  font-size: clamp(30px, 4.2vw, 38px);
  font-weight: 850;
  margin: 0 0 8px;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, #FFF4CC 0%, #F5D061 50%, #D4AF37 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-variant-numeric: tabular-nums;
}

.tax-hero-desc {
  font-size: 12.5px;
  color: #94A3B8;
  margin: 0;
  line-height: 1.55;
}

/* Stat Cards */
.tax-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}

.tax-stat-card {
  border: 1px solid #E2E8F0;
  border-radius: var(--tax-radius-sm);
  padding: 12px 12px;
  background: #F8FAFC;
  transition: all 0.2s ease;
}

.tax-stat-card:hover {
  border-color: #D4AF37;
  background: #FFFFFF;
  box-shadow: 0 4px 12px rgba(10, 25, 47, 0.06);
}

.tax-stat-card .tax-stat-label {
  font-size: 11px;
  color: #64748B;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 6px;
  min-height: 28px;
}

.tax-stat-card .tax-stat-value {
  font-family: var(--font-head);
  font-size: 17px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #0A192F;
  overflow-wrap: anywhere;
}

.tax-stat-card .tax-stat-sub {
  font-size: 10.5px;
  font-weight: 700;
  color: #10B981;
  margin-top: 3px;
}

/* Section Headings */
.tax-section-heading {
  font-family: var(--font-head);
  font-size: 13.5px;
  font-weight: 800;
  color: #0A192F;
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}

/* Table */
table.tax-proj-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

table.tax-proj-table th {
  text-align: right;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748B;
  padding: 8px 10px;
  border-bottom: 1.5px solid #E2E8F0;
}

table.tax-proj-table th:first-child {
  text-align: left;
}

table.tax-proj-table td {
  text-align: right;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 10px;
  border-bottom: 1px solid #E2E8F0;
  font-variant-numeric: tabular-nums;
  color: #0A192F;
}

table.tax-proj-table td:first-child {
  text-align: left;
  color: #475569;
  font-weight: 600;
}

table.tax-proj-table tr.total-row td {
  font-weight: 800;
  background: #F1F5F9;
  border-bottom: none;
  color: #0A192F;
}

table.tax-proj-table tr.total-row td:first-child {
  border-radius: 6px 0 0 6px;
}

table.tax-proj-table tr.total-row td:last-child {
  border-radius: 0 6px 6px 0;
}

/* Entity Tax Comparison */
.tax-compare {
  border: 1px solid #E2E8F0;
  border-radius: var(--tax-radius-md);
  padding: 16px;
  background: #FFFFFF;
}

.tax-row {
  padding: 12px 0;
}

.tax-row+.tax-row {
  border-top: 1px solid #E2E8F0;
}

.tax-row-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.tax-row-name {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-head);
  font-size: 13.5px;
  font-weight: 800;
  color: #0A192F;
}

.tax-row-rate {
  font-size: 11px;
  color: #64748B;
  font-weight: 600;
}

.tax-you-badge {
  background: linear-gradient(135deg, #F6D365, #D4AF37);
  color: #0A192F;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 2px 8px;
  border-radius: 9999px;
  box-shadow: 0 1px 4px rgba(212, 175, 55, 0.3);
}

.tax-row-figures {
  display: flex;
  gap: 18px;
  font-size: 12px;
  color: #475569;
}

.tax-row-figures b {
  color: #0A192F;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.tax-bar-track {
  height: 8px;
  background: #E2E8F0;
  border-radius: 4px;
  overflow: hidden;
}

.tax-bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.tax-bar-fill.pvt {
  background: linear-gradient(90deg, #0A192F 0%, #2563EB 100%);
}

.tax-bar-fill.llp {
  background: linear-gradient(90deg, #D68B24 0%, #F59E0B 100%);
}

.tax-compare-line {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed #E2E8F0;
  font-size: 12.5px;
  color: #475569;
  line-height: 1.55;
}

.tax-compare-line b {
  color: #0A192F;
  font-weight: 800;
}

.tax-footnote {
  font-size: 11px;
  color: #94A3B8;
  line-height: 1.6;
  margin-top: 14px;
}

/* ======================================================
   BUSINESS REGISTRATION & INCORPORATION THEME (REXERA)
   ====================================================== */
.reg-seal {
  width: 170px;
  height: 170px;
  border-radius: 50%;
  border: 1.5px solid #F5D061;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: rgba(13, 30, 58, 0.65);
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.4), 0 0 20px rgba(245, 208, 97, 0.15);
}

.reg-seal::before {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 1px dashed rgba(245, 208, 97, 0.5);
}

.reg-seal-text {
  font-family: var(--font-mono, monospace);
  font-size: 9.5px;
  letter-spacing: 0.12em;
  text-align: center;
  color: #F5D061;
  line-height: 1.7;
}

.reg-seal-text strong {
  display: block;
  font-size: 17px;
  font-family: var(--font-head);
  font-weight: 800;
  color: #FFFFFF;
  letter-spacing: 0.04em;
  margin: 2px 0;
}

.reg-ledger {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: 42px;
  padding-top: 28px;
}

.reg-ledger-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.reg-ledger-item {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  padding-right: 16px;
}

.reg-ledger-item:last-child {
  border-right: none;
}

.reg-ledger-num {
  font-family: var(--font-head);
  font-size: 1.95rem;
  font-weight: 800;
  color: #F5D061;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.reg-ledger-label {
  margin-top: 6px;
  font-size: 0.84rem;
  color: #CBD5E1;
  font-weight: 500;
}

@media (max-width: 768px) {
  .reg-ledger-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 14px;
  }
}

.reg-section-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono, monospace);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--orange, #C25E1A);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(194, 94, 26, 0.08);
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid rgba(194, 94, 26, 0.2);
  margin-bottom: 12px;
}

.reg-why-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: start;
}

.reg-why-content p {
  color: #475569;
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 18px;
}

.reg-why-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.reg-why-item {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-left: 4px solid var(--orange, #C25E1A);
  border-radius: 12px;
  padding: 18px 20px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.reg-why-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

.reg-why-item h4 {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  color: #0F172A;
  margin-bottom: 4px;
}

.reg-why-item p {
  font-size: 0.88rem;
  color: #64748B;
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 860px) {
  .reg-why-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.reg-handle-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.reg-handle-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}

.reg-handle-card:hover {
  transform: translateY(-3px);
  border-color: rgba(194, 94, 26, 0.35);
  box-shadow: 0 12px 28px -6px rgba(13, 30, 58, 0.08);
}

.reg-handle-card .handle-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(194, 94, 26, 0.1);
  color: var(--orange, #C25E1A);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin-bottom: 16px;
}

.reg-handle-card h3 {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 700;
  color: #0F172A;
  margin-bottom: 8px;
}

.reg-handle-card p {
  font-size: 0.92rem;
  color: #64748B;
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 640px) {
  .reg-handle-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.reg-benefits-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid #E2E8F0;
}

.reg-benefit-pill {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 16px 14px;
  text-align: center;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 0.9rem;
  color: #0D1E3A;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

@media (max-width: 768px) {
  .reg-benefits-bar {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Tabbed City Directory */
.city-tabs-wrap {
  margin-top: 24px;
}

.city-nav-tabs {
  display: flex;
  gap: 8px;
  border-bottom: 2px solid #E2E8F0;
  padding-bottom: 2px;
  overflow-x: auto;
}

.city-tab-btn {
  font-family: var(--font-head);
  font-size: 0.92rem;
  font-weight: 700;
  padding: 10px 20px;
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  color: #64748B;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.city-tab-btn:hover {
  color: #0D1E3A;
}

.city-tab-btn.active {
  color: var(--orange, #C25E1A);
  border-bottom-color: var(--orange, #C25E1A);
}

.city-tab-panel {
  display: none;
  padding-top: 24px;
}

.city-tab-panel.active {
  display: block;
}

.city-badge-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.city-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 0.86rem;
  color: #1E293B;
  font-weight: 500;
  transition: all 0.18s ease;
}

.city-chip:hover {
  border-color: var(--orange, #C25E1A);
  color: var(--orange, #C25E1A);
  background: #FFF7ED;
  transform: translateY(-1px);
}

.city-chip.city-hidden {
  display: none;
}

.show-more-cities-btn {
  margin-top: 20px;
  background: #FFFFFF;
  border: 1.5px solid #CBD5E1;
  border-radius: 8px;
  padding: 10px 20px;
  font-family: var(--font-head);
  font-size: 0.88rem;
  font-weight: 700;
  color: #0D1E3A;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.show-more-cities-btn:hover {
  border-color: var(--orange, #C25E1A);
  color: var(--orange, #C25E1A);
  background: #FFF7ED;
}

/* ======================================================
   CUSTOMER STORIES VIDEO SHOWCASE (MATCHING USER SCREENSHOT)
   ====================================================== */
.customer-stories-section {
  padding: 80px 0 90px;
  background: #FAFCFF;
  position: relative;
  overflow: hidden;
}

body.dark-theme .customer-stories-section {
  background: #090E1A;
}

.stories-header-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 36px;
  gap: 20px;
}

.stories-pretitle {
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 800;
  color: #0284C7;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

body.dark-theme .stories-pretitle {
  color: #38BDF8;
}

.stories-main-title {
  font-family: var(--font-head);
  font-size: clamp(1.9rem, 3.6vw, 2.7rem);
  font-weight: 800;
  color: #0F172A;
  letter-spacing: -0.025em;
  margin: 0;
  line-height: 1.18;
}

body.dark-theme .stories-main-title {
  color: #F8FAFC;
}

.stories-nav-arrows {
  display: flex;
  align-items: center;
  gap: 12px;
}

.stories-arrow-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  color: #334155;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
  transition: all 0.2s ease;
}

body.dark-theme .stories-arrow-btn {
  background: #162036;
  border-color: #334155;
  color: #E2E8F0;
}

.stories-arrow-btn:hover {
  background: #0284C7;
  border-color: #0284C7;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(2, 132, 199, 0.3);
}

.stories-arrow-btn svg {
  width: 20px;
  height: 20px;
}

/* Video Track Carousel */
.stories-track-container {
  position: relative;
  width: 100%;
}

.stories-scroll-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  padding: 8px 4px 24px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.stories-scroll-track::-webkit-scrollbar {
  display: none;
}

/* Individual Video Card */
.video-story-card {
  flex: 0 0 280px;
  height: 490px;
  border-radius: 22px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  scroll-snap-align: start;
  background: #0A1120;
  border: 1px solid rgba(226, 232, 240, 0.8);
  box-shadow: 0 12px 30px -8px rgba(15, 23, 42, 0.12);
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.32s ease, border-color 0.2s ease;
}

body.dark-theme .video-story-card {
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 12px 30px -8px rgba(0, 0, 0, 0.4);
}

.video-story-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 48px -12px rgba(15, 23, 42, 0.22);
  border-color: #0284C7;
}

.video-card-media {
  position: relative;
  width: 100%;
  height: 100%;
}

.video-card-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.video-story-card:hover .video-card-bg {
  transform: scale(1.04);
}

/* Top Pill Badge */
.video-card-tag-pill {
  position: absolute;
  top: 18px;
  left: 18px;
  background: #0284C7;
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 800;
  padding: 4px 11px;
  border-radius: 6px;
  z-index: 5;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 10px rgba(2, 132, 199, 0.35);
}

/* Center Play Button */
.video-play-indicator {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9);
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1.5px solid rgba(255, 255, 255, 0.6);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  opacity: 0.85;
  transition: all 0.25s ease;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.video-play-indicator svg {
  width: 22px;
  height: 22px;
  margin-left: 3px;
}

.video-story-card:hover .video-play-indicator {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.1);
  background: #0284C7;
  border-color: #0284C7;
  box-shadow: 0 10px 28px rgba(2, 132, 199, 0.5);
}

/* Bottom Dark Gradient & Story Content */
.video-card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 36px 20px 22px;
  background: linear-gradient(to top, rgba(8, 14, 28, 0.96) 0%, rgba(8, 14, 28, 0.72) 48%, rgba(8, 14, 28, 0.15) 80%, transparent 100%);
  z-index: 4;
  display: flex;
  flex-direction: column;
}

.video-card-kicker {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 800;
  color: #94A3B8;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.video-card-headline {
  font-family: var(--font-head);
  font-size: 1.08rem;
  font-weight: 750;
  color: #FFFFFF;
  line-height: 1.35;
  margin: 0;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

/* ======================================================
   CINEMA VIDEO MODAL
   ====================================================== */
.video-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(5, 10, 22, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.video-modal-overlay.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.video-modal-container {
  position: relative;
  background: #0B132B;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 24px;
  max-width: 820px;
  width: 100%;
  overflow: hidden;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.6);
  transform: scale(0.94);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.video-modal-overlay.is-active .video-modal-container {
  transform: scale(1);
}

.video-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.2s ease;
}

.video-modal-close:hover {
  background: #E11D48;
  border-color: #E11D48;
  transform: rotate(90deg);
}

.video-modal-close svg {
  width: 18px;
  height: 18px;
}

.video-modal-player-wrap {
  width: 100%;
  max-height: 72vh;
  background: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-modal-player-wrap video {
  width: 100%;
  max-height: 70vh;
  display: block;
  outline: none;
  user-select: none;
  -webkit-user-select: none;
}

.video-modal-caption {
  padding: 20px 26px;
  background: #0F172A;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.video-modal-tag {
  font-size: 0.72rem;
  font-weight: 800;
  color: #38BDF8;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: inline-block;
  margin-bottom: 4px;
}

.video-modal-title {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  color: #FFFFFF;
  margin: 0 0 4px;
}

.video-modal-sub {
  font-size: 0.88rem;
  color: #94A3B8;
  margin: 0;
}

@media (max-width: 640px) {
  .stories-track-container {
    padding: 0 12px;
  }

  .stories-scroll-track {
    gap: 12px;
    padding-bottom: 12px;
  }

  .video-story-card {
    flex: 0 0 170px;
    height: 275px;
    border-radius: 14px;
  }

  .video-card-tag-pill {
    top: 10px;
    left: 10px;
    font-size: 0.58rem;
    padding: 2px 7px;
    border-radius: 4px;
  }

  .video-play-indicator {
    width: 36px;
    height: 36px;
  }

  .video-play-indicator svg {
    width: 14px;
    height: 14px;
  }

  .video-card-overlay {
    padding: 22px 10px 12px;
  }

  .video-card-kicker {
    font-size: 0.58rem;
    margin-bottom: 3px;
  }

  .video-card-headline {
    font-size: 0.8rem;
    line-height: 1.25;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ====================================================
   PREMIUM DUAL-COLOR THEME & GOLDEN SHINE CTA BUTTONS
   ==================================================== */

/* Premium Gold Buttons with Continuous Light Sweep Reflection */
.golden-btn,
.btn-gold,
.btn-shine,
.btn-nav-expert,
.bar-eligibility-btn {
  background: linear-gradient(135deg, #F6D365 0%, #D4AF37 50%, #B88E18 100%) !important;
  color: #0B132B !important;
  font-weight: 750 !important;
  border: none !important;
  border-radius: 9999px !important;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 24px -4px rgba(212, 175, 55, 0.45), 0 2px 8px rgba(11, 19, 43, 0.08) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, filter 0.25s ease !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  z-index: 1;
}

.golden-btn:hover,
.btn-gold:hover,
.btn-shine:hover,
.btn-nav-expert:hover,
.bar-eligibility-btn:hover {
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 14px 30px -4px rgba(212, 175, 55, 0.6), 0 4px 12px rgba(11, 19, 43, 0.12) !important;
  filter: brightness(1.04) !important;
  color: #0B132B !important;
}

.golden-btn:active,
.btn-gold:active,
.btn-shine:active,
.btn-nav-expert:active,
.bar-eligibility-btn:active {
  transform: translateY(0) scale(0.98) !important;
}

/* Shine Sweep Glare Animation */
.golden-btn::after,
.btn-gold::after,
.btn-shine::after,
.btn-nav-expert::after,
.bar-eligibility-btn::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -150%;
  width: 60%;
  height: 200%;
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.75) 50%,
      rgba(255, 255, 255, 0) 100%);
  transform: rotate(25deg);
  animation: shine-sweep 3s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
}

@keyframes shine-sweep {
  0% {
    left: -150%;
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  60% {
    left: 160%;
    opacity: 1;
  }

  61%,
  100% {
    left: 160%;
    opacity: 0;
  }
}

/* Dual Color Theme Section Backgrounds */
.section-off-white {
  background-color: #FAF9F6 !important;
  color: #0A192F !important;
}

.section-deep-blue {
  background-color: #0A192F !important;
  color: #F8FAFC !important;
}

/* ====================================================
   ULTRA-PREMIUM 60FPS ANIMATIONS & MICRO-INTERACTIONS
   ==================================================== */

/* Smooth Page Load Fade-In */
body {
  opacity: 1;
  transition: opacity 0.35s ease;
}

body.page-loaded {
  opacity: 1;
}

/* Scroll-Triggered Reveals (30px slide-up with subtle easing) */
.reveal,
.reveal-up {
  opacity: 1;
  transform: none;
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

html.js-ready .reveal:not(.in):not(.is-visible),
html.js-ready .reveal-up:not(.in):not(.is-visible) {
  opacity: 0;
  transform: translateY(24px);
}

.reveal.in,
.reveal.is-visible,
.reveal-up.in,
.reveal-up.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.reveal-fade {
  opacity: 1;
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity;
}

html.js-ready .reveal-fade:not(.in):not(.is-visible) {
  opacity: 0;
}

.reveal-fade.in,
.reveal-fade.is-visible {
  opacity: 1 !important;
}

.reveal-scale {
  opacity: 0;
  transform: scale(0.96) translateY(20px);
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-scale.in,
.reveal-scale.is-visible {
  opacity: 1;
  transform: scale(1) translateY(0);
}

/* Stagger Delays for Grid Children */
.reveal-delay-1,
.delay-1 {
  transition-delay: 100ms;
}

.reveal-delay-2,
.delay-2 {
  transition-delay: 200ms;
}

.reveal-delay-3,
.delay-3 {
  transition-delay: 300ms;
}

.reveal-delay-4,
.delay-4 {
  transition-delay: 400ms;
}

.reveal-delay-5,
.delay-5 {
  transition-delay: 500ms;
}

/* Subtle Parallax Layer Support */
[data-parallax],
.parallax-bg {
  will-change: transform;
  transition: transform 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Premium Card Micro-Interactions */
.card,
.service-card,
.scheme-card,
.feature-card,
.stat-card,
.blog-card {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
}

.card:hover,
.service-card:hover,
.scheme-card:hover,
.feature-card:hover,
.stat-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 20px 40px -10px rgba(10, 25, 47, 0.14), 0 0 0 1px rgba(212, 175, 55, 0.25) !important;
}

/* Reduced Motion Compliance */
@media (prefers-reduced-motion: reduce) {
  body {
    opacity: 1 !important;
    transition: none !important;
  }

  .reveal,
  .reveal-up,
  .reveal-fade,
  .reveal-scale,
  .golden-btn::after {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}

/* ====================================================
   GOOGLE REVIEWS MULTI-ROW MARQUEE SECTION
   ==================================================== */
.reviews-section {
  position: relative;
  background:
    radial-gradient(ellipse 900px 500px at 12% 0%, rgba(255, 116, 23, 0.10), transparent 60%),
    radial-gradient(ellipse 700px 500px at 90% 100%, rgba(255, 116, 23, 0.06), transparent 60%),
    #0B1220;
  padding: 88px 0 96px;
  overflow: hidden;
}

.reviews-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: 0.35;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 20%, black, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 20%, black, transparent 75%);
  pointer-events: none;
}

.reviews-header {
  position: relative;
  max-width: 1240px;
  margin: 0 auto 56px;
  padding: 0 32px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.reviews-header h2 {
  font-family: var(--font-head);
  font-weight: 800;
  color: #F7F9FC;
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 14px;
  max-width: 560px;
}

.reviews-header p {
  font-family: var(--font-body);
  color: #94A3B8;
  font-size: 1.0625rem;
  line-height: 1.6;
  margin: 0;
  max-width: 480px;
}

.rating-badge {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  background: #141F38;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 16px 22px;
  box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.3);
}

.rating-badge .g-mark {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
}

.rating-badge .score-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.rating-badge .score {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.5rem;
  color: #F7F9FC;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.rating-badge .score span {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.8125rem;
  color: #8B94A3;
}

.rating-badge .stars-row {
  display: flex;
  gap: 2px;
}

.rating-badge .stars-row svg {
  width: 14px;
  height: 14px;
}

/* Marquee Rows */
.rows-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 22px;
  -webkit-mask-image: linear-gradient(to right, transparent 0, black 6%, black 94%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, black 6%, black 94%, transparent 100%);
}

.reviews-section .row {
  overflow: hidden;
  width: 100%;
}

.reviews-section .row-track {
  display: flex;
  width: max-content;
  gap: 20px;
  animation: scroll-ltr 52s linear infinite;
}

.reviews-section .row[data-dir="rtl"] .row-track {
  animation-name: scroll-rtl;
}

.reviews-section .row[data-speed="slow"] .row-track {
  animation-duration: 64s;
}

.reviews-section .row[data-speed="fast"] .row-track {
  animation-duration: 46s;
}

.reviews-section .row:hover .row-track {
  animation-play-state: paused;
}

@keyframes scroll-ltr {
  from {
    transform: translateX(-50%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes scroll-rtl {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* Card */
.rcard {
  flex: 0 0 auto;
  width: 240px;
  height: 156px;
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid rgba(16, 24, 40, 0.07);
  border-radius: 10px;
  padding: 13px 14px 12px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 22px -12px rgba(16, 24, 40, 0.18);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  overflow: hidden;
}

.rcard:hover {
  transform: translateY(-4px);
  border-color: rgba(212, 175, 55, 0.35);
  box-shadow: 0 16px 32px -10px rgba(0, 0, 0, 0.22);
}

.rcard-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  flex-shrink: 0;
}

.rcard-user {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rcard-user .avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 0.75rem;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.18);
}

.rcard-name {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.rcard-name strong {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 0.875rem;
  color: #101828;
  line-height: 1.2;
}

.rcard-name span {
  font-size: 0.6875rem;
  color: #5B6472;
  line-height: 1.2;
}

.rcard-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  flex-shrink: 0;
}

.rcard-meta .stars-row {
  display: flex;
  gap: 2px;
}

.rcard-meta .stars-row svg {
  width: 13px;
  height: 13px;
}

.rcard-meta time {
  font-size: 0.6875rem;
  color: #5B6472;
  margin-left: 2px;
}

.rcard-text {
  font-size: 0.78rem;
  line-height: 1.45;
  color: #344054;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

@media (max-width: 720px) {
  .reviews-section {
    padding: 64px 0 72px;
  }

  .reviews-header {
    padding: 0 20px;
    margin-bottom: 40px;
  }

  .rating-badge {
    padding: 13px 16px;
  }

  .rows-wrap {
    gap: 16px;
  }

  .reviews-section .row-track {
    gap: 12px;
  }

  .rcard {
    width: 210px;
    height: 148px;
    padding: 12px 13px 11px;
    border-radius: 10px;
  }

  .reviews-section .row .row-track {
    animation-duration: 34s;
  }

  .reviews-section .row[data-speed="slow"] .row-track {
    animation-duration: 42s;
  }
}

/* ====================================================
   GOOGLE REVIEWS 5x5 BENTO GRID LAYOUT (RECTANGLE FORM)
   ==================================================== */
.reviews-section .parent,
.google-reviews-grid.parent,
.parent {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(5, minmax(76px, auto));
  gap: 10px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  width: 100%;
}

.reviews-section .div1,
.google-reviews-grid .div1,
.div1 {
  grid-column: span 3 / span 3;
  grid-row: span 2 / span 2;
}

.reviews-section .div2 {
  grid-column: span 2 / span 1;
  grid-row: span 1 / span 1;
}

.reviews-section .div3 {
  grid-column: span 2 / span 1;
  grid-row: span 1 / span 1;
}

.reviews-section .div4 {
  grid-column: span 2 / span 1;
  grid-row: span 1 / span 1;
}

.reviews-section .div5 {
  grid-column: span 3 / span 1;
  grid-row: span 1 / span 1;
}

.reviews-section .div6 {
  grid-column: span 2 / span 2;
  grid-row: span 2 / span 2;
}

.reviews-section .div7 {
  grid-column: span 2 / span 1;
  grid-row: span 1 / span 1;
}

.reviews-section .div8 {
  grid-column: span 1 / span 1;
  grid-row: span 1 / span 1;
}

.reviews-section .div9 {
  grid-column: span 1 / span 1;
  grid-row: span 1 / span 1;
}

.reviews-section .div10 {
  grid-column: span 2 / span 1;
  grid-row: span 1 / span 1;
}

.bento-rcard {
  background: #141F38;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  overflow: hidden;
  position: relative;
  min-height: 76px;
}

.bento-rcard:hover {
  transform: translateY(-2px);
  border-color: rgba(56, 189, 248, 0.35);
  box-shadow: 0 10px 24px -4px rgba(0, 0, 0, 0.45);
}

.bento-hero-card {
  background: linear-gradient(145deg, #162444 0%, #0D1528 100%);
  border: 1px solid rgba(56, 189, 248, 0.35);
  box-shadow: 0 12px 28px -6px rgba(0, 0, 0, 0.5);
  padding: 16px 20px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 160px;
}

@media (max-width: 1024px) {

  .reviews-section .parent,
  .google-reviews-grid.parent,
  .parent {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 8px;
    padding: 0 12px;
  }

  .reviews-section .div1,
  .div1 {
    grid-column: span 2 !important;
    grid-row: auto !important;
  }

  .reviews-section [class*="div"] {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

@media (max-width: 640px) {

  .reviews-section .parent,
  .google-reviews-grid.parent,
  .parent {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 5px;
    padding: 0 8px;
  }

  .reviews-section .div1,
  .div1 {
    grid-column: span 2 !important;
    grid-row: auto !important;
    padding: 10px 12px;
    min-height: 84px;
    border-radius: 8px;
  }

  .bento-hero-score {
    font-size: 1.4rem;
    margin: 4px 0 2px;
    gap: 4px;
  }

  .bento-hero-score span {
    font-size: 0.72rem;
  }

  .bento-hero-badge {
    font-size: 10px;
    padding: 2px 7px;
    gap: 4px;
  }

  .bento-hero-card p {
    font-size: 9.5px !important;
    margin-top: 3px !important;
    line-height: 1.25 !important;
  }

  .bento-rcard {
    padding: 7px 9px;
    border-radius: 6px;
    min-height: 60px;
    gap: 4px;
  }

  .bento-rcard-text {
    font-size: 0.6875rem !important;
    line-height: 1.28 !important;
    margin-top: 3px !important;
    -webkit-line-clamp: 2 !important;
  }

  .bento-rcard .avatar {
    width: 20px !important;
    height: 20px !important;
    font-size: 8.5px !important;
  }

  .bento-rcard .g-mark {
    width: 14px !important;
    height: 14px !important;
  }

  .bento-rcard .stars-row svg {
    width: 10px !important;
    height: 10px !important;
  }

  .bento-rcard time {
    font-size: 8.5px !important;
  }
}

/* ======================================================
   FUNDING ELIGIBILITY FORM
   ====================================================== */
.elig-tab {
  padding: 8px 6px;
  border-radius: 10px;
  border: 1.5px solid #E5E7EB;
  background: #F9FAFB;
  color: #374151;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
}

.elig-tab:hover {
  border-color: #0A192F;
  background: #F0F4FF;
  color: #0A192F;
}

.elig-tab.active {
  background: #0A192F;
  border-color: #0A192F;
  color: #FFFFFF;
  box-shadow: 0 4px 12px rgba(10, 25, 47, 0.25);
}

.elig-select,
.elig-input {
  width: 100%;
  padding: 11px 14px;
  border-radius: 10px;
  border: 1.5px solid #E5E7EB;
  background: #FAFAFA;
  color: #101625;
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 500;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

.elig-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 36px;
}

.elig-select:focus,
.elig-input:focus {
  border-color: #0A192F;
  box-shadow: 0 0 0 3px rgba(10, 25, 47, 0.1);
  background: #fff;
}

.elig-input::placeholder {
  color: #B0B7C3;
}

.elig-submit-btn {
  width: 100%;
  padding: 14px 20px;
  border-radius: 9999px;
  border: none;
  background: linear-gradient(90deg, #C9A227 0%, #F5C542 40%, #D4AF37 70%, #B8960C 100%) !important;
  color: #0A192F !important;
  font-family: var(--font-head);
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 8px 24px rgba(212, 175, 55, 0.45) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  overflow: hidden;
  margin-top: 4px;
}

.elig-submit-btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.45) 50%, transparent 100%);
  animation: goldShine 2.2s linear infinite;
}

.elig-submit-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 12px 30px rgba(212, 175, 55, 0.6) !important;
  color: #0A192F !important;
}

.elig-submit-btn:active {
  transform: translateY(0);
}

@keyframes goldShine {
  0% {
    left: -100%;
  }

  100% {
    left: 160%;
  }
}

/* ======================================================
   SCHEMES, RESOURCES, ABOUT & ADVANCED UI ENHANCEMENTS
   ====================================================== */

/* Live Search & Filter Bar */
.live-search-container {
  max-width: 780px;
  margin: 0 auto 32px;
  position: relative;
}

.live-search-input {
  width: 100%;
  padding: 16px 20px 16px 52px;
  border-radius: 9999px;
  border: 2px solid #E2E8F0;
  background: #FFFFFF;
  font-family: var(--font-body);
  font-size: 1rem;
  color: #0F172A;
  box-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.08);
  outline: none;
  transition: all 0.25s ease;
}

.live-search-input:focus {
  border-color: #D4AF37;
  box-shadow: 0 10px 30px -4px rgba(212, 175, 55, 0.25);
}

.live-search-icon {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: #94A3B8;
  pointer-events: none;
}

body.dark-theme .live-search-input {
  background: #101B2E;
  border-color: #1E293B;
  color: #F8FAFC;
}

/* Filter Pills Group */
/* Filter Pills Group */
.filter-pills-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 36px;
  width: 100%;
}

.filter-pill {
  padding: 8px 18px;
  border-radius: 9999px;
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.12);
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.filter-pill:hover {
  border-color: #F5C542;
  color: #FFFFFF;
  background: rgba(245, 197, 66, 0.2);
  transform: translateY(-1px);
}

.filter-pill.active {
  background: #0A192F;
  border: 2px solid #F5C542;
  color: #FFFFFF;
  box-shadow: 0 0 16px rgba(245, 197, 66, 0.45), 0 4px 12px rgba(0, 0, 0, 0.4);
}

body.dark-theme .filter-pill {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: #E2E8F0;
}

body.dark-theme .filter-pill:hover {
  background: rgba(245, 197, 66, 0.15);
  border-color: #F5C542;
  color: #FFFFFF;
}

body.dark-theme .filter-pill.active {
  background: #0A192F;
  border: 2px solid #F5C542;
  color: #FFFFFF;
  box-shadow: 0 0 16px rgba(245, 197, 66, 0.4);
}

/* Premium Scheme Cards */
.scheme-grid-enhanced {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
}

@keyframes schemeCardFadeIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.scheme-card-box {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 10px 30px -8px rgba(15, 23, 42, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
  overflow: hidden;
}

.scheme-card-box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #D4AF37, #D68B24);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.scheme-card-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.12);
  border-color: #CBD5E1;
}

.scheme-card-box:hover::before {
  opacity: 1;
}

body.dark-theme .scheme-card-box {
  background: #111E36;
  border-color: #1E2E4E;
}

.scheme-top-badge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.scheme-tag {
  font-size: 0.74rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 6px;
  background: #EFF6FF;
  color: #1D4ED8;
}

body.dark-theme .scheme-tag {
  background: rgba(29, 78, 216, 0.2);
  color: #60A5FA;
}

.scheme-subsidy-highlight {
  font-family: var(--font-head);
  font-size: 0.85rem;
  font-weight: 800;
  color: #16A34A;
  background: #F0FDF4;
  padding: 4px 10px;
  border-radius: 9999px;
  border: 1px solid rgba(22, 163, 74, 0.2);
}

body.dark-theme .scheme-subsidy-highlight {
  background: rgba(22, 163, 74, 0.15);
  color: #4ADE80;
}

.scheme-card-title {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 10px;
  line-height: 1.3;
}

body.dark-theme .scheme-card-title {
  color: #F8FAFC;
}

.scheme-card-summary {
  font-size: 0.90rem;
  color: #64748B;
  line-height: 1.55;
  margin-bottom: 20px;
}

body.dark-theme .scheme-card-summary {
  color: #94A3B8;
}

.scheme-spec-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  background: #F8FAFC;
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 22px;
}

body.dark-theme .scheme-spec-grid {
  background: #0D1627;
}

.scheme-spec-item {
  display: flex;
  flex-direction: column;
}

.scheme-spec-label {
  font-size: 0.70rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748B;
  font-weight: 600;
}

.scheme-spec-val {
  font-family: var(--font-head);
  font-size: 0.92rem;
  font-weight: 750;
  color: #0F172A;
  margin-top: 2px;
}

body.dark-theme .scheme-spec-val {
  color: #E2E8F0;
}

.scheme-card-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
}

.btn-scheme-explore {
  flex: 1;
  text-align: center;
  padding: 10px 14px;
  border-radius: 10px;
  background: #0A192F;
  color: #FFFFFF;
  font-family: var(--font-head);
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}

.btn-scheme-explore:hover {
  background: #D4AF37;
  color: #0A192F;
}

.btn-scheme-apply {
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #CBD5E1;
  color: #334155;
  font-family: var(--font-head);
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.2s ease;
}

.btn-scheme-apply:hover {
  border-color: #0A192F;
  color: #0A192F;
  background: #F1F5F9;
}

body.dark-theme .btn-scheme-apply {
  border-color: #334155;
  color: #CBD5E1;
}

/* Master Comparison Table */
.scheme-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  background: #FFFFFF;
  box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.05);
  margin: 30px 0;
}

body.dark-theme .scheme-table-wrap {
  background: #111E36;
  border-color: #1E2E4E;
}

.scheme-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  min-width: 750px;
}

.scheme-table th {
  background: #0A192F;
  color: #FFFFFF;
  padding: 16px 20px;
  font-family: var(--font-head);
  font-size: 0.84rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.scheme-table td {
  padding: 16px 20px;
  border-bottom: 1px solid #F1F5F9;
  font-size: 0.88rem;
  color: #334155;
}

body.dark-theme .scheme-table td {
  border-bottom-color: #1C2B47;
  color: #CBD5E1;
}

.scheme-table tr:hover td {
  background: #F8FAFC;
}

body.dark-theme .scheme-table tr:hover td {
  background: #162442;
}

/* 4-Step Process Grid */
.process-grid-4 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  margin-top: 36px;
}

.process-step-item {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 18px;
  padding: 28px 24px;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.process-step-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

body.dark-theme .process-step-item {
  background: #111E36;
  border-color: #1E2E4E;
}

.process-step-num {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #D4AF37 0%, #B8960C 100%);
  color: #0A192F;
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.35);
}

.process-step-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 8px;
}

body.dark-theme .process-step-title {
  color: #F8FAFC;
}

.process-step-desc {
  font-size: 0.85rem;
  color: #64748B;
  line-height: 1.5;
}

body.dark-theme .process-step-desc {
  color: #94A3B8;
}

/* Resources Hub Components */
.resource-tabs-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.resource-tab-btn {
  padding: 10px 22px;
  border-radius: 9999px;
  border: 1.5px solid #E2E8F0;
  background: #FFFFFF;
  color: #334155;
  font-family: var(--font-head);
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.resource-tab-btn:hover {
  border-color: #D4AF37;
  color: #0A192F;
}

.resource-tab-btn.active {
  background: #0A192F;
  color: #FFFFFF;
  border-color: #0A192F;
  box-shadow: 0 4px 14px rgba(10, 25, 47, 0.25);
}

body.dark-theme .resource-tab-btn {
  background: #111E36;
  border-color: #202F4E;
  color: #CBD5E1;
}

body.dark-theme .resource-tab-btn.active {
  background: linear-gradient(135deg, #D4AF37 0%, #B8960C 100%);
  color: #0A192F;
  border-color: #D4AF37;
}

.toolkit-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 24px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  transition: all 0.2s ease;
}

.toolkit-card:hover {
  transform: translateY(-3px);
  border-color: #D4AF37;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
}

body.dark-theme .toolkit-card {
  background: #111E36;
  border-color: #1E2E4E;
}

.toolkit-icon-badge {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #FEF3C7;
  color: #D97706;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.toolkit-meta-title {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 800;
  color: #0F172A;
}

body.dark-theme .toolkit-meta-title {
  color: #F8FAFC;
}

.toolkit-meta-desc {
  font-size: 0.82rem;
  color: #64748B;
  margin: 4px 0 12px;
}

body.dark-theme .toolkit-meta-desc {
  color: #94A3B8;
}

.toolkit-btn-download {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-head);
  font-size: 0.82rem;
  font-weight: 750;
  color: #C25E1A;
  text-decoration: none;
  transition: color 0.2s ease;
}

.toolkit-btn-download:hover {
  color: #0A192F;
}

/* About Page Leadership & Milestones */
.leadership-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 28px;
  margin-top: 36px;
}

.leader-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 30px 24px;
  text-align: center;
  box-shadow: 0 8px 24px -6px rgba(15, 23, 42, 0.06);
  transition: transform 0.2s ease;
}

.leader-card:hover {
  transform: translateY(-4px);
  border-color: #CBD5E1;
}

body.dark-theme .leader-card {
  background: #111E36;
  border-color: #1E2E4E;
}

.leader-avatar-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0A192F 0%, #1E3A5F 100%);
  color: #D4AF37;
  font-family: var(--font-head);
  font-size: 1.5rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  box-shadow: 0 6px 18px rgba(10, 25, 47, 0.2);
}

.leader-name {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 4px;
}

body.dark-theme .leader-name {
  color: #F8FAFC;
}

.leader-role {
  font-size: 0.82rem;
  font-weight: 700;
  color: #C25E1A;
  margin-bottom: 12px;
}

.leader-bio {
  font-size: 0.84rem;
  color: #64748B;
  line-height: 1.5;
}

body.dark-theme .leader-bio {
  color: #94A3B8;
}

/* Timeline Components */
.timeline-track {
  position: relative;
  max-width: 860px;
  margin: 40px auto;
  padding: 20px 0;
}

.timeline-track::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: #E2E8F0;
  transform: translateX(-50%);
}

body.dark-theme .timeline-track::before {
  background: #1E2E4E;
}

.timeline-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: calc(50% + 30px);
  position: relative;
  margin-bottom: 36px;
}

.timeline-row.reverse {
  justify-content: flex-start;
  padding-right: 0;
  padding-left: calc(50% + 30px);
}

.timeline-node-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #D4AF37;
  border: 4px solid #FFFFFF;
  box-shadow: 0 0 0 2px #0A192F;
}

.timeline-box {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 20px 24px;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.05);
  max-width: 360px;
}

body.dark-theme .timeline-box {
  background: #111E36;
  border-color: #1E2E4E;
}

.timeline-year {
  font-family: var(--font-head);
  font-size: 0.82rem;
  font-weight: 800;
  color: #C25E1A;
}

.timeline-heading {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 800;
  color: #0F172A;
  margin: 4px 0 6px;
}

body.dark-theme .timeline-heading {
  color: #F8FAFC;
}

.timeline-text {
  font-size: 0.82rem;
  color: #64748B;
  line-height: 1.45;
}

body.dark-theme .timeline-text {
  color: #94A3B8;
}

@media (max-width: 768px) {
  .timeline-track::before {
    left: 20px;
  }

  .timeline-row,
  .timeline-row.reverse {
    padding-left: 50px;
    padding-right: 0;
    justify-content: flex-start;
  }

  .timeline-node-circle {
    left: 20px;
  }

  .scheme-grid-enhanced {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   DPIIT STARTUP INDIA RECOGNITION & TAX EXEMPTIONS SHOWCASE
   ========================================================================== */
.dpiit-benefits-section {
  padding: 80px 0;
  background: #FFFFFF;
  position: relative;
}

body.dark-theme .dpiit-benefits-section {
  background: #080E1E;
}

.dpiit-section-head {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 52px;
}

.dpiit-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  color: #B8960C;
  padding: 5px 14px;
  border-radius: 9999px;
  font-family: var(--font-head);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

body.dark-theme .dpiit-badge {
  color: #F5C542;
  background: rgba(212, 175, 55, 0.15);
}

.dpiit-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #D4AF37;
  box-shadow: 0 0 10px #D4AF37;
}

.dpiit-title {
  font-family: var(--font-head);
  font-size: clamp(1.85rem, 3.2vw, 2.5rem);
  font-weight: 850;
  color: #0A192F;
  letter-spacing: -0.025em;
  line-height: 1.2;
  margin-bottom: 16px;
}

body.dark-theme .dpiit-title {
  color: #F8FAFC;
}

.dpiit-lead {
  font-size: 1.02rem;
  color: #475569;
  line-height: 1.65;
  margin: 0 auto;
}

body.dark-theme .dpiit-lead {
  color: #94A3B8;
}

/* 3-Column Key Benefits Grid */
.dpiit-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.dpiit-benefit-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 20px;
  padding: 30px 26px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  position: relative;
  overflow: hidden;
}

body.dark-theme .dpiit-benefit-card {
  background: #0D1528;
  border-color: #1E293B;
}

.dpiit-benefit-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #C9A227 0%, #F5C542 50%, #B8960C 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.dpiit-benefit-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 175, 55, 0.45);
  box-shadow: 0 20px 40px -10px rgba(10, 25, 47, 0.1), 0 0 20px rgba(212, 175, 55, 0.15);
}

.dpiit-benefit-card:hover::before {
  opacity: 1;
}

.dpiit-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.dpiit-icon-wrap {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(10, 25, 47, 0.04) 100%);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B8960C;
}

body.dark-theme .dpiit-icon-wrap {
  color: #F5C542;
  background: rgba(212, 175, 55, 0.12);
}

.dpiit-icon-wrap svg {
  width: 24px;
  height: 24px;
}

.benefit-badge {
  font-family: var(--font-head);
  font-size: 0.70rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 9999px;
}

.benefit-badge-gold {
  background: #FEF3C7;
  color: #B45309;
  border: 1px solid #FDE68A;
}

.benefit-badge-emerald {
  background: #DCFCE7;
  color: #15803D;
  border: 1px solid #BBF7D0;
}

.benefit-badge-blue {
  background: #DBEAFE;
  color: #1D4ED8;
  border: 1px solid #BFDBFE;
}

.benefit-badge-purple {
  background: #F3E8FF;
  color: #7E22CE;
  border: 1px solid #E9D5FF;
}

.benefit-badge-amber {
  background: #FFEDD5;
  color: #C2410C;
  border: 1px solid #FED7AA;
}

.benefit-badge-cyan {
  background: #CFFAFE;
  color: #0E7490;
  border: 1px solid #A5F3FC;
}

body.dark-theme .benefit-badge {
  background: rgba(255, 255, 255, 0.08);
}

.dpiit-card-title {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 12px;
  line-height: 1.35;
}

body.dark-theme .dpiit-card-title {
  color: #F8FAFC;
}

.dpiit-card-desc {
  font-size: 0.90rem;
  color: #475569;
  line-height: 1.62;
  margin: 0;
  flex: 1;
}

body.dark-theme .dpiit-card-desc {
  color: #94A3B8;
}

/* ==========================================================================
   ELIGIBILITY CRITERIA SECTION (Deep Navy Luxury Backdrop)
   ========================================================================== */
.dpiit-eligibility-section {
  padding: 90px 0;
  background: radial-gradient(circle at 50% 0%, #11203D 0%, #070F1E 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.2);
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
  position: relative;
  overflow: hidden;
}

.dpiit-eligibility-section .dpiit-title {
  color: #FFFFFF;
}

.dpiit-eligibility-section .dpiit-lead {
  color: #CBD5E1;
}

.dpiit-criteria-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.dpiit-criteria-card {
  background: rgba(13, 25, 48, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.dpiit-criteria-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212, 175, 55, 0.5);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}

.criteria-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.criteria-number {
  font-family: var(--font-head);
  font-size: 1.5rem;
  font-weight: 850;
  background: linear-gradient(135deg, #C9A227 0%, #F5C542 50%, #FFFFFF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1;
}

.criteria-cat-pill {
  font-family: var(--font-head);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94A3B8;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 3px 9px;
  border-radius: 9999px;
}

.criteria-card-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 800;
  color: #FFFFFF;
  margin-bottom: 10px;
  line-height: 1.35;
}

.criteria-card-desc {
  font-size: 0.88rem;
  color: #CBD5E1;
  line-height: 1.6;
  margin: 0 0 18px;
  flex: 1;
}

.criteria-check-box {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.25);
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 0.76rem;
  font-weight: 700;
  color: #34D399;
}

.criteria-check-box svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: #34D399;
}

/* ==========================================================================
   REXERA ENGAGEMENT WORKFLOW (4-Step Connected Roadmap)
   ========================================================================== */
.dpiit-journey-section {
  padding: 85px 0;
  background: #F8FAFC;
  position: relative;
}

body.dark-theme .dpiit-journey-section {
  background: #0B1220;
}

.dpiit-journey-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  position: relative;
}

.dpiit-journey-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 20px;
  padding: 28px 22px;
  position: relative;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

body.dark-theme .dpiit-journey-card {
  background: #0D1629;
  border-color: #1E293B;
}

.dpiit-journey-card:hover {
  transform: translateY(-5px);
  border-color: #D4AF37;
  box-shadow: 0 16px 32px rgba(10, 25, 47, 0.08);
}

.journey-step-num {
  font-family: var(--font-head);
  font-size: 2.2rem;
  font-weight: 900;
  background: linear-gradient(135deg, #C9A227 0%, #F5C542 60%, #B8960C 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1;
  margin-bottom: 14px;
}

.journey-card-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 10px;
  line-height: 1.35;
}

body.dark-theme .journey-card-title {
  color: #F8FAFC;
}

.journey-card-desc {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.6;
  margin: 0 0 16px;
  flex: 1;
}

body.dark-theme .journey-card-desc {
  color: #94A3B8;
}

.journey-tag-box {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 0.74rem;
  font-weight: 700;
  color: #334155;
}

body.dark-theme .journey-tag-box {
  background: #151F33;
  border-color: #24344D;
  color: #CBD5E1;
}

/* ==========================================================================
   STATUTORY DISCLAIMER CARD
   ========================================================================== */
.dpiit-disclaimer-wrap {
  padding: 30px 0 10px;
}

.dpiit-disclaimer-card {
  background: #FEF3C7;
  border: 1.5px solid #FCD34D;
  border-left: 5px solid #D97706;
  border-radius: 16px;
  padding: 20px 24px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

body.dark-theme .dpiit-disclaimer-card {
  background: #171F30;
  border-color: rgba(245, 197, 66, 0.3);
  border-left-color: #F5C542;
}

.dpiit-disclaimer-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(217, 119, 6, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B45309;
  flex-shrink: 0;
}

body.dark-theme .dpiit-disclaimer-icon {
  background: rgba(245, 197, 66, 0.15);
  color: #F5C542;
}

.dpiit-disclaimer-icon svg {
  width: 20px;
  height: 20px;
}

.dpiit-disclaimer-content h5 {
  font-family: var(--font-head);
  font-size: 0.88rem;
  font-weight: 800;
  color: #92400E;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 6px;
}

body.dark-theme .dpiit-disclaimer-content h5 {
  color: #F5C542;
}

.dpiit-disclaimer-content p {
  font-size: 0.84rem;
  color: #78350F;
  line-height: 1.6;
  margin: 0;
}

body.dark-theme .dpiit-disclaimer-content p {
  color: #CBD5E1;
}

/* ==========================================================================
   HIGH-IMPACT CTA BANNER
   ========================================================================== */
.dpiit-cta-section {
  padding: 85px 0;
  background: linear-gradient(135deg, #0A192F 0%, #11203D 50%, #081120 100%);
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(212, 175, 55, 0.25);
}

.dpiit-cta-box {
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.dpiit-cta-title {
  font-family: var(--font-head);
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  font-weight: 850;
  color: #FFFFFF;
  letter-spacing: -0.025em;
  line-height: 1.22;
  margin-bottom: 18px;
}

.dpiit-cta-lead {
  font-size: 1.05rem;
  color: #CBD5E1;
  line-height: 1.65;
  margin: 0 auto 34px;
}

.dpiit-cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
}

.btn-navy-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 24px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  color: #FFFFFF !important;
  font-family: var(--font-head);
  font-size: 0.92rem;
  font-weight: 750;
  text-decoration: none;
  backdrop-filter: blur(10px);
  transition: all 0.25s ease;
}

.btn-navy-pill:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: #FFFFFF;
  transform: translateY(-2px);
}

.btn-outline-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 24px;
  border-radius: 9999px;
  background: transparent;
  border: 1.5px solid rgba(212, 175, 55, 0.6);
  color: #F5C542 !important;
  font-family: var(--font-head);
  font-size: 0.92rem;
  font-weight: 750;
  text-decoration: none;
  transition: all 0.25s ease;
}

.btn-outline-gold:hover {
  background: rgba(212, 175, 55, 0.15);
  border-color: #F5C542;
  transform: translateY(-2px);
}

/* ==========================================================================
   PMEGP SUBSIDY MATRIX & CRITERIA SHOWCASE
   ========================================================================== */
.pmegp-subsidy-section {
  padding: 80px 0;
  background: #FFFFFF;
  position: relative;
}

body.dark-theme .pmegp-subsidy-section {
  background: #080E1E;
}

.pmegp-matrix-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px -5px rgba(10, 25, 47, 0.06);
  margin-bottom: 24px;
}

body.dark-theme .pmegp-matrix-card {
  background: #0D1528;
  border-color: #1E293B;
}

.pmegp-table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.pmegp-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  min-width: 680px;
}

.pmegp-table thead th {
  background: #0A192F;
  color: #F8FAFC;
  font-family: var(--font-head);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 16px 20px;
  border-bottom: 2px solid rgba(212, 175, 55, 0.4);
}

.pmegp-table tbody td {
  padding: 18px 20px;
  font-size: 0.90rem;
  color: #334155;
  border-bottom: 1px solid #F1F5F9;
  vertical-align: middle;
}

body.dark-theme .pmegp-table tbody td {
  color: #CBD5E1;
  border-bottom-color: #1E293B;
}

.pmegp-table tbody tr:last-child td {
  border-bottom: none;
}

.pmegp-table tbody tr:hover {
  background: #F8FAFC;
}

body.dark-theme .pmegp-table tbody tr:hover {
  background: #111C33;
}

.table-cat-title {
  font-family: var(--font-head);
  font-weight: 800;
  color: #0F172A;
  font-size: 0.96rem;
}

body.dark-theme .table-cat-title {
  color: #FFFFFF;
}

.table-cat-sub {
  display: block;
  font-size: 0.76rem;
  color: #64748B;
  margin-top: 4px;
  line-height: 1.4;
}

body.dark-theme .table-cat-sub {
  color: #94A3B8;
}

.rate-badge-urban {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 9999px;
  background: #FEF3C7;
  color: #B45309;
  border: 1px solid #FDE68A;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 0.85rem;
}

.rate-badge-rural {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 9999px;
  background: #DCFCE7;
  color: #15803D;
  border: 1px solid #BBF7D0;
  font-family: var(--font-head);
  font-weight: 850;
  font-size: 0.85rem;
}

.rate-badge-own {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 8px;
  background: #F1F5F9;
  color: #334155;
  font-weight: 750;
  font-size: 0.82rem;
}

body.dark-theme .rate-badge-own {
  background: #1E293B;
  color: #E2E8F0;
}

.pmegp-highlights-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 24px;
}

@media (max-width: 640px) {
  .pmegp-highlights-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

.pmegp-highlight-pill {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 18px 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  transition: all 0.25s ease;
}

.pmegp-highlight-pill:hover {
  border-color: #CBD5E1;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

body.dark-theme .pmegp-highlight-pill {
  background: #0D1629;
  border-color: #1E293B;
  box-shadow: none;
}

body.dark-theme .pmegp-highlight-pill:hover {
  border-color: #334155;
}

.pmegp-highlight-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B8960C;
  flex-shrink: 0;
  margin-top: 2px;
}

body.dark-theme .pmegp-highlight-icon {
  background: rgba(245, 197, 66, 0.12);
  border-color: rgba(245, 197, 66, 0.25);
  color: #F5C542;
}

.pmegp-highlight-text {
  font-size: 0.90rem;
  color: #475569;
  line-height: 1.55;
  flex: 1;
}

body.dark-theme .pmegp-highlight-text {
  color: #94A3B8;
}

.pmegp-highlight-text strong {
  color: #0F172A;
  font-weight: 700;
}

body.dark-theme .pmegp-highlight-text strong {
  color: #F8FAFC;
}

/* ==========================================================================
   GUJARAT INDUSTRIAL SCHEME INCENTIVES SHOWCASE
   ========================================================================== */
.guj-pills-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #F1F5F9;
}

body.dark-theme .guj-pills-list {
  border-top-color: #1E293B;
}

.guj-pill-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 0.80rem;
}

body.dark-theme .guj-pill-item {
  background: #111C33;
  border-color: #1E293B;
}

.guj-pill-label {
  font-weight: 700;
  color: #334155;
}

body.dark-theme .guj-pill-label {
  color: #CBD5E1;
}

.guj-pill-value {
  font-family: var(--font-head);
  font-weight: 800;
  color: #B45309;
  background: #FEF3C7;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 0.76rem;
}

body.dark-theme .guj-pill-value {
  background: rgba(245, 197, 66, 0.15);
  color: #F5C542;
}

.guj-pill-value.emerald {
  color: #15803D;
  background: #DCFCE7;
}

body.dark-theme .guj-pill-value.emerald {
  background: rgba(16, 185, 129, 0.15);
  color: #34D399;
}

/* ==========================================================================
   EDITORIAL PORTFOLIO & BLOG HUB STYLES
   ========================================================================== */
.blog-filter-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 40px;
}

.blog-filter-btn {
  font-family: var(--font-head);
  font-size: 0.86rem;
  font-weight: 750;
  padding: 10px 20px;
  border-radius: 9999px;
  border: 1.5px solid #E2E8F0;
  background: #FFFFFF;
  color: #334155;
  cursor: pointer;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body.dark-theme .blog-filter-btn {
  background: #0F172A;
  border-color: #1E293B;
  color: #94A3B8;
}

.blog-filter-btn:hover {
  border-color: #C9A227;
  color: #B45309;
  transform: translateY(-2px);
}

body.dark-theme .blog-filter-btn:hover {
  border-color: #F5C542;
  color: #F5C542;
}

.blog-filter-btn.active {
  background: linear-gradient(135deg, #0A192F 0%, #11203D 100%);
  border-color: #D4AF37;
  color: #F5D061 !important;
  box-shadow: 0 4px 14px rgba(10, 25, 47, 0.15);
}

body.dark-theme .blog-filter-btn.active {
  background: linear-gradient(135deg, #1E293B 0%, #0F172A 100%);
  border-color: #F5C542;
  color: #F5C542 !important;
}

.blog-articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.blog-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 20px;
  padding: 30px 26px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}

body.dark-theme .blog-card {
  background: #0D1528;
  border-color: #1E293B;
}

.blog-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #C9A227 0%, #F5C542 50%, #B8960C 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.blog-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 175, 55, 0.45);
  box-shadow: 0 20px 40px -10px rgba(10, 25, 47, 0.1), 0 0 20px rgba(212, 175, 55, 0.15);
}

.blog-card:hover::before {
  opacity: 1;
}

.blog-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.blog-card-title {
  font-family: var(--font-head);
  font-size: 1.16rem;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.38;
  margin: 0 0 12px;
}

body.dark-theme .blog-card-title {
  color: #F8FAFC;
}

.blog-card-desc {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.62;
  margin: 0 0 20px;
  flex: 1;
}

body.dark-theme .blog-card-desc {
  color: #94A3B8;
}

.blog-author-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid #F1F5F9;
  margin-top: auto;
}

body.dark-theme .blog-author-row {
  border-top-color: #1E293B;
}

.blog-author-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(10, 25, 47, 0.05) 100%);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B8960C;
  flex-shrink: 0;
}

body.dark-theme .blog-author-avatar {
  background: rgba(212, 175, 55, 0.12);
  color: #F5C542;
}

.blog-author-avatar svg {
  width: 18px;
  height: 18px;
}

.blog-author-info {
  display: flex;
  flex-direction: column;
}

.blog-author-name {
  font-family: var(--font-head);
  font-size: 0.80rem;
  font-weight: 750;
  color: #0F172A;
  line-height: 1.35;
}

body.dark-theme .blog-author-name {
  color: #E2E8F0;
}

.blog-author-date {
  font-size: 0.74rem;
  color: #64748B;
  margin-top: 2px;
}

body.dark-theme .blog-author-date {
  color: #94A3B8;
}

.blog-read-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-top: 14px;
  border-top: 1px solid #F1F5F9;
  font-family: var(--font-head);
  font-size: 0.88rem;
  font-weight: 800;
  color: #B8960C;
  text-decoration: none;
  transition: all 0.2s ease;
}

body.dark-theme .blog-read-link {
  border-top-color: #1E293B;
  color: #F5C542;
}

.blog-read-link:hover {
  color: #0A192F;
  transform: translateX(3px);
}

body.dark-theme .blog-read-link:hover {
  color: #FFFFFF;
}

/* Luxury Newsletter Dispatch Card */
.newsletter-luxury-form {
  max-width: 580px;
  margin: 0 auto;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.newsletter-input-wrap {
  flex: 1;
  min-width: 280px;
  position: relative;
}

.newsletter-input-wrap svg {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  pointer-events: none;
}

.newsletter-input-wrap input {
  width: 100%;
  padding: 14px 16px 14px 44px;
  border-radius: 9999px;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: #FFFFFF;
  font-size: 0.92rem;
  outline: none;
  transition: all 0.25s ease;
}

.newsletter-input-wrap input::placeholder {
  color: #94A3B8;
}

.newsletter-input-wrap input:focus {
  border-color: #F5C542;
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 0 16px rgba(245, 197, 66, 0.25);
}

/* ==========================================================================
   COMPREHENSIVE MOBILE ENGINE ("Small All, Perfect Text & Functions")
   ========================================================================== */

@media (max-width: 980px) {
  .nav-links {
    display: none !important;
  }

  .btn-nav-eligibility {
    display: none !important;
    /* Handled by mobile drawer & sticky bottom bar */
  }

  .btn-nav-expert {
    display: none !important;
  }

  .nav-toggle {
    display: flex !important;
  }

  .dpiit-benefits-grid,
  .dpiit-criteria-grid,
  .dpiit-journey-grid,
  .blog-articles-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {

  .dpiit-benefits-grid,
  .dpiit-criteria-grid,
  .dpiit-journey-grid,
  .blog-articles-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .dpiit-benefit-card,
  .dpiit-criteria-card,
  .dpiit-journey-card,
  .blog-card {
    padding: 20px 18px !important;
    border-radius: 16px !important;
  }

  .newsletter-luxury-form {
    flex-direction: column !important;
    width: 100% !important;
  }

  .newsletter-input-wrap {
    width: 100% !important;
    min-width: 100% !important;
  }

  .newsletter-luxury-form button {
    width: 100% !important;
    justify-content: center !important;
  }

  .dpiit-disclaimer-card {
    flex-direction: column !important;
    padding: 16px !important;
    gap: 12px !important;
  }

  .dpiit-cta-actions {
    flex-direction: column !important;
    width: 100% !important;
  }

  .dpiit-cta-actions .btn,
  .dpiit-cta-actions .btn-navy-pill,
  .dpiit-cta-actions .btn-outline-gold {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Prevent horizontal screen jank & overflow */
  html,
  body {
    overflow-x: clip !important;
    max-width: 100vw !important;
    width: 100% !important;
    padding-top: 68px !important;
    padding-bottom: 0px !important;
    -webkit-text-size-adjust: 100% !important;
    box-sizing: border-box !important;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
  }

  :root {
    --pad: 16px;
  }

  /* Safe container widths */
  .wrap,
  .container,
  [class*="max-w-"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .section {
    padding: 38px 0 !important;
  }

  /* Compact Typography Scaling: Clean, Crisp, Never Squeezed */
  h1,
  .hero-title,
  .about-hero-title,
  .stories-main-title {
    font-size: clamp(1.6rem, 5.8vw, 2.15rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em !important;
    word-break: break-word !important;
    margin-bottom: 14px !important;
  }

  h2,
  .section-header h2 {
    font-size: clamp(1.25rem, 4.4vw, 1.6rem) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.015em !important;
    word-break: break-word !important;
    margin-bottom: 12px !important;
  }

  h3 {
    font-size: clamp(1.02rem, 3.5vw, 1.25rem) !important;
    line-height: 1.32 !important;
    margin-bottom: 8px !important;
  }

  p,
  .lead,
  p.lead,
  .hero-desc,
  .about-hero-desc {
    font-size: 0.88rem !important;
    line-height: 1.55 !important;
    word-break: break-word !important;
  }

  /* Floating Anti-Gravity Navbar: Centered Sleek Mobile Pill */
  .nav-wrapper {
    position: fixed !important;
    top: 38px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 20px) !important;
    max-width: 580px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 9990 !important;
  }

  .nav-island,
  .anti-gravity-navbar {
    padding: 6px 12px !important;
    border-radius: 9999px !important;
  }

  .brand-logo-svg {
    height: 24px !important;
    width: auto !important;
  }

  .nav-actions {
    gap: 6px !important;
  }

  .icon-btn {
    width: 34px !important;
    height: 34px !important;
  }

  .btn-nav-call {
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
  }

  .btn-nav-call span {
    display: none !important;
  }

  .btn-nav-call svg {
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
  }

  .nav-toggle {
    width: 34px !important;
    height: 34px !important;
  }

  /* Hero Sections Spacing on Mobile: Clean, Tight, No Gaps */
  #home,
  #home>div,
  .hero,
  .hero-luxury,
  .about-hero,
  .about-hero-section,
  .page-hero,
  .inner-hero,
  .elig-hero-section,
  .schemes-hero-header,
  .resources-hero-header,
  .contact-hero,
  .faq-hero,
  .calc-hero,
  .breadcrumb-wrap,
  main>.section-pad:first-child,
  body>.section-pad:first-of-type {
    min-height: auto !important;
    padding-top: 6px !important;
    margin-top: 0 !important;
    padding-bottom: 28px !important;
  }

  .hero-badge-luxury,
  .pill-badge {
    padding: 5px 12px !important;
    font-size: 0.72rem !important;
    margin-bottom: 14px !important;
  }

  /* Responsive Filter Pills & Touch Bar */
  .filter-pills-row,
  .faq-filter-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    padding: 6px 4px 14px !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .filter-pill,
  .faq-pill-tab {
    padding: 6px 13px !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    border-radius: 9999px !important;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease !important;
  }

  .filter-pill:active,
  .faq-pill-tab:active {
    transform: scale(0.95) !important;
  }

  /* Grid Layouts Stacked on Mobile with Compact Gutters */
  .grid-2,
  .grid-3,
  .grid-4,
  .hero-grid-luxury,
  .about-stats-grid,
  .team-grid,
  .features-grid,
  .office-cards-row,
  .cards-grid-3,
  .cards-grid-4,
  .tax-app,
  .tiers-grid-4,
  .scope-grid-6,
  .schemes-cards-grid,
  div[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns: 1fr 1fr"],
  div[style*="grid-template-columns:1.2fr 0.8fr"],
  div[style*="grid-template-columns: 1.2fr 0.8fr"],
  .inner-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .stats-row,
  .elig-stats-grid,
  .about-stats-grid,
  .trust-strip-schemes,
  .scheme-ledger-strip,
  .mudra-summary-strip {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  /* Compact Sleek Cards on Mobile */
  .card,
  .scheme-card,
  .service-card,
  .stat-card,
  .why-card,
  .feature-card,
  .milestone-card,
  .review-card,
  .consult-card,
  .inner-hero-card,
  .content-block-card,
  .detail-section-card,
  .scheme-dir-card,
  .tier-card,
  .scope-box {
    padding: 14px 14px !important;
    border-radius: 14px !important;
  }

  /* Typography Refinements on Mobile */
  h1,
  .hero-title,
  .inner-hero-title {
    font-size: clamp(1.4rem, 6vw, 1.8rem) !important;
    line-height: 1.18 !important;
    margin-bottom: 10px !important;
  }

  h2,
  .section-header h2,
  .content-block-title,
  .detail-card-title {
    font-size: 1.15rem !important;
    line-height: 1.25 !important;
    margin-bottom: 10px !important;
  }

  h3 {
    font-size: 1.0rem !important;
  }

  p,
  .lede,
  .inner-hero-desc,
  .scheme-desc {
    font-size: 0.84rem !important;
    line-height: 1.5 !important;
  }

  /* Eligibility Form Styling on Mobile */
  .elig-card-form {
    padding: 16px 14px !important;
    border-radius: 16px !important;
  }

  .elig-tabs-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6px !important;
  }

  .elig-tab-btn {
    padding: 8px 4px !important;
    font-size: 0.74rem !important;
  }

  .elig-select-box,
  .elig-input {
    padding: 8px 10px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
  }

  .elig-btn-instant,
  .elig-submit-btn,
  .sidebar-btn-primary,
  .btn-apply-primary {
    padding: 10px 16px !important;
    font-size: 0.82rem !important;
    min-height: 40px !important;
    border-radius: 10px !important;
  }

  /* Tables: Smooth Horizontal Touch Scrolling */
  table,
  .table-wrap,
  .schemes-table-wrap,
  .comparison-table-wrap,
  .table-responsive-wrapper {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 12px !important;
  }

  table th,
  table td {
    padding: 10px 12px !important;
    font-size: 0.78rem !important;
  }

  /* Media Elements */
  img,
  video,
  iframe {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Buttons on Mobile: Compact Clean Tap Targets */
  .btn,
  .btn-gold,
  .btn-primary,
  .milestone-btn,
  .btn-light-pill {
    padding: 9px 16px !important;
    font-size: 0.80rem !important;
    min-height: 38px !important;
    white-space: nowrap !important;
    text-align: center !important;
    border-radius: 9999px !important;
  }

  .hero-luxury-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  /* Steppers and Timelines on Mobile */
  .scheme-stepper,
  .application-stepper {
    padding-left: 28px !important;
  }

  .stepper-num-bubble,
  .stepper-bubble {
    width: 22px !important;
    height: 22px !important;
    left: -28px !important;
    font-size: 0.70rem !important;
  }

  .stepper-node-title,
  .stepper-step-title {
    font-size: 0.92rem !important;
  }

  .stepper-node-desc,
  .stepper-step-desc {
    font-size: 0.80rem !important;
  }

  /* Accordions / FAQs on Mobile */
  .faq-accordion-item summary,
  .faq-item-collapsible summary {
    padding: 12px 14px !important;
    font-size: 0.86rem !important;
  }

  .faq-accordion-content,
  .faq-item-body {
    padding: 14px 14px !important;
    font-size: 0.82rem !important;
  }

  /* Forms: Prevent iOS Safari Auto-Zoom on Focus */
  input,
  select,
  textarea {
    font-size: 16px !important;
  }

  /* Modals: Clean Mobile Scaling */
  .modal-card,
  .search-modal-card,
  .cinema-modal-card,
  .video-modal-content,
  .consult-card {
    width: calc(100% - 20px) !important;
    max-width: 400px !important;
    max-height: 85vh !important;
    padding: 16px 14px !important;
    margin: auto !important;
    overflow-y: auto !important;
    border-radius: 18px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Footer on Mobile */
  .footer-main-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .corporate-footer {
    padding-bottom: 20px !important;
  }

  /* Mobile Sticky Bottom Bar (Floating Transparent Bar) */
  .mobile-bottom-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    border-top: none !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 14px max(10px, env(safe-area-inset-bottom)) !important;
    gap: 8px !important;
    z-index: 99990 !important;
    pointer-events: none !important;
  }

  .bar-eligibility-btn {
    flex: 1 !important;
    height: 44px !important;
    padding: 0 14px !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    background: linear-gradient(90deg, #C9A227 0%, #F5C542 40%, #D4AF37 70%, #B8960C 100%) !important;
    color: #0A192F !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45), 0 2px 8px rgba(212, 175, 55, 0.4) !important;
    white-space: nowrap !important;
    pointer-events: auto !important;
  }

  .bar-action-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    position: relative !important;
    background: radial-gradient(130% 130% at 30% 20%, #152744 0%, #081120 70%, #030712 100%) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 8px 24px -2px rgba(0, 0, 0, 0.75), inset 0 1px 1px rgba(255, 255, 255, 0.35) !important;
    flex-shrink: 0 !important;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    pointer-events: auto !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  .bar-action-btn span {
    display: none !important;
  }

  .bar-action-btn svg {
    width: 22px !important;
    height: 22px !important;
    transition: transform 0.25s ease, filter 0.25s ease !important;
    position: relative !important;
    z-index: 2 !important;
  }

  /* Call Button (Bright Vibrant Lime Green Round Emblem from Reference) */
  .bar-action-btn.call {
    background: #60D636 !important;
    border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: 0 6px 18px rgba(96, 214, 54, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.6) !important;
  }

  .bar-action-btn.call svg {
    fill: #FFFFFF !important;
    stroke: none !important;
    color: #FFFFFF !important;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25)) !important;
  }

  /* WhatsApp Button (Bright Vibrant Blue Emblem from Reference) */
  .bar-action-btn.wa {
    background: #007AFF !important;
    border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
    box-shadow: 0 6px 18px rgba(0, 122, 255, 0.5), inset 0 1px 2px rgba(255, 255, 255, 0.6) !important;
  }

  .bar-action-btn.wa svg {
    stroke: #FFFFFF !important;
    fill: #FFFFFF !important;
    color: #FFFFFF !important;
    stroke-width: 2.2 !important;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25)) !important;
  }

  .bar-action-btn:hover {
    transform: translateY(-2px) scale(1.08) !important;
  }

  .bar-action-btn.call:hover {
    box-shadow: 0 8px 24px rgba(96, 214, 54, 0.7), inset 0 1px 2px rgba(255, 255, 255, 0.8) !important;
  }

  .bar-action-btn.wa:hover {
    box-shadow: 0 8px 24px rgba(0, 122, 255, 0.7), inset 0 1px 2px rgba(255, 255, 255, 0.8) !important;
  }

  .bar-action-btn:active {
    transform: scale(0.92) !important;
  }
}

@media (max-width: 768px) {

  html,
  body {
    padding-top: 56px !important;
  }

  .nav-wrapper {
    top: 34px !important;
  }

  #home,
  #home>div,
  .hero,
  .hero-luxury,
  .about-hero,
  .about-hero-section,
  .page-hero,
  .inner-hero,
  .elig-hero-section,
  .schemes-hero-header,
  .resources-hero-header,
  .contact-hero,
  .faq-hero,
  .calc-hero,
  .breadcrumb-wrap,
  main>.section-pad:first-child,
  body>.section-pad:first-of-type {
    padding-top: 0px !important;
    margin-top: 0px !important;
  }

  #home>.relative {
    padding-top: 8px !important;
  }
}

@media (max-width: 480px) {

  html,
  body {
    padding-top: 52px !important;
  }

  .nav-wrapper {
    top: 32px !important;
  }

  #home,
  #home>div,
  .hero,
  .hero-luxury,
  .about-hero,
  .about-hero-section,
  .page-hero,
  .inner-hero,
  .elig-hero-section,
  .schemes-hero-header,
  .resources-hero-header,
  .contact-hero,
  .faq-hero,
  .calc-hero,
  .breadcrumb-wrap,
  main>.section-pad:first-child,
  body>.section-pad:first-of-type {
    padding-top: 0px !important;
    margin-top: 0px !important;
  }

  #home>.relative {
    padding-top: 6px !important;
  }

  h1,
  .hero-title {
    font-size: 1.55rem !important;
  }

  h2,
  .section-header h2 {
    font-size: 1.22rem !important;
  }

  .mobile-bottom-bar {
    padding: 6px 8px !important;
    gap: 6px !important;
  }

  .bar-eligibility-btn {
    font-size: 0.70rem !important;
    padding: 0 8px !important;
  }

  .bar-action-btn {
    padding: 0 !important;
  }
}

@media (max-width: 380px) {
  .bar-eligibility-btn span {
    font-size: 0.66rem !important;
  }

  .brand-logo-svg {
    height: 22px !important;
  }

  .stats-row,
  .elig-stats-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ======================================================
   LUXURY DEEP NAVY & GOLD TOAST NOTIFICATIONS
   ====================================================== */
.rexera-toast-container {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 1000000;
  display: flex;
  flex-direction: column;
  gap: 12px;
  pointer-events: none;
  max-width: 420px;
  width: calc(100% - 40px);
}

@media (max-width: 640px) {
  .rexera-toast-container {
    bottom: 74px;
    /* clearance for mobile bottom bar */
    right: 20px;
    left: 20px;
    width: auto;
  }
}

.rexera-toast {
  pointer-events: auto;
  background: rgba(10, 25, 47, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1.5px solid #D4AF37;
  border-radius: 16px;
  padding: 18px 20px;
  color: #FFFFFF;
  box-shadow: 0 16px 36px -4px rgba(0, 0, 0, 0.5), 0 0 20px rgba(212, 175, 55, 0.25);
  display: flex;
  align-items: flex-start;
  gap: 14px;
  opacity: 0;
  transform: translateY(20px) scale(0.95);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.rexera-toast.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.rexera-toast-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rexera-toast-icon.success {
  background: rgba(212, 175, 55, 0.18);
  border: 1px solid #D4AF37;
  color: #F6D365;
}

.rexera-toast-icon.error {
  background: rgba(239, 68, 68, 0.18);
  border: 1px solid #EF4444;
  color: #F87171;
}

.rexera-toast-content {
  flex: 1;
}

.rexera-toast-title {
  font-family: var(--font-head);
  font-size: 0.95rem;
  font-weight: 800;
  color: #FFFFFF;
  letter-spacing: -0.01em;
  margin: 0 0 4px;
}

.rexera-toast-message {
  font-size: 0.84rem;
  color: #CBD5E1;
  line-height: 1.45;
  margin: 0;
}

.rexera-toast-close {
  background: transparent;
  border: none;
  color: #94A3B8;
  font-size: 1.2rem;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color 0.2s;
}

.rexera-toast-close:hover {
  color: #FFFFFF;
}

/* ==========================================================
   REXERA FRONT-END CONTENT & INTELLECTUAL PROPERTY PROTECTION
   Prevents text highlighting and image dragging while keeping
   all forms, inputs, and interactive elements 100% usable.
   ========================================================== */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
div,
section,
ul,
li {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Keep form inputs, textareas, and select menus fully editable */
input,
textarea,
select,
[contenteditable="true"],
.selectable {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}

/* Prevent image dragging and casual saving */
/* ==========================================================
   REXERA ULTRA-REFINED MOBILE UI/UX ENGINE
   - Compact proportional scaling
   - Tactile touch targets & thumb-friendly reach
   - Eliminates awkward spacing & oversized typography
   - Crisp, readable labels & fast form completion
   ========================================================== */
@media (max-width: 768px) {

  /* 1. Global Touch Sizing & Typography */
  html,
  body {
    font-size: 14.5px !important;
  }

  /* 2. Top Header & Nav Island */
  .nav-island,
  .anti-gravity-navbar {
    height: 44px !important;
    padding: 4px 10px !important;
  }

  .brand-logo-svg {
    height: 22px !important;
  }

  .nav-toggle,
  .icon-btn,
  .btn-nav-call {
    width: 32px !important;
    height: 32px !important;
  }

  /* 3. Section Headers & Compact Hero Spacing */
  .section,
  section[id] {
    padding: 28px 0 !important;
  }

  .section-badge,
  .pill-badge,
  .dpiit-badge,
  .consult-badge {
    padding: 3px 10px !important;
    font-size: 0.65rem !important;
    margin-bottom: 8px !important;
  }

  .section-title,
  .hero-title,
  .dpiit-title {
    font-size: 1.45rem !important;
    line-height: 1.22 !important;
    margin-bottom: 8px !important;
  }

  .section-lead,
  .hero-desc,
  .dpiit-lead {
    font-size: 0.84rem !important;
    line-height: 1.48 !important;
    margin-bottom: 16px !important;
  }

  /* 4. Compact Feature & Service Cards */
  .service-card,
  .scheme-card,
  .dpiit-benefit-card,
  .dpiit-criteria-card,
  .blog-card,
  .rcard {
    padding: 15px 14px !important;
    border-radius: 14px !important;
    gap: 8px !important;
  }

  .service-card h3,
  .scheme-card h3,
  .dpiit-card-title,
  .blog-card-title {
    font-size: 1.05rem !important;
    line-height: 1.28 !important;
    margin-top: 6px !important;
    margin-bottom: 4px !important;
  }

  .service-card p,
  .scheme-card p,
  .dpiit-card-desc,
  .blog-card-desc {
    font-size: 0.78rem !important;
    line-height: 1.45 !important;
  }

  /* 5. Mobile Fast-Track Buttons */
  .btn,
  .btn-gold,
  .btn-primary,
  .consult-submit-btn,
  .milestone-btn {
    padding: 10px 16px !important;
    font-size: 0.80rem !important;
    letter-spacing: 0.03em !important;
    min-height: 40px !important;
    border-radius: 9999px !important;
  }

  /* 6. Form Fields & Modals Mobile Ergonomics */
  .consult-card,
  .modal-card {
    padding: 20px 16px 16px !important;
    border-radius: 20px !important;
    max-width: 94vw !important;
  }

  .consult-title {
    font-size: 1.25rem !important;
  }

  .consult-desc {
    font-size: 0.78rem !important;
    margin-bottom: 12px !important;
  }

  .consult-field {
    gap: 4px !important;
    margin-bottom: 8px !important;
  }

  .consult-label {
    font-size: 0.65rem !important;
  }

  .consult-input,
  .consult-select {
    padding: 10px 12px !important;
    font-size: 15px !important;
    /* Prevents auto-zoom while remaining ultra sleek */
    border-radius: 10px !important;
  }

  /* 7. Mobile Drawer Smooth Scaling */
  .mobile-drawer-body {
    padding: 14px 16px 80px !important;
  }

  .mobile-quick-card {
    padding: 10px 12px !important;
    border-radius: 12px !important;
  }

  .mobile-quick-title {
    font-size: 0.82rem !important;
  }

  .mobile-quick-subtitle {
    font-size: 0.68rem !important;
  }

  .mobile-drawer-link-direct,
  .mobile-drawer-trigger {
    padding: 11px 12px !important;
    font-size: 0.86rem !important;
  }

  .mobile-sub-item-link {
    padding: 8px 12px !important;
    font-size: 0.78rem !important;
  }

  /* 8. Corporate Footer on Mobile */
  .corporate-footer {
    padding-top: 24px !important;
    padding-bottom: 72px !important;
    /* Perfectly accommodates floating action bar with zero dead space */
  }

  .footer-main-grid {
    gap: 16px !important;
    margin-bottom: 14px !important;
  }

  .footer-brand-desc {
    font-size: 0.78rem !important;
    line-height: 1.45 !important;
  }

  .footer-col-title {
    font-size: 0.86rem !important;
    margin-bottom: 8px !important;
  }

  .footer-quick-list li {
    margin-bottom: 4px !important;
  }

  .footer-quick-link {
    font-size: 0.78rem !important;
  }

  .footer-office-card {
    padding: 8px !important;
    font-size: 0.74rem !important;
    border-radius: 10px !important;
    margin-bottom: 6px !important;
  }

  .footer-disclaimer-box {
    padding: 10px 12px !important;
    font-size: 0.70rem !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }

  .footer-subbar {
    font-size: 0.74rem !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    padding-top: 14px !important;
    padding-bottom: 0px !important;
    margin-bottom: 0px !important;
    text-align: center !important;
  }

  .footer-sublinks {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px 18px !important;
    margin-top: 2px !important;
    margin-bottom: 0px !important;
  }

  /* 9. Floating Eligibility & Floating Widgets: Strictly hidden on mobile to avoid overlapping the bottom bar */
  .floating-eligibility-pill,
  .floating-elig-dot,
  .floating-wa,
  .floating-whatsapp,
  .wa-float-btn,
  .whatsapp-float,
  .desktop-only-floating-wa,
  a[aria-label="Chat with REXERA on WhatsApp"],
  .mobile-count-badge {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* ======================================================
   UNIVERSAL AMBIENT FULL-SCREEN BACKGROUND VIDEO LAYER
   ====================================================== */
.site-bg-video-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -999;
  pointer-events: none;
  overflow: hidden;
  opacity: 0.38;
  transition: opacity 0.4s ease;
  contain: strict;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
}

body.dark-theme .site-bg-video-wrapper {
  opacity: 0.22;
}

.site-bg-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate3d(-50%, -50%, 0);
  -webkit-transform: translate3d(-50%, -50%, 0);
  object-fit: cover;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  pointer-events: none;
}

.site-bg-video-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.12) 0%, rgba(248, 250, 252, 0.58) 100%);
  pointer-events: none;
}

body.dark-theme .site-bg-video-overlay {
  background: radial-gradient(circle at 50% 30%, rgba(13, 21, 40, 0.35) 0%, rgba(8, 14, 30, 0.80) 100%);
}

@media (max-width: 640px) {
  .site-bg-video-wrapper {
    opacity: 0.30;
  }
}

/* ==========================================================================
   UNIVERSAL FAQ ACCORDION STYLES (ALL SCHEME & SERVICE SUBPAGES)
   ========================================================================== */
.dpiit-faq-container,
.faq-container,
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

.faq-item,
.dpiit-faq-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 10px -2px rgba(15, 23, 42, 0.04);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

body.dark-theme .faq-item,
body.dark-theme .dpiit-faq-card {
  background: #0D1528;
  border-color: #1E293B;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.faq-item:hover,
.dpiit-faq-card:hover {
  border-color: #CBD5E1;
  box-shadow: 0 8px 22px -4px rgba(15, 23, 42, 0.08);
}

body.dark-theme .faq-item:hover,
body.dark-theme .dpiit-faq-card:hover {
  border-color: #334155;
}

.faq-item.open,
.faq-item.is-open,
.faq-item.active,
.dpiit-faq-card.open,
.dpiit-faq-card.is-open {
  border-color: #D4AF37 !important;
  box-shadow: 0 10px 28px -4px rgba(212, 175, 55, 0.18) !important;
}

.faq-item.open .faq-q,
.faq-item.is-open .faq-q,
.faq-item.open .faq-btn,
.faq-item.is-open .faq-btn,
.faq-item.open .faq-question-text,
.faq-item.is-open .faq-question-text {
  color: #D4AF37 !important;
}

.faq-q,
.faq-btn,
.faq-trigger {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 18px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  font-family: inherit;
  font-weight: 750;
  font-size: 1.05rem;
  color: #0F172A;
  outline: none;
  transition: color 0.2s ease;
  user-select: none;
}

body.dark-theme .faq-q,
body.dark-theme .faq-btn,
body.dark-theme .faq-trigger {
  color: #F1F5F9;
}

.faq-q:hover,
.faq-btn:hover,
.faq-trigger:hover {
  color: #D4AF37;
}

.faq-question-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 1 !important;
  text-align: left;
}

.faq-badge-num {
  font-family: var(--font-mono, monospace);
  font-size: 0.78rem;
  font-weight: 800;
  color: #B8860B;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.28);
  padding: 3px 9px;
  border-radius: 6px;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

body.dark-theme .faq-badge-num {
  color: #F5D061;
  background: rgba(212, 175, 55, 0.18);
  border-color: rgba(212, 175, 55, 0.35);
}

.faq-question-text {
  flex: 1 !important;
  text-align: left !important;
  line-height: 1.45 !important;
  font-family: var(--font-head);
  font-size: 1.02rem;
  font-weight: 750;
  color: inherit;
}

.faq-arrow,
.faq-icon-wrapper,
.faq-icon {
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.faq-arrow {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  padding: 7px !important;
  border-radius: 50% !important;
  background: #F1F5F9;
  color: #475569;
  stroke: currentColor;
  stroke-width: 2.2;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

body.dark-theme .faq-arrow,
body.dark-theme .faq-icon-wrapper {
  background: #1E293B;
  color: #94A3B8;
}

.faq-q:hover .faq-arrow,
.faq-btn:hover .faq-arrow,
.faq-trigger:hover .faq-arrow,
.faq-btn:hover .faq-icon-wrapper {
  background: rgba(212, 175, 55, 0.15);
  color: #D4AF37;
  transform: scale(1.06);
}

.faq-item.open .faq-arrow,
.faq-item.is-open .faq-arrow,
.faq-item.active .faq-arrow,
.dpiit-faq-card.open .faq-arrow,
.dpiit-faq-card.is-open .faq-arrow,
.faq-item.open .faq-icon-wrapper,
.faq-item.is-open .faq-icon-wrapper {
  transform: rotate(180deg);
  background: linear-gradient(135deg, #F6D365 0%, #D4AF37 50%, #B88E18 100%);
  color: #0B132B;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.35);
}

.faq-a,
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
  opacity: 0;
}

.faq-item.open .faq-a,
.faq-item.open .faq-answer,
.faq-item.is-open .faq-a,
.faq-item.is-open .faq-answer,
.faq-item.active .faq-a,
.faq-item.active .faq-answer,
.dpiit-faq-card.open .faq-a,
.dpiit-faq-card.is-open .faq-a {
  max-height: 800px;
  opacity: 1;
}

.faq-a p,
.faq-answer p,
.faq-answer-inner {
  padding: 0 22px 18px;
  color: #475569;
  line-height: 1.65;
  font-size: 0.95rem;
  margin: 0;
}

body.dark-theme .faq-a p,
body.dark-theme .faq-answer p,
body.dark-theme .faq-answer-inner {
  color: #94A3B8;
}

@media (max-width: 640px) {

  .faq-q,
  .faq-btn,
  .faq-trigger {
    padding: 15px 16px;
    font-size: 0.95rem;
  }

  .faq-a p,
  .faq-answer p,
  .faq-answer-inner {
    padding: 0 16px 15px;
    font-size: 0.88rem;
  }

  .faq-arrow,
  .faq-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    padding: 6px !important;
  }
}

/* ==========================================================================
   DPIIT DOCUMENTATION DOSSIER & REQUIRED DOCUMENTS GRID
   ========================================================================== */
.dpiit-docs-section {
  padding: 85px 0;
  background: #FFFFFF;
  position: relative;
}

body.dark-theme .dpiit-docs-section {
  background: #0B1324;
}

.dpiit-docs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  width: 100%;
}

.dpiit-doc-card {
  background: #F8FAFC;
  border: 1.5px solid #E2E8F0;
  border-radius: 18px;
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

body.dark-theme .dpiit-doc-card {
  background: #0D1629;
  border-color: #1E293B;
}

.dpiit-doc-card:hover {
  transform: translateY(-4px);
  border-color: #D4AF37;
  box-shadow: 0 14px 30px rgba(10, 25, 47, 0.08);
}

.doc-card-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(10, 25, 47, 0.04) 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: #B8960C;
  margin-bottom: 16px;
  flex-shrink: 0;
}

body.dark-theme .doc-card-icon {
  background: rgba(212, 175, 55, 0.12);
  color: #F5C542;
}

.doc-card-icon svg {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  stroke: currentColor;
  stroke-width: 2.2;
  display: block;
}

.doc-card-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 800;
  color: #0F172A;
  margin: 0 0 8px;
  line-height: 1.35;
}

body.dark-theme .doc-card-title {
  color: #F8FAFC;
}

.doc-card-desc {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}

body.dark-theme .doc-card-desc {
  color: #94A3B8;
}

@media (max-width: 991px) {
  .dpiit-docs-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

/* ==========================================================================
   REXERA FINANCIAL INTELLIGENCE — SCHEMES & RESOURCES ECOSYSTEM 2.0
   ========================================================================== */

/* --- Mega Menu Dropdowns (Schemes & Resources) --- */
.mega-dropdown-panel {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(8px) !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 24px !important;
  padding: 24px 28px !important;
  box-shadow: 0 25px 60px -15px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.03) !important;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  pointer-events: none;
  z-index: 9999 !important;
}

body.dark-theme .mega-dropdown-panel {
  background: #0D1528 !important;
  border-color: #1E293B !important;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.7) !important;
}

.nav-item:hover .mega-dropdown-panel {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
  pointer-events: auto !important;
}

.mega-schemes-panel {
  width: 960px !important;
  max-width: 96vw !important;
}

.mega-resources-panel {
  width: 880px !important;
  max-width: 96vw !important;
}

.mega-panel-layout {
  display: flex;
  gap: 28px;
}

/* Left Introduction Column */
.mega-intro-col {
  flex: 0 0 260px;
  background: linear-gradient(135deg, #0A192F 0%, #112240 100%);
  border-radius: 20px;
  padding: 24px;
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 25px -5px rgba(10, 25, 47, 0.3);
}

.mega-intro-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(214, 139, 36, 0.18);
  border: 1px solid rgba(214, 139, 36, 0.4);
  color: #F5C542;
  font-size: 0.68rem;
  font-weight: 800;
  border-radius: 9999px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.mega-intro-title {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.3;
  color: #FFFFFF;
  margin-bottom: 10px;
}

.mega-intro-desc {
  font-size: 0.80rem;
  color: #94A3B8;
  line-height: 1.5;
  margin-bottom: 20px;
}

.mega-intro-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 16px;
  background: linear-gradient(135deg, #F6D365 0%, #E6B439 50%, #D89E28 100%);
  color: #0A192F;
  border-radius: 9999px;
  font-family: var(--font-head);
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 14px rgba(214, 139, 36, 0.35);
}

.mega-intro-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(214, 139, 36, 0.5);
  color: #0A192F;
}

/* Right Content Links Column */
.mega-links-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.mega-groups-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 24px;
  flex: 1;
}

.mega-schemes-groups {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 20px;
}

.mega-group-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 800;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}

body.dark-theme .mega-group-title {
  color: #94A3B8;
}

.mega-group-bar {
  width: 3px;
  height: 10px;
  border-radius: 2px;
  background: #D68B24;
}

.mega-items-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.mega-link-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.mega-link-item:hover {
  background: #F8FAFC;
  transform: translateX(3px);
}

body.dark-theme .mega-link-item:hover {
  background: #162036;
}

.mega-link-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #0D1528;
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

body.dark-theme .mega-link-icon {
  background: #1E293B;
  border-color: #334155;
  color: #F8FAFC;
}

.mega-link-item:hover .mega-link-icon {
  transform: scale(1.08);
  background: #D68B24;
  color: #FFFFFF;
  border-color: #D68B24;
}

.mega-link-text {
  flex: 1;
  min-width: 0;
}

.mega-link-heading {
  font-family: var(--font-head);
  font-size: 0.84rem;
  font-weight: 750;
  color: #0F172A;
  line-height: 1.25;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body.dark-theme .mega-link-heading {
  color: #F8FAFC;
}

.mega-link-arrow {
  opacity: 0;
  transform: translateX(-4px);
  transition: all 0.2s ease;
  color: #D68B24;
}

.mega-link-item:hover .mega-link-arrow {
  opacity: 1;
  transform: translateX(0);
}

.mega-link-sub {
  font-size: 0.70rem;
  color: #64748B;
  margin-top: 2px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.dark-theme .mega-link-sub {
  color: #94A3B8;
}

.mega-panel-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #F1F5F9;
}

body.dark-theme .mega-panel-bottom {
  border-top-color: #1E293B;
}

.mega-bottom-link {
  font-size: 0.78rem;
  font-weight: 750;
  color: #D68B24;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: transform 0.2s ease;
}

.mega-bottom-link:hover {
  transform: translateX(3px);
  color: #B45309;
}

/* --- Interactive Quick Scheme Finder Component --- */
.quick-finder-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 0 20px 45px -10px rgba(15, 23, 42, 0.08);
  margin-top: -30px;
  position: relative;
  z-index: 10;
}

body.dark-theme .quick-finder-card {
  background: #0D1528;
  border-color: #1E293B;
  box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.5);
}

.finder-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 12px;
}

.finder-heading {
  font-family: var(--font-head);
  font-size: 1.35rem;
  font-weight: 800;
  color: #0F172A;
  display: flex;
  align-items: center;
  gap: 10px;
}

body.dark-theme .finder-heading {
  color: #F8FAFC;
}

.finder-badge {
  background: #FFF7ED;
  border: 1px solid #FFEDD5;
  color: #C2410C;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.finder-grid-form {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: flex-end;
}

@media (max-width: 1024px) {
  .finder-grid-form {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .finder-grid-form {
    grid-template-columns: 1fr;
  }
}

.finder-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.finder-label {
  font-size: 0.74rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #475569;
}

body.dark-theme .finder-label {
  color: #94A3B8;
}

.finder-select,
.finder-input {
  width: 100%;
  padding: 12px 14px;
  background: #F8FAFC;
  border: 1.5px solid #E2E8F0;
  border-radius: 12px;
  font-family: var(--font-body);
  font-size: 0.88rem;
  color: #0F172A;
  outline: none;
  transition: all 0.2s ease;
}

body.dark-theme .finder-select,
body.dark-theme .finder-input {
  background: #111C30;
  border-color: #1E2E48;
  color: #F8FAFC;
}

.finder-select:focus,
.finder-input:focus {
  border-color: #D68B24;
  background: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(214, 139, 36, 0.15);
}

.finder-submit-btn {
  width: 100%;
  padding: 13px 20px;
  background: #0D1528;
  color: #FFFFFF;
  border: 1px solid #0D1528;
  border-radius: 12px;
  font-family: var(--font-head);
  font-size: 0.88rem;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
}

.finder-submit-btn:hover {
  background: #D68B24;
  border-color: #D68B24;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(214, 139, 36, 0.35);
}

/* --- Scheme Interactive Comparison Drawer / Matrix --- */
.scheme-compare-bar {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9995;
  background: #0D1528;
  color: #FFFFFF;
  border: 1.5px solid rgba(214, 139, 36, 0.4);
  border-radius: 18px;
  padding: 12px 20px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  gap: 16px;
  transform: translateY(120%);
  opacity: 0;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.scheme-compare-bar.is-active {
  transform: translateY(0);
  opacity: 1;
}

.compare-chips {
  display: flex;
  align-items: center;
  gap: 8px;
}

.compare-chip {
  background: rgba(255, 255, 255, 0.1);
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.74rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.compare-chip-remove {
  cursor: pointer;
  color: #F87171;
  display: flex;
  align-items: center;
}

.compare-modal-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 18px;
  font-size: 0.88rem;
}

.compare-modal-table th,
.compare-modal-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #E2E8F0;
  text-align: left;
}

body.dark-theme .compare-modal-table th,
body.dark-theme .compare-modal-table td {
  border-bottom-color: #1E293B;
}

.compare-modal-table th {
  background: #F8FAFC;
  font-family: var(--font-head);
  font-weight: 800;
  color: #0F172A;
}

body.dark-theme .compare-modal-table th {
  background: #111B2E;
  color: #F8FAFC;
}

/* --- Category Cards Grid (Schemes & Resources) --- */
.category-tiles-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

@media (max-width: 1024px) {
  .category-tiles-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .category-tiles-grid {
    grid-template-columns: 1fr;
  }
}

.cat-tile-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 20px;
  padding: 24px;
  text-decoration: none;
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

body.dark-theme .cat-tile-card {
  background: #0D1528;
  border-color: #1E293B;
}

.cat-tile-card:hover {
  transform: translateY(-4px);
  border-color: #D68B24;
  box-shadow: 0 16px 36px -8px rgba(214, 139, 36, 0.18);
}

.cat-tile-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: #FFFBEB;
  border: 1px solid #FEF3C7;
  color: #D68B24;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  transition: transform 0.2s ease;
}

body.dark-theme .cat-tile-icon {
  background: rgba(214, 139, 36, 0.12);
  border-color: rgba(214, 139, 36, 0.3);
}

.cat-tile-card:hover .cat-tile-icon {
  transform: scale(1.1);
  background: #D68B24;
  color: #FFFFFF;
}

.cat-tile-title {
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 6px;
}

body.dark-theme .cat-tile-title {
  color: #F8FAFC;
}

.cat-tile-desc {
  font-size: 0.82rem;
  color: #64748B;
  line-height: 1.5;
  margin-bottom: 16px;
  flex: 1;
}

body.dark-theme .cat-tile-desc {
  color: #94A3B8;
}

.cat-tile-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.76rem;
  font-weight: 750;
  color: #D68B24;
}

/* --- Detail Page Layout System (Two-Column Layout) --- */
.detail-layout-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  align-items: flex-start;
}

@media (max-width: 991px) {
  .detail-layout-grid {
    grid-template-columns: 1fr;
  }
}

.detail-sticky-sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.detail-action-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.06);
}

body.dark-theme .detail-action-card {
  background: #0D1528;
  border-color: #1E293B;
}

/* --- Key Information Matrix (Financial Metrics) --- */
.key-metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 28px 0;
}

@media (max-width: 640px) {
  .key-metrics-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.metric-box {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
}

body.dark-theme .metric-box {
  background: #111C30;
  border-color: #1E2E48;
}

.metric-lbl {
  font-size: 0.72rem;
  font-weight: 750;
  text-transform: uppercase;
  color: #64748B;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}

body.dark-theme .metric-lbl {
  color: #94A3B8;
}

.metric-val {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.2;
}

body.dark-theme .metric-val {
  color: #F8FAFC;
}

.metric-val.highlight {
  color: #D68B24;
}

/* --- CHECK ELIGIBILITYlist Indicator System --- */
.eligibility-check-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.check-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 14px;
  font-size: 0.88rem;
  line-height: 1.5;
}

.check-item.eligible {
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  color: #166534;
}

body.dark-theme .check-item.eligible {
  background: rgba(22, 101, 52, 0.15);
  border-color: rgba(34, 197, 94, 0.3);
  color: #86EFAC;
}

.check-item.conditional {
  background: #FEFCE8;
  border: 1px solid #FEF08A;
  color: #854D0E;
}

body.dark-theme .check-item.conditional {
  background: rgba(133, 77, 14, 0.15);
  border-color: rgba(234, 179, 8, 0.3);
  color: #FDE047;
}

.check-item.ineligible {
  background: #FEF2F2;
  border: 1px solid #FECACA;
  color: #991B1B;
}

body.dark-theme .check-item.ineligible {
  background: rgba(153, 27, 27, 0.15);
  border-color: rgba(239, 68, 68, 0.3);
  color: #FCA5A5;
}

.check-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-weight: 800;
  font-size: 0.78rem;
}

.check-item.eligible .check-icon {
  background: #22C55E;
  color: #FFFFFF;
}

.check-item.conditional .check-icon {
  background: #EAB308;
  color: #000000;
}

.check-item.ineligible .check-icon {
  background: #EF4444;
  color: #FFFFFF;
}

/* --- Step-by-Step Application Timeline Stepper --- */
.timeline-stepper {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  position: relative;
  margin: 32px 0;
}

@media (max-width: 991px) {
  .timeline-stepper {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-left: 20px;
    border-left: 2px solid #E2E8F0;
  }
}

.stepper-step {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 16px 14px;
  display: flex;
  flex-direction: column;
  position: relative;
}

body.dark-theme .stepper-step {
  background: #111B2E;
  border-color: #1E293B;
}

.step-number-tag {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #0D1528;
  color: #F5C542;
  font-family: var(--font-head);
  font-size: 0.82rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}

.step-title {
  font-family: var(--font-head);
  font-size: 0.88rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 4px;
  line-height: 1.3;
}

body.dark-theme .step-title {
  color: #F8FAFC;
}

.step-desc {
  font-size: 0.74rem;
  color: #64748B;
  line-height: 1.45;
}

body.dark-theme .step-desc {
  color: #94A3B8;
}

/* --- Official Disclaimer & Source Panel --- */
.disclaimer-source-panel {
  background: #F8FAFC;
  border: 1px dashed #CBD5E1;
  border-radius: 16px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 32px;
  flex-wrap: wrap;
}

body.dark-theme .disclaimer-source-panel {
  background: #111C30;
  border-color: #1E2E48;
}

.disclaimer-source-text {
  font-size: 0.80rem;
  color: #64748B;
  line-height: 1.5;
  flex: 1;
}

body.dark-theme .disclaimer-source-text {
  color: #94A3B8;
}

.official-portal-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #FFFFFF;
  border: 1px solid #CBD5E1;
  border-radius: 9999px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #0F172A;
  text-decoration: none;
  transition: all 0.2s ease;
}

body.dark-theme .official-portal-btn {
  background: #1E293B;
  border-color: #334155;
  color: #F8FAFC;
}

.official-portal-btn:hover {
  background: #0D1528;
  color: #FFFFFF;
  border-color: #0D1528;
}

/* --- Comparison Modal Overlay & Dialog --- */
.compare-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(15, 23, 42, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.compare-modal-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.compare-modal-box {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 24px;
  max-width: 960px;
  width: 100%;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.4);
  transform: translateY(20px) scale(0.98);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}

.compare-modal-overlay.is-visible .compare-modal-box {
  transform: translateY(0) scale(1);
}

body.dark-theme .compare-modal-box {
  background: #0D1528;
  border-color: #1E293B;
}

.compare-modal-header {
  padding: 20px 28px;
  border-bottom: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #F8FAFC;
}

body.dark-theme .compare-modal-header {
  background: #111B2E;
  border-bottom-color: #1E293B;
}

.compare-modal-title {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  color: #0F172A;
  margin: 0;
}

body.dark-theme .compare-modal-title {
  color: #F8FAFC;
}

.compare-modal-close {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: #64748B;
  cursor: pointer;
  transition: all 0.2s ease;
}

body.dark-theme .compare-modal-close {
  background: #1E293B;
  border-color: #334155;
  color: #CBD5E1;
}

.compare-modal-close:hover {
  background: #EF4444;
  color: #FFFFFF;
  border-color: #EF4444;
}

.compare-modal-body {
  padding: 24px 28px;
  overflow-y: auto;
  flex: 1;
}

.btn-scheme-compare {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 14px;
  background: #F1F5F9;
  border: 1px solid #CBD5E1;
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 750;
  color: #334155;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 10px;
}

body.dark-theme .btn-scheme-compare {
  background: #1E293B;
  border-color: #334155;
  color: #CBD5E1;
}

.btn-scheme-compare:hover {
  background: #0D1528;
  color: #FFFFFF;
  border-color: #0D1528;
}

.btn-scheme-compare.is-selected {
  background: #D68B24;
  color: #FFFFFF;
  border-color: #D68B24;
}

.scheme-filter-count-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  font-size: 0.84rem;
  color: #64748B;
  font-weight: 600;
}

/* ==========================================================================
   SCHEMES HUB 2.0 ENHANCED STYLING (CARDS, SEARCH, TABLES, WORKFLOW)
   ========================================================================== */

/* Live Search Container & Input */
.live-search-container {
  position: relative;
  max-width: 640px;
  margin: 0 auto 24px;
}

.live-search-icon {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: #94A3B8;
  pointer-events: none;
}

.live-search-input {
  width: 100%;
  padding: 16px 20px 16px 52px;
  border-radius: 9999px;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 0.95rem;
  outline: none;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  transition: all 0.25s ease;
}

.live-search-input::placeholder {
  color: #94A3B8;
}

.live-search-input:focus {
  background: rgba(255, 255, 255, 0.15);
  border-color: #F5C542;
  box-shadow: 0 10px 30px rgba(212, 175, 55, 0.25);
}

/* Filter Pills Row */
.filter-pills-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 36px;
}

.filter-pill {
  padding: 8px 18px;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: #CBD5E1;
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  backdrop-filter: blur(8px);
}

.filter-pill:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.35);
  transform: translateY(-1px);
}

.filter-pill.active {
  background: linear-gradient(135deg, #F6D365 0%, #D4AF37 100%);
  color: #0A192F;
  border-color: #D4AF37;
  font-weight: 800;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.35);
}

/* Enhanced Schemes Card Grid */
.scheme-grid-enhanced {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

@media (max-width: 980px) {
  .scheme-grid-enhanced {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.scheme-card-box {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 24px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 10px 30px -8px rgba(15, 23, 42, 0.06);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

body.dark-theme .scheme-card-box {
  background: #0D1528;
  border-color: #1E293B;
  box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.5);
}

.scheme-card-box:hover {
  transform: translateY(-4px);
  border-color: #D68B24;
  box-shadow: 0 20px 45px -10px rgba(214, 139, 36, 0.16);
}

.scheme-top-badge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.scheme-tag {
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #475569;
  background: #F1F5F9;
  padding: 4px 10px;
  border-radius: 6px;
}

body.dark-theme .scheme-tag {
  background: #1E293B;
  color: #94A3B8;
}

.scheme-subsidy-highlight {
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 800;
  color: #B45309;
  background: #FEF3C7;
  border: 1px solid #FDE68A;
  padding: 4px 12px;
  border-radius: 9999px;
  letter-spacing: 0.02em;
}

body.dark-theme .scheme-subsidy-highlight {
  background: rgba(245, 197, 66, 0.15);
  border-color: rgba(245, 197, 66, 0.35);
  color: #F5C542;
}

.scheme-card-title {
  font-family: var(--font-head);
  font-size: 1.35rem;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.25;
  margin: 0 0 10px;
}

body.dark-theme .scheme-card-title {
  color: #F8FAFC;
}

.scheme-card-summary {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.6;
  margin: 0 0 20px;
}

body.dark-theme .scheme-card-summary {
  color: #94A3B8;
}

/* 4-Item Spec Grid Inside Card */
.scheme-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  background: #F8FAFC;
  border: 1px solid #EEF2F6;
  border-radius: 16px;
  padding: 14px 16px;
  margin-bottom: 24px;
}

body.dark-theme .scheme-spec-grid {
  background: #111C30;
  border-color: #1E2E48;
}

.scheme-spec-item {
  display: flex;
  flex-direction: column;
}

.scheme-spec-label {
  font-size: 0.68rem;
  font-weight: 750;
  text-transform: uppercase;
  color: #64748B;
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}

body.dark-theme .scheme-spec-label {
  color: #94A3B8;
}

.scheme-spec-val {
  font-family: var(--font-head);
  font-size: 0.95rem;
  font-weight: 800;
  color: #0F172A;
}

body.dark-theme .scheme-spec-val {
  color: #F8FAFC;
}

/* Card Action Buttons */
.scheme-card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 14px;
  border-top: 1px solid #F1F5F9;
}

body.dark-theme .scheme-card-actions {
  border-top-color: #1E293B;
}

.btn-scheme-explore {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 18px;
  background: #0D1528;
  color: #FFFFFF !important;
  border-radius: 9999px;
  font-family: var(--font-head);
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
  transition: all 0.2s ease;
  min-height: 40px;
}

.btn-scheme-explore:hover {
  background: #D68B24;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(214, 139, 36, 0.35);
}

.btn-scheme-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  background: #F1F5F9;
  border: 1px solid #CBD5E1;
  color: #1E293B !important;
  border-radius: 9999px;
  font-family: var(--font-body);
  font-size: 0.80rem;
  font-weight: 750;
  text-decoration: none;
  transition: all 0.2s ease;
  min-height: 40px;
}

body.dark-theme .btn-scheme-apply {
  background: #1E293B;
  border-color: #334155;
  color: #F8FAFC !important;
}

.btn-scheme-apply:hover {
  background: #E2E8F0;
  color: #0F172A !important;
}

body.dark-theme .btn-scheme-apply:hover {
  background: #334155;
}

/* Comparison Matrix Table */
.scheme-table-wrap {
  width: 100%;
  overflow-x: auto;
  border-radius: 18px;
  border: 1.5px solid #E2E8F0;
  background: #FFFFFF;
  box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.06);
}

body.dark-theme .scheme-table-wrap {
  background: #0D1528;
  border-color: #1E293B;
}

.scheme-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.88rem;
}

.scheme-table th {
  background: #F8FAFC;
  padding: 16px 20px;
  font-family: var(--font-head);
  font-weight: 800;
  color: #0F172A;
  border-bottom: 2px solid #E2E8F0;
  white-space: nowrap;
}

body.dark-theme .scheme-table th {
  background: #111B2E;
  color: #F8FAFC;
  border-bottom-color: #1E293B;
}

.scheme-table td {
  padding: 16px 20px;
  border-bottom: 1px solid #F1F5F9;
  color: #334155;
}

body.dark-theme .scheme-table td {
  border-bottom-color: #1E293B;
  color: #CBD5E1;
}

.scheme-table tr:hover td {
  background: #F8FAFC;
}

body.dark-theme .scheme-table tr:hover td {
  background: #111C30;
}

/* 4-Step Process Grid */
.process-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 980px) {
  .process-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 540px) {
  .process-grid-4 {
    grid-template-columns: 1fr;
  }
}

.process-step-item {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 20px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  position: relative;
  box-shadow: 0 6px 20px -6px rgba(15, 23, 42, 0.05);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

body.dark-theme .process-step-item {
  background: #0D1528;
  border-color: #1E293B;
}

.process-step-item:hover {
  transform: translateY(-3px);
  border-color: #D68B24;
}

.process-step-num {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #0D1528;
  color: #F5C542;
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  box-shadow: 0 4px 12px rgba(13, 21, 40, 0.2);
}

.process-step-title {
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 800;
  color: #0F172A;
  margin: 0 0 8px;
  line-height: 1.3;
}

body.dark-theme .process-step-title {
  color: #F8FAFC;
}

.process-step-desc {
  font-size: 0.84rem;
  color: #64748B;
  line-height: 1.55;
  margin: 0;
}

body.dark-theme .process-step-desc {
  color: #94A3B8;
}

/* ==========================================================================
   SCHEME DETAIL PAGES: SHARED ENHANCED COMPONENTS
   (Key Metrics Matrix, CHECK ELIGIBILITYlist, Stepper, Docs Grid & Official Source Panel)
   ========================================================================== */

/* Key Metrics Matrix (Top of Benefits Section) */
.key-metrics-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  margin-bottom: 48px;
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 4px 20px -4px rgba(10, 25, 47, 0.05);
}

body.dark-theme .key-metrics-grid {
  background: #0D1528;
  border-color: #1E293B;
  box-shadow: none;
}

@media (max-width: 1024px) {
  .key-metrics-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .key-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 16px;
  }
}

.metric-box {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  transition: all 0.2s ease;
}

body.dark-theme .metric-box {
  background: #111C33;
  border-color: #1E293B;
}

.metric-box:hover {
  transform: translateY(-2px);
  border-color: #CBD5E1;
}

body.dark-theme .metric-box:hover {
  border-color: #334155;
}

.metric-lbl {
  font-size: 0.72rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748B;
}

body.dark-theme .metric-lbl {
  color: #94A3B8;
}

.metric-val {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 850;
  color: #0F172A;
  line-height: 1.25;
}

body.dark-theme .metric-val {
  color: #F8FAFC;
}

.metric-val.highlight {
  color: #B45309;
}

body.dark-theme .metric-val.highlight {
  color: #F5C542;
}

/* CHECK ELIGIBILITY List */
.eligibility-check-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}

.check-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 14px;
  font-size: 0.92rem;
  line-height: 1.55;
  transition: all 0.2s ease;
}

.check-item.eligible {
  background: #F0FDF4;
  border: 1.5px solid #BBF7D0;
  color: #166534;
}

body.dark-theme .check-item.eligible {
  background: rgba(22, 101, 52, 0.12);
  border-color: rgba(34, 197, 94, 0.3);
  color: #86EFAC;
}

.check-item.eligible strong {
  color: #14532D;
}

body.dark-theme .check-item.eligible strong {
  color: #FFFFFF;
}

.check-item.conditional {
  background: #FEFCE8;
  border: 1.5px solid #FEF08A;
  color: #854D0E;
}

body.dark-theme .check-item.conditional {
  background: rgba(133, 77, 14, 0.15);
  border-color: rgba(234, 179, 8, 0.3);
  color: #FDE047;
}

.check-item.conditional strong {
  color: #713F12;
}

body.dark-theme .check-item.conditional strong {
  color: #FFFFFF;
}

.check-item.ineligible {
  background: #FEF2F2;
  border: 1.5px solid #FECACA;
  color: #991B1B;
}

body.dark-theme .check-item.ineligible {
  background: rgba(153, 27, 27, 0.12);
  border-color: rgba(239, 68, 68, 0.3);
  color: #FCA5A5;
}

.check-item.ineligible strong {
  color: #7F1D1D;
}

body.dark-theme .check-item.ineligible strong {
  color: #FFFFFF;
}

.check-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-weight: 800;
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: -1px;
}

.check-item.eligible .check-icon {
  background: #22C55E;
  color: #FFFFFF;
}

.check-item.conditional .check-icon {
  background: #EAB308;
  color: #0A192F;
}

.check-item.ineligible .check-icon {
  background: #EF4444;
  color: #FFFFFF;
}

/* Timeline Stepper */
.timeline-stepper {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  position: relative;
  margin-top: 24px;
}

@media (max-width: 1100px) {
  .timeline-stepper {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
  }
}

@media (max-width: 640px) {
  .timeline-stepper {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

.stepper-step {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 16px;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px -4px rgba(10, 25, 47, 0.04);
}

body.dark-theme .stepper-step {
  background: #0D1528;
  border-color: #1E293B;
  box-shadow: none;
}

.stepper-step:hover {
  transform: translateY(-3px);
  border-color: #D4AF37;
  box-shadow: 0 12px 24px -6px rgba(10, 25, 47, 0.08);
}

.step-number-tag {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #0A192F 0%, #11203D 100%);
  color: #F5D061;
  font-family: var(--font-head);
  font-size: 1.1rem;
  font-weight: 850;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  border: 1px solid rgba(212, 175, 55, 0.3);
}

body.dark-theme .step-number-tag {
  background: linear-gradient(135deg, #1E293B 0%, #0F172A 100%);
  border-color: #F5C542;
}

.step-title {
  font-family: var(--font-head);
  font-size: 0.98rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 8px;
  line-height: 1.35;
}

body.dark-theme .step-title {
  color: #F8FAFC;
}

.step-desc {
  font-size: 0.82rem;
  color: #64748B;
  line-height: 1.55;
  margin: 0;
  flex: 1;
}

body.dark-theme .step-desc {
  color: #94A3B8;
}

/* Documentation Dossier Grid & Cards */
.dpiit-docs-section {
  padding: 85px 0;
  background: #FFFFFF;
}

body.dark-theme .dpiit-docs-section {
  background: #080E1E;
}

.dpiit-docs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 980px) {
  .dpiit-docs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 580px) {
  .dpiit-docs-grid {
    grid-template-columns: 1fr;
  }
}

.dpiit-doc-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 18px;
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  position: relative;
}

body.dark-theme .dpiit-doc-card {
  background: #0D1528;
  border-color: #1E293B;
}

.dpiit-doc-card:hover {
  transform: translateY(-4px);
  border-color: #D4AF37;
  box-shadow: 0 16px 32px rgba(10, 25, 47, 0.08);
}

.doc-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B8960C;
  margin-bottom: 16px;
  flex-shrink: 0;
}

body.dark-theme .doc-card-icon {
  background: rgba(245, 197, 66, 0.12);
  border-color: rgba(245, 197, 66, 0.25);
  color: #F5C542;
}

.doc-card-icon svg {
  width: 22px;
  height: 22px;
}

.doc-card-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 8px;
  line-height: 1.35;
}

body.dark-theme .doc-card-title {
  color: #F8FAFC;
}

.doc-card-desc {
  font-size: 0.86rem;
  color: #64748B;
  line-height: 1.58;
  margin: 0;
  flex: 1;
}

body.dark-theme .doc-card-desc {
  color: #94A3B8;
}

/* Statutory Source & Official Portal Bar */
.disclaimer-source-panel {
  background: #0A192F;
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 0.84rem;
  color: #94A3B8;
}

.disclaimer-source-text strong {
  color: #F5D061;
}

.official-portal-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 9999px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.35);
  color: #F5C542 !important;
  font-family: var(--font-head);
  font-size: 0.80rem;
  font-weight: 800;
  text-decoration: none;
  transition: all 0.2s ease;
}

.official-portal-btn:hover {
  background: #D4AF37;
  color: #0A192F !important;
  border-color: #D4AF37;
  transform: translateY(-1px);
}

/* ==========================================================================
   RESOURCES & MEDIA SUITE: LUXURY CARD SYSTEM
   (Announcements, Summits, Media Cards, Case Study Cards)
   ========================================================================== */
.page-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 980px) {
  .page-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .page-grid {
    grid-template-columns: 1fr !important;
  }
}

.service-card {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 20px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 18px -4px rgba(10, 25, 47, 0.05);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}

body.dark-theme .service-card {
  background: #0D1528;
  border-color: #1E293B;
  box-shadow: none;
}

.service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #C9A227 0%, #F5C542 50%, #B8960C 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.service-card:hover {
  transform: translateY(-5px);
  border-color: rgba(212, 175, 55, 0.5);
  box-shadow: 0 16px 36px -8px rgba(10, 25, 47, 0.1), 0 0 20px rgba(212, 175, 55, 0.12);
}

.service-card:hover::before {
  opacity: 1;
}

.card-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  font-family: var(--font-head);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 9999px;
  background: #FEF3C7;
  color: #B45309;
  border: 1px solid #FDE68A;
  margin-bottom: 14px;
}

body.dark-theme .card-badge {
  background: rgba(212, 175, 55, 0.15);
  border-color: rgba(212, 175, 55, 0.3);
  color: #F5C542;
}

.service-card h3 {
  font-family: var(--font-head);
  font-size: 1.15rem;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.35;
  margin: 0 0 10px;
}

body.dark-theme .service-card h3 {
  color: #F8FAFC;
}

.service-card p {
  font-size: 0.88rem;
  color: #475569;
  line-height: 1.62;
  margin: 0 0 18px;
  flex: 1;
}

body.dark-theme .service-card p {
  color: #94A3B8;
}

.card-action {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #F1F5F9;
}

body.dark-theme .card-action {
  border-top-color: #1E293B;
}

.card-action .link-btn {
  font-family: var(--font-head);
  font-size: 0.86rem;
  font-weight: 800;
  color: #B8860B;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: transform 0.2s ease, color 0.2s ease;
}

.card-action .link-btn:hover {
  color: #D4AF37;
  transform: translateX(3px);
}

body.dark-theme .card-action .link-btn {
  color: #F5D061;
}

/* Card Icons */
.card-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B8960C;
  margin-bottom: 16px;
  flex-shrink: 0;
}

body.dark-theme .card-icon {
  background: rgba(245, 197, 66, 0.12);
  border-color: rgba(245, 197, 66, 0.25);
  color: #F5C542;
}

.card-icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
}

/* Case Studies 3-Column Internal Subgrid */
.card-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (max-width: 768px) {
  .card-grid-3 {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* ======================================================
   UNIVERSAL CORPORATE FOOTER & MOBILE BAR COMPATIBILITY
   ====================================================== */
.corporate-footer {
  padding-bottom: 20px !important;
}

.footer-subbar {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.footer-sublinks {
  display: flex !important;
  align-items: center;
  gap: 20px;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 820px) {

  html,
  body {
    padding-bottom: 0 !important;
  }

  .corporate-footer {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .footer-subbar {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding-top: 14px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    text-align: center !important;
    font-size: 0.74rem !important;
  }

  .footer-sublinks {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px 18px !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .footer-sublink {
    display: inline-block !important;
    font-size: 0.76rem !important;
    color: #475569 !important;
    text-decoration: none !important;
    padding: 3px 2px !important;
  }
}

/* ==========================================================================
   UNIVERSAL FORM SUBMIT BUTTON DISABLED & LOCKED STATE (GTM CLICK PROTECTION)
   ========================================================================== */
button[type="submit"]:disabled,
input[type="submit"]:disabled,
.elig-btn-instant:disabled,
.consult-submit-btn:disabled,
.dm-submit-btn:disabled,
.help-form-submit-btn:disabled,
.finder-submit-btn:disabled,
.btn-locked {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  box-shadow: none !important;
  transform: none !important;
  filter: grayscale(0.5) !important;
  user-select: none !important;
  transition: opacity 0.25s ease, filter 0.25s ease, background 0.25s ease !important;
}

button[type="submit"]:not(:disabled),
.elig-btn-instant:not(:disabled),
.consult-submit-btn:not(:disabled),
.dm-submit-btn:not(:disabled),
.help-form-submit-btn:not(:disabled),
.finder-submit-btn:not(:disabled) {
  opacity: 1 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  filter: none !important;
  transition: opacity 0.25s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

.form-completion-hint {
  font-size: 0.82rem;
  color: #D97706;
  text-align: center;
  margin-top: 10px;
  font-weight: 600;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.form-completion-hint.ready {
  color: #16A34A !important;
}