/* ============================================================
   Dr. Rodrigo Godoy Ribeiro — Estilos do site
   Usa os tokens da marca (tokens.css). Serif Cormorant + Mulish.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--rg-bg);
  color: var(--rg-text);
  font-family: var(--rg-font-body);
  font-size: var(--rg-text-md);
  line-height: var(--rg-leading-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--rg-font-display);
  font-weight: 500;
  margin: 0;
  line-height: var(--rg-leading-tight);
  color: var(--rg-text);
}

p { margin: 0; }

a { color: var(--rg-bronze); text-decoration: none; transition: color .18s ease; }
a:hover { color: var(--rg-espresso); }

img { max-width: 100%; display: block; }

::selection { background: rgba(110,62,32,.16); }

/* ---- Utilidades ---- */
.rg-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.rg-eyebrow {
  font-family: var(--rg-font-body);
  font-weight: 700;
  font-size: var(--rg-text-xs);
  letter-spacing: var(--rg-tracking-label);
  text-transform: uppercase;
  color: var(--rg-copper);
}
.rg-section { padding: clamp(64px, 9vw, 120px) 0; }
.rg-section-sm { padding: clamp(48px, 6vw, 80px) 0; }

.rg-btn-a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--rg-font-body);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.85rem;
  border-radius: var(--rg-radius-pill);
  padding: 15px 32px;
  cursor: pointer;
  border: 1px solid var(--rg-accent);
  background: var(--rg-accent);
  color: var(--rg-on-accent);
  transition: background .2s ease, color .2s ease, transform .1s ease, border-color .2s ease;
}
.rg-btn-a:hover { background: var(--rg-espresso); border-color: var(--rg-espresso); color: var(--rg-on-accent); transform: translateY(-1px); }
.rg-btn-a.ghost { background: transparent; color: var(--rg-accent); }
.rg-btn-a.ghost:hover { background: rgba(110,62,32,.08); color: var(--rg-espresso); }
.rg-btn-a.on-dark { background: var(--rg-rose-gold); border-color: var(--rg-rose-gold); color: var(--rg-graphite); }
.rg-btn-a.on-dark:hover { background: #dcb590; border-color: #dcb590; }
.rg-btn-a.ghost.on-dark { background: transparent; color: var(--rg-rose-gold); border-color: rgba(200,155,114,.5); }
.rg-btn-a.ghost.on-dark:hover { background: rgba(200,155,114,.12); }

/* ============================================================
   HEADER
   ============================================================ */
.rg-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(243,236,226,.82);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid var(--rg-hairline-soft);
}
.rg-header-inner { display: flex; align-items: center; gap: 24px; height: 76px; }
.rg-brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.rg-brand img { height: 34px; width: auto; }
.rg-brand .rg-brand-mark { height: 40px; width: auto; }
.rg-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.rg-nav-item {
  position: relative;
  font-size: 20px; color: var(--rg-text); font-weight: 600;
  cursor: pointer; background: none; border: none; font-family: var(--rg-font-display);
  padding: 6px 0;
}
.rg-nav-item:hover { color: var(--rg-bronze); }
.rg-nav > a.rg-nav-item, .rg-nav .rg-nav-trigger { white-space: nowrap; }
.rg-nav-trigger { display: inline-flex; align-items: center; gap: 6px; }
.rg-nav-trigger svg { transition: transform .2s ease; }
.rg-nav-wrap.open .rg-nav-trigger svg { transform: rotate(180deg); }

/* Mega menu de tratamentos */
.rg-nav-wrap { position: relative; }
.rg-mega {
  position: absolute; top: calc(100% + 14px); right: 0;
  width: 620px; max-width: 88vw;
  background: var(--rg-parchment);
  border: 1px solid var(--rg-hairline);
  border-radius: var(--rg-radius-lg);
  box-shadow: var(--rg-shadow-lg);
  padding: 14px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 4px;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.rg-nav-wrap.open .rg-mega { opacity: 1; visibility: visible; transform: translateY(0); }
.rg-mega-link {
  display: block; padding: 12px 14px; border-radius: var(--rg-radius-md);
  transition: background .16s ease;
}
.rg-mega-link:hover { background: var(--rg-sand); }
.rg-mega-link .t { font-family: var(--rg-font-display); font-size: 1.15rem; color: var(--rg-ink); font-weight: 500; }
.rg-mega-link .d { font-size: 0.8rem; color: var(--rg-ink-soft); line-height: 1.45; margin-top: 2px; }

.rg-header .rg-cta-mobile { display: none; }
.rg-burger { display: none; background: none; border: none; cursor: pointer; padding: 8px; margin-left: auto; }
.rg-burger svg { display: block; }

/* Menu mobile */
.rg-mobile-menu { display: none; }

@media (max-width: 1024px) {
  .rg-nav, .rg-header .rg-btn-a.rg-header-cta { display: none; }
  .rg-burger { display: block; }
  .rg-mobile-menu {
    display: block; overflow: hidden; max-height: 0;
    transition: max-height .35s ease; background: var(--rg-parchment);
    border-bottom: 1px solid var(--rg-hairline);
  }
  .rg-mobile-menu.open { max-height: 720px; }
  .rg-mobile-inner { padding: 16px 32px 28px; display: flex; flex-direction: column; gap: 2px; }
  .rg-mobile-inner a { padding: 12px 0; border-bottom: 1px solid var(--rg-hairline-soft); color: var(--rg-ink); font-size: 1rem; }
  .rg-mobile-inner .rg-btn-a { margin-top: 16px; justify-content: center; }
}

/* ============================================================
   HERO
   ============================================================ */
.rg-hero { position: relative; overflow: hidden; background: var(--rg-graphite); }
.rg-hero-media { position: absolute; inset: 0; }
.rg-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.rg-hero-scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(15,10,6,.90) 0%, rgba(15,10,6,.72) 34%, rgba(15,10,6,.30) 62%, rgba(15,10,6,.05) 100%),
    linear-gradient(0deg, rgba(15,10,6,.55) 0%, rgba(15,10,6,0) 40%);
}
/* Páginas internas: scrim em degradê marrom (bronze/espresso) */
.rg-hero-lp .rg-hero-scrim {
  background:
    linear-gradient(90deg, rgba(74,40,20,.92) 0%, rgba(110,62,32,.80) 34%, rgba(110,62,32,.40) 62%, rgba(110,62,32,.08) 100%),
    linear-gradient(0deg, rgba(45,24,12,.60) 0%, rgba(45,24,12,0) 40%);
}
.rg-hero-inner { position: relative; z-index: 2; padding: clamp(80px, 11vw, 150px) 0 clamp(64px, 8vw, 110px); }
.rg-hero-content { max-width: 640px; }
.rg-hero .rg-eyebrow { color: var(--rg-rose-gold); }
.rg-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--rg-font-body); font-weight: 700; font-size: 0.72rem;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--rg-rose-gold);
  border: 1px solid rgba(200,155,114,.4);
  padding: 7px 16px; border-radius: var(--rg-radius-pill);
  margin-bottom: 26px;
}
.rg-hero h1 {
  color: #F7F1EA;
  font-size: clamp(2.4rem, 5.2vw, 4rem);
  font-weight: 500;
  letter-spacing: -0.01em;
  margin-bottom: 22px;
}
.rg-hero h1 .accent { color: var(--rg-rose-gold); }
.rg-hero-sub {
  color: rgba(240,231,220,.82);
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  line-height: 1.55; max-width: 560px; margin-bottom: 36px;
}
.rg-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }

