/* FVSPA site — shared styles that sit alongside the Tailwind CDN build.
   Plain CSS only: this file is not processed by Tailwind's JIT, so it must
   not use @apply. Utility classes go in the markup; this file covers the
   base resets. */

html,
body {
  margin: 0;
  padding: 0;
}

body {
  overscroll-behavior: none;
  background-color: #0F0F12;
}

/* Dedicated portrait hero crop for narrow screens. */
@media (max-width: 767px) {
  .hero-section {
    min-height: 48rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    background: #0f0f12;
  }

  #hero-bg {
    top: 44% !important;
    height: 56% !important;
    bottom: auto !important;
    background-image: url('../images/hero-photo-mobile.webp') !important;
    background-position: 62% center;
  }

  .hero-overlay {
    top: 44% !important;
    height: 56% !important;
    bottom: auto !important;
    background: linear-gradient(to bottom, rgba(15, 15, 18, 0.25), rgba(15, 15, 18, 0.05) 35%, rgba(15, 15, 18, 0.3));
  }

  .hero-copy {
    max-width: 20rem;
    padding-left: 0;
    padding-right: 0;
  }

  .hero-title {
    font-size: 2rem;
    line-height: 1.08;
  }

  .hero-description {
    font-size: 1rem;
    line-height: 1.55;
    max-width: 18rem;
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
    width: auto;
  }

  .hero-actions a {
    width: 15rem;
  }
}

main > :first-child {
  margin-top: 0 !important;
}

main > :last-child {
  margin-bottom: 0 !important;
}

::-webkit-scrollbar {
  display: none;
}

/* Google Fonts is loaded only after consent (js/consent.js). Until then the
   icon font is absent, so hide the raw ligature text and give the mobile menu
   button a plain-text fallback glyph. */
html.no-gfonts .material-symbols-outlined {
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  color: transparent;
  user-select: none;
  position: relative;
}

html.no-gfonts #menu-btn .material-symbols-outlined::after {
  content: '\2630';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e4e1e6;
}
