@import url('https://fonts.googleapis.com/css2?family=Black+Ops+One&family=Oswald:wght@600&display=swap');

:root {
    /* Define Brand Colors */
    --sct-charcoal: #2F3A3A;
    --sct-maroon: #5C0606;
    --sct-blue: #0A3D62;
    --sct-silver: #C0C0C0;
    --sct-beige: #DDC8AD;
    --sct-roasted: #1C1410;
    --sct-cocoa: #2D221B;
    --sct-espresso: #0B0B06;
    --sct-white: #FFFFFF;
    --sct-black: #000000;

    /* Define the Font Family Variable Names & Weight */
    --font-header: "Black Ops One", system-ui;
    --font-subheader: "Oswald", sans-serif;
    --font-regular: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    /* Accessibility: Focus Outline */
    --focus-outline: 3px solid var(--sct-blue);
}

/* Accessibility: Focus States for All Interactive Elements */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: var(--focus-outline);
    outline-offset: 2px;
}

/* Remove default outline for visual feedback through other means (border/box-shadow) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: var(--focus-outline);
    outline-offset: 2px;
}

/* Custom Brand Background Colors */
.bg-sct-charcoal { background-color: var(--sct-charcoal) !important; }
.bg-sct-maroon { background-color: var(--sct-maroon) !important; }
.bg-sct-blue { background-color: var(--sct-blue) !important; }
.bg-sct-silver { background-color: var(--sct-silver) !important; }
.bg-sct-beige { background-color: var(--sct-beige) !important; }
.bg-sct-roasted { background-color: var(--sct-roasted) !important; }
.bg-sct-cocoa { background-color: var(--sct-cocoa) !important; }
.bg-sct-espresso { background-color: var(--sct-espresso) !important; }

/* Custom Brand Text Colors */
.text-sct-charcoal { color: var(--sct-charcoal) !important; }
.text-sct-maroon { color: var(--sct-maroon) !important; }
.text-sct-blue { color: var(--sct-blue) !important; }
.text-sct-silver { color: var(--sct-silver) !important; }
.text-sct-beige { color: var(--sct-beige) !important; }
.text-sct-roasted { color: var(--sct-roasted) !important; }
.text-sct-cocoa { color: var(--sct-cocoa) !important; }
.text-sct-espresso { color: var(--sct-espresso) !important; }

/* Custom Fonts */
.font-header { font-family: var(--font-header) !important; }
.font-subheader { font-family: var(--font-subheader) !important; }
.font-regular { font-family: var(--font-regular) !important; }

/* Header Titles */
h1 {
  font-family: var(--font-header);
  font-size: 2.5rem;
  font-weight: 400;
  color: var(--sct-silver);
  line-height: 1.25;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
}
h2 {
  font-family: var(--font-header);
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0;
}
h3 {
  font-family: var(--font-subheader);
  font-size: 2rem;
  font-weight: 600;
  color: var(--sct-beige);
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0;
}
h4 {
  font-family: var(--font-subheader);
  font-size: 1.75rem;
  font-weight: 600;
  color: white;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0;
}
h5 {
  font-family: var(--font-subheader);
  font-size: 1.5rem;
  font-weight: 600;
  color: white;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0;
}
h6 {
  font-family: var(--font-subheader);
  font-size: 1.25rem;
  font-weight: 600;
  color: white;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0;
}

/* Global Styles */
body {
  font-family: var(--font-regular);
  font-size: 1.25rem;
  font-weight: 400;
  color: white;
  background-color: var(--sct-espresso);
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

p {
  color: white;
  margin: 0;
  padding: 0;
}

a {
  color: var(--sct-beige);
  transition: color 0.3s ease;
  text-decoration: none;
}

a:hover { color: var(--sct-silver); }

.button {
  border: none;
  margin: 0;
  font-family: var(--font-regular);
  cursor: pointer;
  font-weight: 400;
  font-size: 1rem;
  padding: 10px 20px;
  border-radius: 5px;
  background-color: var(--sct-blue);
  border: 1px solid var(--sct-blue);
  color: white;
  text-transform: uppercase;
  transition: background-color 0.3s ease;
}

.button:hover {
  background-color: var(--sct-maroon);
  border-color: var(--sct-maroon);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* Accessibility: Skip Link - Hide off-screen but keep focusable */
.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--sct-maroon);
  color: white;
  padding: 8px 16px;
  text-decoration: none;
  z-index: 100;
  border-radius: 0 0 4px 0;
}

