:root {
  --primaryBlack: #181818;
  --primaryColor: #32b7d2;
  --grayLight: #f8f6f7;
  --transition-smooth: all 200ms cubic-bezier(0.42, 0, 1, 1);
  --radius: 32px;
  --side-padding: clamp(20px, 3.13vw, 60px);
  --block-padding: clamp(50px, 4.17vw, 80px);
  --block-gap: clamp(10px, 1.04vw, 20px);
  --textH1: clamp(36px, 5vw, 96px);
  --textTitle: clamp(32px, 3.33vw, 64px);
  --textName: clamp(24px, 2.5vw, 48px);
  --textNameH2: clamp(22px, 2.08vw, 40px);
  --textSub: clamp(18px, 1.67vw, 32px);
  --textDesc: clamp(16px, 1.25vw, 24px);
  --textP: clamp(16px, 1.04vw, 20px);
  --textS: clamp(14px, 0.83vw, 16px);
  --textUltraS: clamp(12px, 0.73vw, 14px);
  --textHeight: 110%;
  --fontUsual: 'Inter', sans-serif;
  --fontBtn: 'Exo 2', sans-serif;
  --transition-smooth: all 600ms cubic-bezier(0.42, 0, 1, 1);
  --transition-fast: all 200ms cubic-bezier(0.42, 0, 1, 1);
}

.block {
  padding: var(--block-padding) 0;
}
.container {
  padding: 0 var(--side-padding);
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
}
.privacy__container.container {
  max-width: 1060px;
  margin: 30px 0;
}
.headline {
  margin-bottom: clamp(20px, 2.5vw, 48px);
}
.subtitle {
  font-size: var(--textS);
  color: var(--primaryColor);
  border: 1px solid var(--primaryColor);
  border-radius: var(--radius);
  padding: 10px 20px;
  display: inline-block;
  margin-bottom: 20px;
}
.title {
  font-size: var(--textTitle);
  line-height: var(--textHeight);
  text-transform: uppercase;
  font-weight: 500;
}
.center {
  text-align: center;
}
.desc,
.title {
  font-family: var(--fontUsual);
}
.wrapper {
  width: 100%;
}
.none {
  display: none;
}
.primary__btn {
  position: relative;
  color: #fff;
  background-color: var(--primaryColor);
  border-radius: var(--radius);
  padding: 18px 24px;
  text-align: center;
  font-weight: 500;
  overflow: hidden;
}
.primary__btn_outline {
  background-color: unset;
  border: 1px solid #fff;
}
.primary__btn.black path {
  fill: #fff;
}
.primary__btn span {
  background-color: var(--primaryColor);
  padding: 16px 24px;
  border-radius: var(--radius);
}
.primary__btn span:last-child {
  padding: 15px 16px;
}
.no-scroll {
  overflow: hidden;
}

.primary__btn:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
      99.16deg,
      rgba(255, 255, 255, 0) 6.74%,
      rgba(255, 255, 255, 0.337298) 21.1%,
      rgba(255, 255, 255, 0) 33.35%
    ),
    rgba(255, 255, 255, 0);
  animation: blick 2.6s infinite;
}

@keyframes blick {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(100%);
  }
}

a {
  color: var(--primaryBlack);
}

body {
  font-family: var(--fontUsual);
  font-weight: 400;
  font-size: 16px;
  color: var(--primaryBlack);
  background-color: #fff;
}

