/* =======================================================
   Behind The Universe — Homepage v2.1 (Polish Pass)
   Premium child-friendly sales landing page.
   Gold/cream palette. Arabic RTL first. Fully responsive.
   ======================================================= */

/* ── Variables ─────────────────────────────────────── */
:root {
  /* Gold / warm accent */
  --hp-gold:        #fbbf24;
  --hp-gold-lt:     #fde68a;
  --hp-gold-dk:     #d97706;
  --hp-gold-bg:     #fef9c3;
  /* Space palette — blue / violet / yellow */
  --bu-sky:         #e8f6ff;
  --bu-sky-2:       #cfeeff;
  --bu-violet:      #eee9ff;
  --bu-violet-2:    #d8ccff;
  --bu-yellow:      #ffd84d;
  --bu-gold:        #f5a900;
  --bu-orange:      #ff9f1c;
  --bu-ink:         #182235;
  --bu-muted:       #64748b;
  --bu-border:      rgba(24,34,53,.12);
  --bu-card:        #ffffff;
  /* Surface palette */
  --hp-cream:       #f4f9ff;
  --hp-page-bg:     #f5f8ff;
  --hp-white:       #FFFFFF;
  --hp-sky:         #e8f6ff;
  --hp-sky-2:       #cfeeff;
  /* Dark palette — navy for footer/offer card */
  --hp-navy:        #0F172A;
  --hp-navy-mid:    #1E293B;
  --hp-dark:        #182235;
  --hp-muted:       #64748b;
  --hp-border:      #e2e8f0;
  --hp-shadow-sm:   0 1px 4px rgba(0,0,0,.06);
  --hp-shadow:      0 4px 16px rgba(0,0,0,.08);
  --hp-shadow-md:   0 8px 32px rgba(0,0,0,.1);
  --hp-shadow-lg:   0 20px 56px rgba(0,0,0,.13);
  --hp-glow:        0 8px 32px rgba(245,169,0,.35);
  --hp-glow-sm:     0 4px 16px rgba(245,169,0,.22);
  --hp-glow-violet: 0 8px 32px rgba(168,132,255,.28);
  --hp-r-sm:        8px;
  --hp-r:           16px;
  --hp-r-lg:        24px;
  --hp-r-xl:        32px;
  --hp-r-pill:      9999px;
  --hp-ease:        0.25s cubic-bezier(.4,0,.2,1);
  --hp-ease-spring: 0.45s cubic-bezier(.34,1.56,.64,1);
  --hp-font-display:'Space Grotesk','Cairo',system-ui,sans-serif;
  --hp-font-body:   'Plus Jakarta Sans','Cairo','Tajawal',system-ui,sans-serif;
  --hp-container:   1240px;
  --hp-nav-h:       72px;
  --hp-nav-top:     16px;
}

/* ── Base ────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--hp-font-body);
  background: var(--hp-page-bg);
  color: var(--hp-dark);
  -webkit-font-smoothing: antialiased;
}

/* ── Smooth anchor scroll with navbar offset ────────── */
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--hp-nav-h) + var(--hp-nav-top) + 24px);
}
section[id] { scroll-margin-top: calc(var(--hp-nav-h) + var(--hp-nav-top) + 24px); }

/* ── Container ─────────────────────────────────────── */
.hp-container {
  width: 100%;
  max-width: var(--hp-container);
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media (min-width: 768px) { .hp-container { padding-inline: 2rem; } }

/* ── Scroll progress bar ────────────────────────────── */
.hs-progress {
  position: fixed;
  top: 0;
  inset-inline: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--hp-gold), var(--hp-gold-lt));
  transform-origin: inline-start;
  transform: scaleX(0);
  z-index: 2000;
  transition: transform .1s linear;
}

/* ── Section header ─────────────────────────────────── */
.hp-section-head {
  text-align: center;
  margin-bottom: 3rem;
}
.hp-badge {
  display: inline-block;
  padding: .375rem 1rem;
  background: var(--hp-gold-bg);
  color: var(--hp-gold-dk);
  border: 1px solid rgba(232,160,0,.3);
  border-radius: var(--hp-r-pill);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: .875rem;
}
.hp-section-title {
  font-family: var(--hp-font-display);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  color: var(--hp-dark);
  line-height: 1.2;
  margin: 0 0 .625rem;
}
.hp-section-subtitle {
  font-size: 1.05rem;
  color: var(--hp-muted);
  max-width: 640px;
  margin-inline: auto;
  line-height: 1.75;
}

/* ── Buttons ─────────────────────────────────────────── */
.hp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .875rem 1.875rem;
  border-radius: var(--hp-r-pill);
  font-weight: 700;
  font-size: 1rem;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform var(--hp-ease), box-shadow var(--hp-ease), background var(--hp-ease);
  white-space: nowrap;
  text-decoration: none;
  font-family: inherit;
  line-height: 1;
  letter-spacing: .01em;
}
.hp-btn:focus-visible { outline: 3px solid var(--hp-gold); outline-offset: 3px; }
.hp-btn-primary {
  background: linear-gradient(135deg, var(--hp-gold) 0%, var(--hp-gold-lt) 100%);
  color: #111;
  box-shadow: var(--hp-glow-sm);
}
.hp-btn-primary:hover { transform: translateY(-3px); box-shadow: var(--hp-glow); }
.hp-btn-primary:active { transform: translateY(0); }
.hp-btn-outline {
  background: var(--hp-white);
  color: var(--hp-dark);
  border-color: var(--hp-border);
}
.hp-btn-outline:hover { border-color: var(--hp-gold); color: var(--hp-gold-dk); transform: translateY(-2px); box-shadow: var(--hp-shadow); }
.hp-btn-ghost {
  background: rgba(255,255,255,.15);
  color: var(--hp-white);
  border-color: rgba(255,255,255,.3);
  backdrop-filter: blur(8px);
}
.hp-btn-ghost:hover { background: rgba(255,255,255,.28); transform: translateY(-2px); }
.hp-btn-lg { padding: 1.1rem 2.375rem; font-size: 1.1rem; }
.hp-btn-sm { padding: .55rem 1.2rem; font-size: .875rem; }

/* ── Wave Divider ────────────────────────────────────── */
.hp-wave {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  pointer-events: none;
}
.hp-wave svg { display: block; width: 100%; }

/* ── Decorative science dots pattern ────────────────── */
.hp-sci-dots {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.hp-sci-dots::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(232,160,0,.18) 1.5px, transparent 1.5px);
  background-size: 28px 28px;
  opacity: .5;
}

/* =======================================================
   SECTION 1 — FLOATING NAVBAR
   ======================================================= */
