:root {
	--cda-navy-950: #07182e;
	--cda-navy-900: #0a203c;
	--cda-navy-800: #113869;
	--cda-turquoise-500: #05c0c0;
	--cda-turquoise-300: #35d7d2;
	--cda-surface: #f4f8fb;
	--cda-surface-2: #eaf2f7;
	--cda-text: #17243a;
	--cda-muted: #627185;
	--cda-white: #ffffff;
	--cda-border: #dce7ef;
	--cda-shadow: 0 24px 65px rgba(7, 24, 46, 0.11);
	--cda-shell: 1240px;
}

.cda-section,
.cda-section *,
.cda-section *::before,
.cda-section *::after {
	box-sizing: border-box;
}

.cda-section {
	position: relative;
	width: 100%;
	overflow: hidden;
	color: var(--cda-text);
	font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.cda-shell {
	width: min(calc(100% - 40px), var(--cda-shell));
	margin-inline: auto;
}

.cda-section h1,
.cda-section h2,
.cda-section h3,
.cda-section p {
	margin-top: 0;
}

.cda-section h1,
.cda-section h2,
.cda-section h3 {
	color: inherit;
	font-family: Manrope, Inter, "Segoe UI", sans-serif;
	letter-spacing: -0.035em;
}

.cda-section h2 {
	max-width: 900px;
	margin-bottom: 24px;
	font-size: clamp(2.1em, 4vw, 4em);
	line-height: 1.07;
}

.cda-section p {
	color: var(--cda-muted);
	font-size: 1em;
	line-height: 1.75;
}

.cda-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	color: var(--cda-navy-800);
	font-size: 0.78em;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.cda-eyebrow::before {
	width: 27px;
	height: 2px;
	border-radius: 99px;
	background: var(--cda-turquoise-500);
	content: "";
}

.cda-eyebrow--light {
	color: rgba(255, 255, 255, 0.76);
}

.cda-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
	gap: 70px;
	align-items: end;
	margin-bottom: 50px;
}

.cda-heading > p {
	max-width: 560px;
	margin-bottom: 5px;
}

.cda-heading--center {
	display: block;
	max-width: 850px;
	margin-inline: auto;
	text-align: center;
}

.cda-heading--center h2,
.cda-heading--center p {
	margin-inline: auto;
}

.cda-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.cda-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 22px;
	border: 1px solid transparent;
	border-radius: 13px;
	font-size: 0.94em;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.cda-button:hover,
.cda-button:focus {
	transform: translateY(-2px);
	text-decoration: none;
}

.cda-button:focus-visible {
	outline: 3px solid rgba(5, 192, 192, 0.35);
	outline-offset: 3px;
}

.cda-button--primary {
	color: var(--cda-navy-950);
	background: var(--cda-turquoise-500);
	box-shadow: 0 18px 40px rgba(5, 192, 192, 0.2);
}

.cda-button--primary:hover,
.cda-button--primary:focus {
	color: var(--cda-navy-950);
	background: var(--cda-turquoise-300);
}

.cda-button--outline {
	color: var(--cda-white);
	border-color: rgba(255, 255, 255, 0.3);
	background: rgba(255, 255, 255, 0.05);
}

.cda-button--dark {
	color: var(--cda-white);
	background: var(--cda-navy-950);
}

.cda-button--outline-dark {
	color: var(--cda-navy-950);
	border-color: rgba(7, 24, 46, 0.24);
	background: rgba(255, 255, 255, 0.2);
}

