/* Interaction state ownership. Geometry, radii and component state machines stay local.
   Important declarations prevent legacy per-page hover rules overriding the shared roles. */
[data-ui] {
  transition:color var(--interaction-duration) var(--interaction-ease),background-color var(--interaction-duration) var(--interaction-ease),border-color var(--interaction-duration) var(--interaction-ease),opacity var(--interaction-duration) var(--interaction-ease) !important;
  -webkit-tap-highlight-color:transparent;
}
[data-ui]:focus-visible {
  outline:var(--interaction-focus-width) solid currentColor !important;
  outline-offset:var(--interaction-focus-offset) !important;
}
[data-ui]:is(:disabled,[aria-disabled="true"]) { opacity:.4 !important; cursor:not-allowed; }
[data-ui]:active:not(:disabled):not([aria-disabled="true"]) { opacity:.8 !important; }
[data-ui="primary"] { background:var(--color-ink) !important; color:var(--color-paper) !important; }
[data-ui="primary"].footer-request { background:var(--color-accent) !important; color:var(--color-ink) !important; }
[data-ui="outline"] { background:transparent !important; color:inherit !important; }
[data-ui="primary"]::before,[data-ui="outline"]::before { content:none !important; }
[data-ui="link"],[data-ui="card"] { color:inherit !important; text-decoration:none !important; }
.article-aside [data-ui="link"] { color:var(--color-muted) !important; }
.article-aside [data-ui="link"][aria-current] { color:var(--color-ink) !important; }
.case-arrows [data-ui="icon"]::before { content:none !important; }
[data-ui="link"]::after,[data-ui="card"] .card-link::after,.cases-all-title::after { content:none !important; }
[data-ui] :is(.contact-telegram span,strong,.card-link) { text-decoration:none !important; }
.ui-link-label {
  padding-bottom:6px;
  text-decoration:none !important;
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:left bottom;
  background-size:0 var(--interaction-line-width);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  transition:background-size var(--interaction-duration) var(--interaction-ease) !important;
}
[data-ui-persistent] .ui-link-label { background-size:100% var(--interaction-line-width); }
.case-read .ui-link-label { margin-bottom:-6px; }
.reading [data-ui="link"] :is(u,[style*="text-decoration"]) { text-decoration:none !important; }
[data-ui="link"]:focus-visible .ui-link-label,[data-ui="card"]:focus-visible .ui-link-label,
[data-ui][aria-current] .ui-link-label { background-size:100% var(--interaction-line-width); }
.nav-services.is-open .nav-trigger .ui-link-label,
.nav-services:focus-within .nav-trigger .ui-link-label { background-size:100% var(--interaction-line-width); }
.nav [data-ui="link"] img { filter:brightness(0) saturate(100%) !important; transition:transform var(--interaction-duration) var(--interaction-ease) !important; }
/* Icons do not slide or bounce on hover; state-indicating chevrons keep their rotation. */
[data-ui="primary"] > svg,[data-ui="primary"] > .ph,
[data-ui="outline"] > .ph { transform:none !important; transition:none !important; }
[data-ui="icon"]:active { transform:none !important; }
[data-ui="icon"] > .ph-x {
  display:inline-block;
  transform:rotate(0deg);
  transform-origin:center;
  transition:transform var(--interaction-duration) var(--interaction-ease);
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  [data-ui="icon"]:hover > .ph-x { transform:rotate(-90deg); }
}
@media (prefers-reduced-motion:no-preference) {
  [data-ui="icon"]:focus-visible > .ph-x { transform:rotate(-90deg); }
}
/* Intent changes immediately; is-open remains during the content collapse. */
.service-item .service-summary[aria-expanded="false"] .service-glyph { transform:rotate(0deg); }
.service-item .service-summary[aria-expanded="true"] .service-glyph { transform:rotate(45deg); }
.service-item .service-summary[aria-expanded="true"] .service-open:hover .service-glyph { transform:rotate(33deg); }
.service-item .service-summary[aria-expanded="false"] .service-open:hover .service-glyph { transform:rotate(0deg); }
.service-open,.service-glyph,.burger span {
  transition-duration:var(--interaction-duration) !important;
  transition-timing-function:var(--interaction-ease) !important;
}
.service-summary:focus-visible .service-open { outline:var(--interaction-focus-width) solid currentColor; outline-offset:var(--interaction-focus-offset); }
[data-ui="disclosure"]:focus-visible { outline-offset:calc(-1 * var(--interaction-focus-offset)) !important; }
[data-ui="choice"][aria-pressed="true"],.month-menu [data-ui="choice"].active {
  background:var(--color-ink) !important; color:var(--color-paper) !important; border-color:var(--color-ink) !important;
}
[data-ui="choice"] .filter-count { color:inherit !important; }
[data-ui="primary"]:focus-visible:not(:disabled) { background:var(--color-accent) !important; color:var(--color-ink) !important; }
[data-ui="primary"].footer-request:focus-visible { background:var(--color-paper) !important; }
[data-ui="outline"]:focus-visible,[data-ui="icon"]:focus-visible,
[data-ui="icon"][aria-pressed="true"] { background:var(--color-accent) !important; color:var(--color-ink) !important; }
@media (hover:hover) {
  .service-item .service-summary[aria-expanded="false"]:hover .service-open { background:var(--color-ink); color:var(--color-paper); border-color:var(--color-ink); }
  [data-ui="link"]:hover,[data-ui="card"]:hover { color:inherit !important; text-decoration-color:currentColor; }
  [data-ui="link"]:hover .ui-link-label,[data-ui="card"]:hover .ui-link-label { background-size:100% var(--interaction-line-width); }
  [data-ui="primary"]:hover:not(:disabled):not([aria-disabled="true"]) { background:var(--color-accent) !important; color:var(--color-ink) !important; }
  [data-ui="primary"].footer-request:hover:not(:disabled):not([aria-disabled="true"]) { background:var(--color-paper) !important; }
  [data-ui="outline"]:hover:not(:disabled):not([aria-disabled="true"]),
  [data-ui="icon"]:hover:not(:disabled):not([aria-disabled="true"]) { background:var(--color-accent) !important; color:var(--color-ink) !important; border-color:var(--color-accent) !important; }
  [data-ui="choice"]:hover:not([aria-pressed="true"]):not(.active) { background:var(--color-surface) !important; color:var(--color-ink) !important; border-color:var(--color-ink) !important; }
}
@media (hover:none) {
  .service-item:hover .service-open { background:var(--color-review-surface); color:var(--color-ink); border-color:transparent; }
  [data-ui="primary"]:hover:not(:focus-visible) { background:var(--color-ink) !important; color:var(--color-paper) !important; }
  [data-ui="primary"].footer-request:hover:not(:focus-visible) { background:var(--color-accent) !important; color:var(--color-ink) !important; }
  [data-ui="outline"]:hover:not(:focus-visible) { background:transparent !important; color:inherit !important; }
  .scroller-arrow:hover:not(:focus-visible) { background:var(--color-ink) !important; color:var(--color-paper) !important; }
}
/* Article contents navigation retains its restrained reading treatment. */
.article-aside .ui-link-label { padding-bottom:0; }
.article-aside [data-ui="link"]:hover { color:var(--color-muted) !important; }
.article-aside [data-ui="link"][aria-current]:hover { color:var(--color-ink) !important; }
.cases-all[data-ui="link"]:focus-visible { color:var(--color-accent) !important; }
@media (hover:hover) {
  .cases-all[data-ui="link"]:hover { color:var(--color-accent) !important; }
}
@media (prefers-reduced-motion:reduce) {
  [data-ui],[data-ui]::before,[data-ui]::after,[data-ui] *,
  [data-ui] *::before,[data-ui] *::after { transition:none !important; }
}
