/* Coaching Evolutivo Consciente — estilos propios de la página.
   Tipografía, colores y botones reutilizan las variables y componentes
   de css/estilo-index.css para mantener el mismo estilo que el resto del sitio. */

:root {
    --cec-border: rgba(28, 28, 28, .08);
    --cec-border-dark: rgba(255, 255, 255, .14);
    --cec-muted: rgba(28, 28, 28, .68);
}

.cec-hero { position: relative; padding: 56px 0 48px; background-image: url('imagenes/hero-fondo.webp'); background-size: cover; background-position: center; background-repeat: no-repeat; background-color: var(--color-crema); }
.cec-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 160px; background: linear-gradient(to bottom, rgba(251, 243, 235, 0), var(--color-crema)); pointer-events: none; z-index: 0; }
.cec-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.02fr .98fr; gap: 52px; align-items: center; }
.cec-hero-kicker { font-size: clamp(1.4rem, 1.1rem + 1.4vw, 2rem); font-weight: 700; line-height: 1.25; margin: 0 0 16px; max-width: 760px; color: var(--color-texto); }
.cec-hero-presenta { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--color-primario); margin: 0 0 12px; font-weight: 700; }
.cec-logo-wrap { max-width: 720px; margin: 0 0 18px 0; }
.cec-logo { width: 100%; height: auto; display: block; }
.cec-hero-copy { font-size: 1.1rem; max-width: 680px; color: var(--color-texto); opacity: .85; margin: 18px 0 0; line-height: 1.65; }
.cec-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.cec-micro { font-size: 13px; color: var(--cec-muted); margin-top: 12px; }
.cec-hero-photo { position: relative; min-height: 580px; border-radius: var(--radio-lg); overflow: hidden; box-shadow: var(--sombra-lg); }
.cec-hero-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.cec-photo-note { position: absolute; left: 18px; bottom: 18px; max-width: 300px; padding: 10px 13px; border-radius: var(--radio-md); background: rgba(255, 255, 255, .9); backdrop-filter: blur(8px); font-size: 13px; line-height: 1.35; font-weight: 700; color: var(--color-texto); }

.cec-section { padding: 76px 0; }
.cec-eyebrow { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--color-primario); font-weight: 700; margin-bottom: 12px; }
.cec-section h2 { font-size: clamp(1.9rem, 1.5rem + 1.8vw, 2.9rem); margin: 0 0 20px; }
.cec-intro { font-size: 1.15rem; color: var(--color-texto); opacity: .85; max-width: 800px; margin: 0; line-height: 1.6; }
.cec-identify { position: relative; background-image: url('imagenes/identify-fondo.webp'); background-size: cover; background-position: center top; background-repeat: no-repeat; background-color: var(--color-crema); }
.cec-identify::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 180px; background: linear-gradient(to bottom, var(--color-crema), rgba(251, 243, 235, 0)); pointer-events: none; }
.cec-identify .contenedor { position: relative; }
.cec-identify .cec-eyebrow { position: relative; padding-bottom: 16px; }
.cec-identify .cec-eyebrow::after { content: ''; position: absolute; left: 0; bottom: 0; width: 60px; height: 2px; background: var(--color-primario); }
.cec-situations { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 32px; }
.cec-situation { display: flex; align-items: flex-start; gap: 16px; padding: 24px 26px; border: 1px solid var(--cec-border); border-radius: var(--radio-lg); background: rgba(255, 255, 255, .65); backdrop-filter: blur(6px); font-size: 1.05rem; }
.cec-situation-icon { flex-shrink: 0; width: 28px; height: 28px; margin-top: 2px; color: var(--color-primario); }
.cec-situation b { color: var(--color-primario); }

.cec-definition { background: var(--color-texto); color: var(--color-blanco); }
.cec-definition .cec-eyebrow { color: var(--color-claro); }
.cec-definition .cec-intro { color: #ddd5cf; opacity: 1; }
.cec-definition h2 { max-width: 880px; }
.cec-definition .cec-focus { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.3rem); font-weight: 700; line-height: 1.3; color: var(--color-blanco); max-width: 900px; margin: 30px 0 0; }
.cec-definition .cec-focus em { font-style: normal; color: var(--color-claro); }

.cec-results { background: var(--color-crema); }
.cec-result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 30px; }
.cec-result { background: var(--color-blanco); border: 1px solid var(--cec-border); border-radius: var(--radio-lg); padding: 23px; }
.cec-result h3 { font-size: 1.15rem; margin: 0 0 7px; }
.cec-result p { margin: 0; color: var(--cec-muted); font-size: .95rem; }

