:root{
  --gold:#FFD700;
  --text:#1b1b1f;
  --bg:#ffffff;
  --muted:#6b7280; /* третий цвет — пока нейтральный */
  --shadow: 0 8px 24px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}
body{ touch-action:pan-y; } 
.container{max-width:1200px; margin:0 auto; padding:0 24px}

/* ===== HEADER ===== */
.header{
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(1.2) blur(8px);
  border-bottom:1px solid rgba(0,0,0,.06);
}

.header__row{
  display:grid;
  grid-template-columns:auto 1fr auto; /* лого | центр | кнопка */
  align-items:center;
  gap:32px;
  min-height:88px;
}

/* логотип */
.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
  color:inherit;
}
.brand__logo{
  display:block;
  width:60px; height:60px; /* крупнее и читаемо */
}

/* кнопки */
/* заменить правило .btn на это */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:48px;
  padding:0 24px;
  border-radius:9999px;              /* было 0 */
  text-decoration:none;
  font-weight:700;
  font-size:15px;
  letter-spacing:0.3px;
  border:1px solid transparent;
  box-shadow:0 8px 24px rgba(0,0,0,.15);  /* добавили более выраженную тень */
  transition:transform .2s ease, box-shadow .2s ease, background-color .2s;
}

/* оставить золото на primary */
.btn--primary{
  background:var(--gold);
  color:#000;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.btn--primary:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}


/* NAV общие */
.nav{display:flex; align-items:center; gap:20px}
.nav__list{display:flex; gap:16px; list-style:none; margin:0; padding:0}
.nav__link{
  display:inline-block; padding:10px 8px; text-decoration:none; color:var(--text);
  border-radius:10px; transition:background-color .2s ease, color .2s ease;
}
.nav__link{
  position:relative;
  display:inline-block;
  padding:10px 8px;
  text-decoration:none;
  color:var(--text);
  border-radius:0; /* убрали скругления */
  transition:color .2s ease;
}
.nav__link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0%;
  height:2px;
  background:var(--gold);
  transition:width .25s ease;
}
.nav__link:hover::after{
  width:100%;
}

/* контакты внутри off-canvas меню */
.nav__contacts{
  display:none;                  /* по умолчанию скрыто (десктоп) */
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,.08);
}
.nav__contacts h4{
  font-size:14px;
  font-weight:700;
  margin:0 0 8px;
  color:var(--gold);
}
.nav__contacts ul{ list-style:none; margin:0; padding:0; }
.nav__contacts li{ margin:6px 0; }
.nav__contacts a{
  text-decoration:none;
  color:var(--text);
  font-size:14px;
  transition:color .2s ease;
}
.nav__contacts a:hover{ color:var(--gold); }

/* только мобилка (бургер) */
@media (max-width: 992px){
  .nav__contacts{ display:block; }
}


.nav__cta{margin-left:8px}

/* ===== Бургер ===== */
.burger{
  display:none; position:relative; width:44px; height:44px; border:1px solid rgba(0,0,0,.1);
  border-radius:12px; background:#fff; cursor:pointer;
}
.burger__bar{
  position:absolute; left:10px; right:10px; height:2px; background:#111; border-radius:2px;
  transform-origin:center; transition:transform .25s ease, opacity .2s ease, top .25s ease;
}
.burger__bar:nth-child(1){top:14px}
.burger__bar:nth-child(2){top:21px}
.burger__bar:nth-child(3){top:28px}
.menu-open .burger__bar:nth-child(1){top:21px; transform:rotate(45deg)}
.menu-open .burger__bar:nth-child(2){opacity:0}
.menu-open .burger__bar:nth-child(3){top:21px; transform:rotate(-45deg)}

/* ===== Мобильная панель без затемнения ===== */
@media (max-width: 992px){
  .header__cta--desktop{ display:none; } /* правая кнопка прячется на мобиле */
  .burger{display:inline-block}

  .nav{
    position:fixed;
    top:87px;              /* высота шапки */
    right:-100%;
    width:min(88vw, 360px);
    max-height:calc(100dvh - 120px); /* снизу остаётся зазор */
    overflow:auto;         /* прокрутка внутри панели */
    display:flex; flex-direction:column; align-items:stretch; gap:12px;
    background:#fff;
    box-shadow:-12px 16px 32px rgba(0,0,0,.18);
    padding:20px;
    border-radius:0 0 0 20px;
    border-left:1px solid rgba(0,0,0,.06);
    transition:right .28s ease;
  }
  .nav__list{flex-direction:column; gap:4px}
  .nav__link{padding:12px 10px; font-size:16px}
  .nav__cta{margin-top:8px}

  .menu-open .nav{ right:0; }

  /* полное отключение backdrop, если вдруг остался в разметке */
  .nav-backdrop{ display:none !important; }
}

