:root{
  --bg: #070A0B;
  --bg2:#0B1012;
  --card:#0E1518;
  --text:#EAF2F2;
  --muted:#A5B7B7;
  --line: rgba(255,255,255,.08);

  --green:#22C55E;      /* основной акцент */
  --green2:#16A34A;
  --shadow: 0 22px 60px rgba(0,0,0,.45);

  --radius: 18px;
  --radius2: 24px;
  --container: 1180px;

  --font: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  background: transparent;
  color:var(--text);
  overflow-x:hidden;
}

/* === AVIDS: fixed background (no bands between sections) === */
body::before{
  content:"";
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, var(--bg), var(--bg2));
  z-index: -10;
  pointer-events: none;
}


a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}

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

.h1{
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.02;
  letter-spacing:-0.02em;
  margin:14px 0 10px;
}
.h2{
  font-size: clamp(26px, 3vw, 38px);
  line-height:1.1;
  margin:0;
}
.lead{
  font-size: clamp(15px, 1.15vw, 18px);
  color: var(--muted);
  max-width: 54ch;
  margin: 0 0 20px;
}
.muted{color:var(--muted)}
.tiny{font-size:12.5px}

.accent{
  color: var(--green);
  text-shadow: 0 0 22px rgba(34,197,94,.25);
}

/* Header */
.header{
  position: sticky;
  top: 0;
  z-index: 30;
  backdrop-filter: blur(10px);
  background: rgba(7,10,11,.58);
  border-bottom: 1px solid var(--line);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 0;
  gap: 18px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.brand__mark{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), transparent 60%),
    linear-gradient(135deg, rgba(34,197,94,.95), rgba(22,163,74,.7));
  box-shadow: 0 12px 26px rgba(34,197,94,.18);
  font-weight:800;
}
.brand__text{display:flex; flex-direction:column; line-height:1.05}
.brand__name{font-weight:800; letter-spacing:.02em}
.brand__tag{font-size:12px; color:var(--muted); margin-top:2px}

.nav{display:flex; gap:18px}
.nav__link{
  font-weight:600;
  color: rgba(234,242,242,.85);
  padding:10px 10px;
  border-radius:12px;
  transition: .2s ease;
}
.nav__link:hover{
  background: rgba(255,255,255,.06);
  color: #fff;
}

.header__actions{display:flex; align-items:center; gap:10px}

.burger{
  display:none;
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  cursor:pointer;
}
.burger span{
  display:block;
  height:2px;
  width:18px;
  margin:5px auto;
  background: rgba(234,242,242,.85);
  border-radius:3px;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 16px;
  border-radius: 14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  color: #EAF2F2;
  font-weight:700;
  transition: .22s ease;
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.06)}
.btn--primary{
  border: 1px solid rgba(34,197,94,.35);
  background: linear-gradient(135deg, rgba(34,197,94,.95), rgba(22,163,74,.85));
  color:#07120C;
  box-shadow: 0 18px 40px rgba(34,197,94,.18);
}
.btn--primary:hover{filter:saturate(1.08); background: linear-gradient(135deg, rgba(34,197,94,1), rgba(22,163,74,.92))}
.btn--ghost{background: rgba(255,255,255,.02)}
.btn--block{width:100%}

/* ===== Mobile menu overlay sheet (new behavior, same style) ===== */
.navOverlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  z-index: 999;
  opacity: 0;
  transition: opacity .18s ease;

  /* ВАЖНО: когда меню закрыто — слой не должен ловить клики */
  pointer-events: none;
  visibility: hidden;
}

.mobileSheet{
  position: fixed;
  left: 16px;
  right: 16px;
  top: 74px;                 /* под шапкой */
  z-index: 1000;
  border: 1px solid var(--line);
  background: rgba(7,10,11,.92);
  border-radius: 18px;
  padding: 12px;
  display: grid;
  gap: 10px;

  transform: translateY(-8px);
  opacity: 0;
  transition: transform .18s ease, opacity .18s ease;
  box-shadow: 0 24px 60px rgba(0,0,0,.55);

  /* ВАЖНО: когда меню закрыто — слой не должен ловить клики */
  pointer-events: none;
  visibility: hidden;
}

.mobileSheet a{
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
}
.mobileSheet a.btn{border:0}

