@charset "utf-8";
/* ==========================================================================
   KingOfAEO.net — article and research-entry templates.
   Layer 2 of "Observatory Press". Depends on the tokens in style.css.
   ========================================================================== */

/* ------------------------------------------------ Long-form article grid */

.studio-article, .stage2-page, .comp-article, .authority-page {
  width: min(100% - 2.5rem, var(--shell));
  margin-inline: auto;
  padding-bottom: var(--s-8);
}
/* Entry pages carry no sidebar, so the page itself is narrowed to a reading
   column rather than leaving half the grid empty. */
.stage2-page { width: min(100% - 2.5rem, 950px); }
.stage2-content { max-width: none; }
.stage2-content > :is(p, ul, ol, blockquote, dl),
.stage2-content > div > :is(p, ul, ol) { max-width: var(--measure); }
@media (max-width: 560px) {
  .studio-article, .stage2-page, .comp-article, .authority-page { width: min(100% - 1.75rem, var(--shell)); }
}

.studio-article__grid, .comp-grid, .stage2-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 19rem;
  gap: var(--s-8);
  align-items: start;
  margin-top: var(--s-6);
}
@media (max-width: 980px) {
  .studio-article__grid, .comp-grid, .stage2-grid { grid-template-columns: 1fr; gap: var(--s-7); }
}

.studio-article__main, .comp-content { min-width: 0; max-width: var(--measure); }
.studio-article__main h1, .stage2-hero h1, .comp-hero h1, .authority-page__hero h1 {
  margin-bottom: var(--s-5);
}
.studio-article__meta {
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: var(--s-3) 0;
  margin-bottom: var(--s-6);
}
.studio-article section { margin-top: var(--s-7); }
.studio-article section:first-of-type { margin-top: var(--s-6); }
.studio-article section > h2 {
  font-size: var(--fs-xl);
  padding-top: var(--s-5);
  border-top: 1px solid var(--rule);
  margin-bottom: var(--s-4);
}
.studio-article p { max-width: var(--measure); }

/* Sidebar */
.studio-article__aside, .comp-aside {
  position: sticky; top: 96px;
  display: flex; flex-direction: column; gap: var(--s-6);
  min-width: 0;
}
@media (max-width: 980px) { .studio-article__aside, .comp-aside { position: static; } }

.studio-toc, .toc, .toc-2, .contents {
  border-top: 2px solid var(--ink);
  padding-top: var(--s-4);
}
.studio-toc__title { margin-bottom: var(--s-3); }
.studio-toc ol, .toc ol, .contents ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; }
.studio-toc li, .toc li { margin: 0; border-bottom: 1px solid var(--rule); counter-increment: toc; }
.studio-toc a, .toc a, .contents a {
  display: flex; gap: .7em; padding: 9px 0;
  font-size: var(--fs-sm); color: var(--ink-2); text-decoration: none; line-height: 1.35;
}
.studio-toc a::before, .toc a::before {
  content: counter(toc, decimal-leading-zero);
  font-family: var(--mono); font-size: var(--fs-2xs); color: var(--ink-4);
  padding-top: .18em;
}
.studio-toc a:hover, .toc a:hover { color: var(--signal); }
.studio-toc a.is-active { color: var(--signal); font-weight: 620; }
.studio-toc a.is-active::before { color: var(--signal); }
@media (max-width: 980px) {
  .studio-toc, .toc { background: var(--paper-2); padding: var(--s-4) var(--s-5); border-top-width: 2px; }
  .studio-toc a, .toc a { padding: 7px 0; }
}

.studio-asidecard {
  border-top: 1px solid var(--rule-2);
  padding-top: var(--s-4);
}
.studio-asidecard strong {
  display: block; font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .12em; text-transform: uppercase; color: var(--signal); margin-bottom: var(--s-3);
}
.studio-asidecard p { font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.6; margin: 0; }
.studio-asidecard p + p { margin-top: var(--s-3); }
.studio-asidecard a { color: var(--signal); }

/* Entity-context strip that opens most entries */
.studio-context { margin: var(--s-5) 0 0; }
.studio-context__box {
  display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); align-items: baseline;
  background: var(--paper-2);
  border-left: 3px solid var(--signal);
  padding: var(--s-4) var(--s-5);
}
.studio-context__label { margin: 0; flex: 0 0 auto; }
.studio-context__text { font-size: var(--fs-cap); color: var(--ink-2); flex: 1 1 22rem; line-height: 1.6; }
.studio-context__link { font-size: var(--fs-sm); font-weight: 600; white-space: nowrap; }

