/* ================================================================
   partners.css — страница «Партнёрам»
   ================================================================ */

/* ── Фон страницы (canvas) ─────────────────────────────────── */
body.page-partners {
  min-height: 100vh;
  background-color: #eef4fc;
  background-image:
    radial-gradient(ellipse 90% 55% at 50% -8%, rgba(6, 86, 185, 0.11) 0%, transparent 58%),
    radial-gradient(ellipse 55% 45% at 100% 35%, rgba(0, 189, 220, 0.07) 0%, transparent 52%),
    radial-gradient(ellipse 50% 40% at 0% 65%, rgba(6, 86, 185, 0.06) 0%, transparent 50%),
    radial-gradient(ellipse 120% 70% at 50% 108%, rgba(196, 228, 255, 0.55) 0%, transparent 55%),
    repeating-linear-gradient(
      -18deg,
      transparent,
      transparent 98px,
      rgba(6, 86, 185, 0.022) 98px,
      rgba(6, 86, 185, 0.022) 99px
    ),
    linear-gradient(168deg, #f5faff 0%, #eef4fc 28%, #f7fbff 58%, #e9f1fa 100%);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat, no-repeat;
  background-size:
    100% 420px,
    55% 380px,
    50% 360px,
    100% 55%,
    auto,
    100% 100%;
  background-position:
    center top,
    right top,
    left center,
    center bottom,
    center center,
    center center;
}

@media (prefers-reduced-motion: reduce) {
  body.page-partners {
    background-image:
      radial-gradient(ellipse 90% 55% at 50% -8%, rgba(6, 86, 185, 0.09) 0%, transparent 58%),
      radial-gradient(ellipse 120% 70% at 50% 108%, rgba(196, 228, 255, 0.45) 0%, transparent 55%),
      linear-gradient(168deg, #f5faff 0%, #eef4fc 45%, #e9f1fa 100%);
    background-repeat: no-repeat;
    background-size: 100% 380px, 100% 50%, 100% 100%;
    background-position: center top, center bottom, center center;
  }
}

/* ── Hero ──────────────────────────────────────────────────── */
.hero-partners h1.hero-title-stack {
  max-width: 920px;
  animation: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.08em;
  line-height: 1.1;
}

.hero-title-line1 {
  display: block;
  animation: heroLine1In 0.9s 0.12s var(--ease) both;
}

.hero-title-brand {
  display: block;
  font-style: normal;
  font-weight: 900;
  color: #7ee8f8;
  letter-spacing: -0.02em;
  animation: heroBrandIn 1s 0.28s var(--ease) both;
}

@keyframes heroLine1In {
  from { opacity: 0; transform: translateY(36px); filter: blur(5px); }
  to   { opacity: 1; transform: none; filter: none; }
}

@keyframes heroBrandIn {
  from { opacity: 0; transform: translateY(24px) scale(0.96); }
  to   { opacity: 1; transform: none; }
}

.hero-tagline {
  margin-top: 22px;
  max-width: 720px;
  color: rgba(255,255,255,.92);
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  font-weight: 600;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35em 0.65em;
  animation: none;
}

.hero-tagline-chunk {
  display: inline-block;
  opacity: 0;
  transform: translateY(14px);
  animation: heroChunkIn 0.68s var(--ease) forwards;
}
.hero-tagline-chunk:nth-child(1) { animation-delay: 0.48s; }
.hero-tagline-chunk:nth-child(2) { animation-delay: 0.64s; }
.hero-tagline-chunk:nth-child(3) { animation-delay: 0.80s; }

@keyframes heroChunkIn {
  to { opacity: 1; transform: none; }
}

.hero-partners .hero-actions { animation: none; }

/* Кнопка героя — плоский синий, без градиента, свечения и блика */
.hero-partners .p-hero-cta-catalog {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
  overflow: hidden;
  padding: 16px 32px;
  border-radius: 14px;
  border: none;
  background: var(--blue, #0656b9);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  box-shadow: none;
  animation: fadeUp 0.8s 0.45s var(--ease) both;
  transition: transform 0.25s var(--ease), filter 0.2s;
}

.hero-partners .p-hero-cta-catalog:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
}

.hero-partners .p-hero-cta-catalog:active {
  transform: translateY(-1px) scale(0.99);
}

.hero-partners .p-hero-cta-catalog svg {
  flex-shrink: 0;
  transition: transform 0.25s var(--ease);
}

.hero-partners .p-hero-cta-catalog:hover svg {
  transform: translateX(4px);
}

/* Дилеры: остальные CTA («Оставить заявку» и блок форматов/формы) = как Hero */
.page-partners .p-formats-gate-btn {
  padding: 16px 32px;
  border-radius: 14px;
  border: none;
  margin-top: 6px;
  background: var(--blue, #0656b9);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: none;
  transition: transform 0.25s var(--ease), filter 0.2s;
}

.page-partners .p-formats-gate-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: none;
}

.page-partners .p-formats-gate-btn svg {
  flex-shrink: 0;
  transition: transform 0.25s var(--ease);
}

.page-partners .p-formats-gate-btn:hover svg {
  transform: translateX(4px);
}

.page-partners .p-fmt-btn,
.page-partners .p-fmt-btn--prime {
  background: var(--blue, #0656b9);
  border: none;
  color: #fff;
  box-shadow: none;
  transition: transform 0.25s var(--ease), filter 0.2s;
}

.page-partners .p-fmt-btn--prime::before {
  display: none;
}

.page-partners .p-fmt-btn:hover {
  border: none;
  background: var(--blue, #0656b9);
  color: #fff;
  box-shadow: none;
  transform: translateY(-2px);
  filter: brightness(1.06);
}

.page-partners .p-fmt-btn--prime:hover {
  border: none;
  background: var(--blue, #0656b9);
  box-shadow: none;
  transform: translateY(-2px);
  filter: brightness(1.06);
}

.page-partners .p-form-submit {
  background: var(--blue, #0656b9);
  border: none;
  box-shadow: none;
  transition: transform 0.25s var(--ease), filter 0.2s;
}

.page-partners .p-form-submit:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: none;
}

.hero-partners .hero-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  position: relative;
  overflow: hidden;
  background: var(--blue, #0656b9);
  color: #fff;
  border: none;
  border-radius: 14px;
  padding: 18px 36px;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: .02em;
  box-shadow: none;
  animation: fadeUp .8s .9s var(--ease) both;
  transition: transform 0.25s var(--ease), filter 0.2s;
}

.hero-partners .hero-btn-primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
}

.hero-partners .hero-btn-primary svg {
  flex-shrink: 0;
  transition: transform 0.25s var(--ease);
}

.hero-partners .hero-btn-primary:hover svg {
  transform: translateX(4px);
}

.hero-partners .hero-btn-ghost {
  border: 1.5px solid rgba(255,255,255,.28);
  border-radius: 12px;
  padding: 15px 28px;
  animation: fadeUp .8s 1.05s var(--ease) both;
  transition: border-color 0.2s, background 0.2s, transform 0.2s;
}
.hero-partners .hero-btn-ghost:hover {
  border-color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.08);
  transform: translateY(-1px);
}

/* ── Metrics Strip ─────────────────────────────────────────── */
.p-strip {
  background: linear-gradient(90deg, #041e42 0%, #06306a 55%, #065294 100%);
  border-bottom: 1px solid rgba(0,189,220,.18);
  position: relative;
  overflow: hidden;
}

.p-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 100% at 50% 50%, rgba(0,189,220,.07) 0%, transparent 70%);
  pointer-events: none;
}

.p-strip-inner {
  display: flex;
  align-items: stretch;
  position: relative;
  z-index: 1;
}

.p-strip-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 26px 16px;
  text-align: center;
  position: relative;
  transition: background 0.2s;
}

.p-strip-item:hover {
  background: rgba(255,255,255,.04);
}

.p-strip-item + .p-strip-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 22%;
  bottom: 22%;
  width: 1px;
  background: rgba(255,255,255,.1);
}

.p-strip-val {
  display: block;
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.03em;
  background: linear-gradient(135deg, #fff 25%, var(--teal) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-strip-lbl {
  display: block;
  font-size: 0.73rem;
  font-weight: 500;
  color: rgba(255,255,255,.5);
  line-height: 1.45;
  max-width: 160px;
}

/* ── Intro — brand statement ────────────────────────────────── */
.p-intro-sec {
  background: linear-gradient(135deg, #041e42 0%, #06316e 55%, #041e42 100%);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

/* Radial glow */
.p-intro-sec::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 80% at 20% 50%, rgba(0,189,220,.09) 0%, transparent 65%);
  pointer-events: none;
}

/* Decorative right-side large text watermark */
.p-intro-sec::after {
  content: 'BS';
  position: absolute;
  right: -20px;
  bottom: -30px;
  font-size: 18rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.08em;
  color: #fff;
  opacity: 0.025;
  pointer-events: none;
  user-select: none;
}

.p-intro-layout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 72px;
  align-items: center;
  position: relative;
  z-index: 1;
}

/* Left: brand name */
.p-intro-brand {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-right: 72px;
  border-right: 1px solid rgba(255,255,255,.1);
}

