:root {
  --primary: #1e3a8a;
  --primary-rgb: 30, 58, 138;
  --secondary: #f97316;
  --secondary-rgb: 249, 115, 22;
  --text-color: #334155;
  --heading-color: #0f172a;
  --gradient-start: #1e3a8a;
  --gradient-start-rgb: 30, 58, 138;
  --gradient-end: #f97316;
  --gradient-end-rgb: 249, 115, 22;
  --body-font: 'Plus Jakarta Sans', sans-serif;
  --heading-font: 'Merriweather', serif;
  --header-logo-max-width: 8.75rem;
  --header-logo-max-height: 3.4rem;
  --header-logo-mobile-max-width: 8.25rem;
  --header-logo-mobile-max-height: 3rem;
  --footer-logo-max-width: 12.5rem;
  --footer-logo-max-height: 4.8rem;
  --footer-logo-mobile-max-width: 10.5rem;
  --footer-logo-mobile-max-height: 4rem;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--body-font), 'Noto Sans Devanagari', 'Hind', 'Mukta', 'Nirmala UI', 'Mangal', sans-serif;
  color: var(--text-color);
  background: var(--site-background-fill);
}

input,
textarea,
select,
button {
  font-family: inherit;
}

.modal-open {
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--heading-color);
  font-family: var(--heading-font), 'Noto Sans Devanagari', 'Hind', 'Mukta', 'Nirmala UI', 'Mangal', serif;
}

.font-display {
  font-family: var(--heading-font), 'Noto Sans Devanagari', 'Hind', 'Mukta', 'Nirmala UI', 'Mangal', serif;
}

.site-body {
  background: var(--site-background-fill);
  min-height: 100vh;
}

.admin-body {
  background:
    radial-gradient(circle at top, rgba(var(--gradient-end-rgb), 0.14), transparent 20%),
    linear-gradient(180deg, rgba(248, 250, 252, 1) 0%, rgba(var(--gradient-start-rgb), 0.12) 100%);
}

.text-brand-primary {
  color: var(--primary);
}

.text-brand-secondary {
  color: var(--secondary);
}

.bg-brand-primary {
  background-color: var(--primary);
}

.bg-brand-secondary {
  background-color: var(--secondary);
}

.border-brand-primary {
  border-color: var(--primary);
}

.bg-brand-gradient {
  background: linear-gradient(135deg, var(--gradient-start) 0%, var(--gradient-end) 100%);
}

.bg-brand-soft {
  background: linear-gradient(135deg, rgba(var(--gradient-start-rgb), 0.12) 0%, rgba(var(--gradient-end-rgb), 0.12) 100%);
}

.hero-panel {
  background:
    linear-gradient(135deg, rgba(var(--gradient-start-rgb), 0.96) 0%, rgba(var(--primary-rgb), 0.92) 45%, rgba(var(--gradient-end-rgb), 0.92) 100%);
}

.surface-card {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 55px rgba(15, 23, 42, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.7);
}

.card-lift {
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.card-lift:hover {
  transform: translateY(-6px);
  box-shadow: 0 25px 60px rgba(15, 23, 42, 0.14);
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--primary-button-fill);
  color: var(--primary-button-text);
  font-weight: 700;
  box-shadow: 0 15px 40px rgba(var(--primary-button-shadow-rgb), 0.2);
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}

.btn-primary:hover {
  transform: translateY(-2px);
  filter: saturate(1.04) brightness(0.98);
  box-shadow: 0 18px 45px rgba(var(--primary-button-shadow-rgb), 0.28);
}

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--secondary-button-fill);
  color: var(--secondary-button-text);
  font-weight: 700;
  box-shadow: 0 15px 40px rgba(var(--secondary-button-shadow-rgb), 0.18);
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}

.btn-secondary:hover {
  transform: translateY(-2px);
  filter: saturate(1.04) brightness(0.98);
  box-shadow: 0 18px 45px rgba(var(--secondary-button-shadow-rgb), 0.24);
}

.btn-outline-theme {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid var(--outline-button-border);
  background: var(--outline-button-bg);
  color: var(--outline-button-text);
  font-weight: 700;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.btn-outline-theme:hover {
  transform: translateY(-2px);
  border-color: var(--outline-button-hover-text);
  background: var(--outline-button-hover-bg);
  color: var(--outline-button-hover-text);
  box-shadow: 0 14px 32px rgba(var(--primary-rgb), 0.12);
}

.hero-free-class-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  border-radius: 999px;
  color: var(--hero-free-class-text, #ffffff);
  background: var(--hero-free-class-bg, var(--primary));
  font-weight: 800;
  letter-spacing: 0.01em;
  box-shadow: 0 18px 44px rgba(var(--hero-free-class-shadow-rgb, var(--primary-rgb)), 0.24);
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease, opacity 180ms ease;
}

.hero-free-class-button.is-gradient {
  background: linear-gradient(135deg, var(--hero-free-class-gradient-start, var(--gradient-start)) 0%, var(--hero-free-class-gradient-end, var(--gradient-end)) 100%);
}

.hero-free-class-button:hover {
  transform: translateY(-2px);
  filter: saturate(1.04);
  box-shadow: 0 24px 52px rgba(var(--hero-free-class-shadow-rgb, var(--primary-rgb)), 0.3);
}

.hero-free-class-button:focus-visible {
  outline: 3px solid rgba(var(--primary-rgb), 0.2);
  outline-offset: 3px;
}

.hero-free-class-button svg {
  flex: 0 0 auto;
}

.badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  padding: 0.55rem 0.9rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: #fff;
}

.footer-link {
  color: rgba(var(--footer-text-rgb), 0.92);
  transition: color 180ms ease, transform 180ms ease;
}

.footer-link:hover {
  color: var(--footer-heading-color);
  transform: translateX(4px);
}

.site-body .text-slate-900,
.site-body .text-slate-800 {
  color: var(--heading-color) !important;
}

.site-body .text-slate-700,
.site-body .text-slate-600 {
  color: var(--text-color) !important;
}

.site-body .text-slate-500 {
  color: rgba(var(--text-rgb), 0.82) !important;
}

.site-body .text-slate-400 {
  color: rgba(var(--text-rgb), 0.68) !important;
}

.hero-dot::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 2px 2px, rgba(255, 255, 255, 0.18) 1px, transparent 0);
  background-size: 26px 26px;
  opacity: 0.35;
}

.tab-button.active {
  background: var(--primary);
  color: #fff !important;
  box-shadow: 0 12px 30px rgba(30, 58, 138, 0.25);
}

[data-tab-panel] {
  display: none;
}

[data-tab-panel].active {
  display: block;
}

.section-kicker {
  color: var(--secondary);
  letter-spacing: 0.35em;
  text-transform: uppercase;
  font-weight: 800;
  font-size: 0.72rem;
}

.grid-ornament {
  background-image:
    linear-gradient(rgba(148, 163, 184, 0.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.18) 1px, transparent 1px);
  background-size: 34px 34px;
}

.site-logo-frame {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: auto;
  max-width: 100%;
  min-width: 0;
  overflow: visible;
}

.site-logo-frame-header {
  max-width: min(42vw, var(--header-logo-max-width));
}

.site-logo-frame-footer {
  max-width: min(100%, var(--footer-logo-max-width));
}

.site-logo-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

.site-logo-frame-header .site-logo-image {
  max-height: var(--header-logo-max-height);
}

.site-logo-frame-footer .site-logo-image {
  max-height: var(--footer-logo-max-height);
  object-fit: contain;
}

.site-footer-brand-lockup {
  align-items: center;
}

.site-footer {
  background: var(--footer-background-fill);
  color: var(--footer-text-color);
  font-family: var(--footer-font);
}

.site-footer .footer-brand {
  color: var(--secondary);
}

.site-footer .footer-heading {
  color: var(--footer-heading-color);
  font-family: var(--footer-font);
}

.site-footer .footer-copy,
.site-footer .footer-contact,
.site-footer .footer-meta {
  color: rgba(var(--footer-text-rgb), 0.92);
}

.site-footer .footer-meta {
  border-top-color: rgba(var(--footer-text-rgb), 0.14);
  color: rgba(var(--footer-text-rgb), 0.72);
}

.nav-dropdown-panel {
  backdrop-filter: blur(18px);
  pointer-events: none;
}

.nav-dropdown-panel::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -0.9rem;
  height: 0.9rem;
}

.nav-dropdown:hover .nav-dropdown-panel,
.nav-dropdown:focus-within .nav-dropdown-panel,
.nav-dropdown.is-open .nav-dropdown-panel {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.nav-dropdown:hover .nav-dropdown-caret,
.nav-dropdown:focus-within .nav-dropdown-caret,
.nav-dropdown.is-open .nav-dropdown-caret {
  transform: rotate(180deg);
}

.nav-mobile-details summary::-webkit-details-marker {
  display: none;
}

.nav-mobile-details[open] summary svg {
  transform: rotate(180deg);
}

.hero-slide {
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity 420ms ease;
}

.hero-slide.active {
  position: relative;
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.hero-slide-image {
  display: block;
  width: 100%;
  height: auto;
}

.hero-slide-canvas {
  background:
    linear-gradient(135deg, rgba(2, 6, 23, 1) 0%, rgba(15, 23, 42, 1) 100%);
}

.hero-slider-control {
  position: absolute;
  top: 50%;
  z-index: 20;
  display: inline-flex;
  height: 3.25rem;
  width: 3.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(15, 23, 42, 0.42);
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-50%);
  transition: background 180ms ease, transform 180ms ease;
}

.hero-slider-control:hover {
  background: rgba(15, 23, 42, 0.72);
  transform: translateY(-50%) scale(1.04);
}

.hero-slider-dot {
  height: 0.8rem;
  width: 0.8rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.34);
  transition: transform 180ms ease, background 180ms ease;
}

.hero-slider-dot.active {
  background: var(--secondary);
  transform: scale(1.1);
}

.video-poster {
  position: relative;
  overflow: hidden;
  background: #020617;
  text-align: left;
}

.video-poster img {
  transition: transform 260ms ease, filter 260ms ease;
}

.video-poster:hover img,
.video-poster:focus-visible img {
  transform: scale(1.03);
  filter: saturate(1.04);
}

.video-poster-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2, 6, 23, 0.08) 0%, rgba(2, 6, 23, 0.68) 100%);
}

.video-play-button {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: inline-flex;
  height: 4.5rem;
  width: 4.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #0f172a;
  box-shadow: 0 20px 45px rgba(15, 23, 42, 0.28);
  transform: translate(-50%, -50%);
  transition: transform 180ms ease, background 180ms ease;
}

.video-poster:hover .video-play-button,
.video-poster:focus-visible .video-play-button {
  transform: translate(-50%, -50%) scale(1.05);
  background: #fff;
}

.video-play-chip {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  padding: 0.7rem 1rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #fff;
  backdrop-filter: blur(8px);
}

.video-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.pdf-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.video-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, 0.82);
  backdrop-filter: blur(10px);
}

.pdf-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, 0.72);
  backdrop-filter: blur(10px);
}

.video-modal-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 1100px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 2rem;
  background: #020617;
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.5);
}

.pdf-modal-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 1100px);
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 2rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.28);
}

.video-modal-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
  padding: 0.8rem 1.1rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  transition: background 180ms ease, transform 180ms ease;
}

.pdf-modal-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: #fff;
  padding: 0.8rem 1.1rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0f172a;
  transition: background 180ms ease, transform 180ms ease;
}

.video-modal-action:hover {
  background: rgba(255, 255, 255, 0.14);
  transform: translateY(-1px);
}

.pdf-modal-action:hover {
  background: #f8fafc;
  transform: translateY(-1px);
}

.video-modal-action-close {
  background: rgba(249, 115, 22, 0.2);
  border-color: rgba(249, 115, 22, 0.35);
}

.marquee-shell {
  overflow: hidden;
  width: 100%;
}

.marquee-track {
  display: flex;
  width: max-content;
  align-items: center;
  gap: 2rem;
  animation: marquee-scroll 28s linear infinite;
}

.marquee-shell:hover .marquee-track {
  animation-play-state: paused;
}

.marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  white-space: nowrap;
}

.marquee-item::after {
  content: '';
  height: 0.45rem;
  width: 0.45rem;
  border-radius: 999px;
  background: var(--secondary);
  flex: 0 0 auto;
}

.rich-content {
  color: inherit;
  font-family: inherit;
  overflow-wrap: anywhere;
}

.rich-content > * + * {
  margin-top: 1rem;
}

.rich-content h1,
.rich-content h2,
.rich-content h3,
.rich-content h4 {
  color: var(--text);
  font-weight: 800;
  line-height: 1.2;
}

.rich-content h1 {
  font-size: clamp(2rem, 4vw, 3rem);
}

.rich-content h2 {
  font-size: clamp(1.6rem, 3vw, 2.3rem);
}

.rich-content h3 {
  font-size: 1.35rem;
}

.rich-content ul,
.rich-content ol {
  padding-left: 1.35rem;
}

.rich-content ul {
  list-style: disc;
}

.rich-content ol {
  list-style: decimal;
}

.rich-content li + li {
  margin-top: 0.45rem;
}

