/* Home: hero «poster bill» and lineup moved from the mockup; duo, path, licence new in its language. */

.hero { padding-block: clamp(28px, 3.4vw, 52px) clamp(48px, 6vw, 80px); text-align: center; position: relative; }
.hero__kicker { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; font-size: var(--fs-label); text-transform: uppercase; letter-spacing: .22em; color: var(--color-text-2); }
.hero__kicker::before, .hero__kicker::after { content: ""; width: clamp(24px, 6vw, 80px); height: 2px; background: currentColor; }
.hero h1 { font: 400 var(--fs-h1)/.86 var(--font-display); text-transform: uppercase; letter-spacing: -.005em; margin: 18px 0 22px; }
.hero h1 em { font-style: normal; color: var(--color-brand); display: inline-block; }
.bill { display: grid; gap: 6px; justify-items: center; }
.bill__1 { font: 400 var(--fs-bill-1)/1 var(--font-display); text-transform: uppercase; letter-spacing: .01em; }
.bill__2 { font: 400 var(--fs-bill-2)/1.05 var(--font-display); text-transform: uppercase; letter-spacing: .03em; color: var(--color-text-2); }
.bill__3 { font-weight: 700; font-size: clamp(14px, 1.4vw, 17px); text-transform: uppercase; letter-spacing: .16em; color: var(--color-muted); }
.star { display: inline-block; color: var(--color-brand); padding: 0 .3em; transform: translateY(-.05em); }
.hero__lead { max-width: 62ch; margin: 20px auto 0; color: var(--color-text-2); }
.hero__search { margin: 22px auto 0; max-width: 640px; }
.hero__cta { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.hero__fine { margin-top: 26px; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 20px; font-size: 12.5px; text-transform: uppercase; letter-spacing: .1em; color: var(--color-muted); font-weight: 700; }
.hero__fine span { display: inline-flex; align-items: center; gap: 8px; }
.hero__fine .icon { width: 16px; height: 16px; color: var(--color-teal); }
.hero__stamp { position: absolute; right: clamp(8px, 4vw, 64px); top: clamp(24px, 5vw, 72px); opacity: .9; }

.sec-tools { display: flex; justify-content: flex-end; margin: -12px 0 12px; }
.home-chips { margin-bottom: 22px; }
.ticket-grid--home { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ticket-grid--home .ticket__title { font-size: 19px; }

.lineup { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
.lineup__aside { position: sticky; top: 20px; }

.duo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 56px); }
.duo__head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.rows--compact .row { grid-template-columns: 56px 1fr auto; gap: 14px; padding: 10px 0; }
.rows--compact .row__no, .rows--compact .row__stake { display: none; }
.rows--compact .row__img { width: 56px; height: 56px; }
.rows--compact .row__name { font-size: 21px; }

.path { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0; border: 2px solid var(--color-ink); border-radius: var(--radius-lg); background: var(--color-surface); overflow: hidden; }
.path__step { display: grid; gap: 6px; align-content: start; padding: 18px 16px 20px; border-left: 2px dashed var(--color-ink); position: relative; }
.path__step:first-child { border-left: 0; }
.path__no { font: 400 34px/1 var(--font-display); color: var(--color-brand-ink); }
.path__step strong { font: 400 21px/1 var(--font-display); text-transform: uppercase; }
.path__step span:last-child { font-size: 14px; color: var(--color-text-2); }
.path__step:last-child { background: var(--color-ink); color: var(--color-on-ink); }
.path__step:last-child span:last-child { color: var(--color-on-ink-2); }
.path__step:last-child .path__no { color: var(--color-mustard); }

.licence { display: grid; grid-template-columns: 1fr auto; gap: clamp(24px, 4vw, 64px); align-items: start; }
.licence .sec-head { grid-template-columns: auto 1fr; }
.licence__lead { max-width: 70ch; color: var(--color-text-2); margin-bottom: 24px; }
.licence__side { display: grid; gap: 12px; justify-items: stretch; padding-top: 8px; }
.licence__side .stamp { justify-self: center; margin-bottom: 12px; }

@media (max-width: 1200px) {
  .ticket-grid--home { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .path { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .path__step:nth-child(5) { border-left: 0; }
  .path__step:nth-child(n+5) { border-top: 2px dashed var(--color-ink); }
}
@media (max-width: 960px) {
  .lineup, .duo { grid-template-columns: 1fr; }
  .lineup__aside { position: static; }
  .licence { grid-template-columns: 1fr; }
  .licence__side { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); align-items: center; }
}
@media (max-width: 720px) {
  .hero__stamp { display: none; }
  .sec-tools { display: none; }
  .ticket-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .path { grid-template-columns: 1fr 1fr; }
  .path__step { border-left: 0; border-top: 2px dashed var(--color-ink); }
  .path__step:nth-child(even) { border-left: 2px dashed var(--color-ink); }
  .path__step:nth-child(-n+2) { border-top: 0; }
  .path__step:last-child { grid-column: 1 / -1; border-left: 0; }
}
.rows--compact .row > .row__no, .rows--compact .row > .row__stake { display: none; }
