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

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

.content-img-fill {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 16rem;
    min-width: 0;
    object-fit: cover;
    flex-shrink: 0;
}

.copy-document__text-panel-inset {
    padding: 4rem;
}

.dispatch-stack-media__frame {
    height: 12rem;
}

.dispatch-stack-media__col {
    min-width: 0;
}

/* BS-only gradient (TW uses @sem layer) */
.dispatch-stack-media__canvas-bg {
    background: linear-gradient(
        to bottom right,
        color-mix(in srgb, var(--bs-primary) 50%, black),
        color-mix(in srgb, var(--bs-primary) 38%, black),
        var(--bs-primary)
    );
}

.dark .dispatch-stack-media__canvas-bg,
[data-bs-theme="dark"] .dispatch-stack-media__canvas-bg {
    background: linear-gradient(
        to bottom right,
        color-mix(in srgb, var(--bs-primary) 10%, black),
        color-mix(in srgb, var(--bs-primary) 24%, black),
        color-mix(in srgb, var(--bs-primary) 40%, black)
    );
}

.dispatch-stack-media__svg {
    display: block;
}

.dispatch-stack-media__orb {
    transform-origin: center;
    transform-box: fill-box;
}

.dispatch-stack-media__orb--a {
    animation: dispatch-stack-media-drift-a 8s ease-in-out infinite;
}

.dispatch-stack-media__orb--b {
    animation: dispatch-stack-media-drift-b 10s ease-in-out infinite;
    animation-delay: 1s;
}

.dispatch-stack-media__wave {
    stroke-linecap: round;
    stroke-linejoin: round;
    transform-origin: center;
}

.dispatch-stack-media__wave--a {
    animation: dispatch-stack-media-wave-slide 12s linear infinite;
}

.dispatch-stack-media__wave--b {
    animation: dispatch-stack-media-wave-slide 16s linear infinite reverse;
    animation-delay: 1.5s;
}

.dispatch-stack-media__stage--1 .dispatch-stack-media__orb--a {
    animation-delay: 0.6s;
}

.dispatch-stack-media__stage--1 .dispatch-stack-media__wave--a {
    animation-duration: 14s;
}

@keyframes dispatch-stack-media-drift-a {
    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    50% {
        transform: translate(10px, -8px) scale(1.07);
    }
}

@keyframes dispatch-stack-media-drift-b {
    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    50% {
        transform: translate(-12px, 6px) scale(1.05);
    }
}

@keyframes dispatch-stack-media-wave-slide {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-36px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dispatch-stack-media__orb--a,
    .dispatch-stack-media__orb--b,
    .dispatch-stack-media__wave--a,
    .dispatch-stack-media__wave--b {
        animation: none;
    }
}

.perks-bordered-flex__tile {
    transition: transform 0.2s ease;
}

@media (min-width: 640px) {
    .perks-bordered-flex__tile:hover {
        transform: scale(1.05);
    }
}

/* subscribe v23 — marquee: geometry shared by both CSS frameworks, no colors */
.mailing-marquee__section--py-4xl {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.mxw-2xl {
    max-width: 42rem !important;
}

@keyframes mailing-marquee-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.mailing-marquee__track {
    width: max-content;
    gap: 2.5rem;
    animation: mailing-marquee-scroll 25s linear infinite;
}

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

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

.mailing-marquee__input {
    max-width: 20rem;
}

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

@media (prefers-reduced-motion: reduce) {
    .mailing-marquee__track {
        animation: none;
    }
}

/* edge fade mask — alpha gradient, not a fill color choice */
.mailing-marquee__viewport {
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.google-map-with-tagline-quote-and-minimal-design__iframe { width: 100%; min-height: 400px; }
@media (min-width: 768px) { .google-map-with-tagline-quote-and-minimal-design__iframe { min-height: 600px; } }

/* iframe-normalized */
.google-map-with-tagline-quote-and-minimal-design__iframe {
    width: 100%;
    max-width: 100%;
    height: 400px;
    min-height: 400px;
    display: block;
    border: 0;
    box-sizing: border-box;
    vertical-align: bottom;
}

@media (min-width: 768px) {
    .google-map-with-tagline-quote-and-minimal-design__iframe {
        height: 600px;
        min-height: 600px;
    }
}


