/* intro v29 — Rolls-Royce thread: circle-expand reveal, half-ring, chat alignment, dual-layer parallax */

.intro-thread { min-height: 88vh; }

/* Clip-path circle expand from centre on load */
.intro-thread__reveal {
    animation: intro-thread-expand 900ms ease forwards;
}
@keyframes intro-thread-expand {
    from { clip-path: circle(0% at 50% 50%); }
    to   { clip-path: circle(150% at 50% 50%); }
}

/* Half-ring at the boundary (fixed size — no BS w-N/h-N utility) */
.intro-thread__half {
    width: 16rem;
    height: 8rem;
    opacity: 0.7;
    filter: blur(2px);
}
.intro-thread__sun { width: 6rem; height: 6rem; }
.intro-thread [data-msg] { max-width: 28rem; }

/* Dual-layer parallax offset (set by JS via custom props) */
.intro-thread__island [data-layer] {
    transition: transform 200ms ease-out;
    transform: translate(var(--px, 0), var(--py, 0));
}

/* Chat thread alternate alignment + retro corner tails */
.intro-thread [data-msg] { border-bottom-left-radius: 0.25rem; }
.intro-thread [data-msg]:nth-child(even) {
    margin-left: auto;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 0.25rem;
}

@media (prefers-reduced-motion: reduce) {
    .intro-thread__reveal { animation: none; }
    .intro-thread__island [data-layer] { transition: none; }
}

.steps-numbered-cards__card-col {
    max-width: 24rem;
}

.steps-numbered-cards__number-badge {
    width: 3.5rem;
    height: 3.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: 2.5rem;
    height: 2.5rem;
    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));
}

/* Status dot sizing (no colors) */
.integrations__status-dot {
    width: 0.5rem;
    height: 0.5rem;
}

/* Uptime bar sizing (no colors) */
.integrations__uptime-track {
    height: 0.375rem;
}
.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);
}

/* Widget card sizing */
.integrations__widget-card {
    min-width: 260px;
    max-width: 300px;
    flex: 1 1 260px;
}

.integrations__widget-desc {
    font-size: 0.8125rem;
}

/* Hover effects moved out of the sem directive (custom classes, framework-independent) */
.integrations-v18__fx-card .integrations__icon-tile { transition: transform 0.3s ease; }
.integrations-v18__fx-card:hover .integrations__icon-tile { transform: scale(1.1); }
@media (prefers-reduced-motion: reduce) {
    .integrations-v18__fx-card:hover .integrations__icon-tile { transform: none; }
}

