/* intro v16 — Metropolis reel: film-perforation strips, image cover, load stagger, radius morph */

/* Film-perforation edge strips: colour comes from Tailwind bg-* on the element; mask punches holes */
.intro-reel__perf {
    -webkit-mask: radial-gradient(circle at center, transparent 0 0.28rem, black 0.3rem) center / 1.5rem 2.2rem;
    mask: radial-gradient(circle at center, transparent 0 0.28rem, black 0.3rem) center / 1.5rem 2.2rem;
    z-index: 1;
}

/* Background image fills the band, keeps aspect via object-fit (no BS utility) */
.intro-reel__row {
    min-height: 18rem;
    transition: border-radius 320ms ease;
    opacity: 0;
    animation: intro-reel-rise 520ms ease forwards;
}
.intro-reel__img {
    object-fit: cover;
    object-position: center;
}

/* Border-radius morph on hover */
.intro-reel__row:hover {
    border-radius: 2.25rem 0.5rem 2.25rem 0.5rem;
}

/* Stagger children — 80ms delay each on load */
.intro-reel__row:nth-child(1) { animation-delay: 0ms; }
.intro-reel__row:nth-child(2) { animation-delay: 80ms; }
.intro-reel__row:nth-child(3) { animation-delay: 160ms; }
.intro-reel__row:nth-child(4) { animation-delay: 240ms; }
.intro-reel__row:nth-child(5) { animation-delay: 320ms; }
.intro-reel__row:nth-child(6) { animation-delay: 400ms; }

@keyframes intro-reel-rise {
    from { opacity: 0; transform: translateY(1.5rem); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .intro-reel__row { animation: none; opacity: 1; }
}

/* 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: 3.5rem;
    height: 3.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));
}
.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);
}

/* Filmstrip scroll */
.integrations__fade-left {
    width: 4rem;
    background: linear-gradient(to right, var(--tw-gradient-from, transparent), transparent);
}

.integrations__fade-right {
    width: 4rem;
    background: linear-gradient(to left, var(--tw-gradient-from, transparent), transparent);
}

.integrations__filmstrip-scroll {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.integrations__filmstrip-track {
    width: max-content;
}

.integrations__filmstrip-card {
    width: 280px;
}

.integrations__filmstrip-stripe {
    height: 0.5rem;
}

.integrations__scroll-dot {
    width: 0.5rem;
    height: 0.5rem;
}

.integrations__card-summary {
    font-size: 0.875rem;
}

/* Solid primary CTA (was low-contrast text link on light cards) */
.integrations__cta-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    background-color: var(--bs-primary, rgb(var(--tw-primary-600, var(--bs-primary-scale-600, 79 70 229)) / 1));
    color: #fff !important;
    border: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
    text-decoration: none;
    cursor: pointer;
    font: inherit;
}
.integrations__cta-primary:hover {
    filter: brightness(1.06);
    color: #fff !important;
}

.tips-financial__card {
    max-width: 24rem;
}

.tips-financial__thumb {
    width: 2.5rem;
    height: 2.5rem;
}

/* faq v26 — masonry board */
.faq-masonry__col {
  min-width: 0;
}

.faq-masonry__cell {
  position: relative;
  min-height: 12rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

@media (min-width: 768px) {
  .faq-masonry__cell {
    min-height: 13.5rem;
  }
}

.faq-masonry__body {
  width: 100%;
  flex: 1 1 auto;
}

.faq-masonry__answer {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.faq-masonry__col--featured .faq-masonry__cell {
  min-height: 14rem;
}

@media (min-width: 768px) {
  .faq-masonry__col--featured .faq-masonry__cell {
    min-height: 16.5rem;
  }
}

.faq-masonry__col--featured .faq-masonry__answer {
  -webkit-line-clamp: 5;
}

.faq-masonry__photo {
  object-fit: cover;
  filter: grayscale(1);
  transition: filter 500ms ease;
}

.faq-masonry__cell:hover .faq-masonry__photo {
  filter: grayscale(0);
}

.faq-masonry__shade {
  transition: opacity 300ms ease;
}

.faq-masonry__cell--media:hover .faq-masonry__shade {
  opacity: 0.92;
}

