/* ==========================================================================
   VALÍVA CLINIC · folha de estilo compartilhada
   Identidade: Manual V6 · paleta "Luz do Ônix" · base visual de /seus_cuidados/
   Mobile-first. Um arquivo para todas as páginas.
   ========================================================================== */

:root {
  /* Paleta Luz do Ônix (Manual V6, p.10) */
  --ouro-escuro:  #563c18;   /* fundo principal / gradiente */
  --ouro-medio:   #805e33;   /* gradiente central */
  --gold:         #9c7c51;   /* tom central aprovado */
  --ouro-claro:   #bea786;   /* fim do gradiente, grafismos */
  --creme:        #f1e4c8;   /* texto sobre fundos escuros */
  --turmalina:    #c76469;   /* acento da marca: filetes, detalhes */
  --nude:         #f4ede0;   /* fundos claros */

  /* Derivados (mesma família, para contraste AA e superfícies) */
  --nude-escuro:  #e8d8c0;
  --papel:        #faf6ee;   /* cartões sobre nude */
  --texto-escuro: #2d1f0e;
  --texto-medio:  #4a3520;
  --turmalina-txt:#a4464c;   /* turmalina escurecida: só para TEXTO pequeno sobre claro (AA) */
  --linha:        rgba(156,124,81,.22);
  --linha-escura: rgba(190,167,134,.24);

  --f-display: 'Cormorant Garamond', 'Palatino Linotype', Palatino, Georgia, serif;
  --f-body:    'EB Garamond', 'Palatino Linotype', Palatino, Georgia, serif;

  --wrap: 1180px;
  --gutter: 24px;
  --sec-y: 88px;             /* respiro vertical mobile */
  --header-h: 64px;
  --ease: cubic-bezier(.2,.7,.2,1);
}

@media (min-width: 900px) {
  :root { --gutter: 40px; --sec-y: 140px; --header-h: 76px; }
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  background: var(--nude);
  color: var(--texto-escuro);
  font-family: var(--f-body);
  font-size: 18px;
  line-height: 1.75;
  overflow-x: hidden;
  padding-bottom: 64px;                 /* espaço da barra Agendar fixa no celular */
}
@media (min-width: 900px) { body { padding-bottom: 0; } }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--turmalina); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 300; background: var(--creme); color: var(--ouro-escuro); padding: 10px 16px; }
.skip:focus { top: 12px; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: var(--sec-y) 0; }
.section--papel { background: var(--papel); }
.section--escura { background: var(--ouro-escuro); color: var(--creme); position: relative; overflow: hidden; }

/* grafismo: arcos ultrafinos do canto superior direito (Manual V6, p.12) */
.arcos { position: relative; overflow: hidden; }
.arcos::before {
  content: ''; position: absolute; top: 0; right: 0; width: 70%; height: 100%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 800' preserveAspectRatio='xMaxYMin slice'%3E%3Cpath d='M600 30 C 330 120 250 420 300 800' stroke='%23bea786' stroke-width='.7' fill='none' opacity='.28'/%3E%3Cpath d='M600 140 C 400 220 330 470 370 800' stroke='%23bea786' stroke-width='.6' fill='none' opacity='.22'/%3E%3Cpath d='M600 300 C 480 360 440 560 470 800' stroke='%23f1e4c8' stroke-width='.5' fill='none' opacity='.16'/%3E%3C/svg%3E") no-repeat right top / cover;
  pointer-events: none;
}
.arcos > * { position: relative; z-index: 1; }

/* ---------- tipografia ---------- */
.eyebrow {
  display: block;
  font-family: var(--f-display);
  font-size: 12px; font-weight: 500;
  letter-spacing: .42em; text-transform: uppercase;
  color: var(--turmalina-txt);
  margin-bottom: 22px;
}
.section--escura .eyebrow, .hero .eyebrow { color: var(--ouro-claro); }
.h-display {
  font-family: var(--f-display); font-weight: 300;
  font-size: clamp(34px, 5.2vw, 60px); line-height: 1.12; letter-spacing: .005em;
  color: var(--ouro-escuro);
}
.section--escura .h-display { color: var(--creme); }
.lead { font-style: italic; font-size: clamp(17px, 1.6vw, 20px); color: var(--texto-medio); max-width: 620px; }
.section--escura .lead { color: var(--ouro-claro); }
.filete { width: 48px; height: 1px; background: var(--ouro-claro); margin: 32px 0; }
.center { text-align: center; }
.center .filete, .center .lead { margin-left: auto; margin-right: auto; }
.sec-head { margin-bottom: 56px; }
@media (min-width: 900px) { .sec-head { margin-bottom: 80px; } }