.p-intro-monogram {
  display: block;
  font-size: clamp(5rem, 10vw, 8rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.06em;
  background: linear-gradient(135deg, #fff 20%, var(--teal) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 28px rgba(0,189,220,.35));
  user-select: none;
}

/* Right: description + tags */
.p-intro-body p {
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
  color: rgba(255,255,255,.62);
  line-height: 1.78;
  margin: 0 0 24px;
}

.p-intro-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.p-intro-tags span {
  padding: 6px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.11);
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(255,255,255,.68);
  letter-spacing: 0.02em;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.p-intro-tags span:hover {
  background: rgba(0,189,220,.12);
  border-color: rgba(0,189,220,.3);
  color: rgba(255,255,255,.9);
}

/* Responsive */
@media (max-width: 720px) {
  .p-intro-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .p-intro-brand {
    padding-right: 0;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,.1);
    padding-bottom: 28px;
  }
}

/* ── Section label / title inverted (dark bg) ───────────────── */
.p-lbl-inv {
  color: var(--teal);
  opacity: 0.9;
}

.p-title-inv {
  color: #fff;
}

.p-title-inv span {
  color: var(--teal);
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: var(--teal) !important;
}

/* ── Audience — sticky scroll ───────────────────────────────── */
.p-audience-sec {
  /* height set by scroll-wrap */
}

/* Scroll wrapper — creates the scroll distance */
.p-aud-scroll-wrap {
  height: 500vh;
  position: relative;
  background: linear-gradient(160deg, #f0f7ff 0%, #daeeff 100%);
}

/* Sticky container — 100vh, stays while parent scrolls */
.p-aud-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* Two-column grid inside sticky */
.p-aud-layout {
  display: grid;
  grid-template-columns: 1fr 1.65fr;
  grid-template-rows: auto auto;   /* both rows shrink to content */
  column-gap: 72px;
  row-gap: 14px;
  align-content: center;           /* vertically centre the whole block */
  padding-top: 80px;
  padding-bottom: 40px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

/* ── Left panel ── */
.p-aud-panel-left {
  display: flex;
  flex-direction: column;
  gap: 22px;
  grid-column: 1;
  grid-row: 1 / 3;   /* spans both rows — stays centred alongside card + note */
  align-self: center;
}

/* Vertical progress meter */
.p-aud-meter {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.p-aud-meter-track {
  flex-shrink: 0;
  width: 2px;
  height: 150px;
  background: rgba(6,86,185,.12);
  border-radius: 1px;
  position: relative;
  overflow: hidden;
}

.p-aud-meter-fill {
  position: absolute;
  top: 0; left: 0; width: 100%;
  height: 0;
  background: linear-gradient(180deg, var(--teal), var(--blue));
  border-radius: 1px;
  transition: height 0.18s linear;
}

.p-aud-dots {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 150px;
  padding: 1px 0;
}

.p-aud-dot {
  display: block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(6,86,185,.18);
  transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
}

.p-aud-dot.is-active {
  background: var(--teal);
  transform: scale(1.6);
  box-shadow: 0 0 0 4px rgba(0,189,220,.2);
}

/* Counter "01 / 05" */
.p-aud-counter {
  display: flex;
  align-items: baseline;
  gap: 6px;
  line-height: 1;
}

.p-aud-counter-n {
  font-size: clamp(2.8rem, 5vw, 3.8rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  color: var(--blue);
  transition: opacity 0.25s;
}

.p-aud-counter-of {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--muted);
  opacity: 0.35;
  letter-spacing: -0.02em;
}

/* Note: right column, below card, full width of card block */
.p-aud-panel-note {
  grid-column: 2;
  grid-row: 2;
  font-size: 0.9rem;        /* 0.82 × 1.1 ≈ 0.9rem */
  color: var(--muted);
  line-height: 1.65;
  padding: 12px 18px;
  border-left: 2px solid rgba(0,189,220,.3);
  background: rgba(0,189,220,.04);
  border-radius: 0 10px 10px 0;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
}

/* ── Right panel — slides ── */
.p-aud-panel-right {
  display: grid; /* CSS Grid trick: all children occupy cell 1/1 */
  grid-column: 2;
  grid-row: 1;
  align-self: center;  /* don't stretch vertically */
  align-items: start;  /* slides don't stretch inside the panel */
}

.p-aud-slide {
  grid-area: 1 / 1;
  /* Fixed dimensions — all cards identical */
  height: 290px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 52px;
  border-radius: 28px;
  background:
    linear-gradient(135deg, #fff 0%, #f5faff 100%) padding-box,
    linear-gradient(135deg, rgba(0,189,220,.42), rgba(6,86,185,.28)) border-box;
  border: 1.5px solid transparent;
  box-shadow: 0 24px 72px rgba(6,86,185,.12);
  position: relative;
  overflow: hidden;
  /* Default: waiting below (not yet shown) */
  opacity: 0;
  transform: translateY(48px);
  transition: opacity 0.55s var(--ease), transform 0.55s var(--ease);
  pointer-events: none;
}

/* Active slide: centred, fully visible */
.p-aud-slide.is-active {
  opacity: 1;
  transform: none;
  pointer-events: auto;
  z-index: 2;
}

/* Exiting slide: floats upward and fades */
.p-aud-slide.is-exiting {
  opacity: 0;
  transform: translateY(-48px);
  z-index: 1;
}

/* Large decorative watermark number */
.p-aud-slide-bg {
  position: absolute;
  right: 12px;
  bottom: -24px;
  font-size: 11rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.06em;
  color: var(--blue);
  opacity: 0.05;
  user-select: none;
  pointer-events: none;
}

.p-aud-slide h3 {
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.2;
  letter-spacing: -0.025em;
  margin-bottom: 20px;
}

.p-aud-slide p {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.75;
  max-width: 480px;
  margin: 0;
}

/* ── «Кому подходит партнёрство»: фоновые фото ─────────────
   .p-aud-slide задаёт «белую» двухслойную подложку — сбрасываем её целиком; пути ../assets/ от css/
   резолвятся и для корня, и если сайт в подпапке (в отличие от абсолютного /assets/) */
.p-audience-sec .p-partner-fit-slide.p-aud-slide {
  background: transparent;
  background-color: #0c1828;
  background-origin: border-box;
  background-clip: padding-box border-box;
  border-style: solid;
  border-width: 1.5px;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 28px 80px rgba(4, 18, 40, 0.38);
}

.p-audience-sec .p-aud-slide.p-partner-fit-slide--01 {
  background-image:
    linear-gradient(105deg, rgba(4, 18, 40, 0.92) 0%, rgba(4, 18, 40, 0.5) 42%, rgba(4, 18, 40, 0.12) 72%, rgba(255, 255, 255, 0.06) 100%),
    url("../assets/partners-audience-04.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.p-audience-sec .p-aud-slide.p-partner-fit-slide--02 {
  background-image:
    linear-gradient(105deg, rgba(4, 18, 40, 0.92) 0%, rgba(4, 18, 40, 0.5) 42%, rgba(4, 18, 40, 0.12) 72%, rgba(255, 255, 255, 0.06) 100%),
    url("../assets/partners-audience-01.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.p-audience-sec .p-aud-slide.p-partner-fit-slide--03 {
  background-image:
    linear-gradient(105deg, rgba(4, 18, 40, 0.92) 0%, rgba(4, 18, 40, 0.5) 42%, rgba(4, 18, 40, 0.12) 72%, rgba(255, 255, 255, 0.06) 100%),
    url("../assets/partners-audience-02.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.p-audience-sec .p-aud-slide.p-partner-fit-slide--04 {
  background-image:
    linear-gradient(105deg, rgba(4, 18, 40, 0.92) 0%, rgba(4, 18, 40, 0.5) 42%, rgba(4, 18, 40, 0.12) 72%, rgba(255, 255, 255, 0.06) 100%),
    url("../assets/partners-audience-03.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.p-audience-sec .p-partner-fit-slide .p-aud-slide-bg {
  color: #fff;
  opacity: 0.09;
}

.p-audience-sec .p-partner-fit-slide h3 {
  color: #fff;
  text-shadow: 0 1px 24px rgba(4, 18, 40, 0.45);
}

.p-audience-sec .p-partner-fit-slide p {
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 14px rgba(4, 18, 40, 0.35);
}


/* ── Formats gate ───────────────────────────────────────────── */
.p-formats-gated {
  position: relative;
}

.p-formats-gated > .p-formats-grid,
.p-formats-gated > .p-bonus {
  filter: blur(6px);
  opacity: 0.55;
  pointer-events: none;
  user-select: none;
}

.p-formats-gate {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  padding: 14px;
}

.p-formats-gate-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  max-width: 500px;
  width: 100%;
  padding: 34px 34px;
  border-radius: 18px;
  background: rgba(6, 25, 58, 0.72);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    0 24px 64px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.p-formats-gate-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(0,189,220,.35) 0%, rgba(6,86,185,.45) 100%);
  border: 1px solid rgba(255,255,255,.22);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 28px rgba(0,189,220,.35);
  margin-bottom: 4px;
}

.p-formats-gate-title {
  font-size: clamp(0.98rem, 1.8vw, 1.12rem);
  color: rgba(255,255,255,.92);
  line-height: 1.55;
  margin: 0;
}

.p-formats-gate-title strong {
  font-weight: 800;
  color: #fff;
}

.p-formats-gate-sub {
  font-size: 0.76rem;
  color: rgba(255,255,255,.48);
  line-height: 1.6;
  margin: 0;
}

.p-formats-gate-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
  padding: 11px 24px;
  border-radius: 12px;
  background: linear-gradient(135deg, #00bfdc 0%, #0b6fd8 100%);
  color: #fff;
  font-size: 0.86rem;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.02em;
  box-shadow: 0 6px 22px rgba(0,189,220,.38);
  transition: transform 0.2s, box-shadow 0.2s;
}

.p-formats-gate-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0,189,220,.52);
}

/* ── Formats — Dark ───────────────────────────────────────────── */
.p-formats-sec {
  background: linear-gradient(135deg, #041e42 0%, #06316e 55%, #083d8a 100%);
  padding: 104px 0;
  position: relative;
  overflow: hidden;
}

.p-formats-sec::before {
  content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,189,220,.1) 0%, transparent 65%);
  top: -250px; right: -150px;
  pointer-events: none;
}

.p-formats-sec::after {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(6,86,185,.18) 0%, transparent 65%);
  bottom: -200px; left: -100px;
  pointer-events: none;
}

.p-formats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 46px;
  position: relative;
  z-index: 1;
}

.p-fmt-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 40px 32px 34px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  overflow: hidden;
  transition: transform 0.3s var(--ease), box-shadow 0.3s, background 0.3s;
}

.p-fmt-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.2) 50%, transparent 100%);
}

