/* =============================================================
   ClipGrowth · «Бренды-партнеры» landing (/try)
   Reuses design-system tokens from system.css.
   #1e93f3 stays a glow accent only — never on body text.
   Every block is bespoke — no block repeats the home page.
   ============================================================= */

.partner { overflow-x: clip; }
.partner .eyebrow { display: inline-flex; align-items: center; }

/* shared little section header */
.section-head { max-width: 62ch; margin-bottom: clamp(38px, 5vh, 64px); }
.section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.section-head--center .eyebrow { justify-content: center; }

/* ============================================================
   1 · HERO — scarcity + three open seats
   ============================================================ */
.phero {
  position: relative; overflow: hidden;
  padding: clamp(132px, 20vh, 216px) 0 clamp(64px, 9vh, 108px);
}
.phero__blob { top: -22%; right: -16%; opacity: 0.6; }
.phero__blob--2 { bottom: -40%; left: -18%; width: 640px; height: 640px; opacity: 0.4; }

.phero__grid {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1.38fr 0.82fr;
  gap: clamp(28px, 4vw, 60px); align-items: center;
}
.phero__h1 {
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(2.5rem, 5.2vw, 5rem); line-height: 0.98; letter-spacing: -0.045em;
  color: var(--fg); max-width: 24ch;
}
.phero__h1 em, .phero__h1 .split-word--italic { font-family: var(--f-italic); font-style: italic; font-weight: 400; letter-spacing: -0.01em; }
.phero__sub {
  margin-top: clamp(24px, 3.4vh, 36px); max-width: 52ch;
  color: var(--fg-muted); font-size: clamp(1.02rem, 1.2vw, 1.2rem); line-height: 1.62;
}
.phero__cta { margin-top: clamp(30px, 4vh, 42px); }

/* premium spec strip — "we take 3", not "3 left" */
.phero__spec {
  margin-top: clamp(32px, 4.4vh, 48px);
  display: grid; grid-template-columns: repeat(3, auto); justify-content: start;
  border-top: 1px solid var(--line); padding-top: clamp(22px, 3vh, 30px);
}
.phero__spec-cell { position: relative; display: flex; flex-direction: column; gap: 9px; padding-right: clamp(20px, 3vw, 44px); }
.phero__spec-cell + .phero__spec-cell { padding-left: clamp(20px, 3vw, 44px); border-left: 1px solid var(--line); }
.phero__spec-val {
  font-family: var(--f-display); font-weight: 600; font-size: clamp(1rem, 1.15vw, 1.15rem);
  color: var(--fg-muted); letter-spacing: -0.01em; display: flex; align-items: baseline; gap: 8px;
}
.phero__spec-val b {
  font-weight: 700; font-size: clamp(1.8rem, 2.7vw, 2.5rem); line-height: 0.85; color: var(--fg);
  letter-spacing: -0.045em; font-variant-numeric: tabular-nums;
}
.phero__spec-lab { font-family: var(--f-mono); font-weight: 500; font-size: 0.62rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--fg-faint); }

@keyframes pseat-pulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(0.72); } }

/* --- living content wall: tilted feed of short-form clips --- */
.phero__wall {
  position: relative; justify-self: end; width: 100%; max-width: 560px;
  height: clamp(420px, 52vw, 600px); --ry: 0deg; --rx: 0deg;
}
.phero__wall-glow {
  position: absolute; inset: -14% -12% -16%; z-index: 0;
  background: radial-gradient(56% 54% at 52% 42%, var(--accent-blob), transparent 70%);
  filter: blur(54px); opacity: 0.5; animation: pgh-breathe 6.5s ease-in-out infinite;
}
[data-theme="dark"] .phero__wall-glow { opacity: 0.82; }
@keyframes pgh-breathe { 0%,100% { opacity: .48; transform: scale(1); } 50% { opacity: .8; transform: scale(1.05); } }

