.login-backdrop .lb-layer { position: absolute; inset: 0; }
.login-backdrop .lb-image { width:100%; height:100%; object-fit:cover; object-position:right center; }
.login-backdrop .lb-tint {
  /* Leve tom verde-petróleo nos azuis; some perto do nascer do sol para o dourado ficar puro */
  background: rgb(24, 104, 98);
  mix-blend-mode: color;
  opacity: 0.38;
  /* Sem tom no logo e no nascer do sol: o dourado original fica intacto */
  -webkit-mask-image: radial-gradient(ellipse 26% 20% at 74% 37%, transparent 55%, #000 100%), radial-gradient(ellipse 28% 30% at 82% 56%, transparent 30%, #000 100%);
  -webkit-mask-composite: source-in;
  mask-image: radial-gradient(ellipse 26% 20% at 74% 37%, transparent 55%, #000 100%), radial-gradient(ellipse 28% 30% at 82% 56%, transparent 30%, #000 100%);
  mask-composite: intersect;
}
.login-backdrop .lb-routes { width: 100%; height: 100%; }
.login-backdrop .lb-shade { background: linear-gradient(90deg, rgba(5, 13, 18, 0.55) 0%, rgba(5, 13, 18, 0.15) 45%, transparent 70%); }
.lb-tracks path, .lb-signals path, .lb-horizon { fill: none; stroke-linecap: round; }
.lb-tracks path { stroke: rgba(216, 187, 122, 0.16); stroke-width: 1.5; }
.lb-signals path { stroke: #f2d38f; stroke-width: 2.5; stroke-dasharray: 70 930; stroke-dashoffset: 1000; filter: drop-shadow(0 0 6px #f2d38f); animation: lb-travel linear infinite; }
.lb-horizon { stroke: #7fd8cf; stroke-width: 2; stroke-dasharray: 120 880; stroke-dashoffset: 1000; opacity: 0.7; filter: drop-shadow(0 0 8px #7fd8cf); animation: lb-travel 9s ease-in-out infinite; }
.lb-nodes circle { fill: #f6d58c; filter: drop-shadow(0 0 6px #f6d58c); animation: lb-node 3.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.lb-sun { animation: lb-sun 6s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center; }
.lb-star > * { transform-box: fill-box; transform-origin: center; }
.lb-star-glow { mix-blend-mode: screen; animation: lb-star-glow 3.2s ease-in-out infinite; }
.lb-star-v { animation: lb-star-v 3.2s ease-in-out infinite; }
.lb-star-h { animation: lb-star-h 3.2s ease-in-out infinite; }
.lb-star-diag { opacity: 0; animation: lb-star-diag 3.2s ease-in-out infinite; }
@keyframes lb-star-glow { 0%, 100% { opacity: 0.45; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.15); } }
@keyframes lb-star-v { 0%, 100% { opacity: 0.4; transform: scaleY(0.7); } 50% { opacity: 1; transform: scaleY(1.1); } }
@keyframes lb-star-h { 0%, 100% { opacity: 0.3; transform: scaleX(0.6); } 50% { opacity: 0.95; transform: scaleX(1.15); } }
@keyframes lb-star-diag { 0%, 30%, 70%, 100% { opacity: 0; transform: rotate(0deg) scale(0.6); } 50% { opacity: 0.7; transform: rotate(20deg) scale(1); } }
.lb-rocket { animation: lb-rocket 16s cubic-bezier(0.7, 0, 0.84, 0) infinite; opacity: 0; }
/* Rastro curto na decolagem e longo no fim, acompanhando a velocidade */
.lb-rocket-trail, .sidebar-rocket-trail { transform-box: fill-box; transform-origin: 50% 0; }
.lb-rocket-trail { animation: lb-trail 16s cubic-bezier(0.7, 0, 0.84, 0) infinite; }
@keyframes lb-trail { 0% { transform: scaleY(0.08); } 55%, 100% { transform: scaleY(1.2); } }
.lb-rocket-plume { mix-blend-mode: screen; animation: lb-flicker 0.12s steps(2) infinite alternate; transform-box: fill-box; transform-origin: 50% 0; }
.lb-rocket-trail { mix-blend-mode: screen; }
/* Parte da superfície (y≈1010), passa pela estrela (y=558) e sai pelo topo; pausa entre lançamentos */
@keyframes lb-rocket {
  0% { transform: translateY(1010px) scale(0.55); opacity: 0; }
  4% { opacity: 1; }
  48% { opacity: 1; }
  55% { transform: translateY(-160px) scale(1.15); opacity: 0; }
  100% { transform: translateY(-160px) scale(1.15); opacity: 0; }
}
@keyframes lb-flicker { from { transform: scaleY(0.85); opacity: 0.85; } to { transform: scaleY(1.15); opacity: 1; } }
@keyframes lb-travel { to { stroke-dashoffset: 0; } }
@keyframes lb-node { 0%, 100% { opacity: 0.35; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.25); } }
@keyframes lb-sun { from { opacity: 0.55; transform: scale(0.94); } to { opacity: 1; transform: scale(1.06); } }
@media (prefers-reduced-motion: reduce) {
  .lb-signals, .lb-horizon { display: none; }
  .lb-nodes circle, .lb-sun, .lb-star * { animation: none; }
  .lb-rocket { display: none; }
}

/* A mesma capa e as mesmas coordenadas dos logins NOWA. */
.hero-opening { position:relative; isolation:isolate; background:#050d12; overflow:hidden; }
.hero-opening .hero { display:flex; align-items:center; min-height:min(800px,calc(100svh - 91px)); padding-block:100px; position:relative; }
.hero-opening .hero-copy { max-width:650px; position:relative; z-index:1; }
.hero-opening h1 { font-size:clamp(40px,4.3vw,62px); }
.hero-opening .hero-description { max-width:460px; }
.login-backdrop { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.login-backdrop .lb-shade { background:linear-gradient(90deg,#050d12f2 0%,#050d12c9 35%,#050d1233 65%,transparent 100%); }
.portfolio-example { margin-top:44px; border:1px solid var(--line); border-radius:10px; background:var(--card); overflow:hidden; }
.example-header { padding:28px 30px; display:flex; justify-content:space-between; gap:30px; align-items:center; }
.example-header h3 { font-size:25px; margin-top:9px; }
.example-header .button { flex-shrink:0; }
.example-meta { display:flex; gap:25px; flex-wrap:wrap; border-block:1px solid var(--line); padding:17px 30px; font-size:11px; color:var(--muted); }
.example-meta strong { color:var(--text); font-weight:500; }
.example-figure { margin:0; }
.example-chart-scroll { overflow-x:auto; }
.example-figure img { display:block; width:100%; min-width:900px; height:auto; }
.example-figure figcaption { padding:20px 30px; color:var(--muted); font-size:11px; line-height:1.8; }
.example-figure figcaption a { color:var(--gold-soft); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1100px) { .hero-opening .hero-copy { max-width:540px; } .hero-opening h1 { font-size:47px; } }
@media(max-width:800px) {
 .hero-opening .hero { min-height:850px; align-items:flex-start; padding-block:55px 320px; }
 .hero-opening .hero-copy { max-width:580px; }
 .login-backdrop .lb-layer { inset:auto 0 0; height:100%; }
 .login-backdrop .lb-image { object-position:80% bottom; }
 .login-backdrop .lb-routes { object-position:80% bottom; }
 .login-backdrop .lb-shade { background:linear-gradient(180deg,#050d12ee 0%,#050d12e6 40%,#050d1233 70%,#050d120a); }
 .hero-opening h1 { font-size:clamp(39px,7vw,56px); }
 .example-header { flex-direction:column; align-items:flex-start; padding:24px; gap:20px; }
 .example-header h3 { font-size:22px; }
 .example-meta { padding:18px 24px; gap:12px 20px; }
 .example-figure figcaption { padding:20px 24px; }
}
@media(max-width:480px) {
 .hero-opening .hero { min-height:860px; padding-top:40px; }
 .hero-opening h1 { font-size:39px; }
 .login-backdrop .lb-image { object-position:72% bottom; }
 .login-backdrop .lb-routes { display:none; }
 .login-backdrop .lb-tint { opacity:.25; }
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){
 .login-backdrop .lb-image,.login-backdrop .lb-routes{height:430px;bottom:0;top:auto;object-position:right center;display:block}
 .login-backdrop .lb-shade{background:linear-gradient(180deg,#050d12 0%,#050d12f2 45%,#050d1255 65%,transparent 85%)}
}

/* Marca vetorial, foguete e brilho usam o mesmo ciclo de 16 segundos.
   O foguete cruza (1732, 558), centro exato da estrela, em 36% do ciclo. */
.cover-tagline{fill:#e6ebef;font-family:Inter,sans-serif;font-size:17px;letter-spacing:12px}
.lb-rocket{animation:cover-launch 16s linear infinite}
.lb-rocket-trail{animation:cover-trail 16s linear infinite}
.lb-star-glow{animation:cover-glow 16s linear infinite}
.lb-star-v{animation:cover-ray-v 16s linear infinite}
.lb-star-h{animation:cover-ray-h 16s linear infinite}
.lb-star-diag{animation:cover-diagonal 16s linear infinite}
@keyframes cover-launch{
 0%{transform:translateY(1010px) scale(.55);opacity:0}
 4%{transform:translateY(990px) scale(.58);opacity:1}
 28%{transform:translateY(760px) scale(.72);opacity:1}
 36%{transform:translateY(558px) scale(.9);opacity:1}
 55%{transform:translateY(-160px) scale(1.15);opacity:0}
 100%{transform:translateY(-160px) scale(1.15);opacity:0}
}
@keyframes cover-trail{0%,4%{transform:scaleY(.08)}36%{transform:scaleY(.8)}55%,100%{transform:scaleY(1.2)}}
@keyframes cover-glow{0%,28%,48%,100%{opacity:.35;transform:scale(.8)}36%{opacity:1;transform:scale(1.4)}}
@keyframes cover-ray-v{0%,28%,48%,100%{opacity:.3;transform:scaleY(.65)}36%{opacity:1;transform:scaleY(1.3)}}
@keyframes cover-ray-h{0%,28%,48%,100%{opacity:.25;transform:scaleX(.6)}36%{opacity:1;transform:scaleX(1.25)}}
@keyframes cover-diagonal{0%,28%,48%,100%{opacity:0;transform:rotate(0) scale(.6)}36%{opacity:.8;transform:rotate(20deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.lb-rocket{display:none}.lb-star *{animation:none}}

.hero-science{font-size:12px;max-width:420px;line-height:1.8;margin-top:15px;color:var(--gold-soft)}
.research-foundation{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;padding:30px;border:1px solid var(--line);border-radius:8px;background:var(--card);margin-bottom:35px}
.research-foundation h3{font-size:25px;line-height:1.4;margin-top:14px}
.research-foundation>div>p:not(.eyebrow){font-size:13px}
.metric-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.metric-tags span{font-size:10px;color:var(--gold-soft);border:1px solid var(--line);border-radius:3px;padding:8px 10px}
@media(max-width:800px){.research-foundation{grid-template-columns:1fr;gap:22px;padding:24px}.hero-opening .hero{min-height:900px}}
@media(max-width:480px){.hero-science{font-size:11px;max-width:330px}.hero-opening .hero{min-height:930px}.research-foundation h3{font-size:22px}}
