/* =========================================================
   ABOUT PAGE — about.html
   Pixel-accurate to Figma 1920_About (12935px tall)
   ========================================================= */

/* Header logo: keep mega-menu logo colours (override buy.css brightness(0)) */
.big_block_home--about header .mega-menu .logo img { filter: none; }

/* Transparent bg so vertical rails show through
   (override .big_block_home.big_block_home--buy { bg: #fff } from buy.css) */
.big_block_home.big_block_home--buy.big_block_home--about { background: transparent; }
.big_block_home--about > .container {
  padding: 0 96px;
  max-width: 1920px;
  background: transparent;
}
body { background: #FFFFFF; }

/* Vertical side rails on about page */
body:has(.big_block_home--about) .wrapper {
  border-left: 1px solid #C4C4C4;
  border-right: 1px solid #C4C4C4;
  position: relative;
}
body:has(.big_block_home--about) .wrapper::before,
body:has(.big_block_home--about) .wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #E1E1E1;
  z-index: 0;
  pointer-events: none;
}
body:has(.big_block_home--about) .wrapper::before { left: 96px; }
body:has(.big_block_home--about) .wrapper::after { right: 96px; }

/* Content blocks cover rails where they overlap */
body:has(.big_block_home--about) .ab_hero__photo,
body:has(.big_block_home--about) .ab_hero__founders-photo,
body:has(.big_block_home--about) .ab_history__cell--photo,
body:has(.big_block_home--about) .ab_directions__photo,
body:has(.big_block_home--about) .ab_directions__side,
body:has(.big_block_home--about) .ab_awards__photo,
body:has(.big_block_home--about) .ab_team,
body:has(.big_block_home--about) .ab_cta {
  position: relative;
  z-index: 2;
}
body:has(.big_block_home--about) footer {
  position: relative;
  z-index: 3;
}

/* =========================================================
   1. HERO — pixel-perfect to Figma 1920_About
   Two cells side-by-side, each 864×869 (Rectangle 4612 + Rectangle 4613)
   LEFT  — mountain photo + radial dark overlay + breadcrumbs + title + subtitle + Keep scrolling
   RIGHT — #FAFAFA panel with founders name (top) / photo 357×371 / description (bottom)
   ========================================================= */
.ab_hero {
  margin-left: -96px;
  margin-right: -96px;
  padding: 96px 96px 0 96px;
}
/* Hero photo edges follow header content padding.
   .container has 50px lateral padding at this range, hero must extend out by -50
   then re-pad by 10 so photo's left edge sits at x=61 (matching header text). */
@media (max-width: 1500px) {
  .ab_hero {
    margin-left: -50px !important;
    margin-right: -50px !important;
    padding: 96px 60px 0 60px !important;
  }
}
.ab_hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  max-width: 1728px;
  margin: 0 auto;
  justify-content: center;
  column-gap: 0;
  margin-bottom: 0;
}
.ab_hero__main {
  width: 100% !important;
  max-width: 864px;
}

/* ---- LEFT cell: 864×869 with photo + overlays + text ---- */
.ab_hero__main {
  position: relative;
  width: 864px;
  height: 869px;
  overflow: hidden;
  background: #D9D9D9;
}
.ab_hero__main-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 0;
}
/* Radial-gradient overlay (Ellipse 21 in Figma — 814×648 dark center 30% → fades out) */
.ab_hero__main-overlay {
  position: absolute;
  left: 32px;
  top: 109px;
  width: 814px;
  height: 648px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.30) 0%, rgba(0,0,0,0) 70%);
  pointer-events: none;
  z-index: 1;
}
/* Breadcrumbs — centered within the main-text area */
.ab_hero__breadcrumbs {
  position: absolute;
  top: 188px;
  left: 51px;
  width: 762px;
  justify-content: center;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: rgba(255, 255, 255, 0.7);
  z-index: 2;
}
.ab_hero__breadcrumbs a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color .25s;
}
.ab_hero__breadcrumbs a:hover { color: #FFFFFF; }
.ab_hero__breadcrumbs .is-active { color: rgba(255, 255, 255, 0.7); }
/* Main text block (title + subtitle) — at y=253 (relative to cell), 762px wide centered */
.ab_hero__main-text {
  position: absolute;
  top: 253px;
  left: 51px;
  width: 762px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 32px;
  z-index: 2;
}
.ab_hero__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  text-transform: uppercase;
  margin: 0;
  text-shadow: 0 2px 16px rgba(0,0,0,0.45);
}
.ab_hero__subtitle {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 25px;
  line-height: 130%;
  color: #FFFFFF;
  margin: 0;
  text-shadow: 0 2px 8px rgba(0,0,0,0.35);
}
/* Keep scrolling — at y=773 (relative), centered */
.ab_hero__scroll {
  position: absolute;
  bottom: 48px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 130%;
  color: rgba(255, 255, 255, 0.8);
  z-index: 2;
}
.ab_hero__scroll i {
  width: 32px;
  height: 10px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='10' viewBox='0 0 32 10'><path d='M0 5h30M26 1l4 4-4 4' stroke='%23ffffff' stroke-opacity='0.8' stroke-width='1.6' fill='none'/></svg>");
  background-repeat: no-repeat;
}

/* ---- RIGHT cell: 864×869 light-gray panel with founders block centered ---- */
.ab_hero__founders {
  width: 100%;
  max-width: 864px;
  height: 869px;
  background: #FAFAFA;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 117px 144px 0;
}
.ab_hero__founders-name {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: none;
  margin: 0 0 32px;
  max-width: 352px;
}
/* Founders photo: rectangular 357×371 (NOT circular per Figma) */
.ab_hero__founders-photo {
  width: 357px;
  height: 371px;
  overflow: hidden;
  background: #EEE;
  flex-shrink: 0;
}
.ab_hero__founders-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ab_hero__founders-desc {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  margin: 32px 0 0;
  max-width: 576px;
}

/* Stats — 3 cols full bleed, with horizontal rules and vertical separators (Figma exact) */
.ab_hero__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1.6px solid #E1E1E1;
  border-bottom: 1.6px solid #E1E1E1;
  padding: 40px 0;
}
.ab_hero__stat {
  padding: 0 36px;
  border-right: 1.6px solid #E1E1E1;
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-height: 314px;
  justify-content: space-between;
}
.ab_hero__stat:last-child { border-right: 0; }
.ab_hero__stat b {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
}
.ab_hero__stat b i {
  font-style: normal;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
}
.ab_hero__stat b em {
  font-family: "Inter", sans-serif;
  font-weight: 200;
  font-style: normal;
  font-size: 80px;
  color: #010101;
}
.ab_hero__stat span {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
}

/* =========================================================
   2. HISTORY — pixel-perfect to Figma 1920_About (1920×1294)
   Title (Felidae 80px) + 2×2 grid:
       Row 1: [Text title+desc 467×312 centered] | [Team photo 1125×614]
       Row 2: [Villa photo 539×614]              | [Text title+desc 813×280 centered]
   Vertical separator at x=667; horizontal lines at y=266, y=913, y=1559
   ========================================================= */
.ab_history {
  padding: 80px 0 0;
  background: #FFFFFF;
}
.ab_history .container { max-width: 1920px; padding: 0 96px; }

.ab_history__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: uppercase;
  text-align: center;
  margin: 0 auto 80px;
  max-width: 1634px;
}
.ab_history__title em {
  font-family: "Inter", sans-serif;
  font-style: normal;
  font-weight: 200;
  font-size: 80px;
}

.ab_history__grid {
  display: grid;
  /* Figma: left col 571 (570 effective with 96 padding wrapper), right col 1125 */
  grid-template-columns: 571fr 1157fr;
  grid-template-rows: 647px 647px;
  gap: 0;
  border-top: 1.6px solid #E1E1E1;
  border-bottom: 1.6px solid #E1E1E1;
}
.ab_history__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1.6px solid #E1E1E1;
  border-bottom: 1.6px solid #E1E1E1;
  overflow: hidden;
}
.ab_history__cell:nth-child(2),
.ab_history__cell:nth-child(4) { border-right: 0; }
.ab_history__cell:nth-child(3),
.ab_history__cell:nth-child(4) { border-bottom: 0; }

/* Text cells — centered title+description */
.ab_history__cell--text {
  flex-direction: column;
  text-align: center;
  padding: 48px 56px;
  gap: 24px;
}
.ab_history__cell--text h3 {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  -webkit-text-stroke: 0.32px #010101;
  margin: 0;
  text-transform: none;
  max-width: 813px;
}
.ab_history__cell--text p {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  margin: 0;
  max-width: 813px;
}
/* Row 1 left text: narrower (467px) */
.ab_history__grid > .ab_history__cell--text:nth-child(1) h3,
.ab_history__grid > .ab_history__cell--text:nth-child(1) p {
  max-width: 467px;
}

/* Photo cells */
.ab_history__cell--photo img,
.ab_history__cell--photo video,
.ab_history__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Row 2 photo (villa) is narrower — fills the narrow left column */
.ab_history__cell--photo-narrow img,
.ab_history__cell--photo-narrow video { object-fit: cover; }

/* =========================================================
   DIRECTIONS — pixel-perfect to Figma 1920×1164
   Title 80px Felidae center + subtitle Inter 25px
   2-col layout (1920 wide):
     LEFT: big team photo 1142×820 from x=96
     RIGHT: text list (x=1296+) with separator lines + check icon on active item + outro at bottom
   ========================================================= */
