@charset "UTF-8";
/* ══════════════════════════════════════════════════════════════
   Duetto Casas Suspensas — site oficial
   Linguagem: superfícies arredondadas, sombras suaves, cards,
   tipografia Typold + acento cobre. (padrão de acabamento Lotenet)
   ══════════════════════════════════════════════════════════════ */

@font-face{font-family:"Typold";src:url("../assets/fonts/TypoldExtended-Light.otf") format("opentype");font-weight:300;font-display:swap}
@font-face{font-family:"Typold";src:url("../assets/fonts/TypoldExtended-Book.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"Typold";src:url("../assets/fonts/TypoldExtended-Medium.otf") format("opentype");font-weight:500;font-display:swap}

/* ───────────────────────────── TOKENS ───────────────────────────── */
:root{
  /* Marca */
  --brand:#9E4016;
  --brand-600:#8A3512;
  --brand-700:#722B0E;
  --brand-400:#C06537;
  --brand-soft:#FBEDE3;

  /* Neutros quentes */
  --ink-900:#1B0F0B;
  --ink-800:#2E1D16;
  --ink-700:#42302A;
  --ink-500:#71594F;
  --ink-400:#93796C;
  --ink-300:#C6B5A8;
  --ink-200:#E9DED2;
  --ink-100:#F4EDE4;
  --paper:#FBF7F1;
  --white:#FFFFFF;

  /* Semânticos */
  --bg:var(--paper);
  --text:var(--ink-900);
  --text-mute:var(--ink-500);
  --surface:var(--white);
  --border:var(--ink-200);

  /* Tipografia */
  --font-display:"Typold", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body:"Typold", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-editorial:"Cormorant Garamond", Georgia, serif;

  /* Escala */
  --fs-xs:.75rem;
  --fs-sm:.875rem;
  --fs-md:clamp(1rem,.97rem + .16vw,1.0625rem);
  --fs-lg:clamp(1.0625rem,1rem + .32vw,1.25rem);
  --fs-xl:clamp(1.375rem,1.2rem + .78vw,1.875rem);
  --fs-2xl:clamp(1.875rem,1.5rem + 1.7vw,3rem);
  --fs-3xl:clamp(2.5rem,1.85rem + 3vw,4.5rem);

  /* Espaço (base 8) */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
  --sp-5:1.5rem; --sp-6:2rem;  --sp-8:3rem;   --sp-10:4rem;
  --sp-12:6rem;  --sp-16:8rem;

  /* Raios */
  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:34px; --r-pill:999px;

  /* Sombras */
  --shadow-sm:0 1px 2px rgb(27 15 11 / .06), 0 1px 4px rgb(27 15 11 / .04);
  --shadow-md:0 8px 24px -8px rgb(27 15 11 / .18), 0 4px 8px -4px rgb(27 15 11 / .08);
  --shadow-lg:0 24px 48px -16px rgb(27 15 11 / .28), 0 8px 24px -8px rgb(27 15 11 / .12);
  --shadow-glow:0 24px 60px -20px rgb(158 64 22 / .45);

  /* Movimento */
  --ease:cubic-bezier(.2,.8,.2,1);
  --t-fast:150ms; --t-base:240ms; --t-slow:480ms;

  /* Layout */
  --container:1240px;
  --pad:clamp(1.25rem,4.5vw,3rem);
  --header-h:78px;
}

/* ───────────────────────────── RESET ───────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}
body,h1,h2,h3,h4,p,figure,dl,dd,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
img,svg{display:block;max-width:100%;height:auto}
button,input,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
:where(h1,h2,h3,h4){font-weight:inherit}
:where(p){text-wrap:pretty}
dialog{border:0;padding:0;background:none;color:inherit;max-width:none;max-height:none}

body{
  background:var(--bg);color:var(--text);
  font-family:var(--font-body);font-size:var(--fs-md);font-weight:300;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
::selection{background:var(--brand);color:#fff}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:var(--r-sm)}

.skip{position:fixed;top:.75rem;left:.75rem;z-index:300;padding:.75rem 1.25rem;
  background:var(--ink-900);color:#fff;border-radius:var(--r-pill);transform:translateY(-250%)}
.skip:focus{transform:none}

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

/* ───────────────────────────── TIPOGRAFIA ───────────────────────────── */
.h1{font-family:var(--font-display);font-weight:500;font-size:var(--fs-3xl);
  line-height:1.02;letter-spacing:-.02em;text-wrap:balance}
.h2{font-family:var(--font-display);font-weight:500;font-size:var(--fs-2xl);
  line-height:1.08;letter-spacing:-.015em;text-wrap:balance}
.h3{font-family:var(--font-display);font-weight:500;font-size:var(--fs-xl);
  line-height:1.15;letter-spacing:-.01em}
.accent{color:var(--brand)}
.lead{font-size:var(--fs-lg);line-height:1.6;color:var(--text-mute);max-width:56ch}
.muted{color:var(--text-mute)}

.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:var(--fs-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brand);
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;
  background:var(--brand);box-shadow:0 0 0 3px rgb(158 64 22 / .16);flex:none}

[data-tbd]{color:var(--ink-400);font-style:italic}

/* ───────────────────────────── BOTÕES ───────────────────────────── */
.btn{
  --bg:transparent;--fg:currentColor;--bd:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:50px;padding:.85rem 1.75rem;
  background:var(--bg);color:var(--fg);border:1.5px solid var(--bd);
  border-radius:var(--r-pill);
  font-family:var(--font-display);font-size:var(--fs-sm);font-weight:500;letter-spacing:.01em;
  white-space:nowrap;cursor:pointer;
  transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease),
             border-color var(--t-base) var(--ease),transform var(--t-fast) var(--ease),
             box-shadow var(--t-base) var(--ease);
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--lg{min-height:58px;padding:1rem 2.1rem;font-size:var(--fs-md)}
.btn--block{width:100%}

.btn--primary{--bg:var(--brand);--fg:#fff;--bd:var(--brand);box-shadow:var(--shadow-glow)}
.btn--primary:hover{--bg:var(--brand-600);--bd:var(--brand-600)}

.btn--dark{--bg:var(--ink-900);--fg:#fff;--bd:var(--ink-900);box-shadow:var(--shadow-md)}
.btn--dark:hover{--bg:var(--ink-800);--bd:var(--ink-800)}

.btn--ghost{--fg:var(--text);--bd:var(--border);--bg:var(--white)}
.btn--ghost:hover{--bd:var(--brand);--fg:var(--brand)}

.btn--onDark{--fg:#fff;--bd:rgb(255 255 255 / .28)}
.btn--onDark:hover{--bg:#fff;--fg:var(--ink-900);--bd:#fff}

.btn__arrow{transition:transform var(--t-base) var(--ease)}
.btn:hover .btn__arrow{transform:translateX(4px)}

.btn[aria-busy="true"]{pointer-events:none;opacity:.72}
.btn__spin{display:none;width:16px;height:16px;border:2px solid currentColor;
  border-top-color:transparent;border-radius:50%}
.btn[aria-busy="true"] .btn__spin{display:block;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.textlink{display:inline-flex;align-items:center;gap:.5rem;color:var(--brand);
  font-weight:500;font-size:var(--fs-sm)}
.textlink svg{transition:transform var(--t-base) var(--ease)}
.textlink:hover svg{transform:translateX(4px)}

/* ───────────────────────────── HEADER ───────────────────────────── */
.header{position:fixed;inset:0 0 auto;z-index:100;transition:all var(--t-base) var(--ease)}
.header__in{display:flex;align-items:center;gap:var(--sp-6);
  max-width:var(--container);margin-inline:auto;
  padding:var(--sp-4) var(--pad);transition:padding var(--t-base) var(--ease)}
.header.is-stuck{
  background:rgb(27 15 11 / .84);backdrop-filter:saturate(150%) blur(16px);
  border-bottom:1px solid rgb(255 255 255 / .08);
}
.header.is-stuck .header__in{padding-block:.7rem}

.brand{display:grid;gap:.4rem;line-height:1;margin-right:auto}
.brand__name{display:inline-flex;align-items:center;gap:.5em;color:#fff;
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(1.05rem,.95rem + .4vw,1.25rem);letter-spacing:.2em;text-transform:uppercase}
.brand__name::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--brand-400);flex:none}
.brand__sub{font-size:.5rem;letter-spacing:.4em;text-transform:uppercase;color:rgb(255 255 255 / .5)}

.nav ul{display:flex;gap:var(--sp-5)}
.nav a{position:relative;display:block;padding:.5rem 0;font-size:var(--fs-sm);
  color:rgb(255 255 255 / .78);transition:color var(--t-base) var(--ease)}
.nav a:hover{color:#fff}
.nav a[aria-current]{color:#fff}
.nav a[aria-current]::after{content:"";position:absolute;left:50%;bottom:0;translate:-50% 0;
  width:5px;height:5px;border-radius:50%;background:var(--brand-400)}

.burger{display:none;width:44px;height:44px;position:relative;border-radius:var(--r-pill)}
.burger span{position:absolute;left:12px;width:20px;height:1.5px;background:#fff;border-radius:2px;
  transition:transform var(--t-base) var(--ease),opacity var(--t-base) var(--ease)}
.burger span:nth-child(1){top:18px}
.burger span:nth-child(2){top:24px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(3px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}

.progress{position:fixed;inset:0 0 auto;height:3px;z-index:101;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:var(--brand);transition:width 90ms linear}

/* ───────────────────────────── HERO ─────────────────────────────
   Moldura arredondada full-bleed: imagem ocupa a tela, texto sobreposto
   na base-esquerda e painel de vidro com as specs à direita. */
.hero{padding:.5rem .5rem 0}
.hero__frame{
  position:relative;isolation:isolate;overflow:hidden;
  border-radius:var(--r-xl);
  min-height:min(92svh,900px);
  display:flex;align-items:flex-end;
  background:var(--ink-900);
}
.hero__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;
  object-fit:cover;object-position:56% 38%}
.hero__veil{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(to top, rgb(20 9 6 / .95) 0%, rgb(20 9 6 / .78) 26%,
                            rgb(20 9 6 / .34) 56%, rgb(20 9 6 / .62) 100%),
    linear-gradient(to right, rgb(20 9 6 / .74) 0%, rgb(20 9 6 / .3) 46%, rgb(20 9 6 / .58) 100%),
    rgb(20 9 6 / .18);
}
.hero__content{
  position:relative;width:100%;max-width:var(--container);margin-inline:auto;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,352px);
  align-items:end;gap:clamp(2rem,4vw,3.5rem);
  padding:clamp(6rem,12vh,9rem) var(--pad) clamp(2.5rem,5vw,4rem);
}
.hero__copy{display:grid;gap:var(--sp-5);max-width:44ch}
.hero__title{color:#fff}
.hero__title .accent{color:var(--brand-400)}
.hero__lead{font-size:var(--fs-lg);line-height:1.6;color:rgb(255 255 255 / .78);max-width:42ch}

.eyebrow--light{color:#fff}
.eyebrow--light::before{background:var(--brand-400);box-shadow:0 0 0 3px rgb(192 101 55 / .3)}

.hero__panel{
  display:grid;gap:var(--sp-4);
  padding:clamp(1.25rem,2.2vw,1.75rem);
  border-radius:var(--r-lg);
  background:rgb(27 15 11 / .52);
  backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgb(255 255 255 / .16);
  box-shadow:var(--shadow-lg);
}
.hero__specs{display:grid;gap:0}
.hero__specs>div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-4);
  padding-block:.6rem;border-bottom:1px solid rgb(255 255 255 / .12)}
.hero__specs>div:last-child{border-bottom:0}
.hero__specs dt{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;
  color:rgb(255 255 255 / .52)}
.hero__specs dd{font-family:var(--font-display);font-weight:500;font-size:var(--fs-sm);color:#fff}
.hero__alt{justify-self:center;font-size:var(--fs-sm);color:rgb(255 255 255 / .78);
  border-bottom:1px solid rgb(255 255 255 / .3);padding-bottom:2px;
  transition:color var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}
.hero__alt:hover{color:#fff;border-color:#fff}

.hero__cue{position:absolute;left:var(--pad);bottom:1.5rem;
  width:24px;height:40px;border:1px solid rgb(255 255 255 / .3);border-radius:var(--r-pill);
  display:grid;justify-items:center;align-content:start;padding-top:8px}
.hero__cue span{width:3px;height:8px;border-radius:2px;background:#fff;
  animation:cue 2s var(--ease) infinite}
@keyframes cue{0%,15%{opacity:0;transform:translateY(0)}45%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* ───────────────────────────── SEÇÕES ───────────────────────────── */
.section{padding-block:clamp(var(--sp-10),8vw,var(--sp-16))}
.section--tint{background:var(--ink-100)}
.section--tint + .section--tint{padding-top:0}

.shead{display:grid;gap:var(--sp-4);max-width:62ch;margin-bottom:clamp(2.5rem,5vw,4rem)}
.shead--center{margin-inline:auto;text-align:center;justify-items:center}

/* ── Cards genéricos ── */
.card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:clamp(1.5rem,2.6vw,2.25rem);
  box-shadow:var(--shadow-sm);
  transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),
             border-color var(--t-base) var(--ease);
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--ink-300)}

/* ── Slots de asset ausente ── */
.slot{
  position:relative;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;
  border-radius:var(--r-md);background:linear-gradient(140deg,var(--ink-100),var(--ink-200));
  border:1px dashed rgb(158 64 22 / .3);
}
.slot::before{content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 42%,rgb(255 255 255 / .5) 50%,transparent 58%);
  animation:sheen 5s var(--ease) infinite}
@keyframes sheen{0%,62%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.slot::after{content:attr(data-slot);position:relative;max-width:24ch;padding:1rem;text-align:center;
  font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400)}
.slot--wide{aspect-ratio:16/7}
.slot--tall{aspect-ratio:3/4}
.slot--plan{background:var(--white)}

/* ── Pilares ── */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
.pillar{display:grid;gap:var(--sp-3);align-content:start}
.pillar__n{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background:var(--brand-soft);color:var(--brand);
  font-family:var(--font-display);font-weight:500;font-size:var(--fs-sm)}
.pillar p{font-size:var(--fs-sm);color:var(--text-mute)}
.pillar em{font-style:normal;font-weight:500;color:var(--text)}

/* ── Split (torres Solene/Brise) ── */
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-top:clamp(2.5rem,5vw,4rem)}
.split__media{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.split__media .slot{border-radius:0;border:0;aspect-ratio:4/3}
.split__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split__body{display:grid;gap:var(--sp-4);align-content:center;max-width:46ch}
.split__body p{color:var(--text-mute)}
.split--flip .split__media{order:2}

.facts{display:grid;gap:0}
.facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-4);
  padding-block:.7rem;border-bottom:1px solid var(--border)}
.facts dt{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400)}
.facts dd{font-size:var(--fs-sm);font-weight:400}

/* ── Edifício ── */
.build{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(2rem,5vw,4.5rem);align-items:start}
.build__visual{position:sticky;top:calc(var(--header-h) + 1.5rem);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.build__visual .slot{border-radius:0;border:0}
.levels{display:grid;gap:var(--sp-4)}
.level{position:relative;padding:var(--sp-5);border-radius:var(--r-md);
  background:var(--surface);border:1px solid var(--border);
  transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),
             transform var(--t-base) var(--ease)}
.level:hover{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateX(4px)}
.level__tag{display:inline-block;padding:.25rem .75rem;margin-bottom:.75rem;
  border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand);
  font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.level h3{margin-bottom:.4rem}
.level p{font-size:var(--fs-sm);color:var(--text-mute)}

/* ── Mosaico de lazer ── */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
.mosaic__item{position:relative;margin:0;border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform var(--t-base) var(--ease),
  box-shadow var(--t-base) var(--ease)}
.mosaic__item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.mosaic__item--xl{grid-column:span 2;grid-row:span 2}
.mosaic__item--tall{grid-row:span 2}
.mosaic__item .slot{border-radius:0;border:0;height:100%;aspect-ratio:auto;min-height:190px}
.mosaic__item--xl .slot,.mosaic__item--tall .slot{min-height:396px}
.mosaic__item img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease)}
.mosaic__item:hover img{transform:scale(1.05)}
.mosaic__item figcaption{position:absolute;inset:auto 0 0;padding:2.5rem 1rem .9rem;
  font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#fff;
  background:linear-gradient(to top,rgb(27 15 11 / .8),transparent)}