.p-fmt-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 40px 80px rgba(0,0,0,.45);
  background: rgba(255,255,255,.09);
}

.p-fmt-card--prime {
  background: rgba(0,189,220,.09);
  border-color: rgba(0,189,220,.28);
  box-shadow: 0 0 60px rgba(0,189,220,.08), inset 0 1px 0 rgba(0,189,220,.18);
}

.p-fmt-card--prime::before {
  background: linear-gradient(90deg, transparent 0%, rgba(0,189,220,.5) 50%, transparent 100%);
}

.p-fmt-prime-badge {
  position: absolute;
  top: 14px; right: 14px;
  padding: 4px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--teal), var(--blue));
  font-size: 0.68rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  box-shadow: 0 4px 14px rgba(0,189,220,.4);
}

.p-fmt-tag {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin-bottom: 10px;
}

.p-fmt-pct {
  font-size: clamp(3.6rem, 7.2vw, 5.4rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, #fff 25%, var(--teal) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 4px;
}

.p-fmt-card--prime .p-fmt-pct {
  filter: drop-shadow(0 0 24px rgba(0,189,220,.4));
}

.p-fmt-pct--unknown {
  color: #fff;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: initial;
  filter: drop-shadow(0 0 16px rgba(255,255,255,.45))
          drop-shadow(0 0 26px rgba(0,189,220,.35));
  letter-spacing: 0;
}

.p-fmt-secret {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.p-fmt-secret-dots {
  display: inline-flex;
  gap: 10px;
}

.p-fmt-secret-dots span {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,.95);
  box-shadow: 0 0 8px rgba(255,255,255,.4);
}

.p-fmt-secret-lock {
  font-size: 1.9rem;
  line-height: 1;
  transform: translateY(1px);
}

.p-fmt-pct-sub {
  font-size: 0.8rem;
  font-weight: 500;
  color: rgba(255,255,255,.45);
  margin-bottom: 22px;
}

.p-fmt-list {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  border-top: 1px solid rgba(255,255,255,.08);
}

.p-fmt-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  gap: 12px;
}

.p-fmt-list li span {
  font-size: 0.82rem;
  color: rgba(255,255,255,.48);
}

.p-fmt-list li strong {
  font-size: 0.84rem;
  font-weight: 700;
  color: #fff;
}

.p-fmt-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: auto;
  width: 100%;
  height: 50px;
  padding: 0 22px;
  border-radius: 12px;
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.03em;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  /* gradient border via padding-box / border-box trick */
  background:
    rgba(255,255,255,.07) padding-box,
    linear-gradient(135deg, rgba(0,189,220,.55), rgba(6,86,185,.45)) border-box;
  border: 1.5px solid transparent;
  color: rgba(255,255,255,.88);
  transition: background 0.28s, color 0.28s, transform 0.28s, box-shadow 0.28s;
}

.p-fmt-btn .p-fmt-arrow {
  flex-shrink: 0;
  transition: transform 0.28s var(--ease);
}

.p-fmt-btn:hover {
  background:
    rgba(0,189,220,.12) padding-box,
    linear-gradient(135deg, var(--teal), var(--blue)) border-box;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0,189,220,.22);
}

.p-fmt-btn:hover .p-fmt-arrow {
  transform: translateX(4px);
}

/* ── Prime button ── */
.p-fmt-btn--prime {
  background: linear-gradient(135deg, #0553ad 0%, #00a8c6 100%);
  border: none;
  color: #fff;
  box-shadow: 0 10px 32px rgba(0,189,220,.38);
}

/* Shimmer sweep on hover */
.p-fmt-btn--prime::before {
  content: '';
  position: absolute;
  top: 0; left: -80%;
  width: 55%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.22) 50%,
    transparent 100%
  );
  transform: skewX(-15deg);
  transition: left 0.55s var(--ease);
  pointer-events: none;
}

.p-fmt-btn--prime:hover {
  border: none;
  background: linear-gradient(135deg, #0656b9 0%, #00bddc 100%);
  box-shadow: 0 16px 44px rgba(0,189,220,.55);
  transform: translateY(-2px);
}

.p-fmt-btn--prime:hover::before {
  left: 140%;
}

.p-fmt-btn--prime:hover .p-fmt-arrow {
  transform: translateX(4px);
}

/* ── Bonus ──────────────────────────────────────────────────── */
.p-bonus {
  position: relative;
  z-index: 1;
  margin-top: 34px;
  padding: 28px 28px;
  border-radius: 18px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
}

.p-bonus-title {
  font-size: 0.95rem;
  font-weight: 800;
  color: rgba(255,255,255,.9);
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}

.p-bonus-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 24px;
}

.p-bonus-item {
  padding: 18px 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
  text-align: center;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.p-bonus-item:hover {
  background: rgba(0,189,220,.12);
  border-color: rgba(0,189,220,.3);
  transform: translateY(-3px);
}

.p-bonus-pct {
  display: block;
  font-size: 2.1rem;
  font-weight: 900;
  color: var(--teal);
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: -0.03em;
}

.num-blur {
  display: inline-block;
  filter: blur(5px);
  opacity: 0.34;
  text-shadow:
    0 0 9px currentColor,
    0 0 20px color-mix(in srgb, currentColor 82%, transparent);
  transform: translateY(-0.5px) scaleX(1.06);
  user-select: none;
}

/* В крупных процентах (32/37): белое мягкое «свечение», значение не читается */
.p-fmt-pct .num-blur {
  color: #fff;
  -webkit-text-fill-color: #fff;
  filter: blur(10px);
  opacity: 0.045;
  text-shadow:
    0 0 16px rgba(255,255,255,.98),
    0 0 32px rgba(255,255,255,.84),
    0 0 52px rgba(255,255,255,.58);
}

.p-bonus-lbl {
  display: block;
  font-size: 0.74rem;
  color: rgba(255,255,255,.48);
  line-height: 1.45;
}

.p-bonus-note {
  font-size: 0.87rem;
  color: rgba(255,255,255,.42);
  line-height: 1.65;
  border-top: 1px solid rgba(255,255,255,.07);
  padding-top: 20px;
  margin: 0;
}

/* ── Support — сцена: фон, шапка, сетка ───────────────────── */
.p-support-sec {
  position: relative;
  overflow: hidden;
  background: linear-gradient(155deg, #041e42 0%, #06316e 52%, #0656b9 100%);
}

.p-support-sec .section-title {
  color: #ffffff;
}

.p-support-sec .section-lead {
  color: rgba(226, 240, 255, 0.9);
}

.p-sup-stage {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.p-sup-mesh {
  position: absolute;
  inset: 0;
  opacity: 0.45;
  background-image:
    linear-gradient(rgba(6, 86, 185, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(6, 86, 185, 0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 88% 72% at 50% 32%, #000 18%, transparent 72%);
  -webkit-mask-image: radial-gradient(ellipse 88% 72% at 50% 32%, #000 18%, transparent 72%);
  animation: pSupMeshPulse 10s ease-in-out infinite;
}

@keyframes pSupMeshPulse {
  0%, 100% { opacity: 0.38; transform: scale(1); }
  50% { opacity: 0.58; transform: scale(1.03); }
}

.p-sup-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(52px);
  opacity: 0.72;
  animation: pSupOrbFloat 14s ease-in-out infinite;
}

.p-sup-orb--1 {
  width: min(420px, 55vw);
  height: min(420px, 55vw);
  left: -8%;
  top: -18%;
  background: radial-gradient(circle, rgba(0, 189, 220, 0.48) 0%, transparent 68%);
}

.p-sup-orb--2 {
  width: min(380px, 50vw);
  height: min(380px, 50vw);
  right: -12%;
  top: 32%;
  background: radial-gradient(circle, rgba(6, 86, 185, 0.42) 0%, transparent 70%);
  animation-delay: -4s;
  animation-duration: 18s;
}

.p-sup-orb--3 {
  width: min(520px, 65vw);
  height: min(280px, 42vw);
  left: 22%;
  bottom: -28%;
  background: radial-gradient(circle, rgba(0, 189, 220, 0.22) 0%, transparent 72%);
  animation-delay: -7s;
  animation-duration: 20s;
}

@keyframes pSupOrbFloat {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(3%, 4%) scale(1.06); }
  66% { transform: translate(-2%, -3%) scale(0.95); }
}

.p-sup-beam {
  position: absolute;
  left: -25%;
  top: 0;
  width: 58%;
  height: 180%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.07) 38%,
    rgba(0, 189, 220, 0.09) 48%,
    rgba(255, 255, 255, 0.1) 54%,
    transparent 68%
  );
  transform: rotate(-17deg);
  animation: pSupBeamSweep 11s ease-in-out infinite;
}

@keyframes pSupBeamSweep {
  0%, 100% { transform: rotate(-17deg) translateX(-10%); opacity: 0.45; }
  50% { transform: rotate(-17deg) translateX(16%); opacity: 0.88; }
}

.p-sup-rail {
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 189, 220, 0.4) 28%,
    rgba(6, 86, 185, 0.38) 72%,
    transparent 100%
  );
}

.p-sup-rail--t {
  top: 0;
  animation: pSupRailGlow 4.2s ease-in-out infinite;
}

.p-sup-rail--b {
  bottom: 0;
  animation: pSupRailGlow 4.2s ease-in-out infinite 2.1s;
}

@keyframes pSupRailGlow {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 0.95; }
}

