/* Entrada do Reino para os sites do grupo (Vistoria Legal e Vamos Arrematar).
   Três aberturas: porta (portas com leões), selo (o escudo se parte ao meio) e cortina (cortinas reais).
   Montada por /shared/js/portal.js; só aparece quando <html> tem a classe portal-ativo. */
.gportal{display:none}
.portal-ativo{overflow:hidden}
.portal-ativo .gportal,.portal-saindo .gportal{display:block;position:fixed;inset:0;z-index:2000;background:#06132b;overflow:hidden;font-family:inherit}
.portal-saindo .gportal{pointer-events:none}
.gportal--saindo{animation:gp-sai .8s ease both}
@keyframes gp-sai{to{opacity:0;visibility:hidden}}

/* cena que aparece depois que abre */
.gportal__cena{position:absolute;inset:0;background:#0b1f44 center/cover no-repeat;transform:scale(1.22);filter:brightness(.8)}
.gportal--abrindo .gportal__cena{animation:gp-cena 4.6s cubic-bezier(.2,.7,.2,1) both}
@keyframes gp-cena{0%{transform:scale(1.22);filter:brightness(.8)}40%{filter:brightness(1.05)}100%{transform:scale(1.02);filter:brightness(1)}}
.gportal__cena::after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(0deg,rgba(6,19,43,.8),rgba(6,19,43,0));opacity:0}
.gportal--abrindo .gportal__cena::after{animation:gp-fundo 2.6s ease 2s both}
@keyframes gp-fundo{0%{opacity:0}30%,80%{opacity:1}100%{opacity:0}}
.gportal__frase{position:absolute;z-index:1;inset:auto 0 12vh;margin:0;padding:0 16px;text-align:center;opacity:0;
  font:800 clamp(2rem,6.4vw,4.4rem)/1.08 "Playfair Display",Georgia,serif;color:transparent;
  background:linear-gradient(180deg,#fff3d1 0%,#f1d48a 45%,#c9993a 100%);-webkit-background-clip:text;background-clip:text;
  filter:drop-shadow(0 3px 2px rgba(40,20,0,.9)) drop-shadow(0 0 24px rgba(0,0,0,.55))}
.gportal__frase span{display:block;margin-bottom:10px;font:600 clamp(.8rem,1.7vw,1.05rem)/1.2 system-ui,sans-serif;letter-spacing:.4em;text-transform:uppercase;color:#fff;-webkit-text-fill-color:#fff}
.gportal--abrindo .gportal__frase{animation:gp-frase 2.6s ease 2s both}
@keyframes gp-frase{0%{opacity:0;transform:translateY(16px)}30%,80%{opacity:1;transform:none}100%{opacity:0}}

/* camada da frente (comum às três aberturas) */
.gportal__frente{position:absolute;inset:0;z-index:2}
.gportal__lado{position:absolute;top:0;bottom:0;width:50%;overflow:hidden}
.gportal__lado--esq{left:0}.gportal__lado--dir{right:0}
.gportal__topo{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;justify-content:center;padding:3vh 16px 10vh;background:linear-gradient(180deg,rgba(6,19,43,.85),rgba(6,19,43,0));pointer-events:none}
.gportal__topo{align-items:center;gap:12px}
.gportal__topo img{height:clamp(44px,7vh,64px);width:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.gportal__topo p{margin:0;line-height:1;color:#fff}
.gportal__topo strong{display:block;font:800 clamp(1.3rem,3.4vh,2rem) "Playfair Display",Georgia,serif;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.gportal__topo span{display:block;margin-top:5px;font:600 .74rem system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#e8c57b}
.gportal__acao{position:absolute;z-index:4;left:0;right:0;bottom:7vh;display:flex;justify-content:center;padding:0 16px}
.gportal__entrar{appearance:none;border:0;cursor:pointer;font:700 1.15rem "Playfair Display",Georgia,serif;color:#1b1203;padding:.85em 2.2em;border-radius:12px;
  background:linear-gradient(180deg,#f7e2a6 0%,#e8c57b 38%,#c99a45 72%,#a8782a 100%);
  box-shadow:0 0 0 3px rgba(241,212,138,.35),0 10px 30px rgba(0,0,0,.45);animation:gp-pulsa 2.2s ease-in-out infinite}
.gportal__entrar:focus-visible{outline:3px solid #fff;outline-offset:4px}
@keyframes gp-pulsa{50%{box-shadow:0 0 0 7px rgba(241,212,138,.18),0 10px 30px rgba(0,0,0,.45)}}
.gportal__pular{position:absolute;z-index:5;top:14px;right:16px;background:rgba(255,255,255,.08);color:#dfe5f1;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:6px 14px;font:600 .85rem system-ui,sans-serif;cursor:pointer}
.gportal--abrindo .gportal__topo,.gportal--abrindo .gportal__acao,.gportal--abrindo .gportal__pular{transition:opacity .45s;opacity:0;pointer-events:none}
.gportal__vinheta{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(0deg,rgba(6,19,43,.75),rgba(6,19,43,0) 30%),radial-gradient(ellipse 75% 95% at 50% 50%,rgba(0,0,0,0) 45%,rgba(4,10,24,.7) 100%)}
.gportal--abrindo .gportal__vinheta{transition:opacity .4s;opacity:0}

/* 1. PORTA: as mesmas portas com leões do Rei do Apê, em tela cheia */
.gportal--porta .gportal__frente{perspective:1600px}
.gportal--porta .gportal__lado{overflow:visible;background-size:cover;box-shadow:inset 0 0 60px rgba(0,0,0,.55);backface-visibility:hidden}
.gportal--porta .gportal__lado--esq{background-image:url('../img/porta-frente-esq.webp');background-position:right 40%;transform-origin:left center}
.gportal--porta .gportal__lado--dir{background-image:url('../img/porta-frente-dir.webp');background-position:left 40%;transform-origin:right center}
@media (min-aspect-ratio:1/1){
  .gportal--porta .gportal__lado--esq{background:url('../img/porta-frente-esq.webp') right top/auto 100% no-repeat,url('../img/porta-frente-esq-faixa.webp') right 41.56vh top/auto 100% repeat-x}
  .gportal--porta .gportal__lado--dir{background:url('../img/porta-frente-dir.webp') left top/auto 100% no-repeat,url('../img/porta-frente-dir-faixa.webp') left 41.56vh top/auto 100% repeat-x}
}
.gportal--porta .gportal__lado::after{content:"";position:absolute;top:0;bottom:0;width:3px;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(255,214,140,.45))}
.gportal--porta .gportal__lado--esq::after{right:0}.gportal--porta .gportal__lado--dir::after{left:0}
.gportal--porta.gportal--abrindo .gportal__lado--esq{animation:gp-porta-esq 1.6s cubic-bezier(.6,.05,.35,1) .15s both}
.gportal--porta.gportal--abrindo .gportal__lado--dir{animation:gp-porta-dir 1.6s cubic-bezier(.6,.05,.35,1) .15s both}
@keyframes gp-porta-esq{to{transform:rotateY(94deg);filter:brightness(.45)}}
@keyframes gp-porta-dir{to{transform:rotateY(-94deg);filter:brightness(.45)}}
.gportal--porta.gportal--abrindo .gportal__frente{animation:gp-passa 1.5s cubic-bezier(.55,0,.4,1) 1.2s both}
@keyframes gp-passa{0%{transform:scale(1);opacity:1}55%{opacity:1}100%{transform:scale(1.5);opacity:0;visibility:hidden}}

/* 2. SELO: o escudo da marca no centro; ao entrar ele carimba e se parte ao meio */
.gportal--selo .gportal__lado{background:radial-gradient(ellipse 70% 60% at 100% 50%,#1d3b74 0%,#0b1f44 55%,#06132b 100%)}
.gportal--selo .gportal__lado--dir{background:radial-gradient(ellipse 70% 60% at 0% 50%,#1d3b74 0%,#0b1f44 55%,#06132b 100%)}
.gportal--selo .gportal__lado::before{content:"";position:absolute;inset:0;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cpath d='M48 30c3 6 3 9 2 13 4-1 7-1 13 2-6 3-9 3-13 2 1 4 1 7-2 13-3-6-3-9-2-13-4 1-7 1-13-2 6-3 9-3 13-2-1-4-1-7 2-13z' fill='%23c9993a' fill-opacity='.12'/%3E%3C/svg%3E")}
.gportal__selo{position:absolute;top:50%;width:min(52vmin,380px);aspect-ratio:1;transform:translateY(-55%);display:grid;place-items:center}
.gportal--selo .gportal__lado--esq .gportal__selo{right:0;transform:translate(50%,-55%)}
.gportal--selo .gportal__lado--dir .gportal__selo{left:0;transform:translate(-50%,-55%)}
.gportal__selo::before{content:"";position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle,rgba(241,212,138,.35) 0%,rgba(241,212,138,0) 65%);animation:gp-brilho 3s ease-in-out infinite}
@keyframes gp-brilho{50%{transform:scale(1.08);opacity:.7}}
.gportal__selo img{position:relative;width:78%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}
.gportal--selo .gportal__lado--esq .gportal__selo{clip-path:inset(-20% 50% -20% -20%)}
.gportal--selo .gportal__lado--dir .gportal__selo{clip-path:inset(-20% -20% -20% 50%)}
.gportal--selo.gportal--abrindo .gportal__selo img{animation:gp-carimbo .55s cubic-bezier(.3,1.6,.5,1) both}
@keyframes gp-carimbo{0%{transform:scale(1)}40%{transform:scale(.86)}100%{transform:scale(1)}}
.gportal__onda{position:absolute;left:50%;top:45%;width:min(52vmin,380px);aspect-ratio:1;border-radius:50%;border:3px solid rgba(241,212,138,.9);transform:translate(-50%,-50%) scale(.6);opacity:0;z-index:3;pointer-events:none}
.gportal--selo.gportal--abrindo .gportal__onda{animation:gp-onda .9s ease-out .25s both}
@keyframes gp-onda{0%{opacity:1;transform:translate(-50%,-50%) scale(.6)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.6)}}
.gportal--selo.gportal--abrindo .gportal__lado--esq{animation:gp-abre-esq 1.3s cubic-bezier(.7,0,.25,1) .7s both}
.gportal--selo.gportal--abrindo .gportal__lado--dir{animation:gp-abre-dir 1.3s cubic-bezier(.7,0,.25,1) .7s both}
@keyframes gp-abre-esq{to{transform:translateX(-102%)}}
@keyframes gp-abre-dir{to{transform:translateX(102%)}}
.gportal--selo .gportal__lado--esq{box-shadow:inset -1px 0 0 rgba(241,212,138,.3)}
.gportal--selo .gportal__lado--dir{box-shadow:inset 1px 0 0 rgba(241,212,138,.3)}

/* 3. CORTINA: cortinas de veludo azul com franja dourada, como num salão real */
.gportal--cortina .gportal__lado{background:
  linear-gradient(180deg,rgba(0,0,0,0) 86%,rgba(0,0,0,.35) 100%),
  repeating-linear-gradient(90deg,#0a1b3d 0,#17306a 3.2%,#2a4a91 5%,#17306a 6.8%,#0a1b3d 10%);
  transform-origin:left center}
.gportal--cortina .gportal__lado--dir{transform-origin:right center}
.gportal--cortina .gportal__lado::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;
  background:repeating-linear-gradient(90deg,#f1d48a 0 3px,#c9993a 3px 6px,rgba(0,0,0,0) 6px 8px),linear-gradient(180deg,#e8c57b,#a8782a);
  -webkit-mask:linear-gradient(180deg,#000 30%,rgba(0,0,0,.85) 100%);mask:linear-gradient(180deg,#000 30%,rgba(0,0,0,.85) 100%)}
.gportal__sanefa{position:absolute;z-index:3;top:0;left:0;right:0;height:16vh;min-height:90px;
  background:linear-gradient(180deg,#0a1b3d 0%,#17306a 70%,#0a1b3d 100%);border-bottom:5px solid #c9993a;
  -webkit-mask:radial-gradient(60px 26px at 60px 100%,#0000 98%,#000) -60px 0/120px 100%;mask:radial-gradient(60px 26px at 60px 100%,#0000 98%,#000) -60px 0/120px 100%;
  box-shadow:0 10px 30px rgba(0,0,0,.5)}
.gportal--cortina .gportal__topo{padding-top:4vh;background:none}
.gportal__escudo-centro{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-55%);width:min(30vmin,220px);filter:drop-shadow(0 16px 26px rgba(0,0,0,.6))}
.gportal--abrindo .gportal__escudo-centro{transition:opacity .5s,transform .8s;opacity:0;transform:translate(-50%,-55%) scale(.85)}
.gportal--cortina.gportal--abrindo .gportal__lado--esq{animation:gp-cortina-esq 1.8s cubic-bezier(.6,0,.3,1) .2s both}
.gportal--cortina.gportal--abrindo .gportal__lado--dir{animation:gp-cortina-dir 1.8s cubic-bezier(.6,0,.3,1) .2s both}
@keyframes gp-cortina-esq{to{transform:translateX(-78%) scaleX(.35)}}
@keyframes gp-cortina-dir{to{transform:translateX(78%) scaleX(.35)}}
.gportal--cortina.gportal--abrindo .gportal__sanefa{animation:gp-sobe 1.4s cubic-bezier(.6,0,.3,1) 1.3s both}
@keyframes gp-sobe{to{transform:translateY(-105%)}}
.gportal--cortina.gportal--abrindo .gportal__frente{animation:gp-somefrente .6s ease 2.2s both}
@keyframes gp-somefrente{to{opacity:0;visibility:hidden}}

@media (max-width:640px){
  .gportal__selo{width:min(70vw,300px)}
  .gportal__onda{width:min(70vw,300px)}
  .gportal__escudo-centro{width:min(42vw,180px)}
}
@media (prefers-reduced-motion:reduce){.gportal{display:none!important}}
@media (max-width:640px){.gportal__topo{padding-top:54px}.gportal__topo strong{font-size:1.15rem}.gportal__topo span{font-size:.62rem;letter-spacing:.22em}}

/* Arremate na tela (Vamos Arrematar): depois que a porta abre, um computador mostra o leilão de um imóvel,
   os lances sobem, o cronômetro zera e aparece VENDIDO na tela. */
.gportal__leilao{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;display:grid;place-items:center}
.gportal--arremate.gportal--abrindo .gportal__leilao{animation:gp-leilao-cena 6.4s linear both}
@keyframes gp-leilao-cena{0%,18%{opacity:0}24%,76%{opacity:1}83%,100%{opacity:0}}
.gportal__leilao::before{content:"";position:absolute;inset:0;background:rgba(6,19,43,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.gportal__pc{position:relative;width:min(86vw,760px,118vh);transform:translateY(40px) scale(.92);opacity:0}
.gportal--arremate.gportal--abrindo .gportal__pc{animation:gp-pc-sobe .9s cubic-bezier(.2,.8,.2,1) 1.45s both}
@keyframes gp-pc-sobe{to{transform:none;opacity:1}}
.gportal__tela{position:relative;aspect-ratio:16/10;border-radius:14px 14px 4px 4px;padding:2.2% 2.2% 2.6%;background:linear-gradient(180deg,#1b1e24,#0e1014);box-shadow:0 0 0 1px #3a3f48 inset,0 30px 60px rgba(0,0,0,.55)}
.gportal__tela::before{content:"";position:absolute;top:1%;left:50%;width:6px;height:6px;border-radius:50%;background:#2a2e35;transform:translateX(-50%)}
.gportal__app{position:relative;height:100%;overflow:hidden;border-radius:3px;background:#f7f5f0;color:#14233a;font:500 clamp(9px,1.5vw,13px)/1.3 system-ui,-apple-system,Segoe UI,sans-serif;display:grid;grid-template-rows:auto 1fr}
.gportal__barra{display:flex;align-items:center;gap:.6em;padding:.55em .9em;background:#0b1f44;color:#fff}
.gportal__barra img{height:1.9em;width:auto}
.gportal__barra b{font-weight:700;letter-spacing:.02em}
.gportal__barra em{margin-left:auto;font-style:normal;font-size:.85em;color:#e8c57b;border:1px solid rgba(232,197,123,.6);border-radius:999px;padding:.1em .7em}
.gportal__lote{display:grid;grid-template-columns:1.35fr 1fr;gap:.9em;padding:.9em;min-height:0}
.gportal__foto{position:relative;border-radius:6px;overflow:hidden;background:#dfe4ec center/cover no-repeat}
.gportal__foto span{position:absolute;left:.6em;top:.6em;background:#0b1f44;color:#fff;font-size:.8em;font-weight:700;padding:.2em .6em;border-radius:4px}
.gportal__dados{display:flex;flex-direction:column;gap:.45em;min-width:0}
.gportal__dados h3{margin:0;font:700 1.15em/1.2 Georgia,serif;color:#0b1f44}
.gportal__dados small{color:#5b6475}
.gportal__linha{display:flex;justify-content:space-between;border-bottom:1px solid #e3ddcd;padding-bottom:.3em}
.gportal__lance{margin-top:.2em;padding:.6em .7em;border-radius:6px;background:#0b1f44;color:#fff}
.gportal__lance small{color:#c9d3e6;display:block}
.gportal__valor{display:block;font:800 1.9em/1.1 system-ui,sans-serif;color:#fff;font-variant-numeric:tabular-nums}
.gportal__valor.gportal__pisca{animation:gp-pisca .35s ease}
@keyframes gp-pisca{0%{color:#7ee2a8}100%{color:#fff}}
.gportal__crono{display:flex;justify-content:space-between;align-items:center;font-weight:700}
.gportal__crono b{font-variant-numeric:tabular-nums;color:#b3121b;font-size:1.25em}
.gportal__fala{min-height:1.3em;font-weight:700;color:#8a6a1e}
.gportal__vendido{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;background:rgba(247,245,240,.0)}
.gportal__vendido p{margin:0;padding:.15em .55em .1em;transform:rotate(-8deg) scale(2.6);font:900 clamp(2rem,7vw,4.6rem)/1 Georgia,serif;letter-spacing:.05em;color:#b3121b;border:.08em solid #b3121b;border-radius:.1em;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(0,0,0,.25);text-align:center}
.gportal__vendido p span{display:block;font:700 .22em/1 system-ui,sans-serif;letter-spacing:.4em;text-transform:uppercase;color:#14233a;margin-bottom:.4em}
.gportal--vendeu .gportal__vendido{opacity:1;background:rgba(247,245,240,.35);transition:background .3s}
.gportal--vendeu .gportal__vendido p{animation:gp-carimba .45s cubic-bezier(.2,1.5,.4,1) both}
@keyframes gp-carimba{from{transform:rotate(-8deg) scale(2.6);opacity:0}to{transform:rotate(-8deg) scale(1);opacity:1}}
.gportal--vendeu .gportal__tela{animation:gp-treme .35s ease}
@keyframes gp-treme{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
.gportal__base-pc{position:relative;height:clamp(10px,2vw,18px);margin:0 -7%;border-radius:0 0 18px 18px;background:linear-gradient(180deg,#c9ccd2,#8e939b 60%,#5f646c);box-shadow:0 18px 30px rgba(0,0,0,.5)}
.gportal__base-pc::before{content:"";position:absolute;left:50%;top:0;width:16%;height:40%;border-radius:0 0 8px 8px;background:#7b8088;transform:translateX(-50%)}
.gportal__selinho{position:absolute;right:.8em;bottom:.6em;font-size:.75em;color:#8a8f99}
.gportal--arremate.gportal--abrindo .gportal__frase{animation:gp-frase 1.3s ease 5.3s both}
.gportal--arremate.gportal--abrindo .gportal__cena::after{animation:gp-fundo 1.3s ease 5.3s both}
.gportal--arremate.gportal--abrindo .gportal__cena{animation-duration:6.4s}
@media (max-width:640px){
  /* no celular vira um celular na mão */
  .gportal__pc{width:min(78vw,340px)}
  .gportal__tela{aspect-ratio:9/17;border-radius:30px;padding:14px 10px 18px;background:linear-gradient(180deg,#22262d,#0e1014)}
  .gportal__tela::before{top:6px;width:60px;height:6px;border-radius:6px}
  .gportal__app{border-radius:18px;font-size:13px}
  .gportal__base-pc{display:none}
  .gportal__lote{grid-template-columns:1fr;grid-template-rows:38% auto;gap:.7em}
  .gportal__vendido p{font-size:2.6rem}
}

/* portas retas: abrem sem deformar (sem perspectiva) */
.gportal--porta .gportal__frente{perspective:none}

/* Martelo de madeira (render 3D próprio) batendo na base: dou-lhe uma, duas, três */
.gportal--arremate .gportal__leilao{display:flex;align-items:center;justify-content:center;gap:0}
.gportal__martelada{position:relative;z-index:3;flex:0 0 auto;width:min(26vw,340px,48vh);aspect-ratio:1/1;margin:0 0 12vh -3vw;align-self:flex-end;opacity:0}
.gportal--arremate.gportal--abrindo .gportal__martelada{animation:gp-pc-sobe .9s cubic-bezier(.2,.8,.2,1) 1.7s both}
.gportal__bloco{position:absolute;left:0;bottom:0;width:78%;filter:drop-shadow(0 18px 22px rgba(0,0,0,.55))}
.gportal__martelo{position:absolute;left:0;bottom:20%;width:112%;transform-origin:97% 38%;transform:rotate(28deg);filter:drop-shadow(0 14px 16px rgba(0,0,0,.5))}
.gportal--arremate.gportal--abrindo .gportal__martelo{animation:gp-batida 6.4s linear both}
@keyframes gp-batida{0%,56%{transform:rotate(28deg)}58%{transform:rotate(0)}60%{transform:rotate(18deg)}62.5%{transform:rotate(0)}64.5%{transform:rotate(40deg)}67%{transform:rotate(-2deg)}68.5%{transform:rotate(3deg)}70%,100%{transform:rotate(0)}}
.gportal__martelada .gportal__impacto{position:absolute;left:36%;bottom:22%;width:90%;aspect-ratio:3/1;border-radius:50%;transform:translate(-50%,50%) scale(.2);opacity:0;
  background:radial-gradient(ellipse,rgba(255,236,190,.9) 0%,rgba(241,212,138,.4) 35%,rgba(241,212,138,0) 70%)}
.gportal--arremate.gportal--abrindo .gportal__martelada .gportal__impacto{animation:gp-impacto2 6.4s ease-out both}
@keyframes gp-impacto2{0%,66.5%{opacity:0;transform:translate(-50%,50%) scale(.2)}67.5%{opacity:1}76%,100%{opacity:0;transform:translate(-50%,50%) scale(2.2)}}
@media (max-width:640px){
  .gportal--arremate .gportal__leilao{flex-direction:column;justify-content:center}
  .gportal__martelada{position:absolute;z-index:4;right:0;bottom:15vh;width:44vw;margin:0}
  .gportal__pc{width:min(68vw,300px);margin-top:-8vh}
}

/* ===== Aberturas por marca (out/2026): vitrine (Vamos Arrematar), drone (Vistoria Legal), lupa (007 Digital) ===== */
.gp-v,.gp-d,.gp-l{position:absolute;inset:0;overflow:hidden}
.gportal--vitrine.gportal--abrindo .gportal__frente,.gportal--drone.gportal--abrindo .gportal__frente{animation:gp-passa 1.5s cubic-bezier(.55,0,.4,1) 1.1s both}

/* --- Vamos Arrematar: cidade de descontos + tela com imóveis sendo arrematados --- */
.gp-v{background:radial-gradient(ellipse 80% 60% at 50% 45%,#123a63 0%,#08233e 55%,#041427 100%)}
.gp-v__cidade{position:absolute;left:0;right:0;bottom:0;width:100%;height:28vh;fill:#0a2c4d}
.gp-v__icones{position:absolute;inset:0}
.gp-v__ic{position:absolute;display:inline-flex;align-items:center;gap:6px;padding:.35em .8em;border-radius:999px;font:800 clamp(.8rem,1.6vw,1.05rem) system-ui,sans-serif;color:#fff;background:rgba(201,153,58,.18);border:1px solid rgba(241,212,138,.55);opacity:0;animation:gp-v-flutua 6s ease-in-out infinite}
.gp-v__ic--ouro{background:#c9993a;color:#08233e;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(.7rem,1.3vw,.9rem)}
.gp-v__ic svg{width:1.3em;height:1.3em;color:#f1d48a}
@keyframes gp-v-flutua{0%{opacity:0;transform:translateY(18px) scale(.9)}15%,70%{opacity:.95;transform:none}100%{opacity:0;transform:translateY(-26px)}}
.gp-v__monitor{position:absolute;left:50%;top:50%;width:min(560px,88vw);transform:translate(-50%,-56%);filter:drop-shadow(0 30px 50px rgba(0,0,0,.55))}
.gp-v__tela{background:#0d1b2e;border:10px solid #1c2633;border-radius:14px;overflow:hidden}
.gp-v__barra{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#08233e;color:#fff;font:700 .85rem system-ui,sans-serif}
.gp-v__barra img{height:22px}
.gp-v__barra em{margin-left:auto;font-style:normal;font-size:.72rem;color:#fff;background:#c0392b;border-radius:999px;padding:2px 8px;animation:gp-v-live 1.2s ease-in-out infinite}
@keyframes gp-v-live{50%{opacity:.45}}
.gp-v__janela{height:min(250px,34vh);overflow:hidden;position:relative}
.gp-v__lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;animation:gp-v-rola 12s linear infinite}
@keyframes gp-v-rola{to{transform:translateY(-50%)}}
.gp-v__card{position:relative;background:#fff;border-radius:8px;overflow:hidden}
.gp-v__foto{height:clamp(54px,9vh,82px);background:#24476e center/260% no-repeat;position:relative}
.gp-v__foto b{position:absolute;top:5px;right:5px;background:#c9993a;color:#08233e;font:800 .78rem system-ui,sans-serif;padding:2px 6px;border-radius:6px}
.gp-v__txt{padding:5px 7px 7px;font:600 .7rem system-ui,sans-serif;color:#14171f}
.gp-v__txt strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-v__txt small{color:#555b68;font-weight:500}
.gp-v__carimbo{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) rotate(-14deg) scale(2.4);border:3px solid #c0392b;color:#c0392b;background:rgba(255,255,255,.88);font:900 clamp(.62rem,1.3vw,.85rem) system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:6px;opacity:0;animation:gp-v-carimba 6s ease-out infinite;animation-delay:calc(var(--i) * .9s + .6s)}
@keyframes gp-v-carimba{0%,8%{opacity:0;transform:translate(-50%,-50%) rotate(-14deg) scale(2.4)}13%,85%{opacity:1;transform:translate(-50%,-50%) rotate(-14deg) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) rotate(-14deg) scale(1)}}
.gp-v__aviso{display:block;padding:4px 10px 6px;color:#8a97ab;font:500 .66rem system-ui,sans-serif;text-align:right}
.gp-v__pe{width:28%;height:26px;margin:0 auto;background:linear-gradient(#1c2633,#111821);clip-path:polygon(20% 0,80% 0,100% 100%,0 100%)}

/* --- Vistoria Legal: drone sobrevoa a cidade e para; piloto lá embaixo --- */
.gp-d{background:linear-gradient(180deg,#5aa9e6 0%,#a9d6f5 55%,#e8f4fc 100%)}
.gp-d__sol{position:absolute;top:10%;right:12%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#fff6c9,#ffd76a 60%,rgba(255,215,106,0) 72%)}
.gp-d__nuvem{position:absolute;left:-30%;width:220px;height:60px;border-radius:60px;background:rgba(255,255,255,.85);filter:blur(1px);animation:gp-d-nuvem linear infinite}
.gp-d__nuvem::before{content:"";position:absolute;left:40px;top:-30px;width:110px;height:80px;border-radius:50%;background:inherit}
@keyframes gp-d-nuvem{to{left:120%}}
.gp-d__cidade{position:absolute;left:0;right:0;bottom:0;width:100%;height:30vh;fill:#2f4a62}
.gp-d__voo{position:absolute;left:50%;top:34%;width:min(220px,46vw);animation:gp-d-chega 4.2s cubic-bezier(.3,.6,.25,1) both}
@keyframes gp-d-chega{0%{transform:translate(-160vw,-20vh) rotate(-8deg)}45%{transform:translate(-30vw,-6vh) rotate(-6deg)}70%{transform:translate(-62%,4vh) rotate(4deg)}85%{transform:translate(-46%,-1vh) rotate(-2deg)}100%{transform:translate(-50%,0) rotate(0)}}
.gp-d__drone{width:100%;display:block;animation:gp-d-paira 2.4s ease-in-out 4.2s infinite}
@keyframes gp-d-paira{50%{transform:translateY(-8px)}}
.gp-d__helices{transform-origin:center;animation:gp-d-helice .12s linear infinite}
@keyframes gp-d-helice{50%{opacity:.35}}
.gp-d__feixe{position:absolute;left:50%;top:82%;width:62%;height:34vh;transform:translateX(-50%);background:linear-gradient(180deg,rgba(95,209,138,.45),rgba(95,209,138,0));clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);opacity:0;animation:gp-d-feixe 2.6s ease-in-out 4.3s infinite}
@keyframes gp-d-feixe{0%,100%{opacity:0}40%,70%{opacity:1}}
.gp-d__piloto{position:absolute;left:calc(50% - 250px);bottom:5vh;width:46px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.gp-d__sinal{position:absolute;left:calc(50% - 220px);bottom:calc(5vh + 70px);width:100px;height:2px;transform-origin:left;transform:rotate(-40deg);background:repeating-linear-gradient(90deg,#5fd18a 0 6px,transparent 6px 12px);opacity:0;animation:gp-d-feixe 2.6s ease-in-out 4.3s infinite}
.gportal--drone .gportal__topo{background:linear-gradient(180deg,rgba(6,19,43,.55),rgba(6,19,43,0))}
.gportal--drone.gportal--abrindo .gp-d__voo{animation:gp-d-sobe 1.4s ease-in both}
@keyframes gp-d-sobe{from{transform:translate(-50%,0)}to{transform:translate(-50%,-80vh) scale(.6)}}

/* --- 007 Digital: o investigador e a lupa que verifica cada linha da ficha --- */
.gp-l{background:radial-gradient(circle at 50% 40%,#16274a 0%,#08101f 70%)}
.gp-l__ficha{position:absolute;left:50%;top:50%;width:min(520px,86vw);transform:translate(-50%,-58%);display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid rgba(201,153,58,.35);border-radius:14px;background:rgba(255,255,255,.04)}
.gp-l__linha{display:flex;align-items:center;gap:12px;font:600 clamp(.8rem,1.6vw,1rem) system-ui,sans-serif;color:#7f8ba3}
.gp-l__linha i{flex:1;height:8px;border-radius:4px;background:rgba(255,255,255,.08)}
.gp-l__linha b{font-size:.78em;letter-spacing:.08em;text-transform:uppercase;color:#5fd18a;opacity:0;animation:gp-l-ok .5s ease both;animation-delay:calc(var(--i) * .45s + .8s)}
.gp-l__linha span{animation:gp-l-acende .5s ease both;animation-delay:calc(var(--i) * .45s + .8s)}
@keyframes gp-l-ok{to{opacity:1}}
@keyframes gp-l-acende{to{color:#fff}}
.gp-l__topo{display:flex;align-items:center;gap:14px;margin-bottom:6px;padding-bottom:12px;border-bottom:1px solid rgba(201,153,58,.3)}
.gp-l__topo svg{width:clamp(56px,9vh,76px);flex:none;filter:drop-shadow(0 6px 12px rgba(0,0,0,.6))}
.gp-l__topo p{margin:0;color:#fff;font:700 clamp(.95rem,1.8vw,1.15rem) system-ui,sans-serif}
.gp-l__topo span{display:block;margin-top:4px;font-size:.72rem;font-weight:500;color:#8a97ab}
.gp-l__lente{position:absolute;left:50%;top:50%;width:clamp(120px,22vh,180px);height:clamp(120px,22vh,180px);animation:gp-l-varre 4.4s ease-in-out infinite}
@keyframes gp-l-varre{0%{transform:translate(-120%,-150%)}25%{transform:translate(10%,-110%)}50%{transform:translate(-90%,-40%)}75%{transform:translate(0%,10%)}100%{transform:translate(-120%,-150%)}}
.gp-l__vidro{position:absolute;inset:0;border-radius:50%;border:8px solid #c9993a;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),rgba(255,255,255,.04) 45%,rgba(255,255,255,0));backdrop-filter:brightness(1.6);-webkit-backdrop-filter:brightness(1.6);box-shadow:0 0 30px rgba(241,212,138,.25)}
.gp-l__cabo{position:absolute;right:-26%;bottom:-26%;width:40%;height:12%;border-radius:8px;background:#8a6420;transform:rotate(45deg)}
.gportal--lupa.gportal--abrindo .gp-l__lente{animation:gp-l-abre 1.6s cubic-bezier(.6,0,.3,1) both}
@keyframes gp-l-abre{from{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(14)}}
.gportal--lupa.gportal--abrindo .gportal__frente{animation:gp-somefrente .7s ease 1.3s both}

@media (prefers-reduced-motion:reduce){.gp-v *,.gp-d *,.gp-l *{animation:none!important}}
.gp-v__ic{left:clamp(8px,var(--x),calc(100% - 140px))}
.gp-d__piloto{left:max(14px,calc(50% - 250px));filter:drop-shadow(0 0 2px rgba(255,255,255,.9)) drop-shadow(0 4px 6px rgba(0,0,0,.25))}
@media (max-width:600px){.gp-d__sinal{display:none}.gp-v__ic:nth-child(3n){display:none}}

/* Vistoria Legal v2: Rio ao entardecer, drone com câmera e tela de gravação */
.gp-d{background:linear-gradient(180deg,#123a6b 0%,#3f78b5 38%,#9cc4e4 66%,#f5cf9f 86%,#f7b77e 100%)}
.gp-d__sol{top:auto;bottom:26vh;right:18%;width:140px;height:140px;background:radial-gradient(circle,#fff4d6 0%,#ffd28a 40%,rgba(255,190,110,0) 70%)}
.gp-d__nuvem{background:rgba(255,255,255,.55);filter:blur(3px)}
.gp-d__morros{position:absolute;left:0;right:0;bottom:12vh;width:100%;height:34vh}
.gp-d__m1{fill:#5a7ea6;fill-opacity:.75}
.gp-d__m2{fill:#3c5f86}
.gp-d__cristo{fill:#e9f1fa}
.gp-d__cidade{height:22vh;fill:#1a2f4b}
.gp-d__voo{top:30%;width:min(260px,52vw)}
.gp-d__giro{animation:gp-d-giro .09s linear infinite}
@keyframes gp-d-giro{50%{fill-opacity:.15}}
.gp-d__led{animation:gp-v-live 1s ease-in-out infinite}
.gp-d__feixe{top:78%;height:36vh;background:linear-gradient(180deg,rgba(95,209,138,.5),rgba(95,209,138,0));animation-delay:4.4s}
.gp-d__alvo{position:absolute;left:50%;bottom:14vh;width:min(150px,30vw);height:90px;transform:translateX(-50%);opacity:0;animation:gp-d-alvo 2.6s ease-in-out 4.6s infinite}
.gp-d__alvo i{position:absolute;inset:0;border:2px solid #5fd18a;border-radius:6px;box-shadow:0 0 18px rgba(95,209,138,.6)}
.gp-d__alvo b{position:absolute;left:50%;top:-30px;transform:translateX(-50%);white-space:nowrap;font:700 .78rem system-ui,sans-serif;color:#0b1f44;background:#5fd18a;padding:3px 9px;border-radius:999px}
@keyframes gp-d-alvo{0%,100%{opacity:0;transform:translateX(-50%) scale(1.15)}30%,75%{opacity:1;transform:translateX(-50%) scale(1)}}
.gp-d__hud{position:absolute;inset:clamp(70px,12vh,110px) clamp(14px,4vw,48px) clamp(110px,18vh,150px);pointer-events:none;opacity:0;animation:gp-l-ok .6s ease 1.2s forwards}
.gp-d__hud i{position:absolute;width:34px;height:34px;border:0 solid rgba(255,255,255,.85)}
.gp-d__c1{top:0;left:0;border-top-width:3px!important;border-left-width:3px!important}
.gp-d__c2{top:0;right:0;border-top-width:3px!important;border-right-width:3px!important}
.gp-d__c3{bottom:0;left:0;border-bottom-width:3px!important;border-left-width:3px!important}
.gp-d__c4{bottom:0;right:0;border-bottom-width:3px!important;border-right-width:3px!important}
.gp-d__rec,.gp-d__tele{position:absolute;font:700 .78rem system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.gp-d__rec{top:10px;left:46px;display:flex;align-items:center;gap:8px}
.gp-d__rec::before{content:"";width:10px;height:10px;border-radius:50%;background:#ff4d4d;animation:gp-v-live 1s ease-in-out infinite}
.gp-d__tele{bottom:10px;right:46px}
.gp-d__piloto{bottom:3vh}
.gportal--drone .gportal__topo{background:linear-gradient(180deg,rgba(6,19,43,.7),rgba(6,19,43,0))}
.gp-d__morros{bottom:0;height:52vh}
.gp-d__m2{fill:#2e4d72}
.gp-d__alvo{bottom:auto;top:58%;height:70px}
@media (max-width:600px){.gp-d__hud{inset:140px 14px 120px}.gp-d__alvo{top:62%}.gp-d__voo{top:32%}}
.gp-d__alvo{display:none}
.gp-d__tele{color:#7cf0a8}
