/*
Theme Name: Stratejik Analiz Child
Theme URI: https://stratejikanaliz.com
Template: generatepress
Description: Editorial child theme — typographic covers, navy primary, OLED dark, no AI slop. Authoritative source: stratejikanaliz_content_rules.md memory.
Author: KAVELA LTD
Version: 1.2
*/

/* Fonts loaded via wp_enqueue_style in functions.php (preconnect + display=swap) */

:root {
  --font-display: "Satoshi", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body:    "Newsreader", Georgia, "Times New Roman", serif;
  --display: clamp(40px, 8vw, 96px);
  --h1: clamp(32px, 5.6vw, 64px);
  --h2: clamp(24px, 3.6vw, 40px);
  --h3: clamp(20px, 2.4vw, 28px);
  --body: clamp(17px, 1.4vw, 19px);
  --kicker: 12px;
  --label: 11px;
  --space-sm: 8px; --space-md: 16px; --space-lg: 24px;
  --space-xl: 32px; --space-2xl: 48px; --space-3xl: 64px; --space-4xl: 96px;
  --r-control: 5px; --r-pill: 999px;
  --ease: cubic-bezier(.2,.8,.2,1);
  --dur-fast: 120ms; --dur-slow: 320ms;
  --w-page: 1320px;

  /* Light mode — navy primary (memory: stratejikanaliz_content_rules.md) */
  --bg: #FFFFFF;
  --surface1: #FAFAFA; --surface2: #F5F5F5; --surface3: #EAEAEA;
  --border: #E8E8E8; --border-visible: #CACACA;
  --text1: #262626; --text2: #555555; --text3: #888888; --text4: #BCBCBC;
  --accent: #0B2566;            /* navy primary */
  --accent-strong: #04153D;
  --accent-rare: #BA0582;        /* pink rare CTA only */

  /* Category accents (used in kickers + cover slabs + nav strip) */
  --cat-jeopolitik: #0B2566;     /* navy */
  --cat-savunma:    #C7382C;     /* red */
  --cat-ekonomi:    #1A7A3A;     /* green */
  --cat-politika:   #1A1A1A;     /* charcoal */
  --cat-teknoloji:  #6E3FA8;     /* aubergine — only chromatic teknoloji */
  --cat-sozluk:     #888888;

  /* Section pastels */
  --pastel-jeopolitik: #E3EEFF;
  --pastel-savunma:    #FFE0E0;
  --pastel-ekonomi:    #E3FFF7;
  --pastel-politika:   #F2F2F2;
  --pastel-teknoloji:  #F4E3FF;
  --pastel-ice:        #E4F3F7;
}

/* OLED dark — pure #000, white primary, rare pink accent */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #000000;
    --surface1: #0A0A0A; --surface2: #141414; --surface3: #1F1F1F;
    --border: #1F1F1F; --border-visible: #333333;
    --text1: #FFFFFF; --text2: #B8B8B8; --text3: #888888; --text4: #555555;
    --accent: #FFFFFF;
    --accent-strong: #DDDDDD;
    --accent-rare: #BA0582;

    --cat-jeopolitik: #FFFFFF;
    --cat-savunma:    #FF6E60;
    --cat-ekonomi:    #6FE08F;
    --cat-politika:   #FFFFFF;
    --cat-teknoloji:  #B98AFF;
    --cat-sozluk:     #888888;

    --pastel-jeopolitik: #0F1A2E;
    --pastel-savunma:    #2A1414;
    --pastel-ekonomi:    #0F2418;
    --pastel-politika:   #141414;
    --pastel-teknoloji:  #1F142A;
    --pastel-ice:        #0F1A1E;
  }
}

