/* Teste neon — SOMENTE o primeiro bloco. Nenhum seletor altera os demais blocos. */
#topo {
  --neon: #bd72ff;
  --neon-rgb: 189,114,255;
  --neon-light: .7;
  --neon-ink: #160a22;
  min-height: 930px;
  background: #070911;
  overflow: hidden;
}
#topo .hero-video { opacity: .87; }
#topo .veil { background: linear-gradient(90deg,#070911 0%,#070911f5 25%,#080912c9 43%,#090a1233 66%,#07091118 100%),linear-gradient(0deg,#070911ef,transparent 24%,transparent 78%,#07091160); }
#topo .header { height: 105px; position: relative; z-index: 5; }
#topo .brand-symbol, #topo .brand-dot { color: var(--neon); }
#topo .brand-symbol { filter: drop-shadow(0 0 7px rgba(var(--neon-rgb),.75)); }
#topo .hero-nav a { color: #dcdbea; font-size: 12px; }
#topo .hero-nav a::after { background: var(--neon); box-shadow: 0 0 10px var(--neon); }
#topo .login { border-color: rgba(var(--neon-rgb),.45); background: #0c0e1b70; color: #f3f2ff; border-radius: 7px; }
#topo .content { height: calc(100% - 105px); padding-bottom: 105px; z-index: 3; }
#topo .copy { max-width: 660px; }
#topo .eyebrow { letter-spacing: .18em; color: #e5d9f5; margin-bottom: 22px; gap: 10px; font-size: 10px; }
#topo .eyebrow::before { display: none; }
#topo .neon-status { display: block; width: 7px; height: 7px; border-radius: 50%; background: var(--neon); box-shadow: 0 0 14px var(--neon),0 0 30px rgba(var(--neon-rgb),.5); }
#topo h1 { font-size: clamp(58px,5.2vw,82px); line-height: 1.04; font-weight: 600; letter-spacing: -.065em; margin-bottom: 22px; max-width: 680px; color: #faf8ff; }
#topo h1 em { color: var(--neon); text-shadow: 0 0 22px rgba(var(--neon-rgb),.55),0 0 60px rgba(var(--neon-rgb),.24); transition: color .25s,text-shadow .25s; }
#topo .description { color: #c4c1d5; max-width: 425px; font-size: 15px; line-height: 1.75; margin-bottom: 24px; }
#topo .cta { background: var(--neon); color: var(--neon-ink); border: 1px solid var(--neon); border-radius: 7px; padding: 18px 24px; box-shadow: 0 0 23px rgba(var(--neon-rgb),.35),inset 0 0 18px #ffffff15; font-size: 13px; }
#topo .cta:hover { background: color-mix(in srgb,var(--neon) 80%,white); box-shadow: 0 0 36px rgba(var(--neon-rgb),.5); }
#topo .details { color: #b5afc9; margin-top: 16px; }
#topo .bottom { bottom: 26px; }
#topo .sound-control, #topo .motion { border-radius: 7px; background: #090b17b3; border-color: #d7c8ff3d; }
#topo .sound-control[aria-pressed="true"] { background: var(--neon); color: var(--neon-ink); }
#topo .signature { color: #b9a9d0; letter-spacing: .25em; }
#topo .signature::before { background: var(--neon); box-shadow: 0 0 12px var(--neon); }
#topo .neon-grid { position: absolute; z-index: -1; inset: 0; pointer-events: none; opacity: .12; background-image: linear-gradient(#cbb4f72b 1px,transparent 1px),linear-gradient(90deg,#cbb4f72b 1px,transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg,#000,transparent 60%); }
#topo .neon-light { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: var(--neon-light); background: radial-gradient(ellipse at 72% 53%,transparent 21%,rgba(var(--neon-rgb),.38) 52%,transparent 72%),linear-gradient(90deg,transparent 48%,rgba(var(--neon-rgb),.13) 66%,transparent 90%); mix-blend-mode: screen; transition: background .25s,opacity .15s; }
#topo .neon-frame { position: absolute; z-index: 1; left: 57%; top: 21%; right: 5%; bottom: 15%; border: 1px solid rgba(var(--neon-rgb),.3); border-radius: 110px 12px 110px 12px; box-shadow: 0 0 25px rgba(var(--neon-rgb),.13),inset 0 0 25px rgba(var(--neon-rgb),.08); pointer-events: none; opacity: var(--neon-light); transition: border-color .25s,box-shadow .25s,opacity .15s; }
#topo .neon-frame::before { content: ''; position: absolute; left: -1px; top: 100px; bottom: 100px; width: 2px; background: var(--neon); box-shadow: 0 0 14px var(--neon),0 0 40px var(--neon); }
#topo .neon-frame::after { content: ''; position: absolute; right: -1px; top: 24px; height: 80px; width: 2px; background: var(--neon); box-shadow: 0 0 14px var(--neon); }
#topo .neon-frame > span { position: absolute; left: 32px; top: -24px; color: var(--neon); font: 10px/1.4 ui-monospace,monospace; letter-spacing: .12em; text-transform: uppercase; }
#topo .neon-frame > small { position: absolute; right: 15px; bottom: -24px; font: 9px/1.4 ui-monospace,monospace; color: #d3c6e2; letter-spacing: .07em; }
#topo .neon-frame i { position: absolute; width: 7px; height: 7px; background: var(--neon); border-radius: 50%; bottom: 20px; left: 20px; box-shadow: 0 0 13px var(--neon); }
#topo button[data-neon-color="cyan"] i { background: #55f5ec; }
#topo button[data-neon-color="pink"] i { background: #ff6bbd; }
#topo :is(button,input,a):focus-visible { outline: 2px solid var(--neon); outline-offset: 4px; }
@media (max-width: 1100px) and (min-width: 701px) {
 #topo { min-height: 930px; }
 #topo .copy { max-width: 560px; }
 #topo h1 { font-size: 62px; }
 #topo .neon-frame { left: 64%; right: 3%; }
}
@media (max-width: 700px) {
 #topo { min-height: 100svh; height: auto; display: flex; flex-direction: column; }
 #topo .header { height: 72px; min-height: 72px; gap: 12px; }
 #topo .content { height: auto; min-height: 0; flex: 1; justify-content: flex-start; padding-top: calc(105px + 265px + 24px - 72px); padding-bottom: 85px; }
 #topo .copy { width: 100%; }
 #topo .hero-video { height: 660px; object-fit: cover; object-position: center top; }
 #topo .veil { background: linear-gradient(0deg,#070911 0%,#070911ef 26%,#070911ad 57%,#07091112 85%),linear-gradient(180deg,#07091155,transparent 20%); }
 #topo .neon-grid { background-size: 44px 44px; mask-image: linear-gradient(0deg,#000,transparent 70%); }
 #topo .neon-light { background: radial-gradient(ellipse at 75% 25%,rgba(var(--neon-rgb),.3),transparent 50%); }
 #topo .neon-frame { top: 105px; left: 18px; right: 18px; bottom: auto; height: 265px; border-radius: 60px 10px 60px 10px; }
 #topo .neon-frame::before { top: 65px; bottom: 50px; }
 #topo .neon-frame > span { left: 23px; top: -17px; font-size: 8px; }
 #topo .neon-frame > small { font-size: 8px; bottom: -17px; }
 #topo .eyebrow { font-size: 8px; margin-bottom: 18px; }
 #topo h1 { font-size: clamp(40px,10.7vw,49px); margin-bottom: 20px; line-height: 1.04; }
 #topo .description { font-size: 13px; margin-bottom: 20px; max-width: 360px; }
 #topo .cta { display: flex; min-height: 56px; font-size: 12px; }
 #topo .details { font-size: 10px; }
 #topo .bottom { bottom: 22px; }
}

