.ip-related-articles { margin-top: clamp(40px, 6vw, 64px); overflow-wrap: anywhere; }
.ip-related-articles > h2 { font-size: clamp(28px, 3.5vw, 36px); line-height: 1.3; margin: 0 0 28px; }
.ip-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ip-related-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--ip-line, var(--ip-tint-strong)); border-radius: 18px; overflow: hidden; background: #fff; }
.ip-related-image { display: block; aspect-ratio: 16/10; background: var(--ip-tint); }
.ip-related-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ip-related-copy { padding: 24px; display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
.ip-related-company { font-size: 15px; font-weight: 650; color: var(--ip-secondary); margin: 0 0 12px; }
.ip-related-copy h3 { font-size: 22px; line-height: 1.4; margin: 0 0 16px; }
.ip-related-copy h3 a { color: var(--ip-ink, var(--ip-ink)); text-decoration: none; }
.ip-related-copy h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ip-related-excerpt { font-size: 17px; line-height: 1.7; color: var(--ip-muted); margin: 0 0 22px; }
.ip-related-read { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; margin-top: auto; font-size: 16px; font-weight: 700; color: var(--ip-secondary); text-decoration: underline; text-underline-offset: 4px; }
.ip-related-card a:focus-visible { outline: 3px solid var(--ip-secondary); outline-offset: 3px; }
@media (max-width: 850px) { .ip-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 580px) { .ip-related-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; } .ip-related-copy { padding: 24px; } }
