.tt-hb31,
.tt-hb31 * { box-sizing: border-box; }
.tt-hb31 { padding: 18px 32px 48px; background: #fff; color: #14171d; }
.tt-hb31-inner { max-width: 680px; margin: 0 auto; }
.tt-hb31-figure { margin: 0; }
.tt-hb31 .tt-hb31-photo { display: block; width: 100%; height: auto; aspect-ratio: 1.92 / 1; margin: 0; border-radius: 6px; object-fit: cover; object-position: center top; }
.tt-hb31 figcaption { margin: 0; padding: 14px 0 0; background: transparent; color: #14171d; font-style: normal; text-align: left; }
.tt-hb31-order { display: block; margin-bottom: 10px; color: #6b7078; font-size: 11px; line-height: 1.5; }
.tt-hb31-people { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tt-hb31-person { display: block; min-width: 0; }
.tt-hb31-person strong { display: block; color: #14171d; font-size: 15px; font-weight: 700; line-height: 1.4; }
.tt-hb31-person > span { display: block; margin-top: 3px; color: #555c65; font-size: 13px; line-height: 1.5; }
.tt-hb31--gibson { padding-top: 36px; padding-bottom: 0; }
.tt-hb31--gibson .tt-hb31-photo { aspect-ratio: 1.83 / 1; }
.tt-hb31--gibson .tt-hb31-people { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 600px) {
    .tt-hb31 { padding: 12px 18px 32px; }
    .tt-hb31-people { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .tt-hb31--gibson { padding-top: 24px; padding-bottom: 0; }
    .tt-hb31--gibson .tt-hb31-people { grid-template-columns: 1fr; gap: 14px; }
}
