.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;
}


.content-v40-thumb-wrap {
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .content-v40-thumb-wrap {
        width: 50rem;
        max-width: 50rem;
    }
}

.content-col-grow {
    flex: 1 1 0%;
    min-width: 0;
}

.content-img-ratio {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    flex-shrink: 0;
}

.folio-bodycopy__figure--lift:hover { transform: scale(1.05); transition: transform .2s ease; }

.folio-bodycopy__action--lift:hover { transform: scale(1.05); transition: transform .2s ease; }

.content-grid-gap {
    gap: 2rem;
}

.content-heading-gap {
    margin-bottom: 2rem;
}

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

.tips-numbered__thumb {
    width: 4rem;
    height: 4rem;
}

/* glossary film — strip scrollport: min-width 0 + width 100% so overflow-x shows next card; mobile widths */
.glossary-film__mask {
    max-width: 100%;
    min-width: 0;
}

.glossary-film__strip {
    display: flex;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    scroll-snap-type: x mandatory;
}

.glossary-film__cell {
    scroll-snap-align: center;
}

@media (max-width: 767.98px) {
    .glossary-film__strip {
        padding-inline-start: 0.5rem;
        padding-inline-end: max(0.75rem, 5vw);
        scroll-padding-inline-end: max(0.75rem, 5vw);
    }

    .glossary-film__cell {
        scroll-snap-align: start;
        flex: 0 0 min(20rem, 82vw);
        width: min(20rem, 82vw);
        max-width: min(20rem, 82vw);
    }
}

@media (min-width: 768px) {
    .glossary-film__cell {
        flex: 0 0 20rem;
        width: 20rem;
        max-width: none;
    }
}

/* subscribe v14 — geometry shared by both CSS frameworks (Bootstrap has no utilities for it) */
.mailing-editorial-quote__section--py-4xl {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.mxw-3xl {
    max-width: 48rem !important;
}

.mxw-sm {
    max-width: 24rem !important;
}

.mailing-editorial-quote__kicker {
    font-size: 0.75rem;
    letter-spacing: 0.025em;
}

.mailing-editorial-quote__mark {
    top: -1.5rem;
    inset-inline-start: 0;
    font-size: 6rem;
    line-height: 1;
}

.mailing-editorial-quote__quote {
    font-size: 1.5rem;
    line-height: 1.375;
    margin-bottom: 2.5rem;
}

.mailing-editorial-quote__intro {
    margin-bottom: 2.5rem;
}

.mailing-editorial-quote__intro::first-letter {
    font-size: 3rem;
    line-height: 2.5rem;
    font-weight: 600;
    float: left;
    padding-right: 0.5rem;
    padding-top: 0.25rem;
}

.mailing-editorial-quote__rule {
    width: 4rem;
    margin-bottom: 2.5rem;
}

.mailing-editorial-quote__row {
    flex-direction: column;
    gap: 0.75rem;
}

.mailing-editorial-quote__input {
    min-width: 0;
    padding: 0.75rem 1rem;
}

.mailing-editorial-quote__cta {
    width: 100%;
    padding: 0.75rem 1.5rem;
}

@media (min-width: 640px) {
    .mailing-editorial-quote__row {
        flex-direction: row;
    }

    .mailing-editorial-quote__cta {
        width: auto;
    }
}

@media (min-width: 768px) {
    .mailing-editorial-quote__quote {
        font-size: 2.25rem;
    }
}

