/*///////////// BODY STYLES /////////////*/

body {
  background-color: var(--strong); /* Use the --strong variable for the background */
  color: white; /* Set text color to white */
  -webkit-font-smoothing: antialiased; /* Improves font rendering on WebKit browsers */
  -moz-osx-font-smoothing: grayscale; /* Improves font rendering on macOS */
}


/*///////////// TYPOGRAPHY /////////////*/

.typo-huge {
    font-family: var(--HUGE-font-family);
    font-size: var(--HUGE-font-size);
    font-weight: var(--HUGE-font-weight);
    letter-spacing: var(--HUGE-letter-spacing);
    line-height: var(--HUGE-line-height);
    font-style: var(--HUGE-font-style);
  }
  
  .typo-h1 {
    font-family: var(--h1-font-family);
    font-size: var(--h1-font-size);
    font-weight: var(--h1-font-weight);
    letter-spacing: var(--h1-letter-spacing);
    line-height: var(--h1-line-height);
    font-style: var(--h1-font-style);
  }
  
  .typo-h2 {
    font-family: var(--h2-font-family);
    font-size: var(--h2-font-size);
    font-weight: var(--h2-font-weight);
    letter-spacing: var(--h2-letter-spacing);
    line-height: var(--h2-line-height);
    font-style: var(--h2-font-style);
  }
  
  .typo-h3 {
    font-family: var(--h3-font-family);
    font-size: var(--h3-font-size);
    font-weight: var(--h3-font-weight);
    letter-spacing: var(--h3-letter-spacing);
    line-height: var(--h3-line-height);
    font-style: var(--h3-font-style);
  }
  
  .typo-body1 {
    font-family: var(--BODY-1-font-family);
    font-size: var(--BODY-1-font-size);
    font-weight: var(--BODY-1-font-weight);
    letter-spacing: var(--BODY-1-letter-spacing);
    line-height: var(--BODY-1-line-height);
    font-style: var(--BODY-1-font-style);
  }
  
  .typo-body2 {
    font-family: var(--BODY-2-font-family);
    font-size: var(--BODY-2-font-size);
    font-weight: var(--BODY-2-font-weight);
    letter-spacing: var(--BODY-2-letter-spacing);
    line-height: var(--BODY-2-line-height);
    font-style: var(--BODY-2-font-style);
  }
  
  .typo-body3 {
    font-family: var(--BODY-3-font-family);
    font-size: var(--BODY-3-font-size);
    font-weight: var(--BODY-3-font-weight);
    letter-spacing: var(--BODY-3-letter-spacing);
    line-height: var(--BODY-3-line-height);
    font-style: var(--BODY-3-font-style);
  }





/*///////////// PAGE WRAPPER AND MARGINS /////////////*/

.page-wrapper {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 16px;
    display: flex;
    flex-direction: column;
    justify-content: left;
    background-color: "0000ff";
    height: 100vh;
    position: relative;
    z-index: 1; /* Places the content above the video and mask */
  }

  @media (min-width: 768px) {
    .page-wrapper {
      padding-left: 36px;
      padding-right: 36px;
    }
  }
  





  /*///////////// HERO BLOCK /////////////*/

  .block-hero {
    font-family: var(--HUGE-font-family);
    font-size: var(--HUGE-font-size);
    font-weight: var(--HUGE-font-weight);
    letter-spacing: var(--HUGE-letter-spacing);
    line-height: var(--HUGE-line-height);
    font-style: var(--HUGE-font-style);
    text-align: left;
    width: 100%;
    height: fit-content;
    margin: 0 auto;
  }
  
  /* Under 1024px: switch to H2 styles */
  @media (max-width: 1023px) {
    .block-hero {
      font-family: var(--h2-font-family);
      font-size: var(--h2-font-size);
      font-weight: var(--h2-font-weight);
      letter-spacing: var(--h2-letter-spacing);
      line-height: var(--h2-line-height);
      font-style: var(--h2-font-style);
      padding-bottom: 16px;
    }
  }
  



/*///////////// SLOGAN BLOCK /////////////*/