.hn-bar {
  position: fixed;
  top: var(--hp-nav-top);
  z-index: 1000;
  max-width: var(--hp-container);
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  width: calc(100% - 2rem);
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(24px) saturate(170%);
  -webkit-backdrop-filter: blur(24px) saturate(170%);
  border: 1px solid rgba(229,231,235,.9);
  border-radius: var(--hp-r-pill);
  box-shadow: 0 4px 24px rgba(0,0,0,.07), 0 1px 4px rgba(0,0,0,.04);
  transition: box-shadow var(--hp-ease), background var(--hp-ease);
}
[data-theme="dark"] .hn-bar {
  background: rgba(15,23,42,.96);
  border-color: rgba(255,255,255,.08);
}
.hn-bar.hn-scrolled {
  box-shadow: 0 8px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
}
.hn-inner {
  height: var(--hp-nav-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-inline: 1.5rem;
}
.hn-logo {
  display: flex;
  align-items: center;
  gap: .625rem;
  text-decoration: none;
  color: var(--hp-dark);
  font-family: var(--hp-font-display);
  font-weight: 800;
  font-size: 1.05rem;
  transition: transform var(--hp-ease);
  flex-shrink: 0;
}
.hn-logo:hover { transform: scale(1.04); }
[data-theme="dark"] .hn-logo { color: #f9fafb; }
.hn-logo-box {
  width: 36px; height: 36px;
  border-radius: var(--hp-r-sm);
  background: linear-gradient(135deg, var(--hp-gold), var(--hp-gold-lt));
  display: grid;
  place-items: center;
  padding: 4px;
  flex-shrink: 0;
}
.hn-logo-box img {
  width: 100%; height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
/* Full logo image (btu-logo-black.png) */
.hn-logo-img {
  height: 38px;
  width: auto;
  display: block;
  flex-shrink: 0;
  object-fit: contain;
}
[data-theme="dark"] .hn-logo-img { filter: brightness(0) invert(1); }
/* New navbar CTA button */
.hn-btn-cta {
  background: linear-gradient(135deg, var(--bu-yellow) 0%, var(--bu-gold) 100%) !important;
  color: #111 !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 14px rgba(245,169,0,.38) !important;
  border: none !important;
}
.hn-btn-cta:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(245,169,0,.5) !important; }
/* Student Portal button */
.hn-btn-portal {
  color: var(--hp-dark) !important;
  border-color: var(--bu-border) !important;
  font-weight: 600 !important;
}
/* Language button */
.hn-lang-btn {
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  min-width: 44px;
}
/* Hide portal on very small screens */
.hn-btn-portal { display: none; }
@media (min-width: 640px) { .hn-btn-portal { display: inline-flex; } }
/* Desktop nav links */
.hn-nav {
  display: none;
  list-style: none;
  gap: .2rem;
  margin: 0;
  padding: 0;
}
@media (min-width: 860px) { .hn-nav { display: flex; } }
.hn-nav a {
  display: block;
  padding: .5rem .75rem;
  border-radius: var(--hp-r-pill);
  font-weight: 600;
  font-size: .875rem;
  color: var(--hp-muted);
  text-decoration: none;
  transition: background var(--hp-ease), color var(--hp-ease);
  white-space: nowrap;
}
.hn-nav a:hover, .hn-nav a.hn-active {
  background: var(--hp-gold-bg);
  color: var(--hp-gold-dk);
}
[data-theme="dark"] .hn-nav a { color: #9ca3af; }
[data-theme="dark"] .hn-nav a:hover,
[data-theme="dark"] .hn-nav a.hn-active { background: rgba(232,160,0,.15); color: var(--hp-gold); }
/* Right actions */
.hn-actions { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.hn-btn-lms { display: none; }
@media (min-width: 640px) { .hn-btn-lms { display: inline-flex; } }
/* Language & theme toggles */
.hn-toggle-btn {
  display: grid;
  place-items: center;
  width: 38px; height: 38px;
  border-radius: var(--hp-r-pill);
  border: 1px solid var(--hp-border);
  background: transparent;
  color: var(--hp-muted);
  cursor: pointer;
  transition: background var(--hp-ease), color var(--hp-ease), border-color var(--hp-ease);
  font-size: .8rem;
  font-weight: 700;
  font-family: inherit;
}
.hn-toggle-btn:hover { background: var(--hp-gold-bg); color: var(--hp-gold-dk); border-color: var(--hp-gold); }
[data-theme="dark"] .hn-toggle-btn { border-color: rgba(255,255,255,.12); color: #9ca3af; }
/* Mobile hamburger */
.hn-menu-btn {
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  border-radius: var(--hp-r-pill);
  border: 1px solid var(--hp-border);
  background: transparent;
  color: var(--hp-muted);
  cursor: pointer;
  transition: background var(--hp-ease), color var(--hp-ease);
}
.hn-menu-btn:hover { background: var(--hp-gold-bg); color: var(--hp-gold-dk); border-color: var(--hp-gold); }
@media (min-width: 860px) { .hn-menu-btn { display: none; } }
/* Mobile menu dropdown */
.hn-mobile-menu {
  display: none;
  flex-direction: column;
  gap: .25rem;
  padding: .75rem 1.25rem 1rem;
  border-top: 1px solid var(--hp-border);
}
.hn-mobile-menu.hn-open { display: flex; }
.hn-mobile-menu a {
  display: block;
  padding: .625rem 1rem;
  border-radius: var(--hp-r);
  font-weight: 600;
  font-size: .95rem;
  color: var(--hp-dark);
  text-decoration: none;
  transition: background var(--hp-ease);
}
.hn-mobile-menu a:hover { background: var(--hp-gold-bg); color: var(--hp-gold-dk); }
.hn-mobile-menu .hn-mobile-lms {
  margin-top: .5rem;
  background: linear-gradient(135deg, var(--hp-gold), var(--hp-gold-lt));
  color: #111;
  text-align: center;
  border-radius: var(--hp-r-pill);
  font-weight: 700;
}
[data-theme="dark"] .hn-mobile-menu { border-top-color: rgba(255,255,255,.08); }
[data-theme="dark"] .hn-mobile-menu a { color: #d1d5db; }

/* =======================================================
   SECTION 2 — HERO
   ======================================================= */
.hs-hero {
  min-height: 100svh;
  background: linear-gradient(155deg, var(--bu-sky) 0%, var(--bu-violet) 35%, var(--hp-page-bg) 70%, var(--hp-white) 100%);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding-top: calc(var(--hp-nav-h) + var(--hp-nav-top) + 2rem);
  position: relative;
  overflow: hidden;
}
/* Floating radial blobs */
.hs-hero::before, .hs-hero::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.hs-hero::before {
  width: 640px; height: 640px;
  background: radial-gradient(circle, rgba(168,132,255,.28) 0%, rgba(207,238,255,.2) 50%, transparent 70%);
  top: -180px;
  inset-inline-end: -100px;
  animation: hp-float 9s ease-in-out infinite;
}
.hs-hero::after {
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(245,169,0,.12) 0%, transparent 70%);
  bottom: 60px;
  inset-inline-start: -80px;
  animation: hp-float 12s ease-in-out infinite reverse;
}

/* Science dot bg inside hero */
.hs-hero__sci-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(circle, rgba(148,210,246,.55) 1.5px, transparent 1.5px);
  background-size: 32px 32px;
  opacity: .5;
}

.hs-hero__content {
  flex: 1;
  display: flex;
  align-items: center;
}

.hs-hero__grid {
  display: grid;
  gap: 3rem;
  align-items: center;
  position: relative;
  z-index: 1;
  padding-bottom: 3rem;
}
@media (min-width: 1024px) {
  .hs-hero__grid { grid-template-columns: 1fr 1.15fr; }
}

/* Text column */
.hs-hero__text { animation: hp-fadeup .7s ease both; }
.hs-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem 1.1rem;
  background: linear-gradient(135deg, rgba(232,160,0,.18), rgba(245,158,11,.12));
  border: 1px solid rgba(232,160,0,.45);
  border-radius: var(--hp-r-pill);
  font-size: .82rem;
  font-weight: 700;
  color: #92400E;
  margin-bottom: 1.25rem;
}
.hs-live-dot {
  width: 8px; height: 8px;
  background: #22c55e;
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
}
.hs-live-dot::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  background: rgba(34,197,94,.35);
  animation: hp-ping 1.6s ease-in-out infinite;
}

.hs-hero__title {
  font-family: var(--hp-font-display);
  font-weight: 900;
  line-height: 1.08;
  color: var(--hp-dark);
  margin: 0 0 1.25rem;
  font-size: clamp(2.2rem, 4.5vw, 3.6rem);
}
.hs-hero__title .hs-hl {
  color: var(--hp-gold);
  position: relative;
}
.hs-hero__sub {
  font-size: 1.08rem;
  color: #374151;
  margin: 0 0 2rem;
  line-height: 1.78;
  max-width: 520px;
}
.hs-hero__sub strong { color: var(--hp-dark); }
.hs-hero__ctas { display: flex; gap: .875rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.hs-hero-lms {
  display: flex;
  align-items: center;
  gap: .75rem;
  font-size: .9rem;
  color: var(--hp-muted);
  flex-wrap: wrap;
}
.hs-hero-lms a {
  color: var(--hp-gold-dk);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--hp-ease);
}
.hs-hero-lms a:hover { color: var(--hp-gold); }

/* Visual column */
.hs-hero__visual {
  position: relative;
  animation: hp-fadein 1s ease .3s both;
}
.hs-hero__img-wrap {
  aspect-ratio: 4/3;
  border-radius: var(--hp-r-xl);
  overflow: hidden;
  box-shadow: var(--hp-shadow-lg), var(--hp-glow-violet), 0 0 0 4px rgba(168,132,255,.15);
  border: 3px solid rgba(245,169,0,.45);
  position: relative;
  background: linear-gradient(135deg, var(--bu-violet) 0%, var(--bu-sky) 100%);
}
.hs-hero__img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity .5s ease, transform 8s ease;
}
.hs-hero__img-wrap img:hover { transform: scale(1.03); }

/* Fallback mascot display when main image missing */
.hs-hero__img-fallback {
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--hp-cream), var(--hp-gold-bg));
}
.hs-hero__img-fallback img {
  max-height: 85%;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 8px 24px rgba(232,160,0,.3));
}

/* Floating stat chips */
.hs-stat-chip {
  position: absolute;
  background: var(--hp-white);
  border-radius: var(--hp-r-lg);
  padding: .75rem 1.1rem;
  box-shadow: var(--hp-shadow-md);
  border: 1px solid var(--hp-border);
  display: flex;
  align-items: center;
  gap: .625rem;
  animation: hp-float 4s ease-in-out infinite;
  z-index: 2;
  min-width: 155px;
  backdrop-filter: blur(8px);
}
.hs-stat-chip:nth-child(3) { animation-delay: -1.5s; }
.hs-stat-chip--1 { bottom: -1rem; inset-inline-start: -1.25rem; }
.hs-stat-chip--2 { top: -1rem; inset-inline-end: -1.25rem; animation-direction: reverse; }
.hs-stat-chip__icon { font-size: 1.5rem; }
.hs-stat-chip__value { font-family: var(--hp-font-display); font-weight: 800; font-size: 1.05rem; color: var(--hp-dark); line-height: 1.2; }
.hs-stat-chip__label { font-size: .75rem; color: var(--hp-muted); line-height: 1.3; }

