/* ==========================================================
   Партнёрам — стили страницы поверх /_assets/styles.css.
   03.10, v2 по дизайн-аудиту: компактная шапка, плита условий, горизонтальные шаги,
   дорожка статусов, одна форма с вкладками. Кандидаты в _assets: .hsteps, .track, .ptabs.
   ========================================================== */

/* ---------- 1. Компактная шапка (как .phead--ceny): заголовок слева, плита условий справа ---------- */
/* 03.10: отступы шапка→крошки→H1 — общее правило .phead/.crumbs из _assets/styles.css (как /about/), здесь не переопределяем */
.phead--partner{padding-bottom:clamp(32px,4vw,56px)}
/* 03.10 v3 (правка Алексея — компромисс «было/стало»): плита справа снова широкая, ~42,5% ширины контента (как раньше), левая колонка ~57,5%; левая колонка — flex-столбец, чтобы кнопки уходили вниз (margin-top:auto) */
.phead__grid--partner{grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);align-items:stretch;gap:24px 48px}
.phead__grid--partner>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
/* H1 строго в 4 строки (br-d в html); кегль подобран так, чтобы «для профильных агентств» влезало в левую колонку */
@media (min-width:901px){
  .phead--partner h1{font-size:clamp(34px,4.5vw,70px)}
  .phead--partner h1 .hmask{text-wrap:nowrap}
}
/* Первый экран на весь вьюпорт (100svh, шапка fixed — учтена в padding-top). Ритм слева: H1 → лид (нормальный отступ) → воздух → кнопки внизу колонки;
   плита растянута по высоте колонки, «до 15%» сверху, факты снизу. На мобайле min-height не форсируем */
@media (min-width:901px){
  .phead--partner{box-sizing:border-box;min-height:100svh;display:flex;flex-direction:column;padding-bottom:clamp(36px,5.5vh,64px)}
  .phead--partner .crumbs{flex:0 0 auto}
  .phead__grid--partner{flex:1 1 auto;align-items:stretch}
  .phead--partner h1{margin-bottom:clamp(24px,4.4vh,48px)}
  .phead--partner .sub{margin-top:0;font-size:clamp(18px,1.45vw,22px);max-width:40ch}
  .phead--partner .phead__act{margin-top:auto;padding-top:clamp(32px,6vh,72px)}
  .pplate{gap:clamp(36px,8vh,96px);padding:clamp(28px,3.2vw,48px)}
}
.phead--partner .sub{max-width:46ch}
@media (max-width:900px){.phead--partner h1{margin-bottom:14px}}
.phead__act{margin-top:clamp(20px,2.4vw,32px);display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.pplate{border-radius:var(--r-frame);background:var(--night-2);box-shadow:inset 0 0 0 1px var(--line-d);padding:clamp(24px,3vw,40px);
  display:grid;align-content:space-between;gap:28px;position:relative;overflow:hidden;isolation:isolate}
.pplate>*{position:relative;z-index:1}
/* 03.10 v3 (правка Алексея): «дышащий» фон плиты — три мягких бордовых пятна на отдельных размытых слоях (::before и ::after,
   filter:blur только на слоях, текст поверх без фильтра). Пятна медленно плывут на 20–40% плиты и дышат (opacity .35↔.8, scale .9↔1.15),
   циклы 11 и 14 с, ease-in-out, alternate — без скачков. Под текстом лёгкое затемнение, читается всегда.
   prefers-reduced-motion и ?flat=1 — статично */
.pplate::before,.pplate::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;filter:blur(28px);
  will-change:transform,opacity;transform-origin:50% 50%}
.pplate::before{background:
  radial-gradient(46% 46% at 78% 22%,rgba(var(--brick-rgb),1) 0%,rgba(var(--brick-rgb),.6) 40%,rgba(var(--brick-rgb),0) 74%),
  radial-gradient(36% 36% at 20% 84%,rgba(207,110,122,.6) 0%,rgba(var(--brick-rgb),.45) 42%,rgba(var(--brick-rgb),0) 74%);
  animation:pplate-glow-a 11s ease-in-out infinite alternate}
.pplate::after{background:
  radial-gradient(42% 42% at 30% 42%,rgba(var(--brick-rgb),.95) 0%,rgba(var(--brick-rgb),.45) 45%,rgba(var(--brick-rgb),0) 74%);
  animation:pplate-glow-b 14s ease-in-out infinite alternate}