:root[data-theme="dark"] {
  --bg: #000000;
  --surface1: #0A0A0A; --surface2: #141414; --surface3: #1F1F1F;
  --border: #1F1F1F; --border-visible: #333333;
  --text1: #FFFFFF; --text2: #B8B8B8; --text3: #888888; --text4: #555555;
  --accent: #FFFFFF; --accent-strong: #DDDDDD; --accent-rare: #BA0582;
  --cat-jeopolitik: #FFFFFF; --cat-savunma: #FF6E60; --cat-ekonomi: #6FE08F;
  --cat-politika: #FFFFFF; --cat-teknoloji: #B98AFF; --cat-sozluk: #888888;
  --pastel-jeopolitik: #0F1A2E; --pastel-savunma: #2A1414; --pastel-ekonomi: #0F2418;
  --pastel-politika: #141414; --pastel-teknoloji: #1F142A; --pastel-ice: #0F1A1E;
}
:root[data-theme="light"] {
  --bg: #FFFFFF;
  --surface1: #FAFAFA; --surface2: #F5F5F5; --surface3: #EAEAEA;
  --border: #E8E8E8; --border-visible: #CACACA;
  --text1: #262626; --text2: #555555; --text3: #888888; --text4: #BCBCBC;
  --accent: #0B2566; --accent-strong: #04153D; --accent-rare: #BA0582;
  --cat-jeopolitik: #0B2566; --cat-savunma: #C7382C; --cat-ekonomi: #1A7A3A;
  --cat-politika: #1A1A1A; --cat-teknoloji: #6E3FA8; --cat-sozluk: #888888;
  --pastel-jeopolitik: #E3EEFF; --pastel-savunma: #FFE0E0; --pastel-ekonomi: #E3FFF7;
  --pastel-politika: #F2F2F2; --pastel-teknoloji: #F4E3FF; --pastel-ice: #E4F3F7;
}

* { box-sizing: border-box; }
html, body, .site, .site-content, .inside-article, .one-container .site-content, .separate-containers .inside-article {
  background: var(--bg) !important;
  color: var(--text1) !important;
}
body {
  font-family: var(--font-body) !important;
  font-size: var(--body);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}
::selection { background: var(--accent); color: var(--bg); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

/* GP overrides */
.site, .inside-header, .site-content, .site-info, .footer-widgets, .entry-content,
.site-main, .site-footer, .header-wrap, .main-navigation { background: transparent !important; }
.separate-containers .inside-article, .one-container .site-content,
.one-container .inside-article { padding: 0 !important; }
.entry-meta, .entry-header, .entry-footer { margin: 0 !important; padding: 0 !important; }
.generate-back-to-top { display: none !important; }
.site-header, .main-navigation, .site-info, #generate-slideout-menu { display: none !important; }

.sa-container { max-width: var(--w-page); margin: 0 auto; padding: 0 var(--space-lg); }
@media (max-width: 768px) { .sa-container { padding: 0 var(--space-md); } }

/* ── KICKER ── */
.sa-kicker, .sa-kicker a {
  font-family: var(--font-display);
  font-size: var(--kicker);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent) !important;
  margin: 0 0 var(--space-sm) !important;
  text-decoration: none !important;
  display: inline-block;
}
.sa-kicker .dot { color: var(--text2); margin: 0 8px; font-weight: 400; }

.sa-kicker.cat-jeopolitik, .sa-kicker.cat-jeopolitik a { color: var(--cat-jeopolitik) !important; }
.sa-kicker.cat-savunma-sanayi, .sa-kicker.cat-savunma-sanayi a { color: var(--cat-savunma) !important; }
.sa-kicker.cat-ekonomi, .sa-kicker.cat-ekonomi a { color: var(--cat-ekonomi) !important; }
.sa-kicker.cat-politika, .sa-kicker.cat-politika a { color: var(--cat-politika) !important; }
.sa-kicker.cat-teknoloji, .sa-kicker.cat-teknoloji a { color: var(--cat-teknoloji) !important; }