/* Wave bottom divider */
.hs-hero__wave {
  position: relative;
  z-index: 1;
  margin-top: auto;
  line-height: 0;
}
.hs-hero__wave svg { display: block; width: 100%; }

/* Keyframes */
@keyframes hp-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
@keyframes hp-fadeup { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes hp-fadein { from { opacity:0; } to { opacity:1; } }
@keyframes hp-ping { 0%,100% { transform:scale(1); opacity:.8; } 50% { transform:scale(2); opacity:0; } }

/* =======================================================
   SECTION 4 — STUDENT STORIES CAROUSEL
   ======================================================= */
.hs-stories {
  padding: 5rem 0 0;
  background: var(--hp-page-bg);
  overflow: hidden;
}
.hs-stories__track-wrap {
  position: relative;
  margin-top: 2rem;
  padding-bottom: 3rem;
  overflow: hidden;
}
/* Side fade masks */
.hs-stories__track-wrap::before,
.hs-stories__track-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  pointer-events: none;
  z-index: 2;
}
.hs-stories__track-wrap::before {
  inset-inline-start: 0;
  background: linear-gradient(to right, var(--hp-page-bg), transparent);
}
.hs-stories__track-wrap::after {
  inset-inline-end: 0;
  background: linear-gradient(to left, var(--hp-page-bg), transparent);
}

.hs-stories__track {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-inline: 2rem;
  padding-bottom: .5rem;
}
.hs-stories__track::-webkit-scrollbar { display: none; }

.hs-story-card {
  flex: 0 0 280px;
  height: 360px;
  border-radius: var(--hp-r-xl);
  overflow: hidden;
  position: relative;
  scroll-snap-align: start;
  cursor: pointer;
  transition: transform var(--hp-ease-spring), box-shadow var(--hp-ease);
  box-shadow: var(--hp-shadow);
  background: var(--hp-cream);
}
.hs-story-card:hover { transform: translateY(-6px) scale(1.02); box-shadow: var(--hp-shadow-lg); }

/* Real image card */
.hs-story-card__img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.hs-story-card:hover .hs-story-card__img { transform: scale(1.06); }

.hs-story-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15,23,42,.82) 0%, rgba(15,23,42,.25) 45%, transparent 75%);
}

/* Course-image placeholder card */
.hs-story-card--course {
  background: transparent;
}
.hs-story-card__course-img {
  width: 100%; height: 65%;
  object-fit: cover;
  display: block;
}
.hs-story-card__course-body {
  height: 35%;
  background: linear-gradient(135deg, var(--hp-navy) 0%, var(--hp-navy-mid) 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: .75rem 1rem;
  text-align: center;
}

/* Gradient placeholder card (no image at all) */
.hs-story-card--gradient {
  background: linear-gradient(135deg, var(--hp-navy) 0%, var(--hp-navy-mid) 60%, rgba(232,160,0,.15) 100%);
}
.hs-story-card__grad-inner {
  width: 100%; height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: 1.5rem;
}
.hs-story-card__grad-icon {
  font-size: 3.5rem;
  line-height: 1;
  filter: drop-shadow(0 4px 12px rgba(232,160,0,.3));
}

/* Card body (bottom overlay) */
.hs-story-card__body {
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  padding: 1.25rem 1.1rem .9rem;
  z-index: 2;
}
.hs-story-card__title {
  font-family: var(--hp-font-display);
  font-weight: 700;
  font-size: .92rem;
  color: var(--hp-white);
  margin-bottom: .25rem;
  line-height: 1.35;
}
.hs-story-card__sub {
  font-size: .78rem;
  color: rgba(255,255,255,.72);
  font-weight: 500;
}

/* =======================================================
   SECTION 5 — WHY CHOOSE BEHIND THE UNIVERSE
   ======================================================= */
.hs-why {
  padding: 5.5rem 0;
  background: var(--hp-page-bg);
  position: relative;
}
.hs-why::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(232,160,0,.04) 0%, transparent 60%);
  pointer-events: none;
}
.hs-why__layout {
  display: grid;
  gap: 3.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .hs-why__layout { grid-template-columns: 1fr 1.3fr; align-items: center; }
}
.hs-why__image-col {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: sticky;
  top: calc(var(--hp-nav-h) + var(--hp-nav-top) + 32px);
}
.hs-why__img-wrap {
  aspect-ratio: 4/3;
  border-radius: var(--hp-r-xl);
  overflow: hidden;
  box-shadow: var(--hp-shadow-md), var(--hp-glow-sm);
  border: 2px solid rgba(232,160,0,.25);
  background: linear-gradient(135deg, var(--hp-cream), var(--hp-gold-bg));
  position: relative;
}
.hs-why__img-wrap img {
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
  padding: 1rem;
  transition: transform .4s ease;
}
.hs-why__img-wrap:hover img { transform: scale(1.04); }
.hs-why__img-cta { text-align: center; }

/* Features grid */
.hs-why__features {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 600px) {
  .hs-why__features { grid-template-columns: repeat(2, 1fr); }
}
.hs-feature-card {
  display: flex;
  align-items: flex-start;
  gap: .875rem;
  background: var(--hp-white);
  border: 1px solid var(--hp-border);
  border-radius: var(--hp-r-lg);
  padding: 1.25rem 1.1rem;
  box-shadow: var(--hp-shadow-sm);
  transition: transform var(--hp-ease), box-shadow var(--hp-ease), border-color var(--hp-ease);
}
.hs-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--hp-shadow);
  border-color: rgba(232,160,0,.3);
}
.hs-feature-card__icon {
  width: 44px; height: 44px;
  border-radius: var(--hp-r);
  background: var(--hp-gold-bg);
  display: grid;
  place-items: center;
  font-size: 1.4rem;
  flex-shrink: 0;
  border: 1px solid rgba(232,160,0,.2);
  transition: background var(--hp-ease), transform var(--hp-ease);
}
.hs-feature-card:hover .hs-feature-card__icon {
  background: linear-gradient(135deg, var(--hp-gold-bg), var(--hp-cream));
  transform: scale(1.1);
}
.hs-feature-card__title {
  font-family: var(--hp-font-display);
  font-weight: 700;
  font-size: .92rem;
  color: var(--hp-dark);
  margin-bottom: .3rem;
  line-height: 1.4;
}
.hs-feature-card__desc {
  font-size: .83rem;
  color: var(--hp-muted);
  margin: 0;
  line-height: 1.6;
}
[data-theme="dark"] .hs-feature-card { background: var(--hp-navy-mid); border-color: rgba(255,255,255,.07); }
[data-theme="dark"] .hs-feature-card__title { color: #f9fafb; }
[data-theme="dark"] .hs-feature-card__icon { background: rgba(232,160,0,.12); }

/* =======================================================
   SECTION 6 — SEASON 2026 SCIENCE MISSIONS
   ======================================================= */
.hs-missions {
  padding: 5.5rem 0;
  background: linear-gradient(180deg, var(--hp-page-bg) 0%, var(--hp-cream) 100%);
  position: relative;
  overflow: hidden;
}
.hs-missions::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(232,160,0,.1) 1.5px, transparent 1.5px);
  background-size: 32px 32px;
  opacity: .35;
  pointer-events: none;
}
.hs-missions__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .hs-missions__grid { grid-template-columns: repeat(3, 1fr); }
}

.hs-mission-card {
  background: var(--hp-white);
  border-radius: var(--hp-r-xl);
  overflow: hidden;
  box-shadow: var(--hp-shadow);
  border: 1px solid var(--hp-border);
  transition: transform var(--hp-ease-spring), box-shadow var(--hp-ease), border-color var(--hp-ease);
  display: flex;
  flex-direction: column;
}
.hs-mission-card:hover {
  transform: translateY(-7px);
  box-shadow: var(--hp-shadow-lg);
  border-color: rgba(232,160,0,.35);
}

/* 16:9 video/poster area */
.hs-mission-card__media {
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--hp-navy) 0%, var(--hp-navy-mid) 100%);
  flex-shrink: 0;
}
.hs-mission-card__media video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.hs-mission-card__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.hs-mission-card:hover .hs-mission-card__media img { transform: scale(1.06); }

/* Branded gradient overlay on course images */
.hs-mission-card__media-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15,23,42,.7) 0%, transparent 55%);
  pointer-events: none;
}

