/* Collection: existing spectral palette, editorial product scale, quiet funding details. */
.shirts-page { --collection-blue: #799bff; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 999; padding: 1rem; background: var(--color-bg); color: var(--color-text); }
.skip-link:focus { top: 1rem; }
.shirts-page a:focus-visible, .shirts-page button:focus-visible, .shirts-page summary:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 5px; }
.shirts-page .header { top: 0; }
.collection-intro { padding-top: 88px; padding-bottom: 70px; }
.collection-label { font-size: .88rem; font-weight: 500; color: var(--color-text-muted); margin-bottom: 18px; }
.collection-intro h1 { font-family: var(--font-display); font-size: clamp(3.6rem, 7.7vw, 7rem); line-height: .98; letter-spacing: -.045em; font-weight: 600; }
.intro-bottom { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-top: 32px; }
.intro-bottom p { max-width: 650px; color: var(--color-text-muted); font-size: 1.12rem; }
.text-link { color: var(--color-text); text-decoration: underline; text-underline-offset: 5px; }
.intro-bottom .text-link { white-space: nowrap; }
.section-line { border-top: 1px solid var(--color-border-bright); padding-top: 23px; margin-bottom: 30px; display: flex; justify-content: space-between; gap: 15px; align-items: baseline; }
.section-line h2 { font-size: 1.15rem; font-weight: 500; }
.section-line > span { font-size: .8rem; color: var(--color-text-muted); }
.shirt { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(30px, 5vw, 80px); align-items: center; margin-bottom: 64px; }
.shirt-preview { position: relative; min-height: 490px; display: flex; align-items: center; justify-content: center; padding: 65px 36px; color: #eef0f7; overflow: hidden; background: #141722; border: 1px solid #292d3f; }
.preview-caption { position: absolute; top: 20px; left: 23px; font-size: .73rem; color: #acb4ca; }
.shirt-art { font-family: var(--font-mono); position: relative; }
.preview-friends .shirt-art { border-left: 2px solid #c1c7d5; padding-left: 22px; font-size: clamp(20px, 2.55vw, 34px); line-height: 1.6; }
.shirt-art > span { display: block; }
.ink-blue { color: var(--collection-blue); }
.code-slashes { position: absolute; left: -31px; top: -33px; font-size: 29px; }
.art-signature { border-top: 2px solid var(--collection-blue); margin-top: 21px; padding-top: 16px; font-size: .65rem; letter-spacing: .32em; }
.preview-burn { background: #100f18; }
.preview-burn .shirt-art { max-width: 340px; }
.burn-small { font-size: 1rem; max-width: 230px; line-height: 1.7; margin-bottom: 17px; }
.burn-big { font-family: var(--font-display); font-size: clamp(60px, 7vw, 100px); font-weight: 600; line-height: .98; letter-spacing: -.04em; }
.burn-outline { color: #bbabfb; }
.shirt-content h3 { font-family: var(--font-display); font-size: clamp(1.9rem, 3vw, 2.8rem); line-height: 1.1; letter-spacing: -.025em; margin-bottom: 18px; }
.shirt-description { color: var(--color-text-muted); max-width: 45ch; }
.shirt-funding { margin: 26px 0; border-left: 2px solid var(--color-blue); padding: 2px 0 2px 18px; }
.funding-label { display: block; font-size: .75rem; color: var(--color-text-muted); margin-bottom: 4px; }
.shirt-funding strong { font-size: 1rem; }
.shirt-funding p { font-size: .85rem; color: var(--color-text-muted); margin-top: 9px; max-width: 49ch; }
.release-status { font-size: .88rem; color: var(--color-text); margin-bottom: 14px; }
.funding-link { display: block; width: fit-content; font-size: .8rem; margin-top: 20px; }
.shirt-price { margin-bottom: 12px; }
.funding-section { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-top: 55px; padding-bottom: 90px; }
.section-heading h2, .criteria-layout h2, .newsletter-band h2 { font-family: var(--font-display); font-size: clamp(2rem, 3.8vw, 3.4rem); line-height: 1.12; letter-spacing: -.025em; margin-bottom: 23px; }
.section-heading > p:last-child, .criteria-layout > div > p:last-child { max-width: 41ch; color: var(--color-text-muted); }
.funding-copy article { margin-bottom: 28px; }
.funding-copy h3, .criteria-list h3 { font-size: 1.05rem; margin-bottom: 9px; font-weight: 600; }
.funding-copy p, .criteria-list p { color: var(--color-text-muted); font-size: .94rem; }
.funding-copy details { border-top: 1px solid var(--color-border-bright); border-bottom: 1px solid var(--color-border-bright); padding: 18px 0; }
.funding-copy summary { cursor: pointer; font-size: .92rem; }
.funding-copy details p { margin-top: 15px; }
.quiet-note { font-size: .8rem !important; color: var(--color-text-muted); margin-top: 24px; }
.criteria-band { background: var(--color-bg-2); border-block: 1px solid var(--color-border); padding: 80px 0; }
.criteria-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.criteria-list { list-style: none; counter-reset: criteria; }
.criteria-list li { position: relative; padding: 0 0 25px 44px; counter-increment: criteria; }
.criteria-list li::before { content: counter(criteria, decimal-leading-zero); position: absolute; left: 0; top: 1px; font-family: var(--font-mono); font-size: .8rem; color: var(--color-text-muted); }
.criteria-list li:last-child { padding-bottom: 0; }
.project-section { padding-top: 85px; padding-bottom: 85px; }
.section-description { max-width: 78ch; color: var(--color-text-muted); margin-bottom: 36px; }
.project-row { display: grid; grid-template-columns: .8fr 1.6fr 1fr; gap: 30px; padding: 30px 0; border-bottom: 1px solid var(--color-border); align-items: start; }
.project-status { color: var(--color-text-muted); font-size: .73rem; }
.project-row h3 { font-family: var(--font-display); font-size: 1.8rem; margin-top: 8px; }
.project-row p { color: var(--color-text-muted); font-size: .9rem; margin-bottom: 13px; }
.project-row a { font-size: .82rem; color: var(--color-accent); text-decoration: underline; text-underline-offset: 4px; }
.project-row .project-disclosure { font-size: .79rem; }
.sponsor-link { justify-self: end; }
.newsletter-band { background: var(--color-bg-2); padding: 55px 0; border-block: 1px solid var(--color-border); }
.newsletter-band .wrap { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.newsletter-band p { color: var(--color-text-muted); max-width: 55ch; }
.newsletter-band h2 { margin-bottom: 16px; }
.shirts-footer { padding-block: 35px; display: flex; justify-content: space-between; gap: 24px; align-items: center; font-size: .8rem; color: var(--color-text-muted); }
@media (max-width: 800px) {
.collection-intro { padding-top: 55px; padding-bottom: 45px; }
.intro-bottom { display: block; }.intro-bottom .text-link { display: inline-block; margin-top: 23px; }
.shirt { grid-template-columns: 1fr; gap: 26px; }.shirt-preview { min-height: 380px; }
.preview-friends .shirt-art { font-size: clamp(20px, 5.7vw, 33px); }
.section-line { display: block; }.section-line > span { display: block; margin-top: 9px; }
.funding-section, .criteria-layout { grid-template-columns: 1fr; gap: 35px; }
.funding-section { padding-top: 15px; padding-bottom: 55px; }.criteria-band { padding: 55px 0; }
.project-row { grid-template-columns: 1fr; gap: 15px; }.sponsor-link { justify-self: start; }
.newsletter-band .wrap { align-items: start; flex-direction: column; }.shirts-footer { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .shirts-page { scroll-behavior: auto; } }

.shirt-preview.preview-image { display: block; min-height: 0; padding: 0; background: #101114; }
.preview-image > a { display: block; }
.preview-image img { display: block; width: 100%; height: auto; }
.concept-caption { padding: 15px 19px; color: #acb4ca; font-size: .75rem; line-height: 1.6; }

/* The project leads; its shirt is the participation point. */
.collection-intro { padding-top: 58px; padding-bottom: 52px; }
.collection-intro h1 { font-size: clamp(2.8rem, 5.1vw, 4.8rem); line-height: 1.05; }
.intro-bottom { margin-top: 23px; }
.featured-project { background: var(--color-bg-2); border-block: 1px solid var(--color-border-bright); padding: 30px 0 52px; }
.feature-heading { display:flex; justify-content:space-between; gap:20px; align-items:baseline; border-bottom:1px solid var(--color-border-bright); padding-bottom:24px; font-size:.85rem; }
.feature-heading p { color:var(--color-text-muted); }
.feature-heading a { text-decoration:underline; text-underline-offset:5px; }
.project-hero { display:grid; grid-template-columns:1fr 1.15fr; gap:65px; align-items:center; padding:54px 0 48px; }
.project-identity { display:grid; grid-template-columns:120px 1fr; gap:20px; align-items:center; }
.project-identity img { width:120px; height:120px; }
.project-identity h2 { font-family:var(--font-display); font-size:clamp(4rem,8vw,7.5rem); font-weight:600; line-height:1; letter-spacing:-.05em; }
.project-identity p { grid-column:1/-1; font-size:1.3rem; margin-top:8px; }
.project-story h3 { font-size:1.5rem; line-height:1.3; margin-bottom:18px; font-weight:500; }
.project-story > p { color:var(--color-text-muted); font-size:.94rem; margin-bottom:16px; }
.project-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:24px; }
.project-actions .text-link { font-size:.8rem; }
.project-story .feature-note { font-size:.74rem; margin-top:17px; margin-bottom:0; }
.project-shirt-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; padding-top:30px; margin-bottom:28px; border-top:1px solid var(--color-border-bright); }
.project-shirt-heading .collection-label { margin-bottom:8px; }
.project-shirt-heading h3 { font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.15; }
.project-shirt-heading > p { font-size:.78rem; color:var(--color-text-muted); }
#featured-shirts .shirt { grid-template-columns:1.65fr 1fr; gap:36px; margin-bottom:0; }
#featured-shirts .shirt-content h3 { font-size:1.9rem; }
.next-collection { padding-top:64px; padding-bottom:10px; }
.next-heading { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:28px; }
.next-heading h2 { font-family:var(--font-display); font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.15; }
.next-heading p:last-child { color:var(--color-text-muted); max-width:43ch; font-size:.9rem; }
.next-collection .shirt { grid-template-columns:.7fr 1fr; gap:45px; }
.next-collection .shirt-preview { min-height:320px; }
.next-collection .shirt-content h3 { font-size:1.8rem; max-width:25ch; }
.next-collection .burn-big { font-size:72px; }
.project-section .section-line h2 { font-family:var(--font-display); font-size:clamp(1.6rem,3vw,2.5rem); }
@media(max-width:800px) {
.project-hero { grid-template-columns:1fr; gap:30px; padding-block:32px; }
.project-identity { grid-template-columns:85px 1fr; gap:15px; }
.project-identity img { width:85px; height:85px; }.project-identity h2 { font-size:5rem; }
.project-identity p { font-size:1.15rem; }
.project-shirt-heading, .next-heading { display:block; }.project-shirt-heading > p, .next-heading > p { margin-top:18px; }
#featured-shirts .shirt, .next-collection .shirt { grid-template-columns:1fr; gap:25px; }
.feature-heading { flex-direction:column; gap:10px; }
}
@media(max-width:400px) {
  .next-collection .burn-big { font-size:58px; }
  .next-collection .shirt-preview { padding-inline:24px; }
}
@media(max-width:400px) {
  .project-identity { grid-template-columns:65px minmax(0,1fr); gap:12px; }
  .project-identity img { width:65px; height:65px; }
  .project-identity h2 { font-size:4rem; }
}


/* Shirt and project share one row on desktop. */
.collection-intro h1 { max-width:1050px; font-size:clamp(2.6rem,4.6vw,4.5rem); line-height:1.08; }
.collection-intro { padding-bottom:56px; }
#featured-shirts .shirt { grid-template-columns:1.3fr 1fr; gap:48px; align-items:center; margin-bottom:74px; }
.shirt-project-identity { display:flex; align-items:center; gap:18px; margin-bottom:14px; }
.shirt-project-identity img { width:66px; height:66px; }
.shirt-project-identity h2 { font-family:var(--font-display); font-size:4.4rem; line-height:1; letter-spacing:-.04em; }
.project-tagline { font-size:1.2rem; margin-bottom:16px; }
.shirt-release { margin-top:27px; padding-top:23px; border-top:1px solid var(--color-border-bright); }
#featured-shirts .shirt-release h3 { font-size:1.6rem; margin-bottom:10px; }
.contributor-note { color:var(--color-text-muted); font-size:.78rem; line-height:1.6; margin-top:19px; margin-bottom:18px; }
.next-beneficiary { color:var(--color-text-muted); font-size:.85rem; margin-top:20px; margin-bottom:15px; }
#shirt-catalog .shirt { border-top:1px solid var(--color-border-bright); padding-top:45px; grid-template-columns:1.3fr 1fr; gap:48px; }
@media(max-width:680px) { #featured-shirts .shirt, #shirt-catalog .shirt { grid-template-columns:1fr; gap:28px; } }

/* A playful name paired with the people the collection supports. */
.collection-intro .intro-pair { display:grid; grid-template-columns: .9fr 72px 1.15fr; align-items:center; gap:32px; padding:12px 0 22px; }
.collection-intro .intro-name h1 { font-size:clamp(4rem,7.6vw,7.2rem); letter-spacing:-.055em; line-height:1; }
.intro-name > p { margin-top:19px; color:var(--color-text-muted); font-size:1.05rem; }
.intro-cross { font-family:var(--font-body); font-size:64px; font-weight:200; line-height:1; color:var(--color-violet); text-align:center; }
.intro-purpose .purpose-lead { font-size:clamp(1.35rem,2.05vw,1.9rem); font-weight:400; line-height:1.4; letter-spacing:-.015em; max-width:32ch; }
.intro-purpose .purpose-detail { margin-top:19px; max-width:49ch; font-size:.98rem; line-height:1.7; color:var(--color-text-muted); }
.intro-purpose .text-link { display:inline-block; margin-top:23px; font-size:.87rem; }
@media(max-width:800px) {
.collection-intro .intro-pair { grid-template-columns:1fr 1.1fr; gap:26px; position:relative; }
.intro-cross { display:none; }
.collection-intro .intro-name h1 { font-size:clamp(3.5rem,8vw,5rem); }
}
@media(max-width:560px) {
.collection-intro .intro-pair { grid-template-columns:1fr; gap:25px; }
.intro-cross { display:block; text-align:left; font-size:40px; }
.collection-intro .intro-name h1 { font-size:4.5rem; }
}

.intro-name .shairts-ai { color: var(--color-violet); }

.candidate-funding { justify-self:end; color:var(--color-text-muted); font-size:.8rem; }
@media(max-width:800px) { .candidate-funding { justify-self:start; } }

.merch-attribution { margin-top:36px; padding-top:22px; border-top:1px solid var(--color-border); max-width:95ch; font-size:.78rem; line-height:1.7; color:var(--color-text-muted); }
