
/* =========================================================
   ACA 5.8G.5B — PULIDO VISUAL FINAL DE PRESENTACIÓN
   Cargar AL FINAL de todos los CSS públicos.
   ========================================================= */

:root{
    --aca-navy:#102b4d;
    --aca-navy-deep:#091b30;
    --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;
}

body{
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

p,li,address,input,textarea,select,button{font-size:15px}
p{line-height:1.72}
h1,h2,h3{text-wrap:balance}
h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.028em}
h3{letter-spacing:-.01em}
.eyebrow,.indicator-kicker{font-size:10px;line-height:1.3;letter-spacing:.16em}

/* HEADER REAL */
.institutional-header{background:rgba(255,255,255,.98);border-bottom:1px solid rgba(16,43,77,.09)}
.institutional-header-inner{min-height:82px}
.aca-header-logo{display:block;width:auto;height:54px;object-fit:contain}
.institutional-nav{gap:25px}
.institutional-nav a{position:relative;color:#475b6e;font-size:12px;font-weight:700;transition:color .16s ease}
.institutional-nav a:hover,.institutional-nav a.active{color:var(--aca-navy)}
.institutional-nav a::after{background:var(--aca-gold)}
.language-switch{color:var(--aca-gold)!important;font-size:10px;font-weight:900;letter-spacing:.08em}
.header-contact{min-height:42px;display:inline-flex;align-items:center;padding:9px 17px;border:1px solid var(--aca-navy);background:#fff;color:var(--aca-navy)!important;font-size:10px;font-weight:900;letter-spacing:.04em;transition:.16s ease}
.header-contact:hover{background:var(--aca-navy);color:#fff!important}

/* ESCALA DE TÍTULOS */
@media(min-width:1100px){
    .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(50px,4vw,66px);line-height:1.04
    }
    .section-heading h2,.home-intro h2,.firm-real-overview h2,.firm-pillars h2,.firm-ethics h2,.firm-participation h2,
    .service-real-intro h2,.service-real-capabilities h2,.insights-cta h2,.careers-intro h2,.career-development h2,
    .contact-main h2,.contact-real-office h2{
        font-size:clamp(36px,3vw,50px);line-height:1.08
    }
}

/* RITMO VERTICAL */
.section-heading{margin-bottom:36px}
.section-heading p{margin-top:12px;max-width:720px}
.home-practice,.home-insights-preview,.aca-msi,.firm-real-overview,.firm-pillars,.firm-ethics,.firm-participation,
.service-real-intro,.service-real-capabilities,.insights-list,.public-indicators-section,.contact-main,.contact-real-office,
.careers-intro,.career-development{scroll-margin-top:95px}

/* BOTONES */
.button-primary,.button-light,.corporate-primary-button,.corporate-light-button,.insights-light-button,.careers-light-button,
.contact-submit,.editorial-end-button,.aca-map-button{
    min-height:43px;display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border-radius:0!important;
    font-size:10px;font-weight:900;letter-spacing:.025em;
    transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease
}
.button-primary:hover,.corporate-primary-button:hover,.contact-submit:hover{background:var(--aca-blue);transform:translateY(-1px)}
.button-light:hover,.corporate-light-button:hover,.insights-light-button:hover,.careers-light-button:hover{transform:translateY(-1px)}
.button-text,.corporate-text-link,.home-indicators-all,.firm-cta-link,.practice-card>a,.insight-card a,.public-indicator-card a{
    font-size:10px;font-weight:900;text-decoration:none;text-underline-offset:4px
}
.button-text:hover,.corporate-text-link:hover,.home-indicators-all:hover,.practice-card>a:hover,.insight-card a:hover,.public-indicator-card a:hover{text-decoration:underline}

/* FOCUS */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
    outline:2px solid var(--aca-gold);outline-offset:3px
}

/* CARDS */
.practice-card,.corporate-service-card,.home-indicator-card,.public-indicator-card,.insight-card,.service-capability-card,
.contact-office-card,.contact-form-panel{border-color:var(--aca-border)!important}
.practice-card h3,.corporate-service-card h3,.insight-card h2,.service-capability-card h3{color:var(--aca-navy)}
.practice-card p,.corporate-service-card p,.insight-card p,.service-capability-card p{color:var(--aca-muted)}

/* IMÁGENES */
.practice-image,.corporate-service-thumb,.insight-card-image,.editorial-featured-image,.service-real-image{background:#eef2f5}
.practice-image img,.corporate-service-thumb img,.insight-card-image img,.editorial-featured-image img,.service-real-image img{transition:transform .35s ease}
.practice-card:hover .practice-image img,.corporate-service-card:hover .corporate-service-thumb img,.insight-card:hover .insight-card-image img{transform:scale(1.015)}

/* HOME */
.aca-real-hero .institutional-hero-actions{display:flex;flex-wrap:wrap;gap:16px}
.aca-trust-grid{border-left:1px solid rgba(255,255,255,.10)}
.aca-trust-grid>div{border-right:1px solid rgba(255,255,255,.10)}
.home-intro-copy p{max-width:620px}

/* INDICADORES */
.public-indicator-card-top{margin-bottom:18px}
.public-indicator-card-top>span{color:#667888;font-size:9px;font-weight:900;letter-spacing:.08em}
.public-indicator-number{color:var(--aca-navy);font-family:Georgia,'Times New Roman',serif;font-weight:400}
.public-indicator-number small{display:block;margin-top:10px;color:#85939e;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:800}
.variation-up{color:#2e7d58!important}
.variation-down{color:#b55656!important}

/* CONTACTO */
.corporate-contact-form label>span{
    display:block;margin-bottom:7px;color:#536777;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase
}
.corporate-contact-form input,.corporate-contact-form textarea{
    width:100%;border:1px solid #ccd6dd;background:#fff;color:var(--aca-text);
    transition:border-color .16s ease,box-shadow .16s ease
}
.corporate-contact-form input:focus,.corporate-contact-form textarea:focus{
    border-color:var(--aca-blue);box-shadow:0 0 0 3px rgba(40,87,137,.07)
}
.contact-real-details a,.contact-office-actions a{color:var(--aca-navy);font-weight:800;text-decoration:none}
.contact-real-details a:hover,.contact-office-actions a:hover{color:var(--aca-blue)}

/* INSIGHTS */
.insight-card h2{text-wrap:balance}
.insight-card-content>p{line-height:1.72}
.editorial-side-card{box-shadow:none!important}
.editorial-contact-card{border-top-color:var(--aca-gold)!important}

/* MSI */
.aca-msi,.firm-msi,.msi-section{overflow:hidden}
.aca-msi p,.firm-msi p,.msi-section p{max-width:690px}
.aca-msi-note{color:#6f7f8b}

/* FOOTER */
.aca-footer{border-top:3px solid var(--aca-gold)}
.aca-footer-name span{letter-spacing:.02em}
.aca-footer-links a,.aca-footer-contact a{transition:color .15s ease}
.aca-footer-bottom{line-height:1.5}

/* TABLET */
@media(max-width:1099px){
    .institutional-header-inner{min-height:76px}
    .aca-header-logo{height:48px}
    .firm-real-hero h1,.service-real-hero h1,.insights-hero h1,.public-indicators-hero h1,.contact-real-hero h1,.careers-hero h1{line-height:1.06}
    .section-heading{gap:28px}
}

/* MÓVIL */
@media(max-width:700px){
    body{font-size:14px}
    p,li,address{font-size:14px;line-height:1.7}
    .institutional-header-inner{min-height:70px}
    .aca-header-logo{height:43px}
    .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,11vw,48px)!important;line-height:1.05
    }
    .section-heading h2,.home-intro h2,.firm-real-overview h2,.firm-pillars h2,.service-real-intro h2,.service-real-capabilities h2,
    .contact-main h2,.contact-real-office h2,.careers-intro h2,.career-development h2{
        font-size:clamp(31px,9vw,40px);line-height:1.08
    }
    .button-primary,.button-light,.corporate-primary-button,.corporate-light-button,.contact-submit,.aca-map-button{min-height:45px}
    .section-heading{margin-bottom:28px}
    .public-indicator-number{font-size:35px}
    .aca-footer{padding-top:48px}
}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* =========================================================
   5.8G.5B.1 — CONTRASTE TRUST BAND + MENÚ
   ========================================================= */

/* HEADER / MENÚ DESKTOP */

@media (min-width: 901px) {

    .institutional-nav a {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: .005em;
    }

    .institutional-nav {
        gap: 28px;
    }

    .language-switch {
        font-size: 12px !important;
    }

    .header-contact {
        min-height: 44px;
        padding: 10px 20px;
        font-size: 12px;
    }
}


/* =========================================================
   FRANJA AZUL HOME
   ========================================================= */

.aca-trust-band {
    background: #102b4d;
    color: #fff;
}

.aca-trust-grid > div {
    min-height: 195px;
    padding: 34px 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


/* DESDE / ALCANCE INTERNACIONAL / RED GLOBAL */

.aca-trust-grid > div > span {
    color: #d9c6a1 !important;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}


/* 1961 / 100+ / 250 */

.aca-trust-grid > div > strong {
    display: block !important;
    margin: 18px 0 8px;

    color: #fff !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1;
}


/* TEXTO INFERIOR */

.aca-trust-grid > div > p {
    margin: 0;

    color: #d4dee6 !important;

    font-size: 13px;
    line-height: 1.55;
}


/* SEPARADORES */

.aca-trust-grid {
    border-left: 1px solid rgba(255,255,255,.14);
}

.aca-trust-grid > div {
    border-right: 1px solid rgba(255,255,255,.14);
}


/* PEQUEÑO ACENTO DORADO */

.aca-trust-grid > div > span::after {
    content: "";
    display: block;

    width: 34px;
    height: 2px;

    margin-top: 13px;

    background: #b1915b;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) and (min-width: 901px) {

    .institutional-nav {
        gap: 20px;
    }

    .institutional-nav a {
        font-size: 13px;
    }

}


/* =========================================================
   MOBILE TRUST BAND
   ========================================================= */

@media (max-width: 700px) {

    .aca-trust-grid > div {
        min-height: auto;
        padding: 28px 22px;
    }

    .aca-trust-grid > div > strong {
        font-size: 34px;
    }

    .aca-trust-grid > div > p {
        font-size: 13px;
    }
}
/* =========================================================
   5.8G.5B.5 — NUESTRA FIRMA / CONTRASTE ENFOQUE EMPRESARIAL
   ========================================================= */

.firm-cta {
    background: var(--aca-navy);
}

/* ENFOQUE EMPRESARIAL */
.firm-cta .eyebrow {
    color: var(--aca-gold-soft) !important;
}

/* Un aliado profesional... */
.firm-cta h2 {
    color: #ffffff !important;
}

/* Texto descriptivo, si existe */
.firm-cta p {
    color: rgba(255,255,255,.76) !important;
}

/* Link / CTA */
.firm-cta .firm-cta-link {
    color: #ffffff !important;
    border-bottom-color: rgba(255,255,255,.45);
}

.firm-cta .firm-cta-link:hover {
    color: var(--aca-gold-soft) !important;
    border-bottom-color: var(--aca-gold-soft);
}
/* =========================================================
   5.8G.5B.5 — FIX CONTRASTE / NUESTRA FIRMA
   BLOQUE ENFOQUE EMPRESARIAL
   ========================================================= */

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

.firm-focus-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
    gap: 80px;
    align-items: center;
}

/* ENFOQUE EMPRESARIAL */
.firm-focus-grid > div > span {
    display: inline-block;
    margin-bottom: 16px;

    color: var(--aca-gold-soft) !important;

    font-size: 10px;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

/* Un aliado profesional... */
.firm-focus-grid h2 {
    margin: 0;

    color: #fff !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 3.5vw, 54px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.025em;
}

/* Texto derecho */
.firm-focus-grid > p {
    margin: 0;

    color: rgba(255,255,255,.78) !important;

    font-size: 16px;
    line-height: 1.75;
}

/* Acento dorado */
.firm-focus-grid > div::before {
    content: "";
    display: block;

    width: 42px;
    height: 2px;

    margin-bottom: 20px;

    background: var(--aca-gold);
}


/* TABLET / MOBILE */

@media (max-width: 900px) {

    .firm-focus-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

}

@media (max-width: 620px) {

    .firm-focus-band {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .firm-focus-grid h2 {
        font-size: clamp(34px, 10vw, 44px);
    }

    .firm-focus-grid > p {
        font-size: 15px;
    }

}