header {
  position: sticky;
  width: 100%;
  top: 10px;
  z-index: 1001;
}
.header {
  font-size: var(--textUltraS);
}
.header__menu {
  display: none;
  align-items: center;
  gap: 6px;
  font-size: var(--textDesc);
  cursor: pointer;
}
.menu__btn {
  position: relative;
  width: 16px;
  height: 16px;
}
.menu__btn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--primaryColor);
  transition: var(--transition-fast);
}
.menu__btn span:nth-child(1) {
  top: 1px;
}
.menu__btn span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.menu__btn span:nth-child(3) {
  bottom: 1px;
}
.header__menu.active .menu__btn span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.header__menu.active .menu__btn span:nth-child(2) {
  opacity: 0;
}
.header__menu.active .menu__btn span:nth-child(3) {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}
.header__container,
.header__left,
.header__right,
.header__links,
.header__questions,
.header__options {
  display: flex;
  align-items: center;
}
.header__container {
  justify-content: space-between;
}
.header__container {
  padding: 10px 20px;
  border-radius: var(--radius);
  background-color: var(--grayLight);
}
.header__left,
.header__right,
.header__options {
  gap: var(--block-gap);
}
.header__links,
.header__questions {
  gap: 10px;
}
.header__questions-link img {
  width: 32px;
  height: 32px;
}
.header__phone {
  position: relative;
  font-weight: 500;
}
.footer__contact.header__phone {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.header__phone span {
  font-size: 14px;
  font-weight: 300;
  position: relative;
}
.header__phone span::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -12px;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background-color: #43d854;
  animation: phoneAnim 1.4s infinite;
  opacity: 0.2;
}
.header__link,
.header__phone {
  transition: var(--transition-fast);
}
.header__link:hover,
.header__phone:hover {
  color: var(--primaryColor);
}

@keyframes phoneAnim {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.hero-section {
  padding-top: var(--block-gap);
  margin-top: var(--block-gap);
}
.hero-section__container {
  display: flex;
  gap: var(--block-gap);
}
.hero-section__left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  background-color: var(--grayLight);
  padding: 40px 30px;
  text-align: center;
}
.hero-section__left,
.hero-section__right {
  flex-basis: 50%;
  border-radius: var(--radius);
}
.hero-section__subtitle {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--primaryColor);
}
.hero-section__title {
  font-size: var(--textH1);
  line-height: var(--textHeight);
  text-transform: uppercase;
  font-weight: 500;
}
.hero-section__desc {
  max-width: 528px;
  margin: 34px auto 0;
  font-size: var(--textP);
}
.hero-section__buttons {
  display: flex;
  width: 100%;
  gap: var(--block-gap);
}
.hero-section__button {
  flex-basis: 50%;
  border-radius: var(--radius);
  color: #fff;
  background-color: var(--primaryColor);
  padding: 28px;
}
.hero-section__button-outline {
  color: var(--primaryColor);
  border: 2px solid var(--primaryColor);
  background-color: unset;
}
.hero-section__benefits {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: var(--block-gap);
  margin-top: var(--block-gap);
}
.hero-section__benefit {
  padding: 16px;
  background-color: var(--grayLight);
  border-radius: var(--radius);
}
.hero-section__benefit:nth-child(1) {
  color: #fff;
  background-color: var(--primaryColor);
}
.hero-section__benefit:nth-child(3) {
  background-color: rgba(50, 183, 210, 0.1);
}
.hero-section__benefit-name {
  font-size: var(--textSub);
  font-weight: 500;
}
.hero-section__benefit-desc {
  font-size: var(--textS);
  margin-top: 32px;
}
.hero-section__image {
  border-radius: var(--radius);
  overflow: hidden;
}

