#hero {
  position: relative;
  min-height: 100vh;
  display: flex; align-items: center;
  overflow: hidden;
  padding-top: 32px;
}

#c3d {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  z-index: 0;
}

.hero-wrap {
  position: relative; z-index: 2;
  padding: 5rem 3rem 3rem;
  max-width: 560px;
}

.hero-tag {
  display: inline-block; margin-bottom: 1.2rem;
  padding: .3rem .9rem; border-radius: 999px;
  border: 1px solid rgba(245,197,24,.35);
  background: rgba(245,197,24,.07);
  font-size: .7rem; color: var(--y);
  letter-spacing: .12em; text-transform: uppercase;
}

/* H1: подбираем размер так чтобы "ВНЖ аннулировали?" влезало в одну строку */
.hero-wrap h1 {
  font-size: clamp(1.7rem, 3.8vw, 3.4rem);
  font-weight: 900; line-height: 1.12;
  margin-bottom: 1.1rem;
}

/* Каждая строка h1 — отдельный блок, без лишних отступов */
.hero-wrap h1 span {
  display: block;
  line-height: 1.1;
}

/* Чеклист проблем */
.hero-problems {
  display: flex; flex-direction: column; gap: .4rem;
  margin-bottom: 1.3rem;
}
.hero-problems span {
  font-size: .88rem; color: var(--gl);
  display: flex; align-items: center; gap: .5rem; line-height: 1.4;
}
.hero-problems span::before {
  content: '✓';
  color: var(--y); font-weight: 900; flex-shrink: 0;
}

/* Доверие: 3 числа в одну строку */
.hero-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .8rem;
  margin-bottom: 1.6rem;
  padding: .8rem 1rem;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(245,197,24,.12);
  border-radius: 8px;
}
.ht-item { text-align: center; }
.ht-num  { font-size: 1.6rem; font-weight: 900; color: var(--y); line-height: 1; }
.ht-lbl  { font-size: .64rem; color: var(--gr); text-transform: uppercase;
           letter-spacing: .08em; margin-top: .15rem; }

.btns { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.2rem; }

/* Телефон под кнопками */
.hero-phone {
  display: inline-flex; align-items: center; gap: .5rem;
  color: var(--wh); text-decoration: none;
  font-size: 1.1rem; font-weight: 800;
  transition: color .2s;
}
.hero-phone:hover { color: var(--y); }
.hero-phone-sub { font-size: .75rem; color: var(--gr); font-weight: 400; }

/* Stats bar */
.stats {
  display: flex; flex-wrap: wrap; justify-content: center;
  background: var(--d2);
  border-top: 1px solid rgba(245,197,24,.1);
  border-bottom: 1px solid rgba(245,197,24,.1);
}
.stat {
  flex: 1; min-width: 140px; text-align: center;
  padding: 1.5rem .8rem;
  border-right: 1px solid rgba(255,255,255,.05);
}
.stat:last-child { border-right: none; }
.sn { font-size: 2rem; font-weight: 900; color: var(--y); line-height: 1; }
.sl { font-size: .68rem; color: var(--gr); margin-top: .3rem;
      letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 780px) {
  #hero { padding-top: 42px; min-height: 100svh; }
  .hero-wrap { padding: 5.5rem 1.4rem 2.5rem; max-width: 100%; }

  /* На мобайле h1 чуть меньше */
  .hero-wrap h1 { font-size: clamp(1.55rem, 7.5vw, 2.4rem); }

  .hero-trust { gap: .5rem; padding: .65rem .7rem; }
  .ht-num { font-size: 1.3rem; }
  .ht-lbl { font-size: .58rem; }

  .stats { display: grid; grid-template-columns: 1fr 1fr; }
  .stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,.05); padding: 1.2rem .6rem; }
  .stat:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.05); }
  .stat:nth-last-child(-n+2) { border-bottom: none; }
}