/* лёгкая тень под текстом — читаемость при любом положении пятен */
.pplate>*{text-shadow:0 1px 18px rgba(26,20,18,.55)}
@keyframes pplate-glow-a{
  0%{transform:translate(0,0) scale(.9);opacity:.4}
  45%{transform:translate(-26%,22%) scale(1.15);opacity:.8}
  100%{transform:translate(-12%,38%) scale(1);opacity:.55}}
@keyframes pplate-glow-b{
  0%{transform:translate(0,0) scale(1.1);opacity:.35}
  50%{transform:translate(36%,-24%) scale(.9);opacity:.8}
  100%{transform:translate(22%,16%) scale(1.15);opacity:.5}}
@media (prefers-reduced-motion:reduce){.pplate::before,.pplate::after{animation:none;opacity:.6}}
html.flat .pplate::before,html.flat .pplate::after{animation:none;opacity:.6}
.pplate__big{display:grid;gap:10px;position:relative}
.pplate__big .num{font-size:clamp(96px,11vw,170px);line-height:.86;letter-spacing:-.07em;font-weight:300;
  background:linear-gradient(180deg,#F4EEE6 0%,#E4D0BF 55%,var(--brick-text) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* 03.10 v3: «до 15%» по ширине плиты (~565px на 1440, ~390px на 1000) — кегль от ширины окна, не вылезает за плиту */
@media (min-width:901px){.pplate__big .num{font-size:clamp(76px,9.4vw,152px)}}
.pplate__big .cap{font-size:clamp(15px,1.2vw,18px);letter-spacing:-.01em;max-width:42ch;line-height:1.35}
.pplate__facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;border-top:1px solid var(--line-d);padding-top:22px;position:relative;list-style:none}
.pplate__facts li{display:grid;gap:5px;align-content:start}
.pplate__facts b{font-weight:400;font-size:clamp(19px,1.5vw,24px);letter-spacing:-.025em;line-height:1.05}
.pplate__facts span{color:var(--mute-d);font-size:14px;line-height:1.35;max-width:26ch}

/* ---------- Заголовки разделов без надзаголовка: плотнее к контенту ---------- */
.chap__head--tight{margin-bottom:clamp(28px,3.5vw,44px)}
.chap__head--tight h2{max-width:20ch}

/* ---------- 2. Кому подходит: пилюли + таблица форматов ---------- */
.who{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin-bottom:clamp(32px,4vw,56px)}
.who li{padding:14px 20px;border-radius:var(--r-pill);font-size:clamp(16px,1.3vw,19px);letter-spacing:-.015em;line-height:1.1;
  box-shadow:inset 0 0 0 1px var(--edge-l);transition:background .35s,color .35s,box-shadow .35s}
.who li:nth-child(1),.who li:nth-child(2){background:var(--ink);color:var(--milk);box-shadow:none}
.who li:hover{background:var(--ink);color:var(--milk);box-shadow:none}
.ptable--3 td.price{white-space:normal;max-width:24ch;font-size:clamp(17px,1.3vw,20px);text-align:left;width:26%}
.ptable--3 th:last-child{text-align:left}
.ptable--3 td:first-child{width:28%}
/* 03.10 (правка Алексея): заголовки таблицы форматов жирные, как th в таблице «Нейросети, 3D или съёмка» на /services/ */
.light .ptable--3 th{font-weight:600;color:var(--ink)}
@media (max-width:900px){.ptable--3 td.price,.ptable--3 td:first-child{max-width:none;width:auto}}

/* ---------- 3. Три шага: горизонтально 1→2→3 ---------- */
.hsteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;counter-reset:hs}
.hsteps li{position:relative;display:grid;gap:12px;align-content:start;padding:22px 22px 24px;border-radius:var(--r-card);background:var(--night-2);box-shadow:inset 0 0 0 1px var(--line-d)}
.hsteps li::before{counter-increment:hs;content:"0" counter(hs);font-size:22px;letter-spacing:-.03em;color:var(--brick-text);line-height:1.2}
/* 03.10 (правка Алексея): стрелки между шагами 01/02/03 убраны */
.hsteps b{font-weight:500;font-size:clamp(18px,1.5vw,22px);letter-spacing:-.015em;line-height:1.15}
.hsteps p{color:var(--mute-d);font-size:15px;line-height:1.5}
.hsteps p .link{font-size:inherit}