.service .block {
  padding: calc(var(--block-padding) * 2) 0 var(--block-padding);
}
.service__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--block-gap);
}
.service__item {
  display: flex;
}
.service__item-left,
.service__item-right {
  border-radius: var(--radius);
  flex-basis: 50%;
  flex-shrink: 0;
  overflow: hidden;
}
.service__item-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px 30px;
  background-color: var(--grayLight);
}
.service__item-name {
  font-size: var(--textName);
  line-height: var(--textHeight);
}
.service__item-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mission {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  margin: var(--block-padding) 0;
}
.mission .block {
  padding: clamp(120px, 11.46vw, 220px) 0 clamp(40px, 11.46vw, 60px);
}
.mission .headline {
  margin-bottom: clamp(40px, 7.29vw, 140px);
}
.mission .headline,
.mission .subtitle {
  color: #fff;
}
.mission .subtitle {
  border: 1px solid #fff;
}
.mission__btn {
  display: flex;
  align-items: center;
  justify-self: center;
  gap: 14px;
  margin-top: 60px;
}
.mission__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}
.mission::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(50, 183, 210, 0.9);
  z-index: -1;
}
.mission__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mission__bg::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.mission__benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
  gap: var(--block-gap);
}
.mission__benefit {
  padding: 30px;
  background-color: #fff;
  border-radius: var(--radius);
}
.mission__name {
  color: var(--primaryColor);
  font-size: var(--textSub);
}
.mission__desc {
  font-size: var(--textS);
  font-weight: 300;
  max-width: 360px;
  margin: 10px auto 0;
  line-height: var(--textHeight);
}

.repair__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--block-gap);
}
.repair__item {
  display: flex;
  background-color: var(--grayLight);
  flex-direction: column;
  justify-content: space-between;
  border-radius: var(--radius);
}
.repair__image {
  border-radius: var(--radius);
}
.repair__info {
  text-align: center;
  padding: 20px;
}
.repair__name {
  font-size: var(--textNameH2);
  line-height: var(--textHeight);
  margin-bottom: 40px;
}
.repair__button {
  width: 100%;
}

.aluminum__btn {
  width: 100%;
}
.aluminum-slider__container {
  position: relative;
  margin: 20px 0;
  padding: 20px;
  background-color: var(--grayLight);
  border-radius: var(--radius);
}
.aluminum__name {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: var(--textSub);
  color: #fff;
  padding: 40px;
  z-index: 2;
}
.aluminum-slider__slide {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);

  aspect-ratio: 6 / 7;
}
.aluminum-slider__slide::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
  z-index: 1;
}
.aluminum-slider__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aluminum-controll__btn.button-prev {
  left: 0;
}
.aluminum-controll__btn.button-next {
  right: 0;
}

.window-slider {
  position: relative;
}
.window-slider .swiper-wrapper {
  padding: 0 var(--side-padding);
  justify-self: center;
}
.window-slider__slide {
  opacity: 0.5;
  transition: var(--transition-smooth);
}
.window-slider__slide.swiper-slide-active {
  opacity: 1;
}
.window-pagination.swiper-pagination-bullets {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 24px;
  gap: 10px;
}
.window-pagination__box.swiper-pagination-bullet {
  position: relative;
  width: unset;
  height: unset;
  background-color: var(--grayLight);
  border-radius: var(--radius);
  padding: 18px 24px;
  opacity: 1;
  margin: 0 !important;
}
.window-pagination__box.swiper-pagination-bullet-active {
  color: #fff;
  background-color: var(--primaryBlack);
}
.window-pagination__text {
  font-size: var(--textS);
  white-space: nowrap;
}
.window-slider__inner {
  display: flex;
  gap: var(--block-gap);
  margin: 0 20px;
}
.glazing-slide__info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.window-slide__text {
  font-weight: 300;
}

