/* =========================
   Dr. Gustavo Moura — Medicina da Dor
   Proposta v2 — based on PPTX feedback
   ========================= */

:root{
  --navy: #091026;
  --navy-2:#091026;
  --cream:#F5F4EE;
  --cream-2:#E8E7DF;
  --gold:#bfa45f;
  --gold-2:#d4b86a;
  --gold-faint: rgba(191,164,95,0.35);
  --steel: #A3AEB9;
  --ink: #091026;
  --ink-muted: #091026;
  --ink-line: rgba(9,16,38,0.12);
  --paper: #F5F4EE;
  --paper-muted: rgba(245,244,238,0.65);
  --paper-line: rgba(245,244,238,0.18);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Lato", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: var(--serif);
  --font-body: var(--sans);
  --gold-light: #d4b86a;
  --transition: 0.2s ease;
  --container: 2048px;
  --pad-x: clamp(20px, 4vw, 64px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  background:var(--cream);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{max-width:var(--container);margin:0 auto;padding-inline:var(--pad-x)}
.section{padding-block: clamp(72px, 9vw, 140px)}
.section.tight{padding-block: clamp(56px, 7vw, 110px)}
.bg-navy{background:var(--navy);color:var(--paper)}
.bg-cream{background:var(--cream);color:var(--ink)}
.bg-navy-deep{background:#091026;color:var(--paper)}
.italic-gold {font-style: italic; color: var(--gold);
}

/* ----- Top contact strip ----- */
.topbar{
  background:var(--navy);
  color:var(--paper);
  font-size:12px;
  letter-spacing:.04em;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.topbar .container{
  display:flex;align-items:center;justify-content:space-between;
  height:38px;gap:24px;
}
.topbar .left,.topbar .right{display:flex;align-items:center;gap:24px}
.topbar a{display:inline-flex;align-items:center;gap:8px;opacity:.85}
.topbar a:hover{opacity:1;color:var(--gold-2)}
.topbar svg{width:14px;height:14px;color:var(--gold-2)}

/* ----- Header / Nav ----- */
.nav{
  background:var(--cream);
  border-bottom:1px solid var(--ink-line);
  position:sticky;top:0;z-index:50;
}
.nav .container{
  display:flex;align-items:center;gap:32px;
  height:84px;
}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.brand-mark{
  width:42px;height:42px;border-radius:50%;
  border:1px solid var(--gold);
  display:grid;place-items:center;color:var(--gold);
}
.brand-name{
  font-family:var(--serif);font-weight:600;
  font-size:18px;letter-spacing:.06em;line-height:1;
}
.brand-sub{
  font-size:10px;letter-spacing:.22em;color:var(--gold);
  text-transform:uppercase;margin-top:4px;
}
.nav-links{
  display:flex;align-items:center;gap: clamp(14px, 1.8vw, 28px);
  font-size: clamp(11px, 0.88vw, 13px);letter-spacing:.14em;
  text-transform:uppercase;font-weight:500;
  margin-left:auto;flex-wrap:wrap;
}
.nav-links a{position:relative;padding:6px 0;color:var(--ink)}
.nav-links a:hover{color:var(--gold)}
.nav-links a.future{opacity:.45;font-size:10.5px}
.nav-links a.future::after{
  content:"em breve";position:absolute;top:-14px;right:-8px;
  font-size:8px;letter-spacing:.18em;color:var(--gold);
  text-transform:uppercase;opacity:.9;
}
.nav-cta{
  margin-left:8px;
  background:var(--gold);color:var(--navy);
  padding: clamp(10px, 1vw, 15px) clamp(16px, 1.6vw, 24px);
  font-size: clamp(10px, 0.82vw, 12px);letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;
  transition:background .2s;
  white-space:nowrap;
}
.nav-cta:hover{background:var(--gold-2)}
.nav-burger{display:none}

/* ----- Hero ----- */
.hero {
  background: var(--navy);
  color: var(--paper);
  position: relative;
  overflow: hidden;
  padding-block: clamp(48px, 6vw, 88px);
  min-height: clamp(480px, 68vh, 760px);
  display: flex;
  align-items: center;
  isolation: isolate;
}

/* Gradiente de legibilidade — acima das fotos, abaixo do conteúdo */
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      to right,
      rgba(9, 16, 38, 0.96)  0%,
      rgba(9, 16, 38, 0.88)  30%,
      rgba(9, 16, 38, 0.46)  62%,
      rgba(9, 16, 38, 0.12)  100%
    ),
    linear-gradient(
      to bottom,
      rgba(9, 16, 38, 0.22)  0%,
      transparent            45%,
      rgba(9, 16, 38, 0.35)  100%
    );
}

/* Slideshow container */
.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

/* Cada slide fotográfico — sem inset, sem zoom artificial */
.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  opacity: 0;
  transition: opacity 1.6s ease-in-out;
  will-change: opacity;
  animation: hero-kenburns 30s ease-in-out infinite alternate;
}

.hero-slide.is-active {
  opacity: 1;
  animation-play-state: running;
}

.hero-slide:not(.is-active) {
  animation-play-state: paused;
}

/* ── 11 fotos: imagem + posição editorial + timing Ken Burns (ciclo 30 s ÷ 11 ≈ 2.7 s) ── */
.hero-slide:nth-child(1)  { background-image: url('./imagens/dr-gustavo.jpg'); background-position: center top;    transform-origin: center 20%; animation-delay:    0s; }
.hero-slide:nth-child(2)  { background-image: url('photos/Consultorio1.jpg');       background-position: center center; transform-origin: 55%    50%; animation-delay:  -2.7s; }
.hero-slide:nth-child(3)  { background-image: url('photos/Consultorio6.jpg');       background-position: center center; transform-origin: 45%    50%; animation-delay:  -5.5s; }
.hero-slide:nth-child(4)  { background-image: url('photos/Block9.jpg');             background-position: center center; transform-origin: center 45%; animation-delay:  -8.2s; }
.hero-slide:nth-child(5)  { background-image: url('photos/Block10.jpg');            background-position: center center; transform-origin: 60%    40%; animation-delay: -10.9s; }
.hero-slide:nth-child(6)  { background-image: url('photos/Block13.jpg');            background-position: center center; transform-origin: 40%    55%; animation-delay: -13.6s; }
.hero-slide:nth-child(7)  { background-image: url('photos/Block18.jpeg');           background-position: center center; transform-origin: 55%    40%; animation-delay: -16.4s; }
.hero-slide:nth-child(8)  { background-image: url('photos/Block3.jpg');             background-position: center center; transform-origin: 45%    45%; animation-delay: -19.1s; }
.hero-slide:nth-child(9)  { background-image: url('photos/Block8.JPG');             background-position: center center; transform-origin: center 50%; animation-delay: -21.8s; }
.hero-slide:nth-child(10) { background-image: url('photos/Block6.JPG');             background-position: center center; transform-origin: 50%    45%; animation-delay: -24.5s; }
.hero-slide:nth-child(11) { background-image: url('photos/Dor_2042 2.jpeg');        background-position: center center; transform-origin: center 50%; animation-delay: -27.3s; }

/* Dor_2042 2.jpeg — contém a foto recriada: preserva proporção original em telas largas */
@media (min-width: 1280px) {
  .hero-slide:nth-child(11) {
    background-size: auto 100%;
  }
}

.hero .container {
  display: grid;
  grid-template-columns: 57% 43%;
  align-items: center;
  width: 100%;
  position: relative;
  z-index: 2;
}

.hero-content {
  grid-column: 1;
}

/* Ken Burns: zoom mínimo — apenas enquadramento vivo, sem distorção */
@keyframes hero-kenburns {
  0%   { transform: scale(1); }
  100% { transform: scale(1.04); }
}

/* Entrada escalonada dos elementos do hero */
@keyframes hero-fade-up {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-content .eyebrow        { animation: hero-fade-up .65s ease both; animation-delay: .20s; }
  .hero-content h1              { animation: hero-fade-up .75s ease both; animation-delay: .40s; }
  .hero-content .hero-subtitle  { animation: hero-fade-up .75s ease both; animation-delay: .60s; }
  .hero-content .hero-meta      { animation: hero-fade-up .75s ease both; animation-delay: .80s; }
}

/* Mobile: gradiente mais fechado para legibilidade em tela estreita */
@media (max-width: 768px) {
  .hero-slide:nth-child(1) { background-position: 80% top; }
  .hero::before {
    background:
      linear-gradient(
        to right,
        rgba(9, 16, 38, 0.96) 0%,
        rgba(9, 16, 38, 0.92) 55%,
        rgba(9, 16, 38, 0.70) 100%
      ),
      linear-gradient(
        to bottom,
        rgba(9, 16, 38, 0.22) 0%,
        transparent 45%,
        rgba(9, 16, 38, 0.42) 100%
      );
  }
}
.hero-subtitle{
  font-size: clamp(24px, 1.75vw, 28px);
  line-height:1.75;
  color:rgba(217,217,205,.82);
  max-width:60ch;
  margin:0 0 36px;
}
.eyebrow{
  display:flex;align-items:center;gap:14px;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:500;margin-bottom:24px;
}
.eyebrow::before{
  content:"";width:36px;height:1px;background:var(--gold-2);
}
.eyebrow .roman{
  font-family:var(--serif);font-style:italic;
  font-size:14px;color:var(--gold-2);
  text-transform:none;letter-spacing:0;margin-right:6px;
}
.hero h1{
  font-family:var(--serif);font-weight:700;
  font-size: clamp(42px, 5.5vw, 80px);
  line-height:1.04;letter-spacing:-.01em;
  margin:0 0 28px;
  color:var(--paper);
}
.hero h1 em{
  font-style:italic;color:var(--gold);font-weight:700;
}
.hero p.lead{
  font-size:16px;line-height:1.65;color:rgba(217,217,205,.78);
  max-width:480px;margin:0 0 36px;
}
.hero-cta{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--gold);color:var(--navy);
  padding:18px 48px;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;
  border-radius:2px;
  transition:background .2s;
  margin-bottom:36px;
}
.hero-cta:hover{background:#a8913f;color:var(--navy)}

.hero-meta{
  display:flex;gap:0;
  margin-top:8px;padding-top:24px;
  border-top:1px solid rgba(245,244,238,.14);
  align-items:flex-start;
}
.hero-meta .col{
  flex:1;padding-right: clamp(20px, 3vw, 40px);
  border-right:1px solid rgba(163,174,185,.25);
}
.hero-meta .col:last-child{border-right:none;padding-right:0;padding-left: clamp(20px, 3vw, 40px);}
.hero-meta .col:not(:first-child){padding-left: clamp(20px, 3vw, 40px);}
.hero-meta .col h4{
  font-family:var(--sans);font-size:11px;letter-spacing:.12em;color:var(--gold);
  text-transform:uppercase;margin:0 0 8px;font-weight:700;
}
.hero-meta .col .cred-primary{
  font-family:var(--sans);font-size:15px;font-weight:700;
  color:var(--paper);margin:0 0 4px;letter-spacing:.02em;
}
.hero-meta .col .cred-secondary{
  font-family:var(--sans);font-size:12px;
  color:rgba(245,244,238,.6);margin:0;letter-spacing:.03em;
}
.hero-meta .col p{
  font-family:var(--sans);font-size:14px;margin:0;color:var(--paper);
  opacity:.85;
}
.hero-rating{
  display:flex;align-items:center;gap:10px;margin-top:18px;
}
.hero-rating .g-circle{
  width:30px;height:30px;border-radius:50%;
  background:#fff;display:grid;place-items:center;
  font-family:var(--serif);font-weight:700;color:#091026;
}
.hero-rating .stars{color:var(--gold-2);letter-spacing:1px;font-size:14px}
.hero-rating .label{font-size:10px;letter-spacing:.22em;color:var(--gold-2);text-transform:uppercase}

.hero-photo{
  position:relative;
}
.hero-photo .frame{
  background:var(--cream-2);
  position:relative;
  aspect-ratio: 4/5;
  overflow:hidden;
}
.hero-photo .frame img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
}
.hero-photo::before{
  content:"";position:absolute;top:-22px;right:-22px;
  width:90px;height:60px;
  border-top:1px solid var(--gold-2);
  border-right:1px solid var(--gold-2);
  z-index:2;
}
.hero-photo::after{
  content:"";position:absolute;bottom:-22px;left:-22px;
  width:90px;height:60px;
  border-bottom:1px solid var(--gold-2);
  border-left:1px solid var(--gold-2);
  z-index:2;
}

