/* Ajustes visuales 1.1: portada y selección de certificación basadas en las referencias aprobadas. */

body[data-di-view="welcome"] .iehes-site-header {
	opacity: 0;
	transform: translateY(-110%);
	pointer-events: none;
}

body[data-di-view="welcome"] .iehes-main {
	padding-top: 0;
}

body[data-di-view="welcome"] .iehes-site-footer {
	display: none;
}

.iehes-site-header {
	transition: opacity .45s ease, transform .55s cubic-bezier(.2,.8,.2,1), background .3s, backdrop-filter .3s;
}

.di-portal {
	background: #020b19;
	overflow: clip;
}

.di-welcome h1[tabindex="-1"]:focus,
.di-section h2[tabindex="-1"]:focus {
	outline: none;
}

/* Portada */
.di-welcome {
	min-height: 100vh;
	display: grid;
	place-items: center;
	text-align: center;
	background: #020b18;
}

.di-welcome::before,
.di-welcome::after {
	display: none;
}

.di-welcome::before {
	width: 38vw;
	height: 38vw;
	min-width: 390px;
	min-height: 390px;
	left: -23vw;
	top: -15vw;
	border: 1px solid rgba(51,136,234,.17);
	border-radius: 50%;
	box-shadow: 110px 290px 0 -109px rgba(41,128,229,.24);
	animation: di-home-orbit 14s ease-in-out infinite alternate;
}

.di-welcome::after {
	width: 520px;
	height: 520px;
	right: -310px;
	top: -275px;
	border: 1px solid rgba(44,144,255,.42);
	border-radius: 42% 0 46% 54%;
	transform: rotate(46deg);
	background: linear-gradient(135deg, rgba(15,67,137,.42), rgba(8,29,67,.08));
	animation: di-home-corner 11s ease-in-out infinite alternate;
}

.di-welcome__media {
	inset: 0;
	background-image: var(--di-home-bg);
	background-size: cover;
	background-position: center;
	opacity: 1;
	animation: di-home-image 18s ease-in-out infinite alternate;
}

.di-welcome__shade {
	background: radial-gradient(ellipse at 50% 50%, transparent 12%, rgba(0,6,15,.05) 58%, rgba(0,6,15,.18) 100%);
}

.di-welcome__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(1120px, calc(100% - 40px));
	padding: clamp(35px, 5vh, 66px) 0 clamp(36px, 4vh, 54px);
}

.di-home-brands {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(25px, 3.3vw, 54px);
	min-height: 106px;
	margin-bottom: clamp(38px, 6vh, 72px);
}

.di-home-brands img {
	display: block;
	width: auto;
	object-fit: contain;
	filter: brightness(0) invert(1) drop-shadow(0 0 28px rgba(53,166,255,.10));
	animation: di-home-logo 7s ease-in-out infinite;
}

.di-home-brands__iehes {
	height: clamp(72px, 8vw, 104px);
	max-width: min(42vw, 365px);
}

.di-home-brands__integracion {
	height: clamp(68px, 7.2vw, 96px);
	max-width: min(39vw, 330px);
	animation-delay: -3.5s !important;
}

.di-home-brands__divider {
	width: 1px;
	height: clamp(76px, 8vw, 108px);
	background: linear-gradient(transparent, rgba(120,211,255,.9) 18%, rgba(120,211,255,.9) 82%, transparent);
	box-shadow: 0 0 18px rgba(73,184,255,.22);
}

.di-welcome h1 {
	max-width: 1000px;
	margin: 0;
	font-size: clamp(48px, 5.4vw, 82px);
	line-height: .98;
	letter-spacing: -.047em;
	font-weight: 820;
	text-wrap: balance;
	filter: drop-shadow(0 8px 24px rgba(0,0,0,.38));
}

.di-welcome h1 span {
	font-size: .77em;
	letter-spacing: -.035em;
}

