::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--color-text-faint); border-radius: 2px; }
::selection { background: rgba(255, 255, 255, 0.2); color: #fff; }

/* Section base */
.section {
  position: relative;
  z-index: var(--z-content);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-2xl) var(--container-padding);
}

.section--full {
  min-height: 100vh;
}

.section:not(.hero) {
  background: rgba(0, 0, 0, 0.35);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.section__inner {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
}

/* Section title */
.section-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-2xl);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
  text-align: center;
  margin-bottom: var(--space-xl);
}

/* Scroll reveal */
.reveal-item {
  opacity: 0;
  transform: translateY(60px);
  filter: blur(6px);
  transition: opacity 1.2s ease, transform 1.2s ease, filter 1.2s ease;
}

.reveal-item.is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0px);
}

.reveal-item:nth-child(2) { transition-delay: 0.2s; }
.reveal-item:nth-child(3) { transition-delay: 0.4s; }
.reveal-item:nth-child(4) { transition-delay: 0.6s; }

/* Main */
main {
  opacity: 0;
  transition: opacity 0.5s ease;
}

main.is-visible {
  opacity: 1;
}