.window-slide__info,
.window-slide__image img {
  border-radius: var(--radius);
}
.window-slide__image,
.window-slide__info {
  flex-basis: 50%;
}
.window-slide__image {
  height: 100%;
}
.window-slide__image img {
  width: 100%;
  height: 100%;
  max-height: 656px;
}
.window-slide__info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px 30px;
  background-color: #f8f6f7;
}
.window-slide__name {
  font-size: var(--textName);
}
.window-slide__params {
  display: flex;
  margin-top: 40px;
  gap: 40px;
  width: 100%;
  font-weight: 300;
}
.window-slide__param {
  display: flex;
  flex-direction: column;
  width: 33.3%;
}
.window-slide__param-progressline {
  position: relative;
  width: 100%;
  height: 10px;
  background-color: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  margin-top: 12px;
}
.window-slide__param-progressline-filed {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: var(--primaryColor);
}
.window-slide__params {
  display: flex;
  flex-wrap: wrap;
}
.window-slide__details {
  margin: 20px 0;
}
.window-slide__detail {
  position: relative;
  font-weight: 300;
  display: flex;
  align-items: center;
  gap: 8px;
}
.window-slide__detail::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #f8f6f7;
  border-radius: 100%;
  border: 2px solid var(--primaryColor);
}
.window-slide__detail:not(:last-child) {
  margin-bottom: 12px;
}
.window-slide__price {
  display: flex;
  flex-direction: column;
  margin: 40px 0;
}
.window-slide__price-old {
  text-decoration: line-through;
  opacity: 0.5;
}
.window-slide__price-sale {
  font-size: var(--textNameH2);
}
.aluminum-controll__btn,
.window-controll__btn,
.project-controll__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.button-prev,
.button-next {
  opacity: 0.5;
  transition: var(--transition-fast);
}
.button-prev:hover,
.button-next:hover {
  opacity: 1;
}
.window-controll__btn.button-prev {
  left: calc(18% - 30px);
}
.window-controll__btn.button-next {
  right: calc(18% - 30px);
}

.aluminum .mission__benefit {
  background-color: var(--grayLight);
}

.grids__types {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.grids__type {
  font-size: var(--textS);
  padding: 16px 24px;
}
.grids__type.active {
  color: #fff;
  background-color: var(--primaryBlack);
}
.grids__type,
.grids__item {
  border-radius: var(--radius);
  background-color: var(--grayLight);
}
.grids__items {
  position: relative;
  min-height: 400px;
}
.grids__item {
  display: flex;
  justify-content: space-between;
  padding: 60px 60px 100px;
  margin-top: 40px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(20px);
  transition: all var(--transition-fast) ease;
  position: absolute;
}
.grids__item.active {
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.grids__info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-basis: 50%;
}
.grids__size {
  font-size: var(--textS);
  font-weight: 300;
  color: var(--primaryColor);
}
.grids__name {
  font-size: var(--textName);
}
.grids__benefits {
  display: flex;
  flex-wrap: wrap;
  max-width: 460px;
  gap: 10px;
  margin-top: 20px;
}
.grids__benefit {
  font-size: var(--textUltraS);
  padding: 10px 14px;
  font-weight: 300;
  color: #fff;
  border-radius: var(--radius);
  background-color: var(--primaryBlack);
}
.grids__desc {
  max-width: 540px;
  margin: 30px 0;
  font-size: var(--textS);
}
.grids-types-slider__title {
  margin-bottom: 10px;
}
.grids__info,
.grids-types-slider__container,
.grids-types-slider,
.grids-types-slider-wrapper,
.grids-types-slider__slide {
  min-width: 0;
}
.grids-types-slider__container {
  max-width: 540px;
}
.grids-types {
  position: relative;
}
.grids-types-slider__slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}
.grids-types-slider__slide img {
  aspect-ratio: 1/1;
  width: 100%;
  border-radius: 100%;
}
.grids__image {
  overflow: hidden;
  border-radius: var(--radius);
  max-height: 600px;
  width: 100%;
}
.grids__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.grids__btn {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px 0;
  background-color: var(--primaryColor);
  border-radius: var(--radius);
}
.grids__right {
  position: relative;
  display: flex;
  padding-right: 67px;
  flex-basis: 50%;
}
.grids-colors {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(0%, 0);
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
}
.grids-colors__phone {
  display: none;
}
.grids-color {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #fff;
  padding: 16px;
  max-width: 134px;
  max-height: 134px;
  width: 100%;
  height: 100%;
  border-radius: var(--radius);
}
.grids-color:nth-child(1) {
  color: var(--primaryBlack);
  background-color: #f3f8f4;
  border: 1px solid #000;
}
.grids-color:nth-child(2) {
  background-color: #44332c;
}
.grids-color:nth-child(3) {
  background-color: #373f42;
}
.grids-color:nth-child(4) {
  background-color: #342e3b;
}
.grids-color__ral {
  font-size: 12px;
}
.grids-color__name {
  font-size: var(--textS);
}
.grids-types-controll__btn {
  transform: translate(50%, -50%);
}

