:root { --ce-accent:#50C878; }
html { scroll-behavior:smooth; }
.py-6 { padding-top:5rem; padding-bottom:5rem; }

/* Navbar hover underline */
.hover-underline {
  position:relative;
}
.hover-underline::after {
  content:""; position:absolute; bottom:0; left:0;
  width:0; height:2px; background:var(--ce-accent);
  transition:.3s;
}
.hover-underline:hover::after { width:100%; }

/* Hero */
.hero { min-height:100vh; position:relative; }
.hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.5); }
.hero-gradient { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.6),transparent 60%); }

.hero-bg,
.hero-gradient {
  pointer-events: none; /* фон не перехватывает клики */
}
/* Glow buttons */
.btn-glow:hover { box-shadow:0 0 15px rgba(80,200,120,.7); }

/* Service cards hover */
.service-card { transition:.3s; }
.service-card:hover { transform:translateY(-6px) scale(1.03); box-shadow:0 1rem 2rem rgba(0,0,0,.2); }

/* Fade up animation */
.fade-up { opacity:0; transform:translateY(40px); transition:all .8s ease; }
.fade-up.show { opacity:1; transform:translateY(0); }

/* WhatsApp floating button */
.whatsapp-float {
  position:fixed; bottom:20px; right:20px;
  background:#25D366; color:white;
  font-size:2rem; width:60px; height:60px;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 15px rgba(0,0,0,.3);
  animation:pulse 2s infinite;
  z-index:1000;
}
@keyframes pulse {
  0% { box-shadow:0 0 0 0 rgba(37,211,102,0.6); }
  70% { box-shadow:0 0 0 20px rgba(37,211,102,0); }
  100% { box-shadow:0 0 0 0 rgba(37,211,102,0); }
}
.whatsapp-float:hover { transform:scale(1.1); }
.compare {
  position: relative;
  overflow: hidden;
  cursor: ew-resize;
  border-radius: .5rem;
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
}
.compare {
  position: relative;
  overflow: hidden;
  border-radius: .5rem;
  aspect-ratio: 16 / 9;
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
  cursor: ew-resize;
}

/* обе картинки всегда одинаковые по размеру */
.compare img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

/* "До" снизу */
.compare .before { z-index: 1; }

/* "После" сверху, обрезается clip-path */
.compare .after {
  z-index: 2;
  clip-path: inset(0 50% 0 0); /* по умолчанию половина */
  transition: clip-path .05s;
}

/* разделитель */
.compare .divider {
  position: absolute;
  top: 0;
  left: 50%;
  width: 3px;
  height: 100%;
  background: var(--ce-accent, #50C878);
  z-index: 3;
  display:flex; justify-content:center;
}
.compare .divider .handle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 24px; height: 24px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--ce-accent, #50C878);
  box-shadow: 0 0 6px rgba(0,0,0,.4);
}
.compare .after {
  z-index: 2;
  clip-path: inset(0 50% 0 0); /* половина по умолчанию */
  /* убираем transition здесь, чтобы не лагало */
}

#master {
  background: linear-gradient(135deg, #111 0%, #222 100%);
  position: relative;
  z-index: 1;
}
#master .master-photo-wrapper {
  position: relative;
  display: inline-block;
  padding: 15px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 0 40px rgba(0,0,0,.5);
}
#master .master-photo {
  border-radius: 50%;
  max-width: 400px;
}
#master .master-gradient {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at right, rgba(80,200,120,0.2), transparent 60%),
              linear-gradient(to top, rgba(0,0,0,.6), transparent 70%);
  z-index: 0;
  pointer-events: none;
}
