
/* ======================================================
   PRIVOZ — QUALITY
   BLOCK 01: HERO
====================================================== */

/* ПЕРЕМЕННЫЕ СТРАНИЦЫ */

.quality-page {
  --quality-bg: #f1f3ee;
  --quality-bg-soft: #f7f8f5;
  --quality-bg-dark: #253433;
  --quality-card: #ffffff;

  --quality-accent: #6b817c;
  --quality-accent-light: #98aaa5;
  --quality-accent-dark: #405953;
  --quality-accent-deep: #273e3a;
  --quality-accent-rgb: 107, 129, 124;

  --quality-text: #314844;
  --quality-text-dark: #233733;
  --quality-text-soft: #6d7c78;
  --quality-border: rgba(64, 89, 83, 0.15);

  --header-height: 80px;

  background: var(--quality-bg);
  color: var(--quality-text);
}

.quality-page .quality-hero,
.quality-page .quality-hero *,
.quality-page .quality-hero *::before,
.quality-page .quality-hero *::after {
  box-sizing: border-box;
}

/* КОНТЕЙНЕР */

.quality-page .quality-container {
  width: calc(100% - 100px);
  max-width: 1450px;
  margin: 0 auto;
}

/* ======================================================
   ФИРМЕННЫЕ ПЛАШКИ НАЗВАНИЙ БЛОКОВ
   Единый стиль для всей страницы
====================================================== */

.quality-page .quality-kicker,
.quality-page .quality-section-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: fit-content;
  max-width: 100%;
  min-height: 36px;

  padding: 9px 22px;
  margin: 0 0 24px;

  background: #dfe9e4;
  border: 1px solid #c4d5cd;

  color: var(--quality-accent-dark);

  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;

  clip-path: polygon(
    0 0,
    calc(100% - 10px) 0,
    100% 100%,
    10px 100%
  );
}

/* ======================================================
   HERO
====================================================== */

.quality-page .quality-hero {
  position: relative;

  display: flex;
  align-items: center;

  min-height: calc(100vh - var(--header-height));
  padding: 65px 0;

  overflow: hidden;

  background: linear-gradient(
    135deg,
    #f3f5f1,
    #e9eeea
  );
}

/* ФОНОВАЯ СЕТКА */

.quality-page .quality-hero-grid-bg {
  position: absolute;
  inset: 0;

  opacity: 0.22;
  pointer-events: none;

  background-image:
    linear-gradient(
      rgba(var(--quality-accent-rgb), 0.08) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(var(--quality-accent-rgb), 0.08) 1px,
      transparent 1px
    );

  background-size: 90px 90px;
}

/* ======================================================
   ДВЕ КОЛОНКИ
====================================================== */

.quality-page .quality-hero-container {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns:
    minmax(0, 0.9fr)
    minmax(480px, 1.1fr);

  align-items: center;
  gap: 80px;
}

/* ======================================================
   ЛЕВАЯ КОЛОНКА
====================================================== */

.quality-page .quality-hero-content {
  min-width: 0;
  max-width: 700px;
}

/* ЗАГОЛОВОК */

.quality-page .quality-hero-title {
  margin: 0 0 30px;

  color: var(--quality-text-dark);

  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(58px, 6.2vw, 96px);
  font-weight: 500;
  line-height: 0.96;
  letter-spacing: -0.065em;
}

.quality-page .quality-hero-title span {
  display: block;
  color: var(--quality-accent);
}

/* ОПИСАНИЕ */

.quality-page .quality-hero-text {
  max-width: 630px;
  margin: 0 0 40px;

  color: var(--quality-text-soft);

  font-size: 17px;
  font-weight: 400;
  line-height: 1.72;
}

/* ======================================================
   КНОПКА
====================================================== */

.quality-page .quality-primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;

  min-height: 61px;
  padding: 0 30px 0 34px;

  background: var(--quality-accent-deep);
  border: 0;

  color: #ffffff;

  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;

  clip-path: polygon(
    0 0,
    88% 0,
    100% 100%,
    12% 100%
  );

  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.quality-page .quality-primary-button:hover {
  background: var(--quality-accent-dark);
  color: #ffffff;
  transform: translateY(-2px);
}

.quality-page .quality-primary-button svg {
  display: block;
  flex-shrink: 0;

  width: 18px;
  height: 18px;
}

