/* Presentation mode: one slide per screen, larger type for projection */
body.present { font-size: 19px; }
.present main { scroll-snap-type: y mandatory; height: 100vh; overflow-y: auto; }
.present .slide { height: 100vh; min-height: 0; padding: calc(var(--bar) + 18px) 32px 24px; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden; }
.present .wrap { max-width: 1240px; }
.present h2 { font-size: clamp(1.8rem, 3.2vw, 2.5rem); margin-bottom: .5em; }
.present .topbar .spacer { flex: 1; }
.present .speaker { font-weight: 700; color: var(--blue); font-size: .95rem; }
.present .presenters { font-size: 1.3rem; color: #fff; margin-top: 30px; }
.present .band { margin-top: 16px; background: var(--navy); color: #e6edf6; border-radius: var(--radius); padding: 14px 20px; }
.present .band b { color: #fff; font-family: var(--serif); font-size: 1.3em; margin-right: 8px; }
.present .band.small b { font-family: var(--sans); font-size: 1em; }
.present .pcard { min-height: 205px; }
.present .rb { margin-top: 14px; padding: 12px 16px; }
.present .lab { gap: 14px 24px; }
.present .lab-out .big { font-size: 2.2rem; }
.present .timeline { margin: 16px 0; }
.present .decisions { gap: 6px; }
.present .dec summary { padding: 10px 16px; }
.present .sources { font-size: .9rem; }
.present .sources li { margin-bottom: 4px; }
@media (max-width: 900px) {
  .present .slide { height: auto; min-height: 100vh; overflow: visible; }
  .present main { scroll-snap-type: none; }
}
.present .presenters-sub { color: #c9d6e6; font-size: 1rem; margin-top: 6px; }
