/* THE EXECUTIVE STANDARD — Forbes-grade editorial system */
:root{
  --ink:#111111;
  --ink-2:#333333;
  --ink-3:#6b6b6b;
  --rule:#e5e2dc;
  --paper:#ffffff;
  --paper-2:#faf9f7;
  --accent:#9a1b1e;      /* oxblood */
  --accent-dark:#701316;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--serif);color:var(--ink);background:var(--paper);line-height:1.65;font-size:19px}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* ---------- masthead ---------- */
.topbar{background:#111;color:#fff;font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.topbar-inner{max-width:1140px;margin:0 auto;padding:9px 20px;display:flex;justify-content:space-between;align-items:center}
.topbar-inner span{opacity:.75}
.masthead{border-bottom:1px solid var(--ink);background:var(--paper)}
.masthead-inner{max-width:1140px;margin:0 auto;padding:26px 20px 18px;text-align:center}

/* Wordmark: small-caps transitional serif between paired hairline rules, the
   construction American business broadsheets use. Kept as live text rather than
   an image so it stays crisp at every size and can be edited in one place. */
.wordmark{
  font-family:var(--serif);font-weight:700;
  font-size:clamp(26px,4.6vw,42px);letter-spacing:.055em;
  color:var(--ink);text-transform:uppercase;line-height:1;
  position:relative;display:block;
  padding:14px 0 15px;
}
.wordmark::before,.wordmark::after{
  content:'';position:absolute;left:0;right:0;height:0;
  border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
}
.wordmark::before{top:0;padding-top:3px}
.wordmark::after{bottom:0;padding-bottom:3px}
.wordmark a{color:var(--ink)}
.tagline{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-top:6px}
.navbar{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:50}
.navbar-inner{max-width:1140px;margin:0 auto;padding:0 20px;display:flex;gap:28px;justify-content:center;overflow-x:auto}
.navbar a{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);padding:13px 0;white-space:nowrap;border-bottom:2px solid transparent}
.navbar a:hover{color:var(--accent);border-bottom-color:var(--accent);text-decoration:none}

/* reading progress */
.progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);width:0%;z-index:100;transition:width .1s linear}