/* ----- Hero grid (2 colunas) ----- */
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
}

.hero-text {
  background: var(--navy);
  color: var(--paper);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(80px, 10vw, 140px) var(--pad-x);
  position: relative;
  z-index: 1;
}

.hero-text::after {
  content: '';
  position: absolute;
  right: -60px;
  top: 0;
  bottom: 0;
  width: 120px;
  background: linear-gradient(to right, var(--navy), transparent);
  z-index: 0;
  pointer-events: none;
}

.hero-image-col {
  position: relative;
  overflow: hidden;
}

.hero-image-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

@media (max-width: 768px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }
  .hero-image-col {
    height: 55vw;
    max-height: 340px;
    order: -1;
  }
  .hero-text::after {
    display: none;
  }
}

/* ----- Section shared ----- */
.section-eyebrow{
  display:flex;align-items:center;gap:14px;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:500;margin-bottom:24px;
}
.section-eyebrow::before{
  content:"";width:36px;height:1px;background:currentColor;
}
.section-eyebrow .roman{
  font-family:var(--serif);font-style:italic;font-size:14px;
  text-transform:none;letter-spacing:0;color:var(--gold);
  margin-right:4px;
}
.bg-navy .section-eyebrow,
.bg-navy-deep .section-eyebrow{color:var(--gold-2)}
.bg-navy .section-eyebrow .roman,
.bg-navy-deep .section-eyebrow .roman{color:var(--gold-2)}

.section-title{
  font-family:var(--serif);font-weight:700;
  font-size: clamp(26px, 3.8vw, 44px);
  line-height:1.1;letter-spacing:-.005em;
  margin:0 0 32px;
}
.section-title em{font-style:italic;color:var(--gold-2)}
.bg-cream .section-title em{color:var(--gold)}
.section-lead{
  font-size:clamp(16px, 1.25vw, 18px);line-height:1.7;max-width:62ch;
  color:var(--ink-muted);
}
.bg-navy .section-lead, .bg-navy-deep .section-lead{
  color:rgba(217,217,205,.72);
}

