/*!
Theme Name: Hazel Child — SETEK
Template: hazel
Version: 1.1.0
Text Domain: hazel-child
*/

:root {
	--setek-ink: #0a0a0c;
	--setek-muted: #666773;
	--setek-blue: #0071e3;
	--setek-dark: #090c14;
	--setek-dark-2: #151726;
	--setek-surface: #f4f5f7;
	--setek-line: #e2e4e9;
}

body { margin: 0; }
.setek-skip { position: fixed; left: 12px; top: -80px; z-index: 9999; padding: 10px 14px; background: #fff; color: #000; }
.setek-skip:focus { top: 12px; }
.setek-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid rgba(10,10,12,.08);
	background: rgba(255,255,255,.94);
	backdrop-filter: blur(16px);
}
.setek-header__inner {
	display: flex;
	width: min(1180px, calc(100% - 48px));
	height: 74px;
	margin-inline: auto;
	align-items: center;
	gap: 28px;
}
.setek-brand { display: flex; width: 132px; margin-right: auto; }
.setek-brand img { display: block; width: 100%; height: auto; }
.setek-nav__list { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
.setek-nav__list a { color: var(--setek-ink); font: 600 13px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif; }
.setek-nav__list a:hover { color: var(--setek-blue); }
.setek-lang { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid var(--setek-line); border-radius: 50%; color: var(--setek-ink); font: 700 11px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif; }
.setek-menu-toggle { display: none; width: 38px; height: 38px; padding: 8px; border: 0; background: transparent; }
.setek-menu-toggle span:not(.screen-reader-text) {
	display: block;
	height: 2px;
	margin: 4px 0;
	background: var(--setek-ink);
	transition: transform .2s ease, opacity .2s ease;
}
.setek-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.setek-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.setek-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.setek-mobile-menu { border-top: 1px solid var(--setek-line); padding: 18px 24px; background: #fff; }
.setek-mobile-menu .setek-nav__list { align-items: stretch; flex-direction: column; gap: 0; }
.setek-mobile-menu a { display: block; padding: 13px 0; }

.setek-home {
	background: #fff;
	color: var(--setek-ink);
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
}
.setek-page { min-height: 60vh; overflow: hidden; background: #fff; }
.setek-page > :first-child { margin-top: 0; }
.setek-page img { max-width: 100%; height: auto; }
.service-page { background: #fff; color: var(--setek-ink); font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif; }
.service-hero { padding: 120px 0 96px; background: var(--setek-ink); color: #fff; }
.service-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 72px; align-items: center; }
.service-hero h1 { max-width: 760px; margin: 0; font-size: clamp(42px,6vw,76px); line-height: .98; letter-spacing: -.05em; }
.service-hero p { max-width: 650px; margin: 24px 0 0; color: rgba(255,255,255,.7); font-size: 19px; line-height: 1.65; }
.service-hero img { width: 100%; height: auto; border-radius: 8px; background: rgba(255,255,255,.05); }
.service-page .setek-button--ghost { border-color: rgba(255,255,255,.55); color: #fff !important; }
.service-block { padding: 96px 0; }
.service-block--soft { background: var(--setek-surface); }
.service-heading { max-width: 790px; margin: 0; font-size: clamp(34px,4.5vw,58px); line-height: 1.05; letter-spacing: -.04em; }
.service-copy { max-width: 720px; margin: 22px 0 0; color: var(--setek-muted); font-size: 18px; line-height: 1.75; }
.service-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 50px; }
.service-feature { padding: 30px; border: 1px solid var(--setek-line); border-radius: 8px; background: #fff; }
.service-feature strong { display: block; margin-bottom: 12px; font-size: 20px; }
.service-feature p { margin: 0; color: var(--setek-muted); font-size: 15px; line-height: 1.7; }
.service-feature.case-link {
	color: var(--setek-ink);
	text-decoration: none;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.service-feature.case-link::after {
	display: block;
	margin-top: 22px;
	color: var(--setek-blue);
	content: "Read story →";
	font-size: 14px;
	font-weight: 600;
}
html[lang="es-ES"] .service-feature.case-link::after { content: "Leer historia →"; }
.service-feature.case-link:hover {
	border-color: rgba(0,113,227,.38);
	box-shadow: 0 16px 36px rgba(0,0,0,.07);
	transform: translateY(-3px);
}
.service-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 50px; background: var(--setek-line); border: 1px solid var(--setek-line); }
.service-step { padding: 30px; background: #fff; }
.service-step span { color: var(--setek-blue); font-size: 12px; font-weight: 800; }
.service-step h3 { margin: 34px 0 10px; font-size: 20px; }
.service-step p { margin: 0; color: var(--setek-muted); line-height: 1.65; }
@media(max-width:900px){.service-hero__grid{grid-template-columns:1fr}.service-features{grid-template-columns:1fr 1fr}.service-steps{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.service-hero{padding:82px 0 68px}.service-block{padding:70px 0}.service-features,.service-steps{grid-template-columns:1fr}}
.setek-blog,.setek-article{background:#fff;color:var(--setek-ink);font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif}
.setek-blog__hero{padding:100px 0 76px;background:var(--setek-surface)}
.setek-blog__hero h1{max-width:800px;margin:0;font-size:clamp(42px,6vw,72px);line-height:1;letter-spacing:-.05em}
.setek-blog__hero p:last-child{max-width:640px;margin:24px 0 0;color:var(--setek-muted);font-size:18px;line-height:1.7}
.setek-blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:72px;padding-bottom:48px}
.setek-post-card{overflow:hidden;border:1px solid var(--setek-line);border-radius:8px;background:#fff}
.setek-post-card__image{display:block;aspect-ratio:16/10;background:var(--setek-surface)}
.setek-post-card__image img{width:100%;height:100%;object-fit:cover}
.setek-post-card__body{padding:24px}
.setek-post-card time{color:var(--setek-muted);font-size:12px}
.setek-post-card h2{margin:16px 0 12px;font-size:22px;line-height:1.2}
.setek-post-card h2 a,.setek-post-card__more{color:var(--setek-ink)}
.setek-post-card p{color:var(--setek-muted);line-height:1.65}
.setek-post-card__more{font-weight:700}
.setek-pagination{padding-bottom:80px}
.setek-article__header{padding:100px 0 60px;background:var(--setek-surface)}
.setek-article__narrow,.setek-article__content{width:min(760px,calc(100% - 40px));margin-inline:auto}
.setek-article__header h1{margin:0;font-size:clamp(38px,5vw,66px);line-height:1.04;letter-spacing:-.045em}
.setek-article__meta{display:flex;gap:20px;margin-top:24px;color:var(--setek-muted);font-size:13px}
.setek-article__cover{width:min(1080px,calc(100% - 40px));margin:56px auto}
.setek-article__cover img{width:100%;max-height:620px;object-fit:cover;border-radius:8px}
.setek-article__content{padding-bottom:80px;font-size:18px;line-height:1.8}
.setek-article__content h2{margin-top:52px;font-size:34px;line-height:1.2}
.setek-article__content img{max-width:100%;height:auto}
.setek-article__cta{padding:64px 24px;background:var(--setek-blue);color:#fff;text-align:center}
.setek-article__cta h2{margin:0 0 24px;font-size:34px}
.setek-article__cta .setek-button{background:#fff;color:var(--setek-ink)!important;border-color:#fff}
@media(max-width:900px){.setek-blog__grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.setek-blog__grid{grid-template-columns:1fr}}

/* SETEK Apple-inspired visual system */
.setek-home,
.setek-home h1,
.setek-home h2,
.setek-home h3,
.setek-home p,
.setek-home strong,
.setek-home span {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}
.setek-home {
	--setek-ink: #1d1d1f;
	--setek-muted: #6e6e73;
	--setek-blue: #0071e3;
	--setek-surface: #f5f5f7;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}
.setek-home .setek-eyebrow {
	margin-bottom: 20px;
	color: inherit;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}
.setek-home .setek-title {
	color: var(--setek-ink) !important;
	font-size: clamp(38px, 5.2vw, 72px) !important;
	font-weight: 700;
	letter-spacing: -.055em;
	line-height: .98;
}
.setek-home .setek-lead {
	color: var(--setek-muted) !important;
	font-size: clamp(19px, 2vw, 25px) !important;
	letter-spacing: -.015em;
	line-height: 1.45;
}
.setek-home .setek-button {
	min-height: 44px;
	padding: 0 22px;
	border-color: var(--setek-blue);
	border-radius: 999px;
	background: var(--setek-blue);
	font-size: 14px;
	font-weight: 500;
}
.setek-home .setek-button--ghost {
	border-color: transparent;
	background: transparent;
	color: #2997ff !important;
}
.setek-home .setek-button--ghost::after { content: " ›"; margin-left: 5px; }

.setek-hero {
	min-height: 790px;
	background:
		linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.58) 48%, rgba(0,0,0,.04) 82%),
		url("/wp-content/uploads/2026/03/Apple-Business-hero_big.jpg.large_2x.jpg") 58% center/cover no-repeat;
}
.setek-hero .setek-shell { padding-top: 18px; }
.setek-hero .setek-eyebrow { color: #f5f5f7 !important; }
.setek-hero .setek-title {
	max-width: 850px;
	color: #f5f5f7 !important;
	text-wrap: balance;
}
.setek-hero .setek-lead { max-width: 620px; color: rgba(255,255,255,.78) !important; }
.setek-hero .setek-button { border-color: #f5f5f7; background: #f5f5f7; color: #1d1d1f !important; }
.setek-hero .setek-button:hover { border-color: #fff; background: #fff; }
.setek-hero .setek-button--ghost { border-color: transparent; background: transparent; color: #fff !important; }
.setek-proofline { margin-top: 46px; color: rgba(255,255,255,.68); font-size: 11px; }
.setek-proofline span::before { color: #30d158; }

.setek-partner { padding: 30px 0; border: 0; }
.setek-partner .setek-shell { justify-content: center; }
.setek-partner img { width: min(560px, 88vw); }
.setek-partner p { display: none; }

.setek-section { padding: 132px 0; }
.setek-intro { text-align: center; }
/* Row 7 of the client review: the gap under the partner band read as dead
   space, so the intro sits closer to it and the body copy is a step larger.
   Both selectors are needed — a later `.setek-section` rule sets the padding
   and `.setek-intro-copy` its line-height, so plain class specificity loses. */
.setek-section.setek-intro { padding-top: 76px; }
.setek-intro .setek-intro-copy { line-height: 1.55; }
.setek-intro-grid { display: block; }
.setek-intro .setek-title { max-width: 880px; margin-inline: auto; font-size: clamp(42px,5.2vw,72px); }
.setek-intro-copy {
	max-width: 700px;
	margin: 30px auto 0;
	color: var(--setek-muted) !important;
	font-size: 24px;
	letter-spacing: -.02em;
	line-height: 1.55;
}

.setek-services { background: var(--setek-surface); text-align: center; }
.setek-services .setek-title { max-width: 920px; margin-inline: auto; font-size: clamp(40px,5vw,68px); }
.setek-grid { gap: 14px; margin-top: 70px; text-align: left; }
.setek-card {
	min-height: 340px;
	padding: 40px;
	border: 0;
	border-radius: 24px;
	box-shadow: none;
}
.setek-card:hover { transform: translateY(-5px) !important; box-shadow: 0 18px 50px rgba(0,0,0,.06); }
.setek-card-num { color: var(--setek-muted) !important; font-size: 12px; }
.setek-card h3 {
	margin: 62px 0 16px;
	color: var(--setek-ink) !important;
	font-size: 29px !important;
	font-weight: 600;
	letter-spacing: -.035em;
}
.setek-card p { color: var(--setek-muted) !important; font-size: 16px !important; }
.setek-card a { color: var(--setek-blue); font-weight: 500; }

.setek-feature { padding: 126px 0; background: #000; }
.setek-feature-grid { gap: 90px; }
.setek-feature img { border-radius: 24px; }
.setek-feature .setek-eyebrow,
.setek-feature .setek-title { color: #f5f5f7 !important; }
.setek-feature .setek-title { font-size: clamp(40px,4.8vw,66px); }
.setek-feature .setek-lead { color: #a1a1a6 !important; }
.setek-point strong { color: #f5f5f7 !important; }
.setek-point span { color: #a1a1a6 !important; }

.setek-industries { text-align: center; }
.setek-industries .setek-title { max-width: 880px; margin-inline: auto; font-size: clamp(40px,5vw,68px); }
.setek-tags { justify-content: center; margin-top: 48px; }
.setek-tags span {
	padding: 12px 20px;
	border: 0;
	background: var(--setek-surface);
	color: var(--setek-ink) !important;
}
.setek-cta { padding: 126px 0; background: #000; }
.setek-cta .setek-eyebrow,
.setek-cta .setek-title { color: #f5f5f7 !important; }
.setek-cta .setek-title { font-size: clamp(40px,4.8vw,58px); }
.setek-cta .setek-lead { color: #a1a1a6 !important; }
.setek-cta .setek-button { border-color: #f5f5f7; background: #f5f5f7; }

@media (max-width: 900px) {
	.setek-hero { min-height: 720px; background-position: 64% center; }
	.setek-grid { grid-template-columns: 1fr 1fr; }
}

.setek-intro .setek-title { font-size: clamp(42px,5.2vw,72px) !important; }
.setek-intro-copy { font-size: 24px !important; }
.setek-services .setek-title { font-size: clamp(40px,5vw,68px) !important; }
.setek-card-num { font-size: 12px !important; }
.setek-card a { font-size: 15px !important; }
.setek-feature .setek-title { font-size: clamp(40px,4.8vw,66px) !important; }
.setek-point strong { font-size: 16px !important; }
.setek-point span { font-size: 14px !important; }
.setek-industries .setek-title { font-size: clamp(40px,5vw,68px) !important; }
.setek-tags span { font-size: 14px !important; }
.setek-cta .setek-title { font-size: clamp(40px,4.8vw,58px) !important; }

#primary.setek-home,
#primary.setek-home * {
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
}
.setek-home .setek-card p {
	display: block !important;
	height: auto !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
}
@media (max-width: 620px) {
	.setek-hero {
		min-height: 690px;
		align-items: end;
		padding-bottom: 58px;
		background:
			linear-gradient(0deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.48) 57%, rgba(0,0,0,.06) 100%),
			url("/wp-content/uploads/2026/03/Apple-Business-hero_big.jpg.large_2x.jpg") 60% center/cover no-repeat;
	}
	.setek-hero .setek-title { font-size: 48px; }
	.setek-hero .setek-lead { font-size: 19px; }
	.setek-proofline { display: none; }
	.setek-grid { grid-template-columns: 1fr; }
	.setek-card { min-height: 285px; padding: 30px; }
	.setek-feature { padding: 86px 0; }
	.setek-cta { padding: 92px 0; }
}

.setek-home * { box-sizing: border-box; }
.setek-home a { text-decoration: none; }
.setek-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.setek-section { padding: 104px 0; }
.setek-eyebrow {
	margin: 0 0 18px;
	color: var(--setek-blue);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}
.setek-title {
	max-width: 820px;
	margin: 0;
	font-size: clamp(38px, 5vw, 68px);
	font-weight: 700;
	letter-spacing: -.045em;
	line-height: 1.02;
}
.setek-lead {
	max-width: 680px;
	margin: 24px 0 0;
	color: var(--setek-muted);
	font-size: clamp(17px, 2vw, 21px);
	line-height: 1.65;
}
.setek-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.setek-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 24px;
	border: 1px solid var(--setek-ink);
	border-radius: 4px;
	background: var(--setek-ink);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	transition: transform .2s ease, background .2s ease;
}
.setek-button:hover { transform: translateY(-2px); background: var(--setek-blue); border-color: var(--setek-blue); }
.setek-button--ghost { background: transparent; color: var(--setek-ink) !important; }
.setek-button--ghost:hover { color: #fff !important; }

.setek-hero {
	position: relative;
	display: grid;
	min-height: 760px;
	align-items: center;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(5, 7, 12, .95) 0%, rgba(5, 7, 12, .83) 44%, rgba(5, 7, 12, .12) 78%),
		url("/wp-content/uploads/2026/03/Apple-Business-hero_big.jpg.large_2x.jpg") center/cover;
	color: #fff;
}
.setek-hero .setek-shell { position: relative; z-index: 1; }
.setek-hero .setek-eyebrow { color: #a9bdff; }
.setek-hero .setek-title { max-width: 780px; }
.setek-hero .setek-lead { max-width: 620px; color: rgba(255,255,255,.75); }
.setek-hero .setek-button { background: #fff; border-color: #fff; color: var(--setek-ink) !important; }
.setek-hero .setek-button:hover { background: var(--setek-blue); border-color: var(--setek-blue); color: #fff !important; }
.setek-hero .setek-button--ghost { background: rgba(255,255,255,.04); color: #fff !important; }
.setek-proofline {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 52px;
	color: rgba(255,255,255,.67);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.setek-proofline span::before { content: "●"; margin-right: 9px; color: #30d158; }

.setek-partner {
	padding: 26px 0;
	border-bottom: 1px solid var(--setek-line);
	background: #fff;
}
.setek-partner .setek-shell { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.setek-partner img { width: min(520px, 58vw); height: auto; }
.setek-partner p { margin: 0; color: var(--setek-muted); font-size: 14px; }

.setek-intro { background: #fff; }
.setek-intro-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: end; }
.setek-intro-copy { color: var(--setek-muted); font-size: 18px; line-height: 1.75; }

.setek-services { background: var(--setek-surface); }
.setek-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 52px; }
.setek-card {
	min-height: 290px;
	padding: 32px;
	border: 1px solid var(--setek-line);
	border-radius: 8px;
	background: #fff;
	transition: transform .25s ease, box-shadow .25s ease;
}
.setek-card:hover { transform: translateY(-5px); box-shadow: 0 20px 48px rgba(10,10,12,.08); }
.setek-card-num { color: var(--setek-blue); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.setek-card h3 { margin: 54px 0 15px; font-size: 25px; letter-spacing: -.025em; }
.setek-card p { margin: 0; color: var(--setek-muted); font-size: 15px; line-height: 1.7; }
.setek-card a { display: inline-block; margin-top: 24px; color: var(--setek-ink); font-weight: 700; }

.setek-feature { background: var(--setek-ink); color: #fff; }
.setek-feature-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 72px; align-items: center; }
.setek-feature img { width: 100%; height: auto; border-radius: 8px; }
.setek-feature .setek-lead { color: rgba(255,255,255,.68); }
.setek-points { display: grid; gap: 18px; margin-top: 34px; }
.setek-point { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); }
.setek-point strong { display: block; margin-bottom: 5px; }
.setek-point span { color: rgba(255,255,255,.62); font-size: 14px; }

.setek-industries { background: #fff; }
.setek-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 38px; }
.setek-tags span { padding: 12px 18px; border: 1px solid var(--setek-line); border-radius: 999px; font-size: 14px; }

.setek-cta { padding: 100px 0; background: var(--setek-blue); color: #fff; text-align: center; }
.setek-cta .setek-title, .setek-cta .setek-lead { margin-inline: auto; }
.setek-cta .setek-lead { color: rgba(255,255,255,.74); }
.setek-cta .setek-actions { justify-content: center; }
.setek-cta .setek-button { background: #fff; border-color: #fff; color: var(--setek-ink) !important; }

.setek-footer { padding: 78px max(24px, calc((100vw - 1180px)/2)) 28px; background: #090a0d; color: #fff; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif; }
.setek-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 54px; }
.setek-footer__logo { width: 190px; height: auto; margin-bottom: 20px; }
.setek-footer p { max-width: 300px; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.7; }
.setek-footer h2 { margin: 0 0 20px; color: #fff; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.setek-footer a { display: block; margin: 0 0 12px; color: rgba(255,255,255,.66); font-size: 14px; }
.setek-footer a:hover { color: #fff; }
.setek-footer__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 58px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.6); font-size: 12px; }
.setek-footer__bottom div { display: flex; gap: 20px; }
.setek-footer__bottom a { margin: 0; }

@media (max-width: 900px) {
	.setek-section { padding: 76px 0; }
	.setek-hero { min-height: 680px; background-position: 62% center; }
	.setek-intro-grid, .setek-feature-grid { grid-template-columns: 1fr; gap: 42px; }
	.setek-grid { grid-template-columns: 1fr 1fr; }
	.setek-nav { display: none; }
	.setek-menu-toggle { display: block; }
	.setek-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
	.setek-shell { width: min(100% - 32px, 1180px); }
	.setek-grid { grid-template-columns: 1fr; }
	.setek-partner .setek-shell { align-items: flex-start; flex-direction: column; }
	.setek-partner img { width: 100%; }
	.setek-proofline { gap: 14px; }
	.setek-header__inner { width: calc(100% - 32px); }
	.setek-footer__grid { grid-template-columns: 1fr; }
	.setek-footer__bottom { align-items: flex-start; flex-direction: column; }
}

/* Final priority overrides: keep after all legacy Hazel compatibility rules. */
.setek-home,
.setek-home * {
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
}
#primary.setek-home .setek-title {
	font-size: clamp(38px, 5.2vw, 72px) !important;
	font-weight: 700 !important;
	letter-spacing: -.055em !important;
	line-height: .98 !important;
}
#primary.setek-home .setek-lead { font-size: clamp(19px, 2vw, 25px) !important; }
#primary.setek-home .setek-card h3 {
	height: auto !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 29px !important;
	line-height: 1.12 !important;
}
#primary#primary#primary#primary#primary#primary#primary#primary.setek-home .setek-card h3 {
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
}
#primary.setek-home .setek-card p {
	display: block !important;
	height: auto !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
}
#primary.setek-home .setek-card a { font-size: 15px !important; }
#primary.setek-home .setek-card-num { font-size: 12px !important; }
#primary.setek-home .setek-point strong { font-size: 16px !important; }
#primary.setek-home .setek-point span,
#primary.setek-home .setek-tags span { font-size: 14px !important; }
@media (max-width: 620px) {
	#primary.setek-home .setek-title { font-size: 44px !important; }
}

/* Internal page typography shield against Hazel's empty legacy font options. */
#primary.setek-page,
#primary.setek-page * {
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
}
#primary.setek-page .service-hero .setek-eyebrow,
#primary.setek-page .service-block .setek-eyebrow,
#primary.setek-page .setek-cta .setek-eyebrow {
	display: block !important;
	height: auto !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}
#primary.setek-page .service-hero p:not(.setek-eyebrow) {
	display: block !important;
	height: auto !important;
	font-size: 19px !important;
	line-height: 1.55 !important;
}
#primary.setek-page .service-copy {
	display: block !important;
	height: auto !important;
	font-size: 18px !important;
	line-height: 1.7 !important;
}
#primary.setek-page .service-feature p,
#primary.setek-page .service-step p {
	display: block !important;
	height: auto !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
}
#primary.setek-page .setek-cta .setek-lead {
	display: block !important;
	height: auto !important;
	font-size: 20px !important;
	line-height: 1.55 !important;
}
#primary#primary#primary#primary#primary#primary#primary#primary.setek-page .service-hero h1 {
	height: auto !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
	font-size: clamp(42px, 6vw, 76px) !important;
	line-height: .98 !important;
}
#primary#primary#primary#primary#primary#primary#primary#primary.setek-page .service-heading {
	height: auto !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
	font-size: clamp(34px, 4.5vw, 58px) !important;
	line-height: 1.05 !important;
}
#primary#primary#primary#primary#primary#primary#primary#primary.setek-page .service-step h3 {
	height: auto !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 20px !important;
	line-height: 1.2 !important;
}

/* Blog and article typography shield. */
#primary.setek-blog,
#primary.setek-blog *,
#primary.setek-article,
#primary.setek-article * {
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
}
#primary.setek-blog .setek-blog__hero .setek-eyebrow,
#primary.setek-blog .setek-blog__hero p:last-child {
	display: block !important;
	height: auto !important;
	font-size: 18px !important;
	line-height: 1.6 !important;
}
#primary.setek-blog .setek-blog__hero .setek-eyebrow {
	font-size: 12px !important;
	line-height: 1.35 !important;
}
#primary.setek-blog .setek-post-card h2 {
	display: block !important;
	height: auto !important;
	margin: 16px 0 12px !important;
	font-size: 22px !important;
	line-height: 1.2 !important;
}
#primary.setek-blog .setek-post-card p {
	display: block !important;
	height: auto !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
}
#primary#primary#primary#primary#primary#primary#primary#primary.setek-blog .setek-blog__hero h1 {
	height: auto !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
	font-size: clamp(42px, 6vw, 72px) !important;
	line-height: 1 !important;
}
#primary#primary#primary#primary#primary#primary#primary#primary.setek-blog .setek-post-card h2 {
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
}
#primary.setek-article .setek-article__content p,
#primary.setek-article .setek-article__content li {
	display: block !important;
	height: auto !important;
	font-size: 18px !important;
	line-height: 1.8 !important;
}
#primary.setek-article .setek-article__header .setek-eyebrow {
	display: block !important;
	height: auto !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}
#primary.setek-article .setek-article__cta p {
	display: block !important;
	height: auto !important;
	font-size: 18px !important;
	line-height: 1.6 !important;
}
#primary#primary#primary#primary#primary#primary#primary#primary.setek-article .setek-article__header h1 {
	height: auto !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
	font-size: clamp(38px, 5vw, 66px) !important;
	line-height: 1.04 !important;
}
#primary#primary#primary#primary#primary#primary#primary#primary.setek-article .setek-article__content h2 {
	height: auto !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 34px !important;
	line-height: 1.2 !important;
}
#primary#primary#primary#primary#primary#primary#primary#primary.setek-article .setek-article__cta h2 {
	height: auto !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
	font-size: clamp(32px, 4vw, 48px) !important;
	line-height: 1.08 !important;
}

.ct-consent {
	display: flex;
	grid-column: 1 / -1;
	gap: 10px;
	align-items: flex-start;
	color: #555;
	font-size: 13px;
	line-height: 1.5;
}
.ct-consent input {
	width: 18px;
	height: 18px;
	margin-top: 1px;
	accent-color: #0071e3;
}
.ct-consent a { color: #0071e3; text-decoration: underline; }

/* Plain legal pages use direct Gutenberg children inside .setek-page. */
#primary.setek-page > h1,
#primary.setek-page > p {
	width: min(820px, calc(100% - 40px));
	height: auto !important;
	margin-right: auto;
	margin-left: auto;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif !important;
}
#primary#primary#primary#primary#primary#primary#primary#primary.setek-page > h1 {
	padding-top: 96px;
	color: var(--setek-ink) !important;
	font-size: clamp(40px, 6vw, 68px) !important;
	line-height: 1.02 !important;
	letter-spacing: -.045em !important;
}
#primary.setek-page > p {
	display: block !important;
	font-size: 18px !important;
	line-height: 1.75 !important;
}
#primary.setek-page > p:first-of-type {
	margin-top: 38px;
	padding: 20px 22px;
	border: 1px solid #f1d28b;
	border-radius: 12px;
	background: #fff8e8;
	color: #5f4500 !important;
}
#primary.setek-page > p:last-child { padding-bottom: 96px; }

