/**
 * Gutenberg
 */

/* Пример: выравнивание галереи */
.wp-block-gallery {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    padding: 0;
}
.wp-block-gallery .blocks-gallery-item {
    margin: 5px;
}


/**
 * Base
 */

/* Custom browser scroll */
::-webkit-scrollbar {
	width: 5px;
	background: var(--primary-semi-light);
}

::-webkit-scrollbar-thumb {
    background: var(--primary-dark);
	width: 7px;
}


/* hidden element class */
.visually-hidden {
	visibility: hidden;
	position: absolute;
}


/* CSS Framework* - here, +Bricks Editor, +Bricks custom CSS - in option*/

[id]{
  scroll-margin-top: calc(var(--offset) / 1.6);
}

/**
 * Bricks builder FIX issues
 */

 /* Убрать для <a> icon по умолчанию line-height */
a svg,
a .brxe-icon,
a .svg-icon {
  display: block;
  line-height: 0;
  vertical-align: middle;
}

a.brxe-icon,
a .brxe-icon {
  line-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  text-decoration: none;
}



/* Grid vertical lines */
.page-grid {
  --page-grid-line: var(--black-trans-20, rgba(5, 28, 44, .2));
  --page-grid-inset: var(--space-xs);
  position: relative;
}

.page-grid--light { --page-grid-line: var(--white-trans-30, rgba(255, 255, 255, .3)); }
.page-grid--dark { --page-grid-line: var(--black-trans-20, rgba(5, 28, 44, .2)); }

@media (min-width: 992px) {
  .page-grid::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    border-right: 1px solid var(--page-grid-line);
    background-image: linear-gradient(to right, var(--page-grid-line) 1px, transparent 1px);
    background-size: 25% 100%;
    background-repeat: repeat-x;
  }
}

@media (max-width: 991px) {
  .page-grid {
  padding-right: var(--m);
  padding-left: var(--m);
  }
  .page-grid::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    /* Растягиваем элемент с учетом левого и правого инсетов (отступов) */
    left: var(--page-grid-inset);
    right: var(--page-grid-inset);
    z-index: 1;
    pointer-events: none;

    /* Рисуем 3 линии: левый край, центр (50%) и правый край */
    background-image: 
      linear-gradient(to right, var(--page-grid-line) 1px, transparent 1px), /* Левая линия */
      linear-gradient(to right, transparent calc(50% - 0.5px), var(--page-grid-line) calc(50% - 0.5px), var(--page-grid-line) calc(50% + 0.5px), transparent calc(50% + 0.5px)), /* Центральная линия */
      linear-gradient(to left, var(--page-grid-line) 1px, transparent 1px); /* Правая линия */
    
    background-position: left top, center top, right top;
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
}

@media (max-width: 599px) {
  .page-grid::before,
  .page-grid::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    width: 1px;
    background: var(--page-grid-line);
    pointer-events: none;
  }

  .page-grid::before { left: var(--page-grid-inset); }
  .page-grid::after { right: var(--page-grid-inset); }
}


/* Shared component: sweep button */
.ui-sweep-button.brxe-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  text-decoration: none;
  transition: color .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}

