/* ─────────────────────────────────────────────────────────────
   КОРПОРАТИВНАЯ ОПЕКА (B2B) — /programs/opeka/corporate/
   Перенос мокапа docs/mockups/corporate-opeka.html в дизайн-код сайта.
   Токены --orange/--green/--pink/--black/--white/--radius берём из
   боевого /css/style.css, добавляем только декоративные тона опеки.
   Все классы префиксом .corp-* — с лендингом опеки (.op-*) не пересекаются.
   ───────────────────────────────────────────────────────────── */

/* В боевом /css/style.css есть глобальный сброс `* { font-size; font-weight }`,
   который ломает наследование внутри лендинга. Возвращаем наследование:
   специфичность `.corp *` равна специфичности классов ниже, поэтому правило
   работает только до первого совпадения — все .corp-* правила его перебивают.
   ВАЖНО: это правило должно оставаться первым в файле. */
.corp *{ font-size:inherit; font-weight:inherit; }

/* мокап верстался с глобальным box-sizing:border-box, в боевом css его нет */
main.corp, main.corp *, main.corp *::before, main.corp *::after{ box-sizing:border-box; }

main.corp{
  /* декоративные тона лендинга — их нет в боевом /css/style.css */
  --green-d:#163019; --green-soft:#5a6b5e;
  --orange-d:#e2551a;
  --paper:#FFF9F1; --peach:#FFF4EC; --peach-2:#FDECE0;
  --pink-soft:#FFE7E7; --gsoft:#E7EFE3;
  --radius-s:1.25rem;
  /* фон страницы: вырезы билета и «отверстие» бирки маскируются под него */
  --corp-bg:var(--white);
  font-size:1rem; font-weight:400; line-height:1.5; color:var(--black);
}
main.corp img{ max-width:100%; display:block; }
/* :not(.button) — иначе это правило (0,1,1) перебивает `.button{color:var(--white)}`
   из боевого /css/style.css, и кнопка наследует цвет фона секции вместо своего */
main.corp a:not(.button){ color:inherit; }
main.corp a:focus-visible, main.corp button:focus-visible,
main.corp summary:focus-visible, main.corp input:focus-visible,
main.corp select:focus-visible, main.corp textarea:focus-visible{
  outline:3px solid rgba(247,109,49,.55); outline-offset:2px; border-radius:.4rem;
}

/* ── контейнер: боковые поля как у .wrapper сайта ── */
.corp-wrap{ margin:0 2.5rem; position:relative; }
@media (max-width:600px){ .corp-wrap{ margin:0 1rem; } }

/* ── типографика ── */
.corp-eyebrow{ display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--orange); margin:0 0 1rem; }
.corp-h2{ font-size:2.5rem; font-weight:600; color:var(--green); line-height:1.14; margin:0; letter-spacing:-.01em; }
.corp-lead{ font-size:1.05rem; line-height:1.6; color:var(--green-soft); max-width:52ch; }
@media (max-width:900px){ .corp-h2{ font-size:2rem; } }

/* секции */
.corp-sec{ padding:3.8rem 0; }
@media (max-width:600px){ .corp-sec{ padding:2.375rem 0; } }

/* ── кнопки: базовая .button из /css/style.css + модификаторы под тёмный фон ── */
.corp-btn-ghost{ background:transparent; color:var(--white); box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55); }
.corp-btn-ghost:hover{ background:var(--white); color:var(--green); box-shadow:none; }
.corp-btn-ghost-dark{ background:transparent; color:var(--green); box-shadow:inset 0 0 0 1.5px rgba(35,71,33,.35); }
.corp-btn-ghost-dark:hover{ background:var(--green); color:var(--white); box-shadow:none; }
.corp-arr{ margin-left:.55rem; transition:transform 200ms; }
.button:hover .corp-arr{ transform:translateX(3px); }

/* ── лапка (иконка) ── */
.corp-paw{ width:1.6rem; height:1.6rem; flex:0 0 auto; }

/* ── лапки-тропинка между секциями: путь по приюту к вольеру (форме) ── */
.corp-trail{ display:flex; justify-content:center; gap:2.6rem; padding:2.4rem 0 0; }
.corp-trail .corp-paw{ width:1.1rem; height:1.1rem; color:rgba(35,71,33,.2); }
.corp-trail .corp-paw:nth-child(1){ transform:translateY(-4px) rotate(16deg); }
.corp-trail .corp-paw:nth-child(2){ transform:translateY(4px) rotate(-8deg); }
.corp-trail .corp-paw:nth-child(3){ transform:translateY(-3px) rotate(12deg); }
.corp-trail .corp-paw:nth-child(4){ transform:translateY(5px) rotate(-12deg); }
.corp-trail--rev .corp-paw:nth-child(1){ transform:translateY(5px) rotate(-16deg); }
.corp-trail--rev .corp-paw:nth-child(2){ transform:translateY(-4px) rotate(8deg); }
.corp-trail--rev .corp-paw:nth-child(3){ transform:translateY(4px) rotate(-12deg); }
.corp-trail--rev .corp-paw:nth-child(4){ transform:translateY(-5px) rotate(12deg); }
@media (max-width:600px){ .corp-trail{ display:none; } }

