/* ==========================================================================
   HOME — rediseño amigable + responsive
   ========================================================================== */

/* ===================== HERO ===================== */
.hero-home {
    background: linear-gradient(135deg, #E5F5F7 0%, #ffffff 60%);
    padding: 6rem 0 5rem;
    overflow: hidden;
}
.hero-home__container {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 5rem;
    align-items: center;
}
.hero-home__copy { max-width: 56rem; }
.hero-home__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 0.7rem 1.4rem;
    background: var(--color-primary-bg);
    border: 1px solid var(--color-primary-lighter);
    border-radius: 999px;
    font-family: var(--font-secondary), sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--color-primary);
    margin-bottom: 2rem;
}
.hero-home__title {
    font-family: var(--font-secondary), sans-serif;
    font-size: 6.4rem;
    font-weight: 800;
    line-height: 1.05;
    color: var(--color-dark);
    margin: 0 0 2rem;
    letter-spacing: -0.02em;
}
.hero-home__subtitle {
    font-size: 1.8rem;
    line-height: 1.55;
    color: #2a4b5c;
    margin: 0 0 3rem;
}
.hero-home__ctas { display: flex; gap: 1.4rem; flex-wrap: wrap; }
.hero-home__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 1.4rem 2.6rem;
    border-radius: 999px;
    font-family: var(--font-secondary), sans-serif;
    font-weight: 600;
    font-size: 1.5rem;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}
.hero-home__btn--primary {
    background: var(--color-primary);
    color: #fff;
}
.hero-home__btn--primary:hover { background: var(--color-dark-alt); transform: translateY(-2px); text-decoration: none; }
.hero-home__btn--ghost {
    background: transparent;
    color: var(--color-dark);
    border: 1.5px solid var(--color-dark);
}
.hero-home__btn--ghost:hover { background: var(--color-dark); color: #fff; transform: translateY(-2px); text-decoration: none; }

.hero-home__video {
    width: 100%;
    aspect-ratio: 16 / 11;
    background-size: cover;
    background-position: center;
    border-radius: 2rem;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2rem 5rem rgba(31,94,121,.18);
    background-color: var(--color-primary-lighter);
}
.hero-home__video::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(31,94,121,0) 0%, rgba(31,94,121,.45) 100%);
    z-index: 1;
}
.hero-home__play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    background: #fff;
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1rem 3rem rgba(0,0,0,.2);
    z-index: 2;
    transition: transform .25s ease, background .25s ease;
}
.hero-home__video:hover .hero-home__play-button { transform: translate(-50%, -50%) scale(1.1); background: var(--color-secondary); color: var(--color-dark); }
.hero-home__play-button svg { margin-left: .3rem; }

