/* Основные настройки */
:root {
   
    --main-text: #2C4390;
    --accent: #e83d89;
    --radius: 2.4rem;
    --shadow: 0 8px 32px rgba(40,50,70,0.12), 0 2px 8px rgba(0,0,0,0.08);
  }

  
  
  html {
    box-sizing: border-box;
    font-size: 18px; /* легко адаптировать для rem */
    scroll-behavior: smooth;
    background: var(--main-bg);
  }
  
  *, *::before, *::after {
    box-sizing: inherit;
    margin: 0;
    padding: 0;
  }
  
  body {
    font-family: 'Roboto Flex', Arial, sans-serif;
    font-variation-settings: "wght" 400, "opsz" 14;
    color: var(--main-text);
    background: var(--main-bg);
    min-height: 100vh;
    line-height: 1.5;
    font-size: 1rem;
  }
  
  /* Заголовки */
  h1, h2, h3, .section-title {
    font-family: 'Montserrat', 'Roboto Flex', Arial, sans-serif;
    font-weight: 800;
    letter-spacing: 0.02em;
  
    line-height: 1.12;
  }
  h1 { font-size: 2.8rem; margin-bottom: 1.2rem;}
  h2 { font-size: 2.1rem; margin-bottom: 1rem;}
  h3 { font-size: 1.3rem; margin-bottom: .7rem;}
  
  /* Ссылки и кнопки */
  a {
    color: var(--main-text);
    text-decoration: none;
    transition: color 0.2s;
  }
  a:hover, a:focus {
    color: var(--accent);
  }
  
  
  /* Контейнер и сетка */
  .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 1.4rem;
  }
  
  .row {
    display: flex;
    flex-wrap: wrap;
    margin: -1rem 0 0 -1rem;
  }
  
  .col {
    flex: 1 1 0;
    margin: 1rem 0 0 1rem;
  }
  
  .section {
    padding: 3.5rem 0;
  }
  
  .section-title {
    text-align: center;
    margin-bottom: 2rem;
  }
  
  /* Красивая тень и скругление для карточек */
  .card {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 2rem 1.4rem;
  }
  
  /* Адаптивность */
  @media (max-width: 991px) {
    html { font-size: 16px; }
    .container { max-width: 98vw; }
    h1 { font-size: 2.1rem; }
    h2 { font-size: 1.6rem; }
  }
  
  @media (max-width: 600px) {
    html { font-size: 15px; }
    .container { padding: 0 0.6rem; }
    .section { padding: 2rem 0; }
    h1 { font-size: 1.3rem; }
    h2 { font-size: 1.1rem; }
    .card { padding: 1rem 0.6rem; }
  }
  
  /* Мелкие детали */
  ::-webkit-scrollbar { width: 9px; background: #e6e6e6;}
  ::-webkit-scrollbar-thumb { background: #e83d89; border-radius: 12px;}

  /* Основные настройки */

/* ======= Меню ======= */

.main-header {
  background: transparent;
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  transition: background 0.27s, box-shadow 0.22s, top 0.18s;
  z-index: 100;
  box-shadow: none;
}

.main-header.sticky {
  position: fixed;
  top: 0;
  left: 0;
  background: #FFCFF2;    
  box-shadow: 0 2px 24px #e83d8944;
  padding-top: 10px;          
  padding-bottom: 10px; 
  transition: background 0.27s, box-shadow 0.22s, top 0.18s;
}

.header-inner {
  max-width: 1440px;
  margin: 0 auto;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  /* padding уберём, задаём через брейкпоинты */
}

.logo {
  display: flex;
  align-items: center;
  height: 88px;
}
.main-nav {
  display: flex;
  gap: 1.0rem;
  align-items: center;
  margin-left: 28px;
}
.main-nav a {
  display: inline-block;
  font-family: 'Roboto Flex', Arial, sans-serif;
  font-size: 15px;
  color: #32a1ce  ;
  background: rgba(255, 255, 255, 0.8); ;
  border: 1.7px solid #32a1ce;
  letter-spacing: 0.1rem;
  padding: 4px 8px;
  margin: 0 3px;
  border-radius: 2px;
  transition: background 0.15s, color 0.15s, box-shadow 0.18s;
  box-shadow: 0 2px 8px #d6ffd926;
  font-variation-settings: "wght" 600;
  text-decoration: none;
  line-height: 1.4;
}

.main-nav a:hover,
.main-nav a:focus,
.main-nav a.active {
  background: #3fa5ed;
  color: #FFF;
  box-shadow: 0 4px 18px #d6ffd955;
  outline: none;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  margin-left: 30px;
}
.telegram-link {
  color: #3fa5ed ;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  transition: color 0.17s;
}
.telegram-link:hover {
  color: #3fa5ed;
}
.header-btn {
  background: #3fa5ed;
  color: #fff;
  border-radius: 2px;
  padding: 5px 11px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: background 0.18s, box-shadow 0.17s, color 0.17s;
  box-shadow: 0 1px 8px #e83d891a;
  display: flex;
  align-items: center;
  text-decoration: none;
  letter-spacing: 0.1rem;
}
.header-btn:hover {
  background: #3fa5ed;
  color: #181515;
  box-shadow: 0 4px 18px #d6ffd955;
  outline: none;
}

/* ======= Бургер меню ======= */


.menu-open-btn-burger {
  position: absolute;
  right: 50px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  height: 38px;
  background: #3fa5ed;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-family: 'Roboto Flex', Arial, sans-serif;
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  cursor: pointer;
  box-shadow: 0 1px 8px #e83d891a;
  transition: background 0.18s, box-shadow 0.17s, color 0.17s;
  z-index: 10;
  padding: 0 18px;
}

.menu-open-btn-burger:hover,
.menu-open-btn-burger:focus {
  background: #fff;
  color: #3fa5ed;
  box-shadow: 0 4px 18px #d6ffd955;
  outline: none;
}



/* Основное меню и действия */
.main-nav, .header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* ======= Выпадающее меню ======= */
.dropdown {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
}

.dropdown-toggle {
  display: inline-block;
  padding: 8px 14px;
  font-size: 13px;
  border: 1.7px solid #32a1ce;
  background: rgba(255,255,255,0.8);
  border-radius: 2px 2px 0 0;
  box-sizing: border-box;
  font-family: 'Roboto Flex', Arial, sans-serif;
  color: #32a1ce;
}

.dropdown-toggle::after {
  content: ' ▼';
  font-size: 14px;
}


.dropdown-menu {
  display: none;
  position: absolute;
  left: 50%;
  top: 100%;
  width: 159px; /* или любую фиксированную ширину */
  transform: translateX(-50%);
  background: #fffdf7;
  border: 1.7px solid #32a1ce;
  border-top: none;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  flex-direction: column;
  z-index: 100;
  padding: 0;
  box-sizing: border-box;
}

.dropdown:hover .dropdown-menu {
  display: flex;
}

.dropdown-menu a {
  padding: 8px 14px;
  display: block;
  text-decoration: none;
  color: #222;
  background: transparent;
  border: none;
  border-radius: 0;
  transition: background 0.18s;
  font-size: 14px;
  font-family: 'Roboto Flex', Arial, sans-serif;
}

.dropdown-menu a:hover {
  background: #3fa5ed;
  color: #fff;
}

.dropdown-toggle,
.dropdown-menu a {
  padding-left: 14px;
  padding-right: 14px;
}


/* ======= Mobile Menu ======= */
/* Брейкпоинт 1440px и меньше — показывать кнопку, скрывать меню и действия */
@media (max-width: 1440px) {
  .main-nav,
  .header-actions {
    display: none !important;
  }
  .menu-open-btn-burger {
    display: flex;
  }
  .header-inner {
    /* убираем паддинги, чтобы всё совпадало по краям */
    padding-left: 0;
    padding-right: 0;
  }
  .logo {
    left: 50px;
  }
  .menu-open-btn-burger {
    right: 50px;
  }
}

/* Брейкпоинт больше 1440px — показывать меню, прятать кнопку */
@media (min-width: 1441px) {
  .main-nav,
  .header-actions {
    display: flex !important;
  }
  .menu-open-btn-burger {
    display: none !important;
  }
  .header-inner {
    padding-left: 0;
    padding-right: 0;
  }
  .logo {
    left: 50px;
  }
}

/* Фикс для мобильного меню — по желанию */
.mobile-menu {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  position: fixed;
  top: 0px; right: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  z-index: 190;
  box-shadow: 0 0 0 1000px #0001;
  padding-top: 80px;
  padding-left: 32px;
  animation: mobileMenuIn 0.3s;
}

.mobile-menu-close {
  position: absolute;
  top: 18px;
  right: 24px;
  font-size: 2.6rem;
  background: none;
  border: none;
  color: #3fa5ed;
  cursor: pointer;
  z-index: 210;
  transition: color 0.18s;
}
.mobile-menu-close:hover {
  color: #902c75;
}

.mobile-menu nav {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;  /* расстояние между пунктами */
  width: 100%;
  margin-top: 36px; /* чтобы не прилипало к крестику */
}

.mobile-menu .telegram-link {
  margin-bottom: 10px;
}
.mobile-menu .header-btn {
  margin-top: 16px;
  width: 180px;  /* или любой другой размер */
  font-size: 1.1rem;
  padding: 7px 16px;
}

@keyframes mobileMenuIn {
  from { opacity: 0; transform: translateY(-30px);}
  to { opacity: 1; transform: translateY(0);}
}
/* ======= Адаптация ======= */
/* ======= Адаптация ======= */

/* Смартфоны ≤ 360px */
@media (max-width: 768px) {
  .header-inner {
    height: 75px;
    padding-left: 50px;
    padding-right: 14px;
  }
  .logo { height: 10px; }
  .menu-open-btn-burger {
    height: 34px;
    min-width: 100px;
    font-size: 0.98rem;
  }
}

@media (max-width: 360px) {
  .header-inner {
    height: 46px;
    padding-left: 6px;
    padding-right: 6px;
  }
  .logo { height: 46px; }
  .menu-open-btn-burger {
    height: 30px;
    min-width: 84px;
    font-size: 0.92rem;
  }
}

  

/* ====== Видео-блок ====== */
.guzday-hero-video {
  width: 100%;
  min-width: 320px;
  height: 58vw;              /* Адаптивная высота: примерно 1920x928 */
  max-height: 928px;
  min-height: 260px;
  position: relative;
  overflow: hidden;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  z-index: 1;
  background: #000;
  /* Если нужно добавить градиент поверх видео — сюда background-image */
}

.guzday-bg-video {
  position: absolute;
  left: 0; top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  pointer-events: none; /* Чтобы клик не мешал */
  background: #000;
  /* Можно добавить фильтр для затемнения:
     filter: brightness(0.84);
  */
}

/* Контент поверх видео  */
.guzday-hero-center {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 90vw;
  max-width: 700px;
  padding: 36px 18px 36px 18px;
  background: rgba(30, 30, 40, 0.24); /* затемнение только под текст */
  box-shadow: 0 6px 40px #181e2912;
  border-radius: 0;
}

.guzday-hero-center {
  opacity: 0;
  transition: opacity 0.7s;
 
}
.guzday-hero-center.visible { opacity: 1; }

.guzday-hero-title {
  color: #fff;
  font-family: 'Montserrat', 'Roboto Flex', Arial, sans-serif;
  font-weight: 800;
  font-size: 3rem;
  letter-spacing: 0.01em;
  line-height: 1.16;
  text-align: center;
  margin: 0 0 32px 0;
  text-shadow: 0 3px 28px #181e2988;
  transition: color 0.16s;
}

.guzday-hero-btn {
  display: inline-block;
  background: #3fa5ed;
  color: #fff;
  font-family: 'Roboto Flex', Arial, sans-serif;
  font-size: 1.08rem;
  font-weight: 600;
  text-align: center;
  padding: 10px 30px;
  border-radius: 0;
  border: none;
  box-shadow: 0 1.5px 8px #cfffd93a;
  cursor: pointer;
  letter-spacing: 0.03em;
  transition: background 0.18s, color 0.17s, box-shadow 0.17s;
  text-decoration: none;
}
.guzday-hero-btn:hover,
.guzday-hero-btn:focus {
  background: 0;
  border: 2px solid #3fa5ed;
  color: #fff;
  border-radius: 30px;
  box-shadow: 0 5px 18px #cfffd97a;
  outline: none;
}

/* ======= Адаптация ======= */
@media (max-width: 1440px) {
  .guzday-hero-title { font-size: 2.02rem; }
  .guzday-hero-center { max-width: 410px; }
}
@media (max-width: 768px) {
  .guzday-hero-title { font-size: 1.32rem; }
  .guzday-hero-center { padding: 22px 10px 16px 10px; max-width: 93vw; }
  .guzday-hero-btn { font-size: 0.97rem; padding: 12px 18px; }
}
@media (max-width: 360px) {
  .guzday-hero-title { font-size: 1.02rem; }
  .guzday-hero-center { padding: 12px 4px 8px 4px; }
  .guzday-hero-btn { font-size: 0.86rem; padding: 9px 8px; }
}

/* ====== Медиазапросы: 1440, 768, 360 ====== */

/* Ноутбук/десктоп */
@media (min-width: 1440px) {
  .guzday-hero-video {
    height: 928px;
    max-height: 928px;
  }
}

/* Планшет: ≤ 768px */
@media (max-width: 768px) {
  .guzday-hero-video {
    height: 44vw;
    max-height: 320px;
    min-height: 150px;
  }
  .guzday-hero-video .hero-content {
    top: 22%;
    font-size: 1rem;
    padding: 0 0.7rem;
  }
}

/* Смартфон: ≤ 360px */
@media (max-width: 360px) {
  .guzday-hero-video {
    height: 38vw;
    max-height: 120px;
    min-height: 80px;
  }
  .guzday-hero-video .hero-content {
    top: 18%;
    font-size: 0.89rem;
    padding: 0 0.4rem;
  }
}
/* ====== Видео-блок ====== */

/* ====== Наши услуги ====== */
/* Эффект заголовка */


.section-title-yslygi span {
  display: inline-block;
  opacity: 0;
  transform: scale(0.1) translateY(0px);
  filter: blur(8px);
  transition:
    opacity 0.45s cubic-bezier(.85,-0.33,.22,1.4),
    transform 0.5s cubic-bezier(.5,-0.5,.7,1.8),
    filter 0.33s;
}

.section-title-yslygi span.visible {
  opacity: 1;
  transform: scale(1.12) translateY(-12px);
  filter: blur(0);
  text-shadow: 0 2px 7px #902c7555, 0 1px 4px #fff;
}

/* Адаптация заголовка*/
.section-title-yslygi {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.13;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 18px;
  margin-top: 0;
}

/* 360px */
@media (max-width: 360px) {
  .section-title-yslygi { font-size: 1.04rem; margin-bottom: 10px; padding: 0 4vw; }
  .section-title-yslygi span.visible { transform: scale(1.06) translateY(-6px); }
}

/* 361—767px */
@media (min-width: 361px) and (max-width: 767px) {
  .section-title-yslygi { font-size: 1.25rem; margin-bottom: 16px; padding: 0 8vw; }
  .section-title-yslygi span.visible { transform: scale(1.10) translateY(-10px); }
}

/* 768—1439px */
@media (min-width: 768px) and (max-width: 1439px) {
  .section-title-yslygi { font-size: 2.12rem; margin-bottom: 26px; }
  .section-title-yslygi span.visible { transform: scale(1.13) translateY(-13px); }
}

/* 1440+ */
@media (min-width: 1440px) {
  .section-title-yslygi { font-size: 2.42rem; margin-bottom: 36px; }
  .section-title-yslygi span.visible { transform: scale(1.17) translateY(-18px); }
}

.services-section,
#yslygi-section,
.container {
  overflow-x: hidden;
  overflow-y: hidden;
}



/* Анимация карточек */
.service-item {
  opacity: 0;
  transform: translateY(60px) scale(0.94);
  transition: 
    opacity 0.58s cubic-bezier(.25,.8,.25,1.8),
    transform 0.67s cubic-bezier(.32,.4,.5,1.25);
}
.service-item.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.service-left { 
  transform: translateX(-110%) scale(0.94); 
  transition: transform 0.9s cubic-bezier(.36,1.7,.59,.97), opacity 0.6s;
}
.service-right { 
  transform: translateX(110%) scale(0.94); 
  transition: transform 0.9s cubic-bezier(.36,1.7,.59,.97), opacity 0.6s;
}
.service-left.visible, .service-right.visible { 
  transform: translateX(0) scale(1);
  opacity: 1;
}
.service-center {
  transition: transform 0.7s cubic-bezier(.36,1.7,.59,.97) 0.2s, opacity 0.6s 0.2s;
}
.service-center {
  transform: translateY(110px) scale(0.92);
}
.service-center.visible {
  transform: translateY(0) scale(1);
  opacity: 1;
}


@media (max-width: 768px) {
  .service-left { transform: translateX(-90vw) scale(0.95);}
  .service-right { transform: translateX(90vw) scale(0.95);}
}

/* Остальной CSS наши услуги */


.services-section #yslygi-section{
  padding: 60px 0 80px 0;
  margin: 0;
  background: #f7f8fa;

}

.section-title {
  text-align: center;
  margin-top: 3.5rem;;
  margin-bottom: 3.5rem;
  
}

.section-title-yslygi {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  color: #902c75;
  letter-spacing: 0.08em;
  margin-bottom: 2.5rem;
  padding-top: 1.5rem;
  text-align: center;
}

.section-title-yslygi span {
  display: inline-block;
  opacity: 0;
  transform: scale(0.1) translateY(0px);
  filter: blur(8px);
  transition:
    opacity 0.45s cubic-bezier(.85,-0.33,.22,1.4),
    transform 0.5s cubic-bezier(.5,-0.5,.7,1.8),
    filter 0.33s;
}

.section-title-yslygi span.visible {
  opacity: 1;
  transform: scale(1.12) translateY(-12px);
  filter: blur(0);
  text-shadow: 0 3px 10px #902c75b9, 0 1px 4px #fff;
}

  .services-list {
  display: flex;
  gap: 2.2rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 3.5rem;
  
}

.service-item {
  background: #fff;
  border-radius: 0;
  border: 2.5px solid #e9ecf2;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10), 0 1.5px 6px rgba(0,0,0,0.12);
  transition: box-shadow 0.3s cubic-bezier(.25,.8,.25,1.8), transform 0.7s;
  width: 330px;          /* Фиксированная ширина по умолчанию */
  max-width: 370px;
  min-width: 220px;
  margin-bottom: 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}

.service-item:hover {
  box-shadow: 0 16px 32px rgba(0,0,0,0.18), 0 6px 24px rgba(0,0,0,0.22);
  transform: translateY(-4px) scale(1.07); 
  z-index: 3;
}

/* Блок с изображением — всегда квадрат */
.service-image {
  width: 100%;
  aspect-ratio: 1 / 1;   /* Квадратная область! */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  flex-shrink: 0;
  flex-grow: 0;
}

.service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;     /* Заполняет квадрат, не деформируется */
  display: block;
}

