:root {
    --fs: clamp(3rem, 8vw, 5rem);
    --blur: 2rem;
  }
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  body {
    font-family: 'Inter', sans-serif;
    color: white;
    height: 100vh;
    overflow: hidden;
    position: relative;
    font-style: italic;
  }
  h1.title-aurora {
    text-transform: uppercase;
    position: absolute;
    top: clamp(10px, 5vw, 30px);
    left: clamp(20px, 10vw, 130px);
    font-size: clamp(2rem, 8vw, 5rem);
    font-weight: 800;
    letter-spacing: -2px;
    color: transparent;
    background: linear-gradient(45deg, #00c2ff, #33ff8c, #ffc640, #e54cff);
    background-size: 400% 400%;
    animation: gradientMove 10s ease infinite;
    -webkit-background-clip: text;
    background-clip: text;
    z-index: 10;
    padding-right: 13px;
    opacity: 0;
    transition: opacity 1.5s ease;
  }
  @keyframes gradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
  }
  h1.title-aurora::after {
    content: "LOSTHIGHWAY";
    position: absolute;
    top: 0;
    left: 0;
    color: black;
    z-index: -1;
    filter: blur(4px);
    opacity: 0.4;
  }
  .rotated-wrapper {
    position: absolute;
    left: 10%;
    top: 50%;
    transform: translateY(-50%);
    width: 50vmin;
    height: 50vmin;
    opacity: 0;
    transition: opacity 1.5s ease;
  }
  .rotated-container {
    transform: rotate(45deg);
    transform-origin: center;
    width: 100%;
    height: 100%;
  }
  .grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.8vmin;
    width: 100%;
    height: 100%;
  }
  .cell {
    background-color: black;
    position: relative;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: transform 0.3s ease;
  }
  .cell:hover {
    transform: scale(1.05);
  }
  .vignette {
    transform: rotate(-45deg) scale(2,2);
    transform-origin: center;
    width: 100%;
    height: 100%;
    background-color: rgb(0, 0, 0);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }
  .vignette img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.3s ease;
  }
  .overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 0.5em;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    text-transform: uppercase;
    pointer-events: none;
  }
  .cell:hover .overlay {
    opacity: 1;
  }
  #bg-video {
    position: fixed;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    z-index: -2;
  }
  #video-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/images/lynch/visage.jpg') no-repeat center center fixed;
    background-size: cover;
    z-index: -1;
    opacity: 0;
    transition: opacity 3s ease;
  }
  .fade-in {
    opacity: 1 !important;
    pointer-events: auto;
  }