/* 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; }
}

/* Liked state: the icon brightens and grows (works with every icon pack) */
.intro-thread__like i {
    display: inline-block;
    opacity: 0.6;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.intro-thread__like[aria-pressed="true"] i {
    opacity: 1;
    transform: scale(1.2);
}

.glossary-grid__card {
    width: 100%;
}

@media (min-width: 768px) {
    .glossary-grid__card {
        width: calc(50% - 0.75rem); /* For gap-4 (1.5rem) -> half is 0.75rem */
    }
}

/* Bootstrap: grid + gap (row gutters often collapse) */
.tips-detailed__bs-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .tips-detailed__bs-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.tips-detailed__subtitle-max {
    max-width: 42rem;
}

.tips-detailed__thumb {
    width: 3rem;
    height: 3rem;
}

.tips-detailed__cta-thumb {
    width: 2rem;
    height: 2rem;
}

.tips-detailed__min-shrink {
    min-width: 0;
}

.colorbar-strip__tile {
    min-width: 260px;
    max-width: 360px;
}

.colorbar-strip__media {
    height: 12rem;
}

.colorbar-strip__img {
    object-fit: cover;
}
.colorbar-strip__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.script-bodycopy__visual--rise:hover { transform: scale(1.1); transition: transform .2s ease; }

.script-bodycopy__split-panel-inset {
    padding: 4rem;
}

.content-wide-frame {
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

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

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

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

/* caps the comparison block width */
.mailing-tiers__center {
    max-width: 56rem;
    margin-inline: auto;
}

.mailing-tiers__title {
    font-size: 1.5rem;
    margin-bottom: 2.5rem;
}

.mailing-tiers__grid {
    margin-bottom: 2.5rem;
}

.mailing-tiers__col {
    padding: 2rem;
}

.mailing-tiers__badge {
    width: fit-content;
    align-self: flex-start;
    letter-spacing: 0.025em;
}

.mailing-tiers__list,
.mailing-tiers__item {
    gap: 0.75rem;
}

.mailing-tiers__row {
    flex-direction: column;
    gap: 1rem;
}

.mailing-tiers__input {
    max-width: 24rem;
    padding: 0.75rem 1rem;
}

.mailing-tiers__cta {
    padding: 0.75rem 2rem;
}

.mailing-tiers__cta--hover {
    transition: transform 0.2s ease;
}

.mailing-tiers__cta--hover:hover {
    transform: scale(1.05);
}

.mailing-tiers__thanks {
    margin-top: 2rem;
}

.mailing-tiers__panel {
    padding: 2rem;
}

.mailing-tiers__thanks-title {
    font-size: 1.25rem;
}

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

    .mailing-tiers__input {
        flex: 1 1 0%;
    }
}

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

    .mailing-tiers__thanks-title {
        font-size: 1.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mailing-tiers__cta--hover:hover {
        transform: none;
    }
}

