@charset "utf-8";

/* ══════════════════════════════════════════════════════════════════
   «ВСЕ 32» — секции «Клиника» (.proof) и «Врачи» (.crew)

   Идея: не карточки, а ФОТОФИКСАЦИЯ — контрольный лист съёмки.
   Кадры пронумерованы 01–08 сквозь обе секции (01–05 клиника,
   06–08 врачи), у каждого подпись «что именно в кадре» — снимок
   работает доказательством, а не украшением.

   Композиция намеренно неровная, рядов одинаковых карточек нет:
     · такт 1 — большой вертикальный кадр 3:4, поверх него внахлёст
       карточка со знаком, справа текст со сдвигом вниз;
     · такт 2 — кадр 3:2 выходит за колонку почти во всю ширину окна,
       подпись лежит белой плашкой поверх нижнего левого угла;
     · такт 3 — три РАЗНЫХ предмета (4:5, 3:2, цитата) выровнены
       по нижнему краю: верх рваный, низ ровный;
     · врачи — диптих зигзагом (кадр–имя / имя–кадр) и лесенка
       из трёх кадров с убывающей шириной.

   Цвет номеров идёт по трём граням знака: мята → сирень → розовый.
   Пастель здесь только заливка, текст на ней — --deep:
   9.3:1 на мяте, 5.5:1 на сирени, 7.0:1 на розовом.
   Мятой, сиренью и розовым НИКОГДА не пишем.

   Классы не пересекаются со style.css: старые .clinic / .ca* / .doc*
   удалены оттуда ещё при переносе секций в этот файл.
   ══════════════════════════════════════════════════════════════════ */

/* ─── общее: три грани знака как разделитель под кикером ─────────── */
.pf-facets{display:flex;gap:5px;margin:0 0 20px}
.pf-facets i{display:block;width:26px;height:4px;border-radius:1px}
.pf-facets i:nth-child(1){background:var(--mint)}
.pf-facets i:nth-child(2){background:var(--peri)}
.pf-facets i:nth-child(3){background:var(--pink)}

/* ─── общая оболочка кадра ───────────────────────────────────────── */
.pf{margin:0;display:flex;flex-direction:column}
.pf-shot{
  position:relative;overflow:hidden;border-radius:var(--r-lg);
  background:var(--rule);         /* плейсхолдер до загрузки картинки */
}
.pf-shot img{width:100%;height:auto;display:block;
  transition:transform var(--t-slow) var(--ease)}
@media (hover:hover){
  .pf:hover .pf-shot img{transform:scale(1.035)}
}

/* подпись: тонкая линейка + номер в квадрате + что в кадре */
.pf-cap{
  display:flex;align-items:flex-start;gap:12px;
  margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);
}
.pf-n{
  flex:none;display:grid;place-items:center;
  width:30px;height:30px;border-radius:3px;
  font-family:Unbounded,sans-serif;font-weight:600;font-size:.74rem;
  letter-spacing:-.02em;color:var(--deep);
  transition:transform var(--t) var(--ease)
}
.pf-n-mint{background:var(--mint)}
.pf-n-peri{background:var(--peri)}
.pf-n-pink{background:var(--pink)}
@media (hover:hover){
  .pf:hover .pf-n{transform:translateY(-3px) rotate(-4deg)}
}
.pf-t{
  display:block;font-weight:600;font-size:.94rem;line-height:1.35;
  color:var(--ink);max-width:34ch
}
.pf-t i{
  display:block;font-style:normal;font-weight:400;font-size:.845rem;
  line-height:1.4;color:var(--ink-2);margin-top:3px
}

/* ══════════════════════════════════════════════════════════════════
   КЛИНИКА
   ══════════════════════════════════════════════════════════════════ */
.proof{background:var(--band)}