/* open state */
.navOverlay.is-open{
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}
.mobileSheet.is-open{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

/* Hero */
.hero{
  position:relative;
  padding: 64px 0 34px;
  overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 520px at 25% 15%, rgba(34,197,94,.15), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.65), rgba(0,0,0,.86)),
    url("../img/hero.jpg");
  background-size: cover;
  background-position: center;
  filter: saturate(1.05) contrast(1.03);
  transform: scale(1.03);
}
.hero__fade{
  position:absolute; left:0; right:0; bottom:-1px;
  height:120px;
  background: linear-gradient(180deg, transparent, var(--bg2));
}

.hero__inner{
  position:relative;
  display:grid;
  grid-template-columns: 1.25fr .9fr;
  gap: 28px;
  align-items:start;
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.25);
  color: rgba(234,242,242,.88);
  font-weight:700;
  width: fit-content;
}

/* === Hero badge green dot (force enable on main page) === */
.hero .pill::before,
.hero .badge::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--green);
  display: inline-block;
  margin-right: 1px;
  box-shadow: 0 0 8px rgba(34,197,94,.6);
  flex-shrink: 0;
}

.dot{
  width:10px;height:10px;border-radius:50%;
  background: var(--green);
  box-shadow: 0 0 18px rgba(34,197,94,.65);
}

.hero__cta{display:flex; gap:12px; flex-wrap:wrap; margin-top: 10px}
.hero__chips{display:flex; gap:10px; flex-wrap:wrap; margin-top: 18px}
.chip{
  padding: 10px 12px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.26);
  color: rgba(234,242,242,.9);
  font-weight:700;
  font-size: 13px;
}

.hero__cards{
  display:grid;
  gap:12px;
  padding-top: 8px;
}
.mini{
  display:flex;
  gap:12px;
  padding: 14px 14px;
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.30);
  box-shadow: var(--shadow);
}
.mini__icon{
  width:40px;height:40px;border-radius: 14px;
  display:grid; place-items:center;
  background: rgba(34,197,94,.12);
  border: 1px solid rgba(34,197,94,.20);
  color: var(--green);
  font-weight:900;
}
.mini__title{font-weight:800}
.mini__text{color: var(--muted); font-size: 13px; margin-top:2px}

/* Sections */
.section{padding: 64px 0}
.section--tight{padding: 44px 0}
.section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom: 22px;
}
.section__head p{max-width: 60ch}

/* Cards */
.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.card{
  border-radius: var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(600px 220px at 20% 0%, rgba(34,197,94,.12), transparent 55%),
    rgba(14,21,24,.68);
  box-shadow: var(--shadow);
  padding: 18px;
  position:relative;
  overflow:hidden;
}
.card::after{
  content:"";
  position:absolute; inset:-40px;
  background: radial-gradient(circle at 15% 15%, rgba(34,197,94,.12), transparent 55%);
  opacity:.8;
  pointer-events:none;
}

.card__bottom{position:relative; margin-top: 14px}
.icon{
  width:44px;height:44px;border-radius: 16px;
  display:grid;place-items:center;
  border:1px solid rgba(34,197,94,.22);
  background: rgba(34,197,94,.10);
  color: var(--green);
  font-weight:900;
}

/* === AVIDS: Services cards — icon left, title right (clean) === */
.card__top{
  display: grid;
  grid-template-columns: 44px 1fr;
  column-gap: 12px;
  align-items: center;  /* ВОТ ЭТО — ключ */
  min-height: 62px;     /* высота “шапки” одинакова */
}

.card__top h3{
  margin: 0;
  font-size: 18px;
  line-height: 1.15; /* чтобы высота строк была стабильной */
}


.card__top .icon{
  margin-top: 2px;
}

.card__top p{
  display: none;
}

.list{
  position:relative;
  margin: 14px 0 0;
  padding-left: 18px;
  color: rgba(234,242,242,.88);
}
.list li{margin: 8px 0; color: rgba(234,242,242,.86)}
.list li::marker{color: rgba(34,197,94,.9)}

/* Slider */
.slider{
  border-radius: var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  box-shadow: var(--shadow);
  padding: 14px;
}
.slider__viewport{overflow:hidden; border-radius: 18px}
.slider__track{
  display:flex;
  gap: 12px;
  transition: transform .35s ease;
  will-change: transform;
}
.shot{
  margin:0;
  flex: 0 0 calc(33.333% - 8px);
  border-radius: 18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:#000;
}
.shot img{
  width:100%;
  height: 250px;
  object-fit: cover;
  filter: contrast(1.05) saturate(1.03);
  transform: scale(1.01);
}

