/**
 * LDT interaction standard — 2026-10-20.
 * Extends the approved button system; geometry, copy and destinations stay with their owners.
 * These component-scoped tokens are the canonical source for interaction colors.
 */
:is(.ldt-source, .ldt-footer-source, .ldt-home-demo, .language_change,
    .ldt-article-cta, .ldt-sidebar-cta, .ldt-archive-cta,
    .ldt-article-content, .ldt-post-trust-meta, .ldt-toc-v3,
    .ldt-primary-mega-panel, .ldt-post-card, .ldt-contact-page,
    .ldt-archive-topics, .ldt-sidebar-services, .nav-sidebar .ldt-mega-menu,
    .nav-sidebar .ldt-mobile-directory-toggle,
    .fluentform_wrapper_6, .fluentform_wrapper_21, .fluentform_wrapper_26,
    .fluentform_wrapper_27, .fluentform_wrapper_28, .fluentform_wrapper_31,
    .fluentform_wrapper_32,
    form:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)) {
  --ldt-interaction-ink: #082c50;
  --ldt-interaction-link: #0d638f;
  --ldt-interaction-link-hover: #084d70;
  --ldt-interaction-inverse: #ffffff;
  --ldt-interaction-cream: #fef8f0;
  --ldt-interaction-primary: linear-gradient(90deg, #da2c20 0%, #b85600 100%);
  --ldt-interaction-primary-hover: linear-gradient(90deg, #cb291e 0%, #ab5000 100%);
  --ldt-interaction-primary-pressed: linear-gradient(90deg, #bb261c 0%, #9e4a00 100%);
  --ldt-interaction-error: #b42318;
  --ldt-interaction-success: #176b42;
}

/* Primary action: red-to-orange, white ink, no dimming of the whole control. */
:is(.ldt-source, .ldt-footer-source, .ldt-home-demo) :is(a, button).ldt-ui-btn--primary[class],
.language_change a.contact_link,
.ldt-article-cta a.ldt-article-cta-button.is-primary,
.ldt-sidebar-cta a.ldt-sidebar-cta-button,
.ldt-archive-cta a.ldt-archive-cta-button,
.ldt-footer-source a.ldt-footer-cta-btn,
.ldt-contact-page form.fluent_form_6 .wpf_has_custom_css.ff-btn-submit,
form:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32) .ff-btn-submit,
#ldt-callback-contact .ldt-cb-submit,
#ldt-callback-contact.ldt-source[data-ldt-button-system="1"] .ldt-contact-zalo {
  --ldt-ui-surface: var(--ldt-interaction-primary);
  --ldt-ui-ink: #ffffff;
  --ldt-ui-border: transparent;
  background: var(--ldt-interaction-primary) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  filter: none !important;
}

@media (hover: hover) {
  :is(.ldt-source, .ldt-footer-source, .ldt-home-demo) :is(a, button).ldt-ui-btn--primary[class]:hover:not(:disabled):not([aria-disabled="true"]),
  .language_change a.contact_link:hover,
  .ldt-article-cta a.ldt-article-cta-button.is-primary:hover,
  .ldt-sidebar-cta a.ldt-sidebar-cta-button:hover,
  .ldt-archive-cta a.ldt-archive-cta-button:hover,
  .ldt-footer-source a.ldt-footer-cta-btn:hover,
  .ldt-contact-page form.fluent_form_6 .wpf_has_custom_css.ff-btn-submit:hover:not(:disabled):not(.disabled),
  form:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32) .ff-btn-submit:hover:not(:disabled):not(.disabled),
  #ldt-callback-contact .ldt-cb-submit:hover:not(:disabled),
  #ldt-callback-contact.ldt-source[data-ldt-button-system="1"] .ldt-contact-zalo:hover {
    --ldt-ui-surface: var(--ldt-interaction-primary-hover);
    background: var(--ldt-interaction-primary-hover) !important;
  }

  :is(.ldt-source, .ldt-footer-source, .ldt-home-demo) :is(a, button).ldt-ui-btn--secondary[class]:hover:not(:disabled):not([aria-disabled="true"]),
  .ldt-article-cta a.ldt-article-cta-button.is-secondary:hover,
  #ldt-callback-contact.ldt-source[data-ldt-button-system="1"] :is(.ldt-contact-callback, .ldt-contact-phone):hover {
    --ldt-ui-surface: #f1f6fa;
    background: #f1f6fa !important;
    color: #082c50 !important;
  }

  :is(.ldt-source, .ldt-footer-source, .ldt-home-demo) :is(a, button).ldt-ui-btn--inverse[class]:hover:not(:disabled):not([aria-disabled="true"]) {
    --ldt-ui-surface: #ffffff;
    --ldt-ui-ink: #082c50;
    background: #ffffff !important;
    color: #082c50 !important;
  }

  #ldt-callback-contact.ldt-source .ldt-cb-close:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
  }
}

