/* VORBULL / IDENTIDADE VIVA — visual autoral, HTML/CSS reais e GSAP progressivo. */
.vb-motion{--vb-ink:#0b1520;--vb-blue:#2a5ef5;--vb-pale:#e4f1ff;position:relative;isolation:isolate;overflow:hidden;width:min(100%,510px);height:clamp(256px,22vw,294px);margin:42px 0 0;background:#c5dcf2;color:var(--vb-ink);display:flex;flex-direction:column;justify-content:space-between;padding:19px 20px 16px;box-sizing:border-box;contain:layout paint;}
.vb-motion::before,.vb-motion::after{content:"";position:absolute;left:20px;right:20px;height:1px;background:rgba(14,37,67,.45);z-index:4;pointer-events:none;}
.vb-motion::before{top:13px}.vb-motion::after{bottom:12px}
.vb-motion__atmosphere{position:absolute;inset:-9%;z-index:-1;pointer-events:none;overflow:hidden;background:linear-gradient(133deg,#dfeeff 1%,#c8dcf5 40%,#b3ceef 85%);}
.vb-motion__mesh{position:absolute;inset:-25%;display:block;will-change:transform,opacity;filter:blur(25px);opacity:.7;}
.vb-motion__mesh--one{background:radial-gradient(ellipse 42% 38% at 32% 44%,rgba(246,251,255,.99),transparent 90%),radial-gradient(ellipse 45% 40% at 80% 10%,rgba(78,135,249,.37),transparent 90%);}
.vb-motion__mesh--two{background:radial-gradient(ellipse 38% 36% at 70% 78%,rgba(52,115,240,.28),transparent 94%),radial-gradient(ellipse 34% 46% at 5% 90%,rgba(236,249,255,.8),transparent 90%);mix-blend-mode:multiply;opacity:.67;}
.vb-motion__plane{position:absolute;width:79%;height:62%;background:rgba(94,150,240,.13);transform:rotate(-18deg);transform-origin:center;will-change:transform;}
.vb-motion__plane--one{top:21%;left:-23%;clip-path:polygon(0 38%,100% 0,90% 56%,10% 100%)}
.vb-motion__plane--two{top:-22%;left:42%;width:92%;height:92%;background:rgba(255,255,255,.21);clip-path:polygon(16% 0,100% 35%,80% 100%,0 55%);}
.vb-motion__grain{position:absolute;inset:0;opacity:.20;background-size:120px 120px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' opacity='.34' filter='url(%23grain)'/%3E%3C/svg%3E");}
.vb-motion__scan{position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.20) 35%,transparent 54%);opacity:.4;transform:translateX(-130%);pointer-events:none;}
.vb-motion__top,.vb-motion__bottom{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:inherit;letter-spacing:.14em;font-size:8px;line-height:1.25;font-weight:900;}
.vb-motion__top{padding-top:9px}.vb-motion__top span:last-child{font-weight:650;color:#475d77;letter-spacing:.12em;text-align:right;font-size:7px;}
.vb-motion__top sup{font-size:6px;position:relative;top:-.2em}
.vb-motion__center{position:relative;z-index:2;display:grid;grid-template-columns:39% minmax(0,61%);align-items:center;flex:1;min-height:0;margin-top:5px;}
.vb-motion__sigil{position:relative;width:100%;aspect-ratio:1.2;display:grid;place-items:center;min-width:0;transform:translateZ(0);}
.vb-motion__sigil::before{content:"";position:absolute;inset:0 7% 0 -8%;background:linear-gradient(124deg,rgba(67,129,235,.08),rgba(41,96,212,.15));clip-path:ellipse(42% 44% at 45% 52%);}
.vb-motion__halo{position:absolute;inset:8% -4% 8% 0%;border:1px solid rgba(35,91,220,.52);border-radius:50%;transform:rotate(-19deg) scaleX(.9);will-change:transform;}
.vb-motion__halo--inner{inset:23% 6% 20% -2%;border-color:rgba(255,255,255,.81);transform:rotate(23deg) scaleX(1.22);}
.vb-motion__bull{position:relative;display:block;width:96%;max-width:175px;height:auto;object-fit:contain;filter:drop-shadow(7px 10px 0 rgba(45,112,228,.08));transform:translateZ(0);will-change:transform;z-index:2;}
.vb-motion__beacon{position:absolute;width:5px;height:5px;border-radius:50%;background:#2b5eff;left:70%;top:22%;box-shadow:0 0 0 4px rgba(44,98,234,.09);}
.vb-motion__words{position:relative;min-width:0;padding-left:4px;margin-left:-6px;z-index:3;}
.vb-motion__eyebrow{display:block;font-size:7px;letter-spacing:.18em;color:#3e5f9c;font-weight:850;margin-bottom:11px;white-space:nowrap;}
.vb-motion__title{font-family:inherit;margin:0!important;font-size:clamp(27px,2.6vw,44px)!important;line-height:.88!important;font-weight:950!important;letter-spacing:-.078em!important;white-space:nowrap;max-width:none!important;}
.vb-motion__title strong{font-weight:950;color:#285df5;}
.vb-motion__title strong span{color:#111820}
.vb-motion__trajectory{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
.vb-motion__trajectory-base{fill:none;stroke:rgba(255,255,255,.84);stroke-width:1.1;vector-effect:non-scaling-stroke;}
.vb-motion__trajectory-live{fill:none;stroke:rgba(36,88,232,.72);stroke-width:1.05;stroke-dasharray:95 650;stroke-dashoffset:680;vector-effect:non-scaling-stroke;}
.vb-motion__bottom{padding-bottom:4px;font-size:8px;letter-spacing:.1em;}
.vb-motion__bottom span:last-child{color:#2757db;text-align:right;}.vb-motion__bottom b{font-size:16px;font-weight:450;line-height:.3;vertical-align:middle;padding-left:4px;}
/* CSS fallback only, GSAP takes ownership of the same properties when available. */
.vb-motion.is-native-active .vb-motion__mesh--one{animation:vb-atmosphere-a 12s ease-in-out infinite alternate;}
.vb-motion.is-native-active .vb-motion__mesh--two{animation:vb-atmosphere-b 16s ease-in-out infinite alternate;}
.vb-motion.is-native-active .vb-motion__trajectory-live{animation:vb-trace 7s ease-in-out infinite;}
.vb-motion.is-native-active .vb-motion__scan{animation:vb-scan 16s linear infinite;}
@keyframes vb-atmosphere-a{to{transform:translate3d(4%,-2%,0) scale(1.045)}}
@keyframes vb-atmosphere-b{to{transform:translate3d(-3%,3%,0) scale(1.055)}}
@keyframes vb-trace{0%{stroke-dashoffset:680}100%{stroke-dashoffset:-140}}
@keyframes vb-scan{0%,37%{transform:translateX(-130%)}60%,100%{transform:translateX(160%)}}
@media(max-width:1170px){.vb-motion{height:270px;padding-left:14px;padding-right:14px;}.vb-motion::before,.vb-motion::after{left:14px;right:14px;}.vb-motion__title{font-size:clamp(25px,2.7vw,34px)!important;}.vb-motion__top span:last-child{letter-spacing:.07em;font-size:6px;}.vb-motion__eyebrow{font-size:6px;letter-spacing:.10em;}}
@media(max-width:850px){.vb-motion{margin-top:30px;width:min(100%,510px);height:284px;padding:19px 20px 16px}.vb-motion::before,.vb-motion::after{left:20px;right:20px}.vb-motion__title{font-size:clamp(30px,6vw,42px)!important;}.vb-motion__top span:last-child{font-size:7px;}}
@media(max-width:580px){.vb-motion{width:100%;max-width:510px;height:clamp(224px,64vw,265px);padding:16px 14px 13px;margin-top:27px;}.vb-motion::before,.vb-motion::after{left:14px;right:14px}.vb-motion::before{top:10px}.vb-motion::after{bottom:10px}.vb-motion__center{grid-template-columns:37% minmax(0,63%)}.vb-motion__sigil{aspect-ratio:1.15}.vb-motion__bull{max-width:130px;width:102%}.vb-motion__words{margin-left:-5px}.vb-motion__title{font-size:clamp(25px,7.7vw,39px)!important}.vb-motion__eyebrow{font-size:6px;margin-bottom:8px;letter-spacing:.065em}.vb-motion__top,.vb-motion__bottom{font-size:7px;letter-spacing:.06em}.vb-motion__top span:last-child{font-size:6px;max-width:125px}.vb-motion__bottom span:last-child{max-width:56%;}.vb-motion__halo{inset:8% -12% 8% -9%;}.vb-motion__beacon{left:79%}}
@media(max-width:365px){.vb-motion__title{font-size:7.5vw!important}.vb-motion__top span:last-child{max-width:105px}.vb-motion__eyebrow{font-size:5px}}
@media(prefers-reduced-motion:reduce){.vb-motion *{animation:none!important;transition:none!important;will-change:auto!important}.vb-motion__trajectory-live{stroke-dashoffset:360}.vb-motion__scan{display:none}}
