/* === AOS-LITE (Animate On Scroll) === */
/* [data-aos] по умолчанию видим; прячем только при html.aos */
html.aos [data-aos] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
html.aos [data-aos].aos-animate {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  html.aos [data-aos],
  html.aos [data-aos].aos-animate {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

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

:root {
  --white: #ffffff;
  --black: #1a1a1a;
  --dark: #1a1a1a;
  --red: #e10600;
  --red-dark: #b80500;
  --gray-50: #fafafa;
  --gray-100: #f5f5f5;
  --gray-200: #e5e5e5;
  --gray-300: #d4d4d4;
  --gray-400: #a3a3a3;
  --gray-500: #737373;
  --gray-600: #525252;
  --gray-700: #404040;
  --font: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;
  --header-offset: 68px;
}

body {
  font-family: var(--font);
  color: var(--black);
  background: var(--gray-100);
  line-height: 1.5;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-offset);
}

[id] {
  scroll-margin-top: var(--header-offset);
}

a {
  color: inherit;
  text-decoration: none;
}

ul {
  list-style: none;
}

.container {
  width: min(1280px, 94%);
  margin: 0 auto;
}

/* === HEADER === */
.header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--white);
  border-bottom: 1px solid var(--gray-200);
}

.header__inner {
  display: flex;
  align-items: center;
  height: 68px;
  gap: 32px;
}

/* Logo */
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  text-decoration: none;
}

.logo__icon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--red);
}

.logo__icon svg {
  width: 100%;
  height: 100%;
}

.logo__text {
  display: flex;
  flex-direction: column;
  line-height: 1;
  gap: 1px;
}

.logo__name {
  font-size: 18px;
  font-weight: 800;
  color: var(--black);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  line-height: 1.1;
}

.logo__sub {
  font-size: 11px;
  font-weight: 600;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 2.5px;
  line-height: 1.1;
}

.logo:hover .logo__name {
  color: var(--red);
}

/* Header right block */
.header__right {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}

.header__phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--black);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.3px;
  transition: color 0.2s ease;
  white-space: nowrap;
}

.header__phone:hover {
  color: var(--red);
}

.header__phone-icon {
  width: 18px;
  height: 18px;
  color: var(--red);
  flex-shrink: 0;
}

/* Call Button */
.btn-call {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 24px;
  background: var(--red);
  color: var(--white);
  border: none;
  border-radius: 8px;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.25s ease;
  white-space: nowrap;
}

.btn-call::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.btn-call:hover {
  background: var(--red-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(225, 6, 0, 0.35);
}

.btn-call:hover::before {
  left: 100%;
}

.btn-call:active {
  transform: translateY(0);
}

/* CTA Button */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
  border-radius: 6px;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  white-space: nowrap;
}

.btn--primary {
  background: var(--red);
  color: var(--white);
  box-shadow: 0 4px 16px rgba(225, 6, 0, 0.25);
}

.btn--primary:hover {
  background: var(--red-dark);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(225, 6, 0, 0.35);
}

/* === NAV LINKS === */
.nav {
  display: flex;
  align-items: center;
  gap: 2px;
}

.nav__link {
  font-size: 13px;
  font-weight: 600;
  color: var(--gray-600);
  padding: 8px 14px;
  border-radius: 6px;
  position: relative;
  transition: color 0.2s ease, background 0.2s ease;
  white-space: nowrap;
}

.nav__link:hover {
  color: var(--black);
  background: var(--gray-100);
}

.nav__link.active {
  color: var(--red);
}

/* Socials for mobile menu (keep for mobile-menu__socials) */
.social {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  transition: transform 0.2s ease;
}

.social svg {
  width: 15px;
  height: 15px;
}

.social:hover {
  transform: scale(1.08);
}

.social--wa {
  background: linear-gradient(145deg, #25d366, #128c48);
}

.social--tg {
  background: linear-gradient(145deg, #2aabee, #229ed9);
}

.social--ig {
  background: linear-gradient(145deg, #f77737, #e1306c, #c13584);
}

.social--tt {
  background: linear-gradient(145deg, #69c9d0, #ee1d52);
}

/* Hi-tech Badges */
.badge-tech {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.badge-tech__icon {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

/* Red variant - outline with glow */
.badge-tech--red {
  background: linear-gradient(135deg, rgba(225, 6, 0, 0.08) 0%, rgba(225, 6, 0, 0.02) 100%);
  color: var(--red);
  border: 1.5px solid var(--red);
  border-radius: 6px;
  box-shadow: 
    0 0 20px rgba(225, 6, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.badge-tech--red::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(225, 6, 0, 0.2), transparent);
  transition: left 0.5s ease;
}

.badge-tech--red:hover::before {
  left: 100%;
}

.badge-tech--red:hover {
  box-shadow: 
    0 0 30px rgba(225, 6, 0, 0.25),
    0 4px 15px rgba(225, 6, 0, 0.2);
  transform: translateY(-2px);
}

/* Dark variant - solid with gradient */
.badge-tech--dark {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 50%, #1a1a1a 100%);
  color: var(--white);
  border: 1.5px solid #3a3a3a;
  border-radius: 6px;
  box-shadow: 
    0 4px 20px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.badge-tech--dark::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transition: left 0.5s ease;
}

.badge-tech--dark:hover::before {
  left: 100%;
}

.badge-tech--dark:hover {
  border-color: #555;
  box-shadow: 
    0 6px 25px rgba(0, 0, 0, 0.4),
    0 0 20px rgba(255, 255, 255, 0.05);
  transform: translateY(-2px);
}

/* content-visibility для секций ниже hero (ускорение рендера) */
section:not(.hero) {
  content-visibility: auto;
  contain-intrinsic-size: 1px 800px;
}

/* === HERO === */
.hero {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

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

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.6) 0%,
    rgba(0, 0, 0, 0.75) 100%
  );
  z-index: 1;
}

/* Hero Inner */
.hero__inner {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 80px 0 100px;
  max-width: 900px;
  margin: 0 auto;
}

/* Подзаголовок */
.hero__sub {
  display: inline-block;
  margin: 0 0 20px;
  padding: 10px 28px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 50px;
  font-size: 15px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.5px;
}

/* Hero Title */
.hero__title {
  font-size: 64px;
  font-weight: 800;
  color: var(--white);
  line-height: 1.05;
  margin: 0 0 28px;
  text-transform: uppercase;
  letter-spacing: -1px;
}

.hero__title span {
  display: block;
  color: var(--red);
  text-shadow: 0 0 80px rgba(225, 6, 0, 0.6);
}

/* Акцент в H1: градиентный текст */
.hero__h1-accent {
  display: block;
  background: linear-gradient(135deg, #E53935 0%, #ff6659 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: none;
}

/* Акцент в тэглайне */
.hero__sub-accent {
  color: #E53935;
}

/* Слоган под H1 */
.hero__slogan {
  font-size: 40px;
  font-weight: 800;
  color: #bbbbbb;
  text-transform: uppercase;
  letter-spacing: -1px;
  line-height: 1.05;
  margin: -8px 0 28px;
}
.hero__snippet {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 18px 8px;
  margin-bottom: 20px;
}

.hero__snippet-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 0 24px;
  text-align: center;
}

.hero__snippet-value {
  font-size: 18px;
  font-weight: 800;
  color: var(--white);
  letter-spacing: 0.3px;
  line-height: 1.2;
  white-space: nowrap;
}

.hero__snippet-label {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.3;
  max-width: 160px;
}

.hero__snippet-divider {
  width: 1px;
  background: rgba(255, 255, 255, 0.15);
  align-self: stretch;
  flex-shrink: 0;
}

/* Уточнение (шаги) */
.hero__steps {
  margin: 0 0 40px;
  font-size: 16px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 2px;
}

/* Hero Button (ссылка на WhatsApp) */
.hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 22px 48px;
  background: var(--red);
  color: var(--white);
  border: none;
  border-radius: 8px;
  font-family: var(--font);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 10px 40px rgba(225, 6, 0, 0.5);
  margin-bottom: 60px;
}

.hero__btn svg {
  width: 22px;
  height: 22px;
  transition: transform 0.3s ease;
}

.hero__btn:hover {
  background: var(--red-dark);
  transform: translateY(-4px);
  box-shadow: 0 16px 50px rgba(225, 6, 0, 0.6);
}

.hero__btn:hover svg {
  transform: translateX(6px);
}

.hero__btn--outline {
  background: rgba(255,255,255,.08);
  border: 2px solid rgba(255,255,255,.5);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.hero__btn--outline:hover {
  background: rgba(255,255,255,.18);
  border-color: #fff;
  box-shadow: 0 8px 32px rgba(255,255,255,.15);
}

/* Hero Cards (плашки) */
.hero__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.hero__card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 24px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}

.hero__card:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(225, 6, 0, 0.3);
  transform: translateY(-4px);
}

.hero__card-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  border-radius: 10px;
  box-shadow: 0 6px 20px rgba(225, 6, 0, 0.35);
}

.hero__card-icon svg {
  width: 24px;
  height: 24px;
  color: var(--white);
}

.hero__card span {
  font-size: 14px;
  font-weight: 600;
  color: var(--white);
  text-align: left;
  line-height: 1.4;
}

/* Hero Torn Edge */
.hero__torn {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 60px;
  background: var(--white);
  z-index: 2;
  filter: drop-shadow(0 -4px 6px rgba(0, 0, 0, 0.15));
  clip-path: polygon(
    0% 100%,
    0% 45%,
    1% 52%,
    2% 38%,
    3% 55%,
    4% 42%,
    5% 60%,
    6% 35%,
    7% 50%,
    8% 40%,
    9% 58%,
    10% 32%,
    11% 48%,
    12% 55%,
    13% 38%,
    14% 62%,
    15% 45%,
    16% 35%,
    17% 52%,
    18% 42%,
    19% 58%,
    20% 30%,
    21% 50%,
    22% 40%,
    23% 55%,
    24% 35%,
    25% 48%,
    26% 60%,
    27% 38%,
    28% 52%,
    29% 42%,
    30% 28%,
    31% 50%,
    32% 58%,
    33% 35%,
    34% 48%,
    35% 40%,
    36% 55%,
    37% 32%,
    38% 45%,
    39% 60%,
    40% 38%,
    41% 52%,
    42% 30%,
    43% 48%,
    44% 55%,
    45% 40%,
    46% 35%,
    47% 58%,
    48% 42%,
    49% 50%,
    50% 28%,
    51% 45%,
    52% 55%,
    53% 38%,
    54% 62%,
    55% 35%,
    56% 50%,
    57% 42%,
    58% 58%,
    59% 32%,
    60% 48%,
    61% 40%,
    62% 55%,
    63% 35%,
    64% 52%,
    65% 60%,
    66% 38%,
    67% 45%,
    68% 30%,
    69% 55%,
    70% 42%,
    71% 48%,
    72% 58%,
    73% 35%,
    74% 52%,
    75% 40%,
    76% 28%,
    77% 50%,
    78% 45%,
    79% 60%,
    80% 35%,
    81% 55%,
    82% 42%,
    83% 48%,
    84% 32%,
    85% 58%,
    86% 40%,
    87% 52%,
    88% 35%,
    89% 45%,
    90% 62%,
    91% 38%,
    92% 50%,
    93% 30%,
    94% 55%,
    95% 42%,
    96% 48%,
    97% 58%,
    98% 35%,
    99% 52%,
    100% 40%,
    100% 100%
  );
}

/* === ABOUT === */
.about {
  background: var(--gray-50);
  padding: 100px 0;
}

.about__wrapper {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 80px;
  align-items: start;
}

/* Left Side - Big Number */
.about__left {
  position: sticky;
  top: 120px;
}

.about__big-number {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 48px;
}

.about__big-num {
  font-size: 180px;
  font-weight: 900;
  line-height: 0.8;
  background: linear-gradient(180deg, var(--red) 0%, var(--red-dark) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.about__big-label {
  display: flex;
  flex-direction: column;
  padding-bottom: 20px;
}

.about__big-label span {
  font-size: 32px;
  font-weight: 700;
  color: var(--black);
  line-height: 1.1;
}

.about__big-label span:last-child {
  color: var(--gray-500);
}

/* Mini Stats */
.about__mini-stats {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.about__mini-stat {
  display: flex;
  flex-direction: column;
  padding: 20px 24px;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.about__mini-stat .num {
  font-size: 24px;
  font-weight: 800;
  color: var(--black);
  margin-bottom: 4px;
}

.about__mini-stat .text {
  font-size: 13px;
  color: var(--gray-500);
}

/* Yandex Widget */
.yandex-widget {
  display: flex;
  flex-direction: column;
  padding: 20px;
  background: linear-gradient(135deg, #fff 0%, #f8f8f8 100%);
  border-radius: 16px;
  border: 1px solid var(--gray-200);
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.yandex-widget::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #FC3F1D 0%, #FF6B4A 100%);
}

.yandex-widget:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(252, 63, 29, 0.15);
  border-color: rgba(252, 63, 29, 0.3);
}

.yandex-widget__header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.yandex-widget__logo {
  width: 28px;
  height: auto;
  flex-shrink: 0;
  object-fit: contain;
}

.yandex-widget__header span {
  font-size: 12px;
  font-weight: 600;
  color: var(--gray-500);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.yandex-widget__rating {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.yandex-widget__stars {
  display: flex;
  gap: 2px;
}

.yandex-widget__stars svg {
  width: 18px;
  height: 18px;
  color: #FFB800;
}

.yandex-widget__score {
  font-size: 32px;
  font-weight: 800;
}

.yandex-widget__reviews {
  font-size: 13px;
  color: var(--gray-500, #6b7280);
  margin-left: 8px;
  line-height: 1;
}

.yandex-widget__footer {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--gray-200);
}

.yandex-widget__footer span {
  font-size: 13px;
  font-weight: 600;
  color: #FC3F1D;
}

.yandex-widget__footer svg {
  width: 16px;
  height: 16px;
  color: #FC3F1D;
  transition: transform 0.3s ease;
}

.yandex-widget:hover .yandex-widget__footer svg {
  transform: translateX(4px);
}

/* Right Side - Content */
.about__right {
  padding-top: 20px;
}

.about__label {
  display: inline-block;
  padding: 6px 16px;
  background: var(--red);
  color: var(--white);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  border-radius: 4px;
  margin-bottom: 24px;
}

.about__title {
  font-size: 44px;
  font-weight: 800;
  color: var(--black);
  line-height: 1.15;
  margin: 0 0 32px;
}

.about__title span {
  color: var(--red);
}

/* Description */
.about__desc {
  margin-bottom: 48px;
  padding-left: 24px;
  border-left: 3px solid var(--gray-200);
}

.about__desc p {
  font-size: 16px;
  color: var(--gray-700);
  line-height: 1.8;
  margin: 0 0 16px;
}

.about__desc p:last-child {
  margin: 0;
}

.about__desc strong {
  color: var(--black);
  font-weight: 600;
}

/* Grid Items */
.about__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 40px;
}

.about__item {
  padding: 28px;
  background: var(--white);
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.about__item--wide {
  grid-column: 1 / -1;
}

.about__item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 0;
  background: var(--red);
  transition: height 0.3s ease;
}

.about__item:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.08);
}

.about__item:hover::before {
  height: 100%;
}

.about__item-num {
  font-size: 13px;
  font-weight: 800;
  color: var(--red);
  margin-bottom: 12px;
  font-family: monospace;
}

.about__item h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--black);
  margin: 0 0 8px;
}

.about__item p {
  font-size: 14px;
  color: var(--gray-700);
  line-height: 1.6;
  margin: 0;
}

/* Report Block */
.about__report {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 28px;
  background: linear-gradient(135deg, var(--black) 0%, #2a2a2a 100%);
  border-radius: 16px;
  color: var(--white);
}

.about__report-icon {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--red);
  border-radius: 12px;
}

.about__report-icon svg {
  width: 28px;
  height: 28px;
  color: var(--white);
}

.about__report-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.about__report-content strong {
  font-size: 16px;
  font-weight: 700;
}

.about__report-content span {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
}

.about__materials {
  margin-top: 20px;
  font-size: 13px;
  color: #666;
}

.about__materials-label {
  font-weight: 700;
  margin-right: 8px;
}

/* === Guarantee Block === */
.guarantee-block {
  grid-column: 1 / -1;
  background: var(--white);
  border-radius: 20px;
  padding: 32px 40px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
  position: relative;
  overflow: hidden;
}
.guarantee-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--red);
  border-radius: 0 2px 2px 0;
}
.guarantee-block__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}
.guarantee-block__shield {
  width: 20px;
  height: 20px;
  stroke: var(--red);
}
.guarantee-block__heading {
  font-size: 13px;
  font-weight: 700;
  color: var(--gray-400);
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.guarantee-block__items {
  display: flex;
  align-items: stretch;
}
.guarantee-block__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 8px 16px;
}
.guarantee-block__icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(225, 6, 0, 0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
.guarantee-block__icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--red);
}
.guarantee-block__value {
  display: block;
  font-size: 26px;
  font-weight: 800;
  color: var(--black);
  line-height: 1.1;
}
.guarantee-block__label {
  font-size: 13px;
  color: var(--gray-500);
  line-height: 1.3;
}
.guarantee-block__divider {
  width: 1px;
  align-self: center;
  height: 60px;
  background: var(--gray-200);
  flex-shrink: 0;
}

