.hero .device-3d {
  width: 100%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 4 / 3;
  position: relative;
  opacity: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  touch-action: pan-y;
}

.hero .device-3d.is-rendered { opacity: 1; }
.motion-ready .device-3d.is-visible { transform: none; filter: none; }
.device-3d::before,
.device-3d .notebook-glow,
.device-3d .notebook-shadow,
.device-3d .notebook-closed,
.device-3d .notebook-open,
.device-3d canvas { display: none; }

.mac-sequence-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  user-select: none;
  transform: translate3d(0, 0, 0);
  image-rendering: auto;
}

.device-3d.mac-sequence-settled .mac-sequence-frame {
  animation: mac-sequence-float 6s ease-in-out infinite;
}

@keyframes mac-sequence-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -7px, 0); }
}

.device-3d .hero-media-badge {
  z-index: 2;
  top: 12px;
  left: 12px;
}

.device-3d:focus-visible {
  outline: 2px solid #e4b750;
  outline-offset: 4px;
}

@media (max-width: 980px) {
  .hero .device-3d {
    width: min(100%, 820px);
    margin: 14px auto 0;
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 640px) {
  .hero .hero-title { font-size: 38px; }
  .hero .device-3d {
    width: 112%;
    max-width: none;
    margin: 12px -6% 0;
    aspect-ratio: 4 / 3;
    overflow: visible;
  }
  .device-3d .hero-media-badge {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .device-3d.mac-sequence-settled .mac-sequence-frame { animation: none; }
}

.hero .hero-title {
  font-size: 56px;
  line-height: 1.12;
  letter-spacing: 0;
}
.hero .hero-title span { color: #f7f3ea; letter-spacing: 0; }
.hero { background: #0d0e10; }
.hero::before { display: none; }