/* Контент */
.service-content {
  padding: 1.2rem 1.2rem 1.2rem 1.2rem;
  text-align: justify; 
  display: flex;
  flex-direction: column;
  align-items: center;
}

.service-content h4 {
  font-family: 'Montserrat', Arial, sans-serif;
  margin-bottom: 0.5rem;
  font-size: 1.0rem;
  font-weight: 400;
  color: #2C4390;
  text-align: center;
}

.service-content p {
  font-size: 14px;
  margin-bottom: 1.0rem;
  color: #181515;
  min-height: 60px;
  text-align: justify;
}

.service-btn {
  display: inline-block;
  color: #3fa5ed;
  border: 1.5px solid #3fa5ed;
  border-radius: 0;
  padding: 7px 20px;
  font-size: 1rem;
  font-family: 'Roboto Flex', Arial, sans-serif;
  font-variation-settings: "wght" 500;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.18s, color 0.17s, box-shadow 0.17s;
  box-shadow: 0 2px 8px #d6ffd926;
  margin: 0 auto;
}
.service-btn:hover, .service-btn:focus {
  background: #3fa5ed;
  color: #fff;
  box-shadow: 0 4px 18px #d6ffd955;
  outline: none;
}

/* ====== Адаптация под брейкпоинты ====== */

/* Смартфоны ≤ 360px */
@media (max-width: 360px) {
  .services-list {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
  .service-item {
    width: 90vw;
    max-width: 260px;
    min-width: 140px;
    margin-bottom: 1rem;
  }
  .service-image {
    aspect-ratio: 1 / 1;
  }
}

/* Планшеты ≤ 768px */
@media (max-width: 768px) {
  .services-list {
    flex-direction: column;
    align-items: center;
    gap: 1.1rem;
  }
  .service-item {
    width: 95vw;
    max-width: 320px;
    min-width: 160px;
    margin-bottom: 18px;
  }
  .service-image {
    aspect-ratio: 1 / 1;
  }
}

/* Десктопы ≥ 1440px */
@media (min-width: 1440px) {
  .services-section {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
  }
  .service-item {
    width: 320px;
    max-width: 330px;
  }
}
@media (min-width: 1920px) {
  .services-section {
    max-width: 1820px;
  }

  .services-list {
    gap: 3.5rem;
  }
  
}



/* ====== Слайдер ====== */



.promo-quad-slider {
  width: 100%;
  min-width: 320px;
  padding: 0;
  margin: 0;
  background: none;
  box-sizing: border-box;
}



.promo-slider-list {
  width: 100%;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 0;
  box-sizing: border-box;
}

.promo-slider-block {
  position: relative;
  height: 400px;
  overflow: hidden;
}
.swiper {
  height: 100%;
}
.swiper-wrapper {
  height: 100%;
}
.swiper-slide {
  height: 100%;
}


/* ----------- 1440px и выше ----------- */
@media (min-width: 1440px) {
  .promo-slider-list { 
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
  }
  .promo-slider-block { height: 400px; }
}

/* ----------- 768px – 1439px ----------- */
@media (max-width: 1439px) and (min-width: 768px) {
  .promo-slider-list {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
  }
  .promo-slider-block { height: 207px; }
}

/* ----------- 360px – 767px ----------- */
@media (max-width: 767px) {
  .promo-slider-list {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 1fr);
  }
  .promo-slider-block { height: 200px; }
}


/* ----------- До 360px ----------- */
@media (max-width: 360px) {
  .promo-slider-list {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 1fr);
  }
  .promo-slider-block { height: 200px; }
}
/* Стили внутреннего слайда */
.promo-slide-img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  filter: brightness(0.87);
}

.promo-slide-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 1.4rem 1.1rem;
  color: #fff;
  background: linear-gradient(0deg,rgba(24,30,41,0.1) 44%,rgba(24,30,41,0.08) 100%);
  z-index: 2;
  border-radius: 0;
}
.promo-slide-overlay h3{
  margin: 0 0 0.35rem 0;
  text-shadow: 0 2px 8px #181e29a8;
  color: #fff;
  font-size: 2.5rem;
  letter-spacing: 0.3rem;  
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 0.35rem;
}
.promo-slide-overlay h5 {
  color: #fff;
  font-size: 1.1rem;   
  line-height: 1.3;
  margin-bottom: 0;
  text-shadow: 0 1px 7px #181e29a8;
}

.promo-slide-overlay {
  background: linear-gradient(0deg,rgba(24,30,41,0.38) 44%,rgba(24,30,41,0.14) 100%);
}
.promo-slide-overlay h3, .promo-slide-overlay h5 {
  color: #fff;
  text-shadow: 0 2px 10px #181e29cc, 0 1px 0 #000;
}

@media (max-width: 767px) {
  .promo-slide-overlay { padding: 0.4rem 0.3rem; }
  .promo-slide-overlay h3 { font-size: 0.85rem; }
  .promo-slide-overlay h5 { font-size: 0.74rem; }
}
/* ====== Слайдер ====== */

/* Заглавие о компаннии */
.guzday-title-area {
  width: 100%;
  max-width: 1200px;   
  margin: 0 auto;
  padding-top: 50px;
  padding-bottom: 50px;
  text-align: center;
  background: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  
  
}


.guzday-animated-title {
  display: flex;
  flex-wrap: wrap;         
  justify-content: center;   
  align-items: flex-end;
  text-align: center;
  width: 100%;
  max-width: 1400px;
  min-width: 290px;
  margin: 0 auto 18px auto;
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0.01em;
  font-size: 3rem;
  color: #902c75;
  overflow: hidden;
  
}

.guzday-animated-title span {
  display: inline-block;
  opacity: 0;
  transform: translateY(80px) scale(5.0);
  transition:
    opacity 0.7s cubic-bezier(.68,-0.55,.27,1.55),
    transform 0.9s cubic-bezier(.68,-0.55,.27,1.55);
  margin-right: 0.22em;
  will-change: transform, opacity;
  
}
.guzday-animated-title span.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.guzday-animated-subtitle {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #a0a0a0;
  opacity: 0;
  transform: translateX(-120px);
  transition: opacity 0.7s, transform 0.65s cubic-bezier(.68,-0.55,.27,1.55);
  margin: 0;
  letter-spacing: 0.01em;
}
.guzday-animated-subtitle.visible {
  opacity: 1;
  transform: translateX(0);
}

/* ==== Брейкпоинты ==== */
@media (max-width: 1440px) {
  .guzday-animated-title { font-size: 3rem; max-width: 1400px; width: 100% }
}
@media (max-width: 991px) {
  .guzday-title-area { padding-top: 22px; padding-bottom: 12px; }
  .guzday-animated-title { font-size: 2rem; width: 100%; min-width: 950px; }
  .guzday-animated-subtitle { font-size: 1rem; }
}
@media (max-width: 767px) {
  
  .guzday-animated-title { font-size: 1.32rem; max-width: 600px; min-width: 650px; }
  .guzday-animated-subtitle { font-size: 0.98rem; }
}

@media (max-width: 420px) {
  
  .guzday-animated-title { font-size: 1.1rem; max-width: 370px; min-width: 400px; }
  .guzday-animated-subtitle { font-size: 0.90rem; }
}

@media (max-width: 360px) {
  .guzday-animated-title { font-size: 1.05rem; width: 350px; }
  .guzday-animated-subtitle { font-size: 0.88rem; }
}



/* Заглавие о компаннии */

/* О компаннии */
.guzday-about {
  display: flex;
  align-items: stretch;        
  justify-content: center;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto 0 auto;
  min-height: 400px;
  box-sizing: border-box;
  gap: 0;
  overflow: hidden;
}

.about-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding: 25px 25px;
  min-width: 0;
}

.about-left, .about-right {
  background: #fff6e0;
  flex: 0 0 30%;
  max-width: 30%;
}

.about-center {
  background: #fff;
  flex: 0 0 40%;
  max-width: 40%;
  display: flex;
  justify-content: center;
  align-items: stretch;   
  padding: 0;
}

.about-center img {
  width: 100%;
  height: 100%;           
  object-fit: cover;     
  display: block;
  margin: 0 auto;
  box-shadow: 0 0 18px 0 rgba(60,40,10,0.10);
}

.guzday-about h2 {
  font-size: 2.3rem;     
  font-weight: 900;       
  color: #902c75;         
  line-height: 1.0;
  letter-spacing: 0.02em;
}

.guzday-about h3 {
  font-size: 1rem;     
  font-weight: 700;
  color: #1a2040;
  margin: 15px 0 8px 0;
  line-height: 1.0;
}

.guzday-about p {
  font-size: 0.7rem;     
  font-weight: 400;
  color: #22232a;
  margin: 0 0 14px 0;
  line-height: 1.65;
  text-align: justify;
}




