/* WEB-04: composition and photographic treatments for /areas-de-experiencia.
   Colors, typography, links, buttons and shared cards come from global layers. */
.ae-hero,
.ae-final-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}
.ae-hero::before,
.ae-final-cta::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    content: "";
    background-position: center;
    background-size: cover;
}
.ae-hero::before {
    background-image: url('/assets/img/areas-experiencia-hero-bogota.webp');
}
.ae-final-cta::before {
    background-image: url('/assets/img/areas-experiencia-retos-bogota.webp');
}
.ae-hero::after,
.ae-final-cta::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    pointer-events: none;
}
.ae-hero::after {
    background: linear-gradient(90deg, var(--udc-canvas) 0%, color-mix(in srgb, var(--udc-canvas) 88%, transparent) 56%, color-mix(in srgb, var(--udc-canvas) 45%, transparent) 100%);
}
.ae-final-cta::after {
    background: color-mix(in srgb, var(--udc-canvas) 82%, transparent);
}
.ae-hero-content {
    padding-block: var(--udc-section-space);
}
.ae-hero h1 {
    max-width: 850px;
    margin: 0;
    color: var(--udc-text);
    font-size: var(--udc-font-h1);
    line-height: var(--udc-line-heading);
}
.ae-hero-lead {
    max-width: var(--udc-intro-width);
    margin: var(--udc-space-4) 0 0;
    color: var(--udc-muted);
    font-size: var(--udc-font-lead);
    line-height: var(--udc-line-body);
}
.ae-intro {
    padding-block: var(--udc-section-space);
}
.ae-intro h2,
.ae-services h2,
.ae-final-cta h2 {
    margin: 0;
    font-size: var(--udc-font-h2);
    line-height: var(--udc-line-heading);
}
.ae-intro-copy,
.ae-services-intro {
    margin: var(--udc-space-4) 0 0;
    color: var(--udc-muted);
    line-height: var(--udc-line-body);
}
.ae-services-intro {
    max-width: none;
}
.ae-detail {
    scroll-margin-top: calc(var(--udc-header-height) + var(--udc-space-3));
}
.ae-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 35fr) minmax(0, 65fr);
    align-items: center;
    gap: var(--udc-block-gap);
    padding-block: var(--udc-section-space);
}
.ae-detail--reverse .ae-detail-grid { grid-template-columns: minmax(0, 65fr) minmax(0, 35fr); }
.ae-detail--reverse .ae-detail-copy { grid-column: 1; grid-row: 1; }
.ae-detail--reverse .ae-detail-photo { grid-column: 2; grid-row: 1; }
.ae-detail-photo {
    align-self: stretch;
    min-height: 320px;
    margin: 0;
    overflow: hidden;
    border-radius: var(--udc-radius-sm);
}
.ae-detail-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.ae-detail-copy {
    min-width: 0;
}
.ae-detail-copy h2 {
    margin: 0;
    color: var(--udc-text);
    font-size: var(--udc-font-h2);
    line-height: var(--udc-line-heading);
}
.ae-detail-copy h3 {
    margin: var(--udc-space-3) 0 var(--udc-space-2);
    font-size: var(--udc-font-h3);
    line-height: 1.25;
}
.ae-detail-copy > p:not(.eyebrow) {
    margin: 0 0 var(--udc-space-3);
    color: var(--udc-muted);
    line-height: var(--udc-line-body);
}
.ae-detail-copy .ae-frameworks {
    margin-bottom: var(--udc-space-2);
}
.ae-frameworks strong {
    color: var(--udc-text);
}
.ae-services {
    padding-block: var(--udc-section-space);
}
.ae-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--udc-block-gap);
    margin-top: var(--udc-space-5);
}
.ae-services-grid .service-card {
    display: flex;
    flex-direction: column;
    gap: var(--udc-space-2);
}
.ae-services-grid .service-card p {
    margin: 0;
    line-height: var(--udc-line-body);
}
.ae-services-grid .service-card a {
    align-self: flex-start;
    margin-top: auto;
}
.ae-final-cta-content {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: var(--udc-space-3);
    padding-block: var(--udc-section-space);
}
.ae-final-cta h2 {
    max-width: 850px;
}
.ae-final-cta p:not(.eyebrow) {
    max-width: var(--udc-intro-width);
    margin: 0;
    color: var(--udc-muted);
}
@media (max-width: 1000px) {
    .ae-detail-grid {
        grid-template-columns: 1fr;
        gap: var(--udc-space-4);
    }
    .ae-detail--reverse .ae-detail-grid { grid-template-columns: 1fr; }
    .ae-detail--reverse .ae-detail-copy,
    .ae-detail--reverse .ae-detail-photo {
        grid-column: auto;
        grid-row: auto;
    }
    .ae-detail-photo {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
}
@media (max-width: 700px) {
    .ae-hero::after {
        background: color-mix(in srgb, var(--udc-canvas) 82%, transparent);
    }
    .ae-hero-content,
    .ae-intro,
    .ae-services,
    .ae-final-cta-content {
        padding-block: var(--udc-section-space);
    }
    .ae-detail-grid { padding-block: var(--udc-section-space); }
    .ae-detail-photo { aspect-ratio: 4 / 3; }
    .ae-services-grid { grid-template-columns: 1fr; }
}