.phero__wall-stage {
  position: absolute; inset: 0; z-index: 1;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(12px, 1.3vw, 18px);
  transform: perspective(1600px) rotateY(-14deg) rotateX(5deg) rotateZ(-1.5deg);
  transform-origin: 55% 50%; transition: transform .6s var(--ease-out);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 13%, #000 87%, transparent);
          mask-image: linear-gradient(180deg, transparent, #000 13%, #000 87%, transparent);
}
.phero__wall-col { position: relative; overflow: hidden; }
.phero__wall-col--3 { margin-top: clamp(24px, 4vw, 52px); }
.phero__wall-track { display: block; will-change: transform; }
.phero__wall-col--up .phero__wall-track { animation: wall-up 32s linear infinite; }
.phero__wall-col--down .phero__wall-track { animation: wall-down 38s linear infinite; }
.phero__wall-col--3 .phero__wall-track { animation-duration: 44s; }
@keyframes wall-up { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@keyframes wall-down { from { transform: translateY(-50%); } to { transform: translateY(0); } }
.phero__wall:hover .phero__wall-track { animation-play-state: paused; }

.phero__clip {
  position: relative; overflow: hidden; isolation: isolate;
  aspect-ratio: 9 / 16; border-radius: 15px; margin-bottom: clamp(12px, 1.3vw, 18px);
  border: 1px solid rgba(255,255,255,0.09);
  background:
    radial-gradient(120% 76% at 50% 32%, rgba(255,255,255,0.05), transparent 60%),
    linear-gradient(180deg, rgba(22,28,40,0.72), rgba(9,12,20,0.82));
  box-shadow: 0 22px 46px -26px rgba(0,0,0,0.72), inset 0 1px 0 rgba(255,255,255,0.09);
}
[data-theme="light"] .phero__clip {
  border-color: rgba(255,255,255,0.09);
  background:
    radial-gradient(120% 76% at 50% 32%, rgba(255,255,255,0.06), transparent 60%),
    linear-gradient(180deg, rgba(28,36,54,0.92), rgba(11,16,27,0.95));
}
/* inner vignette — reads like a dimmed short-form frame, so the white UI pops */
.phero__clip::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(122% 92% at 50% 42%, transparent 42%, rgba(0,0,0,0.34) 100%),
              linear-gradient(180deg, rgba(0,0,0,0.30), transparent 26%, transparent 60%, rgba(0,0,0,0.46)); }
/* fine scanline grain */
.phero__clip::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 3px); opacity: 0.6; }
.phero__clip > * { position: absolute; z-index: 2; }