/* ===== Mapeamento da dor ===== */
.mapping-grid{
  display:grid;grid-template-columns: 1.1fr 1fr;
  gap: clamp(40px, 6vw, 96px);align-items:start;
}
.mapping-grid .copy p{
  font-size:clamp(16px, 1.25vw, 18px);line-height:1.75;margin:0 0 22px;color:var(--ink);
}
.mapping-grid .copy p.muted{color:var(--ink-muted)}
.impact-card{
  background:#fff;border:1px solid var(--ink-line);
  padding: clamp(28px, 4vw, 44px);
}
.impact-card h4{
  font-size:10.5px;letter-spacing:.22em;color:var(--gold);
  text-transform:uppercase;margin:0 0 22px;font-weight:600;
}
.impact-list{list-style:none;padding:0;margin:0}
.impact-list li{
  display:grid;grid-template-columns:auto 1fr;gap:18px;
  padding:18px 0;border-bottom:1px solid var(--ink-line);
  align-items:center;
}
.impact-list li:last-child{border-bottom:none}
.impact-list .num{
  font-family:var(--serif);font-style:italic;font-size:18px;
  color:var(--gold);min-width:24px;
}
.impact-list .label{font-size:14.5px;line-height:1.4}
.impact-list .label small{
  display:block;color:var(--ink-muted);font-size:12.5px;margin-top:4px;
}

/* ===== A dor que escapa ao laudo + Como o cuidado acontece ===== */
.escapa-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap: clamp(40px, 6vw, 96px);
}
.escapa-grid p{
  font-size:clamp(16px, 1.25vw, 18px);line-height:1.75;color:rgba(217,217,205,.78);
  margin:0 0 18px;
}
.escapa-grid p.strong{color:#d9d9cd}

.cuidado-steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap: clamp(20px, 2.5vw, 36px);margin-top:48px;
}
.cuidado-step{padding-top:28px;border-top:1px solid var(--gold-faint)}
.cuidado-step .roman{
  font-family:var(--serif);font-style:italic;font-size:14px;
  color:var(--gold-2);margin-bottom:18px;display:block;
}
.cuidado-step h4{
  font-family:var(--serif);font-weight:700;font-size:22px;
  color:var(--gold-2);margin:0 0 14px;
}
.cuidado-step p{
  font-size:13.5px;line-height:1.65;color:rgba(217,217,205,.72);
  margin:0;
}

/* ===== Sobre nossa clínica (NEW) ===== */
.clinic-grid{
  display:grid;grid-template-columns: 1fr 1.05fr;
  gap: clamp(40px, 6vw, 90px);align-items:stretch;
}
.clinic-photo{
  aspect-ratio: 1/1;background:#c4c4ba;position:relative;min-height:520px;
  overflow:hidden;
}
.clinic-photo .placeholder{
  position:absolute;inset:0;
  background:
    linear-gradient(135deg, rgba(9,16,38,0.06) 0%, rgba(9,16,38,0) 60%),
    repeating-linear-gradient(45deg, #c4c4ba 0, #c4c4ba 14px, #b8b8ae 14px, #b8b8ae 15px);
  display:grid;place-items:center;
}
.clinic-photo .placeholder span{
  font-family:"JetBrains Mono", ui-monospace, monospace;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  background:var(--cream);padding:10px 18px;border:1px solid var(--ink-line);
  color:var(--ink-muted);
}
.clinic-photo::after{
  content:"";position:absolute;bottom:18px;right:18px;
  width:64px;height:48px;
  border-bottom:1px solid var(--gold);
  border-right:1px solid var(--gold);
}
.clinic-info{padding: clamp(8px, 1.5vw, 24px) 0}
.clinic-info h2{margin-bottom:24px}
.clinic-info > p{
  font-size:clamp(16px, 1.25vw, 18px);line-height:1.7;color:var(--ink-muted);
  margin:0 0 36px;max-width:54ch;
}
.clinic-features{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;
}
.clinic-features li{
  display:grid;grid-template-columns:28px 1fr;gap:14px;
  align-items:flex-start;padding:14px 0;
  border-top:1px solid var(--ink-line);
}
.clinic-features .ico{
  width:28px;height:28px;border:1px solid var(--gold);border-radius:50%;
  display:grid;place-items:center;color:var(--gold);
}
.clinic-features .ico svg{width:14px;height:14px}
.clinic-features h5{
  font-size:13px;margin:0 0 4px;color:var(--ink);font-weight:600;
  letter-spacing:.02em;
}
.clinic-features small{color:var(--ink-muted);font-size:12.5px;line-height:1.5;display:block}

/* ===== Conheça um pouco sobre nós (Missão/Visão/Valores) NEW ===== */
.mvv-wrap{
  display:grid;grid-template-columns: 1fr 1.4fr;
  gap: clamp(48px, 6vw, 100px);align-items:center;
}
.mvv-photo{
  aspect-ratio: 3/4;background:#0d1835;position:relative;overflow:hidden;
}
.mvv-photo .placeholder{
  position:absolute;inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(0,0,0,0.15) 100%),
    repeating-linear-gradient(45deg, #0b1530 0, #0b1530 14px, #0f1e3d 14px, #0f1e3d 15px);
  display:grid;place-items:center;
}
.mvv-photo .placeholder span{
  font-family:"JetBrains Mono", ui-monospace, monospace;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  background:rgba(9,16,38,.85);padding:10px 18px;border:1px solid var(--gold-faint);
  color:var(--gold-2);
}
.mvv-photo::after{
  content:"";position:absolute;bottom:-1px;right:-1px;
  width:56px;height:56px;background:var(--gold);
}
.mvv-list{display:flex;flex-direction:column;gap:8px}
.mvv-item{
  display:grid;grid-template-columns:auto 1fr;
  gap:36px;padding:28px 0;border-top:1px solid rgba(217,217,205,.18);
  align-items:start;
}
.mvv-item:last-child{border-bottom:1px solid rgba(217,217,205,.18)}
.mvv-item .label{
  font-family:var(--serif);font-style:italic;font-size:18px;
  color:var(--gold-2);min-width:120px;
}
.mvv-item h3{
  font-family:var(--serif);font-weight:500;font-size:28px;
  margin:0 0 10px;color:#d9d9cd;
}
.mvv-item p{
  font-size:14.5px;line-height:1.7;color:rgba(217,217,205,.72);margin:0;
  max-width:46ch;
}

/* ===== Dr. Gustavo Moura bio ===== */
.bio-grid{
  display:grid;grid-template-columns: 1fr 1.2fr;
  gap: clamp(48px, 6vw, 100px);align-items:center;
}
.bio-photo{aspect-ratio:4/5;background:var(--cream-2);overflow:hidden}
.bio-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.bio-content h2{
  font-family:var(--serif);font-weight:700;font-size: clamp(40px, 4.6vw, 64px);
  margin:0 0 12px;color:#d9d9cd;line-height:1.02;
}
.bio-content .credentials{
  font-size:11.5px;letter-spacing:.22em;color:var(--gold-2);
  text-transform:uppercase;margin:0 0 36px;
}
.bio-content > p{
  font-size:clamp(16px, 1.25vw, 18px);line-height:1.7;color:rgba(217,217,205,.78);
  margin:0 0 18px;
}
.bio-link{
  display:inline-flex;align-items:center;gap:14px;margin-top:18px;
  font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-2);font-weight:600;
  padding-bottom:8px;border-bottom:1px solid var(--gold-2);
}
.bio-link:hover{color:#fff;border-color:#fff}

/* ===== Áreas de atuação ===== */
.areas-title{text-align:center;margin-bottom:14px}
.areas-lead{text-align:center;margin:0 auto 56px;max-width:60ch}
.areas-grid{display:grid;grid-template-columns:1fr 1fr;gap: clamp(48px, 6vw, 90px)}
.areas-col h3{
  font-family:var(--serif);font-weight:500;font-size:30px;
  margin:0 0 6px;color:var(--ink);
}
.areas-col .col-sub{
  font-size:13px;color:var(--ink-muted);margin:0 0 22px;
}
.area-item{
  display:grid;grid-template-columns:auto 1fr auto;gap:22px;
  padding:22px 0;border-top:1px solid var(--ink-line);align-items:start;
}
.area-item:last-child{border-bottom:1px solid var(--ink-line)}
.area-item .roman{
  font-family:var(--serif);font-style:italic;font-size:14px;
  color:var(--gold);min-width:24px;padding-top:2px;
}
.area-item h4{
  font-family:var(--serif);font-weight:500;font-size:20px;margin:0 0 6px;
}
.area-item .desc{font-size:13.5px;line-height:1.6;color:var(--ink-muted);margin:0;max-width:46ch}
.area-item.soon h4,.area-item.soon .desc{opacity:.45}
.area-item .cta{
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:600;padding-bottom:4px;
  border-bottom:1px solid var(--gold);align-self:start;margin-top:4px;
}
.area-item.soon .cta{
  font-family:var(--serif);font-style:italic;text-transform:none;
  letter-spacing:0;color:var(--ink-muted);border-color:var(--ink-line);
}

/* ===== Reconhecimentos ===== */
.recog-title{text-align:center;margin-bottom:64px}
.recog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap: clamp(36px, 5vw, 72px)}
.recog-col h4{
  font-size:11px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;
  margin:0 0 16px;font-weight:600;padding-bottom:10px;border-bottom:1px solid var(--gold-faint);
}
.recog-item{padding:16px 0;border-bottom:1px solid var(--ink-line)}
.recog-item:last-child{border-bottom:none}
.recog-item h5{
  font-family:var(--serif);font-weight:500;font-size:19px;margin:0 0 6px;color:var(--ink)
}
.recog-item p{font-size:13px;color:var(--ink-muted);margin:0;line-height:1.5}
.recog-item p em{font-style:italic;color:var(--gold)}

