/* AZ-2026-09-18-editorial-skin — universal editorial theme
   Libre Baskerville + green + warm cream + hairline rules.
   Loaded as the LAST stylesheet so per-page rules can still override
   when needed. Uses !important on the tokens that must dominate. */

@font-face { font-family:'Libre Baskerville'; src:url('/assets/fonts/libre-baskerville.woff2')         format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Libre Baskerville'; src:url('/assets/fonts/libre-baskerville-italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Libre Baskerville'; src:url('/assets/fonts/libre-baskerville-700.woff2')    format('woff2'); font-weight:700; font-style:normal; font-display:swap; }

:root{
  --paper:#FBF9F4;
  --paper-2:#F3ECD9;
  --ink:#1A1A1A;
  --ink-body:#3A3A3A;
  --ink-dim:#6B6B6B;
  --ink-mute:#8F8778;
  --rule:#D8D2C4;
  --rule-strong:#B8B0A0;
  --green:#0E5F3D;
  --green-dark:#0A4A2E;
  --navy:#1E3050;
  --ed-serif:'Libre Baskerville',Georgia,'Iowan Old Style','Times New Roman',serif;
  --ed-sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Roboto,system-ui,sans-serif;
  --ed-mono:'SF Mono',Menlo,Monaco,Consolas,monospace;
}

/* ── Body baseline ─────────────────────────────────────────────────── */
html{color-scheme:light !important; scroll-behavior:smooth}
body{
  background:var(--paper) !important;
  color:var(--ink-body) !important;
  font-family:var(--ed-sans) !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;
}
a{color:var(--green) !important; text-decoration:none !important; text-underline-offset:3px}
a:hover{color:var(--green-dark) !important; text-decoration:underline !important}

/* ── Semantic headings ─────────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6{
  color:var(--ink) !important;
  font-family:var(--ed-serif) !important;
  font-weight:700 !important;
  letter-spacing:-.005em !important;
  line-height:1.2 !important;
}
h2{color:var(--green-dark) !important}
h3{font-style:italic; font-weight:700 !important}
h4,h5,h6{
  font-family:var(--ed-sans) !important;
  text-transform:uppercase !important;
  letter-spacing:.16em !important;
  font-size:12px !important;
  color:var(--ink-mute) !important;
  font-weight:600 !important;
}

/* ── Body typography ───────────────────────────────────────────────── */
p{color:var(--ink-body) !important}
strong,b{color:var(--ink) !important; font-weight:700 !important}
em,i{font-style:italic}
ul li::marker, ol li::marker{color:var(--green) !important}

blockquote{
  background:var(--paper-2) !important;
  border:0 !important; border-left:4px solid var(--green) !important;
  border-radius:0 !important;
  color:var(--ink) !important; font-family:var(--ed-serif) !important;
  font-style:italic !important;
}

hr{border:0 !important; border-top:1px solid var(--rule) !important}

code{
  font-family:var(--ed-mono) !important;
  background:transparent !important;
  color:var(--ink) !important;
  border-radius:0 !important;
  border:0 !important; border-bottom:1px solid var(--rule-strong) !important;
}
pre{
  background:#1A1A1A !important; color:#E8E4D5 !important;
  border-radius:0 !important;
  border-left:4px solid var(--green) !important;
  font-family:var(--ed-mono) !important;
}
pre code{background:transparent !important; color:inherit !important; border:0 !important}

/* Tables — journal style */
table{
  border-radius:0 !important;
  border:0 !important;
  border-top:2px solid var(--ink) !important;
  border-bottom:2px solid var(--ink) !important;
  background:transparent !important;
}
th{
  background:transparent !important; color:var(--ink) !important;
  font-family:var(--ed-sans) !important;
  font-weight:700 !important; font-size:11px !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  border-bottom:1px solid var(--ink) !important;
}
td{
  border-top:1px solid var(--rule) !important;
  color:var(--ink-body) !important;
}
tr:hover td{background:var(--paper-2) !important}

/* ── Nav — masthead style ──────────────────────────────────────────── */
nav{
  background:var(--paper) !important;
  border-bottom:2px solid var(--ink) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.nav-in{gap:24px !important; flex-wrap:nowrap !important}
.brand{color:var(--ink) !important}
.brand-mark{display:none !important}
.brand-name{
  font-family:var(--ed-serif) !important;
  font-size:24px !important; font-weight:700 !important;
  letter-spacing:-.01em !important; color:var(--ink) !important;
}
.brand-name span, .brand-name em{
  color:var(--ink) !important; font-style:italic !important; font-weight:400 !important;
}
.brand-sub{
  font-family:var(--ed-sans) !important;
  font-size:9.5px !important; letter-spacing:.22em !important;
  text-transform:uppercase !important; color:var(--ink-mute) !important;
  border-left:1px solid var(--rule-strong) !important; padding-left:10px !important;
}
.nav-links{
  flex-wrap:nowrap !important; white-space:nowrap !important;
  font-family:var(--ed-sans) !important; gap:20px !important;
}
.nav-links a{color:var(--ink-body) !important}
.nav-links a:hover{color:var(--green) !important; text-decoration:none !important}
.nav-cta, .nav-print{
  padding:7px 14px !important;
  border:1px solid var(--ink) !important;
  background:transparent !important; color:var(--ink) !important;
  font-family:var(--ed-sans) !important; font-weight:600 !important;
  font-size:11.5px !important; letter-spacing:.08em !important;
  text-transform:uppercase !important;
  border-radius:0 !important; white-space:nowrap !important;
}
.nav-cta:hover, .nav-print:hover{
  background:var(--ink) !important; color:var(--paper) !important;
  text-decoration:none !important;
}
@media (max-width:1100px){ .brand-sub{display:none !important} }

/* ── Buttons ───────────────────────────────────────────────────────── */
.btn{
  border-radius:0 !important;
  font-family:var(--ed-sans) !important;
  font-weight:600 !important; font-size:13px !important;
  letter-spacing:.08em !important; text-transform:uppercase !important;
  border:1px solid var(--ink) !important;
}
.btn-primary{background:var(--ink) !important; color:var(--paper) !important; border-color:var(--ink) !important}
.btn-primary:hover{background:var(--green) !important; border-color:var(--green) !important; color:var(--paper) !important}
.btn-ghost{background:transparent !important; color:var(--ink) !important; border-color:var(--ink) !important}
.btn-ghost:hover{background:var(--ink) !important; color:var(--paper) !important}

/* ── Utility classes seen across pages ─────────────────────────────── */
.eyebrow{
  font-family:var(--ed-sans) !important;
  font-size:10.5px !important; font-weight:600 !important;
  letter-spacing:.24em !important; text-transform:uppercase !important;
  color:var(--green) !important;
  background:transparent !important;
  border:0 !important; border-bottom:2px solid var(--green) !important;
  border-radius:0 !important; padding:0 0 4px !important;
}
.lead{
  font-family:var(--ed-sans) !important;
  color:var(--ink-body) !important;
}

/* ── Footer ────────────────────────────────────────────────────────── */
footer{
  background:var(--paper) !important;
  color:var(--ink-mute) !important;
  border-top:2px solid var(--ink) !important;
  font-family:var(--ed-sans) !important;
}
.foot-brand a, footer a{color:var(--green) !important}
footer .brand-mark{display:inline !important; width:auto !important; height:auto !important; font-family:var(--ed-serif); font-size:15px; font-weight:700; color:var(--ink) !important}

/* Selection */
::selection{background:var(--green) !important; color:var(--paper) !important}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0s !important; transition:none !important}
}
