/*
 * Aiterich Website V2.1 — Silver Digital Precision visual layer
 * Task: T-WEBSITE-SILVER-DIGITAL-PRECISION-VISUAL-STAGING-V1
 * This file intentionally loads last. It is a reversible presentation layer and
 * must not change content, routing, forms, authentication, downloads or data.
 */

:root {
  color-scheme: light;
  --ait-color-canvas: #f6f8fb;
  --ait-color-surface: #ffffff;
  --ait-color-surface-muted: #eef2f7;
  --ait-color-surface-raised: #fbfcfe;
  --ait-color-ink: #172033;
  --ait-color-ink-secondary: #43516a;
  --ait-color-ink-muted: #647189;
  --ait-color-line: #d7dee9;
  --ait-color-line-strong: #b9c5d5;
  --ait-color-action: #3b6fd8;
  --ait-color-action-hover: #2f5fc4;
  --ait-color-action-active: #284fa7;
  --ait-color-action-soft: #eaf0fc;
  --ait-color-link: #315fae;
  --ait-color-digital: #7696d4;
  --ait-color-brand: #c92b32;
  --ait-color-brand-soft: #fbeaec;
  --ait-color-success: #18794e;
  --ait-color-success-soft: #e8f5ee;
  --ait-color-warning: #9a6700;
  --ait-color-warning-soft: #fff4d6;
  --ait-color-danger: #b4232c;
  --ait-color-danger-soft: #fdebed;
  --ait-color-info: #315fae;
  --ait-color-info-soft: #eaf0fc;
  --ait-font-sans: "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;
  --ait-radius-sm: 4px;
  --ait-radius-md: 8px;
  --ait-radius-lg: 12px;
  --ait-shadow-sm: 0 1px 2px rgba(23, 32, 51, .06);
  --ait-shadow-md: 0 10px 30px rgba(23, 32, 51, .08);
  --ait-shadow-lg: 0 22px 56px rgba(23, 32, 51, .12);
  --ait-focus-ring: 0 0 0 3px rgba(59, 111, 216, .28);
  --ait-content-max: 1200px;

  /* Compatibility mapping for legacy V2.1 declarations. */
  --ink: var(--ait-color-ink);
  --deep: #17243a;
  --muted: var(--ait-color-ink-muted);
  --orange: var(--ait-color-action);
  --paper: var(--ait-color-canvas);
  --white: var(--ait-color-surface);
  --line: var(--ait-color-line);
  --green: #29384f;
}

html { scroll-behavior: smooth; }
body.ait-v21 {
  background: var(--ait-color-canvas);
  color: var(--ait-color-ink);
  font-family: var(--ait-font-sans);
  font-weight: 400;
  text-rendering: optimizeLegibility;
}

body.ait-v21 :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--ait-color-action);
  outline-offset: 3px;
  box-shadow: var(--ait-focus-ring);
}
.skip-link { border-radius: var(--ait-radius-sm); color: var(--ait-color-link); }
body.ait-v21 .skip-link:focus-visible { outline-color: var(--ait-color-action) !important; }

/* v0.20.1 accessibility closeout: preserve the restrained text-button
 * appearance while guaranteeing the approved minimum touch target. */
.v21-gateway-nav > button.v21-open-form { min-height: 44px; }
.v21-footer-action.v21-open-form {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding-block: 10px;
}

/* Header and navigation */
.v21-header {
  min-height: 76px;
  height: 76px;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--ait-color-line);
  box-shadow: 0 4px 18px rgba(23, 32, 51, .045);
  backdrop-filter: blur(12px);
}
.v21-header nav { font-weight: 600; color: var(--ait-color-ink-secondary); }
.v21-header nav a { position: relative; padding: 27px 0 25px; }
.v21-header nav a:hover,
.v21-header nav a[aria-current="page"] { color: var(--ait-color-action); }
.v21-header nav a[aria-current="page"]::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: var(--ait-color-action);
}
.v21-brand b { color: var(--ait-color-brand); }
.v21-tools button,
.v21-menu {
  min-height: 44px;
  border: 1px solid var(--ait-color-action);
  border-radius: var(--ait-radius-sm);
  background: var(--ait-color-action);
  color: #fff;
}
.v21-tools button:hover,
.v21-menu:hover { background: var(--ait-color-action-hover); border-color: var(--ait-color-action-hover); }
.v21-site-search button,
.v21-nav-cta {
  min-height: 44px;
  border: 1px solid var(--ait-color-action) !important;
  border-radius: var(--ait-radius-sm) !important;
  background: var(--ait-color-action) !important;
  color: #fff !important;
  font-weight: 650 !important;
  white-space: nowrap;
}
.v21-site-search button { min-width: 72px; }
.v21-site-search button:hover,
.v21-nav-cta:hover { background: var(--ait-color-action-hover) !important; border-color: var(--ait-color-action-hover) !important; }
.v21-sub {
  border: 1px solid var(--ait-color-line);
  border-radius: var(--ait-radius-md);
  box-shadow: var(--ait-shadow-lg);
}
.v21-sub a:hover { background: var(--ait-color-action-soft); }