.skip-link:focus {
  top: 0;
}

/* Hero Section */
#HeroSection {
  display: flex;
  position: relative;
  width: 100%;
  height: 100vh;
  max-height: 600px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-align: center;
}

#HeroSection video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  z-index: 1;
}

.video-overlay {
  display: flex;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 2;
}

.hero-jumbotron {
  position: relative;
  padding: 0 1rem !important;
  z-index: 3;
}

.hero-title {
  margin-top: 0;
  margin-bottom: 1rem;
}

.hero-description {
  font-family: var(--font-subheader);
  font-size: 2rem;
  font-weight: 600;
  color: var(--sct-beige);
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0;
  font-style: italic;
}

@media (max-width: 350px) {
    #HeroSection h1 { font-size: 2.0rem; }
}

/* Parallax Background */
.parallax-group {
    position: relative;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 6rem;
    z-index: 0;
}

.parallax-opacity {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
    pointer-events: none;
}

.parallax-group > section {
    position: relative;
    z-index: 2;
    padding-top: 6rem;
}

/* Glass Panel */
.glass-panel {
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.9),
        0 0 0 1px rgba(148, 163, 184, 0.25);
    backdrop-filter: blur(15px) saturate(100%);
    -webkit-backdrop-filter: blur(15px) saturate(100%);
}

.glass-panel::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: linear-gradient(135deg,
        rgba(0, 246, 255, 0.45),
        rgba(236, 72, 153, 0.25),
        transparent 60%);
    opacity: 0.35;
    mix-blend-mode: screen;
    pointer-events: none;
}

/* Glass Card */
.glass-card {
    background: rgba(15, 23, 42, 0.75);
    border-radius: 25px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.9),
        0 0 0 1px rgba(148, 163, 184, 0.25);
    backdrop-filter: blur(20px) saturate(200%);
    -webkit-backdrop-filter: blur(20px) saturate(200%);
    transition: all .22s ease-out;
}

.glass-card:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 255, 255, 0.22);
    box-shadow:
        0 30px 70px rgba(15, 23, 42, 0.95),
        0 0 0 1.5px rgba(0, 246, 255, 0.55);
}

.glass-card p {
    font-size: 1.25rem;
    color: var(--sct-silver);
}

/* Media Queries for Responsive Design */

@media (max-width: 375px) {
  h1 { font-size: 2.25rem; }
  h2 { font-size: 2rem; }
  h3 { font-size: 1.75rem; }
  h4 { font-size: 1.5rem; }
  h5 { font-size: 1.25rem; }
  h6 { font-size: 1rem; }
  p { font-size: 1rem; }
  .hero-description { font-size: 1.75rem; }
}

@media (max-width: 575px) {  
  /* Header Section */
  .navbar-logo {
    width: 100%;
    max-width: 200px;
  }

  /* Footer Section */
  .footer-top { padding: 1rem; }
  .footer-logo {
    width: 100%;
    max-width: 250px;
  }
}

@media (min-width: 768px) {
  /* Font Sizes */
  h1 { font-size: 3rem; }
  h2 { font-size: 2.5rem; }
}

@media (min-width: 992px) {
  /* Font Sizes */
  h1 { font-size: 4rem; }
  h2 { font-size: 3rem; }
  h3 { font-size: 2.5rem; }
  h4 { font-size: 2rem; }
  p { font-size: 1.25rem; }
  .hero-description { font-size: 2.5rem; }
}

@media (min-width: 1400px) {
  h1 { font-size: 5rem; }
}



/* Media Queries for Responsive Design Breakpoint Template */

/* Size - Extra Small (XS: <576) */
@media (max-width: 575px) {}

/* Size - Small (SM: 576-768) */
@media (min-width: 576px) and (max-width: 767px) {}

/* Size - Medium (MD: 768-992) */
@media (min-width: 768px) and (max-width: 991px) {}

/* Size - Large (LG: 992-1200) */
@media (min-width: 992px) and (max-width: 1199px) {}

/* Size - Extra Large (XL: 1200-1400) */
@media (min-width: 1200px) and (max-width: 1399px) {}

/* Size - 2x Extra Large (XXL: >1400) */
@media (min-width: 1400px) {}