/* === SERVICES === */
.services {
  position: relative;
  padding: 120px 0;
  overflow: hidden;
}

.services__bg {
  position: absolute;
  inset: 0;
  background: url('services-bg.jpg') center/cover no-repeat;
  z-index: 0;
}
@supports (background-image: url("data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAUAmJZgCdAEO/gHOAAA=")) {
  .services__bg { background-image: url('services-bg.webp'); }
}

.services__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.9) 100%);
  z-index: 1;
}

/* Torn edges */
.services__torn-top {
  position: absolute;
  top: -2px;
  left: 0;
  width: 100%;
  height: 50px;
  background: var(--gray-50);
  z-index: 2;
  clip-path: polygon(
    0% 0%,
    0% 55%,
    2% 48%,
    4% 62%,
    6% 45%,
    8% 58%,
    10% 40%,
    12% 52%,
    14% 35%,
    16% 60%,
    18% 42%,
    20% 55%,
    22% 38%,
    24% 50%,
    26% 65%,
    28% 45%,
    30% 58%,
    32% 40%,
    34% 52%,
    36% 35%,
    38% 48%,
    40% 60%,
    42% 42%,
    44% 55%,
    46% 38%,
    48% 50%,
    50% 62%,
    52% 45%,
    54% 58%,
    56% 40%,
    58% 52%,
    60% 35%,
    62% 48%,
    64% 60%,
    66% 42%,
    68% 55%,
    70% 38%,
    72% 50%,
    74% 62%,
    76% 45%,
    78% 58%,
    80% 40%,
    82% 52%,
    84% 35%,
    86% 48%,
    88% 60%,
    90% 42%,
    92% 55%,
    94% 38%,
    96% 50%,
    98% 45%,
    100% 58%,
    100% 0%
  );
}

.services__torn-bottom {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 50px;
  background: var(--white);
  z-index: 2;
  clip-path: polygon(
    0% 100%,
    0% 45%,
    2% 58%,
    4% 40%,
    6% 52%,
    8% 35%,
    10% 48%,
    12% 60%,
    14% 42%,
    16% 55%,
    18% 38%,
    20% 50%,
    22% 62%,
    24% 45%,
    26% 58%,
    28% 40%,
    30% 52%,
    32% 35%,
    34% 48%,
    36% 60%,
    38% 42%,
    40% 55%,
    42% 38%,
    44% 50%,
    46% 62%,
    48% 45%,
    50% 58%,
    52% 40%,
    54% 52%,
    56% 35%,
    58% 48%,
    60% 60%,
    62% 42%,
    64% 55%,
    66% 38%,
    68% 50%,
    70% 62%,
    72% 45%,
    74% 58%,
    76% 40%,
    78% 52%,
    80% 35%,
    82% 48%,
    84% 60%,
    86% 42%,
    88% 55%,
    90% 38%,
    92% 50%,
    94% 62%,
    96% 45%,
    98% 52%,
    100% 40%,
    100% 100%
  );
}

.services__inner {
  position: relative;
  z-index: 3;
}

/* Header */
.services__header {
  text-align: center;
  margin-bottom: 60px;
}

.services__label {
  display: inline-block;
  padding: 6px 16px;
  background: var(--red);
  color: var(--white);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  border-radius: 4px;
  margin-bottom: 20px;
}

.services__title {
  font-size: 48px;
  font-weight: 800;
  color: var(--white);
  margin: 0 0 16px;
}

.services__subtitle {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}

/* Packages Grid */
.packages {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  margin-bottom: 50px;
}

.package {
  display: flex;
  flex-direction: column;
  padding: 0;
  background: rgba(20, 20, 25, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  backdrop-filter: blur(20px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.package::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.package:hover {
  border-color: rgba(255, 255, 255, 0.15);
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
}

.package:hover::before {
  opacity: 1;
}

/* Ribbon wrapper - контейнер для обрезки */
.package__ribbon-wrap {
  width: 120px;
  height: 120px;
  overflow: hidden;
  position: absolute;
  top: -3px;
  right: -3px;
  z-index: 10;
}

/* Сам ribbon */
.package__ribbon {
  font-size: 11px;
  font-weight: 700;
  color: var(--white);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transform: rotate(45deg);
  position: relative;
  padding: 8px 0;
  left: 0;
  top: 26px;
  width: 170px;
  background: linear-gradient(180deg, var(--red) 0%, #b80500 100%);
  box-shadow: 0 3px 10px rgba(0,0,0,0.3);
}

.package__ribbon::before,
.package__ribbon::after {
  content: "";
  border-top: 4px solid #8a0400;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  position: absolute;
  bottom: -4px;
}

.package__ribbon::before {
  left: 0;
}

.package__ribbon::after {
  right: 0;
}

/* Золотой ribbon для премиум */
.package__ribbon--gold {
  background: linear-gradient(180deg, #FFD700 0%, #e6a800 100%);
  color: #1a1a1a;
}

.package__ribbon--gold::before,
.package__ribbon--gold::after {
  border-top-color: #b38600;
}

/* Иконка пакета */
.package__icon {
  padding: 28px 24px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.package__icon svg {
  width: 48px;
  height: 48px;
  color: rgba(255, 255, 255, 0.5);
  transition: all 0.4s ease;
}

.package:hover .package__icon svg {
  color: var(--red);
  transform: scale(1.1);
}

/* Иконка-изображение */
.package__icon--img img {
  display: block !important;
  width: 48px !important;
  height: 48px !important;
  object-fit: contain;
  filter: invert(1);
  opacity: 0.5;
  transition: all 0.4s ease;
}

.package:hover .package__icon--img img {
  filter: invert(19%) sepia(91%) saturate(6167%) hue-rotate(358deg) brightness(93%) contrast(119%);
  opacity: 1;
  transform: scale(1.1);
}

/* Контент карточки */
.package__content {
  flex: 1;
  padding: 0 24px 20px;
}

.package__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.package__tag {
  display: inline-block;
  padding: 5px 10px;
  background: rgba(225, 6, 0, 0.15);
  border: 1px solid rgba(225, 6, 0, 0.3);
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.package__tag--gold {
  background: rgba(255, 215, 0, 0.15);
  border-color: rgba(255, 215, 0, 0.3);
  color: #FFD700;
}

.package__years {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
}

.package__title {
  font-size: 20px;
  font-weight: 800;
  color: var(--white);
  margin: 0 0 10px;
  line-height: 1.2;
}

.package__desc {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.5;
  margin: 0 0 20px;
  min-height: 40px;
}

/* Список включает */
.package__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.package__list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 10px;
  line-height: 1.4;
}

.package__list li:last-child {
  margin-bottom: 0;
}

.package__list li svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: var(--red);
  margin-top: 1px;
}

/* Footer карточки */
.package__footer {
  padding: 18px 24px;
  background: rgba(0, 0, 0, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
}

.package__target {
  display: block;
  font-size: 11px;
  font-style: italic;
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
}

/* Популярный пакет */
.package--popular {
  background: linear-gradient(180deg, rgba(225, 6, 0, 0.1) 0%, rgba(20, 20, 25, 0.95) 100%);
  border-color: rgba(225, 6, 0, 0.25);
  transform: scale(1.02);
}

.package--popular:hover {
  transform: scale(1.02) translateY(-8px);
  border-color: rgba(225, 6, 0, 0.5);
}

.package--popular .package__icon svg {
  color: rgba(225, 6, 0, 0.5);
}

/* Реставрация */
.package--restore {
  background: linear-gradient(180deg, rgba(100, 149, 237, 0.08) 0%, rgba(20, 20, 25, 0.95) 100%);
  border-color: rgba(100, 149, 237, 0.2);
}

.package--restore .package__icon svg {
  color: rgba(100, 149, 237, 0.5);
}

.package--restore:hover .package__icon svg {
  color: #6495ED;
}

.package--restore .package__tag {
  background: rgba(100, 149, 237, 0.15);
  border-color: rgba(100, 149, 237, 0.3);
  color: #6495ED;
}

.package--restore .package__list li svg {
  color: #6495ED;
}

/* Премиум пакет */
.package--premium {
  background: linear-gradient(180deg, rgba(255, 215, 0, 0.1) 0%, rgba(20, 20, 25, 0.95) 100%);
  border-color: rgba(255, 215, 0, 0.25);
}

.package--premium:hover {
  border-color: rgba(255, 215, 0, 0.5);
  box-shadow: 0 30px 60px rgba(255, 215, 0, 0.15);
}

.package--premium .package__icon svg {
  color: rgba(255, 215, 0, 0.5);
}

.package--premium:hover .package__icon svg {
  color: #FFD700;
}

.package--premium .package__list li svg {
  color: #FFD700;
}

/* CTA */
.services__cta {
  text-align: center;
  margin-bottom: 60px;
  padding: 40px;
  background: linear-gradient(135deg, rgba(225, 6, 0, 0.1) 0%, transparent 100%);
  border-radius: 20px;
  border: 1px solid rgba(225, 6, 0, 0.15);
}

.services__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 20px 44px;
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  color: var(--white);
  border-radius: 14px;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 15px 40px rgba(225, 6, 0, 0.35);
  position: relative;
  overflow: hidden;
}

.services__btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.services__btn:hover::before {
  left: 100%;
}

.services__btn svg {
  width: 22px;
  height: 22px;
  transition: transform 0.3s ease;
}

.services__btn:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 20px 50px rgba(225, 6, 0, 0.5);
}

.services__btn:hover svg {
  transform: translateX(6px);
}

/* Extra Services - Minimal Hi-Tech Style */
.extra-services {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.extra-services__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.extra-services__label {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.extra-services__items {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
  justify-content: center;
}

.extra-services__item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  position: relative;
  cursor: default;
}

.extra-services__item svg {
  width: 18px;
  height: 18px;
  color: var(--red);
  opacity: 0.7;
  transition: all 0.3s ease;
}

.extra-services__item:hover {
  color: var(--white);
}

.extra-services__item:hover svg {
  opacity: 1;
  transform: scale(1.15);
}

.extra-services__item::after {
  content: '';
  position: absolute;
  bottom: 8px;
  left: 20px;
  right: 20px;
  height: 1px;
  background: var(--red);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.extra-services__item:hover::after {
  transform: scaleX(1);
}

.extra-services__divider {
  width: 1px;
  height: 20px;
  background: rgba(255, 255, 255, 0.15);
}

/* === PROCESS === */
.process {
  padding: 100px 0;
  background: var(--white);
  position: relative;
  overflow: hidden;
}

/* Заголовок */
.process__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 60px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--gray-200);
}

.process__head-left {
  flex: 1;
}

.process__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--red);
  margin-bottom: 12px;
}

.process__label-dot {
  width: 8px;
  height: 8px;
  background: var(--red);
  border-radius: 50%;
  animation: pulseDot 2s ease-in-out infinite;
}

@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.8); }
}

.process__title {
  font-size: 42px;
  font-weight: 800;
  color: var(--black);
  letter-spacing: -1px;
}

.process__head-right {
  flex: 1;
  max-width: 400px;
  font-size: 16px;
  color: var(--gray-700);
  line-height: 1.6;
  text-align: right;
}

/* Сетка карточек */
.process__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 50px;
}

/* Карточка */
.process__card {
  position: relative;
  padding: 24px 20px 20px;
  border-radius: 16px;
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

.process__card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--red) 0%, var(--red-dark) 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.process__card:not(.process__card--accent):hover {
  background: var(--white);
  border-color: rgba(225, 6, 0, 0.2);
  transform: translateY(-6px);
  box-shadow: 0 15px 40px rgba(225, 6, 0, 0.1);
}

.process__card:hover::before {
  transform: scaleX(1);
}

/* Большой номер */
.process__num {
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
  color: rgba(0, 0, 0, 0.04);
  transition: all 0.4s ease;
}

.process__card:hover .process__num {
  color: rgba(225, 6, 0, 0.1);
}

/* Иконка */
.process__icon {
  width: 44px;
  height: 44px;
  background: var(--white);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.4s ease;
}

.process__icon svg {
  width: 22px;
  height: 22px;
  color: var(--red);
  transition: all 0.3s ease;
}

.process__card:not(.process__card--accent):hover .process__icon {
  background: var(--red);
  box-shadow: 0 4px 15px rgba(225, 6, 0, 0.3);
  transform: scale(1.05);
}

.process__card:not(.process__card--accent):hover .process__icon svg {
  color: var(--white);
}

/* Контент карточки */
.process__body h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--black);
  margin-bottom: 6px;
  transition: all 0.3s ease;
}

.process__body p {
  font-size: 13px;
  color: var(--gray-700);
  line-height: 1.5;
}

/* Стрелка-коннектор */
.process__arrow {
  position: absolute;
  right: -14px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--gray-400);
  z-index: 2;
  transition: all 0.3s ease;
}

.process__card:hover .process__arrow {
  background: var(--red);
  border-color: var(--red);
  color: var(--white);
  box-shadow: 0 4px 12px rgba(225, 6, 0, 0.3);
}

.process__arrow--down {
  right: auto;
  left: 50%;
  top: auto;
  bottom: -14px;
  transform: translateX(-50%);
}

.process__arrow--left {
  right: auto;
  left: -14px;
}

/* Акцентная карточка (финал) */
.process__card--accent {
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  border-color: transparent;
}

.process__card--accent::before {
  display: none;
}

.process__card--accent .process__num {
  color: rgba(255, 255, 255, 0.15);
}

.process__card--accent .process__num svg {
  width: 36px;
  height: 36px;
  color: rgba(255, 255, 255, 0.3);
  transition: all 0.4s ease;
}

.process__card--accent:hover .process__num svg {
  color: rgba(255, 255, 255, 0.85);
  transform: scale(1.1);
}

.process__card--accent .process__icon {
  background: rgba(255, 255, 255, 0.15);
  box-shadow: none;
}

.process__card--accent .process__icon svg {
  color: var(--white);
}

.process__card--accent:hover .process__icon {
  background: var(--white);
}

.process__card--accent:hover .process__icon svg {
  color: var(--red);
}

.process__card--accent .process__body h3,
.process__card--accent .process__body p {
  color: var(--white);
}

.process__card--accent .process__body p {
  opacity: 0.9;
}

.process__card--accent:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 20px 50px rgba(225, 6, 0, 0.35);
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  border-color: transparent;
}

.process__card--accent:hover .process__icon {
  background: var(--white);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.process__card--accent:hover .process__icon svg {
  color: var(--red);
}

/* Декоративная линия внизу */
.process__decor {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.process__decor-line {
  flex: 1;
  max-width: 200px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gray-300), transparent);
}

.process__decor-text {
  font-size: 13px;
  font-weight: 600;
  color: var(--gray-500);
  text-transform: uppercase;
  letter-spacing: 2px;
  white-space: nowrap;
}

/* ==================== WORKS SECTION ==================== */
.works {
  position: relative;
  padding: 120px 0 100px;
  overflow: hidden;
}

.works__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('works-bg.png') center center / cover no-repeat;
  z-index: 0;
}
@supports (background-image: url("data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAUAmJZgCdAEO/gHOAAA=")) {
  .works__bg { background-image: url('works-bg.webp'); }
}

.works__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(10, 10, 15, 0.85) 0%,
    rgba(10, 10, 15, 0.9) 50%,
    rgba(10, 10, 15, 0.85) 100%
  );
  z-index: 1;
}

.works .container {
  position: relative;
  z-index: 3;
}

.works__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Torn edges */
.works__torn-top {
  position: absolute;
  top: -2px;
  left: 0;
  width: 100%;
  height: 50px;
  background: var(--white);
  z-index: 2;
  clip-path: polygon(
    0% 0%,
    0% 55%,
    2% 48%,
    4% 62%,
    6% 45%,
    8% 58%,
    10% 40%,
    12% 55%,
    14% 38%,
    16% 52%,
    18% 42%,
    20% 60%,
    22% 45%,
    24% 55%,
    26% 38%,
    28% 50%,
    30% 42%,
    32% 58%,
    34% 45%,
    36% 52%,
    38% 40%,
    40% 55%,
    42% 48%,
    44% 60%,
    46% 45%,
    48% 55%,
    50% 42%,
    52% 58%,
    54% 45%,
    56% 52%,
    58% 38%,
    60% 55%,
    62% 48%,
    64% 60%,
    66% 42%,
    68% 55%,
    70% 45%,
    72% 58%,
    74% 40%,
    76% 52%,
    78% 48%,
    80% 60%,
    82% 45%,
    84% 55%,
    86% 42%,
    88% 58%,
    90% 48%,
    92% 55%,
    94% 40%,
    96% 52%,
    98% 45%,
    100% 55%,
    100% 0%
  );
}