.rich-content a {
  color: var(--primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.rich-content blockquote {
  border-left: 4px solid var(--secondary);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--secondary) 8%, #ffffff);
  padding: 1rem 1.25rem;
  font-weight: 600;
}

.rich-content img {
  max-width: 100%;
  border-radius: 1.5rem;
  box-shadow: var(--shadow);
}

.rich-content table {
  display: block;
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  overflow-x: auto;
  border-radius: 1rem;
}

.rich-content th,
.rich-content td {
  border: 1px solid rgba(148, 163, 184, 0.35);
  padding: 0.8rem 1rem;
  text-align: left;
}

.rich-content th {
  background: color-mix(in srgb, var(--primary) 10%, #ffffff);
  color: var(--text);
}

@keyframes marquee-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (max-width: 768px) {
  .hero-slider-control {
    display: none;
  }

  .site-logo-frame-header {
    max-width: min(50vw, var(--header-logo-mobile-max-width));
  }

  .site-logo-frame-footer {
    max-width: min(100%, var(--footer-logo-mobile-max-width));
  }

  .site-logo-frame-header .site-logo-image {
    max-height: var(--header-logo-mobile-max-height);
  }

  .site-logo-frame-footer .site-logo-image {
    max-height: var(--footer-logo-mobile-max-height);
  }

  .video-play-button {
    height: 3.7rem;
    width: 3.7rem;
  }

  .video-play-chip {
    left: 0.85rem;
    bottom: 0.85rem;
    padding: 0.6rem 0.8rem;
    letter-spacing: 0.2em;
  }

  .video-modal {
    padding: 0.85rem;
  }

  .pdf-modal {
    padding: 0.85rem;
  }

  .marquee-track {
    animation-duration: 22s;
  }
}

/* Public frontend redesign: red, blue, white, black/white text palette. */
.site-body {
  --primary: #0b3d91 !important;
  --primary-rgb: 11, 61, 145 !important;
  --secondary: #d71920 !important;
  --secondary-rgb: 215, 25, 32 !important;
  --text-color: #111827 !important;
  --text-rgb: 17, 24, 39 !important;
  --heading-color: #050816 !important;
  --gradient-start: #0b3d91 !important;
  --gradient-start-rgb: 11, 61, 145 !important;
  --gradient-end: #d71920 !important;
  --gradient-end-rgb: 215, 25, 32 !important;
  --site-background-fill:
    radial-gradient(circle at 8% 4%, rgba(215, 25, 32, 0.08), transparent 26%),
    radial-gradient(circle at 92% 10%, rgba(11, 61, 145, 0.1), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 48%, #ffffff 100%) !important;
  --primary-button-text: #ffffff !important;
  --primary-button-fill: linear-gradient(135deg, #0b3d91 0%, #102a6b 100%) !important;
  --primary-button-shadow-rgb: 11, 61, 145 !important;
  --secondary-button-text: #ffffff !important;
  --secondary-button-fill: linear-gradient(135deg, #d71920 0%, #a70f18 100%) !important;
  --secondary-button-shadow-rgb: 215, 25, 32 !important;
  --outline-button-text: #0b3d91 !important;
  --outline-button-border: rgba(11, 61, 145, 0.22) !important;
  --outline-button-bg: #ffffff !important;
  --outline-button-hover-bg: #0b3d91 !important;
  --outline-button-hover-text: #ffffff !important;
  --footer-font: var(--body-font) !important;
  --footer-text-color: #eaf1ff !important;
  --footer-text-rgb: 234, 241, 255 !important;
  --footer-heading-color: #ffffff !important;
  --footer-background-fill:
    radial-gradient(circle at 12% 0%, rgba(215, 25, 32, 0.28), transparent 30%),
    linear-gradient(135deg, #061b46 0%, #0b3d91 54%, #061b46 100%) !important;
  color: #111827;
}

.site-body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(90deg, rgba(11, 61, 145, 0.035) 1px, transparent 1px),
    linear-gradient(rgba(215, 25, 32, 0.025) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.75), transparent 70%);
}

.site-body h1,
.site-body h2,
.site-body h3,
.site-body h4,
.site-body h5,
.site-body h6 {
  color: #050816 !important;
}

.site-body p,
.site-body li,
.site-body label,
.site-body input,
.site-body textarea,
.site-body select {
  color: #111827;
}

.site-body input,
.site-body textarea,
.site-body select {
  background: #ffffff;
  border-color: rgba(11, 61, 145, 0.16) !important;
}

.site-body input:focus,
.site-body textarea:focus,
.site-body select:focus {
  border-color: #0b3d91 !important;
  box-shadow: 0 0 0 4px rgba(11, 61, 145, 0.1);
}

.site-body header {
  border-bottom: 1px solid rgba(11, 61, 145, 0.12);
  background:
    linear-gradient(90deg, rgba(215, 25, 32, 0.06), transparent 22%, rgba(11, 61, 145, 0.07)),
    rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 18px 50px rgba(11, 61, 145, 0.08);
}

.site-body header::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, #0b3d91 0%, #ffffff 48%, #d71920 100%);
}

.site-body nav a,
.site-body nav button,
.site-body [data-mobile-nav] a,
.site-body [data-mobile-nav] summary {
  color: #111827;
}

.site-body nav a.bg-slate-900,
.site-body nav button.bg-slate-900 {
  background: linear-gradient(135deg, #0b3d91 0%, #061b46 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 32px rgba(11, 61, 145, 0.26);
}

.site-body nav a:hover,
.site-body nav button:hover,
.site-body [data-mobile-nav] a:hover {
  background: rgba(11, 61, 145, 0.08) !important;
  color: #0b3d91 !important;
}

.site-body .nav-dropdown-panel,
.site-body [data-mobile-nav],
.site-body .nav-mobile-details {
  border-color: rgba(11, 61, 145, 0.13) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 28px 70px rgba(11, 61, 145, 0.13);
}

.site-body .surface-card,
.site-body article.surface-card,
.site-body .pdf-modal-panel {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.94)) !important;
  border: 1px solid rgba(11, 61, 145, 0.11) !important;
  box-shadow: 0 22px 60px rgba(11, 61, 145, 0.1);
}

.site-body .surface-card:hover,
.site-body .card-lift:hover {
  border-color: rgba(215, 25, 32, 0.28) !important;
  box-shadow: 0 28px 72px rgba(11, 61, 145, 0.16);
}

.site-body .bg-brand-gradient,
.site-body .hero-panel {
  background:
    radial-gradient(circle at 85% 20%, rgba(255, 255, 255, 0.18), transparent 28%),
    linear-gradient(135deg, #061b46 0%, #0b3d91 52%, #d71920 100%) !important;
  color: #ffffff !important;
}

.site-body .bg-brand-gradient h1,
.site-body .bg-brand-gradient h2,
.site-body .bg-brand-gradient h3,
.site-body .bg-brand-gradient p,
.site-body .hero-panel h1,
.site-body .hero-panel h2,
.site-body .hero-panel h3,
.site-body .hero-panel p {
  color: #ffffff !important;
}

.site-body .bg-brand-soft {
  background:
    linear-gradient(135deg, rgba(11, 61, 145, 0.1) 0%, rgba(215, 25, 32, 0.08) 100%) !important;
}

.site-body .text-brand-primary {
  color: #0b3d91 !important;
}

.site-body .text-brand-secondary,
.site-body .section-kicker {
  color: #d71920 !important;
}

.site-body .section-kicker {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  letter-spacing: 0.28em;
}

.site-body .section-kicker::before {
  content: '';
  display: inline-block;
  height: 0.55rem;
  width: 0.55rem;
  border-radius: 999px;
  background: #0b3d91;
  box-shadow: 0 0 0 5px rgba(11, 61, 145, 0.1);
}

.site-body .btn-primary {
  background: linear-gradient(135deg, #0b3d91 0%, #061b46 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 44px rgba(11, 61, 145, 0.24);
}

.site-body .btn-primary:hover {
  box-shadow: 0 22px 56px rgba(11, 61, 145, 0.32);
}

.site-body .btn-secondary,
.site-body .hero-free-class-button {
  background: linear-gradient(135deg, #d71920 0%, #a70f18 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 44px rgba(215, 25, 32, 0.22);
}

.site-body .btn-outline-theme {
  border-color: rgba(11, 61, 145, 0.22) !important;
  background: #ffffff !important;
  color: #0b3d91 !important;
}

.site-body .btn-outline-theme:hover {
  background: #0b3d91 !important;
  color: #ffffff !important;
  border-color: #0b3d91 !important;
}

.site-body .tab-button.active {
  background: linear-gradient(135deg, #0b3d91 0%, #061b46 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 34px rgba(11, 61, 145, 0.26);
}

.site-body .tab-button:not(.active) {
  background: #f3f7ff !important;
  color: #111827 !important;
}

.site-body img.object-cover,
.site-body .video-poster,
.site-body .hero-slide-canvas {
  border-color: rgba(11, 61, 145, 0.14);
}

.site-body .video-play-button {
  background: #ffffff !important;
  color: #d71920 !important;
  box-shadow: 0 20px 50px rgba(215, 25, 32, 0.22);
}

.site-body .video-play-chip {
  background: rgba(11, 61, 145, 0.82);
  color: #ffffff;
}

.site-body .marquee-item::after,
.site-body .hero-slider-dot.active {
  background: #d71920 !important;
}

.site-body .rich-content a {
  color: #0b3d91 !important;
}

.site-body .rich-content blockquote {
  border-left-color: #d71920;
  background: rgba(215, 25, 32, 0.07);
  color: #111827;
}

.site-body .site-footer {
  background:
    radial-gradient(circle at 10% 0%, rgba(215, 25, 32, 0.3), transparent 28%),
    linear-gradient(135deg, #061b46 0%, #0b3d91 58%, #061b46 100%) !important;
  color: #eaf1ff !important;
}

.site-body .site-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 38px 38px;
  opacity: 0.5;
}

.site-body .site-footer .footer-brand,
.site-body .site-footer .footer-heading,
.site-body .site-footer h2,
.site-body .site-footer h3 {
  color: #ffffff !important;
}

.site-body .site-footer .footer-copy,
.site-body .site-footer .footer-contact,
.site-body .site-footer .footer-link,
.site-body .site-footer .footer-meta,
.site-body .site-footer p {
  color: rgba(234, 241, 255, 0.9) !important;
}

.site-body .site-footer .footer-link:hover {
  color: #ffffff !important;
}

.site-body .site-logo-frame {
  filter: drop-shadow(0 12px 28px rgba(11, 61, 145, 0.12));
}

.site-body .rounded-\[2rem\],
.site-body .rounded-\[1\.75rem\],
.site-body .rounded-\[1\.5rem\] {
  border-color: rgba(11, 61, 145, 0.12);
}

.site-body .text-orange-200,
.site-body .text-orange-300,
.site-body .text-orange-400,
.site-body .text-orange-500,
.site-body .text-orange-600,
.site-body .text-orange-700,
.site-body .text-orange-800,
.site-body .text-orange-900 {
  color: #d71920 !important;
}

.site-body .bg-orange-50,
.site-body .bg-orange-100 {
  background: rgba(215, 25, 32, 0.08) !important;
}

.site-body .border-orange-100,
.site-body .border-orange-200 {
  border-color: rgba(215, 25, 32, 0.18) !important;
}

.site-body .text-emerald-600,
.site-body .text-emerald-700,
.site-body .text-emerald-800,
.site-body .text-emerald-900,
.site-body .text-sky-600,
.site-body .text-sky-700,
.site-body .text-sky-800,
.site-body .text-sky-900 {
  color: #0b3d91 !important;
}

.site-body .bg-emerald-50,
.site-body .bg-emerald-100,
.site-body .bg-sky-50,
.site-body .bg-sky-100 {
  background: rgba(11, 61, 145, 0.08) !important;
}

.site-body .border-emerald-100,
.site-body .border-emerald-200,
.site-body .border-sky-100,
.site-body .border-sky-200 {
  border-color: rgba(11, 61, 145, 0.18) !important;
}

.site-body .text-rose-600,
.site-body .text-rose-700,
.site-body .text-rose-800,
.site-body .text-rose-900 {
  color: #d71920 !important;
}

.site-body .bg-rose-50,
.site-body .bg-rose-100 {
  background: rgba(215, 25, 32, 0.08) !important;
}

.site-body .border-rose-100,
.site-body .border-rose-200 {
  border-color: rgba(215, 25, 32, 0.18) !important;
}

.site-body .bg-slate-900 {
  background: #0b3d91 !important;
}

.site-body .border-brand-primary {
  border-color: #0b3d91 !important;
}

.site-body .hover\:border-brand-primary:hover {
  border-color: #0b3d91 !important;
}

.site-body .hover\:text-brand-primary:hover {
  color: #0b3d91 !important;
}

.site-body .shadow-glow {
  box-shadow: 0 24px 70px rgba(11, 61, 145, 0.14) !important;
}

.site-body .grid-ornament {
  background-image:
    linear-gradient(rgba(11, 61, 145, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(215, 25, 32, 0.055) 1px, transparent 1px);
}

.site-body .marquee-shell {
  color: #111827;
}

.site-body .hero-slider-control {
  background: rgba(6, 27, 70, 0.72);
  border-color: rgba(255, 255, 255, 0.24);
}

.site-body .hero-slider-control:hover {
  background: #d71920;
}

.site-body .pdf-modal-action {
  color: #0b3d91;
}

.site-body .video-modal-action-close {
  background: rgba(215, 25, 32, 0.22);
  border-color: rgba(215, 25, 32, 0.4);
}

@media (max-width: 768px) {
  .site-body header {
    background: rgba(255, 255, 255, 0.97) !important;
  }

  .site-body .surface-card {
    border-radius: 1.5rem;
  }
}

.site-body section.mx-auto {
  position: relative;
}

.site-body section.mx-auto > .max-w-3xl,
.site-body section.mx-auto > .max-w-4xl {
  padding: 1.25rem;
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(11, 61, 145, 0.08);
  box-shadow: 0 18px 45px rgba(11, 61, 145, 0.055);
}

.site-body .surface-card,
.site-body .rounded-\[2rem\].bg-white,
.site-body .rounded-\[2rem\].bg-slate-50 {
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.site-body article {
  position: relative;
  isolation: isolate;
}

.site-body article::after,
.site-body .surface-card::after {
  content: '';
  position: absolute;
  inset: auto 1.25rem 0 1.25rem;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, #0b3d91, #d71920);
  opacity: 0;
  transition: opacity 180ms ease;
}

.site-body article:hover::after,
.site-body .surface-card:hover::after {
  opacity: 0.9;
}

.site-body .surface-card {
  position: relative;
  overflow: hidden;
}

.site-body .surface-card > * {
  position: relative;
  z-index: 1;
}

.site-body .surface-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 100% 0%, rgba(11, 61, 145, 0.075), transparent 28%),
    radial-gradient(circle at 0% 100%, rgba(215, 25, 32, 0.055), transparent 32%);
  opacity: 0.9;
}

.site-body .surface-card img.aspect-video,
.site-body article img.aspect-video {
  border-bottom: 1px solid rgba(11, 61, 145, 0.09);
}

.site-body input,
.site-body textarea,
.site-body select {
  border-radius: 0.9rem !important;
  padding: 0.85rem 1rem !important;
}

.site-body input[type='radio'],
.site-body input[type='checkbox'] {
  padding: 0 !important;
  accent-color: #0b3d91;
}

.site-body table {
  border-radius: 1rem;
  overflow: hidden;
}

.site-body thead {
  background: #f3f7ff !important;
  color: #0b3d91 !important;
}

.site-body tbody tr:hover {
  background: rgba(11, 61, 145, 0.04);
}

.site-body .rounded-full.bg-brand-soft,
.site-body span.rounded-full,
.site-body .badge-pill {
  border: 1px solid rgba(11, 61, 145, 0.1);
}

.site-body .rounded-full.bg-brand-soft {
  background: #eff6ff !important;
  color: #0b3d91 !important;
}

.site-body .bg-white\/10 {
  background: rgba(255, 255, 255, 0.14) !important;
}

.site-body .border-white\/20,
.site-body .border-white\/40 {
  border-color: rgba(255, 255, 255, 0.28) !important;
}

.site-body .hover\:bg-white\/10:hover {
  background: rgba(255, 255, 255, 0.18) !important;
}

.site-body .hero-free-class-button,
.site-body .btn-primary,
.site-body .btn-secondary,
.site-body .btn-outline-theme,
.site-body button[type='submit'] {
  min-height: 2.75rem;
}

.site-body .btn-primary,
.site-body .btn-secondary,
.site-body .btn-outline-theme {
  position: relative;
  overflow: hidden;
}

.site-body .btn-primary::before,
.site-body .btn-secondary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.22) 45%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 420ms ease;
}

.site-body .btn-primary:hover::before,
.site-body .btn-secondary:hover::before {
  transform: translateX(120%);
}

.site-body .btn-primary > *,
.site-body .btn-secondary > *,
.site-body .btn-outline-theme > * {
  position: relative;
  z-index: 1;
}

/* Flowbite Blocks inspired dark public interface. */
.site-body {
  --primary: #2563eb !important;
  --primary-rgb: 37, 99, 235 !important;
  --secondary: #60a5fa !important;
  --secondary-rgb: 96, 165, 250 !important;
  --text-color: #a8b3c7 !important;
  --text-rgb: 168, 179, 199 !important;
  --heading-color: #ffffff !important;
  --gradient-start: #111827 !important;
  --gradient-start-rgb: 17, 24, 39 !important;
  --gradient-end: #1f2937 !important;
  --gradient-end-rgb: 31, 41, 55 !important;
  --site-background-fill: #111827 !important;
  --primary-button-fill: #2563eb !important;
  --primary-button-text: #ffffff !important;
  --primary-button-shadow-rgb: 37, 99, 235 !important;
  --secondary-button-fill: #1d4ed8 !important;
  --secondary-button-text: #ffffff !important;
  --secondary-button-shadow-rgb: 37, 99, 235 !important;
  --outline-button-text: #dbeafe !important;
  --outline-button-border: #374151 !important;
  --outline-button-bg: #1f2937 !important;
  --outline-button-hover-bg: #2563eb !important;
  --outline-button-hover-text: #ffffff !important;
  --footer-background-fill: #1f2937 !important;
  --footer-text-color: #9ca3af !important;
  --footer-text-rgb: 156, 163, 175 !important;
  --footer-heading-color: #ffffff !important;
  background: #111827 !important;
  color: #a8b3c7 !important;
}

.site-body::before {
  background-image:
    linear-gradient(90deg, rgba(55, 65, 81, 0.45) 1px, transparent 1px),
    linear-gradient(rgba(55, 65, 81, 0.38) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.7), transparent 72%);
}

.site-body header {
  background: #111827 !important;
  border-bottom-color: #374151 !important;
  box-shadow: none !important;
}

.site-body header::before {
  background: linear-gradient(90deg, #2563eb, #1d4ed8, #60a5fa);
  height: 2px;
}

.site-body h1,
.site-body h2,
.site-body h3,
.site-body h4,
.site-body h5,
.site-body h6,
.site-body .text-slate-900,
.site-body .text-slate-800 {
  color: #ffffff !important;
}

.site-body p,
.site-body li,
.site-body label,
.site-body .text-slate-700,
.site-body .text-slate-600,
.site-body .text-slate-500 {
  color: #a8b3c7 !important;
}

.site-body .text-slate-400 {
  color: #7b879a !important;
}

.site-body .text-brand-primary,
.site-body .text-brand-secondary,
.site-body .section-kicker {
  color: #60a5fa !important;
}

.site-body .section-kicker::before {
  background: #2563eb;
  box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.18);
}

.site-body nav a,
.site-body nav button,
.site-body [data-mobile-nav] a,
.site-body [data-mobile-nav] summary {
  color: #a8b3c7 !important;
}

.site-body nav a.bg-slate-900,
.site-body nav button.bg-slate-900,
.site-body .bg-slate-900 {
  background: #2563eb !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.site-body nav a:hover,
.site-body nav button:hover,
.site-body [data-mobile-nav] a:hover {
  background: #1f2937 !important;
  color: #ffffff !important;
}

.site-body .nav-dropdown-panel,
.site-body [data-mobile-nav],
.site-body .nav-mobile-details {
  background: #1f2937 !important;
  border-color: #374151 !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35) !important;
}

.site-body .surface-card,
.site-body article.surface-card,
.site-body .rounded-\[2rem\].bg-white,
.site-body .rounded-\[2rem\].bg-slate-50,
.site-body section.mx-auto > .max-w-3xl,
.site-body section.mx-auto > .max-w-4xl,
.site-body .pdf-modal-panel {
  background: #1f2937 !important;
  border-color: #374151 !important;
  box-shadow: none !important;
}

.site-body .surface-card::before {
  background: none !important;
}

.site-body .surface-card:hover,
.site-body .card-lift:hover {
  border-color: #4b5563 !important;
  box-shadow: 0 22px 55px rgba(0, 0, 0, 0.32) !important;
}

.site-body article::after,
.site-body .surface-card::after {
  background: #2563eb !important;
}

.site-body .bg-brand-gradient,
.site-body .hero-panel {
  background: linear-gradient(135deg, #1f2937 0%, #111827 58%, #1d4ed8 100%) !important;
  border: 1px solid #374151;
}

.site-body .bg-brand-soft,
.site-body .bg-slate-50,
.site-body .bg-slate-100,
.site-body .bg-orange-50,
.site-body .bg-orange-100,
.site-body .bg-emerald-50,
.site-body .bg-emerald-100,
.site-body .bg-rose-50,
.site-body .bg-rose-100,
.site-body .bg-sky-50,
.site-body .bg-sky-100 {
  background: #111827 !important;
  color: #a8b3c7 !important;
}

.site-body .border-slate-100,
.site-body .border-slate-200,
.site-body .border-slate-300,
.site-body .border-orange-100,
.site-body .border-emerald-100,
.site-body .border-rose-100,
.site-body .border-sky-100 {
  border-color: #374151 !important;
}

.site-body .btn-primary,
.site-body .btn-secondary,
.site-body .hero-free-class-button {
  background: #2563eb !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.site-body .btn-primary:hover,
.site-body .btn-secondary:hover,
.site-body .hero-free-class-button:hover {
  background: #1d4ed8 !important;
  box-shadow: none !important;
}

.site-body .btn-outline-theme {
  background: #1f2937 !important;
  border-color: #374151 !important;
  color: #dbeafe !important;
}

.site-body .btn-outline-theme:hover {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

.site-body input,
.site-body textarea,
.site-body select {
  background: #111827 !important;
  border-color: #374151 !important;
  color: #ffffff !important;
}

.site-body input::placeholder,
.site-body textarea::placeholder {
  color: #6b7280 !important;
}

.site-body .tab-button.active {
  background: #2563eb !important;
  color: #ffffff !important;
}

.site-body .tab-button:not(.active) {
  background: #111827 !important;
  color: #a8b3c7 !important;
  border: 1px solid #374151;
}

.site-body .hero-slider-control {
  background: rgba(31, 41, 55, 0.86) !important;
  border-color: #4b5563 !important;
}

.site-body .hero-slider-control:hover {
  background: #2563eb !important;
}

.site-body .hero-slider-dot.active,
.site-body .marquee-item::after {
  background: #2563eb !important;
}

.site-body .video-play-button {
  background: #2563eb !important;
  color: #ffffff !important;
}

.site-body .video-play-chip {
  background: rgba(37, 99, 235, 0.9) !important;
}

.site-body .site-footer {
  background: #1f2937 !important;
  border-top: 1px solid #374151;
}

.site-body .site-footer::before {
  display: none;
}

.site-body .site-footer .footer-brand,
.site-body .site-footer .footer-heading,
.site-body .site-footer h2,
.site-body .site-footer h3 {
  color: #ffffff !important;
}

.site-body .site-footer .footer-copy,
.site-body .site-footer .footer-contact,
.site-body .site-footer .footer-link,
.site-body .site-footer .footer-meta,
.site-body .site-footer p {
  color: #9ca3af !important;
}

.site-body .site-footer .footer-link:hover {
  color: #ffffff !important;
}

.site-body .shadow-glow {
  box-shadow: none !important;
}

.site-body .hero-slide-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.site-body .hero-slide::after {
  display: none !important;
}

.site-body [data-hero-slider] {
  background: #0f172a !important;
  border-color: #374151 !important;
}

.site-body [data-hero-slider] .hero-slide-canvas {
  height: 100% !important;
}

.site-body .site-footer > .grid,
.site-body .site-footer > div:first-child {
  column-gap: 4rem;
}

.site-body .site-footer .site-logo-frame-footer {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.site-body .site-footer svg {
  color: #9ca3af;
}

.site-body .site-footer a:hover svg {
  color: #ffffff;
}

.site-body .marquee-shell,
.site-body .marquee-shell a,
.site-body .marquee-shell span {
  color: #e5e7eb !important;
}

.site-body header > div:first-child {
  min-height: 5.25rem;
}

.site-body .site-logo-frame-header {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.site-body header nav {
  gap: 1.35rem !important;
}

.site-body header nav a,
.site-body header nav button {
  border-radius: 0.75rem !important;
  font-size: 1rem !important;
  color: #a8b3c7 !important;
}

.site-body header nav a.bg-slate-900,
.site-body header nav button.bg-slate-900 {
  color: #3b82f6 !important;
  background: transparent !important;
}

.site-body header nav a:hover,
.site-body header nav button:hover {
  background: transparent !important;
  color: #ffffff !important;
}

.site-body .nav-dropdown-panel {
  border-radius: 0.75rem !important;
  padding: 0.5rem !important;
}

.site-body .flow-team-card,
.site-body .flow-product-card {
  position: relative;
  overflow: hidden;
  background: #1f2937 !important;
  border-color: #374151 !important;
  box-shadow: none !important;
  transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.site-body .flow-team-card::after,
.site-body .flow-product-card::after {
  display: none !important;
}

.site-body .flow-team-card:hover,
.site-body .flow-product-card:hover {
  transform: translateY(-4px);
  border-color: #4b5563 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35) !important;
}

.site-body .flow-team-image {
  aspect-ratio: 1 / 0.86;
  background: #111827;
}

.site-body .flow-social-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1;
  color: #6b7280;
  text-transform: uppercase;
  transition: color 160ms ease, transform 160ms ease;
}

.site-body .flow-team-card:hover .flow-social-dot {
  color: #9ca3af;
}

.site-body .flow-social-dot:hover {
  color: #ffffff;
  transform: translateY(-2px);
}

.site-body .flow-social-icon {
  display: inline-flex;
  width: 1.35rem;
  height: 1.35rem;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  transition: color 160ms ease, transform 160ms ease;
}

.site-body .flow-social-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.site-body .flow-social-icon:hover {
  color: #ffffff;
  transform: translateY(-2px);
}

.site-body .flow-product-media {
  aspect-ratio: 16 / 10;
  background: #111827;
}

.site-body .flow-link-logo {
  min-height: 13rem;
  background: #111827;
}

.site-body .flow-product-card svg {
  color: #9ca3af;
}

.site-body .flow-card-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.125rem;
  background: #2563eb;
  color: #ffffff !important;
  transition: background 160ms ease, transform 160ms ease;
}

.site-body .flow-card-button:hover {
  background: #1d4ed8;
  transform: translateY(-1px);
}

.site-body .flow-product-card .min-h-\[6rem\] {
  min-height: 8rem !important;
}

@media (max-width: 1023px) {
  .site-body header > div:first-child {
    min-height: 4.75rem;
  }

  .site-body .flow-product-card .min-h-\[6rem\] {
    min-height: 0 !important;
  }
}

.site-body .flow-brand-name {
  letter-spacing: -0.04em;
}

.site-body .flow-nav-actions {
  color: #9ca3af;
}

.site-body .flow-nav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  color: #9ca3af !important;
  transition: color 160ms ease, background 160ms ease;
}

.site-body .flow-nav-icon:hover {
  color: #ffffff !important;
  background: #1f2937 !important;
}

.site-body .flow-nav-icon-bordered {
  border-left: 1px solid #374151;
  border-right: 1px solid #374151;
  width: 4.75rem;
}

.site-body .flow-nav-domain {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #a8b3c7 !important;
  font-size: 1rem;
  font-weight: 700;
}

.site-body .flow-nav-domain:hover {
  color: #ffffff !important;
}

.site-body .flow-nav-avatar {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  overflow: hidden;
  border-radius: 999px;
  background: #1f2937;
  border: 1px solid #374151;
}

.site-body .flow-nav-avatar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-body .flow-nav-search-row {
  background: #111827 !important;
  border-top-color: #1f2937 !important;
}

.site-body .flow-nav-search-row > div {
  position: relative;
}

.site-body .flow-nav-search-row > div::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 8px;
  background-image: repeating-linear-gradient(90deg, rgba(55, 65, 81, 0.55) 0 1px, transparent 1px 14px);
  opacity: 0.65;
  pointer-events: none;
}

.site-body .flow-search-segment,
.site-body .flow-search-input,
.site-body .flow-search-button {
  min-height: 3.15rem;
  border: 1px solid #374151;
  background: #374151 !important;
  color: #d1d5db !important;
}

.site-body .flow-search-segment {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0 1.25rem;
  font-weight: 800;
}

.site-body .flow-search-segment-left {
  border-radius: 0.5rem 0 0 0.5rem;
}

.site-body .flow-search-input {
  display: inline-flex;
  align-items: center;
  width: min(24rem, 35vw);
  padding: 0 1.25rem;
  border-left: 0;
  border-right: 0;
  color: #9ca3af !important;
}

.site-body .flow-search-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  border-radius: 0 0.5rem 0.5rem 0;
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

.site-body .flow-search-segment:hover,
.site-body .flow-search-input:hover {
  background: #4b5563 !important;
  color: #ffffff !important;
}

.site-body .flow-search-button:hover {
  background: #1d4ed8 !important;
}

.site-body .flow-site-header {
  background: #111827 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.site-body .flow-site-header::before {
  display: none !important;
}

.site-body .flow-header-top {
  background: #111827 !important;
}

.site-body .flow-header-top > div {
  min-height: 4.3rem;
}

.site-body .flow-header-nav {
  background: #374151 !important;
}

.site-body .flow-header-nav nav {
  min-height: 3.45rem;
}

.site-body .flow-site-header .site-logo-frame-header {
  width: var(--logo-size-header) !important;
  height: var(--logo-size-header) !important;
}

.site-body .flow-brand-name {
  color: #ffffff !important;
  letter-spacing: -0.04em;
}

.site-body .flow-top-phone {
  color: #ffffff !important;
  letter-spacing: 0.01em;
}

.site-body .flow-top-link {
  display: inline-flex;
  align-items: center;
  border: 0;
  background: transparent;
  color: #3b82f6 !important;
  font: inherit;
  font-weight: 800;
  padding: 0;
  transition: color 160ms ease;
}

.site-body .flow-top-link:hover {
  color: #93c5fd !important;
}

.site-body .flow-main-nav-link,
.site-body .flow-main-nav-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.45rem;
  padding: 0;
  border: 0;
  border-radius: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1;
  box-shadow: none !important;
  transition: color 160ms ease;
}

.site-body .flow-main-nav-trigger {
  width: 1.2rem;
  color: #cbd5e1 !important;
}

.site-body .flow-main-nav-link:hover,
.site-body .flow-main-nav-trigger:hover,
.site-body .flow-main-nav-link.is-active,
.site-body .flow-main-nav-trigger.is-active {
  color: #93c5fd !important;
  background: transparent !important;
}

.site-body .flow-header-nav .nav-dropdown {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.site-body .flow-header-nav .nav-dropdown-panel {
  background: #1f2937 !important;
  border-color: #4b5563 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4) !important;
}

.site-body .flow-site-header [data-mobile-nav-toggle] {
  background: #1f2937 !important;
  border-color: #374151 !important;
  color: #ffffff !important;
}

.site-body .flow-contact-section {
  color: #a8b3c7;
}

.site-body .flow-contact-input {
  background: #374151 !important;
  border: 1px solid #4b5563 !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 1px 2px rgba(0, 0, 0, 0.22);
}

.site-body .flow-contact-input::placeholder {
  color: #a8b3c7 !important;
}

.site-body .flow-contact-input:focus {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
}

.site-body .flow-contact-submit {
  background: #2563eb !important;
  color: #ffffff !important;
  transition: background 160ms ease, transform 160ms ease;
}

.site-body .flow-contact-submit:hover {
  background: #1d4ed8 !important;
  transform: translateY(-1px);
}

.site-body .flow-contact-icon {
  display: inline-flex;
  width: 3.8rem;
  height: 3.8rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.6rem;
  background: #1f2937;
  color: #8b96a8;
}

.site-body .flow-map-card,
.site-body .flow-testimonial-card {
  background: #1f2937 !important;
  border-color: #374151 !important;
  box-shadow: none !important;
}

.site-body .flow-map-card iframe {
  filter: grayscale(0.15) contrast(1.05) brightness(0.9);
}

.site-body .flow-testimonial-card {
  position: relative;
  overflow: hidden;
  transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.site-body .flow-testimonial-card::after {
  display: none !important;
}

.site-body .flow-testimonial-card:hover {
  transform: translateY(-4px);
  border-color: #4b5563 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35) !important;
}

/* Admin-controlled Flowbite-style design layer. */
.site-body {
  background: var(--flow-page-bg) !important;
  color: var(--flow-text-color) !important;
}

.site-body h1,
.site-body h2,
.site-body h3,
.site-body h4,
.site-body h5,
.site-body h6,
.site-body .text-slate-900,
.site-body .text-slate-800,
.site-body .text-white {
  color: var(--flow-heading-color) !important;
}

.site-body p,
.site-body li,
.site-body label,
.site-body .text-slate-700,
.site-body .text-slate-600,
.site-body .text-slate-500,
.site-body .text-slate-400 {
  color: var(--flow-text-color) !important;
}

.site-body .flow-site-header,
.site-body .flow-header-top {
  background: var(--flow-header-top-bg) !important;
}

.site-body .flow-header-nav {
  background: var(--flow-header-nav-bg) !important;
}

.site-body .flow-top-phone,
.site-body .flow-main-nav-link,
.site-body .flow-main-nav-trigger,
.site-body .flow-brand-name {
  color: var(--flow-heading-color) !important;
}

.site-body .flow-top-link,
.site-body .flow-main-nav-link:hover,
.site-body .flow-main-nav-trigger:hover,
.site-body .flow-main-nav-link.is-active,
.site-body .flow-main-nav-trigger.is-active,
.site-body .section-kicker,
.site-body .text-brand-primary,
.site-body .text-brand-secondary {
  color: var(--flow-accent-color) !important;
}

.site-body .flow-product-card,
.site-body .flow-team-card,
.site-body .flow-testimonial-card,
.site-body .flow-map-card,
.site-body .surface-card,
.site-body article.surface-card,
.site-body .pdf-modal-panel,
.site-body .nav-dropdown-panel {
  background: var(--flow-surface-bg) !important;
  border-color: var(--flow-border-color) !important;
}

.site-body .flow-product-media,
.site-body .flow-link-logo,
.site-body .flow-map-card .bg-slate-950,
.site-body .flow-product-card .bg-slate-950,
.site-body .flow-contact-input,
.site-body .bg-slate-950,
.site-body .bg-slate-50,
.site-body .bg-slate-100,
.site-body .bg-brand-soft {
  background: var(--flow-surface-alt-bg) !important;
}

.site-body .flow-card-button,
.site-body .flow-contact-submit,
.site-body .btn-primary,
.site-body .btn-secondary,
.site-body .hero-free-class-button,
.site-body .video-play-button,
.site-body .video-play-chip {
  background: var(--flow-accent-color) !important;
  color: var(--flow-accent-text-color) !important;
}

.site-body .flow-card-button:hover,
.site-body .flow-contact-submit:hover,
.site-body .btn-primary:hover,
.site-body .btn-secondary:hover,
.site-body .hero-free-class-button:hover {
  background: var(--flow-accent-hover-color) !important;
  color: var(--flow-accent-text-color) !important;
}

.site-body .flow-product-card .bg-blue-700,
.site-body .flow-team-card .bg-blue-700,
.site-body .rounded-md.bg-blue-700 {
  background: var(--flow-badge-bg) !important;
  color: var(--flow-badge-text) !important;
}

.site-body .flow-contact-input {
  background: var(--flow-contact-input-bg) !important;
  border-color: var(--flow-border-color) !important;
  color: var(--flow-heading-color) !important;
}

.site-body .flow-contact-input::placeholder,
.site-body .flow-muted,
.site-body .text-slate-500,
.site-body .text-slate-600 {
  color: var(--flow-muted-color) !important;
}

.site-body .flow-contact-icon {
  background: var(--flow-contact-icon-bg) !important;
  color: var(--flow-muted-color) !important;
}

.site-body .flow-social-icon,
.site-body .flow-social-dot,
.site-body .flow-product-card svg,
.site-body .site-footer svg {
  color: var(--flow-muted-color) !important;
}

.site-body .flow-social-icon:hover,
.site-body .flow-social-dot:hover,
.site-body .site-footer a:hover svg {
  color: var(--flow-heading-color) !important;
}

.site-body .site-footer {
  background: var(--footer-background-fill) !important;
}

.site-body .site-footer .footer-copy,
.site-body .site-footer .footer-contact,
.site-body .site-footer .footer-link,
.site-body .site-footer .footer-meta,
.site-body .site-footer p {
  color: var(--footer-text-color) !important;
}

.site-body .site-footer .footer-brand,
.site-body .site-footer .footer-heading,
.site-body .site-footer h2,
.site-body .site-footer h3 {
  color: var(--footer-heading-color) !important;
}

.site-body .footer-contact-row {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  line-height: 1.6;
  transition: color 160ms ease, transform 160ms ease;
}

.site-body .footer-contact-row:hover {
  color: var(--footer-heading-color) !important;
  transform: translateX(2px);
}

.site-body > a[aria-label="Chat on WhatsApp"] {
  background: var(--flow-whatsapp-bg) !important;
  color: var(--flow-whatsapp-text) !important;
  box-shadow: 0 18px 45px color-mix(in srgb, var(--flow-whatsapp-bg) 35%, transparent) !important;
}

.site-body > a[aria-label="Chat on WhatsApp"]:hover {
  background: var(--flow-whatsapp-hover-bg) !important;
  color: var(--flow-whatsapp-text) !important;
}

.site-body .hero-slider-control {
  background: var(--flow-hero-control-bg) !important;
  border-color: var(--flow-border-color) !important;
  color: var(--flow-heading-color) !important;
}

.site-body .hero-slider-control:hover {
  background: var(--flow-accent-color) !important;
  color: var(--flow-accent-text-color) !important;
}

.site-body .hero-slider-dot.active,
.site-body .marquee-item::after {
  background: var(--flow-hero-dot-bg) !important;
}

.site-body .marquee-shell {
  background: var(--flow-marquee-bg) !important;
  border-color: var(--flow-border-color) !important;
}

.site-body .marquee-shell,
.site-body .marquee-shell a,
.site-body .marquee-shell span {
  color: var(--flow-marquee-text) !important;
}

.site-body .text-yellow-400 {
  color: var(--flow-star-color) !important;
}

.site-body .bg-emerald-50,
.site-body .bg-emerald-100 {
  background: var(--flow-success-bg) !important;
}

.site-body .text-emerald-200,
.site-body .text-emerald-600,
.site-body .text-emerald-700,
.site-body .text-emerald-800,
.site-body .text-emerald-900 {
  color: var(--flow-success-text) !important;
}

.site-body .border-emerald-100,
.site-body .border-emerald-200 {
  border-color: var(--flow-success-bg) !important;
}

.site-body .bg-rose-50,
.site-body .bg-rose-100 {
  background: var(--flow-error-bg) !important;
}

.site-body .text-rose-200,
.site-body .text-rose-600,
.site-body .text-rose-700,
.site-body .text-rose-800,
.site-body .text-rose-900 {
  color: var(--flow-error-text) !important;
}

.site-body .border-rose-100,
.site-body .border-rose-200 {
  border-color: var(--flow-error-bg) !important;
}

/* Keep text readable on intentionally light public surfaces inside the dark theme. */
.site-body .bg-white,
.site-body .bg-white\/95 {
  color: #0f172a !important;
}

.site-body .bg-white h1,
.site-body .bg-white h2,
.site-body .bg-white h3,
.site-body .bg-white h4,
.site-body .bg-white h5,
.site-body .bg-white h6,
.site-body .bg-white strong,
.site-body .bg-white label,
.site-body .bg-white summary,
.site-body .bg-white .text-white,
.site-body .bg-white .text-slate-950,
.site-body .bg-white .text-slate-900,
.site-body .bg-white .text-slate-800,
.site-body .bg-white\/95 h1,
.site-body .bg-white\/95 h2,
.site-body .bg-white\/95 h3,
.site-body .bg-white\/95 h4,
.site-body .bg-white\/95 h5,
.site-body .bg-white\/95 h6,
.site-body .bg-white\/95 strong,
.site-body .bg-white\/95 label,
.site-body .bg-white\/95 summary,
.site-body .bg-white\/95 .text-white,
.site-body .bg-white\/95 .text-slate-950,
.site-body .bg-white\/95 .text-slate-900,
.site-body .bg-white\/95 .text-slate-800 {
  color: #0f172a !important;
}

.site-body .bg-white p,
.site-body .bg-white li,
.site-body .bg-white span,
.site-body .bg-white small,
.site-body .bg-white .text-slate-700,
.site-body .bg-white .text-slate-600,
.site-body .bg-white .text-slate-500,
.site-body .bg-white .text-slate-400,
.site-body .bg-white\/95 p,
.site-body .bg-white\/95 li,
.site-body .bg-white\/95 span,
.site-body .bg-white\/95 small,
.site-body .bg-white\/95 .text-slate-700,
.site-body .bg-white\/95 .text-slate-600,
.site-body .bg-white\/95 .text-slate-500,
.site-body .bg-white\/95 .text-slate-400 {
  color: #334155 !important;
}

.site-body .bg-white a:not(.btn-primary):not(.btn-secondary):not(.flow-card-button),
.site-body .bg-white .text-brand-primary,
.site-body .bg-white .text-brand-secondary,
.site-body .bg-white .text-blue-500,
.site-body .bg-white .text-blue-600,
.site-body .bg-white .text-blue-700,
.site-body .bg-white\/95 a:not(.btn-primary):not(.btn-secondary):not(.flow-card-button),
.site-body .bg-white\/95 .text-brand-primary,
.site-body .bg-white\/95 .text-brand-secondary,
.site-body .bg-white\/95 .text-blue-500,
.site-body .bg-white\/95 .text-blue-600,
.site-body .bg-white\/95 .text-blue-700 {
  color: #0b3d91 !important;
}

.site-body .bg-white input,
.site-body .bg-white textarea,
.site-body .bg-white select,
.site-body .bg-white\/95 input,
.site-body .bg-white\/95 textarea,
.site-body .bg-white\/95 select {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

.site-body .bg-white input::placeholder,
.site-body .bg-white textarea::placeholder,
.site-body .bg-white\/95 input::placeholder,
.site-body .bg-white\/95 textarea::placeholder {
  color: #64748b !important;
}

.site-body .bg-white .btn-primary,
.site-body .bg-white .btn-secondary,
.site-body .bg-white .flow-card-button,
.site-body .bg-white .hero-free-class-button,
.site-body .bg-white\/95 .btn-primary,
.site-body .bg-white\/95 .btn-secondary,
.site-body .bg-white\/95 .flow-card-button,
.site-body .bg-white\/95 .hero-free-class-button {
  color: var(--flow-accent-text-color) !important;
}

.site-body .bg-white .bg-slate-900,
.site-body .bg-white .bg-brand-primary,
.site-body .bg-white a.bg-slate-900,
.site-body .bg-white a.bg-brand-primary,
.site-body .bg-white\/95 .bg-slate-900,
.site-body .bg-white\/95 .bg-brand-primary,
.site-body .bg-white\/95 a.bg-slate-900,
.site-body .bg-white\/95 a.bg-brand-primary {
  background: var(--flow-accent-color) !important;
  color: var(--flow-accent-text-color) !important;
}

.site-body .bg-white .bg-slate-900 *,
.site-body .bg-white .bg-brand-primary *,
.site-body .bg-white a.bg-slate-900 *,
.site-body .bg-white a.bg-brand-primary *,
.site-body .bg-white\/95 .bg-slate-900 *,
.site-body .bg-white\/95 .bg-brand-primary *,
.site-body .bg-white\/95 a.bg-slate-900 *,
.site-body .bg-white\/95 a.bg-brand-primary * {
  color: var(--flow-accent-text-color) !important;
}

.site-body .bg-white .bg-orange-50,
.site-body .bg-white .bg-orange-100,
.site-body .bg-white .bg-brand-soft,
.site-body .bg-white\/95 .bg-orange-50,
.site-body .bg-white\/95 .bg-orange-100,
.site-body .bg-white\/95 .bg-brand-soft {
  background: #eef4ff !important;
  border: 1px solid #bfdbfe !important;
  color: #0b3d91 !important;
}

.site-body .bg-white .bg-orange-50 *,
.site-body .bg-white .bg-orange-100 *,
.site-body .bg-white .bg-brand-soft *,
.site-body .bg-white\/95 .bg-orange-50 *,
.site-body .bg-white\/95 .bg-orange-100 *,
.site-body .bg-white\/95 .bg-brand-soft * {
  color: #0b3d91 !important;
}

.site-body .bg-white a.bg-slate-900:not(.btn-primary):not(.btn-secondary):not(.flow-card-button),
.site-body .bg-white a.bg-brand-primary:not(.btn-primary):not(.btn-secondary):not(.flow-card-button),
.site-body .bg-white\/95 a.bg-slate-900:not(.btn-primary):not(.btn-secondary):not(.flow-card-button),
.site-body .bg-white\/95 a.bg-brand-primary:not(.btn-primary):not(.btn-secondary):not(.flow-card-button) {
  background: var(--flow-accent-color) !important;
  color: var(--flow-accent-text-color) !important;
}

/* Admin/auth contrast layer: dark workspace with readable text and light credential cards. */
.auth-body,
.admin-body {
  background: #0f172a !important;
  color: #cbd5e1 !important;
  min-height: 100vh;
}

.auth-body {
  background:
    linear-gradient(rgba(148, 163, 184, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.05) 1px, transparent 1px),
    radial-gradient(circle at 20% 0%, rgba(37, 99, 235, 0.22), transparent 30%),
    #0f172a !important;
  background-size: 34px 34px, 34px 34px, auto, auto !important;
}

.auth-body .admin-login-intro {
  display: none !important;
}

.auth-body .admin-login-shell {
  max-width: 39.5rem;
  margin-inline: auto;
}

.auth-body .admin-login-card,
.admin-body .surface-card,
.admin-body article.surface-card,
.admin-body .rounded-\[2rem\].bg-white,
.admin-body .rounded-\[1\.5rem\].bg-slate-50,
.admin-body .rounded-\[1\.5rem\].bg-white {
  background: #1f2937 !important;
  border: 1px solid #3b4a60 !important;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.34) !important;
}

.auth-body .admin-login-card {
  position: relative;
  overflow: hidden;
  border-radius: 2.3rem !important;
}

.auth-body .admin-login-card::after {
  content: '';
  position: absolute;
  inset-inline: 1.5rem;
  bottom: 0;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: #2563eb;
}

.auth-body h1,
.auth-body h2,
.auth-body h3,
.auth-body .text-slate-900,
.auth-body .text-slate-800,
.auth-body .text-white,
.admin-body h1,
.admin-body h2,
.admin-body h3,
.admin-body h4,
.admin-body h5,
.admin-body h6,
.admin-body .text-slate-900,
.admin-body .text-slate-800,
.admin-body .text-white {
  color: #ffffff !important;
}

.auth-body p,
.auth-body li,
.auth-body label,
.auth-body .text-slate-700,
.auth-body .text-slate-600,
.auth-body .text-slate-500,
.auth-body .text-slate-400,
.admin-body p,
.admin-body li,
.admin-body label,
.admin-body td,
.admin-body th,
.admin-body .text-slate-700,
.admin-body .text-slate-600,
.admin-body .text-slate-500,
.admin-body .text-slate-400 {
  color: #a8b3c7 !important;
}

.auth-body .section-kicker,
.admin-body .section-kicker,
.admin-body .text-brand-primary,
.admin-body .text-brand-secondary {
  color: #3b82f6 !important;
}

.auth-body input,
.auth-body textarea,
.auth-body select,
.admin-body input,
.admin-body textarea,
.admin-body select {
  background: #111827 !important;
  border-color: #3b4a60 !important;
  color: #ffffff !important;
}

.auth-body input:focus,
.auth-body textarea:focus,
.auth-body select:focus,
.admin-body input:focus,
.admin-body textarea:focus,
.admin-body select:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.7) !important;
}

.auth-body input::placeholder,
.auth-body textarea::placeholder,
.admin-body input::placeholder,
.admin-body textarea::placeholder {
  color: #6b7280 !important;
}

.auth-body details,
.admin-body details,
.admin-body .bg-slate-50,
.admin-body .bg-slate-100,
.admin-body thead.bg-slate-50 {
  background: #111827 !important;
  border-color: #3b4a60 !important;
  color: #cbd5e1 !important;
}

.auth-body details summary,
.admin-body details summary {
  color: #c7d2fe !important;
}

.auth-body details .bg-white,
.admin-body .bg-white,
.admin-body label.bg-white {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
}

.auth-body details .bg-white p,
.auth-body details .bg-white span,
.auth-body details .bg-white strong,
.auth-body details .bg-white .text-slate-900,
.auth-body details .bg-white .text-slate-800,
.admin-body .bg-white p,
.admin-body .bg-white span,
.admin-body .bg-white strong,
.admin-body .bg-white label,
.admin-body .bg-white .text-slate-900,
.admin-body .bg-white .text-slate-800,
.admin-body .bg-white .text-slate-700,
.admin-body .bg-white .text-slate-600,
.admin-body .bg-white .text-slate-500 {
  color: #0f172a !important;
}

.admin-body header {
  background: rgba(17, 24, 39, 0.9) !important;
  border-color: #243244 !important;
}

.admin-body table,
.admin-body tbody,
.admin-body tr {
  border-color: #334155 !important;
}

.admin-body .btn-primary,
.auth-body .btn-primary {
  background: #2563eb !important;
  color: #ffffff !important;
  box-shadow: 0 16px 40px rgba(37, 99, 235, 0.24) !important;
}

.admin-body .btn-primary:hover,
.auth-body .btn-primary:hover {
  background: #1d4ed8 !important;
}

/* Test Series PDF workflow: readable cards, chips, OMR timer, and instruction panels. */
.site-body .test-series-pdf-card {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #dbe4f0 !important;
}

.site-body .test-series-pdf-card h1,
.site-body .test-series-pdf-card h2,
.site-body .test-series-pdf-card h3,
.site-body .test-series-pdf-card strong {
  color: #0f172a !important;
}

.site-body .test-series-pdf-card p,
.site-body .test-series-pdf-card li,
.site-body .test-series-pdf-card small {
  color: #334155 !important;
}

.site-body .test-pdf-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.28rem 0.78rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1.2;
}

.site-body .test-pdf-chip.chip-dark {
  background: #0f172a !important;
  color: #ffffff !important;
}

.site-body .test-pdf-chip.chip-success {
  background: #047857 !important;
  color: #ecfdf5 !important;
}

.site-body .test-pdf-chip.chip-light {
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  color: #0b3d91 !important;
}

.site-body .test-pdf-meta {
  background: #0f172a !important;
  color: #e5edff !important;
}

.site-body .test-pdf-meta p,
.site-body .test-pdf-meta span {
  color: #e5edff !important;
}

.site-body .test-pdf-outline-button {
  background: #ffffff !important;
  border-color: #334155 !important;
  color: #0b3d91 !important;
}

.site-body .test-pdf-outline-button:hover {
  background: #eff6ff !important;
  border-color: #2563eb !important;
  color: #0b3d91 !important;
}

.site-body .test-pdf-omr-button {
  background: #065f46 !important;
  border-color: #34d399 !important;
  color: #ecfdf5 !important;
}

.site-body .test-pdf-omr-button:hover {
  background: #047857 !important;
  color: #ffffff !important;
}

.site-body .test-pdf-readable-box,
.site-body .test-pdf-timer {
  background: #eaf2ff !important;
  border: 1px solid #bfdbfe !important;
  color: #0b3d91 !important;
}

.site-body .test-pdf-readable-box *,
.site-body .test-pdf-timer * {
  color: #0b3d91 !important;
}

.site-body .test-pdf-timer.is-over-time {
  background: #fff1f2 !important;
  border-color: #fecdd3 !important;
  color: #be123c !important;
}

.site-body .test-pdf-timer.is-over-time * {
  color: #be123c !important;
}

.site-body .test-pdf-attempt-warning {
  background: #fff1f2 !important;
  border: 1px solid #fecdd3 !important;
  color: #be123c !important;
}

.site-body .test-pdf-attempt-warning * {
  color: #be123c !important;
}

.site-body .surface-card input[type="file"] {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}

.site-body .surface-card input[type="file"]::file-selector-button {
  margin-right: 1rem;
  border: 0;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff;
  padding: 0.65rem 1rem;
  font-weight: 700;
}

.site-body .surface-card article.bg-slate-50 {
  background: #ffffff !important;
  border-color: #dbe4f0 !important;
  color: #0f172a !important;
}

.site-body .surface-card article.bg-slate-50 p,
.site-body .surface-card article.bg-slate-50 span,
.site-body .surface-card article.bg-slate-50 div {
  color: inherit !important;
}

.site-body .protected-pdf-modal,
.site-body .protected-pdf-modal * {
  -webkit-user-select: none !important;
  user-select: none !important;
}

.site-body .protected-pdf-modal iframe {
  border: 0 !important;
}

/* Admin readability repair: keep the shell dark, but make working panels/forms/tables readable. */
.admin-body main .surface-card,
.admin-body main article.surface-card,
.admin-body main .bg-white,
.admin-body main .bg-white\/85,
.admin-body main .bg-slate-50,
.admin-body main .bg-slate-100,
.admin-body main table,
.admin-body main thead,
.admin-body main tbody,
.admin-body main tr {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #dbe4f0 !important;
}

.admin-body main .surface-card *,
.admin-body main article.surface-card *,
.admin-body main .bg-white *,
.admin-body main .bg-white\/85 *,
.admin-body main .bg-slate-50 *,
.admin-body main .bg-slate-100 *,
.admin-body main table *,
.admin-body main thead *,
.admin-body main tbody *,
.admin-body main tr * {
  color: inherit;
}

.admin-body main h1,
.admin-body main h2,
.admin-body main h3,
.admin-body main h4,
.admin-body main h5,
.admin-body main h6,
.admin-body main .text-slate-950,
.admin-body main .text-slate-900,
.admin-body main .text-slate-800,
.admin-body main .font-extrabold,
.admin-body main .font-bold,
.admin-body main strong {
  color: #0f172a !important;
}

.admin-body main p,
.admin-body main li,
.admin-body main label,
.admin-body main td,
.admin-body main th,
.admin-body main span,
.admin-body main small,
.admin-body main .text-slate-700,
.admin-body main .text-slate-600,
.admin-body main .text-slate-500,
.admin-body main .text-slate-400 {
  color: #334155 !important;
}

.admin-body main input,
.admin-body main textarea,
.admin-body main select {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}

.admin-body main input::placeholder,
.admin-body main textarea::placeholder {
  color: #64748b !important;
}

.admin-body main input:focus,
.admin-body main textarea:focus,
.admin-body main select:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16) !important;
}

.admin-body main .btn-primary,
.admin-body main .btn-secondary,
.admin-body main button[type="submit"],
.admin-body main a.bg-slate-900,
.admin-body main a.bg-sky-500,
.admin-body main a.bg-indigo-600,
.admin-body main a.bg-rose-500,
.admin-body main button.bg-rose-500,
.admin-body main .text-white {
  color: #ffffff !important;
}

.admin-body main .text-brand-primary,
.admin-body main .text-brand-secondary,
.admin-body main .section-kicker {
  color: #2563eb !important;
}

.admin-body main .bg-emerald-50 {
  background: #ecfdf5 !important;
  border-color: #a7f3d0 !important;
  color: #047857 !important;
}

.admin-body main .bg-rose-50 {
  background: #fff1f2 !important;
  border-color: #fecdd3 !important;
  color: #be123c !important;
}

.admin-body main .bg-orange-50,
.admin-body main .bg-orange-100,
.admin-body main .bg-brand-soft {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

.admin-body .jodit-container,
.admin-body .jodit-workplace,
.admin-body .jodit-wysiwyg,
.admin-body .jodit-status-bar {
  background: #ffffff !important;
  color: #0f172a !important;
  font-family: var(--body-font), 'Noto Sans Devanagari', 'Hind', 'Mukta', 'Nirmala UI', 'Mangal', sans-serif;
}

.admin-body .jodit-toolbar__box,
.admin-body .jodit-toolbar-editor-collection {
  background: #f8fafc !important;
  color: #0f172a !important;
}

.admin-body .jodit-wysiwyg *,
.admin-body .jodit-container * {
  color: inherit;
}

/* Admin Settings contrast repair: dark preview panels must stay readable inside light cards. */
.admin-body main .bg-slate-950,
.admin-body main .bg-slate-900,
.admin-body main .bg-slate-800,
.admin-body main .bg-gray-950,
.admin-body main .bg-gray-900,
.admin-body main .bg-gray-800,
.admin-body main [style*="background: #020617"],
.admin-body main [style*="background:#020617"],
.admin-body main [style*="background: #0f172a"],
.admin-body main [style*="background:#0f172a"],
.admin-body main [style*="background: #111827"],
.admin-body main [style*="background:#111827"],
.admin-body main [style*="background: #1f2937"],
.admin-body main [style*="background:#1f2937"],
.admin-body main [style*="linear-gradient"][style*="#020617"],
.admin-body main [style*="linear-gradient"][style*="#0f172a"],
.admin-body main [style*="linear-gradient"][style*="#111827"],
.admin-body main [style*="linear-gradient"][style*="#1f2937"] {
  background-color: #111827 !important;
  border-color: #334155 !important;
  color: #e5edff !important;
}

.admin-body main .bg-slate-950 *,
.admin-body main .bg-slate-900 *,
.admin-body main .bg-slate-800 *,
.admin-body main .bg-gray-950 *,
.admin-body main .bg-gray-900 *,
.admin-body main .bg-gray-800 *,
.admin-body main [style*="background: #020617"] *,
.admin-body main [style*="background:#020617"] *,
.admin-body main [style*="background: #0f172a"] *,
.admin-body main [style*="background:#0f172a"] *,
.admin-body main [style*="background: #111827"] *,
.admin-body main [style*="background:#111827"] *,
.admin-body main [style*="background: #1f2937"] *,
.admin-body main [style*="background:#1f2937"] *,
.admin-body main [style*="linear-gradient"][style*="#020617"] *,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] *,
.admin-body main [style*="linear-gradient"][style*="#111827"] *,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] * {
  color: inherit !important;
}

.admin-body main .bg-slate-950 h1,
.admin-body main .bg-slate-950 h2,
.admin-body main .bg-slate-950 h3,
.admin-body main .bg-slate-950 h4,
.admin-body main .bg-slate-950 h5,
.admin-body main .bg-slate-950 h6,
.admin-body main .bg-slate-950 strong,
.admin-body main .bg-slate-900 h1,
.admin-body main .bg-slate-900 h2,
.admin-body main .bg-slate-900 h3,
.admin-body main .bg-slate-900 h4,
.admin-body main .bg-slate-900 h5,
.admin-body main .bg-slate-900 h6,
.admin-body main .bg-slate-900 strong,
.admin-body main .bg-slate-800 h1,
.admin-body main .bg-slate-800 h2,
.admin-body main .bg-slate-800 h3,
.admin-body main .bg-slate-800 h4,
.admin-body main .bg-slate-800 h5,
.admin-body main .bg-slate-800 h6,
.admin-body main .bg-slate-800 strong,
.admin-body main [style*="background: #020617"] h1,
.admin-body main [style*="background: #020617"] h2,
.admin-body main [style*="background: #020617"] h3,
.admin-body main [style*="background: #020617"] h4,
.admin-body main [style*="background: #020617"] h5,
.admin-body main [style*="background: #020617"] h6,
.admin-body main [style*="background: #020617"] strong,
.admin-body main [style*="background: #0f172a"] h1,
.admin-body main [style*="background: #0f172a"] h2,
.admin-body main [style*="background: #0f172a"] h3,
.admin-body main [style*="background: #0f172a"] h4,
.admin-body main [style*="background: #0f172a"] h5,
.admin-body main [style*="background: #0f172a"] h6,
.admin-body main [style*="background: #0f172a"] strong,
.admin-body main [style*="background: #111827"] h1,
.admin-body main [style*="background: #111827"] h2,
.admin-body main [style*="background: #111827"] h3,
.admin-body main [style*="background: #111827"] h4,
.admin-body main [style*="background: #111827"] h5,
.admin-body main [style*="background: #111827"] h6,
.admin-body main [style*="background: #111827"] strong,
.admin-body main [style*="background: #1f2937"] h1,
.admin-body main [style*="background: #1f2937"] h2,
.admin-body main [style*="background: #1f2937"] h3,
.admin-body main [style*="background: #1f2937"] h4,
.admin-body main [style*="background: #1f2937"] h5,
.admin-body main [style*="background: #1f2937"] h6,
.admin-body main [style*="background: #1f2937"] strong,
.admin-body main [style*="linear-gradient"][style*="#020617"] h1,
.admin-body main [style*="linear-gradient"][style*="#020617"] h2,
.admin-body main [style*="linear-gradient"][style*="#020617"] h3,
.admin-body main [style*="linear-gradient"][style*="#020617"] h4,
.admin-body main [style*="linear-gradient"][style*="#020617"] h5,
.admin-body main [style*="linear-gradient"][style*="#020617"] h6,
.admin-body main [style*="linear-gradient"][style*="#020617"] strong,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] h1,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] h2,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] h3,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] h4,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] h5,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] h6,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] strong,
.admin-body main [style*="linear-gradient"][style*="#111827"] h1,
.admin-body main [style*="linear-gradient"][style*="#111827"] h2,
.admin-body main [style*="linear-gradient"][style*="#111827"] h3,
.admin-body main [style*="linear-gradient"][style*="#111827"] h4,
.admin-body main [style*="linear-gradient"][style*="#111827"] h5,
.admin-body main [style*="linear-gradient"][style*="#111827"] h6,
.admin-body main [style*="linear-gradient"][style*="#111827"] strong,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] h1,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] h2,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] h3,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] h4,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] h5,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] h6,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] strong {
  color: #ffffff !important;
}

