/*
 * Reading layer: the custom face remains the brand/display voice.
 * Prose and controls use the reader's local UI font; no remote font dependency.
 * Evidence and design decisions: docs/readability-audit.md.
 */
:root {
  --reading-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --reading-text: #c8d2ca;
  --reading-muted: #adbdb1;
  --reading-focus: #e8d1a3;
}

/* Stay fully off screen even when the reader enlarges text. */
.skip { top: 0; max-width: calc(100% - 40px); transform: translateY(-120%); }
.skip:focus { top: .625rem; transform: translateY(0); }

.guide {
  color: var(--reading-text);
  font-family: var(--reading-font);
  font-size: 1.1875rem;
  line-height: 1.75;
  letter-spacing: normal;
}

.guide .brand,
.guide h1 {
  font-family: FactoMono, monospace;
}

.guide main { max-width: 43.75rem; }
.guide h1 { line-height: 1.08; margin-bottom: 1.5rem; }
.guide section { padding-top: 2.5rem; }

.guide p,
.guide li,
.guide section p {
  color: var(--reading-text);
  font-size: 1.1875rem;
  line-height: 1.75;
}

.guide p { margin: 0 0 1.25em; }
.guide li { margin-bottom: .7em; }
.guide ul,
.guide ol { padding-left: 1.5em; }
.guide .steps li { padding-left: .25em; margin-bottom: 1.25em; }
.guide strong { color: #e7ebd9; font-weight: 650; }

.guide .standfirst {
  color: #c9d8bf;
  font-size: 1.3125rem;
  line-height: 1.65;
  margin-bottom: 1.4em;
}

.guide h2 {
  color: #e7ebd9;
  font-size: 1.875rem;
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: -.015em;
  margin: 0 0 .7em;
}

.guide h3 {
  color: #e7ebd9;
  font-size: 1.375rem;
  line-height: 1.4;
  font-weight: 600;
  margin: 1.8em 0 .6em;
}

.guide p.eyebrow {
  color: #a5b9aa;
  font-size: .875rem;
  line-height: 1.5;
  letter-spacing: .04em;
  margin: 0 0 1.25rem;
}

.guide .article-meta,
.guide .journal-entry .article-meta,
.guide .sources,
.guide .small,
.guide .editorial-note {
  color: var(--reading-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.guide .article-meta { margin-bottom: 1.5rem; }
.guide .editorial-note { margin-top: 2.5rem; }
.guide .journal-entry h2 { font-size: 1.625rem; line-height: 1.35; }
.guide .journal-entry p { font-size: 1.1875rem; }
.guide .journal-entry .article-meta { font-size: 1rem; }
.guide .milestone .event-date { font-size: 1.5rem; line-height: 1.5; font-weight: 600; }
.guide .timeline-nav a { font-size: 1rem; line-height: 1.5; }

.site-nav,
footer,
footer nav {
  font-family: var(--reading-font);
  font-size: 1rem;
  line-height: 1.5;
}

.site-nav a,
footer nav a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding-block: .625rem;
}

.guide .breadcrumbs { font-size: .9375rem; line-height: 1.6; }
.guide .contents {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .25rem 1.5rem;
  font-size: 1rem;
  line-height: 1.5;
  padding: 1.25rem 0;
  margin: 2rem 0 0;
}
.guide .contents span { grid-column: 1 / -1; color: #c9d8bf; font-weight: 600; }
.guide .contents a { padding: .4rem 0; }

.guide main a:not(.contact) {
  text-decoration: underline;
  text-decoration-thickness: .07em;
  text-underline-offset: .2em;
  text-decoration-skip-ink: auto;
}
.guide main a:hover { color: #eee3c4; }
.guide .related a { font-size: 1.125rem; line-height: 1.6; }

.guide a:focus-visible,
.guide button:focus-visible,
.guide select:focus-visible,
.guide .table-wrap:focus-visible,
.guide .decision-result:focus {
  outline: 3px solid var(--reading-focus);
  outline-offset: 4px;
}

.guide table { font-size: 1rem; line-height: 1.6; }
.guide th,
.guide td { padding: 1rem; }
.guide th { font-weight: 650; }
.guide caption { font-weight: 600; }
.guide td { color: var(--reading-text); }
.guide .acceptance-record { font-size: 1.125rem; line-height: 1.65; }
.guide .acceptance-record dt { font-weight: 600; }
.guide .acceptance-record dd { color: var(--reading-text); }

.guide .decision-form label { font-size: 1.125rem; line-height: 1.55; font-weight: 600; }
.guide .decision-form legend { font-size: 1rem; line-height: 1.5; max-width: 100%; }
.guide .decision-form select {
  font-family: var(--reading-font);
  font-size: 1rem;
  line-height: 1.5;
  padding: .75rem;
  min-height: 3.25rem;
}
.guide .tool-action,
.guide .tool-actions button {
  font-family: var(--reading-font);
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 600;
  min-height: 2.75rem;
}
.guide .decision-result h3 { font-size: 1.5rem; line-height: 1.4; }
.guide .brief-text {
  font-family: var(--reading-font);
  font-size: 1rem;
  line-height: 1.75;
  color: var(--reading-text);
}
.guide code { font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", monospace; }
.guide .contact { font-size: 1.1875rem; line-height: 1.5; font-weight: 600; min-height: 2.75rem; }

@media (max-width: 700px) {
  .guide p,
  .guide li,
  .guide section p,
  .guide .journal-entry p { font-size: 1.125rem; line-height: 1.75; }
  .guide .standfirst { font-size: 1.25rem; line-height: 1.65; }
  .guide h2 { font-size: 1.625rem; }
  .guide h3 { font-size: 1.3125rem; }
  .guide .journal-entry h2 { font-size: 1.5rem; }
  .guide .article-meta,
  .guide .journal-entry .article-meta,
  .guide .sources,
  .guide .small,
  .guide .editorial-note { font-size: 1rem; line-height: 1.65; }
  .guide p.eyebrow { font-size: .875rem; line-height: 1.5; }
  .guide .contents { grid-template-columns: minmax(0, 1fr); }
  .guide th,
  .guide td { padding: .875rem; }
  .guide .decision-form fieldset { padding: 1rem; }
  .guide .decision-form label { font-size: 1.125rem; }
  .guide .decision-form select { font-size: 1rem; }
  .guide .acceptance-record { font-size: 1.125rem; }
}

@media print {
  .guide main { max-width: none; }
  .guide p,
  .guide li,
  .guide section p,
  .guide .journal-entry p,
  .guide .article-meta,
  .guide .sources,
  .guide .small,
  .guide .editorial-note { font-size: 11pt; line-height: 1.5; }
  .guide .standfirst { font-size: 13pt; }
  .guide h2 { font-size: 18pt; }
  .guide h3 { font-size: 14pt; }
  .guide .contents { display: none; }
}
