/*
 * SETEK Liquid Glass visual layer
 * Presentation only: content, URLs and document structure remain unchanged.
 */

:root {
	--glass-blue: #087cff;
	--glass-cyan: #68dcff;
	--glass-violet: #8d78ff;
	--glass-ink: #101218;
	--glass-muted: #5e6572;
	--glass-line: rgba(255,255,255,.56);
	--glass-panel: rgba(255,255,255,.52);
	--glass-panel-strong: rgba(255,255,255,.72);
	--glass-dark: rgba(10,13,22,.58);
	--glass-shadow: 0 24px 70px rgba(31,47,82,.15), inset 0 1px 0 rgba(255,255,255,.72);
	--glass-shadow-dark: 0 28px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.2);
	--glass-radius: 30px;
}

html { background: #eaf5ff; }
body {
	background:
		radial-gradient(circle at 14% 2%, rgba(104,220,255,.48), transparent 34rem),
		radial-gradient(circle at 84% 18%, rgba(141,120,255,.3), transparent 36rem),
		linear-gradient(145deg, #f4fbff 0%, #edf3ff 46%, #f8f3ff 100%);
	color: var(--glass-ink);
}

body::before,
body::after {
	position: fixed;
	z-index: -1;
	width: 34rem;
	height: 34rem;
	border-radius: 50%;
	content: "";
	filter: blur(70px);
	opacity: .34;
	pointer-events: none;
}
body::before { top: 12vh; left: -12rem; background: #60d7ff; }
body::after { right: -11rem; bottom: 8vh; background: #9477ff; }

.setek-header {
	top: 0;
	width: 100%;
	margin: 0;
	border: 0;
	border-bottom: 1px solid rgba(255,255,255,.7);
	border-radius: 0;
	background: rgba(255,255,255,.6);
	box-shadow: 0 14px 40px rgba(37,55,93,.12), inset 0 1px 0 rgba(255,255,255,.9);
	backdrop-filter: blur(26px) saturate(160%);
	-webkit-backdrop-filter: blur(26px) saturate(160%);
}
.setek-header__inner { height: 64px; }
.setek-nav__list a { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif; font-weight: 600; }
.setek-lang {
	border-color: rgba(255,255,255,.86);
	background: rgba(255,255,255,.52);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 5px 16px rgba(28,46,76,.1);
}

.setek-home,
.setek-page,
.setek-blog,
.setek-article {
	background: transparent !important;
}

/* (bloque de botón legacy eliminado — fuente única: 'Unified Liquid Glass controls') */

/* Homepage */
.setek-hero {
	width: 100%;
	min-height: 760px;
	margin: 0 0 18px;
	border: 0;
	border-bottom: 1px solid rgba(255,255,255,.5);
	border-radius: 0 0 38px 38px;
	box-shadow: var(--glass-shadow);
	overflow: hidden;
}
.setek-hero .setek-shell {
	/* Panel glass retirado (auditoría 16-jul): glass solo en controles/cards.
	   El texto va directo sobre el gradiente ::before del hero. */
	width: min(850px, calc(100% - 64px));
	margin-left: max(32px, calc((100% - 1180px)/2));
	padding: 42px 0;
}
.setek-proofline {
	width: fit-content;
	padding: 10px 14px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 999px;
	background: rgba(0,0,0,.18);
}
.setek-partner {
	width: min(1180px, calc(100% - 36px));
	margin: 18px auto;
	border: 1px solid var(--glass-line);
	border-radius: 26px;
	background: var(--glass-panel);
	box-shadow: var(--glass-shadow);
	backdrop-filter: blur(24px) saturate(150%);
	-webkit-backdrop-filter: blur(24px) saturate(150%);
}
.setek-intro,
.setek-industries {
	width: min(1180px, calc(100% - 36px));
	margin: 18px auto;
	border: 1px solid rgba(255,255,255,.62);
	border-radius: 38px;
	background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(242,248,255,.42));
	box-shadow: var(--glass-shadow);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}
.setek-services {
	width: min(1420px, calc(100% - 28px));
	margin: 18px auto;
	border: 1px solid rgba(255,255,255,.66);
	border-radius: 38px;
	background:
		radial-gradient(circle at 12% 12%, rgba(98,215,255,.28), transparent 30rem),
		radial-gradient(circle at 90% 80%, rgba(149,125,255,.2), transparent 28rem),
		rgba(240,247,255,.58);
	box-shadow: var(--glass-shadow);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}
.setek-card,
.service-feature,
.service-step,
.setek-post-card {
	border: 1px solid rgba(255,255,255,.74) !important;
	background: linear-gradient(145deg, rgba(255,255,255,.76), rgba(255,255,255,.42)) !important;
	box-shadow: 0 18px 44px rgba(39,58,94,.11), inset 0 1px 0 rgba(255,255,255,.94) !important;
	backdrop-filter: blur(22px) saturate(155%);
	-webkit-backdrop-filter: blur(22px) saturate(155%);
}
.setek-card {
	border-radius: 24px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.setek-card:hover,
.service-feature.case-link:hover,
.setek-post-card:hover {
	box-shadow: 0 24px 56px rgba(39,58,94,.17), inset 0 1px 0 #fff !important;
	transform: translateY(-5px);
}
.setek-feature {
	width: min(1420px, calc(100% - 28px));
	margin: 18px auto;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 38px;
	background:
		radial-gradient(circle at 15% 20%, rgba(0,122,255,.28), transparent 32rem),
		linear-gradient(145deg, #080b13, #151726);
	box-shadow: var(--glass-shadow-dark);
	overflow: hidden;
}
.setek-feature img {
	border: 1px solid rgba(255,255,255,.22);
	box-shadow: 0 30px 60px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.24);
}
.setek-point {
	padding: 18px 20px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 16px;
	background: rgba(255,255,255,.07);
	backdrop-filter: blur(16px);
}
.setek-tags span {
	border: 1px solid rgba(255,255,255,.75);
	background: rgba(255,255,255,.58);
	box-shadow: inset 0 1px 0 #fff, 0 8px 22px rgba(34,55,90,.08);
	backdrop-filter: blur(18px);
}
.setek-cta,
.setek-article__cta {
	width: min(1420px, calc(100% - 28px));
	margin: 18px auto;
	border: 1px solid rgba(255,255,255,.34);
	border-radius: 38px;
	background:
		radial-gradient(circle at 20% 0%, rgba(110,226,255,.55), transparent 30rem),
		radial-gradient(circle at 90% 100%, rgba(143,98,255,.48), transparent 32rem),
		linear-gradient(135deg, #087cff, #4b54e8 60%, #7b4fe4);
	box-shadow: 0 28px 70px rgba(36,87,255,.25), inset 0 1px 0 rgba(255,255,255,.35);
	overflow: hidden;
}

/* Internal service pages */
.service-hero {
	width: 100%;
	margin: 0 0 18px;
	border: 0;
	border-bottom: 1px solid rgba(255,255,255,.18);
	border-radius: 0 0 38px 38px;
	background:
		radial-gradient(circle at 78% 20%, rgba(59,146,255,.3), transparent 30rem),
		radial-gradient(circle at 10% 90%, rgba(144,99,255,.24), transparent 30rem),
		linear-gradient(145deg, #090c14, #151726);
	box-shadow: var(--glass-shadow-dark);
	overflow: hidden;
}
.service-hero__grid > div:first-child,
.service-hero > .setek-shell:not(.service-hero__grid) {
	padding: 36px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: var(--glass-radius);
	background: rgba(255,255,255,.07);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
	backdrop-filter: blur(22px);
	-webkit-backdrop-filter: blur(22px);
}
.service-hero > .setek-shell:not(.service-hero__grid) { width: min(1120px, calc(100% - 64px)); }
.service-hero img {
	border: 1px solid rgba(255,255,255,.24);
	border-radius: 28px;
	box-shadow: 0 28px 64px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.22);
}
.service-block {
	width: min(1180px, calc(100% - 36px));
	margin: 18px auto;
	border: 1px solid rgba(255,255,255,.66);
	border-radius: 38px;
	background: rgba(255,255,255,.55);
	box-shadow: var(--glass-shadow);
	backdrop-filter: blur(24px) saturate(145%);
	-webkit-backdrop-filter: blur(24px) saturate(145%);
}
.service-block--soft {
	background:
		radial-gradient(circle at 90% 10%, rgba(136,112,255,.16), transparent 26rem),
		rgba(239,247,255,.62);
}
.service-feature { border-radius: 24px; }
.service-steps {
	gap: 12px;
	border: 0;
	background: transparent;
}
.service-step { border-radius: 24px; }

/* Blog and articles */
.setek-blog__hero,
.setek-article__header {
	width: min(1420px, calc(100% - 28px));
	margin: 0 auto 18px;
	border: 1px solid rgba(255,255,255,.7);
	border-radius: 38px;
	background:
		radial-gradient(circle at 90% 0%, rgba(117,211,255,.3), transparent 30rem),
		rgba(255,255,255,.6);
	box-shadow: var(--glass-shadow);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}
.setek-blog__grid {
	width: min(1180px, calc(100% - 36px));
	margin: 18px auto;
	padding: 40px;
	border: 1px solid rgba(255,255,255,.68);
	border-radius: 38px;
	background: rgba(255,255,255,.38);
	box-shadow: var(--glass-shadow);
	backdrop-filter: blur(24px);
}
.setek-post-card {
	border-radius: 24px;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
.setek-article__cover img {
	border: 1px solid rgba(255,255,255,.75);
	border-radius: 30px;
	box-shadow: var(--glass-shadow);
}
.setek-article__content {
	margin-bottom: 18px;
	padding: 56px;
	border: 1px solid rgba(255,255,255,.68);
	border-radius: 34px;
	background: rgba(255,255,255,.68);
	box-shadow: var(--glass-shadow);
	backdrop-filter: blur(22px);
}

/* Contact and plain legal pages */
.ct-page {
	width: min(1420px, calc(100% - 28px));
	margin: 0 auto 18px !important;
	border: 1px solid rgba(255,255,255,.68);
	border-radius: 38px;
	background: rgba(255,255,255,.58);
	box-shadow: var(--glass-shadow);
	overflow: hidden;
	backdrop-filter: blur(24px);
}
.ct-hero { margin: 0; }
.ct-form-group input,
.ct-form-group select,
.ct-form-group textarea,
.select2-container .select2-selection {
	border-color: rgba(255,255,255,.78) !important;
	background: rgba(255,255,255,.52) !important;
	box-shadow: inset 0 1px 0 #fff, 0 8px 22px rgba(39,58,94,.07);
	backdrop-filter: blur(18px);
}
#primary.setek-page > h1,
#primary.setek-page > p {
	position: relative;
	z-index: 1;
}
#primary.setek-page > h1 { margin-top: 20px; }
#primary.setek-page > p:not(:first-of-type) {
	padding-right: 28px;
	padding-left: 28px;
	background: rgba(255,255,255,.54);
	box-shadow: var(--glass-shadow);
	backdrop-filter: blur(18px);
}
#primary.setek-page > p:nth-of-type(2) { padding-top: 28px; border-radius: 26px 26px 0 0; }
#primary.setek-page > p:last-child { padding-bottom: 28px; border-radius: 0 0 26px 26px; }

.setek-footer {
	width: min(1420px, calc(100% - 28px));
	margin: 18px auto 14px;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 38px;
	background:
		radial-gradient(circle at 10% 0%, rgba(0,122,255,.18), transparent 28rem),
		rgba(7,10,18,.9);
	box-shadow: var(--glass-shadow-dark);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}

@media (max-width: 900px) {
	.setek-header { top: 0; width: 100%; border-radius: 0; }
	.setek-mobile-menu {
		border-radius: 0 0 20px 20px;
		background: rgba(255,255,255,.82);
		box-shadow: 0 18px 40px rgba(31,47,82,.14);
		backdrop-filter: blur(24px);
	}
	.setek-services,
	.setek-feature,
	.setek-cta,
	.setek-blog__hero,
	.setek-article__header,
	.ct-page,
	.setek-footer { width: calc(100% - 16px); border-radius: 28px; }
	.setek-hero,
	.service-hero { width: 100%; border-radius: 0 0 28px 28px; }
	.setek-partner,
	.setek-intro,
	.setek-industries,
	.service-block,
	.setek-blog__grid { width: calc(100% - 20px); border-radius: 28px; }
}

@media (max-width: 620px) {
	.setek-header__inner { width: calc(100% - 28px); }
	.setek-hero { min-height: 720px; }
	.setek-hero .setek-shell {
		width: calc(100% - 28px);
		margin: auto 14px 0;
		padding: 24px;
		border-radius: 24px;
	}
	.setek-partner { padding: 18px 0; }
	.setek-intro,
	.setek-industries,
	.setek-services,
	.setek-feature,
	.setek-cta,
	.service-block { border-radius: 26px; }
	.service-hero { padding: 20px 0 64px; }
	.service-hero__grid > div:first-child,
	.service-hero > .setek-shell:not(.service-hero__grid) {
		width: auto;
		padding: 24px;
		border-radius: 24px;
	}
	.service-hero img { border-radius: 22px; }
	.setek-card,
	.service-feature,
	.service-step,
	.setek-post-card { border-radius: 22px; }
	.setek-blog__grid { padding: 14px; }
	.setek-article__content {
		width: calc(100% - 20px);
		padding: 28px 22px;
		border-radius: 26px;
	}
	.ct-wrap { padding-right: 18px; padding-left: 18px; }
	.setek-footer { padding-right: 22px; padding-left: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}

/* Unified Liquid Glass controls */
.setek-home .setek-button,
.service-page .setek-button,
.setek-article__cta .setek-button,
.ct-btn {
	position: relative;
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
	min-height: 48px;
	padding: 0 24px;
	border: 1px solid rgba(255,255,255,.88) !important;
	border-radius: 999px !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(240,247,255,.76) 48%, rgba(211,226,244,.62) 100%) !important;
	box-shadow:
		0 10px 26px rgba(22,48,84,.18),
		inset 0 1px 0 rgba(255,255,255,1),
		inset 0 -1px 0 rgba(104,134,171,.18) !important;
	color: #075fd7 !important;
	font-weight: 650 !important;
	-webkit-backdrop-filter: blur(22px) saturate(170%);
	backdrop-filter: blur(22px) saturate(170%);
}
.setek-home .setek-button::before,
.service-page .setek-button::before,
.setek-article__cta .setek-button::before,
.ct-btn::before {
	position: absolute;
	top: 2px;
	right: 16%;
	left: 16%;
	height: 1px;
	border-radius: 999px;
	background: rgba(255,255,255,.95);
	content: "";
	pointer-events: none;
}
.setek-home .setek-button:hover,
.service-page .setek-button:hover,
.setek-article__cta .setek-button:hover,
.ct-btn:hover {
	background:
		linear-gradient(180deg, #fff 0%, rgba(244,250,255,.88) 50%, rgba(220,234,250,.72) 100%) !important;
	box-shadow:
		0 14px 34px rgba(22,72,145,.24),
		inset 0 1px 0 #fff,
		inset 0 -1px 0 rgba(104,134,171,.2) !important;
	transform: translateY(-2px);
}
.setek-home .setek-button--ghost,
.service-page .setek-button--ghost {
	border-color: rgba(255,255,255,.4) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.11)) !important;
	box-shadow:
		0 10px 26px rgba(0,0,0,.17),
		inset 0 1px 0 rgba(255,255,255,.42),
		inset 0 -1px 0 rgba(255,255,255,.08) !important;
	color: #fff !important;
}
.setek-home .setek-button--ghost:hover,
.service-page .setek-button--ghost:hover {
	background:
		linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.16)) !important;
	box-shadow:
		0 14px 34px rgba(0,0,0,.22),
		inset 0 1px 0 rgba(255,255,255,.52) !important;
}

.setek-tags span {
	position: relative;
	padding: 11px 18px;
	border: 1px solid rgba(255,255,255,.9) !important;
	border-radius: 999px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.9), rgba(231,240,249,.64)) !important;
	box-shadow:
		0 9px 24px rgba(30,52,82,.12),
		inset 0 1px 0 #fff,
		inset 0 -1px 0 rgba(104,134,171,.13) !important;
	-webkit-backdrop-filter: blur(20px) saturate(160%);
	backdrop-filter: blur(20px) saturate(160%);
}
.setek-tags span::before {
	position: absolute;
	top: 2px;
	right: 22%;
	left: 22%;
	height: 1px;
	border-radius: 999px;
	background: rgba(255,255,255,.96);
	content: "";
}

