/**
 * Shared Anatomic Iron design tokens.
 * Values extracted from the existing theme; no palette or font changes.
 * Keep page-specific aliases and deliberate variants in their own modules.
 * Usage and components: docs/design-system.md.
 */
/* Keep content and fixed headers at the same width while overlays lock scroll. */
html {
  scrollbar-gutter: stable;
}

@supports (scrollbar-gutter: stable) {
  /* Bootstrap/Fancybox padding would compensate for the reserved gutter twice. */
  body.modal-open,
  body.compensate-for-scrollbar {
    padding-right: 0 !important;
  }

  .modal {
    padding-inline: 0 !important;
  }
}

@font-face {
  font-family: "Clash Display";
  src: url("../fonts/ClashDisplayMedium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Clash Display";
  src: url("../fonts/ClashDisplaySemibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Clash Display";
  src: url("../fonts/ClashDisplayBold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* Compatibility for older page modules using the original family name. */
@font-face {
  font-family: "ClashDisplaySemibold";
  src: url("../fonts/ClashDisplaySemibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
:root {
  --ai-color-white: #fff;
  --ai-color-ink: #111936;
  --ai-color-navy: #101a3b;
  --ai-color-panel: #111431;
  --ai-color-text: #172033;
  --ai-color-muted: #667085;
  --ai-color-copy: #5e687e;
  --ai-color-secondary-on-light: #5e687e;
  --ai-color-secondary-on-dark: #cbd0e3;
  --ai-color-surface: #f3f5f9;
  --ai-color-service-surface: #f4f6f9;
  --ai-color-border: #d8deea;
  --ai-color-service-border: #dce2eb;
  --ai-color-accent: #28317e;
  --ai-color-accent-ui: #3348bd;
  --ai-color-accent-inverse: #aab4ff;
  --ai-color-accent-inverse-ui: #9eabff;
  --ai-color-accent-inverse-soft: #cbd0ff;
  --ai-color-highlight: #aebaff;
  --ai-font-display: "Clash Display", "Montserrat", sans-serif;
  --ai-font-display-home: "Clash Display", "Montserrat", sans-serif;
  --ai-font-body: "Poppins", sans-serif;
  --ai-font-label: "Montserrat", sans-serif;
  --ai-layout-content-width: 1440px;
  --ai-layout-content-gutter: clamp(20px,4.2vw,64px);
  --ai-type-label-tracking: .09em;
  --ai-type-copy-leading: 1.75;
  --ai-type-body-size: 1.125rem;
  --ai-type-label-size: .875rem;
  --ai-type-feedback-size: 1rem;
  --ai-type-small-size: 1rem;
  --ai-type-control-size: 1rem;
  --ai-type-reading-measure: 65ch;
  --ai-type-page-size: clamp(2.375rem, 5.7vw, 4.875rem);
  --ai-type-section-size: clamp(2rem, 4vw, 3.625rem);
  --ai-type-feature-size: clamp(1.75rem, 3vw, 2.5rem);
  --ai-type-card-size: clamp(1.375rem, 2vw, 1.875rem);
  --ai-type-compact-size: 1.125rem;
  --ai-type-display-size: clamp(2.75rem, 6.7vw, 6rem);
  --ai-type-heading-weight: 500;
  --ai-type-card-weight: 600;
  --ai-type-page-leading: 1.06;
  --ai-type-section-leading: 1.1;
  --ai-type-feature-leading: 1.15;
  --ai-type-card-leading: 1.2;
  --ai-type-body-leading: 1.7;
  --ai-type-heading-tracking: -.03em;
  --ai-type-card-tracking: -.02em;
  --ai-type-section-gap: 1.5rem;
  --ai-type-card-gap: 1rem;
  --ai-type-paragraph-gap: 1.25rem;
  --ai-motion-ease-out: cubic-bezier(.2,.7,.2,1);
}
