:root {
  --lecture-ink: #294d36;
  --lecture-sage: #82946b;
  --lecture-mist: #e9eee1;
  --lecture-cream: #f2f4ec;
  --lecture-paper: #f8faf3;
  --lecture-light: #d9e3ca;
}

.lecture-page {
  --slide-height: 100vh;
  background: var(--lecture-cream);
  color: var(--lecture-ink);
  overflow: hidden;
}

body:has(.lecture-page) > .mast,
body:has(.lecture-page) > .footer { display: none; }

.lecture-deck {
  height: var(--slide-height);
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.lecture-deck::-webkit-scrollbar { display: none; }

.lecture-slide {
  position: relative;
  min-height: var(--slide-height);
  display: grid;
  align-items: center;
  overflow: hidden;
  scroll-snap-align: start;
}

.lecture-slide:nth-child(odd) { background: var(--lecture-mist); }

.slide-inner {
  position: relative;
  width: min(1360px, calc(100% - 100px));
  min-height: var(--slide-height);
  display: grid;
  align-content: center;
  padding: 64px 0 94px;
}

.slide-meta {
  position: absolute;
  top: 38px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.slide-meta span:last-child { color: var(--lecture-sage); }

.title-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(250px, .7fr);
  align-items: center;
  gap: 7vw;
}

.lecture-slide h1,
.lecture-slide h2,
.takeaway-copy h2 {
  font-family: WenYuan, serif;
  letter-spacing: -.08em;
  line-height: 1.06;
}

.lecture-slide h1 {
  max-width: 920px;
  margin: 26px 0 22px;
  font-size: clamp(56px, 8.8vw, 142px);
  transform: rotate(-1.2deg);
  text-shadow: 7px 7px 0 #fafbf499;
}

.lecture-slide h1 em,
.lecture-slide h2 em,
.takeaway-copy h2 em,
.create-equation em { color: var(--lecture-sage); font-style: normal; text-shadow: 5px 5px 0 var(--lecture-ink); }

.title-subline {
  max-width: 650px;
  margin: 0;
  font-size: clamp(18px, 2.1vw, 26px);
  font-weight: 750;
  line-height: 1.55;
}

.title-stamp {
  display: grid;
  grid-template-columns: 1fr 40px 1fr;
  align-items: center;
  gap: 8px;
  position: relative;
  padding: 36px 24px 58px;
  border: 3px solid var(--lecture-ink);
  background: var(--lecture-light);
  box-shadow: 12px 12px 0 var(--lecture-sage);
  transform: rotate(3deg);
}

.title-stamp::before { content: ''; position: absolute; left: 10%; right: 10%; top: 50%; height: 2px; background: var(--lecture-ink); }

.title-stamp span,
.title-stamp b,
.title-stamp strong {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  min-height: 72px;
  padding: 10px 8px;
  border: 2px solid var(--lecture-ink);
  background: var(--lecture-paper);
  font-family: WenYuan, serif;
  font-size: clamp(17px, 2vw, 26px);
  text-align: center;
}

.title-stamp b { min-height: auto; border: 0; background: transparent; font-family: system-ui, sans-serif; font-size: 28px; }
.title-stamp strong { background: var(--lecture-ink); color: var(--lecture-paper); }
.title-stamp small { position: absolute; bottom: 18px; left: 24px; font-size: 10px; font-weight: 900; letter-spacing: .1em; line-height: 1.55; }

.slide-hint { position: absolute; bottom: 35px; left: 0; margin: 0; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.slide-hint span { display: inline-block; margin-left: 9px; font-size: 18px; }

.slide-copy { max-width: 1000px; }
.slide-copy h2 { margin: 0; font-size: clamp(58px, 9vw, 138px); }
.slide-prompt { max-width: 730px; margin: 24px 0 0; font-size: clamp(19px, 2.2vw, 29px); font-weight: 750; line-height: 1.55; }
.slide-content { margin-top: 38px; }

.demo-slide .slide-inner { padding-top: 62px; padding-bottom: 84px; }
.demo-slide .slide-copy h2 { font-size: clamp(44px, 6vw, 76px); }
.demo-slide .slide-content { margin-top: 20px; }
.lecture-video-embed { width: min(100%, calc((100vh - 260px) * 16 / 9)); aspect-ratio: 16 / 9; margin-inline: auto; border: 2px solid var(--lecture-ink); background: #17251c; }
.lecture-video-embed iframe { display: block; width: 100%; height: 100%; border: 0; }
.demo-slide .slide-notes { margin-top: 12px; }

.statement-content { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr); align-items: center; gap: 7vw; }
.big-statement { font-family: WenYuan, serif; font-size: clamp(38px, 6vw, 92px); line-height: 1.12; letter-spacing: -.06em; }
.big-statement em { color: var(--lecture-sage); font-style: normal; }
.statement-divider { border-left: 9px solid var(--lecture-sage); padding: 16px 0 16px 28px; font-size: clamp(22px, 3vw, 42px); line-height: 1.4; }
.statement-divider strong { display: inline-block; margin-top: 7px; font-family: WenYuan, serif; font-size: 1.18em; }

.question-content { max-width: 1080px; }
.question-line { display: grid; grid-template-columns: 80px minmax(0, 1fr); column-gap: 20px; align-items: baseline; padding: 23px 0 22px; border-top: 2px solid var(--lecture-ink); }
.question-line:last-of-type { border-bottom: 2px solid var(--lecture-ink); }
.question-line span { font-size: 12px; font-weight: 900; letter-spacing: .1em; }
.question-line strong { font-family: WenYuan, serif; font-size: clamp(30px, 4vw, 56px); letter-spacing: -.05em; }
.question-line small { grid-column: 2; margin-top: 7px; font-size: clamp(15px, 1.6vw, 20px); line-height: 1.55; font-weight: 650; }

.create-content { max-width: 1120px; }
.create-equation { display: grid; grid-template-columns: 1fr 60px 1fr 60px 1.25fr; align-items: center; gap: 14px; }
.create-equation span, .create-equation strong { font-family: WenYuan, serif; font-size: clamp(31px, 4vw, 65px); line-height: 1.1; letter-spacing: -.06em; }
.create-equation b { font-size: 38px; text-align: center; }
.create-equation strong { padding: 22px; background: var(--lecture-ink); color: var(--lecture-paper); }
.create-equation strong em { text-shadow: none; }

.takeaway-slide { background: var(--lecture-ink) !important; color: var(--lecture-paper); }
.takeaway-copy p { margin: 0 0 25px; font-size: clamp(18px, 2vw, 25px); font-weight: 700; }
.takeaway-copy h2 { margin: 0; font-size: clamp(56px, 9vw, 138px); }
.takeaway-slide .slide-meta span:last-child, .takeaway-slide .slide-hint { color: var(--lecture-light); }

.slide-notes { max-width: 730px; margin-top: 35px; font-size: 15px; line-height: 1.8; }
.slide-notes summary { display: inline-flex; align-items: center; gap: 10px; border-bottom: 2px solid currentColor; padding: 4px 0; cursor: pointer; font-size: 12px; font-weight: 900; list-style: none; }
.slide-notes summary::-webkit-details-marker { display: none; }
.slide-notes summary::after { content: '+'; font-size: 19px; font-weight: 400; }
.slide-notes[open] summary::after { content: '−'; }
.slide-notes > div { margin-top: 15px; padding: 15px 19px; border-left: 4px solid var(--lecture-sage); background: #e3eadb; }
.slide-notes p { margin: 0 0 10px; }
.slide-notes p:last-child { margin-bottom: 0; }
.takeaway-slide .slide-notes > div { background: #2e573e; }

.deck-controls { position: fixed; z-index: 10; right: 42px; bottom: 28px; display: flex; align-items: center; gap: 15px; padding: 7px 10px; border: 2px solid var(--lecture-ink); background: var(--lecture-paper); box-shadow: 5px 5px 0 var(--lecture-sage); }
.deck-controls button { border: 0; background: transparent; color: var(--lecture-ink); cursor: pointer; }
.deck-controls > button { width: 32px; height: 32px; border: 2px solid var(--lecture-ink); border-radius: 50%; font-size: 19px; line-height: 1; }
.deck-controls > button:hover:not(:disabled), .deck-controls > button:focus-visible { background: var(--lecture-ink); color: var(--lecture-paper); }
.deck-controls button:disabled { opacity: .3; cursor: default; }
.deck-progress { display: flex; align-items: center; gap: 6px; min-width: 55px; font-size: 11px; font-weight: 900; }
.deck-progress i { width: 19px; height: 2px; background: var(--lecture-sage); }
.deck-dots { display: flex; gap: 6px; }
.deck-dots button { width: 7px; height: 7px; padding: 0; border-radius: 50%; background: var(--lecture-light); }
.deck-dots button[aria-current="true"] { background: var(--lecture-ink); transform: scale(1.55); }

@media (max-width: 850px) {
  .lecture-page { --slide-height: 100vh; }
  .slide-inner { width: calc(100% - 52px); }
  .title-layout, .statement-content { grid-template-columns: 1fr; gap: 32px; }
  .title-stamp { width: min(100%, 480px); margin-left: auto; transform: rotate(2deg) scale(.92); transform-origin: right center; }
  .slide-content { margin-top: 28px; }
  .deck-controls { right: 26px; }
}

@media (max-width: 650px) {
  .lecture-deck { scroll-snap-type: y proximity; }
  .slide-inner { width: calc(100% - 34px); min-height: var(--slide-height); padding-top: 56px; padding-bottom: 92px; }
  .slide-meta { top: 23px; }
  .lecture-slide h1 { margin: 20px 0 18px; font-size: clamp(45px, 13vw, 76px); }
  .title-subline { font-size: 17px; }
  .title-stamp { min-height: 154px; padding: 25px 14px 49px; transform: none; box-shadow: 7px 7px 0 var(--lecture-sage); }
  .title-stamp span, .title-stamp strong { min-height: 56px; font-size: 17px; }
  .title-stamp small { bottom: 12px; left: 14px; font-size: 8px; }
  .slide-copy h2, .takeaway-copy h2 { font-size: clamp(46px, 13vw, 72px); }
  .slide-prompt { margin-top: 17px; font-size: 17px; }
  .lecture-video-embed { width: 100%; }
  .statement-content { gap: 28px; }
  .big-statement { font-size: 39px; }
  .statement-divider { padding-left: 18px; font-size: 23px; }
  .question-line { grid-template-columns: 38px minmax(0, 1fr); column-gap: 10px; padding: 17px 0; }
  .question-line strong { font-size: 28px; }
  .question-line small { grid-column: 2; font-size: 14px; }
  .create-equation { grid-template-columns: 1fr 28px 1fr; gap: 7px; }
  .create-equation span, .create-equation strong { font-size: 31px; }
  .create-equation b { font-size: 25px; }
  .create-equation strong { grid-column: 1 / -1; padding: 15px; }
  .slide-notes { margin-top: 25px; font-size: 14px; }
  .deck-controls { right: 17px; bottom: 17px; gap: 10px; padding: 5px 7px; }
  .deck-dots { display: none; }
}

@media (prefers-reduced-motion: reduce) { .lecture-deck { scroll-behavior: auto; } }

/* Closing slide contact stays beneath the takeaway. */
.takeaway-slide .takeaway-copy h2 { font-size: clamp(40px, 6vw, 84px); }
.takeaway-slide .takeaway-copy p { margin-bottom: 16px; }
.lecture-contact { margin: 24px 0 0; display: flex; align-items: flex-end; gap: 20px; }
.lecture-contact img { display: block; width: auto; height: clamp(170px, 30vh, 290px); max-width: 65vw; object-fit: contain; background: white; }
.lecture-contact figcaption { padding-bottom: 8px; font-size: 16px; font-weight: 700; color: var(--lecture-light); }
@media(max-width:650px) { .lecture-contact { gap: 12px; } .lecture-contact figcaption { font-size: 13px; } }

/* Half-screen QR on the closing slide. */
.takeaway-slide .slide-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4vw; align-items: center; }
.takeaway-slide .takeaway-copy h2 { font-size: clamp(38px, 5vw, 76px); }
.lecture-contact { margin: 0; height: calc(100dvh - 150px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-width: 0; }
.lecture-contact img { width: 100%; height: calc(100% - 36px); max-width: 100%; object-fit: contain; background: transparent; }
.lecture-contact figcaption { padding: 0; text-align: center; }
@media(max-width:650px) {
  .takeaway-slide .slide-inner { grid-template-columns: 1fr; gap: 22px; }
  .takeaway-slide .takeaway-copy h2 { font-size: 38px; }
  .lecture-contact { height: 50dvh; }
}

/* Revised seven-slide talk. */
.title-slide h1 { font-size: clamp(44px, 6.2vw, 100px); }
.learning-stamp { padding: 35px; border: 3px solid var(--lecture-ink); background: var(--lecture-light); box-shadow: 10px 10px 0 var(--lecture-sage); font-size: clamp(22px, 2.5vw, 38px); line-height: 1.6; transform: rotate(2deg); }
.learning-stamp strong { font-family: WenYuan, serif; font-size: 1.35em; line-height: 1.3; }
.intro-slide .slide-copy { max-width: none; text-align: center; }
.intro-slide h2 { font-size: clamp(70px, 12vw, 180px); }
.points-slide .slide-copy h2 { font-size: clamp(40px, 5.8vw, 88px); }
.lecture-points { list-style: none; counter-reset: point; margin: 35px 0 0; padding: 0; display: grid; gap: 22px; }
.lecture-points li { counter-increment: point; display: flex; align-items: baseline; gap: 24px; font-size: clamp(22px, 3vw, 42px); font-weight: 700; line-height: 1.5; }
.lecture-points li::before { content: '0' counter(point); flex-shrink: 0; font-size: 14px; color: var(--lecture-sage); font-weight: 900; }
@media(max-width:650px) { .title-slide h1 { font-size: 11vw; } .learning-stamp { padding: 18px 24px; } .lecture-points { gap: 20px; } .lecture-points li { gap: 12px; font-size: 23px; } }
