.orbit img { width: 100%; height: 100%; display: block; border-radius: inherit; object-fit: cover; }
.orbit span { padding: 2px; }
.app-marquee { overflow: hidden; color: #c4d2cd; background: #0a211b; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
.marquee-track { width: max-content; height: 74px; display: flex; align-items: center; gap: 24px; padding-inline: 24px; animation: marquee-slide 34s linear infinite; }
.marquee-track span { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; font-size: .74rem; font-weight: 750; letter-spacing: .03em; }
.marquee-track img { width: 32px; height: 32px; border-radius: 9px; object-fit: cover; box-shadow: 0 5px 13px rgba(0,0,0,.25); }
.marquee-track i { width: 4px; height: 4px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 10px var(--brand); }
@keyframes marquee-slide { to { transform: translateX(-50%); } }
.tab-app-icon { width: 35px; height: 35px; border-radius: 10px; object-fit: cover; box-shadow: 0 5px 13px rgba(0,0,0,.12); }
.mini-logo { padding: 0; object-fit: cover; }
.app-icon { width: 52px; height: 52px; display: block; border-radius: 14px; object-fit: cover; box-shadow: 0 8px 20px rgba(0,0,0,.28); }
.attention-icon { background: #fff; }
.lab-card, .web-card { transform: perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transform-style: preserve-3d; }
.lab-card:before { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; opacity:0; background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),rgba(49,230,173,.12),transparent 42%); transition:opacity .25s ease; }
.lab-card:hover:before { opacity:1; }
.lab-card .app-icon, .web-card .browser-preview { transform: translateZ(18px); }
.motion-ready .reveal { opacity: 0; transform: translateY(30px); transition: opacity .75s ease var(--reveal-delay,0ms), transform .75s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms); }
.motion-ready .reveal.revealed { opacity: 1; transform: translateY(0); }
.motion-ready .lab-card.reveal.revealed, .motion-ready .web-card.reveal.revealed { transform: perspective(900px) translateY(0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); }
.lab-console { transform: translate3d(var(--console-x,0),var(--console-y,0),0); transition: transform .18s ease-out; animation: console-breathe 5s ease-in-out infinite; }
@keyframes console-breathe { 0%,100% { box-shadow: 0 40px 90px rgba(0,0,0,.38); } 50% { box-shadow: 0 48px 110px rgba(0,0,0,.48),0 0 45px rgba(49,230,173,.06); } }
.hero-grid { animation: grid-drift 16s linear infinite; }
@keyframes grid-drift { to { background-position: 56px 56px; } }
.primary { position: relative; overflow: hidden; }
.primary:after { content:""; position:absolute; top:-100%; left:-45%; width:28%; height:300%; transform:rotate(24deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent); animation:button-sheen 5.5s ease-in-out infinite; }
@keyframes button-sheen { 0%,70% { left:-45%; } 90%,100% { left:130%; } }
.web-card:hover .browser-preview img { transform: scale(1.035) translateY(-5px); }
.progress i { transform-origin:left; animation:progress-pulse 3.4s ease-in-out infinite; }
@keyframes progress-pulse { 0%,100% { filter:brightness(1); } 50% { filter:brightness(1.45); box-shadow:0 0 10px rgba(49,230,173,.45); } }
@media (max-width: 620px) {
  .marquee-track { height: 62px; gap: 18px; animation-duration: 26s; }
  .marquee-track img { width: 28px; height: 28px; }
  .tab-app-icon { width: 28px; height: 28px; border-radius: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track,.lab-console,.hero-grid,.primary:after,.progress i { animation:none!important; }
  .lab-card,.web-card { transform:none!important; }
}
