/* ===== Scroll reveal ===== */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ===== Hero blobs ===== */
.blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: .35;
  z-index: 0;
  pointer-events: none;
}
.blob-a {
  width: 480px; height: 480px;
  top: -120px; left: -160px;
  background: radial-gradient(circle, #818cf8, transparent 70%);
}
.blob-b {
  width: 420px; height: 420px;
  top: 80px; right: -140px;
  background: radial-gradient(circle, #e879f9, transparent 70%);
}
.dark .blob { opacity: .25; }

/* ===== Hero mockup ===== */
.mockup {
  position: relative;
  z-index: 1;
  border-radius: 1rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  box-shadow: 0 30px 60px -15px rgba(79,70,229,.25);
  overflow: hidden;
}
.dark .mockup {
  background: rgb(15 23 42);
  border-color: rgb(30 41 59);
}
.mockup-topbar {
  display: flex;
  gap: .4rem;
  padding: .7rem 1rem;
  border-bottom: 1px solid rgb(226 232 240);
}
.dark .mockup-topbar { border-color: rgb(30 41 59); }
.mockup-topbar .dot { width: .6rem; height: .6rem; border-radius: 50%; }

.stat-card {
  background: rgb(248 250 252);
  border-radius: .75rem;
  padding: .9rem;
  text-align: center;
}
.dark .stat-card { background: rgb(30 41 59 / .5); }

.chart {
  display: flex;
  align-items: flex-end;
  gap: .5rem;
  height: 120px;
}
.chart div {
  flex: 1;
  border-radius: .35rem .35rem 0 0;
  background: linear-gradient(to top, #4f46e5, #a5b4fc);
}

.mockup-float {
  position: absolute;
  bottom: -1.5rem;
  left: -1.5rem;
  background: white;
  border: 1px solid rgb(226 232 240);
  border-radius: .9rem;
  padding: .9rem 1.2rem;
  box-shadow: 0 20px 40px -10px rgba(0,0,0,.15);
  z-index: 2;
}
.dark .mockup-float {
  background: rgb(15 23 42);
  border-color: rgb(30 41 59);
}

/* ===== Language switcher ===== */
.lang-option {
  color: rgb(100 116 139);
}
.dark .lang-option { color: rgb(148 163 184); }
.lang-option.is-active {
  background: #4f46e5;
  color: white;
}

/* ===== Scrollbar ===== */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgb(203 213 225); border-radius: 9999px; }
.dark ::-webkit-scrollbar-thumb { background: rgb(51 65 85); }
