/* Decorative motion for public pages only; navigation remains browser-native. */
.legal-intro {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 22px;
  background: #292d2c;
  color: #f4f2ed;
  pointer-events: none;
  font: 500 14px "Inter", Arial, sans-serif;
  animation: legal-intro-safety 1s step-end forwards;
}
.legal-intro img { width: 112px; height: 112px; object-fit: contain; }
.legal-intro-line { width: 72px; height: 1px; background: #d2bfa0; }
@keyframes legal-intro-safety { to { visibility: hidden; } }

@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root) { animation: legal-page-out 180ms ease-out both; }
  ::view-transition-new(root) { animation: legal-page-in 260ms ease-out both; }
  @keyframes legal-page-out { to { opacity: 0; } }
  @keyframes legal-page-in { from { opacity: 0; } to { opacity: 1; } }

  .brutal-topbar .brutal-nav a { position: relative; }
  .brutal-topbar .brutal-nav a::after {
    content: "";
    position: absolute;
    bottom: 4px;
    left: 12px;
    right: 12px;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 240ms ease;
  }
  .brutal-topbar .brutal-nav a:hover::after,
  .brutal-topbar .brutal-nav a:focus-visible::after { transform: scaleX(1); }

  @media (hover: hover) and (pointer: fine) {
    .brutal-blog-featured-media { overflow: hidden; }
    .brutal-blog-featured-media img { transition: transform 650ms cubic-bezier(.22,1,.36,1); }
    .brutal-blog-featured-media:hover img { transform: scale(1.025); }
  }
}

@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .legal-intro { display: none; }
  html { scroll-behavior: auto !important; }
  body.brutal-home *, body.brutal-blog *, body.contact-protocol-page * {
    animation: none !important;
    transition: none !important;
  }
}
@media print { .legal-intro { display: none; } }