.works__torn-bottom {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 50px;
  background: var(--white);
  z-index: 2;
  clip-path: polygon(
    0% 100%,
    0% 45%,
    2% 58%,
    4% 40%,
    6% 52%,
    8% 35%,
    10% 48%,
    12% 55%,
    14% 42%,
    16% 50%,
    18% 38%,
    20% 55%,
    22% 45%,
    24% 58%,
    26% 40%,
    28% 52%,
    30% 48%,
    32% 55%,
    34% 38%,
    36% 50%,
    38% 45%,
    40% 58%,
    42% 42%,
    44% 55%,
    46% 38%,
    48% 52%,
    50% 45%,
    52% 58%,
    54% 40%,
    56% 52%,
    58% 48%,
    60% 55%,
    62% 38%,
    64% 50%,
    66% 45%,
    68% 58%,
    70% 42%,
    72% 55%,
    74% 38%,
    76% 50%,
    78% 48%,
    80% 55%,
    82% 42%,
    84% 58%,
    86% 45%,
    88% 52%,
    90% 38%,
    92% 55%,
    94% 48%,
    96% 42%,
    98% 55%,
    100% 45%,
    100% 100%
  );
}

/* Header */
.works__header {
  text-align: center;
  margin-bottom: 60px;
}

.works__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--red);
  margin-bottom: 16px;
}

.works__label::before,
.works__label::after {
  content: '';
  width: 30px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--red));
}

.works__label::after {
  background: linear-gradient(90deg, var(--red), transparent);
}

.works__title {
  font-size: 48px;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: -1px;
}

.works__subtitle {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.85);
  max-width: 500px;
  margin: 0 auto;
}

/* Video Grid */
.works__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  width: 100%;
  max-width: 1100px;
  margin-bottom: 50px;
}

/* ===== NEW VIDEO CARDS - Clean UX ===== */
.works__item {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.4s ease;
}

.works__item--video {
  cursor: pointer;
}

.works__item--video:hover {
  transform: translateY(-8px);
  border-color: rgba(225, 6, 0, 0.4);
  box-shadow: 
    0 20px 50px rgba(0, 0, 0, 0.5),
    0 0 40px rgba(225, 6, 0, 0.2);
}

.works__item--placeholder {
  opacity: 0.6;
}

.works__card {
  position: relative;
  overflow: hidden;
}

/* Poster Image */
.works__poster {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(135deg, #1a1a1f 0%, #0a0a0f 100%);
}

.works__poster img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.works__item--video:hover .works__poster img {
  transform: scale(1.05);
}

.works__poster--soon {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(
    135deg,
    rgba(40, 40, 50, 1) 0%,
    rgba(20, 20, 25, 1) 100%
  );
}

.works__poster--soon span {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 3px;
}

/* Play Button */
.works__play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70px;
  height: 70px;
  background: linear-gradient(135deg, var(--red) 0%, #b8050a 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 0.3s ease;
  box-shadow: 
    0 8px 30px rgba(225, 6, 0, 0.5),
    inset 0 0 20px rgba(255, 255, 255, 0.1);
}

.works__play-btn svg {
  width: 28px;
  height: 28px;
  color: var(--white);
  margin-left: 4px;
}

.works__item--video:hover .works__play-btn {
  transform: translate(-50%, -50%) scale(1.15);
  box-shadow: 
    0 12px 40px rgba(225, 6, 0, 0.6),
    inset 0 0 30px rgba(255, 255, 255, 0.15);
}

.works__play-btn--disabled {
  background: rgba(100, 100, 100, 0.5);
  box-shadow: none;
}

/* Duration Badge */
.works__duration {
  position: absolute;
  bottom: 12px;
  right: 12px;
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--white);
  z-index: 2;
}

/* Decorative Corners */
.works__card::before,
.works__card::after {
  content: '';
  position: absolute;
  width: 35px;
  height: 35px;
  border: 2px solid rgba(225, 6, 0, 0.25);
  z-index: 1;
  transition: all 0.3s ease;
  pointer-events: none;
}

.works__card::before {
  top: 12px;
  left: 12px;
  border-right: none;
  border-bottom: none;
}

.works__card::after {
  bottom: 12px;
  right: 12px;
  border-left: none;
  border-top: none;
}

.works__item--video:hover .works__card::before,
.works__item--video:hover .works__card::after {
  border-color: rgba(225, 6, 0, 0.5);
  width: 45px;
  height: 45px;
}

/* Info Block */
.works__info {
  padding: 18px 16px;
  text-align: center;
  position: relative;
}

.works__info h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 4px;
}

.works__info p {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.85);
}

/* ===== VIDEO MODAL (Lightbox) ===== */
.video-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.video-modal.active {
  opacity: 1;
  visibility: visible;
}

.video-modal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.95);
}

.video-modal__container {
  position: relative;
  width: 90%;
  max-width: 400px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  transform: scale(0.9);
  transition: transform 0.3s ease;
}

.video-modal.active .video-modal__container {
  transform: scale(1);
}

.video-modal__close {
  position: absolute;
  top: -50px;
  right: 0;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 10;
}

.video-modal__close svg {
  width: 20px;
  height: 20px;
  color: var(--white);
}

.video-modal__close:hover {
  background: var(--red);
  transform: rotate(90deg);
}

.video-modal__content {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 16;
  background: #000;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
}

@media (min-width: 768px) {
  .video-modal__container {
    max-width: 360px;
  }
}

/* Mobile: кнопка закрытия видна, safe-area */
@media (max-width: 900px) {
  .video-modal {
    align-items: flex-start;
    padding-top: 16px;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 16px;
  }
  .video-modal__container {
    max-height: 90dvh;
    overflow-y: auto;
  }
  .video-modal__close {
    top: 8px;
    right: 8px;
  }
}
@supports (padding: env(safe-area-inset-top)) {
  @media (max-width: 900px) {
    .video-modal {
      padding-top: calc(16px + env(safe-area-inset-top));
      padding-left: calc(16px + env(safe-area-inset-left));
      padding-right: calc(16px + env(safe-area-inset-right));
      padding-bottom: calc(16px + env(safe-area-inset-bottom));
    }
  }
}

.video-modal__player {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Loading Spinner */
.video-modal__loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  z-index: 5;
  transition: opacity 0.3s ease;
}

.video-modal__loader.hidden {
  opacity: 0;
  pointer-events: none;
}

.video-modal__spinner {
  width: 50px;
  height: 50px;
  border: 3px solid rgba(255, 255, 255, 0.1);
  border-top-color: var(--red);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.video-modal__loader-text {
  margin-top: 15px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.video-modal__info {
  padding: 20px 5px;
  text-align: center;
}

.video-modal__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 6px;
}

.video-modal__desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
}

/* TikTok Button */
.works__more {
  width: 100%;
  max-width: 500px;
}

.works__tiktok {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 30px;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.08) 0%,
    rgba(255, 255, 255, 0.03) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 60px;
  text-decoration: none;
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
}

.works__tiktok::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(225, 6, 0, 0.1),
    transparent
  );
  transition: left 0.5s ease;
}

.works__tiktok:hover::before {
  left: 100%;
}

.works__tiktok:hover {
  border-color: var(--red);
  background: linear-gradient(
    135deg,
    rgba(225, 6, 0, 0.15) 0%,
    rgba(225, 6, 0, 0.08) 100%
  );
  transform: translateY(-4px);
  box-shadow: 0 15px 40px rgba(225, 6, 0, 0.2);
}

.works__tiktok-icon {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #ff0050 0%, #00f2ea 100%);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.works__tiktok-icon svg {
  width: 26px;
  height: 26px;
  color: var(--white);
}

.works__tiktok:hover .works__tiktok-icon {
  transform: scale(1.1) rotate(-5deg);
  box-shadow: 0 5px 20px rgba(255, 0, 80, 0.4);
}

.works__tiktok-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.works__tiktok-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, 0.85);
}

.works__tiktok-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--white);
}

.works__tiktok-arrow {
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.works__tiktok-arrow svg {
  width: 20px;
  height: 20px;
  color: var(--white);
  transition: transform 0.3s ease;
}

.works__tiktok:hover .works__tiktok-arrow {
  background: var(--red);
}

.works__tiktok:hover .works__tiktok-arrow svg {
  transform: translateX(3px);
}

/* ==================== FOOTER ==================== */
.footer {
  background: var(--white);
}

/* Main */
.footer__main {
  padding: 100px 0 80px;
  background: var(--white);
}

/* Header */
.footer__header {
  text-align: center;
  margin-bottom: 60px;
}

.footer__label {
  display: inline-block;
  padding: 10px 24px;
  background: linear-gradient(135deg, rgba(225, 6, 0, 0.1) 0%, rgba(225, 6, 0, 0.05) 100%);
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

.footer__title {
  font-size: 44px;
  font-weight: 900;
  color: var(--dark);
  line-height: 1.2;
  margin-bottom: 16px;
}

.footer__subtitle {
  font-size: 18px;
  color: var(--gray-500);
}

/* Grid */
.footer__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

/* Map Block */
.footer__map-block {
  position: relative;
}

.footer__map {
  height: 500px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.12);
  position: relative;
  content-visibility: auto;
  contain-intrinsic-size: 100% 350px;
}

.footer__map iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.footer__map-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  z-index: 2;
  border-radius: 0 0 24px 24px;
}

.footer__map-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.footer__map-rating {
  display: flex;
  align-items: center;
  gap: 6px;
}

.footer__map-rating svg {
  width: 18px;
  height: 18px;
  fill: #fbbf24;
}

.footer__map-rating span {
  font-size: 14px;
  font-weight: 700;
  color: #fbbf24;
}

.footer__map-name {
  font-size: 18px;
  font-weight: 700;
  color: var(--white);
}

.footer__map-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: var(--white);
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  color: var(--dark);
  text-decoration: none;
  transition: all 0.3s ease;
}

.footer__map-btn svg {
  width: 18px;
  height: 18px;
  color: var(--red);
}

.footer__map-btn:hover {
  background: var(--red);
  color: var(--white);
}

.footer__map-btn:hover svg {
  color: var(--white);
}

/* Info */
.footer__info {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Quick contacts */
.footer__quick {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.footer__phone {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 28px 32px;
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  border-radius: 20px;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.footer__phone::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 150px;
  height: 150px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
}

.footer__phone:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 50px rgba(225, 6, 0, 0.35);
}

.footer__phone-icon {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.footer__phone-icon svg {
  width: 28px;
  height: 28px;
  color: var(--white);
}

.footer__phone-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
}

.footer__phone-number {
  font-size: 26px;
  font-weight: 800;
  color: var(--white);
  letter-spacing: -0.5px;
}

.footer__phone-hint {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
}

.footer__details {
  display: flex;
  gap: 24px;
}

.footer__detail {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 24px;
  background: var(--gray-100);
  border-radius: 14px;
  flex: 1;
}

.footer__detail svg {
  width: 22px;
  height: 22px;
  color: var(--red);
  flex-shrink: 0;
}

.footer__detail span,
.footer__detail address {
  font-size: 15px;
  font-weight: 600;
  color: var(--dark);
}
address { font-style: normal; }

/* Form Block */
.footer__form-block {
  padding: 36px;
  background: var(--gray-100);
  border-radius: 24px;
  border: 1px solid var(--gray-200);
}

.footer__form-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 28px;
}

.footer__form-icon {
  width: 52px;
  height: 52px;
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.footer__form-icon svg {
  width: 24px;
  height: 24px;
  color: var(--white);
}

.footer__form-header h3 {
  font-size: 22px;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 4px;
}

.footer__form-header p {
  font-size: 14px;
  color: var(--gray-600);
}

.footer__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer__form-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.footer__form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer__form-field label {
  font-size: 13px;
  font-weight: 600;
  color: var(--gray-600);
  padding-left: 4px;
}

.footer__form input {
  width: 100%;
  padding: 18px 20px;
  background: var(--white);
  border: 2px solid var(--gray-200);
  border-radius: 14px;
  font-size: 16px;
  font-family: var(--font);
  color: var(--dark);
  outline: none;
  transition: all 0.3s ease;
}

.footer__form input::placeholder {
  color: var(--gray-400);
}

.footer__form input:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 4px rgba(225, 6, 0, 0.1);
}

.footer__form button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px 32px;
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  border: none;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 700;
  font-family: var(--font);
  color: var(--white);
  cursor: pointer;
  transition: all 0.3s ease;
}

.footer__form button svg {
  width: 22px;
  height: 22px;
}

.footer__form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 40px rgba(225, 6, 0, 0.35);
}

.footer__form-success {
  display: none;
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
  background: #dcfce7;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 600;
  color: #16a34a;
}

.footer__form-success.active {
  display: flex;
}

.footer__form-success svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

/* Socials */
.footer__socials {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer__socials-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--gray-500);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.footer__socials-list {
  display: flex;
  gap: 12px;
}

.footer__social {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--gray-100);
  border-radius: 14px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.footer__social svg {
  width: 24px;
  height: 24px;
  transition: all 0.3s ease;
}

.footer__social span {
  font-size: 14px;
  font-weight: 600;
  color: var(--dark);
  transition: all 0.3s ease;
}

