.tm-b { background: var(--cream); padding: 80px 0 120px; }
.tm-b__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  align-items: center;
}
@media (min-width: 900px) { .tm-b__grid { grid-template-columns: 1fr 1.1fr; gap: 80px; } }
.tm-b__photo { margin: 0; border-radius: var(--radius-lg); overflow: hidden; }
.tm-b__photo img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.tm-b__copy { max-width: 560px; }
.tm-b__quote {
  margin: 16px 0 32px;
  font-family: var(--font-serif);
  font-size: clamp(28px, 3.6vw, 44px);
  font-weight: 400;
  line-height: 1.15;
  color: var(--navy);
  letter-spacing: -0.015em;
}
.tm-b__copy p { color: var(--ink); font-size: 17px; line-height: 1.6; margin-bottom: 16px; }
.tm-b__sig { margin-top: 28px; color: var(--ink-muted); font-size: 14px; line-height: 1.5; border-top: 1px solid var(--line); padding-top: 20px; }
.tm-b__sig strong { color: var(--navy); font-size: 15px; }
.tm-b__dots { display: flex; gap: 10px; margin-top: 32px; }
.tm-b__dot { width: 28px; height: 2px; background: var(--line); border: 0; cursor: pointer; transition: background 0.15s; }
.tm-b__dot.is-active, .tm-b__dot:hover { background: var(--teal); }