.admin-body main .bg-slate-950 .text-slate-500,
.admin-body main .bg-slate-950 .text-slate-400,
.admin-body main .bg-slate-950 .text-slate-300,
.admin-body main .bg-slate-900 .text-slate-500,
.admin-body main .bg-slate-900 .text-slate-400,
.admin-body main .bg-slate-900 .text-slate-300,
.admin-body main .bg-slate-800 .text-slate-500,
.admin-body main .bg-slate-800 .text-slate-400,
.admin-body main .bg-slate-800 .text-slate-300,
.admin-body main [style*="background: #020617"] .text-slate-500,
.admin-body main [style*="background: #020617"] .text-slate-400,
.admin-body main [style*="background: #020617"] .text-slate-300,
.admin-body main [style*="background: #0f172a"] .text-slate-500,
.admin-body main [style*="background: #0f172a"] .text-slate-400,
.admin-body main [style*="background: #0f172a"] .text-slate-300,
.admin-body main [style*="background: #111827"] .text-slate-500,
.admin-body main [style*="background: #111827"] .text-slate-400,
.admin-body main [style*="background: #111827"] .text-slate-300,
.admin-body main [style*="background: #1f2937"] .text-slate-500,
.admin-body main [style*="background: #1f2937"] .text-slate-400,
.admin-body main [style*="background: #1f2937"] .text-slate-300,
.admin-body main [style*="linear-gradient"][style*="#020617"] .text-slate-500,
.admin-body main [style*="linear-gradient"][style*="#020617"] .text-slate-400,
.admin-body main [style*="linear-gradient"][style*="#020617"] .text-slate-300,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] .text-slate-500,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] .text-slate-400,
.admin-body main [style*="linear-gradient"][style*="#0f172a"] .text-slate-300,
.admin-body main [style*="linear-gradient"][style*="#111827"] .text-slate-500,
.admin-body main [style*="linear-gradient"][style*="#111827"] .text-slate-400,
.admin-body main [style*="linear-gradient"][style*="#111827"] .text-slate-300,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] .text-slate-500,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] .text-slate-400,
.admin-body main [style*="linear-gradient"][style*="#1f2937"] .text-slate-300 {
  color: #cbd5e1 !important;
}