/* ═══════════ 1. HERO ═══════════ */
.corp-hero{ position:relative; background:var(--green); color:var(--white); border-radius:2.5rem; margin-top:1.5rem; padding:3rem 3.5rem 3.5rem; }
.corp-hero__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:2.75rem; align-items:center; }
.corp-crumbs{ display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; font-size:.95rem; color:rgba(255,255,255,.7); margin-bottom:1.6rem; }
.corp-crumbs a{ text-decoration:underline; text-underline-offset:3px; color:rgba(255,255,255,.82); }
.corp-crumbs a:hover{ color:var(--orange); }
.corp-crumbs i{ font-style:normal; color:rgba(255,255,255,.5); }
.corp-crumbs b{ font-weight:400; color:var(--white); }
.corp-hero__title{ font-size:3rem; font-weight:600; line-height:1.08; margin:.6rem 0 0; letter-spacing:-.015em; max-width:15ch; }
.corp-hero__title em{ font-style:normal; color:var(--orange); }
.corp-hero__lead{ margin:1.4rem 0 0; font-size:1.05rem; line-height:1.6; color:rgba(255,255,255,.85); max-width:46ch; }
.corp-hero__cta{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.1rem; }

/* карточка подопечного — сигнатура страницы: сюда впечатывается имя компании */
.corp-petcard{ position:relative; background:var(--white); border-radius:1.75rem; padding:1rem 1rem 1.5rem; color:var(--black); box-shadow:0 30px 60px rgba(0,0,0,.3); transform:rotate(-1.5deg); max-width:22rem; width:100%; justify-self:end; }
.corp-petcard__photo{ position:relative; border-radius:1.25rem; background:var(--gsoft); aspect-ratio:16/10.5; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.corp-petcard__ribbon{ position:absolute; top:.9rem; left:.9rem; background:var(--orange); color:var(--white); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.35rem .75rem; border-radius:1rem; }
.corp-petcard__img{ width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.corp-petcard__body{ padding:1.15rem .55rem 0; }
.corp-petcard__name{ display:flex; align-items:baseline; gap:.7rem; flex-wrap:wrap; }
.corp-petcard__name b{ font-size:1.5rem; font-weight:700; color:var(--green); line-height:1; }
.corp-petcard__name b a{ text-decoration:underline; text-decoration-color:rgba(35,71,33,.25); text-underline-offset:4px; }
.corp-petcard__name b a:hover{ color:var(--orange); text-decoration-color:currentColor; }
.corp-petcard__name span{ font-size:.82rem; color:var(--green-soft); }
.corp-petcard__slot{ margin-top:1.05rem; border:2px dashed rgba(35,71,33,.32); border-radius:1rem; padding:.8rem 1rem .85rem; background:var(--paper); }
.corp-petcard__slotlbl{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--green-soft); margin-bottom:.2rem; }
.corp-petcard__slotval{ font-size:1rem; font-weight:600; color:var(--green-soft); line-height:1.35; }
.corp-petcard__hint{ margin:.8rem .1rem 0; font-size:.8rem; color:var(--green-soft); line-height:1.4; }

/* плашка фактов под hero */
.corp-facts{ position:relative; z-index:3; margin-top:-2.5rem; background:var(--white); border-radius:1.75rem; box-shadow:0 18px 40px rgba(120,70,30,.1); padding:1.7rem 2.2rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem 2.2rem; }
.corp-fact b{ display:block; font-size:1.35rem; font-weight:700; color:var(--green); font-variant-numeric:tabular-nums; letter-spacing:-.01em; line-height:1.1; }
.corp-fact span{ display:block; margin-top:.3rem; font-size:.85rem; color:var(--green-soft); line-height:1.35; }
@media (max-width:900px){
  /* нижний отступ с запасом: карточка подопечного уходит под плашку фактов,
     а та наезжает на hero на -2.5rem — иначе они склеиваются */
  .corp-hero{ padding:2.25rem 1.5rem 5rem; border-radius:2rem; }
  .corp-hero__grid{ grid-template-columns:1fr; gap:2.25rem; }
  .corp-hero__title{ font-size:2.3rem; max-width:none; }
  .corp-petcard{ justify-self:start; transform:none; }
  .corp-facts{ grid-template-columns:repeat(2,1fr); gap:1.2rem; }
}
@media (max-width:600px){
  .corp-hero__cta .button{ width:100%; }
  .corp-facts{ grid-template-columns:1fr; padding:1.4rem; }
}

/* ═══════════ 2. ЧТО ТАКОЕ ═══════════ */
.corp-2grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.corp-2grid .corp-lead{ margin:1.25rem 0 0; color:var(--black); }
.corp-plate{ margin-top:1.75rem; background:var(--orange); color:var(--white); border-radius:var(--radius-s); padding:1.6rem 1.9rem; font-size:1.35rem; font-weight:500; line-height:1.3; }
.corp-photo{ margin:1.75rem 0 0; }
.corp-photo img{ width:100%; aspect-ratio:3/2; object-fit:cover; object-position:center 40%; border-radius:var(--radius-s); }
.corp-photo figcaption{ margin-top:.75rem; font-size:.85rem; line-height:1.45; color:var(--green-soft); }
.corp-mini{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.corp-minicard{ background:var(--peach); border-radius:1.4rem; padding:1.6rem 1.5rem; }
.corp-minicard--wide{ grid-column:1 / -1; background:var(--gsoft); }
.corp-minicard h4{ margin:0 0 .6rem; font-size:1.2rem; font-weight:600; color:var(--green); }
.corp-minicard h4 .corp-neq{ color:var(--orange); font-weight:700; margin-right:.15em; }
.corp-minicard p{ margin:0; font-size:.95rem; color:var(--green-soft); line-height:1.5; }
@media (max-width:900px){ .corp-2grid{ grid-template-columns:1fr; gap:2rem; } .corp-plate{ font-size:1.2rem; } }
@media (max-width:520px){ .corp-mini{ grid-template-columns:1fr; } }

/* ═══════════ 3. ШКАЛА МАСШТАБА ═══════════ */
.corp-scale{ position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:1.75rem; margin-top:3.25rem; }
.corp-scale::before{ content:""; position:absolute; left:.5rem; right:.5rem; top:3.05rem; border-top:2px dashed rgba(35,71,33,.25); }
.corp-scale__head{ height:3.1rem; display:flex; align-items:flex-end; }
.corp-scale__head .corp-paw{ color:var(--green); }
.corp-scale__head .corp-paw--s1{ width:1.05rem; height:1.05rem; }
.corp-scale__head .corp-paw--s2{ width:1.45rem; height:1.45rem; }
.corp-scale__head .corp-paw--s3{ width:1.9rem; height:1.9rem; }
.corp-scale__head .corp-paw--s4{ width:2.4rem; height:2.4rem; color:var(--orange); }
.corp-scale__stop b{ display:block; margin-top:.95rem; font-size:1.08rem; font-weight:600; color:var(--green); line-height:1.25; }
.corp-scale__stop span{ display:block; margin-top:.35rem; font-size:.88rem; color:var(--green-soft); line-height:1.45; }
@media (max-width:900px){
  .corp-scale{ grid-template-columns:1fr; gap:1.5rem; margin-top:2.25rem; }
  .corp-scale::before{ display:none; }
  .corp-scale__stop{ border-left:2px dashed rgba(35,71,33,.25); padding-left:1.25rem; }
  .corp-scale__head{ height:auto; }
}

/* ═══════════ 4. ФОРМАТЫ И ПОЖЕРТВОВАНИЯ ═══════════ */
.corp-pkg-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; flex-wrap:wrap; }
.corp-pkg-head .corp-lead{ margin-top:1rem; max-width:46ch; }
.corp-pkgs{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3rem; }
.corp-pkg{ position:relative; background:var(--peach); border-radius:1.6rem; padding:1.8rem 1.8rem 2rem; display:flex; flex-direction:column; }
.corp-pkg--hot{ background:var(--green-d); color:var(--white); }
/* цена — бирка-адресник с пробитым отверстием: цена «висит» на формате, как жетон на ошейнике */
/* цена — первая строка карточки: на бежевом фоне ценник-«бирка» терялся,
   а слово «формат» повторялось на пяти карточках из шести и ничего не сообщало */
/* фонд не продаёт услуги: сумма над форматом — рекомендация, а не прайс */
.corp-pkg__hint{ font-size:.68rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--green-soft); margin-bottom:.5rem; }
/* на выделенной карточке подпись уступает место флагу «рекомендуем» */
.corp-pkg--hot .corp-pkg__hint{ color:rgba(255,255,255,.65); padding-right:8rem; }
.corp-pkg__price{ font-size:1.6rem; font-weight:700; color:var(--green); font-variant-numeric:tabular-nums; letter-spacing:-.01em; line-height:1.1; padding-bottom:1.1rem; border-bottom:1px solid rgba(35,71,33,.14); }
.corp-pkg__price span{ font-size:.9rem; font-weight:600; color:var(--green-soft); margin-left:.1rem; }
.corp-pkg--hot .corp-pkg__price{ color:var(--orange); border-bottom-color:rgba(255,255,255,.18); }
.corp-pkg--hot .corp-pkg__price span{ color:rgba(255,255,255,.7); }
/* остался только на выделенной карточке — поэтому сразу в оранжевом варианте */
.corp-pkg__flag{ position:absolute; top:1.6rem; right:1.6rem; font-size:.72rem; font-weight:700; letter-spacing:.06em; color:var(--white); background:var(--orange); padding:.35rem .8rem; border-radius:1rem; }
.corp-pkg__name{ margin:1.1rem 0 0; font-size:1.35rem; font-weight:600; color:var(--green); }
.corp-pkg--hot .corp-pkg__name{ color:var(--white); }
.corp-pkg__sub{ margin:.6rem 0 0; font-size:.9rem; color:var(--green-soft); line-height:1.4; }
.corp-pkg--hot .corp-pkg__sub{ color:rgba(255,255,255,.75); }
.corp-pkg__list{ list-style:none; margin:1.25rem 0 0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.corp-pkg__list li{ position:relative; padding-left:1.35rem; font-size:.92rem; color:var(--green); }
.corp-pkg--hot .corp-pkg__list li{ color:rgba(255,255,255,.9); }
.corp-pkg__list li::before{ content:""; position:absolute; left:0; top:.45rem; width:.5rem; height:.5rem; border-radius:50%; background:var(--orange); }
@media (max-width:900px){ .corp-pkgs{ grid-template-columns:1fr 1fr; margin-top:2.25rem; } }
@media (max-width:600px){ .corp-pkgs{ grid-template-columns:1fr; } }

/* ═══════════ 5. КОМПЛЕКТ ОПЕКУНА (флэт-лей артефактов) ═══════════ */
.corp-kit{ display:grid; grid-template-columns:repeat(12,1fr); gap:1.4rem; margin-top:2.75rem; }
.corp-kit h4{ margin:0; font-size:1.1rem; font-weight:700; color:var(--green); line-height:1.25; }
.corp-kit-cap{ margin:.7rem 0 0; font-size:.82rem; color:var(--green-soft); line-height:1.4; }

/* сертификат — вертикальный «документ» с рамкой и печатью */
.corp-cert{ grid-column:span 3; grid-row:span 2; position:relative; background:var(--white); border:1px solid #eadfce; border-radius:1rem; padding:2rem 1.5rem 1.6rem; text-align:center; display:flex; flex-direction:column; transform:rotate(-1.2deg); box-shadow:0 14px 34px rgba(120,70,30,.08); }
.corp-cert::before{ content:""; position:absolute; inset:.55rem; border:1px solid #f0e6d6; border-radius:.6rem; pointer-events:none; }
.corp-cert__eyebrow{ font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--green-soft); }
.corp-cert h4{ margin-top:.7rem; font-size:1.25rem; }
.corp-cert__rule{ width:3rem; height:2px; background:var(--orange); border-radius:2px; margin:1rem auto; }
.corp-cert__who{ font-size:.85rem; color:var(--green-soft); }
.corp-cert__name{ margin-top:.4rem; font-size:1.12rem; font-weight:700; color:var(--green); }
.corp-cert__pet{ margin-top:.35rem; font-size:.85rem; color:var(--green-soft); }
.corp-cert__foot{ margin-top:auto; padding-top:1.6rem; display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }
.corp-cert__sign{ flex:1; font-size:.68rem; color:var(--green-soft); border-top:1px solid #e3d9c8; padding-top:.4rem; text-align:left; }
.corp-cert__logo{ width:4.4rem; height:2.1rem; flex:0 0 auto; fill:var(--green); }

/* табличка на вольер — «гравировка» и шурупы по углам */
.corp-plaque{ grid-column:span 6; background:var(--green-d); border-radius:1rem; padding:1.7rem 2rem 1.6rem; color:var(--white); position:relative; display:flex; flex-direction:column; justify-content:center; background-image:
  radial-gradient(circle, rgba(255,255,255,.3) 40%, rgba(0,0,0,.4) 60%, transparent 65%),
  radial-gradient(circle, rgba(255,255,255,.3) 40%, rgba(0,0,0,.4) 60%, transparent 65%),
  radial-gradient(circle, rgba(255,255,255,.3) 40%, rgba(0,0,0,.4) 60%, transparent 65%),
  radial-gradient(circle, rgba(255,255,255,.3) 40%, rgba(0,0,0,.4) 60%, transparent 65%);
  background-size:.3rem .3rem; background-repeat:no-repeat;
  background-position:left .8rem top .8rem, right .8rem top .8rem, left .8rem bottom .8rem, right .8rem bottom .8rem; }
.corp-plaque__pre{ font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.corp-plaque__name{ margin-top:.5rem; font-size:1.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; text-shadow:0 2px 2px rgba(0,0,0,.45); line-height:1.15; }
.corp-plaque__note{ margin-top:.7rem; font-size:.75rem; color:rgba(255,255,255,.5); }

/* фотоотчёт — стопка полароидов */
.corp-photos{ grid-column:span 3; position:relative; padding-top:.4rem; }
.corp-pola{ position:relative; background:var(--white); border-radius:.45rem; padding:.55rem .55rem .95rem; box-shadow:0 10px 26px rgba(120,70,30,.14); transform:rotate(2deg); }
.corp-pola--back{ position:absolute; inset:.1rem 0 auto; height:78%; transform:rotate(-5deg); z-index:0; box-shadow:0 6px 18px rgba(120,70,30,.1); }
.corp-pola--front{ z-index:1; }
.corp-pola__ph{ aspect-ratio:4/3; background:var(--gsoft); border-radius:.3rem; overflow:hidden; }
.corp-pola__ph img{ width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.corp-pola__cap{ display:block; margin-top:.5rem; font-size:.75rem; color:var(--green-soft); text-align:center; }

/* билет на визит — перфорация и «штрих-код» */
.corp-ticket{ grid-column:span 3; grid-row:span 2; background:var(--peach-2); border-radius:1rem; display:flex; flex-direction:column; }
.corp-ticket__top{ flex:1; padding:1.8rem 1.5rem 1.4rem; }
.corp-ticket__lbl{ display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--orange); }
.corp-ticket__top h4{ margin-top:.6rem; font-size:1.25rem; }
.corp-ticket__top p{ margin:.5rem 0 0; font-size:.85rem; color:var(--green-soft); line-height:1.45; }
.corp-ticket__tear{ position:relative; border-top:2px dashed rgba(35,71,33,.28); }
.corp-ticket__tear::before,.corp-ticket__tear::after{ content:""; position:absolute; top:-.48rem; width:.95rem; height:.95rem; border-radius:50%; background:var(--corp-bg); }
.corp-ticket__tear::before{ left:-.5rem; }
.corp-ticket__tear::after{ right:-.5rem; }
.corp-ticket__bot{ padding:1.2rem 1.5rem 1.5rem; }
.corp-ticket__code{ display:block; height:2rem; border-radius:2px; opacity:.45; background:repeating-linear-gradient(90deg, var(--green) 0 2px, transparent 2px 5px, var(--green) 5px 6px, transparent 6px 11px, var(--green) 11px 14px, transparent 14px 17px); }
.corp-ticket__when{ display:block; margin-top:.6rem; font-size:.78rem; color:var(--green-soft); }

/* тексты и макеты — лист со строками */
.corp-texts{ grid-column:span 3; background:var(--peach); border-radius:1rem; padding:1.5rem 1.4rem; }
.corp-texts__lines{ margin-top:.9rem; display:flex; flex-direction:column; gap:.45rem; }
.corp-texts__lines i{ height:.45rem; border-radius:.25rem; background:var(--gsoft); }
.corp-texts__lines i:nth-child(1){ width:100%; }
.corp-texts__lines i:nth-child(2){ width:82%; }
.corp-texts__lines i:nth-child(3){ width:58%; background:var(--peach-2); }
@media (max-width:900px){
  .corp-kit{ display:flex; flex-direction:column; max-width:33rem; margin-top:2.25rem; }
  .corp-cert{ transform:rotate(-.6deg); }
  .corp-photos{ padding-top:0; }
  .corp-plaque__name{ font-size:1.5rem; }
}

/* ═══════════ 6. НА ЧТО ИДЁТ ПОМОЩЬ ═══════════ */
.corp-band{ background:var(--green); color:var(--white); border-radius:2.5rem; padding:3.25rem 3.5rem; }
.corp-band .corp-eyebrow{ color:var(--orange); }
.corp-band .corp-h2{ color:var(--white); }
.corp-needs{ display:grid; grid-template-columns:1.05fr 1fr; gap:2.75rem; align-items:center; }
.corp-needs__lead{ margin:1.4rem 0 0; color:rgba(255,255,255,.82); line-height:1.6; max-width:40ch; font-size:1.05rem; }
/* три группы вместо шести одинаковых плиток: у группы своя иконка,
   внутри — строки «что · зачем», так заголовок секции совпадает со структурой */
.corp-needs__grid{ display:grid; gap:1rem; }
.corp-needgrp{ background:var(--white); border-radius:1.35rem; padding:1.2rem 1.5rem 1.35rem; }
.corp-needgrp__head{ display:flex; align-items:center; gap:.7rem; }
.corp-needgrp__ic{ width:1.5rem; height:1.5rem; flex:0 0 auto; color:var(--orange); }
.corp-needgrp__head b{ font-size:1.08rem; font-weight:600; color:var(--green); }
.corp-needgrp__row{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.15rem .5rem; margin-top:.7rem; padding-top:.7rem; border-top:1px solid rgba(35,71,33,.1); font-size:.9rem; line-height:1.35; }
.corp-needgrp__row i{ font-style:normal; font-weight:600; color:var(--green); }
.corp-needgrp__row span{ color:var(--green-soft); }
@media (max-width:900px){ .corp-needs{ grid-template-columns:1fr; gap:2rem; } .corp-band{ padding:2.25rem 1.5rem; border-radius:2rem; } }

/* ═══════════ 7. КАК ЭТО РАБОТАЕТ ═══════════ */
.corp-steps{ display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,auto); grid-auto-flow:column; gap:2rem 3.5rem; margin-top:2.5rem; }
.corp-step{ position:relative; display:flex; gap:1.1rem; align-items:flex-start; }
.corp-step::before{ content:""; position:absolute; left:1.25rem; top:3rem; bottom:-1.7rem; border-left:2px dashed rgba(35,71,33,.2); }
.corp-step:nth-child(3n)::before{ display:none; }
.corp-step__n{ flex:0 0 auto; width:2.6rem; height:2.6rem; border-radius:50%; background:var(--green); color:var(--white); display:flex; align-items:center; justify-content:center; font-weight:700; position:relative; z-index:1; }
.corp-step__t{ font-size:1.2rem; font-weight:600; color:var(--green); }
.corp-step__d{ margin-top:.3rem; color:var(--green-soft); font-size:.95rem; line-height:1.5; }
@media (max-width:900px){
  .corp-steps{ grid-template-columns:1fr; grid-auto-flow:row; gap:1.6rem; }
  .corp-step:nth-child(3n)::before{ display:block; }
  .corp-step:last-child::before{ display:none; }
  .corp-step::before{ bottom:-1.4rem; }
}

/* ═══════════ 8. СОТРУДНИКИ ═══════════ */
.corp-emo{ display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; align-items:center; }
.corp-emo .corp-lead{ margin-top:1.25rem; }
.corp-chips{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.75rem; }
.corp-chip{ font-size:.85rem; font-weight:500; padding:.5rem .95rem; border-radius:1.25rem; }
.corp-chip:nth-child(odd){ background:var(--gsoft); color:var(--green); }
.corp-chip:nth-child(even){ background:var(--pink-soft); color:#b45151; }
@media (max-width:900px){ .corp-emo{ grid-template-columns:1fr; gap:2rem; } }

/* иллюстрация-заглушка (морда) — до появления реальных фото */
.corp-illus{ position:relative; border-radius:1.75rem; aspect-ratio:4/3; overflow:hidden; }
.corp-illus--p{ background:var(--pink-soft); }
.corp-illus__img{ width:100%; height:100%; object-fit:cover; }

/* ═══════════ 9. ИСТОРИИ (горизонтальный скролл на мобиле) ═══════════ */
.corp-stories-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; flex-wrap:wrap; }
.corp-slider{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(16rem,1fr); gap:1.25rem; margin-top:2.25rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.5rem; scrollbar-width:none; }
.corp-slider::-webkit-scrollbar{ display:none; }
@media (min-width:901px){ .corp-slider{ grid-template-columns:repeat(3,1fr); grid-auto-flow:row; overflow:visible; } }
.corp-story{ scroll-snap-align:start; }
/* карточка новости из ИБ 9 внутри слайдера: в общем списке новостей она шириной
   в половину flex-строки, здесь ширину задаёт грид. Размер заголовка возвращаем
   явно — его съедает сброс `.corp *`, объявленный позже боевого /css/style.css */
.corp-slider .news-list__item{ width:auto; margin-bottom:0; padding:1.4rem 1.4rem 2rem; border-radius:var(--radius-s); }
.corp-slider .news-list__item-name{ font-size:1.3rem; font-weight:600; line-height:1.25; }
.corp-slider .news-list__item-text{ margin-top:.6rem; font-size:.95rem; line-height:1.5; color:var(--green-soft); }
.corp-slider .news-list__item:hover .news-list__item-text{ color:rgba(255,255,255,.85); }
.corp-arrows{ display:flex; gap:.6rem; margin-top:1.75rem; justify-content:flex-end; }
.corp-arrow{ width:2.7rem; height:2.7rem; border-radius:50%; border:none; cursor:pointer; background:var(--grey); color:var(--green); display:flex; align-items:center; justify-content:center; transition:300ms; }
.corp-arrow:hover{ background:var(--orange); color:var(--white); }
.corp-arrow svg{ width:1.1rem; height:1.1rem; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
@media (min-width:901px){ .corp-arrows{ display:none; } }

/* ═══════════ 10. НАМ УЖЕ ПОМОГАЮТ ═══════════ */
.corp-logos{ background:var(--green); border-radius:2.5rem; padding:3rem 3.5rem 3.25rem; color:var(--white); }
.corp-logos h2{ font-size:2.4rem; font-weight:600; margin:0 0 2rem; }
.corp-logos__row{ display:flex; flex-wrap:wrap; gap:1rem; }
.corp-logos__item{ display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:10rem; height:5.5rem; padding:.85rem 1rem; border-radius:1rem; background:rgba(255,255,255,.92); }
.corp-logos__item img{ max-width:100%; max-height:100%; object-fit:contain; }
.corp-logos__name{ font-size:.9rem; font-weight:600; color:var(--green); text-align:center; line-height:1.25; }
a.corp-logos__item{ transition:300ms; }
a.corp-logos__item:hover{ background:var(--white); transform:translateY(-2px); }
@media (max-width:900px){ .corp-logos{ padding:2.25rem 1.5rem; border-radius:2rem; } .corp-logos h2{ font-size:1.9rem; } .corp-logos__item{ width:8rem; height:4.5rem; } }

/* ═══════════ 11. ПРЕЗЕНТАЦИЯ ═══════════ */
.corp-pres{ background:linear-gradient(150deg,#fff6ee,#ffe9d8 92%); border-radius:2.5rem; padding:3rem 3.5rem; display:flex; justify-content:space-between; align-items:center; gap:2.5rem; flex-wrap:wrap; }
.corp-pres h3{ margin:0; font-size:2.1rem; font-weight:600; color:var(--green); max-width:20ch; line-height:1.15; }
.corp-pres p{ margin:.8rem 0 0; color:var(--green-soft); max-width:46ch; line-height:1.55; font-size:1rem; }
.corp-pres__btns{ display:flex; gap:1rem; flex-wrap:wrap; }
@media (max-width:900px){ .corp-pres{ padding:2.25rem 1.5rem; border-radius:2rem; } .corp-pres h3{ font-size:1.7rem; } }
@media (max-width:600px){ .corp-pres__btns{ width:100%; flex-direction:column; gap:.75rem; } .corp-pres__btns .button{ width:100%; } }

/* ═══════════ 12. FAQ ═══════════ */
.corp-faq{ max-width:56rem; margin-top:1.5rem; }
.corp-faq details{ border-top:1px solid rgba(35,71,33,.14); }
.corp-faq details:last-child{ border-bottom:1px solid rgba(35,71,33,.14); }
.corp-faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.4rem 0; font-weight:600; color:var(--green); font-size:1.15rem; line-height:1.35; }
.corp-faq summary::-webkit-details-marker{ display:none; }
.corp-faq summary:hover{ color:var(--orange); }
.corp-faq__ic{ flex:0 0 auto; width:1.5rem; height:1.5rem; display:flex; align-items:center; justify-content:center; color:var(--orange); font-size:1.7rem; line-height:1; transition:transform 250ms; }
.corp-faq details[open] .corp-faq__ic{ transform:rotate(45deg); }
.corp-faq__a{ margin:0; padding:0 0 1.4rem; color:var(--green-soft); line-height:1.6; font-size:1rem; }

/* ═══════════ 13. CTA + ФОРМА ═══════════ */
.corp-cta{ background:var(--green); color:var(--white); border-radius:2.5rem; padding:3.25rem 3.5rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.corp-cta h2{ font-size:2.5rem; font-weight:600; margin:0; line-height:1.1; max-width:16ch; }
.corp-cta h2 em{ font-style:normal; color:var(--orange); }
.corp-cta__text p{ margin:1.1rem 0 0; color:rgba(255,255,255,.85); max-width:44ch; line-height:1.6; font-size:1.05rem; }
.corp-form{ background:var(--white); border-radius:1.75rem; padding:2rem 2rem 2.15rem; color:var(--black); }
.corp-form h3{ margin:0 0 1.25rem; font-size:1.35rem; font-weight:600; color:var(--green); }
.corp-form__row{ margin-bottom:.9rem; }
.corp-form__two{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.corp-form label{ display:block; font-size:.8rem; font-weight:500; color:var(--green-soft); margin-bottom:.35rem; }
.corp-form input,.corp-form select,.corp-form textarea{ width:100%; font-family:inherit; font-size:.95rem; padding:.75rem .9rem; border:1.5px solid #e3ddd2; border-radius:.9rem; background:var(--paper); color:var(--black); }
.corp-form input:focus,.corp-form select:focus,.corp-form textarea:focus{ outline:none; border-color:var(--orange); background:var(--white); }
.corp-form input.corp-invalid,.corp-form select.corp-invalid,.corp-form textarea.corp-invalid{ border-color:var(--orange); background:#fff6f1; }
.corp-form textarea{ resize:vertical; min-height:4.5rem; }
.corp-form .button{ width:100%; margin-top:.4rem; border:none; }
.corp-form__note{ margin:.85rem 0 0; font-size:.75rem; color:var(--green-soft); text-align:center; line-height:1.4; }
.corp-form__note a{ text-decoration:underline; }
/* honeypot: скрыт от людей, но виден ботам — заполнено значит спам */
.corp-form__hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.corp-form__msg{ margin:.85rem 0 0; font-size:.9rem; line-height:1.45; border-radius:.9rem; padding:.75rem .9rem; display:none; }
.corp-form__msg.is-shown{ display:block; }
.corp-form__msg--ok{ background:var(--gsoft); color:var(--green); }
.corp-form__msg--err{ background:#ffe7e7; color:#b45151; }
.corp-form.is-sending .button{ opacity:.6; pointer-events:none; }
/* успешная отправка: форму прячем, остаётся только сообщение */
.corp-form.is-sent .corp-form__row,
.corp-form.is-sent .corp-form__two,
.corp-form.is-sent .button,
.corp-form.is-sent .corp-form__note{ display:none; }
@media (max-width:900px){ .corp-cta{ grid-template-columns:1fr; gap:2rem; padding:2.25rem 1.5rem; border-radius:2rem; } .corp-cta h2{ max-width:none; font-size:2rem; } }
@media (max-width:600px){ .corp-form{ padding:1.5rem 1.25rem; } .corp-form__two{ grid-template-columns:1fr; } }

/* ═══════════ ПЛАВАЮЩИЙ БЛОК «БОТЫ» (копия FAB с лендинга опеки) ═══════════ */
.corp-fab{ position:fixed; right:1.5rem; bottom:1.5rem; z-index:900; display:flex; flex-direction:column; align-items:flex-end; gap:.85rem; }
/* меню скрыто, пока не открыто — не перехватывает клики */
.corp-fab__menu{ display:flex; flex-direction:column; align-items:flex-end; gap:.7rem; opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .25s, transform .25s, visibility .25s; pointer-events:none; }
.corp-fab.is-open .corp-fab__menu{ opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.corp-fab__item{ display:flex; align-items:center; gap:.6rem; text-decoration:none; }
.corp-fab__label{ background:var(--white); color:var(--green); font-weight:600; font-size:.9rem; padding:.5rem .85rem; border-radius:1.25rem; box-shadow:0 6px 18px rgba(0,0,0,.15); white-space:nowrap; }
.corp-fab__ic{ width:3rem; height:3rem; border-radius:50%; overflow:hidden; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,.22); flex:0 0 auto; }
/* telegram-лого уже круглое и цветное — заполняет весь кружок */
.corp-fab__item--tg .corp-fab__ic svg{ width:100%; height:100%; display:block; }
/* знак MAX — во всю ширину кружка, без подложки; тень по контуру знака */
.corp-fab__item--max .corp-fab__ic{ background:none; box-shadow:none; overflow:visible; }
.corp-fab__item--max .corp-fab__ic svg{ width:100%; height:100%; display:block; filter:drop-shadow(0 5px 12px rgba(0,0,0,.3)); }
.corp-fab__toggle{ width:3.75rem; height:3.75rem; border-radius:50%; border:none; cursor:pointer; background:var(--orange); color:var(--white); box-shadow:0 8px 22px rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center; position:relative; transition:transform .25s, background .25s; }
.corp-fab__toggle:hover{ background:var(--green); }
.corp-fab__i{ position:absolute; display:flex; transition:opacity .2s, transform .25s; }
.corp-fab__i svg{ width:1.7rem; height:1.7rem; }
.corp-fab__i--open svg{ fill:currentColor; }
.corp-fab__i--close{ opacity:0; transform:rotate(-90deg); }
.corp-fab__i--close svg{ fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; }
.corp-fab.is-open .corp-fab__i--open{ opacity:0; transform:rotate(90deg); }
.corp-fab.is-open .corp-fab__i--close{ opacity:1; transform:none; }
@media (max-width:600px){
  .corp-fab{ right:1rem; bottom:1rem; }
  .corp-fab__toggle{ width:3.4rem; height:3.4rem; }
  .corp-fab__ic{ width:2.7rem; height:2.7rem; }
  .corp-fab__label{ font-size:.85rem; }
}

@media (prefers-reduced-motion: reduce){
  main.corp *, main.corp *::before, main.corp *::after{ animation:none !important; transition:none !important; }
  .corp-petcard{ transform:none; }
}
