/* Страница «О компании»: дерево, у которого два корня (технологии и маркетинг). Читаемый исходник, без сборки.
   План: ABOUT-PAGE-PLAN.md. Шапка, меню, подвал, кнопки, команда, вопросы и окно формы общие (css/site-*.css, слой site);
   здесь тема страницы и её экраны (ab-*), всё в слое page. Логические свойства (inline, block): страница готова к RTL. */
@layer page {

body.ab {
  --site-bg: #070c08;          /* ночной лес */
  --site-dim: rgba(242, 246, 242, 0.68);
  --site-line: rgba(125, 220, 140, 0.2);
  --site-accent: #d9ffd9;
  --site-accent-ink: #070c08;
  --site-signal: #7ddc8c;
  --site-wrap: 78rem;
  --bg-2: #0c140e;
  --leaf: #7ddc8c;
  --leaf-hi: #d9ffd9;
  --leaf-lo: #4fb765;
  --sun: #ffd166;              /* жёлтый акцент: почки, точки роста */
  --tech: #7fe3d0;             /* корень «технологии» */
  --ana: #b79cff;              /* корень «аналитика» */
  --mkt: #ffb347;              /* корень «маркетинг» */
  --bark: #8a6a4a;
  --ink: #070c08;
  --team-card: rgba(125, 220, 140, 0.04);
  --team-line: rgba(125, 220, 140, 0.2);
  --team-accent: var(--leaf);
  --faq-accent: var(--leaf);
  --faq-accent-ink: var(--ink);
  --faq-radius: 0.6rem;
  --faq-line-open: rgba(125, 220, 140, 0.6);
}
html { scroll-behavior: smooth; }

/* ---------- каркас в теме страницы ---------- */
.site-head::before { background: linear-gradient(to bottom, rgba(7, 12, 8, 0.94) 55%, rgba(7, 12, 8, 0)); }
.site-head.is-scrolled::before { background: rgba(7, 12, 8, 0.9); }
.site-head__tag { position: relative; z-index: 2; }
.site-head__tag li:first-child { color: var(--leaf-hi); }
.site-menu { background: rgba(7, 12, 8, 0.985); }
.site-menu__n { color: var(--leaf); }
.site-menu__list a:hover { color: var(--leaf-hi); }
.site-menu__list a[aria-current="page"] { color: var(--leaf); }
.site-footer__col ul a:hover, .site-footer__col > p > a:hover { color: var(--leaf-hi); }
.site-footer__col .site-footer__h { color: var(--leaf); }
.site-top:hover { border-color: var(--leaf); }
.site-head__lang { white-space: nowrap; }
/* зона нажатия ссылок подвала шире (на телефоне 19 px высотой), раскладка не меняется: запас съедает отрицательный отступ */
.site-footer__col ul a { display: inline-block; padding-block: 0.35rem; margin-block: -0.35rem; }

.site-btn {
  min-height: 3.1rem; padding: 0 1.9rem; border: 1.5px solid transparent; border-radius: 3rem; background: none;
  transition: transform 0.25s, background-color 0.25s, border-color 0.25s, box-shadow 0.25s;
}
.site-btn:hover { border-color: transparent; }
.ab .site-btn--main { color: var(--ink); background: linear-gradient(180deg, var(--leaf-hi), var(--leaf) 60%, var(--leaf-lo)); box-shadow: 0 0 0 0 rgba(125, 220, 140, 0.4); background-origin: border-box; }
.ab .site-btn--main:hover { box-shadow: 0 0 0 6px rgba(125, 220, 140, 0.14), 0 0 30px rgba(125, 220, 140, 0.3); }
.site-btn--main::after { content: none; }
.site-btn--ghost { border-color: rgba(125, 220, 140, 0.5); }
.site-btn--ghost:hover { border-color: var(--leaf-hi); background: rgba(125, 220, 140, 0.08); }

.site-dialog { border-radius: 0.5rem; background: var(--bg-2); }
.site-dialog::backdrop { background: rgba(4, 8, 4, 0.78); }
.site-dialog__title { color: var(--leaf-hi); }
.site-input { border-radius: 0.25rem; background: rgba(125, 220, 140, 0.05); }
.site-input:focus { border-color: var(--leaf); }
.site-form__consent input { accent-color: var(--leaf); }
.site-form__status[data-state="ok"] { color: var(--leaf-hi); }

/* хлебные крошки */
.crumbs { margin: 0 0 0.4rem; font-size: 0.85rem; }
.crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.5rem; margin: 0; padding: 0; list-style: none; color: var(--site-dim); }
.crumbs li + li::before { content: "/"; margin-inline-end: 0.5rem; color: rgba(242, 246, 242, 0.35); }
.crumbs a { display: inline-block; padding-block: 0.5rem; text-decoration: none; color: var(--site-dim); }
.crumbs a:hover { color: var(--leaf-hi); text-decoration: underline; text-underline-offset: 0.2em; }
.crumbs [aria-current="page"] { color: var(--site-fg); }

