/**
 * Manzan Construtora — Stylesheet
 * Direcao: Editorial Architecture
 * Paleta: #343434 (escuro) | #d9dad9 (claro)
 * Fotos: Coloridas
 * Grid: CSS Grid + Flexbox. Sem floats.
 * Animacoes: CSS nativas + IntersectionObserver. Sem AOS.
 */

/* ========================================
   VARIAVEIS
   ======================================== */
:root {
  --c-dark: #343434;
  --c-light: #d9dad9;
  --c-light-90: rgba(217, 218, 217, 0.9);
  --c-light-60: rgba(217, 218, 217, 0.6);
  --c-light-30: rgba(217, 218, 217, 0.3);
  --c-light-15: rgba(217, 218, 217, 0.15);
  --c-dark-90: rgba(52, 52, 52, 0.9);
  --c-dark-60: rgba(52, 52, 52, 0.6);
  --c-dark-30: rgba(52, 52, 52, 0.3);
  --c-dark-10: rgba(52, 52, 52, 0.1);

  --font-body: "Garnett", "Inter", system-ui, sans-serif;
  --font-display: "Frauen", "Playfair Display", Georgia, serif;

  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 6rem;
  --space-2xl: 8rem;
  --space-3xl: 10rem;

  --radius-sm: 4px;
  --radius-md: 12px;
  --radius-lg: 20px;

  --transition-fast: 150ms ease-out;
  --transition-base: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --transition-slow: 600ms cubic-bezier(0.25, 0.46, 0.45, 0.94);

  --container-max: 1600px;
  --container-pad: clamp(1.5rem, 5vw, 4rem);
}

/* ========================================
   RESET MODERNO
   ======================================== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  background: var(--c-light);
  color: var(--c-dark);
  font-family: var(--font-body);
  font-weight: 300;
  font-size: clamp(16px, 1vw + 14px, 18px);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input, button, textarea, select {
  font: inherit;
  color: inherit;
}

a {
  color: inherit;
  text-decoration: none;
  transition: opacity var(--transition-fast);
}

a:hover {
  opacity: 0.7;
}

ul, ol {
  list-style: none;
}

/* ========================================
   TIPOGRAFIA
   ======================================== */
@font-face {
  font-family: "Garnett";
  src: url("../fonts/Garnett-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Garnett";
  src: url("../fonts/Garnett-Semibold.ttf") format("truetype"),
       url("../fonts/Garnett-Semibold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Frauen";
  src: url("../fonts/FrauenRom.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Garnett";
  src: url("../fonts/Garnett-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Garnett";
  src: url("../fonts/Garnett-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* ========================================
   UTILITARIOS — Containers & Grid
   ======================================== */
.col-grid,
.col-full {
  width: min(100% - var(--container-pad) * 2, var(--container-max));
  margin-inline: auto;
}

.col-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--space-md);
}

/* ========================================
   TOPO / HEADER
   ======================================== */
.topo {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 999;
  padding-block: var(--space-md);
  background: linear-gradient(to bottom, rgba(217,218,217,0.95) 0%, rgba(217,218,217,0) 100%);
}

.cont-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100% - var(--container-pad) * 2, var(--container-max));
  margin-inline: auto;
}

.logo img {
  height: 48px;
  width: auto;
  display: block;
}

.menu {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.menu ul {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.menu li {
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.menu a {
  padding: 0.35rem 0.5rem;
  border-radius: var(--radius-sm);
  white-space: nowrap;
  transition: background var(--transition-fast), opacity var(--transition-fast);
}

.menu a:hover {
  opacity: 1;
  background: var(--c-dark-10);
}

.menu span {
  display: none;
}

.whatsapp {
  background: var(--c-dark);
  color: var(--c-light);
  padding: 0.55rem 1.4rem;
  border-radius: 100px;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.whatsapp:hover {
  opacity: 0.85;
  background: var(--c-dark);
}

.menu-responsive,
.f-responsive {
  display: none;
}

/* Header fixo ao scrollar */
.topo-fixo {
  position: fixed;
  background: rgba(217, 218, 217, 0.97);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 1px 0 var(--c-dark-10);
  padding-block: var(--space-sm);
  z-index: 100001;
}

.topo-fixo .logo img {
  height: 40px;
}

/* ========================================
   OVERLAY MOBILE
   ======================================== */
.overlay {
  position: fixed;
  inset: 0;
  background: var(--c-dark-60);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-base), visibility var(--transition-base);
  z-index: 99999;
}

.overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

/* ========================================
   BANNER / SLIDES
   ======================================== */
#slides {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: var(--c-dark);
}

#slides .slides-container {
  display: none;
}

#slides img,
.slide img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  display: block;
}

.slide {
  position: relative;
}

.slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(217,218,217,0.85) 0%, transparent 100%),
    linear-gradient(to top, rgba(217,218,217,1) 0%, transparent 100%),
    rgba(217,218,217,0.9);
  background-size: 100% 35%, 100% 220px, 100% 100%;
  background-position: top, bottom, center;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 1;
}