/* ── BUTTONS ── */
.sa-btn {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 12px 20px;
  border-radius: 0;
  text-decoration: none !important;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* Primary = solid charcoal/white (per user — not indigo, not gradient) */
.sa-btn-primary { background: var(--text1) !important; color: var(--bg) !important; border-color: var(--text1) !important; }
.sa-btn-primary:hover { background: var(--accent-rare) !important; border-color: var(--accent-rare) !important; color: #FFFFFF !important; }
.sa-btn-secondary { background: transparent !important; color: var(--text1) !important; border-color: var(--text1) !important; }
.sa-btn-secondary:hover { background: var(--text1) !important; color: var(--bg) !important; }

/* ── TICKER ── */
.sa-ticker {
  background: var(--text1);
  color: var(--bg);
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid var(--border);
}
.sa-ticker-track {
  display: flex;
  gap: 56px;
  padding: 10px 0;
  white-space: nowrap;
  animation: sa-ticker-scroll 80s linear infinite;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.sa-ticker-track:hover { animation-play-state: paused; }
.sa-ticker-item { display: inline-flex; align-items: center; gap: 14px; flex-shrink: 0; }
.sa-ticker-item .pill {
  background: var(--bg); color: var(--text1);
  padding: 2px 8px;
  letter-spacing: 0.1em;
  font-weight: 700;
  font-size: 10px;
}
.sa-ticker-item a, .sa-ticker-item a:link, .sa-ticker-item a:visited {
  color: var(--bg) !important; text-decoration: none !important;
}
.sa-ticker-item a:hover { color: var(--accent-rare) !important; }
@keyframes sa-ticker-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .sa-ticker-track { animation: none; flex-wrap: wrap; white-space: normal; }
}

/* ── HEADER ── */
.sa-header { position: sticky; top: 0; z-index: 10; background: var(--bg) !important; border-bottom: 1px solid var(--border); }
.sa-header-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  padding-top: 20px;
  padding-bottom: 20px;
  /* left/right padding inherited from .sa-container (24px desktop, 16px mobile) */
}
.sa-logo, .sa-logo:link, .sa-logo:visited {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-size: 26px !important;
  color: var(--text1) !important;
  text-decoration: none !important;
  letter-spacing: -0.02em !important;
  flex-shrink: 0;
  transition: color var(--dur-fast) var(--ease);
  line-height: 1;
}
.sa-logo:hover, .sa-logo:focus { color: var(--accent-rare) !important; }
.sa-nav {
  display: flex; gap: 32px;
  font-family: var(--font-display); font-size: 13px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  flex: 1;
  justify-content: flex-end;
  align-items: stretch;
}
.sa-nav a, .sa-nav a:link, .sa-nav a:visited {
  color: var(--text1) !important;
  text-decoration: none !important;
  transition: color var(--dur-fast), border-color var(--dur-fast);
  padding: 4px 0;
  border-top: 3px solid transparent;
  display: inline-flex; align-items: center;
}
.sa-nav a:hover, .sa-nav a.active, .sa-nav a:focus { color: var(--accent) !important; }
.sa-nav .cat-jeopolitik:hover    { border-top-color: var(--cat-jeopolitik); color: var(--cat-jeopolitik) !important; }
.sa-nav .cat-savunma-sanayi:hover { border-top-color: var(--cat-savunma); color: var(--cat-savunma) !important; }
.sa-nav .cat-ekonomi:hover       { border-top-color: var(--cat-ekonomi); color: var(--cat-ekonomi) !important; }
.sa-nav .cat-politika:hover      { border-top-color: var(--cat-politika); color: var(--cat-politika) !important; }
.sa-nav .cat-teknoloji:hover     { border-top-color: var(--cat-teknoloji); color: var(--cat-teknoloji) !important; }

.sa-theme-toggle {
  background: transparent;
  border: 1px solid var(--border-visible);
  padding: 8px 12px;
  font-family: var(--font-display);
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text2);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease);
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 36px;
}
.sa-theme-toggle:hover { color: var(--text1); border-color: var(--text1); }
.sa-theme-toggle .icon { font-size: 14px; }

