
/* =========================================================
   ACA 5.8G.5A.2 — ACABADO VISUAL PÁGINAS INTERIORES
   Cargar DESPUÉS de public-brand-final.css
   ========================================================= */

:root{
    --aca-navy:#102b4d;
    --aca-blue:#285789;
    --aca-gold:#b1915b;
    --aca-gold-soft:#d9c6a1;
    --aca-text:#344b5f;
    --aca-muted:#738391;
    --aca-border:#dce3e8;
    --aca-soft:#f5f7f9;
    --aca-warm:#faf8f3;
}

/* ---------- HERO INTERIOR: lenguaje común ---------- */
.firm-real-hero,
.service-real-hero,
.insights-hero,
.indicators-hero,
.public-indicators-hero,
.contact-real-hero,
.careers-hero{
    position:relative;
    overflow:hidden;
    border-bottom:1px solid rgba(16,43,77,.10);
}

.firm-real-hero::after,
.service-real-hero::after,
.insights-hero::after,
.indicators-hero::after,
.public-indicators-hero::after,
.contact-real-hero::after,
.careers-hero::after{
    content:"";
    position:absolute;
    right:-110px;
    top:-150px;
    width:420px;
    height:420px;
    border:1px solid rgba(177,145,91,.14);
    border-radius:50%;
    pointer-events:none;
}

.firm-real-hero h1,
.service-real-hero h1,
.insights-hero h1,
.indicators-hero h1,
.public-indicators-hero h1,
.contact-real-hero h1,
.careers-hero h1{
    max-width:900px;
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    letter-spacing:-.03em;
}

.firm-real-hero p,
.service-real-hero p,
.insights-hero p,
.indicators-hero p,
.public-indicators-hero p,
.contact-real-hero p,
.careers-hero p{
    max-width:720px;
    color:#6f808d;
    font-size:16px;
    line-height:1.78;
}

/* ---------- FIRMA ---------- */
.firm-real-overview{
    position:relative;
    background:#fff;
}

.firm-real-overview-grid{
    align-items:start;
}

.firm-real-overview h2,
.firm-pillars h2,
.firm-ethics h2,
.firm-participation h2{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    letter-spacing:-.025em;
}

.firm-real-overview-copy p:first-child{
    font-size:17px;
    color:#41586a;
}

.firm-pillars{
    background:var(--aca-soft);
}

.firm-pillar-grid{
    gap:0!important;
    border-top:1px solid var(--aca-border);
    border-left:1px solid var(--aca-border);
}

.firm-pillar-grid article{
    min-height:245px;
    border-right:1px solid var(--aca-border)!important;
    border-bottom:1px solid var(--aca-border)!important;
    border-top:0!important;
    border-left:0!important;
    background:#fff;
    padding:30px!important;
}

.firm-pillar-grid article::before{
    content:"";
    display:block;
    width:34px;
    height:2px;
    margin-bottom:22px;
    background:var(--aca-gold);
}

.firm-ethics{
    background:var(--aca-navy);
    color:#fff;
}

.firm-ethics h2,
.firm-ethics h3{
    color:#fff;
}

.firm-ethics p{
    color:#c5d1da;
}

.firm-ethics .eyebrow{
    color:var(--aca-gold-soft);
}

.firm-participation{
    background:var(--aca-warm);
}

/* ---------- SERVICIOS ---------- */
.service-real-intro{
    background:#fff;
}

.service-real-intro h2,
.service-real-capabilities h2,
.service-detail h1,
.service-detail h2{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    letter-spacing:-.025em;
}

.service-real-capabilities{
    background:var(--aca-soft);
}

.service-capability-grid{
    gap:16px!important;
}

.service-capability-card{
    position:relative;
    overflow:hidden;
    min-height:210px;
    padding:27px!important;
    background:#fff;
    border:1px solid var(--aca-border)!important;
}

.service-capability-card::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:3px;
    background:var(--aca-gold);
    transition:width .22s ease;
}