.di-welcome h1 em {
	font-style: normal;
	background: linear-gradient(95deg, #7bdfff 0%, #42c1f6 34%, #168bf1 56%, #8be7ff 73%, #32b8f7 100%);
	background-size: 220% 100%;
	background-clip: text;
	-webkit-background-clip: text;
	color: transparent;
	animation: di-home-shimmer 6s ease-in-out infinite;
}

.di-home-separator {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	margin: 25px 0 13px;
}

.di-home-separator span {
	display: block;
	width: 84px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #70d8ff);
}

.di-home-separator span:last-child {
	background: linear-gradient(90deg, #70d8ff, transparent);
}

.di-home-separator i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #74dcff;
	box-shadow: 0 0 18px rgba(60,192,255,.9);
	animation: di-home-pulse 2.2s ease-in-out infinite;
}

.di-home-flourish {
	margin: 0;
	color: #70d5ff;
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-size: clamp(27px, 3vw, 44px);
	line-height: 1.1;
	letter-spacing: .02em;
	text-shadow: 0 0 26px rgba(45,174,255,.26);
}

.di-home-flourish span {
	display: inline-block;
	font-family: inherit;
	font-size: .72em;
	color: #2a76bd;
	transform: rotate(-14deg);
}

.di-home-flourish span:last-child {
	transform: rotate(166deg);
}

.di-welcome__lead {
	max-width: 790px;
	margin: 22px 0 0;
	color: #f2f6fb;
	font-size: clamp(16px, 1.45vw, 21px);
	line-height: 1.48;
	font-weight: 430;
}

.di-welcome__actions {
	margin-top: 31px;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.di-welcome__actions .di-button--primary {
	position: relative;
	overflow: hidden;
	min-width: clamp(280px, 28vw, 415px);
	min-height: 72px;
	border-radius: 20px;
	font-size: clamp(20px, 1.8vw, 27px);
	background: linear-gradient(135deg, #1794f0, #34b5ff 52%, #0871dc);
	box-shadow: 0 15px 45px rgba(0,112,231,.42), 0 0 32px rgba(39,172,255,.22), inset 0 1px rgba(255,255,255,.36);
	animation: di-home-button-breathe 3.8s ease-in-out infinite;
}

.di-welcome__actions .di-button--primary::before {
	content: "";
	position: absolute;
	inset: -80% auto -80% -38%;
	width: 28%;
	transform: rotate(17deg);
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
	animation: di-home-button-shine 4.6s ease-in-out infinite;
}

.di-welcome__actions .di-button--primary > span {
	position: relative;
	z-index: 1;
}

.di-welcome__actions .di-button--primary > span:last-child {
	font-size: 1.45em;
	font-weight: 350;
	transition: transform .25s ease;
}

.di-welcome__actions .di-button--primary:hover > span:last-child {
	transform: translateX(5px);
}

.di-home-login {
	border: 0;
	padding: 4px 8px;
	background: transparent;
	color: #77cbfa;
	font: inherit;
	font-size: 13px;
	font-weight: 720;
	cursor: pointer;
	transition: color .25s, transform .25s;
}

.di-home-login span:first-child {
	color: #8fa7bf;
	font-weight: 520;
	margin-right: 4px;
}

.di-home-login:hover,
.di-home-login:focus-visible {
	color: #fff;
	transform: translateY(-1px);
}

.di-home-login:focus-visible {
	outline: 2px solid #74d9ff;
	outline-offset: 4px;
	border-radius: 6px;
}

.di-home-growth {
	display: none;
}

.di-home-growth::before {
	content: "";
	position: absolute;
	left: 51%;
	bottom: 3%;
	width: 2px;
	height: 89%;
	border-radius: 100%;
	background: linear-gradient(0deg, #207cf2, #56cfff 62%, transparent);
	transform: rotate(10deg);
	transform-origin: bottom;
	box-shadow: 0 0 17px #1471e8;
}

.di-home-growth::after {
	content: "";
	position: absolute;
	left: -35%;
	right: -12%;
	bottom: -30%;
	height: 52%;
	border: 2px solid rgba(33,117,236,.48);
	border-radius: 50% 50% 0 0;
	box-shadow: 0 -1px 27px rgba(26,117,240,.16);
}

.di-home-growth span {
	position: absolute;
	width: 30%;
	height: 20%;
	border: 2px solid rgba(60,153,249,.78);
	border-radius: 100% 0 100% 0;
	transform-origin: bottom right;
	background: linear-gradient(145deg, rgba(11,48,104,.42), transparent 70%);
}

.di-home-growth span:nth-child(1) { left: 21%; top: 25%; transform: rotate(27deg); }
.di-home-growth span:nth-child(2) { left: 51%; top: 10%; transform: rotate(-37deg) scale(.91); }
.di-home-growth span:nth-child(3) { left: 19%; top: 49%; transform: rotate(31deg) scale(.78); }
.di-home-growth span:nth-child(4) { left: 54%; top: 42%; transform: rotate(-39deg) scale(.82); }
.di-home-growth span:nth-child(5) { left: 54%; top: 66%; transform: rotate(-41deg) scale(.63); }

.di-home-dots {
	display: none;
}

.di-home-dots--top { left: 38px; top: 36px; }
.di-home-dots--bottom { right: 25px; bottom: 22px; animation-delay: -3s; }

/* Selección de certificación */
.di-section[data-view="certification"] {
	padding-top: 8px;
	background:
		radial-gradient(circle at 50% 8%, rgba(23,125,225,.13), transparent 31%),
		linear-gradient(180deg, #031225 0%, #020b19 66%);
}

.di-section[data-view="certification"] .di-shell {
	width: min(1440px, calc(100% - 56px));
}

.di-section[data-view="certification"] .di-back {
	margin-bottom: -8px;
}

.di-section[data-view="certification"] .di-section-head {
	margin-bottom: 22px;
}

.di-section[data-view="certification"] .di-orb-icon {
	width: 68px;
	height: 68px;
	margin-bottom: 15px;
}

.di-section[data-view="certification"] .di-section-head h2 {
	font-size: clamp(38px, 3.2vw, 50px);
	margin: 8px 0;
}

.di-section[data-view="certification"] .di-section-head > p:last-child {
	font-size: 16px;
}

.di-section[data-view="certification"] .di-divider {
	margin: 22px auto 20px;
}

.di-cert-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 1.3vw, 22px);
}

.di-cert-card {
	isolation: isolate;
	min-width: 0;
	min-height: clamp(370px, 42vh, 445px);
	padding: 20px 22px 25px;
	border: 1px solid rgba(41,174,255,.88);
	border-radius: 20px;
	background: #06172d;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	box-shadow: inset 0 0 34px rgba(0,22,53,.18);
	transition: transform .38s cubic-bezier(.2,.8,.2,1), border-color .3s, box-shadow .35s;
}

.di-cert-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, rgba(38,182,237,.35) 0%, rgba(4,27,55,.12) 38%, rgba(2,13,31,.94) 82%, #020c1d 100%);
	opacity: 1;
	transition: opacity .35s;
}

.di-cert-card.is-universitaria::before {
	background: linear-gradient(180deg, rgba(26,127,218,.27) 0%, rgba(2,24,53,.14) 39%, rgba(2,13,31,.94) 82%, #020c1d 100%);
}

.di-cert-card.is-tecnica::before {
	background: linear-gradient(180deg, rgba(100,65,219,.50) 0%, rgba(48,27,124,.18) 43%, rgba(10,12,42,.95) 82%, #070b24 100%);
}

.di-cert-card.is-vocacional::before {
	background: linear-gradient(180deg, rgba(30,166,205,.36) 0%, rgba(7,56,83,.12) 42%, rgba(2,17,35,.94) 82%, #020d20 100%);
}

.di-cert-card::after {
	content: "";
	position: absolute;
	z-index: 4;
	inset: -25% auto -25% -50%;
	width: 25%;
	transform: rotate(15deg);
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
	transition: left .65s ease;
}

.di-cert-card:hover,
.di-cert-card:focus-visible {
	transform: translateY(-9px) scale(1.012);
	border-color: #70e1ff;
	box-shadow: 0 25px 55px rgba(0,11,35,.58), 0 0 34px rgba(23,166,245,.22), inset 0 1px rgba(255,255,255,.1);
}

.di-cert-card:hover::after,
.di-cert-card:focus-visible::after {
	left: 130%;
}

.di-cert-card__photo,
.di-cert-card__veil {
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
}

.di-cert-card__photo {
	background-image: var(--di-cert-image);
	background-size: cover;
	background-position: center;
	filter: saturate(.8) contrast(1.04);
	transform: scale(1.025);
	transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .5s;
}

.di-cert-card.is-i-plus .di-cert-card__photo { background-position: 54% center; }
.di-cert-card.is-universitaria .di-cert-card__photo { background-position: 48% center; }
.di-cert-card.is-tecnica .di-cert-card__photo { background-position: 55% center; }
.di-cert-card.is-vocacional .di-cert-card__photo { background-position: 48% center; }

.di-cert-card__veil {
	z-index: 1;
	background: linear-gradient(180deg, rgba(0,13,30,.02), rgba(0,13,30,.18) 40%, rgba(0,10,25,.78) 77%, rgba(0,9,23,.98));
}

.di-cert-card:hover .di-cert-card__photo,
.di-cert-card:focus-visible .di-cert-card__photo {
	transform: scale(1.09);
	filter: saturate(1) contrast(1.06);
}

.di-cert-card > *:not(.di-cert-card__photo):not(.di-cert-card__veil) {
	position: relative;
	z-index: 5;
}

.di-cert-card small {
	align-self: flex-start;
	font-size: 10px;
	letter-spacing: .18em;
	color: rgba(194,238,255,.78);
	opacity: .82;
}

.di-cert-card__identity {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin-top: clamp(25px, 4vh, 42px);
	text-shadow: 0 3px 16px rgba(0,0,0,.58);
}

.di-cert-card .di-cert-card__identity strong {
	margin: 0 0 10px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(62px, 5.4vw, 84px);
	line-height: .82;
	letter-spacing: -.05em;
	white-space: nowrap;
}

.di-cert-card .di-cert-card__identity b {
	max-width: none;
	font-size: clamp(17px, 1.4vw, 22px);
	line-height: 1.12;
	letter-spacing: .015em;
	text-transform: uppercase;
}

.di-cert-card.is-i-plus .di-cert-card__identity b {
	max-width: 185px;
}

.di-cert-card__icon {
	width: 60px;
	height: 60px;
	margin-top: auto;
	border: 1px solid #38c9ff;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #50d9ff;
	background: rgba(2,30,61,.55);
	box-shadow: 0 0 26px rgba(20,151,247,.19), inset 0 0 16px rgba(30,151,244,.16);
	transition: transform .35s, box-shadow .35s;
}

.di-cert-card.is-tecnica .di-cert-card__icon {
	border-color: #8f70ff;
	color: #aa91ff;
}

.di-cert-card__icon svg {
	width: 34px;
	height: 34px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.di-cert-card:hover .di-cert-card__icon,
.di-cert-card:focus-visible .di-cert-card__icon {
	transform: rotate(5deg) scale(1.07);
	box-shadow: 0 0 32px rgba(30,175,255,.35), inset 0 0 18px rgba(44,177,255,.2);
}

.di-cert-card p {
	width: 100%;
	min-height: 40px;
	margin: 13px 0 0;
	font-size: clamp(13px, 1.02vw, 16px);
	line-height: 1.35;
	color: #eef8ff;
	text-wrap: balance;
	text-shadow: 0 2px 12px #000;
}

.di-demo-note {
	margin-top: 15px;
}

/* Categorías intermedias */
.di-categories {
	background:
		linear-gradient(90deg, rgba(2,11,25,.97), rgba(2,11,25,.77) 48%, rgba(2,11,25,.92)),
		url("../../../../themes/iehes-integracion/assets/images/carrera-ia-datos.jpg") center / cover fixed;
}

.di-categories::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(circle at 50% 15%, rgba(26,139,244,.13), transparent 30%);
}

.di-categories .di-section-head {
	margin-bottom: 38px;
}

.di-categories .di-kicker b,
[data-view="careers"] .di-kicker b {
	color: #1c9cff;
	font-size: 16px;
	letter-spacing: .08em;
}

[data-view="careers"] .di-kicker i {
	padding-inline: 5px;
	font-style: normal;
	color: #49bfff;
}

.di-category-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(16px, 1.7vw, 26px);
	width: min(1400px, 100%);
	margin-inline: auto;
}

.di-category-card {
	position: relative;
	display: block;
	isolation: isolate;
	overflow: hidden;
	min-height: 465px;
	padding: 0;
	border: 1px solid rgba(43,179,255,.9);
	border-radius: 22px;
	background: #04152b;
	color: #fff;
	font: inherit;
	text-align: center;
	cursor: pointer;
	box-shadow: inset 0 0 28px rgba(12,101,194,.13);
	transition: transform .38s cubic-bezier(.2,.8,.2,1), border-color .3s, box-shadow .35s;
}

.di-category-card::after {
	content: "";
	position: absolute;
	z-index: 4;
	inset: -25% auto -25% -45%;
	width: 24%;
	transform: rotate(14deg);
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
	transition: left .7s ease;
}

.di-category-card:hover,
.di-category-card:focus-visible {
	transform: translateY(-9px);
	border-color: #76e4ff;
	box-shadow: 0 25px 54px rgba(0,8,28,.62), 0 0 36px rgba(26,160,244,.2);
}

.di-category-card:hover::after,
.di-category-card:focus-visible::after {
	left: 132%;
}

.di-category-card:focus-visible {
	outline: 2px solid #83e5ff;
	outline-offset: 4px;
}

.di-category-card__photo,
.di-category-card__shade {
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.di-category-card__photo {
	z-index: 0;
	background: var(--di-category-image) center / cover;
	filter: saturate(.73) contrast(1.04);
	transition: transform .75s cubic-bezier(.2,.8,.2,1), filter .4s;
}

.di-category-card__shade {
	z-index: 1;
	background: linear-gradient(180deg, rgba(0,24,53,.15), rgba(2,15,35,.18) 37%, rgba(2,12,28,.9) 75%, #020b1b 100%);
}

.di-category-card:hover .di-category-card__photo,
.di-category-card:focus-visible .di-category-card__photo {
	transform: scale(1.07);
	filter: saturate(.93) contrast(1.06);
}

.di-category-card__icon {
	position: absolute;
	z-index: 3;
	top: 38px;
	left: 50%;
	display: grid;
	place-items: center;
	width: 86px;
	height: 86px;
	margin: 0;
	border-radius: 50%;
	background: linear-gradient(145deg, #209cf5, #0867d2);
	box-shadow: 0 13px 30px rgba(0,87,210,.38), inset 0 1px rgba(255,255,255,.25);
	transform: translateX(-50%);
	transition: transform .35s, box-shadow .35s;
}

.di-category-card:hover .di-category-card__icon {
	transform: translateX(-50%) scale(1.07) rotate(3deg);
	box-shadow: 0 15px 36px rgba(0,101,225,.5), 0 0 25px rgba(50,190,255,.22);
}

.di-category-card__icon svg,
.di-career-card__icon svg {
	width: 46px;
	height: 46px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.di-category-card__content {
	position: absolute;
	z-index: 3;
	inset: 175px 22px 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.di-category-card h3 {
	margin: 0;
	font-size: clamp(28px, 2.1vw, 38px);
	line-height: 1.05;
	letter-spacing: -.035em;
	text-shadow: 0 3px 17px rgba(0,0,0,.7);
}

.di-category-card__content > i,
.di-career-card__content > i {
	display: block;
	width: 60px;
	height: 2px;
	margin: 23px auto 20px;
	background: linear-gradient(90deg, transparent, #27b4ff 25%, #27b4ff 75%, transparent);
	box-shadow: 0 0 12px rgba(38,177,255,.45);
}

.di-category-card strong {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #27b2ff;
	font-size: 20px;
}

.di-category-card strong svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.di-category-card p {
	margin: auto 0 0;
	color: #f1f7ff;
	font-size: 15px;
	line-height: 1.55;
	text-wrap: balance;
	text-shadow: 0 2px 12px #000;
}

/* Tarjetas de carrera basadas en la referencia */
[data-view="careers"] {
	background: radial-gradient(circle at 50% 4%, rgba(17,124,228,.12), transparent 31%), #020b19;
}

[data-view="careers"] .di-section-head {
	margin-bottom: 35px;
}

[data-view="careers"] .di-career-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(16px, 1.35vw, 22px);
}

[data-view="careers"] .di-career-card {
	min-height: 500px;
	border-radius: 22px;
	border-color: rgba(35,170,253,.88);
	text-align: center;
}

[data-view="careers"] .di-career-card::after {
	background: linear-gradient(180deg, rgba(0,12,27,.08) 8%, rgba(1,14,33,.27) 39%, rgba(2,13,31,.9) 69%, #020b1b 100%);
}

[data-view="careers"] .di-career-card__image {
	filter: saturate(.72) contrast(1.04);
}

[data-view="careers"] [data-career="farmacia-tec"] .di-career-card__image,
[data-view="careers"] [data-career="farmacia-lic"] .di-career-card__image {
	object-position: 24% center;
}

[data-view="careers"] [data-career="enfermeria-tec"] .di-career-card__image,
[data-view="careers"] [data-career="enfermeria-lic"] .di-career-card__image {
	object-position: 76% center;
}

.di-career-card__icon {
	position: absolute;
	z-index: 4;
	top: 23px;
	left: 22px;
	display: grid;
	place-items: center;
	width: 78px;
	height: 78px;
	border-radius: 50%;
	color: #fff;
	background: linear-gradient(145deg, #249ef8, #0766d3);
	box-shadow: 0 14px 30px rgba(0,82,203,.44), inset 0 1px rgba(255,255,255,.24);
	transition: transform .35s, box-shadow .35s;
}

.di-career-card:hover .di-career-card__icon,
.di-career-card:focus-visible .di-career-card__icon {
	transform: scale(1.06) rotate(3deg);
	box-shadow: 0 18px 35px rgba(0,94,220,.52), 0 0 25px rgba(36,177,255,.2);
}

[data-view="careers"] .di-career-card__content {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	padding: 235px 25px 24px;
}

[data-view="careers"] .di-career-card h3 {
	margin: 0;
	font-size: clamp(21px, 1.65vw, 27px);
	line-height: 1.12;
	letter-spacing: -.025em;
	text-wrap: balance;
	text-shadow: 0 3px 16px #000;
}

[data-view="careers"] .di-career-card__content > i {
	margin: 17px auto 16px;
}

[data-view="careers"] .di-career-card__content p {
	min-height: 82px;
	margin: 0;
	color: #eaf4ff;
	font-size: 14px;
	line-height: 1.52;
	text-wrap: balance;
	text-shadow: 0 2px 12px #000;
}

[data-view="careers"] .di-career-card__meta {
	margin-top: auto;
	color: #25b4ff;
	font-size: 16px;
	font-weight: 750;
}

@keyframes di-home-orbit {
	to { transform: translate3d(18px, 12px, 0) scale(1.035); }
}

@keyframes di-home-corner {
	to { transform: translate3d(-16px, 12px, 0) rotate(49deg); }
}

@keyframes di-home-ambient {
	to { opacity: .72; transform: scale(1.025); }
}

@keyframes di-home-image {
	from { transform: scale(1.005); }
	to { transform: scale(1.025); }
}

@keyframes di-home-logo {
	0%, 100% { transform: translateY(0); filter: brightness(0) invert(1) drop-shadow(0 0 20px rgba(53,166,255,.08)); }
	50% { transform: translateY(-4px); filter: brightness(0) invert(1) drop-shadow(0 0 34px rgba(53,166,255,.2)); }
}

@keyframes di-home-shimmer {
	0%, 100% { background-position: 0 50%; }
	50% { background-position: 100% 50%; }
}

@keyframes di-home-pulse {
	0%, 100% { transform: scale(.85); opacity: .7; }
	50% { transform: scale(1.25); opacity: 1; }
}

@keyframes di-home-button-breathe {
	0%, 100% { box-shadow: 0 15px 45px rgba(0,112,231,.38), 0 0 26px rgba(39,172,255,.17), inset 0 1px rgba(255,255,255,.36); }
	50% { box-shadow: 0 18px 55px rgba(0,112,231,.5), 0 0 43px rgba(39,172,255,.3), inset 0 1px rgba(255,255,255,.36); }
}

@keyframes di-home-button-shine {
	0%, 22% { left: -38%; }
	58%, 100% { left: 132%; }
}

@keyframes di-home-growth {
	to { transform: rotate(1.8deg) translateY(-4px); }
}

@keyframes di-home-dots {
	to { transform: translateY(9px); opacity: .58; }
}

@media (max-width: 1120px) {
	.di-cert-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 850px;
		margin-inline: auto;
	}

	.di-cert-card {
		min-height: 430px;
	}

	.di-cert-card .di-cert-card__identity strong {
		font-size: 78px;
	}

	.di-category-grid,
	[data-view="careers"] .di-career-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 880px;
		margin-inline: auto;
	}
}

@media (max-width: 782px) {
	.iehes-site-header {
		position: sticky;
		top: 0;
		height: 72px;
		padding: 9px 14px;
		background: rgba(2,10,23,.97);
		backdrop-filter: blur(18px);
		border-bottom: 1px solid rgba(56,160,236,.2);
		box-shadow: 0 9px 28px rgba(0,0,0,.24);
	}

	body[data-di-view="welcome"] .iehes-site-header {
		display: none;
	}

	.iehes-main {
		padding-top: 0;
	}

	.iehes-brand--iehes img {
		height: 43px;
		max-width: 47vw;
	}

	.iehes-brand--integracion img {
		height: 40px;
		max-width: 42vw;
	}

	.iehes-site-header__actions {
		gap: 8px;
	}

	.di-toast {
		top: 88px;
	}

	body[data-di-view="welcome"] .iehes-main {
		padding-top: 0;
	}

	.di-welcome {
		min-height: 100svh;
	}

	.di-welcome__content {
		padding: 30px 0 28px;
	}

	.di-home-brands {
		gap: 18px;
		min-height: 70px;
		margin-bottom: clamp(34px, 6vh, 58px);
	}

	.di-home-brands__iehes {
		height: clamp(51px, 12vw, 70px);
		max-width: 42vw;
	}

	.di-home-brands__integracion {
		height: clamp(47px, 11vw, 65px);
		max-width: 40vw;
	}

	.di-home-brands__divider {
		height: 66px;
	}

	.di-welcome h1 {
		font-size: clamp(42px, 10vw, 64px);
		line-height: 1.02;
	}

	.di-welcome h1 span {
		font-size: .72em;
	}

	.di-home-growth {
		width: 38vw;
		height: 43vh;
		opacity: .38;
	}

	.di-welcome__media {
		background-position: 68% center;
	}

	.di-home-dots {
		transform: scale(.75);
	}

	.di-section[data-view="certification"] .di-shell {
		width: min(100% - 32px, 1440px);
	}
}

@media (max-width: 680px) {
	.di-welcome__content {
		padding-top: 24px;
		padding-bottom: 24px;
	}

	.di-welcome__actions {
		width: 100%;
		margin-top: 25px;
	}

	.di-welcome__actions .di-button--primary {
		width: min(100%, 390px);
		min-width: 0;
		min-height: 62px;
		font-size: 21px;
	}

	.di-home-flourish {
		font-size: clamp(25px, 7vw, 34px);
	}

	.di-welcome__lead {
		margin-top: 18px;
		font-size: 15px;
	}

	.di-section[data-view="certification"] {
		padding-top: 10px;
	}

	.di-cert-grid {
		grid-template-columns: 1fr;
		max-width: 430px;
		gap: 18px;
	}

	.di-category-grid,
	[data-view="careers"] .di-career-grid {
		grid-template-columns: 1fr;
		max-width: 430px;
		gap: 19px;
	}

	.di-category-card {
		min-height: 455px;
	}

	[data-view="careers"] .di-career-card {
		min-height: 480px;
	}

	.di-categories .di-kicker b,
	[data-view="careers"] .di-kicker b {
		font-size: 13px;
	}

	.di-cert-card {
		min-height: 420px;
	}

	.di-cert-card .di-cert-card__identity strong {
		font-size: 76px;
	}

	.di-cert-card .di-cert-card__identity b {
		font-size: 21px;
	}

	.di-cert-card p {
		font-size: 15px;
	}
}

@media (max-width: 430px) {
	.di-home-brands {
		margin-bottom: 36px;
	}

	.di-welcome h1 {
		font-size: clamp(38px, 11vw, 48px);
	}

	.di-home-separator {
		margin-top: 20px;
	}

	.di-home-separator span {
		width: 58px;
	}

	.di-home-flourish span {
		display: none;
	}

	.di-home-login {
		font-size: 12px;
	}

	.di-home-growth {
		right: -35px;
		width: 48vw;
		opacity: .3;
	}

	.di-home-dots--top {
		left: 8px;
		top: 9px;
	}

	.di-home-dots--bottom {
		right: -3px;
		bottom: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.di-welcome::before,
	.di-welcome::after,
	.di-welcome__media,
	.di-home-brands img,
	.di-welcome h1 em,
	.di-home-separator i,
	.di-welcome__actions .di-button--primary,
	.di-welcome__actions .di-button--primary::before,
	.di-home-growth,
	.di-home-dots {
		animation: none !important;
	}

	.di-cert-card:hover,
	.di-cert-card:focus-visible {
		transform: none;
	}
}

/* Experiencia de exploración y decisión de carrera */
body[data-di-view="career-detail"] .iehes-site-header {
	background: rgba(2, 10, 23, .9);
	backdrop-filter: blur(20px);
	border-bottom: 1px solid rgba(60, 170, 246, .14);
}

.di-career-detail {
	animation: none;
	background:
		radial-gradient(circle at 9% 18%, rgba(17, 129, 233, .12), transparent 24%),
		radial-gradient(circle at 92% 45%, rgba(48, 199, 255, .08), transparent 26%),
		#020b19;
}

.di-career-detail::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(rgba(89, 190, 255, .22) .7px, transparent .7px);
	background-size: 28px 28px;
	mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 75%, transparent);
	opacity: .22;
}

.di-career-detail__nav {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 12px;
}

.di-career-detail__nav p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: #8faec9;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.di-career-detail__nav p span { color: #40c9ff; }

.di-career-layout {
	grid-template-columns: minmax(0, 1.38fr) minmax(390px, .62fr);
	gap: clamp(20px, 2vw, 30px);
}

.di-career-story,
.di-prereg-card {
	border-color: rgba(60, 175, 249, .38);
	box-shadow: 0 32px 90px rgba(0, 4, 18, .46), inset 0 1px rgba(255,255,255,.025);
}

.di-career-story__hero {
	height: clamp(480px, 56vh, 620px);
	background-position: center 35%;
}

.di-career-story__overlay {
	background:
		linear-gradient(0deg, #06162d 0%, rgba(3, 14, 31, .18) 66%, rgba(2, 11, 25, .28)),
		linear-gradient(90deg, rgba(2, 11, 25, .6), transparent 72%);
}

.di-career-story__title {
	left: clamp(25px, 4vw, 54px);
	right: clamp(25px, 4vw, 54px);
	bottom: clamp(33px, 5vw, 55px);
}

.di-career-story__title > p {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 13px;
}

.di-career-story__title > p span {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	backdrop-filter: none;
	color: inherit;
	font-size: inherit;
}

.di-career-story__eyebrow { color: #b8ccdc !important; }

.di-career-story__title h2 {
	max-width: 900px;
	font-size: clamp(42px, 5.2vw, 76px);
	line-height: .97;
	text-wrap: balance;
	text-shadow: 0 5px 24px rgba(0, 0, 0, .52);
}

.di-career-story__meta { gap: 10px !important; }

.di-career-story__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 35px;
	padding: 7px 13px;
	border: 1px solid rgba(102, 204, 255, .38);
	background: rgba(1, 14, 30, .68);
	color: #eef9ff;
	box-shadow: inset 0 1px rgba(255, 255, 255, .06);
}

.di-career-story__scroll {
	position: absolute;
	right: 27px;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 10px;
	color: rgba(225, 243, 255, .72);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
	transform: translate(45%, -50%) rotate(90deg);
}

.di-career-story__scroll span {
	position: relative;
	display: block;
	width: 52px;
	height: 1px;
	background: rgba(92, 201, 255, .55);
	overflow: hidden;
}

.di-career-story__scroll span::after {
	content: "";
	position: absolute;
	inset: 0;
	background: #78deff;
	transform: translateX(-100%);
	animation: di-career-scroll 2.4s ease-in-out infinite;
}

.di-career-story__body { padding: clamp(27px, 4vw, 52px); }

.di-content-kicker {
	margin: 0 0 8px;
	color: #4fcaff;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.di-career-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
	gap: clamp(22px, 3vw, 40px);
	align-items: start;
}

.di-career-intro h3,
.di-content-heading h3,
.di-career-outcomes h3,
.di-career-faq h3 {
	margin: 0;
	color: #f7fbff;
	font-size: clamp(25px, 2.5vw, 36px);
	line-height: 1.08;
	letter-spacing: -.035em;
	text-wrap: balance;
}

.di-career-lead {
	margin: 14px 0 0;
	color: #c9d8e6;
	font-size: clamp(17px, 1.55vw, 21px);
	line-height: 1.65;
}

.di-highlight-box {
	position: relative;
	min-height: 100%;
	padding: 22px;
	border-color: rgba(72, 190, 255, .44);
	background:
		radial-gradient(circle at 95% 10%, rgba(69, 210, 255, .16), transparent 35%),
		linear-gradient(145deg, rgba(8, 98, 186, .33), rgba(6, 40, 80, .28));
	box-shadow: inset 0 1px rgba(255,255,255,.04);
}

.di-highlight-box > span {
	width: 38px;
	height: 38px;
	box-shadow: 0 8px 22px rgba(8, 125, 232, .36);
}

.di-highlight-box strong {
	display: block;
	margin-bottom: 7px;
	color: #fff;
	font-size: 13px;
}

.di-highlight-box p { color: #c7e3f6; }

.di-career-primary-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin: 30px 0 0;
	padding-bottom: 36px;
	border-bottom: 1px solid rgba(67, 158, 224, .2);
}

.di-career-primary-actions .di-button { min-width: 0; }

.di-button--document {
	border-color: rgba(86, 197, 255, .52);
	background: rgba(6, 39, 75, .72);
	color: #e9f8ff;
	box-shadow: inset 0 1px rgba(255,255,255,.04);
}

.di-button--document:hover,
.di-button--document:focus-visible {
	border-color: #64d5ff;
	background: rgba(9, 67, 119, .82);
	box-shadow: 0 14px 34px rgba(0, 104, 208, .2);
}

.di-button--document svg,
.di-mobile-career-cta__pensum svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.di-button--document.is-unavailable {
	border-style: dashed;
	color: #91a9bd;
	box-shadow: none;
}

.di-decision-section {
	padding: clamp(36px, 5vw, 62px) 0;
	border-bottom: 1px solid rgba(67, 158, 224, .2);
}

.di-content-heading {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 17px;
	align-items: start;
	margin-bottom: 25px;
}

.di-content-heading__number {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(69, 190, 255, .52);
	border-radius: 14px;
	background: linear-gradient(145deg, rgba(16, 120, 219, .36), rgba(5, 39, 75, .34));
	color: #62d4ff;
	font-size: 12px;
	font-weight: 850;
	box-shadow: 0 10px 24px rgba(0, 85, 190, .15);
}

.di-content-heading > div > p:last-child,
.di-career-outcomes > div > p:not(.di-content-kicker) {
	margin: 9px 0 0;
	color: #91a7bb;
	font-size: 14px;
	line-height: 1.55;
}

.di-fit-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.di-fit-grid article {
	position: relative;
	min-height: 166px;
	padding: 22px 19px;
	border: 1px solid rgba(68, 166, 231, .3);
	border-radius: 17px;
	background: linear-gradient(150deg, rgba(8, 42, 80, .78), rgba(3, 22, 45, .78));
	overflow: hidden;
	transition: transform .25s, border-color .25s, background .25s;
}

.di-fit-grid article::after {
	content: "";
	position: absolute;
	right: -28px;
	top: -28px;
	width: 85px;
	height: 85px;
	border: 1px solid rgba(79, 198, 255, .13);
	border-radius: 50%;
}

.di-fit-grid article:hover {
	transform: translateY(-4px);
	border-color: rgba(75, 201, 255, .62);
	background: linear-gradient(150deg, rgba(10, 62, 113, .82), rgba(3, 25, 49, .82));
}

.di-fit-grid span {
	color: #37bdff;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .12em;
}

.di-fit-grid p {
	margin: 39px 0 0;
	color: #e1edf7;
	font-size: 14px;
	font-weight: 690;
	line-height: 1.48;
}

.di-decision-note {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 14px;
	padding: 14px 17px;
	border: 1px solid rgba(54, 207, 166, .25);
	border-radius: 13px;
	background: rgba(15, 103, 83, .12);
}

.di-decision-note > span {
	display: grid;
	place-items: center;
	width: 27px;
	height: 27px;
	flex: none;
	border-radius: 50%;
	background: rgba(42, 202, 155, .18);
	color: #5ee1ba;
	font-weight: 850;
}

.di-decision-note p {
	margin: 0;
	color: #9cc8ba;
	font-size: 12px;
	line-height: 1.5;
}

.di-decision-note strong { color: #d7f5eb; }

.di-learning-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.di-learning-grid article {
	display: flex;
	align-items: center;
	gap: 15px;
	min-height: 82px;
	padding: 14px 17px;
	border: 1px solid rgba(73, 163, 224, .26);
	border-radius: 15px;
	background: rgba(4, 24, 49, .65);
}

.di-learning-grid span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	flex: none;
	border-radius: 12px;
	background: linear-gradient(145deg, #138eea, #0862c6);
	color: #fff;
	font-size: 12px;
	font-weight: 850;
	box-shadow: 0 8px 18px rgba(0, 92, 205, .3);
}

.di-learning-grid p {
	margin: 0;
	color: #d6e4ef;
	font-size: 13px;
	font-weight: 680;
	line-height: 1.4;
}

.di-experience-path { position: relative; display: grid; gap: 0; }

.di-experience-path::before {
	content: "";
	position: absolute;
	left: 21px;
	top: 38px;
	bottom: 38px;
	width: 1px;
	background: linear-gradient(#37c4ff, rgba(55,196,255,.14));
}

.di-experience-path article {
	position: relative;
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 18px;
	align-items: start;
	padding: 12px 0 19px;
}

.di-experience-path article > span {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid #35bfff;
	border-radius: 50%;
	background: #082446;
	color: #7addff;
	font-size: 12px;
	font-weight: 850;
	box-shadow: 0 0 0 7px #06172f, 0 0 24px rgba(37, 179, 248, .16);
}

.di-experience-path small {
	color: #3bbfff;
	font-size: 9px;
	font-weight: 850;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.di-experience-path h4 { margin: 3px 0 6px; color: #f5fbff; font-size: 17px; }
.di-experience-path p { margin: 0; color: #91a7bb; font-size: 13px; line-height: 1.5; }

.di-career-outcomes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
	padding: clamp(36px, 5vw, 62px) 0 0;
}

.di-outcomes-panel,
.di-advantages-panel {
	padding: clamp(22px, 3vw, 30px);
	border: 1px solid rgba(66, 164, 231, .3);
	border-radius: 20px;
	background: linear-gradient(145deg, rgba(7, 36, 70, .78), rgba(3, 20, 42, .82));
}

.di-advantages-panel {
	background:
		radial-gradient(circle at 100% 0, rgba(43, 205, 255, .15), transparent 35%),
		linear-gradient(145deg, rgba(6, 54, 93, .78), rgba(3, 22, 45, .82));
}

.di-career-outcomes h3 { font-size: clamp(23px, 2vw, 30px); }

.di-career-outcomes ul {
	display: grid;
	gap: 10px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.di-career-outcomes li {
	position: relative;
	min-height: 47px;
	padding: 13px 13px 13px 42px;
	border: 1px solid rgba(66, 163, 226, .2);
	border-radius: 12px;
	background: rgba(2, 17, 36, .46);
	color: #c8d8e5;
	font-size: 12px;
	line-height: 1.45;
}

.di-career-outcomes li::before {
	content: "✓";
	position: absolute;
	left: 14px;
	top: 12px;
	display: grid;
	place-items: center;
	width: 21px;
	height: 21px;
	border-radius: 7px;
	background: rgba(31, 174, 238, .14);
	color: #50d0ff;
	font-size: 10px;
	font-weight: 850;
}

.di-advantages-panel li::before {
	background: rgba(47, 212, 157, .13);
	color: #62e2b9;
}

.di-minsal-callout {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 17px;
	margin-top: 15px;
	padding: 22px;
	border: 1px solid rgba(52, 178, 247, .31);
	border-left: 3px solid #24a9fa;
	border-radius: 0 16px 16px 0;
	background:
		radial-gradient(circle at 92% 20%, rgba(42, 173, 246, .12), transparent 30%),
		rgba(3, 19, 40, .72);
}

.di-minsal-callout__seal {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	flex: none;
	border: 1px solid rgba(83, 201, 255, .48);
	border-radius: 50%;
	background: rgba(10, 87, 154, .32);
	color: #5ed5ff;
	box-shadow: 0 0 24px rgba(31, 163, 237, .14);
}

.di-minsal-callout strong { display: block; margin-bottom: 5px; }

.di-career-faq { padding: clamp(42px, 5vw, 66px) 0 4px; }
.di-career-faq h3 { margin-bottom: 24px; }

.di-career-faq details {
	border-top: 1px solid rgba(73, 163, 224, .24);
	color: #d9e8f4;
}

.di-career-faq details:last-child { border-bottom: 1px solid rgba(73, 163, 224, .24); }

.di-career-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 19px 2px;
	font-size: 14px;
	font-weight: 720;
	cursor: pointer;
	list-style: none;
}

.di-career-faq summary::-webkit-details-marker { display: none; }

.di-career-faq summary span {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	flex: none;
	border: 1px solid rgba(73, 183, 246, .37);
	border-radius: 50%;
	color: #5dcbff;
	transition: transform .25s, background .25s;
}

.di-career-faq details[open] summary span { transform: rotate(45deg); background: rgba(24, 139, 222, .18); }

.di-career-faq details > p {
	margin: -5px 48px 20px 2px;
	color: #92a9be;
	font-size: 13px;
	line-height: 1.65;
}

.di-prereg-card {
	top: var(--di-prereg-sticky-top, 138px);
	padding: 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 5%, rgba(51, 196, 255, .13), transparent 26%),
		linear-gradient(155deg, rgba(7, 31, 61, .98), rgba(3, 15, 32, .98));
}

.di-prereg-card__selected {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 17px 23px;
	border-bottom: 1px solid rgba(65, 170, 239, .22);
	background: rgba(7, 61, 107, .22);
}

.di-prereg-card__selected > span {
	display: grid;
	place-items: center;
	width: 29px;
	height: 29px;
	flex: none;
	border-radius: 50%;
	background: rgba(42, 209, 155, .16);
	color: #68e6bc;
	font-size: 11px;
}

.di-prereg-card__selected p { margin: 0; color: #8eabc3; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.di-prereg-card__selected strong { display: block; margin-top: 4px; color: #eaf7ff; font-size: 14px; line-height: 1.35; letter-spacing: 0; text-transform: none; }

.di-prereg-card__head { margin: 0 24px; padding: 24px 0 20px; }
.di-prereg-card__head small { font-size: 11px; }
.di-prereg-card__head h3 { margin-block: 5px 7px; font-size: 30px; line-height: 1.08; }
.di-prereg-card__head p { color: #adc0d2; font-size: 14px; line-height: 1.55; }

.di-prereg-card__trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	margin: 0 24px 20px;
}

.di-prereg-card__trust span {
	position: relative;
	padding-top: 16px;
	color: #9ab3c7;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
}

.di-prereg-card__trust span::before {
	content: "✓";
	position: absolute;
	top: 0;
	left: 50%;
	color: #47d6ad;
	font-size: 10px;
	transform: translateX(-50%);
}

.di-prereg-card .di-form { gap: 17px; padding: 0 24px 25px; }
.di-prereg-card .di-form label { font-size: 15px; line-height: 1.35; }
.di-prereg-card .di-form-row label { display: flex; flex-direction: column; }
.di-prereg-card .di-form-row .di-field-label {
	display: block;
	min-height: 41px;
}
.di-prereg-card .di-form-row input { margin-top: auto; }
.di-prereg-card .di-form input:not([type="checkbox"]),
.di-prereg-card .di-form select {
	height: 52px;
	margin-top: 9px;
	padding-inline: 15px;
	font-size: 15px;
}
.di-prereg-card .di-field-help {
	margin: 5px 0 0;
	color: #9bb0c4;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
}
.di-prereg-card .di-field-help + input { margin-top: 8px; }
.di-prereg-card .di-check { align-items: flex-start; color: #c9d8e6; font-size: 13px; line-height: 1.5; }
.di-prereg-card .di-secure-note { color: #92aac0; font-size: 12px; line-height: 1.5; }
.di-prereg-card .di-button--block { min-height: 60px; font-size: 16px; }

.di-mobile-career-cta { display: none; }

@keyframes di-career-scroll {
	0% { transform: translateX(-100%); }
	50%, 100% { transform: translateX(100%); }
}

@media (max-width: 1180px) {
	.di-career-layout { grid-template-columns: 1fr; }
	.di-prereg-card { position: relative; top: auto; width: min(760px, 100%); margin: 0 auto; }
}

@media (max-width: 900px) {
	.di-career-story__hero { height: 500px; }
	.di-career-intro { grid-template-columns: 1fr; }
	.di-career-outcomes { grid-template-columns: 1fr; }
	.di-highlight-box { min-height: auto; }
}

@media (max-width: 782px) {
	body[data-di-view="career-detail"] { padding-bottom: 86px; }
	.di-career-detail { padding-bottom: 26px; }
	.di-career-detail__nav p { display: none; }
	.di-career-story__scroll { display: none; }
	.di-mobile-career-cta {
		position: fixed;
		z-index: 90;
		left: 10px;
		right: 10px;
		bottom: max(10px, env(safe-area-inset-bottom));
		display: grid;
		grid-template-columns: minmax(0, 1fr) 46px auto;
		align-items: center;
		gap: 8px;
		padding: 8px;
		border: 1px solid rgba(76, 194, 255, .44);
		border-radius: 17px;
		background: rgba(3, 18, 38, .94);
		backdrop-filter: blur(22px);
		box-shadow: 0 16px 55px rgba(0,0,0,.55), 0 0 28px rgba(28, 150, 235, .12);
	}
	.di-mobile-career-cta > div { min-width: 0; padding-left: 4px; }
	.di-mobile-career-cta small { display: block; color: #61cdfb; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
	.di-mobile-career-cta strong { display: block; overflow: hidden; margin-top: 2px; color: #eef8ff; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
	.di-mobile-career-cta__pensum {
		display: grid;
		place-items: center;
		width: 46px;
		height: 46px;
		border: 1px solid rgba(74, 190, 249, .42);
		border-radius: 12px;
		background: rgba(8, 60, 107, .5);
		color: #72d9ff;
	}
	.di-mobile-career-cta__pensum.is-unavailable { color: #728ca2; border-style: dashed; }
	.di-mobile-career-cta > button {
		height: 46px;
		padding: 0 15px;
		border: 1px solid #44bdf8;
		border-radius: 12px;
		background: linear-gradient(135deg, #0870dd, #1bacf5);
		color: #fff;
		font: inherit;
		font-size: 11px;
		font-weight: 800;
		white-space: nowrap;
	}
}

@media (max-width: 680px) {
	.di-career-story__hero { height: 440px; }
	.di-career-story__title { left: 22px; right: 22px; bottom: 26px; }
	.di-career-story__title h2 { font-size: clamp(35px, 10.5vw, 48px); }
	.di-career-story__eyebrow { display: none; }
	.di-career-story__meta span { min-height: 31px; padding: 6px 9px; font-size: 10px; }
	.di-career-story__meta span:last-child { display: none; }
	.di-career-story__body { padding: 25px 20px 30px; }
	.di-career-primary-actions { grid-template-columns: 1fr; }
	.di-fit-grid { grid-template-columns: 1fr; }
	.di-fit-grid article { min-height: 118px; }
	.di-fit-grid p { margin-top: 24px; }
	.di-learning-grid { grid-template-columns: 1fr; }
	.di-content-heading { grid-template-columns: 42px 1fr; gap: 13px; }
	.di-content-heading__number { width: 40px; height: 40px; border-radius: 12px; }
	.di-minsal-callout { align-items: flex-start; padding: 18px; }
	.di-minsal-callout__seal { width: 40px; height: 40px; }
	.di-prereg-card__head { margin-inline: 20px; }
	.di-prereg-card__trust { margin-inline: 20px; }
	.di-prereg-card .di-form { padding-inline: 20px; }
	.di-prereg-card .di-form-row .di-field-label { min-height: 0; }
}

@media (max-width: 430px) {
	.di-career-story__hero { height: 405px; }
	.di-career-story__title > p { font-size: 10px; }
	.di-career-faq summary { font-size: 13px; }
	.di-mobile-career-cta { grid-template-columns: minmax(0, 1fr) 43px auto; }
	.di-mobile-career-cta__pensum { width: 43px; height: 43px; }
	.di-mobile-career-cta > button { height: 43px; padding-inline: 11px; font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
	.di-career-story__scroll span::after { animation: none; }
	.di-fit-grid article:hover { transform: none; }
}

/* Orientación para la oferta vocacional */
.di-vocational {
	min-height: calc(100vh - 110px);
	padding-top: 24px;
	background:
		radial-gradient(circle at 74% 30%, rgba(34, 177, 238, .12), transparent 29%),
		radial-gradient(circle at 12% 85%, rgba(48, 93, 218, .13), transparent 34%),
		linear-gradient(145deg, #020b19 0%, #04152a 52%, #020b18 100%);
}

.di-vocational::after {
	content: "";
	position: absolute;
	right: -190px;
	top: 65px;
	width: 430px;
	height: 430px;
	border: 1px solid rgba(50, 175, 243, .12);
	border-radius: 50%;
	box-shadow: 0 0 80px rgba(25, 146, 226, .06), inset 0 0 90px rgba(20, 114, 199, .04);
	pointer-events: none;
}

.di-vocational .di-back { margin-bottom: 16px; }

.di-vocational__stage {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
	min-height: 610px;
	overflow: hidden;
	border: 1px solid rgba(67, 181, 244, .35);
	border-radius: 30px;
	background: rgba(4, 19, 39, .88);
	box-shadow: 0 35px 90px rgba(0, 4, 15, .52), inset 0 1px rgba(255, 255, 255, .05);
}

.di-vocational__stage::before {
	content: "";
	position: absolute;
	z-index: 3;
	left: calc(47% - 1px);
	top: 9%;
	bottom: 9%;
	width: 1px;
	background: linear-gradient(transparent, rgba(75, 190, 246, .35), transparent);
	pointer-events: none;
}

.di-vocational__visual {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 610px;
	display: flex;
	align-items: flex-end;
	padding: 38px;
}

.di-vocational__photo,
.di-vocational__shade {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.di-vocational__photo {
	background-image: var(--di-vocational-image);
	background-size: cover;
	background-position: 52% center;
	filter: saturate(.82) contrast(1.04);
	transform: scale(1.02);
}

.di-vocational__shade {
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(0, 14, 31, .08) 12%, rgba(0, 13, 29, .34) 55%, rgba(1, 12, 28, .94) 100%),
		linear-gradient(90deg, rgba(2, 12, 28, .05), rgba(2, 12, 28, .44));
}

.di-vocational__mark {
	position: absolute;
	left: 38px;
	top: 38px;
	display: grid;
	place-items: center;
	width: 82px;
	height: 82px;
	border: 1px solid rgba(101, 222, 255, .66);
	border-radius: 50%;
	background: rgba(2, 31, 59, .62);
	backdrop-filter: blur(12px);
	color: #70e0ff;
	box-shadow: 0 0 35px rgba(30, 177, 238, .19), inset 0 0 22px rgba(40, 183, 242, .12);
}

.di-vocational__mark svg {
	width: 45px;
	height: 45px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.45;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.di-vocational__visual > p {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: #e8f7ff;
	font-size: 13px;
	font-weight: 760;
	letter-spacing: .075em;
	text-transform: uppercase;
	text-shadow: 0 3px 15px #000;
}

.di-vocational__visual > p span {
	width: 34px;
	height: 1px;
	background: #59d6ff;
	box-shadow: 0 0 10px rgba(75, 207, 255, .6);
}

.di-vocational__content {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: clamp(42px, 5vw, 78px);
	background:
		radial-gradient(circle at 88% 6%, rgba(46, 190, 244, .12), transparent 27%),
		linear-gradient(145deg, rgba(6, 30, 59, .96), rgba(3, 15, 32, .99));
}

.di-vocational__status {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 24px 0 14px;
	padding: 8px 12px;
	border: 1px solid rgba(82, 203, 248, .28);
	border-radius: 999px;
	background: rgba(16, 104, 156, .15);
	color: #92ddf8;
	font-size: 11px;
	font-weight: 760;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.di-vocational__status i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #55d9ff;
	box-shadow: 0 0 13px rgba(71, 211, 255, .85);
}

.di-vocational__content h2 {
	max-width: 670px;
	margin: 0 0 20px;
	color: #f7fcff;
	font-size: clamp(42px, 4.4vw, 68px);
	line-height: .99;
	letter-spacing: -.052em;
	text-wrap: balance;
}

.di-vocational__content > p {
	max-width: 660px;
	margin: 0 0 17px;
	color: #9eb5c9;
	font-size: 15px;
	line-height: 1.7;
}

.di-vocational__content .di-vocational__lead {
	color: #dbeaf4;
	font-size: 18px;
	line-height: 1.55;
}

.di-vocational__contact {
	display: flex;
	align-items: center;
	gap: 17px;
	width: min(500px, 100%);
	margin: 16px 0 22px;
	padding: 17px 19px;
	border: 1px solid rgba(67, 189, 239, .29);
	border-radius: 18px;
	background: linear-gradient(110deg, rgba(8, 54, 91, .58), rgba(5, 32, 58, .38));
	box-shadow: inset 0 1px rgba(255, 255, 255, .035);
}

.di-vocational__whatsapp {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	flex: none;
	border-radius: 16px;
	background: linear-gradient(145deg, #19b87d, #0b8f67);
	color: #fff;
	box-shadow: 0 10px 28px rgba(10, 139, 96, .27), inset 0 1px rgba(255, 255, 255, .28);
}

.di-vocational__whatsapp svg {
	width: 31px;
	height: 31px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.di-vocational__contact div { min-width: 0; }
.di-vocational__contact small { display: block; color: #80cfee; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.di-vocational__contact strong { display: block; margin: 3px 0; color: #f3fbff; font-size: 25px; line-height: 1.1; letter-spacing: .035em; }
.di-vocational__contact div > span { display: block; color: #93aabd; font-size: 12px; line-height: 1.4; }

.di-vocational__cta { min-width: 265px; }
.di-vocational__cta > span:last-child { font-size: 18px; transition: transform .2s; }
.di-vocational__cta:hover > span:last-child { transform: translate(3px, -3px); }

.di-vocational__content .di-vocational__note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 18px 0 0;
	color: #7892a8;
	font-size: 12px;
}

.di-vocational__note span { color: #50cfff; }

/* Video configurable de cada carrera */
.di-career-video-button {
	position: absolute;
	z-index: 4;
	top: 22px;
	right: 22px;
	display: inline-flex;
	align-items: center;
	gap: 11px;
	min-height: 54px;
	padding: 7px 16px 7px 8px;
	border: 1px solid rgba(103, 211, 255, .58);
	border-radius: 15px;
	background: linear-gradient(135deg, rgba(4, 92, 171, .62), rgba(12, 151, 224, .44));
	backdrop-filter: blur(16px) saturate(1.2);
	color: #fff;
	font: inherit;
	text-align: left;
	box-shadow: 0 14px 36px rgba(0, 16, 42, .34), inset 0 1px rgba(255, 255, 255, .16), 0 0 26px rgba(26, 170, 237, .09);
	cursor: pointer;
	transition: transform .25s, border-color .25s, background .25s, box-shadow .25s;
}

.di-career-video-button:hover,
.di-career-video-button:focus-visible {
	transform: translateY(-2px);
	border-color: #82e3ff;
	background: linear-gradient(135deg, rgba(4, 111, 205, .78), rgba(16, 176, 239, .58));
	box-shadow: 0 18px 42px rgba(0, 16, 42, .42), 0 0 30px rgba(34, 180, 244, .17);
}

.di-career-video-button:focus-visible { outline: 2px solid #a7ecff; outline-offset: 3px; }

.di-career-video-button__icon {
	display: grid;
	place-items: center;
	width: 39px;
	height: 39px;
	flex: none;
	border: 1px solid rgba(210, 244, 255, .62);
	border-radius: 50%;
	background: rgba(4, 24, 49, .5);
	box-shadow: inset 0 0 14px rgba(74, 207, 255, .14);
}

.di-career-video-button__icon svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.di-career-video-button > span:last-child { min-width: 0; }
.di-career-video-button small,.di-career-video-button strong { display: block; white-space: nowrap; }
.di-career-video-button small { margin-bottom: 2px; color: #bcecff; font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.di-career-video-button strong { color: #fff; font-size: 13px; line-height: 1.2; }

.di-video-overlay {
	position: fixed;
	z-index: 1250;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(0, 7, 18, .82);
	backdrop-filter: blur(18px);
	opacity: 0;
	transition: opacity .24s ease;
}

.di-video-overlay.is-visible { opacity: 1; }

.di-video-dialog {
	width: min(1050px, 100%);
	overflow: hidden;
	border: 1px solid rgba(77, 194, 251, .48);
	border-radius: 24px;
	background:
		radial-gradient(circle at 90% 0%, rgba(46, 190, 246, .14), transparent 28%),
		linear-gradient(145deg, #071d38, #020e1e);
	box-shadow: 0 35px 110px rgba(0, 0, 0, .72), 0 0 48px rgba(24, 142, 226, .12), inset 0 1px rgba(255, 255, 255, .05);
	transform: translateY(18px) scale(.975);
	transition: transform .28s cubic-bezier(.2, .8, .2, 1);
}

.di-video-overlay.is-visible .di-video-dialog { transform: translateY(0) scale(1); }

.di-video-dialog > header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 23px;
	border-bottom: 1px solid rgba(67, 174, 234, .24);
}

.di-video-dialog__eyebrow { display: block; margin-bottom: 4px; color: #6dd8ff; font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.di-video-dialog h2 { margin: 0; color: #f2f9ff; font-size: clamp(20px, 2.2vw, 29px); line-height: 1.1; letter-spacing: -.025em; }
.di-video-dialog__close { display: grid; place-items: center; width: 43px; height: 43px; flex: none; border: 1px solid rgba(92, 193, 246, .42); border-radius: 50%; background: rgba(6, 51, 91, .54); color: #cceeff; cursor: pointer; transition: transform .2s, background .2s; }
.di-video-dialog__close:hover,.di-video-dialog__close:focus-visible { background: #0d79cc; transform: rotate(6deg); }
.di-video-dialog__close:focus-visible { outline: 2px solid #72ddff; outline-offset: 3px; }
.di-video-dialog__close span { font-size: 28px; font-weight: 300; line-height: 1; transform: translateY(-1px); }

.di-video-player {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
}

.di-video-player iframe,
.di-video-player video { display: block; width: 100%; height: 100%; border: 0; background: #000; object-fit: contain; }
.di-video-dialog > footer { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 20px 16px; color: #7e99b1; font-size: 11px; text-align: center; }
.di-video-dialog > footer span { color: #3ac8ff; }

@media (max-width: 960px) {
	.di-vocational__stage { grid-template-columns: 1fr; }
	.di-vocational__stage::before { display: none; }
	.di-vocational__visual { min-height: 330px; }
	.di-vocational__content { padding: clamp(38px, 8vw, 66px); }
}

@media (max-width: 680px) {
	.di-vocational { padding-top: 14px; }
	.di-vocational .di-shell { width: min(100% - 28px, 1460px); }
	.di-vocational__stage { border-radius: 22px; }
	.di-vocational__visual { min-height: 270px; padding: 25px; }
	.di-vocational__mark { left: 25px; top: 25px; width: 66px; height: 66px; }
	.di-vocational__mark svg { width: 36px; height: 36px; }
	.di-vocational__visual > p { font-size: 10px; }
	.di-vocational__content { padding: 34px 25px 38px; }
	.di-vocational__status { margin-top: 20px; }
	.di-vocational__content h2 { font-size: clamp(38px, 12vw, 52px); }
	.di-vocational__content .di-vocational__lead { font-size: 16px; }
	.di-vocational__contact { align-items: flex-start; padding: 15px; }
	.di-vocational__contact div > span { font-size: 11px; }
	.di-vocational__cta { width: 100%; min-width: 0; padding-inline: 18px; }
	.di-career-video-button { top: 17px; right: 17px; min-height: 46px; padding: 6px 12px 6px 6px; border-radius: 13px; }
	.di-career-video-button__icon { width: 34px; height: 34px; }
	.di-career-video-button small { display: none; }
	.di-career-video-button strong { font-size: 11px; }
	.di-video-overlay { align-items: center; padding: 12px; }
	.di-video-dialog { border-radius: 18px; }
	.di-video-dialog > header { padding: 15px 16px; }
	.di-video-dialog__close { width: 38px; height: 38px; }
	.di-video-dialog > footer { padding: 11px 15px 13px; font-size: 10px; }
}

@media (max-height: 680px) and (orientation: landscape) {
	.di-video-overlay { padding: 10px; }
	.di-video-dialog { width: min(850px, 100%); }
	.di-video-dialog > header { padding-block: 11px; }
	.di-video-dialog > footer { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.di-career-video-button,.di-video-overlay,.di-video-dialog { transition: none; }
}

/* Keep decorative edges and short landscape video dialogs inside their viewport. */
.di-home-flourish { max-width: 100%; padding-inline: 6px; }
.di-vocational { overflow: hidden; }
.di-video-dialog { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; }
@media (max-height: 680px) and (orientation: landscape) {
	.di-video-dialog { width: min(850px, 100%, calc((100vh - 110px) * 1.777778)); width: min(850px, 100%, calc((100dvh - 110px) * 1.777778)); }
}