.slider__controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-top: 12px;
}
.dots{display:flex; gap:8px; justify-content:center; flex:1}
.dotbtn{
  width:10px;height:10px;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  cursor:pointer;
}
.dotbtn.is-active{
  background: rgba(34,197,94,.95);
  border-color: rgba(34,197,94,.55);
  box-shadow: 0 0 16px rgba(34,197,94,.35);
}

/* Quotes */
.quote{
  border-radius: var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background: rgba(14,21,24,.55);
  box-shadow: var(--shadow);
  padding: 18px;
}
.quote p{
  margin:0 0 12px;
  font-weight:700;
  color: rgba(234,242,242,.92);
}
.quote span{color: var(--muted); font-size: 13px}

/* FAQ + CTA */
.section--cta{
  padding-top: 36px;
  background: transparent;
}

.split{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
  align-items:start;
}

.accordion{
  border-radius: var(--radius2);
  border:1px solid rgba(255,255,255,.10);
  background: rgba(14,21,24,.55);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.acc__q{
  width:100%;
  text-align:left;
  padding: 16px 16px;
  background: transparent;
  border:0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: rgba(234,242,242,.92);
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  cursor:pointer;
}
.acc__i{color: var(--green); font-size: 18px}
.acc__a{
  padding: 0 16px 16px;
  color: var(--muted);
  line-height:1.5;
}

.cta{
  border-radius: var(--radius2);
  border:1px solid rgba(34,197,94,.18);
  background:
    radial-gradient(700px 260px at 20% 0%, rgba(34,197,94,.18), transparent 55%),
    rgba(10,14,16,.70);
  box-shadow: var(--shadow);
  padding: 32px;
  max-width: 100%;
  margin: 0 auto;

}
.cta h3{
  margin: 0 0 8px;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.ticks{
  margin: 18px 0 22px;
  padding-left: 0;
  list-style: none;
  color: rgba(234,242,242,.88);
  display: grid;
  gap: 10px;
}

.cta__buttons{
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

/* === CTA: text left, single button right === */
.cta__row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.cta__main{
  flex: 1 1 auto;
  min-width: 0;
}

.cta__side{
  flex: 0 0 auto;
  display: grid;
  gap: 12px;
  width: min(420px, 42%);
}

.cta__side .btn{
  width: 100%;
  padding: 14px 18px;   /* кнопки крупнее */
  border-radius: 16px;
  font-size: 14px;
}


/* Mobile: stack */
@media (max-width: 860px){
  .cta__row{
    flex-direction: column;
    align-items: stretch;
  }

  /* важно: колонка кнопок на мобиле должна быть на всю ширину */
  .cta__side{
    width: 100%;
  }

  .cta__side .btn{
    width: 100%;
    min-width: 0;
    padding: 16px 18px;
    font-size: 15px;
    line-height: 1.2;
  }
}


/* Footer */
.footer{
  border-top:1px solid var(--line);
  padding: 26px 0;
  background: transparent;
}

.footer__inner{display:flex; justify-content:space-between; align-items:center; gap:16px}

/* Footer meta line (copyright + IP) */
.footer__meta{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin-top: 8px;
}

.footer__ip-inline{
  display: flex;
  gap: 12px;
  font-size: 12.5px;
  color: rgba(255,255,255,.55);
}

.footer__ip-inline span{
  white-space: nowrap;
}

/* Mobile: перенос аккуратно вниз */
@media (max-width: 860px){
  .footer__meta{
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .footer__ip-inline{
    flex-wrap: wrap;
    gap: 6px 12px;
  }
}


/* Footer: IP details (safe add) */
.footer__ip{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: 13px;
  line-height: 1.45;
  color: rgba(255,255,255,.62);
  max-width: 360px;
}

.footer__ip-title{
  font-size: 12px;
  color: rgba(255,255,255,.45);
  margin-bottom: 6px;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.footer__ip strong{
  color: rgba(255,255,255,.82);
  font-weight: 700;
}

@media (max-width: 860px){
  .footer__ip{
    max-width: 100%;
    font-size: 12px;
  }
}

.brand--small .brand__mark{width:38px;height:38px;border-radius:14px}

/* Responsive */
@media (max-width: 860px){
  .nav{display:none}
  .burger{display:block}
  .hero__inner{grid-template-columns: 1fr; gap: 16px}
  .grid3{grid-template-columns: 1fr; }
  .shot{flex: 0 0 calc(100% - 0px)}
  .shot img{height: 240px}
  .split{grid-template-columns: 1fr}
  .section__head{flex-direction:column; align-items:flex-start}
}

/* Header premium scroll state */
.header.is-scrolled{
  background: rgba(7,10,11,.72);
  border-bottom-color: rgba(255,255,255,.10);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

/* Subtle reveal */
.reveal{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s ease, transform .55s ease;
  will-change: opacity, transform;
}
.reveal.is-in{
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
}

/* Premium button glow + accessibility focus */
.btn:focus{outline:none}
.btn:focus-visible{
  outline: 2px solid rgba(34,197,94,.55);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(34,197,94,.16);
}

.btn--primary{
  position: relative;
}
.btn--primary::after{
  content:"";
  position:absolute; inset:-8px;
  border-radius: 18px;
  background: radial-gradient(circle at 30% 30%, rgba(34,197,94,.35), transparent 60%);
  opacity: 0;
  transition: opacity .2s ease;
  z-index: -1;
}
.btn--primary:hover::after{opacity: 1;}

/* Slider: premium drag/swipe */
.slider__viewport{
  touch-action: pan-y;
  cursor: grab;
}
.slider__viewport:active{ cursor: grabbing; }

.slider__track.is-dragging{
  transition: none !important;
}

.slider__track{
  will-change: transform;
}

/* Tracks: always stacked one per row */
.tracks{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.track{
  padding: 16px;
  margin: 0 0 16px 0;
}
.track:last-child{
  margin-bottom: 0;
}

.track__top{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.track__title{
  font-weight: 800;
  letter-spacing: -0.01em;
}

.track__embed{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.25);
}

.track__embed iframe{
  width: 100%;
  height: 180px;
  display: block;
}

@media (max-width: 980px){
  .tracks{ grid-template-columns: 1fr; }
  .track__embed iframe{ height: 200px; }
}

/* Force embeds to fit the card width (override Yandex inline widths) */
.track iframe{
  width: 100% !important;
  max-width: 100% !important;
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: top;
}

/* FAQ + CTA stacked (one column, CTA first) */
.split--stack{
  grid-template-columns: 1fr !important;
}

/* CTA title highlight "прямо сейчас" */
.accent--now{
  color: var(--green);
  font-weight: 900;
  text-shadow:
    0 0 14px rgba(34,197,94,.45),
    0 0 34px rgba(34,197,94,.20);
  position: relative;
  white-space: nowrap;
  display: inline-block;
  margin-top: -4px; /* ⬅ компактнее между строками */
}

/* перенос "прямо сейчас" на новую строку (компактно, без лишней высоты) */
.accent--now::before{
  content: "";
  display: block;
  height: 0;
  margin-bottom: -0.20em; /* уменьшаем расстояние между строками */
}


.accent--now::after{
  content:"";
  position:absolute;
  left: -6px;
  right: -6px;
  bottom: -6px;
  height: 10px;
  border-radius: 999px;
  background: radial-gradient(closest-side, rgba(34,197,94,.30), transparent);
  pointer-events:none;
  filter: blur(1px);
}

/* CTA title — разрешаем перенос (чтобы не налезало на кнопки) */
.cta h3{
  white-space: normal;
}

/* На мобильных разрешаем перенос */
@media (max-width: 768px){
  .cta h3{
    white-space: normal;
  }
}

/* Modal */
.modal{ position: fixed; inset: 0; display: none; z-index: 9999; }
.modal.is-open{ display: block; }

.modal__backdrop{
  position:absolute; inset:0;
  background: rgba(0,0,0,.68);
  backdrop-filter: blur(10px);
}

.modal__dialog{
  position: relative;
  width: min(560px, calc(100vw - 32px));
  margin: 8vh auto;
  padding: 22px 22px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: radial-gradient(120% 120% at 0% 0%, rgba(34,197,94,.20), rgba(0,0,0,.78));
  box-shadow: 0 30px 80px rgba(0,0,0,.55);
}

.modal__close{
  position:absolute; top: 12px; right: 12px;
  width: 36px; height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.35);
  color: rgba(255,255,255,.92);
  cursor: pointer;
}

.modal__title{ margin: 0 0 6px; font-size: 26px; font-weight: 900; letter-spacing: -0.02em; }
.modal__subtitle{ margin: 0 0 16px; }

.form{ display: grid; gap: 12px; }
.field{ display:grid; gap: 8px; }
.field__label{ font-size: 13px; color: rgba(234,242,242,.75); }

.input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.25);
  color: rgba(255,255,255,.92);
  outline: none;
}
.input:focus{
  border-color: rgba(34,197,94,.45);
  box-shadow: 0 0 0 4px rgba(34,197,94,.12);
}

.check{ display:flex; gap: 10px; align-items:flex-start; font-size: 12.5px; color: rgba(234,242,242,.72); }
.form__note{ min-height: 18px; font-size: 13px; }

@media (max-width: 480px){
  .modal__dialog{ margin: 4vh auto; padding: 18px; }
}

/* Ensure pointer cursor on CTA button too */
button.btn{
  cursor: pointer;
}

/* ПК/ноут: бургер и мобильное меню убираем полностью */
@media (hover: hover) and (pointer: fine){
  .burger{ display: none !important; }
  .navOverlay{ display: none !important; }
  .mobileSheet{ display: none !important; }
  .nav{ display: flex !important; }
}

/* ===== Gift certificate page additions (no redesign, same system) ===== */

.nav__link.is-active{
  background: rgba(255,255,255,.06);
  color:#fff;
}

.subhero{
  position:relative;
  padding: 56px 0 26px;
  overflow:hidden;
}
.subhero__bg{
  background: transparent;
}

.subhero__inner{
  position:relative;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 22px;
  align-items:start;
}
.subhero__visual{ padding-top: 6px; }

.giftMock{ padding: 16px; }
.giftMock__frame{
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
}
.giftMock__frame img{
  width:100%;
  height: 360px;
  object-fit: cover;
  display:block;
  filter: contrast(1.03) saturate(1.03);
}
.giftMock__note{ margin-top: 10px; font-size: 12.5px; }

.rulesCard{ padding: 20px; }
.rules{
  display:grid;
  gap: 14px;
  position:relative;
}
.rules__item{
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  padding: 14px 14px;
}
.rules__title{
  font-weight: 900;
  letter-spacing: -0.01em;
  margin-bottom: 8px;
}
.rules__text{ color: rgba(234,242,242,.86); line-height: 1.55; }
.rules__text .list{ margin-top: 8px; }

.link{
  color: rgba(234,242,242,.92);
  text-decoration: underline;
  text-decoration-color: rgba(34,197,94,.55);
  text-underline-offset: 3px;
}
.link:hover{
  color:#fff;
  text-decoration-color: rgba(34,197,94,.95);
}

@media (max-width: 860px){
  .subhero__inner{ grid-template-columns: 1fr; }
  .giftMock__frame img{ height: 300px; }
}

/* Gift: subtle scroll tilt */
.giftMock{
  transform-style: preserve-3d;
}
.giftMock__frame{
  will-change: transform;
  transform: perspective(900px) translateY(0) rotateX(0deg) rotateY(0deg);
  transition: transform .18s ease;
}

/* если у человека отключены анимации — не двигаем */
@media (prefers-reduced-motion: reduce){
  .giftMock__frame{ transition:none; transform:none !important; }
}

@media (prefers-reduced-motion: reduce){
  .glitter{ display:none !important; }
}

/* Gift: subtle shine on frame */
.giftMock__frame{
  position: relative;
}

.giftMock__frame::after{
  content:"";
  position:absolute;
  inset:-40% -60%;
  background: linear-gradient(120deg,
    transparent 40%,
    rgba(255,255,255,.12) 50%,
    transparent 60%
  );
  transform: translateX(-35%) rotate(8deg);
  opacity: 0;
  pointer-events:none;
}

.giftMock__frame.is-shine::after{
  opacity: 1;
  animation: giftShine 3.8s ease-in-out infinite;
}

@keyframes giftShine{
  0%{ transform: translateX(-55%) rotate(8deg); opacity: 0; }
  12%{ opacity: .45; }
  24%{ opacity: 0; }
  100%{ transform: translateX(55%) rotate(8deg); opacity: 0; }
}

@media (prefers-reduced-motion: reduce){
  .giftMock__frame::after{ display:none !important; }
}

/* ===== Reviews with avatars ===== */

.quote{
  padding-top: 18px;
}

.quote__author{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.quote__avatar{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.15);
  flex-shrink: 0;
}

.quote__name{
  font-weight: 600;
  font-size: 14px;
  opacity: .9;
}

.reviews-more{
  margin-top: 16px;
  font-size: 14px;
  opacity: .75;
}

.reviews-more a{
  color: var(--accent);
  text-decoration: none;
}

.reviews-more a:hover{
  text-decoration: underline;
}

/* ===== Logo hover glow ===== */

.brand__mark--logo{
  padding: 0;
  overflow: hidden;
}

.brand__mark--logo img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition:
    transform .25s ease,
    filter .25s ease,
    box-shadow .25s ease;
}

/* лёгкое свечение при наведении */
.brand:hover .brand__mark--logo img{
  transform: scale(1.05);
  filter: drop-shadow(0 0 10px rgba(34,197,94,.55))
          drop-shadow(0 0 22px rgba(34,197,94,.35));
}

.brand__mark--logo img{
  animation: logoIdle 6s ease-in-out infinite;
}

@keyframes logoIdle{
  0%,100%{ transform: scale(1); }
  50%{ transform: scale(1.02); }
}


/* News page (точечное добавление, стиль не меняем — используем текущие токены) */
.newsTools{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  margin: 14px 0 18px;
}
.newsSearch{
  min-width: 260px;
  flex: 1 1 320px;
}
.newsStatus{ margin: 6px 0 14px; }

.newsGrid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 980px){
  .newsGrid{ grid-template-columns: 1fr; }
}

.newsCard .newsMeta{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  margin-top: 10px;
}
.newsCard .newsDate{
  color: rgba(234,242,242,.62);
  font-size: 12px;
}
.newsCard .newsLink{
  color: var(--green);
  text-decoration:none;
  font-weight: 700;
  font-size: 12px;
}
.newsCard .newsLink:hover{ text-decoration: underline; }

.newsMedia{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:10px;
}
.newsMedia img{
  width:100%;
  height:160px;
  object-fit:cover;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.10);
}
.newsMoreWrap{
  display:flex;
  justify-content:center;
  margin-top: 18px;
}

/* ================================
   AVIDS: Sticky header fix
   Безопасное переопределение
   ================================ */

.header {
  position: sticky;
  top: 0;
  z-index: 1000;

  /* Фон, чтобы меню не терялось на фото */
  background: rgba(10, 10, 10, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* чтобы контент не прилипал вплотную под шапкой */
body {
  scroll-padding-top: 84px;
}

/* защита от перекрытия слайдерами / hero / gallery */
.section,
.hero,
.subhero {
  position: relative;
  z-index: 1;
}

/* ================================
   AVIDS: Header always on top (fix)
   ================================ */
.header{
  z-index: 99999 !important;
  position: sticky;
  top: 0;

  /* создаём отдельный “слой”, чтобы её не перекрывали элементы с transform */
  transform: translateZ(0);
}
/* ================================
   AVIDS: Header fixed (stable)
   Делает шапку всегда видимой
   ================================ */

/* высота шапки (подогнана под текущую вёрстку) */
:root{
  --avids-header-h: 74px;
}

/* фиксируем шапку наверху */
.header{
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99999 !important;

  /* фон, чтобы не терялась на фото */
  background: rgba(7,10,11,.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* чтобы контент НЕ уезжал под шапку */
body{
  padding-top: var(--avids-header-h);
}

/* чтобы якоря типа #contact не прятались под шапкой */
html{
  scroll-padding-top: var(--avids-header-h);
}

/* ================================
   AVIDS: Modal must be above header
   ================================ */

.modal{
  z-index: 200000 !important;
}

.modal__backdrop{
  z-index: 0;
}

.modal__dialog{
  z-index: 1;
}

/* AVIDS: loading state на кнопке отправки заявки */
.btn.is-loading{
  opacity: .85;
  pointer-events: none;
}

button.btn.is-loading::after{
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: transparent;
  display: inline-block;
  margin-left: 10px;
  animation: avidsSpin .8s linear infinite;
}

@keyframes avidsSpin{
  to{ transform: rotate(360deg); }
}

