/* REVOLUXION — movimento com renderização leve: CSS/SVG. Sem vídeo e sem dependências. */
:root{color-scheme:dark;--night:#02030b;--ice:#7dd7ff;--violet:#ad52ff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--night)}
body{margin:0;overflow-x:hidden;background:var(--night);color:#f2f4ff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
a{color:inherit}
.skip-link{position:absolute;left:12px;top:-90px;padding:10px 15px;background:#101127;color:#fff;z-index:50}
.skip-link:focus{top:12px}
.desktop-page{position:relative;width:min(100%,1122px);margin:0 auto;aspect-ratio:1122/1402;isolation:isolate;overflow:hidden;background:#01020a;box-shadow:0 0 105px rgba(22,41,119,.12)}
.desktop-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.desktop-motion{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.light-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.line-travel{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:95 905;stroke-dashoffset:1000;animation:trace 9s linear infinite;will-change:stroke-dashoffset}
.planet-streak{stroke:url(#lineBlue);stroke-width:3;stroke-dasharray:85 915;animation-duration:10s}
.planet-glow{stroke:#368dff;stroke-width:11;filter:url(#wideBlur);stroke-dasharray:80 920;opacity:.6;animation-duration:10s}
.violet-streak{stroke:url(#linePurple);stroke-width:2.1;stroke-dasharray:110 890;animation-duration:12s;animation-delay:-4s}
.violet-glow{stroke:#a63dff;stroke-width:10;filter:url(#lightBlur);stroke-dasharray:100 900;opacity:.65;animation-duration:12s;animation-delay:-4s}
.orbit-blue{stroke:#66baff;stroke-width:2.5;stroke-dasharray:125 875;animation-duration:7s;animation-delay:-2s;opacity:.8}
.water-streak{stroke:#d4f8ff;stroke-width:2.5;stroke-dasharray:35 965;animation-duration:7s;animation-delay:-1s}
.water-glow{stroke:#2b87ff;stroke-width:15;filter:url(#wideBlur);stroke-dasharray:38 962;animation-duration:7s;animation-delay:-1s;opacity:.7}
.lower-streak{stroke:#c2f6ff;stroke-width:2.2;stroke-dasharray:65 935;animation-duration:7.6s;animation-delay:-3.5s}
.lower-glow{stroke:#337bff;stroke-width:15;filter:url(#wideBlur);stroke-dasharray:65 935;animation-duration:7.6s;animation-delay:-3.5s;opacity:.56}
.icon-streak{stroke:url(#linePurple);stroke-width:3.2;stroke-dasharray:170 830;animation-duration:6.5s;animation-delay:-1.3s}
.icon-glow{stroke:#8755ff;stroke-width:14;stroke-dasharray:160 840;filter:url(#lightBlur);animation-duration:6.5s;animation-delay:-1.3s;opacity:.8}
@keyframes trace{to{stroke-dashoffset:0}}
.cosmic-mist{position:absolute;z-index:0;pointer-events:none;opacity:.32;mix-blend-mode:screen;border-radius:50%;will-change:transform,opacity}
.mist-one{top:8%;left:-24%;width:90%;height:30%;background:radial-gradient(ellipse at center,rgba(16,64,210,.38),rgba(61,28,173,.19) 44%,transparent 73%);filter:blur(22px);animation:mistflow 16s ease-in-out infinite alternate}
.mist-two{top:16%;right:-24%;width:75%;height:35%;background:radial-gradient(ellipse,rgba(126,34,225,.32),rgba(10,71,213,.12) 43%,transparent 74%);filter:blur(28px);animation:mistflow 21s ease-in-out -6s infinite alternate-reverse}
.mist-three{top:60%;left:-25%;width:95%;height:22%;background:radial-gradient(ellipse,rgba(23,110,255,.29),rgba(100,30,187,.19) 47%,transparent 73%);filter:blur(18px);animation:mistflow 13s ease-in-out -4s infinite alternate}
@keyframes mistflow{0%{transform:translate3d(-4%,3%,0) scale(1);opacity:.16}50%{opacity:.32}100%{transform:translate3d(25%,-7%,0) scale(1.19);opacity:.43}}
.aurora{position:absolute;mix-blend-mode:screen;opacity:.16;pointer-events:none;filter:blur(18px);animation:auroraDrift 14s ease-in-out infinite alternate;will-change:transform,opacity}
.aurora-one{top:0;right:-14%;width:55%;height:25%;background:conic-gradient(from 195deg at 80% 0%,transparent 0deg,#2342ff 23deg,transparent 36deg,#7028f8 48deg,transparent 66deg)}
.aurora-two{top:72%;left:-15%;width:75%;height:13%;background:radial-gradient(ellipse,rgba(55,75,236,.35),transparent 70%);animation-delay:-7s}
@keyframes auroraDrift{from{transform:translate3d(-2%,0,0) scale(1);opacity:.08}to{transform:translate3d(13%,1%,0) scale(1.1);opacity:.24}}
.hero-x-bloom{position:absolute;left:56%;top:22%;width:17%;height:12%;background:radial-gradient(ellipse,rgba(61,112,255,.33),transparent 69%);filter:blur(10px);mix-blend-mode:screen;animation:xPulse 5s ease-in-out infinite alternate}
.icon-bloom{position:absolute;left:13%;top:57.5%;width:29%;height:23%;background:radial-gradient(ellipse,rgba(89,44,228,.22),transparent 71%);filter:blur(13px);mix-blend-mode:screen;animation:xPulse 6s ease-in-out -2s infinite alternate}
@keyframes xPulse{from{opacity:.3;transform:scale(.94)}to{opacity:.74;transform:scale(1.1)}}
.star-sweep{position:absolute;top:3.5%;left:-45%;height:1px;width:40%;background:linear-gradient(90deg,transparent,rgba(24,75,197,.03),rgba(151,199,255,.45),transparent);transform:rotate(-15deg);filter:drop-shadow(0 0 10px #397afa);animation:starTraverse 15s linear infinite;opacity:.6}
@keyframes starTraverse{0%{translate:0 0;opacity:0}12%,60%{opacity:.65}92%,100%{translate:320% 300px;opacity:0}}
.desktop-hit{position:absolute;z-index:5;display:block;border-radius:999px;overflow:hidden;font-size:0}
.desktop-hit:focus-visible,.footer-brand:focus-visible,.footer-mail:focus-visible{outline:2px solid #a167ff;outline-offset:3px}
.hit-home{top:1.1%;right:16%;width:7.5%;height:4.5%}
.hit-contact-nav{top:1.1%;right:3%;width:11.8%;height:4.5%}
.hit-contact-hero{top:41.8%;left:34%;width:31.5%;height:5.2%}
/* The screenshot's old copyright is completely covered by a real footer. */
.footer-overlay{position:absolute;z-index:6;inset:auto 0 0;height:11.1%;background:#02030b;border-top:1px solid rgba(105,119,195,.15);display:flex;align-items:center;justify-content:space-between;padding:1.9% 5% 1.7%;gap:20px}
.footer-overlay:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(34,99,255,.35),rgba(115,60,249,.3),transparent);box-shadow:0 0 12px rgba(58,83,255,.18)}
.footer-brand{position:relative;display:block;width:clamp(130px,20%,237px);max-width:44%;line-height:0;isolation:isolate;overflow:visible}
.footer-brand img{width:100%;height:auto;display:block;object-fit:contain;filter:drop-shadow(0 0 7px rgba(48,86,251,.13));mix-blend-mode:screen}
.logo-scanner{pointer-events:none;position:absolute;inset:4% 2%;display:block;opacity:.8;mix-blend-mode:screen;background:linear-gradient(110deg,transparent 0%,transparent 28%,rgba(101,196,255,.03) 36%,rgba(224,245,255,.95) 46%,rgba(118,37,255,.75) 51%,transparent 58%,transparent 100%);background-size:320% 100%;animation:logoScan 5.2s ease-in-out infinite;-webkit-mask-image:url("./assets/revoluxion-logo.webp");mask-image:url("./assets/revoluxion-logo.webp");-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
@keyframes logoScan{0%,9%{background-position:135% 0;opacity:0}12%{opacity:.95}66%{opacity:.95}76%,100%{background-position:-140% 0;opacity:0}}
.footer-mail{color:#96bdfb;font-size:clamp(10px,1.1vw,13px);text-decoration:none;letter-spacing:.03em;word-break:break-word;transition:color .2s}
.footer-mail:hover{color:#f4ddff}
.mobile-page{display:none}
@media(min-width:651px){.desktop-page{animation:pageReveal 1.2s ease-out both}@keyframes pageReveal{from{opacity:.15;filter:brightness(.7)}to{opacity:1;filter:brightness(1)}}}
@media(max-width:650px){
  body{overflow-x:hidden}
  .desktop-page{display:none}
  .mobile-page{display:block;width:100%;min-height:100svh;overflow:hidden;background:#02030b}
  .mobile-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:18px 19px 11px;background:linear-gradient(180deg,#02030b 55%,transparent)}
  .mobile-header>a:first-child{width:145px;line-height:0}
  .mobile-header img{display:block;width:100%;height:auto;mix-blend-mode:screen}
  .mobile-contact{padding:9px 13px;border:1px solid rgba(111,140,234,.42);border-radius:999px;font-size:11px;text-decoration:none;text-transform:uppercase;letter-spacing:.18em}
  .mobile-hero{position:relative;min-height:560px;display:flex;justify-content:center;align-items:center;text-align:center;background:radial-gradient(ellipse at 54% 19%,rgba(25,50,144,.3),transparent 52%),#02030b;isolation:isolate;overflow:hidden}
  .mobile-planet{position:absolute;z-index:-2;inset:0 0 auto;height:290px;background-image:linear-gradient(to bottom,rgba(2,3,11,.12),rgba(2,3,11,.12) 42%,#02030b 99%),url('./assets/planet.webp');background-size:cover,auto 100%;background-position:center top;opacity:.95;animation:planetFloat 20s ease-in-out infinite alternate}
  @keyframes planetFloat{from{transform:scale(1) translateY(0)}to{transform:scale(1.1) translateY(-10px)}}
  .mobile-arc{position:absolute;z-index:-1;width:125%;height:200px;left:-10%;top:115px;border:1px solid transparent;border-top-color:#3f66ff;border-radius:50%;transform:rotate(-9deg);box-shadow:0 -4px 17px -8px rgba(54,105,255,.8);animation:mobileOrbit 8s ease-in-out infinite alternate}
  .mobile-arc.arc-b{top:155px;border-top-color:#9c32fa;transform:rotate(12deg);animation-delay:-3s;opacity:.63}
  @keyframes mobileOrbit{from{opacity:.27;filter:brightness(.7);translate:-3% 0}to{opacity:.78;filter:brightness(1.8);translate:3% -5px}}
  .mobile-nebula{position:absolute;z-index:-1;inset:50px -15% auto;height:330px;background:radial-gradient(ellipse at 50% 40%,rgba(20,60,221,.16),rgba(75,19,185,.12) 36%,transparent 69%);filter:blur(21px);animation:mistflow 13s ease-in-out infinite alternate}
  .mobile-stars{position:absolute;z-index:-1;inset:0;opacity:.25;background-image:radial-gradient(circle at 11% 11%,#c7e2ff 0 1px,transparent 2px),radial-gradient(circle at 66% 22%,#ad65ff 0 1px,transparent 2px),radial-gradient(circle at 30% 42%,#c7e2ff 0 1px,transparent 2px);background-size:141px 189px;animation:starTraverseMobile 35s linear infinite}
  @keyframes starTraverseMobile{to{background-position:141px 189px,100px 230px,210px 83px}}
  .mobile-hero-content{position:relative;z-index:1;padding:25px 20px 64px;display:flex;align-items:center;flex-direction:column;width:100%}
  .mobile-wordmark{width:min(100%,360px);padding-top:65px;filter:drop-shadow(0 0 14px rgba(53,116,255,.37));animation:mobileBrand 1s ease-out both}
  .mobile-wordmark img{width:100%;height:auto;display:block;mix-blend-mode:screen}
  .mobile-hero h1{margin:17px 0 0;font-size:clamp(12px,3.3vw,16px);letter-spacing:clamp(.19em,.9vw,.39em);font-weight:500;color:#e4e5f3;line-height:1.9}
  .mobile-divider{margin:14px 0 0;width:62px;height:2px;background:linear-gradient(90deg,#159cff,#903dff);box-shadow:0 0 14px #6844ff}
  .mobile-hero p{margin:22px auto 0;max-width:330px;color:#d2d8ed;line-height:1.6;font-size:15px;letter-spacing:.02em}
  .mobile-button{margin-top:29px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 22px;border:1px solid rgba(115,160,255,.8);background:linear-gradient(#060a21,#03040e) padding-box,linear-gradient(110deg,#00c5ff,#9545ff) border-box;border-radius:100px;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.14em;box-shadow:-3px 1px 14px rgba(0,117,255,.48),3px 0 16px rgba(148,51,255,.43);transition:transform .2s}
  .mobile-button:active{transform:scale(.97)}
  .mobile-button span{font-size:18px}
  .mobile-horizon{position:absolute;bottom:5px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#307fff 24%,#cfe9ff 48%,#a13bff 80%,transparent);box-shadow:0 0 20px 3px rgba(44,89,253,.58);overflow:visible}
  .mobile-glint{position:absolute;bottom:-30px;left:-80px;width:80px;height:65px;border-radius:50%;background:radial-gradient(ellipse,#c9f7ff,rgba(58,85,255,.3) 15%,transparent 75%);filter:blur(8px);animation:mobileBeam 7s linear infinite}
  @keyframes mobileBeam{to{transform:translateX(calc(100vw + 150px))}}
  @keyframes mobileBrand{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
  .mobile-pillars{padding:22px 18px 42px;background:radial-gradient(ellipse at 50% 12%,rgba(32,23,122,.22),transparent 70%),#03040d;text-align:center}
  .mobile-icon-wrap{width:min(81vw,300px);aspect-ratio:341/309;position:relative;margin:0 auto -1px;filter:drop-shadow(0 0 14px rgba(83,63,248,.3))}
  .mobile-icon-wrap img{width:100%;height:100%;display:block;object-fit:contain;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 6%,#000 94%,transparent 100%)}
  .mobile-icon-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
  .mobile-icon-outline rect{fill:none;stroke:#e1b8ff;stroke-width:3;stroke-dasharray:150 850;stroke-dashoffset:1000;filter:drop-shadow(0 0 6px #875aff);animation:trace 6.5s linear infinite}
  .pillars-title{letter-spacing:.42em;font-size:12px;font-weight:500;margin:22px auto 20px;color:#e0e3ff}
  .pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-width:440px;margin:0 auto}
  .pillar-grid article{padding:11px 5px 7px;border-right:1px solid rgba(91,107,165,.25)}
  .pillar-grid article:last-child{border-right:none}
  .pillar-glyph{display:block;font-size:25px;color:#78b0ff;text-shadow:0 0 11px #5963ff;line-height:1.25}
  .pillar-grid h2{font-size:10px;letter-spacing:.11em;font-weight:600;margin:10px 0 8px}
  .pillar-grid p{font-size:11px;line-height:1.52;color:#b8bed6;margin:0}
  .mobile-footer{padding:28px 15px 36px;display:flex;flex-direction:column;align-items:center;gap:19px;border-top:1px solid rgba(74,100,220,.26);background:#02030b}
  .mobile-footer-logo{width:183px;max-width:none}
  .mobile-footer>a:last-child{font-size:13px;color:#9bcaff;text-decoration:none;letter-spacing:.01em}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(hover:hover){.desktop-hit:hover{box-shadow:0 0 14px rgba(99,67,255,.13)}}

.motion-paused .line-travel,.motion-paused .cosmic-mist,.motion-paused .aurora,.motion-paused .star-sweep,.motion-paused .hero-x-bloom,.motion-paused .icon-bloom,.motion-paused .logo-scanner,.motion-paused .mobile-page *{animation-play-state:paused!important}