.footer__social[data-social="whatsapp"] svg { color: #25d366; }
.footer__social[data-social="telegram"] svg { color: #0088cc; }
.footer__social[data-social="instagram"] svg { color: #e1306c; }
.footer__social[data-social="tiktok"] svg { color: #010101; }

.footer__social:hover {
  transform: translateY(-3px);
}

.footer__social[data-social="whatsapp"]:hover {
  background: #25d366;
}
.footer__social[data-social="telegram"]:hover {
  background: #0088cc;
}
.footer__social[data-social="instagram"]:hover {
  background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af);
}
.footer__social[data-social="tiktok"]:hover {
  background: #010101;
}

.footer__social:hover svg,
.footer__social:hover span {
  color: var(--white);
}

/* Copyright */
.footer__copy {
  padding: 24px 0;
  background: var(--gray-100);
  border-top: 1px solid var(--gray-200);
}

.footer__copy .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer__copy span {
  font-size: 13px;
  color: var(--gray-700);
}

.footer__copy a {
  font-size: 13px;
  color: var(--gray-700);
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer__copy a:hover {
  color: var(--red);
}

/* Old responsive removed - moved to FULL RESPONSIVE block */

/* ==================== FULL RESPONSIVE ==================== */

/* === HEADER OFFSET (scroll-padding для якорей) === */
/* Desktop: 68px, ≤900: 56px, ≤600: 50px, ≤400: 46px */
@media (max-width: 900px) {
  :root { --header-offset: 56px; }
}
@media (max-width: 600px) {
  :root { --header-offset: 50px; }
}

/* === SCROLL LOCK (body.no-scroll) === */
body.no-scroll {
  overflow: hidden;
}

/* === PREVENT HORIZONTAL OVERFLOW === */
html, body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

img, video {
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
}

/* === BURGER BUTTON (hidden on desktop) === */
.burger {
  display: none;
  width: 44px;
  height: 44px;
  background: none;
  border: 2px solid var(--gray-200);
  border-radius: 10px;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.burger span {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--black);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.3s ease;
  border-radius: 2px;
}

.burger span:nth-child(1) { top: 13px; }
.burger span:nth-child(2) { top: 20px; }
.burger span:nth-child(3) { top: 27px; }

.burger.active {
  border-color: var(--red);
}

.burger.active span:nth-child(1) {
  top: 20px;
  transform: translateX(-50%) rotate(45deg);
  background: var(--red);
}

.burger.active span:nth-child(2) {
  opacity: 0;
}

.burger.active span:nth-child(3) {
  top: 20px;
  transform: translateX(-50%) rotate(-45deg);
  background: var(--red);
}

/* === MOBILE MENU PANEL (hidden on desktop) === */
.mobile-menu {
  display: none;
}

/* ==============================================
   MOBILE-FIRST RESPONSIVE — Based on:
   - 16px min body text (Google/WCAG)
   - 1.5+ line-height
   - 4.5:1 contrast ratio
   - 44px min touch targets
   - 16px side padding
   - 35-50 chars per line on mobile
   ============================================== */

/* ==============================================
   UNIFIED RESPONSIVE SYSTEM
   Devices: Desktop > 1200 > 900 > 768 > 600 > 400
   - 1200px: small desktop / large tablet landscape
   - 900px: tablet portrait (burger menu)
   - 768px: iPad portrait / large Android tablets
   - 600px: phones (Android/iPhone)
   - 400px: small phones (iPhone SE, Galaxy S)
   ============================================== */

/* ============= LARGE TABLET / SMALL DESKTOP (max 1200px) ============= */
@media (max-width: 1200px) {
  .extra-services__row { flex-direction: column; gap: 16px; }
  .extra-services__divider { display: none; }
  .extra-services__items { flex-wrap: wrap; gap: 8px; }
  .extra-services__item { padding: 10px 16px; min-height: 44px; font-size: 13px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); border-radius: 8px; }
  .extra-services__item::after { display: none; }
  .packages { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .package--popular { transform: none; }
  .process__grid { grid-template-columns: repeat(3, 1fr); }
  .process__arrow { display: none; }
  
  /* Slightly reduce hero button */
  .hero__btn { padding: 18px 40px; font-size: 15px; gap: 12px; }
  .hero__btn svg { width: 20px; height: 20px; }
  .services__btn { padding: 16px 36px; font-size: 15px; }
}

/* ============= TABLET (max 900px) ============= */
@media (max-width: 900px) {
  /* === Header === */
  .header__inner { height: 56px; gap: 12px; }
  .nav { display: none; }
  .header__phone { display: none; }
  .btn-call { padding: 9px 16px; font-size: 12px; }
  .burger { display: block; }

  /* Mobile menu */
  .mobile-menu { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9999; background: var(--white); flex-direction: column; overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .mobile-menu.active { display: flex; }
  .mobile-menu__header { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; border-bottom: 1px solid var(--gray-200); flex-shrink: 0; }
  .mobile-menu__close { width: 44px; height: 44px; background: none; border: 2px solid var(--gray-200); border-radius: 10px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
  .mobile-menu__close svg { width: 20px; height: 20px; color: var(--black); }
  .mobile-menu__close:hover { border-color: var(--red); background: var(--red); }
  .mobile-menu__close:hover svg { color: var(--white); }
  .mobile-menu__body { flex: 1; padding: 24px 20px; display: flex; flex-direction: column; gap: 28px; }
  .mobile-menu__nav { display: flex; flex-direction: column; }
  .mobile-menu__nav a { display: block; padding: 16px 0; font-size: 18px; font-weight: 700; color: var(--black); border-bottom: 1px solid var(--gray-100); }
  .mobile-menu__nav a:active { color: var(--red); }
  .mobile-menu__contact { display: flex; flex-direction: column; gap: 12px; }
  .mobile-menu__phone { display: flex; align-items: center; gap: 12px; padding: 16px; background: var(--gray-100); border-radius: 14px; text-decoration: none; }
  .mobile-menu__phone-icon { width: 44px; height: 44px; background: var(--red); border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .mobile-menu__phone-icon svg { width: 20px; height: 20px; color: var(--white); }
  .mobile-menu__phone-text { display: flex; flex-direction: column; }
  .mobile-menu__phone-number { font-size: 18px; font-weight: 800; color: var(--black); }
  .mobile-menu__phone-hours { font-size: 13px; color: var(--gray-500); }
  .mobile-menu__socials { display: flex; gap: 8px; justify-content: center; }
  .mobile-menu__socials .social { width: 44px; height: 44px; border-radius: 12px; }
  .mobile-menu__socials .social svg { width: 20px; height: 20px; }
  .mobile-menu__badges { display: flex; flex-direction: column; gap: 8px; }
  .mobile-menu__badges .badge-tech { justify-content: center; padding: 10px 16px; font-size: 11px; border-radius: 10px; }
  .mobile-menu__cta { margin-top: auto; padding: 16px; background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%); border: none; border-radius: 12px; font-family: var(--font); font-size: 15px; font-weight: 700; color: var(--white); cursor: pointer; text-align: center; width: 100%; }

  /* === Hero === */
  .hero { min-height: auto; }
  /* Background image removed - handled by HTML picture tag */
  .hero__inner { padding: 40px 0 48px; }
  .hero__title { font-size: 34px; margin-bottom: 12px; }
  .hero__slogan { font-size: 26px; margin-bottom: 20px; }
  .hero__sub { font-size: 13px; padding: 7px 18px; }
  .hero__snippet { padding: 16px 6px; border-radius: 12px; }
  .hero__snippet-item { padding: 0 18px; }
  .hero__snippet-value { font-size: 16px; }
  .hero__snippet-label { font-size: 11px; max-width: 140px; }
  .hero__steps { font-size: 13px; margin-bottom: 24px; }
  .hero__btn { padding: 16px 32px; font-size: 15px; gap: 10px; margin-bottom: 32px; }
  .hero__btn svg { width: 18px; height: 18px; }
  .hero__cards { grid-template-columns: 1fr; gap: 8px; }
  .hero__card { padding: 14px 16px; gap: 10px; }
  .hero__card-icon { width: 40px; height: 40px; }
  .hero__card-icon svg { width: 20px; height: 20px; }
  .hero__card span { font-size: 14px; }
  .hero__torn { height: 24px; }

  /* === About === */
  .about { padding: 44px 0; }
  .about__wrapper { grid-template-columns: 1fr; gap: 28px; }
  .about__left { position: static; order: 2; display: grid; grid-template-columns: auto 1fr 1fr; gap: 10px; align-items: center; }
  .about__big-number { margin-bottom: 0; flex-direction: column; align-items: center; gap: 0; }
  .about__big-num { font-size: 48px; line-height: 1; }
  .about__big-label { padding-bottom: 0; align-items: center; }
  .about__big-label span { font-size: 13px; }
  .about__mini-stats { display: contents; }
  .about__mini-stat { text-align: center; padding: 12px 8px; border-radius: 10px; }
  .about__mini-stat .num { font-size: 17px; }
  .about__mini-stat .text { font-size: 11px; }
  .yandex-widget { grid-column: 1 / -1; padding: 12px; flex-direction: row; align-items: center; gap: 10px; }
  .yandex-widget__header { margin-bottom: 0; }
  .yandex-widget__rating { margin-bottom: 0; }
  .yandex-widget__score { font-size: 20px; }
  .yandex-widget__footer { padding-top: 0; border-top: none; margin-left: auto; }
  .about__right { order: 1; padding-top: 0; }
  .about__title { font-size: 24px; margin-bottom: 20px; }
  .about__desc { padding-left: 14px; margin-bottom: 20px; }
  .about__desc p { font-size: 14px; line-height: 1.6; }
  .about__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .about__item { padding: 14px; }
  .about__item h3 { font-size: 13px; }
  .about__item p { font-size: 12px; line-height: 1.5; }
  .about__report { padding: 14px; gap: 10px; }
  .about__report-icon { width: 40px; height: 40px; min-width: 40px; border-radius: 10px; }
  .about__report-icon svg { width: 20px; height: 20px; }
  .about__report-content strong { font-size: 14px; }
  .about__report-content span { font-size: 12px; }
  .guarantee-block { padding: 20px; border-radius: 16px; }
  .guarantee-block__header { margin-bottom: 16px; }
  .guarantee-block__heading { font-size: 11px; }
  .guarantee-block__icon { width: 40px; height: 40px; }
  .guarantee-block__icon svg { width: 20px; height: 20px; }
  .guarantee-block__value { font-size: 20px; }
  .guarantee-block__label { font-size: 12px; }
  .guarantee-block__divider { height: 50px; }

  /* === Services === */
  .services { padding: 52px 0; }
  .services__torn-top, .services__torn-bottom { height: 20px; }
  .services__header { margin-bottom: 24px; }
  .services__title { font-size: 24px; }
  .services__subtitle { font-size: 14px; }
  .services__btn { padding: 14px 28px; font-size: 14px; gap: 10px; }
  .services__btn svg { width: 18px; height: 18px; }
  .services__cta { margin-top: 24px; }
  .extra-services { padding: 16px; margin-top: 20px; border-radius: 12px; }
  .extra-services__title { font-size: 12px; }

  /* Packages → scroll (без negative margin, безопасный overflow) */
  .packages { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 12px; padding-bottom: 8px; margin: 0; padding-left: 16px; padding-right: 16px; -ms-overflow-style: none; scrollbar-width: none; }
  .packages::-webkit-scrollbar { display: none; }
  .package { min-width: 260px; max-width: 280px; flex-shrink: 0; scroll-snap-align: start; }
  .package--popular, .package:hover { transform: none; }
  .package__icon { padding: 20px 16px 14px; }
  .package__icon svg { width: 36px; height: 36px; }
  .package__content { padding: 0 16px 16px; }
  .package__title { font-size: 16px; }
  .package__desc { font-size: 12px; line-height: 1.5; min-height: auto; }
  .package__list li { font-size: 12px; line-height: 1.35; margin-bottom: 6px; }
  .package__list li svg { width: 14px; height: 14px; min-width: 14px; }
  .package__footer { padding: 12px 16px; }
  .package__target { font-size: 11px; }
  .package__ribbon-wrap { width: auto; height: auto; overflow: visible; position: absolute; top: 10px; right: 10px; left: auto; }
  .package__ribbon { transform: none; position: static; width: auto; padding: 4px 10px; font-size: 10px; border-radius: 5px; box-shadow: 0 2px 8px rgba(225,6,0,0.3); }
  .package__ribbon::before, .package__ribbon::after { display: none; }
  .package__ribbon--gold { box-shadow: 0 2px 8px rgba(255,215,0,0.3); }

  /* === Process === */
  .process { padding: 44px 0; }
  .process__head { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 24px; }
  .process__title { font-size: 24px; }
  .process__head-right { font-size: 13px; }
  .process__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .process__card { padding: 16px 14px; }
  .process__num { font-size: 24px; }
  .process__body h3 { font-size: 14px; }
  .process__body p { font-size: 12px; line-height: 1.4; }
  .process__decor-line { width: 50%; }

  /* === Works === */
  .works { padding: 44px 0 36px; }
  .works__header { margin-bottom: 24px; }
  .works__title { font-size: 24px; }
  .works__subtitle { font-size: 13px; }
  .works__grid { grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .works__play-btn { width: 44px; height: 44px; }
  .works__play-btn svg { width: 18px; height: 18px; }
  .works__info { padding: 8px 10px; }
  .works__info h3 { font-size: 13px; line-height: 1.3; }
  .works__info p { font-size: 12px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .works__tiktok { padding: 14px; gap: 10px; border-radius: 12px; }
  .works__tiktok-icon { width: 40px; height: 40px; border-radius: 10px; }
  .works__tiktok-icon svg { width: 20px; height: 20px; }
  .works__tiktok-title { font-size: 15px; }
  .works__tiktok-label { font-size: 11px; }
  .works__tiktok-arrow { width: 36px; height: 36px; }

  /* === Reviews === */
  .reviews { padding: 44px 0; }
  .reviews__header { margin-bottom: 24px; }
  .reviews__title { font-size: 24px; }
  .reviews__subtitle { font-size: 13px; }
  .reviews__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 24px; }
  .reviews__card:nth-child(n+5) { display: none; }
  .reviews__card { padding: 16px; gap: 12px; border-radius: 12px; }
  .reviews__avatar { width: 36px; height: 36px; font-size: 15px; }
  .reviews__name { font-size: 13px; }
  .reviews__car { font-size: 11px; }
  .reviews__stars svg { width: 14px; height: 14px; }
  .reviews__text { font-size: 13px; line-height: 1.6; }
  .reviews__yandex-link { padding: 12px 20px; gap: 12px; border-radius: 12px; }
  .reviews__yandex-score { font-size: 14px; }
  .reviews__yandex-text { font-size: 11px; }

  /* === FAQ === */
  .faq { padding: 44px 0; }
  .faq__torn-top, .faq__torn-bottom { height: 20px; }
  .faq__wrapper { grid-template-columns: 1fr; gap: 24px; }
  .faq__sidebar { position: static; }
  .faq__title { font-size: 24px; }
  .faq__title br { display: none; }
  .faq__subtitle { font-size: 13px; margin-bottom: 16px; }
  .faq__cta { padding: 16px; border-radius: 12px; flex-direction: row; align-items: center; gap: 14px; }
  .faq__cta-icon { width: 40px; height: 40px; min-width: 40px; border-radius: 10px; }
  .faq__cta-icon svg { width: 18px; height: 18px; }
  .faq__cta-text { font-size: 13px; }
  .faq__cta-link { font-size: 13px; }
  .faq__list { gap: 8px; }
  .faq__item { border-radius: 12px; }
  .faq__item::before { border-radius: 12px 0 0 12px; }
  .faq__question { padding: 16px; gap: 10px; }
  .faq__num { font-size: 11px; width: 24px; }
  .faq__q-text { font-size: 14px; }
  .faq__toggle { width: 28px; height: 28px; border-radius: 6px; }
  .faq__toggle svg { width: 14px; height: 14px; }
  .faq__answer { padding: 0 16px 16px 50px; }
  .faq__answer p { font-size: 13px; line-height: 1.6; }

  /* === Package Price === */
  .package__price { font-size: 14px; }
  .package__price span { font-size: 22px; }

  /* === Footer === */
  .footer__main { padding: 44px 0 32px; }
  .footer__grid { grid-template-columns: 1fr; gap: 20px; }
  .footer__map-block { position: static; }
  .footer__map { height: 260px; border-radius: 16px; }
  .footer__title { font-size: 24px; }
  .footer__subtitle { font-size: 14px; }
  .footer__details { flex-direction: column; gap: 8px; }
  .footer__detail { font-size: 13px; padding: 12px; }
  .footer__form-fields { grid-template-columns: 1fr; gap: 8px; }
  .footer__form-field input { font-size: 16px; padding: 14px; }
  .footer__form button { padding: 14px; font-size: 14px; }
  .footer__form button svg { width: 18px; height: 18px; }
  .footer__social span { display: none; }
  .footer__social { padding: 12px; border-radius: 10px; }
  .footer__socials { align-items: center; }
  .footer__socials-list { justify-content: center; flex-wrap: wrap; }
  .footer__phone { padding: 16px; }
  .footer__phone-number { font-size: 20px; }
  .footer__form-block { padding: 20px; border-radius: 14px; }
  .footer__form-header h3 { font-size: 18px; }
  .footer__copy { padding: 16px 0; font-size: 12px; }
  .footer__copy .container { flex-direction: column; gap: 8px; text-align: center; }
}

/* ============= MOBILE PHONES (max 600px) ============= */
/* iOS zoom fix: input/textarea/select font-size >= 16px на мобилке */
@media (max-width: 600px) {
  input, textarea, select {
    font-size: 16px !important;
  }
  .header__inner { height: 50px; }
  .logo__icon { width: 28px; height: 28px; }
  .logo__name { font-size: 15px; }
  .logo__sub { font-size: 9px; letter-spacing: 2px; }
  .btn-call { padding: 8px 14px; font-size: 11px; }

  /* Hero */
  .hero__inner { padding: 32px 0 40px; }
  .hero__sub { font-size: 12px; padding: 6px 14px; }
  .hero__title { font-size: 24px; line-height: 1.1; margin-bottom: 10px; }
  .hero__slogan { font-size: 18px; margin-bottom: 20px; }
  .hero__snippet { flex-direction: column; padding: 14px 20px; border-radius: 12px; gap: 0; }
  .hero__snippet-item { padding: 10px 0; flex-direction: row; gap: 10px; }
  .hero__snippet-value { font-size: 15px; white-space: nowrap; }
  .hero__snippet-label { font-size: 11px; max-width: none; text-align: left; }
  .hero__snippet-divider { width: 100%; height: 1px; align-self: auto; }
  .hero__steps { font-size: 12px; margin-bottom: 20px; }
  .hero__btn { width: 100%; justify-content: center; padding: 14px; font-size: 14px; gap: 8px; margin-bottom: 20px; }
  .hero__card { padding: 12px 14px; gap: 8px; border-radius: 8px; }
  .hero__card-icon { width: 34px; height: 34px; border-radius: 8px; }
  .hero__card-icon svg { width: 16px; height: 16px; }
  .hero__card span { font-size: 13px; }
  .hero__torn { height: 14px; }

  /* About */
  .about { padding: 32px 0; }
  .about__wrapper { gap: 20px; }
  .about__left { grid-template-columns: 1fr 1fr; gap: 6px; }
  .about__big-number { grid-column: 1 / -1; margin-bottom: 2px; }
  .about__big-num { font-size: 44px; }
  .about__big-label span { font-size: 12px; }
  .about__mini-stat { padding: 10px 6px; }
  .about__mini-stat .num { font-size: 15px; }
  .about__mini-stat .text { font-size: 10px; }
  .yandex-widget { flex-direction: column; align-items: stretch; padding: 12px; }
  .yandex-widget__header { margin-bottom: 12px; }
  .yandex-widget__rating { margin-bottom: 12px; flex-wrap: wrap; }
  .yandex-widget__footer { padding-top: 12px; border-top: 1px solid var(--gray-200); margin-left: 0; }
  .yandex-widget__score { font-size: 18px; }
  .about__title { font-size: 20px; margin-bottom: 16px; }
  .about__title br { display: none; }
  .about__label { font-size: 10px; padding: 4px 10px; margin-bottom: 12px; }
  .about__desc { padding-left: 12px; margin-bottom: 16px; }
  .about__desc p { font-size: 13px; }
  .about__grid { gap: 6px; margin-bottom: 10px; }
  .about__item { padding: 12px; border-radius: 8px; }
  .about__item-num { font-size: 10px; margin-bottom: 4px; }
  .about__item h3 { font-size: 12px; margin-bottom: 3px; }
  .about__item p { font-size: 11px; }
  .guarantee-block { padding: 16px; border-radius: 14px; }
  .guarantee-block__header { margin-bottom: 12px; gap: 8px; }
  .guarantee-block__shield { width: 16px; height: 16px; }
  .guarantee-block__heading { font-size: 10px; }
  .guarantee-block__items { flex-direction: column; gap: 0; }
  .guarantee-block__item { flex-direction: row; text-align: left; padding: 12px 0; gap: 12px; }
  .guarantee-block__icon { width: 40px; height: 40px; min-width: 40px; }
  .guarantee-block__icon svg { width: 20px; height: 20px; }
  .guarantee-block__value { font-size: 18px; }
  .guarantee-block__label { font-size: 11px; }
  .guarantee-block__divider { width: 100%; height: 1px; }
  .about__report { padding: 12px; gap: 8px; border-radius: 10px; }
  .about__report-icon { width: 36px; height: 36px; min-width: 36px; }
  .about__report-icon svg { width: 18px; height: 18px; }
  .about__report-content strong { font-size: 12px; }
  .about__report-content span { font-size: 11px; }

  /* Services */
  .services { padding: 36px 0; }
  .services__torn-top, .services__torn-bottom { height: 12px; }
  .services__header { margin-bottom: 16px; }
  .services__title { font-size: 20px; }
  .services__subtitle { font-size: 12px; }
  .services__btn { padding: 14px; font-size: 13px; }
  .extra-services { padding: 12px; margin-top: 14px; }
  .extra-services__title { font-size: 11px; }
  .extra-services__items { gap: 8px; }
  .extra-services__item { font-size: 12px; padding: 10px 12px; min-height: 44px; }
  .package { min-width: 240px; max-width: 260px; }
  .package__icon { padding: 16px 12px 10px; }
  .package__icon svg { width: 32px; height: 32px; }
  .package__content { padding: 0 12px 12px; }
  .package__top { margin-bottom: 8px; }
  .package__tag { padding: 3px 8px; font-size: 9px; }
  .package__years { font-size: 10px; }
  .package__title { font-size: 15px; margin-bottom: 6px; }
  .package__desc { font-size: 11px; margin-bottom: 10px; }
  .package__list li { font-size: 12px; line-height: 1.35; margin-bottom: 4px; gap: 5px; }
  .package__list li svg { width: 13px; height: 13px; min-width: 13px; }
  .package__footer { padding: 10px 12px; }
  .package__target { font-size: 11px; }
  .package__ribbon { padding: 4px 8px; font-size: 10px; }

  /* Process */
  .process { padding: 32px 0; }
  .process__head { margin-bottom: 16px; }
  .process__title { font-size: 20px; }
  .process__head-right { font-size: 12px; }
  .process__grid { gap: 6px; }
  .process__card { padding: 12px 10px; border-radius: 10px; }
  .process__num { font-size: 20px; }
  .process__body h3 { font-size: 12px; }
  .process__body p { font-size: 12px; line-height: 1.4; }
  .process__decor, .process__decor-line, .process__decor-text { display: none; }
  .process__grid { counter-reset: process-step; }
  .process__card { counter-increment: process-step; position: relative; padding-left: 36px; }
  .process__card::after { content: counter(process-step); position: absolute; left: 0; top: 12px; width: 24px; height: 24px; border-radius: 50%; background: var(--red); color: var(--white); font-size: 11px; font-weight: 700; line-height: 24px; text-align: center; z-index: 1; }
  .process__card.process__card--accent::after { content: "✓"; font-size: 14px; }

  /* Works */
  .works { padding: 32px 0 24px; }
  .works__header { margin-bottom: 16px; }
  .works__title { font-size: 20px; }
  .works__subtitle { font-size: 12px; }
  .works__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .works__grid .works__item:last-child { grid-column: span 1; max-width: 100%; }
  .works__item { border-radius: 8px; }
  .works__play-btn { width: 32px; height: 32px; }
  .works__play-btn svg { width: 12px; height: 12px; }
  .works__info { padding: 5px 6px; }
  .works__info h3 { font-size: 13px; line-height: 1.3; }
  .works__info p { display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 11px; line-height: 1.35; color: rgba(255,255,255,0.8); }
  .works__tiktok { padding: 12px; gap: 8px; border-radius: 10px; }
  .works__tiktok-icon { width: 36px; height: 36px; border-radius: 8px; }
  .works__tiktok-icon svg { width: 18px; height: 18px; }
  .works__tiktok-title { font-size: 13px; }
  .works__tiktok-label { font-size: 10px; }
  .works__tiktok-arrow { width: 28px; height: 28px; }
  .works__tiktok-arrow svg { width: 14px; height: 14px; }

  /* Reviews */
  .reviews { padding: 32px 0; }
  .reviews__header { margin-bottom: 16px; }
  .reviews__title { font-size: 20px; }
  .reviews__subtitle { font-size: 12px; }
  .reviews__grid { grid-template-columns: 1fr; gap: 10px; margin-bottom: 16px; }
  .reviews__card:nth-child(n+4) { display: none; }
  .reviews__card { padding: 14px; gap: 10px; }
  .reviews__avatar { width: 32px; height: 32px; font-size: 14px; }
  .reviews__name { font-size: 13px; }
  .reviews__stars svg { width: 12px; height: 12px; }
  .reviews__text { font-size: 12px; line-height: 1.6; }
  .reviews__yandex-link { padding: 12px 14px; gap: 10px; border-radius: 10px; }
  .reviews__yandex-link img { width: 32px; height: auto; }
  .reviews__yandex-score { font-size: 13px; }
  .reviews__yandex-text { font-size: 10px; }
  .reviews__yandex-link svg { width: 16px; height: 16px; }

  /* FAQ */
  .faq { padding: 32px 0; }
  .faq__torn-top, .faq__torn-bottom { height: 12px; }
  .faq__wrapper { gap: 16px; }
  .faq__title { font-size: 20px; margin-bottom: 10px; }
  .faq__label { font-size: 10px; letter-spacing: 2px; gap: 6px; margin-bottom: 8px; }
  .faq__label-dot { width: 6px; height: 6px; }
  .faq__subtitle { font-size: 12px; margin-bottom: 12px; }
  .faq__cta { padding: 14px 16px; border-radius: 10px; flex-direction: column; align-items: flex-start; gap: 10px; }
  .faq__cta-icon { width: 36px; height: 36px; min-width: 36px; border-radius: 8px; }
  .faq__cta-icon svg { width: 16px; height: 16px; }
  .faq__cta-text { font-size: 12px; line-height: 1.5; }
  .faq__cta-link { font-size: 12px; }
  .faq__list { gap: 6px; }
  .faq__item { border-radius: 10px; }
  .faq__item::before { border-radius: 10px 0 0 10px; }
  .faq__question { padding: 12px; gap: 8px; align-items: flex-start; }
  .faq__num { font-size: 10px; width: 20px; line-height: 1.4; padding-top: 2px; }
  .faq__q-text { font-size: 13px; }
  .faq__toggle { width: 26px; height: 26px; min-width: 26px; margin-top: 0; }
  .faq__toggle svg { width: 12px; height: 12px; }
  .faq__answer { padding: 0 12px 14px 40px; }
  .faq__answer p { font-size: 12px; line-height: 1.6; }

  /* Package Price */
  .package__price { font-size: 13px; }
  .package__price span { font-size: 20px; }

  /* Footer */
  .footer__main { padding: 32px 0 24px; }
  .footer__header { margin-bottom: 16px; }
  .footer__title { font-size: 20px; }
  .footer__subtitle { font-size: 12px; }
  .footer__grid { gap: 14px; }
  .footer__map { height: 180px; border-radius: 12px; }
  .footer__map-overlay { padding: 8px; gap: 6px; border-radius: 0 0 12px 12px; }
  .footer__map-name { font-size: 12px; }
  .footer__map-btn { padding: 6px 12px; font-size: 11px; border-radius: 6px; }
  .footer__phone { padding: 12px; border-radius: 10px; }
  .footer__phone-icon { width: 40px; height: 40px; }
  .footer__phone-number { font-size: 18px; }
  .footer__detail { padding: 8px 10px; font-size: 12px; border-radius: 8px; }
  .footer__form-block { padding: 14px; border-radius: 10px; }
  .footer__form-header h3 { font-size: 15px; }
  .footer__form-header p { font-size: 11px; }
  .footer__form-field label { font-size: 12px; }
  .footer__form-field input { padding: 12px; font-size: 16px; border-radius: 8px; }
  .footer__form button { padding: 12px; font-size: 13px; border-radius: 8px; }
  .footer__socials-list .social { width: 40px; height: 40px; }
  .consent-checkbox__text { font-size: 11px; }
  .consent-checkbox__mark { width: 18px; height: 18px; min-width: 18px; }
  .mobile-menu__nav a { font-size: 16px; padding: 14px 0; }
}

/* ============= SMALL PHONES (max 400px) ============= */
@media (max-width: 400px) {
  .container { width: 94%; }
  .header__inner { height: 46px; }
  .logo__icon { width: 24px; height: 24px; }
  .logo__name { font-size: 14px; }
  .logo__sub { font-size: 8px; letter-spacing: 1.5px; }
  .hero__title { font-size: 22px; margin-bottom: 8px; }
  .hero__slogan { font-size: 16px; margin-bottom: 18px; }
  .hero__sub { font-size: 11px; }
  .hero__snippet { flex-direction: column; padding: 12px 16px; gap: 0; }
  .hero__snippet-item { padding: 10px 0; flex-direction: row; gap: 8px; }
  .hero__snippet-value { font-size: 14px; }
  .hero__snippet-label { font-size: 11px; text-align: left; max-width: none; }
  .hero__snippet-divider { width: 100%; height: 1px; align-self: auto; }
  .hero__card span { font-size: 12px; }
  .hero__btn { padding: 12px; font-size: 13px; }
  .about__big-num { font-size: 36px; }
  .about__big-label span { font-size: 11px; }
  .about__title { font-size: 18px; }
  .about__item h3 { font-size: 11px; }
  .about__item p { font-size: 12px; }
  .guarantee-block { padding: 14px 12px; border-radius: 12px; }
  .guarantee-block__header { margin-bottom: 10px; }
  .guarantee-block__icon { width: 36px; height: 36px; min-width: 36px; }
  .guarantee-block__icon svg { width: 18px; height: 18px; }
  .guarantee-block__value { font-size: 16px; }
  .guarantee-block__item { padding: 10px 0; gap: 10px; }
  .works__grid { grid-template-columns: 1fr; gap: 8px; }
  .services__title, .process__title, .works__title, .reviews__title, .faq__title { font-size: 18px; }
  .package { min-width: 220px; }
  .package__title { font-size: 14px; }
  .footer__title { font-size: 18px; }
  .footer__map { height: 160px; }
  .footer__phone-number { font-size: 16px; }
  .callback-modal__box { padding: 20px 14px 14px; border-radius: 14px; }
  .callback-modal__icon { width: 48px; height: 48px; margin-bottom: 14px; }
  .callback-modal__title { font-size: 18px; }
  .callback-modal__subtitle { font-size: 12px; }
  .callback-modal__btn { padding: 12px; font-size: 13px; }
  .modal-input input { font-size: 16px; height: 48px; }
  .mobile-menu__nav a { font-size: 15px; }
  .mobile-menu__phone-number { font-size: 15px; }
  .mobile-menu__cta { padding: 14px; font-size: 14px; }
}

/* === SAFE AREA (notch/dynamic island) === */
@supports (padding: env(safe-area-inset-bottom)) {
  .header { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
  .mobile-menu__body { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
}

/* === PRINT === */
@media print {
  .header, .callback-modal, .video-modal, .mobile-menu { display: none !important; }
}


/* ==================== CALLBACK MODAL ==================== */
.callback-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.callback-modal.active {
  opacity: 1;
  visibility: visible;
}

/* Backdrop с градиентом */
.callback-modal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(20, 20, 20, 0.9) 0%, rgba(50, 0, 0, 0.85) 100%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Плавающие частицы */
.callback-modal__particles {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  pointer-events: none;
}

.callback-modal__particles span {
  position: absolute;
  width: 6px;
  height: 6px;
  background: var(--red);
  border-radius: 50%;
  opacity: 0;
  animation: modalParticle 4s infinite;
}

.callback-modal.active .callback-modal__particles span {
  opacity: 0.6;
}

.callback-modal__particles span:nth-child(1) {
  left: 10%;
  animation-delay: 0s;
}
.callback-modal__particles span:nth-child(2) {
  left: 30%;
  animation-delay: 0.8s;
}
.callback-modal__particles span:nth-child(3) {
  left: 50%;
  animation-delay: 1.6s;
}
.callback-modal__particles span:nth-child(4) {
  left: 70%;
  animation-delay: 2.4s;
}
.callback-modal__particles span:nth-child(5) {
  left: 90%;
  animation-delay: 3.2s;
}

@keyframes modalParticle {
  0% {
    transform: translateY(100vh) scale(0);
    opacity: 0;
  }
  10% {
    opacity: 0.6;
  }
  90% {
    opacity: 0.6;
  }
  100% {
    transform: translateY(-20vh) scale(1);
    opacity: 0;
  }
}

/* Главный контейнер - glassmorphism */
.callback-modal__box {
  position: relative;
  width: 100%;
  max-width: 380px;
  padding: 40px 32px 32px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(255, 255, 255, 0.1) inset;
  transform: scale(0.8) translateY(40px);
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.callback-modal.active .callback-modal__box {
  transform: scale(1) translateY(0);
  opacity: 1;
}

/* Кнопка закрытия */
.callback-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  background: transparent;
  border: 2px solid var(--gray-200);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 10;
}

.callback-modal__close svg {
  width: 18px;
  height: 18px;
  color: var(--gray-400);
  transition: all 0.3s ease;
}

.callback-modal__close:hover {
  background: var(--red);
  border-color: var(--red);
  transform: rotate(90deg);
}

.callback-modal__close:hover svg {
  color: var(--white);
}

/* Иконка с пульсацией */
.callback-modal__icon {
  position: relative;
  width: 72px;
  height: 72px;
  margin: 0 auto 24px;
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 15px 35px rgba(225, 6, 0, 0.35);
  animation: modalIconBounce 0.6s 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

@keyframes modalIconBounce {
  0% { transform: scale(0) rotate(-10deg); }
  100% { transform: scale(1) rotate(0); }
}

.callback-modal__icon svg {
  width: 32px;
  height: 32px;
  color: var(--white);
  position: relative;
  z-index: 2;
}

.callback-modal__icon-pulse {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background: var(--red);
  border-radius: 20px;
  transform: translate(-50%, -50%);
  opacity: 0;
  animation: iconPulse 2s infinite;
}

.callback-modal__icon-pulse:nth-child(2) {
  animation-delay: 1s;
}

@keyframes iconPulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.5;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.8);
    opacity: 0;
  }
}

/* Заголовок и подзаголовок */
.callback-modal__title {
  font-size: 26px;
  font-weight: 900;
  color: var(--dark);
  text-align: center;
  margin-bottom: 8px;
  animation: modalSlideUp 0.5s 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.callback-modal__subtitle {
  font-size: 15px;
  color: var(--gray-500);
  text-align: center;
  margin-bottom: 28px;
  animation: modalSlideUp 0.5s 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

@keyframes modalSlideUp {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Форма */
.callback-modal__form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Material Design поля */
.modal-input {
  position: relative;
  margin-bottom: 16px;
  animation: modalSlideUp 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.modal-input:nth-child(1) { animation-delay: 0.55s; }
.modal-input:nth-child(2) { animation-delay: 0.65s; }

.modal-input input {
  width: 100%;
  height: 50px;
  padding: 20px 0 6px;
  background: transparent;
  border: none;
  border-bottom: 2px solid var(--gray-300);
  font-size: 16px;
  font-family: var(--font);
  font-weight: 500;
  color: var(--dark);
  outline: none;
  transition: border-color 0.3s ease;
}

.modal-input label {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  font-weight: 500;
  color: var(--gray-400);
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Bar - анимированная линия снизу */
.modal-input__bar {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--red) 0%, var(--red-dark) 100%);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Focus & Filled состояния */
.modal-input input:focus,
.modal-input input:valid {
  border-bottom-color: transparent;
}

.modal-input input:focus + label,
.modal-input input:valid + label {
  top: 4px;
  transform: translateY(0);
  font-size: 12px;
  font-weight: 600;
  color: var(--red);
}

.modal-input input:focus ~ .modal-input__bar,
.modal-input input:valid ~ .modal-input__bar {
  left: 0;
  width: 100%;
}

/* Кнопка отправки */
.callback-modal__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 18px 28px;
  margin-top: 8px;
  background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%);
  border: none;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 700;
  font-family: var(--font);
  color: var(--white);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  animation: modalSlideUp 0.5s 0.75s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.callback-modal__btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: all 0.5s ease;
}

.callback-modal__btn:hover::before {
  left: 100%;
}

.callback-modal__btn svg {
  width: 20px;
  height: 20px;
  transition: transform 0.3s ease;
}

.callback-modal__btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(225, 6, 0, 0.4);
}

.callback-modal__btn:hover svg {
  transform: translateX(4px);
}

.callback-modal__btn:active {
  transform: translateY(-1px);
}

/* ==================== CONSENT CHECKBOX ==================== */
.consent-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  margin-top: 4px;
}

.consent-checkbox input[type="checkbox"] {
  display: none;
}

.consent-checkbox__mark {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid var(--gray-300);
  border-radius: 6px;
  position: relative;
  transition: all 0.2s ease;
  margin-top: 1px;
}

.consent-checkbox__mark::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 6px;
  width: 5px;
  height: 9px;
  border: solid var(--white);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform 0.2s ease;
}

.consent-checkbox input:checked + .consent-checkbox__mark {
  background: var(--red);
  border-color: var(--red);
}

.consent-checkbox input:checked + .consent-checkbox__mark::after {
  transform: rotate(45deg) scale(1);
}

.consent-checkbox__text {
  font-size: 12px;
  line-height: 1.4;
  color: var(--gray-600);
}

.consent-checkbox__text a {
  color: var(--red);
  text-decoration: none;
  font-weight: 600;
}

.consent-checkbox__text a:hover {
  text-decoration: underline;
}

/* Модалка — чуть меньше отступ */
.consent-checkbox--modal {
  margin-top: 8px;
  margin-bottom: -4px;
}

/* Ошибка — чекбокс не отмечен */
.consent-checkbox--error .consent-checkbox__mark {
  border-color: var(--red);
  animation: consentShake 0.4s ease;
  box-shadow: 0 0 0 4px rgba(225, 6, 0, 0.15);
}

.consent-checkbox--error .consent-checkbox__text {
  color: var(--red);
}

@keyframes consentShake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-4px); }
  40% { transform: translateX(4px); }
  60% { transform: translateX(-3px); }
  80% { transform: translateX(3px); }
}

/* Success состояние */
.callback-modal__success {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 20px 0;
}

.callback-modal__success-check {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  animation: successBounce 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 15px 35px rgba(34, 197, 94, 0.4);
}

@keyframes successBounce {
  0% { transform: scale(0); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

.callback-modal__success-check svg {
  width: 40px;
  height: 40px;
  color: var(--white);
  stroke-dasharray: 50;
  stroke-dashoffset: 50;
  animation: checkDraw 0.5s 0.3s ease forwards;
}

@keyframes checkDraw {
  to { stroke-dashoffset: 0; }
}

.callback-modal__success h3 {
  font-size: 22px;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 8px;
  animation: modalSlideUp 0.4s 0.2s ease both;
}

.callback-modal__success p {
  font-size: 15px;
  color: var(--gray-500);
  animation: modalSlideUp 0.4s 0.3s ease both;
}

.callback-modal__success-hint {
  display: block;
  margin-top: 16px;
  font-size: 12px;
  color: var(--gray-400);
  animation: modalSlideUp 0.4s 0.5s ease both;
}

/* Responsive */
@media (max-width: 480px) {
  .callback-modal__box {
    max-width: 100%;
    padding: 32px 24px 24px;
    border-radius: 20px;
  }
  
  .callback-modal__icon {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    margin-bottom: 20px;
  }
  
  .callback-modal__icon svg {
    width: 28px;
    height: 28px;
  }
  
  .callback-modal__title {
    font-size: 22px;
  }
  
  .callback-modal__subtitle {
    font-size: 14px;
    margin-bottom: 24px;
  }
  
  .modal-input input {
    font-size: 16px;
    height: 48px;
  }
  
  .modal-input label {
    font-size: 16px;
  }
  
  .callback-modal__btn {
    padding: 16px 24px;
    font-size: 15px;
  }
}

/* === PACKAGE PRICE === */
.package__price {
  font-size: 16px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
  margin-bottom: 8px;
  letter-spacing: 0.3px;
}

.package__price span {
  font-size: 28px;
  font-weight: 800;
  color: var(--white);
  letter-spacing: -0.5px;
}

/* === REVIEWS === */
.reviews {
  padding: 100px 0;
  background: var(--gray-50);
}

.reviews__header {
  margin-bottom: 60px;
}

.reviews__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--red);
  margin-bottom: 12px;
}

.reviews__label-dot {
  width: 8px;
  height: 8px;
  background: var(--red);
  border-radius: 50%;
  animation: pulseDot 2s ease-in-out infinite;
}

.reviews__title {
  font-size: 42px;
  font-weight: 800;
  color: var(--black);
  letter-spacing: -1px;
  margin-bottom: 16px;
}

.reviews__subtitle {
  font-size: 16px;
  color: var(--gray-500);
  max-width: 600px;
}

.reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}

.reviews__card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 16px;
  padding: 24px;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.reviews__card:hover {
  border-color: rgba(225, 6, 0, 0.2);
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.reviews__card-top {
  display: flex;
  align-items: center;
  gap: 12px;
}

.reviews__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--red) 0%, #ff6659 100%);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  flex-shrink: 0;
}

.reviews__author {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.reviews__name {
  font-size: 15px;
  font-weight: 700;
  color: var(--black);
}

.reviews__car {
  font-size: 12px;
  color: var(--gray-500);
  font-weight: 500;
}

.reviews__date {
  font-size: 11px;
  color: #999;
}

.reviews__stars {
  display: flex;
  gap: 2px;
  flex-shrink: 0;
}

.reviews__stars svg {
  width: 16px;
  height: 16px;
  color: #fbbf24;
}

.reviews__text {
  font-size: 14px;
  line-height: 1.7;
  color: var(--gray-700);
}

.reviews__bottom {
  display: flex;
  justify-content: center;
}

.reviews__yandex-link {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 28px;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 16px;
  transition: all 0.3s ease;
}

.reviews__yandex-link:hover {
  border-color: rgba(225, 6, 0, 0.2);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}

.reviews__yandex-link img {
  flex-shrink: 0;
}

.reviews__yandex-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.reviews__yandex-score {
  font-size: 15px;
  font-weight: 700;
  color: var(--black);
}

.reviews__yandex-text {
  font-size: 12px;
  color: var(--gray-500);
}

.reviews__yandex-link svg {
  width: 20px;
  height: 20px;
  color: var(--red);
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.reviews__yandex-link:hover svg {
  transform: translateX(4px);
}

/* === FAQ === */
.faq {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
}

.faq__bg {
  position: absolute;
  inset: 0;
  background: url('faq-bg.jpg') center/cover no-repeat;
  z-index: 0;
}
@supports (background-image: url("data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAUAmJZgCdAEO/gHOAAA=")) {
  .faq__bg { background-image: url('faq-bg.webp'); }
}

.faq__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.88) 100%);
  z-index: 1;
}