.measuring {
  margin: calc(var(--block-padding) * 2) 0;
  border-radius: var(--radius);
  background-color: var(--primaryColor);
  position: relative;
}
.measuring .headline {
  margin-bottom: 0;
  position: relative;
  z-index: 2;
}
.measuring__container.container {
  display: flex;
  padding: 0 0 0 var(--side-padding);
}
.measuring__img {
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 50%;
}
.measuring,
.measuring .subtitle {
  color: #fff;
}
.measuring .subtitle {
  border: 1px solid #fff;
}
.measuring__btn {
  display: inline-block;
  margin-top: clamp(40px, 5.2vw, 100px);
}

.plisse__container {
  display: flex;
  gap: var(--block-gap);
}
.plisse__left {
  background-color: var(--grayLight);
}
.plisse__left,
.plisse__right {
  flex-basis: 50%;
  border-radius: var(--radius);
  overflow: hidden;
}
.plisse__left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 60px 40px;
}
.plisse__item {
  padding-bottom: clamp(10px, 1.56vw, 30px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.plisse__item:not(:first-child) {
  margin-top: 30px;
}
.plisse__name {
  font-size: var(--textNameH2);
  line-height: var(--textHeight);
  cursor: pointer;
}
.plisse__desc {
  font-weight: 300;
  max-height: 0;
  overflow: hidden;
  transition: 0.3s ease;
  margin: 0;
  font-size: var(--textS);
}
.plisse__item.active .plisse__desc {
  max-height: 500px;
  margin-top: 10px;
}
.plisse__item.active {
  border-bottom: 1px solid var(--primaryColor);
}
.plisse__item.active .plisse__name {
  color: var(--primaryColor);
}
.plisse__right img {
  display: block;
  transition: opacity 0.3s ease;
  opacity: 1;
  width: 100%;
  height: 100%;
  max-height: 700px;
  object-fit: cover;
}
.plisse__right img.fade-out {
  opacity: 0;
}
.plisse__price {
  font-size: var(--textSub);
  margin-top: 20px;
}
.plisse__price span {
  font-size: var(--textS);
  font-weight: 300;
}

.projects__item {
  display: flex;
  gap: var(--block-gap);
}
.projects__item:not(:last-child) {
  margin-bottom: 20px;
}
.project__left,
.project__right {
  flex-basis: 50%;
  border-radius: var(--radius);
  overflow: hidden;
}
.project__left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: var(--grayLight);
  padding: 40px;
}
.project__name {
  font-size: var(--textName);
  line-height: var(--textHeight);
}
.project__place {
  display: flex;
  align-items: center;
  color: var(--primaryColor);
  margin-top: 20px;
  gap: 10px;
}
.project__desc {
  font-size: var(--textP);
  font-weight: 300;
  line-height: var(--textHeight);
}
.project__button {
  width: 100%;
  margin-top: 20px;
}
.project__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-height: 740px;
}
.project-controll__btn.button-prev {
  left: 10px;
}
.project-controll__btn.button-next {
  right: 10px;
}

.aluminum__btn {
  margin-top: 20px;
}

