/* Google Material Symbols Outlined: optical size 24, weight 500, unfilled.
 * SVGs keep each component's existing dimensions and colour, with no icon font. */
svg.retrix-icon {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
  fill: currentColor !important;
  stroke: none !important;
  overflow: visible;
}
.retrix-icon use { fill: currentColor; stroke: none; }
.retrix-icon.retrix-icon--inline { width: 1em; height: 1em; }

/* Rotate only the glyph; the circular hit area stays centred and stationary. */
body .retrix-icon.retrix-icon--action {
  display: inline-block;
  width: 1em;
  height: 1em;
  transform: rotate(-45deg);
  transform-origin: center;
  transition: transform .25s ease;
}
body .retrix-icon.retrix-icon--back { transform: rotate(45deg); }
body :is(a, button, summary, .testimonial-card, .blog-story):is(:hover, :focus-visible) .retrix-icon.retrix-icon--action {
  transform: rotate(0deg);
}
/* Existing arrow wrappers provide sizing/position, never a second rotation. */
body :is(span, i):has(> .retrix-icon--action),
body :is(a, button):is(:hover, :focus-visible) :is(span, i):has(> .retrix-icon--action) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 0;
  vertical-align: middle;
  transform: none !important;
}
body :is(.case-tab-arrow, .testimonial-arrow, .blog-story-arrow) { display: inline-flex; align-items: center; justify-content: center; }
body :is(.case-tab-arrow, .testimonial-arrow, .blog-story-arrow) > .retrix-icon--action { margin: 0; }
body :is(.header-project-cta, .article-related-head > a, .rsl-close, .rd-sidebar-close, .rd-sidebar-toggle, .article-share-copy) { align-items: center; justify-content: center; }
.rsl-close { display: inline-flex; padding: 0; line-height: 0; }

/* Toggles retain their native controls, labels and ARIA state. */
.header-menu-toggle .retrix-icon--close,
.auth-password-toggle .retrix-icon--hidden,
.service-reference-accordion-item .retrix-icon--minus,
.services-index-item .retrix-icon--minus { display: none; }
.is-menu-open .header-menu-toggle .retrix-icon--menu,
.auth-password-toggle[aria-pressed="true"] .retrix-icon--visible,
.service-reference-accordion-item.is-active .retrix-icon--plus,
.services-index-item.on .retrix-icon--plus { display: none; }
.is-menu-open .header-menu-toggle .retrix-icon--close,
.auth-password-toggle[aria-pressed="true"] .retrix-icon--hidden,
.service-reference-accordion-item.is-active .retrix-icon--minus,
.services-index-item.on .retrix-icon--minus { display: inline-block; }
.testimonial-stars { display: flex; align-items: center; gap: 3px; min-height: 1lh; }
.testimonial-stars .retrix-icon { width: 1em; height: 1em; }
.trust-copy .stars { display: flex; align-items: center; min-height: 1lh; }
.trust-copy .stars .retrix-icon { width: 1em; height: 1em; }
.founder-milestone-icon .retrix-icon, .founder-vision-icon .retrix-icon { width: 1em; height: 1em; }
.services-panel-art .retrix-service-art { width: 120px; height: 120px; max-width: 100%; color: #b49bff; }
.rd-nav-symbol .retrix-icon { width: 20px; height: 20px; }
.rd-stat-head .retrix-icon { width: 18px; height: 18px; }
.marquee .track span::after { display: inline-block; width: 1em; height: 1em; background: #7c3aed; mask: url('../icons/auto_awesome.svg') center / contain no-repeat; }
.svc-deliverables li::before { background-image: url('../icons/check-on-dark.svg'); background-position: center; background-size: 12px; background-repeat: no-repeat; }
.service-price-features li::before { background-image: url('../icons/check-purple.svg'); background-position: center; background-size: 12px; background-repeat: no-repeat; }
.auth-remember input:checked::after { width: 14px; height: 14px; background: #fff; mask: url('../icons/check.svg') center / contain no-repeat; }
.rd-stat:nth-child(1) { --stat-symbol: url('../icons/work.svg'); }
.rd-stat:nth-child(2) { --stat-symbol: url('../icons/article.svg'); }
.rd-stat:nth-child(3) { --stat-symbol: url('../icons/pending_actions.svg'); }
.rd-stat:nth-child(4) { --stat-symbol: url('../icons/task_alt.svg'); }
.rd-stat::after { content: ''; grid-column: 1; grid-row: 1 / span 3; align-self: center; justify-self: center; width: 26px; height: 26px; background: #fff; mask: var(--stat-symbol) center / contain no-repeat; pointer-events: none; }

@media (prefers-reduced-motion: reduce) {
  body .retrix-icon.retrix-icon--action { transition: none; }
}
