/* =========================================================
   CC Consulting — Home
   Valores tomados del Figma (frame 1440px, contenido 1200px).
   Mobile first: 768 / 992 / 1200 / 1400.
   Todo scopeado bajo la clase de cada sección.
   ========================================================= */


/* ===== HERO ===== */
.home-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 720px;
    padding: 150px 0 0;                 /* espacio para el header fijo */
    background: var(--primario);
    overflow: hidden;
    isolation: isolate;
}
.home-hero__bg,
.home-hero__overlay { position: absolute; inset: 0; z-index: -1; }
.home-hero__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Gradiente vertical: oscurece arriba (header) y abajo (barra) */
.home-hero__overlay {
    background: linear-gradient(180deg, rgba(11,19,32,.35) 0%, rgba(11,19,32,.25) 50%, rgba(11,19,32,.9) 100%);
}
/* Gradiente lateral: da contraste AA al texto blanco sobre la foto */
.home-hero__overlay--lateral {
    background: linear-gradient(90deg, rgba(11,19,32,.82) 0%, rgba(11,19,32,.55) 42%, rgba(11,19,32,.05) 70%, rgba(11,19,32,0) 100%);
}
@media (max-width: 991px) {
    /* en mobile el texto ocupa todo el ancho: oscurecemos parejo */
    .home-hero__overlay--lateral { background: rgba(11,19,32,.55); }
}

.home-hero__container { padding-bottom: 48px; }
.home-hero__copy {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 640px;
}
.home-hero__copy h1 { color: var(--blanco) !important; }
.home-hero__desc {
    max-width: 560px;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: rgba(255,255,255,.8);
}
.home-hero__btn { margin-top: 8px; }

/* Barra inferior: alianzas + dimensiones */
.home-hero__barra {
    border-top: 1px solid rgba(255,255,255,.16);
    padding: 22px 0 26px;
}
.home-hero__alianza {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255,255,255,.6);
}
.home-hero__alianza img { display: block; height: auto; }
.home-hero__sep { width: 1px; height: 20px; background: rgba(255,255,255,.3); }
.home-hero__dims {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255,255,255,.6);
}

@media (min-width: 768px) {
    .home-hero__desc { font-size: 17px; letter-spacing: -0.002em; }
}
@media (min-width: 992px) {
    .home-hero__btn { margin-top: 0; }
}
@media (min-width: 1200px) {
    /* 860px de alto como el Figma; el copy termina 64px arriba de la barra */
    .home-hero { min-height: 860px; }
    .home-hero__container { padding-bottom: 64px; }
}


/* ===== STATEMENT ===== */
.home-statement .eyebrow { margin-bottom: 40px; }
.home-statement__title {
    max-width: 1040px;
    margin: 0 auto !important;
    font-size: clamp(1.9rem, 3.4vw, 3rem) !important;  /* 48px en desktop */
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
}
.home-statement__cards { margin-top: 40px; }
.home-statement__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    height: 100%;
    padding: 32px 28px;
    background: var(--blanco);
    border-radius: var(--radius);
    text-align: center;
}
.home-statement__num {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--primario);
}
.home-statement__card h3 {
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.025em !important;
}
.home-statement__card p {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: var(--texto);
}
@media (min-width: 1200px) {
    .home-statement .eyebrow { margin-bottom: 56px; }
    .home-statement__cards { margin-top: 56px; }
}


/* ===== SERVICIOS (Qué hacemos) ===== */
.home-servicios__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.home-servicios__header h2 { max-width: 760px; }
.home-servicios__desc { max-width: 560px; }
.home-servicios__grid { margin-top: 40px; }
.home-servicios__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    height: 100%;
    padding: 28px 28px 32px;
    background: var(--bg);
    border-radius: var(--radius);
}
.home-servicios__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-bottom: 12px;                /* "sp" de 12px del Figma */
    border-radius: var(--pill);
    background: var(--blanco);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    color: var(--primario);
}
.home-servicios__card p {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: var(--texto);
}
.home-servicios__tambien {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 40px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--texto);
}
.home-servicios__tambien > span:first-child { margin-right: 4px; }
@media (min-width: 1200px) {
    .home-servicios__grid,
    .home-servicios__tambien { margin-top: 56px; }
}


