/* SWISH: quieter links, no decorative arrows on text actions. */
a svg.ui-arrow,
button:not([aria-label]) svg.ui-arrow,
a:not(.round-arrow) > svg.icon,
.button svg.icon,
.button span[aria-hidden="true"]:has(> svg.icon),
a :is(.lucide-arrow-up-right, .lucide-arrow-right, .lucide-arrow-down),
button :is(.lucide-arrow-up-right, .lucide-arrow-right),
.card-link svg,
.redesign-example-cta svg,
.photo-caption > span[aria-hidden="true"] {
  display: none !important;
}
/* Remove empty icon wrappers so flex gaps do not leave a blank slot. */
:is(a, button) > span[aria-hidden="true"]:has(> svg.ui-arrow) { display: none; }
.drive-hero .eyebrow::before { display: none; }
/* Cards retain a small, recognizable navigation cue. */
.round-arrow svg, .card-arrow svg { display: none; }
.round-arrow::after, .card-arrow::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: translateX(-2px) rotate(45deg);
}
/* Disclosure controls show their actual open/closed state. */
.service-row > span:last-child svg { display: none; }
.service-row > span:last-child::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
.service-accordion-item.is-open .service-row > span:last-child { transform: rotate(180deg); }

/* Locally hosted brand glyphs, without a third-party icon font. */
.project-socials a { gap:10px; padding:4px 0; }
.project-socials .social-brand-icon { width:22px; height:22px; flex:none; filter:invert(1); }

.price .price-tax { display:block; margin-top:2px; font-size:13px; font-weight:400; letter-spacing:0; color:var(--muted); }

/* Keep legal and cookie links above the fixed live-chat launcher. */
.site-footer.wrap { padding-bottom:96px; }