:is(.ldt-source, .ldt-footer-source, .ldt-home-demo) :is(a, button).ldt-ui-btn--primary[class]:active:not(:disabled):not([aria-disabled="true"]),
.language_change a.contact_link:active,
.ldt-article-cta a.ldt-article-cta-button.is-primary:active,
.ldt-sidebar-cta a.ldt-sidebar-cta-button:active,
.ldt-archive-cta a.ldt-archive-cta-button:active,
.ldt-footer-source a.ldt-footer-cta-btn:active,
.ldt-contact-page form.fluent_form_6 .wpf_has_custom_css.ff-btn-submit:active:not(:disabled),
form:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32) .ff-btn-submit:active:not(:disabled):not(.disabled),
#ldt-callback-contact .ldt-cb-submit:active:not(:disabled),
#ldt-callback-contact.ldt-source[data-ldt-button-system="1"] .ldt-contact-zalo:active {
  --ldt-ui-surface: var(--ldt-interaction-primary-pressed);
  background: var(--ldt-interaction-primary-pressed) !important;
}

:is(.ldt-source, .ldt-footer-source, .ldt-home-demo) :is(a, button).ldt-ui-btn--secondary[class]:active:not(:disabled):not([aria-disabled="true"]),
.ldt-article-cta a.ldt-article-cta-button.is-secondary:active,
#ldt-callback-contact.ldt-source[data-ldt-button-system="1"] :is(.ldt-contact-callback, .ldt-contact-phone):active {
  --ldt-ui-surface: #e2ebf2;
  background: #e2ebf2 !important;
  color: #082c50 !important;
}

:is(.ldt-source, .ldt-footer-source, .ldt-home-demo) :is(a, button).ldt-ui-btn--inverse[class]:active:not(:disabled):not([aria-disabled="true"]) {
  --ldt-ui-surface: #fef8f0;
  --ldt-ui-ink: #082c50;
  background: #fef8f0 !important;
  color: #082c50 !important;
}

#ldt-callback-contact.ldt-source .ldt-cb-close:active {
  background: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

/* A real outline plus a white halo survives both light/dark surfaces and forced colors. */
:is(.ldt-source, .ldt-footer-source, .ldt-home-demo) :is(.ldt-ui-btn, .ldt-ui-link)[class]:focus-visible,
.language_change a.contact_link:focus-visible,
.ldt-article-cta a.ldt-article-cta-button:focus-visible,
.ldt-sidebar-cta a.ldt-sidebar-cta-button:focus-visible,
.ldt-archive-cta a.ldt-archive-cta-button:focus-visible,
.ldt-footer-source a.ldt-footer-cta-btn:focus-visible,
.ldt-contact-page form.fluent_form_6 .wpf_has_custom_css.ff-btn-submit:focus-visible,
form:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32) .ff-btn-submit:focus-visible,
#ldt-callback-contact.ldt-source[data-ldt-button-system="1"] :is(.ldt-cb-submit, .ldt-contact-zalo, .ldt-contact-phone, .ldt-contact-callback, .ldt-cb-close):focus-visible {
  outline: 3px solid #082c50 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #ffffff !important;
  scroll-margin-block: 128px;
}

@media (forced-colors: active) {
  :is(.ldt-source, .ldt-footer-source, .ldt-home-demo) :is(.ldt-ui-btn, .ldt-ui-link)[class]:focus-visible,
  .language_change a.contact_link:focus-visible,
  .ldt-article-cta a.ldt-article-cta-button:focus-visible,
  .ldt-sidebar-cta a.ldt-sidebar-cta-button:focus-visible,
  .ldt-archive-cta a.ldt-archive-cta-button:focus-visible,
  .ldt-footer-source a.ldt-footer-cta-btn:focus-visible,
  form:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32) .ff-btn-submit:focus-visible,
  #ldt-callback-contact.ldt-source[data-ldt-button-system="1"] :is(.ldt-cb-submit, .ldt-contact-zalo, .ldt-contact-phone, .ldt-contact-callback, .ldt-cb-close):focus-visible {
    outline-color: Highlight !important;
    box-shadow: none !important;
  }
}

/**
 * LDT scoped link/navigation interactions — proposed 2026-10-20.
 * Evidence: live-source.json captured 2026-10-20T10:17:30+00:00.
 * Append after the shipped button/component styles. No layout or heading resets.
 * Primary buttons, forms, footer spacing and floating contacts have separate owners.
 */

/* Reading links: ordinary prose only, with the surrounding text's typography.
 * Component/dark/contact exclusions keep action links and inverse sections intact.
 * Important declarations override the existing article normalizer and app-guide ID.
 */
