:root{
  --bg:#090C12; --bg2:#0D121A; --fg:#EEF3FA; --muted:#9AA9C2; --neon:#22B8FF; --neon2:#2F6BFF; --alert:#FF6A13;
  --line:rgba(94,176,255,.2); --line2:rgba(94,176,255,.45); --glass:rgba(255,255,255,.045); --wa:#25D366;
  --hdr:64px; --hud:"Chakra Petch",ui-monospace,"SFMono-Regular",Menlo,monospace;
  color-scheme:dark;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--hdr) + 8px)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:"Archivo","Arial",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%}
a{color:var(--neon)}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--neon);outline-offset:3px;border-radius:4px}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.display{font-family:"Archivo","Arial Black",Impact,sans-serif;font-stretch:125%;font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:1.02}
.hudtxt{font-family:var(--hud);letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--hud);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--neon)}
.eyebrow::before{content:"";width:9px;height:9px;background:var(--neon);box-shadow:0 0 10px var(--neon);transform:skewX(-20deg)}
.neon{color:var(--neon);text-shadow:0 0 24px rgba(34,184,255,.55)}
.ic{flex:none}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--neon),transparent);box-shadow:0 0 16px rgba(34,184,255,.7);opacity:.7}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 24px;border-radius:6px;text-decoration:none;font-family:var(--hud);font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;line-height:1.1;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s}
.btn--main{background:var(--neon);color:#031019;box-shadow:0 0 0 1px rgba(34,184,255,.7),0 8px 30px rgba(34,184,255,.35)}
.btn--main:hover{transform:translateY(-2px);background:#58CCFF;box-shadow:0 0 0 1px #58CCFF,0 12px 40px rgba(34,184,255,.55)}
.btn--ghost{border-color:var(--line2);color:var(--fg);background:var(--glass)}
.btn--ghost:hover{border-color:var(--neon);background:rgba(34,184,255,.12);transform:translateY(-2px)}
.btn--wa{background:var(--wa);color:#04210F;box-shadow:0 8px 30px rgba(37,211,102,.28)}
.btn--wa:hover{transform:translateY(-2px);background:#43E883}
.btn--sm{min-height:42px;padding:8px 16px;font-size:13px}

/* topo e menu */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;height:var(--hdr);background:rgba(9,12,18,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr__in{height:100%;display:flex;align-items:center;gap:28px}
.logo{display:block;margin-right:auto}
.logo img{height:32px;width:auto;display:block}
.nav{display:flex;gap:26px}
.nav a{color:#CFDCF2;text-decoration:none;font-family:var(--hud);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover{color:#fff;border-bottom-color:var(--neon)}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line2);border-radius:8px;background:var(--glass);color:#fff;place-items:center;cursor:pointer}
.menu-btn .i-close{display:none}
body.menu-open .menu-btn .i-close{display:block}
body.menu-open .menu-btn .i-menu{display:none}
.mnav{position:fixed;left:0;right:0;bottom:0;top:calc(var(--hdr) + env(safe-area-inset-top,0px));z-index:55;background:rgba(7,10,15,.97);display:none;flex-direction:column;padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px));gap:4px;overflow:auto}
.mnav a:not(.btn){display:block;padding:14px 0;border-bottom:1px solid var(--line);color:#fff;text-decoration:none;font-family:"Archivo",sans-serif;font-stretch:125%;font-style:italic;font-weight:900;font-size:28px;text-transform:uppercase}
.mnav .btn{margin-top:22px}
body.menu-open{overflow:hidden}
body.menu-open .mnav{display:flex}
@media(max-width:860px){.nav{display:none}.menu-btn{display:grid}}
@media(max-width:620px){.hdr__cta{display:none}}

/* hero */
.hero{position:relative;overflow:clip;color:#fff;background:radial-gradient(ellipse 70% 55% at 72% 92%,rgba(34,184,255,.25),transparent 62%),linear-gradient(180deg,#05070B 0%,#0A1220 52%,#0C2146 100%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--neon),transparent);box-shadow:0 0 18px var(--neon);z-index:3}
.hero__grid{position:absolute;inset:-8% 0 0;background:linear-gradient(rgba(34,184,255,.11) 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,rgba(34,184,255,.11) 1px,transparent 1px) 0 0/56px 56px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 38%,transparent 96%);mask-image:linear-gradient(180deg,transparent 0,#000 38%,transparent 96%)}
.streak{position:absolute;left:0;height:2px;width:240px;background:linear-gradient(90deg,transparent,rgba(34,184,255,.9),transparent);opacity:.7;animation:streak 2.6s linear infinite}
@keyframes streak{from{transform:translateX(110vw)}to{transform:translateX(-40vw)}}
@keyframes streakr{from{transform:translateX(-40vw)}to{transform:translateX(110vw)}}
.hero .streak{animation-name:streakr}
.streak:nth-of-type(1){top:30%;animation-delay:-.4s}
.streak:nth-of-type(2){top:46%;animation-delay:-1.3s;width:160px;animation-duration:2s}
.streak:nth-of-type(3){top:62%;animation-delay:-2s;width:300px;animation-duration:3.1s}
.streak:nth-of-type(4){top:20%;animation-delay:-.9s;width:120px;animation-duration:1.9s}
.hero__text{position:relative;z-index:2;padding:36px 0 0}
.hero h1{margin:14px 0 12px;font-size:clamp(44px,8.6vw,104px);line-height:.95;background:linear-gradient(180deg,#fff 25%,#9BDCFF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(34,184,255,.35))}
.tagline{max-width:32em;margin-bottom:14px;font-stretch:112%;font-style:italic;font-weight:800;font-size:clamp(20px,2.7vw,32px);line-height:1.15}
.lead{max-width:40em;margin-bottom:22px;color:#C3D2EA;font-size:clamp(16px,1.9vw,19px)}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.scene{position:relative;margin-top:-4px}
.scene svg{display:block;width:min(1200px,100%);height:auto;margin-inline:auto;overflow:visible}
@media(max-width:760px){.scene svg{width:165%;max-width:none;margin-left:-32.5%}}
.hull-txt{font-family:"Archivo","Arial Black",sans-serif;font-style:italic;font-weight:900;font-size:21px;fill:#F2F5FA;letter-spacing:.5px}
.hud-svg text{font-family:"Chakra Petch",ui-monospace,monospace;font-weight:600;font-size:17px;letter-spacing:2px;fill:#BFEAFF;paint-order:stroke;stroke:#05101F;stroke-width:5px;stroke-linejoin:round}
.w-far{animation:wv 9s linear infinite;--p:500px}
.w-mid{animation:wv 3.4s linear infinite;--p:340px}
.w-near{animation:wv 1.7s linear infinite;--p:240px}
@keyframes wv{to{transform:translateX(var(--p))}}
.ride{transform-origin:260px 190px;animation:ride 2.4s ease-in-out infinite}
.ride2{transform-origin:500px 250px;animation:ride2 2.4s ease-in-out infinite}
@keyframes ride2{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-9px) rotate(1.8deg)}50%{transform:translateY(3px) rotate(-.8deg)}75%{transform:translateY(-5px) rotate(1deg)}}
@keyframes ride{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-9px) rotate(-1.8deg)}50%{transform:translateY(3px) rotate(.8deg)}75%{transform:translateY(-5px) rotate(-1deg)}}
.jaw{transform-origin:256px 38px;animation:jaw .6s ease-in-out infinite}
@keyframes jaw{0%,100%{transform:rotate(0)}50%{transform:rotate(9deg)}}
.head{transform-origin:250px 44px;animation:nod 2.4s ease-in-out infinite}
@keyframes nod{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}}
.sp,.sb{fill:#fff;opacity:0}
.sp{animation:sp 1s linear infinite}
@keyframes sp{0%{transform:translate(0,0);opacity:0}10%{opacity:.9}45%{transform:translate(36px,-32px)}100%{transform:translate(110px,16px) scale(.4);opacity:0}}
.sb{animation:sb 1s linear infinite}
@keyframes sb{0%{transform:translate(0,0);opacity:0}10%{opacity:.9}45%{transform:translate(-22px,-26px)}100%{transform:translate(-56px,12px) scale(.4);opacity:0}}
.wake{animation:wake 1.2s ease-in-out infinite alternate;transform-origin:740px 360px}
@keyframes wake{from{opacity:.9;transform:scaleX(1)}to{opacity:.6;transform:scaleX(.94)}}
.sl{stroke:#9BDCFF;stroke-width:2.5;stroke-linecap:round;opacity:0;animation:sl 1.2s linear infinite}
@keyframes sl{0%{transform:translateX(-760px);opacity:0}80%{opacity:.5}100%{transform:translateX(260px);opacity:0}}
.hud{position:absolute;z-index:2;top:4%;min-width:184px;padding:12px 14px;font-family:var(--hud);text-transform:uppercase;background:rgba(9,12,18,.62);border:1px solid var(--line2);border-radius:6px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hud::before,.hud::after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--neon)}
.hud::before{top:-2px;left:-2px;border-right:0;border-bottom:0}
.hud::after{bottom:-2px;right:-2px;border-left:0;border-top:0}
.hud--r{right:max(20px,calc((100% - 1180px)/2))}
.hud--l{left:max(20px,calc((100% - 1180px)/2))}
.hud dl{display:grid;gap:10px;margin:0}
.hud dt{font-size:11px;letter-spacing:.16em;color:var(--muted)}
.hud dd{margin:0;font-size:24px;font-weight:700;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.hud dd small{margin-left:5px;font-size:11px;letter-spacing:.1em;color:var(--neon)}
.hud ul{display:grid;gap:9px;font-size:12px;letter-spacing:.14em;font-weight:600}
.hud li{display:flex;align-items:center;gap:10px}
.hud li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--neon);box-shadow:0 0 10px var(--neon);animation:blink 2s ease-in-out infinite}
.hud li:nth-child(2)::before{animation-delay:-.7s}
.hud li:nth-child(3)::before{animation-delay:-1.3s}
@keyframes blink{50%{opacity:.35}}
@media(max-width:760px){
  .hud{position:static;margin:0 20px 14px;min-width:0}
  .hud--l{display:none}
  .hud dl{grid-template-columns:repeat(3,1fr);gap:8px}
  .hud dd{font-size:19px}
    .streak:nth-of-type(n+3){display:none}
}

/* seções */
.sec{position:relative;padding:100px 0}
.sec--alt{background:var(--bg2)}
.sec-head{max-width:46em;margin-bottom:46px}
.sec-head h2,.h2{margin:14px 0 16px;font-size:clamp(28px,4.6vw,56px)}
.sec-head p{color:var(--muted);max-width:40em}
@media(max-width:700px){.sec{padding:68px 0}}

/* sobre */
.about__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,400px);gap:64px;align-items:center}
.about p{max-width:36em;margin-bottom:16px;color:#C9D6EC}
.about .eyebrow{margin-bottom:0}
.badge{display:inline-flex;align-items:center;gap:16px;margin:10px 0 24px;padding:14px 20px 14px 16px;border:1px solid var(--line2);border-radius:8px;background:linear-gradient(135deg,rgba(34,184,255,.18),rgba(34,184,255,.04));box-shadow:0 0 34px rgba(34,184,255,.12)}
.badge b{font-family:"Archivo",sans-serif;font-stretch:125%;font-style:italic;font-weight:900;font-size:36px;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--neon)}
.badge span{font-family:var(--hud);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;line-height:1.3}
.owner{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.owner h3{font-family:var(--hud);font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--neon);margin-bottom:8px}
.owner p{margin-bottom:0}
.frame{position:relative;margin:0;padding:8px;border:1px solid var(--line2);border-radius:6px;background:var(--glass)}
.frame::before,.frame::after{content:"";position:absolute;width:30px;height:30px;border:3px solid var(--neon);filter:drop-shadow(0 0 6px var(--neon))}
.frame::before{top:-7px;left:-7px;border-right:0;border-bottom:0}
.frame::after{bottom:-7px;right:-7px;border-left:0;border-top:0}
.frame img{display:block;width:100%;height:auto;border-radius:3px}
.frame figcaption{padding:12px 4px 4px;font-family:var(--hud);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
@media(max-width:860px){.about__grid{grid-template-columns:1fr;gap:40px}.frame{max-width:380px;order:-1}}

/* cards */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.card{position:relative;grid-column:span 6;padding:30px 28px 26px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(155deg,rgba(34,184,255,.11),rgba(255,255,255,.03) 38%,rgba(255,255,255,.02));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s}
.card::before{content:"";position:absolute;top:0;left:0;width:34px;height:34px;border-top:2px solid var(--neon);border-left:2px solid var(--neon);border-top-left-radius:12px;opacity:.9}
.card:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:0 0 44px rgba(34,184,255,.14)}
.card .ico{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border:1px solid var(--line2);border-radius:10px;color:var(--neon);background:rgba(34,184,255,.08);box-shadow:inset 0 0 18px rgba(34,184,255,.12)}
.card h3{margin-bottom:16px;font-size:clamp(20px,2.3vw,26px)}
.card li{position:relative;padding:7px 0 7px 22px;color:#CFDCF2;border-top:1px solid rgba(94,176,255,.1)}
.card li::before{content:"";position:absolute;left:0;top:17px;width:10px;height:2px;background:var(--neon);box-shadow:0 0 8px var(--neon)}
.card .more{display:inline-flex;margin-top:18px;font-family:var(--hud);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.card .more:hover{text-decoration:underline;text-underline-offset:5px}
.card--c5{grid-column:span 5}.card--c7{grid-column:span 7}
.card--ibr{grid-column:span 12;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;align-items:center;padding:36px 34px;border-color:var(--line2);background:radial-gradient(ellipse 60% 90% at 90% 50%,rgba(34,184,255,.22),transparent 70%),linear-gradient(155deg,rgba(34,184,255,.14),rgba(255,255,255,.03) 45%)}
.card--ibr h3{font-size:clamp(26px,3.6vw,44px);margin:10px 0 12px}
.card--ibr .lead2{margin-bottom:18px;color:#D3E0F5;max-width:30em}
.flag{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--alert);border-radius:4px;color:#FFB27F;font-family:var(--hud);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,106,19,.1)}
.flag .ic{width:16px;height:16px}
.card--ibr .eyebrow{display:flex}
.ibr-art{position:relative;aspect-ratio:440/300;border:1px solid var(--line);border-radius:10px;background:linear-gradient(rgba(34,184,255,.07) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(34,184,255,.07) 1px,transparent 1px) 0 0/28px 28px,rgba(5,8,14,.6)}
.ibr-art svg{position:absolute;inset:0;width:100%;height:100%}
.gate{transform-origin:268px 104px;animation:gate 4s ease-in-out infinite}
@keyframes gate{0%,45%{transform:rotate(-34deg)}60%,100%{transform:rotate(0)}}
.glow{filter:drop-shadow(0 0 5px rgba(34,184,255,.8))}
.glow-o{filter:drop-shadow(0 0 5px rgba(255,106,19,.8))}
.flow{stroke-dasharray:10 7;animation:flow .45s linear infinite}
@keyframes flow{to{stroke-dashoffset:-17}}
.wire{stroke-dasharray:6 9;animation:wire 1.2s linear infinite}
@keyframes wire{to{stroke-dashoffset:-30}}
@media(max-width:900px){.card,.card--c5,.card--c7{grid-column:span 12}.card--ibr{grid-template-columns:1fr}}

/* áudio */
.audio{position:relative;overflow:clip;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(47,107,255,.28),transparent 70%),linear-gradient(180deg,#0A0E16,#0B1424)}
.audio__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.audio h2{margin:14px 0 16px;font-size:clamp(34px,6vw,76px)}
.audio p{max-width:30em;color:#C9D6EC;margin-bottom:22px}
.audio li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-family:var(--hud);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:14px}
.audio li .ic{color:var(--neon)}
.speaker{position:relative;aspect-ratio:4/3;border:1px solid var(--line2);border-radius:14px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(34,184,255,.2),transparent 62%),rgba(5,8,14,.7);box-shadow:0 0 60px rgba(34,184,255,.15)}
.speaker>svg{position:absolute;inset:0;width:100%;height:100%}
.wave-arcs path{animation:arc 1.6s ease-in-out infinite;opacity:.9}
.wave-arcs path:nth-child(even){animation-delay:-.5s}
@keyframes arc{0%,100%{opacity:.25}50%{opacity:1}}
.eq{position:absolute;left:6%;right:6%;bottom:6%;height:26%;display:flex;align-items:flex-end;gap:3%}
.eq i{flex:1;height:100%;background:linear-gradient(180deg,var(--neon),var(--neon2));border-radius:2px;transform-origin:bottom;animation:eq 1s ease-in-out infinite;box-shadow:0 0 10px rgba(34,184,255,.55)}
@keyframes eq{0%,100%{transform:scaleY(.15)}50%{transform:scaleY(1)}}
@media(max-width:860px){.audio__grid{grid-template-columns:1fr;gap:34px}}

/* palco e pontos */
.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center}
.split p{color:#C9D6EC;max-width:30em;margin-bottom:18px}
.note{font-family:var(--hud);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.stagebox{position:relative;padding:54px 20px;border:1px solid var(--line2);border-radius:14px;background:linear-gradient(rgba(34,184,255,.07) 1px,transparent 1px) 0 0/34px 34px,linear-gradient(90deg,rgba(34,184,255,.07) 1px,transparent 1px) 0 0/34px 34px,radial-gradient(ellipse at 50% 55%,rgba(34,184,255,.14),transparent 70%),rgba(5,8,14,.72);overflow:visible}
.stagebox .ski{position:relative}
.stagebox .ski>svg{display:block;width:100%;height:auto}
.pt{position:absolute;left:var(--x);top:var(--y);z-index:3;opacity:0;transition:opacity .45s}
.pt.on{opacity:1}
.pt i{position:relative;display:block;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid var(--neon);background:rgba(9,12,18,.8);box-shadow:0 0 12px var(--neon)}
.pt i::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid var(--neon);animation:ping 1.7s ease-out infinite}
@keyframes ping{from{transform:scale(.5);opacity:.9}to{transform:scale(1.5);opacity:0}}
.pt span{position:absolute;left:0;translate:var(--lx,-50%) 0;display:grid;gap:1px;padding:4px 8px;white-space:nowrap;background:rgba(9,12,18,.92);border:1px solid var(--line2);border-radius:4px;font-family:var(--hud);text-transform:uppercase;letter-spacing:.1em}
.pt b{font-size:clamp(10px,1.4vw,12px);color:#fff}
.pt em{font-style:normal;font-size:clamp(9px,1.2vw,10.5px);color:var(--neon)}
.pt .e-al{display:none}
.pt--up span{bottom:30px}
.pt--down span{top:30px}
.pt--up::before,.pt--down::before{content:"";position:absolute;left:0;width:1px;height:24px;background:var(--line2)}
.pt--up::before{bottom:6px}
@media(max-width:620px){.pt:not(.pt--alert) em{display:none}.pt span{padding:3px 6px}.pt b{font-size:9.5px}.pt--up span{bottom:34px}}
.pt--down::before{top:6px}
.pt--alert i,.pt.alert i{border-color:var(--alert);box-shadow:0 0 12px var(--alert)}
.pt--alert i::after,.pt.alert i::after{border-color:var(--alert)}
.pt--alert span,.pt.alert span{border-color:var(--alert)}
.pt--alert em,.pt.alert em{color:#FFB27F}
.pt.alert .e-ok{display:none}
.pt.alert .e-al{display:block}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:34px}.stagebox{padding:50px 12px}}

/* scanner */
.scanwrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:20px}
.scan{position:relative;overflow:hidden;padding:54px 20px}
.beam{position:absolute;top:0;bottom:0;left:0;width:2px;z-index:4;background:var(--neon);box-shadow:0 0 18px 6px rgba(34,184,255,.55);opacity:0;transition:opacity .3s}
.beam::before{content:"";position:absolute;right:0;top:0;bottom:0;width:110px;background:linear-gradient(90deg,transparent,rgba(34,184,255,.2))}
.scan.run .beam{opacity:1}
.readout{padding:22px 20px;border:1px solid var(--line2);border-radius:14px;background:linear-gradient(155deg,rgba(34,184,255,.1),rgba(255,255,255,.03));display:flex;flex-direction:column}
.readout h3{font-family:var(--hud);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--neon);margin-bottom:14px}
.readout ul{display:grid;gap:0;flex:1;align-content:start}
.readout li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-family:var(--hud);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.28;transition:opacity .4s}
.readout li.on{opacity:1}
.readout li em{font-style:normal;color:var(--neon)}
.readout li .e-al{display:none}
.readout li.alert em{color:#FFB27F}
.readout li.alert .e-ok{display:none}
.readout li.alert .e-al{display:inline}
.readout li.final{border-top-color:var(--alert);color:#FFB27F}
.readout li.final em{color:#FFB27F}
.readout .note{margin-top:14px}
@media(max-width:900px){.scanwrap{grid-template-columns:1fr}}

/* especialização */
.spec{position:relative;overflow:clip;padding:130px 0 120px;background:linear-gradient(180deg,#070A10,#0B1830 60%,#070A10)}
.spec__4t{position:absolute;right:-3%;top:50%;margin-top:-.52em;font-family:"Archivo",sans-serif;font-stretch:125%;font-style:italic;font-weight:900;font-size:clamp(240px,46vw,620px);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(34,184,255,.3);pointer-events:none;user-select:none}
.spec h2{position:relative;font-size:clamp(34px,9.4vw,128px);line-height:.94;margin:18px 0 28px}
.spec h2 .neon{display:block}
.spec p.big{position:relative;max-width:26em;font-stretch:112%;font-style:italic;font-weight:800;font-size:clamp(20px,2.8vw,34px);line-height:1.2}
.spec p.big span{color:var(--neon)}
.spec .note{position:relative;display:block;margin-top:22px}
.spec .lines{position:absolute;inset:0;pointer-events:none}
.spec .lines i{position:absolute;left:0;height:2px;width:280px;background:linear-gradient(90deg,transparent,rgba(34,184,255,.85),transparent);animation:streak 3s linear infinite}
.spec .lines i:nth-child(1){top:18%;animation-delay:-.5s}
.spec .lines i:nth-child(2){top:44%;animation-delay:-1.7s;width:180px;animation-duration:2.3s}
.spec .lines i:nth-child(3){top:76%;animation-delay:-2.4s;width:340px;animation-duration:3.6s}

/* galeria */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.fbtn{min-height:42px;padding:8px 16px;border:1px solid var(--line);border-radius:6px;background:var(--glass);color:#CFDCF2;font-family:var(--hud);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.fbtn:hover{border-color:var(--neon)}
.fbtn[aria-pressed="true"]{background:var(--neon);border-color:var(--neon);color:#031019}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tile{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#080C13;animation:tilein .5s both}
@keyframes tilein{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.tile[hidden]{display:none}
.tile .media{position:absolute;inset:0;transition:transform .7s cubic-bezier(.2,.7,.2,1);background:linear-gradient(rgba(34,184,255,.07) 1px,transparent 1px) 0 0/30px 30px,linear-gradient(90deg,rgba(34,184,255,.07) 1px,transparent 1px) 0 0/30px 30px,radial-gradient(ellipse at 50% 45%,rgba(34,184,255,.16),transparent 70%),#080C13}
.tile .media>svg,.tile .media>img{display:block;width:100%;height:100%;object-fit:cover}
.tile .media>svg.fit{padding:3% 3% 12%}
.tile:hover .media{transform:scale(1.07)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,14,0) 35%,rgba(5,8,14,.92));pointer-events:none}
.tile figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:16px 18px;display:grid;gap:2px}
.tile figcaption .hudtxt{font-size:12px;color:var(--neon)}
.tile figcaption strong{font-size:16px;line-height:1.25;font-weight:700}
.tile .kind{position:absolute;z-index:2;top:12px;right:12px;padding:3px 8px;border:1px solid var(--line2);border-radius:4px;background:rgba(9,12,18,.75);font-family:var(--hud);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#CFDCF2}
.tile:hover{border-color:var(--neon);box-shadow:0 0 34px rgba(34,184,255,.22)}
@media(min-width:861px){.tile figcaption strong{max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .4s}.tile:hover figcaption strong{max-height:60px;opacity:1}}
@media(max-width:860px){.gal{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gal{grid-template-columns:1fr}}

/* CTA final e contato */
.final{position:relative;overflow:clip;padding:130px 0 90px;text-align:center;background:radial-gradient(ellipse 80% 75% at 50% 105%,rgba(34,184,255,.42),transparent 66%),linear-gradient(180deg,#070A10,#0A1730)}
.final::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(34,184,255,.09) 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,rgba(34,184,255,.09) 1px,transparent 1px) 0 0/56px 56px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 70%);mask-image:linear-gradient(180deg,transparent,#000 70%)}
.final .wrap{position:relative}
.final h2{font-size:clamp(32px,7.4vw,96px);line-height:.98;max-width:12em;margin:16px auto 18px}
.final .sub{font-stretch:112%;font-style:italic;font-weight:800;font-size:clamp(20px,3vw,34px);color:var(--neon);text-shadow:0 0 26px rgba(34,184,255,.5);margin-bottom:34px}
.final .cta{justify-content:center}
.btn--xl{min-height:60px;padding:16px 34px;font-size:17px}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:84px 0 0;text-align:left}
.ci{padding:20px 18px;border:1px solid var(--line);border-radius:10px;background:var(--glass)}
.ci .ic{color:var(--neon);margin-bottom:10px}
.ci dt{font-family:var(--hud);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.ci dd{margin:0;font-size:16px;line-height:1.45}
.ci a{color:#fff}
@media(max-width:900px){.cgrid{grid-template-columns:repeat(2,1fr);margin-top:60px}}
@media(max-width:520px){.cgrid{grid-template-columns:1fr}}

/* rodapé */
.foot{background:#05070B;border-top:1px solid var(--line);padding:0 0 96px}
.checker{height:14px;background:conic-gradient(#EEF3FA 25%,#05070B 0 50%,#EEF3FA 0 75%,#05070B 0) 0 0/28px 28px;opacity:.9;margin-bottom:52px}
.foot__top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:40px;align-items:start}
.foot img{height:30px;width:auto;display:block;margin-bottom:14px}
.foot p{color:var(--muted);max-width:22em}
.foot nav{display:grid;grid-template-columns:repeat(2,auto);gap:8px 28px;justify-content:start}
.foot nav a{color:#CFDCF2;text-decoration:none;font-family:var(--hud);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.foot nav a:hover{color:var(--neon)}
.social{display:flex;gap:10px}
.social a{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line2);border-radius:10px;color:#fff;background:var(--glass);transition:border-color .2s,color .2s,transform .2s}
.social a:hover{border-color:var(--neon);color:var(--neon);transform:translateY(-2px)}
.foot .foot__bottom{max-width:none;margin-top:36px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px}
.foot .foot__bottom p{margin:0;max-width:none}
.credit{display:inline-flex;align-items:center;gap:10px;color:var(--muted);text-decoration:none;font-size:14px;border-radius:6px}
.credit:hover{color:#fff}
.credit__heart{width:15px;height:15px;color:#FF4D6D;flex:none;animation:beat 2.4s ease-in-out infinite}
@keyframes beat{0%,100%{transform:scale(1)}8%{transform:scale(1.22)}16%{transform:scale(1)}24%{transform:scale(1.14)}32%{transform:scale(1)}}
.foot .credit img{height:36px;width:auto;margin:0;transition:transform .25s ease,filter .25s ease}
.credit:hover img{transform:translateY(-2px);filter:drop-shadow(0 0 8px rgba(72,222,240,.55))}
@media(max-width:760px){.foot__top{grid-template-columns:1fr;gap:28px}}

/* WhatsApp flutuante */
.fab{position:fixed;z-index:70;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#04210F;box-shadow:0 8px 24px rgba(0,0,0,.5);animation:fab 2.6s ease-out infinite}
.fab:hover{background:#43E883}
@keyframes fab{0%{box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 0 rgba(37,211,102,.55)}70%,100%{box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 22px rgba(37,211,102,0)}}

/* cenas de manutenção (rolagem) */
.scene-sec{position:relative;height:320vh;height:320svh;background:var(--bg);color:var(--fg)}
.stage{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--hdr));height:calc(100vh - var(--hdr) - env(safe-area-inset-top,0px));height:calc(100svh - var(--hdr) - env(safe-area-inset-top,0px));overflow:hidden;
  display:grid;grid-template-columns:minmax(290px,.72fr) 1.28fr;grid-template-areas:"title art" "caps art";grid-template-rows:auto auto;align-content:center;column-gap:36px;row-gap:18px;
  padding:16px max(20px,calc((100% - 1180px)/2));
  background:radial-gradient(ellipse at 68% 50%,rgba(34,184,255,.17),transparent 62%),linear-gradient(rgba(34,184,255,.06) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(90deg,rgba(34,184,255,.06) 1px,transparent 1px) 0 0/44px 44px,var(--bg)}
.stage h2{grid-area:title;align-self:end;font-size:clamp(26px,3.6vw,46px);line-height:1.04}
.caps{grid-area:caps;align-self:start;display:grid;max-width:29em}
.cap{grid-area:1/1;margin:0;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s,visibility 0s .35s;visibility:hidden}
.cap.on{opacity:1;transform:none;visibility:visible;transition:opacity .35s,transform .35s}
.cap strong{display:block;margin-bottom:6px;font-stretch:112%;font-style:italic;font-weight:850;font-size:clamp(20px,2.2vw,28px);line-height:1.1}
.cap span{color:#C4D3F0}
.cap .btn{margin-top:14px}
.prog{grid-area:caps;align-self:end}
.bar{height:5px;background:rgba(255,255,255,.14);border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--neon);box-shadow:0 0 12px var(--neon);transform-origin:left;transform:scaleX(0)}
.art{grid-area:art;display:flex;align-items:center;justify-content:center;min-height:0}
.art-wrap{position:relative;aspect-ratio:var(--ar);width:min(100%,calc((100svh - var(--hdr) - 64px) * var(--ar)));max-height:100%}
.art-wrap svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.trk{transform-box:fill-box;transform-origin:center}
.trk.pv-cap{transform-box:view-box;transform-origin:395px 145px}
.trk.pv-0{transform-box:view-box;transform-origin:0 0}
.trk.lvl{transform-origin:50% 100%}
.glowable{filter:drop-shadow(0 0 calc(var(--g,0) * 11px) rgba(255,106,19,calc(var(--g,0) * .95)))}
.chip{position:absolute;z-index:2;padding:6px 10px;background:#F2F5FA;color:#0A1A3A;font-weight:800;font-size:clamp(11px,1.35vw,15px);line-height:1.2;border-radius:4px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;pointer-events:none;max-width:40%;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.chip.on{opacity:1;transform:none}
.chip--c{translate:-50% 0;white-space:nowrap;max-width:none}
.chip--hot{background:var(--alert)}
@media(max-width:860px){
  .stage{grid-template-columns:1fr;grid-template-areas:"title" "art" "caps";grid-template-rows:auto minmax(0,1fr) auto;row-gap:8px;align-content:stretch;padding:14px 20px}
  .stage h2{font-size:clamp(22px,6.4vw,30px);align-self:start}
  .art-wrap{width:min(100%,calc((100svh - 330px) * var(--ar)))}
  .caps{max-width:none}
  .prog{display:none}
  .cap strong{font-size:20px}
  .cap span{font-size:15.5px;line-height:1.45}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .credit__heart,.ride,.ride2,.jaw,.head,.sp,.sb,.wake,.sl,.w-far,.w-mid,.w-near,.streak{animation:none!important}
  .sp,.sb,.sl{opacity:0!important}
  html{scroll-behavior:auto}
}
