.intro-animated-gradient__root {
    padding-top: clamp(4rem, 12vw, 10rem);
    padding-bottom: clamp(4rem, 12vw, 10rem);
    min-height: min(32rem, 85vh);
}

@keyframes intro-animated-gradient-spin {
    to {
        transform: rotate(360deg);
    }
}

.intro-animated-gradient__spin--left,
.intro-animated-gradient__spin--right {
    width: 85%;
    height: 85%;
    top: 7.5%;
    animation-name: intro-animated-gradient-spin;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    transform-origin: 50% 50%;
}

.intro-animated-gradient__spin--left {
    left: -18%;
    animation-duration: 48s;
}

.intro-animated-gradient__spin--right {
    right: -18%;
    animation-duration: 60s;
    animation-direction: reverse;
}

.intro-animated-gradient__area {
    max-width: 48rem;
}

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

.services__tile--lift:hover {
  box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
}

@media (min-width: 640px) {
  .services__tile--lift:hover {
    transform: scale(1.05);
  }
}

.services__cta--lift {
  transition: filter 0.3s ease, transform 0.3s ease;
}

@media (min-width: 640px) {
  .services__cta--lift:hover {
    transform: scale(1.05);
  }
}

.services__cta--lift:hover {
  filter: brightness(0.92);
}

/* process diagonal — bg blob, card clip-path variants, hover lift */
.process-diag__bg-blob {
    position: absolute;
    width: 35rem;
    height: 35rem;
    border-radius: 50%;
    filter: blur(6rem);
    opacity: 0.05;
    pointer-events: none;
    top: -10rem;
    left: 30%;
    background: var(--bs-primary);
}
.process-diag__card {
    transition: transform 200ms ease;
}
.process-diag__card:hover {
    transform: scale(1.01);
}
.process-diag__card--0 {
    clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
}
.process-diag__card--1 {
    clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 95%);
}
.process-diag__watermark {
    z-index: 0;
    max-width: 100%;
    overflow: hidden;
    user-select: none;
}

/* quote v22 — filmstrip: VHS scanlines, rain, clouds, ID-badge cards, scroll reveal */

.quote-filmstrip__cloud {
    width: 14rem;
    height: 8rem;
    filter: blur(48px);
}
.quote-filmstrip__cloud--a {
    top: 10%;
    left: -4rem;
}
.quote-filmstrip__cloud--b {
    bottom: 8%;
    right: -3rem;
}

.quote-filmstrip__drop {
    width: 1px;
    animation: quoteFilmstripRain 4.5s linear infinite;
}
.quote-filmstrip__drop--1 { left: 12%; animation-delay: 0s; }
.quote-filmstrip__drop--2 { left: 28%; animation-delay: 0.8s; }
.quote-filmstrip__drop--3 { left: 44%; animation-delay: 1.6s; }
.quote-filmstrip__drop--4 { left: 60%; animation-delay: 0.4s; }
.quote-filmstrip__drop--5 { left: 76%; animation-delay: 2.1s; }
.quote-filmstrip__drop--6 { left: 88%; animation-delay: 1.2s; }
@keyframes quoteFilmstripRain {
    0% { transform: translateY(-120%); opacity: 0; }
    15% { opacity: 0.6; }
    100% { transform: translateY(120vh); opacity: 0; }
}

.quote-filmstrip__divider {
    width: 3rem;
    height: 0.25rem;
    margin-bottom: 1rem;
}

.quote-filmstrip__title {
    font-variant: small-caps;
}

.quote-filmstrip__panel {
    scroll-snap-type: x mandatory;
    min-width: 0;
}

@media (min-width: 992px) {
    .quote-filmstrip__aside {
        width: 18rem;
        max-width: 18rem;
    }
    .quote-filmstrip__panel {
        flex: 1 1 0;
        width: 0;
        max-width: 100%;
    }
}

.quote-filmstrip__track {
    width: max-content;
    min-width: 100%;
}

.quote-filmstrip__reveal {
    display: flex;
    flex-direction: column;
    min-height: 22rem;
    opacity: 1;
    transform: none;
    transition: opacity 600ms ease, transform 600ms ease;
}
.quote-filmstrip__reveal--left:not(.is-visible) {
    opacity: 0;
    transform: translateX(-2rem);
}
.quote-filmstrip__reveal--right:not(.is-visible) {
    opacity: 0;
    transform: translateX(2rem);
}
.quote-filmstrip__reveal--center:not(.is-visible) {
    opacity: 0;
    transform: translateY(1.5rem);
}
.quote-filmstrip__reveal.is-visible {
    opacity: 1;
    transform: translate(0, 0);
}

.quote-filmstrip__card--focal {
    width: min(85vw, 22rem);
    min-height: 26rem;
}
.quote-filmstrip__card--support {
    width: min(72vw, 18rem);
    min-height: 22rem;
}

.quote-filmstrip__media {
    position: relative;
    flex: 1 1 auto;
    min-height: 14rem;
    overflow: hidden;
}
.quote-filmstrip__card--focal .quote-filmstrip__media {
    min-height: 16rem;
}

.quote-filmstrip__img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    min-height: 14rem;
}

.quote-filmstrip__clamp {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.quote-filmstrip__meta-quote {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.quote-filmstrip__sprockets {
    pointer-events: none;
}
.quote-filmstrip__sprockets--top {
    top: 0.35rem;
}
.quote-filmstrip__sprockets--bottom {
    bottom: 3.25rem;
}
/* hover + focus affordances (layout/outline via theme token) */
@media (hover: hover) {
    .quote-filmstrip-root [role="listitem"]:hover,
    .quote-filmstrip-root article:hover,
    .quote-filmstrip-root [class*="quote-filmstrip__card"]:hover,
    .quote-filmstrip-root .quote-filmstrip__book:hover,
    .quote-filmstrip-root .quote-filmstrip__step:hover,
    .quote-filmstrip-root .quote-filmstrip__index-card:hover,
    .quote-filmstrip-root .quote-filmstrip__pill:hover,
    .quote-filmstrip-root .quote-filmstrip__item:hover {
        transform: translateY(-0.125rem);
    }
}

.quote-filmstrip-root [role="listitem"],
.quote-filmstrip-root article,
.quote-filmstrip-root [class*="quote-filmstrip__card"],
.quote-filmstrip-root .quote-filmstrip__book,
.quote-filmstrip-root .quote-filmstrip__step,
.quote-filmstrip-root .quote-filmstrip__index-card,
.quote-filmstrip-root .quote-filmstrip__pill {
    transition: transform 200ms ease;
}

.quote-filmstrip-root a:focus-visible,
.quote-filmstrip-root button:focus-visible,
.quote-filmstrip-root [tabindex="0"]:focus-visible,
.quote-filmstrip-root input:focus-visible,
.quote-filmstrip-root summary:focus-visible,
.quote-filmstrip-root [role="slider"]:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

@media (hover: hover) {
    .quote-filmstrip-root button:hover,
    .quote-filmstrip-root a:hover,
    .quote-filmstrip-root summary:hover {
        opacity: 0.92;
    }
}


.callout-signup__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.callout-signup__jump--rise:hover { transform: scale(1.05); transition: transform .2s ease; }

