    html, body {
      margin: 0;
      padding: 0;
      min-height: 100%;
      font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      background-image: url('/static/background.webp');
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      background-attachment: fixed;
      color: white;
      text-align: center;
      overflow-x: hidden;
    }

    .main-wrapper {
      display: flex;
      flex-direction: column;
      min-height: 100vh;
      position: relative;
      padding-bottom: 60px;
      align-items: center;
    }

    .hello-container {
      margin-top: 40px;
      display: inline-block;
      padding: 30px 50px;
      border-radius: 30px;
      background: rgba(255, 255, 255, 0.1);
      box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.2);
      opacity: 0;
      transform: translateX(100%);
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    }

    .hello-container.animated {
      opacity: 1;
      transform: translateX(0);
    }

    .hello-text {
      font-size: 10vw;
      font-weight: 800;
      font-style: italic;
      text-transform: uppercase;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.6));
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      filter: drop-shadow(0 4px 12px rgba(0,0,0,0.2));
      opacity: 1;
      margin: 0;
    }

    .lang-selector {
      margin-top: 20px;
      font-size: 18px;
    }

    .lang-selector select {
      padding: 8px 16px;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.3);
      background-color: rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      color: white;
      font-weight: bold;
      outline: none;
      cursor: pointer;
      transition: background-color 0.3s;
    }

    .lang-selector select:hover {
      background-color: rgba(255, 255, 255, 0.25);
    }

    .lang-selector select option {
      background-color: #333;
      color: white;
    }

    .button-container {
      margin-top: 60px;
      display: flex;
      justify-content: center;
      gap: 110px;
      flex-wrap: wrap;
      opacity: 0;
      transform: translateY(100px);
      transition: all 1s ease 0.3s;
      align-items: center;
      width: 100%;
    }

    .button-container.animated {
      opacity: 1;
      transform: translateY(0);
    }

    .footer {
      position: absolute;
      bottom: 20px;
      width: 100%;
      font-style: italic;
      letter-spacing: 1.5px;
      text-shadow: 0 2px 4px rgba(0,0,0,0.5);
      font-size: 14px;
      opacity: 0;
      transform: translateY(50px);
      transition: all 1s ease 0.5s;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }

    .footer.animated {
      opacity: 1;
      transform: translateY(0);
    }

    button {
      font-size: 32px;
      padding: 30px 60px;
      border: 1px solid rgba(255, 255, 255, 0.3);
      border-radius: 45px;
      cursor: pointer;
      -webkit-backdrop-filter: blur(20px);
      backdrop-filter: blur(20px);
      background: rgba(255, 255, 255, 0.1);
      color: white;
      box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      position: relative;
      z-index: 10;
      text-shadow: 0 2px 5px rgba(0,0,0,0.2);
      overflow: hidden;
    }

    button:hover {
      background-color: rgba(255, 255, 255, 0.25);
      color: white;
      transform: translateY(-4px) scale(1.02);
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
      border-color: rgba(255, 255, 255, 0.6);
    }

    button.active {
      transform: translateY(-4px) scale(1.02);
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
      border-color: rgba(255, 255, 255, 0.6);
      background-color: rgba(255, 255, 255, 0.25);
    }

    /* Shine effect */
    button::after {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
      transition: 0.5s;
    }

    button:hover::after {
      left: 100%;
    }

    button:active {
      transform: scale(0.96);
      box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.2);
    }

    .gallery-btn-wrapper {
      position: relative;
      display: inline-block;
      z-index: 100;
    }

    .gallery-menu-wrapper {
      position: absolute;
      top: 110%;
      left: 50%;
      transform: translateX(-50%);
      transform-origin: top center;
      background: rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      padding: 15px 25px;
      border-radius: 24px;
      border: 1px solid rgba(255, 255, 255, 0.2);
      box-shadow: 0 15px 50px rgba(0,0,0,0.3);
      display: none;
      animation-fill-mode: forwards;
      animation-duration: 0.3s;
      animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      z-index: 999;
      min-width: 200px;
      white-space: nowrap;
    }

    @keyframes slideDownFadeIn {
      0% {
        opacity: 0;
        transform: translateX(-50%) scaleY(0);
      }
      100% {
        opacity: 1;
        transform: translateX(-50%) scaleY(1);
      }
    }

    @keyframes slideDownFadeInMobile {
      0% {
        opacity: 0;
        transform: scaleY(0);
      }
      100% {
        opacity: 1;
        transform: scaleY(1);
      }
    }

    .gallery-menu-wrapper.show {
      display: block;
      animation-name: slideDownFadeIn;
      opacity: 1;
      transform: translateX(-50%) scaleY(1);
    }

    .gallery-menu {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin: 0;
    }

    .gallery-menu button {
      font-size: 24px;
      padding: 15px 30px;
      width: 100%;
      text-align: center;
    }

    @media screen and (orientation: portrait) {
      .main-wrapper {
        align-items: center;
      }

      .hello-container {
        margin-top: 15vh;
        padding: 30px 40px;
        width: 85%;
        max-width: 400px;
        box-sizing: border-box;
      }
      .hello-text {
        font-size: 14vw;
      }
      .button-container {
        margin-top: 5vh;
        flex-direction: column;
        gap: 25px;
        align-items: center;
        width: 100%;
      }
      
      /* Ensure wrapper and direct buttons have consistent width */
      .gallery-btn-wrapper,
      .button-container > button {
        width: 80%;
        max-width: 320px;
        display: block;
        margin-left: auto;
        margin-right: auto;
      }

      /* Button inside wrapper fills the wrapper */
      .gallery-btn-wrapper button {
        width: 100%;
        display: block;
      }

      button {
        font-size: 22px;
        padding: 20px 0;
      }

      .footer {
        font-size: 14px;
        position: relative;
        margin: 40px auto 30px auto;
        bottom: auto;
        left: auto;
        width: 90%;
        text-align: center;
      }
    }
