/* =========================================================
   EXECUTIVE AI LEARNING HUB — MasterClass-editorial
   Uses tokens from design-system.css. Dark, editorial, luxury.
   ========================================================= */

.learn-page { background: var(--az-bg); color: var(--az-ink); }
.learn-page-legacy[hidden] { display: none !important; }

/* ---------- HERO ---------- */
.mc-hero {
  position: relative;
  padding: clamp(80px, 12vw, 180px) clamp(20px, 5vw, 64px) clamp(56px, 8vw, 120px);
  overflow: hidden;
  isolation: isolate;
}
.mc-hero-bg {
  position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(60% 90% at 20% 0%, rgba(201,169,110,0.14) 0%, transparent 60%),
    radial-gradient(80% 60% at 100% 100%, rgba(155,176,196,0.08) 0%, transparent 60%),
    linear-gradient(180deg, #050507 0%, #0a0a10 100%);
}
.mc-hero-bg::after {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at 50% 30%, black 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 30%, black 0%, transparent 70%);
}
.mc-hero-inner { max-width: 1180px; margin: 0 auto; }
.mc-kicker {
  display: inline-block;
  font-family: var(--az-font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--az-gold);
  padding: 8px 16px;
  border: 1px solid rgba(201,169,110,0.28);
  border-radius: 99px;
  margin-bottom: 28px;
}
.mc-hero-title {
  font-family: var(--az-font-serif);
  font-weight: 400;
  font-size: clamp(2.6rem, 6vw, 5.4rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
  margin: 0 0 24px;
  max-width: 16ch;
}
.mc-hero-title em { font-style: italic; color: var(--az-gold); }
.mc-hero-sub {
  font-family: var(--az-font-sans);
  font-size: clamp(1.02rem, 1.4vw, 1.22rem);
  line-height: 1.55;
  color: var(--az-ink-dim);
  max-width: 58ch;
  margin: 0 0 40px;
}
.mc-hero-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 64px; }
.mc-hero-stats {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 0;
  margin: 0;
  border-top: 1px solid var(--az-line);
  border-bottom: 1px solid var(--az-line);
}
.mc-hero-stats li { padding: 28px 24px; border-right: 1px solid var(--az-line); }
.mc-hero-stats li:last-child { border-right: none; }
.mc-hero-stats li strong {
  display: block;
  font-family: var(--az-font-serif);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 500;
  color: var(--az-ink);
  line-height: 1;
  margin-bottom: 6px;
}
.mc-hero-stats li span {
  font-family: var(--az-font-sans);
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--az-text-3);
}

/* ---------- TIER BAR ---------- */
.mc-tierbar {
  background: #08080c;
  border-top: 1px solid var(--az-line);
  border-bottom: 1px solid var(--az-line);
  padding: clamp(36px, 6vw, 72px) clamp(20px, 5vw, 64px);
}
.mc-tierbar-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.mc-tier {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 28px;
  border: 1px solid var(--az-line);
  border-left: 3px solid var(--az-gold);
  border-radius: 4px;
  background: rgba(255,255,255,0.015);
  transition: background 260ms var(--az-ease);
}
.mc-tier:hover { background: rgba(255,255,255,0.035); }
.mc-tier--brief { border-left-color: var(--az-tier-brief); }
.mc-tier--playbook { border-left-color: var(--az-tier-playbook); }
.mc-tier--mandate { border-left-color: var(--az-tier-mandate); }
.mc-tier em { font-family: var(--az-font-serif); font-style: italic; font-size: 2rem; line-height: 1; color: var(--az-gold); }
.mc-tier--brief em { color: var(--az-tier-brief); }
.mc-tier--playbook em { color: var(--az-tier-playbook); }
.mc-tier--mandate em { color: var(--az-tier-mandate); }
.mc-tier strong { display: block; font-family: var(--az-font-serif); font-size: 1.35rem; font-weight: 500; color: var(--az-ink); margin-bottom: 6px; }
.mc-tier span { font-family: var(--az-font-sans); font-size: 0.86rem; color: var(--az-ink-dim); line-height: 1.5; }

/* ---------- RAILS ---------- */
.mc-rails { padding: clamp(56px, 9vw, 120px) 0; background: var(--az-bg); }
.mc-rails-head { max-width: 1180px; margin: 0 auto clamp(32px, 5vw, 72px); padding: 0 clamp(20px, 5vw, 64px); }
.mc-h2 {
  font-family: var(--az-font-serif);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.1;
  letter-spacing: -0.015em;
  margin: 16px 0 0;
  color: var(--az-ink);
}
.mc-h2 em { font-style: italic; color: var(--az-gold); }
.mc-sub { font-family: var(--az-font-sans); font-size: 1.02rem; color: var(--az-ink-dim); line-height: 1.6; margin: 16px 0 0; max-width: 56ch; }