.sa-menu-btn {
  display: none;
  background: none; border: none; padding: 8px;
  font-size: 24px; color: var(--text1);
  cursor: pointer; min-width: 44px; min-height: 44px;
}
@media (max-width: 1000px) {
  .sa-nav { display: none; }
  .sa-menu-btn { display: inline-flex; align-items: center; justify-content: center; }
}

.sa-drawer { position: fixed; inset: 0; background: var(--bg); z-index: 100; display: none; flex-direction: column; padding: 24px; }
.sa-drawer.is-open { display: flex; }
.sa-drawer-close { align-self: flex-end; background: none; border: none; font-size: 28px; cursor: pointer; color: var(--text1); }
.sa-drawer-nav { display: flex; flex-direction: column; gap: 24px; margin-top: 32px; }
.sa-drawer-nav a { font-family: var(--font-display); font-size: 22px; font-weight: 700; color: var(--text1) !important; text-decoration: none !important; }
.sa-drawer-nav a:hover { color: var(--accent) !important; }

/* ── TYPOGRAPHIC COVER (replaces AI image) ── */
.sa-cover {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-lg);
  aspect-ratio: 4 / 3;
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.sa-cover-lg { aspect-ratio: 16 / 9; padding: var(--space-xl); }
.sa-cover.cat-jeopolitik    { background: var(--pastel-jeopolitik); }
.sa-cover.cat-savunma-sanayi { background: var(--pastel-savunma); }
.sa-cover.cat-ekonomi       { background: var(--pastel-ekonomi); }
.sa-cover.cat-politika      { background: var(--pastel-politika); }
.sa-cover.cat-teknoloji     { background: var(--pastel-teknoloji); }
.sa-cover .sa-cover-kicker {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text1);
  opacity: 0.7;
}
.sa-cover .sa-cover-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(24px, 3.4vw, 40px);
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: var(--text1);
  margin: 0;
  max-width: 14ch;
}
.sa-cover-lg .sa-cover-title { font-size: clamp(36px, 5.4vw, 64px); max-width: 18ch; }
.sa-cover .sa-cover-meta {
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text2);
  font-weight: 500;
}

/* ── HERO ── */
.sa-hero { padding: var(--space-2xl) 0 var(--space-3xl); border-bottom: 1px solid var(--border); }
.sa-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--space-2xl);
  align-items: start;
}
@media (max-width: 1024px) { .sa-hero-grid { grid-template-columns: 1fr; gap: var(--space-xl); } }
.sa-hero-card { display: block; text-decoration: none !important; }
.sa-hero-image {
  margin: 0 0 var(--space-xl);
  width: 100%;
  aspect-ratio: 21 / 9;
  overflow: hidden;
  background: var(--surface3);
}
@media (max-width: 1024px) { .sa-hero-image { aspect-ratio: 16 / 9; } }
@media (max-width: 768px) { .sa-hero-image { aspect-ratio: 4 / 3; margin-bottom: var(--space-md); } }
@media (max-width: 480px) { .sa-hero-image { aspect-ratio: 1 / 1; } }
.sa-hero-image img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform var(--dur-slow) var(--ease);
}
@media (hover: hover) { .sa-hero-card:hover .sa-hero-image img { transform: scale(1.015); } }
.sa-hero-image-fallback { margin: 0 0 var(--space-xl); }

.sa-hero h1 {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-size: clamp(32px, 4.8vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.025em !important;
  color: var(--text1) !important;
  margin: 0 0 var(--space-lg) !important;
  transition: color var(--dur-fast);
  max-width: 26ch;
}
.sa-hero .sa-dek {
  font-family: var(--font-body);
  font-style: italic;
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.5;
  color: var(--text2);
  margin: 0 0 var(--space-lg);
  max-width: 56ch;
}
.sa-hero .sa-byline {
  display: flex; flex-wrap: wrap; gap: 14px; align-items: center;
  font-family: var(--font-display); font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text2);
}
.sa-hero .sa-byline b { color: var(--text1); font-weight: 700; }
.sa-hero .sa-byline .sep { color: var(--text4); }
@media (hover: hover) { .sa-hero-card:hover h1 { color: var(--accent-rare); } }