.admin-body main .bg-slate-950 input,
.admin-body main .bg-slate-950 textarea,
.admin-body main .bg-slate-950 select,
.admin-body main .bg-slate-900 input,
.admin-body main .bg-slate-900 textarea,
.admin-body main .bg-slate-900 select,
.admin-body main .bg-slate-800 input,
.admin-body main .bg-slate-800 textarea,
.admin-body main .bg-slate-800 select,
.admin-body main [style*="background: #020617"] input,
.admin-body main [style*="background: #020617"] textarea,
.admin-body main [style*="background: #020617"] select,
.admin-body main [style*="background: #0f172a"] input,
.admin-body main [style*="background: #0f172a"] textarea,
.admin-body main [style*="background: #0f172a"] select,
.admin-body main [style*="background: #111827"] input,
.admin-body main [style*="background: #111827"] textarea,
.admin-body main [style*="background: #111827"] select,
.admin-body main [style*="background: #1f2937"] input,
.admin-body main [style*="background: #1f2937"] textarea,
.admin-body main [style*="background: #1f2937"] select {
  background: #0f172a !important;
  border-color: #475569 !important;
  color: #f8fafc !important;
}

.admin-body main input[type="color"] {
  background: transparent !important;
  padding: 0.2rem !important;
}

/* Admin Settings mini cards are light controls, not dark preview panels. */
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-50,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-100,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white,
.admin-body main .surface-card a.rounded-\[1\.5rem\].bg-slate-50,
.admin-body main .surface-card a.rounded-\[1\.5rem\].bg-slate-100,
.admin-body main .surface-card a.rounded-\[1\.5rem\].bg-white,
.admin-body main .surface-card label.rounded-\[1\.5rem\].bg-slate-50,
.admin-body main .surface-card label.rounded-\[1\.5rem\].bg-slate-100,
.admin-body main .surface-card label.rounded-\[1\.5rem\].bg-white,
.admin-body main .surface-card div.rounded-\[1\.5rem\].bg-white {
  background: #f8fafc !important;
  border-color: #dbe4f0 !important;
  color: #0f172a !important;
}

