/* Shared interaction details: the same timing, focus and active-state language. */
:where(a,button,summary,input,select,textarea):focus-visible { outline:2px solid var(--brand); outline-offset:4px; }
.partner-flow-step .step-title,.expert-process-tabs h3,.expert-process-tabs button>span { transition:color .2s ease; }
.partner-flow-step:not(.is-active) button:hover .step-title,.expert-process-tabs button[aria-expanded="false"]:hover h3 { color:#6b7280; }
.partner-flow-step.is-active .step-index,.expert-process-tabs button[aria-expanded="true"]>span { color:var(--brand); }
.source-state { transition:color .3s,background-color .3s,border-color .3s; }
.source-state i { transition:border-color .3s; }
.data-faq summary,.ref-faq summary,.values-accordion summary { transition:color .2s; }
.data-faq summary:hover,.ref-faq summary:hover,.values-accordion summary:hover { color:#6b7280; }
details summary[aria-expanded="false"]>span { transform:none!important; }
details summary[aria-expanded="true"]>span { transform:rotate(45deg); }
.expert-step-description { display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s ease-out; }
.expert-process-tabs .expert-step-description p { display:block!important; overflow:hidden; min-height:0; margin:0; }
.expert-step-description p::before { content:''; display:block; height:20px; }
.expert-process-tabs button[aria-expanded="true"] .expert-step-description { grid-template-rows:1fr; }
.expert-process-tabs button[aria-expanded="true"]::after { animation:none; transform:scaleX(var(--process-progress,0)); }
.cat-row a,.share-article { transition:color .2s; }
.cat-row a:hover,.share-article:hover { color:var(--brand-700); }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .expert-step-description,.partner-flow-step .step-title,.expert-process-tabs h3,.expert-process-tabs button>span,.source-state,.data-faq summary,.ref-faq summary,.values-accordion summary { transition:none; }
}