.ab_directions {
  padding: 100px 0 0;
  background: #FFFFFF;
}
.ab_directions .container { max-width: 1920px; padding: 0 96px; }
.ab_directions__head {
  text-align: center;
  margin-bottom: 64px;
}
.ab_directions__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-align: center;
  text-transform: uppercase;
  margin: 0 0 24px;
  max-width: 1482px;
  margin-left: auto;
  margin-right: auto;
}
.ab_directions__lead {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  text-align: center;
  margin: 0;
}
.ab_directions__grid {
  display: grid;
  grid-template-columns: 1142fr 586fr;
  gap: 48px;
  align-items: stretch;
  border-top: 1.6px solid #E1E1E1;
  border-bottom: 1.6px solid #E1E1E1;
  padding: 0;
}
.ab_directions__photo {
  overflow: hidden;
  min-height: 820px;
  align-self: center;
  padding: 18px 0;
}
.ab_directions__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* RIGHT side: list with separators + outro */
.ab_directions__right {
  display: flex;
  flex-direction: column;
  padding-right: 48px;
}
.ab_directions__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ab_directions__list > li {
  position: relative;
  padding: 48px 0 48px 56px;
  border-bottom: 1.6px solid #E1E1E1;
}
.ab_directions__list > li:first-child { border-top: 1.6px solid #E1E1E1; }
.ab_directions__list h4 {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.05em;
  color: #010101;
  margin: 0;
  text-transform: uppercase;
}
.ab_directions__list > li { padding-left: 0; }
.ab_directions__outro {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  margin: 48px 0 0;
}

/* =========================================================
   AWARDS / RECOGNITION — pixel-perfect to Figma 1920×1601
   Title 80px Felidae centered + subtitle Inter 25px
   3 cols × 3 rows grid (each row 416px):
     Row 1: [Text Членство]    | [Big photo spans cols 2-3, rows 1-2]
     Row 2: [Text Andalucia]   | (photo continues)
     Row 3: [Photo small]      | [Text European Awards] | [Text Участие]
   Borders: top + middle x2 + bottom horizontal; verticals at x=668, x=1253
   Text color: #CDCDCD (light gray, NOT black)
   + circle 37×37 #C4C4C4 in each text cell
   ========================================================= */
.ab_awards {
  padding: 100px 0 0;
  background: #FFFFFF;
}
.ab_awards .container { max-width: 1920px; padding: 0 96px; }
.ab_awards__head {
  text-align: center;
  margin-bottom: 80px;
}
.ab_awards__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: none;
  margin: 0 auto 32px;
  max-width: 1618px;
}
.ab_awards__lead {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  max-width: 1040px;
  margin: 0 auto;
}
.ab_awards__grid {
  display: grid;
  /* 3 cols matching Figma: col 1 ~572, col 2 ~585, col 3 ~569 = ~1726 total */
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 416px 416px 416px;
  gap: 0;
  border-top: 1.6px solid #E1E1E1;
  border-bottom: 1.6px solid #E1E1E1;
}
.ab_awards__cell {
  border-right: 1.6px solid #E1E1E1;
  border-bottom: 1.6px solid #E1E1E1;
  position: relative;
}
.ab_awards__cell:nth-child(3n) { border-right: 0; }
/* Row 3 cells — no bottom border */
.ab_awards__grid > .ab_awards__cell:nth-last-child(-n+3) { border-bottom: 0; }

/* Text cells — text in CENTER, + circle bottom-right */
.ab_awards__cell--text {
  padding: 48px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.ab_awards__cell--text h4 {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #CDCDCD;
  text-transform: none;
  margin: 0;
}

/* Photo cells */
.ab_awards__cell--photo {
  overflow: hidden;
  padding: 0;
}
.ab_awards__cell--photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Big photo spans cols 2-3 rows 1-2 */
.ab_awards__cell--big {
  grid-column: 2 / span 2;
  grid-row: 1 / span 2;
  border-right: 0;
}
/* Small photo at row 3 col 1 (default position) */
.ab_awards__cell--small { grid-column: 1; grid-row: 3; }

/* + circle at bottom-right of each text cell */
.ab_awards__nav {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 37px;
  height: 37px;
  border: 1px solid #C4C4C4;
  border-radius: 50%;
  background: #FFFFFF;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'><path d='M9 2v14M2 9h14' stroke='%23C4C4C4' stroke-width='1.6' stroke-linecap='round'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}

/* =========================================================
   TEAM EXPERTS — pixel-perfect to Figma 1920×1405
   Background: bg image + dark gradient overlay (40% from bottom-left)
   White inner card 1728×1005 centered, contains:
     - Tabs row at top (Администрация active, others gray)
     - 3-col body: text (left) | photo center 538×647 | person info + pager (right)
   ========================================================= */
.ab_team {
  padding: 100px 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.ab_team::before {
  /* Linear gradient overlay from Figma (top-right transparent → bottom-left dark 40%) */
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(225deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.40) 100%);
  pointer-events: none;
}
.ab_team .container {
  max-width: 1920px;
  padding: 0 96px;
  position: relative;
  z-index: 1;
}
.ab_team__card {
  background: #FAFAFA;
  width: 100%;
  max-width: 1728px;
  margin: 0 auto;
  min-height: 1005px;
  display: flex;
  flex-direction: column;
  padding: 64px 96px;
}

/* Tabs */
.ab_team__tabs {
  display: flex;
  align-items: center;
  gap: 17px;
  padding: 0 0 36px;
  border-bottom: 1.6px solid #E1E1E1;
  margin-bottom: 0;
  background: transparent;
  backdrop-filter: none;
}
.ab_team__tabs button {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 0;
  background: transparent;
  border: 0;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #CDCDCD;
  cursor: pointer;
  transition: color .25s;
  text-transform: none;
}
.ab_team__tabs button.is-active { color: #010101; }
.ab_team__tabs button i { display: none; }
.ab_team__tabs button.is-active i {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #010101;
  display: inline-block;
  flex-shrink: 0;
}
.ab_team__sep {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  color: #CDCDCD;
  letter-spacing: 0.02em;
}

/* Body — 2 cols: text | slider (which contains photo + person info + pager) */
.ab_team__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr);
  gap: 0;
  flex: 1 1 auto;
  padding-top: 70px;
  align-items: stretch;
}

/* LEFT — text block */
.ab_team__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding-right: 40px;
}
.ab_team__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: none;
  margin: 0 0 24px;
}
.ab_team__subtitle {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  margin: 0 0 32px;
}
.ab_team__langs {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  color: #3C3C3B;
  margin: 0 0 auto;
}
.ab_team__desc {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  margin: 32px 0 0;
  max-width: 483px;
}

/* RIGHT side — slider wrap (relative for absolute pager) */
.ab_team__slider-wrap {
  position: relative;
  width: 100%;
}
.ab_team__swiper {
  width: 100%;
  position: relative;
}
.ab_team__swiper .swiper-wrapper {
  align-items: stretch;
}
.ab_team__swiper .swiper-slide {
  display: grid;
  grid-template-columns: 538px minmax(0, 1fr);
  column-gap: 56px;
  align-items: start;
  height: auto !important;  /* override Swiper's height: 100% */
  box-sizing: border-box;
}

/* CENTER — photo 538×647 inside each slide */
.ab_team__photo {
  width: 538px;
  height: 647px;
  overflow: hidden;
  background: #EEE;
  align-self: start;
  position: relative;
}
.ab_team__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Empty-photo state — clean placeholder until image is added */
.ab_team__photo--empty {
  background: #F0EFEB;
  border: 1px dashed #D4D2CD;
  box-sizing: border-box;
}
.ab_team__photo--empty::before {
  content: "Фото";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 22px;
  color: #B9B9B9;
  letter-spacing: 0.05em;
  pointer-events: none;
}

/* RIGHT in each slide — name + role + langs (sits below the pager visually) */
.ab_team__person {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  /* Push down so it lands roughly mid-photo (matches Figma) */
  padding-top: 240px;
}
.ab_team__person-info {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ab_team__person h4 {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  margin: 0 0 16px;
  text-transform: none;
}
.ab_team__person-role {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  margin: 0 0 92px;
}
.ab_team__person-langs {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  color: #3C3C3B;
  margin: 0;
}

/* PAGER — top of right column, above the slides (absolute over slider) */
.ab_team__pager {
  position: absolute;
  top: 29px; /* matches Figma — sits above name */
  right: 0;
  width: calc(100% - 538px - 56px);
  max-width: 430px;
  z-index: 5;
  pointer-events: none;
}
.ab_team__pager-line {
  position: relative;
  width: 100%;
  height: 1.6px;
  background: #C4C4C4;
  margin-bottom: 24px;
}
.ab_team__pager-progress {
  position: absolute;
  left: 0;
  top: 0;
  width: 33%;
  height: 1.6px;
  background: #010101;
  transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.ab_team__pager-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.ab_team__pager-num {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #C4C4C4;
  display: inline-flex;
  align-items: baseline;
  pointer-events: none;
}
.ab_team__pager-num i {
  font-style: normal;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  color: #C4C4C4;
  margin: 0 2px;
}

/* PREV/NEXT chevron arrows — small (22×10), gray stroke (#c4c4c4) */
.ab_team__nav {
  display: inline-flex;
  align-items: center;
  gap: 30px;
  pointer-events: auto;
}
.ab_team__nav-btn {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  color: transparent;
  font-size: 0;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
}
.ab_team__nav-btn::after {
  content: "";
  width: 18px;
  height: 10px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
}
.ab_team__nav-btn--prev::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='10' viewBox='0 0 18 10' fill='none'><path d='M17 1L9 9L1 1' stroke='%23010101' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  transform: rotate(90deg);
}
.ab_team__nav-btn--next::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='10' viewBox='0 0 18 10' fill='none'><path d='M17 1L9 9L1 1' stroke='%23010101' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  transform: rotate(-90deg);
}
.ab_team__nav-btn:hover { opacity: 0.6; }
.ab_team__nav-btn--prev:hover { transform: translateX(-3px); }
.ab_team__nav-btn--next:hover { transform: translateX(3px); }
.ab_team__nav-btn.swiper-button-disabled { opacity: 0.3; cursor: default; }
.ab_team__nav-btn.swiper-button-disabled:hover { transform: none; }

