:root {
	--cd-primary: #2E3851;
	--cd-primary-dark: #1B2130;
	--cd-primary-light: #4E5F88;
	--cd-accent: #0096c7;
	--cd-accent-hover: #0077b6;
	--cd-accent-light: #e0f2fe;
	--cd-text-main: #1e293b;
	--cd-text-muted: #64748b;
	--cd-text-sub: #475569;
	--cd-bg: #f0f4f8;
	--cd-bg-soft: #f7f9fc;
	--cd-card-bg: #ffffff;
	--cd-card-border: rgba(46, 56, 81, 0.09);
	--cd-card-shadow: 0 10px 28px -4px rgba(46, 56, 81, 0.06), 0 4px 10px -2px rgba(46, 56, 81, 0.03);
	--cd-card-shadow-hover: 0 20px 40px -10px rgba(46, 56, 81, 0.12), 0 8px 18px -4px rgba(46, 56, 81, 0.06);
	--cd-radius-sm: 8px;
	--cd-radius-md: 14px;
	--cd-radius-lg: 20px;
	--cd-radius-xl: 26px;
	--cd-radius-full: 9999px;
}

.redesign-section {
	position: relative;
	padding: 80px 77px;
	overflow: hidden;
}

@media (max-width: 1050px) {
	.redesign-section {
		padding: 60px 20px;
	}
}

.ambient-glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(90px);
	pointer-events: none;
	z-index: 0;
	opacity: 0.35;
	transition: all 0.6s ease;
}

.glow-blue {
	background: radial-gradient(circle, rgba(0, 150, 199, 0.22) 0%, rgba(0, 150, 199, 0) 70%);
}

.glow-navy {
	background: radial-gradient(circle, rgba(46, 56, 81, 0.18) 0%, rgba(46, 56, 81, 0) 70%);
}

.tech-marquee-container {
	background: #1B2130;
	color: #cbd5e1;
	padding: 14px 0;
	overflow: hidden;
	position: relative;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
	z-index: 5;
}

.tech-marquee-content {
	display: flex;
	align-items: center;
	gap: 40px;
	white-space: nowrap;
	width: max-content;
	animation: scrollMarquee 35s linear infinite;
}

.tech-marquee-container:hover .tech-marquee-content {
	animation-play-state: paused;
}

@keyframes scrollMarquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.marquee-item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13.5px;
	font-weight: 700;
	color: #e2e8f0;
	letter-spacing: 0.3px;
}

.marquee-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #0096c7;
	box-shadow: 0 0 8px #0096c7;
	display: inline-block;
}

.saas-section-header {
	text-align: center;
	max-width: 680px;
	margin: 0 auto 34px auto;
	position: relative;
	z-index: 2;
}

.saas-section-title {
	font-size: 26px;
	font-weight: 800;
	color: var(--cd-text-main);
	letter-spacing: -0.5px;
	line-height: 1.25;
	margin: 0 0 8px 0;
}

.saas-section-desc {
	font-size: 14.5px;
	color: var(--cd-text-muted);
	line-height: 1.55;
	margin: 0 auto;
	max-width: 580px;
}

.services-controls-bar,
.courses-controls-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 24px;
	position: relative;
	z-index: 2;
}

@keyframes floatY {
	0%, 100% { transform: translateY(0px); }
	50% { transform: translateY(-7px); }
}

@keyframes floatSlow {
	0%, 100% { transform: translateY(0px) rotate(0deg); }
	50% { transform: translateY(-10px) rotate(1deg); }
}

#sectionReferidos {
	background: linear-gradient(180deg, #d8e2ee 0%, #e8eef6 80px, #f0f4f8 100%);
	border-bottom: 1px solid rgba(46, 56, 81, 0.08);
}

.referral-modern-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 40px;
	align-items: center;
	position: relative;
	z-index: 1;
}

@media (max-width: 991px) {
	.referral-modern-grid {
		grid-template-columns: 1fr;
	}
}

