.brutal-border {
    border: 1px solid #333338;
}

.text-bleed {
    font-size: clamp(8rem, 20vw, 24rem);
    line-height: 0.8;
    letter-spacing: -0.05em;
}

.grain-overlay {
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 50;
    background-image: url(https://lh3.googleusercontent.com/aida-public/AB6AXuBN1kp-FuAhTMBoWHjH3r4V2vFevE0OodmseDT3OMN0JSlUjXr-ftMpDophlIhJYWUkjLApixjUoIq5vBSPPiyxsBkhgzaLOf_-wdIQrvTacWLrSxCxrqKCeke-cJhkW-EB2TsrhGpIHtLN6Cse20a-Y5IL8V_rbSf1caKKyrJ5T8UcISwR2nkNUxJwjxuz5_5fsWOqb9lXhxvuRo3c6RdDdZz-HgChSI5W46CuuxJ65V66zRs8ZEp_zjvTkHEUMkn1tBTlQagtxZG_);
    opacity: 0.04;
}

.vertical-text {
    writing-mode: vertical-rl;
    text-orientation: mixed;
}

.cursor-follower {
    position: fixed;
    pointer-events: none;
    z-index: 100;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    transition: opacity 0.2s ease;
    opacity: 1;
}

/* Hero Text Typewriter Animation */
.hero-char {
    display: inline-block;
    opacity: 0;
    animation: heroCharTypewriter 0.15s ease-out forwards;
}

.hero-char.space {
    width: 0.25em;
}

@keyframes heroCharTypewriter {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* Video Background */
.video-background {
    overflow: hidden;
}

.video-background video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%) contrast(1.25);
}

/* Mobile Menu Styles */
#mobile-menu-overlay.open {
    opacity: 1;
    pointer-events: all;
}

#mobile-menu.open {
    transform: translateX(0);
}

/* Hamburger Menu Button */
#hamburger-menu {
    cursor: pointer;
    pointer-events: all;
    z-index: 100;
    position: relative;
}

#hamburger-menu:hover {
    opacity: 0.8;
}

/* Hamburger Menu Animation */
#hamburger-menu.active .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
}

#hamburger-menu.active .hamburger-line:nth-child(2) {
    opacity: 0;
}

#hamburger-menu.active .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}