/* In-article answer block */
.studio-answer, .answer-card, .answer-mini, .first-answer, .verdict, .response {
  border-left: 3px solid var(--signal);
  background: var(--signal-wash);
  padding: var(--s-5) var(--s-6);
  margin: var(--s-6) 0;
  max-width: var(--measure);
}
.studio-answer__text, .answer-card p:first-of-type {
  font-size: var(--fs-md); line-height: 1.5; color: var(--ink); margin-bottom: var(--s-3);
}
.studio-answer__text strong { color: var(--signal); }
.studio-answer__note { font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.6; margin: 0; }
.first-answer::after, .response::after, .verdict::after, [class*="answer-card"]::after { content: none; }

/* Checklists */
.studio-checklist { margin-top: var(--s-5); border-top: 1px solid var(--rule-2); }
.studio-check {
  display: flex; gap: var(--s-3); align-items: baseline;
  padding: var(--s-3) 0; border-bottom: 1px solid var(--rule);
  font-size: var(--fs-cap); color: var(--ink-2);
}
.studio-check::before {
  content: "✓"; color: var(--fixed); font-family: var(--mono); font-size: var(--fs-sm); flex: 0 0 auto;
}

/* Source lists */
.studio-source-list { list-style: none; margin: var(--s-4) 0 0; padding: 0; border-top: 1px solid var(--rule-2); }
.studio-source-list li {
  padding: var(--s-4) 0; border-bottom: 1px solid var(--rule);
  font-size: var(--fs-cap); color: var(--ink-2); margin: 0;
}
.studio-source-list a { overflow-wrap: anywhere; }

/* Article tables inherit the base table system */
.studio-table, .stage2-table { min-width: 32rem; }

/* Research utility form */
.studio-tool {
  border-top: 2px solid var(--ink);
  padding-top: var(--s-5);
  margin-top: var(--s-5);
}
.studio-tool__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: var(--s-4); }
.studio-tool label {
  display: block; font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .11em; text-transform: uppercase; color: var(--ink-4); font-weight: 600;
}
.studio-tool input, .studio-tool textarea {
  display: block; width: 100%; margin-top: 6px;
  font-family: var(--mono); font-size: var(--fs-sm); color: var(--ink);
  background: var(--paper); border: 1px solid var(--rule-2); border-radius: var(--r-sm);
  padding: 9px 11px; letter-spacing: 0; text-transform: none;
}
.studio-tool textarea { min-height: 5.5rem; resize: vertical; }
.studio-tool input:focus, .studio-tool textarea:focus { border-color: var(--signal); outline: 2px solid var(--signal-rule); outline-offset: 0; }
.studio-tool input::placeholder, .studio-tool textarea::placeholder { color: var(--ink-4); }
.studio-tool__actions { margin-top: var(--s-5); }
.studio-tool__button {
  display: inline-flex; align-items: center; gap: .5em;
  background: var(--signal); color: #fff; border: 1px solid var(--signal);
  border-radius: var(--r-sm); padding: 10px 18px;
  font-size: var(--fs-sm); font-weight: 620; cursor: pointer;
}
.studio-tool__button:hover { background: var(--signal-deep); border-color: var(--signal-deep); }
.studio-tool__result {
  margin-top: var(--s-5); padding: var(--s-4) var(--s-5);
  background: var(--paper-2); border: 1px solid var(--rule);
  font-family: var(--mono); font-size: var(--fs-sm); color: var(--ink-2);
  white-space: pre-wrap; overflow-wrap: anywhere;
}

/* ------------------------------------------------ The research finding */

/* The homepage answer block, set as a dated finding rather than a banner:
   reference, date, statement, provenance rows, source line. */
