    @font-face {
  font-family: 'OpenSans-Bold';
  src: url('../fonts/OpenSans-Bold.ttf') format('truetype');
  font-style: normal;
}

    @font-face {
  font-family: 'OpenSans-Semibold';
  src: url('../fonts/OpenSans-Semibold.ttf') format('truetype');
  font-style: normal;
}

    @font-face {
  font-family: 'OpenSans-Regular';
  src: url('../fonts/OpenSans-Regular.ttf') format('truetype');
  font-style: normal;
}

   @font-face {
  font-family: 'RussoOne-Regular';
  src: url('../fonts/RussoOne-Regular.ttf') format('truetype');
  font-style: normal;
}


    *{
      margin:0;
      padding:0;
      box-sizing:border-box;
    }

    body{
      font-family: 'OpenSans-Bold';
      overflow:hidden;
      background:#000;
    }

    /* MAIN SECTION */
    .hero{
      position:relative;
      width:100%;
      height:93vh;
      overflow:hidden;
    }

    /* BACKGROUND IMAGE */
    .bg-image{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      filter:blur(10px);
      transform:scale(1.08);
    }

    /* DARK OVERLAY */
    .overlay{
      position:absolute;
      inset:0;
      background:rgba(0,0,0,0.25);
      z-index:1;
    }

    /* TOP STRIP */
    .top-strip{
      position:absolute;
      top:0;
      left:0;
      width:100%;
      height:1.2vh;
      min-height:0.5rem;
      background:#5b2dbd;
      z-index:3;
      box-shadow:0 0 1.2rem rgba(91,45,189,0.8);
    }

    /* LOGO */
    .logo{
      position:absolute;
      top:4vh;
      left:50%;
      transform:translateX(-50%);
      z-index:3;
    }

    .logo img{
      width:12vw;
      min-width:8rem;
      max-width:12rem;
    }

    /* AGE GATE */
    .age-gate{
      position:absolute;
      top:50%;
      left:50%;
      transform:translate(-50%, -50%);
      width:38vw;
      min-width:20rem;
      max-width:42rem;
      background:#fff;
      border-radius:1.5rem;
      padding:4vh 3vw;
      text-align:center;
      z-index:5;
      box-shadow:0 1rem 3rem rgba(0,0,0,0.3);
    }

    .age-gate h1{
      font-size:3vw;
      line-height:1.05;
      font-weight:900;
      color:#000;
      text-transform:uppercase;
      margin-bottom:4vh;
    }

    .btn-group{
      display:flex;
      justify-content:center;
      align-items:center;
      gap:1.5vw;
      flex-wrap:wrap;
    }

    .age-btn{
        width: auto;
      border:none;
      outline:none;
      cursor:pointer;
      background:#6b52e5;
      color:#fff;
      font-size:1.2rem;
      font-weight:700;
      padding:1rem 2rem;
      border-radius:5rem;
      transition:0.3s ease;
    }

    .age-btn:hover{
      transform:translateY(-0.2rem);
      background:#5c44d6;
    }

    /* FOOTER */
    .footer{
         height:7vh;
background:#000;
    display: flex;
    align-items: center;
    justify-content: center;
    }

    .footer a{
      color:#fff;
      text-decoration:none;
      font-size:1rem;
      font-weight:500;
      letter-spacing:0.03rem;
    }

    .footer a:hover{
      text-decoration:none;
    }

    /* RESPONSIVE */
    @media(max-width:768px){

      .logo img{
        width:38vw;
      }

      .age-gate{
        width:88vw;
        padding:4vh 6vw;
      }

      .age-gate h1{
        font-size:2rem;
      }

      .btn-group{
        gap:0.6rem;
            flex-wrap: nowrap;
      }

      .age-btn{
        width:100%;
        font-size:1rem;
            padding: 1rem 1rem;
      }
    }