.gigs-page {
  min-height: 100%;
  color: var(--cream);
  background: var(--showcase);
}

.gigs-background {
  position: fixed;
  z-index: 0;
  inset: 0;
  background:
    linear-gradient(rgba(62, 91, 92, 0.89), rgba(62, 91, 92, 0.94)),
    url("assets/images/bio-kaisa-ristiluoma.jpg") center 34% / cover no-repeat;
  pointer-events: none;
}

.gigs-header,
.gigs-main,
.gigs-footer {
  position: relative;
  z-index: 1;
}

.gigs-header {
  background: linear-gradient(to bottom, rgba(41, 39, 39, 0.78), rgba(41, 39, 39, 0));
}

.gigs-nav { align-items: center; }

.gigs-main {
  width: min(1040px, calc(100% - 36px));
  margin: 0 auto;
  padding: clamp(96px, 10vw, 126px) 0 clamp(90px, 12vw, 150px);
}

.gigs-title-section {
  max-width: 920px;
  padding-bottom: clamp(70px, 10vw, 120px);
}

.gigs-title-section .eyebrow { color: rgba(246, 242, 234, 0.72); }

.gigs-title-section h1 {
  font-size: clamp(50px, 7vw, 82px);
  line-height: 0.9;
  text-transform: none;
  white-space: nowrap;
}

.gigs-section + .gigs-section { margin-top: clamp(110px, 15vw, 190px); }

.gigs-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line-light);
}

.gigs-section-heading h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(52px, 7vw, 78px);
  font-weight: 400;
  line-height: 0.9;
}

.gig-count {
  margin: 0 0 3px;
  color: rgba(246, 242, 234, 0.66);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.all-gigs .gig-card {
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 92px;
  padding: 18px 8px;
}

.all-gigs .gig-card:first-child { border-top: 0; }
.all-gigs .gig-card time { font-size: 30px; }
.all-gigs .gig-card h3 { font-size: 17px; }
.all-gigs .gig-card p { font-size: 13px; }

.past-gigs .gig-card {
  grid-template-columns: 132px minmax(0, 1fr);
  min-height: 58px;
  padding: 9px 8px;
}

.past-gigs .gig-card time { font-size: 21px; }
.past-gigs .gig-card time small { margin-top: 4px; font-size: 9px; }
.past-gigs .gig-card h3 { font-size: 14px; }
.past-gigs .gig-card p { margin-top: 1px; font-size: 11px; }

.gig-status {
  margin: 0;
  padding: 28px 8px;
  color: rgba(246, 242, 234, 0.72);
  border-bottom: 1px solid var(--line-light);
}

.archive-scroll-hint {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin: 25px 0 14px;
  color: rgba(246, 242, 234, 0.66);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.archive-scroll-hint i {
  position: relative;
  display: block;
  width: 42px;
  height: 1px;
  background: rgba(246, 242, 234, 0.48);
}

.archive-scroll-hint i::after {
  content: "";
  position: absolute;
  top: -3px;
  right: 0;
  width: 6px;
  height: 6px;
  border-right: 1px solid rgba(246, 242, 234, 0.7);
  border-bottom: 1px solid rgba(246, 242, 234, 0.7);
  transform: rotate(45deg);
}

.gigs-footer { background: rgba(41, 39, 39, 0.88); }

@media (max-width: 600px) {
  .gigs-main { padding-top: 128px; }
  .gigs-title-section h1 { font-size: clamp(52px, 17vw, 72px); white-space: normal; }
  .gigs-section-heading { align-items: start; flex-direction: column; gap: 10px; }
  .all-gigs .gig-card { grid-template-columns: 102px minmax(0, 1fr); }
  .past-gigs .gig-card { grid-template-columns: 96px minmax(0, 1fr); }
  .all-gigs .gig-card time { font-size: 24px; }
  .past-gigs .gig-card time { font-size: 18px; }
  .gigs-background { background-position: 43% center; }
}
