.spr-tees {
    --spr-ink: #111;
    --spr-paper: #f6f2ec;
    --spr-accent: #e83e8c;
    color: var(--spr-ink);
    background: var(--spr-paper);
    padding: clamp(3rem, 7vw, 6rem) 1.25rem;
}

.spr-tees *, .spr-tees *::before, .spr-tees *::after { box-sizing: border-box; }
.spr-tees__inner { width: min(1180px, 100%); margin-inline: auto; }
.spr-tees__header { max-width: 720px; margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.spr-tees__eyebrow { margin: 0 0 .4rem; color: var(--spr-accent); font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.spr-tees__header h2 { margin: 0; font: 800 clamp(2.2rem, 6vw, 4.75rem)/.95 system-ui, sans-serif; letter-spacing: -.045em; }
.spr-tees__header > p:last-child { max-width: 610px; margin: 1rem 0 0; font: 400 clamp(1rem, 2vw, 1.2rem)/1.55 system-ui, sans-serif; }
.spr-tees__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.75rem); }
.spr-tees__card { overflow: hidden; display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid rgb(17 17 17 / 12%); border-radius: 1rem; box-shadow: 0 .8rem 2.5rem rgb(17 17 17 / 8%); }
.spr-tees__image-link { display: block; overflow: hidden; background: #eee; aspect-ratio: 3 / 4; }
.spr-tees__image-link img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .35s ease; }
.spr-tees__image-link:hover img { transform: scale(1.025); }
.spr-tees__card-body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.spr-tees__card h3 { margin: 0; font: 750 1.2rem/1.25 system-ui, sans-serif; }
.spr-tees__card-body > p { margin: .55rem 0 1.25rem; color: #56504c; font: 400 .98rem/1.5 system-ui, sans-serif; }
.spr-tees__card-footer { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-top: auto; }
.spr-tees__price { font: 800 1.05rem/1 system-ui, sans-serif; white-space: nowrap; }
.spr-tees__button { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: .7rem 1rem; color: #fff; background: var(--spr-ink); border-radius: 999px; font: 750 .9rem/1 system-ui, sans-serif; text-decoration: none; transition: background-color .2s ease, transform .2s ease; }
.spr-tees__button:hover { background: var(--spr-accent); transform: translateY(-1px); }
.spr-tees a:focus-visible { outline: 3px solid var(--spr-accent); outline-offset: 3px; }
.spr-tees__all { margin: 1.5rem 0 0; text-align: right; }
.spr-tees__all a { color: inherit; font: 750 1rem/1.4 system-ui, sans-serif; text-underline-offset: .22em; }

@media (max-width: 850px) { .spr-tees__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
    .spr-tees { padding-inline: 1rem; }
    .spr-tees__grid { grid-template-columns: 1fr; }
    .spr-tees__image-link { aspect-ratio: 4 / 5; }
    .spr-tees__all { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .spr-tees__image-link img, .spr-tees__button { transition: none; } }
