        /* ===============================
   12_SAATI — OFFICIAL CSS
   Logo-aligned techno system
   =============================== */

        :root {
            --bg: #050507;
            --bg-soft: #0b0b10;
            --white: #F2F2F2;
            --grey: #8A8A8A;
            --acid: #32FF6A;
        }

        /* RESET */
        * {
            box-sizing: border-box;
        }

        html,
        body {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            background: radial-gradient(circle at center, var(--bg-soft) 0%, var(--bg) 70%);
            font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
            color: var(--white);
        }

        body::before {
            content: '';
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: 3;

            background:
                radial-gradient(circle at center,
                    rgba(0, 0, 0, 0) 35%,
                    rgba(0, 0, 0, 0.25) 65%,
                    rgba(0, 0, 0, 0.747) 100%);
        }

        /* ===============================
   NAV BAR
   =============================== */

.nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 72px;
    padding: 0 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 6;
    pointer-events: auto;
}

/* LEFT */
.nav-left {
    flex: 1;
}

.nav-logo {
    font-weight: 800;
    letter-spacing: 3px;
    font-size: 14px;
    color: var(--white);
    cursor: default;
}

/* CENTER */
.nav-center {
    flex: 1;
    display: flex;
    justify-content: center;
    gap: 32px;
}

.nav-center a {
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--grey);
    text-decoration: none;
    position: relative;
    transition: color 0.25s ease;
}

.nav-center a::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 0;
    height: 1px;
    background: var(--acid);
    transition: all 0.25s ease;
    transform: translateX(-50%);
}

.nav-center a:hover {
    color: var(--white);
}

.nav-center a:hover::after {
    width: 100%;
}

/* RIGHT */
.nav-right {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    gap: 18px;
}

.nav-right a {
    width: 28px;
    height: 28px;
    display: inline-flex;
}

.nav-right svg {
    width: 100%;
    height: 100%;
    fill: var(--grey);
    transition: fill 0.25s ease, transform 0.25s ease;
}

.nav-right a:hover svg {
    fill: var(--acid);
    transform: translateY(-2px);
}

/* ===============================
   NAV RESPONSIVE
   =============================== */

@media (max-width: 768px) {
    .nav {
        padding: 0 20px;
    }

    .nav-center a {
        font-size: 10px;
    }
}


        /* ===============================
   WEBGL CANVAS
   =============================== */
        .p-canvas-webgl {
            position: fixed;
            inset: 0;
            width: 100vw;
            height: 100vh;
            z-index: 1;
        }

        /* ===============================
   UI OVERLAY
   =============================== */
        .ui {
            position: fixed;
            inset: 0;
            z-index: 5;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            pointer-events: none;
        }

        /* ===============================
   TOP TEXT
   =============================== */
        .ui-top {
            font-size: 11px;
            letter-spacing: 4px;
            color: var(--grey);
            margin-bottom: 14px;
            text-transform: uppercase;
        }

        /* ===============================
   MAIN TITLE
   =============================== */
        .ui-title {
            font-size: clamp(52px, 8vw, 120px);
            font-weight: 900;
            letter-spacing: 6px;
            margin: 0;
            position: relative;
            text-transform: uppercase;
            animation: glitch 3.2s infinite;
        }

        .ui-title span {
            color: var(--grey);
        }

        /* ACID LINE (CLOCK SIGNAL) */
        .ui-title::after {
            content: '';
            position: absolute;
            left: 50%;
            bottom: -16px;
            width: 140px;
            height: 2px;
            background: linear-gradient(90deg,
                    transparent,
                    var(--acid),
                    transparent);
            transform: translateX(-50%);
            opacity: 0.85;
        }

        /* ===============================
   SUBTITLE
   =============================== */
        .ui-sub {
            margin-top: 32px;
            font-size: 13px;
            letter-spacing: 3px;
            color: var(--grey);
            text-transform: uppercase;
        }

        /* ===============================
   BUTTON — ACID MODE
   =============================== */
        .ui-btn {
            margin-top: 44px;
            padding: 14px 38px;
            background: transparent;
            color: var(--acid);
            border: 1px solid var(--acid);
            font-size: 13px;
            letter-spacing: 3px;
            cursor: pointer;
            pointer-events: auto;
            position: relative;
            transition: all 0.25s ease;
            text-transform: uppercase;
        }

        .ui-btn::after {
            content: '';
            position: absolute;
            inset: 0;
            background: var(--acid);
            opacity: 0;
            z-index: -1;
            transition: opacity 0.25s ease;
        }

        .ui-btn:hover {
            color: #000;
        }

        .ui-btn:hover::after {
            opacity: 1;
        }

        /* ===============================
   GLITCH (SUBTLE, LOGO-CORRECT)
   =============================== */
        @keyframes glitch {
            0% {
                transform: translate(0);
            }

            15% {
                transform: translate(-0.5px, 0.5px);
            }

            30% {
                transform: translate(0.5px, -0.5px);
            }

            45% {
                transform: translate(-0.5px, 0);
            }

            60% {
                transform: translate(0.5px, 0.5px);
            }

            100% {
                transform: translate(0);
            }
        }

        /* ===============================
   ACID CURSOR AURA
   =============================== */
        body::after {
            content: '';
            position: fixed;
            inset: 0;
            pointer-events: none;
            background: radial-gradient(600px circle at var(--mx, 50%) var(--my, 50%),
                    rgba(50, 255, 106, 0.06),
                    transparent 40%);
            z-index: 4;
        }

        /* ===============================
   RESPONSIVE TWEAKS
   =============================== */
        @media (max-width: 768px) {
            .ui-title {
                letter-spacing: 4px;
            }

            .ui-sub {
                font-size: 12px;
            }

            .ui-btn {
                padding: 12px 30px;
                font-size: 12px;
            }
        }
        .ui-energy {
    margin-top: 32px;
    font-size: 13px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: white;
    overflow: hidden;
}