.referral-card-panel {
	background: #ffffff;
	border: 1px solid rgba(46, 56, 81, 0.09);
	border-radius: var(--cd-radius-xl);
	padding: 36px;
	box-shadow: 0 10px 28px -4px rgba(46, 56, 81, 0.06);
}

.referral-slider-wrapper {
	margin: 24px 0 18px 0;
}

.referral-slider-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.referral-slider-title {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--cd-text-main);
	display: flex;
	align-items: center;
	gap: 8px;
}

.referral-slider-title i {
	color: var(--cd-accent);
}

.referral-counter-tag {
	font-size: 14px;
	font-weight: 800;
	color: var(--cd-accent-hover);
	background: var(--cd-accent-light);
	padding: 4px 14px;
	border-radius: var(--cd-radius-full);
}

.referral-slider {
	width: 100%;
	height: 8px;
	border-radius: 4px;
	background: #e2e8f0;
	outline: none;
	-webkit-appearance: none;
	cursor: pointer;
	margin-bottom: 16px;
}

.referral-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--cd-accent);
	cursor: pointer;
	box-shadow: 0 0 10px rgba(0, 150, 199, 0.4);
	transition: transform 0.15s ease;
}

.referral-slider::-webkit-slider-thumb:hover {
	transform: scale(1.15);
}

.referral-presets-row {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.preset-chip {
	padding: 6px 14px;
	border-radius: var(--cd-radius-full);
	border: 1px solid rgba(46, 56, 81, 0.12);
	background: #ffffff;
	font-size: 12px;
	font-weight: 700;
	color: var(--cd-text-sub);
	cursor: pointer;
	transition: all 0.2s ease;
}

.preset-chip:hover, .preset-chip.active {
	background: var(--cd-primary);
	color: #ffffff;
	border-color: var(--cd-primary);
}

.referral-copy-bar {
	display: flex;
	align-items: center;
	background: #ffffff;
	border: 1.5px solid rgba(46, 56, 81, 0.14);
	border-radius: var(--cd-radius-md);
	padding: 5px;
	margin-top: 24px;
	margin-bottom: 14px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}

.referral-copy-input {
	flex: 1;
	border: none;
	background: transparent;
	padding: 8px 12px;
	font-size: 13.5px;
	color: var(--cd-text-main);
	font-weight: 600;
	outline: none;
}

.btn-copy-interactive {
	background: var(--cd-primary);
	color: #ffffff;
	border: none;
	padding: 9px 18px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.btn-copy-interactive:hover {
	background: var(--cd-accent);
}

.referral-share-pills {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.share-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--cd-text-muted);
}

.btn-share-social {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	border-radius: var(--cd-radius-full);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	background: #ffffff;
	color: var(--cd-text-main);
	border: 1px solid rgba(46, 56, 81, 0.12);
	transition: all 0.2s ease;
}

.btn-share-social:hover {
	background: var(--cd-primary);
	color: #ffffff;
	border-color: var(--cd-primary);
}

.referral-stage-col {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 380px;
}

.hologram-card-container {
	perspective: 1000px;
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 380px;
}

.hologram-card-3d {
	position: relative;
	width: 100%;
	height: 240px;
	border-radius: var(--cd-radius-xl);
	background: linear-gradient(135deg, #1B2130 0%, #2E3851 100%);
	padding: 26px;
	color: #ffffff;
	box-shadow: 0 20px 45px -10px rgba(27, 33, 48, 0.4), inset 0 1px 1px rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.15);
	overflow: hidden;
	transition: transform 0.25s ease;
	cursor: pointer;
}

.card-hologram-sheen {
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 60%);
	pointer-events: none;
	mix-blend-mode: overlay;
}

.holo-card-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 22px;
}

.holo-card-brand {
	font-size: 17px;
	font-weight: 800;
	letter-spacing: 0.5px;
}

.holo-card-brand span {
	color: var(--cd-accent);
}