.cta {
  margin: var(--block-padding) 0 0;
  border-bottom-left-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
  background-color: var(--primaryColor);
}
.cta__block {
  padding: clamp(50px, 6.25vw, 120px) 0;
}
.cta .title {
  color: #fff;
}
.cta__items {
  display: flex;
  justify-content: center;
  gap: var(--block-gap);
  margin: clamp(40px, 4.69vw, 90px) 0;
}
.cta__container {
  text-align: center;
}
.cta__item {
  text-align: center;
  background-color: var(--grayLight);
  border-radius: var(--radius);
  padding: 46px 22px 28px;
}
.cta__name {
  display: inline-block;
  max-width: 230px;
}
.cta__icon {
  margin-bottom: 20px;
}
.cta__btn {
  display: flex;
  justify-self: center;
  padding: 22px 60px;
}

.footer {
  margin-top: 20px;
  background-color: var(--grayLight);
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.footer__info {
  max-width: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-weight: 200;
}
.footer__container {
  display: flex;
  justify-content: space-between;
  gap: var(--block-gap);
}
.footer__columns {
  display: flex;
  gap: 60px;
}
.footer__links,
.footer__contacts,
.footer__btns {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.footer__btns,
.footer__contacts {
  align-items: flex-end;
}
.footer__contact {
  font-size: var(--textP);
  font-weight: 500;
}
.footer__link {
  font-weight: 200;
  transition: var(--transition-fast);
}
.footer__link:hover {
  color: var(--primaryColor);
}
.footer__column-name {
  font-weight: 500;
  display: inline-block;
  margin-bottom: 26px;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(24, 24, 24, 0.56);
  z-index: 11000;
  padding: 40px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  opacity: 0;
  visibility: hidden;
  transition: 0.65s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.modal.active {
  opacity: 1;
  visibility: visible;
}
.modal.anim .modal__wrapper {
  transform: translateY(0);
}

.modal__wrapper {
  position: relative;
  width: 100%;
  max-width: 660px;
  background-color: #fff;
  border-radius: var(--radius);
  padding: 20px;
  transform: translateY(120%);
  transition: 0.45s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.modal__title {
  font-size: var(--textName);
  margin-bottom: 20px;
}
.modal__links {
  color: #fff;
  display: flex;
  gap: var(--block-gap);
}
.modal__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-basis: 50%;
  padding: 10px 24px;
  color: #fff;
  border-radius: var(--radius);
}

.modal-close {
  position: absolute;
  top: 6px;
  right: 6px;
  background-color: #fff;
  border-radius: var(--radius);
}

.modal__link-whatsapp {
  background-color: #25d366;
}
.modal__link-tg {
  background-color: #40b3e0;
}
.modal__item {
  margin-top: 24px;
}

.modal__desc {
  font-weight: 300;
  margin-bottom: 6px;
  display: inline-block;
}
.modal__phone {
  color: var(--primaryBlack);
  font-size: var(--textName);
  transition: var(--transition-smooth);
}
.modal__phone:hover {
  color: var(--primaryColor);
}
.cta__input {
  height: 60px;
  width: 100%;
  padding: 20px;
  border-radius: var(--radius);
  border: 1px solid var(--primaryBlack);
  transition: var(--transition-fast);
}
.modal__form .cta__input input:valid,
.modal__form .cta__input input:hover {
  border: 1px solid var(--primaryColor);
}
.modal__send {
  width: 100%;
  min-height: 66px;
  border-radius: var(--radius);
  background-color: var(--primaryColor) !important;
  margin-top: 10px;
  color: #fff;
}
.modal__privacy {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 12px;
  font-weight: 300;
  margin-top: 4px;
}
.modal__privacy a {
  text-decoration: underline;
}
.wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--grayLight);
  display: flex;
  justify-content: center;
  z-index: 1000;
  padding: 100px 0 0;
  overflow-x: hidden;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-fast);
}
.menu.active {
  opacity: 1;
  visibility: visible;
}
.menu__wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-top: 1px solid var(--primaryBlack);
  width: 100%;
  padding: 30px 20px;
}
.menu__links {
  margin-bottom: 40px;
}
.menu__link:not(:last-child) {
  margin-bottom: 10px;
}
.menu__link-item {
  display: inline-block;
  border-bottom: 1px solid rgba(24, 24, 24, 0.2);
  width: 100%;
  padding: 10px;
}