.finding {
  margin-top: var(--s-8);
  border-top: 2px solid var(--ink);
  padding-top: var(--s-5);
}
.finding__hd {
  display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-6);
  justify-content: space-between; align-items: baseline;
  padding-bottom: var(--s-4);
  border-bottom: 1px solid var(--rule);
}
.finding__ref {
  margin: 0;
  font-family: var(--mono); font-size: var(--fs-xs); font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase; color: var(--signal);
}
.finding__meta {
  margin: 0; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5);
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--ink-3); letter-spacing: .04em;
}
.finding__meta b { color: var(--ink-4); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; margin-right: .4em; }
.finding__stmt {
  font-family: var(--serif);
  font-size: clamp(1.35rem, 1.05rem + 1.35vw, 2.05rem);
  line-height: 1.28;
  color: var(--ink);
  margin: var(--s-6) 0 var(--s-6);
  max-width: 32ch;
  letter-spacing: -.01em;
}
.finding__stmt strong { color: var(--signal); font-weight: inherit; }
.finding__stmt em { font-style: italic; color: var(--ink-2); }
.finding__rows { border-top: 1px solid var(--rule-2); }
.finding__row {
  display: grid; grid-template-columns: 9.5rem 1fr; gap: var(--s-3) var(--s-6);
  padding: var(--s-4) 0; border-bottom: 1px solid var(--rule);
}
.finding__k {
  font-family: var(--mono); font-size: var(--fs-2xs); font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ink-4); padding-top: .25em;
}
.finding__v { font-size: var(--fs-cap); color: var(--ink-2); line-height: 1.6; max-width: 68ch; }
.finding__v strong { color: var(--ink); }
.finding__ft {
  margin-top: var(--s-4);
  font-family: var(--mono); font-size: var(--fs-xs); color: var(--ink-3); letter-spacing: .03em;
}
.finding__ft code { background: none; border: 0; padding: 0; font-size: 1em; }
@media (max-width: 640px) {
  .finding__row { grid-template-columns: 1fr; gap: var(--s-1); }
  .finding__stmt { max-width: none; }
}

/* ------------------------------------------------------- Homepage modules */

/* Diagram panel */
.studio-homehub { margin-top: var(--s-8); }
.studio-homehub__frame {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: var(--s-8); align-items: center;
  border-top: 2px solid var(--ink); padding-top: var(--s-6);
}
.studio-homehub__copy h2 { font-size: var(--fs-xl); }
.studio-homehub__copy > p { color: var(--ink-2); max-width: 52ch; }
.studio-homehub__links { display: grid; margin-top: var(--s-5); border-top: 1px solid var(--rule-2); }
.studio-homehub__link {
  display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-4);
  padding: var(--s-3) 0; border-bottom: 1px solid var(--rule);
  color: var(--ink); text-decoration: none; font-size: var(--fs-cap); font-weight: 560;
}
.studio-homehub__link:hover { color: var(--signal); }
.studio-homehub__link span:last-child { font-family: var(--mono); color: var(--signal); }
.studio-homehub__visual { min-width: 0; }
.studio-homehub__visual img { width: 100%; height: auto; border: 1px solid var(--rule); }
@media (max-width: 900px) {
  .studio-homehub__frame { grid-template-columns: 1fr; gap: var(--s-6); }
}

/* Secondary index of deeper entries */
.stage2-authority-hub { margin-top: var(--s-8); }
.stage2-authority-hub > h2 { font-size: var(--fs-2xl); border-top: 2px solid var(--ink); padding-top: var(--s-5); }
.stage2-authority-hub > p { max-width: var(--measure); color: var(--ink-2); }
.stage2-hub-grid { border-top: 1px solid var(--rule-2); margin-top: var(--s-6); }
.stage2-hub-card {
  display: grid;
  grid-template-columns: 12.5rem 1fr auto;
  gap: var(--s-3) var(--s-7);
  align-items: baseline;
  padding: var(--s-5) 0;
  border-bottom: 1px solid var(--rule);
  text-decoration: none;
}
.stage2-hub-card span {
  font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .11em;
  text-transform: uppercase; color: var(--ink-4);
}
.stage2-hub-card strong { font-size: var(--fs-md); color: var(--ink); font-weight: 620; letter-spacing: -.014em; line-height: 1.28; }
.stage2-hub-card em { font-style: normal; font-family: var(--mono); font-size: var(--fs-xs); color: var(--signal); white-space: nowrap; }
.stage2-hub-card:hover { background: var(--signal-tint); }
.stage2-hub-card:hover strong { color: var(--signal); }
@media (max-width: 760px) {
  .stage2-hub-card { grid-template-columns: 1fr; gap: var(--s-2); }
  .stage2-hub-card em { display: none; }
}

/* ---------------------------------------------------- Entry (stage2) page */