/* Gradient placeholder when no image/video */
.hs-mission-card__placeholder {
  width: 100%; height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .625rem;
  background: linear-gradient(135deg, var(--hp-navy) 0%, var(--hp-navy-mid) 60%, rgba(232,160,0,.12) 100%);
  position: relative;
}
.hs-mission-card__placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(232,160,0,.14) 1.5px, transparent 1.5px);
  background-size: 20px 20px;
  opacity: .5;
}
.hs-mission-card__placeholder-icon {
  font-size: 2.75rem;
  line-height: 1;
  filter: drop-shadow(0 4px 12px rgba(232,160,0,.35));
  position: relative;
  z-index: 1;
}
.hs-mission-card__placeholder-badge {
  position: relative;
  z-index: 1;
  background: rgba(232,160,0,.2);
  border: 1px solid rgba(232,160,0,.4);
  color: var(--hp-gold-lt);
  border-radius: var(--hp-r-pill);
  font-size: .72rem;
  font-weight: 700;
  padding: .2rem .625rem;
  letter-spacing: .04em;
}

/* Card body */
.hs-mission-card__body {
  padding: 1.25rem 1.25rem 1.125rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.hs-mission-card__age {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .75rem;
  font-weight: 700;
  background: var(--hp-gold-bg);
  color: var(--hp-gold-dk);
  border-radius: var(--hp-r-pill);
  padding: .2rem .7rem;
  margin-bottom: .75rem;
  width: fit-content;
  border: 1px solid rgba(232,160,0,.2);
}
.hs-mission-card__title {
  font-family: var(--hp-font-display);
  font-weight: 700;
  font-size: 1rem;
  color: var(--hp-dark);
  margin: 0 0 .5rem;
  line-height: 1.4;
}
.hs-mission-card__desc {
  font-size: .84rem;
  color: var(--hp-muted);
  line-height: 1.65;
  margin: 0 0 auto;
  flex: 1;
}
.hs-mission-card__meta {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .78rem;
  color: #9CA3AF;
  margin-top: .875rem;
  padding-top: .75rem;
  border-top: 1px solid var(--hp-border);
  font-weight: 500;
}
.hs-mission-card__meta-dot { color: var(--hp-gold); font-size: .6rem; }
[data-theme="dark"] .hs-mission-card { background: var(--hp-navy-mid); border-color: rgba(255,255,255,.07); }
[data-theme="dark"] .hs-mission-card__title { color: #f9fafb; }

/* =======================================================
   SECTION 7 — PARENT TESTIMONIALS (MARQUEE)
   ======================================================= */
.hs-testimonials {
  padding: 5.5rem 0;
  position: relative;
  overflow: hidden;
}
.hs-testimonials-inner {
  background: linear-gradient(135deg, var(--bu-sky) 0%, var(--bu-violet) 50%, var(--bu-sky-2) 100%);
  position: relative;
}
/* Background photo layer (set via inline style --testi-bg) */
.hs-testimonials-inner[style*="--testi-bg"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--testi-bg);
  background-size: cover;
  background-position: center;
  filter: blur(4px) saturate(1.2);
  transform: scale(1.06);
  pointer-events: none;
  z-index: 0;
}
.hs-testimonials-inner[style*="--testi-bg"]::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(245,248,255,.90) 0%,
    rgba(235,230,255,.78) 50%,
    rgba(255,248,220,.86) 100%
  );
  pointer-events: none;
  z-index: 0;
}
/* When bg photo is present, overlay is light so text stays dark */
.hs-testimonials-inner.has-bg .hp-section-head .hp-badge,
.hs-testimonials-inner.has-bg .hp-section-head .hp-section-title,
.hs-testimonials-inner.has-bg .hp-section-head .hp-section-subtitle {
  color: var(--hp-dark) !important;
}
.hs-testimonials-inner.has-bg .hp-container { position: relative; z-index: 1; }
.hs-testimonials-inner.has-bg .hs-testimonial-marquee { position: relative; z-index: 1; }

