@import url("/ui-tokens.css");

:root {
  --bg: var(--color-canvas);
  --bg-soft: var(--color-surface);
  --panel: rgba(12, 12, 18, 0.82);
  --panel-strong: rgba(15, 15, 22, 0.94);
  --line: rgba(255,255,255,0.12);
  --line-hot: rgba(255, 0, 46, 0.34);
  --text: var(--color-text);
  --muted: var(--color-text-secondary);
  --dim: var(--color-text-tertiary);
  --red: var(--color-accent);
  --red-soft: var(--color-accent-soft);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font-family: Rajdhani, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 0, 46, 0.12), transparent 28rem),
    radial-gradient(circle at 78% 68%, rgba(92, 69, 150, 0.09), transparent 26rem),
    linear-gradient(145deg, #020204 0%, #080811 52%, #020204 100%);
  letter-spacing: .015em;
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: radial-gradient(circle at 50% 42%, black, transparent 82%);
}

a { color: inherit; }
.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:10px 14px;border:2px solid var(--red);border-radius:6px;background:#050509;color:#fff;text-decoration:none;transform:translateY(-150%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #ff6680;outline-offset:4px}
.site-header {
  position: fixed;
  z-index: 50;
  inset: 0 0 auto 0;
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 clamp(20px, 6vw, 92px);
  background: rgba(3,3,7,.82);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.brand {
  font-family: Orbitron, Rajdhani, sans-serif;
  text-decoration: none;
  font-size: .82rem;
  letter-spacing: .34em;
  color: rgba(255,255,255,.65);
}
.header-right { display: flex; align-items: center; gap: 22px; }
.main-nav { display: flex; align-items: center; gap: 22px; }
.main-nav a, .lang-switch a {
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .82rem;
  font-weight: 700;
  color: rgba(255,255,255,.78);
}
.main-nav a:hover, .lang-switch a:hover { color: white; }
.lang-switch {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.12);
}
.lang-switch .active { color: var(--red); }
.lang-switch span { color: var(--dim); }
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: white;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}
.menu-toggle span { width: 18px; height: 2px; background: currentColor; border-radius: 99px; }

.hero {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 116px 22px 76px;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  width: min(72vw, 760px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,0,46,.20), rgba(255,0,46,.05) 35%, transparent 68%);
  filter: blur(10px);
  opacity: .72;
}
.hero-inner {
  position: relative;
  z-index: 1;
  width: min(980px, 100%);
  text-align: center;
}
.eyebrow {
  margin: 0;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: .9rem;
  font-weight: 700;
}
h1, h2, h3, p { margin-top: 0; }
h1 {
  margin: 18px 0 0;
  font-family: Orbitron, Rajdhani, sans-serif;
  font-size: clamp(3.15rem, 10vw, 8.6rem);
  line-height: .92;
  letter-spacing: .07em;
  color: rgba(255,255,255,.94);
  text-shadow: 0 0 28px rgba(255,0,46,.28), 0 22px 80px rgba(0,0,0,.76);
}
.tagline {
  margin: 28px auto 0;
  max-width: 840px;
  font-size: clamp(1.38rem, 3.5vw, 2.25rem);
  line-height: 1.25;
  font-weight: 600;
}
.intro {
  margin: 24px auto 0;
  max-width: 760px;
  color: var(--muted);
  font-size: clamp(1.08rem, 2vw, 1.34rem);
  line-height: 1.65;
}
.scroll-cue {
  display: inline-block;
  margin-top: 34px;
  color: var(--dim);
  text-decoration: none;
  font-size: .86rem;
  text-transform: uppercase;
  letter-spacing: .18em;
}
.identity-more{margin:1.2em 0}.identity-more summary{width:max-content;max-width:100%;padding:8px 11px;border:1px solid rgba(255,255,255,.15);border-radius:7px;color:#fff;cursor:pointer;font-size:.86rem;font-weight:700;letter-spacing:.04em}.identity-more[open] summary{margin-bottom:1.1em}.identity-more>div>p:last-child{margin-bottom:0}

.hero-highlights {
  margin: 30px auto 0;
  max-width: 920px;
  display: grid;
  gap: 12px;
  text-align: left;
}
.hero-highlights p {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
  color: var(--muted);
  font-size: clamp(1rem, 1.45vw, 1.12rem);
  line-height: 1.55;
}
.hero-highlights strong {
  color: rgba(255,255,255,.95);
  font-weight: 700;
}
.identity-photo {
  display: block;
  float: left;
  width: min(330px, 42%);
  height: auto;
  margin: 0 24px 18px 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.contact-art {
  display: flex;
  justify-content: flex-start;
  margin-top: clamp(24px, 4vw, 40px);
}
.contact-art img {
  display: block;
  width: min(100%, 420px);
  height: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.section {
  width: min(1080px, calc(100% - 32px));
  margin: 0 auto;
  padding: 104px 0 86px;
}
.section-heading { max-width: 760px; margin-bottom: 34px; }
.section-heading h2 {
  margin: 10px 0 0;
  font-family: Orbitron, Rajdhani, sans-serif;
  font-size: clamp(2.15rem, 6vw, 4.6rem);
  letter-spacing: .055em;
}
.section-heading p:last-child,
.section-lead {
  color: var(--muted);
  font-size: 1.16rem;
  line-height: 1.65;
  margin: 20px 0 0;
}
.gateway-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.gateway-card {
  min-height: 330px;
  padding: clamp(26px, 4vw, 42px);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  box-shadow: 0 30px 100px rgba(0,0,0,.25);
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.gateway-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--red), transparent);
  opacity: .72;
}
.gateway-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255,255,255,.22);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
}
.gateway-card.primary { border-color: var(--line-hot); background: linear-gradient(180deg, rgba(255,0,46,.10), rgba(255,255,255,.025)); }
.card-kicker {
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: .19em;
  font-size: .82rem;
  font-weight: 700;
}
.gateway-card h3 {
  margin: 18px 0 0;
  font-family: Orbitron, Rajdhani, sans-serif;
  font-size: clamp(1.65rem, 3.5vw, 2.7rem);
  letter-spacing: .04em;
}
.gateway-card p {
  margin: 18px 0 0;
  max-width: 520px;
  color: var(--muted);
  font-size: 1.12rem;
  line-height: 1.6;
}
.card-arrow {
  margin-top: auto;
  padding-top: 30px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.9);
}

.transmission-shell { padding-top: 112px; min-height: calc(100svh - 140px); }
.transmission-intro { max-width: 760px; }
.transmission-intro h1 {
  text-align: left;
  font-size: clamp(2.7rem, 6vw, 4.8rem);
  margin-top: 12px;
}
.transmission-intro .intro { margin-left: 0; text-align: left; }
.log-grid {
  margin-top: 58px;
  display: grid;
  gap: 16px;
}
.log-entry {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  padding: clamp(24px, 4vw, 38px);
}
.log-entry .meta {
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .78rem;
  font-weight: 700;
}
.log-entry h2 {
  margin: 14px 0 0;
  font-family: Orbitron, Rajdhani, sans-serif;
  font-size: clamp(1.55rem, 4vw, 2.5rem);
  line-height: 1.15;
}
.log-entry p {
  max-width: 820px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 1.12rem;
  line-height: 1.7;
}
.log-entry .status {
  display: inline-flex;
  margin-top: 22px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 999px;
  color: var(--dim);
  text-transform: uppercase;
  font-size: .72rem;
  letter-spacing: .12em;
}

.footer {
  width: min(1080px, calc(100% - 32px));
  margin: 0 auto;
  padding: 34px 0 44px;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: var(--dim);
  font-size: .92rem;
}
.footer-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px 18px;
}
.footer a { color: var(--muted); text-decoration: none; }
.footer a:hover { color: white; }