/* Hero */
.cda-hero {
	padding: clamp(88px, 9vw, 145px) 0 0;
	color: var(--cda-white);
	background:
		radial-gradient(circle at 82% 20%, rgba(5, 192, 192, 0.15), transparent 30%),
		linear-gradient(135deg, #061428 0%, #0a2445 52%, #0d315b 100%);
}

.cda-hero__shape {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.cda-hero__shape--one {
	top: -210px;
	right: -120px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(53, 215, 210, 0.13);
	box-shadow:
		0 0 0 70px rgba(53, 215, 210, 0.03),
		0 0 0 140px rgba(53, 215, 210, 0.02);
}

.cda-hero__shape--two {
	bottom: 30px;
	left: -100px;
	width: 300px;
	height: 300px;
	background: rgba(5, 192, 192, 0.08);
	filter: blur(85px);
}

.cda-hero__grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
	gap: clamp(50px, 7vw, 105px);
	align-items: center;
}

.cda-hero__content {
	padding-bottom: 75px;
}

.cda-hero h1 {
	max-width: 780px;
	margin-bottom: 27px;
	color: var(--cda-white);
	font-size: clamp(3em, 5.4vw, 5.6em);
	line-height: 1;
}

.cda-hero__content > p {
	max-width: 680px;
	margin-bottom: 33px;
	color: rgba(255, 255, 255, 0.72);
	font-size: clamp(1.04em, 1.4vw, 1.2em);
}

.cda-hero__visual {
	padding-bottom: 75px;
}

.cda-ecosystem {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 26px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 38px 100px rgba(0, 0, 0, 0.27);
	color: var(--cda-text);
}

.cda-ecosystem__header {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
	padding: 20px 22px;
	border-bottom: 1px solid var(--cda-border);
}

.cda-ecosystem__header > div {
	display: grid;
	gap: 3px;
}

.cda-ecosystem__header span {
	color: var(--cda-muted);
	font-size: 0.68em;
	font-weight: 900;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.cda-ecosystem__header strong {
	font-size: 1.02em;
}

.cda-ecosystem__header > i {
	display: grid;
	width: 43px;
	height: 43px;
	place-items: center;
	border-radius: 13px;
	color: var(--cda-navy-800);
	background: rgba(5, 192, 192, 0.14);
}

.cda-ecosystem__header svg {
	width: 24px;
	height: 24px;
}

.cda-ecosystem__core {
	display: grid;
	padding: 24px;
	place-items: center;
	background:
		radial-gradient(circle at center, rgba(5, 192, 192, 0.17), transparent 58%),
		linear-gradient(135deg, #f5fbfd, #edf5f9);
}

.cda-ecosystem__core > div {
	display: grid;
	width: min(290px, 100%);
	min-height: 100px;
	place-content: center;
	border: 1px solid rgba(17, 56, 105, 0.13);
	border-radius: 50px;
	background: var(--cda-white);
	box-shadow: 0 14px 35px rgba(7, 24, 46, 0.08);
	text-align: center;
}

.cda-ecosystem__core span {
	color: var(--cda-turquoise-500);
	font-size: 0.78em;
	font-weight: 900;
	letter-spacing: 0.14em;
}

.cda-ecosystem__core strong {
	font-size: 0.82em;
}

.cda-ecosystem__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: var(--cda-border);
}

.cda-ecosystem__grid article {
	display: flex;
	gap: 12px;
	min-width: 0;
	align-items: flex-start;
	padding: 17px;
	background: var(--cda-white);
}

.cda-ecosystem__grid article > i {
	display: grid;
	flex: 0 0 39px;
	width: 39px;
	height: 39px;
	place-items: center;
	border-radius: 11px;
	color: var(--cda-navy-800);
	background: rgba(5, 192, 192, 0.12);
}

.cda-ecosystem__grid svg {
	width: 21px;
	height: 21px;
}

.cda-ecosystem__grid article > div {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.cda-ecosystem__grid strong {
	font-size: 0.8em;
}

.cda-ecosystem__grid span {
	color: var(--cda-muted);
	font-size: 0.68em;
	line-height: 1.45;
}

.cda-hero__strip {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-bottom: 0;
	border-radius: 22px 22px 0 0;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(18px);
}

.cda-hero__strip div {
	display: grid;
	gap: 4px;
	padding: 22px 24px;
	border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.cda-hero__strip div:last-child {
	border-right: 0;
}

.cda-hero__strip strong {
	color: var(--cda-white);
	font-size: 0.9em;
}

.cda-hero__strip span {
	color: rgba(255, 255, 255, 0.56);
	font-size: 0.73em;
}

/* Needs */
.cda-needs {
	padding: clamp(90px, 9vw, 145px) 0;
	background: var(--cda-surface);
}

.cda-needs__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.cda-needs__grid article {
	display: flex;
	flex-direction: column;
	min-height: 390px;
	padding: 30px;
	border: 1px solid var(--cda-border);
	border-radius: 23px;
	background: var(--cda-white);
	box-shadow: 0 12px 34px rgba(7, 24, 46, 0.04);
	transition: transform 190ms ease, box-shadow 190ms ease, border-color 190ms ease;
}

.cda-needs__grid article:hover {
	transform: translateY(-6px);
	border-color: rgba(5, 192, 192, 0.38);
	box-shadow: var(--cda-shadow);
}

.cda-needs__icon {
	display: grid;
	width: 58px;
	height: 58px;
	margin-bottom: 26px;
	place-items: center;
	border-radius: 17px;
	color: var(--cda-navy-800);
	background: linear-gradient(135deg, rgba(5, 192, 192, 0.18), rgba(17, 56, 105, 0.08));
}

.cda-needs__icon svg {
	width: 29px;
	height: 29px;
}

.cda-needs h3 {
	margin-bottom: 12px;
	font-size: 1.25em;
}

.cda-needs article > p {
	font-size: 0.9em;
}

.cda-needs ul {
	display: grid;
	gap: 9px;
	margin: auto 0 0;
	padding: 22px 0 0;
	border-top: 1px solid var(--cda-border);
	list-style: none;
}

.cda-needs li {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	color: var(--cda-muted);
	font-size: 0.78em;
	line-height: 1.45;
}

.cda-needs li i {
	display: grid;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	place-items: center;
	border-radius: 7px;
	color: var(--cda-navy-950);
	background: rgba(5, 192, 192, 0.15);
	font-size: 0.65em;
	font-style: normal;
	font-weight: 900;
}

/* Areas */
.cda-areas {
	padding: clamp(95px, 10vw, 150px) 0;
	color: var(--cda-white);
	background:
		radial-gradient(circle at 75% 25%, rgba(5, 192, 192, 0.14), transparent 30%),
		linear-gradient(135deg, #07182e 0%, #0e315c 100%);
}

.cda-areas h2 {
	color: var(--cda-white);
}

.cda-areas .cda-heading > p {
	color: rgba(255, 255, 255, 0.68);
}

.cda-areas__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.cda-areas__grid article {
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(14px);
}

.cda-areas__top {
	display: flex;
	gap: 15px;
	align-items: center;
	margin-bottom: 20px;
}

.cda-areas__top i {
	display: grid;
	flex: 0 0 50px;
	width: 50px;
	height: 50px;
	place-items: center;
	border-radius: 15px;
	color: var(--cda-turquoise-300);
	background: rgba(255, 255, 255, 0.08);
}

.cda-areas__top svg {
	width: 26px;
	height: 26px;
}

.cda-areas h3 {
	margin-bottom: 0;
	color: var(--cda-white);
	font-size: 1.26em;
}

.cda-areas article > p {
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.9em;
}

.cda-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 22px;
}

.cda-tags span {
	padding: 7px 10px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 99px;
	color: rgba(255, 255, 255, 0.78);
	background: rgba(7, 24, 46, 0.33);
	font-size: 0.68em;
	font-weight: 700;
}

/* Process */
.cda-process {
	padding: clamp(90px, 9vw, 145px) 0;
	background: var(--cda-white);
}

.cda-process__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	margin-top: 55px;
}

.cda-process__grid::before {
	position: absolute;
	top: 35px;
	right: 7%;
	left: 7%;
	height: 1px;
	background: linear-gradient(to right, transparent, rgba(5, 192, 192, 0.5), transparent);
	content: "";
}

.cda-process article {
	position: relative;
	z-index: 2;
	padding-inline: 12px;
	text-align: center;
}

.cda-process__number {
	display: grid;
	width: 70px;
	height: 70px;
	margin: 0 auto 21px;
	place-items: center;
	border: 1px solid var(--cda-border);
	border-radius: 50%;
	color: var(--cda-navy-800);
	background: var(--cda-white);
	box-shadow: 0 10px 28px rgba(7, 24, 46, 0.08);
	font-size: 0.9em;
	font-weight: 900;
}

.cda-process h3 {
	margin-bottom: 10px;
	font-size: 1em;
}

.cda-process article p {
	margin-bottom: 0;
	font-size: 0.78em;
	line-height: 1.6;
}

/* Data */
.cda-data {
	padding: clamp(95px, 10vw, 150px) 0;
	background: var(--cda-surface);
}

.cda-data__grid {
	display: grid;
	grid-template-columns: minmax(480px, 1.08fr) minmax(0, 0.92fr);
	gap: clamp(60px, 8vw, 120px);
	align-items: center;
}

.cda-dashboard {
	overflow: hidden;
	border: 1px solid var(--cda-border);
	border-radius: 24px;
	background: var(--cda-white);
	box-shadow: 0 35px 85px rgba(7, 24, 46, 0.14);
}

.cda-dashboard__bar {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
	padding: 14px 17px;
	border-bottom: 1px solid var(--cda-border);
	background: #f7fafc;
}

.cda-dashboard__bar > div {
	display: flex;
	gap: 7px;
}

.cda-dashboard__bar span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #d4dfe8;
}

.cda-dashboard__bar span:nth-child(1) {
	background: #ff7f74;
}

.cda-dashboard__bar span:nth-child(2) {
	background: #ffc95a;
}

.cda-dashboard__bar span:nth-child(3) {
	background: #36c98b;
}

.cda-dashboard__bar strong {
	color: var(--cda-muted);
	font-size: 0.7em;
}

.cda-dashboard__body {
	padding: 18px;
	background: #f4f8fb;
}

.cda-kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 11px;
	margin-bottom: 13px;
}

.cda-kpis article {
	display: grid;
	gap: 5px;
	padding: 15px;
	border: 1px solid var(--cda-border);
	border-radius: 14px;
	background: var(--cda-white);
}

.cda-kpis span {
	color: var(--cda-muted);
	font-size: 0.65em;
	font-weight: 700;
}

.cda-kpis strong {
	color: var(--cda-navy-950);
	font-size: clamp(1em, 1.7vw, 1.42em);
}

.cda-kpis small {
	color: #188564;
	font-size: 0.62em;
	font-weight: 800;
}

.cda-chart-card {
	padding: 17px;
	border: 1px solid var(--cda-border);
	border-radius: 15px;
	background: var(--cda-white);
}

.cda-chart-card > div:first-child {
	display: grid;
	gap: 3px;
}

.cda-chart-card > div:first-child span {
	color: var(--cda-muted);
	font-size: 0.67em;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.cda-chart-card > div:first-child strong {
	font-size: 0.9em;
}

.cda-chart {
	display: flex;
	gap: 9px;
	align-items: end;
	height: 230px;
	margin-top: 20px;
	padding: 15px 5px 0;
	border-bottom: 1px solid var(--cda-border);
	background:
		linear-gradient(to top, transparent 24%, rgba(17, 56, 105, 0.05) 25%, transparent 26%, transparent 49%, rgba(17, 56, 105, 0.05) 50%, transparent 51%, transparent 74%, rgba(17, 56, 105, 0.05) 75%, transparent 76%);
}

.cda-chart__bar {
	display: block;
	flex: 1 1 0;
	min-width: 0;
	height: var(--height);
	border-radius: 7px 7px 2px 2px;
	background: linear-gradient(to top, var(--cda-navy-800), var(--cda-turquoise-500));
	box-shadow: 0 8px 18px rgba(5, 192, 192, 0.14);
}

.cda-data__content > p {
	margin-bottom: 30px;
	font-size: 1.06em;
}

.cda-data__features {
	display: grid;
	gap: 14px;
	margin-bottom: 32px;
}

.cda-data__features article {
	display: flex;
	gap: 13px;
	align-items: flex-start;
}

.cda-data__features article > i {
	display: grid;
	flex: 0 0 27px;
	width: 27px;
	height: 27px;
	place-items: center;
	border-radius: 9px;
	color: var(--cda-navy-950);
	background: rgba(5, 192, 192, 0.16);
	font-size: 0.72em;
	font-style: normal;
	font-weight: 900;
}

.cda-data__features div {
	display: grid;
	gap: 5px;
}

.cda-data__features strong {
	font-size: 0.96em;
}

.cda-data__features span {
	color: var(--cda-muted);
	font-size: 0.84em;
	line-height: 1.55;
}

/* Scenarios */
.cda-scenarios {
	padding: clamp(90px, 9vw, 145px) 0;
	background: var(--cda-white);
}

.cda-scenarios__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.cda-scenarios article {
	position: relative;
	min-height: 260px;
	padding: 28px;
	overflow: hidden;
	border: 1px solid var(--cda-border);
	border-radius: 21px;
	background: #fbfdff;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.cda-scenarios article:hover {
	transform: translateY(-5px);
	border-color: rgba(5, 192, 192, 0.38);
	box-shadow: var(--cda-shadow);
}

.cda-scenarios article > span {
	display: block;
	margin-bottom: 30px;
	color: var(--cda-turquoise-500);
	font-size: 0.76em;
	font-weight: 900;
	letter-spacing: 0.12em;
}

.cda-scenarios h3 {
	margin-bottom: 13px;
	font-size: 1.18em;
}

.cda-scenarios p {
	font-size: 0.87em;
}

/* FAQ */
.cda-faq {
	padding: clamp(90px, 9vw, 145px) 0;
	background: var(--cda-surface);
}

.cda-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(60px, 8vw, 120px);
}

.cda-faq__list {
	display: grid;
	gap: 12px;
}

.cda-faq details {
	border: 1px solid var(--cda-border);
	border-radius: 16px;
	background: var(--cda-white);
	overflow: hidden;
}

.cda-faq summary {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
	padding: 20px 22px;
	cursor: pointer;
	list-style: none;
	color: var(--cda-text);
	font-size: 0.95em;
	font-weight: 800;
}

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

.cda-faq summary i {
	display: grid;
	flex: 0 0 29px;
	width: 29px;
	height: 29px;
	place-items: center;
	border-radius: 9px;
	color: var(--cda-navy-800);
	background: rgba(5, 192, 192, 0.13);
	font-style: normal;
	font-size: 1em;
	transition: transform 180ms ease;
}

.cda-faq details[open] summary i {
	transform: rotate(45deg);
}

.cda-faq details p {
	margin: 0;
	padding: 0 22px 21px;
	font-size: 0.86em;
}

/* CTA */
.cda-cta {
	padding: clamp(78px, 8vw, 115px) 0;
	color: var(--cda-navy-950);
	background: linear-gradient(125deg, #08bdbd 0%, #35d7d2 50%, #65e3dc 100%);
}

.cda-cta__shape {
	position: absolute;
	border: 1px solid rgba(7, 24, 46, 0.1);
	border-radius: 50%;
}

.cda-cta__shape--one {
	top: -160px;
	right: -80px;
	width: 420px;
	height: 420px;
	box-shadow:
		0 0 0 60px rgba(7, 24, 46, 0.025),
		0 0 0 120px rgba(7, 24, 46, 0.015);
}

.cda-cta__shape--two {
	bottom: -150px;
	left: -100px;
	width: 330px;
	height: 330px;
	background: rgba(255, 255, 255, 0.08);
}

.cda-cta__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) auto;
	gap: 70px;
	align-items: center;
}