/* ---------- botões e links ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 52px; padding: 14px 32px;
  font-family: var(--f-display); font-size: 14px; font-weight: 500;
  letter-spacing: .3em; text-transform: uppercase; text-decoration: none;
  border: 1px solid var(--ouro-claro); color: var(--creme);
  transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.btn:hover { background: var(--creme); color: var(--ouro-escuro); border-color: var(--creme); }
.btn--claro { border-color: var(--ouro-medio); color: var(--ouro-escuro); }
.btn--claro:hover { background: var(--ouro-escuro); color: var(--creme); border-color: var(--ouro-escuro); }
.btn .seta { font-family: var(--f-body); letter-spacing: 0; font-size: 18px; }
.link-seta {
  font-family: var(--f-display); font-size: 14px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase;
  color: var(--ouro-medio); text-decoration: none; border-bottom: 1px solid var(--linha); padding-bottom: 4px;
  transition: color .25s, border-color .25s;
}
.link-seta:hover { color: var(--ouro-escuro); border-color: var(--turmalina); }
.section--escura .link-seta, .hero .link-seta { color: var(--ouro-claro); border-color: var(--linha-escura); }
.section--escura .link-seta:hover, .hero .link-seta:hover { color: var(--creme); }

/* ---------- placeholder de foto (fase de rascunho) ---------- */
.ph {
  position: relative; width: 100%;
  background:
    linear-gradient(135deg, rgba(86,60,24,.10), rgba(190,167,134,.18)),
    var(--nude-escuro);
  display: flex; align-items: flex-end;
  overflow: hidden;
}
.ph::after {
  content: attr(data-foto);
  font-family: var(--f-display); font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--ouro-medio); padding: 16px 18px; line-height: 1.5;
}
.section--escura .ph { background: linear-gradient(135deg, rgba(0,0,0,.15), rgba(190,167,134,.12)), #6a4d26; }
.section--escura .ph::after { color: var(--ouro-claro); }
.r-4x5 { aspect-ratio: 4 / 5; }
.r-4x3 { aspect-ratio: 4 / 3; }
.r-1x1 { aspect-ratio: 1 / 1; }
.r-3x2 { aspect-ratio: 3 / 2; }
.media img { width: 100%; height: 100%; object-fit: cover; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.header {
  position: sticky; top: 0; z-index: 200;
  background: rgba(86,60,24,.97);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--linha-escura);
  color: var(--creme);
}
.header__in { height: var(--header-h); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.marca { display: flex; flex-direction: column; align-items: flex-start; text-decoration: none; line-height: 1; }
.marca__nome { font-family: 'Palatino Linotype', Palatino, 'Book Antiqua', var(--f-display); font-size: 22px; letter-spacing: .22em; color: var(--creme); }
.marca__sub { font-family: var(--f-display); font-size: 9px; letter-spacing: .6em; color: var(--ouro-claro); margin-top: 6px; padding-left: 2px; }

.nav { display: none; }
@media (min-width: 1040px) {
  .nav { display: flex; align-items: center; gap: 6px; }
}
.nav > ul { display: flex; align-items: center; gap: 4px; list-style: none; }
.nav__item { position: relative; }
.nav__link {
  display: inline-flex; align-items: center; gap: 6px; height: var(--header-h); padding: 0 14px;
  font-family: var(--f-display); font-size: 14px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase;
  color: var(--creme); text-decoration: none; opacity: .88; transition: opacity .2s;
}
.nav__link:hover, .nav__link[aria-expanded="true"] { opacity: 1; }
.nav__link .car { font-size: 9px; transition: transform .25s; }
.nav__link[aria-expanded="true"] .car { transform: rotate(180deg); }

.drop {
  position: absolute; top: 100%; left: 0; min-width: 240px;
  background: var(--papel); color: var(--texto-escuro);
  border: 1px solid var(--linha); border-top: 2px solid var(--turmalina);
  box-shadow: 0 24px 48px rgba(45,31,14,.16);
  padding: 22px 26px;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
}
.drop.is-open { opacity: 1; visibility: visible; transform: none; }
.drop--mega { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; min-width: 560px; left: -140px; padding: 30px 34px; }
.drop--dir { left: auto; right: 0; }
.drop h3 { font-family: var(--f-display); font-size: 12px; font-weight: 500; letter-spacing: .35em; text-transform: uppercase; color: var(--turmalina-txt); margin-bottom: 14px; }
.drop ul { list-style: none; }
.drop a { display: block; padding: 7px 0; font-size: 17px; text-decoration: none; color: var(--texto-escuro); transition: color .2s; }
.drop a:hover { color: var(--ouro-medio); }
.drop .drop__todos { margin-top: 6px; font-style: italic; color: var(--ouro-medio); }
.drop small { display: block; font-size: 14px; color: var(--texto-medio); font-style: italic; line-height: 1.4; }

.btn-agendar {
  display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 22px; margin-left: 8px;
  border: 1px solid var(--ouro-claro); color: var(--creme);
  font-family: var(--f-display); font-size: 13px; font-weight: 500; letter-spacing: .28em; text-transform: uppercase;
  transition: background .25s, color .25s;
}
.btn-agendar:hover, .btn-agendar[aria-expanded="true"] { background: var(--creme); color: var(--ouro-escuro); }

/* menu mobile */
.burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; }
.burger span { display: block; width: 26px; height: 1px; background: var(--creme); margin-left: auto; transition: transform .3s, opacity .3s; }
.burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (min-width: 1040px) { .burger { display: none; } }

.painel {
  position: fixed; inset: var(--header-h) 0 0 0; z-index: 190;
  background: var(--ouro-escuro); color: var(--creme);
  overflow-y: auto; padding: 32px var(--gutter) 120px;
  opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;
}
.painel.is-open { opacity: 1; visibility: visible; }
.painel ul { list-style: none; }
.painel > ul > li { border-bottom: 1px solid var(--linha-escura); }
.painel a, .painel summary {
  display: block; padding: 18px 0; text-decoration: none; cursor: pointer; list-style: none;
  font-family: var(--f-display); font-weight: 300; font-size: 28px; color: var(--creme);
}
.painel summary::-webkit-details-marker { display: none; }
.painel summary::after { content: '+'; float: right; font-weight: 300; color: var(--ouro-claro); }
.painel details[open] summary::after { content: '–'; }
.painel details ul { padding: 0 0 16px 4px; }
.painel details a { font-family: var(--f-body); font-size: 18px; padding: 9px 0; color: var(--ouro-claro); }
@media (min-width: 1040px) { .painel { display: none; } }

/* barra Agendar fixa no celular */
.barra-agendar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 180;
  display: grid; grid-template-columns: auto 1fr 1fr; align-items: stretch;
  background: var(--ouro-escuro); border-top: 1px solid var(--linha-escura);
  padding-bottom: env(safe-area-inset-bottom);
}
.barra-agendar span {
  display: flex; align-items: center; padding: 0 14px;
  font-family: var(--f-display); font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--ouro-claro);
}
.barra-agendar a {
  display: flex; align-items: center; justify-content: center; min-height: 60px;
  font-family: var(--f-display); font-size: 15px; font-weight: 500; letter-spacing: .08em;
  color: var(--creme); text-decoration: none; border-left: 1px solid var(--linha-escura);
}
.barra-agendar a:active { background: var(--ouro-medio); }
@media (min-width: 900px) { .barra-agendar { display: none; } }