/* ---------- общие элементы экранов ---------- */
.ab-sec { padding: clamp(3.5rem, 8vw, 7rem) var(--site-gutter); }
.ab-eyebrow { margin: 0 0 0.9rem; font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--leaf); }
.ab-h2 { margin: 0 0 1rem; font-family: var(--site-font-head); font-weight: 400; text-transform: uppercase; line-height: 1.02; font-size: clamp(1.9rem, 4.6vw, 3.4rem); color: var(--leaf-hi); }
.ab-h2::first-line { color: var(--sun); }
.ab-lead { margin: 0 0 1.4rem; max-width: 46rem; color: var(--site-dim); font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.6; }

.ab-js .ab-rv:not(.is-in) { opacity: 0; transform: translateY(1.2rem); }
.ab-rv { transition: opacity 0.7s ease calc(var(--i, 0) * 0.09s), transform 0.7s ease calc(var(--i, 0) * 0.09s); }
@keyframes ab-rise { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: none; } }
.ab-rise { animation: ab-rise 0.8s ease both; animation-delay: calc(var(--i, 0) * 0.12s); }

/* ---------- первый экран ---------- */
.ab-hero { padding: clamp(6.5rem, 12vw, 9rem) var(--site-gutter) clamp(2.5rem, 6vw, 5rem); background: radial-gradient(70% 60% at 75% 40%, rgba(125, 220, 140, 0.09), transparent 70%); }
.ab-hero__in { display: grid; gap: 2.5rem; align-items: center; }
.ab-h1 { margin: 0 0 1.1rem; font-family: var(--site-font-head); font-weight: 400; text-transform: uppercase; line-height: 1.02; font-size: clamp(2.1rem, 6.2vw, 4.4rem); color: var(--leaf-hi); }
.ab-h1::first-line { color: var(--sun); }
.ab-sub { margin: 0 0 1.8rem; max-width: 34rem; color: var(--site-dim); font-size: clamp(1.05rem, 1.8vw, 1.3rem); line-height: 1.55; }
.ab-sub strong { display: block; margin-top: 0.4rem; color: var(--site-fg); font-weight: 600; }
.ab-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; }

/* дуб: три корня питают ствол, в кроне продукты; рисунок 640 на 664, метки продуктов лежат поверх вершин веток */
.ab-tree { position: relative; margin: 0; justify-self: center; width: min(100%, 38rem); container-type: inline-size; }
.ab-tree svg { display: block; width: 100%; height: auto; overflow: visible; }
.ab-fol circle { opacity: 0.95; }
.ab-br { fill: #6b4f2f; transition: fill 0.25s; }
.ab-br.is-hot { fill: var(--sun); }
.ab-vein { stroke-dasharray: 3 13; }
.ab-vein--tech { stroke: var(--tech); }
.ab-vein--ana { stroke: var(--ana); }
.ab-vein--mkt { stroke: var(--mkt); }
.ab-acorns ellipse { filter: drop-shadow(0 0 3px rgba(255, 209, 102, 0.85)); }
.ab-acorn__i { transform-box: fill-box; transform-origin: center; }
.ab-tree__lab text { font-family: var(--site-font-body); font-size: 17px; letter-spacing: 0.08em; text-transform: uppercase; }
.ab-tree__lab .ab-tree__lab-tech { fill: var(--tech); }
.ab-tree__lab .ab-tree__lab-ana { fill: var(--ana); }
.ab-tree__lab .ab-tree__lab-mkt { fill: var(--mkt); }

/* метки продуктов: на широком экране поверх рисунка, на узком кнопками под ним */
.ab-tags { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.45rem; }
.ab-tag { display: inline-flex; align-items: center; min-height: 2.4rem; padding: 0 0.9rem; border: 1px solid rgba(125, 220, 140, 0.55); border-radius: 3rem; background: rgba(7, 12, 8, 0.82); color: var(--leaf-hi); font: inherit; font-size: 0.85rem; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.2s; }
.ab-tag:hover, .ab-tag:focus-visible { background: var(--leaf); color: var(--ink); border-color: var(--leaf-hi); transform: translateY(-2px); }
@container (min-width: 34rem) {
  .ab-tags { position: absolute; inset: 0; margin: 0; display: block; pointer-events: none; }
  .ab-tags li { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); pointer-events: auto; }
  .ab-tag { min-height: 2rem; padding: 0 0.7rem; font-size: 0.8rem; backdrop-filter: blur(3px); }
}
@container (min-width: 37rem) { .ab-tag { min-height: 2.1rem; font-size: 0.85rem; } }

