/* 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;
}


.blog-tools{width:min(42vw,380px);max-width:380px;margin:-1rem 0 1.5rem auto}.blog-search-label{display:block;margin:0 0 7px;color:var(--navy);font-size:13px;font-weight:600}.blog-search-input{display:block;width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--paper,#fff);color:var(--petroleum,#303b3c);font:inherit;box-shadow:0 2px 8px rgba(29,36,71,.035)}.blog-search-input:focus{outline:2px solid rgba(84,116,71,.25);border-color:var(--olive-text,#547447)}.blog-tag-filters{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.blog-tag-filter,.blog-card-tags span,.blog-post-tags a{display:inline-flex;align-items:center;border:1px solid var(--border-soft);border-radius:20px;background:transparent;color:var(--petroleum,#303b3c);padding:5px 10px;font:inherit;font-size:11px;text-decoration:none}.blog-tag-filter{cursor:pointer}.blog-tag-filter:hover,.blog-tag-filter.active{background:#e8eadf;border-color:#b9c6a9;color:#355f34}.blog-search-status{min-height:1.2em;margin:8px 0 4px;color:#667174;font-size:12px}.blog-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.blog-card-tags span{padding:3px 8px;font-size:10px}.blog-post-tags{display:flex;flex-wrap:wrap;gap:7px;margin:1.25rem 0}.blog-post-tags a:hover{background:#e8eadf;border-color:#b9c6a9;color:#355f34}@media(max-width:600px){.blog-tools{width:100%;max-width:none;margin:-.5rem 0 0}.blog-search-input{min-height:44px}.blog-tag-filters{gap:6px}.blog-tag-filter{min-height:34px}}

/* 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: block;
    }
    :root {
      --navy: #1D2447;
      --off-white: #FAFAF8;
      --olive: #6B8E23;
      --gold: #B8860B;
      --gold-text: #8A6508;
      --olive-text: #556F1B;
      --muted-text: #5B6472;
      --beige: #F5F5F0;
      --petroleum: #2C3E50;
      --border-soft: #E8E4DC;
      --radius-sm: 0.375rem;
      --radius-md: 0.5rem;
      
      --font-serif: 'Cormorant Garamond','Cormorant Fallback', Georgia, serif;
      --font-sans: 'DM Sans','DM Sans Fallback', 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: #556F1B !important;
      border-color: #B8860B;
      color: #FFFFFF !important;
    }

    .btn-saiba {
      background-color: transparent;
      color: var(--gold-text);
      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.4rem;
      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','DM Sans Fallback', system-ui, sans-serif;
      font-weight: 300;
      font-size: 0.7rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--gold-text);
      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.625rem;
      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: var(--gold-text);
      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 {
      background-color: #F5F6F0;
      border-radius: 8px;
      padding: 1.5rem 1.75rem;
      transition: background-color 0.25s ease, transform 0.25s ease;
    }
    .limitacoes-col:hover {
      background-color: #F2EEDD;
      transform: translateY(-2px);
    }
    .limitacoes-col-title {
      font-family: var(--font-serif);
      color: var(--gold-text);
      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;
    }
    .sigilo-closing + .sigilo-closing {
      margin-top: 1rem;
    }
    .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: #F2EEDD;
      transform: translateY(-2px);
    }
    .principio-card-title {
      font-family: var(--font-serif);
      color: #556F1B;
      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: var(--olive-text);
      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;
      padding: 1.25rem 1.5rem;
    }
    .blog-post-card-capa {
      width: 150px;
      height: auto;
      max-height: 140px;
      align-self: center;
      object-fit: contain;
      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.tem-capa:first-child { padding-top: 1.25rem; }
    @media (max-width: 600px) {
      .blog-post-card.tem-capa { padding: 1rem; gap: 0.85rem; }
      .blog-post-card.tem-capa:first-child { padding-top: 1rem; }
      .blog-post-card-capa { width: 112px; max-height: 100px; }
    }
    .blog-post-card-data {
      font-family: 'DM Sans','DM Sans Fallback', sans-serif;
      font-size: 0.78rem;
      color: var(--olive-text);
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .blog-post-card-titulo {
      font-family: 'Cormorant Garamond','Cormorant Fallback', Georgia, serif;
      font-size: 1.6rem;
      color: #1D2447;
      margin: 0.4rem 0 0.5rem;
    }
    .blog-post-card-resumo {
      font-family: 'DM Sans','DM Sans Fallback', sans-serif;
      font-size: 0.92rem;
      color: #374151;
      margin: 0;
      line-height: 1.6;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden;
    }
    .blog-post-card-subtitulo {
      font-family: 'DM Sans','DM Sans Fallback', sans-serif;
      font-size: 0.92rem;
      color: var(--olive-text);
      margin: 0 0 0.35rem;
      line-height: 1.5;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
    }
    .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','DM Sans Fallback', sans-serif;
      font-size: 0.78rem;
      color: var(--olive-text);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      margin-bottom: 0.5rem;
    }
    .blog-post-detalhe-titulo {
      font-family: 'Cormorant Garamond','Cormorant Fallback', 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','DM Sans Fallback', sans-serif;
      font-size: 1.1rem;
      color: var(--olive-text);
      margin: 0 0 2rem;
      font-weight: 400;
    }
    #blog-page.blog-artigo-aberto > .faq-page-content { padding-top: 2rem; }
    .blog-post-detalhe > .blog-voltar-lista { margin-top: .75rem; margin-bottom: 1rem; }
    .blog-post-detalhe-resumo { display: none !important; }
    .blog-post-conteudo {
      font-family: 'DM Sans','DM Sans Fallback', sans-serif;
      font-size: 1rem;
      color: #374151;
      line-height: 1.75;
    }
    .blog-post-conteudo h2 { font-family: 'Cormorant Garamond','Cormorant Fallback', Georgia, serif; font-size: 1.5rem; color: #1D2447; margin: 1.75rem 0 0.75rem; }
    .blog-post-conteudo h3 { font-family: 'Cormorant Garamond','Cormorant Fallback', 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: var(--olive-text); }
    .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','Cormorant Fallback', 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','DM Sans Fallback', 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-compartilhar-btn:disabled,
    .blog-compartilhar-btn[aria-disabled="true"] { opacity: .55; pointer-events: none; }
    .blog-voltar-lista {
      display: inline-block;
      margin-top: 3rem;
      font-family: 'DM Sans','DM Sans Fallback', 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;
    }
    #blog-page:not(.blog-artigo-aberto) > .faq-page-content { max-width: 920px; }
    /* 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: #8A6508;
      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 1.5rem 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','Cormorant Fallback', 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','Cormorant Fallback', 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','DM Sans Fallback', 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','DM Sans Fallback', 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','DM Sans Fallback', 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 var(--olive-text);
      color: var(--olive-text);
    }
    .tema-dourado {
      border: 1px solid var(--gold-text);
      color: var(--gold-text);
    }
    .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;
    }
    .impact-quote-autor {
      display: block;
      margin-top: 0.6rem;
      font-family: var(--font-sans);
      font-style: normal;
      font-size: 0.8rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--gold-text);
    }
    .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','Cormorant Fallback', 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','DM Sans Fallback', 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','DM Sans Fallback', system-ui, sans-serif;
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--gold-text);
      line-height: 1.3;
    }
    .contato-info-value {
      font-family: 'DM Sans','DM Sans Fallback', 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','DM Sans Fallback', system-ui, sans-serif;
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--gold-text);
      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','DM Sans Fallback', 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: #1D2447;
      color: #ffffff;
      font-family: 'DM Sans','DM Sans Fallback', 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','DM Sans Fallback', 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: var(--gold-text);
      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: var(--muted-text);
      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-text);
  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: var(--muted-text);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
        
    /* Footer */
    footer.site-footer {
      background-color: var(--navy);
      color: var(--off-white);
      padding-top: 1.5rem;
      padding-bottom: 1.1rem;
      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','DM Sans Fallback', 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 {
      transition: opacity 0.45s ease-out,
                  transform 0.45s ease-out;
    }
    .js .fade-in-element {
      opacity: 0;
      transform: translateY(12px);
    }
    .js .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-text);
      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);
    }