/* Marquee container */
.hs-testimonial-marquee {
  overflow: hidden;
  position: relative;
  z-index: 1;
  margin-top: 2.5rem;
  padding-bottom: .5rem;
}
.hs-testimonial-marquee::before,
.hs-testimonial-marquee::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 120px;
  pointer-events: none;
  z-index: 2;
}
.hs-testimonial-marquee::before {
  inset-inline-start: 0;
  background: linear-gradient(to right, #FFF8E7, transparent);
}
.hs-testimonial-marquee::after {
  inset-inline-end: 0;
  background: linear-gradient(to left, #FFF8E7, transparent);
}
[dir="rtl"] .hs-testimonial-marquee::before { background: linear-gradient(to left, #FFF8E7, transparent); }
[dir="rtl"] .hs-testimonial-marquee::after  { background: linear-gradient(to right, #FFF8E7, transparent); }

.hs-testimonial-track {
  display: flex;
  gap: 1.5rem;
  width: max-content;
  animation: hp-marquee-ltr 55s linear infinite;
  cursor: grab;
  direction: ltr; /* physical LTR layout so translateX(-50%) always hits duplicate copy */
}
.hs-testimonial-track:active { cursor: grabbing; }

/* RTL: same physical left-moving animation — text direction set per-card via dir="auto" */
html[dir="rtl"] .hs-testimonial-track,
[dir="rtl"] .hs-testimonial-track { animation-name: hp-marquee-ltr; direction: ltr; }

/* Pause on hover or keyboard focus */
.hs-testimonial-marquee:hover .hs-testimonial-track,
.hs-testimonial-marquee:focus-within .hs-testimonial-track { animation-play-state: paused; }

@keyframes hp-marquee-ltr {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Testimonial card */
.hs-quote-card {
  width: 340px;
  flex-shrink: 0;
  background: var(--hp-white);
  border-radius: var(--hp-r-xl);
  border: 1px solid var(--hp-border);
  padding: 1.75rem;
  box-shadow: var(--hp-shadow);
  position: relative;
  overflow: hidden;
  transition: box-shadow var(--hp-ease), transform var(--hp-ease);
}
.hs-quote-card:hover { box-shadow: var(--hp-shadow-md); transform: translateY(-4px); }
.hs-quote-icon {
  font-size: 4.5rem;
  line-height: .6;
  color: var(--hp-gold-bg);
  position: absolute;
  top: .75rem;
  inset-inline-end: 1rem;
  font-family: Georgia, serif;
  font-weight: 900;
  pointer-events: none;
  user-select: none;
}
.hs-quote-text {
  font-size: .93rem;
  line-height: 1.75;
  color: var(--hp-dark);
  margin: 0 0 1.25rem;
  font-weight: 500;
  position: relative;
  z-index: 1;
}
.hs-quote-meta {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.hs-quote-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--hp-gold-bg);
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  border: 2px solid rgba(232,160,0,.25);
  flex-shrink: 0;
}
.hs-quote-label {
  font-size: .82rem;
  font-weight: 700;
  color: var(--hp-dark);
  margin-bottom: .2rem;
}
.hs-quote-stars {
  font-size: .8rem;
  color: var(--hp-gold);
  letter-spacing: .05em;
}
[data-theme="dark"] .hs-quote-card { background: var(--hp-navy-mid); border-color: rgba(255,255,255,.07); }
[data-theme="dark"] .hs-quote-text { color: #e5e7eb; }
[data-theme="dark"] .hs-quote-label { color: #f3f4f6; }

/* Trust stats strip below testimonials */
.hs-testimonials__stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem 2rem;
  padding: 2.5rem 2rem 1rem;
  margin-top: 2.5rem;
  background: rgba(255,255,255,.92);
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(24,34,53,.10);
  position: relative;
  z-index: 1;
  backdrop-filter: blur(8px);
}
@media (min-width: 640px) {
  .hs-testimonials__stats { gap: 2rem 4rem; padding: 2.5rem 3rem; }
}
.hs-t-stat { text-align: center; padding: .5rem 1rem; }
.hs-t-stat__value {
  display: block;
  font-family: var(--hp-font-display);
  font-weight: 900;
  font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  color: var(--hp-dark);
  line-height: 1.1;
  margin-bottom: .35rem;
}
.hs-t-stat__label {
  font-size: .85rem;
  color: var(--hp-muted);
  font-weight: 500;
  max-width: 160px;
  margin-inline: auto;
  line-height: 1.4;
}

/* Reduced motion — static scroll */
@media (prefers-reduced-motion: reduce) {
  .hs-testimonial-track { animation: none; }
  .hs-testimonial-marquee { overflow-x: auto; scrollbar-width: thin; }
}

/* =======================================================
   SECTION 8 — PROGRAM OFFER CARD
   ======================================================= */
.hs-offer {
  padding: 5.5rem 0;
  background: var(--hp-page-bg);
}
.hs-offer-card {
  border-radius: var(--hp-r-xl);
  background: linear-gradient(135deg, var(--hp-navy) 0%, var(--hp-navy-mid) 55%, #1a2e40 100%);
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(15,23,42,.35);
  border: 1px solid rgba(255,255,255,.06);
}
/* Gold glow orbs inside offer card */
.hs-offer-card::before, .hs-offer-card::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.hs-offer-card::before {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(232,160,0,.1) 0%, transparent 70%);
  top: -100px; inset-inline-end: -80px;
}
.hs-offer-card::after {
  width: 250px; height: 250px;
  background: radial-gradient(circle, rgba(245,158,11,.08) 0%, transparent 70%);
  bottom: -60px; inset-inline-start: 10%;
}
@media (min-width: 1024px) {
  .hs-offer-card { padding: 3.5rem; }
}
.hs-offer-card__inner {
  display: grid;
  gap: 2.5rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .hs-offer-card__inner { grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
}
.hs-offer-card__price-badge {
  display: inline-flex;
  align-items: baseline;
  gap: .375rem;
  background: linear-gradient(135deg, rgba(232,160,0,.2), rgba(245,158,11,.12));
  border: 1px solid rgba(232,160,0,.45);
  border-radius: var(--hp-r-lg);
  padding: .5rem 1.1rem;
}
.hs-offer-card__price-cur {
  font-size: .78rem;
  color: rgba(232,160,0,.8);
  font-weight: 600;
}
.hs-offer-card__price-main {
  font-family: var(--hp-font-display);
  font-weight: 900;
  font-size: 2rem;
  color: var(--hp-gold);
  line-height: 1;
}
.hs-offer-card__discount {
  display: inline-flex;
  align-items: center;
  background: rgba(34,197,94,.15);
  border: 1px solid rgba(34,197,94,.3);
  color: #86efac;
  border-radius: var(--hp-r-pill);
  padding: .3rem .875rem;
  font-size: .8rem;
  font-weight: 700;
}
.hs-offer-card__name {
  font-family: var(--hp-font-display);
  font-weight: 800;
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  color: var(--hp-white);
  line-height: 1.25;
  margin: .75rem 0 .875rem;
}
.hs-offer-card__desc {
  color: rgba(255,255,255,.75);
  font-size: .97rem;
  line-height: 1.7;
  margin: 0 0 .875rem;
}
.hs-offer-card__start {
  color: rgba(255,255,255,.65);
  font-size: .9rem;
  margin: 0 0 1.5rem;
}
.hs-offer-card__ctas { display: flex; gap: .875rem; flex-wrap: wrap; }
.hs-offer-card__assurance {
  font-size: .8rem;
  color: rgba(255,255,255,.5);
  margin: 1.25rem 0 0;
  line-height: 1.6;
}
/* Features checklist */
.hs-offer-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
}
@media (max-width: 640px) { .hs-offer-card__list { grid-template-columns: 1fr; } }
.hs-offer-card__item {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .88rem;
  color: rgba(255,255,255,.8);
  line-height: 1.5;
}
.hs-offer-card__check {
  flex-shrink: 0;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--hp-gold), var(--hp-gold-lt));
  color: #111;
  font-size: .72rem;
  font-weight: 800;
  display: grid;
  place-items: center;
  margin-top: .1rem;
}
.hs-offer-card__item strong { color: var(--hp-white); }

/* =======================================================
   SECTION 9 — FAQ ACCORDION
   ======================================================= */
.hs-faq {
  padding: 5.5rem 0;
  background: var(--hp-page-bg);
}
.hs-faq__grid {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  max-width: 760px;
  margin-inline: auto;
}
.hs-faq__item {
  background: var(--hp-white);
  border-radius: var(--hp-r-lg);
  border: 1px solid var(--hp-border);
  overflow: hidden;
  transition: box-shadow var(--hp-ease), border-color var(--hp-ease);
  box-shadow: var(--hp-shadow-sm);
}
.hs-faq__item:hover,
.hs-faq__item:has(.hs-faq__question[aria-expanded="true"]) {
  box-shadow: var(--hp-shadow);
  border-color: rgba(232,160,0,.3);
}

.hs-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.125rem 1.375rem;
  background: transparent;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: .97rem;
  font-weight: 700;
  color: var(--hp-dark);
  text-align: start;
  line-height: 1.5;
  transition: color var(--hp-ease);
}
.hs-faq__question:hover { color: var(--hp-gold-dk); }
.hs-faq__question:focus-visible { outline: 2px solid var(--hp-gold); outline-offset: -2px; border-radius: var(--hp-r-lg); }
.hs-faq__question[aria-expanded="true"] { color: var(--hp-gold-dk); }

/* Animated chevron */
.hs-faq__chevron {
  flex-shrink: 0;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--hp-gold-bg);
  border: 1px solid rgba(232,160,0,.2);
  display: grid;
  place-items: center;
  transition: transform var(--hp-ease), background var(--hp-ease);
  color: var(--hp-gold-dk);
}
.hs-faq__question[aria-expanded="true"] .hs-faq__chevron {
  transform: rotate(180deg);
  background: linear-gradient(135deg, var(--hp-gold), var(--hp-gold-lt));
  color: #111;
  border-color: transparent;
}

/* Smooth height animation */
.hs-faq__answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .28s cubic-bezier(.4,0,.2,1);
}
.hs-faq__answer[aria-expanded="true"] { grid-template-rows: 1fr; }

/* Fix: aria-expanded on the answer is set by JS; but also support direct open state */
.hs-faq__question[aria-expanded="true"] ~ .hs-faq__answer { grid-template-rows: 1fr; }

.hs-faq__answer-inner {
  overflow: hidden;
  padding: 0 1.375rem;
}
.hs-faq__answer-inner p {
  margin: 0;
  padding-bottom: 1.25rem;
  font-size: .92rem;
  color: var(--hp-muted);
  line-height: 1.75;
}
[data-theme="dark"] .hs-faq__item { background: var(--hp-navy-mid); border-color: rgba(255,255,255,.07); }
[data-theme="dark"] .hs-faq__question { color: #e5e7eb; }
[data-theme="dark"] .hs-faq__answer-inner p { color: #9ca3af; }

/* =======================================================
   SECTION 10 — FOOTER
   ======================================================= */
.hs-footer {
  background: var(--hp-navy);
  color: rgba(255,255,255,.75);
  padding: 4rem 0 2rem;
  position: relative;
  overflow: hidden;
}
.hs-footer::before {
  content: '';
  position: absolute;
  top: 0; inset-inline: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232,160,0,.35), transparent);
}
.hs-footer__main {
  display: grid;
  gap: 2.5rem 3rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 640px) { .hs-footer__main { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .hs-footer__main { grid-template-columns: 1.6fr 1fr 1fr 1.2fr; } }

.hs-footer__brand {}
.hs-footer-logo {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  text-decoration: none;
  color: var(--hp-white);
  font-family: var(--hp-font-display);
  font-weight: 800;
  font-size: 1.05rem;
  margin-bottom: .875rem;
  transition: opacity var(--hp-ease);
}
.hs-footer-logo:hover { opacity: .85; }
.hs-footer-logo-box {
  width: 36px; height: 36px;
  border-radius: var(--hp-r-sm);
  background: linear-gradient(135deg, var(--hp-gold), var(--hp-gold-lt));
  display: grid;
  place-items: center;
  padding: 5px;
  flex-shrink: 0;
}
.hs-footer-logo-box img {
  width: 100%; height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.hs-footer__tagline {
  font-size: .88rem;
  color: rgba(255,255,255,.5);
  line-height: 1.6;
  margin: 0 0 1.25rem;
}
.hs-footer__social {
  display: flex;
  gap: .625rem;
}
.hs-footer__social a {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  transition: background var(--hp-ease), color var(--hp-ease), transform var(--hp-ease);
}
.hs-footer__social a:hover { background: var(--hp-gold); color: #111; transform: translateY(-3px); border-color: var(--hp-gold); }
.hs-footer__col-title {
  font-family: var(--hp-font-display);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin: 0 0 1rem;
}
.hs-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.hs-footer__links a {
  font-size: .88rem;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  transition: color var(--hp-ease), padding-inline-start var(--hp-ease);
}
.hs-footer__links a:hover { color: var(--hp-gold); padding-inline-start: .25rem; }
.hs-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.07);
  padding-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: .82rem;
  color: rgba(255,255,255,.35);
}
.hs-footer__bottom-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.5rem;
}
.hs-footer__bottom-links a { color: rgba(255,255,255,.35); text-decoration: none; transition: color var(--hp-ease); }
.hs-footer__bottom-links a:hover { color: var(--hp-gold); }

/* WhatsApp FAB — z-index 1200 keeps it above sticky bar (z 1100) */
.hs-whatsapp-fab {
  position: fixed;
  bottom: 90px;
  inset-inline-end: 1.5rem;
  width: 52px; height: 52px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.45);
  text-decoration: none;
  z-index: 1200;
  transition: transform var(--hp-ease-spring), box-shadow var(--hp-ease);
}
.hs-whatsapp-fab:hover { transform: scale(1.12); box-shadow: 0 6px 28px rgba(37,211,102,.55); }
.hs-whatsapp-fab:focus-visible { outline: 3px solid #25D366; outline-offset: 3px; }

/* =======================================================
   DARK MODE OVERRIDES
   ======================================================= */
[data-theme="dark"] body { background: var(--hp-navy); }
[data-theme="dark"] .hs-hero {
  background: linear-gradient(150deg, var(--hp-navy) 0%, var(--hp-navy-mid) 50%, rgba(232,160,0,.06) 100%);
}
[data-theme="dark"] .hp-section-title { color: #f9fafb; }
[data-theme="dark"] .hp-section-subtitle { color: #9ca3af; }
[data-theme="dark"] .hs-stories { background: var(--hp-navy); }
[data-theme="dark"] .hs-stories__track-wrap::before { background: linear-gradient(to right, var(--hp-navy), transparent); }
[data-theme="dark"] .hs-stories__track-wrap::after  { background: linear-gradient(to left, var(--hp-navy), transparent); }
[data-theme="dark"] .hs-why { background: var(--hp-navy); }
[data-theme="dark"] .hs-missions { background: linear-gradient(180deg, var(--hp-navy) 0%, var(--hp-navy-mid) 100%); }
[data-theme="dark"] .hs-testimonials-inner { background: linear-gradient(135deg, var(--hp-navy) 0%, var(--hp-navy-mid) 100%); }
[data-theme="dark"] .hs-testimonial-marquee::before { background: linear-gradient(to right, var(--hp-navy), transparent); }
[data-theme="dark"] .hs-testimonial-marquee::after  { background: linear-gradient(to left, var(--hp-navy), transparent); }
[data-theme="dark"] .hs-faq { background: var(--hp-navy); }
[data-theme="dark"] .hs-offer { background: var(--hp-navy); }
[data-theme="dark"] .hs-hero__title { color: #f9fafb; }
[data-theme="dark"] .hs-hero__sub { color: #d1d5db; }
[data-theme="dark"] .hs-t-stat__value { color: #f9fafb; }
[data-theme="dark"] .hs-t-stat__label { color: #9ca3af; }

/* =======================================================
   RESPONSIVE
   ======================================================= */
@media (max-width: 639px) {
  .hp-btn-lg { padding: .9rem 1.75rem; font-size: 1rem; }
  .hs-hero { min-height: auto; padding-top: calc(var(--hp-nav-h) + var(--hp-nav-top) + 1.25rem); padding-bottom: 0; }
  .hs-hero__title { font-size: clamp(1.9rem, 8vw, 2.8rem); }
  .hs-stat-chip { display: none; }
  .hs-offer-card { padding: 1.75rem; }
}
@media (max-width: 1023px) {
  .hs-why__image-col { position: static; }
}

/* =======================================================
   ACCESSIBILITY
   ======================================================= */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .hs-testimonial-track { animation: none; }
  .hs-stories__track    { animation: none; overflow-x: auto; }
}

/* =======================================================
   STORIES SECTION — MARQUEE (ADDED: infinite loop)
   ======================================================= */
.hs-stories__track {
  display: flex;
  gap: 1.25rem;
  width: max-content;
  padding-bottom: 1rem;
  cursor: grab;
  animation: hp-marquee-ltr 45s linear infinite;
  direction: ltr; /* physical LTR for RTL-safe seamless loop */
}
.hs-stories__track:active { cursor: grabbing; }
html[dir="rtl"] .hs-stories__track,
[dir="rtl"] .hs-stories__track { direction: ltr; }
.hs-stories__track-wrap:hover .hs-stories__track,
.hs-stories__track-wrap:focus-within .hs-stories__track { animation-play-state: paused; }

/* =======================================================
   HERO COUNTDOWN TIMER
   ======================================================= */
.hs-hero__timer {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  background: var(--hp-white);
  border: 1px solid var(--hp-sky-2);
  border-radius: var(--hp-r-lg);
  padding: .875rem 1.25rem;
  box-shadow: 0 4px 16px rgba(186,230,253,.35);
  margin-top: .875rem;
  flex-wrap: wrap;
  max-width: 100%;
}
.hs-timer-label {
  font-size: .72rem;
  font-weight: 700;
  color: var(--hp-muted);
  text-transform: uppercase;
  letter-spacing: .07em;
  white-space: nowrap;
}
.hs-timer-units {
  display: flex;
  gap: .75rem;
  align-items: center;
}
.hs-timer-unit { text-align: center; min-width: 40px; }
.hs-timer-val {
  font-family: var(--hp-font-display);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--hp-dark);
  display: block;
  line-height: 1;
}
.hs-timer-u {
  font-size: .62rem;
  font-weight: 700;
  color: var(--hp-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.hs-timer-sep {
  font-size: 1.1rem;
  color: var(--hp-gold);
  font-weight: 900;
  line-height: 1.4;
  margin-bottom: .5rem;
}
.hs-hero__urgency {
  font-size: .82rem;
  color: var(--hp-muted);
  margin-top: .5rem;
  display: block;
  font-weight: 500;
}

/* =======================================================
   STICKY BOTTOM CTA BAR
   ======================================================= */
.hn-sticky-bar {
  position: fixed;
  bottom: 0;
  inset-inline: 0;
  background: linear-gradient(90deg, var(--bu-yellow) 0%, var(--bu-gold) 100%);
  color: var(--hp-dark);
  padding: .875rem 1.5rem;
  z-index: 1100;
  box-shadow: 0 -4px 20px rgba(0,0,0,.12);
  transform: translateY(100%);
  transition: transform .4s cubic-bezier(.4,0,.2,1);
  border-top: 1px solid rgba(0,0,0,.06);
}
.hn-sticky-bar.hn-sticky-visible { transform: translateY(0); }
.hn-sticky-bar__inner {
  max-width: var(--hp-container);
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.hn-sticky-bar__text { font-weight: 800; font-size: .97rem; }
.hn-sticky-bar__btn {
  background: var(--hp-white);
  color: var(--hp-dark);
  padding: .625rem 1.5rem;
  border-radius: var(--hp-r-pill);
  font-weight: 700;
  font-size: .85rem;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
  white-space: nowrap;
  transition: transform .2s, box-shadow .2s;
}
.hn-sticky-bar__btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.15); }
@media (max-width: 480px) {
  .hn-sticky-bar__inner { flex-direction: column; gap: .625rem; }
  .hn-sticky-bar__btn { width: 100%; text-align: center; }
}

/* =======================================================
   ABOUT BU SECTION
   ======================================================= */
.hs-about {
  padding: 5.5rem 0;
  background: var(--hp-page-bg);
}
.hs-about__intro {
  font-size: 1.05rem;
  color: var(--hp-muted);
  line-height: 1.75;
  margin-top: .75rem;
}
.hs-about__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1.25rem;
  margin-top: 2.75rem;
}
.hs-about-card {
  background: var(--hp-white);
  border-radius: var(--hp-r-lg);
  overflow: hidden;
  border: 1px solid var(--hp-sky-2);
  transition: transform .2s, box-shadow .2s;
}
.hs-about-card:hover { transform: translateY(-4px); box-shadow: var(--hp-shadow-md); }
.hs-about-card__img {
  height: 130px;
  background: var(--hp-sky);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
}
.hs-about-card--highlight .hs-about-card__img {
  background: linear-gradient(135deg, var(--hp-sky-2) 0%, var(--hp-sky) 100%);
}
.hs-about-card__body { padding: 1.25rem; }
.hs-about-card__title {
  font-family: var(--hp-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--hp-dark);
  margin: 0 0 .4rem;
  line-height: 1.35;
}
.hs-about-card__desc {
  font-size: .855rem;
  color: var(--hp-muted);
  line-height: 1.6;
  margin: 0;
}

/* =======================================================
   SUMMER PROGRAM DETAILS SECTION
   ======================================================= */
.hs-program-details {
  padding: 5.5rem 0;
  background: var(--hp-sky);
  border-top: 1px solid var(--hp-sky-2);
  border-bottom: 1px solid var(--hp-sky-2);
}
.hs-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
}
.hs-detail-card {
  background: var(--hp-white);
  border-radius: var(--hp-r-lg);
  border: 1px solid var(--hp-sky-2);
  padding: 2.25rem 1.75rem;
  transition: transform .25s, box-shadow .25s;
  box-shadow: 0 4px 12px rgba(186,230,253,.2);
}
.hs-detail-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,.08); }
.hs-detail-card__icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: var(--hp-sky);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}
.hs-detail-card__title {
  font-family: var(--hp-font-display);
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--hp-dark);
  margin: 0 0 1rem;
  line-height: 1.2;
}
.hs-detail-card__list {
  list-style: none;
  margin: 0; padding: 0;
}
.hs-detail-card__list li {
  position: relative;
  padding-inline-start: 1.375rem;
  margin-bottom: .75rem;
  font-size: .9rem;
  color: var(--hp-muted);
  line-height: 1.55;
}
.hs-detail-card__list li::before {
  content: '•';
  position: absolute;
  inset-inline-start: 0;
  top: -2px;
  font-size: 1.2rem;
  color: var(--hp-gold);
  line-height: 1.4;
}

/* =======================================================
   SCITECH BOX SECTION
   ======================================================= */
.hs-scitech-box {
  padding: 5.5rem 0;
  background: var(--hp-page-bg);
}
.hs-scitech-box__layout {
  display: grid;
  gap: 3.5rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .hs-scitech-box__layout { grid-template-columns: 1fr 1fr; }
}
.hs-scitech-box__img-wrap {
  background: var(--hp-sky);
  border-radius: var(--hp-r-xl);
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--hp-sky-2);
  overflow: hidden;
  position: relative;
}
.hs-scitech-box__img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.hs-scitech-box__img-fallback {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding: 2rem;
  color: var(--hp-muted);
  text-align: center;
}
.hs-scitech-box__img-fallback-icon { font-size: 4.5rem; line-height: 1; }
.hs-scitech-box__features {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.hs-scitech-feature {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.hs-scitech-feature__icon {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--hp-gold-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  flex-shrink: 0;
  border: 1px solid rgba(251,191,36,.25);
}
.hs-scitech-feature__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--hp-dark);
  margin: 0 0 .3rem;
}
.hs-scitech-feature__desc {
  font-size: .875rem;
  color: var(--hp-muted);
  line-height: 1.65;
  margin: 0;
}