.slides-pagination {
  position: absolute;
  right: var(--space-lg);
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.slides-pagination a {
  width: 12px;
  height: 12px;
  border: 2px solid var(--c-dark-30);
  border-radius: 50%;
  text-indent: -9999px;
  display: block;
  transition: background var(--transition-fast), border-color var(--transition-fast);
}

.slides-pagination a:hover {
  background: var(--c-dark-30);
}

.slides-pagination a.current {
  background: var(--c-dark);
  border-color: var(--c-dark);
}

/* Info do slide */
.info-slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 2;
  padding: var(--space-lg);
}

.info-slide span {
  display: inline-block;
  border: 1px solid var(--c-dark-30);
  border-radius: 100px;
  padding: 0.5rem 1.5rem;
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  margin-bottom: var(--space-md);
  color: var(--c-dark);
}

.info-slide h2 {
  font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 400;
  line-height: 1.05;
  color: var(--c-dark);
  margin-bottom: var(--space-sm);
}

.info-slide p {
  font-size: 1.05rem;
  max-width: 55ch;
  opacity: 0.8;
  margin-bottom: var(--space-lg);
  margin-inline: auto;
  letter-spacing: 0.02em;
  color: var(--c-dark);
  line-height: 1.6;
  text-align: center;
}

.info-slide a {
  display: inline-block;
  border: 1px solid var(--c-dark);
  color: var(--c-dark);
  padding: 0.9rem 2.8rem;
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  transition: background var(--transition-base), color var(--transition-base), transform var(--transition-base);
}

.info-slide a:hover {
  background: var(--c-dark);
  color: var(--c-light);
  opacity: 1;
  transform: translateY(-2px);
}

/* ========================================
   HOME / INDEX
   ======================================== */
.index {
  background: var(--c-light);
}

/* Titulo de secao editorial */
.titulo {
  margin-bottom: var(--space-lg);
}

.titulo h2 {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 300;
  line-height: 1.1;
}

.titulo h2 i,
.titulo h2 em {
  display: block;
  font-family: var(--font-display);
  font-weight: 400;
  font-style: normal;
  font-size: clamp(3rem, 6vw, 5rem);
  margin-top: 0.2em;
  color: var(--c-dark);
}

/* ========================================
   EMPREENDIMENTOS
   ======================================== */
.index-empreendimentos {
  padding-block: var(--space-3xl);
}

.index-empreendimentos .titulo {
  text-align: center;
}

.index-empreendimentos .titulo h2 i {
  color: var(--c-dark-60);
}

.lista-empreendimentos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg) var(--space-md);
  width: min(100% - var(--container-pad) * 2, var(--container-max));
  margin-inline: auto;
}

.empreendimento {
  cursor: pointer;
}

.empreendimento figure {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin-bottom: var(--space-sm);
}

.empreendimento img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.empreendimento:hover img {
  transform: scale(1.03);
}

.empreendimento .info {
  padding: var(--space-xs) 0;
}

.empreendimento .status {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--c-dark-60);
  margin-bottom: 0.3rem;
}

.empreendimento h2 {
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--c-dark);
  margin-bottom: 0.2rem;
}

.empreendimento .emp-resumo {
  font-size: 0.85rem;
  opacity: 0.6;
  letter-spacing: 0.01em;
  color: var(--c-dark);
  transition: opacity var(--transition-fast);
}

/* Full-card link — entire card is clickable */
.empreendimento > a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.empreendimento > a:hover {
  opacity: 1;
}

.empreendimento > a:hover h2 {
  opacity: 0.75;
}

.empreendimento > a:hover .emp-resumo {
  opacity: 0.85;
}

.empreendimento.breve-lancamento {
  cursor: default;
}

.empreendimento.breve-lancamento:hover img {
  transform: none;
}

.mais {
  display: block;
  width: fit-content;
  margin: var(--space-lg) auto 0;
  border: 1px solid var(--c-dark);
  color: var(--c-dark);
  padding: 0.7rem 2rem;
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  transition: background var(--transition-base), color var(--transition-base);
}

.mais:hover {
  background: var(--c-dark);
  color: var(--c-light);
  opacity: 1;
}

/* ========================================
   SOBRE
   ======================================== */
.sobre {
  background: var(--c-dark);
  color: var(--c-light);
  padding-block: var(--space-3xl);
}

.sobre .col-grid {
  align-items: center;
}

.sobre .col-esq {
  grid-column: span 6;
}

.sobre .col-dir {
  grid-column: span 6;
}

.sobre img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

.sobre .texto {
  padding-left: var(--space-lg);
}

.sobre .texto p {
  font-size: 1.1rem;
  line-height: 1.7;
  opacity: 0.85;
  margin-bottom: var(--space-sm);
}

.sobre .titulo h2 {
  color: var(--c-light);
}

