/* ============================================================
   Business News (USA) — site stylesheet
   Palette, type and sizing come from brand.md and are not negotiable:
   the core reader is 55+, so legibility beats density every time.
     · body text never below 18px
     · WCAG AA contrast
     · no popups, no autoplay, no layout shift
   ============================================================ */

:root{
  --navy:#0F2C4C;
  --navy-dark:#081B2E;
  --navy-mid:#183F63;
  --gold:#B8860B;
  --gold-light:#D9A93C;
  --cream:#FAF8F5;
  --paper:#FFFFFF;
  --ink:#1A1A1A;
  --muted:#5F6B77;
  --rule:#E4DED5;
  --shadow:0 2px 4px rgba(15,44,76,.06), 0 12px 28px rgba(15,44,76,.07);
  --shadow-lg:0 4px 10px rgba(15,44,76,.10), 0 22px 50px rgba(15,44,76,.14);
  --serif:Georgia,"Merriweather","Times New Roman",serif;
  --sans:Arial,Verdana,"PT Sans",Helvetica,sans-serif;
  --wrap:1240px;

  --c-check-fraud:#8C2E2E;
  --c-rates-inflation:#1E5B7B;
  --c-benefits:#2F6B4F;
  --c-small-business:#5B3A78;
}

*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--cream);color:var(--ink);font:18px/1.72 var(--sans);-webkit-font-smoothing:antialiased}
img,svg.cover{max-width:100%;display:block}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--gold)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:24px;top:10px;z-index:99;background:#fff;padding:10px 16px;border:2px solid var(--navy)}