/* Torn edges */
.faq__torn-top {
  position: absolute;
  top: -2px;
  left: 0;
  width: 100%;
  height: 50px;
  background: var(--gray-50);
  z-index: 3;
  clip-path: polygon(
    0% 0%,
    0% 52%,
    2% 45%,
    4% 58%,
    6% 42%,
    8% 55%,
    10% 38%,
    12% 50%,
    14% 62%,
    16% 44%,
    18% 56%,
    20% 40%,
    22% 52%,
    24% 60%,
    26% 43%,
    28% 55%,
    30% 38%,
    32% 48%,
    34% 58%,
    36% 42%,
    38% 54%,
    40% 36%,
    42% 50%,
    44% 60%,
    46% 44%,
    48% 56%,
    50% 40%,
    52% 52%,
    54% 62%,
    56% 45%,
    58% 55%,
    60% 38%,
    62% 50%,
    64% 58%,
    66% 42%,
    68% 54%,
    70% 36%,
    72% 48%,
    74% 60%,
    76% 44%,
    78% 56%,
    80% 40%,
    82% 52%,
    84% 62%,
    86% 45%,
    88% 55%,
    90% 38%,
    92% 50%,
    94% 58%,
    96% 42%,
    98% 48%,
    100% 55%,
    100% 0%
  );
}