.mc-rail { --_accent: #c9a96e; margin-bottom: clamp(48px, 7vw, 96px); }
.mc-rail-head {
  max-width: 1180px;
  margin: 0 auto 24px;
  padding: 0 clamp(20px, 5vw, 64px);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
}
.mc-rail-kicker {
  display: block;
  font-family: var(--az-font-sans);
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--_accent);
  margin-bottom: 8px;
}
.mc-rail-title {
  font-family: var(--az-font-serif);
  font-weight: 400;
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  letter-spacing: -0.01em;
  margin: 0 0 6px;
  color: var(--az-ink);
}
.mc-rail-lede { font-family: var(--az-font-sans); font-size: 0.94rem; color: var(--az-ink-dim); margin: 0; max-width: 60ch; line-height: 1.55; }
.mc-rail-all {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border: 1px solid var(--az-line-2);
  border-radius: 99px;
  text-decoration: none;
  color: var(--az-ink);
  font-family: var(--az-font-sans);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  background: rgba(255,255,255,0.02);
  transition: border-color 240ms var(--az-ease), background 240ms var(--az-ease), color 240ms var(--az-ease);
  flex-shrink: 0;
}
.mc-rail-all svg { width: 16px; height: 16px; transition: transform 240ms var(--az-ease); }
.mc-rail-all:hover { border-color: var(--_accent); color: var(--_accent); background: color-mix(in srgb, var(--_accent) 8%, transparent); }
.mc-rail-all:hover svg { transform: translateX(4px); }

.mc-rail-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  overflow-y: visible;
  padding: 8px clamp(20px, 5vw, 64px) 24px;
  scroll-snap-type: x mandatory;
  scroll-padding: clamp(20px, 5vw, 64px);
  scrollbar-width: thin;
  scrollbar-color: var(--az-line-2) transparent;
  -webkit-overflow-scrolling: touch;
}
.mc-rail-track::-webkit-scrollbar { height: 6px; }
.mc-rail-track::-webkit-scrollbar-track { background: transparent; }
.mc-rail-track::-webkit-scrollbar-thumb { background: var(--az-line-2); border-radius: 99px; }