.quality-page .quality-primary-button path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

/* НИЖНЯЯ СТРОКА */

.quality-page .quality-hero-note {
  margin-top: 25px;

  color: var(--quality-accent-dark);

  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

/* ======================================================
   ПРАВАЯ КОЛОНКА
====================================================== */

.quality-page .quality-hero-visual {
  position: relative;
  min-width: 0;
  min-height: 570px;
}

/* ДЕКОРАТИВНЫЕ ФИГУРЫ */

.quality-page .quality-hero-shape {
  position: absolute;
  background: var(--quality-accent);
  pointer-events: none;
}

.quality-page .quality-hero-shape-one {
  width: 410px;
  height: 280px;

  right: -20px;
  top: -35px;

  opacity: 0.8;

  clip-path: polygon(
    9% 0,
    100% 0,
    100% 88%,
    90% 100%,
    0 100%,
    0 11%
  );
}

.quality-page .quality-hero-shape-two {
  width: 530px;
  height: 330px;

  left: -60px;
  bottom: -45px;

  background: var(--quality-accent-dark);
  opacity: 0.83;

  clip-path: polygon(
    8% 0,
    100% 0,
    100% 88%,
    92% 100%,
    0 100%,
    0 10%
  );
}

/* ======================================================
   ВИДЕО
====================================================== */

.quality-page .quality-hero-media {
  position: absolute;
  inset: 45px 25px;

  z-index: 2;
  overflow: hidden;

  background: #253433;

  box-shadow: 0 30px 70px rgba(40, 60, 55, 0.08);

  clip-path: polygon(
    23px 0,
    100% 0,
    100% calc(100% - 23px),
    calc(100% - 23px) 100%,
    0 100%,
    0 23px
  );
}

.quality-page .quality-hero-video {
  position: absolute;
  inset: 0;

  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;
}

.quality-page .quality-hero-video-overlay {
  position: absolute;
  inset: 0;

  pointer-events: none;

  background: linear-gradient(
    180deg,
    rgba(37, 52, 51, 0.02) 0%,
    rgba(37, 52, 51, 0.12) 100%
  );
}

/* ======================================================
   ПЛАНШЕТ
====================================================== */

@media (max-width: 1120px) {

  .quality-page .quality-container {
    width: calc(100% - 50px);
  }

  .quality-page .quality-hero {
    min-height: auto;
    padding: 90px 0;
  }

  .quality-page .quality-hero-container {
    grid-template-columns: 1fr;
    gap: 55px;
  }

  .quality-page .quality-hero-visual {
    min-height: 520px;
  }
}

/* ======================================================
   МОБИЛЬНАЯ ВЕРСИЯ
====================================================== */

@media (max-width: 768px) {

  .quality-page .quality-container {
    width: calc(100% - 32px);
  }

  .quality-page .quality-hero {
    padding: 70px 0;
  }

  .quality-page .quality-hero-title {
    font-size: clamp(43px, 13vw, 62px);
  }

  .quality-page .quality-hero-text {
    font-size: 15px;
    line-height: 1.7;
  }

  .quality-page .quality-hero-visual {
    min-height: 390px;
  }

  .quality-page .quality-hero-media {
    inset: 15px 5px;
  }

  .quality-page .quality-hero-shape-one {
    width: 250px;
    height: 180px;
  }

  .quality-page .quality-hero-shape-two {
    width: 300px;
    height: 200px;
  }

  .quality-page .quality-kicker,
  .quality-page .quality-section-label {
    min-height: 32px;
    padding: 8px 16px;
    margin-bottom: 20px;

    font-size: 10px;
    letter-spacing: 0.1em;
  }
}

@media (max-width: 430px) {

  .quality-page .quality-hero-title {
    font-size: clamp(39px, 11vw, 48px);
  }

  .quality-page .quality-primary-button {
    width: 100%;
  }

  .quality-page .quality-hero-visual {
    min-height: 320px;
  }

  .quality-page .quality-hero-shape-one {
    width: 210px;
  }

  .quality-page .quality-hero-shape-two {
    width: 260px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .quality-page .quality-primary-button {
    transition: none;
  }

  .quality-page .quality-primary-button:hover {
    transform: none;
  }
}