/* Keep every desktop dropdown label on one shared inset and compact row grid. */
@media (min-width: 1051px) {
  body.ait-v21 .v21-header nav .v21-sub {
    min-width: 224px;
    max-height: calc(100vh - 90px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 0;
  }
  body.ait-v21 .v21-header nav .v21-sub > a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 50px;
    padding: 10px 20px;
    line-height: 1.45;
    text-align: left;
  }
}

/* Typography and links */
.eyebrow { color: var(--ait-color-action); font-weight: 700; letter-spacing: .14em; }
.v21-heading h2,
.v21-intro h2,
.v21-copy h2,
.v21-contact h2 { color: var(--ait-color-ink); font-weight: 680; letter-spacing: -.025em; }
.v21-heading a,
.v21-card a,
.v21-text-btn,
.ait-v21 main a:not(.v21-btn) { color: var(--ait-color-link); }
.ait-v21 main a:not(.v21-btn):hover { color: var(--ait-color-action-hover); }

/* Buttons and controls */
.v21-btn,
.v21-submit,
.v21-service-content button,
.v21-service-content input[type="submit"] {
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: var(--ait-radius-sm) !important;
  font-weight: 650;
  letter-spacing: .01em;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.v21-btn.hot,
.v21-submit,
.v21-service-content button,
.v21-service-content input[type="submit"] {
  background: var(--ait-color-action) !important;
  border-color: var(--ait-color-action) !important;
  color: #fff !important;
}
.v21-btn.hot:hover,
.v21-submit:hover,
.v21-service-content button:hover,
.v21-service-content input[type="submit"]:hover {
  background: var(--ait-color-action-hover) !important;
  border-color: var(--ait-color-action-hover) !important;
  transform: translateY(-1px);
}
.v21-btn.hot:active,
.v21-submit:active { background: var(--ait-color-action-active) !important; transform: none; }
.v21-btn.dark {
  background: var(--ait-color-surface) !important;
  border-color: var(--ait-color-line-strong) !important;
  color: var(--ait-color-ink) !important;
}
.v21-btn.dark:hover { border-color: var(--ait-color-action) !important; color: var(--ait-color-action) !important; }
.v21-btn.ghost { border-color: rgba(255,255,255,.72); color: #fff; }
.v21-btn.ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.v21-btn:disabled,
.v21-submit:disabled { opacity: .5; cursor: not-allowed; transform: none; }

/* Forms */
.v21-modal { background: rgba(23, 32, 51, .66); backdrop-filter: blur(5px); }
.v21-modal-card {
  border: 1px solid var(--ait-color-line);
  border-radius: var(--ait-radius-lg);
  box-shadow: var(--ait-shadow-lg);
}
.v21-modal input:not([type="checkbox"]),
.v21-modal textarea,
.v21-service-content input,
.v21-service-content select,
.v21-service-content textarea,
.v21-search input {
  min-height: 44px;
  border: 1px solid var(--ait-color-line-strong);
  border-radius: var(--ait-radius-sm);
  background: var(--ait-color-surface);
  color: var(--ait-color-ink);
}
.v21-modal input:hover,
.v21-modal textarea:hover,
.v21-service-content input:hover,
.v21-service-content select:hover,
.v21-service-content textarea:hover { border-color: #91a3bb; }
.v21-modal input:focus,
.v21-modal textarea:focus,
.v21-service-content input:focus,
.v21-service-content select:focus,
.v21-service-content textarea:focus { border-color: var(--ait-color-action); outline: 0; box-shadow: var(--ait-focus-ring); }
.v21-form-context { color: var(--ait-color-action); }
.v21-form-status.ok { color: var(--ait-color-success); }
.v21-form-status.error { color: var(--ait-color-danger); }

/* Home: precision hardware first, digital capability connected behind it. */
.v21-hero {
  min-height: calc(100vh - 76px);
  background: #e9eef5;
  color: var(--ait-color-ink);
}
.v21-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse 54% 72% at 18% 50%, rgba(246,248,251,.94) 0%, rgba(246,248,251,.82) 42%, rgba(246,248,251,.46) 66%, rgba(246,248,251,.14) 82%, rgba(246,248,251,0) 100%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(23,32,51,.03));
}
.v21-hero .v21-hero-media {
  z-index: -2;
  opacity: 1;
  filter: saturate(1.02) contrast(1.08) brightness(1);
}
.v21-hero > div { max-width: 760px; }
.v21-hero h1 { color: var(--ait-color-ink) !important; font-weight: 690; letter-spacing: -.045em; }
.v21-hero h1 em { color: var(--ait-color-action) !important; }
.v21-hero .eyebrow { color: var(--ait-color-action) !important; }
.v21-hero > div > p:not(.eyebrow) { color: var(--ait-color-ink-secondary); font-weight: 450; }
.v21-hero .v21-btn:not(.hot):not(.ghost) { background: var(--ait-color-surface); border-color: var(--ait-color-line-strong); color: var(--ait-color-ink); }
.v21-hero .v21-btn.ghost { border-color: var(--ait-color-action); color: var(--ait-color-action); }
.v21-hero .v21-btn.ghost:hover { background: var(--ait-color-action-soft); }

/* Page and product heroes */
.v21-pagehero {
  background: linear-gradient(120deg, #f7f9fc 0%, #e8edf4 58%, #dde5ef 100%);
  color: var(--ait-color-ink);
  border-bottom: 1px solid var(--ait-color-line);
}
.v21-pagehero::after {
  content: ""; position: absolute; right: -8%; top: -45%; width: 46%; aspect-ratio: 1;
  border: 1px solid rgba(59,111,216,.18); border-radius: 50%; box-shadow: 0 0 0 54px rgba(59,111,216,.035);
}
.v21-pagehero > * { position: relative; z-index: 1; }
.v21-pagehero h1 { color: var(--ait-color-ink) !important; font-weight: 680; }
.v21-pagehero > p:last-child,
.v21-pagehero > div > p:last-child { color: var(--ait-color-ink-secondary); }
.v21-pagehero.photo { color: #fff; }
.v21-pagehero.photo::after { display: none; }
.v21-pagehero.photo h1 { color: #fff !important; }
.v21-pagehero.photo > div > p:last-child { color: #e8edf5; }
.v21-pagehero.photo > img { filter: saturate(.72) brightness(.48); }
.v21-producthero {
  background:
    radial-gradient(circle at 78% 46%, rgba(59,111,216,.18), transparent 26%),
    linear-gradient(125deg, #f8fafc 0%, #edf2f7 52%, #dce7f3 100%);
  color: var(--ait-color-ink);
  border-bottom: 1px solid var(--ait-color-line);
}
.v21-producthero h1 { color: var(--ait-color-ink) !important; font-weight: 680; }
.v21-producthero .eyebrow { color: var(--ait-color-action) !important; }
.v21-producthero > div > p:not(.eyebrow) { color: var(--ait-color-ink-secondary); }
.v21-producthero li {
  border-color: var(--ait-color-line-strong) !important;
  background: rgba(255,255,255,.72) !important;
  color: var(--ait-color-ink-secondary) !important;
}
.v21-producthero .v21-btn.ghost {
  background: rgba(255,255,255,.8);
  border-color: var(--ait-color-line-strong);
  color: var(--ait-color-ink);
}

/* Cards, lists, tables and shared sections */
.v21-section,
.v21-intro { background: var(--ait-color-canvas); }
.v21-card,
.v21-mini,
.v21-copy li,
.v21-news-card,
.v21-cloud-capabilities article,
.v21-cloud-deploy article,
.v21-private-intro aside,
.v21-product-evidence-grid article {
  border: 1px solid var(--ait-color-line);
  border-radius: var(--ait-radius-md);
  background: var(--ait-color-surface);
  box-shadow: var(--ait-shadow-sm);
}
.v21-card { transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.v21-card:hover { border-color: #b7c7df; box-shadow: var(--ait-shadow-md); transform: translateY(-2px); }
.v21-card > img { background: var(--ait-color-surface-muted); }
.v21-card small,
.model,
.v21-mini b { color: var(--ait-color-action); }
.v21-mini { border-top: 3px solid var(--ait-color-action); }
.v21-notice { border-left-color: var(--ait-color-action); border-radius: var(--ait-radius-sm); box-shadow: var(--ait-shadow-sm); }
.v21-empty { background: var(--ait-color-surface-muted); border-color: var(--ait-color-line-strong); }
.v21-private-compare { border-radius: var(--ait-radius-md); border-color: var(--ait-color-line); background: var(--ait-color-surface); }

/* Digital/cloud template */
.v21-cloud-hero {
  background:
    radial-gradient(circle at 78% 24%, rgba(59,111,216,.16), transparent 30%),
    linear-gradient(125deg, #f8fafc 0%, #edf2f7 54%, #dce8f5 100%);
  color: var(--ait-color-ink);
  border-bottom: 1px solid var(--ait-color-line);
}
.v21-cloud-hero .eyebrow,
.v21-cloud-route b { color: var(--ait-color-action) !important; }
.v21-cloud-hero h1 { color: var(--ait-color-ink) !important; }
.v21-cloud-hero h1 em { color: var(--ait-color-action) !important; }
.v21-cloud-hero > div > p:not(.eyebrow) { color: var(--ait-color-ink-secondary) !important; }
.v21-cloud-hero .v21-btn.ghost {
  border-color: var(--ait-color-line-strong) !important;
  background: rgba(255,255,255,.82) !important;
  color: var(--ait-color-ink) !important;
}
.v21-cloud-route span { color: var(--ait-color-ink-secondary) !important; }
.v21-cloud-route > div {
  border: 1px solid var(--ait-color-line);
  border-radius: var(--ait-radius-md);
  background: rgba(255,255,255,.84);
  box-shadow: var(--ait-shadow-sm);
  color: var(--ait-color-ink-secondary);
}
.v21-cloud-capabilities,
.v21-cloud-architecture,
.v21-cloud-deploy,
.v21-private,
.v21-cloud-resources { background: var(--ait-color-canvas); }
.v21-private-tags span { background: var(--ait-color-action-soft); color: var(--ait-color-link); border-color: #c9d6ee; }

/* Keep dark sections deliberate, never a long or green visual field. */
.v21-zoom-cta {
  background:
    radial-gradient(circle at 80% 25%, rgba(59,111,216,.12), transparent 30%),
    var(--ait-color-surface-muted) !important;
  color: var(--ait-color-ink) !important;
  border-top: 1px solid var(--ait-color-line);
}
.v21-zoom-cta :is(h2,p) { color: inherit !important; }
.v21-cloud-faq {
  background: var(--ait-color-surface-muted) !important;
  color: var(--ait-color-ink) !important;
}
.v21-cloud-faq :is(h2,h3,p,button,a) { color: inherit; }
.v21-cloud-faq article,
.v21-cloud-faq details {
  border-color: var(--ait-color-line) !important;
  background: var(--ait-color-surface) !important;
}

/* Dark areas are graphite blue-gray, never large green fields. */
.v21-dark,
.v21-footer,
.v21-links-grid a,
.v21-timeline article {
  background: #17243a;
}
.v21-links-grid { background: #32445f; }
.v21-links-grid a:hover { background: #20314b; }
.v21-footer { color: #bfc9d8; border-top: 3px solid var(--ait-color-action); }
.v21-footer small { border-top-color: #3d4b61; }

/* Status and authentication-adjacent states */
.v21-auth-page,
.v21-auth-main,
.v21-auth-content {
  background: var(--ait-color-canvas) !important;
  color: var(--ait-color-ink);
}
.aiterich-auth-shell {
  overflow: hidden;
  border: 1px solid var(--ait-color-line) !important;
  border-radius: var(--ait-radius-lg) !important;
  background: var(--ait-color-surface) !important;
  box-shadow: var(--ait-shadow-md) !important;
}
.aiterich-auth-shell-hero {
  background:
    radial-gradient(circle at 88% 14%, rgba(118,150,212,.22), transparent 32%),
    linear-gradient(135deg, #f8fafc 0%, #e9eef5 100%) !important;
  color: var(--ait-color-ink) !important;
  border-bottom: 1px solid var(--ait-color-line);
}
.aiterich-auth-shell-kicker { color: var(--ait-color-action) !important; font-weight: 700; }
.aiterich-auth-shell-title { color: var(--ait-color-ink) !important; font-weight: 680 !important; }
.aiterich-auth-shell-desc { color: var(--ait-color-ink-secondary) !important; }
.aiterich-auth-pill {
  min-height: 44px;
  border-radius: var(--ait-radius-sm) !important;
  font-weight: 650 !important;
}
.aiterich-auth-pill--light {
  background: var(--ait-color-action) !important;
  border-color: var(--ait-color-action) !important;
  color: #fff !important;
}
.aiterich-auth-pill--light:hover { background: var(--ait-color-action-hover) !important; }
.aiterich-auth-pill--outline {
  background: var(--ait-color-surface) !important;
  border-color: var(--ait-color-line-strong) !important;
  color: var(--ait-color-ink) !important;
}
.aiterich-auth-pill--outline:hover { border-color: var(--ait-color-action) !important; color: var(--ait-color-action) !important; }
body.ait-v21 #aiterich-auth-unified .aiterich-auth-shell .aiterich-auth-shell-actions .aiterich-auth-pill {
  background: var(--ait-color-action) !important;
  border-color: var(--ait-color-action) !important;
  color: #fff !important;
}
body.ait-v21 #aiterich-auth-unified .aiterich-auth-shell .aiterich-auth-shell-actions .aiterich-auth-pill:hover {
  background: var(--ait-color-action-hover) !important;
  border-color: var(--ait-color-action-hover) !important;
}
body.ait-v21 #aiterich-auth-unified .aiterich-auth-shell .aiterich-auth-shell-actions :is(.aiterich-auth-pill--light, .aiterich-auth-pill--outline) {
  background: var(--ait-color-surface) !important;
  border-color: var(--ait-color-line-strong) !important;
  color: var(--ait-color-ink) !important;
}
body.ait-v21 #aiterich-auth-unified .aiterich-auth-shell .aiterich-auth-shell-actions :is(.aiterich-auth-pill--light, .aiterich-auth-pill--outline):hover {
  background: var(--ait-color-action-soft) !important;
  border-color: var(--ait-color-action) !important;
  color: var(--ait-color-action) !important;
}
.v21-auth-footer { background: var(--ait-color-surface); border-top: 1px solid var(--ait-color-line); color: var(--ait-color-ink-muted); }

/* Authenticated customer-center state (rendered by the auth integration). */
body.v21-auth-page .v21-auth-content:has(.aiterich-auth-logged-in) {
  min-height: calc(100svh - 150px) !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(48px, 8vh, 92px) 24px !important;
}
body.v21-auth-page .aiterich-auth-logged-in {
  width: min(680px, calc(100vw - 40px)) !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-shell-card {
  display: block !important;
  padding: clamp(38px, 5vw, 56px) !important;
  border: 1px solid var(--ait-color-line) !important;
  border-top: 4px solid var(--ait-color-action) !important;
  border-radius: var(--ait-radius-lg) !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(59,111,216,.12), transparent 28%),
    var(--ait-color-surface) !important;
  box-shadow: 0 24px 64px rgba(23,36,58,.12) !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-resume-panel {
  display: block !important;
  padding: clamp(38px, 5vw, 56px) !important;
  border: 1px solid var(--ait-color-line) !important;
  border-top: 4px solid var(--ait-color-action) !important;
  border-radius: var(--ait-radius-lg) !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(59,111,216,.12), transparent 28%),
    var(--ait-color-surface) !important;
  box-shadow: 0 24px 64px rgba(23,36,58,.12) !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-shell-kicker {
  margin: 0 0 12px !important;
  color: var(--ait-color-action) !important;
  font-size: 13px !important;
  letter-spacing: .12em !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-shell-card h2 {
  display: block !important;
  margin: 0 0 16px !important;
  color: var(--ait-color-ink) !important;
  font-size: clamp(32px, 4vw, 42px) !important;
  line-height: 1.2 !important;
  font-weight: 680 !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-shell-title {
  display: block !important;
  margin: 0 0 16px !important;
  color: var(--ait-color-ink) !important;
  font-size: clamp(32px, 4vw, 42px) !important;
  line-height: 1.2 !important;
  font-weight: 680 !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-shell-card > p {
  color: var(--ait-color-ink-secondary) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-shell-desc {
  margin: 0 !important;
  max-width: 520px;
  color: var(--ait-color-ink-secondary) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-shell-card > p:last-child {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 28px 0 0 !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-resume-actions {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 28px 0 0 !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-btn {
  display: inline-flex !important;
  width: auto !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ait-color-action) !important;
  border-radius: var(--ait-radius-sm) !important;
  background: var(--ait-color-action) !important;
  color: #fff !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-resume-cta {
  display: inline-flex !important;
  min-height: 48px !important;
  padding: 0 22px !important;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ait-color-action) !important;
  border-radius: var(--ait-radius-sm) !important;
  background: var(--ait-color-action) !important;
  color: #fff !important;
  font-weight: 650 !important;
  text-decoration: none !important;
}
body.v21-auth-page .aiterich-auth-logged-in :is(.aiterich-btn-outline,.aiterich-btn-text) {
  display: inline-flex !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  align-items: center;
  border: 1px solid var(--ait-color-line-strong) !important;
  border-radius: var(--ait-radius-sm) !important;
  background: var(--ait-color-surface) !important;
  color: var(--ait-color-ink) !important;
  text-decoration: none !important;
}
body.v21-auth-page .aiterich-auth-logged-in .aiterich-auth-text-link {
  display: inline-flex !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  align-items: center;
  border: 1px solid var(--ait-color-line-strong) !important;
  border-radius: var(--ait-radius-sm) !important;
  background: var(--ait-color-surface) !important;
  color: var(--ait-color-ink) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.v21-auth-page #wave136-employee-entry,
body.v21-auth-page #ast-scroll-top,
body.v21-auth-page .aiterich-consult-trigger,
body.v21-auth-page .aiterich-consult-panel {
  display: none !important;
}
.v21-system-panel {
  min-height: 68vh;
  background:
    radial-gradient(circle at 50% 15%, rgba(59,111,216,.08), transparent 34%),
    var(--ait-color-canvas);
  border-top: 1px solid var(--ait-color-line);
}
.v21-system-panel > strong { color: #8b98aa; font-weight: 650; }
.v21-system-panel h1 { color: var(--ait-color-ink); font-weight: 680; }
.state-ok { border-top-color: var(--ait-color-success); }
.state-wait { border-top-color: var(--ait-color-warning); }
.state-empty { border-top-color: var(--ait-color-ink-muted); }
.state-warn,
.state-error { border-top-color: var(--ait-color-danger); }
body .agf-single {
  border-color: var(--ait-color-line);
  border-radius: var(--ait-radius-lg);
  box-shadow: var(--ait-shadow-md);
}
body .agf-single-title { color: var(--ait-color-ink) !important; }
body .agf-single-cta { background: var(--ait-color-action) !important; }

/* Full-site audit closeout: light surfaces must use dark text tokens. */
body.ait-v21 .v21-resources-hero h1 {
  color: var(--ait-color-ink) !important;
}
body.ait-v21 .v21-about-boundary {
  background: var(--ait-color-canvas);
  color: var(--ait-color-ink);
}
body.ait-v21 .v21-about-boundary :is(h2, h3) {
  color: var(--ait-color-ink) !important;
}
body.ait-v21 .v21-about-boundary .eyebrow {
  color: var(--ait-color-action) !important;
}
body.ait-v21 .v21-about-boundary p {
  color: var(--ait-color-ink-secondary);
}
.v21-resource-error {
  margin: 18px 0;
  padding: 22px 24px;
  border-left: 4px solid var(--ait-color-danger);
  background: #fff;
  color: var(--ait-color-ink);
}
.v21-resource-error h3 { margin: 0 0 8px; }
.v21-resource-error p { margin: 0; color: var(--ait-color-ink-secondary); }

/* Public navigation and utility controls keep a 44px minimum target. */
body.ait-v21 .v21-header .v21-navgroup > a,
body.ait-v21 .v21-zoom-nav a,
body.ait-v21 .v21-laser-nav a,
body.ait-v21 .v21-footer-groups a,
body.ait-v21 .v21-footer-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-block: 10px;
}
body.ait-v21 .v21-site-search :is(input, button),
body.ait-v21 .v21-nav-cta,
body.ait-v21 .aiterich-consult-trigger {
  min-height: 44px !important;
}
body.ait-v21 .v21-site-search button {
  min-width: 72px;
  white-space: nowrap;
}

@media (min-width: 1200px) {
  .v21-cloud-hero h1 {
    font-size: clamp(64px, 4vw, 76px);
    line-height: 1.06;
    white-space: nowrap;
  }
  .v21-cloud-hero h1 em {
    white-space: normal;
  }
}

@media (max-width: 1050px) {
  .v21-header { height: auto; min-height: 72px; }
  .v21-header nav a { padding: 9px 0; }
  .v21-header nav a[aria-current="page"]::after { display: none; }
  .v21-sub { border: 0; box-shadow: none; }
}

@media (max-width: 680px) {
  .v21-tools .v21-site-search-tools { display: none !important; }
  .v21-header nav.open .v21-site-search-nav {
    display: flex !important;
    width: 100%;
  }
  .v21-resources-hero,
  .v21-resources-hero > div,
  .v21-resources-section,
  .v21-resources-section > * {
    min-width: 0;
    max-width: 100%;
  }
  .v21-resources-hero > div { width: 100%; }
  .v21-resources-hero > div > p:last-child { overflow-wrap: anywhere; }
  .v21-hero { min-height: 72vh; background: var(--ait-color-canvas); }
  .v21-hero::before { background: linear-gradient(180deg, rgba(246,248,251,.96) 0%, rgba(246,248,251,.82) 38%, rgba(246,248,251,.36) 62%, rgba(246,248,251,.18) 100%); }
  .v21-hero .v21-hero-media { opacity: .58; object-position: 70% center; }
  .v21-hero h1,
  .v21-pagehero h1,
  .v21-producthero h1 { font-size: clamp(38px, 11vw, 48px); }
  .v21-pagehero::after { opacity: .5; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (forced-colors: active) {
  body.ait-v21 :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline-color: Highlight;
    box-shadow: none;
  }
  body.ait-v21 .skip-link:focus-visible { outline-color: Highlight !important; }
  .v21-btn,
  .v21-card,
  .v21-modal-card,
  .v21-system-panel { border: 1px solid CanvasText; }
}

/* v0.20.0 integration guard
 * Product-content templates include higher-specificity legacy hero variants.
 * Keep their layout and media treatment, but make the approved silver/blue
 * visual system authoritative for every product hero.
 */
body.ait-v21 .v21-producthero:not(#ait-v21-legacy-hero) {
  background:
    radial-gradient(circle at 78% 46%, rgba(59,111,216,.18), transparent 27%),
    linear-gradient(125deg, #f8fafc 0%, #edf2f7 52%, #dce7f3 100%) !important;
  color: var(--ait-color-ink) !important;
  border-bottom-color: var(--ait-color-line) !important;
}
body.ait-v21 .v21-producthero:not(#ait-v21-legacy-hero) h1,
body.ait-v21 .v21-producthero:not(#ait-v21-legacy-hero) h2 {
  color: var(--ait-color-ink) !important;
  text-shadow: none !important;
}
body.ait-v21 .v21-producthero:not(#ait-v21-legacy-hero) .eyebrow {
  color: var(--ait-color-action) !important;
}
body.ait-v21 .v21-producthero:not(#ait-v21-legacy-hero) > div > p:not(.eyebrow),
body.ait-v21 .v21-producthero:not(#ait-v21-legacy-hero) .model {
  color: var(--ait-color-ink-secondary) !important;
}
body.ait-v21 .v21-producthero:not(#ait-v21-legacy-hero) .v21-btn.ghost {
  color: var(--ait-color-ink) !important;
  border-color: var(--ait-color-line-strong) !important;
  background: rgba(255,255,255,.82) !important;
}
body.ait-v21 .v21-producthero:not(#ait-v21-legacy-hero) li {
  color: var(--ait-color-ink-secondary) !important;
  border-color: var(--ait-color-line-strong) !important;
  background: rgba(255,255,255,.72) !important;
}

/* The identity placeholder remains a contained navy product card. */
body.ait-v21 .v21-producthero > .v21-product-placeholder.v21-producthero-media {
  background: linear-gradient(145deg, #182944, #223b64) !important;
  border-color: rgba(118,150,212,.42) !important;
  box-shadow: var(--ait-shadow-lg) !important;
}
body.ait-v21 .v21-producthero > .v21-product-placeholder.v21-producthero-media > span {
  color: #9db8ed !important;
}
body.ait-v21 .v21-producthero > .v21-product-placeholder.v21-producthero-media > strong {
  color: #fff !important;
  text-shadow: none !important;
}
body.ait-v21 .v21-producthero > .v21-product-placeholder.v21-producthero-media > small {
  color: #d7e2f5 !important;
}
