/* Шоу-кейс рекламного блока про участие в выставке: четыре разделителя */

body.promo-lab .labbar__nav a,
body.promo-lab .labfoot a:focus-visible { border-radius: 0; }

.pm-index .index-title { font-size: clamp(44px, 5.8vw, 84px); }

.pm { position: relative; }

.pm__inner {
  display: grid;
  align-items: end;
}

.pm__copy { min-width: 0; }

.pm__title {
  margin: 0;
  font-family: var(--heading);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.016em;
  text-wrap: balance;
}

.pm__lead {
  margin: 14px 0 0;
  max-width: 46ch;
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.55;
  text-wrap: pretty;
}

.pm__action { justify-self: end; }

.pm__cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 56px;
  padding: 15px 20px 15px 24px;
  font-size: clamp(13px, .98vw, 14px);
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition: background-color .24s ease, color .24s ease, border-color .24s ease, filter .24s ease;
}

.pm__arrow {
  flex: 0 0 auto;
  font-size: 1.05em;
  line-height: 1;
  transition: transform .24s ease;
}

.pm__cta:hover .pm__arrow { transform: translate(3px, -3px); }

.pm__cta:focus-visible {
  outline: 2px solid var(--violet);
  outline-offset: 3px;
}

/* — 01 полоса — */

.pm--line { margin-top: clamp(52px, 6.4vw, 96px); }

.pm--line .pm__inner {
  grid-template-columns: minmax(0, 8fr) minmax(0, 3.55fr);
  gap: clamp(34px, 4.8vw, 92px);
  padding-block: clamp(48px, 5.4vw, 80px);
  border-block: 1px solid var(--hairline);
}

.pm--line .pm__title { font-size: clamp(30px, 3.4vw, 48px); }

.pm--line .pm__lead { color: var(--ink-soft); }

.pm__cta--violet {
  background: var(--violet);
  color: var(--cream);
}

.pm__cta--violet:hover { background: var(--violet-deep); }

/* — 02 ночь — */

.pm--night {
  margin-top: clamp(44px, 5.6vw, 80px);
  border-block: 1px solid rgba(244, 227, 198, .16);
  color: var(--cream);
  background:
    radial-gradient(56% 130% at 92% 0%, rgba(108, 90, 216, .40), rgba(108, 90, 216, 0) 62%),
    radial-gradient(50% 130% at 4% 100%, rgba(38, 154, 143, .34), rgba(38, 154, 143, 0) 64%),
    linear-gradient(96deg, #252b60 0%, #1d2c58 55%, #1d4257 100%);
}

.pm--night .pm__inner {
  grid-template-columns: minmax(0, 8fr) minmax(0, 3.55fr);
  gap: clamp(34px, 4.8vw, 92px);
  padding-block: clamp(52px, 5.8vw, 92px);
}

.pm--night .pm__title {
  font-size: clamp(30px, 3.4vw, 48px);
  color: var(--cream);
}

.pm--night .pm__lead { color: rgba(244, 227, 198, .74); }

.pm__gold { color: var(--gold); }

.pm__cta--gold {
  border: 1px solid transparent;
  border-radius: 999px;
  background-image: linear-gradient(96deg, #dda249 0%, #e2a052 18.35%, #f5cb8e 50%, #e2a052 81.65%, #dda249 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  background-position: 0% 50%;
  color: #223063;
  transition: background-position .62s cubic-bezier(.4, 0, .2, 1),
              color .24s ease,
              border-color .24s ease,
              filter .24s ease;
}

.pm__cta--gold:hover { background-position: 100% 50%; }

.pm--night .pm__cta:focus-visible { outline-color: var(--gold); }

/* — 03 панель — */

.pm--panel { margin-top: clamp(44px, 5.6vw, 84px); }

.pm__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, 1fr);
  border: 1px solid var(--hairline);
}

.pm__panel-copy {
  padding: clamp(28px, 3.2vw, 46px);
  background: rgba(255, 255, 255, .38);
}

.pm--panel .pm__title { font-size: clamp(26px, 2.6vw, 36px); }

.pm--panel .pm__lead {
  margin-top: 12px;
  color: var(--ink-soft);
}

.pm__panel-action {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 26px;
  padding: clamp(26px, 3vw, 42px);
  background: var(--violet);
  color: var(--cream);
  text-decoration: none;
  transition: background-color .24s ease;
}

.pm__panel-action:hover { background: var(--violet-deep); }

.pm__panel-action:focus-visible {
  outline: 2px solid var(--cream);
  outline-offset: -5px;
}

.pm__panel-text {
  font-size: clamp(16px, 1.4vw, 21px);
  line-height: 1.35;
}

.pm__panel-arrow {
  align-self: flex-end;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  transition: transform .24s ease;
}

.pm__panel-action:hover .pm__panel-arrow { transform: translate(3px, -3px); }

/* — 04 плакат — */

.pm--poster { margin-top: clamp(40px, 5vw, 72px); }

.pm__poster-inner {
  padding-top: clamp(34px, 4.2vw, 56px);
  border-top: 1px solid var(--hairline);
}

.pm--poster .pm__title {
  font-size: clamp(30px, 6.2vw, 94px);
  line-height: .98;
  letter-spacing: -.022em;
}

.pm__poster-row {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 3.55fr);
  gap: clamp(34px, 4.8vw, 92px);
  align-items: end;
  margin-top: clamp(26px, 3.6vw, 48px);
}

.pm--poster .pm__lead { color: var(--ink-soft); }

.pm__cta--outline {
  border: 1px solid var(--ink);
  color: var(--ink);
}

.pm__cta--outline:hover {
  background: var(--ink);
  color: var(--paper);
}

@media (max-width: 900px) {
  .pm--line .pm__inner,
  .pm--night .pm__inner,
  .pm__poster-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .pm__action {
    justify-self: start;
    width: 100%;
    max-width: 420px;
  }

  .pm__cta {
    width: 100%;
    max-width: 420px;
  }

  .pm__panel { grid-template-columns: minmax(0, 1fr); }

  .pm__panel-action {
    flex-direction: row;
    align-items: center;
    min-height: 112px;
  }

  .pm__panel-arrow { align-self: center; }
}

@media (max-width: 480px) {
  .pm--panel .pm__panel-copy,
  .pm__panel-action { padding: 22px; }

  .pm--poster .pm__title { font-size: clamp(28px, 8.6vw, 40px); }
}

@media (max-width: 720px) {
  body.promo-lab .labbar {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    padding-block: 8px;
  }

  body.promo-lab .labbar__nav {
    justify-self: stretch;
    justify-content: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pm__cta,
  .pm__arrow,
  .pm__panel-action,
  .pm__panel-arrow { transition: none; }
}
