/* =========================================================
   TERRAS DE ZUI RESIDENCIAL — estilo
   Paleta premium do book: marinho profundo + dourado + creme.
   (Sem magenta: o logo virá na cor oficial.)
   ========================================================= */

/* ---------- Fontes da marca (auto-hospedadas) ---------- */
@font-face{ font-family:"Gotham"; src:url("fonts/Gotham-Thin.otf") format("opentype");
  font-weight:100; font-style:normal; font-display:swap; }
@font-face{ font-family:"Gotham"; src:url("fonts/Gotham-Light.otf") format("opentype");
  font-weight:300; font-style:normal; font-display:swap; }
@font-face{ font-family:"Gotham"; src:url("fonts/Gotham-Book.otf") format("opentype");
  font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"Gotham"; src:url("fonts/Gotham-Medium.otf") format("opentype");
  font-weight:500; font-style:normal; font-display:swap; }
@font-face{ font-family:"Gotham"; src:url("fonts/Gotham-Bold.otf") format("opentype");
  font-weight:700; font-style:normal; font-display:swap; }
@font-face{ font-family:"Riverstyle"; src:url("fonts/Riverstyle.otf") format("opentype");
  font-weight:400; font-style:normal; font-display:swap; }

:root{
  --deep:      #0c2b3a;   /* marinho profundo (fundos) */
  --deep-2:    #10394d;   /* marinho texturizado */
  --deep-3:    #0a222e;   /* mais escuro */
  --gold:      #c6a56a;   /* dourado champanhe */
  --gold-soft: #d9c391;
  --cream:     #f4efe6;   /* creme (texto claro / fundos claros) */
  --cream-2:   #ece4d5;
  --ink:       #23303a;   /* texto sobre claro */
  --ink-soft:  #55606a;
  --green:     #3f6b4f;   /* natureza (acento sutil) */
  --line:      rgba(198,165,106,.35);

  --font-serif:  "Gotham", -apple-system, "Segoe UI", sans-serif; /* títulos (fiel ao book) */
  --font-sans:   "Gotham", -apple-system, "Segoe UI", sans-serif;
  --font-script: "Riverstyle", cursive;

  --maxw: 1180px;
  --pad: clamp(20px, 5vw, 64px);
  --radius: 4px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--font-sans);
  font-weight:300;
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ font-family:var(--font-serif); font-weight:500; line-height:1.1; margin:0; }
h2{ font-size:clamp(1.7rem,4vw,2.2rem); letter-spacing:.5px; }

.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }

/* ---------- utilidades de seção ---------- */
.section--dark,.section--deep{ color:var(--cream); }
.section--dark{ background:var(--deep-2); }
.section--deep{
  background:
    radial-gradient(120% 120% at 80% 10%, rgba(198,165,106,.10), transparent 60%),
    linear-gradient(160deg, var(--deep), var(--deep-3));
}
section{ padding-block:clamp(56px, 9vw, 120px); position:relative; }

.eyebrow{
  font-size:.72rem; letter-spacing:.32em; text-transform:uppercase;
  font-weight:500; color:var(--gold); margin:0 0 1.1rem;
}
.eyebrow--dark{ color:var(--green); }
.section--dark .eyebrow--dark,.localizacao .eyebrow--dark{ color:var(--gold); }

.script{ font-family:var(--font-script); font-weight:400; line-height:1;
  font-size:clamp(2.6rem,6vw,4.6rem); margin:0; }
.script--gold,.script.script--gold{ color:var(--gold); }

.lead{ font-size:1.12rem; }

/* ---------- botões ---------- */
.btn{
  display:inline-block; font-family:var(--font-sans); font-weight:500;
  font-size:.78rem; letter-spacing:.22em; text-transform:uppercase;
  padding:16px 34px; border-radius:var(--radius); cursor:pointer;
  border:1px solid transparent; transition:.35s var(--ease); text-align:center;
}
.btn--gold{ background:var(--gold); color:var(--deep-3); }
.btn--gold:hover{ background:var(--gold-soft); transform:translateY(-2px); }
.btn--outline{ border-color:var(--gold); color:var(--gold); background:transparent; }
.btn--outline:hover{ background:var(--gold); color:var(--deep-3); }
.btn--block{ width:100%; }