/* ── RAIL ── */
.sa-rail { display: flex; flex-direction: column; border-top: 1px solid var(--text1); }
.sa-rail-label {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text1);
  font-weight: 700;
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--border);
}
.sa-rail a { display: block; text-decoration: none !important; padding: var(--space-md) 0; border-bottom: 1px solid var(--border); }
.sa-rail a:last-child { border-bottom: none; }
.sa-rail .sa-kicker { font-size: 11px; margin-bottom: 6px; }
.sa-rail h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--text1);
  margin: 0 0 6px;
  transition: color var(--dur-fast);
}
@media (hover: hover) { .sa-rail a:hover h3 { color: var(--accent-rare); } }
.sa-rail .sa-meta {
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.06em;
  color: var(--text3);
  text-transform: uppercase;
}

/* ── SECTION GRID 3-UP ── */
.sa-section { padding: var(--space-3xl) 0; }
@media (max-width: 768px) { .sa-section { padding: var(--space-2xl) 0; } }
.sa-section-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: var(--space-2xl);
  border-bottom: 2px solid var(--text1);
  padding-bottom: var(--space-md);
}
@media (max-width: 768px) { .sa-section-head { flex-direction: column; align-items: flex-start; gap: var(--space-md); } }
.sa-section-head h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--h2);
  letter-spacing: -0.02em;
  color: var(--text1);
  margin: 0;
}
.sa-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-2xl);
}
@media (max-width: 1024px) { .sa-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .sa-grid { grid-template-columns: 1fr; gap: var(--space-2xl); } }
.sa-story { display: block; text-decoration: none !important; }
.sa-story .sa-cover { margin-bottom: var(--space-md); }
.sa-story h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--h3);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--text1);
  margin: 0 0 var(--space-sm);
  transition: color var(--dur-fast);
}
@media (hover: hover) { .sa-story:hover h3 { color: var(--accent-rare); } }
.sa-story-byline {
  font-family: var(--font-display);
  font-size: 11px;
  color: var(--text2);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ── NEWSLETTER ── */
.sa-newsletter {
  background: var(--pastel-ice);
  padding: var(--space-4xl) var(--space-lg);
  border-top: 1px solid var(--border);
}
@media (max-width: 768px) { .sa-newsletter { padding: var(--space-2xl) var(--space-md); } }
.sa-newsletter-inner { max-width: 720px; margin: 0 auto; text-align: center; }
.sa-newsletter h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--text1);
  margin: 0 0 var(--space-md);
}
.sa-newsletter p { font-style: italic; color: var(--text2); margin: 0 0 var(--space-xl); }
.sa-newsletter form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0;
  max-width: 480px;
  margin: 0 auto;
  border: 2px solid var(--text1);
  background: var(--bg);
}
.sa-newsletter input {
  font-family: var(--font-body);
  font-size: 16px;
  padding: 12px 14px;
  border: 0;
  background: transparent;
  color: var(--text1);
  min-height: 44px;
  outline: none;
}
.sa-newsletter input::placeholder { color: var(--text3); font-style: italic; }
.sa-newsletter button {
  background: var(--text1);
  color: var(--bg);
  border: 0;
  padding: 0 24px;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--dur-fast);
}
.sa-newsletter button:hover { background: var(--accent-rare); }
@media (max-width: 768px) {
  .sa-newsletter form { grid-template-columns: 1fr; }
  .sa-newsletter button { padding: 12px; }
}
.sa-newsletter .micro {
  font-family: var(--font-display);
  font-size: 11px;
  color: var(--text3);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-top: var(--space-md);
}
.sa-newsletter-success {
  display: none; padding: 16px;
  border-left: 4px solid var(--text1);
  font-style: italic; font-family: var(--font-body);
  color: var(--text1);
  text-align: left;
  max-width: 480px; margin: 16px auto 0;
}
.sa-newsletter-success.show { display: block; }
.sa-newsletter form.hidden { display: none; }

