
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

* {
  font-family: "DM Sans", sans-serif;
}

.hero-section .col-lg-7 {
    flex: 0 0 auto;
    width: 70%;
}

.hero-single .hero-content .hero-title {
  font-size: 50px;
}

#slideshow-1 {
  height: 90vh;
}

/* Arquivo: mission.css
   Este CSS está totalmente encapsulado no seletor .mission-section
   para evitar afetar outros elementos da página.
*/

.mission-section { box-sizing: border-box; }

/* Base tipográfica e espaçamento apenas dentro do escopo */
.mission-section,
.mission-section * { box-sizing: inherit; font-family: Inter, "Helvetica Neue", Arial, sans-serif; }

/* Container centralizado */
.mission-container {
  max-width: 880px;
  margin: 40px auto;
  padding: 22px;
}

/* Cartão principal */
.mission-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 8px 20px rgba(15,23,42,0.06);
  display: flex;
  flex-direction: column;
  gap: 18px;
  color: #0f172a;
}

/* Cabeçalho */
.mission-header h1 {
  margin: 0 0 6px 0;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.mission-lead {
  margin: 0;
  color: #575b63;
  font-size: 14px;
  line-height: 1.6;
}

/* Lista de itens */
.mission-items {
  display: grid;
  gap: 14px;
}

/* Item individual */
.mission-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(14,165,160,0.02), rgba(99,102,241,0.00));
}

/* Índice visual */
.mission-index {
  min-width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #0ea5a0;
  color: #ffffff;
  display: grid;
  place-items: center;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(14,165,160,0.12);
  flex-shrink: 0;
}

/* Conteúdo textual do item */
.mission-content h3 {
  margin: 0 0 6px 0;
  font-size: 15px;
  color: #0f172a;
}

.mission-content p {
  margin: 0;
  color: #575b63;
  font-size: 14px;
  line-height: 1.6;
}

/* Responsividade */
@media (max-width: 720px) {
  .mission-container { margin: 20px; padding: 16px; }
  .mission-index { min-width: 34px; height: 34px; }
  .mission-card { padding: 16px; gap: 12px; }
}

#page_a_empresa .about-img {
  margin-top: 15%;
}

#page_a_empresa .about-experience {
  margin-top: 10%;
}

.breadcrumb-title {
  filter: drop-shadow(7px 7px 7px #000000b5);
}

/* Tudo abaixo afeta apenas elementos dentro de .poster-module-obra */
.poster-module-obra,
.poster-module-obra * {
  box-sizing: border-box;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Variáveis locais (específicas ao módulo) */
.poster-module-obra {
  --bg: #f4f6f7;
  --card-bg: #ffffff;
  --accent: #0b4d6c;
  --muted: #5f6b72;
  --max-w: 1100px;
  --radius: 12px;
  --gap: 36px;
  width:100%;
  max-width:var(--max-w);
  margin: 0 auto;
  background:var(--card-bg);
  border-radius:var(--radius);
  box-shadow:0 12px 30px rgba(2,6,23,0.06);
  display:grid;
  grid-template-columns: 48% 52%;
  overflow:hidden;
  min-height:460px;
  align-items:stretch;
  background-color: var(--card-bg);
}

/* Imagem (coluna esquerda) */
.poster-module-obra__image {
  background: linear-gradient(180deg,#ffffff,#f3f6f9);
}
.poster-module-obra__image img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Texto (coluna direita) */
.poster-module-obra__text {
  padding:64px 56px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  transform: translateY(-6%); /* deslocamento opcional para aproximar do original */
}

/* Tipografia do módulo */
.poster-module-obra__title {
  margin:0 0 18px 0;
  color: #446bb6;
  font-weight:800;
  font-size:36px;
  line-height:1.02;
  letter-spacing:-0.3px;
  max-width:520px;
}

.poster-module-obra__lead {
  margin:0 0 18px 0;
  font-weight:600;
  font-size:16px;
  color:#111827;
  max-width:520px;
}

.poster-module-obra__body {
  margin:0;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.75;
  max-width:520px;
  white-space:pre-wrap;
}

/* Responsividade — regras também isoladas ao módulo */
@media (max-width:920px) {
  .poster-module-obra {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .poster-module-obra__image { height:280px; }
  .poster-module-obra__text { padding:28px 24px; transform: none; }
  .poster-module-obra__title { font-size:28px; }
}

#section-html-modulo_2 {
  margin-top: 5%;
}

/* Regras estritamente scoped ao módulo #poster-luxo */

/* Reset e fonte apenas dentro do módulo */
#poster-luxo,
#poster-luxo * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Variáveis locais */
#poster-luxo {
  --accent: #0b4d6c;
  --muted: #5f6b72;
  --bg: #ffffff;
  --radius: 12px;
  --max-w: 1100px;
  --gap: 36px;
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 52% 48%; /* texto à esquerda, imagem à direita */
  gap: var(--gap);
  min-height: 460px;
  background: var(--bg);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(2,6,23,0.06);
  align-items: center;
  padding: 0;
}

/* Coluna de texto (esquerda) */
#poster-luxo__text {
  padding: 64px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: translateY(-6%); /* posicionamento vertical fino */
}

/* Tipografia do módulo */
#poster-luxo__title {
  color: #446bb6;
  font-weight: 800;
  font-size: 36px;
  line-height: 1.02;
  letter-spacing: -0.3px;
  margin-bottom: 18px;
  max-width: 560px;
}

