/* =========================================================
   АМ Авто — style.css (финальная сборка)
   Требует: index.php новой версии (карточки-ссылки, advantages,
   карусель) + js/reviews-carousel.js + подключённый шрифт Inter
========================================================= */

:root{
  --bg:#07090b;
  --bg-soft:#0b0f12;
  --card:rgba(18,22,26,.72);
  --card-solid:#11161a;
  --border:rgba(255,255,255,.09);
  --border-hover:rgba(22,216,255,.42);
  --text:#f7f9fb;
  --muted:#9da8b4;
  --muted-2:#6f7b87;
  --accent:#16d8ff;
  --accent-2:#00a8ff;
  --danger:#ff454a;
  --danger-2:#ff6a45;
  --success:#4ade80;
  --radius:24px;
  --radius-sm:16px;
  --shadow:0 24px 80px rgba(0,0,0,.38);
  --container:1440px;
  --header-h:82px;
  --ease:cubic-bezier(.22,1,.36,1);
  /* Единая система CTA. Вернуть красный — править только здесь */
  --cta-grad:linear-gradient(135deg,#2ce0ff,#0095ff);
  --cta-text:#04141b;
  --cta-glow:0 12px 30px rgba(0,169,255,.22);
  --cta-glow-hover:0 18px 44px rgba(0,169,255,.34);
}

*,
*::before,
*::after{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  background:var(--bg);
  scroll-padding-top:110px;
}

body{
  min-width:320px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:
    radial-gradient(circle at 78% 8%,rgba(0,183,255,.10),transparent 28rem),
    radial-gradient(circle at 8% 55%,rgba(22,216,255,.045),transparent 30rem),
    var(--bg);
  color:var(--text);
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  text-rendering:optimizeLegibility;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

::selection{
  background:var(--accent);
  color:#001014;
}

img{
  display:block;
  max-width:100%;
}

a{
  color:inherit;
  text-decoration:none;
}

/* Единый клавиатурный фокус */
a:focus-visible,
button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
}

button,
input,
textarea{
  font:inherit;
}

button{
  cursor:pointer;
}

ul{
  list-style:none;
}

.container{
  width:min(var(--container),calc(100% - 48px));
  margin-inline:auto;
}

section{
  position:relative;
  padding:clamp(90px,9vw,150px) 0;
}

section::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(90%,900px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
}

/* =========================
   HEADER
========================= */

.header{
  position:fixed;
  inset:0 0 auto;
  z-index:1000;
  height:var(--header-h);
  background:rgba(5,7,9,.68);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
  border-bottom:1px solid rgba(255,255,255,.055);
}

.header::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  opacity:.16;
}

.header .container{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.logo img{
  width:auto;
  height:52px;
  object-fit:contain;
  filter:drop-shadow(0 0 16px rgba(22,216,255,.16));
  transition:transform .35s var(--ease),filter .35s var(--ease);
}

.logo:hover img{
  transform:scale(1.04);
  filter:drop-shadow(0 0 24px rgba(22,216,255,.32));
}

nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(20px,2.6vw,42px);
  margin-inline:auto; /* центр, а не прижим вправо */
}

nav a{
  position:relative;
  padding:10px 0;
  color:#aeb7c1;
  font-size:14px;
  font-weight:600;
  letter-spacing:.01em;
  transition:color .25s ease;
}

nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:2px;
  border-radius:99px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .3s var(--ease);
  box-shadow:0 0 14px rgba(22,216,255,.65);
}

nav a:hover,
nav a:focus-visible{
  color:#fff;
}

nav a:hover::after,
nav a:focus-visible::after{
  transform:scaleX(1);
}

.header-actions{
  display:flex;
  align-items:center;
  gap:18px;
  flex:0 0 auto;
}

.header-actions > a:not(.btn){
  color:#e8edf2;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
  transition:color .25s ease;
}

.header-actions > a:not(.btn):hover{
  color:#fff;
}

/* =========================
   BUTTONS
   Внимание: селектор — «form button», а не «button»!
   Иначе стрелки/точки карусели получат CTA-стили.
========================= */

.btn,
form button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 26px;
  border:1px solid transparent;
  border-radius:999px;
  background:var(--cta-grad);
  color:var(--cta-text);
  font-weight:800;
  font-size:14px;
  letter-spacing:.01em;
  box-shadow:var(--cta-glow);
  transition:
    transform .3s var(--ease),
    box-shadow .3s var(--ease),
    filter .3s ease,
    opacity .2s ease;
}

.btn::before,
form button::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.25) 48%,transparent 72%);
  transform:translateX(-120%);
  transition:transform .7s var(--ease);
}

.btn:hover,
form button:hover{
  transform:translateY(-3px);
  box-shadow:var(--cta-glow-hover);
  filter:saturate(1.08);
}

.btn:hover::before,
form button:hover::before{
  transform:translateX(120%);
}

.btn:active,
form button:active{
  transform:translateY(-1px);
}

.btn:disabled,
form button:disabled{
  opacity:.55;
  transform:none;
  pointer-events:none;
}

.btn-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:13px 26px;
  border:1px solid rgba(22,216,255,.65);
  border-radius:999px;
  color:var(--accent);
  background:rgba(22,216,255,.025);
  font-weight:800;
  font-size:14px;
  transition:.3s var(--ease);
}

.btn-outline:hover{
  color:#001014;
  background:var(--accent);
  border-color:var(--accent);
  box-shadow:0 12px 40px rgba(22,216,255,.25);
  transform:translateY(-3px);
}

/* =========================
   HERO
========================= */

.hero{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  padding:calc(var(--header-h) + 50px) 0 60px;
  display:flex;
  align-items:center;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 45%,rgba(0,173,221,.20),transparent 32rem),
    radial-gradient(circle at 50% 100%,rgba(22,216,255,.055),transparent 34rem),
    #060809;
}

