/* ANDECO base: light reset + document defaults.
   Applies brand body font, text color, and page surface. */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

/* Print / PDF export: keep brand surfaces.
   Browsers (Safari especially) DROP background colors and images when
   printing or exporting to PDF unless color adjustment is forced to
   "exact". Without this, dark brand surfaces vanish and white-on-dark
   text (covers, section dividers, statement slides) prints invisibly.
   Set on <html>; print-color-adjust inherits to every descendant. */
html {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

body {
  margin: 0;
  font-family: var(--body-font);
  font-weight: var(--body-weight);
  font-size: var(--text-base);
  line-height: var(--body-leading);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5 {
  font-family: var(--heading-font);
  font-weight: var(--heading-weight);
  line-height: var(--heading-leading);
  color: var(--text-strong);
  margin: 0;
  text-wrap: balance;
}

p { margin: 0; text-wrap: pretty; }

a { color: var(--text-link); text-decoration: none; }
a:hover { text-decoration: underline; }

button { font-family: inherit; }

::selection { background: var(--electric-blue); color: var(--midnight); }

:focus-visible {
  /* A transparent real outline keeps a focus indicator in Windows High Contrast,
     where box-shadow is stripped. No border-radius here: it used to outrank the
     component classes and reshaped pills and cards on Tab. */
  outline: 3px solid transparent;
  outline-offset: 2px;
  box-shadow: var(--shadow-focus);
}
@media (forced-colors: active) {
  :focus-visible { outline-color: Highlight; }
}
