/* =============================================================================
   AGI&M Base Styles — platform reset
   Import after tokens.css
   ============================================================================= */

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

html, body { overflow-x: hidden; max-width: 100%; }
* { max-width: 100%; }

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  margin: 0; padding: 0;
  background: var(--tint);
  color: var(--body);
  font-family: var(--font);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: 1.65;
}

h1,h2,h3,h4,h5,h6 {
  margin: 0;
  font-family: var(--font);
  color: var(--navy);
  line-height: 1.1;
}

p { margin: 0; }

a {
  color: var(--ocean);
  text-decoration: none;
  transition: color var(--t);
}
a:hover { color: var(--navy); }

:focus                { outline: none; }
:focus-visible        { outline: 2px solid var(--ocean); outline-offset: 2px; }

img, svg              { display: block; max-width: 100%; height: auto; }
input,button,textarea,select { font: inherit; color: inherit; }
button                { cursor: pointer; border: none; background: none; padding: 0; font-family: var(--font); }
ul, ol                { margin: 0; padding: 0; list-style: none; }
table                 { width: 100%; border-collapse: collapse; }
.table-wrap           { width: 100%; overflow-x: auto; }

p,li,td,th,label      { overflow-wrap: break-word; word-break: break-word; }
code,pre              { font-family: var(--font-mono); overflow-wrap: break-word; word-break: break-all; }

/* Accessibility */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; top: -100%; left: var(--sp-m);
  background: var(--navy); color: #fff;
  padding: var(--sp-s) var(--sp-l);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: .06em;
  z-index: 9999; transition: top var(--t);
}
.skip-link:focus { top: var(--sp-m); }