/* ===== Десктоп ===== */
@media (min-width: 993px){
  .burger{ display:none; }                 /* бургер скрыт на ПК */
  .nav{ justify-content:center; flex:1; }  /* меню по центру */
  .nav__cta{ display:none; }               /* CTA внутри панели скрываем */
  .header__cta--desktop{ display:inline-flex; } /* правая кнопка показывается */
}

/* доступность: отключение анимаций */
@media (prefers-reduced-motion: reduce){
  .burger__bar, .nav, .btn{ transition:none }
}

@media (max-width: 992px){
  .header__row{
    grid-template-columns: auto 1fr auto; /* Лого | пустое пространство | бургер */
  }

  .burger{
    justify-self: end; /* бургер прижимаем к правому краю */
  }
}

/* ===== HERO ===== */
/* ===== HERO ===== */
.hero{
  padding:60px 0;
}
.hero__row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  align-items:center;
  gap:40px;
}
.hero__title{
  font-size:36px;
  font-weight:800;
  line-height:1.2;
  margin:0 0 16px;
}
.hero__subtitle{
  font-size:18px;
  color:var(--muted);
  margin:0 0 24px;
}
.hero__cta{
  font-size:16px;
  font-weight:700;
}

/* Фото в круге с золотой рамкой */
.hero__image{
  position:relative;
  display:inline-block;
}

