/* ───────────────────────────────────────────────
   Lux Home Boulevard — landing page
   Identidade: grafite + dourado champagne + serifa (tema Lux)
─────────────────────────────────────────────── */

:root{
  --green-900:#0c1a22;
  --green-800:#102530;
  --green-700:#163341;     /* primary (book sidebar) */
  --green-600:#1f4658;
  --green-500:#2b5e74;
  --green-300:#6f95a6;
  --green-100:#cfe0e8;

  --cream-50:#f5f6f4;
  --cream-100:#eef0ee;
  --cream-200:#e2e6e4;
  --cream-300:#ccd3d0;

  --ink-900:#16191a;
  --ink-700:#2c2f30;
  --ink-500:#5b5751;
  --ink-400:#7a766f;
  --ink-300:#a8a39a;

  --wa:#25D366;
  --wa-hover:#1ebe5a;
  --wa-deep:#128C7E;
  --ennia:#c6873f;
  --ennia-hover:#ad7333;

  --ipe:#c6873f;     /* subtle accent */
  --line:rgba(22,51,65,.14);
  --line-cream:rgba(245,240,232,.18);

  --serif:"Cormorant Garamond", "Georgia", serif;
  --sans:"DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --r-sm:8px;
  --r-md:14px;
  --r-lg:22px;
  --r-xl:32px;

  --shadow-soft:0 14px 40px -18px rgba(12,26,34,.35);
  --shadow-card:0 24px 60px -28px rgba(12,26,34,.45);

  --container:1240px;
  --pad-x:clamp(20px, 4vw, 56px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  font-size:17px;
  line-height:1.55;
  color:var(--ink-900);
  background:var(--cream-50);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}

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

/* italic numerals in brand */
.num{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:.02em}

/* ─── TYPE ─── */
.h1, .h2, .h3, .display{
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:-.012em;
  line-height:1.04;
  text-wrap:balance;
  margin:0;
  color:var(--green-700);
}
.h1{font-size:clamp(40px, 6.5vw, 80px)}
.h2{font-size:clamp(32px, 4.6vw, 58px)}
.h3{font-size:clamp(22px, 2.4vw, 30px); line-height:1.18}
.h2 em, .h1 em, .display em{font-style:italic; color:var(--green-600)}
.h1--invert, .h3--invert{color:var(--cream-100)}
.h1--invert em, .h3--invert em{color:#fff}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);
  font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:.18em;
  color:var(--green-700);
  margin-bottom:18px;
}
.eyebrow--light{color:rgba(245,240,232,.7)}

.lede{
  font-size:clamp(17px, 1.4vw, 19px);
  color:var(--ink-500);
  max-width:62ch;
  margin:18px 0 0;
  text-wrap:pretty;
}
.section--green .lede{color:rgba(245,240,232,.78)}

/* ─── BUTTONS ─── */
.btn{
  --bg:var(--green-700);
  --fg:var(--cream-100);
  display:inline-flex;align-items:center;gap:10px;
  background:var(--bg);color:var(--fg);
  font-family:var(--sans);font-weight:600;font-size:15px;
  padding:14px 22px;border-radius:999px;
  border:1px solid transparent;
  transition:transform .15s ease, background .18s ease, box-shadow .18s ease;
  white-space:nowrap;
  box-shadow:0 6px 18px -8px rgba(12,26,34,.4);
  text-decoration:none;
}
.btn:hover{transform:translateY(-1px); background:var(--green-600)}
.btn--lg{padding:18px 30px; font-size:16px}
.btn--xl{padding:22px 36px; font-size:18px}

.btn--wa{--bg:var(--wa); --fg:#1c1712}
.btn--wa:hover{background:var(--wa-hover)}

.btn--ghost-light{
  background:transparent; color:var(--green-700);
  border-color:var(--green-700);
  box-shadow:none;
}
.btn--ghost-light:hover{background:var(--green-700); color:var(--cream-100)}

.btn--outline-light{
  background:transparent; color:#fff;
  border:1px solid rgba(255,255,255,.4);
  box-shadow:none;
}
.btn--outline-light:hover{background:rgba(255,255,255,.08); border-color:#fff}

.btn__dot{
  width:10px;height:10px;border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 4px rgba(255,255,255,.25);
  animation:pulse 1.6s infinite ease-out;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.45)}
  70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}

/* ─── TOPBAR ─── */
.topbar{
  position:fixed; top:0; left:0; right:0; z-index:60;
  transition:background .25s ease, backdrop-filter .25s ease, box-shadow .25s ease, border-color .25s ease;
  border-bottom:1px solid transparent;
}
.topbar__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:14px var(--pad-x);
  display:flex;align-items:center;gap:24px;
  color:var(--cream-100);
}
.topbar.is-scrolled{
  background:rgba(20,40,31,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom-color:rgba(245,240,232,.08);
  box-shadow:0 8px 30px -16px rgba(0,0,0,.4);
}
.topbar__brand{display:flex;align-items:center;gap:12px;color:inherit}
.topbar__wordmark{display:flex;flex-direction:column;line-height:1.05}
.topbar__eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.7}
.topbar__name{font-family:var(--serif);font-size:19px;font-weight:500}
.topbar__nav{display:flex;gap:24px;margin-left:auto;font-size:14px}
.topbar__nav a{opacity:.75;transition:opacity .15s}
.topbar__nav a:hover{opacity:1}
.topbar__cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--wa); color:#1c1712; font-weight:600;
  padding:10px 16px; border-radius:999px;font-size:13px;
  transition:background .18s, transform .15s;
}
.topbar__cta:hover{background:var(--wa-hover); transform:translateY(-1px)}