/* duration chip */
.phero__clip-dur { top: 8px; left: 8px; font-family: var(--f-mono); font-size: 0.52rem; letter-spacing: 0.04em; color: #fff; padding: 3px 6px; border-radius: 6px; background: rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.08); }
/* trend chip (top-right) — accent up-arrow, only on some clips */
.phero__clip-trend { top: 8px; right: 8px; width: 20px; height: 20px; border-radius: 6px; background: color-mix(in srgb, var(--accent) 20%, rgba(0,0,0,0.4)); border: 1px solid color-mix(in srgb, var(--accent) 46%, transparent); box-shadow: 0 0 12px -3px var(--accent-glow); }
.phero__clip-trend::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-40%); width: 0; height: 0; border-left: 3.5px solid transparent; border-right: 3.5px solid transparent; border-bottom: 6px solid #fff; }
.phero__clip:nth-of-type(even) .phero__clip-trend { display: none; }
/* engagement rail (right) */
.phero__clip-rail { top: 50%; right: 8px; transform: translateY(-50%); display: flex; flex-direction: column; gap: 11px; }
.phero__clip-rail i { width: 15px; height: 15px; display: block; background: rgba(255,255,255,0.88); filter: drop-shadow(0 1px 2px rgba(0,0,0,0.45)); -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.ic-heart { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20C4 14.5 4 8.5 8 6.3 10.6 4.9 12 7.2 12 7.2 12 7.2 13.4 4.9 16 6.3 20 8.5 20 14.5 12 20Z' fill='%23000'/%3E%3C/svg%3E"); }
.ic-cmt { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v11H10l-4 4v-4H3z' fill='%23000'/%3E%3C/svg%3E"); }
.ic-share { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11 21 3 14 21 11 13Z' fill='%23000'/%3E%3C/svg%3E"); }
/* profile foot */
.phero__clip-foot { left: 8px; right: 30px; bottom: 15px; display: flex; align-items: center; gap: 7px; }
.phero__clip-ava { width: 17px; height: 17px; border-radius: 50%; flex: 0 0 auto; background: linear-gradient(135deg, rgba(255,255,255,0.6), rgba(255,255,255,0.16)); border: 1px solid rgba(255,255,255,0.4); }
.phero__clip-hl { height: 6px; border-radius: 3px; flex: 1; max-width: 66%; background: rgba(255,255,255,0.4); }
/* progress / scrubber */
.phero__clip-prog { left: 8px; right: 8px; bottom: 8px; height: 3px; border-radius: 2px; background: rgba(255,255,255,0.16); overflow: hidden; }
.phero__clip-prog::after { content: ''; position: absolute; inset: 0 auto 0 0; width: 46%; border-radius: 2px; background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 55%, transparent), var(--accent)); box-shadow: 0 0 8px var(--accent-glow); }
/* per-clip variety */
.phero__clip:nth-of-type(2) .phero__clip-prog::after { width: 70%; }
.phero__clip:nth-of-type(3) .phero__clip-prog::after { width: 30%; }
.phero__clip:nth-of-type(4) .phero__clip-prog::after { width: 58%; }
.phero__clip:nth-of-type(2) .phero__clip-hl { max-width: 46%; }
.phero__clip:nth-of-type(3) .phero__clip-hl { max-width: 72%; }
.phero__clip:nth-of-type(4) .phero__clip-hl { max-width: 40%; }

/* keeps the form's "Осталось 3 места" node working */
.papply__seats .phero__seat-node { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; background: var(--accent); box-shadow: 0 0 10px var(--accent-glow); animation: pseat-pulse 2.4s ease-in-out infinite; }

/* ============================================================
   2 · «Это не скидка. Это отбор» — centred manifesto
   ============================================================ */
.pframe { position: relative; overflow: hidden; }
.pframe__glow { position: absolute; z-index: 0; top: -24%; left: 2%; width: clamp(400px, 54vw, 880px); aspect-ratio: 1; background: radial-gradient(circle, var(--accent-blob), transparent 70%); filter: blur(92px); opacity: 0.16; pointer-events: none; }
[data-theme="dark"] .pframe__glow { opacity: 0.32; }
.pframe > .container { position: relative; z-index: 1; }

/* editorial header bar */
.pframe__bar { display: flex; align-items: center; gap: clamp(16px, 2vw, 30px); margin-bottom: clamp(40px, 7vh, 96px); }
.pframe__bar .eyebrow { display: inline-flex; align-items: center; flex: 0 0 auto; }
.pframe__rule { flex: 1; height: 1px; background: linear-gradient(90deg, var(--line) 34%, transparent); }
.pframe__idx { font-family: var(--f-mono); font-size: 0.8rem; letter-spacing: 0.16em; color: var(--fg-faint); flex: 0 0 auto; }

/* layout: statement (left) + supporting text (right) */
.pframe__grid { display: grid; grid-template-columns: 1fr 0.76fr; gap: clamp(36px, 6vw, 112px); align-items: center; }

/* headline — scale contrast; «Это отбор.» resolves into focus */
.pframe__title { display: flex; flex-direction: column; gap: clamp(8px, 1.2vw, 22px); }
.pframe__title span { display: block; }
.pframe__no { font-family: var(--f-display); font-weight: 600; font-size: clamp(1.15rem, 2.1vw, 1.9rem); letter-spacing: -0.02em; color: var(--fg-muted); }
.pframe__yes { font-family: var(--f-display); font-weight: 700; font-size: clamp(3rem, 7vw, 7rem); line-height: 0.9; letter-spacing: -0.05em; color: var(--fg); opacity: 0; filter: blur(18px); transition: opacity 1.1s var(--ease-out), filter 1.2s var(--ease-out); will-change: filter, opacity; }
.pframe__yes.is-in { opacity: 1; filter: blur(0); }
.pframe__yes em { font-family: var(--f-italic); font-style: italic; font-weight: 400; letter-spacing: -0.01em; text-shadow: 0 0 46px color-mix(in srgb, var(--accent) 26%, transparent); }

/* body */
.pframe__body { display: flex; flex-direction: column; gap: clamp(20px, 2.8vh, 32px); max-width: 44ch; }
.pframe__p { color: var(--fg-muted); font-size: clamp(1rem, 1.1vw, 1.1rem); line-height: 1.66; }
.pframe__p--lead { color: var(--fg); font-size: clamp(1.06rem, 1.3vw, 1.24rem); line-height: 1.6; letter-spacing: -0.01em; }
.pframe__p strong { color: var(--fg); font-weight: 600; }

/* ============================================================
   3 · Честный обмен — give / get, facing columns
   ============================================================ */
.pexch { position: relative; overflow: hidden; }
.pexch::before, .pexch::after { content: ''; position: absolute; z-index: 0; border-radius: 50%; filter: blur(94px); pointer-events: none; }
.pexch::before { width: clamp(340px, 38vw, 620px); aspect-ratio: 1; top: 22%; left: -6%; background: radial-gradient(circle, color-mix(in srgb, var(--fg) 8%, transparent), transparent 70%); opacity: 0.5; animation: pexch-breathe 8s ease-in-out infinite; }
.pexch::after { width: clamp(360px, 44vw, 720px); aspect-ratio: 1; bottom: -6%; right: -6%; background: radial-gradient(circle, var(--accent-blob), transparent 70%); opacity: 0.3; animation: pexch-breathe 9s ease-in-out infinite 1.4s; }
[data-theme="dark"] .pexch::after { opacity: 0.5; }
@keyframes pexch-breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.09); } }
.pexch > .container { position: relative; z-index: 1; }

/* ---- interactive balance scale (--a, unitless, drives the whole rig) ---- */
.pexch__scale { --a: 0; position: relative; margin-top: clamp(28px, 4vh, 56px); }

