:root{
  --navy-950:#0b1420;
  --navy-900:#0f1c2b;
  --navy-800:#142639;
  --navy-700:#1c3349;
  --blue-line:#2a4a63;
  --paper:#e9edf1;
  --paper-dim:#aab8c4;
  --rust:#b85a29;
  --rust-bright:#e17a3d;
  --rust-dim:#8f4a24;
  --ok:#7fae7a;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--navy-950);
  color:var(--paper);
  font-family:'Space Grotesk',sans-serif;
  line-height:1.55;
  background-image:
    linear-gradient(var(--blue-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--blue-line) 1px, transparent 1px);
  background-size:44px 44px;
  background-attachment:fixed;
}
a{color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
.wrap.narrow{max-width:760px;}

/* ---- header ---- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,20,32,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--navy-700);
}
header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;gap:16px;}
.header-actions{display:flex;align-items:center;gap:14px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.25rem;letter-spacing:0.01em;text-decoration:none;}
.amp{color:var(--rust-bright);margin:0 2px;}
.brand-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:0.62rem;
  color:var(--paper-dim);
  letter-spacing:0.1em;
  text-transform:uppercase;
  border-left:1px solid var(--navy-700);
  padding-left:10px;
}
@media(max-width:640px){.brand-tag{display:none;}}
.nav-link{
  font-family:'JetBrains Mono',monospace;
  font-size:0.72rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--paper-dim);
  text-decoration:none;
  transition:color 0.15s ease;
}
.nav-link:hover{color:var(--rust-bright);}
.social-link{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;flex-shrink:0;
  border:1px solid var(--navy-700);
  color:var(--paper-dim);
  transition:all 0.15s ease;
}
.social-link:hover{border-color:var(--rust);color:var(--rust-bright);}
.social-link svg{width:17px;height:17px;fill:currentColor;}
.cta-btn{
  background:var(--rust);
  color:#fff;
  border:1px solid var(--rust-bright);
  font-family:'JetBrains Mono',monospace;
  font-size:0.78rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:11px 20px;
  text-decoration:none;
  display:inline-block;
  transition:all 0.15s ease;
  cursor:pointer;
}
.cta-btn:hover{background:var(--rust-bright);transform:translateY(-1px);}
.cta-btn.large{padding:16px 30px;font-size:0.9rem;}
@media(max-width:560px){.nav-link.hide-sm{display:none;}}

/* ---- article header ---- */
.article-hero{padding:72px 0 40px;border-bottom:1px solid var(--navy-700);}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--rust-bright);
  margin-bottom:14px;
}
.article-hero h1{
  font-size:clamp(1.8rem,4.2vw,2.7rem);
  font-weight:700;
  letter-spacing:-0.015em;
  line-height:1.18;
  max-width:780px;
}
.article-meta{
  font-family:'JetBrains Mono',monospace;
  font-size:0.74rem;
  color:var(--paper-dim);
  letter-spacing:0.05em;
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
}
.article-standfirst{
  color:var(--paper-dim);
  font-size:1.08rem;
  margin-top:22px;
  max-width:700px;
}