@media screen and (max-width: 1439px) {
  .hero-section__button {
    padding: 20px;
  }
  .hero-section__benefit-desc {
    margin-top: 20px;
  }
  .header__links {
    max-width: 300px;
    flex-wrap: wrap;
    gap: 4px;
  }
  .service__item-left {
    padding: 30px 20px;
  }
  .window-slide__detail::before {
    flex-shrink: 0;
  }
}

@media screen and (max-width: 1240px) {
  .window-slide__info,
  .window-slide__image {
    flex-basis: 50%;
  }
  .window-controll__btn.button-prev {
    left: 20px;
  }
  .window-controll__btn.button-next {
    right: 20px;
  }

  .grids__item {
    padding: 20px 20px 100px;
  }
  .grids__right {
    padding-right: 0;
  }
}

@media screen and (max-width: 1023px) {
  .header__links {
    display: none;
  }
  .header__menu {
    display: flex;
  }

  .hero-section__buttons {
    flex-direction: column;
  }
  .hero-section__benefits {
    grid-template-columns: 1fr;
  }

  .service__item {
    flex-direction: column-reverse;
  }
  .service__item-left,
  .service__item-right {
    flex-basis: unset;
  }
  .service__item-right {
    max-height: 300px;
  }
  .service__item-left {
    flex: 1;
  }

  .repair__items {
    grid-template-columns: repeat(2, 1fr);
  }

  .window-pagination.swiper-pagination-bullets,
  .grids__types {
    flex-wrap: wrap;
  }
  .grids__item {
    margin-top: 20px;
  }
  .plisse__left,
  .project__left {
    padding: 30px 20px;
  }

  .grids__item {
    padding: 40px 20px 80px;
  }
  .cta__item {
    padding: 20px;
  }
  .cta__icon {
    margin-bottom: 10px;
  }
  .cta__icon img {
    width: 64px;
    height: 64px;
  }

  .modal__wrapper {
    max-width: 460px;
  }

  .modal__title {
    font-size: 28px;
    margin-bottom: 14px;
  }

  .modal__links {
    gap: 10px;
  }

  .modal__link {
    font-size: 14px;
  }
  .modal__link img {
    width: 24px;
    height: 24px;
  }

  .modal__phone {
    font-size: 32px;
  }
}

