/* ==========================================================================
   slides.css — Estilos específicos por slide / modificadores únicos
   ========================================================================== */

/* --- Slide hero: layout base reaproveitado --- */
.slide-hero { padding: 80px; }
.slide-hero .hero__top, .slide-hero .hero__foot {
  position: relative;
  z-index: 2;
}

/* --- Modificador único: abertura Dia 1 --- */
.slide-hero--dia1-abertura .hero__h1 { font-size: 132px; line-height: 0.94; }
.slide-hero--dia1-abertura .hero__body { max-width: 1620px; }
.slide-hero--dia1-abertura::before {
  content: 'DIA 1';
  position: absolute;
  top: 60px; right: -40px;
  font-family: var(--font-display);
  font-size: 280px;
  line-height: 0.8;
  letter-spacing: -0.02em;
  color: rgba(226,94,62,0.10);
  z-index: 1;
  transform: rotate(-4deg);
}
.slide-hero--dia1-abertura::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(90deg, transparent 0 119px, rgba(0,0,0,0.025) 119px 120px);
  pointer-events: none;
  z-index: 0;
}

/* --- Modificador único: reentry Dia 2 --- */
.slide-hero--dia2-reentry .hero__h1 { font-size: 124px; line-height: 0.95; }
.slide-hero--dia2-reentry .hero__body { max-width: 1620px; }
.slide-hero--dia2-reentry::before {
  content: 'DIA 2';
  position: absolute;
  bottom: 40px; right: -30px;
  font-family: var(--font-display);
  font-size: 300px;
  line-height: 0.8;
  letter-spacing: -0.02em;
  color: rgba(255,255,255,0.07);
  z-index: 1;
  transform: rotate(-4deg);
}

/* --- Stat slide: preço reveal R$ 6k --- */
.slide-stat--reveal-6k {
  background: var(--color-bg-deep);
  color: #fff;
}
.slide-stat--reveal-6k .stat__number {
  background: linear-gradient(135deg, #fff 0%, var(--color-primary) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
}

/* --- Lab page only: separador entre exemplos --- */
.lab-slide-label {
  position: absolute;
  top: 24px; left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.78);
  color: #fff;
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 4px;
  z-index: 50;
}

/* --- Common slide title slot (centro) --- */
.slide-center-title {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 32px;
  position: relative;
  z-index: 2;
}
.slide-center-title__eyebrow { color: var(--color-primary); }
.slide-center-title__h {
  font-family: var(--font-display);
  font-size: 200px;
  line-height: 0.9;
  letter-spacing: -0.01em;
  max-width: 1700px;
}
.slide-center-title__h em {
  font-style: normal;
  color: var(--color-primary);
  position: relative;
}
.slide-center-title__h em::after {
  content: '';
  position: absolute;
  left: 0; bottom: 8px;
  width: 100%; height: 14px;
  background: rgba(226,94,62,0.25);
  z-index: -1;
}
.slide-center-title__sub {
  font-family: var(--font-body);
  font-size: 32px;
  max-width: 1200px;
  color: var(--color-text-muted);
  line-height: 1.35;
}
.slide--dark .slide-center-title__sub { color: rgba(255,255,255,0.65); }

/* --- Quote slide modificador --- */
.slide-quote { justify-content: center; align-items: center; }

/* --- Marquee slide (full-bleed transição) --- */
.slide-marquee {
  background: var(--color-primary);
  color: #fff;
  justify-content: center;
  padding: 0;
}
.slide-marquee .marquee {
  background: transparent;
  font-size: 180px;
  padding: 40px 0;
}
.slide-marquee .marquee__item {
  font-size: 200px;
  font-family: var(--font-display);
}
.slide-marquee .marquee__sep { font-size: 80px; opacity: 0.65; }

/* --- Dept grid slide --- */
.slide-grid { padding: 80px; gap: 48px; justify-content: space-between; }
.slide-grid__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 60px;
}
.slide-grid__head > div { display: flex; flex-direction: column; gap: 20px; }
.slide-grid__title {
  font-family: var(--font-display);
  font-size: 88px;
  line-height: 0.95;
  letter-spacing: -0.005em;
}

/* --- Stat single huge number (slide-stat genérico) --- */
.slide-stat { background: var(--color-bg-deep); color: #fff; padding: 80px; }
.slide-stat__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 2;
}

/* --- VS slide modificador --- */
.slide-vs { padding: 0; }
.slide-vs .vs-slab__side--left { padding: 80px; }
.slide-vs .vs-slab__side--right { padding: 80px 80px 80px 160px; }

/* --- Pitch slide --- */
.slide-pitch {
  background: var(--color-bg-deep);
  color: #fff;
  align-items: center;
  justify-content: center;
  padding: 80px;
}
.slide-pitch .pitch-card { width: 1500px; max-width: 100%; }

/* --- Chat flood slide --- */
.slide-chat { padding: 60px 80px; background: var(--color-bg-cream); }
.slide-chat__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 40px;
}
.slide-chat__title {
  font-family: var(--font-display);
  font-size: 88px;
  line-height: 1;
}

/* --- Terminal slide --- */
.slide-terminal { background: var(--color-bg-dark); padding: 80px; }
.slide-terminal__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 40px;
  color: #fff;
}
.slide-terminal__title {
  font-family: var(--font-display);
  font-size: 72px;
  line-height: 1;
  color: #fff;
}
.slide-terminal .terminal { flex: 1; width: 100%; min-height: 600px; }

/* --- Dossier slide adjust --- */
.slide--paper { justify-content: center; align-items: center; }
