:root {
  --bg-primary: #ffffff;
  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-tertiary: #94a3b8;
  --border-color: rgba(0,0,0,0.1);
  --glass-bg: rgba(255, 255, 255, 0.62);
  --glass-border: rgba(255, 255, 255, 0.62);
}
.dark {
  --bg-primary: #030712;
  --text-primary: #f8fafc;
  --text-secondary: #cbd5e1;
  --text-tertiary: #64748b;
  --border-color: rgba(255, 255, 255, 0.08);
  --glass-bg: rgba(10, 10, 15, 0.46);
  --glass-border: rgba(255, 255, 255, 0.08);
}
body {
  font-family: 'Manrope', sans-serif;
  background: var(--bg-primary);
  color: var(--text-primary);
  overflow-x: hidden;
  -webkit-tap-highlight-color: transparent;
}
#hero-3d-bg { position: fixed; inset: 0; z-index: -10; pointer-events: none; }
.bg-overlay {
  position: fixed; inset: 0; z-index: -9; pointer-events: none;
  background: linear-gradient(to bottom, rgba(255,255,255,.1), rgba(255,255,255,.86) 58%, #fff);
}
.dark .bg-overlay { background: linear-gradient(to bottom, rgba(3,7,18,.18), rgba(3,7,18,.84) 58%, #030712); }
.noise-overlay {
  position: fixed; inset: 0; pointer-events: none; z-index: 9998; opacity: .03;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.glass-panel {
  background: var(--glass-bg);
  backdrop-filter: blur(25px) saturate(180%);
  -webkit-backdrop-filter: blur(25px) saturate(180%);
  border: 1px solid var(--glass-border);
  box-shadow: 0 20px 50px -10px rgba(0,0,0,.12);
  position: relative;
  overflow: hidden;
}
.glass-panel::before {
  content: ""; position: absolute; top: 0; left: -100%; width: 48%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent);
  transform: skewX(-25deg); transition: .5s; pointer-events: none;
}
.glass-panel:hover::before { left: 150%; transition: 1s; }
.hover-glow-border { transition: all .35s cubic-bezier(.4,0,.2,1); }
.hover-glow-border:hover {
  border-color: rgba(139,92,246,.42);
  box-shadow: 0 0 0 1px rgba(139,92,246,.28), 0 20px 40px -10px rgba(124,58,237,.22);
  transform: translateY(-3px);
}
#header { transition: all .35s ease; background: transparent; border-bottom: 1px solid transparent; }
#header.scrolled {
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.dark #header.scrolled { background: rgba(3,7,18,.64); border-bottom-color: rgba(255,255,255,.06); }
#mobile-menu {
  position: fixed; inset: 0; z-index: 1500; background: rgba(3,7,18,.98);
  backdrop-filter: blur(20px); transform: translateX(100%);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
  display: flex; flex-direction: column; justify-content: center; align-items: center;
}
#mobile-menu.active { transform: translateX(0); }
.mobile-link {
  font-size: 2rem; font-weight: 800; color: white; margin: 1rem 0;
  opacity: 0; transform: translateY(20px); transition: all .35s ease;
}
#mobile-menu.active .mobile-link { opacity: 1; transform: translateY(0); }
.gradient-text {
  background: linear-gradient(135deg, #a78bfa 0%, #2dd4bf 50%, #60a5fa 100%);
  background-size: 200% auto; -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent; animation: gradientMove 5s ease infinite;
}
@keyframes gradientMove { 0%{background-position:0 50%} 50%{background-position:100% 50%} 100%{background-position:0 50%} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
.animate-float { animation: float 8s ease-in-out infinite; }
.btn-gradient {
  background: linear-gradient(90deg, #7c3aed 0%, #4f46e5 100%);
  color: #fff; transition: all .35s ease; position: relative; overflow: hidden;
  border: 1px solid rgba(255,255,255,.2); box-shadow: 0 4px 15px rgba(124,58,237,.3);
}
.btn-gradient:hover { box-shadow: 0 0 30px rgba(124,58,237,.55); transform: translateY(-2px); }
main a.btn-gradient,
main a[data-academy-buy-click],
main a[data-academy-lead-click],
main a[data-academy-done-for-you-click],
.academy-lead-form button,
.academy-sticky a {
  border-radius: 18px !important;
  min-height: 44px;
  padding: .68rem 1.15rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.22;
  letter-spacing: .045em;
  font-size: .82rem;
}
main a[data-academy-buy-click],
main a[data-academy-lead-click],
main a[data-academy-done-for-you-click],
.academy-lead-form button {
  width: 100%;
}
main .flex:not(.flex-col) > a[data-academy-buy-click],
main .flex:not(.flex-col) > a[data-academy-lead-click],
main .flex:not(.flex-col) > a[data-academy-done-for-you-click] {
  width: auto;
  min-width: 190px;
}
.pill { display: inline-flex; align-items: center; gap: .5rem; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); border-radius: 999px; padding: .45rem .8rem; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; color: #a78bfa; }
.academy-sticky {
  position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%);
  z-index: 1200; width: min(94vw, 820px); border: 1px solid var(--glass-border);
  background: rgba(15,23,42,.86); color: #fff; backdrop-filter: blur(22px);
  border-radius: 22px; padding: .45rem; box-shadow: 0 24px 60px rgba(0,0,0,.28);
}
.academy-form-message { display: none; }
.academy-form-message.is-visible { display: block; }
.academy-form-message a { color: #a78bfa; font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
.academy-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.academy-modal.is-open { display: flex; }
.academy-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3,7,18,.78);
  backdrop-filter: blur(18px);
}
.academy-modal__panel {
  position: relative;
  width: min(94vw, 520px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(3,7,18,.98));
  box-shadow: 0 30px 90px rgba(0,0,0,.42);
  padding: 1.35rem;
  color: #f8fafc;
}
.academy-modal__close {
  position: absolute;
  top: .75rem;
  right: .75rem;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
}
.academy-modal__eyebrow {
  margin: 0 0 .45rem;
  color: #a78bfa;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.academy-modal h2 {
  margin: 0 2.5rem .65rem 0;
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  line-height: 1.08;
  font-weight: 900;
}
.academy-modal__copy {
  margin: 0 0 1rem;
  color: #cbd5e1;
  line-height: 1.65;
}
.academy-modal__form {
  display: grid;
  gap: .7rem;
}
.academy-modal__form input {
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #f8fafc;
  padding: .85rem .95rem;
  outline: none;
}
.academy-modal__form input:focus { border-color: rgba(167,139,250,.7); }
.academy-modal__form button,
.academy-download-link {
  border-radius: 18px !important;
  min-height: 46px;
  padding: .75rem 1.1rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.academy-form-privacy {
  margin: -.25rem 0 0;
  color: rgba(148, 163, 184, .68);
  font-size: 10px;
  line-height: 1.35;
  text-align: center;
}
.academy-form-privacy a {
  color: rgba(203, 213, 225, .82);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.academy-modal__success {
  color: #cbd5e1;
  line-height: 1.65;
}
.academy-modal__success h3 {
  color: #f8fafc;
  margin: 0 0 .5rem;
  font-size: 1.45rem;
}
.academy-success-card {
  border: 1px solid rgba(167,139,250,.24);
  border-radius: 22px;
  background:
    radial-gradient(circle at top left, rgba(124,58,237,.22), transparent 36%),
    rgba(255,255,255,.055);
  padding: 1.2rem;
  text-align: left;
}
.academy-success-card__eyebrow {
  margin: 0 0 .45rem;
  color: #a78bfa;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.academy-success-card p {
  margin: 0 0 1rem;
}
.academy-success-card .academy-download-link {
  width: 100%;
}
.academy-download-link {
  width: 100%;
  margin-top: .8rem;
  text-decoration: none;
}
#courses article { cursor: pointer; }
.academy-price-pair,
.academy-old-price,
.academy-now-price {
  display: inline-flex;
  align-items: baseline;
}
.academy-price-pair {
  gap: .55rem;
  flex-wrap: wrap;
}
.academy-old-price {
  color: var(--text-tertiary);
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  opacity: .78;
  font-size: .58em;
  font-weight: 800;
}
.academy-now-price {
  color: #fb923c;
  font-weight: 900;
}
@media (max-width: 640px) {
  main .flex:not(.flex-col) > a[data-academy-buy-click],
  main .flex:not(.flex-col) > a[data-academy-lead-click],
  main .flex:not(.flex-col) > a[data-academy-done-for-you-click] {
    width: 100%;
    min-width: 0;
  }
  .academy-sticky { border-radius: 18px; bottom: 10px; }
  .academy-sticky .sticky-label { display: none; }
}