.faq__torn-bottom {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 50px;
  background: var(--white);
  z-index: 3;
  clip-path: polygon(
    0% 100%,
    0% 48%,
    2% 55%,
    4% 40%,
    6% 52%,
    8% 62%,
    10% 45%,
    12% 56%,
    14% 38%,
    16% 50%,
    18% 60%,
    20% 44%,
    22% 55%,
    24% 38%,
    26% 50%,
    28% 58%,
    30% 42%,
    32% 54%,
    34% 36%,
    36% 48%,
    38% 60%,
    40% 44%,
    42% 56%,
    44% 40%,
    46% 52%,
    48% 62%,
    50% 45%,
    52% 55%,
    54% 38%,
    56% 50%,
    58% 58%,
    60% 42%,
    62% 54%,
    64% 36%,
    66% 48%,
    68% 60%,
    70% 44%,
    72% 56%,
    74% 40%,
    76% 52%,
    78% 62%,
    80% 45%,
    82% 55%,
    84% 38%,
    86% 50%,
    88% 58%,
    90% 42%,
    92% 54%,
    94% 36%,
    96% 48%,
    98% 55%,
    100% 42%,
    100% 100%
  );
}

.faq .container {
  position: relative;
  z-index: 2;
}

.faq__wrapper {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 80px;
  align-items: start;
}

.faq__sidebar {
  position: sticky;
  top: calc(var(--header-offset) + 40px);
}

.faq__label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #ff6659;
  margin-bottom: 12px;
}

.faq__label-dot {
  width: 8px;
  height: 8px;
  background: var(--red);
  border-radius: 50%;
  animation: pulseDot 2s ease-in-out infinite;
}

.faq__title {
  font-size: 38px;
  font-weight: 800;
  color: var(--white);
  letter-spacing: -1px;
  line-height: 1.15;
  margin-bottom: 16px;
}

.faq__subtitle {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.6;
  margin-bottom: 32px;
}

.faq__cta {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  backdrop-filter: blur(8px);
}

.faq__cta-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--red), #ff6659);
  display: flex;
  align-items: center;
  justify-content: center;
}

.faq__cta-icon svg {
  width: 22px;
  height: 22px;
  color: var(--white);
}

.faq__cta-text {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.4;
}

.faq__cta-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #ff6659;
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  cursor: pointer;
  transition: gap 0.3s ease;
}

.faq__cta-link:hover {
  gap: 12px;
  color: #ff8a80;
}

.faq__cta-link svg {
  width: 18px;
  height: 18px;
}

.faq__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.faq__item {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  position: relative;
  backdrop-filter: blur(6px);
}

.faq__item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--red);
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: 16px 0 0 16px;
}

.faq__item:hover {
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.1);
}

.faq__item[open] {
  border-color: rgba(225, 6, 0, 0.4);
  box-shadow: 0 6px 24px rgba(225, 6, 0, 0.12);
  background: rgba(255, 255, 255, 0.1);
}

.faq__item[open]::before {
  opacity: 1;
}

.faq__question {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 22px;
  cursor: pointer;
  list-style: none;
  transition: color 0.2s ease;
}

.faq__question::-webkit-details-marker {
  display: none;
}

.faq__question::marker {
  content: '';
}

.faq__num {
  font-size: 12px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.4);
  flex-shrink: 0;
  width: 28px;
  text-align: center;
  transition: color 0.3s ease;
}

.faq__item[open] .faq__num {
  color: #ff6659;
}

.faq__q-text {
  flex: 1;
  font-size: 16px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.95);
  line-height: 1.4;
}

.faq__question:hover .faq__q-text {
  color: #ff6659;
}

.faq__toggle {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.faq__toggle svg {
  width: 16px;
  height: 16px;
  color: rgba(255, 255, 255, 0.6);
  transition: transform 0.3s ease, color 0.3s ease;
}

.faq__item[open] .faq__toggle {
  background: var(--red);
}

.faq__item[open] .faq__toggle svg {
  color: var(--white);
  transform: rotate(45deg);
}

.faq__answer {
  padding: 0 22px 22px 64px;
}

.faq__answer p {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.7);
}

/* === REVIEWS + FAQ: Mobile overrides (после базовых стилей для корректного каскада) === */
@media (max-width: 900px) {
  .reviews { padding: 44px 0; }
  .reviews__header { margin-bottom: 24px; }
  .reviews__title { font-size: 24px; }
  .reviews__subtitle { font-size: 13px; }
  .reviews__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 24px; }
  .reviews__card:nth-child(n+5) { display: none; }
  .reviews__card { padding: 16px; gap: 12px; border-radius: 12px; }
  .reviews__avatar { width: 36px; height: 36px; font-size: 15px; }
  .reviews__name { font-size: 13px; }
  .reviews__car { font-size: 11px; }
  .reviews__stars svg { width: 14px; height: 14px; }
  .reviews__text { font-size: 13px; line-height: 1.6; }
  .reviews__yandex-link { padding: 12px 20px; gap: 12px; border-radius: 12px; }
  .reviews__yandex-score { font-size: 14px; }
  .reviews__yandex-text { font-size: 11px; }
  .faq { padding: 44px 0; }
  .faq__torn-top, .faq__torn-bottom { height: 20px; }
  .faq__wrapper { grid-template-columns: 1fr; gap: 24px; }
  .faq__sidebar { position: static; }
  .faq__title { font-size: 24px; }
  .faq__title br { display: none; }
  .faq__subtitle { font-size: 13px; margin-bottom: 16px; }
  .faq__cta { padding: 16px; border-radius: 12px; flex-direction: row; align-items: center; gap: 14px; }
  .faq__cta-icon { width: 40px; height: 40px; min-width: 40px; border-radius: 10px; }
  .faq__cta-icon svg { width: 18px; height: 18px; }
  .faq__cta-text { font-size: 13px; }
  .faq__cta-link { font-size: 13px; }
  .faq__list { gap: 8px; }
  .faq__item { border-radius: 12px; }
  .faq__item::before { border-radius: 12px 0 0 12px; }
  .faq__question { padding: 16px; gap: 10px; }
  .faq__num { font-size: 11px; width: 24px; }
  .faq__q-text { font-size: 14px; }
  .faq__toggle { width: 28px; height: 28px; border-radius: 6px; }
  .faq__toggle svg { width: 14px; height: 14px; }
  .faq__answer { padding: 0 16px 16px 50px; }
  .faq__answer p { font-size: 13px; line-height: 1.6; }
}
@media (max-width: 600px) {
  .reviews { padding: 32px 0; }
  .reviews__header { margin-bottom: 16px; }
  .reviews__title { font-size: 20px; }
  .reviews__subtitle { font-size: 12px; }
  .reviews__grid { grid-template-columns: 1fr; gap: 10px; margin-bottom: 16px; }
  .reviews__card:nth-child(n+4) { display: none; }
  .reviews__card { padding: 14px; gap: 10px; }
  .reviews__avatar { width: 32px; height: 32px; font-size: 14px; }
  .reviews__name { font-size: 13px; }
  .reviews__stars svg { width: 12px; height: 12px; }
  .reviews__text { font-size: 12px; line-height: 1.6; }
  .reviews__yandex-link { padding: 12px 14px; gap: 10px; border-radius: 10px; }
  .reviews__yandex-link img { width: 32px; height: auto; }
  .reviews__yandex-score { font-size: 13px; }
  .reviews__yandex-text { font-size: 10px; }
  .reviews__yandex-link svg { width: 16px; height: 16px; }
  .faq { padding: 32px 0; }
  .faq__torn-top, .faq__torn-bottom { height: 12px; }
  .faq__wrapper { gap: 16px; }
  .faq__title { font-size: 20px; margin-bottom: 10px; }
  .faq__label { font-size: 10px; letter-spacing: 2px; gap: 6px; margin-bottom: 8px; }
  .faq__label-dot { width: 6px; height: 6px; }
  .faq__subtitle { font-size: 12px; margin-bottom: 12px; }
  .faq__cta { padding: 14px 16px; border-radius: 10px; flex-direction: column; align-items: flex-start; gap: 10px; }
  .faq__cta-icon { width: 36px; height: 36px; min-width: 36px; border-radius: 8px; }
  .faq__cta-icon svg { width: 16px; height: 16px; }
  .faq__cta-text { font-size: 12px; line-height: 1.5; }
  .faq__cta-link { font-size: 12px; }
  .faq__list { gap: 6px; }
  .faq__item { border-radius: 10px; }
  .faq__item::before { border-radius: 10px 0 0 10px; }
  .faq__question { padding: 12px; gap: 8px; align-items: flex-start; }
  .faq__num { font-size: 10px; width: 20px; line-height: 1.4; padding-top: 2px; }
  .faq__q-text { font-size: 13px; }
  .faq__toggle { width: 26px; height: 26px; min-width: 26px; }
  .faq__toggle svg { width: 12px; height: 12px; }
  .faq__answer { padding: 0 12px 14px 40px; }
  .faq__answer p { font-size: 12px; line-height: 1.6; }
}
@media (max-width: 400px) {
  .reviews__title, .faq__title { font-size: 18px; }
}