/* beam — a fine machined bar on a precision bearing (neutral, no neon) */
.pexch__beam { position: relative; height: 16px; max-width: min(540px, 72%); margin: 0 auto clamp(12px, 1.8vh, 20px); transform: rotate(calc(var(--a) * 1deg)); transform-origin: 50% 50%; }
.pexch__beam-bar { position: absolute; left: 0; right: 0; top: 50%; height: 2px; transform: translateY(-50%); border-radius: 2px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--fg) 12%, transparent) 8%, color-mix(in srgb, var(--fg) 32%, transparent) 50%, color-mix(in srgb, var(--fg) 12%, transparent) 92%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.16); }
.pexch__beam-cap { position: absolute; top: 50%; width: 9px; height: 9px; border-radius: 50%; transform: translateY(-50%);
  background: radial-gradient(circle at 36% 32%, color-mix(in srgb, #fff 45%, var(--fg-muted)), var(--fg-muted));
  border: 1px solid color-mix(in srgb, var(--fg) 24%, transparent); }
.pexch__beam-cap--l { left: -4px; }
.pexch__beam-cap--r { right: -4px; }
.pexch__hub { position: absolute; left: 50%; top: 50%; width: clamp(54px, 6vw, 74px); aspect-ratio: 1; transform: translate(-50%, -50%) rotate(calc(var(--a) * -1deg)); }
.pexch__hub-ring { position: absolute; inset: 0; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--fg) 11%, transparent); animation: spin 30s linear infinite; }
.pexch__hub-ring--2 { inset: 17%; border-color: color-mix(in srgb, var(--fg) 8%, transparent); animation: spin 22s linear infinite reverse; }
.pexch__hub-core { position: absolute; inset: 32%; border-radius: 50%; display: grid; place-items: center; color: var(--accent);
  background: radial-gradient(circle at 38% 30%, color-mix(in srgb, #fff 12%, var(--bg-elev)), var(--bg-elev) 76%);
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  box-shadow: 0 8px 20px -10px rgba(0,0,0,0.6), inset 0 1px 2px rgba(255,255,255,0.1); }
.pexch__hub-core svg { width: 48%; height: 48%; opacity: 0.9; }
@keyframes spin { to { transform: rotate(360deg); } }

/* two hanging pans — translate opposite the tilt to read as a balance */
.pexch__pans { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(22px, 5vw, 88px); max-width: min(1000px, 100%); margin: 0 auto; }
.pexch__pan { position: relative; padding-top: clamp(46px, 6vh, 74px); }
.pexch__pan--give { transform: translateY(calc(var(--a) * -1.7px)); }
.pexch__pan--get { transform: translateY(calc(var(--a) * 1.7px)); }
/* cord bridges up from the tray toward the beam (fine, neutral) */
.pexch__cord { position: absolute; top: 0; left: 50%; width: 1px; height: clamp(46px, 6vh, 74px); transform: translateX(-50%); background: linear-gradient(180deg, color-mix(in srgb, var(--fg) 22%, transparent), transparent 78%); opacity: 0; transition: opacity .8s var(--ease-out) .2s; }
.pexch__cord::before { content: ''; position: absolute; top: -3px; left: 50%; width: 7px; height: 7px; border-radius: 50%; transform: translateX(-50%); background: radial-gradient(circle at 36% 32%, color-mix(in srgb, #fff 45%, var(--fg-muted)), var(--fg-muted)); border: 1px solid color-mix(in srgb, var(--fg) 22%, transparent); }
.pexch__scale.is-in .pexch__cord { opacity: 1; }

/* pans — refined material, real depth (no accent glow); get is distinguished by a hairline + whisper of tint */
.pexch__tray { position: relative; overflow: hidden; padding: clamp(24px, 2.8vw, 40px) clamp(22px, 2.4vw, 36px);
  border-radius: var(--r-card); border: 1px solid var(--line);
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg-elev) 80%, transparent), color-mix(in srgb, var(--bg-elev) 58%, transparent));
  backdrop-filter: blur(18px) saturate(1.04); -webkit-backdrop-filter: blur(18px) saturate(1.04);
  box-shadow: 0 32px 68px -46px rgba(0,0,0,0.58), inset 0 1px 0 rgba(255,255,255,0.06);
  transition: border-color .45s var(--ease-out), box-shadow .45s var(--ease-out), transform .45s var(--ease-out); }
.pexch__tray::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 44%; background: linear-gradient(180deg, rgba(255,255,255,0.045), transparent); pointer-events: none; }
[data-theme="light"] .pexch__tray { box-shadow: var(--shadow-card), inset 0 1px 0 rgba(255,255,255,0.5); }
.pexch__pan--get .pexch__tray {
  border-color: color-mix(in srgb, var(--accent) 24%, var(--line));
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 5%, color-mix(in srgb, var(--bg-elev) 80%, transparent)), color-mix(in srgb, var(--bg-elev) 58%, transparent)); }
.pexch__pan--get .pexch__tray::after { content: ''; position: absolute; top: 0; left: clamp(24px, 2.8vw, 40px); right: clamp(24px, 2.8vw, 40px); height: 1px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 55%, transparent), transparent); }
@media (hover: hover) { .pexch__pan:hover .pexch__tray { border-color: color-mix(in srgb, var(--accent) 34%, var(--line)); transform: translateY(-3px); } }

