/* Shared structural rules for the institutional Human + Regional feature blocks. */
.human,
.regional {
    width: 100%;
    background: var(--color-bg);
}

.human-shell,
.regional-shell {
    width: min(1280px, calc(100% - 48px));
    margin-inline: auto;
}

.human-feature,
.regional-feature {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(48px, 6vw, 90px);
    align-items: center;
}

.human-feature-media,
.human-feature-copy,
.regional-feature-media,
.regional-feature-copy {
    min-width: 0;
}

.human-feature-media,
.regional-feature-media {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: var(--radius-card);
    background: var(--color-surface-soft);
}

.human-feature-image,
.regional-feature-image {
    width: 100%;
    height: 120%;
    max-width: none;
    object-fit: cover;
    transform: translate3d(0, -8.35%, 0);
}

.human-feature-copy,
.regional-feature-copy {
    max-width: 680px;
    transform: translate3d(0, 0, 0);
}

.human-feature.is-parallax-active .human-feature-copy,
.human-feature.is-parallax-active .human-feature-image,
.regional-feature.is-parallax-active .regional-feature-copy,
.regional-feature.is-parallax-active .regional-feature-image {
    will-change: transform;
}

.human-feature-title,
.regional-feature-title {
    margin: 0;
    color: var(--color-heading);
    font-size: clamp(38px, 4.25vw, 58px);
    font-weight: 700;
    line-height: 0.99;
    letter-spacing: -0.055em;
}

.human-feature-text,
.regional-feature-text {
    margin: 18px 0 0;
    color: var(--color-muted-strong);
    font-size: 18px;
    line-height: 1.62;
    letter-spacing: -0.01em;
}

.human-benefits li,
.regional-benefits li {
    display: flex;
    gap: 10px;
    min-width: 0;
    padding: 7px 0;
    border-radius: 14px;
    background: transparent;
    color: var(--color-text);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.34;
}

.human-benefits .ti,
.regional-benefits .ti {
    flex: 0 0 auto;
    color: var(--color-primary-strong);
    font-size: 22px;
    line-height: 1;
}

/* Human e Regional compartilham a mesma entrada: imagem aparece; texto assenta. */
.human[data-motion-ready] .human-feature-image,
.regional[data-motion-ready] .regional-feature-image {
    transition: opacity calc(var(--duration-layout) + var(--duration-panel)) var(--ease-ui);
}

.human[data-motion-ready] .human-feature-title,
.human[data-motion-ready] .human-feature-kicker,
.human[data-motion-ready] .human-feature-text,
.human[data-motion-ready] .human-feature-action,
.human[data-motion-ready] .human-benefits,
.regional[data-motion-ready] .regional-feature-title,
.regional[data-motion-ready] .regional-feature-text,
.regional[data-motion-ready] .regional-benefits {
    transition:
        opacity calc(var(--duration-layout) + var(--duration-panel)) var(--ease-ui),
        transform calc(var(--duration-layout) + var(--duration-panel)) var(--ease-ui);
}

.human[data-motion-ready] .human-feature:not(.is-revealed) .human-feature-image,
.regional[data-motion-ready] .regional-feature:not(.is-revealed) .regional-feature-image {
    opacity: 0;
}

.human[data-motion-ready] .human-feature:not(.is-revealed) .human-feature-title,
.human[data-motion-ready] .human-feature:not(.is-revealed) .human-feature-kicker,
.human[data-motion-ready] .human-feature:not(.is-revealed) .human-feature-text,
.human[data-motion-ready] .human-feature:not(.is-revealed) .human-feature-action,
.human[data-motion-ready] .human-feature:not(.is-revealed) .human-benefits,
.regional[data-motion-ready] .regional-feature:not(.is-revealed) .regional-feature-title,
.regional[data-motion-ready] .regional-feature:not(.is-revealed) .regional-feature-text,
.regional[data-motion-ready] .regional-feature:not(.is-revealed) .regional-benefits {
    opacity: 0;
    transform: translate3d(0, 12px, 0);
}