.p-sup-wrap {
  position: relative;
  z-index: 1;
}

.p-sup-header {
  max-width: 860px;
}

.p-support-sec:not(.is-inview) .p-sup-reveal {
  opacity: 0;
}

.p-support-sec.is-inview .p-sup-reveal--1 {
  animation: pSupTitleIn 1.12s cubic-bezier(0.22, 1, 0.36, 1) 0.08s forwards;
}

.p-support-sec.is-inview .p-sup-reveal--2 {
  animation: pSupLeadIn 1.18s cubic-bezier(0.22, 1, 0.36, 1) 0.22s forwards;
}

@keyframes pSupTitleIn {
  from {
    opacity: 0;
    transform: perspective(920px) rotateX(16deg) translateY(48px) scale(0.9);
    filter: blur(10px);
  }
  to {
    opacity: 1;
    transform: perspective(920px) rotateX(0deg) translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes pSupLeadIn {
  from {
    opacity: 0;
    transform: translateY(28px);
    clip-path: inset(0 12% 0 0);
    -webkit-clip-path: inset(0 12% 0 0);
    filter: blur(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
    filter: blur(0);
  }
}

.p-support-sec.is-inview .p-sup-header .section-title span {
  background: linear-gradient(
    105deg,
    #0656b9 0%,
    #00bddc 36%,
    #0a6ecf 70%,
    #0656b9 100%
  );
  background-size: 260% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: pSupGradFlow 6.5s ease-in-out infinite;
}

@keyframes pSupGradFlow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.p-sup-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 48px;
}

.p-sup-card:nth-child(4) { grid-column: 1; }
.p-sup-card:nth-child(5) { grid-column: 2 / 4; }

.p-sup-card {
  position: relative;
  --card-radius: 22px;
  --d: 0s;
  padding: 30px 26px 26px;
  border-radius: var(--card-radius);
  background: rgba(255, 255, 255, 0.96);
  border: 1.5px solid var(--line);
  overflow: hidden;
  backdrop-filter: blur(0px);
}


/* Блестящая “граница” и shine */
#pSupGrid .p-sup-card::before,
#pSupGrid .p-sup-card::after {
  position: absolute;
  content: '';
  pointer-events: none;
}

/* Фоновое свечение (псевдо “граница” под карточкой) */
#pSupGrid .p-sup-card::before {
  inset: -1px;
  border-radius: inherit;
  background: linear-gradient(
    135deg,
    rgba(0, 189, 220, .26) 0%,
    rgba(6, 86, 185, .20) 38%,
    rgba(0, 189, 220, .14) 70%,
    rgba(255, 255, 255, .06) 100%
  );
  filter: blur(18px);
  opacity: 0;
  transform: scale(0.98);
  z-index: 0;
}

/* Дорогой “sheen” (полоска света) */
#pSupGrid .p-sup-card::after {
  inset: 0;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 38%,
    rgba(255, 255, 255, .40) 49%,
    rgba(0, 189, 220, .20) 58%,
    transparent 78%
  );
  transform: translateX(-140%);
  opacity: 0;
  z-index: 1;
}



.p-sup-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.p-sup-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  color: rgba(0, 189, 220, .95);
  padding: 6px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(0,189,220,.16), rgba(6,86,185,.10));
  border: 1px solid rgba(0,189,220,.22);
}

.p-sup-spark {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 14px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.9) 0%, rgba(0,189,220,.40) 18%, rgba(6,86,185,.24) 55%, rgba(6,86,185,0) 72%);
  border: 1px solid rgba(0,189,220,.20);
  box-shadow: 0 10px 30px rgba(6,86,185,.12);
  transform: translateZ(0);
  transition: transform .55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow .55s var(--ease);
}

.p-sup-card__content {
  /* z-index выставляется выше */
}

.p-sup-card h3 {
  font-size: 1.06rem;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 12px;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.p-sup-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-sup-list li {
  font-size: 0.89rem;
  color: var(--muted);
  padding: 6px 0 6px 20px;
  position: relative;
  line-height: 1.6;
  opacity: 0;
  transform: translateY(10px);
  filter: blur(10px);
}

.p-sup-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.76em;
  width: 7px;
  height: 4px;
  border-left: 2px solid rgba(0, 189, 220, .95);
  border-bottom: 2px solid rgba(0, 189, 220, .95);
  border-radius: 1px;
  transform: rotate(-45deg);
  opacity: .95;
}

/* Вход списка чуть позже карточки — “stagger внутри” */
#pSupGrid .p-sup-card.is-visible .p-sup-list li {
  animation: pSupListIn 0.62s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
#pSupGrid .p-sup-card.is-visible .p-sup-list li:nth-child(1) { animation-delay: 0.10s; }
#pSupGrid .p-sup-card.is-visible .p-sup-list li:nth-child(2) { animation-delay: 0.20s; }
#pSupGrid .p-sup-card.is-visible .p-sup-list li:nth-child(3) { animation-delay: 0.30s; }

@keyframes pSupListIn {
  from {
    opacity: 0;
    transform: translateY(10px);
    filter: blur(10px);
  }
  to {
    opacity: 1;
    transform: none;
    filter: none;
  }
}

/* ── Rules — full redesign ───────────────────────────────────── */
.p-rules-sec {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(1200px 360px at 50% -180px, rgba(6,86,185,.12) 0%, rgba(6,86,185,0) 70%),
    linear-gradient(180deg, #f9fcff 0%, #f4f9ff 100%);
  perspective: 1200px;
}

.p-rules-sec::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      -22deg,
      transparent,
      transparent 108px,
      rgba(6,86,185,.03) 108px,
      rgba(6,86,185,.03) 109px
    );
  pointer-events: none;
  z-index: 0;
}

.p-rules-sec::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 46% 38% at 94% 22%, rgba(0,189,220,.1) 0%, transparent 65%),
    radial-gradient(ellipse 38% 34% at 6% 86%, rgba(6,86,185,.08) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  opacity: .72;
  transform: scale(1.04);
  transition: opacity 1.1s ease, transform 1.1s ease;
}

.p-rules-sec.is-inview::after {
  opacity: 1;
  transform: scale(1);
}