/* Мобильная адаптация — тут все в столбик */
@media (max-width: 1440px) {
  .guzday-about h2 { font-size: 2.0rem; }
  .guzday-about h3 { font-size: 1.1rem; }
  .guzday-about p { font-size: 1.01rem; }
}

@media (max-width: 768px) {
  .guzday-about {
    flex-direction: column;
    min-height: unset;
    max-width: 96vw;
    gap: 16px;
    padding: 0;
  }
  .about-left, .about-right, .about-center {
    max-width: 100%;
    flex: 1 1 100%;
    padding: 18px 10px;
  }
  .about-center img {
    width: 100%;
    height: auto;
    object-fit: cover;
    max-height: 38vw;
  }
  .guzday-about h2 { font-size: 1.2rem; }
  .guzday-about h3 { font-size: 1.02rem; }
  .guzday-about p { font-size: 0.95rem; }
}

@media (max-width: 360px) {
  .guzday-about h2 { font-size: 1.0rem; }
  .guzday-about h3 { font-size: 0.92rem; }
  .guzday-about p { font-size: 0.85rem; }
}
/* О компаннии */

/* Заглавие портфолио */

#guzday-hero {
  background: #fff;
  position: relative;
  height: 350px;
  overflow: hidden;
  width: 100%;
  
  margin: 0 auto;
}
#guzday-marquee {
  position: absolute;
  white-space: nowrap;
  will-change: transform;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-weight: 900;
  font-size: 6vw;   /* Адаптивно! */
  letter-spacing: 2px;
  color: #e7e7e7;
  user-select: none;
  cursor: pointer;
  z-index: 1;
}
#guzday-subtitle {
  position: absolute;
  left: 50%;
  top: 50%;
  font-family: 'Montserrat', Arial, sans-serif;
  transform: translate(-50%, -50%);
  max-width: 900px;
  text-align: center;
  font-size: 2.5vw;
  font-weight: 800;
  color: #902c75;
  opacity: 0;
  transition: opacity 0.4s;
  z-index: 2;
  word-break: break-word;
}
/* Crash эффект */
.crash-head { font-weight: 900; color: #902c75; }
.crash-tail { font-weight: 700; color: #902c75; }

/* ----------- До 360px ----------- */
@media (max-width: 360px) {
  #guzday-hero { height: 84px; }
  #guzday-marquee { font-size: 2.7rem; }
  #guzday-subtitle { font-size: 1.03rem; max-width: 98vw; }
}
/* ----------- 361–767 ----------- */
@media (min-width: 361px) and (max-width: 767px) {
  #guzday-hero { height: 140px; }
  #guzday-marquee { font-size: 4.2rem; }
  #guzday-subtitle { font-size: 1.4rem; max-width: 97vw; }
}
/* ----------- 768–1439 ----------- */
@media (min-width: 768px) and (max-width: 1439px) {
  #guzday-hero { height: 210px; }
  #guzday-marquee { font-size: 7vw; }
  #guzday-subtitle { font-size: 2.2vw; max-width: 860px; }
}
/* ----------- 1440+ ----------- */
@media (min-width: 1440px) {
  #guzday-hero { height: 350px; }
  #guzday-marquee { font-size: 23rem; }
  #guzday-subtitle { font-size: 3rem; max-width: 900px; }
}

/* Заглавие портфолио */

/* Портфолио кнопка */

.guzday-portfolio-btns {
  max-width: 1150px;    
  width: 100%;
  margin: 48px auto 0 auto;
  display: flex;
  justify-content: center;
  gap: 50px;
}

.portfolio-btn-list {
  display: flex;
  gap: 44px; 
  width: 100%;
  justify-content: center;
}

.portfolio-btn {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  
  aspect-ratio: 1 / 1;
  background: #fff;
  box-shadow: 0 8px 32px #3fa5ed11, 0 2px 8px #181e2922;
  border-radius: 0;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: transform 0.17s cubic-bezier(.61,-0.1,.3,1.4), box-shadow 0.18s;

  opacity: 0;
  transform: translateY(65px); /* Сдвиг вниз */
  transition:
    opacity 0.8s cubic-bezier(.48,1.8,.42,1.01),
    transform 0.9s cubic-bezier(.36,1.65,.37,1.01);
}

.portfolio-btn.visible {
  opacity: 1;
  transform: translateY(0);
}

.portfolio-btn:hover,
.portfolio-btn:focus {
  transform: translateY(-9px) scale(1.04);
  box-shadow: 0 14px 38px #902c7519, 0 6px 20px #181e2920;
}

.portfolio-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.portfolio-caption {
  position: absolute;
  left: 0; bottom: 0;
  width: 100%;
  background: linear-gradient(0deg, #902c75d1 84%, #902c7500 100%);
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
  text-align: center;
  padding: 17px 0 8px 0;
  letter-spacing: 0.02em;
  z-index: 2;
  border-bottom: 0;
  text-shadow: 0 2px 10px #902c75b5;
}




/* ----------- Планшет ----------- */
@media (max-width: 1100px) {
  .guzday-portfolio-btns { max-width: 97vw; }
  .portfolio-btn { width: 29vw; min-width: 124px; }
  .portfolio-btn-list { gap: 24px; }
}

@media (max-width: 768px) {
  .guzday-portfolio-btns { max-width: 98vw; }
  .portfolio-btn-list { gap: 16px; }
  .portfolio-btn { width: 31vw; min-width: 84px; }
}

@media (max-width: 540px) {
  .guzday-portfolio-btns { max-width: 100vw; }
  .portfolio-btn { width: 90vw; min-width: 0; max-width: 310px; }
  .portfolio-btn-list { gap: 11px; flex-direction: column; align-items: center; }
}

/* Портфолио кнопка */

/* Форма обратной связи */

.guzday-form-row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  min-height: 400px;
  max-width: 870px;
  width: 96vw;
  margin: 56px auto 0 auto;
  box-shadow: 0 6px 32px rgba(44,26,66,0.10), 0 1.5px 6px rgba(0,0,0,0.08);
  border-radius: 0;
  background: #fff;
  overflow: hidden;
}

.guzday-form-photo {
  flex: 1 1 50%;
  min-width: 260px;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  background: #fbeecf;
  overflow: hidden;
}
.guzday-form-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

.guzday-form-card {
  flex: 1 1 50%;
  padding: 48px 34px 38px 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  min-width: 270px;
}

.form-title {
  color: #3fa5ed;
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: 18px;
  letter-spacing: 0.01em;
}
.form-desc {
  color: #9195a4;
  margin-bottom: 20px;
  font-size: 1.13rem;
  font-weight: 400;
  line-height: 1.4;
}
.form-label {
  display: block;
  color: #6a729a;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
  margin-top: 19px;
}
.form-input {
  width: 100%;
  border: 2px solid #e4e7ef;
  background: #f9fafc;
  border-radius: 0;
  font-size: 1.09rem;
  padding: 10px 13px;
  margin-bottom: 2px;
  font-family: 'Montserrat', Arial, sans-serif;
  transition: border 0.18s, background 0.18s;
  box-sizing: border-box;
}
.form-input:focus {
  border-color: #3fa5ed;
  background: #fff;
  outline: none;
}

.form-btn {
  width: 100%;
  background: #3fa5ed;
  color: #fff;
  border: none;
  border-radius: 0;
  font-size: 1.13rem;
  font-weight: 700;
  padding: 14px 0;
  margin-top: 26px;
  margin-bottom: 6px;
  cursor: pointer;
  transition: background 0.19s, box-shadow 0.22s;
  box-shadow: 0 2px 8px #3fa5ed33;
}
.form-btn:hover, .form-btn:focus {
  background: #902c75;
  color: #fff;
}
.form-text {
  font-size: 0.98rem;
  color: #8d97b2;
  text-align: center;
  margin-top: 12px;
}
.form-thanks {
  background: #e5f9e6;
  color: #248c4c;
  border-radius: 0;
  text-align: center;
  font-size: 1.08rem;
  font-weight: 600;
  margin-top: 16px;
  padding: 13px 7px;
  display: none;
  transition: opacity 0.3s;
}



/* ----------- Адаптация ----------- */

/* Планшеты ≤ 768px */
@media (max-width: 768px) {
  .guzday-form-row {
    flex-direction: column;
    max-width: 97vw;
    min-width: 0;
  }
  .guzday-form-photo, .guzday-form-card {
    flex: none;
    min-width: 0;
    width: 100%;
    min-height: 160px;
  }
  .guzday-form-card {
    padding: 26px 7vw 20px 7vw;
  }
  .form-title { font-size: 1.29rem; }
  .form-desc { font-size: 1rem; }
}

/* Смартфоны ≤ 360px */
@media (max-width: 360px) {
  .guzday-form-row { width: 100vw; max-width: 100vw; }
  .guzday-form-card { padding: 15px 2vw 9px 2vw; }
}

/* Десктоп ≥ 1440px */
@media (min-width: 1440px) {
  .guzday-form-row { max-width: 1150px; }
}

/* Форма обратной связи */


/*  Отзывы */

.otziv-bg {
  background: #FFCFF2;
  width: 100%;
  margin: 80px 0 0 0;
  padding-bottom: 70px;
  overflow-x: hidden;
}

.otziv-title-area {
  text-align: center;
  margin-bottom: 80px;
  padding-top: 48px;
}
.otziv-title {
  color: #6f287c;
  font-size: 2.1rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  
  margin-bottom: 100px;   /* Было 80px — теперь больше */
}

.otziv-slider-wrap {
  position: relative;
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.otziv-carousel {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
}

.otziv-card {
  background: #fff;
  box-shadow: 0 6px 32px rgba(0,0,0,0.10);
  padding: 32px 32px 30px 32px;
  min-width: 340px;
  max-width: 410px;
  flex: 1 1 0px;
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0.65;
  filter: blur(1px);
  transition: transform .5s, opacity .5s, filter .5s;
  position: relative;
}
.otziv-card.active {
  transform: scale(1.12) translateY(-20px);
  opacity: 1;
  filter: none;
  z-index: 2;
}
.otziv-card img {
  width: 165px;
  height: 165px;
  object-fit: cover;
  border-radius: 50%;
  margin-bottom: 18px;
  border: 4px solid #f7ecff;
}
.otziv-card .text_otziv {
  font-size: 0.8rem;
  margin-bottom: 18px;
  color: #4d3e5e;
  text-align: justify;
  line-height: 1.3;
  width: 100%;
  max-width: 340px;
  overflow: visible;
}
.otziv-card .h3_otziv {
  font-size: 1.0rem;
  font-weight: bold;
  color: #6f287c;
  margin-bottom: 0;
  text-align: center;
}
.otziv-prev, .otziv-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: 0;
  width: 54px;
  height: 54px;
  font-size: 2.2rem;
  border-radius: 50%;
  z-index: 10;
  box-shadow: 0 4px 16px rgba(44,117,144,0.10);
  cursor: pointer;
  color: #6f287c;
  transition: box-shadow 0.22s;
}
.otziv-prev:hover, .otziv-next:hover {
  box-shadow: 0 8px 32px #902c7516;
  background: #fbeecf;
}
.otziv-prev  { left: -75px; }
.otziv-next  { right: -75px; }

/* ----------- Планшеты ≤ 768px ----------- */
@media (max-width: 768px) {
  .otziv-slider-wrap { max-width: 98vw; }
  .otziv-carousel { gap: 10px; }
  .otziv-card {
    min-width: 85vw;
    max-width: 90vw;
    padding: 24px 10px 24px 10px;
  }
  .otziv-prev, .otziv-next {
    width: 38px; height: 38px; font-size: 1.3rem;
    left: 0; right: 0;
  }
  .otziv-title { font-size: 1.3rem; }

  .otziv-card img {
    width: 108px;   /* было 110, стало 108px, чтобы не слишком выпирало на мобилках */
    height: 108px;
  }
}

/* ----------- Смартфоны ≤ 360px ----------- */
@media (max-width: 360px) {
  .otziv-slider-wrap { max-width: 100vw; }
  .otziv-card {
    min-width: 99vw;
    max-width: 99vw;
    padding: 12px 2vw 16px 2vw;
  }
  .otziv-title { font-size: 1rem; }

  .otziv-card img {
    width: 76px;
    height: 76px;
  }
}

/*  Отзывы */

/*  Полезно */
.polezno-section {
  background: #f7f8fa;
  padding: 56px 0 68px 0;
  width: 100%;
}

.polezno-title {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #902c75;
  text-align: center;
  letter-spacing: 0.04em;
  margin-bottom: 60px;
}

.polezno-list {
  display: flex;
  flex-wrap: wrap;
  gap: 70px;
  justify-content: center;
  align-items: stretch;
  max-width: 1200px;
  margin: 0 auto;
}

.polezno-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 298px;
  min-width: 220px;
  background: #fff;
  box-shadow: 0 3px 18px #902c7521, 0 1px 5px #0001;
  text-decoration: none;
  transition: box-shadow 0.26s, transform 0.36s;
  overflow: hidden;
  cursor: pointer;
  opacity: 0;
  transform: translateY(60px) scale(0.95);
  transition: 
  opacity 0.82s cubic-bezier(.48,1.7,.69,.99),
  transform 0.88s cubic-bezier(.48,1.7,.69,.99);
  
}

.polezno-card.polezno-visible {
  opacity: 1;
  transform: translateY(0) scale(1.03);
}

.polezno-card:nth-child(1) { animation-delay: 0.1s;}
.polezno-card:nth-child(2) { animation-delay: 0.22s;}
.polezno-card:nth-child(3) { animation-delay: 0.33s;}
.polezno-card:nth-child(4) { animation-delay: 0.44s;}

@keyframes polezno-in {
  to {
    opacity: 1;
    transform: translateY(0) scale(1.03);
  }
}

/* Hover-анимация: плавное увеличение и свечение */
.polezno-card:hover,
.polezno-card:focus {
  box-shadow: 0 10px 36px #FFCFF2, 0 3px 14px #3fa5ed33;
  transform: scale(1.07) translateY(-8px);
}

.polezno-img {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e9ecf2;
}

.polezno-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.32s cubic-bezier(.48,1.7,.69,.99);
}

