/* experience proof */
.experience-section {
  --experience-rail-offset: 26svh;
  --section-space: clamp(96px, 8vw, 120px);
  --experience-start-space: calc(var(--section-space) * 1.6);
  position: relative;
  padding: var(--experience-start-space) var(--pad) var(--section-space);
  display: grid;
  grid-template-columns: minmax(300px, .56fr) minmax(660px, 1.44fr);
  gap: clamp(34px, 5vw, 78px);
  align-items: start;
}

.experience-section > .rail-section-label {
  position: absolute;
  top: max(72px, calc(var(--experience-start-space) - 58px));
  left: var(--pad);
}

.experience-rail {
  position: sticky;
  top: var(--experience-rail-offset);
  grid-column: 1;
  grid-row: 1;
  display: grid;
  gap: 34px;
  min-height: calc(100svh - var(--experience-rail-offset));
  min-width: 0;
  padding-bottom: 32px;
}

.experience-list {
  position: relative;
  display: flex;
  min-height: min(42svh, 360px);
  flex-direction: column;
  gap: clamp(24px, 4vh, 38px);
}

.experience-title-window {
  position: relative;
  height: clamp(32px, 3vw, 42px);
  overflow: hidden;
}

.experience-item {
  position: absolute;
  inset: 0 auto auto 0;
  color: var(--soft);
  font-size: clamp(26px, 2.7vw, 38px);
  font-weight: 460;
  line-height: 1;
  letter-spacing: 0;
  opacity: 0;
  transform: translateY(calc(var(--experience-offset, 1) * 105%));
  transition:
    transform .333s cubic-bezier(0,0,0,1),
    opacity .133s cubic-bezier(.75,0,.85,1);
}

.experience-item.is-active {
  color: var(--ink);
  opacity: 1;
  transform: translateY(0);
}

.experience-detail-stack {
  position: relative;
  min-height: clamp(210px, 26vh, 270px);
}

.experience-detail {
  position: absolute;
  inset: 0 0 auto 0;
  display: grid;
  gap: 16px;
  opacity: 0;
  transition: opacity .167s linear;
}

.experience-detail.is-active {
  opacity: 1;
  transition-delay: .167s;
}

.experience-detail span {
  color: rgba(255,255,255,.48);
  font-family: var(--mono);
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.experience-detail p {
  max-width: 420px;
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 15px;
  line-height: 1.24;
  letter-spacing: 0;
  text-wrap: pretty;
}

.experience-stack {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  gap: clamp(18px, 2vw, 30px);
  min-width: 0;
  padding-bottom: clamp(320px, 50svh, 520px);
}

.experience-card {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 6px;
  background: #050505;
  isolation: isolate;
  opacity: .2;
  filter: saturate(.78) brightness(.7);
  transition:
    opacity .167s linear,
    filter .167s linear,
    border-color .167s linear,
    transform .333s cubic-bezier(.22,1,.36,1);
}

.experience-card.is-current {
  opacity: 1;
  border-color: rgba(241,255,46,.28);
  filter: saturate(1.06) brightness(1.08);
}

.experience-card:hover {
  transform: translateY(-4px) scale(1.006);
}

.experience-logo-panel {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(34px, 5vw, 82px);
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(232,232,224,.9)),
    #f4f4ec;
}

.experience-logo-panel img {
  display: block;
  width: min(62%, 280px);
  max-height: 150px;
  object-fit: contain;
}

.experience-card:first-child .experience-logo-panel img {
  width: min(78%, 400px);
  max-height: 166px;
}

@media (max-width: 920px) {
  .experience-section {
    padding: var(--section-space) var(--pad);
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .experience-section > .rail-section-label {
    position: static;
  }

  .experience-rail {
    position: static;
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
    padding: 0;
  }

  .experience-list {
    min-height: 0;
    gap: 28px;
  }

  .experience-title-window {
    height: auto;
    display: grid;
    gap: 10px;
    overflow: visible;
  }

  .experience-item {
    position: relative;
    opacity: 1;
    transform: none;
    font-size: clamp(24px, 9vw, 42px);
    font-weight: 720;
    line-height: 1;
  }

  .experience-detail-stack {
    position: static;
    min-height: 0;
    display: grid;
    gap: 22px;
  }

  .experience-detail {
    position: static;
    opacity: 1;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.12);
  }

  .experience-card,
  .experience-card.is-current {
    aspect-ratio: 4 / 3;
    opacity: 1;
    filter: saturate(1.04) brightness(1.08);
  }

  .experience-card:hover {
    transform: none;
  }

  .experience-stack {
    grid-column: auto;
    grid-row: auto;
    padding-bottom: 0;
  }
}
