
/* ==========================================================================
   RIVIRA TECH DESIGN SYSTEM — colors, animations, typography & components
   for www.riviratech.com
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,700&display=swap');

:root {
  /* RiviraTech Typography */
  --font-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* RiviraTech Exact Color Palette */
  --rivira-blue: #1F5FAF;         /* Royal Electric Blue */
  --rivira-purple: #0B3D7A;       /* Vibrant Purple / Violet */
  --rivira-cyan: #5AA9F0;         /* Luminous Cyan Accent */
  --rivira-dark: #08080C;         /* Ultra Deep Background */
  --rivira-dark-surface: #0E0E18; /* Surface Layer */
  --rivira-dark-card: #141424;    /* Sleek Dark Card */
  --rivira-light-bg: #F8F8F8;     /* Off-White Section */
  --rivira-light-card: #FFFFFF;   /* Pure White Card */
  --rivira-muted: #CECECE;        /* Muted Gray Text */
  --rivira-border: rgba(255, 255, 255, 0.08);
  --rivira-border-hover: rgba(11, 61, 122, 0.45);

  /* RiviraTech Gradients */
  --rivira-gradient: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  --rivira-gradient-cyan: linear-gradient(135deg, #5AA9F0 0%, #1F5FAF 50%, #0B3D7A 100%);
  --rivira-radial-glow: radial-gradient(circle, rgba(11, 61, 122, 0.25) 0%, rgba(31, 95, 175, 0.15) 50%, transparent 70%);

  /* Re-map Legacy Theme Tokens to RiviraTech Palette */
  --gold: #1F5FAF;
  --gold-light: #0B3D7A;
  --gold-pale: #5AA9F0;
  --gold-grd: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  --gold-glow: 0 4px 25px rgba(31, 95, 175, 0.45);
  --sh-gold: 0 4px 20px rgba(31, 95, 175, 0.35);
  --sh-gold-hover: 0 10px 30px rgba(11, 61, 122, 0.5);

  --color-brand-600: #1F5FAF;
  --color-brand-700: #0B3D7A;
  --color-cyan-soft: #5AA9F0;
  --color-leaf: #5AA9F0;
}

body, html {
  font-family: var(--font-body) !important;
  color: #e2e8f0;
  background-color: var(--rivira-dark);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading) !important;
  letter-spacing: -0.025em;
  font-weight: 700;
}

/* ==========================================================================
   RIVIRA KEYFRAME ANIMATIONS
   ========================================================================== */

@keyframes riviraFloat {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-8px);
  }
}

@keyframes riviraFloatReverse {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(8px);
  }
}

@keyframes riviraPulseGlow {
  0%, 100% {
    box-shadow: 0 0 10px rgba(90, 169, 240, 0.4), 0 0 20px rgba(31, 95, 175, 0.2);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 20px rgba(90, 169, 240, 0.8), 0 0 35px rgba(11, 61, 122, 0.5);
    transform: scale(1.05);
  }
}

@keyframes riviraShimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

@keyframes riviraGradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* RiviraTech Badge Pill */
.rivira-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border-radius: 9999px;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: rgba(11, 61, 122, 0.12);
  border: 1px solid rgba(11, 61, 122, 0.35);
  color: #9CC7F2;
  box-shadow: 0 0 20px rgba(11, 61, 122, 0.15);
  backdrop-filter: blur(8px);
}

.rivira-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #5AA9F0;
  box-shadow: 0 0 8px #5AA9F0;
  animation: riviraPulseGlow 2s infinite ease-in-out;
}

/* RiviraTech Buttons */
.btn-rivira-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 30px;
  border-radius: 9999px;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  color: #ffffff !important;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 15px;
  border: none;
  box-shadow: 0 4px 25px rgba(31, 95, 175, 0.45);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
  cursor: pointer;
}

.btn-rivira-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 35px rgba(11, 61, 122, 0.65);
  filter: brightness(1.12);
  color: #ffffff !important;
}

.btn-rivira-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 28px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ffffff !important;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 15px;
  backdrop-filter: blur(10px);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
  cursor: pointer;
}

.btn-rivira-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(31, 95, 175, 0.5);
  color: #5AA9F0 !important;
  transform: translateY(-2px);
}

/* RiviraTech Card Components */
.rivira-card {
  background: #11111e;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 32px;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}

.rivira-card:hover {
  border-color: rgba(11, 61, 122, 0.45);
  transform: translateY(-6px);
  box-shadow: 0 20px 45px -10px rgba(31, 95, 175, 0.25);
}

.rivira-icon-box {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(31, 95, 175, 0.2) 0%, rgba(11, 61, 122, 0.25) 100%);
  border: 1px solid rgba(11, 61, 122, 0.3);
  color: #5AA9F0;
  box-shadow: 0 4px 15px rgba(31, 95, 175, 0.2);
  margin-bottom: 20px;
  transition: all 0.3s ease;
}

.rivira-card:hover .rivira-icon-box {
  transform: scale(1.08) rotate(3deg);
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(11, 61, 122, 0.5);
}

/* RiviraTech Gradient Text */
.rivira-gradient-text {
  background: linear-gradient(135deg, #FFFFFF 20%, #A855F7 60%, #5AA9F0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline;
}

.rivira-gradient-purple-blue {
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 50%, #5AA9F0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline;
}

/* RiviraTech Section Header */
.rivira-section-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 50px auto;
}

.rivira-section-title {
  font-size: 2.6rem;
  font-weight: 800;
  line-height: 1.15;
  color: #ffffff;
  margin-top: 14px;
  margin-bottom: 16px;
  letter-spacing: -0.03em;
}

@media (max-width: 768px) {
  .rivira-section-title {
    font-size: 2rem;
  }
}

.rivira-section-desc {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #CECECE;
  font-weight: 400;
}

/* RiviraTech Hero Section Overrides */
.hero, .rt-hero, .hero-section {
  position: relative;
  background: radial-gradient(circle at 20% 15%, rgba(31, 95, 175, 0.2) 0%, transparent 45%),
              radial-gradient(circle at 80% 25%, rgba(11, 61, 122, 0.2) 0%, transparent 45%),
              radial-gradient(circle at 50% 80%, rgba(90, 169, 240, 0.12) 0%, transparent 50%),
              #08080C !important;
  overflow: hidden;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: 
    radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
  opacity: 0.7;
}

/* Floating animation on cards */
.rivira-float {
  animation: riviraFloat 6s ease-in-out infinite;
}

.rivira-float-reverse {
  animation: riviraFloatReverse 7s ease-in-out infinite;
}

/* Override existing course and rail cards with RiviraTech styling */
.rt-course-card, .rt-rail__card, .rt-editorial-card {
  background: #11111e !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 20px !important;
  transition: all 0.35s ease !important;
}

.rt-course-card:hover, .rt-rail__card:hover, .rt-editorial-card:hover {
  border-color: rgba(11, 61, 122, 0.45) !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 40px -10px rgba(31, 95, 175, 0.25) !important;
}

/* RiviraTech Footer Overrides */
.footer {
  background: radial-gradient(ellipse at 50% 0%, rgba(31, 95, 175, 0.15) 0%, transparent 60%), #08080C !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.footer a {
  color: #A0A0B2 !important;
  transition: all 0.2s ease !important;
}

.footer a:hover {
  color: #5AA9F0 !important;
  padding-left: 2px;
}

.footer-news-form input {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 9999px !important;
  color: #ffffff !important;
}

.footer-news-form button {
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%) !important;
  border-radius: 9999px !important;
}

/* Rivira Tech — website stylesheet (public site only).
   Bootstrap 5.3.3 and Font Awesome 6.5.0 are loaded from CDN in index.html.
   The admin panel does not load this file (see App.tsx). */

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --rt-ring-angle: 0deg;
      --rt-rail-focus: 1;
      --rt-rail-lift: 1;
      --rt-rail-tilt: 0;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-sky-600: oklch(58.8% .158 241.966);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-7xl: 80rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-relaxed: 1.625;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --blur-3xl: 64px;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-ink: #0b1220;
    --color-ink-soft: #111827;
    --color-muted: #1e293b;
    --color-border: #e2e8f0;
    --color-surface: #fff;
    --color-cloud: #f8fafc;
    --color-brand-50: #eff6ff;
    --color-brand-100: #dbeafe;
    --color-brand-500: #3b82f6;
    --color-brand-600: #2563eb;
    --color-brand-700: #1d4ed8;
    --color-brand-900: #1e3a8a;
    --color-cyan-glow: #06b6d4;
    --color-cyan-soft: #67e8f9;
    --color-void: #020617;
    --color-violet: #7c3aed;
    --color-slate-on-dark: #94a3b8;
    --color-gold: #f59e0b;
    --color-gold-soft: #fbbf24;
    --color-gold-deep: #0B3D7A;
    --color-gold-ink: #3b2405;
    --color-leaf: #10b981;
    --font-display: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
    --font-body: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
    --radius-card: 1rem;
    --radius-pill: 999px;
    --shadow-card: 0 10px 30px -12px #0f172a1f;
    --shadow-card-hover: 0 18px 40px -12px #2563eb40;
    --shadow-cta: inset 0 1px 0 #ffffff73,
    0 1px 2px #78350f4d,
    0 8px 20px -8px #f59e0b8c;
    --shadow-cta-hover: inset 0 1px 0 #ffffff8c,
    0 2px 4px #78350f42,
    0 14px 28px -8px #f59e0b9e;
    --shadow-cta-active: inset 0 2px 4px #78350f4d,
    0 1px 2px #78350f3d;
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  html {
    scroll-behavior: smooth;
  }

  body.rt-home {
    font-family: var(--font-body);
    color: var(--color-ink-soft);
    background: var(--color-surface);
    -webkit-font-smoothing: antialiased;
  }

  .rt-home h1, .rt-home h2, .rt-home h3, .rt-home h4 {
    font-family: var(--font-display);
    letter-spacing: -.01em;
  }
}

@layer components;

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

  .inset-x-0 {
    inset-inline: 0;
  }

  .-top-10 {
    top: calc(var(--spacing) * -10);
  }

  .-top-24 {
    top: calc(var(--spacing) * -24);
  }

  .top-0 {
    top: 0;
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-5 {
    top: calc(var(--spacing) * 5);
  }

  .-right-10 {
    right: calc(var(--spacing) * -10);
  }

  .-right-24 {
    right: calc(var(--spacing) * -24);
  }

  .right-0 {
    right: 0;
  }

  .right-5 {
    right: calc(var(--spacing) * 5);
  }

  .-bottom-36 {
    bottom: calc(var(--spacing) * -36);
  }

  .bottom-0 {
    bottom: 0;
  }

  .-left-20 {
    left: calc(var(--spacing) * -20);
  }

  .-left-24 {
    left: calc(var(--spacing) * -24);
  }

  .left-0 {
    left: 0;
  }

  .left-4 {
    left: calc(var(--spacing) * 4);
  }

  .z-10 {
    z-index: 10;
  }

  .z-40 {
    z-index: 40;
  }

  .z-\[9999\] {
    z-index: 9999;
  }

  .col-12 {
    grid-column: 12;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .m-0 {
    margin: 0;
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }

  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }

  .ms-auto {
    margin-inline-start: auto;
  }

  .me-3 {
    margin-inline-end: calc(var(--spacing) * 3);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: var(--spacing);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }

  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }

  .mt-14 {
    margin-top: calc(var(--spacing) * 14);
  }

  .mt-auto {
    margin-top: auto;
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .aspect-\[8\/7\] {
    aspect-ratio: 8 / 7;
  }

  .aspect-\[16\/9\] {
    aspect-ratio: 16 / 9;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

  .h-1 {
    height: var(--spacing);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-40 {
    height: calc(var(--spacing) * 40);
  }

  .h-56 {
    height: calc(var(--spacing) * 56);
  }

  .h-64 {
    height: calc(var(--spacing) * 64);
  }

  .h-96 {
    height: calc(var(--spacing) * 96);
  }

  .h-\[2px\] {
    height: 2px;
  }

  .h-\[420px\] {
    height: 420px;
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .max-h-\[92vh\] {
    max-height: 92vh;
  }

  .max-h-\[440px\] {
    max-height: 440px;
  }

  .min-h-0 {
    min-height: 0;
  }

  .min-h-\[3\.9em\] {
    min-height: 3.9em;
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\/3 {
    width: 66.6667%;
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-5\/6 {
    width: 83.3333%;
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-7 {
    width: calc(var(--spacing) * 7);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-9 {
    width: calc(var(--spacing) * 9);
  }

  .w-11 {
    width: calc(var(--spacing) * 11);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-20 {
    width: calc(var(--spacing) * 20);
  }

  .w-28 {
    width: calc(var(--spacing) * 28);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-40 {
    width: calc(var(--spacing) * 40);
  }

  .w-44 {
    width: calc(var(--spacing) * 44);
  }

  .w-96 {
    width: calc(var(--spacing) * 96);
  }

  .w-\[420px\] {
    width: 420px;
  }

  .w-\[min\(92vw\,64rem\)\] {
    width: min(92vw, 64rem);
  }

  .w-full {
    width: 100%;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-5xl {
    max-width: var(--container-5xl);
  }

  .max-w-7xl {
    max-width: var(--container-7xl);
  }

  .max-w-\[900px\] {
    max-width: 900px;
  }

  .max-w-lg {
    max-width: var(--container-lg);
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .min-w-0 {
    min-width: 0;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink {
    flex-shrink: 1;
  }

  .flex-shrink-0, .shrink-0 {
    flex-shrink: 0;
  }

  .grow {
    flex-grow: 1;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-1\/2 {
    --tw-translate-x: calc(1 / 2 * 100%);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

  .scroll-mt-24 {
    scroll-margin-top: calc(var(--spacing) * 24);
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-row {
    flex-direction: row;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-baseline {
    align-items: baseline;
  }

  .items-center {
    align-items: center;
  }

  .items-start {
    align-items: flex-start;
  }

  .items-stretch {
    align-items: stretch;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-1 {
    gap: var(--spacing);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-7 {
    gap: calc(var(--spacing) * 7);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }

  :where(.space-y-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }

  .gap-x-6 {
    column-gap: calc(var(--spacing) * 6);
  }

  .gap-y-1 {
    row-gap: var(--spacing);
  }

  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }

  .gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-\[var\(--color-border\)\] > :not(:last-child)) {
    border-color: var(--color-border);
  }

  .self-start {
    align-self: flex-start;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }

  .rounded-\[28px\] {
    border-radius: 28px;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .rounded-t-3xl {
    border-top-left-radius: var(--radius-3xl);
    border-top-right-radius: var(--radius-3xl);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-\[\#1F5FAF\] {
    border-color: #1F5FAF;
  }

  .border-\[rgba\(6\,182\,212\,0\.45\)\] {
    border-color: #06b6d473;
  }

  .border-\[rgba\(201\,146\,26\,0\.35\)\] {
    border-color: #1F5FAF59;
  }

  .border-\[var\(--color-border\)\] {
    border-color: var(--color-border);
  }

  .border-\[var\(--color-brand-100\)\] {
    border-color: var(--color-brand-100);
  }

  .border-\[var\(--color-brand-600\)\] {
    border-color: var(--color-brand-600);
  }

  .border-white\/10 {
    border-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/10 {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .border-white\/12 {
    border-color: #ffffff1f;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/12 {
      border-color: color-mix(in oklab, var(--color-white) 12%, transparent);
    }
  }

  .border-white\/15 {
    border-color: #ffffff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/15 {
      border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }

  .border-white\/25 {
    border-color: #ffffff40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/25 {
      border-color: color-mix(in oklab, var(--color-white) 25%, transparent);
    }
  }

  .bg-\[\#081225\] {
    background-color: #081225;
  }

  .bg-\[\#1F5FAF\] {
    background-color: #1F5FAF;
  }

  .bg-\[rgba\(6\,182\,212\,0\.12\)\] {
    background-color: #06b6d41f;
  }

  .bg-\[rgba\(10\,15\,30\,0\.9\)\] {
    background-color: #0a0f1ee6;
  }

  .bg-\[rgba\(37\,99\,235\,0\.20\)\] {
    background-color: #2563eb33;
  }

  .bg-\[rgba\(201\,146\,26\,0\.14\)\] {
    background-color: #1F5FAF24;
  }

  .bg-\[var\(--color-border\)\] {
    background-color: var(--color-border);
  }

  .bg-\[var\(--color-brand-50\)\] {
    background-color: var(--color-brand-50);
  }

  .bg-\[var\(--color-cloud\)\] {
    background-color: var(--color-cloud);
  }

  .bg-\[var\(--color-gold\)\] {
    background-color: var(--color-gold);
  }

  .bg-\[var\(--color-ink\)\] {
    background-color: var(--color-ink);
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-white\/10 {
    background-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/10 {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .bg-white\/25 {
    background-color: #ffffff40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/25 {
      background-color: color-mix(in oklab, var(--color-white) 25%, transparent);
    }
  }

  .bg-white\/95 {
    background-color: #fffffff2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/95 {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }

  .bg-white\/\[0\.06\] {
    background-color: #ffffff0f;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/\[0\.06\] {
      background-color: color-mix(in oklab, var(--color-white) 6%, transparent);
    }
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-\[var\(--color-brand-600\)\] {
    --tw-gradient-from: var(--color-brand-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-\[var\(--color-violet\)\] {
    --tw-gradient-to: var(--color-violet);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-0 {
    padding: 0;
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-7 {
    padding: calc(var(--spacing) * 7);
  }

  .p-10 {
    padding: calc(var(--spacing) * 10);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-7 {
    padding-inline: calc(var(--spacing) * 7);
  }

  .py-1 {
    padding-block: var(--spacing);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }

  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }

  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }

  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }

  .pt-14 {
    padding-top: calc(var(--spacing) * 14);
  }

  .pt-16 {
    padding-top: calc(var(--spacing) * 16);
  }

  .pt-24 {
    padding-top: calc(var(--spacing) * 24);
  }

  .pr-16 {
    padding-right: calc(var(--spacing) * 16);
  }

  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }

  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pb-14 {
    padding-bottom: calc(var(--spacing) * 14);
  }

  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }

  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[0\.9375rem\] {
    font-size: .9375rem;
  }

  .text-\[1\.05rem\] {
    font-size: 1.05rem;
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }

  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }

  .leading-\[1\.8\] {
    --tw-leading: 1.8;
    line-height: 1.8;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-\[0\.08em\] {
    --tw-tracking: .08em;
    letter-spacing: .08em;
  }

  .tracking-\[0\.14em\] {
    --tw-tracking: .14em;
    letter-spacing: .14em;
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

  .text-\[\#9FB0C7\] {
    color: #9fb0c7;
  }

  .text-\[\#60A5FA\] {
    color: #60a5fa;
  }

  .text-\[\#081225\] {
    color: #081225;
  }

  .text-\[\#C7D2E3\] {
    color: #c7d2e3;
  }

  .text-\[var\(--color-brand-700\)\] {
    color: var(--color-brand-700);
  }

  .text-\[var\(--color-cyan-soft\)\] {
    color: var(--color-cyan-soft);
  }

  .text-\[var\(--color-gold-soft\)\] {
    color: var(--color-gold-soft);
  }

  .text-\[var\(--color-ink-soft\)\] {
    color: var(--color-ink-soft);
  }

  .text-\[var\(--color-leaf\)\] {
    color: var(--color-leaf);
  }

  .text-\[var\(--color-muted\)\] {
    color: var(--color-muted);
  }

  .text-\[var\(--color-slate-on-dark\)\] {
    color: var(--color-slate-on-dark);
  }

  .text-blue-600 {
    color: var(--color-blue-600);
  }

  .text-emerald-500 {
    color: var(--color-emerald-500);
  }

  .text-muted {
    color: var(--color-muted);
  }

  .text-sky-600 {
    color: var(--color-sky-600);
  }

  .text-white {
    color: var(--color-white);
  }

  .text-white\/60 {
    color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/60 {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .text-white\/65 {
    color: #ffffffa6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/65 {
      color: color-mix(in oklab, var(--color-white) 65%, transparent);
    }
  }

  .text-white\/70 {
    color: #ffffffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/70 {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }

  .text-white\/75 {
    color: #ffffffbf;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/75 {
      color: color-mix(in oklab, var(--color-white) 75%, transparent);
    }
  }

  .text-white\/80 {
    color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/80 {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .text-white\/85 {
    color: #ffffffd9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/85 {
      color: color-mix(in oklab, var(--color-white) 85%, transparent);
    }
  }

  .capitalize {
    text-transform: capitalize;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .underline {
    text-decoration-line: underline;
  }

  .opacity-10 {
    opacity: .1;
  }

  .opacity-30 {
    opacity: .3;
  }

  .opacity-40 {
    opacity: .4;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-4 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-slate-900\/10 {
    --tw-shadow-color: #0f172b1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-slate-900\/10 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-slate-900) 10%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-\[\#1F5FAF\]\/15 {
    --tw-ring-color: oklab(69.5497% .0232541 .135759 / .15);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur-3xl {
    --tw-blur: blur(var(--blur-3xl));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  @media (hover: hover) {
    .group-hover\:translate-x-1:is(:where(.group):hover *) {
      --tw-translate-x: var(--spacing);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:scale-105:is(:where(.group):hover *) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:scale-\[1\.02\]:is(:where(.group):hover *) {
      scale: 1.02;
    }

    .group-hover\:gap-2\.5:is(:where(.group):hover *) {
      gap: calc(var(--spacing) * 2.5);
    }

    .hover\:-translate-y-0\.5:hover {
      --tw-translate-y: calc(var(--spacing) * -.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:-translate-y-1:hover {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:border-white\/30:hover {
      border-color: #ffffff4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-white\/30:hover {
        border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
      }
    }

    .hover\:bg-\[\#101d35\]:hover {
      background-color: #101d35;
    }

    .hover\:bg-\[rgba\(201\,146\,26\,0\.18\)\]:hover {
      background-color: #1F5FAF2e;
    }

    .hover\:bg-\[var\(--color-brand-50\)\]:hover {
      background-color: var(--color-brand-50);
    }

    .hover\:bg-\[var\(--color-cloud\)\]:hover {
      background-color: var(--color-cloud);
    }

    .hover\:bg-white\/20:hover {
      background-color: #fff3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/20:hover {
        background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }

    .hover\:bg-white\/50:hover {
      background-color: #ffffff80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/50:hover {
        background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
      }
    }

    .hover\:bg-white\/90:hover {
      background-color: #ffffffe6;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/90:hover {
        background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
      }
    }

    .hover\:text-\[var\(--color-brand-900\)\]:hover {
      color: var(--color-brand-900);
    }

    .hover\:text-white:hover {
      color: var(--color-white);
    }

    .hover\:shadow-md:hover {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:brightness-110:hover {
      --tw-brightness: brightness(110%);
      filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
    }
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .focus-visible\:ring-2:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-\[var\(--color-brand-600\)\]:focus-visible {
    --tw-ring-color: var(--color-brand-600);
  }

  .focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  @media (min-width: 40rem) {
    .sm\:mt-16 {
      margin-top: calc(var(--spacing) * 16);
    }

    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:flex-wrap {
      flex-wrap: wrap;
    }

    .sm\:items-center {
      align-items: center;
    }

    .sm\:justify-between {
      justify-content: space-between;
    }

    .sm\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .sm\:p-9 {
      padding: calc(var(--spacing) * 9);
    }

    .sm\:p-10 {
      padding: calc(var(--spacing) * 10);
    }

    .sm\:py-12 {
      padding-block: calc(var(--spacing) * 12);
    }

    .sm\:py-16 {
      padding-block: calc(var(--spacing) * 16);
    }

    .sm\:py-20 {
      padding-block: calc(var(--spacing) * 20);
    }

    .sm\:py-24 {
      padding-block: calc(var(--spacing) * 24);
    }

    .sm\:pt-16 {
      padding-top: calc(var(--spacing) * 16);
    }

    .sm\:pt-20 {
      padding-top: calc(var(--spacing) * 20);
    }

    .sm\:pt-28 {
      padding-top: calc(var(--spacing) * 28);
    }

    .sm\:pb-16 {
      padding-bottom: calc(var(--spacing) * 16);
    }

    .sm\:pb-20 {
      padding-bottom: calc(var(--spacing) * 20);
    }

    .sm\:pb-24 {
      padding-bottom: calc(var(--spacing) * 24);
    }

    .sm\:text-left {
      text-align: left;
    }

    .sm\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }

    .sm\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }

    .sm\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .sm\:text-5xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }

    .sm\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }

    .sm\:text-lg {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }

    .sm\:text-xl {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .lg\:mt-10 {
      margin-top: calc(var(--spacing) * 10);
    }

    .lg\:grid {
      display: grid;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:inline-flex {
      display: inline-flex;
    }

    .lg\:h-auto {
      height: auto;
    }

    .lg\:min-h-\[380px\] {
      min-height: 380px;
    }

    .lg\:-translate-y-3 {
      --tw-translate-y: calc(var(--spacing) * -3);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .lg\:grid-cols-\[1fr_2fr\] {
      grid-template-columns: 1fr 2fr;
    }

    .lg\:grid-cols-\[1fr_auto\] {
      grid-template-columns: 1fr auto;
    }

    .lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\] {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
    }

    .lg\:flex-col {
      flex-direction: column;
    }

    .lg\:items-center {
      align-items: center;
    }

    .lg\:items-end {
      align-items: flex-end;
    }

    .lg\:justify-end {
      justify-content: flex-end;
    }

    .lg\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }

    .lg\:gap-12 {
      gap: calc(var(--spacing) * 12);
    }

    .lg\:border-t-0 {
      border-top-style: var(--tw-border-style);
      border-top-width: 0;
    }

    .lg\:border-l {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }

    .lg\:border-\[var\(--color-border\)\] {
      border-color: var(--color-border);
    }

    .lg\:object-contain {
      object-fit: contain;
    }

    .lg\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

    .lg\:pt-0 {
      padding-top: 0;
    }

    .lg\:pl-8 {
      padding-left: calc(var(--spacing) * 8);
    }

    .lg\:pl-10 {
      padding-left: calc(var(--spacing) * 10);
    }

    .lg\:text-5xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }

  .rt-grid-bg {
    background-image: linear-gradient(#2563eb14 1px, #0000 1px), linear-gradient(90deg, #2563eb14 1px, #0000 1px);
    background-size: 56px 56px;
  }

  .rt-grid-bg-dark {
    background-image: linear-gradient(#06b6d41a 1px, #0000 1px), linear-gradient(90deg, #06b6d41a 1px, #0000 1px);
    background-size: 56px 56px;
  }

  .rt-glow-blue {
    background: radial-gradient(60% 60%, #2563eb59 0%, #0000 70%);
  }

  .rt-glow-cyan {
    background: radial-gradient(60% 60%, #06b6d44d 0%, #0000 70%);
  }

  .rt-section-mist {
    background: radial-gradient(70% 60% at 6% -14%, #2563eb1c 0%, #0000 62%), radial-gradient(56% 56% at 97% 114%, #7c3aed17 0%, #0000 60%), linear-gradient(#f1f6fd 0%, #ecf2fb 54%, #e6edf8 100%);
    border-top: 1px solid #06b6d438;
    border-bottom: 1px solid #06b6d438;
  }

  .rt-section-mist .rt-card {
    --rt-card-line: #0f172a17;
    box-shadow: 0 1px 2px #0f172a0a, 0 10px 26px -14px #0f172a33;
  }

  .rt-section-deep {
    isolation: isolate;
    background: radial-gradient(90% 70% at 12% -10%, #2563eb4d 0%, transparent 62%), radial-gradient(80% 70% at 92% 110%, #7c3aed42 0%, transparent 62%), var(--color-void);
    border-top: 1px solid #06b6d457;
    border-bottom: 1px solid #06b6d457;
    position: relative;
  }

  .rt-section-deep:before {
    content: "";
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(120% 78% at 50% 45%, #0000 42%, #0206179e 100%);
    position: absolute;
    inset: 0;
  }

  .rt-section-deep .rt-card {
    --rt-card-line: #06b6d433;
    --rt-card-line-hover: #06b6d4a6;
    box-shadow: 0 1px 2px #02061773, 0 20px 44px -22px #020617d9;
  }

  .rt-section-deep .rt-card:hover {
    box-shadow: 0 1px 2px #02061773, 0 26px 56px -22px #020617f2;
  }

  .rt-icon-tile {
    color: var(--color-brand-700);
    background: linear-gradient(150deg, #2563eb24, #7c3aed1a);
    border: 1px solid #2563eb2e;
    border-radius: 14px;
    transition: background .22s, color .22s, border-color .22s, transform .22s, box-shadow .22s;
    box-shadow: inset 0 1px #fffc, 0 1px 2px #0f172a0f, 0 6px 14px -9px #2563eb66;
  }

  .rt-card:hover .rt-icon-tile, .rt-icon-tile:hover {
    background: linear-gradient(150deg, var(--color-brand-600), var(--color-violet));
    color: #fff;
    border-color: #0000;
    transform: translateY(-1px);
    box-shadow: inset 0 1px #ffffff4d, 0 10px 22px -10px #7c3aed99;
  }

  .rt-icon-dot {
    color: var(--color-brand-700);
    background: linear-gradient(150deg, #2563eb21, #7c3aed17);
    border: 1px solid #2563eb33;
    transition: background .2s, color .2s, border-color .2s;
  }

  .rt-icon-dot:hover {
    background: linear-gradient(150deg, var(--color-brand-600), var(--color-violet));
    color: #fff;
    border-color: #0000;
  }

  .rt-card {
    --rt-card-line: var(--color-border);
    --rt-card-line-hover: #2563eb59;
    isolation: isolate;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    background: none;
    border: 1px solid #0000;
    transition: transform .2s, box-shadow .2s;
    position: relative;
  }

  .rt-card:after {
    content: "";
    z-index: -1;
    border-radius: inherit;
    background: var(--color-surface);
    box-shadow: inset 0 0 0 1px var(--rt-card-line);
    transition: box-shadow .2s;
    position: absolute;
    inset: -1px;
  }

  .rt-card:hover {
    box-shadow: var(--shadow-card-hover);
    transform: translateY(-4px);
  }

  .rt-card:hover:after {
    box-shadow: inset 0 0 0 1px var(--rt-card-line-hover);
  }

  .rt-card-featured {
    --rt-card-line: #2563eb47;
    --rt-card-line-hover: #2563eb8c;
    box-shadow: 0 2px 6px #0f172a0d, 0 18px 40px -18px #1e3a8a47;
  }

  .rt-card-featured:after {
    background: linear-gradient(180deg, var(--color-brand-50) 0%, var(--color-surface) 62%);
  }

  .rt-card-glow {
    --rt-card-glow: linear-gradient(315deg, #ffbc00, #ff0058);
    --rt-card-glow-rest: 1;
    --rt-card-glow-hover: 1;
    --rt-card-glow-blur: 4px;
  }

  .rt-card-glow:before {
    content: "";
    z-index: -2;
    border-radius: var(--radius-card);
    background: var(--rt-card-glow);
    width: 114%;
    height: 80%;
    opacity: var(--rt-card-glow-rest);
    filter: blur(var(--rt-card-glow-blur));
    pointer-events: none;
    transition: transform .42s cubic-bezier(.22, 1, .36, 1), opacity .42s, filter .42s;
    position: absolute;
    top: 10%;
    left: -7%;
    transform: skewX(15deg);
  }

  .rt-card-glow:hover:before {
    opacity: var(--rt-card-glow-hover);
    filter: blur(14px);
    transform: skewX(0) scale(1.04, 1.28);
  }

  @media (prefers-reduced-motion: reduce) {
    .rt-hover-lift:hover, .rt-hover-glow:hover {
      transform: none;
    }
  }

  .rt-hover-lift {
    transition: transform .22s, box-shadow .22s, filter .22s;
  }

  .rt-hover-lift:hover {
    filter: brightness(.96);
    transform: translateY(-3px);
    box-shadow: 0 12px 26px -10px #0f172a73;
  }

  .rt-hover-glow {
    transition: transform .22s, box-shadow .22s, border-color .22s;
  }

  .rt-hover-glow:hover {
    border-color: #60a5fabf;
    transform: translateY(-2px);
    box-shadow: 0 0 0 3px #60a5fa2e;
  }

  @media (prefers-reduced-motion: reduce) {
    .rt-hover-lift:hover, .rt-hover-glow:hover {
      transform: none;
    }
  }

  .rt-card-dark {
    border-radius: var(--radius-card);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #ffffff0a;
    border: 1px solid #ffffff1a;
    transition: transform .2s, border-color .2s, background .2s;
  }

  .rt-card-dark:hover {
    background: #ffffff0f;
    border-color: #06b6d473;
    transform: translateY(-4px);
  }

  .rt-cta-primary {
    background-image: linear-gradient(180deg, var(--color-gold-soft) 0%, var(--color-gold) 52%, #e89208 100%);
    background-color: var(--color-gold);
    color: var(--color-gold-ink);
    letter-spacing: -.005em;
    box-shadow: var(--shadow-cta);
    border: 1px solid #92400e47;
    font-weight: 700;
    text-decoration: none;
    transition: transform .18s, box-shadow .18s, filter .18s;
  }

  .rt-cta-primary:hover, .rt-cta-primary:focus, .rt-cta-primary:visited {
    color: var(--color-gold-ink);
    text-decoration: none;
  }

  .rt-cta-primary:hover {
    filter: saturate(1.06) brightness(1.05);
    box-shadow: var(--shadow-cta-hover);
    transform: translateY(-2px);
  }

  .rt-cta-primary:active {
    box-shadow: var(--shadow-cta-active);
    filter: brightness(.98);
    transform: translateY(0);
  }

  .rt-cta-primary svg {
    transition: transform .18s;
  }

  .rt-cta-primary:hover svg {
    transform: translateX(3px);
  }

  .rt-cta-primary:focus-visible {
    outline: 3px solid var(--color-gold-deep);
    outline-offset: 3px;
  }

  .rt-cta-secondary {
    color: var(--color-brand-700);
    border: 1.5px solid var(--color-brand-600);
    background: none;
    font-weight: 600;
    text-decoration: none;
    transition: background .18s, color .18s, transform .18s;
  }

  .rt-cta-secondary:hover, .rt-cta-secondary:focus, .rt-cta-secondary:visited {
    color: var(--color-brand-700);
    text-decoration: none;
  }

  .rt-cta-secondary:hover {
    background: var(--color-brand-50);
    transform: translateY(-2px);
  }

  .rt-cta-secondary:focus-visible {
    outline: 3px solid var(--color-brand-600);
    outline-offset: 3px;
  }

  .rt-cta-ghost-dark {
    color: #fff;
    background: #ffffff0f;
    border: 1px solid #fff3;
    font-weight: 600;
    text-decoration: none;
    transition: background .18s, border-color .18s, transform .18s;
  }

  .rt-cta-ghost-dark:hover, .rt-cta-ghost-dark:focus, .rt-cta-ghost-dark:visited {
    color: #fff;
    text-decoration: none;
  }

  .rt-cta-ghost-dark:hover {
    background: #06b6d426;
    border-color: #06b6d499;
    transform: translateY(-2px);
  }

  .rt-fade-up {
    opacity: 0;
    animation: .6s ease-out forwards rtFadeUp;
    transform: translateY(16px);
  }

  @keyframes rtFadeUp {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .rt-cursor-pop {
    transform-origin: 0 0;
    animation: .36s cubic-bezier(.34, 1.56, .64, 1) rtCursorPop;
  }

  @keyframes rtCursorPop {
    0% {
      opacity: 0;
      transform: translate(-50%) scale(.6);
    }

    60% {
      opacity: 1;
      transform: translate(-50%) scale(1.05);
    }

    100% {
      opacity: 1;
      transform: translate(-50%) scale(1);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .rt-fade-up, .rt-card, .rt-card-glow:before, .rt-card-dark, .rt-cta-primary, .rt-cta-primary svg, .rt-cta-primary:hover svg, .rt-cta-secondary, .rt-cta-ghost-dark {
      transition: none !important;
      animation: none !important;
      transform: none !important;
    }
  }
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-display: swap;
  font-weight: 100 700;
  src: url(../fonts/ibm-plex-sans-latin-wght-normal.woff2") format("woff2-variations");
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(../fonts/source-sans-3-latin-wght-normal.woff2") format("woff2-variations");
}

.enroll-page {
  font-family: var(--font-body);
  --gold: #1F5FAF;
  --gold-light: #0B3D7A;
  --gold-bg: #1F5FAF1a;
  --gold-glow: #1F5FAF4d;
  --ink: #0a0f1e;
  --ink-soft: #1e293b;
  --text: #0f172a;
  --text-sec: #475569;
  --text-muted: #64748b;
  --border: #e2e8f0;
  --surface: #fff;
  --cloud: #f8fafc;
  color: var(--text);
  background: var(--surface);
}

.enroll-announce {
  background: linear-gradient(90deg, #92400e, var(--gold), #92400e);
  text-align: center;
  background-size: 200% 100%;
  padding: 11px 16px;
  animation: 3s linear infinite shimmer;
}

.enroll-announce span {
  color: #fff;
  letter-spacing: .02em;
  align-items: center;
  gap: 8px;
  font-size: .9rem;
  font-weight: 700;
  display: inline-flex;
}

.enroll-pulse {
  background: #fff;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  animation: 1.4s ease-out infinite pulse-ring;
  display: inline-block;
  box-shadow: 0 0 #ffffffb3;
}

@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

@keyframes pulse-ring {
  0% {
    box-shadow: 0 0 #ffffffb3;
  }

  70% {
    box-shadow: 0 0 0 8px #fff0;
  }

  100% {
    box-shadow: 0 0 #fff0;
  }
}

.enroll-hero {
  background: var(--ink);
  text-align: center;
  padding: 132px 24px 56px;
  position: relative;
  overflow: hidden;
}

.enroll-hero-grid {
  background-image: linear-gradient(#ffffff0a 1px, #0000 1px), linear-gradient(90deg, #ffffff0a 1px, #0000 1px);
  background-size: 48px 48px;
  position: absolute;
  inset: 0;
}

.enroll-hero-glow-left {
  pointer-events: none;
  background: radial-gradient(circle, #1F5FAF40 0%, #0000 70%);
  border-radius: 50%;
  width: 480px;
  height: 480px;
  position: absolute;
  top: -120px;
  left: -120px;
}

.enroll-hero-glow-right {
  pointer-events: none;
  background: radial-gradient(circle, #2563eb2e 0%, #0000 70%);
  border-radius: 50%;
  width: 360px;
  height: 360px;
  position: absolute;
  bottom: -80px;
  right: -80px;
}

.enroll-hero-inner {
  z-index: 1;
  text-align: center;
  max-width: 1040px;
  margin: 0 auto;
  position: relative;
}

.enroll-badge {
  color: var(--gold-light);
  letter-spacing: .12em;
  text-transform: uppercase;
  background: #1F5FAF26;
  border: 1px solid #1F5FAF59;
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  padding: 6px 16px;
  font-size: .7rem;
  font-weight: 700;
  display: inline-flex;
}

.enroll-page .enroll-hero h1 {
  letter-spacing: -.025em;
  color: #fff;
  text-align: center;
  text-wrap: balance;
  max-width: none;
  margin-bottom: 20px;
  font-size: clamp(32px, 5.5vw, 58px);
  font-weight: 800;
  line-height: 1.12;
}

.enroll-page ::selection {
  color: #0a0f1e;
  background: #0B3D7Ab3;
}

.enroll-page :is(.enroll-hero, .enroll-section-dark, .enroll-bonuses) :is(h1, h2, h3, h4, h5, h6, p), .enroll-page .enroll-cta-section h2 {
  color: #fff;
}

.enroll-hero h1 .gold-text {
  background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold));
  -webkit-text-fill-color: transparent;
  background-size: 200%;
  -webkit-background-clip: text;
  background-clip: text;
  margin-bottom: -.14em;
  padding-bottom: .14em;
  animation: 3s linear infinite shimmer;
  display: block;
}

.enroll-page .enroll-hero p {
  color: #ffffffe6;
  max-width: 600px;
  margin: 0 auto 28px;
  font-size: 1.125rem;
  line-height: 1.7;
}

.enroll-hero-chips {
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 28px;
  display: flex;
}

.enroll-hero-chip {
  letter-spacing: .02em;
  color: #ffffffd9;
  background: #ffffff0d;
  border: 1px solid #ffffff29;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  font-size: .78rem;
  display: inline-flex;
}

.enroll-hero-chip .dot {
  background: var(--gold-light, #0B3D7A);
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.enroll-hero-chip .dot.amber {
  background: #fbbf24;
}

.enroll-cta-note {
  color: #ffffff8c;
  margin-top: 4px;
  font-size: .82rem;
}

.enroll-stats-strip {
  z-index: 5;
  background: #e2e8f0;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  max-width: 900px;
  margin: 28px auto 0;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 22px 50px -22px #0000008c;
}

.enroll-stats-strip .s {
  text-align: center;
  background: #fff;
  padding: 22px 18px;
}

.enroll-stats-strip .n {
  color: #0B3D7A;
  font-size: 1.9rem;
  font-weight: 800;
  line-height: 1;
  font-family: var(--font-display);
}

.enroll-stats-strip .l {
  color: #475569;
  margin-top: 8px;
  font-size: .8rem;
  font-weight: 500;
}

@media (max-width: 700px) {
  .enroll-stats-strip {
    grid-template-columns: 1fr 1fr;
  }
}

.enroll-hero-btns {
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-bottom: 14px;
  display: flex;
}

.enroll-btn-primary {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  padding: 15px 36px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  transition: filter .22s, transform .22s, box-shadow .22s;
  display: inline-flex;
  box-shadow: 0 8px 32px #1F5FAF73;
}

.enroll-btn-primary:hover {
  filter: brightness(1.1);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 14px 40px #1F5FAF8c;
}

.enroll-btn-primary:disabled {
  opacity: .7;
  cursor: wait;
  transform: none;
}

.enroll-btn-outline {
  color: #ffffffd9;
  cursor: pointer;
  background: none;
  border: 2px solid #ffffff40;
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  padding: 13px 32px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, border-color .2s;
  display: inline-flex;
}

.enroll-btn-outline:hover {
  color: #fff;
  background: #ffffff14;
  border-color: #fff6;
}

.enroll-btn-lg {
  padding: 17px 44px;
  font-size: 1.05rem;
}

.enroll-btn-md {
  padding: 14px 36px;
  font-size: .95rem;
}

.enroll-btn-sm {
  padding: 10px 24px;
  font-size: .85rem;
}

.enroll-btn-full {
  justify-content: center;
  width: 100%;
}

.enroll-btn-wrap-full {
  width: 100%;
}

.enroll-stats {
  border-top: 1px solid #ffffff14;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  padding: 36px 24px;
  display: flex;
}

.enroll-stat {
  text-align: center;
}

.enroll-stat-num {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}

.enroll-stat-label {
  color: #ffffff73;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-top: 4px;
  font-size: .78rem;
  font-weight: 600;
}

.enroll-urgency {
  text-align: center;
  background: linear-gradient(135deg, #7c2d12, #0B3D7A, #7c2d12) 0 0 / 200% 100%;
  padding: 20px 24px;
  animation: 4s linear infinite shimmer;
}

.enroll-urgency p {
  color: #fff;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  display: flex;
}

.enroll-urgency .strike {
  opacity: .5;
  font-size: .95rem;
  text-decoration: line-through;
}

.enroll-urgency .price-highlight {
  color: #fde68a;
  letter-spacing: -.02em;
  font-size: 1.6rem;
}

.enroll-section {
  padding: 48px 24px;
}

.enroll-section-dark {
  background: var(--ink);
  padding: 48px 24px;
  position: relative;
  overflow: hidden;
}

.enroll-section-dark:before {
  content: "";
  background-image: linear-gradient(#ffffff08 1px, #0000 1px), linear-gradient(90deg, #ffffff08 1px, #0000 1px);
  background-size: 56px 56px;
  position: absolute;
  inset: 0;
}

.enroll-section-gray {
  background: var(--cloud);
  padding: 48px 24px;
}

.enroll-container {
  max-width: 1040px;
  margin: 0 auto;
}

.enroll-container-sm {
  max-width: 760px;
  margin: 0 auto;
}

.enroll-section-label {
  text-align: center;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #0B3D7A;
  margin-bottom: 12px;
  font-size: .72rem;
  font-weight: 700;
  display: block;
}

.enroll-section-title {
  text-align: center;
  letter-spacing: -.02em;
  color: var(--text);
  margin-bottom: 16px;
  font-size: clamp(24px, 3.5vw, 38px);
  font-weight: 800;
  line-height: 1.2;
}

.enroll-section-title.light {
  color: #fff;
}

.enroll-section-sub {
  text-align: center;
  color: var(--text-sec);
  text-wrap: balance;
  max-width: 580px;
  margin: 0 auto 56px;
  font-size: 1rem;
  line-height: 1.7;
}

.enroll-section-sub.light {
  color: #ffffff8c;
}

.enroll-features-grid {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  display: grid;
}

.enroll-feature-card {
  background: var(--cloud);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 32px;
  transition: border-color .25s, box-shadow .25s;
}

.enroll-feature-card:hover {
  border-color: var(--gold-glow);
  box-shadow: 0 8px 32px #0f172a14;
}

.enroll-feature-card h3 {
  color: var(--text);
  border-bottom: 2px solid;
  border-image: linear-gradient(90deg, var(--gold), var(--gold-light)) 1;
  margin-bottom: 20px;
  padding-bottom: 12px;
  font-size: 1rem;
  font-weight: 700;
}

.enroll-check-item {
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.enroll-feature-card .enroll-check-item:last-child {
  margin-bottom: 0;
}

.enroll-check-icon {
  background: var(--gold-bg);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  display: flex;
}

.enroll-check-icon svg {
  width: 11px;
  height: 11px;
  color: var(--gold);
  stroke-width: 3px;
}

.enroll-check-item span {
  color: #334155;
  font-size: .925rem;
  line-height: 1.55;
}

.enroll-why-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  display: grid;
}

.enroll-why-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 28px 24px;
  transition: border-color .25s, transform .28s, box-shadow .28s;
}

.enroll-why-card:hover {
  border-color: var(--gold-glow);
  transform: translateY(-5px);
  box-shadow: 0 16px 40px #0f172a1a;
}

.enroll-icon-wrap {
  background: var(--gold-bg);
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  display: flex;
}

.enroll-icon-wrap svg {
  width: 22px;
  height: 22px;
  color: var(--gold);
}

.enroll-why-card h3 {
  color: var(--text);
  margin-bottom: 8px;
  font-size: .95rem;
  font-weight: 700;
}

.enroll-why-card p {
  color: var(--text-sec);
  font-size: .85rem;
  line-height: 1.65;
}

.enroll-prog-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  display: grid;
}

.enroll-prog-card {
  background: var(--cloud);
  border: 1px solid var(--border);
  text-align: center;
  border-radius: 16px;
  padding: 24px 18px;
  transition: border-color .25s, box-shadow .25s;
}

.enroll-prog-card:hover {
  border-color: #1F5FAF4d;
  box-shadow: 0 6px 24px #0f172a12;
}

.enroll-prog-icon {
  background: var(--gold-bg);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  margin: 0 auto 12px;
  display: flex;
}

.enroll-prog-icon svg {
  width: 18px;
  height: 18px;
  color: var(--gold);
}

.enroll-prog-card h3 {
  color: var(--text);
  margin-bottom: 6px;
  font-size: .82rem;
  font-weight: 700;
}

.enroll-prog-card p {
  color: var(--text-muted);
  font-size: .75rem;
  line-height: 1.55;
}

.enroll-curriculum {
  z-index: 1;
  position: relative;
}

.enroll-week {
  background: #ffffff0d;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  margin-bottom: 10px;
  transition: border-color .2s;
  overflow: hidden;
}

.enroll-week.open {
  border-color: #1F5FAF59;
}

.enroll-week-btn {
  cursor: pointer;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 20px 24px;
  transition: background .2s;
  display: flex;
}

.enroll-week-btn:hover {
  background: #ffffff08;
}

.enroll-week-left {
  text-align: left;
  align-items: center;
  gap: 16px;
  display: flex;
}

.enroll-week-tag {
  background: var(--gold-bg);
  border: 1px solid var(--gold-glow);
  color: var(--gold-light);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 100px;
  flex-shrink: 0;
  padding: 4px 12px;
  font-size: .68rem;
  font-weight: 700;
}

.enroll-week-title {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}

.enroll-week-desc {
  color: #fffc;
  margin-top: 2px;
  font-size: .82rem;
}

.enroll-week-chevron {
  color: #ffffffa6;
  flex-shrink: 0;
  transition: transform .25s;
}

.enroll-week.open .enroll-week-chevron {
  transform: rotate(180deg);
}

.enroll-week-body {
  border-top: 1px solid #ffffff0f;
  padding: 0 24px 24px;
}

.enroll-week-topics {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 16px;
  display: grid;
}

.enroll-week-topic {
  color: #ffffffeb;
  align-items: center;
  gap: 10px;
  font-size: .85rem;
  display: flex;
}

.enroll-week-topic svg {
  width: 14px;
  height: 14px;
  color: var(--gold);
  flex-shrink: 0;
}

.enroll-countdown-wrap {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-bottom: 48px;
  display: flex;
}

.enroll-countdown-label {
  color: #ffffff80;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-right: 8px;
  font-size: .85rem;
  font-weight: 600;
}

.enroll-time-block {
  text-align: center;
  background: #ffffff12;
  border: 1px solid #ffffff1f;
  border-radius: 14px;
  min-width: 72px;
  padding: 12px 8px;
}

.enroll-time-num {
  -webkit-text-fill-color: transparent;
  background: linear-gradient(#fff 0%, #fff9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1;
}

.enroll-time-sep {
  color: var(--gold);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}

.enroll-time-unit {
  color: #ffffff59;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-top: 4px;
  font-size: .65rem;
  font-weight: 700;
}

.enroll-pricing-grid {
  grid-template-columns: minmax(0, 480px);
  justify-content: center;
  gap: 20px;
  max-width: 820px;
  margin: 0 auto 8px;
  display: grid;
}

.enroll-pricing-grid.enroll-pricing-2col {
  grid-template-columns: minmax(0, 440px) minmax(0, 440px);
  align-items: stretch;
  max-width: 940px;
}

.enroll-pricing-2col .enroll-price-card {
  flex-direction: column;
  display: flex;
}

.enroll-pricing-2col .enroll-price-cta {
  margin-top: auto;
  padding-top: 24px;
}

.enroll-price-addon-foot {
  margin-top: auto;
  padding-top: 20px;
}

.enroll-price-addon-foot .enroll-price-amount {
  margin-bottom: 4px;
}

.enroll-price-addon-foot .enroll-price-cta {
  margin-top: 12px;
  padding-top: 0;
}

.enroll-price-feat {
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
  display: flex;
}

.enroll-price-feat > svg {
  flex-shrink: 0;
  margin-top: 2px;
}

.enroll-price-feat-title {
  color: #111827;
  font-size: .92rem;
  font-weight: 700;
  display: block;
}

.enroll-price-feat-desc {
  color: #475569;
  margin-top: 2px;
  font-size: .82rem;
  line-height: 1.5;
  display: block;
}

@media (max-width: 860px) {
  .enroll-pricing-grid.enroll-pricing-2col {
    grid-template-columns: minmax(0, 480px);
  }
}

.enroll-price-card {
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  border-radius: 24px;
  padding: 36px 32px;
}

.enroll-price-card.featured {
  box-shadow: 0 0 0 2px var(--gold), 0 32px 80px #1F5FAF40;
  background: #fff;
  border: none;
  position: relative;
}

.enroll-price-badge {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #fff;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 100px;
  padding: 6px 20px;
  font-size: .75rem;
  font-weight: 800;
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 4px 16px #1F5FAF66;
}

.enroll-price-tier {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff6;
  margin-bottom: 8px;
  font-size: .72rem;
  font-weight: 700;
}

.enroll-price-card.featured .enroll-price-tier {
  color: var(--gold);
}

.enroll-price-amount {
  letter-spacing: -.03em;
  color: #ffffff4d;
  margin-bottom: 4px;
  font-size: 3.2rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: line-through;
}

.enroll-price-card.featured .enroll-price-amount {
  color: var(--text);
  text-decoration: none;
}

.enroll-price-sub {
  color: #ffffff4d;
  margin-bottom: 32px;
  font-size: .85rem;
}

.enroll-price-card.featured .enroll-price-sub {
  color: var(--text-sec);
}

.enroll-price-divider {
  background: #ffffff0f;
  height: 1px;
  margin-bottom: 20px;
}

.enroll-price-card.featured .enroll-price-divider {
  background: var(--border);
}

.enroll-price-section-label {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #ffffff4d;
  margin-bottom: 12px;
  font-size: .7rem;
  font-weight: 700;
}

.enroll-price-card.featured .enroll-price-section-label {
  color: var(--text-muted);
}

.enroll-price-item {
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
  display: flex;
}

.enroll-price-item span {
  color: #ffffff59;
  font-size: .875rem;
}

.enroll-price-card.featured .enroll-price-item span {
  color: var(--text-sec);
}

.enroll-cross-icon {
  color: #f87171;
  flex-shrink: 0;
  margin-top: 2px;
}

.enroll-tick-icon {
  color: var(--gold);
  flex-shrink: 0;
  margin-top: 2px;
}

.enroll-tick-icon.green {
  color: #22c55e;
}

.enroll-price-inr {
  color: var(--text-muted);
  font-size: .85rem;
  font-weight: 500;
}

.enroll-price-main-btn {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin-top: 28px;
  padding: 15px 24px;
  font-size: 1rem;
  font-weight: 700;
  transition: filter .22s, transform .22s, box-shadow .22s;
  display: flex;
  box-shadow: 0 8px 28px #1F5FAF66;
}

.enroll-price-main-btn:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
  box-shadow: 0 14px 36px #1F5FAF80;
}

.enroll-price-main-btn:disabled {
  opacity: .7;
  cursor: wait;
}

.enroll-price-trust {
  text-align: center;
  color: var(--text-muted);
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  font-size: .78rem;
  display: flex;
}

.enroll-opt-card {
  background: #ffffff0d;
  border: 1px solid #1F5FAF40;
  border-radius: 20px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  max-width: 820px;
  margin: 0 auto;
  padding: 28px 32px;
  display: flex;
}

.enroll-opt-tag {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: 6px;
  font-size: .68rem;
  font-weight: 700;
}

.enroll-opt-card h3 {
  color: #fff;
  margin-bottom: 4px;
  font-size: 1rem;
  font-weight: 700;
}

.enroll-opt-card p {
  color: #ffffff73;
  margin-bottom: 12px;
  font-size: .85rem;
}

.enroll-opt-features {
  flex-wrap: wrap;
  gap: 16px;
  display: flex;
}

.enroll-opt-feat {
  color: #ffffffd9;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  display: flex;
}

.enroll-opt-feat svg {
  width: 14px;
  height: 14px;
  color: var(--gold);
}

.enroll-opt-price {
  text-align: right;
}

.enroll-opt-price p {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1;
}

.enroll-opt-price span {
  color: #fff9;
  font-size: .78rem;
}

.enroll-bonuses {
  background: linear-gradient(135deg, #0a0f1e, #1a1005, #0a0f1e);
  padding: 36px 24px 48px;
}

.enroll-bonus-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
  display: grid;
}

.enroll-bonus-card {
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  border-radius: 16px;
  align-items: center;
  gap: 16px;
  padding: 20px 22px;
  transition: border-color .25s, background .25s, transform .25s;
  display: flex;
  position: relative;
}

.enroll-bonus-card:hover {
  background: #1F5FAF12;
  border-color: #1F5FAF66;
  transform: translateY(-3px);
}

.enroll-bonus-card.premium {
  background: #1F5FAF0f;
  border-color: #1F5FAF59;
}

.enroll-bonus-premium-badge {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #fff;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 3px 10px;
  font-size: .62rem;
  font-weight: 800;
  position: absolute;
  top: 14px;
  right: 14px;
}

.enroll-bonus-icon {
  background: var(--gold-bg);
  border: 1px solid var(--gold-glow);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 0;
  display: flex;
}

.enroll-bonus-icon svg {
  width: 20px;
  height: 20px;
  color: var(--gold);
}

.enroll-bonus-value {
  color: var(--gold);
  letter-spacing: .06em;
  margin-bottom: 4px;
  font-size: .72rem;
  font-weight: 700;
}

.enroll-bonus-card h3 {
  color: #fff;
  flex: 1;
  margin: 0;
  font-weight: 700;
  line-height: 1.35;
}

.enroll-bonus-check {
  color: #22c55e;
  flex-shrink: 0;
}

.enroll-bonuses .enroll-bonus-card h3, .enroll-bonuses .enroll-bonus-extra h3, .enroll-section-dark .enroll-opt-card h3 {
  color: #fff;
}

.enroll-bonuses .enroll-bonus-card h3 {
  font-size: 20px;
}

.enroll-bonus-extra {
  background: #ffffff0a;
  border: 1px solid #ffffff12;
  border-radius: 18px;
  margin-top: 12px;
  padding: 24px 28px;
}

.enroll-bonus-extra h3 {
  color: #fff;
  margin-bottom: 16px;
  font-size: .95rem;
  font-weight: 700;
}

.enroll-bonus-extra-grid {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  display: grid;
}

.enroll-bonus-extra-item {
  color: #ffffff8c;
  align-items: center;
  gap: 10px;
  font-size: .82rem;
  display: flex;
}

.enroll-bonus-extra-item svg {
  color: #22c55e;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.enroll-testimonials-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  display: grid;
}

.enroll-testimonial-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 32px 28px;
  transition: box-shadow .25s, transform .25s;
  position: relative;
}

.enroll-testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px #0f172a1a;
}

.enroll-quote-mark {
  color: var(--gold-bg);
  font-size: 5rem;
  line-height: 1;
  font-family: var(--font-body);
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  font-weight: 900;
  position: absolute;
  top: 20px;
  right: 24px;
}

.enroll-testimonial-stars {
  gap: 3px;
  margin-bottom: 16px;
  display: flex;
}

.enroll-testimonial-stars svg {
  width: 16px;
  height: 16px;
  color: var(--gold);
  fill: var(--gold);
}

.enroll-testimonial-text {
  color: var(--text-sec);
  flex: 1;
  margin-bottom: 24px;
  font-size: .9rem;
  line-height: 1.75;
}

.enroll-testimonial-author {
  align-items: center;
  gap: 12px;
  display: flex;
}

.enroll-avatar {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #fff;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  font-size: 1rem;
  font-weight: 800;
  display: flex;
}

.enroll-author-name {
  color: var(--text);
  font-size: .88rem;
  font-weight: 700;
}

.enroll-author-role {
  color: var(--text-muted);
  font-size: .78rem;
}

.enroll-faq-item {
  border: 1px solid var(--border);
  border-radius: 16px;
  margin-bottom: 10px;
  transition: border-color .2s;
  overflow: hidden;
}

.enroll-faq-item.open {
  border-color: #1F5FAF59;
}

.enroll-faq-btn {
  cursor: pointer;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 20px 24px;
  transition: background .2s;
  display: flex;
}

.enroll-faq-btn:hover {
  background: var(--cloud);
}

.enroll-faq-q {
  color: var(--text);
  text-align: left;
  font-size: .93rem;
  font-weight: 600;
}

.enroll-faq-chevron {
  color: var(--text-muted);
  flex-shrink: 0;
  transition: transform .25s;
}

.enroll-faq-item.open .enroll-faq-chevron {
  color: var(--gold);
  transform: rotate(180deg);
}

.enroll-faq-body {
  grid-template-rows: 0fr;
  transition: grid-template-rows .28s cubic-bezier(.4, 0, .2, 1);
  display: grid;
}

.enroll-faq-inner {
  visibility: hidden;
  min-height: 0;
  transition: visibility .28s;
  overflow: hidden;
}

.enroll-faq-inner > p {
  border-top: 1px solid var(--border-subtle);
  color: var(--text-sec);
  margin: 0;
  padding: 16px 24px 20px;
  font-size: .88rem;
  line-height: 1.75;
}

.enroll-faq-item.open .enroll-faq-body {
  grid-template-rows: 1fr;
}

.enroll-faq-item.open .enroll-faq-inner {
  visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
  .enroll-faq-body, .enroll-faq-inner {
    transition: none;
  }
}

.enroll-cta-section {
  background: linear-gradient(135deg, #0a0f1e 0%, #0f2744 50%, #0a0f1e 100%);
  padding: 96px 24px;
  position: relative;
  overflow: hidden;
}

.enroll-cta-section:before {
  content: "";
  background-image: linear-gradient(#ffffff06 1px, #0000 1px), linear-gradient(90deg, #ffffff06 1px, #0000 1px);
  background-size: 48px 48px;
  position: absolute;
  inset: 0;
}

.enroll-cta-glow {
  pointer-events: none;
  background: radial-gradient(circle, #1F5FAF1f 0%, #0000 70%);
  border-radius: 50%;
  width: 600px;
  height: 400px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.enroll-cta-inner {
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  position: relative;
}

.enroll-cta-section h2 {
  color: #fff;
  text-align: center;
  letter-spacing: -.02em;
  margin-bottom: 12px;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 800;
}

.enroll-cta-section > .enroll-cta-inner > p {
  text-align: center;
  color: #ffffff9e;
  margin-bottom: 56px;
  font-size: 1rem;
}

.enroll-cta-cols {
  justify-content: center;
  gap: 32px;
  margin-bottom: 56px;
  display: flex;
}

.enroll-cta-col {
  text-align: left;
}

.enroll-page .enroll-cta-col h3 {
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 18px;
  font-size: .75rem;
  font-weight: 800;
}

.enroll-cta-col.pros h3 {
  color: var(--gold-light);
}

.enroll-cta-col.cons h3 {
  color: #f87171;
}

.enroll-cta-list-item {
  color: #ffffffa6;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
  font-size: .88rem;
  line-height: 1.55;
  display: flex;
}

.enroll-cta-list-item svg {
  flex-shrink: 0;
  margin-top: 2px;
}

.enroll-cta-btns {
  text-align: center;
}

.enroll-cta-sub {
  color: #ffffff94;
  text-align: center;
  margin-top: 12px;
  font-size: .8rem;
}

.enroll-signature {
  text-align: center;
  color: #ffffff59;
  margin-top: 40px;
  font-size: .9rem;
  font-style: italic;
}

.enroll-signature strong {
  color: var(--gold-light);
  font-style: normal;
}

.enroll-spinner {
  border: 2.5px solid #ffffff4d;
  border-top-color: #fff;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  animation: .7s linear infinite spin;
  display: inline-block;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 900px) {
  .enroll-why-grid, .enroll-prog-grid, .enroll-bonus-grid, .enroll-testimonials-grid {
    grid-template-columns: 1fr 1fr;
  }

  .enroll-pricing-grid {
    grid-template-columns: 1fr;
  }

  .enroll-cta-cols {
    gap: 20px;
  }

  .enroll-features-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .enroll-section, .enroll-section-dark, .enroll-section-gray, .enroll-bonuses, .enroll-cta-section {
    padding: 64px 20px;
  }

  .enroll-hero {
    padding: 92px 20px 56px;
  }

  .enroll-hero:has( + .enroll-container .enroll-stats-strip) {
    padding-bottom: 80px;
  }

  .enroll-why-grid, .enroll-prog-grid, .enroll-bonus-grid, .enroll-testimonials-grid, .enroll-week-topics {
    grid-template-columns: 1fr;
  }

  .enroll-price-card {
    padding: 28px 20px;
  }

  .enroll-bonus-extra-grid {
    grid-template-columns: 1fr;
  }

  .enroll-opt-card {
    flex-direction: column;
  }

  .enroll-opt-price {
    text-align: left;
  }

  .enroll-time-num {
    font-size: 1.7rem;
  }

  .enroll-time-block {
    min-width: 56px;
    padding: 10px 6px;
  }
}

.enroll-page .enrl-overlay {
  z-index: 1055;
  overscroll-behavior: contain;
  -webkit-backdrop-filter: blur(4px);
  background: #0a0f1e9e;
  justify-content: center;
  align-items: center;
  padding: 24px 16px;
  animation: .18s both enrl-fade;
  display: flex;
  position: fixed;
  inset: 0;
  overflow-y: auto;
}

@media (max-height: 720px) {
  .enroll-page .enrl-overlay {
    align-items: flex-start;
  }
}

@keyframes enrl-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes enrl-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.enroll-page .enrl-modal {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background: var(--surface);
  border-radius: 20px;
  flex-direction: column;
  width: 100%;
  max-width: 560px;
  max-height: calc(100dvh - 48px);
  padding: 32px;
  animation: .22s cubic-bezier(.22, .68, .36, 1) both enrl-rise;
  display: flex;
  position: relative;
  overflow-y: auto;
  box-shadow: 0 24px 60px #0a0f1e47;
}

.enroll-page .enrl-close {
  background: var(--cloud);
  width: 34px;
  height: 34px;
  color: var(--text-sec);
  cursor: pointer;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  transition: background .18s, color .18s;
  display: flex;
  position: absolute;
  top: 16px;
  right: 16px;
}

.enroll-page .enrl-close:hover {
  color: var(--text);
  background: #eef2f7;
}

.enroll-page .enrl-title {
  letter-spacing: -.02em;
  color: var(--text);
  margin: 0 0 6px;
  padding-right: 40px;
  font-size: 1.5rem;
  font-weight: 700;
}

.enroll-page .enrl-sub {
  color: var(--text-sec);
  margin: 0 0 22px;
  font-size: .93rem;
  line-height: 1.6;
}

.enroll-page .enrl-plan {
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 14px;
  margin-bottom: 14px;
  padding: 18px 20px;
}

.enroll-page .enrl-plan-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 12px;
  display: flex;
}

.enroll-page .enrl-plan-head strong {
  color: var(--text);
  font-size: 1.05rem;
  font-weight: 700;
  display: block;
}

.enroll-page .enrl-plan-head span {
  color: var(--text-muted);
  margin-top: 2px;
  font-size: .84rem;
  display: block;
}

.enroll-page .enrl-plan-price {
  text-align: right;
  flex-shrink: 0;
}

.enroll-page .enrl-plan-price b {
  color: var(--text);
  font-size: 1.5rem;
  font-weight: 700;
}

.enroll-page .enrl-plan-price span {
  color: var(--text-muted);
  font-size: .78rem;
}

.enroll-page .enrl-plan ul {
  margin: 0;
  padding-left: 20px;
}

.enroll-page .enrl-plan li {
  color: var(--text-sec);
  margin-bottom: 5px;
  font-size: .88rem;
  line-height: 1.5;
}

.enroll-page .enrl-total {
  border-top: 1px dashed var(--border);
  justify-content: space-between;
  align-items: center;
  margin: 6px 0 22px;
  padding-top: 18px;
  display: flex;
}

.enroll-page .enrl-total span {
  color: var(--text);
  font-size: 1.05rem;
  font-weight: 700;
}

.enroll-page .enrl-total b {
  color: var(--gold);
  font-size: 1.6rem;
  font-weight: 700;
}
.enroll-page .enrl-total .enrl-total-inr {
  display: block;
  margin-top: 2px;
  color: var(--text-muted);
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.35;
}
.enroll-page .enroll-form-total-inr {
  display: block;
  margin-top: 2px;
  color: var(--text-muted);
  font-size: .8em;
  font-weight: 600;
}

.enroll-page .enrl-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  display: flex;
}

.enroll-page .enrl-actions > button {
  white-space: nowrap;
  flex: none;
}

.enroll-page .enrl-btn-alt {
  border: 1px solid var(--gold, #1F5FAF);
  color: var(--gold-deep, #0B3D7A);
  cursor: pointer;
  background: none;
  border-radius: 999px;
  padding: 13px 26px;
  font-size: .95rem;
  font-weight: 700;
  transition: background .2s, border-color .2s, color .2s;
}

.enroll-page .enrl-btn-alt:hover:not(:disabled) {
  border-color: var(--gold-deep, #0B3D7A);
  background: #fffbeb;
}

.enroll-page .enrl-btn-alt:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.enroll-page .enrl-btn-ghost {
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-sec);
  cursor: pointer;
  border-radius: 999px;
  padding: 13px 26px;
  font-family: inherit;
  font-size: .92rem;
  font-weight: 600;
  transition: border-color .18s, color .18s;
}

.enroll-page .enrl-btn-ghost:hover {
  color: var(--text);
  border-color: #cbd5e1;
}

.enroll-page .enrl-btn-gold {
  background: var(--gold);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 6px 18px var(--gold-glow);
  border: 0;
  border-radius: 999px;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 9px;
  padding: 13px 30px;
  font-family: inherit;
  font-size: .95rem;
  font-weight: 700;
  transition: filter .18s, box-shadow .18s;
  display: inline-flex;
}

.enroll-page .enrl-btn-gold:hover:not(:disabled) {
  filter: brightness(1.07);
  box-shadow: 0 8px 24px var(--gold-glow);
}

.enroll-page .enrl-btn-gold:disabled {
  opacity: .6;
  cursor: default;
  box-shadow: none;
}

.enroll-page .enrl-note {
  text-align: center;
  color: var(--text-muted);
  margin-top: 16px;
  font-size: .78rem;
  line-height: 1.55;
  display: block;
}

.enroll-page .enrl-plan-chip {
  background: var(--gold-bg);
  color: var(--ink-soft);
  border-radius: 12px;
  margin-bottom: 20px;
  padding: 12px 16px;
  font-size: .86rem;
  line-height: 1.55;
}
.enroll-page .enrl-plan-chip .enroll-addon-label { display: inline !important; margin: 0 3px; }
.enroll-page .enrl-plan-chip .enroll-addon-label[hidden] { display: none !important; }

.enroll-page .enrl-form {
  flex-direction: column;
  min-height: 0;
  display: flex;
}

.enroll-page .enrl-form-scroll {
  flex: auto;
  min-height: 0;
  margin-bottom: 20px;
  padding-right: 4px;
  overflow-y: auto;
}

.enroll-page .enrl-field {
  margin-bottom: 15px;
}

.enroll-page .enrl-field label {
  color: var(--ink-soft);
  margin-bottom: 6px;
  font-size: .84rem;
  font-weight: 700;
  display: block;
}

.enroll-page .enrl-field label b {
  color: #dc2626;
}

.enroll-page .enrl-field input, .enroll-page .enrl-field select {
  border: 1px solid var(--border);
  background: var(--surface);
  width: 100%;
  color: var(--text);
  border-radius: 10px;
  padding: 12px 14px;
  font-family: inherit;
  font-size: .92rem;
  transition: border-color .18s, box-shadow .18s;
}

.enroll-page .enrl-field input::placeholder {
  color: #94a3b8;
}

.enroll-page .enrl-field input:focus, .enroll-page .enrl-field select:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px var(--gold-bg);
  outline: none;
}

.enroll-page .enrl-phone {
  gap: 10px;
  display: flex;
}

.enroll-page .enrl-phone select {
  flex: 0 0 104px;
  width: 104px;
}

.enroll-page .enrl-phone input {
  flex: auto;
}

.enroll-page .enrl-error {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 10px;
  margin: 0 0 14px;
  padding: 11px 14px;
  font-size: .85rem;
}

.enroll-page .enrl-success {
  text-align: center;
  padding: 14px 0 4px;
}

.enroll-page .enrl-success svg {
  color: #16a34a;
  margin-bottom: 14px;
}

.enroll-page .enrl-success h4 {
  color: var(--text);
  margin: 0 0 10px;
  font-size: 1.2rem;
  font-weight: 700;
}

.enroll-page .enrl-success p {
  color: var(--text-sec);
  margin: 0 0 10px;
  font-size: .92rem;
  line-height: 1.65;
}

.enroll-page .enrl-success-next {
  background: var(--cloud);
  text-align: left;
  border-radius: 12px;
  padding: 14px 16px;
}

.enroll-page .enrl-success .enrl-btn-gold {
  flex: none;
  width: 100%;
  margin-top: 16px;
}

@media (max-width: 560px) {
  .enroll-page .enrl-modal {
    border-radius: 16px;
    padding: 26px 20px;
  }

  .enroll-page .enrl-title {
    font-size: 1.3rem;
  }

  .enroll-page .enrl-actions {
    flex-direction: column-reverse;
  }

  .enroll-page .enrl-btn-ghost, .enroll-page .enrl-btn-alt, .enroll-page .enrl-btn-gold {
    width: 100%;
  }
}

.enroll-page .enrl-pay-wrap {
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 24px 16px;
  display: flex;
}

.enroll-page .enrl-pay-card {
  text-align: center;
  border: 1px solid var(--line, #e6e6e6);
  background: #fff;
  border-radius: 18px;
  width: 100%;
  max-width: 520px;
  padding: 36px 28px;
  box-shadow: 0 10px 40px #00000012;
}

.enroll-page .enrl-pay-icon {
  color: var(--gold, #b8860b);
  margin-bottom: 14px;
}

.enroll-page .enrl-pay-title {
  color: var(--ink, #1a1a1a);
  margin: 0 0 18px;
  font-size: 1.5rem;
  line-height: 1.3;
}

.enroll-page .enrl-pay-muted {
  color: var(--text-muted, #666);
  margin: 0 0 22px;
  font-size: .95rem;
  line-height: 1.6;
}

.enroll-page .enrl-pay-btn {
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin-bottom: 14px;
  text-decoration: none;
  display: inline-flex;
}

.enroll-page .enrl-pay-card .enrl-plan-chip {
  text-align: left;
}

@media (max-width: 767px) {
  .enroll-page .enroll-btn-primary, .enroll-page .enroll-btn-outline {
    white-space: nowrap;
    justify-content: center;
    min-height: 48px;
    padding: 10px 20px;
    font-size: .95rem;
  }

  .enroll-page .enroll-btn-outline {
    padding: 8px 18px;
  }

  .enroll-page .enroll-hero-btns {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .enroll-page .enroll-hero-chips {
    row-gap: 12px;
  }

  .enroll-page .enroll-hero-btns > .enroll-btn-primary, .enroll-page .enroll-hero-btns > .enroll-btn-outline, .enroll-page .enroll-hero-btns > .enroll-btn-wrap {
    width: min(260px, 100%);
  }

  .enroll-page .enroll-hero-btns > .enroll-btn-wrap > .enroll-btn-primary {
    width: 100%;
  }

  .enroll-page .enroll-cta-btns > .enroll-btn-primary, .enroll-page .enroll-cta-btns > .enroll-btn-outline {
    flex: none;
    width: min(260px, 100%);
  }
}

@media (max-width: 700px) {
  .enroll-stats-strip {
    border-radius: 12px;
    width: 92%;
    max-width: 420px;
    margin-top: -60px;
  }

  .enroll-stats-strip .s {
    padding: 20px 12px;
  }

  .enroll-stats-strip .n {
    font-size: 1.5rem;
  }

  .enroll-stats-strip .l {
    margin-top: 5px;
    font-size: .72rem;
  }

  .enroll-stats-strip svg {
    width: 20px;
    height: 20px;
  }
}

.enroll-page .enroll-container > :last-child {
  margin-bottom: 0;
}

.enroll-page .enroll-cta-section > .enroll-cta-inner > p {
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  .enroll-page .enroll-cta-btns > .enroll-btn-primary, .enroll-page .enroll-cta-btns > .enroll-btn-outline {
    justify-content: center;
    min-width: 220px;
  }
}

.enroll-access-section {
  padding-top: 56px;
  padding-bottom: 20px;
}

.enroll-access-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
}

.enroll-access-card {
  flex-direction: column;
  padding: 32px 26px;
  display: flex;
}

.enroll-access-cta {
  margin-top: auto;
  padding-top: 24px;
}

.enroll-access-cta .enroll-btn-md {
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-decoration: none;
  display: inline-flex;
}

.enroll-access-title {
  letter-spacing: -.01em;
  color: #fff;
  margin: 0 0 8px;
  font-size: 1.18rem;
  font-weight: 800;
}

.enroll-access-card.featured .enroll-access-title {
  color: var(--text);
}

.enroll-access-desc {
  color: #ffffff80;
  margin: 0 0 16px;
  font-size: .875rem;
  line-height: 1.55;
}

.enroll-access-card.featured .enroll-access-desc {
  color: var(--text-sec);
}

.enroll-access-price {
  letter-spacing: -.01em;
  color: #ffffffb8;
  font-size: 1rem;
  font-weight: 700;
}

.enroll-access-card.featured .enroll-access-price {
  color: var(--gold-deep, #9a6f12);
}

.enroll-access-foot {
  text-align: center;
  color: #ffffff73;
  max-width: 620px;
  margin: 22px auto 0;
  font-size: .85rem;
}

.enroll-access-grid {
  padding-top: 14px;
}

/* Keep the dark enrollment option cards readable beside the highlighted plan. */
.enroll-page .enroll-access-card:not(.featured) {
  background: rgba(255, 255, 255, .085);
  border-color: rgba(255, 255, 255, .16);
}
.enroll-page .enroll-access-card:not(.featured) .enroll-price-tier,
.enroll-page .enroll-access-card:not(.featured) .enroll-access-desc,
.enroll-page .enroll-access-card:not(.featured) .enroll-price-section-label {
  color: #d4dcf5;
}
.enroll-page .enroll-access-card:not(.featured) .enroll-access-price,
.enroll-page .enroll-access-card:not(.featured) .enroll-price-item span {
  color: #f1f5ff;
}
.enroll-page .enroll-access-card:not(.featured) .enroll-price-item i {
  color: #86efac;
}
.enroll-page .enroll-access-card:not(.featured) .enroll-price-divider {
  background: rgba(255, 255, 255, .18);
}

/* Lift contrast in the included-benefits panel and make its icons intentional. */
.enroll-page .enroll-bonus-card,
.enroll-page .enroll-bonus-extra {
  background: rgba(255, 255, 255, .075);
  border-color: rgba(255, 255, 255, .14);
}
.enroll-page .enroll-bonus-card h3,
.enroll-page .enroll-bonus-extra h3 {
  color: #fff;
}
.enroll-page .enroll-bonus-icon i {
  color: var(--gold-light, #fbbf24);
}
.enroll-page .enroll-bonus-extra-item {
  color: #d5def5;
}

@media (max-width: 1000px) {
  .enroll-access-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 760px;
  }
}

@media (max-width: 720px) {
  .enroll-access-grid {
    grid-template-columns: minmax(0, 480px);
    justify-content: center;
    max-width: 100%;
  }

  .enroll-access-section {
    padding-top: 44px;
  }

  .enroll-access-card {
    padding: 28px 22px;
  }

  .enroll-access-title {
    font-size: 1.1rem;
  }
}

.biz-page .biz-anchor {
  scroll-margin-top: 96px;
}

.enroll-page.biz-page .enroll-hero h1 {
  font-size: clamp(36px, 5.6vw, 58px);
}

.enroll-page.biz-page .enroll-hero p {
  max-width: 660px;
  font-size: 1.25rem;
  line-height: 1.65;
}

.biz-page .enroll-hero-chip {
  padding: 8px 14px;
  font-size: .78rem;
}

.biz-page .enroll-cta-note {
  font-size: .9rem;
}

.biz-page .enroll-hero-btns .enroll-btn-outline {
  color: #ffffffb8;
  border-width: 1px;
  border-color: #ffffff2e;
  font-weight: 500;
}

.biz-page .enroll-hero-btns .enroll-btn-outline:hover {
  color: #fff;
  border-color: #ffffff57;
}

.biz-page .enroll-section-label {
  font-size: .78rem;
}

.biz-page .enroll-section-title {
  font-size: clamp(28px, 4vw, 44px);
}

.biz-page .enroll-section-sub {
  max-width: 640px;
  font-size: 1.12rem;
}

.biz-page .enroll-stat-num {
  font-size: 2.5rem;
}

.biz-page .enroll-stat-label, .biz-page .enroll-cta-col h3 {
  font-size: .85rem;
}

.biz-page .enroll-cta-list-item {
  font-size: 1rem;
}

.biz-page .enroll-cta-sub {
  font-size: .88rem;
}

.enroll-page.biz-page .enroll-cta-section > .enroll-cta-inner > p {
  font-size: 1.12rem;
}

.biz-page .enroll-stats {
  gap: 64px;
  margin-top: 40px;
}

.biz-lbl {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-muted);
  align-items: center;
  gap: 7px;
  font-size: .875rem;
  font-weight: 800;
  display: inline-flex;
}

.biz-lbl svg {
  width: 16px;
  height: 16px;
}

.biz-lbl.gold {
  color: var(--color-gold-deep);
}

.enroll-section-dark .biz-lbl.gold {
  color: var(--gold);
}

.biz-page .biz-inline {
  color: var(--text-muted);
  margin: 0;
  font-size: .94rem;
  line-height: 1.75;
}

.biz-inline .sep {
  color: var(--color-gold-deep);
  margin: 0 3px;
}

.biz-page .biz-inline.center {
  text-align: center;
  font-size: 1.08rem;
}

.enroll-section-dark .biz-inline.center .sep {
  color: var(--gold);
}

.biz-rows {
  border-top: 1px solid var(--border);
}

.biz-row {
  border-bottom: 1px solid var(--border);
  grid-template-columns: 96px 1fr;
  gap: 28px;
  padding: 36px 0;
  display: grid;
}

.biz-row-rail {
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  display: flex;
}

.biz-row-num {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  color: var(--gold);
  -webkit-text-stroke: 1.5px var(--gold);
  font-size: 2.9rem;
  font-weight: 800;
  line-height: 1;
}

.biz-row-rail svg {
  width: 26px;
  height: 26px;
  color: var(--gold);
  opacity: .75;
}

.biz-page .biz-row-title {
  color: var(--text);
  margin: 0;
  font-size: 1.45rem;
  font-weight: 700;
}

.biz-page .biz-row-tag {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 5px;
  font-size: .79rem;
  font-weight: 700;
  display: block;
}

.biz-row-cols {
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 22px;
  display: grid;
}

.biz-page .biz-row-cols p {
  color: var(--text-sec);
  margin: 9px 0 0;
  font-size: 1rem;
  line-height: 1.75;
}

.biz-row-foot {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-top: 20px;
  display: flex;
}

.biz-page .biz-row-foot .biz-meta {
  letter-spacing: .04em;
  color: var(--text-muted);
  white-space: nowrap;
  font-size: .88rem;
  font-weight: 600;
}

@media (max-width: 760px) {
  .biz-row {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .biz-row-rail {
    flex-direction: row;
    align-items: center;
    gap: 12px;
  }

  .biz-row-cols {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.biz-split {
  border-top: 1px solid var(--border);
  grid-template-columns: repeat(4, 1fr);
  display: grid;
}

.biz-split > div {
  padding: 30px 26px;
}

.biz-split > div + div {
  border-left: 1px solid var(--border);
}

.biz-split svg {
  width: 26px;
  height: 26px;
  color: var(--gold);
}

.biz-page .biz-split h3 {
  color: var(--text);
  margin: 16px 0 0;
  font-size: 1.15rem;
  font-weight: 700;
}

.biz-page .biz-split p {
  color: var(--text-sec);
  margin: 9px 0 0;
  font-size: .96rem;
  line-height: 1.75;
}

@media (max-width: 900px) {
  .biz-split {
    grid-template-columns: 1fr 1fr;
  }

  .biz-split > div:nth-child(odd) {
    border-left: 0;
  }

  .biz-split > div:nth-child(n+3) {
    border-top: 1px solid var(--border);
  }
}

@media (max-width: 600px) {
  .biz-split {
    grid-template-columns: 1fr;
  }

  .biz-split > div {
    border-left: 0;
    padding: 26px 0;
  }

  .biz-split > div + div {
    border-left: 0;
    border-top: 1px solid var(--border);
  }
}

.biz-ruled {
  border-top: 1px solid #ffffff1f;
  border-bottom: 1px solid #ffffff1f;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.biz-cell {
  padding: 28px 24px;
}

.biz-cell:not(:nth-child(3n+1)) {
  border-left: 1px solid #ffffff1f;
}

.biz-cell:nth-child(3n+1) {
  border-left: 1px solid #0000;
}

.biz-cell:nth-child(n+4) {
  border-top: 1px solid #ffffff1f;
}

.biz-cell-framework {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  font-size: .75rem;
  font-weight: 800;
  display: block;
}

.biz-page .enroll-section-dark .biz-cell-title {
  color: #fff;
  margin: 12px 0 0;
  font-size: 1.2rem;
  font-weight: 700;
}

.biz-page .enroll-section-dark .biz-cell-sub {
  color: var(--gold-light);
  margin: 5px 0 0;
  font-size: .88rem;
  font-weight: 600;
}

.biz-page .enroll-section-dark .biz-cell-desc {
  color: #fff9;
  margin: 12px 0 0;
  font-size: .94rem;
  line-height: 1.75;
}

.biz-cell-outcomes {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.biz-cell-outcomes li {
  color: #ffffffbf;
  padding-left: 20px;
  font-size: .9rem;
  line-height: 1.7;
  position: relative;
}

.biz-cell-outcomes li:before {
  content: "—";
  color: var(--gold);
  position: absolute;
  left: 0;
}

.biz-page .enroll-section-dark .biz-cell-tech {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff6;
  margin: 16px 0 0;
  font-size: .83rem;
}

.biz-cell-tech .sep {
  color: var(--gold);
  margin: 0 3px;
}

.stack-ruled .biz-cell-framework, .biz-cell-framework.is-num {
  font-family: var(--font-display);
  letter-spacing: .01em;
  margin-bottom: 14px;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1;
}

.biz-page .enroll-section-dark .stack-ruled .biz-cell-title, .biz-page .enroll-section-dark .biz-cell-framework.is-num + .biz-cell-title {
  margin-top: 0;
}

@supports (grid-template-rows: subgrid) {
  @media (min-width: 641px) {
    .biz-page .biz-ruled > .biz-cell:has( > :last-child:nth-child(3)) {
      grid-row: span 3;
    }

    .biz-page .biz-ruled > .biz-cell:has( > :last-child:nth-child(4)) {
      grid-row: span 4;
    }

    .biz-page .biz-ruled > .biz-cell:has( > :last-child:nth-child(5)) {
      grid-row: span 5;
    }

    .biz-page .biz-ruled > .biz-cell:has( > :last-child:nth-child(6)) {
      grid-row: span 6;
    }

    .biz-page .biz-ruled > .biz-cell:has( > :last-child:nth-child(7)) {
      grid-row: span 7;
    }

    .biz-page .biz-ruled > .biz-cell:has( > :last-child:nth-child(n+3):nth-child(-n+7)) {
      grid-template-rows: subgrid;
      align-content: start;
      display: grid;
    }

    .biz-cell-outcomes {
      align-self: start;
    }
  }
}

@media (max-width: 900px) {
  .biz-ruled {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .biz-cell:not(:nth-child(3n+1)) {
    border-left: 0;
  }

  .biz-cell:nth-child(odd) {
    border-left: 1px solid #0000;
  }

  .biz-cell:nth-child(2n) {
    border-left: 1px solid #ffffff1f;
  }

  .biz-cell:nth-child(n+3) {
    border-top: 1px solid #ffffff1f;
  }
}

@media (max-width: 640px) {
  .biz-ruled {
    grid-template-columns: 1fr;
  }

  .biz-cell {
    padding: 26px 0;
    border-left: 0 !important;
  }

  .biz-cell + .biz-cell {
    border-top: 1px solid #ffffff1f;
  }
}

.biz-defs {
  border-top: 1px solid var(--border);
  grid-template-columns: 1fr 1fr;
  column-gap: 48px;
  display: grid;
}

.biz-def {
  border-bottom: 1px solid var(--border);
  grid-template-columns: 26px 1fr;
  gap: 14px;
  padding: 20px 0;
  display: grid;
}

.biz-def svg {
  width: 22px;
  height: 22px;
  color: var(--gold);
  margin-top: 2px;
}

.biz-page .biz-def h3 {
  color: var(--text);
  margin: 0;
  font-size: 1.08rem;
  font-weight: 700;
}

.biz-page .biz-def p {
  color: var(--text-sec);
  margin: 5px 0 0;
  font-size: .94rem;
  line-height: 1.65;
}

@media (max-width: 760px) {
  .biz-defs {
    grid-template-columns: 1fr;
  }
}

.biz-numbered {
  border-top: 1px solid var(--border);
  grid-template-columns: 1fr 1fr;
  column-gap: 48px;
  display: grid;
}

.biz-num-item {
  border-bottom: 1px solid var(--border);
  grid-template-columns: 52px 1fr;
  gap: 16px;
  padding: 26px 0;
  display: grid;
}

.biz-num {
  font-family: var(--font-display);
  color: var(--gold);
  -webkit-text-stroke: 1.2px var(--gold);
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.1;
}

.biz-page .biz-num-item h3 {
  color: var(--text);
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
}

.biz-page .biz-num-item p {
  color: #334155;
  margin: 9px 0 0;
  font-size: .97rem;
  line-height: 1.75;
}

@media (max-width: 760px) {
  .biz-numbered {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .biz-page .biz-split > div {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 6px 12px;
    display: grid;
  }

  .biz-page .biz-split > div > * {
    grid-column: 1 / -1;
  }

  .biz-page .biz-split > div > svg {
    grid-area: 1 / 1;
  }

  .biz-page .biz-split > div > h3 {
    grid-area: 1 / 2;
    margin: 0;
    line-height: 1.3;
  }
}

@media (min-width: 768px) {
  .biz-page .enroll-btn-primary {
    padding: 15px 40px;
    font-size: 1rem;
  }

  .biz-page .enroll-btn-outline {
    padding: 14px 32px;
    font-size: 1rem;
  }
}

.biz-page .enroll-cta-btns {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

@media (max-width: 767px) {
  .biz-page .enroll-stats {
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 10px;
    padding: 22px 8px;
  }

  .biz-page .enroll-stat {
    flex: 1 1 0;
    min-width: 0;
  }

  .biz-page .enroll-stat-num {
    font-size: 1.7rem;
  }

  .biz-page .enroll-stat-label {
    letter-spacing: .04em;
    font-size: .62rem;
  }
}

.biz-page .enroll-cta-sub {
  flex-basis: 100%;
}

@media (max-width: 767px) {
  .biz-page .enroll-hero-chips {
    grid-template-columns: minmax(0, 300px);
    justify-content: center;
    gap: 10px;
    display: grid;
  }

  .biz-page .enroll-hero-chip {
    text-align: center;
    justify-content: center;
  }
}

@media (max-width: 760px) {
  .biz-page .biz-row-foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}

.biz-page .biz-row {
  grid-template-columns: 72px 1fr;
  gap: 24px;
}

.biz-page .biz-row-cols p {
  color: #334155;
}

.biz-page .biz-row-foot .biz-meta {
  text-align: right;
  font-size: .82rem;
}

@media (max-width: 760px) {
  .biz-page .biz-row {
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 18px 12px;
    display: grid;
  }

  .biz-page .biz-row > div:not(.biz-row-rail) {
    display: contents;
  }

  .biz-page .biz-row-rail {
    grid-area: 1 / 1;
  }

  .biz-page .biz-row-title {
    grid-area: 1 / 2;
    margin: 0;
  }

  .biz-page .biz-row > div:not(.biz-row-rail) > :not(.biz-row-title) {
    grid-column: 1 / -1;
  }

  .biz-page .biz-row-num {
    font-size: 1.6rem;
    line-height: 1;
  }

  .biz-page .biz-row-rail {
    align-items: center;
    gap: 8px;
  }

  .biz-page .biz-row-rail svg {
    width: 20px;
    height: 20px;
  }
}

.biz-page .biz-cell {
  flex-direction: column;
  display: flex;
}

.biz-page .enroll-section-dark .biz-cell-tech {
  margin-top: auto;
}

.biz-page .biz-cell-outcomes:has( + .biz-cell-tech) {
  margin-bottom: 16px;
}

.biz-page .enroll-section-dark .biz-cell-tech {
  color: #ffffff8c;
}

.biz-page .biz-rows--collapsed > .biz-row:nth-child(n+6), .biz-page .biz-defs--collapsed > .biz-def:nth-child(n+7) {
  display: none;
}

.biz-page .biz-show-more {
  font: inherit;
  color: var(--text);
  background: var(--gold-bg);
  cursor: pointer;
  border: 1px solid #1F5FAF59;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin: 28px auto 0;
  padding: 12px 26px;
  font-size: .9rem;
  font-weight: 700;
  transition: background .15s, border-color .15s;
  display: flex;
}

.biz-page .biz-show-more:hover {
  background: #1F5FAF2e;
  border-color: #1F5FAF8c;
}

.biz-page .enroll-section-dark .biz-show-more {
  color: #fff;
}

.biz-page .biz-rows-num2 .biz-row-rail {
  grid-template-columns: max-content;
  place-content: start;
  justify-items: center;
  display: grid;
}

@media (max-width: 760px) {
  .biz-page .biz-rows-num2 .biz-row-rail {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    display: flex;
  }
}

.biz-tool-badges .biz-row-foot .biz-inline, .biz-page.biz-tool-badges .enroll-section-dark .biz-cell-tech {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.biz-tool-badges .biz-row-foot .biz-inline .sep, .biz-page.biz-tool-badges .enroll-section-dark .biz-cell-tech .sep {
  display: none;
}

.biz-tool-badges .biz-row-foot .biz-inline > span, .biz-page.biz-tool-badges .enroll-section-dark .biz-cell-tech > span {
  letter-spacing: .02em;
  text-transform: none;
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  padding: 6px 12px;
  font-size: .78rem;
  font-weight: 600;
  display: inline-flex;
}

.biz-tool-badges .biz-row-foot .biz-inline > span {
  background: var(--gold-bg);
  color: var(--text);
  border: 1px solid #1F5FAF59;
}

.biz-page.biz-tool-badges .enroll-section-dark .biz-cell-tech > span {
  color: #f0e3c6;
  background: #1F5FAF29;
  border: 1px solid #1F5FAF73;
}

.biz-page .biz-inline.center.points .sep {
  margin: 0 5px;
  font-size: 0;
}

.biz-page .biz-inline.center.points .sep:after {
  content: "•";
  vertical-align: .02em;
  font-size: 1rem;
  line-height: 0;
}

.biz-defs {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}

@media (max-width: 760px) {
  .biz-defs {
    width: auto;
  }
}

.cbiz-page .cbiz-topics {
  grid-template-columns: repeat(3, 1fr);
  column-gap: 24px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.cbiz-page .cbiz-topics li {
  color: var(--text-sec);
  margin: 0;
  padding: 0 0 0 20px;
  font-size: .98rem;
  line-height: 1.62;
  position: relative;
}

.cbiz-page .cbiz-topics li:before {
  content: "—";
  color: var(--gold);
  position: absolute;
  left: 0;
}

@media (max-width: 1000px) {
  .cbiz-page .cbiz-topics {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .cbiz-page .cbiz-topics {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
}

.cbiz-page .enroll-container {
  max-width: 1180px;
}

.cbiz-page .biz-row {
  grid-template-columns: 72px 1fr;
  gap: 20px;
  padding: 22px 0;
}

.cbiz-page .biz-row-rail {
  gap: 10px;
}

@media (max-width: 760px) {
  .cbiz-page .biz-row {
    grid-template-columns: auto 1fr;
    gap: 16px 12px;
  }
}

.cbiz-page .enroll-section, .cbiz-page .enroll-section-gray, .cbiz-page .enroll-section-dark {
  padding-top: 42px;
  padding-bottom: 42px;
}

.cbiz-page .cbiz-row-desc {
  color: var(--text-sec);
  margin: 9px 0 0;
  font-size: 1.02rem;
  line-height: 1.62;
}

@media (min-width: 1001px) {
  .cbiz-page .cbiz-row-desc + .cbiz-topics {
    margin-top: 22px;
  }
}

.cbiz-page .cbiz-topics.cbiz-topics-1 {
  grid-template-columns: 1fr;
  column-gap: 0;
}

.cbiz-page .biz-split.cbiz-5 {
  grid-template-columns: repeat(5, 1fr);
}

@media (max-width: 1100px) {
  .cbiz-page .biz-split.cbiz-5 {
    grid-template-columns: repeat(3, 1fr);
  }

  .cbiz-page .biz-split.cbiz-5 > div {
    border-left: 1px solid var(--border);
  }

  .cbiz-page .biz-split.cbiz-5 > div:nth-child(3n+1) {
    border-left: 0;
  }

  .cbiz-page .biz-split.cbiz-5 > div:nth-child(n+4) {
    border-top: 1px solid var(--border);
  }
}

@media (max-width: 700px) {
  .cbiz-page .biz-split.cbiz-5 {
    grid-template-columns: 1fr 1fr;
  }

  .cbiz-page .biz-split.cbiz-5 > div {
    border-left: 1px solid var(--border);
  }

  .cbiz-page .biz-split.cbiz-5 > div:nth-child(odd) {
    border-left: 0;
  }

  .cbiz-page .biz-split.cbiz-5 > div:nth-child(n+3) {
    border-top: 1px solid var(--border);
  }
}

@media (max-width: 460px) {
  .cbiz-page .biz-split.cbiz-5 {
    grid-template-columns: 1fr;
  }

  .cbiz-page .biz-split.cbiz-5 > div {
    border-left: 0;
    padding: 26px 0;
  }

  .cbiz-page .biz-split.cbiz-5 > div + div {
    border-top: 1px solid var(--border);
  }
}

.cbiz-page .biz-split.cbiz-3 {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 900px) {
  .cbiz-page .biz-split.cbiz-3 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .cbiz-page .biz-split.cbiz-3 {
    grid-template-columns: 1fr;
  }
}

.cbiz-page .biz-ruled.cbiz-ruled-2 {
  grid-template-columns: 1fr 1fr;
}

.cbiz-page .biz-ruled.cbiz-ruled-2 > .biz-cell {
  border-top: 0;
  border-left: 1px solid #0000;
}

.cbiz-page .biz-ruled.cbiz-ruled-2 > .biz-cell:nth-child(2n) {
  border-left: 1px solid #ffffff1f;
}

.cbiz-page .biz-ruled.cbiz-ruled-2 > .biz-cell:nth-child(n+3) {
  border-top: 1px solid #ffffff1f;
}

@media (max-width: 640px) {
  .cbiz-page .biz-ruled.cbiz-ruled-2 {
    grid-template-columns: 1fr;
  }

  .cbiz-page .biz-ruled.cbiz-ruled-2 > .biz-cell + .biz-cell {
    border-top: 1px solid #ffffff1f;
  }
}

.cbiz-page .enroll-section-dark .cbiz-cell-link {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  border-bottom: 1px solid #0000;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  font-size: .83rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .18s;
  display: inline-flex;
}

.cbiz-page .enroll-section-dark .cbiz-cell-link:hover {
  border-bottom-color: var(--gold);
}

.cbiz-page .cbiz-cell-link svg {
  width: 15px;
  height: 15px;
}

.cbiz-page .cbiz-row-link {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
  border-bottom: 1px solid #0000;
  align-items: center;
  gap: 7px;
  font-size: .83rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .18s;
  display: inline-flex;
}

.cbiz-page .cbiz-row-link:hover {
  border-bottom-color: var(--gold);
}

.cbiz-page .cbiz-row-link svg {
  width: 15px;
  height: 15px;
}

.cbiz-page .biz-row-num.cbiz-num-wide {
  letter-spacing: -.04em;
  font-size: 2.2rem;
}

.cbiz-page .biz-split p, .cbiz-page .biz-def p, .cbiz-page .cbiz-row-desc, .cbiz-page .cbiz-topics li {
  color: #334155;
}

.cbiz-page .enroll-section-dark .biz-cell-desc {
  color: #ffffffbd;
}

.cbiz-page .enroll-section-dark .biz-cell-sub {
  color: var(--gold-light);
}

.cbiz-page .biz-cell-outcomes li {
  color: #ffffffd1;
}

.cbiz-page .biz-split p {
  margin-top: 12px;
}

.cbiz-page .enroll-section-label {
  font-size: .85rem;
}

.cbiz-page .enroll-section-sub {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

.cbiz-page .cbiz-wide-note {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.85;
}

.cbiz-page .enroll-section-sub {
  color: #334155;
  font-size: 1.16rem;
}

.cbiz-page .cbiz-topics {
  row-gap: 6px;
}

.cbiz-page .biz-defs {
  margin-top: 26px;
}

@media (min-width: 761px) {
  .cbiz-page .biz-defs > .biz-def:last-child:nth-child(odd) {
    text-align: center;
    grid-column: 1 / -1;
    display: block;
  }

  .cbiz-page .biz-defs > .biz-def:last-child:nth-child(odd) > svg {
    margin: 0 auto 6px;
  }
}

@media (min-width: 768px) {
  .cbiz-page .biz-split h3 {
    min-height: 2.6em;
    line-height: 1.3;
  }
}

.cbiz-page .biz-ruled.cbiz-ruled-center-last {
  grid-template-columns: repeat(6, 1fr);
}

.cbiz-page .biz-ruled.cbiz-ruled-center-last > .biz-cell {
  grid-column: span 2;
}

@media (min-width: 901px) {
  .cbiz-page .biz-ruled.cbiz-ruled-center-last > .biz-cell:nth-child(3n+1):nth-last-child(2) {
    grid-column: 2 / span 2;
  }

  .cbiz-page .biz-ruled.cbiz-ruled-center-last > .biz-cell:nth-child(3n+1):last-child {
    grid-column: 3 / span 2;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .cbiz-page .biz-ruled.cbiz-ruled-center-last {
    grid-template-columns: repeat(4, 1fr);
  }

  .cbiz-page .biz-ruled.cbiz-ruled-center-last > .biz-cell:nth-child(odd):last-child {
    grid-column: 2 / span 2;
  }
}

@media (max-width: 640px) {
  .cbiz-page .biz-ruled.cbiz-ruled-center-last {
    grid-template-columns: 1fr;
  }

  .cbiz-page .biz-ruled.cbiz-ruled-center-last > .biz-cell {
    grid-column: auto;
  }
}

@media (min-width: 701px) and (max-width: 1100px) {
  .cbiz-page .biz-split.cbiz-5 {
    grid-template-columns: repeat(6, 1fr);
  }

  .cbiz-page .biz-split.cbiz-5 > div {
    grid-column: span 2;
  }

  .cbiz-page .biz-split.cbiz-5 > div:nth-child(3n+1):nth-last-child(2) {
    grid-column: 2 / span 2;
  }

  .cbiz-page .biz-split.cbiz-5 > div:nth-child(3n+1):last-child {
    grid-column: 3 / span 2;
  }
}

@media (min-width: 461px) and (max-width: 700px) {
  .cbiz-page .biz-split.cbiz-5 {
    grid-template-columns: repeat(4, 1fr);
  }

  .cbiz-page .biz-split.cbiz-5 > div {
    grid-column: span 2;
  }

  .cbiz-page .biz-split.cbiz-5 > div:nth-child(odd):last-child {
    grid-column: 2 / span 2;
  }
}

@media (min-width: 768px) {
  .cbiz-page .biz-split {
    grid-template-rows: repeat(3, auto);
  }

  .cbiz-page .biz-split > div {
    grid-template-rows: subgrid;
    grid-row: span 3;
    align-content: start;
    display: grid;
  }
}

.cbiz-page .biz-cell {
  flex-direction: column;
  display: flex;
}

.cbiz-page .enroll-section-dark .biz-cell-tech {
  margin-top: auto;
}

.cbiz-page .enroll-section-title.cbiz-title-lg {
  font-size: clamp(30px, 4.4vw, 48px);
}

.cbiz-page .enroll-section-title.cbiz-title-sm {
  font-size: clamp(25px, 3.6vw, 40px);
}

.cbiz-page .enroll-section-title {
  margin-bottom: 28px;
}

.cbiz-page .biz-split > div > svg {
  stroke-width: 2px;
  width: 30px;
  height: 30px;
}

.cbiz-page .enroll-section-dark .biz-cell-title {
  font-size: 1.32rem;
}

.cbiz-page .enroll-section-dark .biz-cell-sub {
  font-size: 1rem;
}

.cbiz-page .enroll-section-dark .biz-cell-desc {
  font-size: .9rem;
}

.cbiz-page .enroll-section-dark .biz-cell-title {
  margin-top: 16px;
}

.cbiz-page .enroll-section-dark .biz-cell-sub {
  margin-top: 8px;
}

.cbiz-page .enroll-section-dark .biz-cell-desc {
  margin-top: 16px;
}

.cbiz-page .biz-cell-outcomes {
  margin-top: 20px;
}

.cbiz-page .biz-cell-outcomes:has( + .biz-cell-tech) {
  margin-bottom: 16px;
}

.cbiz-page .enroll-section-dark .cbiz-cell-link {
  margin-top: 20px;
}

@media (min-width: 641px) {
  .cbiz-page .biz-cell {
    padding: 32px 26px;
  }
}

.cbiz-page .cbiz-row-desc {
  max-width: 88ch;
}

.cbiz-page .biz-row-foot {
  margin-top: 26px;
}

.cbiz-page .cbiz-tracks .biz-row-title {
  font-size: 1.55rem;
}

.cbiz-page .cbiz-tracks .biz-row-cols > div:first-child {
  flex-direction: column;
  display: flex;
}

.cbiz-page .cbiz-tracks .biz-row-cols .biz-row-foot {
  margin-top: auto;
  padding-top: 20px;
}

@media (max-width: 760px) {
  .cbiz-page .cbiz-tracks .biz-row-cols {
    gap: 0;
  }

  .cbiz-page .cbiz-tracks .biz-row-cols > div:first-child {
    display: contents;
  }

  .cbiz-page .cbiz-tracks .biz-row-cols > div:last-child {
    margin-top: 20px;
  }

  .cbiz-page .cbiz-tracks .biz-row-cols .biz-row-foot {
    order: 1;
  }
}

.cbiz-page .enroll-section-gray + .enroll-section, .cbiz-page .enroll-section-dark + .enroll-section {
  padding-top: 64px;
}

.cbiz-page.cbiz-coders-hero .enroll-hero h1 {
  font-size: clamp(36px, 5.8vw, 60px);
}

@media (min-width: 641px) {
  .cbiz-page.cbiz-coders-hero .enroll-stats {
    grid-template-columns: repeat(3, 1fr);
    display: grid;
  }
}

.cbiz-page.cbiz-coders-hero .enroll-badge {
  font-size: .8rem;
}

.cbiz-page .enroll-section-dark:has(.biz-ruled) {
  padding-bottom: 98px;
}

.enroll-page.cbiz-page .enroll-hero h1 {
  font-size: clamp(34px, 5.2vw, 58px);
}

.cbiz-page .cbiz-topics {
  padding-right: 24px;
}

.cbiz-page .cbiz-row-desc {
  margin-top: 14px;
}

.cbiz-page .cbiz-row-desc + .cbiz-topics {
  margin-top: 22px;
}

.cbiz-page .biz-row {
  padding: 32px 0;
}

.cbiz-page .biz-row-num {
  font-size: 2.25rem;
}

.cbiz-page .biz-row-num.cbiz-num-wide {
  font-size: 1.71rem;
}

.cbiz-page .cbiz-topics li {
  color: #475569;
}

.cbiz-page .enroll-section-dark .cbiz-cell-link {
  min-height: 24px;
}

.cbiz-page .enroll-section-title {
  text-wrap: balance;
  max-width: 960px;
  margin-inline: auto;
}

.cbiz-page .enroll-section-sub {
  line-height: 1.55;
}

.cbiz-genai-tool-badges #curriculum .biz-row-foot .biz-inline {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.cbiz-genai-tool-badges #curriculum .biz-row-foot .biz-inline .sep {
  display: none;
}

.cbiz-genai-tool-badges #curriculum .biz-row-foot .biz-inline > span {
  letter-spacing: .02em;
  background: var(--gold-bg);
  color: var(--text);
  border: 1px solid #1F5FAF59;
  border-radius: 999px;
  align-items: center;
  padding: 6px 12px;
  font-size: .78rem;
  font-weight: 600;
  display: inline-flex;
}

.cbiz-page .cbiz-tracks .biz-row {
  padding: 28px 0;
}

.cbiz-page .cbiz-tracks .biz-row-foot {
  justify-content: flex-start;
  gap: 10px 22px;
  margin-top: 20px;
}

.cbiz-page .cbiz-tracks .biz-row-foot .biz-inline {
  color: var(--text-sec);
  font-weight: 600;
}

.cbiz-page .cbiz-tracks .biz-row-tag {
  letter-spacing: .09em;
  color: var(--color-gold-deep, #0B3D7A);
  font-size: .83rem;
}

.cbiz-page .biz-ruled.cbiz-ruled-2 {
  max-width: 960px;
  margin-inline: auto;
}

.cbiz-page .cbiz-platforms .enroll-section-sub {
  margin-bottom: 34px;
}

.cbiz-page .cbiz-platforms {
  padding-bottom: 30px;
}

.cbiz-page .cbiz-plat-grid {
  border-top: 0;
  gap: 18px;
  width: 100%;
}

.cbiz-page .cbiz-plat-grid .biz-def {
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 14px;
  grid-template-columns: 38px 1fr;
  align-items: start;
  gap: 14px;
  padding: 18px;
}

.cbiz-page .cbiz-plat-ico {
  background: var(--gold-bg);
  border: 1px solid #1F5FAF59;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  display: inline-flex;
}

.cbiz-page .cbiz-plat-ico svg {
  width: 20px;
  height: 20px;
  color: var(--color-gold-deep);
  margin-top: 0;
}

.cbiz-page .cbiz-plat-grid .biz-def h3 {
  font-size: 1.12rem;
}

.cbiz-page .cbiz-plat-grid .biz-inline {
  margin-top: 6px;
  font-weight: 500;
}

.cbiz-page .cbiz-plat-note {
  text-align: center;
  max-width: 640px;
  color: var(--text-sec);
  margin: 24px auto 0;
  font-size: .97rem;
  line-height: 1.7;
}

@media (min-width: 761px) {
  .cbiz-page .cbiz-plat-grid > .biz-def:last-child:nth-child(odd) {
    text-align: left;
    display: grid;
  }
}

@media (max-width: 760px) {
  .cbiz-page .cbiz-plat-grid {
    row-gap: 14px;
  }

  .cbiz-page .cbiz-plat-grid .biz-def {
    padding: 16px;
  }

  .cbiz-page .enroll-section-sub {
    font-size: .94rem;
  }
}

.pgnr-page .pgnr-anchor {
  scroll-margin-top: 96px;
}

.pgnr-lbl {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-muted);
  align-items: center;
  gap: 7px;
  font-size: .75rem;
  font-weight: 800;
  display: inline-flex;
}

.pgnr-lbl svg {
  width: 15px;
  height: 15px;
}

.pgnr-lbl.gold {
  color: var(--gold);
}

.pgnr-page .pgnr-info-title {
  letter-spacing: -.02em;
  color: var(--text);
  margin: 0 0 16px;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 700;
  line-height: 1.2;
}

.pgnr-page .pgnr-info-lede {
  color: #334155;
  margin: 0 0 20px;
  font-size: 1.02rem;
  line-height: 1.75;
}

.pgnr-page .pgnr-info-body {
  color: #334155;
  margin: 0 0 14px;
  font-size: 1.02rem;
  line-height: 1.75;
}

.pgnr-meta {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 30px;
  margin-bottom: 30px;
  padding: 16px 0;
  display: flex;
}

.pgnr-meta-item {
  color: var(--text-sec);
  align-items: center;
  gap: 8px;
  font-size: .84rem;
  font-weight: 600;
  display: inline-flex;
}

.pgnr-meta-item svg {
  width: 16px;
  height: 16px;
  color: var(--gold);
}

.pgnr-page .pgnr-info-h3 {
  letter-spacing: -.01em;
  color: var(--text);
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  display: flex;
}

.pgnr-info-count {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
  font-size: .75rem;
  font-weight: 800;
}

.pgnr-detail .pgnr-info-h3 .pgnr-info-count:before {
  content: "•";
  color: var(--border-strong, #cbd5e1);
  margin-right: 8px;
  font-weight: 700;
}

.pgnr-info-count.pgnr-info-badge {
  color: var(--color-gold-deep, #0B3D7A);
  background: #0B3D7A17;
  border: 1px solid #0B3D7A38;
  border-radius: 999px;
  padding: 5px 12px;
}

.pgnr-detail .pgnr-info-h3 .pgnr-info-count.pgnr-info-badge:before {
  content: none;
}

.pgnr-rule-top {
  border-top: 1px solid var(--border);
  margin-top: 30px;
  padding-top: 22px;
}

.pgnr-chips {
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  display: flex;
}

.pgnr-detail .pgnr-chips {
  justify-content: center;
}

.pgnr-chip {
  border: 1px solid var(--border);
  color: var(--text);
  white-space: nowrap;
  background: #fff;
  border-radius: 999px;
  align-items: center;
  padding: 7px 14px;
  font-size: .88rem;
  font-weight: 600;
  display: inline-flex;
}

.pgnr-buy {
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 18px;
  position: sticky;
  top: 92px;
  overflow: hidden;
  box-shadow: 0 20px 48px -24px #0f172a66;
}

.pgnr-buy-media {
  background: radial-gradient(120% 130% at 18% 0%, #14224a 0%, var(--ink) 60%, #05070f 100%);
  gap: 13px;
  justify-content: center;
  align-items: center;
  min-height: 76px;
  padding: 15px 20px;
  display: flex;
  position: relative;
}

.pgnr-buy-media:before {
  content: "";
  background-image: linear-gradient(#ffffff0d 1px, #0000 1px), linear-gradient(90deg, #ffffff0d 1px, #0000 1px);
  background-size: 34px 34px;
  position: absolute;
  inset: 0;
}

.pgnr-buy-media-ic {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  border: 1px solid #ffffff2b;
  border-radius: 12px;
  background: #ffffff14;
  color: var(--gold-light);
  font-size: 1.05rem;
  display: inline-flex;
  position: relative;
}

.pgnr-buy-media-txt {
  flex-direction: column;
  gap: 3px;
  display: flex;
  position: relative;
}

.pgnr-buy-media-txt strong {
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold-light);
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
}

.pgnr-buy-media-txt em {
  letter-spacing: .01em;
  text-transform: none;
  color: #cbd5e1;
  font-size: .73rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.1;
}

.pgnr-buy-body {
  padding: 20px;
}

.pgnr-tabs {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 20px;
  display: grid;
}

.pgnr-tab {
  text-align: left;
  font: inherit;
  cursor: pointer;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 12px;
  flex-direction: column;
  gap: 5px;
  padding: 12px 13px;
  transition: border-color .18s, box-shadow .18s, background .18s;
  display: flex;
}

.pgnr-tab.wide {
  grid-column: 1 / -1;
}

.pgnr-tab:hover {
  border-color: #1F5FAF80;
}

.pgnr-tab.on {
  border-color: var(--gold);
  background: var(--gold-bg);
  box-shadow: 0 0 0 2px #1F5FAF38;
}

.pgnr-tab-tier {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-size: .68rem;
  font-weight: 800;
}

.pgnr-tab.on .pgnr-tab-tier {
  color: var(--gold);
}

.pgnr-tab-price {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  color: var(--text);
  font-size: 1.7rem;
  font-weight: 800;
  line-height: 1.05;
}

.pgnr-tab-price em {
  letter-spacing: 0;
  color: var(--text-muted);
  font-size: .74rem;
  font-style: normal;
  font-weight: 600;
}

.pgnr-page .pgnr-buy-title {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 6px 0 10px;
  font-size: .72rem;
  font-weight: 800;
}

.pgnr-buy-strike {
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
  display: flex;
}

.pgnr-was {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  color: #94a3b8;
  font-size: 1.45rem;
  font-weight: 700;
  text-decoration: line-through;
}

.pgnr-off {
  background: var(--gold-bg);
  color: var(--gold);
  border-radius: 999px;
  padding: 4px 11px;
  font-size: .74rem;
  font-weight: 800;
  display: inline-block;
}

.pgnr-price {
  font-family: var(--font-display);
  letter-spacing: -.04em;
  color: var(--text);
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1;
}

.pgnr-unit {
  color: var(--text-sec);
  margin-top: 5px;
  font-size: .88rem;
  font-weight: 700;
}

.pgnr-page .pgnr-note {
  color: var(--text-muted);
  margin: 8px 0 0;
  font-size: .82rem;
  line-height: 1.6;
}

.pgnr-rule {
  background: var(--border);
  height: 1px;
  margin: 18px 0;
}

.pgnr-feat {
  color: var(--text-sec);
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
  font-size: .85rem;
  line-height: 1.6;
  display: flex;
}

.pgnr-feat svg {
  color: var(--gold);
  flex-shrink: 0;
  margin-top: 3px;
}

.pgnr-buy-cta {
  justify-content: center;
  width: 100%;
  margin-top: 18px;
  padding: 15px 24px;
}

.pgnr-buy-cta:disabled {
  opacity: .45;
  cursor: not-allowed;
  box-shadow: none;
}

.pgnr-buy-empty {
  padding: 8px 0 0;
}

.pgnr-page .pgnr-buy-empty-t {
  color: var(--text);
  margin: 0 0 6px;
  font-size: 1.02rem;
  font-weight: 700;
}

.pgnr-page .pgnr-buy-empty-d {
  color: var(--text-muted);
  margin: 0;
  font-size: .88rem;
  line-height: 1.65;
}

.pgnr-page .pgnr-guarantee {
  text-align: center;
  color: var(--text-muted);
  justify-content: center;
  align-items: center;
  gap: 7px;
  margin: 14px 0 0;
  font-size: .78rem;
  line-height: 1.55;
  display: flex;
}

.pgnr-guarantee svg {
  color: var(--gold);
  flex-shrink: 0;
}

@media (max-width: 600px) {
  .pgnr-meta {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin-bottom: 32px;
    padding: 14px 0;
    display: grid;
  }

  .pgnr-meta-item {
    justify-content: flex-start;
  }
}

.pgnr-hero-inner {
  text-align: left;
  grid-template-columns: minmax(0, 1fr) 400px;
  align-items: start;
  gap: 56px;
  max-width: 1220px;
  display: grid;
}

.pgnr-page .enroll-hero {
  padding-bottom: 96px;
}

.pgnr-hero-inner.pgnr-hero-solo {
  text-align: center;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
}

.pgnr-hero-solo .pgnr-hero-copy {
  text-align: center;
  max-width: 860px;
}

.pgnr-page .enroll-hero .pgnr-hero-solo .pgnr-hero-copy h1 {
  text-align: center;
}

.pgnr-page .enroll-hero .pgnr-hero-solo .pgnr-hero-copy p {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.pgnr-hero-solo .pgnr-hero-copy .enroll-hero-chips, .pgnr-hero-solo .pgnr-hero-copy .enroll-hero-btns {
  justify-content: center;
}

/* In the no-plan fallback, never leave plan-only actions or copy beside the
   counselor CTA (also covers an older cached markup response). */
.pgnr-page .pgnr-hero-solo .enroll-hero-btns a[href="#pgnr-pricing"],
.pgnr-page .pgnr-hero-solo .enroll-cta-note {
  display: none !important;
}

.pgnr-hero-copy {
  text-align: left;
}

.pgnr-page .enroll-hero .pgnr-hero-copy h1 {
  text-align: left;
  margin-bottom: 18px;
}

.pgnr-page .enroll-hero .pgnr-hero-copy p {
  max-width: 560px;
  margin: 0 0 26px;
}

.pgnr-hero-copy .enroll-hero-chips, .pgnr-hero-copy .enroll-hero-btns {
  justify-content: flex-start;
}

.pgnr-hero-copy .enroll-cta-note {
  text-align: left;
}

.pgnr-hero-buy {
  text-align: left;
  scroll-margin-top: 96px;
}

.pgnr-hero-buy .pgnr-buy {
  position: static;
  box-shadow: 0 30px 64px -28px #000000bf;
}

.pgnr-page .enroll-hero .pgnr-hero-buy :is(h1, h2, h3, h4, h5, h6) {
  color: var(--text);
}

.pgnr-page .enroll-hero .pgnr-hero-buy p {
  color: var(--text-sec);
  text-align: left;
  max-width: none;
  margin: 0;
  font-size: .88rem;
  line-height: 1.65;
}

.pgnr-page .enroll-hero .pgnr-hero-buy .pgnr-buy-title {
  color: var(--gold);
}

.pgnr-page .enroll-hero .pgnr-hero-buy .pgnr-buy-empty-t {
  color: var(--text);
  margin: 0 0 6px;
  font-size: 1.02rem;
  font-weight: 700;
}

.pgnr-page .enroll-hero .pgnr-hero-buy .pgnr-buy-empty-d {
  color: var(--text-muted);
  font-size: .88rem;
}

.pgnr-page .enroll-hero .pgnr-hero-buy .pgnr-guarantee {
  color: #475569;
  text-align: center;
  justify-content: center;
  margin: 14px 0 0;
  font-size: .78rem;
}

/* The card sits inside the dark hero, where a generic ".enroll-hero p" rule
   paints paragraphs white. Pin the guarantee line to a readable slate so it is
   always visible on the white card, regardless of source order or stale CSS. */
.pgnr-page .enroll-hero .pgnr-hero-buy .pgnr-buy .pgnr-guarantee {
  color: #475569 !important;
}

.pgnr-page .enroll-hero .pgnr-hero-buy .pgnr-guarantee i {
  color: #10b981;
}

.pgnr-detail {
  text-align: center;
  max-width: 880px;
  margin: 0 auto;
}

.pgnr-detail .pgnr-meta, .pgnr-detail .pgnr-meta-item, .pgnr-page .pgnr-detail .pgnr-info-h3 {
  justify-content: center;
}

.pgnr-page .pgnr-detail .pgnr-info-lede {
  max-width: 760px;
  margin: 0 auto 24px;
}

.pgnr-page .pgnr-detail .pgnr-info-body {
  max-width: 760px;
  margin: 0 auto 14px;
}

@media (max-width: 1080px) {
  .pgnr-hero-inner {
    text-align: center;
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }

  .pgnr-hero-copy, .pgnr-page .enroll-hero .pgnr-hero-copy h1 {
    text-align: center;
  }

  .pgnr-page .enroll-hero .pgnr-hero-copy p {
    margin: 0 auto 26px;
  }

  .pgnr-hero-copy .enroll-hero-chips, .pgnr-hero-copy .enroll-hero-btns {
    justify-content: center;
  }

  .pgnr-hero-copy .enroll-cta-note {
    text-align: center;
  }

  .pgnr-hero-buy {
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
  }
}

.courses-side-search, .courses-filter-toggle {
  display: none;
}

.courses-card-cta {
  min-height: 24px;
}

.courses-card .courses-card-title {
  align-items: flex-start;
  min-height: 39px;
  font-size: 15px;
  display: flex;
}

.courses-card-for {
  color: #475569;
  min-height: 35px;
  margin: 0;
}

.courses-card-icon {
  background: linear-gradient(135deg, var(--accent-bg) 0%, var(--accent-tile-to) 100%);
  border: 1px solid var(--accent-border);
  width: 38px;
  height: 38px;
  color: var(--accent-fg);
  border-radius: 10px;
  flex: none;
  justify-content: center;
  align-items: center;
  transition: transform .28s cubic-bezier(.34, 1.56, .64, 1), box-shadow .28s;
  display: inline-flex;
}

.courses-card-badge {
  background: var(--accent-bg);
  color: var(--accent-fg);
  border: 1px solid var(--accent-border);
  border-radius: 6px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 700;
}

.courses-card-body {
  background-image: linear-gradient(180deg, var(--accent-bg) 0%, #fff0 100%);
  background-repeat: no-repeat;
  background-size: 100% 96px;
}

.courses-card-icon svg {
  width: 19px;
  height: 19px;
}

.courses-card:hover .courses-card-icon {
  transform: scale(1.08) rotate(-1.5deg);
}

.courses-card-rule {
  background: linear-gradient(90deg, var(--accent-fg), var(--accent-border));
  pointer-events: none;
  z-index: 1;
  height: 4px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.courses-card-cta svg {
  transition: transform .25s cubic-bezier(.4, 0, .2, 1);
}

.courses-card:hover .courses-card-cta svg {
  transform: translateX(3px);
}

.courses-filter-row {
  color: #475569;
  cursor: pointer;
  background: none;
  border-radius: 6px;
  align-items: center;
  gap: 9px;
  padding: 5px 6px;
  font-size: 13px;
  font-weight: 400;
  transition: background-color .16s, color .16s, transform .16s cubic-bezier(.4, 0, .2, 1);
  display: flex;
}

.courses-filter-row:hover {
  background: #f8fafc;
  transform: translateX(2px);
}

.courses-filter-row.is-on, .courses-filter-row.is-on:hover {
  color: #0B3D7A;
  background: #fffbeb;
  font-weight: 600;
  transform: translateX(2px);
}

.courses-filter-box {
  accent-color: #1F5FAF;
  cursor: pointer;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  transition: transform .18s cubic-bezier(.34, 1.56, .64, 1);
}

.courses-filter-row.is-on .courses-filter-box {
  transform: scale(1.12);
}

.courses-filter-n {
  color: #94a3b8;
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  font-weight: 600;
  transition: color .16s;
}

.courses-filter-row.is-on .courses-filter-n {
  color: #0B3D7A;
}

.courses-card:after {
  content: "";
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(105deg, #fff0 38%, #ffffff8c 50%, #fff0 62%);
  position: absolute;
  inset: 0;
  transform: translateX(-120%);
}

.courses-card:hover:after {
  animation: .75s cubic-bezier(.4, 0, .2, 1) courses-sheen;
}

@keyframes courses-sheen {
  from {
    opacity: 1;
    transform: translateX(-120%);
  }

  to {
    opacity: 1;
    transform: translateX(120%);
  }
}

.courses-empty {
  animation: .32s cubic-bezier(.22, .61, .36, 1) both courses-empty-in;
}

@keyframes courses-empty-in {
  from {
    opacity: 0;
    transform: translate3d(0, 8px, 0) scale(.985);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.courses-meter-dot {
  box-sizing: border-box;
  width: 7px;
  height: 7px;
  transition: background-color .3s, border-color .3s;
  transition-delay: calc(var(--dot-i, 0) * 60ms);
  background: none;
  border: 1px solid #cbd5e1;
  border-radius: 50%;
}

.courses-meter-dot.is-on {
  background: #475569;
  border-color: #475569;
}

.courses-card-in {
  animation: .42s cubic-bezier(.22, .61, .36, 1) both courses-card-in;
  animation-delay: calc(var(--card-i, 0) * 55ms);
}

@keyframes courses-card-in {
  from {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .courses-card-in, .courses-empty, .courses-card:hover:after {
    animation: none;
  }

  .courses-card:hover .courses-card-icon, .courses-card:hover .courses-card-cta svg, .courses-filter-row:hover, .courses-filter-row.is-on, .courses-filter-row.is-on:hover, .courses-filter-row.is-on .courses-filter-box {
    transform: none;
  }

  .courses-card-icon, .courses-meter-dot, .courses-card-cta svg, .courses-filter-row, .courses-filter-box, .courses-filter-n {
    transition: none;
  }
}

@media (max-width: 900px) {
  .courses-hero-search {
    display: none;
  }

  .courses-side-search {
    display: block;
  }

  .courses-filter-toggle {
    color: #0b1220;
    width: 100%;
    min-height: 44px;
    font-family: var(--font-display);
    cursor: pointer;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 700;
    display: flex;
  }

  .courses-filter-count {
    color: #fff;
    font-variant-numeric: tabular-nums;
    background: #1F5FAF;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    font-size: 11px;
    display: inline-flex;
  }

  .courses-filter-body {
    display: none;
  }

  .courses-filter-body.is-open {
    padding-top: 14px;
    display: block;
  }

  .courses-filter-eyebrow {
    display: none;
  }

  .courses-card .courses-card-title, .courses-card-for {
    min-height: 0;
  }

  .courses-card-cta {
    background: #fffbeb;
    border: 1px solid #fcd9a0;
    border-radius: 999px;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    display: flex !important;
  }

  .courses-toolbar {
    flex-direction: column;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .courses-toolbar-right {
    justify-content: space-between;
  }

  .courses-toolbar-right select {
    flex: 1;
    max-width: 200px;
    min-height: 44px;
  }

  .courses-layout {
    flex-direction: column;
  }

  .courses-sidebar {
    width: 100% !important;
    position: static !important;
  }
}

.contact-page {
  font-family: var(--font-body);
  --gold: #1F5FAF;
  --gold-light: #0B3D7A;
  --gold-bg: #1F5FAF1a;
  --ink: #0a0f1e;
  --text: #0f172a;
  --text-sec: #475569;
  --text-muted: #64748b;
  --border: #e2e8f0;
  --surface: #fff;
  --cloud: #f8fafc;
  --leaf: #16a34a;
  color: var(--text);
  background: var(--surface);
}

.contact-hero {
  background: var(--rt-hero-dark);
  background-size: var(--rt-hero-dark-size);
  text-align: center;
  padding: 120px 32px 52px;
  position: relative;
  overflow: hidden;
}

.contact-hero-inner {
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  position: relative;
}

.contact-badge {
  color: var(--gold-light);
  letter-spacing: .12em;
  text-transform: uppercase;
  background: #1F5FAF26;
  border: 1px solid #1F5FAF59;
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  padding: 9px 22px;
  font-size: .8rem;
  font-weight: 700;
  display: inline-flex;
}

.contact-page .contact-hero h1 {
  letter-spacing: -.025em;
  color: #fff;
  text-align: center;
  text-wrap: balance;
  max-width: 800px;
  margin: 0 auto 20px;
  font-size: clamp(30px, 5vw, 52px);
  font-weight: 800;
  line-height: 1.12;
}

.contact-page .contact-hero-sub {
  color: #ffffff9e;
  max-width: 680px;
  margin: 0 auto;
  font-size: 1.12rem;
  line-height: 1.85;
}

.contact-hero-chips {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 32px;
  display: flex;
}

@media (min-width: 900px) {
  .contact-hero-chips {
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
  }

  .contact-hero-chip {
    justify-content: center;
  }
}

.contact-hero-chip {
  color: #ffffffd1;
  background: #ffffff0f;
  border: 1px solid #ffffff24;
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  font-size: .88rem;
  font-weight: 500;
  display: inline-flex;
}

.contact-hero-chip .dot {
  background: var(--gold-light);
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.contact-page ::selection {
  color: #0a0f1e;
  background: #0B3D7Ab3;
}

.contact-section {
  padding: 40px 24px 56px;
}

.contact-section-gray {
  background: var(--cloud);
  padding: 40px 24px 56px;
}

.contact-container {
  max-width: 1200px;
  margin: 0 auto;
}

.contact-section-label {
  text-align: center;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #0B3D7A;
  margin-bottom: 12px;
  font-size: .75rem;
  font-weight: 700;
  display: block;
}

.contact-page .contact-section-title {
  text-align: center;
  letter-spacing: -.02em;
  color: var(--text);
  margin: 0 0 18px;
  font-size: clamp(26px, 3.6vw, 42px);
  font-weight: 800;
  line-height: 1.2;
}

.contact-page .contact-section-sub {
  text-align: center;
  color: var(--text-sec);
  max-width: 620px;
  margin: 0 auto 44px;
  font-size: 1.08rem;
  line-height: 1.7;
}

.contact-channels {
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  display: grid;
}

.contact-channel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  flex-direction: column;
  gap: 12px;
  padding: 26px 20px;
  text-decoration: none;
  transition: transform .22s, box-shadow .22s, border-color .22s;
  display: flex;
}

.contact-channel:hover {
  border-color: #1F5FAF73;
  transform: translateY(-4px);
  box-shadow: 0 18px 40px -18px #1F5FAF73;
}

.contact-channel-icon {
  background: var(--gold-bg);
  width: 44px;
  height: 44px;
  color: var(--gold);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.contact-channel-label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0;
  font-size: .74rem;
  font-weight: 700;
}

.contact-page .contact-channel-value {
  color: var(--text);
  overflow-wrap: anywhere;
  word-break: normal;
  letter-spacing: -.01em;
  margin: 3px 0 0;
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.45;
}

.contact-page .contact-channel-desc {
  color: var(--text-muted);
  margin: 0;
  font-size: .88rem;
  line-height: 1.65;
}

.contact-split {
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 44px;
  display: grid;
}

.contact-page .contact-split-title {
  letter-spacing: -.02em;
  color: var(--text);
  margin: 16px 0 14px;
  font-size: clamp(26px, 3.4vw, 40px);
  font-weight: 800;
  line-height: 1.15;
}

.contact-page .contact-split-sub {
  color: var(--text-sec);
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.75;
}

.contact-badge-light {
  background: var(--gold-bg);
  color: var(--gold);
  letter-spacing: .12em;
  text-transform: uppercase;
  border: 1px solid #1F5FAF4d;
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  padding: 7px 18px;
  font-size: .74rem;
  font-weight: 700;
  display: inline-flex;
}

.contact-points {
  flex-direction: column;
  gap: 16px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.contact-points li {
  color: var(--text);
  align-items: center;
  gap: 14px;
  font-size: 1.02rem;
  font-weight: 500;
  display: flex;
}

.contact-points .tick {
  width: 26px;
  height: 26px;
  color: var(--leaf);
  background: #16a34a1a;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.contact-social {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
  display: flex;
}

.contact-social a {
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  font-size: .94rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  display: inline-flex;
}

.contact-social a:hover {
  color: var(--text);
  border-color: #1F5FAF80;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px -12px #1F5FAF99;
}

.contact-form-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 34px;
  box-shadow: 0 22px 60px -30px #0f172a47;
}

.contact-form {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.contact-row {
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  display: grid;
}

.contact-field {
  flex-direction: column;
  gap: 7px;
  display: flex;
}

.contact-field label {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-sec);
  font-size: .75rem;
  font-weight: 700;
}

.contact-field label .req {
  color: var(--gold);
  margin-left: 3px;
}

.contact-page .contact-field input, .contact-page .contact-field select, .contact-page .contact-field textarea {
  width: 100%;
  color: var(--text);
  background: var(--cloud);
  border: 1px solid var(--border);
  border-radius: 12px;
  outline: none;
  padding: 13px 15px;
  font-family: inherit;
  font-size: .98rem;
  transition: border-color .18s, box-shadow .18s, background .18s;
}

.contact-page .contact-field textarea {
  resize: vertical;
  min-height: 120px;
}

.contact-page .contact-field select {
  cursor: pointer;
}

.contact-page .contact-field input::placeholder, .contact-page .contact-field textarea::placeholder {
  color: #94a3b8;
}

.contact-page .contact-field input:focus, .contact-page .contact-field select:focus, .contact-page .contact-field textarea:focus {
  background: var(--surface);
  border-color: var(--gold);
  box-shadow: 0 0 0 4px #1F5FAF24;
}

.contact-error {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 12px;
  margin: 0;
  padding: 13px 17px;
  font-size: .92rem;
}

.contact-submit {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 16px 32px;
  font-family: inherit;
  font-size: 1.05rem;
  font-weight: 700;
  transition: filter .22s, transform .22s, box-shadow .22s;
  display: inline-flex;
  box-shadow: 0 8px 32px #1F5FAF73;
}

.contact-submit:hover:not(:disabled) {
  filter: brightness(1.1);
  transform: translateY(-3px);
  box-shadow: 0 14px 40px #1F5FAF8c;
}

.contact-submit:disabled {
  opacity: .7;
  cursor: wait;
  transform: none;
}

.contact-page .contact-note {
  text-align: center;
  color: var(--text-muted);
  margin: 0;
  font-size: .84rem;
  font-weight: 500;
}

.contact-spinner {
  border: 2px solid #ffffff59;
  border-top-color: #fff;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  animation: .7s linear infinite contact-spin;
}

@keyframes contact-spin {
  to {
    transform: rotate(360deg);
  }
}

.contact-success {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px 0;
  display: flex;
}

.contact-success .ring {
  width: 58px;
  height: 58px;
  color: var(--leaf);
  background: #16a34a1a;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.contact-page .contact-success h3 {
  color: var(--text);
  margin: 20px 0 8px;
  font-size: 1.5rem;
  font-weight: 800;
}

.contact-page .contact-success p {
  color: var(--text-muted);
  margin: 0;
  font-size: .9rem;
  line-height: 1.7;
}

.contact-office {
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 40px;
  display: grid;
}

.contact-info-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
}

.contact-info-row {
  border-bottom: 1px solid var(--border);
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  display: flex;
}

.contact-info-row:last-child {
  border-bottom: none;
}

.contact-info-row .ico {
  color: var(--gold);
  flex-shrink: 0;
  margin-top: 2px;
}

.contact-info-label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0;
  font-size: .73rem;
  font-weight: 700;
}

.contact-page .contact-info-value {
  color: var(--text);
  margin: 4px 0 0;
  font-size: .96rem;
  line-height: 1.6;
}

.contact-page a.contact-info-value {
  color: var(--gold);
  overflow-wrap: anywhere;
  text-decoration: none;
}

.contact-page a.contact-info-value:hover {
  color: #a87614;
  text-decoration: underline;
}

.contact-cta-link {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #fff;
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding: 13px 28px;
  font-size: .98rem;
  font-weight: 700;
  text-decoration: none;
  transition: filter .22s, transform .22s, box-shadow .22s;
  display: inline-flex;
  box-shadow: 0 8px 28px #1F5FAF66;
}

.contact-cta-link:hover {
  filter: brightness(1.1);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 14px 36px #1F5FAF80;
}

.contact-map-frame {
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 44px -26px #0f172a59;
}

.contact-map-frame iframe {
  border: 0;
  width: 100%;
  height: 400px;
  display: block;
}

.contact-map-link {
  color: var(--gold);
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  font-size: .94rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
}

.contact-map-link:hover {
  color: #a87614;
}

@media (max-width: 980px) {
  .contact-channels {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact-split, .contact-office {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}

@media (max-width: 600px) {
  .contact-hero {
    padding: 104px 20px 44px;
  }

  .contact-section, .contact-section-gray {
    padding: 44px 20px;
  }

  .contact-channels, .contact-row {
    grid-template-columns: 1fr;
  }

  .contact-form-card {
    padding: 24px 20px;
  }

  .contact-map-frame iframe {
    height: 300px;
  }
}

@media (max-width: 640px) {
  .contact-hero-chips {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
}

body.rt-home .contact-page .contact-hero h1 {
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  body.rt-home .contact-page .contact-hero h1 {
    margin-bottom: 26px;
  }

  body.rt-home .contact-page p.contact-section-sub {
    margin-top: 18px;
    margin-bottom: 32px;
  }

  body.rt-home .contact-page p.contact-split-sub {
    margin-top: 18px;
  }
}

@media (max-width: 640px) {
  .contact-social {
    grid-template-columns: 1fr 1fr;
    display: grid;
  }

  .contact-social a {
    justify-content: center;
    padding-left: 8px;
    padding-right: 8px;
  }
}

.full-section {
  background-size: 50%;
  background-image: none !important;
}

body.cp-legacy-type:not(.rt-home) {
  font-family: var(--font-body);
}

body.cp-legacy-type:not(.rt-home) :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-display);
}

body.cp-legacy-type:not(.rt-home) :is(.chip, .career-desc, .career-title, .duration, .project-desc, .project-title, .card-desc, .hero-subtext, .outcome-desc, .sub-head, .section-badge, .quote, .cta-subtitle, .cta-button, .btn), body.cp-legacy-type:not(.rt-home) .hero-subtext.q span {
  font-family: var(--font-body);
}

body.cp-legacy-type:not(.rt-home) .hero-text h1 em, body.cp-legacy-type:not(.rt-home) .hero-text h1 span.txtcgyellow {
  font-family: var(--font-display);
  font-style: normal;
}

.course-plan-page {
  --ink: #0b1220;
  --brand: #2563eb;
  --brand-deep: #1d4ed8;
  --brand-soft: #eff6ff;
  --gold: #f59e0b;
  --gold-deep: #0B3D7A;
  --amber: #d97706;
  --amber-soft: #fef3c7;
  --bg: #fbfbfd;
  --surface: #fff;
  --line: #e2e8f0;
  --muted: #64748b;
  --shadow: 0 10px 30px -12px #0f172a1f;
  --shadow-hover: 0 22px 48px -18px #2563eb4d;
  --shadow-hover-gold: 0 22px 48px -18px #d9770657;
  --maxw: 1320px;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  margin: 0;
  padding-bottom: 72px;
  font-size: 16px;
  line-height: 1.55;
}

.course-plan-page *, .course-plan-page :before, .course-plan-page :after {
  box-sizing: border-box;
}

.course-plan-page .wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 24px;
}

.course-plan-page a {
  color: inherit;
}

.course-plan-page.course-plan-page h1, .course-plan-page.course-plan-page h2, .course-plan-page.course-plan-page h3 {
  font-family: var(--font-display);
  letter-spacing: -.01em;
  color: inherit;
  font-weight: 700;
  line-height: inherit;
  margin: 0;
}

.course-plan-page.course-plan-page p {
  line-height: 1.55;
}

.course-plan-page .mono {
  font-family: var(--font-body);
}

.course-plan-page .hero {
  background: var(--rt-hero-dark);
  background-size: var(--rt-hero-dark-size);
  color: #eaf3ee;
  position: relative;
  overflow: hidden;
}

.course-plan-page .hero-art {
  object-fit: cover;
  object-position: center;
  opacity: .6;
  mix-blend-mode: luminosity;
  pointer-events: none;
  z-index: 0;
  width: 56%;
  max-width: 840px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-mask-image: linear-gradient(90deg, #0000 0%, #000 46%);
  mask-image: linear-gradient(90deg, #0000 0%, #000 46%);
}

@media (max-width: 960px) {
  .course-plan-page .hero-art {
    display: none;
  }
}

.course-plan-page .hero-inner {
  z-index: 1;
  padding: 116px 24px 96px;
  position: relative;
}

.course-plan-page .eyebrow {
  font-family: var(--font-body);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #bfdbfe;
  text-align: center;
  margin-bottom: 28px;
  font-size: .8rem;
  font-weight: 600;
}

.course-plan-page .hero h1 {
  letter-spacing: -.01em;
  text-align: center;
  max-width: none;
  font-size: clamp(2.2rem, 5.5vw, 3.1rem);
  font-weight: 700;
  line-height: 1.12;
}

.course-plan-page .hero h1 em {
  color: #60a5fa;
  font-style: normal;
}

.course-plan-page p.hero-sub {
  color: #d5e2f3;
  letter-spacing: .003em;
  text-align: left;
  max-width: none;
  margin-top: 24px;
  font-size: 1.19rem;
  font-weight: 400;
  line-height: 1.78;
}

.course-plan-page p.hero-sub b {
  color: #fff;
  font-weight: 600;
}

.course-plan-page p.hero-sub .hl {
  color: #93c5fd;
  font-weight: 600;
}

.course-plan-page .hero-meta {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 32px;
  display: flex;
}

.course-plan-page .chip {
  font-family: var(--font-body);
  letter-spacing: .02em;
  color: #dbeafe;
  background: #ffffff0a;
  border: 1px solid #ffffff29;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  font-size: .76rem;
  line-height: 1.55;
  display: inline-flex;
}

.course-plan-page .chip b {
  color: #fff;
  font-weight: 600;
}

.course-plan-page .chip .dot {
  background: #60a5fa;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.course-plan-page .hero-cta {
  flex-wrap: wrap;
  align-items: center;
  gap: 13px;
  margin-top: 34px;
  display: flex;
}

.course-plan-page .hero-cta a {
  font-family: var(--font-display);
  border-radius: 999px;
  align-items: center;
  gap: 9px;
  padding: 14px 28px;
  font-size: .98rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform .16s, box-shadow .16s, background .16s, border-color .16s;
  display: inline-flex;
}

.course-plan-page .hero-cta .btn-primary {
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  box-shadow: 0 10px 26px #1F5FAF6b;
}

.course-plan-page .hero-cta .btn-primary:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 14px 32px #1F5FAF8c;
}

.course-plan-page .hero-cta .btn-ghost {
  color: #eaf3ee;
  background: #ffffff0f;
  border: 1px solid #ffffff38;
}

.course-plan-page .hero-cta .btn-ghost:hover {
  background: #ffffff1f;
  border-color: #ffffff73;
  transform: translateY(-2px);
}

.course-plan-page .hero-cta .cta-note {
  font-family: var(--font-body);
  color: #bfdbfe;
  font-size: .9rem;
  font-weight: 500;
}

.course-plan-page .stats {
  background: var(--line);
  border: 1px solid var(--line);
  z-index: 5;
  box-shadow: var(--shadow);
  border-radius: 16px;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin: -52px auto 0;
  display: grid;
  position: relative;
  overflow: hidden;
}

.course-plan-page .stat {
  background: var(--surface);
  text-align: center;
  margin: 0;
  padding: 22px 20px;
  transition: background .25s;
  display: block;
}

.course-plan-page .stat:hover {
  background: #f8fafc;
}

.course-plan-page .stat .n {
  font-family: var(--font-display);
  color: var(--gold-deep);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
}

.course-plan-page .stat .l {
  color: var(--muted);
  margin-top: 7px;
  font-size: .82rem;
}

.course-plan-page .viewtabs {
  z-index: 1;
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
  background: #f8fafcf0;
  margin-top: 26px;
  position: sticky;
  top: 66px;
}

.course-plan-page .viewtabs-inner {
  max-width: var(--maxw);
  gap: 8px;
  margin: 0 auto;
  padding: 10px 24px;
  display: flex;
  overflow-x: auto;
}

.course-plan-page .vtab {
  font-family: var(--font-display);
  color: var(--muted);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 1px solid #0000;
  border-radius: 999px;
  padding: 9px 20px;
  font-size: .9rem;
  font-weight: 600;
  transition: all .15s;
}

.course-plan-page .vtab:hover {
  color: var(--brand-deep);
  background: var(--brand-soft);
}

.course-plan-page .vtab.active {
  color: #fff;
  background: var(--brand);
  border-color: var(--brand);
  box-shadow: 0 4px 12px #2563eb47;
}

@media (max-width: 700px) {
  .course-plan-page .viewtabs-inner {
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    gap: 5px;
    padding: 8px 12px;
    display: grid;
    overflow-x: visible;
  }

  .course-plan-page .vtab {
    text-align: center;
    white-space: normal;
    justify-content: center;
    align-items: center;
    min-height: 44px;
    padding: 8px 4px;
    font-size: clamp(.72rem, 3.05vw, .84rem);
    line-height: 1.25;
    display: flex;
  }
}

.course-plan-page .schedule {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 14px;
  grid-template-columns: auto 1fr 1fr;
  align-items: stretch;
  gap: 0;
  margin: 28px 0 8px;
  display: grid;
  overflow: hidden;
}

.course-plan-page .sched-label {
  background: var(--brand-soft);
  border-right: 1px solid var(--line);
  align-items: center;
  gap: 11px;
  padding: 18px 22px;
  display: flex;
}

.course-plan-page .sched-label .ic {
  background: var(--brand);
  border-radius: 9px;
  flex: none;
  place-items: center;
  width: 34px;
  height: 34px;
  display: grid;
}

.course-plan-page .sched-label .ic svg {
  width: 19px;
  height: 19px;
}

.course-plan-page .sched-label .t {
  font-family: var(--font-body);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--brand-deep);
  font-size: .68rem;
  font-weight: 600;
  line-height: 1.35;
}

.course-plan-page .sess {
  border-right: 1px solid var(--line);
  padding: 16px 22px;
}

.course-plan-page .sess:last-child {
  border-right: 0;
}

.course-plan-page .sess .days {
  font-family: var(--font-display);
  color: var(--ink);
  font-size: 1.02rem;
  font-weight: 600;
}

.course-plan-page .sess .time {
  font-family: var(--font-body);
  color: var(--muted);
  margin-top: 3px;
  font-size: .82rem;
}

.course-plan-page .sess .len {
  font-family: var(--font-body);
  letter-spacing: .06em;
  color: var(--brand-deep);
  background: var(--brand-soft);
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  margin-top: 8px;
  padding: 3px 9px;
  font-size: .66rem;
  display: inline-block;
}

@media (max-width: 700px) {
  .course-plan-page .schedule {
    grid-template-columns: 1fr;
  }

  .course-plan-page .sched-label, .course-plan-page .sess {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .course-plan-page .sess:last-child {
    border-bottom: 0;
  }
}

.course-plan-page .termbank {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  margin: 16px 0 8px;
  padding: 18px 22px;
}

.course-plan-page .termbank .tb-head {
  font-family: var(--font-body);
  letter-spacing: normal;
  text-transform: none;
  color: #334155;
  margin-bottom: 12px;
  font-size: .86rem;
  line-height: 1.6;
}

.course-plan-page .termbank .tb-head b {
  color: var(--brand-deep);
}

.course-plan-page .terms {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.course-plan-page .term {
  font-family: var(--font-body);
  color: #334155;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  padding: 5px 10px;
  font-size: .76rem;
  font-weight: 600;
}

.course-plan-page .legend {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  margin: 16px 0 8px;
  padding: 16px 20px;
  display: flex;
}

.course-plan-page .legend .lbl {
  font-family: var(--font-body);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #334155;
  font-size: .7rem;
  font-weight: 700;
}

.course-plan-page .tk {
  align-items: center;
  gap: 7px;
  font-size: .83rem;
  font-weight: 500;
  display: inline-flex;
}

.course-plan-page .wtype {
  border-radius: 4px;
  flex: none;
  width: 14px;
  height: 14px;
  display: inline-block;
}

.course-plan-page .wtype.green {
  background: var(--brand);
}

.course-plan-page .wtype.gold {
  background: var(--amber);
}

.course-plan-page .wtype.dark {
  background: #12224a;
}

.course-plan-page .pill {
  font-family: var(--font-body);
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 999px;
  align-items: center;
  padding: 3px 9px;
  font-size: .66rem;
  font-weight: 600;
  display: inline-flex;
}

.course-plan-page .pill.all {
  color: #475569;
  border: 1px solid var(--line);
  background: #f1f5f9;
}

.course-plan-page .pill.cod {
  color: #1d4ed8;
  background: #eaf1ff;
  border: 1px solid #c7dbff;
}

.course-plan-page .pill.non {
  background: var(--amber-soft);
  color: #0B3D7A;
  border: 1px solid #fde68a;
}

.course-plan-page section {
  padding: 26px 0;
}

.course-plan-page .phase {
  margin-top: 40px;
}

.course-plan-page .phase-head {
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  display: flex;
}

.course-plan-page .phase-idx {
  font-family: var(--font-body);
  letter-spacing: .16em;
  color: #fff;
  text-transform: uppercase;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-radius: 999px;
  align-items: center;
  padding: 5px 12px;
  font-size: .7rem;
  font-weight: 700;
  display: inline-flex;
  box-shadow: 0 6px 16px -6px #1F5FAF8c;
}

.course-plan-page .phase-head h2 {
  letter-spacing: -.01em;
  font-size: clamp(1.5rem, 3.2vw, 2.05rem);
  font-weight: 700;
}

.course-plan-page .phase-range {
  font-family: var(--font-body);
  color: var(--muted);
  margin-left: auto;
  font-size: .78rem;
}

.course-plan-page .phase-rule {
  opacity: 1;
  background: linear-gradient(90deg, #0B3D7A, #0000);
  border: 0;
  border-radius: 2px;
  height: 2px;
  margin: 0 0 24px;
}

.course-plan-page .weeks {
  gap: 22px;
  display: grid;
}

.course-plan-page .week {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  opacity: 0;
  border-radius: 16px;
  grid-template-columns: 64px 1fr;
  gap: 22px;
  padding: 22px 24px;
  transition: opacity .5s, transform .28s cubic-bezier(.34, 1.4, .6, 1), box-shadow .28s, border-color .28s;
  display: grid;
  position: relative;
  transform: translateY(14px);
}

.course-plan-page .week.in {
  opacity: 1;
  transform: none;
}

.course-plan-page .week.in:hover {
  border-color: #e2e8f0;
  transform: translateY(-4px);
  box-shadow: 0 20px 44px -20px #0f172a38;
}

.course-plan-page .week:before {
  content: "";
  opacity: .95;
  background: linear-gradient(#0B3D7A, #1F5FAF);
  border-radius: 3px;
  width: 3px;
  transition: width .28s, background .28s;
  position: absolute;
  top: 22px;
  bottom: 22px;
  left: 0;
}

.course-plan-page .week.in:hover:before {
  width: 5px;
}

.course-plan-page .week.cap.in:hover {
  border-color: #e2e8f0;
  box-shadow: 0 20px 44px -20px #0f172a38;
}

.course-plan-page .wk-head {
  cursor: pointer;
  border-radius: 10px;
  margin: -4px -6px 0;
  padding: 4px 6px;
  transition: background .18s;
  position: relative;
}

.course-plan-page .wk-head:hover {
  background: none;
}

.course-plan-page .wk-head:focus-visible {
  outline: 2px solid var(--gold-deep);
  outline-offset: 2px;
}

.course-plan-page .wk-head .wk-tagline {
  margin-bottom: 0;
}

.course-plan-page .wk-chev {
  width: 12px;
  height: 12px;
  transition: transform .28s;
  position: absolute;
  top: 12px;
  right: 12px;
}

.course-plan-page .wk-chev:before {
  content: "";
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  width: 8px;
  height: 8px;
  position: absolute;
  top: 0;
  left: 1px;
  transform: rotate(45deg);
}

.course-plan-page .week.open .wk-chev {
  transform: rotate(180deg);
}

.course-plan-page .wk-detail {
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s;
  display: grid;
}

.course-plan-page .wk-detail-in {
  min-height: 0;
  overflow: hidden;
}

.course-plan-page .week.open .wk-detail-in {
  padding-top: 15px;
}

.course-plan-page .week.open .wk-detail {
  grid-template-rows: 1fr;
}

.course-plan-page .wk-num {
  font-family: var(--font-display);
  text-align: left;
  padding-left: 12px;
  font-weight: 700;
}

.course-plan-page .wk-num .w {
  font-family: var(--font-body);
  letter-spacing: .18em;
  color: #475569;
  text-transform: uppercase;
  margin-bottom: 2px;
  font-size: .68rem;
  display: block;
}

.course-plan-page .wk-num .n {
  color: var(--gold-deep);
  font-size: 2.15rem;
  line-height: 1;
}

.course-plan-page .wk-body h3 {
  letter-spacing: -.01em;
  color: #0f1b33;
  margin-bottom: 5px;
  font-size: 1.26rem;
  line-height: 1.22;
}

.course-plan-page .wk-tagline {
  color: #1e293b;
  margin-bottom: 16px;
  font-size: 1.02rem;
  font-weight: 600;
}

.course-plan-page .topics {
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
  display: flex;
}

.course-plan-page .topic {
  color: #334155;
  background: #eef2f7;
  border: 1px solid #dce3ec;
  border-radius: 8px;
  padding: 5px 11px;
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.3;
  transition: background .2s, border-color .2s, color .2s, transform .2s;
}

.course-plan-page .topic:hover {
  transform: translateY(-1px);
}

.course-plan-page .builds {
  gap: 8px;
  margin-bottom: 12px;
  display: grid;
}

.course-plan-page .build {
  align-items: flex-start;
  gap: 10px;
  font-size: 1rem;
  line-height: 1.5;
  display: flex;
}

.course-plan-page .build .pill {
  flex: none;
  margin-top: 1px;
}

.course-plan-page .build span {
  color: #0f1b33;
  font-weight: 600;
}

.course-plan-page .tools {
  font-family: var(--font-body);
  color: #1e293b;
  border-top: 1px dashed var(--line);
  padding-top: 11px;
  font-size: .84rem;
  font-weight: 500;
  line-height: 1.6;
}

.course-plan-page .tools b {
  color: #0f1b33;
  letter-spacing: .04em;
  font-weight: 700;
}

.course-plan-page .usecase {
  border: 1px solid var(--line);
  background: #f8fafc;
  border-radius: 10px;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 14px;
  padding: 9px 34px 9px 12px;
  display: flex;
  position: relative;
}

.course-plan-page .usecase .uc-tag {
  font-family: var(--font-body);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-radius: 6px;
  flex: none;
  margin-top: 1px;
  padding: 4px 8px;
  font-size: .58rem;
  font-weight: 700;
}

.course-plan-page .usecase b {
  font-family: var(--font-display);
  color: #0f1b33;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
}

.course-plan-page .check {
  border-top: 1px dashed var(--line);
  color: #1e293b;
  align-items: flex-start;
  gap: 8px;
  margin-top: 11px;
  padding-top: 11px;
  font-size: .9rem;
  font-weight: 400;
  line-height: 1.5;
  display: flex;
}

.course-plan-page .check .ck-ic {
  color: var(--gold-deep);
  flex: none;
  font-weight: 700;
}

.course-plan-page .check b {
  color: #0f1b33;
  font-weight: 700;
}

.course-plan-page .proj-flag {
  font-family: var(--font-body);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-radius: 999px;
  align-items: center;
  gap: 7px;
  margin-bottom: 11px;
  padding: 5px 11px;
  font-size: .63rem;
  font-weight: 700;
  display: inline-flex;
}

.course-plan-page .proj-consol {
  font-family: var(--font-body);
  color: var(--muted);
  border-top: 1px dashed var(--line);
  margin-top: 11px;
  padding-top: 11px;
  font-size: .8rem;
}

.course-plan-page .scaffold {
  color: #475569;
  border: 1px solid var(--line);
  background: #f8fafc;
  border-radius: 9px;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 12px;
  padding: 9px 12px;
  font-size: .86rem;
  line-height: 1.45;
  display: flex;
}

.course-plan-page .scaffold .sc-ic {
  flex: none;
  margin-top: 1px;
}

.course-plan-page .week.cap {
  color: #0f1b33;
  background: linear-gradient(#eff6ff, #dbeafe);
  border-color: #bfdbfe;
}

.course-plan-page .week.cap:before {
  background: linear-gradient(#60a5fa, #2563eb);
}

.course-plan-page .week.cap .wk-num .n {
  color: #1d4ed8;
}

.course-plan-page .week.cap .wk-num .w {
  color: #64748b;
}

.course-plan-page .week.cap .wk-tagline {
  color: #1e293b;
}

.course-plan-page .week.cap h3 {
  color: #0f1b33;
}

.course-plan-page .week.cap .topic {
  color: #1d4ed8;
  background: #dbeafe;
  border-color: #bfdbfe;
}

.course-plan-page .week.cap .build span {
  color: #0f1b33;
}

.course-plan-page .week.cap .tools {
  color: #1e293b;
  border-color: #bfdbfe;
}

.course-plan-page .week.cap .tools b {
  color: #0f1b33;
}

.course-plan-page .week.cap .pill.all {
  color: #1d4ed8;
  background: #e0eaff;
  border-color: #c7dbff;
}

.course-plan-page .week.cap .usecase {
  background: #dbeafe;
  border-color: #bfdbfe;
}

.course-plan-page .week.cap .usecase b {
  color: #0f1b33;
}

.course-plan-page .week.cap .usecase .uc-tag {
  color: #fff;
  background: linear-gradient(135deg, #2563eb 0%, #60a5fa 100%);
}

.course-plan-page .week.cap .check {
  color: #1e293b;
  border-color: #bfdbfe;
}

.course-plan-page .week.cap .check .ck-ic {
  color: #1d4ed8;
}

.course-plan-page .week.cap .check b {
  color: #0f1b33;
}

.course-plan-page .outcome-banner {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 20px;
  margin-top: 44px;
  padding: 34px 32px;
}

.course-plan-page .outcome-banner h2 {
  margin-bottom: 6px;
  font-size: 1.5rem;
}

.course-plan-page .outcome-banner p.k {
  color: var(--muted);
  margin: 0 0 22px;
  font-size: .95rem;
}

.course-plan-page .grid4 {
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  display: grid;
}

.course-plan-page .oc {
  border-left: 2px solid var(--brand);
  padding-left: 14px;
}

.course-plan-page .oc .h {
  font-family: var(--font-display);
  margin-bottom: 4px;
  font-size: .95rem;
  font-weight: 600;
}

.course-plan-page .oc .d {
  color: var(--muted);
  font-size: .84rem;
}

.course-plan-page .included {
  margin-top: 44px;
}

.course-plan-page .included h2 {
  font-family: var(--font-display);
  margin: 0 0 4px;
  font-size: 1.5rem;
}

.course-plan-page .included p.k {
  color: var(--muted);
  margin: 0 0 20px;
  font-size: .95rem;
}

.course-plan-page .inc-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.course-plan-page .inc-card {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 14px;
  flex-direction: column;
  padding: 20px;
  transition: transform .25s cubic-bezier(.34, 1.4, .6, 1), box-shadow .25s, border-color .25s;
  display: flex;
}

.course-plan-page .inc-card:hover {
  box-shadow: var(--shadow-hover);
  border-color: #2563eb6b;
  transform: translateY(-4px);
}

.course-plan-page .inc-card .ic-ic {
  background: var(--brand-soft);
  border: 1px solid #bfdbfe;
  border-radius: 10px;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 13px;
  font-size: 1.15rem;
  display: grid;
}

.course-plan-page .inc-card h3 {
  font-family: var(--font-display);
  margin: 0 0 5px;
  font-size: 1.02rem;
}

.course-plan-page .inc-card p {
  color: var(--muted);
  flex: 1;
  margin: 0 0 13px;
  font-size: .86rem;
  line-height: 1.5;
}

.course-plan-page .inc-link {
  font-family: var(--font-body);
  letter-spacing: .03em;
  color: var(--brand-deep);
  background: var(--brand-soft);
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  align-self: flex-start;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  font-size: .72rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s;
  display: inline-flex;
}

.course-plan-page .inc-link:hover {
  background: #dbeafe;
}

@media (max-width: 820px) {
  .course-plan-page .inc-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .course-plan-page .inc-grid {
    grid-template-columns: 1fr;
  }
}

.course-plan-page #view-prereq, .course-plan-page #view-projects {
  padding-top: 6px;
}

.course-plan-page .prq-hero {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-left: 5px solid #1F5FAF;
  border-radius: 18px;
  margin-top: 24px;
  padding: 30px;
}

.course-plan-page .prq-badge {
  font-family: var(--font-body);
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 5px 12px;
  font-size: .64rem;
  font-weight: 700;
  display: inline-flex;
  box-shadow: 0 6px 16px -6px #1F5FAF8c;
}

.course-plan-page .prq-hero h2 {
  font-family: var(--font-display);
  color: var(--ink);
  margin: 0 0 8px;
  font-size: 1.9rem;
}

.course-plan-page .prq-hero p.lead {
  color: #1e293b;
  max-width: 58ch;
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}

.course-plan-page .prq-block {
  margin-top: 32px;
}

.course-plan-page h3.prq-h {
  font-family: var(--font-display);
  letter-spacing: -.01em;
  color: var(--ink);
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  font-size: clamp(1.5rem, 3.2vw, 2.05rem);
  font-weight: 700;
  display: flex;
}

.course-plan-page h3.prq-h:before {
  content: "";
  background: linear-gradient(#0B3D7A, #1F5FAF);
  border-radius: 3px;
  flex: none;
  width: 8px;
  height: 26px;
}

.course-plan-page .prq-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  display: grid;
}

.course-plan-page .prq-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 900px) {
  .course-plan-page .prq-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 700px) {
  .course-plan-page .prq-grid-3 {
    grid-template-columns: 1fr;
  }
}

.course-plan-page .prq-card {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 14px;
  padding: 18px 20px;
}

.course-plan-page .prq-card h3 {
  font-family: var(--font-display);
  color: #0f1b33;
  align-items: center;
  gap: 9px;
  margin: 0 0 12px;
  font-size: 1.02rem;
  display: flex;
}

.course-plan-page .prq-card h3 .pn {
  font-family: var(--font-body);
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-radius: 6px;
  flex: none;
  place-items: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  font-size: .72rem;
  font-weight: 700;
  display: grid;
  box-shadow: 0 4px 10px -4px #1F5FAF80;
}

.course-plan-page .prq-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.course-plan-page .prq-card li {
  color: #1f2937;
  margin-bottom: 10px;
  padding-left: 20px;
  font-size: .93rem;
  line-height: 1.55;
  position: relative;
}

.course-plan-page .prq-card li:before {
  content: "✓";
  color: var(--gold-deep);
  font-weight: 700;
  position: absolute;
  left: 0;
}

.course-plan-page .prq-card li b {
  color: var(--ink);
}

.course-plan-page .prq-card .sub {
  font-family: var(--font-body);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin: 18px 0 8px;
  font-size: .74rem;
  font-weight: 800;
}

.course-plan-page .prq-card .prq-lead-in {
  color: var(--ink);
  margin: 0 0 12px;
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.5;
}

.course-plan-page .prq-card .sub.first {
  margin-top: 0;
}

.course-plan-page .prq-wide {
  grid-column: 1 / -1;
}

.course-plan-page .fit-yes h3 {
  color: var(--gold-deep);
}

.course-plan-page .fit-no {
  background: #fffbeb;
  border-color: #fde68a;
}

.course-plan-page .fit-no h3 {
  color: #0B3D7A;
}

.course-plan-page .fit-no li:before {
  content: "—";
  color: var(--amber);
}

.course-plan-page .modules {
  gap: 9px;
  display: grid;
}

.course-plan-page .module {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 10px;
  align-items: baseline;
  gap: 12px;
  padding: 12px 15px;
  display: flex;
}

.course-plan-page .module .mnum {
  font-family: var(--font-body);
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-radius: 5px;
  flex: none;
  padding: 3px 7px;
  font-size: .7rem;
  font-weight: 700;
  box-shadow: 0 4px 10px -4px #1F5FAF80;
}

.course-plan-page .module .mtitle {
  color: var(--ink);
  font-size: .93rem;
  font-weight: 600;
}

.course-plan-page .module .mtime {
  font-family: var(--font-body);
  color: var(--muted);
  flex: none;
  margin-left: auto;
  font-size: .72rem;
}

.course-plan-page .cost-note {
  color: #475569;
  background: var(--amber-soft);
  border: 1px solid #fde68a;
  border-radius: 10px;
  margin-top: 14px;
  padding: 12px 15px;
  font-size: .85rem;
  line-height: 1.55;
}

.course-plan-page .cost-note b {
  color: var(--gold-deep);
}

.course-plan-page .faq {
  gap: 12px;
  display: grid;
}

.course-plan-page .faq-item {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 14px;
  padding: 16px 18px;
}

.course-plan-page .faq-item .q {
  font-family: var(--font-display);
  color: var(--ink);
  margin-bottom: 5px;
  font-size: .98rem;
  font-weight: 600;
}

.course-plan-page .faq-item .a {
  color: #334155;
  font-size: .93rem;
  line-height: 1.55;
}

.course-plan-page .faq-item .a b {
  color: var(--gold-deep);
}

.course-plan-page .prq-cta {
  color: #cfe0d6;
  background: #0b1220;
  border-radius: 16px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-top: 32px;
  padding: 26px 28px;
  display: flex;
}

.course-plan-page .prq-cta .t {
  font-family: var(--font-display);
  color: #fff;
  font-size: 1.15rem;
}

.course-plan-page .prq-cta .t span {
  font-family: var(--font-body);
  color: #94a3b8;
  margin-top: 4px;
  font-size: .88rem;
  font-weight: 400;
  display: block;
}

.course-plan-page .prq-cta a {
  background: var(--gold);
  color: #fff;
  font-family: var(--font-display);
  white-space: nowrap;
  border-radius: 11px;
  padding: 12px 22px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s;
}

.course-plan-page .prq-cta a:hover {
  background: #d97706;
}

@media (max-width: 700px) {
  .course-plan-page .prq-grid {
    grid-template-columns: 1fr;
  }

  .course-plan-page .prq-hero {
    padding: 24px 20px;
  }
}

.course-plan-page .lvl-head {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  display: flex;
}

.course-plan-page .lvl-tag {
  font-family: var(--font-body);
  letter-spacing: .06em;
  color: #fff;
  text-transform: uppercase;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-radius: 999px;
  align-items: center;
  padding: 5px 12px;
  font-size: .72rem;
  font-weight: 700;
  display: inline-flex;
  box-shadow: 0 6px 16px -6px #1F5FAF8c;
}

.course-plan-page .lvl-count {
  font-family: var(--font-body);
  color: #334155;
  margin-left: auto;
  font-size: .88rem;
  font-weight: 600;
}

.course-plan-page .proj-list {
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  display: grid;
}

.course-plan-page .proj-item {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  grid-row: span 3;
  grid-template-rows: subgrid;
  border-radius: 14px;
  gap: 10px;
  padding: 16px 18px;
  transition: transform .22s, box-shadow .22s, border-color .22s;
  display: grid;
}

.course-plan-page .proj-item:hover {
  border-color: #e2e8f0;
  transform: translateY(-3px);
  box-shadow: 0 16px 34px -16px #0f172a3d;
}

.course-plan-page .proj-item-head {
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.course-plan-page .proj-num {
  font-family: var(--font-body);
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-radius: 9px;
  flex: none;
  place-items: center;
  min-width: 32px;
  height: 32px;
  font-size: .82rem;
  font-weight: 700;
  display: grid;
  box-shadow: 0 5px 12px -4px #1F5FAF80;
}

.course-plan-page .proj-title {
  font-family: var(--font-display);
  color: #0f1b33;
  letter-spacing: -.01em;
  margin: 0;
  font-size: 1.26rem;
  font-weight: 700;
  line-height: 1.22;
}

.course-plan-page .proj-ind {
  font-family: var(--font-body);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gold-deep);
  background: var(--amber-soft);
  border: 1px solid #fde68a;
  border-radius: 6px;
  margin-top: 7px;
  padding: 3px 9px;
  font-size: .66rem;
  font-weight: 700;
  display: inline-block;
}

.course-plan-page p.proj-desc {
  font-family: var(--font-body);
  color: #1e293b;
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
}

.course-plan-page p.proj-teaches {
  font-family: var(--font-body);
  color: #1e293b;
  border-top: 1px dashed var(--line);
  margin: 0;
  padding-top: 11px;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.5;
}

.course-plan-page p.proj-teaches b {
  color: var(--gold-deep);
  font-weight: 700;
}

@media (max-width: 720px) {
  .course-plan-page .proj-list {
    grid-template-columns: 1fr;
  }
}

.course-plan-page .lvl-card h3 {
  color: #0f1b33;
  font-size: 1.26rem;
  line-height: 1.24;
}

.course-plan-page .lvl-card > p {
  color: #1e293b !important;
  font-size: 1rem !important;
}

.course-plan-page .lvl-card li {
  font-size: 1rem;
}

@media (max-width: 820px) {
  .course-plan-page .stats {
    border-radius: 12px;
    grid-template-columns: repeat(2, 1fr);
    width: 92%;
    max-width: 420px;
    margin-top: -40px;
  }

  .course-plan-page .stat {
    padding: 14px 12px;
  }

  .course-plan-page .stat .n {
    font-size: 1.45rem;
  }

  .course-plan-page .stat .l {
    margin-top: 5px;
    font-size: .72rem;
  }

  .course-plan-page .grid4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .course-plan-page .wrap:not(.hero-inner) {
    padding: 0 18px;
  }

  .course-plan-page .hero-inner {
    padding: 104px 18px 64px;
  }

  .course-plan-page .week {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 20px;
  }

  .course-plan-page .week:before {
    display: none;
  }

  .course-plan-page .wk-num {
    align-items: baseline;
    gap: 10px;
    padding-left: 0;
    display: flex;
  }

  .course-plan-page .wk-num .w {
    margin: 0;
  }

  .course-plan-page .wk-num .n {
    font-size: 1.6rem;
  }

  .course-plan-page .stats {
    grid-template-columns: 1fr 1fr;
  }

  .course-plan-page .legend {
    gap: 10px 14px;
  }

  .course-plan-page .legend .lbl {
    flex: 0 0 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .course-plan-page .week {
    transition: none;
    opacity: 1 !important;
    transform: none !important;
  }

  .course-plan-page .week.in:hover, .course-plan-page .inc-card:hover {
    transform: none !important;
  }

  .course-plan-page .inc-card {
    transition: box-shadow .25s, border-color .25s;
  }
}

@media print {
  .course-plan-page .hero:after, .course-plan-page .viewtabs {
    display: none;
  }

  .course-plan-page .view[hidden] {
    display: block !important;
  }

  .course-plan-page .week, .course-plan-page .phase .phase-head, .course-plan-page .phase .phase-rule {
    box-shadow: none;
    break-inside: avoid;
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .course-plan-page .wk-num .n {
    transform-origin: 0;
    transition: transform .3s cubic-bezier(.34, 1.4, .6, 1), color .2s;
  }

  .course-plan-page .week.in:hover .wk-num .n {
    transform: scale(1.1);
  }

  .course-plan-page .usecase .uc-tag {
    transition: transform .22s;
  }

  .course-plan-page .week.in:hover .usecase .uc-tag {
    transform: scale(1.05);
  }

  .course-plan-page .phase .phase-head, .course-plan-page .phase .phase-rule {
    opacity: 0;
    transition: opacity .6s, transform .6s cubic-bezier(.34, 1.3, .6, 1);
    transform: translateY(14px);
  }

  .course-plan-page .phase.in .phase-head {
    opacity: 1;
    transform: none;
  }

  .course-plan-page .phase.in .phase-rule {
    opacity: 1;
    transition-delay: 80ms;
    transform: none;
  }

  .course-plan-page .hero-cta .btn-primary, .course-plan-page .prq-cta a {
    position: relative;
    overflow: hidden;
  }

  .course-plan-page .hero-cta .btn-primary:after, .course-plan-page .prq-cta a:after {
    content: "";
    pointer-events: none;
    background: linear-gradient(120deg, #0000, #ffffff8c, #0000);
    width: 55%;
    height: 100%;
    position: absolute;
    top: 0;
    left: -140%;
    transform: skewX(-20deg);
  }

  .course-plan-page .hero-cta .btn-primary:hover:after, .course-plan-page .prq-cta a:hover:after {
    animation: .85s cp-sheen;
  }

  .course-plan-page .hero-cta .btn-primary span {
    transition: transform .2s;
    display: inline-block;
  }

  .course-plan-page .hero-cta .btn-primary:hover span {
    transform: translateX(4px);
  }

  .course-plan-page .hero:before {
    content: "";
    pointer-events: none;
    background: radial-gradient(closest-side, #3878ff29, #0000 70%);
    width: 60%;
    height: 120%;
    animation: 14s ease-in-out infinite alternate cp-heroGlow;
    position: absolute;
    top: -30%;
    right: -10%;
  }

  .course-plan-page .hero-cta .btn-primary {
    animation: 2.6s ease-in-out infinite cp-enrollPulse;
  }
}

@keyframes cp-sheen {
  from {
    left: -140%;
  }

  to {
    left: 150%;
  }
}

@keyframes cp-heroGlow {
  from {
    opacity: .7;
    transform: translate(0) scale(1);
  }

  to {
    opacity: 1;
    transform: translate(-6%, 4%) scale(1.15);
  }
}

@keyframes cp-enrollPulse {
  0%, 100% {
    box-shadow: 0 0 #0B3D7A00, 0 6px 20px #1F5FAF57;
  }

  50% {
    box-shadow: 0 0 22px #0B3D7A8c, 0 6px 20px #1F5FAF57;
  }
}

.course-plan-page .usecase .uc-tag {
  background: linear-gradient(135deg, #b47e12 0%, #0B3D7A 100%);
  margin-right: 4px;
  padding: 5px 10px;
  font-size: .66rem;
}

.course-plan-page .outcome-banner h2 {
  margin-bottom: 12px;
  font-weight: 700;
}

.course-plan-page .oc .d, .course-plan-page .outcome-banner p.k, .course-plan-page .included p.k {
  color: #475569;
}

.course-plan-page .inc-card p {
  color: #475569;
  font-size: .875rem;
}

.course-plan-page .included p.k {
  margin-bottom: 24px;
}

.course-plan-page .inc-grid {
  grid-auto-rows: 1fr;
}

@media (max-width: 560px) {
  .course-plan-page .inc-grid {
    grid-auto-rows: auto;
  }
}

.course-plan-page .inc-card:last-child:nth-child(3n+1) {
  grid-column: 2;
}

@media (max-width: 820px) {
  .course-plan-page .inc-card:last-child:nth-child(3n+1) {
    grid-column: auto;
  }

  .course-plan-page .inc-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: calc(50% - 8px);
    margin-inline: auto;
  }
}

@media (max-width: 560px) {
  .course-plan-page .inc-card:last-child:nth-child(odd) {
    grid-column: auto;
    max-width: none;
    margin-inline: 0;
  }
}

.course-plan-page .inc-card p {
  color: #334155;
}

.course-plan-page .inc-card h3 {
  margin-bottom: 8px;
}

.course-plan-page .inc-link {
  background: #dbeafe;
  border-color: #93c5fd;
  padding: 7px 13px;
  font-size: .8rem;
  font-weight: 700;
}

.course-plan-page .inc-link:hover {
  background: #bfdbfe;
  border-color: #60a5fa;
}

.course-plan-page .cp-phase-collapsed {
  display: none;
}

.course-plan-page .cp-show-more {
  font-family: var(--font-body);
  color: var(--brand-deep);
  background: var(--brand-soft);
  cursor: pointer;
  border: 1px solid #93c5fd;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin: 8px auto 28px;
  padding: 12px 26px;
  font-size: .9rem;
  font-weight: 700;
  transition: background .15s, border-color .15s;
  display: flex;
}

.course-plan-page .cp-show-more:hover {
  background: #dbeafe;
  border-color: #60a5fa;
}

/* Careers list, role details and application form */
.careers-page .cr-hero .cr-back {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 18px;
  color: var(--gold-pale, #c4b5fd);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.careers-page .cr-hero .cr-back:hover { color: #fff; }
.careers-page .cr-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
  gap: 22px;
}
.careers-page .cr-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px;
  text-align: left;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 10px 26px -18px rgba(10, 15, 30, .35);
  transition: transform .2s ease, box-shadow .2s ease;
}
.careers-page .cr-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -22px rgba(10, 15, 30, .45); }
.careers-page .cr-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.careers-page .cr-card-head h3 { margin: 0; color: #0a0f1e; font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; line-height: 1.35; }
.careers-page .cr-tag { flex: 0 0 auto; padding: 4px 10px; color: var(--brand-deep, #3b2fc9); background: #f1efff; border: 1px solid #d8d3ff; border-radius: 999px; font-size: .72rem; font-weight: 700; }
.careers-page .cr-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 12px 0; color: #64748b; font-size: .85rem; }
.careers-page .cr-meta span { display: inline-flex; align-items: center; gap: 5px; }
.careers-page .cr-meta i { color: var(--brand, #4f46e5); }
.careers-page .cr-summary { flex: 1; margin: 0 0 16px; color: #475569; font-size: .95rem; line-height: 1.6; }
.careers-page .cr-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 14px; border-top: 1px solid #e2e8f0; }
.careers-page .cr-salary { color: #0a0f1e; font-size: .95rem; font-weight: 700; }
.careers-page .cr-more { display: inline-flex; align-items: center; gap: 6px; color: var(--brand-deep, #3b2fc9); font-size: .9rem; font-weight: 700; text-decoration: none; }
.careers-page .cr-more:hover { color: var(--brand, #4f46e5); }
.careers-page .cr-empty { max-width: 520px; margin: 20px auto 0; padding: 36px 22px; text-align: center; background: rgba(255,255,255,.82); border: 1px solid #e7e5f4; border-radius: 20px; box-shadow: 0 14px 36px rgba(30, 27, 75, .07); }
.careers-page .cr-empty > i { color: var(--brand, #4f46e5); font-size: 38px; }
.careers-page .cr-empty h2, .careers-page .cr-empty h3 { margin: 14px 0 8px; color: #0f172a; font-family: var(--font-display); font-weight: 700; }
.careers-page .cr-empty p { margin: 0 0 20px; color: #64748b; }
.careers-page .cr-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 40px; align-items: start; text-align: left; }
.careers-page .cr-desc { margin-top: 14px; color: #334155; font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.careers-page .cr-desc h2, .careers-page .cr-desc h3, .careers-page .cr-desc h4 { margin: 24px 0 10px; color: #0f172a; }
.careers-page .cr-desc ul, .careers-page .cr-desc ol { padding-left: 22px; }
.careers-page .cr-desc li { margin: 6px 0; }
.careers-page .cr-apply { position: sticky; top: 96px; padding: 24px; background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; box-shadow: 0 12px 32px rgba(15, 23, 42, .08); }
.careers-page .cr-apply h2 { margin: 0 0 16px; color: #0f172a; font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; }
.careers-page .careerapply label { display: block; margin: 13px 0 5px; color: #334155; font-size: .82rem; font-weight: 700; }
.careers-page .careerapply label b { color: #dc2626; }
.careers-page .careerapply input:not([type=file]), .careers-page .careerapply textarea { box-sizing: border-box; width: 100%; padding: 10px 12px; color: #0f172a; background: #fff; border: 1px solid #cbd5e1; border-radius: 10px; font: inherit; font-size: .92rem; }
.careers-page .careerapply input[type=file] { box-sizing: border-box; width: 100%; padding: 9px; background: #fff; border: 1px solid #cbd5e1; border-radius: 10px; font-size: .83rem; }
.careers-page .careerapply input:focus, .careers-page .careerapply textarea:focus { outline: none; border-color: var(--brand, #4f46e5); box-shadow: 0 0 0 3px rgba(79, 70, 229, .14); }
.careers-page .careerapply textarea { resize: vertical; }
.careers-page .cr-file-hint, .careers-page .cr-fine { display: block; margin-top: 7px; color: #64748b; font-size: .75rem; }
.careers-page .cr-captcha { display: flex; justify-content: center; margin: 14px 0 6px; }
.careers-page .cr-err { margin: 12px 0; padding: 10px 12px; color: #991b1b; background: #fef2f2; border: 1px solid #fecaca; border-radius: 9px; font-size: .85rem; }
.careers-page .cr-btn { display: block; width: 100%; margin-top: 16px; padding: 13px 20px; color: #fff; background: var(--rx-grad, linear-gradient(135deg,#4f46e5,#7c3aed)); border: 0; border-radius: 999px; box-shadow: 0 6px 20px rgba(79, 70, 229, .22); font-weight: 700; cursor: pointer; }
.careers-page .cr-btn:disabled { opacity: .65; cursor: wait; }
.careers-page .cr-thanks { padding: 16px 4px; text-align: center; }
.careers-page .cr-thanks-ic { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 12px; color: #15803d; background: #dcfce7; border-radius: 50%; font-size: 28px; }
.careers-page .cr-thanks h3 { margin: 8px 0; color: #0f172a; }
.careers-page .cr-thanks p { color: #475569; }
.careers-page .cr-state { min-height: 56vh; display: flex; align-items: center; justify-content: center; }
@media (max-width: 900px) { .careers-page .cr-detail-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } .careers-page .cr-apply { position: static; } }
@media (max-width: 600px) { .careers-page .cr-card-head { flex-direction: column; } .careers-page .cr-card { padding: 20px; } .careers-page .cr-apply { padding: 20px; } }

.course-plan-page .inc-card .ic-ic svg, .course-plan-page.wscp .ic-ic svg {
  width: 20px;
  height: 20px;
  color: var(--brand-deep);
  stroke-width: 2px;
}

.course-plan-page .cost-note svg {
  vertical-align: -2px;
  stroke-width: 2px;
  flex: none;
  width: 15px;
  height: 15px;
  margin-right: 2px;
  display: inline;
}

.course-plan-page .wk-num .d {
  font-family: var(--font-body);
  letter-spacing: .04em;
  color: #475569;
  white-space: nowrap;
  margin-top: 12px;
  font-size: .64rem;
  font-weight: 600;
  line-height: 1.3;
  display: block;
}

.course-plan-page .wk-num .d .dl {
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .62rem;
  display: block;
}

.course-plan-page .week.cap .wk-num .d {
  color: #64748b;
}

.course-plan-page .sched-note {
  color: var(--muted);
  margin: 10px 2px 0;
  font-size: .84rem;
  line-height: 1.55;
}

.course-plan-page .uc-list {
  grid-template-columns: repeat(2, 1fr);
  gap: 9px 28px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.course-plan-page .uc-list li {
  color: #1e293b;
  align-items: flex-start;
  gap: 9px;
  font-size: .92rem;
  line-height: 1.45;
  display: flex;
}

.course-plan-page .uc-list .uc-ck {
  color: var(--brand);
  flex: none;
  font-weight: 700;
}

@media (max-width: 640px) {
  .course-plan-page .uc-list {
    grid-template-columns: 1fr;
  }
}

.course-plan-page .legend .lg-flag {
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-radius: 5px;
  flex: none;
  place-items: center;
  width: 16px;
  height: 16px;
  font-size: .6rem;
  display: inline-grid;
}

.course-plan-page .brochure {
  background: linear-gradient(135deg,#fffdf7 0%,var(--surface) 62%);
  box-shadow: var(--shadow);
  border: 1px solid #f0e2c2;
  border-radius: 16px;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 28px;
  margin: 26px 0 8px;
  padding: 26px 30px;
  display: grid;
}

.course-plan-page .br-eyebrow {
  font-family: var(--font-body);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin-bottom: 6px;
  font-size: .7rem;
  font-weight: 700;
  display: block;
}

.course-plan-page .brochure h2 {
  font-family: var(--font-display);
  margin: 0 0 6px;
  font-size: 1.5rem;
}

.course-plan-page .brochure p {
  color: var(--muted);
  max-width: 64ch;
  margin: 0;
  font-size: .92rem;
  line-height: 1.6;
}

.course-plan-page .br-action {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  display: flex;
}

.course-plan-page .br-action .btn-primary {
  white-space: nowrap;
  font-family: var(--font-display);
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-radius: 999px;
  align-items: center;
  gap: 9px;
  padding: 14px 26px;
  font-size: .98rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform .16s, box-shadow .16s, filter .16s;
  display: inline-flex;
  box-shadow: 0 8px 20px -6px #1F5FAF80;
}

.course-plan-page .br-action .btn-primary:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px -6px #1F5FAF99;
}

.course-plan-page .br-meta {
  font-family: var(--font-body);
  color: var(--muted);
  font-size: .76rem;
}

.course-plan-page .br-alt {
  color: var(--brand-deep);
  font-size: .8rem;
  text-decoration: underline;
}

.course-plan-page .br-alt:hover {
  color: var(--brand);
}

@media (max-width: 720px) {
  .course-plan-page .brochure {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 22px;
  }

  .course-plan-page .br-action {
    text-align: left;
    align-items: flex-start;
  }

  .course-plan-page .br-action .btn-primary {
    justify-content: center;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .course-plan-page .br-action .btn-primary:hover {
    transform: none !important;
  }
}

.lgl-page {
  font-family: var(--font-body);
  --gold: #1F5FAF;
  --gold-light: #0B3D7A;
  --ink: #0a0f1e;
  --text: #0f172a;
  --text-sec: #475569;
  --text-muted: #64748b;
  --border: #e2e8f0;
  --surface: #fff;
  --cloud: #f8fafc;
  color: var(--text);
  background: var(--surface);
}

.lgl-nav {
  z-index: 50;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  background: #fffffff2;
  justify-content: space-between;
  align-items: center;
  padding: 14px 24px;
  display: flex;
  position: sticky;
  top: 0;
}

.lgl-nav-cta {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform .18s, box-shadow .18s;
  display: inline-flex;
  color: #fff !important;
}

.lgl-nav-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px -10px #1F5FAFb3;
}

.lgl-hero {
  background: var(--ink);
  text-align: center;
  padding: 64px 24px 56px;
  position: relative;
  overflow: hidden;
}

.lgl-hero-grid {
  background-image: linear-gradient(#ffffff0a 1px, #0000 1px), linear-gradient(90deg, #ffffff0a 1px, #0000 1px);
  background-size: 48px 48px;
  position: absolute;
  inset: 0;
}

.lgl-hero-glow-left, .lgl-hero-glow-right {
  filter: blur(90px);
  pointer-events: none;
  border-radius: 50%;
  width: 420px;
  height: 420px;
  position: absolute;
}

.lgl-hero-glow-left {
  background: #1F5FAF33;
  top: -140px;
  left: -120px;
}

.lgl-hero-glow-right {
  background: #3884ff24;
  bottom: -180px;
  right: -120px;
}

.lgl-hero-inner {
  z-index: 2;
  max-width: 820px;
  margin: 0 auto;
  position: relative;
  padding: 45px 24px 0px;
}

.lgl-badge {
  color: var(--gold-light);
  letter-spacing: .12em;
  text-transform: uppercase;
  background: #1F5FAF26;
  border: 1px solid #1F5FAF59;
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  margin-bottom: 26px;
  padding: 6px 16px;
  font-size: .7rem;
  font-weight: 700;
  display: inline-flex;
}

.lgl-page .lgl-hero h1 {
  letter-spacing: -.02em;
  color: #fff;
  margin: 0 0 16px;
  font-size: clamp(30px, 5vw, 52px);
  font-weight: 800;
  line-height: 1.12;
}

.lgl-page .lgl-hero h1 .gold-text {
  background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold));
  -webkit-text-fill-color: transparent;
  background-size: 200%;
  -webkit-background-clip: text;
  background-clip: text;
  animation: 3s linear infinite lgl-shimmer;
  display: block;
}

@keyframes lgl-shimmer {
  to {
    background-position: 200%;
  }
}

.lgl-page .lgl-hero p {
  color: #ffffffb8;
  max-width: 620px;
  margin: 0 auto 26px;
  font-size: 1rem;
  line-height: 1.75;
}

.lgl-hero-chips {
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  display: flex;
}

.lgl-hero-chip {
  letter-spacing: .02em;
  color: #ffffffd9;
  background: #ffffff0d;
  border: 1px solid #ffffff29;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  font-size: .78rem;
  display: inline-flex;
}

.lgl-hero-chip .dot {
  background: var(--gold-light);
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.lgl-body {
  padding: 56px 24px 72px;
}

.lgl-container {
  max-width: 1040px;
  margin: 0 auto;
}

.lgl-grid {
  grid-template-columns: 260px 1fr;
  align-items: start;
  gap: 40px;
  display: grid;
}

.lgl-rail-sticky {
  position: sticky;
  top: 88px;
}

.lgl-rail-label {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
  font-size: .7rem;
  font-weight: 700;
}

.lgl-rail-nav {
  border-left: 1px solid var(--border);
  flex-direction: column;
  display: flex;
}

.lgl-rail-link {
  color: var(--text-muted);
  border-left: 2px solid #0000;
  margin-left: -1px;
  padding: 10px 0 10px 16px;
  font-size: .9rem;
  line-height: 1.35;
  text-decoration: none;
  transition: color .16s, border-color .16s;
}

.lgl-rail-link:hover {
  color: var(--text);
}

.lgl-rail-link.is-active {
  border-left-color: var(--gold);
  color: var(--gold);
  font-weight: 700;
}

.lgl-tabs {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 26px;
  display: none;
}

.lgl-tab {
  border: 1px solid var(--border);
  color: var(--text-sec);
  background: var(--surface);
  border-radius: 999px;
  padding: 8px 15px;
  font-size: .78rem;
  font-weight: 600;
  text-decoration: none;
}

.lgl-tab.is-active {
  border-color: var(--gold);
  color: var(--gold);
  background: #1F5FAF1a;
  font-weight: 700;
}

.lgl-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 34px;
  box-shadow: 0 20px 50px -34px #0f172a59;
}

.lgl-card-head {
  border-bottom: 1px solid var(--border);
  margin-bottom: 6px;
  padding-bottom: 20px;
}

.lgl-page .lgl-card-head h2 {
  letter-spacing: -.015em;
  color: var(--text);
  margin: 0;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  line-height: 1.2;
}

.lgl-eff {
  color: var(--text-muted);
  margin: 8px 0 0;
  font-size: .82rem;
}

.lgl-sec {
  border-top: 1px solid var(--border);
  margin-top: 26px;
  padding-top: 26px;
}

.lgl-sec:first-of-type {
  border-top: 0;
  margin-top: 0;
  padding-top: 24px;
}

.lgl-page .lgl-sec h3 {
  letter-spacing: -.01em;
  color: var(--text);
  margin: 0 0 10px;
  font-size: 1.05rem;
  font-weight: 700;
}

.lgl-page .lgl-sec p {
  color: var(--text-sec);
  margin: 0 0 12px;
  font-size: .94rem;
  line-height: 1.85;
}

.lgl-page .lgl-sec p:last-child {
  margin-bottom: 0;
}

.lgl-pager {
  justify-content: space-between;
  gap: 14px;
  margin-top: 24px;
  display: flex;
}

.lgl-pager a {
  color: var(--text-sec);
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 100px;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-size: .85rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .16s, color .16s;
  display: inline-flex;
}

.lgl-pager a:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.lgl-contact {
  background: var(--ink);
  border-radius: 20px;
  margin-top: 26px;
  padding: 30px 32px;
  position: relative;
  overflow: hidden;
}

.lgl-contact:before {
  content: "";
  background-image: linear-gradient(#ffffff0a 1px, #0000 1px), linear-gradient(90deg, #ffffff0a 1px, #0000 1px);
  background-size: 40px 40px;
  position: absolute;
  inset: 0;
}

.lgl-contact > * {
  z-index: 2;
  position: relative;
}

.lgl-page .lgl-contact h3 {
  color: #fff;
  margin: 0 0 6px;
  font-size: 1.25rem;
  font-weight: 800;
}

.lgl-page .lgl-contact p {
  color: #ffffffa6;
  margin: 0 0 18px;
  font-size: .88rem;
}

.lgl-contact-row {
  flex-wrap: wrap;
  gap: 12px 26px;
  display: flex;
}

.lgl-contact-row a {
  color: #fff;
  align-items: center;
  gap: 8px;
  font-size: .86rem;
  font-weight: 500;
  text-decoration: none;
  transition: color .16s;
  display: inline-flex;
}

.lgl-contact-row a:hover {
  color: var(--gold-light);
}

.lgl-contact-row svg {
  color: var(--gold-light);
  flex-shrink: 0;
}

.lgl-footer {
  background: var(--ink);
  text-align: center;
  border-top: 1px solid #ffffff14;
  padding: 26px 24px;
}

.lgl-page .lgl-footer p {
  color: #ffffff73;
  margin: 0;
  font-size: .82rem;
}

@media (max-width: 900px) {
  .lgl-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .lgl-rail {
    display: none;
  }

  .lgl-tabs {
    display: flex;
  }

  .lgl-card {
    padding: 26px 20px;
  }

  .lgl-body {
    padding: 40px 18px 56px;
  }

  .lgl-hero {
    padding: 48px 20px 44px;
  }

  .lgl-pager {
    flex-direction: column;
  }

  .lgl-pager a {
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .lgl-hero-chips {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }

  .lgl-hero-chip {
    justify-content: center;
    width: min(100%, 260px);
  }
}

:root {
  --bg: #fff;
  --bg-surface: #f7f9fc;
  --bg-raised: #eef2f7;
  --bg-overlay: #fffffff7;
  --bg-dark: #0f172a;
  --bg-dark-2: #1e293b;
  --bg-dark-3: #334155;
  --bg-footer: #0a0f1e;
  --border: #e2e8f0;
  --border-em: #cbd5e1;
  --border-gold: #1F5FAF59;
  --gold: #1F5FAF;
  --gold-light: #0B3D7A;
  --gold-pale: #5AA9F0;
  --gold-grd: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  --gold-glow: 0 4px 20px #1F5FAF40;
  --t1: #0f172a;
  --t2: #475569;
  --t3: #94a3b8;
  --t-inv: #fff;
  --t1-dark: #f1f5f9;
  --t2-dark: #94a3b8;
  --sh-xs: 0 1px 2px #0f172a0d;
  --sh-sm: 0 1px 4px #0f172a12, 0 1px 2px #0f172a0a;
  --sh-md: 0 4px 16px #0f172a14, 0 2px 6px #0f172a0d;
  --sh-lg: 0 12px 40px #0f172a1f, 0 4px 12px #0f172a0f;
  --sh-gold: inset 0 1px 0 #ffffff4d,
        0 1px 2px #5a3c0a47,
        0 8px 20px -8px #1F5FAF8c;
  --sh-gold-hover: inset 0 1px 0 #ffffff61,
        0 2px 4px #5a3c0a3d,
        0 14px 28px -8px #1F5FAF99;
  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 28px;
  --r-pill: 999px;
  --ease: cubic-bezier(.4,0,.2,1);
  --t-fast: .15s;
  --t-base: .28s;
  --t-slow: .45s;
  --dark-green: #0f172a;
  --deep-green: #1e293b;
  --ivory: #fff;
  --soft-ivory: #f7f9fc;
  --accent-yellow: #1F5FAF;
  --text-dark: #0f172a;
  --text-light: #f1f5f9;
  --text-medium: #475569;
  --accent-gold: #1F5FAF;
  --primary: #1F5FAF;
  --text-muted: #94a3b8;
}

@keyframes goldShimmer {
  0% {
    background-position: -200%;
  }

  100% {
    background-position: 200%;
  }
}

@keyframes softPulse {
  0%, 100% {
    opacity: .5;
  }

  50% {
    opacity: 1;
  }
}

@keyframes floatY {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-12px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

*, :before, :after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

body:not(.rt-home) {
  font-family: var(--font-body);
  color: #0f172a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #fff;
  line-height: 1.6;
}

body:not(.rt-home) :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-display);
  letter-spacing: -.025em;
  color: #0f172a;
  margin-bottom: .5em;
  font-weight: 700;
  line-height: 1.2;
}

.hero-text h1, .hero-section h1.display-4 {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  color: #f1f5f9;
  font-weight: 700;
}

body:not(.rt-home) p {
  color: #475569;
  font-size: 15.5px;
  line-height: 1.75;
}

.chip, .career-desc, .duration, .project-desc, .card-desc, .hero-subtext, .outcome-desc {
  font-family: var(--font-body);
  color: #475569;
  line-height: 1.7;
}

.hero-section .hero-subtext, .hero-section .hero-subtext span, .hero-section .card-desc {
  color: #cbd5e1;
  font-size: 16px;
}

.navbar-expand-lg {
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  transition: box-shadow var(--t-slow) var(--ease), border-color var(--t-slow) var(--ease);
  border-bottom: 1px solid #e2e8f0;
  box-shadow: 0 1px 8px #0f172a0f;
  background: #fffffffa !important;
}

.navbar-expand-lg.active {
  border-bottom: 1px solid #e2e8f0;
  box-shadow: 0 2px 20px #0f172a1a;
  background: #fff !important;
}

.custom-nav .nav-link {
  font-family: var(--font-body);
  letter-spacing: .005em;
  white-space: nowrap;
  border-radius: var(--r-sm);
  transition: color var(--t-fast) var(--ease);
  background: none;
  border: 0;
  font-size: 15px;
  font-weight: 700;
  color: #0f172a !important;
  padding: 8px 14px !important;
}

.custom-nav .nav-link:hover, .custom-nav .nav-link:focus-visible {
  background: none;
  color: var(--gold, #1F5FAF) !important;
}

.custom-nav .nav-link.active,
.custom-nav .nav-item.active > .nav-link {
  background: none;
  color: var(--gold, #1F5FAF) !important;
  position: relative;
}

.custom-nav .nav-link.active::after,
.custom-nav .nav-item.active > .nav-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 14px;
  right: 14px;
  height: 2.5px;
  background: var(--gold, #1F5FAF);
  border-radius: 99px;
}

.custom-nav .nav-link.active .fa,
.custom-nav .nav-item.active > .nav-link .fa {
  color: var(--gold, #1F5FAF);
  opacity: 0.9;
}

.navbar .dropdown ul a.active {
  background: #1F5FAF14;
  padding-left: 22px;
  color: var(--gold, #1F5FAF) !important;
  font-weight: 700;
}

@media (max-width: 990px) {
  .custom-nav .nav-link.active::after,
  .custom-nav .nav-item.active > .nav-link::after {
    left: 25%;
    right: 25%;
    bottom: -2px;
  }
}

.custom-nav .enroll-btn, .custom-nav .signin-btn {
  white-space: nowrap;
}

.navbar ul {
  font-family: var(--font-body);
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.navbar li {
  position: relative;
}

.navbar ul a {
  text-decoration: none;
}

.navbar-toggler {
  border-radius: var(--r-sm);
  background: #0f172a0a;
  border: 1px solid #e2e8f0;
  padding: 8px 11px;
}

.navbar-toggler-icon {
  filter: none;
}

.navbar .dropdown ul {
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  border-radius: var(--r-md);
  min-width: 220px;
  transition: opacity var(--t-base) var(--ease), top var(--t-base) var(--ease);
  background: #fff;
  border: 1px solid #e2e8f0;
  margin: 0;
  padding: 6px 0;
  display: none;
  position: absolute;
  top: calc(100% + 14px);
  left: 0;
  box-shadow: 0 8px 32px #0f172a1f;
}

.navbar .dropdown ul li {
  min-width: 200px;
}

.navbar .dropdown ul a {
  font-family: var(--font-body);
  transition: color var(--t-fast), background var(--t-fast), padding-left var(--t-fast);
  padding: 9px 18px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  display: block;
  color: #334155 !important;
}

.navbar .dropdown ul a:hover {
  background: #1F5FAF0f;
  padding-left: 22px;
  color: var(--gold) !important;
}

.navbar .dropdown:hover > ul {
  opacity: 1;
  visibility: visible;
  display: block;
  top: 100%;
}

.navbar a .fa {
  opacity: .45;
  margin-left: 3px;
  font-size: 9px;
}

.navbar a:not(.enroll-btn):not(.signin-btn):hover, .navbar li:hover > a:not(.enroll-btn):not(.signin-btn) {
  color: var(--gold) !important;
}

.navbar-collapse {
  margin-right: 0;
}

.enroll-btn {
  background: var(--gold-grd);
  border-radius: var(--r-pill);
  font-family: var(--font-body);
  letter-spacing: .03em;
  box-shadow: var(--sh-gold);
  transition: filter var(--t-base), transform var(--t-base), box-shadow var(--t-base);
  border: none;
  font-size: 13px;
  font-weight: 700;
  color: #fff !important;
  padding: 8px 22px !important;
}

.enroll-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
  box-shadow: 0 6px 28px #1F5FAF66;
  color: #fff !important;
}

.signin-btn {
  border-radius: var(--r-pill);
  font-family: var(--font-body);
  transition: all var(--t-base) var(--ease);
  background: none;
  border: 1.5px solid #cbd5e1;
  margin-left: 18px;
  font-size: 13px;
  font-weight: 600;
  color: #475569 !important;
  padding: 7px 18px !important;
}

.signin-btn:hover {
  border-color: #94a3b8;
  color: #0f172a !important;
  background: #0f172a0d !important;
}

.btn-neon {
  color: #475569;
  border-radius: var(--r-pill);
  cursor: pointer;
  font-family: var(--font-body);
  transition: all var(--t-base);
  background: none;
  border: 1.5px solid #cbd5e1;
  padding: 7px 18px;
  font-weight: 600;
}

.btn-neon:hover {
  color: #0f172a;
  background: #0f172a0d;
  border-color: #94a3b8;
}

.logo {
  height: 34px;
}

.hero-section {
  z-index: 1;
  background-color: #0f172a;
  padding-top: 132px;
  padding-bottom: 32px;
  position: relative;
}

.hero-section:before {
  content: "";
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle, #1F5FAF14 0%, #0000 65%);
  border-radius: 50%;
  width: 700px;
  height: 700px;
  animation: 5s ease-in-out infinite softPulse;
  position: absolute;
  top: -150px;
  left: -250px;
}

.hero-section:after {
  content: "";
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle, #6375a01a 0%, #0000 60%);
  border-radius: 50%;
  width: 500px;
  height: 500px;
  animation: 6s ease-in-out 2s infinite softPulse;
  position: absolute;
  top: 60px;
  right: -80px;
}

.hero-section > *, .hero-section .container-fluid {
  z-index: 1;
  position: relative;
}

.hero-text h1 {
  color: #f1f5f9;
  line-height: 1.13;
}

.hero-text h1 em, .hero-text h1 span.txtcgyellow {
  background: var(--gold-grd);
  -webkit-text-fill-color: transparent;
  font-style: italic;
  font-family: var(--font-display);
  background-size: 200%;
  -webkit-background-clip: text;
  background-clip: text;
  animation: 4s linear infinite goldShimmer;
  display: block;
}

.hero-subtext {
  color: #94a3b8;
  max-width: 520px;
  margin-bottom: 24px;
  font-size: 16px;
  line-height: 1.75;
}

.hero-subtext.q {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
  display: flex;
}

.hero-subtext.q span {
  font-family: var(--font-body);
  color: #94a3b8;
  border-radius: var(--r-pill);
  transition: all var(--t-base) var(--ease);
  background: #ffffff0d;
  border: 1px solid #ffffff1f;
  align-items: center;
  gap: 8px;
  padding: 7px 15px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.hero-subtext.q span:hover {
  border-color: var(--border-gold);
  color: var(--gold-light);
  background: #1F5FAF1f;
}

.hero-subtext.q span i {
  color: var(--gold);
  background: none;
  padding: 0;
}

.hero-section a.bp {
  background: var(--gold-grd);
  color: #fff;
  border-radius: var(--r-md);
  font-family: var(--font-body);
  box-shadow: var(--sh-gold);
  transition: filter var(--t-base), transform var(--t-base), box-shadow var(--t-base);
  border: none;
  margin-right: 12px;
  font-size: 14px;
  font-weight: 700;
}

.hero-section a.bp:hover {
  color: #fff;
  filter: saturate(1.06) brightness(1.06);
  box-shadow: var(--sh-gold-hover);
  transform: translateY(-2px);
}

.hero-section a.bp:active {
  filter: brightness(.98);
  transform: translateY(0);
  box-shadow: inset 0 2px 4px #5a3c0a4d, 0 1px 2px #5a3c0a3d;
}

.hero-section a.vp {
  color: #94a3b8;
  border-radius: var(--r-md);
  font-family: var(--font-body);
  transition: all var(--t-base) var(--ease);
  background: none;
  border: 1.5px solid #ffffff26;
  font-size: 14px;
  font-weight: 600;
}

.hero-section a.vp:hover {
  color: #f1f5f9;
  background: #ffffff12;
  border-color: #ffffff4d;
  transform: translateY(-2px);
}

.hero-section .badge-row {
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
  display: flex;
}

.hero-section .badge {
  border-radius: var(--r-pill);
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 5px 14px;
  font-size: 11px;
  font-weight: 700;
}

.hero-section .badge-intermediate {
  color: var(--gold-light);
  border: 1px solid var(--border-gold);
  background: #1F5FAF26;
}

.hero-section .badge-duration {
  color: #94a3b8;
  background: #ffffff0f;
  border: 1px solid #ffffff1f;
}

.hero-section .chip-head {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
  display: flex;
}

.hero-section .chip-head .chip {
  border-radius: var(--r-pill);
  color: var(--gold-light);
  font-size: 11px;
  font-weight: 600;
  font-family: var(--font-body);
  background: #1F5FAF1a;
  border: 1px solid #1F5FAF40;
  padding: 5px 13px;
}

.floating-img {
  filter: drop-shadow(0 20px 48px #0006);
  width: 420px;
  animation: 5s ease-in-out infinite floatY;
}

.full-section {
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: 40%;
  padding-bottom: 60px;
  position: relative;
  overflow: hidden;
  background-color: #0f172a !important;
  background-image: url(../images/slide1.png") !important;
}

.btn-custom {
  border-radius: var(--r-pill);
  font-family: var(--font-body);
  background: var(--gold-grd);
  color: #fff;
  box-shadow: var(--sh-gold);
  transition: filter var(--t-base), transform var(--t-base), box-shadow var(--t-base);
  border: none;
  padding: 11px 28px;
  font-size: 14px;
  font-weight: 700;
}

.btn-custom:hover {
  color: #fff;
  filter: brightness(1.08);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px #1F5FAF66;
}

.know-more {
  color: var(--gold);
  font-weight: 600;
  font-family: var(--font-body);
  text-decoration: none;
}

.know-more:hover {
  color: var(--gold-light);
  text-decoration: underline;
}

.swiper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  border-radius: var(--r-md);
  transition: border-color var(--t-base), transform var(--t-base), box-shadow var(--t-base);
  justify-content: center;
  align-items: center;
  margin: 10px;
  padding: 14px 18px;
  display: flex;
  box-shadow: 0 2px 8px #0f172a0d;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
}

.swiper-slide:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #0f172a14;
  border-color: #1F5FAF66 !important;
}

.swiper-slide img {
  object-fit: contain;
  filter: grayscale() opacity(.55);
  width: 100%;
  height: 57px;
  transition: filter var(--t-base);
}

.swiper-slide:hover img {
  filter: grayscale(0%) opacity();
}

#decidecareer .form-container img {
  width: 150px;
  margin-right: 20px;
}

.container-fluid .row, .container .row {
  overflow: clip;
}

a.navbar-brand {
  align-items: center;
  display: flex;
}

.container, .container-md, .container-sm {
  max-width: 91%;
}

.ti_section {
  width: 100%;
  padding: 80px 0;
  display: block;
}

.ti_flex_wrapper {
  align-items: center;
  display: flex;
}

.ti_heading_wraper {
  z-index: 1;
  text-align: left;
  display: inline-block;
  position: relative;
}

.ti_heading_wraper > span {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: -50px;
  transform: translateY(-50%);
}

.ti_heading_wraper > h1 {
  text-transform: capitalize;
  font-size: 50px;
  font-weight: 800;
}

.ti_counseling_slider {
  width: 100%;
  padding-right: 70px;
  display: flex;
}

.ti_counseling_slider .ti_counseling_slide {
  z-index: 1;
  width: 100%;
  position: relative;
}

.ti_counseling_gradient_border {
  z-index: -1;
  background-image: linear-gradient(-145deg, #1F5FAF 0%, #0B3D7A 100%);
  width: 56.5%;
  position: absolute;
  top: -5px;
  bottom: -5px;
  right: -5px;
}

.ti_counseling_gradient_border:after {
  content: "";
  z-index: -1;
  background-color: #fff;
  position: absolute;
  inset: 5px;
}

.col-lg-push-9 {
  left: 75%;
}

.col-lg-pull-3 {
  right: 25%;
}

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9 {
  float: left;
}

.ti_counseling_img {
  width: 370px;
  position: relative;
}

.ti_counseling_inner {
  background-color: #fff;
  width: calc(100% - 430px);
  padding: 30px;
}

.ti_counseling_inner .chip {
  color: #7a520a;
  font-size: 11px;
  font-weight: 700;
  font-family: var(--font-body);
  letter-spacing: .02em;
  background: #1F5FAF1f;
  border: 1px solid #1F5FAF66;
  border-radius: 100px;
  padding: 3px 12px;
  display: inline-block;
}

.ti_counseling_inner > h2 {
  color: #009746;
  text-transform: capitalize;
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 600;
}

.ti_counseling_inner > h2 a {
  color: #1a3c2e;
}

.ti_btn {
  text-align: center;
  text-transform: capitalize;
  width: 100%;
  max-width: 155px;
  height: 44px;
  line-height: 44px;
  font-family: var(--font-body);
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  margin-top: 22px;
  font-weight: 700;
  text-decoration: none;
  transition: filter .25s, transform .25s, box-shadow .25s;
  display: block;
  box-shadow: 0 2px 10px #1F5FAF4d;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 0 20px !important;
  font-size: 13px !important;
}

.ti_btn:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #1F5FAF66;
}

.owl-carousel button.owl-dot {
  opacity: .45;
  background-color: #1F5FAF;
  border-radius: 6px;
  width: 6px;
  height: 6px;
  margin: 2px;
  transition: all .35s cubic-bezier(.4, 0, .2, 1);
}

.owl-carousel button.owl-dot.active {
  opacity: 1;
}

.owl-dots .owl-dot.active {
  width: 20px;
}

.owl-dots .owl-dot > span {
  display: none !important;
}

.flipeffect .owl-item {
  transition-duration: .6s;
  transform: perspective(2500px) rotateY(280deg);
}

.flipeffect .owl-item.active {
  transform: perspective(2500px) rotateY(0);
}

.training-section {
  justify-content: space-between;
  align-items: stretch;
  gap: 40px;
  margin: auto;
  padding: 62px 0;
  display: flex;
}

.training-left {
  flex: 1;
}

.training-left h2 {
  color: #222;
  margin-bottom: 10px;
  font-size: 32px;
}

.training-left p {
  color: #444;
  margin-bottom: 20px;
  font-size: 16px;
}

.training-left ul {
  margin-bottom: 30px;
  padding-left: 20px;
}

.training-left ul li {
  color: #333;
  margin-bottom: 10px;
  font-size: 15px;
}

.training-section .cta-btn {
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  font-family: var(--font-body);
  letter-spacing: .02em;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border: none;
  border-radius: 100px;
  margin-bottom: 20px;
  padding: 13px 30px;
  font-weight: 700;
  transition: filter .25s, transform .25s, box-shadow .25s;
  box-shadow: 0 3px 14px #1F5FAF59;
}

.training-section .cta-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
  box-shadow: 0 7px 22px #1F5FAF73;
}

.training-right {
  justify-content: center;
}

.training-right img {
  width: 100%;
  max-height: 350px;
}

@media (max-width: 900px) {
  .training-section {
    flex-direction: column;
  }

  .training-right {
    min-height: 200px;
  }
}

.testimonial-section {
  background: #f7f5f0;
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}

.testimonial-container {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
}

.testimonial-text {
  flex: 45%;
}

.testimonial-text h2 {
  color: #0d0d0d;
  font-size: 2.4rem;
  font-family: var(--font-display);
  letter-spacing: -.02em;
  margin-bottom: 22px;
  font-weight: 700;
  line-height: 1.25;
}

.testimonial-text p {
  color: #555;
  margin-bottom: 40px;
  font-size: 16px;
  line-height: 1.8;
}

.client-info {
  align-items: center;
  gap: 15px;
  display: flex;
}

.client-info h4 {
  color: #111;
  margin: 0;
  font-weight: 600;
}

.client-info p {
  color: #666;
  margin: 2px 0 8px;
  font-size: 14px;
}

.quote {
  color: #1F5FAF;
  opacity: .8;
  font-size: 40px;
}

.stars i {
  color: #1F5FAF;
  margin-right: 3px;
}

.testimonial-avatars {
  flex: 45%;
  height: 400px;
  position: relative;
}

.avatar {
  border-radius: 40px;
  justify-content: flex-end;
  align-items: center;
  width: 140px;
  height: 70px;
  padding-right: 10px;
  transition: transform .3s;
  display: flex;
  position: absolute;
}

.avatar img {
  object-fit: cover;
  border: 4px solid #fff;
  border-radius: 50%;
  width: 60px;
  height: 60px;
}

.avatar.yellow {
  background-color: #ffcb05;
  top: 30px;
  left: 180px;
}

.avatar.red {
  background-color: #f44336;
  top: 60px;
  right: 120px;
}

.avatar.pink {
  background-color: #ff5fa2;
  top: 150px;
  left: 100px;
}

.avatar.blue {
  background-color: #00bcd4;
  top: 210px;
  right: 160px;
}

.avatar.purple {
  background-color: #8e24aa;
  bottom: 40px;
  left: 180px;
}

.avatar.green {
  background-color: #4caf50;
  bottom: 40px;
  right: 100px;
}

.avatar:hover {
  transform: scale(1.1);
}

.circle-btn {
  color: #ff6f61;
  border: 1px solid #ff6f61;
  border-radius: 50%;
  padding: 10px;
  font-size: 30px;
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 900px) {
  .testimonial-container {
    text-align: center;
    flex-direction: column;
  }

  .testimonial-avatars {
    display: none;
  }
}

.hero-metrics {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 15px;
  display: grid;
}

.metric-card {
  text-align: center;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 4px 2px;
  box-shadow: 0 2px 12px #0f172a12;
}

.metric-value {
  font-size: 21px;
  font-weight: 800;
}

.metric-label {
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 5px;
  font-size: 10px;
  font-weight: 600;
}

.hero-stats {
  gap: 40px;
  display: flex;
}

.stat {
  align-items: center;
  gap: 10px;
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 14px;
  display: flex;
}

.stat-icon {
  background: #fff;
  border: 1px solid #000;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
}

.full-section {
  background-image: url(../images/rag-retrieval-systems.png");
  background-position: 100% 0;
  background-repeat: no-repeat;
  background-size: 50%;
}

.full-section .sub_title {
  font-size: 12px;
  font-weight: bold;
}

.program-card {
  text-align: center;
  background: #fff;
  border: 1px solid #e8e3d8;
  border-radius: 20px;
  padding: 26px;
  transition: transform .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s cubic-bezier(.4, 0, .2, 1), border-color .3s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px #00000012;
}

.program-card:before {
  content: "";
  transform-origin: 0;
  background: linear-gradient(90deg, #1F5FAF, #0B3D7A);
  height: 3px;
  transition: transform .3s cubic-bezier(.4, 0, .2, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform: scaleX(0);
}

.program-card:hover {
  border-color: #1F5FAF4d;
  transform: translateY(-8px);
  box-shadow: 0 20px 50px #00000021;
}

.program-card:hover:before {
  transform: scaleX(1);
}

:has( > .program-card:only-child):hover > .program-card {
  border-color: #1F5FAF4d;
  transform: translateY(-8px);
  box-shadow: 0 20px 50px #00000021;
}

:has( > .program-card:only-child):hover > .program-card:before {
  transform: scaleX(1);
}

:has( > .program-card:only-child):hover > .program-card .program-img {
  transform: scale(1.02);
}

.program-img {
  border-radius: 14px;
  width: 100%;
  transition: transform .4s cubic-bezier(.4, 0, .2, 1);
}

.program-card:hover .program-img {
  transform: scale(1.02);
}

.programs-section .program-card h6 {
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 11.5px;
  font-weight: 600;
}

.programs-section .program-card li {
  color: #475569;
  text-align: left;
  font-size: 13px;
}

.programs-section .program-card .box {
  color: #fff;
  background: #0000008c;
  border-radius: 6px;
  padding: 10px 0;
  font-size: 11px;
}

.pink-btn {
  color: #fff;
  font-family: var(--font-body);
  letter-spacing: .02em;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border: none;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 700;
  transition: filter .25s, transform .25s, box-shadow .25s;
  box-shadow: 0 2px 10px #1F5FAF4d;
}

.dark-btn {
  color: #fff;
  font-family: var(--font-body);
  background: #141414;
  border-radius: 100px;
  font-weight: 700;
  transition: background .25s, transform .25s;
}

.dark-btn:hover {
  color: #fff;
  background: #000;
  transform: translateY(-1px);
}

.fade-in-left {
  opacity: 0;
  animation: 1s ease-out forwards fadeInLeft;
  transform: translateX(-50px);
}

.fade-in-right {
  opacity: 0;
  animation: 1s ease-out forwards fadeInRight;
  transform: translateX(50px);
}

@keyframes fadeInLeft {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.slide-up {
  opacity: 0;
  animation: 1s ease-out forwards slideUp;
  transform: translateY(40px);
}

.delay-1 {
  animation-delay: .2s;
}

.delay-2 {
  animation-delay: .4s;
}

@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.whatwedo {
  background: #fafaf7;
  padding: 40px 0;
}

.whatwedo .head, .whatwedo .sub-head {
  text-align: center;
}

.whatwedo .list {
  background: #fff;
  border: 1.5px solid #e8e3d8;
  border-radius: 18px;
  margin-top: 25px;
  margin-bottom: 25px;
  padding: 28px;
  transition: transform .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s, border-color .3s, background .3s;
  position: relative;
  top: 0;
  box-shadow: 0 4px 20px #0000000f;
}

.whatwedo .grid_inline:hover > .list, .whatwedo .list:hover {
  background: #1F5FAF0a;
  border-color: #1F5FAF;
  top: -6px;
  box-shadow: 0 12px 36px #0000001a;
}

.whatwedo .list svg {
  stroke: #000;
  width: 3rem;
  height: 3rem;
}

.whatwedo .list:hover svg {
  stroke: #1F5FAF;
}

.whatwedo .list h4 {
  font-size: 19px;
  font-family: var(--font-display);
  color: #141414;
  margin-top: 10px;
  font-weight: 700;
}

.whatwedo .list p {
  color: #000;
  font-size: 15px;
}

.whatwedo .list ul {
  padding-left: 17px;
}

.whatwedo .list ul li {
  color: #334155;
  padding: 0 0 4px;
  font-size: 15.5px;
}

.whatwedo .list .tools-grid {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 15px;
  display: flex;
}

.whatwedo .list .chip {
  color: #333;
  background: #e0e0e0;
  border-radius: 20px;
  margin-bottom: 8px;
  margin-right: 8px;
  padding: 3px 6px;
  font-size: 10px;
  display: inline-block;
}

.whatwedo .list .c {
  color: #fff;
  text-align: center;
  background: #000;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 10px;
  font-weight: bold;
  position: absolute;
  top: -20px;
  left: -8px;
}

.tech-section {
  text-align: center;
  padding: 20px;
}

.tech-section h2 {
  margin-bottom: 10px;
  font-size: 2.2rem;
  font-weight: 700;
}

.tech-section h2 span {
  color: #ff5722;
  border-bottom: 4px solid #ff5722;
  padding-bottom: 5px;
}

.tech-section p {
  color: #666;
  max-width: 700px;
  margin: 0 auto 40px;
  line-height: 1.6;
}

.grid_inline {
  align-content: stretch;
  place-items: stretch stretch;
  display: inline-grid;
}

.tech-tabs {
  border-bottom: 1px solid #ddd;
  justify-content: center;
  gap: 25px;
  margin-bottom: 30px;
  padding-bottom: 10px;
  display: flex;
}

.tab {
  color: #00114d;
  cursor: pointer;
  background: none;
  border: none;
  padding: 10px 15px;
  font-size: 16px;
  font-weight: 600;
  transition: all .3s;
  position: relative;
}

.tab.active {
  color: #ff5722;
}

.tab.active:after {
  content: "";
  background: #ff5722;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.tech-grid {
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
  margin-top: 40px;
  display: none;
}

.tech-grid.active {
  display: flex;
}

.tech-card {
  background: #f9f9f9;
  border-radius: 12px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 180px;
  height: 75px;
  transition: all .3s;
  display: flex;
}

.tech-card:hover {
  background: #fff;
  transform: translateY(-8px);
  box-shadow: 0 8px 18px #0000001a;
}

.tech-card img {
  height: 40px;
  margin-bottom: 12px;
}

.tech-card p {
  color: #1a1a1a;
  margin: 0;
  font-size: 15px;
  font-weight: 500;
}

@media (max-width: 768px) {
  .tech-card {
    width: 45%;
  }
}

@media (max-width: 480px) {
  .tech-card {
    width: 90%;
  }
}

.wireframe-section {
  background: #fafafa;
  padding: 30px;
  position: relative;
  overflow: hidden;
}

.wireframe-section .section-label {
  color: #fff;
  letter-spacing: 1px;
  background: #333;
  border-radius: 3px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  position: absolute;
  top: -20px;
  left: 10px;
}

.wireframe-section .text-block p {
  color: #555;
  margin-bottom: 10px;
  font-size: 14px;
}

.wireframe-section .grid-3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  display: grid;
}

.wireframe-section .project-card {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 20px;
}

.wireframe-section .project-icon {
  background: #e0e0e0;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  font-size: 20px;
  display: flex;
}

.wireframe-section .project-number {
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF, #0B3D7A);
  border-radius: 12px;
  margin-bottom: 15px;
  padding: 8px 14px;
  font-size: 28px;
  font-weight: 800;
  display: inline-block;
}

.wireframe-section .project-title {
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
}

.wireframe-section .project-desc {
  color: #666;
  margin-bottom: 10px;
  font-size: 12px;
}

.wireframe-section .tools-grid {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 15px;
  display: flex;
}

.wireframe-section .chip {
  color: #7a520a;
  font-size: 11px;
  font-weight: 700;
  font-family: var(--font-body);
  background: #1F5FAF1f;
  border: 1px solid #1F5FAF59;
  border-radius: 100px;
  margin-bottom: 6px;
  margin-right: 6px;
  padding: 4px 12px;
  display: inline-block;
}

.career-section {
  background: #fafafa;
  padding: 30px;
  position: relative;
  overflow: hidden;
}

.career-section .section-label {
  color: #fff;
  letter-spacing: 1px;
  background: #333;
  border-radius: 3px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  position: absolute;
  top: -20px;
  left: 10px;
}

.career-section .text-block p {
  color: #555;
  margin-bottom: 10px;
  font-size: 14px;
}

.career-section .grid-3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  display: grid;
}

.career-section .career-card {
  text-align: center;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 20px;
}

.career-section .career-icon {
  background: #e0e0e0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin: 0 auto 12px;
  font-size: 24px;
  display: flex;
}

.career-section .career-title {
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: 700;
}

.career-section .career-desc {
  color: #666;
  font-size: 12px;
}

.cta-section {
  text-align: center;
  background: linear-gradient(#fff6f5, #fffdfb);
  padding: 41px 20px;
  position: relative;
  overflow: hidden;
}

.cta-subtitle {
  color: #1F5FAF;
  font-size: 13px;
  font-family: var(--font-body);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-weight: 700;
}

.cta-title {
  color: #0a093d;
  margin-bottom: 40px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}

.cta-button {
  color: #0a093d;
  background: #f0f8ff;
  border: 2px solid #0a093d;
  border-radius: 18px;
  justify-content: center;
  align-items: center;
  margin: 5px;
  padding: 7px 23px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s;
  display: flex;
  box-shadow: 0 8px 16px #0000000d;
}

.cta-section .cta-button i {
  margin-left: 10px;
  position: relative;
  top: 2px;
  right: 5px;
  font-size: 31px !important;
}

.cta-section .quote {
  color: #000;
  margin-top: 10px;
  font-size: 14px;
}

.cta-section .cta-button {
  color: #fff;
  font-size: 12px;
  font-family: var(--font-body);
  background: linear-gradient(135deg, #1F5FAF, #0B3D7A);
  border: none;
  border-radius: 100px;
  padding: 8px 18px;
  font-weight: 700;
  box-shadow: 0 2px 10px #1F5FAF4d;
}

.cta-button:hover {
  filter: brightness(1.1);
  color: #fff;
  transform: translateY(-2px);
}

.cta-call {
  color: #000;
  margin-top: 11px;
  font-size: 19px;
  font-weight: bold;
}

.cta-call i {
  color: #6c6c80;
  margin: 0 5px;
}

.cta-call span {
  color: #5b5be0;
  font-weight: 600;
}

.shape {
  opacity: .9;
  border-radius: 50%;
  position: absolute;
}

.shape-line {
  background: radial-gradient(circle, #0000 40%, #5a5aff0d 42%);
  border-radius: 50%;
  width: 200px;
  height: 200px;
  top: 60px;
  right: 280px;
}

.shape-white {
  background: #fff;
  width: 100px;
  height: 100px;
  display: none;
  top: 40px;
  right: 100px;
}

@media (max-width: 768px) {
  .cta-button {
    padding: 14px 30px;
    font-size: 16px;
  }

  .shape-yellow, .shape-green {
    display: none;
  }
}

.career-tags {
  justify-content: center;
  gap: 8px;
  display: flex;
}

.career-tag {
  color: #fff;
  background: #000;
  border-radius: 8px;
  margin: 5px;
  padding: 6px 14px;
  font-size: 11px;
  font-weight: 600;
}

.projects-section {
  padding: 39px 0;
  position: relative;
}

.projects-section.wireframe-section {
  padding: 30px;
}

.projects-section .section-label {
  color: #fff;
  letter-spacing: 1px;
  background: #333;
  border-radius: 3px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  position: absolute;
  top: -20px;
  left: 10px;
}

.projects-section .text-block p {
  color: #555;
  margin-bottom: 10px;
  font-size: 14px;
}

.projects-section .grid-4 {
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  display: grid;
}

.projects-section .project-card {
  text-align: center;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  place-content: stretch space-evenly;
  place-items: stretch stretch;
  padding: 20px;
  display: inline-grid;
}

.projects-section .project-icon {
  background: #1F5FAF;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin: 0 auto 12px;
  font-size: 24px;
  display: flex;
}

.projects-section .project-badge {
  border: 1px solid var(--border-accent);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #9b7e23;
  background: #c9a2271a;
  align-items: center;
  gap: 8px;
  margin-bottom: 25px;
  padding: 8px 16px;
  font-size: 10px;
  font-weight: 600;
  display: inline-flex;
}

.projects-section .project-course {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 15px;
  font-size: 11px;
  font-weight: 600;
}

.projects-section .project-title {
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: 300;
}

.projects-section .project-desc {
  color: #666;
  font-size: 12px;
}

.projects-section .project-skills {
  flex-wrap: wrap;
  gap: 10px;
}

.projects-section .skill-tag {
  color: #a8a8a8;
  background: #171717;
  border: 1px solid #ffffff0f;
  margin-right: 5px;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 500;
  transition: all .3s;
}

.projects-section .project-outcomes {
  border-top: 1px solid #ffffff0f;
  padding-top: 25px;
}

.projects-section .outcome-label {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ababab;
  margin-bottom: 12px;
  font-size: 10px;
  font-weight: 600;
}

.projects-section .project-outcomes .outcomes-list {
  flex-wrap: wrap;
  gap: 20px;
  display: flex;
}

.projects-section .project-outcomes .outcome-item {
  color: #969696;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  display: flex;
}

.projects-section .project-outcomes .outcome-item:before {
  content: "◆";
  color: #cda62a;
  font-size: 6px;
}

.kidai-section {
  background: #fff;
  padding: 39px 0;
  position: relative;
  overflow: hidden;
}

.kidai-section .section-label {
  color: #fff;
  letter-spacing: 1px;
  background: #333;
  border-radius: 3px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  position: absolute;
  top: -20px;
  left: 10px;
}

.kidai-section .text-block p {
  color: #555;
  margin-bottom: 10px;
  font-size: 14px;
}

.grid-2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  display: grid;
}

.grid-3 {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  display: grid;
}

.grid-4 {
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  display: grid;
}

.grid-5 {
  grid-template-columns: repeat(5, 1fr);
  gap: 15px;
  display: grid;
}

.kidai-section .card {
  text-align: center;
  background: #dbeddb;
  border: 1px solid #ccc;
  border-radius: 6px;
  place-content: stretch space-evenly;
  place-items: stretch stretch;
  padding: 20px;
  display: inline-grid;
}

.kidai-section .card-icon {
  background: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin: 0 auto 12px;
  font-size: 24px;
  display: flex;
}

.kidai-section .card-title {
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: 700;
}

.kidai-section .card-desc {
  color: #666;
  font-size: 12px;
}

.traing-section .grid-2 {
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  display: grid;
}

.track-card {
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 8px;
  flex-direction: column;
  height: 100%;
  padding: 25px;
  transition: border-color .3s;
  display: flex;
  position: relative;
}

.track-card .cta-button {
  margin-top: auto;
}

.track-card .tools-grid {
  margin-top: auto;
  margin-bottom: 12px;
}

.track-card .tools-grid ~ .cta-button {
  margin-top: 0;
}

.track-card:hover {
  border-color: #666;
}

.track-card .track-icon {
  background: #e0e0e0;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin-bottom: 15px;
  font-size: 28px;
  display: flex;
}

.track-card .track-title {
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 700;
}

.track-card .track-audience {
  color: #666;
  margin-bottom: 12px;
  font-size: 12px;
}

.track-card .track-desc {
  color: #555;
  margin-bottom: 15px;
  font-size: 13px;
}

.track-card .track-features {
  color: #666;
  margin-bottom: 15px;
  margin-left: 15px;
  font-size: 12px;
}

.track-card .track-features li {
  margin-bottom: 6px;
}

.whyrivira .card-desc {
  color: #1d5900;
}

.fdelevery .grid-4 {
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  display: grid;
}

.fdelevery .card-icon {
  background: #ffd966;
}

.fdelevery .card {
  background: #fff;
  border: 2px solid #dedede;
  border-radius: 20px;
  margin-top: 25px;
  margin-bottom: 25px;
  padding: 20px;
  transition: all .3s;
  position: relative;
  top: 0;
  box-shadow: 12px 15px #88888829;
}

.industry-badge {
  background: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 30px;
  margin-bottom: 10px;
  margin-right: 10px;
  padding: 10px 22px;
  font-size: 13px;
  font-weight: 600;
  display: inline-block;
}

.program-option {
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 8px;
  flex-direction: column;
  height: 100%;
  padding: 30px;
  display: flex;
  position: relative;
}

.program-option .cta-button {
  margin-top: auto;
}

.program-option.featured {
  border-color: #333;
}

.program-option .featured-badge {
  color: #fff;
  background: #333;
  border-radius: 3px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  position: absolute;
  top: -12px;
  left: 20px;
}

.program-option h3 {
  margin-bottom: 10px;
  font-size: 20px;
}

.program-option .duration {
  color: #666;
  margin-bottom: 15px;
  font-size: 14px;
}

.program-option ul {
  color: #555;
  margin-bottom: 20px;
  margin-left: 20px;
  font-size: 13px;
}

.program-option ul li {
  margin-bottom: 8px;
}

.youwill-section .card {
  background: #fff;
  border: 2px solid #dedede;
  border-radius: 20px;
  margin-top: 25px;
  margin-bottom: 25px;
  padding: 20px;
  transition: all .3s;
  position: relative;
  top: 0;
  box-shadow: 12px 15px #88888829;
}

.youwill-section .card-icon {
  font-size: 41px;
}

.nocodetools-section .card {
  background: #49c48b63;
  border: 3px solid #000;
  border-radius: 6px;
  padding: 20px;
}

.nocodetools-section .chip {
  background: #fff;
  display: inline-block;
}

.aiagent-section {
  background: #fff;
}

.aiagent-section .card-desc {
  color: #000;
  font-size: 16px;
  font-weight: bold;
}

.outcome-section {
  background: #fff;
  padding: 60px 20px;
  overflow: hidden;
}

.outcome-section .outcome-card {
  background: #fff;
  border: 1px solid #000;
  border-radius: 16px;
  gap: 20px;
  padding: 25px;
  transition: all .3s;
  display: flex;
}

.outcome-section .outcome-card:hover {
  border-left: 8px solid green;
  transform: translateX(8px);
}

.outcome-section .outcome-num {
  color: #fff;
  background: #000;
  border-radius: 14px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  font-size: 18px;
  font-weight: 800;
  display: flex;
}

.outcome-section .outcome-icon {
  background: #fff;
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 48px;
  padding: 5px;
  font-size: 35px;
  display: flex;
}

.outcome-title {
  margin-bottom: 5px;
  font-weight: 600;
}

.outcome-desc {
  color: var(--text-secondary);
  font-size: 14px;
}

.section-header {
  text-align: left;
}

.tectstack-section .section-label {
  color: #fff;
  letter-spacing: 1px;
  background: #333;
  border-radius: 3px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
}

.tools-grid {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.tool-chip {
  background: #fff;
  border: 1px solid #000;
  border-radius: 50px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 500;
  transition: all .3s;
}

.prereq-grid {
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  display: grid;
}

.prereq-card {
  background: #ededed;
  border: 1px solid #000;
  border-radius: 16px;
  padding: 30px;
}

.prereq-card.highlight {
  background: #ff33660d;
  border-color: #ff336680;
}

.prereq-title {
  margin-bottom: 15px;
  font-weight: 600;
}

.prereq-list {
  list-style: none;
}

.prereq-list li {
  color: var(--text-secondary);
  padding: 8px 0 8px 20px;
  font-size: 14px;
  position: relative;
}

.prereq-list li:before {
  content: "✓";
  color: var(--accent);
  position: absolute;
  left: 0;
}

.multimodal-section {
  background: #fff;
  padding: 30px 0;
}

.multimodal-section .multimodal-grid {
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  display: grid;
}

.multimodal-section .modal-card {
  text-align: center;
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 40px 30px;
  transition: all .3s;
  box-shadow: 0 10px 40px #00000075;
}

.multimodal-section .arrow {
  color: var(--accent-blue);
  font-size: 30px;
  font-weight: 300;
}

.multimodal-section .modal-icon {
  margin-bottom: 20px;
  font-size: 50px;
}

.multimodal-section .modal-title {
  margin-bottom: 8px;
  font-size: 18px;
  font-weight: 700;
}

.multimodal-section .modal-desc {
  color: var(--text-muted);
  font-size: 13px;
}

.curriculum-section {
  background: #fff;
}

.curriculum-section .module-card {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 20px;
  padding: 30px 25px;
  transition: all .3s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 30px #0000000d;
}

.curriculum-section .module-card:before {
  content: "";
  background: #1F5FAF;
  width: 100%;
  height: 4px;
  position: absolute;
  top: 0;
  left: 0;
}

.curriculum-section .module-card:hover {
  background: #ffd9661f;
  border-color: #1F5FAF;
  top: -5px;
  box-shadow: 6px 6px #88888829;
}

.curriculum-section .module-num {
  width: 40px;
  height: 40px;
  color: var(--accent-blue);
  background: #dde7dd;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  margin-bottom: 18px;
  font-weight: 800;
  display: flex;
}

.curriculum-section .module-title {
  margin-bottom: 15px;
  font-size: 15px;
  font-weight: 700;
}

.curriculum-section .module-number {
  margin-bottom: 15px;
  font-size: 35px;
  font-weight: 700;
}

.curriculum-section .module-topics {
  padding: 0;
  list-style: none;
}

.curriculum-section .module-topics li {
  color: #334155;
  padding: 6px 0 6px 16px;
  font-size: 15px;
  position: relative;
}

.curriculum-section .module-topics li:before {
  content: "→";
  color: var(--accent-violet);
  font-size: 11px;
  position: absolute;
  left: 0;
}

.curriculum-section {
  padding: 40px 20px;
  overflow: hidden;
}

.techno-section {
  background: #fff;
  padding: 60px 20px;
  overflow: hidden;
}

.topic-section {
  padding: 60px 20px;
}

.topics-flow {
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-bottom: 30px;
  display: flex;
}

.topic-pill {
  background: #fff;
  border-radius: 50px;
  align-items: center;
  gap: 12px;
  padding: 20px 35px;
  font-size: 15px;
  font-weight: 600;
  transition: all .3s;
  display: flex;
  box-shadow: 0 4px 15px #0000000f;
}

.topic-pill .icon {
  font-size: 24px;
}

.pipeline-section {
  background: #f9f9f9;
  padding: 80px 0;
  overflow: hidden;
}

.pipeline-grid {
  grid-template-columns: repeat(6, 1fr);
  gap: 15px;
  display: grid;
  position: relative;
}

.pipeline-grid:before {
  content: "";
  opacity: .3;
  z-index: 0;
  background: linear-gradient(90deg, #00deeb, #2a00ff);
  height: 2px;
  position: absolute;
  top: 50%;
  left: 5%;
  right: 5%;
}

.pipeline-step {
  text-align: center;
  z-index: 1;
  background: #f5f5f5;
  border: 2px solid #d3b4b4;
  border-radius: 16px;
  padding: 25px 15px;
  transition: all .3s;
  position: relative;
  box-shadow: 12px 15px #88888829;
}

.pipeline-step:hover {
  border-color: #000;
  transform: translateY(-5px);
}

.pipeline-num {
  width: 36px;
  height: 36px;
  font-family: var(--font-display);
  color: #000;
  background: #decece;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin: 0 auto 15px;
  font-size: 14px;
  font-weight: 800;
  display: flex;
}

.pipeline-title {
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: bold;
}

.pipeline-desc {
  color: #8a8686;
  font-size: 11px;
}

.ltext {
  margin-bottom: 25px;
  text-align: left !important;
}

.ctext {
  text-align: center;
  margin-bottom: 25px;
}

.nonbg {
  background: none !important;
}

.strength-card {
  text-align: center;
  background: #f8f4e9;
  border: 1px solid #000;
  border-radius: 20px;
  padding: 23px 13px;
  transition: all .4s;
  position: relative;
  overflow: hidden;
}

.strength-card:hover {
  border-color: var(--accent-cyan);
  transform: translateY(-12px);
  box-shadow: 0 30px 80px #00e5ff26;
}

.strength-num {
  font-family: var(--font-display);
  color: #000;
  font-size: 59px;
  line-height: 1;
  position: absolute;
  top: 10px;
  right: 20px;
}

.strength-icon {
  color: #000;
  background: #ffd966;
  justify-content: center;
  align-items: center;
  width: 90px;
  height: 90px;
  margin: 0 auto 14px;
  font-size: 40px;
  display: flex;
}

.strength-title {
  font-family: var(--font-display);
  letter-spacing: 1px;
  margin-bottom: 15px;
  font-size: 26px;
}

.strength-desc {
  color: var(--text-gray);
  font-size: 15px;
  line-height: 1.9;
}

.training-cta {
  background: linear-gradient(135deg, #f7f9fc 0%, #eef2f7 100%);
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  grid-template-columns: 1.5fr 1fr;
  align-items: center;
  gap: 60px;
  padding: 90px 70px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.training-content h2 {
  font-family: var(--font-display);
  letter-spacing: 2px;
  color: var(--bg-dark);
  margin-bottom: 25px;
  font-size: 54px;
  line-height: 1.1;
}

.training-content p {
  color: #000000b3;
  margin-bottom: 35px;
  font-size: 19px;
  line-height: 1.8;
}

.training-benefits {
  flex-wrap: wrap;
  gap: 15px;
  display: flex;
}

.benefit-tag {
  color: #0f172a;
  background: #1F5FAF14;
  border: 1px solid #1F5FAF33;
  border-radius: 6px;
  padding: 14px 26px;
  font-size: 14px;
  font-weight: 700;
  transition: all .3s;
}

.benefit-tag:hover {
  background: #1F5FAF26;
  border-color: #1F5FAF66;
  transform: translateY(-3px);
}

.training-action {
  text-align: center;
}

.training-cta .btn-dark {
  color: #fff;
  font-family: var(--font-display);
  letter-spacing: 3px;
  cursor: pointer;
  background: linear-gradient(135deg, #1F5FAF, #0B3D7A);
  border: none;
  border-radius: 8px;
  padding: 22px 55px;
  font-size: 20px;
  text-decoration: none;
  transition: all .3s;
  display: inline-block;
}

.training-cta .btn-dark:hover {
  filter: brightness(1.1);
  transform: scale(1.03);
  box-shadow: 0 12px 36px #1F5FAF59;
}

.poc-card {
  background: #fff;
  padding: 50px;
  transition: all .4s;
  position: relative;
  overflow: hidden;
}

.poc-card:hover {
  border-color: var(--accent-gold);
  transform: translateY(-10px);
  box-shadow: 0 30px 80px #f0c04026;
}

.poc-card.featured {
  background: linear-gradient(135deg, #fff 0%, #f0c0400d 100%);
  border: 2px solid #f0c04033;
  grid-column: span 2;
  grid-template-columns: 1.3fr 1fr;
  gap: 50px;
  display: grid;
}

.poc-badge {
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
  padding: 8px 18px;
  font-size: 11px;
  font-weight: 700;
  display: inline-block;
}

.poc-badge.langgraph {
  color: var(--accent-cyan);
  background: #00e5ff26;
  border: 1px solid #00e5ff4d;
}

.poc-badge.crewai {
  color: var(--accent-magenta);
  background: #ff2d6a26;
  border: 1px solid #ff2d6a4d;
}

.poc-badge.langchain {
  color: var(--accent-lime);
  background: #a8ff0026;
  border: 1px solid #a8ff004d;
}

.poc-badge.autogen {
  color: var(--accent-gold);
  background: #f0c04026;
  border: 1px solid #f0c0404d;
}

.poc-badge.vision {
  color: #a78bfa;
  background: #8b5cf626;
  border: 1px solid #8b5cf64d;
}

.poc-badge.mcp {
  color: #f472b6;
  background: #ec489926;
  border: 1px solid #ec48994d;
}

.poc-title {
  font-family: var(--font-display);
  letter-spacing: 1px;
  margin-bottom: 15px;
  font-size: 36px;
  line-height: 1.2;
}

.poc-subtitle {
  color: var(--accent-gold);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
  font-size: 14px;
}

.poc-desc {
  color: var(--text-gray);
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 1.9;
}

.poc-features {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 30px;
  display: flex;
}

.poc-feature {
  color: #000;
  background: #fff;
  border: 1px solid #000;
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 600;
  transition: all .3s;
}

.poc-feature:hover {
  color: #000;
  background: #f0c0401a;
  border-color: #f0c0404d;
}

.poc-tech {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.tech-tag {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #000;
  background: #fff;
  border: 1px solid #000;
  padding: 3px 12px;
  font-size: 11px;
  font-weight: 600;
  transition: all .3s;
}

.tech-tag:hover {
  color: #198754;
  border-color: #fff;
}

.poc-visual {
  opacity: .9;
  justify-content: center;
  align-items: center;
  font-size: 140px;
  display: flex;
}

.course-projects {
  background: #fff;
  padding: 30px;
  overflow: hidden;
}

.course-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  display: grid;
}

.course-card {
  background: #fff;
  border: 3px solid #1F5FAF;
  border-radius: 10px;
  padding: 45px 40px;
  transition: all .5s;
  position: relative;
}

.course-card:after {
  content: "";
  background: var(--gradient-gold);
  width: 100%;
  height: 3px;
  transition: transform .4s;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
}

.course-card:hover:after {
  transform: scaleX(1);
}

.course-card:hover {
  border-color: #1F5FAF;
  transform: translateY(-10px);
  box-shadow: 0 25px 60px #0000004d;
}

.course-icon {
  background: linear-gradient(135deg, #c9a2271a 0%, #c9a2270d 100%);
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin-bottom: 30px;
  font-size: 28px;
  display: flex;
}

.course-name {
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--accent-primary);
  margin-bottom: 15px;
  font-size: 11px;
  font-weight: 600;
}

.course-project-title {
  font-family: var(--font-display);
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
}

.course-project-desc {
  color: var(--text-secondary);
  margin-bottom: 25px;
  font-size: 14px;
  line-height: 1.7;
}

.course-tech {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.course-projects .tech-item {
  color: #000;
  background: #1F5FAF;
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 500;
}

.brand-section {
  background: #fff;
  padding: 30px;
  position: relative;
  overflow: hidden;
}

.brand-content {
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 100px;
  display: grid;
}

.brand-text h2 {
  font-family: var(--font-display);
  margin-bottom: 30px;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.2;
}

.brand-text h2 em {
  color: var(--accent-primary);
  font-style: italic;
}

.brand-text p {
  color: var(--text-secondary);
  margin-bottom: 40px;
  font-size: 17px;
  line-height: 1.9;
}

.brand-features {
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  display: grid;
}

.brand-feature {
  background: #1F5FAF1a;
  border: 1px solid #1F5FAF;
  border-radius: 10px;
  padding: 25px;
  transition: all .3s;
}

.brand-feature:hover {
  border-color: var(--border-accent);
}

.brand-feature h4 {
  margin-bottom: 8px;
  font-size: 15px;
  font-weight: 200;
}

.brand-feature p {
  color: var(--text-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.brand-visual {
  position: relative;
}

.brand-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-subtle);
  padding: 50px;
  position: relative;
}

.brand-card:before {
  content: "";
  background: var(--accent-glow);
  filter: blur(60px);
  width: 100px;
  height: 100px;
  position: absolute;
  top: -20px;
  right: -20px;
}

.brand-card-title {
  font-family: var(--font-display);
  margin-bottom: 30px;
  font-size: 28px;
}

.brand-benefits {
  list-style: none;
}

.brand-benefits li {
  border-bottom: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  align-items: flex-start;
  gap: 15px;
  padding: 15px 0;
  font-size: 15px;
  display: flex;
}

.brand-benefits li:last-child {
  border-bottom: none;
}

.brand-benefits li:before {
  content: "✓";
  color: var(--accent-primary);
  font-weight: 700;
}

.bgwhite {
  background: #fff !important;
}

.home-page .pink-btn {
  color: #000;
  background: #ffd966;
  border: none;
  border-radius: 40px;
  font-size: 14px;
  font-weight: bold;
}

.home-page .pink-btn:hover {
  filter: brightness(1.1);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 22px #1F5FAF73;
}

.txtcgyellow {
  color: #1F5FAF;
}

.section-badge {
  text-shadow: -1px 1px 4px #0000;
  font-weight: bold;
}

@media (max-width: 1175px) {
  .full-section .programs-section .grid-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1125px) {
  .hero-subtext.q span {
    margin-right: 20px;
    font-size: 11px;
  }

  .ti_counseling_slider {
    padding-right: 0;
  }

  .hero-text h1 {
    font-size: 35px;
  }

  .grid32 .grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1100px) {
  .custom-nav .nav-link, .enroll-btn {
    font-size: 12px;
  }
}

@media (max-width: 990px) {
  .navbar-collapse {
    text-align: center;
    background: #fff;
    border-radius: 0 0 10px 11px;
    flex-grow: 1;
    flex-basis: 100%;
    align-items: center;
    width: 100%;
    margin: 5px 0 0;
    padding-bottom: 26px;
  }

  .navbar ul {
    width: 100%;
    padding: 5px 0;
    margin: 0 !important;
  }

  .custom-nav .nav-link {
    margin-left: 0;
    font-weight: 600;
  }

  /* mobile menu: the course list opens inline as part of the menu, not as a
     floating card (no border / shadow / drop gap) */
  .navbar .dropdown {
    width: 100%;
  }

  .navbar .dropdown ul {
    width: 100%;
    min-width: 0;
    position: static;
    top: auto;
    left: 0;
    background: #f8fafc;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    margin: 2px 0 6px;
    padding: 4px 0;
    transition: none;
  }

  .navbar .dropdown:hover > ul {
    top: auto;
  }

  .navbar .dropdown ul li {
    min-width: 0;
  }

  .navbar .dropdown ul a {
    width: 100%;
    margin: 0;
    display: block;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: 400;
  }

  .navbar .dropdown ul a:hover,
  .navbar .dropdown ul a.active {
    padding-left: 18px;
  }

  .navbar > .container, .navspan {
    display: block;
  }

  .navbar-toggler {
    float: right;
  }

  a.navbar-brand {
    align-items: center;
    display: inline-block;
  }

  .outcome-section .grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .enroll-btn, .signin-btn {
    justify-content: center;
    align-items: center;
    width: min(200px, 70%);
    min-height: 44px;
    margin-left: auto;
    margin-right: auto;
    font-size: 13px;
    display: flex;
    padding: 10px 20px !important;
  }

  .enroll-btn {
    margin-top: 4px;
  }

  .signin-btn {
    margin-top: 10px;
    position: relative;
    right: 0;
  }

  .grid-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .grid-3 {
    gap: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    display: grid;
  }

  .display-4 {
    font-size: calc(.375rem + 2.7vw);
    font-weight: 300;
    line-height: 1;
  }

  .grid-5 {
    grid-template-columns: repeat(3, 1fr);
  }

  .navbar ul {
    width: 100%;
  }
}

@media (max-width: 770px) {
  .program-card .fw-bold, .metric-value {
    font-size: 17px;
  }

  .hero-subtext {
    margin-bottom: 0;
    font-size: 13px;
  }

  .hero-subtext.q {
    margin-bottom: 20px;
  }

  .hero-section {
    padding-top: 84px;
    padding-bottom: 0;
  }

  .hero-metrics {
    grid-template-columns: repeat(4, 1fr);
  }

  .hero-section .metric-card {
    background: #fff;
    border-radius: 15px;
    padding: 8px 2px;
  }

  .pipeline-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
  }

  .outcome-section .outcome-card {
    padding: 20px;
    display: block;
  }

  .outcome-section .outcome-icon {
    text-align: center;
    width: 100%;
    display: block;
  }

  .wireframe-section .grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .prereq-grid {
    grid-template-columns: repeat(1, 1fr);
  }

  .projects-section .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  .grid32 .grid-3 {
    grid-template-columns: repeat(1, 1fr);
  }

  .ti_flex_wrapper {
    align-items: center;
    display: block;
  }

  .ti_counseling_img {
    width: 100%;
  }

  .ti_counseling_inner {
    width: 100%;
    padding: 5px;
  }
}

@media (max-width: 620px) {
  .full-section {
    background-image: none !important;
  }

  .cta-title {
    font-size: 22px;
  }

  .multimodal-section .multimodal-grid {
    grid-template-columns: 1fr auto;
  }

  .hero-metrics {
    grid-template-columns: repeat(3, 1fr);
  }

  .hero-text h1 {
    font-size: 26px;
  }

  .full-section .programs-section .grid-4, .grid-5 {
    grid-template-columns: repeat(2, 1fr);
  }

  .training-right {
    margin-top: 20px;
  }
}

@media (max-width: 550px) {
  .career-section .grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 470px) {
  .pipeline-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid-3, .grid-4, .grid-2, .prereq-grid {
    grid-template-columns: repeat(1, 1fr) !important;
  }

  .cta-title {
    font-size: 18px;
  }

  .outcome-section .outcome-card {
    padding: 20px;
    display: flex;
  }

  .outcome-section .outcome-icon {
    width: 48px;
    display: flex;
  }

  .pipeline-section, .outcome-section, .techno-section {
    padding: 18px 14px;
  }

  .tool-chip {
    padding: 8px 10px;
    font-size: 10px;
  }

  .shape-white {
    display: none;
  }

  .cta-subtitle {
    font-size: 22px;
  }

  .program-card {
    margin-top: 20px;
  }
}

@media (max-width: 450px) {
  .hero-metrics {
    grid-template-columns: repeat(3, 1fr);
  }

  .wireframe-section, .career-section {
    padding: 30px 0;
  }
}

@media (max-width: 413px) {
  .p-5 {
    padding: 0 !important;
  }
}

@media (max-width: 385px) {
  .career-section {
    padding: 30px 0;
  }
}

.txtbounce {
  font-size: 43px;
  top: 0;
  right: 16px;
}

.txtbounce .bounce {
  animation: 1s infinite bouncea;
  position: relative;
  bottom: 0;
}

@keyframes bouncea {
  0% {
    opacity: 1;
    bottom: 0;
  }

  50% {
    bottom: .2em;
  }

  100% {
    opacity: 1;
    bottom: 0;
  }
}

.loader-facebook {
  z-index: 12;
  text-align: center;
  background: #000000c4;
  place-items: center;
  width: 100%;
  height: 100%;
  display: grid;
  position: fixed;
  top: 0;
  left: 0;
}

.lds-facebook {
  color: #1c4c5b;
}

.lds-facebook, .lds-facebook div {
  box-sizing: border-box;
}

.lds-facebook {
  width: 80px;
  height: 80px;
  display: inline-block;
  position: relative;
}

.lds-facebook div {
  background: #fff;
  width: 16px;
  animation: 1.2s cubic-bezier(0, .5, .5, 1) infinite lds-facebook;
  display: inline-block;
  position: absolute;
  left: 8px;
}

.lds-facebook div:first-child {
  animation-delay: -.24s;
  left: 8px;
}

.lds-facebook div:nth-child(2) {
  animation-delay: -.12s;
  left: 32px;
}

.lds-facebook div:nth-child(3) {
  animation-delay: 0s;
  left: 56px;
}


.pageloader .loader-facebook {
    position: relative;
    background: none;
}

.pageloader .lds-facebook div {
  background: black;
}

@keyframes lds-facebook {
  0% {
    height: 64px;
    top: 8px;
  }

  50%, 100% {
    height: 32px;
    top: 24px;
  }
}

.hero-image-col {
  display: none !important;
}

.hero-text {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.module-topics li {
  color: #3a3a3a !important;
}

.programs-section .title {
  color: #fff;
}

.programs-section .sub_title {
  max-width: 760px;
  line-height: 1.7;
  color: #ffffffd1 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

.datamark {
  position: relative;
}

.datamark p {
  background: #1F5FAF;
  display: inline;
  color: #fff !important;
}

.typewrite p:after {
  content: "|";
  animation: .8s infinite blink;
  position: relative;
  top: -10px;
}

@keyframes blink {
  0%, 50% {
    opacity: 1;
  }

  51%, 100% {
    opacity: 0;
  }
}

.footer .logo {
  height: auto;
  margin-bottom: 18px;
  display: block;
}

.footer .logo img {
  width: 170px;
  max-width: 100%;
  height: auto;
  display: block;
}

.footer .about .desc {
  color: #cbd5e1;
  max-width: 300px;
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
}

.footer {
  background-color: #070c1a;
  border-top: 1px solid #1F5FAF26;
  padding: 56px 0 0;
  position: relative;
  overflow: hidden;
}

.footer-container, .footer-bottom {
  box-sizing: border-box;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

.footer:before {
  content: "";
  background: linear-gradient(90deg, #0000, #1F5FAF 25%, #0B3D7A 50%, #1F5FAF 75%, #0000);
  max-width: 1200px;
  height: 3px;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.footer:after {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle, #1F5FAF12 0%, #0000 70%);
  border-radius: 50%;
  width: 480px;
  height: 480px;
  position: absolute;
  top: -120px;
  left: -120px;
}

.footer-container {
  z-index: 1;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  align-items: start;
  gap: 40px 32px;
  padding-bottom: 56px;
  display: grid;
  position: relative;
}

@media (min-width: 768px) and (max-width: 1100px) {
  .footer-container {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .footer-section.about {
    grid-column: 1 / -1;
  }
}

@media (min-width: 768px) {
  .footer-nav-stack-column {
    display: contents;
  }
}

@media (max-width: 767px) {
  .footer {
    padding: 44px 0 0;
  }

  .footer-container {
    text-align: left;
    grid-template-columns: 1.5fr 1fr .32fr;
    grid-template-areas: "brand brand brand"
                         "programs stack ."
                         "social social social";
    align-items: start;
    gap: 26px 14px;
    padding-bottom: 40px;
  }

  .footer-section.about {
    display: contents;
  }

  .footer-brand-header {
    grid-area: brand;
  }

  .footer-programs {
    grid-area: programs;
  }

  .footer-nav-stack-column {
    grid-area: stack;
  }

  .footer-social-block {
    grid-area: social;
  }

  .footer-programs ul {
    flex-direction: column;
    gap: 9px;
    display: flex;
  }

  .footer-nav-stack-column {
    flex-direction: column;
    gap: 22px;
    display: flex;
  }

  .footer .footer-section h2 {
    margin-bottom: 8px;
    padding-bottom: 7px;
    font-size: clamp(10px, 2.8vw, 11px);
  }

  .footer-section ul li a {
    font-size: clamp(12.5px, 3.4vw, 14px);
  }

  .footer .about .desc {
    font-size: 14px;
  }

  .footer .logo {
    margin-bottom: 12px;
  }

  .footer .about .social-heading {
    margin-top: 0;
  }

  .social-icons {
    justify-content: flex-start;
  }
}

.footer-brand {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.footer-logo {
  align-items: center;
  margin-bottom: 16px;
  display: flex;
}

.footer-logo img {
  width: 180px;
  max-width: 100%;
  height: auto;
}

.footer-tagline {
  color: #8a9898;
  max-width: 300px;
  font-size: 14px;
  line-height: 1.6;
  font-family: var(--font-body);
  border-left: 3px solid #1F5FAF;
  margin: 0 0 22px;
  padding-left: 12px;
}

.footer-contact-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.footer-contact-item {
  color: #7a8888;
  font-size: 13px;
  font-family: var(--font-body);
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
  text-decoration: none;
  transition: color .2s;
  display: flex;
}

a.footer-contact-item:hover {
  color: #0B3D7A;
}

.footer-contact-item i {
  color: #1F5FAF;
  text-align: center;
  flex-shrink: 0;
  width: 14px;
  margin-top: 2px;
  font-size: 13px;
}

.footer-address {
  cursor: default;
}

.footer .footer-section h2 {
  font-size: 11px;
  font-family: var(--font-display);
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 20px;
  padding-bottom: 12px;
  font-weight: 700;
  position: relative;
}

.footer-section h2 {
  display: inline-block;
}

.footer-section h2:after {
  content: "";
  background: linear-gradient(90deg, #1F5FAF, #0B3D7A);
  border-radius: 2px;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.footer-section ul {
  flex-direction: column;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.footer-section ul li a {
  color: #cbd5e1;
  font-size: 15px;
  font-family: var(--font-body);
  align-items: center;
  gap: 0;
  text-decoration: none;
  transition: color .2s, padding-left .2s;
  display: inline-flex;
}

.footer-section ul li a:before {
  content: "";
  vertical-align: middle;
  background: #1F5FAF;
  width: 0;
  height: 1px;
  margin-right: 0;
  transition: width .2s, margin-right .2s;
  display: inline-block;
}

.footer-section ul li a:hover {
  color: #0B3D7A;
  padding-left: 4px;
}

.footer-section ul li a:hover:before {
  width: 8px;
  margin-right: 6px;
}

.footer .about .social-heading {
  margin-top: 42px;
}

.social-icons {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
  margin-bottom: 0;
  display: flex;
}

.social-icons a {
  color: #cbd5d5;
  background: #ffffff0f;
  border: 1px solid #ffffff29;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 15px;
  text-decoration: none;
  transition: background .25s, border-color .25s, color .25s, transform .25s;
  display: flex;
}

.social-icons a:hover {
  color: #0B3D7A;
  background: #1F5FAF2e;
  border-color: #1F5FAF8c;
  transform: translateY(-3px);
}

.social-icons a i {
  margin: 0;
}

.social-icons a {
  position: relative;
}

.social-icons a:after {
  content: attr(aria-label);
  color: #e2e8f0;
  font-family: var(--font-body);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  background: #0f172a;
  border: 1px solid #ffffff1f;
  border-radius: 6px;
  padding: 6px 9px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1;
  transition: opacity .18s, transform .18s;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
}

.social-icons a:hover:after, .social-icons a:focus-visible:after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .social-icons a:after {
    transition: none;
  }
}

.footer-badge {
  font-size: 11.5px;
  font-family: var(--font-body);
  color: #1F5FAF;
  background: #1F5FAF1a;
  border: 1px solid #1F5FAF40;
  border-radius: 20px;
  align-items: center;
  gap: 7px;
  width: fit-content;
  padding: 5px 12px;
  display: inline-flex;
}

.footer-badge i {
  color: #1F5FAF;
  margin: 0;
  font-size: 12px;
}

.footer-bottom {
  color: #94a3b8;
  font-size: 13.5px;
  font-family: var(--font-body);
  z-index: 1;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding-top: 20px;
  padding-bottom: 24px;
  position: relative;
  text-align: center;
}

.footer-bottom:before {
  content: "";
  background: #ffffff0f;
  height: 1px;
  position: absolute;
  top: 0;
  left: 16px;
  right: 16px;
}

.footer-bottom p {
  color: #cbd5e1;
  margin: 0;
}

.footer-bottom p a {
  color: #cbd5e1;
  text-decoration: none;
  transition: color .2s;
}

.footer-bottom p a:hover {
  color: #0B3D7A;
}

.footer-bottom-links {
  align-items: center;
  gap: 8px;
  display: flex;
}

.footer-bottom-links a {
  color: #cbd5e1;
  font-size: 13.5px;
  text-decoration: none;
  transition: color .2s;
}

.footer-bottom-links a:hover {
  color: #0B3D7A;
}

.footer-divider {
  color: #3a4444;
}

.footer-section i {
  color: #1F5FAF;
  margin-right: 8px;
}

.whatsapp {
  z-index: 999;
  border-radius: 8px;
  transition: transform .25s, box-shadow .25s;
  position: fixed;
  bottom: 22px;
  left: 18px;
  box-shadow: 0 4px 16px #00000040;
}

.whatsapp:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 24px #0000004d;
}

body .footer .footer-container .footer-section h2 {
  margin-bottom: 20px;
}
body .footer .footer-container .footer-section h2.m5 {
  margin-bottom: 5px;
}

@media (max-width: 1240px) {
  .footer-bottom {
    padding-bottom: 88px;
  }
}

.footer-section ul li a {
  min-height: 24px;
}

.footer .about .desc {
  font-family: var(--font-body);
}

.footer .footer-bottom p, .footer .footer-bottom p a {
  font-size: 13.5px;
  line-height: 1.5;
}

::-webkit-scrollbar {
  background: #b4b4b4;
  width: 6px;
  height: 12px;
}

::-webkit-scrollbar-thumb {
  background: #393812;
  -webkit-border-radius: 1ex;
  -webkit-box-shadow: 0 1px 2px #000000bf;
}

::-webkit-scrollbar-corner {
  background: #000;
}

.loading {
  z-index: 9999;
  position: fixed;
  inset: 0;
}

.loading .a {
  background: #049e04;
  width: 0%;
  height: 100%;
  transition: all .5s;
  display: none;
  position: absolute;
  right: 49%;
  transform: skewX(10deg);
}

.loading .b {
  background: #049e04;
  width: 0%;
  height: 100%;
  transition: all .5s;
  display: none;
  position: absolute;
  left: 49%;
  transform: skewX(10deg);
}

@keyframes aload {
  0% {
    width: 0%;
  }

  10% {
    width: 12%;
  }

  20% {
    width: 24%;
  }

  30% {
    width: 36%;
  }

  40% {
    width: 45%;
  }

  50% {
    width: 56%;
  }

  60% {
    right: 40%;
  }

  70% {
    right: 30%;
  }

  80% {
    right: 20%;
  }

  90% {
    right: 10%;
  }

  100% {
    right: -3%;
  }
}

.loading .a.load {
  animation: 1s bload;
}

@keyframes bload {
  0% {
    width: 0%;
  }

  10% {
    width: 12%;
  }

  20% {
    width: 24%;
  }

  30% {
    width: 36%;
  }

  40% {
    width: 45%;
  }

  50% {
    width: 56%;
  }

  60% {
    left: 40%;
  }

  70% {
    left: 30%;
  }

  80% {
    left: 20%;
  }

  90% {
    left: 10%;
  }

  100% {
    left: -3%;
  }
}

.collapse {
  visibility: visible;
}

:root {
  --rt-hero-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='317' height='317'%3E%3Ccircle cx='182.1' cy='202.9' r='1.27' fill='%23fff' opacity='0.33'/%3E%3Ccircle cx='191.6' cy='77.7' r='0.52' fill='%23fff' opacity='0.49'/%3E%3Ccircle cx='94.9' cy='5.5' r='0.81' fill='%23fff' opacity='0.22'/%3E%3Ccircle cx='191.6' cy='240.6' r='0.85' fill='%23fff' opacity='0.52'/%3E%3Ccircle cx='25.4' cy='306.1' r='1.32' fill='%23fff' opacity='0.51'/%3E%3Ccircle cx='205.0' cy='298.6' r='1.13' fill='%23fff' opacity='0.57'/%3E%3Ccircle cx='292.0' cy='36.5' r='0.59' fill='%23fff' opacity='0.19'/%3E%3Ccircle cx='10.2' cy='113.1' r='1.24' fill='%23fff' opacity='0.55'/%3E%3Ccircle cx='114.7' cy='40.4' r='0.97' fill='%23fff' opacity='0.37'/%3E%3Ccircle cx='42.4' cy='224.3' r='1.34' fill='%23fff' opacity='0.56'/%3E%3Ccircle cx='265.8' cy='54.3' r='0.59' fill='%23fff' opacity='0.47'/%3E%3Ccircle cx='35.4' cy='224.3' r='0.65' fill='%23fff' opacity='0.45'/%3E%3Ccircle cx='182.1' cy='61.8' r='1.25' fill='%23fff' opacity='0.34'/%3E%3Ccircle cx='42.5' cy='104.0' r='1.00' fill='%23fff' opacity='0.24'/%3E%3Ccircle cx='146.0' cy='257.8' r='0.75' fill='%23fff' opacity='0.20'/%3E%3Ccircle cx='174.9' cy='65.6' r='0.57' fill='%23fff' opacity='0.34'/%3E%3Ccircle cx='286.6' cy='266.7' r='1.09' fill='%23fff' opacity='0.61'/%3E%3Ccircle cx='169.9' cy='294.1' r='0.66' fill='%23fff' opacity='0.42'/%3E%3Ccircle cx='16.6' cy='108.1' r='0.91' fill='%23fff' opacity='0.55'/%3E%3Ccircle cx='233.4' cy='159.0' r='0.86' fill='%23fff' opacity='0.31'/%3E%3Ccircle cx='271.2' cy='251.8' r='0.96' fill='%23fff' opacity='0.44'/%3E%3Ccircle cx='278.1' cy='109.1' r='0.52' fill='%23fff' opacity='0.19'/%3E%3Ccircle cx='303.3' cy='120.8' r='1.17' fill='%23fff' opacity='0.39'/%3E%3Ccircle cx='194.9' cy='84.7' r='1.30' fill='%23fff' opacity='0.24'/%3E%3Ccircle cx='188.3' cy='14.1' r='0.83' fill='%23fff' opacity='0.26'/%3E%3Ccircle cx='66.3' cy='252.5' r='0.71' fill='%23fff' opacity='0.46'/%3E%3Ccircle cx='179.7' cy='43.3' r='1.31' fill='%23fff' opacity='0.51'/%3E%3Ccircle cx='258.5' cy='37.3' r='1.36' fill='%23fff' opacity='0.52'/%3E%3Ccircle cx='37.6' cy='219.8' r='0.88' fill='%23fff' opacity='0.56'/%3E%3Ccircle cx='44.1' cy='121.4' r='0.94' fill='%23fff' opacity='0.30'/%3E%3Ccircle cx='281.0' cy='220.6' r='1.37' fill='%23fff' opacity='0.29'/%3E%3Ccircle cx='144.8' cy='274.2' r='0.95' fill='%23fff' opacity='0.38'/%3E%3Ccircle cx='55.8' cy='87.9' r='1.00' fill='%23fff' opacity='0.31'/%3E%3Ccircle cx='98.2' cy='105.6' r='0.52' fill='%23fff' opacity='0.35'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='211' height='211'%3E%3Ccircle cx='98.6' cy='180.4' r='1.28' fill='%23fff' opacity='0.27'/%3E%3Ccircle cx='137.3' cy='49.6' r='0.51' fill='%23fff' opacity='0.30'/%3E%3Ccircle cx='10.8' cy='48.3' r='0.83' fill='%23fff' opacity='0.30'/%3E%3Ccircle cx='107.4' cy='178.7' r='0.55' fill='%23fff' opacity='0.24'/%3E%3Ccircle cx='23.4' cy='27.8' r='1.31' fill='%23fff' opacity='0.24'/%3E%3Ccircle cx='0.7' cy='23.4' r='0.73' fill='%23fff' opacity='0.39'/%3E%3Ccircle cx='16.7' cy='166.4' r='0.65' fill='%23fff' opacity='0.37'/%3E%3Ccircle cx='74.8' cy='26.6' r='0.81' fill='%23fff' opacity='0.35'/%3E%3Ccircle cx='84.8' cy='40.4' r='1.20' fill='%23fff' opacity='0.37'/%3E%3Ccircle cx='65.1' cy='43.1' r='0.63' fill='%23fff' opacity='0.19'/%3E%3Ccircle cx='158.4' cy='173.7' r='0.58' fill='%23fff' opacity='0.39'/%3E%3Ccircle cx='69.7' cy='19.0' r='1.07' fill='%23fff' opacity='0.34'/%3E%3Ccircle cx='166.4' cy='68.5' r='0.96' fill='%23fff' opacity='0.20'/%3E%3Ccircle cx='111.8' cy='84.5' r='0.74' fill='%23fff' opacity='0.19'/%3E%3Ccircle cx='13.8' cy='41.7' r='0.73' fill='%23fff' opacity='0.30'/%3E%3Ccircle cx='180.6' cy='9.2' r='0.56' fill='%23fff' opacity='0.39'/%3E%3Ccircle cx='197.1' cy='66.3' r='1.14' fill='%23fff' opacity='0.36'/%3E%3Ccircle cx='17.9' cy='54.3' r='1.22' fill='%23fff' opacity='0.35'/%3E%3C/svg%3E"),
    linear-gradient(#ffffff0a 1px, transparent 1px),
    linear-gradient(90deg, #ffffff0a 1px, transparent 1px),
    #0a0f1e;
  --rt-hero-dark-size: 317px 317px, 211px 211px, 48px 48px, 48px 48px, auto;
}

.rt-page-enter {
  animation: .38s cubic-bezier(.16, 1, .3, 1) rtPageEnter;
}

@keyframes rtPageEnter {
  from {
    opacity: .35;
  }

  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-page-enter {
    animation: none;
  }
}

.rt-fly {
  animation-duration: 1.1s;
  animation-timing-function: cubic-bezier(.16, 1.05, .28, 1);
  animation-fill-mode: backwards;
  animation-delay: var(--rt-fly-delay, 0s);
  will-change: transform, opacity;
}

.rt-fly--down {
  animation-name: rtFlyDown;
}

.rt-fly--left {
  animation-name: rtFlyLeft;
}

.rt-fly--right {
  animation-name: rtFlyRight;
}

@keyframes rtFlyDown {
  from {
    opacity: 0;
    transform: translate3d(0, -150%, 0) scale(1.06);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes rtFlyLeft {
  from {
    opacity: 0;
    transform: translate3d(-165%, 18%, 0) scale(.94);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes rtFlyRight {
  from {
    opacity: 0;
    transform: translate3d(165%, 18%, 0) scale(.94);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.rt-fly--down-soft {
  animation-name: rtFlyDownSoft;
}

@keyframes rtFlyDownSoft {
  from {
    opacity: 0;
    transform: translate3d(0, -150%, 0) scale(1.06);
  }

  to {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-fly {
    animation: none;
  }
}

.rt-hero-dark, .contact-hero, .course-plan-page .hero, .cp-theme .full-section {
  isolation: isolate;
  background: var(--rt-hero-dark);
  background-size: var(--rt-hero-dark-size);
  position: relative;
  overflow: hidden;
}

.rt-hero-dark:after, .contact-hero:after, .course-plan-page .hero:after, .cp-theme .full-section:after {
  content: "";
  z-index: -1;
  pointer-events: none;
  will-change: transform;
  background: radial-gradient(38% 38% at 18% 14%, #1F5FAF4d 0%, #0000 70%), radial-gradient(32% 32% at 84% 88%, #2563eb3d 0%, #0000 70%);
  animation: 24s ease-in-out infinite alternate rtHeroDrift;
  position: absolute;
  inset: -25%;
}

@keyframes rtHeroDrift {
  from {
    transform: translate3d(-2%, -1.5%, 0) scale(1);
  }

  to {
    transform: translate3d(2.5%, 2%, 0) scale(1.09);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-hero-dark:after, .contact-hero:after, .course-plan-page .hero:after, .cp-theme .full-section:after {
    animation: none;
  }
}

@media (max-width: 767px) {
  [data-aos] {
    opacity: 1 !important;
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }

  .hero-subtext.q, .tools-grid, .industry-badges, .contact-social {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    align-items: stretch;
    gap: 8px;
    display: grid !important;
  }

  .hero-subtext.q > *, .tools-grid > *, .industry-badges > *, .contact-social > * {
    text-align: center;
    justify-content: center;
    align-items: center;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    display: inline-flex;
  }
}

@media (max-width: 360px) {
  .hero-subtext.q, .tools-grid, .industry-badges, .contact-social {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .rt-cert-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 991px) {
  .navspan {
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
}

.rt-hero-scene, .rt-hero-scene-fallback {
  background: none;
  position: absolute;
  inset: 0;
}

@media (max-width: 767px) {
  .rt-hero-visual {
    max-width: calc(100% - 8px);
  }
}

.rt-hero-scene canvas {
  width: 100%;
  height: 100%;
  display: block;
}

@media (max-width: 767px) {
  .rt-fly--left, .rt-fly--right {
    display: none;
  }

  .whatsapp {
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 56px;
    height: 56px;
    display: inline-flex;
    box-shadow: 0 6px 18px #00000038;
  }

  .whatsapp img, .whatsapp svg {
    width: 30px;
    height: 30px;
  }

  .whatsapp {
    background: #25d366;
    overflow: hidden;
  }

  .whatsapp svg rect {
    fill: #0000;
  }

  .whatsapp svg {
    width: 34px;
    height: 34px;
  }

  .whatsapp {
    left: 16px;
  }

  .rt-fab-chat {
    right: 16px !important;
  }
}

@media (min-width: 768px) {
  .whatsapp {
    bottom: 24px;
    left: 24px;
  }

  .rt-fab-chat {
    bottom: 24px !important;
    right: 24px !important;
  }

  .rt-assistant-panel {
    bottom: 92px !important;
    right: 24px !important;
  }
}

@media (max-width: 1023px) {
  body:has(.rt-mobile-cta.is-shown) .whatsapp {
    bottom: 100px;
  }

  body:has(.rt-mobile-cta.is-shown) .rt-fab-chat {
    bottom: 100px !important;
  }

  body:has(.rt-mobile-cta.is-shown) .rt-assistant-panel {
    height: min(620px, 100vh - 240px) !important;
    bottom: 168px !important;
  }
}

body:has(.enrl-overlay) .rt-fab-chat, body:has(.enrl-overlay) .rt-assistant-panel {
  display: none !important;
}

.rt-mobile-cta {
  visibility: hidden;
  transition: transform .26s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .26s;
  transform: translateY(110%);
}

.rt-mobile-cta.is-shown {
  visibility: visible;
  transition: transform .26s cubic-bezier(.22, 1, .36, 1), visibility;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .rt-mobile-cta, .rt-mobile-cta.is-shown {
    transition: none;
  }
}

@media (max-width: 767px) {
  .rt-cta-primary, .rt-cta-ghost-dark, .rt-cta-secondary {
    padding: 11px 20px;
    font-size: 14px;
  }

  .rt-hero-copy {
    text-align: center;
  }

  .rt-hero-copy > p {
    margin-left: auto;
    margin-right: auto;
  }

  .rt-hero-copy > div {
    align-items: center;
  }

  .wireframe-section .text-block {
    text-align: center;
  }

  .contact-info-card {
    padding: 22px 20px;
  }
}

body.rt-home a, body.rt-home a:hover, body.rt-home a:focus, body.rt-home a:visited, body.rt-home a:active, body.rt-home .rt-cta-primary, body.rt-home .rt-cta-primary:hover, body.rt-home .rt-cta-primary:focus, body.rt-home .rt-cta-primary:visited, body.rt-home .rt-cta-secondary, body.rt-home .rt-cta-secondary:hover, body.rt-home .rt-cta-secondary:focus, body.rt-home .rt-cta-secondary:visited, body.rt-home .rt-cta-ghost-dark, body.rt-home .rt-cta-ghost-dark:hover, body.rt-home .rt-cta-ghost-dark:focus, body.rt-home .rt-cta-ghost-dark:visited {
  text-decoration: none;
}

body.rt-home {
  font-family: var(--font-body);
}

body.rt-home .rt-cta-primary, body.rt-home .rt-cta-primary:hover, body.rt-home .rt-cta-primary:focus, body.rt-home .rt-cta-primary:active, body.rt-home .rt-cta-primary:visited {
  color: var(--color-gold-ink);
}

body.rt-home .rt-cta-secondary, body.rt-home .rt-cta-secondary:hover, body.rt-home .rt-cta-secondary:focus, body.rt-home .rt-cta-secondary:active, body.rt-home .rt-cta-secondary:visited {
  color: var(--color-brand-700);
}

body.rt-home .rt-cta-ghost-dark, body.rt-home .rt-cta-ghost-dark:hover, body.rt-home .rt-cta-ghost-dark:focus, body.rt-home .rt-cta-ghost-dark:active, body.rt-home .rt-cta-ghost-dark:visited {
  color: #fff;
}

body.rt-home :is(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, figure, blockquote):not([class*="mb-"]) {
  /*margin-bottom: 0;*/
}


body.rt-home .rt-fb__panel :is(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, figure, blockquote):not([class*="mb-"]) {
   margin-bottom: 0;
}

html .enroll-page ::selection {
  color: #0a0f1e;
  background: #0B3D7Ab3;
}

body.rt-home button[class*="rounded-full"] {
  border-radius: var(--radius-pill);
}

@media (max-width: 1023px) {
  body.rt-has-sticky-cta .footer {
    padding-bottom: 88px;
  }
}

.navbar.custom-nav {
  z-index: 10;
  background: #fffffffa;
  align-items: center;
  min-height: 64px;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.custom-nav > .container {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 1.5rem;
  display: flex;
}

.custom-nav .navspan {
  align-items: center;
  gap: .5rem;
  display: inline-flex;
}

.custom-nav .logo {
  width: auto;
  height: 48px;
  display: block;
}

.custom-nav .navbar-brand {
  padding-top: 0;
  padding-bottom: 0;
}

@media (min-width: 992px) {
  .custom-nav .navbar-toggler {
    display: none;
  }

  .custom-nav .navbar-collapse {
    flex: auto;
    justify-content: flex-end;
    align-items: center;
    gap: .5rem;
    display: flex !important;
  }

  .custom-nav .navbar-collapse > .navbar-nav {
    order: 1;
  }

  .custom-nav .navbar-collapse > .rt-navsearch__btn {
    order: 2;
  }

  .custom-nav .navbar-collapse > .enroll-btn {
    order: 3;
  }

  .custom-nav .navbar-collapse > .signin-btn {
    order: 4;
  }
}

.rt-navsearch__btn-label {
  display: none;
}

@media (max-width: 991.98px) {
  .custom-nav .navbar-collapse .rt-navsearch__btn {
    color: #64748b;
    background: #0f172a0a;
    border: 1px solid #0f172a24;
    border-radius: 999px;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: auto;
    margin: 2px 0 14px;
    padding: 11px 16px;
    display: flex;
  }

  .custom-nav .navbar-collapse .rt-navsearch__btn:hover {
    background: #0f172a12;
  }

  .custom-nav .navbar-collapse .rt-navsearch__btn-label {
    font-size: .92rem;
    font-weight: 500;
    line-height: 1;
    display: block;
  }
}

body.rt-home {
  scroll-padding-top: 80px;
}

@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    opacity: 1 !important;
    transition: none !important;
    transform: none !important;
  }
}

body.rt-home .rt-cta-primary, body.rt-home .rt-cta-secondary, body.rt-home .rt-cta-ghost-dark {
  transition: transform .25s, box-shadow .25s;
}

body.rt-home .rt-cta-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px #1F5FAF59;
}

body.rt-home .rt-cta-secondary:hover, body.rt-home .rt-cta-ghost-dark:hover {
  transform: translateY(-2px);
}

@media print {
  [data-aos], .aos-init, .aos-animate, .rt-fade-up, .rt-morph, .rt-page-enter, .rt-reveal, [class*="fade-"], [class*="slide-"], [class*="zoom-"] {
    opacity: 1 !important;
    filter: none !important;
    visibility: visible !important;
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }

  .course-plan-page .phase .phase-head, .course-plan-page .phase .phase-rule, .course-plan-page .week {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  *, :before, :after {
    transition: none !important;
    animation: none !important;
  }

  html, body, * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .rt-hero-dark:after, .contact-hero:after, .course-plan-page .hero:after, .cp-theme .full-section:after {
    display: none !important;
  }

  .navbar, .fixed-top, header, aside {
    position: static !important;
  }

  .whatsapp, [aria-label="Chat with us"], .fixed.inset-x-0.bottom-0, .scroll-to-top, [class*="back-to-top"], [class*="cookie"], [class*="chat-widget"] {
    display: none !important;
  }

  .rt-hero-dark, .contact-hero, .course-plan-page .hero, .cp-theme .full-section, section, .row, .container, .container-fluid {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .rt-hero-dark .grid, .contact-hero .grid, .course-plan-page .hero .grid {
    display: block !important;
  }

  .rt-hero-dark .grid > * + *, .contact-hero .grid > * + *, .course-plan-page .hero .grid > * + * {
    margin-top: 28px;
  }

  .card, .list, .program-card, .course-card, .rt-card, .ws-featured, .phase-head, figure, img, tr, li, blockquote {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  h1, h2, h3, h4 {
    break-after: avoid;
    page-break-after: avoid;
  }

  video, iframe, .owl-nav, .owl-dots, .swiper-button-next, .swiper-button-prev, .swiper-pagination {
    display: none !important;
  }

  @page {
    margin: 12mm;
  }
}

.rt-home-page .rt-card {
  --rt-card-cyan: #118dd4;
  isolation: isolate;
  background-color: #fff;
  background-image: none;
  border-color: #0f172a1a;
  position: relative;
  box-shadow: 0 1px 2px #0f172a0d, 0 18px 38px -22px #0f172a59;
}

@property --rt-ring-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

.rt-home-page .rt-card:after {
  content: "";
  border-radius: inherit;
  pointer-events: none;
  background: conic-gradient(from var(--rt-ring-angle), #2563eb2e 0%, var(--rt-card-cyan) 12%, #2563eb2e 30%, #2563eb2e 100%);
  opacity: 0;
  -webkit-mask-composite: xor;
  -webkit-mask-composite: xor;
  -webkit-mask-source-type: auto, auto;
  padding: 3px;
  transition: opacity .22s;
  animation: 2.5s linear infinite paused rtRingSpin;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
  mask-image: linear-gradient(#000 0 0), linear-gradient(#000 0 0);
  -webkit-mask-position: 0 0, 0 0;
  mask-position: 0 0, 0 0;
  -webkit-mask-size: auto, auto;
  mask-size: auto, auto;
  -webkit-mask-repeat: repeat, repeat;
  mask-repeat: repeat, repeat;
  -webkit-mask-clip: content-box, border-box;
  mask-clip: content-box, border-box;
  -webkit-mask-origin: content-box, border-box;
  mask-origin: content-box, border-box;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-mask-source-type: auto, auto;
  mask-mode: match-source, match-source;
}

.rt-home-page .rt-card:hover:after, .rt-home-page .rt-card:focus-within:after {
  opacity: 1;
  animation-play-state: running;
}

.rt-home-page .rt-card--flat:after {
  content: none;
}

@keyframes rtRingSpin {
  to {
    --rt-ring-angle: 360deg;
  }
}

@supports not (background: conic-gradient(from var(--rt-ring-angle), red, blue)) {
  .rt-home-page .rt-card:after {
    background: var(--rt-card-cyan);
    animation: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-card:after {
    background: var(--rt-card-cyan);
    animation: none;
  }
}

.rt-home-page .rt-card:hover {
  box-shadow: 0 1px 2px #0f172a0d, 0 26px 50px -22px #0f172a73;
}

.rt-section-deep .rt-card:hover {
  box-shadow: 0 1px 2px #02061773, 0 26px 50px -22px #020617d9, 0 0 0 1px #06b6d447;
}

.rt-home-page .rt-card .lucide-circle-check circle, .rt-home-page .rt-card .lucide-circle-check-big circle {
  fill: var(--rt-card-cyan);
  stroke: var(--rt-card-cyan);
}

.rt-home-page .rt-card .lucide-circle-check path, .rt-home-page .rt-card .lucide-circle-check-big path {
  stroke: #fff;
  stroke-width: 2.5px;
}

.rt-home-page .rt-card--flat:hover, .rt-section-deep .rt-card--flat:hover {
  transform: none;
  box-shadow: 0 1px 2px #0f172a0d, 0 18px 38px -22px #0f172a59;
}

.rt-home-page .rt-card h2, .rt-home-page .rt-card h3, .rt-home-page .rt-card h4, .rt-home-page .rt-card h5 {
  color: var(--color-ink-soft);
}

.rt-home-page .rt-course-card {
  padding: 0;
  overflow: hidden;
}

.rt-home-page .rt-course-card__media {
  aspect-ratio: 16 / 9;
  border-bottom: 1px solid var(--color-border);
  background: #f1f5f9;
  position: relative;
  overflow: hidden;
}

.rt-home-page .rt-course-card__media:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(to top, #0206178c, #0000);
  height: 45%;
  position: absolute;
  inset: auto 0 0;
}

.rt-home-page .rt-course-card__duration {
  z-index: 1;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--color-ink-soft);
  white-space: nowrap;
  background: #ffffffeb;
  border-radius: 999px;
  align-items: center;
  padding: .3rem .7rem;
  font-size: .6875rem;
  font-weight: 700;
  display: inline-flex;
  position: absolute;
  bottom: .875rem;
  left: .875rem;
}

.rt-home-page .rt-course-card__media img {
  object-fit: cover;
  object-position: 50% 45%;
  width: 100%;
  height: 100%;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1);
  display: block;
}

.rt-home-page .rt-course-card:hover .rt-course-card__media img {
  transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-course-card__media img {
    transition: none;
  }

  .rt-home-page .rt-course-card:hover .rt-course-card__media img {
    transform: none;
  }
}

.rt-home-page .rt-course-card__title {
  color: var(--color-ink-soft);
  text-decoration: none;
}

.rt-home-page .rt-course-card__title:hover, .rt-home-page .rt-course-card__title:focus-visible {
  color: var(--color-brand-700);
  text-underline-offset: 3px;
  text-decoration: underline;
}

.rt-home-page .rt-course-card__body > * {
  margin: 0;
}

.rt-home-page .rt-course-card__eyebrow {
  border: 1px solid var(--color-brand-100);
  background: var(--color-brand-50);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-brand-700);
  border-radius: 999px;
  align-self: flex-start;
  align-items: center;
  gap: .4rem;
  padding: .28rem .7rem;
  font-size: .6875rem;
  font-weight: 700;
  display: inline-flex;
}

.rt-home-page .rt-course-card__body h3 {
  margin-top: .75rem;
  line-height: 1.25;
}

.rt-home-page .rt-course-card__rule {
  background: linear-gradient(to right, var(--color-brand-600), var(--color-violet));
  opacity: .9;
  border-radius: 999px;
  width: 2.5rem;
  height: 2px;
  margin-top: .75rem;
}

.rt-home-page .rt-course-card__desc {
  min-height: 3.25em;
  margin-top: .375rem;
}

.rt-home-page .rt-course-card__list {
  flex-direction: column;
  gap: .5rem;
  margin-top: 1rem;
  padding-left: 0;
  list-style: none;
  display: flex;
}

.rt-home-page .rt-course-card__meta {
  border-top: 1px solid var(--color-border);
  margin-top: auto;
  padding-top: .875rem;
}

.rt-home-page .rt-course-card__more {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--color-brand-700);
  align-items: center;
  gap: .55rem;
  font-size: .75rem;
  font-weight: 700;
  display: inline-flex;
}

.rt-home-page .rt-course-card__more svg {
  box-sizing: content-box;
  background: var(--color-brand-50);
  border-radius: 999px;
  padding: .3rem;
  transition: transform .24s cubic-bezier(.16, 1, .3, 1), background-color .24s, color .24s;
}

.rt-home-page .rt-course-card:hover .rt-course-card__more svg {
  background: var(--color-brand-600);
  color: #fff;
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-course-card__more svg {
    transition: none;
  }

  .rt-home-page .rt-course-card:hover .rt-course-card__more svg {
    transform: none;
  }
}

.rt-home-page .rt-course-card__list {
  margin-bottom: 1.25rem;
}

.rt-home-page .rt-rail__card.rt-editorial-card {
  background: linear-gradient(#fff, #fff) padding-box,  conic-gradient(from 315deg at 50% 50%, rgb(11 18 32 / calc(.88 + .12 * var(--rt-rail-focus))) 0%, rgb(87 38 10 / calc(.88 + .12 * var(--rt-rail-focus))) 28%, rgb(180 83 9 / calc(.9 + .1 * var(--rt-rail-focus))) 50%, rgb(87 38 10 / calc(.88 + .12 * var(--rt-rail-focus))) 72%, rgb(11 18 32 / calc(.88 + .12 * var(--rt-rail-focus))) 100%) border-box,  #fff border-box;
  border: 2.5px solid #0000;
  border-radius: 20px;
  overflow: hidden;
}

.rt-home-page .rt-editorial-card .rt-course-card__media {
  aspect-ratio: 16 / 10;
  box-shadow: none;
  border-bottom: none;
  border-radius: 0;
  display: grid;
  position: static;
}

.rt-home-page .rt-editorial-card .rt-course-card__media > * {
  grid-area: 1 / 1;
}

.rt-home-page .rt-editorial-card .rt-course-card__media:after {
  content: none;
}

.rt-home-page .rt-editorial-card .rt-course-card__overlay {
  z-index: 1;
  background: linear-gradient(to top, #09090beb 0%, #09090bcc 22%, #09090b85 46%, #09090b33 72%, #09090b00 100%);
  align-self: end;
  padding: 2.25rem 1.125rem .875rem;
}

.rt-home-page .rt-editorial-card .rt-course-card__kicker {
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #ffffffe6;
  text-shadow: 0 1px 3px #02061799;
  align-items: center;
  gap: .5rem;
  margin: 0;
  font-size: .6875rem;
  font-weight: 700;
  display: flex;
}

.rt-home-page .rt-editorial-card .rt-course-card__kicker svg {
  box-sizing: content-box;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #ffffff24;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  padding: .3rem;
}

.rt-home-page .rt-editorial-card .rt-course-card__kicker-sep {
  opacity: .45;
}

.rt-home-page .rt-editorial-card .rt-course-card__headline {
  font-family: var(--font-display, inherit);
  letter-spacing: -.02em;
  margin: 0 0 .5rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.15;
}

.rt-home-page .rt-editorial-card .rt-course-card__title, .rt-home-page .rt-editorial-card .rt-course-card__title:link, .rt-home-page .rt-editorial-card .rt-course-card__title:visited {
  color: var(--color-ink);
  text-decoration: none;
}

.rt-home-page .rt-editorial-card:hover .rt-course-card__title, .rt-home-page .rt-editorial-card .rt-course-card__title:hover, .rt-home-page .rt-editorial-card .rt-course-card__title:focus-visible, .rt-home-page .rt-editorial-card .rt-course-card__title:active {
  color: var(--color-brand-700);
}

.rt-home-page .rt-editorial-card .rt-course-card__body {
  padding: 1.25rem 1.25rem 1.125rem;
}

.rt-home-page .rt-editorial-card .rt-course-card__desc {
  letter-spacing: 0;
  color: #57534e;
  opacity: 1;
  margin-top: 0;
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.5;
}

.rt-home-page .rt-editorial-card .rt-course-card__list {
  gap: .5rem;
  margin-top: .875rem;
  margin-bottom: 1rem;
}

.rt-home-page .rt-editorial-card .rt-course-card__list li {
  color: var(--color-ink);
  padding-left: 1.125rem;
  font-size: 1.0625rem;
  line-height: 1.5;
  position: relative;
}

.rt-home-page .rt-editorial-card .rt-course-card__list li:before {
  content: "";
  background: var(--color-brand-600);
  border-radius: 999px;
  width: 5px;
  height: 5px;
  position: absolute;
  top: .55em;
  left: 0;
}

.rt-home-page .rt-editorial-card .rt-course-card__meta {
  border-top: 1px solid var(--color-border);
  padding-top: .875rem;
}

.rt-home-page .rt-rail__card.rt-editorial-card {
  box-shadow: 0 0 calc(20px * var(--rt-rail-focus)) rgb(245 158 11 / calc(.46 * var(--rt-rail-focus))), 0 0 calc(58px * var(--rt-rail-focus)) rgb(120 53 15 / calc(.3 * var(--rt-rail-focus))), 0 calc(6px + 12px * var(--rt-rail-focus)) calc(16px + 26px * var(--rt-rail-focus)) rgb(15 23 42 / calc(.09 + .09 * var(--rt-rail-focus)));
  transition: box-shadow .26s cubic-bezier(.16, 1, .3, 1);
}

.rt-home-page .rt-editorial-card .rt-course-card__kicker {
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  letter-spacing: .13em;
  background: #ffffff21;
  border: 1px solid #ffffff38;
  border-radius: 999px;
  width: fit-content;
  padding: .3rem .7rem .3rem .35rem;
  box-shadow: 0 2px 10px #0206172e;
}

.rt-home-page .rt-editorial-card .rt-course-card__kicker svg {
  -webkit-backdrop-filter: none;
  opacity: .95;
  background: none;
  border: none;
  padding: 0;
}

.rt-home-page .rt-editorial-card .rt-course-card__body {
  background-image: linear-gradient(90deg, #0b12208c 0%, #f59e0bbf 50%, #0b12208c 100%);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% 2px;
}

.rt-home-page .rt-editorial-card .rt-course-card__headline {
  letter-spacing: -.025em;
  font-size: 1.625rem;
}

.rt-home-page .rt-editorial-card .rt-course-card__media {
  overflow: hidden;
}

.rt-home-page .rt-editorial-card:hover .rt-course-card__media img {
  transform: scale(1.045);
}

@media (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-editorial-card:hover .rt-course-card__media img {
    transform: none;
  }
}

.rt-home-page .rt-editorial-card .rt-course-card__list li:before {
  background: linear-gradient(135deg, #fbbf24 0%, #0B3D7A 100%);
  width: 6px;
  height: 6px;
  top: .52em;
}

.rt-home-page .rt-editorial-card .rt-course-card__meta {
  background-image: none;
  border-top: 0;
  padding-top: 1.1rem;
}

.rt-home-page .rt-editorial-card .rt-course-card__more {
  letter-spacing: .05em;
  color: #0b1220;
  background: linear-gradient(100deg, #fbbf24 0%, #f59e0b 52%, #d97706 100%);
  border-radius: 999px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: .6rem .6rem .6rem 1.15rem;
  font-size: .8125rem;
  transition: box-shadow .24s, transform .24s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  box-shadow: 0 0 16px #f59e0b57, 0 6px 20px #78350f47, inset 0 1px #ffffff5c;
}

.rt-home-page .rt-editorial-card:hover .rt-course-card__more {
  box-shadow: 0 0 26px #f59e0b85, 0 10px 28px #78350f5c, inset 0 1px #ffffff6b;
}

.rt-home-page .rt-editorial-card .rt-course-card__more svg {
  color: #0b1220;
  box-shadow: none;
  background: #0b122024;
  border: 1px solid #0b12204d;
  padding: .34rem;
}

.rt-home-page .rt-editorial-card:hover .rt-course-card__more svg {
  transform: translateX(3px);
  box-shadow: 0 4px 14px #2563eb6b;
}

@media (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-editorial-card:hover .rt-course-card__more svg {
    transform: none;
  }
}

.rt-home-page .rt-editorial-card .rt-course-card__media img {
  filter: saturate(calc(.86 + .14 * var(--rt-rail-focus)));
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), filter .4s;
}

.rt-home-page .rt-editorial-card:hover .rt-course-card__media img {
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-editorial-card .rt-course-card__media img {
    transition: none;
  }
}

.rt-home-page {
  --rt-path-thread: #94a3b8;
  --rt-path-pin: 14px;
}

.rt-home-page .rt-path {
  --rt-path-gap: 4rem;
  gap: var(--rt-path-gap);
  grid-template-columns: repeat(4, 1fr);
  align-items: start;
  margin-top: 2.5rem;
  padding: 0;
  list-style: none;
}

.rt-home-page .rt-path-item {
  position: relative;
}

.rt-home-page .rt-path-item:nth-child(2) {
  margin-top: 8rem;
}

.rt-home-page .rt-path-item:nth-child(3) {
  margin-top: 3rem;
}

.rt-home-page .rt-path-item:nth-child(4) {
  margin-top: 11.5rem;
}

.rt-home-page .rt-path-card {
  z-index: 1;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-card);
  border-radius: 14px;
  padding: 28px 18px 18px;
  position: relative;
}

.rt-home-page .rt-path-dot {
  top: var(--rt-path-pin);
  width: 11px;
  height: 11px;
  box-shadow: 0 0 0 3px var(--color-surface), 0 1px 3px #0f172a47;
  border-radius: 999px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
}

.rt-home-page .rt-path-step {
  color: var(--color-muted);
  font-size: .75rem;
  font-weight: 600;
  display: block;
}

.rt-home-page .rt-path-title {
  font-family: var(--font-display);
  color: var(--color-ink-soft);
  margin: 8px 0 0;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.3;
}

.rt-home-page .rt-path-copy {
  color: var(--color-muted);
  margin: 6px 0 0;
  font-size: .875rem;
  line-height: 1.55;
}

.rt-home-page .rt-path-link {
  width: calc(100% + var(--rt-path-gap));
  left: 50%;
  top: var(--rt-path-pin);
  z-index: 0;
  position: absolute;
}

.rt-home-page .rt-path-link line {
  stroke: var(--rt-path-thread);
  stroke-width: 2px;
  stroke-dasharray: 5 5;
  stroke-linecap: round;
}

.rt-home-page .rt-path-item:first-child .rt-path-link {
  height: 8rem;
}

.rt-home-page .rt-path-item:nth-child(3) .rt-path-link {
  height: 8.5rem;
}

.rt-home-page .rt-path-item:nth-child(2) .rt-path-link {
  height: 5rem;
  top: calc(var(--rt-path-pin) - 5rem);
  transform: scaleY(-1);
}

.rt-steps-mobile > li + li {
  position: relative;
}

.rt-steps-mobile > li + li:before {
  content: "";
  border-left: 2px dashed var(--rt-path-thread);
  height: 1.5rem;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.rt-home-page .rt-rail {
  position: relative;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, #0000 0%, #000 18% 82%, #0000 100%);
  mask-image: linear-gradient(to right, #0000 0%, #000 18% 82%, #0000 100%);
}

.rt-home-page .rt-rail__track {
  width: max-content;
  padding: 1.25rem 0 3rem;
  animation: 48s linear infinite rt-rail-travel;
  display: flex;
}

.rt-home-page .rt-rail__track[data-paused] {
  animation-play-state: paused;
}

.rt-home-page .rt-rail__group {
  align-items: stretch;
  gap: 1.5rem;
  padding-right: 1.5rem;
  display: flex;
}

@keyframes rt-rail-travel {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.rt-home-page .rt-rail__backdrop {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.rt-home-page .rt-rail__backdrop-track {
  align-items: center;
  gap: 2.5rem;
  width: max-content;
  height: 100%;
  padding-left: 7rem;
  animation: 96s linear infinite rt-rail-travel;
  display: flex;
}

.rt-home-page .rt-rail__backdrop-track[data-paused] {
  animation-play-state: paused;
}

.rt-home-page .rt-rail__ghost {
  filter: blur(18px) saturate(.35);
  opacity: .1;
  background-position: 50% 45%;
  background-size: cover;
  border-radius: 18px;
  flex-shrink: 0;
  width: 300px;
  height: 62%;
  transform: translateY(-14%) rotate(-1.5deg);
}

.rt-home-page .rt-rail__ghost:nth-child(2n) {
  opacity: .07;
  height: 52%;
  transform: translateY(16%) rotate(2deg);
}

@media (max-width: 640px) {
  .rt-home-page .rt-rail__backdrop {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-rail__backdrop-track {
    animation: none;
  }

  .rt-home-page .rt-rail__backdrop {
    display: none;
  }
}

@property --rt-rail-focus {
  syntax: "<number>";
  inherits: false;
  initial-value: 1;
}

@property --rt-rail-lift {
  syntax: "<number>";
  inherits: false;
  initial-value: 1;
}

@property --rt-rail-tilt {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}

.rt-home-page .rt-rail__card {
  width: 360px;
  transform: scale(calc(.8 + .2 * var(--rt-rail-focus)));
  z-index: calc(1 + var(--rt-rail-focus) * 10);
  box-shadow: 0 calc(6px + 18px * var(--rt-rail-focus)) calc(16px + 32px * var(--rt-rail-focus)) rgb(15 23 42 / calc(.04 + .1 * var(--rt-rail-focus)));
  will-change: transform, opacity;
  flex-shrink: 0;
  align-self: stretch;
  position: relative;
}

.rt-home-page .rt-rail__card__title:after {
  content: "";
  z-index: 1;
  border-radius: inherit;
  position: absolute;
  inset: 0;
}

.rt-home-page .rt-rail__card:has(.rt-rail__card__title:focus-visible) {
  outline: 2px solid var(--color-brand-700);
  outline-offset: 3px;
}

.rt-home-page .rt-rail__card__title:focus-visible {
  outline: none;
}

.rt-home-page .rt-rail__toggle {
  border: 1px solid var(--color-border);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--color-muted);
  background: #fff;
  border-radius: 999px;
  padding: .4rem .95rem;
  font-size: .75rem;
  font-weight: 600;
  transition: color .16s, border-color .16s;
}

.rt-home-page .rt-rail__toggle:hover, .rt-home-page .rt-rail__toggle:focus-visible {
  color: var(--color-brand-700);
  border-color: var(--color-brand-700);
}

@media (max-width: 640px) {
  .rt-home-page .rt-rail__card {
    width: 72vw;
  }

  .rt-home-page .rt-rail__track {
    padding-bottom: 2.25rem;
  }

  .rt-home-page .rt-rail__group {
    gap: 1rem;
    padding-right: 1rem;
  }

  .rt-home-page .rt-rail__card .rt-course-card__body {
    padding: 1rem;
  }

  .rt-home-page .rt-rail__card .rt-course-card__body h3 {
    margin-top: .5rem;
    font-size: 1.0625rem;
    line-height: 1.35;
  }

  .rt-home-page .rt-rail__card .rt-course-card__desc, .rt-home-page .rt-rail__card .rt-course-card__list li {
    font-size: .8125rem;
    line-height: 1.5;
  }

  .rt-home-page .rt-rail__card .rt-course-card__list {
    gap: .375rem;
    margin-top: .625rem;
    margin-bottom: .75rem;
  }

  .rt-home-page .rt-rail__card .rt-course-card__meta {
    padding-top: .625rem;
    font-size: .6875rem;
  }

  .rt-home-page .rt-rail__card .rt-course-card__kicker svg {
    width: .8125rem;
    height: .8125rem;
  }
}

@media (max-width: 640px), (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-rail {
    scroll-snap-type: x mandatory;
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .rt-home-page .rt-rail__track {
    padding: .5rem 1.5rem 1rem;
    animation: none;
  }

  .rt-home-page .rt-rail__group[aria-hidden="true"] {
    display: none;
  }

  .rt-home-page .rt-rail__card {
    opacity: 1;
    scroll-snap-align: center;
    will-change: auto;
    transform: none;
  }

  .rt-home-page .rt-rail__toggle {
    display: none;
  }
}

.rt-home-page .rt-gold-divider {
  width: calc(100% - 3rem);
  max-width: 80rem;
  height: 3px;
  margin: 3.25rem auto 0;
  position: relative;
}

.rt-home-page .rt-gold-divider__rule {
  background-image: linear-gradient(to bottom, #fff0cdf2 0%, var(--color-gold-soft) 30%, var(--color-gold) 62%, var(--color-gold-deep) 100%);
  border-radius: 999px;
  position: absolute;
  inset: 0;
  box-shadow: 0 0 10px #fde09e8c, 0 0 22px #f59e0b73, 0 1px #020617a6;
  -webkit-mask-image: linear-gradient(to right, #0000 0%, #000 14% 86%, #0000 100%);
  mask-image: linear-gradient(to right, #0000 0%, #000 14% 86%, #0000 100%);
}

.rt-home-page .rt-gold-divider__glow {
  pointer-events: none;
  filter: blur(6px);
  background: radial-gradient(60% 46%, #fde09e4d 0%, #f59e0b29 38%, #0000 72%), radial-gradient(85% 26%, #f59e0b38 0%, #0000 70%);
  height: 76px;
  animation: 4s ease-in-out infinite rt-gold-breathe;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

@keyframes rt-gold-breathe {
  0%, 100% {
    opacity: .45;
  }

  50% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-gold-divider__glow {
    opacity: .75;
    animation: none;
  }
}

@media (max-width: 640px) {
  .rt-home-page .rt-gold-divider {
    margin-top: 2.5rem;
  }

  .rt-home-page .rt-gold-divider__rule {
    -webkit-mask-image: linear-gradient(to right, #0000 0%, #000 8% 92%, #0000 100%);
    mask-image: linear-gradient(to right, #0000 0%, #000 8% 92%, #0000 100%);
  }

  .rt-home-page .rt-gold-divider__glow {
    height: 52px;
  }
}

.rt-home-page .rt-hero-card, .rt-home-page .rt-dark-card {
  --color-ink-soft: #fff;
  --color-muted: #c0ccdf;
  --color-border: #ffffff24;
  --color-brand-700: var(--color-cyan-soft);
  --color-brand-900: #a5f3fc;
  --color-brand-50: #06b6d424;
  --color-leaf: var(--color-cyan-soft);
  background-color: #131d31c7;
  background-image: none;
  border-color: #ffffff21;
  box-shadow: inset 0 1px #ffffff1a, 0 18px 40px -24px #020617e6;
}

.rt-home-page .rt-hero-card {
  padding: 1.25rem 1.25rem 1.375rem;
}

.rt-home-page .rt-hero-card:hover, .rt-home-page .rt-dark-card:hover {
  background-color: #1b2842d1;
  border-color: #ffffff38;
  box-shadow: inset 0 1px #ffffff24, 0 26px 52px -24px #020617;
}

.rt-home-page .rt-dark-card h2, .rt-home-page .rt-dark-card h3, .rt-home-page .rt-dark-card h4 {
  color: var(--color-ink-soft);
}

.rt-home-page .rt-hero-card h3 {
  color: var(--color-ink-soft);
  margin: .875rem 0 0;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.3;
}

.rt-home-page .rt-hero-card p {
  color: var(--color-muted);
  margin: .375rem 0 0;
  font-size: .9375rem;
  line-height: 1.5;
}

.rt-home-page .rt-hero-card .rt-icon-tile, .rt-home-page .rt-dark-card .rt-icon-tile {
  color: var(--color-cyan-soft);
  background: linear-gradient(150deg, #06b6d438, #2563eb33);
  border-color: #67e8f947;
  box-shadow: inset 0 1px #ffffff24, 0 6px 16px -10px #06b6d48c;
}

.rt-home-page .rt-hero-card:hover .rt-icon-tile, .rt-home-page .rt-dark-card:hover .rt-icon-tile {
  background: linear-gradient(150deg, var(--color-cyan-glow), var(--color-brand-600));
  color: #04121a;
  border-color: #0000;
}

.rt-home-page .rt-hero-card {
  overflow: hidden;
}

.rt-home-page .rt-hero-card:before {
  content: "";
  z-index: 0;
  pointer-events: none;
  background-image: var(--rt-card-art);
  opacity: .22;
  filter: grayscale() sepia() hue-rotate(150deg) saturate(2.6) brightness(1.15);
  background-position: right -18% center;
  background-repeat: no-repeat;
  background-size: auto 136%;
  transition: opacity .26s;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(to left, #000 0%, #0000008c 38%, #0000 68%);
  mask-image: linear-gradient(to left, #000 0%, #0000008c 38%, #0000 68%);
}

.rt-home-page .rt-hero-card:hover:before {
  opacity: .34;
}

@media (max-width: 767.98px) {
  .rt-home-page .rt-hero-card:before {
    background-image: none;
  }
}

.rt-home-page .rt-hero-card > * {
  z-index: 1;
  position: relative;
}

.rt-home-page .rt-service-card__head {
  align-items: center;
  gap: .875rem;
  display: flex;
}

.rt-home-page .rt-service-card__head h3 {
  color: #131d31;
  min-width: 0;
  margin: 0;
}

.rt-ruled {
  border-top: 1px solid #ffffff1f;
  border-bottom: 1px solid #ffffff1f;
  grid-template-columns: repeat(3, 1fr);
  display: grid;
}

.rt-ruled-cell {
  padding: 32px 26px;
}

.rt-ruled-cell:not(:nth-child(3n+1)) {
  border-left: 1px solid #ffffff1f;
}

.rt-ruled-cell:nth-child(n+4) {
  border-top: 1px solid #ffffff1f;
}

.rt-ruled-tag {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #1F5FAF;
  font-size: .82rem;
  font-weight: 800;
  display: block;
}

.rt-ruled-title {
  color: #fff;
  min-height: 2.4em;
  margin: 14px 0 0;
  font-size: 1.45rem;
  font-weight: 700;
}

.rt-ruled-sub {
  color: #0B3D7A;
  min-height: 3.1em;
  margin: 6px 0 0;
  font-size: 1.02rem;
  font-weight: 600;
}

.rt-ruled-desc {
  color: #fff9;
  min-height: 3.5em;
  margin: 14px 0 0;
  font-size: 1.05rem;
  line-height: 1.75;
}

.rt-ruled-list {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.rt-ruled-list li {
  color: #ffffffbf;
  padding-left: 22px;
  font-size: 1rem;
  line-height: 1.7;
  position: relative;
}

.rt-ruled-list li:before {
  content: "—";
  color: #1F5FAF;
  position: absolute;
  left: 0;
}

@media (max-width: 900px) {
  .rt-ruled {
    grid-template-columns: 1fr 1fr;
  }

  .rt-ruled-cell:not(:nth-child(3n+1)) {
    border-left: 0;
  }

  .rt-ruled-cell:nth-child(2n) {
    border-left: 1px solid #ffffff1f;
  }

  .rt-ruled-cell:nth-child(n+3) {
    border-top: 1px solid #ffffff1f;
  }
}

@media (max-width: 640px) {
  .rt-ruled {
    grid-template-columns: 1fr;
  }

  .rt-ruled-cell {
    padding: 26px 0;
    border-left: 0 !important;
  }

  .rt-ruled-cell + .rt-ruled-cell {
    border-top: 1px solid #ffffff1f;
  }
}

.rt-step-marker {
  color: #0B3D7A;
  background: #1F5FAF1a;
  border: 2px solid #1F5FAF8c;
}

.rt-step-marker--light {
  color: #0B3D7A;
  background: #fff;
  border-color: #1F5FAFbf;
}

.rt-deep-strip {
  background: #ffffff08;
  border: 1px solid #ffffff1f;
  border-radius: 18px;
}

.rt-ruled:has( > :nth-child(3):last-child) {
  border-bottom: 1px solid #ffffff1f;
}

.rt-section-warm {
  background: linear-gradient(135deg, #0a0f1e, #1a1005, #0a0f1e);
  border-top-color: #1F5FAF47;
  border-bottom-color: #1F5FAF47;
}

.rt-section-warm:before {
  content: none;
}

.rt-steps-mobile {
  margin-top: 2.5rem;
}

@media (max-width: 767px) {
  .rt-plan-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .rt-plan-actions > a {
    white-space: nowrap;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 10px 20px;
    font-size: .9rem;
    line-height: 1.2;
  }
}

.rt-blog-filters {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: flex;
}

.rt-blog-chip {
  --chip: var(--color-brand-500, #2563eb);
  cursor: pointer;
  background: var(--chip);
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.2;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .rt-blog-chip {
    background: color-mix(in srgb, var(--chip) 6%, transparent);
  }
}

.rt-blog-chip {
  color: var(--chip);
  border: 1px solid var(--chip);
}

@supports (color: color-mix(in lab, red, red)) {
  .rt-blog-chip {
    border: 1px solid color-mix(in srgb, var(--chip) 22%, transparent);
  }
}

.rt-blog-chip {
  transition: background .2s, border-color .2s, color .2s, transform .2s;
}

.rt-blog-chip:hover {
  background: var(--chip);
}

@supports (color: color-mix(in lab, red, red)) {
  .rt-blog-chip:hover {
    background: color-mix(in srgb, var(--chip) 12%, transparent);
  }
}

.rt-blog-chip:hover {
  border-color: var(--chip);
}

@supports (color: color-mix(in lab, red, red)) {
  .rt-blog-chip:hover {
    border-color: color-mix(in srgb, var(--chip) 40%, transparent);
  }
}

.rt-blog-chip[data-active="true"] {
  background: var(--chip);
  border-color: var(--chip);
  color: #fff;
}

.rt-blog-chip-count {
  background: var(--chip);
  border-radius: 999px;
  padding: 3px 7px;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1;
}

@supports (color: color-mix(in lab, red, red)) {
  .rt-blog-chip-count {
    background: color-mix(in srgb, var(--chip) 14%, transparent);
  }
}

.rt-blog-chip-count {
  color: inherit;
}

.rt-blog-chip[data-active="true"] .rt-blog-chip-count {
  background: #ffffff3d;
}

.rt-blog-chip:focus-visible {
  outline: 2px solid var(--chip);
  outline-offset: 2px;
}

.rt-blog-chip[data-active="true"]:focus-visible {
  outline-color: var(--color-ink, #0f172a);
}

.rt-blog-empty {
  text-align: center;
  border: 1px dashed var(--color-border, #e2e8f0);
  background: var(--color-cloud, #f8fafc);
  border-radius: 16px;
  flex-direction: column;
  align-items: center;
  padding: 48px 24px;
  display: flex;
}

.rt-blog-empty-title {
  font-family: var(--font-display);
  color: var(--color-ink, #0f172a);
  font-size: 1.25rem;
  font-weight: 700;
}

.rt-blog-empty-body {
  max-width: 42ch;
  color: var(--color-muted, #64748b);
  margin-top: 8px;
  font-size: .9375rem;
  line-height: 1.6;
}

.rt-skel {
  background: #1e293b24;
  position: relative;
  overflow: hidden;
}

@supports (color: color-mix(in lab, red, red)) {
  .rt-skel {
    background: color-mix(in srgb, var(--color-muted, #64748b) 14%, transparent);
  }
}

.rt-skel:after {
  content: "";
  background: linear-gradient(90deg, #0000, #ffffff73, #0000);
  animation: 1.4s ease-in-out infinite rtSkelSweep;
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
}

.rt-hero-dark .rt-skel {
  background: #ffffff1f;
}

.rt-hero-dark .rt-skel:after {
  background: linear-gradient(90deg, #0000, #ffffff29, #0000);
}

@keyframes rtSkelSweep {
  100% {
    transform: translateX(100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-skel:after {
    animation: none;
    display: none;
  }
}

@media (max-width: 767px) {
  .rt-blog-filters {
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    padding-inline: 1.5rem;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin-inline: -1.5rem;
    padding-bottom: 4px;
    scroll-padding-inline: 1.5rem;
    overflow-x: auto;
  }

  .rt-blog-filters::-webkit-scrollbar {
    display: none;
  }

  .rt-blog-chip {
    scroll-snap-align: start;
    flex: none;
  }

  .rt-blog-empty {
    padding: 36px 20px;
  }
}

.rt-fb {
  z-index: 10;
  font-family: var(--font-body);
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.rt-fb__tab {
  writing-mode: vertical-rl;
  color: #fff;
  letter-spacing: .06em;
  cursor: pointer;
  background: linear-gradient(0deg, #1d4ed8 0%, #4338ca 100%);
  border: 0;
  border-radius: 0 10px 10px 0;
  align-items: center;
  gap: 7px;
  padding: 14px 7px;
  font-size: .78rem;
  font-weight: 600;
  transition: filter .18s, box-shadow .18s, transform .18s;
  display: flex;
  transform: rotate(180deg);
  box-shadow: 2px 0 14px #0f172a38;
}

.rt-fb__tab svg {
  transform: rotate(180deg);
}

.rt-fb__tab:hover {
  filter: brightness(1.1);
  transform: rotate(180deg) translateX(3px);
  box-shadow: 3px 0 20px #0f172a4d;
}

.rt-fb__tab:focus-visible {
  outline-offset: 2px;
  outline: 3px solid #fbbf24;
}

.rt-fb__panel {
  background: #fff;
  border: 1px solid #0f172a1a;
  border-radius: 14px;
  width: min(330px, 100vw - 32px);
  max-height: min(560px, 100vh - 40px);
  padding: 18px 18px 20px;
  position: absolute;
  top: 50%;
  right: calc(100% + 10px);
  overflow-y: auto;
  transform: translateY(-50%);
  box-shadow: 0 18px 48px -12px #0f172a4d;
}

.rt-fb__panel:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #1d4ed8;
}

.rt-fb__close {
  color: #64748b;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  place-items: center;
  width: 28px;
  height: 28px;
  display: grid;
  position: absolute;
  top: 9px;
  right: 9px;
}

.rt-fb__close:hover {
  color: #0f172a;
  background: #f1f5f9;
}

.rt-fb__title {
  color: #0b1220;
  margin: 0 0 4px;
  font-size: 1.06rem;
  font-weight: 700;
}

.rt-fb__sub {
  color: #57534e;
  margin: 0 0 12px;
  font-size: .86rem;
  line-height: 1.45;
}

.rt-fb__stars {
  gap: 3px;
  display: flex;
}

.rt-fb__star {
  cursor: pointer;
  color: #cbd5e1;
  background: none;
  border: 0;
  padding: 2px;
  line-height: 0;
  transition: color .13s, transform .13s;
}

.rt-fb__star.on {
  color: #f59e0b;
}

.rt-fb__star.on svg {
  fill: #f59e0b;
}

.rt-fb__star:hover {
  transform: scale(1.12);
}

.rt-fb__star:focus-visible {
  outline-offset: 2px;
  border-radius: 6px;
  outline: 2px solid #1d4ed8;
}

.rt-fb__starlabel {
  color: #0B3D7A;
  min-height: 1.15em;
  margin: 4px 0 12px;
  font-size: .78rem;
  font-weight: 600;
}

.rt-fb__label {
  color: #334155;
  margin: 0 0 5px;
  font-size: .78rem;
  font-weight: 600;
  display: block;
}

.rt-fb__label span {
  color: #94a3b8;
  font-weight: 400;
}

.rt-fb__area {
  width: 100%;
  font: inherit;
  color: #0f172a;
  resize: vertical;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 9px;
  margin: 0 0 12px;
  padding: 8px 10px;
  font-size: .86rem;
}

.rt-fb__area:focus {
  outline-offset: 0;
  border-color: #1d4ed8;
  outline: 2px solid #1d4ed8;
}

.rt-fb__input {
  width: 100%;
  font: inherit;
  color: #0f172a;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 9px;
  margin: 0 0 12px;
  padding: 8px 10px;
  font-size: .86rem;
}

.rt-fb__input:focus {
  outline-offset: 0;
  border-color: #1d4ed8;
  outline: 2px solid #1d4ed8;
}

.rt-fb__input:user-invalid {
  border-color: #dc2626;
}

.rt-fb__captcha {
  min-height: 140px;
  margin: 2px 0 10px;
}

.rt-fb__error {
  color: #b3341a;
  margin: 0 0 10px;
  font-size: .8rem;
}

.rt-fb__submit {
  color: #0b1220;
  letter-spacing: .03em;
  cursor: pointer;
  background: linear-gradient(100deg, #fbbf24 0%, #f59e0b 52%, #d97706 100%);
  border: 0;
  border-radius: 999px;
  width: 100%;
  padding: 10px 14px;
  font-size: .84rem;
  font-weight: 700;
  box-shadow: 0 5px 16px #0B3D7A47;
}

.rt-fb__submit:hover:not(:disabled) {
  filter: brightness(1.04);
}

.rt-fb__submit:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.rt-fb__submit:focus-visible {
  outline-offset: 2px;
  outline: 3px solid #1d4ed8;
}

.rt-fb__done {
  text-align: center;
  padding: 18px 4px 8px;
}

.rt-fb__done strong {
  color: #0b1220;
  margin-bottom: 4px;
  font-size: 1.02rem;
  display: block;
}

.rt-fb__done p {
  color: #57534e;
  margin: 0;
  font-size: .86rem;
}

@media (max-width: 640px) {
  .rt-fb__tab {
    padding: 12px 6px;
    font-size: .72rem;
  }

  .rt-fb__panel {
    width: min(320px, 100vw - 46px);
    max-height: min(70vh, 100vh - 96px);
    right: calc(100% + 8px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-fb__tab, .rt-fb__star {
    transition: none;
  }

  .rt-fb__tab:hover {
    transform: rotate(180deg);
  }

  .rt-fb__star:hover {
    transform: none;
  }
}

.rt-navsearch__btn {
  width: 40px;
  height: 40px;
  color: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 10px;
  place-items: center;
  margin-right: 6px;
  transition: background-color .16s, color .16s;
  display: inline-grid;
}

.rt-navsearch__btn:hover {
  background: #0f172a12;
}

.rt-navsearch__btn:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #1d4ed8;
}

.rt-navsearch__scrim {
  z-index: 1080;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background: #080c148c;
  justify-content: center;
  padding: clamp(56px, 12vh, 130px) 16px 24px;
  display: flex;
  position: fixed;
  inset: 0;
}

.rt-navsearch__dialog {
  background: #fff;
  border-radius: 16px;
  align-self: flex-start;
  width: min(620px, 100%);
  overflow: hidden;
  box-shadow: 0 26px 70px -18px #080c1480;
}

.rt-navsearch__field {
  color: #64748b;
  border-bottom: 1px solid #e9edf3;
  align-items: center;
  gap: 10px;
  padding: 14px 14px 14px 16px;
  display: flex;
}

.rt-navsearch__field input {
  color: #0b1220;
  background: none;
  border: 0;
  outline: 0;
  flex: 1;
  min-width: 0;
  font-size: 1rem;
}

.rt-navsearch__field input::placeholder {
  color: #94a3b8;
}

.rt-navsearch__field input::-webkit-search-cancel-button {
  display: none;
}

.rt-navsearch__close {
  color: #64748b;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 8px;
  place-items: center;
  width: 30px;
  height: 30px;
  display: grid;
}

.rt-navsearch__close:hover {
  color: #0f172a;
  background: #f1f5f9;
}

.rt-navsearch__close:focus-visible {
  outline-offset: 1px;
  outline: 2px solid #1d4ed8;
}

.rt-navsearch__results {
  max-height: min(56vh, 460px);
  margin: 0;
  padding: 6px;
  overflow-y: auto;
}

.rt-navsearch__results ul {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: block;
}

.rt-navsearch__results li {
  width: 100%;
  display: block;
}

.rt-navsearch__count {
  color: #94a3b8;
  margin: 0;
  padding: 8px 16px 0;
  font-size: .72rem;
}

.rt-navsearch__grouphead {
  z-index: 1;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #94a3b8;
  background: #fff;
  margin: 0;
  padding: 8px 12px 5px;
  font-size: .66rem;
  font-weight: 700;
  position: sticky;
  top: 0;
}

.rt-navsearch__group + .rt-navsearch__group .rt-navsearch__grouphead {
  border-top: 1px solid #f1f5f9;
  margin-top: 4px;
}

.rt-navsearch__hit-go {
  opacity: 0;
  color: #94a3b8;
  flex: none;
  font-size: .85rem;
  transition: opacity .12s;
}

.rt-navsearch__hit.on .rt-navsearch__hit-go {
  opacity: 1;
}

.rt-navsearch__hit {
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  display: flex;
}

.rt-navsearch__hit.on {
  background: #eef3ff;
}

.rt-navsearch__hit:focus-visible {
  outline-offset: -2px;
  outline: 2px solid #1d4ed8;
}

.rt-navsearch__hit-main {
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.rt-navsearch__hit-title {
  color: #0b1220;
  font-size: .94rem;
  font-weight: 600;
}

.rt-navsearch__hit-desc {
  color: #64748b;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .79rem;
  overflow: hidden;
}

.rt-navsearch__empty {
  color: #64748b;
  margin: 0;
  padding: 20px 18px;
  font-size: .88rem;
}

.rt-navsearch__empty em {
  color: #334155;
  font-style: normal;
  font-weight: 600;
}

.rt-navsearch__hint {
  color: #94a3b8;
  background: #fafbfd;
  border-top: 1px solid #e9edf3;
  gap: 16px;
  padding: 9px 16px;
  font-size: .72rem;
  display: flex;
}

.rt-navsearch__hint kbd {
  color: #64748b;
  background: #fff;
  border: 1px solid #dde3ec;
  border-bottom-width: 2px;
  border-radius: 5px;
  place-items: center;
  min-width: 18px;
  height: 18px;
  margin-right: 3px;
  padding: 0 4px;
  font-family: inherit;
  font-size: .68rem;
  line-height: 1;
  display: inline-grid;
}

@media (max-width: 640px) {
  .rt-navsearch__hint {
    display: none;
  }

  .rt-navsearch__scrim {
    padding-top: 20px;
  }

  .rt-navsearch__results {
    max-height: 60vh;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-navsearch__btn, .rt-navsearch__hit-go {
    transition: none;
  }
}

#decidecareer .form-container {
  background-color: #fff;
  border-radius: 8px;
  align-items: center;
  padding: 0 40px;
  display: flex;
}

#decidecareer .form-container > img {
  max-width: 250px;
  margin-right: 20px;
}

#decidecareer .form-content {
  max-width: 300px;
}

#decidecareer h2 {
  text-align: center;
  margin-bottom: 20px;
  font-size: 22px;
}

#decidecareer .form-container img.usflag {
  width: 43px;
  height: 34px;
  margin: 0;
  position: absolute;
  top: 10px;
  left: 0;
}

#decidecareer .form-content input[type="email"], #decidecareer .form-content input[type="text"], #decidecareer .form-content input[type="tel"] {
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 100%;
  margin: 10px 0;
  padding: 4px 10px 6px;
  font-size: 16px;
}

#decidecareer .form-content button {
  color: #000;
  cursor: pointer;
  background-color: #f5c518;
  border: none;
  border-radius: 4px;
  width: 100%;
  padding: 8px;
  font-size: 13px;
  font-weight: bold;
}

#decidecareer .form-content button:hover {
  background-color: #f5c518;
}

#decidecareer .form-content .note {
  color: #666;
  margin-top: 10px;
  font-size: 9px;
}

.pitch-check {
  color: #22b07d;
  background: #e7f7ef;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  font-size: 12px;
  display: inline-flex;
}

.wk-badge {
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #ffe9a6;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: #f5c5181f;
  border: 1px solid #f5c5184d;
  border-radius: 50px;
  align-items: center;
  gap: 8px;
  padding: 7px 15px;
  font-size: 12px;
  font-weight: 800;
  display: inline-flex;
}

.wk-badge svg {
  width: 15px;
  height: 15px;
}

.wkm-overlay {
  z-index: 12000;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: #080c0aa8;
  justify-content: center;
  align-items: center;
  padding: 16px;
  animation: .2s wkm-fade;
  display: flex;
  position: fixed;
  inset: 0;
}

.wkm-box {
  background: #fff;
  border-radius: 22px;
  width: 100%;
  max-width: 440px;
  animation: .25s cubic-bezier(.2, 1, .3, 1) wkm-pop;
  position: relative;
  overflow: visible;
  box-shadow: 0 30px 80px #080c0a80;
}

.wkm-head {
  background: linear-gradient(160deg, #0c2016, #0a1420);
  border-radius: 22px 22px 0 0;
  padding: 24px 26px 22px;
  position: relative;
  overflow: hidden;
}

.wkm-head:after {
  content: "";
  background: radial-gradient(circle, #f5c51847, #0000 70%);
  border-radius: 50%;
  width: 150px;
  height: 150px;
  position: absolute;
  top: -40px;
  right: -30px;
}

.wkm-head .wk-badge {
  z-index: 2;
  position: relative;
}

.wkm-head h3 {
  z-index: 2;
  color: #fff;
  letter-spacing: -.3px;
  margin: 14px 0 0;
  font-size: 23px;
  font-weight: 800;
  position: relative;
}

.wkm-close {
  z-index: 3;
  color: #ffffffb3;
  cursor: pointer;
  background: #ffffff1a;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  transition: background .2s, color .2s;
  display: inline-flex;
  position: absolute;
  top: 16px;
  right: 16px;
}

.wkm-close:hover {
  color: #fff;
  background: #fff3;
}

.wkm-close svg {
  width: 17px;
  height: 17px;
}

.wkm-body {
  padding: 22px 26px 26px;
}

.wkm-field {
  margin-bottom: 15px;
}

.wkm-field label {
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #6b7480;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  display: block;
}

.wkm-field label .req {
  color: var(--wk-gold-2, #e0a800);
}

.wkm-input {
  color: #1d2630;
  background: #faf8f2;
  border: 1px solid #e6e2d6;
  border-radius: 12px;
  outline: none;
  width: 100%;
  padding: 12px 14px;
  font-size: 15px;
  transition: border-color .18s, box-shadow .18s, background .18s;
}

.wkm-input:focus {
  background: #fff;
  border-color: #e0a800;
  box-shadow: 0 0 0 3px #f5c5182e;
}

.wkm-submit {
  cursor: pointer;
  color: #231c00;
  background: linear-gradient(135deg, #f5c518, #e0a800);
  border: none;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin-top: 6px;
  padding: 14px;
  font-size: 15px;
  font-weight: 800;
  transition: transform .2s, box-shadow .2s;
  display: inline-flex;
  box-shadow: 0 12px 30px #e0a80057;
}

.wkm-submit:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 16px 36px #e0a80075;
}

.wkm-submit:disabled {
  opacity: .6;
  cursor: default;
}

.wkm-submit svg {
  width: 16px;
  height: 16px;
}

.wkm-note {
  text-align: center;
  color: #8a939d;
  margin: 12px 0 0;
  font-size: 12px;
}

.wkm-msg {
  border-radius: 10px;
  margin: 0 0 14px;
  padding: 11px 14px;
  font-size: 13px;
}

.wkm-msg.err {
  color: #b3271e;
  background: #fdeceb;
}

.wkm-success {
  text-align: center;
  padding: 12px 4px 6px;
}

.wkm-success .ic {
  width: 66px;
  height: 66px;
  color: var(--wk-leaf, #2e9e5b);
  background: #e4f6ea;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin: 0 auto 14px;
  display: flex;
}

.wkm-success .ic svg {
  width: 34px;
  height: 34px;
}

.wkm-success h3 {
  color: #16202a;
  margin: 0 0 6px;
  font-size: 21px;
  font-weight: 800;
}

.wkm-success p {
  color: #7c8792;
  margin: 0 0 18px;
  font-size: 14.5px;
  line-height: 1.6;
}

.wkm-box .pi-dropdown {
  z-index: 50;
}

@media (max-width: 575.98px) {
  #decidecareer .form-container {
    text-align: center;
    flex-direction: column;
    padding: 0 5px;
  }

  #decidecareer .form-container > img {
    width: 110px;
    margin: 0 0 12px;
  }

  #decidecareer .form-content {
    width: 100%;
    max-width: 100%;
  }

  #decidecareer h2 {
    font-size: 18px;
  }
}

@media (max-width: 400px) {
  #decidecareer .form-container > img {
    display: none;
  }
}

@keyframes wkm-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes wkm-pop {
  from {
    opacity: 0;
    transform: translateY(14px) scale(.98);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.lv-section {
  background: #f8f4e9;
  padding: 74px 0;
  overflow: hidden;
}

.lv-grid {
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 34px;
  display: grid;
}

.lv-eyebrow {
  color: #0c2016;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: #fff;
  border: 1.5px solid #e6b800;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 7px 18px;
  font-size: .78rem;
  font-weight: 800;
  display: inline-flex;
}

.lv-eyebrow svg {
  color: #e0a800;
}

.lv-title {
  color: #132a4a;
  letter-spacing: -.02em;
  margin: 22px 0 0;
  font-weight: 800;
  line-height: 1.1;
}

.lv-title .g {
  color: #e6b800;
}

.lv-divider {
  background: linear-gradient(90deg, #f5c518, #f5c51800);
  border-radius: 999px;
  width: 130px;
  height: 5px;
  margin: 16px 0 24px;
  display: block;
}

.lv-built {
  color: #132a4a;
  margin-bottom: 8px;
  font-size: 1.08rem;
  font-weight: 800;
}

.lv-desc {
  color: #6b7a72;
  max-width: 520px;
  margin: 0 0 26px;
  font-size: 1.02rem;
  line-height: 1.7;
}

.lv-cardrow {
  align-items: center;
  gap: 16px;
  display: flex;
}

.lv-nav {
  color: #132a4a;
  cursor: pointer;
  background: #fff;
  border: none;
  border-radius: 50%;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  font-size: .95rem;
  transition: transform .2s, background .2s, color .2s;
  box-shadow: 0 10px 24px -10px #132a4a59;
}

.lv-nav:hover {
  color: #231c00;
  background: #e0a800;
  transform: scale(1.06);
}

.lv-card {
  background: #fff;
  border-radius: 22px;
  flex: 1;
  padding: 26px 30px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 26px 60px -30px #132a4a73;
}

.lv-card-head {
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.lv-quote {
  color: #f5c518;
  font-family: Georgia, serif;
  font-size: 2.6rem;
  font-weight: 900;
  line-height: .6;
}

.lv-name {
  color: #132a4a;
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
}

.lv-role {
  color: #8a968f;
  margin-top: 2px;
  font-size: .92rem;
}

.lv-stars {
  color: #f5c518;
  letter-spacing: 2px;
  margin-top: 14px;
  font-size: 1.15rem;
}

.lv-quote-br {
  color: #f5c51829;
  font-family: Georgia, serif;
  font-size: 5rem;
  font-weight: 900;
  position: absolute;
  bottom: -16px;
  right: 14px;
}

.lv-dots {
  gap: 9px;
  margin-top: 22px;
  display: flex;
}

.lv-dot {
  cursor: pointer;
  background: #d9d2bf;
  border: none;
  border-radius: 999px;
  width: 11px;
  height: 11px;
  transition: width .2s, background .2s;
}

.lv-dot.on {
  background: #e0a800;
  width: 30px;
}

.lv-right {
  position: relative;
}

.lv-cluster {
  min-height: 600px;
  position: relative;
}

.lv-bigquote {
  color: #143c280f;
  pointer-events: none;
  font-family: Georgia, serif;
  font-size: 12rem;
  font-weight: 900;
  line-height: .7;
  position: absolute;
  top: 34%;
  left: 44%;
}

.lv-pill {
  border-radius: 999px;
  align-items: center;
  gap: 11px;
  max-width: 290px;
  padding: 9px 10px 9px 14px;
  animation: 6s ease-in-out infinite lvfloat;
  display: flex;
  position: absolute;
  box-shadow: 0 18px 40px -20px #06190f8c;
}

.lv-pill:nth-child(odd) {
  animation-delay: -2s;
}

.lv-pill-star {
  color: #e0a800;
  background: #ffffffe6;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  display: flex;
}

.lv-pill-text {
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.25;
}

.lv-pill-ava {
  border: 3px solid #fff;
  border-radius: 50%;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  overflow: hidden;
  box-shadow: 0 4px 10px #00000040;
}

.lv-pill-ava img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.lv-pill.green {
  color: #fff;
  background: #2f6b46;
}

.lv-pill.dark {
  color: #fff;
  background: #153a2a;
}

.lv-pill.olive {
  color: #fff;
  background: #8a835f;
}

.lv-pill.gray {
  color: #1a2a20;
  background: #cfd1d3;
}

.lv-pill.gold {
  color: #2a1f00;
  background: #e0a800;
}

@media (max-width: 991px) {
  .lv-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .lv-title {
    font-size: 2.2rem;
  }

  .lv-cluster {
    flex-direction: column;
    gap: 14px;
    min-height: auto;
    display: flex;
  }

  .lv-bigquote {
    display: none;
  }

  .lv-pill {
    max-width: none;
    animation: none;
    position: static !important;
  }
}

@keyframes lvfloat {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }
}

.footer .footer-news {
  max-width: 300px;
  margin-top: 26px;
}

.footer .footer-news .social-heading {
  margin-top: 0;
}

.footer-news-form {
  background: #ffffff0f;
  border: 1px solid #ffffff29;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  padding: 5px 5px 5px 14px;
  display: flex;
}

.footer-news-form input {
  color: #e2e8f0;
  min-width: 0;
  font-family: var(--font-body);
  background: none;
  border: 0;
  outline: none;
  flex: auto;
  font-size: .92rem;
}

.footer-news-form input::placeholder {
  color: #94a3b8;
}

.footer-news-form button {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border: 0;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  transition: transform .2s;
  display: inline-flex;
}

.footer-news-form button:hover:not(:disabled) {
  transform: translateY(-1px);
}

.footer-news-form button:disabled {
  opacity: .6;
  cursor: default;
}

.footer-news-spin {
  animation: 1s linear infinite footerNewsSpin;
}

@keyframes footerNewsSpin {
  to {
    transform: rotate(360deg);
  }
}

.footer-news-msg {
  margin-top: 8px;
  font-size: .85rem;
}

.footer-news-msg.ok {
  color: #6ee7b7;
}

.footer-news-msg.err {
  color: #fca5a5;
}

.enroll-page .enrl-pay-details {
  border-collapse: collapse;
  text-align: left;
  width: 100%;
  margin: 0 0 20px;
  font-size: .92rem;
}

.enroll-page .enrl-pay-details th, .enroll-page .enrl-pay-details td {
  vertical-align: top;
  border-bottom: 1px solid #eef2f7;
  padding: 8px 4px;
}

.enroll-page .enrl-pay-details th {
  color: #64748b;
  width: 38%;
  font-weight: 600;
}

.enroll-page .enrl-pay-details td {
  color: #0a0f1e;
  overflow-wrap: anywhere;
  font-weight: 600;
}

.enroll-page .enrl-phone .pi-wrap {
  flex: auto;
}

.enrl-field .pi-selected, .contact-field .pi-selected {
  border-radius: 10px 0 0 10px;
}

.rt-fb__panel {
  width: min(344px, 100vw - 32px);
}

.rt-fb__captcha {
  min-height: 0;
}

@media (max-width: 640px) {
  .rt-fb__panel {
    width: min(340px, 100vw - 46px);
    padding: 16px 14px 18px;
  }
}

.wkm-head .wkm-topic {
  z-index: 2;
  color: #5AA9F0;
  margin: 6px 0 0;
  font-size: 15px;
  font-weight: 600;
  position: relative;
}

.wkm-box .wkm-head h3 {
  letter-spacing: -.3px;
  color: #fff;
  margin: 14px 0 0;
  font-size: 23px;
  font-weight: 800;
  line-height: 1.2;
}

.wkm-box .wkm-success h3 {
  color: #16202a;
  margin: 0 0 6px;
  font-size: 21px;
  font-weight: 800;
}

.whatsapp {
  background: #25d366;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  display: inline-flex;
  bottom: 20px;
  left: 20px;
  overflow: hidden;
  box-shadow: 0 6px 18px #00000059;
}

.whatsapp svg {
  width: 38px;
  height: 38px;
  display: block;
}

.whatsapp svg rect {
  fill: #0000;
}

.rt-blog-pager {
  font-family: var(--font-body);
  background: #1F5FAF14;
  border: 1px solid #1F5FAF40;
  border-radius: 22px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 44px;
  padding: 10px 12px 10px 20px;
  display: flex;
}

.rt-blog-pager .dt-info {
  color: #475569;
  font-size: .9rem;
  font-weight: 600;
}

.rt-blog-pager .dt-paging {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.rt-blog-pager .dt-paging-button {
  color: #0a0f1e;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  font-weight: 700;
  transition: background .18s, color .18s, border-color .18s;
}

.rt-blog-pager .dt-paging-button:hover {
  color: #fff;
  background: #0a0f1e;
  border-color: #0a0f1e;
}

.rt-blog-pager .dt-paging-button.current {
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF 0%, #0B3D7A 100%);
  border-color: #0000;
}

@media (max-width: 640px) {
  .rt-blog-pager {
    border-radius: 18px;
    flex-direction: column;
    padding: 14px;
  }

  .rt-blog-pager .dt-paging {
    justify-content: center;
  }
}

.rt-home-page .rt-rail--krousel .krousel-track {
  padding: 1.25rem 0 3rem;
}

.rt-home-page .rt-rail--krousel .krousel-slide {
  display: flex;
}

.rt-home-page .rt-rail--krousel .krousel-slide > .rt-rail__card {
  --rt-rail-focus: var(--k-focus, 1);
  --rt-rail-lift: var(--k-lift, 1);
  --rt-rail-tilt: var(--k-tilt, 0);
}

.rt-home-page .rt-rail-wrap {
  position: relative;
}

.rt-home-page .rt-rail-wrap > .krousel-btn {
  color: #fbbf24;
  background: #0a0f1ee6;
  border: 1px solid #1F5FAF59;
  width: 42px;
  height: 42px;
  font-size: 24px;
  top: calc(50% - .875rem);
  bottom: auto;
  transform: translateY(-50%);
  box-shadow: 0 8px 22px #0f172a33;
}

.rt-home-page .rt-rail-wrap > .krousel-btn:hover {
  color: #fff;
  background: linear-gradient(135deg, #1F5FAF, #0B3D7A);
  transform: translateY(-50%) scale(1.06);
}

.rt-home-page .rt-rail-wrap > .krousel-prev {
  left: clamp(8px, 2.5vw, 48px);
}

.rt-home-page .rt-rail-wrap > .krousel-next {
  right: clamp(8px, 2.5vw, 48px);
}

@media (max-width: 640px), (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-rail.rt-rail--krousel {
    scroll-snap-type: none;
    overflow: hidden;
  }

  .rt-home-page .rt-rail--krousel .krousel-track {
    padding: .5rem 0 1.75rem;
  }

  .rt-home-page .rt-rail-wrap > .krousel-btn {
    top: calc(50% - .625rem);
  }
}

@media (max-width: 640px) {
  .rt-home-page .rt-rail-wrap > .krousel-btn {
    width: 38px;
    height: 38px;
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-home-page .rt-rail-wrap ~ div .rt-rail__toggle {
    display: none;
  }
}

@media (max-width: 640px) and (prefers-reduced-motion: no-preference) {
  .rt-home-page .rt-rail-wrap ~ div .rt-rail__toggle {
    display: inline-flex;
  }
}

.lv-stars {
  align-items: center;
  gap: 2px;
  display: flex;
}

.lv-stars svg {
  display: inline-block;
}

.rt-home-page ol.rt-steps-mobile {
  margin-bottom: 0;
  padding-left: 0;
}

@media (max-width: 767px) {
  .footer-container {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "brand brand"
                         "programs resources"
                         "comph social"
                         "compl social"
                         "news news";
    gap: 26px 20px;
  }

  .footer-nav-stack-column, .footer-section.footer-company {
    display: contents;
  }

  .footer-section.footer-resources {
    grid-area: resources;
  }

  .footer-section.footer-company > h2 {
    grid-area: comph;
    place-self: start;
  }

  .footer-section.footer-company > ul {
    grid-area: compl;
    margin-top: -14px;
  }

  .footer .footer-section.footer-company .footer-news {
    grid-area: news;
    max-width: none;
    margin-top: 0;
  }

  .footer-social-block {
    grid-area: social;
  }

  .footer .footer-social-block .social-heading {
    width: fit-content;
    margin-top: 0;
    display: block;
  }

  .footer-social-block .social-icons {
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 14px;
  }

  .footer-social-block .social-icons a {
    width: 36px;
    height: 36px;
  }

  .footer-programs ul, .footer-resources ul, .footer-company ul {
    gap: 9px;
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

/* ── This app: Enrollment Form modal — wider, two-column fields, thin inner
   scrollbar, buttons in one footer row (primary on top on phones) ── */
.enroll-page .enrl-modal.enrl-modal--form {
  max-width: 680px;
  padding: 28px 28px 22px;
  overflow: hidden;
}
.enroll-page .enrl-modal--form .enrl-plan-chip {
  margin-bottom: 16px;
}
.enroll-page .enrl-modal--form .enrl-form {
  flex: 1 1 auto;
}
.enroll-page .enrl-modal--form .enrl-form-scroll {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  column-gap: 16px;
  margin: 0 -12px 0 0;
  padding: 2px 12px 4px 0;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}
.enroll-page .enrl-modal--form .enrl-form-scroll::-webkit-scrollbar {
  width: 6px;
}
.enroll-page .enrl-modal--form .enrl-form-scroll::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 6px;
}
.enroll-page .enrl-modal--form .enrl-field {
  min-width: 0;
  margin-bottom: 14px;
}
.enroll-page .enrl-modal--form .enrl-field--full {
  grid-column: 1 / -1;
}
.enroll-page .enrl-modal--form .enrl-error {
  margin: 8px 0 0;
}
.enroll-page .enrl-modal--form .enrl-actions {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  margin-top: 6px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}
.enroll-page .enrl-modal--form .enrl-actions:has(.enrl-btn-alt) {
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.45fr);
}
.enroll-page .enrl-modal--form .enrl-actions > button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  font-size: .9rem;
  line-height: 1.2;
}
.enroll-page .enrl-modal--form .enrl-note {
  margin-top: 12px;
  font-size: .76rem;
}
@media (max-width: 600px) {
  .enroll-page .enrl-modal.enrl-modal--form {
    padding: 24px 18px 18px;
  }
  .enroll-page .enrl-modal--form .enrl-form-scroll {
    grid-template-columns: minmax(0, 1fr);
  }
  .enroll-page .enrl-modal--form .enrl-actions,
  .enroll-page .enrl-modal--form .enrl-actions:has(.enrl-btn-alt) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .enroll-page .enrl-modal--form .enrl-actions .enrl-btn-gold {
    grid-column: 1 / -1;
    order: -1;
  }
  .enroll-page .enrl-modal--form .enrl-actions:not(:has(.enrl-btn-alt)) .enrl-btn-ghost {
    grid-column: 1 / -1;
  }
  .enroll-page .enrl-modal--form .enrl-actions > button {
    white-space: normal;
  }
}

/* phones: Cancel takes only what it needs so "Submit — pay later" stays on one line */
@media (max-width: 600px) {
  .enroll-page .enrl-modal--form .enrl-actions:has(.enrl-btn-alt) {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .enroll-page .enrl-modal--form .enrl-actions .enrl-btn-ghost {
    padding: 12px 20px;
  }
}

/* ── This app: "Confirm your enrollment" modal — compact so it fits the
   screen, ticked two-column feature lists, buttons in one footer row ── */
.enroll-page .enrl-modal.enrl-modal--confirm {
  max-width: 600px;
  padding: 28px 28px 22px;
}
.enroll-page .enrl-modal--confirm .enrl-sub {
  margin-bottom: 16px;
}
.enroll-page .enrl-modal--confirm .enrl-plan {
  margin-bottom: 12px;
  padding: 16px 18px;
}
.enroll-page .enrl-modal--confirm .enrl-plan-head {
  margin-bottom: 10px;
}
.enroll-page .enrl-modal--confirm .enrl-plan ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.enroll-page .enrl-modal--confirm .enrl-plan--addon ul {
  padding-left: 27px;
}
.enroll-page .enrl-modal--confirm .enrl-plan li {
  position: relative;
  margin: 0;
  padding-left: 22px;
  font-size: .86rem;
  line-height: 1.45;
}
.enroll-page .enrl-modal--confirm .enrl-plan li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .2em;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--gold-bg, #fdf6e3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b45309' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 10px no-repeat;
}
.enroll-page .enrl-modal--confirm .enrl-total {
  margin: 4px 0 16px;
  padding-top: 14px;
}
.enroll-page .enrl-modal--confirm .enrl-actions {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
}
.enroll-page .enrl-modal--confirm .enrl-actions > button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 12px 22px;
  font-size: .92rem;
  line-height: 1.2;
}
.enroll-page .enrl-modal--confirm .enrl-note {
  margin-top: 12px;
}
@media (max-width: 600px) {
  .enroll-page .enrl-modal.enrl-modal--confirm {
    padding: 24px 18px 18px;
  }
  .enroll-page .enrl-modal--confirm .enrl-plan {
    padding: 14px 14px;
  }
  .enroll-page .enrl-modal--confirm .enrl-plan ul {
    grid-template-columns: minmax(0, 1fr);
  }
  .enroll-page .enrl-modal--confirm .enrl-plan-price b {
    font-size: 1.3rem;
  }
  .enroll-page .enrl-modal--confirm .enrl-actions {
    grid-template-columns: minmax(0, 1fr);
  }
  .enroll-page .enrl-modal--confirm .enrl-actions .enrl-btn-gold {
    order: -1;
  }
}

/* ── This app: Home "Learn your way — subscribe or own it" plan slider
   (layout from the "- mine" site, in this site's navy + gold). Each CTA opens the program page with its
   plan preselected (?plan=…#pgnr-pricing). ── */
.rt-plans {
  padding: 64px 0 56px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f9 100%);
}
.rt-plans-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
.rt-plans-head {
  max-width: 720px;
  margin: 0 auto 32px;
  text-align: center;
}
.rt-plans-eyebrow {
  display: inline-block;
  padding: 6px 16px;
  border: 1px solid #1F5FAF59;
  border-radius: 999px;
  background: #1F5FAF14;
  color: #0B3D7A;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.rt-plans .rt-plans-head h2 {
  margin: 14px 0 10px;
  color: #0a0f1e;
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.5rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.rt-plans-head p {
  margin: 0;
  color: #475569;
  font-size: 1.02rem;
}
.rt-plans-slider {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
}
.rt-plans-card {
  position: relative;
  display: grid;
  flex: 1;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  min-width: 0;
  padding: 44px 48px;
  overflow: hidden;
  border-radius: 24px;
  color: #fff;
  box-shadow: 0 26px 60px -28px #0a0f1e8c;
  animation: rtPlansFade .5s ease;
}
.rt-plans-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(620px 300px at 10% -12%, #0B3D7A29, transparent 60%),
    radial-gradient(520px 300px at 100% 120%, #3b82f62e, transparent 60%);
}
.rt-plans-slider.theme-a .rt-plans-card { background: linear-gradient(150deg, #0a0f1e, #111c3a); }
.rt-plans-slider.theme-b .rt-plans-card { background: linear-gradient(150deg, #0b1220, #16213f); }
.rt-plans-slider.theme-c .rt-plans-card { background: linear-gradient(150deg, #15203d, #0a0f1e); }
@keyframes rtPlansFade {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.rt-plans-left,
.rt-plans-right {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.rt-plans-tag {
  display: inline-block;
  padding: 6px 14px;
  border: 1px solid #0B3D7A59;
  border-radius: 999px;
  background: #1F5FAF26;
  color: #5AA9F0;
  font-size: .78rem;
  font-weight: 700;
}
.rt-plans .rt-plans-left h3 {
  margin: 16px 0 12px;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
}
.rt-plans-desc {
  max-width: 640px;
  margin: 0 0 18px;
  color: #ffffffd1;
  font-size: 1rem;
  line-height: 1.7;
}
.rt-plans-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
}
.rt-plans-points li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .92rem;
  font-weight: 600;
}
.rt-plans-points svg {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  color: #0B3D7A;
  stroke-width: 3;
}
.rt-plans-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 22px;
}
.rt-plans .rt-plans-btn {
  display: inline-flex;
  align-items: center;
  padding: 15px 30px;
  border-radius: 999px;
  background: linear-gradient(135deg, #1F5FAF, #0B3D7A);
  box-shadow: 0 12px 26px -10px #1F5FAF8c;
  color: #0a0f1e;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
}
.rt-plans .rt-plans-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px -10px #1F5FAFa6;
  color: #0a0f1e;
}
.rt-plans .rt-plans-link {
  color: #5AA9F0;
  font-size: .92rem;
  font-weight: 700;
  text-decoration: none;
}
.rt-plans .rt-plans-link:hover {
  color: #fff;
  text-decoration: underline;
}
.rt-plans-right {
  padding: 22px 0 22px 28px;
  border-left: 1px solid #ffffff29;
  text-align: center;
}
.rt-plans-price {
  line-height: 1;
}
.rt-plans-amt {
  display: block;
  color: #0B3D7A;
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 1.8rem + 1.4vw, 3rem);
  font-weight: 900;
}
.rt-plans-unit {
  display: block;
  margin-top: 6px;
  font-size: 1rem;
  font-weight: 700;
  opacity: .88;
}
.rt-plans-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding: 9px 18px;
  border: 1px solid #0B3D7A4d;
  border-radius: 999px;
  background: #1F5FAF1f;
  color: #5AA9F0;
  font-size: .85rem;
  font-weight: 700;
}
.rt-plans-badge svg {
  width: 17px;
  height: 17px;
  color: #0B3D7A;
}
.rt-plans-nav {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 6px 16px #0a0f1e1f;
  color: #0a0f1e;
  cursor: pointer;
  transition: background .2s, transform .2s, color .2s, border-color .2s;
}
.rt-plans-nav svg {
  width: 22px;
  height: 22px;
}
.rt-plans-nav:hover {
  border-color: transparent;
  background: linear-gradient(135deg, #1F5FAF, #0B3D7A);
  color: #fff;
  transform: scale(1.06);
}
.rt-plans-dots {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin-top: 24px;
}
.rt-plans-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #cbd5e1;
  cursor: pointer;
  transition: width .2s, background .2s;
}
.rt-plans-dot.on {
  width: 30px;
  border-radius: 6px;
  background: linear-gradient(135deg, #1F5FAF, #0B3D7A);
}
@media (max-width: 767px) {
  .rt-plans {
    padding: 48px 0 40px;
  }
  .rt-plans-inner {
    padding: 0 16px;
  }
  .rt-plans-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    padding: 26px 22px;
  }
  .rt-plans-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 0 0;
    border-top: 1px solid #ffffff2e;
    border-left: 0;
    text-align: left;
  }
  .rt-plans-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
  .rt-plans-unit {
    margin-top: 0;
  }
  .rt-plans-badge {
    margin-top: 0;
  }
  /* arrows sit either side of the dots instead of squeezing the card */
  .rt-plans-slider {
    display: block;
  }
  .rt-plans-nav {
    position: absolute;
    bottom: -64px;
    width: 42px;
    height: 42px;
  }
  .rt-plans-nav.prev {
    left: calc(50% - 104px);
  }
  .rt-plans-nav.next {
    right: calc(50% - 104px);
  }
  .rt-plans-dots {
    align-items: center;
    height: 42px;
    margin-top: 22px;
  }
  .rt-plans-actions {
    gap: 12px 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rt-plans-card {
    animation: none;
  }
}

/* the Home-wide "margin-bottom: 0" reset outranks the slider's own spacing */
.rt-plans.rt-plans .rt-plans-head h2 { margin-bottom: 10px; }
.rt-plans.rt-plans .rt-plans-left h3 { margin-bottom: 12px; }
.rt-plans.rt-plans .rt-plans-desc { margin-bottom: 20px; }
.rt-plans.rt-plans .rt-plans-points { margin-bottom: 28px; }

/* ── This app: program page "See pricing & plans" — land the plan card below
   the fixed header and flash it so the jump is visible ── */
.pgnr-page #pgnr-pricing {
  scroll-margin-top: 84px;
}
.pgnr-page .pgnr-buy.pgnr-flash {
  animation: pgnrFlash 1.5s ease-out;
}
@keyframes pgnrFlash {
  0% { box-shadow: 0 0 0 0 #0B3D7Acc; }
  35% { box-shadow: 0 0 0 10px #0B3D7A59; }
  100% { box-shadow: 0 0 0 18px #0B3D7A00; }
}
@media (prefers-reduced-motion: reduce) {
  .pgnr-page .pgnr-buy.pgnr-flash {
    animation: none;
    outline: 3px solid #0B3D7A;
    outline-offset: 4px;
  }
}

/* ── This app: Home hero video card (from riviratech-innovations-main,
   components/HomeHeroVideo.tsx) ── */
/* TSK-048: reserve a stable landscape frame before any media downloads. */
.rt-hero-video-frame {
  position: relative;
  width: 100%;
  max-width: 760px;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.14);
  background: #070d18;
  box-shadow: 0 28px 70px -28px rgba(0,0,0,0.65);
  isolation: isolate;
}
.rt-hero-video, .rt-hero-video-poster {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.rt-hero-video { opacity: 0; }
.rt-hero-video-frame[data-has-frame="true"] .rt-hero-video { opacity: 1; }
.rt-hero-video-shade {
  pointer-events: none;
  position: absolute;
  inset: 75% 0 0;
  background: linear-gradient(transparent, rgba(7,13,24,0.35));
}
.rt-hero-video-toggle {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 999px;
  background: #142334;
  color: #fff;
  font: 500 12px/1.2 var(--font-body, sans-serif);
  cursor: pointer;
}
.rt-hero-video-toggle:hover { background: #223a50; }
.rt-hero-video-toggle:focus-visible { outline: 2px solid #f8ce75; outline-offset: 3px; }
.rt-hero-video-toggle:disabled { cursor: default; }
/* Brand watermark, top-right. It sat bottom-left until the v3 video, whose
   own "LEARN / BUILD / GROW" line runs along that edge and was hidden under
   it. Top-right sits over the video's slide-progress bars instead, the least
   informative thing in the frame; the video's own wordmark is top-left. */
.rt-hero-video-mark {
  pointer-events: none;
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,0.24);
  border-radius: 999px;
  background: rgba(255,255,255,0.9);
}
.rt-hero-video-mark img { display: block; height: 20px; width: auto; }
@media (max-width: 767px) {
  .rt-hero-video-frame { max-width: calc(100% - 8px); margin-top: 24px; border-radius: 18px; }
  .rt-hero-video-toggle { right: 7px; bottom: 7px; padding: 0 10px; }
  .rt-hero-video-mark { top: 8px; right: 8px; height: 28px; padding: 0 8px; }
  .rt-hero-video-mark img { height: 16px; }
}

/* ── This app: enrollment success screen — centred icon badge, clear steps ── */
.enroll-page .enrl-success {
  padding: 8px 0 0;
  text-align: center;
}
.enroll-page .enrl-success .enrl-success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 68px;
  margin: 4px auto 16px;
  border-radius: 50%;
  background: #dcfce7;
  box-shadow: 0 0 0 8px #f0fdf4;
  color: #16a34a;
}
.enroll-page .enrl-success .enrl-success-icon svg {
  display: block;
  margin: 0;
  color: inherit;
}
.enroll-page .enrl-success h4 {
  margin: 0 0 6px;
  font-size: 1.25rem;
}
.enroll-page .enrl-success > p {
  margin: 0 0 18px;
}
.enroll-page .enrl-success .enrl-success-next {
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--cloud);
  text-align: left;
}
.enroll-page .enrl-success .enrl-success-next strong {
  display: block;
  margin-bottom: 8px;
  color: var(--text);
  font-size: .9rem;
}
.enroll-page .enrl-success .enrl-success-next ol {
  margin: 0;
  padding-left: 20px;
  list-style: decimal;
  color: var(--text-sec);
  font-size: .9rem;
  line-height: 1.6;
}
.enroll-page .enrl-success .enrl-success-next li + li {
  margin-top: 4px;
}
.enroll-page .enrl-success .enrl-success-next li::marker {
  color: var(--gold);
  font-weight: 700;
}
.enroll-page .enrl-success .enrl-btn-gold {
  margin-top: 20px;
}

/* ---- Course Plan hero: same look as the program page hero (ProgramGenAI.tsx).
   `.course-plan-page.course-plan-page h1` resets colour, line-height and margin
   for the whole page, so the hero heading needs these back at higher specificity. */
.course-plan-page.course-plan-page .cp-hero .enroll-hero h1 {
  color: #fff;
  font-size: clamp(36px, 5.6vw, 58px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.025em;
  text-align: center;
  text-wrap: balance;
  margin: 0 0 20px;
}
.course-plan-page .cp-hero .enroll-hero h1 .gold-text {
  display: block;
}
.course-plan-page .cp-hero .pgnr-hero-solo .enroll-cta-note {
  text-align: center;
}

/* ---- Course Plan term bank, grouped (CoursePlan.tsx TERM_GROUPS): one labelled
   row of term chips per group. */
.course-plan-page .term-groups {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.course-plan-page .term-group {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}
.course-plan-page .term-group-label {
  font-family: var(--font-body);
  color: var(--brand-deep);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding-top: 6px;
}
@media (max-width: 640px) {
  .course-plan-page .term-group {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }
  .course-plan-page .term-group-label {
    padding-top: 0;
  }
}

/* ===================== Legal pages (Legal.tsx, lx-*) =====================
   Compact hero + policy switcher overlapping it + sticky "On this page" with
   scroll-spy + numbered section cards. .lgl-page still supplies the colour
   variables and the hero background. */
.lx-page { background: #f6f8fb; }
.lx-page .lx-hero { padding: 76px 24px 96px; }
.lx-hero-inner { position: relative; z-index: 1; max-width: 860px; margin: 0 auto; text-align: center; }
.lx-crumbs { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 8px; font-size: .82rem; color: #94a3b8; margin-bottom: 22px; }
.lx-crumbs a { color: #cbd5e1; text-decoration: none; }
.lx-crumbs a:hover { color: var(--gold-light); }
.lx-crumbs [aria-current] { color: var(--gold-light); font-weight: 600; }
.lx-hero-icon {
  width: 58px; height: 58px; margin: 0 auto 16px; border-radius: 16px; display: grid; place-items: center;
  color: var(--gold-light); background: linear-gradient(135deg, #1F5FAF2e, #1F5FAF0d); border: 1px solid #1F5FAF59;
}
.lx-page .lx-hero h1 {
  color: #fff; font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em;
  font-size: clamp(30px, 4.6vw, 48px); line-height: 1.12; margin: 0 0 12px;
}
.lx-page .lx-hero p { color: #cbd5e1; font-size: 1.05rem; line-height: 1.6; max-width: 620px; margin: 0 auto 22px; }
.lx-hero-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.lx-hero-meta span {
  display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px; border-radius: 999px;
  font-size: .84rem; font-weight: 600; color: #e2e8f0; background: #ffffff0d; border: 1px solid #ffffff1f;
}
.lx-hero-meta svg { color: var(--gold-light); }

/* policy switcher */
.lx-docs-wrap { position: relative; z-index: 2; max-width: 1200px; margin: -62px auto 0; padding: 0 24px; }
.lx-docs {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; padding: 12px;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; box-shadow: 0 18px 40px -18px #0f172a40;
}
.lx-doc {
  display: flex; align-items: flex-start; gap: 11px; padding: 13px 14px; border-radius: 12px;
  text-decoration: none; color: #334155; border: 1px solid transparent; transition: background .15s, border-color .15s;
}
.lx-doc:hover { background: #f8fafc; border-color: #e2e8f0; }
.lx-doc.is-active { background: #fffaf0; border-color: #1F5FAF66; }
.lx-doc-icon {
  flex: none; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center;
  background: #f1f5f9; color: #64748b;
}
.lx-doc.is-active .lx-doc-icon { background: var(--gold); color: #fff; }
.lx-doc-text { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lx-doc-text b { font-family: var(--font-display); font-size: .9rem; line-height: 1.3; color: #0f172a; }
.lx-doc.is-active .lx-doc-text b { color: #92400e; }
.lx-doc-text small { font-size: .76rem; line-height: 1.35; color: #64748b; }

/* body */
.lx-body { padding: 36px 24px 80px; }
.lx-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; }
.lx-toc { position: sticky; top: 88px; }
.lx-toc-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 18px 14px 14px; }
.lx-toc-label { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); margin: 0 6px 10px; }
.lx-toc ol { list-style: none; margin: 0; padding: 0; max-height: calc(100vh - 240px); overflow: auto; }
.lx-toc li a {
  display: flex; gap: 10px; align-items: baseline; padding: 7px 8px; border-radius: 8px; text-decoration: none;
  font-size: .88rem; line-height: 1.35; color: #475569; border-left: 2px solid transparent;
}
.lx-toc li a:hover { background: #f8fafc; color: #0f172a; }
.lx-toc li a.is-active { background: #fffaf0; color: #92400e; font-weight: 600; border-left-color: var(--gold); }
.lx-toc-num { flex: none; min-width: 18px; font-size: .74rem; font-weight: 700; color: #94a3b8; }
.lx-toc li a.is-active .lx-toc-num { color: var(--gold); }
.lx-print {
  margin-top: 12px; width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 9px 12px; border-radius: 10px; border: 1px solid #e2e8f0; background: #f8fafc; color: #334155;
  font-size: .84rem; font-weight: 600; cursor: pointer;
}
.lx-print:hover { border-color: #1F5FAF80; color: #92400e; }

.lx-article { background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; padding: 8px 40px; }
.lx-sec { padding: 28px 0; border-top: 1px solid #eef2f6; scroll-margin-top: 96px; }
.lx-sec:first-child { border-top: 0; }
.lx-page .lx-sec h2 {
  display: flex; align-items: center; gap: 12px; margin: 0 0 12px;
  font-family: var(--font-display); font-size: 1.22rem; font-weight: 700; line-height: 1.3; color: #0f172a;
}
.lx-sec-num {
  flex: none; width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center;
  font-size: .86rem; font-weight: 800; color: #92400e; background: #fdf3e0; border: 1px solid #f2ddb4;
}
.lx-anchor { margin-left: 2px; color: #cbd5e1; text-decoration: none; font-weight: 600; opacity: 0; transition: opacity .15s; }
.lx-sec h2:hover .lx-anchor, .lx-anchor:focus { opacity: 1; }
.lx-anchor:hover { color: var(--gold); }
.lx-sec p { margin: 0 0 12px 44px; color: #475569; font-size: 1rem; line-height: 1.75; max-width: 72ch; }
.lx-sec p:last-child { margin-bottom: 0; }

.lx-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
.lx-pager-card {
  display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 14px; text-decoration: none;
  background: #fff; border: 1px solid #e2e8f0; transition: border-color .15s, box-shadow .15s;
}
.lx-pager-card:hover { border-color: #1F5FAF80; box-shadow: 0 10px 24px -14px #0f172a40; }
.lx-pager-card.is-next { text-align: right; align-items: flex-end; }
.lx-pager-card small { display: inline-flex; align-items: center; gap: 6px; font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; }
.lx-pager-card b { font-family: var(--font-display); font-size: 1rem; color: #0f172a; }

.lx-contact {
  margin-top: 20px; padding: 24px 28px; border-radius: 18px; color: #e2e8f0;
  background: radial-gradient(circle at 0 0, #1F5FAF2e, transparent 45%), var(--ink);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px;
}
.lx-page .lx-contact h3 { margin: 0 0 4px; color: #fff; font-family: var(--font-display); font-size: 1.15rem; }
.lx-contact p { margin: 0; color: #94a3b8; font-size: .92rem; }
.lx-contact-row { display: flex; flex-wrap: wrap; gap: 10px; }
.lx-contact-row a {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 10px; text-decoration: none;
  font-size: .86rem; color: #e2e8f0; background: #ffffff0f; border: 1px solid #ffffff1f;
}
.lx-contact-row a:hover { border-color: var(--gold); color: #fff; }
.lx-contact-row svg { color: var(--gold-light); flex: none; }


@media (max-width: 1100px) {
  .lx-docs { gap: 8px; padding: 10px; }
  .lx-doc { flex-direction: column; gap: 8px; padding: 12px; }
}
/* Phones / small tablets: every policy listed in full (no sideways scrolling),
   and no "On this page" panel — it only pushed the text down a screen. */
@media (max-width: 900px) {
  .lx-grid { grid-template-columns: minmax(0, 1fr); }
  .lx-toc { display: none; }
  .lx-docs { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 8px; }
  .lx-doc { flex-direction: row; align-items: center; gap: 12px; padding: 10px 12px; }
  .lx-doc-icon { width: 34px; height: 34px; }
}
@media (max-width: 640px) {
  .lx-page .lx-hero { padding: 64px 18px 84px; }
  .lx-docs-wrap { padding: 0 14px; }
  .lx-body { padding: 24px 14px 64px; }
  .lx-article { padding: 4px 18px; }
  .lx-sec p { margin-left: 0; }
  .lx-pager { grid-template-columns: 1fr; }
  .lx-contact { padding: 20px; }
}

@media print {
  .lx-docs-wrap, .lx-toc, .lx-pager, .lx-anchor, .lx-crumbs { display: none !important; }
  .lx-page .lx-hero { background: none; padding: 0 0 12px; }
  .lx-page .lx-hero h1 { color: #000; }
  .lx-page .lx-hero p, .lx-hero-meta span { color: #333; background: none; border: 0; }
  .lx-grid { display: block; }
  .lx-article { border: 0; padding: 0; }
  .lx-contact { background: none; color: #000; border: 1px solid #ccc; }
}

/* Footer: mark the link for the page you're on (NavLink adds .active). Same
   gold + dash as the hover state, so it reads as "you are here". */
.footer-section ul li a.active {
  color: #0B3D7A;
  font-weight: 600;
  padding-left: 4px;
}
.footer-section ul li a.active:before {
  width: 8px;
  margin-right: 6px;
}
.footer-bottom p a.active {
  color: #0B3D7A;
  font-weight: 600;
}