/* Шторка затемнения слева: явные сбросы — иначе протекает
   width/height/transform от section::before */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  transform:none;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(6,8,9,.98) 0%,rgba(6,8,9,.88) 35%,rgba(6,8,9,.34) 64%,rgba(6,8,9,.10) 100%);
  pointer-events:none;
}

.hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:520px;
  height:520px;
  right:-160px;
  bottom:-230px;
  border-radius:50%;
  background:rgba(22,216,255,.12);
  filter:blur(80px);
  pointer-events:none;
}

.hero .container{
  position:relative;
  width:min(var(--container),calc(100% - 48px));
  min-height:calc(100vh - var(--header-h) - 60px);
  min-height:calc(100svh - var(--header-h) - 60px);
  display:grid;
  grid-template-columns:minmax(440px,.82fr) minmax(580px,1.5fr);
  gap:clamp(30px,4vw,80px);
  align-items:center;
}

.hero-content{
  position:relative;
  z-index:3;
  max-width:720px;
}

.badge{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px 10px 12px;
  margin-bottom:28px;
  border:1px solid rgba(22,216,255,.42);
  border-radius:999px;
  background:rgba(22,216,255,.055);
  color:var(--accent);
  font-size:13px;
  font-weight:800;
  box-shadow:inset 0 0 25px rgba(22,216,255,.025);
}

.badge::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 5px rgba(22,216,255,.10),0 0 18px var(--accent);
  animation:pulse-dot 2s ease-in-out infinite;
}

/* H1: максимум 4 строки, ровные строки, без переносов по слогам */
.hero h1{
  max-width:820px;
  margin-bottom:26px;
  font-size:clamp(42px,4.4vw,64px);
  line-height:1.06;
  letter-spacing:-.02em;
  font-weight:700;
  text-wrap:balance;
  hyphens:none;
  overflow-wrap:break-word;
}

.hero p{
  max-width:650px;
  margin-bottom:28px;
  color:#aeb8c4;
  font-size:clamp(16px,1.15vw,18px);
  line-height:1.72;
}

.hero ul{
  display:grid;
  gap:11px;
  margin-bottom:38px;
}

.hero li{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  color:#dce3ea;
  font-size:15px;
  font-weight:600;
  letter-spacing:.005em;
}

.hero li::before{
  content:"✓";
  display:grid;
  place-items:center;
  flex:0 0 21px;
  width:21px;
  height:21px;
  border:1px solid rgba(22,216,255,.35);
  border-radius:50%;
  color:var(--accent);
  background:rgba(22,216,255,.07);
  font-size:12px;
  font-weight:800;
}

.hero-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.hero-image{
  position:relative;
  align-self:stretch;
  min-height:clamp(560px,72vh,820px);
  display:flex;
  align-items:center;
  margin-right:0;
  width:100%;
}

.hero-image::before{
  content:"";
  position:absolute;
  inset:10% -8% 10% 0;
  z-index:-1;
  border-radius:40px;
  background:radial-gradient(circle,rgba(22,216,255,.24),transparent 67%);
  filter:blur(25px);
}

.hero-image::after{
  content:"";
  position:absolute;
  right:5%;
  bottom:10%;
  width:180px;
  height:180px;
  border:1px solid rgba(22,216,255,.18);
  border-radius:50%;
  box-shadow:
    0 0 0 28px rgba(22,216,255,.025),
    0 0 0 56px rgba(22,216,255,.012);
  pointer-events:none;
}

.hero-image img{
  width:100%;
  height:min(76vh,820px);
  min-height:560px;
  object-fit:cover;
  object-position:center;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    -30px 35px 90px rgba(0,0,0,.48),
    0 0 70px rgba(22,216,255,.14);
  filter:saturate(1.05) contrast(1.03);
  transform:translateZ(0);
  transition:transform .7s var(--ease),box-shadow .7s var(--ease);
}

.hero-image:hover img{
  transform:scale(1.012);
  box-shadow:
    -30px 35px 100px rgba(0,0,0,.52),
    0 0 90px rgba(22,216,255,.20);
}

.hero-image .image-label{
  position:absolute;
  left:28px;
  bottom:28px;
  z-index:2;
  padding:11px 15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(5,7,9,.62);
  backdrop-filter:blur(16px);
  color:#fff;
  font-size:12px;
  font-weight:800;
  box-shadow:0 15px 40px rgba(0,0,0,.28);
}

/* =========================
   HEADINGS
========================= */

.hero h1,
#services h2,
#about h2,
#advantages h2,
#reviews h2,
#contacts h2,
#gallery h2{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-kerning:normal;
  font-synthesis:none;
}

#services h2,
#about h2,
#advantages h2,
#reviews h2,
#contacts h2,
#gallery h2{
  position:relative;
  max-width:900px;
  margin-bottom:46px;
  font-size:clamp(34px,4vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
  text-wrap:balance;
}

#services h2::before,
#about h2::before,
#advantages h2::before,
#reviews h2::before,
#contacts h2::before,
#gallery h2::before{
  content:"";
  display:block;
  width:42px;
  height:4px;
  margin-bottom:18px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--accent),transparent);
  box-shadow:0 0 18px rgba(22,216,255,.35);
}

/* Заголовки секций без id (страницы услуг, custom-блоки) */
main section h2{
  font-size:clamp(28px,3vw,44px);
  line-height:1.08;
  letter-spacing:-.03em;
  text-wrap:balance;
  margin-bottom:30px;
}

/* =========================
   STATS
========================= */