/* ---- article body ---- */
.article-body{padding:52px 0 72px;}
.article-body p{margin-bottom:20px;font-size:1.02rem;color:var(--paper-dim);}
.article-body h2{
  font-size:clamp(1.35rem,2.6vw,1.7rem);
  font-weight:700;
  letter-spacing:-0.01em;
  color:var(--paper);
  margin:44px 0 18px;
  padding-top:10px;
  border-top:1px solid var(--navy-700);
}
.article-body h3{
  font-size:1.05rem;
  font-weight:600;
  color:var(--paper);
  margin:30px 0 12px;
}
.article-body ul,.article-body ol{margin:0 0 22px 0;padding-left:0;list-style:none;}
.article-body li{
  font-size:1.0rem;
  color:var(--paper-dim);
  padding-left:22px;
  position:relative;
  margin-bottom:11px;
}
.article-body ul li::before{content:"—";position:absolute;left:0;color:var(--rust-bright);}
.article-body ol{counter-reset:li;}
.article-body ol li{padding-left:30px;}
.article-body ol li::before{
  counter-increment:li;
  content:counter(li,decimal-leading-zero);
  position:absolute;left:0;
  font-family:'JetBrains Mono',monospace;
  font-size:0.8rem;
  color:var(--rust-bright);
  top:2px;
}
.article-body strong{color:var(--paper);font-weight:600;}
.article-body a{color:var(--rust-bright);}
.article-body code{
  font-family:'JetBrains Mono',monospace;
  font-size:0.86em;
  background:var(--navy-800);
  border:1px solid var(--navy-700);
  padding:2px 6px;
  color:var(--paper);
}

.callout{
  border:1px dashed var(--rust-dim);
  padding:24px 26px;
  background:rgba(200,100,47,0.05);
  margin:32px 0;
}
.callout p{margin-bottom:0;font-size:0.97rem;}
.callout p + p{margin-top:14px;}

.combo-card{
  background:var(--navy-900);
  border:1px solid var(--navy-700);
  border-left:2px solid var(--rust);
  padding:24px 26px;
  margin:24px 0;
}
.combo-card .combo-num{
  font-family:'JetBrains Mono',monospace;
  font-size:0.72rem;
  letter-spacing:0.12em;
  color:var(--rust-bright);
  margin-bottom:10px;
}
.combo-card h3{margin:0 0 12px;font-size:1.08rem;}
.combo-card p{margin-bottom:0;font-size:0.97rem;}
.combo-card p + p{margin-top:12px;}

/* ---- related reading ---- */
.article-related{
  border-top:1px solid var(--navy-700);
  padding:56px 0 0;
}
.article-related h2{font-size:clamp(1.2rem,2.4vw,1.5rem);font-weight:700;margin-bottom:22px;}

/* ---- article footer cta ---- */
.article-cta{
  border-top:1px solid var(--navy-700);
  padding:56px 0;
}
.article-cta h2{font-size:clamp(1.4rem,2.8vw,1.9rem);font-weight:700;margin-bottom:14px;}
.article-cta p{color:var(--paper-dim);margin-bottom:26px;max-width:600px;}

/* ---- article index ---- */
.article-list{display:flex;flex-direction:column;gap:1px;background:var(--navy-700);border:1px solid var(--navy-700);}
.article-card{
  background:var(--navy-950);
  padding:32px 30px;
  text-decoration:none;
  display:block;
  transition:background 0.15s ease;
}
.article-card:hover{background:var(--navy-900);}
.article-card .card-meta{
  font-family:'JetBrains Mono',monospace;
  font-size:0.7rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--rust-bright);
  margin-bottom:12px;
}
.article-card h2{font-size:1.3rem;font-weight:700;color:var(--paper);margin-bottom:10px;letter-spacing:-0.01em;}
.article-card p{color:var(--paper-dim);font-size:0.98rem;}
.article-card .read-more{
  font-family:'JetBrains Mono',monospace;
  font-size:0.74rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--rust-bright);
  margin-top:16px;
  display:inline-block;
}

.back-link{
  font-family:'JetBrains Mono',monospace;
  font-size:0.74rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--paper-dim);
  text-decoration:none;
  display:inline-block;
  margin-bottom:28px;
}
.back-link:hover{color:var(--rust-bright);}

/* ---- footer ---- */
footer{padding:40px 0;border-top:1px solid var(--navy-700);}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;font-family:'JetBrains Mono',monospace;font-size:0.75rem;color:var(--paper-dim);}
.footer-info{display:flex;flex-direction:column;gap:5px;}
.footer-location{opacity:0.75;font-size:0.72rem;}
.footer-nav{display:flex;gap:18px;}