.hero__image::before{
  content:"";
  position:absolute;
  inset:auto -20px 20px -20px; /* увеличили нижний отступ с 20px до 40px */
  height:3px;
  background:linear-gradient(90deg, #d4af37, #ffd700);
  transform:rotate(-8deg);
  box-shadow:0 2px 6px rgba(0,0,0,0.08);
  border-radius:2px;
}


.hero__image img{
  width:380px;
  height:380px;
  object-fit:cover;
  border-radius:8px;
  box-shadow:0 6px 18px rgba(0,0,0,0.15);
  background:#fff;
}

.hero__label{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px;
  font-size:12px; font-weight:700; letter-spacing:.4px;
  color:#1b1b1f;
  background:rgba(255,215,0,.18);
  border:1px solid rgba(212,175,55,.45); /* золото, но деликатно */
  border-radius:999px;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
}
.hero__label::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:linear-gradient(90deg,#d4af37,#ffd700);
}
@media (max-width:768px){
  .hero__label{ font-size:11px; padding:5px 9px; }
}

/* Мобилка */
@media (max-width:768px){
  .hero__image img{
    width:260px;
    height:260px;
  }
  .hero__image::before{
    inset:auto -14px 14px -14px;
    height:2px;
  }
}



/* Мобильная адаптация */
@media (max-width: 768px){
  .hero__row{
    grid-template-columns: 1fr;
    text-align:center;
  }
  .hero__image{
    order:-1; /* фото над текстом */
  }
  .hero__image img{
    width:240px;
    height:240px;
  }
}

/* ===== Секция "О событии about" ===== */
/* ===== ABOUT ===== */
/* Фон секции: лёгкая полоса светло-серого снизу */
.about{
  position:relative;
  padding:80px 0;
  background:#ffffff;        /* чистый фон, подложки дадим псевдо‑элементами */
  overflow:hidden;        /* чтобы декоративные элементы не вылезали за края */
}

/* мягкое золотое пятно за коллажем (слева внизу) */
.about::before{
  content:"";
  position:absolute;
  inset:auto 40% -140px -160px;   /* x: слева, y: снизу */
  height:420px;                   /* эллипс */
  background:radial-gradient(60% 60% at 40% 40%, rgba(255,215,0,.22), rgba(255,215,0,0) 70%);
  filter:blur(18px);
  pointer-events:none;
  z-index:0;
}

/* тонкая диагональная линия у нижнего края секции (эха из hero) */
.about::after{
  content:"";
  position:absolute;
  left:10%; right:-10%; bottom:6px;
  height:2px;
  background:linear-gradient(90deg,#d4af37,#ffd700);
  transform:rotate(-2.5deg);
  opacity:.35;
  border-radius:2px;
  pointer-events:none;
  z-index:0;
}

/* вертикальный разделитель между коллажем и текстом на десктопе */
.about__row{ position:relative; z-index:1; }  /* контент поверх декора */
.about__row::after{
  content:"";
  position:absolute;
  top:0; bottom:0; left:50%;
  width:1px;
  background:linear-gradient(to bottom, transparent, rgba(0,0,0,.08) 25%, rgba(0,0,0,.08) 75%, transparent);
  transform:translateX(-20px);  /* немного смещаем к тексту, чтобы не резало коллаж */
}

/* маленькая “золотая точка”-акцент у коллажа */
.about__gallery::after{
  content:"";
  position:absolute;
  right:-8px; top:-8px;
  width:10px; height:10px;
  border-radius:50%;
  background:var(--gold);
  opacity:.9;
}

.about__list{
  list-style:none;
  padding:0;
  margin:16px 0 12px;
}
.about__list li{
  position:relative;
  padding-left:28px;
  margin:10px 0;
}
.about__list li::before{
  content:"";
  position:absolute;
  left:0; top:11px;
  width:10px; height:10px;
  border-radius:50%;
  background:var(--gold);
}


/* === CAROUSEL (about) === */
.about__carousel{ position:relative; }

.carousel{
  position:relative;
  background:#fff;
  border-radius:14px;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  overflow:hidden;
}

.crsl__viewport{ overflow:hidden; width:100%; }
.crsl__track{
  display:flex;
  margin:0; padding:0; list-style:none;
  transition: transform .35s ease;
  will-change: transform;
}
.crsl__slide{
  flex:0 0 100%;
  user-select:none;
}
.crsl__slide picture, .crsl__slide img{
  display:block; width:100%; height:auto; object-fit:cover;
}

/* Стрелки */
.crsl__arrow{
  position:absolute; top:50%;
  transform:translateY(-50%);
  width:40px; height:40px;
  border:0; border-radius:50%;
  background:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.18);
  cursor:pointer;
  font-size:22px; font-weight:800; line-height:40px;
  text-align:center; color:#000;
  z-index:2;
}
.crsl__arrow--prev{ left:10px; }
.crsl__arrow--next{ right:10px; }
.crsl__arrow:hover{ background:#fff7cc; }

/* Точки */
.crsl__dots{
  position:absolute; left:50%; bottom:10px; transform:translateX(-50%);
  display:flex; gap:8px; z-index:2;
}
.crsl__dots button{
  width:8px; height:8px; border-radius:50%;
  border:0; background:rgba(0,0,0,.25);
  cursor:pointer;
}
.crsl__dots button[aria-current="true"]{
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(255,215,0,.25);
}

/* Свайп-индикатор (необяз.) при таче можно слегка затемнять фон — оставим дефолт */

/* Мобилка: стрелки чуть меньше */
@media (max-width:768px){
  .crsl__arrow{ width:36px; height:36px; line-height:36px; font-size:20px; }
}


/* Заголовок с тонкой золотой линией */
.section-title{
  font-size:32px; font-weight:800; margin:0 0 24px;
  position:relative;
  line-height:1.2;
}
/* золотая линия + точка-акцент слева */
.section-title::after{
  content:""; position:absolute; left:18px; bottom:-10px;
  width:56px; height:3px; background:var(--gold); border-radius:2px;
}
.section-title::before{
  content:""; position:absolute; left:0; bottom:-12px;
  width:8px; height:8px; border-radius:50%; background:var(--gold);
}

/* модификатор для центрированных заголовков (если пригодится позже) */
.section-title--center{ text-align:center; }
.section-title--center::before{ left:50%; transform:translateX(-40px); }
.section-title--center::after{ left:calc(50% - 22px); }


/* Параграфы и список — уже были; добавим немного цвета маркерам */
.about__list li::before{ background:var(--gold); }

/* Чипы-инфо */
.about__chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.chip{
  padding:8px 12px; border:1px solid rgba(0,0,0,.08);
  background:#fff; font-size:14px; border-radius:8px;
}
/* Сетка секции */
.about__row{
  display:grid;
  grid-template-columns: 1fr 1fr; /* коллаж | текст */
  gap:40px;
  align-items:center;
}

/* КОЛЛАЖ */
.about__gallery{
  display:grid;
  grid-template-areas:
    "large smallTop"
    "large smallBottom";
  grid-template-columns: 2fr 1fr;
  gap:12px;
  position:relative;
}
.about__img{
  overflow:hidden;
  border-radius:14px;
  position:relative;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.about__img img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .35s ease;
  filter:grayscale(.1); /* лёгкое выравнивание по стилю */
}
.about__img:hover img{ transform:scale(1.03); }

/* размеры плиток */
.about__img--large{ grid-area: large; min-height:360px; }
.about__img--small{ min-height:170px; }
.about__img--top{ grid-area: smallTop; }
.about__img--bottom{ grid-area: smallBottom; }

/* аккуратный фирменный акцент за большим фото */
.about__img--large::after{
  content:""; position:absolute; left:-12px; right:-12px; bottom:-10px; height:2px;
  background:linear-gradient(90deg, #d4af37, #ffd700);
  transform:rotate(-3deg); opacity:.45; border-radius:2px;
  z-index:-1;
}

/* Текстовая колонка */
.about__content p{
  font-size:16px; line-height:1.65; margin:0 0 16px;
}

/* Чипы уже есть — оставляем */

@media (max-width: 992px){
  .about{ background:transparent; padding:56px 0; }
  .about__row{ grid-template-columns:1fr; gap:28px; }
  .about__gallery{
    grid-template-areas:
      "large"
      "smallTop"
      "smallBottom";
    grid-template-columns:1fr;
  }
}



/* Адаптив */
@media (max-width: 992px){
  .about{ background:transparent; padding:56px 0; }
  .about__row{ grid-template-columns:1fr; gap:28px; text-align:left; }
  .about__image{ order:-1; }
  .about__chips{ gap:6px; }
}

/* ===== Секция Таймер COUNTDOWN  ===== */
/* ===== COUNTDOWN ===== */
.countdown{
  position:relative;
  padding:28px 0 36px;
  background:linear-gradient(180deg, #fff, #fbfbfb);
  border-top:1px solid rgba(0,0,0,.04);
  border-bottom:1px solid rgba(0,0,0,.04);
}
.countdown__title{
  margin:0 0 16px;
  font-size:22px; font-weight:800;
}
.countdown__grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(120px,1fr));
  gap:14px;
}
.cd__item{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  padding:18px 12px;
  border-radius:12px;
  text-align:center;
  position:relative;
}
.cd__item::before{
  content:""; position:absolute; left:0; right:0; top:-1px; height:3px;
  background:var(--gold);
  border-radius:12px 12px 0 0;
}
.cd__value{
  font-size:40px; font-weight:800; line-height:1;
  font-variant-numeric: tabular-nums; /* ровные цифры */
}
.cd__label{
  margin-top:6px; font-size:13px; color:var(--muted);
}

/* Мобилка */
@media (max-width: 768px){
  .countdown__grid{ grid-template-columns: repeat(2, minmax(120px,1fr)); }
}

/* ===== Секция "О спикере" speaker ===== */
/* ===== SPEAKER ===== */
/* ===== SPEAKER ===== */
.speaker{
  position:relative;
  padding:80px 0;
  background:linear-gradient(180deg,#fff 0%, #fff 30%);
}
.speaker__row{
  display:grid;
  grid-template-columns: 420px 1fr; /* фото | текст */
  gap:40px;
  align-items:center;
  position:relative;
}



/* фото-карточка */
.speaker__photo{
  position:relative;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.06);
  display:inline-block;
}

.speaker__photo::before{
  content:"";
  position:absolute;
  top:-12px; left:-12px; right:-12px; bottom:-12px;
  border:2px solid var(--gold);
  border-radius:20px;
  z-index:-1;
}

.speaker__photo img{
  display:block; width:100%; height:auto;
  border-radius:16px;
  object-fit:cover;
}


/* текст */
.speaker__name{
  font-size:26px; font-weight:800; margin:8px 0 14px;
}
.speaker__facts{
  list-style:none; padding:0; margin:0 0 16px;
}
.speaker__facts li{
  position:relative; padding-left:26px; margin:8px 0;
}
.speaker__facts li::before{
  content:""; position:absolute; left:0; top:10px; width:10px; height:10px; border-radius:50%; background:var(--gold);
}
.speaker__chips{ display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 18px; }
.speaker .chip{ border-radius:8px; }

/* ссылки */
.speaker__links{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.speaker__links .link{
  text-decoration:none; color:var(--text); padding:8px 10px; border-radius:8px;
  border:1px solid rgba(0,0,0,.06); background:#fff;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.speaker__links .link:hover{
  background:#fff7cc; /* мягкое золото */
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(0,0,0,.08);
}

/* адаптив */
@media (max-width: 1100px){
  .speaker__row{ grid-template-columns: 360px 1fr; }
  .speaker__row::after{ left:360px; }
}
@media (max-width: 900px){
  .speaker{
    padding:56px 0;
    background:#fff;
  }
  .speaker__row{
    grid-template-columns: 1fr;
    gap:20px;
  }
  .speaker__row::after{ display:none; }
  .speaker__photo{ max-width:380px; margin:0 auto; }
  .speaker__links{ justify-content:center; }
  .speaker__name { text-align:center; }
  .speaker__facts { text-align:left; }
}
/* ===== DECOR UTILITIES ===== */
.section{ position:relative; overflow:hidden; }

/* «пятно» (мягкое золотое) слева вверху */
.section--blob-left::before{
  content:""; position:absolute; top:-120px; left:-160px;
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%, rgba(255,215,0,.20), rgba(255,215,0,0) 70%);
  filter:blur(10px); pointer-events:none; z-index:0;
}

/* «пятно» справа внизу */
.section--blob-right::after{
  content:""; position:absolute; right:-180px; bottom:-160px;
  width:560px; height:560px; border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%, rgba(255,215,0,.16), rgba(255,215,0,0) 70%);
  filter:blur(12px); pointer-events:none; z-index:0;
}

/* тонкая диагональная золотая линия у низа секции */
.section--gold-stripe::before{
  content:""; position:absolute; left:6%; right:-6%; bottom:8px;
  height:2px; background:linear-gradient(90deg,#d4af37,#ffd700);
  transform:rotate(-2.5deg); opacity:.35; border-radius:2px; z-index:0;
}

/* рассеянные «точки» справа (очень деликатно) */
.section--dots-right::after{
  content:""; position:absolute; right:40px; top:40px; width:120px; height:120px;
  background-image: radial-gradient(rgba(0,0,0,.08) 1px, transparent 1px);
  background-size: 10px 10px;
  border-radius:12px;
  opacity:.35; filter:blur(.2px); pointer-events:none; z-index:0;
}

/* адаптив — чуть слабее декор на мобилке */
@media (max-width: 992px){
  .section--blob-left::before,
  .section--blob-right::after{ opacity:.7; transform:scale(.8); }
  .section--gold-stripe::before{ opacity:.25; left:10%; right:-10%; }
  .section--dots-right::after{ right:24px; top:24px; transform:scale(.8); }
}

/* ===== BACKGROUND VARIANTS ===== */

/* светло-серый фон */
.bg-light{
  background-color: #fafafa;
}

/* светлый золотистый градиент */
.bg-gold-soft{
  background:linear-gradient(180deg, rgba(255,215,0,0.08) 0%, rgba(255,215,0,0) 100%);
}

/* градиент сверху вниз: белый → серый */
.bg-white-to-light{
  background:linear-gradient(180deg, #fff 0%, #fff 100%);
}



/* ===== TIMELINE ===== */
.program-timeline{
  position:relative;
  background:#070e20; /* базовый тёмный фон */
  padding:80px 0;
  color:#fff;
  overflow:hidden;
}

.program-timeline::before{
  content:"";
  position:absolute;
  top:-150px; left:-200px;
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(255,215,0,0.15) 0%, transparent 70%);
  filter:blur(20px);
  z-index:0;
}

.program-timeline::after{
  content:"";
  position:absolute;
  bottom:-150px; right:-200px;
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(255,215,0,0.12) 0%, transparent 70%);
  filter:blur(20px);
  z-index:0;
}

.program-timeline .bg-pattern{
  position:absolute;
  inset:0;
  background-image: radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity:0.2;
  z-index:0;
}

.timeline{
  position:relative;
  margin-top:40px;
  padding:0 20px;
}
.timeline::before{
  content:"";
  position:absolute;
  top:0; bottom:0;
  left:50%;
  width:3px;
  background:linear-gradient(to bottom, transparent, #d4af37, #ffd700, transparent);
  transform:translateX(-50%);
  box-shadow:0 0 20px rgba(255,215,0,0.4);
  z-index:1;
}

/* Элемент */
.timeline__item{
  display:flex;
  align-items:center;
  margin-bottom:60px;
}
.timeline__item:last-child{
  margin-bottom:0;
}

/* точка на линии */
.timeline__point{
  width:18px; height:18px;
  border-radius:50%;
  background:var(--gold);
  border:3px solid #1b1b1f;
  box-shadow:0 0 0 4px rgba(255,215,0,.3);
  z-index:1;
}

/* Контент слева */
.timeline__content{
  background:#222;
  padding:20px 24px;
  border-radius:12px;
  box-shadow:0 6px 16px rgba(0,0,0,.3);
  max-width:400px;
}
.timeline__title{
  font-size:18px;
  font-weight:700;
  margin-bottom:8px;
  color:var(--gold);
}
.timeline__text{
  font-size:15px;
  line-height:1.5;
  color:#ccc;
}

/* Слева */
.timeline__item:not(.timeline__item--right) .timeline__content{
  margin-right:auto;
  order:1;
}
.timeline__item:not(.timeline__item--right) .timeline__point{
  margin-left:20px;
}

/* Справа */
.timeline__item--right{
  flex-direction:row-reverse;
}
.timeline__item--right .timeline__content{
  margin-left:auto;
  order:1;
}
.timeline__item--right .timeline__point{
  margin-right:20px;
}

/* Мобилка */
@media (max-width:768px){
  .timeline::before{ left:12px; }
  .timeline__item,
  .timeline__item--right{
    flex-direction:row;
    margin-left:20px;
  }
  .timeline__point{
    margin:0 12px 0 0 !important;
  }
  .timeline__content{
    max-width:100%;
  }
}

/* ===== BG PREMIUM ===== */
.bg-gold-premium{
  background:
    linear-gradient(180deg, rgba(255,215,0,0.15) 0%, rgba(255,215,0,0) 100%),
    radial-gradient(circle at top right, rgba(255,215,0,0.12), transparent 70%),
    #fff;
  position:relative;
  overflow:hidden;
}
.bg-gold-premium::before{
  content:""; position:absolute; inset:0;
  background-image: radial-gradient(rgba(0,0,0,.04) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity:.25;
}

/* ===== PRICES ===== */
/* ===== PRICES ===== */
.prices{
  padding:80px 0;
}
.prices__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap:32px;
  margin-top:40px;
}
.price-card{
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.05);
  display:flex;
  flex-direction:column;
  transition:transform .3s ease, box-shadow .3s ease;
}

.price-card:hover{
  transform:translateY(-8px);
  box-shadow:0 14px 30px rgba(0,0,0,.12);
}
.price-card__header{
  background:linear-gradient(90deg, #d4af37, #ffd700);
  color:#000;
  font-weight:700;
  font-size:20px;
  text-align:center;
  padding:16px;
  letter-spacing:.3px;
}
.price-card__body {
  padding: 28px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 18px;
}

.price-card__body .btn {
  margin-top: auto; /* прижимаем кнопку к низу */
}

.price-card__price{
  font-size:28px;
  font-weight:800;
  color:var(--text);
}
.price-card__price span{
  display:block;
  font-size:14px;
  font-weight:400;
  color:var(--muted);
}
.price-card__old{
  position:relative;
  font-size:20px;
  font-weight:500;
  color:#555; /* темнее для читаемости */
  margin: 4px 0 6px; /* отступы для лучшего восприятия */
  
}

.price-card__old::after{
  content:"";
  position:absolute;
  left:0; right:0;
  top:50%;
  height:1.5px;
  background:rgba(0,0,0,0.5); /* тёмно-серый штрих */
  transform:translateY(-50%);
}

.price-card__list{
  list-style:none;
  padding:0;
  margin:0;
  text-align:left;
  width:100%;
}
.price-card__list li{
  position:relative;
  padding-left:22px;
  margin-bottom:10px;
  font-size:15px;
  color:var(--text);
}
.price-card__list li::before{
  content:"";
  position:absolute;
  left:0; top:8px;
  width:8px; height:8px;
  border-radius:50%;
  background:var(--gold);
}

/* если внутри карточки кнопка в <form> */
.price-card__body form{
  margin-top: auto;              /* прижимаем форму (а вместе с ней кнопку) к низу */
  width: 100%;
  display: flex;                 /* центрируем кнопку */
  justify-content: center;
}

/* если где-то кнопка без формы — тоже прижмётся */
.price-card__body > .btn{
  margin-top: auto;
}

/* ===== тема ABOUT Dark theme for a section ===== */
.theme-dark{
  color:#fff;                      /* базовый цвет текста в секции */
  background:#070e20;                 /* если нужно, можно убрать — у тебя уже фон есть */
}
.theme-dark .section-title{ color:#fff; }
.theme-dark p,
.theme-dark li{ color:#e6e6e6; }   /* обычные тексты/списки светлее */

.theme-dark .about__list li::before{ background:var(--gold); } /* маркеры остаются золотыми */

/* Чипы-инфо: инвертируем под тёмный фон */
.theme-dark .about__chips .chip{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

/* Ссылки внутри тёмной секции */
.theme-dark a{ color:#fff; }
.theme-dark a:hover{ opacity:.9; }


/* ===== Секция КОНТАКТЫ ===== */

/* ===== CONTACTS BRIEF ===== */
.contacts-brief{ padding:64px 0; }
.contacts-brief__wrap{ max-width:900px; }
.contacts-brief__list{ list-style:none; margin:16px 0 0; padding:0; }
.contacts-brief__list li{
  display:flex; flex-wrap:wrap; gap:8px 12px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.contacts-brief__list li:last-child{ border-bottom:none; }
.cbl-label{ color:var(--muted); min-width:110px; }
.cbl-link{
  text-decoration:none; color:var(--text);
  padding:4px 8px; border-radius:8px;
  transition:background .2s ease;
}
.cbl-link:hover{ background:rgba(255,215,0,.18); }


/* FOTER */

/* ===== FOOTER ===== */
.footer{
  background:#070e20;
  color:#ddd;
  font-size:14px;
  padding-top:48px;
}
.footer__row{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:40px;
  padding-bottom:32px;
}
.footer__logo{
  width:300px; height:auto;
  display:block; margin-bottom:12px;
}
.footer__desc{
  color:#aaa;
  line-height:1.5;
}
.footer__title{
  font-size:16px;
  font-weight:700;
  color:var(--gold);
  margin-bottom:12px;
}
.footer__menu,
.footer__contacts{
  list-style:none;
  padding:0;
  margin:0;
}
.footer__menu li,
.footer__contacts li{
  margin-bottom:8px;
}
.footer__menu a,
.footer__contacts a{
  color:#ddd;
  text-decoration:none;
  transition:color .2s ease;
}
.footer__menu a:hover,
.footer__contacts a:hover{
  color:var(--gold);
}

.footer__bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:16px 0;
  text-align:center;
  font-size:13px;
  color:#777;
}

@media (max-width: 768px){
  .footer__row{
    grid-template-columns:1fr;
    text-align:center;
  }
}


/* ===== СТРЕЛКА ВВРЕХ ===== */

/* Тень у хедера при скролле */
.header.scrolled{
  box-shadow: var(--shadow);
  border-bottom-color: rgba(0,0,0,.10);
}

/* Стрелка: скрыта по умолчанию */
.scroll-top{
  position: fixed;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 16px);
  right:  calc(env(safe-area-inset-right,  0px) + 16px);
  width: 44px; height: 44px;
  background: var(--gold);
  color:#000;
  font-size: 22px; font-weight: 800; line-height: 44px;
  text-align:center;
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, opacity .2s ease;
  z-index: 5000;
  display: none;   /* ВАЖНО: по умолчанию скрыта */
}

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

/* Показываем, когда JS добавит класс */
.scroll-top.show{
  display: flex;
  align-items:center;
  justify-content:center;
}

/* когда открыт бургер — не показываем стрелку */
.menu-open .scroll-top{ display: none !important; }

/* Модалка */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.modal.show {
  display: flex;
}

.modal__content {
  background: #fff;
  padding: 20px 30px;
  border-radius: 10px;
  max-width: 400px;
  width: 100%;
  box-shadow: 0 5px 15px rgba(0,0,0,0.2);
  animation: modalFade 0.3s ease;
}

.modal__content h3 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 20px;
}

.modal__content label {
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
}

.modal__content input[type="text"],
.modal__content input[type="tel"],
.modal__content input[type="email"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
}

.checkbox {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
}

.modal__close {
  position: absolute;
  right: 15px;
  top: 15px;
  background: transparent;
  border: none;
  font-size: 24px;
  cursor: pointer;
}

@keyframes modalFade {
  from { transform: translateY(-20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}