/* ===== Consulta + form ===== */
.consult-title{text-align:center;margin-bottom:64px}
.consult-grid{
  display:grid;grid-template-columns: 1fr 1.05fr;
  gap: clamp(40px, 6vw, 90px);align-items:stretch;
}
.consult-text > p{
  font-size:clamp(16px, 1.25vw, 18px);line-height:1.7;color:var(--ink-muted);margin:0 0 22px;
}
.consult-text p strong{color:var(--ink);font-weight:500}
.consult-cta{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--gold);color:var(--navy);
  padding:18px 32px;font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:600;margin-top:8px;
}
.consult-cta:hover{background:var(--gold-2)}

.form-card{
  background:var(--navy);color:var(--cream);padding: clamp(32px, 4vw, 48px);
  display:flex;flex-direction:column;gap:6px;
}
.form-card .kicker{
  font-size:10.5px;letter-spacing:.22em;color:var(--gold-2);
  text-transform:uppercase;margin-bottom:6px;
}
.form-card h3{
  font-family:var(--serif);font-weight:500;font-size:30px;
  color:#d9d9cd;margin:0 0 10px;line-height:1.1;
}
.form-card p.sub{
  font-size:13.5px;color:rgba(217,217,205,.7);margin:0 0 26px;line-height:1.6;
}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.field label{
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-2);font-weight:600;
}
.field input,.field select,.field textarea{
  background:transparent;border:none;border-bottom:1px solid rgba(217,217,205,.25);
  color:#d9d9cd;font-family:var(--sans);font-size:14.5px;
  padding:10px 0;outline:none;transition:border-color .2s;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(217,217,205,.35)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold-2)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field select{
  appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23d4b86a' stroke-width='1.4' fill='none'/></svg>");
  background-repeat:no-repeat;background-position:right 0 center;background-size:12px 8px;
  padding-right:24px;color:#d9d9cd;
}
.field select option{background:var(--navy);color:#d9d9cd}
.form-submit{
  margin-top:12px;background:var(--gold);color:var(--navy);
  border:none;padding:16px 24px;font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  transition:background .2s;
}
.form-submit:hover{background:var(--gold-2)}
.form-consent{
  font-size:11.5px;color:rgba(217,217,205,.55);margin:14px 0 0;line-height:1.55;
}
.form-consent a{color:var(--gold-2);border-bottom:1px solid var(--gold-faint)}
.form-success{
  display:none;padding:22px;border:1px solid var(--gold-2);
  color:var(--gold-2);font-size:14px;line-height:1.5;margin-top:4px;
}
.form-success.show{display:block}
.form-success.show + form{display:none}

/* ===== Footer ===== */
.footer{background:var(--navy-2);color:var(--cream);padding:80px 0 28px}
.footer-grid{
  display:grid;grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: clamp(28px, 4vw, 60px);
  margin-bottom:60px;
}
.footer h5{
  font-size:11px;letter-spacing:.22em;color:var(--gold-2);
  text-transform:uppercase;margin:0 0 18px;font-weight:600;
}
.footer .brand-stack{display:flex;flex-direction:column;gap:8px}
.footer .brand-mark{border:none;border-radius:0;color:var(--gold-2);width:77px;height:77px}
.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer li{font-size:14px;color:rgba(217,217,205,.72)}
.footer li a:hover{color:var(--gold-2)}
.footer .credentials{
  font-size:12px;letter-spacing:.06em;color:rgba(217,217,205,.55);margin-top:4px;
}
.footer .pitch{
  font-family:var(--serif);font-style:italic;font-size:15px;
  color:var(--gold-2);margin-top:8px;line-height:1.45;
}
.footer-bottom{
  border-top:1px solid rgba(217,217,205,.1);margin-top:60px;padding-top:24px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:11.5px;letter-spacing:.06em;color:rgba(217,217,205,.55);
}
.footer-bottom .links{display:flex;gap:28px}

/* ===== Tweaks panel ===== */
.tweaks{
  position:fixed;right:24px;bottom:24px;z-index:100;
  background:#091026;color:#d9d9cd;
  border:1px solid var(--gold-faint);
  width:300px;font-family:var(--sans);
  display:none;font-size:13px;
  box-shadow:0 30px 80px rgba(0,0,0,0.35);
}
.tweaks.on{display:block}
.tweaks header{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 18px;border-bottom:1px solid rgba(217,217,205,.12);
}
.tweaks header h6{
  margin:0;font-size:11px;letter-spacing:.22em;color:var(--gold-2);
  text-transform:uppercase;font-weight:600;
}
.tweaks header button{
  background:none;border:none;color:rgba(217,217,205,.6);
  cursor:pointer;font-size:18px;line-height:1;
}
.tweaks .body{padding:18px;display:flex;flex-direction:column;gap:18px}
.tweak h6{margin:0 0 8px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);font-weight:600}
.tweak .opts{display:flex;gap:6px;flex-wrap:wrap}
.tweak .opt{
  flex:1;min-width:0;padding:8px 10px;font-size:11px;
  border:1px solid rgba(217,217,205,.18);background:transparent;color:#d9d9cd;
  cursor:pointer;text-align:center;letter-spacing:.06em;
  text-transform:uppercase;font-weight:500;transition:all .15s;
}
.tweak .opt:hover{border-color:var(--gold-2)}
.tweak .opt.active{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.tweak.toggle{display:flex;align-items:center;justify-content:space-between}
.tweak.toggle h6{margin:0}
.toggle-switch{
  width:36px;height:20px;border-radius:20px;background:rgba(217,217,205,.18);
  position:relative;cursor:pointer;transition:background .2s;
}
.toggle-switch::after{
  content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;
  background:#d9d9cd;border-radius:50%;transition:left .2s;
}
.toggle-switch.on{background:var(--gold)}
.toggle-switch.on::after{left:18px;background:var(--navy)}

/* ===== Agendar page ===== */
.agendar-cta{
  padding-block: clamp(64px, 8vw, 112px);
  background:var(--cream);color:var(--ink);
  text-align:center;
}
.agendar-cta > .container{max-width:640px}
.agendar-cta p{
  font-size:16px;line-height:1.7;color:var(--ink-muted);
  margin:0 0 36px;
}

/* Map iframe responsive */
.consult-grid iframe{
  width:100%;
  display:block;
  border:0;
}

/* ===== Context overrides (components em fundos alternados) ===== */

/* bio-grid em bg-cream */
.bg-cream .bio-content h2 { color: var(--ink); }
.bg-cream .bio-content > p { color: var(--ink-muted); }

/* mvv-item em bg-cream */
.bg-cream .mvv-item { border-top-color: var(--ink-line); }
.bg-cream .mvv-item:last-child { border-bottom-color: var(--ink-line); }
.bg-cream .mvv-item h3 { color: var(--ink); }
.bg-cream .mvv-item p { color: var(--ink-muted); }

/* cred-table em bg-navy-deep / bg-navy */
.bg-navy-deep .cred-table th,
.bg-navy .cred-table th { color: var(--paper); }
.bg-navy-deep .cred-table td,
.bg-navy .cred-table td { color: rgba(217,217,205,.65); }
.bg-navy-deep .cred-table th,
.bg-navy-deep .cred-table td,
.bg-navy .cred-table th,
.bg-navy .cred-table td { border-bottom-color: var(--paper-line); }

/* area-item em bg-navy-deep / bg-navy */
.bg-navy-deep .area-item,
.bg-navy .area-item { border-top-color: rgba(217,217,205,.18); }
.bg-navy-deep .area-item:last-child,
.bg-navy .area-item:last-child { border-bottom-color: rgba(217,217,205,.18); }
.bg-navy-deep .area-item h4,
.bg-navy .area-item h4 { color: var(--paper); }
.bg-navy-deep .area-item .desc,
.bg-navy .area-item .desc { color: rgba(217,217,205,.65); }

/* recog-item em bg-navy-deep / bg-navy */
.bg-navy-deep .recog-item,
.bg-navy .recog-item { border-bottom-color: rgba(217,217,205,.18); }
.bg-navy-deep .recog-item h5,
.bg-navy .recog-item h5 { color: var(--paper); }
.bg-navy-deep .recog-item p,
.bg-navy .recog-item p { color: rgba(217,217,205,.65); }

/* ===== Responsive ===== */
@media (max-width: 1100px){
  .nav-links{display:none}
  .nav-burger{display:inline-flex;margin-left:auto}
  .hero-grid,.mapping-grid,.escapa-grid,.clinic-grid,.mvv-wrap,.bio-grid,.areas-grid,.consult-grid{grid-template-columns:1fr}
  .hero .container{grid-template-columns:1fr}
  .hero-content{grid-column:auto}
  .cuidado-steps,.recog-grid,.footer-grid{grid-template-columns:1fr 1fr}
  .para-quem-grid{grid-template-columns:1fr}
  .hero-photo{order:-1;max-width:480px;margin:0 auto}
  .utility-cta{ display:none }
}
@media (max-width: 768px){
  .cuidado-steps{grid-template-columns:1fr}
  .para-quem-grid{grid-template-columns:1fr}
  .hero-meta{flex-direction:column;gap:16px}
  .hero-meta .col{border-right:none;border-bottom:1px solid rgba(163,174,185,.2);padding:0 0 16px 0 !important;margin-bottom:4px}
  .hero-meta .col:last-child{border-bottom:none;padding-bottom:0 !important}
}
@media (max-width: 640px){
  .cuidado-steps,.recog-grid,.footer-grid,.clinic-features,.field-row{grid-template-columns:1fr}
  .utility{ padding-block:7px; }
  .utility-right{ display:none }
  .footer{padding:48px 0 24px}
  .footer-bottom{flex-direction:column;gap:12px;margin-top:32px}
  .footer-bottom .links{flex-wrap:wrap;gap:16px}
}

/* ===== Theme variants (via [data-theme]) ===== */
[data-theme="charcoal"]{
  --navy:#1c1d22;--navy-2:#222328;
  --cream:#f1eee8;--cream-2:#e6e2d8;
  --gold:#a08a55;--gold-2:#b89e62;
  --gold-faint:rgba(160,138,85,0.35);
  --ink:#1c1d22;
}
[data-theme="forest"]{
  --navy:#0e2120;--navy-2:#102827;
  --cream:#f1ede1;--cream-2:#e6e0cf;
  --gold:#a78f5b;--gold-2:#bfa570;
  --gold-faint:rgba(167,143,91,0.35);
  --ink:#0e2120;
}

  /* ============================================================
     UTILITY BAR (top)
     ============================================================ */
  .utility{
    background:var(--navy);
    color:#cdd3df;
    font-size: clamp(11px, 0.85vw, 13.5px);
    letter-spacing:.04em;
    border-bottom:1px solid rgba(255,255,255,0.08);
    padding-block: clamp(7px, 0.9vw, 12px);
  }
  .utility .wrap-wide{
    max-width: var(--container);
    margin: 0 auto;
    padding-inline: var(--pad-x);
    display:flex; align-items:center; justify-content:space-between;
    gap: clamp(16px, 2vw, 32px);
  }
  .utility-left{ display:flex; gap: clamp(12px, 1.6vw, 26px); align-items:center; }
  .utility-left span{ display:inline-flex; align-items:center; gap: clamp(5px, 0.5vw, 8px); }
  .utility-left svg{ width: clamp(13px, 1.1vw, 17px); height: clamp(13px, 1.1vw, 17px); opacity:.7; }
  .utility-right{ display:flex; gap: clamp(10px, 1.2vw, 20px); align-items:center; }
  .utility-right a{ color:#cdd3df; display:inline-flex; align-items:center; }
  .utility-right a:hover{ color:var(--gold-2); }
  .utility-divider{ width:1px; height: clamp(13px, 1.1vw, 17px); background:rgba(255,255,255,0.18); }
  .utility-cta{
    color:var(--gold-2) !important;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:lowercase;
    font-size: clamp(10px, 0.78vw, 12px);
  }

    /* ============================================================
     UTILITY GOOGLE
     ============================================================ */

  .google-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 0;
}

/* ===== Header ===== */
.site-header {
  position: sticky;
  top: 0;
  background: var(--cream);
  border-bottom: 1px solid rgba(9, 16, 38, 0.08);
  z-index: 100;
  padding: clamp(12px, 1.4vw, 22px) 0;
}

.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(20px, 2.5vw, 40px);
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand-mark {
  width: clamp(38px, 3.5vw, 52px);
  height: clamp(38px, 3.5vw, 52px);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.brand-mark img,
.brand-mark svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.brand-name {
  font-family: var(--font-display);
  font-size: clamp(0.82rem, 0.9vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--navy);
}

.brand-role {
  font-size: clamp(0.6rem, 0.58vw, 0.75rem);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
}

.nav-list {
  display: flex;
  gap: 32px;
  list-style: none;
}

.nav-list a {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--navy);
}

.nav-list a:hover {
  color: var(--gold);
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 28px;
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: all var(--transition);
}

.btn-primary {
  background: var(--gold);
  color: var(--navy);
}

.btn-primary:hover {
  background: var(--gold-light);
  transform: translateY(-1px);
}

.btn-arrow::after {
  content: '→';
  font-size: 1.1rem;
}

.btn-secondary {
  background: transparent;
  color: var(--navy);
  border: 1px solid var(--navy);
}

.btn-secondary:hover {
  background: var(--navy);
  color: var(--cream);
}

.mobile-menu-toggle {
  display: none;
  background: none;
  border: none;
  color: var(--navy);
  cursor: pointer;
  padding: 8px;
}

/* ===== Dropdown nav (Sobre) ===== */
.nav-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}
.nav-dropdown > a {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 0;
  color: var(--ink);
  font-size: clamp(11px, 0.88vw, 13px);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
}
.nav-dropdown > a:hover { color: var(--gold); }
.nav-dropdown > a .chevron {
  width: 10px;
  height: 6px;
  transition: transform .2s;
  flex-shrink: 0;
}
.nav-dropdown:hover > a .chevron,
.nav-dropdown:focus-within > a .chevron { transform: rotate(180deg); }
.dropdown-menu {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--cream);
  border: 1px solid var(--ink-line);
  border-top: 2px solid var(--gold);
  min-width: 210px;
  z-index: 200;
  box-shadow: 0 8px 32px rgba(9,16,38,0.10);
  transition: opacity .15s, visibility .15s;
}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu { visibility: visible; opacity: 1; }
.dropdown-menu a {
  display: block;
  padding: 13px 20px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1px solid var(--ink-line);
  font-weight: 500;
}
.dropdown-menu a:last-child { border-bottom: none; }
.dropdown-menu a:hover { color: var(--gold); background: rgba(191,164,95,0.06); }