.rg-stats {
  position: relative; z-index: 2;
  border-top: 1px solid rgba(200,155,114,.22);
  background: rgba(10,7,4,.35);
  backdrop-filter: blur(2px);
}
.rg-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.rg-stat { padding: 30px 24px; border-left: 1px solid rgba(200,155,114,.16); }
.rg-stat:first-child { border-left: none; }
.rg-stat .v { font-family: var(--rg-font-display); font-size: clamp(1.7rem, 3vw, 2.4rem); color: var(--rg-rose-gold); font-weight: 500; line-height: 1; }
.rg-stat .l { font-size: 0.82rem; color: rgba(240,231,220,.7); margin-top: 8px; letter-spacing: 0.02em; }
.rg-stats-grid-4 { grid-template-columns: repeat(4, 1fr); }
.rg-stat-icon { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.rg-stat-icon .ic { color: var(--rg-rose-gold); }
.rg-stat-icon .l { font-size: 0.94rem; color: rgba(240,231,220,.88); line-height: 1.4; font-weight: 500; margin-top: 0; }
@media (max-width: 760px) {
  .rg-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .rg-stat:nth-child(3) { border-left: none; }
  .rg-stat { border-top: 1px solid rgba(200,155,114,.14); }
  .rg-stat:nth-child(1), .rg-stat:nth-child(2) { border-top: none; }
}

/* ============================================================
   INTRO / O QUE É
   ============================================================ */
.rg-intro-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(40px, 6vw, 88px); align-items: start; }
.rg-intro h2 { font-size: clamp(2rem, 3.6vw, 3rem); margin: 14px 0 26px; }
.rg-intro p + p { margin-top: 18px; }
.rg-intro p { color: var(--rg-ink-soft); font-size: 1.08rem; }
.rg-checklist {
  background: var(--rg-parchment);
  border: 1px solid var(--rg-hairline);
  border-radius: var(--rg-radius-lg);
  padding: 34px 34px 30px;
  box-shadow: var(--rg-shadow-md);
}
.rg-checklist h3 { font-size: 1.3rem; margin-bottom: 20px; }
.rg-checklist ul { list-style: none; margin: 0; padding: 0; }
.rg-checklist li { display: flex; gap: 13px; padding: 11px 0; border-top: 1px solid var(--rg-hairline-soft); font-size: 0.98rem; color: var(--rg-ink); line-height: 1.45; }
.rg-checklist li:first-child { border-top: none; }
.rg-check-ic { flex-shrink: 0; width: 22px; height: 22px; margin-top: 1px; color: var(--rg-bronze); }
@media (max-width: 820px) { .rg-intro-grid { grid-template-columns: 1fr; } }

/* ============================================================
   BENEFITS
   ============================================================ */
