/* Campaña destacada: editorial, imagen grande + panel de datos */
.featured-campaign {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: var(--space-12);
    align-items: stretch;
}

.featured-campaign__frame {
    min-height: 480px;
}

.featured-campaign__panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--space-6);
}

.featured-campaign__progress {
    display: grid;
    gap: var(--space-3);
}

@media (max-width: 900px) {
    .featured-campaign {
        grid-template-columns: 1fr;
    }

    .featured-campaign__frame {
        min-height: 360px;
    }
}

/* Historia destacada: split screen */
.split-story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: var(--space-12);
}

.split-story__frame {
    min-height: 520px;
}

@media (max-width: 900px) {
    .split-story {
        grid-template-columns: 1fr;
    }

    .split-story__frame {
        min-height: 380px;
        order: -1;
    }
}

.split-story__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-6);
}

.split-story__location {
    font-size: var(--fs-2xs);
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* Quiénes somos y áreas de trabajo */
.focus-intro {
    max-width: 60ch;
    margin-bottom: var(--space-12);
}

.focus-areas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space-8);
}

.focus-areas__item {
    display: grid;
    gap: var(--space-3);
    align-content: start;
    padding-top: var(--space-6);
    border-top: 2px solid var(--color-accent);
}

/* Vista previa de transparencia */
.transparency-preview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-12);
    align-items: start;
}

.transparency-preview__totals {
    display: grid;
    gap: var(--space-8);
}

.transparency-preview__breakdown {
    display: grid;
    gap: var(--space-6);
}

@media (max-width: 900px) {
    .transparency-preview {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }
}

/* CTA final */
.final-cta {
    background: var(--color-primary);
    color: var(--color-light);
    text-align: center;
    padding: var(--space-32) var(--gutter);
}

.final-cta .display-2 {
    max-width: 26ch;
    margin: var(--space-4) auto var(--space-8);
}

.final-cta__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--space-4);
}

/* Scroll reveal */
[data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity var(--duration-cinematic) var(--ease-editorial),
                transform var(--duration-cinematic) var(--ease-editorial);
}

[data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

/* Alternancia de fondo entre secciones. Se calcula sobre las secciones que realmente
   se renderizan (las condicionales ausentes no dejan dos fondos iguales seguidos). */
.home > .section:nth-child(even) {
    background: var(--color-surface);
}