.mosaic__item .slot ~ figcaption{color:var(--ink-500);background:none}

/* ── Plantas ── */
.plans{display:grid;gap:var(--sp-6)}
.tabs{display:flex;flex-wrap:wrap;gap:.5rem}
.tab{min-height:46px;padding:.7rem 1.35rem;border-radius:var(--r-pill);
  border:1px solid var(--border);background:var(--white);
  font-size:var(--fs-sm);color:var(--text-mute);
  transition:all var(--t-base) var(--ease)}
.tab:hover{border-color:var(--brand);color:var(--brand)}
.tab.is-on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:500;
  box-shadow:var(--shadow-glow)}

.plan{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(2rem,4vw,3.5rem);align-items:center}
.plan[hidden]{display:none}
.plan__media{border-radius:var(--r-lg);overflow:hidden;background:var(--white);
  border:1px solid var(--border);box-shadow:var(--shadow-sm)}
.plan__media .slot{border-radius:0;border:0}
.plan__media img{width:100%;aspect-ratio:4/3;object-fit:contain;padding:var(--sp-5)}
.plan__info{display:grid;gap:var(--sp-4);align-content:center}
.plan__info .btn{justify-self:start}

/* ── Localização ── */
.local{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(2rem,4vw,3.5rem);align-items:start}
.local__map{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.local__map img{width:100%;aspect-ratio:4/3;object-fit:cover}
.around{display:grid;gap:.75rem}
.around details{background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r-md);overflow:hidden;transition:border-color var(--t-base) var(--ease)}
.around details[open]{border-color:var(--brand)}
.around summary{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);
  min-height:60px;padding:var(--sp-4) var(--sp-5);cursor:pointer;list-style:none;
  font-family:var(--font-display);font-weight:500;font-size:var(--fs-md)}