.stats{
  background:linear-gradient(180deg,#07090b,#0b0f12);
}

.stats .container{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.stats article{
  position:relative;
  overflow:hidden;
  min-height:190px;
  padding:32px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)),
    var(--card);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  transition:.45s var(--ease);
}

.stats article::before{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  top:-70px;
  right:-50px;
  border-radius:50%;
  background:rgba(22,216,255,.10);
  filter:blur(10px);
}

.stats article::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  transform:scaleX(.2);
  opacity:0;
  transition:.45s var(--ease);
}

.stats article:hover{
  transform:translateY(-8px);
  border-color:var(--border-hover);
  box-shadow:0 25px 65px rgba(0,0,0,.34),0 0 35px rgba(22,216,255,.06);
}

.stats article:hover::after{
  transform:scaleX(1);
  opacity:1;
}

.stats h2{
  position:relative;
  z-index:1;
  color:var(--accent);
  font-size:clamp(38px,3.5vw,58px);
  line-height:1;
  letter-spacing:-.04em;
  margin-bottom:12px;
}

.stats p{
  position:relative;
  z-index:1;
  color:var(--muted);
  font-size:14px;
}

/* =========================
   SERVICES
   Карточки — ссылки на /uslugi/{slug}/
========================= */

.services{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.services .service-card{
  position:relative;
  overflow:hidden;
  display:block;
  min-height:220px;
  padding:34px 92px 34px 34px; /* правый запас — под стрелку */
  border:1px solid rgba(255,255,255,.085);
  border-radius:24px;
  color:inherit;
  text-decoration:none;
  background:
    radial-gradient(circle at 100% 0,rgba(22,216,255,.065),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),
    var(--card);
  box-shadow:
    0 16px 45px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.025);
  transition:
    transform .4s var(--ease),
    border-color .4s ease,
    box-shadow .4s ease,
    background .4s ease;
}

/* Стрелка честная: карточка реально ведёт на страницу услуги */
.services .service-card::after{
  content:"↗";
  position:absolute;
  top:28px;
  right:28px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(22,216,255,.24);
  border-radius:50%;
  background:rgba(22,216,255,.045);
  color:rgba(22,216,255,.78);
  font-size:17px;
  line-height:1;
  transition:
    transform .4s var(--ease),
    color .3s ease,
    background .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.services .service-card:hover{
  transform:translateY(-6px);
  border-color:rgba(22,216,255,.28);
  background:
    radial-gradient(circle at 100% 0,rgba(22,216,255,.095),transparent 42%),
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.014)),
    var(--card);
  box-shadow:
    0 24px 65px rgba(0,0,0,.30),
    0 0 35px rgba(22,216,255,.045),
    inset 0 1px 0 rgba(255,255,255,.035);
}

.services .service-card:hover::after{
  transform:translate(1px,-1px);
  color:#061014;
  background:var(--accent);
  border-color:var(--accent);
  box-shadow:0 0 24px rgba(22,216,255,.22);
}

.services h3{
  position:relative;
  z-index:1;
  max-width:100%;
  margin:0;
  padding-left:17px;
  font-size:clamp(19px,1.65vw,24px);
  line-height:1.25;
  letter-spacing:-.012em;
  font-weight:700;
  overflow-wrap:break-word;
}

.services h3::before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  width:3px;
  height:1.05em;
  border-radius:99px;
  background:linear-gradient(180deg,var(--accent),rgba(22,216,255,.15));
  box-shadow:0 0 10px rgba(22,216,255,.18);
}

.services p{
  position:relative;
  z-index:1;
  max-width:620px;
  margin-top:13px;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}

.service-card__hint{
  position:relative;
  z-index:1;
  display:inline-block;
  margin-top:16px;
  color:var(--accent);
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
}

/* =========================
   ADVANTAGES — «Почему выбирают АМ Авто»
========================= */

.advantages{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.advantages article{
  padding:28px 30px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:
    linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.012)),
    var(--card);
  transition:.4s var(--ease);
}

.advantages article:hover{
  transform:translateY(-5px);
  border-color:var(--border-hover);
}

.advantages h3{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
  font-size:19px;
  letter-spacing:-.01em;
  overflow-wrap:break-word;
}

.advantages h3::before{
  content:"✓";
  display:grid;
  place-items:center;
  flex:0 0 24px;
  width:24px;
  height:24px;
  border:1px solid rgba(22,216,255,.35);
  border-radius:50%;
  color:var(--accent);
  background:rgba(22,216,255,.07);
  font-size:13px;
  font-weight:800;
}

.advantages p{
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}

/* =========================
   ABOUT
========================= */

#about{
  background:
    radial-gradient(circle at 10% 50%,rgba(22,216,255,.07),transparent 32rem),
    #090c0f;
}

#about .container{
  position:relative;
}

#about p{
  max-width:930px;
  color:#aab4bf;
  font-size:clamp(17px,1.5vw,21px);
  line-height:1.75;
}

#about p::first-letter{
  color:var(--accent);
}

/* =========================
   REVIEWS — карусель
========================= */

#reviews{
  background:#07090b;
}

.reviews-carousel{
  position:relative;
}

.reviews-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}

.reviews-track::-webkit-scrollbar{
  display:none;
}

.reviews-slide{
  flex:0 0 100%;
  min-width:0;
  scroll-snap-align:start;
}

@media (min-width:901px){
  .reviews-slide{
    flex-basis:calc(50% - 9px);
  }
}

.stars{
  display:block;
  margin-bottom:10px;
  color:#f5c147;
  font-size:14px;
  letter-spacing:2px;
}

blockquote{
  position:relative;
  overflow:hidden;
  margin-bottom:18px;
  padding:32px 34px 30px;
  border:1px solid var(--border);
  border-left:3px solid var(--accent);
  border-radius:0 var(--radius) var(--radius) 0;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  box-shadow:0 15px 45px rgba(0,0,0,.16);
}

