/* Vasconcelos Imóveis — site principal. Identidade: creme, preto do V, dourado escovado.
   Só fotos reais (escritório, equipe, sócios e o material das construtoras cadastrado no CRM).
   Profundidade 2.5D: camadas que reagem ao mouse/giroscópio e à rolagem; sem JavaScript tudo continua legível. */
:root{
  --creme:#F3EEE5; --creme2:#EAE2D4; --papel:#FBF8F2; --tinta:#16130F; --texto:#2E2922; --suave:#6A5F50;
  --ouro:#A8834E; --ouro-claro:#D4B176; --linha:#DDD2C0; --escuro:#151210; --escuro2:#221D18; --escuro3:#2a231c;
  --vidro:rgb(21 18 16/.74);
  --f-tit:"DM Serif Display",ui-serif,Georgia,serif; --f-txt:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1); --ease-cine:cubic-bezier(.77,0,.18,1);
  --mx:0; --my:0;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px;-webkit-text-size-adjust:100%}
body{background:var(--escuro);color:var(--texto);font:17px/1.6 var(--f-txt);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.travado{overflow:hidden}
img{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-family:var(--f-tit);font-weight:400;letter-spacing:-.01em;line-height:1.05;text-wrap:balance}
p{text-wrap:pretty}
.w{max-width:1180px;margin:auto;padding-inline:max(20px,env(safe-area-inset-left,0px))}
:focus-visible{outline:2px solid var(--ouro-claro);outline-offset:3px}
.pular{position:fixed;left:12px;top:-60px;z-index:100;background:var(--creme);color:var(--tinta);padding:10px 16px;border-radius:4px;transition:top .2s}
.pular:focus{top:12px}

/* topo */
.topo{position:fixed;top:0;left:0;right:0;z-index:60;padding-block:14px;transition:background .35s,box-shadow .35s,transform .5s var(--ease)}
.topo.sol{background:rgb(21 18 16/.86);box-shadow:0 1px 0 rgb(212 177 118/.25)}
@supports (backdrop-filter:blur(10px)){.topo.sol{backdrop-filter:blur(10px)}}
.topo::before{content:"";position:absolute;inset:0 0 -30px 0;background:linear-gradient(180deg,rgb(21 18 16/.7),transparent);pointer-events:none;z-index:-1;transition:opacity .3s}
.topo.sol::before{opacity:0}
.topo .w{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1320px}
.marca{display:flex;align-items:center;gap:11px;text-decoration:none;color:#F6F0E6}
.marca .emblema{width:44px;height:44px;flex:none;border-radius:9px;box-shadow:0 0 0 1px rgb(212 177 118/.45),0 6px 18px -8px #000}
.marca span{font:700 14px/1.1 var(--f-txt);letter-spacing:.2em;text-transform:uppercase}
.marca small{display:block;font:500 9.5px/1.5 var(--f-txt);letter-spacing:.42em;color:var(--ouro-claro)}
.nav{display:none;gap:clamp(14px,1.6vw,28px);list-style:none}
.nav a{font:500 14px/1 var(--f-txt);color:#EDE4D3;text-decoration:none;letter-spacing:.04em;position:relative;padding:8px 0}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--ouro-claro);transition:width .3s var(--ease)}
.nav a:hover::after,.nav a.ativo::after{width:100%}
.topo-dir{display:flex;align-items:center;gap:10px}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;border:1px solid rgb(212 177 118/.5);border-radius:50%;display:grid;place-items:center;color:#F6F0E6}
.menu summary::-webkit-details-marker{display:none}
.menu summary i,.menu summary i::before,.menu summary i::after{display:block;width:16px;height:1.5px;background:currentColor;content:"";position:relative}
.menu summary i::before{position:absolute;top:-5px}.menu summary i::after{position:absolute;top:5px}
.menu ul{position:absolute;right:0;top:54px;min-width:230px;list-style:none;background:var(--escuro);border:1px solid rgb(212 177 118/.35);border-radius:8px;padding:8px}
.menu li a{display:block;padding:12px 14px;color:#EDE4D3;text-decoration:none;border-radius:4px}
.menu li a:hover{background:var(--escuro2)}
@media(min-width:1024px){.nav{display:flex}.menu{display:none}}
@media(max-width:899px){.topo-dir .btn{display:none}}
html.visao-aberta .topo{transform:translateY(-110%)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 28px;border:0;border-radius:999px;background:linear-gradient(180deg,#DDBB80,#B08A52);color:var(--tinta);font:700 16px/1.2 var(--f-txt);text-decoration:none;cursor:pointer;transition:transform .35s var(--ease),filter .3s,box-shadow .35s;box-shadow:0 10px 30px -12px rgb(212 177 118/.7);will-change:transform;text-align:center}
.btn:hover{filter:brightness(1.07);box-shadow:0 14px 34px -10px rgb(212 177 118/.85)}
.btn svg{width:20px;height:20px;flex:none}
.btn.pequeno{min-height:44px;padding:0 20px;font-size:14.5px}
.btn.fantasma{background:transparent;color:#F6F0E6;box-shadow:inset 0 0 0 1.5px rgb(212 177 118/.65)}
.btn.fantasma:hover{background:rgb(212 177 118/.14);filter:none}
.btn.escuro{background:var(--tinta);color:var(--creme);box-shadow:inset 0 -2px 0 var(--ouro)}
.link-seta{display:inline-flex;align-items:center;gap:8px;color:var(--ouro-claro);font:600 15px/1.3 var(--f-txt);text-decoration:none;min-height:44px}
.link-seta svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.link-seta:hover svg{transform:translateX(4px)}
.rot{display:flex;align-items:center;gap:14px;font:600 12.5px/1.3 var(--f-txt);letter-spacing:.22em;text-transform:uppercase;color:var(--ouro-claro)}
.rot::before{content:"";width:34px;height:1.5px;flex:none;background:linear-gradient(90deg,var(--ouro-claro),var(--ouro))}

/* ===== HERO: parede de fotos reais em perspectiva ===== */
.hero{position:relative;z-index:2;min-height:100svh;display:flex;align-items:flex-end;padding-block:110px 56px;overflow:hidden;background:var(--escuro);isolation:isolate}
.parede{position:absolute;inset:-10% -20%;z-index:-2;perspective:1300px;perspective-origin:50% 30%}
.plano{position:absolute;inset:0;display:flex;gap:clamp(10px,1.4vw,22px);justify-content:center;transform-style:preserve-3d;
  transform:rotateX(calc(42deg + var(--my) * -5deg)) rotateZ(calc(-14deg + var(--mx) * 3deg)) translateZ(calc(var(--zoom,0) * 1px)) scale(1.05);
  transform-origin:50% 40%;will-change:transform}
.col{display:flex;flex-direction:column;gap:clamp(10px,1.4vw,22px);width:clamp(150px,17vw,280px);flex:none;animation:sobeCol 70s linear infinite}
.col:nth-child(even){animation-direction:reverse;animation-duration:84s;margin-top:-30%}
.col:nth-child(3n){animation-duration:96s}
@keyframes sobeCol{to{transform:translateY(-50%)}}
.col figure{border-radius:12px;overflow:hidden;background:var(--escuro3);aspect-ratio:4/5;box-shadow:0 30px 60px -30px #000;flex:none}
.col figure:nth-child(3n+2){aspect-ratio:4/3}
.col img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02)}
.hero-veu{position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(120% 80% at 20% 100%,rgb(21 18 16/.96) 0%,rgb(21 18 16/.78) 42%,rgb(21 18 16/.35) 75%,rgb(21 18 16/.15) 100%),
  linear-gradient(180deg,rgb(21 18 16/.65) 0%,rgb(21 18 16/.25) 22%,rgb(21 18 16/.3) 55%,rgb(21 18 16/.9) 100%)}
.hero .w{width:100%;position:relative}
.hero h1{font-size:clamp(44px,8.2vw,118px);color:#FBF5EA;max-width:11em;text-shadow:0 4px 40px rgb(21 18 16/.55)}
.hero h1 em{font-style:italic;color:var(--ouro-claro)}
.hero .sub{font-size:clamp(17px,1.7vw,21px);color:#F1E7D5;max-width:34em;margin-top:22px;text-shadow:0 2px 20px rgb(21 18 16/.7)}
.hero .acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero .rot{color:#F6E7CC}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px;list-style:none}
.chips a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;background:rgb(21 18 16/.5);border:1px solid rgb(212 177 118/.5);color:#F6F0E6;text-decoration:none;font:500 14.5px/1 var(--f-txt);transition:background .3s,transform .3s var(--ease)}
.chips a:hover{background:rgb(212 177 118/.25);transform:translateY(-2px)}
.chips a::before{content:"";border-left:6px solid var(--ouro-claro);border-block:4px solid transparent}
.rolar{position:absolute;right:max(20px,4vw);bottom:56px;display:none;flex-direction:column;align-items:center;gap:10px;font:600 11px/1 var(--f-txt);letter-spacing:.3em;text-transform:uppercase;color:#EDE4D3;writing-mode:vertical-rl}
.rolar::after{content:"";width:1px;height:70px;background:linear-gradient(var(--ouro-claro),transparent);animation:desce 2.2s ease-in-out infinite}
@keyframes desce{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(min-width:900px){.rolar{display:flex}}
.hero .anima{animation:sobe 1s var(--ease) both}
.hero .anima:nth-child(2){animation-delay:.12s}.hero .anima:nth-child(3){animation-delay:.24s}.hero .anima:nth-child(4){animation-delay:.36s}.hero .anima:nth-child(5){animation-delay:.48s}
@keyframes sobe{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@media(max-width:700px){.parede{inset:-6% -60%}.col{width:150px}}

/* faixa que corre */
.faixa{position:relative;z-index:2;overflow:hidden;background:var(--escuro);border-block:1px solid rgb(212 177 118/.3);padding:16px 0}
.faixa div{display:flex;width:max-content;animation:corre 46s linear infinite}
.faixa span{font:400 24px/1 var(--f-tit);color:#EDE4D3;padding-inline:22px;white-space:nowrap}
.faixa span::after{content:"";display:inline-block;width:7px;height:7px;margin-left:44px;background:var(--ouro-claro);transform:rotate(45deg);vertical-align:middle}
@keyframes corre{to{transform:translateX(-50%)}}

/* ===== seções com foto real ao fundo (parallax + Ken Burns) ===== */
.seg{position:relative;z-index:2;min-height:100svh;display:flex;align-items:flex-end;padding-block:90px 64px;overflow:hidden;isolation:isolate;background:var(--escuro)}
.seg .w{width:100%;display:flex}
@media(min-width:900px){.seg{align-items:center;padding-block:100px}.seg.dir .w{justify-content:flex-end}}
.fundo{position:absolute;inset:-12% 0;z-index:-1;overflow:hidden;will-change:transform}
.fundo img{width:100%;height:100%;object-fit:cover;transform-origin:60% 40%;animation:kenburns 26s ease-in-out infinite alternate}
.seg.dir .fundo img{transform-origin:30% 60%;animation-duration:30s}
@keyframes kenburns{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.16) translate3d(-2%,-1.5%,0)}}
.seg::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgb(21 18 16/.82) 0%,rgb(21 18 16/.45) 55%,rgb(21 18 16/.25) 100%),linear-gradient(0deg,rgb(21 18 16/.8),transparent 45%)}
.seg.dir::after{background:linear-gradient(270deg,rgb(21 18 16/.82) 0%,rgb(21 18 16/.45) 55%,rgb(21 18 16/.25) 100%),linear-gradient(0deg,rgb(21 18 16/.8),transparent 45%)}
/* foto do escritório/equipe: fundo desfocado de propósito + quadros nítidos flutuando em profundidade */
.fundo.borrado img{filter:blur(18px) brightness(.55) saturate(1.1);transform:scale(1.15);animation:none}
.quadro{position:absolute;z-index:0;top:110px;right:max(20px,6vw);width:min(44vw,560px);aspect-ratio:1/1.05;perspective:1100px;pointer-events:none}
.seg.dir .quadro{right:auto;left:max(20px,6vw)}
.quadro figure{position:absolute;margin:0;border-radius:14px;overflow:hidden;box-shadow:0 40px 80px -30px #000;border:1px solid rgb(212 177 118/.35);will-change:transform;background:var(--escuro3)}
.quadro img{width:100%;height:100%;object-fit:cover;animation:kenburns 24s ease-in-out infinite alternate}
.quadro figcaption{position:absolute;left:12px;bottom:10px;font-size:12.5px;color:#F6F0E6;background:rgb(21 18 16/.7);padding:5px 11px;border-radius:999px;backdrop-filter:blur(6px)}
.quadro .q1{left:0;top:0;width:74%;height:82%}
.quadro .q2{right:0;bottom:0;width:48%;height:46%}
@media(min-width:900px){.quadro{top:50%;margin-top:calc(min(44vw,560px) * -.525)}}
@media(max-width:899px){.quadro{top:88px;left:max(20px,5vw);right:auto;width:min(78vw,380px)}.seg.dir .quadro{left:auto;right:max(20px,5vw)}.seg:has(.quadro){padding-top:calc(120px + min(78vw,380px) * 1.05)}}
.legenda-fundo{position:absolute;left:max(20px,4vw);bottom:18px;font-size:12px;color:#cbbfa9;letter-spacing:.04em;opacity:.8}
.seg.dir .legenda-fundo{left:auto;right:max(20px,4vw)}
@media(max-width:899px){.legenda-fundo{top:84px;bottom:auto}.seg.dir .legenda-fundo{right:auto;left:max(20px,4vw)}}
.cartao{position:relative;width:min(100%,500px);background:var(--vidro);border:1px solid rgb(212 177 118/.38);border-radius:14px;padding:clamp(24px,3vw,38px);color:#E7DECE;transform-style:preserve-3d;will-change:transform;box-shadow:0 40px 80px -40px #000}
@supports (backdrop-filter:blur(8px)){.cartao{backdrop-filter:blur(12px) saturate(1.1)}}
.cartao::before{content:"";position:absolute;inset:8px;border:1px solid rgb(212 177 118/.16);border-radius:8px;pointer-events:none}
.cartao .num{font:400 italic 64px/1 var(--f-tit);color:var(--ouro-claro);opacity:.9;display:block;margin-bottom:6px;transform:translateZ(40px)}
.cartao h2{font-size:clamp(34px,4.2vw,52px);color:#FBF5EA;margin-top:14px;transform:translateZ(30px)}
.cartao h2 em{font-style:italic;color:var(--ouro-claro)}
.cartao p{margin-top:14px;color:#D6CCBA}
.cartao ul{list-style:none;margin:18px 0 26px;display:grid;gap:10px}
.cartao li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:16px;color:#E7DECE}
.cartao li::before{content:"";align-self:start;height:0;margin-top:8px;border-left:8px solid var(--ouro-claro);border-block:5px solid transparent}
.cartao .btn{transform:translateZ(24px)}
.cartao-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.cartao .brilho{position:absolute;inset:0;border-radius:14px;pointer-events:none;background:radial-gradient(260px circle at var(--px,50%) var(--py,0%),rgb(212 177 118/.18),transparent 60%);opacity:0;transition:opacity .3s}
.cartao:hover .brilho{opacity:1}
@media(max-width:600px){.cartao ul{display:none}.cartao p{font-size:16px}.cartao .num{font-size:44px}.cartao{padding:20px}.cartao .btn{margin-top:20px;width:100%;padding:0 18px;font-size:15px}}

/* pontos laterais */
.pontos{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:55;display:none;flex-direction:column;gap:14px;list-style:none}
.pontos a{display:block;width:11px;height:11px;border-radius:50%;border:1.5px solid var(--ouro-claro);background:transparent;transition:background .3s,transform .3s}
.pontos a.ativo{background:var(--ouro-claro);transform:scale(1.35)}
@media(min-width:1100px){.pontos{display:flex}}
html.visao-aberta .pontos{display:none}

/* ===== vitrine de lançamentos ===== */
.painel{position:relative;z-index:2;background:radial-gradient(80% 50% at 80% 0%,#2a2119 0%,var(--escuro) 60%);color:#E7DECE;padding-block:clamp(64px,8vw,110px)}
.painel h2{font-size:clamp(32px,4vw,52px);color:#FBF5EA;margin-top:14px;max-width:18em}
.painel h2 em{font-style:italic;color:var(--ouro-claro)}
.painel .intro{color:#B9AE9C;max-width:40em;margin-top:14px}
.painel .intro a{color:var(--ouro-claro)}
.cidade{margin-top:44px}
.cidade h3{font:600 13px/1 var(--f-txt);letter-spacing:.22em;text-transform:uppercase;color:var(--ouro-claro);display:flex;align-items:center;gap:12px;margin-bottom:16px}
.cidade h3::after{content:"";flex:1;height:1px;background:rgb(212 177 118/.28)}
.cidade h3 small{font:500 12px/1 var(--f-txt);letter-spacing:.08em;color:#8f8372;text-transform:none}
.trilho{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,80%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;-webkit-overflow-scrolling:touch;perspective:1200px;scrollbar-width:thin;scrollbar-color:#4a3f33 transparent}
.trilho>*{scroll-snap-align:start}
@media(min-width:760px){.trilho{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));overflow:visible}}
.ecard{position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:14px;overflow:hidden;background:var(--escuro2);border:1px solid #3a3128;transform-style:preserve-3d;transition:border-color .3s,box-shadow .4s var(--ease);box-shadow:0 24px 50px -36px #000;will-change:transform}
.ecard:hover,.ecard:focus-visible{border-color:rgb(212 177 118/.65);box-shadow:0 34px 60px -30px #000}
.ecard .foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--cor,#2a231c)}
.ecard .foto img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.4s var(--ease),opacity .6s;opacity:0}
.ecard .foto img.ok{opacity:1}
.ecard:hover .foto img{transform:scale(1.1)}
.ecard .foto::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgb(21 18 16/.75),transparent 55%)}
.ecard .qtd{position:absolute;right:10px;top:10px;z-index:1;font:600 11.5px/1 var(--f-txt);letter-spacing:.08em;background:rgb(21 18 16/.7);color:#F6F0E6;padding:6px 10px;border-radius:999px;backdrop-filter:blur(6px)}
.ecard .sit{position:absolute;left:12px;bottom:12px;z-index:1;font:600 11px/1 var(--f-txt);letter-spacing:.14em;text-transform:uppercase;color:var(--tinta);background:var(--ouro-claro);padding:6px 10px;border-radius:999px}
.ecard .txt{display:flex;flex-direction:column;gap:4px;padding:16px 18px 18px;transform:translateZ(20px)}
.ecard b{font:400 23px/1.12 var(--f-tit);color:#FBF5EA}
.ecard span.onde{font-size:14.5px;color:#B9AE9C}
.ecard em{font-style:normal;font-size:13px;color:#8f8372;display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.ecard em i{font-style:normal;color:var(--ouro-claro);display:inline-flex;align-items:center;gap:6px;font-weight:600}
.ecard em svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.ecard:hover em svg{transform:translateX(4px)}
.ecard .reflexo{position:absolute;inset:0;pointer-events:none;background:radial-gradient(300px circle at var(--px,50%) var(--py,0%),rgb(255 240 210/.14),transparent 60%);opacity:0;transition:opacity .3s;z-index:2}
.ecard:hover .reflexo{opacity:1}
.convite{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:22px;border-radius:14px;border:1px dashed rgb(212 177 118/.45);background:linear-gradient(160deg,rgb(212 177 118/.1),rgb(212 177 118/.02));color:#E7DECE;text-decoration:none;min-height:180px;transition:background .3s,border-color .3s}
.convite:hover{background:linear-gradient(160deg,rgb(212 177 118/.18),rgb(212 177 118/.05));border-color:var(--ouro-claro)}
.convite b{font:400 22px/1.15 var(--f-tit);color:#FBF5EA}
.convite span{font-size:14.5px;color:#B9AE9C}
.convite i{font-style:normal;display:inline-flex;align-items:center;gap:8px;color:var(--ouro-claro);font-weight:700;font-size:15px}
.convite svg{width:20px;height:20px}
.vitrine-vazia{margin-top:30px;color:#B9AE9C}
.aviso{margin-top:28px;font-size:13.5px;color:#8f8372;max-width:52em}

/* números */
.numeros{position:relative;z-index:2;background:var(--creme);padding-block:clamp(44px,6vw,72px)}
.numeros ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center}
.numeros b{display:block;font:400 clamp(44px,7vw,92px)/1 var(--f-tit);color:var(--tinta)}
.numeros span{font-size:clamp(12.5px,1.4vw,16px);color:var(--suave);letter-spacing:.04em;display:block;margin-top:6px}

/* PRIME */
.prime{position:relative;z-index:2;background:var(--escuro);color:#E7DECE;padding-block:clamp(64px,8vw,110px);overflow:hidden}
.prime .w{display:grid;gap:clamp(36px,5vw,64px);align-items:center}
@media(min-width:900px){.prime .w{grid-template-columns:1.05fr .95fr}}
.prime h2{font-size:clamp(38px,5.4vw,78px);color:#FBF5EA;margin-top:16px}
.prime h2 em{font-style:italic;color:var(--ouro-claro)}
.prime .local{font:500 17px/1.4 var(--f-txt);color:var(--ouro-claro);margin-top:14px;letter-spacing:.04em}
.precos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0 8px}
.precos div{border:1px solid rgb(212 177 118/.4);border-radius:10px;padding:18px 18px 16px;background:rgb(255 255 255/.03)}
.precos small{display:block;font:600 11.5px/1 var(--f-txt);letter-spacing:.16em;text-transform:uppercase;color:#A89C88}
.precos b{display:block;font:400 clamp(26px,3vw,38px)/1.1 var(--f-tit);color:#FBF5EA;margin-top:10px}
.precos b span{font:500 13px/1 var(--f-txt);color:var(--ouro-claro);display:block;margin-bottom:4px}
.renda{margin-top:12px;color:#D6CCBA}
.prime .acoes{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:26px}
.fotos{position:relative;display:block;aspect-ratio:4/4.2;perspective:1100px;margin-bottom:34px;text-decoration:none}
.fotos img{position:absolute;border-radius:12px;object-fit:cover;box-shadow:0 30px 60px -28px #000;border:1px solid rgb(212 177 118/.3);will-change:transform;transition:box-shadow .4s}
.fotos .f1{left:0;top:0;width:84%;height:58%}
.fotos .f2{right:0;bottom:6%;width:62%;height:44%}
.fotos .f3{left:6%;bottom:0;width:40%;height:30%}
.fotos small{position:absolute;left:0;top:calc(100% + 8px);font-size:12px;color:#8f8372}

/* VENDA */
.venda{position:relative;z-index:2;background:var(--creme);padding-block:clamp(64px,8vw,110px)}
.venda .w{display:grid;gap:clamp(28px,5vw,64px);align-items:center}
@media(min-width:900px){.venda .w{grid-template-columns:1fr 1fr}}
.venda .rot{color:var(--ouro)}
.venda h2{font-size:clamp(36px,5vw,66px);color:var(--tinta);margin-top:14px}
.venda h2 em{font-style:italic;color:var(--ouro)}
.venda p{color:var(--suave);margin-top:16px;max-width:30em;font-size:18px}
.venda .btn{margin-top:28px}
.venda .foto{border-radius:14px;overflow:hidden;aspect-ratio:4/3.2;box-shadow:0 40px 70px -40px rgb(22 19 15/.6)}
.venda .foto img{width:100%;height:118%;margin-top:-9%;object-fit:cover;object-position:center 58%;will-change:transform}

/* QUEM SOMOS */
.quem{position:relative;z-index:2;background:var(--escuro);color:#E7DECE;padding-block:clamp(64px,8vw,110px)}
.quem h2{font-size:clamp(36px,5vw,66px);color:#FBF5EA;margin-top:14px;max-width:14em}
.quem h2 em{font-style:italic;color:var(--ouro-claro)}
.quem .intro{color:#B9AE9C;max-width:38em;margin-top:16px;font-size:18px}
.socios{display:grid;gap:14px;margin-top:40px;perspective:1200px}
@media(min-width:760px){.socios{grid-template-columns:1fr 1fr}}
.socio{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;background:var(--escuro2);border:1px solid #3a3128;border-radius:12px;padding:16px;transition:border-color .3s}
.socio:hover{border-color:rgb(212 177 118/.6)}
.socio img{width:120px;height:120px;border-radius:10px;object-fit:cover;object-position:center 22%}
.socio b{font:400 28px/1.1 var(--f-tit);color:#FBF5EA;display:block}
.socio span{display:block;font-size:14.5px;color:#B9AE9C;margin-top:4px}
.socio a{display:inline-block;margin-top:10px;color:var(--ouro-claro);font-size:14.5px;text-decoration:none}
.socio a:hover{text-decoration:underline}
.galeria{display:grid;gap:12px;margin-top:14px;perspective:1200px}
@media(min-width:760px){.galeria{grid-template-columns:1.5fr 1fr}}
.galeria figure{position:relative;border-radius:12px;overflow:hidden;min-height:240px;background:var(--escuro2)}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.galeria figure:hover img{transform:scale(1.05)}
.galeria figcaption{position:absolute;left:14px;bottom:12px;font-size:13px;color:#F6F0E6;background:rgb(21 18 16/.65);padding:5px 12px;border-radius:999px}
.galeria .escr img{object-position:center 60%}
.creci{margin-top:26px;font-size:15px;color:#B9AE9C}

/* CONTATO */
.contato{position:relative;z-index:2;background:linear-gradient(180deg,var(--escuro),#0e0c0a);color:#E7DECE;padding-block:clamp(64px,8vw,110px);text-align:center}
.contato h2{font-size:clamp(38px,6vw,84px);color:#FBF5EA;max-width:12em;margin:16px auto 0}
.contato h2 em{font-style:italic;color:var(--ouro-claro)}
.contato .rot{justify-content:center}
.contato address{font-style:normal;margin-top:26px;color:#B9AE9C}
.contato .links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.rodape{position:relative;z-index:2;background:#0e0c0a;color:#8f8372;font-size:13.5px;padding:22px 0 calc(22px + env(safe-area-inset-bottom,0px));border-top:1px solid #231d17;text-align:center}
.logo-rodape{width:min(220px,60vw);height:auto;margin:6px auto 16px;border-radius:12px;box-shadow:0 0 0 1px rgb(212 177 118/.35),0 18px 40px -20px #000}
.nq{white-space:nowrap}
@media(max-width:899px){.rodape{padding-bottom:90px}}

/* WhatsApp flutuante (celular) */
.zap{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:70;width:58px;height:58px;border-radius:50%;background:linear-gradient(180deg,#DDBB80,#B08A52);display:grid;place-items:center;color:var(--tinta);box-shadow:0 12px 30px -8px rgb(0 0 0/.6)}
.zap svg{width:28px;height:28px}
.zap::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--ouro-claro);animation:pulsa 2.4s ease-out infinite}
@keyframes pulsa{from{transform:scale(1);opacity:.8}to{transform:scale(1.7);opacity:0}}
@media(min-width:900px){.zap{display:none}}
html.visao-aberta .zap{display:none}

/* cursor reativo (só com mouse) */
.cursor{position:fixed;left:0;top:0;z-index:300;width:34px;height:34px;margin:-17px 0 0 -17px;border:1.5px solid var(--ouro-claro);border-radius:50%;pointer-events:none;opacity:0;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background .3s,opacity .3s}
.cursor.on{opacity:.9}
.cursor.grande{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgb(212 177 118/.18)}
.cursor.ver{width:86px;height:86px;margin:-43px 0 0 -43px;background:rgb(212 177 118/.9);border-color:transparent}
.cursor.ver::after{content:"Ver";position:absolute;inset:0;display:grid;place-items:center;font:700 13px/1 var(--f-txt);letter-spacing:.14em;text-transform:uppercase;color:var(--tinta)}
@media(hover:none),(pointer:coarse){.cursor{display:none}}

.dividida .pal{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.dividida .pal>span{display:inline-block}
/* revelações ao rolar (só quando o JS assumiu; "translate" separado do "transform" do efeito de inclinação) */
.revela{opacity:0;translate:0 44px;transition:opacity .9s var(--ease),translate 1s var(--ease)}
.revela.visto{opacity:1;translate:0 0}
.dividida.revela{opacity:1;translate:none}
.dividida.revela .pal>span{translate:0 112%;transition:translate .9s var(--ease)}
.dividida.revela.visto .pal>span{translate:0 0}
[data-inclina],.ecard{transition:transform .45s var(--ease),opacity .9s var(--ease),translate 1s var(--ease),border-color .3s,box-shadow .4s var(--ease)}

/* ===== VISÃO DO EMPREENDIMENTO ===== */
.emp-visao{position:fixed;inset:0;z-index:80;background:var(--escuro);color:#E7DECE;overflow:hidden}
.emp-visao[hidden]{display:none}
.ev-rolo{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ev-voltar{position:fixed;left:max(16px,env(safe-area-inset-left,0px));top:max(14px,env(safe-area-inset-top,0px));z-index:5;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px 0 14px;border-radius:999px;background:rgb(21 18 16/.72);border:1px solid rgb(212 177 118/.5);color:#F6F0E6;font:600 15px/1 var(--f-txt);backdrop-filter:blur(8px);transition:background .3s}
.ev-voltar:hover{background:rgb(212 177 118/.25)}
.ev-voltar svg{width:20px;height:20px}
.ev-capa{position:relative;height:min(88svh,820px);min-height:460px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.ev-capa-img{position:absolute;inset:-8% 0 -8% 0;z-index:-2;will-change:transform}
.ev-capa-img img{width:100%;height:100%;object-fit:cover;animation:kenburns 22s ease-in-out infinite alternate}
.ev-capa-veu{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--escuro) 0%,rgb(21 18 16/.7) 30%,rgb(21 18 16/.1) 65%,rgb(21 18 16/.45) 100%)}
.ev-capa-txt{width:100%;padding-bottom:clamp(28px,5vw,56px)}
.ev-capa h1{font-size:clamp(42px,7.4vw,104px);color:#FBF5EA;margin-top:14px;max-width:12em;text-shadow:0 4px 40px rgb(21 18 16/.6)}
.ev-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:20px}
.ev-chips li{font:600 13px/1 var(--f-txt);letter-spacing:.06em;padding:9px 14px;border-radius:999px;background:rgb(21 18 16/.55);border:1px solid rgb(212 177 118/.45);color:#F6F0E6;backdrop-filter:blur(6px)}
.ev-chips li.forte{background:var(--ouro-claro);color:var(--tinta);border-color:transparent}
.ev-corpo{display:grid;gap:clamp(24px,4vw,56px);padding-block:clamp(28px,4vw,56px)}
@media(min-width:900px){.ev-corpo{grid-template-columns:1.4fr 1fr;align-items:start}}
.ev-desc p{font-size:18px;color:#D6CCBA;margin-bottom:14px;max-width:38em}
.ev-desc p:first-child{font:400 clamp(22px,2.2vw,28px)/1.35 var(--f-tit);color:#FBF5EA}
.ev-ficha{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:22px}
.ev-ficha div{border:1px solid rgb(212 177 118/.3);border-radius:10px;padding:14px 16px;background:rgb(255 255 255/.025)}
.ev-ficha dt{font:600 11px/1 var(--f-txt);letter-spacing:.16em;text-transform:uppercase;color:#A89C88}
.ev-ficha dd{font:400 20px/1.25 var(--f-tit);color:#FBF5EA;margin-top:8px}
.ev-acao{position:relative;border-radius:16px;padding:clamp(22px,3vw,32px);background:linear-gradient(160deg,#2a2119,#1b1612);border:1px solid rgb(212 177 118/.4);display:flex;flex-direction:column;gap:12px;box-shadow:0 40px 80px -50px #000}
@media(min-width:900px){.ev-acao{position:sticky;top:90px}}
.ev-acao-t{font:400 24px/1.2 var(--f-tit);color:#FBF5EA}
.ev-acao .btn{width:100%}
.ev-nota{font-size:13.5px;color:#A89C88}
.ev-galeria{padding-block:clamp(20px,3vw,40px) clamp(40px,5vw,72px);overflow:hidden}
.ev-galeria .rot span{color:#A89C88;letter-spacing:.1em}
/* carrossel em perspectiva 3D */
.carrossel{position:relative;height:clamp(260px,56vw,600px);margin-top:18px;perspective:1400px;outline:none;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.palco{position:absolute;inset:0;transform-style:preserve-3d}
.slide{position:absolute;left:50%;top:0;height:100%;width:min(78vw,900px);margin-left:calc(min(78vw,900px) / -2);border-radius:14px;overflow:hidden;background:var(--cor,#2a231c);box-shadow:0 40px 80px -40px #000;transition:transform .8s var(--ease-cine),opacity .8s var(--ease-cine),filter .8s;will-change:transform;cursor:pointer}
.slide img{width:100%;height:100%;object-fit:cover}
.slide.atual{cursor:zoom-in}
.car-btn{position:absolute;top:50%;z-index:3;width:52px;height:52px;margin-top:-26px;border-radius:50%;display:grid;place-items:center;background:rgb(21 18 16/.7);border:1px solid rgb(212 177 118/.55);color:#F6F0E6;backdrop-filter:blur(6px);transition:background .3s}
.car-btn:hover{background:rgb(212 177 118/.3)}
.car-btn svg{width:22px;height:22px}
.car-btn.ant{left:max(12px,3vw)}.car-btn.prox{right:max(12px,3vw)}
.miniaturas{display:flex;gap:8px;overflow-x:auto;padding:16px 2px 6px;scrollbar-width:thin;scrollbar-color:#4a3f33 transparent}
.miniaturas button{flex:none;width:76px;height:56px;border-radius:8px;overflow:hidden;opacity:.5;border:1.5px solid transparent;transition:opacity .3s,border-color .3s;background:var(--escuro3)}
.miniaturas button.atual{opacity:1;border-color:var(--ouro-claro)}
.miniaturas img{width:100%;height:100%;object-fit:cover}
.ev-outros{padding-block:clamp(32px,5vw,64px) clamp(60px,8vw,110px);border-top:1px solid #2c251e}
.ev-outros-lista{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,78%);gap:14px;overflow-x:auto;margin-top:18px;padding-bottom:10px;perspective:1200px;scroll-snap-type:x mandatory}
.ev-outros-lista>*{scroll-snap-align:start}
@media(min-width:760px){.ev-outros-lista{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}}
/* foto ampliada */
.lupa{position:fixed;inset:0;z-index:120;background:rgb(10 8 7/.95);display:grid;place-items:center;padding:56px 12px 12px}
.lupa[hidden]{display:none}
.lupa img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.lupa-fecha{position:absolute;right:14px;top:12px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid rgb(212 177 118/.55);color:#F6F0E6}
.lupa-fecha svg{width:22px;height:22px}

@media(max-width:560px){
  .socio{grid-template-columns:92px 1fr}.socio img{width:92px;height:92px}
  .precos{grid-template-columns:1fr}
  .hero{padding-bottom:40px}
  .slide{width:84vw;margin-left:-42vw}
  .car-btn{width:44px;height:44px;margin-top:-22px}
}

/* menos movimento: nada se mexe sozinho, tudo continua bonito e legível */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .cursor{display:none}
  .plano{transform:rotateX(38deg) rotateZ(-14deg) scale(1.05)!important}
}
