/* Static artwork, compositor-only movement. Existing headline and actions keep their layout. */
.hero-layout { position:relative; width:100%; max-width:none; }
.hero-layout > .reveal { max-width:820px; }
.hero-brand-float {
  position:absolute; top:50%; right:-40px; width:400px; aspect-ratio:1;
  transform:translateY(-50%); pointer-events:none; user-select:none;
}
.hero-brand-image {
  display:block; position:relative; z-index:1; width:100%; height:auto;
  object-fit:contain; animation:underlabsHeroFloat 7s ease-in-out infinite;
  will-change:transform;
}
.hero-brand-shadow {
  position:absolute; left:25%; right:25%; bottom:3%; height:5%;
  border-radius:50%; background:radial-gradient(ellipse,rgba(255,255,255,.1),transparent 70%);
  animation:underlabsHeroShadow 7s ease-in-out infinite;
}
@keyframes underlabsHeroFloat {
  0%,100% { transform:translate3d(0,8px,0); }
  50% { transform:translate3d(0,-14px,0); }
}
@keyframes underlabsHeroShadow {
  0%,100% { transform:scaleX(1); opacity:.5; }
  50% { transform:scaleX(.8); opacity:.25; }
}
@media (min-width:1600px) { .hero-brand-float { right:-54px; width:430px; } }
@media (max-width:1240px) {
  .hero-brand-float { right:-12px; width:320px; }
  .hero-layout > .reveal { max-width:calc(100% - 280px); }
  .hero-layout h1 { font-size:clamp(44px,6.7vw,82px); }
}
@media (max-width:960px) {
  .hero-brand-float { display:none; }
  .hero-layout > .reveal { max-width:820px; }
  .hero-layout h1 { font-size:clamp(44px,7.8vw,94px); }
}
@media (prefers-reduced-motion:reduce) {
  .hero-brand-image,.hero-brand-shadow { animation:none; will-change:auto; }
}