/* шапка: заголовок слева, «шапка листа съёмки» справа */
.proof-top{
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  gap:clamp(28px,4vw,64px);align-items:start;
  margin-bottom:clamp(34px,4.4vw,62px)
}
.proof-kicker{
  font-family:Unbounded,sans-serif;font-weight:400;
  font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent);margin:0 0 14px
}
.proof-head h2{font-size:clamp(1.85rem,3.6vw,3rem)}
.proof-note{margin-top:20px;color:var(--ink-2);font-size:1.02rem;max-width:52ch}

.proof-meta{margin:clamp(6px,1.4vw,20px) 0 0;border-top:2px solid var(--ink)}
.proof-meta-row{
  display:grid;grid-template-columns:minmax(0,6.5rem) minmax(0,1fr);
  gap:14px;padding:13px 0;border-bottom:1px solid var(--rule)
}
.proof-meta dt{
  font-family:Unbounded,sans-serif;font-weight:400;font-size:.78rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);
  padding-top:.2em
}
.proof-meta dd{margin:0;font-size:.94rem;line-height:1.45;color:var(--ink)}

/* ── такт 1 ── */
.proof-grid{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(16px,1.9vw,26px);align-items:start
}
.proof-stack{
  grid-column:1 / 8;position:relative;
  --card-w:min(58%,300px);      /* ширина карточки знака        */
  --card-x:-32px                /* насколько она выходит в поле  */
}
/* колонка тянется на всю высоту кадра: текст сверху, цитата снизу */
.proof-copy{
  grid-column:8 / -1;align-self:stretch;
  display:flex;flex-direction:column;
  padding-top:clamp(4px,3.4vw,52px)
}
.proof-copy p{color:var(--ink-2);max-width:52ch}
.proof-copy .ticks{margin:26px 0 0}

/* карточка знака: белый «отпечаток» внахлёст, выходит в поле страницы */
.pf-sign{
  position:absolute;z-index:2;left:var(--card-x);bottom:0;width:var(--card-w);
  background:var(--bg);padding:10px 10px 14px;
  border-radius:calc(var(--r-lg) + 5px);
  box-shadow:0 22px 46px -24px rgba(42,40,51,.55)
}
/* подпись кадра 01 отступает вправо, чтобы карточка её не накрыла */
.pf-rec>.pf-cap{padding-inline-start:calc(var(--card-w) + var(--card-x) + 22px)}
.pf-sign .pf-cap{margin-top:10px;padding-top:9px;padding-inline:2px}
.pf-sign .pf-t{font-size:.86rem}
.pf-sign .pf-n{width:28px;height:28px;font-size:.72rem}

/* ── такт 2: кадр за колонкой, подпись плашкой поверх кадра ── */
.pf-wide{
  position:relative;
  width:min(100% - 2 * var(--pad), 1480px);
  margin:clamp(30px,4vw,62px) auto 0
}
.pf-wide .pf-cap{
  position:absolute;left:0;bottom:0;z-index:2;margin:0;
  max-width:min(52%,470px);
  background:var(--bg);border-top:0;
  padding:18px clamp(18px,2vw,26px) 18px 18px;
  border-start-end-radius:var(--r-lg)
}
.pf-wide .pf-t{max-width:none;font-size:1rem}

/* ── такт 3: рваный верх, ровный низ ── */
.proof-tail{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(16px,1.9vw,26px);align-items:end;
  margin-top:clamp(30px,4vw,62px)
}
.pf-wait{grid-column:1 / 4}
.pf-work{grid-column:5 / -1}

/* цитата живёт в правой колонке такта 1 и прижата к её низу */
.proof-quote{margin:auto 0 0;padding-top:clamp(30px,4vw,56px)}
.proof-quote p{
  font-family:Unbounded,sans-serif;font-weight:600;
  font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.18;letter-spacing:-.035em;
  color:var(--ink);margin:0 0 16px
}
.proof-quote footer{
  font-size:.84rem;color:var(--ink-2);
  padding-top:12px;border-top:1px solid var(--rule)
}

