html, body {
  background-color: #000 !important;
  color-scheme: dark;
  margin: 0;
  padding: 0;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 4px;
}

::-webkit-scrollbar-thumb {
  background-color: rgb(171, 170, 170);
  border-radius: 10px;
}

/* --- CENTER LOGO STYLING --- */
.logo-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.project-title {
    font-family: 'Cinzel', serif;
    font-size: clamp(2.4rem, 4.5vw, 3.8rem);
    letter-spacing: 6px;
    font-weight: 500;
    text-transform: uppercase;

    background: linear-gradient(
        90deg,
        #E8D8B5 0%,
        #F5E6C8 50%,
        #D6C29A 100%
    );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;

    text-shadow: none;
}

.project-subtitle {
    font-family: 'Cinzel', serif;
    font-size: 0.9rem;
    letter-spacing: 5px;
    margin-top: -6px;
    color: rgba(255,255,255,0.92);
    text-transform: uppercase;
    font-weight: 500;
}

.project-subtitle::before,
.project-subtitle::after {
    content: "—";
    margin: 0 8px;
    opacity: 0.6;
}

.caption-text {
    font-style: italic;
    font-size: 0.9rem;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.75);
    text-shadow: 0 0 8px rgba(0,0,0,0.5);
    margin-top: 14px;
}

/* --- PREMIUM NAV PANEL (MOBILE/TABLET) --- */
@media (max-width: 1023px) {

    ul.landing-nav {
        border-radius: 3.5rem !important;
        width: fit-content !important;
        padding: 2rem 1.5rem !important;
        background: rgba(0, 0, 0, 0.4) !important;
        border: 0.5px solid rgba(255, 255, 255, 0.15) !important;
    }

    ul.landing-nav li span {
        font-size: 8px !important;
        letter-spacing: 0.3em !important;
        font-weight: 500 !important;
        opacity: 0.6;
    }

    /* Adjusting icon circles for mobile navigation items specifically */
    ul.landing-nav li div.relative {
        width: 2.5rem !important;
        height: 2.5rem !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    /* Hide tooltips on mobile */
    .group span.pointer-events-none,
    .tooltip-custom {
        display: none !important;
    }
}

/* =========================================================
   TOOLTIP FIX
   This was missing and fixes tooltip centering conflicts
========================================================= */

@media (min-width: 1024px) {

    /* Base tooltip state */
    .group span.pointer-events-none {
        opacity: 0;
        transition:
          opacity 0.25s ease,
          transform 0.25s ease;
    }

    /* Hover state */
    .group:hover span.pointer-events-none {
        opacity: 1;
    }

    /* Optional custom tooltip class */
    .tooltip-custom {
        display: block;
        opacity: 0;

        top: -45px;
        left: 50%;

        transform: translateX(-50%) translateY(10px) scale(0.95);

        transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);

        pointer-events: none;
        z-index: 100;

        white-space: nowrap;
        background: rgba(0, 0, 0, 0.85);
        color: white;
        padding: 6px 12px;
        border-radius: 8px;
        font-size: 11px;
        letter-spacing: 0.05em;
        backdrop-filter: blur(8px);
        border: 1px solid rgba(255, 255, 255, 0.1);

        box-shadow:
          0 4px 15px rgba(0,0,0,0.4);
    }

    .group:hover .tooltip-custom {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }
}

/* Hide logo when overlay active */
.heading-desktop {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}

body.overlay-active .heading-desktop {
    opacity: 0;
    pointer-events: none;
}