/* Reset + base (T02) */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: var(--header-h); }
body {
  font-family: var(--font-body);
  font-weight: var(--fw-regular);
  font-size: var(--para-md-size);
  line-height: var(--para-md-lh);
  letter-spacing: var(--para-md-ls);
  color: var(--text-medium);
  background: var(--base-high);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; letter-spacing: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
a { color: inherit; text-decoration: none; }
ul[role="list"], ol[role="list"] { list-style: none; padding: 0; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: var(--fw-heading); color: var(--text-strong); }
h1, .h1 { font-size: var(--h1-size); line-height: var(--h1-lh); letter-spacing: var(--h1-ls); }
h2, .h2 { font-size: var(--h2-size); line-height: var(--h2-lh); letter-spacing: var(--h2-ls); }
h3, .h3 { font-size: var(--h3-size); line-height: var(--h3-lh); letter-spacing: var(--h3-ls); }
h4, .h4 { font-size: var(--h4-size); line-height: var(--h4-lh); letter-spacing: var(--h4-ls); }
h5, .h5 { font-size: var(--h5-size); line-height: var(--h5-lh); letter-spacing: var(--h5-ls); }
h6, .h6 { font-size: var(--h6-size); line-height: var(--h6-lh); letter-spacing: var(--h6-ls); }
.body-lg { font-weight: var(--fw-medium); font-size: var(--body-lg-size); line-height: var(--body-lg-lh); letter-spacing: var(--body-lg-ls); }
.body-md { font-weight: var(--fw-medium); font-size: var(--body-md-size); line-height: var(--body-md-lh); letter-spacing: var(--body-md-ls); }
.body-sm { font-weight: var(--fw-medium); font-size: var(--body-sm-size); line-height: var(--body-sm-lh); letter-spacing: var(--body-sm-ls); }
.para-lg { font-size: var(--para-lg-size); line-height: var(--para-lg-lh); letter-spacing: var(--para-lg-ls); }
.para-md { font-size: var(--para-md-size); line-height: var(--para-md-lh); letter-spacing: var(--para-md-ls); }
.para-sm { font-size: var(--para-sm-size); line-height: var(--para-sm-lh); letter-spacing: var(--para-sm-ls); }
:focus-visible { outline: 2px solid var(--orange-500); outline-offset: 3px; }

.container { width: 100%; max-width: calc(var(--container) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }
.container--wide { max-width: calc(1232px + var(--gutter) * 2); }
.section { padding-block: var(--section-y); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: var(--space-4); top: -100px; z-index: 100; padding: var(--space-2) var(--space-4); border-radius: var(--radius-pill); background: var(--btn-dark); color: var(--text-negative); }
.skip-link:focus { top: var(--space-4); }