#reviews blockquote{
  margin-bottom:0; /* в карусели间距 задаёт gap */
}

blockquote::before{
  content:"“";
  position:absolute;
  top:-28px;
  right:25px;
  color:rgba(22,216,255,.08);
  font-family:Georgia,serif;
  font-size:150px;
  line-height:1;
}

blockquote p{
  position:relative;
  z-index:1;
  color:#e8edf2;
  font-size:17px;
  line-height:1.7;
  overflow-wrap:break-word;
}

blockquote footer{
  position:relative;
  z-index:1;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.07);
  color:var(--accent);
  font-size:13px;
  font-weight:800;
}

/* Управление каруселью */
.reviews-nav{
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:24px;
}

.reviews-arrow{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid rgba(22,216,255,.35);
  border-radius:50%;
  background:rgba(22,216,255,.04);
  color:var(--accent);
  font-size:16px;
  transition:.3s var(--ease);
}

.reviews-arrow:hover{
  background:var(--accent);
  color:#04141b;
  border-color:var(--accent);
  box-shadow:0 8px 24px rgba(22,216,255,.25);
}

.reviews-dots{
  display:flex;
  gap:8px;
  flex:1;
  justify-content:center;
}

.reviews-dots button{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  transition:.25s;
}

.reviews-dots button.is-active{
  background:var(--accent);
  box-shadow:0 0 10px rgba(22,216,255,.5);
}

/* =========================
   CONTACTS / FORM
========================= */

#contacts{
  background:
    radial-gradient(circle at 85% 30%,rgba(22,216,255,.08),transparent 30rem),
    #090c0f;
}

form{
  width:min(100%,760px);
  display:grid;
  gap:14px;
}

input,
textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  padding:17px 18px;
  outline:none;
  background:rgba(16,20,24,.82);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

input::placeholder,
textarea::placeholder{
  color:#76828e;
}

input:hover,
textarea:hover{
  border-color:rgba(255,255,255,.16);
}

input:focus,
textarea:focus{
  border-color:rgba(22,216,255,.62);
  background:#11171b;
  box-shadow:
    0 0 0 4px rgba(22,216,255,.07),
    0 10px 35px rgba(0,0,0,.16);
}

textarea{
  min-height:160px;
  resize:vertical;
}

form button{
  justify-self:start;
}

/* Статус отправки */
#request-form-message{
  margin:2px 0 0;
  font-size:14px;
  line-height:1.5;
  color:var(--muted);
}

#request-form-message:empty{
  display:none;
}

#request-form-message.success{
  color:var(--success);
}

#request-form-message.error{
  color:#ff8589;
}

/* =========================
   СТРАНИЦА УСЛУГИ (service.php)
========================= */

.service-hero{
  padding:calc(var(--header-h) + 70px) 0 20px;
}

.service-breadcrumb{
  margin-bottom:18px;
  color:var(--muted-2);
  font-size:13px;
}

.service-breadcrumb a{
  color:var(--muted);
  transition:color .25s;
}

.service-breadcrumb a:hover{
  color:var(--accent);
}

.service-hero h1{
  font-size:clamp(36px,4.4vw,60px);
  line-height:1.05;
  letter-spacing:-.02em;
  margin-bottom:20px;
  text-wrap:balance;
}

.service-lead{
  max-width:760px;
  color:#aeb8c4;
  font-size:clamp(16px,1.3vw,19px);
  line-height:1.7;
  margin-bottom:30px;
}

/* Типографика контента, который пишется в панели */
.service-content{
  max-width:930px;
  color:#c6cdd5;
  font-size:17px;
  line-height:1.75;
}

.service-content h2{
  margin:40px 0 14px;
  color:var(--text);
  font-size:clamp(24px,2.6vw,34px);
  letter-spacing:-.02em;
}

.service-content h3{
  margin:28px 0 10px;
  color:var(--text);
  font-size:20px;
}

.service-content p{
  margin-bottom:14px;
}

.service-content a{
  color:var(--accent);
}

.service-content a:hover{
  text-decoration:underline;
}

.service-content ul{
  display:grid;
  gap:9px;
  margin:16px 0 24px;
  list-style:none;
}

.service-content li{
  position:relative;
  padding-left:27px;
}

.service-content li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--accent);
  font-weight:800;
}

.service-content img{
  margin:20px 0;
  border-radius:16px;
}

/* =========================
   GALLERY
========================= */

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:16px;
  margin-top:32px;
}

.gallery-grid figure{
  position:relative;
  grid-column:span 4;
  min-height:260px;
  margin:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#0e1114;
}

/* Паттерн 6+6 / 4+4+4 — ровные ряды */
.gallery-grid figure:nth-child(6n+1),
.gallery-grid figure:nth-child(6n+2){
  grid-column:span 6;
}

.gallery-grid img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  display:block;
  transition:transform .65s var(--ease),filter .65s var(--ease);
}

.gallery-grid figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72));
  opacity:.7;
  pointer-events:none;
}

.gallery-grid figure:hover img{
  transform:scale(1.055);
  filter:saturate(1.08);
}

.gallery-grid figcaption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  padding:0;
  color:#fff;
  font-size:14px;
  font-weight:700;
}

/* =========================
   FOOTER
========================= */

footer{
  position:relative;
  padding:55px 0 35px;
  border-top:1px solid rgba(255,255,255,.07);
  background:#050607;
  color:var(--muted);
}

footer::before{
  content:"АМ";
  position:absolute;
  right:5%;
  bottom:-30px;
  color:rgba(255,255,255,.018);
  font-size:180px;
  font-weight:800;
  line-height:1;
  pointer-events:none;
}