.sobre .titulo h2 i {
  color: var(--c-light-60);
}

.sobre .mais {
  border-color: var(--c-light-30);
  color: var(--c-light);
  margin: var(--space-sm) 0 0 auto;
}

.sobre .mais:hover {
  background: var(--c-light);
  color: var(--c-dark);
}

/* ========================================
   NUMEROS
   ======================================== */
.numeros {
  background: var(--c-light);
  color: var(--c-dark);
  padding-block: var(--space-3xl);
  border-top: 1px solid var(--c-dark-10);
}

.lista-numeros {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-lg);
  align-items: end;
}

.numeros .col-grid .lista-numeros {
  grid-column: 1 / -1;
}

.numeros .titulo {
  margin-bottom: 0;
}

.numeros .titulo h2 {
  color: var(--c-dark);
}

.numeros .titulo h2 i {
  color: var(--c-dark-30);
}

.numero {
  position: relative;
  text-align: center;
}

.numero i {
  position: absolute;
  top: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 6rem;
  opacity: 0.07;
  color: var(--c-dark);
  z-index: 0;
  pointer-events: none;
}

.numero h3 {
  position: relative;
  z-index: 1;
  font-size: clamp(3rem, 6vw, 5.5rem);
  font-weight: 900;
  line-height: 1;
  margin-bottom: var(--space-xs);
}

.numero p {
  position: relative;
  z-index: 1;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  opacity: 0.5;
}

/* ========================================
   RODAPE / FOOTER
   ======================================== */
.rodape {
  background: var(--c-dark);
  color: var(--c-light);
}

.cont-rodape {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
  width: min(100% - var(--container-pad) * 2, var(--container-max));
  margin-inline: auto;
  padding-block: var(--space-2xl);
}

.box-rodape h2 {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: var(--space-md);
  color: var(--c-light);
}

.box-rodape li,
.box-rodape p {
  font-size: 0.95rem;
  line-height: 2;
  opacity: 0.85;
}

.box-rodape a:hover {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.box-rodape i {
  margin-right: 0.4rem;
  opacity: 0.6;
}

.barra-rodape {
  border-top: 1px solid var(--c-light-15);
}

.barra-rodape > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100% - var(--container-pad) * 2, var(--container-max));
  margin-inline: auto;
  padding-block: var(--space-sm);
}

.barra-rodape ul {
  display: flex;
  gap: var(--space-sm);
}

.barra-rodape li {
  font-size: 0.8rem;
  opacity: 0.7;
}

.barra-rodape a:hover {
  opacity: 1;
}

.ph img {
  height: 18px;
  width: auto;
  opacity: 0.7;
}

/* ========================================
   PAGINAS INTERNAS
   ======================================== */
.topo-pagina {
  background: url(../img/bg-pagina.jpg) no-repeat center bottom / cover;
  padding-block: clamp(8rem, 15vw, 12rem) clamp(4rem, 8vw, 6rem);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50vh;
}

.topo-pagina .cont-topo {
  justify-content: center;
}

.topo-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.topo-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(217,218,217,0.85) 0%, transparent 100%),
    linear-gradient(to top, rgba(217,218,217,1) 0%, rgba(217,218,217,0) 100%),
    rgba(217,218,217,0.9);
  background-size: 100% 35%, 100% 220px, 100% 100%;
  background-position: top, bottom, center;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 1;
}

.topo-hero .titulo-interna {
  position: relative;
  z-index: 2;
}

.post-type-archive-empreendimentos .topo-hero::after {
  display: none;
}

.topo-pagina::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 200px;
  background: linear-gradient(to top, var(--c-light) 0%, transparent 100%);
  pointer-events: none;
  z-index: 2;
}

.titulo-interna {
  position: relative;
  z-index: 5;
  text-align: center;
}

.titulo-interna h1,
.titulo-interna h2 {
  font-family: var(--font-display);
  font-size: clamp(3rem, 7vw, 5.5rem);
  font-weight: 400;
  line-height: 0.95;
  color: var(--c-dark);
}

#breadcrumbs {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-top: var(--space-sm);
  opacity: 0.6;
}

.breadcrumb_last {
  font-weight: 500;
  color: var(--c-dark);
}

.interna {
  background: var(--c-light);
  padding-bottom: var(--space-2xl);
}

.single-empreendimentos .interna,
.page-a-manzan-construtora .interna {
  padding-bottom: 0;
}

.cont-interna {
  width: min(100% - var(--container-pad) * 2, var(--container-max));
  margin-inline: auto;
  font-size: 1.05rem;
  line-height: 1.7;
}

.cont-interna h1 {
  display: none;
}

.cont-interna h2,
.cont-interna h3,
.cont-interna h4,
.cont-interna h5,
.cont-interna h6 {
  color: var(--c-dark);
  font-weight: 500;
  margin-bottom: var(--space-xs);
  line-height: 1.2;
}