@media (max-width: 1199px) {
  .ab_team__body { grid-template-columns: 1fr; row-gap: 60px; }
  .ab_team__slider-wrap { grid-template-columns: 1fr; }
  .ab_team__swiper .swiper-slide { grid-template-columns: 1fr; row-gap: 30px; }
  .ab_team__photo { width: 100%; height: auto; aspect-ratio: 538 / 647; max-height: 647px; }
  .ab_team__person { padding-top: 0; }
  .ab_team__pager { position: static; width: 100%; max-width: none; margin-bottom: 24px; }
}

/* =========================================================
   6. REVIEWS — title + 3 cards + "Больше отзывов" btn + partners
   ========================================================= */
.ab_reviews {
  padding: 160px 0 160px;
  background: #FFFFFF;
}
.ab_reviews .container { max-width: 1920px; padding: 0 96px; }
.ab_reviews__head {
  text-align: center;
  margin-bottom: 64px;
  max-width: 1446px;
  margin-left: auto;
  margin-right: auto;
}
.ab_reviews__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 700;
  font-size: 64px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: uppercase;
  margin-bottom: 32px;
}
.ab_reviews__lead {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 130%;
  color: #010101;
  margin-bottom: 24px;
  max-width: 976px;
  margin-left: auto;
  margin-right: auto;
}
.ab_reviews__lead2 {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 22px;
  line-height: 140%;
  color: #3C3C3B;
  max-width: 965px;
  margin: 0 auto;
}
.ab_reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 64px;
}
.ab_review {
  padding: 32px;
  background: #FAFAFA;
  display: flex;
  flex-direction: column;
  min-height: 653px;
}
.ab_review__head {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 32px;
}
.ab_review__avatar {
  width: 117px;
  height: 120px;
  border-radius: 0;
  overflow: hidden;
  flex-shrink: 0;
  background: #D9D9D9;
}
.ab_review__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab_review__name-block { display: flex; flex-direction: column; gap: 13px; }
.ab_review__name {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: none;
  margin: 0;
}
.ab_review__age {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
}
.ab_review__req {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  color: #3C3C3B;
  text-transform: uppercase;
  letter-spacing: 0;
  margin: 0 0 17px;
  max-width: 445px;
}
.ab_review__text {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 25px;
  line-height: 130%;
  color: #3C3C3B;
  flex: 1 1 auto;
  margin: 0;
  max-width: 493px;
}
.ab_review__date {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 32px;
  line-height: 120%;
  color: #CDCDCD;
  margin-top: 41px;
}

.ab_reviews__more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 192px);
  max-width: 1730px;
  height: 96px;
  margin: 0 auto 64px;
  background: #41545C;
  color: #FFFFFF;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 130%;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .25s;
}
.ab_reviews__more:hover { background: #010101; color: #FFFFFF; }

.ab_reviews__partners {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1.6px solid #E1E1E1;
  border-bottom: 1.6px solid #E1E1E1;
  padding: 48px 0;
}
.ab_partner {
  text-align: center;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 64px;
  line-height: 110%;
  color: #B9B9B9;
  border-right: 1.6px solid #E1E1E1;
  padding: 0 24px;
}
.ab_partner:last-child { border-right: 0; }

/* =========================================================
   7. FINAL CTA — bg image with white card
   ========================================================= */
.ab_cta {
  padding: 160px 0;
  position: relative;
  overflow: hidden;
}
/* Real parallax: img child translateY()-shifts on scroll (driven by JS in
   about-animations.js). Container clips overflow, img is taller than the
   container (height: 120%) so movement doesn't expose edges. Same pattern
   as buy.html .buy_districts__big and catalog.html .cat_cta__bg. */
.ab_cta__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.ab_cta__bg img {
  width: 100%;
  height: 120%;
  object-fit: cover;
  display: block;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  transition: transform 0.1s linear;
}
.ab_cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15);
  pointer-events: none;
  z-index: 1;
}
.ab_cta .container {
  max-width: 1920px;
  padding: 0 96px;
  position: relative;
  z-index: 2;
}
.ab_cta__card {
  background: #FAFAFA;
  color: #010101;
  padding: 112px 80px 80px;
  max-width: 1349px;
  margin: 0 auto;
  text-align: center;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.18);
}
.ab_cta__title {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 700;
  font-size: 80px;
  line-height: 110%;
  letter-spacing: 0.02em;
  color: #010101;
  text-transform: uppercase;
  margin-bottom: 32px;
}
.ab_cta__sub {
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 130%;
  letter-spacing: 0.02em;
  color: #010101;
  margin-bottom: 40px;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.ab_cta__tagline {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 22px;
  line-height: 140%;
  color: #3C3C3B;
  margin-bottom: 64px;
  max-width: 728px;
  margin-left: auto;
  margin-right: auto;
}
.ab_cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 720px;
  height: 80px;
  padding: 0 32px;
  background: transparent;
  color: #010101;
  border: 1px solid #010101;
  font-family: "Felidae", "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 130%;
  letter-spacing: 0.1em;
  text-transform: none;
  text-decoration: none;
  margin-bottom: 32px;
  transition: background .25s, color .25s;
}
.ab_cta__btn:hover { background: #010101; color: #FFFFFF; }
.ab_cta__micro {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 130%;
  color: #3C3C3B;
}

/* =========================================================
   ANIMATION ENHANCEMENTS (about-animations.js)
   ========================================================= */

/* CTA parallax now driven by translate3d on .ab_cta__bg img (in
   about-animations.js). The old `background-attachment: fixed` was visually
   stiff and broke on iOS Safari. Team section keeps the fixed-bg trick for
   now since it didn't get the img-child refactor. */
.ab_team {
  background-attachment: fixed;
}
@supports (-webkit-touch-callout: none) {
  .ab_team { background-attachment: scroll; }
}

/* --- Photo clip-path mask reveal containers --- */
.ab_awards__cell--photo,
.ab_directions__photo,
.ab_hero__founders-photo {
  overflow: hidden;
}

/* =========================================================
   anim-fade-up / anim-fade-right / anim-scale
   Scroll-reveal driven by IntersectionObserver → .is-visible
   ========================================================= */
.anim-fade-up,
.anim-fade-right,
.anim-scale {
  opacity: 0;
  transition:
    opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1) var(--anim-delay, 0ms),
    transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) var(--anim-delay, 0ms);
  will-change: opacity, transform;
}
.anim-fade-up   { transform: translate3d(0, 60px, 0); }
.anim-fade-right { transform: translate3d(60px, 0, 0); }
.anim-scale      { transform: scale(1.06); }

