:root{--gec-display-font:"arsenica-variable",Georgia,'Times New Roman',serif;--gec-petroleo:#32515E;--gec-agua:#618B91;--gec-celeste:#BBD6D7;--gec-arena:#A79176;--gec-crema:#F8E9DA;--gec-menta:#E7EFEB;--gec-tinta:#20343C;--gec-white:#FFFDFC;--gec-border:rgba(50,81,94,.17);--gec-shadow:0 14px 40px rgba(32,52,60,.065);--gec-shadow-hover:0 20px 54px rgba(32,52,60,.11)}
html{scroll-behavior:smooth}body{background:var(--gec-white);color:var(--gec-tinta)}
a{transition:opacity .2s ease,transform .22s ease,background .2s ease,box-shadow .22s ease}a:hover{opacity:.8}
.gec-shell{max-width:1180px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}

/* Brand */
.gec-header .wp-block-shortcode,.gec-footer .wp-block-shortcode{margin:0}
.gec-brand{display:inline-flex;text-decoration:none!important;color:var(--gec-petroleo)!important;opacity:1!important}
.gec-brand--header{align-items:center;gap:.72rem;white-space:nowrap}
.gec-brand--header img{width:34px;height:45px;object-fit:contain;display:block}
.gec-brand--header span{font-family:var(--gec-display-font);font-size:1.43rem;line-height:1;font-weight:400;font-style:normal;font-variation-settings:"opsz" 1000,"wght" 400}
.gec-brand--footer{display:block;width:min(100%,280px)}
.gec-brand--footer img{width:100%;height:auto;display:block}

/* Header */
.gec-header{position:relative;z-index:20;background:rgba(255,253,252,.97);border-bottom:1px solid var(--gec-border);backdrop-filter:saturate(120%) blur(10px)}
.gec-header__inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:1.6rem}
.gec-header .wp-block-navigation{gap:1.05rem}.gec-header .wp-block-navigation__responsive-container-content{gap:1.05rem}
.gec-header-cta .wp-block-button__link{white-space:nowrap}

/* Footer */
.gec-footer{margin-top:0;background:var(--gec-menta);border-top:1px solid var(--gec-border)}
.gec-footer__inner{padding-block:3rem}.gec-footer__bottom{border-top:1px solid var(--gec-border);padding-top:1.15rem;margin-top:1.75rem;font-size:.82rem;color:rgba(32,52,60,.72)}

/* Display typography — Arsenica Variable / Display Regular (Adobe Fonts)
   La instancia display usa el extremo alto del eje óptico (opsz 1000) con
   peso Regular (wght 400). Se aplica a la voz editorial de gran escala;
   tarjetas, navegación y texto funcional conservan la tipografía del sistema. */
.gec-hero h1,
.gec-section h2,
.gec-page-title h1,
.gec-single-header .wp-block-post-title{font-family:var(--gec-display-font);font-style:normal;font-weight:400;font-variation-settings:"opsz" 1000,"wght" 400}

