.page--home .hero { grid-column: span 8; }
.page--home .status-board { grid-column: span 4; }
.page--article .article { display: grid; grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr); gap: var(--space-8); padding-block: var(--space-8); }
.page--article .article__header, .page--article .article__body { grid-column: 1; }
.page--article .evidence-box { grid-column: 2; grid-row: 1 / span 2; align-self: start; position: sticky; top: 1rem; }
.page--tool .tool { padding-block: var(--space-8); }
.page--article .article__header h1 { font-size: clamp(2.4rem, 5vw, 5rem); }
.article__body { max-width: 74ch; font-size: 1.04rem; }
.article__body h2 { margin-block: 2.6em .7em; padding-top: .55em; border-top: 2px solid var(--ink); }
.article__body h3 { margin-block: 1.9em .55em; color: var(--archive); font-size: 1.35rem; }
.article__body li + li { margin-top: .45em; }
.article__body table { width: 100%; margin-block: var(--space-6); border-collapse: collapse; font-size: .92rem; }
.article__body th, .article__body td { padding: .7rem; border: 1px solid var(--rule); text-align: left; vertical-align: top; }
.article__body th { background: var(--paper-deep); font-family: var(--mono); font-size: .76rem; text-transform: uppercase; }
.article__body blockquote { margin-inline: 0; padding: var(--space-4); border-left: 4px solid var(--archive); background: var(--paper-deep); }
.desk-landing { display: grid; grid-template-columns: minmax(0, 7fr) minmax(16rem, 5fr); gap: var(--space-8); padding-block: var(--space-8); }
.desk-landing__header { grid-column: 1 / -1; max-width: 78rem; padding-bottom: var(--space-6); border-bottom: 3px solid var(--ink); }
.desk-landing__header h1 { max-width: 14ch; }
.desk-landing__brief { grid-column: 2; grid-row: 2; padding: var(--space-5); border-left: 4px solid var(--archive); background: var(--paper-deep); }
.desk-landing__index { grid-column: 1; grid-row: 2 / span 2; margin: 0; }
.desk-landing__next { grid-column: 2; display: grid; gap: .45rem; align-self: start; padding: var(--space-5); border: 1px solid var(--rule); }
.decision-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(16rem, 5fr); gap: var(--space-6); }
.timeline-ledger { display: grid; grid-template-columns: 10rem 1fr; border-top: 1px solid var(--rule); }
.timeline-ledger > * { padding: var(--space-4); border-bottom: 1px solid var(--rule); }
.tool-workbench { display: grid; grid-template-columns: minmax(18rem, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: start; }
.tool-form, .tool-notes { padding: var(--space-6); border: 1px solid var(--rule); background: var(--sheet); }
.tool-form { display: grid; gap: var(--space-4); border-top: 4px solid var(--archive); }
.tool-form label:not(.check-row) { display: grid; gap: .4rem; font-weight: 700; }
.tool-form input { width: 100%; padding: .72rem; border: 1px solid var(--ink); color: var(--ink); background: var(--paper); }
.tool-form button { justify-self: start; padding: .72rem 1rem; border: 1px solid var(--ink); color: var(--paper); background: var(--ink); cursor: pointer; }
.tool-form fieldset { display: grid; gap: .65rem; padding: var(--space-4); border: 1px solid var(--rule); }
.tool-form legend { padding-inline: .35rem; font-family: var(--mono); font-size: .78rem; }
.check-row { display: grid; grid-template-columns: 1.25rem 1fr; gap: .65rem; align-items: start; }
.check-row input { margin-top: .25rem; }
.tool-result { display: grid; gap: .25rem; min-height: 5rem; padding: var(--space-4); border: 1px solid var(--rule); background: var(--paper-deep); }
.tool-result strong { font: 1.25rem/1.2 var(--condensed); }
.tool-result[data-state="error"] { color: var(--stamp); }
.tool-notes h2 { font-size: 1.8rem; }
.tool-form--disabled { border-top-color: var(--stamp); }
.tool-form--disabled fieldset { opacity: .55; }
.trust-page { display: grid; grid-template-columns: minmax(0, 8fr) minmax(16rem, 4fr); gap: var(--space-8); padding-block: var(--space-8); }
.trust-page__header { grid-column: 1 / -1; padding-bottom: var(--space-6); border-bottom: 3px solid var(--ink); }
.trust-page__header h1 { max-width: 16ch; }
.trust-page__body { max-width: 74ch; }
.trust-page__body h2 { margin-block: 2.3em .7em; padding-top: .5em; border-top: 2px solid var(--ink); }
.visible-faq { align-self: start; padding: var(--space-5); border: 1px solid var(--rule); border-top: 4px solid var(--archive); }
.visible-faq details { padding-block: .8rem; border-top: 1px solid var(--rule); }
.visible-faq summary { cursor: pointer; font-weight: 700; }
.visible-faq p { margin: .6rem 0 0; color: var(--muted); }
.source-library { padding-block: var(--space-8); }
.source-library__header { max-width: 78rem; padding-bottom: var(--space-6); border-bottom: 3px solid var(--ink); }
.source-legend { margin-block: var(--space-8); }
.source-legend dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; border: 1px solid var(--rule); }
.source-legend dl > div { padding: var(--space-4); border-right: 1px solid var(--rule); }
.source-legend dt { font: .72rem var(--mono); text-transform: uppercase; color: var(--archive); }
.source-legend dd { margin: .5rem 0 0; }
.source-group { margin-block: var(--space-10); }
.source-cards { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.source-cards article { padding: var(--space-5); border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); background: var(--sheet); }
.source-cards h3 { font-size: 1.25rem; }
.source-ledger { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.source-ledger li { display: grid; grid-template-columns: 8rem 9rem minmax(0, 1fr); gap: var(--space-4); padding-block: var(--space-4); border-bottom: 1px solid var(--rule); }
.source-ledger li p { margin: 0 0 .5rem; }
.source-library__method { padding: var(--space-5); border-left: 4px solid var(--archive); background: var(--paper-deep); }
.not-found { min-height: 58vh; padding-block: var(--space-10); }
@media (max-width: 48rem) {
  .page--article .article, .decision-grid, .tool-workbench, .desk-landing, .trust-page { grid-template-columns: 1fr; }
  .page--article .article > *, .page--article .evidence-box { grid-column: 1; grid-row: auto; position: static; }
  .desk-landing > * { grid-column: 1; grid-row: auto; }
  .trust-page > * { grid-column: 1; grid-row: auto; }
  .source-legend dl, .source-cards { grid-template-columns: 1fr; }
  .source-legend dl > div { border-right: 0; border-bottom: 1px solid var(--rule); }
  .source-ledger li { grid-template-columns: 1fr; }
  .article__body { overflow-wrap: anywhere; }
  .article__body table { display: block; overflow-x: auto; }
  .timeline-ledger { grid-template-columns: 1fr; }
}

/* Editorial article reading system */
.article-page { padding-block: clamp(2.5rem, 6vw, 6rem); }

.article-header {
  width: min(100%, 70rem);
  max-width: none;
  margin-inline: auto;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--line);
}