/* neutralize only the heading wrapper reveal (not cards) */
.p-rules-sec .wrap > .reveal {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

.p-rules-sec .section-title,
.p-rules-sec .section-lead {
  position: relative;
  z-index: 1;
  opacity: 0;
  filter: blur(7px);
  transition:
    opacity .72s cubic-bezier(.22,1,.36,1),
    transform .72s cubic-bezier(.22,1,.36,1),
    filter .72s cubic-bezier(.22,1,.36,1);
}

.p-rules-sec .section-title {
  color: #08284b;
  transform: translateY(26px);
}

.p-rules-sec .section-title span {
  background: linear-gradient(90deg, #0d5ac0 0%, #00a8c3 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-rules-sec .section-lead {
  color: #58708f;
  transform: translateY(20px);
}

.p-rules-sec.is-inview .section-title,
.p-rules-sec.is-inview .section-lead {
  opacity: 1;
  transform: none;
  filter: none;
}

.p-rules-sec.p-rules-scroll-up:not(.is-inview) .section-title { transform: translateY(-26px); }
.p-rules-sec.p-rules-scroll-up:not(.is-inview) .section-lead { transform: translateY(-20px); }

.p-rules-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 30px;
  margin-top: 44px;
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translateY(34px) scale(.985);
  transition:
    opacity .78s cubic-bezier(.22,1,.36,1),
    transform .78s cubic-bezier(.22,1,.36,1);
}
.p-rules-grid--single { grid-template-columns: minmax(0, 1fr); }
.p-rules-grid--single .p-rules-col { max-width: none; }

.p-rules-sec.is-inview .p-rules-grid {
  opacity: 1;
  transform: none;
}

.p-rules-sec.p-rules-scroll-up:not(.is-inview) .p-rules-grid {
  transform: translateY(-34px) scale(.985);
}

.p-rules-col {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 34px 30px 30px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
  border: 1px solid rgba(6,86,185,.13);
  box-shadow:
    0 18px 40px rgba(7,58,117,.1),
    0 2px 8px rgba(7,58,117,.06),
    inset 0 1px 0 rgba(255,255,255,.95);
  opacity: 0;
  transform: translateY(44px) scale(.972) rotateX(5.5deg);
  filter: blur(7px);
  transition:
    opacity .86s cubic-bezier(.22,1,.36,1),
    transform .86s cubic-bezier(.22,1,.36,1),
    filter .86s cubic-bezier(.22,1,.36,1),
    box-shadow .28s ease,
    border-color .28s ease;
}

.p-rules-col::before {
  content: '';
  position: absolute;
  right: -16px;
  top: -12px;
  width: 156px;
  height: 156px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(6,86,185,.1) 0%, rgba(6,86,185,0) 68%);
  pointer-events: none;
}

.p-rules-col::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 34%, rgba(255,255,255,.75) 50%, transparent 66%);
  transform: translateX(-132%);
  opacity: 0;
}

.p-rules-col:nth-child(1) .p-col-title::before,
.p-rules-col:nth-child(2) .p-col-title::before {
  position: absolute;
  right: 0;
  top: -9px;
  font-size: 2.3rem;
  font-weight: 900;
  letter-spacing: -.03em;
  color: rgba(6,86,185,.13);
  line-height: 1;
}
.p-rules-col:nth-child(1) .p-col-title::before { content: '01'; }
.p-rules-col:nth-child(2) .p-col-title::before { content: '02'; }

.p-rules-sec.is-inview .p-rules-col {
  opacity: 1;
  transform: translateZ(0);
  filter: none;
}
.p-rules-sec.is-inview .p-rules-col:nth-child(1) { transition-delay: .08s; }
.p-rules-sec.is-inview .p-rules-col:nth-child(2) { transition-delay: .22s; }
.p-rules-sec.is-inview .p-rules-col:nth-child(1)::after {
  opacity: 1;
  animation: pRulesGloss 1.05s cubic-bezier(.2,.9,.2,1) .18s forwards;
}
.p-rules-sec.is-inview .p-rules-col:nth-child(2)::after {
  opacity: 1;
  animation: pRulesGloss 1.05s cubic-bezier(.2,.9,.2,1) .34s forwards;
}

.p-rules-sec.p-rules-scroll-up:not(.is-inview) .p-rules-col {
  transform: translateY(-44px) scale(.972) rotateX(-5.5deg);
}

@keyframes pRulesGloss {
  from { transform: translateX(-132%); }
  to   { transform: translateX(132%); }
}

.p-rules-col:hover {
  border-color: rgba(0,189,220,.34);
  box-shadow:
    0 24px 50px rgba(7,58,117,.14),
    0 8px 22px rgba(7,58,117,.12),
    0 0 0 4px rgba(0,189,220,.06),
    inset 0 1px 0 rgba(255,255,255,.98);
}

.p-col-title {
  position: relative;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #0c57b4;
  margin-bottom: 20px;
  padding-right: 56px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .45s ease, transform .45s ease;
}

.p-rules-sec.is-inview .p-rules-col:nth-child(1) .p-col-title { opacity: 1; transform: none; transition-delay: .26s; }
.p-rules-sec.is-inview .p-rules-col:nth-child(2) .p-col-title { opacity: 1; transform: none; transition-delay: .38s; }
.p-rules-sec.p-rules-scroll-up:not(.is-inview) .p-col-title { transform: translateY(-10px); }

.p-price-row,
.p-penalty-row {
  opacity: 0;
  transition: opacity .42s ease, transform .42s cubic-bezier(.22,1,.36,1);
}

.p-price-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 11px 12px;
  margin-bottom: 10px;
  border-radius: 12px;
  border: 1px solid rgba(6,86,185,.1);
  background: linear-gradient(180deg, #fafdff 0%, #f2f8ff 100%);
  transform: translateX(-18px);
}
.p-price-row--last { margin-bottom: 16px; }

.p-rules-sec.is-inview .p-price-row { opacity: 1; transform: none; }
.p-rules-sec.is-inview .p-rules-col .p-price-row:nth-of-type(1) { transition-delay: .32s; }
.p-rules-sec.is-inview .p-rules-col .p-price-row:nth-of-type(2) { transition-delay: .42s; }
.p-rules-sec.is-inview .p-rules-col .p-price-row:nth-of-type(3) { transition-delay: .52s; }
.p-rules-sec.p-rules-scroll-up:not(.is-inview) .p-price-row { transform: translateX(18px); }

