body.cm-modern-certifications {
	background: #fff;
	color: #476d96;
	font-family: "Inter", "Segoe UI", sans-serif;
}

.cm-certifications-page { overflow: hidden; background: #fff; }
.cm-certifications-page h1,
.cm-certifications-page h2,
.cm-certifications-page h3,
.cm-certifications-page strong { color: #103d78; }

.cm-cr-hero {
	position: relative;
	padding: 174px 0 122px;
	background: radial-gradient(circle at 76% 5%, rgba(77, 174, 234, .25), transparent 30%), radial-gradient(circle at 4% 85%, rgba(244, 126, 38, .12), transparent 26%), linear-gradient(122deg, #f2f9ff 0%, #fff 55%, #e9f5fd 100%);
}

.cm-cr-hero::after {
	position: absolute;
	right: -9vw;
	bottom: -14vw;
	width: min(36vw, 555px);
	aspect-ratio: 1;
	border: 1px solid rgba(17, 109, 177, .12);
	border-radius: 50%;
	box-shadow: inset 0 0 0 40px rgba(128, 200, 242, .045);
	content: "";
}

.cm-cr-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, .94fr) minmax(440px, 1.06fr);
	align-items: center;
	gap: clamp(48px, 7vw, 104px);
}

.cm-cr-hero-copy { max-width: 592px; }

.cm-cr-hero h1 {
	margin: 0 0 23px;
	font-size: clamp(3.05rem, 5.2vw, 5.18rem);
	letter-spacing: -.064em;
	line-height: .97;
}

.cm-cr-hero h1 em { color: #eb7624; font-style: normal; }

.cm-cr-hero-copy > p:not(.cm-eyebrow) {
	max-width: 538px;
	margin: 0;
	font-size: 1.03rem;
	line-height: 1.76;
}

.cm-cr-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 32px; }

.cm-cr-text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #0d5c9c;
	font-size: .84rem;
	font-weight: 790;
	text-decoration: none;
}

.cm-cr-text-link .cm-icon { width: 17px; height: 17px; transition: transform .22s ease; }
.cm-cr-text-link:hover .cm-icon { transform: translateX(4px); }

