/* ============================================================
   CONEXÃO ANHEMBI — Integra Desenvolvimento Urbano
   Direção: corporativo premium + preciso. Navy dominante,
   âmbar/laranja só em CTA e destaque, geometria angular (radius 4)
   herdada do "X" da marca. Nada de card genérico arredondado.
   ============================================================ */

/* ---------- Fontes auto-hospedadas ---------- */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 800;font-display:swap;
  src:url(assets/fontes/montserrat-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 800;font-display:swap;
  src:url(assets/fontes/montserrat-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 700;font-display:swap;
  src:url(assets/fontes/figtree-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 700;font-display:swap;
  src:url(assets/fontes/figtree-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ---------- Tokens ---------- */
:root{
  /* 60% — base */
  --navy:#182A43;
  --navy-900:#0E1B2D;
  --navy-800:#1E3453;
  --navy-700:#26415F;
  --navy-600:#33526F;
  --paper:#F4F7FA;
  --paper-2:#E7EDF4;
  --white:#FFFFFF;

  /* 30% — apoio */
  --ink:#152034;
  --ink-soft:#4B5C75;
  --ink-faint:#71809A;
  --line:#D9E2EC;
  --line-dark:rgba(255,255,255,.14);
  --on-navy:#EAF0F7;
  --on-navy-soft:#A9BAD0;

  /* 10% — acento (só CTA e destaque) */
  --amber:#FFCD02;
  --orange:#F59C24;
  --blue:#0374C4;
  --blue-soft:#4A8FBC;

  --r:4px;
  --r-lg:6px;
  --shadow-sm:0 2px 8px rgb(21 32 52 / .06);
  --shadow:0 12px 34px rgb(21 32 52 / .10);
  --shadow-lg:0 28px 70px rgb(9 18 32 / .30);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-soft:cubic-bezier(.4,0,.2,1);

  --pad:clamp(20px,5vw,40px);
  --maxw:1220px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:78px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:'Figtree',ui-sans-serif,system-ui,-apple-system,sans-serif;
  font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
img,svg,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}

/* ---------- Tipografia ---------- */
.d1,.d2,.d3,.d4{font-family:'Montserrat',ui-sans-serif,system-ui,sans-serif;font-weight:800;
  line-height:1.06;letter-spacing:-.022em;text-transform:uppercase;text-wrap:balance}
.d1{font-size:clamp(2.35rem,6.2vw,4.5rem)}
.d2{font-size:clamp(1.85rem,4.1vw,3.05rem);line-height:1.08}
.d3{font-size:clamp(1.35rem,2.4vw,1.95rem);line-height:1.14;letter-spacing:-.015em}
.d4{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.2;letter-spacing:-.005em;font-weight:700}
.lead{font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.6;color:var(--ink-soft);max-width:60ch}
.sec--dark .lead{color:var(--on-navy-soft)}
.tiny{font-size:.8125rem;line-height:1.55;color:var(--ink-faint)}
.sec--dark .tiny{color:rgb(169 186 208 / .72)}

/* rótulo com o chevron da marca */
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:.75rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:1rem;
}
.eyebrow::before{
  content:"";width:26px;height:12px;flex:none;background:currentColor;
  clip-path:polygon(0 0,42% 0,100% 100%,58% 100%);
}
.sec--dark .eyebrow{color:var(--amber)}

.hl{color:var(--orange)}
.sec--dark .hl{color:var(--amber)}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.wrap--wide{max-width:1440px}
.sec{padding-block:clamp(56px,8vw,112px);position:relative}
.sec--dark{background:var(--navy);color:var(--on-navy)}
.sec--darker{background:var(--navy-900);color:var(--on-navy)}
.sec--paper{background:var(--paper)}
.sec--white{background:var(--white)}
.sec--tight{padding-block:clamp(40px,5vw,68px)}
.sec-head{max-width:62ch;margin-bottom:clamp(32px,4vw,52px)}
.sec-head--center{margin-inline:auto;text-align:center}
.sec-head--center .eyebrow{justify-content:center}

/* “X” da marca, divisor e ornamento */
.xmark{display:block;width:100%;height:auto}
.xrule{display:flex;justify-content:center;padding-block:clamp(28px,4vw,44px)}
.xrule .xmark{max-width:240px}

/* ============================================================
   NAVBAR
   ============================================================ */
.topbar{
  position:fixed;inset:0 0 auto;z-index:60;
  background:rgb(24 42 67 / .0);transition:background .35s var(--ease-soft),box-shadow .35s var(--ease-soft),backdrop-filter .35s;
}
.topbar.is-solid{background:rgb(14 27 45 / .93);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 rgb(255 255 255 / .09)}
.topbar__in{display:flex;align-items:center;gap:1.5rem;height:72px}
.topbar__logo{flex:none}
.topbar__logo img{width:clamp(132px,15vw,176px)}
.nav{display:flex;gap:1.55rem;margin-left:auto}
.nav a{
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:.775rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--on-navy);opacity:.86;position:relative;padding-block:.4rem;
  transition:opacity .2s,color .2s;
}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--amber);transition:width .28s var(--ease)}
.nav a:hover{opacity:1;color:#fff}
.nav a:hover::after,.nav a[aria-current="true"]::after{width:100%}
.nav a[aria-current="true"]{opacity:1;color:#fff}
.topbar .btn{flex:none}
.burger{display:none;flex:none;width:44px;height:44px;background:none;border:1px solid var(--line-dark);border-radius:var(--r);cursor:pointer;position:relative}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--on-navy);transition:transform .3s var(--ease),opacity .2s}
.burger span:nth-child(1){top:15px}
.burger span:nth-child(2){top:21px}
.burger span:nth-child(3){top:27px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.progress{position:absolute;left:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--orange),var(--amber));width:0;transition:width .12s linear}

