/* ============================================================
   LIME DIGITAL INSTITUTE — SWISS INTERNATIONAL STYLE
   International Typographic Style: objective, grid-driven, flat.
   ============================================================ */

:root {
  /* --- CORE (brand palette: Racing Red / Black Cherry / Coffee Bean / Alabaster Grey, on white/black) --- */
  --primary: #ED3237;
  --lime-red: #ED3237;        /* Racing Red — the signal color */
  --deep-red: #55100D;        /* Black Cherry — pressed/hover */
  --link-red: #55100D;        /* Black Cherry — text-safe on white */
  --white: #FFFFFF;

  /* --- RED RAMP (Racing Red / Black Cherry / Coffee Bean, no tinted pastel reds) --- */
  --red-50: #FFF5F5;   --red-100: #FEE2E2;  --red-200: #1A0706;
  --red-300: #DD0200;  --red-400: #DD0200;  --red-500: #DD0200;
  --red-600: #55100D;  --red-700: #55100D;  --red-800: #1A0706;
  --red-900: #1A0706;

  /* --- INK SCALE (pure black text, gray only for hierarchy) --- */
  --ink-900: #000000;  --ink-800: #000000;  --ink-700: #1A1A1A;
  --ink-600: #333333;  --ink-500: #4D4D4D;  --ink-400: #808080;
  --ink-300: #B3B3B3;  --ink-200: #E5E5E5;  --ink-100: #D9D9D9;
  --ink-50: #FFFFFF;

  /* --- SEMANTIC --- */
  --surface: #FFFFFF;
  --surface-alt: #FFFFFF;
  --surface-sunk: #F7F7F7;
  --on-surface: #000000;
  --on-surface-muted: #4D4D4D;
  --border: #1A0706;
  --border-strong: #1A0706;
  --focus: #DD0200;
  --success: #1A7F37;
  --warning: #9A5A00;
  --danger: #B3161B;

  /* --- RADIUS: strictly rectangular, no rounded corners anywhere --- */
  --r-none: 0;  --r-sm: 4px;  --r-md: 9px;  --r-lg: 14px;  --r-xl: 24px;  --r-full: 9999px;

  /* --- ELEVATION: flat design, no drop shadows --- */
  --e-0: none;
  --e-1: none;
  --e-2: none;
  --e-3: none;
  --shadow-primary: none;
  --glow-red: none;

  /* --- MOTION: instant, mechanical, no spring/elastic --- */
  --ease: cubic-bezier(0, 0, 0.2, 1);
  --dur-fast: 100ms; --dur-base: 150ms; --dur-slow: 200ms;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

html, body {
  margin: 0;
  font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: var(--surface);
  color: var(--on-surface);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
  position: relative;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  opacity: .015;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- Swiss pattern utilities ---- */
.swiss-grid-pattern {
  background-image:
    linear-gradient(to right, rgba(0,0,0,.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,.03) 1px, transparent 1px);
  background-size: 24px 24px;
}
.swiss-dots {
  background-image: radial-gradient(rgba(0,0,0,.06) 1px, transparent 1px);
  background-size: 16px 16px;
}
.swiss-diagonal {
  background-image: repeating-linear-gradient(45deg, rgba(0,0,0,.03) 0 1px, transparent 1px 10px);
}

img { max-width: 100%; display: block; }
button, input, select, textarea, optgroup { font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 768px) { .wrap { padding: 0 24px; } }
section { position: relative; }
section[id] { scroll-margin-top: 100px; }

:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius:4px; }

/* ===== GRAPHIC DEVICES & GLOW EFFECTS ===== */
.underline-device {
  background: linear-gradient(transparent 62%, var(--red-200) 62%);
  padding: 0 2px;
}
.marker-device {
  background: var(--lime-red);
  color: #ffffff;
  padding: 2px 8px;
  border-radius: var(--r-sm);
  box-shadow:none;
}

.btn-glow {
  background: var(--lime-red) !important;
  color: #ffffff !important;
  box-shadow:none;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
}
.btn-glow:hover {
  background: var(--deep-red) !important;
  box-shadow:none;
  transform: translateY(-2px);
}

.badge-glow {
  background: var(--red-50);
  border: 1px solid rgba(237, 50, 55, 0.3);
  color: var(--deep-red);
}

/* ===== TICKER / ANNOUNCEMENT BAR ===== */
.ticker-bar {
  display: flex; align-items: center;
  background: var(--lime-red);
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
  padding: 6px 0;
  border-bottom: 1px solid rgba(237, 50, 55, 0.4);
  position: relative;
  z-index: 101;
}
.ticker-bar strong {
  color: #ffffff; font-weight: 700;
  background: rgba(0,0,0,.2); padding: 2px 9px; border-radius: var(--r-full);
}
.ticker-scroll { flex: 1; min-width: 0; overflow: hidden; padding-left: 16px; }
.ticker-track { display: flex; width: max-content; animation: tickerScroll 22s linear infinite; }
.ticker-item { display: flex; align-items: center; gap: 6px; white-space: nowrap; padding-right: 56px; }
@keyframes tickerScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.ticker-divider { width: 1px; align-self: stretch; margin: 2px 16px; background: rgba(255,255,255,.35); flex-shrink: 0; }
.ticker-cta {
  flex-shrink: 0; white-space: nowrap; padding-right: 16px;
  text-decoration: underline; color: #ffffff; font-weight: 600;
}
.ticker-cta:hover { color: var(--red-300); }

@media (max-width: 980px) {
  .ticker-bar { padding: 6px 0; font-size: 10.5px; }
  .ticker-scroll { padding-left: 12px; }
  .ticker-item { padding-right: 40px; }
  .ticker-divider { margin: 2px 10px; }
  .ticker-cta { padding-right: 12px; }
  .nav.has-ticker { top: 32px; }
  .page-hero { padding: 92px 0 0; }
  .page-hero-card { border-radius: 18px; padding: 26px 16px; }
  .page-hero-card h1 { font-size: clamp(22px, 5.2vw, 32px); line-height: 1.25; }
  .page-hero-card .breadcrumb { margin: 10px 0 0; font-size: 12px; }
  .page-hero-sub { margin: 16px auto 0; }
}

/* ===== NAV ===== */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 10px 0; transition: padding .35s ease, background .35s ease, border-color .35s ease, top .35s ease;
}
.nav.has-ticker { top: 30px; }
.nav .wrap { display: flex; align-items: center; justify-content: space-between; }
.nav-inner {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  padding: 10px 24px; border-radius: var(--r-full);
  background: transparent; border: 1px solid transparent;
  transition: background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.nav .nav-inner {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(23, 20, 20, 0.08);
  box-shadow:none;
}
.nav.scrolled { padding: 10px 0; }
.nav.has-ticker.scrolled { top: 0; }
.nav.scrolled .nav-inner {
  background: rgba(255, 255, 255, 0.98);
  box-shadow:none;
}
.nav-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s var(--ease);
}
.nav-logo img { height: 36px; width: auto; display: block; }
.nav-links { display: flex; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
.nav-links a { font-size: 14px; font-weight: 500; color: var(--ink-800); opacity: .9; transition: opacity .2s, color .2s; }
.nav-links a.active { opacity: 1; color: var(--lime-red); font-weight: 600; }
.nav-links a:hover { opacity: 1; color: var(--lime-red); }
.nav-cta { display: flex; align-items: center; gap: 14px; }
.nav-burger {
  display: none; align-items: center; gap: 9px; cursor: pointer; border: none;
  background: #ffffff; padding: 10px 16px; border-radius: var(--r-full);
  box-shadow: 0 2px 10px rgba(0,0,0,.08); color: var(--ink-900);
}
.nav-burger-label { position: relative; display: inline-block; width: 40px; height: 15px; overflow: hidden; }
.nav-burger-word { position: absolute; top: 0; left: 0; white-space: nowrap; font-size: 13.5px; font-weight: 600; line-height: 15px; transition: transform .3s ease, opacity .3s ease; }
.nav-burger-word-menu { transform: translateX(0); opacity: 1; }
.nav-burger-word-close { transform: translateX(120%); opacity: 0; }
.nav-burger.active .nav-burger-word-menu { transform: translateX(-120%); opacity: 0; }
.nav-burger.active .nav-burger-word-close { transform: translateX(0); opacity: 1; }
.nav-burger-icon { display: block; }
.nav-burger-icon span { display: block; width: 18px; height: 2px; background: currentColor; margin: 4px 0; border-radius:2px; transition: transform .25s ease, opacity .2s ease; }
.nav-burger.active .nav-burger-icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-burger.active .nav-burger-icon span:nth-child(2) { opacity: 0; }
.nav-burger.active .nav-burger-icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ===== MEGA MENU ===== */
.nav-links li.has-mega { position: relative; }
.mega-trigger {
  display: flex; align-items: center; gap: 5px;
  background: none; border: none; cursor: pointer; padding: 0;
  font: inherit; font-size: 14px; font-weight: 500; color: var(--ink-800); opacity: .9;
  transition: opacity .2s, color .2s;
}
.mega-trigger:hover { opacity: 1; color: var(--lime-red); }
.mega-trigger svg { width: 11px; height: 11px; transition: transform .2s var(--ease); flex-shrink: 0; }
li.mega-open .mega-trigger { opacity: 1; color: var(--lime-red); }
li.mega-open .mega-trigger svg { transform: rotate(180deg); }

.mega-panel {
  position: absolute; left: 0; top: calc(100% + 16px);
  background: #ffffff; border: 1px solid var(--border); border-radius: var(--r-lg);
  box-shadow: 0 24px 48px -24px rgba(0,0,0,.22);
  padding: 22px; z-index: 90;
  opacity: 0; visibility: hidden; pointer-events: none;
  max-height: 0; overflow: hidden;
  transition: opacity .18s ease, visibility .18s, max-height .18s ease;
}
li.mega-open .mega-panel { opacity: 1; visibility: visible; pointer-events: auto; max-height: 900px; }
/* Center Learning Centre & More panels below their trigger button */
.mega-panel[data-mega-panel="learning"],
.mega-panel[data-mega-panel="more"] {
  left: 50%;
  transform: translateX(-50%);
}

.mega-panel-inner { display: flex; gap: 28px; align-items: stretch; }
.mega-panel.cols-1 .mega-panel-inner { max-width: 480px; }

.mega-list { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 28px; min-width: 410px; align-content: center; }
.mega-panel.cols-1 .mega-list { grid-template-columns: 1fr; min-width: 250px; }
.mega-item {
  display: block; padding: 10px 4px; border-radius: 0;
  border-bottom: 1px solid var(--ink-100);
  transition: color .15s ease, padding-left .15s ease; cursor: pointer;
}
.mega-item:hover, .mega-item.mega-active { background: none; padding-left: 8px; }
.mega-item-icon { display: none; }
.mega-item-text strong { display: block; font-size: 14.5px; font-weight: 600; color: var(--ink-800); }
.mega-item:hover .mega-item-text strong { color: var(--lime-red); }
.mega-item-text span { display: block; font-size: 12.5px; font-weight: 400; color: var(--ink-500); margin-top: 2px; }
.mega-item-arrow { display: none; }

.mega-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 28px; min-width: 410px; align-content: center; }
.mega-col-title {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
  color: var(--ink-400); margin-bottom: 6px; grid-column: 1 / -1;
}
.mega-link {
  display: block; padding: 10px 4px; font-size: 14.5px; font-weight: 600; color: var(--ink-800);
  border-bottom: 1px solid var(--ink-100); transition: color .15s ease, padding-left .15s ease;
}
.mega-link:hover { color: var(--lime-red); padding-left: 8px; }
.mega-link span { display: block; font-size: 12.5px; font-weight: 400; color: var(--ink-500); margin-top: 2px; }

