/* Load after tokens.css. Opt in with class="ml-system" on the page body. */
.ml-system { margin:0; background:var(--ml-surface); color:var(--ml-text); font-family:var(--ml-font-body); font-size:var(--ml-type-body-size); line-height:var(--ml-type-body-line); -webkit-font-smoothing:antialiased; }
.ml-system *, .ml-system *::before, .ml-system *::after { box-sizing:border-box; }
.ml-system :where(h1,h2,h3,p,blockquote,figure) { margin:0; }
.ml-system :where(h1,h2,h3) { font-weight:var(--ml-weight-regular); }
.ml-system :where(a) { color:inherit; text-decoration:none; }
.ml-system :where(button) { font:inherit; color:inherit; padding:0; border:0; background:none; cursor:pointer; }
.ml-system :where(img) { display:block; max-width:100%; }
.ml-system :where(a,button,summary) { -webkit-tap-highlight-color:transparent; }
.ml-system :where(a,button,summary,[tabindex]):focus-visible { outline:var(--ml-stroke-focus) solid var(--ml-focus); outline-offset:var(--ml-focus-offset); }
.ml-system [hidden] { display:none!important; }
.ml-theme-light, .ml-theme-warm, .ml-theme-dark { background:var(--ml-surface); color:var(--ml-text); }
.ml-shell { padding-inline:var(--ml-layout-gutter); }
.ml-wide-shell { padding-inline:var(--ml-layout-gutter-wide); }
.ml-inset { margin-inline:var(--ml-layout-inset-aligned); }
.ml-inset-reference { margin-inline:var(--ml-layout-inset-reference); }
.ml-section { padding-block:var(--ml-section-space); }
.ml-section-opening { padding-block:var(--ml-section-space-opening); }
.ml-section-compact { padding-block:var(--ml-section-space-compact); }
.ml-section-header { display:flex; align-items:center; justify-content:space-between; gap:var(--ml-space-40); margin-bottom:var(--ml-section-heading-gap); }
.ml-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ml-layout-grid-gap); }
.ml-editorial { display:grid; grid-template-columns:var(--ml-layout-editorial-columns); gap:var(--ml-layout-editorial-gap); align-items:center; }
.ml-grid>*,.ml-editorial>* { min-width:0; }
.ml-prose { max-width:var(--ml-layout-body-measure); overflow-wrap:anywhere; }
.ml-prose>p+p { margin-top:var(--ml-space-24); }
.ml-prose a { text-decoration:underline; text-underline-offset:.2em; }
.ml-secondary { color:var(--ml-text-secondary); }
.ml-muted-display { opacity:var(--ml-opacity-muted); }
.ml-eyebrow { font:var(--ml-type-eyebrow-weight) var(--ml-type-eyebrow-size)/var(--ml-type-eyebrow-line) var(--ml-type-eyebrow-family); letter-spacing:var(--ml-type-eyebrow-tracking); text-transform:uppercase; color:var(--ml-label); }
.ml-heading-page,.ml-heading-section,.ml-heading-small,.ml-heading-statement,.ml-heading-sans,.ml-quote { font-family:var(--ml-type-family); font-size:var(--ml-type-size); font-weight:var(--ml-type-weight); line-height:var(--ml-type-line); letter-spacing:var(--ml-type-tracking); }
.ml-heading-page { --ml-type-family:var(--ml-type-page-family);--ml-type-size:var(--ml-type-page-size);--ml-type-weight:var(--ml-type-page-weight);--ml-type-line:var(--ml-type-page-line);--ml-type-tracking:var(--ml-type-page-tracking); }
.ml-heading-section { --ml-type-family:var(--ml-type-section-family);--ml-type-size:var(--ml-type-section-size);--ml-type-weight:var(--ml-type-section-weight);--ml-type-line:var(--ml-type-section-line);--ml-type-tracking:var(--ml-type-section-tracking); }
.ml-heading-small { --ml-type-family:var(--ml-type-section-small-family);--ml-type-size:var(--ml-type-section-small-size);--ml-type-weight:var(--ml-type-section-small-weight);--ml-type-line:var(--ml-type-section-small-line);--ml-type-tracking:var(--ml-type-section-small-tracking); }
.ml-heading-statement { --ml-type-family:var(--ml-type-statement-family);--ml-type-size:var(--ml-type-statement-size);--ml-type-weight:var(--ml-type-statement-weight);--ml-type-line:var(--ml-type-statement-line);--ml-type-tracking:var(--ml-type-statement-tracking); }
.ml-heading-sans { --ml-type-family:var(--ml-type-sans-heading-family);--ml-type-size:var(--ml-type-sans-heading-size);--ml-type-weight:var(--ml-type-sans-heading-weight);--ml-type-line:var(--ml-type-sans-heading-line);--ml-type-tracking:var(--ml-type-sans-heading-tracking); }
.ml-quote { --ml-type-family:var(--ml-type-quote-family);--ml-type-size:var(--ml-type-quote-size);--ml-type-weight:var(--ml-type-quote-weight);--ml-type-line:var(--ml-type-quote-line);--ml-type-tracking:var(--ml-type-quote-tracking); }
.ml-sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
@media(max-width:639px) {
 .ml-section-header { align-items:flex-start; flex-wrap:wrap; gap:var(--ml-space-20); }
 .ml-grid { grid-template-columns:1fr; } /* New-page stacked default; source homepage rails are separate patterns. */
}
@media(prefers-reduced-motion:reduce) {
 .ml-system { scroll-behavior:auto; }
 .ml-system *, .ml-system *::before, .ml-system *::after { animation:none!important; transition:none!important; }
}