.setek-cta,
.setek-article__cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.setek-crystal-canvas {
	position: absolute;
	z-index: 0;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	opacity: .72;
	mix-blend-mode: screen;
	pointer-events: none;
}
.setek-cta::after,
.setek-article__cta::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(5,112,245,.58), rgba(62,74,222,.54), rgba(117,55,226,.58));
	content: "";
	pointer-events: none;
}
.setek-cta > *:not(.setek-crystal-canvas),
.setek-article__cta > *:not(.setek-crystal-canvas) {
	position: relative;
	z-index: 2;
}

/*
 * Apple-like structural correction:
 * pages stay flat and rectilinear; glass is reserved for controls and cards.
 */
html,
body {
	background: #fff;
}
body::before,
body::after { display: none; }

.setek-header {
	border-bottom: 1px solid rgba(17,20,27,.1);
	background: rgba(247,250,253,.86);
	box-shadow: none;
}
.setek-header__inner { height: 68px; }
.setek-nav__list {
	gap: 4px;
	padding: 5px;
	border: 1px solid rgba(255,255,255,.82);
	border-radius: 999px;
	background: rgba(223,232,241,.52);
	box-shadow: 0 8px 24px rgba(32,48,74,.1), inset 0 1px 0 rgba(255,255,255,.95);
	backdrop-filter: blur(22px) saturate(160%);
	-webkit-backdrop-filter: blur(22px) saturate(160%);
}
.setek-nav__list a {
	display: block;
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: 999px;
	transition: color .2s ease, background .2s ease, box-shadow .2s ease;
}
.setek-nav__list a:hover {
	background: rgba(255,255,255,.48);
	color: var(--glass-ink);
}
.setek-nav__list a.is-active {
	border-color: rgba(255,255,255,.92);
	background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(238,245,252,.72));
	box-shadow: 0 5px 16px rgba(29,45,70,.14), inset 0 1px 0 #fff;
	color: #075ccf;
}