.polezno-card:hover .polezno-img img,
.polezno-card:focus .polezno-img img {
  transform: scale(1.2) rotate(-7deg);
}

.polezno-caption {
  font-family: 'Montserrat', Arial, sans-serif;
  color: #902c75;
  font-size: 1.16rem;
  font-weight: 600;
  padding: 18px 18px 22px 18px;
  text-align: center;
  letter-spacing: 0.04em;
  min-height: 64px;
  background: #fff;
  flex: 1 1 auto;
  transition: color 0.22s;
}

/* ======= Адаптив ======= */
@media (max-width: 1100px) {
  .polezno-list {
    gap: 22px;
    max-width: 97vw;
  }
  .polezno-card {
    width: 44vw;
    min-width: 160px;
    max-width: 320px;
  }
}
@media (max-width: 900px) {
  .polezno-card {
    width: 46vw;
    min-width: 160px;
  }
  .polezno-title { font-size: 1.32rem; margin-bottom: 22px;}
}
@media (max-width: 767px) {
  .polezno-list {
    gap: 14px;
  }
  .polezno-card {
    width: 92vw;
    max-width: 370px;
    min-width: 140px;
  }
  .polezno-title { font-size: 1.1rem; }
}


/*  Полезно */

/*  Футер */
.guzday-footer {
  position: relative;
  width: 100%;
  min-width: 320px;
  height: 400px; /* Фиксируем высоту */
  background: transparent;
  overflow: hidden;
  padding: 0;
  box-sizing: border-box;
}

.footer-svg-bg {
  position: absolute;
  left: 0; right: 0; bottom: 0; top: 0;
  width: 100vw;
  height: 400px;
  z-index: 1;
  pointer-events: none;
}
.footer-svg-bg svg {
  width: 100vw;
  height: 400px;
  display: block;
}

.footer-content {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  padding: 50px 200px;
  box-sizing: border-box;
}

.footer-menu {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-menu a {
  font-family: 'Roboto+Flex', Arial, sans-serif;
  color: #FFFF;
  text-decoration: none;
  font-weight: 100;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  transition: color 0.15s;
}
.footer-menu a:hover { color: #2c7590; }

.footer-logo img {
  width: 176px;
  height: auto;
  filter: drop-shadow(0 2px 24px #fff5);
}

.footer-copy {
  position: absolute;
  bottom: 22px; left: 50%; transform: translateX(-50%);
  width: 100%;
  color: #888;
  font-size: 1.01rem;
  text-align: center;
  z-index: 3;
  letter-spacing: 0.01em;
}

.footer-menu--contacts {
  margin-left: -600px;
}

.footer-layer-1 {
  opacity: 0.18;
  animation: layer1-move 3s ease-in-out infinite alternate;
}
.footer-layer-2 {
  opacity: 0.09;
  animation: layer2-move 2s ease-in-out infinite alternate;
}
.footer-layer-3 {
  opacity: 0.27;
  animation: layer3-move 3s ease-in-out infinite alternate;
}
@keyframes layer1-move {
  0% { transform: translateY(0); }
  100% { transform: translateY(70px); }
}
@keyframes layer2-move {
  0% { transform: translateX(0); }
  100% { transform: translateX(150px); }
}
@keyframes layer3-move {
  0% { transform: translateY(0); }
  100% { transform: translateY(-100px); }
}


/* --- Адаптация --- */
@media (max-width: 768px) {
  .guzday-footer {
    background: #e3e2e2;
    height: auto;
    min-height: 0;
  }
  .footer-svg-bg {
    display: none !important;
  }
  .footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 24px 10px 12px 10px;
    position: relative;
    height: auto;
    gap: 14px;
    background: #e3e2e2;
  }
  .footer-menu,
  .footer-menu--contacts,
  .footer-logo {
    align-items: center;
    margin: 0;
  }
  .footer-menu--contacts { margin-left: 0; }
  .footer-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0 6px 0;
    width: 100%;
  }
  .footer-logo img {
    width: 80px;
    height: auto;
    display: block;
    margin: 0 auto;
  }
  .footer-copy {
    position: static !important;
    left: auto;
    bottom: auto;
    transform: none;
    margin-top: 10px;
    text-align: center;
    color: #888;
    font-size: 0.97rem;
    width: 100%;
    z-index: 3;
    letter-spacing: 0.01em;
    background: none;
  }
  .footer-menu a,
  .footer-menu--contacts a {
    color: #181515;
  }
}

@media (max-width: 420px) {
  .footer-content {
    padding: 12px 2vw 6px 2vw;
    gap: 8px;
  }
  .footer-logo img {
    width: 50px;
  }
  .footer-copy {
    font-size: 0.92rem;
    margin-top: 6px;
  }
}

/*  Футер */

/* Организация свадьбы */
/* Свадьба-слайдер */
.svadba-slider {
  position: relative;
  width: 1920px;   /* макетная ширина */
  height: 800px;
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
}
.slider-stage {
  position: relative;
  width: 1920px;
  height: 800px;
}

/* Слоты и их размеры/позиции */
.slot {
  position: absolute;
  object-fit: cover;
  opacity: 0;
  transform: translateX(0);
  transition: transform .7s cubic-bezier(.25,.8,.25,1), opacity .5s linear;
  will-change: transform, opacity;
}

/* Левый большой блок 1220×800 */
.slot-left {
  left: 0; top: 0;
  width: 1220px; height: 800px;
}

/* Правый верх 700×270 */
.slot-top {
  right: 0; top: 0;
  width: 700px; height: 270px;
}

/* Правый низ 700×530 */
.slot-bottom {
  right: 0; bottom: 0;
  width: 700px; height: 530px;
}

/* Подготовка направления (старт вне экрана) */
.prep-left  { transform: translateX(-130%); }
.prep-right { transform: translateX(130%);  }

/* Появление (сброс смещения и прозрачности) */
.active { opacity: 1; transform: translateX(0); }

/* Растворение */
.fadeout { opacity: 0; transition: opacity .5s linear; }

/* Уважение к пользователю с reduced motion */
@media (prefers-reduced-motion: reduce) {
  .slot {
    transition: none !important;
    transform: none !important;
  }
}

/* Организация свадьбы */

/* Отступ липкого меню */
.main-header-spacer {
  height: var(--header-height, 130px); /* равен высоте меню */
}
/* Отступ липкого меню */

/* Заголовок */

.hero-title{
  margin: clamp(12px, 3vw, 24px) auto;
  text-align:center;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.02em;
  color:#902c75;
  font-size: clamp(26px, 5.2vw, 48px); /* базовый размер */
}

/* при очень узком экране ≤360px уменьшаем вдвое */
@media (max-width: 360px){
  .hero-title{
    font-size: clamp(13px, 2.6vw, 24px);
  }
}

/* СЛАЙДЕР ФОН НА ВЕСЬ БЛОК */
.slider{
  position:relative; width:1920px; height:800px;
  margin:20px auto 24px;
  background:#c4c4c4; 
  overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.12);
  border-radius:0;
}

/* Изображения (выше баннера, чтобы перекрывали слово при заезде) */
.slot{
  position:absolute; z-index:2;
  transition:transform .7s cubic-bezier(.25,.8,.25,1), opacity .5s linear,
             left .5s ease, right .5s ease, top .5s ease, bottom .5s ease,
             width .5s ease, height .5s ease;
  opacity:0; transform:translateX(0);
  background-size:cover; background-position:center; background-repeat:no-repeat;
  border:none !important; outline:none !important; box-shadow:none !important;
}
.off-left{ transform:translateX(-130%); opacity:0; }
.off-right{ transform:translateX(130%);  opacity:0; }
.on{ transform:translateX(0); opacity:1; }
.fade{ opacity:0; transition:opacity .5s linear; }

/* Баннер-слово по ЦЕНТРУ всего слайдера, под изображениями */
.banner{
  position:absolute; inset:0; /* top:0; right:0; bottom:0; left:0 */
  display:flex; align-items:center; justify-content:center;
  z-index:1; background:transparent; pointer-events:none;
}
.banner span{
  font-size: clamp(148px, 20vw, 228px); /* 4× от прежнего */
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight:900; letter-spacing:8px; color:#fff;
  opacity:1; transform:translateY(0);
  transition:opacity .35s ease, transform .35s ease;
  text-align:center; line-height:1;
}
.banner span.hide{ opacity:0; transform:translateY(20px); }


.slider{ width:100%; max-width: 1920px; margin-inline:auto; }


.slider-stage{
position: relative;
width:1920px; height:800px;
transform-origin: top left;
}


.slider[data-scale]{ height: calc(800px * var(--scale, 1)); }

/* Свадьба-слайдер */

/* Свадьбы под ключ  */
#wedding-full-service .wfs-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.btn-primary{ background:#902c75; color:#fff; padding:12px 18px; border-radius:10px; font-weight:700; text-decoration:none; }
.btn-ghost{ border:2px solid #902c75; color:#902c75; padding:10px 16px; border-radius:10px; text-decoration:none; }

.wfs_title_h2{
  margin: 30px 0 60px  0;
  text-align:center;
  font-size:49px;
  color: #902c75;
  font-weight:800;
}

.otdix_h2{
  margin: 40px 0 10px  0;
  text-align:center;
  font-size:49px;
  color: #902c75;
  font-weight:800;
}

.wfs_sub_h3{
  margin: 0px 0px 0px  0px;
  text-align:center;
  font-size:25px;
  color: #2C4390;
  font-weight:800;
  line-height: 1.5em;
}

.wfs_sub_h3_sdet{
  margin: 0px 0px 45px  0px;
  text-align:center;
  font-size:25px;
  color: #902c75;
  font-weight:800;
  line-height: 1.5em;
}


.otdix_desc{
  margin: 30px 0px 30px  0px;
  text-align:center;
  font-size:20px;
  text-align: justify;
  color: #2C4390;
  font-weight:800;
}

/* убираем контейнерные ограничения ТОЛЬКО для этой секции */
#wedding-full-service.container{
  max-width:none;
  width:100%;
  margin-left:0; margin-right:0;
  padding-left:0; padding-right:0;
}

/* Фон для блока */
#wedding-full-service {
  
  background: url("../img_film/fon_fon_svadba.webp") no-repeat center/cover;
  padding: clamp(40px, 8vw, 100px) 0;
  color: #fff;
  position: relative;
}

/* затемнение для читаемости текста */
/* затемнение */
#wedding-full-service::before {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,0.6);
}

/* ограничим ширину контента внутри */
#wedding-full-service .wfs-head{
  max-width:1200px;
  margin:0 auto;
  padding: 0 20px;
  position:relative; z-index:2; text-align:center;
}

/* Базовые стили заголовков */
.wfs_title_h2, .otdix_h2 {
  opacity:0;
  transform:translateX(0);
  transition: all 2s cubic-bezier(.2,.7,.2,1);
}

/* Стартовые позиции */
.anim-left { transform:translateX(-120px); }
.anim-right{ transform:translateX(120px); }

.anim-left.show {
  opacity:1;
  transform:translateX(0);
  transition-delay: .7s; /* появится через полсекунды */
}
.anim-right.show {
  opacity:1;
  transform:translateX(0);
  transition-delay: .9s; /* появится позже */
}

/* Активные состояния при скролле */
.anim-left.show, .anim-right.show {
  opacity:1;
  transform:translateX(0);
}

/* Контент внутри */
#wedding-full-service .wfs-head {
  max-width: 1200px;  /* ограничиваем ширину текста */
  margin: 0 auto;
  position:relative;
  z-index:2;
  text-align:center;
}