/* ---------- placeholders de imagem ---------- */
.ph{ position:relative; background:
    linear-gradient(135deg, var(--deep-2), var(--deep-3));
    overflow:hidden; }
.ph::after{
  content:attr(data-label);
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:1.2rem;
  font-size:.72rem; letter-spacing:.06em; color:rgba(244,239,230,.55);
  font-family:var(--font-sans); font-weight:400;
  background:repeating-linear-gradient(45deg, transparent, transparent 14px, rgba(198,165,106,.05) 14px, rgba(198,165,106,.05) 28px);
}
.ph--logo{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:130px; min-height:52px; padding:0 18px;
  border:1px dashed var(--line); border-radius:var(--radius);
  font-family:var(--font-serif); letter-spacing:.15em; color:var(--gold);
  background:transparent;
}
.ph--logo::after{ content:none; }

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:.4s var(--ease);
  background:linear-gradient(to bottom, rgba(10,34,46,.55), transparent);
}
.site-header.is-stuck{
  background:var(--deep-3); box-shadow:0 6px 24px rgba(0,0,0,.28);
}
.header__inner{ display:flex; align-items:center; justify-content:space-between;
  gap:clamp(20px, 4vw, 56px); padding-block:14px; }

.brand{ display:flex; align-items:center; color:var(--cream); flex:0 0 auto; }
.brand__img{ height:clamp(40px, 5vw, 52px); width:auto; display:block; }

.nav__list{ list-style:none; display:flex; align-items:center;
  gap:clamp(16px, 1.8vw, 30px); margin:0; padding:0; flex-wrap:nowrap; }
.nav__list li{ flex:0 0 auto; }
.nav__list a{ display:inline-block; white-space:nowrap;
  font-size:clamp(.7rem, .9vw, .78rem); letter-spacing:.1em; text-transform:uppercase;
  color:var(--cream); font-weight:400; transition:color .3s; }
.nav__list a:hover{ color:var(--gold); }
.nav__cta{ border:1px solid var(--gold); color:var(--gold)!important;
  padding:10px 18px; border-radius:var(--radius); white-space:nowrap; }
.nav__cta:hover{ background:var(--gold); color:var(--deep-3)!important; }

.nav__toggle{ display:none; flex-direction:column; gap:5px; background:none;
  border:0; cursor:pointer; padding:8px; }
.nav__toggle span{ width:26px; height:2px; background:var(--cream); transition:.3s; }

/* =========================================================
   HERO
   ========================================================= */
.hero{ min-height:100svh; display:flex; align-items:flex-end; justify-content:center;
  text-align:center; padding:0; overflow:hidden; }
.hero__media{ position:absolute; left:0; right:0;
  top:-20%; height:140%;             /* folga p/ o parallax se mover sem revelar borda */
  background-image:url('../img/hero.jpg');
  background-size:cover;
  background-position:left center;   /* ancora na árvore (lado esquerdo) */
  background-repeat:no-repeat;
  background-color:var(--deep-3);    /* fundo enquanto a imagem não carrega */
  will-change:transform;
}
@media (max-width:640px){
  /* no recorte estreito do celular, "left" corta a árvore; reancora no centro dela */
  .hero__media{ background-position:20% center; }
}
.hero__overlay{ position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(10,34,46,.5), rgba(10,34,46,.35) 40%, rgba(10,34,46,.75)); }
.hero__content{ position:relative; z-index:2; color:var(--cream);
  margin-bottom:clamp(90px, 15vh, 140px); /* posiciona o bloco na área de baixo (frente) */ }
.hero .eyebrow{ color:var(--gold-soft); }
.hero__logo{ margin:0 0 1.8rem; }
.hero__logo img{ display:block; margin:0 auto;
  width:min(420px, 78vw); height:auto; }
/* Hero — versão atualizada (frase manuscrita + Gotham) */
.hero__statement{ max-width:min(780px, 92vw); margin:0 auto 2.2rem; }
.hero__content .btn{ margin-top:1.9rem; } /* respiro acima do "Quero conhecer" (~30px) */
/* título em Gotham — statement estruturado */
.hero__statement-title{ display:block; font-family:var(--font-sans);
  font-weight:300; text-transform:uppercase; letter-spacing:.14em;
  color:var(--cream); line-height:1.25; margin-bottom:.1rem;
  font-size:clamp(1.4rem, 4vw, 1.8rem);
  text-shadow:0 2px 20px rgba(6,20,28,.4); }