/* =========================
   SCROLLBAR
========================= */

::-webkit-scrollbar{
  width:10px;
}

::-webkit-scrollbar-track{
  background:#050607;
}

::-webkit-scrollbar-thumb{
  background:#20282e;
  border:2px solid #050607;
  border-radius:99px;
}

::-webkit-scrollbar-thumb:hover{
  background:#33424b;
}

/* =========================
   ANIMATIONS
========================= */

@keyframes pulse-dot{
  0%,100%{
    box-shadow:0 0 0 5px rgba(22,216,255,.10),0 0 18px var(--accent);
  }
  50%{
    box-shadow:0 0 0 9px rgba(22,216,255,.025),0 0 28px var(--accent);
  }
}

@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}

/* =========================
   TABLET ≤1200
========================= */

@media (max-width:1200px){
  :root{
    --header-h:76px;
  }

  .container{
    width:min(var(--container),calc(100% - 36px));
  }

  nav{
    gap:20px;
  }

  .header-actions > a:not(.btn){
    display:none;
  }

  .hero .container{
    width:min(var(--container),calc(100% - 36px));
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:30px;
  }

  .hero-image{
    margin-right:0;
  }

  .stats .container{
    grid-template-columns:repeat(2,1fr);
  }
}

/* =========================
   MOBILE ≤900
   Шапка двухрядная, навигация вторым рядом со скроллом
========================= */

@media (max-width:900px){
  :root{
    --header-h:112px;
  }

  html{
    scroll-padding-top:126px;
  }

  section{
    padding:86px 0;
  }

  .header{
    height:auto;
  }

  .header .container{
    height:auto;
    flex-wrap:wrap;
    gap:12px;
    padding:8px 0;
  }

  .logo img{
    height:46px;
  }

  nav{
    display:flex;
    order:3;
    flex-basis:100%;
    margin:0;
    justify-content:flex-start;
    gap:22px;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  nav::-webkit-scrollbar{
    display:none;
  }

  nav a{
    padding:6px 0;
    font-size:13px;
    white-space:nowrap;
  }

  nav a::after{
    bottom:0;
  }

  .header-actions .btn{
    min-height:44px;
    padding:10px 17px;
    font-size:12px;
  }

  .hero{
    min-height:auto;
    padding:calc(var(--header-h) + 24px) 0 48px;
  }

  .hero .container{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:34px;
    align-items:stretch;
  }

  .hero-content{
    width:min(100%,calc(100% - 36px));
    margin-inline:auto;
  }

  .hero h1{
    font-size:clamp(38px,4.7vw,48px);
    line-height:1.08;
    letter-spacing:-.02em;
  }

  .hero p{
    font-size:16px;
  }

  .hero-image{
    width:100%;
    min-height:0;
    height:auto;
    margin:0;
    display:block;
    order:2;
  }

  .hero-image::before{
    inset:5% 0;
  }

  .hero-image::after{
    display:none;
  }

  .hero-image img{
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    aspect-ratio:16/10;
    object-fit:cover;
    border-radius:0;
    border-left:0;
    border-right:0;
    box-shadow:
      0 25px 70px rgba(0,0,0,.42),
      0 0 55px rgba(22,216,255,.11);
  }

  .hero-image .image-label{
    left:18px;
    bottom:18px;
  }

  .services{
    grid-template-columns:1fr;
  }

  .advantages{
    grid-template-columns:1fr;
  }

  .gallery-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .gallery-grid figure,
  .gallery-grid figure:nth-child(6n+1),
  .gallery-grid figure:nth-child(6n+2){
    grid-column:span 1;
  }
}

/* =========================
   SMALL ≤640
========================= */

@media (max-width:640px){
  :root{
    --header-h:104px;
    --radius:20px;
  }

  html{
    scroll-padding-top:118px;
  }

  .container{
    width:calc(100% - 28px);
  }

  section{
    padding:72px 0;
  }

  .header .container{
    width:calc(100% - 24px);
  }

  .logo img{
    height:43px;
  }

  .header-actions{
    gap:8px;
  }

  .header-actions .btn{
    min-height:42px;
    padding:9px 14px;
  }

  nav{
    gap:18px;
  }

  nav a{
    font-size:12.5px;
  }

  .hero{
    padding-top:calc(var(--header-h) + 26px);
  }

  .hero-content{
    width:calc(100% - 28px);
  }

  .badge{
    margin-bottom:20px;
    font-size:12px;
  }

  .hero h1{
    margin-bottom:20px;
  }

  .hero p{
    line-height:1.6;
    margin-bottom:24px;
  }

  .hero ul{
    gap:9px;
    margin-bottom:30px;
  }

  .hero li{
    font-size:14px;
  }

  .hero-buttons{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .btn,
  .btn-outline{
    width:100%;
    min-height:52px;
  }

  .hero-image img{
    aspect-ratio:4/3;
  }

  .stats .container{
    grid-template-columns:repeat(2,1fr);
    gap:10px;
  }

  .stats article{
    min-height:155px;
    padding:23px 20px;
  }

  .stats h2{
    font-size:38px;
  }

  #services h2,
  #about h2,
  #advantages h2,
  #reviews h2,
  #contacts h2,
  #gallery h2{
    margin-bottom:32px;
    font-size:clamp(32px,9vw,44px);
  }

  .services .service-card{
    min-height:180px;
    padding:26px 64px 26px 24px;
    border-radius:20px;
  }

  .services .service-card::after{
    top:22px;
    right:20px;
    width:36px;
    height:36px;
  }

  .services h3{
    font-size:20px;
  }

  .services p{
    font-size:14px;
  }

  .advantages article{
    padding:22px 20px;
  }

  .advantages h3{
    font-size:17px;
  }

  blockquote{
    padding:27px 24px;
  }

  blockquote p{
    font-size:15px;
  }

  form button{
    width:100%;
    justify-self:stretch;
  }

  .gallery-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .gallery-grid figure,
  .gallery-grid figure:nth-child(6n+1),
  .gallery-grid figure:nth-child(6n+2){
    grid-column:span 1;
    min-height:230px;
  }

  .gallery-grid img{
    min-height:230px;
  }

  footer{
    padding:45px 0 30px;
  }

  footer::before{
    font-size:100px;
  }
}

/* =========================
   REDUCED MOTION
========================= */

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
/* =========================================================
   REVIEWS — НОВЫЙ ДИЗАЙН
========================================================= */

/* Контейнер карусели */
.reviews-carousel {
    position: relative;
    width: 100%;
}


/* Лента */
.reviews-track {
    display: flex;
    gap: 22px;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}

.reviews-track::-webkit-scrollbar {
    display: none;
}


/* Один отзыв */
.reviews-slide {
    flex: 0 0 100%;
    min-width: 0;
    scroll-snap-align: start;
}

@media (min-width: 901px) {
    .reviews-slide {
        flex-basis: calc(50% - 11px);
    }
}


/* =========================================================
   КАРТОЧКА ОТЗЫВА
========================================================= */

.review-card {
    position: relative;
    min-height: 300px;
    height: 100%;
    overflow: hidden;

    display: flex;
    flex-direction: column;

    padding: 30px 32px;

    border: 1px solid rgba(255, 255, 255, .09);
    border-left: 3px solid var(--accent);
    border-radius: 0 22px 22px 0;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .055),
            rgba(255, 255, 255, .012)
        ),
        #101418;

    box-shadow:
        0 18px 50px rgba(0, 0, 0, .25);

    transition:
        transform .35s var(--ease),
        border-color .35s var(--ease),
        box-shadow .35s var(--ease);
}