.rg-band { background: var(--rg-surface-2); }
.rg-head-center { text-align: center; max-width: 720px; margin: 0 auto clamp(44px, 5vw, 64px); }
.rg-head-center h2 { font-size: clamp(2rem, 3.6vw, 3rem); margin: 14px 0 16px; }
#tratamentos .rg-head-center, #clinica .rg-head-center { max-width: none; }
#tratamentos .rg-head-center h2, #clinica .rg-head-center h2 { white-space: nowrap; font-size: clamp(1.3rem, 3.6vw, 3rem); }
.rg-head-center p { color: var(--rg-ink-soft); font-size: 1.08rem; }
.rg-cards-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.rg-benefit {
  background: var(--rg-parchment);
  border: 1px solid var(--rg-hairline);
  border-radius: var(--rg-radius-lg);
  padding: 32px 30px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.rg-benefit:hover { transform: translateY(-4px); box-shadow: var(--rg-shadow-lg); }
.rg-benefit-num { font-family: var(--rg-font-display); font-size: 1.5rem; color: var(--rg-copper); }
.rg-benefit-ic { width: 40px; height: 40px; color: var(--rg-bronze); margin-bottom: 18px; }
.rg-benefit h3 { font-size: 1.4rem; margin-bottom: 10px; }
.rg-benefit p { color: var(--rg-ink-soft); font-size: 0.98rem; }
@media (max-width: 900px) { .rg-cards-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .rg-cards-3 { grid-template-columns: 1fr; } }
.rg-cards-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
@media (max-width: 1000px) { .rg-cards-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .rg-cards-4 { grid-template-columns: 1fr; } }

/* ============================================================
   COMPARISON / MODALITIES
   ============================================================ */
.rg-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.rg-panel {
  background: var(--rg-parchment);
  border: 1px solid var(--rg-hairline);
  border-radius: var(--rg-radius-lg);
  padding: 36px 34px;
  box-shadow: var(--rg-shadow-md);
}
.rg-panel.dark { background: var(--rg-metal); border-color: rgba(200,155,114,.2); }
.rg-panel.dark h3, .rg-panel.dark .rg-panel-sub { color: #F0E7DC; }
.rg-panel.dark li { color: rgba(240,231,220,.85); border-color: rgba(200,155,114,.16); }
.rg-panel.dark .rg-check-ic { color: var(--rg-rose-gold); }
.rg-panel h3 { font-size: 1.6rem; margin-bottom: 6px; }
.rg-panel-sub { font-size: 0.9rem; color: var(--rg-copper); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 22px; }
.rg-panel ul { list-style: none; margin: 0; padding: 0; }
.rg-panel li { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid var(--rg-hairline-soft); font-size: 0.98rem; line-height: 1.45; }
.rg-panel li:first-child { border-top: none; }
.rg-note {
  margin-top: 26px; text-align: center; color: var(--rg-ink-soft);
  font-style: italic; font-family: var(--rg-font-display); font-size: 1.3rem;
}
@media (max-width: 760px) { .rg-two-col { grid-template-columns: 1fr; } }

/* ============================================================
   PROCESS
   ============================================================ */
.rg-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.rg-step { position: relative; padding: 0 26px; }
.rg-step:first-child { padding-left: 0; }
.rg-step::before {
  content: ""; position: absolute; top: 27px; left: 0; right: 0; height: 1px;
  background: var(--rg-hairline);
}
.rg-step:first-child::before { left: 27px; }
.rg-step:last-child::before { right: calc(100% - 54px); }
.rg-step-num {
  position: relative; z-index: 1;
  width: 54px; height: 54px; border-radius: 50%;
  background: var(--rg-bg); border: 1px solid var(--rg-bronze);
  display: grid; place-items: center;
  font-family: var(--rg-font-display); font-size: 1.5rem; color: var(--rg-bronze);
  margin-bottom: 22px;
}
.rg-step h3 { font-size: 1.28rem; margin-bottom: 10px; }
.rg-step p { color: var(--rg-ink-soft); font-size: 0.95rem; }
@media (max-width: 860px) {
  .rg-steps { grid-template-columns: 1fr 1fr; gap: 40px 24px; }
  .rg-step { padding: 0; }
  .rg-step::before { display: none; }
}
@media (max-width: 520px) { .rg-steps { grid-template-columns: 1fr; } }

/* Passo a passo — fundo em parallax */
.rg-process-parallax {
  position: relative;
  background-image: url('../assets/parallax-clinica.jpg?v=3');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
.rg-process-parallax .rg-eyebrow { color: var(--rg-rose-gold); }
.rg-process-parallax h2 { color: #F7F1EA; }
.rg-process-parallax .rg-head-center p { color: rgba(247,241,234,.82); }
.rg-process-parallax .rg-step-num { background: rgba(23,16,9,.4); border-color: rgba(247,241,234,.55); color: #F7F1EA; }
.rg-process-parallax .rg-step::before { background: rgba(247,241,234,.28); }
.rg-process-parallax .rg-step h3 { color: #F7F1EA; }
.rg-process-parallax .rg-step p { color: rgba(247,241,234,.78); }
@media (max-width: 860px) {
  .rg-process-parallax { background-attachment: scroll; }
}

/* ============================================================
   BEFORE / AFTER
   ============================================================ */
.rg-ba-carousel { position: relative; }
.rg-ba-track {
  display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; -webkit-overflow-scrolling: touch; padding: 2px 2px 6px;
  scrollbar-width: none;
}
.rg-ba-track::-webkit-scrollbar { display: none; }
.rg-ba-case {
  flex: 0 0 100%; scroll-snap-align: start;
  display: grid; grid-template-columns: 1fr; gap: 10px;
  background: var(--rg-parchment); border: 1px solid var(--rg-hairline);
  border-radius: var(--rg-radius-lg); overflow: hidden; box-shadow: var(--rg-shadow-md);
  padding: 14px;
}
.rg-ba-slot { position: relative; aspect-ratio: 2 / 1; background: var(--rg-surface-2); border-radius: calc(var(--rg-radius-lg) - 8px); overflow: hidden; }
.rg-ba-slot image-slot { width: 100%; height: 100%; display: block; }
.rg-ba-slot .tag {
  position: absolute; top: 12px; left: 12px; z-index: 3;
  font-family: var(--rg-font-body); font-weight: 700; font-size: 0.66rem;
  letter-spacing: 0.16em; text-transform: uppercase;
  background: rgba(23,16,9,.72); color: var(--rg-rose-gold);
  padding: 5px 11px; border-radius: var(--rg-radius-pill);
}
.rg-ba-slot.after .tag { background: var(--rg-bronze); color: var(--rg-on-accent); }
.rg-ba-nav {
  position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px;
  border-radius: 50%; border: 1px solid var(--rg-hairline); background: rgba(243, 236, 226, 0.95);
  color: var(--rg-bronze); display: flex; align-items: center; justify-content: center;
  cursor: pointer; box-shadow: var(--rg-shadow-md); transition: background .2s ease, transform .2s ease; z-index: 4;
}
.rg-ba-nav:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.rg-ba-nav.prev { left: -8px; }
.rg-ba-nav.next { right: -8px; }
.rg-ba-note { text-align: center; margin-top: 34px; font-size: 0.9rem; color: var(--rg-ink-faint); }
@media (min-width: 700px) {
  .rg-ba-case { flex-basis: calc(50% - 12px); }
  .rg-ba-nav.prev { left: -22px; }
  .rg-ba-nav.next { right: -22px; }
}
@media (max-width: 699px) {
  .rg-ba-case { padding: 10px; gap: 8px; }
  .rg-ba-nav { width: 38px; height: 38px; }
}

/* ============================================================
   FAQ
   ============================================================ */
.rg-faq { max-width: 860px; margin: 0 auto; }
.rg-faq-item { border-bottom: 1px solid var(--rg-hairline); }
.rg-faq-q {
  width: 100%; text-align: left; background: none; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 26px 4px; font-family: var(--rg-font-display); font-size: 1.4rem;
  color: var(--rg-ink); font-weight: 500;
}
.rg-faq-q:hover { color: var(--rg-bronze); }
.rg-faq-ic { flex-shrink: 0; width: 24px; height: 24px; color: var(--rg-bronze); transition: transform .25s ease; }
.rg-faq-item.open .rg-faq-ic { transform: rotate(45deg); }
.rg-faq-a { overflow: hidden; max-height: 0; transition: max-height .3s ease; }
.rg-faq-item.open .rg-faq-a { max-height: 400px; }
.rg-faq-a p { padding: 0 4px 28px; color: var(--rg-ink-soft); font-size: 1.02rem; max-width: 74ch; }

/* ============================================================
   FORM (não usado atualmente)
   ============================================================ */
.rg-form {
  background: var(--rg-parchment); border: 1px solid var(--rg-hairline);
  border-radius: var(--rg-radius-lg); padding: 38px; box-shadow: var(--rg-shadow-lg);
}
.rg-form h3 { font-size: 1.7rem; margin-bottom: 6px; }
.rg-form .sub { color: var(--rg-ink-soft); font-size: 0.95rem; margin-bottom: 24px; }
.rg-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.rg-field label { font-weight: 700; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rg-ink-soft); }
.rg-field input, .rg-field select, .rg-field textarea {
  font-family: var(--rg-font-body); font-size: 1rem; color: var(--rg-text);
  background: var(--rg-bg); border: 1px solid var(--rg-border);
  border-radius: var(--rg-radius-sm); padding: 13px 15px; outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.rg-field input:focus, .rg-field select:focus, .rg-field textarea:focus {
  border-color: var(--rg-bronze); box-shadow: 0 0 0 3px rgba(110,62,32,.12);
}
.rg-form .rg-btn-a { width: 100%; justify-content: center; margin-top: 8px; }
.rg-form-fine { font-size: 0.78rem; color: var(--rg-ink-faint); margin-top: 14px; text-align: center; }

/* ============================================================
   FOOTER
   ============================================================ */
.rg-footer { background: #0F0A06; color: rgba(240,231,220,.7); padding: 72px 0 34px; }
.rg-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; }
.rg-footer-brand img { height: 42px; width: auto; margin-bottom: 20px; }
.rg-footer-brand p { font-size: 1.075rem; line-height: 1.6; max-width: 34ch; }
.rg-footer h4 { color: #F0E7DC; font-family: var(--rg-font-display); font-size: 22px; font-weight: 600; letter-spacing: normal; text-transform: none; margin-bottom: 20px; }
.rg-footer-list { display: flex; flex-direction: column; gap: 11px; }
.rg-footer-list a, .rg-footer-list span { color: rgba(240,231,220,.68); font-size: 1.045rem; }
.rg-footer-list a:hover { color: var(--rg-rose-gold); }
.rg-footer-bottom {
  margin-top: 56px; padding-top: 26px; border-top: 1px solid rgba(200,155,114,.16);
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: 0.925rem; color: rgba(240,231,220,.5);
}
@media (max-width: 780px) { .rg-footer-grid { grid-template-columns: 1fr; gap: 40px; } }

/* ============================================================
   HOME — específicos
   ============================================================ */
.rg-home-hero .rg-hero-content { max-width: 680px; }
.rg-trust { display: flex; flex-wrap: wrap; gap: 28px 40px; align-items: center; }
.rg-trust-item { display: flex; gap: 12px; align-items: center; }
.rg-trust-item svg { width: 26px; height: 26px; color: var(--rg-bronze); flex-shrink: 0; }
.rg-trust-item .t { font-family: var(--rg-font-display); font-size: 1.15rem; color: var(--rg-ink); }
.rg-trust-item .d { font-size: 0.82rem; color: var(--rg-ink-soft); }

.rg-treat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.rg-treat-card {
  display: flex; flex-direction: column;
  background: var(--rg-parchment); border: 1px solid var(--rg-hairline);
  border-radius: var(--rg-radius-lg); padding: 32px 30px 28px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rg-treat-card:hover { transform: translateY(-4px); box-shadow: var(--rg-shadow-lg); border-color: rgba(110,62,32,.3); }
.rg-treat-card .num { font-family: var(--rg-font-display); font-size: 0.95rem; color: var(--rg-copper); letter-spacing: .1em; }
.rg-treat-card h3 { font-size: 1.55rem; margin: 12px 0 10px; color: var(--rg-ink); }
.rg-treat-card p { color: var(--rg-ink-soft); font-size: 0.96rem; flex-grow: 1; }
.rg-treat-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; font-weight: 700; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rg-bronze); }
.rg-treat-card:hover .rg-treat-link svg { transform: translateX(4px); }
.rg-treat-link svg { width: 16px; height: 16px; transition: transform .2s ease; }
@media (max-width: 900px) { .rg-treat-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .rg-treat-grid { grid-template-columns: 1fr; } }

.rg-about-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(40px, 6vw, 80px); align-items: center; }
.rg-about-media { border-radius: var(--rg-radius-lg); overflow: hidden; box-shadow: var(--rg-shadow-lg); }
.rg-about-media img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/5; }
.rg-about-media image-slot { width: 100%; aspect-ratio: 4/5; display: block; }
.rg-about h2 { font-size: clamp(2rem, 3.6vw, 3rem); margin: 14px 0 22px; }
.rg-about p { color: var(--rg-ink-soft); font-size: 1.06rem; }
.rg-about p + p { margin-top: 16px; }
@media (max-width: 820px) { .rg-about-grid { grid-template-columns: 1fr; } .rg-about-media { max-width: 420px; } }

/* Breadcrumb (LP) */
.rg-crumb { display: flex; align-items: center; gap: 10px; font-size: 0.82rem; color: var(--rg-ink-faint); margin-bottom: 4px; }
.rg-crumb a { color: var(--rg-ink-soft); }
.rg-crumb a:hover { color: var(--rg-bronze); }

/* Related pages (LP footer strip) */
.rg-related { background: var(--rg-surface-2); }
.rg-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 900px) { .rg-related-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .rg-related-grid { grid-template-columns: 1fr; } }

/* Float WhatsApp */
.rg-whats-float {
  position: fixed; right: 22px; bottom: 22px; z-index: 200;
  width: 58px; height: 58px; border-radius: 50%;
  background: #1f8a4c; color: #fff; display: grid; place-items: center;
  box-shadow: 0 10px 30px -8px rgba(0,0,0,.5);
  transition: transform .2s ease;
}
.rg-whats-float:hover { transform: scale(1.06); color: #fff; }
.rg-whats-float::after { border-radius: 50%; }
.rg-whats-float svg { width: 30px; height: 30px; }

/* ============================================================
   PROTÓTIPO — refinos do cabeçalho / rodapé / CTA e novas seções
   ============================================================ */

/* --- Marca (lockup) --- */
.rg-brand-lock { display: flex; flex-direction: column; gap: 3px; line-height: 1; }
.rg-brand-name { font-family: var(--rg-font-display); font-weight: 500; font-size: 1.05rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--rg-ink); line-height: 1.05; }
.rg-brand-word { height: 15px; width: auto; }
.rg-brand-tag { font-size: 0.55rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--rg-ink-faint); font-weight: 700; }
.rg-header .rg-brand-mark { height: 40px; }
.rg-header-cta { padding: 11px 22px; font-size: 0.72rem; letter-spacing: 0.14em; }

/* --- Mega menu com ícones --- */
.rg-mega-link { display: flex; gap: 13px; align-items: flex-start; }
.rg-mega-ic { color: var(--rg-bronze); flex-shrink: 0; margin-top: 2px; }
.rg-mega-link .t, .rg-mega-link .d { display: block; }

/* ============================================================
   PÁGINAS LEGAIS (política de privacidade / termos de uso)
   ============================================================ */
.rg-legal-hero{background:var(--rg-parchment);border-bottom:1px solid var(--rg-hairline);padding:clamp(56px,8vw,96px) 0 clamp(40px,5vw,60px)}
.rg-legal-hero h1{font-size:clamp(2.1rem,4vw,3.2rem);max-width:20ch;margin:14px 0 18px;color:var(--rg-ink)}
.rg-legal-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:var(--rg-ink-faint);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.rg-legal-body{padding:clamp(48px,6vw,80px) 0 clamp(80px,8vw,120px)}
.rg-legal-grid{display:grid;grid-template-columns:260px 1fr;gap:clamp(40px,5vw,72px);align-items:start}
.rg-legal-toc{position:sticky;top:100px;border-right:1px solid var(--rg-hairline);padding-right:28px}
.rg-legal-toc h4{font-family:var(--rg-font-body);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rg-ink-faint);margin:0 0 16px}
.rg-legal-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow-y:auto}
.rg-legal-toc a{display:block;padding:7px 0 7px 12px;margin-left:-13px;font-size:.88rem;color:var(--rg-ink-soft);line-height:1.4;border-left:2px solid transparent}
.rg-legal-toc a:hover{color:var(--rg-bronze);border-left-color:var(--rg-bronze)}
.rg-legal-content{max-width:74ch}
.rg-legal-content h2{font-size:clamp(1.5rem,2.4vw,1.9rem);margin:0 0 18px;color:var(--rg-ink)}
.rg-legal-content h2:not(:first-child){margin-top:clamp(40px,5vw,56px)}
.rg-legal-content h3{font-size:1.2rem;margin:28px 0 12px;color:var(--rg-ink)}
.rg-legal-content h4{font-size:1.02rem;margin:20px 0 8px;color:var(--rg-bronze);font-family:var(--rg-font-body);font-weight:700;letter-spacing:.02em}
.rg-legal-content p{color:var(--rg-ink-soft);font-size:1rem;line-height:1.75;margin:0 0 14px}
.rg-legal-content ul{margin:0 0 16px;padding-left:22px;color:var(--rg-ink-soft);font-size:1rem;line-height:1.7;display:flex;flex-direction:column;gap:6px}
.rg-legal-content a{text-decoration:underline;text-underline-offset:2px}
.rg-legal-hr{border:none;border-top:1px solid var(--rg-hairline);margin:32px 0}
@media (max-width:900px){
  .rg-legal-grid{grid-template-columns:1fr}
  .rg-legal-toc{position:static;border-right:none;border-bottom:1px solid var(--rg-hairline);padding:0 0 24px;margin-bottom:8px}
  .rg-legal-toc ul{max-height:none;flex-direction:row;flex-wrap:wrap;gap:8px 16px}
  .rg-legal-toc a{padding:4px 0;border-left:none;margin-left:0;padding-left:0}
}