.hero__line{ display:block; } /* quebra determinística após "beira" */
/* assinatura em Riverstyle — colada ao título, como o "Zuí Devós" do Legado */
.hero__statement-sign{ display:block; white-space:nowrap;
  font-family:var(--font-script); font-weight:400; color:var(--gold-soft);
  line-height:1; letter-spacing:normal; text-transform:none;
  font-size:clamp(2.4rem, 6.2vw, 4.4rem);
  text-shadow:0 2px 24px rgba(6,20,28,.45); }
.hero__tagline{ font-family:var(--font-serif); font-weight:400;
  font-size:clamp(1.1rem,2.4vw,1.5rem); letter-spacing:.06em;
  margin:0 auto 2.4rem; max-width:32ch; }
.hero__scroll{ position:absolute; bottom:30px; left:50%; transform:translateX(-50%);
  width:26px; height:44px; border:1px solid rgba(244,239,230,.5); border-radius:14px; z-index:2; }
.hero__scroll span{ position:absolute; top:8px; left:50%; width:3px; height:8px;
  margin-left:-1.5px; background:var(--gold); border-radius:2px;
  animation:scroll 1.8s var(--ease) infinite; }
@keyframes scroll{ 0%{opacity:0;transform:translateY(0)} 40%{opacity:1} 100%{opacity:0;transform:translateY(14px)} }

/* =========================================================
   MANIFESTO
   ========================================================= */
.manifesto{ position:relative; padding:0; color:var(--cream); overflow:hidden;
  display:flex; align-items:center;
  min-height:clamp(520px, 80vh, 780px); }
.manifesto__media{ position:absolute; inset:0;
  background-image:url('../img/manifesto.jpg');
  background-size:cover; background-position:left center; background-repeat:no-repeat;
  background-color:var(--deep-3); }
.manifesto__overlay{ position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(10,34,46,.15) 0%, rgba(10,34,46,.55) 45%, rgba(10,34,46,.88) 100%); }
.manifesto__inner{ position:relative; z-index:2; display:flex; justify-content:flex-end;
  padding-block:clamp(50px,8vw,90px); }
.manifesto__text{ max-width:460px; }
.manifesto__text p{ font-size:1.05rem; margin:0 0 1.3rem; color:rgba(244,239,230,.88); }
.manifesto__text strong{ color:var(--cream); font-weight:500; }
.manifesto__mantra{ font-family:var(--font-serif); font-size:1.4rem!important;
  color:var(--gold)!important; line-height:1.4; }

/* =========================================================
   VÍDEO
   ========================================================= */
