/* v1.6.66 — Keep the welcome artwork's label wholly within its visual panel. */
.welcome-hero { grid-template-columns: minmax(0, 52fr) minmax(0, 48fr); }
.welcome-hero > .hero-copy, .welcome-hero > .hero-visual { min-width: 0; }
.welcome-hero .hero-visual { overflow: hidden; }
.welcome-hero .visual-tag.tag-top {
  left: clamp(18px, 3vw, 46px);
  right: auto;
  max-width: calc(100% - 36px);
  box-sizing: border-box;
  transform: rotate(-3deg);
  transform-origin: left center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.welcome-hero .visual-tag.tag-bottom {
  left: clamp(18px, 3vw, 46px);
  right: 18px;
  width: max-content;
  max-width: calc(100% - 36px);
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .welcome-hero { grid-template-columns: minmax(0, 1fr); }
  .welcome-hero .visual-tag.tag-top { left: 24px; }
}

/* v1.6.82 — Inset the decorative ticket from the artwork edge.
   Anchor it to the right so rotation never clips its leading text. */
.welcome-hero .hero-visual .visual-tag.tag-top {
  left: auto;
  right: clamp(28px, 4vw, 64px);
  top: 38px;
  width: max-content;
  max-width: calc(100% - 64px);
  transform: rotate(-2deg);
  transform-origin: center center;
  white-space: normal;
  overflow-wrap: normal;
}
@media (max-width: 600px) {
  .welcome-hero .hero-visual .visual-tag.tag-top {
    right: 26px;
    top: 26px;
    max-width: calc(100% - 52px);
    font-size: 11px;
    letter-spacing: .12em;
  }
}