.around summary::-webkit-details-marker{display:none}
.around summary::after{content:"";flex:none;width:9px;height:9px;
  border-right:1.5px solid var(--brand);border-bottom:1.5px solid var(--brand);
  transform:rotate(45deg) translateY(-2px);transition:transform var(--t-base) var(--ease)}
.around details[open] summary::after{transform:rotate(225deg) translateY(-2px)}
.around ul{padding:0 var(--sp-5) var(--sp-5);display:grid;gap:.4rem}
.around li{font-size:var(--fs-sm);color:var(--text-mute)}

/* ── Ficha técnica ── */
.sheet{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(2rem,5vw,4rem)}
.sheet>div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-4);
  padding-block:var(--sp-4);border-bottom:1px solid var(--border)}
.sheet dt{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400)}
.sheet dd{font-family:var(--font-display);font-weight:500;font-size:var(--fs-md);text-align:right}

/* ── Assinatura Sina & Actual ── */
.sign{position:relative;isolation:isolate;overflow:hidden;
  background:var(--ink-900);color:#fff;text-align:center;
  border-radius:var(--r-xl);padding:clamp(3rem,7vw,5.5rem) var(--pad);
  margin-inline:auto;max-width:calc(var(--container) - 2px)}
.sign::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(70% 90% at 50% 0%, rgb(158 64 22 / .5), transparent 65%)}
.sign__logos{display:flex;align-items:center;justify-content:center;
  gap:clamp(2rem,6vw,5rem)}