/* Унифицируем все кнопки: идеальное выравнивание текста */
.btn,
.btn-primary,
.btn-ghost{
  display: inline-flex;             /* вместо inline-block */
  align-items: center;              /* центр по вертикали */
  justify-content: center;          /* центр по горизонтали */
  gap: 8px;                         /* если будут иконки */
  min-height: 48px;                 /* высота по макету */
  padding: 0 20px;                  /* вертикаль центрует min-height */
  line-height: 1;                   /* не наследуем 1.3/1.4 */
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

/* Варианты */
.btn-primary{
  background:#902c75;
  color:#fff;
  border: none;
  border-radius: 10px;
}
.btn-ghost{
  background: transparent;
  color:#902c75;
  border: 2px solid #902c75;
  border-radius: 10px;
}

/* На планшете и ниже — удобнее нажимать */
@media (max-width: 768px){
  .wfs-cta{
    flex-direction: column;
    gap: 10px;
  }
  .btn-primary,
  .btn-ghost{
    width: 100%;
    max-width: 480px;               /* опционально ограничить */
    margin: 0 auto;
  }
}



/* Свадьбы под ключ  */

/* Пленка */
:root{
  /* === Подстройка под ваш SVG (1920×391; окно 382×277) === */
  --film-w: 1920;       /* ширина SVG плёнки  */
  --film-h: 391;        /* высота SVG плёнки  */
  --padX: 0px;         /* внутренние поля слева/справа до начала «окна» */
  --padY: clamp(6px, 3.05vw, 58.5px);         /* внутренние поля сверху/снизу до «окна» (подгон под вырезы) */
  --gap: 0px;          /* зазор между окнами (подгоните под SVG) */
  --radius: 0px;       /* скругление углов окна (подгоните под SVG) */
  --accent: #902c75;
}

.wrap{max-width:var(--film-w, 1920px); margin:0 auto; padding:5px}

/* ===== КИНОПЛЁНКА ===== */
.filmstrip-block{ margin: 6px 0 28px; }

.filmstrip{
  position: relative;
  width: 100%;
  margin-inline: auto;
  aspect-ratio: var(--film-w) / var(--film-h); /* держим точное соотношение 1920/391 */
  background: #111;  
  overflow: hidden;
}

/* Слой слайдов ПОД плёнкой */
.film-inner{
  position: absolute; inset: 0;
  padding: var(--padY) var(--padX);
  z-index: 1;
}

/* Плёнка-СВЕРХУ (SVG со сквозными окнами) */
.film-overlay{
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
}
.film-overlay img{ display:block; width:100%; height:100%; object-fit: cover; }

/* Слайды */
.film-inner .swiper{
  width: 101%; height: 100%;
}
.film-inner .swiper-wrapper{ align-items: stretch; }
.film-inner .swiper-slide{
  overflow: hidden;
  border-radius: var(--radius);
  height: 100%;
  background:#000; /* если у видео нет постера — не мигало белым */
}
.film-inner img,
.film-inner video{
  width:100%; height:100%;
  object-fit: cover; display:block;
}

/* Ховеры для фото (по желанию можно убрать на проде) */
.film-inner .swiper-slide img{ transition: transform .6s ease; }
.film-inner .swiper-slide:hover img{ transform: scale(1.04); }



/* Мобайл: чуть меньше радиус/поля для плотности */
@media (max-width: 768px){
  :root{ --padX: 10px; --padY: 52px; --gap: 8px; --radius: 10px; }
}

@media (max-width: 360px){
  /* окно чуть выше, чтобы фото были читаемее */
  :root{
    --padY: clamp(6px, 3.6vw, 50px);   /* +чуть выше, чем базовый расчёт */
    --padX: clamp(4px, 1.2vw, 12px);
  }
}

@media (min-width: 361px) and (max-width: 768px){
  :root{
    --padY: clamp(6px, 3.2vw, 54px);
    --padX: clamp(4px, 0.9vw, 13px);
  }
}

@media (min-width: 769px) and (max-width: 1440px){
  :root{
    --padY: clamp(8px, 3.05vw, 58.5px); /* почти базовое поведение */
    --padX: clamp(6px, 0.8vw, 14px);
  }
}
/* Пленка */

/* ====== Что мы для вас сделаем====== */
/* ====== Что мы для вас сделаем ====== */
#what-we-do{
  padding:60px 0;
  background:#fff;
  overflow:hidden;                 /* защита от горизонтального скролла */
}
.wwd-wrap{
  width:min(1200px, 92vw);         /* не «упираемся» в 1000px */
  margin:0 auto;
}
#what-we-do h2{
  text-align:center;
  font-weight:900;
  font-size:clamp(22px, 2.8vw, 32px);
  color:#902c75;
  margin-bottom:40px;
}

/* Карточка (десктоп по ТЗ: 700 x 250, шахматка) */
.wwd-item{
  display:flex;
  align-items:center;
  width:700px;
  height:250px;
  background:#f5f5f5;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  margin-bottom:60px;
  overflow:hidden;
  gap:0;

  /* старт анимации */
  --tx: 0px;
  --ty: 24px;
  opacity:0;
  transform: translate(var(--tx), var(--ty));
  transition:
    opacity .7s ease var(--delay, 0ms),
    transform 1.5s cubic-bezier(.2,.7,.2,1) var(--delay, 0ms);
}
/* прижатие к краям контейнера */
.wwd-item:nth-child(odd){ margin-left:0;  margin-right:auto; }
.wwd-item:nth-child(even){ margin-left:auto; margin-right:0;  }

/* изображение 300 x 250, вплотную к краю */
.wwd-media{ flex:0 0 300px; height:250px; overflow:hidden; background:#ddd; }
.wwd-media img{ width:100%; height:100%; object-fit:cover; display:block; }

/* шахматка */
.wwd-item:nth-child(even){ flex-direction: row-reverse; }

/* тексты */
.wwd-text{ flex:1; padding:0 24px; }
.wwd-text h3{
  margin:0 0 8px; font-size:16px; font-weight:800; color:#2C4390; letter-spacing:.02em;
}
.wwd-text p{
  margin:0; font-size:14px; line-height:1.55; color:#3a3a53; font-weight:600;
}

/* активация при скролле */
.wwd-item.show{ opacity:1; transform: translateY(0); }
.wwd-item:nth-child(odd).show{ transition-delay:.22s; }
.wwd-item:nth-child(even).show{ transition-delay:.32s; }
.wwd-item.is-left  { --tx:-150px; }
.wwd-item.is-right { --tx: 150px; }
.wwd-item.show{ --tx:0; --ty:0; transform: translate(var(--tx), var(--ty)); }

/* ===================== 1440+ (дефолт) ===================== */
/* Ничего менять не нужно: размеры из блока выше и есть десктоп */

/* ===================== 768–1439 (планшеты) ===================== */
@media (max-width: 1439px) and (min-width: 768px){
  .wwd-wrap{ width:min(960px, 94vw); }
  .wwd-item{
    width:min(680px, 92vw);
    height:220px;
    margin-bottom:44px;
  }
  .wwd-media{ flex-basis:280px; height:220px; }
  .wwd-text{ padding:0 20px; }
  .wwd-text h3{ font-size:15px; }
  .wwd-text p { font-size:13.5px; }
  /* чуть короче путь и быстрее отклик */
  .wwd-item{ --ty:18px; }
}

/* ===================== ≤768 (смартфоны) ===================== */
@media (max-width: 768px){
  .wwd-wrap{ width:94vw; }
  #what-we-do h2{ margin-bottom:28px; }

  .wwd-item{
    width:100%;
    height:auto;                   /* карточка «течёт» по контенту */
    flex-direction:column;         /* убираем шахматку */
    align-items:stretch;
    margin:0 0 18px 0;             /* плотнее вертикально */
    box-shadow:0 6px 18px rgba(0,0,0,.12);
    --ty:16px;                     /* короче стартовый путь */
  }
  .wwd-item:nth-child(even){ flex-direction:column; } /* точно без шахматки */

  .wwd-media{ flex:0 0 auto; height:200px; } /* изображение сверху */
  .wwd-text{ padding:12px 14px; }
  .wwd-text h3{ font-size:16px; }            /* читаемость */
  .wwd-text p { font-size:14px; line-height:1.6; }

  /* прижатия к краям не нужны — выравниваем по центру */
  .wwd-item:nth-child(odd),
  .wwd-item:nth-child(even){
    margin-left:0; margin-right:0;
  }
}

/* ===================== ≤360 (очень узко) ===================== */
@media (max-width: 360px){
  .wwd-media{ height:180px; }
  .wwd-text h3{ font-size:15px; }
  .wwd-text p { font-size:13.5px; }
}


/* Что мы для вас сделаем */

/* Полезный бесплатный материал (лидогенерация) */

/* ===== Полезный бесплатный материал ===== */
#lead-checklist{
  position: relative;
  padding: clamp(32px, 6vw, 80px) 0;
  background:
    radial-gradient(120% 100% at 85% 10%, rgba(144,44,117,.12), transparent 60%),
    radial-gradient(120% 100% at 0% 100%, rgba(44,67,144,.12), transparent 60%),
    #ffffff;
  overflow: hidden;
}

.lead-wrap{
  width: min(1200px, 92%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 4vw, 40px);
  align-items: center;
}

/* 2 колонки на планшете и выше */
@media (min-width: 768px){
  .lead-wrap{ grid-template-columns: 1.25fr 1fr; }
}

/* Заголовки */
.lead-content h2{
  margin: 0 0 8px;
  font-weight: 900;
  font-size: clamp(20px, 3.4vw, 28px);
  color: #2C4390;
}
.lead-h3{
  margin: 0 0 18px;
  font-weight: 800;
  font-size: clamp(22px, 4vw, 36px);
  color: #111;
  line-height: 1.2;
}
.lead-h3 span{ color:#902c75; }

/* Буллеты */
.lead-points{
  margin: 0 0 14px 0;
  padding: 0;
  list-style: none;
}
.lead-points li{
  position: relative;
  padding-left: 28px;
  margin: 8px 0;
  font-size: clamp(15px, 2.2vw, 18px);
  color: #333;
  line-height: 1.5;
  font-weight: 600;
}
.lead-points li::before{
  content: "✓";
  position: absolute;
  left: 0; top: 0;
  color: #2C4390;
  font-weight: 900;
}

/* Метки */
.lead-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin-bottom: 18px;
}
.tag{
  font-size: 12px;
  font-weight: 800;
  color: #2C4390;
  background: #eaf0ff;
  padding: 6px 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Кнопка по центру */
.lead-form{
  display: flex;
  justify-content: space-between;
}
.btn-primary{
  background:#902c75;
  color:#fff;
  height: 48px;
  padding: 0 50px;
  border: none;
  border-radius: 8px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease;
}
.btn-primary:hover{ transform: translateY(-1px); box-shadow:0 8px 20px rgba(144,44,117,.25); }
.btn-primary:active{ transform: translateY(0); }

/* Картинка справа (без подложки) */
.lead-visual img{
  display:block;
  max-width:100%;
  height:auto;
}

/* ===== (опционально) Мягкое появление блока при скролле ===== */
#lead-checklist .lead-wrap{
  opacity: 1;
  transform: none;
  transition: none;
}
#lead-checklist.reveal .lead-wrap{
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 1.5s ease, transform 1.7s cubic-bezier(.2,.7,.2,1);
}
#lead-checklist.reveal.show .lead-wrap{
  opacity: 1; transform: translateY(0);
}
/* Полезный бесплатный материал (лидогенерация) */

/* Организация свадьбы */

/* ===== Стоимость свадьбы (Открытость бюджета) ===== */
#budget-open{
  position: relative;
  width: 100%;
  min-height: min(80vh, 720px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  background: #fff;
  overflow: hidden;
}

/* Левая колонка: фото */
#budget-open .bo-media{
  position: relative;
  margin: 0;
  overflow: hidden;
}
#budget-open .bo-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) contrast(1.02);
}

/* SVG-диаграмма поверх фото (печать на зонтике) */
#budget-open .bo-pie{
  position: absolute;
  left: 50%; top: 50%;                   /* при необходимости подстрой: left/top (%) */
  width: clamp(200px, 32vw, 360px);
  transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
  opacity: .92;
}
#budget-open .bo-pie-slice{ filter: drop-shadow(0 0 2px rgba(0,0,0,.15)); }

/* Правая колонка: контент */
#budget-open .bo-info{
  display: grid;
  align-content: center;
  gap: clamp(12px, 2vw, 18px);
  padding-block: clamp(14px, 2.4vw, 28px);   /* уменьшенные верх/низ */
  padding-inline: clamp(18px, 3.2vw, 40px);
  background:
    radial-gradient(120% 120% at 10% 10%, rgba(144,44,117,.06), transparent 60%),
    radial-gradient(120% 120% at 100% 100%, rgba(44,67,144,.06), transparent 60%),
    #fff;
}

#budget-open .bo-title{
  margin: 0;
  font-weight: 900;
  font-size: clamp(24px, 3.2vw, 38px);
  color: #2C4390;
}
#budget-open .bo-subtitle{
  margin: 2px 0 6px;
  font-size: clamp(13px, 1.4vw, 16px);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #902c75;
}

/* Список фактов с иконками */
#budget-open .bo-points{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: clamp(10px, 2vw, 14px);
}
#budget-open .bo-points li{
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: start;
  gap: 12px;
}
#budget-open .bo-icon{
  width: 40px; height: 40px; display: block;
}
/* ТРИ абзаца внутри li — выравниваем по ширине */
#budget-open .bo-points p{
  margin: 0;
  font-size: clamp(14px, 1.7vw, 17px);
  line-height: 1.55;
  color: #2b2b2b;
  font-weight: 600;
  text-align: justify;                 /* ← выравнивание по ширине */
  text-justify: inter-word;            /* для некоторых браузеров */
}

/* Кнопка */
#budget-open .bo-btn{
  margin-top: 6px;                     /* ближе к тексту */
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #902c75;
  color: #fff;
  padding: 14px 22px;
  font-weight: 800;
  font-size: 16px;
  text-decoration: none;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(144,44,117,.25);
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease;
}
#budget-open .bo-btn:hover{ transform: translateY(-1px); }
#budget-open .bo-btn:active{ transform: translateY(0); }

/* ===== Респонсив ===== */
@media (max-width: 980px){
  #budget-open{
    grid-template-columns: 1fr;
    min-height: unset;
  }
  #budget-open .bo-media{
    height: 48vh;
    min-height: 320px;
  }
  #budget-open .bo-pie{
    width: clamp(180px, 42vw, 320px);
  }
  #budget-open .bo-info{
    padding: 24px 20px 40px;
  }
  #budget-open .bo-btn{
    justify-self: center;              /* на мобильном — кнопка по центру */
  }
}




/* --- Почему выбирают нас (v1) --- */
#why-us1{
  --float-amp: 70px; /* амплитуда плавания по умолчанию */
  padding: clamp(32px, 6vw, 80px) 0;
  background:#fff;
}
.why-wrap1{ width: min(1920px, 96%); margin: 0 auto; }
.why-head1{
  position: relative;        /* заголовок поверх карточек */
  z-index: 2;
  text-align:center;
  margin-bottom: clamp(18px, 4vw, 32px);
}
#why-title1{ margin:0; font-weight:900; font-size:clamp(24px,3.4vw,42px); color:#2C4390; }
.why-sub1{ margin:8px 0 0; color:#666; font-weight:600; font-size:clamp(14px,1.8vw,16px); }

/* Сетка карточек */
.why-grid1{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap: clamp(16px, calc((min(100vw,1920px) - 1750px)/4), 44px);
  flex-wrap:nowrap;
  min-height: 475px;
  position: relative;
  z-index: 1;

  /* SAFE-ZONE сверху/снизу, чтобы плавание не наезжало на заголовки */
  padding-top: calc(var(--float-amp) + 12px);
  padding-bottom: calc(var(--float-amp) + 12px);
}

/* Карточка */
.why-card1{
  position:relative;
  width:350px;
  height:400px;
  overflow:hidden;
  background:#f2f2f2;
  box-shadow:0 10px 30px rgba(0,0,0,.10);

  /* вход */
  opacity:0;
  transform: translateY(18px);
  transition:
    opacity .7s ease var(--delay,0ms),
    transform .7s cubic-bezier(.2,.7,.2,1) var(--delay,0ms);
}
.why-card1.show1{ opacity:1; transform: translateY(0); }

/* Медиа — фикс пропорций (перебивает глобальные img{}) */
#why-us1 .why-media1,
#why-us1 .why-media1 img{
  width:100% !important;
  height:100% !important;
  display:block;
}
#why-us1 .why-media1 img{
  object-fit:cover !important;
  transform: scale(1.04);
  transition: transform .6s ease;
}
.why-card1:hover .why-media1 img{ transform: scale(1.08); }