.pexch__pan-head { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: clamp(18px, 2.2vh, 28px); padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.pexch__pan-tag { font-family: var(--f-display); font-weight: 600; font-size: clamp(1.2rem, 1.8vw, 1.55rem); letter-spacing: -0.02em; color: var(--fg); }
.pexch__pan-n { font-family: var(--f-mono); font-size: 0.6rem; letter-spacing: 0.1em; color: var(--fg-faint); padding: 3px 8px; border-radius: var(--r-pill); border: 1px solid var(--line); }
.pexch__pan--get .pexch__pan-n { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 32%, var(--line)); }

.pexch__list { list-style: none; display: flex; flex-direction: column; }
.pexch__item { display: grid; grid-template-columns: auto 1fr; gap: 15px; align-items: start; padding: clamp(13px, 1.6vh, 18px) 2px; border-bottom: 1px solid var(--line-soft); opacity: 0; transform: translateY(-14px); transition: opacity .6s var(--ease-out), transform .7s var(--ease-out); transition-delay: calc(var(--i) * 0.09s + 0.15s); }
.pexch__item:last-child { border-bottom: 0; }
.pexch__item p { color: var(--fg); font-size: clamp(0.98rem, 1.05vw, 1.08rem); line-height: 1.46; }
.pexch__pan--give .pexch__item p { color: var(--fg-muted); }
.pexch__item a { color: var(--accent); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--accent) 34%, transparent); }
.pexch__item a:hover { border-bottom-color: var(--accent); }
.pexch__scale.is-in .pexch__item { opacity: 1; transform: none; }

/* matched markers: give = neutral tile w/ minus · get = accent tile w/ check (subtle, static) */
.pexch__mark, .pexch__check { position: relative; width: 21px; height: 21px; margin-top: 0.06em; flex: 0 0 auto; border-radius: 6px; }
.pexch__mark { border: 1px solid var(--line); background: color-mix(in srgb, var(--fg) 4%, transparent); }
.pexch__mark::before { content: ''; position: absolute; top: 50%; left: 5px; right: 5px; height: 1.5px; border-radius: 2px; background: var(--fg-faint); transform: translateY(-50%); }
.pexch__check { border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line)); background: color-mix(in srgb, var(--accent) 11%, transparent); }
.pexch__check::after { content: ''; position: absolute; left: 6.5px; top: 4.5px; width: 6px; height: 10px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(45deg) scale(0); transform-origin: center; transition: transform .5s var(--ease-out); }
.pexch__scale.is-in .pexch__check::after { transform: rotate(45deg) scale(1); transition-delay: calc(var(--i) * 0.09s + 0.5s); }

/* ============================================================
   4 · Цена для первых — struck standard → partner price
   ============================================================ */
.pprice__title { font-family: var(--f-display); font-weight: 700; font-size: clamp(1.9rem, 4vw, 3.4rem); line-height: 1.04; letter-spacing: -0.04em; color: var(--fg); }
.pprice__title em { font-family: var(--f-italic); font-style: italic; font-weight: 400; }
.pprice__lead { margin-top: 20px; color: var(--fg-muted); font-size: clamp(1rem, 1.15vw, 1.12rem); line-height: 1.62; max-width: 66ch; }

.pprice__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 1.6vw, 22px); align-items: stretch; }
.pprice__card {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex; flex-direction: column; gap: 6px;
  padding: clamp(26px, 2.6vw, 40px);
  border: 1px solid var(--line); border-radius: var(--r-card);
  background: var(--bg-elev); box-shadow: var(--shadow-card);
  transition: transform .5s var(--ease-out), box-shadow .5s var(--ease-out), border-color .5s var(--ease-out);
}
@media (hover: hover) { .pprice__card:hover { transform: translateY(-6px); box-shadow: var(--shadow-card), 0 40px 80px -50px rgba(0,0,0,0.5); } }
.pprice__card--pop {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  background: radial-gradient(130% 100% at 50% -10%, color-mix(in srgb, var(--accent) 14%, var(--bg-elev)), var(--bg-elev) 68%);
  box-shadow: var(--shadow-card), 0 36px 90px -48px var(--accent-glow);
}
.pprice__flag {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px;
  font-family: var(--f-mono); font-size: 0.62rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--fg);
  padding: 6px 13px 6px 11px; border-radius: var(--r-pill);
  border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--line));
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 12%, var(--bg-elev)), color-mix(in srgb, var(--accent) 5%, var(--bg-elev)));
  box-shadow: 0 0 24px -8px var(--accent-glow);
}
.pprice__flag-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 10px var(--accent-glow); animation: pseat-pulse 2.4s ease-in-out infinite; }
.pprice__card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pprice__name { font-family: var(--f-display); font-weight: 600; font-size: clamp(1.4rem, 2vw, 1.9rem); letter-spacing: -0.02em; color: var(--fg); }
.pprice__cut {
  font-family: var(--f-mono); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.06em; color: var(--accent);
  padding: 5px 10px; border-radius: var(--r-pill); border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line));
  background: color-mix(in srgb, var(--accent) 8%, transparent);
}
.pprice__old { margin-top: clamp(18px, 2.4vh, 26px); }
.pprice__old s { position: relative; text-decoration: none; font-size: clamp(1.05rem, 1.3vw, 1.3rem); color: var(--fg-faint); font-variant-numeric: tabular-nums; }
.pprice__old s::after {
  content: ''; position: absolute; left: -3px; right: -3px; top: 52%; height: 2px; border-radius: 2px;
  background: var(--fg-faint); transform: scaleX(0); transform-origin: left center; transition: transform .7s var(--ease-out) .35s;
}
.pprice__card.is-in .pprice__old s::after { transform: scaleX(1); }
.pprice__new { display: flex; align-items: baseline; gap: 8px; margin-top: 4px; }
.pprice__num { font-family: var(--f-display); font-weight: 700; font-size: clamp(2.3rem, 4vw, 3.4rem); letter-spacing: -0.04em; line-height: 1; color: var(--fg); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pprice__per { font-family: var(--f-mono); font-size: 0.9rem; letter-spacing: 0.04em; color: var(--fg-muted); }
.pprice__note { margin-top: clamp(26px, 3vh, 38px); color: var(--fg-muted); font-size: 0.98rem; }
.pprice__note a { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line); }
.pprice__note a:hover { text-decoration-color: var(--accent); }

