/* Campbell CTS — blog. Tokens mirror the main site. */
:root{
  --black:#0f1009; --dark:#141710; --charcoal:#1c1f14; --gunmetal:#252820;
  --camo-dk:#2b3320; --camo-mid:#3d4a28; --olive:#5a633d; --olive-lt:#7a8850;
  --tan:#b6875f; --cream:#c2b692; --sand:#d4c9a0; --orange:#c8580a;
  --steel:#4a4f42; --muted:#6b7260; --light:#a8ae98; --white:#e8e6de; --pure:#f2f0e8;
  --font-stencil:'Barlow Condensed','Arial Narrow',sans-serif;
  --font-body:'Inter','Barlow',sans-serif;
  --nav-h:68px; --max-w:1280px; --pad:clamp(20px,4vw,64px); --trans:.25s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--black)}
body{font-family:var(--font-body);background:var(--dark);color:var(--white);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul,ol{list-style:none}

/* ── nav ── */
.bnav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:4100;
  background:rgba(15,16,9,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(194,182,146,.10)}
.bnav-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad);height:100%;
  display:flex;align-items:center;justify-content:space-between;gap:20px}
.bnav-logo{font-family:var(--font-stencil);font-weight:900;font-size:19px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cream)}
.bnav-logo span{color:var(--olive-lt)}
.bnav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.bnav-links a{font-family:var(--font-stencil);font-size:12px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--light);padding:8px 10px;white-space:nowrap;
  border-bottom:2px solid transparent;transition:var(--trans)}
.bnav-links a:hover{color:var(--cream);border-bottom-color:var(--olive)}
.bnav-cta{background:var(--olive);color:var(--pure)!important;padding:9px 18px!important;border-bottom:none!important}
.bnav-cta:hover{background:var(--olive-lt)}
@media(max-width:820px){.bnav-links a{font-size:11px;padding:6px 7px}.bnav-logo{font-size:16px}}

/* ── shell ── */
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:760px;margin:0 auto}
.bhero{padding:calc(var(--nav-h) + 72px) 0 48px;border-bottom:1px solid rgba(194,182,146,.08);
  background-image:radial-gradient(ellipse 60% 80% at 78% 50%,rgba(43,51,32,.5) 0,transparent 70%),
    linear-gradient(rgba(194,182,146,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(194,182,146,.02) 1px,transparent 1px);
  background-size:auto,48px 48px,48px 48px}
.eyebrow{font-family:var(--font-stencil);font-size:11px;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--orange);margin-bottom:14px}
h1{font-family:var(--font-stencil);font-weight:900;text-transform:uppercase;
  font-size:clamp(38px,5.6vw,72px);line-height:.95;letter-spacing:.01em;color:var(--pure)}
.lede{color:var(--light);font-size:1.12rem;line-height:1.75;margin-top:20px;max-width:720px}

/* ── index cards ── */
.plist{display:grid;gap:2px;background:rgba(194,182,146,.06);margin:56px 0 96px}
.pcard{background:var(--charcoal);padding:34px 32px;transition:var(--trans);display:block}
.pcard:hover{background:var(--gunmetal)}
.pcard .ptag{font-family:var(--font-stencil);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--orange)}
.pcard h2{font-family:var(--font-stencil);font-size:1.7rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.01em;color:var(--pure);margin:10px 0 12px;line-height:1.1}
.pcard p{color:var(--light);font-size:.95rem;line-height:1.75}
.pmeta{color:var(--muted);font-size:.78rem;letter-spacing:.06em;margin-top:16px;
  font-family:var(--font-stencil);text-transform:uppercase}

/* ── article ── */
article{padding:56px 0 96px}
article h2{font-family:var(--font-stencil);font-size:1.85rem;font-weight:800;text-transform:uppercase;
  color:var(--pure);margin:52px 0 18px;line-height:1.15;letter-spacing:.01em}
article h3{font-family:var(--font-stencil);font-size:1.25rem;font-weight:700;text-transform:uppercase;
  color:var(--cream);margin:36px 0 14px;letter-spacing:.03em}
article p{color:var(--white);font-size:1.03rem;line-height:1.85;margin-bottom:22px}
article ul,article ol{margin:0 0 24px;padding-left:0}
article li{color:var(--white);font-size:1.02rem;line-height:1.8;margin-bottom:11px;
  padding-left:22px;position:relative}
article li::before{content:'';position:absolute;left:0;top:11px;width:5px;height:5px;
  background:var(--olive-lt);transform:rotate(45deg)}
article ol{counter-reset:n}
article ol li{counter-increment:n}
article ol li::before{content:counter(n);background:none;transform:none;top:0;
  font-family:var(--font-stencil);font-size:12px;color:var(--olive-lt);font-weight:700}
article strong{color:var(--sand);font-weight:600}
article a{color:var(--tan);border-bottom:1px solid rgba(182,135,95,.4)}
article a:hover{color:var(--sand);border-bottom-color:var(--sand)}
article blockquote{border-left:2px solid var(--orange);background:rgba(90,99,61,.10);
  padding:18px 24px;margin:0 0 26px;color:var(--light);font-size:1rem;line-height:1.8}
article code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;
  background:var(--gunmetal);padding:2px 6px;color:var(--sand)}
article hr{border:none;border-top:1px solid rgba(194,182,146,.14);margin:44px 0}
.byline{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:22px;
  border-top:1px solid rgba(90,99,61,.3)}
.byline img{width:46px;height:46px;object-fit:cover;border:1px solid rgba(90,99,61,.4)}
.byline-name{font-family:var(--font-stencil);font-size:14px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--cream)}
.byline-role{color:var(--muted);font-size:.78rem;margin-top:2px}
.endcta{background:var(--charcoal);border:1px solid rgba(90,99,61,.25);padding:34px 32px;margin-top:64px}
.endcta h3{font-family:var(--font-stencil);font-size:1.4rem;font-weight:800;text-transform:uppercase;
  color:var(--pure);margin-bottom:12px}
.endcta p{color:var(--light);font-size:.96rem;line-height:1.75;margin-bottom:22px}
.btn{display:inline-block;background:var(--olive);color:var(--pure);padding:13px 26px;
  font-family:var(--font-stencil);font-size:13px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;transition:var(--trans)}
.btn:hover{background:var(--olive-lt)}
.backlink{font-family:var(--font-stencil);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted)}
.backlink:hover{color:var(--cream)}

/* ── footer ── */
.bfoot{border-top:1px solid rgba(194,182,146,.10);padding:34px 0;color:var(--muted);font-size:.8rem}
.bfoot .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.bfoot a:hover{color:var(--cream)}