/* =======================================================
   FINAL CTA SECTION
   ======================================================= */
.hs-final-cta {
  padding: 6rem 0;
  background: var(--hp-sky);
  text-align: center;
  border-top: 1px solid var(--hp-sky-2);
  position: relative;
  overflow: hidden;
}
.hs-final-cta::before {
  content: '';
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(251,191,36,.09) 0%, transparent 70%);
  top: -250px;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
.hs-final-cta__title {
  font-family: var(--hp-font-display);
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 900;
  color: var(--hp-dark);
  line-height: 1.15;
  margin: 0 0 1rem;
  letter-spacing: -.02em;
  position: relative;
  z-index: 1;
}
.hs-final-cta__title em {
  color: var(--hp-gold-dk);
  font-style: normal;
}
.hs-final-cta__sub {
  font-size: 1.05rem;
  color: var(--hp-muted);
  margin: 0 auto 2.25rem;
  line-height: 1.7;
  max-width: 560px;
  position: relative;
  z-index: 1;
}
.hs-final-cta__note {
  font-size: .82rem;
  color: var(--hp-muted);
  margin-top: 1rem;
  font-weight: 500;
  position: relative;
  z-index: 1;
}
.hs-final-cta__actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

/* =======================================================
   OFFER SECTION — BRIGHT HEADER + PRICING CLARITY
   ======================================================= */