.cont-interna h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.cont-interna h2 i,
.cont-interna h2 em {
  font-family: var(--font-display);
  font-weight: 400;
  font-style: normal;
  font-size: clamp(2rem, 4vw, 3rem);
  display: block;
  line-height: 1;
  margin-bottom: 0.3em;
}

.cont-interna h3 { font-size: 1.4rem; }
.cont-interna h4 { font-size: 1.2rem; }
.cont-interna h5 { font-size: 1.1rem; }
.cont-interna h6 { font-size: 1rem; }

.cont-interna p {
  margin-bottom: var(--space-sm);
}

.cont-interna ul {
  margin-bottom: var(--space-md);
}

.cont-interna ul li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.4rem;
}

.cont-interna ul li::before {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0.15em;
  color: var(--c-dark);
  font-size: 0.7em;
}

.cont-interna blockquote {
  background: var(--c-dark);
  color: var(--c-light);
  border-radius: var(--radius-md);
  padding: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-md);
  font-style: italic;
}

.cont-interna blockquote p {
  margin-bottom: 0;
}

.cont-interna table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--space-md);
  font-size: 0.95rem;
}

.cont-interna thead th {
  background: var(--c-dark);
  color: var(--c-light);
  padding: var(--space-xs) var(--space-sm);
  text-align: center;
  font-weight: 500;
}

.cont-interna td {
  padding: var(--space-xs) var(--space-sm);
  text-align: center;
  border-top: 1px solid var(--c-dark-10);
}

.cont-interna tr:nth-child(even) {
  background: var(--c-dark-10);
}

.cont-interna .vendido {
  opacity: 0.35;
}

.cont-interna hr {
  border: none;
  border-top: 1px solid var(--c-dark-10);
  margin-block: var(--space-lg);
}

/* ========================================
   EMPREENDIMENTO INTERNO (single)
   ======================================== */
.topo-empreendimento {
  position: relative;
  background: var(--c-light);
}

.topo-empreendimento .slide {
  position: relative;
}

/* .slide::after already provides the light editorial gradient — no dark overlay needed */

.topo-empreendimento .titulo-interna {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  width: 86%;
  margin: 0 auto;
  z-index: 5;
  text-align: center;
}

.topo-empreendimento .sts {
  display: inline-block;
  border: 1px solid var(--c-dark-30);
  color: var(--c-dark);
  border-radius: 100px;
  padding: 0.4rem 1.25rem;
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: var(--space-sm);
}

.topo-empreendimento h1 {
  color: var(--c-dark);
}

.single-empreendimentos .info-empreendimento {
  background: var(--c-light);
  color: var(--c-dark);
  padding-block: var(--space-xl);
  margin-bottom: 0;
  border-bottom: 1px solid var(--c-dark-10);
}

.single-empreendimentos .foto-empreendimento {
  grid-column: span 5;
}

.single-empreendimentos .foto-empreendimento img {
  border-radius: var(--radius-md);
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 3 / 4;
}

.single-empreendimentos .cont-empreendimento {
  grid-column: span 7;
  padding-left: var(--space-lg);
  align-self: center;
  color: var(--c-dark);
}

.single-empreendimentos .cont-empreendimento h2 {
  font-size: clamp(1.4rem, 2.2vw, 1.9rem);
  font-weight: 300;
  line-height: 1.1;
  margin-bottom: var(--space-md);
  color: var(--c-dark);
}

.single-empreendimentos .cont-empreendimento h2 i,
.single-empreendimentos .cont-empreendimento h2 em {
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.2vw, 2.8rem);
  color: var(--c-dark);
}

/* Inline diferenciais destaque */
.diferenciais-destaque {
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--c-dark-10);
}

.diferenciais-destaque .label-dif {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--c-dark-30);
  margin-bottom: var(--space-sm);
}

.lista-dif-destaque {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
}

.lista-dif-destaque li {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--c-dark);
  font-size: 0.875rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--c-dark-10);
  opacity: 0.8;
}

.lista-dif-destaque li i {
  color: var(--c-dark-30);
  font-size: 1rem;
  flex-shrink: 0;
  width: 20px;
  text-align: center;
}

.lista-detalhes {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-md);
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid var(--c-dark-10);
}

.lista-detalhes li {
  font-size: 0.8rem;
  font-weight: 400;
  opacity: 0.8;
  padding: 0.25rem 0.8rem;
  background: var(--c-dark-10);
  border-radius: 100px;
  letter-spacing: 0.01em;
}

.diferenciais {
  background: var(--c-dark);
  color: var(--c-light);
  padding-block: var(--space-3xl);
}

.diferenciais .titulo {
  text-align: center;
  margin-bottom: var(--space-lg);
}

.diferenciais .titulo h2 {
  color: var(--c-light);
}

.diferenciais .titulo h2 i {
  color: var(--c-light-30);
}

.lista-diferenciais {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-sm) var(--space-md);
  width: min(100% - var(--container-pad) * 2, var(--container-max));
  margin-inline: auto;
}

