/* Tema VISÃO: "escuro quente". Carregado depois de main.css e responsive.css.
   Mantém o layout e as fotos da vitrine 4, trocando apenas a paleta e os elementos da marca. */

:root {
  --primary: #F5F0E9;
  --secondary: #763821;
  --text-color: #DBD3C7;
  --accent-color: #CC8F70;
  --accent-color-2: #17100C;
  --accent-color-3: #241914;
  --accent-color-4: #17100C00;
  --accent-color-5: #763821;
  --accent-color-6: #AFA296;
  --accent-color-7: #76382133;
  --accent-overlay: rgba(23, 16, 12, .5);
  --visao-border: #3D2C23;
}

body { background-color: var(--accent-color-2); }

/* Cores fixas da vitrine convertidas para a paleta */
.banner-home { background-image: radial-gradient(at bottom right, #76382166 0%, var(--accent-color-2) 70%); }
.banner-page::before { background-image: radial-gradient(at bottom right, #763821D4 0%, var(--accent-color-2) 55%); }
.card__service-content::before { background-image: linear-gradient(180deg, #17100C24 0%, var(--accent-color-2) 80%); }
.work-process__step-header { background-color: #CC8F705E; }
.why-choose-us__revenue-image::before { background-image: linear-gradient(180deg, #17100C00 0%, var(--accent-color-2) 100%); }
.case-studies__case-card--image::before { background-image: linear-gradient(180deg, #17100C24 0%, var(--accent-color-2) 80%); }
.about__content-list li::before,
.service-detail__content-list li::before { background-color: #CC8F7040; color: var(--accent-color); }
.about__content-list::before { background-color: var(--accent-color); }
.service-detail__image { min-height: 340px; background-position: center center; background-size: cover; border-radius: 10px; }
.btn-accent:hover { background-color: #DBA88D; color: var(--accent-color-2); }

/* Gráfico em inglês da vitrine substituído pelo olho da marca */
.why-choose-us__revenue-image {
  background-image: url('/assets/visao/olho-terracota.svg');
  background-size: 72% auto;
}

/* Logo */
.navbar-logo-container img.visao-header-logo { width: auto; height: 44px; max-width: none; object-fit: contain; }
.sidebar-logo img { width: auto; height: 38px; object-fit: contain; }
.footer-logo img { width: 190px; height: auto; max-width: 100%; object-fit: contain; }

/* Submenus do cabeçalho (desktop): abrem ao passar o mouse ou com o teclado, sem depender do JS do Bootstrap */
.visao-dropdown { position: relative; }
.visao-dropdown-caret { font-size: 12px; margin-left: 4px; transition: transform .2s ease; }
.visao-dropdown > .dropdown-menu {
  display: block;
  position: absolute;
  top: 100%;
  left: 10px;
  margin-top: 0;
  border: 1px solid var(--visao-border);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
/* Ponte invisível entre o link e o submenu, para o mouse não "cair" no vão */
.visao-dropdown > .dropdown-menu::before { content: ''; position: absolute; left: 0; right: 0; top: -22px; height: 22px; }
.visao-dropdown:hover > .dropdown-menu,
.visao-dropdown:focus-within > .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(14px); }
.visao-dropdown:hover .visao-dropdown-caret,
.visao-dropdown:focus-within .visao-dropdown-caret { transform: rotate(180deg); }
.visao-dropdown .dropdown-item { border-radius: 8px; padding: 12px 15px; white-space: nowrap; }
.visao-dropdown .dropdown-item:hover { background-color: var(--accent-color-3); }

/* Títulos de página: h1 semântico com a medida do h2 da vitrine */
.banner-page__title h1 { font-size: 32px; font-weight: 500; line-height: 1.3em; }
.visao-crumb { display: inline-flex; align-items: center; }

/* Hero: cards flutuantes no lugar dos gráficos fictícios */
.visao-float-card {
  display: inline-flex;
  flex-direction: column;
  gap: 6px;
  width: 215px;
  padding: 18px;
  text-align: left;
  color: var(--primary);
  background-color: var(--accent-color-5);
  border: 1px solid #CC8F7055;
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .4);
}
.visao-float-card strong { font-family: var(--font-family-heading); font-size: 18px; font-weight: 600; }
.visao-float-card span { font-size: 14px; color: var(--text-color); }
.visao-float-card ul { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 6px; font-size: 14px; }
.visao-float-card li::before { content: "\2713"; color: var(--accent-color); margin-right: 8px; font-weight: 700; }
.banner-home-img-chart-visitor { right: 0; }
.visao-float-card--visitor { width: 225px; padding-left: 44px; }
.visao-float-bars { display: flex; align-items: flex-end; gap: 7px; height: 56px; margin-top: 8px; }
.visao-float-bars i { flex: 1; background-color: var(--accent-color); border-radius: 3px 3px 0 0; }
.visao-float-bars i:nth-child(1) { height: 90%; }
.visao-float-bars i:nth-child(2) { height: 76%; }
.visao-float-bars i:nth-child(3) { height: 64%; }
.visao-float-bars i:nth-child(4) { height: 52%; }
.visao-float-bars i:nth-child(5) { height: 40%; }
.visao-float-bars i:nth-child(6) { height: 30%; }

/* Foto do topo com fundo transparente, na posição original da vitrine; o card "Diagnóstico" fica à frente */
.banner-home-img-chart-visitor { z-index: 3; }

.visao-avatar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  background-color: var(--accent-color-5);
  border: 2px solid var(--accent-color-2);
  color: var(--primary);
}

/* Faixa de cidades no lugar dos logos fictícios */
.visao-cities-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 24px;
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: var(--font-family-heading);
  font-size: 19px;
  color: var(--primary);
}
.visao-cities-row i { color: var(--accent-color); margin-right: 6px; }

/* Cards */
a.visao-card-link { display: block; height: 100%; color: inherit; text-decoration: none; }
a.visao-card-link .card__what-we-do__wrapper { transition: transform .25s ease; }
a.visao-card-link:hover .card__what-we-do__wrapper { transform: translateY(-4px); }
.visao-category-list { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 40px; }
.visao-category-list .blog-image-tag { position: static; }
.visao-quote-icon { font-size: 34px; color: var(--accent-color); }
.card-testimonial-quote h3 { margin-bottom: 10px; color: var(--primary); }
.case-greentech-industries { background-image: url('/assets/visao/fotos/terceiro-setor-reuniao.webp'); }

.visao-panel {
  background-color: var(--accent-color-2);
  border: 1px solid var(--visao-border);
  border-radius: 10px;
  padding: 32px;
  height: 100%;
}
.btn-service-detail.visao-current { background-color: var(--accent-color-5); }

/* Formulário */
.form input,
.form select,
.form textarea {
  background-color: var(--accent-color-2);
  border: 1px solid var(--visao-border);
  border-radius: 8px;
  color: var(--primary);
  padding: 12px 14px;
  width: 100%;
}
.form input::placeholder,
.form textarea::placeholder { color: var(--accent-color-6); }
.form input:focus,
.form select:focus,
.form textarea:focus { outline: 2px solid var(--accent-color); outline-offset: 1px; }
.visao-form-error { color: #F3B9A0; margin: 0 0 12px; }
.visao-form-note { color: var(--accent-color-6); font-size: .9rem; margin: 12px 0 0; }

/* WhatsApp flutuante */
.visao-whatsapp {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 50;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--accent-color);
  color: var(--accent-color-2);
  font-size: 1.9rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
}
.visao-whatsapp:hover { background-color: #DBA88D; color: var(--accent-color-2); }

/* Celular: cards do topo compactos e nos cantos, para não cobrir o rosto da foto */
@media (max-width: 767.98px) {
  .banner-home-img-chart-visitor { top: 8px; right: 0; }
  .banner-home-img-chart-income { left: 0; bottom: 60px; }
  .visao-float-card,
  .visao-float-card--visitor { width: 152px; padding: 10px 12px; gap: 4px; border-radius: 10px; }
  .visao-float-card strong { font-size: 15px; }
  .visao-float-card span,
  .visao-float-card ul { font-size: 13px; gap: 3px; }
  .visao-float-card li::before { margin-right: 5px; }
  .visao-float-bars { height: 30px; gap: 4px; margin-top: 4px; }
}

@media screen and (min-width: 991.98px) {
  .banner-page__title h1 { font-size: 46px; }

  /* Topo da home inteiro na primeira dobra: altura limitada à janela, foto encaixada nesse espaço */
  .banner-home { padding-top: 118px; }
  .banner-home-container { min-height: calc(100vh - 118px); min-height: calc(100svh - 118px); align-items: stretch; }
  .banner-home-title-container { justify-content: center; padding-bottom: 24px; }
  .banner-home-spacer { height: 36px; }
  .banner-home-img-highlight { display: flex; justify-content: center; margin-left: -40px; }
  .banner-home-img-highlight img.visao-hero-photo {
    width: auto; max-width: 100%;
    height: calc(100vh - 118px); height: calc(100svh - 118px);
    min-height: 480px; max-height: 860px;
    object-fit: contain; object-position: bottom center;
  }
  .banner-home-img-chart-visitor { top: 22%; }
  .banner-home-img-chart-income { bottom: 18%; left: -40px; }
}

@media (max-width: 991.98px) {
  .banner-home-title-container .d-flex { justify-content: center; }
  .navbar-logo-container { width: auto; flex: 1 1 auto; overflow: visible; }
  .navbar-logo-container img.visao-header-logo { height: 34px; }
  .visao-cities-row { justify-content: flex-start; }
  /* Botão do menu com área de toque de 44px */
  .nav-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; padding: 0; font-size: 20px; flex-shrink: 0; }
}

/* ===== Tipografia: sem palavras sozinhas na última linha ===== */
h1, h2, h3, h4, h5, h6, .blog-link, .sub-heading, .btn, .partnership-content-title { text-wrap: balance; }
p, li, label, .visao-form-note, .footer__link-text { text-wrap: pretty; }
.visao-nowrap { white-space: nowrap; }

/* Links de contato legíveis sobre o card marrom */
.contact-info__item a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.contact-info__item a:hover { color: var(--accent-color-2); }

/* ===== Cidades: linha no desktop, carrossel contínuo no celular ===== */
.visao-cities-dup { display: none; }
@keyframes visao-cities-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 767.98px) {
  .partnership-content-title { text-align: center; }
  .visao-cities-viewport {
    overflow: hidden;
    margin: 0 -20px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
  }
  .visao-cities-viewport .visao-cities-row {
    display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 0; width: max-content; height: auto;
    animation: visao-cities-scroll 22s linear infinite;
  }
  .visao-cities-viewport .visao-cities-row li {
    flex: 0 0 auto; padding: 10px 18px; margin-right: 12px; white-space: nowrap;
    border: 1px solid var(--visao-border); border-radius: 999px; background-color: var(--accent-color-3);
  }
  .visao-cities-viewport .visao-cities-dup { display: list-item; }
  .visao-cities-viewport:hover .visao-cities-row,
  .visao-cities-viewport:active .visao-cities-row { animation-play-state: paused; }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .visao-cities-viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; padding: 0 20px; scroll-snap-type: x mandatory; }
  .visao-cities-viewport .visao-cities-row { animation: none; }
  .visao-cities-viewport .visao-cities-row li { scroll-snap-align: start; }
  .visao-cities-viewport .visao-cities-dup { display: none; }
}

/* ===== Menu do celular (tela cheia) ===== */
.sidebar.visao-menu {
  left: 0;
  width: 100%;
  max-width: 440px;
  padding: 0;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform .35s ease, visibility .35s;
  visibility: hidden;
  border-right: 1px solid var(--visao-border);
}
.sidebar.visao-menu.active { transform: translateX(0); visibility: visible; }
/* Menu acima do botão flutuante do WhatsApp (z-index 50) */
.sidebar.visao-menu { z-index: 70; }
.sidebar-overlay { z-index: 69; }
.visao-menu__logo { display: inline-flex; align-items: center; min-height: 44px; }
.visao-menu__header {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 20px; border-bottom: 1px solid var(--visao-border);
}
.visao-menu__logo img { height: 34px; width: auto; display: block; }
.visao-menu__close {
  width: 44px; height: 44px; flex: 0 0 44px; border: 0; border-radius: 10px;
  background-color: var(--accent-color); color: var(--accent-color-2); font-size: 20px;
  display: flex; align-items: center; justify-content: center;
}
.visao-menu__list { list-style: none; margin: 0; padding: 8px 0; }
.visao-menu__list > li { border-bottom: 1px solid var(--visao-border); }
.visao-menu__row { display: flex; align-items: center; justify-content: space-between; }
.visao-menu__link {
  display: flex; align-items: center; flex: 1 1 auto; min-height: 52px; padding: 0 20px;
  color: var(--primary); font-family: var(--font-family-heading); font-size: 18px; font-weight: 500;
  text-decoration: none;
}
.visao-menu__link.is-current { color: var(--accent-color); }
.visao-menu__toggle {
  width: 52px; height: 52px; flex: 0 0 52px; margin-right: 8px; border: 0; background: none;
  color: var(--primary); font-size: 18px; display: flex; align-items: center; justify-content: center;
}
.visao-menu__toggle i { transition: transform .25s ease; }
.visao-menu__toggle.is-open i { transform: rotate(180deg); color: var(--accent-color); }
.visao-menu__sub { list-style: none; margin: 0; padding: 0 0 0 20px; max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.visao-menu__sub.is-open { max-height: 320px; padding-bottom: 8px; }
.visao-menu__sublink {
  display: flex; align-items: center; min-height: 46px; padding: 0 20px;
  border-left: 2px solid var(--visao-border); color: var(--text-color); font-size: 16px; text-decoration: none;
}
.visao-menu__sublink.is-current { color: var(--accent-color); border-left-color: var(--accent-color); }
.visao-menu__footer { margin-top: auto; padding: 24px 20px 28px; display: grid; gap: 14px; }
.visao-menu__actions { display: flex; align-items: center; gap: 12px; }
.visao-menu__actions .btn { flex: 1 1 auto; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; }
.visao-menu__wa {
  width: 50px; height: 50px; flex: 0 0 50px; border-radius: 50%;
  background-color: var(--accent-color-5); color: var(--primary); font-size: 24px;
  display: flex; align-items: center; justify-content: center;
}
.visao-menu__contact { margin: 0; font-size: 14px; color: var(--accent-color-6); }
.visao-menu__contact a { color: var(--accent-color-6); }

/* Faixa de chamada: botão do WhatsApp ao lado de "Solicitar Diagnóstico" no celular */
.visao-cta-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.visao-cta-wa-mobile { display: none; }

/* ===== Revisão mobile (até 767px) ===== */
@media (max-width: 767.98px) {
  /* Ritmo vertical: seções mais compactas */
  .section { padding: 56px 20px; }
  .section-pt-10 { padding-top: 8px; }
  p { font-size: 15px; line-height: 1.6em; }
  h2 { font-size: 28px; }
  .banner-page__title h1 { font-size: 28px; }

  /* Topo */
  .banner-home-spacer { height: 28px; }
  .sub-heading { font-size: 13px; letter-spacing: 1px; }
  .sub-heading-container { gap: 8px; }

  /* Cards sem as alturas mínimas pensadas para o desktop */
  .card__what-we-do__wrapper { min-height: 0; gap: 18px; }
  .card__service-content { min-height: 300px; }
  .case-studies__case-card--image { min-height: 340px; }
  .service-detail__contact-cta { min-height: 0; }

  /* Sobre: uma foto só, em altura proporcional, com o card de anos logo abaixo */
  .about__media { gap: 16px; }
  .about__media--half-tall-container { width: 100%; gap: 16px; }
  .about__media-image--half-tall { min-height: 230px; }
  .about__media-image--tall { display: none; }
  .about__image-values { min-height: 220px; }
  /* Card "Especialidades" logo abaixo da lista, sem o vão herdado do desktop */
  .about__content .col-md-5 > .d-flex { height: auto !important; justify-content: flex-start !important; }
  .card__about-content-experience { margin-top: 0; }

  /* Cards de alíquota: um card só, com o ícone num círculo à esquerda do número */
  .case-studies__card-stat {
    flex-direction: row; align-items: flex-start; justify-content: flex-start; gap: 14px;
    min-height: 0; height: auto; padding: 18px 16px;
    background-image: none; background-color: var(--accent-color-5); border-radius: 10px;
  }
  .case-studies__card-stat > .d-flex { flex: 0 0 48px; }
  .case-card__stat-icon { width: 48px; height: 48px; padding: 0; font-size: 22px; background-color: var(--accent-color-2); }
  .case-studies__card-stat .case-card__container { flex: 1 1 auto; min-width: 0; padding: 0; gap: 6px; background: none; }
  .case-studies__card-stat .case-card-stat { font-size: 30px; line-height: 1.1em; }
  .case-studies__grid-layout { gap: 20px; grid-auto-rows: auto; }
  /* Cases com foto: texto assentado na base do card, sem faixa vazia embaixo */
  .case-studies__case-card--image { min-height: 300px; justify-content: flex-end; padding: 18px 18px 22px; overflow: visible; }
  .case-studies__case-image-content { height: auto; overflow: visible; }

  /* Dúvidas frequentes: ícone ao lado da pergunta, sem a linha divisória */
  .card-testimonial-quote { display: grid; grid-template-columns: 40px 1fr; column-gap: 12px; align-items: start; }
  .card-testimonial-quote .testimonial-quote__header { grid-column: 1; grid-row: 1; }
  .card-testimonial-quote .testimonial-quote__divider { display: none; }
  .card-testimonial-quote h3 { grid-column: 2; grid-row: 1; margin: 4px 0 10px; }
  .card-testimonial-quote p { grid-column: 1 / -1; margin: 0; }
  .visao-quote-icon { font-size: 30px; }

  /* Mapa do contato com altura de celular */
  .maps { height: 320px; }

  /* Fotos de apoio com altura proporcional à tela */
  .what-we-do__image { min-height: 190px; margin: 28px 0 8px; background-position: center center; }
  .why-choose-us__revenue-image { min-height: 150px; }
  .why-choose-us__revenue-image-footer { min-height: 150px; background-position: center center; }
  .single-post__image { min-height: 240px; margin-bottom: 28px; }
  .appointment__page-image { min-height: 240px; }
  .service-detail__image { min-height: 200px; }

  /* "Por que nos escolher": tudo alinhado à esquerda no celular */
  .why-choose-us__card-list--right .card__why-choose-us__wrapper { text-align: left; }
  .why-choose-us__card-list--right .card__why-choose-us__content { align-items: flex-start; }
  /* Ícone ao lado do card, e não em cima, para economizar altura */
  .card__why-choose-us__wrapper {
    flex-direction: row; align-items: flex-start; gap: 14px; padding: 18px 16px;
    background-image: none; background-color: var(--accent-color-5); border-radius: 10px;
  }
  .why-choose-us__icon,
  .why-choose-us__card-list--right .why-choose-us__icon {
    flex: 0 0 48px; width: 48px; height: 48px; margin: 0; align-self: flex-start;
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; border-radius: 50%; background-color: var(--accent-color-2);
  }
  .card__why-choose-us__content { flex: 1 1 auto; min-width: 0; padding: 0; background: none; }
  .card__why-choose-us__content h3 { font-size: 20px; overflow-wrap: normal; word-break: normal; hyphens: none; }
  /* Especialidades: mesmo padrão, ícone num círculo à esquerda dentro do card */
  .card__what-we-do__wrapper {
    flex-direction: row; align-items: flex-start; gap: 14px; padding: 18px 16px;
    background-image: none; background-color: var(--accent-color-5); border-radius: 10px;
  }
  .card__what-we-do__wrapper .what-we-do__icon {
    order: -1; flex: 0 0 48px; width: 48px; height: 48px;
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; border-radius: 50%; background-color: var(--accent-color-2);
  }
  .card__what-we-do__content { flex: 1 1 auto; min-width: 0; padding: 0; gap: 8px; background: none; }
  .card__what-we-do__content h3 { font-size: 20px; }
  .card__about-values-body { flex-direction: row; align-items: flex-start; gap: 14px; }
  .about__values-icon { flex: 0 0 48px; width: 48px; height: 48px; font-size: 24px; }

  /* Áreas de toque de pelo menos 44px */
  .team-social-icon { width: 44px; height: 44px; font-size: 18px; }
  .service-content__content-cta,
  .case-studies__card-content-cta { min-height: 44px; }
  .blog-image-tag { padding: 10px 16px; line-height: 1.5em; }
  .request-loader i { font-size: 26px; }
  .visao-cta-wa-desktop { display: none !important; }
  .visao-cta-wa-mobile { display: flex; width: 56px; flex: 0 0 56px; }

  /* Rodapé alinhado à esquerda de ponta a ponta */
  .footer__col--intro { align-items: flex-start; text-align: left; }
  .footer-intro__description { width: 100%; }
  .footer__col-copyright { flex-direction: column; align-items: flex-start; gap: 8px; text-align: left; }
  .footer__col-copyright[style] { justify-content: flex-start !important; }
}

/* ===== Níveis de título corretos com o tamanho visual da vitrine ===== */
/* A tag segue a hierarquia (sem saltos); a classe mantém o tamanho que o elemento tinha. */
.visao-h3, .visao-h4, .visao-h5, .visao-h6 {
  font-family: var(--font-family-heading); font-weight: 500; line-height: 1.3em; margin: 0; color: var(--primary);
}
.visao-h3 { font-size: 21px; }
.visao-h4 { font-size: 19px; }
.visao-h5 { font-size: 17px; }
.visao-h6 { font-size: 15px; line-height: 1.5em; }
.visao-h4.accent-color, .visao-h5.accent-color { color: var(--accent-color); }
@media (max-width: 991.98px) {
  .visao-h3 { font-size: 26px; }
  .visao-h4 { font-size: 24px; }
  .visao-h5 { font-size: 22px; }
  .visao-h6 { font-size: 19px; }
}
@media (max-width: 767.98px) {
  .visao-h3 { font-size: 24px; }
  .visao-h4 { font-size: 23px; }
  .visao-h5 { font-size: 20px; }
  .visao-h6 { font-size: 18px; }
  /* Títulos dentro dos cards com ícone ao lado */
  .card__why-choose-us__content .visao-h4,
  .card__about-values-body .visao-h4 { font-size: 20px; }
}

/* Aceite da Política de Privacidade no formulário */
.visao-consent { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; font-size: 14px; line-height: 1.5em; color: var(--text-color); cursor: pointer; }
.visao-consent input[type="checkbox"] { width: 20px; height: 20px; min-width: 20px; margin: 2px 0 0; padding: 0; accent-color: var(--accent-color); }
.visao-consent a { color: var(--accent-color); text-decoration: underline; }
.visao-legal { max-width: 860px; display: flex; flex-direction: column; gap: 28px; }