.mega-promo {
  display: flex; flex-direction: column; flex-shrink: 0; width: 250px;
  border-radius: var(--r-md); overflow: hidden; background: #080101;
  border: 1px solid rgba(237, 50, 55, 0.22);
  box-shadow: 0 8px 24px -6px rgba(0, 0, 0, 0.25);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  text-decoration: none; box-sizing: border-box;
}
.mega-promo:hover {
  transform: translateY(-2px);
  border-color: rgba(237, 50, 55, 0.45);
  box-shadow: 0 12px 28px -4px rgba(237, 50, 55, 0.35);
}
.mega-promo:not(.mega-promo-brochure) img {
  width: 100%; flex: 1; height: 0; min-height: 0; object-fit: cover; object-position: center 20%; display: block;
}
.mega-promo:not(.mega-promo-brochure) strong {
  display: block; padding: 10px 12px; font-size: 12.5px; font-weight: 700; color: #FFFFFF !important;
  background: var(--lime-red, #ED3237); text-align: center; line-height: 1.35; flex-shrink: 0;
  border-radius: 0 0 var(--r-md, 9px) var(--r-md, 9px);
}

/* Brochure promo card — matches .brochure-card-visual premium style */
.mega-promo-brochure {
  background: #1a0305;
  border: 1px solid rgba(237, 50, 55, 0.22);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0;
  overflow: hidden;
  width: 280px;
}
.mega-promo-brochure img {
  width: 100%;
  height: 160px;
  object-fit: contain;
  object-position: center center;
  display: block;
  flex-shrink: 0;
}
.mega-promo-brochure strong {
  display: block !important;
  padding: 11px 12px;
  font-size: 13px;
  font-weight: 700;
  color: #FFFFFF !important;
  background: var(--lime-red, #ED3237);
  text-align: center;
  line-height: 1.35;
  flex-shrink: 0;
  border-radius: 0 0 var(--r-md, 9px) var(--r-md, 9px);
}
.mega-backdrop {
  position: fixed; inset: 0; background: rgba(9, 13, 20, .55); backdrop-filter: blur(2px); z-index: 89; opacity: 0; visibility: hidden;
  transition: opacity .18s ease, visibility .18s;
}
.mega-backdrop.active { opacity: 1; visibility: visible; }
.nav-decor { display: none; }

@media (max-width: 980px) {
  .nav-burger { display: flex; position: relative; z-index: 160; }
  .nav-logo { position: relative; z-index: 160; }
  .nav-cta { display: none; }

  body.mobile-nav-open { overflow: hidden; }
  body.mobile-nav-open .ticker-bar { display: none; }
  body.mobile-nav-open .nav { top: 0 !important; padding: 14px 0; }
  body.mobile-nav-open .nav .nav-inner { background: #ffffff; border-bottom: 1px solid var(--ink-100); border-radius: 0; }
  body.mobile-nav-open .nav-logo img { height: 57px; }

  /* Full-screen mobile menu (LID-style) */
  .nav-links {
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    list-style: none; margin: 0; padding: 96px 0 40px;
    position: fixed; inset: 0; width: 100%; height: 100vh;
    overflow: hidden; visibility: hidden; opacity: 0;
    background: #ffffff; z-index: 150;
    transition: opacity .25s ease, visibility .25s;
  }
  .nav-links.mobile-open {
    overflow-y: auto; visibility: visible; opacity: 1;
    -webkit-overflow-scrolling: touch;
  }
  .nav-links { padding: 92px 16px 32px; gap: 3px; }
  .nav-links > li { width: 100%; border-bottom: none; flex-shrink: 0; }

  .nav-icon {
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: 38px; height: 38px; border-radius: var(--r-md);
    background: var(--red-50); color: var(--lime-red);
  }
  .nav-icon svg { width: 18px; height: 18px; }

  .nav-links > li > a {
    display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 12px;
    border-radius: var(--r-lg);
    font-size: 15.5px; font-weight: 700; color: var(--ink-900); opacity: 1;
    transition: background .15s ease, color .15s ease;
  }
  .nav-links > li > a.active { background: none; color: var(--lime-red); }
  .nav-links > li > a.active .nav-icon { background: #ffffff; }
  .nav-links > li > a:active { background: var(--ink-100); }

  .mega-trigger {
    display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 12px;
    border-radius: var(--r-lg);
    font-size: 15.5px; font-weight: 700; color: var(--ink-900); opacity: 1;
    transition: background .15s ease, color .15s ease;
  }
  li.mega-open > .mega-trigger { background: var(--red-50); color: var(--lime-red); }
  li.mega-open > .mega-trigger .nav-icon { background: #ffffff; }
  .mega-trigger .mega-chevron {
    margin-left: auto; width: 15px; height: 15px; color: var(--ink-400); flex-shrink: 0;
  }
  li.mega-open .mega-trigger .mega-chevron { color: var(--lime-red); }

  .mega-panel {
    position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;
    border: none; max-height: 0; overflow: hidden; padding: 0;
    transition: max-height .3s ease;
  }
  li.mega-open .mega-panel { max-height: 1600px; padding: 2px 8px 14px 0px; }
  .mega-panel-inner { padding: 0; max-width: none; display: block; }
  .mega-grid, .mega-list { display: flex; flex-direction: column; gap: 2px; }
  .mega-col-title { margin: 8px 0 4px; }
  .mega-item, .mega-link {
    padding: 11px 10px; border-radius: var(--r-md);
    transition: background .15s ease;
  }
  .mega-item:active, .mega-link:active { background: var(--ink-100); }
  .mega-item-text span, .mega-link span { display: block; }
  .mega-promo { display: none; }
  .mega-backdrop { display: none; }

  .nav-links > li.nav-mobile-cta-item {
    display: flex; flex-direction: column; gap: 12px;
    margin-top: 14px; padding: 14px 10px 32px;
  }
  .nav-mobile-demo-banner {
    display: block; width: 100%; max-width: 320px; margin: 0 auto 4px;
    border-radius: 16px; overflow: hidden;
    box-shadow: 0 10px 28px -6px rgba(0, 0, 0, 0.16);
    transition: transform .2s ease; cursor: pointer;
  }
  .nav-mobile-demo-banner img {
    width: 100%; height: auto; display: block; border-radius: 16px;
  }
  .btn-mobile-whatsapp {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    padding: 13px 20px;
    border-radius: var(--r-full, 9999px);
    background: #25D366;
    color: #ffffff !important;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.28);
    transition: transform .15s ease, background .15s ease;
    box-sizing: border-box;
  }
  .btn-mobile-whatsapp svg {
    width: 19px;
    height: 19px;
    flex-shrink: 0;
    fill: currentColor;
  }
  .btn-mobile-whatsapp:active {
    background: #1fb457;
    transform: scale(0.98);
  }

  /* Decorative line-art is hidden to keep mobile drawer clean as in Image 1 */
  .nav-decor { display: none !important; }
  .nav-decor-inner { position: relative; width: 100%; max-width: 320px; height: 230px; max-height: 100%; }
  .nav-decor-line { position: absolute; inset: 0; width: 100%; height: 100%; }
  .nav-decor-line path { animation: navDecorDraw 7s linear infinite; }
  .nav-decor-dot { animation: navDecorPulse 2.4s ease-in-out infinite; }
  .nav-decor-badge {
    position: absolute; display: inline-flex; align-items: center; gap: 7px;
    background: #ffffff; border: 1px solid var(--ink-100); border-radius: var(--r-full);
    padding: 9px 16px; font-size: 12.5px; font-weight: 600; color: var(--ink-800);
    animation: navDecorFloat 4.5s ease-in-out infinite;
  }
  .nav-decor-badge strong { color: var(--lime-red); }
  .nav-decor-badge-1 { top: 4px; left: 4px; animation-delay: 0s; }
  .nav-decor-badge-2 { top: 82px; right: 6px; animation-delay: 1.4s; }
  .nav-decor-badge-3 { top: 168px; left: 30px; animation-delay: 2.8s; }
}
.nav-icon { display: none; }
.nav-mobile-cta-item { display: none; }

@keyframes navDecorFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes navDecorDraw {
  to { stroke-dashoffset: -240; }
}
@keyframes navDecorPulse {
  0%, 100% { opacity: .35; r: 3; }
  50% { opacity: 1; r: 4; }
}

/* ===== NEWSLETTER / CAMPUS VISIT MODALS (share .modal-overlay/.modal-card) ===== */
.modal-card.modal-wide { max-width: 620px !important; text-align: left; }
.newsletter-badge {
  display: inline-flex; align-items: center; gap: 6px; background: var(--red-50); color: var(--lime-red);
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
  padding: 5px 12px; border-radius: var(--r-full); margin-bottom: 14px;
}

/* ===== 2-COLUMN LEAD CAPTURE MODAL (photo + badges left, form right) ===== */
.modal-card.modal-2col {
  max-width: 760px !important;
  width: 95% !important;
  max-height: 90vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: block !important;
  border-radius: 20px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22) !important;
}
.lead2-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: stretch;
  min-height: 100%;
}
.lead2-left {
  position: relative;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 10px 14px 16px;
  overflow: hidden;
}
.lead2-left img {
  width: 100%;
  height: auto;
  max-height: 440px;
  object-fit: contain;
  display: block;
  border-radius: 14px;
}
.lead2-right {
  padding: 24px 26px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-y: auto;
  max-height: 90vh;
}
.lead2-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #111111;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  padding: 4px 12px;
  border-radius: var(--r-full);
  margin-bottom: 8px;
  align-self: flex-start;
}
.lead2-badge::before {
  content: "●";
  color: var(--lime-red);
  font-size: 9px;
}
.modal-card.modal-2col .modal-head {
  margin-bottom: 12px;
  text-align: left;
}
.modal-card.modal-2col .modal-head h3 {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--ink-900) !important;
  margin-bottom: 3px !important;
  letter-spacing: -0.01em;
}
.modal-card.modal-2col .modal-head p {
  font-size: 12px !important;
  color: var(--ink-500) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.modal-card.modal-2col .modal-close {
  top: 12px !important;
  right: 12px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  font-size: 16px !important;
  line-height: 32px !important;
  color: var(--ink-800) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.modal-card.modal-2col .modal-close:hover {
  background: var(--lime-red) !important;
  color: #ffffff !important;
}

/* ===== SITE-WIDE MAINTENANCE MODAL POPUP ===== */
.maintenance-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(11, 19, 41, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.maintenance-modal-overlay.active {
  opacity: 1;
  visibility: visible;
}
.maintenance-modal-card {
  background: #ffffff;
  border-radius: 20px;
  max-width: 500px;
  width: 100%;
  max-height: 90vh;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 36px 30px 26px;
  text-align: center;
  position: relative;
  transform: scale(0.92) translateY(12px);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  overflow-y: auto;
  box-sizing: border-box;
}
.maintenance-modal-overlay.active .maintenance-modal-card {
  transform: scale(1) translateY(0);
}
.maintenance-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #111111;
  color: #ffffff;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 5px 14px;
  border-radius: 999px;
  margin-bottom: 16px;
}
.maintenance-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lime-red, #ED3237);
  animation: pulseDot 1.4s ease-in-out infinite;
}
.maintenance-title {
  font-size: 24px;
  font-weight: 800;
  color: var(--ink-900, #212529);
  line-height: 1.25;
  margin-bottom: 8px;
  letter-spacing: -0.02em;
}
.maintenance-title span {
  color: var(--lime-red, #ED3237);
}
.maintenance-sub {
  font-size: 14px;
  color: var(--ink-500, #6c757d);
  margin-bottom: 20px;
  line-height: 1.5;
}
.maintenance-info-box {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-left: 3px solid var(--lime-red, #ED3237);
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
  text-align: left;
}
.maintenance-info-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #212529;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.maintenance-info-desc {
  font-size: 12.5px;
  color: #6c757d;
  line-height: 1.55;
}
.maintenance-btn-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--lime-red, #ED3237);
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(237, 50, 55, 0.35);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
  margin-bottom: 16px;
}
.maintenance-btn-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(237, 50, 55, 0.45);
}
.maintenance-btn-cta:active {
  transform: translateY(0);
}
.maintenance-auth-wrap {
  border-top: 1px dashed #dee2e6;
  padding-top: 14px;
  margin-top: 4px;
}
.maintenance-auth-toggle {
  background: none;
  border: none;
  color: #868e96;
  font-size: 11.5px;
  cursor: pointer;
  padding: 4px;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.maintenance-auth-toggle:hover {
  color: #495057;
}
.maintenance-auth-form {
  display: none;
  margin-top: 10px;
  gap: 8px;
  justify-content: center;
}
.maintenance-auth-form.open {
  display: flex;
}
.maintenance-pwd-input {
  padding: 8px 14px;
  font-size: 12.5px;
  border: 1px solid #ced4da;
  border-radius: 999px;
  font-family: inherit;
  width: 180px;
  outline: none;
}
.maintenance-pwd-input:focus {
  border-color: var(--lime-red, #ED3237);
}
.maintenance-pwd-btn {
  padding: 8px 16px;
  background: #212529;
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
.maintenance-pwd-btn:hover {
  background: var(--lime-red, #ED3237);
}
.maintenance-auth-error {
  color: var(--lime-red, #ED3237);
  font-size: 11.5px;
  margin-top: 6px;
  display: none;
}
.modal-card.modal-2col .form-group {
  margin-bottom: 9px !important;
}
.modal-card.modal-2col .form-group label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  margin-bottom: 3px;
  color: var(--ink-800);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.modal-card.modal-2col .form-input,
.modal-card.modal-2col select.form-input {
  padding: 8px 12px !important;
  font-size: 13px !important;
  border: 1.5px solid #d5d5d5 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--ink-900) !important;
  transition: border-color 0.2s ease !important;
}
.modal-card.modal-2col .form-input:focus,
.modal-card.modal-2col .lid-phone-group:focus-within,
.modal-card.modal-2col select.form-input:focus {
  border-color: var(--lime-red) !important;
  box-shadow: 0 0 0 3px rgba(237, 50, 55, 0.12) !important;
  outline: none;
}
.modal-card.modal-2col .lid-phone-group {
  border: 1.5px solid #d5d5d5;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  align-items: stretch;
  height: 42px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.modal-card.modal-2col .lid-phone-group .lid-phone-input {
  border: none !important;
  border-radius: 0 !important;
  padding: 0 12px !important;
  font-size: 13.5px !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  outline: none !important;
  font-family: inherit !important;
  color: #1e293b !important;
  box-sizing: border-box !important;
  flex: 1 !important;
}
.modal-card.modal-2col .lid-phone-prefix,
.modal-card.modal-2col select.lid-phone-prefix,
.modal-card.modal-2col select.lid-country-select {
  border: none !important;
  border-right: 1px solid #e0e0e0 !important;
  border-radius: 0 !important;
  background: #f8fafc !important;
  padding: 0 8px !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  gap: 4px !important;
  cursor: pointer !important;
  outline: none !important;
  min-width: 82px !important;
  height: 100% !important;
  flex: none !important;
  box-sizing: border-box !important;
}
.modal-card.modal-2col select.lid-phone-prefix:hover,
.modal-card.modal-2col select.lid-country-select:hover {
  background: #f1f5f9 !important;
}

/* ============================================================
   SEARCHABLE COUNTRY CODE PICKER (MATCHING ZOHO FORM SPEC)
   ============================================================ */
.lime-cp-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: row !important;
  gap: 6px !important;
  background: #ffffff !important;
  border: 1.5px solid #E2E4E8 !important;
  border-radius: 9px !important;
  padding: 0 11px !important;
  font-family: inherit !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #1A1A1A !important;
  cursor: pointer !important;
  outline: none !important;
  user-select: none !important;
  white-space: nowrap !important;
  flex: none !important;
  flex-shrink: 0 !important;
  height: 42px !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.15s ease !important;
}
.lime-cp-trigger:hover {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}
.lime-cp-trigger:focus-visible,
.lime-cp-trigger[aria-expanded="true"] {
  border-color: var(--lime-red, #ED3237) !important;
  box-shadow: 0 0 0 3px rgba(237, 50, 55, 0.12) !important;
  background: #ffffff !important;
}
.lid-phone-group:not(.curr-phone-row) .lime-cp-trigger {
  background: #ffffff !important;
  border: none !important;
  border-right: 1.5px solid #d5d5d5 !important;
  border-radius: 0 !important;
  height: 100% !important;
}
.lime-cp-trigger:hover,
.lime-cp-trigger:focus-visible {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}
.lime-cp-trigger .cp-flag {
  font-size: 17px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}
.lime-cp-trigger .cp-code {
  font-weight: 600 !important;
  font-size: 13px !important;
  color: #1e293b !important;
  letter-spacing: -0.2px !important;
  flex-shrink: 0 !important;
}
.lime-cp-trigger .cp-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #64748b !important;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.15s !important;
  margin-left: 2px !important;
  flex-shrink: 0 !important;
}
.lime-cp-trigger[aria-expanded="true"] .cp-arrow {
  transform: rotate(180deg) !important;
  color: #ED3237 !important;
}

/* FLOATING SEARCHABLE DROPDOWN MENU */
.lime-cp-dropdown {
  position: fixed;
  z-index: 999999;
  width: 280px;
  max-width: calc(100vw - 24px);
  background: #ffffff;
  border: 1.5px solid #E2E4E8;
  border-radius: 12px;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.18), 0 4px 12px rgba(0, 0, 0, 0.08);
  padding: 8px;
  font-family: 'Poppins', -apple-system, sans-serif;
  display: none;
  box-sizing: border-box;
  animation: cpDropdownFade 0.16s cubic-bezier(0.16, 1, 0.3, 1);
}
.lime-cp-dropdown.cp-open {
  display: block;
}
@keyframes cpDropdownFade {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.lime-cp-search-wrap {
  position: relative;
  margin-bottom: 6px;
}
.lime-cp-search-input {
  width: 100%;
  box-sizing: border-box;
  padding: 9px 12px 9px 34px;
  border: 1.5px solid #E2E4E8;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  color: #1e293b;
  outline: none;
  background: #ffffff;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.lime-cp-search-input:focus {
  border-color: #ED3237;
  box-shadow: 0 0 0 3px rgba(237, 50, 55, 0.12);
}
.lime-cp-search-icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  color: #94a3b8;
  pointer-events: none;
}
.lime-cp-list {
  max-height: 230px;
  overflow-y: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  overscroll-behavior: contain;
}
.lime-cp-list::-webkit-scrollbar {
  width: 5px;
}
.lime-cp-list::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
.lime-cp-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 13px;
  color: #1e293b;
  cursor: pointer;
  transition: background 0.12s ease;
  user-select: none;
}
.lime-cp-item:hover,
.lime-cp-item.cp-highlighted {
  background: #FFF5F5;
  color: #ED3237;
}
.lime-cp-item.cp-selected {
  background: #FFF5F5;
  color: #ED3237;
  font-weight: 600;
}
.lime-cp-country-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.lime-cp-item-flag {
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}
.lime-cp-item-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lime-cp-item-code {
  font-weight: 600;
  font-size: 12.5px;
  color: inherit;
  margin-left: 8px;
  flex-shrink: 0;
}
.lime-cp-empty {
  padding: 18px 10px;
  text-align: center;
  font-size: 12.5px;
  color: #94a3b8;
}
.modal-card.modal-2col .lid-phone-input {
  border: none !important;
  border-radius: 0 !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
  width: 100%;
}
.modal-card.modal-2col .lid-whatsapp-hint {
  font-size: 10px;
  color: #777777;
  margin-top: 2px;
}
.modal-card.modal-2col .lid-consent-label {
  font-size: 9.5px;
  line-height: 1.3;
  color: #666666;
  margin: 3px 0 7px;
  display: flex;
  gap: 6px;
  align-items: flex-start;
  cursor: pointer;
}
.modal-card.modal-2col .lid-consent-label input {
  margin-top: 2px;
  accent-color: var(--lime-red);
  flex: none;
}
.modal-card.modal-2col .btn-modal-submit,
.modal-card.modal-2col button[type="submit"] {
  width: 100%;
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 700;
  border-radius: 9999px;
  background: var(--lime-red);
  color: #ffffff;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(237, 50, 55, 0.35);
  transition: background 0.2s ease, transform 0.15s ease;
}
.modal-card.modal-2col .btn-modal-submit:hover,
.modal-card.modal-2col button[type="submit"]:hover {
  background: #cc252a;
}
@media (max-width: 860px) {
  .modal-card.modal-2col { max-width: 440px !important; }
  .lead2-grid { grid-template-columns: 1fr; }
  .lead2-left { display: none; }
  .lead2-right { padding: 24px 18px 20px; }
}

/* ===== LID-STYLE HERO SECTION ===== */
.lid-hero {
  padding: 130px 0 60px;
  background-color: #ffffff;
  background-image: 
    linear-gradient(to right, rgba(23, 20, 20, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(23, 20, 20, 0.06) 1px, transparent 1px);
  background-size: 36px 36px;
  position: relative;
  overflow: hidden;
}

.lid-hero-grid {
  display: grid;
  grid-template-columns: 1.18fr 0.82fr;
  gap: 40px;
  align-items: center;
}

.lid-h1 {
  font-size: clamp(34px, 4.4vw, 56px);
  font-weight: 700;
  line-height: 1.12;
  color: #000000;
  letter-spacing: normal;
  margin-bottom: 16px;
}

.lid-accent {
  color: var(--lime-red);
}

.lid-lead {
  font-size: clamp(16px, 1.8vw, 20px);
  color: #333333;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 20px;
}

.lid-subhead {
  font-size: 17.5px;
  font-weight: 700;
  color: #000000;
  margin-bottom: 24px;
}

/* Brands Strip */
.lid-brands-wrap {
  margin-bottom: 28px;
}
.lid-brands-label {
  font-size: 13.5px;
  font-weight: 600;
  color: #4D4D4D;
  margin-bottom: 12px;
}
.lid-brands-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.brand-pill {
  background: #FFFFFF;
  border: 1.5px solid #000000;
  border-radius:var(--r-md);
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 700;
  color: #000000;
  letter-spacing: 0.3px;
  transition: all 0.25s ease;
}
.brand-pill:hover {
  border-color: var(--lime-red);
  color: var(--lime-red);
  transform: translateY(-2px);
}

/* 3 Feature Pills Container */
.lid-features-box {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1.5px solid #000000;
  border-radius:var(--r-md);
  padding: 16px 20px;
  margin-bottom: 32px;
  box-shadow:none;
}
.lid-feature-item {
  flex: 1;
  text-align: center;
  font-size: 14.5px;
  font-weight: 700;
  color: #000000;
  border-right: 1px solid #000000;
  padding: 0 12px;
}
.lid-feature-item:last-child {
  border-right: none;
}

/* CTA Button */
.btn-lid-cta {
  background: #000000;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  padding: 8px 8px 8px 30px;
  border-radius: var(--r-full);
  display: inline-flex;
  align-items: center;
  gap: 18px;
  box-shadow:none;
  transition: transform .45s cubic-bezier(0.32,0.72,0,1), box-shadow .45s cubic-bezier(0.32,0.72,0,1), background .3s ease;
  border: none;
  cursor: pointer;
  text-decoration: none;
}
.btn-lid-cta-icon {
  width: 40px; height: 40px; border-radius: 50%; flex: none;
  background: rgba(255,255,255,.14);
  display: flex; align-items: center; justify-content: center;
  font-size: 17px;
  transition: transform .45s cubic-bezier(0.32,0.72,0,1), background .3s ease;
}
.btn-lid-cta:hover {
  background: var(--lime-red);
  transform: translateY(-2px);
  box-shadow:none;
  color: #ffffff;
}
.btn-lid-cta:hover .btn-lid-cta-icon {
  background: rgba(255,255,255,.22);
  transform: translate(3px,-1px) scale(1.06);
}

/* Right Column Arched Visual with Floating Badges */
.lid-hero-visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-top: 30px;
  min-height: 480px;
}

.lid-arch-bg {
  width: 100%;
  max-width: 350px;
  height: 430px;
  background: #000000;
  border-radius:var(--r-md);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.lid-student-img {
  width: 100%;
  max-width: 370px;
  height: auto;
  position: relative;
  z-index: 2;
  display: block;
  border-radius: 15%;
  overflow: hidden;
  filter: drop-shadow(0 15px 30px rgba(0,0,0,0.22));
}

/* Floating Badges */
.float-tag {
  position: absolute;
  z-index: 5;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius:var(--r-md);
  padding: 10px 16px;
  font-size: 12.5px;
  color: #000000;
  box-shadow:none;
  display: flex;
  align-items: center;
  gap: 8px;
  animation: floatAnim 4s ease-in-out infinite;
}

.float-top-left {
  top: 22%;
  left: -20px;
  animation-delay: 0s;
}

.float-top-right {
  top: 14%;
  right: -20px;
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
  font-weight: 700;
  border-radius:var(--r-md);
  padding: 8px 18px;
  animation-delay: 1.5s;
}

.float-bottom-left {
  bottom: 18%;
  left: -15px;
  background: #FFFFFF;
  border-color: #B3B3B3;
  animation-delay: 2.5s;
}

.float-bottom-right {
  bottom: 12%;
  right: -25px;
  background: rgba(255, 255, 255, 0.96);
  border-color: #B3B3B3;
  animation-delay: 0.8s;
}

@keyframes floatAnim {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@media (max-width: 900px) {
  .lid-hero { padding-top: 150px; padding-bottom: 40px; }
  .lid-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .lid-hero-visual { min-height: 340px; padding-top: 10px; }
  .stats-strip { margin-top: 24px; }
  .lid-arch-bg { max-width: 290px; height: 320px; }
  .lid-student-img { max-width: 290px; }
  .float-tag { font-size: 11.5px; padding: 8px 12px; gap: 6px; }
  .float-top-left { left: 6px; top: 10%; }
  .float-top-right { right: 6px; top: 6%; }
  .float-bottom-left { left: 6px; bottom: 12%; }
  .float-bottom-right { right: 6px; bottom: 4%; }
}

@media (max-width: 480px) {
  .lid-features-box { flex-direction: column; align-items: stretch; gap: 10px; padding: 16px 18px; }
  .lid-feature-item { border-right: none; text-align: left; padding: 0 0 10px; border-bottom: 1px solid #000000; }
  .lid-feature-item:last-child { border-bottom: none; padding-bottom: 0; }
}

/* ===== LID UPCOMING COHORT DETAILS BOX ===== */
.lid-cohort-section {
  padding: 30px 0 50px;
  background: #ffffff;
}

.lid-cohort-box {
  background: #ffffff;
  border: 1.5px solid #000000;
  border-radius:var(--r-md);
  overflow: hidden;
  box-shadow:none;
}

.lid-cohort-header {
  background: #000000;
  color: #ffffff;
  text-align: center;
  padding: 16px 24px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.3px;
}

.lid-cohort-body {
  display: grid;
  grid-template-columns: 1.45fr 0.55fr;
  gap: 30px;
  align-items: center;
  padding: 28px 32px;
}

.lid-cohort-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lid-cohort-card {
  background: #FFFFFF;
  border: 1px solid #000000;
  border-left: 4.5px solid #000000;
  border-radius:var(--r-md);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  transition: all 0.25s ease;
}

.lid-cohort-card:hover {
  background: #ffffff;
  border-color: #B3B3B3;
  border-left-color: var(--lime-red);
  box-shadow:none;
  transform: translateY(-2px);
}

.lid-cohort-info {
  display: flex;
  align-items: center;
  gap: 16px;
}

.lid-cohort-icon {
  width: 44px;
  height: 44px;
  background: #F2F2F2;
  border-radius:var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000000;
  font-size: 20px;
  flex: none;
}

.lid-cohort-title {
  font-size: 15.5px;
  font-weight: 700;
  color: #000000;
  margin: 0;
  line-height: 1.35;
}

.lid-cohort-deadline {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  flex: none;
}

.lid-cal-icon {
  width: 36px;
  height: 36px;
  border: 1px solid #B3B3B3;
  border-radius:var(--r-md);
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333333;
  font-size: 16px;
}

.lid-deadline-label {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #4D4D4D;
}

.lid-deadline-date {
  font-size: 14.5px;
  font-weight: 800;
  color: #000000;
}

.lid-cohort-action {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 20px;
  border-left: 1px solid #000000;
  height: 100%;
}

.btn-enquire-now {
  background: #000000;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  padding: 16px 44px;
  border-radius:var(--r-md);
  border: none;
  cursor: pointer;
  width: 100%;
  max-width: 240px;
  text-align: center;
  box-shadow:none;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
}

.btn-enquire-now:hover {
  background: var(--lime-red);
  transform: translateY(-2px);
  box-shadow:none;
  color: #ffffff;
}

@media (max-width: 860px) {
  .lid-cohort-body {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }
  .lid-cohort-action {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid #000000;
    padding-top: 20px;
  }
  .btn-enquire-now {
    max-width: 100%;
  }
  .lid-cohort-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .lid-cohort-deadline {
    margin-left: 60px;
  }
}


/* ===== LID COURSES COMPARISON & CONSULTATION SECTION ===== */
.lid-programs-section {
  padding: 60px 0 90px;
  background: #ffffff;
}

.lid-programs-sub {
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  margin-bottom: 30px;
}

.lid-programs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px;
  align-items: stretch;
}

/* Course Cards */
.lid-prog-card {
  background: #ffffff;
  border: 1.5px solid #000000;
  border-radius:var(--r-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow:none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.lid-prog-card:hover {
  border-color: #B3B3B3;
  box-shadow:none;
  transform: translateY(-4px);
}

.lid-prog-media {
  position: relative;
  height: 210px;
  overflow: hidden;
}
.lid-prog-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.lid-prog-card:hover .lid-prog-img {
  transform: scale(1.04);
}

.lid-prog-badges {
  position: absolute;
  top: 14px;
  left: 14px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  z-index: 2;
}
.badge-campus {
  background: #000000;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
  padding: 4px 12px;
  border-radius:var(--r-md);
}
.badge-age {
  background: var(--lime-red);
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
  padding: 4px 12px;
  border-radius:var(--r-md);
}
.badge-online {
  background: #000000;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
  padding: 4px 12px;
  border-radius:var(--r-md);
}

.lid-prog-content {
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.lid-prog-title {
  font-size: 18.5px;
  font-weight: 800;
  color: #000000;
  line-height: 1.3;
  margin-bottom: 20px;
  min-height: 48px;
}

.lid-prog-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: grid;
  gap: 14px;
  flex: 1;
}
.lid-prog-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  color: #000000;
  line-height: 1.45;
}
.lid-prog-list li svg {
  width: 17px;
  height: 17px;
  flex: none;
  stroke: #000000;
  margin-top: 2px;
}

.lid-prog-deadline {
  color: var(--lime-red);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.btn-card-brochure {
  background: #000000;
  color: #ffffff;
  font-size: 14.5px;
  font-weight: 700;
  padding: 14px 20px;
  border-radius:var(--r-md);
  text-align: center;
  border: none;
  cursor: pointer;
  width: 100%;
  transition: all 0.25s ease;
  box-shadow:none;
}
.btn-card-brochure:hover {
  background: var(--lime-red);
  box-shadow:none;
  color: #ffffff;
}

/* Consultation Form Card (Right Card) */
.lid-consult-card {
  background: #ffffff;
  border: 1.5px solid #000000;
  border-radius:var(--r-md);
  padding: 32px 26px;
  box-shadow:none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.lid-consult-title {
  font-size: 22px;
  font-weight: 800;
  color: #000000;
  line-height: 1.25;
  text-align: center;
  margin-bottom: 6px;
}

.lid-consult-sub {
  font-size: 13.5px;
  color: #4D4D4D;
  text-align: center;
  margin-bottom: 24px;
}

.lid-consult-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lid-field-select,
.lid-field-phone {
  background: #ffffff;
  border: 1.5px solid #B3B3B3;
  border-radius:var(--r-md);
  padding: 12px 14px;
  font-size: 14px;
  color: #000000;
  width: 100%;
  font-family: inherit;
  outline: none;
  transition: border-color 0.2s;
}
.lid-field-select:focus,
.lid-field-phone:focus {
  border-color: #000000;
}

.lid-phone-group {
  display: flex;
  align-items: center;
  border: 1.5px solid #B3B3B3;
  border-radius:var(--r-md);
  overflow: hidden;
  background: #ffffff;
}
.lid-phone-prefix,
select.lid-phone-prefix,
select.lid-country-select {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 10px;
  background: #FFFFFF;
  border: none;
  border-right: 1px solid #B3B3B3;
  font-size: 13.5px;
  font-weight: 600;
  color: #000000;
  flex: none;
  cursor: pointer;
  outline: none;
  -webkit-appearance: menulist;
  appearance: menulist;
  font-family: inherit;
}
select.lid-phone-prefix:hover,
select.lid-country-select:hover {
  background: #f8f9fa;
}
.lid-phone-input {
  border: none;
  padding: 12px 14px;
  font-size: 14px;
  width: 100%;
  outline: none;
  font-family: inherit;
}

.lid-whatsapp-hint {
  font-size: 12px;
  color: #4D4D4D;
  text-align: center;
  margin-top: -6px;
}
.form-group .lid-whatsapp-hint {
  text-align: left;
  margin-top: 8px;
}
.form-group .lid-phone-group {
  margin-top: 0;
}

.lid-consent-label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 11.5px;
  color: #4D4D4D;
  line-height: 1.4;
  cursor: pointer;
}
.lid-consent-label input {
  margin-top: 2px;
  flex: none;
}

.btn-consult-proceed {
  background: #000000;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  padding: 14px 20px;
  border-radius:var(--r-md);
  border: none;
  cursor: pointer;
  width: 100%;
  text-align: center;
  transition: all 0.25s ease;
  margin-top: 4px;
  box-shadow:none;
}
.btn-consult-proceed:hover {
  background: var(--lime-red);
  box-shadow:none;
}

@media (max-width: 1024px) {
  .lid-programs-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* ===== LID 4-VIDEO TESTIMONIALS (STUDENT EXPERIENCE) ===== */
.lid-testimonials-section {
  padding: 40px 0 72px;
  background: #ffffff;
}

.lid-testi-head {
  margin-bottom: 32px;
}
.lid-testi-head h2 {
  font-size: clamp(28px, 3.8vw, 42px);
  font-weight: 800;
  color: #000000;
  line-height: 1.2;
  margin-bottom: 8px;
}
.lid-testi-head h2 span {
  color: var(--lime-red);
}
.lid-testi-head p {
  font-size: 16px;
  color: #4D4D4D;
  font-weight: 500;
  margin: 0;
}
@media (max-width: 768px) {
  .lid-testimonials-section {
    padding: 24px 0 48px;
  }
  .lid-testi-head {
    margin-bottom: 24px;
  }
}

.lid-video-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-bottom: 48px;
}

.alumni-video-marquee { overflow: hidden; margin-bottom: 40px; }
.alumni-video-track {
  display: flex; gap: 20px; width: max-content;
  animation: alumniMarquee 50s linear infinite;
}
.alumni-video-track .lid-video-card { flex: 0 0 230px; }
.alumni-video-track .lid-video-poster { object-position: top; }
@media (max-width: 580px) {
  .alumni-video-track .lid-video-card { flex-basis: 170px; }
}

.lid-video-card {
  position: relative;
  border-radius:var(--r-md);
  overflow: hidden;
  background: #000000;
  aspect-ratio: 9 / 13.5;
  box-shadow:none;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.lid-video-card:hover {
  transform: translateY(-5px);
  box-shadow:none;
}

.lid-video-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
  background: #ffffff;
  border-radius:var(--r-md);
  padding: 12px 14px;
  z-index: 10;
  box-shadow:none;
  pointer-events: none;
}
.lid-video-name {
  font-size: 15.5px;
  font-weight: 800;
  color: #000000;
  margin: 0 0 2px;
}
.lid-video-role {
  font-size: 11px;
  color: #4D4D4D;
  font-weight: 600;
  margin-bottom: 4px;
}
.lid-video-brand-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #000000;
  background: #ffffff;
  border: 2px solid var(--lime-red);
  border-radius:var(--r-md);
  padding: 4px 10px;
}

.lid-video-el {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: 1;
}

.lid-video-poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  position: absolute;
  inset: 0;
  z-index: 2;
  transition: opacity 0.3s ease;
}
.lid-video-card.playing .lid-video-poster {
  opacity: 0;
  pointer-events: none;
}

.lid-play-pill {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.55);
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 700;
  padding: 8px 18px;
  border-radius:var(--r-md);
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 10;
  pointer-events: none;
  transition: all 0.25s ease;
  white-space: nowrap;
}
.lid-video-card:hover .lid-play-pill,
.lid-video-card.playing .lid-play-pill {
  background: var(--lime-red);
}

/* Bottom Decision Banner */
.lid-decision-wrap {
  text-align: center;
}
.lid-decision-tab {
  display: inline-block;
  background: #000000;
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 700;
  padding: 6px 20px;
  border-radius:0 8px 0 0;
  margin-bottom: -1px;
}
.lid-decision-banner {
  background: #000000;
  color: #ffffff;
  border-radius:var(--r-md);
  padding: 18px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  box-shadow:none;
  flex-wrap: wrap;
}
.lid-decision-text {
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
}
.btn-decision-cta {
  background: #ffffff;
  color: #000000;
  font-size: 14.5px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius:var(--r-md);
  border: none;
  cursor: pointer;
  transition: all 0.25s ease;
}
.btn-decision-cta:hover {
  background: var(--lime-red);
  color: #ffffff;
}

@media (max-width: 980px) {
  .lid-video-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-bottom: 36px;
  }
  .lid-decision-banner {
    flex-direction: column;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .lid-video-grid {
    display: flex;
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 12px;
    margin-bottom: 28px;
    padding-bottom: 2px;
  }
  .lid-video-grid::-webkit-scrollbar { display: none; }
  .lid-video-card {
    flex: 0 0 88%;
    scroll-snap-align: start;
  }
  .lid-play-pill {
    bottom: 10px;
    padding: 6px 12px;
    font-size: 11px;
    gap: 5px;
  }
}

/* ===== ALUMNI HORIZONTAL SCROLL CAROUSEL ===== */
.alumni-section {
  padding: 80px 0 90px;
  background: #ffffff;
  border-top: 1px solid #000000;
}
.alumni-head {
  margin-bottom: 24px;
}
.alumni-head h2 {
  font-size: clamp(28px, 3.8vw, 42px);
  font-weight: 800;
  color: #000000;
  line-height: 1.2;
  margin-bottom: 8px;
}
.alumni-head h2 span {
  color: var(--lime-red);
}
.alumni-head p {
  font-size: 16px;
  color: #4D4D4D;
  font-weight: 500;
}
.alumni-rating-row {
  display: none !important;
}

.alumni-scroll-row {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 12px;
  margin-bottom: 40px;
  -webkit-overflow-scrolling: touch;
}
.alumni-scroll-row::-webkit-scrollbar {
  height: 6px;
}
.alumni-scroll-row::-webkit-scrollbar-thumb {
  background: var(--lime-red);
  border-radius: 6px;
}
.alumni-scroll-row .lid-video-card {
  flex: 0 0 260px;
  scroll-snap-align: start;
}

.alumni-cta-wrap {
  text-align: center;
}

@media (max-width: 580px) {
  .alumni-scroll-row .lid-video-card {
    flex-basis: 220px;
  }
}

/* ===== ALUMNI SUCCESS STORIES (marquee) ===== */
.alumni-success-section {
  padding: 72px 0;
  position: relative;
  overflow: hidden;
  background-color: #120302;
  background-image: 
    linear-gradient(115deg, rgba(15,3,2,.88) 0%, rgba(38,4,3,.76) 42%, rgba(140,15,12,.55) 78%, rgba(227,30,36,.36) 100%),
    url('BG/BG010-web.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.alumni-success-head { margin-bottom: 36px; }
.alumni-success-head h2 {
  font-size: clamp(26px, 3.4vw, 38px);
  font-weight: 800;
  color: #ffffff;
  line-height: 1.2;
}
.alumni-success-head h2 span { color: var(--red-300); }
.alumni-success-head p { color: rgba(255,255,255,.8); max-width: 640px; margin-top: 12px; font-size: 15px; }

.alumni-success-marquee { overflow: hidden; margin-bottom: 40px; }
.alumni-success-track {
  display: flex; align-items: flex-start; gap: 20px; width: max-content;
  animation: alumniMarquee 42s linear infinite;
}
@keyframes alumniMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.alumni-success-card {
  flex: 0 0 190px;
  background: #ffffff;
  border-radius: var(--r-lg);
  padding: 14px 14px 14px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.alumni-success-photo {
  width: 100%; aspect-ratio: 0.866; border-radius: var(--r-md); overflow: hidden; margin-bottom: 12px;
}
.alumni-success-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.alumni-success-name { font-size: 15px; font-weight: 800; color: var(--ink-900); }
.alumni-success-tag { font-size: 12px; font-weight: 600; color: var(--lime-red); margin-top: 3px; }
.alumni-success-logo { height: 40px; margin-top: 10px; display: flex; align-items: center; justify-content: center; }
.alumni-success-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }

.placements-cta-wrap { text-align: center; margin-top: 44px; }

@media (max-width: 580px) {
  .alumni-success-card { flex-basis: 190px; padding: 12px 12px 12px; }
  .alumni-success-logo { height: 34px; margin-top: 8px; }
}

/* ===== LID ACCORDION CURRICULUM SECTION ===== */
.lid-curriculum-section {
  padding: 80px 0 90px;
  background: #ffffff;
}
.lid-curr-head-main {
  margin-bottom: 40px;
}
.lid-curr-head-main h2 {
  font-size: clamp(28px, 3.8vw, 42px);
  font-weight: 800;
  color: #000000;
  line-height: 1.2;
  margin-bottom: 8px;
}
.lid-curr-head-main h2 span {
  color: #000000;
}
.lid-curr-head-main p {
  font-size: 16px;
  color: #4D4D4D;
  font-weight: 500;
}

.lid-curr-accordion {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 48px;
}

.lid-curr-card {
  background: #ffffff;
  border: 1.5px solid #000000;
  border-radius:var(--r-md);
  overflow: hidden;
  box-shadow:none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.lid-curr-card:hover {
  border-color: #B3B3B3;
  box-shadow:none;
}

.lid-curr-header {
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  user-select: none;
  background: #ffffff;
  transition: background 0.2s ease;
}
.lid-curr-header:hover {
  background: #fafbfc;
}

.lid-curr-header-left {
  display: flex;
  align-items: center;
  gap: 20px;
}
.lid-curr-icon-box {
  width: 48px;
  height: 48px;
  background: #000000;
  color: #ffffff;
  border-radius:var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex: none;
}
.lid-curr-course-tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #000000;
  margin-bottom: 4px;
}
.lid-curr-title {
  font-size: 20px;
  font-weight: 800;
  color: #000000;
  margin: 0 0 4px;
  line-height: 1.25;
}
.lid-curr-sub {
  font-size: 13.5px;
  color: #4D4D4D;
  margin: 0;
}

.lid-curr-chevron {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4D4D4D;
  transition: transform 0.3s ease;
  flex: none;
}
.lid-curr-card.open .lid-curr-chevron {
  transform: rotate(180deg);
}

.lid-curr-body {
  display: none;
  padding: 0 28px 28px;
  border-top: 1px solid #F2F2F2;
}
.lid-curr-card.open .lid-curr-body {
  display: block;
  animation: fadeIn 0.3s ease;
}

.lid-curr-intro {
  font-size: 14.5px;
  color: #333333;
  margin: 20px 0 16px;
  line-height: 1.5;
}

.lid-curr-tools-label {
  font-size: 13.5px;
  font-weight: 700;
  color: #000000;
  margin-bottom: 12px;
}
.lid-curr-tools-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.lid-curr-tool-item {
  background: #ffffff;
  border: 1.5px solid #000000;
  border-radius:var(--r-md);
  padding: 10px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 76px;
  box-shadow:none;
}
.lid-curr-tool-item span {
  font-size: 11px;
  font-weight: 700;
  color: #000000;
}

.lid-learn-label {
  font-size: 14px;
  font-weight: 800;
  color: #000000;
  margin-bottom: 10px;
}

.lid-learn-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
  display: grid;
  gap: 10px;
}
.lid-learn-bullets li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #000000;
}
.lid-learn-bullets li::before {
  content: "•";
  color: #000000;
  font-size: 18px;
}

.lid-blur-box {
  position: relative;
  margin-top: 10px;
  padding-bottom: 20px;
}
.lid-blurred-text {
  filter: blur(4px);
  user-select: none;
  pointer-events: none;
  opacity: 0.55;
  display: grid;
  gap: 10px;
}
.lid-blurred-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 75%);
  z-index: 5;
}
.btn-unlock-syllabus {
  background: #000000;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  padding: 14px 34px;
  border-radius:var(--r-md);
  border: none;
  cursor: pointer;
  box-shadow:none;
  transition: all 0.25s ease;
}
.btn-unlock-syllabus:hover {
  background: var(--lime-red);
  transform: translateY(-2px);
  box-shadow:none;
}

/* ===== 2-COLUMN LID UNLOCK SYLLABUS MODAL (MATCHING IMAGE 5) ===== */
.unlock-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.75);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.unlock-modal-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
.unlock-modal-card {
  background: #ffffff;
  border-radius:var(--r-md);
  max-width: 820px;
  width: 100%;
  max-height: 92vh;
  overflow-y: auto;
  position: relative;
  box-shadow:none;
  transform: translateY(20px);
  transition: transform 0.3s ease;
  padding: 36px 32px;
}
.unlock-modal-overlay.active .unlock-modal-card {
  transform: translateY(0);
}
.unlock-modal-close {
  position: absolute;
  top: 18px;
  right: 20px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #F2F2F2;
  border: none;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #333333;
  transition: all 0.2s ease;
  z-index: 15;
}
.unlock-modal-close:hover {
  background: var(--lime-red);
  color: #ffffff;
}

.unlock-modal-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 32px;
  align-items: center;
}

.unlock-modal-left {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 320px;
}
.unlock-modal-left .lid-arch-bg {
  max-width: 250px;
  height: 300px;
  border-radius:var(--r-md);
}
.unlock-modal-left .lid-student-img {
  max-width: 260px;
}
.unlock-modal-left .float-top-left {
  top: 18%;
  left: -10px;
  padding: 8px 12px;
  font-size: 11px;
}
.unlock-modal-left .float-top-right {
  top: 10%;
  right: -10px;
  padding: 6px 14px;
  font-size: 11px;
}
.unlock-modal-left .float-bottom-left {
  bottom: 15%;
  left: -10px;
  padding: 8px 12px;
  font-size: 11px;
}
.unlock-modal-left .float-bottom-right {
  bottom: 8%;
  right: -10px;
  padding: 8px 12px;
  font-size: 11px;
}

.unlock-modal-right {
  display: flex;
  flex-direction: column;
}
.unlock-modal-title {
  font-size: 24px;
  font-weight: 800;
  color: #000000;
  margin: 0 0 6px;
  line-height: 1.2;
}
.unlock-modal-sub {
  font-size: 13.5px;
  color: #4D4D4D;
  margin: 0 0 22px;
}

@media (max-width: 768px) {
  .unlock-modal-grid {
    grid-template-columns: 1fr;
  }
  .unlock-modal-left {
    display: none;
  }
  .unlock-modal-card {
    padding: 28px 20px;
  }
}

/* ===== TYPOGRAPHY ===== */
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
  color: var(--lime-red); margin-bottom: 14px;
}
.eyebrow::before { display: none !important; content: none !important; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  margin: 0;
  color: var(--ink-900);
  letter-spacing: normal;
  text-transform: none;
}
.h1 { font-size: clamp(34px, 5.5vw, 60px); font-weight: 700; line-height: 1.1; letter-spacing: normal; }
.h2 { font-size: clamp(28px, 3.8vw, 42px); font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; color: var(--ink-900); }
.h3 { font-size: 21px; font-weight: 700; color: var(--ink-900); }
.lead { font-size: clamp(15px, 1.6vw, 18px); font-weight: 500; color: var(--ink-500); }
.center { text-align: center; margin-left: auto; margin-right: auto; }
.section-head { max-width: 720px; margin-bottom: 50px; }
.section-head.center { max-width: 680px; }

/* Buttons */
.btn {
  font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 13px;
  text-transform: uppercase; letter-spacing: .06em;
  border-radius: var(--r-full); padding: 14px 28px; position: relative;
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: none; cursor: pointer;
  transition: background var(--dur-base) var(--ease), color var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);
  white-space: nowrap;
}
.btn:active { transform: scale(.98); }

.btn-primary { background: var(--lime-red); color: #ffffff; box-shadow:none; }
.btn-primary:hover { background: var(--ink-900); box-shadow:none; }
.btn-secondary { background: #ffffff; color: var(--ink-900); border: 2px solid var(--ink-900); }
.btn-secondary:hover { background: var(--lime-red); border-color: var(--lime-red); color: #fff; }
.btn-dark { background: var(--ink-800); color: #ffffff; }
.btn-dark:hover { background: var(--lime-red); box-shadow:none; }
.btn-ghost { background: transparent; color: var(--ink-800); border: 2px solid var(--border-strong); }
.btn-ghost:hover { background: var(--ink-900); color: #fff; }
.btn-inverse { background: #ffffff; color: var(--ink-900); }
.btn-inverse:hover { background: var(--lime-red); color: #fff; }
.btn-onred { background: var(--ink-800); color: #ffffff; }
.btn-onred:hover { background: #000000; }
.btn-outline-white { background: transparent; color: #ffffff; border: 2px solid rgba(255,255,255,.7); }
.btn-outline-white:hover { background: #ffffff; color: var(--lime-red); }
.btn-sm { padding: 10px 20px; font-size: 12px; }

/* Spotlight → Swiss: sharp border-color snap on hover, no glow */
.spotlight { position: relative; transition: border-color var(--dur-base) var(--ease); }
.spotlight:hover { border-color: var(--lime-red); }

/* ===== HERO SECTION ===== */
.hero {
  padding: 170px 0 110px;
  background-color: var(--ink-900);
  background-image:
    radial-gradient(circle at 20% 0%, rgba(237,50,55,.32), transparent 55%),
    radial-gradient(circle at 85% 100%, rgba(237,50,55,.22), transparent 50%),
    url('BG/hero-bg.jpg');
  background-size: cover;
  background-position: center;
  position: relative; overflow: hidden;
}
.hero::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse 90% 80% at 50% 20%, rgba(23,20,20,.55) 30%, rgba(23,20,20,.88) 100%);
  pointer-events: none;
}
.hero .wrap { position: relative; z-index: 2; max-width: 1200px; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 9px;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3);
  color: #ffffff; font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 8px 18px; border-radius: var(--r-full); margin-bottom: 24px;
}
.hero-badge .dot { width: 7px; height: 7px; border-radius: 50%; background: #ff3b3f; box-shadow:none; animation: pulse 1.6s infinite; }
@keyframes pulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(0.8); } }
.hero h1 { color: #ffffff; }
.hero .lead { color: #ffe9ea; max-width: 620px; margin-top: 20px; font-size: 17.5px; }
.hero-ctas { display: flex; gap: 16px; margin-top: 34px; flex-wrap: wrap; }
.hero-rating { display: flex; align-items: center; gap: 12px; margin-top: 32px; color: #ffffff; font-size: 13.5px; flex-wrap: wrap; }
.hero-rating .stars { color: #ffc043; letter-spacing: 2px; font-size: 15px; }
.hero-avatars { display: flex; margin-right: 4px; }
.hero-avatars img {
  width: 34px; height: 34px; border-radius: 50%; object-fit: cover; border: 2px solid var(--lime-red);
  margin-left: -10px; display: inline-block;
}
.hero-avatars img:first-child { margin-left: 0; }

/* VSL / Hero Graphic Card (Inspired by UncoveredEcom & ORIZON) */
.vsl-card {
  background: var(--ink-900);
  border: 1px solid rgba(237, 50, 55, 0.4);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow:none;
  position: relative;
}
.vsl-card img {
  width: 100%; height: auto; object-fit: cover; display: block;
}
.vsl-overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 20px 24px;
  background: linear-gradient(0deg, rgba(23,20,20,0.96) 0%, rgba(23,20,20,0.65) 60%, transparent 100%);
  color: #ffffff;
}
.vsl-overlay strong { display: block; font-size: 16px; color: #ffffff; font-weight: 700; }
.vsl-overlay span { font-size: 13px; color: var(--red-300); }

.vsl-play-btn {
  position: absolute; top: 42%; left: 50%; transform: translate(-50%, -50%);
  width: 68px; height: 68px; border-radius: 50%;
  background: var(--lime-red); color: #ffffff;
  display: flex; align-items: center; justify-content: center;
  box-shadow:none;
  cursor: pointer; transition: transform .3s var(--ease), background .3s;
}
.vsl-play-btn:hover { transform: translate(-50%, -50%) scale(1.1); background: var(--deep-red); }

/* 3 Stat Badges Grid under VSL */
.hero-stat-badges {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 14px;
}
.hero-stat-pill {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  padding: 12px 14px;
  text-align: center;
  box-shadow:none;
}
.hero-stat-pill strong { display: block; font-size: 15px; font-weight: 700; color: var(--ink-900); }
.hero-stat-pill span { font-size: 11.5px; color: var(--ink-500); }

/* ===== THE 4-STEP SYSTEM FLOW (Inspired by UncoveredEcom) ===== */
/* ===== FAQ SECTION (Modern 2-Column Split Layout & Minimal Accordion) ===== */
.faq {
  padding: 72px 0;
  background: #ffffff;
}
.faq-layout {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 48px 80px;
  align-items: start;
}
.faq-info {
  position: sticky;
  top: 110px;
}
.faq-info .eyebrow {
  margin-bottom: 12px;
}
.faq-title {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(32px, 3.8vw, 44px);
  font-weight: 800;
  line-height: 1.15;
  color: var(--ink-900);
  margin: 0 0 16px;
  letter-spacing: -0.5px;
  text-transform: none !important;
}
.faq-title .red-text {
  color: var(--lime-red);
  display: block;
}
.faq-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #64748b;
  margin: 0 0 28px;
  max-width: 440px;
}
.faq-desc a {
  color: var(--ink-900);
  text-decoration: underline;
  text-decoration-color: rgba(0,0,0,0.2);
  transition: color .2s ease;
}
.faq-desc a:hover {
  color: var(--lime-red);
}
.faq-call-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--lime-red);
  color: #ffffff;
  padding: 13px 26px;
  border-radius: 9999px;
  font-size: 14.5px;
  font-weight: 600;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
  box-shadow: 0 4px 14px rgba(237, 50, 55, 0.25);
}
.faq-call-btn:hover {
  background: #d62b30;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(237, 50, 55, 0.35);
  color: #ffffff;
}
.faq-accordion {
  display: flex;
  flex-direction: column;
}

/* Accordion Items - clean borderless / subtle divider */
.faq2, .faq-item, .faq-box {
  background: transparent;
  border: none;
  border-bottom: 1px solid #eef1f4;
  border-radius: 0;
  padding: 22px 0;
  box-shadow: none;
  margin-bottom: 0;
  transition: border-color .2s ease;
}
.faq2:first-child, .faq-item:first-child, .faq-box:first-child {
  padding-top: 0;
}
.faq2:last-child, .faq-item:last-child, .faq-box:last-child {
  border-bottom: none;
}
.faq2:hover, .faq-item:hover, .faq-box:hover {
  border-color: #cbd5e1;
  box-shadow: none;
}

/* Question button */
.faq2-q, .faq-q {
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--ink-900);
  transition: color .2s ease;
}
.faq2-q:hover, .faq-q:hover {
  color: var(--lime-red);
}
.faq2-q span:first-child, .faq-q span:first-child {
  flex: 1;
}

/* Minimal '+' toggle icon */
.faq-plus, .faq2-icon, .faq-q .plus, .faq-chev {
  flex: none;
  width: 18px;
  height: 18px;
  position: relative;
  border: none;
  background: transparent;
  color: var(--ink-900);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .25s ease, color .25s ease;
}
.faq-plus::before, .faq-plus::after,
.faq2-icon::before, .faq2-icon::after,
.faq-q .plus::before, .faq-q .plus::after {
  content: "";
  position: absolute;
  background: currentColor;
  border-radius: 2px;
  transition: background .2s ease;
}
.faq-plus::before, .faq2-icon::before, .faq-q .plus::before {
  width: 14px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.faq-plus::after, .faq2-icon::after, .faq-q .plus::after {
  height: 14px;
  width: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.faq2.open .faq-plus, .faq2.open .faq2-icon,
.faq-item.open .faq-plus, .faq-item.open .plus,
.faq-box.open .faq-plus, .faq-box.open .faq-chev {
  transform: rotate(45deg);
  color: var(--lime-red);
}

/* Answers */
.faq2-a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .35s cubic-bezier(.4, 0, .2, 1);
}
.faq2.open .faq2-a {
  grid-template-rows: 1fr;
}
.faq2-a > div {
  overflow: hidden;
}
.faq2-a p {
  margin: 14px 0 4px;
  color: #52525b;
  font-size: 15px;
  line-height: 1.7;
}
.faq2-a p strong {
  color: var(--ink-900);
}
.faq-item .faq-a, .faq-box .faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s cubic-bezier(.4, 0, .2, 1);
}
.faq-item.open .faq-a, .faq-box.open .faq-a {
  max-height: 500px;
}
.faq-item .faq-a p, .faq-box .faq-a p, .faq-box .faq-a {
  padding: 14px 0 4px;
  margin: 0;
  color: #52525b;
  font-size: 15px;
  line-height: 1.7;
}

@media (max-width: 991px) {
  .faq { padding: 48px 0; }
  .faq-layout { grid-template-columns: 1fr; gap: 36px; }
  .faq-info { position: static; }
  .faq-title { font-size: 30px; }
  .faq2, .faq-item, .faq-box { padding: 18px 0; }
  .faq2-q, .faq-q { font-size: 16px; }
  .faq2-a p, .faq-item .faq-a p, .faq-box .faq-a { font-size: 14.5px; }
}

/* ===== HOW IT WORKS (step cards) ===== */
.hiw { padding: 72px 0; background: var(--surface-alt); }
.hiw-head-block { margin-bottom: 56px; }
.hiw-head-block h2 {
  text-transform: none; letter-spacing: -.02em;
  font-size: clamp(28px, 3.6vw, 44px); font-weight: 800; line-height: 1.15; margin: 0 0 16px;
}
.hiw-head-block p { margin: 0; color: var(--ink-500); font-size: 17px; line-height: 1.62; max-width: 680px; }
.hiw-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.hiw-card {
  background: #fff; border: 1px solid var(--ink-200); border-radius: 18px;
  box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.05);
  padding: 32px 26px 36px; text-align: center;
  display: flex; flex-direction: column; align-items: center;
  transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease;
}
.hiw-card:hover {
  transform: translateY(-4px);
  border-color: #D1D5DB;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
}
.hiw-step { font-size: 14px; font-weight: 500; color: var(--ink-900); margin-bottom: 24px; }
.hiw-icon {
  width: 84px; height: 84px; border-radius: 20px;
  display: flex; align-items: center; justify-content: center; margin-bottom: 22px;
}
.hiw-icon img {
  width: 100%; height: 100%; object-fit: contain;
  box-shadow: none !important;
  display: block;
}
.hiw-card:hover .hiw-icon img {
  transform: none !important;
  box-shadow: none !important;
}
.hiw-icon svg { width: 27px; height: 27px; stroke: #fff; }
.hiw-card h3 {
  text-transform: none; letter-spacing: -.01em;
  font-size: 19px; font-weight: 700; line-height: 1.3; margin: 0 0 16px; color: var(--ink-900);
}
.hiw-card p { font-size: 14.5px; line-height: 1.65; color: var(--ink-500); margin: 0; }
@media (max-width: 1100px) { .hiw-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) {
  .hiw { padding: 48px 0; }
  .hiw-head-block { margin-bottom: 36px; }
  .hiw-grid { grid-template-columns: 1fr; gap: 12px; }
  /* Icon-left, text-right card — matches courses.html's #who mobile layout */
  .hiw-card {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-areas: "icon step" "icon title" "icon text";
    align-items: start;
    column-gap: 14px;
    row-gap: 4px;
    padding: 12px;
    border-radius: 14px;
    text-align: left;
  }
  .hiw-step {
    grid-area: step;
    margin: 0;
    display: inline-block;
    width: fit-content;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 800;
    border-radius: 4px;
    background: rgba(237, 50, 55, .1);
    color: var(--primary);
  }
  .hiw-icon { grid-area: icon; width: 64px; height: 64px; margin-bottom: 0; }
  .hiw-icon img { width: 64px; height: 64px; }
  .hiw-icon svg { width: 24px; height: 24px; }
  .hiw-card h3 { grid-area: title; margin: 0; font-size: 15px; }
  .hiw-card p { grid-area: text; font-size: 12.5px; }
}

.system-steps { padding: 110px 0; background: var(--surface-alt); }
.system-steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px; }
.system-step-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 28px 22px;
  box-shadow:none;
  transition: transform .35s var(--ease), border-color .35s, box-shadow .35s;
}
.system-step-card:hover { transform: translateY(-6px); border-color: var(--lime-red); box-shadow:none; }
.system-step-num {
  font-size: 32px; font-weight: 800; color: var(--lime-red); line-height: 1; margin-bottom: 12px;
}
.system-step-card h4 { font-size: 17px; font-weight: 700; color: var(--ink-900); margin-bottom: 8px; }
.system-step-card p { font-size: 13px; color: var(--ink-500); margin: 0 0 14px; line-height: 1.6; }

/* ===== BRAND GRAPHIC SHOWCASE BAND ===== */
.graphic-showcase {
  padding: 90px 0;
  background-color: var(--ink-900);
  color: #ffffff;
  border-top: 2px solid var(--lime-red);
  border-bottom: 2px solid var(--lime-red);
}
.graphic-showcase-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 36px;
}
.graphic-card {
  background: #000000;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
  box-shadow:none;
}
.graphic-card:hover {
  transform: translateY(-6px);
  box-shadow:none;
  border-color: var(--lime-red);
}
.graphic-card-img {
  height: 220px; overflow: hidden; position: relative;
}
.graphic-card-img img {
  width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease);
}
.graphic-card:hover .graphic-card-img img { transform: scale(1.06); }
.graphic-card-body { padding: 22px 24px; }
.graphic-card-body h4 { font-size: 17px; font-weight: 700; color: #ffffff; margin-bottom: 8px; }
.graphic-card-body p { font-size: 13.5px; color: var(--ink-300); margin: 0; }

/* ===== STATS STRIP ===== */
.stats-strip {
  padding: 0; margin-top: -45px; position: relative; z-index: 10;
}
.stats-card {
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: #ffffff; border: 1px solid var(--border); border-radius: var(--r-lg);
  box-shadow:none; overflow: hidden;
}
.stat-box { padding: 28px 22px; text-align: center; border-right: 1px solid var(--border); transition: background .3s; }
.stat-box:hover { background: var(--surface-alt); }
.stat-box:last-child { border-right: none; }
.stat-box .num { font-size: clamp(28px, 3.2vw, 38px); font-weight: 700; color: var(--ink-900); letter-spacing: -.5px; line-height: 1; }
.stat-box .num .accent { color: var(--lime-red); }
.stat-box .cap { font-size: 13.5px; color: var(--ink-500); margin-top: 8px; font-weight: 600; }

/* ===== PLACEMENT HIGHLIGHT STRIP ===== */
.placement-highlights {
  padding: 45px 0; background: #ffffff; border-bottom: 1px solid var(--border);
}
.placement-flex {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.placement-item { display: flex; align-items: center; gap: 16px; }
.placement-icon {
  width: 52px; height: 52px; border-radius: var(--r-md); background: var(--red-50);
  display: flex; align-items: center; justify-content: center; flex-none: true;
  box-shadow:none;
}
.placement-icon svg { width: 26px; height: 26px; stroke: var(--lime-red); }
.placement-info strong { display: block; font-size: 16px; font-weight: 700; color: var(--ink-900); }
.placement-info span { font-size: 13px; color: var(--ink-500); }

/* ===== STRICT HIGH CONTRAST CARDS FOR LIGHT SECTIONS ===== */
.highlights { padding: 110px 0; background: var(--surface-alt); }
.highlights-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.highlight-card {
  background: #ffffff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  padding: 30px 24px !important;
  box-shadow:none;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease) !important;
}
.highlight-card:hover { transform: translateY(-6px); box-shadow:none; }
.highlight-icon {
  width: 48px; height: 48px; border-radius: var(--r-md); background: var(--red-50);
  display: flex; align-items: center; justify-content: center; margin-bottom: 18px;
}
.highlight-icon svg { width: 24px; height: 24px; stroke: var(--lime-red); }
.highlight-card h4 {
  font-size: 17px !important; font-weight: 700 !important; color: var(--ink-900) !important; margin-bottom: 8px !important;
}
.highlight-card p {
  font-size: 13.5px !important; color: var(--ink-600) !important; margin: 0 !important; line-height: 1.6 !important;
}

/* ===== COMPARISON MATRIX ===== */
.comparison-section { padding: 110px 0; background: #ffffff; }
.comparison-table-wrap { overflow-x: auto; margin-top: 36px; border-radius: var(--r-lg); box-shadow:none; border: 1px solid var(--border); }
.comparison-table { width: 100%; border-collapse: collapse; background: #ffffff; text-align: left; }
.comparison-table th, .comparison-table td { padding: 20px 26px; border-bottom: 1px solid var(--border); }
.comparison-table th { font-size: 15px; font-weight: 700; color: var(--ink-900); background: var(--ink-100); }
.comparison-table th.lime-col { background: var(--ink-900); color: #ffffff; }
.comparison-table td { color: var(--ink-800); font-size: 14.5px; }
.comparison-table td.lime-col { background: #fff8f8; font-weight: 600; color: var(--ink-900); border-left: 2px solid var(--lime-red); border-right: 2px solid var(--lime-red); }
.comparison-table tr:last-child td { border-bottom: none; }
.check-icon { color: var(--success); font-weight: 800; font-size: 18px; margin-right: 8px; }
.cross-icon { color: var(--danger); font-weight: 800; font-size: 18px; margin-right: 8px; }

/* ===== COURSES GRID & CARDS ===== */
.courses { padding: 110px 0; background: var(--surface-alt); }
.course-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.course-card {
  background: #ffffff !important; border: 1px solid var(--border) !important; border-radius: var(--r-lg) !important;
  overflow: hidden; display: flex; flex-direction: column;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  box-shadow:none; position: relative;
}
.course-card.featured { border: 2px solid var(--lime-red) !important; border-top: 3px solid var(--lime-red) !important; }
.course-card.featured::before {
  content: "MOST POPULAR"; position: absolute; top: 16px; right: 16px; z-index: 5;
  background: var(--lime-red); color: #ffffff; font-size: 10.5px; font-weight: 700;
  letter-spacing: 1px; padding: 4px 14px; border-radius: var(--r-full); box-shadow:none;
}
.course-card:hover { transform: translateY(-8px); box-shadow:none; border-color: rgba(237,50,55,.4) !important; }
.course-img-wrap { width: 100%; height: 190px; overflow: hidden; position: relative; background: var(--ink-200); }
.course-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.course-card:hover .course-img-wrap img { transform: scale(1.06); }
.course-card-body { padding: 28px; display: flex; flex-direction: column; flex: 1; }
.course-card .tag {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  background: var(--red-50); color: var(--lime-red); padding: 5px 14px; border-radius: var(--r-full); margin-bottom: 16px; width: fit-content;
}
.course-card h3 { font-size: 21px !important; margin-bottom: 10px !important; font-weight: 700 !important; color: var(--ink-900) !important; }
.course-card p { color: var(--ink-600) !important; font-size: 14px !important; flex: 1; margin: 0 0 20px !important; line-height: 1.6 !important; }
.course-card .meta { display: flex; gap: 18px; font-size: 12.5px; color: var(--ink-500); margin-bottom: 24px; flex-wrap: wrap; }
.course-card .meta strong { color: var(--ink-900); }

/* ===== CURRICULUM EXPLORER ===== */
.curriculum-section { padding: 110px 0; background: #ffffff; }
.curriculum-tabs { display: flex; gap: 12px; justify-content: center; margin-bottom: 40px; flex-wrap: wrap; }
.tab-btn {
  padding: 12px 24px; border-radius: var(--r-full); font-size: 14px; font-weight: 600;
  background: var(--surface-alt); border: 1px solid var(--border); color: var(--ink-800); cursor: pointer;
  transition: all .25s var(--ease);
}
.tab-btn:hover { border-color: var(--lime-red); color: var(--lime-red); }
.tab-btn.active { background: var(--lime-red); color: #ffffff; border-color: var(--lime-red); box-shadow:none; }

.tab-pane { display: none; }
.tab-pane.active { display: block; animation: fadeIn .4s ease; }

.module-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.module-card {
  background: #ffffff !important; border: 1px solid var(--border) !important; border-radius: var(--r-md) !important; padding: 24px !important;
  display: flex; gap: 18px; box-shadow:none; transition: transform .3s, box-shadow .3s;
}
.module-card:hover { transform: translateY(-4px); box-shadow:none; }
.module-num {
  width: 44px; height: 44px; border-radius: 50%; background: var(--red-50); color: var(--lime-red);
  font-weight: 700; font-size: 16px; display: flex; align-items: center; justify-content: center; flex-none: true;
}
.module-info h4 { font-size: 17px !important; font-weight: 700 !important; color: var(--ink-900) !important; margin-bottom: 6px !important; }
.module-info p { font-size: 13.5px !important; color: var(--ink-600) !important; margin: 0 0 12px !important; }
.module-tools { display: flex; gap: 8px; flex-wrap: wrap; }
.module-tool-tag { font-size: 11px; background: var(--surface-alt); padding: 4px 10px; border-radius: var(--r-sm); font-weight: 600; color: var(--ink-800); border: 1px solid var(--border); }

/* ===== TOOLS MARQUEE & GRID ===== */
.tools-section { padding: 72px 0; background: var(--surface-alt); }
.marquee-wrap {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent);
}
.marquee { display: flex; gap: 16px; width: max-content; animation: scroll 34s linear infinite; }
.marquee-reverse { animation-direction: reverse; }
@keyframes scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.tools-marquee { margin-top: 40px; }
.tools-marquee .tool-tile { flex: none; width: 160px; }

.tool-pill {
  background: #ffffff; border: 1px solid var(--border); border-radius: var(--r-full);
  padding: 12px 24px; font-size: 14px; font-weight: 600; color: var(--ink-800); white-space: nowrap;
  box-shadow:none; display: flex; align-items: center; gap: 8px;
}
.tool-pill .accent { color: var(--lime-red); }

.tools-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; margin-top: 40px; }
.tool-tile {
  background: #ffffff; border: 1px solid var(--border); border-radius: var(--r-md);
  padding: 22px 14px; text-align: center; transition: transform .3s, box-shadow .3s;
}
.tool-tile:hover { transform: translateY(-4px); box-shadow:none; border-color: rgba(237,50,55,.3); }
.tool-tile .tool-icon { font-size: 64px; margin-bottom: 10px; display: block; }
.tool-tile .tool-icon img { height: 64px; width: auto; max-width: 90%; object-fit: contain; display: block; margin: 0 auto; }
.tool-tile span { font-size: 13px; font-weight: 600; color: var(--ink-800); }

/* ===== TOOLS MARQUEE V2 (two-row infinite scroll) ===== */
@keyframes tmv2-scroll-left {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes tmv2-scroll-right {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

.tmv2-outer {
  overflow: hidden;
  width: 100%;
  margin-top: 32px;
  padding: 8px 0;
  /* fade edges */
  mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.tmv2-outer + .tmv2-outer {
  margin-top: -4px !important;
}
.tmv2-track {
  display: flex;
  gap: 10px;
  width: max-content;
  will-change: transform;
}
.tmv2-left  { animation: tmv2-scroll-left  55s linear infinite; }
.tmv2-right { animation: tmv2-scroll-right 55s linear infinite; }

.tc-v2 {
  background: #ffffff;
  border: 1px solid #e4e7ec;
  border-radius: 12px;
  padding: 18px 14px 14px;
  text-align: center;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  flex: none;
  width: 130px;
  transition: transform .2s, border-color .2s;
}
.tc-v2:hover {
  transform: translateY(-3px);
  border-color: rgba(237,50,55,.45);
  z-index: 2;
}
.tc-v2 img {
  height: 52px;
  width: auto;
  max-width: 80%;
  object-fit: contain;
  display: block;
}
.tc-name {
  font-size: 11px;
  font-weight: 600;
  color: var(--ink-800);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.tc-badge {
  position: absolute;
  top: 7px;
  right: 7px;
  background: var(--lime-red);
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .3px;
  padding: 2px 5px;
  border-radius: 20px;
  line-height: 1.4;
}

/* ===== HIRING PARTNERS TWO-ROW MARQUEE ===== */
.partners-marquee-section { padding: 90px 0; background: #ffffff; border-top: 1px solid var(--border); overflow: hidden; }
.pm-outer {
  overflow: hidden;
  width: 100%;
  position: relative;
  margin-top: 18px;
  padding: 6px 0;
  mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.pm-outer + .pm-outer {
  margin-top: 4px !important;
}
.pm-track {
  display: flex;
  gap: 16px;
  width: max-content;
  will-change: transform;
}
.pm-left {
  animation: pm-scroll-left 65s linear infinite;
}
.pm-right {
  animation: pm-scroll-right 65s linear infinite;
}
@keyframes pm-scroll-left {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes pm-scroll-right {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}
.pm-card {
  background: #ffffff;
  border: 1px solid #eef0f2;
  border-radius: 12px;
  padding: 12px 18px;
  height: 68px;
  width: 150px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.03);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.pm-card:hover {
  transform: translateY(-2px);
  border-color: rgba(237,50,55,.3);
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}
.pm-card img {
  max-height: 44px;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* ===== MENTOR SECTION ===== */
.mentor { padding: 110px 0; background: #ffffff; }
.mentor-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: center; }
.mentor-photo {
  aspect-ratio: 4/5; border-radius: var(--r-lg);
  background: var(--ink-900);
  position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: 28px;
  box-shadow:none;
}
.mentor-photo::after {
  content: "PARAS SIR"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.08); font-weight: 800; font-size: 14vw; letter-spacing: -2px; pointer-events: none;
}
.mentor-photo .badge-float {
  border-radius: var(--r-md); padding: 16px 20px; font-size: 13px; font-weight: 700; color: var(--ink-900);
  box-shadow:none;
}
.mentor-list { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 14px; }
.mentor-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; color: var(--ink-800); }
.mentor-list li svg { flex: none; margin-top: 3px; stroke: var(--lime-red); }

/* ===== REVIEWS SHOWCASE ===== */
.testimonials { padding: 110px 0; background: var(--ink-900); color: #ffffff; }
.testimonials .eyebrow { color: var(--red-300); }
.testimonials .h2 { color: #ffffff; }
.testimonials .lead { color: var(--ink-300); }
.testi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px; }
.testi-card {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--r-lg); padding: 26px 22px; display: flex; flex-direction: column; justify-content: space-between;
  transition: transform .35s var(--ease), border-color .35s var(--ease);
}
.testi-card:hover { transform: translateY(-6px); border-color: var(--lime-red); box-shadow:none; }
.testi-header { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.testi-header img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid var(--lime-red); }
.testi-name { font-size: 16px; font-weight: 700; color: #ffffff; }
.testi-role { font-size: 12px; color: var(--red-300); font-weight: 500; }
.testi-stars { color: #ffc043; font-size: 14px; letter-spacing: 2px; margin-bottom: 12px; }
.testi-quote { font-size: 13.5px; color: #e4e7e9; line-height: 1.6; margin: 0; font-style: italic; }

/* ===== GALLERY SHOWCASE ===== */
.gallery { padding: 72px 0; background: #ffffff; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.gallery-item {
  border-radius: var(--r-lg); overflow: hidden; height: 260px; position: relative;
  box-shadow:none;
}
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.gallery-item:hover img { transform: scale(1.06); }
.gallery-cap {
  position: absolute; inset: auto 0 0 0; padding: 16px;
  background: linear-gradient(0deg, rgba(23,20,20,0.88) 0%, transparent 100%);
  color: #ffffff; font-size: 13px; font-weight: 600;
}

/* ===== RAJKOT CAMPUS VISIT CARD (paired with marquee gallery below) ===== */
.campus-visit-row { display: flex; flex-direction: column; gap: 20px; padding-bottom: 4px; }
.campus-visit-card {
  flex: 0 0 auto; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px;
  padding: 22px 20px; box-shadow: 0 2px 10px rgba(0,0,0,.04);
}
.campus-visit-card h3 { font-size: 19px; font-weight: 800; color: #0b1329; margin-bottom: 8px; line-height: 1.28; }
.campus-visit-card > p { font-size: 13.5px; color: #64748b; line-height: 1.55; margin-bottom: 16px; }
.campus-visit-list { list-style: none; display: flex; flex-direction: column; gap: 10px; padding-right: 0; margin-bottom: 18px; padding-left: 0; }
.campus-visit-list li { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; font-weight: 600; color: #1e293b; }
.campus-visit-list svg { color: var(--primary); flex-shrink: 0; margin-top: 1px; }
.campus-visit-btn { width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
@media (min-width: 900px) {
  .campus-visit-row { flex-direction: row; align-items: center; gap: 32px; }
  .campus-visit-card { flex: 0 0 340px; padding: 28px 26px; }
  .campus-visit-card h3 { font-size: 22px; }
  .campus-marquee-container { flex: 1; min-width: 0; }
}

/* ===== LID-STYLE CAMPUS EXPERIENCE MARQUEE GALLERY ===== */
.campus-marquee-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 24px 0 10px;
}

.campus-marquee-container::before,
.campus-marquee-container::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100px;
  z-index: 5;
  pointer-events: none;
}
.campus-marquee-container::before {
  left: 0;
  background: linear-gradient(to right, #ffffff 0%, rgba(255,255,255,0) 100%);
}
.campus-marquee-container::after {
  right: 0;
  background: linear-gradient(to left, #ffffff 0%, rgba(255,255,255,0) 100%);
}

.campus-marquee-track {
  display: flex !important;
  width: max-content !important;
  animation: campusMarqueeScroll 45s linear infinite !important;
  will-change: transform;
}

@keyframes campusMarqueeScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.campus-marquee-group {
  display: flex !important;
  gap: 14px !important;
  padding-right: 14px !important;
  flex-shrink: 0 !important;
  align-items: stretch !important;
}

.campus-col {
  flex-shrink: 0 !important;
  width: 270px !important;
  height: 380px !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

.campus-col.tall {
  height: 380px !important;
}

.campus-col.tall .campus-pic-wrap {
  width: 100% !important;
  height: 380px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  background: #1e293b !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.06) !important;
}

.campus-col.stacked {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 14px !important;
  height: 380px !important;
}

.campus-col.stacked .campus-pic-wrap {
  width: 100% !important;
  height: 183px !important;
  min-height: 183px !important;
  max-height: 183px !important;
  flex: 0 0 183px !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  background: #1e293b !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.06) !important;
}

.campus-pic-wrap img {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.campus-pic-wrap:hover img {
  transform: scale(1.06);
}

.campus-pic-cap,
.cap-shot-cap {
  display: none !important;
}

@media (max-width: 900px) {
  .campus-col {
    width: 220px;
    height: 310px;
  }
  .campus-col.tall {
    height: 310px;
  }
  .campus-col.tall .campus-pic-wrap {
    height: 310px;
    border-radius: 12px;
  }
  .campus-col.stacked {
    height: 310px;
    gap: 10px;
  }
  .campus-col.stacked .campus-pic-wrap {
    height: 150px;
    min-height: 150px;
    max-height: 150px;
    flex: 0 0 150px;
    border-radius: 12px;
  }
  .campus-marquee-track {
    animation-duration: 32s;
  }
  .campus-marquee-group {
    gap: 12px;
    padding-right: 12px;
  }
  .campus-marquee-container::before,
  .campus-marquee-container::after {
    width: 40px;
  }
}

@media (max-width: 576px) {
  .campus-col {
    width: 200px;
    height: 280px;
  }
  .campus-col.tall {
    height: 280px;
  }
  .campus-col.tall .campus-pic-wrap {
    height: 280px;
    border-radius: 10px;
  }
  .campus-col.stacked {
    height: 280px;
    gap: 8px;
  }
  .campus-col.stacked .campus-pic-wrap {
    height: 136px;
    min-height: 136px;
    max-height: 136px;
    flex: 0 0 136px;
    border-radius: 10px;
  }
  .campus-marquee-group {
    gap: 10px;
    padding-right: 10px;
  }
  .campus-marquee-container::before,
  .campus-marquee-container::after {
    width: 25px;
  }
}


/* ===== FINAL CTA SECTION ===== */
.final-cta {
  padding: 72px 0; text-align: center; position: relative; overflow: hidden;
  background-color: #120302;
  background-image: 
    linear-gradient(115deg, rgba(15,3,2,.90) 0%, rgba(46,5,4,.80) 38%, rgba(120,12,10,.62) 72%, rgba(227,30,36,.40) 100%),
    url('BG/BG9.jpg');
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
  box-shadow: none;
  z-index: 2;
}
.final-cta .eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35);
  color: #ffffff !important; font-size: 11.5px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 6px 16px; border-radius: var(--r-full); margin-bottom: 18px;
}
.final-cta .h2 { color: #ffffff; font-size: clamp(26px, 3.8vw, 42px); font-weight: 800; line-height: 1.2; }
.final-cta .lead { color: rgba(255,255,255,.88); margin: 12px auto 26px; max-width: 580px; font-size: 16px; }
.final-cta .btn-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.final-cta .badge-strip { display: flex; gap: 22px; justify-content: center; margin-top: 28px; flex-wrap: wrap; color: rgba(255,255,255,.80); font-size: 13px; font-weight: 500; }
.final-cta .btn-glow { background: #ffffff !important; color: #000000 !important; border-radius: var(--r-full) !important; font-weight: 700 !important; border: 1px solid #ffffff !important; padding: 13px 26px !important; }
.final-cta .btn-glow:hover { background: var(--lime-red, #ED3237) !important; color: #ffffff !important; border-color: var(--lime-red, #ED3237) !important; }
.final-cta .btn-inverse { background: var(--lime-red, #ED3237) !important; color: #ffffff !important; border-radius: var(--r-full) !important; font-weight: 700 !important; border: 1px solid var(--lime-red, #ED3237) !important; padding: 13px 26px !important; }
.final-cta .btn-inverse:hover { background: #000000 !important; border-color: #000000 !important; color: #ffffff !important; }

@media (max-width: 768px) {
  .final-cta { padding: 48px 0; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; }
  .final-cta .h2 { font-size: 24px; }
  .final-cta .lead { font-size: 14px; margin: 10px auto 20px; }
  .final-cta .badge-strip { gap: 12px 18px; font-size: 12px; margin-top: 22px; }
}

/* ===== SITE MAIN WRAPPER (Curtain Reveal Footer) ===== */
.site-main-wrapper {
  position: relative;
  z-index: 2;
  background: #ffffff;
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
  overflow: clip;
  box-shadow: none;
}

body:has(.antigravity-footer),
body:has(#siteFooter),
body.has-reveal-footer {
  background: #000000;
}

/* Automatically dismiss floating navigation and contact widgets when sticky footer reveals */
body.footer-revealed {
  background: #000000;
}
body.footer-revealed .nav {
  transform: translateY(-120%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}
body.footer-revealed .float-btn {
  opacity: 0;
  pointer-events: none;
  transform: translateY(30px);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}

/* Spacer element to guarantee scroll track for the fixed sticky reveal footer */
.footer-reveal-spacer {
  display: block;
  width: 100%;
  height: 500px; /* Synchronized dynamically to footer.offsetHeight via JS */
  background: #000000;
  pointer-events: none;
  visibility: hidden;
}

/* ===== ANTIGRAVITY STICKY REVEAL FOOTER ===== */
.antigravity-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  min-height: auto;
  z-index: 1;
  background: #000000;
  color: #ffffff;
  padding: 48px 0 22px;
  box-sizing: border-box;
  overflow: hidden;
  display: block;
}
.antigravity-footer > .wrap {
  width: 100%;
  max-width: var(--wrap-max, 1200px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 26px;
  box-sizing: border-box;
}
.antigravity-footer.footer-flow {
  position: relative !important;
  z-index: 2 !important;
  height: auto !important;
}
.ag-footer-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 48px;
  margin-bottom: 0;
}
.ag-footer-brand-col {
  max-width: 380px;
  flex-shrink: 0;
}
.ag-footer-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--lime-red, #ED3237);
  margin-bottom: 12px;
  display: inline-block;
}
.ag-footer-headline {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(30px, 3.4vw, 44px);
  font-weight: 500;
  color: #ffffff;
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 0 0 14px;
}
.ag-footer-desc {
  font-size: 13.5px;
  line-height: 1.6;
  color: #94A3B8;
  margin: 0 0 20px;
  max-width: 380px;
}
.ag-footer-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.ag-footer-call-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}
.ag-footer-call-btn svg {
  color: var(--lime-red, #ED3237);
  transition: color 0.2s ease;
}
.ag-footer-call-btn:hover {
  background: var(--lime-red, #ED3237);
  border-color: var(--lime-red, #ED3237);
  color: #ffffff;
  box-shadow: 0 4px 16px rgba(237, 50, 55, 0.4);
}
.ag-footer-call-btn:hover svg {
  color: #ffffff;
}
.ag-footer-socials {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ag-social-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
  text-decoration: none;
}
.ag-social-btn:hover {
  background: var(--lime-red, #ED3237);
  border-color: var(--lime-red, #ED3237);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(237, 50, 55, 0.35);
}

.ag-footer-nav {
  display: grid;
  grid-template-columns: 1fr 1fr 1.35fr;
  gap: 36px;
  flex-grow: 1;
  max-width: 720px;
}
.ag-footer-nav-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ag-col-label {
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: -0.01em;
  margin-bottom: 16px;
  display: block;
}

.ag-col-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ag-col-list a {
  color: #94A3B8;
  font-size: 13.5px;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
  display: inline-block;
  line-height: 1.4;
}
.ag-col-list a:hover {
  color: #ffffff;
  transform: translateX(3px);
}
.ag-col-list a.ag-link-highlight {
  color: var(--lime-red, #ED3237);
  font-weight: 500;
}
.ag-col-list a.ag-link-highlight:hover {
  color: #ff5a5f;
}

/* Get In Touch Column Styles */
.ag-contact-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ag-contact-group {
  display: flex;
  flex-direction: column;
}
.ag-contact-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ag-contact-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 600;
  transition: color 0.2s ease;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.ag-contact-item svg {
  width: 17px;
  height: 17px;
  color: var(--lime-red, #ED3237);
  flex-shrink: 0;
}
.ag-contact-item:hover {
  color: #ff5a5f;
}
.ag-office-divider {
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  margin: 14px 0 12px;
}
.ag-office-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ag-office-label {
  display: block;
  color: #ffffff;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 12px;
}
.ag-office-box .ag-office-label {
  margin-bottom: 6px;
}
.ag-office-text {
  color: #94A3B8;
  font-size: 12.5px;
  line-height: 1.55;
  margin: 0;
  word-break: break-word;
}

/* Bottom Group: Wordmark & Bottom Bar (Tightly grouped Antigravity architecture) */
.ag-footer-bottom-group {
  width: 100%;
  display: flex;
  flex-direction: column;
}

/* Signature Center Wordmark (Refined Antigravity Display Scale) */
.ag-footer-wordmark-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 10px;
  overflow: visible;
  user-select: none;
  pointer-events: none;
}
.ag-footer-wordmark {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(34px, 7.5vw, 106px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.12;
  white-space: nowrap;
  color: #ffffff;
  opacity: 0.95;
  text-align: center;
  display: block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Bottom Bar */
.ag-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.ag-footer-bottom-left {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.ag-footer-logo-link {
  display: inline-flex;
  align-items: center;
}
.ag-footer-logo {
  height: 30px;
  width: auto;
  filter: brightness(0) invert(1);
}
.ag-copyright {
  font-size: 12.5px;
  color: #64748B;
}
.ag-footer-bottom-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.ag-footer-bottom-right a {
  font-size: 12.5px;
  color: #64748B;
  text-decoration: none;
  transition: color 0.2s ease;
}
.ag-footer-bottom-right a:hover {
  color: #ffffff;
}
.ag-sep {
  color: #334155;
  font-size: 11px;
}

/* Responsive Footer Rules */
@media (max-width: 980px) {
  .ag-footer-top {
    flex-direction: column;
    gap: 36px;
  }
  .ag-footer-brand-col {
    max-width: 100%;
  }
  .ag-footer-nav {
    max-width: 100%;
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 24px;
  }
  .ag-contact-col {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 24px;
    align-items: flex-start;
  }
  .ag-office-divider {
    display: none;
  }
  .ag-office-label,
  .ag-office-box .ag-office-label {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 16px;
  }
}
@media (max-width: 768px) {
  .site-main-wrapper {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    box-shadow: none;
  }
  .footer-reveal-spacer {
    display: none !important;
  }
  .antigravity-footer {
    position: relative !important;
    z-index: 2 !important;
    height: auto !important;
    min-height: auto !important;
    padding: 48px 0 24px;
    display: block !important;
  }
  .antigravity-footer > .wrap {
    height: auto !important;
    display: block !important;
  }
  .ag-footer-nav {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 24px;
  }
  .ag-contact-col {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 24px;
    align-items: flex-start;
  }
  .ag-office-divider {
    display: none;
  }
  .ag-office-label,
  .ag-office-box .ag-office-label {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 16px;
  }
  .ag-footer-wordmark-wrap {
    padding: 16px 0 12px;
  }
  .ag-footer-wordmark {
    font-size: clamp(26px, 7.5vw, 48px);
    line-height: 1.15;
  }
  .ag-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding-top: 14px;
  }
}
@media (max-width: 480px) {
  .ag-footer-nav {
    grid-template-columns: repeat(2, 1fr);
    gap: 26px 16px;
  }
  .ag-col-label {
    font-size: 14px;
    margin-bottom: 12px;
  }
  .ag-col-list {
    gap: 10px;
  }
  .ag-col-list a {
    font-size: 13px;
    line-height: 1.38;
  }
  .ag-contact-col {
    gap: 26px 16px;
  }
  .ag-contact-list {
    gap: 10px;
  }
  .ag-contact-item {
    font-size: 12.5px;
    gap: 8px;
  }
  .ag-contact-item svg {
    width: 15px;
    height: 15px;
  }
  .ag-office-divider {
    display: none;
  }
  .ag-office-label,
  .ag-office-box .ag-office-label {
    font-size: 14px;
    margin-bottom: 12px;
  }
  .ag-office-text {
    font-size: 11.5px;
    line-height: 1.5;
  }
}

/* ===== FOOTER (Pletinus Reference Style) ===== */
.footer-pletinus{
  background:#080b0c;
  color:#94a3b8;
  padding:80px 0 36px;
  font-size:14px;
  border-top:1px solid rgba(255,255,255,0.06);
  position:relative;
  z-index:10;
}
.fp-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1.1fr 1.3fr;
  gap:48px;
}
.fp-brand .fp-logo{
  height:38px;
  width:auto;
  display:block;
  margin-bottom:20px;
  filter:brightness(0) invert(1);
}
.fp-tagline{
  color:#94a3b8;
  font-size:13.5px;
  line-height:1.65;
  margin:0 0 24px;
  max-width:320px;
}
.fp-socials{
  display:flex;
  align-items:center;
  gap:10px;
}
.fp-social-btn{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.03);
  color:#ffffff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:all .25s ease;
  text-decoration:none;
}
.fp-social-btn svg{
  width:17px;
  height:17px;
}
.fp-social-btn:hover{
  background:var(--primary, #ED3237);
  border-color:var(--primary, #ED3237);
  color:#ffffff;
  transform:translateY(-2px);
  box-shadow:0 4px 14px rgba(237,50,55,0.35);
}
.fp-title{
  color:#ffffff;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin:0 0 22px;
}
.fp-links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:13px;
}
.fp-links a{
  color:#94a3b8;
  text-decoration:none;
  font-size:14px;
  transition:color .2s ease;
  display:inline-block;
}
.fp-links a:hover{
  color:#ffffff;
}
.fp-contact-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.fp-contact-item{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#ffffff;
  text-decoration:none;
  font-size:14.5px;
  font-weight:600;
  transition:color .2s ease;
}
.fp-contact-item svg{
  width:17px;
  height:17px;
  color:var(--primary, #ED3237);
  flex:none;
}
.fp-contact-item:hover{
  color:#ff5a5f;
}
.fp-phone span{
  font-size:15.5px;
  font-weight:700;
}
.fp-office-box{
  margin-top:6px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,0.08);
}
.fp-office-label{
  display:block;
  color:#ffffff;
  font-size:13px;
  font-weight:700;
  margin-bottom:6px;
}
.fp-office-text{
  color:#94a3b8;
  font-size:13px;
  line-height:1.6;
  margin:0;
}
.fp-bottom{
  margin-top:60px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,0.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  color:#64748b;
  font-size:13px;
}
.fp-legal{
  display:flex;
  align-items:center;
  gap:12px;
}
.fp-legal a{
  color:#64748b;
  text-decoration:none;
  transition:color .2s ease;
}
.fp-legal a:hover{
  color:#ffffff;
}
.fp-sep{
  color:#475569;
}

@media (max-width: 992px) {
  .fp-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
}
@media (max-width: 640px) {
  .footer-pletinus {
    padding: 50px 0 30px;
  }
  .fp-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .fp-tagline {
    max-width: 100%;
    font-size: 13px;
  }
  .fp-bottom {
    margin-top: 40px;
    padding-top: 22px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    font-size: 12px;
  }
}

/* ===== FLOATING ACTION BUTTONS ===== */
.float-btn {
  position: fixed; z-index: 90; display: flex; align-items: center; gap: 8px;
  padding: 12px 20px; border-radius: var(--r-full); font-size: 13px; font-weight: 600;
  box-shadow:none; transition: transform .3s;
}
.float-btn:hover { transform: translateY(-3px); }
.float-call { left: 24px; bottom: 20px; background: var(--ink-900); color: #ffffff; border: 1px solid rgba(255,255,255,.2); }
.float-whatsapp { right: 24px; bottom: 20px; background: #25D366; color: #ffffff; padding: 14px; border-radius: 50%; box-shadow:none; }
.float-whatsapp svg { width: 22px; height: 22px; }

/* ===== FIXED & STYLED LEAD CAPTURE MODAL OVERLAY ===== */
.modal-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100vw; height: 100vh;
  z-index: 99999;
  background: rgba(23, 20, 20, 0.82);
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}
.modal-overlay.active {
  display: flex !important;
}
.modal-card {
  background: #ffffff !important;
  border-radius: var(--r-xl) !important;
  max-width: 480px !important;
  width: 100% !important;
  padding: 36px 32px !important;
  position: relative !important;
  box-shadow:none;
  border: 1px solid var(--border) !important;
  color: var(--ink-800) !important;
  margin: auto !important;
  box-sizing: border-box !important;
  animation: modalPop 0.3s var(--ease);
}
@keyframes modalPop {
  from { opacity: 0; transform: scale(0.95) translateY(10px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
.modal-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: var(--surface-sunk) !important;
  border: none !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 44px !important;
  text-align: center !important;
  cursor: pointer !important;
  color: var(--ink-800) !important;
  transition: background 0.2s, color 0.2s !important;
}
.modal-close:hover {
  background: var(--lime-red) !important;
  color: #ffffff !important;
}
.modal-head { margin-bottom: 22px; text-align: center; }
.modal-head h3 { font-size: 22px !important; font-weight: 700 !important; color: var(--ink-900) !important; margin-bottom: 6px !important; }
.modal-head p { font-size: 13.5px !important; color: var(--ink-500) !important; margin: 0 !important; }
.form-group { margin-bottom: 16px; text-align: left; }
.form-group label {
  display: block; font-size: 12px; font-weight: 700; margin-bottom: 6px; color: var(--ink-800);
  text-transform: uppercase; letter-spacing: 0.5px;
}
.form-input {
  width: 100% !important;
  padding: 13px 16px !important;
  border: 2px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  color: var(--ink-900) !important;
  background: var(--surface-alt) !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s !important;
}
.form-input:focus {
  border-color: var(--lime-red) !important;
  background: #ffffff !important;
  box-shadow:none;
}


/* ===== HERO BACKGROUND ARTWORK (assets/BG) + dark-hero text treatment ===== */
.lid-hero{
  background-color:#150403;
  background-image:
    linear-gradient(115deg, rgba(15,3,2,.92) 0%, rgba(46,5,4,.86) 38%, rgba(120,12,10,.70) 72%, rgba(227,30,36,.52) 100%),
    url('BG/BG9.jpg');
  background-size:cover, cover;
  background-position:center center, center center;
  background-repeat:no-repeat, no-repeat;
  border-bottom:none;
}
.lid-hero .lid-h1{color:#ffffff;}
.lid-hero .lid-accent{color:#ff5A5F;}
.lid-hero .lid-lead{color:rgba(255,255,255,.86);}
.lid-hero .lid-subhead{color:#ffffff;}
.lid-hero .lid-brands-label{color:rgba(255,255,255,.72);}
.lid-hero .brand-pill{
  background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.38);color:#ffffff;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.lid-hero .brand-pill:hover{background:#ffffff;border-color:#ffffff;color:#000000;}
.lid-hero .lid-features-box{
  background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.34);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.lid-hero .lid-feature-item{color:#ffffff;border-right-color:rgba(255,255,255,.28);}
.lid-hero .btn-lid-cta{background:#ffffff;color:#000000;}
.lid-hero .btn-lid-cta-icon{background:rgba(0,0,0,.10);}
.lid-hero .btn-lid-cta:hover{background:var(--primary);color:#ffffff;}
.lid-hero .btn-lid-cta:hover .btn-lid-cta-icon{background:rgba(255,255,255,.22);}

/* ===== PAGE HERO (Inner pages) ===== */
.page-hero { padding: 72px 0 0; }
.page-hero-card {
  position: relative; overflow: hidden; border-radius: 28px;
  background-color: #150403;
  background-image:
    linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%),
    url('BG/hero-bg.jpg');
  background-size: cover, cover;
  background-position: center center, center center;
  background-repeat: no-repeat, no-repeat;
  padding: 48px 24px; text-align: center;
}
/* per-page hero artwork - assets/BG (the gradient above stays on top so text keeps contrast) */
.page-hero[data-bg="1"]  .page-hero-card { background-image: linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%), url('BG/BG1.jpeg'); }
.page-hero[data-bg="2"]  .page-hero-card { background-image: linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%), url('BG/BG2.jpeg'); }
.page-hero[data-bg="3"]  .page-hero-card { background-image: linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%), url('BG/BG3.jpeg'); }
.page-hero[data-bg="4"]  .page-hero-card { background-image: linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%), url('BG/BG4.jpeg'); }
.page-hero[data-bg="5"]  .page-hero-card { background-image: linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%), url('BG/BG5.jpg'); }
.page-hero[data-bg="7"]  .page-hero-card { background-image: linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%), url('BG/BG7.jpeg'); }
.page-hero[data-bg="8"]  .page-hero-card { background-image: linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%), url('BG/BG8.jpeg'); }
.page-hero[data-bg="9"]  .page-hero-card { background-image: linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%), url('BG/BG9.jpg'); }
.page-hero[data-bg="10"] .page-hero-card { background-image: linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%), url('BG/BG010-web.jpg'); }
.page-hero[data-bg="11"] .page-hero-card { background-image: linear-gradient(135deg, rgba(21,4,3,.90) 0%, rgba(74,7,5,.82) 32%, rgba(138,15,12,.74) 62%, rgba(227,30,36,.62) 100%), url('BG/BG011.jpg'); }
.page-hero-deco { position: absolute; top: 0; height: 100%; width: auto; opacity: .16; pointer-events: none; }
.page-hero-deco-l { left: 0; }
.page-hero-deco-r { right: 0; }
.page-hero-card h1 { position: relative; z-index: 1; color: #ffffff; margin: 0 auto; max-width: 780px; font-size: clamp(28px, 4.4vw, 44px); }
.page-hero-card h1 .underline-device { background: none; padding: 0; }
.page-hero-card .breadcrumb { justify-content: center; margin: 12px 0 0; }
.page-hero-sub { max-width: 640px; margin: 18px auto 0; text-align: center; }
.page-hero-sub .eyebrow { justify-content: center; }
.page-hero-sub .lead { margin: 8px auto 0; }
.page-hero-sub .btn-row { justify-content: center; }
.breadcrumb { display: flex; gap: 8px; align-items: center; font-size: 13px; color: rgba(255,255,255,.75); margin-bottom: 0; }
.breadcrumb a { color: #ffffff; opacity: .9; }

/* ===== LEADERSHIP & MENTORS TEAM ===== */
.mentor-team-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 40px;
}
.mentor-team-card {
  background: #ffffff; border: 1.5px solid var(--border); border-radius: var(--r-lg);
  overflow: hidden; box-shadow:none; transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.mentor-team-card:hover { transform: translateY(-6px); box-shadow:none; border-color: var(--lime-red); }
.mentor-team-photo {
  height: 280px; width: 100%; background: var(--ink-900); overflow: hidden; position: relative;
}
.mentor-team-photo img {
  width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .5s ease;
}
.mentor-team-card:hover .mentor-team-photo img { transform: scale(1.05); }
.mentor-team-body { padding: 24px 22px; text-align: center; }
.mentor-team-body h4 { font-size: 19px; font-weight: 700; color: var(--ink-900); margin-bottom: 4px; }
.mentor-team-role { font-size: 13px; font-weight: 600; color: var(--lime-red); text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 12px; }
.mentor-team-body p { font-size: 13.5px; color: var(--ink-600); margin: 0; line-height: 1.55; }

/* ===== FOUNDER & STUDENT TRUE STORIES (Executive Editorial Redesign) ===== */
.founder-stories {
  padding: 72px 0 44px;
  background: #fff;
}
.founder-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 48px;
}
.founder-card {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 20px;
  padding: 34px 30px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.02);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease;
  position: relative;
}
.founder-card:hover {
  transform: translateY(-6px);
  border-color: rgba(237, 50, 55, 0.35);
  box-shadow: 0 20px 35px -8px rgba(237, 50, 55, 0.08), 0 4px 12px rgba(0, 0, 0, 0.04);
}
.founder-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.founder-tag {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  background: #FFF5F5;
  color: var(--lime-red, #ED3237);
  padding: 5px 12px;
  border-radius: 9999px;
  border: 1px solid rgba(237, 50, 55, 0.16);
}
.founder-quote-icon {
  color: rgba(237, 50, 55, 0.18);
  flex-shrink: 0;
  transition: color 0.3s ease;
}
.founder-card:hover .founder-quote-icon {
  color: var(--lime-red, #ED3237);
}
.founder-headline {
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--ink-900, #111827);
  line-height: 1.45;
  margin: 0 0 14px;
  letter-spacing: -0.2px;
  text-transform: none !important;
}
.founder-story {
  font-size: 14px;
  line-height: 1.7;
  color: #4B5563;
  margin: 0 0 18px;
  font-style: normal;
}
.founder-story strong {
  color: var(--ink-900, #111827);
  font-weight: 700;
}
.founder-result-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: #F3F4F6;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #1F2937;
  margin-bottom: 24px;
  width: fit-content;
}
.founder-result-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lime-red, #ED3237);
  flex-shrink: 0;
}
.founder-profile {
  display: flex;
  align-items: center;
  gap: 14px;
  border-top: 1px solid #F3F4F6;
  padding-top: 20px;
  margin-top: auto;
}
.founder-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  flex-shrink: 0;
}
.founder-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.founder-name {
  display: flex;
  align-items: center;
  gap: 6px;
}
.founder-name strong {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--ink-900, #111827);
  white-space: nowrap;
}
.founder-verified {
  display: inline-flex;
  align-items: center;
}
.founder-company {
  font-size: 13px;
  font-weight: 700;
  color: var(--lime-red, #ED3237);
  white-space: nowrap;
}
.founder-meta {
  font-size: 11.5px;
  color: #9CA3AF;
  font-weight: 500;
}
@media (max-width: 680px) {
  .founder-stories { padding: 64px 0 32px; }
  .founder-card { padding: 26px 20px 22px; border-radius: 16px; }
  .founder-headline { font-size: 16px; }
}

/* ===== TRACK COMPARISON CARDS (Foundation vs Advanced) ===== */
.tracks-section { padding: 110px 0; background: #ffffff; }
.tracks-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 40px; max-width: 1020px; margin-left: auto; margin-right: auto; }
.track-card {
  background: #ffffff; border: 1.5px solid var(--border); border-radius: var(--r-xl); padding: 40px 32px;
  box-shadow:none; display: flex; flex-direction: column; justify-content: space-between; position: relative;
}
.track-card.featured {
  border: 3px solid var(--lime-red);
  background: #ffffff;
  box-shadow:none;
}
.track-badge {
  position: absolute; top: -14px; right: 28px; background: var(--lime-red); color: #ffffff;
  font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  padding: 6px 16px; border-radius: var(--r-full); box-shadow:none;
}
.track-head h3 { font-size: 24px; font-weight: 800; color: var(--ink-900); margin-bottom: 6px; }
.track-head p { font-size: 14px; color: var(--ink-500); margin: 0 0 20px; }
.track-price { font-size: 38px; font-weight: 800; color: var(--ink-900); margin-bottom: 4px; }
.track-price span { font-size: 14px; color: var(--ink-500); font-weight: 500; }
.track-price-sub { font-size: 12.5px; color: var(--lime-red); font-weight: 600; margin-bottom: 24px; }
.track-features { list-style: none; padding: 0; margin: 0 0 32px; display: grid; gap: 12px; }
.track-features li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--ink-800); }
.track-features li strong { color: var(--ink-900); }

/* ===== SALARY POTENTIAL GRID ===== */
.salary-section { padding: 72px 0; background: var(--surface-alt); }
.salary-section .h2, .salary-section h2,
.tools-section .h2, .tools-section h2 {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(28px, 3.8vw, 42px);
  font-weight: 800;
  line-height: 1.2;
  color: var(--ink-900);
  letter-spacing: -0.02em;
}
.salary-section .h2 span, .salary-section h2 span,
.tools-section .h2 span, .tools-section h2 span {
  color: var(--lime-red, #ED3237);
}
.salary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 40px; }
.salary-card {
  background: #fff; border: 1px solid var(--border); border-radius: var(--r-lg);
  padding: 28px 22px; text-align: center; transition: transform .35s, border-color .35s, box-shadow .35s;
  box-shadow:none;
}
.salary-card:hover { transform: translateY(-5px); border-color: var(--lime-red); box-shadow:none; }
.salary-level { font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--deep-red); margin-bottom: 8px; }
.salary-amount { font-size: 28px; font-weight: 800; color: var(--ink-900); margin-bottom: 6px; }
.salary-desc { font-size: 12.5px; color: var(--ink-500); margin: 0; }

/* ===== CAREER / BUSINESS POTENTIAL (dual audience) ===== */
.dual-potential-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 40px;
}
.potential-block {
  background: #fff; border: 1px solid var(--border); border-radius: var(--r-lg);
  padding: 32px; display: flex; flex-direction: column;
}
.potential-block-head { display: flex; gap: 18px; align-items: center; margin-bottom: 24px; }
.potential-block-icon {
  flex-shrink: 0; width: 64px; height: 64px;
  display: flex; align-items: center; justify-content: center;
  background: none; border: none; padding: 0;
}
.potential-block-icon img {
  width: 100%; height: 100%; object-fit: contain; display: block;
}
.potential-block-head h3 { font-size: 20px; font-weight: 800; color: var(--ink-900); margin-bottom: 4px; }
.potential-block-head p { font-size: 13.5px; color: var(--ink-500); line-height: 1.4; }

.potential-rows { display: flex; flex-direction: column; gap: 2px; margin-bottom: 0; }
.potential-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px 4px; border-bottom: 1px solid var(--border); font-size: 14px;
}
.potential-row span { color: var(--ink-500); }
.potential-row strong { color: var(--ink-900); font-weight: 800; white-space: nowrap; }
.potential-row-highlight {
  border-bottom: none; margin-top: 6px; padding: 14px 18px;
  background: #FFF5F5; border: 1.5px solid #FCA5A5; border-radius: 10px;
}
.potential-row-highlight span { color: #18181B; font-weight: 700; }
.potential-row-highlight strong { color: var(--lime-red, #ED3237); font-weight: 800; font-size: 15px; }

.potential-bottom-cta {
  margin-top: 40px; display: flex; justify-content: center;
}
.potential-bottom-cta .btn {
  padding: 16px 38px; font-size: 15px; font-weight: 700;
  text-transform: none; letter-spacing: 0.02em;
}

@media (max-width: 780px) {
  .dual-potential-grid { grid-template-columns: 1fr; }
  .potential-bottom-cta { margin-top: 28px; }
  .potential-bottom-cta .btn { width: 100%; max-width: 360px; }
}

/* ===== RESPONSIVE BREAKPOINTS ===== */
@media(max-width: 980px) {
  .hero { padding-top: 140px; }
  .hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .hero-stat-badges { grid-template-columns: repeat(3, 1fr); }
  .system-steps-grid { grid-template-columns: repeat(2, 1fr); }
  .graphic-showcase-grid { grid-template-columns: 1fr; }
  .mentor-team-grid { grid-template-columns: 1fr; }
  .founder-grid { grid-template-columns: 1fr; }
  .tracks-grid { grid-template-columns: 1fr; }
  .salary-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-strip { margin-top: 20px !important; padding: 0 16px !important; }
  .stats-card { grid-template-columns: repeat(2, 1fr) !important; border: 1px solid var(--border) !important; border-radius: 14px !important; }
  .stat-box { padding: 18px 12px !important; border: none !important; border-bottom: 1px solid var(--border) !important; }
  .stat-box:nth-child(odd) { border-right: 1px solid var(--border) !important; }
  .stat-box:nth-child(even) { border-right: none !important; }
  .stat-box:nth-child(3),
  .stat-box:nth-child(4),
  .stat-box:nth-last-child(-n+2) { border-bottom: none !important; }
  .stat-box .num { font-size: 24px !important; }
  .stat-box .cap { font-size: 11.5px !important; margin-top: 4px !important; }
  .course-grid { grid-template-columns: 1fr; }
  .module-grid { grid-template-columns: 1fr; }
  .tools-grid { grid-template-columns: repeat(3, 1fr); }
  .partners-grid { grid-template-columns: repeat(3, 1fr); }
  .mentor-grid { grid-template-columns: 1fr; }
  .testi-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media(max-width: 680px) {
  .hero-stat-badges { grid-template-columns: 1fr; }
  .system-steps-grid { grid-template-columns: 1fr; }
  .salary-grid { grid-template-columns: 1fr; }
  .highlights-grid { grid-template-columns: 1fr; }
  .tools-grid { grid-template-columns: repeat(2, 1fr); }
  .partners-grid { grid-template-columns: repeat(2, 1fr); }
  .testi-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .section-pad { padding: 42px 0 24px; }
  .float-btn.float-call { padding: 12px 16px; font-size: 12px; }
  .modal-card { padding: 24px 20px !important; }
}

/* ===== CAMPUS PHOTO MOSAIC (Alumni Founders) ===== */
.capstone { padding: 50px 0 80px; background: #ffffff; }
.cap-head-block { margin-bottom: 44px; }
.cap-head-block h2 {
  text-transform: none; letter-spacing: -.02em;
  font-size: clamp(28px, 3.6vw, 44px); font-weight: 800; line-height: 1.15; margin: 0 0 16px;
}
.cap-head-block p { margin: 0; color: var(--ink-500); font-size: 17px; line-height: 1.62; max-width: 660px; }

.cap-mosaic {
  display: grid; grid-template-columns: 1.12fr 1fr 1fr; grid-template-rows: 215px 215px;
  gap: 16px; margin-bottom: 46px;
}
.cap-shot { position: relative; margin: 0; overflow: hidden; border-radius: 16px; background: var(--surface-alt); }
.cap-shot img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.cap-shot:hover img { transform: scale(1.05); }
.cap-shot-1 { grid-column: 1; grid-row: 1 / span 2; }
.cap-shot-2 { grid-column: 2; grid-row: 1; }
.cap-shot-3 { grid-column: 3; grid-row: 1; }
.cap-shot-4 { grid-column: 2 / span 2; grid-row: 2; }
.cap-shot-cap {
  position: absolute; left: 14px; bottom: 12px; right: 14px; z-index: 2;
  color: #ffffff; font-size: 12px; font-weight: 600; line-height: 1.3;
  text-shadow: 0 1px 6px rgba(0,0,0,.55);
}
.cap-shot::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.12) 38%, transparent 62%);
}

@media (max-width: 960px) {
  .capstone { padding: 28px 0 50px; }
  .cap-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 170px 170px 170px; gap: 10px; margin-bottom: 34px; }
  .cap-shot-1 { grid-column: 1; grid-row: 1 / span 2; }
  .cap-shot-2 { grid-column: 2; grid-row: 1; }
  .cap-shot-3 { grid-column: 2; grid-row: 2; }
  .cap-shot-4 { grid-column: 1 / span 2; grid-row: 3; }
}
@media (max-width: 600px) {
  .cap-mosaic { grid-template-rows: 132px 132px 150px; }
  .cap-shot-cap { font-size: 11px; left: 10px; right: 10px; bottom: 9px; }
  .cap-shot-2 .cap-shot-cap, .cap-shot-3 .cap-shot-cap { display: none; }
}

/* ===== 16-MODULE CURRICULUM WITH STICKY BROCHURE SIDEBAR ===== */
.cur-layout{position:relative;}
.cur-layout.wrap{max-width:1180px;margin:0 auto;padding:0 16px;}
@media (min-width: 768px) { .cur-layout.wrap{padding:0 24px;} }
@media (min-width:1101px){
  .cur-layout{display:flex;align-items:flex-start;gap:44px;}
  .cur-main{flex:1 1 auto;min-width:0;}
  .cur-rail{
    flex:0 0 340px;width:340px;
    align-self:flex-start;position:sticky;top:88px;
  }
  .cur-main > section{padding-left:0;padding-right:0;}
  .cur-main > .curriculum{padding-top:0;}
}

/* ---- sticky brochure form card ---- */
.brochure-card{
  background:#fff;border:1px solid #E5E5E5;border-radius:18px;
  box-shadow:0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.06);
  padding:16px;display:flex;flex-direction:column;gap:10px;
}
.brochure-card-visual{
  border-radius:12px;overflow:hidden;background:#1a0305;
  display:flex;align-items:center;justify-content:center;
}
.brochure-card-visual img{width:100%;height:160px;object-fit:contain;display:block;}
.brochure-card h3{
  text-transform:none;letter-spacing:-.01em;
  font-size:20px;font-weight:800;line-height:1.25;margin:0;color:var(--ink-900);
}
.brochure-sub{font-size:13px;line-height:1.55;color:var(--ink-500);margin:0;}
.brochure-meta{display:flex;flex-wrap:wrap;gap:6px;}
.brochure-meta span{
  font-size:11px;font-weight:600;border:1px solid #E5E5E5;border-radius:var(--r-full);
  padding:4px 10px;color:var(--ink-900);background:#fff;
}
.brochure-form{display:flex;flex-direction:column;gap:7px;}
.brochure-form input[type="text"],
.brochure-form input[type="email"],
.brochure-form input[type="tel"]{
  width:100%;border:1px solid #E5E5E5;border-radius:10px;
  padding:9px 13px;font-size:13.5px;color:var(--ink-900);background:#fff;
  outline:none;transition:border-color .2s ease;
}
.brochure-form input::placeholder{color:var(--ink-500);}
.brochure-form input:focus{border-color:var(--lime-red);}
.brochure-phone{display:flex;gap:6px;width:100%;align-items:stretch;}
.brochure-phone .cc{
  display:flex;align-items:center;padding:0 12px;flex:none;
  border:1px solid #E5E5E5;border-radius:10px;
  font-size:13.5px;font-weight:600;color:var(--ink-900);background:#fff;
}
.brochure-phone .lime-cp-trigger {
  border: 1px solid #E5E5E5 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  padding: 0 10px !important;
  height: 42px !important;
  font-size: 13.5px !important;
  color: var(--ink-900, #1A1A1A) !important;
  box-sizing: border-box !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
.brochure-phone .lime-cp-trigger:hover {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}
.brochure-phone .lime-cp-trigger:focus-visible,
.brochure-phone .lime-cp-trigger[aria-expanded="true"] {
  border-color: var(--lime-red, #ED3237) !important;
  box-shadow: 0 0 0 3px rgba(237, 50, 55, 0.12) !important;
  background: #ffffff !important;
}
.brochure-phone input {
  flex: 1;
  min-width: 0;
  height: 42px;
  box-sizing: border-box;
}
.brochure-consent{
  display:flex;gap:9px;align-items:flex-start;
  font-size:11.5px;line-height:1.45;color:var(--ink-500);cursor:pointer;
}
.brochure-consent input{margin:2px 0 0;accent-color:var(--lime-red);flex:none;}
.btn-brochure-submit{
  width:100%;border:none;cursor:pointer;background:var(--lime-red);color:#fff;
  font-size:14.5px;font-weight:700;padding:11px 18px;border-radius:var(--r-full);
  transition:background .25s ease;
}
.btn-brochure-submit:hover{background:var(--ink-900);}
.brochure-trust{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
  border-top:1px solid #E5E5E5;padding-top:8px;
}
.brochure-trust span{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--ink-900);}
.brochure-trust svg{stroke:var(--lime-red);flex:none;}

@media (max-width:1100px){ .cur-rail{display:none;} }

.curriculum{padding:72px 0;background:#fff;}
.cur-head-block{margin-bottom:44px;}
.cur-head-block h2{
  text-transform:none;letter-spacing:-.02em;
  font-size:clamp(28px,3.6vw,44px);font-weight:800;line-height:1.15;margin:0 0 14px;
}
.cur-head-block p{margin:0;color:var(--ink-500);font-size:17px;line-height:1.6;max-width:760px;}
.cur-head-badge{display:inline-flex;align-items:center;background:#ED3237;color:#fff;font-size:13px;font-weight:600;padding:7px 18px;border-radius:9999px;margin-bottom:16px;}
.cur-lectures-note{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#0f172a;margin-top:14px;}
.cur-lectures-dot{width:7px;height:7px;border-radius:50%;background:#ED3237;flex:none;}
.skills-gain-section{padding:20px 0 70px;background:#fff;}
.skills-gain-head{max-width:980px;margin:0 auto 36px;padding:0 16px;text-align:left;}
.skills-gain-title{font-size:clamp(28px,3.6vw,44px);font-weight:800;margin:12px 0 0;color:#111827;letter-spacing:-.02em;line-height:1.15;text-transform:none;font-family:'Poppins',sans-serif;}
.skills-gain-red{color:#ED3237;}
.skills-gain-grid{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px 10px;max-width:980px;margin:0 auto;padding:0 16px;}
.skills-gain-grid .skill-pill{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:9999px;padding:8px 16px;font-size:13.5px;font-weight:600;color:#1e293b;white-space:nowrap;line-height:1.3;}
@media(max-width:640px){
  .skills-gain-section{padding:16px 0 44px;}
  .skills-gain-grid{gap:10px;}
  .skills-gain-grid .skill-pill{padding:7px 13px;font-size:12.5px;white-space:normal;}
}

.upcoming-batch-section{padding:70px 0;background:#fff;text-align:center;}
.upcoming-batch-title{font-size:clamp(24px,3.4vw,38px);font-weight:800;color:#0f172a;margin:0 0 36px;}
.upcoming-batch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto;padding:0 16px;}
.upcoming-batch-card{background:#fff;border:1px solid #e5e5e5;border-radius:16px;padding:24px;text-align:left;box-shadow:0 2px 10px rgba(0,0,0,.03);}
.upcoming-batch-badge{display:inline-block;background:#ED3237;color:#fff;font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:9999px;margin-bottom:14px;}
.upcoming-batch-card h3{font-size:19px;font-weight:800;color:#0f172a;margin:0 0 6px;}
.upcoming-batch-days{font-size:13.5px;color:#64748b;margin:0 0 4px;}
.upcoming-batch-duration{font-size:13.5px;color:#64748b;margin:0 0 12px;}
.upcoming-batch-time{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:#0f172a;}
.upcoming-batch-dot{width:7px;height:7px;border-radius:50%;background:#ED3237;flex:none;}
@media(max-width:820px){
  .upcoming-batch-grid{grid-template-columns:1fr;}
  .upcoming-batch-section{padding:44px 0;}
}

.cur-list{position:relative;display:flex;flex-direction:column;gap:22px;}
.cur-card{
  background:#fff;border:1px solid #E5E5E5;border-radius:22px;
  box-shadow:0 1px 2px rgba(0,0,0,.03), 0 10px 30px rgba(0,0,0,.05);
  overflow:hidden;
}
.cur-head{
  width:100%;background:none;border:none;cursor:pointer;text-align:left;
  display:flex;align-items:flex-start;gap:20px;padding:26px 26px;
}
.cur-head-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px;}
.cur-level{
  align-self:flex-start;
  background:rgba(227,30,36,.09);border:1px solid rgba(227,30,36,.22);
  color:var(--lime-red);font-size:12px;font-weight:600;
  padding:6px 14px;border-radius:var(--r-full);
}
.cur-title{
  text-transform:none;letter-spacing:-.01em;
  font-size:20px;font-weight:700;line-height:1.3;margin:0;color:var(--ink-900);
}
.cur-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.cur-pill{
  background:var(--lime-red);color:#fff;font-size:12px;font-weight:600;
  padding:6px 15px;border-radius:var(--r-full);
}
.cur-fact{font-size:13.5px;color:var(--ink-500);}
.cur-fact strong{color:var(--ink-900);font-weight:600;}
.cur-outcome{color:var(--ink-500);}
.cur-chev{
  flex:none;width:38px;height:38px;border-radius:12px;
  background:rgba(227,30,36,.09);color:var(--lime-red);
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s ease, background .25s ease;
}
.cur-head[aria-expanded="true"] .cur-chev{transform:rotate(180deg);background:rgba(227,30,36,.16);}

.cur-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1);}
.cur-card.open .cur-body{grid-template-rows:1fr;}
.cur-body-inner{
  overflow:hidden;
  display:grid;grid-template-columns:1.15fr .85fr;gap:40px;
  padding:0 26px;
}
.cur-card.open .cur-body-inner{padding:4px 26px 30px;border-top:1px solid #E5E5E5;margin-top:0;}

.cur-topics{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:16px;}
.cur-topics li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--ink-900);}
.cur-tick{
  flex:none;width:20px;height:20px;border-radius:50%;background:var(--lime-red);
  display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.cur-learn{display:flex;flex-direction:column;}
/* locked preview: the rest of the syllabus blurs out behind an unlock CTA */
.cur-locked{position:relative;margin-top:16px;}
.cur-topics-blur{
  margin-top:0;
  filter:blur(4.5px);opacity:.5;
  pointer-events:none;user-select:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.55) 55%,transparent 100%);
          mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.55) 55%,transparent 100%);
}
.cur-locked-cta{
  position:absolute;inset:0;z-index:2;
  display:flex;align-items:center;justify-content:center;
}
.btn-unlock{
  background:var(--lime-red);color:#fff;border:none;cursor:pointer;
  font-size:14.5px;font-weight:700;padding:14px 30px;border-radius:var(--r-full);
  box-shadow:0 8px 24px rgba(227,30,36,.3);
  transition:background .25s ease, transform .25s ease;
}
.btn-unlock:hover{background:var(--ink-900);transform:translateY(-2px);}
.cur-side{margin-top:22px;}
.cur-side-label{
  font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-900);margin-bottom:12px;
}
.cur-proj-label{margin-top:26px;letter-spacing:0;text-transform:none;font-size:15px;}
.cur-tools{display:flex;flex-wrap:wrap;gap:8px;}
.cur-tools span{
  background:#fff;border:1px solid #E5E5E5;border-radius:var(--r-full);
  padding:6px 14px;font-size:13px;color:var(--ink-900);
}
.cur-proj{margin:0;color:var(--ink-500);font-size:14px;line-height:1.6;}

/* collapsed preview: later modules fade out behind the CTA */
.cur-list.is-collapsed .cur-card:nth-child(n+4){display:none;}
.cur-list.is-collapsed .cur-card:nth-child(3){
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 30%,transparent 92%);
          mask-image:linear-gradient(to bottom,#000 0,#000 30%,transparent 92%);
}
.cur-toggle-wrap{display:flex;justify-content:center;margin-top:-26px;position:relative;z-index:2;}
.cur-list:not(.is-collapsed) + .cur-toggle-wrap{margin-top:34px;}
.btn-cur-toggle{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--lime-red);color:#fff;border:none;cursor:pointer;
  font-size:15px;font-weight:600;padding:17px 38px;border-radius:var(--r-full);
  box-shadow:0 8px 24px rgba(227,30,36,.28);
  transition:background .25s ease, transform .25s ease;
}
.btn-cur-toggle:hover{background:var(--ink-900);transform:translateY(-2px);}
.btn-cur-toggle svg{transition:transform .3s ease;}
.btn-cur-toggle[aria-expanded="true"] svg{transform:rotate(180deg);}

@media(max-width:960px){
  .curriculum{padding:48px 0;}
  .cur-body-inner{grid-template-columns:1fr;gap:8px;}
  .cur-head{padding:22px 20px;gap:14px;}
  .cur-card.open .cur-body-inner{padding:4px 20px 26px;}
  .cur-title{font-size:18px;}
}
@media(max-width:680px){
  .cur-meta{gap:10px;}
  .cur-fact{font-size:12.5px;width:100%;}
  .cur-topics li{font-size:13.5px;}
  .btn-unlock{font-size:13.5px;padding:12px 22px;}
  .btn-cur-toggle{width:100%;justify-content:center;padding:15px 20px;}
  .cur-toggle-wrap{padding:0 4px;}
}

/* ===== 2-COLUMN BROCHURE POPUP MODAL (1:1 IMAGE + FORM MATCHING REFERENCE) ===== */
.curr-modal-overlay {
  position: fixed; inset: 0; background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px);
  z-index: 99999; display: flex; align-items: center; justify-content: center;
  padding: 16px; opacity: 0; pointer-events: none; transition: opacity .25s ease;
}
.curr-modal-overlay.active { opacity: 1; pointer-events: auto; }
.curr-modal-card {
  background: #ffffff; border-radius: 20px; max-width: 760px; width: 95%;
  max-height: 90vh; overflow: hidden; padding: 0; position: relative;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28); transform: translateY(20px) scale(0.96);
  transition: transform .25s cubic-bezier(0.16, 1, 0.3, 1);
}
.curr-modal-overlay.active .curr-modal-card { transform: translateY(0) scale(1); }
.curr-modal-close {
  position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border-radius: 50%;
  background: rgba(0, 0, 0, 0.06); border: none; font-size: 20px; line-height: 1; display: flex;
  align-items: center; justify-content: center; cursor: pointer; color: #111111; z-index: 20;
  transition: background .2s, color .2s, transform .2s;
}
.curr-modal-close:hover { background: var(--lime-red, #ED3237); color: #ffffff; transform: rotate(90deg); }

.curr-modal-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: stretch;
  min-height: 100%;
}
.curr-modal-left {
  position: relative;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 10px 18px 18px;
  overflow: hidden;
}
.curr-modal-thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  background: #0b0202;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 0;
}
.curr-modal-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 16px;
}
.curr-modal-right {
  padding: 22px 24px 20px 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-y: auto;
  max-height: 90vh;
}
.curr-modal-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #111111;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  border-radius: 9999px;
  margin-bottom: 8px;
  width: fit-content;
}
.curr-modal-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lime-red, #ED3237);
}
.curr-modal-head h3 {
  font-size: 20px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 4px;
  line-height: 1.25;
}
.curr-modal-head p {
  font-size: 12px;
  color: #555555;
  margin: 0 0 12px;
  line-height: 1.4;
}
.curr-modal-form {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.curr-form-group {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.curr-form-group label {
  font-size: 10.5px;
  font-weight: 700;
  color: #222222;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.curr-modal-form input[type="text"],
.curr-modal-form input[type="email"],
.curr-modal-form input[type="tel"] {
  width: 100%;
  padding: 10px 13px;
  background: #ffffff;
  border: 1.5px solid #E2E4E8;
  border-radius: 9px;
  font-family: inherit;
  font-size: 13.5px;
  color: #1A1A1A;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
}
.curr-modal-form input::placeholder { color: #8A909A; }
.curr-modal-form input:focus {
  border-color: var(--lime-red, #ED3237);
  box-shadow: 0 0 0 3px rgba(237, 50, 55, 0.12);
}
.curr-phone-row { display: flex; gap: 6px; width: 100%; }
.curr-phone-prefix,
select.curr-phone-prefix,
select.curr-country-select {
  padding: 10px 8px;
  background: #F4F5F7;
  border: 1.5px solid #E2E4E8;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700;
  color: #1A1A1A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  gap: 4px;
  cursor: pointer;
  outline: none;
  font-family: inherit;
  -webkit-appearance: menulist;
  appearance: menulist;
}
select.curr-phone-prefix:hover,
select.curr-country-select:hover {
  background: #EAECEF;
}
.curr-phone-row .lime-cp-trigger {
  border: 1.5px solid #E2E4E8 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  padding: 0 10px !important;
  height: 42px !important;
  font-size: 13.5px !important;
  color: #1A1A1A !important;
  box-sizing: border-box !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
.curr-phone-row .lime-cp-trigger:hover {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
}
.curr-phone-row .lime-cp-trigger:focus-visible,
.curr-phone-row .lime-cp-trigger[aria-expanded="true"] {
  border-color: var(--lime-red, #ED3237) !important;
  box-shadow: 0 0 0 3px rgba(237, 50, 55, 0.12) !important;
  background: #ffffff !important;
}
.curr-phone-row input { flex: 1; min-width: 0; }
.curr-field-hint {
  font-size: 10.5px;
  color: #888888;
  margin-top: 1px;
}
.curr-consent {
  display: flex;
  gap: 7px;
  align-items: flex-start;
  font-size: 10.5px;
  line-height: 1.35;
  color: #555555;
  cursor: pointer;
  margin-top: 1px;
}
.curr-consent input {
  margin-top: 2px;
  flex: none;
  accent-color: var(--lime-red, #ED3237);
  width: 14px;
  height: 14px;
}
.curr-btn-submit {
  width: 100%;
  background: var(--lime-red, #ED3237);
  color: #ffffff;
  border: none;
  cursor: pointer;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 3px;
  transition: background .2s, transform .2s;
  box-shadow: 0 6px 18px rgba(237, 50, 55, 0.28);
}
.curr-btn-submit:hover {
  background: #000000;
  transform: translateY(-1px);
}
.curr-trust-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 600;
  color: #333333;
}
.curr-trust-row span { display: flex; align-items: center; gap: 4px; }
.curr-trust-row .tick { color: var(--lime-red, #ED3237); font-weight: 800; font-size: 12px; }

@media (max-width: 720px) {
  .curr-modal-card { max-width: 440px !important; }
  .curr-modal-grid { grid-template-columns: 1fr; }
  .curr-modal-left { display: none; }
  .curr-modal-right { padding: 14px 16px 18px; }
  .curr-modal-close { top: 10px; right: 10px; }
}

/* ==========================================================================
   ABOUT LIME DIGITAL INSTITUTE OVERVIEW SECTION (HOMEPAGE)
   ========================================================================== */
.about-overview-section {
  padding: 72px 0 20px;
  background: #FFFFFF;
}
.about-overview-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 52px;
  align-items: center;
}
.about-overview-media {
  position: relative;
}
.about-overview-img-wrap {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 36px -8px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.about-overview-img {
  width: 100%;
  height: 420px;
  object-fit: contain;
  object-position: center center;
  display: block;
  transition: transform 0.3s ease;
}
.about-overview-img-wrap:hover .about-overview-img {
  transform: scale(1.02);
}
.about-overview-content {
  text-align: left;
}
.about-overview-eyebrow {
  font-size: 13px;
  font-weight: 700;
  color: var(--lime-red, #ED3237);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-family: 'Poppins', sans-serif;
  display: inline-block;
}
.about-overview-title {
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 800;
  line-height: 1.22;
  color: var(--ink-900, #212529);
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  font-family: 'Poppins', sans-serif;
}
.about-overview-title span {
  color: var(--lime-red, #ED3237);
}
.about-overview-lead {
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--ink-700, #343a40);
  font-weight: 500;
  margin-bottom: 14px;
}
.about-overview-desc {
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--ink-500, #6c757d);
  margin-bottom: 0;
}

@media (max-width: 980px) {
  .about-overview-section { padding: 44px 0 16px; }
  .about-overview-grid { grid-template-columns: 1fr; gap: 28px; }
  .about-overview-img { height: 320px; }
}
@media (max-width: 600px) {
  .about-overview-img { height: 260px; }
}

/* ==========================================================================
   WHY LIME INSTITUTE SECTION
   ========================================================================== */
.why-lime-section {
  padding: 72px 0 40px;
  background: #FFFFFF;
}
.why-lime-header {
  text-align: left;
  margin-bottom: 44px;
}
.why-lime-eyebrow {
  font-size: 14px;
  font-weight: 600;
  color: var(--lime-red, #ED3237);
  letter-spacing: 0.02em;
  margin-bottom: 12px;
  font-family: 'Poppins', sans-serif;
}
.why-lime-title {
  font-size: clamp(28px, 3.8vw, 42px);
  font-weight: 800;
  line-height: 1.2;
  color: var(--ink-900);
  letter-spacing: -0.02em;
  margin: 0 0 14px;
  font-family: 'Poppins', sans-serif;
}
.why-lime-title span {
  color: var(--lime-red, #ED3237);
}
.why-lime-desc {
  font-size: 15.5px;
  line-height: 1.6;
  color: #4B5563;
  max-width: 800px;
  margin: 0;
  font-family: 'Poppins', sans-serif;
}
.why-lime-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.why-lime-card {
  background: #FFFFFF;
  border: 1px solid #ECEEF2;
  border-radius: 16px;
  padding: 34px 24px 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
}
.why-lime-card:hover {
  transform: translateY(-3px);
  border-color: #D1D5DB;
}
.why-lime-icon-wrap {
  width: 84px;
  height: 84px;
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.why-lime-icon {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block;
}
.why-lime-card-title {
  font-size: 17.5px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 10px;
  line-height: 1.3;
  font-family: 'Poppins', sans-serif;
}
.why-lime-card-text {
  font-size: 13.5px;
  line-height: 1.55;
  color: #4B5563;
  margin: 0;
  font-family: 'Poppins', sans-serif;
}

@media (max-width: 1024px) {
  .why-lime-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
}
@media (max-width: 640px) {
  .why-lime-section {
    padding: 48px 0 24px;
  }
  .why-lime-header {
    margin-bottom: 32px;
  }
  .why-lime-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  /* Icon-left, text-right card — matches courses.html's #who mobile layout */
  .why-lime-card {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-areas: "icon title" "icon text";
    align-items: start;
    column-gap: 14px;
    row-gap: 4px;
    padding: 12px;
    border-radius: 14px;
    text-align: left;
  }
  .why-lime-icon-wrap {
    grid-area: icon;
    width: 64px;
    height: 64px;
    margin-bottom: 0;
  }
  .why-lime-icon {
    width: 64px;
    height: 64px;
  }
  .why-lime-card-title {
    grid-area: title;
    margin: 0;
    font-size: 15px;
  }
  .why-lime-card-text {
    grid-area: text;
    font-size: 12.5px;
  }
}

/* ==========================================================================
   WHERE ARE YOU RIGHT NOW? SECTION
   ========================================================================== */
.where-now-section {
  padding: 44px 0 72px;
  background: #FAFAFB;
  border-top: 1px solid #F1F3F5;
  border-bottom: 1px solid #F1F3F5;
}
.where-now-header {
  text-align: center;
  margin-bottom: 44px;
}
.where-now-title {
  font-size: clamp(26px, 3.2vw, 36px);
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
  font-family: 'Poppins', sans-serif;
}
.where-now-subtitle {
  font-size: 15.5px;
  color: #4B5563;
  margin: 0;
  font-family: 'Poppins', sans-serif;
}
.where-now-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  max-width: 1080px;
  margin: 0 auto;
}
.where-now-card {
  border-radius: 16px;
  padding: 36px 32px;
  transition: transform 0.25s ease;
}
.where-now-card.without-lime {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}
.where-now-card.with-lime {
  background-color: #120302;
  background-image: 
    linear-gradient(135deg, rgba(16, 2, 2, 0.92) 0%, rgba(42, 5, 5, 0.84) 42%, rgba(135, 14, 12, 0.62) 100%),
    url('BG/BG9.jpg');
  background-size: cover;
  background-position: right bottom;
  background-repeat: no-repeat;
  border: 1.5px solid rgba(237, 50, 55, 0.45);
  box-shadow: 0 16px 44px -8px rgba(237, 50, 55, 0.32), 0 4px 16px rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
}
.where-now-card.with-lime::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.4) 0%, rgba(237, 50, 55, 0.8) 50%, transparent 100%);
  pointer-events: none;
}
.where-tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: 9999px;
  margin-bottom: 24px;
  font-family: 'Poppins', sans-serif;
}
.where-tag.gray {
  background: #E9ECEF;
  color: #495057;
}
.where-tag.red {
  background: var(--lime-red, #ED3237);
  color: #FFFFFF;
  box-shadow: 0 4px 14px rgba(237, 50, 55, 0.5);
  letter-spacing: 0.01em;
}
.where-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.where-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 14.5px;
  line-height: 1.55;
  color: #374151;
  font-family: 'Poppins', sans-serif;
}
.where-now-card.with-lime .where-item {
  color: #FFFFFF;
  font-weight: 400;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.where-icon {
  flex-shrink: 0;
  margin-top: 2px;
}
.where-now-card.with-lime .where-icon circle {
  fill: #ED3237 !important;
  stroke: #ED3237 !important;
}
.where-now-card.with-lime .where-icon path {
  stroke: #FFFFFF !important;
  stroke-width: 2.2 !important;
}

@media (max-width: 768px) {
  .where-now-section {
    padding: 24px 0 48px;
  }
  .where-now-header {
    margin-bottom: 30px;
  }
  .where-now-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .where-now-card {
    padding: 28px 20px;
  }
}

/* ==========================================================================
   OUR PHILOSOPHY SECTION
   ========================================================================== */
.our-philosophy-section {
  padding: 72px 0;
  background: #FFFFFF;
}
.philosophy-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 32px;
  align-items: stretch;
}
.philosophy-card-white {
  background: #FAFAFA;
  border: 1px solid #ECEEF2;
  border-radius: 16px;
  padding: 44px 38px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.philosophy-eyebrow {
  font-size: 13.5px;
  font-weight: 600;
  color: #6B7280;
  margin-bottom: 8px;
  font-family: 'Poppins', sans-serif;
}
.philosophy-heading {
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 700;
  color: #111827;
  margin: 0 0 16px;
  letter-spacing: -0.015em;
  font-family: 'Poppins', sans-serif;
}
.philosophy-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #4B5563;
  margin: 0 0 24px;
  font-family: 'Poppins', sans-serif;
}
.philosophy-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.philosophy-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14.5px;
  font-weight: 500;
  color: #374151;
  font-family: 'Poppins', sans-serif;
}
.philosophy-item-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.philosophy-card-red {
  background: var(--lime-red, #ED3237);
  border-radius: 16px;
  padding: 48px 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #FFFFFF;
}
.philosophy-quote {
  font-size: clamp(17px, 1.8vw, 21px);
  line-height: 1.55;
  font-weight: 500;
  margin: 0 0 24px;
  color: #FFFFFF;
  font-family: 'Poppins', sans-serif;
}
.philosophy-author {
  font-size: 15px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.92);
  font-family: 'Poppins', sans-serif;
}

@media (max-width: 900px) {
  .our-philosophy-section {
    padding: 48px 0;
  }
  .philosophy-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .philosophy-card-white,
  .philosophy-card-red {
    padding: 32px 24px;
  }
}

/* ==========================================================================
   WEEKLY LIVE SESSIONS SECTION
   ========================================================================== */
.weekly-sessions-section {
  padding: 72px 0;
  background: #FFFFFF;
  position: relative;
  overflow: hidden;
}

.weekly-sessions-grid {
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  gap: 56px;
  align-items: center;
}

.weekly-sessions-content {
  display: flex;
  flex-direction: column;
}

.weekly-sessions-heading {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(32px, 3.8vw, 46px);
  font-weight: 800;
  color: #111827;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-transform: none !important;
  margin: 0 0 20px;
}

.weekly-sessions-desc {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.68;
  color: #4B5563;
  max-width: 520px;
  margin: 0 0 36px;
}

.weekly-session-timer-box {
  display: flex;
  flex-direction: column;
}

.weekly-session-eyebrow {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--lime-red, #ED3237);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 18px;
}

.weekly-timer-grid {
  display: flex;
  align-items: flex-start;
  gap: clamp(24px, 3.8vw, 44px);
}

.weekly-timer-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 56px;
}

.weekly-timer-num {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(38px, 4.2vw, 54px);
  font-weight: 800;
  color: #111827;
  line-height: 1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  display: inline-block;
}

.weekly-timer-label {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #6B7280;
  margin-top: 8px;
  line-height: 1.2;
}

.weekly-sessions-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.weekly-device-wrap {
  position: relative;
  width: 100%;
  max-width: 580px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.weekly-device-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.16);
  border: 1px solid rgba(0, 0, 0, 0.08);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.weekly-device-wrap:hover .weekly-device-img {
  transform: translateY(-4px);
  box-shadow: 0 24px 44px rgba(0, 0, 0, 0.22);
}

@media (max-width: 991px) {
  .weekly-sessions-section {
    padding: 64px 0;
  }
  .weekly-sessions-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .weekly-sessions-desc {
    max-width: 100%;
    margin-bottom: 28px;
  }
  .weekly-timer-grid {
    gap: 28px;
  }
  .weekly-timer-num {
    font-size: clamp(34px, 8vw, 44px);
  }
  .weekly-device-wrap {
    max-width: 500px;
    margin: 0 auto;
  }
}

@media (max-width: 520px) {
  .weekly-sessions-section {
    padding: 48px 0;
  }
  .weekly-sessions-heading {
    font-size: 28px;
    margin-bottom: 14px;
  }
  .weekly-sessions-desc {
    font-size: 14.5px;
    line-height: 1.6;
    margin-bottom: 24px;
  }
  .weekly-session-eyebrow {
    font-size: 16px;
    margin-bottom: 14px;
  }
  .weekly-timer-grid {
    gap: 16px;
    justify-content: flex-start;
  }
  .weekly-timer-col {
    min-width: 48px;
  }
  .weekly-timer-num {
    font-size: 32px;
  }
  .weekly-timer-label {
    font-size: 12px;
    margin-top: 6px;
  }
}



/* ===== GLOBAL SECTION: student-testimonials carousel (portable, no page vars) ===== */
.testi-carousel-head{max-width:680px;margin:0 auto 44px;text-align:center}
.testi-carousel-head h2{font-size:clamp(28px,3.8vw,42px);font-weight:800;color:var(--ink-900);line-height:1.2;letter-spacing:-0.02em;margin:0;font-family:'Poppins',sans-serif;}
.testi-carousel-head h2 span{color:var(--lime-red,#ED3237)}
.testi-carousel-head p{color:#64748b;font-size:15px;margin-top:10px}
.testi-carousel{max-width:1060px;margin:0 auto;position:relative}
.testi-radio{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.testi-carousel-body{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:auto auto;column-gap:36px;row-gap:18px;align-items:stretch}
.testi-carousel-image{grid-column:1;grid-row:1;position:relative;z-index:0;border-radius:20px;overflow:hidden;background:#fff;height:100%;box-shadow:none;border:none}
.testi-static-img{width:100%;height:100%;object-fit:contain;display:block}
.testi-carousel-cards{grid-column:2;grid-row:1;position:relative;height:100%}
.testi-card{display:none;flex-direction:column;background:#fff;border:1.5px solid #ED3237;border-radius:20px;padding:26px 26px;box-shadow:none;box-sizing:border-box;overflow:visible;gap:14px}
.testi-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.testi-tag{display:inline-flex;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;background:#FFF5F5;color:#ED3237;padding:6px 14px;border-radius:9999px;border:1px solid rgba(237,50,55,.18)}
.testi-quote-icon{color:#FCA5A5;flex-shrink:0}
.testi-headline{font-size:19px;font-weight:800;color:#0f172a;line-height:1.3;margin:0}
.testi-story{font-size:14px;line-height:1.6;color:#475569;margin:0}
.testi-story strong{color:#0f172a}
.testi-result-badge{display:inline-flex;align-items:center;gap:8px;background:#F8FAFC;border-radius:9999px;padding:7px 14px;font-size:12px;font-weight:600;color:#1F2937}
.testi-result-dot{width:7px;height:7px;border-radius:50%;background:#ED3237;flex-shrink:0}
.testi-profile{display:flex;align-items:center;gap:14px;border-top:1px solid #F1F5F9;padding-top:14px}
.testi-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.testi-info{display:flex;flex-direction:column;gap:2px}
.testi-name{font-size:14.5px;font-weight:700;color:#0f172a}
.testi-company{font-size:12.5px;font-weight:700;color:#ED3237}
.testi-meta{font-size:11px;color:#94a3b8}
.testi-dots{grid-column:2;grid-row:2;display:flex;justify-content:center;gap:10px}
.testi-dot{width:10px;height:10px;border-radius:50%;background:#E2E8F0;border:none;cursor:pointer;transition:background .2s ease,transform .2s ease;display:block;padding:0}
.testi-dot:hover{background:#CBD5E1}
.testi-arrow{display:none}
@media(min-width:861px){
  .testi-arrow{
    display:flex;position:absolute;top:50%;transform:translateY(-50%);
    width:40px;height:40px;border-radius:50%;background:#fff;
    border:1.5px solid #E2E8F0;box-shadow:0 4px 14px rgba(0,0,0,.1);
    align-items:center;justify-content:center;color:#0f172a;cursor:pointer;z-index:10;padding:0;
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
  }
  .testi-arrow svg{width:18px;height:18px;display:block}
  .testi-arrow:hover{background:#ED3237;border-color:#ED3237;color:#fff}
  .testi-arrow-prev{left:-20px;right:auto;}
  .testi-arrow-next{right:-20px;left:auto;}
}
#testi-r0:checked ~ .testi-carousel-body .testi-card[data-slide="0"],
#testi-r1:checked ~ .testi-carousel-body .testi-card[data-slide="1"],
#testi-r2:checked ~ .testi-carousel-body .testi-card[data-slide="2"] { display:flex; }
#testi-r0:checked ~ .testi-carousel-body .testi-dots .testi-dot[data-dot="0"],
#testi-r1:checked ~ .testi-carousel-body .testi-dots .testi-dot[data-dot="1"],
#testi-r2:checked ~ .testi-carousel-body .testi-dots .testi-dot[data-dot="2"] { background:#ED3237; transform:scale(1.3); }

/* Desktop only: cross-fade the card instead of an instant display swap.
   The image and heading never move — only this card animates. */
@media(min-width:861px){
  .testi-card{
    position:absolute;inset:0;height:100%;display:flex !important;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateX(14px);
    transition:opacity .4s ease,transform .4s ease,visibility .4s;
  }
  .testi-carousel-cards.dir-next .testi-card{transform:translateX(48px);}
  .testi-carousel-cards.dir-prev .testi-card{transform:translateX(-48px);}
  #testi-r0:checked ~ .testi-carousel-body .testi-card[data-slide="0"],
  #testi-r1:checked ~ .testi-carousel-body .testi-card[data-slide="1"],
  #testi-r2:checked ~ .testi-carousel-body .testi-card[data-slide="2"] {
    opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);
  }
}
@media(max-width:860px){
  .testi-carousel-body{grid-template-columns:1fr;grid-template-rows:auto auto;gap:20px}
  .testi-carousel-image{grid-column:1;grid-row:1;aspect-ratio:4/3;height:auto}
  .testi-carousel-cards{
    grid-column:1;grid-row:2;height:auto;
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;gap:12px;padding-bottom:2px;
  }
  .testi-carousel-cards::-webkit-scrollbar{display:none}
  .testi-card{
    display:flex !important;position:static;opacity:1;visibility:visible;pointer-events:auto;transform:none;
    flex:0 0 88%;scroll-snap-align:start;height:auto;min-height:380px;padding:22px 20px;
  }
  .testi-dots{display:none}
  .testi-headline{font-size:18px}
}

/* ===== GLOBAL SECTION: alumni-videos carousel arrows + CTA (portable) ===== */
.lid-video-carousel-wrap{position:relative}
.lid-carousel-arrow{
  display:none;position:absolute;top:42%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:50%;background:rgba(15,23,42,.55);
  border:none;box-shadow:0 4px 14px rgba(0,0,0,.25);
  align-items:center;justify-content:center;
  color:#fff;cursor:pointer;z-index:5;padding:0;backdrop-filter:blur(2px);
}
.lid-carousel-arrow svg{width:20px;height:20px;display:block}
.lid-carousel-arrow:hover{background:rgba(15,23,42,.75)}
.lid-carousel-prev{left:10px}
.lid-carousel-next{right:10px}
.lid-video-cta-wrap{text-align:center;margin-top:28px}
.lid-video-cta-wrap .btn{width:auto;padding:16px 44px;font-size:15.5px}

/* ===== TRUSTED BY 800+ COMPANIES STRIP MARQUEE ===== */
.trusted-marquee-section {
  padding: 24px 0;
  background: #FFFFFF;
  border-top: 1px solid #ECEEF2;
  border-bottom: 1px solid #ECEEF2;
  overflow: hidden;
}
.trusted-marquee-container {
  display: flex;
  align-items: center;
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.trusted-marquee-label {
  font-size: 15px;
  font-weight: 600;
  color: #1F2937;
  white-space: nowrap;
  flex-shrink: 0;
  font-family: 'Poppins', sans-serif;
  letter-spacing: -0.01em;
}
.trusted-marquee-slider {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(to right, transparent 0%, #000 4%, #000 96%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 4%, #000 96%, transparent 100%);
}
.trusted-marquee-track {
  display: flex;
  align-items: center;
  gap: 16px;
  width: max-content;
  will-change: transform;
  animation: trustedMarqueeScroll 55s linear infinite;
}
/* marquee continuous scroll - no pause on hover as requested */
@keyframes trustedMarqueeScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.trusted-marquee-card {
  background: #FFFFFF;
  border: 1px solid #EEF0F2;
  border-radius: 10px;
  padding: 8px 16px;
  height: 54px;
  width: 140px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.trusted-marquee-card:hover {
  transform: translateY(-2px);
  border-color: rgba(237, 50, 55, 0.3);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}
.trusted-marquee-card img {
  max-height: 36px;
  max-width: 105px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

@media (max-width: 768px) {
  .trusted-marquee-section {
    padding: 18px 0;
  }
  .trusted-marquee-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 0;
  }
  .trusted-marquee-label {
    padding: 0 20px;
    font-size: 14.5px;
  }
  .trusted-marquee-slider {
    width: 100%;
  }
  .trusted-marquee-track {
    gap: 12px;
    animation-duration: 45s;
  }
  .trusted-marquee-card {
    height: 48px;
    width: 122px;
    padding: 6px 12px;
  }
  .trusted-marquee-card img {
    max-height: 30px;
    max-width: 90px;
  }
}
