    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      overflow-x: hidden;
      background: #000;
      font-family: "Jost", sans-serif;
    }

    /* ----- HERO ----- */
    .hero {
      position: relative;
      height: 100vh;
      overflow: hidden;
    }

    /* VIDEO */
    .hero video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* OVERLAY */
    .overlay {
      position: absolute;
      inset: 0;
      backdrop-filter: blur(2px);
    }

    /* ----- NAV (wrapper) ----- */
    .nav-wrapper {
      position: absolute;
      top: 20px;
      left: 0;
      z-index: 100;
      color: #fff;
      width: 100%;
      padding: 0 30px;
    }

    .nav-wrapper a {
      color: white;
      text-decoration: none;
      font-size: 18px;
      font-weight: 500;
    }

    .logo-img {
      width: 90px;
      height: 80px;
      object-fit: contain;
    }

    /* ----- CINEMA FRAME ----- */
    .cinema-frame {
      position: absolute;
      top: 150px;
      left: 50%;
      transform: translateX(-50%);
      width: 93%;
      height: 72vh;
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 40px;
      overflow: hidden;
      backdrop-filter: blur(3px);
    }

    /* TOP LEFT */
    .frame-top-left {
      position: absolute;
      left: 40px;
      top: 40px;
      color: #fff;
      font-size: small;
      letter-spacing: 3px;
    }

    /* TOP RIGHT */
    .frame-top-right {
      position: absolute;
      right: 40px;
      top: 40px;
      color: #fff;
      letter-spacing: 3px;
      font-size: small;
    }

    /* CENTER */
    .hero-center {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      width: 90%;
    }

    .hero-center h1 {
      color: #fff;
      font-size: 52px;
      font-weight: 600;
      line-height: 1.05;
      letter-spacing: -2px;
    }

    .hero-center p {
      color: #ddd;
      max-width: 900px;
      margin: 40px auto 0;
      font-size: 20px;
      line-height: 1.7;
    }

    /* SOUND UI */
    .sound-ui {
      position: absolute;
      bottom: 30px;
      left: 40px;
    }

    .sound-circle {
      width: 58px;
      height: 58px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, 0.4);
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      margin-bottom: 20px;
    }

    .sound-circle i {
      font-size: 26px;
    }

    .sound-ui span {
      color: #fff;
      font-size: small;
    }

    /* TIMELINE */
    .timeline-ui {
      position: absolute;
      right: 40px;
      bottom: 40px;
      width: 370px;
    }

    .timeline-head {
      display: flex;
      justify-content: space-between;
      color: white;
      font-size: small;
      margin-bottom: 10px;
    }

    .timeline-line {
      height: 3px;
      background: #666;
    }

    .active-line {
      width: 35%;
      height: 100%;
      background: white;
    }

    .timeline-foot {
      text-align: right;
      margin-top: 20px;
      color: white;
      font-size: small;
    }

    /* ----- DESKTOP NAV (flex) ----- */
    .desktop-nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .desktop-nav .row {
      display: flex;
      align-items: center;
      width: 100%;
      justify-content: space-between;
    }

    .desktop-nav .col {
      flex: 1;
      text-align: center;
    }

    /* ----- MOBILE NAV (hidden on desktop) ----- */
    .mobile-nav {
      display: none;
      align-items: center;
      justify-content: space-between;
      width: 100%;
    }

    .hamburger-btn {
      background: transparent;
      border: none;
      color: #fff;
      font-size: 38px;
      cursor: pointer;
      padding: 0 5px;
      line-height: 1;
    }

    .hamburger-btn i {
      font-size: 38px;
      line-height: 1;
    }

    /* ----- MOBILE MENU OVERLAY & PANEL (hidden by default) ----- */
    .menu-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.7);
      opacity: 0;
      visibility: hidden;
      transition: 0.4s ease;
      z-index: 9998;
    }

    .menu-overlay.active {
      opacity: 1;
      visibility: visible;
    }

    .mobile-menu {
      position: fixed;
      top: 0;
      right: -100%;
      width: 85%;
      max-width: 340px;
      height: 100vh;
      background: rgba(8, 8, 8, 0.97);
      backdrop-filter: blur(25px);
      border-left: 1px solid rgba(255, 255, 255, 0.08);
      z-index: 9999;
      transition: 0.5s ease;
      padding: 30px 25px;
    }

    .mobile-menu.active {
      right: 0;
    }

    .menu-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 40px;
    }

    .menu-logo {
      width: 80px;
      object-fit: contain;
    }

    .close-menu {
      background: transparent;
      border: 0;
      color: #fff;
      cursor: pointer;
      font-size: 30px;
    }

    .close-menu i {
      font-size: 30px;
    }

    .menu-links {
      display: flex;
      flex-direction: column;
      gap: 30px;
    }

    .menu-links a {
      color: #fff;
      text-decoration: none;
      font-size: 30px;
      font-weight: 500;
      letter-spacing: -1px;
      transition: 0.3s ease;
      padding: 10px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .menu-links a:hover {
      transform: translateX(10px);
      opacity: 0.7;
    }

    .menu-footer {
      position: absolute;
      bottom: 40px;
      left: 25px;
      right: 25px;
      color: rgba(255, 255, 255, 0.4);
      font-size: 13px;
    }

    /* ==========================
       TABLET (991px and below)
    ========================== */
    @media (max-width: 991px) {
      .cinema-frame {
        width: 95%;
        height: 75vh;
        top: 120px;
      }

      .hero-center h1 {
        font-size: 42px;
        line-height: 1.1;
      }

      .hero-center p {
        font-size: 16px;
        max-width: 600px;
        margin-top: 25px;
      }

      .timeline-ui {
        width: 280px;
        right: 25px;
      }

      .frame-top-left,
      .frame-top-right {
        font-size: 11px;
      }

      .sound-circle {
        width: 50px;
        height: 50px;
      }

      .sound-circle i {
        font-size: 20px;
      }
    }

    /* ==========================
       MOBILE (768px and below)
    ========================== */
    @media (max-width: 768px) {
      .nav-wrapper {
        padding: 0 15px;
        top: 15px;
      }

      .desktop-nav {
        display: none !important;
      }

      .mobile-nav {
        display: flex !important;
      }

      .logo-img {
        width: 70px;
        height: auto;
      }

      .cinema-frame {
        width: calc(100% - 20px);
        height: calc(100vh - 130px);
        top: 100px;
        border-radius: 25px;
      }

      .frame-top-left {
        left: 20px;
        top: 20px;
        font-size: 10px;
        letter-spacing: 1px;
      }

      .frame-top-right {
        right: 20px;
        top: 20px;
        font-size: 10px;
        letter-spacing: 1px;
      }

      .hero-center {
        width: 90%;
      }

      .hero-center h1 {
        font-size: 36px;
        line-height: 1.15;
        letter-spacing: -1px;
      }

      .hero-center p {
        font-size: 14px;
        line-height: 1.7;
        margin-top: 20px;
        max-width: 100%;
      }

      .sound-ui {
        left: 20px;
        bottom: 20px;
      }

      .sound-circle {
        width: 45px;
        height: 45px;
        margin-bottom: 10px;
      }

      .sound-circle i {
        font-size: 18px;
      }

      .sound-ui span {
        font-size: 10px;
      }

      .timeline-ui {
        width: 180px;
        right: 20px;
        bottom: 20px;
      }

      .timeline-head {
        font-size: 10px;
        margin-bottom: 6px;
      }

      .timeline-foot {
        font-size: 10px;
        margin-top: 10px;
      }

      .timeline-line {
        height: 2px;
      }
    }

    /* ==========================
       SMALL MOBILE (576px)
    ========================== */
    @media (max-width: 576px) {
      .hero-center h1 {
        font-size: 30px;
      }

      .hero-center p {
        font-size: 13px;
        padding: 0 10px;
      }

      .timeline-ui {
        width: 150px;
      }

      .timeline-head {
        flex-direction: column;
        gap: 3px;
        text-align: right;
      }

      .frame-top-left {
        display: none;
      }

      .sound-ui span {
        display: none;
      }
    }

    /* ==========================
       EXTRA SMALL MOBILE (400px)
    ========================== */
    @media (max-width: 400px) {
      .hero-center h1 {
        font-size: 26px;
      }

      .hero-center p {
        font-size: 12px;
        line-height: 1.6;
      }

      .timeline-ui {
        width: 130px;
      }

      .timeline-head,
      .timeline-foot {
        font-size: 9px;
      }

      .sound-circle {
        width: 40px;
        height: 40px;
      }

      .sound-circle i {
        font-size: 16px;
      }
    }