```css
/* styles.css */

/* Base + Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  color: #111827;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans",
    "Liberation Sans", sans-serif;
  line-height: 1.6;
}

/* Comfortable readable measure on large displays, good padding on mobile */
body {
  max-width: 80ch;
  margin-inline: auto;
  padding: clamp(16px, 3vw, 36px);
}

/* Typography */
h1,
h3 {
  margin: 0;
  font-weight: 650;
  letter-spacing: -0.01em;
}

h1 {
  font-size: clamp(1.55rem, 1.15rem + 1.2vw, 2.2rem);
  line-height: 1.25;
  margin-bottom: 0.75rem;
}

h3 {
  font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.25rem);
  line-height: 1.35;
  margin-top: 1.35rem;
  margin-bottom: 0.5rem;
  color: #111827;
}

/* Links */
a {
  color: #0b5bd3;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
}

a:visited {
  color: #5b4bbd;
}

a:hover {
  text-decoration-thickness: 0.12em;
}

a:focus-visible {
  outline: 3px solid rgba(11, 91, 211, 0.35);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Title link (h1 > a) */
h1 a {
  color: inherit;
  text-decoration: none;
}

h1 a:hover {
  text-decoration: underline;
  text-decoration-thickness: 0.12em;
  text-underline-offset: 0.16em;
}

/* Lists (Speakers) */
ul {
  margin: 0.25rem 0 0.75rem;
  padding-left: 1.25rem; /* consistent bullet indent on mobile */
}

li {
  margin: 0.28rem 0;
  padding-left: 0.15rem; /* small gap between bullet and text */
}

li::marker {
  color: #6b7280;
}

/* Line-break driven blocks (summary/transcript using <br/>) */
h3 + br,
h3 + br + br {
  display: none; /* prevent accidental extra top spacing in some generators */
}

p {
  margin: 0.5rem 0;
}

/* Default spacing after lists/blocks */
ul + h3 {
  margin-top: 1.5rem;
}

/* Subtle separation without heavy borders */
h3 {
  padding-top: 0.1rem;
}

h3 + ul,
h3 + a {
  margin-top: 0.35rem;
}

/* Make long URLs wrap nicely */
a,
li,
body {
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Improve legibility */
@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}

/* Print-friendly */
@media print {
  body {
    max-width: none;
    padding: 0;
    color: #000;
  }

  a {
    color: #000;
    text-decoration: underline;
  }
}
```