/* tile hero — dark band, photo tile cards, geometric accents (no colors) */
.tile-hero__title {
    letter-spacing: -0.02em;
    text-wrap: balance;
}

.tile-hero__star--big {
    font-size: 8rem;
    line-height: 1;
}

.tile-hero__star--small {
    top: 9rem;
    font-size: 5rem;
    line-height: 1;
}

.tile-hero__blob {
    width: 22rem;
    height: 22rem;
    left: -8rem;
    bottom: -6rem;
}

.tile-hero__wedge {
    width: 60%;
    height: 45%;
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.tile-hero__card {
    transition: transform 150ms ease;
}

.tile-hero__card:hover {
    transform: translateY(-0.25rem);
}

.tile-hero__img {
    height: 11rem;
    object-fit: cover;
}

@media (max-width: 767px) {
    .tile-hero__star--big {
        font-size: 4rem;
    }

    .tile-hero__star--small,
    .tile-hero__blob {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tile-hero__card {
        transition: none;
    }
}

/* content statement — centered value proposition with corner blob (no colors) */
.content-statement__blob.content-statement__blob {
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    pointer-events: none;
    top: 0;
    right: 0;
    transform: translate(2.5rem, -2.5rem);
}

.content-statement__title.content-statement__title {
    max-width: 52rem;
}

.content-statement__body.content-statement__body {
    margin-inline: auto;
}

@media (max-width: 767px) {
    .content-statement__title {
        font-size: 1.75rem;
    }
}

/* benefits split — dark panel with text left, photo right (no colors) */
.benefits-split__blob.benefits-split__blob {
    width: 10rem;
    height: 10rem;
    transform: translate(-2.5rem, -2.5rem);
}

.benefits-split__panel {
    min-height: 22rem;
}

.benefits-split__media {
    min-height: 18rem;
}

.benefits-split__img.benefits-split__img {
    object-fit: cover;
}

@media (max-width: 767px) {
    .benefits-split__media {
        min-height: 14rem;
    }

}

.benefits-split__cta {
    transition: text-decoration-color 200ms ease;
}

.benefits-split__subtitle.benefits-split__subtitle {
    opacity: 0.85;
}

/* feature tabs — sticky-style nav switcher with framed demo image and blob accents (no colors) */
.featuretabs__btn {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    outline-offset: -2px;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.featuretabs__media {
    min-height: 18rem;
    max-width: 100%;
}

.featuretabs__img.featuretabs__img {
    max-width: 100%;
    max-height: 30rem;
    object-fit: cover;
}

.featuretabs__blob-1 {
    width: 9rem;
    height: 9rem;
    max-width: 30%;
    max-height: 30%;
    border-radius: 50% 50% 0 50%;
    transform: translate(0, -2rem);
    background-color: var(--tw-primary-200, currentColor);
    opacity: .18;
    box-shadow: none;
}

.featuretabs__blob-2 {
    width: 4rem;
    height: 4rem;
    border-radius: 9999px;
    bottom: 1.5rem;
    left: 1.5rem;
    background-color: var(--tw-primary-400, currentColor);
    opacity: .18;
    box-shadow: none;
}

@media (max-width: 767px) {
    .featuretabs__media {
        min-height: 12rem;
    }
}

/* testimonial-trio — tiled quote cards with dashed decor (no colors) */
.testimonial-trio__card {
    transition: transform 200ms ease;
}

.testimonial-trio__mark {
    display: block;
    font-family: Georgia, serif;
}

.testimonial-trio__quote {
    line-height: 1.5;
}

.testimonial-trio__photo.testimonial-trio__photo {
    width: 6rem;
    height: 6rem;
    object-fit: cover;
    flex: none;
}

.testimonial-trio__dashes {
    width: 10rem;
    height: 13.75rem;
}

.testimonial-trio__dashes--left {
    top: -2rem;
    left: -1rem;
}

.testimonial-trio__dashes--right {
    bottom: -2rem;
    right: -1rem;
    width: 13.75rem;
    height: 10rem;
}

@media (max-width: 767px) {
    .testimonial-trio__dashes {
        display: none;
    }
}

/* cta-districts — split photo/teal panel promo, no colors */
.cta-districts__media {
    min-height: 16rem;
}

.cta-districts__img {
    object-fit: cover;
}

.cta-districts__btn {
    transition: transform 150ms ease;
}

.cta-districts__btn:hover {
    transform: scale(1.05);
}

.catalog-tabs__tile {
    aspect-ratio: 303 / 152;
    transition: transform 150ms ease;
}

.catalog-tabs__tile:hover {
    transform: scale(1.03);
}

.catalog-tabs__img {
    object-fit: cover;
}

.catalog-tabs__btn {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    cursor: pointer;
    outline-offset: -2px;
    border-top: 0;
    border-left: 0;
    border-right: 0;
}

@media (max-width: 767px) {
    .catalog-tabs__tile {
        aspect-ratio: 4 / 3;
    }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-tabs__tile {
        transition: none;
    }
}

/* Bootstrap has no transparent border colour: the inactive label hides its underline here */
.catalog-tabs__off {
    border-bottom-color: transparent !important;
}

/* advantages-tiles — initiatives grid with top-row image cards + bottom-row text-only cards */
.advantages-tiles__blob {
    pointer-events: none;
}

.advantages-tiles__blob--top {
    width: 16rem;
    height: 16rem;
    transform: translate(2.5rem, -2.5rem);
}

.advantages-tiles__blob--bottom {
    width: 18rem;
    height: 18rem;
    transform: translate(-4rem, 4rem);
}

.advantages-tiles__media {
    height: 12rem;
}

.advantages-tiles__img.advantages-tiles__img {
    object-fit: cover;
}

.advantages-tiles__icon-box {
    width: 4rem;
    height: 4rem;
    flex: none;
}

.advantages-tiles__link {
    width: fit-content;
}

@media (max-width: 767px) {
    .advantages-tiles__media {
        height: 10rem;
    }
}

/* cta-unlock — full-bleed photo under a dark overlay (no colors) */
.cta-unlock__img {
    object-fit: cover;
}

.cta-unlock__content {
    max-width: 28rem;
}

.cta-unlock__title {
    letter-spacing: -0.01em;
}

.cta-unlock__btn {
    align-self: flex-start;
    transition: transform 150ms ease;
}

.cta-unlock__btn:hover {
    transform: scale(1.05);
}

