.bgwrap{position:relative;background:#070707;isolation:isolate}
.bgwrap>section{position:relative;z-index:1}
.cable{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background-repeat:repeat-y;background-size:100% auto;background-position:center top}
.cable svg{position:absolute;left:0;top:0}
.intro{position:relative;height:200vh;background:transparent}
.intro .stage{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.intro .sq{position:absolute;left:50%;top:50%;width:80px;height:80px;margin:-40px 0 0 -40px;background:var(--accent);will-change:transform;transform:scale(0)}
.intro .ic{position:relative;z-index:2;width:100%;padding:0 var(--pad);color:#fff;--line:rgba(255,255,255,.22);--mute:rgba(255,255,255,.7);opacity:0}
.intro .igrad{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.38) 100%);opacity:0;pointer-events:none}
.intro .cable2{position:absolute;left:0;top:0;right:0;z-index:1;pointer-events:none;will-change:transform}
.intro .ic{--accent:#b8a4ff}
.cable .abg{position:absolute;left:0;right:0;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 62%,#000) 0%,color-mix(in srgb,var(--brand) 30%,transparent) 55%,rgba(7,7,7,0) 100%)}
.intro .ic .ast,.intro .ic .v sup{color:#b8a4ff}
.nums{text-align:left}
.nums .head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;margin-bottom:clamp(40px,7vh,80px)}
.nums .head .ast{font-size:clamp(40px,5vw,70px);line-height:.6;color:var(--accent);font-weight:900}
.nums h2{font-size:clamp(40px,7vw,120px);font-weight:900;font-variation-settings:'wdth' 72;line-height:.88;text-transform:uppercase;max-width:14ch}
.ngrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.ngrid .n{padding:26px 22px 30px 0;border-right:1px solid var(--line)}
.ngrid .n:last-child{border-right:0}
.ngrid .n+.n{padding-left:22px}
.ngrid .v{font-size:clamp(56px,8.4vw,140px);font-weight:900;font-variation-settings:'wdth' 70;line-height:.85;letter-spacing:-.02em;display:flex;align-items:flex-start}
.ngrid .v sup{font-size:.38em;color:var(--accent);margin-left:4px;margin-top:.12em}
.ngrid .l{margin-top:16px}
/* contraste: as legendas ficam sobre o azul claro do fundo (antes 70% de opacidade, ~3:1) */
.intro .ic .ngrid .l{color:#fff;text-shadow:0 1px 10px rgba(0,12,70,.5)}
.ngrid .sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:1000px){
.ngrid{grid-template-columns:repeat(2,1fr)}
.ngrid .n:nth-child(2){border-right:0}
.ngrid .n:nth-child(3){padding-left:0}
.ngrid .n:nth-child(n+3){border-top:1px solid var(--line)}
.intro{height:180vh}
}
/* --- antes injetado pelo app.js --- */
#sq.fxsq{position:fixed;inset:0;left:0;top:0;width:100%;height:100%;margin:0;z-index:45;pointer-events:none;border:0;border-radius:0;aspect-ratio:auto;-webkit-backdrop-filter:none;backdrop-filter:none;display:block;overflow:hidden;visibility:hidden;transition:none;transform:none;clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%)}
.intro .stage.full{background:#000}
.intro .ic{transition:opacity .45s ease,transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}
.intro .ic.on{opacity:1;transform:none}
.intro .igrad{transition:none}
.intro .igrad,.cable .abg,#sq.fxsq{background-color:#000}
.intro .igrad,#sq.fxsq{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(42% 30% at 14% 34%,rgba(150,190,210,.22),rgba(150,190,210,0) 70%),radial-gradient(55% 34% at 86% 70%,rgba(70,120,150,.18),rgba(70,120,150,0) 72%),radial-gradient(120% 60% at 50% 104%,rgba(225,240,255,.95) 0%,rgba(140,195,255,.75) 18%,rgba(40,110,235,.55) 38%,rgba(10,40,170,0) 70%),linear-gradient(180deg,#000 0%,#01020a 26%,#020b3c 52%,#0729a0 74%,#1e66e0 90%,#5aa6ff 100%);background-size:220px 220px,auto,auto,auto,auto;background-blend-mode:soft-light,normal,normal,normal,normal}
.intro .igrad::after,.cable .abg::after,#sq.fxsq::after{content:'';position:absolute;left:50%;width:min(170vw,2200px);aspect-ratio:1;margin-left:calc(min(170vw,2200px)/-2);border-radius:50%;pointer-events:none;background:repeating-radial-gradient(circle,rgba(255,255,255,0) 0,rgba(255,255,255,0) 54px,rgba(255,255,255,.55) 55.2px,rgba(255,255,255,.08) 58px,rgba(255,255,255,0) 66px,rgba(255,255,255,0) 96px);-webkit-mask-image:radial-gradient(circle,#000 0,rgba(0,0,0,.9) 24%,rgba(0,0,0,.35) 42%,transparent 60%);mask-image:radial-gradient(circle,#000 0,rgba(0,0,0,.9) 24%,rgba(0,0,0,.35) 42%,transparent 60%);opacity:.38;mix-blend-mode:screen;animation:ringp 7s ease-in-out infinite alternate}
.intro .igrad::after,#sq.fxsq::after{top:100%;transform-origin:50% 50%;translate:0 -50%}
.cable .abg::after{top:0;translate:0 -50%}
.intro .igrad{overflow:hidden}
.cable .abg{overflow:hidden;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(50% 22% at 82% 30%,rgba(150,190,210,.16),rgba(150,190,210,0) 70%),radial-gradient(45% 20% at 12% 62%,rgba(70,120,150,.16),rgba(70,120,150,0) 72%),radial-gradient(120% 22% at 50% -4%,rgba(225,240,255,.9) 0%,rgba(140,195,255,.7) 25%,rgba(40,110,235,.45) 55%,rgba(10,40,170,0) 100%),linear-gradient(180deg,#5aa6ff 0%,#1e66e0 7%,#0729a0 20%,#041a78 42%,#020b3c 72%,#01020a 90%,#070707 100%);background-size:220px 220px,auto,auto,auto,auto;background-blend-mode:soft-light,normal,normal,normal,normal}
@keyframes ringp{from{scale:1}to{scale:1.06}}
.intro .igrad:not(.on)::after{animation-play-state:paused}
.intro .igrad.on{opacity:1}