.lista-diferenciais li {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--c-light);
  font-size: 1rem;
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--c-light-15);
}

.lista-diferenciais i {
  color: var(--c-light);
  font-size: 1.2rem;
  flex-shrink: 0;
  width: 32px;
}

.midia-empreendimento {
  background: var(--c-light);
  padding-block: var(--space-3xl);
  color: var(--c-dark);
}

.midia-empreendimento .titulo h2 {
  color: var(--c-dark);
  line-height: 1;
}

.midia-empreendimento .titulo h2 i {
  color: var(--c-dark-30);
  margin-top: 0;
}

.midia-empreendimento .tabs li {
  border-color: var(--c-dark-30);
  color: var(--c-dark);
}

.midia-empreendimento .tabs li:hover {
  border-color: var(--c-dark);
}

.midia-empreendimento .tabs .ativo {
  background: var(--c-dark);
  color: var(--c-light);
  border-color: var(--c-dark);
}

.galerias .fotos {
  /* Unite Gallery handles its own layout — do not set display:grid here */
  width: 100%;
}

/* Fallback styles when JS/UG is not active */
.galerias .fotos:not([style]) {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
}

.galerias .fotos a {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-sm);
  aspect-ratio: 4 / 3;
}

.galerias .fotos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base);
}

.galerias .fotos a:hover img {
  transform: scale(1.03);
}

.ilustrativas {
  text-align: center;
  font-size: 0.75rem;
  opacity: 0.5;
  margin-top: var(--space-md);
}

.tabs {
  display: flex;
  justify-content: center;
  gap: var(--space-xs);
  margin-block: var(--space-lg);
  flex-wrap: wrap;
}

.tabs li {
  border: 1px solid var(--c-light-30);
  color: var(--c-light);
  cursor: pointer;
  padding: 0.6rem 1.5rem;
  border-radius: 100px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  transition: background var(--transition-fast), border-color var(--transition-fast);
}

.tabs li:hover {
  border-color: var(--c-light);
}

.tabs .ativo {
  background: var(--c-light);
  color: var(--c-dark);
  border-color: var(--c-light);
}

.cont-tab {
  display: none;
}

.cont-tab.ativo {
  display: block;
}

.localizacao {
  background: var(--c-dark);
  color: var(--c-light);
  display: grid;
  grid-template-columns: 2fr 3fr;
  align-items: stretch;
  min-height: 450px;
}

.localizacao .col-full {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-md);
}

.localizacao .titulo h2 {
  color: var(--c-light);
  line-height: 1;
}

.localizacao .titulo h2 i {
  color: var(--c-light);
  opacity: 0.75;
}

.localizacao .l-endereco {
  font-size: 0.9rem;
  opacity: 0.65;
  line-height: 1.6;
  margin: 0;
}

.localizacao .detalhes {
  font-size: 0.875rem;
  opacity: 0.5;
  line-height: 1.7;
  margin: 0;
}

.localizacao iframe {
  width: 100%;
  height: 100%;
  min-height: 450px;
  border: none;
  display: block;
  filter: grayscale(0.2);
}

/* ========================================
   OBRAS / INTERESSE / FORMULARIOS
   ======================================== */
.obras {
  background: var(--c-light);
  color: var(--c-dark);
  padding-block: var(--space-3xl);
  border-top: 1px solid var(--c-dark-10);
}

.obras .titulo h2 {
  color: var(--c-dark);
}

.obras .titulo h2 i {
  color: var(--c-dark-30);
}

.lista-obras {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  width: min(100% - var(--container-pad) * 2, var(--container-max));
  margin-inline: auto;
}

.s-obra {
  text-align: left;
  padding: var(--space-md);
  border: 1px solid var(--c-dark-10);
  border-radius: var(--radius-md);
}

.s-obra i {
  font-size: 1.5rem;
  opacity: 0.3;
  margin-bottom: var(--space-sm);
  display: block;
}

.s-obra h4 {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  opacity: 0.5;
  margin-bottom: var(--space-xs);
}

.s-obra h3 {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 600;
  line-height: 1;
}

.interesse {
  background: var(--c-light);
  color: var(--c-dark);
  padding-block: var(--space-xl);
  border-top: 1px solid var(--c-dark-10);
}

.interesse .col-grid {
  align-items: start;
}

.interesse .titulo {
  grid-column: span 5;
}

.interesse .form {
  grid-column: span 7;
}

.interesse .titulo h2 {
  color: var(--c-dark);
}

.interesse .titulo h2 i {
  color: var(--c-dark-30);
}

.interesse .titulo p {
  opacity: 0.7;
  margin-top: var(--space-sm);
}

/* Formularios */
form input[type="text"],
form input[type="email"],
form input[type="file"],
form input[type="password"],
form input[type="number"],
form select,
form textarea {
  background: transparent;
  border: none;
  border-right: 1px solid var(--c-light-30);
  border-bottom: 1px solid var(--c-light-30);
  border-radius: 0 0 var(--radius-md) 0;
  color: inherit;
  width: 100%;
  padding: 0.5rem 0;
  font-size: 1rem;
  margin-bottom: var(--space-sm);
  transition: border-color var(--transition-fast);
}

