 /*
Author: Greg Wohlwend
Author URI: http://aeiowu.com
*/

* { margin: 0; padding: 0; box-sizing: border-box; }

  html, body
  {
    background: #000;
    color: #fff;
    font-family: Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
  }

  /* HIDE SCROLLBAR */
  html
  {
    scrollbar-width: none; /* Firefox + modern Chrome */
  }
  ::-webkit-scrollbar
  {
    display: none; /* Safari + older Chrome/Edge */
  }

  /* ABOVE FOLD */
  .hero
  {
    position: relative;
    width: 100%;
    height: 100vh;
    height: 100svh; /* MOBILE-SAFE VIEWPORT */
    overflow: hidden;
    background: #000;
  }

  /* OVERSIZED VIDEO */
  .hero .video-frame
  {
    position: absolute;
    top: 50%;
    left: 50%;
    width:  max(100vw, 177.78vh);  /* 16/9 * 100vh */
    height: max(100vh, 56.25vw);   /*  9/16 * 100vw */
    transform: translate(-50%, -50%) scale(1.15);
    object-fit: cover;    /* NON 16:9 STILL FIT */
    opacity: 0;           /* FADE IN/OUT THROUGH SCRIPT */
    transition: opacity 0.5s ease;
    pointer-events: none; /* NON-INTERACTIVE */
    border: 0;
  }

  /* FALLBACK IMAGE GALERY */
  .hero .gallery
  {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: none;
  }
  .hero .gallery.active { display: block; }
  .hero .gallery img
  {
    width: 100%;
    height: 100%;
    object-fit: cover;   /* FULL-BLEED */
    opacity: 0;
    transition: opacity 0.6s ease;
  }

  /* OVERLAYED ON VIDEO */
  .hero .overlay
  {
    position: absolute;
    inset: 0;
    z-index: 2;
  }

  /* LOGO */
  .hero .logo
  {
    position: absolute;
    top: 2rem;
    left: 2rem;
    width: 25%;
    height: auto;
    pointer-events: none;
  }

  /* PREV/NEXT HOVER BUTTONS */
  .hero .nav-zone
  {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 15%;
    z-index: 4;
    display: flex;
    align-items: center;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 0 1.5rem;
  }
  .hero .nav-zone.prev { left: 0;  justify-content: flex-start; }
  .hero .nav-zone.next { right: 0; justify-content: flex-end; }

  .hero .nav-zone .arrow
  {
    font-size: 4rem;
    line-height: 1;
    color: #fff;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
    user-select: none;
  }
  .hero .nav-zone:hover .arrow { opacity: 0.9; }

  /* TITLE OF CLIP */
  .hero .clip-title
  {
    position: absolute;
    right: 2rem;
    bottom: 2rem;
    z-index: 3;
    font-size: 1.1rem;
    letter-spacing: 0.05em;
    text-shadow: 0 1px 8px rgba(0,0,0,0.6);
    opacity: 0;
    transition: opacity 0.6s ease;
  }
  .hero .clip-title.visible { opacity: 1; }

  /* CONTENT */
  main
  {
    max-width: 42rem; /* ~70 CHARS */
    margin: 0 auto;
    padding: 6rem 1.5rem 7rem;
    font-size: 1.0625rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
  }

  main section
  {
    margin-bottom: 5rem;
  }
  main section:last-child
  {
    margin-bottom: 0;
  }

  main h1
  {
    font-size: 1.75rem;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 1.25rem;
  }

  main p
  {
    margin-bottom: 1.25rem;
  }
  main p:last-child
  {
    margin-bottom: 0;
  }

  main img
  {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 2rem 0;
  }

  main a
  {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(255, 255, 255, 0.4);
  }
  main a:hover
  {
    text-decoration-color: #fff;
  }

  ul
  {
    padding-top: 0;
    margin-left: 2.22rem;
    list-style-type: square;
  }

  footer
  {
    background-color: #2220DE;
  }

  footer .content
  {
    max-width: 42rem;
    margin: 0 auto;
    padding: 1rem 1.5rem 1rem;
    font-size: 1.0625rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
  }