.cda-cta__inner > div:first-child > span {
	display: block;
	margin-bottom: 15px;
	color: rgba(7, 24, 46, 0.62);
	font-size: 0.76em;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.cda-cta h2 {
	max-width: 850px;
	margin-bottom: 16px;
	color: var(--cda-navy-950);
}

.cda-cta p {
	max-width: 720px;
	margin-bottom: 0;
	color: rgba(7, 24, 46, 0.7);
}

/* Reveal */
[data-cda-reveal] {
	opacity: 1;
	transform: none;
	transition: opacity 700ms ease, transform 700ms ease;
}

html.cda-reveal-ready [data-cda-reveal]:not(.is-visible) {
	opacity: 0;
	transform: translateY(24px);
}

html.cda-elementor-preview [data-cda-reveal],
body.elementor-editor-active [data-cda-reveal],
body.elementor-editor-preview [data-cda-reveal] {
	opacity: 1 !important;
	transform: none !important;
}

/* Responsive */
@media (max-width: 1100px) {
	.cda-hero__grid,
	.cda-data__grid,
	.cda-faq__grid {
		grid-template-columns: 1fr;
	}

	.cda-hero__content {
		max-width: 850px;
		padding-bottom: 25px;
	}

	.cda-hero__visual,
	.cda-data__visual {
		width: min(850px, 100%);
		margin-inline: auto;
	}

	.cda-needs__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cda-process__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 34px 16px;
	}

	.cda-process__grid::before {
		display: none;
	}

	.cda-scenarios__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cda-cta__inner {
		grid-template-columns: 1fr;
		gap: 35px;
	}
}