.holo-card-chip {
	width: 40px;
	height: 28px;
	border-radius: 6px;
	background: linear-gradient(135deg, #cbd5e1 0%, #94a3b8 100%);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.holo-card-benefit {
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: #94a3b8;
	margin-bottom: 6px;
}

.holo-card-title {
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.5px;
	color: #ffffff;
	margin-bottom: 26px;
	min-height: 28px;
}

.holo-card-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12.5px;
	color: #cbd5e1;
	font-weight: 600;
}

.holo-card-bottom i {
	color: var(--cd-accent);
	margin-right: 5px;
}

.floating-perk-badge {
	position: absolute;
	background: #ffffff;
	border: 1px solid rgba(46, 56, 81, 0.12);
	border-radius: var(--cd-radius-full);
	padding: 8px 14px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--cd-text-main);
	z-index: 3;
	white-space: nowrap;
	pointer-events: none;
}

.floating-perk-badge i {
	color: var(--cd-accent);
}

.floating-perk-1 {
	top: -15px;
	right: -10px;
	animation: floatY 4s ease-in-out infinite;
}

.floating-perk-2 {
	bottom: -15px;
	left: -15px;
	animation: floatSlow 5s ease-in-out infinite;
}

.referral-steps-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 40px;
	position: relative;
	z-index: 1;
}

@media (max-width: 768px) {
	.referral-steps-row {
		grid-template-columns: 1fr;
	}
}

.referral-step-card {
	background: #f8fafc;
	border: 1px solid rgba(46, 56, 81, 0.08);
	border-radius: var(--cd-radius-lg);
	padding: 22px;
	display: flex;
	gap: 16px;
	transition: all 0.25s ease;
}

.referral-step-card:hover {
	background: #ffffff;
	border-color: rgba(0, 150, 199, 0.3);
	transform: translateY(-3px);
	box-shadow: var(--cd-card-shadow);
}

.step-number-circle {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--cd-primary);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 14px;
	flex-shrink: 0;
}

.referral-step-card:hover .step-number-circle {
	background: var(--cd-accent);
}

.step-content h5 {
	margin: 0 0 6px 0;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--cd-text-main);
}

.step-content p {
	margin: 0;
	font-size: 13px;
	color: var(--cd-text-muted);
	line-height: 1.5;
}

#sectionServicios {
	background: #f7f9fc;
	border-bottom: 1px solid rgba(46, 56, 81, 0.08);
}

.services-tabs-container {
	margin-bottom: 26px;
	position: relative;
	z-index: 1;
}

.services-nav-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

@media (max-width: 900px) {
	.services-nav-tabs {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding: 4px 4px 10px 4px;
		scrollbar-width: none;
	}
	.services-nav-tabs::-webkit-scrollbar {
		display: none;
	}
}

.service-tab-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: var(--cd-radius-full);
	background: #ffffff;
	border: 1.5px solid rgba(46, 56, 81, 0.12);
	color: var(--cd-text-main);
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
	font-family: inherit;
	outline: none;
}

.service-tab-pill:hover {
	border-color: var(--cd-accent);
	color: var(--cd-accent);
	transform: translateY(-2px);
}

.service-tab-pill.active {
	background: var(--cd-primary);
	color: #ffffff;
	border-color: var(--cd-primary);
	box-shadow: 0 4px 14px rgba(46, 56, 81, 0.18);
}

.service-tab-pill i {
	font-size: 14px;
	color: var(--cd-accent);
	transition: color 0.2s ease;
}

.service-tab-pill.active i {
	color: #ffffff;
}

.services-showcase-wrapper {
	position: relative;
	z-index: 1;
}

.service-showcase-card {
	background: #ffffff;
	border: 1px solid rgba(46, 56, 81, 0.1);
	border-radius: var(--cd-radius-xl);
	padding: 36px 42px;
	box-shadow: var(--cd-card-shadow);
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: 36px;
	align-items: center;
	min-height: 330px;
}

@media (max-width: 900px) {
	.service-showcase-card {
		grid-template-columns: 1fr;
		padding: 24px;
		min-height: auto;
	}
}

