/* R162: approved City Drop colors and type; preserve existing composition. */
.homepage .hero-copy {
  padding: 16px 14px;
  background: rgba(11,11,11,.82);
  color: var(--white, #F2F2F2);
  text-shadow: none;
}
.homepage .hero-copy h1 { line-height: 1.08; }
.homepage .hero-copy .hero-value { font-size: 16px; line-height: 1.5; }
.homepage .hero-copy .eyebrow { letter-spacing: .12em; line-height: 1.5; }
.homepage .hero-copy .product-buy { max-width: 100%; min-width: 0; letter-spacing: .025em; white-space: normal; }
.homepage .hero-signoff { background: var(--black, #0B0B0B); padding: 5px 8px; }
.vip h2 { font-size: clamp(28px, 6vw, 38px); line-height: 1.12; overflow-wrap: break-word; }
.vip > p:not(.eyebrow):not(.vip-status), .vip-kit-items li,
.vip-kit-note p, #exitOffer { font-size: 16px; line-height: 1.55; }
.vip-kit-items { gap: 12px; text-align: left; }
.vip-kit-items li { color: var(--white, #F2F2F2); }
.vip form > .field-label, .vip form > .exit-email-terms { grid-column: 1 / -1; }
.vip form > .field-label { margin-bottom: 0; }
.vip .exit-email-terms { font-size: 14px; line-height: 1.5; }
.vip-kit-note strong { font-size: 20px; line-height: 1.25; }
.homepage .artist-chip > span:not(.artist-photo) { font-size: 13px; line-height: 1.3; }
.homepage .artist-chip small.artist-badge { flex-basis: 18px; width: 18px; height: 18px; }
/* Keep the complete overlay in the image on short landscape screens. */
@media (max-height: 650px) and (max-width: 899px) {
  .homepage .birthday-hero { height: max(560px, calc(100svh - 100px)); }
  .homepage .hero-copy { top: 25%; }
}
@media (max-width: 359px) {
  .homepage .hero-copy { left: 12px; right: 12px; padding: 12px; top: 27%; }
  .homepage .hero-copy h1 { font-size: 28px; }
}