/* линии и листва: рисуются и разворачиваются при загрузке; без анимации сразу целиком */
.ab-draw { stroke-dasharray: 1; stroke-dashoffset: 0; }
@media (prefers-reduced-motion: no-preference) {
  .ab-draw { stroke-dashoffset: 1; animation: ab-draw 1.4s ease forwards; animation-delay: calc(var(--d, 0) * 1s); }
  .ab-br-g { animation: ab-fade 0.9s ease 0.7s both; }
  .ab-acorns ellipse { animation: ab-shine 3.2s ease-in-out infinite; }
  .ab-acorn__i--fall { animation: ab-drop var(--du, 20s) linear var(--dl, 0s) infinite both; }
  .ab-veins { animation: ab-fade 0.8s ease 0.6s both; }
  .ab-trunk, .ab-bark-lines, .ab-roots { transform-box: fill-box; transform-origin: 50% 100%; animation: ab-grow 1.1s ease both; }
  .ab-roots { animation-delay: 0.1s; transform-origin: 50% 0; }
  .ab-fol { transform-box: fill-box; transform-origin: 50% 80%; animation: ab-leafin 1.2s ease 0.9s both; }
  .ab-clump { transform-box: fill-box; transform-origin: 50% 70%; animation: ab-leafin 0.8s ease calc(1.3s + var(--k) * 0.08s) both, ab-sway 6s ease-in-out calc(2.4s + var(--k) * 0.35s) infinite; }
  .ab-acorns { animation: ab-fade 0.8s ease 2s both; }
  .ab-tree__lab { animation: ab-fade 0.8s ease 1.2s both; }
  .ab-tags li { animation: ab-fade 0.6s ease calc(1.8s + var(--k, 0) * 0.05s) both; }
  .ab-vein { animation: ab-flow 2.4s linear infinite; }
}
@keyframes ab-draw { to { stroke-dashoffset: 0; } }
@keyframes ab-grow { from { transform: scaleY(0); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ab-leafin { from { transform: scale(0.2); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ab-sway { 0%, 100% { transform: rotate(-1.6deg); } 50% { transform: rotate(1.6deg); } }
@keyframes ab-flow { to { stroke-dashoffset: -32; } }
@keyframes ab-shine { 0%, 100% { filter: drop-shadow(0 0 2px rgba(255, 209, 102, 0.6)); } 50% { filter: drop-shadow(0 0 6px rgba(255, 224, 140, 1)); } }
/* жёлудь вырастает, висит, падает с отскоком, лежит и исчезает; путь падения в --fy */
@keyframes ab-drop {
  0% { opacity: 0; transform: translateY(0) rotate(0deg) scale(0.3); }
  6% { opacity: 1; transform: translateY(0) rotate(0deg) scale(1); }
  48% { transform: translateY(0) rotate(0deg); animation-timing-function: cubic-bezier(0.5, 0, 0.9, 0.55); }
  60% { transform: translate(var(--fx, 0px), var(--fy)) rotate(200deg); animation-timing-function: ease-out; }
  64% { transform: translate(calc(var(--fx, 0px) + 5px), calc(var(--fy) - 14px)) rotate(250deg); animation-timing-function: ease-in; }
  67% { transform: translate(calc(var(--fx, 0px) + 8px), var(--fy)) rotate(290deg); }
  88% { opacity: 1; transform: translate(calc(var(--fx, 0px) + 8px), var(--fy)) rotate(290deg); }
  100% { opacity: 0; transform: translate(calc(var(--fx, 0px) + 8px), var(--fy)) rotate(290deg); }
}
@keyframes ab-fade { from { opacity: 0; } to { opacity: 1; } }

@media (min-width: 60em) { .ab-hero__in { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 3rem; } }

/* ---------- листики за курсором: один основной и два поменьше ---------- */
.ab-leaves { display: none; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .ab-leaves { display: block; }
  .ab-fly { position: fixed; left: 0; top: 0; z-index: 30; width: var(--s); height: var(--s); margin: calc(var(--s) / -2) 0 0 calc(var(--s) / -2); opacity: 0; pointer-events: none; transition: opacity 0.3s; will-change: transform; }
  .ab-fly.is-on { opacity: 0.95; }
  .ab-fly svg { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.5)); animation: ab-flutter 2.4s ease-in-out infinite; }
  .ab-fly:nth-child(2) svg { animation-duration: 2s; animation-delay: -0.6s; }
  .ab-fly:nth-child(3) svg { animation-duration: 1.7s; animation-delay: -1.1s; }
}
@keyframes ab-flutter { 0%, 100% { transform: rotate(-16deg) scale(1); } 50% { transform: rotate(16deg) scale(0.92); } }

/* ---------- годовые кольца ---------- */
.ab-rings__in { display: grid; gap: 2.5rem; align-items: center; }
.ab-stats { display: grid; gap: 1.2rem; margin: 2rem 0 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 60em) { .ab-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ab-stats div { padding-block-start: 0.9rem; border-block-start: 2px solid var(--leaf); }
.ab-stats dt { font-family: var(--site-font-head); font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1; color: var(--sun); }
.ab-stats dd { margin: 0.4rem 0 0; color: var(--site-dim); font-size: 0.95rem; line-height: 1.4; }
.ab-ringfig { margin: 0; justify-self: center; width: min(100%, 24rem); }
.ab-ringfig svg { display: block; width: 100%; height: auto; }
.ab-ring__bark { fill: #17110a; stroke: var(--bark); stroke-width: 3; }
.ab-ring { stroke: color-mix(in oklab, var(--bark), var(--leaf) calc(var(--k) * 6%)); stroke-width: 1.6; stroke-dasharray: 1; stroke-dashoffset: 0; }
.ab-ring__heart { fill: var(--sun); }
@media (prefers-reduced-motion: no-preference) {
  .ab-js .ab-ringfig:not(.is-in) .ab-ring { stroke-dashoffset: 1; }
  .ab-ring { transition: stroke-dashoffset 1.1s ease calc(var(--k) * 0.09s); }
}
@media (min-width: 60em) { .ab-rings__in { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 4rem; } }

/* ---------- CEO ---------- */
.ab-ceo { background: linear-gradient(180deg, transparent, rgba(125, 220, 140, 0.04), transparent); }
.ab-ceo__in { display: grid; gap: 2rem; align-items: center; }
.ab-ceo__ph { display: block; width: min(100%, 22rem); height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 1rem; filter: grayscale(1); border: 1px solid var(--site-line); }
.ab-sign { margin: 1.4rem 0 0; font-size: 0.85rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--leaf); }
@media (min-width: 52em) { .ab-ceo__in { grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); gap: 4rem; } }

/* ---------- карточки: корни и ветви ---------- */
.ab-cards { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.ab-card { position: relative; padding: 1.4rem 1.3rem 1.5rem; border: 1px solid var(--site-line); border-radius: 1rem; background: rgba(125, 220, 140, 0.03); transition: border-color 0.25s, background-color 0.25s; }
.ab-card:hover { border-color: rgba(125, 220, 140, 0.55); background: rgba(125, 220, 140, 0.06); }
.ab-card h3 { margin: 0 0 0.5rem; font-size: 1.2rem; color: var(--leaf-hi); }
.ab-card p { margin: 0 0 0.6rem; color: var(--site-dim); line-height: 1.55; }
.ab-cards--br { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.5rem), 1fr)); }
.ab-cards--br .ab-card::before { content: ""; display: block; width: 0.8rem; height: 0.8rem; margin-bottom: 0.9rem; border-radius: 50%; background: var(--sun); box-shadow: 0 0 12px rgba(255, 209, 102, 0.6); }
.ab-links { display: flex; flex-wrap: wrap; gap: 0 1.1rem; margin: 0.4rem 0 0; }
.ab-links a, .ab-links button { padding: 0.55rem 0; border: 0; background: none; font: inherit; color: var(--leaf); text-decoration: underline; text-underline-offset: 0.25em; cursor: pointer; }
.ab-links a:hover, .ab-links button:hover { color: var(--leaf-hi); }

