.tb-intro {
  background: #fff;
  padding: clamp(64px, 8vw, 96px) 0;
}

.tb-shell {
  width: min(calc(100% - 40px), 1080px);
  margin: 0 auto;
}

.tb-eyebrow {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--accent);
  margin: 0 0 8px;
}

.tb-title {
  font-family: var(--font-display);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--svc-ink);
  margin: 0 0 28px;
}

.tb-body {
  font-size: 15px;
  line-height: 2.1;
  letter-spacing: 0.06em;
  color: #5c5650;
  max-width: 980px;
  margin: 0;
}

.tb-feature {
  background: #f6f1e8;
  padding: clamp(56px, 6vw, 88px) 0;
}

.tb-feature + .tb-feature {
  background: #faf6ee;
}

.tb-feature__row {
  display: grid;
  grid-template-columns: 320fr 540fr;
  gap: clamp(40px, 6vw, 80px);
  align-items: center;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}

.tb-feature--reverse .tb-feature__row {
  grid-template-columns: 540fr 320fr;
}

.tb-feature__media {
  width: 100%;
  aspect-ratio: 320 / 400;
  background: #ede7df center/contain no-repeat;
  border-radius: 6px;
}

.tb-feature__media--yu {
  background-image: url('../../assets/tb-yu.png');
  background-size: cover;
}

.tb-feature__media--qing {
  background-image: url('../../assets/tb-qing.png');
  background-size: cover;
}

.tb-feature__name {
  font-family: var(--font-display);
  font-size: clamp(26px, 2.6vw, 32px);
  font-weight: 700;
  letter-spacing: 0.22em;
  color: var(--svc-ink);
  margin: 0 0 12px;
}

.tb-feature__sub {
  font-family: var(--font-display);
  font-size: clamp(16px, 1.6vw, 19px);
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--accent);
  margin: 0 0 24px;
}

.tb-feature__body {
  font-size: 14px;
  line-height: 2.05;
  letter-spacing: 0.06em;
  color: #5c5650;
  margin: 0;
}

@media (max-width: 767px) {  .tb-feature__row,
  .tb-feature--reverse .tb-feature__row {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .tb-feature__media {
    aspect-ratio: 4 / 5;
    max-width: 320px;
    margin: 0 auto;
  }
}

/* ----- Hero (per-page) ----- */
.tb-hero {
  width: 100%;
  aspect-ratio: 1440 / 450;
  background: url('../../assets/tb-hero.png') center/cover no-repeat;
}

@media (max-width: 767px) {
  .tb-hero {
    aspect-ratio: 4 / 3;
  }
}