/* ---------- LESSON CARDS ---------- */
.mc-card {
  --_accent: #c9a96e;
  flex: 0 0 320px;
  scroll-snap-align: start;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--az-line);
  border-radius: 10px;
  background: linear-gradient(180deg, #0f0f14 0%, #0b0b10 100%);
  overflow: hidden;
  transition: transform 320ms var(--az-ease), border-color 320ms var(--az-ease), box-shadow 320ms var(--az-ease);
  position: relative;
}
.mc-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--_accent) 40%, transparent);
  box-shadow: 0 24px 60px -30px rgba(0,0,0,0.9);
}
.mc-card-thumb {
  position: relative;
  aspect-ratio: 16 / 10;
  background:
    radial-gradient(80% 100% at 50% 100%, color-mix(in srgb, var(--_accent) 25%, #0b0b10) 0%, #0b0b10 70%),
    linear-gradient(180deg, #15151c 0%, #0b0b10 100%);
  display: grid;
  place-items: center;
  border-bottom: 1px solid var(--az-line);
  overflow: hidden;
}
.mc-card-thumb::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse at center, black 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 0%, transparent 70%);
}
.mc-card-roman {
  font-family: var(--az-font-serif);
  font-style: italic;
  font-size: 3.4rem;
  font-weight: 400;
  color: var(--az-ink);
  line-height: 1;
  letter-spacing: -0.02em;
  z-index: 1;
}
.mc-card-chip {
  position: absolute;
  top: 14px;
  left: 14px;
  font-family: var(--az-font-sans);
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 99px;
  background: rgba(0,0,0,0.55);
  color: var(--_accent);
  border: 1px solid color-mix(in srgb, var(--_accent) 30%, transparent);
  backdrop-filter: blur(6px);
  z-index: 2;
}
.mc-card--brief    { --_accent: var(--az-tier-brief); }
.mc-card--playbook { --_accent: var(--az-tier-playbook); }
.mc-card--mandate  { --_accent: var(--az-tier-mandate); }

.mc-card-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.mc-card-title {
  font-family: var(--az-font-serif);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--az-ink);
  margin: 0;
  letter-spacing: -0.005em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mc-card-lede {
  font-family: var(--az-font-sans);
  font-size: 0.85rem;
  color: var(--az-ink-dim);
  margin: 0;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}
.mc-card-meta {
  display: inline-block;
  margin-top: 8px;
  font-family: var(--az-font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--az-text-3);
}
.mc-card--empty {
  flex: 0 0 320px;
  scroll-snap-align: start;
  border: 1px dashed var(--az-line-2);
  background: transparent;
  min-height: 280px;
  display: grid;
  place-items: center;
}

/* ---------- SUBSCRIBE ---------- */
.mc-subscribe { padding: clamp(56px, 8vw, 120px) clamp(20px, 5vw, 64px); background: #08080c; border-top: 1px solid var(--az-line); }
.mc-subscribe-inner { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1fr 420px; gap: 64px; align-items: end; }
.mc-subscribe-form { display: flex; gap: 12px; }
.mc-subscribe-form .az-input { flex: 1; }
.mc-empty, .mc-loading { font-family: var(--az-font-sans); color: var(--az-text-3); text-align: center; padding: 64px 20px; }

/* ---------- LEARN-BOARDROOM detail page ---------- */
.br-hero {
  position: relative;
  padding: clamp(80px, 11vw, 160px) clamp(20px, 5vw, 64px) clamp(48px, 7vw, 96px);
  background:
    radial-gradient(60% 90% at 15% 0%, rgba(201,169,110,0.12) 0%, transparent 60%),
    linear-gradient(180deg, #050507 0%, #0a0a10 100%);
  border-bottom: 1px solid var(--az-line);
}
.br-hero-inner { max-width: 1180px; margin: 0 auto; }
.br-hero-eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.br-crumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  color: var(--az-ink-dim);
  text-decoration: none;
  font-family: var(--az-font-sans);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  padding: 10px 18px;
  border: 1px solid var(--az-line-2);
  border-radius: 99px;
  margin-bottom: 28px;
  transition: color 240ms var(--az-ease), border-color 240ms var(--az-ease);
  width: auto;
  max-width: max-content;
}
.br-crumb svg { width: 16px; height: 16px; flex: 0 0 16px; display: block; }
.br-crumb span { white-space: nowrap; }
.br-crumb:hover { color: var(--az-gold); border-color: var(--az-gold); }
.br-hero-title {
  font-family: var(--az-font-serif);
  font-weight: 400;
  font-size: clamp(2.4rem, 5.4vw, 4.6rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  color: var(--az-ink);
}
.br-hero-tagline {
  font-family: var(--az-font-sans);
  font-size: clamp(1.02rem, 1.4vw, 1.22rem);
  color: var(--az-ink-dim);
  max-width: 62ch;
  line-height: 1.55;
  margin: 0 0 32px;
}
.br-hero-chips { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.br-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border-radius: 99px;
  text-decoration: none;
  font-family: var(--az-font-sans);
  font-size: 0.86rem;
  color: var(--az-ink);
  border: 1px solid var(--az-line-2);
  background: rgba(255,255,255,0.03);
  transition: background 240ms var(--az-ease), transform 240ms var(--az-ease);
}
.br-chip em { font-family: var(--az-font-serif); font-style: italic; font-size: 1.1rem; line-height: 1; color: var(--az-gold); }
.br-chip:hover { transform: translateY(-2px); }
.br-chip--brief    { border-color: color-mix(in srgb, var(--az-tier-brief) 40%, transparent); }
.br-chip--brief em { color: var(--az-tier-brief); }
.br-chip--playbook { border-color: color-mix(in srgb, var(--az-tier-playbook) 40%, transparent); }
.br-chip--playbook em { color: var(--az-tier-playbook); }
.br-chip--mandate  { border-color: color-mix(in srgb, var(--az-tier-mandate) 40%, transparent); }
.br-chip--mandate em { color: var(--az-tier-mandate); }

.br-body { padding: clamp(56px, 8vw, 120px) clamp(20px, 5vw, 64px); background: var(--az-bg); }
.br-body-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 64px;
  align-items: start;
}
.br-body-main { min-width: 0; }

.br-tier { margin-bottom: clamp(48px, 7vw, 96px); }
.br-tier:last-child { margin-bottom: 0; }
.br-tier-head {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--az-line);
}
.br-tier-badge {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(201,169,110,0.1);
  border: 1px solid rgba(201,169,110,0.3);
}
.br-tier-badge em { font-family: var(--az-font-serif); font-style: italic; font-size: 1.5rem; color: var(--az-gold); }
.br-tier--brief .br-tier-badge    { background: color-mix(in srgb, var(--az-tier-brief) 10%, transparent); border-color: color-mix(in srgb, var(--az-tier-brief) 32%, transparent); }
.br-tier--brief .br-tier-badge em { color: var(--az-tier-brief); }
.br-tier--playbook .br-tier-badge { background: color-mix(in srgb, var(--az-tier-playbook) 10%, transparent); border-color: color-mix(in srgb, var(--az-tier-playbook) 32%, transparent); }
.br-tier--playbook .br-tier-badge em { color: var(--az-tier-playbook); }
.br-tier--mandate .br-tier-badge  { background: color-mix(in srgb, var(--az-tier-mandate) 10%, transparent); border-color: color-mix(in srgb, var(--az-tier-mandate) 32%, transparent); }
.br-tier--mandate .br-tier-badge em { color: var(--az-tier-mandate); }

.br-lesson-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
.br-lesson-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px 24px 24px 28px;
  background: linear-gradient(180deg, #0f0f14 0%, #0b0b10 100%);
  border: 1px solid var(--az-line);
  border-left: 3px solid var(--az-gold);
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  transition: transform 280ms var(--az-ease), background 280ms var(--az-ease);
}
.br-tier--brief    .br-lesson-card { border-left-color: var(--az-tier-brief); }
.br-tier--playbook .br-lesson-card { border-left-color: var(--az-tier-playbook); }
.br-tier--mandate  .br-lesson-card { border-left-color: var(--az-tier-mandate); }
.br-lesson-card:hover { transform: translateY(-3px); background: linear-gradient(180deg, #13131a 0%, #0d0d12 100%); }
.br-lesson-card-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--az-font-sans);
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--az-gold);
}
.br-lesson-card-eyebrow em { font-family: var(--az-font-serif); font-style: italic; font-size: 1rem; }
.br-lesson-card-title {
  font-family: var(--az-font-serif);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.25;
  margin: 0;
  color: var(--az-ink);
}
.br-lesson-card-lede {
  font-family: var(--az-font-sans);
  font-size: 0.88rem;
  color: var(--az-ink-dim);
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.br-lesson-card-meta {
  font-family: var(--az-font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--az-text-3);
  margin-top: auto;
}

.br-aside { position: sticky; top: calc(var(--az-nav-h) + 32px); }
.br-aside-sticky { display: flex; flex-direction: column; gap: 24px; }
.br-aside-block {
  padding: 24px;
  border: 1px solid var(--az-line);
  border-radius: 6px;
  background: rgba(255,255,255,0.02);
}
.br-aside-block .az-kicker { display: block; margin-bottom: 12px; }
.br-aside-block p { font-size: 0.9rem; color: var(--az-ink-dim); line-height: 1.55; margin: 0 0 16px; }
.br-aside-nav { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.br-aside-nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  font-family: var(--az-font-sans);
  font-size: 0.9rem;
  color: var(--az-ink-dim);
  text-decoration: none;
  border-radius: 4px;
  transition: background 220ms var(--az-ease), color 220ms var(--az-ease);
}
.br-aside-nav a em { font-family: var(--az-font-serif); font-style: italic; color: var(--az-gold); font-size: 1rem; }
.br-aside-nav a:hover { background: rgba(255,255,255,0.04); color: var(--az-ink); }
.br-aside-block--cta { background: linear-gradient(180deg, rgba(201,169,110,0.08) 0%, transparent 100%); border-color: rgba(201,169,110,0.2); }
.br-aside-block--cta .az-kicker { color: var(--az-gold); font-size: 0.7rem; letter-spacing: 0.16em; }
.br-aside-block--cta p { font-size: 0.92rem; color: var(--az-ink); margin-bottom: 18px; }
.br-aside-block--cta .az-btn { height: 44px; padding: 0 22px; font-size: 0.74rem; letter-spacing: 0.12em; align-self: flex-start; width: auto; max-width: max-content; }
.br-aside-block { display: flex; flex-direction: column; align-items: flex-start; }
.br-aside-form { display: flex; flex-direction: column; gap: 8px; }

.learn-empty, .learn-empty-sm { font-family: var(--az-font-sans); color: var(--az-text-3); padding: 48px 20px; text-align: center; }
.lh-skeleton { font-family: var(--az-font-sans); color: var(--az-text-3); padding: 32px 0; }

/* ---------- LESSON page ---------- */
.lsn-hero { padding: clamp(80px, 10vw, 140px) clamp(20px, 5vw, 64px) 48px; max-width: 880px; margin: 0 auto; }
.lsn-hero .az-kicker { display: inline-block; padding: 8px 14px; border: 1px solid var(--az-line-2); border-radius: 99px; margin-bottom: 20px; }
.lsn-title { font-family: var(--az-font-serif); font-weight: 400; font-size: clamp(2rem, 4.6vw, 3.6rem); line-height: 1.1; margin: 0 0 16px; color: var(--az-ink); }
.lsn-tagline { font-family: var(--az-font-sans); font-size: 1.1rem; color: var(--az-ink-dim); line-height: 1.55; }
.lsn-body { max-width: 720px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 64px) 96px; font-family: var(--az-font-serif); font-size: 1.18rem; line-height: 1.65; color: var(--az-ink-dim); }
.lsn-body h2, .lsn-body h3 { font-family: var(--az-font-serif); color: var(--az-ink); margin-top: 2em; }
.lsn-body a { color: var(--az-gold); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1080px) {
  .mc-tierbar-inner { grid-template-columns: 1fr; gap: 16px; }
  .mc-hero-stats { grid-template-columns: repeat(2, 1fr); }
  .mc-hero-stats li:nth-child(2) { border-right: none; }
  .mc-hero-stats li:nth-child(1), .mc-hero-stats li:nth-child(2) { border-bottom: 1px solid var(--az-line); }
  .mc-subscribe-inner { grid-template-columns: 1fr; gap: 32px; }
  .br-body-grid { grid-template-columns: 1fr; gap: 40px; }
  .br-aside { position: static; }
  .mc-rail-head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 720px) {
  .mc-hero-title { font-size: clamp(2.2rem, 10vw, 3rem); }
  .mc-card, .mc-card--empty { flex: 0 0 260px; }
  .mc-hero-stats li { padding: 20px 16px; }
  .mc-hero-stats li strong { font-size: 1.6rem; }
  .mc-subscribe-form { flex-direction: column; }
  .br-lesson-grid { grid-template-columns: 1fr; }
}