/* ---------- 3б. Дорожка статусов сделки ---------- */
.track{margin-top:clamp(40px,5vw,72px);display:grid;gap:clamp(24px,3vw,36px)}
.track__head{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:16px 40px;align-items:start}
.track__head h3{font-size:clamp(22px,2vw,30px);letter-spacing:-.025em;line-height:1.1;max-width:14ch}
.track__head p{color:var(--mute-d);font-size:15.5px;line-height:1.5;max-width:56ch}
.track__head .tag{font-size:13px;padding:5px 10px;vertical-align:middle}
.track__rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;list-style:none;counter-reset:t;position:relative}
.track__rail li{position:relative;display:grid;gap:8px;align-content:start;padding-top:18px;border-top:1px solid var(--line-d);min-width:0}
.track__rail li::before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--brick-text)}
.track__rail li::after{counter-increment:t;content:"0" counter(t);font-size:var(--small);color:var(--mute-d);order:-1}
.track__rail b{font-weight:400;font-size:clamp(15px,1.15vw,17px);letter-spacing:-.01em;line-height:1.2}
.track__rail span{font-size:13.5px;line-height:1.4;color:var(--mute-d)}
.track__rail li:last-child::before{background:var(--milk)}

/* ---------- 4. Материалы для партнёра: четыре карточки ---------- */
.kit{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;counter-reset:k}
.kit li{display:grid;gap:8px;align-content:start}
.kit li::before{counter-increment:k;content:"0" counter(k);font-size:var(--small);color:var(--brick);letter-spacing:0;margin-bottom:2px}
.kit__media{aspect-ratio:16/10;border-radius:var(--r-card);overflow:hidden;background:var(--bone-2);box-shadow:inset 0 0 0 1px rgba(26,20,18,.08)}
.kit__media img{width:100%;height:100%;object-fit:cover;display:block}
/* 03.10 (правка Алексея): карточки материалов — постер в покое, луп при наведении (как .pcard на /services/; src подставляет page.js по data-hover-src).
   Тач, reduced-motion и ?flat=1 — только постер */
.kit__media--video{position:relative}
.kit__media--video img,.kit__media--video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kit__media--video img{transform:scale(1.02);transition:opacity .6s,transform 1.2s var(--ease-soft)}
.kit__media--video video{opacity:0;transition:opacity .7s}
.kit li:hover .kit__media--video img{transform:scale(1.05)}
.kit li.is-playing .kit__media--video video{opacity:1}
.kit li.is-playing .kit__media--video img{opacity:0}
html.flat .kit__media--video video{display:none}
/* карточка цен: тот же луп под плашками, затемнение, плашки поверх */
.kit__media--prices.kit__media--video{isolation:isolate}
.kit__media--prices.kit__media--video>img,.kit__media--prices.kit__media--video>video{z-index:0}
.kit__media--prices.kit__media--video>span{position:relative;z-index:2}
.kit__media--prices.kit__media--video::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(26,20,18,.42);pointer-events:none}
.kit li.is-playing .kit__media--prices::after{background:rgba(26,20,18,.5)}
@media (hover:none),(prefers-reduced-motion:reduce){.kit__media--video video{display:none}.kit li:hover .kit__media--video img{transform:scale(1.02)}}
/* 03.10 (правило Алексея): упоминания формы, статусов, форматов, портфолио и Telegram в ответах FAQ — активные ссылки */
.faq .acc .a a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:currentColor;transition:color .3s}
.faq .acc .a a:hover{color:var(--brick)}
/* 03.10: строка «до 15%…» из подвала убрана; меню и контакты остаются во 2-й и 3-й колонках */
.foot__grid ul{grid-column:2}
.foot__grid>div{grid-column:3}
@media (max-width:900px){.foot__grid ul,.foot__grid>div{grid-column:auto}}
.kit__media--prices{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:14px;align-content:center;font-size:clamp(14px,1.1vw,16px);letter-spacing:-.01em}
.kit__media--prices span{padding:12px 10px;border-radius:var(--r-ui);background:var(--ink);color:var(--milk);text-align:center;white-space:nowrap}
.kit b{font-weight:400;font-size:clamp(19px,1.6vw,23px);letter-spacing:-.02em;line-height:1.15;margin-top:6px}
.kit p{color:var(--mute-l);font-size:15px;max-width:32ch}
.kit p+p{margin-top:2px}
.faq{padding-top:var(--section)}

