/* Basic Reset & Body Styling */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #1a1a1a; /* Dark background */
    color: #e0e0e0; /* Light grey text */
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Ensure footer stays at bottom */
}

/* Container for main content */
.container {
    width: 90%;
    max-width: 960px; /* Max width of content */
    margin: 20px auto; /* Center container horizontally */
    padding: 20px;
    background-color: #2b2b2b; /* Slightly lighter dark shade for content area */
    border-radius: 8px; /* Slightly rounded corners */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); /* Subtle shadow */
    flex-grow: 1; /* Allow main content to push footer down */
}

/* Header Styling */
header {
    background-color: #111; /* Very dark header background */
    color: #ffffff; /* White text for header */
    padding: 20px 0;
    text-align: center;
    border-bottom: 3px solid #007bff; /* Accent color border */
}

header h1 {
    font-size: 2.5em;
    margin-bottom: 5px; /* Small space below title */
}

/* Main Content Sections */
main section {
    margin-bottom: 30px; /* Space between sections */
}

main h2 {
    color: #00aeff; /* Accent color for section titles */
    margin-bottom: 15px;
    border-bottom: 1px solid #444; /* Subtle separator */
    padding-bottom: 5px;
}

/* Paragraph Styling */
p {
    margin-bottom: 15px;
}

/* Link Styling */
a {
    color: #61dafb; /* Light blue links */
    text-decoration: none; /* Remove underline by default */
}

a:hover,
a:focus {
    color: #9bf; /* Lighter blue on hover/focus */
    text-decoration: underline; /* Add underline on hover/focus */
}

/* Footer Styling */
footer {
    background-color: #111; /* Match header background */
    color: #aaa; /* Dimmer text for footer */
    text-align: center;
    padding: 15px 0;
    margin-top: auto; /* Pushes footer to bottom */
    font-size: 0.9em;
    border-top: 1px solid #333; /* Subtle top border */
}

/* Basic Responsiveness (Example) */
@media (max-width: 600px) {
    header h1 {
        font-size: 2em;
    }

    .container {
        width: 95%;
        padding: 15px;
    }
}