/* ==============================================
  CORE STYLES (style.css)
  ==============================================
*/

/* --- Font Definitions --- */
@font-face {
    font-family: "NovedoHelvetica";
    src: url("https://db.onlinewebfonts.com/t/e66905e07608167a84e6ad52f638c3c6.eot");
    src: url("https://db.onlinewebfonts.com/t/e66905e07608167a84e6ad52f638c3c6.eot?#iefix") format("embedded-opentype"),
         url("https://db.onlinewebfonts.com/t/e66905e07608167a84e6ad52f638c3c6.woff2") format("woff2"),
         url("https://db.onlinewebfonts.com/t/e66905e07608167a84e6ad52f638c3c6.woff") format("woff"),
         url("https://db.onlinewebfonts.com/t/e66905e07608167a84e6ad52f638c3c6.ttf") format("truetype"),
         url("https://db.onlinewebfonts.com/t/e66905e07608167a84e6ad52f638c3c6.svg#Helvetica Now Var") format("svg");
}
@font-face {
  font-family: "Futura PT";
  src: url("Assets/Fonts/woff2/FuturaExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* --- Global Resets & Base Styles --- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
}

body {
  font-family: "NovedoHelvetica", sans-serif;
  color: black;
  background-color: #000; /* Fallback color */
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* Makes all pages non-scrollable by default */
}

/* --- Bulletproof Background --- */
.background-video-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
  /* The poster image is now the default background */
  background-size: cover;
  background-position: center center;
}

.background-video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  pointer-events: none;
  /* The video starts invisible and fades in */
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.background-video.is-playing {
  opacity: 1;
}


/* --- Main Content Container --- */
.content-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  padding: 2rem 1.5rem;
  position: relative;
  z-index: 2;
}

/* --- Common Link & Text Styles --- */
a {
  color: black;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

a:hover {
  opacity: 0.7;
}

/* --- Page Header Images --- */
.page-header {
  width: 100%;
  max-width: 280px;
  height: auto;
  margin-bottom: 1rem;
}

/* --- Sub-header Text Style --- */
.sub-header {
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 2rem;
}