/* ══════════════════════════════════════════════════════════════════
   ВРАЧИ
   ══════════════════════════════════════════════════════════════════ */
.crew{background:var(--bg)}
.crew-head{margin-bottom:clamp(34px,4.6vw,66px);max-width:62ch}
.crew-kicker{
  font-family:Unbounded,sans-serif;font-weight:400;
  font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent);margin:0 0 14px
}
.crew-head h2{font-size:clamp(1.85rem,3.6vw,3rem)}
.crew-note{margin-top:20px;color:var(--ink-2);font-size:1.02rem;max-width:50ch}

/* диптих зигзагом: слева кадр — справа имя, затем наоборот */
.crew-duo{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(20px,2.6vw,34px) clamp(16px,1.9vw,26px)
}
.crew-shot-a{grid-column:1 / 6;  grid-row:1}
.crew-id-a  {grid-column:7 / -1; grid-row:1; align-self:end}
.crew-shot-b{grid-column:8 / -1; grid-row:2}
.crew-id-b  {grid-column:1 / 7;  grid-row:2; align-self:end; text-align:end}
.crew-shared{grid-column:1 / 7;  grid-row:2; align-self:start}

.crew-id{padding-bottom:clamp(2px,1vw,14px)}
.crew-id-b .crew-role{flex-direction:row-reverse}

.crew-role{
  display:flex;align-items:center;gap:9px;
  font-size:.86rem;color:var(--ink-2);margin:0 0 14px
}
.crew-dot{flex:none;width:9px;height:9px;border-radius:2px;transform:rotate(45deg)}
.crew-dot-mint{background:var(--mint)}
.crew-dot-peri{background:var(--peri)}
.crew-dot-pink{background:var(--pink)}

/* имя в два яруса: фамилия дисплейным кеглем, имя-отчество — текстовым */
.crew-name{
  font-size:clamp(1.9rem,4.6vw,3.6rem);letter-spacing:-.045em;
  margin:0;padding-bottom:16px;border-bottom:2px solid var(--ink);
  hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word
}
.crew-name span{
  display:block;margin-top:10px;
  font-family:Onest,sans-serif;font-weight:500;
  font-size:clamp(.98rem,1.35vw,1.18rem);line-height:1.25;
  letter-spacing:-.01em;color:var(--ink-2)
}

/* общий абзац: описание у обоих врачей одинаковое — печатаем один раз.
   Живёт во второй строке диптиха слева и занимает пустоту под первым
   портретом, поэтому строка не выглядит полупустой. */
.crew-shared{
  display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr);
  gap:clamp(14px,2vw,26px);align-items:start;
  padding-top:clamp(16px,2vw,24px);border-top:1px solid var(--rule)
}
.crew-shared-lbl{
  font-family:Unbounded,sans-serif;font-weight:400;font-size:.78rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);
  margin:0;padding-top:.3em
}
/* единственная ссылка в обеих секциях. adaptive.css поднимает до 44px
   только .nav/.btn/.tel — здесь зона нажатия задаётся своим правилом */
.crew-cta{grid-column:2;margin:18px 0 0}
@media (pointer:coarse){
  .crew-cta a{min-height:44px;padding-block:8px}
}
.crew-shared-txt{
  margin:0;color:var(--ink);font-size:clamp(1rem,1.2vw,1.1rem);
  line-height:1.55;max-width:60ch
}

/* лесенка из трёх кадров: ширина убывает, посадка опускается */
.crew-strip{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(16px,1.9vw,26px);align-items:start;
  margin-top:clamp(40px,5.4vw,84px)
}
.crew-fr-1{grid-column:1 / 6}
.crew-fr-2{grid-column:6 / 10; margin-top:clamp(24px,3.4vw,56px)}
.crew-fr-3{grid-column:10 / -1;margin-top:clamp(48px,6.8vw,112px)}
.crew-fr-3 .pf-t{font-size:.88rem}

