/* Skip link: hidden until keyboard focus */
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 100;
  width: auto;
  height: auto;
  overflow: visible;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  background: #fff;
  color: #0c1222;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  outline: 2px solid #0d9488;
  outline-offset: 2px;
}

/* Subtle grid + noise for hero — complements Tailwind */
.hero-pattern {
  background-image:
    linear-gradient(rgba(12, 18, 34, 0.85), rgba(12, 18, 34, 0.92)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.06'%3E%3Cpath d='M0 24h48M24 0v48'/%3E%3C/g%3E%3C/svg%3E");
  background-size: auto, 48px 48px;
}

/* Inner pages: compact hero band (reuses grid texture) */
.page-hero {
  position: relative;
  overflow: hidden;
}

/* Pitch deck imagery — framed for dark hero */
.deck-img-frame {
  border-radius: 1rem;
  box-shadow:
    0 25px 50px -12px rgb(0 0 0 / 0.45),
    0 0 0 1px rgb(255 255 255 / 0.08);
  overflow: hidden;
  max-height: min(70vh, 520px);
}

.deck-img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: min(70vh, 520px);
  object-fit: cover;
  object-position: center;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