/* ============================================================
   HERO CLARO (home)
   ============================================================ */
.rg-hh { position: relative; overflow: hidden; background: var(--rg-parchment); }
.rg-hh-grid { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: clamp(96px, 10vw, 140px) 32px clamp(72px, 8vw, 120px); }
.rg-hh-text { max-width: 540px; }
.rg-hh .rg-eyebrow { letter-spacing: 0.24em; }
.rg-hh h1 { font-size: clamp(2.6rem, 5.6vw, 4.6rem); font-weight: 500; letter-spacing: -0.015em; margin: 18px 0 22px; color: var(--rg-ink); }
.rg-hh h1 .accent { color: var(--rg-bronze); }
.rg-hh-sub { color: var(--rg-ink-soft); font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.6; max-width: 460px; margin-bottom: 34px; }
.rg-hh-media { position: absolute; top: 0; right: 0; width: 52%; height: 100%; z-index: 1; }
.rg-hh-media img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.rg-hh-media::before { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, var(--rg-parchment) 0%, rgba(251,247,241,.35) 16%, rgba(251,247,241,0) 34%); }
.rg-hh-seal { position: absolute; top: 34px; right: 40px; z-index: 3; width: clamp(84px, 8vw, 118px); opacity: .92; }
.rg-hh-seal img { width: 100%; filter: drop-shadow(0 6px 18px rgba(23,16,9,.28)); }
@media (max-width: 860px) {
  .rg-hh-media { position: relative; width: 100%; height: 340px; }
  .rg-hh-media::before { background: linear-gradient(0deg, var(--rg-parchment) 0%, rgba(251,247,241,0) 45%); }
  .rg-hh-seal { top: 20px; right: 20px; width: 76px; }
  .rg-hh-grid { padding-bottom: 24px; }
  .rg-hh-text { max-width: none; }
}

