.portfolio-main { max-width: 1600px; margin: 0 auto; }
.portfolio-main > h1 { margin-bottom: 40px; }
.portfolio-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.portfolio-card { min-width: 0; border: 1px solid #fff; display: flex; flex-direction: column; }
a.portfolio-card:hover .portfolio-card-heading, a.portfolio-card:focus-visible .portfolio-card-heading { background: #fff; color: #000; }
.portfolio-card-heading { aspect-ratio: 2 / 1; display: flex; align-items: center; justify-content: center; padding: 12px; border-bottom: 1px solid #fff; text-align: center; }
.portfolio-card-heading h2 { font-size: clamp(14px, 1.5vw, 22px); line-height: 1.5; overflow-wrap: anywhere; }
.portfolio-thumbnail { position: relative; aspect-ratio: 1; width: 100%; overflow: hidden; }
.portfolio-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; image-rendering: auto; }
.portfolio-pending { position: absolute; bottom: 12px; left: 8px; right: 8px; text-align: center; font: 12px/1.4 Arial, Helvetica, sans-serif; background: #000; padding: 4px; }
.portfolio-status { margin-top: 24px; }
.portfolio-status:empty { display: none; }
.portfolio-more { display: block; margin: 32px auto 0; padding: 12px 24px; }
[data-portfolio-sentinel] { height: 1px; }
@media (max-width: 900px) { .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .portfolio-card-heading h2 { font-size: 18px; } }
@media (max-width: 420px) { .portfolio-card-heading h2 { font-size: 14px; } .portfolio-grid { gap: 12px; } }

.portfolio-back { display: inline-block; margin-bottom: 24px; }
.portfolio-breadcrumbs { display: flex; gap: 12px; margin-bottom: 24px; }

.portfolio-section { max-width: 880px; margin: 40px 0; }
.portfolio-section h2 { margin-bottom: 16px; }
.portfolio-inline-link { text-decoration: underline; text-underline-offset: 4px; }
.portfolio-growth-table { width: 100%; min-width: 0; font: 16px/1.5 Arial, Helvetica, sans-serif; }
.portfolio-growth-table th, .portfolio-growth-table td { padding: 12px; min-width: 0; }
.portfolio-growth-note { font: 14px/1.6 Arial, Helvetica, sans-serif; margin: 16px 0; }

.spotify-player { display: block; width: 100%; border: 0; margin-top: 24px; color-scheme: normal; }