/* Touch: отключаем hover-эффекты (tap-to-hover) */
@media (hover: none) and (pointer: coarse) {
  .btn-call:hover { transform: none; box-shadow: none; }
  .social:hover { transform: none; }
  .hero__btn:hover { transform: none; box-shadow: 0 4px 16px rgba(225, 6, 0, 0.3); }
  .hero__btn:hover svg { transform: none; }
  .hero__card:hover { transform: none; box-shadow: none; }
  .about__item:hover { transform: none; }
  .about__item:hover::before { opacity: 0; }
  .package:hover,
  .package--popular:hover { transform: none; box-shadow: none; }
  .package:hover::before,
  .package--popular:hover::before { opacity: 0; }
  .package:hover .package__icon svg,
  .package:hover .package__icon--img img { transform: none; }
  .services__btn:hover { transform: none; box-shadow: none; }
  .services__btn:hover svg { transform: none; }
  .extra-services__item:hover { transform: none; }
  .extra-services__item:hover svg { transform: none; }
  .extra-services__item:hover::after { transform: scaleX(0); }
  .process__card:hover,
  .process__card--accent:hover { transform: none; box-shadow: none; }
  .process__card:hover::before,
  .process__card--accent:hover::before { transform: scaleX(0); }
  .process__card:hover .process__icon svg,
  .process__card--accent:hover .process__icon svg { transform: none; }
  .works__item--video:hover { transform: none; box-shadow: none; }

  .works__item--video:hover .works__poster img { transform: none; }
  .works__item--video:hover .works__play-btn { transform: translate(-50%, -50%); box-shadow: 0 8px 30px rgba(225, 6, 0, 0.5); }
  .works__item--video:hover .works__card::before,
  .works__item--video:hover .works__card::after { width: 35px; height: 35px; }
  .reviews__card:hover { transform: none; box-shadow: none; }
  .reviews__yandex-link:hover { transform: none; box-shadow: none; }
  .reviews__yandex-link:hover svg { transform: none; }
  .faq__item:hover { border-color: rgba(255, 255, 255, 0.1); box-shadow: none; }
  .faq__cta-link:hover { gap: 8px; }
  .footer__phone:hover { transform: none; }
  .footer__social:hover { transform: none; }
  .footer__social:hover svg,
  .footer__social:hover span { transform: none; }
}



/* ============================================================
   INNER PAGE STYLES (anticor-novogo-avto.html)
   ============================================================ */

/* ── Breadcrumb ── */
.breadcrumb {
  padding: 24px 0 0;
  background: var(--white);
}
.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 13px;
  color: var(--gray-500);
}
.breadcrumb__item::before {
  content: "/";
  margin-right: 8px;
  color: var(--gray-300);
}
.breadcrumb__item:first-child::before { display: none; }
.breadcrumb__link {
  color: var(--gray-500);
  text-decoration: none;
  transition: color 0.2s;
}
.breadcrumb__link:hover { color: var(--red); }
.breadcrumb__item--current {
  color: var(--black);
  font-weight: 600;
}

/* ── Inner Hero ── */
.inner-hero {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: flex-start;
  overflow: hidden;
  background: var(--dark);
}
.inner-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.inner-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.inner-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10,10,10,0.95) 0%, rgba(10,10,10,0.8) 50%, rgba(10,10,10,0.2) 100%);
  z-index: 1;
}
.inner-hero__content {
  position: relative;
  z-index: 2;
  padding: 24px 0 80px;
  width: 100%;
  text-align: center;
}
.breadcrumb--hero {
  padding: 0 0 0 32px;
  background: none;
  margin-bottom: 28px;
  text-align: left;
}
.breadcrumb--hero .breadcrumb__list {
  display: inline-flex;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 100px;
  padding: 8px 18px;
  font-size: 13px;
  gap: 6px;
}
.breadcrumb--hero .breadcrumb__item::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 6px;
  vertical-align: -2px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z' clip-rule='evenodd'/%3E%3C/svg%3E") no-repeat center / contain;
  color: rgba(255,255,255,0.3);
}
.breadcrumb--hero .breadcrumb__home {
  width: 14px;
  height: 14px;
  vertical-align: -2px;
  margin-right: 4px;
}
.breadcrumb--hero .breadcrumb__link {
  color: rgba(255,255,255,0.55);
  transition: color 0.2s;
}
.breadcrumb--hero .breadcrumb__link:hover {
  color: var(--white);
}
.breadcrumb--hero .breadcrumb__item--current {
  color: rgba(255,255,255,0.9);
  font-weight: 600;
}
.inner-hero .hero__cards {
  max-width: 720px;
  margin: 0 auto;
}
.inner-hero .hero__slogan {
  font-size: 20px;
  color: rgba(255,255,255,0.5);
}
.inner-hero__title {
  font-size: 38px;
  font-weight: 800;
  color: var(--white);
  line-height: 1.15;
  margin: 0 auto 20px;
  max-width: 720px;
}
.inner-hero__snippet {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,0.7);
  max-width: 640px;
  margin: 0 auto 28px;
  letter-spacing: 0.01em;
}
.inner-hero__snippet strong {
  color: rgba(255,255,255,0.95);
  font-weight: 700;
}
.inner-hero__usps {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px;
  padding: 16px 28px;
  margin-bottom: 36px;
}
.inner-hero__usp { text-align: center; }
.inner-hero__usp-value {
  display: block;
  font-size: 22px;
  font-weight: 800;
  color: var(--white);
}
.inner-hero__usp-label {
  display: block;
  font-size: 12px;
  color: rgba(255,255,255,0.55);
  margin-top: 2px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.inner-hero__usp-divider {
  width: 1px;
  height: 36px;
  background: rgba(255,255,255,0.2);
}
.inner-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.inner-hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
  cursor: pointer;
  border: none;
}
.inner-hero__btn svg { width: 20px; height: 20px; flex-shrink: 0; }
.inner-hero__btn--primary {
  background: var(--red);
  color: var(--white);
}
.inner-hero__btn--primary:hover {
  background: var(--red-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(225,6,0,0.35);
}
.inner-hero__btn--secondary {
  background: rgba(255,255,255,0.12);
  color: var(--white);
  border: 1px solid rgba(255,255,255,0.25);
}
.inner-hero__btn--secondary:hover {
  background: rgba(255,255,255,0.2);
  transform: translateY(-2px);
}
.inner-hero .hero__torn {
  height: 40px;
  filter: none;
}

/* ── Inner Sections ── */
.inner-section {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
.inner-section--white { background: var(--white); }
.inner-section--gray { background: var(--gray-50); }
.inner-section--dark { background: var(--black); color: var(--white); }
.inner-section__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.inner-section__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.inner-section__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.84) 0%, rgba(0,0,0,0.88) 100%);
  z-index: 1;
}
.inner-section__content-z { position: relative; z-index: 2; }

.inner-section__torn-top,
.inner-section__torn-bottom {
  position: absolute;
  left: 0;
  right: 0;
  height: 40px;
  z-index: 3;
}
.inner-section__torn-top {
  top: -1px;
  background: var(--white);
  clip-path: polygon(0 0, 100% 0, 100% 60%, 98% 65%, 95% 55%, 92% 68%, 88% 52%, 85% 64%, 82% 50%, 78% 62%, 75% 48%, 72% 60%, 68% 45%, 65% 58%, 62% 42%, 58% 55%, 55% 40%, 52% 52%, 48% 38%, 45% 50%, 42% 36%, 38% 48%, 35% 34%, 32% 46%, 28% 32%, 25% 44%, 22% 30%, 18% 42%, 15% 28%, 12% 40%, 8% 26%, 5% 38%, 2% 24%, 0 35%);
}
.inner-section__torn-bottom {
  bottom: -1px;
  background: var(--white);
  clip-path: polygon(0 60%, 2% 55%, 5% 65%, 8% 50%, 12% 62%, 15% 48%, 18% 58%, 22% 45%, 25% 60%, 28% 42%, 32% 55%, 35% 40%, 38% 52%, 42% 38%, 45% 50%, 48% 35%, 52% 48%, 55% 33%, 58% 45%, 62% 32%, 65% 47%, 68% 30%, 72% 42%, 75% 28%, 78% 40%, 82% 25%, 85% 38%, 88% 22%, 92% 35%, 95% 20%, 98% 30%, 100% 15%, 100% 100%, 0% 100%);
}
.inner-section__torn-top--dark { background: var(--gray-50); }
.inner-section__torn-bottom--dark { background: var(--white); }

.inner-section__header {
  text-align: center;
  margin-bottom: 48px;
}
.inner-section__header--light .inner-section__title,
.inner-section__header--light .inner-section__subtitle { color: var(--white); }
.inner-section__header--light .inner-section__subtitle { color: rgba(255,255,255,0.6); }

.inner-section__label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--red);
  margin-bottom: 12px;
}
.inner-section__title {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 12px;
  color: var(--black);
}
.inner-section__subtitle {
  font-size: 16px;
  color: var(--gray-500);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

.inner-section__note {
  text-align: center;
  font-size: 14px;
  color: var(--gray-500);
  margin-top: 32px;
}
.inner-section__note a {
  color: var(--accent);
  font-weight: 600;
  text-decoration: none;
}

.brands-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 28px;
}
.brand-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 20px 18px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.brand-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.brand-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--gray-100);
}
.brand-card__header h3 {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  color: var(--black);
}
.brand-card__icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
}
.brand-card__icon svg { width: 18px; height: 18px; color: var(--accent); }
.brand-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.brand-card__list li {
  font-size: 14px;
  font-weight: 600;
  color: var(--black);
  padding: 5px 0;
  line-height: 1.4;
}
.brand-card__list li span {
  font-weight: 400;
  color: var(--gray-500);
  font-size: 13px;
}
@media (max-width: 900px) {
  .brands-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .brands-grid { grid-template-columns: 1fr; }
  .brand-card { padding: 16px 14px; }
}

.inner-section__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.inner-section__grid--reverse { direction: rtl; }
.inner-section__grid--reverse > * { direction: ltr; }

.inner-section__text p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--gray-600);
  margin: 0 0 16px;
}
.inner-section__text--light p { color: rgba(255,255,255,0.7); }
.inner-section__text--light h3 { color: var(--white); }

.inner-section__checks {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
}
.inner-section__checks li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: var(--gray-700);
  padding: 6px 0;
}
.inner-section__checks svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--red);
  margin-top: 1px;
}

/* ── Section Image Container ── */
.inner-section__img {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}
.inner-section__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* ── Why Section (custom dark block) ── */
.why-section {
  position: relative;
  background: var(--white);
  padding: 80px 0;
  overflow: hidden;
}
.why-section__car {
  position: absolute;
  right: 2%;
  bottom: 5%;
  width: 55%;
  pointer-events: none;
  z-index: 1;
}
.why-section__car img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 10px 40px rgba(0,0,0,0.15));
}
.why-section__content {
  position: relative;
  z-index: 2;
  max-width: 520px;
}
.why-section__title {
  font-size: 34px;
  font-weight: 800;
  color: var(--black);
  line-height: 1.15;
  margin: 0 0 20px;
}
.why-section__answer {
  font-size: 16px;
  line-height: 1.7;
  color: var(--gray-700);
  margin: 0 0 10px;
}
.why-section__answer strong {
  color: var(--red);
}
.why-section__desc {
  font-size: 14px;
  line-height: 1.7;
  color: var(--gray-500);
  margin: 0 0 32px;
}
.why-section__facts {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.why-section__fact {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 16px 20px;
  transition: background 0.2s, border-color 0.2s;
}
.why-section__fact:hover {
  background: var(--white);
  border-color: var(--red);
}
.why-section__fact-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(225,6,0,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.why-section__fact-icon svg {
  width: 20px;
  height: 20px;
  color: var(--red);
}
.why-section__fact-value {
  display: block;
  font-size: 18px;
  font-weight: 800;
  color: var(--black);
}
.why-section__fact-label {
  display: block;
  font-size: 13px;
  color: var(--gray-500);
  margin-top: 1px;
}
.inner-section__media--clean {
  display: flex;
  align-items: center;
  justify-content: center;
}
.inner-section__media--clean img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 8px 24px rgba(0,0,0,0.1));
}

.inner-section__img--tall { aspect-ratio: 3/4; }
.inner-section__img--wide { aspect-ratio: 16/9; }
.inner-section__img--square { aspect-ratio: 1/1; }

/* ── Before/After Showcase ── */
.ba-showcase {
  max-width: 900px;
  margin: 0 auto 48px;
}

.ba-showcase__frame {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.10);
  border: 1px solid var(--gray-200);
}

.ba-showcase__frame img {
  width: 100%;
  height: auto;
  display: block;
}

.ba-showcase__badge {
  position: absolute;
  top: 20px;
  padding: 8px 24px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  border-radius: 100px;
  z-index: 2;
}

.ba-showcase__badge--before {
  left: 20px;
  background: rgba(0, 0, 0, 0.65);
  color: var(--white);
  backdrop-filter: blur(8px);
}

.ba-showcase__badge--after {
  right: 20px;
  background: var(--red);
  color: var(--white);
  box-shadow: 0 4px 16px rgba(225, 6, 0, 0.3);
}

.ba-showcase__divider {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: rgba(255, 255, 255, 0.6);
  z-index: 1;
  transform: translateX(-50%);
}

.ba-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 900px;
  margin: 0 auto;
}

.ba-stats__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 24px;
  background: var(--gray-50);
  border-radius: 14px;
  border: 1px solid var(--gray-200);
}

.ba-stats__icon {
  width: 40px;
  height: 40px;
  padding: 8px;
  background: rgba(225, 6, 0, 0.07);
  border-radius: 10px;
  color: var(--red);
  flex-shrink: 0;
}

.ba-stats__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ba-stats__value {
  font-size: 18px;
  font-weight: 800;
  color: var(--black);
  line-height: 1.2;
}

.ba-stats__label {
  font-size: 13px;
  color: var(--gray-700);
  line-height: 1.3;
}

.inner-section__cta-row {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 40px;
  flex-wrap: wrap;
}
.inner-section__warning {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(225,6,0,0.06);
  border: 1px solid rgba(225,6,0,0.15);
  border-radius: 12px;
  padding: 16px 24px;
  margin-top: 32px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.inner-section__warning svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: var(--red);
}
.inner-section__warning p {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--red-dark);
}

