.group-qr { display: flex; align-items: center; gap: 1.25rem; }
.group-qr .qr { flex: 0 0 auto; max-width: 42%; height: auto; }
.group-qr p { max-width: 28rem; }
.poster-page { margin: 0; padding: 1.5rem; background: #e8edf5; color: #12223d; color-scheme: light; }
.poster-tools { max-width: 186mm; margin: 0 auto 1.5rem; display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.poster-tools p { flex-basis: 100%; font-size: .9rem; margin: 0; }
.challenge-poster { box-sizing: border-box; width: 100%; max-width: 186mm; min-height: 267mm; margin: 0 auto; padding: 14mm; background: #fff; display: flex; flex-direction: column; gap: 8mm; border-top: 4mm solid #065dff; overflow-wrap: anywhere; }
.challenge-poster__brand { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 6mm; border-bottom: 1px solid #cbd5e1; }
.challenge-poster__brand strong { font-size: 1.7rem; color: #065dff; }
.challenge-poster__brand span { text-align: right; }
.challenge-poster__eyebrow { color: #065dff; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .85rem; margin: 0 0 4mm; }
.challenge-poster h1 { font-size: clamp(2rem, 7vw, 3.6rem); line-height: 1.08; letter-spacing: -.035em; margin: 0 0 5mm; }
.challenge-poster h1.challenge-poster__title--long { font-size: 2.4rem; }
.challenge-poster__dates { font-size: 1.1rem; }
.challenge-poster__stats { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3mm 7mm; font-size: 1.2rem; }
.challenge-poster__stats strong { font-size: 2rem; }
.challenge-poster__profile { width: 100%; height: auto; color: #065dff; border-bottom: 1px solid #cbd5e1; }
.challenge-poster__pitch { font-size: 1.3rem; line-height: 1.5; margin: 0; }
.challenge-poster__join { display: flex; gap: 6mm; align-items: center; margin-top: auto; }
.challenge-poster__join .qr { flex: 0 0 auto; width: 48mm; height: 48mm; }
.challenge-poster__join h2 { font-size: 1.6rem; margin: 0 0 3mm; }
.challenge-poster__join p { margin: 0 0 3mm; line-height: 1.5; }
.challenge-poster__privacy { color: #475569; font-size: .85rem; }
.challenge-poster__footer { display: flex; justify-content: space-between; gap: 4mm; border-top: 1px solid #cbd5e1; padding-top: 5mm; font-size: .75rem; color: #475569; }
@media (max-width: 540px) {
  .poster-page { padding: .75rem; }
  .challenge-poster { padding: 7mm; gap: 6mm; min-height: auto; }
  .challenge-poster__join { flex-direction: column; text-align: center; }
  .challenge-poster__footer { flex-direction: column; }
}
@media print {
  @page sillage-poster { size: A4 portrait; margin: 12mm; }
  .poster-page { padding: 0; background: #fff; }
  .poster-tools { display: none; }
  .challenge-poster { page: sillage-poster; width: 186mm; max-width: none; min-height: 267mm; margin: 0; padding: 12mm; gap: 7mm; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .challenge-poster h1 { font-size: 3.6rem; }
  .challenge-poster__join { flex-direction: row; text-align: left; break-inside: avoid; }
  .challenge-poster__footer { flex-direction: row; }
}
