:root{
  --brand:#0650A6; --brand-rgb:6,80,166;
  --brand-light:#75B3FA; --brand-light-rgb:117,179,250;
  --ink:#0E3160; --ink-rgb:14,49,96;
  --ink-fundo:#0A2549; --ink-fundo-rgb:10,37,73;
  --claro:#B9C7DB;
  --display:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif;
  --texto:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --colw:100vw;
  --fw:max(var(--colw), min(calc(var(--colw) * 1.12), 64svh));
  --fh:calc(var(--fw) * 1.037);
  --ft0:calc(var(--fh) * -.03);
  --ft:var(--ft0);
  --pt:clamp(16px,3svh,30px);
  --lh:clamp(84px,13.6svh,122px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{height:100%;background:var(--ink)}
body{
  font-family:var(--texto);background:var(--ink);color:#fff;
  min-height:100vh;min-height:100svh;display:flex;justify-content:center;position:relative;
  padding:var(--pt) 20px calc(clamp(14px,2.6svh,28px) + env(safe-area-inset-bottom));
  -webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overflow-x:hidden;
}
a{color:inherit}
.bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:var(--ink)}
.bg__amb{display:none}
.bg__col{position:absolute;inset:0;overflow:hidden;
  background:linear-gradient(180deg,var(--ink) 0%,var(--ink-fundo) 100%)}
.bg__foto{position:absolute;top:var(--ft);left:50%;width:var(--fw);height:auto;max-width:none;
  transform:translateX(-54%);transform-origin:54% 45%;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.55) 7%,#000 15%,#000 65%,rgba(0,0,0,.6) 72%,rgba(0,0,0,.28) 78%,rgba(0,0,0,.1) 84%,transparent 91%);
  mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.55) 7%,#000 15%,#000 65%,rgba(0,0,0,.6) 72%,rgba(0,0,0,.28) 78%,rgba(0,0,0,.1) 84%,transparent 91%)}
@keyframes heroZoom{from{transform:translateX(-54%) scale(1)}to{transform:translateX(-54%) scale(1.05)}}
html.anim .bg__foto{animation:heroZoom 20s var(--ease) infinite alternate}
.bg__veu{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(var(--ink-rgb),.66) 0,rgba(var(--ink-rgb),.6) calc(var(--fh) * .34),
    rgba(var(--ink-rgb),.22) calc(var(--fh) * .46),rgba(var(--ink-rgb),0) calc(var(--fh) * .56))}
.bg__brilho{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(130% 58% at 50% 84%,rgba(var(--brand-rgb),.52) 0%,rgba(var(--brand-rgb),.18) 52%,transparent 78%)}
@media (min-width:700px){
  :root{--colw:520px}
  .bg__amb{display:block;position:absolute;inset:0;
    background:
      linear-gradient(90deg,rgba(var(--ink-rgb),.9) 0%,rgba(var(--ink-rgb),.62) 50%,rgba(var(--ink-rgb),.9) 100%),
      linear-gradient(180deg,rgba(var(--ink-rgb),.45) 0%,rgba(var(--ink-fundo-rgb),.92) 100%),
      url(../img/casa-veneza.webp) 54% 40% / cover no-repeat}
  .bg__col{left:50%;right:auto;width:var(--colw);margin-left:calc(var(--colw) / -2);
    box-shadow:0 0 0 1px rgba(255,255,255,.05),0 0 70px rgba(0,0,0,.6)}
}
.wrap{position:relative;z-index:2;width:100%;max-width:440px;
  height:calc(100svh - var(--pt) - clamp(14px,2.6svh,28px) - env(safe-area-inset-bottom));
  display:flex;flex-direction:column;align-items:center}
.wrap > *{flex-shrink:0}
.marca{flex:none;display:flex;flex-direction:column;align-items:center;font-weight:400;
  filter:drop-shadow(0 0 1px rgba(var(--ink-rgb),.9)) drop-shadow(0 1px 2.5px rgba(var(--ink-rgb),.75)) drop-shadow(0 0 14px rgba(var(--ink-rgb),.5))}
