:root{
  --slate:#25313C;
  --red:#921C1C;
  --paper:#F7F5F0;
  --divider:#25313C;
}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;background:#FFFFFF;color:var(--slate);margin:0}
h1,h2,h3,h4,h5,h6,.brand{font-family:'Oswald','Source Sans 3',system-ui,sans-serif;font-weight:700;color:var(--slate)}
a{color:var(--red)}

/* ---------- Top bar ---------- */
.navlink{font-family:'Source Sans 3',sans-serif;font-size:13px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--slate);text-decoration:none}
.navlink:hover{color:var(--red)}

/* ---------- Masthead ---------- */
.masthead{background:var(--paper);border-top:1px solid var(--slate);border-bottom:4px solid var(--slate)}
.masthead-kicker{font-family:'Source Sans 3',sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.2em;font-size:12px;color:var(--red);margin:0}
.masthead-title{font-family:'Oswald','Source Sans 3',sans-serif;font-weight:700;text-transform:uppercase;
  color:var(--slate);font-size:clamp(2.25rem,8vw,4.5rem);line-height:1.02;letter-spacing:.01em;margin:10px 0 0;
  word-break:break-word;overflow-wrap:anywhere}
.masthead-tagline{font-family:'Source Sans 3',sans-serif;font-weight:400;color:var(--slate);margin:10px 0 0}
.dateband{max-width:560px;margin:22px auto 0;border-top:1px solid var(--slate);border-bottom:1px solid var(--slate);padding:7px 0}
#headerDate{font-family:'Source Sans 3',sans-serif;color:var(--slate);font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:.16em;margin:0;text-align:center}
.meta{font-size:14px;color:var(--slate)}

/* ---------- Section headings ---------- */
.sec-head{font-family:'Oswald','Source Sans 3',sans-serif;font-weight:700;text-transform:uppercase;color:var(--slate);margin:0}
.sec-rule{border-top:3px solid var(--slate)}

/* ---------- Story blocks ---------- */
.news-grid{display:grid;grid-template-columns:1fr;gap:28px}
@media (min-width:768px){.news-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media (min-width:1024px){.news-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}}
.news-grid > *{min-width:0}
.col-featured{min-width:0}
@media (min-width:768px){.col-featured{grid-column:span 2}}
@media (min-width:1024px){.col-featured{grid-column:span 2}}
.col-side{min-width:0}
@media (min-width:1024px){
  .col-side{border-left:1px solid var(--slate);padding-left:32px}
}

.kicker{display:block;font-family:'Source Sans 3',sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.18em;font-size:11px;color:var(--red);margin:0 0 6px}

.featured-title{font-family:'Oswald','Source Sans 3',sans-serif;font-weight:700;color:var(--slate);
  text-transform:uppercase;line-height:1.08;margin:0;overflow-wrap:anywhere;font-size:clamp(1.75rem,5vw,3rem)}
.featured-title a{color:var(--slate);text-decoration:none}
.featured-title a:hover{color:var(--red)}

.tn-grid{display:grid;grid-template-columns:1fr;gap:0}
.tn-grid > *{min-width:0;max-width:100%}
.tn-card{display:block;padding:16px 0;text-decoration:none;color:var(--slate);min-width:0;
  border-top:1px solid rgba(37,49,60,.28)}
.tn-grid > .tn-card:first-child{border-top:0;padding-top:0}
.tn-card:hover .tn-card__title{color:var(--red)}
.tn-card:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.tn-card__title{font-family:'Oswald','Source Sans 3',sans-serif;font-weight:700;color:var(--slate);font-size:19px;
  line-height:1.2;margin:0;overflow-wrap:anywhere;text-transform:uppercase}
.tn-card__summary{font-family:'Source Sans 3',sans-serif;color:var(--slate);font-size:15px;line-height:1.55;margin:6px 0 0;overflow-wrap:anywhere}
.tn-card__date{display:block;margin-top:8px;color:#56646F;font-size:12px;font-family:'Source Sans 3',sans-serif;
  text-transform:uppercase;letter-spacing:.1em}

/* Financial list uses two columns on wide screens */
.fin-grid{display:grid;grid-template-columns:1fr;gap:0 36px}
@media (min-width:768px){.fin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.label-kicker{display:inline-block;font-family:'Source Sans 3',sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.18em;font-size:11px;color:var(--red)}

/* ---------- Link rows (categories, topics) ---------- */
.linkrow{display:flex;flex-wrap:wrap;align-items:center}
.linkrow > .navlink,.linkrow > .pill{padding:4px 14px;border-left:1px solid rgba(37,49,60,.35)}
.linkrow > .navlink:first-child,.linkrow > .pill:first-child{border-left:0;padding-left:0}
.pill{font-family:'Source Sans 3',sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;
  letter-spacing:.08em;color:var(--slate);text-decoration:none;background:none;border-radius:0}
.pill:hover,.pill.is-active{color:var(--red)}

/* ---------- Buttons ---------- */
.btn{background:var(--slate);color:#fff;font-family:'Source Sans 3',sans-serif;font-weight:600;
  text-transform:uppercase;letter-spacing:.1em;border:0;border-radius:0;
  padding:12px 24px;display:inline-block;text-decoration:none;cursor:pointer;font-size:14px}
.btn:hover{background:var(--red);color:#fff}

.label-sm{font-family:'Source Sans 3',sans-serif;font-size:14px;font-weight:600;color:var(--slate);display:block;margin-bottom:6px}
.field{width:100%;border:1px solid var(--slate);background:#fff;padding:10px 12px;border-radius:0;font-family:'Source Sans 3',sans-serif;font-size:16px;color:var(--slate)}
.field:focus{outline:2px solid var(--red);outline-offset:1px}
.field-dark{width:100%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08);padding:10px 12px;border-radius:0;font-family:'Source Sans 3',sans-serif;font-size:16px;color:#fff}
.field-dark:focus{outline:2px solid #fff;outline-offset:1px}

/* ---------- Sign-up panel ---------- */
.panel{background:#fff;border:1px solid var(--slate);border-top:4px solid var(--red);border-radius:0;box-shadow:none}

/* ---------- Footer ---------- */
footer{background:var(--slate);color:#fff}
.footer-link{color:#fff;text-decoration:none}
.footer-link:hover{text-decoration:underline}
.footer-legal a{color:inherit;text-decoration:none}
.footer-legal a:hover{text-decoration:underline;color:#fff}
.signup-note a{color:inherit;text-decoration:none}
.signup-note a:hover{text-decoration:underline}

/* ---------- Layout helpers ---------- */
#today{padding-bottom:0 !important}

@media (max-width:640px){
  .btn{display:block;text-align:center;width:100%}
}
