.recap-teams{gap:0;max-width:46rem;margin:0;padding:0;list-style:none;display:grid}.recap-team{border-top:1px solid var(--border-subtle);font-family:var(--font-display), sans-serif;letter-spacing:-.01em;text-transform:uppercase;padding:.85rem 0;font-size:clamp(1.1rem,3.5vw,1.4rem);font-weight:700}.recap-team:last-child{border-bottom:1px solid var(--border-subtle)}.recap-grid{margin:0 calc(-1 * var(--wall-x));grid-template-columns:1fr 1fr;gap:2px;padding:0;list-style:none;display:grid}.recap-cell{background:color-mix(in oklab, var(--brand) 28%, var(--ink));border-radius:2px;position:relative;overflow:hidden}.recap-cell--wide{grid-column:span 2}.recap-cell--tall{grid-row:span 2}.recap-cell-btn{appearance:none;width:100%;height:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;display:block}.recap-cell-img{aspect-ratio:4/5;object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.recap-cell--wide .recap-cell-img{aspect-ratio:16/9;object-position:center}.recap-caption{background:linear-gradient(to top, color-mix(in oklab, var(--ink) 88%, transparent), transparent);letter-spacing:.06em;text-transform:uppercase;padding:1.4rem .85rem .7rem;font-size:.82rem;font-weight:600;position:absolute;inset:auto 0 0}.recap-dialog{border:1px solid var(--border-warm);background:var(--ink);width:min(92vw,56rem);max-height:92svh;color:var(--paper);border-radius:2px;padding:0}.recap-dialog::backdrop{background:color-mix(in oklab, var(--ink) 82%, black)}.recap-dialog-figure{flex-direction:column;align-items:center;margin:0;display:flex}.recap-dialog-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:76svh;display:block}.recap-dialog-caption{color:var(--mist);margin:0;padding:.85rem 1rem .2rem;font-size:1.05rem}.recap-dialog-nav{justify-content:space-between;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.recap-dialog-nav-btn,.recap-dialog-close{cursor:pointer}@media (min-width:800px){.recap-grid{grid-template-columns:repeat(4,1fr)}.recap-cell--wide{grid-column:span 2}}@media (prefers-reduced-motion:reduce){.recap-dialog{animation:none}}
.winners{gap:0;margin:0;padding:0;list-style:none;display:grid}.winner-row{border-top:1px solid var(--border-subtle);gap:.35rem;padding:1.4rem 0;display:grid}.winner-row:last-child{border-bottom:1px solid var(--border-subtle)}.winner-place{letter-spacing:.1em;text-transform:uppercase;color:var(--action);margin:0;font-size:.82rem;font-weight:600}.winner-name{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;text-transform:uppercase;margin:0;font-size:clamp(1.8rem,8vw,2.4rem);font-weight:700;line-height:1.15}.winner-project,.winner-members{color:var(--mist);margin:0;font-size:1.05rem}