/* Подпись */
.why-caption1{
  position:absolute; inset:auto 0 0 0;
  padding:14px 12px;
  background: linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0));
  color:#fff;
}
.why-caption1 h3{ margin:0 0 4px; font-size:clamp(14px,1.6vw,18px); font-weight:900; }
.why-caption1 p{ margin:0; font-size:clamp(12px,1.4vw,14px); font-weight:600; opacity:.95; }

/* ===== Плавание без микропаузы + противофаза ===== */
.why-card1.float1{
  --amp: var(--float-amp, 70px);      /* берём амплитуду из секции */
  --dur: 11s;
  animation: floatY1 var(--dur) linear infinite; /* равномерно, без «замираний» */
  animation-play-state: paused;       /* стартуем при .float-on1 на гриде */
  will-change: transform;
}
.group-b1.float1{ animation-direction: reverse; } /* 2 и 4 в противофазе к 1/3/5 */

.why-grid1.float-on1 .why-card1.float1{ animation-play-state: running; }

/* Равномерная «треугольная» волна */
@keyframes floatY1{
  0%   { transform: translate3d(0, 0, 0); }
  25%  { transform: translate3d(0, var(--amp), 0); }            /* вниз */
  50%  { transform: translate3d(0, 0, 0); }
  75%  { transform: translate3d(0, calc(-1 * var(--amp)), 0); } /* вверх */
  100% { transform: translate3d(0, 0, 0); }
}

/* В момент старта убираем transition по transform, чтобы не конфликтовал с animation */
.why-card1.show1.float1{ transition: opacity .7s ease var(--delay,0ms); }

/* Лёгкий сдвиг фаз внутри ряда (по желанию) */
.why-card1:nth-child(1){ --delay: 0ms; }
.why-card1:nth-child(2){ --delay: 80ms; }
.why-card1:nth-child(3){ --delay: 160ms; }
.why-card1:nth-child(4){ --delay: 80ms; }
.why-card1:nth-child(5){ --delay: 160ms; }
.why-card1.float1{ animation-delay: var(--delay, 0ms); }

/* Motion-safe */
@media (prefers-reduced-motion: reduce){
  .why-card1.float1{ animation: none !important; }
}

/* Адаптив + уменьшение амплитуды и межрядные интервалы */
@media (max-width: 1280px){
  #why-us1{ --float-amp: 42px; }     /* меньше амплитуда */
  .why-grid1{
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 24px;                   /* больше расстояние между рядами */
  }
  .why-card1{ margin: 8px; width: 300px; height: 360px; }
}
@media (max-width: 768px){
  #why-us1{ --float-amp: 24px; }     /* ещё меньше амплитуда на мобилках */
  .why-grid1{ row-gap: 18px; }
  .why-card1{ width: 90%; max-width: 360px; height: 320px; }
}


/* Motion-safe */
@media (prefers-reduced-motion: reduce){
  .why-card1.float1{ animation: none !important; }
}

/* Адаптив */
@media (max-width: 1280px){
  .why-grid1{ flex-wrap: wrap; justify-content: center; }
  .why-card1{ margin: 8px; width: 300px; height: 360px; }
}
@media (max-width: 768px){
  .why-card1{ width: 90%; max-width: 360px; height: 320px; }
}

/* --- Почему выбирают нас --- */


/* --- Портфолио --- */
/* ===== ПОРТФОЛИО-ТИЗЕР ===== */
#portfolio-showcase{ padding: clamp(28px, 5vw, 64px) 0; background:#fff; }
.pfsc-wrap{ width: 100%; margin: 0 auto; }

.pfsc-head{ text-align:center; margin-bottom: clamp(16px, 4vw, 28px); }
#pf-teaser-title{
  margin:0; font-weight:900; color:#2C4390; font-size: clamp(24px, 3.4vw, 42px);
}
.pfsc-sub{ margin:8px 0 0; color:#666; font-weight:600; }

/* Сетка: 4 | (1 + CTA + 1) | 4 — на всю ширину, без зазоров */
.pfsc-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 250px;    /* каждая строка 250px */
  gap: 0;                   /* без межплиточных отступов */
  align-items: stretch;
}

/* Позиционирование по data-idx (устойчиво к DOM-правкам) */

/* Ряд 1 */
.pfsc-card[data-idx="1"]{ grid-column:1; grid-row:1; }
.pfsc-card[data-idx="2"]{ grid-column:2; grid-row:1; }
.pfsc-card[data-idx="3"]{ grid-column:3; grid-row:1; }
.pfsc-card[data-idx="4"]{ grid-column:4; grid-row:1; }

/* Ряд 2 */
.pfsc-card[data-idx="5"]{ grid-column:1; grid-row:2; }
.pfsc-cta               { grid-column:2 / 4; grid-row:2; }
.pfsc-card[data-idx="6"]{ grid-column:4; grid-row:2; }

/* Ряд 3 */
.pfsc-card[data-idx="7"] { grid-column:1; grid-row:3; }
.pfsc-card[data-idx="8"] { grid-column:2; grid-row:3; }
.pfsc-card[data-idx="9"] { grid-column:3; grid-row:3; }
.pfsc-card[data-idx="10"]{ grid-column:4; grid-row:3; }

/* Карточки (ровные края, без теней, подложка-чёрная для плавного кропа) */
.pfsc-card{
  position: relative;
  overflow: hidden;
  border-radius: 0;
  background: #000;
  box-shadow: none;

  /* старт анимации */
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .3s ease, transform .3s ease;
  will-change: opacity, transform;
}
.pfsc-card.show{ opacity:1; transform: translateY(0); }
.pfsc-card.hide{ opacity:0; transform: translateY(12px); }

.pfsc-card img{
  width: 100%; height: 100%;
  object-fit: cover; display:block;
}

/* CTA-блок */

.pfsc-cta{
  background: #902c75;
  color:#fff;

  display: grid;
  justify-items: center;   /* центр по горизонтали */
  align-content: center;   /* центрируем по вертикали */
  gap: 20px;               /* расстояние текст ↔ кнопка */

  padding: 20px 12px;
  text-align: center;

  border-radius: 0;
  box-shadow: none;

  height: auto;            /* вместо фиксированных 250px */
  min-height: 180px;       /* небольшой минимум для баланса */
}

/* Фраза по словам: родитель появляется и остаётся на месте */
.pfsc-cta-line{
  margin: 0;
  font-weight: 900;
  font-size: clamp(22px, 3.1vw, 35px);
  letter-spacing: .02em;
  display: inline-block;
  opacity: 0;                 /* скроем до первого запуска */
  transform: translateY(12px);
}

/* Кнопка: мягкий периодический пульс */
.pfsc-btn{
  display: inline-flex; align-items:center; justify-content:center;
  padding: 12px 18px;
  background: #fff; color:#902c75; font-weight:800; text-decoration:none;
  border: 2px solid #fff;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
  transition: transform .12s ease, box-shadow .2s ease;
  animation: pfscPulse 7s ease-in-out infinite;
}
.pfsc-btn:hover{ transform: translateY(-1px); }
@keyframes pfscPulse{
  0%   { transform: scale(1); }
  3%   { transform: scale(1.06); }
  6%   { transform: scale(1); }
  100% { transform: scale(1); }  /* длинная пауза */
}

/* a11y: reduce-motion — один показ без циклов */
@media (prefers-reduced-motion: reduce){
  .pfsc-card, .pfsc-cta-line, .pfsc-btn{ animation: none !important; transition: none !important; }
  .pfsc-card{ opacity: 1 !important; transform:none !important; }
  .pfsc-cta-line{ opacity: 1 !important; transform:none !important; }
}

/* ====== ≥1440px (дефолт) — остаётся как есть ====== */
@media (min-width: 1440px){
  .pfsc-grid{
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 250px;
  }
  .pfsc-cta{ grid-column: 2 / 4; } /* между 5 и 6 */
}

/* ====== 768–1439px — планшеты: 3 колонки, сброс позиций ====== */
@media (max-width: 1439px) and (min-width: 768px){
  .pfsc-grid{
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 220px;
  }
  /* Сбрасываем жёсткие позиции под 4 колонки */
  .pfsc-card,
  .pfsc-cta{
    grid-column: auto !important;
    grid-row: auto !important;
  }
  /* CTA занимает всю строку */
  .pfsc-cta{ grid-column: 1 / -1; }
}

/* ====== ≤768px — смартфоны: 2 колонки, компактная CTA ====== */
@media (max-width: 768px){
  #portfolio-showcase .pfsc-grid{
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 200px;
  }

  /* сброс позиций */
  #portfolio-showcase .pfsc-card,
  #portfolio-showcase .pfsc-cta{
    grid-column: auto !important;
    grid-row: auto !important;
  }

  /* CTA во всю ширину + расстояние 20px */
  #portfolio-showcase .pfsc-cta{
    grid-column: 1 / -1;
    gap: 20px;   /* отступ между текстом и кнопкой */
  }

  /* уменьшенный шрифт */
  #portfolio-showcase .pfsc-cta-line{
    font-size: 18px;
    line-height: 1.3;
  }
  #portfolio-showcase .pfsc-btn{
    font-size: 15px;
    padding: 10px 14px;
    border-radius: 6px;
  }
}

/* ====== ≤360px — 1 колонка: изображения столбцом, CTA компактнее ====== */
@media (max-width: 360px){
  #portfolio-showcase .pfsc-grid{
    grid-template-columns: 1fr;
    grid-auto-rows: 180px;
  }

  #portfolio-showcase .pfsc-card,
  #portfolio-showcase .pfsc-cta{
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  /* gap для CTA на очень узких экранах тоже 20px */
  #portfolio-showcase .pfsc-cta{
    gap: 20px;
  }

  #portfolio-showcase .pfsc-cta-line{
    font-size: 16px;
    line-height: 1.2;
  }
  #portfolio-showcase .pfsc-btn{
    font-size: 14px;
    padding: 8px 12px;
    border-radius: 5px;
  }
}



/* --- Портфолио --- */


  /* --- КАЛЬКУЛЯТОР --- */
  .page_calculator{
    background: #f7f3f8;
    font-family: 'Montserrat', Arial, sans-serif;
    margin: 0;
    padding: 0;
  }
  .calculator-wrap {
    width: 1200px;
    margin: 100px auto 30px auto;
    background: #fff;
    box-shadow: 0 2px 24px #aaa2;
    padding: 38px 20px 48px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .calc-title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 40px;
    text-align: center;
    color: #32a1ce;
    letter-spacing: 1.5px;
  }
  .cards-row {
    display: flex;
    flex-wrap: wrap;
    gap: 28px 36px;
    justify-content: center;
    margin-bottom: 44px;
    width: 100%;
    max-width: 1200px;
  }
  .card-calc {
    width: 300px;
    height: 375px;
    background: #fff;
    box-shadow: 0 2px 14px #aaa2;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 18px rgba(50, 161, 206, 0.17), 0 1.5px 5px rgba(0,0,0,0.10);
    border: 1px solid #e5ecf2;
    border: none;
    position: relative;
    margin-bottom: 16px;
  }
  .card-img {
    width: 300px;
    height: 300px;
    object-fit: cover;
    border: none;
    display: block;
  }
  .card-bottom-bar {
    width: 300px;
    height: 80px;
    background: #32a1ce;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    border: none;
    position: relative;
    overflow: visible;
    padding: 0;
  }
  .card-label {
    font-size: 20px;
    color: #fff;
    font-family: 'Roboto', Arial, sans-serif;
    font-weight: 700;
    margin-top: 4px;
    margin-bottom: 4px;
    text-align: center;
    letter-spacing: 0.2px;
  }



  .guests-input-box {
    width: 70px;
    height: 18px;
    background: #fff;
    margin: 4px auto 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    font-weight: 700;
  }
  .guests-input {
    width: 70px;
    height: 35px;
    font-size: 21px;
    text-align: center;
    border: none;
    color: #222;
    background: #fff;
    font-weight: bold;
    outline: none;
  }
  .group-title-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 32px 0 16px 0;
  justify-content: center;
}
.group-title {
  font-size: 23px;
  color: #902c75;
  font-weight: 700;
  letter-spacing: 0.2px;
  margin: 0 0 5px 0;  
  text-align: center;
  width: 100%;
}
.group-sum {
 
  font-size: 21px;
  font-weight: 700;
  color: #32a1ce;
  min-width: 125px;
  text-align: center;
  width: 100%;
  margin: 0 0 2px 0;
}
  
  /* --- Дизайн ДА/НЕТ --- */
  .card-options {
    position: absolute;
    left: 0;
    right: 0;
    top: -18px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    z-index: 2;
    background: none;
    margin: 0;
  }
  .option-btn {
  width: 90px;
  height: 30px;
  font-size: 14px;
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0.11em;
  border: none;
  outline: none;
  cursor: pointer;
  margin: 0;
  box-shadow: 0 2px 8px rgba(50, 161, 206, 0.14);
  transition: background 0.2s, color 0.2s;
}

.option-btn.no {
  border-right: 1px solid #fff;
}

.option-btn.yes,
.option-btn.no {
  background: #fff;
  color: #902c75;
}