/* ============================================================
   5 · Гарантия — calm reassurance panel + shield emblem
   ============================================================ */
.pguar__panel {
  position: relative; overflow: hidden; isolation: isolate;
  display: grid; grid-template-columns: auto 1fr; align-items: center; gap: clamp(28px, 4vw, 64px);
  padding: clamp(34px, 4.5vw, 68px);
  border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line)); border-radius: var(--r-card);
  background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 7%, var(--bg-elev)), var(--bg-elev) 70%);
  box-shadow: var(--shadow-card), 0 40px 100px -60px var(--accent-glow);
}
.pguar__glow { position: absolute; z-index: -1; top: -40%; left: -10%; width: 480px; height: 480px; background: radial-gradient(circle, var(--accent-blob), transparent 70%); filter: blur(60px); opacity: 0.4; }
.pguar__emblem { color: var(--accent); filter: drop-shadow(0 6px 24px var(--accent-glow)); }
.pguar__emblem svg { width: clamp(76px, 9vw, 116px); height: auto; display: block; }
.pguar__shield { opacity: 0.55; }
.pguar__check { stroke-dasharray: 30; stroke-dashoffset: 30; transition: stroke-dashoffset 1s var(--ease-out) .3s; }
.pguar__panel.is-in .pguar__check { stroke-dashoffset: 0; }
.pguar__body .eyebrow { margin-bottom: 16px; }
.pguar__title { font-family: var(--f-display); font-weight: 700; font-size: clamp(1.7rem, 3.2vw, 2.9rem); line-height: 1.06; letter-spacing: -0.035em; color: var(--fg); max-width: 20ch; }
.pguar__title em { font-family: var(--f-italic); font-style: italic; font-weight: 400; }
.pguar__text { margin-top: 20px; color: var(--fg-muted); font-size: clamp(1rem, 1.2vw, 1.16rem); line-height: 1.62; max-width: 60ch; }
.pguar__text--strong { color: var(--fg); font-weight: 500; }
.pguar__key { color: var(--fg); font-weight: 600; box-shadow: inset 0 -0.5em 0 color-mix(in srgb, var(--accent) 16%, transparent); }

/* ============================================================
   6 · Кому подойдет — criteria checklist + niche tags
   ============================================================ */
.pfit__grid { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: clamp(30px, 5vw, 80px); align-items: start; }
.pfit__aside { position: sticky; top: 120px; }
.pfit__title { margin-top: 20px; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.9rem, 3.6vw, 3.2rem); line-height: 1.04; letter-spacing: -0.04em; color: var(--fg); }
.pfit__title em { font-family: var(--f-italic); font-style: italic; font-weight: 400; }
.pfit__cap { margin-top: 24px; color: var(--fg-muted); font-size: clamp(1rem, 1.15vw, 1.1rem); line-height: 1.6; max-width: 40ch; }

.pfit__list { list-style: none; border-top: 1px solid var(--line); }
.pfit__item { display: grid; grid-template-columns: auto 1fr; gap: clamp(16px, 1.6vw, 26px); align-items: start; padding: clamp(22px, 2.8vh, 34px) 0; border-bottom: 1px solid var(--line); }
.pfit__item p { color: var(--fg); font-size: clamp(1.05rem, 1.35vw, 1.28rem); line-height: 1.5; }
.pfit__check { position: relative; width: 30px; height: 30px; flex: 0 0 auto; margin-top: 2px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line)); background: color-mix(in srgb, var(--accent) 6%, transparent); }
.pfit__check::after {
  content: ''; position: absolute; left: 10px; top: 8px; width: 8px; height: 13px;
  border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(45deg) scale(0);
  transform-origin: center; transition: transform .5s var(--ease-out) .1s; filter: drop-shadow(0 2px 5px var(--accent-glow));
}
.pfit__item.is-in .pfit__check::after { transform: rotate(45deg) scale(1); }
.pfit__niche p { margin-bottom: 16px; }
.pfit__tags { display: flex; flex-wrap: wrap; gap: 10px; }
.pfit__tags span {
  font-size: 0.9rem; color: var(--fg-muted); padding: 9px 15px; border-radius: var(--r-pill);
  border: 1px solid var(--line); background: color-mix(in srgb, var(--fg) 3%, transparent); transition: border-color .3s, color .3s;
}
@media (hover: hover) { .pfit__tags span:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); color: var(--fg); } }