@media (prefers-reduced-motion: reduce) { #topo *, #topo *::before, #topo *::after { transition: none !important; } }

/* Logo titânio/violeta aprovada; recorte visual sem alterar o PNG. */
#topo .brand-logo { display: block; width: 210px; height: auto; aspect-ratio: 2000 / 392; flex: none; }
.site-footer-brand .brand-logo { width: 190px; height: auto; aspect-ratio: 2000 / 392; }
@media (min-width: 701px) {
 #topo { --neon-light: .38; }
 #topo h1 em { text-shadow: 0 0 18px rgba(var(--neon-rgb),.3),0 0 42px rgba(var(--neon-rgb),.12); }
 #topo .cta { box-shadow: 0 0 16px rgba(var(--neon-rgb),.2),inset 0 0 12px #ffffff0a; }
 #topo .cta:hover { box-shadow: 0 0 24px rgba(var(--neon-rgb),.3); }
}
@media (max-width: 700px) {
 #topo .brand-logo { width: 136px; }
 #topo .login { font-size: 10px; padding: 9px 10px; gap: 7px; }
 .site-footer-brand .brand-logo { width: 174px; }
}
@media (max-width: 700px) and (max-height: 740px) {
 #topo .content { padding-bottom: 77px; }
 #topo h1 { font-size: clamp(36px,10vw,43px); margin-bottom: 16px; }
 #topo .eyebrow { margin-bottom: 13px; }
 #topo .description { font-size: 12px; line-height: 1.65; margin-bottom: 16px; }
 #topo .cta { min-height: 52px; padding-block: 15px; }
 #topo .details { margin-top: 12px; }
}

/* Halo em movimento compartilhado entre CTA principal e oferta; não altera posição ou tamanho. */
@property --promptiva-orbit {
 syntax: '<angle>';
 initial-value: 0deg;
 inherits: false;
}
:is(#topo .cta,#acesso .access-button) { position: relative; isolation: isolate; }
:is(#topo .cta,#acesso .access-button)::before,
:is(#topo .cta,#acesso .access-button)::after {
 content: '';
 position: absolute;
 pointer-events: none;
 border-radius: inherit;
 background: conic-gradient(from var(--promptiva-orbit), transparent 0deg 230deg, #8050d9 275deg, #e6ccff 310deg, #bd72ff 335deg, transparent 360deg);
 animation: promptiva-cta-orbit 4.5s linear infinite;
}
:is(#topo .cta,#acesso .access-button)::before {
 inset: -3px;
 padding: 2px;
 z-index: -1;
 -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
 -webkit-mask-composite: xor;
 mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
 mask-composite: exclude;
}
:is(#topo .cta,#acesso .access-button)::after {
 inset: -5px;
 z-index: -2;
 opacity: .3;
 filter: blur(10px);
}
@keyframes promptiva-cta-orbit { to { --promptiva-orbit: 360deg; } }
@media (prefers-reduced-motion: reduce) {
 :is(#topo .cta,#acesso .access-button)::before, :is(#topo .cta,#acesso .access-button)::after { animation: none; }
}


/* Mesmo movimento do CTA no contorno existente, sem invadir o rosto. */
#topo .neon-frame-orbit {
 position: absolute;
 inset: -1px;
 border-radius: inherit;
 pointer-events: none;
}
#topo .neon-frame-orbit::before,
#topo .neon-frame-orbit::after {
 content: '';
 position: absolute;
 inset: 0;
 padding: 2px;
 border-radius: inherit;
 background: conic-gradient(from var(--promptiva-orbit),transparent 0deg 225deg,#8050d9 270deg,#bd72ff 295deg,#f2e5ff 320deg,transparent 350deg);
 -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
 -webkit-mask-composite: xor;
 mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
 mask-composite: exclude;
 animation: promptiva-cta-orbit 6.5s linear infinite;
}
#topo .neon-frame-orbit::after { filter: blur(5px); opacity: .65; }
@media (prefers-reduced-motion: reduce) {
 #topo .neon-frame-orbit::before, #topo .neon-frame-orbit::after { animation: none; }
}
