/* politics.day — Swiss Typography Clean */
:root {
    --bg: #FFFFFF;
    --primary: #1A1A1A;
    --text: #333333;
    --red: #E41E2B;
    --muted: #888888;
    --alt: #FAFAFA;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Archivo', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.65;
    color: var(--text);
    background: var(--bg);
}

/* Red top rule */
.top-rule {
    height: 4px; background: var(--red); width: 100%;
}

/* Navigation */
#nav {
    position: sticky; top: 0; z-index: 100;
    background: var(--bg);
    border-bottom: 1px solid #F0F0F0;
    transition: box-shadow 0.15s;
}
#nav.scrolled { box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
.nav-inner {
    max-width: 1000px; margin: 0 auto; padding: 14px 32px;
    display: flex; align-items: center; justify-content: space-between;
}
.nav-logo {
    font-weight: 700; font-size: 18px; color: var(--primary);
}
.nav-date {
    font-weight: 600; font-size: 11px; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--muted);
}

/* Hero */
#hero { padding: 64px 32px 48px; }
.hero-inner { max-width: 1000px; margin: 0 auto; }
.hero-date {
    display: block;
    font-weight: 700; font-size: 60px; color: var(--primary);
    line-height: 1; margin-bottom: 16px;
}
.red-rule {
    height: 3px; background: var(--red);
    width: 80px; margin-bottom: 24px;
}
.lead-headline {
    font-weight: 700; font-size: 36px; color: var(--primary);
    line-height: 1.2; margin-bottom: 16px; max-width: 760px;
}
.lead-summary {
    font-weight: 400; font-size: 17px; color: var(--text);
    line-height: 1.65; margin-bottom: 12px; max-width: 760px;
}
.lead-tag {
    font-weight: 600; font-size: 11px; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--red);
}

/* Briefs Grid */
#briefs {
    padding: 48px 32px; background: var(--alt);
}
.briefs-inner {
    max-width: 1000px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.brief { padding-bottom: 32px; border-bottom: 1px solid #E8E8E8; }
.brief-tag {
    display: inline-block;
    font-weight: 600; font-size: 11px; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--red);
    margin-bottom: 8px;
}
.brief-title {
    font-weight: 700; font-size: 20px; color: var(--primary);
    line-height: 1.3; margin-bottom: 8px;
    cursor: pointer; transition: color 0.1s;
}
.brief-title:hover { color: var(--red); }
.brief-summary {
    font-size: 14px; color: var(--text); line-height: 1.6;
    margin-bottom: 8px;
}
.brief-source {
    font-weight: 600; font-size: 11px; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--muted);
}

/* Feature Analysis */
#analysis { padding: 64px 32px; }
.analysis-inner { max-width: 760px; margin: 0 auto; }
.analysis-title {
    font-weight: 700; font-size: 28px; color: var(--primary);
    line-height: 1.3; margin-bottom: 24px;
}
.analysis-body {
    font-size: 16px; line-height: 1.75; color: var(--text);
    margin-bottom: 20px;
}
.analysis-source {
    display: block; margin-top: 24px;
    font-weight: 600; font-size: 11px; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--muted);
}

/* Footer */
#footer {
    padding: 32px; border-top: 1px solid #E8E8E8;
}
.footer-inner {
    max-width: 1000px; margin: 0 auto;
    display: flex; align-items: center; justify-content: space-between;
}
.footer-brand {
    font-weight: 700; font-size: 14px; color: var(--primary);
}
.footer-copy {
    font-size: 12px; color: var(--muted);
}

/* Mobile */
@media (max-width: 768px) {
    .hero-date { font-size: 40px; }
    .lead-headline { font-size: 26px; }
    .briefs-inner { grid-template-columns: 1fr; }
}