@media (max-width:1020px){
  .nav{
    position:fixed;inset:72px 0 auto;flex-direction:column;gap:0;margin:0;
    background:rgb(14 27 45 / .985);backdrop-filter:blur(14px);
    padding:8px var(--pad) 26px;transform:translateY(-12px);opacity:0;pointer-events:none;
    transition:opacity .28s var(--ease-soft),transform .28s var(--ease-soft);
    border-bottom:1px solid var(--line-dark);max-height:calc(100dvh - 72px);overflow:auto;
  }
  .nav.is-open{opacity:1;transform:none;pointer-events:auto}
  .nav a{font-size:.95rem;letter-spacing:.06em;padding-block:.95rem;border-bottom:1px solid rgb(255 255 255 / .07)}
  .nav a::after{display:none}
  .burger{display:block;margin-left:auto;order:2}
  .topbar .btn--nav{display:none}
}

/* ============================================================
   BOTÕES
   ============================================================ */
.btn{
  --bg:var(--amber);--fg:var(--navy-900);
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  background:var(--bg);color:var(--fg);border:0;border-radius:var(--r);cursor:pointer;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:.8125rem;letter-spacing:.09em;
  text-transform:uppercase;padding:.95rem 1.5rem;line-height:1;
  transition:transform .18s var(--ease),box-shadow .22s var(--ease),background .22s;
  box-shadow:0 6px 18px rgb(245 156 36 / .22);white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgb(245 156 36 / .34);background:#FFD836}
.btn:active{transform:translateY(0)}
.btn svg{width:17px;height:17px;flex:none}
.btn--ghost{--bg:transparent;--fg:var(--on-navy);border:1px solid rgb(255 255 255 / .34);box-shadow:none}
.btn--ghost:hover{background:rgb(255 255 255 / .1);border-color:rgb(255 255 255 / .6);box-shadow:none}
.btn--outline{--bg:transparent;--fg:var(--navy);border:1.5px solid var(--navy);box-shadow:none}
.btn--outline:hover{background:var(--navy);color:#fff;box-shadow:none}
.btn--wpp{--bg:#1FA855;--fg:#fff;box-shadow:0 6px 18px rgb(31 168 85 / .26)}
.btn--wpp:hover{background:#21B85C;box-shadow:0 12px 26px rgb(31 168 85 / .34)}
.btn--sm{padding:.72rem 1.1rem;font-size:.72rem}
.btn--block{width:100%}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:min(100svh,880px);display:flex;flex-direction:column;
  background:var(--navy-900);color:var(--on-navy);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 62%}
.hero__scrim{position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgb(14 27 45 / .88) 0%,rgb(14 27 45 / .52) 26%,rgb(14 27 45 / .58) 56%,rgb(14 27 45 / .96) 100%),
    linear-gradient(96deg,rgb(24 42 67 / .84) 0%,rgb(24 42 67 / .30) 58%,rgb(24 42 67 / .05) 100%);
}
.hero__onda{position:absolute;left:-6%;right:-6%;bottom:16%;height:min(38vh,340px);z-index:-1;opacity:.62;
  pointer-events:none;mix-blend-mode:screen}
.hero__onda img{width:100%;height:100%;object-fit:fill}
.hero__in{flex:1;display:flex;align-items:center;padding-block:clamp(104px,14vh,150px) clamp(28px,5vh,48px)}
.hero__grid{display:grid;gap:clamp(28px,4vw,56px);align-items:end;width:100%}
@media (min-width:960px){.hero__grid{grid-template-columns:minmax(0,1fr) auto}}

.hero__logo{width:clamp(250px,34vw,430px);margin-bottom:clamp(20px,3vw,30px)}
.hero__loc{display:flex;align-items:center;gap:.55rem;font-family:'Montserrat',sans-serif;font-weight:700;
  font-size:.75rem;letter-spacing:.19em;text-transform:uppercase;color:var(--amber);margin-bottom:1.1rem}
.hero__loc svg{width:15px;height:15px}
.hero h1{margin-bottom:1.1rem;color:#fff;text-shadow:0 2px 30px rgb(9 18 32 / .5)}
.hero__sub{font-size:clamp(1.02rem,1.75vw,1.24rem);line-height:1.55;color:#DCE6F2;max-width:36ch;margin-bottom:1.9rem}
.hero__sub strong{color:#fff;font-weight:600}
.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.9rem}
.hero__selos{display:flex;align-items:center;gap:clamp(14px,2vw,22px);flex-wrap:wrap}
.hero__selos img{height:clamp(46px,5.4vw,64px);width:auto;opacity:.97}
.hero__selos .selo-his{height:clamp(34px,4.2vw,48px)}

/* barra de dados do hero */
.hero__stats{border-top:1px solid rgb(255 255 255 / .16);background:rgb(14 27 45 / .72);backdrop-filter:blur(8px)}
.hero__stats ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgb(255 255 255 / .12)}
@media (min-width:760px){.hero__stats ul{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hero__stats li{background:rgb(14 27 45 / .72);padding:1.1rem clamp(14px,2vw,22px)}
.hero__stats b{display:block;font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(1.15rem,2.1vw,1.6rem);
  color:#fff;line-height:1.1;letter-spacing:-.02em}
.hero__stats span{display:block;font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;color:var(--on-navy-soft);margin-top:.3rem}
@media (min-width:560px){.hero__stats span{font-size:.74rem;letter-spacing:.11em}}

.scrollcue{position:absolute;left:50%;bottom:calc(100% + 14px);translate:-50% 0;width:1px;height:44px;
  background:linear-gradient(180deg,transparent,var(--amber));opacity:.8}
@media (max-width:759px){.scrollcue{display:none}}

/* ============================================================
   FAIXA METRÔ (destaque)
   ============================================================ */
.metro{background:var(--amber);color:var(--navy-900);overflow:hidden;position:relative}
.metro__in{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2.4vw,30px);
  flex-wrap:wrap;padding-block:.95rem;text-align:center}
.metro strong{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(.9rem,1.8vw,1.2rem);
  letter-spacing:-.01em;text-transform:uppercase}
.metro span{font-size:clamp(.82rem,1.4vw,.98rem);font-weight:500}
.metro__pill{display:inline-flex;align-items:center;gap:.45rem;background:var(--navy-900);color:var(--amber);
  border-radius:999px;padding:.36rem .85rem;font-family:'Montserrat',sans-serif;font-weight:700;
  font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.metro__pill svg{width:14px;height:14px}

/* ============================================================
   MANIFESTO
   ============================================================ */
.manifesto{position:relative;overflow:hidden}
.manifesto__onda{position:absolute;left:0;right:0;top:52%;height:300px;opacity:.2;pointer-events:none;z-index:0}
.manifesto__onda img{width:100%;height:100%;object-fit:fill}
.manifesto__grid{position:relative;z-index:1;display:grid;gap:clamp(30px,4.5vw,64px);align-items:center}
@media (min-width:900px){.manifesto__grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}}
.manifesto figure{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg)}
.manifesto figure img{width:100%;aspect-ratio:3/2;object-fit:cover}
.manifesto figcaption{position:absolute;right:10px;bottom:8px;font-size:.62rem;color:rgb(255 255 255 / .72);letter-spacing:.03em}
.manifesto h2{margin-bottom:1.2rem;color:#fff}

/* ============================================================
   LOCALIZAÇÃO
   ============================================================ */
.local__map{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:var(--navy-900)}
.local__map img{width:100%}
.local__map figcaption{position:absolute;left:12px;bottom:10px;font-size:.68rem;color:rgb(255 255 255 / .8);
  background:rgb(14 27 45 / .6);padding:.25rem .55rem;border-radius:2px;letter-spacing:.04em}
.local__grid{display:grid;gap:clamp(28px,4vw,52px);align-items:start}
@media (min-width:960px){.local__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}

.dist{display:grid;gap:0;border-top:1px solid var(--line)}
.dist li{display:flex;align-items:center;gap:.85rem;padding:.72rem 0;border-bottom:1px solid var(--line)}
.dist .ic{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--r);
  background:var(--paper-2);color:var(--navy)}
.dist .ic svg{width:16px;height:16px}
.dist .nm{flex:1;font-size:.97rem;font-weight:500;line-height:1.3}
.dist .tm{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.9rem;color:var(--navy);white-space:nowrap;letter-spacing:-.01em}
.dist .tm em{font-style:normal;font-weight:600;font-size:.75rem;color:var(--ink-faint)}

.vista{display:grid;gap:clamp(20px,3vw,36px);align-items:center;margin-top:clamp(40px,5vw,72px)}
@media (min-width:900px){.vista{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}}
.vista figure{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);position:relative}
.vista figure img{width:100%;aspect-ratio:2.6/1;object-fit:cover}
.vista figcaption{position:absolute;right:10px;bottom:8px;font-size:.64rem;color:rgb(255 255 255 / .82);
  background:rgb(14 27 45 / .55);padding:.2rem .5rem;border-radius:2px}

/* ============================================================
   ROOFTOP / LAZER
   ============================================================ */
.rooftop__banner{position:relative;border-radius:var(--r);overflow:hidden;margin-bottom:clamp(34px,4.5vw,60px);
  box-shadow:var(--shadow-lg)}
.rooftop__banner img{width:100%;aspect-ratio:21/9;object-fit:cover}
@media (max-width:700px){.rooftop__banner img{aspect-ratio:16/11}}
.rooftop__banner .cap{position:absolute;left:0;bottom:0;right:0;padding:clamp(24px,3.4vw,42px);
  background:linear-gradient(0deg,rgb(9 18 32 / .96) 0%,rgb(9 18 32 / .86) 42%,rgb(9 18 32 / .45) 74%,rgb(9 18 32 / 0) 100%);}
.rooftop__banner .cap h3{color:#fff;margin-bottom:.35rem}
.rooftop__banner .cap p{color:var(--on-navy-soft);font-size:.95rem;max-width:52ch}

.lazer-grid{display:grid;gap:clamp(10px,1.4vw,18px);
  grid-template-columns:repeat(auto-fill,minmax(min(100%,258px),1fr))}
.lazer-card{position:relative;border-radius:var(--r);overflow:hidden;background:var(--navy-800);cursor:zoom-in;
  border:1px solid rgb(255 255 255 / .08)}
.lazer-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s var(--ease),filter .4s}
.lazer-card:hover img,.lazer-card:focus-visible img{transform:scale(1.06)}
.lazer-card figcaption{
  position:absolute;inset:auto 0 0 0;padding:.85rem .9rem .8rem;
  background:linear-gradient(0deg,rgb(9 18 32 / .94) 0%,rgb(9 18 32 / .72) 52%,rgb(9 18 32 / 0) 100%);
  padding-top:2.4rem;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:.5rem;
}
.lazer-card figcaption::after{content:"";width:14px;height:14px;flex:none;opacity:.6;
  background:currentColor;transition:opacity .25s;
  clip-path:polygon(0 0,100% 0,100% 100%,86% 100%,86% 24%,14% 24%,14% 14%,100% 14%,100% 0,0 0);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M15 3h6v6M21 3l-9 9M10 5H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M15 3h6v6M21 3l-9 9M10 5H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5'/%3E%3C/svg%3E") center/contain no-repeat;
  clip-path:none;
}
.lazer-card:hover figcaption::after{opacity:1}
.lazer-card--tall{grid-row:span 2}
.lazer-card--tall img{aspect-ratio:3/4.4}
.lazer-card--wide{grid-column:span 2}
.lazer-card--wide img{aspect-ratio:8/3}
@media (max-width:640px){
  .lazer-card--tall{grid-row:auto}.lazer-card--tall img{aspect-ratio:4/3}
  .lazer-card--wide{grid-column:span 2}.lazer-card--wide img{aspect-ratio:16/9}
}

/* implantação rooftop com pontos numerados */
.plan{display:grid;gap:clamp(22px,3vw,44px);align-items:center;margin-top:clamp(40px,5vw,72px)}
@media (min-width:1000px){.plan{grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr)}}
.plan__img{position:relative;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.plan__img img{width:100%}
.plan__list{display:grid;gap:2px}
.plan__list li{display:flex;align-items:center;gap:.8rem;padding:.62rem .75rem;border-radius:var(--r);
  background:rgb(255 255 255 / .045);border:1px solid transparent;transition:background .2s,border-color .2s}
.plan__list li:hover{background:rgb(255 255 255 / .1);border-color:rgb(255 255 255 / .14)}
.plan__list b{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;
  background:var(--amber);color:var(--navy-900);font-family:'Montserrat',sans-serif;font-weight:800;font-size:.75rem}
.plan__list span{font-size:.94rem;font-weight:500}

/* ============================================================
   TOUR 360
   ============================================================ */
.tour__frame{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg);
  background:var(--navy-900);aspect-ratio:16/9}
@media (max-width:640px){.tour__frame{aspect-ratio:4/3}}
.tour__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tour__poster{position:absolute;inset:0;display:grid;place-items:center;cursor:pointer;border:0;padding:0;
  background:var(--navy-900);width:100%;height:100%}
.tour__poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.tour__poster::after{content:"";position:absolute;inset:0;
  background:radial-gradient(58% 58% at 50% 50%,rgb(9 18 32 / .74) 0%,rgb(9 18 32 / .34) 60%,rgb(9 18 32 / .58) 100%)}
.tour__poster .play{position:relative;z-index:1;display:grid;place-items:center;gap:.9rem;justify-items:center;color:#fff;
  text-align:center;padding:1rem}
.tour__poster .play i{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;
  background:var(--amber);color:var(--navy-900);transition:transform .3s var(--ease),box-shadow .3s}
.tour__poster .play i svg{width:26px;height:26px;margin-left:2px}
.tour__poster:hover .play i{transform:scale(1.08);box-shadow:0 12px 34px rgb(255 205 2 / .34)}
.tour__poster .play b{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(1rem,2vw,1.35rem);
  text-transform:uppercase;letter-spacing:-.01em}
.tour__poster .play em{font-style:normal;font-size:.85rem;color:var(--on-navy-soft)}

/* ============================================================
   PLANTAS
   ============================================================ */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(24px,3vw,38px)}
.chip{background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:.6rem 1.05rem;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:700;
  font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);
  transition:all .2s var(--ease-soft)}
