/* ============================================================
   Dr. Rodrigo Godoy Ribeiro — Movimento discreto do site
   Reveal on scroll, hover lift/glow, count-up, zoom e parallax leve.
   Tudo com CSS transitions + IntersectionObserver nativo — sem libs.
   Progressive enhancement: sem JS ou com prefers-reduced-motion,
   tudo permanece visível e estático.
   ============================================================ */

/* ---------- Reveal on scroll ---------- */
html.rg-motion :is(
  .rg-panel, .rg-benefit, .rg-tile, .rg-treat-card, .rg-case,
  .rg-ba-card, .rg-diff-item, .rg-about-point, .rg-doctor-area-item,
  .rg-stat, .rg-step, .rg-checklist, .rg-tech-list
).rg-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .65s cubic-bezier(.2,.7,.2,1), transform .65s cubic-bezier(.2,.7,.2,1);
}
html.rg-motion :is(
  .rg-panel, .rg-benefit, .rg-tile, .rg-treat-card, .rg-case,
  .rg-ba-card, .rg-diff-item, .rg-about-point, .rg-doctor-area-item,
  .rg-stat, .rg-step, .rg-checklist, .rg-tech-list
).rg-reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Stagger dentro das grades comuns */
:is(.rg-cards-3, .rg-two-col, .rg-related-grid, .rg-cases, .rg-ba-grid,
    .rg-steps, .rg-stats-grid, .rg-tiles, .rg-diff, .rg-doctor-areas)
  > .rg-reveal:nth-child(1) { transition-delay: 0ms; }
:is(.rg-cards-3, .rg-two-col, .rg-related-grid, .rg-cases, .rg-ba-grid,
    .rg-steps, .rg-stats-grid, .rg-tiles, .rg-diff, .rg-doctor-areas)
  > .rg-reveal:nth-child(2) { transition-delay: 80ms; }
:is(.rg-cards-3, .rg-two-col, .rg-related-grid, .rg-cases, .rg-ba-grid,
    .rg-steps, .rg-stats-grid, .rg-tiles, .rg-diff, .rg-doctor-areas)
  > .rg-reveal:nth-child(3) { transition-delay: 160ms; }
:is(.rg-cards-3, .rg-two-col, .rg-related-grid, .rg-cases, .rg-ba-grid,
    .rg-steps, .rg-stats-grid, .rg-tiles, .rg-diff, .rg-doctor-areas)
  > .rg-reveal:nth-child(4) { transition-delay: 240ms; }
:is(.rg-cards-3, .rg-two-col, .rg-related-grid, .rg-cases, .rg-ba-grid,
    .rg-steps, .rg-stats-grid, .rg-tiles, .rg-diff, .rg-doctor-areas)
  > .rg-reveal:nth-child(5) { transition-delay: 320ms; }
:is(.rg-cards-3, .rg-two-col, .rg-related-grid, .rg-cases, .rg-ba-grid,
    .rg-steps, .rg-stats-grid, .rg-tiles, .rg-diff, .rg-doctor-areas)
  > .rg-reveal:nth-child(n+6) { transition-delay: 380ms; }

/* ---------- Hover lift + brilho dourado (cards que ainda não tinham) ---------- */
.rg-panel { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.rg-panel:hover { transform: translateY(-4px); box-shadow: var(--rg-shadow-lg); border-color: rgba(200,155,114,.5); }
.rg-case { transition: transform .25s ease, box-shadow .25s ease; }
.rg-case:hover { transform: translateY(-4px); box-shadow: var(--rg-shadow-lg); }
.rg-ba-card { transition: transform .25s ease, box-shadow .25s ease; }
.rg-ba-card:hover { transform: translateY(-4px); box-shadow: var(--rg-shadow-lg); }
.rg-doctor-area-item, .rg-about-point { transition: transform .2s ease; }
.rg-doctor-area-item:hover, .rg-about-point:hover { transform: translateX(3px); }

/* ---------- Check-list: ícones aparecem em sequência ---------- */
:is(.rg-panel, .rg-checklist, .rg-tech-list) li svg {
  opacity: 0; transform: scale(.4);
  transition: opacity .4s ease, transform .4s cubic-bezier(.34,1.56,.64,1);
}
:is(.rg-panel, .rg-checklist, .rg-tech-list).is-visible li svg { opacity: 1; transform: scale(1); }
:is(.rg-panel, .rg-checklist, .rg-tech-list) li:nth-child(1) svg { transition-delay: .05s; }
:is(.rg-panel, .rg-checklist, .rg-tech-list) li:nth-child(2) svg { transition-delay: .12s; }
:is(.rg-panel, .rg-checklist, .rg-tech-list) li:nth-child(3) svg { transition-delay: .19s; }
:is(.rg-panel, .rg-checklist, .rg-tech-list) li:nth-child(4) svg { transition-delay: .26s; }
:is(.rg-panel, .rg-checklist, .rg-tech-list) li:nth-child(5) svg { transition-delay: .33s; }
:is(.rg-panel, .rg-checklist, .rg-tech-list) li:nth-child(n+6) svg { transition-delay: .40s; }

/* ---------- Zoom leve em imagens de card/retrato ---------- */
.rg-doctor-photo img, .rg-about-photo img {
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.rg-doctor-photo:hover img, .rg-about-photo:hover img { transform: scale(1.045); }

/* ---------- Tecnologia: zoom no hover + parallax sutil no scroll ---------- */
.rg-tech-media img {
  transform: translateY(var(--rg-parallax-y, 0px)) scale(var(--rg-zoom-scale, 1.06));
  transition: transform .3s cubic-bezier(.2,.7,.2,1);
}
.rg-tech-media:hover img { --rg-zoom-scale: 1.12; }
@media (max-width: 820px) { .rg-tech-media img { transform: none !important; } }

/* ---------- Contador de estatísticas ---------- */
.rg-stat .v, .rg-hero-lp .rg-stat .v { font-variant-numeric: tabular-nums; }

/* ---------- Sem JS / reduced motion: nada fica escondido ---------- */
@media (prefers-reduced-motion: reduce) {
  html.rg-motion .rg-reveal,
  html.rg-motion .rg-reveal.is-visible {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
  :is(.rg-panel, .rg-checklist, .rg-tech-list) li svg {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
  .rg-tech-media img { transform: none !important; }
}