.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-50 *,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-100 *,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white *,
.admin-body main .surface-card a.rounded-\[1\.5rem\].bg-slate-50 *,
.admin-body main .surface-card a.rounded-\[1\.5rem\].bg-slate-100 *,
.admin-body main .surface-card a.rounded-\[1\.5rem\].bg-white *,
.admin-body main .surface-card label.rounded-\[1\.5rem\].bg-slate-50 *,
.admin-body main .surface-card label.rounded-\[1\.5rem\].bg-slate-100 *,
.admin-body main .surface-card label.rounded-\[1\.5rem\].bg-white *,
.admin-body main .surface-card div.rounded-\[1\.5rem\].bg-white * {
  color: inherit !important;
}

.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-50 .text-slate-900,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-50 .text-slate-800,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-50 .font-bold,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-100 .text-slate-900,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-100 .text-slate-800,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-100 .font-bold,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white .text-slate-900,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white .text-slate-800,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white .font-bold,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white .font-extrabold {
  color: #0f172a !important;
}

.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-50 .text-slate-700,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-50 .text-slate-600,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-50 .text-slate-500,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-100 .text-slate-700,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-100 .text-slate-600,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-slate-100 .text-slate-500,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white .text-slate-700,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white .text-slate-600,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white .text-slate-500,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white .text-slate-400 {
  color: #475569 !important;
}