/* ===== Hamburger button ===== */
.nav-burger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--navy);
  line-height: 0;
}

/* ===== Mobile nav drawer ===== */
.nav-mobile {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--cream);
  z-index: 500;
  flex-direction: column;
  overflow-y: auto;
}
.nav-mobile.open { display: flex; }
.nav-mobile-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: clamp(14px, 2.5vw, 24px) var(--pad-x);
  border-bottom: 1px solid var(--ink-line);
  background: var(--cream);
  position: sticky;
  top: 0;
  z-index: 1;
}
.nav-mobile-close {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--navy);
  padding: 8px;
  line-height: 0;
}
.nav-mobile-links {
  display: flex;
  flex-direction: column;
  padding: 8px var(--pad-x) 24px;
  flex: 1;
}
.nav-mobile-links a,
.nav-mobile-group-label {
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink);
  padding: 16px 0;
  border-bottom: 1px solid var(--ink-line);
  display: block;
  font-weight: 500;
}
.nav-mobile-links a.future { opacity: .4; font-size: 11px; }
.nav-mobile-group-label {
  color: var(--gold);
  font-size: 10.5px;
  letter-spacing: .22em;
  padding-bottom: 6px;
  border-bottom: none;
  margin-top: 4px;
  font-weight: 600;
}
.nav-mobile-sub {
  padding-left: 16px;
  border-bottom: 1px solid var(--ink-line);
}
.nav-mobile-sub a {
  font-size: 12px;
  border-bottom: none;
  padding: 12px 0;
  color: var(--ink-muted);
}
.nav-mobile-sub a:last-child { padding-bottom: 16px; }
.nav-mobile-footer {
  padding: 0 var(--pad-x) 40px;
  border-top: 1px solid var(--ink-line);
  padding-top: 24px;
}
.nav-mobile-cta {
  display: block !important;
  background: var(--gold);
  color: var(--navy) !important;
  padding: 18px 24px;
  font-size: 11.5px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 600;
  text-align: center;
  border-bottom: none !important;
}
.nav-mobile-cta:hover { background: var(--gold-2); }