@media screen and (max-width: 767px) {
  .header__container {
    padding: 14px 20px;
  }
  .header__phone span {
    top: -70%;
    font-size: 12px;
  }
  .header__phone span::before {
    width: 6px;
    height: 6px;
    left: -10px;
  }
  .header__options {
    flex-direction: column-reverse;
    align-items: baseline;
    gap: 6px;
  }
  .header__questions {
    gap: 4px;
  }

  .hero-section__container {
    flex-direction: column;
  }
  .hero-section__subtitle {
    margin-bottom: 30px;
  }
  .hero-section__desc {
    margin: 30px 0 60px;
  }

  .mission__benefit {
    padding: 16px;
  }

  .window-controll__btn {
    transform: translateY(-100%);
  }
  .window-controll__btn.button-next {
    right: 10px;
  }
  .window-controll__btn.button-prev {
    left: 10px;
  }
  .window-slider__inner {
    flex-direction: column;
  }
  .window-slide__image {
    background-color: var(--grayLight);
    border-radius: var(--radius);
    overflow: hidden;
  }
  .window-slide__image img {
    max-height: 300px;
    object-fit: contain;
  }
  .window-slide__params {
    gap: 10px;
    margin-top: 10px;
  }
  .window-slide__detail:not(:last-child) {
    margin-bottom: 6px;
  }
  .window-slide__price {
    margin: 20px 0;
  }

  .measuring__img {
    position: relative;
    transform: scale(1.1);
    transform-origin: bottom right;
    max-width: 100%;
    text-align: right;
  }
  .measuring__img img {
    max-width: 300px;
  }

  .project__left,
  .project__right {
    flex: 1;
  }
  .project__right {
    height: 100%;
  }

  .footer__container {
    flex-wrap: wrap;
    row-gap: 40px;
  }
  .footer__columns {
    flex-basis: 50%;
  }
  .footer__btns,
  .footer__contacts {
    align-items: center;
  }
  .footer__contacts,
  .footer__btns,
  .footer__btn {
    width: 100%;
  }

  .modal {
    justify-content: unset;
    align-items: center;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .modal__wrapper {
    width: 100%;
    max-width: 100%;
  }

  .grids__item {
    flex-direction: column-reverse;
  }
}

@media screen and (max-width: 567px) {
  .header__container {
    gap: 2px;
    padding: 18px 12px;
  }
  .header__left,
  .header__right {
    gap: unset;
  }
  .header__logo {
    max-width: 120px;
  }
  .header__right {
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: 6px;
  }
  .footer__contact.header__phone {
    font-size: 14px;
  }
  .header__questions {
    display: none;
  }
  .header__phone span {
    font-size: 10px;
  }

  .hero-section__left {
    padding: 20px;
  }
  .service__items,
  .mission__benefits,
  .repair__items {
    grid-template-columns: 1fr;
  }

  .aluminum__name {
    padding: 20px;
  }

  .plisse__container {
    flex-direction: column-reverse;
  }

  .measuring__container.container {
    flex-direction: column-reverse;
  }

  .project-controll__btn.button-prev {
    left: 0px;
  }
  .project-controll__btn.button-next {
    right: 0px;
  }
  .projects__item {
    flex-direction: column-reverse;
  }

  .cta__items {
    flex-direction: column;
  }

  .window-slide__info {
    padding: 30px 20px;
  }

  .grids__item {
    flex-direction: column-reverse;
  }
  .grids__item {
    padding: 20px 10px 80px;
  }
  .grids__desc {
    margin-top: 20px;
  }

  .measuring {
    overflow: unset;
  }
  .measuring__img {
    position: relative;
    top: -60px;
  }

  .footer__columns {
    flex-direction: column;
    gap: 10px;
  }
  .footer__column-name {
    margin-bottom: 10px;
  }
  .footer__links {
    gap: 4px;
  }

  .modal {
    padding: 20px;
  }
  .modal__title {
    font-size: 22px;
  }
  .modal-close svg {
    width: 22px;
    height: 22px;
  }
  .modal__phone {
    font-size: 24px;
  }
  .modal__links {
    flex-direction: column;
    gap: 6px;
  }
  .modal__link {
    padding: 10px 16px;
  }
  .modal__privacy {
    font-size: 8px;
  }
  .modal__wrapper {
    padding: 14px;
  }

  .grids-colors__pc {
    display: none;
  }
  .grids-colors__phone {
    display: block;
    margin-top: 20px;
  }
  .grids-colors__phone .grids-colors {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 5px;
  }
  .grids-color {
    max-width: unset;
  }
}

.mission__modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1001;
  display: none;
}
.mission__modal.active {
  display: flex;
  align-items: center;
  justify-content: center;
}


    .cookie-modal {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  padding: 10px 16px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  font-size: 12px;
  line-height: 1.4;
  max-width: 400px;
  width: calc(100% - 40px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.cookie-modal.show {
  opacity: 1;
  pointer-events: all;
}
.cookie-content a {
  color: var(--content-color);
  text-decoration: underline;
}
.cookie-btn {
  background: var(--primaryColor);
  color: #000;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 10px;
  transition: background 0.2s;
}
.cookie-btn:hover {
  background: rgba(233, 199, 49, 0.6);
}
