/* Shared finish: flat controls and artwork, never filter or layout animation. */
.legal-body a:is(:hover,:focus-visible),.service-toc a:not(.has-arrow):is(:hover,:focus-visible),.service-toc a.has-arrow:is(:hover,:focus-visible)>.link-label,.related a:not(.has-arrow):is(:hover,:focus-visible),.related a.has-arrow:is(:hover,:focus-visible)>.link-label,.detail a:not(.has-arrow):is(:hover,:focus-visible),.detail a.has-arrow:is(:hover,:focus-visible)>.link-label,.discover:not(.has-arrow):is(:hover,:focus-visible),.discover.has-arrow:is(:hover,:focus-visible)>.link-label,.process-index a:is(:hover,:focus-visible){text-decoration:underline;text-decoration-color:var(--interaction-accent,var(--accent));text-underline-offset:6px;text-decoration-thickness:1px}.text-link:is(:hover,:focus-visible)>.link-label{text-decoration-color:var(--interaction-accent,var(--accent))}.text-link .link-arrow,.system-module>b{display:inline-block;transition:transform .35s var(--ease)}.text-link:is(:hover,:focus-visible) .link-arrow,.system-module:is(:hover,:focus-visible)>b{transform:translate(2px,-2px)}.service-list .plus{color:var(--accent);transition:transform .35s var(--ease)}.service-list details[open] .plus{transform:rotate(45deg)}.service-list summary:is(:hover,:focus-visible) h3,.system-module:is(:hover,:focus-visible) h3{text-decoration:underline;text-decoration-color:var(--interaction-accent,var(--accent));text-underline-offset:7px;text-decoration-thickness:1px}.process-index a[aria-current=true]{color:var(--light);text-decoration:underline;text-decoration-color:var(--accent-inverse);text-underline-offset:6px}.service-toc a[aria-current=true]{color:var(--accent)}.service-toc a:not(.has-arrow)[aria-current=true],.service-toc a.has-arrow[aria-current=true]>.link-label{text-decoration:underline;text-underline-offset:5px}
/* Small actionable marks on light surfaces; reading captions and dark labels stay quiet. */
.detail a>span[aria-hidden],.system-module>b,.related a>span[aria-hidden],:where(.person,.service-hero,.service-body,.contact) .text-link>span[aria-hidden]{color:var(--accent)}

@media(max-width:600px){.contact .button{padding-inline:16px;gap:16px}}
@media(forced-colors:active){.button,.site-header,.nav-cta{border:1px solid ButtonText}}

/* Action indicators on dark surfaces use the accessible inverse brand tone. */
:where(.audit-scene,.process) .text-link>span[aria-hidden],.hero-foot .discover>span[aria-hidden]{color:var(--accent-inverse)}