/* ===== Page hero (inner pages) ===== */
.page-hero {
  background: var(--navy);
  color: var(--paper);
  padding: clamp(64px, 9vw, 120px) 0 clamp(56px, 7vw, 96px);
  position: relative;
  overflow: hidden;
}
.page-eyebrow {
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold-2);
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.page-eyebrow::before {
  content: "";
  width: 36px;
  height: 1px;
  background: var(--gold-2);
  flex-shrink: 0;
}
.page-hero h1 {
  font-family: var(--serif);
  font-size: clamp(42px, 5.5vw, 74px);
  font-weight: 500;
  line-height: 1.04;
  color: #d9d9cd;
  margin: 0 0 24px;
}
.page-hero h1 em { font-style: italic; color: var(--gold-2); }
.page-hero > .container > p {
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 1.72;
  color: rgba(217,217,205,.78);
  max-width: 54ch;
  margin: 0;
}

/* ===== Credential table ===== */
.cred-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 32px;
}
.cred-table th, .cred-table td {
  padding: 14px 0;
  text-align: left;
  border-bottom: 1px solid var(--ink-line);
  font-size: 14.5px;
  vertical-align: top;
}
.cred-table th {
  font-weight: 600;
  color: var(--ink);
  width: 55%;
  padding-right: 24px;
}
.cred-table td { color: var(--ink-muted); }

/* ===== Coming soon ===== */
.coming-soon {
  text-align: center;
  padding: clamp(80px, 12vw, 160px) 0;
}
.coming-soon .badge {
  display: inline-block;
  background: var(--gold-faint);
  color: var(--gold);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: 8px 18px;
  margin-bottom: 32px;
  font-weight: 600;
}
.coming-soon h2 {
  font-family: var(--serif);
  font-size: clamp(32px, 3.8vw, 46px);
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 20px;
}
.bg-navy .coming-soon h2 { color: #d9d9cd; }
.coming-soon p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink-muted);
  max-width: 46ch;
  margin: 0 auto 36px;
}
.bg-navy .coming-soon p { color: rgba(217,217,205,.72); }

/* ===== Responsive dropdown / hamburger ===== */
@media (max-width: 1100px) {
  .nav-burger { display: inline-flex; }
  .nav-dropdown .dropdown-menu {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none;
  }
  .nav-dropdown > a .chevron { display: none; }
}
@media (max-width: 480px) {
  .page-hero h1 { font-size: clamp(36px, 8vw, 48px); }
}

/* ==========================================================
   Enxaqueca e Dor de Cabeça — page-specific components
   ========================================================== */

/* Active nav link */
.nav-links a.nav-active { color: var(--gold); }

/* ---- Content column wrappers ---- */
.enx-inner      { max-width: 680px; margin: 0 auto; }
.enx-inner-wide { max-width: 780px; margin: 0 auto; }

/* ---- Hero h1 ---- */
.enx-h1 {
  font-family: 'Playfair Display', var(--serif);
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 700;
  max-width: 920px;
}

