:root{
  --cream:#FBF7EE;
  --navy:#14213D;
  --navy-light:#1E2E52;
  --gold:#8A6B12;
  --white:#FFFFFF;
  --divider:#8A6B12;
}
html{scroll-behavior:smooth}
body{font-family:'Lato',system-ui,sans-serif;font-weight:400;background:var(--cream);color:#1A1A1A;margin:0}
h1,h2,h3,h4,h5,h6,.site-name,.brand{font-family:'Libre Baskerville',Georgia,serif;font-weight:700;color:var(--navy)}
a{color:var(--gold)}
a:hover{text-decoration:underline}
img{max-width:100%}
*{max-width:100%}

/* ---- Top bar ---- */
.site-logo{font-family:'Libre Baskerville',Georgia,serif;font-weight:700;color:#14213D;text-decoration:none;
  letter-spacing:normal;font-size:1.125rem;line-height:1.2}
.site-logo:hover{text-decoration:none}
@media (min-width:768px){ .site-logo{font-size:1.25rem} }

.navlink{font-family:'Lato',system-ui,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--navy);text-decoration:none}
.navlink:hover{text-decoration:underline;text-decoration-color:var(--gold)}

/* ---- Masthead ---- */
.masthead{background:var(--cream);text-align:center;
  border-top:3px double var(--gold);border-bottom:3px double var(--gold)}
.masthead-title{font-family:'Libre Baskerville',Georgia,serif;font-weight:700;color:var(--navy);
  line-height:1.1;margin:0;word-break:break-word}
.masthead-tagline{font-family:'Lato',system-ui,sans-serif;font-weight:400;font-style:italic;
  font-size:1rem;color:rgba(20,33,61,.7);margin:.7rem 0 0}
#headerDate{font-family:'Lato',system-ui,sans-serif;font-weight:700;font-size:.75rem;text-transform:uppercase;
  letter-spacing:.2em;color:var(--gold);margin:.9rem 0 0}

/* ---- Section headings ---- */
.sec-head{text-align:center;font-family:'Libre Baskerville',Georgia,serif;font-weight:700;color:var(--navy);margin:0}
.sec-head::after{content:"";display:block;width:60px;height:2px;background:var(--gold);margin:.6rem auto 0}

/* ---- Featured story ---- */
#featured-story{max-width:760px;margin:0 auto}
.feat-card{background:var(--white);border:1px solid var(--gold);padding:1.75rem 1.25rem}
@media (min-width:768px){ .feat-card{padding:2.5rem} }
.feat-headline-block{border-left:4px solid var(--gold);padding-left:1rem}
.feat-headline-block::before{content:"\201C";display:block;color:var(--gold);
  font-family:'Libre Baskerville',Georgia,serif;font-size:4rem;line-height:.8;margin-bottom:.25rem}
.feat-headline{font-family:'Libre Baskerville',Georgia,serif;font-weight:700;color:var(--navy);
  font-size:1.875rem;line-height:1.15;margin:0;word-break:break-word;overflow-wrap:anywhere}
@media (min-width:768px){ .feat-headline{font-size:2.25rem} }
.feat-headline a{color:var(--navy);text-decoration:none}
.feat-headline a:hover{text-decoration:underline}
.feat-summary{font-family:'Lato',system-ui,sans-serif;font-weight:400;font-size:1.125rem;line-height:1.7;color:#333;margin:1.25rem 0 0}
@media (min-width:768px){ .feat-summary{font-size:1.25rem} }
.feat-meta{display:block;margin-top:1rem;font-family:'Lato',system-ui,sans-serif;font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}
.feat-kicker{font-family:'Lato',system-ui,sans-serif;font-size:.7rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.18em;color:var(--gold);margin:0 0 .75rem}

/* ---- Recent / financial story list ---- */
.story-list{list-style:none;margin:0 auto;padding:0;max-width:720px}
.story-item{padding:1.5rem 0}
.story-item + .story-item{border-top:1px solid var(--gold)}
.story-title{font-family:'Libre Baskerville',Georgia,serif;font-weight:700;color:var(--navy);
  font-size:1.25rem;line-height:1.3;margin:0;word-break:break-word;overflow-wrap:anywhere}
@media (min-width:768px){ .story-title{font-size:1.5rem} }
.story-title a{color:var(--navy);text-decoration:none}
.story-title a:hover{text-decoration:underline}
.story-summary{font-family:'Lato',system-ui,sans-serif;font-size:.95rem;line-height:1.6;color:#444;margin:.5rem 0 0}
.story-date{display:block;margin-top:.5rem;font-family:'Lato',system-ui,sans-serif;font-size:.7rem;
  text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}
.read-more{display:inline-block;margin-top:.65rem;font-family:'Lato',system-ui,sans-serif;font-weight:700;
  font-size:.875rem;color:var(--gold);text-decoration:none}
.read-more:hover{text-decoration:underline}

#stories-fallback{font-family:'Lato',system-ui,sans-serif;font-style:italic;color:#6B6459;text-align:center;margin:0}

/* ---- Link rows (categories / topics) ---- */
.link-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;row-gap:.5rem}
.text-link{position:relative;font-family:'Lato',system-ui,sans-serif;font-weight:700;font-size:.75rem;
  text-transform:uppercase;letter-spacing:.15em;color:var(--navy);text-decoration:none}
.text-link:hover{text-decoration:underline;text-decoration-color:var(--gold)}
.text-link::after{content:"\00B7";margin:0 .6rem;color:var(--gold);text-decoration:none;display:inline-block}
.text-link:last-child::after{content:"";margin:0}
.text-link.is-active{border-bottom:2px solid var(--gold)}

/* ---- Buttons ---- */
.btn{background:var(--navy);color:#fff;font-family:'Lato',system-ui,sans-serif;font-weight:700;border-radius:0;
  padding:.75rem 1.5rem;display:inline-block;text-decoration:none;border:0;cursor:pointer;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.08em}
.btn:hover{background:var(--navy-light);color:#fff;text-decoration:none}

/* ---- Forms ---- */
.label-sm{font-family:'Lato',system-ui,sans-serif;font-size:.8rem;font-weight:700;color:var(--navy);display:block;margin-bottom:6px}
.field{width:100%;border:1px solid #D6CDBA;background:#fff;padding:.65rem .75rem;border-radius:0;
  font-family:'Lato',system-ui,sans-serif;font-size:1rem;color:#1A1A1A}
.field:focus{outline:2px solid var(--navy);outline-offset:1px}
.field-dark{width:100%;border:1px solid #D6CDBA;background:#fff;padding:.65rem .75rem;border-radius:0;
  font-family:'Lato',system-ui,sans-serif;font-size:1rem;color:#1A1A1A}
.field-dark:focus{outline:2px solid #fff;outline-offset:1px}

/* ---- Subscribe panel ---- */
.sub-panel{background:var(--white);border:1px solid var(--gold);border-radius:0;padding:1.5rem;max-width:42rem;margin:0 auto}
@media (min-width:768px){ .sub-panel{padding:2rem} }

/* ---- Footer ---- */
footer{background:var(--navy);color:#fff}
.footer-link{color:#fff;text-decoration:none}
.footer-link:hover{color:#C9A227 !important;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.footer-legal a{color:#fff;text-decoration:none}
.footer-legal a:hover{color:#C9A227;text-decoration:underline;text-decoration-color:var(--gold)}
.signup-note a{color:inherit;text-decoration:underline}

/* ---- Donate slot ---- */
.donate-box{background:#fff;border:1px solid var(--gold);padding:1.25rem;margin-bottom:1rem}

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