/* ============================================================
   TRATAMENTOS — grade de ícones
   ============================================================ */
.rg-tiles {
  display: grid; grid-template-columns: repeat(6, 1fr);
  gap: 1px; background: var(--rg-hairline-soft);
  border: 1px solid var(--rg-hairline-soft); border-radius: var(--rg-radius-lg); overflow: hidden;
}
.rg-tile { background: var(--rg-bg); padding: 38px 26px 30px; display: flex; flex-direction: column; align-items: flex-start; transition: background .2s ease; }
.rg-tile:hover { background: var(--rg-parchment); }
.rg-tile-ic { color: var(--rg-bronze); margin-bottom: 20px; transition: transform .25s ease; }
.rg-tile:hover .rg-tile-ic { transform: translateY(-3px); }
.rg-tile h3 { font-family: var(--rg-font-body); font-weight: 700; font-size: 0.82rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rg-ink); line-height: 1.35; margin-bottom: 10px; }
.rg-tile p { font-size: 0.88rem; color: var(--rg-ink-soft); line-height: 1.5; flex-grow: 1; }
.rg-tile-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rg-bronze); opacity: 0; transform: translateY(4px); transition: opacity .2s ease, transform .2s ease; }
.rg-tile:hover .rg-tile-link { opacity: 1; transform: translateY(0); }
@media (max-width: 1000px) { .rg-tiles { grid-template-columns: repeat(3, 1fr); } .rg-tile-link { opacity: 1; transform: none; } }
@media (max-width: 640px) { .rg-tiles { grid-template-columns: repeat(2, 1fr); } .rg-tile { padding: 28px 20px 24px; } }
@media (max-width: 400px) { .rg-tiles { grid-template-columns: 1fr; } }