/* ---------- процесс ---------- */
.ab-steps { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 1.2rem; counter-reset: ab; }
.ab-step { position: relative; padding-inline-start: 4rem; min-height: 3rem; }
.ab-step::before { content: ""; position: absolute; inset-inline-start: 1.15rem; inset-block: 2.6rem -1.4rem; width: 2px; background: linear-gradient(var(--leaf), rgba(125, 220, 140, 0.1)); }
.ab-step:last-child::before { content: none; }
.ab-step__n { position: absolute; inset-inline-start: 0; inset-block-start: 0; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 2px solid var(--leaf); font-family: var(--site-font-head); color: var(--sun); background: var(--site-bg); }
.ab-step h3 { margin: 0.2rem 0 0.3rem; font-size: 1.2rem; color: var(--leaf-hi); }
.ab-step p { margin: 0; color: var(--site-dim); line-height: 1.55; max-width: 36rem; }
@media (min-width: 62em) {
  .ab-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.4rem; }
  .ab-step { padding-inline-start: 0; padding-block-start: 3.4rem; }
  .ab-step::before { inset-inline: 2.6rem -1.4rem; inset-block: 1.15rem auto; width: auto; height: 2px; background: linear-gradient(to right, var(--leaf), rgba(125, 220, 140, 0.1)); }
}

