:root {
  --ink: #07070a;
  --ink-soft: #101015;
  --paper: #f7f7f5;
  --paper-bright: #ffffff;
  --muted: #a7a7b0;
  --line: rgba(255, 255, 255, 0.13);
  --violet: #7c3aed;
  --violet-soft: #a78bfa;
}

/* WordPress / Elementor canvas compatibility */
body.saba-ai-landing-page {
  margin: 0;
  background: #08070a;
}
body.saba-ai-landing-page #wpadminbar { z-index: 999999; }
body.saba-ai-landing-page .site-content,
body.saba-ai-landing-page .content-area,
body.saba-ai-landing-page .site-main,
body.saba-ai-landing-page .entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.saba-ai-landing-page .entry-header { display: none; }
.saba-ai-wp-wrap { width: 100%; overflow: hidden; }
.saba-ai-wp-wrap img { max-width: 100%; }
.saba-ai-wp-wrap button { font: inherit; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }

.site-header {
  position: fixed;
  z-index: 50;
  top: 18px;
  left: 50%;
  width: min(1180px, calc(100% - 32px));
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 12px 14px 12px 16px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  background: rgba(9,9,12,.78);
  color: white;
  box-shadow: 0 16px 50px rgba(0,0,0,.22);
  backdrop-filter: blur(18px);
}
.brand { display: flex; align-items: center; gap: 11px; min-width: 185px; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: white;
  color: black;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
}
.brand strong, .brand small { display: block; }
.brand strong { font-size: 14px; line-height: 1.05; letter-spacing: -.02em; }
.brand small { margin-top: 3px; color: #aaaab3; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.desktop-nav { display: flex; gap: 26px; font-size: 13px; color: #c6c6cd; }
.desktop-nav a:hover { color: white; }
.nav-login {
  padding: 11px 15px;
  border-radius: 10px;
  background: white;
  color: black;
  font-size: 12px;
  font-weight: 800;
}
.nav-login span { color: var(--violet); }

.hero {
  position: relative;
  min-height: 780px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  align-items: center;
  gap: 48px;
  padding: 150px max(6vw, 32px) 86px;
  overflow: hidden;
  background:
    radial-gradient(circle at 83% 42%, rgba(124,58,237,.22), transparent 28%),
    radial-gradient(circle at 58% 88%, rgba(124,58,237,.12), transparent 30%),
    #07070a;
  color: white;
}
.hero-grid {
  position: absolute;
  inset: 0;
  opacity: .17;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, transparent, black 22%, black 78%, transparent);
}
.hero-copy, .hero-stage { position: relative; z-index: 2; }
.hero-copy { max-width: 760px; }
.eyebrow, .section-kicker {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 20px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.eyebrow { color: #cacad2; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--violet-soft); box-shadow: 0 0 0 6px rgba(124,58,237,.14); }
.hero h1 {
  margin: 0;
  max-width: 820px;
  font-size: clamp(64px, 7.7vw, 126px);
  line-height: .87;
  letter-spacing: -.075em;
  font-weight: 700;
}
.hero h1 span { display: block; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.55); }
.hero-lede {
  max-width: 690px;
  margin: 34px 0 0;
  color: #bcbcc4;
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.55;
}
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 34px; }
.primary-button, .secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 54px;
  padding: 0 22px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  transition: transform .2s ease, background .2s ease;
}
.primary-button { background: var(--violet); color: white; box-shadow: 0 12px 34px rgba(124,58,237,.28); }
.secondary-button { border: 1px solid rgba(255,255,255,.2); color: #ededf0; }
.primary-button:hover, .secondary-button:hover { transform: translateY(-2px); }
.secondary-button:hover { background: rgba(255,255,255,.06); }
.hero-note { margin-top: 18px; color: #777783; font-size: 11px; }

.hero-stage { min-height: 520px; display: grid; place-items: center; }
.stage-glow { position: absolute; width: 430px; height: 430px; border-radius: 50%; background: rgba(124,58,237,.3); filter: blur(80px); animation: breathe 5s ease-in-out infinite; }
.stage-window {
  position: relative;
  width: min(500px, 100%);
  aspect-ratio: 1.08;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.035));
  box-shadow: 0 35px 80px rgba(0,0,0,.55);
  backdrop-filter: blur(18px);
  transform: perspective(1100px) rotateY(-8deg) rotateX(3deg);
}
.window-top { height: 50px; display: flex; gap: 7px; align-items: center; padding: 0 18px; border-bottom: 1px solid rgba(255,255,255,.1); }
.window-top span { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.36); }
.window-body { position: relative; height: calc(100% - 50px); }
.prompt-chip {
  position: absolute;
  left: 10%;
  width: 38%;
  height: 9%;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(255,255,255,.17), rgba(255,255,255,.06));
  animation: chipPulse 4s ease-in-out infinite;
}
.chip-one { top: 13%; }
.chip-two { top: 27%; width: 49%; animation-delay: .4s; }
.chip-three { top: 41%; width: 31%; animation-delay: .8s; }
.chip-four { top: 55%; width: 44%; animation-delay: 1.2s; }
.flow-line { position: absolute; left: 56%; top: 16%; width: 1px; height: 48%; background: linear-gradient(var(--violet), white, transparent); box-shadow: 0 0 20px var(--violet); }
.result-panel { position: absolute; right: 8%; top: 22%; width: 29%; height: 48%; padding: 18px; border: 1px solid rgba(167,139,250,.35); border-radius: 18px; background: rgba(124,58,237,.13); }
.result-panel span { display: block; height: 7px; margin-bottom: 15px; border-radius: 6px; background: rgba(255,255,255,.42); }
.result-panel span:nth-child(2) { width: 72%; }
.result-panel span:nth-child(3) { width: 46%; background: var(--violet-soft); }
.floating-badge { position: absolute; padding: 12px 15px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; background: rgba(6,6,8,.76); font-size: 9px; letter-spacing: .16em; color: #d9d9de; backdrop-filter: blur(10px); }
.badge-top { top: 5%; right: 7%; }
.badge-bottom { left: 0; bottom: 10%; }

.proof-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid #dddde2;
  background: white;
}
.proof-strip div { min-height: 120px; display: flex; flex-direction: column; justify-content: center; padding: 26px 4vw; border-right: 1px solid #e6e6e9; }
.proof-strip div:last-child { border-right: 0; }
.proof-strip strong { font-size: 24px; letter-spacing: -.04em; }
.proof-strip span { margin-top: 7px; color: #6d6d75; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }

.section { padding: 120px max(6vw, 32px); }
.section-heading { display: grid; grid-template-columns: 1.3fr .7fr; column-gap: 70px; align-items: end; margin-bottom: 62px; }
.section-heading .section-kicker { grid-column: 1 / -1; color: var(--violet); }
.section-heading h2 { margin: 0; font-size: clamp(42px, 5.5vw, 76px); line-height: .98; letter-spacing: -.055em; }
.section-heading > p:last-child { margin: 0 0 4px; color: #62626b; line-height: 1.7; }
.outcome-grid { border-top: 1px solid #d8d8dd; }
.outcome-card { display: grid; grid-template-columns: 70px 1fr 40px; align-items: center; min-height: 108px; border-bottom: 1px solid #d8d8dd; transition: padding .25s ease, color .25s ease; }
.outcome-card:hover { padding-left: 14px; color: var(--violet); }
.outcome-card span { color: #8d8d96; font-size: 12px; }
.outcome-card h3 { margin: 0; font-size: clamp(21px, 2.3vw, 34px); letter-spacing: -.035em; }
.outcome-card i { font-style: normal; font-size: 22px; }

.curriculum-section { overflow: hidden; padding: 120px 0 110px; background: var(--ink); color: white; }
.curriculum-section .section-heading { padding: 0 max(6vw, 32px); }
.light-heading > p:last-child { color: #9d9da7; }
.curriculum-scroller { display: flex; gap: 18px; overflow-x: auto; padding: 0 max(6vw, 32px) 22px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.curriculum-scroller::-webkit-scrollbar { display: none; }
.curriculum-card { flex: 0 0 min(450px, 82vw); overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: #0e0e13; scroll-snap-align: start; }
.abstract-visual { position: relative; height: 280px; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 70% 50%, rgba(124,58,237,.3), transparent 33%), linear-gradient(145deg, #08080b, #17171e); }
.visual-orbit { position: absolute; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; animation: rotate 9s linear infinite; }
.orbit-one { width: 190px; height: 190px; right: 36px; top: 40px; }
.orbit-two { width: 120px; height: 120px; right: 71px; top: 75px; border-color: rgba(167,139,250,.48); animation-direction: reverse; }
.visual-core { position: absolute; right: 116px; top: 119px; width: 32px; height: 32px; border-radius: 50%; background: var(--violet); box-shadow: 0 0 50px var(--violet); }
.visual-panel { position: absolute; width: 78px; height: 52px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.panel-one { left: 32px; top: 55px; transform: rotate(-6deg); }
.panel-two { left: 72px; top: 128px; transform: rotate(4deg); }
.panel-three { left: 28px; top: 200px; transform: rotate(-2deg); }
.visual-line { position: absolute; left: 105px; height: 1px; transform-origin: left; background: linear-gradient(90deg, rgba(255,255,255,.65), var(--violet)); }
.line-one { top: 106px; width: 160px; transform: rotate(13deg); }
.line-two { top: 183px; width: 150px; transform: rotate(-10deg); }
.abstract-research .visual-core { border-radius: 8px; transform: rotate(45deg); }
.abstract-assets .visual-panel { width: 92px; height: 92px; }
.abstract-video .visual-orbit { border-radius: 18px; transform: rotate(7deg); }
.abstract-roadmap .visual-line { width: 230px; height: 2px; }
.abstract-vault .visual-core { width: 72px; height: 72px; right: 96px; top: 99px; border: 14px solid rgba(255,255,255,.22); background: transparent; }
.curriculum-content { padding: 28px 28px 30px; }
.day-label { display: inline-flex; padding: 7px 9px; border-radius: 7px; background: rgba(124,58,237,.18); color: var(--violet-soft); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.curriculum-content h3 { min-height: 70px; margin: 18px 0 10px; font-size: 27px; line-height: 1.12; letter-spacing: -.04em; }
.curriculum-content > p { min-height: 63px; margin: 0; color: #aaaab4; font-size: 14px; line-height: 1.55; }
.curriculum-content ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 24px 0 0; padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.1); list-style: none; }
.curriculum-content li { color: #d6d6db; font-size: 11px; }
.curriculum-content li::before { content: "•"; margin-right: 7px; color: var(--violet-soft); }
.swipe-note { padding: 12px max(6vw, 32px) 0; color: #6f6f79; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }

.audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d5d5da; border-left: 1px solid #d5d5da; }
.audience-grid article { min-height: 230px; padding: 28px; border-right: 1px solid #d5d5da; border-bottom: 1px solid #d5d5da; }
.audience-grid article span { color: var(--violet); font-size: 11px; font-weight: 900; }
.audience-grid h3 { margin: 44px 0 13px; font-size: 24px; letter-spacing: -.03em; }
.audience-grid p { margin: 0; color: #66666e; font-size: 14px; line-height: 1.6; }

.experience-section { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items: center; padding: 120px max(6vw, 32px); overflow: hidden; background: var(--ink); color: white; }
.experience-copy h2 { margin: 0; font-size: clamp(40px, 5vw, 70px); line-height: .98; letter-spacing: -.055em; }
.experience-copy > p:not(.section-kicker) { margin: 26px 0; max-width: 650px; color: #9d9da6; line-height: 1.7; }
.feature-list { display: grid; gap: 12px; margin: 28px 0 32px; }
.feature-list div { display: flex; gap: 12px; align-items: center; color: #d5d5da; font-size: 13px; }
.feature-list span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(124,58,237,.2); color: var(--violet-soft); font-size: 10px; }
.light-button { background: white; color: black; box-shadow: none; }
.dashboard-preview { display: grid; grid-template-columns: 78px 1fr; min-height: 570px; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: #111116; box-shadow: 0 40px 100px rgba(0,0,0,.6); transform: perspective(1200px) rotateY(-7deg) rotateX(2deg); }
.preview-sidebar { display: flex; flex-direction: column; align-items: center; gap: 28px; padding: 20px; border-right: 1px solid rgba(255,255,255,.08); }
.mini-brand { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 9px; background: white; color: black; font-weight: 900; }
.preview-sidebar i { width: 20px; height: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; }
.preview-main { padding: 30px; }
.preview-topline { display: flex; justify-content: space-between; margin-bottom: 55px; }
.preview-topline span:first-child { width: 130px; height: 12px; border-radius: 8px; background: rgba(255,255,255,.16); }
.preview-topline span:last-child { width: 34px; height: 34px; border-radius: 50%; background: rgba(124,58,237,.4); }
.progress-block { padding: 25px; border: 1px solid rgba(255,255,255,.09); border-radius: 18px; background: linear-gradient(135deg, rgba(124,58,237,.18), rgba(255,255,255,.03)); }
.progress-block small, .progress-block strong { display: block; }
.progress-block small { color: #8f8f99; font-size: 8px; letter-spacing: .14em; }
.progress-block strong { margin-top: 10px; font-size: 20px; }
.progress-track { height: 6px; margin-top: 24px; border-radius: 10px; background: rgba(255,255,255,.1); }
.progress-track i { display: block; width: 42%; height: 100%; border-radius: inherit; background: var(--violet); }
.lesson-row { display: grid; grid-template-columns: 45px 1fr 30px; align-items: center; height: 64px; margin-top: 12px; padding: 0 15px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; }
.lesson-row b { color: #757580; font-size: 10px; }
.lesson-row span { width: 66%; height: 9px; border-radius: 10px; background: rgba(255,255,255,.12); }
.lesson-row em { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: rgba(255,255,255,.08); font-size: 8px; font-style: normal; }
.lesson-row.active { border-color: rgba(124,58,237,.45); background: rgba(124,58,237,.08); }

.instructor-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8vw; align-items: center; }
.instructor-monogram { display: grid; place-items: center; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 40% 30%, #252531, #08080b 63%); color: white; font-size: clamp(70px, 10vw, 150px); font-weight: 800; letter-spacing: -.1em; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 30px 80px rgba(0,0,0,.2); }
.instructor-copy h2 { margin: 0; font-size: clamp(42px, 5vw, 72px); line-height: 1; letter-spacing: -.055em; }
.instructor-copy h3 { margin: 14px 0 26px; color: var(--violet); font-size: 14px; text-transform: uppercase; letter-spacing: .12em; }
.instructor-copy > p:not(.section-kicker) { max-width: 720px; color: #606068; line-height: 1.75; }
.instructor-copy blockquote { margin: 32px 0 0; padding: 24px 0 24px 25px; border-left: 2px solid var(--violet); font-size: clamp(21px, 2.5vw, 34px); line-height: 1.25; letter-spacing: -.03em; }

.certificate-section { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; padding: 120px max(6vw, 32px); background: #e9e9ed; }
.certificate-card { aspect-ratio: 1.42; padding: 18px; border-radius: 8px; background: white; box-shadow: 0 30px 70px rgba(0,0,0,.17); transform: rotate(-2deg); }
.certificate-border { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 25px; border: 1px solid #bdbdc6; text-align: center; }
.certificate-mark { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 26px; border-radius: 14px; background: var(--ink); color: white; font-weight: 900; }
.certificate-border small { color: #6d6d76; font-size: 8px; letter-spacing: .25em; }
.certificate-border strong { margin-top: 15px; font-size: clamp(20px, 2.6vw, 40px); line-height: 1.05; letter-spacing: -.04em; }
.certificate-border i { width: 40%; height: 1px; margin: 25px 0; background: #cacad0; }
.certificate-border p { margin: 0; font-size: 8px; letter-spacing: .2em; }
.certificate-copy h2 { margin: 0; font-size: clamp(40px, 5vw, 70px); line-height: .98; letter-spacing: -.055em; }
.certificate-copy > p:not(.section-kicker) { color: #5e5e66; line-height: 1.7; }
.certificate-copy ol { margin: 30px 0 0; padding: 0; list-style: none; }
.certificate-copy li { display: flex; gap: 16px; align-items: center; padding: 17px 0; border-top: 1px solid #c9c9cf; font-size: 14px; }
.certificate-copy li:last-child { border-bottom: 1px solid #c9c9cf; }
.certificate-copy li span { color: var(--violet); font-size: 10px; font-weight: 900; }

.faq-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; align-items: start; }
.faq-section .section-heading { display: block; margin: 0; position: sticky; top: 130px; }
.faq-section .section-heading h2 { font-size: clamp(39px, 4.6vw, 66px); }
.faq-list { border-top: 1px solid #d2d2d7; }
.faq-list details { border-bottom: 1px solid #d2d2d7; }
.faq-list summary { display: flex; justify-content: space-between; gap: 25px; padding: 27px 0; cursor: pointer; list-style: none; font-size: 17px; font-weight: 800; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--violet); font-size: 22px; font-weight: 400; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { margin: -7px 0 26px; max-width: 720px; color: #64646d; line-height: 1.75; }

.final-cta { position: relative; overflow: hidden; padding: 125px 24px; background: var(--violet); color: white; text-align: center; }
.final-cta > * { position: relative; z-index: 2; }
.final-cta .section-kicker { justify-content: center; }
.final-cta h2 { margin: 0; font-size: clamp(50px, 7vw, 100px); line-height: .92; letter-spacing: -.065em; }
.final-cta > p:not(.section-kicker) { max-width: 650px; margin: 27px auto 0; color: rgba(255,255,255,.76); line-height: 1.7; }
.centered-actions { justify-content: center; }
.dark-secondary { border-color: rgba(255,255,255,.35); color: white; }
.final-cta > small { display: block; margin-top: 25px; color: rgba(255,255,255,.56); }
.cta-orb { position: absolute; width: 650px; height: 650px; left: 50%; top: 50%; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 110px rgba(255,255,255,.035), 0 0 0 220px rgba(255,255,255,.025); }

footer { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: start; padding: 58px max(6vw, 32px) 30px; background: var(--ink); color: white; }
.footer-brand { display: flex; gap: 15px; align-items: center; }
.footer-brand strong { font-size: 16px; }
.footer-brand p { margin: 6px 0 0; color: #7e7e88; font-size: 12px; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 22px; color: #a2a2aa; font-size: 12px; }
.footer-links a:hover { color: white; }
.copyright { grid-column: 1 / -1; margin: 45px 0 0; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.09); color: #686873; font-size: 10px; }

@keyframes breathe { 50% { transform: scale(1.12); opacity: .75; } }
@keyframes chipPulse { 50% { border-color: rgba(167,139,250,.45); transform: translateX(8px); } }
@keyframes rotate { to { transform: rotate(360deg); } }

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 145px; }
  .hero-stage { min-height: 430px; }
  .stage-window { width: min(520px, 90%); }
  .proof-strip { grid-template-columns: 1fr 1fr; }
  .proof-strip div:nth-child(2) { border-right: 0; }
  .proof-strip div:nth-child(-n+2) { border-bottom: 1px solid #e6e6e9; }
  .section-heading { grid-template-columns: 1fr; gap: 24px; }
  .section-heading > p:last-child { max-width: 650px; }
  .audience-grid { grid-template-columns: 1fr 1fr; }
  .experience-section, .certificate-section, .instructor-section, .faq-section { grid-template-columns: 1fr; }
  .faq-section .section-heading { position: static; margin-bottom: 45px; }
  .dashboard-preview { width: min(680px, 100%); margin: 20px auto 0; transform: none; }
  .certificate-card { width: min(650px, 100%); }
}

@media (max-width: 640px) {
  .site-header { top: 10px; width: calc(100% - 20px); border-radius: 15px; }
  .brand { min-width: auto; }
  .brand strong { font-size: 12px; }
  .nav-login { font-size: 0; padding: 10px 13px; }
  .nav-login::before { content: "Login"; font-size: 11px; }
  .nav-login span { font-size: 11px; }
  .hero { padding: 125px 20px 60px; gap: 25px; }
  .hero h1 { font-size: clamp(53px, 17vw, 80px); }
  .hero-lede { font-size: 16px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .primary-button, .secondary-button { width: 100%; }
  .hero-stage { min-height: 340px; }
  .stage-window { transform: none; border-radius: 21px; }
  .floating-badge { display: none; }
  .proof-strip div { min-height: 100px; padding: 22px 20px; }
  .proof-strip strong { font-size: 20px; }
  .proof-strip span { font-size: 9px; line-height: 1.4; }
  .section { padding: 80px 20px; }
  .section-heading { margin-bottom: 40px; }
  .section-heading h2 { font-size: 42px; }
  .outcome-card { grid-template-columns: 42px 1fr 26px; }
  .outcome-card h3 { font-size: 20px; }
  .curriculum-section { padding: 80px 0; }
  .curriculum-section .section-heading { padding: 0 20px; }
  .curriculum-scroller { padding-left: 20px; padding-right: 20px; }
  .curriculum-card { flex-basis: 86vw; }
  .abstract-visual { height: 230px; }
  .curriculum-content h3 { min-height: auto; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-grid article { min-height: 190px; }
  .audience-grid h3 { margin-top: 30px; }
  .experience-section, .certificate-section { padding: 80px 20px; }
  .experience-copy h2, .certificate-copy h2 { font-size: 42px; }
  .dashboard-preview { grid-template-columns: 54px 1fr; min-height: 480px; }
  .preview-sidebar { padding: 14px 8px; }
  .preview-main { padding: 20px 14px; }
  .certificate-card { transform: none; }
  .instructor-section { gap: 45px; }
  .instructor-monogram { width: min(390px, 100%); margin: auto; }
  .faq-list summary { font-size: 15px; }
  .final-cta { padding: 90px 20px; }
  footer { grid-template-columns: 1fr; padding: 45px 20px 24px; }
  .footer-links { justify-content: flex-start; }
  .copyright { margin-top: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Public inner pages and student portal */
.public-inner-page,
.portal-shell {
  min-height: 100vh;
  background:
    radial-gradient(circle at 85% 5%, rgba(124,58,237,.1), transparent 25%),
    var(--paper);
}

.public-page-header,
.portal-header {
  position: relative;
  z-index: 20;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 22px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid #dedee3;
}
.public-page-header .brand-mark,
.portal-header .brand-mark { background: var(--ink); color: white; }
.public-page-header .brand small,
.portal-header .brand small { color: #74747e; }
.public-page-header nav,
.portal-header nav { display: flex; align-items: center; gap: 24px; font-size: 12px; font-weight: 700; }
.public-page-header nav > a:not(.portal-signout),
.portal-header nav > a:not(.portal-signout) { color: #676771; }
.portal-signout {
  padding: 11px 15px;
  border-radius: 10px;
  background: var(--ink);
  color: white;
}
.student-name {
  padding-left: 22px;
  border-left: 1px solid #d6d6dc;
  color: var(--violet);
}

.apply-hero,
.contact-layout {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 90px 0 110px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(430px, .78fr);
  gap: 9vw;
  align-items: start;
}
.apply-hero > div:first-child,
.contact-layout > div:first-child { padding-top: 48px; }
.apply-hero h1,
.contact-layout h1,
.inner-page-hero h1 {
  margin: 18px 0 25px;
  max-width: 780px;
  font-size: clamp(56px, 7vw, 105px);
  line-height: .92;
  letter-spacing: -.065em;
}
.apply-hero > div:first-child > p:not(.section-kicker),
.contact-layout > div:first-child > p:not(.section-kicker),
.inner-page-hero > p:last-child {
  max-width: 690px;
  color: #62626c;
  font-size: 17px;
  line-height: 1.75;
}
.application-promises {
  margin-top: 45px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #d8d8de;
}
.application-promises span {
  padding: 20px 12px 20px 0;
  border-bottom: 1px solid #d8d8de;
  color: #3f3f47;
  font-size: 13px;
  font-weight: 750;
}
.application-promises span::before {
  content: "✓";
  margin-right: 10px;
  color: var(--violet);
}
.form-card {
  padding: clamp(26px, 4vw, 48px);
  border: 1px solid #dedee4;
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 30px 90px rgba(23,23,30,.09);
}
.form-card h2 { margin: 12px 0 35px; font-size: clamp(31px, 3.2vw, 46px); line-height: 1; letter-spacing: -.05em; }
.academy-form { display: grid; gap: 20px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.academy-form label,
.compact-form label { display: grid; gap: 9px; color: #34343b; font-size: 12px; font-weight: 800; }
.academy-form input,
.academy-form select,
.academy-form textarea,
.compact-form input {
  width: 100%;
  padding: 14px 15px;
  border: 1px solid #d2d2d9;
  border-radius: 10px;
  outline: none;
  background: white;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  transition: border-color .2s, box-shadow .2s;
}
.academy-form textarea { resize: vertical; line-height: 1.55; }
.academy-form input:focus,
.academy-form select:focus,
.academy-form textarea:focus,
.compact-form input:focus {
  border-color: var(--violet);
  box-shadow: 0 0 0 4px rgba(124,58,237,.1);
}
.academy-form button,
.compact-form button,
.portal-button,
.completion-button {
  border: 0;
  border-radius: 10px;
  padding: 14px 19px;
  background: var(--violet);
  color: white;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.academy-form button:disabled,
.compact-form button:disabled,
.completion-button:disabled { opacity: .65; cursor: wait; }
.checkbox-label { grid-template-columns: 19px 1fr !important; align-items: start; font-weight: 500 !important; line-height: 1.55; }
.checkbox-label input { width: 16px; margin-top: 2px; accent-color: var(--violet); }
.form-message { margin: 0; color: #4f4f59; font-size: 12px; line-height: 1.5; }
.form-message.error { color: #b42318; }

.contact-notes { margin-top: 50px; border-top: 1px solid #d8d8de; }
.contact-notes article {
  display: grid;
  grid-template-columns: 35px 130px 1fr;
  gap: 16px;
  padding: 19px 0;
  border-bottom: 1px solid #d8d8de;
}
.contact-notes span { color: var(--violet); font-size: 10px; font-weight: 900; }
.contact-notes strong { font-size: 13px; }
.contact-notes p { margin: 0; color: #777780; font-size: 12px; }
.direct-contact-links {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.direct-contact-links a {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid #dedee4;
  border-radius: 14px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 14px 35px rgba(23,23,30,.05);
  transition: transform .22s, border-color .22s, box-shadow .22s;
}
.direct-contact-links a:hover {
  transform: translateY(-3px);
  border-color: rgba(124,58,237,.45);
  box-shadow: 0 18px 40px rgba(77,30,135,.1);
}
.direct-contact-links small {
  color: #777780;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.direct-contact-links strong {
  overflow: hidden;
  color: #24242b;
  font-size: 11px;
  text-overflow: ellipsis;
}

.legal-page article {
  width: min(820px, calc(100% - 40px));
  margin: 0 auto;
  padding: 90px 0 130px;
}
.legal-page h1 {
  margin: 20px 0 28px;
  font-size: clamp(55px, 8vw, 92px);
  line-height: .93;
  letter-spacing: -.065em;
}
.legal-intro { margin-bottom: 65px !important; color: #43434c !important; font-size: 19px !important; }
.legal-page h2 { margin: 48px 0 12px; font-size: 22px; letter-spacing: -.025em; }
.legal-page article > p:not(.section-kicker) { color: #666670; line-height: 1.82; }

.portal-shell { padding-bottom: 80px; }
.portal-hero,
.inner-page-hero {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 80px 0 48px;
}
.portal-hero h1 {
  margin: 12px 0 18px;
  font-size: clamp(58px, 7vw, 96px);
  line-height: .95;
  letter-spacing: -.065em;
}
.portal-hero > p:last-child { max-width: 650px; margin: 0; color: #686872; line-height: 1.7; }

.activation-panel,
.progress-overview,
.course-library,
.support-banner,
.locked-preview,
.homework-layout,
.certificate-requirements,
.issued-certificate-wrap {
  width: min(1180px, calc(100% - 40px));
  margin-left: auto;
  margin-right: auto;
}
.activation-panel {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 8vw;
  align-items: center;
  padding: clamp(30px, 5vw, 65px);
  border-radius: 25px;
  background: var(--ink);
  color: white;
}
.activation-panel h2 { margin: 18px 0; font-size: clamp(32px, 4vw, 55px); line-height: 1; letter-spacing: -.05em; }
.activation-panel > div > p { max-width: 650px; color: #9b9ba5; line-height: 1.7; }
.status-pill {
  display: inline-block;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50px;
  color: var(--violet-soft);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.compact-form { display: grid; gap: 11px; }
.compact-form label { color: #bdbdc6; }
.inline-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.locked-preview { padding: 75px 0; }
.locked-preview > div { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 25px; }
.locked-preview article { min-height: 200px; padding: 24px; border: 1px solid #dedee3; border-radius: 14px; background: rgba(255,255,255,.6); }
.locked-preview span { color: var(--violet); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.locked-preview h3 { margin: 25px 0 14px; font-size: 19px; line-height: 1.1; letter-spacing: -.03em; }
.locked-preview p { color: #777781; font-size: 11px; line-height: 1.5; }

.progress-overview {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: 10px;
  margin-top: 10px;
}
.progress-overview article {
  min-height: 210px;
  padding: 27px;
  border: 1px solid #dedee4;
  border-radius: 18px;
  background: white;
}
.progress-primary { display: flex; flex-direction: column; justify-content: space-between; }
.progress-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.progress-heading p { margin: 0 0 10px; color: #777780; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.progress-heading strong { font-size: 50px; letter-spacing: -.06em; }
.progress-heading > span { color: #72727b; font-size: 11px; }
.progress-track { height: 6px; overflow: hidden; border-radius: 10px; background: #ececf0; }
.progress-track i { display: block; height: 100%; border-radius: inherit; background: var(--violet); }
.portal-button { display: inline-flex; width: fit-content; justify-content: center; align-items: center; }
.metric-card { display: flex; flex-direction: column; }
.metric-card > span { color: #777780; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.metric-card strong { margin-top: 32px; font-size: 27px; line-height: 1; letter-spacing: -.04em; }
.metric-card a { margin-top: auto; color: var(--violet); font-size: 11px; font-weight: 800; }
.metric-card p { margin-top: auto; color: #8b8b94; font-size: 11px; }

.course-library { padding: 105px 0; }
.portal-section-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 7vw; align-items: end; margin-bottom: 50px; }
.portal-section-heading h2 { margin: 13px 0 0; font-size: clamp(43px, 5.3vw, 75px); line-height: .95; letter-spacing: -.06em; }
.portal-section-heading > p { max-width: 520px; margin: 0; color: #686872; line-height: 1.7; }
.module-list { border-top: 1px solid #d5d5dc; }
.module-row { display: grid; grid-template-columns: 130px 1fr; border-bottom: 1px solid #d5d5dc; }
.module-day { padding: 35px 0; }
.module-day span { display: block; color: #878790; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .15em; }
.module-day strong { display: block; margin-top: 10px; color: var(--violet); font-size: 45px; letter-spacing: -.06em; }
.module-detail { padding: 35px 0; }
.module-title-line { display: flex; justify-content: space-between; align-items: start; gap: 30px; }
.module-title-line h3 { margin: 0; font-size: clamp(25px, 3vw, 40px); letter-spacing: -.045em; }
.module-title-line p { margin: 10px 0 0; color: #707079; font-size: 13px; }
.module-title-line > span { flex: 0 0 auto; padding: 8px 10px; border-radius: 20px; background: #ececf1; color: #6e6e77; font-size: 9px; font-weight: 800; }
.lesson-list { margin-top: 30px; border-top: 1px solid #dedee3; }
.lesson-list a { display: grid; grid-template-columns: 36px 1fr 25px; gap: 14px; align-items: center; padding: 15px 0; border-bottom: 1px solid #dedee3; }
.lesson-list i { color: var(--violet); font-style: normal; font-size: 9px; font-weight: 900; }
.lesson-list a > span { display: flex; justify-content: space-between; gap: 20px; }
.lesson-list strong { font-size: 12px; }
.lesson-list small { color: #898992; font-size: 10px; }
.lesson-list b { color: #96969e; transition: transform .2s; }
.lesson-list a:hover b { transform: translateX(5px); color: var(--violet); }

.support-banner {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 50px;
  padding: clamp(35px, 6vw, 75px);
  border-radius: 25px;
  background: var(--violet);
  color: white;
}
.support-banner h2 { margin: 14px 0; font-size: clamp(37px, 5vw, 65px); line-height: .95; letter-spacing: -.055em; }
.support-banner > div > p:last-child { max-width: 680px; color: rgba(255,255,255,.72); line-height: 1.7; }
.light-button { background: white !important; color: var(--ink) !important; }

.inner-page-hero { padding-bottom: 65px; }
.inner-page-hero h1 { max-width: 900px; }
.homework-layout { display: grid; grid-template-columns: 1fr 430px; gap: 7vw; align-items: start; }
.homework-briefs { border-top: 1px solid #d7d7dd; }
.homework-briefs article { padding: 28px 0; border-bottom: 1px solid #d7d7dd; }
.homework-briefs span { color: var(--violet); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.homework-briefs h2 { margin: 11px 0; font-size: 25px; letter-spacing: -.035em; }
.homework-briefs p { margin: 0; color: #71717b; line-height: 1.6; }
.sticky-card { position: sticky; top: 25px; }

.lesson-layout { width: min(1180px, calc(100% - 40px)); margin: 0 auto; display: grid; grid-template-columns: 250px 1fr; gap: 7vw; padding: 65px 0 80px; }
.lesson-sidebar { position: sticky; top: 35px; align-self: start; padding-right: 35px; border-right: 1px solid #d7d7dc; }
.lesson-sidebar > a { color: var(--violet); font-size: 11px; font-weight: 800; }
.lesson-sidebar > p { margin: 50px 0 11px; color: #84848d; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .15em; }
.lesson-sidebar h2 { margin: 0 0 20px; font-size: 24px; line-height: 1.1; letter-spacing: -.04em; }
.lesson-sidebar span { color: #85858e; font-size: 10px; }
.lesson-content { min-width: 0; }
.lesson-content h1 { max-width: 850px; margin: 17px 0; font-size: clamp(45px, 6vw, 82px); line-height: .95; letter-spacing: -.06em; }
.lesson-summary { max-width: 720px; margin-bottom: 38px; color: #676771; font-size: 17px; line-height: 1.7; }
.secure-player,
.recording-placeholder { width: 100%; aspect-ratio: 16 / 9; border-radius: 18px; background: #050508; }
.secure-player { display: block; }
.recording-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 35px;
  color: white;
  background:
    radial-gradient(circle at 70% 30%, rgba(124,58,237,.35), transparent 25%),
    #08080c;
}
.recording-placeholder > span { display: grid; place-items: center; width: 65px; height: 65px; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: var(--violet-soft); }
.recording-placeholder strong { font-size: 20px; }
.recording-placeholder p { max-width: 480px; color: #9797a1; font-size: 13px; line-height: 1.6; }
.lesson-note { margin: 30px 0; padding: 25px; border-left: 3px solid var(--violet); background: white; }
.lesson-note strong { font-size: 14px; }
.lesson-note p { margin: 7px 0 0; color: #6b6b75; font-size: 13px; line-height: 1.65; }
.completion-button.is-complete { background: #14804a; }
.lesson-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 55px; padding-top: 25px; border-top: 1px solid #d7d7dd; }
.lesson-navigation a { display: grid; gap: 7px; padding: 20px; border: 1px solid #dcdce2; border-radius: 12px; background: white; }
.lesson-navigation a:last-child { text-align: right; }
.lesson-navigation span { color: #888891; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.lesson-navigation strong { font-size: 12px; }

.certificate-requirements { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; padding: 20px 0 80px; }
.certificate-requirements h2 { margin: 15px 0; font-size: clamp(37px, 4.6vw, 65px); line-height: .98; letter-spacing: -.055em; }
.certificate-requirements > div:first-child > p:not(.section-kicker) { color: #696973; line-height: 1.7; }
.certificate-requirements form { margin-top: 30px; }
.requirement-list { border-top: 1px solid #d7d7dd; }
.requirement-list article { display: grid; grid-template-columns: 45px 1fr; gap: 15px; padding: 22px 0; border-bottom: 1px solid #d7d7dd; }
.requirement-list article > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #e7e7ec; color: #73737c; font-size: 9px; font-weight: 900; }
.requirement-list article.done > span { background: #14804a; color: white; }
.requirement-list strong { font-size: 14px; }
.requirement-list p { margin: 6px 0 0; color: #81818a; font-size: 11px; }

.issued-certificate-wrap { display: grid; justify-items: center; gap: 28px; padding: 15px 0 80px; }
.final-issued-certificate {
  width: min(1120px, 100%);
  aspect-ratio: 2048 / 1448;
  position: relative;
  overflow: hidden;
  background: white;
  box-shadow: 0 35px 100px rgba(39,24,8,.2);
}
.final-issued-certificate > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.final-certificate-name {
  position: absolute;
  top: 44.1%;
  left: 17%;
  width: 66%;
  height: 10.3%;
  display: grid;
  place-items: center;
  padding: 0 4%;
  overflow: hidden;
  border-bottom: 2px solid #ad7825;
  background: #fff;
  color: #a67426;
  font-family: "Segoe Script", "Brush Script MT", cursive;
  font-size: clamp(20px, 4.1vw, 58px);
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}
.final-certificate-date {
  position: absolute;
  top: 76.2%;
  left: 17.2%;
  width: 18.5%;
  height: 8.2%;
  display: grid;
  place-content: center;
  gap: 5px;
  border-top: 2px solid #ad7825;
  background: #fff;
  color: #4b2d81;
  text-align: center;
}
.final-certificate-date b { font-size: clamp(8px, 1.15vw, 15px); }
.final-certificate-date span { font-size: clamp(8px, 1.25vw, 17px); font-weight: 850; }
.final-certificate-id {
  position: absolute;
  left: 50%;
  bottom: 1.5%;
  transform: translateX(-50%);
  padding: 3px 7px;
  border-radius: 4px;
  background: rgba(255,255,255,.92);
  color: #786f7c;
  font-size: clamp(5px, .72vw, 9px);
  letter-spacing: .08em;
  white-space: nowrap;
}
.issued-certificate {
  width: min(1020px, 100%);
  aspect-ratio: 1.414;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 7%;
  overflow: hidden;
  border: 13px solid #f8f2df;
  outline: 1px solid #b78a33;
  background:
    radial-gradient(circle at 50% 46%, rgba(147,74,232,.08), transparent 34%),
    linear-gradient(135deg, rgba(197,151,63,.1), transparent 28%, rgba(124,58,237,.06) 70%, rgba(197,151,63,.08)),
    #fffdf7;
  box-shadow: 0 35px 100px rgba(39,24,8,.2), inset 0 0 0 4px #fffdf7, inset 0 0 0 5px rgba(183,138,51,.42);
  text-align: center;
}
.issued-certificate::before { content: ""; position: absolute; inset: 25px; pointer-events: none; border: 1px solid rgba(183,138,51,.48); }
.issued-certificate::after { content: ""; position: absolute; width: 260px; height: 260px; border: 1px solid rgba(147,74,232,.1); border-radius: 50%; }
.issued-certificate-corner { position: absolute; z-index: 1; width: 130px; height: 130px; border-color: #b78a33; opacity: .7; }
.corner-top-left { top: 38px; left: 38px; border-top: 2px solid; border-left: 2px solid; border-radius: 22px 0 0; }
.corner-bottom-right { right: 38px; bottom: 38px; border-right: 2px solid; border-bottom: 2px solid; border-radius: 0 0 22px; }
.certificate-topline { position: absolute; z-index: 2; top: 7%; display: flex; align-items: center; gap: 12px; color: #27212c; font-size: 13px; }
.certificate-topline img { width: 38px; height: auto; object-fit: contain; filter: drop-shadow(0 7px 12px rgba(111,48,175,.2)); }
.issued-certificate > p { position: relative; z-index: 2; margin: 0 0 15px; color: #9a6b19; font-size: 10px; font-weight: 900; letter-spacing: .3em; }
.issued-certificate h2 { margin: 0; font-size: clamp(27px, 4.4vw, 58px); line-height: 1; letter-spacing: -.05em; }
.issued-certificate > small { margin-top: 35px; color: #7b7b84; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.issued-certificate h2, .issued-certificate > small, .issued-certificate h3, .certificate-statement, .certificate-meta { position: relative; z-index: 2; }
.issued-certificate h3 { margin: 13px 0 17px; color: #3a253f; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 4.5vw, 60px); font-weight: 500; font-style: italic; letter-spacing: -.04em; }
.certificate-statement { max-width: 700px; color: #65606a; font-size: 12px; line-height: 1.65; }
.certificate-meta { width: 78%; display: grid; grid-template-columns: 1fr 70px 1fr; align-items: end; gap: 25px; margin-top: 35px; }
.certificate-meta > span { display: grid; gap: 8px; padding-top: 10px; border-top: 1px solid #b9a77f; color: #847b86; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.certificate-meta b { color: #25252b; font-size: 10px; text-transform: none; letter-spacing: 0; }
.certificate-seal { width: 60px; height: auto; align-self: center; object-fit: contain; filter: drop-shadow(0 8px 10px rgba(93,38,148,.22)); }
.certificate-meta .certificate-coach { padding-top: 1px; }
.certificate-coach em { color: #6e3c82; font-family: "Segoe Script", "Brush Script MT", cursive; font-size: 20px; line-height: 1; text-transform: none; letter-spacing: -.04em; }
.issued-certificate footer {
  display: block;
  position: absolute;
  bottom: 5%;
  padding: 0;
  background: transparent;
  color: #8f806a;
  font-size: 8px;
  letter-spacing: .08em;
}

@media (max-width: 980px) {
  .apply-hero, .contact-layout { grid-template-columns: 1fr; gap: 50px; }
  .apply-hero > div:first-child, .contact-layout > div:first-child { padding-top: 10px; }
  .progress-overview { grid-template-columns: 1fr 1fr; }
  .progress-primary { grid-column: 1 / -1; }
  .locked-preview > div { grid-template-columns: 1fr 1fr; }
  .homework-layout { grid-template-columns: 1fr; }
  .sticky-card { position: static; }
  .certificate-requirements { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .public-page-header, .portal-header { width: calc(100% - 28px); }
  .public-page-header nav > a:not(.portal-signout),
  .portal-header nav > a:not(.portal-signout),
  .student-name { display: none; }
  .public-page-header nav, .portal-header nav { gap: 8px; }
  .public-page-header .brand, .portal-header .brand { min-width: 0; }
  .public-page-header .brand strong, .portal-header .brand strong { font-size: 11px; }
  .apply-hero, .contact-layout, .portal-hero, .inner-page-hero,
  .activation-panel, .progress-overview, .course-library, .support-banner,
  .locked-preview, .homework-layout, .certificate-requirements,
  .issued-certificate-wrap, .lesson-layout { width: calc(100% - 28px); }
  .apply-hero, .contact-layout { padding-top: 55px; }
  .apply-hero h1, .contact-layout h1, .inner-page-hero h1 { font-size: 52px; }
  .application-promises, .form-grid { grid-template-columns: 1fr; }
  .direct-contact-links { grid-template-columns: 1fr; }
  .contact-notes article { grid-template-columns: 28px 1fr; }
  .contact-notes article p { grid-column: 2; }
  .legal-page article { width: calc(100% - 34px); padding-top: 60px; }
  .legal-page h1 { font-size: 53px; }
  .portal-hero { padding-top: 55px; }
  .portal-hero h1 { font-size: 52px; }
  .activation-panel { grid-template-columns: 1fr; gap: 30px; }
  .inline-form { grid-template-columns: 1fr; }
  .progress-overview { grid-template-columns: 1fr; }
  .progress-primary { grid-column: auto; }
  .portal-section-heading { grid-template-columns: 1fr; }
  .module-row { grid-template-columns: 70px 1fr; }
  .module-day strong { font-size: 30px; }
  .module-title-line { display: grid; }
  .lesson-list a > span { display: grid; gap: 4px; }
  .support-banner { display: grid; align-items: start; }
  .locked-preview > div { grid-template-columns: 1fr; }
  .locked-preview article { min-height: 150px; }
  .lesson-layout { grid-template-columns: 1fr; padding-top: 40px; }
  .lesson-sidebar { position: static; padding: 0 0 22px; border-right: 0; border-bottom: 1px solid #d7d7dc; }
  .lesson-sidebar > p { margin-top: 25px; }
  .recording-placeholder { justify-content: flex-start; align-items: end; aspect-ratio: 4 / 3; }
  .lesson-navigation { grid-template-columns: 1fr; }
  .lesson-navigation a:last-child { text-align: left; }
  .issued-certificate { aspect-ratio: auto; min-height: 520px; border-width: 8px; }
  .final-issued-certificate { width: 100%; }
  .certificate-meta { width: 100%; grid-template-columns: 1fr; gap: 12px; margin-top: 25px; }
  .certificate-meta i, .certificate-seal { display: none; }
  .certificate-meta .certificate-coach { padding-top: 8px; }
  .issued-certificate footer { bottom: 3%; }
}

@media print {
  body { background: white; }
  .no-print { display: none !important; }
  .portal-shell { padding: 0; background: white; }
  .issued-certificate-wrap { width: 100%; padding: 0; }
  .issued-certificate { width: 100%; box-shadow: none; outline: none; }
  .final-issued-certificate { width: 100%; box-shadow: none; }
}

/* Saba AI Academy — premium public experience */
.academy-brand { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.academy-brand img { width: 42px; height: 38px; object-fit: contain; filter: drop-shadow(0 0 16px rgba(157,77,255,.28)); }
.academy-brand span { display: grid; line-height: 1; }
.academy-brand strong { font-size: 17px; letter-spacing: -.035em; }
.academy-brand small { margin-top: 4px; color: #9997a4; font-size: 9px; letter-spacing: .26em; text-transform: uppercase; }

.lux-site {
  --lux-bg: #070708;
  --lux-card: #111014;
  --lux-violet: #9c4dff;
  --lux-violet-light: #c78bff;
  --lux-text: #f8f7fb;
  --lux-muted: #a4a1ac;
  min-height: 100vh;
  overflow: hidden;
  background: var(--lux-bg);
  color: var(--lux-text);
}
.lux-header { position: relative; z-index: 20; width: min(1440px, calc(100% - 80px)); height: 90px; margin: auto; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.09); animation: heroEnter .75s cubic-bezier(.2,.72,.2,1) both; }
.lux-header nav { display: flex; gap: 34px; }
.lux-header nav a { color: #aaa7b2; font-size: 13px; text-decoration: none; transition: color .2s; }
.lux-header nav a:hover { color: white; }
.lux-login { padding: 11px 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: white; font-size: 12px; text-decoration: none; }
.lux-login span { margin-left: 8px; color: var(--lux-violet-light); }

.lux-hero { position: relative; width: min(1440px, calc(100% - 80px)); min-height: 760px; margin: auto; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; }
.lux-grid { position: absolute; inset: 0; opacity: .26; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(circle at 65% 45%, black, transparent 72%); }
.lux-orb { position: absolute; border-radius: 50%; filter: blur(110px); pointer-events: none; }
.orb-a { top: 6%; right: 13%; width: 340px; height: 340px; background: rgba(136,42,255,.27); }
.orb-b { bottom: 4%; left: 35%; width: 260px; height: 260px; background: rgba(67,35,187,.19); }
.lux-hero-copy { position: relative; z-index: 2; max-width: 700px; padding: 90px 0 100px; animation: heroEnter .9s .08s cubic-bezier(.2,.72,.2,1) both; }
.lux-pill { display: inline-flex; align-items: center; gap: 9px; padding: 9px 14px; border: 1px solid rgba(196,136,255,.22); border-radius: 999px; background: rgba(128,56,214,.08); color: #d3b1f7; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.lux-pill i { width: 7px; height: 7px; border-radius: 50%; background: #a652ff; box-shadow: 0 0 14px #a652ff; animation: luxPulse 1.8s infinite; }
.lux-overline, .lux-kicker { color: var(--lux-violet-light); font-size: 10px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.lux-overline { margin: 34px 0 16px; }
.lux-hero h1 { max-width: 760px; margin: 0; font-size: clamp(58px, 6.3vw, 102px); line-height: .88; letter-spacing: -.07em; }
.lux-hero h1 em { display: block; color: transparent; font-style: normal; background: linear-gradient(110deg, #fff 0%, #c99aff 34%, #8839e8 100%); background-clip: text; -webkit-background-clip: text; }
.lux-lede { max-width: 620px; margin: 30px 0; color: var(--lux-muted); font-size: 17px; line-height: 1.72; }
.lux-lede strong { color: white; font-weight: 600; }
.lux-price { display: flex; align-items: center; gap: 25px; margin: 24px 0; }
.lux-price > div { display: grid; }
.lux-price small { color: #77737f; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
.lux-price strong { font-size: 42px; letter-spacing: -.06em; }
.lux-price > span { display: grid; gap: 4px; padding-left: 25px; border-left: 1px solid #2e2b33; }
.lux-price del { color: #726e79; font-size: 15px; }
.lux-price b { color: #c89aff; font-size: 11px; text-transform: uppercase; }
.lux-actions { display: flex; align-items: center; gap: 12px; }
.lux-primary, .lux-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border-radius: 999px; font-size: 13px; font-weight: 750; text-decoration: none; }
.lux-primary { position: relative; overflow: hidden; gap: 24px; border: 1px solid #bf7cff; background: linear-gradient(135deg, #ad62ff, #7025c9); color: white; box-shadow: 0 14px 40px rgba(136,56,222,.32), inset 0 1px rgba(255,255,255,.38); transition: transform .25s, box-shadow .25s; }
.lux-primary::before { content: ""; position: absolute; inset: 0; transform: translateX(-110%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent); transition: transform .7s; }
.lux-primary:hover { transform: translateY(-2px); box-shadow: 0 20px 50px rgba(136,56,222,.45); }
.lux-primary:hover::before { transform: translateX(110%); }
.lux-primary span { font-size: 18px; }
.lux-secondary { border: 1px solid rgba(255,255,255,.14); color: #d1ced7; }
.lux-micro { margin: 15px 0 0; color: #6f6b76; font-size: 10px; }
.lux-hero-art { position: relative; z-index: 1; min-height: 620px; display: grid; place-items: center; perspective: 1200px; animation: heroArtEnter 1.05s .12s cubic-bezier(.2,.72,.2,1) both; }
.lux-product { position: relative; z-index: 3; width: min(610px, 100%); height: auto; filter: drop-shadow(0 55px 55px rgba(0,0,0,.7)); animation: luxFloat 6s ease-in-out infinite; }
.lux-halo { position: absolute; width: 520px; aspect-ratio: 1; border: 1px solid rgba(164,91,255,.16); border-radius: 50%; transform: rotateX(64deg) rotateZ(-10deg); box-shadow: inset 0 0 60px rgba(141,57,255,.1); animation: haloSpin 22s linear infinite; }
.lux-halo::before, .lux-halo::after, .lux-halo i { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(183,115,255,.13); border-radius: 50%; }
.lux-halo::after { inset: 22%; }
.lux-halo i:first-child { inset: -2%; border-style: dashed; }
.lux-halo i:nth-child(2) { inset: 35%; background: radial-gradient(circle, rgba(145,49,255,.25), transparent 68%); }
.lux-float-card { position: absolute; z-index: 4; padding: 14px 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: linear-gradient(145deg, rgba(30,27,35,.9), rgba(10,9,12,.78)); box-shadow: 0 20px 60px rgba(0,0,0,.42); backdrop-filter: blur(16px); }
.lux-float-card small { color: #8d8994; font-size: 8px; letter-spacing: .14em; }
.lux-float-card strong { display: block; margin-top: 4px; font-size: 17px; }
.float-one { top: 24%; left: 1%; animation: luxFloat 5s ease-in-out infinite reverse; }
.float-two { right: 0; bottom: 23%; display: flex; align-items: center; gap: 11px; animation: luxFloat 6.5s .5s ease-in-out infinite; }
.float-two > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #8f42e7; }

.lux-trust { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid rgba(255,255,255,.09); background: #0b0a0d; }
.lux-trust div { display: grid; justify-content: center; padding: 34px; border-right: 1px solid rgba(255,255,255,.08); }
.lux-trust div:last-child { border: 0; }
.lux-trust strong { color: white; font-size: 30px; letter-spacing: -.04em; }
.lux-trust span { margin-top: 4px; color: #77737e; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

.lux-intro, .lux-skills, .lux-journey, .lux-audience, .lux-faq { width: min(1320px, calc(100% - 80px)); margin: auto; padding: 130px 0; }
.lux-intro { text-align: center; }
.lux-intro h2, .lux-video-message h2, .coach-story h2, .lux-section-head h2, .lux-vault h2, .lux-audience h2, .lux-portal h2, .lux-live h2, .lux-certificate h2, .lux-telegram h2, .lux-faq h2, .lux-final h2 { margin: 17px 0; font-size: clamp(42px, 5vw, 74px); line-height: .98; letter-spacing: -.06em; }
.lux-intro h2 span { display: block; color: #9e55ed; }
.lux-intro > p:not(.lux-kicker) { max-width: 760px; margin: 26px auto 0; color: #8f8b96; font-size: 16px; line-height: 1.75; }

.lux-video-message {
  position: relative;
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto 135px;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 6vw;
  align-items: center;
}
.lux-video-message::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 46%;
  top: 50%;
  width: 430px;
  height: 430px;
  border-radius: 50%;
  background: rgba(140,50,235,.17);
  filter: blur(105px);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.lux-video-message > * { position: relative; z-index: 1; }
.lux-video-copy h2 {
  max-width: 560px;
  font-size: clamp(42px, 4.5vw, 68px);
}
.lux-video-copy > p:not(.lux-kicker) {
  max-width: 570px;
  margin: 15px 0;
  color: #9b96a2;
  font-size: 14px;
  line-height: 1.75;
}
.lux-video-signoff {
  display: grid;
  gap: 5px;
  margin-top: 28px;
  padding: 18px 0 18px 20px;
  border-left: 2px solid #a950f5;
}
.lux-video-signoff strong { color: #f1edf4; font-size: 14px; }
.lux-video-signoff span {
  color: #77727e;
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.lux-video-shell {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  overflow: hidden;
  border: 1px solid rgba(214,164,255,.2);
  border-radius: 26px;
  background: linear-gradient(145deg, #151119, #09080b);
  box-shadow: 0 45px 110px rgba(0,0,0,.5), 0 0 70px rgba(127,39,218,.08);
  transform: perspective(1400px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition: transform .18s ease-out, border-color .3s, box-shadow .3s;
}
.lux-video-shell:hover {
  border-color: rgba(208,147,255,.36);
  box-shadow: 0 55px 130px rgba(0,0,0,.56), 0 0 90px rgba(127,39,218,.13);
}
.lux-video-bar {
  height: 54px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 18px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.lux-video-bar > div { display: flex; gap: 7px; }
.lux-video-bar i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #5e5964;
}
.lux-video-bar i:nth-child(2) { background: #7b418d; }
.lux-video-bar i:nth-child(3) { background: #9853df; }
.lux-video-bar > span {
  color: #89838f;
  font-size: 9px;
  letter-spacing: .07em;
}
.lux-video-bar > img {
  justify-self: end;
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(157,77,255,.35));
}
.lux-video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(139,48,231,.22), transparent 35%),
    #050406;
}
.lux-video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}
.lux-video-footer {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 18px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.lux-video-footer span {
  color: #6f6976;
  font-size: 9px;
}
.lux-video-footer a {
  color: #c88cff;
  font-size: 9px;
  text-decoration: none;
}
.lux-video-footer a:hover { color: white; }

.coach-story {
  width: min(1440px, calc(100% - 80px));
  margin: 0 auto;
  padding: 20px 0 135px;
}
.coach-story-heading {
  width: min(1260px, 100%);
  margin: 0 auto 48px;
  display: grid;
  grid-template-columns: 1.2fr .55fr;
  gap: 9vw;
  align-items: end;
}
.coach-story-heading h2 { max-width: 820px; }
.coach-story-heading > p {
  margin: 0 0 5px;
  color: #8e8995;
  line-height: 1.7;
}
.coach-browser {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  width: min(1260px, 100%);
  margin: auto;
  overflow: hidden;
  border: 1px solid rgba(215,174,255,.18);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 30%, rgba(144,57,234,.15), transparent 29%),
    linear-gradient(145deg, #121016, #09080b 70%);
  box-shadow: 0 45px 120px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.07);
  transform: perspective(1500px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition: transform .18s ease-out, border-color .35s, box-shadow .35s;
}
.coach-browser:hover {
  border-color: rgba(205,145,255,.32);
  box-shadow: 0 55px 140px rgba(40,7,73,.48), inset 0 1px rgba(255,255,255,.09);
}
.coach-browser-bar {
  height: 58px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 20px;
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.025);
}
.coach-window-dots { display: flex; gap: 7px; }
.coach-window-dots i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #5e5964;
}
.coach-window-dots i:nth-child(2) { background: #7b418d; }
.coach-window-dots i:nth-child(3) { background: #9853df; }
.coach-browser-bar > span {
  padding: 7px 16px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  color: #78737f;
  font-size: 9px;
  letter-spacing: .08em;
}
.coach-browser-bar > img {
  justify-self: end;
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(157,77,255,.35));
}
.coach-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.coach-tabs button {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.07);
  background: transparent;
  color: #85818d;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
  transition: color .25s, background .25s, box-shadow .25s;
}
.coach-tabs button:last-child { border-right: 0; }
.coach-tabs button span {
  color: #5e5964;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .16em;
}
.coach-tabs button:hover { color: #d9d4df; background: rgba(255,255,255,.02); }
.coach-tabs button:focus-visible { outline: 2px solid #b76cff; outline-offset: -3px; }
.coach-tabs button.active {
  color: white;
  background: linear-gradient(180deg, rgba(156,77,255,.13), rgba(156,77,255,.035));
  box-shadow: inset 0 -2px #a755f4;
}
.coach-tabs button.active span { color: #ba75ff; }
.coach-panel {
  min-height: 570px;
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 5vw;
  align-items: stretch;
  padding: 34px;
  animation: coachPanelIn .55s cubic-bezier(.2,.72,.2,1) both;
}
.coach-image-frame {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 21px;
  background: #070609;
}
.coach-image-frame::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(to top, rgba(5,4,7,.88), transparent 38%);
  pointer-events: none;
}
.coach-image-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 22%;
  animation: coachImageIn .8s cubic-bezier(.2,.72,.2,1) both;
}
.coach-image-frame > span {
  position: absolute;
  z-index: 3;
  left: 22px;
  bottom: 18px;
  color: #f5f2f8;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.coach-image-glow {
  position: absolute;
  z-index: 2;
  right: -40px;
  bottom: -60px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(147,53,238,.5);
  filter: blur(65px);
  pointer-events: none;
}
.coach-panel-copy {
  align-self: center;
  max-width: 650px;
  padding: 20px 18px 20px 0;
}
.coach-eyebrow {
  margin: 0 0 18px;
  color: #a85df1 !important;
  font-size: 9px !important;
  font-weight: 850;
  letter-spacing: .19em;
}
.coach-panel-copy h3 {
  max-width: 640px;
  margin: 0 0 25px;
  font-size: clamp(34px, 4vw, 60px);
  line-height: 1;
  letter-spacing: -.055em;
}
.coach-panel-copy > p {
  margin: 14px 0;
  color: #9d98a4;
  font-size: 14px;
  line-height: 1.75;
}
.coach-panel-copy blockquote {
  margin: 26px 0 0;
  padding: 18px 0 18px 20px;
  border-left: 2px solid #a950f5;
  color: #e9e3ed;
  font-size: 16px;
  line-height: 1.62;
}
.coach-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255,255,255,.09);
}
.coach-stats article {
  min-height: 110px;
  display: grid;
  align-content: center;
  padding: 22px 28px;
  border-right: 1px solid rgba(255,255,255,.08);
}
.coach-stats article:last-child { border-right: 0; }
.coach-stats strong {
  color: white;
  font-size: 20px;
  letter-spacing: -.04em;
}
.coach-stats span {
  margin-top: 7px;
  color: #77727f;
  font-size: 8px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.lux-skills { padding-top: 110px; }
.lux-builds { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid rgba(255,255,255,.1); border-radius: 20px; overflow: hidden; text-align: left; }
.lux-builds span { min-height: 122px; display: grid; align-content: space-between; padding: 19px; border-right: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); color: #d7d4dc; font-size: 13px; line-height: 1.35; transition: color .35s, background .35s, transform .35s; }
.lux-builds span:hover { z-index: 1; color: white; background: linear-gradient(145deg, rgba(160,76,255,.16), rgba(255,255,255,.015)); transform: translateY(-4px); }
.lux-builds b { color: #7e7885; font-size: 9px; letter-spacing: .15em; }

.lux-journey { padding-top: 80px; }
.lux-section-head { display: grid; grid-template-columns: 1.2fr .6fr; gap: 12vw; align-items: end; margin-bottom: 65px; }
.lux-section-head > p { color: #8c8993; line-height: 1.7; }
.lux-day-list { border-top: 1px solid rgba(255,255,255,.12); }
.lux-day-list article { display: grid; grid-template-columns: 82px 60px 1fr 1fr; gap: 28px; align-items: center; padding: 34px 0; border-bottom: 1px solid rgba(255,255,255,.1); transition: padding .25s, background .25s; }
.lux-day-list article:hover { padding-inline: 18px; background: linear-gradient(90deg, rgba(137,54,235,.08), transparent); }
.lux-day-number { display: grid; }
.lux-day-number span { color: #696571; font-size: 8px; letter-spacing: .2em; }
.lux-day-number strong { font-size: 34px; }
.lux-day-icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(180,111,255,.28); border-radius: 15px; background: rgba(128,52,214,.08); color: #ba7cff; font-size: 20px; box-shadow: inset 0 0 20px rgba(148,61,250,.08); }
.lux-day-copy h3 { margin: 0 0 10px; font-size: 22px; letter-spacing: -.035em; }
.lux-day-copy p { margin: 0; color: #a29ea8; font-size: 12px; }
.lux-day-copy p span { margin-right: 10px; color: #9c4dff; font-size: 8px; font-weight: 900; letter-spacing: .15em; }
.lux-day-list ul { columns: 2; margin: 0; padding: 0; color: #85818c; font-size: 11px; line-height: 2; list-style: none; }
.lux-day-list li::before { content: "·"; margin-right: 8px; color: #a759ff; }

.lux-live {
  width: min(1320px, calc(100% - 80px));
  margin: 0 auto 130px;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 7vw;
  align-items: center;
}
.lux-live-image {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  min-height: 650px;
  overflow: hidden;
  border: 1px solid rgba(204,151,255,.2);
  border-radius: 28px;
  background: #0a090c;
  box-shadow: 0 35px 90px rgba(0,0,0,.45);
  transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition: transform .18s ease-out, box-shadow .35s;
}
.lux-live-image:hover { box-shadow: 0 45px 110px rgba(59,13,101,.45); }
.lux-live-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(6,5,8,.86), transparent 42%);
  pointer-events: none;
}
.lux-live-image img {
  width: 100%;
  height: 100%;
  min-height: 650px;
  display: block;
  object-fit: cover;
  object-position: center 18%;
}
.lux-live-image span {
  position: absolute;
  z-index: 2;
  left: 24px;
  bottom: 22px;
  padding: 8px 12px;
  border: 1px solid rgba(207,157,255,.3);
  border-radius: 999px;
  background: rgba(12,8,16,.68);
  color: #cd91ff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .18em;
  backdrop-filter: blur(12px);
}
.lux-live-copy > p:not(.lux-kicker) {
  max-width: 680px;
  color: #99949f;
  line-height: 1.75;
}
.lux-live-steps { margin-top: 34px; border-top: 1px solid rgba(255,255,255,.11); }
.lux-live-steps article {
  display: grid;
  grid-template-columns: 52px 160px 1fr;
  gap: 15px;
  align-items: center;
  padding: 19px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.lux-live-steps span { color: #a455ec; font-size: 9px; font-weight: 900; }
.lux-live-steps strong { font-size: 14px; }
.lux-live-steps p { margin: 0; color: #77727f; font-size: 11px; line-height: 1.55; }

.lux-vault { min-height: 760px; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 5vw; padding: 110px max(6vw, 40px); background: radial-gradient(circle at 23% 50%, rgba(110,32,201,.24), transparent 32%), #0c0a10; border-block: 1px solid rgba(255,255,255,.08); }
.lux-vault-art { position: relative; min-height: 500px; display: grid; place-items: center; perspective: 900px; }
.vault-cube { position: relative; z-index: 2; width: 220px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(217,174,255,.55); border-radius: 44px; background: linear-gradient(145deg, rgba(177,95,255,.55), rgba(62,12,122,.18)); box-shadow: inset 0 0 60px rgba(229,196,255,.25), 0 60px 100px rgba(42,0,90,.5); transform: rotateX(58deg) rotateZ(45deg); animation: cubeTilt 6s ease-in-out infinite; }
.vault-cube span { transform: rotateZ(-45deg); font-size: 70px; font-weight: 900; text-shadow: 0 8px 24px #4d087a; }
.vault-ring { position: absolute; width: 390px; aspect-ratio: 1; border: 1px dashed rgba(191,123,255,.28); border-radius: 50%; transform: rotateX(70deg); animation: haloSpin 16s linear infinite; }
.ring-two { width: 510px; animation-direction: reverse; animation-duration: 24s; }
.lux-bonus-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 40px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.09); }
.lux-bonus-grid article { min-height: 120px; padding: 24px; background: #100e13; }
.lux-bonus-grid strong { color: #bc7cfa; font-size: 17px; }
.lux-bonus-grid p { margin: 10px 0 0; color: #918d98; font-size: 12px; line-height: 1.5; }
.lux-vault-copy > small { display: block; margin-top: 18px; color: #65616c; font-size: 9px; }

.lux-audience { display: grid; grid-template-columns: .75fr 1.25fr; gap: 9vw; align-items: start; }
.lux-audience h2 { font-size: clamp(40px, 4.5vw, 68px); }
.lux-audience-grid { border-top: 1px solid rgba(255,255,255,.12); }
.lux-audience-grid span { display: grid; grid-template-columns: 55px 1fr 20px; align-items: center; padding: 20px 4px; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 15px; }
.lux-audience-grid b { color: #716d78; font-size: 9px; letter-spacing: .15em; }
.lux-audience-grid i { color: #a950ff; font-style: normal; }

.lux-portal { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; align-items: center; padding: 130px max(6vw, 40px); background: #eeedf1; color: #121116; }
.lux-portal-copy > p:not(.lux-kicker) { color: #65616d; line-height: 1.7; }
.lux-portal-copy ul { columns: 2; margin: 30px 0; padding: 0; list-style: none; color: #55515d; font-size: 12px; line-height: 2.3; }
.lux-portal-copy li::before { content: "✓"; margin-right: 8px; color: #8334d6; font-weight: 900; }
.lux-dashboard-demo { --tilt-x: 0deg; --tilt-y: 0deg; overflow: hidden; padding: 20px; border: 1px solid #d0cdd5; border-radius: 26px; background: #0d0c10; box-shadow: 0 45px 80px rgba(20,13,31,.25); color: white; transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transition: transform .18s ease-out, box-shadow .35s; }
.lux-dashboard-demo:hover { box-shadow: 0 55px 95px rgba(44,20,69,.3); }
.demo-bar { height: 45px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #28252e; }
.demo-bar img { margin-right: auto; object-fit: contain; }
.demo-bar i { width: 25px; height: 8px; border-radius: 4px; background: #24212a; }
.demo-greeting { padding: 30px 12px 24px; display: grid; gap: 8px; }
.demo-greeting small { color: #a35bfa; font-size: 8px; letter-spacing: .18em; }
.demo-greeting strong { font-size: 24px; letter-spacing: -.04em; }
.demo-greeting > div { height: 4px; margin-top: 13px; border-radius: 3px; background: #24212a; }
.demo-greeting > div span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8734dd, #c47dfd); }
.demo-lesson { display: grid; grid-template-columns: 45px 1fr 28px; align-items: center; padding: 15px 12px; border-top: 1px solid #24212a; transition: background .28s, transform .28s; }
.demo-lesson:hover { background: rgba(142,55,231,.08); transform: translateX(4px); }
.demo-lesson > b { color: #66616d; font-size: 10px; }
.demo-lesson > span { display: grid; gap: 5px; }
.demo-lesson strong { font-size: 12px; }
.demo-lesson small { color: #716c78; font-size: 8px; line-height: 1.45; }
.demo-lesson > i { color: #9350dc; font-style: normal; }
.demo-lesson.active { border-radius: 12px; background: rgba(142,55,231,.13); }

.lux-trainer { width: min(1200px, calc(100% - 80px)); margin: auto; display: grid; grid-template-columns: .65fr 1.35fr; gap: 8vw; align-items: center; padding: 140px 0; }
.lux-trainer-mark { --tilt-x: 0deg; --tilt-y: 0deg; min-height: 390px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; background: radial-gradient(circle, rgba(137,48,232,.2), transparent 62%); transform: perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transition: transform .18s ease-out, border-color .3s; }
.lux-trainer-mark:hover { border-color: rgba(190,123,255,.35); }
.lux-trainer-mark img { width: 60%; height: auto; object-fit: contain; filter: drop-shadow(0 25px 35px rgba(125,37,223,.35)); }
.lux-trainer h3 { color: #bd79fa; font-size: 13px; }
.lux-trainer p { max-width: 700px; color: #99959f; line-height: 1.75; }
.lux-trainer blockquote { margin: 34px 0 0; padding: 24px 0 24px 25px; border-left: 2px solid #9a4bec; color: #dedbe3; font-size: 20px; line-height: 1.5; }

.lux-certificate { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; padding: 130px max(6vw, 40px); background: linear-gradient(135deg, #f0edf3, #fffaf0); color: #111015; }
.lux-certificate-card { --tilt-x: 0deg; --tilt-y: 0deg; position: relative; overflow: hidden; aspect-ratio: 1.42; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; border: 10px solid #fffaf0; outline: 1px solid #b88a34; background: radial-gradient(circle at 50% 45%, rgba(150,79,228,.08), transparent 32%), linear-gradient(145deg, #fffdf8, #f6efdc); box-shadow: 0 35px 80px rgba(55,35,8,.22), inset 0 0 0 1px rgba(184,138,52,.25); text-align: center; transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transition: transform .18s ease-out, box-shadow .35s; }
.lux-certificate-card::before { content: ""; position: absolute; inset: 16px; border: 1px solid rgba(184,138,52,.52); pointer-events: none; }
.lux-certificate-card:hover { box-shadow: 0 45px 95px rgba(55,35,8,.28), inset 0 0 0 1px rgba(184,138,52,.35); }
.certificate-gold-corner { position: absolute; width: 78px; height: 78px; border-color: #b88a34; }
.certificate-gold-corner.corner-one { top: 26px; left: 26px; border-top: 2px solid; border-left: 2px solid; }
.certificate-gold-corner.corner-two { right: 26px; bottom: 26px; border-right: 2px solid; border-bottom: 2px solid; }
.lux-certificate-card img { width: 50px; height: auto; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(112,50,171,.2)); }
.lux-certificate-card small { margin-top: 12px; color: #9a6b19; font-size: 7px; font-weight: 800; letter-spacing: .28em; }
.lux-certificate-card h3 { margin: 13px 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(22px, 2.4vw, 36px); font-weight: 500; line-height: 1.05; letter-spacing: -.035em; }
.lux-certificate-card > i { width: 35%; height: 1px; background: linear-gradient(90deg, transparent, #b88a34, transparent); }
.certificate-coach-sign { display: grid; gap: 2px; margin-top: 11px; }
.certificate-coach-sign em { color: #6f3c82; font-family: "Segoe Script", "Brush Script MT", cursive; font-size: 18px; line-height: 1; }
.certificate-coach-sign strong { color: #2e2731; font-size: 7px; letter-spacing: .05em; }
.certificate-coach-sign span { color: #8a7c88; font-size: 6px; letter-spacing: .12em; text-transform: uppercase; }
.lux-certificate-card > p { margin: 9px 0 0; color: #7a6a4c; font-size: 6px; letter-spacing: .24em; }
.final-certificate-preview {
  padding: 0;
  border-color: #fff;
  background: #fff;
}
.final-certificate-preview::before { display: none; }
.final-certificate-preview > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  filter: none;
}
.lux-certificate ol { margin: 35px 0 0; padding: 0; list-style: none; }
.lux-certificate li { display: flex; gap: 18px; padding: 18px 0; border-top: 1px solid #ccc8d0; font-size: 13px; }
.lux-certificate li:last-child { border-bottom: 1px solid #ccc8d0; }
.lux-certificate li span { color: #8a36dc; font-size: 10px; font-weight: 900; }
.lux-certificate-note {
  max-width: 650px;
  margin: 23px 0 0;
  color: #625e68;
  line-height: 1.7;
}

.lux-telegram {
  position: relative;
  width: min(1320px, calc(100% - 80px));
  min-height: 620px;
  margin: 130px auto;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  align-items: center;
  gap: 7vw;
  padding: 48px;
  overflow: hidden;
  border: 1px solid rgba(203,145,255,.22);
  border-radius: 34px;
  background:
    radial-gradient(circle at 18% 55%, rgba(155,69,244,.28), transparent 34%),
    linear-gradient(145deg, #171020, #0a080d 70%);
  box-shadow: 0 45px 120px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.08);
}
.lux-telegram::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .28;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, black, transparent 76%);
}
.lux-telegram > * { position: relative; z-index: 2; }
.lux-telegram-image {
  height: 525px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 26px;
  background: #09080c;
  box-shadow: 0 35px 70px rgba(0,0,0,.45);
}
.lux-telegram-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 24%;
}
.lux-telegram-copy h2 { max-width: 690px; }
.lux-telegram-copy > p:not(.lux-kicker) {
  max-width: 630px;
  color: #a7a1ad;
  font-size: 15px;
  line-height: 1.75;
}
.telegram-button { margin-top: 20px; }
.lux-telegram-copy > small {
  display: block;
  margin-top: 14px;
  color: #7e7585;
  font-size: 10px;
  letter-spacing: .12em;
}
.telegram-plane {
  position: absolute;
  z-index: 1;
  top: 12%;
  right: 8%;
  color: rgba(193,122,255,.14);
  font-size: 165px;
  line-height: 1;
  transform: rotate(-22deg);
  filter: drop-shadow(0 0 30px rgba(166,77,244,.24));
  animation: telegramFloat 5.5s ease-in-out infinite;
}

.lux-faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: 9vw; }
.lux-faq details { border-top: 1px solid rgba(255,255,255,.12); }
.lux-faq details:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }
.lux-faq summary { display: flex; justify-content: space-between; gap: 20px; padding: 23px 0; color: #e2dfe7; font-size: 14px; cursor: pointer; list-style: none; }
.lux-faq summary::-webkit-details-marker { display: none; }
.lux-faq summary span { color: #ac5ef4; font-size: 21px; }
.lux-faq details[open] summary span { transform: rotate(45deg); }
.lux-faq details p { margin: -4px 0 24px; padding-right: 50px; color: #898590; font-size: 13px; line-height: 1.7; }

.lux-final { position: relative; padding: 130px 30px; overflow: hidden; border-top: 1px solid rgba(255,255,255,.09); background: radial-gradient(circle at 50% 40%, rgba(134,42,230,.24), transparent 35%), #09080b; text-align: center; }
.lux-final > * { position: relative; z-index: 2; }
.lux-final h2 { max-width: 900px; margin-inline: auto; }
.lux-final > p:not(.lux-kicker) { max-width: 620px; margin: 25px auto; color: #96929d; line-height: 1.7; }
.lux-final-price { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 30px 0; }
.lux-final-price del { color: #6e6974; }
.lux-final-price strong { font-size: 42px; letter-spacing: -.05em; }
.lux-final-price span { padding: 6px 9px; border-radius: 99px; background: #7f30cf; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.lux-final .lux-primary { min-width: 290px; }
.lux-final > small { display: block; margin-top: 20px; color: #66616d; font-size: 9px; }
.orb-c { top: 20%; left: 40%; z-index: 1; width: 300px; height: 300px; background: rgba(155,64,255,.23); }

.lux-footer { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 40px; padding: 70px max(6vw, 40px) 28px; border-top: 1px solid rgba(255,255,255,.09); background: #050506; }
.lux-footer > div { display: grid; align-content: start; gap: 10px; }
.lux-footer > div:first-child p { color: #6d6974; font-size: 11px; }
.lux-footer > div > strong { margin-bottom: 8px; color: #77727d; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.lux-footer a { color: #b7b3bd; font-size: 11px; line-height: 1.7; text-decoration: none; }
.lux-footer > p { grid-column: 1 / -1; margin: 35px 0 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); color: #56515c; font-size: 9px; }
.portal-support-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

.payment-success-page { min-height: 100vh; padding: 0 30px 70px; background: radial-gradient(circle at 50% 22%, rgba(142,56,231,.24), transparent 34%), #08070a; color: white; }
.payment-success-page > header { width: min(1080px, 100%); height: 88px; margin: auto; display: flex; align-items: center; border-bottom: 1px solid rgba(255,255,255,.1); }
.payment-success-page > section { width: min(780px, 100%); margin: 70px auto 0; text-align: center; }
.success-check { width: 70px; height: 70px; margin: 0 auto 28px; display: grid; place-items: center; border: 1px solid #bd78ff; border-radius: 50%; background: rgba(143,58,226,.16); color: #cb96ff; font-size: 28px; box-shadow: 0 0 40px rgba(151,62,238,.25); }
.payment-success-page h1 { margin: 15px 0; font-size: clamp(44px, 7vw, 78px); line-height: .96; letter-spacing: -.06em; }
.payment-success-page > section > p:not(.lux-kicker) { max-width: 620px; margin: 24px auto; color: #a29da9; line-height: 1.7; }
.success-steps { margin: 40px 0; border: 1px solid rgba(255,255,255,.11); border-radius: 20px; overflow: hidden; text-align: left; }
.success-steps > div { display: grid; grid-template-columns: 48px 1fr; gap: 12px; padding: 20px; border-bottom: 1px solid rgba(255,255,255,.09); }
.success-steps > div:last-child { border: 0; }
.success-steps b { color: #9e51ea; font-size: 10px; }
.success-steps span { display: grid; gap: 5px; }
.success-steps strong { font-size: 14px; }
.success-steps small { color: #85808b; font-size: 11px; }
.payment-success-page .lux-actions { justify-content: center; }
.payment-success-page > section > small { display: block; margin-top: 24px; color: #6f6a75; font-size: 10px; }

@keyframes luxFloat { 0%, 100% { transform: translateY(0) rotateY(-2deg); } 50% { transform: translateY(-18px) rotateY(2deg); } }
@keyframes luxPulse { 50% { opacity: .45; transform: scale(.8); } }
@keyframes haloSpin { to { transform: rotateX(64deg) rotateZ(350deg); } }
@keyframes cubeTilt { 0%, 100% { transform: rotateX(58deg) rotateZ(45deg) translateZ(0); } 50% { transform: rotateX(51deg) rotateZ(48deg) translateZ(22px); } }
@keyframes heroEnter { from { opacity: 0; transform: translateY(24px); filter: blur(7px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes heroArtEnter { from { opacity: 0; transform: translate3d(45px, 20px, 0) scale(.94); filter: blur(8px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes coachPanelIn { from { opacity: 0; transform: translateY(12px); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes coachImageIn { from { opacity: .35; transform: scale(1.04); } to { opacity: 1; transform: scale(1); } }
@keyframes telegramFloat { 0%, 100% { transform: translate3d(0,0,0) rotate(-22deg); } 50% { transform: translate3d(-18px,-15px,0) rotate(-17deg); } }

.motion-ready [data-reveal="true"] { opacity: 0; transform: translateY(34px) scale(.985); filter: blur(4px); transition: opacity .72s var(--reveal-delay, 0ms) cubic-bezier(.2,.72,.2,1), transform .72s var(--reveal-delay, 0ms) cubic-bezier(.2,.72,.2,1), filter .72s var(--reveal-delay, 0ms) ease; }
.motion-ready [data-reveal="true"].is-visible { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }

@media (max-width: 1050px) {
  .lux-header { width: calc(100% - 40px); }
  .lux-header nav { display: none; }
  .lux-hero { width: calc(100% - 40px); grid-template-columns: 1fr; }
  .lux-hero-copy { padding-bottom: 10px; }
  .lux-hero-art { min-height: 540px; }
  .lux-section-head, .lux-audience, .lux-faq { grid-template-columns: 1fr; gap: 45px; }
  .lux-video-message { grid-template-columns: 1fr; gap: 45px; }
  .lux-video-copy { max-width: 760px; }
  .lux-video-shell { transform: perspective(1400px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }
  .coach-story-heading { grid-template-columns: 1fr; gap: 25px; }
  .coach-panel { grid-template-columns: 1fr; }
  .coach-image-frame { min-height: 590px; }
  .coach-stats { grid-template-columns: 1fr 1fr; }
  .coach-stats article:nth-child(2) { border-right: 0; }
  .coach-stats article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.08); }
  .lux-builds { grid-template-columns: repeat(2, 1fr); }
  .lux-day-list article { grid-template-columns: 70px 52px 1fr; }
  .lux-day-list ul { grid-column: 3; }
  .lux-vault, .lux-portal, .lux-trainer, .lux-certificate { grid-template-columns: 1fr; }
  .lux-live, .lux-telegram { grid-template-columns: 1fr; }
  .lux-live-image { min-height: 760px; }
  .lux-telegram-image { height: 660px; }
  .lux-vault-art { min-height: 420px; }
  .lux-dashboard-demo { transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }
  .lux-footer { grid-template-columns: 1.3fr 1fr 1fr; }
  .lux-footer > div:last-of-type { grid-column: 2 / -1; }
}
@media (max-width: 680px) {
  .lux-header { height: 76px; }
  .lux-login { padding: 10px 12px; font-size: 10px; }
  .lux-login span { display: none; }
  .academy-brand img { width: 35px; height: 32px; }
  .academy-brand strong { font-size: 14px; }
  .lux-hero { min-height: auto; }
  .lux-hero-copy { padding: 65px 0 10px; }
  .lux-hero h1 { font-size: 56px; }
  .lux-lede { font-size: 15px; }
  .lux-actions { align-items: stretch; flex-direction: column; }
  .lux-primary, .lux-secondary { width: 100%; }
  .lux-hero-art { min-height: 430px; }
  .lux-product { width: 112%; max-width: none; }
  .lux-halo { width: 360px; }
  .float-one { left: 0; top: 20%; }
  .float-two { right: 0; bottom: 15%; }
  .lux-trust { grid-template-columns: 1fr 1fr; }
  .lux-trust div { padding: 25px 18px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .lux-trust strong { font-size: 24px; }
  .lux-intro, .lux-skills, .lux-journey, .lux-audience, .lux-faq, .lux-trainer { width: calc(100% - 40px); padding: 90px 0; }
  .lux-video-message { width: calc(100% - 24px); margin-bottom: 95px; gap: 30px; }
  .lux-video-copy { padding: 0 8px; }
  .lux-video-copy h2 { font-size: 42px; }
  .lux-video-shell { border-radius: 18px; transform: none; }
  .lux-video-bar { height: 48px; grid-template-columns: 1fr auto; }
  .lux-video-bar > span { display: none; }
  .lux-video-footer { align-items: flex-start; flex-direction: column; gap: 6px; padding: 12px 14px; }
  .coach-story { width: calc(100% - 24px); padding: 10px 0 95px; }
  .coach-story-heading { width: calc(100% - 16px); margin-bottom: 30px; }
  .coach-browser { border-radius: 20px; transform: none; }
  .coach-browser-bar { grid-template-columns: 1fr auto; height: 52px; }
  .coach-browser-bar > span { display: none; }
  .coach-tabs { grid-template-columns: 1fr 1fr; }
  .coach-tabs button { min-height: 58px; border-bottom: 1px solid rgba(255,255,255,.07); font-size: 10px; }
  .coach-tabs button:nth-child(2) { border-right: 0; }
  .coach-panel { min-height: auto; padding: 15px; }
  .coach-image-frame { min-height: 420px; border-radius: 15px; }
  .coach-panel-copy { padding: 22px 6px 12px; }
  .coach-panel-copy h3 { font-size: 37px; }
  .coach-panel-copy > p { font-size: 13px; }
  .coach-stats article { min-height: 96px; padding: 17px; }
  .coach-stats strong { font-size: 16px; }
  .coach-stats span { font-size: 7px; }
  .lux-builds { grid-template-columns: 1fr 1fr; }
  .lux-builds span { min-height: 92px; }
  .lux-section-head { margin-bottom: 38px; }
  .lux-day-list article { grid-template-columns: 48px 1fr; gap: 16px; }
  .lux-day-icon { width: 44px; height: 44px; }
  .lux-day-copy { grid-column: 2; }
  .lux-day-list ul { grid-column: 2; columns: 1; }
  .lux-vault, .lux-portal, .lux-certificate { padding: 85px 20px; }
  .lux-live { width: calc(100% - 40px); margin-bottom: 90px; gap: 45px; }
  .lux-live-image, .lux-live-image img { min-height: 520px; }
  .lux-live-steps article { grid-template-columns: 38px 1fr; }
  .lux-live-steps article p { grid-column: 2; }
  .lux-vault-art { min-height: 330px; }
  .vault-cube { width: 150px; border-radius: 30px; }
  .vault-ring { width: 280px; }
  .ring-two { width: 350px; }
  .lux-bonus-grid { grid-template-columns: 1fr; }
  .lux-portal-copy ul { columns: 1; }
  .lux-trainer-mark { min-height: 300px; }
  .lux-certificate-card { transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }
  .lux-telegram { width: calc(100% - 24px); min-height: auto; margin: 90px auto; padding: 18px; border-radius: 22px; gap: 38px; }
  .lux-telegram-image { height: 470px; border-radius: 16px; }
  .lux-telegram-copy { padding: 0 4px 20px; }
  .telegram-plane { font-size: 100px; }
  .lux-footer { grid-template-columns: 1fr 1fr; padding-inline: 20px; }
  .lux-footer > div:first-child { grid-column: 1 / -1; }
  .lux-footer > div:last-of-type { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .lux-product, .lux-float-card, .lux-halo, .vault-cube, .vault-ring, .lux-pill i, .coach-panel, .coach-image-frame img, .telegram-plane { animation: none !important; }
  .lux-primary, .lux-day-list article, .motion-ready [data-reveal="true"], [data-tilt] { transition: none !important; }
  .motion-ready [data-reveal="true"] { opacity: 1; transform: none; filter: none; }
}

/* Lead capture, honest enrollment reminder and protected student access. */
.lux-whatsapp-updates .telegram-plane { color: #9d55ff; text-shadow: 0 0 45px rgba(157,85,255,.5); }
.official-number-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; max-width: 590px; margin: 22px 0 4px; }
.official-number-list span { display: grid; gap: 5px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.11); border-radius: 14px; background: rgba(255,255,255,.045); }
.official-number-list small { color: #8d8794; font-size: 8px; letter-spacing: .15em; }
.official-number-list strong { color: #fff; font-size: 14px; letter-spacing: .02em; }
.lux-whatsapp-updates button.lux-primary { border: 0; font: inherit; cursor: pointer; }
body.saba-popup-open { overflow: hidden; }
.saba-popup[hidden], .saba-lead-success[hidden], .saba-lead-form-view[hidden] { display: none !important; }
.saba-popup { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 24px; opacity: 0; transition: opacity .22s ease; }
.saba-popup.is-open { opacity: 1; }
.saba-popup-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(4,3,8,.78); backdrop-filter: blur(14px); cursor: default; }
.saba-popup-card { position: relative; z-index: 2; width: min(100%, 610px); max-height: calc(100vh - 34px); overflow: auto; padding: 36px; border: 1px solid rgba(126,61,224,.23); border-radius: 28px; background: radial-gradient(circle at 100% 0%, rgba(139,65,255,.13), transparent 35%), #fff; color: #111016; box-shadow: 0 35px 100px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.35) inset; transform: translateY(16px) scale(.98); transition: transform .24s cubic-bezier(.2,.8,.2,1); }
.saba-popup.is-open .saba-popup-card { transform: translateY(0) scale(1); }
.saba-popup-close { position: absolute; z-index: 5; top: 16px; right: 16px; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #e6e2ea; border-radius: 50%; background: #f8f6fa; color: #4a4550; font-size: 24px; line-height: 1; cursor: pointer; }
.saba-popup-brand { margin: -4px 50px 24px 0; }
.saba-popup-brand .academy-brand { color: #111016; }
.saba-popup-brand .academy-brand small { color: #77717d; }
.saba-popup-kicker { margin: 0 0 11px; color: #8a35e9; font-size: 9px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.saba-popup-card h2 { max-width: 530px; margin: 0 0 15px; color: #111016; font-size: clamp(29px, 4vw, 45px); line-height: 1.02; letter-spacing: -.045em; }
.saba-popup-card > p, .saba-lead-form-view > p:not(.saba-popup-kicker), .saba-lead-success > p:not(.saba-popup-kicker) { margin: 0 0 20px; color: #605a65; font-size: 14px; line-height: 1.65; }
.saba-popup-card > small, .saba-lead-form-view > small, .saba-lead-success > small { display: block; margin-top: 13px; color: #8b858f; font-size: 10px; line-height: 1.55; }
.saba-lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.saba-field { display: grid; gap: 6px; }
.saba-field:first-child, .saba-field:nth-child(4), .saba-consent, .saba-submit, .saba-form-status { grid-column: 1 / -1; }
.saba-field label { color: #39343d; font-size: 10px; font-weight: 750; letter-spacing: .04em; }
.saba-field input { width: 100%; min-height: 49px; padding: 0 14px; border: 1px solid #dcd6e1; border-radius: 12px; outline: 0; background: #fbfafc; color: #141117; font: inherit; font-size: 14px; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.saba-field input:focus { border-color: #9142ef; background: #fff; box-shadow: 0 0 0 4px rgba(145,66,239,.1); }
.saba-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.saba-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 2px; color: #6b6570; font-size: 10px; line-height: 1.5; }
.saba-consent input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 1px; accent-color: #8d38eb; }
.saba-consent a { color: #7623d8; text-decoration: underline; }
.saba-submit, .saba-contact-button, .saba-community-button, .saba-payment-button { display: flex; min-height: 53px; align-items: center; justify-content: center; gap: 12px; padding: 13px 18px; border: 0; border-radius: 14px; background: linear-gradient(135deg,#6d20d4,#a653ff); color: #fff !important; box-shadow: 0 15px 35px rgba(113,30,208,.23); font: inherit; font-size: 13px; font-weight: 760; text-align: center; text-decoration: none !important; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.saba-submit:hover, .saba-community-button:hover, .saba-payment-button:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(113,30,208,.32); }
.saba-submit:disabled { opacity: .6; cursor: wait; }
.saba-form-status { min-height: 16px; margin: -3px 0 0; color: #5f5865; font-size: 10px; }
.saba-form-status.is-error { color: #b42318; }
.saba-success-icon { display: grid; width: 55px; height: 55px; place-items: center; margin-bottom: 20px; border-radius: 50%; background: linear-gradient(135deg,#6f1fd5,#aa59ff); color: #fff; box-shadow: 0 14px 32px rgba(112,34,208,.25); font-size: 24px; }
.saba-number-box { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 20px 0 13px; }
.saba-number-box span { display: grid; gap: 5px; padding: 14px; border: 1px solid #e3ddea; border-radius: 13px; background: #f9f7fb; }
.saba-number-box small { color: #8a828f; font-size: 8px; letter-spacing: .14em; }
.saba-number-box strong { color: #1b1720; font-size: 13px; }
.saba-contact-button { margin-bottom: 10px; border: 1px solid #dcd3e7; background: #fff; color: #6e22ce !important; box-shadow: none; }
.saba-enrollment-card { width: min(100%, 680px); background: radial-gradient(circle at 88% 8%, rgba(139,65,255,.25), transparent 32%), #0c0a0f; color: #fff; }
.saba-enrollment-card h2 { color: #fff; }
.saba-enrollment-card > p { color: #b4adb9; }
.saba-enrollment-card ul { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 20px; margin: 20px 0; padding: 0; list-style: none; }
.saba-enrollment-card li { position: relative; padding-left: 22px; color: #e4dfe8; font-size: 12px; }
.saba-enrollment-card li::before { content: '✓'; position: absolute; left: 0; color: #ad5cff; font-weight: 800; }
.saba-enrollment-price { display: flex; align-items: flex-end; gap: 15px; padding: 17px 0; border-top: 1px solid rgba(255,255,255,.09); }
.saba-enrollment-price span { display: grid; gap: 4px; }
.saba-enrollment-price small { color: #b46cff; font-size: 8px; letter-spacing: .16em; }
.saba-enrollment-price strong { color: #fff; font-size: 41px; letter-spacing: -.045em; }
.saba-enrollment-price del { padding-bottom: 7px; color: #77717c; font-size: 17px; }
.saba-honest-urgency { margin: 0 0 17px; padding: 14px 16px; border: 1px solid rgba(173,91,255,.22); border-radius: 13px; background: rgba(142,58,233,.1); color: #bcb5c2; font-size: 11px; line-height: 1.55; }
.saba-honest-urgency strong { color: #d7b4ff; }
.saba-not-now { display: block; margin: 15px auto 0; border: 0; border-bottom: 1px solid #756f78; background: none; color: #a49da8; font: inherit; font-size: 11px; cursor: pointer; }
.saba-enrollment-card > small { color: #6f6973; text-align: center; }
.saba-student-access-card { width: min(900px, calc(100% - 32px)); margin: 70px auto; padding: clamp(28px,5vw,64px); border: 1px solid rgba(151,75,245,.2); border-radius: 28px; background: radial-gradient(circle at 100% 0%,rgba(144,69,241,.2),transparent 38%),#0b090d; color: #fff; box-shadow: 0 25px 80px rgba(0,0,0,.26); }
.saba-student-access-card h2 { margin: 12px 0 16px; color: #fff; font-size: clamp(34px,5vw,58px); line-height: 1; letter-spacing: -.05em; }
.saba-student-access-card > p:not(.lux-kicker) { max-width: 720px; color: #aaa3ae; line-height: 1.7; }
.saba-student-access-card .lux-primary { display: inline-flex; margin-top: 20px; }
.saba-student-access-card > small { display: block; margin-top: 16px; color: #7d7581; }
.saba-student-meta { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 4px; }
.saba-student-meta span { display: grid; min-width: 170px; gap: 5px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.04); }
.saba-student-meta small { color: #8d8592; font-size: 8px; letter-spacing: .15em; }
.saba-student-meta strong { color: #fff; font-size: 13px; }

@media (max-width: 680px) {
  .official-number-list, .saba-number-box, .saba-lead-form, .saba-enrollment-card ul { grid-template-columns: 1fr; }
  .saba-field, .saba-field:first-child, .saba-field:nth-child(4), .saba-consent, .saba-submit, .saba-form-status { grid-column: 1; }
  .saba-popup { align-items: end; padding: 8px; }
  .saba-popup-card { width: 100%; max-height: calc(100vh - 12px); padding: 27px 19px 22px; border-radius: 23px; }
  .saba-popup-close { top: 11px; right: 11px; }
  .saba-popup-brand { margin-bottom: 18px; }
  .saba-popup-card h2 { font-size: 31px; }
  .saba-enrollment-price strong { font-size: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  .saba-popup, .saba-popup-card, .saba-submit, .saba-community-button, .saba-payment-button { transition: none !important; }
}

/* Version 1.2: protected academy, student progress and verified certificates */
.saba-lms-shell,
.saba-lms-login,
.saba-payment-success,
.saba-certificate-verify {
  min-height: 100vh;
  color: #f8f5fb;
  background:
    radial-gradient(circle at 8% 5%, rgba(130, 46, 229, .2), transparent 25%),
    radial-gradient(circle at 94% 28%, rgba(98, 32, 190, .15), transparent 23%),
    #08070a;
}
.saba-lms-shell { padding: 24px clamp(16px, 4vw, 64px) 90px; }
.saba-lms-header,
.saba-certificate-verify > header {
  width: min(1240px, 100%);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(13, 11, 16, .78);
  box-shadow: 0 18px 60px rgba(0,0,0,.3);
  backdrop-filter: blur(18px);
}
.saba-lms-header .academy-brand,
.saba-certificate-verify .academy-brand { color: #fff; }
.saba-lms-header > div { display: flex; align-items: center; gap: 10px; }
.saba-lms-header > div a,
.saba-certificate-verify > header > a {
  padding: 10px 13px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  color: #d4ced9;
  font-size: 12px;
  font-weight: 700;
}
.saba-lms-welcome {
  width: min(1240px, 100%);
  margin: 48px auto 20px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  padding: clamp(26px, 4vw, 48px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.016));
  box-shadow: inset 0 1px rgba(255,255,255,.04), 0 26px 80px rgba(0,0,0,.22);
}
.saba-lms-welcome h1 { margin: 10px 0 9px; font-size: clamp(38px, 6vw, 72px); line-height: .95; letter-spacing: -.055em; }
.saba-lms-welcome p:not(.lux-kicker) { margin: 0; color: #aaa3af; }
.saba-lms-account { display: flex; flex-wrap: wrap; gap: 10px; }
.saba-lms-account span {
  min-width: 155px;
  display: grid;
  gap: 7px;
  padding: 15px 17px;
  border: 1px solid rgba(178,100,255,.18);
  border-radius: 14px;
  background: rgba(126,45,218,.08);
}
.saba-lms-account small { color: #a65bf3; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.saba-lms-account strong { font-size: 13px; }
.saba-lms-notice { width: min(1240px,100%); margin: 14px auto; padding: 14px 17px; border: 1px solid rgba(87,220,154,.25); border-radius: 12px; background: rgba(38,150,100,.12); color: #bcf2d5; }
.saba-lms-notice.error { border-color: rgba(255,94,120,.27); background: rgba(188,35,65,.13); color: #ffc2cd; }
.saba-lms-progress {
  width: min(1240px,100%);
  margin: 20px auto 32px;
  padding: 21px 24px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: #0e0c11;
}
.saba-lms-progress > div:first-child { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 12px; font-weight: 700; }
.saba-lms-progress > div:first-child strong { color: #b267ff; }
.saba-lms-progress-bar { height: 8px; overflow: hidden; border-radius: 99px; background: #242027; }
.saba-lms-progress-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#7926dc,#c16dff); box-shadow: 0 0 20px rgba(173,79,255,.6); }
.saba-lms-progress small { display: block; margin-top: 10px; color: #77717d; }
.saba-lms-modules { width: min(1240px,100%); margin: 0 auto; display: grid; gap: 18px; }
.saba-lms-module {
  position: relative;
  padding: clamp(22px, 3vw, 36px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  background: linear-gradient(145deg, #111015, #0c0a0e);
  box-shadow: 0 22px 65px rgba(0,0,0,.2);
}
.saba-lms-module::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(#6d21d4,#c874ff); opacity: .65; }
.saba-lms-module.completed { border-color: rgba(159,74,247,.34); }
.saba-lms-module-head { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 18px; }
.saba-lms-day { display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid rgba(174,92,255,.24); border-radius: 16px; background: rgba(130,43,222,.1); }
.saba-lms-day small { color: #8f829c; font-size: 7px; letter-spacing: .16em; }
.saba-lms-day strong { color: #c07cff; font-size: 22px; }
.saba-lms-module-head p { margin: 0 0 5px; color: #a65af1; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.saba-lms-module-head h2 { margin: 0; color: #fff; font-size: clamp(22px,3vw,34px); letter-spacing: -.035em; }
.saba-lms-status { padding: 8px 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 99px; color: #8f8994; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.saba-lms-module.completed .saba-lms-status { border-color: rgba(72,227,153,.2); background: rgba(48,175,115,.1); color: #8ce6b9; }
.saba-lms-summary { margin: 22px 0; color: #a59eaa; line-height: 1.7; }
.saba-lms-schedule { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-bottom: 18px; padding: 13px 15px; border: 1px solid rgba(171,91,253,.18); border-radius: 12px; background: rgba(127,44,217,.075); }
.saba-lms-schedule small { color: #9f55ed; font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.saba-lms-schedule strong { font-size: 12px; }
.saba-lms-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 18px; }
.saba-lms-actions a,
.saba-lms-actions > span,
.saba-lms-link { padding: 10px 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.035); color: #d6d0da; font-size: 11px; font-weight: 700; }
.saba-lms-actions > span { color: #706a73; }
.saba-lms-video { position: relative; aspect-ratio: 16/9; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: #020203; }
.saba-lms-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.saba-lms-recording-pending { display: grid; place-items: center; min-height: 115px; border: 1px dashed rgba(255,255,255,.13); border-radius: 16px; color: #716b75; font-size: 12px; }
.saba-lms-module-footer { margin-top: 22px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 15px; align-items: end; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); }
.saba-lms-module-footer button,
.saba-lms-final-project button { min-height: 42px; padding: 11px 16px; border: 0; border-radius: 10px; background: linear-gradient(135deg,#7d25dd,#ad55f4); color: #fff; font-weight: 800; cursor: pointer; }
.saba-lms-module-footer button:disabled { background: #262229; color: #89828e; cursor: default; }
.saba-homework-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; align-items: end; }
.saba-homework-form label { display: grid; gap: 7px; color: #d5cfd9; font-size: 11px; font-weight: 700; }
.saba-homework-form label small { color: #a259ec; font-weight: 600; }
.saba-homework-form input,
.saba-lms-final-project input { width: 100%; padding: 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; background: #161319; color: #bdb6c1; font-size: 11px; }
.saba-lms-final-project,
.saba-lms-certificate-status,
.saba-lms-private-community {
  width: min(1240px,100%);
  margin: 24px auto 0;
  padding: clamp(24px,4vw,44px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 25px;
  background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.saba-lms-final-project { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.saba-lms-final-project h2,
.saba-lms-certificate-status h2,
.saba-lms-private-community h2 { margin: 10px 0; color: #fff; font-size: clamp(26px,4vw,42px); letter-spacing: -.04em; }
.saba-lms-final-project p:not(.lux-kicker),
.saba-lms-certificate-status p:not(.lux-kicker),
.saba-lms-private-community > div > p:not(.lux-kicker) { color: #9c95a1; line-height: 1.65; }
.saba-lms-final-project form { display: grid; gap: 12px; }
.saba-lms-final-project label { display: grid; gap: 9px; color: #c7c0cb; font-size: 12px; font-weight: 700; }
.saba-lms-certificate-status { border-color: rgba(207,168,70,.22); background: radial-gradient(circle at 95% 12%,rgba(206,165,63,.14),transparent 28%),#100d12; }
.saba-lms-certificate-status ul { display: grid; gap: 10px; margin: 22px 0; padding: 0; list-style: none; }
.saba-lms-certificate-status li { display: flex; align-items: center; gap: 12px; color: #a49ca8; }
.saba-lms-certificate-status li span { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; font-size: 9px; font-weight: 800; }
.saba-lms-certificate-status li.ready { color: #f0d891; }
.saba-lms-certificate-status li.ready span { border-color: rgba(220,180,78,.38); background: rgba(220,180,78,.12); }
.saba-lms-certificate-status > small { color: #837986; }
.saba-lms-certificate-status .lux-primary { display: inline-flex; margin-top: 6px; }
.saba-lms-private-community { overflow: hidden; }
.saba-lms-private-community > .saba-student-access-card { width: 100%; margin: 22px 0 0; padding: 24px; box-shadow: none; }
.saba-lms-private-community > .saba-student-access-card h2,
.saba-lms-private-community > .saba-student-access-card > p:not(.lux-kicker) { display: none; }

.saba-lms-login,
.saba-payment-success { display: grid; place-items: center; padding: 24px; }
.saba-lms-login > div,
.saba-payment-success > div,
.saba-certificate-search { width: min(760px,100%); padding: clamp(30px,6vw,68px); border: 1px solid rgba(255,255,255,.12); border-radius: 30px; background: radial-gradient(circle at 90% 5%,rgba(139,56,239,.18),transparent 30%),#0d0b10; box-shadow: 0 30px 100px rgba(0,0,0,.4); }
.saba-lms-login .academy-brand,
.saba-payment-success .academy-brand { color: #fff; }
.saba-lms-login h1,
.saba-payment-success h1,
.saba-certificate-search h1 { margin: 26px 0 16px; color: #fff; font-size: clamp(38px,7vw,72px); line-height: .98; letter-spacing: -.055em; }
.saba-lms-login p:not(.lux-kicker),
.saba-payment-success p,
.saba-certificate-search p { color: #a8a1ad; line-height: 1.75; }
.saba-lms-login .lux-primary,
.saba-payment-success .lux-primary { display: inline-flex; margin-top: 18px; }
.saba-success-icon { display: grid; place-items: center; width: 76px; height: 76px; margin: 38px 0 12px; border: 1px solid rgba(115,235,178,.25); border-radius: 50%; background: rgba(49,174,113,.1); color: #71e0aa; font-size: 35px; }
.saba-payment-success > div > div:not(.academy-brand) { display: grid; gap: 8px; padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; color: #a49da8; }
.saba-payment-success > div > div strong { color: #fff; }
.saba-support-link { display: inline-block; margin: 18px; color: #bf7cff; font-size: 12px; font-weight: 700; }

.saba-certificate-verify { padding: 24px clamp(16px,4vw,54px) 80px; }
.saba-certificate-search { margin: 60px auto; }
.saba-certificate-search form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; margin-top: 28px; }
.saba-certificate-search label { display: grid; gap: 8px; color: #dad3de; font-size: 11px; font-weight: 700; }
.saba-certificate-search input { min-height: 50px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 11px; background: #17141a; color: #fff; }
.saba-certificate-search.invalid { border-color: rgba(255,84,112,.25); }
.saba-certificate-result { width: min(1320px,100%); margin: 42px auto 0; text-align: center; }
.saba-verified-badge { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; padding: 10px 15px; border: 1px solid rgba(86,226,156,.25); border-radius: 99px; background: rgba(47,167,109,.1); text-align: left; }
.saba-verified-badge > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: #56d79a; color: #07110b; font-weight: 900; }
.saba-verified-badge div { display: grid; gap: 3px; }
.saba-verified-badge small { color: #76dbaa; font-size: 7px; font-weight: 900; letter-spacing: .15em; }
.saba-verified-badge strong { font-size: 11px; }
.saba-certificate-document { position: relative; width: 100%; overflow: hidden; border-radius: 9px; background: #fff; box-shadow: 0 35px 100px rgba(0,0,0,.45); }
.saba-certificate-document > img { display: block; width: 100%; height: auto; }
.saba-certificate-name { position: absolute; z-index: 2; left: 18%; right: 18%; top: 46.5%; height: 10%; display: grid; place-items: center; background: #fff; color: #a97025; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(16px,3.3vw,52px); font-style: italic; line-height: 1; }
.saba-certificate-date { position: absolute; z-index: 2; left: 16.9%; top: 78.8%; width: 19%; height: 6%; display: grid; place-items: center; background: #fff; color: #4a287d; font-size: clamp(7px,1.25vw,19px); font-weight: 800; }
.saba-certificate-code { position: absolute; z-index: 2; left: 38%; right: 38%; bottom: 8.4%; display: grid; gap: 3px; padding: .55% 1%; border: 1px solid rgba(169,112,37,.42); border-radius: 99px; background: rgba(255,255,255,.96); color: #4a287d; font-size: clamp(5px,.68vw,11px); line-height: 1.1; text-align: center; }
.saba-certificate-code span { color: #a56e24; font-weight: 700; }
.saba-certificate-code strong { white-space: nowrap; }
.saba-certificate-details { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 22px 0; text-align: left; }
.saba-certificate-details span { display: grid; gap: 7px; padding: 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.035); }
.saba-certificate-details small { color: #a25aeb; font-size: 7px; font-weight: 900; letter-spacing: .13em; }
.saba-certificate-details strong { overflow-wrap: anywhere; font-size: 11px; }
.saba-print-certificate { display: inline-flex; border: 0; cursor: pointer; }

@media (max-width: 760px) {
  .saba-lms-header { align-items: flex-start; }
  .saba-lms-header > div { flex-direction: column; align-items: stretch; }
  .saba-lms-welcome { align-items: stretch; flex-direction: column; }
  .saba-lms-account span { flex: 1; }
  .saba-lms-module-head { grid-template-columns: 54px minmax(0,1fr); }
  .saba-lms-day { width: 50px; height: 50px; }
  .saba-lms-status { grid-column: 2; justify-self: start; }
  .saba-lms-module-footer,
  .saba-lms-final-project { grid-template-columns: 1fr; }
  .saba-homework-form { grid-template-columns: 1fr; }
  .saba-certificate-search form { grid-template-columns: 1fr; }
  .saba-certificate-details { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .saba-lms-shell { padding-inline: 10px; }
  .saba-lms-header .academy-brand span,
  .saba-certificate-verify > header .academy-brand span { display: none; }
  .saba-lms-module { padding: 19px 16px; }
  .saba-lms-module-head h2 { font-size: 21px; }
  .saba-certificate-details { grid-template-columns: 1fr; }
  .saba-certificate-code { left: 34%; right: 34%; }
}

@media print {
  body.saba-ai-landing-page { background: #fff !important; }
  #wpadminbar,
  .saba-certificate-verify > header,
  .saba-verified-badge,
  .saba-certificate-details,
  .saba-print-certificate { display: none !important; }
  .saba-certificate-verify,
  .saba-certificate-result { min-height: 0; width: 100%; margin: 0; padding: 0; background: #fff !important; }
  .saba-certificate-document { width: 100%; border-radius: 0; box-shadow: none; page-break-inside: avoid; }
  @page { size: landscape; margin: 0; }
}
