
    @import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&family=Open+Sans:wght@400;600&family=Roboto:wght@400;700&display=swap');

    :root {
        --primary-color: hsl(56, 55%, 39%);
        --accent-color: hsl(56, 55%, 53%);
        --text-color: #333;
        --bg-color: #fcfcfc;
        --footer-bg: #1a1a1a;
        --font-main: 'Roboto', sans-serif;
        --border-radius: 8px;
        --spacing-unit: 1.2rem;
    }
    body {
        font-family: var(--font-main);
        background-color: var(--bg-color);
        color: var(--text-color);
        margin: 0;
        padding: 0;
        line-height: 1.7;
        font-size: 16px;
    }
    .container {
        max-width: 1200px;
        margin: 0 auto;
        padding: calc(var(--spacing-unit) * 2);
    }
    header {
        background: #fff;
        padding: var(--spacing-unit) calc(var(--spacing-unit) * 2);
        text-align: left;
        border-bottom: 3px solid var(--primary-color);
        box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    }
    header h1 {
        margin: 0;
        font-size: 2.5em;
        color: var(--primary-color);
        display: flex;
        align-items: center;
        gap: 10px;
    }
    header h1 svg {
        width: 32px;
        height: 32px;
        stroke: var(--primary-color);
    }
    nav {
        margin-top: var(--spacing-unit);
    }
    nav a {
        margin: 0 var(--spacing-unit);
        text-decoration: none;
        color: var(--text-color);
        font-weight: 600;
        transition: color 0.3s ease;
    }
    nav a:hover {
        color: var(--primary-color);
    }
    .article-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: calc(var(--spacing-unit) * 2);
        margin-top: calc(var(--spacing-unit) * 3);
    }
    .article-card {
        background: #fff;
        padding: calc(var(--spacing-unit) * 1.5);
        border-radius: var(--border-radius);
        box-shadow: 0 2px 10px rgba(0,0,0,0.08);
        border: 1px solid #eee;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .article-card h2 {
        color: var(--primary-color);
        margin-top: 0;
        font-size: 1.5em;
        line-height: 1.3;
    }
    .article-card p {
        font-size: 0.95em;
        color: #555;
    }
    .article-card a {
        color: var(--accent-color);
        text-decoration: none;
        font-weight: 700;
        align-self: flex-start;
        margin-top: var(--spacing-unit);
    }
    .article-card a:hover {
        text-decoration: underline;
    }
    footer {
        background: var(--footer-bg);
        color: #f0f0f0;
        text-align: center;
        padding: calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 2);
        margin-top: calc(var(--spacing-unit) * 5);
        font-size: 0.9em;
    }
    footer a {
        color: #ccc;
        margin: 0 var(--spacing-unit);
        text-decoration: none;
        transition: color 0.3s ease;
    }
    footer a:hover {
        color: var(--primary-color);
    }
    .meta {
        font-size: 0.85em;
        color: #777;
        margin-bottom: var(--spacing-unit);
    }
    .hero-section {
        background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("hero.svg") no-repeat center center/cover;
        color: #fff;
        padding: calc(var(--spacing-unit) * 5) calc(var(--spacing-unit) * 2);
        text-align: center;
        margin-bottom: calc(var(--spacing-unit) * 3);
        border-radius: var(--border-radius);
    }
    .hero-section h2 {
        font-size: 3em;
        margin-bottom: var(--spacing-unit);
    }
    .hero-section p {
        font-size: 1.2em;
        max-width: 800px;
        margin: 0 auto;
    }
    