/* ------------------------------------------------------------------ */
/* Proof section: client testimonials + self-service logo marquee     */
/* (client request 10-jul: replicate old-web testimonials on home)    */
/* ------------------------------------------------------------------ */
.setek-proof { background: var(--setek-surface); text-align: center; }
.setek-proof .setek-title { max-width: 900px; margin-inline: auto; font-size: clamp(40px,5vw,68px); }
.setek-quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 70px; text-align: left; }
.setek-quote {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 40px;
	border-radius: 24px;
	background: #fff;
}
.setek-quote-stars { color: #f5a623; font-size: 14px; letter-spacing: 3px; }
.setek-quote blockquote {
	margin: 22px 0 28px;
	color: var(--setek-ink) !important;
	font-size: 17px !important;
	letter-spacing: -.015em;
	line-height: 1.55;
}
.setek-quote figcaption { display: flex; gap: 14px; align-items: center; margin-top: auto; }
.setek-quote-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--setek-ink);
	color: #f5f5f7;
	font-size: 16px;
	font-weight: 600;
}
.setek-quote-name { display: block; color: var(--setek-ink) !important; font-size: 15px !important; font-weight: 600; }
.setek-quote-role { display: block; color: var(--setek-muted) !important; font-size: 13px !important; }

.setek-logo-band { overflow: hidden; margin-top: 74px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.setek-logo-track { display: flex; gap: 72px; width: max-content; align-items: center; animation: setek-logo-scroll 36s linear infinite; }
.setek-logo-track img {
	width: auto;
	max-width: 170px;
	height: 44px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .55;
	transition: opacity .2s ease, filter .2s ease;
}
.setek-logo-track img:hover { filter: none; opacity: 1; }
@keyframes setek-logo-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.setek-logo-track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; }
}
@media (max-width: 900px) { .setek-quotes { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------ */
/* FAQ pages (accordion, native details/summary)                      */
/* ------------------------------------------------------------------ */
.setek-faq-list { max-width: 820px; margin: 56px auto 0; text-align: left; }
.setek-faq-item { border-bottom: 1px solid var(--setek-line); }
.setek-faq-item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 26px 4px;
	color: var(--setek-ink) !important;
	font-size: 19px !important;
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.4 !important;
	cursor: pointer;
	list-style: none;
}
.setek-faq-item summary::-webkit-details-marker { display: none; }
.setek-faq-item summary::after { content: "+"; flex: 0 0 auto; color: var(--setek-muted); font-size: 24px; font-weight: 400; transition: transform .2s ease; }
.setek-faq-item[open] summary::after { transform: rotate(45deg); }
.setek-faq-item p { height: auto !important; margin: 0; padding: 0 4px 28px; color: var(--setek-muted) !important; font-size: 16px !important; line-height: 1.7 !important; }

/* ------------------------------------------------------------------ */
/* Footer newsletter subscription                                     */
/* ------------------------------------------------------------------ */
.setek-footer__news { margin-bottom: 58px; padding-bottom: 54px; border-bottom: 1px solid rgba(255,255,255,.13); }
.setek-footer__news h2 { margin: 0 0 8px; color: #fff; font-size: 21px; letter-spacing: -.02em; text-transform: none; }
.setek-footer__news > p { max-width: 460px; }
.setek-news-form { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.setek-news-form input[type="email"] {
	flex: 1 1 260px;
	max-width: 380px;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid rgba(255,255,255,.22) !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,.07) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
}
.setek-news-form input[type="email"]::placeholder { color: rgba(255,255,255,.6); }
.setek-news-form button {
	min-height: 46px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: #f5f5f7 !important;
	color: #1d1d1f !important;
	font-size: 14px !important;
	font-weight: 500;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
	box-shadow: 0 10px 26px rgba(0,0,0,.25);
	cursor: pointer;
}
.setek-news-form button:disabled { opacity: .6; cursor: default; }
.setek-news-consent { display: flex; gap: 10px; align-items: flex-start; flex-basis: 100%; color: rgba(255,255,255,.58) !important; font-size: 12.5px !important; line-height: 1.5 !important; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important; }
.setek-news-consent span { color: rgba(255,255,255,.58) !important; font-size: 12.5px !important; }
.setek-news-consent input { margin-top: 2px; }
.setek-news-consent a { display: inline; margin: 0; color: rgba(255,255,255,.8); text-decoration: underline; }
.setek-news-msg { flex-basis: 100%; margin: 4px 0 0; font-size: 13px; }
.setek-news-msg.is-ok { color: #30d158; }
.setek-news-msg.is-error { color: #ff6961; }

/* ------------------------------------------------------------------ */
/* Hazel emits inline font-flicker CSS that zeroes p/h2 site-wide via */
/* long :not() chains (class-level specificity + !important). The     */
/* body:not(#hazel_reset) prefix adds ID-level specificity so these   */
/* sizes always win, independent of stylesheet order.                 */
/* ------------------------------------------------------------------ */
body:not(#hazel_reset) .setek-footer h2 { font-size: 13px !important; }
body:not(#hazel_reset) .setek-footer p { font-size: 14px !important; }
body:not(#hazel_reset) .setek-footer__news h2 { font-size: 21px !important; }
body:not(#hazel_reset) .setek-footer__news > p { font-size: 14px !important; }
body:not(#hazel_reset) .setek-news-consent,
body:not(#hazel_reset) .setek-news-consent span { font-size: 12.5px !important; }
body:not(#hazel_reset) .setek-news-msg { font-size: 13px !important; }
body:not(#hazel_reset) .setek-faq-item summary { font-size: 19px !important; }
body:not(#hazel_reset) .setek-faq-item p { font-size: 16px !important; }
body:not(#hazel_reset) .setek-quote blockquote { font-size: 17px !important; }
body:not(#hazel_reset) .setek-quote-name { font-size: 15px !important; }
body:not(#hazel_reset) .setek-quote-role { font-size: 13px !important; }
body:not(#hazel_reset) .setek-quote-stars { font-size: 14px !important; }
body:not(#hazel_reset) .setek-footer h2,
body:not(#hazel_reset) .setek-footer__news h2,
body:not(#hazel_reset) .setek-footer p,
body:not(#hazel_reset) .setek-news-consent,
body:not(#hazel_reset) .setek-news-consent span,
body:not(#hazel_reset) .setek-news-msg { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important; }
body:not(#hazel_reset) .setek-faq-item summary,
body:not(#hazel_reset) .setek-faq-item p,
body:not(#hazel_reset) .setek-quote blockquote,
body:not(#hazel_reset) .setek-quote-name,
body:not(#hazel_reset) .setek-quote-role { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important; }
body:not(#hazel_reset) .setek-faq-cat {
	max-width: 820px;
	margin: 72px auto 0;
	color: var(--setek-ink) !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 26px !important;
	font-weight: 700;
	letter-spacing: -.03em;
	text-align: left;
}
.setek-faq-cat + .setek-faq-list { margin-top: 20px; }

/* ------------------------------------------------------------------ */
/* Hero background video (client request: loop video from old Wix     */
/* site). The section keeps its background image as loading fallback; */
/* the gradient moves to ::before so it stays above the video.        */
/* ------------------------------------------------------------------ */
.setek-hero { position: relative; overflow: hidden; }
.setek-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
.setek-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.58) 48%, rgba(0,0,0,.10) 82%);
	z-index: 1;
}
.setek-hero .setek-shell { position: relative; z-index: 2; }
@media (max-width: 620px) {
	.setek-hero::before { background: linear-gradient(0deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.48) 57%, rgba(0,0,0,.10) 100%); }
}
@media (prefers-reduced-motion: reduce) {
	.setek-hero__video { display: none; }
}
body:not(#hazel_reset) .setek-hero__video {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
}

/* ------------------------------------------------------------------ */
/* Apple Expertise expansion: alternating media blocks, photo band,   */
/* certification badge grid (Jero request, 7-jul).                    */
/* ------------------------------------------------------------------ */
.setek-media {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 72px;
	align-items: center;
}
body:not(#hazel_reset) .setek-media img {
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	border-radius: 24px;
}
.setek-media--flip img { order: 2; }
.setek-photo-band {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
body:not(#hazel_reset) .setek-photo-band img {
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: 24px;
}
.setek-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 34px 44px;
	align-items: center;
	margin-top: 44px;
}
body:not(#hazel_reset) .setek-badges img {
	width: auto !important;
	max-width: 150px !important;
	height: 74px !important;
	object-fit: contain;
}
@media (max-width: 900px) {
	.setek-media { grid-template-columns: 1fr; gap: 36px; }
	.setek-media--flip img { order: 0; }
	.setek-photo-band { grid-template-columns: 1fr; }
	body:not(#hazel_reset) .setek-badges img { height: 56px !important; }
}

/* ------------------------------------------------------------------ */
/* Apple Business pricing plans (replicated from the old live site)   */
/* ------------------------------------------------------------------ */
.setek-plans {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	max-width: 900px;
	margin-top: 52px;
}
.setek-plan {
	display: flex;
	flex-direction: column;
	padding: 40px;
	border: 1px solid var(--setek-line);
	border-radius: 24px;
	background: #fff;
}
.setek-plan--featured { border-color: var(--setek-ink); box-shadow: 0 18px 50px rgba(0,0,0,.08); }
body:not(#hazel_reset) .setek-plan h3 {
	margin: 0 0 10px;
	color: var(--setek-ink) !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 21px !important;
	font-weight: 600;
	letter-spacing: -.02em;
}
body:not(#hazel_reset) .setek-plan__price {
	margin: 0 0 14px;
	color: var(--setek-ink) !important;
	font-size: 44px !important;
	font-weight: 700;
	letter-spacing: -.04em;
	font-variant-numeric: tabular-nums;
}
body:not(#hazel_reset) .setek-plan__currency { font-size: 17px !important; font-weight: 600; color: var(--setek-muted) !important; }
body:not(#hazel_reset) .setek-plan__desc { margin: 0 0 22px; color: var(--setek-muted) !important; font-size: 15px !important; line-height: 1.6 !important; }
.setek-plan__features { margin: 0 0 28px; padding: 0; list-style: none; }
body:not(#hazel_reset) .setek-plan__features li {
	position: relative;
	padding: 7px 0 7px 28px;
	color: var(--setek-ink) !important;
	font-size: 14.5px !important;
	line-height: 1.5 !important;
}
.setek-plan__features li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--setek-blue);
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="black" d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.7 5.9-4.2 4.8a.8.8 0 0 1-1.2 0L4.3 8.5a.8.8 0 1 1 1.2-1l1.4 1.6 3.6-4.2a.8.8 0 1 1 1.2 1z"/></svg>') center/contain no-repeat;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="black" d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.7 5.9-4.2 4.8a.8.8 0 0 1-1.2 0L4.3 8.5a.8.8 0 1 1 1.2-1l1.4 1.6 3.6-4.2a.8.8 0 1 1 1.2 1z"/></svg>') center/contain no-repeat;
}
.setek-plan .setek-button { margin-top: auto; align-self: flex-start; }
body:not(#hazel_reset) .setek-plan__note { margin: 16px 0 0; color: var(--setek-muted) !important; font-size: 12.5px !important; }
body:not(#hazel_reset) .setek-plans__store-note {
	max-width: 720px;
	margin: 34px 0 0;
	padding: 18px 22px;
	border-radius: 16px;
	background: rgba(0,113,227,.07);
	color: var(--setek-ink) !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
}
@media (max-width: 900px) { .setek-plans { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------ */
/* Visual dynamism pass (ref. serviceandbuy.es): product imagery in   */
/* service cards, ecosystem device band, reveal-on-scroll.            */
/* ------------------------------------------------------------------ */
body:not(#hazel_reset) .setek-card__img {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	margin-top: 22px;
	border-radius: 16px;
	object-fit: cover;
}
body:not(#hazel_reset) .setek-card .setek-card__img ~ h3 { margin-top: 20px !important; }
.setek-ecosystem { justify-content: center; margin-top: 42px; }

/* Reveal-on-scroll: the class is only ever added by JS (progressive
   enhancement), so without JS nothing is hidden. Specificity beats the
   .setek-home * anti-flicker blanket. */
@media (prefers-reduced-motion: no-preference) {
	.setek-home .setek-reveal,
	.service-page .setek-reveal {
		opacity: 0 !important;
		transform: translateY(26px) !important;
		transition: opacity .45s cubic-bezier(.2,.7,.3,1), transform .45s cubic-bezier(.2,.7,.3,1) !important;
	}
	.setek-home .setek-reveal.is-in,
	.service-page .setek-reveal.is-in {
		opacity: 1 !important;
		transform: translateY(0) !important;
	}
}

/* Contact page (ct-*) copy zeroed by Hazel's font-flicker CSS. */
body:not(#hazel_reset) .ct-page p { font-size: 15px !important; }
body:not(#hazel_reset) .ct-page strong { font-size: 1em !important; }
body:not(#hazel_reset) .ct-hero-text p,
body:not(#hazel_reset) .ct-hero-text p strong { font-size: 16px !important; }


/* ------------------------------------------------------------------ */
/* Focus states (auditoría de accesibilidad 16-jul)                   */
/* ------------------------------------------------------------------ */
body:not(#hazel_reset) .setek-button:focus-visible,
body:not(#hazel_reset) .setek-nav__list a:focus-visible,
body:not(#hazel_reset) .setek-lang:focus-visible,
body:not(#hazel_reset) .setek-menu-toggle:focus-visible,
body:not(#hazel_reset) .setek-faq-item summary:focus-visible,
body:not(#hazel_reset) .setek-news-form input:focus-visible,
body:not(#hazel_reset) .setek-news-form button:focus-visible,
body:not(#hazel_reset) .setek-footer a:focus-visible {
	outline: 2px solid #0071e3 !important;
	outline-offset: 3px !important;
	border-radius: 6px;
}


/* Logo band: multiply integra JPEGs con fondo blanco sobre la superficie clara */
body:not(#hazel_reset) .setek-logo-track img { mix-blend-mode: multiply; }

/* Case study cards: client logo + metric (art direction audit, 16-jul) */
body:not(#hazel_reset) .case-card__logo {
	display: block;
	width: auto !important;
	max-width: 150px !important;
	height: 40px !important;
	margin-bottom: 18px;
	object-fit: contain;
	object-position: left center;
	filter: grayscale(1);
	opacity: .8;
}
body:not(#hazel_reset) .case-card__metric {
	display: block;
	margin-bottom: 10px;
	color: var(--setek-blue) !important;
	font-size: 22px !important;
	font-weight: 700;
	letter-spacing: -.03em;
}
.case-card:hover .case-card__logo { filter: none; opacity: 1; }

/* ------------------------------------------------------------------ */
/* Currency switcher for the Apple Business plans (client request,     */
/* 17-jul: prices are charged in AED, EUR/USD are indicative).         */
/* ------------------------------------------------------------------ */
.setek-currency-switcher {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 30px;
}
body:not(#hazel_reset) .setek-currency-switcher label {
	color: var(--setek-muted) !important;
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}
body:not(#hazel_reset) .setek-currency-switcher select {
	/* Hazel colapsa el ancho de los select (mismo patrón que el vídeo del hero). */
	width: auto !important;
	min-width: 160px !important;
	max-width: none !important;
	min-height: 42px;
	padding: 0 40px 0 16px;
	border: 1px solid var(--setek-line) !important;
	border-radius: 999px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%236e6e73' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E") no-repeat right 16px center/12px 8px !important;
	color: var(--setek-ink) !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
body:not(#hazel_reset) .setek-currency-switcher select:focus-visible {
	outline: 2px solid #0071e3 !important;
	outline-offset: 3px;
}
body:not(#hazel_reset) .setek-currency-note {
	margin: 14px 0 0;
	color: var(--setek-muted) !important;
	font-size: 13px !important;
}
/* Si Select2 llegara a montarse igualmente, su widget queda oculto y el
   select nativo (con el estilo de arriba) recupera su sitio en el flujo. */
body:not(#hazel_reset) .setek-currency-switcher .select2,
body:not(#hazel_reset) .ct-form-group .select2 { display: none !important; }
body:not(#hazel_reset) .setek-currency-switcher select,
body:not(#hazel_reset) .ct-form-group select {
	position: static !important;
	clip: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* ------------------------------------------------------------------ */
/* Revisión de María (21-jul): cards sin numeración y testimonios sin  */
/* el avatar de iniciales — la cita se apoya en una comilla tipográfica */
/* ------------------------------------------------------------------ */
.setek-card .setek-card__img { margin-top: 0; }
body:not(#hazel_reset) .setek-card h3 { margin-top: 24px !important; }
.setek-quote { position: relative; }
.setek-quote::before {
	content: "\201C";
	display: block;
	margin-bottom: -18px;
	color: var(--setek-blue);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 56px;
	line-height: 1;
	opacity: .28;
}
body:not(#hazel_reset) .setek-quote figcaption { gap: 0; }

/* ------------------------------------------------------------------ */
/* Recursos/blog (hoja de María, filas 27-28): barra de categorías,    */
/* buscador y paginación visible — antes solo se veían 12 artículos.   */
/* ------------------------------------------------------------------ */
.setek-blog__toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
	justify-content: space-between;
	padding: 40px 0 8px;
}
.setek-blog__cats { display: flex; flex-wrap: wrap; gap: 8px; }
body:not(#hazel_reset) .setek-chip {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--setek-surface);
	color: var(--setek-ink) !important;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.2 !important;
	transition: background .2s ease, color .2s ease;
}
body:not(#hazel_reset) .setek-chip:hover { background: #e8e9ec; }
body:not(#hazel_reset) .setek-chip.is-active {
	background: var(--setek-ink);
	color: #fff !important;
}
.setek-blog__search { position: relative; display: flex; align-items: center; }
.setek-blog__search svg {
	position: absolute;
	left: 16px;
	width: 18px;
	height: 18px;
	color: var(--setek-muted);
	pointer-events: none;
}
body:not(#hazel_reset) .setek-blog__search input {
	width: 260px !important;
	max-width: none !important;
	min-height: 42px;
	padding: 0 18px 0 44px !important;
	border: 1px solid var(--setek-line) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--setek-ink) !important;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 15px !important;
}
body:not(#hazel_reset) .setek-blog__search input:focus-visible {
	outline: 2px solid #0071e3 !important;
	outline-offset: 2px;
}
body:not(#hazel_reset) .setek-blog__result p {
	margin: 22px 0 0;
	color: var(--setek-muted) !important;
	font-size: 15px !important;
}
body:not(#hazel_reset) .setek-blog__result a { margin-left: 12px; color: var(--setek-blue) !important; }

.setek-post-card__meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
body:not(#hazel_reset) .setek-post-card__cat {
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(0,113,227,.1);
	color: var(--setek-blue) !important;
	font-size: 11.5px !important;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
}

/* Paginación: antes existía pero sin estilo, así que pasaba desapercibida */
.setek-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: center;
	padding: 20px 0 90px;
}
body:not(#hazel_reset) .setek-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid var(--setek-line);
	border-radius: 999px;
	background: #fff;
	color: var(--setek-ink) !important;
	font-size: 15px !important;
	font-weight: 500;
}
body:not(#hazel_reset) .setek-pagination a.page-numbers:hover { border-color: var(--setek-ink); }
body:not(#hazel_reset) .setek-pagination .page-numbers.current {
	border-color: var(--setek-ink);
	background: var(--setek-ink);
	color: #fff !important;
}
body:not(#hazel_reset) .setek-pagination .page-numbers.dots { border-color: transparent; background: none; }
body:not(#hazel_reset) .setek-pagination .prev,
body:not(#hazel_reset) .setek-pagination .next { font-weight: 600; }

.setek-blog__empty { padding: 80px 0 110px; text-align: center; }
body:not(#hazel_reset) .setek-blog__empty h2 { font-size: 30px !important; letter-spacing: -.03em; }
body:not(#hazel_reset) .setek-blog__empty p { margin: 14px 0 28px; color: var(--setek-muted) !important; font-size: 17px !important; }

@media (max-width: 780px) {
	.setek-blog__toolbar { flex-direction: column; align-items: stretch; }
	body:not(#hazel_reset) .setek-blog__search input { width: 100% !important; }
	.setek-blog__cats { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; }
	body:not(#hazel_reset) .setek-chip { flex: 0 0 auto; }
}

/* Cabecera de artículo (hoja de María, fila 28): la fecha y el autor salían
   pegados ("20 de febreroSETEK Consultants") y faltaba la categoría. */
.setek-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	align-items: center;
	justify-content: center;
}
body:not(#hazel_reset) .setek-article__cat {
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(0,113,227,.1);
	color: var(--setek-blue) !important;
	font-size: 11.5px !important;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
}
body:not(#hazel_reset) .setek-article__meta time,
body:not(#hazel_reset) .setek-article__author {
	color: var(--setek-muted) !important;
	font-size: 14px !important;
}
body:not(#hazel_reset) .setek-article__author::before {
	content: "·";
	margin-right: 14px;
	color: var(--setek-line);
}

/* ------------------------------------------------------------------ */
/* Contact — escape hatch for the Google Calendar embed                */
/* ------------------------------------------------------------------ */
/* The appointment page allows framing, but browsers that block
   third-party cookies (incognito, Safari ITP, strict privacy modes) can
   leave the iframe blank or stall the booking step. The client reported
   exactly that from an incognito window, so the panel always offers a
   direct link out. Hazel's font-size:0 rule would hide this text. */
body:not(#hazel_reset) .ct-booking-fallback {
	margin: 18px 0 0 !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: #6e6e73 !important;
	text-align: center !important;
}
body:not(#hazel_reset) .ct-booking-fallback a {
	color: #0071e3 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}
body:not(#hazel_reset) .ct-booking-fallback a:hover { text-decoration: underline !important; }

/* ------------------------------------------------------------------ */
/* Article body: undo Hazel's class-name collisions                    */
/* ------------------------------------------------------------------ */
/* 54 of the 148 posts were written with Tailwind-style utility classes
   on their inline links (`underline decoration-1 decoration-current/40`).
   Hazel happens to own a decorative `.decoration-1` of its own:
       .decoration-1 { position:absolute !important; left:-73px;
                       bottom:-50px; pointer-events:none }
   which yanked every one of those links out of the flow, stacked them all
   at the same spot over the cover image, and made them unclickable. Scoped
   to the article body so Hazel's own decorations elsewhere still work. */
body:not(#hazel_reset) .setek-article__content a[class*="decoration-"],
body:not(#hazel_reset) .setek-article__content a[class*="underline"] {
	position: static !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	top: auto !important;
	pointer-events: auto !important;
	color: var(--setek-blue) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 2px !important;
	text-decoration-color: rgba(0, 113, 227, .45) !important;
}
body:not(#hazel_reset) .setek-article__content a[class*="decoration-"]:hover,
body:not(#hazel_reset) .setek-article__content a[class*="underline"]:hover {
	text-decoration-color: var(--setek-blue) !important;
}

/* ------------------------------------------------------------------ */
/* Header nav: pin the font (client review, 22-Jul call)               */
/* ------------------------------------------------------------------ */
/* Hazel resolves the nav font through a Google-Fonts variable that is
   empty in this build, so computed font-family was "" and the browser
   fell back to its default serif — the "old-looking" menu the client
   flagged. Pin the same system stack the rest of the site uses. */
body:not(#hazel_reset) .setek-nav__list a,
body:not(#hazel_reset) .setek-mobile-menu a,
body:not(#hazel_reset) .setek-lang {
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: -.01em !important;
}

/* "Síguenos" block beside the newsletter (client call, 22-Jul: the old
   bottom-bar links were "chiquititas, ahí no se ven casi"). */
body:not(#hazel_reset) .setek-footer__news {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px 64px;
	align-items: start;
}
body:not(#hazel_reset) .setek-footer__news > h2,
body:not(#hazel_reset) .setek-footer__news > p,
body:not(#hazel_reset) .setek-footer__news > .setek-news-form { grid-column: 1; }
body:not(#hazel_reset) .setek-follow { grid-column: 2; grid-row: 1 / span 3; }
body:not(#hazel_reset) .setek-follow h2 {
	margin: 0 0 14px;
	color: #fff;
	font-size: 21px !important;
	letter-spacing: -.02em;
	text-transform: none;
}
body:not(#hazel_reset) .setek-follow a {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	padding: 10px 18px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease;
}
body:not(#hazel_reset) .setek-follow a:hover { border-color: #fff; background: rgba(255,255,255,.1); }
body:not(#hazel_reset) .setek-follow svg { flex: 0 0 auto; }
@media (max-width: 760px) {
	body:not(#hazel_reset) .setek-footer__news { grid-template-columns: 1fr; }
	body:not(#hazel_reset) .setek-follow { grid-column: 1; grid-row: auto; margin-top: 26px; }
	body:not(#hazel_reset) .setek-follow a { display: inline-flex; margin-right: 10px; }
}