.service-capability-card:hover::after{
    width:100%;
}

.service-capability-card h3{
    margin-top:5px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:23px;
    font-weight:400;
}

.service-real-image{
    min-height:340px;
    background:#eef2f5;
}

/* ---------- INSIGHTS LIST ---------- */
.insights-hero{
    background:linear-gradient(180deg,#f8fafb 0%,#fff 100%);
}

.insights-list{
    background:#fff;
}

.insights-grid{
    gap:22px!important;
}

.insight-card{
    background:#fff;
    border:1px solid var(--aca-border)!important;
}

.insight-card.featured{
    border-top:3px solid var(--aca-gold)!important;
}

.insight-card-content{
    padding:28px!important;
}

.insight-meta{
    color:var(--aca-gold)!important;
    font-size:9px!important;
    font-weight:900!important;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.insight-card h2{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    line-height:1.25;
}

.insights-cta{
    background:var(--aca-navy)!important;
    border-top:3px solid var(--aca-gold);
}

.insights-cta h2{
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
}

.insights-cta p{
    color:#c8d4dd!important;
}

/* ---------- INDICADORES ---------- */
.public-indicators-section{
    background:var(--aca-soft);
}

.public-indicators-grid,
.indicator-grid{
    gap:15px!important;
}

.public-indicator-card,
.indicator{
    position:relative;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--aca-border)!important;
    box-shadow:none!important;
}

.public-indicator-card::before,
.indicator::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg,var(--aca-gold),transparent 55%);
}

.public-indicator-card strong,
.indicator strong{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
}

.public-indicator-card:hover,
.indicator:hover{
    border-color:#c7d2da!important;
    transform:translateY(-2px);
}

