body {
    background-image: linear-gradient(to right, #101916, #101511);
    margin: 0;
    padding: 0;
}

#a4-page {
    /* Use max-width for responsiveness */
    width: 95%; 
    max-width: 210mm; 
    
    /* Ensure height can adjust on small screens */
    min-height: 297mm;
    
    /* Centering and spacing */
    margin: 20px auto;
    padding: 10mm; /* Reduced padding for mobile */
    
    background: black;
    font-family: Consolas;
    box-sizing: border-box; /* Ensures padding doesn't break width */
}

h1 { color: rgb(9, 182, 239); }
h2 { color: whitesmoke; }
h3 { color: rgb(69, 175, 210); }

p {
    color: whitesmoke;
    line-height: 1.5; /* Better for readability than fixed px */
}

#top-section {
    line-height: 1.5; /* vh can be erratic on mobile keyboards */
}

#endsection {
    display: flex;
    gap: 2vh;
}

#part-1 {
    gap: 1px;
}

.color {
    color: rgb(185, 130, 13);
}

/* --- Media Query for Mobile --- */
@media (max-width: 600px) {
    #a4-page {
        padding: 15px; /* More space for content on small screens */
        width: 100%;
        margin: 0;
    }
    
    #endsection {
        flex-direction: column; /* Stack sections vertically */
    }
}