.chip:hover{border-color:var(--navy);color:var(--navy)}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.chip small{opacity:.6;font-weight:600;margin-left:.35rem}

.plantas{display:grid;gap:clamp(14px,2vw,24px);grid-template-columns:repeat(auto-fill,minmax(min(100%,344px),1fr))}
.planta{background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .3s}
.planta:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:#C6D3E2}
.planta.is-hidden{display:none}
.planta__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1.15rem 1.25rem .9rem;border-bottom:1px solid var(--line)}
.planta__area{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.7rem;line-height:1;
  color:var(--navy);letter-spacing:-.03em}
.planta__area sup{font-size:.5em;font-weight:700;vertical-align:super;margin-left:1px}
.planta__dorm{font-size:.82rem;font-weight:600;color:var(--ink-soft);margin-top:.3rem}
.planta__tag{flex:none;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.64rem;letter-spacing:.1em;
  text-transform:uppercase;background:var(--navy);color:var(--amber);padding:.32rem .55rem;border-radius:2px}
.planta__tag--garden{background:var(--orange);color:var(--navy-900)}
.planta__fig{position:relative;background:#fff;cursor:zoom-in;overflow:hidden;border:0;padding:0;width:100%;display:block}
.planta__fig{padding:14px 14px 6px}
.planta__fig img{width:100%;aspect-ratio:4/5;object-fit:contain;object-position:center;transition:transform .5s var(--ease)}
.planta__fig:hover img{transform:scale(1.03)}
.planta__fig .zoom{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:34px;height:34px;
  border-radius:var(--r);background:rgb(24 42 67 / .9);color:#fff;opacity:0;transition:opacity .25s}
.planta__fig:hover .zoom{opacity:1}
.planta__fig .zoom svg{width:16px;height:16px}
.planta__meta{margin-top:auto;padding:.9rem 1.25rem 1.15rem;display:grid;gap:.4rem}
.planta__meta div{display:flex;gap:.55rem;font-size:.84rem;color:var(--ink-soft);line-height:1.4}
.planta__meta dt{flex:none;font-weight:600;color:var(--ink-faint);min-width:78px;font-size:.78rem;
  letter-spacing:.05em;text-transform:uppercase}
.planta__meta dd{font-weight:600;color:var(--ink)}

.livings{display:grid;gap:clamp(12px,1.6vw,20px)}
@media (min-width:760px){.livings{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.livings figure{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:var(--navy-900)}
.livings img{width:100%;aspect-ratio:4/3;object-fit:cover}
.livings figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .9rem .7rem;font-size:.72rem;
  color:rgb(255 255 255 / .9);letter-spacing:.03em;
  background:linear-gradient(0deg,rgb(9 18 32 / .88),rgb(9 18 32 / 0))}

/* ============================================================
   DIFERENCIAIS
   ============================================================ */
.difs{display:grid;gap:clamp(30px,4vw,56px)}
@media (min-width:900px){.difs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.difs__col > h3{display:flex;align-items:center;gap:.7rem;font-family:'Montserrat',sans-serif;font-weight:800;
  font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);
  padding-bottom:.85rem;margin-bottom:.4rem;border-bottom:1px solid rgb(255 255 255 / .16)}
.difs ul{display:grid}
.difs li{display:flex;gap:.95rem;align-items:flex-start;padding:.92rem 0;border-bottom:1px solid rgb(255 255 255 / .08)}
.difs .ic{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:var(--r);
  background:rgb(255 255 255 / .07);color:var(--amber);border:1px solid rgb(255 255 255 / .1)}
.difs .ic svg{width:19px;height:19px}
.difs p{font-size:.97rem;line-height:1.5;color:var(--on-navy);padding-top:.42rem}

/* marca d'água do "X" atrás dos diferenciais */
.difs-sec{overflow:hidden}
.difs-sec__x{position:absolute;top:-4%;right:-16%;width:min(66%,760px);height:auto;
  opacity:.075;pointer-events:none;z-index:0}
.difs-sec .wrap{position:relative;z-index:1}
@media (max-width:760px){.difs-sec__x{right:-40%;width:120%;top:-1%}}

/* ============================================================
   ABAS (implantação)
   ============================================================ */
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem;border-bottom:1px solid var(--line)}
.tab{background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;padding:.8rem 1rem;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-faint);transition:color .2s,border-color .2s;margin-bottom:-1px}
.tab:hover{color:var(--navy)}
.tab[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--orange)}
.tabpanel[hidden]{display:none}
.tabpanel figure{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  position:relative;cursor:zoom-in}
.tabpanel figure img{width:100%}
.tabpanel .zoom{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:36px;height:36px;
  border-radius:var(--r);background:rgb(24 42 67 / .9);color:#fff}
.tabpanel .zoom svg{width:17px;height:17px}

/* ============================================================
   FICHA TÉCNICA
   ============================================================ */
.ficha{display:grid;gap:clamp(24px,3vw,44px)}
@media (min-width:820px){.ficha{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.ficha dl{display:grid;gap:0}
.ficha .row{display:grid;grid-template-columns:minmax(110px,.42fr) minmax(0,1fr);gap:1rem;
  padding:.82rem 0;border-bottom:1px solid var(--line)}
.ficha dt{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-faint);padding-top:.15rem}
.ficha dd{font-size:.96rem;font-weight:500;line-height:1.55}
.ficha dd ul{display:grid;gap:.3rem}
.ficha dd li{position:relative;padding-left:1rem;font-size:.94rem}
.ficha dd li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--orange);
  clip-path:polygon(0 0,100% 50%,0 100%)}