.p-price-abbr {
  flex-shrink: 0;
  min-width: 52px;
  padding: 8px 8px;
  border-radius: 9px;
  background: linear-gradient(135deg, #0b5abf 0%, #10adc7 100%);
  color: #fff;
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-align: center;
  box-shadow: 0 6px 16px rgba(6,86,185,.24);
}

.p-price-info strong {
  display: block;
  font-size: .9rem;
  line-height: 1.35;
  font-weight: 700;
  color: #0f2e50;
  margin-bottom: 2px;
}
.p-price-info p {
  margin: 0;
  font-size: .8rem;
  color: #5e7694;
}

.p-rules-note {
  margin: 0;
  padding-top: 14px;
  border-top: 1px dashed rgba(6,86,185,.2);
  font-size: .82rem;
  line-height: 1.62;
  color: #4f6682;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .45s ease .62s, transform .45s ease .62s;
}
.p-rules-sec.is-inview .p-rules-note { opacity: 1; transform: none; }
.p-rules-sec.p-rules-scroll-up:not(.is-inview) .p-rules-note { transform: translateY(-10px); }

.p-penalty-row {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 10px 8px 12px 0;
  margin-left: 10px;
  transform: translateX(-18px);
}
.p-rules-sec.p-rules-scroll-up:not(.is-inview) .p-penalty-row { transform: translateX(18px); }

.p-penalty-row::before {
  content: '';
  position: absolute;
  left: 18px;
  top: 38px;
  width: 2px;
  height: calc(100% + 10px);
  background: linear-gradient(180deg, rgba(6,86,185,.22), rgba(6,86,185,.04));
}
.p-penalty-row--last::before { display: none; }

.p-rules-sec.is-inview .p-penalty-row { opacity: 1; transform: none; }
.p-rules-sec.is-inview .p-rules-col .p-penalty-row:nth-of-type(1) { transition-delay: .32s; }
.p-rules-sec.is-inview .p-rules-col .p-penalty-row:nth-of-type(2) { transition-delay: .44s; }
.p-rules-sec.is-inview .p-rules-col .p-penalty-row:nth-of-type(3) { transition-delay: .56s; }

.p-penalty-n {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(6,86,185,.22);
  background: linear-gradient(160deg, #f0f6ff 0%, #dceaff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  font-weight: 900;
  color: #0f58bd;
  transition: transform .25s ease, box-shadow .25s ease;
}
.p-penalty-row:hover .p-penalty-n {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(6,86,185,.2);
}

.p-penalty-n--danger {
  border-color: rgba(190,24,24,.26);
  background: linear-gradient(160deg, #fff3f3 0%, #ffe3e3 100%);
  color: #b81f1f;
}
.p-penalty-row:hover .p-penalty-n--danger {
  box-shadow: 0 8px 18px rgba(190,24,24,.18);
}

.p-penalty-info strong {
  display: block;
  font-size: .9rem;
  line-height: 1.36;
  font-weight: 700;
  color: #122f4f;
  margin-bottom: 3px;
}
.p-penalty-info p {
  margin: 0;
  font-size: .81rem;
  line-height: 1.5;
  color: #5d7593;
}

/* ── Roadmap + CTA: один блок, фон и слои — только .cta (styles.css) ── */
.p-finale-roadmap {
  position: relative;
  z-index: 2;
}

.p-roadmap-sec .section-title { color: #fff; position: relative; z-index: 2; }
.p-roadmap-sec .section-title span {
  background: linear-gradient(92deg, #59cfff 0%, #a8e9ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-roadmap-sec .section-lead { color: rgba(200,220,255,.78); position: relative; z-index: 2; }

/* ── outer grid: stacks rows ── */
.p-rm-grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 48px;
  position: relative;
  z-index: 2;
}

/* ── each row = label + 3 cards ── */
.p-rm-col {
  display: grid;
  grid-template-columns: 160px 1fr;
  align-items: stretch;
  gap: 0;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 16px 42px rgba(0,0,0,.38);
  opacity: 0;
  transform: translateY(28px) scale(.985);
  filter: blur(7px);
  transition:
    opacity .82s cubic-bezier(.22,1,.36,1),
    transform .82s cubic-bezier(.22,1,.36,1),
    filter .82s cubic-bezier(.22,1,.36,1);
}

.p-roadmap-sec.is-inview .p-rm-col { opacity: 1; transform: none; filter: none; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) { transition-delay: .06s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) { transition-delay: .2s; }

/* ── label panel (left) ── */
.p-rm-col-hdr {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
  padding: 28px 22px;
  background: rgba(0,0,0,.2);
  border-right: 1px solid rgba(255,255,255,.14);
  border-radius: 0;
  box-shadow: none;
  position: relative;
  overflow: visible;
}

.p-rm-col-hdr::before { display: none; }

.p-rm-col-hdr--prime {
  background: rgba(0,180,230,.18);
}

.p-rm-badge {
  display: block;
  font-size: clamp(.85rem, 1.5vw, 1.1rem);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: #fff;
  background: none;
  border: none;
  padding: 0;
  border-radius: 0;
  text-transform: none;
}

.p-rm-badge--prime { color: #fff; }

/* p-rm-col-hdr p removed (element no longer in markup) */

/* ── steps row ── */
.p-rm-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
}

/* линия между шагами — по вертикали через центр крупных цифр */
.p-rm-steps::before {
  content: '';
  position: absolute;
  /* margin-top .p-rm-dot (20px) + половина высоты цифры (≈ половина clamp font-size) */
  top: calc(20px + (clamp(2.6rem, 5vw, 4rem) / 2) - 0.5px);
  left: calc(100% / 6);
  right: calc(100% / 6);
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.28) 15%, rgba(255,255,255,.28) 85%, rgba(255,255,255,0) 100%);
  pointer-events: none;
  z-index: 0;
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 1.1s cubic-bezier(.22,1,.36,1);
}

.p-roadmap-sec.is-inview .p-rm-steps::before {
  transform: scaleX(1);
  transition-delay: .55s;
}

.p-rm-step {
  position: relative;
  z-index: 1;
  margin: 0;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity .6s cubic-bezier(.22,1,.36,1),
    transform .6s cubic-bezier(.22,1,.36,1);
}

.p-rm-step--last { margin: 0; }

/* stagger each step */
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(1) { opacity:1; transform:none; transition-delay:.18s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(2) { opacity:1; transform:none; transition-delay:.30s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(3) { opacity:1; transform:none; transition-delay:.42s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(1) { opacity:1; transform:none; transition-delay:.32s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(2) { opacity:1; transform:none; transition-delay:.44s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(3) { opacity:1; transform:none; transition-delay:.56s; }

/* ── dot — large laconic number ── */
.p-rm-dot {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 20px auto 8px;
  background: none;
  border: none;
  box-shadow: none;
  width: auto;
  height: auto;
  border-radius: 0;
}

.p-rm-dot span {
  font-size: clamp(2.6rem, 5vw, 4rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.06em;
  color: #fff;
  -webkit-font-smoothing: antialiased;
}

.p-rm-dot--prime span { color: #fff; }

/* ── card ── */
.p-rm-card {
  flex: 1;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0 20px 24px;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* vertical separator between cards */
.p-rm-step:not(:last-child) .p-rm-card::after {
  content: none;
}

.p-rm-step:hover .p-rm-list {
  background: rgba(255,255,255,.1);
}

.p-rm-card::before { display: none; }

.p-rm-card-hdr {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  margin-bottom: 12px;
}

.p-rm-card-hdr strong {
  font-size: .86rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
}

.p-rm-dur {
  font-size: .61rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgba(190,228,255,.9);
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(0,148,255,.22);
  border: 1px solid rgba(130,214,255,.36);
  white-space: nowrap;
}

.p-rm-list {
  list-style: none;
  margin: 0;
  padding: 12px 14px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  transition: background .28s ease;
}

.p-rm-list li {
  font-size: .78rem;
  line-height: 1.48;
  color: rgba(198,222,255,.82);
  padding: 5px 0 5px 14px;
  position: relative;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .4s ease, transform .4s cubic-bezier(.22,1,.36,1);
}

.p-rm-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .74em;
  width: 5px;
  height: 1px;
  background: rgba(120,210,255,.8);
}

.p-roadmap-sec.is-inview .p-rm-list li { opacity: 1; transform: none; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(1) .p-rm-list li:nth-child(1) { transition-delay:.28s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(1) .p-rm-list li:nth-child(2) { transition-delay:.35s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(1) .p-rm-list li:nth-child(3) { transition-delay:.42s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(2) .p-rm-list li:nth-child(1) { transition-delay:.40s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(2) .p-rm-list li:nth-child(2) { transition-delay:.47s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(2) .p-rm-list li:nth-child(3) { transition-delay:.54s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(3) .p-rm-list li:nth-child(1) { transition-delay:.52s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(3) .p-rm-list li:nth-child(2) { transition-delay:.59s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(1) .p-rm-step:nth-child(3) .p-rm-list li:nth-child(3) { transition-delay:.66s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(1) .p-rm-list li:nth-child(1) { transition-delay:.42s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(1) .p-rm-list li:nth-child(2) { transition-delay:.49s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(1) .p-rm-list li:nth-child(3) { transition-delay:.56s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(2) .p-rm-list li:nth-child(1) { transition-delay:.54s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(2) .p-rm-list li:nth-child(2) { transition-delay:.61s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(2) .p-rm-list li:nth-child(3) { transition-delay:.68s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(3) .p-rm-list li:nth-child(1) { transition-delay:.66s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(3) .p-rm-list li:nth-child(2) { transition-delay:.73s; }
.p-roadmap-sec.is-inview .p-rm-col:nth-child(2) .p-rm-step:nth-child(3) .p-rm-list li:nth-child(3) { transition-delay:.80s; }

/* whole row bg on col hover */
.p-rm-col:hover { border-color: rgba(255,255,255,.18); }

@media (max-width: 900px) {
  .p-rm-col {
    grid-template-columns: 1fr;
  }
  .p-rm-col-hdr {
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,.12);
    flex-direction: row;
    flex-wrap: wrap;
    padding: 16px 18px;
  }
  .p-rm-steps {
    grid-template-columns: 1fr;
  }
  .p-rm-steps::before { display: none; }
}
/* ── Why Product ────────────────────────────────────────────── */
.p-why-sec {
  background: linear-gradient(160deg, #eef4fc 0%, #ddeaf8 100%);
  padding-bottom: 80px;
}

.p-why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 44px;
  padding-bottom: 40px;
  align-items: start;
}

.p-why-col {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.p-why-item {
  position: sticky;
  top: 168px;
  min-height: 38vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 36px 52px 40px;
  border-radius: 24px;
  background: #f4f8fe;
  border: 1px solid rgba(6,86,185,.09);
  box-shadow: 0 4px 24px rgba(6,86,185,.06);
  overflow: hidden;
  margin-bottom: 10px;
  transform-origin: top center;
  transition: filter 0.5s ease, box-shadow 0.4s;
  will-change: transform, filter;
}

/* чередование фона */
.p-why-item:nth-child(even) { background: #fff; }

/* z-index — каждая следующая выше */
.p-why-item:nth-child(1) { z-index: 1; }
.p-why-item:nth-child(2) { z-index: 2; }
.p-why-item:nth-child(3) { z-index: 3; }
.p-why-item:nth-child(4) { z-index: 4; }
.p-why-item:nth-child(5) { z-index: 5; }
.p-why-item:nth-child(6) { z-index: 6; }
.p-why-item:nth-child(7) { z-index: 7; }
.p-why-item:last-child    { z-index: 8; margin-bottom: 0; }

/* геометрическая декорация отключена по запросу */
.p-why-item::before {
  content: none;
}

/* тёмная последняя карточка */
.p-why-item--dark {
  background: linear-gradient(135deg, #0c1f42 0%, #0a2d5e 100%) !important;
  border-color: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.9);
}

.p-why-item--dark::before {
  content: none;
}

/* иконка */
.p-why-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  border: 1.5px solid rgba(6,86,185,.14);
  background: rgba(6,86,185,.05);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
  flex-shrink: 0;
}

.p-why-item--dark .p-why-icon {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.07);
  color: var(--teal);
}

.p-why-body {
  margin-top: auto;
}

.p-why-item h3 {
  font-size: clamp(1.2rem, 2.2vw, 1.6rem);
  font-weight: 800;
  color: var(--text);
  margin-bottom: 14px;
  line-height: 1.25;
  letter-spacing: -0.025em;
  max-width: 580px;
}

.p-why-item--dark h3 { color: #fff; }

.p-why-item p {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
  max-width: 560px;
}

.p-why-item--dark p { color: rgba(255,255,255,.55); }

/* ── CTA + Form ─────────────────────────────────────────────── */
.p-cta-sec.cta {
  padding: 100px 0;
}

/* Без декоративной клетки и анимированного блика (.cta::before/::after, ctaBgMove в styles.css) */
.page-partners #request.cta {
  animation: none;
}
.page-partners #request.cta::before,
.page-partners #request.cta::after {
  content: none;
}

/* отступ между дорожной картой и блоком заявки внутри одной секции */
.p-roadmap-sec.cta .p-cta-wrap {
  margin-top: 96px;
}

.p-cta-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
  position: relative;
  z-index: 2;
}

.p-cta-left .cta-title {
  font-size: clamp(1.9rem, 3.8vw, 2.8rem);
  margin-bottom: 18px;
}

.p-cta-sub {
  font-size: 0.95rem;
  line-height: 1.72;
  color: rgba(255,255,255,.62);
  margin-bottom: 36px;
}

.p-contacts {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.p-contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.68);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.2s;
}

.p-contact-item:hover {
  color: #fff;
}

.p-contact-ico {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.95rem;
}

/* Form */
.p-form {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 24px;
  padding: 32px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.p-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}

.p-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.p-field-lbl {
  font-size: 0.73rem;
  font-weight: 600;
  color: rgba(255,255,255,.5);
  letter-spacing: 0.04em;
}

.p-field-inp {
  padding: 12px 16px;
  border-radius: 12px;
  border: 1.5px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  color: #fff;
  font-family: inherit;
  font-size: 0.9rem;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
}

.p-field-inp::placeholder {
  color: rgba(255,255,255,.28);
}

.p-field-inp:focus {
  border-color: rgba(0,189,220,.5);
  background: rgba(0,189,220,.06);
}

.p-field-sel {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='rgba(255,255,255,0.38)' d='M4 6l4 4 4-4H4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 14px;
}

.p-field-sel option {
  background: #0a2248;
  color: #fff;
}

.p-form-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 15px 24px;
  border-radius: 14px;
  border: none;
  background: linear-gradient(135deg, var(--blue) 0%, var(--teal) 100%);
  color: #fff;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-shadow: 0 8px 28px rgba(0,189,220,.3);
  transition: filter 0.2s, transform 0.2s, box-shadow 0.2s;
  margin-bottom: 14px;
}

.p-form-submit:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 14px 40px rgba(0,189,220,.48);
}

.p-form-note {
  font-size: 0.72rem;
  color: rgba(255,255,255,.32);
  line-height: 1.55;
  text-align: center;
  margin: 0;
}

/* reveal animations — базовые правила уже в styles.css */

/* ── Support cards: Stripe-like UI ──────────────────────────── */
#pSupGrid {
  position: relative;
  z-index: 2;
  margin-top: 44px;
}

#pSupGrid .p-sup-grid-top {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

#pSupGrid .p-sup-grid-bottom {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 24px;
}

#pSupGrid .p-sup-card {
  position: relative;
  background:
    linear-gradient(160deg, rgba(7, 29, 62, 0.92) 0%, rgba(6, 46, 98, 0.88) 52%, rgba(7, 70, 142, 0.84) 100%);
  border: 1px solid rgba(109, 188, 255, 0.34);
  border-radius: 24px;
  padding: 36px 32px;
  cursor: default;

  backdrop-filter: blur(14px) saturate(130%);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  overflow: hidden;

  /* начальное состояние — скрыто */
  pointer-events: none;
  opacity: 0;
  transform: translateY(44px) scale(0.96);
  filter: blur(8px);

  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s ease,
    border-color 0.4s ease,
    background 0.4s ease;
  box-shadow:
    0 20px 52px rgba(1, 9, 27, 0.42),
    0 0 0 1px rgba(255, 255, 255, 0.03) inset,
    0 1px 0 rgba(196, 230, 255, 0.16) inset;
}

/* видимое состояние — добавляется через JS */
#pSupGrid .p-sup-card.is-visible {
  opacity: 1;
  transform: none;
  filter: none;
  pointer-events: auto;
}

/* Curtain — скрыт, анимация через .is-visible */
#pSupGrid .p-sup-curtain { display: none; }

/* Glow border при hover */
#pSupGrid .p-sup-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 24px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(173, 223, 255, 0.28) 0%, rgba(56, 189, 248, 0.52) 40%, rgba(74, 120, 255, 0.44) 70%, rgba(173, 223, 255, 0.24) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

/* Mouse spotlight — следует за курсором */
#pSupGrid .p-sup-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 24px;
  background: radial-gradient(
    circle 220px at var(--mx, -300px) var(--my, -300px),
    rgba(80, 210, 255, 0.22) 0%,
    rgba(56, 140, 255, 0.10) 45%,
    transparent 70%
  );
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
  z-index: 1;
}

#pSupGrid .p-sup-card:hover {
  transform: translateY(-10px) scale(1.012);
  border-color: rgba(135, 214, 255, 0.68);
  background:
    linear-gradient(160deg, rgba(10, 37, 78, 0.96) 0%, rgba(8, 57, 118, 0.93) 52%, rgba(9, 82, 164, 0.9) 100%);
  box-shadow:
    0 36px 88px rgba(0, 10, 32, 0.56),
    0 0 36px rgba(0, 189, 220, 0.28),
    inset 0 1px 0 rgba(212, 239, 255, 0.22);
}

#pSupGrid .p-sup-card:hover::before { opacity: 1; }
#pSupGrid .p-sup-card:hover::after { opacity: 1; }

/* Номер карточки */
#pSupGrid .p-sup-card-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.24), rgba(129, 140, 248, 0.28));
  border: 1px solid rgba(124, 210, 255, 0.56);
  font-size: 12px;
  font-weight: 700;
  color: #c8f0ff;
  letter-spacing: 0.5px;
  margin-bottom: 20px;
  transition: all 0.4s ease;
}

#pSupGrid .p-sup-card:hover .p-sup-card-number {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.48), rgba(129, 140, 248, 0.46));
  box-shadow: 0 0 22px rgba(56, 189, 248, 0.45);
}

/* Иконка в правом верхнем углу */
#pSupGrid .p-sup-card-icon {
  position: absolute;
  top: 28px;
  right: 28px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.26), rgba(129, 140, 248, 0.28));
  border: 1px solid rgba(203, 238, 255, 0.34);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: all 0.4s ease;
}

#pSupGrid .p-sup-card-icon::before {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: 1.5px solid rgba(56, 189, 248, 0.62);
  transform: rotate(12deg);
  opacity: 0.9;
}

#pSupGrid .p-sup-card-icon::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, rgba(56, 189, 248, 0.85), rgba(129, 140, 248, 0.75));
  transform: translateY(8px);
  opacity: 0.65;
}

#pSupGrid .p-sup-card:hover .p-sup-card-icon {
  transform: rotate(10deg) scale(1.1);
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.35), rgba(129, 140, 248, 0.32));
}

#pSupGrid .p-sup-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #f2f8ff;
  margin-bottom: 20px;
  line-height: 1.3;
}

/* Список */
#pSupGrid .p-sup-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
  margin: 0;
}

#pSupGrid .p-sup-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: rgba(223, 236, 252, 0.9);
  line-height: 1.5;

  opacity: 0;
  transform: translateY(10px);
  filter: blur(10px);

  transition: color 0.3s ease;
}

#pSupGrid .p-sup-list li::before {
  content: none !important;
}

#pSupGrid .p-sup-card:hover .p-sup-list li {
  color: rgba(241, 249, 255, 0.98);
}