/* ── FOOTER ── */
.sa-footer {
  background: var(--bg) !important;
  padding: var(--space-2xl) var(--space-lg);
  border-top: 1px solid var(--border);
}
.sa-footer-inner {
  max-width: var(--w-page);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-md);
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--text3);
  text-transform: uppercase;
}
.sa-footer-inner a, .sa-footer-inner a:link, .sa-footer-inner a:visited {
  color: var(--text3) !important;
  text-decoration: none !important;
  transition: color var(--dur-fast);
}
.sa-footer-inner a:hover { color: var(--text1) !important; }
@media (max-width: 480px) { .sa-footer-inner { flex-direction: column; align-items: flex-start; } }

/* ── ARTICLE (single) ── */
.sa-article { padding: var(--space-3xl) 0 var(--space-4xl); }
.sa-article-head { max-width: 720px; margin: 0 auto; padding: 0 var(--space-lg); }
@media (max-width: 768px) { .sa-article-head { padding: 0 var(--space-md); } }
.sa-article-head .sa-kicker { font-size: 13px; margin-bottom: var(--space-md); }
.sa-article-h1 {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-size: var(--h1) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: var(--text1) !important;
  margin: 0 0 var(--space-lg) !important;
}
.sa-article-dek {
  font-family: var(--font-body);
  font-style: italic;
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.5;
  color: var(--text2);
  margin: 0 0 var(--space-lg);
}
.sa-article-byline {
  display: flex; flex-wrap: wrap; gap: 14px; align-items: center;
  font-family: var(--font-display); font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text2);
  margin: 0 0 var(--space-2xl);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid var(--border);
}
.sa-article-byline b { color: var(--text1); font-weight: 700; }
.sa-article-byline .sep { color: var(--text4); }

.sa-article-feat { max-width: 720px; margin: 0 auto var(--space-2xl); padding: 0 var(--space-lg); }
@media (max-width: 768px) { .sa-article-feat { padding: 0 var(--space-md); } }
.sa-article-feat .img-wrap { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: var(--surface3); }
.sa-article-feat img { width: 100%; height: 100%; object-fit: cover; }

.sa-article-body {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 var(--space-lg);
  font-family: var(--font-body);
  font-size: var(--body);
  line-height: 1.7;
  color: var(--text1);
}
@media (max-width: 768px) { .sa-article-body { padding: 0 var(--space-md); } }
.sa-article-body p { margin: 0 0 1.4em; }
.sa-article-body > p:first-of-type em:first-child {
  display: block;
  font-size: clamp(20px, 1.8vw, 24px);
  line-height: 1.4;
  color: var(--text2);
  font-style: italic;
  margin-bottom: var(--space-xl);
}
.sa-article-body h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--h2);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--text1);
  margin: 2em 0 0.6em;
}
.sa-article-body h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--h3);
  line-height: 1.2;
  color: var(--text1);
  margin: 1.6em 0 0.5em;
}
.sa-article-body blockquote {
  margin: 1.8em 0;
  padding: 0.4em 0 0.4em var(--space-lg);
  border-left: 4px solid var(--text1);
  font-style: italic;
  font-size: clamp(20px, 1.8vw, 24px);
  line-height: 1.4;
  color: var(--text1);
}
.sa-article-body a, .sa-article-body a:link, .sa-article-body a:visited {
  color: var(--text1) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--accent);
  transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast);
}
.sa-article-body a:hover { color: var(--accent-rare) !important; border-bottom-color: var(--accent-rare); }
.sa-article-body strong { font-weight: 700; }
.sa-article-body figure { margin: 2em 0; }
.sa-article-body figcaption {
  margin-top: 0.7em;
  font-family: var(--font-display);
  font-size: 13px;
  color: var(--text2);
}
.sa-article-body figcaption .ai-note {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--text3);
  text-transform: uppercase;
  font-weight: 700;
}