.ldt-article-content .ldt-source :is(p, li, dd, blockquote, td) a[href]:not(:where(
  .ldt-ui-btn, .ldt-ui-link, .button, [role="button"], [data-ldt-callback-open],
  [class*="-btn"], [class*="-button"], .ldt-app-action,
  .ldt-related-links__link, .ldt-related-link, .ldt-related-card,
  .ldt-ui-actions *, .ldt-app-actions *, .ldt-article-cta *, .ldt-sidebar-cta *,
  .ldt-archive-cta *, .ldt-cta *, .ldt-related-links *, .ldt-related *,
  .ldt-related-list *, .ldt-related-grid *, .ldt-related-card *,
  .ldt-toc-v3 *, .ldt-blog-toc *, .ldt-legacy-inline-toc *,
  .ldt-app-table th *, .dark *, .ldt-footer-source *, nav *, form *,
  [href^="tel:"], [href^="mailto:"], [href*="zalo.me/"]
)) {
  color: var(--ldt-interaction-link, #0d638f) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px;
  text-decoration-skip-ink: auto;
}

.ldt-article-content .ldt-source :is(p, li, dd, blockquote, td) a[href]:not(:where(
  .ldt-ui-btn, .ldt-ui-link, .button, [role="button"], [data-ldt-callback-open],
  [class*="-btn"], [class*="-button"], .ldt-app-action,
  .ldt-related-links__link, .ldt-related-link, .ldt-related-card,
  .ldt-ui-actions *, .ldt-app-actions *, .ldt-article-cta *, .ldt-sidebar-cta *,
  .ldt-archive-cta *, .ldt-cta *, .ldt-related-links *, .ldt-related *,
  .ldt-related-list *, .ldt-related-grid *, .ldt-related-card *,
  .ldt-toc-v3 *, .ldt-blog-toc *, .ldt-legacy-inline-toc *,
  .ldt-app-table th *, .dark *, .ldt-footer-source *, nav *, form *,
  [href^="tel:"], [href^="mailto:"], [href*="zalo.me/"]
)):is(:hover, :focus-visible, :active) {
  color: var(--ldt-interaction-link-hover, #084d70) !important;
  text-decoration-thickness: 2px !important;
}

.ldt-article-content .ldt-source :is(p, li, dd, blockquote, td) a[href]:not(:where(
  .ldt-ui-btn, .ldt-ui-link, .button, [role="button"], [data-ldt-callback-open],
  [class*="-btn"], [class*="-button"], .ldt-app-action,
  .ldt-related-links__link, .ldt-related-link, .ldt-related-card,
  .ldt-ui-actions *, .ldt-app-actions *, .ldt-article-cta *, .ldt-sidebar-cta *,
  .ldt-archive-cta *, .ldt-cta *, .ldt-related-links *, .ldt-related *,
  .ldt-related-list *, .ldt-related-grid *, .ldt-related-card *,
  .ldt-toc-v3 *, .ldt-blog-toc *, .ldt-legacy-inline-toc *,
  .ldt-app-table th *, .dark *, .ldt-footer-source *, nav *, form *,
  [href^="tel:"], [href^="mailto:"], [href*="zalo.me/"]
)):focus-visible {
  outline: 3px solid var(--ldt-interaction-ink, #082c50) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #ffffff !important;
}

/* Standalone action links keep their approved navy/inverse roles. */
:is(.ldt-source, .ldt-footer-source, .ldt-home-demo) a.ldt-ui-link[class]:not(.ldt-ui-link--inverse):is(:hover, :focus-visible) {
  color: var(--ldt-interaction-link-hover, #084d70) !important;
  text-decoration-thickness: 2px !important;
}
:is(.ldt-source, .ldt-footer-source, .ldt-home-demo) a.ldt-ui-link[class]:not(.ldt-ui-link--inverse):active {
  color: var(--ldt-interaction-ink, #082c50) !important;
  text-decoration-thickness: 2px !important;
}
:is(.ldt-source, .ldt-footer-source, .ldt-home-demo) a.ldt-ui-link.ldt-ui-link--inverse[class]:is(:hover, :focus-visible, :active) {
  color: var(--ldt-interaction-inverse, #ffffff) !important;
  text-decoration-thickness: 2px !important;
}

/* Named LP actions on verified light surfaces. These classes mix text links and
 * real card anchors, so their display, sizing, padding and typography are retained.
 * Wrapper evidence: saved full page sources; class/count evidence: fresh inventory.
 * The title is a direct strong child in rich cards; their descriptions stay unchanged.
 */
:is(
  .ldt-source.ldt-kdcd-page a.ldt-kdcd-link,
  .ldt-source.ldt-license-page a.ldt-license-link,
  .ldt-source.ldt-tech-page a.ldt-tech-link,
  .ldt-source.ldt-import-page a.ldt-import-link,
  .ldt-source.ldt-labor-page a.ldt-labor-link,
  .ldt-source.ldt-tax-page a.ldt-tax-link,
  .ldt-source.ldt-product-page a.ldt-product-link,
  .ldt-source.ldt-contract-page a.ldt-contract-link
)[href]:not(:where(.ldt-ui-btn, .ldt-ui-link, [role="button"])) {
  --ldt-interaction-lp-link-color: var(--ldt-interaction-ink, #082c50);
  --ldt-interaction-lp-link-line: none;
  color: var(--ldt-interaction-lp-link-color) !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px;
}
:is(
  .ldt-source.ldt-kdcd-page a.ldt-kdcd-link,
  .ldt-source.ldt-license-page a.ldt-license-link,
  .ldt-source.ldt-tech-page a.ldt-tech-link,
  .ldt-source.ldt-import-page a.ldt-import-link,
  .ldt-source.ldt-labor-page a.ldt-labor-link,
  .ldt-source.ldt-tax-page a.ldt-tax-link,
  .ldt-source.ldt-product-page a.ldt-product-link,
  .ldt-source.ldt-contract-page a.ldt-contract-link
)[href]:not(:where(.ldt-ui-btn, .ldt-ui-link, [role="button"])):is(:hover, :focus-visible, :active) {
  --ldt-interaction-lp-link-color: var(--ldt-interaction-link-hover, #084d70);
  --ldt-interaction-lp-link-line: underline;
  color: var(--ldt-interaction-lp-link-color) !important;
  border-color: var(--ldt-interaction-link-hover, #084d70) !important;
  text-decoration-thickness: 2px !important;
}
:is(
  .ldt-source.ldt-kdcd-page a.ldt-kdcd-link,
  .ldt-source.ldt-license-page a.ldt-license-link,
  .ldt-source.ldt-tech-page a.ldt-tech-link,
  .ldt-source.ldt-import-page a.ldt-import-link,
  .ldt-source.ldt-labor-page a.ldt-labor-link,
  .ldt-source.ldt-tax-page a.ldt-tax-link,
  .ldt-source.ldt-product-page a.ldt-product-link,
  .ldt-source.ldt-contract-page a.ldt-contract-link
)[href]:not(:where(.ldt-ui-btn, .ldt-ui-link, [role="button"])):has(> strong) {
  text-decoration-line: none !important;
}
:is(
  .ldt-source.ldt-kdcd-page a.ldt-kdcd-link,
  .ldt-source.ldt-license-page a.ldt-license-link,
  .ldt-source.ldt-tech-page a.ldt-tech-link,
  .ldt-source.ldt-import-page a.ldt-import-link,
  .ldt-source.ldt-labor-page a.ldt-labor-link,
  .ldt-source.ldt-tax-page a.ldt-tax-link,
  .ldt-source.ldt-product-page a.ldt-product-link,
  .ldt-source.ldt-contract-page a.ldt-contract-link
)[href]:not(:where(.ldt-ui-btn, .ldt-ui-link, [role="button"])) > strong {
  color: var(--ldt-interaction-lp-link-color) !important;
  text-decoration-line: var(--ldt-interaction-lp-link-line) !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px;
}
:is(
  .ldt-source.ldt-kdcd-page a.ldt-kdcd-link,
  .ldt-source.ldt-license-page a.ldt-license-link,
  .ldt-source.ldt-tech-page a.ldt-tech-link,
  .ldt-source.ldt-import-page a.ldt-import-link,
  .ldt-source.ldt-labor-page a.ldt-labor-link,
  .ldt-source.ldt-tax-page a.ldt-tax-link,
  .ldt-source.ldt-product-page a.ldt-product-link,
  .ldt-source.ldt-contract-page a.ldt-contract-link
)[href]:not(:where(.ldt-ui-btn, .ldt-ui-link, [role="button"])):focus-visible {
  outline: 3px solid var(--ldt-interaction-ink, #082c50) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #ffffff !important;
}

/* Attribution is an ordinary text link, not a filled action. */
.ldt-post-trust-meta a[href] {
  color: var(--ldt-interaction-link, #0d638f);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.ldt-post-trust-meta a[href]:is(:hover, :focus-visible, :active) {
  color: var(--ldt-interaction-link-hover, #084d70);
  text-decoration-thickness: 2px;
}

/* Blog cards have separate image/title anchors. Keep feedback on real links. */
.ldt-archive-grid .ldt-post-card {
  --ldt-interaction-card-border: #dfe7ed;
  --ldt-interaction-card-shadow: 0 8px 24px rgba(8, 44, 80, .06);
}
.news_related .ldt-post-card {
  --ldt-interaction-card-border: #dfe7ee;
  --ldt-interaction-card-shadow: 0 8px 24px rgba(8, 44, 80, .06);
}
.category .ldt-archive-grid .ldt-post-card {
  --ldt-interaction-card-shadow: 0 5px 16px rgba(8, 44, 80, .045);
}
:is(.ldt-archive-grid, .news_related) .ldt-post-card:has(.ldt-post-card-title-link):hover {
  transform: none !important;
  border-color: var(--ldt-interaction-card-border) !important;
  box-shadow: var(--ldt-interaction-card-shadow) !important;
}
:is(.ldt-archive-grid, .news_related) .ldt-post-card:has(.ldt-post-card-title-link):hover img {
  transform: none !important;
}
:is(.ldt-archive-grid, .news_related) .ldt-post-card a.ldt-post-card-title-link[href],
.ldt-archive-topics .ldt-topic-post-list a[href],
.ldt-archive-topics a.ldt-topic-post-item[href] .ldt-topic-post-title,
.ldt-sidebar-services a.ldt-sidebar-service-link[href] .ldt-sidebar-service-title {
  color: var(--ldt-interaction-ink, #082c50) !important;
}
:is(.ldt-archive-grid, .news_related) .ldt-post-card a.ldt-post-card-title-link[href]:is(:hover, :focus-visible, :active),
.ldt-archive-topics .ldt-topic-post-list a[href]:is(:hover, :focus-visible, :active),
.ldt-archive-topics a.ldt-topic-post-item[href]:is(:hover, :focus-visible, :active) .ldt-topic-post-title,
.ldt-sidebar-services a.ldt-sidebar-service-link[href]:is(:hover, :focus-visible, :active) .ldt-sidebar-service-title {
  color: var(--ldt-interaction-link-hover, #084d70) !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px;
}
:is(.ldt-archive-grid, .news_related) .ldt-post-card a.ldt-post-card-image-link[href]:is(:hover, :focus-visible) img {
  filter: brightness(.96);
}
.ldt-sidebar-services a.ldt-sidebar-service-link[href]:hover :is(.ldt-sidebar-service-image img, .ldt-sidebar-service-arrow) {
  transform: none;
}

/* Related links: the title carries the interaction, the description stays stable. */
.ldt-article-content a.ldt-related-links__link[href]:is(:hover, :focus-visible, :active) {
  color: var(--ldt-interaction-link-hover, #084d70) !important;
  border-bottom-color: var(--ldt-interaction-link-hover, #084d70);
}
.ldt-article-content a.ldt-related-links__link[href]:is(:hover, :focus-visible, :active) .ldt-related-links__title {
  color: var(--ldt-interaction-link-hover, #084d70) !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px;
}
.ldt-article-content a.ldt-related-links__link[href]:hover .ldt-related-links__arrow[aria-hidden] {
  transform: none;
}
.ldt-article-content :is(ul.ldt-related, ul.ldt-related-list) > li > a[href]:is(:hover, :focus-visible, :active),
.ldt-article-content :is(div.ldt-related, section.ldt-related, div.ldt-related-list) > a[href]:is(:hover, :focus-visible, :active),
.ldt-article-content .ldt-related-grid > a.ldt-related-link[href]:is(:hover, :focus-visible, :active),
.ldt-article-content a.ldt-related-card[href]:is(:hover, :focus-visible, :active) {
  color: var(--ldt-interaction-link-hover, #084d70) !important;
  border-bottom-color: var(--ldt-interaction-link-hover, #084d70);
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px;
}

/* Light-surface anchor focus; no container focus-within decoration. */
.ldt-post-trust-meta a[href]:focus-visible,
:is(.ldt-archive-grid, .news_related) .ldt-post-card :is(a.ldt-post-card-title-link, a.ldt-post-card-image-link)[href]:focus-visible,
.ldt-archive-topics .ldt-topic-post-list a[href]:focus-visible,
.ldt-sidebar-services a.ldt-sidebar-service-link[href]:focus-visible,
.ldt-article-content a.ldt-related-links__link[href]:focus-visible,
.ldt-article-content :is(ul.ldt-related, ul.ldt-related-list) > li > a[href]:focus-visible,
.ldt-article-content :is(div.ldt-related, section.ldt-related, div.ldt-related-list) > a[href]:focus-visible,
.ldt-article-content .ldt-related-grid > a.ldt-related-link[href]:focus-visible,
.ldt-article-content a.ldt-related-card[href]:focus-visible {
  outline: 3px solid var(--ldt-interaction-ink, #082c50) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #ffffff !important;
}
/* Card images touch an overflow-hidden edge. A white overlay border sits above
 * the opaque image; an inset parent shadow would disappear behind that image.
 */
:is(.ldt-archive-grid, .news_related) .ldt-post-card a.ldt-post-card-image-link[href] {
  position: relative;
}
:is(.ldt-archive-grid, .news_related) .ldt-post-card a.ldt-post-card-image-link[href]:focus-visible {
  outline-offset: -6px !important;
  box-shadow: none !important;
}
:is(.ldt-archive-grid, .news_related) .ldt-post-card a.ldt-post-card-image-link[href]:focus-visible::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border: 3px solid #ffffff;
  box-sizing: border-box;
  pointer-events: none;
}

/* TOC hover and current location are distinct; focus never replaces the marker. */
.ldt-toc-v3 .ldt-blog-toc .ldt-toc-item > a[href]:hover:not(:where(.is-active, [aria-current="location"])) {
  background: #f1f6fa;
  color: var(--ldt-interaction-link-hover, #084d70) !important;
  box-shadow: none;
}
.ldt-toc-v3 .ldt-blog-toc .ldt-toc-item > a[href]:is(.is-active, [aria-current="location"]) {
  background: #ffffff;
  color: var(--ldt-interaction-ink, #082c50) !important;
  box-shadow: inset 3px 0 var(--ldt-interaction-link, #0d638f);
}
.ldt-toc-v3 .ldt-blog-toc .ldt-toc-item > a[href]:active,
.ldt-toc-v3 :is(.ldt-toc-toggle, .ldt-mobile-toc-toggle, .ldt-toc-group-toggle, .ldt-toc-more):active {
  background: #e2ebf2;
  color: var(--ldt-interaction-ink, #082c50) !important;
}
.ldt-toc-v3 .ldt-blog-toc .ldt-toc-item > a[href]:focus-visible {
  outline: 3px solid var(--ldt-interaction-ink, #082c50) !important;
  outline-offset: -6px !important;
}
.ldt-toc-v3 :is(.ldt-toc-toggle, .ldt-mobile-toc-toggle, .ldt-toc-group-toggle, .ldt-toc-more):focus-visible {
  outline: 3px solid var(--ldt-interaction-ink, #082c50) !important;
  outline-offset: -3px !important;
}

/* Only the existing desktop mega-menu links; group labels remain noninteractive. */
@media (min-width: 850px) {
  #masthead .ldt-primary-mega-link-item > a[href],
  #masthead .ldt-primary-mega-group:not(.ldt-menu-heading) > a.ldt-primary-mega-group-title[href] {
    color: var(--ldt-interaction-ink, #082c50) !important;
    text-underline-offset: 3px;
  }
  #masthead .ldt-primary-mega-link-item > a[href]:is(:hover, :focus-visible),
  #masthead .ldt-primary-mega-group:not(.ldt-menu-heading) > a.ldt-primary-mega-group-title[href]:is(:hover, :focus-visible) {
    color: var(--ldt-interaction-link-hover, #084d70) !important;
    background: #f1f6fa;
    text-decoration-line: underline !important;
    text-decoration-thickness: 1px;
  }
  #masthead .ldt-primary-mega-link-item > a[href]:active,
  #masthead .ldt-primary-mega-group:not(.ldt-menu-heading) > a.ldt-primary-mega-group-title[href]:active {
    color: var(--ldt-interaction-ink, #082c50) !important;
    background: #e2ebf2;
    text-decoration-thickness: 2px;
  }
  #masthead .ldt-primary-mega-toggle:focus-visible,
  #masthead .ldt-primary-mega-link-item > a[href]:focus-visible,
  #masthead .ldt-primary-mega-group:not(.ldt-menu-heading) > a.ldt-primary-mega-group-title[href]:focus-visible {
    outline: 3px solid var(--ldt-interaction-ink, #082c50) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #ffffff !important;
  }
}
/* The drawer is a verified dark surface. Preserve its control positioning. */
@media (max-width: 849px) {
  .nav-sidebar > .ldt-mega-menu > button.toggle {
    color: var(--ldt-interaction-inverse, #ffffff) !important;
  }
  .nav-sidebar .ldt-mega-menu li:not(.ldt-menu-heading) > a[href]:is(:hover, :focus-visible, :active) {
    color: var(--ldt-interaction-inverse, #ffffff) !important;
    text-decoration-line: underline !important;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
  }
  .nav-sidebar .ldt-mega-menu li:not(.ldt-menu-heading) > a[href]:focus-visible,
  .nav-sidebar > .ldt-mega-menu > button.toggle:focus-visible,
  .nav-sidebar .ldt-mobile-directory-toggle:focus-visible {
    outline: 3px solid var(--ldt-interaction-inverse, #ffffff) !important;
    outline-offset: -3px !important;
  }
}

/* Verified ordinary footer links only; CTA buttons and all geometry are untouched. */
.ldt-footer-source .ldt-footer :is(.ldt-footer-list, .ldt-footer-social, .ldt-footer-office-contact, .ldt-footer-bottom-links) a[href] {
  color: var(--ldt-interaction-inverse, #ffffff) !important;
  text-decoration-line: none;
  text-underline-offset: 3px;
  transform: none !important;
}
.ldt-footer-source .ldt-footer :is(.ldt-footer-list, .ldt-footer-social, .ldt-footer-office-contact, .ldt-footer-bottom-links) a[href]:is(:hover, :focus-visible, :active) {
  color: var(--ldt-interaction-inverse, #ffffff) !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px;
  transform: none !important;
}
.ldt-footer-source .ldt-footer :is(.ldt-footer-list, .ldt-footer-social, .ldt-footer-office-contact, .ldt-footer-bottom-links) a[href]:focus-visible,
.ldt-footer-source .ldt-footer a.ldt-footer-brand-link[href]:focus-visible {
  outline: 3px solid var(--ldt-interaction-inverse, #ffffff) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px var(--ldt-interaction-ink, #082c50) !important;
}

@media (prefers-reduced-motion: reduce) {
  :is(.ldt-archive-grid, .news_related) .ldt-post-card,
  :is(.ldt-archive-grid, .news_related) .ldt-post-card img,
  .ldt-archive-topics .ldt-topic-post-list a[href],
  .ldt-sidebar-services a.ldt-sidebar-service-link[href],
  .ldt-sidebar-services :is(.ldt-sidebar-service-image img, .ldt-sidebar-service-arrow),
  .ldt-article-content :is(.ldt-related-links__link, .ldt-related-links__arrow),
  .ldt-toc-v3 :is(a[href], .ldt-toc-toggle, .ldt-mobile-toc-toggle, .ldt-toc-group-toggle, .ldt-toc-more),
  .ldt-footer-source .ldt-footer :is(.ldt-footer-list, .ldt-footer-social, .ldt-footer-office-contact, .ldt-footer-bottom-links) a[href] {
    transition: none !important;
  }
}

/* Game G1: all 17 named links verified on white, cream or pale blue surfaces. */
.ldt-source.ldt-game-g1 a.ldt-link[href]:not(.ldt-ui-btn):not(.ldt-ui-link--inverse) {
  color: var(--ldt-interaction-link) !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px;
}
.ldt-source.ldt-game-g1 a.ldt-link[href]:not(.ldt-ui-btn):not(.ldt-ui-link--inverse):is(:hover, :focus-visible, :active) {
  color: var(--ldt-interaction-link-hover) !important;
  text-decoration-thickness: 2px !important;
}
.ldt-source.ldt-game-g1 a.ldt-link[href]:not(.ldt-ui-btn):not(.ldt-ui-link--inverse):focus-visible {
  outline: 3px solid var(--ldt-interaction-ink) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #ffffff !important;
}

/* Contact-office text links, within the verified light office content only. */
.ldt-source.ldt-contact-page :is(.ldt-contact-office-main, .ldt-contact-office-card) a[href]:not(.ldt-ui-btn) {
  color: var(--ldt-interaction-link) !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px;
}
.ldt-source.ldt-contact-page :is(.ldt-contact-office-main, .ldt-contact-office-card) a[href]:not(.ldt-ui-btn):is(:hover, :focus-visible, :active) {
  color: var(--ldt-interaction-link-hover) !important;
  text-decoration-thickness: 2px !important;
}
.ldt-source.ldt-contact-page :is(.ldt-contact-office-main, .ldt-contact-office-card) a[href]:not(.ldt-ui-btn):focus-visible {
  outline: 3px solid var(--ldt-interaction-ink) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #ffffff !important;
}

/* Native Fluent Forms states, scoped to seven published consultation forms.
 * Load after the current shared button stylesheet. Buttons keep its approved
 * gradient, pill radius, visible label, dimensions and native disabled logic.
 * No display rule below reveals a hidden form, conditional field or honeypot.
 */
form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
:is(input, select, textarea).ff-el-form-control:where(:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([name$="__fluent_sf"])) {
  box-sizing: border-box;
  max-width: 100%;
  border-color: #8093a6 !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  color: var(--ldt-interaction-ink, #082c50) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  transition: border-color 160ms ease, box-shadow 160ms ease !important;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
:is(input, select).ff-el-form-control:where(:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([name$="__fluent_sf"])) {
  min-height: 48px !important;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
.ff-el-form-control::placeholder {
  color: #52677d !important;
  opacity: 1;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
:is(input, select, textarea).ff-el-form-control:focus {
  border-color: var(--ldt-interaction-ink, #082c50) !important;
  outline: 3px solid var(--ldt-interaction-ink, #082c50) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px #ffffff !important;
}

/* Validation follows native state, so untouched required fields stay neutral. */
form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
:is(input, select, textarea).ff-el-form-control[aria-invalid="true"],
form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
.ff-el-is-error .ff-el-form-control {
  border-color: var(--ldt-interaction-error, #b42318) !important;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
.ff-el-form-control[aria-invalid="true"]:focus {
  outline-color: var(--ldt-interaction-error, #b42318) !important;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
:is(.error.text-danger, .ff-el-help-message) {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
.error.text-danger {
  margin-top: 6px;
  color: var(--ldt-interaction-error, #b42318) !important;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
:is(input, select, textarea).ff-el-form-control:disabled {
  background-color: #eef2f6 !important;
  color: #52677d !important;
  cursor: not-allowed;
}

/* Native notices are siblings of the form; do not force their display state. */
form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
~ :is(.ff-message-success, .ff-errors-in-stack):not(:empty) {
  box-sizing: border-box;
  margin-top: 16px !important;
  padding: 14px 16px !important;
  border: 1px solid !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  overflow-wrap: anywhere;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
~ .ff-message-success {
  border-color: var(--ldt-interaction-success, #176b42) !important;
  background-color: #eff9f3 !important;
  color: var(--ldt-interaction-success, #176b42) !important;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
~ .ff-errors-in-stack {
  border-color: var(--ldt-interaction-error, #b42318) !important;
  background-color: #fff4f2 !important;
  color: var(--ldt-interaction-error, #b42318) !important;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
~ .ff-errors-in-stack .error {
  color: var(--ldt-interaction-error, #b42318) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
~ .ff-errors-in-stack:empty {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Repair LP position:static!important only while the native progress bar runs.
 * Its pseudo-element remains out of layout; submit text never changes width.
 */
form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
.ff-btn-submit.ff-working {
  position: relative !important;
  overflow: hidden !important;
  opacity: 1 !important;
  cursor: progress !important;
}

form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
.ff-btn-submit.ff-working::after {
  pointer-events: none;
}

/* Added only by the passive bridge. This status sits outside aria-busy form. */
.ldt-form-loading-status {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (forced-colors: active) {
  form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
  :is(input, select, textarea).ff-el-form-control {
    forced-color-adjust: auto;
    background-color: Canvas !important;
    color: CanvasText !important;
    border-color: ButtonText !important;
  }
  form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
  :is(input, select, textarea).ff-el-form-control:focus,
  form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
  :is(input, select, textarea).ff-el-form-control[aria-invalid="true"]:focus {
    outline-color: Highlight !important;
    box-shadow: none !important;
  }
  form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
  :is(input, select, textarea).ff-el-form-control[aria-invalid="true"],
  form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
  .ff-el-is-error .ff-el-form-control {
    border-color: CanvasText !important;
    border-style: dashed !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
  :is(.ff-el-form-control, .ff-btn-submit),
  form.frm-fluent-form[data-form_id]:is(#fluentform_6, #fluentform_21, #fluentform_26, #fluentform_27, #fluentform_28, #fluentform_31, #fluentform_32)
  .ff-btn-submit.ff-working::after {
    transition: none !important;
    animation: none !important;
  }
}

/* Existing callback form: shared field/focus/feedback colors, native handler retained. */
#ldt-callback-contact.ldt-source .ldt-cb-field :is(input, select, textarea) {
  border-color: #8093a6;
  border-radius: 8px;
  background-color: #ffffff;
  color: var(--ldt-interaction-ink);
  font-size: 16px;
  line-height: 1.5;
}

#ldt-callback-contact.ldt-source .ldt-cb-field :is(input, select) {
  min-height: 48px;
}

#ldt-callback-contact.ldt-source .ldt-cb-field :is(input, textarea)::placeholder {
  color: #52677d;
  opacity: 1;
}

#ldt-callback-contact.ldt-source .ldt-cb-field :is(input, select, textarea):focus,
#ldt-callback-contact.ldt-source .ldt-cb-consent input:focus-visible {
  outline: 3px solid #082c50;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px #ffffff;
  border-color: #082c50;
}

#ldt-callback-contact.ldt-source .ldt-cb-field :is(input, select, textarea):user-invalid {
  border-color: var(--ldt-interaction-error);
}

#ldt-callback-contact.ldt-source .ldt-cb-message {
  color: var(--ldt-interaction-link);
  font-size: 14px;
  line-height: 1.5;
}

#ldt-callback-contact.ldt-source .ldt-cb-message[data-kind="error"] {
  color: var(--ldt-interaction-error);
}

#ldt-callback-contact.ldt-source .ldt-cb-message[data-kind="success"] {
  color: var(--ldt-interaction-success);
}

#ldt-callback-contact.ldt-source .ldt-cb-submit:disabled {
  opacity: 1;
  cursor: progress;
}

@media (forced-colors: active) {
  #ldt-callback-contact.ldt-source .ldt-cb-field :is(input, select, textarea):focus,
  #ldt-callback-contact.ldt-source .ldt-cb-consent input:focus-visible {
    outline-color: Highlight;
    box-shadow: none;
  }
}