.ui-sweep-button.brxe-button::before,
.ui-sweep-button.brxe-button::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ui-sweep-button.brxe-button::before {
  z-index: -2;
  background: linear-gradient(90deg, var(--home1-about-accent), var(--primary-dark, #76816c));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .42s cubic-bezier(.2, .8, .2, 1);
}

.ui-sweep-button.brxe-button::after {
  z-index: -1;
  width: 38%;
  background: linear-gradient(105deg, transparent 0%, var(--white-trans-50, rgba(255,255,255,.5)) 48%, transparent 100%);
  transform: translateX(-160%);
  transition: transform .7s ease;
}

.ui-sweep-button.brxe-button svg,
.ui-sweep-button.brxe-button i {
  width: var(--icon-s, 2.4rem);
  height: var(--icon-s, 2.4rem);
  color: var(--home1-about-accent);
  fill: currentColor;
  transition: color .35s ease, transform .35s ease;
}

.ui-sweep-button.brxe-button path {
  fill: currentColor !important;
}

.ui-sweep-button.brxe-button:hover,
.ui-sweep-button.brxe-button:focus-visible {
  color: var(--white, #fff);
  border-color: var(--home1-about-accent);
  transform: translateY(-2px);
  box-shadow: 0 1.2rem 3rem var(--black-trans-10, rgba(5, 28, 44, .1));
}

.ui-sweep-button.brxe-button:hover::before,
.ui-sweep-button.brxe-button:focus-visible::before {
  transform: scaleX(1);
}

.ui-sweep-button.brxe-button:hover::after,
.ui-sweep-button.brxe-button:focus-visible::after {
  transform: translateX(320%);
}

.ui-sweep-button.brxe-button:hover svg,
.ui-sweep-button.brxe-button:hover i,
.ui-sweep-button.brxe-button:focus-visible svg,
.ui-sweep-button.brxe-button:focus-visible i {
  color: var(--white, #fff);
  transform: translateX(.6rem);
}


/* Section 1: hero */
.home1-hero {
  --home1-line: var(--white-trans-20, rgba(255, 255, 255, 0.2));
  --home1-line-strong: var(--white-trans-70, rgba(255, 255, 255, 0.7));
  --home1-text: var(--white, #fff);
  --home1-scrim: var(--black-trans-20, rgba(5, 28, 44, 0.2));
  --home1-panel: var(--black-trans-30, rgba(5, 28, 44, 0.3));
  --home1-shape: var(--white-trans-30, rgba(255, 255, 255, 0.3));
  --home1-page-pad: var(--space-xs, clamp(1.125rem, 0.9rem + 1.125vw, 2.25rem));
  
  position: relative;
  isolation: isolate;
}

.home1-hero::before,
.home1-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.home1-hero::before {
  background: var(--home1-scrim);
}

.home1-hero::after {
  inset: -7svh 0;
  background: var(--home1-shape);
  clip-path: polygon(0 0, 55% 0, 100% 38%, 100% 70%, 104% 74%, 20% 100%, 0 42%);
  mix-blend-mode: screen;
  opacity: 0.38;
}

/* Section 2: about */
.home1-about {
  --home1-about-bg: var(--base-ultra-light, #f3f4f4);
  --home1-about-text: var(--base, #051c2c);
  --home1-about-muted: var(--black-trans-50, rgba(5, 28, 44, .5));
  --home1-about-line: var(--black-trans-20, rgba(5, 28, 44, .2));
  --home1-about-accent: var(--primary, #94a187);
  --home1-about-pad: var(--space-xs, 2.25rem);
  --home1-about-columns: repeat(4, minmax(0, 1fr));

  position: relative;
}


/* Section 3: services */
.home1-services {
  --home1-services-line: var(--white-trans-30, rgba(255, 255, 255, 0.3));
  --home1-services-line-strong: var(--white-trans-70, rgba(255, 255, 255, 0.7));
  --home1-services-text: var(--white, #fff);
  --home1-services-muted: var(--white-trans-90, rgba(255, 255, 255, 0.9));
  --home1-services-pad: var(--space-xs, 2.25rem);
  --home1-services-columns: repeat(4, minmax(0, 1fr));
  --home1-services-overlay: rgba(5, 28, 44, .48);

  position: relative;
  color: var(--home1-services-text);
  background-color: var(--base, #051c2c);
  background-image: linear-gradient(var(--home1-services-overlay), var(--home1-services-overlay)), url('/wp-content/uploads/2026/05/promyshlennaya-mehanizirovannaya-bezvozdushnaya-pokraska-fasadov-zdanij-sooruzhenij.webp');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  isolation: isolate;
}

.home1-services.bricks-lazy-hidden,
.home1-services .bricks-lazy-hidden {
  opacity: 1 !important;
  visibility: visible !important;
}

.home1-services::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--black-trans-20, rgba(5, 28, 44, 0.2));
}

.home1-services__grid {
  position: relative;
  z-index: 2;
  display: grid !important;
  grid-template-columns: var(--home1-services-columns) !important;
  grid-template-rows: 1fr 1fr;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.home1-services__cell,
.home1-services__card {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.home1-services__card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--space-s, 3rem);
}

.home1-services__card::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-bottom: var(--space-xs, 2.25rem);
  background: var(--home1-services-line-strong);
}

.home1-services__card--speed {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  padding-bottom: var(--space-l, 6rem);
}

.home1-services__card--turnkey {
  grid-column: 3;
  grid-row: 1;
  align-self: end;
  padding-bottom: var(--space-xl, 9rem);
}

.home1-services__card--coverage {
  grid-column: 4;
  grid-row: 2;
  align-self: center;
}

.home1-services__text {
  color: var(--home1-services-muted);
}

/* Section 3: mobile */
@media (min-width: 992px) {
  .home1-services {
    min-height: 320svh !important;
    overflow: visible !important;
    background: var(--white, #fff) !important;
    --home1-services-left-guide-opacity: 1;
  }

  .home1-services::before {
    display: none;
  }

  .home1-services__media {
    position: sticky;
    top: 0;
    z-index: 0;
    width: 100%;
    height: 100svh;
    margin-bottom: -100svh;
    clip-path: inset(0 0 0 50%);
    background-color: var(--base, #051c2c);
    background-image: linear-gradient(var(--home1-services-overlay), var(--home1-services-overlay)),
      url('/wp-content/uploads/2026/05/promyshlennaya-mehanizirovannaya-bezvozdushnaya-pokraska-fasadov-zdanij-sooruzhenij.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    will-change: clip-path;
  }

  .home1-services__grid {
    position: sticky;
    top: 0;
    z-index: 2;
  }

  .home1-services__grid::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 25%;
    z-index: 1;
    width: 1px;
    pointer-events: none;
    background: var(--black-trans-20, rgba(5, 28, 44, 0.2));
    opacity: var(--home1-services-left-guide-opacity);
  }

  .home1-services__reveal {
    opacity: 0;
    transform: translateY(2.4rem);
    will-change: opacity, transform;
  }
}


@media (max-width: 991px) {
  /* 1. Общие стили секции */
  .home1-services {
    --home1-services-line: var(--white-trans-40, rgba(255, 255, 255, .4));
    --home1-services-pad: var(--space-xs, 2.25rem);
    min-height: auto;
    background-position: 55% center;
  }
  
  /* 2. Контейнер сетки: выстраиваем в 1 колонку, задаем отступы и скрываем десктопную линию-гайд */
  .home1-services__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--2xl) !important; /* Фиксированный аккуратный отступ между карточками */
    height: auto !important;
    padding: var(--space-xl, 6rem) var(--home1-services-pad) !important;
  }

  .home1-services .page-grid::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--page-grid-inset);
    right: var(--page-grid-inset);
    z-index: 1;
    pointer-events: none;

    /* Оставляем только 2 линии: левый край и правый край */
    background-image: 
      linear-gradient(to right, var(--page-grid-line) 1px, transparent 1px), /* Левая линия */
      linear-gradient(to left, var(--page-grid-line) 1px, transparent 1px); /* Правая линия */
    
    /* Корректируем позиции для двух линий */
    background-position: left top, right top;
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }

    /* 5. Линии внутри карточек */
  .home1-services__card::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin-bottom: var(--space-xs, 1.5rem) !important; 
    background: var(--home1-services-line-strong);
  }
}

/* Section 4: process */
.home1-process {
  --home1-process-bg: var(--base-ultra-light, #f3f4f4);
  --home1-process-text: var(--base, #051c2c);
  --home1-process-muted: var(--black-trans-50, rgba(5, 28, 44, .5));
  --home1-process-line: var(--black-trans-20, rgba(5, 28, 44, .2));
  --home1-process-accent: var(--primary, #94a187);
  --home1-process-pad: var(--space-xs, 2.25rem);
  --home1-process-columns: repeat(4, minmax(0, 1fr));

  position: relative;
  color: var(--home1-process-text);
  background: var(--home1-process-bg);
}

.home1-process.bricks-lazy-hidden,
.home1-process .bricks-lazy-hidden {
  opacity: 1 !important;
  visibility: visible !important;
}

.home1-process__grid {
  position: relative;
  display: grid !important;
  grid-template-columns: var(--home1-process-columns) !important;
  grid-template-rows: 1fr;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.home1-process__grid > .media,
.home1-process__media,
.home1-process__content,
.home1-process__cell {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.home1-process__grid > .media,
.home1-process__media {
  grid-column: 1 / 3;
  grid-row: 1;
  align-self: center;
  justify-self: center;
  width: min(72%, var(--width-l, 102.4rem));
  max-width: 100%;
}

.home1-process__content {
  grid-column: 3 / 5;
  grid-row: 1;
  align-self: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-s, 3rem);
  padding: 0 var(--home1-process-pad);
}

.home1-process /* Shared component: sweep button */
.ui-sweep-button.brxe-button {
  --home1-about-accent: var(--home1-process-accent);
  width: calc(50% - var(--home1-process-pad));
  max-width: none;
}

.home1-process__number,
.home1-process__title,
.home1-process__text {
  margin: 0;
  letter-spacing: 0;
}

.home1-process__button.brxe-button {
  position: relative;
  width: 100%;
  min-height: var(--space-l, 6rem);
  margin-top: var(--space-xs, 2.25rem);
  padding: 0 var(--space-xs, 2.25rem);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs, 2.25rem);
  border: 0;
  border-left: 3px solid var(--home1-process-accent);
  border-radius: 0;
  background: transparent;
  color: var(--home1-process-text);
  font-size: var(--text-m, 2.2rem);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
}

.home1-process__button.brxe-button svg,
.home1-process__button.brxe-button i {
  width: var(--icon-s, 2.4rem);
  height: var(--icon-s, 2.4rem);
  color: var(--home1-process-accent);
  fill: currentColor;
}

.home1-process__button.brxe-button path {
  fill: currentColor !important;
}

/* Section 4: process scroll steps */
.home1-process {
  position: relative;
  overflow: clip;
}

.home1-process__grid {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: 1fr !important;
  width: 100%;
  max-width: none;
}

.home1-process__step {
  grid-column: 1 / 5 !important;
  grid-row: 1 !important;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  opacity: 0;
  pointer-events: none;
}

.home1-process__step.is-active {
  opacity: 1;
  pointer-events: auto;
}

.home1-process__media-panel {
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  align-self: center;
  justify-self: center;
  min-width: 0;
  position: relative;
  z-index: 2;
}


/* Keep section 4 grid lines behind all animated process cards */
.home1-process__grid.page-grid::before {
  z-index: 0 !important;
}

.home1-process__grid > .home1-process__step {
  position: relative !important;
  z-index: 2 !important;
}

.home1-process__media-panel {
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 991px) {
  /* Переводим главный контейнер в стандартный блочный режим и задаем боковые отступы */
  .home1-process__grid {
    display: block !important;
    height: auto !important;
    /* Добавляем боковые отступы из вашей переменной, как в секции services */
    padding: var(--space-xl, 6rem) var(--home1-process-pad, 2.25rem) !important;
  }

  /* Сбрасываем абсолютное наложение шагов (JS-анимация) и включаем видимость */
  .home1-process__grid > .home1-process__step {
    position: relative !important;
    grid-column: auto !important;
    grid-row: auto !important;

    /* Переключаем шаг на Flex, чтобы выстроить картинку и текст вертикально */
    display: flex !important;
    flex-direction: column !important;
    gap: 3rem !important; /* Отступ между картинкой и текстом внутри шага */

    opacity: 1 !important;
    pointer-events: auto !important;
    margin-bottom: var(
      --space-xl,
      8rem
    ) !important; /* Расстояние между самими шагами */
  }

  .home1-process__grid > .home1-process__step:last-child {
    margin-bottom: 0 !important;
  }

  /* Сбрасываем позиционирование и размеры блока с картинкой */
  .home1-process__media-panel {
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    width: 100% !important;
  }

  /* Сбрасываем позиционирование текстового блока */
  .home1-process__content {
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: stretch !important;
    padding: 0 !important; /* Оставляем 0, так как общий отступ теперь контролирует сетка */
  }

  /* Растягиваем кнопку на всю ширину для удобства клика на мобильных */
  .home1-process .ui-sweep-button.brxe-button {
    width: 100% !important;
  }
}


/* Video card on hover effect */
:is(.home1-process .card-video-on-hover, .home1-process-card-clone) {
  width: 100%;
  border-radius: var(--radius-outside);
  overflow: hidden;
  position: relative;
  cursor: pointer;
  box-shadow: 0 1.6rem 4rem rgba(5, 28, 44, .18);
  transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s ease;
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone):hover {
  transform: translateY(-.6rem);
  box-shadow: 0 2rem 5rem rgba(5, 28, 44, .24);
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .media {
  width: 100%;
  height: 70svh;
  position: relative;
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .media img,
:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .media img {
  z-index: 1;
  opacity: 1;
  transition: opacity 0.7s ease;
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .media video {
  z-index: 2;
  opacity: 0;
  transition: opacity 0.4s ease;
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone):hover .media video {
  opacity: 1;
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone):hover .media img {
  opacity: 0;
}

/* Overlay com degradê */
:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 100px 36px 48px;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.92) 0%,
    rgba(0, 0, 0, 0.5) 60%,
    transparent 100%
  );
  color: white;
  z-index: 10;
}

.home1-process .tipo,
.home1-process-card-clone .tipo,
.home1-scope-accordion .tipo {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .preco {
  font-size: var(--h6);
  font-weight: 700;
  margin-bottom: 10px;
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.6);
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .local {
  font-size: var(--text-l);
  font-weight: 600;
  opacity: 0.95;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 8px;
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .stats {
  display: flex;
  gap: 34px;
  font-weight: 700;
  transform: translateY(80px);
  opacity: 0;
  transition: all 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone):hover .stats {
  transform: translateY(0);
  opacity: 1;
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .stat {
  font-size: 20px;
  line-height: 1;
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .stat span {
  display: block;
  font-size: 13px;
  font-weight: 500;
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 6px;
}

:is(.home1-process .card-video-on-hover, .home1-process-card-clone) .fav {
  position: absolute;
  top: 32px;
  right: 32px;
  width: 62px;
  height: 62px;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(14px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  z-index: 11;
  transition: all 0.4s ease;
}

/* Section 5: list */
.home1-waste {
  --home1-waste-bg: var(--base-ultra-light, #f3f4f4);
  --home1-waste-text: var(--base, #051c2c);
  --home1-waste-muted: var(--black-trans-50, rgba(5, 28, 44, .5));
  --home1-waste-line: var(--black-trans-20, rgba(5, 28, 44, .2));
  --home1-waste-hover: var(--primary-dark, #007866);
  --home1-waste-pad: var(--space-xs, 2.25rem);
  --home1-waste-columns: repeat(4, minmax(0, 1fr));

  position: relative;
  color: var(--home1-waste-text);
  background: var(--home1-waste-bg);
}

.home1-waste.bricks-lazy-hidden,
.home1-waste .bricks-lazy-hidden {
  opacity: 1 !important;
  visibility: visible !important;
}

.home1-waste__grid {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
}

.home1-waste__title-cell,
.home1-waste__list {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.home1-waste__title-cell {
  grid-column: 2 / 5;
  grid-row: 1;
}

.home1-waste__title {
  max-width: 11em;
  margin: 0;
  color: var(--home1-waste-text);
  letter-spacing: 0;
}

.home1-waste__list {
  grid-column: 2 / 5;
  grid-row: 2;
  align-self: start;
  border-top: 1px solid var(--home1-waste-line);

  counter-reset: process-counter;
}

/* Shared component: sweep row */
.home1-waste__row {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  color: var(--home1-waste-muted);
  border-bottom: 1px solid var(--home1-waste-line);
  transition: color .35s ease, transform .35s ease, box-shadow .35s ease;

  counter-increment: process-counter;
}

.home1-waste__number::before {
  content: counter(process-counter, decimal-leading-zero);
  display: block;
  font-size: var(--text-s, 1.76rem);
  font-weight: 700;
  line-height: 1.1;
}

.home1-waste__row::before,
.ui-sweep-row::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ui-sweep-row::before {
  z-index: -2;
  background: linear-gradient(90deg, var(--home1-waste-hover), var(--primary, #94a187));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .42s cubic-bezier(.2, .8, .2, 1);
}

.ui-sweep-row::after {
  z-index: -1;
  width: 28%;
  background: linear-gradient(105deg, transparent 0%, var(--white-trans-50, rgba(255,255,255,.5)) 48%, transparent 100%);
  transform: translateX(-180%);
  transition: transform .7s ease;
}

.home1-waste__number,
.home1-waste__item-title,
.home1-waste__link {
  margin: 0;
  letter-spacing: 0;
}

.home1-waste__number {
 
  line-height: 1;
  

}
.home1-waste__number::before {
  content: counter(process-counter, decimal-leading-zero);
  font-size: var(--text-s, 1.76rem);
  font-weight: 700;
}

.home1-waste__item-title {
  padding-inline: var(--home1-waste-pad);
  color: currentColor;
}

.home1-waste__link {
  justify-self: end;
  padding-inline: var(--home1-waste-pad);
  color: currentColor;
  text-underline-offset: .18em;
}

.home1-waste__row:hover,
.home1-waste__row:focus-within {
  color: var(--white, #fff);
  transform: translateY(-2px);
  box-shadow: 0 1.2rem 3rem var(--black-trans-10, rgba(5, 28, 44, .1));
}

.home1-waste__row:hover::before,
.home1-waste__row:focus-within::before {
  transform: scaleX(1);
}

.home1-waste__row:hover::after,
.home1-waste__row:focus-within::after {
  transform: translateX(360%);
}

@media (max-width: 991px) {
  .home1-waste {
    min-height: auto;
  }

  .home1-waste__grid {
    grid-template-columns: 1fr !important;
    min-height: auto;
    padding: 0 var(--space-xs, 2.25rem) var(--space-l, 6rem) !important;
  }.home1-waste__title-cell,
  .home1-waste__list {
    grid-column: 1;
  }

  .home1-waste__title-cell {
    padding: var(--space-m, 4.5rem) var(--space-s, 3rem) var(--space-m, 4.5rem);
  }

  .home1-waste__title {
    max-width: none;
    font-size: clamp(var(--h4, 3rem), 8vw, var(--h3, 4rem));
    line-height: 1;
  }

  .home1-waste__list {
    margin-inline: 0;
  }

  /* Shared component: sweep row */
.home1-waste__row {
    grid-template-columns: auto 1fr;
    gap: var(--space-xs, 2.25rem);
    min-height: auto;
    padding: var(--space-s, 3rem);
  }

  .home1-waste__number,
  .home1-waste__item-title,
  .home1-waste__link {
    padding-inline: 0;
  }

  .home1-waste__item-title {
    font-size: var(--text-l, 2.7rem);
  }

  .home1-waste__link {
    grid-column: 2;
    justify-self: start;
    margin-top: var(--space-2xs, 1.5rem);
  }
}
/* Section 5 mobile refinements */
@media (max-width: 991px) {
  .home1-waste__grid {
    padding-inline: 0 !important;
  }

  .home1-waste__grid::before {
    left: var(--space-xs, 2.25rem);
    right: var(--space-xs, 2.25rem);
  }

  .home1-waste__title-cell,
  .home1-waste__list {
    margin-inline: var(--space-xs, 2.25rem);
  }

  /* Shared component: sweep row */
.home1-waste__row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .home1-waste__number {
    display: none !important;
  }

  .home1-waste__link {
    grid-column: 1;
  }
}

/* Section 6: faq */
.faq {
  --faq-bg: var(--base-ultra-light, #f3f4f4);
  --faq-text: var(--base, #051c2c);
  --faq-line: var(--black-trans-20, rgba(5, 28, 44, .2));
  --faq-accent: var(--primary-dark, #007866);
  --faq-open-bg: var(--primary-semi-dark, #004483);
  --faq-pad: var(--space-xs, 2.25rem);
  position: relative; padding: 0 !important; overflow: hidden;
  color: var(--faq-text); background: var(--faq-bg);
}
.faq.bricks-lazy-hidden,
.faq .bricks-lazy-hidden { opacity: 1 !important; visibility: visible !important; }
.faq__grid {
  position: relative; min-height: 100svh;
  margin: 0 !important; padding: 0 !important;
}
.faq__title-cell, .faq__accordion-cell{grid-column:2 / 5; align-self:start; position:relative;z-index:2;min-width:0;}

.faq__title{max-width:12em;margin:0;color:var(--faq-text);letter-spacing:0;}

.faq__accordion{display:flex;flex-direction:column;gap:var(--space-xs,2.25rem);}
.faq__item{overflow:hidden;border-radius:var(--radius-xs,.4rem);background:var(--white,#fff);transition:background-color .2s ease,color .2s ease;}
.faq__icon{width:clamp(4.2rem,2.8vw,5.2rem);height:clamp(4.2rem,2.8vw,5.2rem);color:var(--faq-accent);}
.faq__icon path{fill:currentColor !important;}
.faq__item:has(.faq__header[aria-expanded="true"]){color:var(--white,#fff);background:var(--faq-open-bg);}
.faq__item:has(.faq__header[aria-expanded="true"]) .faq__icon{color:var(--white,#fff);}
.faq-counter-list {
  counter-reset: faq-counter;
}
.faq-counter-item {
  counter-increment: faq-counter;
}
.faq-counter-number {
  line-height: 1.5;
}
.faq-counter-number::before {
  content: counter(faq-counter, decimal-leading-zero);
  font-size: var(--text-l);
  font-weight: 700;
}

/* MERGED FROM 3305 FOR HOME */
/* qhusku: dynamic states and pseudo-elements only */
.home1-scope-accordion {
  --scope-text: var(--base, #051c2c);
  --scope-muted: rgba(5, 28, 44, .52);
  --scope-line: rgba(5, 28, 44, .12);
  --scope-soft: rgba(0, 117, 226, .06);
  --scope-accent: var(--primary, #0075e2);
}

.home1-scope-accordion.bricks-lazy-hidden,
.home1-scope-accordion .bricks-lazy-hidden {
  opacity: 1 !important;
  visibility: visible !important;
}

.home1-scope-accordion::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.24) 50%, transparent);
  opacity: .45;
}

.home1-scope-accordion .home1-scope-accordion__grid {
  position: relative;
  z-index: 2;
}

.home1-scope-accordion .home1-scope-accordion__eyebrow::before,
.home1-section-eyebrow::before {
  content: "";
  width: 3.6rem;
  height: 1px;
  flex: 0 0 auto;
  background: currentColor;
}

.home1-scope-accordion .home1-scope-accordion__lead span {
  color: rgba(7, 31, 46, .43);
}

.home1-scope-accordion .home1-scope-accordion__fact {
  position: relative;
}

.home1-scope-accordion .home1-scope-accordion__fact::before {
  content: "";
  width: .55rem;
  height: .55rem;
  margin-right: 1.25rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--scope-accent);
  box-shadow: 0 0 0 .45rem rgba(0, 117, 226, .1);
}

.home1-scope-accordion .home1-scope-accordion__fact:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50%;
  height: 1px;
  pointer-events: none;
  background: var(--scope-line);
}

.home1-scope-accordion .home1-scope-accordion__item {
  position: relative;
  overflow: visible;
  background: rgba(255,255,255,.04);
  box-shadow: inset 0 0 0 0 var(--scope-accent);
  transition: background-color .3s ease, box-shadow .36s cubic-bezier(.16,1,.3,1);
}

.home1-scope-accordion .home1-scope-accordion__accordion > .home1-scope-accordion__item:first-child {
  border-top: 1px solid var(--scope-line);
}

.home1-scope-accordion .home1-scope-accordion__header,
.home1-scope-accordion .accordion-title-wrapper,
.home1-scope-accordion [role="button"] {
  cursor: pointer;
}

.home1-scope-accordion .home1-scope-accordion__item-title {
  overflow-wrap: anywhere;
  hyphens: auto;
  text-wrap: balance;
}

.home1-scope-accordion .home1-scope-accordion__heading-group {
  opacity: 1;
  transform: translate3d(0,0,0);
  transition: transform 1.2s cubic-bezier(.4,0,.2,1), opacity .9s ease;
  will-change: transform, opacity;
}

.home1-scope-accordion .acc-short-title,
.home1-scope-accordion .acc-short-note {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.home1-scope-accordion .home1-scope-accordion__item.brx-open:not(.is-scope-closing) .home1-scope-accordion__heading-group,
.home1-scope-accordion .home1-scope-accordion__item.open:not(.is-scope-closing) .home1-scope-accordion__heading-group,
.home1-scope-accordion .home1-scope-accordion__item.is-active:not(.is-scope-closing) .home1-scope-accordion__heading-group,
.home1-scope-accordion .home1-scope-accordion__item:not(.is-scope-closing):has(.home1-scope-accordion__header[aria-expanded="true"]) .home1-scope-accordion__heading-group {
  opacity: 0;
  transform: translate3d(0,-100%,0);
  pointer-events: none;
}

.home1-scope-accordion .home1-scope-accordion__item.is-scope-closing .home1-scope-accordion__heading-group {
  opacity: 1;
  transform: translate3d(0,0,0);
  pointer-events: auto;
}
.home1-scope-accordion .home1-scope-accordion__icon path {
  fill: currentColor !important;
}

.home1-scope-accordion .home1-scope-accordion__icon {
  color: var(--scope-text);
  background: rgba(255,255,255,.38);
  box-shadow: 0 0 0 1px rgba(7,31,46,.1), 0 .8rem 2.4rem rgba(7,31,46,.06);
  transition: transform .9s cubic-bezier(.16,1,.3,1), background-color .55s ease, color .55s ease, box-shadow .55s ease;
  transform-origin: center;
}

.home1-scope-accordion .home1-scope-accordion__item.brx-open .home1-scope-accordion__icon,
.home1-scope-accordion .home1-scope-accordion__item.open .home1-scope-accordion__icon,
.home1-scope-accordion .home1-scope-accordion__item.is-active .home1-scope-accordion__icon,
.home1-scope-accordion .home1-scope-accordion__item:has(.home1-scope-accordion__header[aria-expanded="true"]) .home1-scope-accordion__icon {
  color: #f7f5ef;
  background: var(--scope-text);
  box-shadow: 0 1rem 3rem rgba(7,31,46,.16);
  transform: rotate(45deg);
}

.home1-scope-accordion .home1-scope-accordion__item.is-scope-closing .home1-scope-accordion__icon {
  color: var(--scope-text);
  background: rgba(255,255,255,.38);
  box-shadow: 0 0 0 1px rgba(7,31,46,.1), 0 .8rem 2.4rem rgba(7,31,46,.06);
  transform: rotate(0deg);
}

.home1-scope-accordion .home1-scope-accordion__content-motion,
.home1-scope-accordion .acc-content-motion {
  --scope-content-motion-y: calc(100% + 8rem);
  min-width: 0;
  opacity: 0;
  transform: translate3d(0,var(--scope-content-motion-y),0);
  animation: none;
}

.home1-scope-accordion .home1-scope-accordion__item.brx-open:not(.is-scope-closing) .home1-scope-accordion__content-motion,
.home1-scope-accordion .home1-scope-accordion__item.brx-open:not(.is-scope-closing) .acc-content-motion,
.home1-scope-accordion .home1-scope-accordion__item.open:not(.is-scope-closing) .home1-scope-accordion__content-motion,
.home1-scope-accordion .home1-scope-accordion__item.open:not(.is-scope-closing) .acc-content-motion,
.home1-scope-accordion .home1-scope-accordion__item.is-active:not(.is-scope-closing) .home1-scope-accordion__content-motion,
.home1-scope-accordion .home1-scope-accordion__item.is-active:not(.is-scope-closing) .acc-content-motion,
.home1-scope-accordion .home1-scope-accordion__item.is-scope-revealed:not(.is-scope-closing) .home1-scope-accordion__content-motion,
.home1-scope-accordion .home1-scope-accordion__item.is-scope-revealed:not(.is-scope-closing) .acc-content-motion,
.home1-scope-accordion .home1-scope-accordion__item:not(.is-scope-closing):has(.home1-scope-accordion__header[aria-expanded="true"]) .home1-scope-accordion__content-motion,
.home1-scope-accordion .home1-scope-accordion__item:not(.is-scope-closing):has(.home1-scope-accordion__header[aria-expanded="true"]) .acc-content-motion {
  animation: scopeContentIn 1.35s cubic-bezier(.4,0,.2,1) both;
}

.home1-scope-accordion .home1-scope-accordion__item.is-scope-closing .home1-scope-accordion__content-motion,
.home1-scope-accordion .home1-scope-accordion__item.is-scope-closing .acc-content-motion {
  animation: scopeContentOut 1.05s cubic-bezier(.4,0,.2,1) both;
}

@keyframes scopeContentIn {
  from { opacity: 0; transform: translate3d(0,var(--scope-content-motion-y),0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

@keyframes scopeContentOut {
  from { opacity: 1; transform: translate3d(0,0,0); }
  to { opacity: 0; transform: translate3d(0,var(--scope-content-motion-y),0); }
}

@media (hover:hover) and (pointer:fine) {
  .home1-scope-accordion .home1-scope-accordion__item:hover {
    background: rgba(255,255,255,.42);
    box-shadow: inset .4rem 0 0 var(--scope-accent), inset 0 1px 0 rgba(255,255,255,.55);
  }

  .home1-scope-accordion .home1-scope-accordion__header:hover .home1-scope-accordion__icon {
    color: #f7f5ef;
    background: var(--scope-text);
  }
}

@media (max-width:991px) {

  .home1-scope-accordion .home1-scope-accordion__content-motion > *,
  .home1-scope-accordion .acc-content-motion > * {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100%;
    min-width: 0;
  }

  .home1-scope-accordion .home1-scope-accordion__fact:not(:last-child)::after {
    width: 100%;
  }

  .home1-scope-accordion .home1-scope-accordion__eyebrow::before,
.home1-section-eyebrow::before {
    width: 2.4rem;
  }
}
/* end qhusku dynamic states */

/* Project video: generated media layers and interaction states */
.home1-scope-accordion__video-card {
  box-shadow: 0 1.6rem 4rem rgba(5, 28, 44, .18);
  transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s ease;
}
.home1-scope-accordion__video-media img,
.home1-scope-accordion__video-media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home1-scope-accordion__video-media img {
  z-index: 1;
  opacity: 1;
  transition: opacity .55s ease;
}
.home1-scope-accordion__video-media video {
  z-index: 2;
  opacity: 0;
  transition: opacity .4s ease;
}
.home1-scope-accordion__video-card:hover,
.home1-scope-accordion__video-card:focus-visible {
  transform: translateY(-.2rem);
  box-shadow: 0 2.2rem 5.4rem rgba(5, 28, 44, .24);
}
.home1-scope-accordion__video-card:hover .home1-scope-accordion__video-player,
.home1-scope-accordion__video-card.is-video-visible .home1-scope-accordion__video-player {
  opacity: 1;
}
.home1-scope-accordion__video-card:hover .home1-scope-accordion__video-media img,
.home1-scope-accordion__video-card.is-video-visible .home1-scope-accordion__video-media img {
  opacity: 0;
}
.home1-scope-accordion__video-overlay {
  z-index: 10;
  width: 100%;
  color: var(--white, #fff);
  background: linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.42) 60%, transparent 100%);
  pointer-events: none;
}
@media (max-width: 991px) {
  .home1-scope-accordion__video-overlay {
    padding: 8rem var(--space-xs, 2.25rem) var(--space-s, 3rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  .home1-scope-accordion__video-card,
  .home1-scope-accordion__video-media img,
  .home1-scope-accordion__video-media video {
    transition: none;
  }
  .home1-scope-accordion__video-card:hover,
  .home1-scope-accordion__video-card:focus-visible {
    transform: none;
  }
}
/* Project video CTA: smooth visible reveal from the card bottom */
.home1-scope-accordion__video-cta {
  position: relative;
  z-index: 12;
  opacity: 0;
  transform: translateY(2.4rem);
  pointer-events: none;
  will-change: transform, opacity;
  transition:
    transform .8s cubic-bezier(.22, 1, .36, 1),
    opacity .65s ease-out;
}
.home1-scope-accordion__video-card:hover .home1-scope-accordion__video-cta,
.home1-scope-accordion__video-card:focus-within .home1-scope-accordion__video-cta {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
@media (hover: none), (max-width: 991px) {
  .home1-scope-accordion__video-cta {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home1-scope-accordion__video-cta {
    transition-duration: .01ms;
  }
}

/* End project video */

/* qhusku projects catalog v2 */
.home1-scope-accordion {
  --scope-line: rgba(5, 28, 44, .12);
}


.home1-scope-accordion .home1-scope-accordion__video-label {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
}

.home1-process .tipo::before,
.home1-scope-accordion .tipo::before {
  content: "";
  flex: 0 0 1.1rem;
  width: 1.1rem;
  height: 1.1rem;
  background-color: currentColor;
  -webkit-mask: url('/wp-content/uploads/2026/07/play.svg') center / contain no-repeat;
  mask: url('/wp-content/uploads/2026/07/play.svg') center / contain no-repeat;
}

@media (hover: hover) and (pointer: fine) {
  .home1-scope-accordion .home1-scope-accordion__item:not(.brx-open):hover .home1-scope-accordion__item-title {
    color: var(--scope-accent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home1-scope-accordion .home1-scope-accordion__item-title {
    transition: none;
  }
}

/* end qhusku projects catalog v2 */


/* FAQ internal content alignment */
.faq .faq__content {
  padding: 0 25% var(--space-xs, 2.25rem) !important;
}

.faq .faq__answer p {
  margin: 0;

  display: block;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
}

@media (max-width: 991px) {
  .faq .faq__content {
    padding: 0 var(--space-s, 3rem) var(--space-s, 3rem) !important;
  }
}
/* End FAQ internal content alignment */
/* Home FAQ: project-style accordion icon */
.faq .faq__icon--project-style {
  color: var(--base, #051c2c);
  background: rgba(255, 255, 255, .38);
  box-shadow:
    0 0 0 1px rgba(7, 31, 46, .1),
    0 .8rem 2.4rem rgba(7, 31, 46, .06);
  transform-origin: center;
  transition:
    transform .9s cubic-bezier(.16, 1, .3, 1),
    background-color .55s ease,
    color .55s ease,
    box-shadow .55s ease;
}

.faq .faq__icon--project-style path {
  fill: currentColor !important;
}

@media (hover: hover) and (pointer: fine) {
  .faq .faq__header:hover .faq__icon--project-style,
  .faq .faq__header:focus-visible .faq__icon--project-style {
    color: #f7f5ef;
    background: var(--base, #051c2c);
  }
}
/* End Home FAQ: project-style accordion icon */

/* Centralized FAQ form interaction */
.faq .faq__form .bricks-button {
  font-size: var(--text-m);
  line-height: 1;
  font-weight: 700;
  color: var(--white);
  display: inline-flex;
  align-items: center;
  padding-top: var(--m);
  padding-right: var(--m);
  padding-bottom: var(--m);
  padding-left: var(--m);
  cursor: pointer;
  margin-top: var(--2xs);
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  justify-content: space-between;
  gap: var(--space-xs, 2.25rem);
  border-top: 0 solid var(--primary);
  border-right: 0 solid var(--primary);
  border-bottom: 0 solid var(--primary);
  border-left: 0 solid var(--primary);
  background-color: var(--primary-semi-light);
}

.faq .faq__form .bricks-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  text-decoration: none;
  transition: color .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}


.faq .faq__form .bricks-button::before,
.faq .faq__form .bricks-button::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.faq .faq__form .bricks-button::before {
  z-index: -2;
  background: linear-gradient(90deg, var(--home1-about-accent), var(--primary-dark, #76816c));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .42s cubic-bezier(.2, .8, .2, 1);
}

.faq .faq__form .bricks-button::after {
  z-index: -1;
  width: 38%;
  background: linear-gradient(105deg, transparent 0%, var(--white-trans-50, rgba(255,255,255,.5)) 48%, transparent 100%);
  transform: translateX(-160%);
  transition: transform .7s ease;
}

.faq .faq__form .bricks-button svg,
.faq .faq__form .bricks-button i {
  width: var(--icon-s, 2.4rem);
  height: var(--icon-s, 2.4rem);
  color: var(--home1-about-accent);
  fill: currentColor;
  transition: color .35s ease, transform .35s ease;
}

.faq .faq__form .bricks-button path {
  fill: currentColor !important;
}

.faq .faq__form .bricks-button:hover {
  background-color: var(--primary-semi-light);
}

.faq .faq__form .bricks-button:hover,
.faq .faq__form .bricks-button:focus-visible {
  color: var(--white, #fff);
  border-color: var(--home1-about-accent);
  transform: translateY(-2px);
  box-shadow: 0 1.2rem 3rem var(--black-trans-10, rgba(5, 28, 44, .1));
}

.faq .faq__form .bricks-button:hover::before,
.faq .faq__form .bricks-button:focus-visible::before {
  transform: scaleX(1);
}

.faq .faq__form .bricks-button:hover::after,
.faq .faq__form .bricks-button:focus-visible::after {
  transform: translateX(320%);
}

.faq .faq__form .bricks-button:hover svg,
.faq .faq__form .bricks-button:hover i,
.faq .faq__form .bricks-button:focus-visible svg,
.faq .faq__form .bricks-button:focus-visible i {
  color: var(--white, #fff);
  transform: translateX(.6rem);
}

:where(.brxe-form) label {
    text-transform: none;
}
/* End centralized FAQ form interaction */

/* Rich-text highlight spans */
.home1-hero__title span.highlight,
.home1-hero__panel span.highlight { color: var(--primary-semi-light); font-size: var(--h4); }

/* Tablet hero: ratings left, CTA right */
@media (min-width: 768px) and (max-width: 991px) {
  .home1-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: var(--m) !important;
    row-gap: var(--space-l, 6rem) !important;
    align-items: start;
    padding-bottom: var(--space-l, 6rem);
  }

  .home1-hero__content-cell {
    display: contents !important;
  }

  .home1-hero__panel {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .home1-hero__ratings-cell {
    grid-column: 1;
    grid-row: 2;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding: 0 0 0 var(--xs) !important;
  }

  .home1-hero__ratings {
    width: 100%;
    align-items: flex-start !important;
    flex-direction: column !important;
    row-gap: var(--space-xs, 2.25rem) !important;
  }

  .home1-hero__cta {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: var(--s) !important;
    margin: 0 var(--xs) 0 0 !important;
  }

  .home1-hero__cta > .brxe-button {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .home1-hero__spacer {
    display: none !important;
  }
}
/* End tablet hero layout */

/* mobile project accordion top alignment */
@media (max-width: 767px) {
  .home1-scope-accordion .home1-scope-accordion__item.brx-open .home1-scope-accordion__header,
  .home1-scope-accordion .home1-scope-accordion__item.open .home1-scope-accordion__header,
  .home1-scope-accordion .home1-scope-accordion__item.is-active .home1-scope-accordion__header,
  .home1-scope-accordion .home1-scope-accordion__item.is-scope-closing .home1-scope-accordion__header,
  .home1-scope-accordion .home1-scope-accordion__item:has(.home1-scope-accordion__header[aria-expanded="true"]) .home1-scope-accordion__header {
    position: absolute !important;
    inset: 0 0 auto !important;
    z-index: 4;
  }
}
/* end mobile project accordion top alignment */



/* Content custom block #2 + #3 */
/* ==========================================================================
   1. БЛОКИ КОНТЕНТА (#content1, #content2)
   ========================================================================== */

/* Отступы для абзацев и таблиц Gutenberg */
#content1 p,
#content2 p,
#content1 .wp-block-paragraph,
#content2 .wp-block-paragraph,
#content1 table,
#content2 table {
  margin-block-start: 1em;
  margin-bottom: 1em;
}

/* Общие стили заголовков */
#content1 h2,
#content2 h2,
#content1 h3,
#content2 h3 {
  font-family: "PTSans", sans-serif;
  font-weight: 700;
  line-height: var(--heading-line-height);
  color: var(--base);
  max-width: 100%;
}

/* Размеры заголовков */
#content1 h2,
#content2 h2 {
  font-size: var(--h5);
}

#content1 h3,
#content2 h3 {
  font-size: var(--h6);
}

blockquote, blockquote p {
    font-family: inherit !important;
}

/* ==========================================================================
   2. ТАБЛИЦЫ В КОНТЕНТЕ (PC + Mobile карточки)
   ========================================================================== */

/* Таблица сравнения технологий */
.service-comparison-content table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: var(--white, #fff);
}

.service-comparison-content table th,
.service-comparison-content table td {
  padding: clamp(1.2rem, 1.2vw, 2rem);
  border: 1px solid rgba(255, 255, 255, .38);
  text-align: left;
  vertical-align: top;
  line-height: var(--heading-line-height);
}

.service-comparison-content table th {
  color: var(--base, #051c2c);
  background: var(--white, #fff);
  font-family: "PTSans", sans-serif;
  font-weight: 700;
}

.service-comparison-content table th:first-child,
.service-comparison-content table td:first-child {
  width: 17%;
}

@media (max-width: 767px) {
  .service-comparison-content table {
    border: 0;
    color: var(--base, #051c2c);
  }

  .service-comparison-content table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  .service-comparison-content table,
  .service-comparison-content table tbody,
  .service-comparison-content table tr,
  .service-comparison-content table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .service-comparison-content table tbody {
    display: grid;
    gap: var(--space-xs, 2.25rem);
  }

  .service-comparison-content table tr {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(5, 28, 44, .12);
    border-radius: var(--radius-inside, 1.2rem);
    background: var(--white, #fff);
    box-shadow: 0 1.2rem 3rem rgba(5, 28, 44, .08);
  }

  .service-comparison-content table td {
    padding: var(--xs, 1.8rem);
    border: 0;
    border-bottom: 1px solid rgba(5, 28, 44, .10);
    color: var(--base, #051c2c);
    background: transparent;
    text-align: left;
    font-size: var(--text-s);
  }

  .service-comparison-content table td:last-child {
    border-bottom: 0;
  }

  .service-comparison-content table td:first-child {
    width: 100%;
    color: var(--base, #051c2c);
    background: rgba(5, 28, 44, .045);
    font-family: "PTSans", sans-serif;
    font-size: var(--text-m);
    font-weight: 700;
  }

  .service-comparison-content table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: .6rem;
    color: var(--primary, #0075e2);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: var(--heading-line-height);
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .service-comparison-content table td:first-child::before {
    display: none;
  }
}
/* Custom accordion icon system */
.custom_acc.faq-counter-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs, 2.25rem);
}

.custom_acc .brxe-icon.custom_acc__icon {
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: clamp(4.2rem, 2.8vw, 5.2rem) !important;
  height: clamp(4.2rem, 2.8vw, 5.2rem) !important;
  min-width: clamp(4.2rem, 2.8vw, 5.2rem) !important;
  min-height: clamp(4.2rem, 2.8vw, 5.2rem) !important;
  aspect-ratio: 1 !important;
  padding: .72rem !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: var(--base, #051c2c) !important;
  background: rgba(255, 255, 255, .38) !important;
  box-shadow:
    0 0 0 1px rgba(7, 31, 46, .10),
    0 .8rem 2.4rem rgba(7, 31, 46, .06) !important;
  transform: rotate(0deg);
  transform-origin: center;
  transition:
    transform .9s cubic-bezier(.16, 1, .3, 1),
    background-color .55s ease,
    color .55s ease,
    box-shadow .55s ease !important;
}

.custom_acc .brxe-icon.custom_acc__lead-icon {
  box-sizing: border-box !important;
  justify-self: start !important;
  width: clamp(3.8rem, 2.4vw, 4.2rem) !important;
  height: clamp(3.8rem, 2.4vw, 4.2rem) !important;
  transform: translateX(-.35rem);
}

.custom_acc .brxe-icon.custom_acc__arrow-icon {
  box-sizing: border-box !important;
  justify-self: end !important;
  width: clamp(4.2rem, 2.8vw, 5.2rem) !important;
  height: clamp(4.2rem, 2.8vw, 5.2rem) !important;
  min-width: clamp(4.2rem, 2.8vw, 5.2rem) !important;
  min-height: clamp(4.2rem, 2.8vw, 5.2rem) !important;
  padding: .72rem !important;
  color: var(--base, #051c2c);
}

.custom_acc .brxe-icon.custom_acc__arrow-icon path {
  fill: currentColor !important;
}
.custom_acc .brxe-icon.custom_acc__icon path {
  fill: currentColor !important;
}

.custom_acc .brxe-icon.custom_acc__icon [stroke]:not([stroke="none"]) {
  stroke: currentColor !important;
}

.custom_acc .accordion-title-wrapper:hover .brxe-icon.custom_acc__icon,
.custom_acc .accordion-title-wrapper:focus-visible .brxe-icon.custom_acc__icon,
.custom_acc .accordion-title-wrapper[aria-expanded="true"] .brxe-icon.custom_acc__icon,
.custom_acc .accordion-title-wrapper.brx-open .brxe-icon.custom_acc__icon,
.custom_acc .brx-open > .accordion-title-wrapper .brxe-icon.custom_acc__icon {
  color: var(--white, #fff) !important;
  background: var(--base, #051c2c) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, .9),
    0 1.2rem 2.8rem rgba(7, 31, 46, .18) !important;
}

.custom_acc .accordion-title-wrapper[aria-expanded="true"] .brxe-icon.custom_acc__icon,
.custom_acc .accordion-title-wrapper.brx-open .brxe-icon.custom_acc__icon,
.custom_acc .brx-open > .accordion-title-wrapper .brxe-icon.custom_acc__icon {
  transform: rotate(45deg);
}
@media (max-width: 767px) {
  .custom_acc.faq-counter-list .custom-html-css-script-wrapper:has(.faq-counter-number) {
    display: none !important;
  }

  .custom_acc.faq-counter-list .accordion-title-wrapper {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}
/* End custom accordion icon system */
/* Service quote author: single-column mobile layout */
@media (max-width: 478px) {
  .service-author {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: unset !important;
    width: 100% !important;
  }
}
/* End service quote author */

/* CCT project video: keep the top label aligned with the lead card */
.home1-scope-accordion .home1-process-card-clone .overlay {
  padding-top: 36px;
}


/**
 * Read more - less for categories + js
 */
 .readmore-wrapper {
  max-height: 250px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.4s ease;
}

.readmore-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 80px;
  background: linear-gradient(transparent, var(--home1-waste-bg));
  pointer-events: none;
}

.readmore-wrapper.open {
  max-height: 7000px;
}

.readmore-wrapper.open::after {
  display: none;
}