/* ============================================================
   7 · Форма заявки
   ============================================================ */
.papply { position: relative; overflow: hidden; }
.papply__blob { bottom: -30%; right: -14%; opacity: 0.4; }
.papply__head { position: relative; z-index: 2; text-align: center; max-width: 720px; margin: 0 auto clamp(36px, 4.6vh, 56px); }
.papply__head .eyebrow { justify-content: center; }
.papply__title { margin-top: 20px; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.9rem, 4vw, 3.3rem); line-height: 1.04; letter-spacing: -0.04em; color: var(--fg); }
.papply__title em { font-family: var(--f-italic); font-style: italic; font-weight: 400; }
.papply__sub { margin-top: 18px; color: var(--fg-muted); font-size: clamp(1rem, 1.15vw, 1.12rem); line-height: 1.6; }

.papply__card {
  position: relative; z-index: 2; max-width: 920px; margin: 0 auto;
  padding: clamp(26px, 3.4vw, 52px);
  border: 1px solid var(--line); border-radius: var(--r-card);
  background: color-mix(in srgb, var(--bg-elev) 88%, transparent);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: var(--shadow-card), inset 0 1px 0 rgba(255,255,255,0.06);
}
.papply__rows { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 2.2vw, 30px); }
.papply__rows .field--wide { grid-column: 1 / -1; }
.field__textarea { resize: vertical; min-height: 58px; line-height: 1.5; font-family: inherit; }

