/*
 * CyberExchange research and disclosure theme.
 *
 * Declares only the values that differ from the site.css contract, plus the
 * tokens that are structural to this theme alone. The presentation is more
 * restrained than the corporate theme: a narrow reading measure, classic link
 * colours, and no card or shadow vocabulary. Reusable research rules are
 * scoped through the stable theme-cyberexchange body class.
 */
:root {
  /* Value overrides on the shared contract. */
  --color-ink: #000000;
  --color-muted: #404040;
  --color-line: #808080;
  --content-width: 40rem;
  --text-measure: 38rem;
  --page-gutter: 1rem;
  --size-brand: clamp(2.25rem, 7vw, 2.75rem);
  --size-heading: clamp(1.625rem, 5vw, 1.9rem);
  --line-body: 1.55;

  /* Disclosure-only colour roles. */
  --color-link: #0000aa;
  --color-link-visited: #551a8b;
  --color-error: #990000;
  --color-placeholder: #666666;
  --color-highlight-dark: #e9e6d8;
  --color-highlight-light: #f1efe7;

  /* Disclosure-only type roles. */
  --size-legend: 1rem;
}

.theme-cyberexchange { line-height: var(--line-body); }

.theme-cyberexchange a { color: var(--color-link); }
.theme-cyberexchange a:visited { color: var(--color-link-visited); }

.theme-cyberexchange a:focus-visible,
.theme-cyberexchange input:focus-visible,
.theme-cyberexchange textarea:focus-visible,
.theme-cyberexchange button:focus-visible {
  outline-color: var(--color-ink);
  outline-offset: 2px;
}

.theme-cyberexchange .skip-link,
.theme-cyberexchange .skip-link:visited {
  top: -4rem;
  padding: var(--space-1) var(--space-2);
  color: var(--color-paper);
}

.theme-cyberexchange .skip-link:focus { top: var(--space-2); }

.research-shell {
  width: var(--content-width);
  max-width: calc(100% - var(--page-gutter) - var(--page-gutter));
  margin: var(--space-4) auto var(--space-7);
}

.site-header--research { padding: var(--space-1) 0 var(--space-4); }

.theme-cyberexchange .site-name,
.theme-cyberexchange .site-name:visited {
  display: inline-block;
  color: var(--color-ink);
  font-family: var(--font-sans);
  font-size: var(--size-brand);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1;
  text-decoration: none;
}

.site-tagline {
  margin: var(--space-2) 0 0;
  color: var(--color-muted);
  font-family: var(--font-ui);
  font-size: var(--size-label);
  line-height: var(--line-snug);
  text-wrap: balance;
}

.site-tagline a,
.site-tagline a:visited {
  color: var(--color-ink);
  text-decoration-thickness: var(--border-width);
  text-underline-offset: 0.12em;
}

.theme-cyberexchange hr {
  height: var(--border-width);
  margin: 0;
  border: 0;
  background: var(--color-line);
}

.research-main { padding: var(--space-7) 0; }

.research-main h1 {
  margin: 0 0 var(--space-4);
  font-family: var(--font-sans);
  font-size: var(--size-heading);
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: var(--line-heading);
}

.research-main p { margin: 0 0 var(--space-4); }

.lede {
  max-width: var(--text-measure);
  font-size: var(--size-lede);
}

.site-footer--research {
  padding-top: var(--space-4);
  font-size: var(--size-small);
}

.site-footer--research p { margin: 0 0 var(--space-4); }

@media (max-width: 42rem) {
  .research-shell {
    width: auto;
    max-width: calc(100% - var(--page-gutter) - var(--page-gutter));
    margin: var(--space-3) auto var(--space-6);
  }

  .site-header--research { padding-bottom: var(--space-3); }
  .research-main { padding: var(--space-6) 0; }
}