.stage2-hero { padding-top: var(--s-6); }
.stage2-badges { margin-top: var(--s-5); }
.stage2-content { margin-top: var(--s-6); }
.stage2-content > h2 { font-size: var(--fs-xl); }
.stage2-entity-context {
  border-left: 3px solid var(--signal);
  background: var(--paper-2);
  padding: var(--s-4) var(--s-5);
  margin: var(--s-5) 0;
  font-size: var(--fs-cap);
  color: var(--ink-2);
  max-width: 76ch;
}
.stage2-callout {
  border: 1px solid var(--rule-2);
  border-left: 3px solid var(--ink-4);
  background: var(--paper-2);
  padding: var(--s-5);
  margin: var(--s-6) 0;
  max-width: 76ch;
}
.stage2-callout strong { display: block; margin-bottom: var(--s-2); color: var(--ink); }
.stage2-callout--warning { border-left-color: var(--open); background: var(--open-wash); border-color: var(--open-rule); }
.stage2-callout--verdict { border-left-color: var(--signal); background: var(--signal-wash); border-color: var(--signal-rule); }
.stage2-code {
  font-family: var(--mono); font-size: var(--fs-sm);
  background: var(--paper-2); border: 1px solid var(--rule);
  padding: var(--s-4) var(--s-5); overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere;
  color: var(--ink-2);
}
.stage2-sources { margin-top: var(--s-8); }
.stage2-sources h2, .stage2-related h2 {
  font-size: var(--fs-lg); border-top: 2px solid var(--ink); padding-top: var(--s-4); margin-bottom: var(--s-4);
}
.stage2-related { margin-top: var(--s-8); }
.stage2-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px,1fr)); border-top: 1px solid var(--rule-2); }
.stage2-related-grid a {
  display: block; padding: var(--s-4) var(--s-4) var(--s-4) 0;
  border-bottom: 1px solid var(--rule); color: var(--ink);
  text-decoration: none; font-size: var(--fs-cap); font-weight: 560;
}
.stage2-related-grid a:hover { color: var(--signal); }
.stage2-page-footer {
  margin-top: var(--s-8);
  background: none; color: var(--ink-3);
  border-top: 1px solid var(--rule-2); border-bottom: 0;
  padding: var(--s-5) 0 0;
  font-family: var(--mono); font-size: var(--fs-xs); letter-spacing: .04em;
}
.stage2-page-footer a { color: var(--signal); }
.stage2-sitemap-section, .stage3-sitemap-section { margin-top: var(--s-7); }

/* -------------------------------------------------- Authority index pages */

.authority-page__hero { padding-top: var(--s-6); }
.authority-pill {
  display: inline-block; margin-bottom: var(--s-4);
  font-family: var(--mono); font-size: var(--fs-2xs); font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--signal); border: 1px solid var(--signal-rule);
  background: var(--signal-wash); padding: 3px 9px; border-radius: var(--r-sm);
}
.authority-grid { border-top: 1px solid var(--rule-2); margin-top: var(--s-6); }
.authority-page-card {
  padding: var(--s-6) 0;
  border-bottom: 1px solid var(--rule);
  max-width: none;
}
.authority-page-card h2 { font-size: var(--fs-lg); margin-bottom: var(--s-3); }
.authority-page-card p { max-width: var(--measure); color: var(--ink-2); }
.authority-page-card ul { max-width: var(--measure); }

/* ------------------------------------------------------ Studio header/foot */

.studio-header { border-bottom: 1px solid var(--rule-2); }
.studio-footer { padding: var(--s-8) 0 var(--s-6); }
.studio-footer__inner {
  width: min(100% - 2.5rem, var(--shell));
  margin-inline: auto;
  display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--s-6) var(--s-8);
  align-items: start;
}
.studio-footer__name { font-size: var(--fs-lg); color: #fff; font-weight: 660; letter-spacing: -.02em; }
.studio-footer__desc { color: #C3B6BE; font-size: var(--fs-cap); margin-top: var(--s-2); max-width: 52ch; }
.studio-footer__links { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5); }
.studio-footer__links a { color: #D9CFD5; text-decoration: none; font-size: var(--fs-cap); }
.studio-footer__links a:hover { color: #fff; text-decoration: underline; }
@media (max-width: 760px) { .studio-footer__inner { grid-template-columns: 1fr; } }

/* --------------------------------------------------------- Claim monitor */

.comp-hero { padding-top: var(--s-6); }
.comp-callout {
  border-left: 3px solid var(--open); background: var(--open-wash);
  border: 1px solid var(--open-rule); border-left-width: 3px;
  padding: var(--s-5); margin: var(--s-6) 0; max-width: 76ch;
}
.comp-aside__card { border-top: 1px solid var(--rule-2); padding-top: var(--s-4); }
.comp-aside__card strong {
  display: block; font-family: var(--mono); font-size: var(--fs-2xs);
  letter-spacing: .12em; text-transform: uppercase; color: var(--signal); margin-bottom: var(--s-3);
}
.comp-aside__card ul { list-style: none; margin: 0; padding: 0; }
.comp-aside__card li { font-size: var(--fs-xs); color: var(--ink-3); padding: 6px 0; border-bottom: 1px solid var(--rule); }