.human[data-motion-ready] .human-feature.is-revealed .human-feature-image,
.human[data-motion-ready] .human-feature.is-revealed .human-feature-title,
.human[data-motion-ready] .human-feature.is-revealed .human-feature-kicker,
.human[data-motion-ready] .human-feature.is-revealed .human-feature-text,
.human[data-motion-ready] .human-feature.is-revealed .human-feature-action,
.human[data-motion-ready] .human-feature.is-revealed .human-benefits,
.regional[data-motion-ready] .regional-feature.is-revealed .regional-feature-image,
.regional[data-motion-ready] .regional-feature.is-revealed .regional-feature-title,
.regional[data-motion-ready] .regional-feature.is-revealed .regional-feature-text,
.regional[data-motion-ready] .regional-feature.is-revealed .regional-benefits {
    opacity: 1;
}

.human[data-motion-ready] .human-feature.is-revealed .human-feature-title,
.human[data-motion-ready] .human-feature.is-revealed .human-feature-kicker,
.human[data-motion-ready] .human-feature.is-revealed .human-feature-text,
.human[data-motion-ready] .human-feature.is-revealed .human-feature-action,
.human[data-motion-ready] .human-feature.is-revealed .human-benefits,
.regional[data-motion-ready] .regional-feature.is-revealed .regional-feature-title,
.regional[data-motion-ready] .regional-feature.is-revealed .regional-feature-text,
.regional[data-motion-ready] .regional-feature.is-revealed .regional-benefits {
    transform: translate3d(0, 0, 0);
}

.human[data-motion-ready] .human-feature-kicker,
.human[data-motion-ready] .human-feature-text,
.regional[data-motion-ready] .regional-feature-text {
    transition-delay: 60ms;
}

.human[data-motion-ready] .human-feature-action,
.human[data-motion-ready] .human-benefits,
.regional[data-motion-ready] .regional-benefits {
    transition-delay: 120ms;
}

@media (max-width: 980px) {
    .human-shell,
    .regional-shell {
        width: min(900px, calc(100% - 34px));
    }

    .human-feature,
    .human-feature--reverse,
    .regional-feature {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .human-feature-copy,
    .regional-feature-copy {
        max-width: 720px;
    }

    .human-feature-title,
    .regional-feature-title {
        max-width: 13ch;
        font-size: clamp(36px, 7vw, 52px);
    }
}

@media (max-width: 620px) {
    .human-shell,
    .regional-shell {
        width: calc(100% - 32px);
    }

    .human-feature,
    .human-feature--reverse,
    .regional-feature {
        gap: 26px;
    }

    .human-feature-media,
    .regional-feature-media {
        aspect-ratio: 16 / 9;
        border-radius: var(--radius-media);
    }

    .human-feature-title,
    .regional-feature-title {
        max-width: 12ch;
        font-size: 34px;
    }

    .human-feature-text,
    .regional-feature-text {
        margin-top: 14px;
        font-size: 16px;
        line-height: 1.55;
    }

    .human-benefits li,
    .regional-benefits li {
        padding: 6px 0;
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .human-feature-media,
    .human-feature-copy,
    .human-feature-image,
    .human-feature-title,
    .human-feature-text,
    .regional-feature-media,
    .regional-feature-copy,
    .regional-feature-image,
    .regional-feature-title,
    .regional-feature-text {
        transition: none !important;
        will-change: auto !important;
    }

    .human-feature-copy,
    .regional-feature-copy {
        transform: none !important;
    }

    .human-feature-image,
    .regional-feature-image {
        opacity: 1 !important;
        transform: translate3d(0, -8.35%, 0) !important;
    }

    .human-feature-title,
    .human-feature-text,
    .regional-feature-title,
    .regional-feature-text {
        opacity: 1 !important;
        transform: none !important;
    }
}