.service-detail-slogan {
	font-size: 12px;
	font-weight: 800;
	color: var(--cd-accent);
	text-transform: uppercase;
	letter-spacing: 0.8px;
	margin-bottom: 8px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.service-detail-title {
	font-size: 26px;
	font-weight: 800;
	color: var(--cd-text-main);
	margin: 0 0 14px 0;
	line-height: 1.3;
}

.service-detail-desc {
	font-size: 14.5px;
	color: var(--cd-text-sub);
	line-height: 1.65;
	margin-bottom: 22px;
}

.service-tech-stack-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}

.tech-tag-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	border-radius: var(--cd-radius-full);
	background: #f8fafc;
	font-size: 12px;
	font-weight: 700;
	color: var(--cd-text-sub);
	border: 1px solid rgba(46, 56, 81, 0.08);
}

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

.btn-service-action-primary {
	background: var(--cd-primary);
	color: #ffffff;
	border: none;
	padding: 11px 24px;
	border-radius: var(--cd-radius-full);
	font-size: 13.5px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.btn-service-action-primary:hover {
	background: var(--cd-accent);
	color: #ffffff;
	transform: translateY(-2px);
}

.service-showcase-img {
	width: 100%;
	max-height: 250px;
	object-fit: contain;
	border-radius: var(--cd-radius-lg);
}

#sectionCursosPromocion {
	background: #f0f4f8;
	border-bottom: 1px solid rgba(46, 56, 81, 0.08);
}

.courses-control-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 28px;
	position: relative;
	z-index: 1;
}

.course-search-box {
	position: relative;
	min-width: 270px;
}

.course-search-input {
	width: 100%;
	padding: 9px 16px 9px 38px;
	border-radius: var(--cd-radius-full);
	border: 1px solid rgba(46, 56, 81, 0.14);
	background: #f8fafc;
	font-size: 13px;
	outline: none;
	transition: all 0.2s ease;
}

.course-search-input:focus {
	border-color: var(--cd-accent);
	background: #ffffff;
}

.course-search-icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	font-size: 13px;
}