/* ---------- ENTRANCE ANIMATIONS ---------- */
@media (prefers-reduced-motion: no-preference) {
  .mc-rail, .mc-tier, .mc-card { opacity: 0; transform: translateY(16px); animation: mcIn 700ms var(--az-ease) forwards; }
  .mc-rail { animation-delay: 80ms; }
  .mc-tier:nth-child(1) { animation-delay: 40ms; }
  .mc-tier:nth-child(2) { animation-delay: 120ms; }
  .mc-tier:nth-child(3) { animation-delay: 200ms; }
}
@keyframes mcIn { to { opacity: 1; transform: translateY(0); } }

/* =========================================================
   SINGLE LESSON — editorial reader layout
   ========================================================= */

/* Hero */
.lesson-hero {
  position: relative;
  padding: clamp(96px, 14vw, 180px) clamp(20px, 5vw, 64px) clamp(32px, 5vw, 56px);
  max-width: 1180px;
  margin: 0 auto;
}
.lesson-hero::before {
  content: '';
  position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(55% 80% at 18% 0%, rgba(201,169,110,0.10) 0%, transparent 65%),
    radial-gradient(60% 50% at 100% 10%, rgba(155,176,196,0.06) 0%, transparent 60%),
    linear-gradient(180deg, #050507 0%, #0a0a10 100%);
}
.lesson-hero-inner { max-width: 760px; margin: 0 auto; }

.lesson-hero-figure {
  position: relative;
  max-width: 1080px;
  margin: 0 auto clamp(32px, 5vw, 56px);
  aspect-ratio: 16 / 8;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--az-line);
  background: linear-gradient(135deg, #0d0d13 0%, #14141c 100%);
}
.lesson-hero-figure img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.92) contrast(1.02);
}
.lesson-hero-figure::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(5,5,7,0.72) 100%);
  pointer-events: none;
}