/* ==========================================================================
   HOME · 1 HERO
   ========================================================================== */
.hero {
  position: relative; overflow: hidden;
  min-height: calc(100svh - var(--header-h));
  display: flex; align-items: center;
  background: linear-gradient(155deg, var(--ouro-escuro) 0%, #634520 38%, var(--ouro-medio) 68%, var(--gold) 100%);
  color: var(--creme);
  padding: 72px 0 88px;
}
.hero__foto { position: absolute; inset: 0; z-index: 0; }
.hero__foto img { width: 100%; height: 100%; object-fit: cover; opacity: .22; mix-blend-mode: luminosity; }
.hero__in { position: relative; z-index: 1; max-width: 860px; }
.hero h1 {
  font-family: var(--f-display); font-weight: 300;
  font-size: clamp(40px, 6.4vw, 76px); line-height: 1.08; letter-spacing: .005em;
  color: var(--creme);
}
.hero h1 em { font-style: italic; color: #f7ecd4; }
.hero__sub { margin-top: 30px; max-width: 600px; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.7; color: var(--creme); opacity: .86; }
.hero__rt { display: block; margin-top: 14px; font-size: 15px; font-style: italic; color: var(--creme); opacity: .8; }
.seletor { margin-top: 44px; }
.seletor__label { display: block; font-family: var(--f-display); font-size: 12px; letter-spacing: .38em; text-transform: uppercase; color: var(--ouro-claro); margin-bottom: 16px; }
.seletor__btns { display: grid; gap: 12px; max-width: 560px; }
@media (min-width: 560px) { .seletor__btns { grid-template-columns: 1fr 1fr; } }
.seletor__btns .btn { justify-content: space-between; min-height: 64px; font-size: 15px; letter-spacing: .16em; }
.seletor__btns .btn small { display: block; font-family: var(--f-body); font-size: 13px; font-style: italic; letter-spacing: 0; text-transform: none; opacity: .75; }
.hero__mais { margin-top: 32px; }

/* ==========================================================================
   2 BARRA DE CONFIANÇA
   ========================================================================== */
.confianca { background: var(--papel); border-bottom: 1px solid var(--linha); }
.confianca ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; }
@media (min-width: 900px) { .confianca ul { grid-template-columns: repeat(4, 1fr); } }
.confianca li { padding: 30px 18px; text-align: center; border-right: 1px solid var(--linha); border-bottom: 1px solid var(--linha); }
.confianca li:nth-child(2n) { border-right: 0; }
@media (min-width: 900px) {
  .confianca li { border-bottom: 0; padding: 40px 24px; }
  .confianca li:nth-child(2n) { border-right: 1px solid var(--linha); }
  .confianca li:last-child { border-right: 0; }
}
.confianca strong { display: block; font-family: var(--f-display); font-weight: 400; font-size: 22px; color: var(--ouro-escuro); letter-spacing: .04em; }
.confianca span { display: block; margin-top: 4px; font-size: 15px; font-style: italic; color: var(--texto-medio); line-height: 1.4; }

/* ==========================================================================
   3 OS 5 PROCEDIMENTOS
   ========================================================================== */
.procs { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .procs { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) {
  .procs { grid-template-columns: repeat(6, 1fr); gap: 24px; }
  .procs .proc:nth-child(-n+2) { grid-column: span 3; }
  .procs .proc:nth-child(n+3) { grid-column: span 2; }
  .procs .proc:nth-child(-n+2) .proc__media { aspect-ratio: 3 / 2; }
}
.proc { display: flex; flex-direction: column; text-decoration: none; background: var(--papel); border: 1px solid var(--linha); transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
.proc:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(86,60,24,.12); }
.proc__media { aspect-ratio: 4 / 5; }
@media (min-width: 640px) and (max-width: 1039px) { .proc__media { aspect-ratio: 4 / 3; } }
.proc__txt { padding: 26px 26px 30px; position: relative; flex: 1; }
.proc__txt::before { content: ''; position: absolute; top: 0; left: 26px; width: 32px; height: 1px; background: var(--turmalina); }
.proc__num { font-family: var(--f-display); font-size: 13px; letter-spacing: .3em; color: var(--ouro-medio); }
.proc h3 { font-family: var(--f-display); font-weight: 400; font-size: 30px; line-height: 1.15; color: var(--ouro-escuro); margin: 8px 0 8px; }
.proc p { font-size: 16.5px; color: var(--texto-medio); line-height: 1.6; }
.proc__ver { display: inline-block; margin-top: 16px; font-family: var(--f-display); font-size: 13px; letter-spacing: .24em; text-transform: uppercase; color: var(--ouro-medio); }
.procs-rodape { margin-top: 48px; text-align: center; }

/* ==========================================================================
   4 DIFERENCIAL
   ========================================================================== */
.difs { display: grid; gap: 1px; background: var(--linha-escura); border: 1px solid var(--linha-escura); margin-top: 8px; }
@media (min-width: 900px) { .difs { grid-template-columns: repeat(3, 1fr); } }
.dif { background: var(--ouro-escuro); padding: 44px 32px; text-align: left; }
@media (min-width: 900px) { .dif { padding: 56px 40px; } }
.dif svg { width: 40px; height: 40px; stroke: var(--ouro-claro); fill: none; stroke-width: 1; margin-bottom: 26px; }
.dif h3 { font-family: var(--f-display); font-weight: 400; font-size: 27px; color: var(--creme); margin-bottom: 14px; line-height: 1.2; }
.dif p { font-size: 17px; color: var(--creme); opacity: .8; line-height: 1.7; }
.difs-rodape { margin-top: 56px; text-align: center; }

/* ==========================================================================
   5 JORNADA
   ========================================================================== */
.jornada { list-style: none; display: grid; gap: 0; counter-reset: passo; position: relative; }
.jornada li { position: relative; padding: 0 0 44px 64px; counter-increment: passo; }
.jornada li::before {
  content: counter(passo, decimal-leading-zero);
  position: absolute; left: 0; top: -6px;
  font-family: var(--f-display); font-weight: 300; font-size: 40px; color: var(--ouro-claro); line-height: 1;
}
.jornada li::after { content: ''; position: absolute; left: 22px; top: 48px; bottom: 8px; width: 1px; background: var(--ouro-claro); opacity: .6; }
.jornada li:last-child::after { display: none; }
.jornada h3 { font-family: var(--f-display); font-weight: 400; font-size: 28px; color: var(--ouro-escuro); line-height: 1.2; margin-bottom: 8px; }
.jornada p { font-size: 17px; color: var(--texto-medio); }
@media (min-width: 900px) {
  .jornada { grid-template-columns: repeat(4, 1fr); gap: 40px; }
  .jornada li { padding: 72px 0 0; }
  .jornada li::before { top: 0; }
  .jornada li::after { left: 64px; right: -32px; top: 22px; bottom: auto; width: auto; height: 1px; }
}
.jornada-fecho { margin-top: 32px; text-align: center; font-family: var(--f-display); font-style: italic; font-size: clamp(22px, 2.4vw, 28px); color: var(--ouro-medio); }
.jornada-fecho::before { content: ''; display: block; width: 48px; height: 1px; background: var(--turmalina); margin: 0 auto 28px; }

/* ==========================================================================
   6 TECNOLOGIAS
   ========================================================================== */
.techs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (min-width: 900px) { .techs { grid-template-columns: repeat(4, 1fr); gap: 24px; } }
.tech figcaption { padding-top: 18px; }
.tech strong { display: block; font-family: var(--f-display); font-weight: 400; font-size: 24px; color: var(--ouro-escuro); line-height: 1.2; }
.tech span { display: block; font-size: 15.5px; color: var(--texto-medio); font-style: italic; line-height: 1.45; margin-top: 4px; }
.techs-nota { margin: 56px auto 0; max-width: 720px; text-align: center; font-size: 18px; color: var(--texto-medio); }
.techs-nota strong { font-weight: 500; color: var(--ouro-escuro); }

/* ==========================================================================
   8 UNIDADES
   ========================================================================== */
.unidades { display: grid; gap: 56px; }
@media (min-width: 900px) { .unidades { grid-template-columns: 1fr 1fr; gap: 40px; } }
.unidade { background: var(--papel); border: 1px solid var(--linha); display: flex; flex-direction: column; }
.unidade__foto { aspect-ratio: 3 / 2; }
.unidade__corpo { padding: 32px 28px 36px; display: flex; flex-direction: column; flex: 1; }
@media (min-width: 900px) { .unidade__corpo { padding: 40px 40px 44px; } }
.unidade__num { font-family: var(--f-display); font-size: 12px; letter-spacing: .4em; text-transform: uppercase; color: var(--turmalina-txt); }
.unidade h3 { font-family: var(--f-display); font-weight: 300; font-size: clamp(32px, 3.4vw, 42px); color: var(--ouro-escuro); line-height: 1.1; margin: 10px 0 24px; }
.unidade h3 a { text-decoration: none; }
.nap { font-style: normal; display: grid; gap: 16px; font-size: 17px; color: var(--texto-medio); line-height: 1.55; }
.nap dt { font-family: var(--f-display); font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--ouro-medio); }
.nap dd a { text-decoration: none; border-bottom: 1px solid var(--linha); }
.nap dd a:hover { border-color: var(--turmalina); }
.unidade__mapa { display: block; margin: 28px 0 0; aspect-ratio: 16 / 9; text-decoration: none; }
.unidade__acoes { margin-top: auto; padding-top: 32px; display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; }

/* ==========================================================================
   11 FAQ
   ========================================================================== */
.faq { max-width: 860px; margin: 0 auto; border-top: 1px solid var(--linha); }
.faq details { border-bottom: 1px solid var(--linha); }
.faq summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; align-items: baseline;
  padding: 26px 0; font-family: var(--f-display); font-weight: 400; font-size: clamp(21px, 2.2vw, 26px); color: var(--ouro-escuro); line-height: 1.3;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; font-weight: 300; font-size: 30px; color: var(--ouro-medio); flex-shrink: 0; transition: transform .3s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq .resp { padding: 0 0 28px; max-width: 720px; }
.faq .resp p { font-size: 17.5px; color: var(--texto-medio); }
.faq .resp p + p { margin-top: 12px; }
.faq .resp a { color: var(--ouro-medio); }

/* ==========================================================================
   12 CTA FINAL
   ========================================================================== */
.cta {
  background: linear-gradient(135deg, var(--ouro-escuro) 0%, var(--ouro-medio) 100%);
  color: var(--creme); text-align: center; padding: var(--sec-y) 0;
}
.cta .h-display { color: var(--creme); max-width: 760px; margin: 0 auto; }
.cta .lead { color: var(--ouro-claro); margin: 24px auto 0; }
.cta .seletor__btns { margin: 44px auto 0; }

/* ==========================================================================
   RODAPÉ
   ========================================================================== */
.rodape { background: #4a3314; color: var(--ouro-claro); padding: 80px 0 40px; font-size: 16px; }
.rodape__grid { display: grid; gap: 44px; }
@media (min-width: 700px) { .rodape__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) { .rodape__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 56px; } }
.rodape h2 { font-family: var(--f-display); font-size: 12px; font-weight: 500; letter-spacing: .38em; text-transform: uppercase; color: var(--creme); margin-bottom: 20px; }
.rodape ul { list-style: none; }
.rodape li + li { margin-top: 8px; }
.rodape a { color: var(--ouro-claro); text-decoration: none; transition: color .2s; }
.rodape a:hover { color: var(--creme); }
.rodape address { font-style: normal; line-height: 1.6; }
.rodape address + address { margin-top: 22px; }
.rodape address strong { display: block; color: var(--creme); font-weight: 500; font-family: var(--f-display); font-size: 19px; }
.rodape__assin {
  margin-top: 64px; padding-top: 32px; border-top: 1px solid var(--linha-escura);
  display: grid; gap: 14px;
}
.rodape__assin .tag { font-family: var(--f-display); font-style: italic; font-size: 20px; color: var(--creme); opacity: .9; }
.rodape__legal { font-size: 14px; line-height: 1.7; color: var(--ouro-claro); opacity: .85; }

/* ==========================================================================
   MOVIMENTO (discreto: 10px, sem bounce)
   ========================================================================== */
.js .reveal { opacity: 0; transform: translateY(10px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.js .reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .reveal { opacity: 1; transform: none; transition: none; }
  * { transition-duration: .01ms !important; }
}

/* ==========================================================================
   AJUSTES DE LINK INLINE
   ========================================================================== */
.hero__rt a { color: var(--creme); text-decoration: none; border-bottom: 1px solid var(--linha-escura); white-space: nowrap; }
.hero__rt a:hover { border-color: var(--turmalina); }
.techs-nota .link-seta { display: inline-block; margin-top: 16px; }

/* ==========================================================================
   EQUIPE (home e /equipe)
   ========================================================================== */
.equipe { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 16px; }
@media (min-width: 900px) { .equipe { grid-template-columns: repeat(4, 1fr); gap: 32px; } }
.doutora { text-decoration: none; display: block; }
.doutora__foto { aspect-ratio: 4 / 5; margin-bottom: 20px; transition: transform .5s var(--ease); }
.doutora:hover .doutora__foto { transform: translateY(-4px); }
.doutora h3 { font-family: var(--f-display); font-weight: 400; font-size: clamp(22px, 2.2vw, 28px); color: var(--ouro-escuro); line-height: 1.15; }
.doutora__cargo { font-size: 15px; font-style: italic; color: var(--texto-medio); line-height: 1.45; margin-top: 4px; }
.doutora__reg { font-family: var(--f-display); font-size: 12px; font-weight: 500; letter-spacing: .28em; text-transform: uppercase; color: var(--ouro-medio); margin-top: 10px; }
/* marcador de dado pendente: some quando o dado real entrar */
.pendente { color: var(--turmalina-txt) !important; border-bottom: 1px dashed var(--turmalina); display: inline-block; }

/* ---------- cabeçalho de páginas internas ---------- */
.page-hero {
  background: linear-gradient(155deg, var(--ouro-escuro) 0%, #634520 45%, var(--ouro-medio) 100%);
  color: var(--creme); padding: 72px 0 80px;
}
@media (min-width: 900px) { .page-hero { padding: 112px 0 120px; } }
.page-hero h1 { font-family: var(--f-display); font-weight: 300; font-size: clamp(40px, 6vw, 72px); line-height: 1.08; color: var(--creme); max-width: 860px; }
.page-hero .lead { color: var(--creme); opacity: .85; margin-top: 28px; }
.migalhas { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; font-family: var(--f-display); font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--ouro-claro); }
.migalhas li + li::before { content: '/'; margin-right: 8px; opacity: .5; }
.migalhas a { text-decoration: none; color: var(--ouro-claro); }
.migalhas a:hover { color: var(--creme); }

/* ---------- perfis na /equipe ---------- */
.perfis { display: grid; gap: 96px; }
@media (min-width: 900px) { .perfis { gap: 140px; } }
.perfil { display: grid; gap: 36px; align-items: start; scroll-margin-top: calc(var(--header-h) + 24px); }
@media (min-width: 900px) {
  .perfil { grid-template-columns: 5fr 7fr; gap: 88px; }
  .perfil:nth-child(even) { grid-template-columns: 7fr 5fr; }
  .perfil:nth-child(even) .perfil__foto { order: 2; }
}
.perfil__foto { aspect-ratio: 4 / 5; }
.perfil h2 { font-family: var(--f-display); font-weight: 300; font-size: clamp(38px, 4.4vw, 56px); line-height: 1.05; color: var(--ouro-escuro); }
.perfil__cargo { font-size: 18px; font-style: italic; color: var(--texto-medio); margin-top: 10px; }
.perfil__reg { font-family: var(--f-display); font-size: 13px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--ouro-medio); margin-top: 14px; }
.perfil__bio { margin-top: 28px; font-size: 18px; color: var(--texto-medio); }
.perfil__bio p + p { margin-top: 14px; }
.perfil__dados { margin-top: 32px; display: grid; gap: 20px; border-top: 1px solid var(--linha); padding-top: 28px; }
.perfil__dados dt { font-family: var(--f-display); font-size: 12px; letter-spacing: .32em; text-transform: uppercase; color: var(--turmalina-txt); margin-bottom: 4px; }
.perfil__dados dd { font-size: 17px; color: var(--texto-medio); line-height: 1.6; }
.perfil__frase { font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.4; color: var(--ouro-escuro); border-left: 1px solid var(--turmalina); padding-left: 22px; margin-top: 32px; }

.nota-rt { max-width: 760px; margin: 0 auto; text-align: center; }
.nota-rt p { font-size: 18px; color: var(--creme); opacity: .85; }
.nota-rt strong { font-weight: 500; color: var(--creme); }
.nota-rt .filete { margin-left: auto; margin-right: auto; }
.cta .eyebrow, .page-hero .eyebrow { color: var(--ouro-claro); }
.unidade__mapa.ph { display: flex; }
.rodape .pendente { color: var(--creme) !important; border-color: var(--ouro-claro); }

/* ==========================================================================
   PÁGINAS DE UNIDADE E AGENDAMENTO
   ========================================================================== */
.unid-top { display: grid; gap: 40px; align-items: start; }
@media (min-width: 900px) { .unid-top { grid-template-columns: 7fr 5fr; gap: 64px; } }
.unid-top .ph { aspect-ratio: 3 / 2; }
.ficha { background: var(--papel); border: 1px solid var(--linha); padding: 32px 28px; }
@media (min-width: 900px) { .ficha { padding: 40px; } }
.ficha .btn { width: 100%; margin-top: 28px; }
.ficha .unidade__mapa { margin-top: 24px; }

.texto { max-width: 720px; }
.texto p { font-size: 18px; color: var(--texto-medio); }
.texto p + p { margin-top: 16px; }
.texto a { color: var(--ouro-medio); }
.dois-col { display: grid; gap: 48px; }
@media (min-width: 900px) { .dois-col { grid-template-columns: 1fr 1fr; gap: 80px; } }
.h-sec { font-family: var(--f-display); font-weight: 300; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.12; color: var(--ouro-escuro); margin-bottom: 24px; }
.section--escura .h-sec { color: var(--creme); }

.lista-procs { list-style: none; border-top: 1px solid var(--linha); }
.lista-procs li { border-bottom: 1px solid var(--linha); }
.lista-procs a, .lista-procs li > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 18px 0; text-decoration: none; transition: padding .3s var(--ease); }
.lista-procs a:hover { padding-left: 8px; }
.lista-procs strong { font-family: var(--f-display); font-weight: 400; font-size: 24px; color: var(--ouro-escuro); }
.lista-procs span { font-size: 15px; font-style: italic; color: var(--texto-medio); text-align: right; }

