/* ===========================================================
   Eng. Weberton Souza — camada de VIDA VISUAL
   Só efeitos (movimento, profundidade, luz). Não altera conteúdo.
   =========================================================== */

:root{
  --ew-vinho:#5A171F;
  --ew-vinho-claro:#7A2530;
  --ew-vinho-brilho:#B3313F;
  --ew-creme:#F6EDE1;
  --ew-areia:#EBDCC4;
  --ew-tinta:#2B1A1C;
  --ew-ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- 0. Acessibilidade: quem pediu menos movimento, recebe menos ---------- */
@media (prefers-reduced-motion: reduce){
  .ev-r{opacity:1 !important;transform:none !important}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important}
}

/* ---------- 1. Entrada dos elementos ao rolar ---------- */
.ev-r{
  opacity:0;
  transform:translate3d(0,34px,0);
  transition:opacity .8s var(--ew-ease), transform .8s var(--ew-ease);
  transition-delay:calc(var(--ev-d, 0) * 80ms);
  will-change:opacity, transform;
}
.ev-r.ev-left{transform:translate3d(-46px,0,0)}
.ev-r.ev-right{transform:translate3d(46px,0,0)}
.ev-r.ev-zoom{transform:scale(.93)}
.ev-r.ev-in{opacity:1;transform:none}

/* ---------- 2. Barra de progresso da leitura ---------- */
#ev-progress{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:100000;
  background:linear-gradient(90deg,var(--ew-vinho),var(--ew-vinho-brilho));
  box-shadow:0 0 12px rgba(179,49,63,.55);
  transition:width .12s linear;pointer-events:none;
}

/* ---------- 3. Cabeçalho que gruda e ganha vidro ---------- */
.elementor-element-5e08351c{
  position:sticky;top:0;z-index:9990;
  transition:background-color .4s ease, box-shadow .4s ease, backdrop-filter .4s ease;
}
body.ev-scrolled .elementor-element-5e08351c{
  background-color:rgba(246,237,225,.90);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
  backdrop-filter:blur(14px) saturate(1.15);
  box-shadow:0 10px 34px rgba(43,26,28,.13);
}
body.ev-scrolled .elementor-element-5e08351c .elementor-element-8d376ce img{
  transform:scale(.9);transition:transform .4s var(--ew-ease);
}
.elementor-element-8d376ce img{transition:transform .4s var(--ew-ease)}

/* ---------- 4. Botões: brilho que atravessa + elevação ---------- */
.elementor-button{
  position:relative;overflow:hidden;isolation:isolate;
  transition:transform .35s var(--ew-ease), box-shadow .35s var(--ew-ease), filter .35s ease;
}
.elementor-button::after{
  content:"";position:absolute;top:-60%;left:-80%;width:55%;height:220%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
  transform:skewX(-18deg) translateX(0);
  transition:left .7s var(--ew-ease);
  pointer-events:none;z-index:2;
}
.elementor-button:hover::after{left:150%}
.elementor-button:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(90,23,31,.34);
  filter:saturate(1.1);
}
.elementor-button:active{transform:translateY(-1px)}

/* CTA principal do topo: respiração contínua discreta */
.ev-pulse .elementor-button{animation:ev-breath 3.4s ease-in-out infinite}
.ev-pulse .elementor-button:hover{animation-play-state:paused}
@keyframes ev-breath{
  0%,100%{box-shadow:0 6px 18px rgba(90,23,31,.22)}
  50%{box-shadow:0 10px 34px rgba(90,23,31,.42)}
}

/* ---------- 4b. Planta baixa no lugar dos anéis do template ---------- */
.ev-tem-planta{position:relative;background-image:none !important}
.elementor-element-341b1c3c > .elementor-element-populated > .elementor-background-overlay{
  background-image:none !important;
}
.ev-planta{
  position:absolute;left:34%;top:50%;width:116%;max-width:700px;
  transform:translate(-50%,-50%);
  aspect-ratio:1/1;pointer-events:none;z-index:0;
  opacity:0;transition:opacity .9s ease;
}
.ev-planta.ev-in{opacity:1}
.ev-planta svg{width:100%;height:100%;display:block;overflow:visible}
.ev-planta path.ev-draw{
  stroke-dasharray:1;stroke-dashoffset:1;
  transition:stroke-dashoffset 1.5s var(--ew-ease);
}
.ev-planta.ev-in path.ev-draw{stroke-dashoffset:0}
.ev-tem-planta > .elementor-element,
.ev-tem-planta > .elementor-widget{position:relative;z-index:1}
@media (max-width:900px){.ev-planta{width:120%;opacity:.75}}