/* ---------- история ---------- */
.ab-hist { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 0; max-width: 52rem; }
.ab-hi { --yc: 5rem; position: relative; display: grid; grid-template-columns: var(--yc) minmax(0, 1fr); gap: 1.2rem; padding-block-end: 1.6rem; }
.ab-hi::before { content: ""; position: absolute; inset-inline-start: calc(var(--yc) + 0.5rem); inset-block: 0.5rem 0; width: 2px; background: linear-gradient(var(--leaf), rgba(125, 220, 140, 0.12)); }
.ab-hi:last-child::before { content: none; }
.ab-hi::after { content: ""; position: absolute; inset-inline-start: calc(var(--yc) + 0.5rem); inset-block-start: 0.35rem; width: 0.9rem; height: 0.9rem; margin-inline-start: -0.4rem; border-radius: 50%; border: 2px solid var(--leaf); background: var(--site-bg); }
.ab-hi__y { font-family: var(--site-font-head); font-size: 1.5rem; line-height: 1.1; color: var(--sun); }
.ab-hi__b { padding-inline-start: 1.6rem; }
.ab-hi h3 { margin: 0 0 0.3rem; font-size: 1.2rem; color: var(--leaf-hi); }
.ab-hi p { margin: 0; color: var(--site-dim); line-height: 1.55; }

@media (max-width: 39.99em) {
  .ab-hi { --yc: 2.9rem; gap: 0.6rem; }
  .ab-hi__y { font-size: 1.1rem; }
  .ab-hi__b { padding-inline-start: 1.1rem; }
}