.block-slogan {
    font-family: var(--h2-font-family);
    font-size: var(--h2-font-size);
    font-weight: var(--h2-font-weight);
    letter-spacing: var(--h2-letter-spacing);
    line-height: var(--h2-line-height);
    font-style: var(--h2-font-style);
    text-align: left;
    width: 100%;
    height: fit-content;
    margin: 0 auto;
    padding-bottom: 16px;
  }
  
  /* Under 1024px: switch to BODY-1 styles */
  @media (max-width: 1023px) {
    .block-slogan {
      font-family: var(--BODY-1-font-family);
      font-size: var(--BODY-1-font-size);
      font-weight: var(--BODY-1-font-weight);
      letter-spacing: var(--BODY-1-letter-spacing);
      line-height: var(--BODY-1-line-height);
      font-style: var(--BODY-1-font-style);
      padding-bottom: 16px;
      text-transform: lowercase;
    }
  }

/*///////////// AREAS OF FOCUS BLOCK /////////////*/

.block-areas-of-interest {
    display: flex;
    flex-direction: column;
    padding-bottom: 10px;
    width: 100%;
    text-transform: lowercase;
  }
  
  .block-areas-of-interest .text-content {
    display: flex;
    flex-direction: row;
    justify-content: left;
    width: 100%;
    flex-wrap: nowrap;
  }
  
  .block-areas-of-interest .column {
    display: flex;
    flex-direction: column;
    text-align: left;
    flex: 1;
    margin-right: 12px;
  
    font-family: var(--BODY-1-font-family);
    font-size: var(--BODY-1-font-size);
    font-weight: var(--BODY-1-font-weight);
    line-height: var(--BODY-1-line-height);
    font-style: var(--BODY-1-font-style);
    letter-spacing: var(--BODY-1-letter-spacing);
  }
  
  /* Remove right margin from last column */
  .block-areas-of-interest .column:last-child {
    margin-right: 0;
  }
  
  /* Below 1024px → switch to BODY-3 */
  @media (max-width: 1023px) {
    .block-areas-of-interest .column {
      font-family: var(--BODY-1-font-family);
      font-size: var(--BODY-1-font-size);
      font-weight: var(--BODY-1-font-weight);
      line-height: var(--BODY-1-line-height);
      font-style: var(--BODY-1-font-style);
      letter-spacing: var(--BODY-1-letter-spacing);
    }
  }
  
  /* Below 680px → stack vertically */
  @media (max-width: 679px) {
    .block-areas-of-interest .text-content {
      flex-direction: column;
      
    }
  
    .block-areas-of-interest .column {
      margin-right: 0;
      margin-bottom: 24px;
      text-align: left;
    }
  
    .block-areas-of-interest .column:last-child {
      margin-bottom: 0;
    }
  }


/*///////////// SPACER - HERO SECTION /////////////*/


  .spacer-hero-section {
    display: flex;
    flex-grow: 1;
    width: 100%;
  }

  /*///////////// LINK STYLES AND SECTION /////////////*/

  a:hover {
    background-color: black;
    color: white;
    transition: all 0.5s ease;
    padding: 0px 0px; /* optional: gives the highlight some space */
  }

  a {
    color: inherit;
    text-decoration: underline;
  }

  .link-section {
    font-family: var(--h2-font-family);
    font-size: var(--h2-font-size);
    font-weight: var(--h2-font-weight);
    letter-spacing: var(--h2-letter-spacing);
    line-height: var(--h2-line-height);
    font-style: var(--h2-font-style);
    display: flex;
    flex-direction: column;
    justify-content: left;
    align-items: left;
    width: fill;
  }

/* Full-page video background */
.video-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures the video covers the entire screen */
  z-index: -2; /* Places the video behind other content */
}

/* Halftone mask overlay */
.halftone-mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* 50% transparent black overlay */
  /* background-image: url('/images/dots004 tiled.webp'); Halftone mask image */
  background-size: cover; /* Ensures the mask covers the entire screen */
  background-blend-mode: multiply; /* Blends the mask with the semi-transparent background */
  z-index: -1; /* Places the mask above the video but behind the content */
 

}