.portal-showcase { width: min(1120px, 100% - 48px); margin: 72px auto; }
.portal-showcase-heading { max-width: 740px; margin-bottom: 30px; }
.portal-showcase-heading h2 { margin: 10px 0 8px; font-size: clamp(26px, 3vw, 38px); line-height: 1.25; }
.portal-showcase-heading > p:last-child { color: var(--portal-muted); }
.portal-story { display: grid; grid-template-columns: minmax(0, .77fr) minmax(0, 1.23fr); gap: 32px; align-items: center; padding: 38px 0; border-top: 1px solid var(--portal-line); }
.portal-story:nth-of-type(even) { grid-template-columns: minmax(0, 1.23fr) minmax(0, .77fr); }
.portal-story:nth-of-type(even) .portal-story-copy { grid-column: 2; grid-row: 1; }
.portal-story:nth-of-type(even) figure { grid-column: 1; grid-row: 1; }
.portal-story-index { font-size: 13px; letter-spacing: .14em; color: var(--portal-accent); }
.portal-story h3 { margin: 12px 0; font-size: clamp(21px, 2vw, 27px); line-height: 1.35; }
.portal-story p { color: var(--portal-muted); max-width: 54ch; }
.portal-story figure { margin: 0; min-width: 0; }
.portal-story figure a { display: block; border: 1px solid var(--portal-line); border-radius: 14px; overflow: hidden; box-shadow: 0 18px 45px rgba(0,0,0,.28); }
.portal-story figure img { display: block; width: 100%; height: auto; }
.portal-showcase-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.portal-showcase-cards a { display: flex; flex-direction: column; overflow: hidden; border-radius: 14px; border: 1px solid var(--portal-line); background: var(--portal-panel); }
.portal-showcase-cards img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.portal-showcase-cards strong { padding: 16px 18px 0; font-size: 18px; }
.portal-showcase-cards span { padding: 6px 18px 18px; font-size: 14px; color: var(--portal-muted); }
@media (max-width: 720px) {
  .portal-showcase { width: min(100% - 32px, 1120px); margin-block: 48px; }
  .portal-story, .portal-story:nth-of-type(even) { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 28px 0; }
  .portal-story:nth-of-type(even) .portal-story-copy, .portal-story:nth-of-type(even) figure { grid-column: auto; grid-row: auto; }
  .portal-showcase-cards { grid-template-columns: 1fr; }
}