/* Активные */
.option-btn.no.selected {
  background: #902c75;
  color: #fff;
}
.option-btn.yes.selected {
  background: #902c75;
  color: #fff;
}

/* Неактивная при выборе ДА — НЕТ становится белым, текст бирюзовый */
.option-btn.no:not(.selected) {
  background: #fff;
  color: #902c75;
}

/* Неактивная при выборе НЕТ — ДА становится белым, текст бирюзовый */
.option-btn.yes:not(.selected) {
  background: #fff;
  color: #902c75;
}
  .card-desc {
    font-size: 18px;
    font-family: 'Roboto', Arial, sans-serif;
    color: #fefefe;
    width: 100%;
    text-align: center;
    letter-spacing: 0.6px;
    margin: 16px 0 0 0;
    font-weight: 700;
  }
  .card-price {
  font-size: 16px;
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 500;
  margin-top: 2px;
  color: #fff;
  letter-spacing: 1px;
  text-align: center;
  width: 100%;
  transition: color 0.2s;
}

.card-price.selected {
  color: #902c75 !important;
}

.card-price.unselected {
  color: #c9caca !important;
}
  /* --- Итоговая сумма --- */
  .total-block {
  width: 300px;
  padding: 22px 0;
  background: #f6e3f2;
  border: none;
  text-align: center;
  font-size: 27px;
  font-weight: bold;
  color: #902c75;
  letter-spacing: 2px;
  margin: 40px auto 0 auto; /* <-- автоцентрирование */
  box-shadow: 0 2px 10px #902c7540;
  border-radius: 0; /* на всякий случай */
}
  @media (max-width: 1300px) {
    .calculator-wrap, .total-block { width: 100vw; max-width: 100vw; }
    .cards-row { max-width: 100vw; }
  }
  @media (max-width: 920px) {
    .cards-row { flex-direction: column; align-items: center; }
  }

/* --- Калькулятор вступление --- */
  .wedding-calculator-info {
  max-width: 800px;
  margin: 44px auto 36px auto;
  padding: 34px 32px 24px 32px;
  background: #fff;
  box-shadow: 0 6px 24px rgba(144, 44, 117, 0.06);
  border-radius: 18px;
  font-family: 'Montserrat', Arial, sans-serif;
}
.wedding-calculator-info h1 {
  color: #902c75;
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 16px;
  letter-spacing: 0.5px;
  text-align: center;
}
.wc-intro p {
  font-size: 16px;
  color: #222;
  margin: 0 0 14px 0;
  line-height: 1.45;
  font-family: 'Roboto', Arial, sans-serif;
}
.wc-warning {
  margin-top: 26px;
  background: #fff9e6;
  border-left: 6px solid #ffad23;
  padding: 18px 22px 18px 20px;
  font-size: 17px;
  color: #b07600;
  font-weight: 600;
  border-radius: 12px;
  box-shadow: 0 1px 5px #ffad2333;
}
.wc-warning strong {
  color: #902c75;
  font-weight: 800;
  margin-right: 7px;
  font-size: 18px;
}
/* --- КАЛЬКУЛЯТОР --- */

/* Sticky CTA — виден только на мобилке */
.sticky-cta-mobile{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1100;
  display: grid; place-items: center;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: #902c75;
  box-shadow: 0 -10px 30px rgba(0,0,0,.2);
  transition: transform .3s ease, opacity .3s ease;
  transform: translateY(100%);
  opacity: 0;
}
.sticky-cta-mobile a{
  display: inline-block;
  width: 100%;
  max-width: 520px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-weight: 800;
  letter-spacing: .02em;
  padding: 14px 18px;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(6px);
}

/* Показ */
.sticky-cta-mobile.is-visible{
  transform: translateY(0);
  opacity: 1;
}

/* На планшетах и выше скрываем вовсе */
@media (min-width: 768px){
  .sticky-cta-mobile{ display: none !important; }
}

/* Чтобы нижний CTA не перекрывал контент — добавим отступ снизу у body, когда он виден */
body.has-sticky-cta{
  padding-bottom: 84px; /* высота CTA с запасом; при необходимости подправь */
}

/* Корпоратив */
/* Видео-слайдер*/
:root{
  /* Пропорции общей «плитки»: 1920×700 */
  --frame-w: 1920;
  --frame-h: 700;

  /* Пропорции колонок: 338 : 1244 : 338 по ширине */
  --col-left: 338;
  --col-center: 1244;
  --col-right: 338;

  /* Анимации/тени */
  --tile-shadow: 0 10px 24px rgba(0,0,0,.35);
  --anim-dur: .6s;
}


.corp-hero{
  background:#060608;
  display:block;
  overflow:clip; /* без горизонтального скролла */
  margin-top: -22px;
}

/* Рамка фиксирует общую пропорцию и масштабируется */
.corp-hero__frame{
  width: min(100vw, 1920px);   /* растягиваем, но без лишнего */
  aspect-ratio: var(--frame-w) / var(--frame-h);
  margin-inline:auto;
  display:grid;
  grid-template-columns: var(--col-left) var(--col-center) var(--col-right);
  grid-template-rows: 1fr;
  gap: 0;
  position:relative;
}

/* Центр (видео) */
.corp-hero__center{
  grid-column: 2 / 3;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.hero-video{
  width:100%;
  height:100%;
  object-fit:cover; /* видео точно заполняет 1244×700 в рамках масштабирования */
  display:block;
  filter:contrast(1.05) saturate(1.05);
}

/* Боковые колонки — каждая на 2 ряда */
.corp-hero__side{
  background:#ffffff;
  display:grid;
  grid-template-rows: 1fr 1fr; /* 350 + 350 = 700 */
  gap:0;
  overflow:hidden;
}
.corp-hero__side--left{ grid-column: 1 / 2; }
.corp-hero__side--right{ grid-column: 3 / 4; }

/* Плитки изображений строго 338×350 в масштабировании */
.tile{
  background:#ffffff; 
  margin:0;
  display:block;
  overflow:hidden;
  box-shadow: var(--tile-shadow);
  opacity:0;
  transform: translateX(0); /* зададим по сторонам ниже */
  transition:
    opacity var(--anim-dur) ease,
    transform var(--anim-dur) cubic-bezier(.2,.7,.2,1);
}
.tile img{
  width:100%;
  height:100%;
  aspect-ratio: 338 / 350;
  object-fit:cover;
  display:block;
}

/* Направление анимации — из краёв к центру */
.tile--left{  transform: translateX(-24px); }
.tile--right{ transform: translateX( 24px); }

/* Состояние «появилось» */
.tile.is-in{
  opacity:1;
  transform: translateX(0);
  transition:
    opacity var(--anim-dur) ease,
    transform var(--anim-dur) cubic-bezier(.2,.7,.2,1);
}

/* ====== АДАПТИВ ====== */
/* Планшет: всё оставляем, блок просто масштабируется */
@media (max-width: 1024px){
  .corp-hero__frame{ width:100vw; }
}

/* Мобилки: оставляем только видео по центру */
@media (max-width: 768px){
  .corp-hero__frame{
    grid-template-columns: 1fr;        /* одна колонка */
  }
  .corp-hero__side{ display:none; }    /* скрываем боковые плитки */
  .corp-hero__center{ grid-column: 1 / -1; }
}
/* Видео-слайдер*/





/* ===== БЛОК "НАШ СЕКРЕТ" ===== */

#why-us {
  padding: 0 0 50px 0; /* нижний отступ блока */
}

#why-us .why-us__container {
  width: 100%;
  max-width: none;
  padding-left: clamp(12px, 2vw, 24px);
  padding-right: clamp(12px, 2vw, 24px);
}

/* Заголовок */
#why-us .why-us__title {
  font-size: clamp(24px, 3.2vw, 40px);
  line-height: 1.15;
  text-align: center;
  margin: 52px 0; /* отступ сверху/снизу */
  letter-spacing: -0.01em;
  overflow-wrap: anywhere; /* чтобы длинные слова не прыгали */
}

/* Анимации заголовка по словам */
#why-us .why-us__title .word{
  display: inline-block;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .5s ease, transform .5s ease;
  will-change: transform, opacity;
}
#why-us .why-us__title .word.in{
  opacity: 1;
  transform: none;
}

/* ===== СЕТКА И КАРТОЧКИ ===== */

/* Центровка блока с карточками */
#why-us .why-us__grid{
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px; /* можно 1200–1400px под дизайн */
  justify-content: center;
  display: grid;
  gap: 20px;
}

/* Карточка */
#why-us .why-card {
  background: #aaedff;
  color: #111;
  border-radius: 12px;
  /* важно: в гриде карточки должны растягиваться,
     поэтому убираем жёсткие min/max-width */
  min-width: 0;
  max-width: none;
  width: 100%;
  height: 200px;

  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px;
  gap: 8px;
  box-sizing: border-box;
  box-shadow: 0 6px 16px rgba(0,0,0,.25);

  transform: translateY(10px) scale(.98);
  opacity: 0;
  transition: transform .45s ease, opacity .45s ease, box-shadow .25s ease;

  /* snap оставим на случай горизонтального скролла в старой версии;
     в гриде не мешает */
  scroll-snap-align: center;
}
#why-us .why-card:hover {
  transform: translateY(-2px) scale(1);
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
}

/* Иконка */
#why-us .why-card__icon {
  width: 110px;
  height: 110px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
}
#why-us .why-card__icon img {
  width: 64px;
  height: 64px;
  display: block;
}

/* Тексты */
#why-us .why-card__title {
  font-size: 16px;
  margin: 2px 0 0;
}
#why-us .why-card__text {
  font-size: 13px;
  margin: 0;
}

/* ===== ВХОД КАРТОЧЕК (справа → налево) ===== */
#why-us .why-card{
  opacity: 0;
  transform: translateX(28px) translateY(10px) scale(.98);
  transition: transform .6s cubic-bezier(.2,.7,.2,1), opacity .6s ease, box-shadow .4s ease;
}
#why-us .why-card.is-visible{
  opacity: 1;
  transform: none;
}

/* Анимации появления */
#why-us .reveal-up   { opacity:0; transform: translateY(12px); }
#why-us .reveal-fade { opacity:0; }
#why-us .is-visible  { opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce) {
  #why-us .reveal-up,
  #why-us .reveal-fade,
  #why-us .why-card {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ===== БРЕЙКПОИНТЫ (360 / 768 / 1440) ===== */

/* < 360px — 1 колонка (по умолчанию ниже тоже одна) */
@media (max-width: 359.98px){
  #why-us .why-us__grid{ grid-template-columns: 1fr; }
}

/* 360–767px — 2 колонки */
@media (min-width: 360px) and (max-width: 767.98px){
  #why-us .why-us__grid{ grid-template-columns: repeat(2, 1fr); }
}

/* 768–1439px — 3 колонки */
@media (min-width: 768px) and (max-width: 1439.98px){
  #why-us .why-us__grid{ grid-template-columns: repeat(3, 1fr); }
}

/* ≥ 1440px — 6 колонок (как у тебя изначально); центрируем и чуть шире контейнер */
@media (min-width: 1440px){
  #why-us .why-us__grid{
    grid-template-columns: repeat(6, 1fr);
    max-width: 1440px;
    gap: 24px;
  }
}

/* (необязательно) Стили горизонтального скроллбара — можно оставить/удалить */
#why-us .why-us__grid::-webkit-scrollbar { height: 8px; }
#why-us .why-us__grid::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,.25);
  border-radius: 8px;
}
#why-us .why-us__grid::-webkit-scrollbar-track { background: rgba(0,0,0,.08); }

/* ===== БЛОК "НАШ СЕКРЕТ" ===== */



/* ===== Корпоративы, которые запоминаются — базовые ===== */

:root{
  --reveal-dur: 1.2s;     /* скорость появления */
  --reveal-shift: 60px;  /* дистанция сдвига при входе */
}