/* ---------- Masthead ---------- */
.topbar{background:var(--navy-dark);color:#9FB4C9;font-size:13.5px;padding:8px 0;letter-spacing:.02em}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar a{color:#9FB4C9}
.topbar a:hover{color:var(--gold-light)}

.masthead{background:var(--navy);color:#fff;padding:30px 0 26px;border-bottom:1px solid rgba(255,255,255,.08)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.logo{font:700 42px/1 var(--serif);color:#fff;letter-spacing:-1px}
.logo span{color:var(--gold-light)}
.tagline{font-size:14px;color:#93A9BF;margin-top:8px;letter-spacing:.06em;text-transform:uppercase}
.masthead-right{font-size:14px;color:#93A9BF;text-align:right;line-height:1.6}

/* ---------- Nav ---------- */
nav.main{background:var(--paper);border-bottom:1px solid var(--rule);box-shadow:0 1px 0 rgba(15,44,76,.04);position:sticky;top:0;z-index:30}
nav.main ul{display:flex;list-style:none;flex-wrap:wrap}
nav.main a{display:block;padding:16px 20px;font:700 15px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;
  color:var(--navy);border-bottom:3px solid transparent}
nav.main a:hover,nav.main a[aria-current="page"]{border-bottom-color:var(--gold);color:var(--navy)}

/* ---------- Kickers, colour-coded by section ---------- */
.kicker{display:inline-block;font:700 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;
  color:#fff;background:var(--navy);padding:7px 11px;margin-bottom:12px}
.kicker.check-fraud{background:var(--c-check-fraud)}
.kicker.rates-inflation{background:var(--c-rates-inflation)}
.kicker.benefits{background:var(--c-benefits)}
.kicker.small-business{background:var(--c-small-business)}

/* ---------- Ads: height reserved so nothing jumps ---------- */
.ad{background:#F2EEE8;border:1px dashed var(--rule);display:flex;align-items:center;justify-content:center;
  color:#A79C8E;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:34px 0}
.ad::before{content:"Advertisement"}
.ad-leaderboard{min-height:90px}
.ad-rect{min-height:250px}
.ad-inarticle{min-height:280px}

/* ---------- HERO ---------- */
.hero{position:relative;margin:28px 0 34px;box-shadow:var(--shadow-lg);overflow:hidden}
.hero .cover{width:100%;height:auto}
.hero .hero-text{position:absolute;left:0;right:0;bottom:0;padding:46px 48px 40px;
  background:linear-gradient(to top,rgba(8,27,46,.94) 20%,rgba(8,27,46,.72) 55%,rgba(8,27,46,0) 100%)}
.hero h2{font:700 46px/1.17 var(--serif);margin:6px 0 14px;max-width:900px}
.hero h2 a{color:#fff}
.hero h2 a:hover{color:var(--gold-light)}
.hero p{color:#D3DEE9;font-size:20px;line-height:1.55;max-width:820px}
.hero .meta{color:#93A9BF;margin-top:14px;font-size:14px}
@media(max-width:820px){
  .hero .hero-text{position:static;background:var(--navy);padding:26px 24px 28px}
  .hero h2{font-size:29px}
  .hero p{font-size:17px}
}

/* ---------- Layout ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:52px;padding:0 0 70px}
@media(max-width:980px){.layout{grid-template-columns:1fr;gap:36px}}

/* ---------- Cards ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.grid.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid,.grid.two{grid-template-columns:1fr}}

.card{background:var(--paper);box-shadow:var(--shadow);display:flex;flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.card .thumb{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--navy)}
.card .thumb svg,.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.card h3{font:700 21px/1.32 var(--serif);margin:10px 0 9px}
.card h3 a{color:var(--navy)}
.card h3 a:hover{color:var(--gold)}
.card p{font-size:16px;line-height:1.6;color:#4A5661}
.card .meta{margin-top:auto;padding-top:14px;font-size:13.5px;color:var(--muted)}

/* ---------- Section headings ---------- */
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:52px 0 26px}
.section-head h2{font:700 28px/1.2 var(--serif);color:var(--navy);position:relative;padding-left:16px}
.section-head h2::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:5px;background:var(--gold)}
.section-head a{font:700 14px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.section-head a:hover{color:var(--navy)}

/* ---------- Horizontal list item (used under section heads) ---------- */
.hlist{display:grid;grid-template-columns:220px 1fr;gap:22px;background:var(--paper);box-shadow:var(--shadow);
  margin-bottom:20px}
.hlist .thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--navy)}
.hlist .thumb svg{width:100%;height:100%;object-fit:cover}
.hlist .body{padding:20px 24px 20px 0}
.hlist h3{font:700 23px/1.3 var(--serif);margin:8px 0}
.hlist h3 a{color:var(--navy)}
.hlist h3 a:hover{color:var(--gold)}
.hlist p{font-size:16px;color:#4A5661}
.hlist .meta{font-size:13.5px;color:var(--muted);margin-top:10px}
@media(max-width:640px){.hlist{grid-template-columns:1fr}.hlist .body{padding:0 22px 22px}}

/* ---------- Sidebar ---------- */
aside .box{background:var(--paper);box-shadow:var(--shadow);padding:24px 24px 22px;margin-bottom:28px}
aside h2{font:700 17px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);
  padding-bottom:12px;margin-bottom:6px;border-bottom:3px solid var(--gold)}
aside ol{list-style:none;counter-reset:t}
aside ol li{counter-increment:t;display:grid;grid-template-columns:38px 1fr;gap:12px;
  padding:16px 0;border-bottom:1px solid var(--rule)}
aside ol li:last-child{border-bottom:0;padding-bottom:0}
aside ol li::before{content:counter(t);font:700 26px/1 var(--serif);color:var(--gold);opacity:.55}
aside ol a{font-weight:700;color:var(--navy);font-size:16.5px;line-height:1.4}
aside ol a:hover{color:var(--gold)}
aside ol span{display:block;font-size:12.5px;color:var(--muted);margin-top:5px;letter-spacing:.06em;text-transform:uppercase}
aside ul{list-style:none}
aside ul li{padding:13px 0;border-bottom:1px solid var(--rule)}
aside ul li:last-child{border-bottom:0}
aside ul a{font-weight:700;color:var(--navy)}
aside ul span{display:block;font-size:13.5px;color:var(--muted);font-weight:400;margin-top:3px}

aside .box.trustbox{background:var(--navy);color:#DCE8F2}
aside .box.trustbox h2{color:#fff;border-bottom-color:var(--gold)}
aside .box.trustbox p{font-size:16px;line-height:1.65;margin-top:14px;color:#DCE8F2}
aside .box.trustbox a{color:var(--gold-light);font-weight:700}

/* ---------- Article page ---------- */
.crumbs{font-size:14px;color:var(--muted);padding:22px 0 6px;letter-spacing:.03em}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--gold)}

article.post{background:var(--paper);box-shadow:var(--shadow);padding:44px 56px 50px;margin-bottom:30px}
@media(max-width:640px){article.post{padding:28px 22px 34px}}
article.post h1{font:700 44px/1.18 var(--serif);color:var(--navy);margin:10px 0 16px;letter-spacing:-.5px}
@media(max-width:640px){article.post h1{font-size:30px}}
article.post .standfirst{font:400 21.5px/1.6 var(--sans);color:#3D4E5E;margin-bottom:24px}
article.post h2{font:700 29px/1.28 var(--serif);color:var(--navy);margin:44px 0 14px}
article.post h3{font:700 22px/1.35 var(--serif);margin:30px 0 10px}
article.post p{margin-bottom:21px}
article.post > p:first-of-type{font-size:19.5px}
article.post ul,article.post ol{margin:0 0 22px 26px}
article.post li{margin-bottom:9px}
article.post figure.hero-fig{margin:0 0 30px}
article.post figure.hero-fig img,article.post figure.hero-fig svg{width:100%;max-height:520px;object-fit:cover;box-shadow:var(--shadow)}
article.post figure.hero-fig figcaption{padding-top:10px}

.byline{display:flex;gap:16px;align-items:center;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:18px 0;margin-bottom:30px;font-size:15px;color:var(--muted)}
.byline .avatar{width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font:700 19px/1 var(--serif);flex:0 0 auto}
.byline b{color:var(--ink);font-size:16px}
.byline a{color:var(--navy)}

blockquote{margin:30px 0;padding:8px 0 8px 26px;border-left:5px solid var(--gold);
  font:italic 22px/1.55 var(--serif);color:#33475B}
blockquote cite{display:block;margin-top:12px;font:400 15px/1.5 var(--sans);color:var(--muted);font-style:normal}

table{width:100%;border-collapse:collapse;margin:28px 0;font-size:17px;background:#fff;box-shadow:var(--shadow)}
th,td{border:1px solid var(--rule);padding:12px 14px;text-align:left}
th{background:#F2EEE8;font-weight:700}
caption{text-align:left;padding-bottom:9px;color:var(--muted);font-size:15px}

/* FTC affiliate disclosure — always ABOVE the first affiliate link. Never remove. */
.disclosure{background:#FFF7E3;border-left:6px solid var(--gold);padding:17px 20px;font-size:16px;margin:26px 0}

.keyfacts{background:#F7F4EF;border-top:4px solid var(--gold);padding:24px 28px;margin:30px 0}
.keyfacts h2{margin:0 0 12px;font-size:19px;letter-spacing:.06em;text-transform:uppercase;font-family:var(--sans)}

/* "What This Means for You" — required on every article by brand.md */
.sowhat{background:var(--navy);color:#fff;padding:32px 34px;margin:44px 0;box-shadow:var(--shadow)}
.sowhat h2{color:#fff;margin:0 0 14px;font-size:26px}
.sowhat p{margin-bottom:14px}
.sowhat p:last-child{margin-bottom:0}
.sowhat a{color:var(--gold-light)}

.sources{background:#F7F4EF;padding:24px 28px;margin:36px 0;font-size:16px}
.sources h2{font:700 18px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin-bottom:14px}
.sources ul,.sources ol{margin-left:20px}
.sources li{margin-bottom:9px;line-height:1.55}
.sources a{text-decoration:underline;text-underline-offset:2px}

.related{background:var(--paper);box-shadow:var(--shadow);padding:26px 30px;margin:38px 0}
.related h2{font:700 18px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);
  padding-bottom:12px;border-bottom:3px solid var(--gold);margin-bottom:6px}
.related ul{list-style:none}
.related li{padding:14px 0;border-bottom:1px solid var(--rule)}
.related li:last-child{border-bottom:0}
.related a{font:700 18px/1.4 var(--serif);color:var(--navy)}
.related a:hover{color:var(--gold)}

.cta{background:#FFFDF7;border:2px solid var(--gold);padding:24px 26px;margin:34px 0}
.btn{display:inline-block;background:var(--gold);color:#fff;font-weight:700;padding:14px 26px;border-radius:3px;font-size:17px}
.btn:hover{background:#9C7209;color:#fff}

.disclaimer{font-size:15px;color:var(--muted);border-top:1px solid var(--rule);padding-top:18px;margin-top:38px;line-height:1.6}
.meta{font-size:14px;color:var(--muted)}

/* ---------- Footer ---------- */
footer.site{background:var(--navy-dark);color:#93A9BF;padding:54px 0 30px;font-size:16px}
footer.site .cols{display:grid;grid-template-columns:2.2fr 1fr 1fr;gap:44px}
@media(max-width:820px){footer.site .cols{grid-template-columns:1fr}}
footer.site h3{font:700 15px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;
  margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--gold)}
footer.site p{line-height:1.7;font-size:15.5px}
footer.site a{color:var(--gold-light)}
footer.site a:hover{text-decoration:underline}
footer.site ul{list-style:none}
footer.site li{padding:6px 0}
footer.site .legal{border-top:1px solid #17304A;margin-top:36px;padding-top:22px;font-size:13.5px;color:#6E829A;line-height:1.7}