/* ---------- 5. Hero: foto flutuando sobre a planta ---------- */
.elementor-element-76688c35{position:relative}
@keyframes ev-halo{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.85}
  50%{transform:translate(-50%,-50%) scale(1.10);opacity:1}
}
.elementor-element-2ea227a0{position:relative;z-index:1}
.elementor-element-2ea227a0 img{animation:ev-float 6.5s ease-in-out infinite;will-change:transform}
@keyframes ev-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-14px)}
}

/* Título do hero com um risco vinho que se desenha */
.elementor-element-7fcb653 .elementor-heading-title{position:relative;display:inline-block}
.elementor-element-7fcb653.ev-in .elementor-heading-title::after{
  content:"";position:absolute;left:0;bottom:-10px;height:4px;width:0;border-radius:3px;
  background:linear-gradient(90deg,var(--ew-vinho),var(--ew-vinho-brilho),transparent);
  animation:ev-draw 1.1s .5s var(--ew-ease) forwards;
}
@keyframes ev-draw{to{width:46%}}

/* ---------- 6. Os 4 círculos: o traço gira devagar + halo no hover ---------- */
.ev-circ{position:relative;transition:transform .45s var(--ew-ease)}
.ev-circ .elementor-background-overlay{
  animation:ev-spin 60s linear infinite;
  transition:opacity .45s ease, filter .45s ease;
  transform-origin:50% 50%;
}
.ev-circ:hover .elementor-background-overlay{animation-duration:14s;filter:drop-shadow(0 0 10px rgba(179,49,63,.45))}
@keyframes ev-spin{to{transform:rotate(360deg)}}
.ev-circ::before{
  content:"";position:absolute;left:50%;top:50%;width:230px;height:230px;
  transform:translate(-50%,-50%) scale(.7);border-radius:50%;
  background:radial-gradient(circle,rgba(179,49,63,.16),transparent 68%);
  opacity:0;transition:opacity .5s ease, transform .5s var(--ew-ease);
  pointer-events:none;z-index:0;
}
.ev-circ:hover::before{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ev-circ .elementor-icon-box-icon img,
.ev-circ .elementor-icon-box-icon svg{transition:transform .5s var(--ew-ease)}
.ev-circ:hover{transform:translateY(-8px)}
.ev-circ:hover .elementor-icon-box-icon img,
.ev-circ:hover .elementor-icon-box-icon svg{transform:scale(1.14) rotate(-6deg)}

/* ---------- 7. Cards de projeto: zoom na foto, véu vinho e card que sobe ---------- */
.ev-proj{transition:transform .5s var(--ew-ease)}
.ev-proj .elementor-widget-image{position:relative;overflow:hidden;border-radius:6px}
.ev-proj .elementor-widget-image img{
  transition:transform .8s var(--ew-ease), filter .6s ease;
  filter:saturate(.92) contrast(1.02);
}
.ev-proj .elementor-widget-image::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(90,23,31,.55) 0%,rgba(90,23,31,.12) 38%,transparent 70%);
  opacity:.55;transition:opacity .5s ease;
}
.ev-proj:hover{transform:translateY(-12px)}
.ev-proj:hover .elementor-widget-image img{transform:scale(1.09);filter:saturate(1.1) contrast(1.05)}
.ev-proj:hover .elementor-widget-image::after{opacity:.85}
/* etiqueta (Indústria / Comércio / Institucional) */
.ev-proj .elementor-widget-heading:first-child .elementor-heading-title{
  transition:letter-spacing .4s ease, color .4s ease;
}
.ev-proj:hover .elementor-widget-heading:first-child .elementor-heading-title{letter-spacing:1.6px}
/* caixa branca do card */
.ev-proj-box{transition:box-shadow .5s var(--ew-ease), transform .5s var(--ew-ease)}
.ev-proj:hover .ev-proj-box{box-shadow:0 26px 50px rgba(43,26,28,.20)}