.learn-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--az-font-sans);
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--az-ink-dim);
  text-decoration: none;
  margin-bottom: 36px;
  transition: color 180ms var(--az-ease, ease);
}
.learn-breadcrumb:hover { color: var(--az-gold); }

.lesson-meta-row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.lesson-tier-chip {
  font-family: var(--az-font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  padding: 8px 18px;
  border-radius: 99px;
  border: 1px solid rgba(201,169,110,0.32);
  color: var(--az-gold);
  background: rgba(201,169,110,0.05);
}
.lesson-tier-chip.tier-brief    { border-color: rgba(155,176,196,0.40); color: #b8c7d5; background: rgba(155,176,196,0.06); }
.lesson-tier-chip.tier-playbook { border-color: rgba(201,169,110,0.40); color: var(--az-gold); }
.lesson-tier-chip.tier-mandate  { border-color: rgba(196,139,94,0.44);  color: #d9a26d; background: rgba(196,139,94,0.06); }

.lesson-duration {
  font-family: var(--az-font-sans);
  font-size: 0.8rem;
  color: var(--az-ink-dim);
  letter-spacing: 0.08em;
}
.lesson-duration::before {
  content: ''; display: inline-block;
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--az-ink-dim);
  vertical-align: middle;
  margin-right: 12px;
}

.lesson-hero h2,
#lsnTitle {
  font-family: var(--az-font-serif);
  font-weight: 400;
  font-size: clamp(2.2rem, 5.2vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -0.018em;
  margin: 0 0 24px;
  color: var(--az-ink);
  max-width: 18ch;
}
.lesson-tagline {
  font-family: var(--az-font-serif);
  font-style: italic;
  font-weight: 300;
  font-size: clamp(1.15rem, 1.7vw, 1.45rem);
  line-height: 1.5;
  color: var(--az-ink-dim);
  max-width: 52ch;
  margin: 0;
}

/* Body + aside */
.lesson-body-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 56px) clamp(20px, 5vw, 64px) clamp(64px, 10vw, 128px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: clamp(40px, 6vw, 88px);
  align-items: start;
}

.lesson-body {
  font-family: var(--az-font-serif);
  font-size: 1.22rem;
  line-height: 1.78;
  color: #d8d8dd;
  max-width: 68ch;
  padding-top: 8px;
  border-top: 1px solid var(--az-line);
}

.lesson-body > *:first-child { margin-top: 48px; }

.lesson-body p {
  margin: 0 0 1.55em;
  font-weight: 300;
  letter-spacing: 0.002em;
}

.lesson-body > p:first-of-type::first-letter {
  font-family: var(--az-font-serif);
  font-weight: 500;
  float: left;
  font-size: 5.2em;
  line-height: 0.86;
  padding: 0.08em 0.1em 0 0;
  color: var(--az-gold);
}

.lesson-body h2 {
  font-family: var(--az-font-serif);
  font-weight: 400;
  font-size: clamp(1.6rem, 2.6vw, 2.1rem);
  line-height: 1.18;
  letter-spacing: -0.012em;
  color: var(--az-ink);
  margin: 2.4em 0 0.7em;
  padding-top: 1.2em;
  border-top: 1px solid var(--az-line);
  position: relative;
}
.lesson-body h2::before {
  content: '';
  position: absolute;
  top: -1px; left: 0;
  width: 40px; height: 1px;
  background: var(--az-gold);
}
.lesson-body h3 {
  font-family: var(--az-font-sans);
  font-weight: 500;
  font-size: 0.82rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--az-gold);
  margin: 2.2em 0 0.8em;
}

