:root{--ink: #111;--paper: #faf9f6;--rule: #222;--muted: #555;--accent: #b91c1c;--white: #fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"Source Sans 3",system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.5}button{font:inherit;cursor:pointer;background:none;border:none}a{color:var(--ink)}.page{max-width:1140px;margin:0 auto;padding:0 20px}.top-bar{background:var(--ink);color:var(--white);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;padding:8px 20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.site-header{text-align:center;padding:28px 0 12px;border-bottom:3px double var(--rule)}.masthead{font-family:Libre Baskerville,Georgia,serif;font-size:clamp(2.2rem,8vw,3.5rem);font-weight:700;line-height:1.1}.masthead span{color:var(--accent)}.tagline{margin-top:8px;font-size:.95rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.main-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 20px;padding:16px 0 0;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.main-nav button{color:var(--muted);padding:4px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.main-nav button:hover,.main-nav button.active{color:var(--ink);border-bottom-color:var(--accent)}.hero{padding:36px 0 28px;border-bottom:1px solid #ccc}.hero-label{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--accent);letter-spacing:.1em;margin-bottom:10px}.hero h1{font-family:Libre Baskerville,Georgia,serif;font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.2;margin-bottom:14px;max-width:820px}.hero-deck{font-size:1.12rem;color:var(--muted);max-width:720px}.hero-meta{margin-top:18px;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.main-layout{display:grid;grid-template-columns:1fr 280px;gap:32px;padding:28px 0}@media (max-width: 900px){.main-layout{grid-template-columns:1fr}}.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0}.news-col{padding:0 20px 20px 0;border-right:1px solid #ddd}.news-col:last-child{border-right:none}@media (max-width: 768px){.news-col{border-right:none;border-bottom:1px solid #ddd;padding:20px 0}}.section-title{font-family:Libre Baskerville,Georgia,serif;font-size:1rem;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:18px}.section-title.center{text-align:center;max-width:200px;margin-left:auto;margin-right:auto;margin-bottom:28px}.story{margin-bottom:22px}.story h3{font-family:Libre Baskerville,Georgia,serif;font-size:1.05rem;line-height:1.35;margin-bottom:8px}.story p{font-size:.92rem;color:var(--muted)}.story time{font-size:.75rem;color:#888;display:block;margin-top:8px}.sidebar-block{margin-bottom:28px}.trending-list{list-style:none}.trending-list li{padding:10px 0;border-bottom:1px solid #e5e5e5;font-size:.9rem;font-weight:600}.trending-list li:hover{color:var(--accent);cursor:default}.newsletter{background:var(--white);border:1px solid #ddd;padding:20px}.newsletter p{font-size:.88rem;color:var(--muted);margin-bottom:14px}.newsletter-btn{background:var(--ink);color:var(--white);padding:10px 16px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;width:100%}.newsletter-btn:hover{background:var(--accent)}.opinion{padding:36px 0;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.opinion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.opinion-card{background:var(--white);border:1px solid #e5e5e5;padding:22px}.opinion-author{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700;margin-bottom:8px}.opinion-card h3{font-family:Libre Baskerville,Georgia,serif;font-size:1.1rem;margin-bottom:10px}.opinion-card p{font-size:.92rem;color:var(--muted)}.about{background:var(--white);border-top:3px solid var(--ink);margin:0 -20px;padding:40px 20px}.about-inner{max-width:720px}.about h2{font-family:Libre Baskerville,Georgia,serif;font-size:1.5rem;margin-bottom:16px}.about p{color:var(--muted);margin-bottom:12px}.about-list{margin:16px 0 0 20px;color:var(--muted);font-size:.92rem}.site-footer{padding:32px 0 48px;text-align:center;font-size:.85rem;color:var(--muted)}.legal{margin-top:18px;padding-top:18px;border-top:1px solid #ddd;font-size:.75rem;max-width:640px;margin-left:auto;margin-right:auto}