form input:focus,
form select:focus,
form textarea:focus {
  outline: none;
  border-color: var(--c-light);
}

form input[type="submit"],
form input[type="button"],
form button,
.button {
  background: var(--c-light);
  color: var(--c-dark);
  border: 1px solid var(--c-light);
  cursor: pointer;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  padding: 0.7rem 1.8rem;
  border-radius: 100px;
  display: block;
  margin-top: var(--space-sm);
  transition: background var(--transition-base), color var(--transition-base);
}

form input[type="submit"]:hover,
form input[type="button"]:hover,
form button:hover,
.button:hover {
  background: transparent;
  color: var(--c-light);
  opacity: 1;
}

.interesse form input[type="text"],
.interesse form input[type="email"],
.interesse form select,
.interesse form textarea {
  border-color: var(--c-dark-30);
  color: var(--c-dark);
}

.interesse form input::placeholder,
.interesse form textarea::placeholder {
  color: var(--c-dark-60);
}

.interesse .botao {
  background: var(--c-dark);
  color: var(--c-light);
  float: right;
  margin-top: 0;
  border-color: var(--c-dark);
}

.interesse .botao:hover {
  background: transparent;
  color: var(--c-dark);
}

/* ========================================
   CONTATO / TABS CONTATO
   ======================================== */
.page-contato .conteudo,
.page-trabalhe-conosco .conteudo {
  background: var(--c-light);
  padding-block: var(--space-3xl);
}

.page-contato .conteudo,
.page-trabalhe-conosco .conteudo {
  background: var(--c-light);
  padding-block: var(--space-3xl);
}

.page-contato .cont-interna,
.page-trabalhe-conosco .cont-interna {
  max-width: 680px;
  margin-inline: auto;
}

.page-contato .cont-interna h2,
.page-trabalhe-conosco .cont-interna h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 300;
  margin-bottom: var(--space-md);
}

.page-contato .cont-interna p,
.page-trabalhe-conosco .cont-interna p {
  opacity: 0.8;
  line-height: 1.8;
}

.page-contato form,
.page-trabalhe-conosco form {
  margin-top: var(--space-lg);
}

.page-contato .grid-contato {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: start;
  max-width: 1000px;
  margin-inline: auto;
}

.page-contato .info-contato h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 300;
  margin-bottom: var(--space-md);
}

.page-contato .info-contato h2 i {
  font-family: var(--font-display);
}

.page-contato .info-contato > p {
  opacity: 0.7;
  line-height: 1.7;
  margin-bottom: var(--space-lg);
}

.page-contato .contato-item {
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--c-dark-10);
}

.page-contato .contato-item:last-child {
  border-bottom: none;
}

.page-contato .contato-item h4 {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  opacity: 0.5;
  margin-bottom: var(--space-xs);
}

.page-contato .contato-item p,
.page-contato .contato-item a {
  opacity: 0.85;
  font-size: 1rem;
  line-height: 1.6;
}

.page-contato .contato-item a:hover {
  opacity: 1;
}

.page-contato form input[type="text"],
.page-contato form input[type="email"],
.page-contato form textarea,
.page-trabalhe-conosco form input[type="text"],
.page-trabalhe-conosco form input[type="email"],
.page-trabalhe-conosco form textarea {
  border-color: var(--c-dark-30);
  color: var(--c-dark);
}

.page-contato form input::placeholder,
.page-contato form textarea::placeholder,
.page-trabalhe-conosco form input::placeholder,
.page-trabalhe-conosco form textarea::placeholder {
  color: var(--c-dark-60);
}

.page-contato form input[type="submit"],
.page-trabalhe-conosco form input[type="submit"] {
  background: var(--c-dark);
  color: var(--c-light);
  border-color: var(--c-dark);
}

.page-contato form input[type="submit"]:hover,
.page-trabalhe-conosco form input[type="submit"]:hover {
  background: transparent;
  color: var(--c-dark);
}

.tabs-contato {
  display: flex;
  justify-content: center;
  gap: var(--space-xs);
  margin-bottom: var(--space-xl);
  flex-wrap: wrap;
}

.tabs-contato li {
  border: 1px solid var(--c-dark-30);
  cursor: pointer;
  padding: 0.6rem 1.5rem;
  border-radius: 100px;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  transition: background var(--transition-fast), border-color var(--transition-fast);
}

.tabs-contato li:hover {
  border-color: var(--c-dark);
}

.tabs-contato li a {
  color: var(--c-dark);
}

.tabs-contato .ativo {
  background: var(--c-dark);
  border-color: var(--c-dark);
}

.tabs-contato .ativo a {
  color: var(--c-light);
}