/* ---- Section headings (Playfair Display) ---- */
.enx-h2 {
  font-family: 'Playfair Display', var(--serif);
  font-size: clamp(26px, 3.2vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 32px;
}
.bg-cream .enx-h2 { color: var(--navy); }
.bg-navy  .enx-h2 { color: var(--cream); }

/* enx-text-col em bg-navy */
.bg-navy .enx-text-col p { color: rgba(217,217,205,.80); }
.bg-navy .enx-text-col .enx-cta-text { color: rgba(217,217,205,.90); }

/* ---- Bloco 1: staccato rhythm ---- */
.enx-staccato p {
  font-family: 'Lato', var(--sans);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.75;
  color: var(--navy);
  margin: 0 0 0.5em;
}
.enx-staccato p.enx-final {
  margin-top: 1.8em;
  margin-bottom: 0;
}

/* ---- Bloco 2: body text & pull quote ---- */
.enx-body-p {
  font-family: 'Lato', var(--sans);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.75;
  color: rgba(217, 217, 205, 0.85);
  margin: 0 0 18px;
}

.enx-pull-quote {
  font-family: 'Playfair Display', var(--serif);
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 700;
  font-style: italic;
  color: var(--gold);
  text-align: center;
  margin: 0;
  padding: 40px 0 0;
  line-height: 1.35;
  border-top: 1px solid var(--gold-faint);
  margin-top: 48px;
}

/* ---- Bloco 3: photo + text two-column ---- */
.enx-two-col {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: clamp(40px, 6vw, 64px);
  align-items: start;
}

.enx-photo {
  aspect-ratio: 9/10;
  overflow: hidden;
  border-radius: 4px;
  position: relative;
}
.enx-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
/* Decorative gold corner — same visual language as .hero-photo */
.enx-photo::after {
  content: "";
  position: absolute;
  bottom: -14px;
  left: -14px;
  width: 64px;
  height: 48px;
  border-bottom: 1px solid var(--gold);
  border-left: 1px solid var(--gold);
}

.enx-text-col p {
  font-family: 'Lato', var(--sans);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.75;
  color: var(--navy);
  margin: 0 0 18px;
}
/* Higher specificity to override .enx-text-col p on the CTA text */
.enx-text-col .enx-cta-text {
  font-family: 'Lato', var(--sans);
  font-size: 16px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.55;
  margin: 32px 0 20px;
}

/* CTA button — visual language of .consult-cta */
.enx-btn {
  display: inline-flex;
  align-items: center;
  background: var(--gold);
  color: var(--navy);
  padding: 16px 36px;
  font-family: 'Lato', var(--sans);
  font-size: clamp(10px, 0.82vw, 13px);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 2px;
  transition: background var(--transition);
}
.enx-btn:hover { background: #a8913f; color: var(--navy); }

@media (max-width: 1024px) {
  .enx-two-col { grid-template-columns: 45% 55%; }
}
@media (max-width: 767px) {
  .enx-two-col { grid-template-columns: 1fr; gap: 32px; }
  .enx-photo::after { display: none; } /* corner clip outside viewport */
}

/* ---- FAQ accordion ---- */
.faq-list { margin: 0; }

.faq-item { border-bottom: 1px solid rgba(191, 164, 95, 0.3); }
.faq-item:first-child { border-top: 1px solid rgba(191, 164, 95, 0.3); }

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  width: 100%;
  padding: 20px 0;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: 'Lato', var(--sans);
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 700;
  color: var(--cream);
  line-height: 1.4;
  transition: color var(--transition);
}
.faq-question:hover { color: var(--gold-2); }

.faq-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
  transition: transform 0.3s ease;
  user-select: none;
}
.faq-item.open .faq-icon { transform: rotate(45deg); }

.faq-answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease;
}
.faq-answer-inner {
  padding: 16px 0 24px;
  font-family: 'Lato', var(--sans);
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 400;
  line-height: 1.75;
  color: rgba(217, 217, 205, 0.8);
}
.faq-answer-inner p { margin: 0; }

/* FAQ accordion em bg-cream */
.bg-cream .faq-question { color: var(--navy); }
.bg-cream .faq-question:hover { color: var(--gold); }
.bg-cream .faq-answer-inner { color: rgba(9,16,38,.72); }

/* ===== Depoimentos — slider 3 cards ===== */
.dep-subtitle {
  text-align: center;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(217,217,205,.52);
  margin: -8px 0 0;
}
.dep-google-badge {
  display: none;
  align-items: center;
  gap: 8px;
  margin: 22px auto 0;
  padding: 8px 18px;
  border: 1px solid var(--gold-faint);
  font-size: 13px;
  color: rgba(217,217,205,.65);
  width: fit-content;
}
.dep-google-badge strong { color: #d9d9cd; }
.dep-google-badge svg { width: 15px; height: 15px; }

.dep-carousel-wrap {
  overflow: hidden;
  margin-top: 52px;
  padding-inline: var(--pad-x);
  max-width: var(--container);
  margin-left: auto;
  margin-right: auto;
}
.dep-viewport { overflow: hidden; }
.dep-track {
  display: flex;
  gap: 24px;
  align-items: stretch;
  will-change: transform;
}
.dep-card {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-top: 3px solid var(--gold);
  padding: clamp(28px, 3vw, 42px) clamp(24px, 2.6vw, 36px) clamp(24px, 2.6vw, 34px);
  position: relative;
  transition: box-shadow .3s, transform .3s;
  color: var(--navy);
}
.dep-card:hover {
  box-shadow: 0 20px 56px rgba(0,0,0,.22);
  transform: translateY(-5px);
}
.dep-card::before {
  content: '\201C';
  position: absolute;
  top: 18px; right: 22px;
  font-family: var(--serif);
  font-size: 96px;
  line-height: 1;
  color: rgba(191,164,95,.11);
  pointer-events: none;
}
.dep-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.dep-avatar {
  width: 50px; height: 50px;
  border-radius: 50%;
  border: 2px solid rgba(191,164,95,.3);
  background: rgba(191,164,95,.1);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 21px; font-weight: 600;
  color: var(--gold);
  flex-shrink: 0; overflow: hidden;
}
.dep-avatar img { width: 100%; height: 100%; object-fit: cover; }
.dep-name {
  font-family: var(--serif);
  font-size: 19px; font-weight: 600;
  color: var(--navy); margin: 0; line-height: 1.2;
}
.dep-date {
  font-size: 12px;
  color: rgba(9,16,38,.42);
  margin: 4px 0 0;
  letter-spacing: .02em;
}
.dep-stars { display: flex; gap: 3px; margin-bottom: 18px; }
.dep-stars svg { width: 16px; height: 16px; fill: #f0b429; }
.dep-text {
  font-size: clamp(16px, 1.15vw, 17px);
  line-height: 1.78;
  color: rgba(9,16,38,.7);
  font-style: italic;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
  flex: 1;
}
.dep-footer {
  display: flex; align-items: center; justify-content: flex-end;
  gap: 5px; margin-top: 22px; padding-top: 14px;
  border-top: 1px solid rgba(9,16,38,.1);
}
.dep-footer span { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: rgba(9,16,38,.32); }
.dep-footer svg { width: 13px; height: 13px; }

@media (max-width: 640px) {
  .dep-carousel-wrap { padding-inline: var(--pad-x); }
  .dep-card { padding: 24px 20px 20px; }
}

/* =====================================================
   NOVOS BLOCOS — briefing Daniel_Briefing_Home_v1
   ===================================================== */

/* Bloco 2 — Mapeamento da dor (cream) */
.mapeamento-body{max-width:68ch}
.mapeamento-body p{
  font-family:var(--sans);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height:1.8;color:var(--ink);margin:0 0 22px;
}

/* Bloco 2.5 — A dor que escapa ao laudo (navy) */
.laudo-body{display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,80px); align-items:start;}
.laudo-body p{
  font-family:var(--sans);
  font-size: clamp(16px, 1.25vw, 18px);
  line-height:1.8;color:rgba(245,244,238,.82);margin:0 0 22px;
}

.laudo-body p.laudo-destaque{color:var(--paper);font-weight:700;}

.laudo-body p:last-child {
  margin-bottom: 0;
}

/* Bloco 3 — cuidado cards em bg-cream */
.bg-cream .cuidado-step{border-top-color:rgba(191,164,95,.35)}
.bg-cream .cuidado-step .roman{color:var(--gold)}
.bg-cream .cuidado-step h4{color:var(--navy)}
.bg-cream .cuidado-step p{color:rgba(9,16,38,.68)}

/* Bloco 5 — Para quem (navy) */
.para-quem-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap: clamp(20px, 2.5vw, 32px);margin-top:48px;
}
.para-quem-card{
  padding: clamp(28px, 3vw, 36px);
  border:1px solid rgba(163,174,185,.18);
  border-top:2px solid var(--gold);
  display:flex;flex-direction:column;gap:14px;
  transition:border-color .2s, transform 0.3s ease, box-shadow 0.3s ease;
}
.para-quem-card:hover{border-color:var(--gold)}
.para-quem-card .card-num{
  font-family:var(--sans);font-style:italic;
  font-size:13px;color:var(--gold);font-weight:700;letter-spacing:.04em;
}
.para-quem-card h4{
  font-family:var(--serif);font-weight:700;
  font-size: clamp(18px, 1.6vw, 22px);
  color:var(--paper);margin:0;line-height:1.25;
}
.para-quem-card p{
  font-family:var(--sans);font-size:15px;line-height:1.7;
  color:rgba(245,244,238,.72);margin:0;flex:1;
}
.para-quem-card .card-link{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);font-weight:700;
  padding-top:14px;border-top:1px solid rgba(191,164,95,.2);
  margin-top:auto;transition:color .2s;
}
.para-quem-card .card-link:hover{color:var(--gold-2)}
.para-quem-card .card-link svg{width:14px;height:14px}
.para-quem-outros{
  margin-top:32px;padding-top:24px;
  border-top:1px solid rgba(163,174,185,.15);
  font-family:var(--sans);font-size:13.5px;
  color:rgba(245,244,238,.55);letter-spacing:.02em;
}
@media (max-width:1100px){
  .para-quem-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
  .para-quem-grid{grid-template-columns:1fr}
}

