
/* Skip artifact shell — fixed styles served beside every artifact.
   Complements basecoat; artifacts override --accent for their own identity. */
:root {
  color-scheme: light dark;
  --accent: #2563eb;
  --accent-contrast: #ffffff;
  --accent-text: color-mix(in srgb, var(--accent) 72%, #000);
  --bg: #f8f9fb;
  --surface: #ffffff;
  --text: #14171f;
  --text-muted: #5b6472;
  --border: rgba(20, 23, 31, 0.10);
  --radius: 10px;
  --shadow: 0 1px 3px rgba(20, 23, 31, 0.08);
  --space: 16px;
}


/* Bloqueia copiar/arrastar imagens */
img {
  -webkit-user-drag: none;
  user-select: none;
}

/* Imagens sem link ficam "invisíveis" para o mouse */
img:not(.img-link) {
  pointer-events: none;
}


/* Theme resolution. Without data-theme the viewer's system preference decides,
   as it always did. With it, the artifact's own choice wins in BOTH directions:
   a page that hardcodes one palette must not be handed the opposite set of
   tokens by the machine it happens to be opened on. The dark values appear
   twice because a media query cannot be folded into a selector list.
   The attribute sits inside :where() so these blocks keep the specificity of a
   bare :root — the page's own <style> is linked after this file and must go on
   overriding any token it wants, exactly as it could before. */
@media (prefers-color-scheme: dark) {
  :root:where(:not([data-theme="light"])) {
    --accent-text: color-mix(in srgb, var(--accent) 78%, #fff);
    --bg: #101318;
    --surface: #181c23;
    --text: #eef1f6;
    --text-muted: #9aa4b2;
    --border: rgba(238, 241, 246, 0.12);
    --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  }
}
:root:where([data-theme="dark"]) {
  color-scheme: dark;
  --accent-text: color-mix(in srgb, var(--accent) 78%, #fff);
  --bg: #101318;
  --surface: #181c23;
  --text: #eef1f6;
  --text-muted: #9aa4b2;
  --border: rgba(238, 241, 246, 0.12);
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
:root:where([data-theme="light"]) { color-scheme: light; }
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }


/* ===== AJUSTES FINAIS — sempre por último no arquivo ===== */

/* CTA "Pronto para começar?" — visual completo + esticamento */
.sobre-cta-box {
  margin-top: 4rem;
  text-align: center;
  padding: 3.5rem 1rem;
  background-color: #F5F6F0;
  border: 1px solid var(--border-soft);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 4px 20px rgba(29, 36, 71, 0.03);
  margin-left: -7rem !important;
  margin-right: -7rem !important;
}

/* Telas médias: reduz o esticamento para não vazar */
@media (max-width: 1400px) {
  .sobre-cta-box {
    margin-left: -2rem !important;
    margin-right: -2rem !important;
  }
}

/* Celular: largura normal */
@media (max-width: 768px) {
  .sobre-cta-box {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Caixa do Sobre ("espaço de encontro") — caixa com hover */
.sobre-bar-box {
  border-left: 3px solid #6B8E23;
  background-color: #F5F6F0;
  padding: 1.5rem 1.5rem 1.5rem 1.75rem;
  margin: 1.75rem 0 0;
  box-shadow: 0 2px 8px rgba(29, 36, 71, 0.03);
  transition: all 0.3s ease;
}
.sobre-bar-box:hover {
  border-left-color: #B8860B;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}
.sobre-bar-box p {
  margin-bottom: 1.25rem;
}
.sobre-bar-box p:last-child {
  margin-bottom: 0;
}


/* CTA "Ainda tem dúvidas?" — mesmo esquema do Sobre */
.faq-cta-box {
  margin-top: 4rem;
  text-align: center;
  padding: 3.5rem 2rem;
  background-color: #F5F6F0;
  border: 1px solid var(--border-soft);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 4px 20px rgba(29, 36, 71, 0.03);
  margin-left: -7rem !important;
  margin-right: -7rem !important;
}

@media (max-width: 1400px) {
  .faq-cta-box {
    margin-left: -2rem !important;
    margin-right: -2rem !important;
  }
}

@media (max-width: 768px) {
  .faq-cta-box {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Rola até a foto do Sobre Mim no celular — 143px = altura do menu + respiro.
   Se mudar a altura do header, reajustar este valor. */
#sobre-mim .sobre-photo-wrap {
  scroll-margin-top: 143px;
}

/* Desktop apenas: rola até a seção inteira do Sobre Mim (não só a foto),
   compensando a altura do menu fixo, pra não cortar o começo da seção. */
@media (min-width: 769px) {
  #sobre-mim {
    scroll-margin-top: 100px;
  }
}





    @font-face {
      font-family: 'Amsterdam Signature';
      src: url('Amsterdam_Four_ttf_400.ttf') format('truetype');
      font-weight: 400;
      font-style: normal;
      font-display: swap;
    }
    :root {
      --navy: #1D2447;
      --off-white: #FAFAF8;
      --olive: #6B8E23;
      --gold: #B8860B;
      --beige: #F5F5F0;
      --petroleum: #2C3E50;
      --border-soft: #E8E4DC;
      --radius-sm: 0.375rem;
      --radius-md: 0.5rem;
      
      --font-serif: 'Cormorant Garamond', Georgia, serif;
      --font-sans: 'DM Sans', system-ui, -apple-system, sans-serif;
      --font-mono: 'JetBrains Mono', monospace;

      --bg: var(--off-white);
      --surface: #ffffff;
      --text: var(--navy);
      --accent: var(--navy);
      --accent-contrast: var(--off-white);
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      background-color: var(--off-white);
      color: var(--navy);
      font-family: var(--font-sans);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    /* Animated underline links */
    .link-underlined {
      position: relative;
      text-decoration: none;
      color: inherit;
      display: inline-block;
      transition: color 0.25s ease;
    }
    .link-underlined::after {
      content: '';
      position: absolute;
      width: 0;
      height: 1px;
      bottom: -2px;
      left: 0;
      background-color: currentColor;
      transition: width 0.3s ease;
    }
    .link-underlined:hover::after {
      width: 100%;
    }
    .nav-menu .link-underlined::after {
      background-color: #B8860B;
    }

    /* Buttons */
    .btn-agendar {
      background-color: var(--navy);
      color: #FFFFFF !important;
      font-family: var(--font-sans);
      font-size: 0.875rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      padding: 0.65rem 1.4rem;
      border-radius: var(--radius-sm);
      border: 1px solid #B8860B;
      cursor: pointer;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
      white-space: nowrap;
    }
    .btn-agendar:hover,
    .btn-agendar:focus,
    .btn-agendar:active {
      background-color: #6B8E23 !important;
      border-color: #B8860B;
      color: #FFFFFF !important;
    }

    .btn-saiba {
      background-color: transparent;
      color: #B8860B;
      font-family: var(--font-sans);
      font-size: 0.875rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      padding: 0.65rem 1.4rem;
      border-radius: var(--radius-sm);
      border: 1px solid #B8860B;
      cursor: pointer;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
      white-space: nowrap;
    }
    .btn-saiba:hover {
      background-color: #6B8E23;
      border-color: #6B8E23;
      color: #FAFAF8;
    }

    .btn-saiba-sobre {
      background-color: transparent;
      color: var(--navy);
      font-family: var(--font-sans);
      font-size: 0.875rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      padding: 0.65rem 1.4rem;
      border-radius: var(--radius-sm);
      border: 1px solid #B8860B;
      cursor: pointer;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      align-self: flex-start;
      margin-top: 2rem;
      transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
      white-space: nowrap;
    }
    .btn-saiba-sobre:hover {
      background-color: #6B8E23;
      border-color: #6B8E23;
      color: #ffffff;
    }

    /* Header */
    header.site-header {
      background-color: var(--off-white);
      border-bottom: 1px solid var(--border-soft);
      position: sticky;
      top: 0;
      z-index: 100;
      transition: box-shadow 0.25s ease;
    }
    .header-inner {
      max-width: 1200px;
      margin: 0 auto;
      padding-top: 0.7rem;
      padding-bottom: 0.6rem;
      padding-left: 1.5rem;
      padding-right: 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1.5rem;
    }
    .brand-wrap {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      text-decoration: none;
    }
    .brand-logo-container {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 55px;
      height: 55px;
      flex-shrink: 0;
    }
    .brand-logo-img {
      height: 55px;
      width: auto;
      max-width: 55px;
      border-radius: 50%;
      display: block;
      object-fit: cover;
    }
    .brand-logo-fallback {
      display: none;
      width: 55px;
      height: 55px;
      border-radius: 50%;
      background-color: #B8860B;
      color: #FFFFFF;
      align-items: center;
      justify-content: center;
      font-family: var(--font-serif);
      font-size: 1.15rem;
      font-weight: 600;
      letter-spacing: 0.05em;
      user-select: none;
    }
    .brand-text-block {
      display: flex;
      flex-direction: column;
    }
    .brand-name {
      font-family: 'Amsterdam Signature', var(--font-serif);
      font-weight: 400;
      font-size: 1.9rem;
      color: var(--navy);
      line-height: 1.47;
      letter-spacing: -0.01em;
      display: block;
      padding-top: 0.35rem;
    }
    .brand-badge {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-weight: 300;
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: #B8860B;
      margin-top: 0.3rem;
      margin-top: 0.2rem;
    }
    .nav-menu {
      display: flex;
      align-items: center;
      gap: 2.2rem;
      list-style: none;
    }
    .nav-menu a {
      font-size: 1.25rem;
      color: var(--petroleum);
      font-weight: 400;
    }
    .nav-menu a:hover {
      color: #B8860B;
    }
    .mobile-menu-btn {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 0.5rem;
      color: var(--navy);
    }
    .nav-item-mobile {
      display: none;
    }

    /* Divider */
    .section-divider {
      display: flex;
      align-items: center;
      gap: 1rem;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 1.5rem;
    }
    .divider-line {
      flex: 1;
      height: 1px;
      background-color: var(--border-soft);
    }
    .divider-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background-color: var(--olive);
      flex-shrink: 0;
    }

    /* Hero */
    .hero-section {
      position: relative;
      background-color: #F5F0E8;
      background-image: url('hero-diva.webp');
      background-position: right center;
      background-size: cover;
      background-repeat: no-repeat;
      min-height: 85vh;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: left;
      padding: 2rem 1.5rem;
      overflow: hidden;
    }
    .hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, #F5F0E8 0%, #F5F0E8 30%, rgba(245, 240, 232, 0.85) 50%, rgba(245, 240, 232, 0.5) 75%, rgba(245, 240, 232, 0.15) 100%);
      z-index: 1;
      pointer-events: none;
    }
    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 1100px;
      width: 100%;
      margin: 0 auto;
      text-align: left;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
    }
    .hero-title {
      font-family: var(--font-serif);
      font-weight: 300;
      font-size: 4rem;
      line-height: 1.15;
      color: var(--navy);
      margin-bottom: 1.5rem;
      letter-spacing: -0.02em;
      text-align: left;
    }
    .hero-title em {
      font-style: italic;
      color: var(--olive);
    }
    .hero-subtitle {
      font-family: var(--font-sans);
      font-size: 1.125rem;
      line-height: 1.65;
      color: var(--petroleum);
      max-width: 680px;
      margin: 0 0 2.5rem 0;
      font-weight: 400;
      text-align: left;
    }
    .hero-actions {
      display: flex;
      justify-content: flex-start;
      gap: 1rem;
      flex-wrap: wrap;
      margin-bottom: 0;
    }
    .hero-scroll-wrap {
      position: absolute;
      bottom: 3.75rem;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2;
      display: flex;
      justify-content: center;
      align-items: center;
      width: auto;
      margin: 0;
      text-align: center;
    }
    .hero-scroll {
      font-family: var(--font-mono);
      font-size: 0.75rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--petroleum);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.4rem;
      opacity: 0.85;
      text-decoration: none;
      transition: opacity 0.2s;
      margin: 0 auto;
      width: fit-content;
      text-align: center;
    }
    .hero-scroll:hover {
      opacity: 1;
    }
    .scroll-arrow {
      width: 14px;
      height: 14px;
      border-right: 1.75px solid var(--petroleum);
      border-bottom: 1.75px solid var(--petroleum);
      transform: rotate(45deg);
      animation: bounceArrow 2s infinite ease-in-out;
    }
    @keyframes bounceArrow {
      0%, 20%, 50%, 80%, 100% { transform: translateY(0) rotate(45deg); }
      40% { transform: translateY(5px) rotate(45deg); }
      60% { transform: translateY(3px) rotate(45deg); }
    }

    /* General Section Styling */
    .content-section {
      padding: 4rem 1.5rem 5rem;
    }

    /* sobre Dedicated Page */
    .sobre-page-hero {
      background-color: #FAFAF7;
      padding: 4rem 1.5rem;
      border-bottom: 1px solid var(--border-soft);
    }
    .sobre-page-hero-inner {
      max-width: 800px;
      margin: 0 auto;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 3.5rem;
    }
    .sobre-header-text {
      flex: 1;
      text-align: left;
      padding-top: 1rem;
    }
    .sobre-page-title {
      font-family: var(--font-serif);
      font-size: 3rem;
      font-weight: 300;
      color: #1D2447;
      margin-bottom: 1rem;
      line-height: 1.15;
      letter-spacing: -0.01em;
      text-align: left;
    }
    .sobre-page-subtitle {
      font-family: var(--font-sans);
      font-size: 1.125rem;
      color: #6B7280;
      line-height: 1.6;
      font-weight: 400;
      text-align: left;
    }
    .sobre-page-content {
      padding: 4rem 1.5rem 6rem;
      max-width: 800px;
      margin: 0 auto;
      text-align: left;
    }
    .sobre-section {
      margin-bottom: 3.5rem;
    }
    .sobre-section:last-of-type {
      margin-bottom: 2.5rem;
    }
    .sobre-subtitle {
      font-family: var(--font-serif);
      color: #B8860B;
      font-size: 1.75rem;
      font-weight: 600;
      margin-bottom: 1rem;
      line-height: 1.3;
    }
    .principios-intro {
      font-family: var(--font-sans);
      font-size: 1rem;
      color: #374151;
      line-height: 1.75;
      text-align: left;
      margin-bottom: 2rem;
    }
    .processo-body {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 1rem;
      line-height: 1.7;
      text-align: left;
      margin-top: 1.5rem;
    }
    .processo-body p {
      margin-bottom: 1.25rem;
    }
    .processo-body p:last-child {
      margin-bottom: 0;
    }
    .primeira-sessao-body {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 1rem;
      line-height: 1.7;
      text-align: left;
      margin-top: 1.5rem;
    }
    .primeira-sessao-body p {
      margin-bottom: 1rem;
    }
    .primeira-sessao-body p:last-child {
      margin-bottom: 0;
    }
    .primeira-sessao-topic-title {
      font-family: var(--font-serif);
      font-weight: 600;
      color: #B8860B;
      font-size: 1.1rem;
      margin-top: 1.5rem;
      margin-bottom: 0.5rem;
    }
    .limitacoes-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
      margin-top: 1.5rem;
    }
    .limitacoes-col-title {
      font-family: var(--font-serif);
      color: #B8860B;
      font-size: 1.25rem;
      font-weight: 600;
      margin-bottom: 1rem;
      line-height: 1.3;
    }
    .limitacoes-list {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 0.95rem;
      line-height: 1.7;
      padding-left: 1.5rem;
      list-style-type: disc;
    }
    .limitacoes-list li {
      margin-bottom: 0.5rem;
    }
    .limitacoes-list li::marker {
      color: #6B8E23;
    }
    .limitacoes-list li:last-child {
      margin-bottom: 0;
    }
    .sigilo-body {
      margin-top: 1.5rem;
    }
    .sigilo-intro {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 1rem;
      line-height: 1.7;
      text-align: left;
      margin-bottom: 1.5rem;
    }
    .sigilo-transition {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 1rem;
      line-height: 1.7;
      margin-bottom: 0.75rem;
      text-align: left;
    }
    .sigilo-list {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 0.95rem;
      line-height: 1.7;
      list-style-type: disc;
      padding-left: 1.5rem;
      margin-bottom: 1.5rem;
      text-align: left;
    }
    .sigilo-list li {
      margin-bottom: 0.5rem;
    }
    .sigilo-list li::marker {
      color: #6B8E23;
    }
    .sigilo-list li:last-child {
      margin-bottom: 0;
    }
    .sigilo-closing {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 1rem;
      line-height: 1.7;
      text-align: left;
    }
    .principios-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.5rem;
    }
    .principio-card {
      background-color: #F5F6F0;
      border-radius: 8px;
      padding: 1.5rem;
      border: none;
      box-shadow: none;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      text-align: left;
      transition: background-color 0.25s ease, transform 0.25s ease;
    }
    .principio-card:hover {
      background-color: #EFEFE7;
      transform: translateY(-2px);
    }
    .principio-card-title {
      font-family: var(--font-serif);
      color: #6B8E23;
      font-size: 1.25rem;
      font-weight: 600;
      line-height: 1.3;
      margin: 0;
    }
    .principio-card-text {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 0.95rem;
      line-height: 1.6;
      margin: 0;
    }
    .sobre-body {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 1.05rem;
      line-height: 1.75;
    }
    .sobre-body p {
      margin-bottom: 1.5rem;
    }
    .sobre-grifo {
      font-style: italic;
      color: #6B8E23;
      font-weight: inherit;
      background: none;
      text-decoration: none;
    }
    
	
    .sobre-cta-title {
      font-family: var(--font-serif);
      font-size: 3rem;
      font-weight: 300;
      color: var(--navy);
      text-align: center;
      letter-spacing: -0.01em;
      margin-bottom: 1.5rem;
      line-height: 1.6;
    }
    .sobre-cta-text {
      font-family: var(--font-sans);
      font-size: 1rem;
      color: var(--petroleum);
      text-align: center;
      max-width: 580px;
      margin-bottom: 1.5rem;
      line-height: 1.6;
    }

    /* FAQ Dedicated Page */
    .blog-post-card {
      display: block;
      text-decoration: none;
      color: inherit;
      padding: 1.75rem 0;
      border-bottom: 1px solid var(--border-soft);
    }
    .blog-post-card.tem-capa {
      display: flex;
      align-items: stretch;
      gap: 1.25rem;
    }
    .blog-post-card-capa {
      width: 150px;
      height: auto;
      align-self: stretch;
      object-fit: cover;
      border-radius: 8px;
      flex-shrink: 0;
    }
    .blog-post-card-texto {
      min-width: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .blog-post-card:first-child { padding-top: 0; }
    .blog-post-card-data {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.78rem;
      color: #6B8E23;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .blog-post-card-titulo {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: 1.6rem;
      color: #1D2447;
      margin: 0.4rem 0 0.5rem;
    }
    .blog-post-card-resumo {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.92rem;
      color: #374151;
      margin: 0;
      line-height: 1.6;
    }
    .blog-post-card:hover .blog-post-card-titulo { color: #B8860B; }
    .blog-estado-vazio {
      color: #374151;
      opacity: 0.7;
      font-size: 0.9rem;
      padding: 2rem 0;
    }
    .blog-post-detalhe-data {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.78rem;
      color: #6B8E23;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      margin-bottom: 0.5rem;
    }
    .blog-post-detalhe-titulo {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: 2.2rem;
      color: #1D2447;
      margin: 0 0 0.5rem;
      line-height: 1.2;
    }
    .blog-post-detalhe-subtitulo {
      font-family: 'DM Sans', sans-serif;
      font-size: 1.1rem;
      color: #6B8E23;
      margin: 0 0 2rem;
      font-weight: 400;
    }
    .blog-post-conteudo {
      font-family: 'DM Sans', sans-serif;
      font-size: 1rem;
      color: #374151;
      line-height: 1.75;
    }
    .blog-post-conteudo h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; color: #1D2447; margin: 1.75rem 0 0.75rem; }
    .blog-post-conteudo h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.2rem; color: #1D2447; margin: 1.5rem 0 0.6rem; }
    .blog-post-conteudo p { margin: 0 0 1rem; }
    .blog-post-conteudo ul, .blog-post-conteudo ol { margin: 0 0 1rem; padding-left: 1.4rem; }
    .blog-post-conteudo a { color: #6B8E23; }
    .blog-post-conteudo img {
      max-width: 100%;
      height: auto;
      border-radius: 8px;
      display: block;
      margin: 1.5rem 0;
    }
    .blog-post-conteudo blockquote {
      border-left: 3px solid #B8860B;
      margin: 1.25rem 0;
      padding: 0.4rem 0 0.4rem 1.25rem;
      font-style: italic;
      color: #2C3E50;
    }
    .blog-post-conteudo blockquote.cita-destacada {
      border-left: none;
      border-top: 1px solid #E5E5E0;
      border-bottom: 1px solid #E5E5E0;
      text-align: center;
      font-size: 1.4rem;
      font-family: 'Cormorant Garamond', Georgia, serif;
      padding: 1.25rem 2rem;
      margin: 2.5rem 0;
    }
    .blog-post-conteudo blockquote.cita-destaque {
      border-left: none;
      background-color: #F5F5F0;
      border-radius: 6px;
      padding: 1.25rem 1.5rem;
      font-style: normal;
      margin: 1.5rem 0;
    }
    .blog-post-conteudo hr {
      border: none;
      border-top: 1px solid #E5E5E0;
      margin: 2rem 0;
    }
    .blog-post-conteudo .post-notas-rodape {
      margin-top: 2rem;
      font-size: 0.85rem;
      color: #2C3E50;
    }
    .blog-post-conteudo .post-notas-rodape ol { padding-left: 1.2rem; }
    .blog-compartilhar {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      margin-top: 2.5rem;
      flex-wrap: wrap;
    }
    .blog-compartilhar-label {
      font-size: 0.82rem;
      color: #2C3E50;
      opacity: 0.75;
    }
    .blog-compartilhar-btn {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.8rem;
      color: #1D2447;
      background: none;
      border: 1px solid #E5E5E0;
      padding: 0.4rem 0.9rem;
      border-radius: 6px;
      cursor: pointer;
      text-decoration: none;
    }
    .blog-compartilhar-btn:hover { background-color: #F5F5F0; }
    .blog-voltar-lista {
      display: inline-block;
      margin-top: 3rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.85rem;
      color: #1D2447;
      text-decoration: none;
      border: 1px solid var(--border-soft);
      padding: 0.6rem 1.1rem;
      border-radius: 6px;
      cursor: pointer;
    }
    .blog-voltar-lista:hover { background-color: var(--beige); }
    .faq-page-hero {
      background-color: #FAFAF7;
      padding: 4rem 1.5rem;
      text-align: center;
      border-bottom: 1px solid var(--border-soft);
    }
    .faq-page-hero-inner {
      max-width: 800px;
      margin: 0 auto;
    }
    .faq-page-title {
      font-family: var(--font-serif);
      font-size: 3rem;
      font-weight: 300;
      color: #1D2447;
      margin-bottom: 1rem;
      line-height: 1.15;
      letter-spacing: -0.01em;
    }
    .faq-page-subtitle {
      font-family: var(--font-sans);
      font-size: 1.125rem;
      color: #6B7280;
      max-width: 680px;
      margin: 0 auto;
      line-height: 1.6;
      font-weight: 400;
    }
    .faq-page-content {
      padding: 4rem 1.5rem 6rem;
      max-width: 800px;
      margin: 0 auto;
    }
    /* FAQ: Política de Cancelamento e Reagendamento */
    .faq-politica-section {
      margin-top: 4rem;
      text-align: left;
    }
    .faq-politica-subblock-title {
      font-family: var(--font-serif);
      color: #B8860B;
      font-size: 1.25rem;
      font-weight: 600;
      margin-top: 1.5rem;
      margin-bottom: 0.75rem;
      line-height: 1.3;
    }
    .faq-politica-text {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 1rem;
      line-height: 1.7;
      margin-bottom: 0.5rem;
    }
    .faq-politica-list {
      font-family: var(--font-sans);
      color: #374151;
      font-size: 0.95rem;
      line-height: 1.7;
      list-style-type: disc;
      padding-left: 1.5rem;
      margin-bottom: 0.5rem;
    }
    .faq-politica-list li {
      margin-bottom: 0.5rem;
    }
    .faq-politica-list li::marker {
      color: #6B8E23;
    }
    .faq-politica-list li:last-child {
      margin-bottom: 0;
    }
	
/* Título entre as barras douradas — em TODAS as telas */
.politica-titulo {
  flex-direction: column !important;
}
.politica-titulo h2 {
  font-size: 2rem !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}
.politica-titulo .linha {
  width: 100% !important;
  flex: none !important;
  min-width: 0 !important;
}
    
/* Caixa da política (FAQ) — hover */
    .faq-politica-closing {
      margin-top: 2rem;
      background-color: #F5F6F0;
      border-left: 3px solid #6B8E23;
      border-radius: 0px;
      padding: 1.5rem;
      font-family: var(--font-sans);
      color: #374151;
      font-size: 1rem;
      line-height: 1.7;
      text-align: left;
      transition: all 0.3s ease;
}
    .faq-politica-closing:hover {
      border-left-color: #B8860B;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      transform: translateY(-2px);
}

    .faq-cta-title {
      font-family: var(--font-serif);
      font-size: 3rem;
      font-weight: 300;
      color: var(--navy);
      letter-spacing: -0.01em;
      text-align: center;
      margin-bottom: 1.5rem;
      line-height: 1.6;
    }
    .faq-cta-text {
      font-family: var(--font-sans);
      font-size: 1rem;
      color: var(--petroleum);
      text-align: center;
      max-width: 580px;
      margin-bottom: 1.5rem;
      line-height: 1.6;
    }
    .bg-offwhite {
      background-color: var(--off-white);
    }
    .bg-beige {
      background-color: var(--beige);
    }

    .section-heading-gold {
      font-family: var(--font-serif);
      font-size: 3rem;
      color: #B8860B;
      font-weight: 300;
      letter-spacing: -0.01em;
      line-height: 1.2;
      text-transform: none;
    }
    .section-heading-gold.centered {
      text-align: center;
      margin-bottom: 3rem;
    }
    #caminho.content-section {
      padding: 4rem 0.45rem 0;
      display: flex;
      flex-direction: column;
    }
    .caminho-heading {
      text-align: left;
      max-width: 1100px;
      width: 100%;
      margin: 0 auto 1.75rem auto;
      text-transform: none;
    }
    .caminho-quote-wrap {
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 1;
      padding: 3.5rem 0;
      width: 100%;
      max-width: 1100px;
      margin: 0 auto;
      text-align: center;
    }

    /* Seção Como Posso Ajudar Você & Temas Frequentes */
    .como-ajudar-title,
    .temas-frequentes-title {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: 3rem;
      font-weight: 300;
      text-transform: none;
      text-align: left;
      letter-spacing: -0.01em;
      line-height: 1.25;
      white-space: normal;
      overflow-wrap: break-word;
    }
    .temas-frequentes-title {
      color: #B8860B;
    }

    .br-desktop { display: inline; }


    @media (max-width: 768px) {
      .br-desktop { display: none; }
      .como-ajudar-title,
      .temas-frequentes-title {
        font-size: 3rem !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
      }
      
            .politica-titulo h2 {
        font-size: 1.3rem !important;
  } 
      
    }


    
    /* Cards de Serviços */
    .servico-card {
      position: relative;
      background-color: #FAFAF8;
      border-radius: 0;
      padding: 1.5rem 1.5rem 1.5rem 1.75rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      transition: all 0.3s ease;
      box-shadow: 0 2px 8px rgba(29, 36, 71, 0.03);
      overflow: hidden;
    }
    .servico-card .barra-lateral {
      position: absolute;
      top: 0;
      left: 0;
      width: 4px;
      height: 100%;
      background-color: #6B8E23;
      border-radius: 0;
      transition: background-color 0.3s ease;
    }
    .servico-card:hover {
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      transform: translateY(-2px);
    }
    .servico-card:hover .barra-lateral {
      background-color: #B8860B !important;
    }

    .servico-card-title {
      font-family: 'Cormorant Garamond', Georgia, serif;
      color: #1B3A5C;
      font-size: 1.3rem;
      font-weight: 600;
      margin-bottom: 0.75rem;
      line-height: 1.3;
    }
    .servico-card-lista {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .servico-card-lista li {
      position: relative;
      padding-left: 1.15rem;
      margin-bottom: 1.1rem;
      font-family: 'DM Sans', sans-serif;
      color: #374151;
      font-size: 0.9rem;
      line-height: 1.7;
    }
    .servico-card-lista li:last-child {
      margin-bottom: 0;
    }
    .servico-card-lista li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.55rem;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background-color: #B8860B;
    }

    .servico-tag {
      background-color: #F5F6F0;
      color: #1B3A5C;
      border: none;
      border-radius: 4px;
      padding: 0.3rem 0.75rem;
      font-size: 0.8rem;
      font-family: 'DM Sans', system-ui, sans-serif;
      text-align: center;
      display: inline-block;
      margin-right: 0.5rem;
      margin-bottom: 0.5rem;
    }

    /* Temas Frequentes (Pílulas com Bordas Coloridas Finas e Hover Suave) */
    .temas-container-wrap {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      justify-content: center;
      max-width: 740px;
      margin: 0 auto;
      text-align: center;
    }
    .tema-verde, .tema-dourado, .tema-azul {
      background-color: #F5F6F0;
      border-radius: 6px;
      padding: 0.5rem 1rem;
      font-size: 0.9rem;
      font-family: 'DM Sans', system-ui, sans-serif;
      text-align: center;
      display: inline-block;
      margin: 0.25rem 0.3rem;
      transition: all 0.3s ease;
    }
    .tema-verde {
      border: 1px solid #6B8E23;
      color: #6B8E23;
    }
    .tema-dourado {
      border: 1px solid #B8860B;
      color: #B8860B;
    }
    .tema-azul {
      border: 1px solid #1B3A5C;
      color: #1B3A5C;
    }
    .tema-verde:hover { background-color: #E8EFD8 !important; border-color: #5A7B1A !important; }
    .tema-dourado:hover { background-color: #F5EDD8 !important; border-color: #B8964A !important; }
    .tema-azul:hover { background-color: #E0E8F0 !important; border-color: #152D45 !important; }

    /* Section: Sobre */
    .sobre-container {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 350px 1fr;
      gap: 6rem;
      align-items: start;
    }
    .sobre-photo-wrap {
      position: relative;
      overflow: visible;
      display: inline-block;
      max-width: 350px;
      width: 100%;
      flex-shrink: 0;
    }
    .sobre-photo-frame {
      position: absolute;
      top: -15px;
      left: -15px;
      width: calc(100% - 10px);
      height: calc(100% - 10px);
      border: 1px solid #B8860B;
      border-radius: 0;
      z-index: 1;
      pointer-events: none;
    }
    .sobre-photo-img {
      position: relative;
      z-index: 2;
      border-radius: 0.5rem;
      object-fit: contain;
      max-width: 350px;
      width: 100%;
      height: auto;
      border: 1px solid #E8E4DC;
      display: block;
      box-shadow: 0 10px 25px -5px rgba(29, 36, 71, 0.05);
    }
    .sobre-photo-fallback {
      display: none;
      border: 1px solid #B8860B;
      border-radius: 0.5rem;
      background-color: #F5F5F0;
      min-height: 420px;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 2rem;
      box-shadow: 0 10px 25px -5px rgba(29, 36, 71, 0.05);
      position: relative;
      overflow: hidden;
    }
    .sobre-photo-fallback::before {
      content: '';
      position: absolute;
      inset: 12px;
      border: 1px dashed rgba(184, 134, 11, 0.3);
      border-radius: calc(0.5rem - 4px);
      pointer-events: none;
    }
    .photo-placeholder-text {
      font-family: var(--font-serif);
      font-style: italic;
      color: #7A808A;
      font-size: 1.25rem;
      margin-top: 1rem;
    }
    .photo-icon {
      color: #B8860B;
      opacity: 0.6;
    }

    .sobre-content {
      display: flex;
      flex-direction: column;
      gap: 1.75rem;
      text-align: left;
      padding-left: 5.5rem;
    }
    .sobre-content .section-heading-gold {
      text-align: left;
      margin-bottom: 0.5rem;
      text-transform: none;
    }
    .sobre-bio {
      font-size: 1.05rem;
      color: var(--petroleum);
      line-height: 1.75;
      font-weight: 400;
    }
    .sobre-bio p + p {
      margin-top: 1.2rem;
    }
    .impact-quote {
      border-left: 3px solid var(--olive);
      padding-left: 1.25rem;
      font-family: var(--font-serif);
      font-style: italic;
      font-size: 1.4rem;
      line-height: 1.6;
      color: #1B3A5C;
      margin: 1.5rem 0;
    }
    .caminho-quote {
      font-family: var(--font-serif);
      font-style: italic;
      font-size: 1.7rem;
      line-height: 1.6;
      color: #1B3A5C;
      text-align: center;
	  text-wrap: balance;
      margin: 0 auto;
      padding: 1.75rem 0;
      border-top: 1px solid #B8860B;
      border-bottom: 1px solid #B8860B;
      max-width: 850px;
      white-space: normal;
    }
	
    .caminho-quote::before,
    .caminho-quote::after {
      font-family: var(--font-serif);
      font-style: normal;
      font-size: 3.75rem;
      line-height: 0;
      color: #B8860B;
      vertical-align: -0.3em;
}
    .caminho-quote::before { content: '“'; margin-right: 0.1em; }
    .caminho-quote::after  { content: '”'; margin-left: 0.1em; }


    /* Section: Caminho (Steps) */
    .steps-container {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.25rem;
    }
    .step-card {
      background-color: #FFFFFF;
      border: 1px solid var(--border-soft);
      border-radius: var(--radius-sm);
      padding: 1.6rem;
      display: flex;
      flex-direction: column;
      transition: border-color 0.25s ease, box-shadow 0.25s ease;
    }
    .step-card:hover {
      border-color: #B8860B;
      box-shadow: 0 8px 20px rgba(184, 134, 11, 0.08);
    }
    .step-number {
      font-family: var(--font-serif);
      font-size: 2.5rem;
      line-height: 1;
      color: #B8860B;
      font-weight: 600;
      margin-bottom: 0.75rem;
    }
    .step-title {
      font-family: var(--font-serif);
      font-size: 1.25rem;
      color: var(--navy);
      font-weight: 600;
      margin-bottom: 0.75rem;
    }
    .step-text {
      font-size: 0.95rem;
      color: var(--petroleum);
      line-height: 1.6;
    }

    /* Section: Dúvidas Frequentes (FAQ) */
    .faq-container {
      max-width: 700px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }
    .accordion-item {
      background-color: #FFFFFF;
      border: 1px solid var(--border-soft);
      border-radius: 0.5rem;
      overflow: hidden;
      transition: border-color 0.25s ease;
    }
    .accordion-item.active {
      border-color: #B8860B;
    }
    .accordion-trigger {
      width: 100%;
      text-align: left;
      padding: 1.5rem 1.75rem;
      background: none;
      border: none;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1.25rem;
      font-family: var(--font-serif);
      font-size: 1.25rem;
      font-weight: 600;
      color: var(--navy);
      transition: color 0.2s ease;
    }
    .accordion-trigger:hover {
      color: #B8860B;
    }
    .accordion-icon {
      width: 18px;
      height: 18px;
      position: relative;
      flex-shrink: 0;
      transition: transform 0.3s ease;
    }
    .accordion-icon::before,
    .accordion-icon::after {
      content: '';
      position: absolute;
      background-color: var(--navy);
      transition: transform 0.3s ease, background-color 0.2s;
    }
    .accordion-icon::before {
      top: 8px;
      left: 2px;
      width: 14px;
      height: 2px;
    }
    .accordion-icon::after {
      top: 2px;
      left: 8px;
      width: 2px;
      height: 14px;
    }
    .accordion-item.active .accordion-icon {
      transform: rotate(90deg);
    }
    .accordion-item.active .accordion-icon::after {
      transform: scaleY(0);
    }
    .accordion-body {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease, padding 0.35s ease;
      padding: 0 1.75rem;
      font-size: 0.95rem;
      color: var(--petroleum);
      line-height: 1.7;
      background-color: #FAFAF8;
    }
    .accordion-item.active .accordion-body {
      padding: 1.5rem 1.75rem 2rem 1.75rem;
    }
    .accordion-body > p {
      margin: 0;
    }

   .contato-section {
      background-color: #fbfaf8;
      padding: 4rem 2rem;
}

    .contato-grid-container {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      text-align: left;
      align-items: start;
    }
    .contato-col-info {
      text-align: left;
    }
    .contato-title {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: 3rem;
      font-weight: 300;
      line-height: 1.2;
      text-align: left;
      text-transform: none;
      margin-bottom: 1.25rem;
    }
    .contato-title-part1 {
      color: #B8860B;
      font-style: normal;
    }
    .contato-title-part2 {
      color: #6B8E23;
      font-style: italic;
    }
    .contato-intro-text {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 1rem;
      line-height: 1.6;
      color: #555555;
      text-align: left;
      margin-bottom: 2.25rem;
      max-width: 500px;
    }
    .contato-info-list {
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }
    .contato-info-item {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      text-align: left;
    }
    .contato-info-icon {
      flex-shrink: 0;
      width: 20px;
      height: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 0.2rem;
    }
    .contato-info-icon svg {
      width: 20px;
      height: 20px;
      stroke: #B8860B;
      stroke-width: 1.5;
      fill: none;
    }
    .contato-info-text {
      display: flex;
      flex-direction: column;
      text-align: left;
    }
    .contato-info-label {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 0.85rem;
      font-weight: 500;
      color: #B8860B;
      line-height: 1.3;
    }
    .contato-info-value {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 0.9rem;
      color: #555555;
      line-height: 1.5;
      text-decoration: none;
      transition: color 0.2s ease;
    }
    a.contato-info-value:hover {
      color: #1D2447;
    }

    /* Formulário de Contato */
    .contato-col-form {
      text-align: left;
    }
    .contato-form-subtitle {
      font-family: var(--font-serif);
      font-size: 1.4rem;
      font-weight: 600;
      color: var(--navy);
      margin: 0 0 1.25rem;
      line-height: 1.25;
    }
    .contato-form {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
      text-align: left;
      width: 100%;
    }
    .form-group {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
      text-align: left;
      width: 100%;
    }
    .form-label {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 0.85rem;
      font-weight: 500;
      color: #B8860B;
      text-align: left;
    }
    .form-input,
    .form-textarea {
      width: 100%;
      padding: 0.75rem 1rem;
      border: 1px solid #dddddd;
      border-radius: 6px;
      background-color: #ffffff;
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 0.95rem;
      color: #333333;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
      outline: none;
      box-sizing: border-box;
    }
    .form-input:focus,
    .form-textarea:focus {
      border-color: #B8860B;
      box-shadow: 0 0 0 2px rgba(201, 169, 97, 0.15);
    }
    .form-textarea {
      min-height: 120px;
      resize: vertical;
    }
    .form-submit-btn,
    .contact-btn {
      background-color: #1B3A5C;
      color: #ffffff;
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 0.95rem;
      font-weight: 500;
      padding: 0.8rem 2rem;
      border-radius: 6px;
      border: none;
      cursor: pointer;
      width: 100%;
      transition: background-color 0.25s ease, color 0.25s ease;
      margin-top: 0.25rem;
    }
    .form-submit-btn:hover,
    .contact-btn:hover {
      background-color: #6B8E23;
      color: #ffffff;
    }
    .form-disclaimer {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 0.85rem;
      color: #1B3A5C;
      text-align: center;
      margin-top: 1rem;
      line-height: 1.4;
    }
    /* Policies Subpage */
    .policies-wrapper {
      max-width: 840px;
      margin: 0 auto;
    }
    .policies-legal-label {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-bottom: 2rem;
    }
    .policies-legal-text {
      font-family: var(--font-mono);
      font-size: 0.75rem;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: #B8860B;
      font-weight: 600;
      white-space: nowrap;
    }
    .policies-legal-line {
      flex: 1;
      height: 1px;
      background-color: #B8860B;
    }
    .policies-legal-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background-color: #B8860B;
      flex-shrink: 0;
    }
    .policies-main-title {
      font-family: var(--font-serif);
      font-weight: 300;
      font-size: 3rem;
      line-height: 1.1;
      color: var(--navy);
      margin-bottom: 0.5rem;
      letter-spacing: -0.02em;
    }
    .policies-subtitle-title {
      font-family: var(--font-serif);
      font-weight: 300;
      font-style: italic;
      font-size: 3rem;
      line-height: 1.1;
      color: #B8860B;
      margin-bottom: 1.5rem;
      letter-spacing: -0.02em;
    }
    .policies-lead {
      font-family: var(--font-sans);
      font-size: 1rem;
      color: var(--petroleum);
      line-height: 1.6;
      margin-bottom: 3.5rem;
      max-width: 700px;
    }
    .policy-content-block {
      padding: 0;
    }
    .policy-content-block h4 {
      font-family: var(--font-serif);
      font-size: 1.25rem;
      color: var(--navy);
      margin-top: 1.5rem;
      margin-bottom: 0.5rem;
    }
    .policy-content-block h4:first-child {
      margin-top: 0;
    }
    .policy-content-block p {
      font-size: 0.95rem;
      color: var(--petroleum);
      line-height: 1.7;
      margin-bottom: 1rem;
    }
    .policy-content-block p:last-child {
      margin-bottom: 0;
    }
    .policy-content-block .article-source {
      font-family: var(--font-mono);
      font-size: 0.75rem;
      font-style: normal;
      color: #7A808A;
      margin-top: -0.3rem;
      margin-bottom: 0.5rem;
    }
.policy-compromisso {
  border-left: 3px solid var(--olive);
  background-color: #F5F6F0;
  padding: 1.5rem 1.5rem 1.5rem 1.75rem;
  margin-top: 1.75rem;
  margin-bottom: 0;
  font-size: 0.95rem;
  color: var(--navy);
  line-height: 1.7;
  box-shadow: 0 2px 8px rgba(29, 36, 71, 0.03);
  transition: all 0.3s ease;
}
.policy-compromisso:hover {
  border-left-color: #B8860B;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}
.policy-compromisso strong {
  color: var(--olive);
  font-family: var(--font-sans);
  font-weight: 600;
}
    
.policies-meta {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border-soft);
  font-family: var(--font-mono);
  font-size: 0.9rem;
  color: #7A808A;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
        
    /* Footer */
    footer.site-footer {
      background-color: var(--navy);
      color: var(--off-white);
      padding-top: 1.75rem;
      padding-bottom: 1.3rem;
      padding-left: 2rem;
      padding-right: 2rem;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
    }
    .footer-inner {
      max-width: 1320px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 4.5rem;
    }
    .footer-brand-wrap {
      display: flex;
      align-items: center;
      gap: 1rem;
      flex: 1;
      justify-content: flex-start;
      text-align: left;
    }
    .footer-brand-wrap .brand-logo-container {
      width: 80px;
      height: 80px;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .footer-brand-wrap .brand-logo-img {
      object-fit: contain;
      height: 80px;
      width: auto;
      max-width: 80px;
      border-radius: 50%;
      display: block;
      object-fit: cover;
    }
    .footer-brand-wrap .brand-logo-fallback {
      width: 80px;
      height: 80px;
      border-radius: 50%;
      font-size: 1.1rem;
    }
    .footer-brand-text {
      display: flex;
      flex-direction: column;
    }
    .footer-brand-title {
      font-family: 'Amsterdam Signature', var(--font-serif);
      font-size: 2.4rem;
      font-weight: 400;
      color: var(--off-white);
      line-height: 1.8;
      display: block;
      padding-top: 0.1rem;
    }
    .footer-brand-crp {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-weight: 300;
      font-size: 0.75rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: #B8860B;
      margin-top: 0.35rem;
      margin-top: 0.4rem;
    }
    .footer-copyright {
      flex: 1;
      text-align: center;
      font-size: 0.85rem;
      color: rgba(250, 250, 248, 0.7);
      padding: 0 1.5rem;
      white-space: nowrap;
    }
    .footer-links {
      display: flex;
      gap: 1rem;
      align-items: center;
      justify-content: flex-end;
      flex: 1;
      flex-wrap: nowrap;
      white-space: nowrap;
      padding-left: 1rem;
    }
    .footer-link {
      font-size: 0.9rem;
      color: rgba(250, 250, 248, 0.8);
      white-space: nowrap;
      position: relative;
      text-decoration: none;
      transition: color 0.3s ease;
      display: inline-block;
    }
    .footer-link::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1px;
      background: #B8860B;
      transition: width 0.3s ease;
    }
    .footer-link:hover {
      color: #B8860B;
    }
    .footer-link:hover::after {
      width: 100%;
    }

    /* Fade-in Animation */
    .fade-in-element {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                  transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    .fade-in-element.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* Responsive */
    @media (max-width: 900px) {

      .sobre-container {
        grid-template-columns: 1fr;
        gap: 3rem;
      }
      .sobre-content {
        padding-left: 0;
      }
      .sobre-photo-wrap {
        margin: 0 auto;
        max-width: 350px;
      }
      .steps-container {
        grid-template-columns: 1fr;
      }
      .contato-grid-container {
        gap: 3rem;
      }
      .policies-main-title,
      .policies-subtitle-title {
        font-size: 2.75rem;
      }

      
      .impact-quote {
        font-size: 1.4rem;
      }
      .footer-inner {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        gap: 1.75rem;
      }
      .footer-brand-wrap {
        justify-content: center;
        text-align: center;
        flex: none;
      }
      .footer-brand-text {
        align-items: center;
      }
      .footer-copyright {
        flex: none;
        text-align: center;
      }
      .footer-links {
        justify-content: center;
        flex: none;
        gap: 1rem;
      }
    }

    @media (max-width: 768px) {
      .nav-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background-color: var(--off-white);
        border-bottom: 1px solid var(--border-soft);
        flex-direction: column;
        padding: 1.5rem;
        gap: 1.25rem;
        box-shadow: 0 10px 20px rgba(0,0,0,0.05);
      }
      .nav-menu.open {
        display: flex;
      }
      .mobile-menu-btn {
        display: block;
      }
      .header-inner > .btn-agendar {
        display: none;
      }
      .nav-item-mobile {
        display: block;
        width: 100%;
        margin-top: 0.5rem;
      }
      .nav-item-mobile .btn-agendar {
        display: flex;
        width: 100%;
        text-align: center;
        color: #FFFFFF !important;
        background-color: var(--navy);
      }
      .nav-item-mobile .btn-agendar:hover,
      .nav-item-mobile .btn-agendar:focus,
      .nav-item-mobile .btn-agendar:active {
        color: #FFFFFF !important;
        background-color: #6B8E23 !important;
      }

      .hero-section {
        min-height: 75vh;
        padding: 2.5rem 1.5rem 3.5rem;
        background-position: right center;

      }
      .hero-overlay {
        background: rgba(245, 240, 232, 0.85);
      }
      .section-heading-gold {
        font-size: 2.5rem;
      }
      .sobre-page-hero-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 2.5rem;
      }
      .sobre-header-text {
        padding-top: 0;
      }
      .sobre-photo-wrap {
        margin: 0 auto;
      }
      .principios-grid {
        grid-template-columns: 1fr;
      }
      .limitacoes-grid {
        grid-template-columns: 1fr;
      }

            
      .caminho-quote {
        flex: none;
        width: 100%;
        max-width: 385px;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        margin: 0 auto;
        white-space: normal;
        font-size: 1.5rem;
        line-height: 1.5;
        text-align: center;
		text-wrap: balance;
		margin-left:-0.25rem;
        margin-right:-0.25rem;
		
      }
    }


    @media (max-width: 768px) {
      .contato-section {
        padding: 4rem 1.5rem;
      }
      .contato-grid-container {
        grid-template-columns: 1fr !important;
        gap: 2.5rem;
      }
      .servicos-grid {
        grid-template-columns: 1fr !important;
      }


      .section-titulo-wrapper {
        width: 100% !important;
        margin-left: 0 !important;
      }
      .section-titulo-inner {
        flex-direction: column !important;
      }
      .section-titulo-inner h2 {
        font-size: 1.3rem !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
      }
      .section-titulo-inner .linha {
        width: 100% !important;
        flex: none !important;
        min-width: 0 !important;
      }
    }

    /* Print styles */
    @media print {
      header.site-header,
      footer.site-footer,
      .hero-actions,
      .hero-scroll,
      .btn-agendar,
      .btn-saiba,
      .btn-saiba-sobre {
        display: none !important;
      }
      #main-content, #policies-page, #faq-page, #sobre-page, .accordion-body {
        max-height: none !important;
        padding: 1rem 0 !important;
      }
    }


    /* ============================================
       MODAL DE AGENDAMENTO
       ============================================ */
    .booking-modal-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background-color: rgba(29, 36, 71, 0.55);
      backdrop-filter: blur(2px);
      z-index: 1000;
      padding: 1.5rem;
      align-items: center;
      justify-content: center;
    }
    .booking-modal-overlay.is-open {
      display: flex;
    }

    .booking-modal {
      background-color: var(--off-white);
      border-radius: var(--radius-md);
      width: 100%;
      max-width: 440px;
      max-height: 90vh;
      overflow-y: auto;
      position: relative;
      box-shadow: 0 20px 50px -10px rgba(29, 36, 71, 0.35);
      display: flex;
      flex-direction: column;
    }

    .booking-modal-header {
      background-color: var(--navy);
      padding: 0.5rem 1rem 1.25rem;
    }
    .booking-modal-topbar {
      display: flex;
      justify-content: flex-end;
      margin-bottom: 0.25rem;
    }
    .booking-modal-close {
      width: 2rem;
      height: 2rem;
      border: none;
      background: transparent;
      color: var(--off-white);
      font-size: 1.5rem;
      line-height: 1;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      transition: background-color 0.2s ease;
    }
    .booking-modal-close:hover {
      background-color: rgba(255, 255, 255, 0.15);
    }

    .booking-modal-nav {
      display: grid;
      grid-template-columns: 2.25rem 1fr 2.25rem;
      align-items: center;
      gap: 0.5rem;
      padding: 0 0.5rem;
    }
    .booking-nav-btn {
      width: 2.25rem;
      height: 2.25rem;
      border: none;
      background-color: rgba(255, 255, 255, 0.08);
      color: var(--gold);
      font-size: 1.1rem;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background-color 0.2s ease, opacity 0.2s ease;
    }
    .booking-nav-btn:hover {
      background-color: rgba(255, 255, 255, 0.16);
    }
    .booking-nav-btn:disabled {
      opacity: 0.3;
      cursor: not-allowed;
    }
    .booking-month-label {
      font-family: var(--font-serif);
      font-size: 1.15rem;
      font-weight: 600;
      color: var(--off-white);
      text-align: center;
      text-transform: capitalize;
      margin: 0;
    }

    .booking-dia-resumo,
    .booking-hora-resumo {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      margin: 1.25rem 1.25rem 0;
      padding: 0.65rem 0.85rem;
      background-color: var(--beige);
      border-radius: var(--radius-sm);
      font-size: 0.82rem;
      color: var(--navy);
      font-weight: 500;
    }
    .booking-dia-resumo[hidden],
    .booking-hora-resumo[hidden] {
      display: none;
    }
    .booking-link-trocar {
      background: none;
      border: none;
      color: var(--olive);
      font-size: 0.78rem;
      font-weight: 600;
      cursor: pointer;
      text-decoration: underline;
      white-space: nowrap;
      padding: 0;
    }

    .booking-weekdays {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 0.35rem;
      padding: 1.25rem 1.25rem 0;
    }
    .booking-weekdays span {
      text-align: center;
      font-family: var(--font-mono);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.03em;
      color: var(--petroleum);
      opacity: 0.6;
    }

    .booking-days-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 0.35rem;
      padding: 0.5rem 1.25rem 1.25rem;
    }
    .booking-day-cell {
      aspect-ratio: 1 / 1;
      display: flex;
      align-items: center;
      justify-content: center;
      border: none;
      border-radius: 50%;
      font-family: var(--font-sans);
      font-size: 0.85rem;
      font-weight: 400;
      background-color: transparent;
      color: var(--navy);
      cursor: pointer;
      transition: background-color 0.2s ease, color 0.2s ease;
    }
    .booking-day-cell:hover:not(:disabled):not(.is-empty) {
      background-color: var(--beige);
    }
    .booking-day-cell:disabled {
      opacity: 0.28;
      cursor: not-allowed;
    }
    .booking-day-cell.is-empty {
      cursor: default;
    }
    .booking-day-cell.is-selected {
      background-color: var(--gold);
      color: var(--off-white);
      font-weight: 600;
    }

    .booking-slots-wrap {
      padding: 0 1.25rem 1.25rem;
      border-top: 1px solid var(--border-soft);
      margin-top: 0.25rem;
      padding-top: 1.25rem;
    }
    .booking-slots-label {
      font-family: var(--font-serif);
      font-size: 1rem;
      font-weight: 600;
      color: var(--navy);
      text-align: center;
      margin: 0 0 1rem;
      text-transform: capitalize;
    }
    .booking-slots-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0.6rem;
    }
    .booking-slot-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 0.65rem 0.5rem;
      border: 1px solid var(--border-soft);
      border-radius: var(--radius-sm);
      background-color: var(--surface);
      color: var(--navy);
      font-family: var(--font-sans);
      font-size: 0.85rem;
      cursor: pointer;
      transition: all 0.2s ease;
    }
    .booking-slot-btn:hover:not(:disabled) {
      border-color: var(--gold);
      background-color: var(--beige);
    }
    .booking-slot-btn:disabled {
      opacity: 0.35;
      text-decoration: line-through;
      cursor: not-allowed;
    }
    .booking-slot-btn.is-selected {
      background-color: var(--gold);
      border-color: var(--gold);
      color: var(--off-white);
      font-weight: 600;
    }
    .booking-slots-empty {
      grid-column: 1 / -1;
      text-align: center;
      color: var(--petroleum);
      opacity: 0.6;
      font-size: 0.85rem;
      padding: 0.5rem 0;
    }

    .booking-waitlist-wrap {
      padding: 0 1.25rem 1.25rem;
      border-top: 1px solid var(--border-soft);
      margin-top: 0.25rem;
      padding-top: 1.25rem;
    }
    .booking-waitlist-msg {
      font-size: 0.85rem;
      color: var(--petroleum);
      text-align: center;
      margin: 0 0 1rem;
    }
    .booking-waitlist-wrap .booking-input {
      margin-bottom: 0.6rem;
    }

    .booking-confirm-wrap {
      padding: 1.25rem;
      border-top: 1px solid var(--border-soft);
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
    }
    .booking-confirm-wrap[hidden] {
      display: none;
    }
    .booking-label {
      display: block;
      font-family: var(--font-sans);
      font-size: 0.8rem;
      color: var(--petroleum);
      margin-bottom: -0.4rem;
    }
    .booking-input,
    .booking-textarea {
      width: 100%;
      border: 1px solid var(--border-soft);
      border-radius: var(--radius-sm);
      padding: 0.65rem 0.75rem;
      font-family: var(--font-sans);
      font-size: 0.85rem;
      color: var(--navy);
      background-color: var(--surface);
    }
    .booking-textarea {
      resize: vertical;
    }
    .booking-input:focus,
    .booking-textarea:focus {
      outline: none;
      border-color: var(--gold);
    }
    .booking-confirm-actions {
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      gap: 0.6rem;
    }
    .booking-btn-secondary,
    .booking-btn-primary {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 0.75rem 1rem;
      border-radius: var(--radius-sm);
      font-family: var(--font-sans);
      font-size: 0.85rem;
      font-weight: 500;
      cursor: pointer;
      border: none;
      transition: opacity 0.2s ease;
    }
    .booking-btn-secondary {
      background-color: var(--navy);
      color: #ffffff;
    }
    .booking-btn-primary {
      background-color: #25D366;
      color: #ffffff;
      gap: 0.4rem;
    }
    .booking-btn-secondary:hover {
      background-color: #344584;
    }
    .booking-btn-primary:hover {
      background-color: #1DA851;
    }
    .booking-btn-primary:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }

    .booking-status {
      text-align: center;
      font-size: 0.8rem;
      padding: 0 1.25rem 1.25rem;
      margin: 0;
      color: #cf3131;
      min-height: 0;
    }
    .booking-status:empty {
      display: none;
    }

    @media (max-width: 480px) {
      .booking-modal { max-width: 100%; }
      .booking-slots-grid { grid-template-columns: repeat(2, 1fr); }
    }

  


    /* Espaçamento das páginas internas (Sobre, FAQ, Blog, Políticas) — cada
       uma tem altura mínima de 80vh e fundo off-white, igual ao site
       original, pra nunca ficar curta demais nem colar o conteúdo final
       direto no rodapé. */
    #sobre-page, #faq-page, #blog-page {
      min-height: 80vh;
      background-color: var(--off-white);
    }
    #policies-page {
      min-height: 80vh;
      padding: 5rem 1.5rem 6rem;
      background-color: var(--off-white);
    }