.course-filter-chips {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.btn-course-filter {
	padding: 6px 14px;
	border-radius: var(--cd-radius-full);
	border: 1px solid rgba(46, 56, 81, 0.12);
	background: #f8fafc;
	font-size: 12px;
	font-weight: 700;
	color: var(--cd-text-sub);
	cursor: pointer;
	transition: all 0.2s ease;
}

.btn-course-filter.active {
	background: var(--cd-primary);
	color: #ffffff;
	border-color: var(--cd-primary);
}

.courses-track-flex {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
	gap: 24px;
}

.modern-course-card {
	background: #f8fafc;
	border-radius: var(--cd-radius-xl);
	border: 1px solid rgba(46, 56, 81, 0.1);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all 0.25s ease;
	position: relative;
}

.modern-course-card:hover {
	background: #ffffff;
	transform: translateY(-5px);
	border-color: var(--cd-accent);
	box-shadow: var(--cd-card-shadow-hover);
}

.course-thumb-stage {
	position: relative;
	width: 100%;
	height: 175px;
	overflow: hidden;
	background: #1B2130;
}

.course-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.modern-course-card:hover .course-thumb-img {
	transform: scale(1.05);
}

.course-badge-floating-top {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	gap: 6px;
	z-index: 2;
}

.badge-tag-free {
	background: var(--cd-primary);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: var(--cd-radius-full);
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.badge-tag-premium {
	background: var(--cd-accent);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: var(--cd-radius-full);
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.btn-course-fav {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(6px);
	border: none;
	color: var(--cd-text-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
	transition: all 0.2s ease;
}

.btn-course-fav:hover, .btn-course-fav.active {
	background: #ffffff;
	color: #ef4444;
	transform: scale(1.1);
}

.course-card-content {
	padding: 20px;
	display: flex;
	flex-direction: column;
	flex: 1;
	justify-content: space-between;
}

.course-meta-pills {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
	font-size: 12px;
	color: var(--cd-text-muted);
	font-weight: 600;
}

.course-stars {
	color: #f59e0b;
	font-size: 11px;
}

.course-title-text {
	font-size: 16px;
	font-weight: 800;
	color: var(--cd-text-main);
	margin: 0 0 8px 0;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.course-desc-snippet {
	font-size: 12.5px;
	color: var(--cd-text-muted);
	line-height: 1.55;
	margin-bottom: 16px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.course-instructor-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-top: 12px;
	border-top: 1px solid rgba(46, 56, 81, 0.08);
	margin-bottom: 14px;
}

.instructor-avatar-mini,
.instructor-avatar-initials {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	object-fit: cover;
	font-size: 11px;
	font-weight: 700;
	background: var(--cd-primary);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.instructor-name-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--cd-text-sub);
}

.course-card-actions {
	display: flex;
	gap: 8px;
}

.btn-card-learn {
	flex: 1;
	background: var(--cd-primary);
	color: #ffffff;
	padding: 9px;
	border-radius: var(--cd-radius-md);
	font-size: 12.5px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	transition: all 0.2s ease;
}

.btn-card-learn:hover {
	background: var(--cd-accent);
	color: #ffffff;
}

.btn-card-quickview {
	width: 38px;
	background: #ffffff;
	color: var(--cd-text-sub);
	border: 1px solid rgba(46, 56, 81, 0.12);
	border-radius: var(--cd-radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.2s ease;
}

.btn-card-quickview:hover {
	background: var(--cd-primary);
	color: #ffffff;
	border-color: var(--cd-primary);
}

#sectionProjectOfferings {
	background: #f0f4f8;
	border-bottom: 1px solid rgba(46, 56, 81, 0.08);
}

#sectionProjectQuote {
	background: #f7f9fc;
	border-bottom: 1px solid rgba(46, 56, 81, 0.08);
}

.project-quote-showcase-box {
	background: #ffffff;
	border: 1.5px solid rgba(46, 56, 81, 0.1);
	border-radius: var(--cd-radius-xl);
	padding: 40px;
	box-shadow: var(--cd-card-shadow);
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 36px;
	align-items: center;
	position: relative;
	z-index: 1;
}

@media (max-width: 991px) {
	.project-quote-showcase-box {
		grid-template-columns: 1fr;
		padding: 24px;
	}
}

.quote-informative-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 22px 0 28px 0;
}

@media (max-width: 680px) {
	.quote-informative-grid {
		grid-template-columns: 1fr;
	}
}

.quote-info-item {
	background: #f8fafc;
	border: 1px solid rgba(46, 56, 81, 0.08);
	border-radius: var(--cd-radius-md);
	padding: 16px 18px;
	display: flex;
	gap: 14px;
	align-items: flex-start;
	transition: all 0.2s ease;
}

.quote-info-item:hover {
	background: #ffffff;
	border-color: var(--cd-accent);
	box-shadow: 0 6px 18px rgba(0, 150, 199, 0.08);
	transform: translateY(-2px);
}

.quote-info-icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--cd-accent-light);
	color: var(--cd-accent-hover);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	flex-shrink: 0;
}

.quote-info-text h5 {
	margin: 0 0 4px 0;
	font-size: 14.5px;
	font-weight: 800;
	color: var(--cd-text-main);
	line-height: 1.3;
}

.quote-info-text p {
	margin: 0;
	font-size: 13px;
	color: var(--cd-text-muted);
	line-height: 1.5;
}

.quote-actions-row {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.btn-open-projectquote {
	background: var(--cd-primary);
	color: #ffffff;
	padding: 12px 26px;
	border-radius: var(--cd-radius-full);
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.2s ease;
	box-shadow: 0 4px 14px rgba(46, 56, 81, 0.2);
}

.btn-open-projectquote:hover {
	background: var(--cd-accent);
	color: #ffffff;
	transform: translateY(-2px);
}

.quote-mockup-stage {
	position: relative;
	background: #f8fafc;
	border: 1px solid rgba(46, 56, 81, 0.08);
	border-radius: var(--cd-radius-lg);
	padding: 24px;
	text-align: center;
}

.quote-mockup-img {
	width: 100%;
	max-height: 280px;
	object-fit: contain;
	border-radius: var(--cd-radius-md);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
	transition: transform 0.3s ease;
}

.quote-mockup-img:hover {
	transform: scale(1.02);
}

.quote-floating-domain {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ffffff;
	border: 1px solid rgba(46, 56, 81, 0.12);
	border-radius: var(--cd-radius-full);
	padding: 6px 16px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--cd-primary);
	margin-top: 16px;
}