.video-section{ text-align:center; }
.video-wrap{ position:relative; width:76%; max-width:1190px; margin:0 auto; }
.video-player{ width:100%; height:auto; display:block; border-radius:8px;
  background:#000; box-shadow:0 24px 60px rgba(0,0,0,.4); }
.video-frame{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.video-poster,.video-yt,.video-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-poster{ object-fit:cover; transition:opacity .4s; }
.video-frame.is-playing .video-poster{ opacity:0; pointer-events:none; }
.video-frame:fullscreen{ border-radius:0; }
/* botão de play customizado — círculo azul + seta dourada */
.video-play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:clamp(32px,4vw,46px); height:clamp(32px,4vw,46px); border-radius:50%;
  border:2px solid var(--gold); cursor:pointer; z-index:2;
  background:var(--deep); display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 34px rgba(0,0,0,.45); transition:transform .3s var(--ease), background .3s, opacity .3s; }
.video-play:hover{ transform:translate(-50%,-50%) scale(1.08); background:var(--deep-2); }
.video-play svg{ width:70%; height:70%; fill:var(--gold); margin-left:5%; }
.video-play.is-hidden{ opacity:0; visibility:hidden; }
.video-cta{ margin-top:clamp(24px,4vw,40px); }
/* botão "virar o celular" (tela cheia horizontal) — só no mobile */
.video-rotate{ display:none; }
@media (max-width:640px){
  .video-wrap{ width:90%; }
  .video-rotate{ position:absolute; top:10px; right:10px; z-index:3;
    display:inline-flex; align-items:center; gap:6px; cursor:pointer;
    background:rgba(10,34,46,.72); color:var(--cream);
    border:1px solid var(--line); border-radius:100px; padding:7px 12px;
    font-family:var(--font-sans); font-size:.62rem; letter-spacing:.1em;
    text-transform:uppercase; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
  .video-rotate svg{ width:16px; height:16px; flex:0 0 auto; }
}

/* =========================================================
   LEGADO
   ========================================================= */
.legado{ padding:0; color:var(--cream); }
.legado__media{ position:absolute; inset:0;
  background-image:url('../img/zui-invertida.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
  background-color:var(--deep-3); }
.legado__media::before{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(10,34,46,.85) 40%, rgba(10,34,46,.35)); }
.legado__inner{ position:relative; z-index:2; display:flex;
  padding-block:clamp(70px,10vw,130px); }
.legado__card{ max-width:540px; }
.legado__card .script{ color:var(--gold); margin-bottom:.4rem; }
.legado__card h2{ margin:.2rem 0 1.4rem; }
.legado__card p{ color:rgba(244,239,230,.82); margin:0 0 1.1rem; }
.legado__card strong{ color:var(--cream); font-weight:500; }
blockquote{ margin:2rem 0 0; padding-left:20px; border-left:2px solid var(--gold);
  font-family:var(--font-serif); font-style:italic; font-size:1.3rem; color:var(--gold-soft); }
blockquote cite{ display:block; font-size:.85rem; font-style:normal;
  font-family:var(--font-sans); letter-spacing:.1em; margin-top:.6rem; color:var(--cream); }

/* =========================================================
   INCORPORADORAS
   ========================================================= */
.incorporadoras__grid{ display:grid; grid-template-columns:1.1fr 1fr;
  gap:clamp(30px,5vw,70px); align-items:center; }
.incorporadoras__intro .eyebrow{ color:var(--cream); }
.incorporadoras__intro .script{ margin:.4rem 0 1.8rem; }
.logos{ display:flex; gap:28px; flex-wrap:wrap; align-items:center; }
.logo-inc{ height:clamp(44px,5vw,58px); width:auto; display:block; }
.stats{ list-style:none; margin:0; padding:0; display:grid;
  grid-template-columns:1fr 1fr; gap:26px 40px; }
.stats li{ border-top:1px solid var(--line); padding-top:14px; }
.stats strong{ display:block; font-family:var(--font-serif); font-weight:600;
  font-size:clamp(2rem,4vw,2.8rem); color:var(--gold); line-height:1; }
.stats span{ font-size:.82rem; letter-spacing:.08em; color:rgba(244,239,230,.75); }
.incorporadoras__foot{ margin:clamp(40px,6vw,70px) 0 0; max-width:60ch;
  font-size:1.05rem; color:rgba(244,239,230,.85); }
.incorporadoras__foot strong{ color:var(--gold); font-weight:500; }

/* =========================================================
   LOCALIZAÇÃO
   ========================================================= */
.localizacao{ color:var(--cream);
  background:
    radial-gradient(120% 120% at 80% 10%, rgba(198,165,106,.10), transparent 60%),
    linear-gradient(160deg, var(--deep), var(--deep-3)); }
.localizacao__head{ max-width:760px; }
.localizacao__head h2{ margin:.4rem 0 1.2rem; color:var(--cream); }
.localizacao__head .lead{ color:rgba(244,239,230,.82); }
.localizacao__map{ height:clamp(280px,50vw,560px); margin-block:clamp(36px,5vw,60px);
  background-image:url('../img/aereo.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
  background-color:var(--deep-3); }
.localizacao__feats{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.feat{ text-align:center; padding:clamp(24px,3vw,36px);
  border:1px solid var(--line); border-radius:8px;
  background:rgba(244,239,230,.04); }
.feat__num{ display:block; font-family:var(--font-serif); font-weight:600;
  font-size:1.9rem; color:var(--gold); margin-bottom:.4rem; }
.feat p{ margin:0; font-size:.92rem; color:rgba(244,239,230,.8); }

/* =========================================================
   EMPREENDIMENTO / MASTERPLAN
   ========================================================= */
#empreendimento{ padding-block:clamp(32px,5vw,64px); }
/* cabeçalho centralizado + mapa full-width + legenda horizontal embaixo */
.empreendimento__head{ text-align:center; max-width:760px; margin:0 auto;
  margin-bottom:clamp(16px,2.4vw,28px); }
.empreendimento__intro{ font-size:1.02rem; line-height:1.5; font-weight:300;
  text-transform:uppercase; letter-spacing:.05em;
  color:rgba(244,239,230,.9); margin:0 0 1.4rem; }
.empreendimento__intro strong{ color:var(--gold); font-weight:500; }
.empreendimento__label{ font-size:.78rem; letter-spacing:.25em; text-transform:uppercase;
  color:var(--gold); margin:0; }
.empreendimento__size{ font-family:var(--font-serif); font-weight:600; line-height:1;
  font-size:clamp(2rem,3.4vw,2.8rem); color:var(--cream); margin:.25rem 0; }
.empreendimento__size span{ color:var(--gold); }
.empreendimento__sub{ font-size:.76rem; letter-spacing:.25em; text-transform:uppercase;
  color:rgba(244,239,230,.72); margin:0; }
/* mapa reduzido e centralizado, pra caber junto com a legenda numa mesma tela */
.empreendimento__map{ position:relative; width:100%; margin:0 auto; }
.empreendimento__map img{ width:100%; height:auto; display:block; }
/* legenda em colunas, embaixo do mapa */
.empreendimento__foot{ margin-top:clamp(20px,2.5vw,32px);
  max-width:min(1400px,94vw); }
.empreendimento__legend{ list-style:none; margin:0; padding:0;
  column-count:6; column-gap:30px; }
.empreendimento__legend li{ display:flex; align-items:center; gap:9px;
  font-size:.8rem; letter-spacing:.03em; color:rgba(244,239,230,.82);
  cursor:pointer; transition:color .2s;
  break-inside:avoid; margin-bottom:12px; }
.empreendimento__legend li:hover,.empreendimento__legend li.is-active{ color:var(--gold); }
.ln{ flex:0 0 auto; width:22px; height:22px; border-radius:50%;
  border:1px solid var(--gold); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-size:.62rem; font-weight:500; transition:.2s; }
.empreendimento__legend li:hover .ln,.empreendimento__legend li.is-active .ln{
  background:var(--gold); color:var(--deep-3); }
/* hotspots: círculo invisível que, no hover, vira círculo dourado com o número */
.mp-hot{ position:absolute; width:clamp(26px,3vw,38px); aspect-ratio:1;
  transform:translate(-50%,-50%); border-radius:50%; border:0; padding:0;
  cursor:pointer; z-index:2; background:transparent;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-sans); font-weight:600; color:var(--deep-3); line-height:1;
  transition:background .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease); }
.mp-hot::before{ content:attr(data-id); opacity:0;
  font-size:clamp(.8rem,1.3vw,1rem); transition:opacity .2s var(--ease); }
.mp-hot:hover,.mp-hot.is-active{ background:var(--gold);
  transform:translate(-50%,-50%) scale(1.25);
  box-shadow:0 6px 18px rgba(0,0,0,.4); }
.mp-hot:hover::before,.mp-hot.is-active::before{ opacity:1; }
.empreendimento__cta{ text-align:center; margin-top:clamp(26px,3vw,42px); }
.masterplan__hint{ font-size:.72rem; color:rgba(244,239,230,.5);
  margin:14px 0 0; text-align:center; }

/* =========================================================
   ESTRUTURA / GALERIA
   ========================================================= */
.estrutura{ background:var(--cream); }
.estrutura__head{ max-width:720px; margin-bottom:clamp(36px,5vw,56px); }
.estrutura__head h2{ color:var(--ink); margin-top:.4rem; }
/* seção Estrutura usa mais largura que o padrão, aproveitando as margens */
.estrutura .estrutura__head,
.estrutura .gallery{ max-width:min(1500px, 94vw); }
/* galeria — mosaico "bento" */
.gallery{ display:grid; grid-template-columns:1fr 1fr 1.3fr;
  grid-auto-rows:clamp(190px, 24vw, 300px); gap:8px; }
.gallery__item{ position:relative; border-radius:0; overflow:hidden;
  display:flex; align-items:flex-end; cursor:pointer;
  background-size:cover; background-position:center; background-repeat:no-repeat;
  background-color:var(--deep-3); }
.gallery__item:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
.gallery__item::before{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(8,28,38,.72) 0%, rgba(8,28,38,.10) 42%, transparent 62%);
  transition:background .4s var(--ease); }
.gallery__item::after{ content:""; position:absolute; inset:0; z-index:1;
  background:var(--gold); opacity:0; transition:opacity .4s var(--ease); mix-blend-mode:overlay; }
.gallery__item:hover::after{ opacity:.12; }
/* tile de destaque (grande, canto superior esquerdo) */
.gallery__item--feature{ grid-column:1 / span 2; grid-row:1 / span 2; }
.gallery__item figcaption{ position:relative; z-index:2; margin:18px 20px;
  display:flex; flex-direction:column-reverse; gap:2px; }
.gallery__eyebrow{ display:block; font-family:var(--font-sans); font-weight:400;
  font-size:.68rem; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(244,239,230,.85); margin-bottom:0; line-height:1;
  text-shadow:0 2px 10px rgba(0,0,0,.5); }
.gallery__title{ display:block; font-family:var(--font-sans); font-weight:400;
  font-size:1.15rem; color:var(--cream); letter-spacing:.02em; line-height:1.1;
  text-shadow:0 2px 12px rgba(0,0,0,.6); transition:color .3s; }
.gallery__item--feature .gallery__title{ font-weight:300;
  font-size:clamp(1.6rem, 2.6vw, 2.2rem); }
.gallery__item:hover .gallery__title{ color:var(--gold-soft); }
.amenidades{ margin-top:clamp(48px,6vw,74px); text-align:center; }
.amenidades__title{ font-family:var(--font-sans); font-weight:500;
  text-transform:uppercase; letter-spacing:.16em;
  font-size:clamp(1rem,2vw,1.35rem); color:var(--gold); margin:0 0 1.8rem; }
.amenidades ul{ list-style:none; margin:0 auto; padding:0; max-width:1000px;
  display:flex; flex-wrap:wrap; justify-content:center; gap:12px 14px; }
.amenidades li{ display:inline-flex; align-items:center; gap:10px;
  font-size:.92rem; letter-spacing:.01em; color:var(--ink);
  border:0; border-radius:var(--radius); padding:12px 20px;
  background:transparent; transition:background .3s; }
.amenidades li:hover{ background:rgba(255,255,255,.4); }
.amenidades .ic{ width:26px; height:26px; flex:0 0 auto; color:var(--green);
  fill:none; stroke:currentColor; stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round; }
.amenidades li:hover .ic{ color:var(--gold); }

/* =========================================================
   PAISAGISMO
   ========================================================= */
/* estilo Legado: vista aérea de fundo + texto sobreposto no lado escurecido */
.paisagismo{ padding:0; color:var(--cream); position:relative; overflow:hidden; }
.paisagismo__media{ position:absolute; inset:0;
  background-image:url('../img/paisagismo-vista.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
  background-color:var(--deep-3);
  filter:saturate(1.05); }
/* escurecimento pesado à esquerda (leitura) + vinheta + grão p/ disfarçar a compressão */
.paisagismo__media::before{ content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(90deg, rgba(10,34,46,.94) 34%, rgba(10,34,46,.55) 100%),
    linear-gradient(0deg, rgba(10,34,46,.5), transparent 55%); }
.paisagismo__media::after{ content:""; position:absolute; inset:0; z-index:1;
  pointer-events:none; opacity:.10; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.paisagismo__inner{ position:relative; z-index:2; display:flex;
  padding-block:clamp(70px,10vw,130px); }
.paisagismo__card{ max-width:600px; }
.paisagismo__card .script{ font-size:clamp(2.6rem,6vw,4.6rem); line-height:1;
  margin:0 0 1.3rem; }
.paisagismo__card .eyebrow{ margin:0 0 1.2rem; }
.paisagismo__card h2{ margin:0 0 1.4rem; }
.paisagismo__card p{ color:rgba(244,239,230,.85); margin:0 0 1.1rem; }
.paisagismo__card strong{ color:var(--gold); font-weight:500; }
.paisagismo__logo{ display:block; width:clamp(180px,16vw,220px); height:auto;
  margin:1.8rem 0 0; }

/* =========================================================
   VIDA NA ÁGUA
   ========================================================= */
.agua{ position:relative; color:var(--cream); overflow:hidden;
  display:flex; align-items:center; min-height:70vh; }
.agua__media{ position:absolute; inset:0;
  background-image:url('../img/agua.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
  background-color:var(--deep-3); }
.agua__overlay{ position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(10,34,46,.85) 30%, rgba(10,34,46,.25)); }
.agua__inner{ position:relative; z-index:2; }
.agua__content{ max-width:520px; }
.agua .eyebrow{ color:var(--cream); }
.agua .script{ margin:.2rem 0 1.2rem; }
.agua__text{ font-size:1.05rem; color:rgba(244,239,230,.9); }

/* =========================================================
   CONTATO / FORM
   ========================================================= */
.contato__grid{ display:grid; grid-template-columns:1fr 1.1fr;
  gap:clamp(36px,5vw,70px); align-items:start; }
.contato__intro .script{ margin-bottom:.6rem; }
.contato__intro h2{ margin:0 0 1rem; }
.contato__intro p{ color:rgba(244,239,230,.82); max-width:42ch; }
.form{ background:rgba(244,239,230,.04); border:1px solid var(--line);
  border-radius:8px; padding:clamp(24px,3vw,36px); }
.form__row{ margin-bottom:18px; }
.form__row--2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form label{ display:block; font-size:.78rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gold); font-weight:500; }
.form .opt{ text-transform:none; letter-spacing:0; color:rgba(244,239,230,.5); }
.form input,.form textarea{ width:100%; margin-top:8px; padding:13px 14px;
  background:rgba(10,34,46,.4); border:1px solid var(--line); border-radius:var(--radius);
  color:var(--cream); font-family:var(--font-sans); font-size:.95rem; font-weight:300;
  transition:border-color .3s; }
.form input:focus,.form textarea:focus{ outline:none; border-color:var(--gold); }
.form textarea{ resize:vertical; }
.form__check{ display:flex; gap:10px; align-items:flex-start;
  text-transform:none!important; letter-spacing:0!important; color:rgba(244,239,230,.7)!important;
  font-size:.82rem!important; margin:6px 0 20px; }
.form__check input{ width:auto; margin-top:3px; flex-shrink:0; }
.form input::placeholder,.form textarea::placeholder{ color:rgba(244,239,230,.32); }
.form input[aria-invalid="true"]{ border-color:#e6a4a4; }
.form__erro{ display:block; min-height:1.1em; margin-top:6px; font-size:.78rem; letter-spacing:0;
  text-transform:none; font-weight:400; color:#e6a4a4; }
.form__erro:empty{ min-height:0; margin-top:0; }
.form__erro--check{ margin:-14px 0 14px; }
.form__erro button{ font:inherit; color:var(--gold-soft); background:none; border:0; padding:0;
  text-decoration:underline; cursor:pointer; }
.form__hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form__captcha{ margin:16px 0 4px; min-height:65px; }
.form__status{ margin:14px 0 0; font-size:.88rem; min-height:1.2em; }
.form__status.is-ok{ color:var(--gold-soft); }
.form__status.is-err{ color:#e6a4a4; }

/* =========================================================
   FOOTER
   ========================================================= */
.footer{ background:var(--deep-3); color:rgba(244,239,230,.7);
  padding-block:clamp(50px,6vw,72px) 30px; }
.footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:36px; padding-bottom:40px; border-bottom:1px solid rgba(198,165,106,.18); }
.footer__logo{ height:auto; width:clamp(150px, 16vw, 190px); margin-bottom:16px; }
.footer__brand p{ font-family:var(--font-serif); font-style:italic;
  color:var(--gold-soft); margin:0; }
.footer__col h3{ font-family:var(--font-sans); font-size:.72rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold); margin:0 0 14px; font-weight:500; }
.footer__col p{ margin:0 0 8px; font-size:.9rem; }
.footer__col a:hover{ color:var(--gold); }
.footer__legal{ padding-top:26px; }
.footer__legal p{ font-size:.72rem; line-height:1.6; color:rgba(244,239,230,.45);
  margin:0 0 8px; }
.footer__copy{ color:rgba(244,239,230,.6)!important; }

/* =========================================================
   LIGHTBOX / SHADOWBOX
   ========================================================= */
.lightbox{ position:fixed; inset:0; z-index:200;
  display:flex; align-items:center; justify-content:center; padding:5vw;
  background:rgba(6,20,28,.95);
  opacity:0; visibility:hidden; transition:opacity .35s var(--ease), visibility .35s; }
.lightbox.is-open{ opacity:1; visibility:visible; }
.lightbox__content{ margin:0; max-width:min(1100px,92vw); text-align:center; }
.lightbox__img{ max-width:100%; max-height:78vh; width:auto; height:auto; margin:0 auto;
  border-radius:var(--radius); border:1px solid rgba(198,165,106,.3);
  box-shadow:0 24px 70px rgba(0,0,0,.55); }
.lightbox__caption{ margin-top:18px; font-family:var(--font-serif); font-size:1.4rem;
  color:var(--gold); letter-spacing:.04em; }
.lightbox__close{ position:absolute; top:20px; right:28px; z-index:2;
  background:none; border:0; color:var(--cream); font-size:2.6rem; line-height:1;
  cursor:pointer; transition:color .3s; }
.lightbox__close:hover{ color:var(--gold); }
.lightbox__nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:52px; height:52px; border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:1.9rem;
  background:rgba(244,239,230,.08); border:1px solid rgba(198,165,106,.35);
  color:var(--cream); transition:.3s; }
.lightbox__nav:hover{ background:var(--gold); color:var(--deep-3); }
.lightbox__prev{ left:24px; }
.lightbox__next{ right:24px; }
@media (max-width:560px){
  .lightbox__nav{ width:42px; height:42px; font-size:1.5rem; }
  .lightbox__prev{ left:10px; } .lightbox__next{ right:10px; }
  .lightbox__caption{ font-size:1.1rem; }
  .lightbox__close{ top:12px; right:16px; }
}

/* WhatsApp flutuante */
.whatsapp-float{ position:fixed; right:22px; bottom:22px; z-index:90;
  width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.28); transition:transform .3s; }
.whatsapp-float:hover{ transform:scale(1.08); }

/* =========================================================
   REVEAL (scroll)
   ========================================================= */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; }
  .hero__scroll span{ animation:none; }
  .hotspot{ animation:none; }
}