.corp-section{position:relative;width:100%;margin:0;padding:60px 0;background:#fff;}
.corp-title{margin:0 0 90px;text-align:center;line-height:1.15;font-size:34px;}

.corp-grid{
  display:grid;
  grid-template-columns:1fr 1fr; /* диагональ на ≥768 */
  gap:0;
}

/* плитки */
.corp-photo,.corp-text{border-radius:0;overflow:hidden;}
.corp-photo{margin:0;aspect-ratio:960/484;}
.corp-photo img{display:block;width:100%;height:100%;object-fit:cover}

/* текстовые плитки */
.corp-text{
  aspect-ratio:960/484;
  background:#e9e8e8;          /* подложка под текст */
  padding:40px 50px;
  display:flex;flex-direction:column;
  justify-content:center;align-items:flex-end;
  text-align:justify;
}
.corp-h3{margin:0 0 16px;font-size:28px;line-height:1.2;}
.corp-text p{margin:0;font-size:17px;line-height:1.6;}

/* Заголовок первого текста — влево */
.corp-text[data-appear="25"] .corp-h3{margin-right:auto;text-align:left;}

/* диагональная раскладка */
.corp-grid > :nth-child(1){grid-column:1;grid-row:1}
.corp-grid > :nth-child(2){grid-column:2;grid-row:1}
.corp-grid > :nth-child(3){grid-column:1;grid-row:2}
.corp-grid > :nth-child(4){grid-column:2;grid-row:2}

/* пороги появления */
.corp-trigger{position:absolute;left:0;right:0;height:1px;opacity:0;pointer-events:none}
.corp-trigger.t25{top:35%}
.corp-trigger.t50{top:65%}

/* анимация */
.reveal{opacity:0;transform:translateX(0);will-change:opacity,transform}
.from-right{transform:translateX(var(--reveal-shift))}
.from-left{ transform:translateX(calc(-1 * var(--reveal-shift)))}
.reveal.is-visible{
  opacity:1;transform:translateX(0);
  transition:opacity var(--reveal-dur) ease, transform var(--reveal-dur) ease;
}

/* ===== Брейкпоинты ===== */
/* ≤ 767px — колонка: фото1 → текст1 → фото2 → текст2 */
@media (max-width:767px){
  .corp-title{font-size:28px;margin-bottom:64px}

  .corp-grid{display:flex;flex-direction:column}
  .corp-grid > *{width:100%;margin:0}

  /* натуральные пропорции картинок и текстов */
  .corp-photo,.corp-text{aspect-ratio:auto}
  .corp-photo img{height:auto;object-fit:contain}

  /* порядок */
  .corp-grid > :nth-child(1){order:1}
  .corp-grid > :nth-child(2){order:2}
  .corp-grid > :nth-child(4){order:3}
  .corp-grid > :nth-child(3){order:4}

  /* читабельные кегли и выравнивание */
  .corp-text{padding:22px 18px;align-items:flex-start;text-align:left}
  .corp-h3{font-size:20px}
  .corp-text p{font-size:16px}
}

/* 768–1439px */
@media (min-width:768px) and (max-width:1439px){
  .corp-title{font-size:34px}
  .corp-text{padding:28px 32px}
  .corp-h3{font-size:24px}
  .corp-text p{font-size:16.5px}
}

/* ≥1440px */
@media (min-width:1440px){
  .corp-title{font-size:44px}
  .corp-text{padding:44px 56px}
  .corp-h3{font-size:30px}
  .corp-text p{font-size:18px}
}
/* ===== Корпоративы, которые запоминаются — базовые ===== */

/* ===== Корпоративы, большой слайдер ===== */
.portfolio-title{
  margin:24px 0 10px;
  font-size:clamp(20px, 2.4vw, 32px);
  line-height:1.5;
  text-align:center;
  font-weight:700;
  letter-spacing:.3px;
  color:#2C4390;
}

.portfolio-actions{
  display:flex;
  justify-content:center;
  margin:8px 0 62px;
}
.cta-vibe{
  border:0;
  padding:12px 20px;
  border-radius:999px;
  color:#0e0e12;
  background:linear-gradient(135deg,#7a4ce0 0%,#5ac8fa 100%);
  font-weight:700;
  cursor:pointer;
  box-shadow:0 6px 20px rgba(122,76,224,.35);
  transition:transform .15s ease, box-shadow .2s ease;
  text-decoration:none;
}
.cta-vibe:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 28px rgba(122,76,224,.45);
}
.cta-vibe:active{
  transform:translateY(0);
  box-shadow:0 6px 20px rgba(122,76,224,.35);
}

/* Слайдер */
.mosaic-slider{background:#e4e4e4;overflow:hidden}
.mosaic-tiles{position:relative;aspect-ratio:1920/800}
@supports not (aspect-ratio:1){ .mosaic-tiles{height:min(800px,calc(100vw*800/1920));} }

/* Тайлы (!!! заменил .tile на .mosaic-tile) */
.mosaic-tile{
  position:absolute;
  margin:0;
  padding:0;
  overflow:hidden;
  opacity:0;
  transform:scale(1.03);
  will-change:opacity,transform;
}
.mosaic-tile img{
  width:100%!important;
  height:100%!important;
  object-fit:cover;
  display:block;
}
.mosaic-tile::before{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.04);
}

/* Позиции */
.mosaic-t1{left:0%;        top:0%;     width:57.2917%; height:60%;}
.mosaic-t2{left:57.2917%;  top:0%;     width:20.9896%; height:60%;}
.mosaic-t3{left:78.2813%;  top:0%;     width:21.7187%; height:31.25%;}
.mosaic-t4{left:78.2813%;  top:31.25%; width:21.7187%; height:68.75%;}
.mosaic-t5{left:0%;        top:60%;    width:28.6458%; height:40%;}
.mosaic-t6{left:28.6458%;  top:60%;    width:28.6458%; height:40%;}
.mosaic-t7{left:57.2917%;  top:60%;    width:20.9896%; height:40%;}

/* Анимация */
.show{animation:fadeIn 600ms ease forwards}
.hide{animation:fadeOut 380ms ease forwards}
.visible{opacity:1;transform:scale(1)}
@keyframes fadeIn{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}
@keyframes fadeOut{from{opacity:1}to{opacity:0}}
/* ===== Корпоративы, большой слайдер ===== */

/* Корпоратив */

/*Портфолио кнопки*/
/* ===== Свадебное портфолио (5 карточек: 3 сверху, 2 снизу) ===== */
.wpfolio{
  --brand: #902c75;                 /* при желании поменяй под палитру */
  --text: #121212;
  --muted: #555;
  --gap-360: 12px;
  --gap-768: 18px;
  --gap-1440: 24px;
  --radius: 8px;
  --shadow: 0 10px 28px rgba(0,0,0,.14);
  padding: clamp(24px, 4vw, 64px) 0;
}
.wpfolio__container{
  width: min(1200px, 92vw);
  margin: 0 auto;
}
.wpfolio__title{
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  margin: 0 0 10px;
  font-size: clamp(22px, 3.2vw, 42px);
  letter-spacing: .2px;
  color: #2C4390;
}
.wpfolio__lead{
  max-width: 64ch;
  margin: 0 auto clamp(16px, 2.6vw, 28px);
  text-align: center;
  color: var(--muted);
  font-size: clamp(14px, 1.6vw, 18px);
}

/* GRID */
.wpfolio__grid{
  display: grid;
  gap: var(--gap-360);
  grid-template-columns: repeat(2, 1fr); /* смартфоны: 2 в ряд */
}
.wpfolio__card{
  position: relative;
  display: block;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  isolation: isolate;
  aspect-ratio: 2 / 3;   /* было 4/3 → теперь вертикаль 400×600 */
  transition: transform .35s ease, box-shadow .35s ease;
  outline: none;
}

.wpfolio__card:focus-visible{
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--brand), var(--shadow);
  transform: translateY(-1px);
}
.wpfolio__card img{
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease, filter .5s ease;
}
.wpfolio__card::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.5) 100%);
  opacity:.9;
  transition: opacity .35s ease;
}
.wpfolio__label{
  position: absolute;
  left: 12px; bottom: 12px;
  z-index: 2;
  color: #fff;
  font-weight: 800;
  font-size: clamp(14px, 1.7vw, 18px);
  line-height: 1.15;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(6px);
}
.wpfolio__card:hover img{
  transform: scale(1.045);
  filter: saturate(1.05) contrast(1.02);
}
.wpfolio__card:hover::after{ opacity: 1; }

/* планшеты: ровно 3 сверху / 2 снизу (центрируем второй ряд) */
@media (min-width: 768px){
  .wpfolio__grid{
    gap: var(--gap-768);
    grid-template-columns: repeat(3, 1fr);
  }
  .wpfolio__card:nth-child(4){ grid-column: 1 / 2; }
  .wpfolio__card:nth-child(5){ grid-column: 3 / 4; }
}

/* широкие: побольше «воздуха» */
@media (min-width: 1440px){
  .wpfolio__grid{ gap: var(--gap-1440); }
  .wpfolio__container{ width: min(1280px, 90vw); }
}

/* ===== Блок текста "Большая свадьба" ===== */
.svadba_key {
  background: #f9f9f9;
  padding: 32px 0;
}

.svadba_key_text {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 16px;
  color: #333;
  font-family: "Roboto Flex", Arial, sans-serif;
  line-height: 1.6;
}

/* Заголовки */
.svadba_key_h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-size: 22px;
  text-align: center;
  margin: 0 0 20px;
  color: #902c75;
}

/* Второй заголовок — больше воздуха */
.svadba_key_text .svadba_key_h2:nth-of-type(2) {
  margin: 48px 0 32px;
}

/* Параграфы */
.svadba_key_text_1,
.svadba_key_text_2 {
  font-size: 14px;
  margin-bottom: 24px;
  color: #444;
  text-align: justify;
}

/* Списки */
.svadba_key_text_1 ul {
  list-style: none;
  margin: 16px 0;
  padding: 0;
}
.svadba_key_text_1 li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 28px;
  font-size: 14px;
  text-align: justify;
}
.svadba_key_text_1 li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: #3fa5ed;
  font-weight: 700;
}

/* Ссылки */
.svadba_key_text a {
  color: #3fa5ed;
  font-weight: 600;
  text-decoration: none;
  transition: color .25s;
}
.svadba_key_text a:hover {
  color: #902c75;
}

/* ===== Брейкпоинт 768px ===== */
@media (min-width: 768px) {
  .svadba_key {
    padding: 48px 0;
  }
  .svadba_key_h2 {
    font-size: 26px;
    margin-bottom: 24px;
  }
  .svadba_key_text .svadba_key_h2:nth-of-type(2) {
    margin: 56px 0 36px;
  }
  .svadba_key_text_1,
  .svadba_key_text_2 {
    font-size: 16px;
    margin-bottom: 28px;
  }
  .svadba_key_text_1 li {
    font-size: 16px;
  }
}

/* ===== Брейкпоинт 1440px ===== */
@media (min-width: 1440px) {
  .svadba_key {
    padding: 72px 0;
  }
  .svadba_key_h2 {
    font-size: 32px;
    margin-bottom: 28px;
  }
  .svadba_key_text .svadba_key_h2:nth-of-type(2) {
    margin: 64px 0 40px;
  }
  .svadba_key_text_1,
  .svadba_key_text_2 {
    font-size: 18px;
    margin-bottom: 32px;
  }
  .svadba_key_text_1 li {
    font-size: 18px;
  }
}

/* Плавное появление карточек */
.wpfolio__card {
  transition: opacity .6s ease, transform .6s ease, box-shadow .35s ease;
}
.wpfolio__card.is-hidden {
  opacity: 0;
  transform: translateY(40px);
  will-change: opacity, transform;
}
.wpfolio__card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Уважение к OS-настройкам на уменьшение анимации */
@media (prefers-reduced-motion: reduce) {
  .wpfolio__card { transition: none !important; }
  .wpfolio__card.is-hidden { transform: none; }
}
 /*Портфолио кнопки*/

/*Страница Альбина - Артем*/

.portfolio_albina_artem {
  width: 100%;
  /*margin: 0 auto;*/
  margin-bottom: 80px;
  
  }
  
  .h1_albina_artem {
    font-family: 'Montserrat', 'Arial', sans-serif; /* современный строгий шрифт */
    width: 64%;
    margin: 0 auto;
    font-size: 48px;           /* чуть меньше, чем было (58px) */
    letter-spacing: 2px;       /* более деликатный кернинг */
    text-align: center;        /* можно выровнять по центру для гармонии */
    margin-bottom: 30px;       /* уменьшили отступ вниз */
    padding-top: 70px;
    padding-bottom: 40px;        /* было 240px — вдвое меньше */
    color: #902c75;            /* насыщенный винный (можно поменять на фирменный) */
  }
  
  .p_albina_artem {
  font-family: 'Oswald', 'Arial', sans-serif;
  width: 64%;
  margin: 0 auto;
  font-size: 21px;
  text-align: justify;
  font-weight: 300;
  line-height: 32px;
  letter-spacing: 1.4px;
  margin-bottom: 40px;
  }
  
  .albina_artem1{
  width: 64%;
  margin: 0 auto;
  }
  
  
  .figure_1 {
  width: 67.7%;
  float: left;
  margin-bottom: 25px;
  }
  
  .figure_2{
  width: 30%;
  float: right;
  }
  
  
  
  .figure_3 {
      width: 30%;
      float: left;
  }
  
  .figure_4 {
  width: 67.7%;
  float: right;
  margin-bottom: 25px;
  }
  
  @media screen and (max-width: 575px) {
  .h1_albina_artem {
  width: 77%;
  font-size: 28px;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 1%;
  padding-top: 38%;
  text-shadow: 0.4px 0.4px #6EB5C0;
  }
  .p_albina_artem {
  font-size: 17px;
  text-align: center;
  margin-bottom: 5%;
  }
  .albina_artem1{
  width: 90%;
  }
  }

  /* Страхуем контейнеры с float (не рассыпятся) */
.portfolio_albina_artem .albina_artem1 > div { display: flow-root; }

/* Фигуры: радиус, тень, плавное появление */
.portfolio_albina_artem figure{
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #0f0f10;             /* подложка на время загрузки */
  box-shadow: 0 14px 40px rgba(0,0,0,.28);
  transform: translateY(16px);
  opacity: 0;
  transition:
    transform .8s ease,
    opacity .8s ease,
    box-shadow .25s ease;
  transition-delay: var(--reveal-delay, 0ms);
}

/* Когда попали в зону видимости — показ */
.portfolio_albina_artem figure.is-visible{
  transform: none;
  opacity: 1;
}

/* Картинки аккуратно заполняют блок */
.portfolio_albina_artem figure img{
  display:block;
  width:100%;
  height:100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .6s ease;
}

/* Лёгкий hover на десктопе */
@media (hover:hover){
  .portfolio_albina_artem figure:hover{
    box-shadow: 0 20px 60px rgba(0,0,0,.34);
  }
  .portfolio_albina_artem figure:hover img{
    transform: scale(1.04);
  }
}

/* Небольшая адаптация для совсем узких экранов */
@media (max-width:575px){
  .portfolio_albina_artem figure{ border-radius: 10px; }
  .h1_albina_artem {
   padding-top: 20px; 
    
  }
}

  /*Страница Альбина - Артем*/

  /* Жёсткое центрирование оверлея поверх видео */
.guzday-hero-video{
  position: relative;
  display: grid;          /* сетка для центрирования */
  place-items: center;    /* центр по X и Y */
  isolation: isolate;     /* свой стек слоёв, чтобы ничто снаружи не мешало */
}

.guzday-bg-video{
  position: absolute;
  inset: 0;
  object-fit: cover;
  z-index: 1;
}

.guzday-hero-center{
  position: relative;     /* больше не absolute */
  inset: auto;            /* на всякий случай сброс */
  transform: none;        /* сброс возможных переопределений */
  margin: 0;
  z-index: 3;
}