.quote-floating-domain i {
	color: var(--cd-accent);
}

#sectionMoreService {
	background: #f7f9fc;
	border-bottom: 1px solid rgba(46, 56, 81, 0.08);
}

.os-terminal-window {
	background: #ffffff;
	border-radius: var(--cd-radius-xl);
	border: 1.5px solid rgba(46, 56, 81, 0.12);
	box-shadow: var(--cd-card-shadow);
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.os-window-header {
	background: #ffffff;
	border-bottom: 1px solid rgba(46, 56, 81, 0.08);
	padding: 12px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
}

.os-controls-dots {
	display: flex;
	gap: 6px;
}

.os-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #cbd5e1;
}

.os-address-bar {
	flex: 1;
	max-width: 520px;
	background: #f8fafc;
	border: 1px solid rgba(46, 56, 81, 0.12);
	border-radius: var(--cd-radius-full);
	padding: 5px 14px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	color: var(--cd-text-main);
	font-family: monospace;
}

.os-address-bar i {
	color: var(--cd-accent);
}

.btn-copy-address {
	border: none;
	background: transparent;
	color: #94a3b8;
	cursor: pointer;
	margin-left: auto;
}

.btn-copy-address:hover {
	color: var(--cd-primary);
}

.os-window-body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	padding: 36px;
	align-items: center;
}

@media (max-width: 900px) {
	.os-window-body {
		grid-template-columns: 1fr;
		padding: 20px;
	}
}

.os-cat-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: var(--cd-radius-full);
	background: var(--cd-accent-light);
	color: var(--cd-accent-hover);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-bottom: 10px;
	width: fit-content;
}

.os-project-title {
	font-size: 26px;
	font-weight: 800;
	color: var(--cd-text-main);
	margin: 0 0 12px 0;
}

.os-project-slogan {
	font-size: 14.5px;
	color: var(--cd-text-sub);
	line-height: 1.6;
	margin-bottom: 22px;
}

.os-action-row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.btn-os-visit {
	background: var(--cd-primary);
	color: #ffffff;
	padding: 10px 22px;
	border-radius: var(--cd-radius-full);
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all 0.2s ease;
}

.btn-os-visit:hover {
	background: var(--cd-accent);
	color: #ffffff;
}

.os-image-stage {
	position: relative;
	border-radius: var(--cd-radius-lg);
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(46, 56, 81, 0.08);
	height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.os-screen-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

#sectionColaboradores {
	background: #f0f4f8;
}

.colaboradores-interactive-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
	position: relative;
	z-index: 1;
}

.specialist-card-modern {
	background: #ffffff;
	border: 1px solid rgba(46, 56, 81, 0.1);
	border-radius: var(--cd-radius-xl);
	padding: 26px 20px;
	text-align: center;
	transition: all 0.25s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	min-height: 270px;
	box-sizing: border-box;
}