/* ---------- 8. Cards de benefício: borda que acende e ícone que salta ---------- */
.ev-benef{position:relative;transition:transform .45s var(--ew-ease)}
.ev-benef::after{
  content:"";position:absolute;inset:-1px;border-radius:10px;pointer-events:none;
  background:linear-gradient(135deg,rgba(179,49,63,.9),rgba(90,23,31,.15),rgba(179,49,63,.9));
  opacity:0;transition:opacity .45s ease;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;padding:1.5px;
}
.ev-benef:hover{transform:translateY(-8px)}
.ev-benef:hover::after{opacity:1}
.ev-benef-icon img,.ev-benef-icon svg{transition:transform .5s var(--ew-ease)}
.ev-benef:hover .ev-benef-icon img,.ev-benef:hover .ev-benef-icon svg{transform:translateY(-6px) scale(1.1)}

/* ---------- 9. Faixa vinho: brilho que passa devagar ---------- */
.elementor-element-5d9b741f{position:relative;overflow:hidden}
.elementor-element-5d9b741f::after{
  content:"";position:absolute;top:-50%;left:-40%;width:32%;height:200%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent);
  transform:skewX(-20deg);animation:ev-sheen 7s ease-in-out infinite;
  pointer-events:none;z-index:1;
}
@keyframes ev-sheen{
  0%{left:-40%}
  55%,100%{left:130%}
}

/* ---------- 10. Depoimentos: cartão que ganha relevo ---------- */
.ev-depo{transition:transform .45s var(--ew-ease), box-shadow .45s var(--ew-ease)}
.ev-depo:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(43,26,28,.18)}
.ev-depo .elementor-image-box-img img{transition:transform .5s var(--ew-ease)}
.ev-depo:hover .elementor-image-box-img img{transform:scale(1.08) rotate(-3deg)}

/* Números (gráficos circulares) com pulso ao aparecer */
.ev-num.ev-in .ekit-single-piechart{animation:ev-pop .9s var(--ew-ease) both}
@keyframes ev-pop{
  0%{transform:scale(.82);opacity:0}
  60%{transform:scale(1.04)}
  100%{transform:scale(1);opacity:1}
}

/* ---------- 11. CTA final: luz vinho respirando no fundo ---------- */
.elementor-element-219a48b2{position:relative;overflow:hidden}
.elementor-element-219a48b2::before{
  content:"";position:absolute;right:6%;top:50%;width:40vw;height:40vw;max-width:560px;max-height:560px;
  transform:translateY(-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(90,23,31,.07),rgba(90,23,31,.02) 55%,transparent 72%);
  animation:ev-halo 8s ease-in-out infinite;z-index:0;
}
.elementor-element-219a48b2 .elementor-container{position:relative;z-index:1}

/* ---------- 12. Imagens grandes de conteúdo: leve profundidade ---------- */
.ev-photo img{
  transition:transform .8s var(--ew-ease), box-shadow .6s ease, filter .6s ease;
  will-change:transform;
}
.ev-photo:hover img{transform:scale(1.03);filter:saturate(1.08)}

/* ---------- 13. Grão fino no papel inteiro (tira o aspecto "chapado") ---------- */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

/* ---------- 14. Links de texto com sublinhado que cresce ---------- */
.elementor-heading-title a{
  background-image:linear-gradient(var(--ew-vinho-brilho),var(--ew-vinho-brilho));
  background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .45s var(--ew-ease), color .35s ease;
}
.elementor-heading-title a:hover{background-size:100% 2px}

/* ---------- 15. Malha de planta baixa no fundo das faixas areia ---------- */
.elementor-element-1610b371,
.elementor-element-48615f44{position:relative;isolation:isolate}
.elementor-element-1610b371::before,
.elementor-element-48615f44::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(90,23,31,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(90,23,31,.055) 1px,transparent 1px),
    linear-gradient(rgba(90,23,31,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(90,23,31,.10) 1px,transparent 1px);
  background-size:32px 32px,32px 32px,160px 160px,160px 160px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 10%,transparent 78%);
  mask-image:radial-gradient(ellipse at 50% 40%,#000 10%,transparent 78%);
  opacity:.85;
}
.elementor-element-1610b371 > .elementor-container,
.elementor-element-48615f44 > .elementor-container{position:relative;z-index:1}