/* ========================================
   CORRETOR / LOGIN
   ======================================== */
.lista-materiais,
.disponibilidade {
  margin-block: var(--space-sm);
}

.lista-materiais li,
.disponibilidade li {
  display: inline-block;
  margin: 0 var(--space-xs) var(--space-xs) 0;
}

.lista-materiais a,
.disponibilidade a {
  background: var(--c-dark);
  color: var(--c-light);
  display: inline-block;
  padding: 0.35rem 1rem;
  border-radius: 100px;
  font-size: 0.85rem;
  transition: opacity var(--transition-fast);
}

.lista-materiais a:hover,
.disponibilidade a:hover {
  opacity: 0.8;
}

.corretor {
  margin-block: var(--space-md) var(--space-2xl);
}

.page-espaco-do-corretor .geral,
#empreendimento-corretor .geral,
.page-minha-conta .geral {
  padding-bottom: 0;
}

.page-espaco-do-corretor .rodape,
#empreendimento-corretor .rodape,
.page-minha-conta .rodape {
  display: none;
}

#area-do-corretor .topo {
  display: none;
}

#area-do-corretor .topo-pagina {
  padding-block: var(--space-2xl);
}

#area-do-corretor .topo-pagina .logo {
  display: block;
  text-align: center;
  margin-bottom: var(--space-md);
}

#area-do-corretor .topo-pagina .logo img {
  max-height: 80px;
}

#area-do-corretor .topo-pagina h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  text-align: center;
  font-weight: 700;
}

#area-do-corretor .login-corretor {
  max-width: 420px;
  margin-inline: auto;
}

#area-do-corretor .tabs {
  margin: var(--space-md) 0 0;
}

#area-do-corretor .tabs li {
  border-color: var(--c-light-30);
  color: var(--c-light);
  width: 50%;
  text-align: center;
  border-radius: 100px 0 0 100px;
}

#area-do-corretor .tabs li:last-child {
  border-radius: 0 100px 100px 0;
}

#area-do-corretor .tabs .ativo {
  background: var(--c-light);
  color: var(--c-dark);
}

/* ========================================
   PAGINACAO / 404
   ======================================== */
.paginacao {
  margin-top: var(--space-lg);
}

.wp-pagenavi {
  text-align: center;
  display: flex;
  justify-content: center;
  gap: var(--space-xs);
}

.wp-pagenavi a,
.wp-pagenavi span {
  padding: 0.4rem 0.8rem;
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
}

.wp-pagenavi a {
  background: var(--c-dark-10);
  color: var(--c-dark);
}

.wp-pagenavi .current {
  background: var(--c-dark);
  color: var(--c-light);
}

.pag-404 {
  text-align: center;
  padding-block: var(--space-2xl);
}

.pag-404 h1 {
  font-size: clamp(5rem, 12vw, 8rem);
  text-transform: uppercase;
  color: var(--c-dark);
  font-weight: 900;
  line-height: 1;
}

.pag-404 h2 {
  font-size: 1.1rem;
  font-weight: 300;
  letter-spacing: 0.05em;
}

/* ========================================
   WORDPRESS / UTILITARIOS
   ======================================== */
img.alignleft,
img.alignright,
img.aligncenter,
img.alignnone {
  height: auto;
  margin-bottom: var(--space-sm);
  max-width: 100%;
}

img.alignleft {
  float: left;
  margin-right: var(--space-md);
}

img.alignright {
  float: right;
  margin-left: var(--space-md);
}

img.aligncenter {
  margin-inline: auto;
  display: block;
}

.wpcf7 {
  width: 100%;
}

.hidden-fields-container {
  display: none;
}

.wpcf7-form-control-wrap {
  display: block;
}

.wpcf7-not-valid-tip {
  color: #fff;
  background: #ff4747;
  padding: 0.4rem 0.6rem;
  border-radius: 0 0 var(--radius-md) 0;
  font-size: 0.85rem;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 10;
}

.wpcf7-response-output {
  padding: var(--space-sm) var(--space-md);
  margin-top: var(--space-sm);
  border-radius: var(--radius-md);
  font-size: 0.95rem;
}

.wpcf7 form.sent .wpcf7-response-output {
  background: #c1ffa6;
  border: 1px solid #77ff3c;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border: 1px solid #f7e700;
  background: #fdffbf;
}

.wpcf7-spinner {
  visibility: hidden;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--c-dark);
  opacity: 0.75;
  display: inline-block;
}

.grecaptcha-badge {
  opacity: 0;
}

#cookie-law-info-bar {
  z-index: 99999999999 !important;
}