/* Check в кружке */
#pSupGrid .p-sup-check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, #38bdf8, #4f8dff);
  box-shadow: 0 0 0 1px rgba(186, 232, 255, 0.5), 0 0 14px rgba(56, 189, 248, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

#pSupGrid .p-sup-check svg {
  width: 10px;
  height: 10px;
}

/* Декоративная линия снизу карточки */
#pSupGrid .p-sup-card-line {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #38bdf8, #6ab3ff 55%, #818cf8);
  border-radius: 0 0 0 24px;
  transition: width 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  pointer-events: none;
}

#pSupGrid .p-sup-card:hover .p-sup-card-line {
  width: 100%;
}


/* ── Shimmer sweep ──────────────────────────────────────────── */
#pSupGrid .p-sup-sheen {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  pointer-events: none;
  overflow: hidden;
  z-index: 7;
}

#pSupGrid .p-sup-sheen::before {
  content: '';
  position: absolute;
  top: 0;
  left: -110%;
  width: 55%;
  height: 100%;
  background: linear-gradient(
    108deg,
    transparent 25%,
    rgba(255, 255, 255, 0.055) 50%,
    transparent 75%
  );
  transform: skewX(-14deg);
  animation: pSupSheenSweep 6s ease-in-out infinite;
  opacity: 0;
}

/* Stagger shimmer по картам */
#pSupGrid .p-sup-grid-top  .p-sup-card:nth-child(1) .p-sup-sheen::before { animation-delay: 0.6s; }
#pSupGrid .p-sup-grid-top  .p-sup-card:nth-child(2) .p-sup-sheen::before { animation-delay: 1.8s; }
#pSupGrid .p-sup-grid-top  .p-sup-card:nth-child(3) .p-sup-sheen::before { animation-delay: 3.0s; }
#pSupGrid .p-sup-grid-bottom .p-sup-card:nth-child(1) .p-sup-sheen::before { animation-delay: 4.2s; }
#pSupGrid .p-sup-grid-bottom .p-sup-card:nth-child(2) .p-sup-sheen::before { animation-delay: 5.4s; }

