
.o4-reveal {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 520ms ease,
    transform 520ms ease,
    border-color 180ms ease,
    background 180ms ease;
  transition-delay: var(--o4-reveal-delay, 0ms);
}

.o4-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.feature-card.o4-reveal.is-visible:hover,
.featured-tool-card.o4-reveal.is-visible:hover,
.article-card.o4-reveal.is-visible:hover,
.collection-card.o4-reveal.is-visible:hover,
.collection-tool-card.o4-reveal.is-visible:hover,
.directory-pathway-card.o4-reveal.is-visible:hover,
.directory-tool-card.o4-reveal.is-visible:hover {
  transform: translateY(-2px);
}

@keyframes o4-scan {
  0%,
  58% {
    transform: translateY(-110%);
  }

  76%,
  100% {
    transform: translateY(110%);
  }
}

@keyframes o4-pulse {
  0% {
    opacity: 0.2;
    transform: scale(0.82);
  }

  45% {
    opacity: 0.86;
    transform: scale(1);
  }

  100% {
    opacity: 0;
    transform: scale(1.45);
  }
}

@keyframes o4-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(-7deg);
  }

  50% {
    transform: translate3d(-6px, -8px, 0) rotate(-4deg);
  }
}

@keyframes o4-line-trace {
  0%,
  100% {
    opacity: 0.26;
    transform: scaleX(0.5);
  }

  48% {
    opacity: 0.72;
    transform: scaleX(1);
  }
}

@keyframes o4-radar-sweep {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 920px) {
  .header-nav-link {
    justify-content: flex-start;
  }

  .hero-capability-strip {
    gap: 8px;
  }

  .hero-signal-map {
    min-height: 128px;
  }

  .home-command-shell {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "visual"
      "modes";
  }

  .command-radar {
    margin-inline: auto;
  }

  .home-command-modes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-map-node {
    width: 36px;
    height: 36px;
  }
}

@media (max-width: 680px) {
  .hero-capability-strip span {
    min-height: 34px;
    padding-inline: 10px;
    font-size: 0.68rem;
  }

  .hero-console-note {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .o4-card-icon,
  .hero-note-icon,
  .method-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .o4-card-icon .o4-ui-icon,
  .hero-note-icon .o4-ui-icon,
  .method-icon .o4-ui-icon {
    width: 19px;
    height: 19px;
  }

  .hero-signal-map {
    min-height: 112px;
  }

  .home-command-section {
    padding-top: 24px;
  }

  .home-command-shell {
    padding: 18px;
  }

  .home-command-copy h2 {
    max-width: none;
    font-size: clamp(2rem, 12vw, 3rem);
  }

  .home-command-actions {
    display: grid;
  }

  .home-command-actions .button {
    width: 100%;
  }

  .command-radar {
    width: min(100%, 260px);
  }

  .home-command-modes {
    grid-template-columns: 1fr;
  }

  .home-command-mode {
    min-height: 0;
    padding: 14px;
  }

  .collection-route-map {
    min-height: 96px;
  }

  .investigation-dock {
    right: 12px;
    bottom: 10px;
    left: 12px;
    width: auto;
    align-items: stretch;
  }

  .investigation-dock-toggle {
    width: 100%;
    min-height: 58px;
    border-radius: 16px;
  }

  .investigation-dock-panel {
    max-height: 58vh;
    padding: 14px;
    border-radius: 18px;
  }

  .investigation-dock-actions {
    grid-template-columns: 1fr;
  }

  .investigation-dock-actions .button {
    width: 100%;
  }

  .shortlist-brief {
    align-items: end;
    padding: 10px;
  }

  .shortlist-brief-panel {
    max-height: 86vh;
    padding: 16px;
    border-radius: 18px;
  }

  .shortlist-brief-head h2 {
    font-size: clamp(2rem, 11vw, 3rem);
  }

  .shortlist-brief-status span {
    min-height: 30px;
    padding-inline: 9px;
    font-size: 0.62rem;
  }

  .shortlist-brief-row {
    grid-template-columns: 1fr;
    border-radius: 14px;
  }

  .shortlist-brief-tool,
  .shortlist-brief-cell {
    padding: 12px;
  }

  .shortlist-brief-cell {
    grid-template-columns: 7.5rem minmax(0, 1fr);
    align-items: start;
  }

  .shortlist-brief-actions {
    display: grid;
  }

  .shortlist-brief-actions .button {
    width: 100%;
  }

  .shortlist-brief-copy-status {
    margin-left: 0;
  }

  .hero-map-node-d {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .o4-reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  .hero-console::after,
  .tool-proof-surface::after,
  .tool-hero-dossier::after,
  .hero-console-status span,
  .hero-map-ping,
  .hero-console-brand,
  .hero-signal-map::before,
  .command-radar-sweep {
    animation: none !important;
  }
}