.cec-journey { background: var(--color-blanco); }
.cec-stage { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--cec-border); border-radius: var(--radio-lg); overflow: hidden; margin-top: 26px; background: var(--color-blanco); box-shadow: var(--sombra-sm); }
.cec-pic { min-height: 430px; }
.cec-pic img { width: 100%; height: 100%; object-fit: cover; }
.cec-stage1 .cec-pic img { object-position: center 58%; }
.cec-stage2 .cec-pic img { object-position: center 55%; }
.cec-stage-body { padding: 44px; display: flex; flex-direction: column; justify-content: center; }
.cec-tag { display: inline-flex; align-self: flex-start; padding: 7px 10px; border-radius: 50px; background: var(--color-crema); color: var(--color-primario-oscuro); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 15px; }
.cec-stage h3 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.3rem); line-height: 1.2; margin: 0 0 10px; }
.cec-months { color: var(--color-primario); font-weight: 700; margin-bottom: 15px; }
.cec-stage p { font-size: 1.05rem; color: var(--color-texto); opacity: .85; margin: 0; max-width: 510px; }
.cec-stage .cec-short { margin-top: 14px; font-weight: 700; color: var(--color-texto); }

.cec-cert { margin-top: 26px; padding: 38px; border-radius: var(--radio-lg); background: linear-gradient(135deg, #262626, #141414); color: var(--color-blanco); display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; }
.cec-cert small { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #d8cfc8; font-weight: 700; }
.cec-cert h3 { font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.6rem); line-height: 1.15; margin: 7px 0 0; }
.cec-seal { width: 96px; height: 96px; border: 1px solid var(--cec-border-dark); border-radius: 50%; display: grid; place-items: center; color: var(--color-claro); font-weight: 700; font-size: 1.6rem; }

.cec-pedagogy { background: var(--color-crema); }
.cec-pedagogy-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 54px; align-items: center; }
.cec-quote { font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.5rem); font-weight: 700; line-height: 1.3; color: var(--color-texto); }
.cec-quote em { font-style: normal; color: var(--color-primario); }
.cec-pedagogy p { font-size: 1.05rem; color: var(--color-texto); opacity: .85; margin: 0; }

.cec-trust { background: var(--color-blanco); }
.cec-proof { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 30px; }
.cec-proofbox { min-width: 230px; padding: 24px; border-radius: var(--radio-md); background: var(--color-crema); border: 1px solid var(--cec-border); }
.cec-proofbox b { display: block; font-size: 2.2rem; font-weight: 800; color: var(--color-primario); }
.cec-proofbox span { font-size: .9rem; color: var(--cec-muted); }

.cec-faq { background: var(--color-blanco); }
.cec-faq-list { max-width: 900px; margin-top: 28px; }
.cec-faq-list details { border-top: 1px solid var(--cec-border); padding: 18px 0; }
.cec-faq-list details:last-child { border-bottom: 1px solid var(--cec-border); }
.cec-faq-list summary { font-weight: 700; font-size: 1.1rem; cursor: pointer; }
.cec-faq-list p { color: var(--cec-muted); margin: 10px 0 0; font-size: 1rem; }

.cec-cta { padding: 72px 0; background: var(--color-primario); color: var(--color-blanco); }
.cec-cta h2 { max-width: 850px; }
.cec-cta p { font-size: 1.15rem; max-width: 740px; margin: 0 0 26px; opacity: .95; }

.cec-model { background: var(--color-blanco); }
.cec-model-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 32px; }
.cec-model-card { border: 1px solid var(--cec-border); border-radius: var(--radio-lg); padding: 22px; background: var(--color-crema); }
.cec-model-card span { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--color-primario-oscuro); }
.cec-model-card h3 { font-size: 1.05rem; line-height: 1.35; margin: 15px 0; }
.cec-model-card p { font-size: .9rem; color: var(--cec-muted); margin: 0; }
.cec-method-note { background: var(--color-texto); color: var(--color-blanco); border-radius: var(--radio-lg); padding: 25px; margin-top: 18px; font-size: 1.05rem; }
.cec-method-note b { font-size: 1.4rem; color: var(--color-blanco); }
.cec-method-note .cec-movements { color: var(--color-claro); font-size: clamp(.9rem, .8rem + .5vw, 1.3rem); font-weight: 700; line-height: 1.8; letter-spacing: .02em; margin-top: 10px; }
.cec-method-note p { margin: 10px 0 0; font-size: 1rem; color: #e8ddd5; }

.cec-relation { background: var(--color-crema); }
.cec-relation-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 55px; align-items: center; }
.cec-relation p:not(.cec-intro) { font-size: 1.05rem; color: var(--color-texto); opacity: .85; }
.cec-relation-quote { background: var(--color-blanco); border-radius: var(--radio-lg); padding: 40px; border-left: 5px solid var(--color-primario); }
.cec-relation-quote blockquote { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); font-weight: 700; line-height: 1.3; margin: 10px 0 20px; }