.hs-offer-card__full-price {
  font-size: .9rem;
  color: var(--hp-muted);
  text-decoration: line-through;
  font-weight: 500;
  opacity: .8;
  margin-bottom: .375rem;
  display: block;
}
.hs-offer-card__deadline {
  font-size: .82rem;
  color: #ef4444;
  font-weight: 700;
  margin-top: .625rem;
  display: block;
}

/* =======================================================
   MISSIONS SECTION — UPDATED HEADER (SPACE-THEMED)
   ======================================================= */
.hs-missions {
  padding: 5.5rem 0;
  background: var(--hp-page-bg);
}
.hs-missions__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
}

/* =======================================================
   POLISH PASS — SPACE TICKET / OFFER CARD REDESIGN
   ======================================================= */
.hs-offer {
  padding: 5.5rem 0;
  background: linear-gradient(155deg, var(--bu-sky) 0%, var(--bu-violet) 40%, var(--hp-page-bg) 100%);
  position: relative;
  overflow: hidden;
}
.hs-offer::before {
  content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(168,132,255,.18) 0%, transparent 65%);
  top: -200px; inset-inline-end: -150px;
  pointer-events: none;
}
.hs-offer::after {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,169,0,.12) 0%, transparent 65%);
  bottom: -150px; inset-inline-start: -100px;
  pointer-events: none;
}
/* Ticket card */
.hs-ticket {
  position: relative;
  background: linear-gradient(140deg, #0f1b3c 0%, #1a0a4a 40%, #0a2440 80%, #0d1a35 100%);
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(14,26,80,.55), 0 4px 16px rgba(0,0,0,.3);
  overflow: hidden;
  max-width: 960px;
  margin: 0 auto;
}
.hs-ticket::before {
  content: '';
  position: absolute;
  width: 480px; height: 480px;
  border-radius: 50%;
  border: 1px solid rgba(168,132,255,.18);
  top: -180px; inset-inline-end: -100px;
  pointer-events: none;
}
.hs-ticket::after {
  content: '';
  position: absolute;
  width: 300px; height: 300px;
  border-radius: 50%;
  border: 1px dashed rgba(255,216,77,.15);
  bottom: -120px; inset-inline-start: 80px;
  pointer-events: none;
}
.hs-ticket__stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.55) 1px, transparent 1px),
    radial-gradient(circle, rgba(255,216,77,.4) 1px, transparent 1px);
  background-size: 40px 40px, 70px 70px;
  background-position: 0 0, 20px 20px;
  opacity: .35;
}
.hs-ticket__perf {
  display: none;
}
@media (min-width: 860px) {
  .hs-ticket__perf {
    display: block;
    position: absolute;
    inset: 0; inset-inline-start: auto;
    width: 2px; height: 100%;
    background: repeating-linear-gradient(
      180deg,
      transparent 0,
      transparent 10px,
      rgba(255,255,255,.12) 10px,
      rgba(255,255,255,.12) 18px
    );
    left: 60%;
    pointer-events: none;
    z-index: 2;
  }
}
.hs-ticket__inner {
  display: grid;
  gap: 2.5rem;
  padding: 2.5rem;
  position: relative;
  z-index: 1;
}
@media (min-width: 860px) {
  .hs-ticket__inner { grid-template-columns: 1fr auto; align-items: start; gap: 3rem; padding: 3rem; }
}
.hs-ticket__left { display: flex; flex-direction: column; gap: 1.5rem; }
.hs-ticket__price-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.hs-ticket__price-badge {
  background: linear-gradient(135deg, var(--bu-yellow) 0%, var(--bu-gold) 100%);
  color: #111;
  font-family: var(--hp-font-display);
  font-weight: 900;
  font-size: 2rem;
  padding: .5rem 1.5rem;
  border-radius: 14px;
  line-height: 1.15;
  box-shadow: 0 4px 18px rgba(245,169,0,.45);
}
.hs-ticket__price-badge span {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .75;
  margin-bottom: .1rem;
}
.hs-ticket__full-price {
  color: rgba(255,255,255,.45);
  font-size: .92rem;
  text-decoration: line-through;
  font-weight: 600;
}
.hs-ticket__discount-tag {
  background: rgba(255,216,77,.15);
  border: 1px solid rgba(255,216,77,.35);
  color: var(--bu-yellow);
  font-size: .8rem;
  font-weight: 700;
  border-radius: 99px;
  padding: .25rem .8rem;
  letter-spacing: .04em;
}
.hs-ticket__title {
  font-family: var(--hp-font-display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 900;
  color: #fff;
  line-height: 1.2;
  margin: 0;
}
.hs-ticket__title em { color: var(--bu-yellow); font-style: normal; }
.hs-ticket__features {
  display: grid;
  grid-template-columns: 1fr;
  gap: .625rem;
}
@media (min-width: 540px) {
  .hs-ticket__features { grid-template-columns: repeat(2, 1fr); }
}
.hs-ticket__feature {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  color: rgba(255,255,255,.88);
  font-size: .88rem;
  line-height: 1.55;
}
.hs-ticket__check {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--bu-yellow), var(--bu-gold));
  color: #111;
  font-size: .65rem;
  font-weight: 900;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.hs-ticket__ctas { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.hs-ticket__meta {
  color: rgba(255,255,255,.5);
  font-size: .82rem;
  margin: 0;
  line-height: 1.6;
}
.hs-ticket__deadline-txt { color: #fca5a5; font-weight: 700; }
.hs-ticket__right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.hs-ticket__img-orbit {
  position: relative;
  width: 200px; height: 200px;
  flex-shrink: 0;
}
@media (min-width: 860px) { .hs-ticket__img-orbit { width: 230px; height: 230px; } }
.hs-ticket__img-orbit::before {
  content: '';
  position: absolute;
  inset: -14px;
  border-radius: 50%;
  border: 2px solid rgba(255,216,77,.4);
  animation: hp-float 6s ease-in-out infinite;
}
.hs-ticket__img-orbit::after {
  content: '';
  position: absolute;
  inset: -28px;
  border-radius: 50%;
  border: 1px dashed rgba(168,132,255,.3);
}
.hs-ticket__img-circle {
  width: 100%; height: 100%;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(255,216,77,.45);
  box-shadow: 0 0 0 6px rgba(168,132,255,.2), 0 8px 32px rgba(0,0,0,.4);
  background: linear-gradient(135deg, var(--bu-violet-2), var(--bu-sky-2));
}
.hs-ticket__img-circle img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.hs-ticket__img-placeholder {
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4rem;
}
.hs-ticket__includes-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  text-align: center;
}
/* Ticket primary CTA */
.hs-ticket .hp-btn-primary {
  background: linear-gradient(135deg, var(--bu-yellow) 0%, var(--bu-gold) 100%) !important;
  color: #111 !important;
  box-shadow: 0 4px 18px rgba(245,169,0,.45) !important;
}

/* =======================================================
   WHY CHOOSE BUNIVERSE SECTION (NEW)
   ======================================================= */
.hs-why-choose {
  padding: 5.5rem 0;
  background: linear-gradient(135deg, var(--bu-violet) 0%, var(--bu-sky) 65%, var(--hp-page-bg) 100%);
  position: relative;
  overflow: hidden;
}
.hs-why-choose::before {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,169,0,.1) 0%, transparent 70%);
  top: -100px; inset-inline-start: -100px;
  pointer-events: none;
}
.hs-why-choose__layout {
  display: grid;
  gap: 3rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .hs-why-choose__layout { grid-template-columns: 1fr 1.3fr; }
}
.hs-why-choose__img-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.hs-why-choose__img-wrap {
  width: 100%;
  max-width: 380px;
  aspect-ratio: 3/4;
  border-radius: var(--hp-r-xl);
  overflow: hidden;
  box-shadow: var(--hp-shadow-md), var(--hp-glow-violet);
  border: 3px solid rgba(168,132,255,.35);
  background: linear-gradient(135deg, var(--bu-violet-2), var(--bu-sky));
  position: relative;
}
.hs-why-choose__img-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 20%, rgba(255,216,77,.12) 0%, transparent 60%);
  z-index: 1;
  pointer-events: none;
}
.hs-why-choose__img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.hs-why-choose__img-wrap:hover img { transform: scale(1.04); }
.hs-why-choose__img-placeholder {
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5rem;
}
.hs-why-choose__features {
  display: grid;
  grid-template-columns: 1fr;
  gap: .875rem;
}
@media (min-width: 540px) {
  .hs-why-choose__features { grid-template-columns: repeat(2, 1fr); }
}
.hs-wc-card {
  display: flex;
  align-items: flex-start;
  gap: .875rem;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(168,132,255,.2);
  border-radius: var(--hp-r-lg);
  padding: 1.1rem 1rem;
  box-shadow: 0 2px 12px rgba(168,132,255,.1);
  backdrop-filter: blur(8px);
  transition: transform var(--hp-ease), box-shadow var(--hp-ease);
}
.hs-wc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(168,132,255,.22);
  border-color: rgba(168,132,255,.4);
}
.hs-wc-card__icon {
  width: 44px; height: 44px;
  border-radius: var(--hp-r);
  background: linear-gradient(135deg, var(--bu-yellow), var(--bu-gold));
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(245,169,0,.3);
}
.hs-wc-card__title {
  font-family: var(--hp-font-display);
  font-weight: 700;
  font-size: .92rem;
  color: var(--hp-dark);
  margin: 0 0 .25rem;
  line-height: 1.35;
}
.hs-wc-card__desc {
  font-size: .82rem;
  color: var(--hp-muted);
  margin: 0;
  line-height: 1.6;
}

