
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
ol, ul { list-style: none; }
html { font-size: 16px; overflow-x: hidden; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Open Sans', 'Segoe UI', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  color: var(--text-primary);
  background: var(--surface-base);
}
h1, h2, h3, h4, h5, h6 { font-family: 'Roboto Slab', Georgia, serif; font-weight: 700; line-height: 1.2; color: var(--text-strong); }
h1 { font-size: 48px; line-height: 1.12; letter-spacing: -0.4px; }
h2 { font-size: 34px; letter-spacing: -0.3px; }
h3 { font-size: 22px; }
h4 { font-size: 17px; font-weight: 600; }
p { font-size: 16px; line-height: 1.7; margin-bottom: 12px; }
a { color: var(--action-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
strong { font-weight: 600; color: var(--text-strong); }
section { padding: 32px 16px; }
img { display: block; max-width: 100%; height: auto; }
svg { display: block; }
button { cursor: pointer; border: none; background: none; font: inherit; color: inherit; }
input, select, textarea { font: inherit; color: inherit; }
table { border-collapse: collapse; width: 100%; font-size: 15px; }
th { text-align: left; font-weight: 600; padding: 10px 12px; border-bottom: 2px solid var(--border-strong); }
td { padding: 10px 12px; border-bottom: 1px solid var(--border-subtle); vertical-align: top; }
:focus-visible { outline: 3px solid var(--signal-warm); outline-offset: 2px; }
