.hero {
    height: 100vh;
    display: flex;
    align-items: center;
    padding-left: 12vw; /* Left margin */
    padding-right: 12vw; /* Ensures it never touches the right edge */
    width: 100%;
    box-sizing: border-box;
}

.hero-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 700px; /* Sets max-width container matching intended SVG size */
    max-width: 100%; 
}

.hero-svg {
    width: 100%; /* Fills parent container exactly to lock aspect ratio percentages */
    max-width: 100%; 
}

.hero-text {
    font-family: 'Source Code Pro', monospace;
    font-size: 14px; 
    font-weight: 300;
    color: #ffffff; 
    /* 54px / 876px = 6.1643% */
    margin: 15px 0 0 6.1643%; 
    line-height: 1.6;
    text-transform: uppercase;
}

/* ---- Mobile Refinements ---- */
@media (max-width: 768px) {
    .hero-content {
        padding: 40px 0; /* Ensures room for shadows to bleed without clipping */
    }

    .hero-svg {
        -webkit-filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 30px rgba(0, 0, 0, 0.9));
        filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 30px rgba(0, 0, 0, 0.9));
        -webkit-transform: translateZ(0); /* Force GPU layering in Safari */
        transform: translateZ(0);
    }

    .hero-text {
        text-shadow: 0 0 20px rgba(0, 0, 0, 0.9), 0 0 60px rgba(0, 0, 0, 0.5);
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

