@font-face {
  font-family: Inter;
  src: url("assets/inter-400.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url("assets/inter-500.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url("assets/inter-600.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url("assets/inter-700.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url("assets/inter-800.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --bg: #05080d;
  --surface: #0b1018;
  --raised: #111b28;
  --text: #f4f7fb;
  --muted: #a4b0c1;
  --blue: #55b3ff;
  --line: #263449;
  --max: 1120px;
  font-family: Inter, Arial, sans-serif;
  font-synthesis: none;
  scroll-behavior: smooth;
  scroll-padding-top: 104px;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-size: 16px;
  line-height: 1.6;
  overflow-x: clip;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input {
  font: inherit;
}
button {
  color: inherit;
  cursor: pointer;
}
button,
a,
summary {
  -webkit-tap-highlight-color: transparent;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #8accff;
  outline-offset: 5px;
}
img {
  max-width: 100%;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1,
h2,
h3 {
  line-height: 1.12;
  letter-spacing: -0.04em;
}
h1 {
  font-size: clamp(40px, 4.25vw, 60px);
  font-weight: 800;
  margin-bottom: 26px;
}
h2 {
  font-size: clamp(32px, 3.5vw, 46px);
  font-weight: 750;
  margin-bottom: 22px;
}
h3 {
  font-size: 21px;
  font-weight: 650;
}
h1 span,
h2 span {
  color: var(--blue);
}
p {
  color: var(--muted);
}
.container {
  width: min(var(--max), calc(100% - 64px));
  margin-inline: auto;
}
.section {
  padding: 112px 0;
  position: relative;
}
.section-head {
  max-width: 760px;
  margin: 0 auto 52px;
  text-align: center;
}
.section-head > p:last-child {
  max-width: 620px;
  margin: 0 auto;
}
.eyebrow {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.6;
  color: #70bdff;
  margin-bottom: 24px;
}
.section-head .eyebrow {
  margin-bottom: 20px;
}
.pill-label {
  display: table;
  margin-inline: auto;
  border: 1px solid #254266;
  border-radius: 99px;
  padding: 6px 16px;
  background: #0c1522;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 48px;
  padding: 13px 22px;
  border: 1px solid #335074;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  transition:
    transform 0.22s,
    background 0.22s,
    box-shadow 0.22s;
}
.button-primary {
  background: linear-gradient(110deg, #128deb, #4ab7ff);
  color: #001426;
  border-color: #389fe9;
  box-shadow: 0 4px 24px #0788f21a;
}
.button-primary:hover {
  background: linear-gradient(110deg, #43aaff, #81d0ff);
  transform: translateY(-2px);
  box-shadow: 0 6px 32px #0788f235;
}
.button span {
  font-size: 20px;
  line-height: 1;
}
.text-link {
  display: inline-flex;
  gap: 14px;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
  font-weight: 600;
}
.text-link:hover {
  color: var(--blue);
}
.skip-link {
  position: fixed;
  top: 10px;
  left: 20px;
  background: #fff;
  color: #000;
  padding: 12px;
  z-index: 200;
  transform: translateY(-150%);
}
.skip-link:focus {
  transform: none;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #05080de8;
  backdrop-filter: blur(18px);
  border-bottom: 1px solid #1d293a;
}
.nav-wrap {
  width: min(1240px, calc(100% - 64px));
  height: 82px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 28px;
}
.brand {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.2;
  white-space: nowrap;
}
.brand img {
  object-fit: contain;
}
.brand small {
  display: block;
  font-size: 14px;
  letter-spacing: 0.17em;
  font-weight: 600;
  color: #a4b0c1;
  margin-top: 5px;
}
.desktop-nav {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-left: auto;
  font-size: 14px;
  font-weight: 500;
}
.desktop-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #b6c1cf;
}
.desktop-nav a:hover {
  color: #fff;
}
.nav-cta {
  font-size: 14px;
  min-height: 44px;
  background: #152841;
  border-color: #335e8b;
  color: #a5d8ff;
  padding: 9px 16px;
  margin-left: 8px;
}
.menu-button {
  display: none;
  background: none;
  border: 1px solid var(--line);
  width: 44px;
  height: 44px;
  border-radius: 8px;
  padding: 10px;
}
.menu-button span {
  display: block;
  height: 2px;
  width: 20px;
  margin: 5px 0;
  background: #fff;
  transition: transform 0.2s;
}
.menu-button[aria-expanded="true"] span:first-child {
  transform: translateY(3.5px) rotate(45deg);
}
.menu-button[aria-expanded="true"] span:last-child {
  transform: translateY(-3.5px) rotate(-45deg);
}
.mobile-nav {
  padding: 12px 24px 24px;
  border-top: 1px solid var(--line);
}
.mobile-nav a {
  display: block;
  padding: 12px;
  font-size: 16px;
}
.mobile-nav a:hover {
  background: var(--raised);
}
[hidden] {
  display: none !important;
}
.hero {
  overflow: hidden;
  padding: 86px 0 88px;
}
.hero-glow {
  position: absolute;
  inset: -350px -260px auto auto;
  width: 1000px;
  height: 900px;
  background: radial-gradient(ellipse, #154e832b, transparent 68%);
  pointer-events: none;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  gap: 64px;
  align-items: center;
}
.hero-copy {
  position: relative;
}
.hero-copy .eyebrow {
  font-size: 14px;
  letter-spacing: 0.06em;
  display: flex;
  gap: 10px;
  align-items: center;
}
.status-dot {
  width: 6px;
  height: 6px;
  flex: none;
  background: #66baff;
  border-radius: 50%;
  box-shadow: 0 0 0 4px #16324d;
}
.hero-lead {
  font-size: 17px;
  line-height: 1.75;
  max-width: 530px;
  margin-bottom: 30px;
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.hero-facts {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  color: #b8c3d2;
  font-size: 14px;
  margin-top: 26px;
}
.hero-facts span:before {
  content: "✓";
  color: #67baff;
  margin-right: 7px;
}
.path-card {
  position: relative;
  padding: 28px;
  border: 1px solid #27405c;
  border-radius: 12px;
  background: linear-gradient(145deg, #101d2c, #0b111a 60%, #0d243b);
  box-shadow: 0 10px 80px #006bc113;
  animation: card-in 0.8s ease both;
}
.path-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
}
.mini-label {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #b4c3d6;
}
.path-pill {
  font-size: 14px;
  white-space: nowrap;
  color: #8accff;
  border: 1px solid #335776;
  border-radius: 99px;
  padding: 4px 8px;
}
.path-card h2 {
  font-size: 32px;
  line-height: 1.12;
  margin: 0 0 24px;
}
.path-list {
  border-top: 1px solid #26374b;
}
.path-row {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px 0;
  border-bottom: 1px solid #26374b;
}
.path-row > span {
  width: 28px;
  font-size: 14px;
  font-weight: 700;
  color: #68b9ff;
}
.path-row > div {
  flex: 1;
}
.path-row b {
  display: block;
  font-size: 14px;
  letter-spacing: -0.01em;
  font-weight: 600;
  line-height: 1.5;
}
.path-row small {
  color: #a3b3c8;
  font-size: 14px;
  display: block;
  margin-top: 1px;
}
.path-row i {
  color: #5fa9e6;
  font-style: normal;
}
.path-footer {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
}
.path-footer p {
  font-size: 14px;
  line-height: 1.7;
  margin: 0;
  color: #a4b7cd;
}
.path-footer b {
  font-size: 14px;
  color: #e3efff;
}
.path-plus {
  font-size: 25px;
  font-weight: 400;
  background: #112f4b;
  border: 1px solid #295477;
  width: 36px;
  height: 36px;
  text-align: center;
  line-height: 32px;
  border-radius: 8px;
  color: #90cdff;
  flex: none;
}
.stat-strip {
  border-block: 1px solid #1c2939;
  background: #0a1018;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding-block: 28px;
}
.stats > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 28px;
  border-left: 1px solid var(--line);
}
.stats > div:first-child {
  border: 0;
  padding-left: 0;
}
.stats strong {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.2;
}
.stats span {
  font-size: 14px;
  color: var(--muted);
}
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.benefit {
  padding: 28px 26px;
  border: 1px solid #253247;
  border-radius: 10px;
  background: linear-gradient(135deg, #101722, #0a1018);
  transition:
    border 0.3s,
    transform 0.3s;
}
.benefit:hover {
  border-color: #416388;
  transform: translateY(-3px);
}
.benefit-no {
  display: inline-block;
  color: #6bbcff;
  font-size: 14px;
  letter-spacing: 0.1em;
  margin-bottom: 28px;
  border-bottom: 1px solid #366895;
  padding-bottom: 5px;
}
.benefit h3 {
  margin-bottom: 14px;
  letter-spacing: -0.025em;
  line-height: 1.25;
}
.benefit p {
  font-size: 14px;
  line-height: 1.8;
  margin: 0;
}
.included-strip {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  padding: 32px 12px;
  border-block: 1px solid #1c2a3a;
}
.included-strip > div {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: start;
  column-gap: 10px;
}
.included-strip b {
  font-size: 14px;
  font-weight: 600;
}
.included-strip p {
  grid-column: 2;
  margin: 8px 0 0;
  font-size: 14px;
}
.small-icon {
  font-size: 23px;
  line-height: 1.3;
  color: var(--blue);
}
.curriculum-section {
  background: #090e16;
  border-block: 1px solid #1b2839;
}
.curriculum-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.2fr;
  gap: 80px;
  align-items: start;
}
.curriculum-intro {
  position: sticky;
  top: 120px;
}
.curriculum-intro h2 {
  font-size: 40px;
  line-height: 1.12;
}
.curriculum-intro p {
  font-size: 15px;
}
.tabs {
  display: flex;
  padding: 5px;
  border: 1px solid #344761;
  background: #070c13;
  border-radius: 10px;
  margin: 30px 0 20px;
  width: max-content;
  gap: 6px;
}
.tabs button {
  background: none;
  border: 1px solid transparent;
  border-radius: 6px;
  min-height: 44px;
  padding: 10px 18px;
  color: #aebccd;
  font-size: 14px;
}
.tabs button[aria-selected="true"] {
  background: #14395a;
  border-color: #377eb4;
  color: #c8e9ff;
}
.tabs button span {
  font-size: 14px;
  display: inline-block;
  margin-left: 5px;
  color: #9dccf1;
}
.curriculum-note {
  margin-top: 32px;
  border-left: 2px solid #3c7faf;
  padding-left: 18px;
}
.curriculum-note b {
  font-size: 14px;
}
.curriculum-note p {
  font-size: 14px;
  margin: 8px 0 0;
}
.curriculum-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 20px;
}
.curriculum-meta b {
  font-size: 14px;
}
.curriculum-meta span {
  font-size: 14px;
  color: var(--muted);
}
.module {
  border: 1px solid #2b3a4e;
  background: #0c141f;
  border-radius: 8px;
  margin-bottom: 10px;
  overflow: clip;
}
.module summary {
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  padding: 19px 18px;
  list-style: none;
  min-height: 82px;
}
.module summary::-webkit-details-marker,
.faq-item summary::-webkit-details-marker {
  display: none;
}
.module-no {
  font-size: 14px;
  color: #6cbeff;
  align-self: flex-start;
  margin-top: 3px;
  flex: none;
}
.module-heading {
  flex: 1;
  min-width: 0;
}
.module-heading b {
  display: block;
  font-size: 14px;
  line-height: 1.45;
}
.module-heading small {
  display: block;
  font-size: 14px;
  color: #aab9cb;
  line-height: 1.6;
  margin-top: 4px;
}
.module-count {
  font-size: 14px;
  color: #acbfd3;
  white-space: nowrap;
  flex: none;
}
.plus {
  font-size: 22px;
  line-height: 1;
  color: #7bc6ff;
  transition: transform 0.2s;
  flex: none;
  font-weight: 300;
}
details[open] > summary > .plus {
  transform: rotate(45deg);
}
.module[open] {
  border-color: #3973a4;
}
.module-body {
  padding: 0 26px 22px 48px;
}
.module-body ol,
.module-body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.module-body li {
  font-size: 14px;
  padding: 7px 0;
  border-bottom: 1px solid #253244;
  color: #c2cfdf;
  line-height: 1.6;
}
.pro-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 25px 0 17px;
  color: #8bcaff;
  font-size: 14px;
  letter-spacing: 0.1em;
}
.pro-divider:after {
  content: "";
  height: 1px;
  background: #2c4b6b;
  flex: 1;
}
.written-module {
  margin-top: 20px;
}
.worksheet {
  display: flex;
  gap: 16px;
  padding: 23px 20px;
  border: 1px dashed #3d6489;
  border-radius: 8px;
  margin-top: 22px;
  background: #0e2132;
}
.worksheet > span {
  font-size: 28px;
  color: #91ceff;
  line-height: 1.2;
}
.worksheet b {
  font-size: 14px;
}
.worksheet p {
  font-size: 14px;
  margin: 6px 0 0;
  color: #b0c4d9;
  line-height: 1.7;
}
.snapshots-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  max-width: 900px;
  margin: auto;
}
.snapshot {
  min-width: 0;
  background: #0f1722;
  border: 1px solid #324d6f;
  border-radius: 10px;
  overflow: hidden;
  padding: 0;
  transition:
    transform 0.25s,
    border 0.25s;
  text-align: left;
}
.snapshot:hover {
  transform: translateY(-4px);
  border-color: #62b5f2;
}
.snapshot img {
  display: block;
  width: 100%;
  height: auto;
}
.snapshot > span {
  display: flex;
  justify-content: space-between;
  padding: 10px 14px;
  font-size: 14px;
  color: #c6d6e8;
}
.gallery-disclosure {
  max-width: 850px;
  margin: 28px auto 0;
  color: #aebbd0;
  font-size: 14px;
  line-height: 1.8;
  text-align: center;
}
.vault-section {
  padding-top: 36px;
}
.vault-section .section-head {
  margin-bottom: 28px;
}
.gallery-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto 16px;
}
.gallery-controls p {
  margin: 0;
  font-size: 14px;
}
.gallery-controls > div {
  display: flex;
  gap: 8px;
}
.arrow-button {
  width: 44px;
  height: 44px;
  border: 1px solid #3a4e68;
  background: #0f1a29;
  border-radius: 8px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  flex: none;
}
.arrow-button:hover {
  background: #1e3650;
}
.vault-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-color: #3a6b96 #111c2a;
  padding: 4px 0 16px;
  max-width: 1000px;
  margin: auto;
}
.vault-card {
  flex: 0 0 calc((100% - 40px) / 3);
  min-width: 0;
  border: 1px solid #31455f;
  border-radius: 12px;
  padding: 0;
  background: #0d1520;
  overflow: hidden;
  scroll-snap-align: start;
}
.vault-card img {
  display: block;
  width: 100%;
  height: 370px;
  object-fit: contain;
  background: #11161f;
  padding: 8px;
}
.vault-card > span {
  display: block;
  font-size: 14px;
  color: #c6d6e8;
  padding: 14px;
}
.pricing-section {
  overflow: hidden;
  background: #080e16;
  border-block: 1px solid #1e2c3e;
}
.pricing-glow {
  position: absolute;
  top: 200px;
  left: 50%;
  transform: translateX(-50%);
  width: 1200px;
  height: 950px;
  background: radial-gradient(ellipse, #0f78cf12, transparent 66%);
  pointer-events: none;
}
.pricing-section > .container {
  position: relative;
}
.pricing-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  max-width: 900px;
  margin: auto;
  align-items: stretch;
}
.price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 30px 30px 22px;
  border-radius: 18px;
  border: 1px solid #275271;
  background: linear-gradient(170deg, #0c121b 42%, #102338 78%, #163b58);
  box-shadow: 0 8px 44px #0278d015;
}
.price-pro {
  background: linear-gradient(170deg, #0c1420 40%, #102e49 80%, #1c527b);
  border-color: #3379a9;
  box-shadow: 0 8px 60px #0278d025;
}
.price-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  margin-bottom: 24px;
}
.plan-badge {
  font-size: 14px;
  letter-spacing: 0.12em;
  color: #a4d6ff;
  border: 1px solid #2e5679;
  border-radius: 99px;
  padding: 5px 9px;
  background: #102539;
}
.diamond {
  font-size: 26px;
  color: #57b6ff;
  line-height: 1;
}
.course-brand {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #91acc7;
  margin-bottom: 10px;
}
.price-card h3 {
  font-size: 40px;
  letter-spacing: -0.04em;
  margin: 0 0 12px;
}
.plan-intro {
  font-size: 14px;
  line-height: 1.7;
  min-height: 72px;
  margin-bottom: 25px;
  max-width: 340px;
}
.price {
  display: flex;
  align-items: baseline;
  gap: 2px;
  font-size: 62px;
  letter-spacing: -0.055em;
  line-height: 1.1;
  font-weight: 800;
  color: #62beff;
}
.currency {
  font-size: 32px;
  align-self: flex-start;
  margin-top: 10px;
  margin-right: 3px;
}
.price-unit {
  font-size: 14px;
  color: #b1c5da;
  letter-spacing: 0.05em;
  margin-left: 10px;
  font-weight: 600;
}
.payment-note {
  font-size: 14px;
  margin: 10px 0 26px;
  color: #bdcde0;
}
.card-rule {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  letter-spacing: 0.06em;
  color: #b7c7d9;
  margin: 0 0 24px;
}
.card-rule:before,
.card-rule:after {
  content: "";
  height: 1px;
  background: #2a4057;
  flex: 1;
}
.checks {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.checks li {
  position: relative;
  font-size: 14px;
  color: #e5eef7;
  padding: 0 0 0 22px;
  margin-bottom: 14px;
  line-height: 1.6;
}
.checks li:before {
  content: "✓";
  color: #65bfff;
  position: absolute;
  left: 0;
  font-size: 14px;
}
.plan-fit {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px;
  background: #08172677;
  border: 1px solid #36658b;
  border-radius: 8px;
  margin-top: auto;
  margin-bottom: 20px;
}
.plan-fit b {
  font-size: 14px;
  color: #d2eaff;
}
.plan-fit span {
  font-size: 14px;
  color: #b9cde0;
  line-height: 1.7;
}
.checkout {
  width: 100%;
  font-size: 15px;
  min-height: 52px;
}
.secure-note {
  font-size: 14px;
  text-align: center;
  margin: 12px 0 0;
  color: #b4c8dc;
}
.pricing-footnote {
  max-width: 800px;
  margin: 26px auto 0;
  text-align: center;
}
.pricing-footnote p {
  font-size: 14px;
  line-height: 1.75;
  margin-bottom: 10px;
  color: #b0bdd0;
}
.comparison {
  max-width: 900px;
  margin: 72px auto 0;
}
.comparison h3 {
  font-size: 24px;
  margin-bottom: 24px;
  text-align: center;
}
.table-wrap {
  overflow-x: auto;
  border: 1px solid #2b3d53;
  border-radius: 10px;
}
table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 14px;
}
th,
td {
  padding: 17px 22px;
  border-bottom: 1px solid #26384c;
}
thead {
  background: #132239;
}
thead th {
  color: #d4eaff;
  font-size: 14px;
}
tbody th {
  color: #c7d3e2;
  font-weight: 500;
  width: 60%;
}
td {
  color: #b5dfff;
}
tr:last-child th,
tr:last-child td {
  border-bottom: 0;
}
.narrow {
  max-width: 800px;
}
.faq-list {
  border-top: 1px solid #2c3c50;
}
.faq-item {
  border-bottom: 1px solid #2c3c50;
}
.faq-item summary {
  list-style: none;
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
  padding: 23px 0;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
}
.faq-item > p {
  font-size: 14px;
  line-height: 1.85;
  margin: 0 34px 26px 0;
}
.faq-item[open] summary {
  color: #aad9ff;
}
.final-section {
  padding-top: 0;
}
.final-card {
  padding: 58px 40px;
  text-align: center;
  border: 1px solid #325479;
  border-radius: 12px;
  background:
    radial-gradient(ellipse at 50% 100%, #12395880, transparent 80%), #0b121e;
}
.final-card p:not(.eyebrow) {
  max-width: 590px;
  margin: 0 auto 28px;
}
.final-card small {
  display: block;
  margin-top: 18px;
  font-size: 14px;
  color: #aabdd2;
}
footer {
  border-top: 1px solid #25344a;
  padding: 36px 0;
}
.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.footer-top nav {
  display: flex;
  gap: 24px;
  font-size: 14px;
}
.footer-top nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.footer-top p {
  font-size: 14px;
  margin: 0;
}
.legal {
  margin-top: 28px;
  border-top: 1px solid #1f2e42;
  padding-top: 22px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.legal p {
  font-size: 14px;
  line-height: 1.9;
  color: #a0b1c7;
  margin: 0;
}
dialog {
  color: #f4f7fb;
  border: 1px solid #436b93;
  background: #0c141f;
  border-radius: 12px;
  padding: 0;
  max-width: min(900px, 94vw);
  max-height: 92vh;
  overflow: auto;
  box-shadow: 0 20px 90px #0009;
}
dialog::backdrop {
  background: #000c;
  backdrop-filter: blur(7px);
}
.dialog-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  background: #0c141ff5;
  position: sticky;
  top: 0;
  border-bottom: 1px solid #314c6a;
}
.dialog-top p {
  margin: 0;
  font-size: 14px;
  color: #d1e5f7;
}
#expanded-image {
  display: block;
  max-width: 100%;
  width: auto;
  max-height: calc(85vh - 70px);
  height: auto;
  margin: 16px auto;
  object-fit: contain;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.js-animate .reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}
.js-animate .reveal.visible {
  opacity: 1;
  transform: none;
}
@keyframes card-in {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 1500px) {
  .hero {
    padding-block: 110px;
  }
}
@media (max-width: 1100px) {
  .hero-grid {
    gap: 34px;
  }
  .nav-wrap {
    gap: 18px;
  }
  .desktop-nav {
    gap: 18px;
  }
  .hero h1 {
    font-size: 46px;
  }
  .hero-facts {
    gap: 13px;
  }
  .hero-copy .eyebrow {
    font-size: 14px;
  }
  .curriculum-grid {
    gap: 40px;
  }
  .module-count {
    display: none;
  }
  .path-card {
    padding: 24px;
  }
  .benefit {
    padding: 24px 20px;
  }
}
@media (max-width: 850px) {
  .container {
    width: calc(100% - 48px);
  }
  .nav-wrap {
    width: calc(100% - 48px);
    height: 74px;
  }
  .desktop-nav {
    display: none;
  }
  .nav-cta {
    margin-left: auto;
  }
  .menu-button {
    display: block;
  }
  .hero {
    padding: 64px 0;
  }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .hero-copy {
    max-width: 620px;
    margin: auto;
    text-align: center;
  }
  .hero-copy .eyebrow {
    justify-content: center;
    font-size: 14px;
  }
  .hero h1 {
    font-size: clamp(40px, 7vw, 58px);
  }
  .hero-lead {
    margin-inline: auto;
  }
  .hero-actions,
  .hero-facts {
    justify-content: center;
  }
  .path-card {
    max-width: 520px;
    width: 100%;
    margin: auto;
    padding: 30px;
  }
  .path-card h2 {
    font-size: 32px;
  }
  .path-row {
    padding: 15px 0;
  }
  .path-row b {
    font-size: 14px;
  }
  .path-card-head {
    margin-bottom: 26px;
  }
  .path-footer p {
    font-size: 14px;
  }
  .stats > div {
    padding-inline: 18px;
  }
  .stats strong {
    font-size: 26px;
  }
  .section {
    padding: 80px 0;
  }
  .benefits-grid {
    grid-template-columns: 1fr 1fr;
  }
  .included-strip {
    gap: 20px;
  }
  .curriculum-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    max-width: 680px;
  }
  .curriculum-intro {
    position: static;
  }
  .curriculum-intro h2 {
    font-size: 36px;
  }
  .curriculum-note {
    display: none;
  }
  .curriculum-intro > .text-link {
    margin-bottom: 0;
  }
  .curriculum-intro .tabs {
    margin-top: 24px;
    margin-bottom: 12px;
  }
  .curriculum-meta {
    margin-bottom: 16px;
  }
  .module-count {
    display: block;
  }
  .snapshots-grid {
    gap: 14px;
  }
  .vault-card {
    flex-basis: calc((100% - 20px) / 2);
  }
  .price-card {
    padding: 24px 24px 20px;
  }
  .plan-intro {
    min-height: 96px;
  }
  .plan-badge {
    font-size: 14px;
    padding: 4px 7px;
  }
  .price-top {
    gap: 6px;
  }
  .price-card h3 {
    font-size: 36px;
  }
  .pricing-grid {
    gap: 18px;
  }
  .footer-top {
    flex-wrap: wrap;
  }
  .legal {
    gap: 24px;
  }
  .final-section {
    padding-top: 0;
  }
  .vault-section {
    padding-top: 16px;
  }
}
@media (max-width: 560px) {
  :root {
    scroll-padding-top: 88px;
  }
  .container {
    width: calc(100% - 40px);
  }
  .nav-wrap {
    width: calc(100% - 32px);
    height: 72px;
    gap: 10px;
  }
  .brand {
    font-size: 15px;
    gap: 8px;
  }
  .brand img {
    width: 28px;
    height: 28px;
  }
  .brand small {
    font-size: 14px;
    letter-spacing: 0.1em;
  }
  .nav-cta {
    font-size: 14px;
    padding: 9px 12px;
    gap: 8px;
  }
  .menu-button {
    width: 42px;
    height: 44px;
    padding: 10px;
  }
  .hero {
    padding: 48px 0;
  }
  .hero-copy .eyebrow {
    font-size: 14px;
    letter-spacing: 0.09em;
    gap: 7px;
    margin-bottom: 24px;
  }
  .status-dot {
    width: 4px;
    height: 4px;
    box-shadow: 0 0 0 3px #16324d;
  }
  .hero h1 {
    font-size: 39px;
    line-height: 1.08;
    letter-spacing: -0.055em;
    margin-bottom: 24px;
  }
  .hero-lead {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 24px;
  }
  .hero-actions {
    flex-direction: column;
    gap: 12px;
  }
  .hero-actions > .button {
    width: 100%;
    font-size: 14px;
    padding: 14px 16px;
  }
  .hero-facts {
    gap: 12px;
    font-size: 14px;
    margin-top: 20px;
  }
  .hero-grid {
    gap: 36px;
  }
  .path-card {
    padding: 24px 20px;
  }
  .path-card h2 {
    font-size: 30px;
  }
  .path-card-head {
    gap: 6px;
    margin-bottom: 22px;
  }
  .mini-label {
    font-size: 14px;
  }
  .path-pill {
    font-size: 14px;
  }
  .path-row {
    gap: 10px;
    padding: 14px 0;
  }
  .path-row b {
    font-size: 14px;
  }
  .path-row > span {
    width: 22px;
  }
  .path-footer {
    gap: 12px;
  }
  .path-footer p {
    font-size: 14px;
  }
  .path-footer b {
    font-size: 14px;
  }
  .stats {
    grid-template-columns: 1fr 1fr;
    row-gap: 26px;
    padding-block: 25px;
  }
  .stats > div {
    padding: 0 14px !important;
    border: 0;
  }
  .stats > div:nth-child(even) {
    border-left: 1px solid #293f57;
  }
  .stats strong {
    font-size: 27px;
  }
  .stats span {
    font-size: 14px;
  }
  .section {
    padding: 64px 0;
  }
  .section-head {
    margin-bottom: 32px;
  }
  .section-head h2 {
    font-size: 31px;
    letter-spacing: -0.045em;
  }
  .section-head > p:last-child {
    font-size: 14px;
    line-height: 1.8;
  }
  .eyebrow {
    font-size: 14px;
    letter-spacing: 0.1em;
  }
  .benefits-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .benefit {
    padding: 24px;
  }
  .benefit-no {
    margin-bottom: 18px;
  }
  .benefit h3 {
    font-size: 21px;
    margin-bottom: 10px;
  }
  .benefit p {
    font-size: 14px;
  }
  .included-strip {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 26px 0;
    margin-top: 26px;
  }
  .included-strip b {
    font-size: 14px;
  }
  .included-strip p {
    font-size: 14px;
  }
  .curriculum-grid {
    gap: 28px;
  }
  .curriculum-intro h2 {
    font-size: 32px;
  }
  .curriculum-intro p {
    font-size: 14px;
  }
  .module summary {
    padding: 17px 14px;
    gap: 10px;
  }
  .module-no {
    font-size: 14px;
    width: 20px;
  }
  .module-count {
    display: none;
  }
  .module-heading b {
    font-size: 14px;
  }
  .module-heading small {
    font-size: 14px;
  }
  .module-body {
    padding: 0 18px 18px 44px;
  }
  .module-body li {
    font-size: 14px;
  }
  .curriculum-meta b {
    font-size: 14px;
  }
  .curriculum-meta span {
    font-size: 14px;
  }
  .worksheet {
    padding: 20px 16px;
    gap: 12px;
  }
  .worksheet b {
    font-size: 14px;
  }
  .worksheet p {
    font-size: 14px;
  }
  .snapshots-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .snapshot {
    border-radius: 8px;
  }
  .snapshot > span {
    padding: 10px;
    font-size: 14px;
  }
  .gallery-disclosure {
    font-size: 14px;
    text-align: left;
    margin-top: 20px;
  }
  .vault-section {
    padding-top: 8px;
  }
  .vault-card {
    flex-basis: 83%;
  }
  .vault-card img {
    height: 350px;
  }
  .gallery-controls p {
    font-size: 14px;
  }
  .gallery-controls {
    gap: 10px;
  }
  .gallery-controls > div {
    gap: 6px;
  }
  .pricing-grid {
    grid-template-columns: 1fr;
    gap: 26px;
    max-width: 420px;
  }
  .price-card {
    padding: 28px 24px 24px;
    border-radius: 16px;
  }
  .price-card h3 {
    font-size: 40px;
  }
  .plan-badge {
    font-size: 14px;
  }
  .plan-intro {
    min-height: 0;
    font-size: 14px;
  }
  .checks li {
    font-size: 14px;
  }
  .plan-fit span {
    font-size: 14px;
  }
  .price {
    font-size: 64px;
  }
  .pricing-footnote p {
    font-size: 14px;
    text-align: left;
  }
  .comparison {
    margin-top: 48px;
  }
  .comparison h3 {
    font-size: 22px;
  }
  .table-wrap th,
  .table-wrap td {
    padding: 13px 10px;
    font-size: 14px;
  }
  .table-wrap tbody th {
    width: 55%;
  }
  .table-wrap thead th {
    font-size: 14px;
  }
  .faq-item summary {
    font-size: 14px;
    padding: 21px 0;
    gap: 16px;
  }
  .faq-item > p {
    font-size: 14px;
    margin-right: 12px;
  }
  .final-section {
    padding-top: 0;
  }
  .final-card {
    padding: 36px 20px;
  }
  .final-card h2 {
    font-size: 29px;
  }
  .final-card p:not(.eyebrow) {
    font-size: 14px;
  }
  .final-card .button {
    width: 100%;
    font-size: 14px;
  }
  .final-card small {
    font-size: 14px;
  }
  .footer-top {
    gap: 24px;
  }
  .footer-top nav {
    font-size: 14px;
    gap: 20px;
  }
  .footer-top > p {
    font-size: 14px;
    width: 100%;
  }
  .legal {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .legal p {
    font-size: 14px;
  }
  .dialog-top {
    padding: 10px 12px;
  }
  .dialog-top p {
    font-size: 14px;
  }
  #expanded-image {
    margin: 8px auto;
  }
  dialog {
    max-width: 96vw;
  }
  .tabs {
    max-width: 100%;
    gap: 5px;
  }
  .tabs button {
    padding: 10px 17px;
  }
  .pill-label {
    font-size: 14px;
    padding: 6px 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  :root {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .js-animate .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* Keep the compact navigation clean on narrow screens. */
.nav-cta,
.menu-button {
  flex-shrink: 0;
}
.nav-cta {
  white-space: nowrap;
}
@media (max-width: 560px) {
  .site-header .brand small {
    display: none;
  }
  .site-header .brand {
    font-size: 15px;
  }
  .nav-wrap {
    gap: 10px;
  }
  .nav-cta {
    gap: 10px;
  }
  .menu-button {
    width: 44px;
  }
  .hero-copy .eyebrow {
    letter-spacing: 0.04em;
  }
  .path-card-head {
    align-items: flex-start;
  }
  .path-card-head .mini-label {
    max-width: 160px;
  }
}

#dialog-close {
  font-family: Arial, sans-serif;
  font-size: 26px;
  line-height: 1;
}
/* A genuine larger image view, without cropping the source. */
dialog {
  width: min(640px, 94vw);
}
#expanded-image {
  width: min(100%, 440px);
  height: auto;
  max-height: calc(85vh - 110px);
  object-fit: contain;
}
/* Hide the keyboard skip link completely until keyboard focus. */
.skip-link{opacity:0;pointer-events:none}
.skip-link:focus-visible{opacity:1;pointer-events:auto;transform:none}
/* Topic-led positioning, without lesson-count marketing. */
.stats{gap:0;align-items:start}.stats strong{font-size:23px;line-height:1.25;letter-spacing:-.025em}.stats span{font-size:14px;line-height:1.75;margin-top:8px}.path-row{padding:20px 0}.path-row b{font-size:15px}.path-list .path-row:first-child{border-top:0}.module summary{min-height:88px}.module-body{padding-left:20px}.plan-intro{min-height:100px}.checks li{line-height:1.8;margin-bottom:15px}.plan-fit b{font-size:14px;line-height:1.5}.pro-value-section{background:linear-gradient(160deg,#09111c,#070c13);border-bottom:1px solid #253449}.pro-value-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:68px;align-items:center;margin-bottom:38px}.pro-value-intro h2{font-size:40px;margin-bottom:0}.pro-value-intro>p{font-size:16px;line-height:1.85;margin:0}.pro-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pro-value-card{border:1px solid #2c425d;background:#0b1623;border-radius:10px;padding:28px 25px}.value-label{font-size:14px;font-weight:600;letter-spacing:.08em;color:#8acbff;line-height:1.6;margin-bottom:24px}.pro-value-card h3{font-size:23px;line-height:1.25;margin-bottom:16px;letter-spacing:-.03em}.pro-value-card>p:last-of-type{font-size:14px;line-height:1.85;margin-bottom:0}.pro-value-summary{background:linear-gradient(145deg,#122e48,#0d1b2b);border-color:#3a759d}.pro-value-summary .text-link{margin-top:20px;color:#b2dfff}.pro-value-bottom{display:flex;gap:40px;justify-content:space-between;align-items:center;border-top:1px solid #2b4058;padding-top:28px;margin-top:28px}.pro-value-bottom p{font-size:14px;margin:0;max-width:660px;line-height:1.85}.pro-value-bottom b{color:#d6e8f9}.pro-value-bottom .button{flex-shrink:0}
@media(max-width:1000px){.pro-value-intro{gap:35px}.pro-value-intro h2{font-size:35px}.pro-value-grid{grid-template-columns:1fr 1fr}.stats strong{font-size:20px}}
@media(max-width:850px){.stats{grid-template-columns:1fr 1fr;row-gap:24px}.stats>div{border:0;padding:0 18px!important}.stats>div:nth-child(even){border-left:1px solid #293f57}.pro-value-intro{grid-template-columns:1fr;gap:24px}.pro-value-bottom{flex-direction:column;align-items:flex-start;gap:24px}.plan-intro{min-height:145px}}
@media(max-width:560px){.stats{grid-template-columns:1fr;row-gap:0;padding-block:10px}.stats>div,.stats>div:nth-child(even){padding:22px 0!important;border:0;border-bottom:1px solid #26384c}.stats>div:last-child{border:0}.stats strong{font-size:22px}.stats span{font-size:14px;margin-top:6px}.path-row{padding:18px 0}.path-row b{font-size:14px}.module-body{padding-left:16px}.pro-value-grid{grid-template-columns:1fr}.pro-value-intro h2{font-size:32px}.pro-value-intro>p{font-size:14px}.pro-value-card{padding:26px 24px}.pro-value-card h3{font-size:23px}.pro-value-bottom .button{width:100%;font-size:14px;gap:12px}.plan-intro{min-height:0}.tabs button{padding:10px 14px}.tabs button span{font-size:14px;letter-spacing:-.01em}}
/* Keep value-led copy readable as the message gets more energetic. */
@media(max-width:560px){.stats>div:first-child{border-bottom:1px solid #26384c}}
/* V4 — imagery first, early student proof, and visual course stories. */
.hero{padding-top:72px;padding-bottom:32px;min-height:0}.hero-grid{grid-template-columns:1fr 1.12fr;gap:32px;align-items:center}.hero h1{font-size:clamp(38px,4vw,58px)}.hero-lead{max-width:520px;font-size:17px}.hero-dashboard{margin:0 -28px 0 0;position:relative}.hero-dashboard:before{content:"";position:absolute;inset:15% 10%;background:#1685e522;filter:blur(65px);z-index:-1}.hero-dashboard img{width:100%;height:auto;display:block}.hero-dashboard figcaption{text-align:center;color:var(--muted);font-size:14px;letter-spacing:.12em;margin-top:20px}
#reviews{padding:48px 0 64px}#reviews .section-head{margin-bottom:24px}#reviews .section-head h2{font-size:clamp(28px,3vw,42px)}#reviews .snapshots-grid{gap:16px}#reviews .snapshot img{height:220px;object-fit:cover;object-position:top}#reviews .snapshot{min-width:0}#reviews .snapshot span{font-size:14px}#reviews .section-head p{margin-bottom:12px}
.wins-section{padding:40px 0 24px;overflow:hidden;border-top:1px solid #ffffff0a}.wins-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.wins-heading h2{font-size:clamp(26px,3vw,38px);margin:0}.wins-heading .eyebrow{margin-bottom:12px}.motion-toggle{border:1px solid var(--line);background:transparent;border-radius:8px;min-height:44px;padding:8px 14px;white-space:nowrap;font-size:14px}.motion-toggle span{margin-left:8px;color:var(--blue)}.wins-window{overflow:hidden}.wins-belt{display:flex;width:max-content;animation:wins-drift 42s linear infinite;gap:20px}.wins-group{display:flex;gap:20px}.win-card{position:relative;flex:0 0 300px;width:300px;height:296px;border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden;padding:0;text-align:left}.win-card img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .3s}.win-card:hover img{transform:scale(1.035)}.win-card>span{position:absolute;bottom:0;left:0;right:0;padding:36px 16px 16px;background:linear-gradient(transparent,#05080d 42%);display:flex;flex-direction:column}.win-card b{font-size:16px}.win-card small{font-size:14px;color:var(--muted)}.wins-note{font-size:14px;color:var(--muted);margin-top:16px;margin-bottom:0}.wins-section:hover .wins-belt,.wins-section:focus-within .wins-belt,.wins-section.is-paused .wins-belt{animation-play-state:paused}@keyframes wins-drift{to{transform:translateX(calc(-50% - 10px))}}
.course-stories{background:linear-gradient(180deg,#0b1018,#05080d);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.story-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:12px}.story-track::-webkit-scrollbar{display:none}.story-slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns: .85fr 1.15fr;gap:48px;align-items:center;scroll-snap-align:start}.story-slide>img{width:100%;height:480px;object-fit:cover;object-position:center;border-radius:12px}.story-copy{padding:24px 0}.story-copy h3{font-size:34px}.story-copy>p{max-width:560px;color:var(--muted);margin-bottom:24px}.story-copy .eyebrow{color:var(--blue)}.story-copy .story-emphasis{font-size:24px;font-weight:600;line-height:1.4;color:var(--text)}.story-emphasis span{color:var(--blue)}.story-copy .button{margin-top:4px}.story-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:24px}.story-counter{font-size:14px;margin:0;color:var(--muted);min-width:110px;text-align:center}
@media(min-width:851px){.hero{padding-top:56px}.hero-facts{margin-top:24px}}
@media(max-width:850px){.hero-grid{grid-template-columns:1fr;gap:24px}.hero{padding-top:40px}.hero-copy{max-width:650px}.hero-dashboard{margin:0;max-width:650px}.hero-dashboard figcaption{margin-top:12px}.story-slide{gap:24px}.story-slide>img{height:450px}.story-copy h3{font-size:30px}.story-copy .story-emphasis{font-size:21px}.story-copy>p{margin-bottom:16px}}
@media(max-width:600px){.hero{padding:36px 0 20px}.hero-grid{gap:20px}.hero h1{font-size:40px}.hero-lead{font-size:16px;margin-bottom:20px}.hero-dashboard{margin:0 -12px}.hero-dashboard figcaption{font-size:12px;letter-spacing:.08em}.hero-facts{margin-top:20px}.wins-section{padding-top:28px}.wins-heading{gap:12px;align-items:center}.wins-heading h2{font-size:26px}.wins-heading .eyebrow{font-size:11px;letter-spacing:.08em}.motion-toggle{padding:8px 10px;font-size:14px}.motion-toggle span{display:none}.win-card{width:260px;flex-basis:260px;height:280px}.wins-belt,.wins-group{gap:16px}.wins-note{font-size:14px}#reviews{padding:32px 0 48px}#reviews .snapshots-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#reviews .snapshot img{height:155px}#reviews .snapshot>span{font-size:12px;padding:8px;line-height:1.4}#reviews .snapshot>span>span{display:none}.story-slide{display:flex;flex-direction:column;gap:0;align-items:stretch}.story-slide>img{height:320px;object-position:center 38%}.story-copy{padding:24px 0 0}.story-copy h3{font-size:30px}.story-copy .story-emphasis{font-size:21px}.story-track{border-radius:12px 12px 0 0}.story-controls{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.wins-belt{animation:none}.wins-window{overflow-x:auto}.wins-group[aria-hidden]{display:none}.motion-toggle{display:none}.story-track{scroll-behavior:auto}.win-card img{transition:none}}
@media(max-width:600px){#reviews .snapshots-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#reviews .snapshot img{height:210px}#reviews .snapshot>span{font-size:14px}.hero .eyebrow{margin-bottom:20px}.hero h1{margin-bottom:20px}.hero-facts{margin-top:12px}.hero-copy .hero-actions{gap:12px}}

/* V6 — light, recognizable brand accent. */
.brand .brand-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:36px;font-size:30px;line-height:1;letter-spacing:0}
@media(max-width:600px){.site-header .brand .brand-emoji{flex-basis:28px;width:28px;font-size:27px}}
/* V7 — concise content, not smaller type. */
.compact-included,.compact-curriculum,.compact-pro{padding:56px 0}.compact-included .section-head,.compact-curriculum .curriculum-intro,.compact-pro .section-head{margin-bottom:28px}.compact-included h2,.compact-curriculum .curriculum-intro h2,.compact-pro h2{font-size:36px;line-height:1.15}.compact-included .section-head>p:last-child,.compact-curriculum .curriculum-intro>p:not(.eyebrow),.compact-pro .section-head>p:last-child{font-size:16px;line-height:1.5;margin-bottom:0}.compact-included .eyebrow,.compact-curriculum .eyebrow,.compact-pro .eyebrow{margin-bottom:12px}.compact-included .benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.compact-included .benefit{padding:20px;display:grid;grid-template-columns:26px 1fr;column-gap:12px;align-content:start}.compact-included .benefit-no{grid-row:1/3;border:0;padding:0;margin:0;font-size:14px;line-height:26px}.compact-included .benefit h3{font-size:19px;line-height:1.3;margin:0 0 8px;letter-spacing:-.02em}.compact-included .benefit p{font-size:16px;line-height:1.5;color:var(--muted)}.course-essentials{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;margin-top:20px;font-size:14px;color:var(--muted)}
.compact-curriculum .curriculum-grid{display:block;max-width:820px}.compact-curriculum .curriculum-intro{position:static;text-align:center}.compact-curriculum .tabs{margin:20px auto 0}.compact-curriculum .curriculum-meta{padding:16px 20px;margin-bottom:12px}.compact-curriculum .curriculum-meta b{font-size:16px}.compact-curriculum .module{margin-bottom:8px}.compact-curriculum .module summary{padding:18px 20px;gap:14px;min-height:64px}.compact-curriculum .module-index{color:var(--blue);font-size:14px;flex:0 0 24px}.compact-curriculum .module-heading{flex:1;min-width:0}.compact-curriculum .module-heading b{font-size:16px;line-height:1.4}.compact-curriculum .lesson-count{font-size:14px;color:var(--muted);white-space:nowrap;margin-left:auto}.compact-curriculum .module-body{padding:0 24px 20px 58px}.compact-curriculum .module-body li{font-size:16px;line-height:1.5;margin:10px 0}.compact-curriculum .worksheet{padding:16px 20px;margin-top:12px}.compact-curriculum .worksheet b{font-size:16px}.compact-curriculum .worksheet p{font-size:14px;margin:4px 0 0}.compact-curriculum .pro-divider{margin:20px 0 12px}
.compact-pro .container{max-width:868px}.pro-compare-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden}.pro-compare{border-collapse:collapse;width:100%;table-layout:fixed;font-size:16px;line-height:1.45}.pro-compare th,.pro-compare td{padding:16px 20px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}.pro-compare th:first-child{width:56%;text-align:left}.pro-compare thead th{font-size:14px;color:var(--muted);background:#0b1018;font-weight:600}.pro-compare thead th:last-child{color:var(--blue);background:#0d2031}.pro-compare tbody th{font-weight:500}.pro-compare tbody td{color:var(--muted);font-size:14px}.pro-compare .pro-cell{background:#0b1926;color:#b7dcff;font-weight:600}.pro-compare tr:last-child>*{border-bottom:0}.compact-pro-cta{text-align:center;margin-top:24px}
@media(max-width:850px){.compact-included .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.compact-included,.compact-curriculum,.compact-pro{padding:40px 0}.compact-included h2,.compact-curriculum .curriculum-intro h2,.compact-pro h2{font-size:30px}.compact-included .section-head,.compact-curriculum .curriculum-intro,.compact-pro .section-head{margin-bottom:24px}.compact-included .benefits-grid{grid-template-columns:1fr;gap:8px}.compact-included .benefit{padding:16px;column-gap:10px}.compact-included .benefit h3{font-size:18px;margin-bottom:4px}.compact-included .benefit p{font-size:16px;line-height:1.45}.course-essentials{justify-content:flex-start;gap:8px 20px;margin-top:16px}.compact-curriculum .module summary{padding:16px 12px;gap:8px}.compact-curriculum .module-index{flex-basis:21px}.compact-curriculum .module-heading b{font-size:16px}.compact-curriculum .module-body{padding:0 16px 16px 42px}.compact-curriculum .module-body li{font-size:16px}.compact-curriculum .lesson-count{max-width:48px;white-space:normal;text-align:right;font-size:14px;line-height:1.3}.compact-curriculum .worksheet{gap:12px;padding:16px 12px}.compact-curriculum .curriculum-meta{padding:14px 12px}.pro-compare th:first-child{width:49%}.pro-compare th,.pro-compare td{padding:14px 10px}.pro-compare{font-size:16px}.pro-compare thead th,.pro-compare tbody td{font-size:14px}.compact-pro-cta .button{width:100%;justify-content:center}}

/* Circular profile avatar in the header and footer. */
.brand img.brand-avatar{display:block;flex:0 0 42px;width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center;border:1px solid rgba(255,255,255,.75)}
@media(max-width:600px){.site-header .brand img.brand-avatar{flex-basis:34px;width:34px;height:34px}}

/* Five unique results, keeping the original gentle scrolling speed. */
section[aria-labelledby="early-wins"] .wins-belt{animation-duration:52.5s}

/* The moving strip is display-only; hover or keyboard focus pauses it. */
.wins-section .win-card{cursor:default}
.wins-section .win-card:hover img{transform:none}
.wins-window:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}

/* One shared transform for autoplay and manual scrolling; vertical touch scrolling stays native. */
.wins-window{overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;cursor:grab}
.wins-window.is-dragging{cursor:grabbing}
.wins-section .win-card{cursor:inherit}
.wins-window img{-webkit-user-drag:none;user-select:none}
section[aria-labelledby="early-wins"] .wins-belt{animation:none;will-change:transform}
@media(prefers-reduced-motion:reduce){.wins-group[aria-hidden]{display:flex}}

/* Subtle whole-card hover, shared by the home and plans pages. */
.price-card{transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .28s ease,box-shadow .28s ease;transform:translateY(0)}
.price-card .diamond{transition:transform .35s ease,color .28s ease}
.price-card .plan-badge{transition:border-color .28s ease,background-color .28s ease}
@media(hover:hover) and (pointer:fine){
 .price-card:hover{transform:translateY(-8px);border-color:#70c6ff;box-shadow:0 18px 46px #1397ef2e,0 0 0 1px #70c6ff38}
 .price-card:hover .diamond{transform:rotate(45deg);color:#b6e4ff}
 .price-card:hover .plan-badge{border-color:#5fa6d8;background-color:#173750}
}
.price-card:focus-within{transform:translateY(-8px);border-color:#70c6ff;box-shadow:0 18px 46px #1397ef2e,0 0 0 1px #70c6ff38}
@media(prefers-reduced-motion:reduce){.price-card,.price-card .diamond,.price-card .plan-badge{transition:none}.price-card:hover,.price-card:focus-within{transform:none}.price-card:hover .diamond{transform:none}}
/* Course paths in normal reading order. */
.story-list{display:flex;flex-direction:column;gap:56px;overflow:visible}
.story-list .story-slide{flex:none;min-width:0;scroll-snap-align:none}
.story-list .story-slide+.story-slide{padding-top:48px;border-top:1px solid var(--line)}
.wins-heading{flex-wrap:wrap;align-items:center}
.motion-toggle{display:inline-flex;align-items:center;cursor:pointer;color:#b7dcff;background:#102235;border-color:#365a7d}
@media(max-width:600px){.story-list{gap:32px}.story-list .story-slide+.story-slide{padding-top:32px}.wins-heading h2{font-size:26px}.motion-toggle{min-height:44px}}
/* Separate plans page and the five additional student screenshots. */
.added-results{padding:64px 0;border-top:1px solid var(--line)}
.added-results .section-head{margin-bottom:32px}.added-results .section-head h2{font-size:clamp(30px,4vw,44px)}
.dashboard-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.dashboard-card{grid-column:span 2;min-width:0;padding:0;overflow:hidden;border:1px solid #2d4359;border-radius:12px;background:#0c141e;text-align:left;color:#f5f7fa;cursor:zoom-in;transition:border-color .2s,transform .2s}
.dashboard-card:nth-child(-n+2){grid-column:span 3}.dashboard-card:hover{border-color:#57b6ff;transform:translateY(-3px)}
.dashboard-card:focus-visible{outline:3px solid #57b6ff;outline-offset:4px}.dashboard-image{height:240px;padding:20px;background:radial-gradient(ellipse at center,#123c39 0%,#0a151d 70%);display:flex;align-items:center;justify-content:center}
.dashboard-card:nth-child(-n+2) .dashboard-image{height:290px}.dashboard-image img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px}
.dashboard-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px}.dashboard-caption b{display:block;font-size:16px}.dashboard-caption small{display:block;font-size:14px;color:#b2c1d1;margin-top:4px}.dashboard-caption>span:last-child{color:#57b6ff;font-size:24px}.results-disclaimer{max-width:700px;text-align:center;margin:24px auto 0;font-size:14px;line-height:1.5;color:#adbdce}
.plans-teaser{text-align:center;background:#0b1420;border-block:1px solid #263b50}.plans-teaser h2{font-size:clamp(32px,4vw,48px)}.plans-teaser p:not(.eyebrow){margin:20px 0 24px;color:#b5c5d6;line-height:1.6}
.back-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 32px;font-size:14px}.back-home{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:#b7dcff;text-decoration:none}.back-home:hover{text-decoration:underline}.back-row>span{color:#a7b5c6;letter-spacing:.08em;font-size:14px}
.plans-page .pricing-section{padding:24px 0 64px;border-top:0}.plans-page .pricing-section h1{font-size:clamp(36px,4vw,52px);line-height:1.12;letter-spacing:-.04em;margin:0 0 20px}.plans-page .pricing-section h1 span{color:#57b6ff}.plans-page .section-head{margin-bottom:32px}.plans-page .price-card{border-radius:12px}.plans-page .plan-intro{font-size:16px;line-height:1.5;min-height:96px}.plans-page .checks li{font-size:16px}.plans-page .nav-cta{white-space:nowrap}
@media(max-width:600px){.added-results{padding:40px 0}.dashboard-grid{grid-template-columns:1fr;gap:16px}.dashboard-card,.dashboard-card:nth-child(-n+2){grid-column:auto}.dashboard-image,.dashboard-card:nth-child(-n+2) .dashboard-image{height:240px;padding:16px}.dashboard-card:last-child .dashboard-image{height:360px}.dashboard-caption{padding:16px}.back-row{margin-bottom:24px}.back-row>span{display:none}.plans-page .nav-wrap{gap:12px}.plans-page .nav-cta{padding:10px;font-size:14px}.plans-page .brand small{display:none}.plans-page .brand-avatar{width:32px;height:32px}.plans-page .pricing-section{padding:16px 0 40px}.plans-page .price-card{padding:24px 20px}.plans-page .plan-intro{min-height:0}.plans-page .section-head{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.dashboard-card{transition:none}}

.music-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:10px;border:1px solid #3a668a;border-radius:8px;background:#0e1b2a;color:#c3e6ff;cursor:pointer}
.music-toggle:hover{border-color:#70c6ff;background:#142a3e}.music-toggle:focus-visible{outline:3px solid #70c6ff;outline-offset:3px}.music-waves{display:none}.music-toggle.is-enabled .music-waves{display:block}.music-toggle.is-enabled .music-muted{display:none}
.site-header .nav-cta{margin-left:0}
@media(max-width:850px){.music-toggle{margin-left:auto}}
@media(max-width:600px){.site-header .nav-wrap{width:calc(100% - 24px);gap:6px}.site-header .nav-cta{padding:9px 8px;font-size:14px;gap:0}.site-header .nav-cta>span{display:none}.site-header .brand{font-size:14px;gap:6px}.site-header .brand-avatar{width:32px;height:32px}}
@media(max-width:350px){.site-header .brand>span{display:none}}


/* v7: two founder stories and shorter plan cards. */
.founder-carousel{position:relative;padding:0 56px}.founder-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:12px;gap:0}.founder-track::-webkit-scrollbar{display:none}.founder-track:focus-visible{outline:2px solid #70c6ff;outline-offset:6px}.founder-track .story-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}.founder-track .story-slide>img{height:480px;object-fit:cover;object-position:center;border-radius:12px}.founder-track .story-copy{padding:12px 0}.founder-track .story-copy h3{font-size:30px;margin-bottom:24px}.founder-track .story-copy>p{font-size:16px;line-height:1.65;margin-bottom:20px}.founder-track .story-copy .founder-emphasis{color:#f3f7fb;font-size:20px;font-weight:600;line-height:1.45}.founder-emphasis span,.founder-result strong{color:#62beff}.founder-track .story-copy .founder-result{color:#f3f7fb;font-size:18px;font-weight:600;line-height:1.55;margin:28px 0 0}.founder-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid #355775;background:#0d1a28;color:#70c6ff;border-radius:50%;font-size:24px;cursor:pointer}.founder-prev{left:0}.founder-next{right:0}.founder-arrow:disabled{opacity:.35;cursor:default}.founder-arrow:focus-visible,.founder-dots button:focus-visible{outline:2px solid #70c6ff;outline-offset:3px}.founder-footer{text-align:center;margin-top:24px}.founder-dots{display:flex;justify-content:center;gap:0}.founder-dots button{height:44px;width:44px;background:none;border:0;cursor:pointer;display:grid;place-items:center;padding:0}.founder-dots button:after{content:'';display:block;width:10px;height:10px;background:#355775;border-radius:8px}.founder-dots button[aria-pressed=true]:after{width:30px;background:#42b4ff}.founder-counter,.founder-hint{font-size:14px;line-height:1.5;color:#b5c5d6;margin:0}.founder-hint{display:none}
.pricing-section .price-card{padding:28px 28px 20px;border-radius:12px}.pricing-section .price-top{margin-bottom:16px}.pricing-section .plan-badge{font-size:14px;letter-spacing:.06em}.pricing-section .price-card h3{font-size:34px;margin-bottom:8px}.pricing-section .plan-intro{min-height:48px;font-size:16px;line-height:1.5;margin-bottom:20px;max-width:none}.pricing-section .price{font-size:52px}.pricing-section .currency{font-size:28px;margin-top:8px}.pricing-section .payment-note{margin:8px 0 24px;font-size:14px}.pricing-section .card-rule{margin-bottom:20px;font-size:14px}.pricing-section .checks{margin:0 0 24px}.pricing-section .checks li{font-size:16px;line-height:1.5;margin-bottom:12px}.pricing-section .checks li:last-child{margin-bottom:0}.pricing-section .checkout{margin-top:auto;min-height:52px}.pricing-section .secure-note{font-size:14px;margin-top:12px}
@media(max-width:900px){.founder-carousel{padding:0 48px}.founder-track .story-slide{gap:24px;grid-template-columns:.9fr 1.1fr}.founder-track .story-slide>img{height:500px}.founder-track .story-copy>p{margin-bottom:16px}.founder-track .story-copy h3{font-size:28px;margin-bottom:16px}}
@media(max-width:600px){.founder-carousel{padding:0}.founder-arrow{display:none}.founder-track .story-slide{display:flex;flex-direction:column;gap:0;align-items:stretch}.founder-track .story-slide>img{height:320px;object-position:center 38%}.founder-track .story-copy{padding:24px 0 0}.founder-track .story-copy h3{font-size:28px}.founder-track .story-copy>p{font-size:16px;line-height:1.6}.founder-track .story-copy .founder-result{margin-top:24px;font-size:18px}.founder-footer{margin-top:16px}.founder-hint{display:block;margin-top:4px}.pricing-section .price-card{padding:24px 20px 20px}.pricing-section .plan-intro{min-height:0;margin-bottom:20px}.pricing-section .price-card h3{font-size:30px}.pricing-section .checks li{margin-bottom:12px}.pricing-section .pricing-grid{gap:20px}.pricing-section .plan-badge{font-size:14px}}
@media(prefers-reduced-motion:reduce){.founder-track{scroll-behavior:auto}}

.pricing-section .price-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.pricing-section .old-price{display:block;font-size:16px;line-height:1.5;font-weight:400;color:#e5eef7;text-decoration-thickness:1px;text-decoration-color:#e5eef7;letter-spacing:0}.pricing-section .price-row .price{margin:0}
@media(max-width:600px){.pricing-section .old-price{font-size:16px}}

.image-retry-note{display:block;max-width:240px;text-align:center;font-size:16px;line-height:1.5;color:#c4d5e6}.image-retry-note[hidden],.dashboard-image img[hidden]{display:none!important}