/* Mensagem de erro dos campos do formulário de contato */
.form-erro {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0.4rem 0 0;
  font-family: 'DM Sans','DM Sans Fallback', system-ui, sans-serif;
  font-size: 0.85rem;
  line-height: 1.4;
  color: #B3261E;
}
.form-erro svg {
  flex: none;
  margin-top: 2px;
}


/* ===== Versão editorial: caminho, como ajudar, temas, com quem, formulário ===== */
.steps-container{gap:0;max-width:1100px;width:100%}
.step-card{background:transparent;border:0;border-radius:0;padding:2.75rem 3.5rem 2.75rem 0;box-shadow:none}
.step-card:nth-child(even){padding:2.75rem 0 2.75rem 3.5rem;border-left:1px solid var(--linha-fina)}
.step-card:nth-child(-n+2){border-bottom:1px solid var(--linha-fina)}
.step-card:hover{border-color:var(--linha-fina);box-shadow:none}
.step-card:nth-child(-n+2):hover{border-bottom-color:var(--linha-fina)}
.step-card:nth-child(even):hover{border-left-color:var(--linha-fina)}
.step-number{font-size:2.75rem;font-weight:300;letter-spacing:.03em;margin-bottom:1.1rem}
.step-title{font-size:1.85rem;font-weight:400;margin-bottom:.7rem;line-height:1.15}
.step-text{font-size:1rem;line-height:1.75;max-width:30rem}

