/* Navigation resilience for medium-width screens and anchored sections. */
.nav {
  white-space: nowrap;
}

.nav a {
  flex: 0 0 auto;
}

#especialidades,
#sobre,
#consultorio,
#duvidas,
#avaliacoes {
  scroll-margin-top: 104px;
}

@media (min-width: 801px) and (max-width: 1080px) {
  .header {
    padding-right: 24px;
    padding-left: 24px;
  }

  .nav {
    gap: 16px;
    font-size: 0.78rem;
  }

  .nav-cta {
    padding: 10px 13px;
  }
}

/* Content pages predate the mobile menu button. Keep their navigation visible. */
@media (max-width: 800px) {
  .header:not(:has(.menu-button)) {
    min-height: auto;
    flex-wrap: wrap;
    gap: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .header:not(:has(.menu-button)) .nav {
    position: static;
    display: flex;
    width: 100%;
    flex-flow: row wrap;
    gap: 10px 16px;
    padding: 0;
    box-shadow: none;
    font-size: 0.78rem;
  }

  .header:not(:has(.menu-button)) .nav-cta {
    padding: 9px 12px;
  }
}

/* Rafaela Tinôco palette — warm terracotta, sand and wine. */
:root {
  --ink: #470303;
  --green: #470303;
  --sage: #e1bca5;
  --cream: #fffaf6;
  --peach: #e1bca5;
  --line: #c9a188;
  --white: #fffdfb;
  --wine: #470303;
  --taupe: #775d51;
  --rust: #851f00;
  --terracotta: #d56e32;
}

body { color: var(--ink); background: var(--cream); }
.header { background: rgba(255, 250, 246, .96); }
.header.scrolled { border-color: var(--line); }
.brand-mark, .journey-grid span { border-color: var(--wine); color: var(--wine); }
.nav>a:not(.nav-cta):hover, .footer a:hover, .eyebrow, h1 em,
.service-number, .service-card b, .article-card span, .stars,
.trust-row .rating strong, summary span { color: var(--terracotta); }
.nav-cta, .button-primary, .final-cta, .guide-cta { background: var(--wine); }
.button-text, .text-link { color: var(--rust); }
.button-outline { border-color: var(--wine); color: var(--wine); }
.hero-text, .section-heading>p:last-child, .service-grid p, .journey-grid p,
.guide-lead, .guide-content p, .guide-content li, details p { color: var(--taupe); }
.hero-art:after { background: linear-gradient(0deg, rgba(71, 3, 3, .72), rgba(71, 3, 3, .05) 65%); }
.hero-art em, .review-highlight-stars, .review-proof>span, .about-card figcaption em { color: var(--terracotta); }
.review-highlight { background: var(--rust); }
.review-highlight p span { color: #f8dfd1; }
.blog-section, .about { background: #f3dfd1; }
.article-card-rose { background: #f7e8de; }
.article-card-sage { background: #e1bca5; }
.article-card-cream { background: #fffaf6; }
.article-card-peach { background: #edc4a7; }
.article-card p { color: var(--taupe); }
.article-card b { color: var(--rust); }
.service-card:hover { background: #f8e9de; }
.training { border-color: var(--line); }
.training ul { color: var(--taupe); }
.credentials span { border-color: var(--line); color: var(--wine); }
.journey-grid>div:not(:last-child):after { border-color: var(--line); }
.reviews { background: var(--wine); }
.reviews-heading>p:not(.eyebrow) { color: #f1d9cc; }
.reviews .eyebrow { color: #f1c5aa; }
.review-card { border-top-color: var(--terracotta); box-shadow: 0 20px 45px rgba(71, 3, 3, .26); }
.review-card:before { color: var(--rust); }
.review-card p { color: var(--taupe); }
.review-arrow { border-color: #e1bca5; color: #fffaf6; }
.review-arrow:hover { background: #fffaf6; color: var(--wine); }
.review-dot { background: #c9a188; }
.review-dot.active, .reviews .button-light:hover { background: var(--terracotta); }
.reviews .button-light:hover { color: #fff; }
.location { background: #e1bca5; }
.map-card { background: #c9a188; }
.map-card:before, .map-card:after { background: #d8b297; }
.map-road { background: #fff4ea; }
.map-pin { background: var(--rust); }
.map-label { color: var(--wine); }
.guide-hero { background: #e1bca5; }
.breadcrumbs, .guide-meta { color: var(--taupe); }
.guide-note { background: #f8e8dc; border-left-color: var(--terracotta); }
.final-cta .eyebrow { color: #f1c5aa; }
.button-light { background: #fffaf6; color: var(--wine); }
.footer { background: #470303; color: #fff4ec; }
.footer .brand-mark { border-color: #fff4ec; color: #fff4ec; }
.footer small { border-color: rgba(255, 244, 236, .25); color: #e1bca5; }
