#scene {
    position: fixed;
    inset: 0;
}

/* ── Background ── */
#bg {
    position: absolute;
    inset: -60px;
    background: url('../assets/images/bg-poster.webp') center/cover no-repeat;
    opacity: 0.65;
    will-change: transform;
}

/* ── Green bars ── */
.green-bars {
    position: absolute;
    z-index: var(--z-bars);
    display: flex;
    flex-direction: column;
    mix-blend-mode: color-dodge;
}

#gb-left {
    left: -5%;
    top: 15%;
    gap: 24px;
    opacity: 0.9;
}

#gb-left .g-bar {
    width: 40vw;
    max-width: 525px;
    height: 69px;
    background: var(--c-teal);
}

#gb-right {
    right: -5%;
    top: 35%;
    gap: 12px;
    opacity: 0.7;
}

#gb-right .g-bar {
    width: 20vw;
    max-width: 305px;
    height: 40px;
    background: var(--c-teal);
}

/* ── Vertical text (left) ── */
#vt-left {
    position: absolute;
    left: calc(20% - 80px);
    top: calc(12% - 32px);
    height: 72vh;
    width: auto;
    max-height: 650px;
    z-index: var(--z-vt);
    mix-blend-mode: screen;
    filter: brightness(1.5) sepia(1) saturate(5) hue-rotate(100deg);
    pointer-events: none;
}

/* ── Skull ── */
#skull-wrapper {
    position: absolute;
    bottom: -5%;
    left: 50%;
    transform: translateX(-50%);
    z-index: var(--z-skull);
    will-change: transform;
}

#skull-inner {
    position: relative;
}

#skull-img {
    display: block;
    height: 110vh;
    max-height: 1400px;
    width: auto;
    mix-blend-mode: screen;
    filter: brightness(1.2) saturate(1.15);
}

/* ── Skull piece ── */
#skull-piece {
    position: absolute;
    top: calc(12% + 40px);
    right: calc(20% - 40px);
    z-index: var(--z-piece);
    will-change: transform;
}

#skull-piece img {
    width: clamp(140px, 18vw, 230px);
    height: auto;
    display: block;
    visibility: hidden;
}

#skull-piece canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

#skull-piece::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 145, 128, 0.06);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border-radius: 12px;
    z-index: 2;
    pointer-events: none;
}

/* ── Hero text ── */
.hero-text {
    position: absolute;
    top: 20%;
    left: 60%;
    transform: translate(-50%, -50%);
    font-family: var(--font-main);
    font-weight: 700;
    font-size: var(--font-size-hero);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    white-space: nowrap;
    user-select: none;
}

#text-back {
    z-index: var(--z-text-back);
    color: var(--c-text);
}

#text-front {
    z-index: var(--z-text-front);
    color: transparent;
    -webkit-text-stroke: 4px var(--c-text);
}