.servico-card{background:transparent;box-shadow:none;padding:.5rem 2.75rem .5rem 0;border-left:0}
.servico-card + .servico-card{padding-left:2.75rem;border-left:1px solid var(--linha-fina)}
.servico-card .barra-lateral{display:none}
.servico-card:hover{box-shadow:none;transform:none}
.servicos-grid{gap:0 !important}
.servico-card-title{font-size:1.75rem;font-weight:400;margin-bottom:1rem;white-space:nowrap}
.servico-card-lista li{margin-bottom:1.6rem;font-size:.95rem;line-height:1.8;padding-left:1.5rem}
.servico-card-lista li::before{top:.7rem}
.servico-tag{background:none;border-radius:0;padding:0;margin:0;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:#556F1B;font-weight:500}
.servico-tag:not(:last-child)::after{content:"·";margin:0 .6rem;color:#556F1B}

.temas-container-wrap{max-width:1100px;justify-content:flex-start;text-align:left;gap:.5rem 0}
.tema-verde,.tema-dourado,.tema-azul{background:none !important;border:0 !important;border-radius:0;padding:0;margin:0 2.25rem 0 0;font-family:'Cormorant Garamond','Cormorant Fallback',Georgia,serif;font-size:1.6rem;line-height:1.5;color:#1B3A5C !important;white-space:nowrap;display:inline-flex;align-items:center}
.tema-verde::before,.tema-dourado::before,.tema-azul::before{content:"";width:6px;height:6px;border-radius:50%;background:#B8860B;margin-right:.8rem;flex:none;position:relative;top:2px}

.form-input,.form-textarea{border:0;border-bottom:1px solid #B9B29E;border-radius:0;background:transparent;padding:.75rem 0 .5rem}
.form-input:focus,.form-textarea:focus{border-bottom-color:#B8860B;box-shadow:none}
.contato-form-subtitle{font-size:1.9rem;line-height:1.3}

@media (max-width:768px){
  .steps-container{max-width:none}
  .step-card,.step-card:nth-child(even){padding:2rem 0;border-left:0;border-bottom:1px solid var(--linha-fina)}
  .step-card:last-child{border-bottom:0}
  .servico-card,.servico-card + .servico-card{padding:1.5rem 0;border-left:0;border-top:1px solid var(--linha-fina)}
  .servico-card:first-child{border-top:0}
  .servico-card-title{white-space:normal}
  .tema-verde,.tema-dourado,.tema-azul{font-size:1.4rem;margin-right:1.5rem}
}


/* ===== Ajustes: temas em grade, listas, botão e vida (interações) ===== */
.temas-container-wrap{display:grid;grid-template-columns:repeat(4,max-content);column-gap:2.5rem;row-gap:.6rem;justify-content:start}
.servicos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.servicos-grid[style*="repeat(2"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.servicos-grid[style*="repeat(3"]{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.servico-card{padding-right:2rem}
.servico-card + .servico-card{padding-left:2rem}
.servico-card-title{font-size:1.6rem}
.servico-card-lista li{margin-bottom:1.25rem;text-wrap:pretty}
.step-text,.servico-card p{text-wrap:pretty}
.form-submit-btn,.contact-btn{width:auto;min-width:220px;padding:.85rem 2.5rem}
.contato-form .form-group:last-of-type{text-align:left}

/* vida: interações discretas */
.step-card .step-number,.step-card .step-title{transition:transform .35s ease,color .35s ease}
.step-card:hover .step-number{transform:translateX(6px)}
.step-card:hover .step-title{color:#556F1B;transform:translateX(6px)}
.step-card .step-text{transition:transform .35s ease}
.step-card:hover .step-text{transform:translateX(6px)}
.servico-card-title{transition:color .3s ease,transform .3s ease}
.servico-card:hover .servico-card-title{color:#556F1B;transform:translateY(-2px)}
.servico-card-lista li::before{transition:transform .3s ease}
.servico-card-lista li:hover::before{transform:scale(1.7)}
.tema-verde,.tema-dourado,.tema-azul{transition:color .3s ease,transform .3s ease}
.tema-verde::before,.tema-dourado::before,.tema-azul::before{transition:transform .3s ease}
.tema-verde:hover,.tema-dourado:hover,.tema-azul:hover{color:#556F1B !important;transform:translateY(-3px);background:none !important}
.tema-verde:hover::before,.tema-dourado:hover::before,.tema-azul:hover::before{transform:scale(1.8)}
.form-submit-btn,.contact-btn{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
.form-submit-btn:hover,.contact-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(27,58,92,.18)}

/* entrada em cascata (só com JS ativo) */
.js .temas-container-wrap.fade-in-element>span{opacity:0;transform:translateY(8px)}
.js .temas-container-wrap.fade-in-element.is-visible>span{opacity:1;transform:translateY(0);transition:opacity .4s ease,transform .4s ease,color .3s ease}
.js .temas-container-wrap.is-visible>span:nth-child(1){transition-delay:0ms}
.js .temas-container-wrap.is-visible>span:nth-child(2){transition-delay:35ms}
.js .temas-container-wrap.is-visible>span:nth-child(3){transition-delay:70ms}
.js .temas-container-wrap.is-visible>span:nth-child(4){transition-delay:105ms}
.js .temas-container-wrap.is-visible>span:nth-child(5){transition-delay:140ms}
.js .temas-container-wrap.is-visible>span:nth-child(6){transition-delay:175ms}
.js .temas-container-wrap.is-visible>span:nth-child(7){transition-delay:210ms}
.js .temas-container-wrap.is-visible>span:nth-child(8){transition-delay:245ms}
.js .temas-container-wrap.is-visible>span:nth-child(9){transition-delay:280ms}
.js .temas-container-wrap.is-visible>span:nth-child(10){transition-delay:315ms}
.js .temas-container-wrap.is-visible>span:nth-child(11){transition-delay:350ms}
.js .temas-container-wrap.is-visible>span:hover{transition-delay:0ms}
.js .step-card.fade-in-element:nth-child(2){transition-delay:.06s}
.js .step-card.fade-in-element:nth-child(3){transition-delay:.12s}
.js .step-card.fade-in-element:nth-child(4){transition-delay:.18s}
@media (max-width:900px){
  .temas-container-wrap{display:flex;flex-wrap:wrap;gap:.4rem 0}
  .servicos-grid[style*="repeat(2"],.servicos-grid[style*="repeat(3"]{grid-template-columns:1fr !important}
  .form-submit-btn,.contact-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .step-card:hover .step-number,.step-card:hover .step-title,.step-card:hover .step-text,.servico-card:hover .servico-card-title,.tema-verde:hover,.tema-dourado:hover,.tema-azul:hover,.form-submit-btn:hover,.contact-btn:hover{transform:none}
  .js .temas-container-wrap.fade-in-element>span{opacity:1;transform:none}
}
.contato-form .form-submit-btn,.contato-form .contact-btn{align-self:flex-start;width:auto;display:inline-block}
.contato-form .form-disclaimer{text-align:left}
@media (max-width:900px){.contato-form .form-submit-btn,.contato-form .contact-btn{align-self:stretch;width:100%}}

.servico-card{overflow:visible}

/* títulos escalonados: 1ª linha dourada, 2ª verde em itálico, mais à direita */
.caminho-heading span:last-child,
.como-ajudar-title span:last-child,
.temas-frequentes-title span:last-child,
.contato-title-part2{display:inline-block;margin-left:3.5rem}
@media (max-width:768px){
  .caminho-heading span:last-child,.como-ajudar-title span:last-child,.temas-frequentes-title span:last-child,.contato-title-part2{margin-left:1.5rem}
}
/* contato: e-mail e telefone */
a.contato-info-value{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;text-decoration-thickness:1px;transition:color .25s ease,text-decoration-color .25s ease}
a.contato-info-value:hover{color:#556F1B;text-decoration-color:#556F1B}

/* contato: textos em azul (mesmo azul dos títulos de cartão) */
.contato-info-value{color:#1B3A5C}
a.contato-info-value:hover{color:#556F1B;text-decoration-color:#556F1B}

/* divisor com rótulo (Sobre mim) e rótulo de Informações Legais: traço cinza fino + bolinha dourada */
.divider-labeled{display:flex;align-items:center;gap:1rem;max-width:1100px;margin:0 auto}
.divider-labeled-text,.policies-legal-text{font-family:'DM Sans','DM Sans Fallback',system-ui,sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#8A6508;font-weight:400;white-space:nowrap}
.divider-labeled-line,.policies-legal-line{flex:1;height:1px;background-color:var(--linha-fina)}
.divider-labeled-dot{width:6px;height:6px;border-radius:50%;background:#B8860B;flex:none}
.policies-lead{margin-bottom:0}
.policies-legal-label{margin:5.5rem 0 2.5rem}
@media (max-width:768px){.divider-labeled{padding:0 1.5rem}.policies-legal-label{margin:3.5rem 0 2rem}}

/* contato: sublinhado que cresce da esquerda para a direita, em verde-oliva */
a.contato-info-value{text-decoration:none !important;padding-bottom:3px;background-image:linear-gradient(#556F1B,#556F1B);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;transition:color .3s ease,background-size .3s ease}
a.contato-info-value:hover{color:#556F1B;background-size:100% 1px}

/* Sobre mim: traço cinza fino + bolinha dourada ao lado do título */
.sobre-title-row{display:flex;align-items:center;gap:1.25rem;margin-bottom:.25rem}
.sobre-title-row .section-heading-gold{margin-bottom:0 !important;white-space:nowrap}
.sobre-title-row .divider-labeled-line{margin-top:.35rem}
.sobre-title-row .divider-labeled-dot{margin-top:.35rem}

/* Tom único para todos os fios decorativos (cruz, colunas, divisores, títulos, rodapé de políticas) */
:root{--linha-fina:#DDD6C4}
.divider-line{background-color:var(--linha-fina)}
.policies-meta{border-top-color:var(--linha-fina)}

/* botão Agendar Consulta: contorno azul em repouso; no hover/foco tudo verde (fundo e contorno) */
.btn-agendar{border-color:var(--navy)}
.btn-agendar:hover,.btn-agendar:focus,.btn-agendar:active{border-color:#556F1B}
.btn-agendar:hover,.btn-agendar:focus,.btn-agendar:active,
.nav-item-mobile .btn-agendar:hover,.nav-item-mobile .btn-agendar:focus,.nav-item-mobile .btn-agendar:active{background-color:#556F1B !important;border-color:#556F1B !important;color:#FFFFFF !important}

/* botões secundários e de envio: mesmo verde escuro do Agendar Consulta no hover */
.btn-saiba:hover,.btn-saiba-sobre:hover,.form-submit-btn:hover,.contact-btn:hover{background-color:#556F1B !important;border-color:#556F1B !important;color:#FFFFFF !important}

/* ===== "Saiba Mais" (Sobre mim): link editorial com fio dourado e seta ===== */
.btn-saiba-sobre{
  display:inline-flex;align-items:center;gap:.65rem;align-self:flex-start;
  margin-top:2rem;padding:0 0 .45rem;border:0;border-radius:0;
  background-color:transparent;
  background-image:linear-gradient(#556F1B,#556F1B),linear-gradient(#B8860B,#B8860B);
  background-repeat:no-repeat;background-position:left bottom;
  background-size:0 1px,100% 1px;
  color:var(--navy);font-size:.9375rem;font-weight:500;letter-spacing:.04em;text-decoration:none;
  transition:background-size .45s ease,color .3s ease;
}
.btn-saiba-sobre::after{
  content:"→";font-size:1.15rem;line-height:1;color:var(--navy);
  transition:transform .35s ease,color .3s ease;
}
.btn-saiba-sobre:hover,.btn-saiba-sobre:focus-visible,.btn-saiba-sobre:active{
  background-color:transparent !important;border:0 !important;
  background-size:100% 1px,100% 1px;
  color:#556F1B !important;
}
.btn-saiba-sobre:hover::after,.btn-saiba-sobre:focus-visible::after{transform:translateX(6px);color:#556F1B}
.btn-saiba-sobre:focus-visible{outline:2px solid #556F1B;outline-offset:6px}

/* ===== Sobre: Princípios Fundamentais em formato de folha ===== */
.principios-grid{gap:8px !important}
.principio-card{padding:2rem 2.25rem !important;border-radius:0 !important}
.principio-card:nth-child(1),.principio-card:nth-child(4){border-radius:0 56px 0 56px !important}
.principio-card:nth-child(2),.principio-card:nth-child(3){border-radius:56px 0 56px 0 !important}
.principio-card-title{transition:color .3s ease}
.principio-card:hover .principio-card-title{color:#8A6508}
@media (max-width:768px){
  .principio-card:nth-child(n){border-radius:0 40px 0 40px !important;padding:1.75rem 1.75rem !important}
}

/* ===== Sobre: Terapeuta / Paciente com numeração romana ===== */
.limitacoes-grid{gap:0 !important}
.limitacoes-col{background:none !important;border-radius:0 !important;padding:.5rem 2rem !important;transform:none !important}
.limitacoes-col:first-child{border-right:1px solid var(--linha-fina)}
.limitacoes-list{list-style:none !important;padding-left:0 !important;counter-reset:it}
.limitacoes-list li{counter-increment:it;position:relative;padding:.8rem 1rem .8rem 4.3rem;margin:0 0 .35rem !important;background-color:transparent;transition:background-color .3s ease}
.limitacoes-list li::before{content:counter(it,upper-roman);position:absolute;left:1rem;top:.65rem;font-family:var(--font-serif);font-style:italic;font-size:1.5rem;color:#B8860B;transition:color .3s ease}
.limitacoes-list li:nth-child(4)::before{content:"IIII"}
.limitacoes-list li:hover{background-color:#F2EEDD}
.limitacoes-list li:hover::before{color:#556F1B}
.limitacoes-col-title{margin-bottom:1rem !important;padding-left:1rem;transition:color .3s ease}
.limitacoes-col:hover .limitacoes-col-title{color:#556F1B}
@media (max-width:768px){
  .limitacoes-col{padding:.5rem 0 !important}
  .limitacoes-col:first-child{border-right:0;border-bottom:1px solid var(--linha-fina);padding-bottom:1.5rem !important;margin-bottom:1.5rem}
  .limitacoes-list li{padding-left:3.6rem}
}

/* ===== Sobre: "Pronto para começar?" em formato de folha, sem contorno ===== */
.sobre-cta-box{border:0 !important;box-shadow:none !important;border-radius:0 110px 0 110px !important}
@media (max-width:768px){
  .sobre-cta-box{border-radius:0 56px 0 56px !important}
}

/* ===== Sobre: caixa "espaço de encontro" em formato de folha ===== */
.sobre-bar-box{border:0 !important;border-radius:0 56px 0 56px !important;padding:2rem 2.5rem !important;box-shadow:none !important;background-color:#F5F6F0;transition:background-color .3s ease,transform .3s ease !important}
.sobre-bar-box:hover{background-color:#F2EEDD;box-shadow:none !important;transform:translateY(-2px)}
@media (max-width:768px){
  .sobre-bar-box{border-radius:0 40px 0 40px !important;padding:1.5rem 1.75rem !important}
}

/* ===== Home: aspas da citação do Caminho ficam verdes no hover ===== */
.caminho-quote::before,.caminho-quote::after{transition:color .35s ease}
.caminho-quote:hover::before,.caminho-quote:hover::after{color:#556F1B}

/* ===== FAQ: perguntas em linhas com numeração romana ===== */
.faq-container{max-width:760px !important;gap:0 !important;counter-reset:q}
.accordion-item{background:none !important;border:0 !important;border-top:1px solid var(--linha-fina) !important;border-radius:0 !important;counter-increment:q;overflow:visible !important}
.accordion-item:last-child{border-bottom:1px solid var(--linha-fina) !important}
.accordion-item.active{border-color:var(--linha-fina) !important}
.accordion-trigger{position:relative;padding:1.3rem 1rem 1.3rem 5rem !important;transition:background-color .3s ease,color .3s ease !important}
.accordion-trigger::before{content:counter(q,upper-roman);position:absolute;left:1rem;top:1.1rem;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.5rem;color:#B8860B;transition:color .3s ease}
.accordion-item:nth-child(4) .accordion-trigger::before{content:"IIII"}
.accordion-trigger:hover{background-color:#F2EEDD !important;color:#556F1B !important}
.accordion-trigger:hover::before{color:#556F1B}
.accordion-icon::before,.accordion-icon::after{background-color:#B8860B !important}
.accordion-trigger:hover .accordion-icon::before,.accordion-trigger:hover .accordion-icon::after{background-color:#556F1B !important}
.accordion-item.active .accordion-trigger,.accordion-item.active .accordion-trigger::before{color:#556F1B}
.accordion-body{background:none !important;padding-left:5rem !important;padding-right:1rem !important}
.accordion-item.active .accordion-body{padding:.25rem 1rem 1.75rem 5rem !important}
/* Título da política com fios laterais */
.politica-titulo-wrapper .politica-titulo{flex-direction:row !important;align-items:center !important;max-width:1300px !important;gap:1.5rem !important}
.politica-titulo .linha{flex:1 !important;width:auto !important;min-width:70px !important}
.politica-titulo h2{white-space:normal !important;text-wrap:balance;max-width:900px}
/* Caixas em folha */
.faq-politica-closing{border:0 !important;border-radius:0 56px 0 56px !important;padding:2rem 2.5rem !important;box-shadow:none !important;transition:background-color .3s ease,transform .3s ease !important}
.faq-politica-closing:hover{background-color:#F2EEDD !important;box-shadow:none !important;transform:translateY(-2px) !important}
.faq-cta-box{border:0 !important;box-shadow:none !important;border-radius:0 110px 0 110px !important}
@media (max-width:768px){
  .accordion-trigger{padding:1.15rem .75rem 1.15rem 3.9rem !important;font-size:1.1rem}
  .accordion-trigger::before{left:.5rem;top:1rem;font-size:1.3rem}
  .accordion-body{padding-left:3.9rem !important;padding-right:.75rem !important}
  .accordion-item.active .accordion-body{padding:.25rem .75rem 1.5rem 3.9rem !important}
  .politica-titulo-wrapper .politica-titulo{flex-direction:column !important;gap:1rem !important}
  .politica-titulo .linha{width:100% !important;flex:none !important}
  .faq-politica-closing{border-radius:0 40px 0 40px !important;padding:1.5rem 1.75rem !important}
  .faq-cta-box{border-radius:0 56px 0 56px !important}
}

/* ===== Numerais romanos: dourado fixo, mesmo no hover (Sobre e FAQ) ===== */
.limitacoes-list li:hover::before{color:#B8860B !important}
.accordion-trigger:hover::before,.accordion-item.active .accordion-trigger::before{color:#B8860B !important}

/* ===== Contato: subtítulo do formulário em peso leve, com "Escreva aqui." em itálico verde ===== */
.contato-form-subtitle{font-weight:500}
.contato-form-subtitle em{font-style:italic;color:#6B8E23;font-weight:565}

/* ===== Rodapé adaptável ===== */
.footer-brand-wrap{flex:none;flex-wrap:nowrap;white-space:nowrap;max-width:100%}
.footer-brand-text{white-space:nowrap;min-width:0}
.footer-brand-title{white-space:nowrap;font-size:clamp(1.75rem,8.2vw,2.4rem)}
.footer-brand-crp{white-space:nowrap;font-size:clamp(.6rem,2.6vw,.75rem);letter-spacing:clamp(.04em,.6vw,.1em)}
.footer-brand-wrap .brand-logo-container,.footer-brand-wrap .brand-logo-fallback{width:clamp(56px,16vw,80px);height:clamp(56px,16vw,80px)}
.footer-brand-wrap .brand-logo-img{height:clamp(56px,16vw,80px);max-width:clamp(56px,16vw,80px)}
.footer-copyright{white-space:normal}
.footer-links{flex-wrap:wrap;white-space:normal;row-gap:.5rem;padding-left:0}
@media (max-width:1240px){
  footer.site-footer{padding-left:1.25rem;padding-right:1.25rem}
  .footer-inner{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:1.5rem}
  .footer-brand-wrap{justify-content:center}
  .footer-brand-text{align-items:center}
  .footer-copyright{flex:none;padding:0}
  .footer-links{flex:none;justify-content:center;column-gap:1.25rem}
}

/* ===== Temas frequentes: quebra de linha em telas médias (evita corte lateral) ===== */
@media (min-width:901px) and (max-width:1240px){
  .temas-container-wrap{display:flex;flex-wrap:wrap;gap:.4rem 0}
}

/* ===== Logo do rodapé: mantém o círculo perfeito ao encolher (o HTML trava height:80px inline) ===== */
.footer-brand-wrap .brand-logo-img{width:clamp(56px,16vw,80px) !important;height:clamp(56px,16vw,80px) !important;max-width:none !important;aspect-ratio:1/1;object-fit:contain !important;flex:none}

/* ===== Cabeçalho: logo e nome sempre na mesma linha, encolhendo junto com a tela ===== */
.brand-wrap{flex:0 1 auto;min-width:0;gap:clamp(.45rem,2.2vw,.75rem);white-space:nowrap}
.brand-text-block{white-space:nowrap;min-width:0}
.brand-logo-container,.brand-logo-fallback{width:clamp(40px,12.5vw,55px);height:clamp(40px,12.5vw,55px)}
.brand-logo-img{width:clamp(40px,12.5vw,55px) !important;height:clamp(40px,12.5vw,55px) !important;max-width:none !important;aspect-ratio:1/1;object-fit:contain !important;flex:none}
.brand-name{white-space:nowrap;font-size:clamp(1.4rem,7.2vw,1.9rem)}
.brand-badge{white-space:nowrap;font-size:clamp(.5rem,2.45vw,.7rem);letter-spacing:clamp(.03em,.55vw,.1em)}
@media (max-width:900px){
  .header-inner{padding-left:1rem;padding-right:1rem;gap:.75rem}
}

/* ===== Hero: "ROLAR" mais embaixo, perto da borda, sem encostar no botão ===== */
.hero-scroll-wrap{bottom:1.5rem}
@media (max-width:900px){
  .hero-section{padding-bottom:6rem}
}

/* ===== Cabeçalho em telas médias (769 a 1100px): o nome não encosta no menu ===== */
@media (min-width:769px) and (max-width:1100px){
  .brand-wrap{flex:none}
  .nav-menu{gap:clamp(.8rem,2.4vw,2.2rem)}
  .header-inner{gap:clamp(.75rem,2vw,1.5rem)}
}
@media (min-width:769px) and (max-width:900px){
  .nav-menu .nav-item{font-size:.95rem}
  .header-inner > .btn-agendar{padding-left:1rem;padding-right:1rem;font-size:.85rem}
}

/* ===== Sobre: caixa final não ultrapassa a tela em tablet pequeno (769 a 900px) ===== */
@media (min-width:769px) and (max-width:900px){
  .sobre-cta-box,.faq-cta-box{margin-left:-1rem !important;margin-right:-1rem !important}
}

/* ===== Serviços empilhados (até 900px): todos os cartões alinhados à esquerda, separados por linha ===== */
@media (max-width:900px){
  .servico-card,.servico-card + .servico-card{padding:1.5rem 0;border-left:0;border-top:1px solid var(--linha-fina)}
  .servico-card:first-child{border-top:0}
}

/* ===== Fontes hospedadas no próprio site (sem esperar o Google Fonts): evita a troca de fonte ao abrir cada página ===== */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:block;src:url('fonts/cormorant-garamond-latin-wght-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:block;src:url('fonts/cormorant-garamond-latin-wght-italic.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:block;src:url('fonts/dm-sans-latin-wght-normal.woff2') format('woff2')}

/* ===== FAQ: numeral romano centralizado na altura do texto da pergunta (como o "+") ===== */
.accordion-trigger::before{top:50% !important;transform:translateY(-50%);line-height:1}

/* ===== Fontes provisórias com as mesmas medidas das fontes do site: se a fonte demorar, nada pula nem engrossa ===== */
@font-face{font-family:'DM Sans Fallback';src:local('Arial'),local('Liberation Sans'),local('Helvetica');font-weight:100 1000;size-adjust:105%;ascent-override:94.3%;descent-override:29.5%;line-gap-override:0%}
@font-face{font-family:'Cormorant Fallback';font-style:normal;font-weight:300 700;src:local('Times New Roman'),local('Liberation Serif'),local('Times');size-adjust:96.8%;ascent-override:95%;descent-override:30%;line-gap-override:0%}
@font-face{font-family:'Cormorant Fallback';font-style:italic;font-weight:300 700;src:local('Times New Roman Italic'),local('Liberation Serif Italic'),local('Times Italic');size-adjust:96.8%;ascent-override:95%;descent-override:30%;line-gap-override:0%}

/* O 14º item segue a numeração romana aditiva definida para o site. */
.faq-container > .accordion-item:nth-child(14) .accordion-trigger::before{content:"XIIII"}

/* ===== Botão "Agendar consulta" do cabeçalho: largura fixa, não estica quando a fonte termina de carregar ===== */
@media (min-width:769px){
  .header-inner > .btn-agendar{width:172px;flex:none;justify-content:center}
}
@media (min-width:769px) and (max-width:900px){
  .header-inner > .btn-agendar{width:156px}
}

/* ===== Nome no cabeçalho: largura fixa (em relação ao tamanho da fonte), o menu não anda quando a assinatura termina de carregar ===== */
.brand-name{width:5.9em}
.footer-brand-title{white-space:nowrap}

/* ===== FAQ: card final com botão de mensagem (WhatsApp) e link discreto para agendar ===== */
.btn-mensagem{background-color:var(--navy);color:#FFFFFF;font-family:var(--font-sans),'DM Sans Fallback',sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.04em;padding:.65rem 1.4rem;border-radius:var(--radius-sm);border:1px solid var(--navy);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;margin-top:.5rem;transition:background-color .25s ease,border-color .25s ease}
.btn-mensagem:hover,.btn-mensagem:focus-visible{background-color:#556F1B;border-color:#556F1B;color:#FFFFFF}
.btn-mensagem:active{transform:scale(.98)}
.faq-cta-decidiu{margin-top:1.1rem;font-size:.9375rem;color:rgba(29,36,71,.72)}
.agendar-link{font:inherit;font-weight:500;color:var(--navy);background-color:transparent;background-image:linear-gradient(#556F1B,#556F1B),linear-gradient(#B8860B,#B8860B);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px,100% 1px;border:0;padding:0 0 .3rem;cursor:pointer;letter-spacing:.02em;transition:background-size .45s ease,color .3s ease}
.agendar-link:hover,.agendar-link:focus-visible{background-size:100% 1px,100% 1px;color:#556F1B}

/* ===== Seção Formação (Sobre) ===== */
.formacao-list{border-top:1px solid var(--linha-fina);margin-top:1.5rem}
.formacao-row{display:grid;grid-template-columns:13rem 1fr;gap:2rem;padding:1.4rem .25rem;border-bottom:1px solid var(--linha-fina)}
.formacao-label{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:#556F1B;font-weight:500;padding-top:.35rem}
.formacao-text p{margin:0 0 .35rem;font-size:1.05rem;line-height:1.6;color:var(--navy)}
.formacao-text p:last-child{margin-bottom:0}
.formacao-inst{font-size:.9rem !important;color:rgba(29,36,71,.65) !important}
.formacao-text p + .formacao-inst{margin-top:-.2rem}
.formacao-inst + p{margin-top:.9rem}
.formacao-desde{display:inline-block;margin-left:.4rem;font-size:.85rem;color:rgba(29,36,71,.6);font-style:italic}
@media (max-width:768px){.formacao-row{grid-template-columns:1fr;gap:.5rem;padding:1.25rem 0}.formacao-label{padding-top:0}.formacao-desde{display:block;margin-left:0}}

/* ===== Folhas de fechamento: moldura dourada fina (Sobre e FAQ) ===== */
.sobre-cta-box,.faq-cta-box{background-color:#F5F6F0 !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;position:relative;margin-left:-4rem !important;margin-right:-4rem !important;padding:2.6rem 1rem !important}
@media (min-width:1200px){.sobre-cta-box,.faq-cta-box{margin-left:-10rem !important;margin-right:-10rem !important}}
@media (min-width:1000px) and (max-width:1199px){.sobre-cta-box,.faq-cta-box{margin-left:-6rem !important;margin-right:-6rem !important}}
@media (min-width:901px) and (max-width:999px){.sobre-cta-box,.faq-cta-box{margin-left:-3rem !important;margin-right:-3rem !important}}
.sobre-cta-box::before,.faq-cta-box::before{content:"";position:absolute;top:10px;left:10px;width:calc(200% - 40px);height:calc(200% - 40px);border:1px solid #B8860B;transform:scale(.5);transform-origin:0 0;pointer-events:none}
.faq-cta-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2.5rem;text-align:left !important;padding-left:3.5rem !important;padding-right:3.5rem !important}
.faq-cta-l .faq-cta-title,.faq-cta-l .faq-cta-text{text-align:left !important;margin-left:0 !important}
.faq-cta-r{display:flex;flex-direction:column;align-items:center;gap:.4rem}
.faq-cta-r .faq-cta-decidiu{margin:.4rem 0 0}
@media (max-width:900px){
  .sobre-cta-box,.faq-cta-box{margin-left:-1rem !important;margin-right:-1rem !important}
}
@media (max-width:768px){
  .faq-cta-box{grid-template-columns:1fr;gap:1.25rem;text-align:center !important;padding:2.4rem 1.25rem !important}
  .faq-cta-l .faq-cta-title,.faq-cta-l .faq-cta-text{text-align:center !important}
}

/* ===== Hover discreto nos blocos da Home e citações em peso 500 ===== */
.step-card,.servico-card{transition:background-color .35s ease,transform .35s ease,box-shadow .35s ease}
.step-card:hover{background-color:#EFE9D5;transform:translateY(-2px)}
.servico-card:hover{background-color:#F2EEDD;transform:translateY(-2px)}
#com-quem .servico-card:hover{background-color:#EFE9D5}
/* fundo do hover fica dentro do próprio bloco; o espaço interno é compensado com margem negativa, então o texto não muda de lugar */
@media (min-width:1024px){
  .step-card:nth-child(odd){padding-left:.5rem;margin-left:-.5rem}
  .step-card:nth-child(even){padding-right:.5rem;margin-right:-.5rem}
}
@media (min-width:1024px){
  .servico-card{padding-top:1.25rem;padding-bottom:1.25rem;margin-top:-.75rem;margin-bottom:-.75rem}
  .servico-card:first-child{padding-left:.5rem;margin-left:-.5rem}
  .servico-card:last-child{padding-right:.5rem;margin-right:-.5rem}
}
@media (min-width:1200px){
  .step-card:nth-child(odd){padding-left:1.5rem;margin-left:-1.5rem}
  .step-card:nth-child(even){padding-right:1.5rem;margin-right:-1.5rem}
  .servico-card:first-child{padding-left:1.25rem;margin-left:-1.25rem}
  .servico-card:last-child{padding-right:1.25rem;margin-right:-1.25rem}
}
@media (prefers-reduced-motion:reduce){.step-card:hover,.servico-card:hover{transform:none}}

/* ===== Títulos da Home em peso 500: temas, serviços e passos do caminho ===== */
.tema-verde,.tema-dourado,.tema-azul,.servico-card-title,.step-title{font-weight:500}

/* ===== Hover do caminho mais ágil ===== */
.step-card{transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}
.step-card .step-number,.step-card .step-title{transition:transform .25s ease,color .25s ease}
.step-card .step-text{transition:transform .25s ease}

/* ===== Títulos grandes da Home em peso 400 (teste) ===== */
.caminho-heading,.como-ajudar-title,.temas-frequentes-title,.contato-title,.caminho-heading span,.como-ajudar-title span,.temas-frequentes-title span,.contato-title span{font-weight:400 !important}

/* ===== "Com quem costumo trabalhar": mesmo espaço entre a divisória e o título que o "Como posso ajudar" ===== */
#com-quem > div > div:first-child{margin-top:0 !important}
/* ===== Subtítulos dos serviços em 27px (teste) ===== */
.servico-card-title{font-size:28px}
.step-title{font-size:30px}
@media (max-width:1023px){.servico-card-title{white-space:normal}}

/* Artigo do blog: meta, autor, relacionados */
.blog-post-card-titulo {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.pm-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .7rem;font-family:'DM Sans','DM Sans Fallback',sans-serif;font-size:.78rem;color:var(--olive-text);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6rem}
.pm-meta .dot{width:3px;height:3px;border-radius:50%;background:#B8860B;display:inline-block}
.pm-autor{display:flex;align-items:center;gap:.7rem;margin:0 0 2rem;padding-bottom:1.4rem;border-bottom:1px solid #E5E5E0;font-family:'DM Sans','DM Sans Fallback',sans-serif;font-size:.9rem;color:#374151}
.pm-autor img{width:38px;height:38px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.pm-autor b{font-weight:500;color:#1D2447;display:block;line-height:1.2}
.pm-autor span{font-size:.8rem;opacity:.8}
.pm-rel{margin-top:3.5rem;padding-top:2rem;border-top:1px solid #E5E5E0}
.pm-rel h2{font-family:'Cormorant Garamond','Cormorant Fallback',Georgia,serif;font-weight:500;font-size:1.6rem;color:#1D2447;margin:0 0 .4rem}
.pm-rel a.blog-post-card{display:block;padding:1.1rem 0;border-bottom:1px solid #E5E5E0;text-decoration:none}
.pm-rel a.blog-post-card:last-child{border-bottom:0}

/* Artigo em hierarquia editorial, inspirada na referência Substack */
.faq-page-content.blog-article-layout{max-width:960px}
.blog-post-detalhe{max-width:850px;margin:0 auto}
.blog-post-detalhe .pm-autor{margin:1.25rem 0 1.35rem;padding:0;border:0}
.blog-post-detalhe-capa{display:block;width:100%;height:auto;max-height:none;margin:0 0 1.5rem;object-fit:contain;border-radius:8px}
.blog-post-capa-separador{height:0;border:0;border-top:1px solid #E5E5E0;margin:0 0 1.6rem}
.blog-post-conteudo{max-width:780px;margin:0 auto}
@media(max-width:700px){
  .faq-page-content.blog-article-layout{padding-left:1.1rem;padding-right:1.1rem}
  .blog-post-detalhe-capa{height:auto;margin-bottom:1.2rem}
}

/* Títulos de página em peso 400 */
#sobre-mim .section-heading-gold,.sobre-page-title,.faq-page-title{font-weight:400 !important}

/* Políticas: caixa "Compromisso" no padrão novo (sem sombra; hover dourado pastel com leve elevação) */
.policy-compromisso{box-shadow:none !important;transition:background-color .3s ease,border-color .3s ease,transform .3s ease !important}
.policy-compromisso:hover{background-color:#F2EEDD !important;border-left-color:#B8860B !important;box-shadow:none !important;transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.policy-compromisso:hover{transform:none}}

/* Políticas: títulos em peso 400 */
.policies-main-title,.policies-subtitle-title{font-weight:400 !important}

/* Rodapé: ícones em caixinhas, linha fina e copyright embaixo */
.footer-inner{flex-wrap:wrap !important;gap:1.4rem 2rem !important}
.footer-icons{display:flex;gap:0;flex:none}
.footer-icons a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:0;color:#B8860B;background:transparent;text-decoration:none;transition:color .3s ease}
.footer-icons a svg{width:26px;height:26px}
.footer-icons a:hover,.footer-icons a:focus-visible{color:#E3B85A}
.footer-icons a:focus-visible{outline:1px solid #E3B85A;outline-offset:2px}
.footer-sep{flex:0 0 100%;width:100%;margin:0;border:0;border-top:1px solid rgba(255,255,255,.12)}
.footer-bottom{flex:0 0 100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.4rem 1.5rem;text-align:center}
.footer-bottom .footer-copyright{flex:none;padding:0;white-space:normal}
@media(max-width:700px){.footer-icons{justify-content:center}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.footer-icons a{transition:none}}

/* Cabeçalho: vidro leve (linha de baixo na cor original) */
header.site-header{background-color:transparent !important;border-bottom:1px solid var(--border-soft) !important}
/* O vidro fica numa camada atrás do conteúdo (e não no próprio cabeçalho), para o menu do celular também poder ter vidro */
header.site-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:rgba(250,250,248,.72);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15)}
/* Menu do celular: mesmo vidro do cabeçalho */
@media (max-width:768px){
  .nav-menu{background-color:rgba(250,250,248,.72) !important;-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15)}
}
.footer-bottom .footer-copyright{color:#A3ABCC}

/* Rodapé: copyright centralizado, bolinha dourada e política à direita dele; empilhado abaixo de 800px */
.footer-bottom{display:grid !important;grid-template-columns:1fr auto 1fr;align-items:center;gap:0 !important}
.footer-bottom .footer-copyright{grid-column:2;text-align:center}
.footer-bottom .footer-link{grid-column:3;justify-self:start;margin-left:1.1rem;padding-left:1.1rem;position:relative;font-size:.85rem}
.footer-bottom .footer-link::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#B8860B}
@media(max-width:800px){
  .footer-bottom{display:flex !important;flex-direction:column;gap:.6rem !important}
  .footer-bottom .footer-link{order:-1;margin-left:0;padding-left:0}
  .footer-bottom .footer-link::before{display:none}
}

/* ===== Hero sobe para trás do cabeçalho de vidro (a altura do cabeçalho vem de index-scroll.js) ===== */
.hero-section{margin-top:calc(-1 * var(--hdr-h,90px));padding-top:calc(2rem + var(--hdr-h,90px));min-height:calc(85vh + var(--hdr-h,90px))}
@media(max-width:768px){.hero-section{padding-top:calc(2.5rem + var(--hdr-h,90px));min-height:calc(75vh + var(--hdr-h,90px))}}

/* ===== Hero no celular: título em duas linhas ("Um espaço para" / "escuta e elaboração") e véu mais leve ===== */
@media(max-width:768px){
  .hero-title{font-size:clamp(2rem,calc((100vw - 3rem)/6.55),3.6rem)}
  .hero-overlay{background:rgba(245,240,232,.75)}
}

/* ===== Hero no celular: frase de apoio em três linhas fixas, letra ajustada à largura ===== */
.br-mobile{display:none}
@media(max-width:768px){
  .br-mobile{display:inline}
  .hero-subtitle{font-size:clamp(.8rem,calc((100vw - 3rem)/24.2),1.125rem)}
}
/* telas muito estreitas (até 339px): a frase quebra sozinha, para a letra não ficar minúscula */
@media(max-width:339px){
  .br-mobile{display:none}
  .hero-subtitle{font-size:.95rem}
}

/* ===== Cards de serviço: no hover, o título vai a verde e as etiquetas a dourado ===== */
.servico-card .servico-tag,.servico-card .servico-tag:not(:last-child)::after{transition:color .3s ease}
.servico-card:hover .servico-tag,.servico-card:hover .servico-tag:not(:last-child)::after{color:#8A6508}

/* ===== Hero no celular: véu a 70%, título peso 400, frase peso 500 ===== */
@media(max-width:768px){
  .hero-overlay{background:rgba(245,240,232,.7)}
  .hero-title,.hero-title em{font-weight:400}
  .hero-subtitle{font-weight:500}
}
@media(min-width:340px) and (max-width:768px){
  .hero-subtitle{font-size:clamp(.7rem,calc((100vw - 3rem)/25.4),1.125rem)}
}

/* ===== Hero em todas as telas: título peso 400, frase de apoio peso 500 ===== */
.hero-title,.hero-title em{font-weight:400}
.hero-subtitle{font-weight:500}

/* ===== Hero no computador e telas médias: véu mais leve sobre a imagem do divã (opção C) ===== */
@media(min-width:769px){
  .hero-overlay{background:linear-gradient(to right,#F5F0E8 0%,#F5F0E8 30%,rgba(245,240,232,.62) 50%,rgba(245,240,232,.22) 75%,rgba(245,240,232,0) 100%)}
}

/* ===== Hero no celular: título um pouco maior (48,5 px em 360 px de largura) ===== */
@media(max-width:768px){
  .hero-section{padding-left:1.25rem;padding-right:1.25rem}
  .hero-title{font-size:clamp(2rem,calc((100vw - 2.5rem)/6.6),3.6rem)}
}

/* Citação do meio da página inicial: uma linha no computador e no tablet; no celular, duas linhas (quebra depois de "dito,"), um pouco mais larga */
.br-quote{display:none}
@media (max-width:768px){
  .caminho-quote{max-width:none;padding-left:0;padding-right:0}
}
@media (max-width:700px){
  .br-quote{display:inline}
  .caminho-quote{font-size:clamp(1.05rem,5.2vw,1.7rem);padding-left:1rem;padding-right:1rem}
}

/* Citação "Não prometo cura": peso 500, 23 px; quebra depois de "precioso:" em telas médias e grandes */
.impact-quote{font-size:23px !important;font-weight:500}
.br-citacao{display:none}
@media (min-width:600px){.br-citacao{display:inline}}
/* Notebooks pequenos e tablets deitados: a coluna ao lado da foto é estreita demais para "...precioso:" caber numa linha; o texto se distribui sozinho, em linhas equilibradas */
@media (min-width:901px) and (max-width:1140px){.br-citacao{display:none}}
.impact-quote{text-wrap:balance}


/* ===== Entrada suave ao rolar (híbrido A): sobe 30 px + desfoque leve + pouso suave ===== */
@keyframes entradaSuave{
  0%{opacity:0;transform:translateY(30px);filter:blur(4px)}
  60%{filter:blur(0)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
.js .fade-in-element{opacity:0;transform:none}
.js .fade-in-element.is-visible{opacity:1;transform:none;animation:entradaSuave .9s cubic-bezier(.22,1,.36,1) backwards}
@media (prefers-reduced-motion:reduce){
  .js .fade-in-element{opacity:1}
  .js .fade-in-element.is-visible{animation:none}
}


/* ===== Página Sobre: entrada suave ao carregar o topo (título, frase e foto) ===== */
@keyframes entradaPagina{
  0%{opacity:0;transform:translateY(20px);filter:blur(4px)}
  60%{filter:blur(0)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
.sobre-page-hero .sobre-page-title,
.sobre-page-hero .sobre-page-subtitle,
.sobre-page-hero .sobre-photo-wrap{animation:entradaPagina .9s cubic-bezier(.22,1,.36,1) backwards}
.sobre-page-hero .sobre-page-subtitle{animation-delay:120ms}
.sobre-page-hero .sobre-photo-wrap{animation-delay:240ms}
@media (prefers-reduced-motion:reduce){
  .sobre-page-hero .sobre-page-title,
  .sobre-page-hero .sobre-page-subtitle,
  .sobre-page-hero .sobre-photo-wrap{animation:none}
}


/* Home: manter o primeiro container na dobra, sem revelar a seção seguinte. */
#main-content #hero.hero-section {
  box-sizing: border-box !important;
  min-height: calc(100vh - 1px) !important;
  min-height: calc(100svh - 1px) !important;
  height: auto !important;
  max-height: none !important;
}

/* Ações principais: luz baixa, mantendo o visual editorial do site. */
.btn-agendar,
.nav-item-mobile .btn-agendar,
.booking-btn-primary,
.form-submit-btn,
.contact-btn,
.btn-mensagem {
  background-image: linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.012)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), inset 0 -1px 0 rgba(0,0,0,.05), 0 2px 3px rgba(14,20,40,.10), 0 5px 16px rgba(29,36,71,.05) !important;
  transition: background-color .18s ease, background-image .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.btn-agendar:hover,
.nav-item-mobile .btn-agendar:hover,
.booking-btn-primary:hover:not(:disabled),
.form-submit-btn:hover,
.contact-btn:hover { transform: translateY(-1px); }
.btn-agendar:active,
.nav-item-mobile .btn-agendar:active,
.booking-btn-primary:active:not(:disabled),
.form-submit-btn:active,
.contact-btn:active,
.btn-mensagem:active {
  background-image: linear-gradient(0deg, rgba(255,255,255,.04), rgba(0,0,0,.035)) !important;
  box-shadow: inset 0 1px 0 rgba(0,0,0,.05), inset 0 -1px 0 rgba(255,255,255,.05), 0 1px 2px rgba(14,20,40,.08), 0 2px 7px rgba(29,36,71,.03) !important;
  transform: translateY(1px);
}
.booking-btn-primary:disabled,
.booking-btn-secondary:disabled,
.booking-slot-btn:disabled { background-image: none !important; box-shadow: none !important; }
@media (prefers-reduced-motion: reduce) {
  .btn-agendar, .nav-item-mobile .btn-agendar, .booking-btn-primary, .form-submit-btn, .contact-btn, .btn-mensagem { transition: none; }
}

/* Botões secundários conservam aparência leve, com apenas uma borda de luz. */
.booking-btn-secondary,
.booking-slot-btn,
.blog-compartilhar-btn {
  background-image: linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.01)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 1px 2px rgba(29,36,71,.025) !important;
}
.booking-btn-secondary:active,
.booking-slot-btn:active,
.blog-compartilhar-btn:active {
  background-image: linear-gradient(0deg, rgba(255,255,255,.04), rgba(0,0,0,.025)) !important;
  box-shadow: inset 0 1px 0 rgba(0,0,0,.04), inset 0 -1px 0 rgba(255,255,255,.04) !important;
}

/* Blog: cards centralizados na página e busca em uma lateral independente. */
#blogPageBody.blog-list-layout {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
}
#blog-page:not(.blog-artigo-aberto) > .faq-page-content {
  width: 100%;
  max-width: none;
  padding: 1.5rem 1.5rem 6rem;
}
.blog-search-region {
  position: absolute;
  top: 0;
  left: calc(50% + 436px);
  right: auto;
  width: 230px;
  max-width: none;
  display: grid;
  align-content: start;
  gap: .85rem;
  margin: 0;
  padding: 0;
}
.blog-search-region .blog-tools { position: relative; display: flex; justify-content: flex-start; width: 100%; max-width: 100%; margin: 0; }
.blog-search-shell {
  position: relative;
  display: block;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border: 1px solid #1d2448;
  border-radius: 50%;
  background: linear-gradient(180deg, #252d55 0%, #20284d 72%, #1d2448 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), inset 0 -1px 0 rgba(0,0,0,.12), 0 2px 4px rgba(32,40,77,.16), 0 0 10px rgba(32,40,77,.05);
  transition: width 320ms cubic-bezier(.2,.8,.2,1), border-radius 320ms cubic-bezier(.2,.8,.2,1), background 320ms cubic-bezier(.2,.8,.2,1), border-color 320ms cubic-bezier(.2,.8,.2,1), box-shadow 320ms cubic-bezier(.2,.8,.2,1);
}
.blog-search-shell.is-open {
  width: 100%;
  border-radius: var(--radius-sm);
  border-color: var(--gold);
  background: #fffefa;
  box-shadow: none;
}
.blog-search-toggle {
  position: absolute;
  z-index: 1;
  inset: 0 auto auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  min-width: 42px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: #fff;
  font: inherit;
  cursor: pointer;
  transition: opacity 320ms cubic-bezier(.2,.8,.2,1), transform 320ms cubic-bezier(.2,.8,.2,1);
}
.blog-search-toggle svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.blog-search-toggle:hover { background: rgba(255,255,255,.04); }
.blog-search-toggle:active { background: rgba(0,0,0,.06); }
.blog-search-shell.is-open .blog-search-toggle {
  opacity: 0;
  transform: scale(.72);
  pointer-events: none;
}
.blog-search-toggle:focus-visible {
  outline: 2px solid rgba(84,116,71,.35);
  outline-offset: 2px;
}
.blog-search-form {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  gap: .5rem;
  width: 100%;
  padding: 0 .55rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 320ms cubic-bezier(.2,.8,.2,1), visibility 0s linear 320ms;
}
.blog-search-form[hidden] { display: none !important; }
.blog-search-shell.is-open .blog-search-form {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 320ms cubic-bezier(.2,.8,.2,1), visibility 0s;
}
.blog-search-form-icon { width: 15px; height: 15px; flex: none; fill: none; stroke: var(--navy); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.blog-search-shell.is-open:focus-within { border-color: var(--gold); }
.blog-results-region {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
}
#blogCardsWrap {
  display: block;
  width: 100%;
  max-width: 840px;
  margin-inline: auto;
}
.blog-cards-skeleton {
  display: grid;
  gap: 1rem;
  width: 100%;
  max-width: none;
  margin: 0;
}
.blog-cards-skeleton span {
  display: block;
  min-height: 150px;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  background: linear-gradient(100deg, #f5f3ef 25%, #fbfaf8 40%, #f5f3ef 60%);
  background-size: 220% 100%;
}
#blogCardsWrap .blog-post-card {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 1380px) {
  #blog-page:not(.blog-artigo-aberto) > .faq-page-content { padding: 1rem 1rem 4rem; }
  #blogPageBody.blog-list-layout { display: block; }
  .blog-search-region { position: relative; top: auto; right: auto; left: auto; width: 100%; max-width: 840px; margin: 1rem auto 0; }
  .blog-search-region .blog-tools { justify-content: center; width: 100%; margin: 0; }
  .blog-search-shell.is-open { width: min(360px, 100%); }
  #blogCardsWrap { max-width: 840px; margin-inline: auto; }
}

/* Busca do blog: o próprio botão se alonga e recolhe; tags ficam em um contêiner separado. */
.blog-search-region .blog-tools { width: 100%; }
.blog-search-input {
  display: block;
  flex: 1;
  min-width: 0;
  width: 100%;
  min-height: 40px;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--navy);
  font-family: var(--font-sans);
  font-size: .9rem;
  box-shadow: none;
}
.blog-search-input:focus,
.blog-search-input:focus-visible {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.blog-search-input::placeholder { color: var(--muted-text); opacity: .82; }
.blog-search-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; display: none; }
.blog-search-input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; display: none; }
.blog-search-clear {
  position: static;
  flex: none;
  width: 25px; height: 25px; display: grid; place-items: center;
  padding: 0; border: 0; border-radius: 50%;
  background: transparent; color: var(--olive-text); cursor: pointer;
}
.blog-search-clear[hidden] { display: none !important; }
.blog-search-clear svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.blog-search-clear:hover { background: #e8eadf; color: var(--gold-text); }
.blog-search-clear:focus-visible { outline: 1px solid var(--gold) !important; outline-offset: 1px !important; }
.blog-tag-container {
  margin-top: 0;
  padding: .9rem;
  border: 1px solid var(--border-soft);
  border-radius: 12px;
  background: var(--surface);
}
.blog-tag-heading { margin: 0 0 .55rem; color: var(--muted-text); font: 500 .78rem var(--font-sans); }
.blog-tag-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.blog-tag-filter { min-height: 30px; padding: 4px 10px; font-family: var(--font-sans); }
.blog-search-status { min-height: 1.2em; margin: .6rem 0 0; color: var(--muted-text); font-size: .75rem; }
.blog-voltar-lista[hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  .blog-search-shell, .blog-search-toggle, .blog-search-form { transition-duration: .01ms; }
}

@media (max-width: 600px) {
  .blog-tag-container { padding: .75rem; }
  .blog-tag-filters { gap: 6px; }
  .blog-tag-filter { min-height: 34px; }
}