.specialist-card-top {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.specialist-card-bottom {
	width: 100%;
	margin-top: 16px;
	min-height: 38px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.specialist-card-modern:hover {
	background: #ffffff;
	transform: translateY(-4px);
	border-color: var(--cd-accent);
	box-shadow: var(--cd-card-shadow);
}

.specialist-card-modern.is-director {
	border: 1.5px solid rgba(46, 56, 81, 0.25);
	background: #ffffff;
}

.specialist-avatar-wrap {
	position: relative;
	width: 80px;
	height: 80px;
	margin-bottom: 14px;
}

.specialist-avatar-img,
.specialist-avatar-initials {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid #ffffff;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
	background: var(--cd-primary);
	color: #ffffff;
	font-size: 22px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

.director-star-badge {
	position: absolute;
	top: -2px;
	right: -2px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--cd-accent);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	border: 2px solid #ffffff;
}

.status-badge-floating {
	position: absolute;
	bottom: 2px;
	right: 4px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #10b981;
	border: 2px solid #ffffff;
}

.specialist-name {
	font-size: 15.5px;
	font-weight: 800;
	color: var(--cd-text-main);
	margin-bottom: 4px;
}

.specialist-role-tag {
	font-size: 12px;
	font-weight: 600;
	color: var(--cd-text-muted);
	margin-bottom: 16px;
}

.btn-specialist-contact {
	background: #ffffff;
	color: var(--cd-primary);
	border: 1px solid rgba(46, 56, 81, 0.14);
	padding: 7px 16px;
	border-radius: var(--cd-radius-full);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: 100%;
	justify-content: center;
	transition: all 0.2s ease;
	margin-top: auto;
}

.btn-specialist-contact:hover {
	background: var(--cd-primary);
	color: #ffffff;
}

.course-detail-modal-box {
	border-radius: var(--cd-radius-xl);
	overflow: hidden;
	border: none;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
}

.course-modal-media-wrap {
	position: relative;
	width: 100%;
	height: 220px;
	background: #1B2130;
	overflow: hidden;
}

.course-modal-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.course-modal-body-content {
	padding: 28px 32px;
}

.course-specs-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 18px 0 20px 0;
	background: #f8fafc;
	border: 1px solid rgba(46, 56, 81, 0.08);
	border-radius: var(--cd-radius-md);
	padding: 14px;
}

@media (max-width: 575px) {
	.course-specs-grid {
		grid-template-columns: 1fr;
	}
}

.course-spec-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--cd-text-main);
}

.course-spec-item i {
	color: var(--cd-accent);
	font-size: 15px;
}

.floating-action-dock {
	position: fixed;
	bottom: 46px;
	left: 12px;
	z-index: 20005;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.dock-trigger-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--cd-primary);
	color: #ffffff;
	border: 2px solid rgba(255, 255, 255, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	cursor: pointer;
	box-shadow: 0 6px 20px rgba(46, 56, 81, 0.35);
	transition: all 0.25s ease;
}

.dock-trigger-btn:hover, .dock-trigger-btn.open {
	background: var(--cd-accent);
	transform: scale(1.08);
}

.dock-menu-items {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 6px;
	background: #ffffff;
	padding: 10px;
	border-radius: var(--cd-radius-lg);
	border: 1px solid rgba(46, 56, 81, 0.12);
	box-shadow: 0 12px 32px rgba(46, 56, 81, 0.2);
	max-height: 70vh;
	overflow-y: auto;
}

.dock-sub-btn {
	background: #f8fafc;
	color: var(--cd-text-main);
	border: 1px solid rgba(46, 56, 81, 0.08);
	border-radius: var(--cd-radius-md);
	padding: 8px 14px;
	font-size: 12.5px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
	cursor: pointer;
	text-decoration: none;
	transition: all 0.2s ease;
	white-space: nowrap;
	width: 100%;
}

.dock-sub-btn:hover {
	background: var(--cd-primary);
	color: #ffffff;
	transform: translateX(4px);
}

.dock-sub-btn i {
	color: var(--cd-accent);
	font-size: 13px;
	width: 16px;
	text-align: center;
}

.dock-sub-btn:hover i {
	color: #ffffff;
}

.micro-toast-notification {
	position: fixed;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%) translateY(100px);
	background: var(--cd-primary-dark);
	color: #ffffff;
	padding: 11px 22px;
	border-radius: var(--cd-radius-full);
	font-size: 13px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 8px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
	z-index: 9999;
	opacity: 0;
	transition: all 0.3s ease;
	pointer-events: none;
}

.micro-toast-notification.show {
	transform: translateX(-50%) translateY(0);
	opacity: 1;
}

.micro-toast-notification i {
	color: var(--cd-accent);
}