/* ─── адаптив ────────────────────────────────────────────────────── */
@media (max-width:1199px){
  .proof-stack{grid-column:1 / 7;--card-w:min(62%,268px);--card-x:-24px}
  .proof-copy {grid-column:7 / -1}
}

@media (max-width:991px){
  /* планшет: шапка в колонку, карточка знака встаёт в поток */
  .proof-top{grid-template-columns:1fr;gap:clamp(22px,3vw,32px)}
  .proof-meta{max-width:520px}

  .proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proof-stack{grid-column:1;display:grid;gap:clamp(16px,2.4vw,24px)}
  .proof-copy {grid-column:2;padding-top:0}
  .proof-copy p{max-width:none}

  .pf-sign{
    position:static;width:100%;padding:0;background:none;
    box-shadow:none;border-radius:0
  }
  .pf-sign .pf-cap{padding-inline:0}
  .pf-rec>.pf-cap{padding-inline-start:0}

  .pf-wide .pf-cap{
    position:static;max-width:none;padding:12px 0 0;
    border-top:1px solid var(--rule);border-radius:0
  }

  .proof-tail{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .pf-wait{grid-column:1}
  .pf-work{grid-column:2}
  .proof-quote{margin-top:clamp(28px,4vw,44px)}
  .proof-quote p{font-size:clamp(1.15rem,2.6vw,1.5rem)}

  /* диптих распрямляется: кадр — имя, кадр — имя */
  .crew-duo{grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(18px,3vw,28px) clamp(16px,2.4vw,26px)}
  .crew-shot-a{grid-column:1;grid-row:1}
  .crew-id-a  {grid-column:2;grid-row:1}
  .crew-shot-b{grid-column:1;grid-row:2}
  .crew-id-b  {grid-column:2;grid-row:2;text-align:start}
  .crew-id-b .crew-role{flex-direction:row}
  .crew-shared{grid-column:1 / -1;grid-row:3;margin-top:clamp(6px,1.6vw,16px)}
  .crew-name{font-size:clamp(1.6rem,4.4vw,2.4rem)}

  .crew-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,26px)}
  .crew-fr-1{grid-column:1 / -1;max-width:460px}
  .crew-fr-2{grid-column:1;margin-top:clamp(18px,3vw,28px)}
  .crew-fr-3{grid-column:2;margin-top:clamp(18px,3vw,28px)}
}

@media (max-width:639px){
  /* телефон: всё в одну колонку, кадры на всю ширину */
  .proof-grid{grid-template-columns:1fr;gap:22px}
  .proof-stack{grid-column:1}
  .proof-copy {grid-column:1}

  .proof-tail{grid-template-columns:1fr;gap:22px}
  .pf-wait,.pf-work{grid-column:1}

  .crew-duo{grid-template-columns:1fr}
  .crew-shot-a,.crew-id-a,.crew-shot-b,.crew-id-b{grid-column:1}
  .crew-shot-a{grid-row:1}
  .crew-id-a  {grid-row:2}
  .crew-shot-b{grid-row:3}
  .crew-id-b  {grid-row:4}
  .crew-shared{grid-row:5;margin-top:0}
  .crew-name{font-size:clamp(1.5rem,7.6vw,2.1rem)}

  .crew-shared{grid-template-columns:1fr;gap:10px}
  .crew-shared-lbl{padding-top:0}
  .crew-cta{grid-column:1;margin-top:14px}

  .crew-strip{grid-template-columns:1fr;gap:26px}
  .crew-fr-1,.crew-fr-2,.crew-fr-3{grid-column:1;margin-top:0;max-width:none}

  .pf-cap{gap:9px}
  .pf-n{width:28px;height:28px;font-size:.72rem}
  .pf-t,.crew-fr-3 .pf-t{font-size:.9rem}
}

@media (prefers-reduced-motion:reduce){
  .pf-shot img,.pf-n{transition:none}
  .pf:hover .pf-shot img{transform:none}
  .pf:hover .pf-n{transform:none}
}