/* Ícone nos cards de "outros tratamentos" */
.rg-treat-ic { color: var(--rg-bronze); display: inline-block; }

/* ============================================================
   TECNOLOGIA
   ============================================================ */
.rg-tech { background: var(--rg-metal); position: relative; overflow: hidden; }
.rg-tech::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, rgba(12,7,3,.5) 0%, rgba(12,7,3,0) 32%, rgba(12,7,3,0) 56%, rgba(12,7,3,.55) 100%);
}
.rg-tech-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 84px); align-items: center; padding: clamp(64px, 9vw, 118px) 0; }
.rg-tech .rg-eyebrow { color: var(--rg-rose-gold); }
.rg-tech-text h2 { font-size: clamp(2rem, 3.4vw, 2.9rem); margin: 14px 0 20px; color: #F7F1EA; text-shadow: 0 2px 12px rgba(10,6,3,.35); }
.rg-tech-text > p { color: rgba(247,241,234,.85); font-size: 1.06rem; margin-bottom: 26px; }
.rg-tech-list { list-style: none; margin: 0 0 30px; padding: 0; display: grid; gap: 14px; }
.rg-tech-list li { display: flex; gap: 12px; align-items: center; font-size: 1rem; color: #F0E7DC; }
.rg-tech-media { border-radius: var(--rg-radius-lg); overflow: hidden; box-shadow: var(--rg-shadow-lg); border: 1px solid rgba(200,155,114,.25); }
.rg-tech-media image-slot { display: block; }
@media (max-width: 820px) { .rg-tech-grid { grid-template-columns: 1fr; } }

/* Variante clara: seção de equipamento dentro de uma LP de tratamento */
.rg-tech-lp { background: var(--rg-ivory); padding: clamp(64px, 9vw, 118px) 0; }
.rg-tech-lp::before { display: none; }
.rg-tech-lp .rg-eyebrow { color: var(--rg-bronze); }
.rg-tech-text-centered { max-width: 980px; margin: 0 auto; text-align: center; }
.rg-tech-text-centered h2 { font-size: clamp(2rem, 3.4vw, 2.9rem); margin: 14px 0 20px; color: var(--rg-graphite); }
.rg-tech-text-centered p { color: var(--rg-graphite); opacity: .8; font-size: 1.06rem; margin: 0 auto 16px; max-width: 90ch; }
.rg-tech-text-centered p:last-child { margin-bottom: 0; }
.rg-tech-media-dual { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 980px; margin: 48px auto 0; }
.rg-tech-media-dual img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: var(--rg-radius-lg); box-shadow: var(--rg-shadow-lg); border: 1px solid rgba(200,155,114,.25); }
@media (max-width: 720px) { .rg-tech-media-dual { grid-template-columns: 1fr; max-width: 480px; } }

/* ============================================================
   CONTATO
   ============================================================ */
.rg-contact-hero .rg-hero-inner { padding-bottom: clamp(56px, 7vw, 90px); }
.rg-contact-hero .rg-eyebrow { display: block; margin-top: 6px; }
.rg-contact-hero h1 { max-width: 16ch; }
.rg-contact-hero .rg-hero-sub { max-width: 56ch; }
.rg-contact-body { padding-top: clamp(24px, 4vw, 40px); }
.rg-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 80px); align-items: stretch; }
.rg-contact-info { display: flex; flex-direction: column; gap: 26px; }
.rg-contact-item { display: flex; gap: 16px; align-items: flex-start; }
.rg-contact-ic { flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; background: var(--rg-surface-2); color: var(--rg-bronze); display: grid; place-items: center; }
.rg-contact-label { font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rg-ink-faint); font-weight: 700; margin-bottom: 4px; }
.rg-contact-value { font-size: 1.05rem; color: var(--rg-ink); }
.rg-contact-value.link { color: var(--rg-ink); }
.rg-contact-value.link:hover { color: var(--rg-bronze); }
.rg-contact-social { margin-top: 6px; }
.rg-contact-map { border-radius: 14px; overflow: hidden; min-height: 360px; box-shadow: 0 20px 50px rgba(23, 16, 9, 0.12); }
@media (max-width: 860px) {
  .rg-contact-grid { grid-template-columns: 1fr; }
  .rg-contact-map { min-height: 320px; }
}

/* ============================================================
   CORPO CLÍNICO
   ============================================================ */
.rg-team-hero .rg-hero-inner { padding-bottom: clamp(56px, 7vw, 90px); }
.rg-team-hero .rg-eyebrow { display: block; margin-top: 6px; }
.rg-team-hero h1 { max-width: 16ch; }
.rg-team-hero .rg-hero-sub { max-width: 56ch; }
.rg-doctor { background: #fff; }
.rg-doctor.alt { background: var(--rg-parchment); }
.rg-doctor-grid { display: grid; grid-template-columns: minmax(300px, 400px) 1fr; gap: clamp(40px, 5vw, 72px); align-items: start; margin-bottom: clamp(36px, 5vw, 56px); }
.rg-doctor-grid.reverse { grid-template-columns: 1fr minmax(300px, 400px); }
.rg-doctor-grid.reverse .rg-doctor-photo { order: 2; }
.rg-doctor-photo { border-radius: 14px; overflow: hidden; box-shadow: 0 20px 50px rgba(23, 16, 9, 0.14); align-self: start; }
.rg-doctor-photo img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/5; display: block; }
.rg-doctor-content h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); margin: 10px 0 18px; }
.rg-doctor-content p { color: var(--rg-ink-soft); font-size: 1.02rem; line-height: 1.7; margin-bottom: 14px; max-width: 62ch; }
.rg-doctor-quote { font-family: var(--rg-font-display); font-style: italic; color: var(--rg-bronze); font-size: 1.15rem !important; margin-top: 22px !important; padding-top: 18px; border-top: 1px solid var(--rg-hairline); }
.rg-doctor-areas-title { font-size: 1.3rem; margin-bottom: 20px; }
.rg-doctor-areas { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 40px; }
.rg-doctor-area-item { display: flex; gap: 13px; align-items: flex-start; }
.rg-doctor-area-item h4 { font-family: var(--rg-font-body); font-size: 0.98rem; font-weight: 700; color: var(--rg-ink); margin-bottom: 4px; }
.rg-doctor-area-item p { font-size: 0.92rem; color: var(--rg-ink-soft); line-height: 1.55; }
.rg-doctor-closing { color: var(--rg-ink-soft); font-size: 1.02rem; line-height: 1.7; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--rg-hairline); max-width: 72ch; }
@media (max-width: 900px) {
  .rg-doctor-grid, .rg-doctor-grid.reverse { grid-template-columns: 1fr; }
  .rg-doctor-grid.reverse .rg-doctor-photo { order: 0; }
  .rg-doctor-photo { max-width: 340px; margin: 0 auto; }
  .rg-doctor-areas { grid-template-columns: 1fr; }
}

