/* ============================================================
   Об агентстве — базовая сетка (общая для всех 5 дизайнов).
   Только раскладка и типографические размеры; цвета, фоны,
   рамки и шрифты задаёт ilina-d{N}-about.css.
   Все классы с префиксом ab- — на главной не используются.
   ============================================================ */
.ab{--ab-gap:14px;--ab-r:0;
  /* фото основателя: своё для каждого дизайна, задаётся в ilina-d{N}-about.css.
     --ab-photo-fallback — серый силуэт, видно пока файла нет */
  --ab-photo:none;
  --ab-photo-fallback:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 500'%3E%3Crect width='400' height='500' fill='%23808080' opacity='.35'/%3E%3Ccircle cx='200' cy='190' r='80' fill='%23fff' opacity='.5'/%3E%3Cpath d='M60 470c0-100 70-150 140-150s140 50 140 150z' fill='%23fff' opacity='.5'/%3E%3Ctext x='200' y='45' text-anchor='middle' font-family='Arial' font-size='18' fill='%23fff' opacity='.7'%3E%D0%A4%D0%9E%D0%A2%D0%9E%3C/text%3E%3C/svg%3E");
}
.ab .ab-section{padding:36px 0}
.ab .ab-section--first{padding-top:0}
.ab .ab-section h2{margin:0 0 22px}
.ab .ab-section h3,.ab .ab-section h4{margin-top:0}

/* лид */
.ab .ab-lead{font-size:clamp(17px,1.6vw,21px);line-height:1.5;max-width:760px;opacity:.88;margin:0 0 26px}
.ab .ab-lead--sm{font-size:clamp(15px,1.3vw,17px);max-width:680px}
.ab .ab-note{font-size:14px;opacity:.65;margin:18px 0 0;max-width:none;text-wrap:pretty}

/* 1. цифры */
.ab .ab-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ab-gap)}
.ab .ab-stat{padding:18px 20px;min-width:0}
.ab .ab-stat b{display:block;font-size:clamp(26px,3vw,42px);line-height:1.05;font-weight:800;white-space:nowrap}
.ab .ab-stat span{display:block;font-size:13px;opacity:.75;margin-top:6px;line-height:1.35}

/* 2. основатель */
.ab .ab-founder{display:grid;grid-template-columns:minmax(220px,.85fr) 2fr;gap:40px;align-items:center}
.ab .ab-founder__photo{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;max-width:360px}
.ab .ab-founder__pic{display:block;width:100%;aspect-ratio:4/5;box-sizing:border-box;
  background-image:var(--ab-photo),var(--ab-photo-fallback);
  background-size:cover;background-position:center top;background-repeat:no-repeat;background-color:rgba(128,128,128,.15)}
.ab .ab-founder__quote{margin:0;padding:0;border:0;background:none;font-style:normal;quotes:none;font-size:clamp(17px,1.45vw,20px);line-height:1.55}
.ab .ab-founder__quote p{margin:0 0 16px}
.ab .ab-founder__quote::before,.ab .ab-founder__quote::after{content:none}
.ab .ab-founder__sign{display:block;background:none;border:0;padding:0;margin:26px 0 0;font-size:14px;opacity:.7;line-height:1.4;text-align:left}
.ab .ab-founder__sign b{display:block;font-size:17px;opacity:1;margin-bottom:3px;font-weight:700}
.ab .ab-founder__sign span{display:block}

/* 3. принципы — 3 группы */
.ab .ab-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.ab .ab-group{display:flex;flex-direction:column;min-width:0}
.ab .ab-group h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin:0 0 14px;font-weight:700}
.ab .ab-cards{display:grid;gap:var(--ab-gap);flex:1;grid-auto-rows:1fr;align-content:stretch}
.ab .ab-card{padding:22px 24px;min-width:0;min-height:150px;display:flex;flex-direction:column}
.ab .ab-card span{display:block;font-size:12px;opacity:.5;margin-bottom:10px;letter-spacing:.06em}
.ab .ab-card h4{font-size:17px;line-height:1.3;margin:0 0 8px;font-weight:700}
.ab .ab-card p{font-size:14.5px;line-height:1.5;opacity:.82;margin:0}

/* 4. схема работы */
.ab .ab-flow{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.ab .ab-flow__step{flex:1 1 170px;padding:18px 20px;min-width:0;display:flex;flex-direction:column;justify-content:flex-end}
.ab .ab-flow__step small{display:block;font-size:12px;opacity:.6;margin-bottom:8px;letter-spacing:.04em}
.ab .ab-flow__step b{font-size:16px;line-height:1.3}
.ab .ab-flow__arrow{align-self:center;font-size:24px;line-height:1;opacity:.45;flex:0 0 auto}

/* 5. направления */
.ab .ab-dirs{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--ab-gap)}
.ab .ab-dir{display:block;padding:20px;min-width:0;text-decoration:none;color:inherit;transition:.2s}
.ab .ab-dir b{display:block;font-size:16px;line-height:1.25;margin-bottom:8px}
.ab .ab-dir p{font-size:13.5px;line-height:1.4;opacity:.72;margin:0}

/* 6. подходим / не подходим */
.ab .ab-fit{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.ab .ab-fit__col{padding:28px 30px}
.ab .ab-fit__col h3{font-size:19px;line-height:1.3;margin:0 0 18px;font-weight:700}
.ab .ab-fit__col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ab .ab-fit__col li{margin:0;position:relative;padding-left:28px;font-size:15px;line-height:1.45}
.ab .ab-fit__col li::before{position:absolute;left:0;top:-1px;font-weight:800;font-size:18px;line-height:1.2}
.ab .ab-fit--yes li::before{content:"+"}
.ab .ab-fit--no li::before{content:"–"}
.ab .ab-fit--no{opacity:.9}

/* адаптив */
.ab .ab-card,.ab .ab-stat,.ab .ab-dir,.ab .ab-flow__step,.ab .ab-fit__col{overflow-wrap:break-word}
@media(max-width:1100px){
  .ab .ab-dirs{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:960px){
  .ab .ab-groups{grid-template-columns:1fr}
  .ab .ab-cards{grid-auto-rows:auto;flex:none}
  .ab .ab-card{min-height:0}
  .ab .ab-founder{grid-template-columns:1fr;gap:24px}
  .ab .ab-founder__photo{max-width:280px}
  .ab .ab-flow__arrow{display:none}
  .ab .ab-flow__step{flex:1 1 44%}
}
@media(max-width:640px){
  .ab .ab-section{padding:28px 0}
  .ab .ab-stats{grid-template-columns:1fr 1fr;gap:10px}
  .ab .ab-stat{padding:14px 16px}
  .ab .ab-dirs{grid-template-columns:1fr 1fr;gap:10px}
  .ab .ab-fit{grid-template-columns:1fr}
  .ab .ab-fit__col{padding:22px}
  .ab .ab-card{padding:18px 20px}
  .ab .ab-flow__step{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){
  .ab *{transition:none!important;animation:none!important}
}