.lesson-body blockquote {
  margin: 2em 0;
  padding: 4px 0 4px 28px;
  border-left: 2px solid var(--az-gold);
  font-family: var(--az-font-serif);
  font-style: italic;
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--az-ink);
}
.lesson-body ul, .lesson-body ol {
  margin: 0 0 1.5em;
  padding-left: 1.4em;
}
.lesson-body li { margin-bottom: 0.55em; }
.lesson-body a {
  color: var(--az-gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(201,169,110,0.32);
  transition: border-color 180ms var(--az-ease, ease);
}
.lesson-body a:hover { border-bottom-color: var(--az-gold); }
.lesson-body strong { color: var(--az-ink); font-weight: 500; }
.lesson-body em { font-style: italic; color: #c8c4b8; }
.lesson-body hr {
  border: none;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--az-line), transparent);
  margin: 3em 0;
}
.lesson-body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.92em;
  padding: 2px 6px;
  background: rgba(255,255,255,0.04);
  border-radius: 3px;
  color: #e6d7b3;
}

/* Aside */
.lesson-aside {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  font-family: var(--az-font-sans);
}
.lesson-aside-block {
  padding: 28px 24px;
  border: 1px solid var(--az-line);
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(255,255,255,0.015), rgba(255,255,255,0));
}
.lesson-aside-block h4 {
  font-family: var(--az-font-sans);
  font-weight: 500;
  font-size: 0.72rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--az-gold);
  margin: 0 0 16px;
}
.lesson-aside-block ul {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lesson-aside-block li a {
  font-family: var(--az-font-serif);
  font-size: 1rem;
  line-height: 1.4;
  color: var(--az-ink);
  text-decoration: none;
  display: block;
  padding: 8px 0;
  border-bottom: 1px solid var(--az-line);
  transition: color 180ms var(--az-ease, ease);
}
.lesson-aside-block li:last-child a { border-bottom: none; }
.lesson-aside-block li a:hover { color: var(--az-gold); }

.lesson-companion-gate p {
  font-family: var(--az-font-serif);
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--az-ink-dim);
  margin: 0 0 16px;
}
.btn-gold-sm {
  display: inline-block;
  font-family: var(--az-font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--az-bg);
  background: var(--az-gold);
  padding: 12px 22px;
  border-radius: 99px;
  text-decoration: none;
  transition: transform 180ms var(--az-ease, ease), background 180ms var(--az-ease, ease);
}
.btn-gold-sm:hover { transform: translateY(-1px); background: #d4b989; }

/* Next up */
.lesson-next {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 64px) clamp(80px, 12vw, 140px);
}
.lesson-next .s-title {
  font-family: var(--az-font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--az-gold);
  margin-bottom: 18px;
}
.lesson-next-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 36px 40px;
  border: 1px solid var(--az-line);
  border-radius: 4px;
  background: linear-gradient(180deg, #0d0d13 0%, #0a0a10 100%);
  text-decoration: none;
  transition: transform 220ms var(--az-ease, ease), border-color 220ms var(--az-ease, ease);
}
.lesson-next-card:hover { transform: translateY(-2px); border-color: rgba(201,169,110,0.40); }
.lesson-next-title {
  font-family: var(--az-font-serif);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.25;
  color: var(--az-ink);
}
.lesson-next-arrow {
  font-family: var(--az-font-serif);
  font-size: 2rem;
  color: var(--az-gold);
}

/* Reading scroll tint */
#scrollProg {
  position: fixed; top: 0; left: 0;
  width: 0%; height: 2px;
  background: linear-gradient(90deg, var(--az-gold), #d9a26d);
  z-index: 1000;
  transition: width 90ms linear;
}

/* Responsive */
@media (max-width: 960px) {
  .lesson-body-wrap { grid-template-columns: 1fr; }
  .lesson-aside { position: static; order: 2; }
  .lesson-body { font-size: 1.12rem; }
}
@media (max-width: 640px) {
  .lesson-body { font-size: 1.05rem; line-height: 1.72; }
  .lesson-body > p:first-of-type::first-letter { font-size: 4em; }
  .lesson-next-card { flex-direction: column; align-items: flex-start; gap: 16px; padding: 28px 24px; }
}


/* ===== LESSON v3: readable body, card deck, fixed CTA ===== */