.marca__svg{display:block;height:var(--lh);width:auto;aspect-ratio:264/189;overflow:visible}
.marca__svg .anel,.marca__palavra{fill:#fff}
.varre{stroke-dasharray:101 101;stroke-dashoffset:0}
@keyframes varre{from{stroke-dashoffset:101}to{stroke-dashoffset:0}}
html.anim .varre{animation:varre 1.15s cubic-bezier(.6,.05,.25,1) var(--d) backwards}
@keyframes brandPalavra{
  0%{opacity:0;transform:translateY(8px)}
  100%{opacity:1;transform:none}}
html.anim .marca__palavra{transform-box:fill-box;transform-origin:50% 50%;
  animation:brandPalavra .6s var(--ease) 1.05s backwards}
.marca__tag{display:block;margin-top:clamp(7px,1.2svh,11px);font-family:var(--texto);font-weight:600;
  font-size:clamp(9.5px,2.75vw,11px);line-height:1;letter-spacing:.2em;text-transform:uppercase;
  white-space:nowrap;color:#fff}
.marca__tag i{font-style:normal;margin:0 .55em 0 .35em;color:var(--brand-light)}
@keyframes tagEntra{from{opacity:0;letter-spacing:.34em}to{opacity:1;letter-spacing:.2em}}
html.anim .marca__tag{animation:tagEntra .8s var(--ease) 1.25s backwards}
.wrap > .vao{flex:0 1 max(10px,min(calc(var(--ft0) + var(--fh) * .77 - var(--pt) - var(--lh) - 8px),28svh));min-height:10px}
html.anim .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.anim .reveal.is-visible{opacity:1;transform:none}
.ganho{position:relative;isolation:isolate;width:100%;text-align:center;font-family:var(--texto);
  font-size:clamp(15.5px,4.45vw,18px);line-height:1.5;font-weight:400;letter-spacing:0;color:#fff;text-wrap:pretty;
  text-shadow:0 1px 2px rgba(0,0,0,.85),0 0 10px rgba(var(--ink-rgb),.75),0 0 26px rgba(var(--ink-rgb),.55)}
.ganho strong{font-weight:700;color:#fff}
.ganho::before{content:"";position:absolute;inset:-34px -5.4%;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(var(--ink-rgb),.88) 0%,rgba(var(--ink-rgb),.8) 68%,rgba(var(--ink-rgb),.36) 90%,rgba(var(--ink-rgb),0) 100%)}
.realce{color:var(--ink);font-weight:700;text-shadow:none;padding:.03em .28em .07em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  background:linear-gradient(90deg,#8CC4FF,var(--brand-light)) left center / 100% 100% no-repeat}
html.anim .realce{background-size:0% 100%;transition:background-size .8s var(--ease) 1.1s}
html.anim .ganho.is-visible .realce{background-size:100% 100%}
.links{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(14px,2.5svh,22px);margin-top:clamp(26px,4.4svh,42px);text-align:left}
.btn{position:relative;isolation:isolate;display:flex;align-items:center;gap:12px;
  min-height:clamp(66px,10.8svh,92px);padding:10px 14px 10px 12px;
  font-family:var(--display);font-weight:700;line-height:1.2;text-decoration:none;-webkit-tap-highlight-color:transparent;
  transition:transform .3s var(--ease),filter .3s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.btn__tx{flex:1 1 auto;min-width:0;white-space:nowrap;font-size:clamp(14px,calc((100vw - 148px) / 14.8),18px);letter-spacing:-.01em}
@media (min-width:700px){.btn__tx{font-size:18px}}
.btn__tx small{display:block;margin-top:5px;font-family:var(--texto);font-size:14px;font-weight:500;line-height:1.3;letter-spacing:0;white-space:normal}
.btn__ic,.btn__zap{flex:0 0 auto;display:grid;place-items:center;width:52px;height:52px}
.btn__ic svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.btn__seta{flex:0 0 auto;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.btn:hover .btn__seta{transform:translateX(4px)}
@keyframes setaVai{0%,70%,100%{transform:none}80%{transform:translateX(5px)}90%{transform:translateX(1px)}}
html.anim .btn__seta{animation:setaVai 3.2s var(--ease) 2.2s infinite}
@keyframes anda{from{background-position:120% 0,0 0}to{background-position:-140% 0,0 0}}
.btn--prin{color:var(--ink);filter:drop-shadow(0 10px 22px rgba(0,0,0,.42))}
.btn--prin::before{
  background:
    linear-gradient(105deg,transparent 0%,transparent 42%,rgba(var(--brand-rgb),.12) 50%,transparent 58%,transparent 100%) 120% 0/260% 100% no-repeat,
    linear-gradient(180deg,#FFFFFF 0%,#EEF3FA 100%)}
html.anim .btn--prin::before{animation:anda 4.2s ease-in-out 1.8s infinite}
.btn--prin .btn__ic{background:var(--brand);color:#fff}
.btn--prin .btn__seta{color:var(--brand)}
.btn--prin .btn__tx small{color:#3B4A63}
.btn--zap{color:#062B16;filter:drop-shadow(0 10px 22px rgba(0,0,0,.36))}
.btn--zap::before{
  background:
    linear-gradient(105deg,transparent 0%,transparent 42%,rgba(255,255,255,.34) 50%,transparent 58%,transparent 100%) 120% 0/260% 100% no-repeat,
    linear-gradient(110deg,#4BE08C 0%,#25D366 40%,#1EBE5A 65%,#3DDC80 100%) 0% 50%/220% 100%}
html.anim .btn--zap::before{animation:anda 4.2s ease-in-out 3.9s infinite}
.btn--zap .btn__tx small{color:#0B3D22}
.btn__zap{background:#fff;color:#1EBE5A}
.btn__zap svg{width:30px;height:30px;fill:currentColor}
.pe{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:clamp(22px,3.8svh,34px);
  font-size:12.5px;line-height:1.3;text-align:center}
.pe__locais{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px}
.pe__locais span{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;letter-spacing:.02em;color:#fff}
.pe__locais svg{width:15px;height:15px;fill:none;stroke:var(--brand-light);stroke-width:2;stroke-linejoin:round}
.pe__dev{color:var(--claro);font-weight:500;letter-spacing:.02em}
.pe__dev a{color:#fff;font-weight:700;text-decoration:none}
.pe__dev a:hover{text-decoration:underline}
@media (max-height:760px){
  .links{gap:12px}
  .btn{min-height:62px;padding-top:6px;padding-bottom:6px}
  .btn__ic,.btn__zap{width:44px;height:44px}
  .btn__ic svg{width:24px;height:24px}
  .btn__zap svg{width:26px;height:26px}
  .btn__tx small{font-size:12.5px}
}
@media (max-height:700px){
  .ganho{font-size:clamp(14.5px,4.1vw,16px);line-height:1.45}
  .links{margin-top:20px;gap:11px}
  .btn{min-height:58px;padding-top:5px;padding-bottom:5px}
  .btn__ic,.btn__zap{width:40px;height:40px}
  .btn__ic svg{width:22px;height:22px}
  .btn__zap svg{width:24px;height:24px}
  .btn__tx small{margin-top:2px;font-size:11.5px}
  .pe{margin-top:16px;gap:5px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html.anim .reveal{opacity:1;transform:none}
  html.anim .realce{background-size:100% 100%}
}