/* Большая декоративная кавычка */
.review-card::before {
    content: "“";

    position: absolute;
    top: -32px;
    right: 22px;

    font-family: Georgia, serif;
    font-size: 150px;
    line-height: 1;

    color: rgba(22, 216, 255, .045);

    pointer-events: none;
}


/* Светящийся элемент снизу */
.review-card::after {
    content: "";

    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--accent),
            transparent
        );

    opacity: .35;
}


/* Hover */
.review-card:hover {
    transform: translateY(-6px);

    border-color: rgba(22, 216, 255, .25);

    box-shadow:
        0 25px 65px rgba(0, 0, 0, .35),
        0 0 35px rgba(22, 216, 255, .06);
}


/* =========================================================
   ИМЯ
========================================================= */

.review-card__header {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    margin-bottom: 20px;
}


.review-card__name {
    color: #ffffff;

    font-size: 19px;
    line-height: 1.2;
    font-weight: 800;

    letter-spacing: -.015em;
}


/* =========================================================
   ЗВЁЗДЫ В ОТЗЫВЕ
========================================================= */

.review-card__rating {
    margin-top: 9px;

    color: #f5c147;

    font-size: 15px;
    line-height: 1;

    letter-spacing: 3px;

    text-shadow:
        0 0 12px rgba(245, 193, 71, .15);
}


/* Пустые звёзды */
.review-card__rating-empty {
    color: rgba(255, 255, 255, .16);
    text-shadow: none;
}


/* =========================================================
   РАЗДЕЛИТЕЛЬ
========================================================= */

.review-card__divider {
    position: relative;
    z-index: 2;

    width: 100%;
    height: 1px;

    margin-bottom: 22px;

    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, .11),
            rgba(255, 255, 255, .025),
            transparent
        );
}


/* =========================================================
   ТЕКСТ ОТЗЫВА
========================================================= */

.review-card__text {
    position: relative;
    z-index: 2;

    max-width: 700px;

    margin: 0;

    color: #e8edf2;

    font-size: 17px;
    line-height: 1.7;

    overflow-wrap: anywhere;
}


/* =========================================================
   БРЕНД ВНИЗУ
========================================================= */

.review-card__brand {
    position: relative;
    z-index: 2;

    margin-top: auto;
    padding-top: 28px;

    color: rgba(22, 216, 255, .45);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .16em;
    text-transform: uppercase;
}


/* =========================================================
   ЕСЛИ ОТЗЫВОВ НЕТ
========================================================= */

.reviews-empty {
    padding: 30px;

    border: 1px dashed rgba(255, 255, 255, .12);
    border-radius: 18px;

    background: rgba(255, 255, 255, .015);

    color: var(--muted);
}

.reviews-empty p {
    margin: 0;
}


/* =========================================================
   НАВИГАЦИЯ КАРУСЕЛИ
========================================================= */

.reviews-nav {
    display: flex;
    align-items: center;

    gap: 16px;

    margin-top: 26px;
}


.reviews-arrow {
    display: grid;
    place-items: center;

    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    padding: 0;

    border: 1px solid rgba(22, 216, 255, .35);
    border-radius: 50%;

    background: rgba(22, 216, 255, .035);

    color: var(--accent);

    font-size: 16px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background .3s var(--ease),
        color .3s var(--ease),
        border-color .3s var(--ease),
        transform .3s var(--ease),
        box-shadow .3s var(--ease);
}


.reviews-arrow:hover {
    background: var(--accent);
    color: #04141b;

    border-color: var(--accent);

    transform: translateY(-2px);

    box-shadow:
        0 8px 24px rgba(22, 216, 255, .25);
}


.reviews-arrow:active {
    transform: translateY(0);
}


.reviews-dots {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 1;

    gap: 8px;
}