/* ---------- 16. Profundidade: botões com volume e cartões com sombra viva ---------- */
.elementor-button{
  background-image:linear-gradient(135deg,rgba(255,255,255,.14),rgba(0,0,0,.10));
  box-shadow:0 6px 18px rgba(90,23,31,.22);
}
.ev-proj-box{
  box-shadow:0 18px 40px rgba(43,26,28,.12) !important;
}
/* 17/08: o título "Tudo que seu imóvel precisa..." não é card — a sombra o deixava dentro de uma caixa */
.elementor-element-42cae81{box-shadow:none !important;background:transparent !important}

/* ---------- 17. Mobile: sem parallax/tilt, animações mais curtas ---------- */
@media (max-width:900px){
  .ev-circ::before{width:96px;height:96px;margin-left:-48px}
  .elementor-element-2ea227a0 img{animation-duration:8s}
  .ev-r{transform:translate3d(0,22px,0);transition-duration:.6s}
  .elementor-element-5e08351c{position:relative}
}

/* opacidade da planta por bloco (o areia do topo pede traço mais leve) */
.elementor-element-76688c35 .ev-planta.ev-in{opacity:.62}
.elementor-element-341b1c3c .ev-planta.ev-in{opacity:.8}

/* ===========================================================
   Rodapé organizado (marca, serviços, contato, atendimento)
   =========================================================== */
.ev-rodape{width:100%;color:rgba(246,237,225,.86);font-size:14px;line-height:1.65}
.ev-rod-grade{
  display:grid;grid-template-columns:1.5fr 1fr 1.25fr 1.15fr;gap:44px;
  padding:16px 0 38px;align-items:start;
}
.ev-rod-col h4{
  color:#F6EDE1;font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  margin:0 0 18px;padding-bottom:12px;position:relative;
}
.ev-rod-col h4::after{
  content:"";position:absolute;left:0;bottom:0;width:38px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--ew-vinho-brilho),rgba(246,237,225,.25));
}
.ev-rod-logo{
  width:210px;height:auto;margin:0 0 16px;display:block;
  filter:brightness(0) invert(1);opacity:.95;
}
.ev-rod-marca p{margin:0 0 20px;max-width:330px}
.ev-rod-lista{list-style:none;margin:0;padding:0}
.ev-rod-lista li{
  display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;
}
.ev-rod-lista li svg{
  width:17px;height:17px;flex:0 0 17px;margin-top:3px;
  color:var(--ew-vinho-brilho);opacity:.9;
}
.ev-rod-lista a,.ev-rod-lista span{color:rgba(246,237,225,.86);text-decoration:none;transition:color .3s ease}
.ev-rod-lista a:hover{color:#fff}
.ev-rod-btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 20px;border-radius:6px;text-decoration:none;
  background:rgba(246,237,225,.10);border:1px solid rgba(246,237,225,.30);
  color:#F6EDE1;font-weight:600;font-size:14px;
  transition:background .35s ease,border-color .35s ease,transform .35s var(--ew-ease);
}
.ev-rod-btn svg{width:18px;height:18px;color:#F6EDE1}
.ev-rod-btn:hover{background:rgba(246,237,225,.20);border-color:rgba(246,237,225,.55);transform:translateY(-2px)}
.ev-rod-base{
  border-top:1px solid rgba(246,237,225,.16);
  padding:20px 0 4px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  font-size:13px;color:rgba(246,237,225,.62);
}
.ev-rod-base p{margin:0}
.ev-rod-base strong{color:rgba(246,237,225,.85);font-weight:600}
.elementor-element-60f7e04d .tamkt-credit{padding-top:0}

@media (max-width:1024px){
  .ev-rod-grade{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:600px){
  .ev-rod-grade{grid-template-columns:1fr;gap:30px;text-align:left}
  .ev-rod-logo{width:180px}
  .ev-rod-base{flex-direction:column;gap:8px}
}

/* correções finas do rodapé */
.ev-rod-btn,.ev-rod-btn span,.ev-rod-btn:hover span{color:#F6EDE1 !important}
.ev-rod-lista li svg{color:#D9808C;opacity:.95}
.ev-rod-btn svg{color:#F6EDE1}
.ev-rodape .ev-rod-col{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ew-ease),transform .7s var(--ew-ease)}
.ev-rodape .ev-rod-col.ev-in{opacity:1;transform:none}
.elementor-element-60f7e04d{padding-bottom:26px}
/* bloco de compartilhamento vazio herdado do mirror: some com a faixa no fim da página */
.xs_social_share_widget{display:none !important}
/* container vazio de 20px depois do rodapé */
.elementor-element-25c1741{display:none !important}