/* ---------- article ---------- */
.article-wrap{max-width:720px;margin:0 auto;padding:0 20px}
.kicker{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:44px 0 14px;display:flex;align-items:center;gap:10px}
.kicker::after{content:"";flex:1;height:1px;background:var(--rule)}
h1.hed{font-family:var(--serif);font-weight:700;font-size:clamp(32px,5.4vw,46px);line-height:1.13;letter-spacing:-.01em;margin-bottom:18px}
.dek{font-family:var(--serif);font-size:22px;line-height:1.45;color:var(--ink-3);font-weight:400;margin-bottom:26px}
.byline-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);margin-bottom:26px;font-family:var(--sans)}
.byline-row img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.byline-meta{font-size:13.5px;line-height:1.45}
.byline-meta .name{font-weight:700;color:var(--ink)}
.byline-meta .name a{color:var(--ink)}
.byline-meta .role{color:var(--ink-3)}
.byline-meta .date{color:var(--ink-3)}
.share{margin-left:auto;display:flex;gap:8px}
.share button{width:34px;height:34px;border:1px solid var(--rule);border-radius:50%;background:#fff;color:var(--ink-2);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.share button:hover{border-color:var(--accent);color:var(--accent)}

.hero{margin:0 0 10px}
.hero img{width:100%;border-radius:0}
.caption{font-family:var(--sans);font-size:12.5px;color:var(--ink-3);padding:8px 0 0;border-bottom:1px solid var(--rule);margin-bottom:34px;line-height:1.5}
.caption .credit{text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;color:#999}

.article-body p{margin-bottom:26px}
.article-body>p:first-of-type::first-letter{font-size:64px;line-height:.83;float:left;padding:8px 10px 0 0;font-weight:700;color:var(--ink)}
.article-body h2{font-family:var(--serif);font-size:27px;font-weight:700;line-height:1.25;margin:44px 0 16px;letter-spacing:-.01em}
.article-body h3{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:38px 0 14px}
.article-body strong{font-weight:700}
.article-body em{font-style:italic}
.article-body figure{margin:36px 0}
.article-body figure img{width:100%}

.pullquote{border-top:3px solid var(--ink);border-bottom:1px solid var(--rule);padding:26px 0;margin:40px 0;font-size:27px;line-height:1.35;font-weight:600;letter-spacing:-.01em}
.pullquote .attr{display:block;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:14px}

.factbox{background:var(--paper-2);border-left:3px solid var(--accent);padding:24px 26px;margin:36px 0;font-family:var(--sans);font-size:15.5px;line-height:1.6}
.factbox .fb-title{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.factbox ul{list-style:none}
.factbox li{padding:7px 0;border-bottom:1px solid var(--rule)}
.factbox li:last-child{border-bottom:none}
.factbox b{font-weight:700}

.redacted{background:#111;color:#111;border-radius:2px;padding:0 6px;user-select:none}

/* stat strip */
.statstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border-top:3px solid var(--ink);border-bottom:1px solid var(--rule);margin:40px 0}
.statstrip>div{background:var(--paper);padding:22px 16px;text-align:center}
.statstrip .num{font-family:var(--serif);font-size:34px;font-weight:700;color:var(--ink);line-height:1.1}
.statstrip .lab{font-family:var(--sans);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:8px;line-height:1.5}

/* CTA module — styled like an editorial "related" unit */
.cta-module{border:1px solid var(--ink);margin:44px 0;padding:34px 34px 30px;text-align:center;background:var(--paper)}
.cta-module .cta-kicker{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.cta-module h4{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.3;margin-bottom:12px}
.cta-module p{font-size:16.5px;color:var(--ink-2);margin-bottom:20px;line-height:1.55}
.cta-btn{display:inline-block;background:var(--ink);color:#fff;font-family:var(--sans);font-size:13.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:15px 34px;border:none;cursor:pointer}
.cta-btn:hover{background:var(--accent);text-decoration:none;color:#fff}
.cta-module .cta-note{font-family:var(--sans);font-size:12.5px;color:var(--ink-3);margin-top:14px;margin-bottom:0}

/* editor's note / disclaimer */
.ednote{font-family:var(--sans);font-size:13.5px;color:var(--ink-3);background:var(--paper-2);padding:16px 20px;margin:30px 0;line-height:1.6;border:1px solid var(--rule)}

/* comments */
.comments{border-top:3px solid var(--ink);margin-top:56px;padding-top:26px}
.comments h5{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px}
.comment{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--rule)}
.comment .avatar{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--sans);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.comment-body{font-family:var(--sans);font-size:15px;line-height:1.6}
.comment-body .c-name{font-weight:700;font-size:14px}
.comment-body .c-time{color:var(--ink-3);font-size:12.5px;font-weight:400;margin-left:8px}
.comment-body p{margin-top:6px;color:var(--ink-2)}
.comment-actions{font-size:12.5px;color:var(--ink-3);margin-top:8px;display:flex;gap:16px}
.comment-actions span{cursor:pointer}
.comment-actions span:hover{color:var(--accent)}
.comment-form{display:flex;gap:12px;margin:22px 0 10px}
.comment-form input{flex:1;border:1px solid var(--rule);padding:13px 16px;font-family:var(--sans);font-size:15px}
.comment-form button{background:var(--ink);color:#fff;border:none;padding:0 22px;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}

/* footer */
footer{background:#111;color:#bbb;margin-top:70px;font-family:var(--sans)}
.footer-inner{max-width:1140px;margin:0 auto;padding:44px 20px;text-align:center}
.footer-inner .fm{font-family:var(--serif);color:#fff;font-weight:700;font-size:22px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px}
.footer-links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.footer-links a{color:#bbb;font-size:12.5px;letter-spacing:.06em}
.footer-inner .legal{font-size:11.5px;color:#777;line-height:1.7;max-width:640px;margin:0 auto}

/* homepage grid */
.home-hero{max-width:1140px;margin:34px auto 0;padding:0 20px}
.home-grid{max-width:1140px;margin:30px auto;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:34px}
.card a{color:var(--ink)}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:14px}
.card .k{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.card h3{font-family:var(--serif);font-size:22px;font-weight:700;line-height:1.25;margin-bottom:8px}
.card p{font-size:15.5px;color:var(--ink-3);line-height:1.55}

@media(max-width:640px){
  body{font-size:17.5px}
  .dek{font-size:19px}
  .statstrip{grid-template-columns:1fr}
  .share{display:none}
  .cta-module{padding:26px 20px}
}
