/* CSS RESET & CORE STYLES */
        :root {
            --black: #000000;
            --white: #FFFFFF;
            --border-thick: 4px;
            --shadow-offset: 10px;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            background-color: var(--black);
            color: var(--white);
            font-family: 'Rubik Mono One', sans-serif;
            /* Center the content */
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            padding: 20px;
            overflow: hidden; /* Hide scrollbars caused by hover effects */
        }
        
        /* THE MAIN CARD CONTAINER */
        .card-container {
            /* This gives the card the 3D space to move in */
            perspective: 1500px;
        }

        /* THE NEO-BRUTALIST CARD */
        .card {
            background-color: var(--black);
            border: var(--border-thick) solid var(--white);
            padding: 2.5rem 2rem;
            width: 90vw;
            max-width: 500px;
            text-align: center;
            
            /* The iconic neo-brutalist hard shadow */
            box-shadow: var(--shadow-offset) var(--shadow-offset) 0 var(--white);

            /* Transition for the tilt effect and shadow pop */
            transition: transform 0.1s ease, box-shadow 0.2s ease-out;
            will-change: transform, box-shadow; /* Performance optimization */
        }
        
        .card:hover {
            /* Makes the card pop out slightly on hover */
            box-shadow: calc(var(--shadow-offset) + 5px) calc(var(--shadow-offset) + 5px) 0 var(--white);
        }

        /* THE LOGO */
        .logo {
            font-family: 'Bangers', cursive;
            font-size: clamp(4rem, 15vw, 8rem); /* Responsive font size */
            letter-spacing: 0.2rem;
            line-height: 1;
            margin-bottom: 2rem;
            /* Prevents text selection on the logo */
            user-select: none;
        }

        /* THE DESCRIPTION TEXT */
        .description {
            font-size: 1rem;
            line-height: 1.6;
            margin-bottom: 2.5rem;
            max-width: 40ch; /* Limit line length for readability */
            margin-left: auto;
            margin-right: auto;
        }

        /* THE CALL-TO-ACTION BUTTON */
        .cta-button {
            display: inline-block;
            font-family: 'Rubik Mono One', sans-serif;
            font-size: 1.1rem;
            text-decoration: none;
            color: var(--black);
            background-color: var(--white);
            border: var(--border-thick) solid var(--black); /* Inner border to pop against white bg */
            padding: 1rem 2rem;
            
            /* Shadow effect for the button */
            box-shadow: 6px 6px 0px 0px var(--black); /* Shadow against the white button bg */
            
            position: relative;
            transition: all 0.15s ease-out;
        }

        .cta-button:hover {
            transform: translate(-4px, -4px);
            box-shadow: 10px 10px 0px 0px var(--black);
        }

        .cta-button:active {
            /* On click, the button flattens and moves into its shadow */
            transform: translate(2px, 2px);
            box-shadow: 0px 0px 0px 0px var(--black);
        }
        
        /* MEDIA QUERY FOR SMALLER SCREENS */
        @media (max-width: 480px) {
            .card {
                padding: 2rem 1.5rem;
                --shadow-offset: 7px;
            }

            .description {
                font-size: 0.9rem;
            }

            .cta-button {
                padding: 0.8rem 1.5rem;
                font-size: 1rem;
            }
        }