/* ===========================
   Fonts
   =========================== */
@font-face {
    font-family: 'Geometria';
    src: url('fonts/geometria/Geometria.woff2') format('woff2'),
         url('fonts/geometria/Geometria.woff') format('woff'),
         url('fonts/geometria/Geometria.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geometria';
    src: url('fonts/geometria/Geometria-Medium.woff2') format('woff2'),
         url('fonts/geometria/Geometria-Medium.woff') format('woff'),
         url('fonts/geometria/Geometria-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geometria';
    src: url('fonts/geometria/Geometria-Light.woff2') format('woff2'),
         url('fonts/geometria/Geometria-Light.woff') format('woff'),
         url('fonts/geometria/Geometria-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geometria';
    src: url('fonts/geometria/Geometria-Bold.woff2') format('woff2'),
         url('fonts/geometria/Geometria-Bold.woff') format('woff'),
         url('fonts/geometria/Geometria-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geometria';
    src: url('fonts/geometria/Geometria-ExtraBold.woff2') format('woff2'),
         url('fonts/geometria/Geometria-ExtraBold.woff') format('woff'),
         url('fonts/geometria/Geometria-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* ===========================
   Design Tokens
   =========================== */
:root {
  --color-text: #1d1d1d;
  --color-white: #ffffff;
}

/* ===========================
   Reset
   =========================== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-size: 0.875rem;
  background: var(--color-white);
}

img {
  display: block;
}

/* ===========================
   Framework margin override
   Bootstrap / site global rules add margin-bottom to h1-h6 and p.
   Reset it on all our named elements so Figma spacing is preserved.
   =========================== */
.hero__heading,
.hero__tagline,
.hero__text,
.history__heading,
.history__text,
.raskladka__card-title,
.raskladka__card-desc,
.our-path__heading,
.our-path__card-title,
.our-path__plans-title,
.our-path__plans-lead,
.our-path__plans-text,
.team__heading,
.team__intro,
.team__text,
.team__subheading,
.team__fact-text,
.kachestvo__heading,
.kachestvo__text,
.kachestvo__card-author,
.kachestvo__card-text,
.content__heading,
.content__text,
.content__card-season,
.dizayn__heading,
.dizayn__col-text,
.dizayn__creation-heading,
.dizayn__creation-p {
  margin-bottom: 0;
}

.swiper-wrapper {
  will-change: transform;
}

/* ===========================
   Layout
   =========================== */
.container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 15px;
}

.page {
  display: flex;
  flex-direction: column;
  gap: 90px;
  align-items: center;
}

/* ===========================
   Hero — О нас (mobile base)
   =========================== */
.hero {
  background: var(--color-white);
  overflow: hidden;
}

.hero__inner {
  display: block;
  max-width: 1440px !important;
}

.hero__left {
  display: block;
  padding-top: 60px;
}

.hero__heading {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 32px;
  line-height: 1; /* leading-none */
  text-transform: uppercase;
  color: var(--color-text);
}

/* First paragraph (brand tagline) */
.hero__tagline {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 1.2;
  color: var(--color-text);
  /* 132px (tagline top) − 60px (heading top) − 32px × 1 = 40px */
  margin-top: 40px;
}

/* Mobile image between tagline and body texts */
.hero__mobile-main-img {
  position: relative;
  height: 0;
  /* 225px (image top) − 132px (tagline top) − tagline rendered height ≈ 76.8px → 16.2px */
  margin-top: 16px;
  padding-bottom: 114.242424242%; /* 377 / 330 * 100 */
  overflow: hidden;
}

.hero__mobile-main-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Body text group */
.hero__texts {
  margin-top: 25px; /* 627px − (225 + 377)px = 25px */
  margin-bottom: 16px;
}

/* Body text paragraphs */
.hero__text {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 1.2;
  color: var(--color-text);
}

.hero__text + .hero__text {
  margin-top: 20px;
}

/* Bottom full-width image on mobile */
.hero__small-images {
  position: relative;
  height: 0;
  margin-top: 16px;
  padding-bottom: 123.636363636%; /* 408 / 330 * 100 */
  overflow: hidden;
}

.hero__small-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Desktop-only elements hidden on mobile */
.hero__small-img--desktop-only {
  display: none;
}

.hero__right {
  display: none;
}

/* ===========================
   Hero — tablet (≥ 768px)
   =========================== */
@media (min-width: 768px) and (max-width: 1439px) {
  /* flex row with wrap: text+image on row 1, small images full-width on row 2 */
  .hero__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 50px;
  }

  .hero__left {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
  }

  .hero__heading {
    font-size: 36px;
    line-height: 1.2;
  }

  /* Mobile image hidden — hero__right takes over */
  .hero__mobile-main-img {
    display: none;
  }

  .hero__texts {
    margin-bottom: 0;
  }

  /* Main image: stretches to hero__left height */
  .hero__right {
    flex: 1;
    min-width: 0;
    display: block;
    overflow: hidden;
  }

  .hero__right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* Small images: full-width second row, two equal columns */
  .hero__small-images {
    flex: 0 0 100%;
    position: static;
    height: auto;
    padding-bottom: 0;
    overflow: visible;
    margin-top: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .hero__small-img {
    position: static;
    inset: auto;
    width: 100%;
    aspect-ratio: 216 / 268;
    object-fit: cover;
  }

  .hero__small-img--desktop-only {
    display: block;
  }
}

/* ===========================
   Hero — Desktop (≥ 1440px)
   =========================== */
@media (min-width: 1440px) {
  body {
    font-size: 1rem;
  }

  .container {
    padding: 0 20px;
  }

  .page {
    gap: 100px;
  }

  .hero__inner {
    display: flex;
    position: relative;
  }

  .hero__left {
    width: 40.857142857%; /* 572 / 1400 */
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    padding-top: 50px;
    /* reserve space for absolutely positioned small images below text */
    padding-bottom: 268px;
  }

  .hero__heading {
    font-size: 42px;
    line-height: 1.2;
  }

  .hero__tagline {
    /* 149px (text group top) − 60px (heading top) − 42px × 1.2 = 38.6px */
    margin-top: 45px;
  }

  /* Mobile image slot hidden on desktop */
  .hero__mobile-main-img {
    display: none;
  }

  /* Body text group — 20px gap after tagline */
  .hero__texts {
    margin-top: 20px;
    margin-bottom: 16px;
  }

  /* Small images — absolutely positioned at bottom of left column area */
  .hero__small-images {
    position: absolute;
    left: 20px; /* matches container padding */
    bottom: 0;
    height: auto;
    padding-bottom: 0;
    display: flex;
    gap: 20px; /* computed from Figma: 257.05 − 20 − 217 ≈ 20px */
    overflow: visible;
  }

  .hero__small-img {
    position: static;
    inset: auto;
    width: 216px;
    height: 268px;
    flex-shrink: 0;
    object-fit: cover;
  }

  .hero__small-img:nth-child(1) {
    width: 216px;
  }

  .hero__small-img:nth-child(2) {
    width: 216px;
  }

  /* Second small image visible on desktop */
  .hero__small-img--desktop-only {
    display: block;
  }

  /* Right column — main hero image */
  .hero__right {
    display: block;
    width: 40.857142857%; /* 572 / 1400 */
    flex-shrink: 0;
    margin-left: auto;
    align-self: flex-start;
    margin-top: 24px; /* image top: 24px from block top */
    height: 655px;
    overflow: hidden;
  }

  .hero__right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* ===========================
   Раскладка — mobile base
   =========================== */
.raskladka {
  max-width: 1440px;
  width: 100%;
}
.raskladka__grid {
  display: flex;
  flex-direction: column;
}

.raskladka__card {
  position: relative;
  height: 0;
  padding-bottom: 73.0556%; /* 263 / 360 * 100 */
  overflow: hidden;
}

/* О нас: 262px tall on mobile (node 4001:257) */
.raskladka__card:nth-child(1) {
  padding-bottom: 72.7778%; /* 262 / 360 * 100 */
}

.raskladka__card-img {
  position: absolute;
  inset: 0;
}

.raskladka__card-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.raskladka__card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

.raskladka__card-title {
  position: absolute;
  left: 15px;
  top: 10px;
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--color-white);
  white-space: nowrap;
  z-index: 1;
}

.raskladka__card-desc {
  position: absolute;
  left: 15px;
  right: 15px;
  bottom: 15px;
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: var(--color-white);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
  z-index: 1;
}

/* Mobile (touch devices): show overlay + desc on tap */
@media (hover: none) {
  .raskladka__card.is-active .raskladka__card-overlay,
  .raskladka__card.is-active .raskladka__card-desc {
    opacity: 1;
  }
}

/* ===========================
   Раскладка — tablet (≥ 768px)
   =========================== */
@media (min-width: 768px) and (max-width: 1439px) {
  .raskladka__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ===========================
   Раскладка — desktop (≥ 1440px)
   =========================== */
@media (min-width: 1440px) {
  .raskladka__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  /* Desktop column width = 480px; 350 / 480 * 100 = 72.9167% */
  .raskladka__card {
    padding-bottom: 72.9167%;
  }

  /* О нас same height as other cards on desktop */
  .raskladka__card:nth-child(1) {
    padding-bottom: 72.9167%;
  }

  .raskladka__card-title {
    left: 30px;
    top: 25px;
    font-size: 24px;
  }

  /* Description (node 4001:244): top=252px, left=30px (card-relative), w=420px */
  .raskladka__card-desc {
    left: 30px;
    right: auto;
    bottom: auto;
    top: 252px;
    width: 420px;
    font-size: 16px;
  }
}

/* Desktop (pointer devices): show overlay + desc on hover */
@media (hover: hover) {
  .raskladka__card:hover .raskladka__card-overlay,
  .raskladka__card:hover .raskladka__card-desc {
    opacity: 1;
  }
}

/* ===========================
   История — mobile base
   =========================== */
.history {
  width: 100%;
  max-width: 1440px;
  background: var(--color-white);
  overflow: hidden;
  position: relative;
  /* heading top: 1px; right/left padding: 15px; bottom: approx from 655px Figma height */
  padding: 1px 15px 30px;
}

.history__heading {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-text);
}

/* texts container: top 73px, heading bottom at 33px (1+32) → margin = 40px */
.history__texts {
  margin-top: 40px;
}

.history__text {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: var(--color-text);
}

/* image: top 261px in section = 188px from texts-container top, follows text-1 directly */
.history__img-wrap--mobile {
  position: relative;
  height: 0;
  padding-bottom: 73.0303%; /* 241 / 330 * 100 */
  overflow: hidden;
  margin: 25px auto;
}

.history__img-wrap--mobile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.history__img-wrap--desktop {
  display: none;
}

/* ===========================
   История — tablet (≥ 768px)
   =========================== */
@media (min-width: 768px) and (max-width: 1439px) {
  .history {
    display: flex;
    gap: 12px;
    padding: 0;
  }

  /* left column: same percentage as desktop */
  .history__left {
    flex: 0 0 calc(58.33% + 8px);
    padding-left: 15px;
    overflow: hidden;
  }

  .history__heading {
    font-size: 36px;
    line-height: 1.2;
  }

  .history__texts {
    width: auto; /* reset desktop's 572px fixed width */
    margin-top: 46px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .history__text--last {
    margin-top: 0;
  }

  .history__img-wrap--mobile {
    display: none;
  }

  /* image: takes remaining space instead of fixed 572px */
  .history__img-wrap--desktop {
    display: block;
    flex: 1;
    overflow: hidden;
    margin-top: 10px;
    margin-right: 15px;
  }

  .history__img-wrap--desktop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* ===========================
   История — desktop (≥ 1440px)
   =========================== */
@media (min-width: 1440px) {
  /* flex row: left column occupies up to image start, right column is the image */
  .history {
    display: flex;
    padding: 0;
    overflow: hidden;
  }

  /* left column: width = calc(58.33% + 8px) matches Figma image left edge exactly */
  .history__left {
    flex: 0 0 calc(58.33% + 8px);
    padding-left: 20px;
    overflow: hidden;
  }

  .history__heading {
    font-size: 42px;
    line-height: 1.2;
  }

  /* texts at top: 90px in Figma; heading height = 42px × 1.2 = 50.4px → gap = 39.6px */
  .history__texts {
    width: 572px;
    margin-top: 46px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .history__img-wrap--mobile {
    display: none;
  }

  .history__text--last {
    margin-top: 0;
  }

  /* image: flex item, width: 572px matches Figma, fills section height */
  .history__img-wrap--desktop {
    margin-top: 10px;
    display: block;
    flex: 0 0 572px;
    overflow: hidden;
  }

  .history__img-wrap--desktop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* ===========================
   Наш путь — mobile base
   =========================== */
.our-path {
  width: 100%;
  background: #fff;
  overflow: hidden;
}

.our-path-swiper {
  overflow: visible !important;
  margin-bottom: 42px;
}

.our-path__heading {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  text-transform: uppercase;
  color: #1d1d1d;
}

/* slider-wrap: margin-top = image_top(54) − heading_height(20×1.2=24) = 30px */
.our-path__slider-wrap {
  position: relative;
  margin-top: 35px;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
}

/* horizontal timeline line: top = image_height(238) + arrow_height/2(22) = 260px */
.our-path__line {
  position: absolute;
  top: 260px;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 2px;
  background: #1d1d1d;
  z-index: 1;
  pointer-events: none;
}

/* mobile slide width: spacing between card starts in 360px frame = 277px */
.our-path__slide {
  width: 277px !important;
  display: flex;
  flex-direction: column;
  /* padding-left: 7px so image/text sit at 7px from slide edge;
     first slide with slidesOffsetBefore=13 → image at 13+7=20px from section left */
  padding-left: 7px;
}

/* image: 197×238px from Figma */
.our-path__card-img {
  flex-shrink: 0;
  width: 197px;
  height: 238px;
  overflow: hidden;
}

.our-path__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* arrow: 16×44px; margin-left: -7px to offset back to slide left edge (arrow is 7px before image) */
.our-path__card-arrow {
  width: 16px;
  height: 44px;
  margin-left: -7px;
}

.our-path__card-arrow svg {
  display: block;
}

.our-path__card-text {
  width: 240px;
}

/* card title: 20px Medium uppercase, leading-[0] in Figma → set 1.2 for readability */
.our-path__card-title {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1;
  /* text-transform: uppercase; */
  color: #1d1d1d;
}

/* card desc: 12px Regular, gap 15px between paragraphs */
.our-path__card-desc {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
  color: #1d1d1d;
}

.our-path__card-desc p {
  margin: 0;
}

/* countries bullet list: 8×8px rounded square bullets, 5px gap, wrapped */
.our-path__card-desc > ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  column-gap: 20px;
  row-gap: 4px;
  grid-template-columns: repeat(3, min-content);
}

.our-path__card-desc > ul li {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
  color: #1d1d1d;
  white-space: nowrap;
}

.our-path__card-desc > ul li::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #1d1d1d;
  border-radius: 2px;
  flex-shrink: 0;
}

/* ===========================
   Наш путь — планы (mobile)
   =========================== */

/* plans-right (desktop images) hidden on mobile */
.our-path__plans-right {
  display: none;
}

.our-path__plans {
  padding-left: 15px;
  max-width: 1440px !important;
  padding-right: 15px;
}

/* plans title: 20px Medium uppercase (mobile); 24px on desktop */
.our-path__plans-title {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  text-transform: uppercase;
  color: #1d1d1d;
}

/* lead text: top(660) − plans_heading_top(606) − heading_height(24) = 30px margin */
.our-path__plans-lead {
  margin-top: 30px;
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: #1d1d1d;
}

/* plans mobile image: 330×360px; padding-bottom = 360/330*100 */
.our-path__plans-img-mobile {
  margin-top: 21px;
  position: relative;
  height: 0;
  padding-bottom: 109.0909090909%;
  overflow: hidden;
}

.our-path__plans-img-mobile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* plans texts: margin from image_bottom(1132) to text2_top(1157) = 25px */
.our-path__plans-text {
  margin-top: 22px;
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.2;
  color: #1d1d1d;
}

/* text3 margin: top-to-top(1204−1157=47) − text2_height(~17px) ≈ 30px */
.our-path__plans-text + .our-path__plans-text {
  margin-top: 12px;
}

/* ===========================
   Наш путь — планы tablet (≥ 768px)
   =========================== */
@media (min-width: 768px) and (max-width: 1439px) {
  /* flex row: text left, images right */
  .our-path__plans {
    display: flex;
    align-items: flex-start;
    gap: 20px;
  }

  .our-path__plans-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .our-path__plans-title {
    font-size: 24px;
  }

  .our-path__plans-lead {
    margin-top: -5px;
    font-size: 14px;
  }

  /* hide mobile image — desktop images take over */
  .our-path__plans-img-mobile {
    display: none;
  }

  .our-path__plans-text {
    margin-top: 0;
  }

  .our-path__plans-text + .our-path__plans-text {
    margin-top: 0;
  }

  /* show desktop images, scale proportionally instead of fixed 334×364px */
  .our-path__plans-right {
    display: flex;
    flex: 1;
    gap: 12px;
  }

  .our-path__plans-img-wrap {
    flex: 1;
    aspect-ratio: 334 / 364;
    overflow: hidden;
  }

  .our-path__plans-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* ===========================
   Наш путь — desktop (≥ 1440px)
   =========================== */
@media (min-width: 1440px) {
  /* fixed-height section matching Figma 1040 frame */
  .our-path {
    position: relative;
    overflow: hidden;
  }

  .our-path__heading {
    max-width: 1440px !important;
    font-size: 24px;
  }

  /* slider-wrap: absolute top=79px; bottom=365px (=1038−673) to stop at plans */
  .our-path__slider-wrap {
    min-height: auto;
    margin-top: 55px;
    padding: 0 20px;
  }

  /* desktop slide width: 345px (spacing between card starts: 365−20=345px) */
  .our-path__slide {
    width: 345px !important;
  }

  /* desktop card text width: 285px */
  .our-path__card-text {
    width: 285px !important;
  }

  /* plans: absolute at top=673px (images top); flex row */
  .our-path__plans {
    margin-top: 128px;
    display: flex;
    align-items: flex-start;
  }

  /* plans-left: calc(50%+10px) = 730px; padding-top=19px (text at 692, images at 673: 692−673=19) */
  .our-path__plans-left {
    max-width: 500px;
    padding-left: 5px;
    padding-top: 14px;
    display: flex;
    flex-direction: column;
    margin-right: auto;
    gap: 10px;
  }

  .our-path__plans-title {
    font-size: 24px;
  }

  /* lead text: 14px on desktop (same size as desc texts) */
  .our-path__plans-lead {
    margin-top: -5px;
    font-size: 14px;
  }

  /* mobile-only image hidden on desktop */
  .our-path__plans-img-mobile {
    display: none;
  }

  /* reset mobile margins so flex gap handles spacing */
  .our-path__plans-text {
    margin-top: 0;
  }

  .our-path__plans-text + .our-path__plans-text {
    margin-top: 0;
  }

  /* plans-right: two images 334×364px with 20px gap */
  .our-path__plans-right {
    display: flex;
    flex: 0 0 calc(50% - 10px);
    gap: 20px;
  }

  /* each image container: 334×364px from Figma */
  .our-path__plans-img-wrap {
    flex: 0 0 334px;
    height: 364px;
    overflow: hidden;
  }

  .our-path__plans-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* ===========================
   Команда — mobile base
   =========================== */
.team {
  width: 100%;
  max-width: 1440px;
  display: flex;
  flex-direction: column;
  padding: 1px 15px 1px;
}

.team__heading {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  text-transform: uppercase;
  color: #1d1d1d;
}

/* para1 top:73 − heading bottom (1+32) = 40px */
.team__intro {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: #1d1d1d;
  margin-top: 40px;
}

/* gallery top:166 − para1 bottom ≈ 35px */
.team__gallery-wrap {
  padding-top: 10px;
  position: relative;
  aspect-ratio: 330 / 263;
  overflow: hidden;
  margin-top: 21px;
}

.team-gallery-swiper {
  width: 100%;
  height: 100%;
}

.team-gallery-swiper .swiper-wrapper {
  height: 100%;
}

.team-gallery-swiper .swiper-slide {
  height: 100%;
}

.team-gallery-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* pagination: white 20×2px dashes, bottom:7px (top:422; gallery bottom=429; 429−422=7px from bottom) */
.team__gallery-pagination {
  position: absolute;
  bottom: 6px !important;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 10px;
  z-index: 10;
}

.team__gallery-pagination .swiper-pagination-bullet {
  width: 20px;
  height: 2px;
  border-radius: 0;
  background: #ffffff;
  opacity: 0.5;
  margin: 0 !important;
}

.team__gallery-pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

/* prev/next arrows: vertically centered on image */
.team__gallery-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 10;
  line-height: 0;
  color: #ffffff;
}

/* left arrow: left:25 in section − 15px padding = 10px from container left */
.team__gallery-btn--prev {
  left: 10px;
  transform: translateY(-50%) scaleX(-1);
}

/* right arrow: left:calc(75%+50px) in section ≈ right:25px from container right edge */
.team__gallery-btn--next {
  right: 10px;
}

.team__gallery-btn svg {
  display: block;
}

/* para2 top:454 − gallery bottom (166+263=429) = 25px */
.team__text {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: #1d1d1d;
  margin-top: 20px;
}

/* subheading: Geometria Medium 20px uppercase; margin derived from positions */
.team__subheading {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  text-transform: uppercase;
  color: #1d1d1d;
  margin-top: 25px; /* 581 − (454 + ~88px para2 height) ≈ 39px */
}

/* facts: card1 top:644, subheading (581) + 24px height + margin = 644 → margin-top:39px */
.team__facts {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  gap: 20px;
}

.team__fact {
  padding: 19px;
  border: 1px solid #5d5d5d;
  background: #ffffff;
  transition: background 0.3s, border-color 0.3s;
}

.team__fact-text {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: #1d1d1d;
  transition: color 0.3s;
}

.team__fact-text strong {
  font-weight: 700;
}

@media (hover: hover) {
  .team__fact:hover {
    background: #5d5d5d;
    border-color: #5d5d5d;
  }

  .team__fact:hover .team__fact-text {
    color: #ffffff;
  }
}

/* ===========================
   Команда — desktop (≥ 1440px)
   =========================== */
@media (min-width: 1440px) {
  .team {
    display: grid;
    /* col1=gallery 572px; gap=137px (729−20−572=137); col2=remaining 691px */
    grid-template-columns: 572px 1fr;
    column-gap: 137px;
    padding: 1px 20px;
    overflow: hidden;
  }

  .team__heading {
    grid-column: 2;
    grid-row: 1;
    font-size: 42px;
    line-height: 1.2;
  }

  /* para1: top:70, heading bottom ≈ 1+50.4=51.4 → margin-top ≈ 19px */
  .team__intro {
    grid-column: 2;
    grid-row: 2;
    margin-top: 20px;
    font-size: 16px;
  }

  .team__gallery-wrap {
    grid-column: 1;
    grid-row: 1 / span 5;
    padding-bottom: 0;
    height: 457px;
    margin-top: 0;
  }

  /* para2 gap:20 from para1 */
  .team__text {
    grid-column: 2;
    grid-row: 3;
    margin-top: 5px;
  }

  /* subheading top:209; texts block (top:70, h≈139) → subheading immediately follows */
  .team__subheading {
    grid-column: 2;
    grid-row: 4;
    font-size: 15px;
    margin-top: 30px;
  }

  /* cards row1 top:239; subheading bottom ≈ 227 → margin-top:12px */
  .team__facts {
    grid-column: 2;
    grid-row: 5;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 15px;
  }
  
  .team__fact {
    padding: 12px 14px;
  }

  .team__fact-text {
    font-size: 14px;
  }

  /* row 1: cards 1–3 each 217×108px */
  .team__fact:nth-child(-n+3) {
    width: 217px;
  }

  /* row 2: cards 4–5 each 335×91px */
  .team__fact:nth-child(n+4) {
    width: 335px;
  }

  /* right arrow: left:calc(33.33%+82px)=562px; gallery left:20 → 30px from gallery right edge */
  .team__gallery-btn--next {
    right: 30px;
  }

  /* left arrow: left:30 in section; gallery left:20 → 10px from gallery left edge */
  .team__gallery-btn--prev {
    left: 10px;
  }
}

/* ===========================
   Качество — mobile base
   =========================== */
.kachestvo {
  width: 100%;
  max-width: 1440px;
  padding: 1px 15px 0;
  overflow: hidden;
}

.kachestvo__top {
  display: flex;
  flex-direction: column;
}

.kachestvo__top-left {
  display: flex;
  flex-direction: column;
}

.kachestvo__heading {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-text);
}

/* text-block (innovations): heading bottom = 1+32 = 33px; text top = 73px → margin = 40px */
.kachestvo__text-block {
  margin-top: 40px;
}

.kachestvo__text {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: var(--color-text);
}

/* text--check (каждая деталь): text-block bottom ≈ 73+96=169px; top=237px → margin=68px */
.kachestvo__text--check {
  margin-top: 10px;
}

/* mobile factory image: text--check bottom ≈ 275px; image top=330px → margin=55px */
.kachestvo__factory-img--mobile {
  position: relative;
  height: 0;
  padding-bottom: 67.0%; /* 221/330 × 100 */
  overflow: hidden;
  margin-top: 20px;
}

.kachestvo__factory-img--mobile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* desktop factory image hidden on mobile */
.kachestvo__factory-img--desktop {
  display: none;
}

/* top-mid (water protection): factory-img bottom=551px; text2 top=576px → margin=25px */
.kachestvo__top-mid {
  margin-top: 20px;
}

/* top-right (certs): text2 bottom ≈ 691px; certs top=783px → margin=92px */
.kachestvo__top-right {
  display: flex;
  flex-direction: row;
  gap: 10px;
  margin-top: 20px;
}

/* cert images: height=227px in 330px container → 227/330 × 100 = 68.788%
   (padding-bottom % is relative to flex container width, not item width) */
.kachestvo__cert {
  flex: 1;
  position: relative;
  height: 0;
  padding-bottom: 68.788%; /* 227/330 × 100 */
  overflow: hidden;
  border: 1px solid var(--color-text);
}

.kachestvo__cert img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* bottom section: certs bottom=1010px; factory-text top=1035px → margin=25px */
.kachestvo__bottom {
  margin-top: 20px;
}

/* reviews: factory-text bottom ≈ 1092px; reviews top=1147px → margin≈55px */
.kachestvo__reviews {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  gap: 20px;
}

.kachestvo__reviews-right {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.kachestvo__card {
  border: 1px solid #5d5d5d;
  background: var(--color-white);
  padding: 10px;
  display: flex;
  flex-direction: column;
}

.kachestvo__card-author {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1;
  color: var(--color-text);
}

/* card-body: author bottom=28px; quote top=45px → margin=17px */
.kachestvo__card-body {
  margin-top: 17px;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  flex-grow: 1;
  justify-content: space-between;
}

.kachestvo__card-quote {
  color: var(--color-text);
  display: block;
  flex-shrink: 0;
}

.kachestvo__card-quote--open {
  transform: rotate(180deg);
  align-self: flex-start;
}

/* card text: quote bottom=60px; text top=68px → margin=8px */
.kachestvo__card-text {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: var(--color-text);
  margin-top: 4px;
  padding-left: 30px;
}

.kachestvo__card-quote--close {
  align-self: flex-end;
  margin-top: 8px;
}

/* ===========================
   Качество — tablet (≥ 768px)
   =========================== */
@media (min-width: 768px) and (max-width: 1439px) {
  /* top: 3 equal flex columns */
  .kachestvo__top {
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
  }

  .kachestvo__top-left {
    flex: 1;
  }

  .kachestvo__heading {
    font-size: 36px;
    line-height: 1.2;
  }

  .kachestvo__text-block {
    margin-top: 26px;
  }

  .kachestvo__text--check {
    margin-top: 11px;
  }

  .kachestvo__factory-img--mobile {
    display: none;
  }

  .kachestvo__top-mid {
    flex: 1;
    margin-top: 0;
    padding-top: 69px;
  }

  /* right col: certs side by side */
  .kachestvo__top-right {
    flex: 1;
    flex-direction: row;
    margin-top: 0;
    gap: 12px;
    align-items: flex-start;
  }

  /* certs: flexible width, proportional height */
  .kachestvo__cert {
    flex: 1;
    height: auto;
    padding-bottom: 0;
    aspect-ratio: 218 / 309;
  }

  /* bottom: grid — factory-img left, factory-text right, reviews full-width below */
  .kachestvo__bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
    margin-top: 20px;
  }

  .kachestvo__factory-img--desktop {
    display: block;
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 572 / 384;
    position: relative;
    overflow: hidden;
  }

  .kachestvo__factory-img--desktop img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* unwrap so factory-text and reviews become direct grid items */
  .kachestvo__bottom-right {
    display: contents;
  }

  .kachestvo__factory-text {
    grid-column: 2;
    grid-row: 1;
  }

  /* reviews: full-width row below both columns, stays in column layout */
  .kachestvo__reviews {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 0;
  }
}

/* ===========================
   Качество — desktop (≥ 1440px)
   =========================== */
@media (min-width: 1440px) {
  .kachestvo {
    padding: 1px 20px 0;
  }

  /* top: 3-column flex row; col widths from Figma: 453.5px | 453.5px | 453px, gap 20px */
  .kachestvo__top {
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
  }

  .kachestvo__top-left {
    flex: 0 0 453.5px;
  }

  .kachestvo__heading {
    margin-top: -10px;
    font-size: 42px;
    line-height: 1.2;
  }

  /* text-block: heading bottom = 1+42×1.2 = 51.4px; text top=70px → margin≈19px */
  .kachestvo__text-block {
    margin-top: 26px;
  }

  /* text--check: text-block bottom ≈ 70+96=166px; top=177px → margin=11px */
  .kachestvo__text--check {
    margin-top: 11px;
  }

  /* hide mobile factory image */
  .kachestvo__factory-img--mobile {
    display: none;
  }

  /* mid col: text2 at y=70px → padding-top = 70−1px section-padding = 69px */
  .kachestvo__top-mid {
    flex: 0 0 453.5px;
    margin-top: 0;
    padding-top: 65px;
  }

  /* right col: 2 certs side by side; certs at y=5px → padding-top = 5−1 = 4px */
  .kachestvo__top-right {
    flex: 0 0 453px;
    margin-top: 0;
    padding-top: 4px;
    gap: 19px;
    align-items: flex-start;
  }

  /* cert dimensions: left=218×309px, right=216×309px */
  .kachestvo__cert {
    height: 309px;
    padding-bottom: 0;
  }

  .kachestvo__cert:first-child {
    flex: 0 0 218px;
  }

  .kachestvo__cert:last-child {
    flex: 0 0 216px;
  }

  /* bottom: flex row; factory-img top=354px; top section bottom≈314px → margin=40px */
  .kachestvo__bottom {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    margin-top: 40px;
  }

  /* desktop factory image: 572×384px from Figma */
  .kachestvo__factory-img--desktop {
    display: block;
    flex: 0 0 572px;
    height: 384px;
    position: relative;
    overflow: hidden;
  }

  .kachestvo__factory-img--desktop img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* bottom-right: factory-text at y=384px, factory-img at y=354px → padding-top=30px */
  .kachestvo__bottom-right {
    flex: 1;
    padding-top: 26px;
  }

  /* reviews: start at y=541px from frame; bottom-right starts at y=354px+30px=384px;
     reviews at 541-354=187px from bottom-right top; factory-text ≈ 38px → margin=119px */
  .kachestvo__reviews {
    flex-direction: row;
    gap: 20px;
    margin-top: 45px;
  }

  /* Мария card: 335px wide from Figma */
  .kachestvo__reviews > .kachestvo__card {
    flex: 0 0 335px;
  }

  /* Мила+Ирина column: 453px wide, 15px gap between cards */
  .kachestvo__reviews-right {
    flex: 0 0 453px;
    gap: 15px;
  }

  /* card author: 20px on desktop */
  .kachestvo__card-author {
    font-size: 20px;
  }
}

/* ===========================
   Дизайн — mobile base
   =========================== */
.dizayn {
  width: 100%;
  max-width: 1440px;
  padding: 7px 15px 0;
}

.dizayn__heading {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-text);
}

/* 3-column grid: stacked on mobile */
.dizayn__grid {
  display: flex;
  flex-direction: column;
  gap: 25px;
  /* image1 top: 79px; H2 bottom: 7+32=39px; gap = 40px */
  margin-top: 45px;
}

/* Image wrapper with label overlay */
.dizayn__col-img {
  position: relative;
  aspect-ratio: 330 / 262;
  overflow: hidden;
}

.dizayn__col-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Цветовая палитра: horizontally flipped */
.dizayn__col-img--flip img {
  transform: scaleX(-1);
}

/* Label over image */
.dizayn__col-label {
  position: absolute;
  left: 15px;
  top: 15px;
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  color: var(--color-white);
  text-transform: uppercase;
  z-index: 1;
}

/* Text below image */
.dizayn__col-text {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: var(--color-text);
  margin-top: 16px;
}

/* ---- Creation section (mobile) ---- */
/* grid col3 text ends ~1274px; creation H3 at 1343px → gap = 69px */
.dizayn__creation {
  margin-top: 30px;
}

.dizayn__creation-right {
  display: none;
}

.dizayn__creation-heading {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  color: var(--color-text);
  text-transform: uppercase;
}

.dizayn__creation-texts {
  display: block;
}

.dizayn__creation-p {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: var(--color-text);
}

/* H3 bottom 1367px; p1 top 1387px → gap 20px */
.dizayn__creation-p--1 {
  margin-top: 20px;
}

/* p1 bottom ~1445px; p2 top 1513px → gap ~49px (rounded from actual text height) */
.dizayn__creation-p--2 {
  margin-top: 12px;
}

/* p2 bottom ~1609px; imgImage3 top 1682px → gap 73px */
.dizayn__creation-img3-mob {
  margin-top: 21px;
  aspect-ratio: 330 / 416;
  overflow: hidden;
}

.dizayn__creation-img3-mob img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* imgImage3 bottom 2098px; p3 top 2123px → gap 25px */
.dizayn__creation-p--3 {
  margin-top: 20px;
}

/* p3 bottom ~2219px; p4 top 2287px → gap 68px */
.dizayn__creation-p--4 {
  margin-top: 12px;
}

/* p4 bottom ~2325px; imgImage4 top 2361px → gap 36px */
.dizayn__creation-img4-mob {
  margin-top: 20px;
  aspect-ratio: 330 / 286;
  overflow: hidden;
}

.dizayn__creation-img4-mob img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Desktop-only small images hidden on mobile */
.dizayn__creation-small-imgs {
  display: none;
}

/* ===========================
   Дизайн — tablet (≥ 768px)
   =========================== */
@media (min-width: 768px) and (max-width: 1439px) {
  .dizayn {
    padding: 9px 15px 0;
  }

  .dizayn__heading {
    font-size: 36px;
    line-height: 1.2;
  }

  /* 3-column grid — scales naturally, no fixed px */
  .dizayn__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 25px;
    align-items: flex-start;
  }

  .dizayn__col-label {
    left: 21px;
    top: 20px;
    font-size: 24px;
  }

  /* creation: flex row, text left + image right */
  .dizayn__creation {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 24px;
  }

  .dizayn__creation-left {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
  }

  /* right image: flexible width, proportional height instead of fixed 453×571px */
  .dizayn__creation-right {
    display: block;
    flex: 1;
    aspect-ratio: 453 / 571;
    overflow: hidden;
    margin-top: 12px;
  }

  .dizayn__creation-right img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .dizayn__creation-heading {
    margin-top: 6px;
    font-size: 24px;
  }

  .dizayn__creation-texts {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: none;
    margin-top: 30px;
    margin-bottom: 18px;
  }

  .dizayn__creation-p--1,
  .dizayn__creation-p--2,
  .dizayn__creation-p--3,
  .dizayn__creation-p--4 {
    margin-top: 0;
  }

  /* hide mobile interstitial images */
  .dizayn__creation-img3-mob,
  .dizayn__creation-img4-mob {
    display: none;
  }

  /* small images: spread across left column instead of fixed margin-left: 418px */
  .dizayn__creation-small-imgs {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: auto;
  }

  .dizayn__creation-img4 {
    position: relative;
    overflow: hidden;
    flex: 0 0 auto;
    width: 45%;
    aspect-ratio: 292 / 253;
  }

  .dizayn__creation-img4 img {
    position: absolute;
    width: 100%;
    height: 144.39%;
    left: 0;
    top: -10.09%;
    max-width: none;
  }

  .dizayn__creation-img5 {
    position: relative;
    overflow: hidden;
    flex: 0 0 auto;
    width: 33%;
    aspect-ratio: 217 / 160;
    margin-left: 0;
  }

  .dizayn__creation-img5 img {
    position: absolute;
    width: 100%;
    height: 180.83%;
    left: 0;
    top: -18.06%;
    max-width: none;
  }
}

/* ===========================
   Дизайн — desktop (≥ 1440px)
   =========================== */
@media (min-width: 1440px) {
  .dizayn {
    padding: 9px 20px 0;
  }

  .dizayn__heading {
    font-size: 42px;
    line-height: 1.2;
  }

  /* 3-column grid; H2 bottom ~59px; images top 74px → gap 15px */
  .dizayn__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 25px;
    align-items: flex-start;
  }


  /* Label offset: 40px from section left, 94px top; image at 19px left, 74px top
     within image: left = 40-19 = 21px, top = 94-74 = 20px */
  .dizayn__col-label {
    left: 21px;
    top: 20px;
    font-size: 24px;
  }

  /* text below image: image bottom 434px, text top 454px → gap 20px (already set) */

  /* ---- Creation section (desktop) ---- */
  /* grid bottom ~514px; H3 "Как создаются" at absolute 570px → gap 56px */
  .dizayn__creation {
    display: flex;
    align-items: flex-start;
    margin-top: 24px;
  }

  .dizayn__creation-left {
    flex: 1;
    min-width: 0;
  }

  /* imgImage3 top 582px absolute; creation starts at 570px → right col margin-top 12px */
  .dizayn__creation-right {
    display: block;
    flex: 0 0 453px;
    overflow: hidden;
    margin-top: 12px;
  }

  .dizayn__creation-right img {
    display: block;
    width: 453px;
    height: 571px;
    object-fit: cover;
  }

  .dizayn__creation-heading {
    margin-top: 6px;
    font-size: 24px;
  }

  /* 4 paragraphs: H3 bottom ~599px, text group top 639px → margin-top 40px */
  .dizayn__creation-texts {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 808px;
    margin-top: 30px;
  }

  /* Reset individual mobile margins — gap handles spacing on desktop */
  .dizayn__creation-p--1,
  .dizayn__creation-p--2,
  .dizayn__creation-p--3,
  .dizayn__creation-p--4 {
    margin-top: 0;
  }

  /* Mobile interstitial images hidden on desktop */
  .dizayn__creation-img3-mob,
  .dizayn__creation-img4-mob {
    display: none;
  }

  /* Desktop small images: text bottom ~870px, imgImage4 top 900px → margin-top 30px */
  .dizayn__creation-small-imgs {
    display: flex;
    align-items: flex-end;
    margin-top: 18px;
  }

  /* imgImage4: 292×253px, same crop as mobile (h=144.39%, top=-10.09%) */
  .dizayn__creation-img4 {
    flex: 0 0 292px;
    height: 253px;
    position: relative;
    overflow: hidden;
  }

  .dizayn__creation-img4 img {
    position: absolute;
    width: 100%;
    height: 144.39%;
    left: 0;
    top: -10.09%;
    max-width: none;
  }

  /* imgImage5: left calc(50%+10px) from section = 730px; content left 20px → 710px into left col
     imgImage4 width 292px; margin-left = 710-292 = 418px */
  .dizayn__creation-img5 {
    flex: 0 0 217px;
    height: 160px;
    position: relative;
    overflow: hidden;
    margin-left: 418px;
  }

  .dizayn__creation-img5 img {
    position: absolute;
    width: 100%;
    height: 180.83%;
    left: 0;
    top: -18.06%;
    max-width: none;
  }
}

/* ===========================
   Контент
   =========================== */
.content {
  width: 100%;
  overflow: hidden;
}

.content__header {
  max-width: 1440px !important;
}

.content__heading {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-text);
}

.content__text {
  font-family: 'Geometria', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  color: var(--color-text);
  margin-top: 40px;
}

.content-swiper {
  margin-top: 21px;
  overflow: visible !important;

  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
}

.content__card {
  width: 330px !important;
  position: relative;
  flex-shrink: 0;
}

.content__card-media {
  position: relative;
  height: 200px;
  overflow: hidden;
}

.content__card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.content__card-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
}

.content__card-body {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 38px;
}

.content__card-season {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 20px;
  margin-top: 5px;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 8px;
  text-align: center;
}

.content__card-title {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-white);
  margin-bottom: 12px;
  text-align: center;
}

.content__card-link {
  font-family: 'Geometria', sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  color: var(--color-white);
  text-decoration: underline;
  text-align: center;
}

.content__arrows {
  width: 78px;
  margin: 30px auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.content__arrow {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-text);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 24px;
  height: 26px;
}

.content__arrow--prev svg {
  transform: scaleX(-1);
}

.content__gallery {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr 1fr;
  gap: 10px;
  aspect-ratio: 360 / 316; /* 360px viewport / (153*2 + 10gap) */
}

.content__gallery-cell {
  overflow: hidden;
}

.content__gallery-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.content__gallery-cell--bts1 { grid-area: 1 / 1; }
.content__gallery-cell--bts  { grid-area: 1 / 2 / 2 / 4; }
.content__gallery-cell--bts4 { grid-area: 2 / 1; }
.content__gallery-cell--bts2 { grid-area: 2 / 2; }
.content__gallery-cell--bts3 { grid-area: 2 / 3; }

@media (min-width: 1440px) {
  .content {
    position: relative;
  }

  .content__heading {
    font-size: 42px;
    line-height: 1.2;
  }

  .content__text {
    margin-top: 25px;
    max-width: 690px;
  }

  .content-swiper {
    margin-top: 35px;
    padding: 0 20px;
  }

  .content__card {
    width: 650px !important;
  }

  .content__card-media {
    height: 395.652px;
  }

  .content__card-body {
    height: 395.652px;
    padding: 0 86px;
  }

  .content__card-season {
    font-size: 24px;
  }

  .content__card-title {
    font-size: 42px;
    font-weight: 700;
  }

  .content__arrows {
    position: absolute;
    right: 50%;
    transform: translateX(50%);
    gap: 30px;
    max-width: 1440px;
    width: 100%;
    justify-content: flex-end;
    padding: 0 20px;
    top: 132px;
    margin: 0;
  }

  .content__gallery {
    margin-top: 40px;
    grid-template-columns: 217px 216px 454px 216px 217px;
    grid-template-rows: 320px;
    gap: 20px;
    aspect-ratio: auto;
    max-width: 1440px !important;
  }

  .content__gallery-cell { height: 320px; }

  .content__gallery-cell--bts1 { grid-column: 2; grid-row: 1; }
  .content__gallery-cell--bts  { grid-column: 3; grid-row: 1; }
  .content__gallery-cell--bts4 { grid-column: 1; grid-row: 1; }
  .content__gallery-cell--bts2 { grid-column: 4; grid-row: 1; }
  .content__gallery-cell--bts3 { grid-column: 5; grid-row: 1; }
}


/* ===========================
   our-path__card-img — full-width proportional patch
   =========================== */
/* fixed container, clip overflow — no object-fit cover, no scale artifacts */
.our-path__card-img {
  width: 240px;
  height: 300px;
  overflow: hidden;
}

.our-path__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line top = container height + half arrow height (22px): 300 + 22 = 322px */
.our-path__line {
  top: 322px;
}

@media (min-width: 1440px) {
  .our-path__card-img {
    width: 285px;
    height: 357px;
  }

  .our-path__line {
    top: 379px;
  }
}
/* ===========================
   PATCH — kachestvo reviews: абсолютное позиционирование кавычек
   =========================== */
.kachestvo__card {
  position: relative;
}

.kachestvo__card-quote--close {
  position: absolute;
  right: 9px;
  bottom: 9px;
}

@media (min-width: 1440px) {
  .kachestvo__card-body {
    margin-top: 12px;
  }
  .kachestvo__reviews {
    margin-top: 121px;
  }

  .kachestvo__reviews > .kachestvo__card .kachestvo__card-body {
    padding-top: 16px;
  }

  .kachestvo__card-body {
    margin-bottom: 5px;
    position: relative;
  }

  .kachestvo__card-quote--open {
    position: absolute;
    left: -1px;
    top: 0;
    align-self: unset;
  }

  .kachestvo__card-text {
    padding-bottom: 0px;
  }
}
/* ===========================
   PATCH — scroll-margin для якорей
   =========================== */
#history, #kachestvo, #dizayn, #content, #team, #our-path {
  scroll-margin-top: 60px;
}

@media (min-width: 1440px) {
  #history, #kachestvo, #dizayn, #content, #team, #our-path {
    scroll-margin-top: 80px;
  }
}