/* ===================== QUICK ACTIONS ===================== */
.qa-section { padding: 5rem 0; background: var(--color-bg); }
.qa-section__container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.8rem;
}
.qa-card {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    padding: 2.6rem 2.4rem;
    border-radius: 1.6rem;
    text-decoration: none;
    color: inherit;
    transition: transform .25s ease, box-shadow .25s ease;
    position: relative;
    overflow: hidden;
}
.qa-card:hover { transform: translateY(-4px); box-shadow: 0 1.6rem 4rem rgba(31,94,121,.15); text-decoration: none; }
.qa-card__icon {
    width: 5.2rem;
    height: 5.2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.55);
}
.qa-card__title {
    font-family: var(--font-secondary), sans-serif;
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 .8rem;
    line-height: 1.2;
}
.qa-card__desc {
    font-size: 1.4rem;
    line-height: 1.55;
    margin: 0 0 1rem;
}
.qa-card__cta {
    font-family: var(--font-secondary), sans-serif;
    font-weight: 600;
    font-size: 1.4rem;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.qa-card--orange   { background: #FFE9CA; color: #8f5126; }
.qa-card--orange .qa-card__icon { color: var(--color-accent); }
.qa-card--orange .qa-card__title { color: var(--color-accent); }
.qa-card--orange .qa-card__cta   { color: var(--color-accent); }

.qa-card--teal     { background: var(--color-primary-bg); color: #2a4b5c; }
.qa-card--teal .qa-card__icon { color: var(--color-primary); }
.qa-card--teal .qa-card__title { color: var(--color-dark-alt); }
.qa-card--teal .qa-card__cta   { color: var(--color-primary); }

.qa-card--navy     { background: var(--color-dark); color: rgba(255,255,255,0.85); }
.qa-card--navy .qa-card__icon { background: rgba(255,255,255,0.12); color: #fff; }
.qa-card--navy .qa-card__title { color: #fff; }
.qa-card--navy .qa-card__cta   { color: var(--color-primary-lighter); }

/* ===================== NÚMEROS ===================== */
.numeros-section { padding: 7rem 0; background: var(--color-primary-bg); }
.numeros-section__head { text-align: center; max-width: 60rem; margin: 0 auto 4rem; }
.numeros-section__eyebrow {
    font-family: var(--font-secondary), sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--color-primary);
}
.numeros-section__title {
    font-family: var(--font-secondary), sans-serif;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--color-dark);
    margin: 1rem 0 1.4rem;
    letter-spacing: -0.01em;
}
.numeros-section__desc {
    font-size: 1.7rem;
    color: #4a6b7c;
    margin: 0;
    line-height: 1.55;
}
.numeros-section__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}
.numeros-card {
    background: #fff;
    border-radius: 1.6rem;
    padding: 2.6rem 2.2rem;
    border-top: 4px solid var(--color-primary);
    display: flex;
    flex-direction: column;
    gap: .6rem;
    transition: transform .25s ease, box-shadow .25s ease;
}
.numeros-card:hover { transform: translateY(-4px); box-shadow: 0 1.4rem 3.6rem rgba(31,94,121,.12); }
.numeros-card--accent { border-top-color: var(--color-accent); }
.numeros-card__value {
    font-family: var(--font-secondary), sans-serif;
    font-size: 4.4rem;
    font-weight: 800;
    line-height: 1;
    color: var(--color-dark);
    letter-spacing: -0.02em;
}
.numeros-card__label {
    font-family: var(--font-secondary), sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--color-primary);
    margin-bottom: .8rem;
}
.numeros-card--accent .numeros-card__label { color: var(--color-accent); }
.numeros-card__desc {
    font-size: 1.4rem;
    line-height: 1.55;
    color: #4a6b7c;
    margin: 0 0 1.2rem;
}
.numeros-card__link {
    margin-top: auto;
    font-family: var(--font-secondary), sans-serif;
    font-weight: 600;
    font-size: 1.4rem;
    color: var(--color-primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    transition: gap .2s ease;
}
.numeros-card__link:hover { gap: .8rem; text-decoration: none; }
.numeros-card--accent .numeros-card__link { color: var(--color-accent); }

/* ===================== TOP TOOLS ajustes responsive ===================== */
@media (max-width: 768px) {
    .tools-highlight__title { font-size: 3.2rem !important; line-height: 1.15 !important; }
    .tools-highlight__desc  { font-size: 1.6rem !important; }
}

/* ===================== INSTITUCIONES ajustes responsive ===================== */
@media (max-width: 768px) {
    .sobre-instituciones__titulo h2 { font-size: 2.8rem !important; line-height: 1.2 !important; }
    .institucion-box { flex-direction: column !important; gap: 2rem !important; padding: 0 1.5rem !important; }
    .institucion-box__image img { max-width: 100% !important; }
    .institucion-box__title { font-size: 2.4rem !important; }
}

/* ===================== BLOG SECTION ajustes responsive ===================== */
.blog-section { padding: 5rem 0; }
.blog-section h2 {
    font-family: var(--font-secondary);
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 3rem;
    color: var(--color-dark);
}
@media (max-width: 768px) {
    .blog-section h2 { font-size: 2.8rem !important; }
}

/* ===================== RESPONSIVE GENERAL DE LA HOME ===================== */
@media (max-width: 980px) {
    .hero-home__container { grid-template-columns: 1fr; gap: 3rem; }
    .hero-home__copy { max-width: 100%; text-align: center; margin: 0 auto; }
    .hero-home__ctas { justify-content: center; }
    .qa-section__container { grid-template-columns: 1fr; }
    .numeros-section__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .hero-home { padding: 4rem 0; }
    .hero-home__title { font-size: 4.4rem; line-height: 1.1; }
    .hero-home__subtitle { font-size: 1.6rem; }
    .hero-home__btn { padding: 1.2rem 2rem; font-size: 1.4rem; width: 100%; justify-content: center; }
    .hero-home__video { aspect-ratio: 16 / 9; border-radius: 1.4rem; }
    .hero-home__play-button { width: 5.4rem; height: 5.4rem; }
    .qa-card { padding: 2rem 1.8rem; }
    .qa-card__title { font-size: 1.8rem; }
    .numeros-section { padding: 4rem 0; }
    .numeros-section__title { font-size: 2.8rem; }
    .numeros-section__grid { grid-template-columns: 1fr; }
    .numeros-card__value { font-size: 3.6rem; }
}