.cm-cr-hero-assurance { display: flex; align-items: center; gap: 11px; margin-top: 43px; color: #315d90; }
.cm-cr-hero-assurance > .cm-icon { width: 40px; height: 40px; padding: 10px; border-radius: 12px; background: #fff; box-shadow: 0 12px 28px rgba(16, 61, 120, .09); color: #ed7623; }
.cm-cr-hero-assurance span { display: grid; gap: 3px; }
.cm-cr-hero-assurance strong { font-size: .79rem; }
.cm-cr-hero-assurance small { color: #6d8ba8; font-size: .71rem; font-weight: 600; }

.cm-cr-hero-visual { position: relative; min-height: 474px; isolation: isolate; }
.cm-cr-hero-visual::before { position: absolute; z-index: -1; inset: 25px -18px -17px 22px; border-radius: 31px; background: #e97726; content: ""; }

.cm-cr-hero-visual .cm-visual-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: 31px;
	box-shadow: 0 28px 72px rgba(8, 53, 104, .19);
	opacity: 0;
	object-fit: cover;
	object-position: center;
	transform: scale(1.025);
	transition: opacity 900ms ease, transform 1200ms ease;
}

.cm-cr-hero-visual .cm-visual-slide.is-active { opacity: 1; transform: scale(1); }
.cm-cr-hero-visual .cm-visual-slide:nth-child(2) { object-position: 61% center; }

.cm-cr-hero-card { position: absolute; z-index: 2; bottom: 24px; left: -22px; width: min(286px, calc(100% - 36px)); padding: 18px 20px; border-radius: 15px; }

.cm-cr-proof { position: relative; z-index: 2; margin-top: -1px; padding: 0 0 103px; background: linear-gradient(#f8fbff, #fff 44%); }
.cm-cr-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid #d9e9f5; border-radius: 20px; background: rgba(255, 255, 255, .96); box-shadow: 0 15px 40px rgba(17, 62, 119, .07); }
.cm-cr-proof-grid > div { display: flex; align-items: flex-start; gap: 15px; padding: 29px 32px; }
.cm-cr-proof-grid > div + div { border-left: 1px solid #dceaf4; }
.cm-cr-proof-grid > div > span { display: grid; width: 43px; height: 43px; flex: 0 0 43px; place-items: center; border-radius: 13px; background: #e8f4fb; color: #0b6eaf; }
.cm-cr-proof-grid .cm-icon { width: 21px; height: 21px; }
.cm-cr-proof-grid p { display: grid; gap: 5px; margin: 0; }
.cm-cr-proof-grid strong { font-size: .86rem; line-height: 1.3; }
.cm-cr-proof-grid small { color: #6685a4; font-size: .73rem; font-weight: 560; line-height: 1.55; }

.cm-cr-certifications { padding: 10px 0 117px; }
.cm-cr-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 52px; margin-bottom: 42px; }
.cm-cr-section-heading > div { max-width: 610px; }
.cm-cr-section-heading h2,
.cm-cr-practice h2,
.cm-cr-cta h2 { margin: 0; font-size: clamp(2.3rem, 3.85vw, 3.78rem); letter-spacing: -.052em; line-height: 1.05; }
.cm-cr-section-heading > p { max-width: 375px; margin: 0 0 5px; color: #5a7b9d; font-size: .93rem; line-height: 1.75; }

.cm-cr-certification-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cm-cr-certification-card { display: grid; grid-template-columns: minmax(175px, .8fr) minmax(0, 1.2fr); min-height: 292px; overflow: hidden; border: 1px solid #d9e8f3; border-radius: 21px; background: #fff; box-shadow: 0 13px 32px rgba(17, 62, 119, .055); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.cm-cr-certification-card:hover { border-color: #b8d7e9; box-shadow: 0 21px 43px rgba(17, 62, 119, .12); transform: translateY(-5px); }

.cm-cr-document-preview { display: grid; min-height: 100%; place-items: center; padding: 19px; background: linear-gradient(145deg, #eaf5fc, #f8fbfe); }
.cm-cr-document-preview img { display: block; width: 100%; max-height: 217px; border: 1px solid rgba(20, 64, 116, .11); background: #fff; box-shadow: 0 12px 24px rgba(18, 62, 110, .14); object-fit: contain; }
.cm-cr-certification-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 28px 30px 25px; }
.cm-cr-certification-mark { display: flex; align-items: center; gap: 8px; color: #0c6fac; }
.cm-cr-certification-mark span { display: grid; width: 33px; height: 33px; place-items: center; border-radius: 10px; background: #e8f4fb; }
.cm-cr-certification-mark .cm-icon { width: 17px; height: 17px; }
.cm-cr-certification-mark small { color: #1476b5; font-size: .66rem; font-weight: 840; letter-spacing: .12em; }
.cm-cr-certification-copy h3 { margin: 18px 0 9px; font-size: 1.29rem; letter-spacing: -.035em; line-height: 1.13; }
.cm-cr-certification-copy > p { margin: 0; color: #6381a1; font-size: .79rem; line-height: 1.65; }
.cm-cr-document-link { display: inline-flex; min-height: 38px; align-items: center; align-self: flex-start; gap: 8px; margin-top: auto; padding: 0 12px; border: 1px solid transparent !important; border-radius: 9px !important; appearance: none !important; background: #edf7fd !important; box-shadow: none !important; color: #075f9f !important; cursor: pointer; font: 800 .74rem/1 "Inter", "Segoe UI", sans-serif !important; outline: 0 !important; text-align: left; text-decoration: none; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease; }
.cm-cr-document-link .cm-icon { width: 16px; height: 16px; transition: transform .2s ease; }
.cm-cr-document-link:hover { background: #0a6eaf !important; color: #fff !important; transform: translateY(-1px); }
.cm-cr-document-link:hover .cm-icon { transform: translateX(3px); }
.cm-cr-document-link:active { background: #07598f !important; box-shadow: inset 0 2px 0 rgba(0, 0, 0, .1) !important; transform: translateY(0) scale(.98); }
.cm-cr-document-link:focus,
.cm-cr-document-link:focus-visible { border-color: #7bbfe4 !important; background: #e5f4fc !important; box-shadow: 0 0 0 3px rgba(10, 110, 175, .16) !important; color: #075f9f !important; outline: 0 !important; }

html.cm-cr-lightbox-open,
body.cm-cr-lightbox-open { overflow: hidden; }

.cm-cr-lightbox[hidden] { display: none; }
.cm-cr-lightbox { position: fixed; z-index: 100000; inset: 0; display: grid; box-sizing: border-box; place-items: center; padding: 28px 72px; background: rgba(3, 11, 22, .92); opacity: 0; transition: opacity 180ms ease; }
.cm-cr-lightbox.is-open { opacity: 1; }
.cm-cr-lightbox-dialog { width: min(100%, 1100px); min-width: 0; max-height: calc(100vh - 56px); outline: 0; }
.cm-cr-lightbox-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 44px; color: #fff; }
.cm-cr-lightbox-count { font-size: .84rem; font-weight: 750; letter-spacing: .04em; }
.cm-cr-lightbox-close { display: grid; width: 42px; min-width: 42px; height: 42px; min-height: 42px; margin: 0; padding: 0 !important; place-items: center; border: 1px solid rgba(255, 255, 255, .48) !important; border-radius: 50% !important; appearance: none !important; background: rgba(10, 47, 92, .72) !important; box-shadow: none !important; color: #fff !important; cursor: pointer; font: 300 2rem/1 Arial, sans-serif !important; outline: 0 !important; transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.cm-cr-lightbox-close:hover { border-color: #eb7624 !important; background: #eb7624 !important; box-shadow: 0 8px 18px rgba(235, 118, 36, .28) !important; transform: scale(1.04); }
.cm-cr-lightbox-close:active { background: #cb6015 !important; transform: scale(.96); }
.cm-cr-lightbox-stage { display: grid; width: 100%; min-width: 0; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 18px; }
.cm-cr-lightbox-stage figure { display: grid; width: 100%; min-width: 0; gap: 13px; margin: 0; text-align: center; }
.cm-cr-lightbox-stage img { display: block; width: auto !important; max-width: 100% !important; max-height: min(76vh, 770px); margin: 0 auto; border: 1px solid rgba(255, 255, 255, .45); background: #fff; box-shadow: 0 24px 70px rgba(0, 0, 0, .5); object-fit: contain; }
.cm-cr-lightbox-stage figcaption { min-height: 18px; color: rgba(255, 255, 255, .84); font-size: .78rem; font-weight: 650; }
.cm-cr-lightbox-nav { display: grid; width: 48px; min-width: 48px; height: 48px; min-height: 48px; margin: 0; padding: 0 !important; place-items: center; border: 1px solid rgba(255, 255, 255, .36) !important; border-radius: 50% !important; appearance: none !important; background: rgba(255, 255, 255, .08) !important; box-shadow: none !important; color: #fff !important; cursor: pointer; outline: 0 !important; transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.cm-cr-lightbox-nav:hover { border-color: #eb7624 !important; background: #eb7624 !important; box-shadow: 0 8px 18px rgba(235, 118, 36, .26) !important; transform: scale(1.06); }
.cm-cr-lightbox-nav .cm-icon { width: 22px; height: 22px; }
.cm-cr-lightbox-nav--previous .cm-icon { transform: rotate(180deg); }
.cm-cr-lightbox-nav:focus,
.cm-cr-lightbox-close:focus { outline: 0 !important; }
.cm-cr-lightbox-nav:focus-visible,
.cm-cr-lightbox-close:focus-visible { border-color: #a8ddfa !important; box-shadow: 0 0 0 3px rgba(168, 221, 250, .22) !important; outline: 0 !important; }

.cm-cr-practice { position: relative; padding: 110px 0; overflow: hidden; background: #0a356a; color: #c9e0f2; }
.cm-cr-practice::before { position: absolute; top: -240px; right: -120px; width: 560px; height: 560px; border: 1px solid rgba(184, 224, 246, .2); border-radius: 50%; box-shadow: inset 0 0 0 46px rgba(118, 192, 232, .035); content: ""; }
.cm-cr-practice::after { position: absolute; bottom: -190px; left: -150px; width: 400px; height: 400px; border: 1px solid rgba(184, 224, 246, .16); border-radius: 50%; content: ""; }
.cm-cr-practice-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .94fr 1.06fr; align-items: center; gap: clamp(54px, 8vw, 118px); }
.cm-cr-practice-copy { max-width: 555px; }
.cm-cr-practice .cm-eyebrow { color: #a9ddfa !important; }
body.cm-modern-certifications .cm-cr-practice h2 { color: #fff !important; }
.cm-cr-practice-copy > p:not(.cm-eyebrow) { max-width: 500px; margin: 22px 0 27px; color: #edf8ff !important; font-size: .94rem; line-height: 1.76; }
.cm-cr-practice .cm-cr-text-link { color: #fff !important; }
.cm-cr-practice-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.cm-cr-practice-cards article { min-height: 190px; padding: 24px 20px; border: 1px solid rgba(174, 218, 244, .42); border-radius: 17px; background: rgba(255, 255, 255, .09); }
.cm-cr-practice-cards article > span { display: grid; width: 37px; height: 37px; margin-bottom: 20px; place-items: center; border-radius: 11px; background: rgba(116, 204, 248, .2); color: #c5edff; }
.cm-cr-practice-cards .cm-icon { width: 19px; height: 19px; }
body.cm-modern-certifications .cm-cr-practice-cards h3 { margin: 0 0 10px; color: #fff !important; font-size: .95rem; letter-spacing: -.025em; line-height: 1.25; }
.cm-cr-practice-cards p { margin: 0; color: #e6f5ff !important; font-size: .72rem; line-height: 1.58; }

/* The orientation call-to-action intentionally reuses the exact visual system from Nosotros. */
body.cm-modern-certifications .cm-ab-cta { padding: 105px 0; background: #f4f9fd; }
body.cm-modern-certifications .cm-ab-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 55px; }
body.cm-modern-certifications .cm-ab-cta h2 { margin: 0; color: #103d78; font-size: clamp(2.25rem, 3.75vw, 3.7rem); letter-spacing: -.048em; line-height: 1.06; }
body.cm-modern-certifications .cm-ab-cta-inner > div:last-child { max-width: 345px; }
body.cm-modern-certifications .cm-ab-cta-inner > div:last-child > p { margin: 0 0 21px; color: #476d96; font-size: .92rem; line-height: 1.7; }

@media (max-width: 1080px) {
	.cm-cr-hero-grid { gap: 53px; }
	.cm-cr-certification-card { grid-template-columns: 160px minmax(0, 1fr); }
	.cm-cr-certification-copy { padding: 25px 24px 22px; }
	.cm-cr-practice-grid { gap: 52px; }
	.cm-cr-practice-cards { grid-template-columns: 1fr; }
	.cm-cr-practice-cards article { min-height: 0; }
}

@media (max-width: 820px) {
	.cm-cr-hero { padding-top: 145px; }
	.cm-cr-hero-grid,
	.cm-cr-practice-grid { grid-template-columns: 1fr; }
	.cm-cr-hero-grid { gap: 53px; }
	.cm-cr-hero-copy { max-width: 640px; }
	.cm-cr-hero-visual { min-height: 420px; max-width: 650px; width: calc(100% - 18px); margin-left: 9px; }
	.cm-cr-proof { padding-bottom: 84px; }
	.cm-cr-proof-grid { grid-template-columns: 1fr; }
	.cm-cr-proof-grid > div + div { border-top: 1px solid #dceaf4; border-left: 0; }
	.cm-cr-section-heading { display: block; margin-bottom: 34px; }
	.cm-cr-section-heading > p { max-width: 580px; margin-top: 18px; }
	.cm-cr-certification-grid { grid-template-columns: 1fr; }
	.cm-cr-practice { padding: 85px 0; }
	.cm-cr-practice-copy { max-width: 610px; }
	.cm-cr-practice-cards { grid-template-columns: repeat(3, 1fr); }
	body.cm-modern-certifications .cm-ab-cta-inner { align-items: flex-start; flex-direction: column; gap: 27px; }
}

@media (max-width: 640px) {
	.cm-cr-hero { padding: 130px 0 74px; }
	.cm-cr-hero h1 { font-size: clamp(2.7rem, 13vw, 3.55rem); }
	.cm-cr-hero-copy > p:not(.cm-eyebrow) { font-size: .95rem; }
	.cm-cr-hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
	.cm-cr-hero-assurance { margin-top: 33px; }
	.cm-cr-hero-visual { min-height: 300px; width: calc(100% - 8px); margin-left: 4px; }
	.cm-cr-hero-visual::before { inset: 14px -8px -10px 12px; border-radius: 23px; }
	.cm-cr-hero-visual .cm-visual-slide { border-radius: 23px; }
	.cm-cr-hero-card { bottom: -24px; left: -4px; width: min(284px, calc(100% - 10px)); padding: 16px 17px; }
	.cm-cr-proof { padding-top: 48px; padding-bottom: 73px; }
	.cm-cr-proof-grid > div { padding: 22px 23px; }
	.cm-cr-certifications { padding-bottom: 79px; }
	.cm-cr-section-heading h2,
	.cm-cr-practice h2,
	body.cm-modern-certifications .cm-ab-cta h2 { font-size: clamp(2.18rem, 10vw, 2.9rem); }
	.cm-cr-certification-grid { gap: 13px; }
	.cm-cr-certification-card { grid-template-columns: 1fr; }
	.cm-cr-document-preview { min-height: 210px; padding: 19px 34px; }
	.cm-cr-document-preview img { max-width: 260px; max-height: 180px; }
	.cm-cr-certification-copy { min-height: 235px; padding: 24px; }
	.cm-cr-practice { padding: 75px 0; }
	.cm-cr-practice-cards { grid-template-columns: 1fr; gap: 10px; }
	.cm-cr-practice-cards article { padding: 22px; }
	.cm-cr-practice-cards article > span { margin-bottom: 14px; }
	body.cm-modern-certifications .cm-ab-cta { padding: 79px 0; }
	.cm-cr-lightbox { padding: 14px; }
	.cm-cr-lightbox-dialog { max-height: calc(100vh - 28px); }
	.cm-cr-lightbox-stage { grid-template-columns: 38px minmax(0, 1fr) 38px; gap: 8px; }
	.cm-cr-lightbox-nav { width: 36px; height: 36px; }
	.cm-cr-lightbox-nav .cm-icon { width: 18px; height: 18px; }
	.cm-cr-lightbox-stage img { max-height: 69vh; }
}

@media (prefers-reduced-motion: reduce) {
	.cm-cr-hero-visual .cm-visual-slide,
	.cm-cr-certification-card,
	.cm-cr-text-link .cm-icon,
	.cm-cr-document-link .cm-icon { transition: none !important; }
}