.ui-energy span {
    display: inline-block;
    position: relative;
    will-change: transform, opacity, filter;
}

/* CHARGE */
@keyframes charge {
    0% {
        opacity: 0;
        transform: scale(0.9);
        filter: drop-shadow(0 0 0px rgba(50,255,106,0));
    }
    60% {
        opacity: 1;
        transform: scale(1.05);
        filter: drop-shadow(0 0 6px rgba(50,255,106,0.6));
    }
    100% {
        transform: scale(1);
        filter: drop-shadow(0 0 2px rgba(50,255,106,0.3));
    }
}

/* SHOOT */
@keyframes shoot {
    0% {
        opacity: 1;
        transform: translateX(0);
    }
    100% {
        opacity: 0;
        transform: translateX(40px);
        filter: blur(2px);
    }
}

.charge {
    animation: charge 0.6s ease-out forwards;
}

.shoot {
    animation: shoot 0.25s ease-in forwards;
}
/* ===============================
   SCROLL CONTENT (OVER WEBGL)
   =============================== */
.scroll-content {
    position: relative;
    z-index: 5;
    margin-top: 100vh; /* start after hero */
}

/* SECTION BASE */
.section {
    min-height: 100vh;
    padding: 120px 10vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    pointer-events: auto;
}

.section {
    scroll-margin-top: 88px; /* nav height + spacing */
}
/* SECTION TITLES */
.section-title {
    font-size: 36px;
    letter-spacing: 6px;
    text-transform: uppercase;
    margin-bottom: 60px;
    position: relative;
}

.section-title::after {
    content: '';
    display: block;
    width: 120px;
    height: 2px;
    margin-top: 14px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--acid),
        transparent
    );
}

/* ===============================
   EVENTS
   =============================== */
.events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
}

.event-card {
    border: 1px solid rgba(255,255,255,0.08);
    padding: 28px;
    background: rgba(0,0,0,0.35);
    backdrop-filter: blur(6px);
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.event-card:hover {
    transform: translateY(-6px);
    border-color: var(--acid);
}

.event-date {
    font-size: 11px;
    letter-spacing: 3px;
    color: var(--acid);
    margin-bottom: 12px;
}

.event-name {
    font-size: 20px;
    margin-bottom: 10px;
}

.event-desc {
    font-size: 13px;
    color: var(--grey);
    line-height: 1.6;
}

/* ===============================
   ABOUT
   =============================== */
.about-text {
    max-width: 720px;
    font-size: 15px;
    line-height: 1.8;
    color: var(--grey);
}

/* ===============================
   CONTACT
   =============================== */
.contact-box {
    max-width: 480px;
    font-size: 14px;
    line-height: 2;
    color: var(--grey);
}

.contact-box span {
    color: var(--white);
}

/* ===============================
   SMOOTH SCROLL
   =============================== */
html {
    scroll-behavior: smooth;
}
 

@media (max-width: 768px) {

    .section {
        position: relative;
    }

    .section::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(
            to bottom,
            rgba(0,0,0,0.85),
            rgba(0,0,0,0.75)
        );
        z-index: -1;
    }
}
/* tighten about text readability */
#about .about-text {
    background: rgba(0,0,0,0.45);
    padding: 40px;
    border-left: 2px solid var(--acid);
    backdrop-filter: blur(6px);
}
@media (max-width: 1024px) {

    .section {
        padding: 100px 8vw;
    }

    .section-title {
        font-size: 28px;
        margin-bottom: 40px;
    }

    .ui-title {
        font-size: clamp(48px, 10vw, 96px);
    }

    .ui-btn {
        margin-top: 32px;
    }
}