.cec-experience { background: var(--color-blanco); }
.cec-experience-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 30px; }
.cec-experience-grid > div { padding: 24px; background: var(--color-crema); border: 1px solid var(--cec-border); border-radius: var(--radio-md); }
.cec-experience-grid b { font-size: 1.1rem; }
.cec-experience-grid p { color: var(--cec-muted); margin: 8px 0 0; }
.cec-topics-title { font-size: 1.35rem; margin: 40px 0 13px; }
.cec-topics { font-size: 1.05rem; line-height: 2; color: var(--color-texto); opacity: .85; }
.cec-topics span { color: var(--color-primario); font-weight: 700; margin: 0 6px; }

.cec-launch-date { display: inline-flex; margin-top: 22px; padding: 10px 16px; border: 1px solid #edbc8d; border-radius: 50px; background: #fff6ed; color: var(--color-primario-oscuro); font-size: .95rem; font-weight: 700; }
.cec-founders-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 45px; align-items: center; margin-top: 25px; }
.cec-founders-grid .cec-intro { max-width: none; }
.cec-founders-grid .cec-definition-more { max-width: none; }
.cec-definition-more { max-width: 880px; margin-top: 20px; color: #e4dad3; font-size: 1.05rem; }
.cec-definition-more p { margin: 0 0 15px; }
.cec-founders-visual { margin: 0; border-radius: var(--radio-lg); overflow: hidden; background: #49403b; box-shadow: var(--sombra-md); }
.cec-founders-visual img { width: 100%; height: 470px; object-fit: cover; object-position: center 45%; }
.cec-founders-visual figcaption { padding: 13px 17px; color: #eee4dc; font-size: 13px; line-height: 1.45; }

.cec-stages-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 32px; align-items: stretch; }
.cec-stages-grid .cec-stage { display: flex; flex-direction: column; margin: 0; border-radius: var(--radio-lg); min-width: 0; }
.cec-stages-grid .cec-stage .cec-pic { min-height: 0; height: 275px; flex-shrink: 0; overflow: hidden; }
.cec-stages-grid .cec-stage .cec-pic img { width: 100%; height: 100%; object-fit: cover; }
.cec-stages-grid .cec-stage .cec-stage-body { padding: 31px 32px 36px; justify-content: flex-start; flex: 1; }
.cec-stages-grid .cec-stage .cec-short { font-size: 1rem; }

.cec-cta-options { display: flex; gap: 15px; flex-wrap: wrap; align-items: center; }
.boton.cec-boton-oscuro { background-color: var(--color-texto); color: var(--color-blanco); border-color: var(--color-texto); }
.boton.cec-boton-oscuro:hover { background-color: #000; }

@media (max-width: 900px) {
    .cec-hero-grid, .cec-pedagogy-grid { grid-template-columns: 1fr; }
    .cec-hero-photo { min-height: 520px; }
    .cec-stage { grid-template-columns: 1fr; }
    .cec-pic { min-height: 350px; }
    .cec-situations, .cec-result-grid { grid-template-columns: 1fr; }
    .cec-cert { grid-template-columns: 1fr; }
    .cec-seal { width: 82px; height: 82px; }
    .cec-model-grid { grid-template-columns: repeat(2, 1fr); }
    .cec-relation-grid { grid-template-columns: 1fr; }
    .cec-experience-grid { grid-template-columns: 1fr; }
    .cec-founders-grid { grid-template-columns: 1fr; gap: 24px; }
    .cec-founders-visual { max-width: 470px; }
    .cec-stages-grid { grid-template-columns: 1fr; }
    .cec-stages-grid .cec-stage .cec-pic { height: 300px; }
}

@media (max-width: 560px) {
    .cec-hero { padding: 40px 0 40px; }
    .cec-hero-copy { font-size: 1rem; }
    .cec-hero-photo { min-height: 460px; border-radius: var(--radio-md); }
    .cec-photo-note { left: 12px; right: 12px; bottom: 12px; max-width: none; }
    .cec-section { padding: 52px 0; }
    .cec-stage-body { padding: 30px 24px; }
    .cec-pic { min-height: 300px; }
    .cec-cert { padding: 30px 24px; }
    .cec-hero-actions { display: grid; }
    .cec-hero-actions .boton { width: 100%; }
    .cec-proofbox { width: 100%; }
    .cec-model-grid { grid-template-columns: 1fr; }
    .cec-relation-quote { padding: 26px; }
    .cec-method-note { font-size: .95rem; line-height: 1.8; }
    .cec-founders-visual img { height: 380px; }
    .cec-stages-grid .cec-stage .cec-pic { height: 255px; }
    .cec-stages-grid .cec-stage .cec-stage-body { padding: 27px 23px; }
    .cec-cta-options { display: grid; }
}