.passos { list-style: none; counter-reset: p; display: grid; gap: 28px; }
.passos li { counter-increment: p; position: relative; padding-left: 56px; }
.passos li::before { content: counter(p, decimal-leading-zero); position: absolute; left: 0; top: -4px; font-family: var(--f-display); font-weight: 300; font-size: 32px; color: var(--ouro-claro); }
.passos h3 { font-family: var(--f-display); font-weight: 400; font-size: 24px; color: var(--ouro-escuro); line-height: 1.2; }
.passos p { font-size: 17px; color: var(--texto-medio); margin-top: 4px; }

.btn--whats { min-height: 68px; font-size: 15px; letter-spacing: .14em; padding: 18px 36px; background: var(--creme); color: var(--ouro-escuro); border-color: var(--creme); }
.btn--whats:hover { background: transparent; color: var(--creme); border-color: var(--ouro-claro); }
.btn--whats svg { width: 22px; height: 22px; fill: currentColor; flex-shrink: 0; }
.agendar-acao { margin-top: 40px; display: grid; gap: 14px; max-width: 520px; }
.agendar-acao small { font-size: 15px; font-style: italic; color: var(--creme); opacity: .75; }
.checklist { list-style: none; display: grid; gap: 12px; }
.checklist li { position: relative; padding-left: 28px; font-size: 17.5px; color: var(--texto-medio); }
.checklist li::before { content: '—'; position: absolute; left: 0; color: var(--turmalina); }
.mt { margin-top: 28px; }
.mt-s { margin-top: 24px; }
.section--escura .texto p { color: var(--creme); opacity: .85; }
.section--escura .texto strong { color: var(--creme); }
.seletor__btns--um { grid-template-columns: 1fr !important; max-width: 380px; }
.link-inline { color: var(--creme); }
.unid-top .unidade__mapa { margin-top: 8px; }
@media (max-width: 559px) { .btn--whats { letter-spacing: .06em; font-size: 14px; padding: 16px 20px; } }
.unid-top:not(:has(.ph)) { grid-template-columns: 1fr; } .unid-top:not(:has(.ph)) .ficha { max-width: 640px; }
