/* ============================================
   AL-QAND EXCHANGE — RESET, BASE, UTILITIES, SCROLLBAR
   ============================================ */

/* ---------- Reset & Base ---------- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

body {
    background: #ffffff;
    color: var(--ink);
    font-family: var(--font-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
}

body::before,
body::after {
    content: "";
    position: fixed;
    top: -25%;
    left: -25%;
    width: 150%;
    height: 150%;
    z-index: -1;
    pointer-events: none;
    filter: blur(90px);
    will-change: transform, background-position;
}

body::before {
    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(255, 197, 143, 0.32) 14%,
        transparent 28%,
        rgba(255, 255, 255, 0.7) 42%,
        transparent 54%,
        rgba(120, 116, 112, 0.16) 68%,
        transparent 82%,
        rgba(255, 197, 143, 0.26) 100%
    );
    background-size: 220% 220%;
    animation: auroraDrift1 32s ease-in-out infinite alternate;
}

body::after {
    background: linear-gradient(
        205deg,
        transparent 0%,
        rgba(120, 116, 112, 0.14) 18%,
        transparent 34%,
        rgba(255, 210, 173, 0.28) 52%,
        transparent 68%,
        rgba(255, 255, 255, 0.6) 84%,
        transparent 100%
    );
    background-size: 240% 240%;
    animation: auroraDrift2 40s ease-in-out infinite alternate-reverse;
}

@keyframes auroraDrift1 {
    0% {
        background-position: 0% 0%;
        transform: translate(0%, 0%) rotate(0deg);
    }
    50% {
        background-position: 100% 55%;
        transform: translate(-3%, 2%) rotate(3deg);
    }
    100% {
        background-position: 20% 100%;
        transform: translate(2%, -2%) rotate(-2deg);
    }
}

@keyframes auroraDrift2 {
    0% {
        background-position: 100% 100%;
        transform: translate(0%, 0%) rotate(0deg);
    }
    50% {
        background-position: 10% 45%;
        transform: translate(3%, -2%) rotate(-3deg);
    }
    100% {
        background-position: 90% 0%;
        transform: translate(-2%, 2%) rotate(2deg);
    }
}

body.menu-open {
    overflow: hidden;
}

/* ---------- All content sits above the background ---------- */
.page-overflow {
    position: relative;
    z-index: 1;
}

a {
    color: inherit;
    text-decoration: none;
}

img, svg {
    display: block;
    max-width: 100%;
}

/* ---------- Utilities ---------- */
.wrap {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 32px;
}

.display {
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: -0.01em;
}

.mono {
    font-family: var(--font-mono);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.72rem;
}

/* ---------- Selection ---------- */
::selection {
    background: var(--orange);
    color: #000;
}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: rgba(255, 224, 199, 0.5);
}

::-webkit-scrollbar-thumb {
    background: var(--orange);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--orange-dark);
}
