/* ============================================================
   SECTION BASE
============================================================ */
.section {
  min-height: 100vh;    /* fallback */
  min-height: 100dvh;   /* visible viewport on mobile/tablet */
  padding: 5rem 0;
  padding-right: calc(var(--sidebar-w) * 5 + 2rem);
  position: relative;
  display: flex;
  align-items: center;
}

.section__inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 3rem;
}

/* ============================================================
   SCROLL REVEAL ANIMATIONS
============================================================ */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   PROGRESS BAR
============================================================ */
.progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(to right, var(--orange), var(--teal));
  z-index: 999;
  transform-origin: left;
  transform: scaleX(0);
  transition: transform 0.1s linear;
}

/* ============================================================
   SECTION DIVIDERS
============================================================ */
.section-divider {
  height: 1px;
  background: rgba(0,0,0,0.07);
  margin-right: calc(var(--sidebar-w) * 5 + 2rem);
}