.sign__logos img{height:clamp(28px,3.6vw,42px);width:auto;filter:brightness(0) invert(1);opacity:.92}

/* ── CTA final ── */
.cta{padding-block:clamp(var(--sp-10),8vw,var(--sp-12))}
.cta__box{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:clamp(2rem,4vw,3.5rem);align-items:center;
  background:linear-gradient(135deg,var(--brand-700),var(--brand) 60%,var(--brand-400));
  color:#fff;border-radius:var(--r-xl);padding:clamp(2rem,4.5vw,3.5rem);
  box-shadow:var(--shadow-lg)}
.cta__box .eyebrow{color:#fff}
.cta__box .eyebrow::before{background:#fff;box-shadow:0 0 0 3px rgb(255 255 255 / .22)}
.cta__copy{display:grid;gap:var(--sp-4)}
.cta__copy p:not(.eyebrow){color:rgb(255 255 255 / .84)}
.cta__actions{display:grid;gap:var(--sp-3)}
.cta__actions .btn--dark{box-shadow:var(--shadow-lg)}

/* ── Rodapé ── */
.footer{background:var(--ink-900);color:rgb(255 255 255 / .62);
  padding-block:clamp(var(--sp-10),7vw,var(--sp-12)) var(--sp-6);font-size:var(--fs-sm)}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr 1fr;
  gap:var(--sp-8) var(--sp-6);padding-bottom:var(--sp-8)}
.footer .brand__name{color:#fff;font-size:1.35rem}
.footer .brand__sub{color:var(--brand-400)}
.footer__tag{margin-top:var(--sp-4);font-family:var(--font-editorial);
  font-size:var(--fs-lg);color:rgb(255 255 255 / .6)}
.footer__col h3{font-size:var(--fs-xs);font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brand-400);margin-bottom:var(--sp-4)}
.footer__col li{padding-block:.3rem}
.footer__col a:hover{color:#fff}
.footer__logos{display:flex;flex-wrap:wrap;gap:var(--sp-5);align-items:center}
.footer__logos img{height:24px;width:auto;filter:brightness(0) invert(1);opacity:.55}
.footer__legal{display:grid;gap:var(--sp-3);padding-top:var(--sp-6);
  border-top:1px solid rgb(255 255 255 / .1);
  font-size:.6875rem;line-height:1.7;color:rgb(255 255 255 / .42)}
.footer__legal a{border-bottom:1px solid currentColor}

/* ───────────────────────────── FORMULÁRIO ───────────────────────────── */
.form{display:grid;gap:var(--sp-4)}
.row{display:grid;gap:var(--sp-4);grid-template-columns:1fr 1fr}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

.field{display:grid;gap:.4rem}
.field label{font-size:var(--fs-xs);font-weight:500;letter-spacing:.08em;color:var(--text-mute)}
.field input,.field select{
  width:100%;min-height:52px;padding:.85rem 1.1rem;
  background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-sm);
  font-size:1rem;font-weight:300;
  transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}
.field select{appearance:none;padding-right:2.5rem;
  background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%2371594F' stroke-width='1.5'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") no-repeat right 1rem center}
.field input::placeholder{color:var(--ink-300)}
.field input:hover,.field select:hover{border-color:var(--ink-300)}
.field input:focus,.field select:focus{outline:none;border-color:var(--brand);
  box-shadow:0 0 0 4px rgb(158 64 22 / .14)}
.field input[aria-invalid="true"]{border-color:#C0392B}
.err{font-size:.75rem;color:#C0392B}
.err:empty{display:none}

.check{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;
  font-size:.8125rem;line-height:1.55;color:var(--text-mute)}
.check input{width:19px;height:19px;margin-top:2px;accent-color:var(--brand);flex:none}
.check a{color:var(--brand);border-bottom:1px solid currentColor}

.status{font-size:var(--fs-sm);min-height:1.2em}
.status.ok{color:#1B7A3E}
.status.bad{color:#C0392B}

/* ───────────────────────────── MODAL ───────────────────────────── */
.modal{
  width:min(580px,calc(100vw - 2rem));margin:auto;
  max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);
  overflow-y:auto;overscroll-behavior:contain;
  padding:clamp(1.75rem,4vw,2.75rem);
  background:var(--paper);color:var(--text);
  border-radius:var(--r-xl);box-shadow:var(--shadow-lg);
}
.modal::backdrop{background:rgb(27 15 11 / .66);backdrop-filter:blur(4px)}
.modal[open]{animation:pop var(--t-base) var(--ease)}
.modal[open]::backdrop{animation:fade var(--t-base) var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}}
@keyframes fade{from{opacity:0}}
.modal__close{position:sticky;top:0;z-index:2;display:grid;place-items:center;
  width:44px;height:44px;margin:-.75rem -.75rem -44px auto;border-radius:50%;
  background:var(--paper);color:var(--text-mute);
  transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease)}
.modal__close:hover{background:var(--ink-100);color:var(--brand)}
.modal__lead{font-size:var(--fs-sm);color:var(--text-mute);margin:.75rem 0 var(--sp-5)}
.modal .h3{margin-top:.75rem}

/* ───────────────────────────── FLUTUANTES ───────────────────────────── */
.wa{
  position:fixed;right:clamp(1rem,2.5vw,1.75rem);bottom:clamp(1rem,2.5vw,1.75rem);
  z-index:90;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;
  background:#1FA855;color:#fff;box-shadow:0 12px 28px -8px rgb(31 168 85 / .6);
  transition:transform var(--t-base) var(--ease),background var(--t-base) var(--ease);
}
.wa:hover{transform:scale(1.06);background:#188B45}

.mobilebar{display:none;position:fixed;inset:auto 0 0;z-index:95;gap:.6rem;
  padding:.65rem var(--sp-4) calc(.65rem + env(safe-area-inset-bottom));
  background:rgb(251 247 241 / .95);backdrop-filter:blur(14px);
  border-top:1px solid var(--border)}
.mobilebar .btn{flex:1;padding-inline:.75rem;font-size:var(--fs-xs)}

/* ── Banner de cookies ── */
.cookies{
  position:fixed;left:clamp(1rem,2.5vw,1.75rem);bottom:clamp(1rem,2.5vw,1.75rem);
  z-index:96;width:min(400px,calc(100vw - 2rem));
  padding:var(--sp-5);border-radius:var(--r-lg);
  background:var(--ink-900);color:rgb(255 255 255 / .78);
  box-shadow:var(--shadow-lg);font-size:var(--fs-sm);line-height:1.55;
  opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity var(--t-base) var(--ease),transform var(--t-base) var(--ease);
}
.cookies.is-on{opacity:1;transform:none;pointer-events:auto}
.cookies a{color:var(--brand-400);border-bottom:1px solid currentColor}
.cookies__actions{display:flex;gap:.6rem;margin-top:var(--sp-4)}
.cookies__actions .btn{min-height:42px;padding:.6rem 1.35rem;font-size:var(--fs-xs)}

/* ───────────────────────────── RESPONSIVO ───────────────────────────── */
@media (max-width:1080px){
  .hero__content{grid-template-columns:1fr;align-items:start;gap:2rem}
  .hero__panel{max-width:420px}
  .hero__cue{display:none}
  .build{grid-template-columns:1fr}
  .build__visual{position:static;max-width:440px}
}

@media (max-width:1024px){
  .nav{position:fixed;inset:0 0 auto;padding:calc(var(--header-h) + 1.5rem) var(--pad) var(--sp-6);
    background:rgb(27 15 11 / .97);backdrop-filter:blur(16px);
    border-bottom-left-radius:var(--r-lg);border-bottom-right-radius:var(--r-lg);
    transform:translateY(-102%);visibility:hidden;
    transition:transform var(--t-base) var(--ease),visibility var(--t-base)}
  .nav.is-open{transform:none;visibility:visible}
  .nav ul{flex-direction:column;gap:0}
  .nav a{padding-block:var(--sp-4);font-size:var(--fs-lg);
    border-bottom:1px solid rgb(255 255 255 / .1)}
  .nav a[aria-current]::after{left:auto;right:0;translate:0}
  .burger{display:block}
  .header__cta{display:none}

  .pillars{grid-template-columns:1fr;gap:var(--sp-5)}
  .split,.split--flip{grid-template-columns:1fr}
  .split--flip .split__media{order:0}
  .split__body{max-width:none}
  .plan,.local,.cta__box{grid-template-columns:1fr}
  .cta__actions{grid-auto-flow:column;justify-content:start}
  .mosaic{grid-template-columns:repeat(2,1fr)}
  .mosaic__item--xl,.mosaic__item--tall{grid-column:auto;grid-row:auto}
  .mosaic__item .slot,.mosaic__item--xl .slot,.mosaic__item--tall .slot{min-height:0;aspect-ratio:4/3}
}

@media (max-width:720px){
  body{padding-bottom:4.75rem}
  .hero{padding:.375rem .375rem 0}
  .hero__frame{border-radius:var(--r-lg);min-height:min(88svh,760px)}
  .hero__img{object-position:60% 40%}
  .row,.sheet{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:var(--sp-6)}
  .cta__actions{grid-auto-flow:row}
  .cta__actions .btn{width:100%}
  .mobilebar{display:flex}
  .wa{display:none}
  .cookies{left:.75rem;right:.75rem;width:auto;bottom:calc(4.75rem + env(safe-area-inset-bottom))}
  /* modal em tela cheia: sem vão de backdrop no topo */
  .modal{width:100vw;max-width:none;margin:0;
    height:100vh;height:100dvh;max-height:none;
    border-radius:0;
    padding-bottom:calc(2rem + env(safe-area-inset-bottom))}
}

@media (max-width:480px){
  .mosaic{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr;gap:var(--sp-4)}
}

/* ───────────────────────────── MOVIMENTO ───────────────────────────── */
.reveal{opacity:0;transform:translateY(20px);
  transition:opacity 640ms var(--ease),transform 640ms var(--ease)}
.reveal.in{opacity:1;transform:none}
.pillar.reveal:nth-child(2),.level.reveal:nth-child(2){transition-delay:70ms}
.pillar.reveal:nth-child(3),.level.reveal:nth-child(3){transition-delay:140ms}
.level.reveal:nth-child(4){transition-delay:210ms}
.mosaic__item.reveal:nth-child(2){transition-delay:60ms}
.mosaic__item.reveal:nth-child(3){transition-delay:120ms}
.mosaic__item.reveal:nth-child(4){transition-delay:180ms}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .btn:hover,.card:hover,.mosaic__item:hover{transform:none}
}

/* ───────────────────────────── EDIFÍCIO (imagem) ───────────────────── */
.build__visual img{display:block;width:100%;height:auto}

/* ───────────────────────────── VÍDEO ───────────────────────────────── */
.video{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow-md);background:var(--ink-900)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video__cover{position:absolute;inset:0;display:block;width:100%;height:100%;
  padding:0;border:0;background:none;cursor:pointer}
.video__cover img{width:100%;height:100%;object-fit:cover;
  transition:transform 640ms var(--ease)}
.video__cover::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgb(0 0 0/.45),rgb(0 0 0/.12) 45%)}
.video__cover:hover img{transform:scale(1.04)}
.video__play{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:1;
  width:clamp(64px,8vw,88px);aspect-ratio:1;border-radius:50%;
  display:grid;place-items:center;padding-left:4px;
  background:var(--brand);color:#fff;box-shadow:var(--shadow-glow);
  transition:transform var(--t-base) var(--ease),background var(--t-base) var(--ease)}
.video__cover:hover .video__play{transform:scale(1.08);background:var(--brand-600)}
.video__label{position:absolute;left:50%;bottom:1.4rem;translate:-50% 0;z-index:1;
  color:#fff;font-size:var(--fs-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase}

/* ───────────────────────────── PLANTAS "EM BREVE" ──────────────────── */
.plan__media{position:relative}
/* O borrão já vem gravado no próprio arquivo (planta-*-preview.webp),
   para a planta original não ficar acessível pelo inspecionar elemento. */
.plan__media--soon::before{content:"";position:absolute;inset:0;
  background:linear-gradient(160deg,rgb(158 64 22/.08),rgb(249 233 215/.2))}
.plan__media--soon::after{content:"PLANTA EM BREVE";position:absolute;left:50%;top:50%;translate:-50% -50%;
  padding:.85rem 1.7rem;border-radius:var(--r-pill);background:var(--ink-900);color:#fff;
  font-size:var(--fs-xs);font-weight:600;letter-spacing:.22em;white-space:nowrap}

/* ───────────────────────────── LIGHTBOX DO LAZER ───────────────────── */
.mosaic__item{cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:220;display:grid;place-items:center;
  padding:clamp(1rem,4vw,3rem);background:rgb(15 8 5/.93);
  opacity:0;pointer-events:none;transition:opacity 280ms var(--ease)}
.lightbox.is-on{opacity:1;pointer-events:auto}
.lightbox figure{margin:0;display:grid;gap:.9rem;justify-items:center;max-width:min(1100px,100%)}
.lightbox img{max-width:100%;max-height:80vh;width:auto;height:auto;
  border-radius:var(--r-md);box-shadow:0 30px 80px rgb(0 0 0/.5)}
.lightbox figcaption{color:rgb(255 255 255/.85);font-size:var(--fs-sm);letter-spacing:.06em}
.lightbox__close{position:absolute;top:1.1rem;right:1.1rem;width:46px;height:46px;
  display:grid;place-items:center;border-radius:50%;border:1px solid rgb(255 255 255/.3);
  background:none;color:#fff;cursor:pointer;transition:background var(--t-base) var(--ease)}
.lightbox__close:hover{background:rgb(255 255 255/.14)}

/* Status vazio do formulário não ocupa espaço */
.status:empty{display:none}