.key-takeaways {
  margin: 2em 0;
  padding: var(--space-lg);
  background: var(--surface2);
  border-left: 4px solid var(--text1);
}
.key-takeaways h3 {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text1);
  margin: 0 0 14px;
}
.key-takeaways ol { margin: 0 0 0 1.2em; padding: 0; }
.key-takeaways li { margin-bottom: 0.6em; line-height: 1.5; }

.stat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-lg);
  margin: 2em 0;
  padding: var(--space-lg) 0;
  border-top: 2px solid var(--text1);
  border-bottom: 1px solid var(--border);
}
.stat-row .stat .num {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 900;
  color: var(--text1);
  letter-spacing: -0.02em;
  line-height: 1;
}
.stat-row .stat .label {
  display: block;
  margin-top: 6px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text2);
}

table {
  width: 100%; border-collapse: collapse;
  margin: 2em 0;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--text1);
}
table th {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text2);
  text-align: left;
  padding: 10px 12px;
  border-bottom: 2px solid var(--text1);
}
table td { padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: top; }

.sa-tags { margin-top: var(--space-2xl); }
.sa-tags-label {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text3);
  margin-right: 12px;
}
.sa-tags a, .sa-tags a:link, .sa-tags a:visited {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text1) !important;
  border: 1px solid var(--text1);
  padding: 4px 10px;
  margin-right: 6px;
  display: inline-block;
  text-decoration: none !important;
  transition: all var(--dur-fast);
}
.sa-tags a:hover { background: var(--text1); color: var(--bg) !important; }

/* ── ARCHIVE / GLOSSARY ── */
.sa-archive-head { padding: var(--space-3xl) 0 var(--space-xl); border-bottom: 2px solid var(--text1); margin-bottom: var(--space-xl); }
.sa-archive-head .sa-kicker { margin-bottom: var(--space-md); }
.sa-archive-h1 {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-size: var(--h1) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: var(--text1) !important;
  margin: 0 0 var(--space-md) !important;
}
.sa-archive-desc { font-family: var(--font-body); font-style: italic; font-size: clamp(18px, 1.4vw, 20px); color: var(--text2); max-width: 56ch; }

.sa-glossary-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--border); }
@media (min-width: 768px) { .sa-glossary-list { grid-template-columns: 1fr 1fr; gap: 0 var(--space-2xl); } }
.sa-glossary-list li { border-bottom: 1px solid var(--border); }
.sa-glossary-list a { display: block; padding: var(--space-lg) 0; text-decoration: none !important; }
.sa-glossary-list h3 {
  font-family: var(--font-display); font-weight: 700; font-size: 20px;
  line-height: 1.2; letter-spacing: -0.01em;
  color: var(--text1); margin: 0 0 8px;
  transition: color var(--dur-fast);
}
.sa-glossary-list a:hover h3 { color: var(--accent-rare); }
.sa-glossary-list p { font-family: var(--font-body); font-size: 16px; line-height: 1.5; color: var(--text2); margin: 0; }

.sa-pagination { margin-top: var(--space-2xl); display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.sa-pagination a, .sa-pagination span {
  font-family: var(--font-display); font-size: 12px; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: 10px 14px; border: 1px solid var(--border-visible);
  color: var(--text2); text-decoration: none !important;
  min-height: 44px; display: inline-flex; align-items: center;
}
.sa-pagination a:hover { color: var(--text1); border-color: var(--text1); }
.sa-pagination .current { background: var(--text1); color: var(--bg); border-color: var(--text1); }

.sa-empty { font-family: var(--font-body); font-style: italic; color: var(--text2); font-size: 18px; text-align: center; padding: 60px 20px; border: 1px dashed var(--border); margin: 0; }
