/* Neural Designer arrangements; common components/tokens come from artelnics-ui. */
.aui.nds-content-scope { display: flow-root; width: 100%; max-width: none; margin: 0; padding: 0; background: var(--aui-white); }
.aui.nds-content-scope.site-main { max-width: none; margin: 0; padding: 0; }
.aui.nds-content-scope :where(h2) { margin: 0 0 20px; color: var(--aui-ink); font-size: 32px; font-weight: 600; line-height: 1.25; letter-spacing: -.02em; }
.aui.nds-content-scope :where(h3) { margin: 0 0 16px; color: var(--aui-ink); font-size: 24px; font-weight: 600; line-height: 1.3; }
.aui.nds-content-scope :where(p:not(.aui-lead, .aui-section-note, .aui-eyebrow)) { margin: 0 0 20px; color: var(--aui-muted); font-size: 17px; line-height: 1.65; }
.aui.nds-content-scope :where(a:not(.aui-button)) { color: var(--aui-blue); }
.aui.nds-content-scope :where(img) { max-width: 100%; height: auto; }
.aui.nds-content-scope :where(p, li, h2, h3) { overflow-wrap: anywhere; }
.aui.nds-content-scope .aui-content-section.aui-container { margin-inline: auto; }
.aui.nds-content-scope .nds-public-content { width: 100%; max-width: none; margin: 0; padding: 0; }
.aui .nds-section-copy { text-align: left; }
.aui .nds-section-copy > .aui-section-note { max-width: 780px; margin-bottom: 32px; }
.aui .nds-section-copy > .aui-eyebrow { margin-bottom: 12px; }
.aui .nds-section-title { margin-bottom: 20px; }
.aui .nds-section-copy > .aui-card-grid { margin-top: 32px; }
.aui .nds-section-copy > .aui-button { margin-top: 32px; }
.aui .nds-section-copy > p:has(> .aui-button) { margin-top: 32px; }
.aui .nds-hero-checks { display: grid; gap: 8px; margin: 24px 0 0; padding: 0; color: var(--aui-muted); font-size: 15px; list-style: none; }
.aui .nds-hero-checks li { margin: 0; padding: 0; }
.aui .nds-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 48px; }
.aui .nds-two-column > * { min-width: 0; }
.aui .nds-media { margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.aui .nds-media img { display: block; width: 100%; height: auto; border-radius: var(--aui-radius); }
.aui .aui-card { position: relative; }
.aui .aui-card :is(h2, h3) > a { margin: 0; padding: 0; color: inherit; font: inherit; text-decoration: none; }
.aui .aui-card :is(h2, h3) > a:hover { color: var(--aui-blue); }
.aui .aui-card .nds-card-title-link { display: inline; min-height: 0; margin: 0; padding: 0; color: var(--aui-blue); font: inherit; text-decoration: underline; }
.aui .aui-card .nds-card-title-link:hover { color: var(--aui-blue-hover); }
.aui .nds-model-card > .nds-card-image { width: 36px; height: 36px; margin: 0 0 20px; object-fit: contain; }
.aui .nds-use-icon-card > .nds-card-image { width: 40px; height: 40px; margin: 0 0 20px; object-fit: contain; filter: invert(32%) sepia(51%) saturate(927%) hue-rotate(154deg) brightness(91%) contrast(92%); }
.aui .nds-use-icon-card > .nds-use-action { margin: 0; padding: 0; }
.aui .nds-model-card > .nds-model-action { order: 5; margin-top: auto; padding-top: 16px; }
.aui .nds-line-icon { fill: none; stroke: currentColor; stroke-width: 3; }
.aui .nds-card-kicker { display: block; margin-bottom: 12px; color: var(--aui-muted); font-size: 13px; font-weight: 500; line-height: 1.5; }
.aui .nds-image-card { padding: 0; overflow: hidden; }
.aui .nds-card-media { display: block; width: 100%; height: 180px; margin: 0; padding: 0; background: var(--aui-soft); }
.aui .nds-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aui a.nds-card-media:hover:not(:focus-visible) { outline: 2px solid var(--aui-blue); outline-offset: -2px; }
/* Media frames clip their children; keep the shared 3px focus ring visible. */
.aui a.nds-card-media:focus-visible { outline-offset: -3px; }
.aui .nds-card-body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; width: 100%; padding: 24px; }
.aui .nds-image-card > img { display: block; width: 100%; height: 170px; object-fit: cover; }
.aui .nds-image-card > :is(h3, p, .aui-card-link) { margin-inline: 24px; }
.aui .nds-image-card > h3 { margin-top: 24px; }
.aui .nds-image-card > .aui-card-link { margin-bottom: 20px; }
.aui .nds-card-media { position: relative; }
.aui .nds-card-media > .nds-card-kicker { position: absolute; left: 12px; bottom: 12px; margin: 0; padding: 6px 10px; background: var(--aui-white); border-radius: var(--aui-radius); }
.aui .nds-closing-copy > h2 { color: var(--aui-white); }
.aui .nds-closing-copy > p { color: var(--aui-inverse-muted); }
.aui .nds-closing-copy > .aui-button { margin-top: 24px; }
.aui .nds-closing-media { flex: 0 1 340px; width: 100%; max-width: 340px; }
.aui .nds-closing-media img { display: block; width: 100%; height: auto; border-radius: var(--aui-radius); }
.aui .nds-logo-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: center; gap: 24px; margin-top: 32px; }
.aui .nds-logo { display: flex; align-items: center; justify-content: center; min-height: 88px; margin: 0; padding: 16px; background: var(--aui-white); border: 1px solid var(--aui-line); border-radius: var(--aui-radius); }
.aui .nds-logo img { display: block; max-width: 100%; max-height: 56px; width: auto; height: auto; object-fit: contain; }
.aui .nds-company-hero-grid { display: grid; grid-template-columns: 1.35fr 1fr; align-items: center; gap: 48px; }
.aui .nds-company-hero-media { min-width: 0; }
.aui .nds-company-figure { position: relative; margin: 0; overflow: hidden; border-radius: var(--aui-radius); }
.aui .nds-company-building { display: block; width: 100%; height: auto; }
.aui .nds-company-brand { position: absolute; right: 20px; bottom: 20px; display: block; width: 160px; padding: 14px; background: var(--aui-ink); border-radius: var(--aui-radius); }
.aui .nds-company-brand img { display: block; width: 100%; height: auto; }
.aui .nds-company-main { margin-inline: auto; }
.aui .nds-company-main > .aui-content-section + .aui-content-section { border-top: 1px solid var(--aui-line); }
.aui .nds-company-main > .aui-content-section:not(.nds-two-column) > h2 { margin-bottom: 32px; }
.aui .nds-accent-dot { color: var(--aui-blue); }
.aui .nds-partner-card { min-height: 150px; justify-content: center; align-items: center; }
.aui .nds-partner-card img { width: auto; max-width: 100%; max-height: 100px; object-fit: contain; }
.aui .nds-download-grid { width: min(var(--aui-width), calc(100% - 2 * var(--aui-gutter))); margin: 64px auto 0; }
.aui .nds-download-card { align-items: stretch; }
.aui .nds-download-card-head { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.aui .nds-download-card-head img { width: 40px; height: 40px; object-fit: contain; }
.aui .nds-download-card-head h2 { margin: 0; }
.aui .nds-download-card .aui-actions { margin-top: auto; padding-top: 20px; }
.aui .nds-download-note { margin: 40px auto 64px; padding: 24px; background: var(--aui-soft); border: 1px solid var(--aui-line); border-radius: var(--aui-radius); }
.aui .nds-inline-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 20px; }
.aui .nds-contact-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.aui .nds-contact-card-title { display: block; margin: 0 0 12px; color: var(--aui-ink); font-size: 22px; font-weight: 600; line-height: 1.3; }
.aui .nds-contact-card-text { color: var(--aui-muted); font-size: 16px; line-height: 1.65; }
.aui .nds-contact-methods { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.aui .nds-contact-form-card { align-self: start; }
.aui .nd-contact-form > .nd-contact-submit { grid-column: 1 / -1; justify-self: start; align-self: start; }
.aui .nd-contact-form > .nd-contact-privacy { grid-column: 1 / -1; margin: 0; font-size: 14px; line-height: 1.5; }
.aui .nd-contact-privacy > a { font: inherit; }
.aui .nds-form-control { width: 100%; min-height: 48px; padding: 12px 16px; color: var(--aui-ink); background: var(--aui-white); border: 1px solid var(--aui-line); border-radius: var(--aui-radius); font: 400 16px/1.5 var(--aui-font-family); box-shadow: none; }
.aui textarea.nds-form-control { min-height: 180px; resize: vertical; }
.aui .nds-native-card { padding: 0; overflow: hidden; text-decoration: none; }
.aui .nds-article-content { max-width: 960px; margin: 64px auto; }
.aui .nds-article-content > p { max-width: 780px; }
.aui .nds-article-content > h2 { margin-top: 40px; }
.aui .nds-article-content table { display: block; max-width: 100%; overflow-x: auto; }
.aui .nds-article-content pre { max-width: 100%; overflow-x: auto; }
.aui .nds-article-content figure { margin: 32px 0; }
.aui .nds-article-content figcaption { margin-top: 12px; color: var(--aui-muted); font-size: 14px; }
.aui .nds-legal-copy { max-width: 780px; }
.aui .nds-legal-copy h2 { margin-top: 40px; }
.aui .nds-faq-section + .nds-faq-section { margin-top: 48px; }
.aui .nds-faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.aui .nds-faq-column { display: flex; flex-direction: column; gap: 16px; }
.aui .nds-faq-item { margin: 0 0 16px; padding: 20px 24px; background: var(--aui-white); border: 1px solid var(--aui-line); border-radius: var(--aui-radius); box-shadow: none; }
.aui .nds-faq-column > .nds-faq-item { margin-bottom: 0; }
.aui .nds-summary { position: relative; padding-right: 32px; color: var(--aui-ink); font-size: 18px; font-weight: 500; line-height: 1.5; cursor: pointer; list-style: none; }
.aui .nds-summary::-webkit-details-marker { display: none; }
.aui .nds-summary::after { position: absolute; right: 0; top: 0; content: "+"; color: var(--aui-blue); font-size: 24px; line-height: 1; }
.aui details[open] > .nds-summary::after { content: "−"; }
.aui .nds-faq-answer { padding-top: 20px; }
.aui .nds-faq-answer p:last-child { margin-bottom: 0; }
.aui .nds-hub-wrap { padding-block: 48px 64px; }
.aui .nds-hub-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 24px 0 32px; padding: 0; list-style: none; }
.aui .nds-hub-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--aui-blue); text-decoration: underline; text-underline-offset: .22em; }
.aui .nds-index-link { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 16px; font-weight: 500; }
.aui .nds-hub-nav li { margin: 0; padding: 0; }
.aui .nds-hub-section { border-top: 1px solid var(--aui-line); }
.aui .nds-hub-header { display: flex; align-items: center; gap: 32px; margin-bottom: 24px; }
.aui .nds-hub-header::before { flex: 0 0 180px; height: 110px; content: ""; background-image: var(--ndhub-bg); background-position: center; background-size: cover; border-radius: var(--aui-radius); }
.aui .nds-hub-header h2 { margin: 0; }
.aui .nds-hub-body > .aui-section-note { margin-bottom: 32px; }
.aui .nds-hub-contact { margin-top: 32px; background: var(--aui-soft); }
.aui .ndlh-hero-inner.aui-container > div { max-width: none; }
.aui .nds-editorial-wrap { width: 100%; max-width: none; margin: 0; padding: 0; }
.aui .nds-page-hero > .aui-title { width: min(var(--aui-width), calc(100% - 2 * var(--aui-gutter))); max-width: none; margin-inline: auto; }
.aui .nds-editorial-page-content { margin: 48px auto 64px; }
.aui .nds-editorial-page-content .nds-hub-wrap { width: 100%; margin: 0; padding: 0; }
.aui .nds-editorial-page-content table { display: block; max-width: 100%; overflow-x: auto; }
.aui .nds-article-section { margin-top: 32px; padding-top: 32px; background: var(--aui-white); border: 0; border-top: 1px solid var(--aui-line); border-radius: 0; box-shadow: none; }
.aui .nds-article-section p { max-width: 780px; }
.aui .nds-guide-step { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: start; gap: 24px; margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--aui-line); }
.aui .nds-step-number { margin: 0; font-size: 28px; }
.aui .nds-step-body { min-width: 0; }
.aui .nds-guide-icon { display: flex; align-items: center; height: 48px; margin-bottom: 20px; }
.aui .nds-guide-icon img { display: block; width: 40px; height: 40px; object-fit: contain; }
.aui .nds-path-card > strong { display: block; margin-bottom: 16px; color: var(--aui-ink); font-size: 22px; font-weight: 600; line-height: 1.3; }
.aui .nds-path-card > span { color: var(--aui-muted); font-size: 16px; font-weight: 400; line-height: 1.65; }
.aui .nds-hub-toolbar { display: flex; flex-direction: column; align-items: stretch; gap: 24px; margin-bottom: 32px; padding: 24px; background: var(--aui-soft); border: 1px solid var(--aui-line); border-radius: var(--aui-radius); }
.aui .nds-hub-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.aui :is(.nds-filter, .nds-hub-filters > .nd-blog-tag) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--aui-line); border-radius: var(--aui-radius); background: var(--aui-white); color: var(--aui-ink); font: 500 15px/1.4 var(--aui-font-family); cursor: pointer; }
.aui :is(.nds-filter, .nds-hub-filters > .nd-blog-tag):hover { background: var(--aui-soft); border-color: var(--aui-blue); }
.aui :is(.nds-filter, .nds-hub-filters > .nd-blog-tag).is-active { background: var(--aui-blue); border-color: var(--aui-blue); color: var(--aui-white); }
.aui :is(.nds-filter, .nds-hub-filters > .nd-blog-tag):focus-visible, .aui .nds-search-input:focus-visible { outline: 3px solid var(--aui-blue); outline-offset: 3px; }
.aui .nds-hub-empty { display: none; }
.aui .nds-hub-empty.is-visible { display: block; }
.aui .nds-search-input { display: block; width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid var(--aui-line); border-radius: var(--aui-radius); background: var(--aui-white); color: var(--aui-ink); font: 400 16px/1.4 var(--aui-font-family); box-shadow: none; }
.aui .nds-search-form { display: flex; align-items: stretch; gap: 12px; max-width: 600px; }
.aui .nds-search-form .nds-search-input { min-width: 0; }
.aui .nds-search-form .aui-button { flex: 0 0 48px; padding: 8px 12px; }
.aui .nds-post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; color: var(--aui-muted); font-size: 13px; }
.aui .nds-post-tags span { padding: 3px 8px; background: var(--aui-soft); border-radius: var(--aui-radius); }
.aui .nds-post-author { font-size: 14px; }
.aui .nds-card-body h2 a { margin: 0; padding: 0; color: var(--aui-ink); font: inherit; text-decoration: none; }
.aui .nds-card-body > .aui-card-link { margin-top: auto; padding-top: 16px; }
.aui .nds-load-row { justify-content: center; margin-top: 32px; }
.aui .nds-learning-closing { padding-inline: 0; }
.aui .nds-learning-closing > .aui-container { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.aui .nds-learning-closing h2 { max-width: 780px; margin-bottom: 0; color: var(--aui-white); }
.aui .nds-learning-closing p { color: var(--aui-inverse-muted); }
.aui .nds-learning-closing .aui-button { background: var(--aui-blue); color: var(--aui-white); }
.aui .nds-learning-closing .aui-button:hover { background: var(--aui-blue-hover); }
.aui .ndlh-area-body small { margin-top: auto; padding-top: 16px; color: var(--aui-blue); font-size: 16px; font-weight: 500; }
.aui .nds-benchmark { position: relative; margin-top: 32px; }
.aui .nds-benchmark-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.aui .nds-benchmark-tabs .nds-filter { margin: 0; text-align: center; }
.aui .nds-benchmark-panel { display: none; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 40px; }
.aui .nds-benchmark:has(#nd-bench-energy:checked) .panel-energy,
.aui .nds-benchmark:has(#nd-bench-capacity:checked) .panel-capacity,
.aui .nds-benchmark:has(#nd-bench-error:checked) .panel-error,
.aui .nds-benchmark:has(#nd-bench-speed:checked) .panel-speed { display: grid; }
.aui .nds-benchmark:has(#nd-bench-energy:checked) label[for="nd-bench-energy"],
.aui .nds-benchmark:has(#nd-bench-capacity:checked) label[for="nd-bench-capacity"],
.aui .nds-benchmark:has(#nd-bench-error:checked) label[for="nd-bench-error"],
.aui .nds-benchmark:has(#nd-bench-speed:checked) label[for="nd-bench-speed"] { color: var(--aui-white); background: var(--aui-blue); border-color: var(--aui-blue); }
.aui .nds-benchmark:has(#nd-bench-energy:focus-visible) label[for="nd-bench-energy"],
.aui .nds-benchmark:has(#nd-bench-capacity:focus-visible) label[for="nd-bench-capacity"],
.aui .nds-benchmark:has(#nd-bench-error:focus-visible) label[for="nd-bench-error"],
.aui .nds-benchmark:has(#nd-bench-speed:focus-visible) label[for="nd-bench-speed"] { outline: 3px solid var(--aui-blue); outline-offset: 3px; }
.aui.nds-content-scope > p:empty,
.aui.nds-content-scope > p:has(> script:only-child),
.aui .aui-card-grid > br,
.aui .aui-actions > br { display: none; }
@media (max-width: 64rem) {
  .aui .nds-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aui .nds-two-column, .aui .nds-company-hero-grid { gap: 32px; }
}
@media (max-width: 54rem) {
  .aui .nds-two-column, .aui .nds-company-hero-grid, .aui .nds-contact-columns { grid-template-columns: 1fr; }
  .aui .nds-faq-grid { grid-template-columns: 1fr; }
  .aui .nds-benchmark-panel { grid-template-columns: 1fr; gap: 24px; }
  .aui .nds-benchmark-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aui .nds-company-hero-media { max-width: 620px; }
  .aui .nds-closing-media { flex-basis: auto; }
}
@media (max-width: 40rem) {
  .aui.nds-content-scope :where(h2) { font-size: 28px; }
  .aui .nds-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .aui .nds-download-grid { margin-top: 48px; }
  .aui .nds-download-note { margin-bottom: 48px; }
  .aui .nds-article-content { margin-block: 48px; }
  .aui .nds-guide-step { grid-template-columns: 1fr; gap: 12px; }
  .aui .nds-hub-toolbar { padding: 20px; }
  .aui .nds-hub-header { flex-direction: column; align-items: flex-start; gap: 20px; }
  .aui .nds-hub-header::before { flex: none; width: 100%; height: 160px; }
}