.setek-hero,
.service-hero,
.setek-partner,
.setek-intro,
.setek-services,
.setek-feature,
.setek-industries,
.setek-cta,
.service-block,
.setek-blog__hero,
.setek-blog__grid,
.setek-article__header,
.setek-article__content,
.setek-article__cta,
.ct-page,
.setek-footer {
	width: 100%;
	margin: 0;
	border-right: 0;
	border-left: 0;
	border-radius: 0;
	box-shadow: none;
}

.setek-hero,
.service-hero {
	border-bottom: 0;
	border-radius: 0;
}
.setek-partner,
.setek-intro,
.setek-services,
.setek-feature,
.setek-industries,
.setek-cta,
.service-block,
.setek-blog__hero,
.setek-blog__grid,
.setek-article__header,
.setek-article__cta,
.setek-footer {
	border-top: 0;
	border-bottom: 0;
}
.setek-partner,
.setek-intro,
.setek-industries,
.service-block,
.setek-blog__hero,
.setek-blog__grid,
.setek-article__header {
	background: #fff;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.setek-services,
.service-block--soft,
.setek-blog__grid {
	background:
		radial-gradient(circle at 90% 6%, rgba(139,120,255,.13), transparent 32rem),
		radial-gradient(circle at 7% 90%, rgba(91,207,255,.14), transparent 32rem),
		#f5f8fc;
}
.setek-feature {
	background:
		radial-gradient(circle at 15% 20%, rgba(0,122,255,.24), transparent 32rem),
		linear-gradient(145deg, #080b13, #151726);
}
.setek-cta,
.setek-article__cta {
	background:
		radial-gradient(circle at 20% 0%, rgba(110,226,255,.5), transparent 30rem),
		radial-gradient(circle at 90% 100%, rgba(143,98,255,.44), transparent 32rem),
		linear-gradient(135deg, #087cff, #4b54e8 60%, #7b4fe4);
}
.setek-footer {
	background:
		radial-gradient(circle at 10% 0%, rgba(0,122,255,.16), transparent 28rem),
		#090c14;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.setek-article__content {
	/* The de-glass block above makes every full-bleed section `width:100%;
	   margin:0`. The article body is not full-bleed — it is a reading column —
	   so the original measure has to come back here, or the text sticks to the
	   left edge on desktop and touches both screen edges on mobile while the
	   header above it keeps its 20px gutters. Same formula as the header so
	   the two stay aligned at every width. */
	width: min(760px, calc(100% - 40px));
	max-width: 760px;
	margin-inline: auto;
	padding-right: 0;
	padding-left: 0;
	border: 0;
	background: #fff;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.ct-page {
	border: 0;
	background: #fff;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
#primary.setek-page > p:not(:first-of-type) {
	background: #fff;
	box-shadow: none;
	backdrop-filter: none;
}

@media (max-width: 900px) {
	.setek-header,
	.setek-hero,
	.service-hero,
	.setek-partner,
	.setek-intro,
	.setek-services,
	.setek-feature,
	.setek-industries,
	.setek-cta,
	.service-block,
	.setek-blog__hero,
	.setek-blog__grid,
	.setek-article__header,
	.setek-article__cta,
	.ct-page,
	.setek-footer {
		width: 100%;
		border-radius: 0;
	}
	.setek-mobile-menu {
		border-radius: 0;
		background: rgba(245,249,252,.92);
	}
	.setek-mobile-menu .setek-nav__list {
		gap: 6px;
		padding: 8px;
		border-radius: 22px;
	}
	.setek-mobile-menu .setek-nav__list a {
		padding: 14px 16px;
	}
}