/* ---------- MOBILE (<=768px) ---------- */
@media (max-width: 768px) {

    /* NAV */
    .nav {
        height: 64px;
        padding: 0 18px;
    }

    .nav-left {
        flex: unset;
    }

    .nav-logo {
        font-size: 12px;
        letter-spacing: 2px;
    }

    .nav-right a {
        width: 22px;
        height: 22px;
    }

    /* HERO */
    .ui {
        padding: 0 20px;
    }

    .ui-top {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .ui-title {
        font-size: 42px;
        letter-spacing: 3px;
    }

    .ui-title::after {
        width: 90px;
    }

    .ui-sub,
    .ui-energy {
        font-size: 11px;
        letter-spacing: 2px;
        margin-top: 24px;
    }

    .ui-btn {
        font-size: 11px;
        padding: 12px 26px;
        margin-top: 28px;
    }

    /* SCROLL CONTENT */
    .scroll-content {
        margin-top: 100vh;
    }

    .section {
        /* min-height: auto; */
        padding: 80px 20px;
    }

    .section-title {
        font-size: 22px;
        letter-spacing: 4px;
    }

    /* EVENTS */
    .events-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .event-name {
        font-size: 18px;
    }

    .event-desc {
        font-size: 12px;
    }

    /* ABOUT */
    #about .about-text {
        padding: 24px;
        font-size: 14px;
        border-left-width: 1px;
    }

    /* CONTACT */
    .contact-box {
        font-size: 13px;
        line-height: 1.8;
    }
}

/* ---------- SMALL MOBILE (<=480px) ---------- */
@media (max-width: 480px) {

    .ui-title {
        font-size: 34px;
    }


    .ui-btn {
        width: 100%;
        max-width: 260px;
    }

    .section-title::after {
        width: 80px;
    }

    #about .about-text {
        padding: 20px;
    }
}

/* ---------- TOUCH DEVICES (disable mouse parallax) ---------- */
@media (hover: none) {
    .ui,
    .ui-title,
    .ui-sub,
    .ui-top,
    .ui-btn {
        transform: none !important;
    }
}
/* ===============================
   CENTER STACK MENU (TECHNO)
   =============================== */

/* stack icon */
.nav-stack {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.nav-stack span {
    height: 1.5px;
    background: var(--white);
    transition: all 0.3s ease;
}

.nav-stack span:nth-child(1) {
    width: 42px;
}

.nav-stack span:nth-child(2) {
    width: 28px;
}

.nav-stack span:nth-child(3) {
    width: 18px;
}

/* MOBILE MODE */
@media (max-width: 768px) {

    /* hide desktop links */
    .nav-links {
        display: none;
    }

    /* show stack */
    .nav-stack {
        display: flex;
    }

    /* dropdown menu */
    @media (max-width: 768px) {

        .nav-links.active {
            display: flex;

            /* FULL WIDTH */
            position: fixed;
            top: 72px;
            width: 100vw;

            flex-direction: column;
            align-items: center;
            gap: 28px;
            padding: 40px 0;

            background: rgba(0,0,0,0.9);
            backdrop-filter: blur(12px);
            z-index: 7;
        }
    }


    .nav-links.active a {
        font-size: 14px;
        letter-spacing: 4px;
    }
}
 @media (max-width: 768px) {

    /* make nav relative */
    .nav {
        position: fixed;
    }

    /* remove center from flex flow */
    .nav-center {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        justify-content: center;
        pointer-events: auto;
    }

    /* ensure stack itself is centered */
    .nav-stack {
        align-items: center;
    }
}