/* Own-version poster pages (src/posters/own.njk): grid, age-band switcher, official pointer. Tokens only. */
.poster-layout .sign-intro .lead { max-width: 720px; margin: 0; }
.poster-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--s4); }
.pcard2 { display: flex; flex-direction: column; background: var(--white); border: var(--bd-card); }
.pcard2__fig { margin: 0; background: var(--paper); padding: var(--s4); display: flex; justify-content: center; border-bottom: var(--bd-card); }
.pcard2__fig img { width: 100%; max-width: 220px; height: auto; background: var(--white); border: 2px solid var(--ink); }
.pcard2__body { padding: var(--s4); display: flex; flex-direction: column; gap: var(--s2); flex: 1; }
.pcard2__title { margin: 0; font-family: var(--font-body); font-weight: 700; font-size: 18px; line-height: 1.2; }
.pcard2__meta { margin: 0; }
.pcard2__btns { display: flex; flex-direction: column; gap: var(--s2); margin-top: auto; }
.pcard2__btns .btn { width: 100%; }
.pcard2__ink { margin: 0; }
.band { display: flex; flex-direction: column; gap: var(--s4); }
.band__title { margin: 0; padding-bottom: var(--s2); border-bottom: var(--bd-structural); font-family: var(--font-head); font-weight: 800; font-size: 34px; line-height: 1; text-transform: uppercase; }
.band__ages { font-family: var(--font-body); font-weight: 500; font-size: 16px; text-transform: none; color: var(--muted); }
.band[hidden] { display: none; }
.band-chips { display: none; flex-wrap: wrap; gap: var(--s2); }
.js .band-chips { display: flex; }
.chip { min-height: 48px; padding: 0 18px; border: var(--bd-card); background: var(--white); color: var(--ink); font-family: var(--font-body); font-weight: 700; font-size: 17px; cursor: pointer; border-radius: 0; }
.chip:hover { background: var(--paper); }
.chip[aria-pressed="true"] { background: var(--ink); color: var(--white); }
.chip__sub { font-weight: 500; font-size: 14px; }
.otp__sub { padding-left: var(--s4); font-size: 15px; }
.official-box { display: flex; flex-direction: column; gap: var(--s3); }
.official-box .section-head { margin: 0; }
@media (max-width: 599px) {
  .pcard2__fig { padding: var(--s3); }
  .pcard2__body { padding: var(--s3); }
  .band__title { font-size: 28px; }
  .chip { flex: 1 1 calc(50% - 8px); padding: 0 10px; }
}
.tag--band { margin-left: 4px; vertical-align: 2px; }
.set-list .tag--band:first-of-type { margin-left: 6px; }