@media (max-width: 820px) {
  .site-header { min-height: 68px; padding: 0 18px; }
  .brand { font-size: .73rem; }
  .menu-toggle { display: flex; }
  .header-right {
    position: fixed;
    top: 68px;
    left: 12px;
    right: 12px;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(4,4,9,.97);
    box-shadow: 0 24px 80px rgba(0,0,0,.55);
  }
  .header-right.is-open { display: flex; }
  .main-nav { flex-direction: column; align-items: stretch; gap: 0; }
  .main-nav a { padding: 15px 4px; border-bottom: 1px solid rgba(255,255,255,.07); }
  .lang-switch { padding: 18px 4px 4px; border-left: 0; }
  .hero { min-height: 92svh; padding-top: 104px; }
  .gateway-grid { grid-template-columns: 1fr; }
  .gateway-card { min-height: 280px; }
  .section { padding: 78px 0 64px; }
  .transmission-shell { padding-top: 106px; }
  .footer { flex-direction: column; padding-bottom: 28px; }
  .footer-links { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Article index and reading surfaces */
.blog-shell { width: min(1280px, calc(100% - 32px)); }
.blog-layout { display:grid; grid-template-columns: 210px minmax(0,1fr); gap: clamp(28px,3vw,48px); margin-top:42px; align-items:start; }
.category-sidebar { min-width:0; }
.category-sticky { position:sticky; top:106px; display:grid; gap:8px; }
.category-title { margin:0 0 9px; color:var(--dim); text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:700; }
.category-filter { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 12px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--muted); font:700 .94rem Rajdhani,system-ui; text-align:left; cursor:pointer; transition:.16s ease; }
.category-filter:hover { color:white; background:rgba(255,255,255,.04); }
.category-filter.is-active { color:white; border-color:var(--line-hot); background:var(--red-soft); }
.category-filter span { color:var(--dim); font-size:.76rem; }
.blog-stream { min-width:0; }
.section-minihead { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 14px; color:var(--dim); text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:700; }
.archive-head { margin-top:24px; padding-top:24px; border-top:1px solid rgba(255,255,255,.08); }
.dispatch-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.dispatch-card { display:flex; flex-direction:column; min-height:240px; padding:20px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(155deg,rgba(15,15,22,.96),rgba(8,8,13,.98)); box-shadow:0 18px 52px rgba(0,0,0,.16); }
.dispatch-card.featured { min-height:330px; padding:clamp(28px,4vw,42px); border-color:var(--line-hot); background:linear-gradient(145deg,rgba(255,22,61,.10),rgba(15,15,22,.94)); }
.dispatch-card[hidden] { display:none !important; }
.dispatch-card-top,.dispatch-card-foot { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.dispatch-card-top time,.dispatch-card-foot { color:var(--dim); font-size:.82rem; }
.category-tag { display:inline-flex; width:max-content; padding:6px 9px; border:1px solid rgba(255,255,255,.11); border-radius:999px; color:var(--red); text-transform:uppercase; letter-spacing:.10em; font-size:.8125rem; font-weight:800; }
.dispatch-card h2,.dispatch-card h3 { margin:18px 0 0; font-family:Orbitron,Rajdhani,sans-serif; line-height:1.16; letter-spacing:.02em; }
.dispatch-card h2 { font-size:clamp(1.65rem,3vw,2.45rem); }
.dispatch-card h3 { font-size:clamp(1.32rem,2.6vw,1.85rem); }
.dispatch-card h2 a,.dispatch-card h3 a { text-decoration:none; }
.dispatch-card p { margin:14px 0 0; color:var(--muted); font-size:1rem; line-height:1.55; }
.dispatch-card-foot { margin-top:auto; padding-top:20px; }
.dispatch-card-foot a { color:white; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.dispatch-empty { padding:22px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); }
.article-shell { width:min(1120px,calc(100% - 32px)); margin:0 auto; padding:132px 0 88px; }
.article { max-width:820px; margin:0 auto; }
.article-back { display:inline-block; margin-bottom:34px; color:var(--dim); text-decoration:none; text-transform:uppercase; letter-spacing:.12em; font-weight:700; font-size:.78rem; }
.article-meta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; color:var(--dim); font-size:.86rem; }
.article h1 { text-align:left; margin:24px 0 0; font-size:clamp(2.6rem,7vw,5.9rem); line-height:1.02; letter-spacing:.035em; }
.article-deck { margin:28px 0 0; color:var(--muted); font-size:clamp(1.2rem,2.5vw,1.55rem); line-height:1.55; }
.article-body { margin-top:48px; color:#e8e5e8; font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif; font-size:clamp(1.08rem,2vw,1.23rem); line-height:1.82; }
.article-body h2,.article-body h3 { margin:2.1em 0 .7em; color:white; font-family:Orbitron,Rajdhani,sans-serif; line-height:1.2; letter-spacing:.02em; }
.article-body h2 { font-size:1.7em; }.article-body h3 { font-size:1.32em; }
.article-body p { margin:0 0 1.35em; }
.article-body a { color:#ff6880; text-underline-offset:3px; }
.article-body strong { color:white; }
.article-body blockquote { margin:1.8em 0; padding:12px 0 12px 22px; border-left:2px solid var(--red); color:var(--muted); font-style:italic; }
.article-body ul,.article-body ol { padding-left:1.4em; margin:0 0 1.5em; }.article-body li { margin:.4em 0; }
.article-body code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; background:rgba(255,255,255,.07); padding:.12em .35em; border-radius:4px; font-size:.9em; }
.article-body pre { overflow:auto; padding:18px; border:1px solid var(--line); border-radius:8px; background:#050509; }
.article-body pre code { background:transparent; padding:0; }
.article-body hr { border:0; border-top:1px solid var(--line); margin:2.5em 0; }
.article-end { margin-top:54px; padding-top:28px; border-top:1px solid var(--line); }
.article-end a { text-decoration:none; color:white; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.related { max-width:980px; margin:90px auto 0; padding-top:38px; border-top:1px solid var(--line); }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.related .dispatch-card { min-height:240px; }
@media (max-width:900px) {
  .blog-layout { grid-template-columns:1fr; gap:24px; }
  .category-sticky { position:static; display:flex; overflow-x:auto; padding:0 0 8px; gap:8px; scrollbar-width:thin; }
  .category-title { display:none; }
  .category-filter { width:auto; flex:0 0 auto; white-space:nowrap; gap:8px; border-color:var(--line); background:rgba(255,255,255,.025); }
  .dispatch-grid { grid-template-columns:1fr; }
  .related-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .blog-shell { width:min(100% - 22px,1280px); }
  .dispatch-card,.dispatch-card.featured { padding:20px; min-height:0; }
  .dispatch-card-top,.dispatch-card-foot { align-items:flex-start; flex-direction:column; }
  .article-shell { width:min(100% - 28px,1120px); padding-top:110px; }
  .article-body { font-size:1.05rem; line-height:1.72; }
}

/* Editorial media and cover surfaces */
.dispatch-cover{display:block;margin:-24px -24px 22px;overflow:hidden;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0;background:#050509}.dispatch-card.featured .dispatch-cover{margin:calc(-1 * clamp(28px,4vw,42px)) calc(-1 * clamp(28px,4vw,42px)) 28px}.dispatch-cover img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .22s ease,opacity .22s ease}.dispatch-cover:hover img{transform:scale(1.015);opacity:.94}.article-cover{margin:42px 0 52px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#050509;box-shadow:0 24px 90px rgba(0,0,0,.28)}.article-cover img{display:block;width:100%;max-height:680px;object-fit:cover}.article-image{margin:2.2em 0}.article-image img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px;background:#050509}.article-image figcaption{margin:.7em 0 0;color:var(--dim);font-family:Rajdhani,ui-sans-serif,system-ui,sans-serif;font-size:.82em;line-height:1.45}.article-body .article-image+*{margin-top:1.7em}@media(max-width:760px){.dispatch-cover{margin:-20px -20px 20px}.dispatch-card.featured .dispatch-cover{margin:-20px -20px 22px}.article-cover{margin:32px 0 38px;border-radius:9px}.article-image{margin:1.7em 0}}

/* ========================================================================
   Audience discovery and filtering
   Topics stay separate from audience intent.
   ======================================================================== */
.audience-bar{display:flex;align-items:flex-start;gap:18px;margin:26px 0 28px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.018)}
.audience-bar>span{flex:0 0 auto;padding-top:7px;color:var(--dim);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.audience-filters{display:flex;flex-wrap:wrap;gap:8px}
.audience-filter{appearance:none;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--muted);padding:7px 11px;font:700 .78rem Rajdhani,ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.audience-filter:hover{color:#fff;border-color:#55525d}
.audience-filter.is-active{color:#fff;border-color:var(--line-hot);background:var(--red-soft)}
.audience-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}
.audience-tag{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:var(--dim);background:rgba(255,255,255,.018);font-size:.8125rem;font-weight:700;letter-spacing:.03em}
.article>.audience-tags{margin:16px 0 20px}
.article>.audience-tags .audience-tag{color:var(--muted);border-color:rgba(255,255,255,.12)}
.category-filter{line-height:1.25;text-align:left}
@media(max-width:900px){.audience-bar{display:block}.audience-bar>span{display:block;padding:0 0 10px}.audience-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.audience-filter{flex:0 0 auto;white-space:nowrap}}
@media(max-width:760px){.audience-bar{margin:18px 0 22px;padding:13px}.audience-tags{margin-top:11px}}


/* ========================================================================
   Responsive containment
   Mobile typography, filters and cards stay inside the viewport.
   Desktop jätetään tarkoituksella koskematta.
   ======================================================================== */
@media (max-width: 820px) {
  html, body { max-width: 100%; overflow-x: clip; }
  .site-header,
  .hero,
  .hero-inner,
  .section,
  .blog-shell,
  .transmission-intro,
  .blog-layout,
  .blog-stream,
  .category-sidebar,
  .category-sticky,
  .audience-bar,
  .audience-filters,
  .dispatch-grid,
  .dispatch-card,
  .article-shell,
  .article,
  .related,
  .related-grid { min-width: 0; max-width: 100%; }

  .hero-inner { width: 100%; }
  .hero h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 11.2vw, 4.7rem);
    line-height: .94;
    letter-spacing: .035em;
    overflow-wrap: normal;
    word-break: normal;
  }
  .hero .tagline { max-width: 38rem; }
  .hero .intro { max-width: 36rem; }

  .transmission-intro { width: 100%; }
  .transmission-intro h1 {
    max-width: 100%;
    font-size: clamp(2.2rem, 10.4vw, 4.1rem);
    line-height: .98;
    letter-spacing: .035em;
    overflow-wrap: normal;
    word-break: normal;
  }

  .category-sticky,
  .audience-filters {
    width: 100%;
    max-width: 100%;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  .category-filter,
  .audience-filter { max-width: min(86vw, 340px); }

  .dispatch-card h2,
  .dispatch-card h3,
  .article h1,
  .section-heading h2,
  .gateway-card h3 {
    max-width: 100%;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .dispatch-card p,
  .article-deck,
  .article-body,
  .gateway-card p,
  .intro,
  .tagline { overflow-wrap: anywhere; }
  .dispatch-cover img,
  .article-cover img,
  .article-image img { max-width: 100%; }
}

@media (max-width: 620px) {
  .site-header { padding-inline: 16px; }
  .brand {
    max-width: calc(100vw - 86px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: .27em;
  }

  .hero {
    min-height: 88svh;
    padding: 104px 18px 64px;
  }
  .hero h1 {
    font-size: clamp(2.35rem, 11.8vw, 3.35rem);
    letter-spacing: .02em;
  }
  .hero .eyebrow { font-size: .78rem; letter-spacing: .20em; }
  .hero .tagline {
    margin-top: 24px;
    font-size: clamp(1.22rem, 5.5vw, 1.55rem);
    line-height: 1.3;
  }
  .hero .intro {
    margin-top: 22px;
    font-size: clamp(1rem, 4.6vw, 1.16rem);
    line-height: 1.58;
  }
  .scroll-cue { margin-top: 34px; }

  .section,
  .blog-shell { width: calc(100% - 28px); }
  .transmission-shell { padding-top: 108px; }
  .transmission-intro h1 {
    font-size: clamp(2.05rem, 10vw, 2.65rem);
    line-height: 1;
    letter-spacing: .025em;
  }
  .transmission-intro .intro {
    font-size: 1.02rem;
    line-height: 1.58;
  }

  .audience-bar {
    width: 100%;
    margin: 22px 0 20px;
    padding: 12px;
    overflow: hidden;
  }
  .audience-filters,
  .category-sticky {
    gap: 7px;
    padding-bottom: 7px;
    scrollbar-width: none;
  }
  .audience-filters::-webkit-scrollbar,
  .category-sticky::-webkit-scrollbar { display: none; }
  .audience-filter,
  .category-filter {
    min-height: 42px;
    padding: 9px 12px;
    font-size: .86rem;
  }

  .blog-layout { margin-top: 30px; gap: 20px; }
  .dispatch-card,
  .dispatch-card.featured {
    width: 100%;
    padding: 18px;
    border-radius: 9px;
  }
  .dispatch-card h2 {
    font-size: clamp(1.82rem, 8.6vw, 2.5rem);
    line-height: 1.12;
    letter-spacing: .012em;
  }
  .dispatch-card h3 {
    font-size: clamp(1.34rem, 6.5vw, 1.72rem);
  }
  .dispatch-card p { font-size: 1rem; line-height: 1.55; }
  .dispatch-card-top time { font-size: .78rem; }
  .category-tag { width: fit-content; max-width: 100%; white-space: normal; }

  .article-shell { width: calc(100% - 28px); padding-top: 106px; }
  .article h1 {
    font-size: clamp(2rem, 10vw, 3rem);
    line-height: 1.04;
    letter-spacing: .018em;
  }
  .article-deck { font-size: 1.12rem; }
  .article-body { margin-top: 38px; }
  .article-body h2 { font-size: 1.45em; }
  .article-body h3 { font-size: 1.22em; }

  .gateway-card { padding: 22px; min-height: 250px; }
  .section-heading h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .footer { width: calc(100% - 28px); }
}

@media (max-width: 390px) {
  .hero h1 { font-size: clamp(2.15rem, 11.4vw, 2.72rem); }
  .transmission-intro h1 { font-size: clamp(1.9rem, 9.8vw, 2.35rem); }
  .dispatch-card h2 { font-size: clamp(1.65rem, 8.3vw, 2.15rem); }
  .brand { letter-spacing: .22em; }
}


/* Identity and contact gateway */
.identity-section {
  padding-top: 88px;
  padding-bottom: 92px;
}
.identity-grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(36px, 7vw, 96px);
  align-items: start;
}
.identity-heading { margin-bottom: 0; }
.identity-heading h2 { max-width: 620px; }
.identity-copy {
  max-width: 720px;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.7vw, 1.28rem);
  line-height: 1.68;
}
.identity-copy p { margin: 0 0 1.15em; }
.identity-copy strong { color: rgba(255,255,255,.94); font-weight: 700; }
.identity-modules {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}
.identity-modules span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
  color: rgba(255,255,255,.78);
  font-size: .84rem;
  line-height: 1.2;
}
@media (max-width: 760px) {
  .identity-section { padding-top: 64px; padding-bottom: 72px; }
  .identity-grid { grid-template-columns: 1fr; gap: 24px; }
  .identity-heading h2 { font-size: clamp(1.9rem, 9vw, 2.6rem); }
  .identity-copy { font-size: 1.05rem; line-height: 1.62; }
  .identity-modules { gap: 7px; margin-top: 22px; }
  .identity-modules span { font-size: .78rem; min-height: 32px; padding: 6px 10px; }
  .hero-highlights { grid-template-columns: 1fr; }
  .identity-photo { float: none; width: min(100%, 380px); margin: 0 0 18px 0; }
}

/* ========================================================================
   Desktop typography scale
   Display type stays strong without overpowering content hierarchy.
   ======================================================================== */
@media (min-width: 821px) {
  .hero-inner { width: min(920px, 100%); }
  .hero h1 {
    font-size: clamp(3.8rem, 6.2vw, 6.35rem);
    line-height: .96;
    letter-spacing: .055em;
  }
  .hero .tagline {
    max-width: 760px;
    font-size: clamp(1.34rem, 2.35vw, 1.9rem);
  }
  .hero .intro {
    max-width: 720px;
    font-size: clamp(1.04rem, 1.45vw, 1.22rem);
  }

  .section-heading { max-width: 700px; }
  .section-heading h2 {
    font-size: clamp(2.15rem, 3.4vw, 3.45rem);
    line-height: 1.06;
    letter-spacing: .04em;
  }

  .identity-grid {
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: clamp(44px, 6vw, 84px);
  }
  .identity-heading h2 {
    max-width: 510px;
    font-size: clamp(2.25rem, 3.25vw, 3.15rem);
    line-height: 1.1;
    letter-spacing: .035em;
  }

  .gateway-card h3 {
    font-size: clamp(1.55rem, 2.15vw, 2.12rem);
    line-height: 1.14;
  }

  .transmission-intro { max-width: 760px; }
  .transmission-intro h1 {
    font-size: clamp(2.65rem, 4.2vw, 4.1rem);
    line-height: .99;
    letter-spacing: .045em;
  }

  .dispatch-card h2 {
    font-size: clamp(1.65rem, 2.2vw, 2.25rem);
    line-height: 1.14;
  }
  .dispatch-card h3 {
    font-size: clamp(1.28rem, 1.75vw, 1.62rem);
    line-height: 1.18;
  }

  .article h1 {
    font-size: clamp(2.7rem, 4.6vw, 4.45rem);
    line-height: 1.04;
    letter-spacing: .028em;
  }
  .article-body h2 { font-size: 1.55em; }
  .article-body h3 { font-size: 1.25em; }

  .log-entry h2 {
    font-size: clamp(1.45rem, 2.15vw, 2.15rem);
  }
}

/* ========================================================================
   Identity reading layout
   Long headings and narrative copy share the desktop grid safely.
   ======================================================================== */
@media (min-width: 821px) {
  .identity-grid {
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    gap: clamp(56px, 6.5vw, 104px);
  }
  .identity-heading {
    min-width: 0;
    max-width: 430px;
  }
  .identity-heading h2 {
    max-width: 430px;
    font-size: clamp(2rem, 2.65vw, 2.65rem);
    line-height: 1.08;
    letter-spacing: .03em;
    overflow-wrap: normal;
    text-wrap: balance;
  }
  .identity-copy {
    max-width: 760px;
    font-size: clamp(1.02rem, 1.35vw, 1.17rem);
    line-height: 1.7;
  }
}


/* Pinned article state */
.dispatch-card.is-pinned{border-color:rgba(255,22,61,.42);box-shadow:0 22px 70px rgba(0,0,0,.18),0 0 0 1px rgba(255,22,61,.04) inset}
.dispatch-card-labels{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.pinned-tag{display:inline-flex;width:max-content;padding:6px 9px;border:1px solid rgba(255,22,61,.34);border-radius:999px;background:rgba(255,22,61,.07);color:#fff;text-transform:uppercase;letter-spacing:.10em;font-size:.66rem;font-weight:800}
@media(max-width:760px){.dispatch-card-labels{align-items:flex-start}.pinned-tag{white-space:normal}}


/* ========================================================================
   Contact surface
   Direct contact without newsletter or marketing funnel.
   ======================================================================== */
.contact-section{border-top:1px solid rgba(255,255,255,.07);background:radial-gradient(circle at 82% 22%,rgba(255,0,46,.055),transparent 31%)}
.contact-grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(36px,6vw,92px);align-items:start}
.contact-heading{position:sticky;top:112px;margin-bottom:0}
.contact-heading h2{max-width:470px}
.contact-lead{max-width:500px}
.contact-body{display:grid;grid-template-columns:minmax(0,.88fr) minmax(320px,1.12fr);gap:clamp(28px,4vw,54px);align-items:start}
.contact-copy{font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.7;color:var(--muted)}
.contact-copy p{margin:0 0 1.15em}
.contact-quote{margin:28px 0;padding:18px 20px;border-left:2px solid var(--red);background:rgba(255,255,255,.025);color:rgba(255,255,255,.94);font-size:1.08em;font-weight:600}
.contact-form{position:relative;padding:clamp(20px,3vw,28px);border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(9,9,14,.72);box-shadow:0 22px 70px rgba(0,0,0,.22)}
.contact-form-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:22px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.08)}
.contact-form-head>span{color:#fff;font-family:Orbitron,ui-sans-serif,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.14em}
.contact-form-head small{color:var(--dim);font-size:.78rem}
.contact-form label{display:grid;gap:7px;margin-bottom:16px;color:rgba(255,255,255,.9);font-weight:700}
.contact-form label>span{display:flex;gap:7px;align-items:baseline;font-size:.82rem;letter-spacing:.04em}
.contact-form label>span small{color:var(--dim);font-weight:500}
.contact-form input,.contact-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0c0c12;color:#fff;font:inherit;line-height:1.5;padding:12px 13px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.contact-form textarea{resize:vertical;min-height:170px}
.contact-form input:focus,.contact-form textarea:focus{border-color:rgba(255,22,61,.62);box-shadow:0 0 0 3px rgba(255,22,61,.08);background:#0e0e15}
.contact-submit{width:100%;min-height:48px;border:1px solid rgba(255,22,61,.52);border-radius:8px;background:rgba(255,0,46,.12);color:#fff;font-family:Orbitron,ui-sans-serif,sans-serif;font-size:.74rem;font-weight:800;letter-spacing:.12em;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.contact-submit:hover{background:rgba(255,0,46,.19);border-color:rgba(255,22,61,.78);transform:translateY(-1px)}
.contact-submit:disabled{opacity:.52;cursor:wait;transform:none}
.contact-privacy{margin:14px 0 0;color:var(--dim);font-size:.78rem;line-height:1.45}
.contact-status{min-height:1.45em;margin:12px 0 0;font-size:.84rem;font-weight:700}
.contact-status[data-kind=success]{color:#91e6ac}.contact-status[data-kind=error]{color:#ff8da0}.contact-status[data-kind=working]{color:var(--muted)}
.contact-fallback{display:inline-block;margin-top:8px;color:var(--muted);font-size:.82rem;text-decoration:none}.contact-fallback:hover{color:#fff}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:1100px){.contact-grid{grid-template-columns:1fr}.contact-heading{position:static}.contact-body{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr)}}
@media(max-width:760px){.contact-body{grid-template-columns:1fr}.contact-form{padding:18px}.contact-form-head{align-items:flex-start;flex-direction:column;gap:4px}.contact-quote{margin:22px 0}.contact-form textarea{min-height:150px}}

@media (min-width: 821px) {
  .hero-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* Public evidence presentation */
.article-answer{margin:24px 0 28px;padding:18px 20px;border-left:2px solid var(--red);background:rgba(255,22,61,.055)}
.article-answer .evidence-kicker{margin:0 0 8px;color:var(--red);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.article-answer>p:last-child{margin:0;color:rgba(255,255,255,.92);font-size:1.08rem;line-height:1.62;font-weight:600}
.article-evidence{margin:56px 0 18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.018);overflow:hidden}
.article-evidence>summary{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;cursor:pointer;list-style:none;user-select:none}
.article-evidence>summary::-webkit-details-marker{display:none}
.article-evidence>summary>span:first-child{display:grid;gap:4px}
.article-evidence>summary strong{color:rgba(255,255,255,.94);font-family:Orbitron,Rajdhani,sans-serif;font-size:1rem;letter-spacing:.025em}
.article-evidence>summary small{color:var(--dim);font-size:.82rem}
.article-evidence>summary:hover{background:rgba(255,255,255,.025)}
.article-evidence>summary:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.article-evidence-toggle{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,22,61,.34);border-radius:50%;color:var(--red);font:700 1.3rem/1 Orbitron,Rajdhani,sans-serif;transition:transform .18s ease,background .18s ease}
.article-evidence[open] .article-evidence-toggle{transform:rotate(45deg);background:rgba(255,22,61,.08)}
.article-evidence-body{padding:24px 18px 20px;border-top:1px solid rgba(255,255,255,.08)}
.article-evidence-body>h2{margin:0 0 20px;font-family:Orbitron,Rajdhani,sans-serif;font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:.025em}
.evidence-claims{display:grid;gap:10px;margin-bottom:28px}.evidence-claim{padding:15px 16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}
.evidence-claim[data-status=supported]{border-left:2px solid rgba(132,220,159,.72)}.evidence-claim[data-status=interpretation]{border-left:2px solid rgba(255,194,92,.72)}.evidence-claim[data-status=open]{border-left:2px solid rgba(172,145,255,.72)}
.evidence-claim-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.evidence-status{color:var(--dim);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.evidence-refs{font-size:.78rem}.evidence-refs a{color:rgba(255,255,255,.78);text-decoration:none}.evidence-refs a:hover{color:#fff}.evidence-claim p{margin:0;color:rgba(255,255,255,.9);line-height:1.55}.evidence-claim small{display:block;margin-top:8px;color:var(--dim);line-height:1.45}
.evidence-sources h3{margin:0 0 12px;font-size:1rem;letter-spacing:.06em}.evidence-sources ol{margin:0;padding-left:24px}.evidence-sources li{padding:6px 0;color:var(--muted);line-height:1.5}.evidence-sources a{color:rgba(255,255,255,.9)}.evidence-sources span,.evidence-sources time{color:var(--dim);font-size:.88em}
@media(max-width:760px){.article-answer{padding:15px 16px}.article-evidence{margin-top:42px}.article-evidence>summary{min-height:68px;padding:14px}.article-evidence-body{padding:20px 14px 16px}.evidence-claim-head{align-items:flex-start;flex-direction:column;gap:5px}}

/* ========================================================================
   Public Core entry state
   Architecture is visible while the private control plane stays in /admin.
   ======================================================================== */
.main-nav a.active{color:#fff}

/* Global semantic polish */
body{overflow-x:hidden}h1,h2,h3{text-wrap:balance}p,li{text-wrap:pretty}.skip-link:focus{z-index:1000}.section[id]{scroll-margin-top:calc(var(--header-height) + 1.25rem)}

/* 16.0.1 Surgical visual consistency */
.dispatch-card-top{align-items:flex-start}
.dispatch-card-labels{min-width:0;flex:1}
.dispatch-card-top time{flex:0 0 auto;white-space:nowrap;text-align:right;line-height:1.25}
@media(max-width:760px){.dispatch-card-top time{white-space:normal;text-align:left}}


/* 16.0.2 alignment and contact surgery */
.personal-highlights{max-width:none;margin-left:0;margin-right:0}
.contact-grid{grid-template-columns:1fr;gap:32px}
.contact-heading{position:static;top:auto;margin-bottom:0;max-width:760px}
.contact-body{grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr);gap:clamp(34px,5vw,62px)}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:14px;align-items:start}
.contact-form-head,.contact-form>label:nth-of-type(3),.contact-form>label:nth-of-type(4),.contact-honeypot,.contact-submit,.contact-privacy,.contact-status,.contact-fallback{grid-column:1/-1}
.contact-form label{margin-bottom:0}
.contact-form textarea{min-height:190px}
.contact-fallback{justify-self:start}
@media(max-width:900px){.contact-body{grid-template-columns:1fr}.contact-form{max-width:720px}}
@media(max-width:600px){.contact-form{grid-template-columns:1fr}.contact-form>label{grid-column:1/-1}.contact-form textarea{min-height:160px}}

/* 16.0.3 contact artwork scale */
@media(max-width:600px){.contact-art img{width:min(100%,320px)}}

/* 16.2 · evidence presentation */
.article-source-strip{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.article-source-strip>a{display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none}.article-source-strip>a span{font-family:var(--font-display);font-size:.78rem}.article-visualizations{margin:34px 0;display:grid;gap:18px}.article-chart{margin:0;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.018);overflow:hidden}.article-chart-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.article-chart-head h3{margin:0}.article-chart svg{width:100%;height:auto;max-height:360px;color:var(--color-accent);margin-top:12px}.article-chart svg text{fill:currentColor;font:12px var(--font-body)}.article-chart figcaption{margin-top:10px;color:var(--muted)}.article-chart-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:.88rem}.article-chart-sources a{overflow-wrap:anywhere}@media(max-width:640px){.article-chart{padding:12px}.article-chart svg{min-width:520px}.article-chart{overflow-x:auto}.article-source-strip{align-items:stretch}.article-source-strip>a{width:100%;border-radius:12px}}

/* Public clarity: compact mobile filtering */
.audience-filter span{margin-left:7px;color:var(--dim);font-size:.76em}
.mobile-filter-bar{display:none}
.dispatch-filter-dialog{inset:auto 0 0 0;width:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:inherit;overflow:visible}
.dispatch-filter-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(8px)}
.dispatch-filter-sheet{width:100%;max-height:min(78svh,720px);overflow:auto;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.1);border-bottom:0;border-radius:18px 18px 0 0;background:linear-gradient(180deg,rgba(16,16,24,.99),rgba(6,6,10,.995));box-shadow:0 -24px 80px rgba(0,0,0,.48)}
.dispatch-filter-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.dispatch-filter-sheet-head h2{margin:0;font:700 1.18rem Orbitron,Rajdhani,sans-serif;letter-spacing:.03em}
.dispatch-filter-close-icon{width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);color:#fff;font-size:1.45rem;cursor:pointer}
.dispatch-filter-group{padding:18px 0;border-bottom:1px solid var(--line)}
.dispatch-filter-group h3{margin:0 0 12px;color:var(--dim);font-size:.78rem;letter-spacing:.11em;text-transform:uppercase}
.dispatch-filter-options{display:flex;flex-wrap:wrap;gap:8px}
.dispatch-filter-options .category-filter,.dispatch-filter-options .audience-filter{width:auto;min-height:44px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);padding:9px 12px;color:var(--muted);font:700 .88rem Rajdhani,system-ui;white-space:normal}
.dispatch-filter-options .category-filter.is-active,.dispatch-filter-options .audience-filter.is-active{color:#fff;border-color:var(--line-hot);background:var(--red-soft)}
.dispatch-filter-actions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin:18px -18px calc(-18px - env(safe-area-inset-bottom));padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(6,6,10,.96);backdrop-filter:blur(14px)}
.dispatch-filter-actions button{min-height:46px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.035);color:#fff;font:800 .9rem Rajdhani,system-ui;cursor:pointer}
.dispatch-filter-actions button.primary{border-color:var(--line-hot);background:var(--red-soft)}
@media(max-width:760px){
  .desktop-filter-surface{display:none!important}
  .mobile-filter-bar{display:block;margin:20px 0 24px}
  .dispatch-filter-open{width:100%;min-height:58px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);color:#fff;text-align:left;cursor:pointer}
  .dispatch-filter-open strong{font:800 .86rem Orbitron,Rajdhani,sans-serif;letter-spacing:.05em;text-transform:uppercase}
  .dispatch-filter-open span{min-width:0;color:var(--muted);font-size:.88rem;line-height:1.25;overflow-wrap:anywhere}
  .blog-layout{margin-top:0}
}

/* ==========================================================================
   PHASE 7 · BRAND SYSTEM
   Canonical artwork: media/brand/ · generated output: public/media/brand/
   ========================================================================== */
.visually-hidden{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.brand-image-link{display:inline-flex;align-items:center;min-width:44px;min-height:44px;line-height:0}
.brand-wordmark{display:block;width:clamp(128px,10.5vw,156px);max-height:30px;height:auto;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,0,46,.10))}
.brand-wordmark-anomancer,.brand-wordmark-core{width:clamp(128px,10.5vw,156px)}
.hero-brand-wordmark{display:block;width:min(880px,90vw);height:auto;margin:20px auto 0;filter:drop-shadow(0 20px 42px rgba(0,0,0,.72)) drop-shadow(0 0 20px rgba(255,0,46,.10))}
.footer-brand{display:inline-grid;gap:7px;align-items:start}
.footer-brand img{display:block;width:min(190px,48vw);height:auto}
.footer-brand small{color:var(--dim);font-size:.78rem;letter-spacing:.07em}
.transmission-brand-mark{display:block;width:min(360px,72vw);height:auto;margin:0 0 20px -8px;opacity:.84;filter:drop-shadow(0 0 12px rgba(255,0,46,.18))}
@media(max-width:820px){
  .brand-wordmark,.brand-wordmark-anomancer,.brand-wordmark-core{width:132px;max-height:27px}
  .hero-brand-wordmark{width:min(720px,92vw)}
}

/* ==========================================================================
   PHASE 7.1 · VISUAL CONSOLIDATION
   One public header system · pulse belongs to transmissions · compact footers.
   ========================================================================== */
.site-header{
  min-height:64px;
  gap:20px;
  padding:0 clamp(18px,5vw,72px);
}
.header-right{gap:18px}
.main-nav{gap:18px}
.main-nav a,.lang-switch a{
  font-size:.76rem;
  letter-spacing:.11em;
}
.lang-switch{gap:7px;padding-left:16px}
.hero{padding-top:104px}
.hero .tagline{margin-top:clamp(34px,4vw,48px)}
.core-public-hero{padding-top:112px}
.core-hero-wordmark{
  display:block;
  width:min(900px,88vw);
  height:auto;
  margin:30px auto 0;
  filter:drop-shadow(0 22px 48px rgba(0,0,0,.72)) drop-shadow(0 0 22px rgba(255,0,46,.11));
}
.core-hero-wordmark + .visually-hidden + .core-public-lead,
.core-hero-wordmark ~ .core-public-lead{
  margin-top:clamp(40px,4.5vw,58px);
}
.footer-polished{
  width:min(1180px,calc(100% - 40px));
  min-height:116px;
  display:grid;
  grid-template-columns:minmax(220px,.9fr) auto minmax(220px,.9fr);
  align-items:center;
  gap:clamp(24px,4vw,64px);
  padding:28px 0 32px;
}
.footer-polished .footer-identity{
  display:grid;
  gap:6px;
  min-width:0;
}
.footer-title{
  color:rgba(255,255,255,.94);
  font-family:Orbitron,Rajdhani,sans-serif;
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.14em;
}
.footer-polished small,.footer-polished .footer-meta span{
  color:var(--dim);
  font-size:.78rem;
  line-height:1.35;
}
.footer-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 22px;
}
.footer-nav a,.footer-meta a{
  color:var(--muted);
  text-decoration:none;
  text-transform:uppercase;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.10em;
}
.footer-nav a:hover,.footer-meta a:hover{color:#fff}
.footer-nav .footer-admin-link{padding:8px 12px;border:1px solid rgba(255,22,61,.34);border-radius:999px;color:rgba(255,255,255,.92);background:rgba(255,22,61,.055)}
.footer-nav .footer-admin-link:hover{border-color:rgba(255,22,61,.66);background:rgba(255,22,61,.11)}
.footer-meta{
  display:grid;
  justify-items:end;
  gap:7px;
  min-width:0;
  text-align:right;
}
.footer-core .footer-nav a[aria-current="page"]{color:#fff}
@media(max-width:820px){
  .site-header{min-height:64px;padding:0 16px}
  .header-right{top:64px}
  .main-nav a,.lang-switch a{font-size:.75rem}
  .hero{padding-top:96px}
  .core-public-hero{padding-top:108px}
  .core-hero-wordmark{width:min(700px,92vw);margin-top:24px}
  .footer-polished{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    align-items:start;
    gap:20px;
    padding:26px 0 30px;
  }
  .footer-polished .footer-nav{justify-content:flex-start}
  .footer-polished .footer-meta{justify-items:start;text-align:left}
}

/* ==========================================================================
   PHASE 7.2 · HEADER + HERO COPY CONSOLIDATION
   Home/Core share the same header wordmark and nav type contract.
   ========================================================================== */
.site-header .main-nav a,
.site-header .lang-switch a{
  font-family:Rajdhani,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.76rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.11em;
}
.core-hero-wordmark{margin-top:0}
@media(max-width:820px){
  .site-header .main-nav a,
  .site-header .lang-switch a{
    font-size:.75rem;
    line-height:1;
    letter-spacing:.11em;
  }
}

/* ==========================================================================
   PHASE 7.3 · TRANSMISSION ACCENT
   ========================================================================== */
.transmission-shell .transmission-intro::after{
  content:"";
  display:block;
  width:min(126px,28vw);
  aspect-ratio:960 / 347;
  margin:18px auto 0;
  background:url('/media/brand/transmission-pulse.png') center / contain no-repeat;
  opacity:.52;
  filter:drop-shadow(0 0 9px rgba(255,0,46,.13));
}
.transmission-shell .transmission-brand-mark{
  display:none!important;
}
@media(max-width:820px){
  .transmission-shell .transmission-intro::after{
    width:min(104px,32vw);
    margin-top:14px;
  }
}

/* Audit 2026-08: readable metadata, WCAG-sized controls and explicit evidence state. */
.site-header .main-nav a,.site-header .lang-switch a{
  display:inline-flex;
  align-items:center;
  min-width:44px;
  min-height:44px;
  padding:8px 6px;
  font-size:.875rem;
  line-height:1.25;
}
.site-header .lang-switch a{justify-content:center}
.site-header .lang-switch a[data-translation-unavailable="true"]{text-decoration:underline dotted;text-underline-offset:4px}
.translation-state{max-width:760px;margin:0 auto 30px;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--red);border-radius:8px;color:var(--muted);line-height:1.55}
.blog-layout.dispatch-sparse{grid-template-columns:minmax(0,1fr);max-width:860px;margin-inline:auto}
.article-source-strip>a.article-source{align-items:flex-start;border-radius:12px;max-width:100%}
.article-source-copy{display:grid;gap:2px;min-width:0}
.article-source-copy b{font-family:var(--font-body);font-size:.9rem;font-weight:650;overflow-wrap:anywhere}
.article-source-copy small{font-family:var(--font-body);font-size:.8125rem;color:var(--muted)}
.article-source[data-verification="candidate"]{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.025)}
.article-source[data-verification="verified"]{border-color:#287a50;background:rgba(50,178,106,.06)}
.article-source[data-verification="rejected"]{border-color:#8e2d3f;background:rgba(255,22,61,.06)}
@media(prefers-reduced-motion:reduce){.article-evidence-toggle{transition:none}}
@media(max-width:820px){.site-header .main-nav a,.site-header .lang-switch a{min-height:44px;font-size:.875rem;line-height:1.25}}

/* ==========================================================================
   PUBLIC THEME SWITCH · dark / light
   Public site only. Admin and Lighthouse use their own style bundles.
   ========================================================================== */
.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;
  padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);
  color:var(--muted);font:700 .82rem Rajdhani,ui-sans-serif,system-ui,sans-serif;letter-spacing:.04em;cursor:pointer;
}
.theme-toggle:hover{color:var(--text);border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.065)}
.theme-toggle-icon{font-size:1rem;line-height:1}

html[data-theme="light"]{
  color-scheme:light;
  --color-canvas:#f5f3ef;
  --color-canvas-deep:#ece9e3;
  --color-surface:#ffffff;
  --color-surface-elevated:#ffffff;
  --color-control:#f1eee8;
  --color-control-hover:#e7e2da;
  --color-text:#17171b;
  --color-text-secondary:#4d4b52;
  --color-text-tertiary:#706d75;
  --color-border-subtle:rgba(24,24,31,.08);
  --color-border:rgba(24,24,31,.14);
  --color-border-strong:rgba(24,24,31,.24);
  --color-accent:#d90e32;
  --color-accent-soft:rgba(217,14,50,.09);
  --color-accent-deep:#8b1530;
  --color-text-strong:#111115;
  --color-surface-input:#ffffff;
  --color-surface-deep:#f1eee9;
  --color-surface-preview:#faf9f6;
  --color-surface-card:#ffffff;
  --color-surface-subtle:#f4f1ec;
  --color-border-input:#c9c4bc;
  --color-border-control:#bdb7ae;
  --color-border-card:#d6d1c9;
  --color-border-code:#d4cfc7;
  --color-accent-border:#ca6679;
  --color-accent-surface:#fbecef;
  --color-focus-border:#b6324f;
  --color-overlay:rgba(255,255,255,.82);
  --color-overlay-soft:rgba(255,255,255,.76);
  --color-glass-faint:rgba(20,20,28,.018);
  --color-glass-soft:rgba(20,20,28,.035);
  --color-glass-medium:rgba(20,20,28,.055);
  --bg:var(--color-canvas);
  --bg-soft:var(--color-surface);
  --panel:rgba(255,255,255,.88);
  --panel-strong:rgba(255,255,255,.97);
  --line:rgba(24,24,31,.14);
  --line-hot:rgba(217,14,50,.34);
  --text:var(--color-text);
  --muted:var(--color-text-secondary);
  --dim:var(--color-text-tertiary);
  --red:var(--color-accent);
  --red-soft:var(--color-accent-soft);
}
html[data-theme="light"] body{
  background:
    radial-gradient(circle at 18% 20%,rgba(217,14,50,.065),transparent 30rem),
    radial-gradient(circle at 78% 68%,rgba(92,69,150,.055),transparent 28rem),
    linear-gradient(145deg,#faf9f6 0%,#f2efe9 52%,#faf9f6 100%);
}
html[data-theme="light"] body::after{
  opacity:.18;
  background-image:linear-gradient(rgba(20,20,28,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(20,20,28,.035) 1px,transparent 1px);
}
html[data-theme="light"] .site-header{background:rgba(250,249,246,.88);border-bottom-color:rgba(24,24,31,.1);box-shadow:0 8px 30px rgba(35,28,25,.045)}
html[data-theme="light"] .brand-wordmark,
html[data-theme="light"] .hero-brand-wordmark,
html[data-theme="light"] .core-hero-wordmark,
html[data-theme="light"] .footer-brand img{filter:brightness(0) saturate(100%);opacity:.9}
html[data-theme="light"] .main-nav a,
html[data-theme="light"] .lang-switch a{color:rgba(24,24,31,.76)}
html[data-theme="light"] .main-nav a:hover,
html[data-theme="light"] .lang-switch a:hover,
html[data-theme="light"] .main-nav a.active{color:#111115}
html[data-theme="light"] .lang-switch{border-left-color:rgba(24,24,31,.12)}
html[data-theme="light"] .menu-toggle,
html[data-theme="light"] .theme-toggle{background:rgba(24,24,31,.025);color:#343239;border-color:rgba(24,24,31,.14)}
html[data-theme="light"] .theme-toggle:hover{background:rgba(24,24,31,.055);color:#111115;border-color:rgba(24,24,31,.25)}
html[data-theme="light"] h1{color:#111115;text-shadow:none}
html[data-theme="light"] .hero::before{background:radial-gradient(circle,rgba(217,14,50,.12),rgba(217,14,50,.035) 38%,transparent 68%)}
html[data-theme="light"] .hero-highlights p,
html[data-theme="light"] .identity-more summary,
html[data-theme="light"] .identity-modules span,
html[data-theme="light"] .personal-highlight,
html[data-theme="light"] .gateway-card,
html[data-theme="light"] .contact-form,
html[data-theme="light"] .article-chart,
html[data-theme="light"] .article-answer,
html[data-theme="light"] .article-evidence,
html[data-theme="light"] .translation-state{
  border-color:rgba(24,24,31,.11);background:rgba(255,255,255,.72);box-shadow:0 18px 52px rgba(35,28,25,.04)
}
html[data-theme="light"] .gateway-card:hover{background:#fff;border-color:rgba(24,24,31,.2)}
html[data-theme="light"] .gateway-card.primary{background:linear-gradient(145deg,rgba(217,14,50,.07),rgba(255,255,255,.88));border-color:rgba(217,14,50,.24)}
html[data-theme="light"] .gateway-card h3,
html[data-theme="light"] .dispatch-card h2 a,
html[data-theme="light"] .dispatch-card h3 a,
html[data-theme="light"] .dispatch-card-foot a,
html[data-theme="light"] .footer-title,
html[data-theme="light"] .footer-nav .footer-admin-link{color:#17171b}
html[data-theme="light"] .dispatch-card{background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(246,243,238,.98));box-shadow:0 18px 52px rgba(35,28,25,.055)}
html[data-theme="light"] .dispatch-card.featured{background:linear-gradient(145deg,rgba(217,14,50,.075),rgba(255,255,255,.96));border-color:rgba(217,14,50,.28)}
html[data-theme="light"] .category-tag,
html[data-theme="light"] .audience-tag{background:rgba(255,255,255,.56);border-color:rgba(24,24,31,.12)}
html[data-theme="light"] .category-filter:hover{color:#111115;background:rgba(24,24,31,.045)}
html[data-theme="light"] .category-filter.is-active{color:#111115;background:rgba(217,14,50,.07)}
html[data-theme="light"] .dispatch-filter-sheet,
html[data-theme="light"] .dispatch-filter-actions{background:rgba(250,249,246,.98)}
html[data-theme="light"] .dispatch-filter-close-icon,
html[data-theme="light"] .dispatch-filter-actions button,
html[data-theme="light"] .dispatch-filter-open{color:#17171b;background:rgba(255,255,255,.72)}
html[data-theme="light"] .dispatch-cover,
html[data-theme="light"] .article-cover,
html[data-theme="light"] .article-image img{background:#ebe7e0}
html[data-theme="light"] .article-body blockquote,
html[data-theme="light"] .article-body pre{background:#efebe5;border-color:rgba(24,24,31,.12);color:#242229}
html[data-theme="light"] .article-body code{background:rgba(24,24,31,.055);color:#26242a}
html[data-theme="light"] .article-evidence-body{background:rgba(255,255,255,.48)}
html[data-theme="light"] .article-source-strip>a,
html[data-theme="light"] .article-source[data-verification="candidate"]{background:rgba(255,255,255,.62);border-color:rgba(24,24,31,.12)}
html[data-theme="light"] .footer{border-top-color:rgba(24,24,31,.1)}
html[data-theme="light"] .footer a:hover,
html[data-theme="light"] .footer-nav a:hover,
html[data-theme="light"] .footer-meta a:hover{color:#111115}

@media(max-width:820px){
  html[data-theme="light"] .header-right{background:rgba(250,249,246,.985);border-color:rgba(24,24,31,.13);box-shadow:0 24px 80px rgba(35,28,25,.14)}
  html[data-theme="light"] .main-nav a{border-bottom-color:rgba(24,24,31,.08)}
  .theme-toggle{width:100%;justify-content:flex-start;margin-top:10px;border-radius:10px;padding-inline:12px}
}

/* ==========================================================================
   PUBLIC LIGHT THEME · readability hardening R7
   Keep the light theme genuinely light without inheriting dark-only whites.
   ========================================================================== */
html[data-theme="light"] .card-arrow,
html[data-theme="light"] .identity-copy strong,
html[data-theme="light"] .identity-more summary,
html[data-theme="light"] .identity-modules span,
html[data-theme="light"] .contact-quote,
html[data-theme="light"] .contact-form-head>span,
html[data-theme="light"] .contact-form label,
html[data-theme="light"] .article-body h2,
html[data-theme="light"] .article-body h3,
html[data-theme="light"] .article-body strong,
html[data-theme="light"] .article-end a,
html[data-theme="light"] .related h2,
html[data-theme="light"] .related h3{
  color:#17171b;
}
html[data-theme="light"] .identity-modules span{
  color:#4d4b52;
  background:rgba(255,255,255,.82);
}
html[data-theme="light"] .identity-more summary{
  background:rgba(255,255,255,.82);
}
html[data-theme="light"] .contact-section{
  border-top-color:rgba(24,24,31,.09);
  background:radial-gradient(circle at 82% 22%,rgba(217,14,50,.05),transparent 31%);
}
html[data-theme="light"] .contact-quote{
  background:rgba(217,14,50,.035);
}
html[data-theme="light"] .contact-form-head{
  border-bottom-color:rgba(24,24,31,.1);
}
html[data-theme="light"] .contact-form input,
html[data-theme="light"] .contact-form textarea{
  border-color:#c9c4bc;
  background:#fff;
  color:#17171b;
  box-shadow:inset 0 1px 0 rgba(24,24,31,.025);
}
html[data-theme="light"] .contact-form input::placeholder,
html[data-theme="light"] .contact-form textarea::placeholder{
  color:#77737b;
  opacity:1;
}
html[data-theme="light"] .contact-form input:focus,
html[data-theme="light"] .contact-form textarea:focus{
  border-color:#b6324f;
  background:#fff;
  box-shadow:0 0 0 3px rgba(182,50,79,.11);
}
html[data-theme="light"] .contact-submit{
  border-color:#b90e2e;
  background:#c91435;
  color:#fff;
}
html[data-theme="light"] .contact-submit:hover{
  border-color:#9c0c27;
  background:#ad102e;
}
html[data-theme="light"] .contact-status[data-kind=success]{color:#176b3a}
html[data-theme="light"] .contact-status[data-kind=error]{color:#a51632}
html[data-theme="light"] .contact-fallback:hover{color:#111115}
html[data-theme="light"] .article-body{
  color:#2d2b31;
}
html[data-theme="light"] .article-body a{
  color:#9d1831;
}
html[data-theme="light"] .article-body blockquote{
  color:#514e56;
}
html[data-theme="light"] .article-end{
  border-top-color:rgba(24,24,31,.12);
}
html[data-theme="light"] .gateway-card .card-arrow{
  color:#27252b;
}
html[data-theme="light"] .gateway-card:hover .card-arrow{
  color:#111115;
}

/* ==========================================================================
   PUBLIC LIGHT THEME · WHITE-TEXT SENTINEL R10
   Final dark-theme inheritance sweep for human-readable public content.
   ========================================================================== */
html[data-theme="light"] .hero-highlights strong{
  color:#3f3b44;
  opacity:1;
}
html[data-theme="light"] .pinned-tag{
  color:#9d1831;
  background:#fff3f5;
  border-color:#d98a9a;
  opacity:1;
}
html[data-theme="light"] .audience-filter:hover,
html[data-theme="light"] .audience-filter.is-active,
html[data-theme="light"] .dispatch-filter-options .category-filter.is-active,
html[data-theme="light"] .dispatch-filter-options .audience-filter.is-active{
  color:#17171b;
}
html[data-theme="light"] .audience-filter.is-active,
html[data-theme="light"] .dispatch-filter-options .category-filter.is-active,
html[data-theme="light"] .dispatch-filter-options .audience-filter.is-active{
  background:#fbecef;
  border-color:#ca6679;
}
html[data-theme="light"] .article-answer>p:last-child{
  color:#343139;
}
html[data-theme="light"] .article-evidence>summary strong,
html[data-theme="light"] .article-evidence-body>h2,
html[data-theme="light"] .evidence-sources h3{
  color:#17171b;
}
html[data-theme="light"] .article-evidence>summary small,
html[data-theme="light"] .evidence-status,
html[data-theme="light"] .evidence-claim small,
html[data-theme="light"] .evidence-sources span,
html[data-theme="light"] .evidence-sources time{
  color:#625f67;
  opacity:1;
}
html[data-theme="light"] .article-evidence-body{
  border-top-color:rgba(24,24,31,.10);
  background:#fff;
}
html[data-theme="light"] .evidence-claim{
  background:#fbfaf8;
  border-color:#d8d3cb;
}
html[data-theme="light"] .evidence-claim[data-status="supported"]{border-left-color:#2f7a4d}
html[data-theme="light"] .evidence-claim[data-status="interpretation"]{border-left-color:#8a6500}
html[data-theme="light"] .evidence-claim[data-status="open"]{border-left-color:#6947a8}
html[data-theme="light"] .evidence-claim p{
  color:#343139;
  opacity:1;
}
html[data-theme="light"] .evidence-refs a,
html[data-theme="light"] .evidence-sources a{
  color:#8b1530;
  text-decoration-color:rgba(139,21,48,.35);
}
html[data-theme="light"] .evidence-refs a:hover,
html[data-theme="light"] .evidence-sources a:hover{
  color:#641022;
}
html[data-theme="light"] .evidence-sources li{
  color:#4d4b52;
}
html[data-theme="light"] .article-source-strip>a span,
html[data-theme="light"] .article-source-copy b{
  color:#2d2b31;
}
html[data-theme="light"] .footer-core .footer-nav a[aria-current="page"]{
  color:#17171b;
}

/* ==========================================================================
   PUBLIC LIGHT THEME · ACTIVE FILTER COUNT A11Y R11
   Active filter count spans must not inherit the dim dark-theme token.
   ========================================================================== */
html[data-theme="light"] .audience-filter.is-active > span,
html[data-theme="light"] .dispatch-filter-options .audience-filter.is-active > span,
html[data-theme="light"] .category-filter.is-active > span,
html[data-theme="light"] .dispatch-filter-options .category-filter.is-active > span{
  color:#5b2630;
  opacity:1;
  font-weight:800;
}