/* Body font: sans for comfort. Serif reserved for flair. */
.lesson-body, .lesson-body p, .lesson-body li {
  font-family: var(--az-font-sans, 'DM Sans', system-ui, sans-serif);
  font-size: 1.05rem;
  line-height: 1.75;
  color: #e6e6ea;
  font-weight: 400;
}
.lesson-body h2, .lesson-body h3 {
  font-family: var(--az-font-serif, 'Cormorant Garamond', serif);
  font-weight: 500;
  color: #f5f5f7;
}
.lesson-body strong { color: #fff; font-weight: 600; }
.lesson-body em {
  font-family: var(--az-font-serif, 'Cormorant Garamond', serif);
  font-style: italic;
  font-size: 1.08em;
  color: var(--az-gold, #c9a24a);
}
.lesson-body a { color: var(--az-gold, #c9a24a); text-decoration: none; border-bottom: 1px solid rgba(201,162,74,.4); }
.lesson-body a:hover { border-bottom-color: var(--az-gold); }

/* ---------- Card deck ---------- */
.lesson-deck {
  position: relative;
  margin: 0 auto;
  max-width: 760px;
}
.deck-meta {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 14px;
  font-family: var(--az-font-serif, 'Cormorant Garamond', serif);
  color: var(--az-gold, #c9a24a);
  font-style: italic;
}
.deck-step { font-size: 2.2rem; font-weight: 500; line-height: 1; }
.deck-total { font-size: 1rem; opacity: .6; }

.deck-stage {
  position: relative;
  min-height: 520px;
  perspective: 1600px;
}
.deck-card {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #0d0d12 0%, #08080c 100%);
  border: 1px solid rgba(201,162,74,.18);
  border-radius: 4px;
  padding: clamp(36px, 5vw, 64px) clamp(28px, 5vw, 60px);
  box-shadow:
    0 1px 0 rgba(201,162,74,.12) inset,
    0 40px 80px -30px rgba(0,0,0,.9),
    0 20px 40px -20px rgba(0,0,0,.7);
  opacity: 0;
  transform: translateX(40px) rotateY(-4deg);
  transition: opacity .5s ease, transform .55s cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  display: flex;
  flex-direction: column;
}
.deck-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--az-gold, #c9a24a), transparent);
  opacity: .7;
}
.deck-card.active {
  opacity: 1;
  transform: translateX(0) rotateY(0);
  pointer-events: auto;
  position: relative;
}
.deck-card.exit-left { opacity: 0; transform: translateX(-50px) rotateY(5deg); }
.deck-card.exit-right { opacity: 0; transform: translateX(50px) rotateY(-5deg); }
.deck-card.enter-right { opacity: 0; transform: translateX(50px) rotateY(-5deg); }
.deck-card.enter-left { opacity: 0; transform: translateX(-50px) rotateY(5deg); }

.deck-card-head { margin-bottom: 28px; }
.deck-card-rom {
  display: block;
  font-family: var(--az-font-serif, 'Cormorant Garamond', serif);
  font-style: italic;
  font-size: 3.2rem;
  line-height: 1;
  color: var(--az-gold, #c9a24a);
  margin-bottom: 6px;
  font-weight: 500;
}
.deck-card-eyebrow {
  display: block;
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .7rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(230,230,234,.5);
  margin-bottom: 14px;
}
.deck-card-title {
  font-family: var(--az-font-serif, 'Cormorant Garamond', serif) !important;
  font-weight: 500;
  font-size: clamp(1.8rem, 3.6vw, 2.7rem) !important;
  line-height: 1.15;
  color: #f5f5f7 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.deck-card-title::before { display: none !important; }
.deck-card-body {
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: 1.06rem;
  line-height: 1.78;
  color: #d9d9de;
  flex: 1;
}
.deck-card-body p { margin: 0 0 22px; }
.deck-card-body p:last-child { margin-bottom: 0; }
.deck-card-body ul, .deck-card-body ol { margin: 0 0 22px; padding-left: 22px; }
.deck-card-body li { margin-bottom: 10px; }

.deck-card-close {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid rgba(201,162,74,.2);
  text-align: center;
}
.deck-end-mark {
  display: inline-block;
  font-family: var(--az-font-serif, 'Cormorant Garamond', serif);
  font-style: italic;
  font-size: 1.6rem;
  color: var(--az-gold, #c9a24a);
  letter-spacing: .1em;
  margin-bottom: 8px;
}
.deck-card-close p {
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .9rem;
  color: rgba(230,230,234,.6);
  margin: 0;
}

/* Deck nav */
.deck-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 32px;
  padding: 0 4px;
}
.deck-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1px solid rgba(201,162,74,.35);
  color: #f2f2f5;
  padding: 12px 22px;
  border-radius: 2px;
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .3s ease;
}
.deck-btn:hover:not(:disabled) {
  background: var(--az-gold, #c9a24a);
  color: #0a0a0c;
  border-color: var(--az-gold, #c9a24a);
  transform: translateY(-1px);
}
.deck-btn:disabled { opacity: .3; cursor: not-allowed; }
.deck-dots {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  flex: 1;
}
.deck-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(230,230,234,.18);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: all .3s ease;
}
.deck-dot:hover { background: rgba(201,162,74,.5); }
.deck-dot.active {
  background: var(--az-gold, #c9a24a);
  transform: scale(1.4);
  box-shadow: 0 0 0 4px rgba(201,162,74,.15);
}
.deck-hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .72rem;
  color: rgba(230,230,234,.4);
  letter-spacing: .08em;
}
.deck-hint kbd {
  display: inline-block;
  padding: 3px 8px;
  border: 1px solid rgba(230,230,234,.2);
  border-bottom-width: 2px;
  border-radius: 3px;
  background: rgba(255,255,255,.03);
  font-family: inherit;
  font-size: .7rem;
  color: rgba(230,230,234,.7);
}

/* Pullquote inside cards */
.deck-card-body blockquote, .lesson-pullquote {
  font-family: var(--az-font-serif, 'Cormorant Garamond', serif);
  font-style: italic;
  font-size: 1.4rem;
  line-height: 1.45;
  color: #f0e6cf;
  border: none;
  border-left: 2px solid var(--az-gold, #c9a24a);
  padding: 6px 0 6px 22px;
  margin: 26px 0;
}

/* ---------- Reflect ---------- */
.lesson-reflect { padding: 72px 5% 20px; max-width: 820px; margin: 0 auto; }
.reflect-inner {
  border-top: 1px solid rgba(230,230,234,.1);
  border-bottom: 1px solid rgba(230,230,234,.1);
  padding: 48px 0;
  text-align: center;
}
.reflect-eyebrow {
  display: inline-block;
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--az-gold, #c9a24a);
  margin-bottom: 18px;
}
.reflect-prompt {
  font-family: var(--az-font-serif, 'Cormorant Garamond', serif);
  font-style: italic;
  font-size: 1.85rem;
  line-height: 1.4;
  color: #f2f2f5;
  max-width: 640px;
  margin: 0 auto 32px;
}
.reflect-mark {
  background: transparent;
  border: 1px solid var(--az-gold, #c9a24a);
  color: var(--az-gold, #c9a24a);
  padding: 12px 28px;
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .3s ease;
  border-radius: 2px;
}
.reflect-mark:hover { background: var(--az-gold, #c9a24a); color: #0a0a0c; }
.reflect-mark.done { background: var(--az-gold, #c9a24a); color: #0a0a0c; }

/* ---------- CTA (dark-theme correct) ---------- */
.lesson-cta { padding: 60px 5% 120px; max-width: 900px; margin: 0 auto; }
.lesson-cta-inner {
  background: linear-gradient(180deg, #0e0e14 0%, #08080c 100%);
  border: 1px solid rgba(201,162,74,.22);
  padding: clamp(44px, 5vw, 72px) clamp(28px, 5vw, 64px);
  position: relative;
  border-radius: 4px;
}
.lesson-cta-inner::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--az-gold, #c9a24a), transparent);
}
.lesson-cta-eyebrow {
  display: inline-block;
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--az-gold, #c9a24a);
  margin-bottom: 14px;
}
.lesson-cta-inner h3 {
  font-family: var(--az-font-serif, 'Cormorant Garamond', serif);
  font-weight: 500;
  font-size: clamp(1.9rem, 3.4vw, 2.8rem);
  line-height: 1.15;
  color: #f5f5f7;
  margin: 0 0 16px;
}
.lesson-cta-inner > p {
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: 1.02rem;
  line-height: 1.7;
  color: rgba(230,230,234,.78);
  max-width: 620px;
  margin: 0 0 36px;
}
.lesson-cta-inner label {
  display: block;
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .7rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(230,230,234,.55);
  margin-bottom: 8px;
}
.lesson-cta-inner input, .lesson-cta-inner textarea {
  width: 100%;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(230,230,234,.12);
  color: #f2f2f5;
  padding: 14px 16px;
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .95rem;
  border-radius: 2px;
  transition: border-color .25s ease;
}
.lesson-cta-inner input:focus, .lesson-cta-inner textarea:focus {
  outline: none;
  border-color: var(--az-gold, #c9a24a);
}
.lesson-cta-inner textarea { min-height: 110px; resize: vertical; }
.lesson-cta-inner .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.lesson-cta-inner .form-field.full { grid-column: 1 / -1; }
.lesson-cta-inner .form-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 28px;
  flex-wrap: wrap;
}
.lesson-cta-inner .form-note {
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .78rem;
  color: rgba(230,230,234,.5);
}
.lesson-cta-inner .btn-gold {
  background: var(--az-gold, #c9a24a);
  color: #0a0a0c;
  border: none;
  padding: 14px 32px;
  font-family: var(--az-font-sans, 'DM Sans', sans-serif);
  font-size: .8rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  border-radius: 2px;
  transition: all .3s ease;
}
.lesson-cta-inner .btn-gold:hover { transform: translateY(-1px); box-shadow: 0 10px 30px -10px rgba(201,162,74,.5); }

@media (max-width: 720px) {
  .deck-stage { min-height: 620px; }
  .lesson-cta-inner .form-grid { grid-template-columns: 1fr; }
  .deck-nav { flex-wrap: wrap; }
  .deck-dots { order: 3; width: 100%; margin-top: 10px; }
  .reflect-prompt { font-size: 1.35rem; }
}