/* ============================================================
   SOBRE O DR. RODRIGO
   ============================================================ */
.rg-about { background: var(--rg-parchment); }
.rg-about-grid { display: grid; grid-template-columns: minmax(340px, 460px) 1fr; gap: clamp(40px, 5vw, 72px); align-items: stretch; }
.rg-about-photo { border-radius: 14px; overflow: hidden; box-shadow: 0 20px 50px rgba(23, 16, 9, 0.14); }
.rg-about-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rg-about-content { display: flex; flex-direction: column; justify-content: center; gap: 32px; }
.rg-eyebrow-line { display: flex; align-items: center; gap: 14px; margin-bottom: 6px; }
.rg-eyebrow-line span { font-family: var(--rg-font-body); font-weight: 700; font-size: var(--rg-text-xs); letter-spacing: var(--rg-tracking-label); text-transform: uppercase; color: var(--rg-copper); }
.rg-eyebrow-line i { flex: 1; max-width: 60px; height: 1px; background: var(--rg-hairline); font-style: normal; }
.rg-about-text h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); margin: 10px 0 18px; }
.rg-about-text p { color: var(--rg-ink-soft); font-size: 1.02rem; line-height: 1.7; margin-bottom: 14px; max-width: 62ch; }
.rg-about-cro { font-family: var(--rg-font-display); font-size: 1rem; color: var(--rg-bronze); letter-spacing: 0.04em; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--rg-hairline); display: inline-block; }
.rg-about-points-row { display: flex; flex-wrap: wrap; gap: 32px; padding-top: 28px; border-top: 1px solid var(--rg-hairline); }
.rg-about-point { display: flex; gap: 14px; align-items: flex-start; flex: 1 1 220px; min-width: 220px; }
.rg-about-point-ic { flex-shrink: 0; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--rg-hairline); color: var(--rg-bronze); display: grid; place-items: center; }
.rg-about-point h4 { font-family: var(--rg-font-body); font-size: 0.95rem; font-weight: 700; color: var(--rg-ink); margin-bottom: 4px; }
.rg-about-point p { font-size: 0.88rem; color: var(--rg-ink-soft); line-height: 1.5; }
@media (max-width: 980px) {
  .rg-about-grid { grid-template-columns: 1fr; }
  .rg-about-photo { max-width: 420px; margin: 0 auto; }
  .rg-about-photo img { aspect-ratio: 3 / 4; }
}
@media (max-width: 640px) {
  .rg-about-points-row { flex-direction: column; gap: 22px; }
}

/* ============================================================
   CARROSSEL — FOTOS DA CLÍNICA
   ============================================================ */
.rg-carousel { position: relative; max-width: 920px; margin: 0 auto clamp(44px, 5vw, 64px); aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: var(--rg-surface-2); box-shadow: 0 20px 50px rgba(23, 16, 9, 0.12); }
.rg-carousel-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.7s ease; }
.rg-carousel-img.active { opacity: 1; }
.rg-carousel-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 50%; border: none; background: rgba(243, 236, 226, 0.9); color: var(--rg-bronze); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s ease, transform 0.2s ease; }
.rg-carousel-nav:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.rg-carousel-nav.prev { left: 16px; }
.rg-carousel-nav.next { right: 16px; }
.rg-carousel-dots { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; }
.rg-carousel-dot { width: 8px; height: 8px; padding: 0; border: none; border-radius: 50%; background: rgba(255, 255, 255, 0.55); cursor: pointer; transition: background 0.2s ease, transform 0.2s ease; }
.rg-carousel-dot.active { background: var(--rg-bronze); transform: scale(1.35); }
@media (max-width: 640px) {
  .rg-carousel-nav { width: 36px; height: 36px; }
}

/* ============================================================
   DIFERENCIAIS
   ============================================================ */
.rg-diff { display: grid; grid-template-columns: repeat(4, 1fr); }
.rg-diff-item { text-align: center; padding: 12px 26px; border-left: 1px solid var(--rg-hairline); display: flex; flex-direction: column; align-items: center; gap: 16px; }
.rg-diff-item:first-child { border-left: none; }
.rg-diff-ic { width: 84px; height: 84px; object-fit: contain; }
.rg-diff-l { font-family: var(--rg-font-display); font-size: clamp(1.15rem, 1.6vw, 1.4rem); color: var(--rg-ink); font-weight: 600; line-height: 1.3; max-width: 20ch; }
@media (max-width: 760px) {
  .rg-diff { grid-template-columns: 1fr 1fr; gap: 36px 0; }
  .rg-diff-item:nth-child(3) { border-left: none; }
  .rg-diff-item { border-top: 0; }
}

/* ============================================================
   CASOS REAIS / DEPOIMENTOS
   ============================================================ */
.rg-cases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.rg-case { margin: 0; background: var(--rg-parchment); border: 1px solid var(--rg-hairline); border-radius: var(--rg-radius-lg); padding: 34px 32px; box-shadow: var(--rg-shadow-md); display: flex; flex-direction: column; }
.rg-case-q { color: var(--rg-rose-gold); margin-bottom: 12px; }
.rg-case blockquote { margin: 0 0 24px; font-family: var(--rg-font-display); font-size: 1.32rem; line-height: 1.4; color: var(--rg-ink); flex-grow: 1; }
.rg-case figcaption { display: flex; align-items: center; gap: 14px; border-top: 1px solid var(--rg-hairline-soft); padding-top: 20px; }
.rg-case-photo { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: var(--rg-sand); }
.rg-case-name { font-weight: 700; font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rg-ink-soft); }
.rg-cases-note { text-align: center; margin-top: 32px; font-size: 0.82rem; color: var(--rg-ink-faint); }
@media (max-width: 860px) { .rg-cases { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; } }

