.talks-episodes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.talks-archive { margin-top: 1.5rem; }
.talks-archive summary { width: fit-content; padding: .9rem 1.2rem; border: 1px solid #bda378; color: #e2cba9; font-size: 1rem; cursor: pointer; }
.talks-archive .archive-hide, .talks-archive[open] .archive-show { display: none; }
.talks-archive[open] .archive-hide { display: inline; }
.talks-archive summary:focus-visible, #education-slides:focus-visible, .education-controls button:focus-visible { outline: 2px solid #d7c09d; outline-offset: 5px; }
.education-controls { display: none; }
.whatsapp-cta { position: fixed; right: max(1.25rem, env(safe-area-inset-right)); bottom: calc(1.25rem + env(safe-area-inset-bottom)); z-index: 40; display: inline-flex; align-items: center; gap: .65rem; max-width: calc(100vw - 2rem); min-height: 52px; padding: .85rem 1.2rem; box-sizing: border-box; border: 1px solid #ffffff40; border-radius: 32px; background: #176548; color: #fff; font-size: 1rem; font-weight: 600; line-height: 1.4; text-decoration: none; box-shadow: 0 5px 20px #0003; }
.whatsapp-cta svg { flex-shrink: 0; }
.whatsapp-cta:hover { background: #104f38; }
.whatsapp-cta:focus-visible { outline: 3px solid #bda378; outline-offset: 4px; }
footer { padding-bottom: calc(6.5rem + env(safe-area-inset-bottom)); }
@media (max-width: 540px) { .whatsapp-cta { right: 1rem; bottom: calc(.75rem + env(safe-area-inset-bottom)); font-size: .875rem; min-height: 48px; padding: .7rem 1rem; } }
@media (max-width: 900px) {
  .experience-gallery.curated { display: flex; gap: 1rem; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #bda378 #1b1d1b; }
  .experience-gallery.curated .experience-photo:nth-child(n) { flex: 0 0 100%; min-width: 0; height: clamp(320px, 60svh, 480px); margin: 0; scroll-snap-align: start; }
  .experience-gallery.curated .experience-photo img { object-fit: contain; object-position: center; }
  .experience-gallery.curated figcaption { font-size: .875rem; line-height: 1.5; letter-spacing: normal; right: 1rem; color: #fff; }
  .education-controls:not([hidden]) { display: flex; justify-content: center; align-items: center; gap: 1.5rem; margin-top: 1rem; }
  .education-controls button { width: 48px; height: 48px; border: 1px solid #bda378; border-radius: 50%; color: #fff; background: transparent; font-size: 1.25rem; cursor: pointer; }
  .education-controls button:disabled { opacity: .35; cursor: default; }
  .education-count { font-size: .875rem; font-variant-numeric: tabular-nums; }
}
@media (max-width: 700px) { .talks-episodes { grid-template-columns: 1fr; } }
