/* ═══════════════════════════════════════════════════════
   RIOLUX — GLOBAL
   Reset, base, layout, animações e tipografia utilitária.
═══════════════════════════════════════════════════════ */

/* ─── RESET ─── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: 'Inter', system-ui, sans-serif;
  background: var(--silver-100);
  color: var(--text-900);
  line-height: 1.6;
  overflow-x: hidden;
}

img  { max-width: 100%; display: block; }
a    { text-decoration: none; }
ul   { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* ─── LAYOUT ─── */
.container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.section           { padding: 96px 0; }
.section--light    { background: var(--white); }
.section--silver   { background: var(--silver-100); }
.section--dark     { background: var(--navy-950); }

/* ─── ANIMAÇÕES ─── */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .65s cubic-bezier(.16,1,.3,1),
              transform .65s cubic-bezier(.16,1,.3,1);
}
.reveal.visible        { opacity: 1; transform: none; }
.reveal-delay-1        { transition-delay: .08s; }
.reveal-delay-2        { transition-delay: .16s; }
.reveal-delay-3        { transition-delay: .24s; }
.reveal-delay-4        { transition-delay: .32s; }
.reveal-delay-5        { transition-delay: .40s; }

/* ─── TIPOGRAFIA UTILITÁRIA ─── */
.overline {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-500);
  margin-bottom: 12px;
  display: block;
}
.overline--light { color: rgba(255,255,255,.55); }

.section-title {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -.04em;
  margin-bottom: 16px;
}
.section-title--white { color: var(--white); }

.section-sub {
  font-size: 17px;
  color: var(--text-500);
  max-width: 560px;
  line-height: 1.65;
}
.section-sub--white { color: rgba(255,255,255,.62); }

.section-head           { margin-bottom: 52px; }
.section-head--center   { text-align: center; }
.section-head--center .section-sub { margin: 0 auto; }

.gold-word {
  background: var(--gradient-gold);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