/* ---------- плоды: проекты и отзывы ---------- */
.ab-fine { margin: 1rem 0 0; font-size: 0.85rem; color: var(--site-dim); }
.ab-fruits { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.ab-fr a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--site-line); border-radius: 1rem; background: rgba(125, 220, 140, 0.03); color: inherit; text-decoration: none; transition: border-color 0.25s, transform 0.25s; }
.ab-fr a:hover { border-color: rgba(125, 220, 140, 0.6); transform: translateY(-3px); }
.ab-fr img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.ab-fr__b { display: grid; gap: 0.4rem; padding: 1rem 1.1rem 1.2rem; }
.ab-fr__b b { font-size: 1.1rem; color: var(--leaf-hi); }
.ab-fr__b span { color: var(--site-dim); font-size: 0.95rem; line-height: 1.5; }
.ab-fr__b em { font-style: normal; font-family: var(--site-font-head); font-size: 1.5rem; color: var(--sun); }
.ab-fr__b em span { font-family: var(--site-font-body); font-size: 0.8rem; color: var(--site-dim); }
.ab-sh { margin: 2.6rem 0 0; font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--leaf); font-weight: 400; }
.ab-rvs { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.ab-rq { padding: 1.2rem 1.2rem 1.3rem; border: 1px solid var(--site-line); border-radius: 1rem; background: rgba(125, 220, 140, 0.03); }
.ab-rq blockquote { margin: 0 0 0.9rem; }
.ab-rq blockquote p { margin: 0; color: var(--site-fg); line-height: 1.55; font-size: 0.95rem; }
.ab-rq mark { background: none; color: var(--sun); }
.ab-rq__w { display: grid; gap: 0.1rem; margin: 0; font-size: 0.85rem; color: var(--site-dim); }
.ab-rq__w b { color: var(--leaf-hi); font-weight: 600; }

/* команда: на телефоне по две карточки в ряд */
@media (max-width: 39.99em) {
  .ab .site-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
  .ab .site-team__item { padding: 0.45rem 0.45rem 0.8rem; }
  .ab .site-team__n { font-size: 1rem; }
  .ab .site-team__r { font-size: 0.72rem; }
  .ab .site-team__t { font-size: 0.8125rem; }
}
/* команда: на широком экране по четыре в ряд (8 человек = два ряда) */
@media (min-width: 62em) { .ab .site-team { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- вакансии ---------- */
.ab-jobs__in { display: grid; gap: 2rem; align-items: center; }
.ab-budfig { margin: 0; width: min(100%, 26rem); justify-self: center; }
.ab-budfig svg { display: block; width: 100%; height: auto; overflow: visible; }
.ab-bud circle { fill: var(--sun); filter: drop-shadow(0 0 8px rgba(255, 209, 102, 0.7)); transform-box: fill-box; transform-origin: center; }
@media (prefers-reduced-motion: no-preference) {
  .ab-js .ab-budfig:not(.is-in) .ab-draw { stroke-dashoffset: 1; animation: none; }
  .ab-bud circle { animation: ab-pulse 2.8s ease-in-out infinite; }
  .ab-bud:nth-of-type(2) circle { animation-delay: 0.5s; }
  .ab-bud:nth-of-type(3) circle { animation-delay: 1s; }
}
@keyframes ab-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.25); } }
@media (min-width: 52em) { .ab-jobs__in { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 4rem; } }

/* ---------- реквизиты ---------- */
.ab-dl { margin: 1.4rem 0 0; display: grid; gap: 0; max-width: 52rem; border-block-start: 1px solid var(--site-line); }
.ab-dl > div { display: grid; gap: 0.2rem 1.5rem; padding-block: 0.8rem; border-block-end: 1px solid var(--site-line); }
.ab-dl dt { color: var(--site-dim); font-size: 0.9rem; }
.ab-dl dd { margin: 0; color: var(--site-fg); overflow-wrap: anywhere; }
.ab-dl a, .ab-more a { color: var(--leaf); text-underline-offset: 0.25em; }
.ab-dl a:hover, .ab-more a:hover { color: var(--leaf-hi); }
.ab-dl a { display: inline-block; padding-block: 0.4rem; }
.ab-more a { display: inline-block; padding-block: 0.55rem; }
.ab-more { margin: 1.2rem 0 0; }
@media (min-width: 40em) { .ab-dl > div { grid-template-columns: 14rem minmax(0, 1fr); } }

/* ---------- финал ---------- */
.ab-end { text-align: center; background: radial-gradient(60% 80% at 50% 100%, rgba(125, 220, 140, 0.12), transparent 70%); }
.ab-end .ab-lead { margin-inline: auto; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ab-rv, .ab-rise, .ab-ring { transition: none; animation: none; }
}

}