/* ===== EL DESAFÍO ===== */
.home-desafio__img {
    aspect-ratio: 1 / 1;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: linear-gradient(135deg, #2b3a4e 0%, #121b28 71%);
}
.home-desafio__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.home-desafio__copy {
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.home-desafio__copy h2 {
    font-size: clamp(2rem, 3.4vw, 3rem) !important;   /* 48px en desktop */
    letter-spacing: -0.038em !important;
}
.home-desafio__desc {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: rgba(255,255,255,.65);
}
.home-desafio__list { margin: 0; padding: 0; list-style: none; }
.home-desafio__item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-top: var(--border-light);
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: rgba(255,255,255,.9);
}
.home-desafio__num {
    flex: none;
    font-size: 14px;
    color: rgba(255,255,255,.6);       /* .45 del Figma no llega a AA: subimos a .6 */
}
@media (min-width: 1400px) {
    /* gap de 96px entre foto y copy como el Figma. Sólo desde 1400: con menos ancho
       los márgenes negativos de la fila (-48px) superan el margen del container y
       generan scroll horizontal */
    .home-desafio__row { --bs-gutter-x: 96px; }
}


/* ===== METODOLOGÍA ===== */
.home-metodologia__header .eyebrow { margin-bottom: 20px; }
.home-metodologia__header h2 { max-width: 640px; }
.home-metodologia__header .lead-text { max-width: 360px; }
.home-metodologia__fases {
    margin: 48px 0 0;
    padding: 0;
    list-style: none;
    border-bottom: var(--border);
}
.home-metodologia__fase {
    display: grid;
    grid-template-columns: 64px 1fr;
    align-items: center;
    gap: 8px 24px;
    padding: 32px 0;
    border-top: var(--border);
}
.home-metodologia__num {
    grid-row: span 2;
    font-family: var(--font-titulo);
    font-size: 64px;
    font-weight: 400;
    line-height: .9;
    letter-spacing: -0.05em;
    color: var(--primario);
}
.home-metodologia__titulo {
    font-size: 26px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.025em !important;
}
.home-metodologia__desc {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: var(--texto);
}
@media (min-width: 992px) {
    /* fila del Figma: número 140px · título 320px · descripción */
    .home-metodologia__fase {
        grid-template-columns: 140px 320px 1fr;
        gap: 40px;
        padding: 40px 0;
    }
    .home-metodologia__num { grid-row: auto; font-size: 96px; }
    .home-metodologia__titulo { font-size: 34px !important; }
}
@media (min-width: 1200px) {
    .home-metodologia__fases { margin-top: 72px; }
}


/* ===== QUÉ CAMBIA ===== */
.home-cambios .block-title .eyebrow { margin-bottom: 20px; }
.home-cambios .block-title h2 { max-width: 720px; }
.home-cambios .block-title { margin-bottom: 48px; }
.home-cambios__acc { display: flex; flex-direction: column; gap: 12px; }
.home-cambios__item {
    padding: 26px 28px;
    background: var(--bg);
    border-radius: var(--radius);
}
.home-cambios__label { display: inline-flex; align-items: center; gap: 16px; }
.home-cambios__num { font-family: var(--font-texto); font-size: 13px; line-height: 1.6; }
.home-cambios__titulo {
    font-family: var(--font-titulo);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -0.015em;
}
.home-cambios__body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 0 0 36px;            /* alineado con el título, no con el número */
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: var(--texto);
}
.home-cambios__resultado { font-weight: 500; color: var(--primario); }
.home-cambios__img {
    height: 100%;
    min-height: 320px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: linear-gradient(138deg, #d8d4cc 0%, #b9b3a8 71%);
}
.home-cambios__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 992px) {
    .home-cambios__img { height: 520px; }
}
@media (min-width: 1200px) {
    .home-cambios .block-title { margin-bottom: 72px; }
}


/* ===== BANDA: NUESTRO ENFOQUE ===== */
.home-enfoque {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 480px;
    padding: 96px 0;
    overflow: hidden;
    isolation: isolate;
    background: var(--primarioOscuro);
}
.home-enfoque__bg,
.home-enfoque__overlay { position: absolute; inset: 0; z-index: -1; }
.home-enfoque__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.home-enfoque__overlay {
    background: linear-gradient(249deg, rgba(23,45,95,0) 27%, var(--primarioOscuro) 77%);
}
.home-enfoque__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
    max-width: 860px;
}
.home-enfoque__copy h2 {
    font-size: clamp(2.4rem, 4.5vw, 4rem) !important;  /* 64px en desktop */
    letter-spacing: -0.038em !important;
}
.home-enfoque__desc {
    max-width: 540px;
    font-size: 17px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: rgba(255,255,255,.78);
}
.home-enfoque__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
@media (min-width: 1200px) {
    .home-enfoque { min-height: 560px; padding: 120px 0; }
}


