/* ===== hero ===== */
.hero{
  padding:90px 0 60px;
  text-align:center;
}
.hero .eyebrow{
  display:inline-block;
  padding:6px 14px;
  border-radius:999px;
  border:1px solid var(--lx-border);
  background:var(--lx-card);
  color:var(--lx-accent-2);
  font-size:13px;
  font-weight:600;
  margin-bottom:24px;
}
.hero h1{
  font-size:clamp(36px,6vw,64px);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-1px;
  margin-bottom:22px;
}
.hero h1 .grad{
  background:linear-gradient(120deg,#60a5fa,#3b82f6 30%,#f59e0b 70%,#60a5fa);
  background-size:300% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:gradientShift 6s ease-in-out infinite;
  display:inline-block;
  min-width:1px;
}
.hero h1 .caret{
  display:inline-block;
  width:3px;
  height:0.85em;
  background:var(--lx-accent-2);
  margin-left:4px;
  vertical-align:-0.1em;
  animation:caretBlink 0.9s step-end infinite;
}
@keyframes caretBlink{
  0%,49%{opacity:1;}
  50%,100%{opacity:0;}
}
@keyframes gradientShift{
  0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}
.hero p{
  max-width:620px;
  margin:0 auto 40px;
  color:var(--lx-muted);
  font-size:18px;
}
.hero-actions{
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}

/* ===== showcase-телефон ===== */
.phone-wrap{
  width:100%;
  aspect-ratio:5 / 8;
  perspective:900px;
}
.phone{
  position:relative;
  height:100%;
  background:var(--lx-card);
  border:1px solid var(--lx-border);
  border-radius:26px;
  padding:8px;
  box-shadow:0 20px 50px rgba(0,0,0,0.45);
  transition:transform .15s ease-out, box-shadow .3s;
  transform-style:preserve-3d;
  will-change:transform;
  display:flex;
  flex-direction:column;
}
.phone:hover{
  box-shadow:0 28px 80px rgba(59,130,246,0.3);
}
.phone-screen{
  position:relative;
  flex:1;
  overflow:hidden;
  border-radius:18px;
  background:#000;
}
.phone-screen img{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:auto;
  min-height:145%;
  object-fit:cover;
  object-position:top;
  display:block;
  animation:screenPan 16s ease-in-out infinite;
  animation-play-state:running;
}
.phone:hover .phone-screen img{
  animation-play-state:paused;
}
@keyframes screenPan{
  0%, 15%{transform:translateY(0);}
  50%{transform:translateY(-23%);}
  85%,100%{transform:translateY(0);}
}

/* ===== фан-веер экранов (галерея) ===== */
.gallery{
  padding:40px 0 10px;
  overflow:hidden;
}
.fan-stage{
  position:relative;
  height:320px;
  max-width:980px;
  margin:0 auto;
}
.fan-item{
  position:absolute;
  bottom:0;
  left:50%;
  width:150px;
  margin-left:-75px;
  transform-origin:50% 100%;
  transform:translateX(var(--x)) rotate(var(--a));
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
  filter:drop-shadow(0 16px 28px rgba(0,0,0,0.5));
  cursor:pointer;
}
.fan-item:hover{
  transform:translateX(var(--x)) rotate(var(--a)) translateY(-30px);
  filter:drop-shadow(0 24px 40px rgba(59,130,246,0.35));
  z-index:50 !important;
}
.fan-card{
  width:100%;
  aspect-ratio:5/8;
  background:var(--lx-card);
  border:1px solid var(--lx-border);
  border-radius:15px;
  padding:5px;
}
.fan-screen{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:10px;
  background:#000;
}
.fan-screen img{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:auto;
  min-height:145%;
  object-fit:cover;
  object-position:top;
  display:block;
  animation:screenPan 16s ease-in-out infinite;
}
.fan-item:hover .fan-screen img{
  animation-play-state:paused;
}
.gallery .section-head{
  margin-top:28px;
  margin-bottom:0;
}
@media (max-width:700px){
  .fan-stage{
    height:auto;
    max-width:100%;
    display:flex;
    gap:14px;
    overflow-x:auto;
    padding:6px 24px 18px;
    -webkit-overflow-scrolling:touch;
  }
  .fan-item{
    position:relative;
    bottom:auto;
    left:auto;
    margin-left:0;
    flex:0 0 108px;
    transform:none !important;
    filter:drop-shadow(0 10px 20px rgba(0,0,0,0.4));
  }
  .fan-item:hover{transform:none !important;}
}

/* ===== stats ===== */
.stats{
  display:flex;
  justify-content:center;
  gap:64px;
  flex-wrap:wrap;
  padding:24px 0 60px;
  text-align:center;
}
.stat-num{
  font-size:40px;
  font-weight:800;
  background:linear-gradient(135deg,#60a5fa,#3b82f6);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.stat-label{
  color:var(--lx-muted);
  font-size:14px;
  margin-top:4px;
}

/* ===== features grid ===== */
.features{
  padding:30px 0 70px;
}
.features-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;
}
.feature-card{
  background:var(--lx-card);
  border:1px solid var(--lx-border);
  border-radius:18px;
  padding:28px 24px;
  transition:transform .25s, border-color .25s, box-shadow .25s;
}
.feature-card:hover{
  transform:translateY(-4px);
  border-color:var(--lx-accent);
  box-shadow:0 12px 40px rgba(59,130,246,0.15);
}
.feature-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--lx-accent-soft);
  margin-bottom:18px;
  font-size:22px;
}
.feature-card h3{
  font-size:18px;
  font-weight:700;
  margin-bottom:8px;
  color:var(--lx-text-strong);
}
.feature-card p{
  color:var(--lx-muted);
  font-size:14.5px;
}

/* ===== showcase / premium block ===== */
.showcase{
  padding:0 0 80px;
}
.showcase-box{
  background:linear-gradient(135deg, rgba(59,130,246,0.1), rgba(245,158,11,0.08));
  border:1px solid var(--lx-border);
  border-radius:24px;
  padding:56px 40px;
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:40px;
  align-items:center;
}
@media (max-width:820px){
  .showcase-box{grid-template-columns:1fr;}
}
.showcase-box h2{
  font-size:clamp(24px,3.4vw,32px);
  font-weight:800;
  margin-bottom:16px;
}
.showcase-box p{
  color:var(--lx-muted);
  margin-bottom:24px;
  font-size:15.5px;
}
.badge-gold{
  display:inline-block;
  padding:5px 14px;
  border-radius:999px;
  background:var(--lx-gold);
  color:#1a1200;
  font-weight:700;
  font-size:12.5px;
  margin-bottom:18px;
}

/* ===== CTA ===== */
.cta{
  text-align:center;
  padding:20px 0 120px;
}
.cta-box{
  background:var(--lx-card);
  border:1px solid var(--lx-border);
  border-radius:24px;
  padding:64px 24px;
  position:relative;
  overflow:hidden;
}
.cta-box::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:radial-gradient(circle, rgba(59,130,246,0.25), transparent 60%);
  animation:pulseGlow 5s ease-in-out infinite;
}
@keyframes pulseGlow{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.15);}
}
.cta-box h2{
  position:relative;
  font-size:clamp(26px,4vw,38px);
  font-weight:800;
  margin-bottom:16px;
}
.cta-box p{
  position:relative;
  color:var(--lx-muted);
  margin-bottom:30px;
}
.cta-box .btn-primary{position:relative;}