/* ========================================
   ANIMACOES NATIVAS — Reveal on scroll
   ======================================== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

html.js .reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

html.js .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger para grids */
.lista-empreendimentos .empreendimento:nth-child(1) { transition-delay: 0ms; }
.lista-empreendimentos .empreendimento:nth-child(2) { transition-delay: 80ms; }
.lista-empreendimentos .empreendimento:nth-child(3) { transition-delay: 160ms; }
.lista-empreendimentos .empreendimento:nth-child(4) { transition-delay: 240ms; }
.lista-empreendimentos .empreendimento:nth-child(5) { transition-delay: 320ms; }
.lista-empreendimentos .empreendimento:nth-child(6) { transition-delay: 400ms; }
.lista-empreendimentos .empreendimento:nth-child(7) { transition-delay: 480ms; }
.lista-empreendimentos .empreendimento:nth-child(8) { transition-delay: 560ms; }

.numero:nth-child(2) { transition-delay: 100ms; }
.numero:nth-child(3) { transition-delay: 200ms; }
.numero:nth-child(4) { transition-delay: 300ms; }
.numero:nth-child(5) { transition-delay: 400ms; }

/* ========================================
   RESPONSIVO
   ======================================== */
@media (max-width: 1300px) {
  .menu {
    position: fixed;
    inset: 0 0 0 auto;
    width: min(280px, 80vw);
    background: var(--c-dark);
    color: var(--c-light);
    flex-direction: column;
    align-items: stretch;
    padding: var(--space-lg) var(--space-md);
    transform: translateX(100%);
    transition: transform var(--transition-base);
    z-index: 100000;
  }

  .menu.is-open {
    transform: translateX(0);
  }

  .menu ul {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .menu li {
    border-bottom: 1px solid var(--c-light-15);
  }

  .menu a {
    display: block;
    padding: var(--space-sm) 0;
  }

  .menu a:hover {
    background: none;
    opacity: 0.7;
  }

  .menu .whatsapp {
    background: none;
    padding: var(--space-sm) 0;
    border-radius: 0;
  }

  .menu-responsive {
    display: block;
    font-size: 2rem;
    cursor: pointer;
    color: var(--c-dark);
  }

  .f-responsive {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: var(--space-md);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--c-light-30);
  }

  .f-responsive i {
    cursor: pointer;
    font-size: 1.2rem;
  }

  .menu span {
    display: inline;
  }

  .topo-fixo {
    position: absolute;
  }

  .topo-fixo .cont-topo {
    padding-block: var(--space-md);
  }

  .topo-fixo .logo img {
    height: 48px;
  }
}

@media (max-width: 1169px) {
  .lista-empreendimentos {
    grid-template-columns: repeat(2, 1fr);
  }
  .cont-rodape {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }
}

@media (max-width: 960px) {
  .single-empreendimentos .foto-empreendimento,
  .single-empreendimentos .cont-empreendimento {
    grid-column: span 12;
  }
  .single-empreendimentos .cont-empreendimento {
    padding-left: 0;
  }
  .localizacao {
    grid-template-columns: 1fr;
  }
  .localizacao .col-full {
    padding: var(--space-lg);
  }
  .localizacao iframe {
    height: 350px;
    min-height: 350px;
  }
}

@media (max-width: 700px) {
  .lista-empreendimentos {
    grid-template-columns: 1fr;
  }

  .lista-numeros {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-xl) var(--space-md);
  }

  .sobre .col-esq,
  .sobre .col-dir {
    grid-column: span 12;
  }

  .sobre .texto {
    padding-left: 0;
    margin-top: var(--space-md);
  }

  .sobre .mais {
    margin-inline: auto 0;
  }

  .cont-rodape {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .single-empreendimentos .foto-empreendimento,
  .single-empreendimentos .cont-empreendimento {
    grid-column: span 12;
  }

  .single-empreendimentos .foto-empreendimento {
    margin-bottom: var(--space-md);
  }

  .single-empreendimentos .cont-empreendimento {
    padding-left: 0;
  }

  .lista-dif-destaque {
    grid-template-columns: 1fr;
  }

  .localizacao .col-full {
    padding: var(--space-md);
  }



  .lista-diferenciais {
    grid-template-columns: repeat(2, 1fr);
  }

  .lista-obras {
    grid-template-columns: repeat(3, 1fr);
  }

  .interesse .titulo,
  .interesse .form {
    grid-column: span 12;
  }

  .page-contato .grid-contato {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .galerias .fotos {
    grid-template-columns: repeat(2, 1fr);
  }

  .interesse .titulo {
    margin-bottom: var(--space-md);
  }
}

@media (max-width: 700px) {
  .info-slide h2 {
    font-size: clamp(2.5rem, 10vw, 4rem);
  }

  .slides-pagination {
    right: var(--space-sm);
  }

  .lista-numeros {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .numero h3 {
    font-size: 4rem;
  }

  .lista-diferenciais {
    grid-template-columns: 1fr;
  }

  .lista-obras {
    grid-template-columns: repeat(2, 1fr);
  }

  .barra-rodape > div {
    flex-direction: column;
    gap: var(--space-xs);
  }

  .tabs li,
  .tabs-contato li {
    width: 100%;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html.js .reveal {
    opacity: 1;
    transform: none;
  }
}