/* ---------- TALENTO ---------- */
.careers-hero{
    background:linear-gradient(135deg,#f8fafb 0%,#fff 70%);
}

.careers-intro{
    background:#fff;
}

.careers-intro h2,
.career-development h2,
.careers-cta h2{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    letter-spacing:-.025em;
}

.career-development{
    background:var(--aca-soft);
}

.career-development-grid > *{
    border-radius:0!important;
}

.careers-values-grid,
.career-benefits-grid{
    gap:0!important;
    border-top:1px solid var(--aca-border);
    border-left:1px solid var(--aca-border);
}

.careers-values-grid article,
.career-benefits-grid article{
    min-height:190px;
    padding:27px!important;
    border-right:1px solid var(--aca-border)!important;
    border-bottom:1px solid var(--aca-border)!important;
    border-top:0!important;
    border-left:0!important;
    background:#fff;
}

.careers-values-grid article::before,
.career-benefits-grid article::before{
    content:"";
    display:block;
    width:30px;
    height:2px;
    margin-bottom:18px;
    background:var(--aca-gold);
}

.careers-cta{
    background:var(--aca-navy)!important;
    border-top:3px solid var(--aca-gold);
}

/* ---------- CONTACTO ---------- */
.contact-real-hero{
    background:linear-gradient(180deg,#f8fafb,#fff);
}

.contact-main{
    background:#fff;
}

.contact-main h2,
.contact-real-office h2,
.aca-contact-map-heading h2{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
}

.contact-form-card{
    border-radius:0!important;
    border:1px solid var(--aca-border)!important;
    box-shadow:0 14px 35px rgba(16,43,77,.045)!important;
}

.contact-form-card::before{
    content:"";
    display:block;
    height:3px;
    background:linear-gradient(90deg,var(--aca-gold),transparent);
}

.contact-form-card input,
.contact-form-card textarea,
.contact-form-card select{
    border-radius:0!important;
}

.contact-real-office{
    background:var(--aca-soft);
}

.contact-office-card{
    border-radius:0!important;
    background:#fff!important;
    border:1px solid var(--aca-border)!important;
}

.aca-contact-map{
    border-top:1px solid var(--aca-border);
}

.aca-map-frame,
.aca-map-button{
    border-radius:0!important;
}

/* ---------- CTA GENERAL ---------- */
.firm-real-cta,
.service-real-cta,
.contact-cta,
.careers-cta{
    position:relative;
    overflow:hidden;
}

.firm-real-cta::after,
.service-real-cta::after,
.contact-cta::after,
.careers-cta::after{
    content:"";
    position:absolute;
    right:-160px;
    bottom:-240px;
    width:520px;
    height:520px;
    border:1px solid rgba(217,198,161,.13);
    border-radius:50%;
    pointer-events:none;
}

/* ---------- MSI: BLOQUE PREPARADO PARA LOGO ---------- */
.aca-msi,
.firm-msi,
.msi-section{
    position:relative;
}

.aca-msi::after,
.firm-msi::after,
.msi-section::after{
    content:"MSI";
    position:absolute;
    right:5%;
    top:50%;
    transform:translateY(-50%);
    color:rgba(177,145,91,.055);
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(90px,13vw,190px);
    line-height:1;
    pointer-events:none;
}

.aca-msi-grid,
.firm-msi-grid{
    position:relative;
    z-index:1;
}

/* ---------- CONSISTENT SECTION LABELS ---------- */
.firm-real-overview .eyebrow,
.firm-pillars .eyebrow,
.service-real-intro .eyebrow,
.service-real-capabilities .eyebrow,
.insights-list .eyebrow,
.public-indicators-section .eyebrow,
.careers-intro .eyebrow,
.career-development .eyebrow,
.contact-main .eyebrow,
.contact-real-office .eyebrow{
    color:var(--aca-gold);
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
    .firm-pillar-grid,
    .careers-values-grid,
    .career-benefits-grid{
        grid-template-columns:1fr 1fr!important;
    }

    .firm-real-hero::after,
    .service-real-hero::after,
    .insights-hero::after,
    .public-indicators-hero::after,
    .contact-real-hero::after,
    .careers-hero::after{
        width:280px;
        height:280px;
        right:-120px;
        top:-80px;
    }

    .aca-msi::after,
    .firm-msi::after,
    .msi-section::after{
        font-size:100px;
    }
}

@media(max-width:620px){
    .firm-pillar-grid,
    .careers-values-grid,
    .career-benefits-grid{
        grid-template-columns:1fr!important;
    }

    .firm-real-hero h1,
    .service-real-hero h1,
    .insights-hero h1,
    .public-indicators-hero h1,
    .contact-real-hero h1,
    .careers-hero h1{
        font-size:clamp(38px,12vw,54px)!important;
    }

    .firm-real-hero p,
    .service-real-hero p,
    .insights-hero p,
    .public-indicators-hero p,
    .contact-real-hero p,
    .careers-hero p{
        font-size:15px;
    }

    .aca-msi::after,
    .firm-msi::after,
    .msi-section::after{
        display:none;
    }
}

/* =========================================================
   ACA 5.8G.5A.3
   CORRECCIÓN DE ESCALA Y COMPOSICIÓN PÚBLICA
   ========================================================= */

/* =========================================================
   1. ESCALA GENERAL DESKTOP
   ========================================================= */

@media (min-width: 1280px){

    .wrap,
    .container,
    .site-container{
        width:min(1480px,calc(100% - 96px));
        margin-left:auto;
        margin-right:auto;
    }

}


/* =========================================================
   2. HOME — HERO
   Más cercano a la composición observada al 50%,
   pero conservando legibilidad real al 100%.
   ========================================================= */

@media (min-width: 1100px){

    .aca-real-hero .institutional-hero-grid{
        width:100%;
        max-width:none;
        min-height:620px;
        display:grid;
        grid-template-columns:minmax(430px,36%) minmax(0,64%);
        gap:0;
        padding:0;
    }

    .aca-real-hero .institutional-hero-copy{
        min-height:620px;
        display:flex;
        flex-direction:column;
        justify-content:center;
        padding:65px clamp(45px,4vw,78px);
        background:var(--aca-navy);
    }

    .aca-real-hero .institutional-hero-copy h1{
        max-width:570px;
        margin:8px 0 24px;
        color:#fff;
        font-family:Georgia,'Times New Roman',serif;
        font-size:clamp(48px,3.7vw,70px);
        font-weight:400;
        line-height:1.04;
        letter-spacing:-.035em;
    }

    .aca-real-hero .institutional-hero-copy p{
        max-width:540px;
        margin:0;
        color:#d0dae2;
        font-size:15px;
        line-height:1.75;
    }

    .aca-real-hero .institutional-hero-copy .eyebrow{
        color:var(--aca-gold-soft);
    }

    .aca-real-hero .institutional-hero-actions{
        margin-top:32px;
    }


    /* PANEL DERECHO */

    .aca-real-hero .aca-history-panel{
        min-width:0;
        display:grid;
        grid-template-rows:minmax(0,1fr) auto;
        background:#fff;
    }

    .aca-real-hero .aca-building-visual{
        position:relative;
        min-height:500px;
        height:500px;
        overflow:hidden;
        background:#e9edf0;
    }

    .aca-real-hero .aca-building-visual img{
        display:block;
        width:100%;
        height:100%;
        object-fit:cover;

        /*
           Mostrar más edificio y menos acercamiento.
           Ajustar únicamente este valor si quieres
           desplazar ligeramente la foto.
        */
        object-position:center 48%;
    }

    .aca-real-hero .aca-building-caption{
        position:absolute;
        left:34px;
        bottom:27px;
        z-index:2;
        color:#fff;
    }

    .aca-real-hero .aca-building-caption span{
        display:block;
        margin-bottom:4px;
        font-size:9px;
        font-weight:800;
        letter-spacing:.08em;
    }

    .aca-real-hero .aca-building-caption strong{
        color:#fff;
        font-family:Georgia,'Times New Roman',serif;
        font-size:18px;
        font-weight:400;
    }


    /* 1961 */

    .aca-real-hero .aca-history-mini{
        min-height:120px;
        display:grid;
        grid-template-columns:120px minmax(0,240px);
        align-items:center;
        gap:25px;
        padding:22px 34px;
        background:#fff;
    }

    .aca-real-hero .aca-history-mini::before{
        display:none;
    }

    .aca-real-hero .aca-history-mini strong{
        position:relative;
        color:var(--aca-navy);
        font-family:Georgia,'Times New Roman',serif;
        font-size:38px;
        font-weight:400;
    }

    .aca-real-hero .aca-history-mini strong::before{
        content:"";
        position:absolute;
        left:0;
        top:-15px;
        width:34px;
        height:2px;
        background:var(--aca-gold);
    }

    .aca-real-hero .aca-history-mini p{
        margin:0;
        color:var(--aca-muted);
        font-size:11px;
        line-height:1.6;
    }

}


/* =========================================================
   3. HOME — FIRMA
   Reducir sensación de contenido gigantesco.
   ========================================================= */

@media (min-width:1100px){

    .aca-firm-intro{
        padding-top:75px;
        padding-bottom:75px;
    }

    .aca-firm-intro .home-intro-grid{
        grid-template-columns:.9fr 1.1fr;
        gap:100px;
        max-width:1160px;
        margin:auto;
    }

    .aca-firm-intro h2{
        max-width:480px;
        font-size:clamp(37px,3vw,49px);
        line-height:1.08;
    }

    .aca-firm-intro .home-intro-copy{
        max-width:570px;
    }

}


/* =========================================================
   4. INDICADORES — HERO
   Corrige navy sobre navy.
   ========================================================= */

.public-indicators-hero{
    background:var(--aca-navy) !important;
}

.public-indicators-hero .indicator-kicker{
    color:var(--aca-gold-soft) !important;
}

.public-indicators-hero h1{
    color:#fff !important;
}

.public-indicators-hero p{
    color:rgba(255,255,255,.70) !important;
}

@media (min-width:1100px){

    .public-indicators-hero{
        padding:80px 0 76px;
    }

    .public-indicators-hero h1{
        margin:12px 0 14px;
        font-size:clamp(48px,4vw,64px);
        line-height:1.04;
    }

    .public-indicators-hero p{
        margin:0;
        max-width:680px;
    }

}


/* =========================================================
   5. INDICADORES — CARDS
   ========================================================= */

@media (min-width:1100px){

    .public-indicators-section{
        padding:65px 0 85px;
    }

    .public-indicator-grid{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:18px;
    }

    .public-indicator-card{
        min-width:0;
        padding:28px 25px;
    }

    .public-indicator-card h2{
        min-height:54px;
        font-size:18px;
        line-height:1.35;
    }

    .public-indicator-number{
        font-size:37px;
        line-height:1.15;
        overflow-wrap:anywhere;
    }

}


/* =========================================================
   6. CONTACTO — OFICINA
   Evita la columna extremadamente angosta.
   ========================================================= */

@media (min-width:1000px){

    .contact-real-office-grid{
        display:grid;
        grid-template-columns:minmax(0,1.35fr) minmax(430px,.9fr);
        gap:70px;
        align-items:start;
    }

    .contact-real-office-grid > div:first-child{
        min-width:0;
    }

    .contact-real-office h2{
        max-width:650px;
        margin:15px 0 18px;
        font-size:clamp(42px,3.6vw,58px);
        line-height:1.05;
    }

    .contact-real-office address{
        max-width:700px;
        color:var(--aca-muted);
        font-style:normal;
        line-height:1.75;
    }

    .contact-office-actions{
        display:flex;
        flex-wrap:wrap;
        gap:28px;
        margin-top:25px;
    }


    /*
       El accent 1961 deja de competir como
       tercera columna.
    */

    .contact-office-accent{
        grid-column:1;
        margin-top:32px;
        max-width:520px;
        padding-top:25px;
        border-top:1px solid var(--aca-border);
    }

}


/* =========================================================
   7. MAP
   Neutraliza dimensiones anteriores cuando se encuentra
   dentro del grid de oficina.
   ========================================================= */

.contact-real-office-grid .aca-contact-map{
    padding:0;
    background:transparent;
    border-top:0;
}

.contact-real-office-grid .aca-contact-map .container{
    width:100%;
}

.contact-real-office-grid .aca-contact-map-heading{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:22px;
}

.contact-real-office-grid .aca-contact-map-heading h2{
    font-size:34px;
}

.contact-real-office-grid .aca-map-button{
    justify-self:start;
}

.contact-real-office-grid .aca-map-frame{
    width:100%;
    height:360px;
}


/* =========================================================
   8. RESPONSIVE HOME
   ========================================================= */

@media (max-width:1099px){

    .aca-real-hero .institutional-hero-grid{
        grid-template-columns:1fr;
    }

    .aca-real-hero .institutional-hero-copy{
        padding:65px 32px;
        background:var(--aca-navy);
    }

    .aca-real-hero .institutional-hero-copy h1{
        color:#fff;
    }

    .aca-real-hero .institutional-hero-copy p{
        color:#d0dae2;
    }

    .aca-real-hero .aca-building-visual{
        height:480px;
    }

    .aca-real-hero .aca-building-visual img{
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center;
    }

}


/* =========================================================
   9. RESPONSIVE INDICADORES
   ========================================================= */

@media (max-width:1100px){

    .public-indicator-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

@media (max-width:620px){

    .public-indicator-grid{
        grid-template-columns:1fr;
    }

    .public-indicators-hero{
        padding:60px 0;
    }

}


/* =========================================================
   10. RESPONSIVE CONTACTO
   ========================================================= */

@media (max-width:999px){

    .contact-real-office-grid{
        grid-template-columns:1fr;
    }

    .contact-real-office-grid .aca-contact-map{
        margin-top:35px;
    }

    .contact-real-office-grid .aca-map-frame{
        height:360px;
    }

}

/* =========================================================
   5.8G.5B.2 — HISTORIA 1961
   Mayor presencia y legibilidad
   ========================================================= */

@media (min-width: 1100px) {

    .aca-real-hero .aca-history-mini {
        min-height: 145px;
        grid-template-columns: 145px minmax(0, 330px);
        gap: 34px;
        padding: 26px 40px;
    }

    /* 1961 */
    .aca-real-hero .aca-history-mini strong {
        font-size: 46px;
        line-height: 1;
        color: var(--aca-navy);
    }

    /* Más de seis décadas... */
    .aca-real-hero .aca-history-mini p {
        max-width: 310px;
        font-size: 14px;
        line-height: 1.6;
        color: #667988;
    }

    .aca-real-hero .aca-history-mini strong::before {
        width: 38px;
        top: -17px;
    }
}


/* Tablet */

@media (max-width: 1099px) and (min-width: 701px) {

    .aca-real-hero .aca-history-mini strong {
        font-size: 42px;
    }

    .aca-real-hero .aca-history-mini p {
        font-size: 14px;
        line-height: 1.6;
    }
}


/* Mobile */

@media (max-width: 700px) {

    .aca-real-hero .aca-history-mini {
        padding: 26px 24px;
    }

    .aca-real-hero .aca-history-mini strong {
        font-size: 38px;
    }

    .aca-real-hero .aca-history-mini p {
        font-size: 16px;
        line-height: 1.6;
    }
}

/* =========================================================
   5.8G.5B.3 — HISTORIA 1961 / AJUSTE FINAL
   ========================================================= */

@media (min-width: 1100px) {

    .aca-real-hero .aca-history-mini {
        min-height: 145px;
        grid-template-columns: 155px minmax(0, 420px);
        gap: 24px;
        padding: 25px 34px;
    }

    /* 1961 */
    .aca-real-hero .aca-history-mini strong {
        font-size: 52px;
        line-height: 1;
        letter-spacing: -.025em;
    }

    /* Texto descriptivo */
    .aca-real-hero .aca-history-mini p {
        max-width: 390px;
        font-size: 16px;
        line-height: 1.55;
        color: #5f7385;
    }

    /* Línea dorada */
    .aca-real-hero .aca-history-mini strong::before {
        width: 40px;
        height: 2px;
        top: -18px;
    }
}
/* =========================================================
   5.8G.5B.4 — HERO CTA
   ========================================================= */

.aca-real-hero .institutional-hero-actions {
    margin-top: 32px;
    gap: 14px;
}

.aca-real-hero .institutional-hero-actions a {
    min-height: 48px;
    padding: 14px 22px;

    font-size: 12px;
    font-weight: 800;
    line-height: 1;

    border: 1px solid rgba(255,255,255,.75);
}

/* Conocer nuestros servicios */
.aca-real-hero .institutional-hero-actions .button-light {
    background: #ffffff;
    color: var(--aca-navy);
    border-color: #ffffff;
}

.aca-real-hero .institutional-hero-actions .button-light:hover {
    background: var(--aca-gold-soft);
    border-color: var(--aca-gold-soft);
    color: var(--aca-navy);
}

/* Nuestra firma */
.aca-real-hero .institutional-hero-actions .button-text {
    min-height: 48px;
    display: inline-flex;
    align-items: center;

    padding: 14px 20px;

    color: #ffffff;
    border: 1px solid rgba(255,255,255,.55);

    text-decoration: none;
}

.aca-real-hero .institutional-hero-actions .button-text:hover {
    background: rgba(255,255,255,.10);
    border-color: #ffffff;
    text-decoration: none;
}