.reviews-dots button {
    width: 7px;
    height: 7px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, .18);

    cursor: pointer;

    transition:
        width .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}


.reviews-dots button.is-active {
    width: 24px;

    border-radius: 99px;

    background: var(--accent);

    box-shadow:
        0 0 12px rgba(22, 216, 255, .45);
}


/* =========================================================
   ФОРМА ОТЗЫВА
========================================================= */

.review-form-wrapper {
    position: relative;

    margin-top: 80px;
    padding: 42px;

    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 24px;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(22, 216, 255, .08),
            transparent 22rem
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .045),
            rgba(255, 255, 255, .012)
        ),
        #0c1013;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, .22);

    overflow: hidden;
}


/* Декоративная линия */
.review-form-wrapper::before {
    content: "";

    position: absolute;
    top: 0;
    left: 42px;

    width: 70px;
    height: 3px;

    background: var(--accent);

    box-shadow:
        0 0 18px rgba(22, 216, 255, .45);
}


/* =========================================================
   ЗАГОЛОВОК ФОРМЫ
========================================================= */

.review-form-intro {
    max-width: 720px;

    margin-bottom: 32px;
}


.review-form-badge {
    display: inline-block;

    margin-bottom: 12px;

    color: var(--accent);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .14em;
}


.review-form-intro h3 {
    margin: 0 0 12px;

    color: #ffffff;

    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.05;

    letter-spacing: -.035em;
}


.review-form-intro p {
    max-width: 620px;

    margin: 0;

    color: var(--muted);

    font-size: 15px;
    line-height: 1.65;
}


/* =========================================================
   ФОРМА
========================================================= */

.review-form {
    width: 100%;
    max-width: none;

    display: flex;
    flex-direction: column;

    gap: 20px;
}


.review-form-row {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(220px, .55fr);

    gap: 20px;
}


.review-form-field {
    position: relative;

    display: flex;
    flex-direction: column;

    gap: 9px;
}


.review-form-field label {
    color: #dce4ea;

    font-size: 13px;
    font-weight: 700;
}


.review-form-field input,
.review-form-field textarea {
    box-sizing: border-box;

    width: 100%;

    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 14px;

    background: rgba(5, 8, 10, .65);

    color: #ffffff;

    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}


.review-form-field input {
    height: 54px;
    padding: 0 17px;
}


.review-form-field textarea {
    min-height: 150px;

    padding: 16px 17px;

    resize: vertical;
}


.review-form-field input::placeholder,
.review-form-field textarea::placeholder {
    color: #65717c;
}


.review-form-field input:hover,
.review-form-field textarea:hover {
    border-color: rgba(255, 255, 255, .17);
}


.review-form-field input:focus,
.review-form-field textarea:focus {
    border-color: rgba(22, 216, 255, .65);

    background: rgba(10, 16, 19, .9);

    outline: none;

    box-shadow:
        0 0 0 4px rgba(22, 216, 255, .07),
        0 10px 35px rgba(0, 0, 0, .18);
}


/* =========================================================
   ВЫБОР ОЦЕНКИ
========================================================= */

.review-rating {
    display: flex;
    align-items: center;

    gap: 4px;

    min-height: 54px;
}


.review-rating__star {
    width: 34px;
    height: 34px;

    padding: 0;

    border: 0;

    background: transparent;

    color: rgba(255, 255, 255, .18);

    font-size: 27px;
    line-height: 1;

    cursor: pointer;

    transition:
        color .2s ease,
        transform .2s ease,
        text-shadow .2s ease;
}


.review-rating__star:hover {
    color: #f5c147;

    transform: scale(1.12);

    text-shadow:
        0 0 12px rgba(245, 193, 71, .25);
}


.review-rating__star.is-active {
    color: #f5c147;

    text-shadow:
        0 0 12px rgba(245, 193, 71, .2);
}


/* =========================================================
   СЧЁТЧИК СИМВОЛОВ
========================================================= */

.review-form-counter {
    align-self: flex-end;

    margin-top: -3px;

    color: #65717c;

    font-size: 11px;
}


/* =========================================================
   НИЖНЯЯ ЧАСТЬ ФОРМЫ
========================================================= */

.review-form-bottom {
    display: flex;
    align-items: center;

    gap: 20px;

    padding-top: 2px;
}


.review-submit {
    flex: 0 0 auto;

    min-height: 50px;

    padding: 0 26px;
}


.review-form-message {
    margin: 0;

    color: var(--muted);

    font-size: 13px;
    line-height: 1.5;
}


.review-form-message.success {
    color: var(--success);
}


.review-form-message.error {
    color: #ff8589;
}


/* =========================================================
   МОБИЛЬНАЯ ВЕРСИЯ
========================================================= */

@media (max-width: 900px) {

    .review-card {
        min-height: 280px;
        padding: 26px 24px;
    }

    .review-card__text {
        font-size: 16px;
    }

    .review-form-wrapper {
        margin-top: 55px;
        padding: 30px 24px;
        border-radius: 20px;
    }

    .review-form-wrapper::before {
        left: 24px;
    }

    .review-form-row {
        grid-template-columns: 1fr;
        gap: 18px;
    }

}


@media (max-width: 600px) {

    .reviews-track {
        gap: 14px;
    }

    .review-card {
        min-height: 260px;
        padding: 24px 20px;

        border-radius: 0 18px 18px 0;
    }

    .review-card__name {
        font-size: 18px;
    }

    .review-card__rating {
        font-size: 14px;
        letter-spacing: 2px;
    }

    .review-card__text {
        font-size: 15px;
        line-height: 1.65;
    }

    .review-card__brand {
        padding-top: 22px;
    }

    .review-form-wrapper {
        margin-top: 45px;
        padding: 28px 18px;
    }

    .review-form-intro h3 {
        font-size: 28px;
    }

    .review-form-intro p {
        font-size: 14px;
    }

    .review-form-bottom {
        flex-direction: column;
        align-items: stretch;
    }

    .review-submit {
        width: 100%;
    }

    .review-form-message {
        text-align: center;
    }

    .review-rating__star {
        width: 32px;
        height: 32px;
    }

}