/* ── Comparison Cards ── */
.comparison-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 24px;
}
.comparison-card {
  border-radius: 14px;
  padding: 22px 20px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.comparison-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.comparison-card--bad {
  background: var(--white);
  border: 1px solid rgba(225,6,0,0.2);
  border-left: 3px solid var(--red);
}
.comparison-card--good {
  background: var(--white);
  border: 1px solid rgba(16,185,129,0.25);
  border-left: 3px solid #10b981;
}
.comparison-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  font-weight: 700;
  font-size: 14px;
}
.comparison-card--bad .comparison-card__header { color: var(--red); }
.comparison-card--bad svg { color: var(--red); }
.comparison-card--good .comparison-card__header { color: #10b981; }
.comparison-card--good svg { color: #10b981; }
.comparison-card__header svg { width: 22px; height: 22px; flex-shrink: 0; }
.comparison-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.comparison-card li {
  font-size: 13px;
  color: var(--gray-600);
  padding: 5px 0;
  padding-left: 22px;
  position: relative;
  line-height: 1.5;
}
.comparison-card--bad li::before {
  content: "✕";
  position: absolute;
  left: 0;
  font-size: 11px;
  font-weight: 700;
  color: var(--red);
  top: 6px;
}
.comparison-card--good li::before {
  content: "✓";
  position: absolute;
  left: 0;
  font-size: 13px;
  font-weight: 700;
  color: #10b981;
  top: 5px;
}

/* ── Steps Grid ── */
.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.step-card {
  position: relative;
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: 16px;
  padding: 28px 24px;
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
.step-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
  border-color: var(--red);
}
.step-card__num {
  position: absolute;
  top: 16px;
  right: 18px;
  font-size: 28px;
  font-weight: 800;
  color: var(--gray-200);
  line-height: 1;
}
.step-card:hover .step-card__num { color: rgba(225,6,0,0.15); }
.step-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(225,6,0,0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.step-card__icon svg {
  width: 22px;
  height: 22px;
  color: var(--red);
}
.step-card__title {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--black);
}
.step-card__desc {
  font-size: 13px;
  line-height: 1.5;
  color: var(--gray-500);
  margin: 0;
}

/* ── Price Table ── */
.price-table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.1);
}
.price-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}
.price-table th,
.price-table td {
  padding: 16px 20px;
  text-align: left;
  white-space: nowrap;
}
.price-table thead th {
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.6);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.price-table tbody td {
  color: rgba(255,255,255,0.85);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.price-table tbody tr:last-child td { border-bottom: none; }
.price-table tbody tr:hover td { background: rgba(255,255,255,0.04); }
.price-table__price {
  font-weight: 700;
  color: var(--white);
}

/* ── Season Cards ── */
.season-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.season-card {
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
  transition: transform 0.25s, box-shadow 0.25s;
}
.season-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}
.season-card__icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(225,6,0,0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}
.season-card__icon svg { width: 26px; height: 26px; color: var(--red); }
.season-card__title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px;
}
.season-card__desc {
  font-size: 13px;
  color: var(--gray-500);
  line-height: 1.5;
  margin: 0 0 16px;
}
.season-card__tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 4px 12px;
  border-radius: 20px;
  background: var(--gray-200);
  color: var(--gray-600);
}
.season-card__tag--best {
  background: rgba(225,6,0,0.1);
  color: var(--red);
}

.myths-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 28px;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  overflow: hidden;
}
.myth-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--gray-100);
  transition: background 0.15s;
}
.myth-row:last-child { border-bottom: none; }
.myth-row:hover { background: #fafafa; }
.myth-row__num {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(225,6,0,0.08);
  color: var(--red);
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}
.myth-row__body { flex: 1; min-width: 0; }
.myth-row__myth {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gray-500);
  text-decoration: line-through;
  text-decoration-color: rgba(225,6,0,0.4);
  line-height: 1.4;
}
.myth-row__fact {
  margin: 0;
  font-size: 13px;
  color: var(--gray-800);
  line-height: 1.5;
}
@media (max-width: 600px) {
  .myth-row { padding: 14px 16px; gap: 12px; }
  .myth-row__myth { font-size: 13px; }
  .myth-row__fact { font-size: 12px; }
}

/* ── When Grid (seasons) ── */
.when-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 28px;
}
.when-card {
  position: relative;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 20px 18px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.when-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.when-card__icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
}
.when-card__icon svg { width: 22px; height: 22px; color: var(--accent); }
.when-card__body h3 {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--black);
}
.when-card__body p {
  font-size: 13px;
  line-height: 1.5;
  color: var(--gray-600);
  margin: 0;
}
.when-card--best {
  border-color: #f97316;
  background: #fffbf5;
}
.when-card__badge {
  position: absolute;
  top: -10px;
  right: 14px;
  background: #f97316;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 10px;
  border-radius: 6px;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .when-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .when-grid { grid-template-columns: 1fr; }
  .when-card { padding: 16px 14px; }
}

/* ── Terms Block (payment & warranty) ── */
.terms-block {
  margin-top: 28px;
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 14px;
}
.terms-block__title {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 18px;
  color: var(--black);
}
.terms-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.terms-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.terms-card__header strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--black);
}
.terms-card__icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
}
.terms-card__icon svg { width: 18px; height: 18px; color: var(--accent); }
.terms-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.terms-card__list li {
  font-size: 13px;
  color: var(--gray-600);
  padding: 4px 0 4px 20px;
  position: relative;
  line-height: 1.5;
}
.terms-card__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  font-size: 11px;
  font-weight: 700;
  color: #10b981;
  top: 5px;
}
@media (max-width: 600px) {
  .terms-grid { grid-template-columns: 1fr; }
  .terms-block { padding: 18px 16px; }
}

/* ── Process Timeline ── */
.process-timeline { display: flex; flex-direction: column; gap: 0; }
.process-timeline__item {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--gray-200);
}
.process-timeline__item:last-child { border-bottom: none; }
.process-timeline__num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--red);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  flex-shrink: 0;
}
.process-timeline__item h3 {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 4px;
}
.process-timeline__item p {
  font-size: 13px;
  margin: 0;
  line-height: 1.5;
}

/* ── Inner Reviews ── */
.inner-reviews-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.inner-review-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 16px;
  padding: 28px;
}
.inner-review-card__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.inner-review-card__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--red);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
  flex-shrink: 0;
}
.inner-review-card__name {
  display: block;
  font-weight: 700;
  font-size: 15px;
}
.inner-review-card__car {
  display: block;
  font-size: 12px;
  color: var(--gray-500);
}
.inner-review-card__stars {
  display: flex;
  gap: 2px;
  margin-bottom: 12px;
}
.inner-review-card__stars svg {
  width: 16px;
  height: 16px;
  color: #f59e0b;
}
.inner-review-card__text {
  font-size: 14px;
  line-height: 1.6;
  color: var(--gray-600);
  margin: 0 0 12px;
}
.inner-review-card__date {
  font-size: 12px;
  color: var(--gray-400);
}
.inner-section__link-row {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}
.inner-section__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  color: var(--red);
  background: var(--white);
  border: 1px solid var(--gray-200);
  text-decoration: none;
  transition: all 0.2s;
}
.inner-section__link:hover {
  border-color: var(--red);
  background: rgba(225,6,0,0.04);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(225,6,0,0.12);
}
.inner-section__link svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* ── Inner FAQ ── */
.inner-faq-list {
  max-width: 720px;
  margin: 0 auto;
}
.inner-faq__item {
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.inner-faq__item:hover {
  border-color: var(--gray-300);
  box-shadow: 0 4px 16px rgba(0,0,0,0.04);
}
.inner-faq__item[open] {
  border-color: var(--red);
  box-shadow: 0 4px 20px rgba(225,6,0,0.08);
}
.inner-faq__question {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.inner-faq__question::-webkit-details-marker { display: none; }
.inner-faq__num {
  font-size: 14px;
  font-weight: 800;
  color: var(--gray-300);
  min-width: 24px;
}
.inner-faq__item[open] .inner-faq__num { color: var(--red); }
.inner-faq__q-text {
  flex: 1;
  font-size: 15px;
  font-weight: 600;
  color: var(--black);
}
.inner-faq__toggle {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: var(--gray-100);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s, transform 0.2s;
}
.inner-faq__toggle svg { width: 16px; height: 16px; color: var(--gray-500); }
.inner-faq__item[open] .inner-faq__toggle {
  background: var(--red);
  transform: rotate(45deg);
}
.inner-faq__item[open] .inner-faq__toggle svg { color: var(--white); }
.inner-faq__answer {
  padding: 0 20px 20px 56px;
}
.inner-faq__answer p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--gray-600);
  margin: 0;
}

/* ── Inner CTA ── */
.inner-cta {
  text-align: center;
  max-width: 560px;
  margin: 0 auto;
}
.inner-cta__title {
  font-size: 28px;
  font-weight: 800;
  color: var(--white);
  margin: 0 0 12px;
}
.inner-cta__text {
  font-size: 15px;
  color: rgba(255,255,255,0.6);
  line-height: 1.6;
  margin: 0 0 28px;
}
.inner-cta__buttons {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* ── Sticky CTA (mobile) ── */
.sticky-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: var(--white);
  border-top: 1px solid var(--gray-200);
  padding: 10px 16px;
  gap: 10px;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
}
.sticky-cta__btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  background: var(--red);
  color: var(--white);
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.sticky-cta__phone {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gray-100);
  border-radius: 10px;
  color: var(--black);
  text-decoration: none;
}

/* ── Package More Link (index.html) ── */
.package__more {
  display: inline-block;
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--red);
  text-decoration: none;
  transition: gap 0.2s, color 0.2s;
}
.package__more:hover {
  color: var(--red-dark);
  text-decoration: underline;
}

/* ── INNER PAGE RESPONSIVE ── */
@media (max-width: 1200px) {
  .why-section__car { width: 48%; right: 0; }
  .why-section__content { max-width: 50%; }
}
@media (max-width: 900px) {
  .inner-hero__content { padding: 20px 0 60px; }
  .inner-hero__title { font-size: 30px; }
  .inner-hero .hero__slogan { font-size: 17px; }
  .inner-hero__usps { flex-direction: column; gap: 12px; padding: 14px 20px; }
  .inner-hero__usp-divider { width: 60px; height: 1px; }
  .inner-hero__bg { opacity: 0.5; }
  .inner-hero .hero__torn { height: 24px; }

  .why-section { padding: 60px 0; }
  .why-section__car { position: relative; right: auto; bottom: auto; width: 80%; margin: 32px auto 0; }
  .why-section__car img { filter: drop-shadow(0 6px 20px rgba(0,0,0,0.1)); }
  .why-section__content { max-width: 100%; }
  .why-section__title { font-size: 26px; }
  .why-section__facts { flex-direction: row; flex-wrap: wrap; }
  .why-section__fact { flex: 1 1 calc(50% - 8px); }


  .inner-section { padding: 60px 0; }
  .inner-section__torn-top, .inner-section__torn-bottom { height: 24px; }
  .inner-section__grid { grid-template-columns: 1fr; gap: 32px; }
  .inner-section__grid--reverse { direction: ltr; }
  .inner-section__title { font-size: 26px; }

  .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .season-cards { grid-template-columns: repeat(2, 1fr); }
  .season-cards .season-card:last-child { grid-column: 1 / -1; max-width: 400px; margin: 0 auto; }

  .comparison-cards { grid-template-columns: 1fr; }
  .inner-reviews-grid { grid-template-columns: 1fr; }

  .ba-showcase { margin-bottom: 32px; }
  .ba-showcase__frame { border-radius: 16px; }
  .ba-stats { gap: 16px; }
  .ba-stats__item { padding: 16px 18px; }
  .ba-stats__value { font-size: 16px; }
}

@media (max-width: 600px) {
  .breadcrumb:not(.breadcrumb--hero) { padding-top: 16px; }
  .breadcrumb__list { font-size: 12px; flex-wrap: wrap; }
  .breadcrumb--hero { margin-bottom: 14px; }

  .inner-hero { min-height: 50vh; }
  .inner-hero__content { padding: 16px 0 50px; }
  .inner-hero__title { font-size: 24px; }
  .inner-hero .hero__slogan { font-size: 15px; }
  .inner-hero .hero__torn { height: 14px; }
  .inner-hero__snippet { font-size: 14px; line-height: 1.7; }
  .inner-hero__usps { padding: 12px 16px; }
  .inner-hero__usp-value { font-size: 18px; }
  .inner-hero__actions { flex-direction: column; }
  .inner-hero__btn { justify-content: center; width: 100%; padding: 12px 20px; font-size: 14px; }

  .why-section { padding: 40px 0; }
  .why-section__title { font-size: 22px; }
  .why-section__answer { font-size: 15px; }
  .why-section__desc { font-size: 13px; margin-bottom: 24px; }
  .why-section__car { width: 90%; }
  .why-section__facts { flex-direction: column; }
  .why-section__fact { flex: 1 1 100%; padding: 12px 16px; }
  .why-section__fact-value { font-size: 16px; }
  .why-section__fact-icon { width: 36px; height: 36px; }
  .why-section__fact-icon svg { width: 18px; height: 18px; }


  .inner-section { padding: 48px 0; }
  .inner-section__torn-top, .inner-section__torn-bottom { height: 14px; }
  .inner-section__header { margin-bottom: 32px; }
  .inner-section__title { font-size: 22px; }
  .inner-section__subtitle { font-size: 14px; }

  .steps-grid { grid-template-columns: 1fr; }
  .step-card { padding: 20px 18px; }
  .season-cards { grid-template-columns: 1fr; }
  .season-cards .season-card:last-child { max-width: none; }

  .price-table th,
  .price-table td { padding: 12px 14px; font-size: 13px; }

  .inner-cta__title { font-size: 22px; }
  .inner-cta__buttons { flex-direction: column; }

  .sticky-cta { display: flex; }
  .footer__copy { padding-bottom: 76px; }

  .ba-showcase__frame { border-radius: 12px; }
  .ba-showcase__badge { padding: 6px 16px; font-size: 11px; top: 12px; }
  .ba-showcase__badge--before { left: 12px; }
  .ba-showcase__badge--after { right: 12px; }
  .ba-stats { grid-template-columns: 1fr; gap: 10px; }
  .ba-stats__item { padding: 14px 16px; border-radius: 10px; }

  .inner-faq__question { padding: 14px 16px; }
  .inner-faq__q-text { font-size: 14px; }
  .inner-faq__answer { padding: 0 16px 16px 46px; }
}

/* Peskostruy: reusable inline-extracted styles */
.ai-answer {
  max-width: 680px;
  margin: 0 auto 36px;
  font-size: 15px;
  line-height: 1.7;
  text-align: center;
  color: var(--gray-600);
}
.inner-section--dark .ai-answer { color: rgba(255,255,255,.75); }
.ai-answer--tight { margin-bottom: 8px; }

.key-takeaway { max-width: 720px; margin: 0 auto; }

.format-card picture {
  margin-bottom: 16px;
  display: block;
  border-radius: 10px;
  overflow: hidden;
}
.format-card picture img { width: 100%; height: auto; display: block; }

/* Peskostruy: process grid 3-column variant */
.process__grid--3col { grid-template-columns: repeat(3, 1fr); }

/* Peskostruy: inner-section__note base */
.inner-section__note {
  font-size: 13px;
  line-height: 1.6;
  color: var(--gray-500);
  text-align: center;
}

/* Peskostruy: reviews__date */
.reviews__date {
  display: block;
  margin-top: auto;
  padding-top: 8px;
}

/* ── Peskostruy responsive ── */
@media (max-width: 900px) {
  .process__grid--3col { grid-template-columns: repeat(2, 1fr); }
  .peskostruy-services { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .process__grid--3col { grid-template-columns: 1fr; }
  .format-card { padding: 20px 16px; }
  .format-card h3 { font-size: 16px; }
  .format-card__for { font-size: 12px; }
  .format-card__list li { font-size: 13px; }
  .format-card__address { font-size: 12px; }
  .method-card { padding: 18px 16px; }
  .method-card__name { font-size: 14px; }
  .method-card__speed { font-size: 11px; }
  .method-card__stat { font-size: 12px; }
  .method-card__price { font-size: 18px; }
  .method-card--hero::before { font-size: 9px; padding: 2px 10px; top: -10px; }
  .crosslink-card { padding: 16px; gap: 12px; }
  .crosslink-card__icon { width: 40px; height: 40px; }
  .crosslink-card__title { font-size: 14px; }
  .crosslink-card__desc { font-size: 12px; }
  .geo-tags { gap: 8px; }
  .geo-tag { padding: 8px 14px; font-size: 13px; }
  .peskostruy-gallery__caption { font-size: 13px; }
  .inner-section__note { font-size: 12px; }
  .ai-answer { font-size: 14px; margin-bottom: 24px; }
}

@media (max-width: 480px) {
  .method-card__icon { width: 36px; height: 36px; border-radius: 8px; }
  .method-card__icon svg { width: 18px; height: 18px; }
  .method-card__stat-label { font-size: 12px; }
  .method-card__stat-value { font-size: 12px; }
  .method-card__price { font-size: 16px; }
  .format-card { padding: 16px 14px; }
  .crosslink-card { flex-direction: column; text-align: center; }
  .geo-tag { padding: 8px 12px; font-size: 12px; }
  .price-table th,
  .price-table td { padding: 10px 12px; font-size: 12px; }
}

@media (max-width: 400px) {
  .inner-hero__title { font-size: 20px; }
  .inner-hero__snippet { font-size: 13px; line-height: 1.7; }
  .inner-section__title { font-size: 20px; }
  .inner-cta__title { font-size: 20px; }
  .step-card__num { font-size: 22px; }

  .why-section { padding: 32px 0; }
  .why-section__title { font-size: 20px; }
  .why-section__car { width: 100%; }
  .why-section__fact-label { font-size: 12px; }

  .ai-answer { font-size: 13px; line-height: 1.6; margin-bottom: 20px; }
  .method-card { padding: 14px 12px; }
}
