/* AVE Design Studio — страница «О компании» и блок «Нам доверяют» */

.ave-ab {
    --ab-red: #c80000;
    --ab-ink: #17181d;
    --ab-text: #3b3e47;
    --ab-muted: #6f7380;
    --ab-line: #e3e5ea;
    --ab-soft: #f5f6f8;
    padding: 90px 0;
    color: var(--ab-text);
    font-family: 'Open Sans', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.ave-ab--soft { background: var(--ab-soft); }
.ave-ab *,
.ave-ab *::before,
.ave-ab *::after { box-sizing: border-box; }
.ave-ab :where(ul, ol) { margin: 0; padding: 0; list-style: none; }
.ave-ab :where(li) { margin: 0; padding: 0; }
.ave-ab :where(li)::before { content: none; }
.ave-ab :where(p) { margin: 0; }

.ave-ab__head { max-width: 760px; margin: 0 0 44px; }
.ave-ab__head--center { margin-left: auto; margin-right: auto; text-align: center; }
.ave-ab__kicker {
    display: inline-block;
    margin: 0 0 12px;
    color: var(--ab-red);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.ave-ab__title {
    margin: 0 0 14px;
    padding: 0;
    color: var(--ab-ink);
    font: 800 36px/1.18 'Open Sans', Arial, sans-serif;
    letter-spacing: -.015em;
    text-transform: none;
}
.ave-ab__lead { color: var(--ab-muted); font-size: 17px; line-height: 1.6; }

/* ---------- О студии ---------- */

.ave-ab-intro { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.ave-ab-intro__text p { margin: 0 0 16px; font-size: 16px; line-height: 1.7; }
.ave-ab-intro__text p:last-child { margin-bottom: 0; }
.ave-ab-intro__text strong { color: var(--ab-ink); }
.ave-ab-intro__text .ave-ab__title { font-size: 38px; }

.ave-ab-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.ave-ab-tags li {
    padding: 7px 14px;
    border: 1px solid var(--ab-line);
    border-radius: 999px;
    background: #fff;
    color: var(--ab-ink);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}

.ave-ab-founder {
    position: relative;
    padding: 28px;
    border-radius: 16px;
    background: var(--ab-ink);
    color: rgba(255, 255, 255, .78);
    box-shadow: 0 24px 60px rgba(23, 24, 29, .18);
}
.ave-ab-founder__top { display: flex; gap: 16px; align-items: center; margin-bottom: 18px; }
.ave-ab-founder__photo { width: 72px; height: 72px; flex: none; border-radius: 50%; object-fit: cover; border: 3px solid var(--ab-red); }
.ave-ab-founder__name { margin: 0 0 2px; color: #fff; font-size: 19px; font-weight: 800; line-height: 1.25; }
.ave-ab-founder__role { color: rgba(255, 255, 255, .6); font-size: 13px; line-height: 1.4; }
.ave-ab-founder__facts li { position: relative; padding: 9px 0 9px 22px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 14px; line-height: 1.55; }
.ave-ab-founder__facts li::before { content: ''; position: absolute; left: 2px; top: 17px; width: 8px; height: 8px; border-radius: 50%; background: var(--ab-red); }
.ave-ab-founder__facts strong { color: #fff; }

/* ---------- Цифры ---------- */

.ave-ab-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ave-ab-stat { padding: 26px 24px; border: 1px solid var(--ab-line); border-radius: 14px; background: #fff; }
.ave-ab-stat__num { display: block; margin-bottom: 8px; color: var(--ab-ink); font: 800 42px/1 'Open Sans', Arial, sans-serif; letter-spacing: -.02em; }
.ave-ab-stat__num small { color: var(--ab-red); font-size: .55em; font-weight: 800; letter-spacing: 0; }
.ave-ab-stat__label { color: var(--ab-muted); font-size: 14px; line-height: 1.5; }

/* ---------- Что делаем / как работаем ---------- */

.ave-ab-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ave-ab-card { padding: 26px 22px; border-radius: 14px; background: #fff; border: 1px solid var(--ab-line); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ave-ab-card:hover { border-color: rgba(200, 0, 0, .35); box-shadow: 0 16px 40px rgba(23, 24, 29, .08); transform: translateY(-2px); }
.ave-ab-card__num { display: block; margin-bottom: 14px; color: var(--ab-red); font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.ave-ab-card__title { margin: 0 0 10px; padding: 0; color: var(--ab-ink); font: 800 18px/1.3 'Open Sans', Arial, sans-serif; text-transform: none; letter-spacing: 0; }
.ave-ab-card p { color: var(--ab-muted); font-size: 14px; line-height: 1.6; }
.ave-ab-note { margin-top: 22px; color: var(--ab-muted); font-size: 14px; text-align: center; }
.ave-ab-note strong { color: var(--ab-ink); }

/* ---------- Результаты ---------- */

.ave-ab-cases { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ave-ab-case { display: flex; flex-direction: column; padding: 24px 22px; border-radius: 14px; background: #fff; border: 1px solid var(--ab-line); }
.ave-ab-case__niche { margin-bottom: 4px; color: var(--ab-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ave-ab-case__name { margin: 0 0 16px; padding: 0; color: var(--ab-ink); font: 800 20px/1.25 'Open Sans', Arial, sans-serif; text-transform: none; letter-spacing: 0; }
.ave-ab-case__metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--ab-line); }
.ave-ab-case__metrics b { display: block; color: var(--ab-red); font-size: 22px; font-weight: 800; line-height: 1.1; }
.ave-ab-case__metrics span { display: block; margin-top: 3px; color: var(--ab-muted); font-size: 12px; line-height: 1.35; }

/* ---------- Нам доверяют ---------- */

.ave-clients__logos { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; margin-bottom: 28px; }
.ave-clients__logos li { display: flex; align-items: center; justify-content: center; height: 92px; padding: 8px; border: 1px solid var(--ab-line); border-radius: 12px; background: #fff; }
.ave-clients__logos li { transition: border-color .2s ease, box-shadow .2s ease; }
.ave-clients__logos li:hover { border-color: rgba(200, 0, 0, .3); box-shadow: 0 10px 28px rgba(23, 24, 29, .08); }
.ave-clients__logos img { width: auto; height: auto; max-width: 100%; max-height: 100%; }

.ave-clients__groups { columns: 3; column-gap: 16px; }
.ave-clients__group { display: inline-block; width: 100%; margin: 0 0 16px; padding: 24px 22px 22px; border-radius: 14px; background: #fff; border: 1px solid var(--ab-line); break-inside: avoid; -webkit-column-break-inside: avoid; }
.ave-clients__group-title { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 0; color: var(--ab-ink); font: 800 16px/1.3 'Open Sans', Arial, sans-serif; text-transform: none; letter-spacing: 0; }
.ave-clients__group-title::before { content: ''; flex: none; width: 4px; height: 18px; border-radius: 2px; background: var(--ab-red); }
.ave-clients__list { display: flex; flex-wrap: wrap; gap: 6px; }
.ave-clients__list li { padding: 6px 11px; border-radius: 8px; background: var(--ab-soft); color: var(--ab-ink); font-size: 13px; font-weight: 600; line-height: 1.35; }
.ave-clients__list li span { color: var(--ab-muted); font-weight: 400; }
.ave-clients__list li span::before { content: ' · '; }
.ave-clients__foot { margin-top: 26px; color: var(--ab-muted); font-size: 15px; text-align: center; }
.ave-clients__foot a,
.ave-clients__more a { color: var(--ab-red); font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(200, 0, 0, .3); transition: color .15s ease, border-color .15s ease; }
.ave-clients__foot a:hover,
.ave-clients__more a:hover { color: #a90000; border-bottom-color: currentColor; }

/* компактная версия для главной */
.ave-ab--compact { padding: 70px 0; border-top: 1px solid var(--ab-line); }
.ave-ab--compact .ave-ab__head { margin-bottom: 28px; }
.ave-ab--compact .ave-ab__title { font-size: 30px; }
.ave-clients__more { margin-top: 4px; text-align: center; font-size: 15px; line-height: 1.7; color: var(--ab-muted); }
.ave-clients__more a { white-space: nowrap; }

/* ---------- Адаптив ---------- */

@media (max-width: 1199px) {
    .ave-ab-cards,
    .ave-ab-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ave-clients__logos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .ave-ab { padding: 70px 0; }
    .ave-ab-intro { grid-template-columns: 1fr; gap: 32px; }
    .ave-clients__groups { columns: 2; }
}
@media (max-width: 767px) {
    .ave-ab { padding: 56px 0; }
    .ave-ab__head { margin-bottom: 28px; }
    .ave-ab__title,
    .ave-ab-intro__text .ave-ab__title { font-size: 27px; }
    .ave-ab--compact .ave-ab__title { font-size: 25px; }
    .ave-ab__lead { font-size: 15px; }
    .ave-ab-intro__text p { font-size: 15px; }
    .ave-ab-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .ave-ab-stat { padding: 18px 16px; }
    .ave-ab-stat__num { font-size: 32px; }
    .ave-ab-stat__label { font-size: 13px; }
    .ave-ab-cards,
    .ave-ab-cases { grid-template-columns: 1fr; gap: 12px; }
    .ave-clients__groups { columns: 1; }
    .ave-clients__group { margin-bottom: 12px; padding: 20px 18px 18px; }
    .ave-clients__logos { display: flex; gap: 8px; margin-left: -15px; margin-right: -15px; padding: 0 15px 6px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .ave-clients__logos::-webkit-scrollbar { display: none; }
    .ave-clients__logos li { flex: 0 0 40%; height: 72px; scroll-snap-align: start; }
    .ave-ab-founder { padding: 22px 20px; }
}