/* =========================================================
   AM AUTO — DIAGNOSTICS ANIMATION / FINAL OVERRIDE
   Один источник анимации. Перекрывает inline animation.
   ========================================================= */

.about-tech__step:nth-child(1) { --am-delay: 0s; }
.about-tech__step:nth-child(2) { --am-delay: 1.15s; }
.about-tech__step:nth-child(3) { --am-delay: 2.30s; }
.about-tech__step:nth-child(4) { --am-delay: 3.45s; }

.about-tech__step-number {
    animation: amFinalNumber 4.6s ease-in-out infinite var(--am-delay) !important;
}

.about-tech__step-name {
    animation: amFinalName 4.6s ease-in-out infinite var(--am-delay) !important;
}

.about-tech__step-desc {
    animation: amFinalDesc 4.6s ease-in-out infinite var(--am-delay) !important;
}

.about-tech__step-check {
    animation: amFinalCheck 4.6s ease-in-out infinite var(--am-delay) !important;
}

.about-tech__step:not(:last-child)::before {
    animation: amFinalScan 4.6s ease-in-out infinite var(--am-delay) !important;
}

.about-tech__step:not(:last-child)::after {
    animation: amFinalLine 4.6s ease-in-out infinite var(--am-delay) !important;
}

.about-tech__progress-bar span {
    animation: amFinalProgress 4.6s cubic-bezier(.65,0,.35,1) infinite !important;
    transform-origin: left center !important;
}

.about-tech__progress-value {
    animation: amFinalStatus 4.6s ease-in-out infinite !important;
}


/* Номер активного этапа */
@keyframes amFinalNumber {
    0%, 7% {
        transform: scale(1);
        color: #00d9ff;
        border-color: rgba(0,217,255,.35);
        background: rgba(0,217,255,.04);
        box-shadow: none;
    }

    12% {
        transform: scale(1.12);
        color: #fff;
        border-color: #00e6ff;
        background: rgba(0,217,255,.18);
        box-shadow:
            0 0 12px rgba(0,217,255,.45),
            0 0 28px rgba(0,217,255,.18);
    }

    22% {
        transform: scale(1);
        color: #00e6ff;
        border-color: #00e6ff;
        background: rgba(0,217,255,.10);
        box-shadow: 0 0 8px rgba(0,217,255,.25);
    }

    38%, 100% {
        transform: scale(1);
        color: #00d9ff;
        border-color: rgba(0,217,255,.35);
        background: rgba(0,217,255,.04);
        box-shadow: none;
    }
}


/* Заголовок этапа */
@keyframes amFinalName {
    0%, 8% {
        color: #eef2f5;
        text-shadow: none;
    }

    13% {
        color: #fff;
        text-shadow: 0 0 14px rgba(0,217,255,.45);
    }

    24% {
        color: #fff;
        text-shadow: none;
    }

    40%, 100% {
        color: #eef2f5;
        text-shadow: none;
    }
}


/* Описание */
@keyframes amFinalDesc {
    0%, 8% {
        color: #65727d;
    }

    14% {
        color: #aab8c2;
    }

    35%, 100% {
        color: #7f8b96;
    }
}


/* Галочка */
@keyframes amFinalCheck {
    0%, 12% {
        opacity: .18;
        transform: scale(.72);
    }

    18% {
        opacity: 1;
        transform: scale(1.22);
        text-shadow:
            0 0 7px #00e6ff,
            0 0 20px rgba(0,217,255,.9);
    }

    25% {
        opacity: .8;
        transform: scale(1);
    }

    42%, 100% {
        opacity: .65;
        transform: scale(1);
        text-shadow: none;
    }
}


/* Светящаяся точка */
@keyframes amFinalScan {
    0%, 5% {
        opacity: 0;
        transform: translateY(0) scale(.35);
    }

    9% {
        opacity: 1;
        transform: translateY(4px) scale(1);
    }

    18% {
        opacity: 1;
        transform: translateY(28px) scale(1);
    }

    25% {
        opacity: .8;
        transform: translateY(50px) scale(.65);
    }

    32%, 100% {
        opacity: 0;
        transform: translateY(55px) scale(.25);
    }
}


/* Линия */
@keyframes amFinalLine {
    0%, 7% {
        opacity: .18;
        box-shadow: none;
    }

    12% {
        opacity: 1;
        background: linear-gradient(
            to bottom,
            #00e6ff,
            rgba(0,217,255,.12)
        );
        box-shadow: 0 0 7px rgba(0,217,255,.75);
    }

    25% {
        opacity: .55;
        box-shadow: none;
    }

    40%, 100% {
        opacity: .18;
        box-shadow: none;
    }
}


/* Общая шкала */
@keyframes amFinalProgress {
    0% {
        transform: scaleX(0);
    }

    72% {
        transform: scaleX(.68);
    }

    91% {
        transform: scaleX(1);
    }

    100% {
        transform: scaleX(1);
    }
}


/* 100% */
@keyframes amFinalStatus {
    0%, 8% {
        opacity: .45;
        text-shadow: none;
    }

    85% {
        opacity: 1;
        text-shadow: 0 0 10px rgba(0,217,255,.55);
    }

    100% {
        opacity: 1;
        text-shadow: 0 0 5px rgba(0,217,255,.35);
    }
}