/* ── Scan line по всей секции ───────────────────────────────── */
@keyframes pSupScanLine {
  0%        { top: -2px;   opacity: 0;   }
  3%        { opacity: 0.7; }
  97%       { opacity: 0.5; }
  100%      { top: 100%;   opacity: 0;   }
}

.p-sup-stage::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -2px;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(0, 189, 220, 0.0) 10%,
    rgba(56, 189, 248, 0.65) 50%,
    rgba(0, 189, 220, 0.0) 90%,
    transparent 100%
  );
  animation: pSupScanLine 10s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  z-index: 3;
  pointer-events: none;
}


/* Responsive для этого блока */
@media (max-width: 900px) {
  #pSupGrid .p-sup-grid-top,
  #pSupGrid .p-sup-grid-bottom {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 600px) {
  #pSupGrid .p-sup-grid-top,
  #pSupGrid .p-sup-grid-bottom {
    grid-template-columns: 1fr !important;
  }
  #pSupGrid .p-sup-card { padding: 28px 24px; }
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .p-formats-grid {
    grid-template-columns: 1fr;
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-bonus-row { grid-template-columns: repeat(2, 1fr); }
  .p-sup-grid { grid-template-columns: 1fr 1fr; }
  .p-sup-card:nth-child(4) { grid-column: auto; }
  .p-sup-card:nth-child(5) { grid-column: 1 / 3; }
  .p-cta-wrap { grid-template-columns: 1fr; gap: 40px; }
}

/* ── Sticky-audience («Кому подходит…», «Где применяется…» и т.п.) ─────────
   При одном столбце .p-aud-panel-right оставался в grid-column: 2 — второй
   неявный столбец, горизонтальное переполнение. Sticky «простыню» (500–700vh)
   отключаем на ≤1200px (совпадает с моб. навигацией). */
@media (max-width: 1200px) {
  .p-audience-sec .p-aud-scroll-wrap {
    height: auto !important;
  }

  .p-audience-sec .p-aud-sticky {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: stretch !important;
    padding: clamp(36px, 6vw, 52px) 0 !important;
    overflow-x: clip;
  }

  .p-audience-sec .p-aud-layout {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 20px !important;
    align-content: start !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .p-audience-sec .p-aud-panel-left {
    grid-column: 1 !important;
    grid-row: auto !important;
    align-self: start !important;
    width: 100%;
    min-width: 0;
  }

  .p-audience-sec .p-aud-panel-right {
    grid-column: 1 !important;
    grid-row: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    align-self: stretch !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .p-audience-sec .p-aud-slide {
    height: auto !important;
    min-height: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    justify-content: flex-start !important;
    padding: clamp(20px, 4vw, 28px) clamp(14px, 4vw, 22px) !important;
    box-sizing: border-box !important;
  }

  .p-audience-sec .p-aud-slide.is-exiting {
    opacity: 1 !important;
    transform: none !important;
  }

  .p-audience-sec .p-aud-meter,
  .p-audience-sec .p-aud-counter {
    display: none !important;
  }

  .p-audience-sec .p-aud-panel-note {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .p-audience-sec .p-aud-slide h3 {
    font-size: clamp(1.15rem, 4.8vw, 1.65rem);
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
  }

  .p-audience-sec .p-aud-slide p {
    max-width: none;
  }

  .p-audience-sec .p-aud-slide-bg {
    font-size: clamp(3.75rem, 20vw, 7.5rem);
    right: 4px;
    bottom: -8px;
  }
}

@media (max-width: 860px) {
  .p-strip-inner { flex-wrap: wrap; }
  .p-strip-item { flex: 1 0 50%; }
  .p-strip-item + .p-strip-item::before { display: none; }

  /* Audience: disable sticky scroll, show all cards */
  .p-aud-scroll-wrap { height: auto; }
  .p-aud-sticky {
    position: relative;
    height: auto;
    min-height: unset;
    padding: 48px 0;
  }
  .p-aud-layout {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .p-aud-panel-right {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }
  .p-aud-slide {
    grid-area: auto;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    padding: 28px 24px;
  }
  .p-aud-slide.is-exiting {
    opacity: 1 !important;
    transform: none !important;
  }
  .p-aud-meter,
  .p-aud-counter { display: none; }

  /* On mobile note moves back to natural flow */
  .p-aud-panel-note {
    grid-column: auto;
    grid-row: auto;
  }

  .p-rules-grid { grid-template-columns: 1fr; }
  .p-rm-grid { grid-template-columns: 1fr; }
  /* на мобилке — обычный поток, без sticky и анимации */
  .p-why-grid { grid-template-columns: 1fr; gap: 0; }
  .p-why-item {
    position: relative !important;
    top: auto !important;
    min-height: 0 !important;
    margin-bottom: 14px;
    padding: 28px 24px !important;
    transform: none !important;
    filter: none !important;
  }
  .p-form-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .p-formats-sec { padding: 72px 0; }
  .p-strip-item { flex: 1 0 100%; padding: 20px 16px; }
  .p-sup-grid { grid-template-columns: 1fr; }
  .p-sup-card:nth-child(5) { grid-column: auto; }
  .p-bonus-row { grid-template-columns: 1fr 1fr; }
  .p-bonus { padding: 24px 20px; }
  .p-form { padding: 24px 20px; }
  .p-rm-grid { gap: 40px; }
}

/* ══════════════════════════════════════════════════════════════
   МОБИЛЬНАЯ АДАПТАЦИЯ ≤ 768px
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Hero */
  .hero-partners .hero-actions {
    flex-direction: column;
    width: 100%;
    gap: 10px;
  }
  .hero-partners .hero-actions .p-hero-cta-catalog,
  .hero-partners .hero-actions .hero-btn-primary,
  .hero-partners .hero-actions .hero-btn-ghost {
    width: 100% !important;
    justify-content: center !important;
    text-align: center;
  }

  .hero-partners h1.hero-title-stack {
    font-size: clamp(2rem, 9vw, 3.2rem);
  }

  /* Audience sticky → поток */
  .p-aud-scroll-wrap {
    height: auto !important;
    background: linear-gradient(160deg, #f0f7ff 0%, #daeeff 100%);
  }
  .p-aud-sticky {
    position: relative !important;
    height: auto !important;
    padding: 48px 0 !important;
  }
  .p-aud-layout {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .p-aud-panel-right {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .p-aud-slide {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    padding: 24px 20px !important;
  }
  .p-aud-meter,
  .p-aud-counter { display: none !important; }

  /* Форматы */
  .p-fmt-grid { grid-template-columns: 1fr !important; }
  .p-fmt-card { padding: 22px 18px !important; }

  /* Правила */
  .p-rules-grid { grid-template-columns: 1fr !important; }

  /* Roadmap */
  .p-rm-grid { grid-template-columns: 1fr !important; }
  .p-rm-col {
    grid-template-columns: 1fr !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* Why */
  .p-why-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .p-why-item {
    position: relative !important;
    top: auto !important;
    min-height: 0 !important;
    margin-bottom: 12px !important;
    padding: 26px 20px !important;
    transform: none !important;
    filter: none !important;
  }

  /* Bonus */
  .p-bonus-row { grid-template-columns: 1fr !important; }

  /* Support grid */
  .p-sup-grid { grid-template-columns: 1fr !important; }
  .p-sup-card:nth-child(n) { grid-column: auto !important; }

  /* Strip */
  .p-strip-inner { flex-direction: column !important; }
  .p-strip-item { flex: 1 0 100% !important; border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.1); }

  /* Form */
  .p-form-grid { grid-template-columns: 1fr !important; }
  .p-cta-wrap { grid-template-columns: 1fr !important; }
}

/* ── prefers-reduced-motion ─────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .hero-title-line1, .hero-title-brand,
  .hero-tagline-chunk,
  .hero-partners .hero-btn-primary,
  .hero-partners .p-hero-cta-catalog,
  .hero-partners .hero-btn-ghost {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }

  .p-sup-stage *,
  .p-sup-mesh,
  .p-sup-orb,
  .p-sup-beam,
  .p-sup-rail {
    animation: none !important;
  }

  .p-support-sec .p-sup-reveal {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    letter-spacing: inherit !important;
  }

  /* Keep rules animations available; only disable infinite ambience */
  .p-rules-sec::after {
    animation: none !important;
  }

  /* Roadmap: show everything immediately */
  .p-rm-col {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .p-rm-list li {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .p-rules-sec .p-rules-col .p-price-row,
  .p-rules-sec .p-rules-col .p-penalty-row,
  .p-rules-sec .p-rules-col .p-rules-note {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }

  .p-support-sec.is-inview .p-sup-header .section-title span {
    animation: none !important;
    background: none !important;
    -webkit-text-fill-color: #ffffff !important;
    color: #ffffff !important;
  }


  .p-aud-card:hover,
  .p-fmt-card:hover,
  .p-sup-card:hover,
  .p-why-item:hover,
  .p-rm-step:hover .p-rm-card,
  .p-bonus-item:hover {
    transform: none !important;
  }

  .p-aud-slide {
    transition: none !important;
  }
  .p-aud-meter-fill {
    transition: none !important;
  }
}