/* ---------- 5. Одна форма с вкладками ---------- */
.pforms{padding-bottom:0}
.form__card--tabs h2{max-width:none}
.form__card--tabs .lead[hidden]{display:none}
.ftabs-wrap{display:grid;gap:18px;align-content:start;min-width:0}
.ptabs{display:flex;gap:6px;padding:4px;border-radius:var(--r-pill);background:rgba(26,20,18,.18);width:fit-content;max-width:100%}
.ptab{border:0;background:none;font:inherit;font-size:15px;letter-spacing:-.01em;color:rgba(244,238,230,.78);padding:10px 18px;min-height:44px;border-radius:var(--r-pill);cursor:pointer;transition:background .3s,color .3s;white-space:nowrap}
.ptab:hover{color:var(--milk)}
.ptab.is-on{background:var(--milk);color:var(--ink);font-weight:500}
.ptab:focus-visible{outline:2px solid var(--milk);outline-offset:2px}
.ppanel[hidden]{display:none}
@keyframes ppanel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ppanel.is-in{animation:ppanel-in .4s var(--ease-soft)}
@media (prefers-reduced-motion:reduce){.ppanel.is-in{animation:none}}

/* ---------- Мобайл ---------- */
@media (max-width:1100px){
  .pplate{padding:clamp(20px,2.6vw,28px);gap:clamp(22px,4vh,40px)}
  .pplate__facts{gap:12px 14px;padding-top:14px}
  .pplate__facts b{font-size:18px}
  .pplate__facts span{font-size:13px}
  .pplate__big .cap{font-size:14.5px}
  .kit{grid-template-columns:1fr 1fr}
  .track__rail{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .phead--partner{padding-bottom:28px}
  .phead__grid--partner{grid-template-columns:1fr;gap:20px}
  .phead__act{margin-top:16px;gap:12px 18px}
  .pplate{padding:22px 18px 20px;gap:20px}
  /* мобайл: плита на всю ширину под текстом, без форсированной высоты; анимация мягче (меньше сдвиг и blur, дольше цикл) */
  .pplate::before,.pplate::after{filter:blur(22px)}
  .pplate::before{animation-duration:16s}
  .pplate::after{animation-duration:20s}
  @keyframes pplate-glow-a{0%{transform:translate(0,0) scale(.95);opacity:.4}100%{transform:translate(-16%,18%) scale(1.08);opacity:.7}}
  @keyframes pplate-glow-b{0%{transform:translate(0,0) scale(1.05);opacity:.35}100%{transform:translate(18%,-14%) scale(.95);opacity:.7}}
  .pplate__big .num{font-size:clamp(84px,26vw,110px)}
  .pplate__big .cap{font-size:14.5px;max-width:none}
  .pplate__facts{gap:14px;padding-top:16px}
  .pplate__facts b{font-size:18px}
  .pplate__facts span{font-size:13px;max-width:none}
  .chap__head--tight h2{max-width:none}

  .who{gap:8px;margin-bottom:28px}
  .who li{padding:11px 16px;font-size:15px}

  .hsteps{grid-template-columns:1fr;gap:10px}
  .hsteps li{padding:18px 18px 20px}
  .hsteps p{font-size:14.5px}

  .track{margin-top:40px;gap:20px}
  .track__head{grid-template-columns:1fr;gap:10px}
  .track__head p{font-size:14.5px;max-width:none}
  .track__rail{grid-template-columns:1fr 1fr;gap:12px 14px}
  .track__rail b{font-size:15px}

  .kit{grid-template-columns:1fr;gap:18px}
  .kit__media{aspect-ratio:16/9}
  .kit b{font-size:18px}
  .kit p{max-width:none}
  .kit__media--prices{font-size:14px;padding:12px}/* 09.10 (Алексей): высота как у соседних карточек — 16:9 (было aspect-ratio:auto) */
  .kit__media--prices span{padding:10px 8px}

  .ptabs{width:100%}
  .ptab{flex:1 1 0;padding:10px 12px;font-size:14px;text-align:center}
}
@media (max-width:360px){
  .pplate__facts,.track__rail{grid-template-columns:1fr}
  .kit__media--prices{font-size:13px;gap:5px;padding:10px}/* 09.10: две колонки и на ≤360, иначе 4 цены не входят в 16:9 */
}

/* 07.10 D2 (B8): шаги #handover свёрнуты в <details class="mfold"> (styles.css); дорожка статусов на мобайле ближе к шагам — зазор --s-foot (32), как «контент → кнопки главы» */
@media (max-width:900px){ .track{margin-top:var(--s-foot)} }