/* Home hero */
.gec-hero{padding-block:clamp(4rem,7vw,6.5rem);background:linear-gradient(135deg,var(--gec-crema),#fff 55%,var(--gec-menta))}
.gec-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.gec-hero h1{font-size:clamp(2.65rem,4.15vw,4.25rem);line-height:1.01;margin:0 0 1.4rem;max-width:18.5ch;text-wrap:balance}
.gec-hero__visual{min-height:clamp(300px,32vw,390px)!important;border-radius:32px!important;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(145deg,var(--gec-celeste),#c9dede)!important}
.gec-hero__visual:before{content:"";position:absolute;inset:12% 14% 10% 18%;background:url('../images/isotipo-gissela.png') center/contain no-repeat;opacity:.11;z-index:0;filter:saturate(.75)}
.gec-hero__visual:after{content:"";position:absolute;width:42%;aspect-ratio:1;border-radius:50%;background:rgba(255,253,252,.34);right:-7%;top:-11%;z-index:1}
.gec-kicker{text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:.72rem;color:var(--gec-agua);margin:0 0 .7rem}
.gec-lead{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.2rem,1.8vw,1.7rem);line-height:1.3;color:var(--gec-petroleo)}

/* Sections */
.gec-section{padding-block:clamp(3.5rem,6vw,5.5rem)}
.gec-section--tint{background:var(--gec-menta)}.gec-section--cream{background:var(--gec-crema)}
.gec-section__head{max-width:920px;margin-bottom:2rem}.gec-section__head h2{font-size:clamp(2.15rem,3.5vw,3.55rem);line-height:1.04;margin:.2rem 0 .85rem;text-wrap:balance}

/* Adaptive grids */
.gec-grid{display:grid;gap:1.5rem;align-items:stretch}.gec-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gec-grid--3:has(> :only-child){grid-template-columns:minmax(330px,460px);justify-content:start}
.gec-grid--3:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(300px,430px));justify-content:start}
.gec-stack{display:grid;gap:1.35rem}

/* Cards: v0.3 = menos póster, más módulo editorial */
.gec-card{background:#fff;border:1px solid var(--gec-border);border-radius:22px;overflow:hidden;box-shadow:var(--gec-shadow);display:flex;flex-direction:column;min-height:100%;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.gec-card:hover{transform:translateY(-3px);box-shadow:var(--gec-shadow-hover);border-color:rgba(50,81,94,.24)}
.gec-card__media{display:block;aspect-ratio:3/2;background:var(--gec-celeste);overflow:hidden;position:relative}
.gec-card--book .gec-card__media{aspect-ratio:4/3;background:linear-gradient(145deg,var(--gec-crema),#f3dfca);padding:1rem}
.gec-featured{width:100%;height:100%;object-fit:cover;display:block}.gec-featured--book{object-fit:contain}
.gec-media-placeholder{width:100%;height:100%;min-height:0;background:linear-gradient(135deg,var(--gec-celeste),var(--gec-menta));position:relative}
.gec-card__media .gec-media-placeholder:after{content:"";position:absolute;width:36%;aspect-ratio:1;border-radius:50%;right:-8%;top:-18%;background:rgba(255,255,255,.28)}
.gec-card__body{padding:1.35rem 1.4rem 1.45rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.gec-card h3{font-size:1.48rem;line-height:1.1;margin:0}.gec-card h3 a{color:var(--gec-petroleo)}.gec-card p{margin:0;color:rgba(32,52,60,.76)}.gec-text-link{display:inline-block;margin-top:auto;padding-top:.55rem;font-weight:700;color:var(--gec-petroleo)}

.gec-event-card{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.75rem;align-items:center;background:#fff;border:1px solid var(--gec-border);border-radius:22px;padding:1rem;box-shadow:var(--gec-shadow);transition:transform .24s ease,box-shadow .24s ease}
.gec-event-card:hover{transform:translateY(-2px);box-shadow:var(--gec-shadow-hover)}
.gec-event-card__media{display:block;aspect-ratio:3/2;border-radius:15px;overflow:hidden;background:var(--gec-celeste)}.gec-event-card h3{font-size:1.85rem;line-height:1.08;margin:.2rem 0 .65rem}.gec-event-meta{color:var(--gec-agua);font-weight:600}

/* Individual content */
.gec-single-header{padding-block:clamp(3.5rem,5.5vw,5.25rem) 1rem}.gec-single-header .wp-block-post-title{font-size:clamp(2.5rem,4vw,4rem);line-height:1.02;max-width:18ch;margin:0;text-wrap:balance}.gec-back-link{font-size:.88rem;font-weight:700;margin-bottom:.85rem}
.gec-single-header+.gec-section{padding-top:1.15rem;padding-bottom:clamp(4rem,6vw,5.5rem)}
.gec-single{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.gec-single__media{aspect-ratio:4/3;border-radius:26px;overflow:hidden;background:var(--gec-celeste);position:sticky;top:102px}.gec-single__media--book{aspect-ratio:4/5;background:var(--gec-crema);padding:1.25rem}
.gec-single__body{display:flex;flex-direction:column;gap:1.45rem}.gec-richtext>*:first-child{margin-top:0}.gec-richtext>*:last-child{margin-bottom:0}.gec-richtext{font-size:1.04rem;line-height:1.65}
.gec-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--gec-border);border-left:1px solid var(--gec-border);border-radius:17px;overflow:hidden}.gec-facts>div{padding:.95rem 1rem;border-right:1px solid var(--gec-border);border-bottom:1px solid var(--gec-border);display:flex;flex-direction:column;gap:.22rem;background:#fff}.gec-facts span{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--gec-agua);font-weight:700}.gec-facts strong{font-size:.98rem}.gec-facts__wide{grid-column:1/-1}
.gec-button{display:inline-flex;align-self:flex-start;background:var(--gec-petroleo);color:#fff!important;border-radius:999px;padding:.88rem 1.3rem;font-weight:700}.gec-button:hover{opacity:1;transform:translateY(-1px);box-shadow:0 8px 20px rgba(50,81,94,.18)}
.gec-chips{display:flex;flex-wrap:wrap;gap:.5rem}.gec-chips span,.gec-badge{display:inline-flex;background:var(--gec-crema);color:var(--gec-petroleo);border-radius:999px;padding:.42rem .76rem;font-size:.76rem;font-weight:700}.gec-badge{align-self:flex-start}

/* Testimonials */
.gec-quote{margin:0;padding:1.75rem;border-radius:22px;background:#fff;border:1px solid var(--gec-border);box-shadow:var(--gec-shadow);min-width:0}
.gec-grid--3:has(> .gec-quote:only-child){grid-template-columns:minmax(340px,440px)}
.gec-quote__mark{font:400 3.5rem/1 Georgia,serif;color:var(--gec-celeste)}.gec-quote__text{font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;line-height:1.45;color:var(--gec-petroleo)}.gec-quote__text p{margin-top:0}.gec-quote footer{display:flex;flex-direction:column;gap:.15rem;margin-top:1.15rem}.gec-quote footer span{font-size:.84rem;color:var(--gec-agua)}

.gec-page-title{padding-block:clamp(3.5rem,6vw,5.5rem) 1.5rem}.gec-page-title h1{font-size:clamp(2.7rem,4.25vw,4.4rem);margin:0}.gec-page-content{padding-bottom:3.5rem}

@media(max-width:1040px){
 .gec-header__inner{gap:1rem}.gec-header .wp-block-navigation{gap:.7rem}.gec-brand--header span{font-size:1.3rem}.gec-header-cta .wp-block-button__link{padding-inline:1rem}
}
@media(max-width:900px){
 .gec-grid--3{grid-template-columns:1fr 1fr}.gec-grid--3:has(> :only-child){grid-template-columns:minmax(300px,440px)}
 .gec-hero__grid,.gec-single{grid-template-columns:1fr}.gec-hero h1{max-width:19ch}.gec-hero__visual{max-width:650px;width:100%}
 .gec-single__media{position:relative;top:auto;max-width:650px}.gec-event-card{grid-template-columns:180px 1fr}.gec-header__inner{min-height:72px}.gec-header-cta{display:none}
}
@media(max-width:650px){
 .gec-grid--3,.gec-grid--3:has(> :only-child),.gec-grid--3:has(> :nth-child(2):last-child){grid-template-columns:1fr}
 .gec-event-card{grid-template-columns:1fr}.gec-event-card__media{aspect-ratio:16/9}.gec-facts{grid-template-columns:1fr}.gec-facts__wide{grid-column:auto}
 .gec-hero{padding-block:3.5rem}.gec-hero h1{font-size:clamp(2.35rem,11vw,3.35rem)}.gec-hero__visual{min-height:270px!important}.gec-section{padding-block:3.25rem}
 .gec-single-header{padding-top:3rem}.gec-single-header .wp-block-post-title{font-size:clamp(2.35rem,11vw,3.3rem)}
 .gec-brand--header img{width:30px;height:40px}.gec-brand--header span{font-size:1.2rem}.gec-card__media,.gec-card--book .gec-card__media{aspect-ratio:16/10}
 .gec-brand--footer{width:230px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* v0.3.1 — escala editorial y tarjetas compactas
   Ajustes realizados tras revisar el sitio a viewport completo (desktop). */
@media (min-width:901px){
  .gec-header__inner{min-height:70px}
  .gec-hero{padding-block:clamp(3.4rem,5vw,4.75rem)}
  .gec-hero__grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.7fr);gap:clamp(2.25rem,4.5vw,4rem)}
  .gec-hero h1{font-size:clamp(2.25rem,3.15vw,3.25rem)!important;line-height:1.035;max-width:21ch;margin-bottom:1.25rem}
  .gec-hero__visual{min-height:clamp(270px,24vw,315px)!important;border-radius:28px!important}

  .gec-section{padding-block:clamp(3rem,4.5vw,4.25rem)}
  .gec-section__head{max-width:880px;margin-bottom:1.6rem}
  .gec-section__head h2{font-size:clamp(1.8rem,2.5vw,2.75rem);line-height:1.08;margin:.15rem 0 .7rem}

  /* En desktop, una sola pieza no debe comportarse como una tarjeta de catálogo
     vertical gigante. La convertimos en un módulo editorial horizontal. */
  .gec-grid--3:has(> .gec-card:only-child){grid-template-columns:minmax(0,760px);justify-content:start}
  .gec-grid--3:has(> .gec-card:only-child) > .gec-card{display:grid;grid-template-columns:42% minmax(0,1fr);min-height:0;max-width:760px}
  .gec-grid--3:has(> .gec-card:only-child) > .gec-card .gec-card__media{height:248px;aspect-ratio:auto!important}
  .gec-grid--3:has(> .gec-card:only-child) > .gec-card .gec-card__body{justify-content:center;padding:1.4rem 1.55rem}

  .gec-grid--3:has(> .gec-card--book:only-child){grid-template-columns:minmax(0,650px)}
  .gec-grid--3:has(> .gec-card--book:only-child) > .gec-card--book{grid-template-columns:220px minmax(0,1fr);max-width:650px}
  .gec-grid--3:has(> .gec-card--book:only-child) > .gec-card--book .gec-card__media{height:260px;aspect-ratio:auto!important;padding:.8rem}

  /* Catálogo con 2–3 elementos: imágenes más panorámicas y cuerpos más breves. */
  .gec-card__media{aspect-ratio:16/9}
  .gec-card--book .gec-card__media{aspect-ratio:16/10;padding:.8rem}
  .gec-card__body{padding:1.1rem 1.2rem 1.2rem;gap:.48rem}
  .gec-card h3{font-size:1.28rem;line-height:1.12}
  .gec-text-link{padding-top:.35rem}

  .gec-single-header{padding-block:clamp(3rem,4.5vw,4.25rem) .8rem}
  .gec-single-header .wp-block-post-title{font-size:clamp(2.2rem,3vw,3.25rem)!important;line-height:1.04;max-width:22ch}
  .gec-page-title{padding-block:clamp(3rem,4.5vw,4.25rem) 1.2rem}
  .gec-page-title h1{font-size:clamp(2.3rem,3.2vw,3.4rem)!important;line-height:1.04}
}

@media (max-width:900px){
  .gec-section__head h2{font-size:clamp(1.8rem,6vw,2.65rem)}
}

@media (max-width:650px){
  .gec-hero h1{font-size:clamp(2rem,9vw,2.8rem)!important;line-height:1.04}
  .gec-section__head h2{font-size:clamp(1.75rem,8vw,2.35rem)}
}
/* Hero portrait — Gissela integrated into the section */
.gec-hero {
	overflow: hidden;
}

.gec-hero__grid {
	align-items: end;
}

.gec-hero__portrait {
    margin: 0;
    align-self: end;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 100%;
    transform: translateY(76px);
}

.gec-hero__portrait img {
	display: block;
	width: min(110%, 530px);
	max-width: none;
	height: auto;
	max-height: none;
	object-fit: contain;
	object-position: center bottom;
	margin: 0;
}

/* Tablet */
@media (max-width: 900px) {
	.gec-hero__portrait {

	}

	.gec-hero__portrait img {
		width: min(100%, 430px);
	}
}

/* Mobile */
@media (max-width: 700px) {
	.gec-hero__portrait {
		margin-top: 24px;

	}

	.gec-hero__portrait img {
		width: min(92%, 380px);
	}
}

/* Ajuste de espacio superior del hero */
.gec-hero {
    padding-top: 36px;
}

/* =========================================================
   ORIENTACIÓN
   ========================================================= */

.gec-orientation-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	max-width: 1040px;
	margin: 32px auto 0;
}

.gec-orientation-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 250px;
	padding: 30px 32px;
	border: 1px solid rgba(43, 83, 94, 0.16);
	border-radius: 24px;
	background: rgba(255,255,255,0.42);
	color: inherit;
	text-decoration: none;
	transition:
		transform .25s ease,
		background-color .25s ease,
		box-shadow .25s ease;
}

.gec-orientation-card:hover {
	transform: translateY(-3px);
	background: rgba(255,255,255,0.70);
	box-shadow: 0 14px 36px rgba(43, 83, 94, 0.08);
}

.gec-orientation-number {
	margin-bottom: 34px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--wp--preset--color--azul, #315966);
}

.gec-orientation-card h3 {
	max-width: 420px;
	margin: 0 0 12px;
	font-family: "arsenica-variable", serif;
	font-size: clamp(1.55rem, 2vw, 2rem);
	font-weight: 400;
	line-height: 1.08;
	color: #315966;
}

.gec-orientation-card p {
	max-width: 440px;
	margin: 0 0 24px;
	font-size: 1rem;
	line-height: 1.55;
}

.gec-orientation-link {
	margin-top: auto;
	font-weight: 700;
	font-size: .92rem;
	color: #315966;
}

@media (max-width: 700px) {
	.gec-orientation-grid {
		grid-template-columns: 1fr;
		margin-top: 24px;
	}

	.gec-orientation-card {
		min-height: 220px;
		padding: 26px;
	}

	.gec-orientation-number {
		margin-bottom: 24px;
	}
}

/* =========================================================
   PROGRAMAS — HOME
   ========================================================= */

.gec-section:has(.gec-card--program) .gec-grid {
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

/* Cuando solo existe un programa */
.gec-grid:has(> .gec-card--program:only-child) {
	display: block;
}

.gec-grid > .gec-card--program:only-child {
	display: grid;
	grid-template-columns: minmax(0, 46%) minmax(0, 54%);
	width: 100%;
	max-width: 1040px;
	min-height: 350px;
	margin: 0 auto;
	overflow: hidden;
	border: 1px solid rgba(43, 83, 94, 0.14);
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 16px 42px rgba(43, 83, 94, 0.06);
}

/* Imagen */
.gec-grid > .gec-card--program:only-child .gec-card__media {
	min-height: 350px;
	height: 100%;
	aspect-ratio: auto;
	background: #c6dee0;
}

.gec-grid > .gec-card--program:only-child .gec-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Contenido */
.gec-grid > .gec-card--program:only-child .gec-card__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 42px 48px;
}

.gec-grid > .gec-card--program:only-child .gec-kicker {
	margin-bottom: 12px;
}

.gec-grid > .gec-card--program:only-child h3 {
	max-width: 520px;
	margin: 0 0 16px;
	font-family: "arsenica-variable", serif;
	font-size: clamp(1.9rem, 3vw, 2.7rem);
	font-weight: 400;
	line-height: 1.05;
	color: #315966;
}

.gec-grid > .gec-card--program:only-child .gec-card__desc {
	max-width: 510px;
	margin-bottom: 28px;
	font-size: 1.04rem;
	line-height: 1.55;
	color: rgba(37, 57, 63, .78);
}

.gec-grid > .gec-card--program:only-child .gec-card__link {
	margin-top: auto;
	font-weight: 700;
	font-size: .96rem;
}

/* 2 programas: dos columnas. 3 o más: tres columnas. */
.gec-programas-grid:has(> .gec-card--program:nth-child(2):last-child) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.gec-programas-grid:has(> .gec-card--program:nth-child(3)) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.gec-programas-grid .gec-card--program {
	overflow: hidden;
	border-radius: 24px;
}

/* Tablet */
@media (max-width: 900px) {

	.gec-grid > .gec-card--program:only-child {
		grid-template-columns: 42% 58%;
		min-height: 320px;
	}

	.gec-grid > .gec-card--program:only-child .gec-card__media {
		min-height: 320px;
	}

	.gec-grid > .gec-card--program:only-child .gec-card__body {
		padding: 34px;
	}

	.gec-programas-grid:has(> .gec-card--program:nth-child(3)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Móvil */
@media (max-width: 700px) {

	.gec-grid > .gec-card--program:only-child {
		display: block;
		min-height: 0;
		border-radius: 20px;
	}

	.gec-grid > .gec-card--program:only-child .gec-card__media {
		height: 230px;
		min-height: 230px;
	}

	.gec-grid > .gec-card--program:only-child .gec-card__body {
		padding: 26px;
	}

	.gec-grid > .gec-card--program:only-child h3 {
		font-size: 2rem;
	}

	.gec-grid:has(> .gec-card--program:nth-child(2)) {
		grid-template-columns: 1fr;
	}
}

/* Programa único en Home — composición horizontal */
@media (min-width: 901px) {

    .gec-programas-grid > article:first-of-type:last-of-type {
        display: grid !important;
        grid-template-columns: 42% 58% !important;

        grid-column: 1 / -1 !important;
        width: min(100%, 760px) !important;
        max-width: 760px !important;

        justify-self: start !important;
        align-items: stretch !important;

        overflow: hidden;
    }

    .gec-programas-grid > article:first-of-type:last-of-type .gec-card__media {
        width: 100% !important;
        height: 100% !important;
        min-height: 250px !important;

        aspect-ratio: auto !important;
        margin: 0 !important;
    }

    .gec-programas-grid > article:first-of-type:last-of-type .gec-card__body {
        display: flex !important;
        flex-direction: column;
        justify-content: center;

        padding: 1.5rem 1.75rem !important;
    }

}

/* Programa único en Home — composición horizontal definitiva */
@media (min-width: 901px) {

    .gec-programas-grid > article:first-of-type:last-of-type {
        display: grid !important;
        grid-template-columns: 42% 58% !important;
        grid-template-areas: "media body" !important;
        width: min(100%, 760px) !important;
        max-width: 760px !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    /* El párrafo intermedio que WordPress está insertando */
    .gec-programas-grid > article:first-of-type:last-of-type > p {
        display: none !important;
    }

    .gec-programas-grid > article:first-of-type:last-of-type > .gec-card__media {
        grid-area: media !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 280px !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
    }

    .gec-programas-grid > article:first-of-type:last-of-type > .gec-card__body {
        grid-area: body !important;
        width: auto !important;
        height: 100% !important;
        padding: 2rem 2.25rem !important;
        margin: 0 !important;

        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
}

/* =========================================================
   HOME — LIBRO ÚNICO
   Composición editorial horizontal
   ========================================================= */

@media (min-width: 901px) {

    .gec-grid:has(> article.gec-card--book:only-child)
    > article.gec-card--book {
        display: grid !important;
        grid-template-columns: 38% 62% !important;

        width: min(100%, 760px) !important;
        max-width: 760px !important;
        min-height: 300px !important;

        margin-inline: auto !important;
        overflow: hidden !important;
    }

    .gec-grid:has(> article.gec-card--book:only-child)
    > article.gec-card--book
    > .gec-card__media {
        grid-column: 1 !important;
        grid-row: 1 !important;

        width: 100% !important;
        height: 100% !important;
        min-height: 300px !important;

        margin: 0 !important;
        aspect-ratio: auto !important;
    }

    .gec-grid:has(> article.gec-card--book:only-child)
    > article.gec-card--book
    > .gec-card__body {
        grid-column: 2 !important;
        grid-row: 1 !important;

        width: 100% !important;
        min-height: 300px !important;

        padding: 2rem 2.4rem !important;
        margin: 0 !important;

        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: flex-start !important;
    }

    .gec-grid:has(> article.gec-card--book:only-child)
    > article.gec-card--book
    .gec-card__body h3 {
        font-family: "arsenica-variable", serif !important;
        font-variation-settings: "opsz" 100, "wght" 400 !important;

        font-size: clamp(2rem, 2.5vw, 2.55rem) !important;
        line-height: 1.02 !important;

        margin: 0 0 .8rem !important;
    }
}

/* =========================================================
   HOME — LIBRO ÚNICO / AJUSTE FINAL DESKTOP
   ========================================================= */

@media (min-width: 901px) {

    .gec-grid:has(> article.gec-card--book:only-child)
    > article.gec-card--book {
        width: min(100%, 760px) !important;
        max-width: 760px !important;

        height: 320px !important;
        min-height: 0 !important;

        grid-template-columns: 42% 58% !important;
        align-items: stretch !important;
    }

    .gec-grid:has(> article.gec-card--book:only-child)
    > article.gec-card--book
    > .gec-card__media {
        width: 100% !important;
        height: 320px !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;
        background: #d7e8e7 !important;
    }

    /* Placeholder mientras no tengamos portada real */
    .gec-grid:has(> article.gec-card--book:only-child)
    > article.gec-card--book
    .gec-media-placeholder {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #d7e8e7 !important;
    }

    .gec-grid:has(> article.gec-card--book:only-child)
    > article.gec-card--book
    > .gec-card__body {
        height: 320px !important;
        min-height: 0 !important;

        padding: 2rem 2.25rem !important;

        justify-content: center !important;
    }
}

/* =========================================================
   HOME — TESTIMONIO ÚNICO
   ========================================================= */

@media (min-width: 901px) {

    /* Si existe un solo testimonio */
    .gec-grid:has(> .gec-quote:only-child) {
        grid-template-columns: minmax(0, 760px) !important;
        justify-content: start !important;
        gap: 0 !important;
    }

    .gec-grid > .gec-quote:only-child {
        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 2.25rem 2.5rem !important;

        border-radius: 24px !important;
    }

    /* Comillas */
    .gec-grid > .gec-quote:only-child::before {
        font-size: 3.75rem !important;
        line-height: .7 !important;
        margin-bottom: 1.25rem !important;
    }

    /* Texto principal */
    .gec-grid > .gec-quote:only-child .gec-quote__text,
    .gec-grid > .gec-quote:only-child > p {
        max-width: 58ch !important;
        font-size: 1.18rem !important;
        line-height: 1.5 !important;
    }

    /* Autor / contexto */
    .gec-grid > .gec-quote:only-child footer {
        margin-top: 1.5rem !important;
    }
}

/* HOME — Testimonio único alineado con el contenido */
@media (min-width: 901px) {

    .gec-grid:has(> .gec-quote:only-child) {
        width: calc(100% - 3rem) !important;
        max-width: var(--wp--style--global--wide-size, 1040px) !important;

        margin-left: auto !important;
        margin-right: auto !important;

        grid-template-columns: minmax(0, 760px) !important;
        justify-content: start !important;
        gap: 0 !important;
    }

    .gec-grid > .gec-quote:only-child {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

}
/* =========================================================
   HOME — CTA FINAL ¿CONVERSAMOS?
   ========================================================= */

.gec-contact {
    padding-block: clamp(3.5rem, 6vw, 5.5rem) !important;
}

.gec-contact h2 {
    max-width: 720px;
    margin-bottom: 1rem;
    font-size: clamp(2.4rem, 4vw, 3.7rem);
    line-height: 1;
}

.gec-contact p {
    max-width: 760px;
    margin-bottom: 1.75rem;
    font-size: 1.08rem;
    line-height: 1.55;
}

.gec-contact .wp-block-buttons {
    gap: .75rem;
}

/* Acciones CTA final */

.gec-contact__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
}

.gec-contact__actions .wp-block-button__link {
    white-space: nowrap;
}

@media (max-width: 700px) {
    .gec-contact__actions {
        width: 100%;
        margin-top: .5rem;
    }
}

/* =========================================================
   FOOTER — fondo full width + contenido contenido
   ========================================================= */

/*
.gec-footer {
    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    box-sizing: border-box;
}
/*

/*
.gec-footer__inner {
    width: min(calc(100% - 48px), 1040px) !important;
    max-width: 1040px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box;
}
/*


/* Eliminar espacio residual debajo del footer */


/*
.gec-footer {
    margin-bottom: 0 !important;
}

.wp-site-blocks {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body {
    margin-bottom: 0 !important;
}
/*

/* ==========================================================
   PÁGINA GISSELA — HERO
   ========================================================== */

.gec-gissela-page {
	margin: 0;
	padding: 0;
}

.gec-gissela-hero {
	width: 100%;
	overflow: hidden;
	background:
		linear-gradient(
			90deg,
			#f8eadb 0%,
			#fbf8f4 54%,
			#edf4f3 100%
		);
}

.gec-gissela-hero__inner {
	width: min(calc(100% - 64px), 1040px);
	margin: 0 auto;

	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
	gap: clamp(2rem, 5vw, 5rem);

	min-height: 620px;
	align-items: end;

	padding-top: clamp(4rem, 7vw, 6.5rem);
}

.gec-gissela-hero__content {
	align-self: center;
	padding-bottom: 4rem;
}

.gec-gissela-hero .gec-kicker {
	margin: 0 0 1.2rem;

	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;

	color: #5f939b;
}

.gec-gissela-hero h1 {
	max-width: 680px;

	margin: 0;

	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;
	font-weight: 400;

     font-size: clamp(3rem, 4.15vw, 4.3rem);
	line-height: 1.02;

	color: #315966;
}

.gec-gissela-hero__lead {
	max-width: 620px;

	margin: 1.7rem 0 0;

	font-size: clamp(1.05rem, 1.3vw, 1.18rem);
	line-height: 1.65;

	color: #3e5157;
}

.gec-gissela-hero__portrait {
	margin: 0;

	align-self: end;
	justify-self: end;

	display: flex;
	align-items: flex-end;
}

.gec-gissela-hero__portrait img {
	display: block;

    width: min(108%, 540px);
    max-width: 540px;
	height: auto;

	margin: 0;

	object-fit: contain;
	object-position: center bottom;
}


/* TABLET */

@media (max-width: 900px) {

	.gec-gissela-hero__inner {
		width: min(calc(100% - 48px), 760px);

		grid-template-columns: 1fr 42%;
		gap: 2rem;

		min-height: 560px;
	}

	.gec-gissela-hero h1 {
		font-size: clamp(2.7rem, 6vw, 4rem);
	}

	.gec-gissela-hero__content {
		padding-bottom: 3rem;
	}
}


/* MÓVIL */

@media (max-width: 700px) {

	.gec-gissela-hero__inner {
		width: calc(100% - 40px);

		grid-template-columns: 1fr;
		gap: 2rem;

		min-height: auto;
		padding-top: 4rem;
	}

	.gec-gissela-hero__content {
		padding-bottom: 0;
	}

	.gec-gissela-hero h1 {
		font-size: clamp(2.7rem, 12vw, 3.7rem);
	}

	.gec-gissela-hero__lead {
		font-size: 1.05rem;
	}

	.gec-gissela-hero__portrait {
		justify-self: center;
	}

	.gec-gissela-hero__portrait img {
		width: min(100%, 390px);
	}
}

/* ==========================================================
   PÁGINA GISSELA — HISTORIA / INTRODUCCIÓN
   ========================================================== */

.gec-gissela-story {
	background: #fff;
	padding-block: clamp(5rem, 8vw, 8rem);
}

.gec-gissela-story__inner {
	width: min(calc(100% - 64px), 1040px);
	margin: 0 auto;

	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: clamp(4rem, 8vw, 8rem);

	align-items: start;
}

.gec-gissela-story .gec-kicker {
	margin: 0 0 1.2rem;

	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;

	color: #5f939b;
}

.gec-gissela-story h2 {
	margin: 0;

	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;
	font-weight: 400;

	font-size: clamp(2.8rem, 4.2vw, 4.4rem);
	line-height: 1.04;

	color: #315966;
}

.gec-gissela-story__content {
	max-width: 580px;
}

.gec-gissela-story__content p {
	margin: 0 0 1.5rem;

	font-size: 1.08rem;
	line-height: 1.75;

	color: #42555b;
}

.gec-gissela-story__content .gec-gissela-story__lead {
	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;

	font-size: clamp(1.55rem, 2.1vw, 2rem);
	line-height: 1.35;

	color: #315966;

	margin-bottom: 2rem;
}

.gec-gissela-story__areas {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem;

	margin-top: 2.2rem;
}

.gec-gissela-story__areas span {
	display: inline-flex;
	align-items: center;

	padding: .7rem 1rem;

	border: 1px solid #c9d9d8;
	border-radius: 999px;

	font-size: .88rem;
	font-weight: 600;

	color: #315966;
	background: #f4f8f7;
}


/* TABLET / MÓVIL */

@media (max-width: 800px) {

	.gec-gissela-story__inner {
		width: min(calc(100% - 48px), 700px);

		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.gec-gissela-story__content {
		max-width: none;
	}
}

@media (max-width: 600px) {

	.gec-gissela-story__inner {
		width: calc(100% - 40px);
	}

	.gec-gissela-story {
		padding-block: 4.5rem;
	}
}

/* ==========================================================
   PÁGINA GISSELA — ENFOQUE
   ========================================================== */

.gec-gissela-approach {
	background: #eaf3f1;
	padding-block: clamp(5rem, 8vw, 8rem);
}

.gec-gissela-approach__inner {
	width: min(calc(100% - 64px), 1040px);
	margin: 0 auto;

	display: grid;
	grid-template-columns: .95fr 1.05fr;
	gap: clamp(4rem, 8vw, 7rem);

	align-items: center;
}

.gec-gissela-approach__visual {
	min-width: 0;
}

.gec-gissela-approach__placeholder {
	aspect-ratio: 4 / 5;

	border-radius: 28px;

	background:
		linear-gradient(
			145deg,
			#bed9db 0%,
			#dcebea 55%,
			#f3dfcc 100%
		);

	display: flex;
	align-items: center;
	justify-content: center;

	overflow: hidden;
}

.gec-gissela-approach__placeholder span {
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;

	color: #5d858c;
	opacity: .75;
}

.gec-gissela-approach .gec-kicker {
	margin: 0 0 1.2rem;

	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;

	color: #5f939b;
}

.gec-gissela-approach h2 {
	margin: 0 0 1.8rem;

	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;
	font-weight: 400;

	font-size: clamp(2.8rem, 4.1vw, 4.3rem);
	line-height: 1.04;

	color: #315966;
}

.gec-gissela-approach__content p {
	margin: 0 0 1.5rem;

	font-size: 1.08rem;
	line-height: 1.72;

	color: #42555b;
}

.gec-gissela-approach__content .gec-gissela-approach__lead {
	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;

	font-size: clamp(1.45rem, 2vw, 1.9rem);
	line-height: 1.38;

	color: #315966;

	margin-bottom: 2rem;
}

@media (max-width: 800px) {

	.gec-gissela-approach__inner {
		width: min(calc(100% - 48px), 700px);

		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.gec-gissela-approach__visual {
		max-width: 520px;
	}
}

@media (max-width: 600px) {

	.gec-gissela-approach {
		padding-block: 4.5rem;
	}

	.gec-gissela-approach__inner {
		width: calc(100% - 40px);
	}
}

/* Imagen de referencia — página Gissela */

.gec-gissela-approach__visual {
    overflow: hidden;
    border-radius: 28px;
}

.gec-gissela-approach__image {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center;
}

/* =========================================================
   PÁGINA GISSELA — TRAYECTORIA
   ========================================================= */

.gec-gissela-trajectory {
    background: #f8eee3;
    padding-block: clamp(5rem, 8vw, 8rem);
}

.gec-gissela-trajectory__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-gissela-trajectory__head {
    max-width: 760px;
    margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.gec-gissela-trajectory__head h2 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;

    color: #315966;
    font-size: clamp(2.6rem, 5vw, 4.5rem);
    line-height: 1.02;

    max-width: 760px;
    margin: 1rem 0 1.5rem;
}

.gec-gissela-trajectory__intro {
    max-width: 690px;
    font-size: 1.08rem;
    line-height: 1.65;
    color: #40545c;
    margin: 0;
}

.gec-gissela-trajectory__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.gec-gissela-trajectory__item {
    background: rgba(255,255,255,.52);
    border: 1px solid rgba(49,89,102,.16);
    border-radius: 24px;

    padding: clamp(2rem, 3vw, 2.75rem);

    min-height: 330px;

    display: flex;
    flex-direction: column;
}

.gec-gissela-trajectory__number {
    color: #5a929d;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .16em;

    margin-bottom: auto;
}

.gec-gissela-trajectory__item h3 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;

    color: #315966;
    font-size: clamp(1.65rem, 2.5vw, 2.15rem);
    line-height: 1.08;

    margin: 3rem 0 .9rem;
}

.gec-gissela-trajectory__item p {
    color: #40545c;
    font-size: .98rem;
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 800px) {

    .gec-gissela-trajectory__grid {
        grid-template-columns: 1fr;
    }

    .gec-gissela-trajectory__item {
        min-height: 260px;
    }

}

@media (max-width: 600px) {

    .gec-gissela-trajectory {
        padding-block: 4.5rem;
    }

    .gec-gissela-trajectory__inner {
        width: calc(100% - 40px);
    }

}

/* =========================================================
   PÁGINA GISSELA — ACORDEONES
   ========================================================= */

.gec-gissela-accordions {
    background: #fff;
    padding-block: clamp(5rem, 8vw, 7.5rem);
}

.gec-gissela-accordions__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-gissela-accordions__head {
    max-width: 820px;
    margin-bottom: clamp(2.7rem, 5vw, 4rem);
}

.gec-gissela-accordions__head h2 {
    margin: .35rem 0 1rem;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(2.65rem, 4.7vw, 4.45rem);
    line-height: 1.02;
    color: var(--gec-petroleo);
    text-wrap: balance;
}

.gec-gissela-accordions__head > p:last-child {
    max-width: 680px;
    margin: 0;
    line-height: 1.65;
    color: rgba(32,52,60,.76);
}

.gec-accordion-list {
    border-top: 1px solid var(--gec-border);
}

.gec-accordion {
    border-bottom: 1px solid var(--gec-border);
}

.gec-accordion summary {
    list-style: none;
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr) 36px;
    gap: 1.2rem;
    align-items: center;
    padding: 1.75rem 0;
    cursor: pointer;
    transition: padding-left .22s ease, background-color .22s ease;
}

.gec-accordion summary::-webkit-details-marker {
    display: none;
}

.gec-accordion summary:hover {
    padding-left: .75rem;
    background: linear-gradient(90deg, rgba(231,239,235,.72), transparent 72%);
}

.gec-accordion summary span {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .13em;
    color: var(--gec-agua);
}

.gec-accordion summary strong {
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(1.7rem, 2.8vw, 2.55rem);
    line-height: 1.08;
    color: var(--gec-petroleo);
}

.gec-accordion summary i {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 1px solid var(--gec-border);
    border-radius: 999px;
    font-style: normal;
    font-size: 1.25rem;
    color: var(--gec-petroleo);
    transition: transform .22s ease, background-color .22s ease, color .22s ease;
}

.gec-accordion[open] summary i {
    transform: rotate(45deg);
    background: var(--gec-petroleo);
    color: #fff;
}

.gec-accordion__content {
    max-width: 820px;
    padding: 0 0 2.4rem 60px;
    line-height: 1.72;
    color: rgba(32,52,60,.82);
}

.gec-accordion__content p {
    margin: 0 0 1rem;
}

.gec-accordion__content p:last-child {
    margin-bottom: 0;
}

.gec-accordion__content ul {
    margin: 0;
    padding-left: 1.2rem;
}

.gec-accordion__content li + li {
    margin-top: .8rem;
}

.gec-accordion__content--research {
    display: grid;
    gap: 1.5rem;
}

.gec-accordion__content--research article {
    padding: 1.4rem 1.5rem;
    border-radius: 18px;
    background: var(--gec-menta);
    transition: transform .22s ease, box-shadow .22s ease;
}

.gec-accordion__content--research article:hover {
    transform: translateY(-2px);
    box-shadow: var(--gec-shadow);
}

.gec-accordion__content--research h3 {
    margin: 0 0 .55rem;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: 1.55rem;
    line-height: 1.12;
    color: var(--gec-petroleo);
}

@media (max-width: 650px) {
    .gec-gissela-accordions__inner {
        width: calc(100% - 40px);
    }

    .gec-accordion summary {
        grid-template-columns: 38px minmax(0, 1fr) 32px;
        gap: .8rem;
        padding: 1.4rem 0;
    }

    .gec-accordion__content {
        padding-left: 0;
    }
}


/* =========================================================
   PÁGINA GISSELA — CIERRE / CTA
   ========================================================= */

.gec-gissela-closing {
    background: #315966;
    color: #ffffff;

    padding-block: clamp(5rem, 8vw, 8rem);
}

.gec-gissela-closing__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-gissela-closing__kicker {
    margin: 0 0 1.25rem;

    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .16em;

    color: #a9d0d3;
}

.gec-gissela-closing h2 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;

    font-size: clamp(3rem, 6vw, 5.4rem);
    line-height: .98;

    color: #ffffff;

    max-width: 800px;
    margin: 0 0 1.75rem;
}

.gec-gissela-closing__text {
    max-width: 680px;

    font-size: 1.08rem;
    line-height: 1.65;

    color: rgba(255,255,255,.84);

    margin: 0 0 2.5rem;
}

.gec-gissela-closing__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.gec-gissela-closing__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 50px;
    padding: .8rem 1.6rem;

    border-radius: 999px;

    text-decoration: none;
    font-weight: 700;

    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.gec-gissela-closing__button--primary {
    background: #ffffff;
    color: #315966;
    border: 1px solid #ffffff;
}

.gec-gissela-closing__button--secondary {
    background: transparent;
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.7);
}

.gec-gissela-closing__button--primary:hover {
    background: #f8eee3;
    border-color: #f8eee3;
}

.gec-gissela-closing__button--secondary:hover {
    background: rgba(255,255,255,.1);
}

@media (max-width: 600px) {

    .gec-gissela-closing {
        padding-block: 4.5rem;
    }

    .gec-gissela-closing__inner {
        width: calc(100% - 40px);
    }

    .gec-gissela-closing__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .gec-gissela-closing__button {
        width: 100%;
    }

}

/* =========================================================
   ELIMINAR ESPACIOS ENTRE SECCIONES PRINCIPALES
   Home + página Gissela
   ========================================================= */

.gec-home-main > *,
.gec-gissela-main > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

.gec-home-main > * + *,
.gec-gissela-main > * + * {
    margin-block-start: 0 !important;
}

/* =========================================================
   PÁGINA PROGRAMAS — HERO + CATÁLOGO
   ========================================================= */

.gec-programas-hero {
    background: #f8e8d7;
    padding-block: clamp(5rem, 9vw, 8.5rem);
}

.gec-programas-hero__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-programas-hero h1 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;

    color: #315966;

    font-size: clamp(3rem, 5.6vw, 5.3rem);
    line-height: 0.98;

    max-width: 900px;
    margin: 1rem 0 1.7rem;
}

.gec-programas-hero__intro {
    max-width: 720px;

    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
    line-height: 1.6;

    margin: 0;
}


/* Catálogo */

.gec-programas-catalogo {
    background: #ffffff;
    padding-block: clamp(5rem, 8vw, 7.5rem);
}

.gec-programas-catalogo__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-programas-catalogo__head {
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.gec-programas-catalogo__head h2 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;

    color: #315966;

    font-size: clamp(2.3rem, 4vw, 3.8rem);
    line-height: 1.05;

    max-width: 800px;
    margin: .8rem 0 0;
}


/* Tablet */

@media (max-width: 800px) {

    .gec-programas-hero__inner,
    .gec-programas-catalogo__inner {
        width: min(calc(100% - 40px), 700px);
    }

}


/* Móvil */

@media (max-width: 600px) {

    .gec-programas-hero,
    .gec-programas-catalogo {
        padding-block: 4.5rem;
    }

    .gec-programas-hero__inner,
    .gec-programas-catalogo__inner {
        width: calc(100% - 40px);
    }

    .gec-programas-hero h1 br {
        display: none;
    }

}

/* =========================================================
   PROGRAMAS — DOS CAMINOS DE ENTRADA
   ========================================================= */

.gec-programas-paths {
    background: #e7f0ee;
    padding-block: clamp(3.4rem, 5vw, 5.2rem);
    margin: 0;
}

.gec-programas-paths__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-programas-paths__head {
    max-width: 760px;
    margin-bottom: 3.5rem;
}

.gec-programas-paths__head h2 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;
    font-size: clamp(2.8rem, 5vw, 4.8rem);
    line-height: 1.02;
    color: #315966;
    margin: 0 0 1.25rem;
}

.gec-programas-paths__intro {
    max-width: 680px;
    font-size: 1.08rem;
    line-height: 1.6;
    margin: 0;
}

.gec-programas-paths__list {
    border-top: 1px solid rgba(49, 89, 102, .22);
}

.gec-programas-path {
    display: grid;
    grid-template-columns: 80px 1fr 50px;
    gap: 2rem;
    align-items: center;

    padding: 2.6rem 0;

    border-bottom: 1px solid rgba(49, 89, 102, .22);

    color: inherit;
    text-decoration: none;

    transition: transform .25s ease;
}

.gec-programas-path:hover {
    transform: translateX(10px);
}

.gec-programas-path__number {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    color: #538794;
}

.gec-programas-path__content h3 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;

    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.08;

    color: #315966;

    margin: 0 0 .65rem;
}

.gec-programas-path__content p {
    max-width: 620px;
    margin: 0;

    font-size: 1rem;
    line-height: 1.55;
}

.gec-programas-path__arrow {
    font-size: 1.8rem;
    color: #315966;
    text-align: right;
}


/* TABLET / MOBILE */

@media (max-width: 700px) {

    .gec-programas-paths__inner {
        width: calc(100% - 40px);
    }

    .gec-programas-path {
        grid-template-columns: 44px 1fr;
        gap: 1.1rem;
        align-items: start;
    }

    .gec-programas-path__arrow {
        display: none;
    }

    .gec-programas-path__head {
        margin-bottom: 2.5rem;
    }

}

/* ==========================================================
   PÁGINA PROGRAMAS — CIERRE
   ========================================================== */

.gec-programas-closing {
    background: #315966;
    color: #fff;
    padding-block: clamp(5rem, 8vw, 8rem);
}

.gec-programas-closing__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-programas-closing .gec-kicker {
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 1.5rem;
}

.gec-programas-closing h2 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;
    font-size: clamp(3rem, 6vw, 5.6rem);
    line-height: 0.98;
    font-weight: 400;
    max-width: 850px;
    margin: 0 0 1.8rem;
    color: #fff;
}

.gec-programas-closing__text {
    max-width: 690px;
    font-size: 1.08rem;
    line-height: 1.65;
    margin: 0 0 2.4rem;
    color: rgba(255, 255, 255, 0.9);
}

.gec-programas-closing__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem;
}

.gec-programas-closing__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 1.8rem;
    border-radius: 999px;
    background: #fff;
    color: #315966;
    font-weight: 700;
    text-decoration: none;
}

.gec-programas-closing__link {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.gec-programas-closing__button:hover,
.gec-programas-closing__link:hover {
    opacity: 0.82;
}

@media (max-width: 600px) {

    .gec-programas-closing {
        padding-block: 4.5rem;
    }

    .gec-programas-closing__inner {
        width: calc(100% - 40px);
    }

    .gec-programas-closing__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .gec-programas-closing__button {
        width: 100%;
    }
}

/* Evitar separación automática antes del footer */
.wp-site-blocks > .wp-block-template-part:last-child {
    margin-block-start: 0 !important;
}

/* ==========================================================
   PÁGINA CONFERENCIAS
   ========================================================== */


/* ---------- HERO ---------- */

.gec-conferencias-hero {
    background: #f7e8d7;
    padding-block: clamp(5rem, 9vw, 8rem);
}

.gec-conferencias-hero__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-conferencias-hero h1 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;
    color: #315966;

    font-size: clamp(3.4rem, 6vw, 5.8rem);
    line-height: .98;

    max-width: 900px;
    margin: .55rem 0 1.5rem;
}

.gec-conferencias-hero__intro {
    max-width: 720px;
    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
    line-height: 1.6;
    margin: 0;
}


/* ---------- LISTADO ---------- */

.gec-conferencias-listado {
    background: #fff;
    padding-block: clamp(5rem, 8vw, 7.5rem);
}

.gec-conferencias-listado__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-conferencias-listado__head {
    margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.gec-conferencias-listado__head h2 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;
    color: #315966;

    font-size: clamp(2.8rem, 4.7vw, 4.5rem);
    line-height: 1.02;

    max-width: 850px;
    margin: .55rem 0 1.25rem;
}

.gec-conferencias-listado__head > p:last-child {
    max-width: 680px;
    font-size: 1.08rem;
    line-height: 1.6;
}


/* ---------- TARJETAS DINÁMICAS ---------- */

.gec-conferencias-listado .gec-grid--events {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

.gec-conferencias-listado .gec-event-card {
    display: grid;
    grid-template-columns: minmax(280px, 42%) 1fr;

    width: 100%;
    max-width: none;

    background: #fff;
    border: 1px solid rgba(49, 89, 102, .18);
    border-radius: 26px;

    overflow: hidden;
    box-shadow: 0 18px 45px rgba(49, 89, 102, .07);
}


/* Imagen / placeholder */

.gec-conferencias-listado .gec-event-card__media {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;

    margin: 0;
    padding: 0;

    overflow: hidden;
    background: #c9e0e1;
}

.gec-conferencias-listado .gec-event-card__media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    margin: 0;
}


/* Contenido */

.gec-conferencias-listado .gec-event-card__body {
    padding: clamp(2.3rem, 4vw, 3.5rem);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.gec-conferencias-listado .gec-event-card h3 {
    margin: .65rem 0 1.25rem;

    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;

    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.05;
}

.gec-conferencias-listado .gec-event-card h3 a {
    color: #315966;
    text-decoration: none;
}

.gec-conferencias-listado .gec-event-card h3 a:hover {
    opacity: .72;
}

.gec-conferencias-listado .gec-event-card__body > p {
    line-height: 1.55;
}


/* ---------- CIERRE ---------- */

.gec-conferencias-closing {
    background: #315966;
    color: #fff;

    padding-block: clamp(5rem, 8vw, 7rem);
}

.gec-conferencias-closing__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-conferencias-closing .gec-kicker {
    color: #c5dddd;
}

.gec-conferencias-closing h2 {
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;

    font-size: clamp(3rem, 5vw, 5rem);
    line-height: 1;

    max-width: 880px;
    margin: .6rem 0 1.5rem;

    color: #fff;
}

.gec-conferencias-closing__inner > p:not(.gec-kicker) {
    max-width: 700px;
    font-size: 1.08rem;
    line-height: 1.6;
}

.gec-conferencias-closing__actions {
    margin-top: 2.2rem;
}

.gec-conferencias-closing__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: .95rem 1.6rem;
    border-radius: 999px;

    background: #fff;
    color: #315966;

    font-weight: 700;
    text-decoration: none;

    transition: transform .2s ease, opacity .2s ease;
}

.gec-conferencias-closing__button:hover {
    transform: translateY(-2px);
    opacity: .92;
}


/* ---------- RESPONSIVE ---------- */

@media (max-width: 800px) {

    .gec-conferencias-hero__inner,
    .gec-conferencias-listado__inner,
    .gec-conferencias-closing__inner {
        width: min(calc(100% - 40px), 700px);
    }

    .gec-conferencias-listado .gec-event-card {
        grid-template-columns: 1fr;
    }

    .gec-conferencias-listado .gec-event-card__media {
        height: 280px;
        min-height: 0;
    }
}

/* =========================================================
   FIX TARJETAS CONFERENCIAS
   ========================================================= */

.gec-conferencias-listado .gec-event-card {
    display: grid;
    grid-template-columns: minmax(280px, 42%) minmax(0, 1fr);
    gap: 0;
    align-items: stretch;

    width: 100%;
    max-width: none;

    overflow: hidden;
}

/* Una única zona de imagen */
.gec-conferencias-listado .gec-event-card__media {
    position: relative;
    display: block;

    width: 100%;
    height: auto;
    min-height: 0;

    aspect-ratio: 4 / 3;

    margin: 0;
    padding: 0;

    overflow: hidden;
    background: #c9e0e1;
    border-radius: 0;
}

/* Placeholder cuando todavía no existe fotografía */
.gec-conferencias-listado
.gec-event-card__media
.gec-media--placeholder {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;
    min-height: 0;

    margin: 0;
}

/* Fotografía real cuando se cargue desde WordPress */
.gec-conferencias-listado .gec-event-card__media img {
    position: absolute;
    inset: 0;

    display: block;
    width: 100%;
    height: 100%;

    margin: 0;

    object-fit: cover;
    object-position: center;
}

/* El PHP genera este div sin clase __body */
.gec-conferencias-listado .gec-event-card > div {
    padding: clamp(2.3rem, 4vw, 3.5rem);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;

    min-width: 0;
}

/* Tablet / móvil */
@media (max-width: 800px) {

    .gec-conferencias-listado .gec-event-card {
        grid-template-columns: 1fr;
    }

    .gec-conferencias-listado .gec-event-card__media {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
}

/* =========================================================
   FIX DEFINITIVO — TARJETAS CONFERENCIAS
   Elimina placeholder duplicado
   ========================================================= */

.gec-conferencias-listado .gec-event-card {
    display: grid !important;
    grid-template-columns: minmax(280px, 42%) minmax(0, 1fr) !important;
    grid-template-rows: auto;
    gap: 0 !important;
    align-items: stretch !important;

    width: 100%;
    max-width: none;
    overflow: hidden;
}

/* El propio enlace funciona como zona de imagen / placeholder */
.gec-conferencias-listado .gec-event-card__media {
    grid-column: 1 !important;
    grid-row: 1 !important;

    position: relative;
    display: block;

    width: 100%;
    height: 100%;
    min-height: 320px;

    margin: 0;
    padding: 0;

    overflow: hidden;
    border-radius: 0;

    background: linear-gradient(
        135deg,
        var(--gec-celeste),
        var(--gec-crema)
    );
}

/* IMPORTANTE:
   ocultamos el placeholder generado por PHP,
   esté dentro del enlace o haya quedado como hijo del article */
.gec-conferencias-listado
.gec-event-card__media
.gec-media--placeholder,

.gec-conferencias-listado
.gec-event-card
> .gec-media--placeholder {
    display: none !important;
}

/* Imagen real cargada desde WordPress */
.gec-conferencias-listado .gec-event-card__media img {
    position: absolute;
    inset: 0;

    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    margin: 0;
}

/* Contenido de la conferencia */
.gec-conferencias-listado
.gec-event-card
> div:not(.gec-media--placeholder) {
    grid-column: 2 !important;
    grid-row: 1 !important;

    min-width: 0;

    padding: clamp(2.3rem, 4vw, 3.5rem);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

/* Móvil */
@media (max-width: 800px) {

    .gec-conferencias-listado .gec-event-card {
        grid-template-columns: 1fr !important;
    }

    .gec-conferencias-listado .gec-event-card__media {
        grid-column: 1 !important;
        grid-row: 1 !important;

        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .gec-conferencias-listado
    .gec-event-card
    > div:not(.gec-media--placeholder) {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }
}

/* =========================================================
   CONFERENCIAS — UNA SOLA ZONA DE IMAGEN
   ========================================================= */

.gec-conferencias-listado .gec-event-card__media {
    position: relative !important;

    grid-column: 1 !important;
    grid-row: 1 !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 360px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    background: transparent !important;
}

/* El placeholder ocupa EXACTAMENTE la zona de fotografía */
.gec-conferencias-listado
.gec-event-card__media
> .gec-media--placeholder {
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: linear-gradient(
        135deg,
        var(--gec-celeste),
        var(--gec-crema)
    ) !important;
}

/* Cuando exista fotografía real */
.gec-conferencias-listado
.gec-event-card__media
> img {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Móvil */
@media (max-width: 800px) {

    .gec-conferencias-listado .gec-event-card__media {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 9 !important;
    }
}

/* =========================================================
   AJUSTE HEADER
   Elimina línea inferior y espacio extra
   ========================================================= */

.gec-header {
    border-bottom: 0 !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.gec-header__inner {
    min-height: 78px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    display: flex;
    align-items: center !important;
}

/* Alineación vertical de los elementos del menú */
.gec-brand-header,
.gec-header .wp-block-navigation,
.gec-header-cta {
    display: flex;
    align-items: center;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Evita espacios creados por bloques de WordPress */
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* =========================================================
   CENTRADO VERTICAL DEFINITIVO DEL HEADER
   ========================================================= */

.gec-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.gec-header__inner {
    min-height: 0 !important;
    height: auto !important;

    padding-top: 14px !important;
    padding-bottom: 14px !important;

    display: flex;
    align-items: center !important;
}

/* El logo no genera espacio de línea debajo */
.gec-brand-header img {
    display: block;
    margin: 0 !important;
}

/* Navegación y CTA perfectamente centrados */
.gec-header .wp-block-navigation,
.gec-header-cta,
.gec-brand-header {
    align-self: center !important;
}

/* =========================================================
   AJUSTE FINO — CENTRADO VISUAL DEL HEADER
   ========================================================= */

.gec-header__inner {
    position: relative !important;
    top: 9px !important;
}

/* =========================================================
   HOME — FOTO DEL HERO PEGADA A LA SIGUIENTE SECCIÓN
   ========================================================= */

body.home .gec-hero__portrait {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    align-self: end !important;
}

body.home .gec-hero__portrait img {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: bottom !important;
}

/* Evita espacio residual bajo el grid del hero */
body.home .gec-hero__grid {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* ==========================================================
   LIBROS — PÁGINA GENERAL
   ========================================================== */

/* ---------- HERO ---------- */

.gec-libros-hero {
	background: var(--gec-crema);
	padding-block: clamp(5rem, 8vw, 8rem);
}

.gec-libros-hero__inner {
	width: min(calc(100% - 48px), 1040px);
	margin-inline: auto;
}

.gec-libros-hero h1 {
	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;

	font-size: clamp(3.4rem, 6vw, 5.8rem);
	line-height: .98;

	color: #315966;

	max-width: 900px;
	margin: .45rem 0 1.5rem;
}

.gec-libros-hero__intro {
	max-width: 720px;

	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.65;

	color: rgba(32, 52, 60, .78);

	margin: 0;
}


/* ---------- CATÁLOGO ---------- */

.gec-libros-catalogo {
	background: #fff;
	padding-block: clamp(5rem, 8vw, 7rem);
}

.gec-libros-catalogo__inner {
	width: min(calc(100% - 48px), 1040px);
	margin-inline: auto;
}

.gec-libros-catalogo__head {
	margin-bottom: clamp(3rem, 6vw, 4.5rem);
}

.gec-libros-catalogo__head h2 {
	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;

	font-size: clamp(2.7rem, 4.6vw, 4.5rem);
	line-height: 1.03;

	color: #315966;

	max-width: 820px;
	margin: .5rem 0 1rem;
}

.gec-libros-catalogo__head > p:last-child {
	max-width: 690px;
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0;
}


/* ---------- GRID DE LIBROS ---------- */

.gec-libros-catalogo .gec-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 4vw, 3.5rem);
}


/* ---------- TARJETA LIBRO ---------- */

.gec-libros-catalogo .gec-card--book {
	display: grid;
	grid-template-columns: minmax(190px, 38%) minmax(0, 1fr);

	background: #fff;

	border: 1px solid rgba(49, 89, 102, .16);
	border-radius: 24px;

	overflow: hidden;

	box-shadow: 0 18px 45px rgba(49, 89, 102, .06);

	min-height: 330px;

	transition:
		transform .25s ease,
		box-shadow .25s ease;
}

.gec-libros-catalogo .gec-card--book:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 55px rgba(49, 89, 102, .10);
}


/* Portada */

.gec-libros-catalogo .gec-card--book .gec-card__media {
	display: flex;
	align-items: center;
	justify-content: center;

	background: #dfeeed;

	padding: clamp(1.4rem, 3vw, 2rem);

	overflow: hidden;
}

.gec-libros-catalogo .gec-card--book .gec-card__media img {
	display: block;

	width: auto;
	max-width: 100%;

	height: 100%;
	max-height: 280px;

	object-fit: contain;

	margin: 0;

	box-shadow: 0 14px 30px rgba(30, 45, 50, .14);
}


/* Si todavía no existe portada */

.gec-libros-catalogo .gec-card--book .gec-media-placeholder {
	width: 70%;
	height: 78%;

	min-height: 220px;

	border-radius: 2px;

	background:
		linear-gradient(
			145deg,
			var(--gec-crema),
			#f3dfd0
		);
}


/* Contenido */

.gec-libros-catalogo .gec-card--book .gec-card__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;

	padding: clamp(2rem, 4vw, 3rem);
}

.gec-libros-catalogo .gec-card--book h3 {
	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;

	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.05;

	margin: .7rem 0 .8rem;

	color: #315966;
}

.gec-libros-catalogo .gec-card--book h3 a {
	color: inherit;
	text-decoration: none;
}

.gec-libros-catalogo .gec-card--book h3 a:hover {
	opacity: .72;
}

.gec-libros-catalogo .gec-card--book .gec-text-link {
	display: inline-block;

	margin-top: 1.3rem;

	font-weight: 700;
	color: #315966;

	text-decoration: none;
}




/* Próximamente */

.gec-libros-catalogo .gec-card--book .gec-badge {
	display: inline-flex;
	align-items: center;

	padding: .45rem .75rem;

	border-radius: 999px;

	background: var(--gec-crema);

	color: #315966;

	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}


/* ---------- PORTADAS CLICKEABLES ---------- */

.gec-book-covers {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 360px));
    gap: clamp(2rem, 5vw, 4rem);
    justify-content: start;
    align-items: start;
}

.gec-book-cover {
    display: grid;
    gap: 1rem;
    color: inherit;
    text-decoration: none;
}

.gec-book-cover__media {
    aspect-ratio: 4 / 5.4;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: clamp(1rem, 2vw, 1.5rem);
    border-radius: 22px;
    background: linear-gradient(145deg, var(--gec-menta), var(--gec-crema));
    box-shadow: var(--gec-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
}

.gec-book-cover__media img {
    width: auto;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

.gec-book-cover__media .gec-media-placeholder {
    width: 74%;
    height: 88%;
    min-height: 0;
    border-radius: 3px;
    background: linear-gradient(145deg, var(--gec-crema), #f3dfca);
    box-shadow: 0 14px 30px rgba(32,52,60,.12);
}

.gec-book-cover:hover {
    opacity: 1;
}

.gec-book-cover:hover .gec-book-cover__media {
    transform: translateY(-5px) scale(1.01);
    box-shadow: var(--gec-shadow-hover);
}

.gec-book-cover__title {
    max-width: 320px;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: 1.35rem;
    line-height: 1.15;
    color: var(--gec-petroleo);
}

@media (max-width: 650px) {
    .gec-book-covers {
        grid-template-columns: minmax(0, 1fr);
    }

    .gec-book-cover {
        max-width: 340px;
    }
}


/* ---------- CIERRE ---------- */

.gec-libros-closing {
	background: #315966;
	color: #fff;

	padding-block: clamp(5rem, 8vw, 7rem);
}

.gec-libros-closing__inner {
	width: min(calc(100% - 48px), 1040px);
	margin-inline: auto;
}

.gec-libros-closing .gec-kicker {
	color: rgba(255,255,255,.72);
}

.gec-libros-closing h2 {
	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;

	font-size: clamp(3rem, 5.2vw, 5rem);
	line-height: 1;

	max-width: 900px;

	color: #fff;

	margin: .6rem 0 1.35rem;
}

.gec-libros-closing__inner > p:not(.gec-kicker) {
	max-width: 700px;

	font-size: 1.05rem;
	line-height: 1.6;

	color: rgba(255,255,255,.88);
}

.gec-libros-closing__actions {
	display: flex;
	align-items: center;
	gap: 1.4rem;
	flex-wrap: wrap;

	margin-top: 2.2rem;
}

.gec-libros-closing__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: .95rem 1.55rem;

	border-radius: 999px;

	background: #fff;
	color: #315966;

	font-weight: 700;
	text-decoration: none;
}

.gec-libros-closing__link {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}


/* ---------- RESPONSIVE ---------- */

@media (max-width: 900px) {

	.gec-libros-catalogo .gec-grid {
		grid-template-columns: 1fr;
	}

	.gec-libros-catalogo .gec-card--book {
		grid-template-columns: minmax(180px, 34%) minmax(0, 1fr);
	}
}

@media (max-width: 650px) {

	.gec-libros-hero,
	.gec-libros-catalogo,
	.gec-libros-closing {
		padding-block: 4.5rem;
	}

	.gec-libros-hero__inner,
	.gec-libros-catalogo__inner,
	.gec-libros-closing__inner {
		width: calc(100% - 40px);
	}

	.gec-libros-catalogo .gec-card--book {
		grid-template-columns: 1fr;
	}

	.gec-libros-catalogo .gec-card--book .gec-card__media {
		min-height: 330px;
	}

	.gec-libros-catalogo .gec-card--book .gec-card__media img {
		max-height: 290px;
	}

	.gec-libros-closing__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.gec-libros-closing__button,
	.gec-libros-closing__link {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}

/* =========================================================
   FICHA INDIVIDUAL DE LIBRO — ACABADO EDITORIAL
   ========================================================= */

.gec-single--book {
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

/* Portada */
.gec-single--book .gec-single__media--book {
    width: 100%;
    max-width: 380px;

    aspect-ratio: 2 / 3;

    justify-self: center;

    background: var(--gec-crema);
    padding: 1rem;

    border-radius: 24px;
    overflow: hidden;

    position: sticky;
    top: 110px;
}

/* Imagen real de portada */
.gec-single--book .gec-single__media--book img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 14px;
}

/* Placeholder mientras no exista portada */
.gec-single--book .gec-single__media--book .gec-media--placeholder {
    width: 100%;
    height: 100%;
    min-height: 0;

    border-radius: 14px;
}

/* Columna de información */
.gec-single--book .gec-single__body {
    max-width: 590px;
}

/* Subtítulo */
.gec-single--book .gec-lead {
    font-size: clamp(1.45rem, 2vw, 1.8rem);
    line-height: 1.25;
    margin-bottom: 1.6rem;
}

/* Texto descriptivo */
.gec-single--book .gec-richtext {
    max-width: 55ch;
    line-height: 1.7;
}

/* Datos editoriales */
.gec-single--book .gec-facts {
    margin-top: 2rem;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    border: 1px solid var(--gec-border);
    border-radius: 18px;
    overflow: hidden;
}

/* ISBN ocupa toda la anchura */
.gec-single--book .gec-facts__wide {
    grid-column: 1 / -1;
}

/* Celdas */
.gec-single--book .gec-facts > div {
    padding: 1rem 1.1rem;
    background: #fff;
}

/* CTA */
.gec-single--book .gec-button {
    margin-top: 2rem;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 800px) {

    .gec-single--book {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .gec-single--book .gec-single__media--book {
        position: relative;
        top: auto;

        width: min(100%, 340px);
        justify-self: center;
    }

    .gec-single--book .gec-single__body {
        max-width: none;
    }
}

@media (max-width: 520px) {

    .gec-single--book .gec-facts {
        grid-template-columns: 1fr;
    }

    .gec-single--book .gec-facts__wide {
        grid-column: auto;
    }
}

/* =========================================================
   LIBROS — FICHA BIBLIOGRÁFICA FLEXIBLE
   ========================================================= */

.gec-single--book .gec-facts {
    grid-template-columns: 1fr;
}

.gec-single--book .gec-facts__wide {
    grid-column: auto;
}

.gec-single--book .gec-facts > div {
    width: 100%;
}

/* ==========================================================
   LIBRO INDIVIDUAL — CIERRE EDITORIAL
   ========================================================== */

.gec-libro-closing {
    width: 100vw;
    max-width: none;

    position: relative;
    left: 50%;
    margin-left: -50vw;

    background: #315966;
    color: #fff;

    padding-block: clamp(5rem, 8vw, 7rem);
}

.gec-libro-closing__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-libro-closing .gec-kicker {
    margin: 0 0 1.4rem;
    color: rgba(255, 255, 255, .72);
}

.gec-libro-closing h2 {
    max-width: 820px;
    margin: 0;

    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;

    font-size: clamp(3rem, 5vw, 5rem);
    line-height: 1.02;

    color: #fff;
}

.gec-libro-closing__text {
    max-width: 650px;
    margin: 1.4rem 0 0;

    font-size: 1rem;
    line-height: 1.6;

    color: rgba(255, 255, 255, .82);
}

.gec-libro-closing__actions {
    display: flex;
    align-items: center;
    gap: 1.4rem;

    margin-top: 2.2rem;
}

.gec-libro-closing__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: .95rem 1.55rem;
    border-radius: 999px;

    background: #fff;
    color: #315966;

    font-weight: 700;
    text-decoration: none;

    transition: transform .2s ease, opacity .2s ease;
}

.gec-libro-closing__link {
    color: #fff;
    font-weight: 700;
    text-decoration: none;

    transition: transform .2s ease, opacity .2s ease;
}

.gec-libro-closing__button:hover,
.gec-libro-closing__link:hover {
    transform: translateY(-2px);
    opacity: .92;
}

@media (max-width: 600px) {

    .gec-libro-closing {
        padding-block: 4.5rem;
    }

    .gec-libro-closing__inner {
        width: calc(100% - 40px);
    }

    .gec-libro-closing__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .gec-libro-closing__button,
    .gec-libro-closing__link {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* ==========================================================
   LIBRO INDIVIDUAL — UNIR CIERRE CON FOOTER
   ========================================================== */

.gec-section:has(.gec-libro-closing) {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.gec-libro-closing {
    margin-bottom: 0 !important;
}

/* ==========================================================
   LIBRO INDIVIDUAL — CTAs FINALES DEFINITIVOS
   ========================================================== */

.gec-libro-closing__actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 2rem !important;

    margin: 2rem 0 0 !important;
    padding: 0 !important;
}

/* BOTÓN BLANCO */
.gec-libro-closing__button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    height: 46px !important;

    margin: 0 !important;
    padding: 0 1.4rem !important;

    box-sizing: border-box !important;
    line-height: 1 !important;
}

/* Movemos únicamente las letras */
.gec-libro-closing__button > span {
    display: block !important;
    line-height: 1 !important;
    transform: translateY(-1px);
}

/* CTA SECUNDARIO */
.gec-libro-closing__link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    height: 46px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
    line-height: 1 !important;
}

.gec-libro-closing__link > span {
    display: block !important;
    line-height: 1 !important;
    transform: translateY(-1px);
}

/* =========================================================
   RECURSOS — PÁGINA GENERAL
   ========================================================= */

.gec-recursos-page {
	margin: 0 !important;
	padding: 0 !important;
}

.gec-recursos-page > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}


/* =========================================================
   HERO
   ========================================================= */

.gec-recursos-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);

	background: var(--gec-crema, #f5e4cf);

	padding-block: clamp(5.5rem, 8vw, 8rem);
}

.gec-recursos-hero__inner {
	width: min(calc(100% - 48px), 1040px);
	margin-inline: auto;
}

.gec-recursos-hero .gec-kicker {
	margin: 0 0 1.2rem;

	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;

	color: var(--gec-agua, #5f929b);
}

.gec-recursos-hero h1 {
	max-width: 900px;
	margin: 0;

	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;

	font-size: clamp(3.4rem, 6vw, 5.8rem);
	line-height: .98;

	color: var(--gec-petroleo, #315966);
}

.gec-recursos-hero__intro {
	max-width: 720px;
	margin: 1.5rem 0 0;

	font-size: clamp(1.05rem, 1.6vw, 1.22rem);
	line-height: 1.6;

	color: rgba(32, 52, 60, .72);
}


/* =========================================================
   MEDIOS — TRAYECTORIA
   ========================================================= */

.gec-medios-history {
    background: #fff;
    padding-block: clamp(5rem, 8vw, 7rem);
}

.gec-medios-history__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-medios-history__head {
    max-width: 820px;
    margin-bottom: 2.8rem;
}

.gec-medios-history__head h2 {
    margin: .35rem 0 0;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(2.6rem, 4.6vw, 4.35rem);
    line-height: 1.03;
    color: var(--gec-petroleo);
    text-wrap: balance;
}

.gec-medios-history__list {
    border-top: 1px solid var(--gec-border);
}

.gec-medios-history__list article {
    display: grid;
    grid-template-columns: minmax(190px,.75fr) minmax(0,1.25fr);
    gap: 2rem;
    align-items: center;
    padding: 1.45rem 0;
    border-bottom: 1px solid var(--gec-border);
    transition: padding-left .22s ease, background-color .22s ease;
}

.gec-medios-history__list article:hover {
    padding-left: .8rem;
    background: linear-gradient(90deg, rgba(231,239,235,.72), transparent 70%);
}

.gec-medios-history__list span {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--gec-agua);
}

.gec-medios-history__list strong {
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(1.55rem, 2.5vw, 2.25rem);
    color: var(--gec-petroleo);
}

.gec-medios-current {
    margin-top: 2.4rem;
    padding: clamp(1.5rem, 3vw, 2.2rem);
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    align-items: center;
    border-radius: 22px;
    background: var(--gec-crema);
}

.gec-medios-current h3 {
    margin: .3rem 0 0;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    color: var(--gec-petroleo);
}

.gec-medios-current__mark {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--gec-petroleo);
    color: #fff;
    font-weight: 800;
    letter-spacing: .08em;
    transition: transform .22s ease, background-color .22s ease;
}

.gec-medios-current:hover .gec-medios-current__mark {
    transform: rotate(-5deg) scale(1.05);
    background: var(--gec-agua);
}

@media (max-width: 650px) {
    .gec-medios-history__inner {
        width: calc(100% - 40px);
    }

    .gec-medios-history__list article {
        grid-template-columns: 1fr;
        gap: .3rem;
    }

    .gec-medios-current {
        align-items: flex-start;
    }
}


/* =========================================================
   BIBLIOTECA / LISTADO
   ========================================================= */

.gec-recursos-library {
	width: min(calc(100% - 48px), 1040px);
	margin-inline: auto !important;

	padding-block: clamp(5.5rem, 8vw, 8rem);
}

.gec-recursos-library__head {
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.gec-recursos-library__head .gec-kicker {
	margin: 0 0 1rem;

	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;

	color: var(--gec-agua, #5f929b);
}

.gec-recursos-library__head h2 {
	max-width: 850px;
	margin: 0;

	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;

	font-size: clamp(2.8rem, 4.7vw, 4.4rem);
	line-height: 1.02;

	color: var(--gec-petroleo, #315966);
}

.gec-recursos-library__head > p:last-child {
	max-width: 720px;
	margin: 1.25rem 0 0;

	font-size: 1.05rem;
	line-height: 1.6;

	color: rgba(32, 52, 60, .72);
}


/* Grid propio de Recursos */

.gec-recursos-library .gec-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.6rem;

	margin: 0;
}


/* Tarjetas */

.gec-recursos-library .gec-card {
	min-width: 0;

	border: 1px solid rgba(49, 89, 102, .16);
	border-radius: 22px;

	background: #fff;

	overflow: hidden;

	box-shadow: 0 14px 38px rgba(49, 89, 102, .06);

	transition:
		transform .22s ease,
		box-shadow .22s ease;
}

.gec-recursos-library .gec-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 44px rgba(49, 89, 102, .11);
}


/* Imagen */

.gec-recursos-library .gec-card__media {
	display: block;

	width: 100%;
	aspect-ratio: 16 / 10;

	margin: 0;

	overflow: hidden;

	background:
		linear-gradient(
			145deg,
			var(--gec-celeste, #d7e7e7),
			#bfd9dc
		);
}

.gec-recursos-library .gec-card__media img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


/* Contenido */

.gec-recursos-library .gec-card__body {
	padding: 1.6rem 1.6rem 1.7rem;
}

.gec-recursos-library .gec-card__body > .gec-kicker {
	display: block;

	margin: 0 0 .7rem;

	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;

	color: var(--gec-agua, #5f929b);
}

.gec-recursos-library .gec-card h3 {
	margin: 0 0 .7rem;

	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;

	font-size: clamp(1.55rem, 2.2vw, 2rem);
	line-height: 1.08;

	color: var(--gec-petroleo, #315966);
}

.gec-recursos-library .gec-card__body > p {
	margin: 0;

	font-size: .95rem;
	line-height: 1.5;

	color: rgba(32, 52, 60, .62);
}

.gec-recursos-library .gec-text-link {
	display: inline-flex;
	align-items: center;

	margin-top: 1.25rem;

	font-weight: 700;
	text-decoration: none;

	color: var(--gec-petroleo, #315966);
}

/* Un único recurso se muestra como módulo editorial compacto */
@media (min-width: 701px) {
	.gec-recursos-library .gec-grid:has(> .gec-card:only-child) {
		grid-template-columns: minmax(0, 720px);
	}

	.gec-recursos-library .gec-grid:has(> .gec-card:only-child) > .gec-card {
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch;
		max-width: 720px;
		min-height: 0;
	}

	.gec-recursos-library .gec-grid:has(> .gec-card:only-child) > .gec-card .gec-card__media {
		flex: 0 0 280px;
		width: 280px !important;
		height: auto !important;
		min-height: 210px;
		aspect-ratio: auto !important;
	}

	.gec-recursos-library .gec-grid:has(> .gec-card:only-child) > .gec-card .gec-card__body {
		justify-content: center;
		padding: 1.35rem 1.5rem;
	}
}

@media (max-width: 700px) {
	.gec-recursos-library .gec-grid:has(> .gec-card:only-child) {
		grid-template-columns: 1fr;
	}

	.gec-recursos-library .gec-grid:has(> .gec-card:only-child) > .gec-card {
		max-width: 100%;
	}

	.gec-recursos-library .gec-grid:has(> .gec-card:only-child) > .gec-card .gec-card__media {
		aspect-ratio: 16 / 9 !important;
	}
}


/* =========================================================
   CIERRE
   ========================================================= */

.gec-recursos-closing {
	width: 100vw;
	margin-left: calc(50% - 50vw);

	background: var(--gec-petroleo, #315966);
	color: #fff;

	padding-block: clamp(5.5rem, 8vw, 7.5rem);
}

.gec-recursos-closing__inner {
	width: min(calc(100% - 48px), 1040px);
	margin-inline: auto;
}

.gec-recursos-closing .gec-kicker {
	margin: 0 0 1rem;

	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;

	color: #c7e0e1;
}

.gec-recursos-closing h2 {
	max-width: 850px;
	margin: 0;

	font-family: "arsenica-variable", serif;
	font-variation-settings: "opsz" 100, "wght" 400;

	font-size: clamp(3rem, 5vw, 4.8rem);
	line-height: 1;

	color: #fff;
}

.gec-recursos-closing__inner > p:not(.gec-kicker) {
	max-width: 620px;
	margin: 1.35rem 0 0;

	font-size: 1rem;
	line-height: 1.55;

	color: rgba(255,255,255,.76);
}


/* CTAs */

.gec-recursos-closing__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 1.7rem;

	margin-top: 2.2rem;
}

.gec-recursos-closing__button,
.gec-recursos-closing__link {
	box-sizing: border-box;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	height: 46px;

	margin: 0;

	font-weight: 700;
	line-height: 1;

	text-decoration: none;
}

.gec-recursos-closing__button {
	padding: 0 1.45rem;

	border-radius: 999px;

	background: #fff;
	color: var(--gec-petroleo, #315966);
}

.gec-recursos-closing__link {
	justify-content: flex-start;

	padding: 0;

	color: #fff;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

	.gec-recursos-library .gec-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


@media (max-width: 620px) {

	.gec-recursos-hero__inner,
	.gec-recursos-library,
	.gec-recursos-closing__inner {
		width: calc(100% - 40px);
	}

	.gec-recursos-library .gec-grid {
		grid-template-columns: 1fr;
	}

	.gec-recursos-closing__actions {
		align-items: flex-start;
		flex-direction: column;
		gap: .75rem;
	}

}

/* ==========================================================
   RECURSOS — FICHA INDIVIDUAL
   ========================================================== */

.gec-single--resource {
    grid-template-columns: minmax(360px, .95fr) minmax(0, 1.15fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

/* Imagen / portada del recurso */
.gec-single--resource .gec-single__media {
    aspect-ratio: 4 / 3;
    min-height: 0;
    border-radius: 28px;
    overflow: hidden;
    background: var(--gec-celeste);
    position: sticky;
    top: 102px;
}

.gec-single--resource .gec-single__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Columna de información */
.gec-single--resource .gec-single__body {
    gap: 1.65rem;
}

/* Etiqueta del tipo de recurso */
.gec-single--resource .gec-chips {
    margin-bottom: .15rem;
}

.gec-single--resource .gec-chips span {
    background: var(--gec-crema);
    color: var(--gec-petroleo);
    border: 0;
    padding: .5rem .85rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
}

/* Texto descriptivo */
.gec-single--resource .gec-richtext {
    max-width: 620px;
    font-size: 1.02rem;
    line-height: 1.7;
}

/* Datos: plataforma, duración, etc. */
.gec-single--resource .gec-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--gec-border);
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
}

.gec-single--resource .gec-facts > div {
    padding: 1rem 1.1rem;
    border: 0;
}

.gec-single--resource .gec-facts > div + div {
    border-left: 1px solid var(--gec-border);
}

.gec-single--resource .gec-facts span {
    display: block;
    margin-bottom: .35rem;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .09em;
    font-weight: 700;
    color: var(--gec-agua);
}

/* CTA */
.gec-single--resource .gec-button {
    align-self: flex-start;
    margin-top: .25rem;
}

/* Tablet */
@media (max-width: 900px) {
    .gec-single--resource {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .gec-single--resource .gec-single__media {
        position: relative;
        top: auto;
        max-width: 680px;
    }
}

/* Móvil */
@media (max-width: 600px) {
    .gec-single--resource .gec-facts {
        grid-template-columns: 1fr;
    }

    .gec-single--resource .gec-facts > div + div {
        border-left: 0;
        border-top: 1px solid var(--gec-border);
    }
}

/* ==========================================================
   RECURSO INDIVIDUAL — CIERRE EDITORIAL
   ========================================================== */

.gec-recurso-closing {
    width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;

    background: #315966;
    color: #fff;

    margin-top: clamp(4rem, 7vw, 7rem);
    padding-block: clamp(5rem, 8vw, 7rem);
}

.gec-recurso-closing__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-recurso-closing .gec-kicker {
    color: rgba(255,255,255,.72);
    margin-bottom: 1.2rem;
}

.gec-recurso-closing h2 {
    color: #fff;
    font-family: "arsenica-variable", serif;
    font-variation-settings: "opsz" 100, "wght" 400;
    font-size: clamp(2.8rem, 5vw, 4.7rem);
    line-height: 1.03;

    max-width: 830px;
    margin: 0 0 1.25rem;
}

.gec-recurso-closing__text {
    max-width: 620px;
    line-height: 1.65;
    color: rgba(255,255,255,.75);
    margin: 0;
}

.gec-recurso-closing__actions {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.gec-recurso-closing__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 46px;
    padding: 0 1.4rem !important;

    background: #fff;
    color: #315966;
    border-radius: 999px;

    font-weight: 700;
    line-height: 1 !important;
    text-decoration: none;

    box-sizing: border-box;
}

.gec-recurso-closing__button > span {
    display: block !important;
    line-height: 1 !important;
    transform: translateY(-1px);
}

.gec-recurso-closing__link {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.gec-recurso-closing__button:hover,
.gec-recurso-closing__link:hover {
    opacity: .88;
}

@media (max-width: 600px) {

    .gec-recurso-closing__inner {
        width: calc(100% - 40px);
    }

    .gec-recurso-closing__actions {
        gap: 1.25rem;
    }
}

/* ==========================================================
   RECURSO INDIVIDUAL — UNIR CIERRE CON FOOTER
   ========================================================== */

.gec-section:has(.gec-recurso-closing) {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.gec-recurso-closing {
    margin-bottom: 0 !important;
}

/* =========================================================
   HOME — CONTENIDO DEFINITIVO
   ========================================================= */

.gec-home-hero {
    overflow: hidden;
    background: var(--gec-crema);
}

.gec-home-hero__inner {
    width: min(calc(100% - 48px), 1040px);
    min-height: 620px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .8fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: end;
}

.gec-home-hero__content {
    align-self: center;
    padding-block: clamp(4.5rem, 8vw, 7rem);
}

.gec-home-hero h1 {
    max-width: 760px;
    margin: .65rem 0 1.45rem;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(3.2rem, 5.5vw, 5.25rem);
    line-height: .98;
    color: var(--gec-petroleo);
    text-wrap: balance;
}

.gec-home-hero__content > p:not(.gec-kicker) {
    max-width: 640px;
    margin: 0 0 2rem;
    font-size: clamp(1.05rem, 1.35vw, 1.18rem);
    line-height: 1.62;
    color: rgba(32,52,60,.78);
}

.gec-home-hero__cta,
.gec-home-contact__cta,
.gec-newsletter__form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 1.45rem;
    border: 1px solid var(--gec-petroleo);
    border-radius: 999px;
    background: var(--gec-petroleo);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.gec-home-hero__cta:hover,
.gec-home-contact__cta:hover,
.gec-newsletter__form button:hover {
    opacity: 1;
    transform: translateY(-2px);
    background: var(--gec-agua);
    border-color: var(--gec-agua);
    box-shadow: 0 10px 24px rgba(32,52,60,.12);
}

.gec-home-hero__portrait {
    margin: 0;
    align-self: end;
    display: flex;
    justify-content: center;
}

.gec-home-hero__portrait img {
    display: block;
    width: min(118%, 560px);
    max-width: none;
    height: auto;
    transform: translateY(72px);
}


/* Newsletter */

.gec-newsletter {
    background: var(--gec-petroleo);
    color: #fff;
    padding-block: clamp(4.5rem, 7vw, 6.5rem);
}

.gec-newsletter__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    gap: clamp(3rem, 7vw, 6rem);
    align-items: center;
}

.gec-newsletter .gec-kicker {
    color: rgba(255,255,255,.68);
}

.gec-newsletter h2 {
    max-width: 650px;
    margin: .4rem 0 2rem;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(2.3rem, 4vw, 3.8rem);
    line-height: 1.03;
    color: #fff;
    text-wrap: balance;
}

.gec-newsletter__form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: end;
}

.gec-newsletter__form label {
    display: grid;
    gap: .45rem;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.72);
}

.gec-newsletter__form input {
    width: 100%;
    box-sizing: border-box;
    min-height: 52px;
    padding: 0 1rem;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 14px;
    outline: none;
    background: rgba(255,255,255,.08);
    color: #fff;
    font: inherit;
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.gec-newsletter__form input::placeholder {
    color: rgba(255,255,255,.48);
}

.gec-newsletter__form input:focus {
    border-color: rgba(255,255,255,.78);
    background: rgba(255,255,255,.12);
    transform: translateY(-1px);
}

.gec-newsletter__form button {
    grid-column: 1 / -1;
    justify-self: start;
    background: #fff;
    border-color: #fff;
    color: var(--gec-petroleo);
}

.gec-newsletter__form button:hover {
    background: var(--gec-crema);
    border-color: var(--gec-crema);
    color: var(--gec-petroleo);
}

.gec-newsletter__note {
    max-width: 560px;
    margin: 1rem 0 0;
    font-size: .88rem;
    color: rgba(255,255,255,.62);
}

.gec-newsletter__words {
    min-height: 310px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .15rem;
    text-align: right;
}

.gec-newsletter__words span {
    display: block;
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-size: clamp(3.5rem, 7vw, 6.7rem);
    line-height: .88;
    color: rgba(255,255,255,.92);
    transition: transform .25s ease, color .25s ease;
}

.gec-newsletter__words span:nth-child(2) {
    transform: translateX(-1.1rem);
    color: var(--gec-celeste);
}

.gec-newsletter__words:hover span:first-child {
    transform: translateX(-.5rem);
}

.gec-newsletter__words:hover span:nth-child(2) {
    transform: translateX(-1.7rem);
}

.gec-newsletter__words:hover span:last-child {
    transform: translateX(-.8rem);
}


/* Secciones Home */

.gec-home-section {
    padding-block: clamp(4.8rem, 7vw, 6.8rem);
}

.gec-home-section__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-home-section__head,
.gec-home-books__intro {
    max-width: 820px;
    margin-bottom: clamp(2rem, 4vw, 3.2rem);
}

.gec-home-section h2,
.gec-home-books__intro h2,
.gec-home-media h2,
.gec-home-contact h2 {
    margin: .35rem 0 1rem;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(2.45rem, 4.3vw, 4rem);
    line-height: 1.03;
    color: var(--gec-petroleo);
    text-wrap: balance;
}

.gec-home-books {
    background: var(--gec-menta);
}

.gec-home-books__intro > p:last-child {
    max-width: 760px;
    line-height: 1.65;
    color: rgba(32,52,60,.76);
}

.gec-home-testimonials {
    background: var(--gec-white);
}


/* Medios */

.gec-home-media {
    padding-block: clamp(5rem, 8vw, 7rem);
    background: #fff;
}

.gec-home-media__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-home-media__head {
    max-width: 760px;
    margin-bottom: 2.7rem;
}

.gec-home-media__history {
    border-top: 1px solid var(--gec-border);
    margin-bottom: 2rem;
}

.gec-home-media__item {
    display: grid;
    grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr);
    gap: 2rem;
    align-items: center;
    padding: 1.35rem 0;
    border-bottom: 1px solid var(--gec-border);
    transition: padding-left .22s ease, background-color .22s ease;
}

.gec-home-media__item:hover {
    padding-left: .8rem;
    background: linear-gradient(90deg, rgba(231,239,235,.72), transparent 68%);
}

.gec-home-media__item span {
    color: var(--gec-agua);
    font-size: .83rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.gec-home-media__item strong {
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(1.45rem, 2.4vw, 2.15rem);
    color: var(--gec-petroleo);
}

.gec-home-media__current {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .65rem 1rem;
    margin: 0 0 2.5rem;
    padding: 1.3rem 1.5rem;
    border-radius: 18px;
    background: var(--gec-crema);
}

.gec-home-media__current span {
    color: var(--gec-agua);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gec-home-media__current strong {
    font-size: 1.08rem;
    color: var(--gec-petroleo);
}

.gec-home-media__link {
    display: inline-flex;
    margin-top: 1.8rem;
    font-weight: 700;
    color: var(--gec-petroleo);
    text-decoration: none;
}

.gec-home-media__link:hover {
    opacity: 1;
    transform: translateX(5px);
}


/* Cierre Home */

.gec-home-contact {
    padding-block: clamp(3.4rem, 5vw, 4.8rem);
    background: var(--gec-crema);
}

.gec-home-contact__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    gap: 3rem;
    align-items: end;
}

.gec-home-contact__inner > div {
    max-width: 760px;
}

.gec-home-contact p:not(.gec-kicker) {
    max-width: 650px;
    margin-bottom: 0;
    line-height: 1.65;
}


/* Home — responsive */

@media (max-width: 900px) {
    .gec-home-hero__inner,
    .gec-newsletter__inner {
        grid-template-columns: 1fr;
    }

    .gec-home-hero__portrait {
        justify-content: flex-start;
        max-height: 420px;
    }

    .gec-home-hero__portrait img {
        width: min(90%, 500px);
    }

    .gec-newsletter__words {
        min-height: 0;
        align-items: flex-start;
        text-align: left;
    }

    .gec-newsletter__words span:nth-child(2) {
        transform: translateX(1rem);
    }
}

@media (max-width: 650px) {
    .gec-home-hero__inner,
    .gec-newsletter__inner,
    .gec-home-section__inner,
    .gec-home-media__inner,
    .gec-home-contact__inner {
        width: calc(100% - 40px);
    }

    .gec-home-hero__inner {
        min-height: 0;
    }

    .gec-home-hero__content {
        padding-block: 4rem 2rem;
    }

    .gec-home-hero h1 {
        font-size: clamp(2.7rem, 13vw, 4rem);
    }

    .gec-home-hero__portrait img {
        transform: translateY(42px);
    }

    .gec-newsletter__form {
        grid-template-columns: 1fr;
    }

    .gec-newsletter__form button {
        grid-column: auto;
        width: 100%;
    }

    .gec-newsletter__words span {
        font-size: clamp(3.4rem, 18vw, 5rem);
    }

    .gec-home-media__item {
        grid-template-columns: 1fr;
        gap: .35rem;
    }

    .gec-home-contact__inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .gec-home-contact__cta {
        width: 100%;
        box-sizing: border-box;
    }
}


/* =========================================================
   CURSO INDIVIDUAL — LAYOUT EXTENDIDO
   ========================================================= */

.gec-course-extended {
    display: grid;
    gap: clamp(4rem, 7vw, 6rem);
}

.gec-course-extended__intro {
    display: grid;
    grid-template-columns: minmax(280px,.85fr) minmax(0,1.15fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: center;
}

.gec-course-extended__media {
    aspect-ratio: 4 / 3;
    border-radius: 26px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 18%, rgba(255,255,255,.42) 0 17%, transparent 18%),
        linear-gradient(145deg, var(--gec-celeste), var(--gec-menta));
}

.gec-course-extended__media img,
.gec-course-extended__media .gec-media-placeholder {
    width: 100%;
    height: 100%;
    display: block;
}

.gec-course-extended__media img {
    object-fit: cover;
}

.gec-course-extended__media .gec-media-placeholder {
    position: relative;
    background: transparent;
}

.gec-course-extended__media .gec-media-placeholder::before {
    content: "";
    position: absolute;
    inset: 19%;
    background: url('../images/isotipo-gissela.png') center / contain no-repeat;
    opacity: .11;
}

.gec-course-extended__summary {
    display: grid;
    gap: 1.25rem;
    align-content: center;
}

.gec-course-extended__summary .gec-lead {
    margin: 0;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(2rem, 3.5vw, 3.2rem);
    line-height: 1.06;
    color: var(--gec-petroleo);
}

.gec-course-extended__next {
    display: grid;
    gap: .2rem;
    margin: .25rem 0 0;
    padding: 1.1rem 1.2rem;
    border-radius: 16px;
    background: var(--gec-crema);
    width: fit-content;
}

.gec-course-extended__next span {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--gec-agua);
}

.gec-course-extended__next strong {
    color: var(--gec-petroleo);
}

.gec-course-extended__content {
    width: min(100%, 920px);
    margin-inline: auto;
}

.gec-course-extended__facts {
    display: grid;
    gap: 2rem;
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: 26px;
    background: var(--gec-menta);
}

.gec-course-extended__facts-head {
    max-width: 760px;
}

.gec-course-extended__facts-head h2 {
    margin: .35rem 0 0;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(2.3rem, 4vw, 3.9rem);
    line-height: 1.03;
    color: var(--gec-petroleo);
}

.gec-course-extended__facts .gec-facts {
    background: rgba(255,255,255,.45);
}

.gec-course-extended__facts .gec-button {
    margin-top: 0;
}

@media (max-width: 800px) {
    .gec-course-extended__intro {
        grid-template-columns: 1fr;
    }

    .gec-course-extended__media {
        max-width: 680px;
    }

    .gec-course-extended__content {
        width: 100%;
    }
}


/* =========================================================
   CURSO DETALLADO — CONTENIDO EDITORIAL
   ========================================================= */

.gec-course-detail {
    display: grid;
    gap: clamp(3.5rem, 6vw, 5.5rem);
}

.gec-course-detail__intro {
    display: grid;
    gap: 1rem;
    font-size: 1.05rem;
    line-height: 1.7;
    color: rgba(32,52,60,.82);
}

.gec-course-detail__intro p {
    margin: 0;
}

.gec-course-detail__section {
    display: grid;
    gap: 1.25rem;
}

.gec-course-detail__intro h2,
.gec-course-detail__section > h2,
.gec-course-detail__split h2,
.gec-course-detail__resources h2 {
    margin: 0;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(2.2rem, 3.8vw, 3.7rem);
    line-height: 1.04;
    color: var(--gec-petroleo);
    text-wrap: balance;
}

.gec-course-modules {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    border-top: 1px solid var(--gec-border);
}

.gec-course-modules article {
    padding: 1.5rem 1.25rem 1.5rem 0;
    border-bottom: 1px solid var(--gec-border);
    transition: padding-left .22s ease, background-color .22s ease;
}

.gec-course-modules article:nth-child(even) {
    padding-left: 1.25rem;
    border-left: 1px solid var(--gec-border);
}

.gec-course-modules article:hover {
    padding-left: .65rem;
    background: linear-gradient(90deg, rgba(231,239,235,.72), transparent 80%);
}

.gec-course-modules article:nth-child(even):hover {
    padding-left: 1.85rem;
}

.gec-course-modules span {
    display: block;
    margin-bottom: .65rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    color: var(--gec-agua);
}

.gec-course-modules h3 {
    margin: 0 0 .45rem;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: 1.45rem;
    line-height: 1.1;
    color: var(--gec-petroleo);
}

.gec-course-modules p {
    margin: 0;
    line-height: 1.55;
}

.gec-course-detail__split {
    grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr);
    gap: 2rem;
    align-items: stretch;
}

.gec-course-detail__callout {
    padding: 1.5rem;
    border-radius: 18px;
    background: var(--gec-menta);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .35rem;
}

.gec-course-detail__callout span,
.gec-course-detail__editions span {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--gec-agua);
}

.gec-course-detail__callout strong {
    color: var(--gec-petroleo);
    font-size: 1.08rem;
}

.gec-course-detail__checks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .8rem;
}

.gec-course-detail__checks li {
    position: relative;
    padding: 1rem 1rem 1rem 2.7rem;
    border-radius: 14px;
    background: var(--gec-menta);
    line-height: 1.55;
}

.gec-course-detail__checks li::before {
    content: "✓";
    position: absolute;
    left: 1rem;
    color: var(--gec-agua);
    font-weight: 700;
}

.gec-course-detail__learning {
    display: grid;
    gap: .9rem;
}

.gec-course-detail__learning p {
    margin: 0;
    padding-left: 1rem;
    border-left: 2px solid var(--gec-celeste);
    line-height: 1.62;
}

.gec-course-detail__edition-note {
    padding: clamp(1.8rem, 3vw, 2.5rem);
    border-radius: 22px;
    background: var(--gec-crema);
}

.gec-course-detail__editions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1rem;
}

.gec-course-detail__editions > div {
    display: grid;
    gap: .3rem;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    background: rgba(255,255,255,.58);
}

.gec-course-detail__resources {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1.5rem;
}

.gec-course-detail__resources > div {
    padding: clamp(1.5rem, 3vw, 2rem);
    border: 1px solid var(--gec-border);
    border-radius: 20px;
    background: #fff;
}

.gec-course-detail__disabled {
    display: inline-flex;
    margin-top: .6rem;
    font-size: .88rem;
    color: rgba(32,52,60,.55);
}

.gec-course-detail__priority {
    display: inline-flex;
    margin-top: .75rem;
    font-weight: 700;
    color: var(--gec-petroleo);
    text-decoration: none;
}

.gec-course-detail__priority:hover {
    opacity: 1;
    transform: translateX(4px);
}

@media (max-width: 700px) {
    .gec-course-modules,
    .gec-course-detail__split,
    .gec-course-detail__resources,
    .gec-course-detail__editions {
        grid-template-columns: 1fr;
    }

    .gec-course-modules article:nth-child(even) {
        padding-left: 0;
        border-left: 0;
    }

    .gec-course-modules article:nth-child(even):hover {
        padding-left: .65rem;
    }
}


/* =========================================================
   PROGRAMA INDIVIDUAL — FICHA + CIERRE
   ========================================================= */

.gec-single--program {
    align-items: start;
}

.gec-single--program .gec-single__media {
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 3;
    align-self: start;
    background:
        radial-gradient(circle at 76% 18%, rgba(255,255,255,.42) 0 17%, transparent 18%),
        linear-gradient(145deg, var(--gec-celeste), var(--gec-menta));
}

.gec-single--program .gec-media-placeholder {
    width: 100%;
    height: 100%;
    min-height: 0;
    background: transparent;
}

.gec-single--program .gec-media-placeholder::before {
    content: "";
    position: absolute;
    inset: 18%;
    background: url('../images/isotipo-gissela.png') center / contain no-repeat;
    opacity: .11;
}

.gec-single--program .gec-single__body {
    justify-content: center;
}

.gec-single--program .gec-lead {
    margin: 0;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(1.65rem, 2.5vw, 2.35rem);
    line-height: 1.12;
    color: var(--gec-petroleo);
}

.gec-single--program .gec-richtext:empty {
    display: none;
}

.gec-single--program .gec-facts {
    margin-top: .35rem;
}

.gec-single--program .gec-facts strong {
    font-weight: 600;
    line-height: 1.4;
}

.gec-programa-closing {
    width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;
    margin-top: clamp(4rem, 7vw, 7rem);
    margin-bottom: 0;
    padding-block: clamp(5rem, 8vw, 7rem);
    background: var(--gec-petroleo);
    color: #fff;
}

.gec-programa-closing__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-programa-closing .gec-kicker {
    margin-bottom: 1.2rem;
    color: rgba(255,255,255,.68);
}

.gec-programa-closing h2 {
    max-width: 820px;
    margin: 0 0 1.3rem;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(2.8rem, 5vw, 4.8rem);
    line-height: 1.02;
    color: #fff;
    text-wrap: balance;
}

.gec-programa-closing__text {
    max-width: 650px;
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.65;
    color: rgba(255,255,255,.78);
}

.gec-programa-closing__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.6rem;
    margin-top: 2rem;
}

.gec-programa-closing__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 1.4rem;
    border-radius: 999px;
    background: #fff;
    color: var(--gec-petroleo);
    font-weight: 700;
    text-decoration: none;
}

.gec-programa-closing__button > span {
    display: block;
    line-height: 1;
    transform: translateY(-1px);
}

.gec-programa-closing__link {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.gec-programa-closing__button:hover,
.gec-programa-closing__link:hover {
    opacity: .88;
}

.gec-section:has(.gec-programa-closing) {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 900px) {
    .gec-single--program .gec-single__media {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 600px) {
    .gec-programa-closing__inner {
        width: calc(100% - 40px);
    }

    .gec-programa-closing__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 1.1rem;
    }

    .gec-programa-closing__button {
        width: 100%;
    }
}


/* =========================================================
   ¿CONVERSAMOS? — PÁGINA DE CONTACTO
   ========================================================= */

.gec-conversamos-page {
    margin: 0 !important;
    padding: 0 !important;
}

.gec-conversamos-page > * {
    margin-block: 0 !important;
}


/* Hero */

.gec-conversamos-hero {
    width: 100%;
    box-sizing: border-box;
    background: var(--gec-crema);
    padding-block: clamp(5rem, 8vw, 7.5rem);
}

.gec-conversamos-hero__inner,
.gec-conversamos-contact__inner {
    width: min(calc(100% - 48px), 1040px);
    margin-inline: auto;
}

.gec-conversamos-hero .gec-kicker,
.gec-conversamos-contact__inner > .gec-kicker {
    margin: 0 0 1rem;
}

.gec-conversamos-hero h1 {
    max-width: 820px;
    margin: 0;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(3rem, 5.4vw, 5.2rem);
    line-height: .99;
    color: var(--gec-petroleo);
    text-wrap: balance;
}

.gec-conversamos-hero__intro {
    max-width: 680px;
    margin: 1.7rem 0 0;
    font-size: clamp(1.04rem, 1.35vw, 1.17rem);
    line-height: 1.65;
    color: rgba(32,52,60,.76);
}


/* Contacto */

.gec-conversamos-contact {
    width: 100%;
    box-sizing: border-box;
    background: var(--gec-white);
    padding-block: clamp(3.25rem, 4.8vw, 4.6rem);
}

.gec-conversamos-contact__inner > h2 {
    max-width: 820px;
    margin: 0 0 clamp(2rem, 3.4vw, 2.8rem);
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(2.55rem, 4.4vw, 4.35rem);
    line-height: 1.03;
    color: var(--gec-petroleo);
    text-wrap: balance;
}


/* Tarjetas */

.gec-conversamos-contact__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.25rem, 2.5vw, 1.75rem);
    align-items: stretch;
}

.gec-contact-card {
    min-height: 335px;
    padding: clamp(1.6rem, 2.6vw, 2.2rem);
    display: flex;
    flex-direction: column;
    border: 1px solid var(--gec-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--gec-shadow);
}

.gec-contact-card--whatsapp {
    background: var(--gec-petroleo);
    border-color: var(--gec-petroleo);
}

.gec-contact-card--email {
    background: var(--gec-menta);
}

.gec-contact-card__number {
    margin: 0 0 1.7rem;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .14em;
    color: var(--gec-agua);
}

.gec-contact-card__label {
    margin: 0 0 .75rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--gec-agua);
}

.gec-contact-card__title {
    max-width: 390px;
    margin: 0 0 .9rem;
    font-family: var(--gec-display-font);
    font-style: normal;
    font-weight: 400;
    font-variation-settings: "opsz" 1000, "wght" 400;
    font-size: clamp(1.85rem, 2.7vw, 2.55rem);
    line-height: 1.06;
    color: var(--gec-petroleo);
    text-wrap: balance;
}

.gec-contact-card__text {
    max-width: 430px;
    margin: 0 0 1.5rem;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(32,52,60,.76);
}

.gec-contact-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 48px;
    margin-top: auto;
    padding: 0 1.35rem;
    border-radius: 999px;
    font-size: .94rem;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
    color: #fff;
    background: var(--gec-petroleo);
}

.gec-contact-card--whatsapp .gec-contact-card__number,
.gec-contact-card--whatsapp .gec-contact-card__label {
    color: rgba(255,255,255,.66);
}

.gec-contact-card--whatsapp .gec-contact-card__title {
    color: #fff;
}

.gec-contact-card--whatsapp .gec-contact-card__text {
    color: rgba(255,255,255,.78);
}

.gec-contact-card--whatsapp .gec-contact-card__cta {
    color: var(--gec-petroleo);
    background: #fff;
}

.gec-contact-card__cta:hover {
    opacity: 1;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(32,52,60,.13);
}


/* Responsive */

@media (max-width: 760px) {
    .gec-conversamos-hero,
    .gec-conversamos-contact {
        padding-block: 3rem;
    }

    .gec-conversamos-hero__inner,
    .gec-conversamos-contact__inner {
        width: calc(100% - 40px);
    }

    .gec-conversamos-hero h1 {
        font-size: clamp(2.55rem, 12vw, 3.7rem);
    }

    .gec-conversamos-contact__inner > h2 {
        font-size: clamp(2.25rem, 10vw, 3.2rem);
    }

    .gec-conversamos-contact__grid {
        grid-template-columns: 1fr;
    }

    .gec-contact-card {
        min-height: 0;
        padding: 1.5rem;
    }
}