:root{
  --ink:#14171A;
  --ink-soft:#1F2327;
  --paper:#E7E8E1;
  --paper-white:#F4F4EF;
  --safety:#F2B705;
  --steel:#3C4A54;
  --rust:#B54A24;
  --concrete:#82847C;
  --line:rgba(20,23,26,0.14);
  --line-on-dark:rgba(244,244,239,0.16);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.01em;
  font-weight:600;
  line-height:1.15;
}
.mono{font-family:'IBM Plex Mono',monospace; letter-spacing:0.04em;}
a{color:inherit;}
.wrap{max-width:820px; margin:0 auto; padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }
a:focus-visible, button:focus-visible{ outline:2px solid var(--safety); outline-offset:3px; }
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

.topbar{ background:var(--ink); border-bottom:1px solid var(--line-on-dark); }
.topbar-inner{ display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1180px; margin:0 auto; }
.logo{ color:var(--paper-white); font-family:'Oswald',sans-serif; font-weight:700; font-size:19px; letter-spacing:0.04em; display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo .mark{ width:11px; height:11px; background:var(--safety); transform:rotate(45deg); flex:none; }
.back-link{ color:var(--paper-white); font-size:13px; font-family:'IBM Plex Mono',monospace; letter-spacing:0.05em; text-transform:uppercase; opacity:0.75; text-decoration:none; }
.back-link:hover{ opacity:1; color:var(--safety); }

.article-hero{ background:var(--ink); color:var(--paper-white); padding:64px 0 56px; }
.eyebrow{ display:inline-flex; align-items:center; gap:10px; font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--safety); margin-bottom:22px; }
.eyebrow::before{ content:''; width:26px; height:1px; background:var(--safety); }
.article-hero h1{ font-size:clamp(30px,5vw,46px); max-width:700px; }
.article-meta{ margin-top:24px; font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:rgba(244,244,239,0.6); letter-spacing:0.03em; }

.article-body{ padding:56px 0 40px; }
.article-body p{ color:var(--ink); margin-bottom:20px; font-size:16.5px; }
.article-body h2{ font-size:24px; margin-top:44px; margin-bottom:16px; color:var(--ink); padding-bottom:10px; border-bottom:2px solid var(--ink); }
.article-body ol, .article-body ul{ margin:0 0 24px 22px; }
.article-body li{ margin-bottom:10px; color:var(--ink); font-size:16.5px; }
.article-body strong{ color:var(--ink); }
.lede{ font-size:19px; color:var(--steel); font-weight:500; margin-bottom:8px; }
.divider{ height:1px; background:var(--line); margin:48px 0; }
.author-box{ background:var(--paper-white); border:1px solid var(--line); padding:28px; font-size:14.5px; color:var(--concrete); line-height:1.6; }
.author-box strong{ color:var(--ink); }

.callout{ background:var(--paper-white); border-left:3px solid var(--safety); padding:22px 24px; margin:32px 0; }
.callout p{ font-size:15.5px; margin:0; color:var(--ink-soft); }
.callout-label{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--rust); margin-bottom:9px; display:block; }
.verify-note{ margin-top:16px; font-size:14px; color:var(--concrete); line-height:1.6; }
.verify-note strong{ color:var(--steel); }

.cta-band{ background:var(--safety); color:var(--ink); padding:56px 0; }
.cta-band-inner{ display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.cta-band h2{ font-size:clamp(22px,3.4vw,30px); max-width:480px; }
.btn{ font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:0.05em; text-transform:uppercase; padding:15px 26px; display:inline-flex; align-items:center; gap:10px; text-decoration:none; transition:transform .15s ease; background:var(--ink); color:var(--safety); border:1px solid var(--ink); }
.btn:hover{ transform:translateY(-2px); }

footer{ background:var(--ink); color:rgba(244,244,239,0.5); padding:32px 0; font-size:12.5px; }
.foot-inner{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.foot-inner a{ color:rgba(244,244,239,0.7); text-decoration:none; }
.foot-inner a:hover{ color:var(--safety); }
