/* === 01-hero === */
.fmf2 .hero{--ray:linear-gradient(180deg,#B6AAFF 0%,#6657C2 100%);position:relative;padding-top:456px;padding-bottom:80px;overflow:hidden;isolation:isolate}
.fmf2 .hero__bg{--hero-bg-h:861px;position:absolute;inset:0;pointer-events:none;z-index:-1;background:var(--c-dark)}
.fmf2 .hero__bg-img{position:absolute;inset:0 0 auto;width:100%;height:var(--hero-bg-h);max-width:none;object-fit:cover;object-position:center top;opacity:1}
/* Затемнение привязано к коробке самого изображения (Figma 41:1953: прозрачный 53% → #27242E 100%),
   поэтому переход завершается ровно на нижней границе фона при любой ширине экрана. */
.fmf2 .hero__bg::after{content:"";position:absolute;inset:0 0 auto;height:var(--hero-bg-h);
  background:linear-gradient(180deg,rgba(39,36,46,.04) 0,rgba(39,36,46,.10) 53%,var(--c-dark) 100%)}

.fmf2 .hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,820px) 1fr;gap:40px;align-items:start}
.fmf2 .hero__main{max-width:820px}
.fmf2 .hero__h1{margin:0 0 22px;max-width:820px;font-weight:400}
.fmf2 .hero__kicker{display:block;font-size:15px;font-weight:400;line-height:1.3;color:var(--c-on-dark-2);margin-bottom:22px}
.fmf2 .hero__tagline{display:block;font-size:48px;font-weight:400;line-height:1.12;letter-spacing:-.025em;color:#fff}
.fmf2 .hero__lead{font-size:17px;font-weight:400;line-height:1.5;color:rgba(255,255,255,.72);max-width:540px}
.fmf2 .hero__cta{display:flex;gap:8px;margin:34px 0 18px;flex-wrap:wrap}
.fmf2 .hero__cta .btn{height:50px;padding-inline:40px;border-radius:43px;font-size:16px;line-height:1.6}
.fmf2 .hero__cta .btn--ghost-dark{border-color:#fff}
.fmf2 .hero__cta-primary{width:217px}
.fmf2 .hero__cta-call{width:211px}
.fmf2 .hero__cta .hero__cta-submit{display:none;width:196px}
.fmf2 .hero__note{font-size:13px;line-height:1.4;color:var(--c-on-dark-3);max-width:400px}

.fmf2 .hero__aside{position:relative;justify-self:end;align-self:start;margin-top:176px}
.fmf2 .hero__badge{position:relative;width:312px;min-height:149px;background:rgba(255,255,255,.2);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;overflow:hidden}
.fmf2 .hero__badge-viewport{overflow:hidden}
.fmf2 .hero__badge-track{display:flex;transition:transform .4s ease}
.fmf2 .hero__badge-slide{flex:0 0 100%;min-height:149px;padding:12px 16px;display:grid;grid-template-rows:auto auto 1fr;color:#fff}
.fmf2 .hero__badge-slide:hover,.fmf2 .hero__badge-slide:focus-visible{color:#fff;background:rgba(255,255,255,.06)}
.fmf2 .hero__badge-name{font-size:18px;line-height:1.4;font-weight:700}
.fmf2 .hero__badge-desc{font-size:14px;line-height:1.4;font-weight:500;color:#fff;margin-top:0;padding-right:4px}
.fmf2 .hero__badge-rank{align-self:end;font-size:36px;line-height:1;font-weight:400;margin-top:28px;white-space:nowrap}
.fmf2 .hero__badge-dots{position:absolute;z-index:3;right:16px;bottom:16px;justify-content:flex-end}
.fmf2 .hero__badge-dots .slider-dot{background:rgba(255,255,255,.28)}
.fmf2 .hero__badge-dots .slider-dot.is-active{background:rgba(255,255,255,.28)}

.fmf2 .hero__stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:110px}
.fmf2 .hero__stat{padding:0 24px;min-width:0;border-left:1px solid var(--c-line-dark);display:flex;flex-direction:column;align-items:flex-start}
.fmf2 .hero__stat:first-child{border-left:0;padding-left:0}
.fmf2 .hero__stat-num{display:block;font-size:64px;line-height:1.2;letter-spacing:-.02em;color:transparent;
  background:var(--ray);-webkit-background-clip:text;background-clip:text}
.fmf2 .hero__stat-num sup{font-size:.75em;font-weight:500;vertical-align:top;position:relative;top:-.02em;margin-left:3px}
.fmf2 .hero__stat-pre{font-style:normal;font-size:.75em;font-weight:500;margin-right:.14em}
.fmf2 .hero__stat-text{display:block;font-size:16px;font-weight:500;line-height:1.4;color:#fff;margin:34px 0 8px;max-width:261px}
.fmf2 .hero__stat-link.link-arrow{gap:10px;color:var(--c-accent);font-size:16px;text-decoration:underline;text-underline-offset:2px;margin-top:auto}
.fmf2 .hero__stat-link.link-arrow:hover,.fmf2 .hero__stat-link.link-arrow:focus-visible{color:#fff}
.fmf2 .hero__stat-link .ic-svg{width:15px;height:9px;flex:none;transform:rotate(-90deg)}
.fmf2 .hero__stat-link .ic-svg *{stroke:currentColor}

@media (min-width:769px){
  .fmf2 .hero__stat{min-height:191px}
  .fmf2 .hero__stat-text{min-height:67px}
}

@media (min-width:769px) and (max-width:1180px){
  .fmf2 .hero__stat{padding-inline:18px}
  .fmf2 .hero__stat-num{font-size:54px}
  .fmf2 .hero__stat-text{font-size:14px}
  .fmf2 .hero__stat-link.link-arrow{font-size:14px}
  .fmf2 .hero__stat-link .ic-svg{width:15px;height:9px}
}

@media (max-width:1024px){
  .fmf2 .hero__inner{grid-template-columns:minmax(0,1fr);min-width:0;min-height:0}
  .fmf2 .hero__aside{justify-self:start;align-self:auto;margin-top:24px}
  .fmf2 .hero__bg-img{top:0;right:0;height:auto;width:100%;opacity:.3;
    -webkit-mask:linear-gradient(180deg,#000 0%,#000 45%,transparent 92%);mask:linear-gradient(180deg,#000 0%,#000 45%,transparent 92%)}
  .fmf2 .hero__bg::after{inset:0;height:auto;background:linear-gradient(90deg,var(--c-dark) 0%,rgba(39,36,46,.55) 55%,rgba(39,36,46,.2) 100%)}
}
@media (max-width:768px){
  .fmf2 .hero{padding-top:120px;padding-bottom:54px}
  .fmf2 .hero__main,.fmf2 .hero__aside{width:100%;max-width:none;min-width:0}
  .fmf2 .hero__tagline{font-size:30px}
  .fmf2 .hero__kicker{font-size:14px;margin-bottom:16px}
  .fmf2 .hero__lead{font-size:16px}
  .fmf2 .hero__cta{width:217px;max-width:100%;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;margin-top:28px}
  .fmf2 .hero__cta .btn{height:46px;max-width:100%;padding-inline:40px}
  .fmf2 .hero__cta .hero__cta-call{display:none}
  .fmf2 .hero__cta .hero__cta-submit{display:inline-flex;order:1;width:196px}
  .fmf2 .hero__cta .hero__cta-primary{order:2;width:217px}
  .fmf2 .hero__badge{width:100%}
  .fmf2 .hero__stats{grid-template-columns:1fr 1fr;margin-top:44px;row-gap:28px}
  .fmf2 .hero__stat{padding:4px 12px 4px 16px}
  .fmf2 .hero__stat:nth-child(2n+1){border-left:0;padding-left:0}
  .fmf2 .hero__stat-num{font-size:36px}
  .fmf2 .hero__stat-text{margin-top:16px}
}
@media (max-width:430px){
  .fmf2 .hero__cta{align-items:flex-start}
}