@media (max-width: 880px){
  .topbar__nav{display:none}
  .topbar__cta span, .topbar__cta{font-size:12px;padding:9px 13px}
}

/* ─── HERO ─── */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;align-items:flex-end;
  padding-top:120px;
  color:var(--cream-100);
  isolation:isolate;
  overflow:hidden;
}
.hero__bg{position:absolute; inset:0; z-index:-2}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero__veil{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(12,26,34,.55) 0%, rgba(12,26,34,.15) 35%, rgba(12,26,34,.85) 100%),
    linear-gradient(90deg, rgba(12,26,34,.45) 0%, rgba(12,26,34,0) 50%);
}
.hero__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad-x) 80px;
  width:100%;
  position:relative;
}
.hero__badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:.18em;
  background:rgba(245,240,232,.12);
  border:1px solid rgba(245,240,232,.25);
  backdrop-filter:blur(8px);
  padding:8px 14px;border-radius:999px;
  margin-bottom:24px;
}
.hero__badge .dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--ennia);
  box-shadow:0 0 0 0 rgba(198,135,63,.6);
  animation:pulse 1.6s infinite ease-out;
}

.display{
  font-size:clamp(48px, 8.5vw, 112px);
  font-weight:500;
  line-height:.96;
  letter-spacing:-.02em;
  color:#fff;
}
.display__pre{
  display:block;
  font-family:var(--sans);
  font-size:clamp(12px,1.2vw,14px);
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:14px;
  opacity:.78;
}
.display__main{display:block}
.display__main em{font-style:italic; color:#fff}

.hero__sub{
  font-family:var(--serif);
  font-size:clamp(20px,2.4vw,30px);
  font-style:italic;
  margin:22px 0 0;
  max-width:24ch;
  color:rgba(245,240,232,.92);
}
.hero__sub strong{font-style:normal;font-family:var(--sans);font-weight:600}

.hero__chips{
  list-style:none;padding:0;margin:32px 0 0;
  display:flex;flex-wrap:wrap;gap:10px;
}
.hero__chips li{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:500;
  padding:8px 14px;border-radius:999px;
  background:rgba(245,240,232,.1);
  border:1px solid rgba(245,240,232,.22);
  backdrop-filter:blur(6px);
  color:rgba(245,240,232,.95);
}
.hero__chips svg{color:var(--ennia)}

.hero__cta{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  margin-top:32px;
}
.hero__micro{
  margin:0;font-size:14px;color:rgba(245,240,232,.7);
  max-width:30ch;
}

.hero__scroll{
  position:absolute; right:var(--pad-x); bottom:36px;
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgba(245,240,232,.8);
}
.hero__scroll svg{animation:bob 2s infinite ease-in-out}
@keyframes bob{0%,100%{transform:translateY(0)} 50%{transform:translateY(4px)}}

.hero__plaque{
  position:absolute; top:130px; right:var(--pad-x);
  background:rgba(12,26,34,.55);
  backdrop-filter:blur(12px);
  border:1px solid rgba(245,240,232,.18);
  border-radius:var(--r-md);
  padding:18px 22px;
  display:none;
  min-width:280px;
}
@media (min-width: 1024px){.hero__plaque{display:block}}
.plaque__row{
  display:flex;justify-content:space-between;gap:18px;
  padding:8px 0;
  border-bottom:1px dashed rgba(245,240,232,.18);
  font-size:13px;
}
.plaque__row:last-child{border-bottom:none}
.plaque__k{opacity:.65;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600}
.plaque__v{font-family:var(--serif);font-size:16px;color:#fff}

@media (max-width: 640px){
  .hero{min-height:92svh; padding-top:88px}
  .hero__inner{padding-bottom:48px}
  .hero__scroll{display:none}
}

/* ─── SECTIONS ─── */
.section{
  padding:clamp(72px, 9vw, 130px) 0;
  position:relative;
}
.section--tight{padding:clamp(56px, 7vw, 96px) 0}
.section--cream{background:var(--cream-50)}
.section--green{
  background:var(--green-700);
  color:var(--cream-100);
}
.section--green .h2, .section--green .h3{color:#fff}
.section--green .eyebrow{color:rgba(245,240,232,.65)}

.sec-head{max-width:760px;margin-bottom:56px}
.sec-head--invert .h2, .sec-head--invert .h3{color:#fff}
.sec-head--center{text-align:center;margin-inline:auto}

/* ─── LOCALIZAÇÃO ─── */
.loc__grid{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:48px;
  align-items:start;
}
@media (max-width: 880px){.loc__grid{grid-template-columns:1fr}}

.loc__map{
  margin:0;
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  background:var(--green-700);
}
.loc__map img{width:100%;height:auto;display:block}
.loc__map figcaption{
  padding:14px 22px;
  background:var(--green-700);
  color:rgba(245,240,232,.75);
  font-size:13px;letter-spacing:.04em;
}

.loc__list .h3{margin-bottom:20px}
.poi{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;
  border-top:1px solid var(--line);
}
.poi li{
  display:grid;
  grid-template-columns:36px 1fr auto;
  align-items:center;gap:12px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
  font-size:14.5px;
}
.poi__n{
  width:28px;height:28px;border-radius:50%;
  background:var(--cream-200);color:var(--green-700);
  font-weight:600;font-size:12px;
  display:grid;place-items:center;
}
.poi__t{font-weight:500;color:var(--ink-900)}
.poi__s{font-size:12.5px;color:var(--ink-400);text-align:right}
.poi .is-here .poi__n{background:var(--green-700);color:var(--cream-100)}
.poi .is-here{background:linear-gradient(90deg, rgba(22,51,65,.06), transparent)}
.poi .is-here .poi__t{font-weight:600}
.poi .is-here .poi__s{color:var(--green-700);font-weight:600}
.poi .is-park .poi__n{background:#6b5320;color:#fff}
.poi .is-park .poi__s{color:#6b5320;font-weight:600}

.loc__perks{
  list-style:none;padding:0;margin:64px 0 0;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}
@media (max-width: 880px){.loc__perks{grid-template-columns:repeat(2, 1fr)}}
@media (max-width: 480px){.loc__perks{grid-template-columns:1fr}}
.loc__perks li{
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  color:var(--green-700);
}
.loc__perks h4{
  font-family:var(--serif);
  font-size:21px;font-weight:500;
  margin:12px 0 6px;color:var(--green-700);
}
.loc__perks p{margin:0;font-size:14px;color:var(--ink-500);line-height:1.45}

/* CTA row */
.cta-row{
  margin-top:48px;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
}
.cta-row__micro{
  font-size:13.5px;color:var(--ink-400);
  max-width:36ch;
}
.section--green .cta-row__micro{color:rgba(245,240,232,.55)}

/* ─── TIPOLOGIAS ─── */
.typo{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
@media (max-width: 980px){.typo{grid-template-columns:1fr 1fr}}
@media (max-width: 640px){.typo{grid-template-columns:1fr}}

.typo__card{
  position:relative;
  background:var(--cream-50);
  color:var(--ink-900);
  border-radius:var(--r-lg);
  padding:28px;
  display:flex;flex-direction:column;
  border:1px solid rgba(255,255,255,.06);
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.typo__card:hover{transform:translateY(-4px); box-shadow:var(--shadow-card)}
.typo__card.is-feature{
  background:#fff;
  outline:2px solid var(--ennia);
  outline-offset:-2px;
}
.typo__card.is-feature::before{
  content:"Mais procurada";
  position:absolute; top:18px; right:18px;
  background:var(--ennia);color:#1c1712;
  font-size:11px;font-weight:700;letter-spacing:.08em;
  padding:5px 12px;border-radius:999px;
  text-transform:uppercase;
}
.typo__head{margin-bottom:14px}
.typo__tag{
  display:inline-block;
  font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--green-700);
  background:rgba(22,51,65,.08);
  padding:5px 10px;border-radius:999px;
  margin-bottom:14px;
}
.typo__tag--limited{
  background:rgba(198,135,63,.2);
  color:#6b5320;
}
.typo__name{
  font-family:var(--serif);
  font-size:30px;font-weight:500;
  color:var(--green-700);
  margin:0;line-height:1.05;
}
.typo__area{
  margin:6px 0 0;
  font-family:var(--serif);
  font-size:20px;font-style:italic;
  color:var(--ink-500);
}
.typo__plan{
  margin:18px 0;
  background:var(--cream-100);
  border-radius:var(--r-md);
  padding:14px;
  flex:1;
  display:flex;align-items:center;justify-content:center;
  min-height:200px;
  position:relative;
}
.typo__plan img{
  max-height:280px;width:auto;object-fit:contain;
  filter:contrast(1.02);
}
.typo__plan--garden{
  background:linear-gradient(135deg, #e9e6d6 0%, #cfe0e8 100%);
}
.typo__pin{
  position:absolute; left:14px; bottom:14px;
  background:var(--green-700);color:var(--cream-100);
  font-size:11px;font-weight:600;
  padding:5px 10px;border-radius:999px;
  letter-spacing:.04em;
}
.typo__pts{
  list-style:none;padding:0;margin:0 0 22px;
  display:flex;flex-direction:column;gap:6px;
  font-size:14px;color:var(--ink-500);
}
.typo__pts li{
  padding-left:18px;position:relative;
}
.typo__pts li::before{
  content:""; position:absolute; left:0; top:.65em;
  width:8px;height:1px;background:var(--green-700);
}

.typo__flex{
  margin-top:40px;
  display:flex;align-items:flex-start;gap:20px;
  padding:24px 28px;
  background:rgba(245,240,232,.06);
  border:1px solid rgba(245,240,232,.15);
  border-radius:var(--r-md);
  color:var(--cream-100);
}
.typo__flex svg{color:var(--ennia);flex-shrink:0}
.typo__flex h4{
  font-family:var(--serif);font-size:22px;font-weight:500;
  margin:0 0 6px;color:#fff;
}
.typo__flex p{margin:0;font-size:14.5px;color:rgba(245,240,232,.7);max-width:60ch}

/* ─── LAZER ─── */
.lazer{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  grid-template-rows:auto auto;
  gap:24px;
}
@media (max-width: 880px){.lazer{grid-template-columns:1fr}}

.lazer__hero, .lazer__mid{
  margin:0;
  border-radius:var(--r-lg);
  overflow:hidden;
  position:relative;
  background:var(--green-700);
  box-shadow:var(--shadow-card);
}
.lazer__hero{grid-column:1;grid-row:1 / span 2}
.lazer__mid{grid-column:2;grid-row:1}
@media (max-width: 880px){
  .lazer__hero,.lazer__mid{grid-column:1; grid-row:auto}
}
.lazer__hero img, .lazer__mid img{
  width:100%;height:100%;object-fit:cover;
  min-height:280px;
}
.lazer__hero img{min-height:600px}
.lazer__hero figcaption, .lazer__mid figcaption{
  position:absolute; left:0; right:0; bottom:0;
  background:linear-gradient(180deg, transparent, rgba(12,26,34,.92));
  color:var(--cream-100);
  padding:32px 28px 22px;
  font-size:14px;display:flex;flex-direction:column;gap:4px;
}
.lazer__tagh{
  font-family:var(--serif);font-size:26px;font-style:italic;
  color:#fff;font-weight:500;line-height:1.1;
}
.lazer__pin{
  display:inline-block;align-self:flex-start;
  background:var(--ennia);color:#1c1712;
  font-size:10px;font-weight:700;letter-spacing:.14em;
  padding:4px 9px;border-radius:999px;
  text-transform:uppercase;margin-bottom:8px;
}

.lazer__grid{
  list-style:none;padding:0;margin:0;
  grid-column:2;grid-row:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-content:start;
}
@media (max-width: 880px){.lazer__grid{grid-column:1;grid-row:auto;grid-template-columns:1fr 1fr}}
@media (max-width: 480px){.lazer__grid{grid-template-columns:1fr}}
.lazer__grid li{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:14px 16px;
  display:flex;align-items:center;gap:12px;
  font-size:14px;
}
.lazer__grid b{
  display:block;
  font-family:var(--sans);font-weight:600;font-size:14px;
  color:var(--green-700);
}
.lazer__grid span{font-size:12.5px;color:var(--ink-400);display:block;margin-top:2px}
.lazer__grid .ic{
  width:38px;height:38px;flex-shrink:0;
  border-radius:50%;
  background:var(--cream-100);color:var(--green-700);
  display:grid;place-items:center;
}
.lazer__grid .is-star{
  background:var(--green-700);color:var(--cream-100);
  border-color:var(--green-700);
}
.lazer__grid .is-star b{color:#fff}
.lazer__grid .is-star span{color:rgba(245,240,232,.7)}
.lazer__grid .is-star .ic{background:var(--ennia);color:#1c1712}

/* ─── ACABAMENTO ─── */
.spec{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
@media (max-width: 880px){.spec{grid-template-columns:1fr}}
.spec__col{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:32px;
}
.spec__title{
  font-family:var(--serif);
  font-size:24px;font-weight:500;
  color:var(--green-700);
  margin:0 0 18px;
  display:flex;align-items:center;gap:10px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.spec__list{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:11px;
  font-size:14.5px;color:var(--ink-700);
}
.spec__list li{
  padding-left:22px;position:relative;line-height:1.5;
}
.spec__list li::before{
  content:""; position:absolute; left:0; top:9px;
  width:10px;height:10px;
  border:1.5px solid var(--green-700);
  border-radius:2px;
  transform:rotate(45deg);
}
.spec__list b{color:var(--green-700);font-weight:600}
.spec__photo{
  margin:0;
  grid-column:1 / -1;
  border-radius:var(--r-lg);
  overflow:hidden;
  position:relative;
  box-shadow:var(--shadow-soft);
}
.spec__photo img{width:100%;height:auto;object-fit:cover;max-height:520px;object-position:center 40%}
.spec__photo figcaption{
  position:absolute;left:24px;bottom:20px;
  background:rgba(12,26,34,.7);
  backdrop-filter:blur(8px);
  color:var(--cream-100);
  padding:10px 16px;border-radius:999px;
  font-size:12.5px;letter-spacing:.04em;
}

/* ─── SPLIT (segurança / estrutura) ─── */
.section--split{padding-block:clamp(72px,9vw,120px)}
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
@media (max-width: 880px){.split{grid-template-columns:1fr}}
.split__card{
  background:rgba(245,240,232,.04);
  border:1px solid rgba(245,240,232,.12);
  border-radius:var(--r-lg);
  padding:36px;
}
.split__card .eyebrow{margin-bottom:14px}
.split__card .h3--invert{margin-bottom:22px}
.check{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:14px;
  font-size:15px;color:rgba(245,240,232,.85);
}
.check li{
  padding-left:30px;position:relative;line-height:1.5;
}
.check li::before{
  content:""; position:absolute; left:0; top:5px;
  width:18px;height:18px;
  border-radius:50%;
  background:var(--ennia);
}
.check li::after{
  content:""; position:absolute; left:5px; top:9px;
  width:8px;height:4px;
  border-left:1.5px solid #1c1712; border-bottom:1.5px solid #1c1712;
  transform:rotate(-45deg);
}
.check b{color:#fff;font-weight:600}

.split__photo{
  margin:22px 0 0;
  border-radius:var(--r-md);
  overflow:hidden;
}
.split__photo img{width:100%;height:240px;object-fit:cover}

.stat{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;
  gap:18px 28px;
}
.stat li{
  display:flex;flex-direction:column;gap:2px;
  border-left:1px solid rgba(245,240,232,.2);
  padding-left:16px;
}
.stat b{
  font-family:var(--serif);font-size:42px;font-weight:500;
  color:#fff;line-height:1;
}
.stat span{font-size:13px;color:rgba(245,240,232,.65);max-width:22ch}
.split__note{
  margin:22px 0 0;
  font-size:13px;color:rgba(245,240,232,.55);
  padding-top:18px;
  border-top:1px dashed rgba(245,240,232,.15);
}

/* ─── GALERIA ─── */
.gal{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  grid-auto-rows:200px;
  gap:14px;
}
.gal__i{
  margin:0; position:relative;
  border-radius:var(--r-md); overflow:hidden;
  background:var(--green-700);
  cursor:zoom-in;
}
.gal__i img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s ease;
}
.gal__i:hover img{transform:scale(1.04)}
.gal__i--wide{grid-column:span 2}
.gal__i--tall{grid-row:span 2}
.gal__i figcaption{
  position:absolute;left:14px;bottom:12px;
  background:rgba(12,26,34,.7);backdrop-filter:blur(6px);
  color:var(--cream-100);
  font-size:11.5px;letter-spacing:.04em;
  padding:6px 11px;border-radius:999px;
  opacity:0;transform:translateY(4px);
  transition:opacity .2s, transform .2s;
}
.gal__i:hover figcaption{opacity:1;transform:translateY(0)}

@media (max-width: 880px){
  .gal{grid-template-columns:repeat(2, 1fr); grid-auto-rows:160px}
  .gal__i--tall{grid-row:span 2}
  .gal__i--wide{grid-column:span 2}
}
@media (max-width: 480px){
  .gal{grid-template-columns:1fr 1fr; grid-auto-rows:130px}
  .gal__i--wide{grid-column:span 2}
}

/* ─── ENNIA ─── */
.section--ennia{
  background:#0d0d0d;
  padding:clamp(80px, 10vw, 140px) 0;
}
.ennia{
  max-width:780px;margin:0 auto;
  background:#1a1a1a;
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--r-xl);
  padding:clamp(36px, 5vw, 64px);
  text-align:center;
  position:relative;
  overflow:hidden;
}
.ennia::before{
  content:""; position:absolute; inset:-1px;
  background:radial-gradient(circle at 20% 0%, rgba(198,135,63,.18), transparent 50%);
  pointer-events:none;
}
.ennia__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11.5px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.65);
  margin-bottom:28px;
}
.pulse{
  width:8px;height:8px;border-radius:50%;
  background:var(--ennia);
  box-shadow:0 0 0 0 rgba(198,135,63,.6);
  animation:pulse 1.6s infinite ease-out;
}
.ennia__title{
  font-family:var(--serif);
  font-size:clamp(36px, 5vw, 56px);
  font-weight:500;line-height:1.04;
  color:#fff;
  margin:0 0 24px;
  letter-spacing:-.012em;
}
.ennia__lede{
  font-size:17px;line-height:1.6;
  color:rgba(255,255,255,.7);
  margin:0 auto 34px;
  max-width:54ch;
}
.ennia__lede em{font-style:italic;font-family:var(--serif);font-size:1.05em;color:rgba(255,255,255,.85)}
.ennia__hi{color:var(--ennia);font-weight:600}
.ennia__cta{
  display:flex;align-items:center;justify-content:center;
  gap:14px;flex-wrap:wrap;margin-bottom:24px;
}
.ennia__cta .btn--wa{background:var(--ennia);color:#1c1712}
.ennia__cta .btn--wa:hover{background:var(--ennia-hover)}
.ennia__micro{
  font-size:14px;color:rgba(255,255,255,.6);
  margin:0 0 32px;
}
.ennia__micro strong{color:#fff;font-weight:600}
.ennia__rule{
  border:none;
  height:1px;background:rgba(255,255,255,.1);
  max-width:200px;margin:0 auto 22px;
}
.ennia__foot{
  font-size:13.5px;letter-spacing:.06em;
  color:rgba(255,255,255,.5);
  margin:0 0 12px;
}
.ennia__local{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12.5px;color:rgba(255,255,255,.45);
  margin:0;
}

/* ─── SOBRE A CONSTRUÇÃO ─── */
.sobre__grid{
  list-style:none;padding:0;margin:0;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
@media (max-width: 880px){.sobre__grid{grid-template-columns:1fr 1fr}}
@media (max-width: 480px){.sobre__grid{grid-template-columns:1fr}}
.sobre__grid li{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:28px;
}
.sobre__role{
  font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-400);
}
.sobre__name{
  font-family:var(--serif);font-size:28px;font-weight:500;
  color:var(--green-700);
  margin:8px 0 10px;line-height:1.1;
}
.sobre__name--stamp{font-style:italic}
.sobre__grid p{font-size:13.5px;color:var(--ink-500);margin:0;line-height:1.5}
.sobre__grid .is-stamp{background:var(--green-700);color:var(--cream-100)}
.sobre__grid .is-stamp .sobre__role{color:rgba(245,240,232,.5)}
.sobre__grid .is-stamp .sobre__name{color:#fff}
.sobre__grid .is-stamp p{color:rgba(245,240,232,.7)}

/* ─── FINAL CTA ─── */
.final{
  position:relative;
  padding:clamp(100px, 14vw, 180px) 0;
  color:var(--cream-100);
  isolation:isolate;
  text-align:center;
  overflow:hidden;
}
.final__bg{position:absolute; inset:0; z-index:-2}
.final__bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.final__veil{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(12,26,34,.85), rgba(12,26,34,.7));
}
.final__inner{display:flex;flex-direction:column;align-items:center}
.final__sub{
  font-size:clamp(17px,1.6vw,21px);
  color:rgba(245,240,232,.85);
  max-width:54ch;
  margin:20px 0 36px;
}
.final__micro{
  margin:18px 0 0;font-size:13.5px;
  color:rgba(245,240,232,.55);letter-spacing:.04em;
}

/* ─── FOOTER ─── */
.foot{
  background:var(--green-900);
  color:var(--cream-100);
  padding:72px 0 24px;
}
.foot__inner{display:flex;flex-direction:column;gap:48px}
.foot__brand{display:flex;align-items:center;gap:18px;color:var(--cream-100)}
.foot__name{font-family:var(--serif);font-size:22px;font-weight:500;margin:0;color:#fff}
.foot__addr{margin:4px 0 0;font-size:13.5px;color:rgba(245,240,232,.6)}

.foot__cols{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:32px;
  padding-bottom:32px;
  border-bottom:1px solid rgba(245,240,232,.1);
}
@media (max-width: 880px){.foot__cols{grid-template-columns:1fr 1fr}}
@media (max-width: 480px){.foot__cols{grid-template-columns:1fr}}
.foot__cols h4{
  font-size:11px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(245,240,232,.5);
  margin:0 0 12px;
}
.foot__cols p{margin:0 0 4px;font-size:14.5px;color:rgba(245,240,232,.9)}
.foot__cols .muted{color:rgba(245,240,232,.5);font-size:12.5px}
.foot__cols a{color:inherit;border-bottom:1px solid transparent;transition:border-color .15s}
.foot__cols a:hover{border-bottom-color:rgba(245,240,232,.4)}

.social{list-style:none;padding:0;margin:14px 0 0;display:flex;gap:10px}
.social a{
  width:36px;height:36px;
  border:1px solid rgba(245,240,232,.2);
  border-radius:50%;
  display:grid;place-items:center;
  color:rgba(245,240,232,.7);
  transition:background .18s, color .18s, border-color .18s;
}
.social a:hover{background:rgba(245,240,232,.08);color:#fff;border-color:rgba(245,240,232,.4)}

.foot__legal{
  font-size:12px;line-height:1.6;
  color:rgba(245,240,232,.5);
  max-width:80ch;
  margin:0;
}
.foot__legal strong{color:rgba(245,240,232,.8);font-weight:600}
.foot__copy{font-size:12px;color:rgba(245,240,232,.35);margin:0}

/* ─── FLOATING WHATSAPP FAB ─── */
.fab{
  position:fixed; right:22px; bottom:22px; z-index:80;
  width:64px;height:64px;border-radius:50%;
  background:var(--wa);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 30px -8px rgba(37,211,102,.55), 0 4px 12px rgba(0,0,0,.15);
  transition:transform .2s ease, box-shadow .2s ease, width .25s ease;
  animation:fabPulse 2.4s infinite ease-out;
}
.fab:hover{transform:scale(1.06)}
.fab__bubble{
  position:absolute; right:74px;
  background:#fff;color:var(--green-700);
  font-weight:600;font-size:13px;
  padding:8px 14px;border-radius:999px;
  white-space:nowrap;
  opacity:0;transform:translateX(8px);
  transition:opacity .25s ease, transform .25s ease;
  box-shadow:0 8px 20px -8px rgba(0,0,0,.3);
  pointer-events:none;
}
.fab__bubble::after{
  content:""; position:absolute; right:-6px; top:50%;
  transform:translateY(-50%);
  border:6px solid transparent; border-left-color:#fff;
}
.fab:hover .fab__bubble, .fab.is-hint .fab__bubble{
  opacity:1;transform:translateX(0);
}
@keyframes fabPulse{
  0%{box-shadow:0 14px 30px -8px rgba(37,211,102,.55), 0 0 0 0 rgba(37,211,102,.5)}
  70%{box-shadow:0 14px 30px -8px rgba(37,211,102,.55), 0 0 0 18px rgba(37,211,102,0)}
  100%{box-shadow:0 14px 30px -8px rgba(37,211,102,.55), 0 0 0 0 rgba(37,211,102,0)}
}

/* ─── MOBILE STICKY CTA ─── */
.mob-cta{
  display:none;
  position:fixed; bottom:14px; left:14px; right:14px; z-index:75;
  background:var(--wa);color:#1c1712;
  font-weight:600;font-size:14px;
  padding:14px 18px;border-radius:999px;
  align-items:center;justify-content:center;gap:10px;
  box-shadow:0 14px 30px -8px rgba(37,211,102,.55), 0 4px 12px rgba(0,0,0,.18);
}
@media (max-width: 640px){
  .mob-cta{display:flex}
  .fab{width:56px;height:56px;right:14px;bottom:74px}
  .fab__bubble{display:none}
}

/* ─── REVEAL ON SCROLL ─── */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
  will-change:opacity, transform;
}
.reveal.is-in{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation:none !important;transition:none !important}
}
