/* Revisão de respiro visual: mesma composição, conteúdo e paleta. */
.alternative-card { padding: 0; overflow: hidden; }
.alternative-copy { padding: 24px; }
.alternative-look { background-image: url('assets/referencias-extras.png'); background-repeat: no-repeat; background-size: 400% 400%; aspect-ratio: 2 / 3; }
.hero { aspect-ratio: 1024 / 1120; }
.hero:after { inset: auto 0 0; height: 2%; }
.invite { padding-top: 14px; }
.invite .date { margin: 0 0 22px; }
.invite .venue { margin-bottom: 10px; }
.invite .address { margin: 0 0 44px; }
.invite .costume-title { max-width: 520px; padding: 9px 10px; font-size: clamp(18px, 2.8vw, 23px); margin-bottom: 12px; }
.invite .costume-note { margin-bottom: 0; font-size: 16px; line-height: 1.5; }
.invite .text-cta { margin: 28px 0 36px; font-size: 15px; }
.invite .action-stack { gap: 18px; }
.invite .primary { padding: 15px 26px; }
.invite .routes { margin: 36px 0 22px; }
.invite .brands { margin-top: 54px; }
.invite .brandrow { margin-top: 26px; gap: 32px; }
.teaser .costume-title { margin-top: 36px; }
.teaser .costume-note + p { margin: 28px 0 0; }
@media(max-width: 480px) {
  .invite { padding-inline: 16px; padding-top: 12px; }
  .invite .date { font-size: clamp(19px, 5.4vw, 24px); margin-bottom: 20px; }
  .invite .venue { font-size: clamp(17px, 4.5vw, 21px); }
  .invite .address { font-size: clamp(10px, 2.85vw, 13px); white-space: nowrap; margin-bottom: 34px; }
  .invite .costume-title { font-size: clamp(16px, 4.2vw, 19px); }
  .invite .costume-note { font-size: 15px; }
  .invite .text-cta { font-size: 13px; margin: 26px 0 32px; }
  .invite .primary { font-size: clamp(12px, 3.4vw, 14px); padding: 15px 20px; }
  .invite .action-stack .small { font-size: 12px; }
  .invite .routes { gap: 16px; }
  .invite .brands { padding-inline: 0; margin-top: 46px; }
}