/* ===== EQUIPO ===== */
.home-equipo__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.home-equipo__desc { max-width: 560px; }
.home-equipo .block-title { margin-bottom: 40px; }
.home-equipo__perfil {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.home-equipo__foto {
    position: relative;
    height: 420px;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: linear-gradient(130deg, #d8d4cc 0%, #b9b3a8 71%);
}
.home-equipo__foto img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.home-equipo__linkedin {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--pill);
    background: var(--primario);
    color: var(--blanco) !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition: transform .3s ease, box-shadow .3s ease;
}
.home-equipo__linkedin:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(23,45,95,.35); }
.home-equipo__linkedin:focus-visible { outline: 2px solid var(--blanco); outline-offset: 2px; }
.home-equipo__nombre {
    font-size: 22px !important;
    letter-spacing: -0.015em !important;
}
.home-equipo__cargo {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--texto);
}
.home-equipo__bio {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: var(--texto);
}
@media (min-width: 1200px) {
    .home-equipo .block-title { margin-bottom: 56px; }
    .home-equipo__foto { height: 460px; }
}


/* ===== ALIANZAS ===== */
.home-alianzas__copy {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 480px;
}
.home-alianzas__copy h2 {
    font-size: clamp(2rem, 3.2vw, 2.75rem) !important;  /* 44px en desktop */
    letter-spacing: -0.038em !important;
}
.home-alianzas__desc {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: var(--texto);
}
.home-alianzas__cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 624px;
    margin-left: auto;
}
.home-alianzas__card {
    /* grilla: logo + etiqueta arriba, botón siempre en su propia fila */
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 24px 16px;
    padding: 32px;
    background: var(--bg);
    border-radius: var(--radius);
}
.home-alianzas__card img { display: block; height: 44px; width: auto; }
.home-alianzas__tag {
    padding: 8px 14px;
    background: var(--blanco);
    border-radius: var(--pill);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--primario);
    white-space: nowrap;
}
/* Link a la nota / sitio del socio: discreto, que no le quite protagonismo al logo */
.home-alianzas__link {
    grid-column: 1 / -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: -4px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--primario) !important;
    text-decoration: none !important;
}
.home-alianzas__link-text {
    text-decoration: underline;
    text-decoration-color: rgba(23, 45, 95, .3);
    text-underline-offset: 4px;
    transition: text-decoration-color .25s ease;
}
.home-alianzas__link-arrow { font-size: 13px; transition: transform .25s ease; }
.home-alianzas__link:hover .home-alianzas__link-text { text-decoration-color: currentColor; }
.home-alianzas__link:hover .home-alianzas__link-arrow { transform: translate(2px, -2px); }
.home-alianzas__link:focus-visible { outline: 2px solid var(--primario); outline-offset: 4px; border-radius: 4px; }
@media (min-width: 768px) {
    .home-alianzas__card { padding: 40px; }
}
@media (max-width: 991px) {
    .home-alianzas__cards { margin-left: 0; max-width: none; }
}


/* ===== FAQ ===== */
.home-faq .eyebrow { margin-bottom: 20px; }
.home-faq__title { max-width: 400px; }
.home-faq__list {
    max-width: 704px;
    margin-left: auto;
    border-bottom: var(--border);
}
.home-faq__item {
    padding: 26px 0;
    border-top: var(--border);
}

.home-faq__item .home-faq__a{
	margin-top:20px;
}

.home-faq__q {
    font-family: var(--font-titulo);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -0.01em;
}
.home-faq__a p { margin: 0 0 .75em; }
.home-faq__a p:last-child { margin-bottom: 0; }
.home-faq__a strong,
.home-faq__a b { font-weight: 600; color: var(--primario); }
.home-faq__a a { color: var(--primario); text-decoration: underline; text-underline-offset: 3px; }

@media (min-width: 768px) {
    .home-faq__q { font-size: 20px; }
}
@media (max-width: 991px) {
    .home-faq__list { margin-left: 0; max-width: none; }
}


/* ===== CTA FINAL ===== */
.home-cta {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 520px;
    padding: 96px 0;
    overflow: hidden;
    isolation: isolate;
    background: var(--primario);
}
.home-cta__bg,
.home-cta__overlay { position: absolute; inset: 0; z-index: -1; }
.home-cta__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.home-cta__overlay { background: rgba(23,45,95,.5); }
.home-cta__copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.home-cta__copy h2 {
    max-width: 900px;
    font-size: clamp(2.6rem, 5vw, 4.5rem) !important;   /* 72px en desktop */
    letter-spacing: -0.038em !important;
}
.home-cta__desc {
    max-width: 520px;
    font-size: 17px;
    line-height: 1.6;
    letter-spacing: -0.002em;
    color: rgba(255,255,255,.8);
}
.home-cta__acciones {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px 24px;
}
.home-cta__mail {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--blanco) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.home-cta__mail:hover { text-decoration-thickness: 2px; }
@media (min-width: 1200px) {
    .home-cta { min-height: 640px; }
}
