/* =========================================
   BASE — tipografia global, links, utilitários
   ========================================= */
body {
  font-family: var(--font);
  color: #1a2a3a;
  background: #fff;
  overflow-x: clip;
}

/* =========================================
   UTILITÁRIOS
   ========================================= */
.wrap {
  width: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding-left: var(--g);
  padding-right: var(--g);
}

.sp    { padding-top: 96px; padding-bottom: 96px; }
.sp-sm { padding-top: 60px; padding-bottom: 60px; }

.section-label {
  display: block;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .36em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 10px;
}

.section-title {
  font-size: clamp(1.9rem, 3.8vw, 3rem);
  font-weight: 400;
  line-height: 1.1;
}

/* =========================================
   FADE-IN (scroll reveal)
   ========================================= */
.fi {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s ease, transform .7s ease;
}
.fi.show { opacity: 1; transform: translateY(0); }
.fi.d1 { transition-delay: .1s; }
.fi.d2 { transition-delay: .2s; }
.fi.d3 { transition-delay: .3s; }
.fi.d4 { transition-delay: .4s; }

/* =========================================
   PÁGINAS (SPA)
   ========================================= */
.page        { display: none; }
.page.active { display: block; }
