/* ============== Vars & Base ============== */
:root{
  --header-h: 82px;   /* фактическая высота шапки в десктопе */
  --bar-h: 42px;      /* высота бегущей строки */
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; scrollbar-gutter:stable; }

body{
  background:#000; color:#fff; line-height:1.6;
  font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  /* пространство под фикс-хедер + бегущую строку (только на главной) */
  padding-top: calc(var(--header-h) + var(--bar-h));
}

.container{ max-width:1200px; margin:0 auto; padding:0 20px; }
section{ padding:80px 0; text-align:center; }

h1,h2,h3{ font-weight:700; margin-bottom:20px; line-height:1.2; }
h1{ font-size:3.5rem; }
h2{ font-size:2.5rem; }
p { font-size:1.2rem; margin:0 auto 20px; max-width:800px; }

/* ============== Header ============== */
.header{
  background:#111;
  padding-block:8px;                  /* тоньше шапка */
  padding-inline:20px;
  display:flex; justify-content:space-between; align-items:center;
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  box-shadow:0 2px 10px rgba(0,0,0,.3);
}
.logo-link{ display:inline-flex; align-items:center; }
.header .logo{ height:54px; width:auto; image-rendering:auto; }

.nav-menu{ display:flex; list-style:none; gap:25px; }
.nav-link{
  color:#fff; text-decoration:none; font-size:1rem; transition:color .3s;
  white-space:nowrap;               /* не ломаемся в 2 строки */
}
.nav-link:visited{ color:#fff; }
.nav-link:hover{ color:#00ff99; }
/* активный пункт меню */
.nav-link.active{ color:#00ff99; position:relative; }
.nav-link.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px;
  background:#00ff99; border-radius:2px;
}

.contact-info{ display:flex; align-items:center; gap:20px; }
.lang-switcher{ display:flex; gap:5px; }
.lang-btn{ color:#fff; text-decoration:none; padding:5px 10px; border-radius:3px; transition:background .3s; }
.lang-btn.active{ background:#00ff99; color:#000; }

/* соц. иконки в шапке */
.social-icons{ display:flex; gap:12px; align-items:center; }
.social{ color:#fff; font-size:1.2rem; opacity:.9; transition:color .2s, opacity .2s, transform .15s; }
.social:hover{ color:#00ff99; opacity:1; transform:translateY(-1px); }

/* Центровка и адаптивный размер меню */
.nav-menu{
  flex:1 1 auto;
  min-width:0;
  justify-content:center;
  gap: clamp(16px, 1.8vw, 28px);
}
@media (max-width:1500px){
  .nav-link{ font-size: clamp(0.92rem, 1.0vw, 1rem); }
  .nav-menu{ gap: clamp(14px, 1.4vw, 24px); }
}
@media (max-width:1366px){
  .header .logo{ height:58px; }
  .nav-menu{ gap: clamp(12px, 1.2vw, 20px); }
  .nav-link{ font-size: clamp(0.9rem, 1.05vw, 0.96rem); }
}
@media (max-width:1180px){
  .header{ flex-wrap:wrap; gap:10px; }
  .nav-menu{
    order:2; width:100%; justify-content:center; flex-wrap:wrap;
    gap:12px 18px;
  }
  .contact-info{ order:3; width:100%; justify-content:center; }
  /* виртуально увеличиваем высоту шапки, чтобы тикер не наезжал */
  :root{ --header-h: 132px; }
}

/* ============== Announcement bar (бегущая строка) ============== */
.announce-bar{
  position:fixed; left:0; right:0; top:var(--header-h);
  height:var(--bar-h);
  z-index:999;                   /* ниже шапки, выше контента */
  padding:0 18px;
  line-height:calc(var(--bar-h) - 2px);
  overflow:hidden;
  color:#f3f3f3;
  font-size:15px; font-weight:500; letter-spacing:.2px;
  background:linear-gradient(180deg,#141414,#0f0f10); /* немного темнее шапки */
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.announce-bar.is-hidden{
  transform:translateY(-100%); opacity:.25; pointer-events:none;
  transition:transform .24s ease, opacity .24s ease;
}
.announce-track{
  display:inline-block; white-space:nowrap; vertical-align:middle;
  padding-left:100%;                 /* старт за левым краем */
  animation:tl-marquee 24s linear infinite;
}
.announce-bar:hover .announce-track{ animation-play-state: paused; }
@keyframes tl-marquee{ 0%{transform:translateX(0)} 100%{transform:translateX(-100%)} }
@media (prefers-reduced-motion: reduce){ .announce-track{ animation:none !important; } }

/* ============== HERO (плашка снизу слева) ============== */
.hero{
  position:relative;
  background-color:#000; /* без background:url(...) */
  min-height: clamp(560px, calc(100svh - var(--header-h) - var(--bar-h)), 900px);
  display:flex; align-items:flex-end;
  padding-top:0;
  padding-bottom:clamp(40px, 8vh, 80px);
  overflow:hidden;
}
.hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,.25) 60%, transparent 100%);
  pointer-events:none; z-index:1;
}

/* ============== HERO (плашка, заголовки) ============== */
.hero-pill{
  position:absolute;
  left:clamp(16px, 3vw, 48px);
  bottom:clamp(24px, 6vh, 72px);
  max-width:min(1100px, 96vw);
  padding:clamp(18px, 3.2vw, 28px);
  border-radius:18px;
  background:transparent;
  border:none;
  backdrop-filter:none;
  box-shadow:none;
  z-index:2;
}

/* ВАЖНО: высоту берём из переменной, а дефолт делаем более высоким */
.hero-slides{
  position:relative;
  min-height: var(--hero-slider-h, clamp(180px, 24vw, 340px));
  display:grid;
  place-items:center;
  overflow:hidden;
  margin:0 0 12px;
}

.hero__slide{
  position:absolute; inset:0;
  display:grid; place-items:center;
  opacity:0; transform:translateY(8px);
  transition:opacity .55s ease, transform .55s ease;
  pointer-events:none;
}
.hero__slide.is-active{ opacity:1; transform:none; pointer-events:auto; z-index:1; }

/* Единый размер + запрет авто-дефисов + «умный» перенос строк */
.hero__slide h1{
  margin:0;
  text-align:left;
  line-height:1.18;
  font-weight:700;
  font-size:clamp(24px, 3.0vw, 40px);  /* чуть меньше верхний предел */
  color:#fff;
  letter-spacing:.2px;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
  text-wrap:balance;                   /* браузеры, где поддерживается */
  max-width:96vw;
}
.hero__slide h1.is-long{ font-size:inherit; }

/* Подсказочные <br class="br-md"> показываем только на ≥820px */
.br-md{ display:none; }
@media (min-width:820px){ .br-md{ display:inline; } }

/* Чуть увеличим дефолтную высоту на узких экранах */
@media (max-width:640px){
  .hero-slides{ min-height: var(--hero-slider-h, clamp(200px, 34vw, 380px)); }
}

/* Подзаголовок и кнопка */
.hero-sub{ margin:6px 0 16px; color:#cfcfcf; line-height:1.5; font-size:clamp(13px, 1.6vw, 16px); text-align:left; }
.btn,
a.btn, a.btn:link, a.btn:visited{
  display:inline-block; padding:12px 22px; border-radius:999px;
  background:linear-gradient(135deg,#00ffa3,#00c9a0);
  color:#000 !important; font-weight:700; text-decoration:none;
  transition:.2s transform, .2s box-shadow;
}
.btn:hover{ transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,255,163,.22); }

/* ============== Description Block ============== */
.description-block{ background:#111; padding:60px 0; text-align:center; }
.description-content{ max-width:1000px; margin:0 auto; padding:0 30px; text-align:justify; hyphens:auto; line-height:1.7; }
.description-content h2{ font-size:1.8rem; margin-bottom:25px; line-height:1.3; color:#fff; text-align:center; }
.description-content p{ font-size:1.15rem; margin-bottom:30px; color:#ccc; text-align:justify; }

/* ============== Features / Cards ============== */
.features{ background:#111; }
.grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:30px; margin-top:40px; }
.card{ background:#222; padding:25px; border-radius:10px; }

/* ============== Comparison table ============== */
.comparison{ background:#0a0a0a; }
table{ width:100%; max-width:900px; margin:40px auto; border-collapse:collapse; color:#fff; }
th,td{ padding:12px; border:1px solid #444; }
th{ background:#222; }

/* ============== Partnership list ============== */
.partnership ul{ list-style:none; margin-top:20px; text-align:left; max-width:700px; margin-left:auto; margin-right:auto; }
.partnership li{ margin-bottom:10px; padding-left:20px; position:relative; }
.partnership li:before{ content:"✓"; color:#00ff99; position:absolute; left:0; }

/* ============== Footer ============== */
.logo{ height:60px; margin-bottom:20px; }
.footer{ background:#000; color:#fff; text-align:center; padding:30px 0; border-top:1px solid #333; margin-top:80px; }
.footer .logo{ height:40px; margin-bottom:10px; }

/* ============== Catalog list / Product ============== */
.product-list{ counter-reset:prod; max-width:800px; margin:10px auto 0; padding-left:0; list-style:none; }
.product-item + .product-item{ margin-top:14px; }
.product-link{
  display:grid; grid-template-columns:60px 1fr 30px; align-items:center; gap:16px;
  padding:16px 18px; background:#151515; border:1px solid #262626; border-radius:10px;
  text-decoration:none; color:#fff; transition:transform .15s, border-color .2s, background .2s;
}
.product-link:hover{ transform:translateY(-1px); border-color:#00ff99; background:#1b1b1b; }
.product-num{ font-weight:700; font-size:1.2rem; color:#00ff99; letter-spacing:.03em; }
.product-name{ font-size:1.1rem; text-align:left; }
.product-arrow{ font-size:1.3rem; opacity:.8; }

.product .lead{ color:#ccc; max-width:820px; margin:8px auto 18px; }
.product-desc p{ color:#ddd; text-align:justify; }

/* Галерея */
.gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:1100px; margin:16px auto 0; }
.gallery img{ width:100%; height:100%; object-fit:cover; border-radius:8px; border:1px solid #2a2a2a; transition:transform .2s, box-shadow .2s; }
.gallery img:hover{ transform:scale(1.01); box-shadow:0 10px 30px rgba(0,0,0,.35); }

/* ============== Alerts ============== */
.alert{
  position:relative; display:flex; align-items:center; gap:10px;
  max-width:1000px; margin:0 auto 18px; padding:14px 16px;
  background:#101010; border:1px solid #1e1e1e; border-radius:10px;
}
.alert-success{
  border-color:#00ff99; background:rgba(0,255,153,.06); color:#bdfbe7;
  box-shadow:0 0 0 1px rgba(0,255,153,.25) inset;
}
.alert-icon{ color:#00ff99; }
.alert-close{
  position:absolute; right:10px; top:8px; width:28px; height:28px;
  display:grid; place-items:center; border:0; background:transparent;
  color:#93f7d8; cursor:pointer; border-radius:6px;
}
.alert-close:hover{ background:rgba(255,255,255,.05); }
.alert.is-hiding{ animation:fadeSlide .28s ease forwards; }
@keyframes fadeSlide{
  to{ opacity:0; transform:translateY(-6px); visibility:hidden; height:0; margin:0; padding-top:0; padding-bottom:0; }
}

/* ============== Contact chips ============== */
.chips{ display:flex; flex-wrap:wrap; gap:12px; }
.chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:9999px;
  background:#121212; border:1px solid #222; color:#e6e6e6;
  text-decoration:none; font-weight:600; transition:.2s;
  box-shadow:0 0 0 0 rgba(0,255,153,0);
}
.chip i{ color:#00ff99; }
.chip:hover{
  border-color:#00ff99;
  box-shadow:0 0 0 2px rgba(0,255,153,.15), 0 0 12px rgba(0,255,153,.12);
  transform:translateY(-1px);
}
.chip:active{ transform:translateY(0); box-shadow:none; }

/* ============== Responsive blocks ============== */
@media (max-width:992px){
  .gallery{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:880px){
  .hero-pill{ left:50%; transform:translateX(-50%); bottom:8vh; max-width:92vw; }
  .hero__slide h1, .hero-sub{ text-align:center; }
  .btn{ display:block; margin:0 auto; width:max-content; }
}
@media (max-width:768px){
  h1{ font-size:2.5rem; } h2{ font-size:2rem; } p{ font-size:1rem; }
  .header{ flex-direction:column; padding:10px; gap:15px; }
  .nav-menu{ width:100%; justify-content:space-around; flex-wrap:wrap; }
  .nav-link{ font-size:.9rem; }
  .contact-info{ flex-wrap:wrap; justify-content:center; }
  .social-icons{ order:3; }
}
@media (max-width:560px){
  .gallery{ grid-template-columns:1fr; }
  .product-link{ grid-template-columns:40px 1fr 20px; padding:14px; }
  .product-num{ font-size:1rem; }
  .product-name{ font-size:1rem; }
}

/* ============== Pairs slider ============== */
.pc-slider{ width:min(1080px, 90vw); margin:24px auto; text-align:center; }
.pc-viewport{
  position:relative; overflow:hidden; border-radius:14px;
  background:#0b0f12; border:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 26px rgba(0,0,0,.4);
}
.pc-track{ list-style:none; margin:0; padding:0; }

.pc-slide{ display:none; padding:10px; aspect-ratio: 2 / 1; }
.pc-slide.is-active{ display:block; animation:pc-fade .5s ease both; }
@keyframes pc-fade{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;} }

.pc-pair{
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
  align-items:stretch; justify-items:center;
}
.pc-card{
  position:relative; aspect-ratio:1 / 1; width:100%;
  border-radius:12px; overflow:hidden; background:#0b0f12;
  box-shadow:0 4px 16px rgba(0,0,0,.35); min-height:0;
}
.pc-photo{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 70%;
  transition:transform .6s ease, filter .6s ease;
  will-change:transform, filter;
}
.pc-slide.is-active .pc-photo{ filter:saturate(1.04); }
.pc-photo.pc-photo--contain{ object-fit:contain; background:#0b0f12; }

.pc-dots{ display:flex; gap:8px; justify-content:center; padding:8px 0 0; }
.pc-dots button{
  width:7px; height:7px; border-radius:50%;
  border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08);
  cursor:pointer;
}
.pc-dots button.is-active{ background:#00ff99; border-color:#00ff99; }

@media (max-width:640px){
  .pc-slide{ aspect-ratio:auto; padding:8px; }
  .pc-pair{ grid-template-columns:1fr; gap:8px; }
  .pc-card{ border-radius:10px; }
}

/* сброс на случай старых классов */
.pc-pair img{ position:absolute !important; height:100% !important; inset:0 !important; }

/* ============== Внутренние страницы ============== */
/* На внутренних страницах нет бегущей строки — компенсируем только шапку */
body.inner-page{ padding-top: var(--header-h); }
/* и убираем верхний паддинг у первого секционного блока */
body.inner-page .section:first-child,
body.inner-page main.section:first-child{
  margin-top:0; padding-top:0;
}
/* Контакты: свой вертикальный ритм */
body.inner-page .page-contact{ padding:20px 20px 80px; }
/* ============== Vars & Base ============== */
:root{
  --header-h: 82px;   /* фактическая высота шапки в десктопе */
  --bar-h: 42px;      /* высота бегущей строки */
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; scrollbar-gutter:stable; }

body{
  background:#000; color:#fff; line-height:1.6;
  font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  /* пространство под фикс-хедер + бегущую строку (только на главной) */
  padding-top: calc(var(--header-h) + var(--bar-h));
}

.container{ max-width:1200px; margin:0 auto; padding:0 20px; }
section{ padding:80px 0; text-align:center; }

h1,h2,h3{ font-weight:700; margin-bottom:20px; line-height:1.2; }
h1{ font-size:3.5rem; }
h2{ font-size:2.5rem; }
p { font-size:1.2rem; margin:0 auto 20px; max-width:800px; }

/* ============== Header ============== */
.header{
  background:#111;
  padding-block:8px;                  /* тоньше шапка */
  padding-inline:20px;
  display:flex; justify-content:space-between; align-items:center;
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  box-shadow:0 2px 10px rgba(0,0,0,.3);
}
.logo-link{ display:inline-flex; align-items:center; }
.header .logo{ height:54px; width:auto; image-rendering:auto; }

.nav-menu{ display:flex; list-style:none; gap:25px; }
.nav-link{
  color:#fff; text-decoration:none; font-size:1rem; transition:color .3s;
  white-space:nowrap;               /* не ломаемся в 2 строки */
}
.nav-link:visited{ color:#fff; }
.nav-link:hover{ color:#00ff99; }
/* активный пункт меню */
.nav-link.active{ color:#00ff99; position:relative; }
.nav-link.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px;
  background:#00ff99; border-radius:2px;
}

.contact-info {
  display: flex;
  align-items: center;
  gap: 20px;
}

/* ==== Переключатель языков (RU / EN) ==== */
.lang-switcher {
  display: flex;
  gap: 6px;
}

.lang-btn {
  color: #fff;
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 6px;
  transition: all .25s ease;
  font-weight: 600;
  font-size: 0.9rem;
  background: transparent;
  border: 1px solid transparent;
}

/* Неактивная кнопка при наведении */
.lang-btn:hover {
  background: rgba(0, 255, 163, 0.12);
  border-color: rgba(0, 255, 163, 0.25);
  color: #00ff99;
}

/* Активная кнопка (мягкий зелёный) */
.lang-btn.active {
  background: #00c88a;
  color: #000;
  border: 1px solid #00b87e;
  box-shadow: 0 0 6px rgba(0, 255, 163, 0.25);
}

/* При наведении на активную */
.lang-btn.active:hover {
  background: #00b87e;
  color: #000;
  border-color: #00a86d;
}

/* соц. иконки в шапке */
.social-icons{ display:flex; gap:12px; align-items:center; }
.social{ color:#fff; font-size:1.2rem; opacity:.9; transition:color .2s, opacity .2s, transform .15s; }
.social:hover{ color:#00ff99; opacity:1; transform:translateY(-1px); }

/* Центровка и адаптивный размер меню */
.nav-menu{
  flex:1 1 auto;
  min-width:0;
  justify-content:center;
  gap: clamp(16px, 1.8vw, 28px);
}
@media (max-width:1500px){
  .nav-link{ font-size: clamp(0.92rem, 1.0vw, 1rem); }
  .nav-menu{ gap: clamp(14px, 1.4vw, 24px); }
}
@media (max-width:1366px){
  .header .logo{ height:58px; }
  .nav-menu{ gap: clamp(12px, 1.2vw, 20px); }
  .nav-link{ font-size: clamp(0.9rem, 1.05vw, 0.96rem); }
}
@media (max-width:1180px){
  .header{ flex-wrap:wrap; gap:10px; }
  .nav-menu{
    order:2; width:100%; justify-content:center; flex-wrap:wrap;
    gap:12px 18px;
  }
  .contact-info{ order:3; width:100%; justify-content:center; }
  /* виртуально увеличиваем высоту шапки, чтобы тикер не наезжал */
  :root{ --header-h: 132px; }
}

/* ============== Announcement bar (бегущая строка) ============== */
.announce-bar{
  position:fixed; left:0; right:0; top:var(--header-h);
  height:var(--bar-h);
  z-index:999;                   /* ниже шапки, выше контента */
  padding:0 18px;
  line-height:calc(var(--bar-h) - 2px);
  overflow:hidden;
  color:#f3f3f3;
  font-size:15px; font-weight:500; letter-spacing:.2px;
  background:linear-gradient(180deg,#141414,#0f0f10); /* немного темнее шапки */
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.announce-bar.is-hidden{
  transform:translateY(-100%); opacity:.25; pointer-events:none;
  transition:transform .24s ease, opacity .24s ease;
}
.announce-track{
  display:inline-block; white-space:nowrap; vertical-align:middle;
  padding-left:100%;                 /* старт за левым краем */
  animation:tl-marquee 24s linear infinite;
}
.announce-bar:hover .announce-track{ animation-play-state: paused; }
@keyframes tl-marquee{ 0%{transform:translateX(0)} 100%{transform:translateX(-100%)} }
@media (prefers-reduced-motion: reduce){ .announce-track{ animation:none !important; } }

/* ============== HERO (плашка снизу слева) ============== */
.hero{
  position:relative;
  background:url('/assets/img/hero-bg.jpg') center center / cover no-repeat;
  background-color:#000;
  /* высота = окно - шапка - бегущая строка */
  min-height: clamp(560px, calc(100svh - var(--header-h) - var(--bar-h)), 900px);
  display:flex; align-items:flex-end;
  padding-top:0;                               /* отступ уже у body */
  padding-bottom:clamp(40px, 8vh, 80px);
  overflow:hidden;
}
.hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,.25) 60%, transparent 100%);
  pointer-events:none; z-index:1;
}

/* Плашка (адаптирована под длинные фразы) */
.hero-pill{
  position:absolute;
  left:clamp(16px, 3vw, 48px);
  bottom:clamp(24px, 6vh, 72px);
  max-width:min(980px, 94vw); /* было 760px → шире, чтобы фразы помещались */
  padding:clamp(18px, 3.2vw, 28px);
  border-radius:18px;
  background:transparent;
  border:none;
  backdrop-filter:none;
  box-shadow:none;
  z-index:2;
}

/* Слайды */
.hero-slides{
  position:relative;
  min-height:var(--hero-slider-h, 96px);
  display:grid;
  place-items:center;
  overflow:hidden;
  margin:0 0 12px;
}

.hero__slide{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .55s ease, transform .55s ease;
  pointer-events:none;
}
.hero__slide.is-active{
  opacity:1;
  transform:none;
  pointer-events:auto;
  z-index:1;
}

/* Заголовок с адаптацией длины */
.hero__slide h1{
  margin:0;
  text-align:left;
  line-height:1.18;
  font-weight:700;
  font-size:clamp(22px, 3.1vw, 42px); /* немного гибче диапазон */
  color:#fff;
  letter-spacing:.2px;
  hyphens:auto;
  word-break:keep-all;
  overflow-wrap:break-word;
  max-width:92ch; /* ограничиваем ширину текста, чтобы не вылазил */
}

/* Для особо длинных фраз */
.hero__slide h1.is-long{
  font-size:clamp(20px, 2.6vw, 36px);
  line-height:1.22;
}

/* Умный перенос */
.br-md{ display:none; }
@media (min-width:820px){
  .br-md{ display:block; height:0; }
}

/* Подзаголовок и кнопка */
.hero-sub{ margin:6px 0 16px; color:#cfcfcf; line-height:1.5; font-size:clamp(13px, 1.6vw, 16px); text-align:left; }
.btn,
a.btn, a.btn:link, a.btn:visited{
  display:inline-block; padding:12px 22px; border-radius:999px;
  background:linear-gradient(135deg,#00ffa3,#00c9a0);
  color:#000 !important; font-weight:700; text-decoration:none;
  transition:.2s transform, .2s box-shadow;
}
.btn:hover{ transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,255,163,.22); }

/* ============== Description Block ============== */
.description-block{ background:#111; padding:60px 0; text-align:center; }
.description-content{ max-width:1000px; margin:0 auto; padding:0 30px; text-align:justify; hyphens:auto; line-height:1.7; }
.description-content h2{ font-size:1.8rem; margin-bottom:25px; line-height:1.3; color:#fff; text-align:center; }
.description-content p{ font-size:1.15rem; margin-bottom:30px; color:#ccc; text-align:justify; }

/* ============== Features / Cards ============== */
.features{ background:#111; }
.grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:30px; margin-top:40px; }
.card{ background:#222; padding:25px; border-radius:10px; }

/* ============== Comparison table ============== */
.comparison{ background:#0a0a0a; }
table{ width:100%; max-width:900px; margin:40px auto; border-collapse:collapse; color:#fff; }
th,td{ padding:12px; border:1px solid #444; }
th{ background:#222; }

/* ============== Partnership list ============== */
.partnership ul{ list-style:none; margin-top:20px; text-align:left; max-width:700px; margin-left:auto; margin-right:auto; }
.partnership li{ margin-bottom:10px; padding-left:20px; position:relative; }
.partnership li:before{ content:"✓"; color:#00ff99; position:absolute; left:0; }

/* ============== Footer ============== */
.logo{ height:60px; margin-bottom:20px; }
.footer{ background:#000; color:#fff; text-align:center; padding:30px 0; border-top:1px solid #333; margin-top:80px; }
.footer .logo{ height:40px; margin-bottom:10px; }

/* ============== Catalog list / Product ============== */
.product-list{ counter-reset:prod; max-width:800px; margin:10px auto 0; padding-left:0; list-style:none; }
.product-item + .product-item{ margin-top:14px; }
.product-link{
  display:grid; grid-template-columns:60px 1fr 30px; align-items:center; gap:16px;
  padding:16px 18px; background:#151515; border:1px solid #262626; border-radius:10px;
  text-decoration:none; color:#fff; transition:transform .15s, border-color .2s, background .2s;
}
.product-link:hover{ transform:translateY(-1px); border-color:#00ff99; background:#1b1b1b; }
.product-num{ font-weight:700; font-size:1.2rem; color:#00ff99; letter-spacing:.03em; }
.product-name{ font-size:1.1rem; text-align:left; }
.product-arrow{ font-size:1.3rem; opacity:.8; }

.product .lead{ color:#ccc; max-width:820px; margin:8px auto 18px; }
.product-desc p{ color:#ddd; text-align:justify; }

/* Галерея */
.gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; max-width:1100px; margin:16px auto 0; }
.gallery img{ width:100%; height:100%; object-fit:cover; border-radius:8px; border:1px solid #2a2a2a; transition:transform .2s, box-shadow .2s; }
.gallery img:hover{ transform:scale(1.01); box-shadow:0 10px 30px rgba(0,0,0,.35); }

/* ============== Alerts ============== */
.alert{
  position:relative; display:flex; align-items:center; gap:10px;
  max-width:1000px; margin:0 auto 18px; padding:14px 16px;
  background:#101010; border:1px solid #1e1e1e; border-radius:10px;
}
.alert-success{
  border-color:#00ff99; background:rgba(0,255,153,.06); color:#bdfbe7;
  box-shadow:0 0 0 1px rgba(0,255,153,.25) inset;
}
.alert-icon{ color:#00ff99; }
.alert-close{
  position:absolute; right:10px; top:8px; width:28px; height:28px;
  display:grid; place-items:center; border:0; background:transparent;
  color:#93f7d8; cursor:pointer; border-radius:6px;
}
.alert-close:hover{ background:rgba(255,255,255,.05); }
.alert.is-hiding{ animation:fadeSlide .28s ease forwards; }
@keyframes fadeSlide{
  to{ opacity:0; transform:translateY(-6px); visibility:hidden; height:0; margin:0; padding-top:0; padding-bottom:0; }
}

/* ============== Contact chips ============== */
.chips{ display:flex; flex-wrap:wrap; gap:12px; }
.chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:9999px;
  background:#121212; border:1px solid #222; color:#e6e6e6;
  text-decoration:none; font-weight:600; transition:.2s;
  box-shadow:0 0 0 0 rgba(0,255,153,0);
}
.chip i{ color:#00ff99; }
.chip:hover{
  border-color:#00ff99;
  box-shadow:0 0 0 2px rgba(0,255,153,.15), 0 0 12px rgba(0,255,153,.12);
  transform:translateY(-1px);
}
.chip:active{ transform:translateY(0); box-shadow:none; }

/* ============== Responsive blocks ============== */
@media (max-width:992px){
  .gallery{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:880px){
  .hero-pill{
    left:50%;
    transform:translateX(-50%);
    bottom:8vh;
    max-width:92vw;
  }
  .hero__slide h1,
  .hero__slide h1.is-long,
  .hero-sub{
    text-align:center;
    font-size:clamp(20px, 4vw, 32px);
    line-height:1.22;
  }
  .btn{
    display:block;
    margin:0 auto;
    width:max-content;
  }
}

@media (max-width:768px){
  h1{ font-size:2.3rem; }
  h2{ font-size:1.9rem; }
  p{ font-size:1rem; }
  .header{
    flex-direction:column;
    padding:10px;
    gap:15px;
  }
  .nav-menu{
    width:100%;
    justify-content:space-around;
    flex-wrap:wrap;
  }
  .nav-link{ font-size:.9rem; }
  .contact-info{ flex-wrap:wrap; justify-content:center; }
  .social-icons{ order:3; }
}

@media (max-width:560px){
  .gallery{ grid-template-columns:1fr; }
  .product-link{
    grid-template-columns:40px 1fr 20px;
    padding:14px;
  }
  .product-num{ font-size:1rem; }
  .product-name{ font-size:1rem; }

  /* длинные фразы не ломают блок */
  .hero__slide h1,
  .hero__slide h1.is-long{
    font-size:clamp(18px, 5vw, 26px);
    text-align:center;
    line-height:1.3;
  }
}

/* ============== Pairs slider ============== */
.pc-slider{ width:min(1080px, 90vw); margin:24px auto; text-align:center; }
.pc-viewport{
  position:relative; overflow:hidden; border-radius:14px;
  background:#0b0f12; border:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 26px rgba(0,0,0,.4);
}
.pc-track{ list-style:none; margin:0; padding:0; }

.pc-slide{ display:none; padding:10px; aspect-ratio: 2 / 1; }
.pc-slide.is-active{ display:block; animation:pc-fade .5s ease both; }
@keyframes pc-fade{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;} }

.pc-pair{
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
  align-items:stretch; justify-items:center;
}
.pc-card{
  position:relative; aspect-ratio:1 / 1; width:100%;
  border-radius:12px; overflow:hidden; background:#0b0f12;
  box-shadow:0 4px 16px rgba(0,0,0,.35); min-height:0;
}
.pc-photo{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 70%;
  transition:transform .6s ease, filter .6s ease;
  will-change:transform, filter;
}
.pc-slide.is-active .pc-photo{ filter:saturate(1.04); }
.pc-photo.pc-photo--contain{ object-fit:contain; background:#0b0f12; }

.pc-dots{ display:flex; gap:8px; justify-content:center; padding:8px 0 0; }
.pc-dots button{
  width:7px; height:7px; border-radius:50%;
  border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08);
  cursor:pointer;
}
.pc-dots button.is-active{ background:#00ff99; border-color:#00ff99; }

@media (max-width:640px){
  .pc-slide{ aspect-ratio:auto; padding:8px; }
  .pc-pair{ grid-template-columns:1fr; gap:8px; }
  .pc-card{ border-radius:10px; }
}

/* сброс на случай старых классов */
.pc-pair img{ position:absolute !important; height:100% !important; inset:0 !important; }

/* ============== Внутренние страницы ============== */
/* На внутренних страницах нет бегущей строки — компенсируем только шапку */
body.inner-page{ padding-top: var(--header-h); }
/* и убираем верхний паддинг у первого секционного блока */
body.inner-page .section:first-child,
body.inner-page main.section:first-child{
  margin-top:0; padding-top:0;
}
/* Контакты: свой вертикальный ритм */
body.inner-page .page-contact{ padding:20px 20px 80px; }
/* ================== Inner pages (общие правила) ================== */
/* На внутренних страницах нет бегущей строки — компенсируем только высоту шапки */
body.inner-page { padding-top: var(--header-h); }

/* Первый блок на внутренних страницах не должен иметь лишних отступов сверху */
body.inner-page .section:first-child,
body.inner-page main.section:first-child {
  margin-top: 0;
  padding-top: 0;
}

/* ================== Contacts page ================== */
.page-contact { padding: 24px 0 80px; }               /* было 120px в инлайне */
.contact-head { text-align: center; margin-bottom: 28px; }

.contact-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:20px;
  max-width:1000px;
  margin:0 auto 28px;
}

.card{ background:#121212; border:1px solid #222; border-radius:12px; padding:18px; }
.card h3{ margin:0 0 8px; }

.social-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }

/* Форма */
.contact-wrap{ max-width:720px; margin:0 auto; }
.contact-form{
  background:#101010; border:1px solid #222; border-radius:14px;
  padding:20px; box-shadow:0 0 20px rgba(0,255,163,.06);
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
@media (max-width:680px){ .form-row{ grid-template-columns:1fr; } }

.field{ position:relative; }
.field i{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  color:#8a8a8a; pointer-events:none;
}
.input, .textarea{
  width:100%;
  padding:12px 14px 12px 42px;                   /* место под иконку */
  border:1px solid #2a2a2a; background:#171717; color:#fff;
  border-radius:10px; outline:none;
  transition:.2s border-color, .2s box-shadow;
}
.textarea{ min-height:160px; resize:vertical; padding-left:14px; } /* у textarea иконки нет */
.input:focus, .textarea:focus{
  border-color:#00ffa3; box-shadow:0 0 0 3px rgba(0,255,163,.15);
}

/* Кнопка формы использует общий .btn — ничего не нужно */

/* Карта */
.map-wrap{ width:100%; max-width:1000px; margin:0 auto 28px; border-radius:12px; overflow:hidden; border:1px solid #222; }
.map-wrap iframe{ display:block; width:100%; height:320px; border:0; }

/* Сообщения */
.muted{ color:#9a9a9a; font-size:.9rem; }
.alert{ position:relative; margin:0 auto 16px; padding:12px 16px; border-radius:10px; max-width:720px; border:1px solid transparent; }
.alert-success{ background:#0f1f19; border-color:#00ffa3; color:#a6ffde; }
.alert-error{ background:#1f1313; border-color:#ff6b6b; color:#ffd6d6; }
.alert-close{
  position:absolute; right:10px; top:8px; background:transparent; border:none; color:#a6ffde;
  font-size:18px; cursor:pointer; line-height:1;
}
.alert-close:hover{ color:#00ffa3; }
/* ===== Contacts: стили списка телефонов и ссылок в карточках ===== */
.card a { color: inherit; text-decoration: none; } /* убираем синий по умолчанию */
.card a:hover { text-decoration: underline; }

/* Список телефонов */
.phones-list { padding-left: 22px; margin: 10px 0 0; }
.phones-list li { margin: 10px 0; }
.phones-list strong { color: #eaeaea; }

.phones-list a {
  color: #00ffa3 !important;   /* фирменный акцент */
  font-weight: 600;
  text-decoration: none;
}
.phones-list a:hover { text-decoration: underline; }

/* Заголовки карточек с иконками */
.card h3 i { margin-right: 8px; color: #00ffa3; }
/* ================== Product page ================== */
body.inner-page main.product-page {
  padding: 40px 20px 100px;   /* одинаково с другими внутренними */
  text-align: center;
  color: #fff;
}

.product-page h1 {
  font-size: 2.2rem;
  margin-bottom: 20px;
}

.product-page p {
  max-width: 900px;
  margin: 0 auto 20px;
  line-height: 1.8;
  text-align: justify;
}

.product-page h2 {
  font-size: 1.6rem;
  margin-top: 60px;
  margin-bottom: 20px;
  color: #00ffa3;
  text-align: center;
}

/* Галерея для TANLine X15 */
.product-page .gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto;
}

.product-page .gallery img {
  width: 100%;
  border-radius: 10px;
  border: 1px solid #333;
  transition: transform .3s ease, box-shadow .3s ease;
}

.product-page .gallery img:hover {
  transform: scale(1.02);
  box-shadow: 0 0 20px rgba(0,255,163,.3);
}

/* Кнопка "Вернуться в каталог" */
.btn-main {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 999px;
  background: linear-gradient(135deg, #00ffa3, #00c9a0);
  color: #000 !important;
  font-weight: 700;
  text-decoration: none;
  border: none;
  transition: .2s transform, .2s box-shadow;
}

.btn-main:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0,255,163,.25);
}

/* Кнопка "Вернуться в каталог" — центр и нормальный отступ */
.product-page p.back-link {
  margin-top: clamp(60px, 8vh, 100px); /* адаптивный зазор сверху */
  text-align: center;
}

.product-page p.back-link .btn-main {
  display: inline-block;
  padding: 14px 36px;
  font-size: 1rem;
  border-radius: 999px;
}
/* ================== Tech page ================== */
body.inner-page main.tech-page{
  padding: 40px 20px 100px;   /* свой ритм, без инлайнов */
  text-align: center;
  color: #fff;
}
.tech-page h1{ font-size:2.4rem; margin-bottom:25px; }
.tech-page h2{ font-size:1.6rem; margin-top:60px; margin-bottom:12px; color:#00ffa3; }
.tech-page p{ max-width:900px; margin:0 auto 20px; line-height:1.8; }
.tech-page ul{
  display:inline-block; text-align:left; max-width:800px;
  margin:20px auto; padding-left:20px; line-height:1.8;
}
/* Кнопка «Связаться с нами» по центру с нормальным зазором */
.tech-page .cta-row{
  margin-top: clamp(50px, 6vh, 80px);
  text-align: center;
}
/* ================== Business page ================== */
body.inner-page main.business-page {
  padding: 40px 20px 100px;
  text-align: center;
  color: #fff;
}

.business-page h1 {
  font-size: 2.4rem;
  margin-bottom: 25px;
}

.business-page h2 {
  font-size: 1.6rem;
  margin-top: 60px;
  margin-bottom: 12px;
  color: #00ffa3;
}

.business-page p {
  max-width: 900px;
  margin: 0 auto 20px;
  line-height: 1.8;
}

.business-page ul {
  display: inline-block;
  text-align: left;
  max-width: 900px;
  margin: 20px auto;
  padding-left: 20px;
  line-height: 1.8;
}

/* Кнопка по центру с комфортным отступом */
.business-page .cta-row {
  margin-top: clamp(50px, 6vh, 80px);
  text-align: center;
}
/* ================== Partners page ================== */
body.inner-page main.partners-page {
  padding: 40px 20px 100px;
  text-align: center;
  color: #fff;
}

.partners-page h1 {
  font-size: 2.4rem;
  margin-bottom: 25px;
}

.partners-page p {
  max-width: 900px;
  margin: 0 auto 20px;
  line-height: 1.8;
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  max-width: 1000px;
  margin: 40px auto;
}

.partners-grid .card {
  background: #121212;
  border: 1px solid #222;
  border-radius: 12px;
  padding: 22px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.partners-grid .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 18px rgba(0,255,163,.12);
}

.partners-grid .card h3 {
  margin: 0 0 10px;
  color: #00ffa3;
}

.partners-grid .card p.muted {
  line-height: 1.6;
  color: #ccc;
}

/* Кнопка по центру с комфортным отступом */
.partners-page .cta-row {
  margin-top: clamp(50px, 6vh, 80px);
  text-align: center;
}
/* ================== Certificates page ================== */
body.inner-page main.certs-page {
  padding: 40px 20px 100px;
  text-align: center;
  color: #fff;
}

.certs-page h1 {
  font-size: 2.4rem;
  margin-bottom: 25px;
}

.certs-page p {
  max-width: 900px;
  margin: 0 auto 20px;
  line-height: 1.7;
  color: #ddd;
}

.certs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 32px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.certs-grid .card {
  background: #121212;
  border: 1px solid #222;
  border-radius: 10px;
  padding: 18px;
  text-decoration: none;
  color: #fff;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.certs-grid .card:hover {
  transform: translateY(-2px);
  border-color: #00ffa3;
  box-shadow: 0 0 18px rgba(0,255,163,.12);
}

.certs-grid .card h3 {
  margin: 0 0 6px;
  color: #00ffa3;
}

.certs-grid .card p.muted {
  color: #ccc;
  font-size: 0.95rem;
  line-height: 1.5;
}
/* ================== News page ================== */
body.inner-page main.news-page {
  padding: 40px 20px 100px;
  text-align: center;
  color: #fff;
}

.news-page h1 {
  font-size: 2.4rem;
  margin-bottom: 25px;
}

.news-list {
  display: grid;
  gap: 24px;
  max-width: 960px;
  margin: 0 auto;
  text-align: left;
}

.news-list .card {
  background: #121212;
  border: 1px solid #222;
  border-radius: 12px;
  padding: 22px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.news-list .card:hover {
  transform: translateY(-2px);
  border-color: #00ffa3;
  box-shadow: 0 0 18px rgba(0,255,163,.12);
}

.news-list .card h3 {
  margin: 0 0 10px;
  color: #00ffa3;
  font-size: 1.3rem;
}

.news-list .card p.muted {
  line-height: 1.7;
  color: #ccc;
  margin: 0 0 16px;
}

.news-list .card .btn-main {
  display: inline-block;
  margin-top: 4px;
  padding: 10px 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #00ffa3, #00c9a0);
  color: #000 !important;
  font-weight: 700;
  text-decoration: none;
  transition: .2s transform, .2s box-shadow;
}

.news-list .card .btn-main:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0,255,163,.25);
}
/* ===== Выпадающее меню в шапке ===== */
.dropdown { position: relative; }
.dropdown > .nav-link i { font-size: .7rem; margin-left: 6px; opacity:.9; }

.dropdown-menu{
  display:none;
  position:absolute; top:100%; left:0;
  background:#111; border:1px solid #222; border-radius:10px;
  min-width:240px; padding:8px 0; list-style:none; z-index:1001;
  box-shadow:0 16px 40px rgba(0,0,0,.45);
  animation: drop-fade .18s ease;
}
@keyframes drop-fade{ from{opacity:0; transform:translateY(-6px)} to{opacity:1; transform:none} }

.dropdown-menu li a{
  display:block; padding:10px 16px; color:#fff; text-decoration:none; font-size:.95rem;
  transition: background .15s ease, color .15s ease;
}
.dropdown-menu li a:hover{
  background:#00ff99; color:#000;
}
.dropdown:hover > .dropdown-menu,
.dropdown:focus-within > .dropdown-menu{
  display:block;
}

/* Подсветка текущего пункта в подменю */
.dropdown-menu .is-current{
  background:rgba(0,255,153,.1);
  box-shadow: inset 0 0 0 1px rgba(0,255,153,.25);
}

/* Мобильная адаптация: подменю раскрывается в потоке */
@media (max-width: 980px){
  .dropdown-menu{
    position: static;
    min-width: 100%;
    border: 1px solid #222;
    margin-top: 8px;
    box-shadow: none;
  }
}
/* === HERO: адаптивный кегль (длинные фразы чуть меньше) === */
.hero__slide h1{
  margin:0;
  text-align:left;
  line-height:1.16;
  font-weight:700;
  font-size:clamp(28px, 3.3vw, 48px);  /* базовый размер */
  color:#fff;
  letter-spacing:.2px;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
  max-width:92vw;
}

/* Для длинных фраз — чуть меньше шрифт */
.hero__slide h1.is-long{
  font-size:clamp(22px, 2.6vw, 38px);
  line-height:1.22;
}

/* В двухстрочных заголовках сохраняем одинаковый размер между строками */
.hero__slide h1 .line{
  display:block;
  font-size:inherit;
  line-height:inherit;
}

/* Центрирование на мобильных */
@media (max-width:880px){
  .hero__slide h1, .hero-sub{ text-align:center; }
  .btn{ display:block; margin:0 auto; width:max-content; }
}
/* ==== OVERRIDE: HERO — единый маленький шрифт и стабильная высота ==== */
/* Контейнер плашки — немного шире, чтобы влезали длинные фразы */
.hero-pill{
  max-width: min(980px, 94vw) !important;
  padding: clamp(16px, 2.8vw, 24px) !important;
}

/* Слайды — стабильная минимальная высота, чтобы текст не обрезался */
.hero-slides{
  min-height: var(--hero-slider-h, 120px) !important;
}

/* ЕДИНЫЙ и МЕНЬШИЙ размер шрифта на всех слайдах */
.hero__slide h1{
  font-size: clamp(22px, 2.6vw, 34px) !important; /* один размер для всех */
  line-height: 1.18 !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  max-width: 92vw !important;
}

/* Убираем любые особые размеры для “длинных” — всё одинаково */
.hero__slide h1.is-long{
  font-size: inherit !important;
  line-height: inherit !important;
}

/* На мобильных не увеличиваем шрифт — оставляем тот же единый кегль */
@media (max-width: 880px){
  .hero__slide h1{ font-size: clamp(20px, 4.0vw, 32px) !important; }
}
@media (max-width: 560px){
  .hero__slide h1{ font-size: clamp(18px, 5.0vw, 26px) !important; }
}
/* ===== Mobile: header & ticker are NOT fixed ===== */
@media (max-width: 900px){
  .announce-bar,
  .header{
    position: static !important;   /* больше не перекрывают контент */
    transform: none !important;
    top: auto !important;
  }

  /* на мобильном не нужен компенсационный отступ */
  body{
    padding-top: 0 !important;
  }
}
/* ==== iOS Safari: фикс синего цвета у телефонных ссылок ==== */
.header .contact-info a,
.header .contact-info a:link,
.header .contact-info a:visited,
.header a[href^="tel:"],
.header a[href^="tel:"]:visited {
  color:#fff !important;
  text-decoration:none;
}

.header .contact-info a:hover,
.header a[href^="tel:"]:hover {
  color:#00ff99 !important;
  text-decoration:underline;
}

/* Телефон в бегущей строке */
.announce-bar a,
.announce-bar a:link,
.announce-bar a:visited,
.announce-track a,
.announce-track a:visited,
.announce-track a[href^="tel:"],
.announce-track a[href^="tel:"]:visited {
  color:#f3f3f3 !important;
  text-decoration:none;
}

.announce-bar a:hover,
.announce-track a:hover {
  color:#00ff99 !important;
  text-decoration:underline;
}

/* Про запас: любые tel: ссылки по сайту */
a[href^="tel:"],
a[href^="tel:"]:visited {
  color:inherit !important;
  text-decoration:none;
}
a[href^="tel:"]:hover {
  color:#00ff99 !important;
  text-decoration:underline;
}
/* === HERO video background === */
.hero { /* фон-картинка останется как фолбэк */
  background: url('/assets/img/hero-bg.jpg') center center / cover no-repeat, #000;
}

/* слой с видео под всем контентом */
.hero__bg{
  position:absolute; inset:0; z-index:0; overflow:hidden;
}
.hero-video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  filter: none;
}

/* показываем нужное видео под устройство */
.hero-video--desktop{ display:block; }
.hero-video--mobile { display:none; }

/* мобильные экраны — включаем вертикальную версию */
@media (max-width: 767px){
  .hero-video--desktop{ display:none; }
  .hero-video--mobile { display:block; }
}

/* уважаем настройки доступности: при reduce-motion — без видео */
@media (prefers-reduced-motion: reduce){
  .hero__bg{ display:none; }             /* фон вернётся к картинке */
}

/* Видео заполняет секцию и изначально на чёрном */
.hero__bg { position:absolute; inset:0; background:#000; z-index:0; }
.hero__bg .hero-video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  background:#000;
}

/* По умолчанию показываем десктоп-видео, мобильное скрыто */
.hero-video--desktop{ display:block; }
.hero-video--mobile{ display:none; }

/* На мобильных переключаемся на вертикальную версию */
@media (max-width: 880px){
  .hero-video--desktop{ display:none; }
  .hero-video--mobile{ display:block; }
}