/* ============================================================
   DEPOIMENTO EM VÍDEO
   ============================================================ */
.rg-video-testi { display: flex; justify-content: center; gap: clamp(20px, 3vw, 36px); flex-wrap: wrap; }
.rg-video-testi-multi { align-items: flex-start; }
.rg-video-testi-card { position: relative; width: 100%; max-width: 360px; aspect-ratio: 9 / 16; border-radius: 22px; overflow: hidden; background: var(--rg-graphite); box-shadow: var(--rg-shadow-lg); }
.rg-video-testi-el { width: 100%; height: 100%; object-fit: cover; display: block; background: var(--rg-graphite); }
.rg-video-testi-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; padding: 32px; background: var(--rg-metal); }
.rg-video-testi-placeholder .ic { width: 60px; height: 60px; border-radius: 50%; border: 1.5px solid rgba(247,241,234,.5); display: grid; place-items: center; color: #F7F1EA; }
.rg-video-testi-placeholder p { font-family: var(--rg-font-display); font-size: 1.3rem; color: #F7F1EA; margin: 0; }
.rg-video-testi-placeholder span { font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(247,241,234,.75); }
.rg-video-testi-caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 46px 22px 20px; background: linear-gradient(to top, rgba(23,16,9,.9), rgba(23,16,9,0)); pointer-events: none; }
.rg-video-testi-caption .name { display: block; font-family: var(--rg-font-display); font-size: 1.2rem; color: #F7F1EA; }
.rg-video-testi-caption .proc { display: block; margin-top: 4px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rg-rose-gold); }

/* ---------- Avaliações do Google (widget) ---------- */
.rg-google-reviews { min-height: 220px; margin-top: 8px; }
.rg-google-reviews:empty { min-height: 0; }

/* ---------- Banner de consentimento (LGPD) ---------- */
#rg-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9999; transition: opacity .3s ease; }
.rg-consent-inner { max-width: 1100px; margin: 0 auto; background: rgba(26,18,11,.97); backdrop-filter: blur(8px); border: 1px solid rgba(200,155,114,.28); border-radius: 14px; padding: 18px 22px; display: flex; align-items: center; gap: 20px; box-shadow: 0 12px 40px rgba(0,0,0,.4); }
.rg-consent-txt { flex: 1; color: #E7DACB; font-family: var(--rg-font-body); font-size: .92rem; line-height: 1.55; margin: 0; }
.rg-consent-txt a { color: var(--rg-rose-gold); text-decoration: underline; }
.rg-consent-actions { display: flex; gap: 10px; flex-shrink: 0; }
.rg-consent-btn { cursor: pointer; border-radius: 8px; padding: 12px 22px; font-family: var(--rg-font-body); font-size: .82rem; font-weight: 700; letter-spacing: .04em; border: 1px solid transparent; transition: .2s; white-space: nowrap; }
.rg-consent-btn.primary { background: var(--rg-bronze); color: #F7F1EA; }
.rg-consent-btn.primary:hover { background: #8a4f2a; }
.rg-consent-btn.ghost { background: transparent; border-color: rgba(247,241,234,.32); color: #E7DACB; }
.rg-consent-btn.ghost:hover { border-color: var(--rg-rose-gold); color: var(--rg-rose-gold); }
@media (max-width: 640px) {
  .rg-consent-inner { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px 18px; }
  .rg-consent-actions { justify-content: stretch; }
  .rg-consent-btn { flex: 1; }
}

/* ============================================================
   CTA final — banner faixa (WhatsApp)
   ============================================================ */
.rg-cta-banner { background: var(--rg-metal); }
.rg-cta-banner .rg-wrap { max-width: 1320px; }
.rg-cta-banner-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding: 42px 0; }
.rg-cta-banner-left { display: flex; align-items: center; gap: 22px; }
.rg-cta-banner-ic { flex-shrink: 0; width: 68px; height: 68px; color: #F7F1EA; display: grid; place-items: center; }
.rg-cta-banner-left h3 { font-family: var(--rg-font-display); font-weight: 500; font-size: clamp(1.2rem, 2vw, 1.55rem); color: #F7F1EA; margin: 0 0 4px; }
.rg-cta-banner-left p { font-size: 0.95rem; color: rgba(247,241,234,.75); margin: 0; }
.rg-cta-banner-btn { flex-shrink: 0; display: inline-flex; align-items: center; gap: 10px; border: 1px solid rgba(247,241,234,.5); color: #F7F1EA; padding: 16px 28px; border-radius: 8px; font-family: var(--rg-font-body); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; white-space: nowrap; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.rg-cta-banner-btn:hover { background: var(--rg-parchment); color: var(--rg-bronze); border-color: var(--rg-parchment); }
@media (max-width: 640px) {
  .rg-cta-banner-inner { flex-direction: column; align-items: flex-start; padding: 30px 0; }
  .rg-cta-banner-btn { width: 100%; justify-content: center; }
}

/* ============================================================
   RODAPÉ — claro
   ============================================================ */
.rg-footer { background: var(--rg-ivory); color: var(--rg-ink-soft); border-top: 1px solid var(--rg-hairline-soft); padding: 64px 0 30px; }
.rg-footer h4 { color: var(--rg-ink); }
.rg-footer-brand .rg-brand-mark { height: 40px; }
.rg-footer-brand .rg-brand-word { height: 15px; }
.rg-footer-brand .rg-brand-tag { color: var(--rg-ink-faint); }
.rg-footer-brand p { color: var(--rg-ink-soft); margin-top: 6px; }
.rg-footer-list a, .rg-footer-list span { color: var(--rg-ink-soft); }
.rg-footer-list a:hover { color: var(--rg-bronze); }
.rg-footer-contact a, .rg-footer-contact span { display: flex; align-items: center; gap: 10px; }
.rg-footer-contact svg { color: var(--rg-bronze); flex-shrink: 0; }
.rg-social { display: flex; gap: 10px; margin-top: 22px; }
.rg-social-ic { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--rg-hairline); display: grid; place-items: center; color: var(--rg-ink-soft); }
.rg-social-ic:hover { color: var(--rg-bronze); border-color: var(--rg-bronze); }
.rg-footer-bottom { border-top: 1px solid var(--rg-hairline); color: var(--rg-ink-faint); }
.rg-footer-bottom a { color: var(--rg-ink-soft); }
.rg-footer-bottom a:hover { color: var(--rg-bronze); }

