:root {
  --fundo: #050505;
  --tinta: hsl(0 0% 96%);
  --tinta-2: hsl(0 0% 76%);
  --fraca: hsl(0 0% 58%);
  --rotulo: hsl(0 0% 46%);
  --fio: rgb(255 255 255 / 10%);
  --ok: hsl(150 30% 55%);
  --pend: hsl(43 96% 64%);
  --rec: hsl(0 72% 68%);
  --curva: cubic-bezier(0.22, 1, 0.36, 1);
  --curva-forte: cubic-bezier(0.76, 0, 0.24, 1);
  --display: 'Geist', 'Inter', system-ui, sans-serif;
  --corpo: 'Inter', system-ui, sans-serif;
  --mono: 'Geist Mono', ui-monospace, monospace;
}
*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: dark; -webkit-text-size-adjust: 100%; scrollbar-width: thin; scrollbar-color: rgb(255 255 255 / 28%) transparent; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body { margin: 0; background: var(--fundo); color: var(--tinta); font: 400 16px/1.6 var(--corpo); -webkit-font-smoothing: antialiased; overflow-x: clip; }
body.carregando { overflow: hidden; }
img, svg { display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
img, a, button { -webkit-user-drag: none; user-select: none; }
::selection { background: rgb(255 255 255 / 18%); }
:focus-visible { outline: 2px solid rgb(255 255 255 / 70%); outline-offset: 3px; border-radius: 8px; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, rgb(255 255 255 / 45%), rgb(255 255 255 / 16%)); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: rgb(255 255 255 / 60%); }
#metal { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 0; display: block; background: radial-gradient(80% 60% at 50% 40%, #1a1a1a, #050505); }
main, .rodape { position: relative; z-index: 1; }
@media (hover: hover) and (pointer: fine) { html.cursor-ativo, html.cursor-ativo a, html.cursor-ativo button { cursor: none; } }
.cursor, .cursor-anel { position: fixed; left: 0; top: 0; z-index: 200; pointer-events: none; border-radius: 50%; will-change: transform; opacity: 0; transition: opacity .3s; }
html.mexeu .cursor, html.mexeu .cursor-anel { opacity: 1; }
.cursor { width: 6px; height: 6px; margin: -3px 0 0 -3px; background: #fff; }
.cursor-anel { width: 38px; height: 38px; margin: -19px 0 0 -19px; border: 1px solid rgb(255 255 255 / 55%); transition: opacity .3s, width .35s var(--curva), height .35s var(--curva), margin .35s var(--curva), background .35s; }
.cursor-anel.sobre { width: 70px; height: 70px; margin: -35px 0 0 -35px; background: rgb(255 255 255 / 8%); }
@media (hover: none), (pointer: coarse) { .cursor, .cursor-anel { display: none; } }
.carga { position: fixed; inset: 0; z-index: 150; background: #030303; display: grid; place-items: center; clip-path: inset(0 0 0 0); transition: clip-path 1.1s var(--curva-forte); }
.carga.saiu { clip-path: inset(0 0 100% 0); }
.carga__meio { display: grid; justify-items: center; gap: 22px; }
.carga img { width: 84px; opacity: 0; transform: scale(.9); animation: surge 1.2s var(--curva) .1s forwards; }
.carga__barra { width: 140px; height: 1px; background: rgb(255 255 255 / 12%); overflow: hidden; }
.carga__barra i { display: block; height: 100%; background: #fff; transform-origin: 0 0; transform: scaleX(var(--c, 0)); }
.carga__n { position: fixed; right: 32px; bottom: 22px; font: 500 clamp(3rem, 8vw, 6rem)/1 var(--display); letter-spacing: -0.05em; font-variant-numeric: tabular-nums; }
@keyframes surge { to { opacity: 1; transform: none; } }
.topo { position: fixed; inset: 0 0 auto; z-index: 40; display: flex; align-items: center; justify-content: space-between; padding: 22px 32px; pointer-events: none; mix-blend-mode: difference; }
.topo > * { pointer-events: auto; }
.topo img { height: 50px; width: auto; }
@media (max-width: 600px) { .topo img { height: 40px; } }
.topo__hora { font: 500 12px var(--mono); letter-spacing: .06em; }
@media (max-width: 600px) { .topo { padding: 18px 20px; } .topo__hora { display: none; } }
.linha { position: fixed; left: 40px; top: 22vh; bottom: 22vh; width: 1px; z-index: 30; background: var(--fio); pointer-events: none; opacity: 0; transition: opacity .6s; }
body.pronto .linha { opacity: 1; }
.linha__cheia { position: absolute; inset: 0; background: #fff; transform-origin: 0 0; transform: scaleY(var(--total, 0)); }
.marco { position: absolute; left: 0; display: flex; align-items: center; gap: 12px; transform: translateY(-50%); white-space: nowrap; }
.marco::before { content: ''; width: 9px; height: 1px; background: var(--rotulo); margin-left: -4px; transition: background .3s, width .3s; }
.marco span { font: 500 11.5px var(--mono); letter-spacing: .04em; color: var(--rotulo); transition: color .3s; }
.marco.ativo::before { background: #fff; width: 18px; }
.marco.ativo span { color: #fff; }
@media (max-width: 900px) { .linha { left: 14px; } .marco span { display: none; } }
.cena { position: relative; }
.quadro { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; display: grid; place-items: center; }
.funde { opacity: clamp(0, min(var(--p, 0) / 0.16, (1 - var(--p, 0)) / 0.16), 1); }
.mascara { display: block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.mascara > span { display: block; transform: translateY(108%); transition: transform 1.3s var(--curva); transition-delay: var(--d, 0s); }
.revela .mascara > span { transform: none; }
.letras .pal { display: inline-block; white-space: nowrap; }
.letras .l { display: inline-block; --e: clamp(0, (var(--p, 0) - var(--s) - var(--i) * 0.0035) / 0.05, 1);
  opacity: var(--e); transform: translateY(calc((1 - var(--e)) * 0.55em)) rotate(calc((1 - var(--e)) * 8deg)); transform-origin: 0 100%; }
.abertura { height: 180vh; }
.abertura__texto { position: relative; text-align: center; padding: 0 24px; opacity: clamp(0, (1 - var(--p, 0)) / 0.45, 1); transform: translate3d(0, calc(var(--p, 0) * 40vh), 0); }
.abertura h1 { margin: 0; font: 600 clamp(2.4rem, 6.6vw, 6rem)/1 var(--display); letter-spacing: -0.055em; text-shadow: 0 10px 60px rgb(0 0 0 / 60%); }
.abertura__local { margin-top: 30px; font: 500 12.5px var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--tinta-2); }
@keyframes gira { to { transform: rotate(360deg); } }
.nasce { height: 260vh; }
.nasce__texto { text-align: center; padding: 0 24px; }
.ano { display: flex; justify-content: center; font: 600 clamp(7rem, 25vw, 21rem)/1 var(--display); letter-spacing: -0.07em; font-variant-numeric: tabular-nums; }
.digito { display: inline-block; height: 1em; overflow: hidden; --e: clamp(0, (var(--p, 0) - var(--s)) / 0.3, 1); }
.fita { display: block; transform: translateY(calc(-1em * var(--k) * var(--e))); }
.fita span { display: block; height: 1em; line-height: 1em; }
.nasce h2 { margin: 26px 0 0; font: 600 clamp(1.8rem, 4.2vw, 3.2rem)/1.1 var(--display); letter-spacing: -0.045em; }
.nasce__apoio { margin: 22px auto 0; max-width: 34rem; font: 500 clamp(1.05rem, 1.8vw, 1.35rem)/1.45 var(--display); letter-spacing: -0.02em; color: var(--tinta-2);
  opacity: clamp(0, (var(--p, 0) - 0.55) / 0.1, 1); transform: translateY(calc((1 - clamp(0, (var(--p, 0) - 0.55) / 0.1, 1)) * 14px)); }
.faixa-corre { position: relative; padding: 14vh 0; overflow: hidden; }
.faixa-corre .linhax { display: flex; gap: 0; white-space: nowrap; font: 600 clamp(4rem, 11vw, 10rem)/1 var(--display); letter-spacing: -0.05em; will-change: transform; }
.faixa-corre .linhax span { padding-right: .35em; }
.faixa-corre .l1 { transform: translate3d(calc(var(--g, 0) * -38%), 0, 0); }
.faixa-corre .l2 { transform: translate3d(calc(-38% + var(--g, 0) * 38%), 0, 0); color: transparent; -webkit-text-stroke: 1px rgb(255 255 255 / 40%); }
.capitulo { height: 380vh; }
.tela { position: relative; width: 100vw; height: 100vh; height: 100svh; overflow: hidden; }
.tela::before { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(60% 75% at 28% 50%, rgb(5 5 5 / 78%), rgb(5 5 5 / 35%) 60%, transparent 100%); }
.tela__grade { position: relative; height: 100%; max-width: 1300px; margin: 0 auto; padding: 0 64px 0 110px; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.cap__logo { position: relative; width: min(430px, 100%); margin-top: 0;
  --e: clamp(0, (var(--p, 0) - 0.22) / 0.14, 1);
  clip-path: inset(-10% calc((1 - var(--e)) * 100%) -10% 0); transform: translateX(calc((1 - var(--e)) * -24px)); }
.cap__logo img { width: 100%; height: auto; filter: drop-shadow(0 24px 40px rgb(0 0 0 / 55%)); }
.cap__logo::after { content: ''; position: absolute; inset: 0; pointer-events: none;
  -webkit-mask: var(--logo) center / contain no-repeat; mask: var(--logo) center / contain no-repeat;
  background: linear-gradient(105deg, transparent 38%, rgb(255 255 255 / 95%) 50%, transparent 62%) 0 0 / 300% 100% no-repeat;
  background-position-x: calc(150% - clamp(0, (var(--p, 0) - 0.3) / 0.16, 1) * 200%); mix-blend-mode: overlay; }
.cap__frase { margin: 26px 0 0; font: 600 clamp(1.6rem, 2.8vw, 2.4rem)/1.12 var(--display); letter-spacing: -0.04em; max-width: 30rem; }
.cap__detalhe { margin: 18px 0 0; font-size: 16.5px; line-height: 1.65; color: var(--tinta-2); max-width: 28rem; opacity: clamp(0, (var(--p, 0) - 0.4) / 0.08, 1); transform: translateY(calc((1 - clamp(0, (var(--p, 0) - 0.4) / 0.08, 1)) * 14px)); }
.cap__visual { display: grid; place-items: center; perspective: 1400px;
  --v: clamp(0, (var(--p, 0) - 0.3) / 0.1, 1);
  opacity: var(--v); transform: translateY(calc((1 - var(--v)) * 90px)); }
.inclina { transition: transform .6s var(--curva); transform: rotateX(calc(var(--ry, 0) * 1deg)) rotateY(calc(var(--rx, 0) * 1deg)); will-change: transform; }
@media (max-width: 900px) {
  .capitulo { height: 420vh; }
  .tela__grade { grid-template-columns: 1fr; padding: 86px 22px 20px 34px; align-content: start; gap: 18px; }
  .cap__logo { width: min(230px, 62vw); margin-top: 12px; }
  .cap__frase { font-size: 1.35rem; margin-top: 12px; }
  .cap__detalhe { display: none; }
  .cap__visual { zoom: .7; }
}
.bloqueio { background: radial-gradient(90% 60% at 30% 10%, #3a3a3f 0%, transparent 60%), radial-gradient(80% 60% at 80% 90%, #2a2a2e 0%, transparent 60%), linear-gradient(170deg, #1a1a1d, #070708); color: #fff; }
.bloqueio .status { color: #fff; }
.bloq__topo { display: grid; justify-items: center; padding-top: 6px; flex-shrink: 0; }
.bloq__topo svg { width: 16px; height: 16px; opacity: .85; }
.bloq__topo span { margin-top: 10px; font-size: 13.5px; font-weight: 500; opacity: .85; }
.bloq__topo b { font: 600 76px/1 var(--display); letter-spacing: -0.04em; margin-top: 2px; background: linear-gradient(180deg, #fff, #cfcfd4); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bloq__lista { flex: 1; display: flex; flex-direction: column; gap: 7px; padding: 22px 10px 0; overflow: hidden; }
.notif { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: start; padding: 10px 12px; border-radius: 20px; background: rgb(44 44 48 / 78%); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 6%);
  max-height: 120px; transition: opacity .5s var(--curva), transform .6s var(--curva), max-height .55s var(--curva), padding .55s var(--curva), margin .55s var(--curva); }
.notif:not(.on) { opacity: 0; transform: translateY(-14px) scale(.96); max-height: 0; padding-top: 0; padding-bottom: 0; margin-top: -7px; overflow: hidden; }
.notif img { width: 34px; height: 34px; border-radius: 9px; background: #050505; padding: 4px; box-shadow: inset 0 0 0 1px rgb(255 255 255 / 12%); }
.notif p { margin: 0; display: flex; justify-content: space-between; font-size: 10.5px; letter-spacing: .04em; color: rgb(255 255 255 / 55%); }
.notif p b { font-weight: 600; }
.notif strong { display: block; margin-top: 1px; font-size: 13px; font-weight: 600; line-height: 1.3; }
.notif small { display: block; font-size: 12px; line-height: 1.35; color: rgb(255 255 255 / 75%); }
.bloq__barra { width: 120px; height: 4px; border-radius: 3px; background: rgb(255 255 255 / 70%); margin: 10px auto 10px; flex-shrink: 0; }
@media (max-width: 900px) and (orientation: portrait) { .bloq__topo b { font-size: 54px; } .bloq__lista { padding-top: 14px; } }
.celular { position: relative; width: 310px; border-radius: 46px; padding: 10px; background: linear-gradient(155deg, #4a4a4f 0%, #1a1a1c 30%, #0b0b0c 70%, #2a2a2d 100%); box-shadow: inset 0 1px 1px rgb(255 255 255 / 30%), inset 0 -1px 1px rgb(255 255 255 / 8%), 0 0 0 1px #000, 0 70px 120px -40px #000; }
.celular::before { content: ''; position: absolute; right: -3px; top: 150px; width: 3px; height: 70px; border-radius: 0 3px 3px 0; background: #2a2a2d; }
.cel__tela { position: relative; height: 630px; max-height: 74vh; border-radius: 37px; overflow: hidden; display: flex; flex-direction: column; }
.ilha { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 94px; height: 27px; border-radius: 14px; background: #000; z-index: 5; }
.status { height: 46px; display: flex; align-items: center; justify-content: space-between; padding: 6px 28px 0; font: 600 13px var(--corpo); flex-shrink: 0; }
.status svg { width: 42px; height: 12px; }
.ck { background: #f4f4f5; color: #18181b; }
.ck .status { color: #18181b; }
.ck__nav { display: flex; align-items: center; justify-content: space-between; padding: 8px 18px 12px; border-bottom: 1px solid #e4e4e7; background: #fff; flex-shrink: 0; }
.ck__nav b { font: 600 14px var(--display); letter-spacing: -0.02em; display: flex; align-items: center; gap: 8px; }
.ck__ini { width: 22px; height: 22px; border-radius: 6px; background: #18181b; color: #fff; display: grid; place-items: center; font: 600 12px var(--display); font-style: normal; }
.ck__nav span { font-size: 11px; color: #71717a; display: flex; align-items: center; gap: 4px; }
.ck__nav span svg { width: 11px; height: 11px; }
.ck__telas { position: relative; flex: 1; overflow: hidden; }
.ck__t { position: absolute; inset: 0; padding: 14px; transition: transform .7s var(--curva), opacity .5s; }
.ck__t[data-t="form"] { transform: translateX(0); }
.ck__t[data-t="pix"], .ck__t[data-t="ok"] { transform: translateX(105%); }
.ck[data-tela="pix"] .ck__t[data-t="form"] { transform: translateX(-30%); opacity: 0; }
.ck[data-tela="pix"] .ck__t[data-t="pix"] { transform: none; }
.ck[data-tela="ok"] .ck__t[data-t="form"] { transform: translateX(-30%); opacity: 0; }
.ck[data-tela="ok"] .ck__t[data-t="pix"] { transform: translateX(-30%); opacity: 0; }
.ck[data-tela="ok"] .ck__t[data-t="ok"] { transform: none; }
.ck__cx { background: #fff; border: 1px solid #e7e7ea; border-radius: 14px; padding: 12px; }
.ck__cx + .ck__cx { margin-top: 8px; }
.ck__prod { display: flex; gap: 10px; align-items: center; }
.ck__capa { width: 48px; height: 48px; border-radius: 11px; background: radial-gradient(circle at 30% 20%, #3f3f46, #09090b); display: grid; place-items: center; flex-shrink: 0; }
.ck__capa { color: #e4e4e7; } .ck__capa svg { width: 24px; height: 24px; }
.ck__prod b { display: block; font-size: 13px; line-height: 1.25; }
.ck__prod small { font-size: 11.5px; color: #71717a; }
.ck__prod .pr { margin-left: auto; font: 600 14px var(--display); white-space: nowrap; }
.ck__rot { font-size: 10.5px; font-weight: 600; color: #71717a; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.ck__campo { height: 36px; border-radius: 9px; border: 1px solid #d9d9de; display: flex; align-items: center; padding: 0 10px; font-size: 12.5px; color: #18181b; margin-bottom: 6px; transition: border-color .2s, box-shadow .2s; }
.ck__campo:last-child { margin-bottom: 0; }
.ck__campo.foco { border-color: #18181b; box-shadow: 0 0 0 3px rgb(24 24 27 / 8%); }
.ck__campo em { font-style: normal; color: #a1a1aa; }
.ck__campo .cur { width: 1px; height: 14px; background: #18181b; margin-left: 1px; animation: pisca 1s steps(1) infinite; }
.ck__met { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.ck__met span { height: 32px; border-radius: 8px; border: 1px solid #d9d9de; display: grid; place-items: center; font-size: 11.5px; font-weight: 500; color: #71717a; transition: all .3s; }
.ck__met span.on { border-color: #18181b; box-shadow: inset 0 0 0 1px #18181b; color: #18181b; }
.ck__bump { margin-top: 8px; display: flex; gap: 9px; padding: 10px; border-radius: 10px; border: 1.5px dashed #b4b4bb; transition: all .35s var(--curva); }
.ck__bump .cx { flex-shrink: 0; width: 17px; height: 17px; border-radius: 5px; border: 1.5px solid #8b8b93; display: grid; place-items: center; transition: all .25s; }
.ck__bump .cx svg { width: 10px; height: 10px; color: #fff; opacity: 0; }
.ck__bump b { display: block; font-size: 12px; }
.ck__bump small { display: block; font-size: 11px; color: #71717a; }
.ck__bump.on { border-style: solid; border-color: #18181b; background: #fafafa; transform: scale(1.02); }
.ck__bump.on .cx { background: #18181b; border-color: #18181b; }
.ck__bump.on .cx svg { opacity: 1; }
.ck__linha { display: flex; justify-content: space-between; font-size: 12px; color: #52525b; overflow: hidden; max-height: 20px; transition: max-height .4s var(--curva), opacity .4s; }
.ck__linha.fora { max-height: 0; opacity: 0; }
.ck__linha.desc { color: #15803d; }
.ck__total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 6px; padding-top: 8px; border-top: 1px solid #f0f0f2; }
.ck__total span { font-size: 12px; color: #52525b; }
.ck__total b { font: 600 22px var(--display); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.ck__btn { width: 100%; height: 44px; margin-top: 10px; border-radius: 11px; background: #18181b; color: #fff; font-weight: 600; font-size: 13.5px; display: flex; align-items: center; justify-content: center; gap: 8px; transition: transform .15s, background .2s; }
.ck__btn.aperta { transform: scale(.96); background: #000; }
.ck__btn svg { width: 13px; height: 13px; }
.pix { text-align: center; padding-top: 6px; }
.pix h5 { margin: 0; font: 600 17px var(--display); letter-spacing: -0.02em; }
.pix p { margin: 4px 0 0; font-size: 12px; color: #71717a; }
.pix__qr { width: 176px; height: 176px; margin: 16px auto 0; padding: 10px; background: #fff; border-radius: 14px; border: 1px solid #e7e7ea; position: relative; }
.pix__qr svg { width: 100%; height: 100%; }
.pix__qr img { position: absolute; left: 50%; top: 50%; width: 34px; height: 34px; margin: -17px 0 0 -17px; background: #0a0a0a; border-radius: 9px; padding: 5px; }
.pix__tempo { margin-top: 12px; display: inline-flex; align-items: center; gap: 8px; font: 500 12px var(--mono); padding: 6px 12px; border-radius: 999px; background: #18181b; color: #fff; }
.pix__cola { margin-top: 12px; display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 10px; background: #fff; border: 1px solid #e7e7ea; font: 10.5px var(--mono); color: #71717a; text-align: left; }
.pix__cola span { flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pix__cola b { font: 600 11px var(--corpo); color: #18181b; }
.pix__esp { margin-top: 14px; font-size: 11.5px; color: #71717a; display: flex; align-items: center; justify-content: center; gap: 8px; }
.pix__esp i { width: 12px; height: 12px; border-radius: 50%; border: 2px solid #d4d4d8; border-top-color: #18181b; animation: gira .8s linear infinite; }
.ok-tela { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 14px 40px; }
.ok-tela .sel { width: 74px; height: 74px; border-radius: 50%; background: #18181b; display: grid; place-items: center; box-shadow: 0 0 0 10px rgb(24 24 27 / 6%); }
.ok-tela .sel svg { width: 34px; height: 34px; color: #fff; stroke-dasharray: 30; stroke-dashoffset: 30; }
.ck[data-tela="ok"] .ok-tela .sel svg { transition: stroke-dashoffset .6s var(--curva) .35s; stroke-dashoffset: 0; }
.ok-tela h5 { margin: 18px 0 0; font: 600 20px var(--display); letter-spacing: -0.03em; }
.ok-tela p { margin: 6px 0 0; font-size: 12.5px; color: #71717a; line-height: 1.5; }
.ok-tela .recibo { margin-top: 18px; width: 100%; background: #fff; border: 1px solid #e7e7ea; border-radius: 12px; padding: 4px 12px; font-size: 12px; text-align: left; }
.ok-tela .recibo div { display: flex; justify-content: space-between; padding: 7px 0; }
.ok-tela .recibo div + div { border-top: 1px solid #f0f0f2; }
.ok-tela .recibo div:last-child { font-weight: 600; }
.tgm { background: #0f0f11; }
.tgm .status { color: #fff; background: #1a1a1d; }
.tg__topo { display: flex; align-items: center; gap: 10px; padding: 6px 12px 10px; background: #1a1a1d; border-bottom: 1px solid rgb(255 255 255 / 5%); flex-shrink: 0; }
.tg__topo .volta { font-size: 22px; line-height: 1; color: #fff; opacity: .9; padding: 0 4px; }
.tg__av { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(145deg, #5a5a60, #2a2a2e); display: grid; place-items: center; font: 600 15px var(--display); color: #fff; }
.tg__av img { width: 22px; }
.tg__topo b { display: block; font-size: 14px; }
.tg__topo small { font-size: 11.5px; color: var(--fraca); }
.tg__topo .pontos { margin-left: auto; display: grid; gap: 3px; padding: 4px; }
.tg__topo .pontos i { width: 3.5px; height: 3.5px; border-radius: 50%; background: #fff; opacity: .8; }
.tg__chat { flex: 1; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; gap: 5px; padding: 12px 10px 8px;
  background: radial-gradient(rgb(255 255 255 / 3%) 1px, transparent 1.2px) 0 0 / 14px 14px, linear-gradient(180deg, #121215, #0c0c0e); }
.b { max-width: 84%; padding: 7px 10px 5px; border-radius: 15px; font-size: 13px; line-height: 1.38; position: relative; transition: opacity .4s var(--curva), transform .4s var(--curva), max-height .45s var(--curva), margin .45s var(--curva), padding .45s var(--curva); max-height: 320px; }
.b:not(.on) { opacity: 0; transform: translateY(10px) scale(.98); max-height: 0; padding-top: 0; padding-bottom: 0; margin-top: -5px; overflow: hidden; }
.b.bot { align-self: flex-start; background: #1f1f23; border-bottom-left-radius: 5px; }
.b.eu { align-self: flex-end; background: #e9e9ec; color: #0a0a0a; border-bottom-right-radius: 5px; }
.b .h { display: flex; justify-content: flex-end; align-items: center; gap: 3px; font-size: 10px; opacity: .5; margin-top: 2px; font-variant-numeric: tabular-nums; }
.b .h svg { width: 15px; height: 9px; }
.b .qr { width: 150px; height: 150px; margin: 2px 0 6px; padding: 8px; background: #fff; border-radius: 10px; }
.b .qr svg { width: 100%; height: 100%; }
.b .card { margin-top: 6px; border-left: 2px solid #fff; padding: 2px 0 2px 9px; }
.b .card b { display: block; font-size: 12.5px; }
.b .card small { font-size: 11.5px; color: var(--fraca); }
.tecl { align-self: flex-start; width: 84%; display: grid; gap: 4px; margin-top: -1px; }
.tecl span { height: 32px; border-radius: 9px; background: rgb(255 255 255 / 9%); display: grid; place-items: center; font-size: 12px; font-weight: 500; transition: background .3s, transform .2s; }
.tecl span.aperta { background: rgb(255 255 255 / 24%); transform: scale(.97); }
.aviso-grupo { align-self: center; padding: 4px 11px; border-radius: 999px; background: rgb(255 255 255 / 8%); font-size: 11.5px; color: var(--tinta-2); }
.tg__entrada { display: flex; align-items: center; gap: 8px; padding: 8px 10px 22px; background: #1a1a1d; flex-shrink: 0; }
.tg__entrada div { flex: 1; height: 36px; border-radius: 18px; background: #0f0f11; display: flex; align-items: center; padding: 0 14px; font-size: 13px; color: var(--fraca); }
.tg__entrada span { width: 36px; height: 36px; border-radius: 50%; background: #fff; display: grid; place-items: center; color: #0a0a0a; }
.tg__entrada svg { width: 16px; height: 16px; }
.fecho { height: 290vh; }
.fecho__texto { max-width: 64rem; padding: 0 32px 0 72px; text-align: center; }
.fecho p { margin: 0; font: 600 clamp(2rem, 5vw, 4.3rem)/1.08 var(--display); letter-spacing: -0.05em; text-shadow: 0 10px 50px rgb(0 0 0 / 55%); }
.fecho p + p { margin-top: 22px; }
.fecho .w { opacity: .14; transition: opacity .3s linear; }
.fecho .w.on { opacity: 1; }
.fecho__cta { margin-top: 60px; display: grid; justify-items: center; gap: 22px; opacity: clamp(0, (var(--p, 0) - 0.64) / 0.1, 1); transform: translateY(calc((1 - clamp(0, (var(--p, 0) - 0.64) / 0.1, 1)) * 24px)); }
.fecho__cta small { font: 500 11.5px var(--mono); letter-spacing: .2em; text-transform: uppercase; color: var(--tinta-2); }
.botao { position: relative; display: inline-flex; align-items: center; justify-content: center; height: 58px; padding: 0 36px; border-radius: 999px; font: 600 15.5px/1 var(--corpo); background: #fff; color: #0a0a0a; overflow: hidden; will-change: transform; }
.botao span { position: relative; z-index: 1; transition: color .45s var(--curva); }
.botao::before { content: ''; position: absolute; inset: 0; background: #0a0a0a; border-radius: inherit; transform: translateY(101%); transition: transform .55s var(--curva); }
.botao:hover { box-shadow: 0 0 0 1px #fff; }
.botao:hover::before { transform: none; }
.botao:hover span { color: #fff; }
.popup { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; align-content: center; gap: 56px; padding: 90px 24px 60px; }
.popup[hidden] { display: none; }
.popup__cortina { position: absolute; inset: 0; background: radial-gradient(80% 70% at 50% 45%, rgb(14 14 15 / 94%), rgb(3 3 3 / 98%)); clip-path: inset(100% 0 0 0); transition: clip-path .9s var(--curva-forte); }
.popup.aberto .popup__cortina { clip-path: inset(0 0 0 0); }
.popup.saindo .popup__cortina { clip-path: inset(0 0 100% 0); }
.popup__fechar { position: absolute; top: 26px; right: 32px; z-index: 1; display: flex; align-items: center; gap: 12px; font: 500 12px var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--tinta-2); opacity: 0; transition: opacity .4s, color .3s; }
.popup__fechar i { position: relative; width: 16px; height: 16px; }
.popup__fechar i::before, .popup__fechar i::after { content: ''; position: absolute; left: 0; top: 50%; width: 16px; height: 1px; background: currentColor; transform: rotate(45deg); transition: transform .4s var(--curva); }
.popup__fechar i::after { transform: rotate(-45deg); }
.popup__fechar:hover { color: #fff; }
.popup__fechar:hover i::before { transform: rotate(135deg); } .popup__fechar:hover i::after { transform: rotate(45deg); }
.popup__rot { position: relative; margin: 0; font: 500 12px var(--mono); letter-spacing: .22em; text-transform: uppercase; color: var(--tinta-2); opacity: 0; transform: translateY(12px); transition: opacity .6s .35s, transform .8s var(--curva) .35s; }
.popup__lista { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 4vw, 64px); width: min(1180px, 100%); }
.popup__op { display: grid; justify-items: center; text-align: center; gap: 8px; opacity: 0; transform: translateY(40px); transition: opacity .8s var(--curva), transform 1s var(--curva); transition-delay: calc(var(--d) + .25s); }
.popup__op img { width: 100%; height: auto; max-width: 340px; margin-bottom: 18px; filter: drop-shadow(0 30px 40px rgb(0 0 0 / 70%)); transition: transform .6s var(--curva), filter .6s; }
.popup__op span { font: 500 13px var(--mono); letter-spacing: .08em; color: var(--tinta); }
.popup.aberto .popup__op, .popup.aberto .popup__rot, .popup.aberto .popup__fechar { opacity: 1; transform: none; }
.popup__lista:hover .popup__op:not(:hover) { opacity: .28; transition-delay: 0s; }
.popup__op:hover img { transform: scale(1.05) translateY(-6px); filter: drop-shadow(0 40px 50px rgb(0 0 0 / 80%)) brightness(1.12); }
.popup.saindo .popup__op, .popup.saindo .popup__rot, .popup.saindo .popup__fechar { opacity: 0; transition-delay: 0s; transition-duration: .3s; }
@media (max-width: 760px) { .popup { gap: 32px; } .popup__lista { grid-template-columns: 1fr; gap: 28px; } .popup__op img { max-width: 210px; margin-bottom: 8px; } }
.rodape { position: relative; z-index: 1; width: calc(100% - 48px); max-width: 1152px; margin: 0 auto; padding: 56px 32px 64px; border-radius: 48px 48px 0 0;
  background: radial-gradient(35% 128px at 50% 0%, rgb(255 255 255 / 9%), transparent), linear-gradient(180deg, rgb(12 12 13 / 55%), rgb(5 5 5 / 85%));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 14%), inset 1px 0 0 rgb(255 255 255 / 5%), inset -1px 0 0 rgb(255 255 255 / 5%); }
.rodape::before { content: ''; position: absolute; left: 12%; right: 12%; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgb(255 255 255 / 55%) 50%, transparent); }
.rodape__luz { position: absolute; top: 0; left: 50%; width: 33%; height: 1px; transform: translate(-50%, -50%); border-radius: 999px; background: rgb(255 255 255 / 30%); filter: blur(4px); }
.rodape__grade { display: grid; grid-template-columns: 1fr 2fr; gap: 32px; }
.rodape__marca img { height: 34px; width: auto; }
.rodape__marca p { margin: 22px 0 0; font-size: 13.5px; color: var(--fraca); }
.rodape__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.rodape h3 { margin: 0; font: 500 12px var(--corpo); color: var(--tinta); }
.rodape ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; font-size: 14px; color: var(--fraca); }
.rodape ul a { display: inline-flex; align-items: center; gap: 6px; transition: color .3s; }
.rodape ul a:hover { color: var(--tinta); }
.rodape ul svg { width: 16px; height: 16px; }
.aparece { opacity: 0; transform: translateY(-8px); filter: blur(4px); transition: opacity .8s, transform .8s, filter .8s; transition-delay: var(--d, 0s); }
.aparece.dentro { opacity: 1; transform: none; filter: none; }
@media (max-width: 900px) { .rodape__grade { grid-template-columns: 1fr; gap: 40px; } .rodape { border-radius: 32px 32px 0 0; padding: 44px 24px 48px; width: calc(100% - 24px); } }
@media (max-width: 520px) { .rodape__cols { grid-template-columns: 1fr 1fr; } }
@media (max-height: 760px) and (min-width: 901px) {
  .cap__visual { zoom: .82; }
  .cap__logo { width: min(340px, 100%); }
  .cap__frase { font-size: clamp(1.4rem, 2.4vw, 2rem); margin-top: 18px; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .tela__grade { grid-template-columns: 1fr 1fr; padding: 60px 24px 12px 40px; align-content: center; }
  .cap__visual { zoom: .55; }
  .cap__detalhe { display: none; }
  .ano { font-size: 34vh; }
}
@media (max-width: 900px) and (orientation: portrait) {
  .tela__grade { padding-top: 78px; }
  .cap__logo { width: min(200px, 56vw); }
  .cap__frase { font-size: 1.2rem; }
  .cap__visual { zoom: 1; }
  .cel__tela { height: clamp(230px, calc(100svh - 350px), 470px); max-height: none; border-radius: 31px; }
  .celular { width: min(250px, 70vw); border-radius: 38px; padding: 8px; }
    .ck__t { padding: 10px; }
}
@media (max-width: 900px) and (max-height: 700px) and (orientation: portrait) { .cap__logo { width: min(160px, 46vw); } .cap__frase { font-size: 1.05rem; margin-top: 8px; } .tela__grade { padding-top: 70px; gap: 12px; } .cel__tela { height: clamp(220px, calc(100svh - 300px), 420px); } }
@media (max-width: 380px) { .popup { overflow-y: auto; overscroll-behavior: contain; align-content: safe center; }
html.popup-aberto, html.popup-aberto body { overflow: hidden; }
.popup__fechar { position: fixed; }
@media (any-pointer: coarse) { .popup__fechar { min-height: 44px; min-width: 44px; padding: 0 6px; top: 16px; right: 16px; } }
.popup__rot { position: sticky; top: 0; z-index: 1; }
@media (max-width: 760px) and (max-height: 760px) and (orientation: portrait) {
  .popup { padding: 72px 24px 28px; gap: 22px; }
  .popup__lista { gap: 18px; }
  .popup__op img { max-width: min(210px, calc((100svh - 300px) / 3 * 1.38)); }
}
@media (max-height: 520px) and (orientation: landscape) {
  .popup { padding: 64px 24px 20px; gap: 18px; }
  .popup__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .popup__op img { max-width: min(210px, calc((100svh - 150px) * 1.38)); margin-bottom: 6px; }
}
@media (min-width: 901px) {
  .tela__grade { padding-left: max(110px, calc(184px - max(0px, (100vw - 1300px) / 2))); }
}
html.sem-metal #metal { display: none; }
html.sem-metal body { background: radial-gradient(80% 60% at 50% 40%, #1a1a1a, #050505) fixed; }
html.sem-metal .abertura h1 { text-shadow: none; }
.ck__t[data-t="form"] > * { transform: translateY(calc(var(--rola, 0) * -1px)); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; transition-duration: 1ms !important; }
  .mascara > span { transform: none !important; }
}