.article-header h1 {
  max-width: 19ch;
  font-size: clamp(2.3rem, 4vw, 3.125rem);
}

.article-grid {
  display: grid;
  grid-template-columns: minmax(0, var(--measure)) minmax(16rem, 21rem);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
  justify-content: space-between;
  width: min(100%, 70rem);
  margin-inline: auto;
  padding-top: 2.5rem;
}

.article-prose {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  max-width: var(--measure);
  overflow-wrap: anywhere;
  font-size: 1.0625rem;
  line-height: 1.78;
}

.article-rail {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  gap: 1rem;
  max-height: calc(100vh - 8rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  position: sticky;
  top: 7rem;
  scrollbar-width: thin;
}

.evidence-panel { position: static; }

.article-toc {
  border: 1px solid var(--line);
  border-top: 4px solid var(--brand-deep);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.article-toc--desktop { padding: 1rem; }
.article-toc__eyebrow { margin: 0 0 .3rem; color: var(--brand); font: 800 .68rem/1.2 var(--sans); letter-spacing: .08em; }
.article-toc h2 { margin: 0 0 .7rem; font-size: 1.35rem; }
.article-toc__list { display: grid; gap: .15rem; margin: 0; padding: 0; list-style: none; }
.article-toc__list a { display: grid; grid-template-columns: 2rem 1fr; gap: .35rem; padding: .42rem .5rem; border-left: 3px solid transparent; color: var(--muted); font-size: .78rem; line-height: 1.35; text-decoration: none; }
.article-toc__list a span { color: var(--brand); font-family: var(--mono); }
.article-toc__list a:hover, .article-toc__list a:focus-visible { color: var(--brand-deep); background: #eef4fa; }
.article-toc__list a[aria-current="location"] { border-left-color: var(--accent); color: #fff; background: var(--brand-deep); }
.article-toc__list a[aria-current="location"] span { color: #ffd78a; }
.article-prose > h2 { scroll-margin-top: 8rem; }
.article-toc--mobile { display: none; }

.evidence-panel .evidence-box {
  padding: 1.5rem;
  border: 1px solid var(--line);
  border-top: 4px solid var(--brand);
  border-left-width: 1px;
  border-radius: var(--radius-md);
  background: var(--surface);
}

.evidence-box h2 { font-size: 1.8rem; }
.evidence-box h3 { margin-top: 1.5rem; font: 800 .78rem/1.3 var(--sans); letter-spacing: .07em; text-transform: uppercase; }
.evidence-box p { color: var(--muted); font-size: .92rem; }
.evidence-box p strong { display: block; margin-bottom: .2rem; color: var(--ink); }
.evidence-box__state { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.source-list { margin: 0; padding-left: 1.15rem; }
.source-list li + li { margin-top: .55rem; }
.source-list a { overflow-wrap: anywhere; font-size: .88rem; }

.article-prose h2 {
  margin-block: 3em .8em;
  padding-top: .8em;
  border-top: 1px solid var(--line);
}

.article-prose > h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.article-prose h3 { margin-block: 2em .65em; color: var(--brand-deep); }
.article-prose li + li { margin-top: .5em; }
.article-prose a { font-weight: 620; }

.article-prose blockquote {
  margin-inline: 0;
  padding: 1.25rem 1.5rem;
  border-left: 4px solid var(--brand);
  background: var(--surface);
}

.article-prose table {
  width: 100%;
  margin-block: 1.75rem;
  border-collapse: collapse;
  font-size: .92rem;
}

.article-prose th, .article-prose td { padding: .8rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.article-prose th { color: var(--brand-deep); background: #eef3f8; }
html[lang="ur-Latn-PK"] .article-prose { min-width: 0; }
html[lang="ur-Latn-PK"] .article-prose th,
html[lang="ur-Latn-PK"] .article-prose td { overflow-wrap: normal; word-break: normal; }

.article-accountability {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  width: min(100%, 70rem);
  max-width: none;
  margin: 4rem auto 0;
  padding-top: 1.5rem;
  border-top: 2px solid var(--ink);
}

.article-accountability p { flex-basis: 100%; color: var(--muted); }
.article-accountability a { font-weight: 750; }

@media (max-width: 59.99rem) {
  .article-toc--desktop { display: none; }
  .article-toc--mobile { display: block; position: sticky; top: 4rem; z-index: 20; margin-top: 1.25rem; border-radius: var(--radius-sm); }
  .article-toc--mobile summary { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; cursor: pointer; color: #fff; background: var(--brand-deep); font-weight: 800; }
  .article-toc--mobile summary span { overflow: hidden; color: #d7e5f1; font-size: .78rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
  .article-toc--mobile nav { max-height: min(60vh, 28rem); overflow-y: auto; padding: .65rem; background: var(--surface); }
  .article-grid { grid-template-columns: 1fr; }
  .article-rail, .article-prose { grid-column: 1; position: static; max-height: none; overflow: visible; }
  .article-rail { grid-row: 1; }
  .article-prose { grid-row: 2; }
  .article-prose > h2 { scroll-margin-top: 8.5rem; }
}

@media (max-width: 47.49rem) {
  .article-header h1 { font-size: clamp(2rem, 9vw, 2.125rem); }
  .article-grid { gap: 2rem; padding-top: 1.5rem; }
  .article-prose { font-size: 1rem; line-height: 1.75; }
  .article-prose table { display: block; max-width: 100%; overflow-x: auto; }
}

@media (max-width: 48rem) {
  html[lang="ur-Latn-PK"] .article-prose table { display: block; max-width: 100%; overflow-x: auto; }
}

@media print {
  .article-toc--mobile { display: none !important; }
  .article-toc--desktop { display: block !important; break-inside: avoid; }
  .article-rail { position: static; max-height: none; overflow: visible; }
  .editorial-chart { break-inside: avoid; box-shadow: none; }
  .editorial-chart__item { break-inside: avoid; page-break-inside: avoid; color: #000; background: #fff !important; border-color: #555 !important; }
  .editorial-chart__state { color: #000 !important; background: #fff !important; border-color: #000 !important; }
}

/* Editorial desks */
.desk-landing {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 clamp(1.5rem, 3vw, 3rem);
  padding-block: clamp(2.5rem, 6vw, 6rem);
}

.desk-landing__header {
  grid-column: 1 / -1;
  max-width: 70rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--line);
}

.desk-landing__header h1 { max-width: 16ch; font-size: clamp(2.4rem, 4.5vw, 3.5rem); }

.desk-landing__brief {
  grid-column: 1 / span 4;
  grid-row: 2;
  align-self: start;
  margin-top: 2.5rem;
  padding: 1.5rem;
  border: 0;
  border-radius: var(--radius-md);
  background: #eaf1f8;
}

.desk-landing__brief h2 { font-size: 1.75rem; }
.desk-landing__brief p:last-child { margin-bottom: 0; padding-top: 1rem; border-top: 1px solid rgb(14 79 154 / .2); }

.desk-landing__index {
  grid-column: 5 / -1;
  grid-row: 2 / span 2;
  margin-top: 2.5rem;
}

.desk-list-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; padding-bottom: 1rem; border-bottom: 2px solid var(--ink); }
.desk-list-heading h2 { margin: 0; }
.desk-list-heading .eyebrow { margin: 0; }
.desk-list { margin: 0; padding: 0; list-style: none; }

.desk-list a {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr) 8rem;
  gap: .35rem 1rem;
  min-height: 6rem;
  align-content: center;
  padding-block: 1rem;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}

.desk-list a:hover strong { color: var(--brand); }
.desk-list__number { grid-row: 1 / span 3; color: var(--brand); font-size: .74rem; font-weight: 800; letter-spacing: .06em; }
.desk-list__intent { color: var(--brand); font-size: .82rem; font-weight: 750; text-align: right; }
.desk-list__verdict { grid-column: 2 / -1; color: var(--muted); font-size: .9rem; }
.desk-list small { grid-column: 2 / -1; color: var(--muted); }

.desk-list li:first-child a { min-height: 9.5rem; }
.desk-list li:first-child strong { max-width: 24ch; font-family: var(--serif); font-size: 1.5rem; line-height: 1.25; }

.desk-landing__next {
  grid-column: 1 / span 4;
  grid-row: 3;
  display: grid;
  gap: .55rem;
  align-self: start;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border: 0;
  border-top: 2px solid var(--ink);
}

/* Source library */
.source-library { padding-block: clamp(2.5rem, 6vw, 6rem); }
.source-library__header { max-width: 70rem; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.source-library__header h1 { font-size: clamp(2.4rem, 4.5vw, 3.5rem); }

.source-legend dl {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.source-legend dl > div { min-height: 8rem; padding: 1.25rem; }
.source-legend dt { color: var(--brand); font: 800 .75rem/1.3 var(--sans); letter-spacing: .06em; }

.source-group { margin-block: clamp(3rem, 7vw, 6rem); }
.source-group > h2 { max-width: 20ch; }

.source-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 0;
  border-top: 2px solid var(--ink);
}

.source-cards article {
  min-height: 12rem;
  padding: 1.5rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
}

.source-cards article + article { border-left: 1px solid var(--line); }
.source-cards article:nth-child(3n + 1) { border-left: 0; }
.source-cards h3 { font-size: 1.35rem; }
.external-source { display: inline-flex; min-height: 2.75rem; align-items: center; font-size: .88rem; font-weight: 750; overflow-wrap: anywhere; }

.source-ledger { border-top: 2px solid var(--ink); }
.source-ledger li { grid-template-columns: 8rem 9rem minmax(0, 1fr); gap: 1rem; padding-block: 1.25rem; }
.source-library__method { padding: 1.5rem; border: 0; border-radius: var(--radius-md); background: #eaf1f8; }

/* Trust center */
.trust-page {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(17rem, 4fr);
  gap: 2rem clamp(2rem, 5vw, 5rem);
  padding-block: clamp(2.5rem, 6vw, 6rem);
}

.trust-page__header { grid-column: 1 / -1; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.trust-page__header h1 { max-width: 16ch; font-size: clamp(2.4rem, 4.5vw, 3.5rem); }

.trust-nav {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .25rem 1.5rem;
  padding-block: .75rem;
  border-block: 1px solid var(--line);
}

.trust-nav a { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 750; text-decoration: none; }
.trust-page__body { grid-column: 1; max-width: var(--measure); }
.trust-page__body h2 { margin-block: 2.6em .7em; padding-top: .6em; border-top: 1px solid var(--line); }

.trust-page .visible-faq {
  grid-column: 2;
  align-self: start;
  padding: 1.5rem;
  border: 1px solid var(--line);
  border-top: 4px solid var(--brand);
  border-radius: var(--radius-md);
  background: var(--surface);
}

@media (max-width: 59.99rem) {
  .desk-landing { grid-template-columns: 1fr; }
  .desk-landing > * { grid-column: 1; grid-row: auto; }
  .desk-landing__brief, .desk-landing__index, .desk-landing__next { margin-top: 2rem; }
  .trust-page { grid-template-columns: 1fr; }
  .trust-page > *, .trust-page__body, .trust-page .visible-faq { grid-column: 1; }
  .source-cards { grid-template-columns: repeat(2, 1fr); }
  .source-cards article:nth-child(3n + 1) { border-left: 1px solid var(--line); }
  .source-cards article:nth-child(2n + 1) { border-left: 0; }
}

@media (max-width: 47.49rem) {
  .desk-list a { grid-template-columns: 1fr; gap: .3rem; min-height: 7rem; }
  .desk-list__number, .desk-list__verdict, .desk-list small { grid-column: 1; grid-row: auto; }
  .desk-list__intent { text-align: left; }
  .source-legend dl, .source-cards { grid-template-columns: 1fr; }
  .source-cards article, .source-cards article:nth-child(n) { border-left: 0; }
  .source-ledger li { grid-template-columns: 1fr; gap: .35rem; }
}

/* Local decision tools */
.tool-page {
  max-width: 76rem;
  padding-block: clamp(2.5rem, 6vw, 6rem);
}

.tool-intro { max-width: 52rem; }
.tool-intro h1 { max-width: 18ch; font-size: clamp(2.4rem, 4.5vw, 3.5rem); }

.tool-page > .tool-workbench {
  display: grid;
  grid-template-columns: minmax(18rem, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  margin-top: 2.5rem;
}

.tool-page .tool-form {
  display: grid;
  gap: 1rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-top: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow-float);
}

.tool-page .tool-form .file-id { color: var(--brand); }
.tool-page .tool-form label:not(.check-row) { display: grid; gap: .4rem; font-weight: 750; }

.tool-page .tool-form input {
  width: 100%;
  min-height: 3rem;
  padding: .7rem .8rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  color: var(--ink);
  background: #fff;
}

.tool-page .tool-form input:focus { border-color: var(--brand); }

.tool-page .tool-form button {
  min-height: 3rem;
  justify-self: start;
  padding: .7rem 1rem;
  border: 1px solid var(--brand);
  border-radius: var(--radius-sm);
  color: #fff;
  background: var(--brand);
  font-weight: 750;
  cursor: pointer;
}

.tool-page .tool-form button:hover { background: var(--brand-deep); }

.tool-page .tool-result {
  display: grid;
  gap: .35rem;
  min-height: 5.25rem;
  align-content: center;
  padding: 1rem;
  border: 1px solid #c6d7e8;
  border-radius: var(--radius-sm);
  background: #edf4fa;
}

.tool-page .tool-result strong { font: 700 1.25rem/1.25 var(--serif); }
.tool-page .tool-result[data-state="error"] { border-color: #e0b8b3; color: var(--danger); background: #fff2f0; }
.tool-page .tool-result[data-state="warning"] { border-color: #e6cf9c; color: #6d4d14; background: #fff9e9; }

.tool-page .tool-notes {
  padding: 0;
  border: 0;
  background: transparent;
}

.tool-page .tool-notes h2 { padding-bottom: .75rem; border-bottom: 2px solid var(--ink); font-size: 1.9rem; }
.tool-page .tool-notes p { color: var(--muted); }
.tool-page .tool-notes code { display: inline-block; padding: .15rem .35rem; border-radius: 4px; color: var(--brand-deep); background: #e8edf2; overflow-wrap: anywhere; }
.tool-page .tool-notes a { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 750; }

.tool-limits {
  max-width: var(--measure);
  margin-top: 3.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}

.tool-limits h2 { font-size: 1.5rem; }
.tool-limits p { color: var(--muted); }
.tool-form--disabled { box-shadow: none; }
.tool-form--disabled fieldset { opacity: .58; }

@media (max-width: 47.49rem) {
  .tool-page > .tool-workbench { grid-template-columns: 1fr; }
  .tool-page .tool-form button { width: 100%; justify-self: stretch; }
}