/* =========================================================
   RESPONSIVO
   ========================================================= */
/* menu colapsa para hambúrguer já no notebook, evitando aperto */
@media (max-width:1024px){
  .nav__toggle{ display:flex; }
  .nav__list{ position:fixed; inset:0 0 0 auto; width:min(80vw,320px);
    flex-direction:column; align-items:flex-start; gap:22px;
    background:var(--deep-3); padding:90px 32px; transform:translateX(100%);
    transition:transform .4s var(--ease); }
  .nav__list a{ font-size:.95rem; letter-spacing:.12em; }
  .nav__cta{ margin-top:6px; }
  .nav__list.is-open{ transform:none; }
  .nav__toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav__toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav__toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}

@media (max-width:900px){
  .incorporadoras__grid,.empreendimento__grid,.contato__grid{
    grid-template-columns:1fr; }
  .paisagismo__media::before{ background:linear-gradient(180deg, rgba(10,34,46,.8), rgba(10,34,46,.93)); }
  .paisagismo__card{ max-width:none; }
  .manifesto__overlay{ background:linear-gradient(to bottom, rgba(10,34,46,.35) 0%, rgba(10,34,46,.82) 55%, rgba(10,34,46,.92) 100%); }
  .manifesto__inner{ align-items:flex-end; }
  .manifesto__text{ max-width:none; }
  .gallery{ grid-template-columns:repeat(2,1fr); grid-auto-rows:clamp(170px,30vw,240px); }
  .gallery__item--feature{ grid-column:1 / span 2; grid-row:auto; }
  .localizacao__feats{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:1fr 1fr; }
  .empreendimento__legend{ column-count:3; }
  .footer__grid{ grid-template-columns:1fr 1fr; row-gap:32px; }
}
@media (max-width:560px){
  .gallery{ grid-template-columns:1fr; grid-auto-rows:clamp(190px,55vw,240px); }
  .gallery__item--feature{ grid-column:auto; grid-row:auto; }
  .form__row--2{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:1fr; }
  .empreendimento__legend{ column-count:2; }
  .footer__grid{ grid-template-columns:1fr; row-gap:28px; }
}