.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white input,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white textarea,
.admin-body main .surface-card .rounded-\[1\.5rem\].bg-white select {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

/* Public Sigma readability repair. */
.site-body .flow-brand-tagline {
  color: #dbeafe !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.25);
}

.site-body .bg-white,
.site-body .bg-slate-50,
.site-body .surface-card .bg-white,
.site-body .surface-card .bg-slate-50,
.site-body article.bg-white,
.site-body article.bg-slate-50 {
  color: #0f172a !important;
}

.site-body .bg-white h1,
.site-body .bg-white h2,
.site-body .bg-white h3,
.site-body .bg-white h4,
.site-body .bg-white h5,
.site-body .bg-white h6,
.site-body .bg-white .text-slate-900,
.site-body .bg-white .text-slate-800,
.site-body .bg-slate-50 h1,
.site-body .bg-slate-50 h2,
.site-body .bg-slate-50 h3,
.site-body .bg-slate-50 h4,
.site-body .bg-slate-50 h5,
.site-body .bg-slate-50 h6,
.site-body .bg-slate-50 .text-slate-900,
.site-body .bg-slate-50 .text-slate-800,
.site-body .surface-card .bg-white h1,
.site-body .surface-card .bg-white h2,
.site-body .surface-card .bg-white h3,
.site-body .surface-card .bg-white h4,
.site-body .surface-card .bg-white h5,
.site-body .surface-card .bg-white h6,
.site-body .surface-card .bg-white .text-slate-900,
.site-body .surface-card .bg-slate-50 h1,
.site-body .surface-card .bg-slate-50 h2,
.site-body .surface-card .bg-slate-50 h3,
.site-body .surface-card .bg-slate-50 h4,
.site-body .surface-card .bg-slate-50 h5,
.site-body .surface-card .bg-slate-50 h6,
.site-body .surface-card .bg-slate-50 .text-slate-900 {
  color: #0f172a !important;
}

.site-body .bg-white p,
.site-body .bg-white li,
.site-body .bg-white span:not(.text-white):not(.video-play-chip):not(.video-play-button):not(.hero-slider-dot),
.site-body .bg-white .text-slate-700,
.site-body .bg-white .text-slate-600,
.site-body .bg-white .text-slate-500,
.site-body .bg-slate-50 p,
.site-body .bg-slate-50 li,
.site-body .bg-slate-50 span:not(.text-white):not(.video-play-chip):not(.video-play-button):not(.hero-slider-dot),
.site-body .bg-slate-50 .text-slate-700,
.site-body .bg-slate-50 .text-slate-600,
.site-body .bg-slate-50 .text-slate-500 {
  color: #111827 !important;
}

.site-body .surface-card article.bg-slate-50,
.site-body .surface-card article.bg-white {
  overflow: hidden !important;
  min-height: 12.5rem;
}

.site-body .surface-card article.bg-slate-50 > .absolute,
.site-body .surface-card article.bg-white > .absolute {
  right: 0.75rem !important;
  top: 0.5rem !important;
  font-size: clamp(3rem, 8vw, 4.5rem) !important;
  line-height: 1 !important;
  color: rgba(11, 61, 145, 0.08) !important;
  z-index: 0 !important;
}

.site-body .surface-card article.bg-slate-50 > .relative,
.site-body .surface-card article.bg-white > .relative {
  z-index: 1 !important;
}

.site-body .surface-card article.bg-slate-50 h4,
.site-body .surface-card article.bg-white h4 {
  max-width: calc(100% - 3.5rem);
}

.site-body .surface-card .bg-brand-soft,
.site-body .bg-brand-soft {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(219, 228, 240, 0.95) !important;
  color: #0f172a !important;
}

.site-body .surface-card .bg-brand-soft *,
.site-body .bg-brand-soft * {
  color: inherit !important;
}

.site-body .surface-card .bg-brand-soft p,
.site-body .bg-brand-soft p {
  color: #111827 !important;
}

.site-body .featured-video-panel,
.site-body .featured-video-panel h1,
.site-body .featured-video-panel h2,
.site-body .featured-video-panel h3,
.site-body .featured-video-panel h4,
.site-body .featured-video-panel p,
.site-body .featured-video-panel span {
  color: #f8fafc !important;
}

.site-body .featured-video-panel .section-kicker {
  color: #93c5fd !important;
}

.site-body .featured-video-panel .text-slate-600,
.site-body .featured-video-panel .text-slate-500,
.site-body .featured-video-panel .text-slate-400 {
  color: #cbd5e1 !important;
}

.site-body .featured-video-panel .bg-slate-100 {
  background: #0f172a !important;
  color: #dbeafe !important;
}

.site-body .bg-white .featured-video-panel,
.site-body .surface-card .featured-video-panel,
.site-body .featured-video-panel {
  background: #1e293b !important;
  color: #f8fafc !important;
}

.site-body .bg-white .featured-video-panel h1,
.site-body .bg-white .featured-video-panel h2,
.site-body .bg-white .featured-video-panel h3,
.site-body .bg-white .featured-video-panel h4,
.site-body .bg-white .featured-video-panel h5,
.site-body .bg-white .featured-video-panel h6,
.site-body .bg-white .featured-video-panel .text-slate-900,
.site-body .bg-white .featured-video-panel .text-slate-800,
.site-body .surface-card .featured-video-panel h1,
.site-body .surface-card .featured-video-panel h2,
.site-body .surface-card .featured-video-panel h3,
.site-body .surface-card .featured-video-panel h4,
.site-body .surface-card .featured-video-panel h5,
.site-body .surface-card .featured-video-panel h6,
.site-body .surface-card .featured-video-panel .text-slate-900,
.site-body .surface-card .featured-video-panel .text-slate-800,
.site-body .featured-video-panel h1,
.site-body .featured-video-panel h2,
.site-body .featured-video-panel h3,
.site-body .featured-video-panel h4,
.site-body .featured-video-panel h5,
.site-body .featured-video-panel h6,
.site-body .featured-video-panel .text-slate-900,
.site-body .featured-video-panel .text-slate-800 {
  color: #ffffff !important;
}

.site-body .bg-white .featured-video-panel p,
.site-body .bg-white .featured-video-panel span,
.site-body .bg-white .featured-video-panel .text-slate-600,
.site-body .bg-white .featured-video-panel .text-slate-500,
.site-body .bg-white .featured-video-panel .text-slate-400,
.site-body .featured-video-panel p,
.site-body .featured-video-panel span,
.site-body .featured-video-panel .text-slate-600,
.site-body .featured-video-panel .text-slate-500,
.site-body .featured-video-panel .text-slate-400 {
  color: #dbeafe !important;
}

.site-body .bg-white .featured-video-panel .bg-slate-100,
.site-body .featured-video-panel .bg-slate-100,
.site-body .bg-white .featured-video-panel span.bg-slate-100,
.site-body .featured-video-panel span.bg-slate-100 {
  background: #0f172a !important;
  color: #dbeafe !important;
}

.site-body .bg-white .featured-video-panel span.bg-slate-100 *,
.site-body .featured-video-panel span.bg-slate-100 * {
  color: #dbeafe !important;
}

.site-body .bg-white .featured-video-panel .btn-primary,
.site-body .featured-video-panel .btn-primary {
  color: #ffffff !important;
}

/* Component-level readability and compact spacing. */
.site-body .marquee-shell {
  background: #174aa5;
  border-radius: 0.25rem;
  padding-block: 0.45rem;
}

.site-body .marquee-item,
.site-body .marquee-item a,
.site-body .marquee-item span {
  color: #ffffff !important;
}

.site-body .marquee-shell .marquee-track .marquee-item > a,
.site-body .marquee-shell .marquee-track .marquee-item > span {
  color: #ffffff !important;
}

.site-body .marquee-item a:hover {
  color: #dbeafe !important;
}

.site-body .core-value-item,
.site-body .why-program-item {
  background: #111827 !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
  min-height: 0 !important;
}

.site-body .faq-card,
.site-body .home-faq-card {
  background: #ffffff !important;
  border-color: #dbe4f0 !important;
  color: #0f172a !important;
  min-height: 0 !important;
}

.site-body .faq-card h1,
.site-body .faq-card h2,
.site-body .faq-card h3,
.site-body .faq-card h4,
.site-body .faq-card p,
.site-body .faq-card .rich-content,
.site-body .faq-card .rich-content *,
.site-body .home-faq-card h1,
.site-body .home-faq-card h2,
.site-body .home-faq-card h3,
.site-body .home-faq-card h4,
.site-body .home-faq-card p,
.site-body .home-faq-card .rich-content,
.site-body .home-faq-card .rich-content * {
  color: #0f172a !important;
}

.site-body .surface-card article.bg-slate-50,
.site-body .surface-card article.bg-white {
  min-height: 0 !important;
}

.site-body .test-pdf-meta,
.site-body .test-pdf-meta *,
.site-body .test-attempt-upload-form,
.site-body .test-attempt-upload-form * {
  color: #f8fafc !important;
}

.site-body .test-attempt-upload-form {
  background: #111827 !important;
  border-color: #334155 !important;
}

.site-body .test-attempt-upload-form input[type="file"] {
  background: #ffffff !important;
  color: #0f172a !important;
}

.site-body .flow-main-nav-link.is-active,
.site-body .flow-main-nav-trigger.is-active {
  color: #ffffff !important;
  box-shadow: inset 0 -3px 0 #60a5fa;
}

.site-body .video-poster,
.site-body .video-poster .video-play-chip,
.site-body .video-poster .video-play-button {
  color: #ffffff !important;
}

.site-body .member-result-card {
  background: #1e293b !important;
  border: 1px solid #475569 !important;
  box-shadow: 0 26px 70px rgba(2, 6, 23, 0.28);
  color: #f8fafc !important;
}

.site-body .member-result-card h1,
.site-body .member-result-card h2,
.site-body .member-result-card h3,
.site-body .member-result-card h4,
.site-body .member-result-card p,
.site-body .member-result-card span,
.site-body .member-result-card strong {
  color: inherit !important;
}

.site-body .member-result-kicker {
  color: #93c5fd !important;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.site-body .member-result-muted,
.site-body .member-result-meta,
.site-body .member-result-meta span {
  color: #cbd5e1 !important;
}

.site-body .member-result-badge {
  background: #dbeafe !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 999px;
  color: #0b3d91 !important;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1;
  padding: 0.65rem 0.9rem;
  text-transform: uppercase;
}

.site-body .member-result-card .member-result-badge {
  color: #0b3d91 !important;
}

.site-body .member-result-metric {
  background: #0f172a !important;
  border: 1px solid #334155 !important;
  border-radius: 1.25rem;
  color: #f8fafc !important;
  padding: 1rem;
}

.site-body .member-result-metric p {
  color: #93a4bb !important;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.site-body .member-result-metric strong {
  color: #ffffff !important;
  display: block;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 900;
  margin-top: 0.45rem;
  overflow-wrap: anywhere;
}

.site-body .member-result-metric strong.text-emerald-300 {
  color: #6ee7b7 !important;
}

.site-body .member-result-metric strong.text-rose-300 {
  color: #fda4af !important;
}

.site-body .member-result-feedback,
.site-body .member-result-feedback * {
  background: #0f172a !important;
  color: #dbeafe !important;
}

.site-body .flow-site-header .flow-brand-name {
  line-height: 1.2 !important;
  overflow: visible !important;
  padding-bottom: 0.08rem;
  text-overflow: clip !important;
}

.site-body .flow-site-header .flow-brand-tagline {
  line-height: 1.35 !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.site-body [data-hero-slider] {
  aspect-ratio: 1672 / 941 !important;
  min-height: clamp(180px, 52vw, 540px);
}

.site-body [data-hero-slider] .hero-slide {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  width: 100% !important;
  opacity: 0;
  visibility: hidden;
}

.site-body [data-hero-slider] .hero-slide.active {
  position: absolute !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1;
}

.site-body [data-hero-slider] .hero-slide-canvas,
.site-body [data-hero-slider] .hero-slide-image {
  height: 100% !important;
  width: 100% !important;
}

.site-body [data-hero-slider] .hero-slide-image {
  object-fit: contain !important;
  background: #020617 !important;
}

@media (max-width: 1023px) {
  .site-body [data-mobile-nav] {
    background: #1e293b !important;
    border-color: #334155 !important;
  }

  .site-body [data-mobile-nav] a,
  .site-body [data-mobile-nav] summary,
  .site-body [data-mobile-nav] summary span,
  .site-body [data-mobile-nav] svg {
    color: #f8fafc !important;
  }

  .site-body [data-mobile-nav] a:hover,
  .site-body [data-mobile-nav] a:focus,
  .site-body [data-mobile-nav] summary:hover {
    background: #2563eb !important;
    color: #ffffff !important;
  }

  .site-body [data-mobile-nav] .nav-mobile-details {
    background: #0f172a !important;
    border-color: #475569 !important;
    box-shadow: 0 18px 40px rgba(2, 6, 23, 0.32) !important;
  }

  .site-body [data-mobile-nav] .nav-mobile-details > div {
    border-top-color: #334155 !important;
  }

  .site-body [data-mobile-nav] .nav-mobile-details a {
    background: transparent !important;
    color: #dbeafe !important;
  }

  .site-body [data-mobile-nav] .nav-mobile-details a:hover,
  .site-body [data-mobile-nav] .nav-mobile-details a:focus {
    background: #1d4ed8 !important;
    color: #ffffff !important;
  }

  .site-body [data-mobile-nav] .btn-outline-theme {
    border-color: #60a5fa !important;
    color: #ffffff !important;
  }
}

/* Test PDF workspace contrast repair. Keep this after broad light-card overrides. */
.site-body [data-test-workspace] {
  color: #f8fafc !important;
}

.site-body [data-test-workspace] > div {
  background: #0f172a !important;
  border-color: #334155 !important;
}

.site-body [data-test-workspace] .bg-slate-950,
.site-body [data-test-workspace] .bg-slate-900,
.site-body [data-test-workspace] .bg-slate-800 {
  background-color: #0f172a !important;
  color: #f8fafc !important;
}

.site-body [data-test-workspace] .bg-slate-950 *,
.site-body [data-test-workspace] .bg-slate-900 *,
.site-body [data-test-workspace] .bg-slate-800 *,
.site-body [data-test-workspace] [data-inline-pdf-placeholder] *,
.site-body [data-test-workspace] [data-inline-pdf-guard] > div:not([data-inline-pdf-canvas-viewer]) * {
  color: #f8fafc !important;
}

.site-body [data-test-workspace] .text-blue-300,
.site-body [data-test-workspace] .section-kicker {
  color: #93c5fd !important;
}

.site-body [data-test-workspace] .bg-blue-50,
.site-body [data-test-workspace] .online-omr-form {
  background-color: #ffffff !important;
  color: #0f172a !important;
}

.site-body [data-test-workspace] .bg-blue-50 *,
.site-body [data-test-workspace] .online-omr-form * {
  color: #0f172a !important;
}

.site-body [data-test-workspace] [data-popup-test-pdf-elapsed],
.site-body [data-test-workspace] [data-popup-test-pdf-remaining] {
  color: #ffffff !important;
}

.site-body [data-test-workspace] [data-popup-test-pdf-elapsed] {
  background: #047857 !important;
}

.site-body [data-test-workspace] [data-popup-test-pdf-remaining] {
  background: #be123c !important;
}

.site-body [data-test-workspace] .online-omr-form input:checked + span {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

.site-body [data-test-workspace] .pdf-canvas-viewer,
.protected-pdf-modal .pdf-canvas-viewer {
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}

.site-body [data-test-workspace] .pdf-canvas-viewer canvas,
.protected-pdf-modal .pdf-canvas-viewer canvas {
  max-width: none !important;
  height: auto !important;
}

@media (max-width: 640px) {
  .site-body [data-test-workspace] {
    padding: 0 !important;
  }

  .site-body [data-test-workspace] > div {
    border-radius: 0 !important;
    min-height: 100dvh !important;
  }

  .site-body [data-test-workspace] [data-inline-pdf-placeholder] h3 {
    font-size: 1rem !important;
    line-height: 1.35 !important;
  }

  .site-body [data-test-workspace] [data-inline-pdf-canvas-viewer] {
    padding: 0.5rem !important;
  }

  .site-body [data-test-workspace] .pdf-canvas-viewer canvas,
  .protected-pdf-modal .pdf-canvas-viewer canvas {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .site-body [data-test-workspace] .online-omr-form {
    gap: 0.875rem !important;
  }

.site-body [data-test-workspace] .btn-primary {
    min-height: 3rem !important;
    white-space: normal !important;
  }
}

/* Exam workspace redesign: blue header, white PDF/OMR panels, mobile step-by-step OMR. */
.site-body [data-test-workspace] {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}

.site-body [data-test-workspace] > div {
  background: #f1f5f9 !important;
  border-color: transparent !important;
}

.site-body [data-test-workspace] .omr-test-shell,
.site-body [data-test-workspace] .omr-test-shell *,
.site-body [data-test-workspace] .omr-question-card,
.site-body [data-test-workspace] .omr-question-card *,
.site-body [data-test-workspace] .omr-question-navigator,
.site-body [data-test-workspace] .omr-question-navigator * {
  color: #0f172a !important;
}

.site-body [data-test-workspace] .omr-test-shell input:checked + span,
.site-body [data-test-workspace] .omr-test-shell input:checked + span * {
  color: #ffffff !important;
}

.site-body [data-test-workspace] .omr-test-shell [data-omr-next],
.site-body [data-test-workspace] .omr-test-shell [data-omr-next] *,
.site-body [data-test-workspace] .online-omr-form .btn-primary,
.site-body [data-test-workspace] .online-omr-form .btn-primary * {
  color: #ffffff !important;
}

.site-body [data-test-workspace] .omr-nav-button.is-answered {
  background: #dcfce7 !important;
  color: #166534 !important;
}

.site-body [data-test-workspace] .omr-nav-button.is-current {
  background: #dbeafe !important;
  box-shadow: inset 0 0 0 2px #2563eb;
  color: #1d4ed8 !important;
}

.site-body [data-test-workspace] .omr-question-card.is-active {
  border-color: #2563eb !important;
  box-shadow: 0 18px 50px rgba(37, 99, 235, 0.12);
}

@media (max-width: 767px) {
  .site-body [data-test-workspace] .omr-question-navigator {
    display: none !important;
  }

  .site-body [data-test-workspace] .omr-question-card {
    display: none !important;
  }

  .site-body [data-test-workspace] .omr-question-card.is-active {
    display: block !important;
  }
}

/* Exam workspace v2: closer to the blue/white online-test reference. */
.site-body [data-test-workspace] {
  background: #eef3f8 !important;
}

.site-body [data-test-workspace] > div {
  background: #eef3f8 !important;
}

.site-body [data-test-workspace] .exam-workspace-header {
  background: #0967d8 !important;
  min-height: 5rem;
}

.site-body [data-test-workspace] .exam-paper-panel,
.site-body [data-test-workspace] .omr-navigator-card,
.site-body [data-test-workspace] .omr-sheet-card {
  background: #ffffff !important;
  border-color: #dbe4ef !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
}

.site-body [data-test-workspace] .exam-paper-toolbar,
.site-body [data-test-workspace] .exam-paper-toolbar *,
.site-body [data-test-workspace] .omr-navigator-card,
.site-body [data-test-workspace] .omr-navigator-card *,
.site-body [data-test-workspace] .omr-sheet-card,
.site-body [data-test-workspace] .omr-sheet-card * {
  color: #020617 !important;
}

.site-body [data-test-workspace] .exam-paper-toolbar {
  min-height: 3.75rem;
}

.site-body [data-test-workspace] [data-inline-pdf-guard] {
  background: #f8fafc !important;
}

.site-body [data-test-workspace] .pdf-canvas-viewer {
  background: #f8fafc !important;
  min-height: 100% !important;
}

.site-body [data-test-workspace] .pdf-canvas-viewer canvas {
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12) !important;
}

.site-body [data-test-workspace] [data-inline-pdf-canvas-viewer] {
  align-items: flex-start !important;
  justify-content: center !important;
}

.site-body [data-test-workspace] [data-inline-pdf-canvas-viewer] canvas:not(.hidden) {
  display: block !important;
  animation: inlinePdfSlideIn 180ms ease-out both;
}

@keyframes inlinePdfSlideIn {
  from {
    opacity: 0;
    transform: translateX(16px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.site-body [data-test-workspace] .omr-nav-button {
  background: #edf2f7 !important;
  border: 2px solid transparent !important;
  border-radius: 0.75rem !important;
  width: 2.75rem !important;
  min-height: 2.5rem;
  color: #020617 !important;
}

.site-body [data-test-workspace] .omr-question-navigator {
  grid-auto-columns: 2.75rem !important;
  scrollbar-width: thin;
  scrollbar-color: #94a3b8 #f1f5f9;
}

.site-body [data-test-workspace] .omr-navigator-card {
  overflow: hidden !important;
}

.site-body [data-test-workspace] .omr-nav-button:hover {
  background: #dbeafe !important;
  color: #075ec9 !important;
}

.site-body [data-test-workspace] .omr-nav-button.is-current {
  background: #eef6ff !important;
  border-color: #0b7ce4 !important;
  color: #020617 !important;
  box-shadow: none !important;
}

.site-body [data-test-workspace] .omr-nav-button.is-answered {
  background: #dcfce7 !important;
  border-color: #22c55e !important;
  color: #14532d !important;
}

.site-body [data-test-workspace] .omr-question-list {
  scrollbar-color: #94a3b8 #f1f5f9;
  max-height: none !important;
  overflow: visible !important;
}

.site-body [data-test-workspace] .omr-question-card {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #020617 !important;
  display: none !important;
}

.site-body [data-test-workspace] .omr-question-card.is-active {
  border-color: #0b7ce4 !important;
  background: #f8fbff !important;
  display: block !important;
  box-shadow: 0 0 0 1px #0b7ce4 inset !important;
}

.site-body [data-test-workspace] .omr-question-card label span {
  background: #f8fafc !important;
  border-color: #dbe4ef !important;
  color: #475569 !important;
}

.site-body [data-test-workspace] .omr-question-card input:checked + span {
  background: #0b7ce4 !important;
  border-color: #0b7ce4 !important;
  color: #ffffff !important;
}

.site-body [data-test-workspace] [data-omr-next],
.site-body [data-test-workspace] [data-active-omr-submit] {
  color: #ffffff !important;
}

@media (min-width: 1280px) {
  .site-body [data-test-workspace] .omr-question-list {
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 767px) {
  .site-body [data-test-workspace] .exam-workspace-header {
    min-height: 5rem;
    flex-wrap: nowrap !important;
  }

  .site-body [data-test-workspace] .exam-paper-toolbar {
    display: grid !important;
    grid-template-columns: 1fr auto auto auto;
    row-gap: 0.5rem;
  }

  .site-body [data-test-workspace] .exam-paper-toolbar > :first-child {
    grid-column: 1 / -1;
    border-right: 0 !important;
  }

  .site-body [data-test-workspace] .omr-sheet-card {
    border-radius: 1.5rem !important;
  }

  .site-body [data-test-workspace] .omr-question-list {
    max-height: none !important;
    overflow: visible !important;
  }

  .site-body [data-test-workspace] .omr-question-card {
    padding: 1rem !important;
  }
}