/* Bloco 6 — Sobre (cream) */
.bio-grid-sobre{
  display:grid;grid-template-columns:40% 1fr;
  gap: clamp(40px, 6vw, 90px);align-items:start;
}
.bio-photo-sobre{aspect-ratio:9/10;background:var(--cream-2);overflow:hidden;}
.bio-photo-sobre img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.bio-text-sobre h2{
  font-family:var(--serif);font-weight:700;
  font-size: clamp(32px, 3.5vw, 46px);
  color:var(--navy);margin:0 0 8px;line-height:1.08;
}
.bio-text-sobre .eyebrow-sobre{
  font-family:var(--sans);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);font-weight:700;margin:0 0 24px;
}
.bio-text-sobre p{
  font-family:var(--sans);font-size:clamp(16px, 1.25vw, 18px);
  line-height:1.78;color:rgba(9,16,38,.72);margin:0 0 16px;
}
@media (max-width:1024px){.bio-grid-sobre{grid-template-columns:45% 1fr}}
@media (max-width:767px){
  .bio-grid-sobre{grid-template-columns:1fr;gap:32px}
  .bio-photo-sobre{aspect-ratio:4/3;max-height:380px}
}

/* Bloco 7 — Reconhecimentos (navy) */
.recog-col-aval p{
  font-family:var(--sans);font-size:14px;line-height:1.6;
  color:rgba(245,244,238,.72);margin:8px 0 0;
}
.recog-col-aval strong{color:var(--paper)}

/* Bloco 8 — CTA Final (cream) */
.cta-final{text-align:center;}
.cta-final > .container{max-width:760px}
.cta-final h2{
  font-family:var(--serif);font-weight:700;
  font-size: clamp(24px, 3vw, 40px);
  color:var(--navy);margin:0 0 20px;line-height:1.18;
}
.cta-final p{
  font-family:var(--sans);font-size:clamp(16px, 1.25vw, 18px);
  line-height:1.78;color:rgba(9,16,38,.68);margin:0 auto 36px;max-width:58ch;
}
.cta-final .cta-btn{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--gold);color:var(--navy);
  padding:18px 48px;font-family:var(--sans);font-size:13px;
  letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  border-radius:2px;transition:background .2s;
}
.cta-final .cta-btn:hover{background:#a8913f;color:var(--navy)}

/* page-hero — pesos Playfair */
.page-hero h1{font-weight:700}

/* google-rating widget */
.google-rating-info{display:flex;flex-direction:column;gap:2px}
.google-stars{color:#f0b429;font-size:14px;letter-spacing:1px}
.google-rating-link{
  font-family:var(--sans);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);font-weight:700;
}
.google-rating-link:hover{color:var(--gold-2)}

/* eyebrow mobile min size */
@media (max-width:767px){
  .eyebrow,.section-eyebrow{font-size:11px}
  .mapeamento-body p,.laudo-body p{font-size:16px}
  .laudo-body{grid-template-columns:1fr;}
}

/* ===== Footer ===== */
.site-footer {
  background: var(--navy);
  color: var(--cream);
  padding: 80px 0 32px;
}


.footer-brand .brand-mark {
  width: 64px;
  height: 64px;
  background: transparent;
  border: none;
}

.footer-brand-name {
  font-family: var(--font-display);
  font-size: 1.1rem;
  margin-top: 20px;
  color: var(--cream);
}

.footer-brand-role {
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 18px;
}

.footer-registry {
  font-size: 0.82rem;
  color: var(--cream);
  opacity: 0.75;
  margin-bottom: 24px;
  letter-spacing: 0.05em;
}

.footer-tagline {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--gold);
  font-size: 0.95rem;
  line-height: 1.45;
}

.footer-column h5 {
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cream);
  margin-bottom: 24px;
  font-weight: 600;
}

.footer-column ul {
  list-style: none;
}

.footer-column li {
  margin-bottom: 14px;
}

.footer-column a {
  font-size: 0.92rem;
  color: var(--cream);
  opacity: 0.8;
  transition: opacity var(--transition);
}

.footer-column a:hover {
  opacity: 1;
  color: var(--gold);
}

.footer-bottom {
  padding-top: 32px;
  border-top: 1px solid rgba(245, 244, 238, 0.15);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cream);
  opacity: 0.7;
}

.footer-legal-links {
  display: flex;
  gap: 32px;
  list-style: none;
}

.footer-legal-links a {
  color: var(--cream);
  opacity: 0.85;
}

.footer-legal-links a:hover {
  color: var(--gold);
  opacity: 1;
}

/* ===== Scroll-reveal system + hero-pattern base ===== */
.page-hero .container { position: relative; z-index: 1; }

.hero-pattern {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.hero-pattern svg {
  width: 100%;
  height: 100%;
  display: block;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
[data-reveal="left"] {
  transform: translateX(-24px);
}
[data-reveal="right"] {
  transform: translateX(24px);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .hero-pattern * { animation: none !important; }
}

/* ----- Illustrações / figuras de condição ----- */
.condition-illustration {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  margin: 0;
}

.condition-illustration img {
  width: 100%;
  height: auto;
  display: block;
}

.condition-illustration figcaption {
  font-size: 12px;
  color: var(--steel);
  margin-top: 8px;
  letter-spacing: .04em;
  line-height: 1.5;
}

/* Overlay atmosfera unificadora (5% navy) */
.condition-illustration::after,
.clinic-gallery-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(9, 16, 38, 0.05);
  pointer-events: none;
}

/* ----- Hover nos cards de condição ----- */
.para-quem-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(9, 16, 38, 0.12),
              0 0 0 1px rgba(191, 164, 95, 0.2);
}

/* ----- Grid da clínica (sobre_a_clinica) ----- */
.clinic-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 24px;
}

.clinic-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  margin: 0;
  aspect-ratio: 4 / 3;
}

.clinic-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 600px) {
  .clinic-gallery {
    grid-template-columns: 1fr;
  }
}

/* ----- Segundo retrato P&B (sobre.html) ----- */
.sobre-retrato-pb img {
  filter: grayscale(100%) contrast(1.05);
}