@media (max-width: 850px) {
	.cda-heading {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.cda-hero__strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cda-hero__strip div:nth-child(2) {
		border-right: 0;
	}

	.cda-hero__strip div:nth-child(-n+2) {
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.cda-areas__grid {
		grid-template-columns: 1fr;
	}

	.cda-process__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cda-scenarios__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.cda-shell {
		width: min(calc(100% - 28px), var(--cda-shell));
	}

	.cda-section h2 {
		font-size: clamp(2em, 10vw, 3em);
	}

	.cda-hero {
		padding-top: 72px;
	}

	.cda-hero h1 {
		font-size: clamp(2.6em, 13vw, 4.1em);
	}

	.cda-actions {
		align-items: stretch;
	}

	.cda-button {
		width: 100%;
	}

	.cda-ecosystem__grid,
	.cda-needs__grid {
		grid-template-columns: 1fr;
	}

	.cda-needs__grid article {
		min-height: 0;
	}

	.cda-kpis {
		grid-template-columns: 1fr;
	}

	.cda-chart {
		height: 190px;
	}

	.cda-process__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.cda-process article {
		display: grid;
		grid-template-columns: 58px 1fr;
		gap: 7px 16px;
		padding: 0;
		text-align: left;
	}

	.cda-process__number {
		grid-row: 1 / span 2;
		width: 58px;
		height: 58px;
		margin: 0;
	}

	.cda-process h3 {
		align-self: end;
		margin-bottom: 0;
	}

	.cda-process article p {
		align-self: start;
	}
}

@media (max-width: 470px) {
	.cda-hero__strip {
		grid-template-columns: 1fr;
	}

	.cda-hero__strip div {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.cda-hero__strip div:last-child {
		border-bottom: 0;
	}

	.cda-ecosystem__grid article {
		padding: 14px;
	}

	.cda-needs__grid article,
	.cda-areas__grid article,
	.cda-scenarios article {
		padding: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cda-section *,
	.cda-section *::before,
	.cda-section *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}

	[data-cda-reveal] {
		opacity: 1;
		transform: none;
	}
}


/* ============================================================
   Bricks native bridge — Consult Digital Aspel 2.1.1
   ============================================================ */

.cda-native-aspel-page,
.cda-native-aspel-page ~ .cda-section {
    margin: 0;
}

.cda-section .brxe-icon {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
}

.cda-section .brxe-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.cda-ecosystem__header-icon,
.cda-ecosystem__item-icon,
.cda-areas__icon {
    display: grid;
    place-items: center;
}

.cda-ecosystem__header-icon .brxe-icon,
.cda-ecosystem__item-icon .brxe-icon,
.cda-areas__icon .brxe-icon,
.cda-needs__icon .brxe-icon {
    width: 24px;
    height: 24px;
}

.cda-needs__icon .brxe-icon {
    width: 29px;
    height: 29px;
}

.cda-areas__icon .brxe-icon {
    width: 23px;
    height: 23px;
}

.cda-needs__features {
    width: 100%;
}

.cda-chart__bar--1 { --height: 34%; }
.cda-chart__bar--2 { --height: 48%; }
.cda-chart__bar--3 { --height: 42%; }
.cda-chart__bar--4 { --height: 66%; }
.cda-chart__bar--5 { --height: 57%; }
.cda-chart__bar--6 { --height: 82%; }
.cda-chart__bar--7 { --height: 73%; }
.cda-chart__bar--8 { --height: 94%; }

/* FAQ editable as independent Bricks elements */
.cda-faq__item {
    overflow: hidden;
    border: 1px solid var(--cda-border);
    border-radius: 16px;
    background: var(--cda-white);
}

.cda-faq__summary {
    display: flex;
    width: 100%;
    min-height: 64px;
    padding: 17px 18px;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    cursor: pointer;
}

.cda-faq__summary > span {
    color: var(--cda-navy-950);
    font-size: 0.92em;
    font-weight: 800;
}

.cda-faq__toggle {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 9px;
    color: var(--cda-navy-950);
    background: rgba(5, 192, 192, 0.14);
    font-style: normal;
    font-weight: 900;
    line-height: 1;
}

.cda-faq__answer {
    display: none;
    padding: 0 22px 21px;
}

.cda-faq__answer p {
    margin: 0;
    font-size: 0.86em;
}

.cda-faq__item.is-open .cda-faq__answer {
    display: block;
}

.cda-faq__item.is-open .cda-faq__toggle {
    transform: rotate(0);
}

@media (max-width: 700px) {
    .cda-hero__grid {
        gap: 32px;
    }

    .cda-hero__content,
    .cda-hero__visual {
        padding-bottom: 34px;
    }

    .cda-ecosystem__grid {
        grid-template-columns: 1fr;
    }

    .cda-needs__card {
        min-height: 0;
    }
}


/* ============================================================
   CDBN_ASPEL_SCALE_FIX_211
   Normaliza la escala dentro de Bricks sin alterar header/footer.
   ============================================================ */
.cda-section {
    font-size: 16px !important;
    line-height: 1.5;
}

/* Evita que reglas globales de Bricks/Font Awesome agranden los iconos. */
.cda-ecosystem__header-icon,
.cda-ecosystem__item-icon,
.cda-needs__icon,
.cda-areas__icon {
    overflow: hidden;
    flex-shrink: 0;
    line-height: 1;
}

.cda-ecosystem__header-icon .brxe-icon,
.cda-ecosystem__header-icon.brxe-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

.cda-ecosystem__item-icon .brxe-icon,
.cda-ecosystem__item-icon.brxe-icon {
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    font-size: 21px !important;
    line-height: 1 !important;
}

.cda-needs__icon .brxe-icon,
.cda-needs__icon.brxe-icon {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    min-height: 29px !important;
    font-size: 29px !important;
    line-height: 1 !important;
}

.cda-areas__icon .brxe-icon,
.cda-areas__icon.brxe-icon {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    font-size: 26px !important;
    line-height: 1 !important;
}

.cda-section .brxe-icon::before,
.cda-section .brxe-icon > i,
.cda-section .brxe-icon > svg,
.cda-section .brxe-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    font-size: inherit !important;
    line-height: 1 !important;
}

/* Refuerza la proporción de la réplica de escritorio. */
@media (min-width: 1201px) {
    .cda-hero__grid {
        grid-template-columns: minmax(0, 0.88fr) minmax(520px, 1.12fr);
    }

    .cda-hero h1 {
        max-width: 650px;
    }
}

/* CDBN_ASPEL_CHART_FIX_212
 * Las barras son Div nativos de Bricks. Se seleccionan por clase y no por etiqueta <i>,
 * evitando que Bricks omita elementos de texto vacíos en el render público.
 */
.cda-chart > .cda-chart__bar {
	display: block;
	flex: 1 1 0;
	min-width: 0;
	height: var(--height);
}
