/* Clear Technical, extended from the customer-approved product reading surface.
   Dark introductions retain their own palette; reading and task areas share these roles. */
:root {
  --reading-bg: #f5f7fa;
  --reading-surface: #fff;
  --reading-tint: #edf1f5;
  --reading-ink: #17212b;
  --reading-body: #334354;
  --reading-muted: #526171;
  --reading-line: #cfd7df;
  --reading-control: #8796a5;
  --reading-action: #c6151d;
  --reading-action-hover: #a80f17;
}
/* The sticky home navigation needs an opaque surface above the light sections. */
body[data-page="home"] .site-header { background: #0b0b0b; border-bottom: 1px solid #343434; }
.reading-surface {
  --paper: var(--reading-ink);
  --muted: var(--reading-muted);
  --line: var(--reading-line);
  --light-line: var(--reading-line);
  --soft-ink: var(--reading-muted);
  background: var(--reading-bg);
  color: var(--reading-ink);
  color-scheme: light;
  display: flow-root;
  scrollbar-color: var(--reading-control) var(--reading-tint);
}
.reading-surface ::selection { background: #cbdce9; color: var(--reading-ink); }
.reading-surface :is(a,button,input,textarea,select,summary,video,[tabindex]):focus-visible {
  outline: 3px solid var(--reading-action);
  outline-offset: 4px;
}
.reading-surface :is(input,textarea,select) { caret-color: var(--reading-ink); }
.reading-surface p { line-height: 1.75; }
.reading-surface :is(.button,.button:not(.outline)) {
  background: var(--reading-action);
  color: #fff;
  border-radius: 7px;
  min-height: 52px;
  padding: 15px 24px;
  font-size: 15px;
  font-weight: 600;
}
.reading-surface .button:hover { background: var(--reading-action-hover); }
.reading-surface .button.outline {
  background: transparent;
  color: var(--reading-ink);
  box-shadow: inset 0 0 0 1px #6b7a89;
}
.reading-surface .button.outline:hover { background: #e4ebf1; }
.reading-surface .text-link { color: var(--reading-ink); font-size: 15px; }
.reading-surface .text-link:hover { color: var(--reading-action-hover); }
.reading-surface .field label { font-size: 15px; line-height: 1.5; }
.reading-surface .field :is(input,textarea,select), .reading-surface .search input {
  background: var(--reading-surface);
  color: var(--reading-ink);
  border-color: var(--reading-control);
  border-radius: 6px;
  font-size: 16px;
  min-height: 52px;
}
.reading-surface :is(input,textarea)::placeholder { color: var(--reading-muted); opacity: 1; }
.reading-surface .field input[type=file]::file-selector-button {
  background: var(--reading-tint);
  color: var(--reading-ink);
}
.reading-surface .article-table {
  background: var(--reading-surface);
  color: var(--reading-body);
  border: 1px solid var(--reading-line);
  font-size: 16px;
  line-height: 1.65;
  font-variant-numeric: tabular-nums;
}
.reading-surface .article-table :is(th,td) { padding: 18px 22px; border-color: var(--reading-line); }
.reading-surface .article-table th { background: var(--reading-tint); color: var(--reading-ink); font-weight: 650; }
.reading-surface .article-table caption { color: var(--reading-muted); font-size: 14px; }
.reading-surface .article-table-wrap { scrollbar-color: var(--reading-control) var(--reading-tint); }
.reading-surface .light-section {
  background: var(--reading-tint);
  color: var(--reading-ink);
  border-radius: 0;
}

/* Home: the approved full-screen photograph remains the dark opening. */
.home-reading :is(.studio-section-head>p,.studio-detail-notes p,.continuation-heading>p,
  .continuation-family-info>p,.continuation-making-notes p,.application-copy>p,
  .continuation-resource-copy>p,.air-series-documents>p,.continuation-contact-intro>p) {
  color: var(--reading-body);
  font-size: 16px;
  line-height: 1.75;
}
.home-reading :is(.studio-detail-notes span,.continuation-family-caption p,
  .air-specialty .air-specialty-task,.continuation-project-brief dt) { color: var(--reading-ink); }
.home-reading :is(.studio-detail-toolbar>p,.continuation-family-caption>span,
  .continuation-workshop>figcaption,.continuation-film-player figcaption,.application-footer>p,
  .continuation-project-brief dd,.continuation-contact-note,.continuation-range-note,
  .continuation-resource-copy .continuation-file-note) { color: var(--reading-muted); font-size: 14px; }
.home-reading .studio-detail-notes span { font-size: 17px; font-weight: 600; }
.home-reading :is(.studio-detail-notes,.continuation-family-buttons button,
  .continuation-family-link,.continuation-making .continuation-heading,.continuation-film-heading,
  .home-applications .continuation-heading,.application-card,.continuation-project-brief,
  .continuation-making-notes>div,.continuation-resource-links .text-link,.air-series-documents>.text-link) {
  border-color: var(--reading-line);
}
.home-reading .studio-detail-toggle button {
  color: var(--reading-muted);
  font-size: 14px;
  border-radius: 6px;
}
.home-reading .studio-detail-toggle button[aria-pressed="true"] { background: var(--reading-ink); color: #fff; }
.home-reading .studio-detail-toggle button:not([aria-pressed="true"]):hover { background: #e4ebf1; color: var(--reading-ink); }
.home-reading .continuation-family-buttons button { color: var(--reading-muted); }
.home-reading .continuation-family-buttons button[aria-pressed="true"] {
  color: var(--reading-action);
  font-weight: 650;
}
.home-reading .continuation-family-buttons button:hover { color: var(--reading-action-hover); }
.home-reading .continuation-family-caption p { font-size: 15px; }
.home-reading .air-specialty p { color: var(--reading-muted); font-size: 14px; }
.home-reading .air-specialty .air-specialty-task { font-size: 15px; font-weight: 600; }
.home-reading :is(.application-card-link:hover h3,.application-footer a:hover) { color: var(--reading-action-hover); }
.home-reading .home-applications a:focus-visible { outline-color: var(--reading-action); }
.home-reading .continuation-resources { background: var(--reading-tint); color: var(--reading-ink); border-radius: 0; }
.home-reading .continuation-project-brief dt { font-size: 14px; font-weight: 600; }
.home-reading .continuation-contact { padding-bottom: 80px; }
.home-reading .continuation-film-player video:focus-visible { outline-color: var(--reading-action); }
.home-reading .continuation-film-player video { color: #f1f1ed; }

/* A quiet light footer continues the reading surface on every route. */
body .site-footer.content {
  --paper: var(--reading-ink);
  --footer-muted: var(--reading-muted);
  --footer-line: var(--reading-line);
  background: var(--reading-tint);
  color: var(--reading-ink);
  color-scheme: light;
  width: 100%;
  margin: 0;
  padding-inline: max(40px, calc((100% - 1000px) / 2));
}
.site-footer :is(a,button):focus-visible { outline: 3px solid var(--reading-action); outline-offset: 4px; }
.site-footer :is(a,button):hover { color: var(--reading-action-hover); }
.site-footer :is(.footer-company-summary,nav a,address) { font-size: 14px; }
.site-footer .footer-privacy :is(a,button),.site-footer .footer-bottom small { font-size: 13px; }
.xmc-contact {
  --xc-ink: var(--reading-ink);
  --xc-paper: var(--reading-bg);
  --xc-line: var(--reading-line);
  --xc-muted: var(--reading-muted);
  --xc-red: var(--reading-action);
}
.not-found-reading { padding-block: 64px 96px; min-height: 320px; }
.not-found-reading p { margin-bottom: 28px; font-size: 18px; }
@media (max-width: 800px) {
  body .site-footer.content { padding-inline: 24px; }
}
@media (max-width: 600px) {
  .home-reading .continuation-contact { padding-bottom: 56px; }
  .home-reading .studio-detail-toolbar { gap: 14px; }
  .home-reading .studio-detail-toggle { flex-wrap: wrap; }
  .home-reading .continuation-family-buttons button:nth-child(2) { border-top-color: var(--reading-line); }
  .reading-surface .article-table :is(th,td) { padding: 16px; }
  body .site-footer.content { padding-inline: 20px; }
}