.anim-fade-up.is-visible,
.anim-fade-right.is-visible,
.anim-scale.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .anim-fade-up,
  .anim-fade-right,
  .anim-scale {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* =========================================================
   ADAPTIVE — 1200px (Figma 1200_About: 1200x8128)
   Pixel-perfect to Figma. Container padding 60px each side, content 1080px.
   ========================================================= */
@media (max-width: 1366px) {

  /* ---------- CONTAINER & WRAPPER RAILS ---------- */
  .big_block_home--about > .container { padding: 0 60px; max-width: 1200px; }
  body:has(.big_block_home--about) .wrapper::before { left: 60px; }
  body:has(.big_block_home--about) .wrapper::after { right: 60px; }

  /* ---------- HEADER — keep full 1920-style menu visible at 1200 ---------- */
  /* Force ALL header pieces to show like at 1920 (override style.css 1199 hide-rules) */
  .big_block_home--about header .about_block .top_header_group .menu ul { display: flex !important; gap: 30px; }
  .big_block_home--about header .about_block .top_header_group .menu ul li a { font-size: 14px; line-height: 120%; color: #010101; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .phone_number { display: inline-block !important; font-size: 14px; line-height: 120%; color: #010101; margin-right: 24px; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .lang-dropdown { display: block !important; margin-right: 16px; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .lang-dropdown .lang-dropdown-btn { font-size: 14px; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .whatsapp { display: flex !important; margin-right: 18px; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .whatsapp svg { width: 22px; height: 22px; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .consultation { font-size: 14px; padding: 8px 16px; }
  .big_block_home--about header .about_block .top_header_group .menu_burger { display: none !important; }
  .big_block_home--about header .about_block .top_header_group .logo img { width: 117px; height: 28px; }
  .big_block_home--about header .about_block .bottom_header { display: flex !important; padding-top: 14px; }
  .big_block_home--about header .about_block .bottom_header .menu ul { display: flex !important; gap: 30px; }
  .big_block_home--about header .about_block .bottom_header .menu ul li a { font-size: 14px; line-height: 120%; color: #010101; }
  .big_block_home--about header .about_block .bottom_header .menu_burger { gap: 14px; font-size: 16px; }
  .big_block_home--about header .about_block .bottom_header .menu_burger .burger { width: 28px; height: 10px; }
  .big_block_home--about header .about_block .bottom_header .menu_burger .burger span:nth-child(1),
  .big_block_home--about header .about_block .bottom_header .menu_burger .burger span:nth-child(3) { width: 20px; }
  .big_block_home--about header .about_block .bottom_header .menu_burger .burger span:nth-child(2) { width: 28px; }

  /* ---------- 1. HERO ---------- */
  /* Figma: cells 540×543 each, side-by-side at x=60 to x=1140 */
  .ab_hero { padding: 60px 60px 0 60px; }
  .ab_hero__grid {
    grid-template-columns: 540px 540px;
    column-gap: 0;
    justify-content: center;
  }
  .ab_hero__main {
    width: 540px;
    height: 543px;
  }
  .ab_hero__main-overlay {
    left: 20px;
    top: 68px;
    width: 509px;
    height: 405px;
  }
  /* Breadcrumbs centered, y=117 from cell top */
  .ab_hero__breadcrumbs {
    top: 117px;
    left: 32px;
    width: 476px;
    font-size: 16px;
    gap: 7px;
  }
  /* Main text block: y=158 from cell top, width 476, gap 20 */
  .ab_hero__main-text {
    top: 158px;
    left: 32px;
    width: 476px;
    gap: 20px;
  }
  .ab_hero__title {
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 0.02em;
  }
  .ab_hero__subtitle {
    font-size: 16px;
    line-height: 130%;
  }
  .ab_hero__scroll {
    bottom: 30px;
    font-size: 12px;
    gap: 8px;
  }
  .ab_hero__scroll i { width: 22px; height: 7px; }

  /* RIGHT cell — founders panel 540×543. Padding-top 73, name → 20 → photo 223×232 → 20 → desc */
  .ab_hero__founders {
    width: 540px;
    height: 543px;
    padding: 73px 90px 0;
  }
  .ab_hero__founders-name {
    font-size: 28px;
    line-height: 110%;
    margin: 0 0 20px;
    max-width: 280px;
  }
  .ab_hero__founders-photo {
    width: 223px;
    height: 232px;
  }
  .ab_hero__founders-desc {
    font-size: 16px;
    line-height: 130%;
    margin: 20px 0 0;
    max-width: 360px;
  }

  /* ---------- 2. STATS — full width inside hero. Numbers 50px Felidae ---------- */
  .ab_hero__stats {
    padding: 36px 0;
    border-top: 1px solid #E1E1E1;
    border-bottom: 1px solid #E1E1E1;
  }
  .ab_hero__stat {
    padding: 0 22px;
    gap: 100px;
    min-height: 200px;
    border-right: 1px solid #E1E1E1;
  }
  .ab_hero__stat b { font-size: 50px; line-height: 110%; gap: 5px; }
  .ab_hero__stat b i { font-size: 50px; }
  .ab_hero__stat b em { font-size: 50px; }
  .ab_hero__stat span { font-size: 16px; line-height: 130%; }

  /* ---------- 3. HISTORY ---------- */
  .ab_history { padding: 60px 0 0; }
  .ab_history .container { padding: 0 60px; max-width: 1200px; }
  .ab_history__title {
    font-size: 50px;
    line-height: 110%;
    margin: 0 auto 50px;
    max-width: 1080px;
  }
  .ab_history__title em { font-size: 50px; }
  /* Figma grid: row 1 [text 294 | photo 703], row 2 [photo 337 | text 508], rows 384px each */
  .ab_history__grid {
    grid-template-columns: 357fr 723fr;
    grid-template-rows: 384px 384px;
  }
  .ab_history__cell--text {
    padding: 30px 30px;
    gap: 16px;
  }
  .ab_history__cell--text h3 {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    max-width: 540px;
  }
  .ab_history__cell--text p {
    font-size: 16px;
    line-height: 130%;
    max-width: 540px;
  }
  .ab_history__grid > .ab_history__cell--text:nth-child(1) h3,
  .ab_history__grid > .ab_history__cell--text:nth-child(1) p {
    max-width: 294px;
  }

  /* ---------- 4. DIRECTIONS ---------- */
  /* Figma: title 926x103, subtitle below; photo 714x513 left, text list 325 right with 36 gap */
  .ab_directions { padding: 60px 0 0; }
  .ab_directions .container { padding: 0 60px; max-width: 1200px; }
  .ab_directions__head { margin-bottom: 40px; }
  .ab_directions__title {
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 auto 20px;
    max-width: 950px;
  }
  .ab_directions__lead {
    font-size: 16px;
    line-height: 130%;
  }
  .ab_directions__grid {
    grid-template-columns: 714fr 330fr;
    gap: 36px;
  }
  .ab_directions__photo {
    min-height: 513px;
    padding: 0;
    align-self: stretch;
  }
  .ab_directions__right {
    padding-right: 0;
    justify-content: flex-start;
  }
  .ab_directions__list > li {
    padding: 30px 0;
  }
  .ab_directions__list h4 {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
  }
  .ab_directions__outro {
    font-size: 16px;
    line-height: 130%;
    margin: 30px 0 0;
  }

  /* ---------- 5. AWARDS — 3 cols × 3 rows of 260px ---------- */
  .ab_awards { padding: 60px 0 0; }
  .ab_awards .container { padding: 0 60px; max-width: 1200px; }
  .ab_awards__head { margin-bottom: 50px; }
  .ab_awards__title {
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 auto 20px;
    max-width: 1011px;
  }
  .ab_awards__lead {
    font-size: 16px;
    line-height: 130%;
    max-width: 650px;
  }
  .ab_awards__grid {
    grid-template-rows: 260px 260px 260px;
  }
  .ab_awards__cell--text {
    padding: 30px 24px;
  }
  .ab_awards__cell--text h4 {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
  }
  .ab_awards__nav {
    width: 28px;
    height: 28px;
    right: 16px;
    bottom: 16px;
    background-size: 14px 14px;
  }

  /* ---------- 6. TEAM EXPERTS — card 1080×628 ---------- */
  .ab_team { padding: 60px 0; }
  .ab_team .container { padding: 0 60px; max-width: 1200px; }
  .ab_team__card {
    max-width: 1080px;
    width: 1080px;
    min-height: 628px;
    padding: 60px 60px;
  }
  .ab_team__tabs {
    gap: 11px;
    padding: 0 0 24px;
    flex-wrap: wrap;
  }
  .ab_team__tabs button {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    gap: 10px;
  }
  .ab_team__tabs button.is-active i {
    width: 7px;
    height: 7px;
  }
  .ab_team__sep {
    font-size: 28px;
    letter-spacing: 0.02em;
  }
  /* Body: 3 cols. Text 319 | photo 336 | person info+pager 359 */
  .ab_team__body {
    grid-template-columns: minmax(0, 319fr) minmax(0, 695fr);
    padding-top: 70px;
    row-gap: 0;
  }
  .ab_team__slider-wrap { width: 100%; }
  .ab_team__text {
    padding-right: 0;
  }
  .ab_team__title {
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 0 15px;
  }
  .ab_team__subtitle {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 0 20px;
  }
  .ab_team__langs {
    font-size: 20px;
    line-height: 120%;
    margin: 0 0 auto;
  }
  .ab_team__desc {
    font-size: 16px;
    line-height: 130%;
    margin: 20px 0 0;
    max-width: 320px;
  }
  /* Slider: photo 336×404 | person info col 329 with 30 gap */
  .ab_team__swiper .swiper-slide {
    grid-template-columns: 336px minmax(0, 1fr);
    column-gap: 30px;
    row-gap: 0;
  }
  .ab_team__photo {
    width: 336px;
    height: 404px;
    aspect-ratio: auto;
    max-height: none;
  }
  .ab_team__photo--empty::before {
    font-size: 16px;
  }
  /* Person info: positioned via top-padding (Figma y=247 in slide for name) */
  .ab_team__person {
    padding-top: 247px;
  }
  .ab_team__person h4 {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 0 10px;
  }
  .ab_team__person-role {
    font-size: 16px;
    line-height: 130%;
    margin: 0 0 30px;
  }
  .ab_team__person-langs {
    font-size: 20px;
    line-height: 120%;
  }
  /* Pager top of right column */
  .ab_team__pager {
    top: 0;
    width: 360px;
    max-width: 360px;
  }
  .ab_team__pager-line { margin-bottom: 16px; }
  .ab_team__pager-num {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
  }
  .ab_team__pager-num i { font-size: 28px; }
  .ab_team__nav { gap: 20px; }
  .ab_team__nav-btn { width: 18px; height: 18px; }
  .ab_team__nav-btn::after { width: 14px; height: 8px; }

  /* ---------- 7. REVIEWS — 3 cards 346×408, gap 20 ---------- */
  .ab_reviews { padding: 80px 0; }
  .ab_reviews .container { padding: 0 60px; max-width: 1200px; }
  .ab_reviews__head {
    margin-bottom: 40px;
    max-width: 904px;
  }
  .ab_reviews__title {
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 0.02em;
    text-transform: none;
    font-weight: 400;
    margin-bottom: 25px;
  }
  .ab_reviews__lead {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin-bottom: 16px;
    max-width: 700px;
  }
  .ab_reviews__lead2 {
    font-size: 16px;
    line-height: 130%;
    max-width: 700px;
  }
  .ab_reviews__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
  }
  .ab_review {
    padding: 20px;
    min-height: 408px;
  }
  .ab_review__head {
    gap: 16px;
    margin-bottom: 16px;
  }
  .ab_review__avatar {
    width: 73px;
    height: 75px;
  }
  .ab_review__name-block { gap: 8px; }
  .ab_review__name {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
  }
  .ab_review__age {
    font-size: 16px;
    line-height: 130%;
  }
  .ab_review__req {
    font-size: 20px;
    line-height: 120%;
    margin: 0 0 12px;
    max-width: 290px;
  }
  .ab_review__text {
    font-size: 16px;
    line-height: 130%;
    max-width: 308px;
  }
  .ab_review__date {
    font-size: 20px;
    line-height: 130%;
    margin-top: 16px;
  }
  /* "Больше отзывов" — 1080×60 */
  .ab_reviews__more {
    width: 100%;
    max-width: 1080px;
    height: 60px;
    margin: 0 auto 30px;
    font-size: 16px;
    letter-spacing: 0.05em;
  }
  .ab_reviews__partners {
    padding: 30px 0;
  }
  .ab_partner {
    font-size: 50px;
    line-height: 110%;
    padding: 0 16px;
  }

  /* ---------- 8. CTA — card 843×589 centered ---------- */
  .ab_cta { padding: 80px 0; }
  .ab_cta .container { padding: 0 60px; max-width: 1200px; }
  .ab_cta__card {
    padding: 80px 30px 80px;
    max-width: 843px;
    min-height: 589px;
  }
  .ab_cta__title {
    font-size: 50px;
    line-height: 110%;
    letter-spacing: 0.02em;
    text-transform: none;
    font-weight: 400;
    margin-bottom: 20px;
  }
  .ab_cta__sub {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin-bottom: 12px;
    max-width: 600px;
  }
  .ab_cta__tagline {
    font-size: 16px;
    line-height: 130%;
    margin-bottom: 90px;
    max-width: 460px;
  }
  .ab_cta__btn {
    max-width: 437px;
    height: 50px;
    font-size: 16px;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
  }
  .ab_cta__micro {
    font-size: 16px;
    line-height: 130%;
  }
}

/* =========================================================
   ADAPTIVE — 768px (Figma 768_About: 768x5219)
   Pixel-perfect to Figma. Container padding 30px (asymmetric in Figma — left 47).
   Section titles 35px Felidae, sub 20px Felidae, body 14px Inter.
   ========================================================= */
@media (max-width: 991px) {

  /* ---------- CONTAINER & WRAPPER RAILS ---------- */
  .big_block_home--about > .container { padding: 0 30px; max-width: 768px; }
  body:has(.big_block_home--about) .wrapper::before { left: 30px; }
  body:has(.big_block_home--about) .wrapper::after { right: 30px; }

  /* ---------- HEADER — collapse to mobile style at 768 (burger + logo + consultation) ---------- */
  .big_block_home--about header .about_block .top_header_group .menu ul { display: none !important; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .phone_number { display: none !important; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .lang-dropdown { display: none !important; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .whatsapp { display: none !important; }
  .big_block_home--about header .about_block .top_header_group .menu_burger { display: flex !important; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .consultation { font-size: 12px; padding: 6px 14px; }
  .big_block_home--about header .about_block .bottom_header { display: none !important; }

  /* ---------- 1. HERO — 2 cells 345×347 each side-by-side ---------- */
  .ab_hero { padding: 38px 0 0; }
  .ab_hero__grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 1px;
    justify-content: center;
  }
  .ab_hero__main {
    width: 100%;
    height: 347px;
  }
  .ab_hero__main-overlay {
    left: 12px;
    top: 44px;
    width: 322px;
    height: 260px;
  }
  /* Breadcrumbs centered, y=75 from cell top per Figma (127-52=75) */
  .ab_hero__breadcrumbs {
    top: 75px;
    left: 20px;
    width: calc(100% - 40px);
    font-size: 12px;
    gap: 5px;
  }
  /* Main text: y=101 from cell top (153-52=101), width 304 */
  .ab_hero__main-text {
    top: 101px;
    left: 20px;
    width: calc(100% - 40px);
    gap: 14px;
  }
  .ab_hero__title {
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 0.02em;
  }
  .ab_hero__subtitle {
    font-size: 14px;
    line-height: 130%;
  }
  .ab_hero__scroll {
    bottom: 18px;
    font-size: 10px;
    gap: 6px;
  }
  .ab_hero__scroll i { width: 18px; height: 6px; }

  /* RIGHT cell — founders. Padding-top 30, name → 12 → photo 127×132 → 12 → desc */
  .ab_hero__founders {
    width: 100%;
    height: 347px;
    padding: 30px 26px 0;
  }
  .ab_hero__founders-name {
    font-size: 20px;
    line-height: 110%;
    margin: 0 0 12px;
    max-width: 200px;
  }
  .ab_hero__founders-photo {
    width: 127px;
    height: 132px;
  }
  .ab_hero__founders-desc {
    font-size: 14px;
    line-height: 130%;
    margin: 12px 0 0;
    max-width: 280px;
  }

  /* ---------- 2. STATS — 3 cols full width ---------- */
  .ab_hero__stats {
    padding: 22px 0;
    grid-template-columns: repeat(3, 1fr);
  }
  .ab_hero__stat {
    padding: 0 12px;
    gap: 60px;
    min-height: 140px;
    flex-direction: column;
  }
  .ab_hero__stat b { font-size: 35px; line-height: 110%; gap: 4px; }
  .ab_hero__stat b i { font-size: 35px; }
  .ab_hero__stat b em { font-size: 32px; }
  .ab_hero__stat span { font-size: 14px; line-height: 130%; }

  /* ---------- 3. HISTORY ---------- */
  .ab_history { padding: 50px 0 0; }
  .ab_history .container { padding: 0 30px; max-width: 768px; }
  .ab_history__title {
    font-size: 35px;
    line-height: 110%;
    margin: 0 auto 30px;
    max-width: 700px;
  }
  .ab_history__title em { font-size: 32px; }
  /* Figma grid: row 1 [text 211 | photo 435×246], row 2 [photo 220×246 | text 387] */
  .ab_history__grid {
    grid-template-columns: 245fr 463fr;
    grid-template-rows: 246px 246px;
  }
  .ab_history__cell--text {
    padding: 16px 12px;
    gap: 10px;
  }
  .ab_history__cell--text h3 {
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em;
    max-width: 400px;
  }
  .ab_history__cell--text p {
    font-size: 14px;
    line-height: 130%;
    max-width: 400px;
  }
  .ab_history__grid > .ab_history__cell--text:nth-child(1) h3,
  .ab_history__grid > .ab_history__cell--text:nth-child(1) p {
    max-width: 211px;
  }

  /* ---------- 4. DIRECTIONS — 32px title (different from sections!) ---------- */
  .ab_directions { padding: 50px 0 0; }
  .ab_directions .container { padding: 0 30px; max-width: 768px; }
  .ab_directions__head { margin-bottom: 26px; }
  .ab_directions__title {
    font-size: 32px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 auto 12px;
    max-width: 600px;
  }
  .ab_directions__lead {
    font-size: 14px;
    line-height: 130%;
  }
  .ab_directions__grid {
    grid-template-columns: 458fr 250fr;
    gap: 22px;
  }
  .ab_directions__photo {
    min-height: 370px;
    padding: 0;
    align-self: stretch;
  }
  .ab_directions__right {
    padding-right: 0;
    justify-content: flex-start;
  }
  .ab_directions__list > li {
    padding: 18px 0;
  }
  .ab_directions__list h4 {
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em;
  }
  .ab_directions__outro {
    font-size: 14px;
    line-height: 130%;
    margin: 18px 0 0;
  }

  /* ---------- 5. AWARDS — 3 cols × 3 rows, ~165px each ---------- */
  .ab_awards { padding: 50px 0 0; }
  .ab_awards .container { padding: 0 30px; max-width: 768px; }
  .ab_awards__head { margin-bottom: 30px; }
  .ab_awards__title {
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 auto 14px;
    max-width: 661px;
  }
  .ab_awards__lead {
    font-size: 14px;
    line-height: 130%;
    max-width: 495px;
  }
  .ab_awards__grid {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 165px 165px 165px;
  }
  .ab_awards__cell--text {
    padding: 16px 12px;
  }
  .ab_awards__cell--text h4 {
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em;
    color: #A6A6A6;
  }
  .ab_awards__nav {
    width: 22px;
    height: 22px;
    right: 10px;
    bottom: 10px;
    background-size: 11px 11px;
  }

  /* ---------- 6. TEAM EXPERTS — card 690×400 ---------- */
  .ab_team { padding: 40px 0; }
  .ab_team .container { padding: 0 30px; max-width: 768px; }
  .ab_team__card {
    max-width: 690px;
    width: 100%;
    min-height: 400px;
    padding: 30px 20px;
  }
  .ab_team__tabs {
    gap: 8px;
    padding: 0 0 16px;
    flex-wrap: nowrap;
    overflow-x: auto;
  }
  .ab_team__tabs button {
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em;
    gap: 6px;
    white-space: nowrap;
  }
  .ab_team__tabs button.is-active i {
    width: 5px;
    height: 5px;
  }
  .ab_team__tabs button:not(.is-active) { color: #A6A6A6; }
  .ab_team__sep {
    font-size: 18px;
    color: #A6A6A6;
  }
  /* Body: 3 cols. Text 204 | photo 215 | person info 168 */
  .ab_team__body {
    grid-template-columns: minmax(0, 204fr) minmax(0, 446fr);
    padding-top: 30px;
    row-gap: 0;
  }
  .ab_team__slider-wrap { width: 100%; }
  .ab_team__text {
    padding-right: 0;
  }
  .ab_team__title {
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 0 8px;
  }
  .ab_team__subtitle {
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 0 12px;
  }
  .ab_team__langs {
    font-size: 14px;
    line-height: 130%;
    margin: 0 0 auto;
  }
  .ab_team__desc {
    font-size: 14px;
    line-height: 130%;
    margin: 12px 0 0;
    max-width: 204px;
  }
  /* Slider: photo 215×258 | person info col with 30 gap */
  .ab_team__swiper .swiper-slide {
    grid-template-columns: 215px minmax(0, 1fr);
    column-gap: 19px;
    row-gap: 0;
  }
  .ab_team__photo {
    width: 215px;
    height: 258px;
    aspect-ratio: auto;
    max-height: none;
  }
  .ab_team__photo--empty::before {
    font-size: 14px;
  }
  /* Person info: positioned via top-padding (Figma y=153 in slide for name) */
  .ab_team__person {
    padding-top: 153px;
  }
  .ab_team__person h4 {
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 0 8px;
  }
  .ab_team__person-role {
    font-size: 14px;
    line-height: 130%;
    margin: 0 0 22px;
  }
  .ab_team__person-langs {
    font-size: 14px;
    line-height: 130%;
  }
  /* Pager top of right column */
  .ab_team__pager {
    top: 0;
    width: 100%;
    max-width: 220px;
  }
  .ab_team__pager-line { margin-bottom: 10px; }
  .ab_team__pager-num {
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em;
    color: #A6A6A6;
  }
  .ab_team__pager-num i { font-size: 20px; color: #A6A6A6; }
  .ab_team__nav { gap: 14px; }
  .ab_team__nav-btn { width: 14px; height: 14px; }
  .ab_team__nav-btn::after { width: 11px; height: 6px; }

  /* ---------- 7. REVIEWS — 3 cards ~210×279 ---------- */
  .ab_reviews { padding: 50px 0; }
  .ab_reviews .container { padding: 0 30px; max-width: 768px; }
  .ab_reviews__head {
    margin-bottom: 24px;
    max-width: 623px;
  }
  .ab_reviews__title {
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 0.02em;
    text-transform: none;
    font-weight: 400;
    margin-bottom: 14px;
  }
  .ab_reviews__lead {
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin-bottom: 10px;
    max-width: 521px;
  }
  .ab_reviews__lead2 {
    font-size: 14px;
    line-height: 130%;
    max-width: 521px;
  }
  .ab_reviews__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 20px;
  }
  .ab_review {
    padding: 11px;
    min-height: 279px;
  }
  .ab_review__head {
    gap: 9px;
    margin-bottom: 10px;
  }
  .ab_review__avatar {
    width: 46px;
    height: 48px;
  }
  .ab_review__name-block { gap: 4px; }
  .ab_review__name {
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em;
  }
  .ab_review__age {
    font-size: 12px;
    line-height: 130%;
  }
  .ab_review__req {
    font-size: 14px;
    line-height: 130%;
    margin: 0 0 8px;
    max-width: 200px;
  }
  .ab_review__text {
    font-size: 10px;
    line-height: 130%;
    max-width: 200px;
  }
  .ab_review__date {
    font-size: 14px;
    line-height: 130%;
    color: #A6A6A6;
    margin-top: 10px;
  }
  /* "Больше отзывов" — 685×30 */
  .ab_reviews__more {
    width: 100%;
    max-width: 700px;
    height: 30px;
    margin: 0 auto 20px;
    font-size: 12px;
    letter-spacing: 0.05em;
  }
  .ab_reviews__partners {
    padding: 16px 0;
  }
  .ab_partner {
    font-size: 28px;
    line-height: 110%;
    padding: 0 8px;
  }

  /* ---------- 8. CTA — card 534×373 centered ---------- */
  .ab_cta { padding: 50px 0; }
  .ab_cta .container { padding: 0 30px; max-width: 768px; }
  .ab_cta__card {
    padding: 40px 16px 30px;
    max-width: 534px;
    min-height: 373px;
  }
  .ab_cta__title {
    font-size: 35px;
    line-height: 110%;
    letter-spacing: 0.02em;
    text-transform: none;
    font-weight: 400;
    margin-bottom: 14px;
  }
  .ab_cta__sub {
    font-size: 20px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin-bottom: 10px;
    max-width: 459px;
  }
  .ab_cta__tagline {
    font-size: 14px;
    line-height: 130%;
    margin-bottom: 35px;
    max-width: 459px;
  }
  .ab_cta__btn {
    max-width: 325px;
    height: 30px;
    font-size: 10px;
    letter-spacing: 0.05em;
    margin-bottom: 14px;
  }
  .ab_cta__micro {
    font-size: 12px;
    line-height: 130%;
  }
}

/* =========================================================
   ADAPTIVE — 480px and below (Figma 360 frame)
   All sections stack to single column, 16px container padding.
   Section titles 30px Felidae, body 14px Inter.
   ========================================================= */
@media (max-width: 480px) {

  /* ---------- CONTAINER & WRAPPER RAILS ---------- */
  .big_block_home--about > .container { padding: 0 16px; max-width: 100%; }
  body:has(.big_block_home--about) .wrapper::before { left: 16px; }
  body:has(.big_block_home--about) .wrapper::after { right: 16px; }

  /* ---------- HEADER — mobile compact ---------- */
  .big_block_home--about header .about_block .top_header_group {
    padding: 12px 0;
  }
  .big_block_home--about header .about_block .top_header_group .menu ul { display: none !important; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .phone_number { display: none !important; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .lang-dropdown { display: none !important; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .whatsapp { display: none !important; }
  .big_block_home--about header .about_block .top_header_group .menu_burger { display: flex !important; }
  .big_block_home--about header .about_block .top_header_group .right_contacts .consultation { font-size: 10px; padding: 6px 10px; }
  .big_block_home--about header .about_block .top_header_group .logo img { width: 95px; height: auto; }
  .big_block_home--about header .about_block .bottom_header { display: none !important; }

  /* ---------- 1. HERO — stacked: mountain photo on top, founders panel below ---------- */
  .ab_hero { padding: 16px 0 0; }
  .ab_hero__grid {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 0;
  }
  .ab_hero__main {
    width: 100%;
    height: 380px;
  }
  .ab_hero__main-overlay {
    left: 12px;
    top: 60px;
    width: calc(100% - 24px);
    height: 240px;
  }
  .ab_hero__breadcrumbs {
    top: 24px;
    left: 16px;
    width: calc(100% - 32px);
    font-size: 11px;
    gap: 4px;
    justify-content: center;
  }
  .ab_hero__main-text {
    top: 80px;
    left: 16px;
    width: calc(100% - 32px);
    gap: 16px;
  }
  /* Figma 1:683 hero title: 2 sizes — pre 22h (font ~18-20), main 66h
     (font ~28-30, 2 lines). Stack as flex column. */
  .ab_hero__title {
    display: flex;
    flex-direction: column;
    gap: 10px;
    line-height: 110%;
    letter-spacing: 0.02em;
    text-align: center;
  }
  .ab_hero__title-pre {
    font-size: 18px;
    line-height: 110%;
    letter-spacing: 0.02em;
    text-transform: none;
  }
  .ab_hero__title-main {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }
  .ab_hero__subtitle {
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-size: 13px;
    line-height: 130%;
    letter-spacing: 0;
    text-transform: none;
  }
  .ab_hero__scroll {
    bottom: 16px;
    font-size: 9px;
    gap: 5px;
  }
  .ab_hero__scroll i { width: 16px; height: 5px; }

  /* Right cell — founders below mountain */
  .ab_hero__founders {
    width: 100%;
    height: auto;
    padding: 36px 24px 36px;
  }
  .ab_hero__founders-name {
    font-size: 24px;
    line-height: 110%;
    margin: 0 0 18px;
    max-width: none;
  }
  /* Figma 1:683 founders photo: 173×180 — slightly portrait, centered */
  .ab_hero__founders-photo {
    width: 173px;
    height: 180px;
  }
  .ab_hero__founders-desc {
    font-size: 13px;
    line-height: 130%;
    margin: 18px 0 0;
    max-width: 100%;
  }

  /* ---------- 2. STATS — 1 column stacked with horizontal separators ---------- */
  .ab_hero__stats {
    grid-template-columns: 1fr;
    padding: 0;
    border-top: 1.6px solid #E1E1E1;
    border-bottom: 1.6px solid #E1E1E1;
  }
  .ab_hero__stat {
    padding: 22px 16px;
    flex-direction: column;
    gap: 12px;
    min-height: auto;
    border-right: 0;
    border-bottom: 1.6px solid #E1E1E1;
    align-items: center;
    text-align: center;
  }
  .ab_hero__stat:last-child { border-bottom: 0; }
  .ab_hero__stat b {
    font-size: 36px;
    line-height: 110%;
    gap: 4px;
    justify-content: center;
  }
  .ab_hero__stat b i { font-size: 36px; }
  .ab_hero__stat b em { font-size: 32px; }
  .ab_hero__stat span {
    font-size: 13px;
    line-height: 130%;
    text-align: center;
    max-width: 220px;
  }

  /* ---------- 3. HISTORY — stacked: title, cell text, photo, cell text, photo ---------- */
  .ab_history { padding: 36px 0 0; }
  .ab_history .container { padding: 0 16px; max-width: 100%; }
  .ab_history__title {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 auto 24px;
    max-width: 100%;
    text-align: center;
  }
  .ab_history__title em { font-size: 26px; }
  .ab_history__grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 0;
    border: 0;
  }
  .ab_history__cell {
    border-right: 0;
    border-bottom: 1.6px solid #E1E1E1;
  }
  .ab_history__cell:last-child { border-bottom: 0; }
  .ab_history__cell--text {
    padding: 24px 16px;
    gap: 12px;
    text-align: center;
  }
  .ab_history__cell--text h3 {
    font-size: 18px;
    line-height: 110%;
    letter-spacing: 0.02em;
    max-width: 100%;
  }
  .ab_history__cell--text p {
    font-size: 13px;
    line-height: 130%;
    max-width: 100%;
  }
  .ab_history__grid > .ab_history__cell--text:nth-child(1) h3,
  .ab_history__grid > .ab_history__cell--text:nth-child(1) p {
    max-width: 100%;
  }
  .ab_history__cell--photo {
    height: 240px;
    min-height: 240px;
  }
  .ab_history__cell--photo-narrow { height: 240px; }

  /* ---------- 4. TEAM EXPERTS — stacked card ---------- */
  .ab_team { padding: 32px 0; }
  .ab_team .container { padding: 0 16px; max-width: 100%; }
  .ab_team__card {
    max-width: 100%;
    width: 100%;
    min-height: auto;
    padding: 24px 16px;
  }
  .ab_team__tabs {
    gap: 6px;
    padding: 0 0 14px;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .ab_team__tabs::-webkit-scrollbar { display: none; }
  .ab_team__tabs button {
    font-size: 16px;
    line-height: 110%;
    letter-spacing: 0.02em;
    gap: 5px;
    white-space: nowrap;
  }
  .ab_team__tabs button.is-active i {
    width: 4px;
    height: 4px;
  }
  .ab_team__sep {
    font-size: 14px;
    color: #A6A6A6;
  }
  /* Body: stack everything in single column. minmax(0, 1fr) prevents
     the swiper's intrinsic content width from blowing up the column. */
  .ab_team__body {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 24px;
    row-gap: 20px;
    column-gap: 0;
  }
  .ab_team__slider-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }
  .ab_team__swiper { width: 100%; max-width: 100%; }
  .ab_team__text {
    padding-right: 0;
    text-align: center;
    align-items: center;
  }
  .ab_team__title {
    font-size: 30px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 0 8px;
  }
  .ab_team__subtitle {
    font-size: 18px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 0 14px;
  }
  .ab_team__langs {
    font-size: 14px;
    line-height: 130%;
    margin: 0 0 12px;
    text-align: center;
  }
  .ab_team__desc {
    font-size: 13px;
    line-height: 130%;
    margin: 12px 0 0;
    max-width: 100%;
    text-align: center;
  }
  /* Slider: photo full width, person info below */
  .ab_team__swiper .swiper-slide {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 16px;
  }
  .ab_team__photo {
    width: 100%;
    height: 360px;
    aspect-ratio: auto;
    max-height: none;
  }
  .ab_team__photo--empty::before {
    font-size: 13px;
  }
  .ab_team__person {
    padding-top: 0;
    padding-left: 0;
    align-items: flex-start;
    text-align: left;
  }
  .ab_team__person h4 {
    font-size: 22px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 0 6px;
  }
  .ab_team__person-role {
    font-size: 13px;
    line-height: 130%;
    margin: 0 0 16px;
  }
  .ab_team__person-langs {
    font-size: 14px;
    line-height: 130%;
  }
  /* Pager — full width below person info */
  .ab_team__pager {
    top: auto;
    width: 100%;
    max-width: 100%;
    position: static;
    margin-top: 16px;
  }
  .ab_team__pager-line { margin-bottom: 10px; }
  .ab_team__pager-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .ab_team__pager-num {
    font-size: 18px;
    line-height: 110%;
    letter-spacing: 0.02em;
    color: #A6A6A6;
  }
  .ab_team__pager-num i { font-size: 18px; color: #A6A6A6; }
  .ab_team__nav { gap: 12px; }
  .ab_team__nav-btn { width: 16px; height: 16px; }
  .ab_team__nav-btn::after { width: 12px; height: 6px; }

  /* ---------- 5. AWARDS — stacked single column ---------- */
  .ab_awards { padding: 36px 0 0; }
  .ab_awards .container { padding: 0 16px; max-width: 100%; }
  .ab_awards__head { margin-bottom: 24px; }
  .ab_awards__title {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 auto 14px;
    max-width: 100%;
  }
  .ab_awards__lead {
    font-size: 13px;
    line-height: 130%;
    max-width: 100%;
  }
  .ab_awards__grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    border-top: 1.6px solid #E1E1E1;
  }
  .ab_awards__cell {
    border-right: 0;
    border-bottom: 1.6px solid #E1E1E1;
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 200px;
  }
  .ab_awards__cell:nth-child(3n) { border-right: 0; }
  .ab_awards__grid > .ab_awards__cell:last-child { border-bottom: 0; }
  .ab_awards__cell--big,
  .ab_awards__cell--small {
    min-height: 240px;
  }
  .ab_awards__cell--text {
    padding: 28px 16px;
  }
  .ab_awards__cell--text h4 {
    font-size: 18px;
    line-height: 110%;
    letter-spacing: 0.02em;
    color: #A6A6A6;
  }
  .ab_awards__nav {
    width: 24px;
    height: 24px;
    right: 14px;
    bottom: 14px;
    background-size: 12px 12px;
  }

  /* ---------- 6. DIRECTIONS — stacked photo + list + outro ---------- */
  .ab_directions { padding: 36px 0 0; }
  .ab_directions .container { padding: 0 16px; max-width: 100%; }
  .ab_directions__head { margin-bottom: 22px; }
  .ab_directions__title {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin: 0 auto 10px;
    max-width: 100%;
  }
  .ab_directions__lead {
    font-size: 13px;
    line-height: 130%;
  }
  .ab_directions__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .ab_directions__photo {
    min-height: 240px;
    padding: 0;
    align-self: stretch;
  }
  .ab_directions__right {
    padding-right: 0;
    justify-content: flex-start;
  }
  .ab_directions__list > li {
    padding: 18px 0;
  }
  .ab_directions__list h4 {
    font-size: 18px;
    line-height: 110%;
    letter-spacing: 0.02em;
  }
  .ab_directions__outro {
    font-size: 13px;
    line-height: 130%;
    margin: 18px 0 0;
  }

  /* ---------- 7. REVIEWS — stacked single column ---------- */
  .ab_reviews { padding: 36px 0; }
  .ab_reviews .container { padding: 0 16px; max-width: 100%; }
  .ab_reviews__head {
    margin-bottom: 24px;
    max-width: 100%;
  }
  .ab_reviews__title {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    text-transform: none;
    font-weight: 400;
    margin-bottom: 12px;
  }
  .ab_reviews__lead {
    font-size: 18px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin-bottom: 10px;
    max-width: 100%;
  }
  .ab_reviews__lead2 {
    font-size: 13px;
    line-height: 130%;
    max-width: 100%;
  }
  .ab_reviews__grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 24px;
  }
  .ab_review {
    padding: 16px;
    min-height: auto;
  }
  .ab_review__head {
    gap: 12px;
    margin-bottom: 14px;
  }
  .ab_review__avatar {
    width: 56px;
    height: 60px;
  }
  .ab_review__name-block { gap: 4px; }
  .ab_review__name {
    font-size: 18px;
    line-height: 110%;
    letter-spacing: 0.02em;
  }
  .ab_review__age {
    font-size: 12px;
    line-height: 130%;
  }
  .ab_review__req {
    font-size: 13px;
    line-height: 130%;
    margin: 0 0 10px;
    max-width: 100%;
  }
  .ab_review__text {
    font-size: 12px;
    line-height: 130%;
    max-width: 100%;
  }
  .ab_review__date {
    font-size: 13px;
    line-height: 130%;
    color: #A6A6A6;
    margin-top: 14px;
  }
  .ab_reviews__more {
    width: 100%;
    max-width: 100%;
    height: 44px;
    margin: 0 auto 24px;
    font-size: 11px;
    letter-spacing: 0.05em;
  }
  .ab_reviews__partners {
    grid-template-columns: 1fr 1fr;
    padding: 16px 0;
    gap: 0;
  }
  .ab_partner {
    font-size: 22px;
    line-height: 110%;
    padding: 12px 8px;
  }
  .ab_partner:nth-child(2n) { border-right: 0; }
  .ab_partner:last-child { border-right: 0; }

  /* ---------- 8. CTA — full-width card ---------- */
  .ab_cta { padding: 40px 0; }
  .ab_cta .container { padding: 0 16px; max-width: 100%; }
  .ab_cta__card {
    padding: 36px 16px 28px;
    max-width: 100%;
    min-height: auto;
    margin: 0;
  }
  .ab_cta__title {
    font-size: 28px;
    line-height: 110%;
    letter-spacing: 0.02em;
    text-transform: none;
    font-weight: 400;
    margin-bottom: 14px;
  }
  .ab_cta__sub {
    font-size: 16px;
    line-height: 110%;
    letter-spacing: 0.02em;
    margin-bottom: 12px;
    max-width: 100%;
  }
  .ab_cta__tagline {
    font-size: 13px;
    line-height: 130%;
    margin-bottom: 28px;
    max-width: 100%;
  }
  .ab_cta__btn {
    max-width: 100%;
    height: 44px;
    font-size: 11px;
    letter-spacing: 0.05em;
    margin-bottom: 14px;
  }
  .ab_cta__micro {
    font-size: 11px;
    line-height: 130%;
  }
}

/* =========================================================
   ADAPTIVE — 360px ultra-narrow refinements
   Tighten paddings & fonts for the smallest phones.
   ========================================================= */
@media (max-width: 360px) {
  .big_block_home--about > .container { padding: 0 12px; }
  body:has(.big_block_home--about) .wrapper::before { left: 12px; }
  body:has(.big_block_home--about) .wrapper::after { right: 12px; }

  .ab_hero__main { height: 340px; }
  .ab_hero__main-text { top: 72px; }
  .ab_hero__title { font-size: 28px; }
  .ab_hero__subtitle { font-size: 12px; }

  .ab_hero__founders { padding: 28px 16px 28px; }
  .ab_hero__founders-name { font-size: 22px; }
  .ab_hero__founders-photo { width: 200px; height: 210px; }
  .ab_hero__founders-desc { font-size: 12px; }

  .ab_hero__stat { padding: 18px 12px; }
  .ab_hero__stat b { font-size: 32px; }
  .ab_hero__stat b i { font-size: 32px; }
  .ab_hero__stat b em { font-size: 28px; }
  .ab_hero__stat span { font-size: 12px; }

  .ab_history { padding: 30px 0 0; }
  .ab_history .container { padding: 0 12px; }
  .ab_history__title { font-size: 26px; }
  .ab_history__cell--text { padding: 20px 12px; }
  .ab_history__cell--text h3 { font-size: 17px; }
  .ab_history__cell--text p { font-size: 12px; }
  .ab_history__cell--photo,
  .ab_history__cell--photo-narrow { height: 200px; min-height: 200px; }

  .ab_team { padding: 28px 0; }
  .ab_team .container { padding: 0 12px; }
  .ab_team__card { padding: 20px 12px; }
  .ab_team__tabs button { font-size: 14px; }
  .ab_team__sep { font-size: 13px; }
  .ab_team__title { font-size: 28px; }
  .ab_team__subtitle { font-size: 16px; }
  .ab_team__langs { font-size: 13px; }
  .ab_team__desc { font-size: 12px; }
  .ab_team__photo { height: 320px; }
  .ab_team__person h4 { font-size: 20px; }
  .ab_team__person-role { font-size: 12px; }
  .ab_team__person-langs { font-size: 13px; }
  .ab_team__pager-num { font-size: 16px; }
  .ab_team__pager-num i { font-size: 16px; }

  .ab_awards { padding: 30px 0 0; }
  .ab_awards .container { padding: 0 12px; }
  .ab_awards__title { font-size: 26px; }
  .ab_awards__lead { font-size: 12px; }
  .ab_awards__cell { min-height: 180px; }
  .ab_awards__cell--big,
  .ab_awards__cell--small { min-height: 200px; }
  .ab_awards__cell--text { padding: 22px 12px; }
  .ab_awards__cell--text h4 { font-size: 17px; }

  .ab_directions { padding: 30px 0 0; }
  .ab_directions .container { padding: 0 12px; }
  .ab_directions__title { font-size: 26px; }
  .ab_directions__lead { font-size: 12px; }
  .ab_directions__photo { min-height: 200px; }
  .ab_directions__list > li { padding: 14px 0; }
  .ab_directions__list h4 { font-size: 17px; }
  .ab_directions__outro { font-size: 12px; }

  .ab_reviews { padding: 30px 0; }
  .ab_reviews .container { padding: 0 12px; }
  .ab_reviews__title { font-size: 26px; }
  .ab_reviews__lead { font-size: 16px; }
  .ab_reviews__lead2 { font-size: 12px; }
  .ab_review { padding: 14px; }
  .ab_review__avatar { width: 50px; height: 54px; }
  .ab_review__name { font-size: 17px; }
  .ab_review__req { font-size: 12px; }
  .ab_review__text { font-size: 11px; }
  .ab_partner { font-size: 18px; padding: 10px 6px; }

  .ab_cta { padding: 32px 0; }
  .ab_cta .container { padding: 0 12px; }
  .ab_cta__card { padding: 30px 14px 24px; }
  .ab_cta__title { font-size: 26px; }
  .ab_cta__sub { font-size: 14px; }
  .ab_cta__tagline { font-size: 12px; }
  .ab_cta__btn { font-size: 10px; height: 40px; }
  .ab_cta__micro { font-size: 10px; }
}

/* =========================================================
   PER-VIEWPORT TEXT VARIANTS (Figma 1:683 @360 mobile shorter copy)
   ========================================================= */
/* Default: show desktop variant, hide mobile-only variant. */
.ab_hero__title-pre,
.ab_hero__title-main { display: inline; }
.ab_directions__title-desktop,
.ab_reviews__title-desktop { display: inline; }
.ab_directions__title-mobile,
.ab_reviews__title-mobile { display: none; }
@media (max-width: 480px) {
  /* Mobile variants: shorter Figma 360 copy. */
  .ab_directions__title-desktop,
  .ab_reviews__title-desktop { display: none; }
  .ab_directions__title-mobile,
  .ab_reviews__title-mobile { display: inline; }
}

/* =========================================================
   Enhanced mobile animations — smoother, slightly faster
   ========================================================= */
@media (max-width: 768px) {
  body.js-anim-ready .anim-fade-up,
  body.js-anim-ready .anim-fade-left,
  body.js-anim-ready .anim-fade-right {
    transform: translate3d(0, 28px, 0);
    transition-duration: 0.85s;
  }
  body.js-anim-ready .anim-scale {
    transform: scale(0.97);
    transition-duration: 0.85s;
  }
}

/* ===== Mobile (≤767px): About page tweaks per Figma ===== */
@media (max-width: 767px) {
  /* History title: 30px UPPERCASE Felidae + 20px Felidae sub line per Figma */
  .ab_history__title {
    font-size: 30px !important;
    line-height: 110% !important;
    letter-spacing: 0.02em !important;
    font-family: "Felidae", sans-serif !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: #010101 !important;
  }
  .ab_history__title .title-post {
    display: block;
    font-size: 20px !important;
    line-height: 110% !important;
    letter-spacing: 0.02em !important;
    font-family: "Felidae", sans-serif !important;
    font-weight: 400 !important;
    margin-top: 10px;
    color: #010101 !important;
    text-transform: none !important;
  }
  .ab_history__title .title-post em {
    font-family: "Inter", sans-serif !important;
    font-weight: 200 !important;
    font-style: normal;
  }
  .ab_history__title .nobr {
    white-space: nowrap;
  }
  .ab_history__title .nobr em {
    font-family: "Inter", sans-serif !important;
    font-weight: 200 !important;
    font-style: normal;
  }
  /* h3 "Компания начала работу в 2008 году" — 20px Felidae centered */
  .ab_history__cell--text h3 {
    font-size: 20px !important;
    line-height: 110% !important;
    letter-spacing: 0.02em !important;
    font-family: "Felidae", sans-serif !important;
    font-weight: 400 !important;
    text-align: center !important;
    color: #010101 !important;
    -webkit-text-stroke: 0.2px #010101;
    text-transform: none !important;
  }
  /* Description text — 14px Inter Light centered */
  .ab_history__cell--text p {
    font-size: 14px !important;
    line-height: 130% !important;
    letter-spacing: 0 !important;
    font-family: "Inter", sans-serif !important;
    font-weight: 300 !important;
    color: #3C3C3B !important;
    text-align: center !important;
    max-width: 292px;
    margin: 12px auto 0 !important;
  }
  /* Mobile: full sequence per Figma (text → photo → text → photo → text) */
  .ab_history__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }
  /* All cells visible — no hiding */
  .ab_history__cell--photo-narrow {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .ab_history__cell--photo-narrow img {
    width: 100%;
    height: auto;
    display: block;
  }
  /* Order on mobile per Figma:
     1. team photo (cell 2)
     2. text "Компания начала..." (cell 1)
     3. villa photo (cell 3)
     4. text "В 2014 году..." (cell 4) */
  .ab_history__grid > .ab_history__cell:nth-child(2) { order: 1 !important; }
  .ab_history__grid > .ab_history__cell:nth-child(1) { order: 2 !important; }
  .ab_history__grid > .ab_history__cell:nth-child(3) { order: 3 !important; }
  .ab_history__grid > .ab_history__cell:nth-child(4) { order: 4 !important; }
  /* Mobile-only ellipse separator before p.ab_history__extra (Figma: Ellipse 38 — 5×5 #010101) */
  .ab_history__cell--text p.ab_history__extra {
    position: relative;
    margin-top: 53px !important;
  }
  .ab_history__cell--text p.ab_history__extra::before {
    content: "";
    position: absolute;
    top: -35px;
    left: 50%;
    width: 5px;
    height: 5px;
    margin-left: -2.5px;
    border-radius: 50%;
    background: #010101;
  }
}