/* ============================================================
   HIS-2
   ============================================================ */
.his{display:grid;gap:clamp(26px,3.5vw,48px);align-items:center}
@media (min-width:900px){.his{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center}}
.his__selos{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem}
.his__selos img{height:84px;width:auto}
.his__selos .his2{height:60px}
.his__box{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--amber);
  border-radius:var(--r);padding:clamp(20px,3vw,32px);box-shadow:var(--shadow-sm)}
.his__box h3{margin-bottom:.9rem}
.his__nums{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;margin-top:1.2rem}
@media (min-width:620px){.his__nums{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.his__nums div{background:var(--white);padding:1rem 1.15rem}
.his__nums b{display:block;font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.32rem;color:var(--navy);
  letter-spacing:-.02em;line-height:1.15}
.his__nums span{display:block;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-top:.25rem}

/* ============================================================
   FAQ
   ============================================================ */
.faq{display:grid;gap:clamp(26px,3.5vw,46px)}
@media (min-width:940px){.faq{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.faq__col > h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.82rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--orange);padding-bottom:.8rem;border-bottom:1px solid var(--line);margin-bottom:.3rem}
.q{border-bottom:1px solid var(--line)}
.q summary{list-style:none;cursor:pointer;display:flex;gap:1rem;align-items:flex-start;padding:.95rem 0;
  font-weight:600;font-size:.97rem;line-height:1.45;transition:color .2s}
.q summary::-webkit-details-marker{display:none}
.q summary:hover{color:var(--blue)}
.q summary::after{content:"";flex:none;width:14px;height:14px;margin-left:auto;margin-top:.28em;
  background:var(--ink-faint);transition:transform .3s var(--ease),background .2s;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;}
.q[open] summary::after{transform:rotate(180deg);background:var(--orange)}
.q .a{padding:0 0 1.05rem 0;font-size:.94rem;line-height:1.6;color:var(--ink-soft);max-width:62ch}

/* ============================================================
   FORMULÁRIO / CTA FINAL
   ============================================================ */
.cta{position:relative;overflow:hidden}
.cta__onda{position:absolute;left:-4%;right:-4%;top:8%;height:320px;opacity:.26;pointer-events:none}
.cta__onda img{width:100%;height:100%;object-fit:fill}
.cta__grid{position:relative;z-index:1;display:grid;gap:clamp(30px,4vw,60px);align-items:start}
@media (min-width:920px){.cta__grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}
.cta h2{color:#fff;margin-bottom:1rem}

.form{background:var(--white);border-radius:var(--r);padding:clamp(22px,3vw,34px);box-shadow:var(--shadow-lg);color:var(--ink)}
.form__grid{display:grid;gap:.95rem}
@media (min-width:560px){.form__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.form .full{grid-column:1/-1}}
.field label{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.68rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-faint);margin-bottom:.4rem}
.field input,.field select,.field textarea{
  width:100%;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:.82rem .9rem;font-size:.97rem;transition:border-color .2s,background .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgb(3 116 196 / .12)}
.field textarea{resize:vertical;min-height:92px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.8rem;color:var(--ink-faint);line-height:1.5}
.form__consent input{width:16px;height:16px;flex:none;margin-top:.2rem;accent-color:var(--blue)}
.form__msg{font-size:.9rem;font-weight:600;padding:.75rem .9rem;border-radius:var(--r);display:none}
.form__msg.is-ok{display:block;background:#E6F6EC;color:#166534;border:1px solid #B8E3C7}
.form__msg.is-err{display:block;background:#FDECEC;color:#9B1C1C;border:1px solid #F5C6C6}

.cta__aside{display:grid;gap:1.1rem;align-content:start}
.cta__contato{display:grid;gap:.6rem}
.cta__contato a{display:flex;align-items:center;gap:.85rem;padding:1rem 1.15rem;border-radius:var(--r);
  background:rgb(255 255 255 / .06);border:1px solid rgb(255 255 255 / .14);transition:all .22s var(--ease-soft)}
.cta__contato a:hover{background:rgb(255 255 255 / .12);border-color:rgb(255 255 255 / .3);transform:translateX(3px)}
.cta__contato .ic{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r);
  background:rgb(255 255 255 / .1);color:var(--amber)}
.cta__contato .ic svg{width:19px;height:19px}
.cta__contato b{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.94rem;color:#fff;line-height:1.2}
.cta__contato span{display:block;font-size:.8rem;color:var(--on-navy-soft);margin-top:.15rem}

/* ============================================================
   RODAPÉ
   ============================================================ */
.foot{background:var(--navy-900);color:var(--on-navy-soft);padding-block:clamp(40px,5vw,64px) 28px;font-size:.86rem}
.foot__top{display:grid;gap:clamp(24px,3vw,44px);padding-bottom:clamp(26px,3vw,40px);
  border-bottom:1px solid rgb(255 255 255 / .1)}
@media (min-width:820px){.foot__top{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}}
.foot__logo{width:clamp(180px,22vw,240px);margin-bottom:1rem}
.foot__selos{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem}
.foot__selos img{height:44px;width:auto;opacity:.9}
.foot__selos .his2{height:34px}
.foot__legal{padding-top:22px;font-size:.68rem;line-height:1.65;color:rgb(169 186 208 / .62);max-width:none}
.foot__legal p+p{margin-top:.6rem}
.foot__bar{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;justify-content:space-between;align-items:center;
  padding-top:18px;margin-top:18px;border-top:1px solid rgb(255 255 255 / .08);font-size:.76rem}
.foot__bar a:hover{color:#fff}

/* ============================================================
   WHATSAPP FLUTUANTE
   ============================================================ */
.wpp{position:fixed;right:16px;bottom:16px;z-index:55;display:flex;align-items:center;gap:.6rem;
  background:#1FA855;color:#fff;padding:.85rem 1.15rem;border-radius:999px;font-family:'Montserrat',sans-serif;
  font-weight:700;font-size:.8rem;letter-spacing:.04em;box-shadow:0 10px 30px rgb(31 168 85 / .38);
  transform:translateY(96px);opacity:0;transition:transform .38s var(--ease),opacity .38s var(--ease),background .2s}
.wpp.is-in{transform:none;opacity:1}
.wpp:hover{background:#25C264}
.wpp svg{width:21px;height:21px;flex:none}
@media (max-width:520px){.wpp span{display:none}.wpp{padding:.9rem;border-radius:50%}}

/* ============================================================
   LIGHTBOX
   ============================================================ */
.lb{position:fixed;inset:0;z-index:100;background:rgb(9 18 32 / .96);display:none;
  place-items:center;padding:clamp(12px,3vw,44px)}
.lb.is-open{display:grid}
.lb img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:var(--r);
  animation:lbIn .34s var(--ease) both}
/* prancha de planta/implantação: PNG transparente, precisa de papel branco atrás */
.lb img.is-prancha{background:#fff;padding:clamp(10px,1.8vw,22px);max-height:86vh}
@keyframes lbIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.lb__cap{position:absolute;left:0;right:0;bottom:16px;text-align:center;color:var(--on-navy-soft);
  font-size:.82rem;letter-spacing:.06em;padding-inline:20px}
.lb__x,.lb__nav{position:absolute;display:grid;place-items:center;width:46px;height:46px;border:0;cursor:pointer;
  background:rgb(255 255 255 / .1);color:#fff;border-radius:var(--r);transition:background .2s}
.lb__x:hover,.lb__nav:hover{background:rgb(255 255 255 / .22)}
.lb__x{top:16px;right:16px}
.lb__nav svg,.lb__x svg{width:21px;height:21px}
.lb__nav--prev{left:12px;top:50%;translate:0 -50%}
.lb__nav--next{right:12px;top:50%;translate:0 -50%}
@media (max-width:640px){.lb__nav{width:40px;height:40px}}

/* ============================================================
   ANIMAÇÕES DE ENTRADA
   ============================================================ */
[data-rv]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-rv].is-in{opacity:1;transform:none}
[data-rv="fade"]{transform:none}
[data-rv-d="1"]{transition-delay:.08s}
[data-rv-d="2"]{transition-delay:.16s}
[data-rv-d="3"]{transition-delay:.24s}
[data-rv-d="4"]{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){
  [data-rv]{opacity:1;transform:none;transition:none}
  .lazer-card img,.planta__fig img{transition:none}
  .lb img{animation:none}
}

/* utilidades */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