/* segmented choice control */
.seg { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.seg__opt {
  font-family: var(--f-display); font-weight: 500; font-size: 0.96rem; color: var(--fg-muted);
  padding: 12px 20px; border-radius: var(--r-pill); border: 1px solid var(--line);
  background: transparent; cursor: pointer; transition: border-color .3s, color .3s, background-color .3s, box-shadow .3s;
}
@media (hover: hover) { .seg__opt:hover { border-color: var(--fg-faint); color: var(--fg); } }
.seg__opt.is-on {
  color: var(--fg); border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  box-shadow: 0 0 22px -8px var(--accent-glow), inset 0 1px 0 rgba(255,255,255,0.08);
}

#p-consent { margin-top: clamp(22px, 2.6vh, 30px); }
.papply__actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: clamp(22px, 2.6vh, 30px); }
.papply__seats { display: inline-flex; align-items: center; gap: 9px; font-family: var(--f-mono); font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--fg-muted); }
.form-status { font-family: var(--f-mono); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-faint); }
.form-status.is-ok { color: #2da764; }
.form-status.is-err { color: #d44a4a; }
.papply__status { display: block; margin-top: 18px; }

/* ============================================================
   8 · FAQ — numbered editorial accordion
   ============================================================ */
.pfaq__title { margin-top: 18px; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.9rem, 3.6vw, 3rem); letter-spacing: -0.04em; color: var(--fg); }
.pfaq__title em { font-family: var(--f-italic); font-style: italic; font-weight: 400; }
.pfaq__list { max-width: 900px; margin: 0 auto; border-top: 1px solid var(--line); }
.pfaq-item { border-bottom: 1px solid var(--line); }
.pfaq-item__q { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(16px, 2vw, 30px); padding: clamp(22px, 2.8vh, 32px) 4px; cursor: pointer; list-style: none; }
.pfaq-item__q::-webkit-details-marker { display: none; }
.pfaq-item__n { font-family: var(--f-mono); font-size: 0.82rem; letter-spacing: 0.12em; color: var(--fg-faint); transition: color .4s; }
.pfaq-item__t { font-family: var(--f-display); font-weight: 600; font-size: clamp(1.1rem, 1.7vw, 1.5rem); letter-spacing: -0.02em; color: var(--fg); transition: color .3s; }
.pfaq-item__ic { position: relative; width: 20px; height: 20px; flex: 0 0 auto; }
.pfaq-item__ic::before, .pfaq-item__ic::after { content: ''; position: absolute; top: 50%; left: 50%; width: 15px; height: 2px; border-radius: 2px; background: var(--fg-muted); transform: translate(-50%,-50%); transition: transform .45s var(--ease-out), background-color .3s; }
.pfaq-item__ic::after { transform: translate(-50%,-50%) rotate(90deg); }
.pfaq-item[open] .pfaq-item__ic::after { transform: translate(-50%,-50%) rotate(0deg); }
.pfaq-item[open] .pfaq-item__ic::before { background: var(--accent); }
.pfaq-item[open] .pfaq-item__ic::after { background: var(--accent); }
.pfaq-item[open] .pfaq-item__n { color: var(--accent); }
@media (hover: hover) { .pfaq-item__q:hover .pfaq-item__t { color: var(--accent); } }
.pfaq-item__a { overflow: hidden; height: 0; transition: height .48s var(--ease-out); }
.pfaq-item[open] .pfaq-item__a { height: auto; }
.pfaq-item__a p { padding: 0 4px clamp(24px, 3vh, 32px) calc(0.82rem + clamp(16px, 2vw, 30px)); margin: 0; color: var(--fg-muted); font-size: clamp(1rem, 1.2vw, 1.12rem); line-height: 1.62; max-width: 68ch; }

/* ============================================================
   9 · Финальный призыв — high-contrast scarcity closer
   ============================================================ */
.pfinal { position: relative; overflow: hidden; padding: clamp(80px, 13vh, 160px) 0; background: var(--bg-soft); border-top: 1px solid var(--line); }
.pfinal__glow { position: absolute; inset: 0; z-index: 0; background: radial-gradient(70% 120% at 50% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 62%); opacity: 0.9; }
.pfinal__inner { position: relative; z-index: 2; text-align: center; max-width: 900px; margin: 0 auto; }
.pfinal__count {
  display: block; font-family: var(--f-display); font-weight: 800; line-height: 0.8;
  font-size: clamp(8rem, 26vw, 22rem); letter-spacing: -0.05em;
  color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--accent) 40%, var(--line));
  margin-bottom: clamp(-40px, -4vh, -24px); user-select: none;
}
.pfinal__title { font-family: var(--f-display); font-weight: 700; font-size: clamp(2.1rem, 5.2vw, 4.6rem); line-height: 1.0; letter-spacing: -0.045em; color: var(--fg); }
.pfinal__title em { font-family: var(--f-italic); font-style: italic; font-weight: 400; }
.pfinal__text { margin: clamp(22px, 3vh, 32px) auto 0; max-width: 52ch; color: var(--fg-muted); font-size: clamp(1.02rem, 1.2vw, 1.18rem); line-height: 1.6; }
.pfinal__cta { margin-top: clamp(30px, 4vh, 44px); display: flex; justify-content: center; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  .phero__grid { grid-template-columns: 1fr; gap: clamp(40px, 6vh, 60px); }
  .phero__wall { justify-self: center; max-width: 560px; order: 2; height: clamp(400px, 64vw, 500px); }
  .pexch__beam { display: none; }
  .pexch__cord { display: none; }
  .pexch__pans { grid-template-columns: 1fr; gap: clamp(24px, 5vh, 40px); max-width: 520px; }
  .pexch__pan { padding-top: 0; }
  .pexch__pan--give, .pexch__pan--get { transform: none !important; }
  .pframe__grid { grid-template-columns: 1fr; gap: clamp(26px, 4vh, 42px); }
  .pframe__yes { font-size: clamp(3rem, 13vw, 4.4rem); }
  .pframe__body { max-width: none; }
  .pprice__cards { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .pguar__panel { grid-template-columns: 1fr; text-align: left; gap: 24px; }
  .pfit__grid { grid-template-columns: 1fr; gap: 30px; }
  .pfit__aside { position: static; }
  .papply__rows { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .phero__wall { height: 380px; max-width: 100%; }
  .phero__wall-stage { transform: perspective(1400px) rotateY(-8deg) rotateX(3deg) rotateZ(-1deg); gap: 8px; }
  .phero__wall-col--3 { margin-top: 26px; }
  .phero__clip-rail { gap: 8px; }
  .phero__clip-rail i { width: 12px; height: 12px; }
  .phero__spec { grid-template-columns: 1fr; }
  .phero__spec-cell { padding: 0; }
  .phero__spec-cell + .phero__spec-cell { padding-left: 0; padding-top: 16px; margin-top: 16px; border-left: 0; border-top: 1px solid var(--line); }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .phero__wall-glow, .phero__wall-track, .pprice__flag-dot, .phero__spec-cell:first-child .phero__spec-lab::before { animation: none !important; }
  .pprice__old s::after, .pguar__check, .pfit__check::after { transition: none !important; transform: scaleX(1) !important; }
  .pframe__yes { opacity: 1 !important; filter: none !important; transition: none !important; }
  .pexch::before, .pexch::after, .pexch__hub-ring, .pexch__hub-core, .pexch__mark::after, .pexch__check { animation: none !important; }
  .pexch__scale { --a: 0 !important; }
  .pexch__item { opacity: 1 !important; transform: none !important; transition: none !important; }
  .pexch__cord { opacity: 1 !important; }
  .pexch__check::after { transition: none !important; transform: rotate(45deg) scale(1) !important; }
}
