:root {
  --bronze: #86663a;
  --bronze-escuro: #6b5029;
  --tinta: #2b2620;
  --suave: #665e54;
  --linha: #e7e0d6;
  --creme: #faf7f2;
  --bs-body-font-family: 'Jost', system-ui, sans-serif;
  --bs-body-color: var(--tinta);
  --bs-body-font-size: 1.0625rem;
  --bs-link-color-rgb: 134, 102, 58;
  --bs-link-hover-color-rgb: 107, 80, 41;
}

html { scroll-padding-top: 90px; }

h1, h2, h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  color: var(--tinta);
}

h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); line-height: 1.12; }
h2 { font-size: clamp(2rem, 4vw, 2.75rem); }
h3 { font-size: 1.6rem; }

.btn { border-radius: 0; padding: .8rem 2rem; letter-spacing: .04em; }
.btn-primary {
  --bs-btn-bg: var(--bronze);
  --bs-btn-border-color: var(--bronze);
  --bs-btn-hover-bg: var(--bronze-escuro);
  --bs-btn-hover-border-color: var(--bronze-escuro);
  --bs-btn-active-bg: var(--bronze-escuro);
  --bs-btn-active-border-color: var(--bronze-escuro);
}
.btn-outline-primary {
  --bs-btn-color: var(--bronze-escuro);
  --bs-btn-border-color: var(--bronze);
  --bs-btn-hover-bg: var(--bronze);
  --bs-btn-hover-border-color: var(--bronze);
  --bs-btn-active-bg: var(--bronze);
  --bs-btn-active-border-color: var(--bronze);
}

.navbar { border-bottom: 1px solid var(--linha); }
.navbar .nav-link { color: var(--tinta); }
.navbar .nav-link:hover { color: var(--bronze); }
.navbar-brand img { height: 54px; }

.hero { padding: 4.5rem 0 5rem; }
.hero-logo { width: min(440px, 82vw); height: auto; }
.hero p { color: var(--suave); }

.sobretitulo {
  font-size: .8125rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--bronze);
}

.faixa-foto { height: clamp(300px, 46vw, 560px); width: 100%; object-fit: cover; object-position: center 42%; display: block; }

.secao { padding: 5.5rem 0; }
.secao-creme { background: var(--creme); }

.grade { border-top: 1px solid var(--linha); border-left: 1px solid var(--linha); }
.grade > div { border-right: 1px solid var(--linha); border-bottom: 1px solid var(--linha); padding: 2rem 1.75rem; background: #fff; }
.grade p { color: var(--suave); margin: 0; font-size: 1rem; }

.destaques { padding-top: 0; }
.destaque { height: 100%; padding: clamp(2rem, 4vw, 3rem); background: var(--creme); border-top: 3px solid var(--bronze); display: flex; flex-direction: column; align-items: flex-start; }
.destaque h3 { font-size: clamp(1.9rem, 3vw, 2.4rem); line-height: 1.15; }
.destaque p { color: var(--suave); }
.destaque ul { padding-left: 1.1rem; margin-bottom: 1.25rem; }
.destaque li { margin-bottom: .4rem; }
.destaque li::marker { color: var(--bronze); }
.destaque .nota { font-size: .9375rem; margin-bottom: 1.5rem; }
.destaque .btn { margin-top: auto; }

.dentista { border-left: 2px solid var(--bronze); padding-left: 1.25rem; margin-top: 2rem; }
.dentista strong { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.6rem; font-weight: 500; line-height: 1.2; }
.dentista span { color: var(--suave); }

.mapa { width: 100%; height: 100%; min-height: 400px; border: 1px solid var(--linha); display: block; }

.foto-recepcao { width: 100%; height: 100%; min-height: 380px; max-height: 620px; object-fit: cover; object-position: center 72%; }

.passo-num { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.5rem; line-height: 1; color: var(--bronze); }
.passo p { color: var(--suave); }

.contato dt { font-weight: 500; color: var(--bronze-escuro); }
.contato dd { margin-bottom: 1.25rem; }

footer { border-top: 1px solid var(--linha); color: var(--suave); font-size: .9375rem; }
footer img { width: 170px; height: auto; }
