.services__tile--lift {
  transition: transform 0.3s ease;
}

.services__tile--lift:hover {
  transform: scale(1.05);
}

.services__badge--offset {
  top: 0.5rem;
  inset-inline-end: 0.5rem;
}

.steps-arrow-stack__badge-circle {
    width: 3rem;
    height: 3rem;
}

.steps-arrow-stack__icon-box {
    width: 2rem;
    height: 2rem;
}

.steps-arrow-stack__sm-circle {
    width: 1.5rem;
    height: 1.5rem;
}

/* integrations — unified hover (layout; shadow + lift; respect reduced motion) */
.integrations-card-hover {
    transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.integrations-card-hover:hover {
    box-shadow:
        0 20px 25px -5px rgb(0 0 0 / 0.1),
        0 8px 10px -6px rgb(0 0 0 / 0.1);
    transform: translateY(-2px) scale(1.03);
}

.integrations-card-hover--shadow-only {
    transition: box-shadow 0.35s ease;
}

.integrations-card-hover--shadow-only:hover {
    transform: none;
    box-shadow:
        0 20px 25px -5px rgb(0 0 0 / 0.1),
        0 8px 10px -6px rgb(0 0 0 / 0.1);
}

@media (prefers-reduced-motion: reduce) {
    .integrations-card-hover:hover {
        transform: none;
    }
}

/* Primary tile: wpg-preview --tw-primary-* | --bs-primary-scale-*; inherited --bs-primary hex */
.integrations__icon-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    color: #fff;
    --_ie-from: rgb(var(--tw-primary-500, var(--bs-primary-scale-500, 99 102 241)) / 1);
    --_ie-to: rgb(var(--tw-primary-600, var(--bs-primary-scale-600, 79 70 229)) / 1);
    background-color: var(--bs-primary, rgb(var(--tw-primary-600, var(--bs-primary-scale-600, 79 70 229)) / 1));
    background-image: linear-gradient(to bottom right, var(--_ie-from), var(--_ie-to));
}
.integrations__icon-tile i {
    color: inherit;
}
.integrations__icon-tile svg,
.integrations__icon-tile :is(path, circle, rect, polygon) {
    fill: currentColor;
}

/* Softer card hover shadow (avoids muddy stack with shadow-lg / BS cards) */
.integrations-card-hover:hover {
    box-shadow: 0 0.375rem 1rem rgba(15, 23, 42, 0.07);
}
.integrations-card-hover--shadow-only:hover {
    box-shadow: 0 0.375rem 1rem rgba(15, 23, 42, 0.07);
}

/* Hover effects moved out of the sem directive (custom classes, framework-independent) */
.integrations-v3__fx-card:hover .integrations__icon-tile { opacity: 0.9; }
.integrations-v3__fx-card .integrations__icon-tile i { transition: transform 0.3s ease; }
.integrations-v3__fx-card:hover .integrations__icon-tile i { transform: scale(1.1); }
.integrations-v3__fx-card h3 { transition: color 0.3s ease; }
.integrations-v3__fx-card:hover h3 { color: var(--bs-primary, rgb(var(--tw-primary-400) / 1)); }
.dark .integrations-v3__fx-card:hover h3 { color: var(--bs-primary, rgb(var(--tw-primary-600) / 1)); }
.integrations-v3__fx-card:hover .integrations-v3__overlay { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .integrations-v3__fx-card:hover .integrations__icon-tile i { transform: none; }
}

.faq-tiles__toggle, .faq-tiles__all { appearance: none; -webkit-appearance: none; font: inherit; cursor: pointer; }
.faq-tiles__toggle { outline-offset: -2px; }
.faq-tiles__icon { width: 3rem; height: 3rem; }
.faq-tiles__chev { width: 2.25rem; height: 2.25rem; flex-shrink: 0; transition: transform 350ms cubic-bezier(.2, .8, .2, 1); }
.faq-tiles__card { transition: border-color 250ms ease, box-shadow 250ms ease, transform 250ms ease; }
.faq-tiles__card:hover { transform: translateY(-.25rem); }
.faq-tiles__card.is-open .faq-tiles__chev { transform: rotate(135deg); }

.faq-tiles__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 420ms cubic-bezier(.2, .8, .2, 1); }
.faq-tiles__card.is-open .faq-tiles__panel { grid-template-rows: 1fr; }
.faq-tiles__inner { overflow: hidden; min-height: 0; }
.faq-tiles__inner > * { opacity: 0; transition: opacity 300ms ease; }
.faq-tiles__card.is-open .faq-tiles__inner > * { opacity: 1; transition-delay: 120ms; }

.faq-tiles__all-icon { transition: transform 300ms ease; }
.faq-tiles__all[aria-pressed="true"] .faq-tiles__all-icon { transform: rotate(180deg); }

.faq-tiles__cell { opacity: 0; transform: translateY(1.25rem); transition: opacity 550ms ease, transform 550ms cubic-bezier(.2, .8, .2, 1); }
.faq-tiles__cell.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    .faq-tiles__chev, .faq-tiles__card, .faq-tiles__panel, .faq-tiles__inner > *, .faq-tiles__all-icon, .faq-tiles__cell { transition: none; }
    .faq-tiles__card:hover { transform: none; }
    .faq-tiles__cell { opacity: 1; transform: none; }
}

.faq-tiles__intro { max-width: 42rem; min-width: 0; }

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.faq-tiles[hidden], .faq-tiles [hidden], .faq-tiles .hidden.d-none { display: none !important; }

/* Production builds compile the sem classes after the utility layer, so the toggled border utilities cannot mark the open card; give it its own ring. */
.faq-tiles__card.is-open { outline: 2px solid; outline-offset: -2px; }