#poster-luxo__lead {
  font-weight: 600;
  font-size: 16px;
  color: #111827;
  margin-bottom: 18px;
  max-width: 560px;
}

#poster-luxo__body {
  color: var(--muted);
  font-size: 15.5px;
  line-height: 1.75;
  max-width: 560px;
  white-space: pre-wrap;
}

/* Coluna de imagem (direita) */
#poster-luxo__image {
  background: linear-gradient(180deg,#ffffff,#f3f6f9);
  height: 100%;
}
#poster-luxo__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Responsividade — regras também scoped ao módulo */
@media (max-width: 920px) {
  #poster-luxo {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  #poster-luxo__image { height: 280px; }
  #poster-luxo__text { padding: 28px 24px; transform: none; }
  #poster-luxo__title { font-size: 28px; }
}

#section-html-modulo_3 {
  margin-top: 5%;
}

#section-html-modulo_3 {
  margin-bottom: 5%;
}

#section-html-modulo_1 {
  background: radial-gradient(105.21% 80.83% at 50% 139.64%, #3c4155aa 0, rgba(255, 255, 255, 0) 100%), radial-gradient(71.2% 56.16% at 39.65% 8.34%, #3c415560 0, rgba(255, 255, 255, 0) 100%), radial-gradient(44.99% 44.08% at 32.68% 3.28%, #3c415560 0, rgba(217, 217, 217, 0) 100%), #000;
  padding: 0px;
    padding-right: 0px;
    padding-left: 0px;
}

/* Tudo prefixado com #gestao-obras-section para isolar estilos apenas nesta seção */
#gestao-obras-section {
  --bg: #F5F6F8;
  --primary: #53b644;
  --sidebar: #53b644;
  --sidebar-text: #ffffff;
  --card-bg: #ffffff;
  --muted: #55606B;
  --text: #1f2933;
  --border: #e6eef7;
  --radius: 10px;
  --gap: 18px;
  --max-width: 1100px;
  --sidebar-width: 220px;
  --font-sans: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
  display: block;
  background: var(--bg);
  padding: 28px 16px;
  box-sizing: border-box;
  font-family: var(--font-sans);
}

/* Inner container */
#gestao-obras-section .gestao-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  background: var(--card-bg);
  border-radius: 14px;
  display: flex;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  box-sizing: border-box;
}

/* Sidebar (azul) */
#gestao-obras-section .gestao-sidebar {
  width: var(--sidebar-width);
  background: #0b2172;
  color: var(--sidebar-text);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  box-sizing: border-box;
  text-align: center;
}
#gestao-obras-section .gestao-sidebar h1 {
  margin: 0;
  font-size: 20px;
  line-height: 1.05;
  letter-spacing: 0.8px;
  font-weight: 800;
  text-transform: uppercase;
  color: #fff;
}

/* Conteúdo à direita */
#gestao-obras-section .gestao-content {
  padding: 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-sizing: border-box;
}

#gestao-obras-section .lead {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

/* Linha "Por isso..." */
#gestao-obras-section .intro {
  margin: 6px 0 0 0;
  color: var(--muted);
  font-weight: 600;
  font-size: 13px;
}

/* Blocos (cards) */
#gestao-obras-section .bloc {
  background: var(--card-bg);
  border-radius: 8px;
  padding: 14px;
  border: 1px solid var(--border);
  box-shadow: none;
  box-sizing: border-box;
}

/* Títulos dos blocos na cor primária */
#gestao-obras-section .bloc-title {
  margin: 0 0 8px 0;
  font-size: 13px;
  text-transform: uppercase;
  color: #0b2172;
  letter-spacing: 0.8px;
  font-weight: 700;
}

/* Parágrafos e strong dentro dos blocos */
#gestao-obras-section .bloc p {
  margin: 6px 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
#gestao-obras-section .bloc strong {
  color: var(--text);
  font-weight: 700;
}

/* Lista do bloco de orçamentação */
#gestao-obras-section .bloc ul {
  margin: 8px 0 0 18px;
  padding: 0;
  color: var(--muted);
  box-sizing: border-box;
}
#gestao-obras-section .bloc li {
  margin-bottom: 6px;
  font-size: 13px;
}

/* Nota final */
#gestao-obras-section .footer-note {
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
}

/* Responsividade: transforma sidebar em topo em telas pequenas */
@media (max-width: 900px) {
  #gestao-obras-section .gestao-inner { flex-direction: column; }
  #gestao-obras-section .gestao-sidebar { width: 100%; padding: 18px 14px; }
  #gestao-obras-section .gestao-content { padding: 18px; }
}

/* Garantia de escopo: evita que seletores globais vazem para fora */
#gestao-obras-section * { box-sizing: border-box; }


.service-single .col-xl-8 {
    flex: 0 0 auto;
    width: 100%;
  }
  
  .service-single .popup-img {
  display: none;
}

.navbar-brand img {
  min-width: 225px;
}

.footer-contact li {
  position: relative;
  display: block ruby;
  justify-content: start;
  align-items: center;
  color: var(--footer-text-color);
  font-size: 15px;
  margin-bottom: 25px;
}

.portfolio-content-info small {
    color: #ffffff;
}