 body {
      font-family: 'Inter', sans-serif;
      background-color: #eee7e2;
      color: #222;
      overflow-x: hidden;
    }
    .font-serif { font-family: 'Playfair Display', serif; }
    .text-accent { color: #5f1a1f; }

    .nav-link a {
      position: relative;
      padding-bottom: 4px;
    }
    .nav-link a::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0%;
      height: 2px;
      background: linear-gradient(to right, #f5d98b, #d4af37);
      transition: width 0.3s ease;
    }
    .nav-link a:hover::after { width: 100%; }

    .sparkle-bg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
      pointer-events: none;
    }

    .mobile-menu {
      transform: translateX(100%);
      transition: transform 0.3s ease-in-out;
    }
    .mobile-menu.active { transform: translateX(0); }

    .video-thumb { position: relative; }
    .play-overlay {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2rem;
      color: white;
      background: rgba(0,0,0,0.25);
      opacity: 0;
      transition: opacity 0.3s ease;
      border-radius: 0.5rem;
    }
    .video-thumb:hover .play-overlay { opacity: 1; }

    .fade-in {
      animation: fadeIn 0.5s ease forwards;
    }
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes ping {
      75%, 100% {
        transform: scale(1.5);
        opacity: 0;
      }
    }
    .animate-ping {
      animation: ping 2s cubic-bezier(0,0,0.2,1) infinite;
    }