/* =======================================================
   SECTION BG UPDATES — more blue/violet throughout
   ======================================================= */
.hs-about {
  background: linear-gradient(180deg, var(--hp-page-bg) 0%, var(--bu-sky) 100%);
}
.hs-program-details {
  background: linear-gradient(135deg, var(--bu-sky) 0%, var(--bu-violet) 100%) !important;
  border-top-color: rgba(168,132,255,.25) !important;
  border-bottom-color: rgba(168,132,255,.25) !important;
}
.hs-missions { background: var(--hp-page-bg) !important; }
.hs-final-cta {
  background: linear-gradient(135deg, var(--bu-violet) 0%, var(--bu-sky) 100%) !important;
  border-top-color: rgba(168,132,255,.25) !important;
}
/* Badge colour update — violet/space palette */
.hp-badge {
  background: rgba(168,132,255,.12) !important;
  color: #5b3dcc !important;
  border-color: rgba(168,132,255,.3) !important;
}
.hs-offer .hp-badge { background: rgba(255,216,77,.2) !important; color: #92510a !important; border-color: rgba(255,216,77,.4) !important; }
.hs-final-cta .hp-badge { background: rgba(168,132,255,.15) !important; color: #5b3dcc !important; }

/* Mission card — generic Background-poster icon overlay */
.hs-mission-card__poster-icon {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -60%);
  font-size: 2.75rem;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,.6));
  pointer-events: none;
  z-index: 2;
}

/* Scitech box image — ensure it covers the frame nicely */
.hs-scitech-box__img-wrap img {
  object-fit: contain !important;
  padding: 1rem;
}

/* About section section title alignment */
.hs-about .hp-section-head { margin-bottom: 1.5rem; }
.hs-about__intro { margin-bottom: .25rem !important; }

/* =======================================================
   NAVBAR BRAND NAME
   ======================================================= */
.hn-brand-name {
  font-family: var(--hp-font-display);
  font-size: .97rem;
  font-weight: 800;
  color: var(--hp-dark);
  letter-spacing: -.01em;
  white-space: nowrap;
  line-height: 1.2;
}
[data-theme="dark"] .hn-brand-name { color: #f9fafb; }
@media (max-width: 420px) { .hn-brand-name { display: none; } }

/* =======================================================
   PRICING CARD — SAVINGS, COUNTDOWN, ASSURANCE STRIP
   ======================================================= */
/* Price was column */
.hs-ticket__price-was-col {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
/* Savings badge */
.hs-ticket__savings-badge {
  display: inline-block;
  background: rgba(255,100,80,.18);
  border: 1px solid rgba(255,100,80,.4);
  color: #ffb3a7;
  font-size: .76rem;
  font-weight: 800;
  padding: .2rem .65rem;
  border-radius: var(--hp-r-pill);
  letter-spacing: .03em;
  white-space: nowrap;
}
/* Countdown timer */
.hs-ticket__countdown {
  background: rgba(255,216,77,.10);
  border: 1px solid rgba(255,216,77,.25);
  border-radius: 12px;
  padding: .875rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.hs-tcd-label {
  font-size: .72rem;
  font-weight: 700;
  color: rgba(255,255,255,.55);
  text-transform: uppercase;
  letter-spacing: .07em;
}
.hs-tcd-blocks {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.hs-tcd-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255,255,255,.08);
  border-radius: 8px;
  padding: .4rem .7rem;
  min-width: 52px;
}
.hs-tcd-block span {
  font-family: var(--hp-font-display);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--bu-yellow);
  line-height: 1;
}
.hs-tcd-block small {
  font-size: .65rem;
  color: rgba(255,255,255,.45);
  margin-top: .15rem;
  letter-spacing: .05em;
}
.hs-tcd-sep {
  font-size: 1.4rem;
  font-weight: 900;
  color: rgba(255,216,77,.5);
  line-height: 1;
  margin-bottom: .5rem;
}
/* Assurance strip */
.hs-ticket__assurance-strip {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  padding: .75rem 1rem;
  background: rgba(255,255,255,.07);
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.1);
}
.hs-ticket__assurance-strip span {
  font-size: .8rem;
  color: rgba(255,255,255,.75);
  font-weight: 600;
  white-space: nowrap;
}

/* =======================================================
   FOOTER EARLY BIRD CTA BLOCK
   ======================================================= */
.hs-footer__cta-block {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.hs-footer__offer-line {
  font-weight: 800;
  color: var(--bu-yellow);
  font-size: .97rem;
  margin: 0;
}
.hs-footer__offer-sub {
  font-size: .82rem;
  color: rgba(255,255,255,.55);
  margin: 0 0 .35rem;
  line-height: 1.5;
}

/* =======================================================
   TESTIMONIALS MARQUEE — fix fade edge colors for light overlay
   ======================================================= */
.hs-testimonial-marquee::before {
  background: linear-gradient(to right, rgba(245,248,255,.95), transparent) !important;
}
.hs-testimonial-marquee::after {
  background: linear-gradient(to left, rgba(255,248,220,.90), transparent) !important;
}
.hs-testimonials-inner:not([style*="--testi-bg"]) .hs-testimonial-marquee::before {
  background: linear-gradient(to right, var(--bu-sky), transparent) !important;
}
.hs-testimonials-inner:not([style*="--testi-bg"]) .hs-testimonial-marquee::after {
  background: linear-gradient(to left, var(--bu-sky-2), transparent) !important;
}
