/* ============================================
   whoscrizzz® — Futuristic Service Presentation
   ============================================

   New direction: Premium, attention-grabbing, futuristic
   personal presentation for graphic design services.

   Hero: imagen estática (.hero-visual en tweaks.css). Card home: isolation: auto.
   Style: Futuristic + premium tech (not gaming).
   Background: Current particle system (lightning + smoke).

   Palette: Deep dark + electric cyan/teal accents + subtle magenta.
   ============================================ */

:root {
	/* Futuristic Premium Palette - More Electric Blue */
	--gl-bg: #05070b;
	--gl-accent: #00d4ff; /* Electric blue (more blue, still very electric) */
	--gl-accent-2: #3b82f6; /* Supporting electric blue */
	--gl-text: #f1f5f9;
	--gl-text-muted: #94a3b8;
	--gl-text-dim: #64748b;

	/* Glass / Holographic layers */
	--gl-glass: rgba(255, 255, 255, 0.06);
	--gl-glass-border: rgba(0, 212, 255, 0.22);
	--gl-glass-highlight: rgba(255, 255, 255, 0.38);
	--gl-glass-strong: rgba(255, 255, 255, 0.09);
	--gl-glass-strong-border: rgba(0, 212, 255, 0.32);

	--gl-glass-inset: inset 0 1.5px 0 var(--gl-glass-highlight), inset 0 -1px 0 rgba(0, 0, 0, 0.35);

	/* Typography scale */
	--gl-text-xs: 0.72rem;
	--gl-text-sm: 0.875rem;
	--gl-text-base: 1rem;
	--gl-text-lg: 1.08rem;
	--gl-text-xl: 1.32rem;
	--gl-text-2xl: 1.9rem;

	/* Escala fluida: techo = escritorio (1100px+), escala ↓ hasta móvil sin tope de resolución bajo */
	--sync-hero-title: clamp(1.28rem, 1rem + 2.8vw, 2.55rem);
	--sync-hero-tagline: clamp(0.5rem, 0.32rem + 1.35vw, 0.78rem);
	--sync-section-heading: clamp(1.1rem, 0.85rem + 2.2vw, 1.55rem);
	--sync-section-lead: clamp(0.8rem, 0.72rem + 0.75vw, 0.94rem);
	--sync-video-stage-max: min(100%, clamp(200px, 42vw, 480px));
	--sync-video-height-max: clamp(28dvh, 16dvh + 22vw, 56dvh);
	--sync-hero-gap: clamp(6px, 1.1vw, 14px);
	--sync-hero-bottom: 0px;
	--sync-contact-pad-y: 14px;
	/* Espacio entre hero y contacto (sin solape) */
	--sync-contact-overlap: 0px;
	--sync-section-gap: 14px;
	--sync-social-gap: 16px;
	--sync-video-object-x: 56%;
	--sync-video-object-y: 38%;
	--sync-hero-seam-x: 12px;
	/* Sin translateY en el video (evita solape con logo); ajuste fino vía object-position */
	--sync-video-offset-y: 0px;
	--sync-video-zoom: 1;
	--sync-logo-align: end;
	--sync-video-align: end;
}

/* ============================================
   ENHANCED GLASS SYSTEM (for particle backgrounds)
   ============================================ */

.glass {
	background: var(--gl-glass);
	border: 1px solid var(--gl-glass-border);
	box-shadow:
		0 10px 40px rgba(0, 0, 0, 0.38),
		0 2px 8px rgba(0, 0, 0, 0.2),
		var(--gl-glass-inset);
	backdrop-filter: blur(26px) saturate(140%);
	-webkit-backdrop-filter: blur(26px) saturate(140%);
	transition:
		transform 0.5s cubic-bezier(0.23, 1, 0.32, 1),
		box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1),
		border-color 0.35s ease;
}

.glass-strong {
	background: var(--gl-glass-strong);
	border: 1px solid var(--gl-glass-strong-border);
	box-shadow:
		0 24px 70px rgba(0, 0, 0, 0.48),
		0 4px 14px rgba(0, 0, 0, 0.25),
		inset 0 2px 0 rgba(255, 255, 255, 0.35),
		inset 0 -2px 0 rgba(0, 0, 0, 0.38);
	backdrop-filter: blur(34px) saturate(160%);
	-webkit-backdrop-filter: blur(34px) saturate(160%);
}

/* Top nav — pill glass + cyan neon (misma familia que .hero-logo) */
.main-nav {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin: 0 auto 6px;
	padding: 8px 12px;
	position: relative;
	z-index: 10;
	border-radius: 999px;
	font-family: 'Albert Sans', system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	max-width: fit-content;
	border-color: rgba(0, 212, 255, 0.42);
	box-shadow:
		0 0 0 1px rgba(0, 212, 255, 0.12) inset,
		0 18px 44px -20px rgba(0, 0, 0, 0.65),
		0 0 28px rgba(0, 212, 255, 0.2),
		0 0 48px rgba(0, 212, 255, 0.1);
}

body[data-page="home"] .main-nav {
	margin-top: clamp(10px, 1.8vh, 18px);
	margin-bottom: clamp(14px, 2.6vw, 22px);
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 900px) {
	body[data-page="home"] .main-nav {
		margin-top: clamp(14px, 2.2vh, 24px);
		margin-bottom: clamp(18px, 2.8vw, 30px);
	}

	.main-nav {
		gap: 16px;
		margin-bottom: 6px;
		padding: 10px 18px;
		font-size: 1rem;
	}

	.main-nav .nav-link {
		padding: 10px 22px;
		font-size: 0.98rem;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}
}

.main-nav .nav-link {
	padding: 6px 14px;
	border-radius: 999px;
	color: var(--gl-text-muted);
	text-decoration: none;
	transition: color 0.2s ease, background 0.2s ease;
}

.main-nav .nav-link:hover {
	color: var(--gl-text);
	background: var(--gl-glass);
}

.main-nav .nav-link.active {
	color: var(--gl-text);
	background: var(--gl-glass-strong);
}

/* Portafolio — cursor + resalte sutil */
.main-nav .nav-link--portafolio {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	overflow: visible;
	color: #c8f0ff;
	border: 1px solid rgba(0, 212, 255, 0.38);
	background: rgba(0, 212, 255, 0.1);
	box-shadow:
		0 0 0 1px rgba(0, 212, 255, 0.08) inset,
		0 0 18px rgba(0, 212, 255, 0.22);
}

.main-nav .nav-link--portafolio:hover,
.main-nav .nav-link--portafolio:focus-visible {
	color: #e8f8ff;
	background: rgba(0, 212, 255, 0.18);
	border-color: rgba(0, 212, 255, 0.55);
	box-shadow:
		0 0 0 1px rgba(0, 212, 255, 0.14) inset,
		0 0 24px rgba(0, 212, 255, 0.35);
}

.main-nav .nav-cursor-wrap {
	position: relative;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	overflow: visible;
}

.main-nav .nav-cursor-hint {
	position: relative;
	z-index: 1;
	display: block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	overflow: visible;
	filter: drop-shadow(1px 2px 0 rgba(0, 0, 0, 0.45));
	animation: nav-cursor-invite 2.6s cubic-bezier(0.45, 0, 0.55, 1) infinite;
	transform-origin: 2px 2px;
}

.main-nav .nav-link--portafolio:hover .nav-cursor-hint,
.main-nav .nav-link--portafolio:focus-visible .nav-cursor-hint {
	animation: nav-cursor-invite 1.15s cubic-bezier(0.45, 0, 0.55, 1) infinite;
	filter:
		drop-shadow(0 0 4px rgba(0, 212, 255, 0.35))
		drop-shadow(1px 2px 0 rgba(0, 0, 0, 0.45));
}

@keyframes nav-cursor-invite {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
		opacity: 0.7;
	}
	28% {
		transform: translate(1px, 1px) scale(1);
		opacity: 0.88;
	}
	52% {
		transform: translate(3px, 2px) scale(1.05);
		opacity: 1;
	}
	72% {
		transform: translate(2px, 2px) scale(1.02);
		opacity: 0.82;
	}
}

@media (prefers-reduced-motion: reduce) {
	.main-nav .nav-cursor-hint {
		animation: none;
	}
}

/* Marca central — mismo icon.svg que la pestaña del navegador */
.main-nav .nav-brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 8px;
	border-radius: 999px;
	line-height: 0;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
}

.main-nav .nav-brand:hover {
	background: var(--gl-glass);
	transform: translateY(-1px);
}

.main-nav .nav-brand img,
.main-nav .nav-brand svg {
	width: 28px;
	height: 28px;
	filter:
		drop-shadow(0 0 6px rgba(0, 212, 255, 0.75))
		drop-shadow(0 0 14px rgba(0, 212, 255, 0.35));
}

/* Portafolio + mono nav: icon.svg siempre legible en fondo oscuro */
.pf-back-icon {
	filter:
		drop-shadow(0 0 5px rgba(255, 255, 255, 0.45))
		drop-shadow(0 0 10px rgba(255, 255, 255, 0.2));
}

body.mood-mono[data-page='home'] .main-nav .nav-brand img,
body.mood-mono[data-page='home'] .main-nav .nav-brand svg {
	filter:
		drop-shadow(0 0 5px rgba(255, 255, 255, 0.42))
		drop-shadow(0 0 10px rgba(128, 229, 255, 0.28));
}

.material-card {
	position: relative;
	overflow: hidden;
}

.material-card::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.12), transparent);
	opacity: 0.6;
}

.material-card:hover {
	transform: translateY(-4px);
	box-shadow:
		0 32px 80px rgba(0, 0, 0, 0.48),
		0 6px 18px rgba(0, 0, 0, 0.25);
	border-color: rgba(255, 255, 255, 0.26);
}

/* ============================================
   TYPOGRAPHY & RHYTHM
   ============================================ */

.editorial-serif {
	font-family: 'Instrument Serif', Georgia, 'Times New Roman', serif;
	font-feature-settings:
		'liga' on,
		'kern' on;
	font-weight: 500;
	letter-spacing: -0.03em;
}

.refined-text {
	font-size: var(--gl-text-lg);
	line-height: 1.72;
	color: var(--gl-text-muted);
}

.spec-label {
	font-size: var(--gl-text-xs);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gl-text-muted);
	font-weight: 500;
}

/* Better reading rhythm for didactic content */
.didactic-text {
	font-size: 1.02rem;
	line-height: 1.78;
	color: var(--gl-text);
	max-width: 62ch;
}

/* MacBook hero CSS removed 2026-06 — prototypes: docs/historico/design-prototypes-2026-06/ */

/* Social card visuals live in tweaks.css — layout/spacing only here */

.social-header {
	text-align: center;
	margin-bottom: 20px;
}

.social-header .section-title {
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #64748b;
	font-weight: 500;
	margin-top: 10px;
}

.stat-sep {
	color: rgba(148, 163, 184, 0.55);
	font-size: 0.85em;
	opacity: 1;
	line-height: 1;
	margin: 0 0.15em;
}

/* ============================================================
   HERO LOGO + SOCIAL SECTION SPACING
   ============================================================ */

/* Hero: contenedor exterior centra la unidad marca+video */
.hero-showcase {
	container-type: inline-size;
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: flex-end;
	padding: clamp(4px, 1vw, 10px) clamp(10px, 3vw, 20px) 0;
	margin-bottom: 0;
	overflow: visible;
	background: transparent;
	border: none;
	box-shadow: none;
}

/* Hero pair: marca + video */
.hero-pair {
	container-type: inline-size;
	display: grid;
	width: 100%;
	max-width: 100%;
	grid-template-columns: minmax(min-content, 1.2fr) minmax(0, 1fr);
	align-items: end;
	justify-items: center;
	gap: var(--design-hero-gap, var(--sync-hero-gap, clamp(8px, 2vw, 14px)));
	animation: hero-logo-float 6.5s ease-in-out infinite;
	transform-origin: center bottom;
}

body[data-page='home'] .hero-pair {
	max-width: min(100%, 920px);
	margin-inline: auto;
}

@media (min-width: 900px) {
	body[data-page='home'] .hero-pair {
		max-width: min(100%, 760px);
	}
}

@media (min-width: 1100px) {
	body[data-page='home'] .hero-pair {
		max-width: min(100%, 820px);
	}
}

@media (min-width: 900px) {
	.hero-pair {
		grid-template-columns: minmax(min-content, auto) minmax(0, 1.65fr);
		align-items: end;
		gap: var(--design-hero-gap, var(--sync-hero-gap, clamp(10px, 1.6vw, 18px)));
	}
}

@media (min-width: 900px) {
	.hero-showcase {
		padding: clamp(4px, 1vh, 12px) clamp(8px, 2vw, 20px) 0;
	}
}

body[data-page="home"] .hero-showcase {
	width: 100%;
	max-width: 100%;
	margin-bottom: var(--design-hero-bottom, var(--sync-hero-bottom, 0));
	padding-bottom: 0;
}

/* Layout hero por ancho: se define en breakpoints (600 / 900 / 1100 / 1400) */

/* Home + portafolio: humo + aurora sobre el fondo, bajo overlays cinematográficos */
body[data-page="home"] #smoke,
body[data-page="home"] #lightning-canvas,
body[data-page="portafolio"] #smoke,
body[data-page="portafolio"] #lightning-canvas {
	z-index: 0;
}

body[data-page="home"] .card {
	position: relative;
	z-index: 1;
	isolation: auto;
	overflow: visible;
	text-align: center;
}

.hero-visual {
  align-self: var(--design-video-align, var(--sync-video-align, end));
  justify-self: end;
  position: relative;
  z-index: 5;
  margin-bottom: 0;
  line-height: 0;
}

@media (max-width: 899px) {
	.hero-visual {
		justify-self: center;
	}
}

@media (min-width: 900px) {
	.hero-visual {
		justify-self: start;
		align-self: end;
		width: 100%;
	}
}

body[data-page="home"] .hero-visual__frame {
	position: relative;
	z-index: 5;
}

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

@keyframes hero-holo-scan {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 0 100px;
	}
}

@keyframes hero-holo-sweep {
	0%,
	100% {
		background-position: 180% 0;
		opacity: 0.35;
	}
	50% {
		background-position: -80% 0;
		opacity: 0.75;
	}
}

@keyframes hero-holo-flicker {
	0%,
	100%,
	96% {
		opacity: 1;
	}
	97% {
		opacity: 0.94;
	}
	98% {
		opacity: 1;
	}
}

.hero-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-self: center;
	align-self: var(--design-logo-align, var(--sync-logo-align, end));
	width: max-content;
	max-width: none;
	min-width: min-content;
	margin-inline: auto;
	margin-bottom: 0;
	padding: clamp(12px, 2.8vw, 20px) clamp(16px, 4vw, 28px);
	text-align: center;
	box-sizing: border-box;
	overflow: visible;
	border-radius: 20px;
	background:
		linear-gradient(165deg, rgba(22, 34, 52, 0.72) 0%, rgba(8, 12, 22, 0.42) 55%, rgba(12, 18, 30, 0.5) 100%);
	border: 1px solid rgba(132, 172, 194, 0.16);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.05) inset,
		0 22px 50px -28px rgba(0, 0, 0, 0.65),
		0 0 48px -12px rgba(91, 140, 255, 0.14);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

/* Home hero: flotación en el par completo (logo + video juntos) */
.hero-showcase .hero-logo {
	position: relative;
	isolation: isolate;
	animation: none;
	transform: none;
	border: 1px solid rgba(0, 212, 255, 0.52);
	background:
		linear-gradient(
			165deg,
			rgba(14, 28, 48, 0.88) 0%,
			rgba(6, 14, 28, 0.62) 50%,
			rgba(10, 22, 40, 0.78) 100%
		);
	box-shadow:
		0 0 0 1px rgba(0, 212, 255, 0.22) inset,
		0 26px 56px -22px rgba(0, 0, 0, 0.72),
		0 0 18px rgba(0, 212, 255, 0.38),
		0 0 36px rgba(0, 212, 255, 0.24),
		0 0 64px rgba(0, 212, 255, 0.12);
}

.hero-showcase .hero-logo::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	z-index: 0;
	background: repeating-linear-gradient(
		0deg,
		transparent 0,
		transparent 2px,
		rgba(0, 212, 255, 0.045) 2px,
		rgba(0, 212, 255, 0.045) 3px
	);
	opacity: 0.65;
	animation: hero-holo-scan 7s linear infinite;
	mix-blend-mode: screen;
}

.hero-showcase .hero-logo::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	z-index: 0;
	background: linear-gradient(
		105deg,
		transparent 38%,
		rgba(0, 212, 255, 0.1) 46%,
		rgba(220, 248, 255, 0.22) 50%,
		rgba(0, 212, 255, 0.1) 54%,
		transparent 62%
	);
	background-size: 220% 100%;
	animation: hero-holo-sweep 5.5s ease-in-out infinite;
}

.hero-showcase .hero-wordmark,
.hero-showcase .hero-line,
.hero-showcase .hero-tagline {
	position: relative;
	z-index: 1;
}

.hero-wordmark {
	margin: 0;
	font-family: 'Outfit', system-ui, sans-serif;
	font-size: var(--sync-hero-title);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
	white-space: nowrap;
	overflow: visible;
	background: linear-gradient(
		165deg,
		#f8fafc 0%,
		#c8d8ec 38%,
		#7ba3b8 72%,
		#4a6d8f 100%
	);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	/* fallback si background-clip falla (no usar filter aquí: rompe el clip) */
	color: #c5e4f4;
}

.hero-showcase .hero-wordmark {
	background: linear-gradient(
		165deg,
		#f0fbff 0%,
		#b8ecff 30%,
		#5ec8f0 58%,
		#3a8ab8 100%
	);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	z-index: 2;
}

.hero-wordmark .reg {
	font-size: 0.68em;
	vertical-align: super;
	margin-left: 2px;
	-webkit-text-fill-color: #94a3b8;
	color: #94a3b8;
	filter: none;
}

.hero-showcase .hero-wordmark .reg {
	-webkit-text-fill-color: #7ec8e8;
	color: #7ec8e8;
}

.hero-line {
	width: min(68%, 7.5rem);
	height: 1px;
	margin: 12px auto 10px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(123, 163, 184, 0.35) 18%,
		rgba(186, 210, 228, 0.75) 50%,
		rgba(123, 163, 184, 0.35) 82%,
		transparent 100%
	);
	opacity: 0.9;
}

.hero-showcase .hero-line {
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(0, 212, 255, 0.35) 18%,
		rgba(200, 245, 255, 0.9) 50%,
		rgba(0, 212, 255, 0.35) 82%,
		transparent 100%
	);
	box-shadow: 0 0 10px rgba(0, 212, 255, 0.35);
}

.hero-tagline {
	margin: 0;
	max-width: min(100%, 42ch);
	font-family: 'Space Grotesk', system-ui, sans-serif;
	font-size: var(--sync-hero-tagline);
	font-weight: 500;
	letter-spacing: 0.11em;
	line-height: 1.55;
	text-transform: uppercase;
	text-align: center;
	color: #8fa8c4;
}

.hero-showcase .hero-tagline {
	color: #9ad8f2;
	text-shadow: 0 0 14px rgba(0, 212, 255, 0.28);
}

@media (prefers-reduced-motion: reduce) {
	.hero-pair,
	.hero-showcase .hero-logo::before,
	.hero-showcase .hero-logo::after {
		animation: none;
	}

	.hero-pair,
	.hero-showcase .hero-logo {
		transform: none;
	}
}

/* Social cards — spacing below hero (card visuals en tweaks.css) */
.contact-section,
.social-section {
	margin-bottom: 28px;
	position: relative;
	z-index: 1;
}

@media (max-width: 899px) {
	.contact-section,
	.social-section {
		margin-top: 0;
	}
}

@media (min-width: 900px) {

	.contact-section {
		margin-top: 0;
	}

	.contact-section .section-block-head {
		margin-bottom: clamp(14px, 3vw, 20px);
	}

	body[data-page='home'] .social-section {
		margin-top: var(--design-social-top, var(--sync-social-gap, clamp(14px, 3vw, 28px)));
	}

	.social-section {
		margin-top: clamp(6px, 1.5vw, 10px);
	}
}

/* Home — panel unificado hero + contacto */
body[data-page='home'] .hero-showcase--unified {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	margin-bottom: 0;
	padding:
		max(4px, env(safe-area-inset-top, 0px))
		clamp(12px, 2.2vw, 20px)
		0;
}

body[data-page='home'] .hero-showcase--unified::after {
	display: none;
}

body[data-page='home'] .hero-unified-panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	--sync-section-gap: clamp(14px, 2.2vw, 24px);
	--sync-contact-pad-y: clamp(10px, 1.4vw, 18px);
	--hero-panel-inset-x: clamp(14px, 2.2vw, 22px);
	--hero-panel-inset-top: clamp(10px, 1.4vw, 16px);
	--hero-panel-inset-bottom: clamp(24px, 3vw, 34px);
	padding: 0;
	border-radius: 0;
	overflow: visible;
	isolation: auto;
	background: transparent;
	background-image: none;
	border: none;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body[data-page='home'] .hero-unified-panel::before,
body[data-page='home'] .hero-unified-panel::after {
	display: none;
}

body[data-page='home'] .hero-unified-body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: 100%;
}

body[data-page='home'] .hero-unified-body--slim {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: min(82dvh, 82vh, 720px);
	overflow: visible;
}

@media (min-width: 1024px) {
	body[data-page='home'] .hero-unified-body--slim {
		min-height: min(68dvh, 68vh, 640px);
	}
}

@media (max-width: 1023px) {
	body[data-page='home'] .hero-unified-body--slim {
		align-items: stretch;
		justify-content: flex-start;
		min-height: auto;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-stage {
		width: 100%;
		padding:
			var(--hero-panel-inset-top)
			var(--hero-panel-inset-x)
			0;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-pair {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		gap: clamp(12px, 3vw, 20px);
	}

	body[data-page='home'] .hero-unified-body--slim .hero-logo-column {
		width: 100%;
		max-width: 100%;
		align-items: center;
		text-align: center;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-wordmark-wrap {
		width: auto;
		max-width: 100%;
		margin-inline: auto;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-wordmark-wrap .hero-wordmark {
		width: auto;
		max-width: 100%;
		margin-inline: auto;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-visual {
		width: min(100%, clamp(240px, 78vw, 340px));
		max-width: min(100%, clamp(240px, 78vw, 340px));
		margin-inline: auto;
	}

	body[data-page='home'] .hero-stage-spotlight {
		width: min(92vw, 420px);
		height: min(48vw, 280px);
		left: 50%;
		transform: translate(-50%, -50%);
		opacity: 0.5;
	}
}

/* Escenario hero: marca + video — alineado al borde del panel */
body[data-page='home'] .hero-unified-panel .hero-stage {
	position: relative;
	z-index: 1;
	margin: 0;
	padding:
		var(--hero-panel-inset-top)
		var(--hero-panel-inset-x)
		clamp(4px, 0.6vw, 8px);
	overflow: visible;
	border-radius: 0;
	background: transparent;
}

body[data-page='home'] .hero-unified-panel .hero-stage::before,
body[data-page='home'] .hero-unified-panel .hero-stage::after {
	display: none;
}

body[data-page='home'] .hero-stage-spotlight {
	display: block;
	position: absolute;
	top: 50%;
	left: 8%;
	z-index: 0;
	width: min(74vw, 680px);
	height: min(54vw, 480px);
	border-radius: 50%;
	pointer-events: none;
	transform: translateY(-50%);
	background: radial-gradient(
		ellipse 68% 58% at 46% 48%,
		rgba(128, 229, 255, 0.024) 0%,
		rgba(128, 229, 255, 0.008) 40%,
		transparent 68%
	);
	filter: blur(40px);
	opacity: 0.72;
	-webkit-mask-image: radial-gradient(
		ellipse 72% 62% at 46% 48%,
		#000 0%,
		#000 22%,
		transparent 76%
	);
	mask-image: radial-gradient(
		ellipse 72% 62% at 46% 48%,
		#000 0%,
		#000 22%,
		transparent 76%
	);
}

body[data-page='home'] .hero-unified-panel .hero-pair {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 100%;
	margin: 0;
	margin-bottom: 0;
	animation: none;
	perspective: 1400px;
	perspective-origin: 28% 72%;
	box-sizing: border-box;
}

body[data-page='home'] .hero-unified-panel .hero-logo--stage {
	position: relative;
	isolation: isolate;
	overflow: visible;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	padding: 0 0 clamp(4px, 0.8vw, 8px);
	transition: none;
}

body[data-page='home'] .hero-unified-panel .hero-logo--stage::before,
body[data-page='home'] .hero-unified-panel .hero-logo--stage::after {
	display: none;
}

body[data-page='home'] .hero-unified-panel .hero-wordmark {
	font-size: clamp(1.85rem, 5.2vw, 2.85rem);
	letter-spacing: -0.04em;
	line-height: 0.96;
}

body[data-page='home'] .hero-unified-panel .hero-line {
	width: min(72%, 9.5rem);
	margin: clamp(8px, 1.4vw, 12px) 0 clamp(8px, 1.2vw, 10px);
}

body[data-page='home'] .hero-unified-panel .hero-tagline {
	font-size: clamp(0.62rem, 1.35vw, 0.82rem);
	letter-spacing: 0.1em;
	max-width: 42ch;
	line-height: 1.45;
}

body[data-page='home'] .hero-unified-panel .hero-avail {
	display: inline-block;
	max-width: 38ch;
}

body[data-page='home'] .hero-unified-panel .hero-visual {
	animation: none;
	transform: translate(var(--design-video-x, 0px), var(--design-video-y, 0px))
		scale(var(--design-video-scale, 1));
	transform-origin: right bottom;
	backface-visibility: hidden;
}

body[data-page='home'] .hero-unified-panel .hero-visual__frame {
	overflow: visible;
}

@keyframes hero-video-float {
	0%,
	100% {
		transform: translate3d(0, 0, 0);
	}
	50% {
		transform: translate3d(0, 2px, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	body[data-page='home'] .hero-unified-panel .hero-visual {
		animation: none;
	}

	body[data-page='home'] .hero-unified-panel .hero-logo--stage::before,
	body[data-page='home'] .hero-unified-panel .hero-logo--stage::after {
		animation: none;
	}

	body[data-page='home'] .hero-unified-panel .hero-pair {
		perspective: none;
	}

	body[data-page='home'] .hero-unified-panel .hero-logo--stage,
	body[data-page='home'] .hero-unified-panel .hero-logo--stage:hover {
		transform: translate(var(--design-logo-x, 0px), var(--design-logo-y, 0px))
			scale(var(--design-logo-scale, 1));
	}
}

/* ≤1023px: apilado centrado (móvil + iPhone horizontal) — evita recorte del recuadro */
@media (max-width: 1023px) {
	body[data-page='home'] .hero-unified-panel {
		--hero-panel-inset-bottom: clamp(34px, 4.2vw, 44px);
	}

	body[data-page='home'] .hero-unified-panel .hero-pair {
		grid-template-columns: 1fr;
		align-items: center;
		justify-items: center;
		gap: var(--design-hero-gap, var(--sync-hero-gap, clamp(6px, 2vw, 12px)));
	}

	body[data-page='home'] .hero-unified-panel .hero-pair {
		perspective-origin: 50% 58%;
	}

	body[data-page='home'] .hero-unified-panel .hero-logo--stage {
		justify-self: center;
		align-self: center;
		align-items: center;
		text-align: center;
		margin-inline: auto;
		margin-bottom: clamp(6px, 1.6vw, 10px);
		transform: translate(var(--design-logo-x, 0px), var(--design-logo-y, 0px))
			scale(var(--design-logo-scale, 1));
		transform-origin: center center;
	}

	body[data-page='home'] .hero-unified-panel .hero-logo--stage:hover {
		transform: translate(var(--design-logo-x, 0px), var(--design-logo-y, 0px))
			scale(var(--design-logo-scale, 1));
	}

	body[data-page='home'] .hero-unified-panel .hero-line {
		margin-left: auto;
		margin-right: auto;
	}

	body[data-page='home'] .hero-unified-panel .hero-tagline {
		text-align: center;
		max-width: 38ch;
	}

	body[data-page='home'] .hero-unified-panel .hero-visual {
		justify-self: center;
		align-self: center;
		width: min(100%, clamp(220px, 72vw, 300px));
		max-width: min(100%, clamp(220px, 72vw, 300px));
		margin-right: 0;
		margin-top: clamp(14px, 3.6vw, 22px);
	}
}

@media (max-width: 1023px) {
	body[data-page='home'] .hero-showcase--unified {
		max-width: 100%;
		padding-inline: max(12px, env(safe-area-inset-left, 0px))
			max(12px, env(safe-area-inset-right, 0px));
	}

	body[data-page='home'] .hero-unified-panel {
		overflow: visible;
	}

	body[data-page='home'] .hero-unified-panel .hero-stage {
		overflow: visible;
	}

	body[data-page='home'] .hero-unified-panel .hero-logo--stage,
	body[data-page='home'] .hero-unified-panel .hero-logo--stage:hover {
		transform: none;
	}
}

@media (min-width: 600px) and (max-width: 1023px) {
	body[data-page='home'] .hero-unified-panel .hero-visual {
		max-width: min(100%, 400px);
	}
}

/* Panel unificado: sin animaciones holo heredadas de .hero-showcase .hero-logo */
body[data-page='home'] .hero-showcase--unified .hero-logo::before,
body[data-page='home'] .hero-showcase--unified .hero-logo::after,
body[data-page='home'] .hero-showcase--unified .hero-logo.hero-logo--stage::before,
body[data-page='home'] .hero-showcase--unified .hero-logo.hero-logo--stage::after {
	animation: none;
	background-size: auto;
	mix-blend-mode: normal;
}

@media (min-width: 1024px) {
	body[data-page='home'] .hero-unified-panel {
		max-width: min(100%, 1200px);
		--sync-video-stage-max: min(100%, clamp(300px, 42vw, 520px));
		--sync-video-height-max: min(68dvh, 68vh, 640px);
		--sync-video-height-cap: 640px;
	}

	body[data-page='home'] .hero-unified-panel .hero-stage {
		padding:
			var(--hero-panel-inset-top)
			clamp(16px, 2.4vw, 24px)
			clamp(8px, 1.2vw, 14px)
			clamp(16px, 2.4vw, 24px);
	}
}

@media (min-width: 1100px) {
	body[data-page='home'] .hero-unified-panel {
		max-width: min(100%, 1140px);
		--sync-video-stage-max: min(100%, clamp(300px, 92%, 480px));
		--sync-video-height-max: min(56dvh, 56vh, 500px);
		--sync-video-height-cap: 500px;
	}
}

@media (min-width: 1280px) {
	body[data-page='home'] .hero-unified-panel {
		max-width: min(100%, 1180px);
	}
}

@media (min-width: 1024px) {
	body[data-page='home'] .hero-showcase--unified {
		max-width: min(100%, 1100px);
	}

	body[data-page='home'] .home-below-hero {
		max-width: min(100%, 1100px);
	}

	body[data-page='home'] .hero-unified-panel .hero-pair {
		max-width: 100%;
	}
}

@media (min-width: 1100px) {
	body[data-page='home'] .hero-showcase--unified {
		max-width: min(100%, 1140px);
	}

	body[data-page='home'] .home-below-hero {
		max-width: min(100%, 1140px);
	}
}

@media (min-width: 1280px) {
	body[data-page='home'] .hero-showcase--unified,
	body[data-page='home'] .home-below-hero {
		max-width: min(100%, 1180px);
	}
}

/* Home — bloque inferior (redes), alineado al panel hero */
body[data-page='home'] .home-below-hero {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 clamp(14px, 2.4vw, 22px);
}

@media (max-width: 1023px) {
	body[data-page='home'] .home-below-hero {
		max-width: min(100%, 780px);
	}
}

body[data-page='home'] .home-flow-divider {
	width: min(120px, 32vw);
	height: 1px;
	margin: clamp(18px, 3.5vw, 32px) auto;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(0, 212, 255, 0.2) 20%,
		rgba(180, 240, 255, 0.55) 50%,
		rgba(0, 212, 255, 0.2) 80%,
		transparent 100%
	);
	box-shadow: 0 0 16px rgba(0, 212, 255, 0.15);
	opacity: 0.85;
}

body[data-page='home'] .contact-section .section-block-head,
body[data-page='home'] .contact-section .home-contact-btn,
body[data-page='home'] .hero-unified-panel .hero-pair {
	position: relative;
	z-index: 1;
}

/* Home — redes sin recuadro (tarjetas flotan solas) */
body[data-page='home'] .home-below-hero .social-section {
	position: relative;
	margin-top: 0;
	padding: clamp(10px, 2vw, 16px) 0 0;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
}

body[data-page='home'] .section-block-head .section-bridge {
	position: relative;
	overflow: hidden;
	width: min(88px, 22vw);
	height: 2px;
	margin-bottom: clamp(8px, 1.4vw, 12px);
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(0, 212, 255, 0.42) 22%,
		rgba(220, 248, 255, 0.92) 50%,
		rgba(0, 212, 255, 0.42) 78%,
		transparent 100%
	);
	box-shadow:
		0 0 14px rgba(0, 212, 255, 0.32),
		0 0 28px rgba(0, 212, 255, 0.12);
}

body[data-page='home'] .section-block-head .section-bridge::after {
	content: '';
	position: absolute;
	top: -2px;
	left: -70%;
	width: 55%;
	height: 6px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.95), transparent);
	filter: blur(1px);
	animation: section-bridge-sweep 3.8s ease-in-out infinite;
	pointer-events: none;
}

body[data-page='home'] .contact-section-bridge {
	width: min(72px, 18vw);
}

@keyframes section-bridge-sweep {
	0% {
		left: -70%;
		opacity: 0;
	}
	12% {
		opacity: 1;
	}
	88% {
		opacity: 1;
	}
	100% {
		left: 120%;
		opacity: 0;
	}
}

body[data-page='home'] .section-eyebrow {
	color: rgba(154, 216, 242, 0.72);
	letter-spacing: 0.24em;
	text-shadow: 0 0 14px rgba(0, 212, 255, 0.18);
}

body[data-page='home'] .contact-section .section-heading {
	font-size: clamp(1.2rem, 3.2vw, 1.5rem);
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	-webkit-text-fill-color: #f0f4f8;
	color: #f0f4f8;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}

body[data-page='home'] .contact-section .section-lead {
	color: #c0d2e6;
	max-width: 42ch;
	margin-bottom: 0;
	line-height: 1.45;
	font-size: clamp(0.88rem, 2.2vw, 1rem);
}

/* Home — cabecera de redes (tipografía propia) */
body[data-page='home'] .social-section-head {
	margin-bottom: clamp(14px, 2.6vw, 22px);
	padding-top: 0;
}

body[data-page='home'] .social-section-bridge {
	width: min(96px, 26vw);
	margin-bottom: clamp(8px, 1.4vw, 12px);
	opacity: 1;
}

body[data-page='home'] .social-section-kicker {
	margin: 0 0 clamp(6px, 1.2vw, 10px);
	font-family: 'Space Grotesk', system-ui, sans-serif;
	font-size: clamp(0.7rem, 1.65vw, 0.86rem);
	font-weight: 500;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: rgba(184, 192, 204, 0.88);
}

body[data-page='home'] .social-section-title {
	margin: 0 0 clamp(8px, 1.6vw, 12px);
	font-family: 'Outfit', system-ui, sans-serif;
	font-size: clamp(1.6rem, 4.6vw, 2.2rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.1;
	background: none;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	-webkit-text-fill-color: #f0f4f8;
	color: #f0f4f8;
	filter: none;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}

body[data-page='home'] .social-section-lead {
	margin: 0 auto;
	max-width: 44ch;
	font-family: 'Albert Sans', system-ui, sans-serif;
	font-size: clamp(0.92rem, 2.2vw, 1.08rem);
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: 0.02em;
	color: #b8c0cc;
}

/* Separación contacto → redes: ver .contact-section / .social-section en tweaks.css */

.social-grid,
.hero-showcase,
.hero-unified-panel,
.hero-pair,
.hero-logo,
.hero-visual {
	position: relative;
	z-index: 1;
}

/* ── Hero responsive (escala sincronizada, alineación centrada) ── */

@media (max-width: 899px) {
	.hero-pair {
		grid-template-columns: 1fr;
		align-items: center;
		gap: var(--design-hero-gap, var(--sync-hero-gap, clamp(6px, 2vw, 12px)));
	}

	.hero-showcase {
		align-items: center;
		padding-top: max(4px, env(safe-area-inset-top, 0px));
		padding-inline: max(12px, env(safe-area-inset-left, 0px))
			max(12px, env(safe-area-inset-right, 0px));
		padding-bottom: 0;
	}

	.hero-visual {
		justify-self: center;
		align-self: center;
		width: 100%;
		max-width: var(--sync-video-stage-max, min(100%, 360px));
		margin-top: clamp(10px, 2.5vw, 20px);
		margin-bottom: 0;
	}

	.hero-logo {
		justify-self: center;
		align-self: var(--design-logo-align, center);
	}
}

@media (max-width: 399px) {
	:root {
		--sync-hero-title: clamp(1.28rem, 7.8vw, 1.72rem);
		--sync-hero-tagline: clamp(0.5rem, 2.6vw, 0.6rem);
		--sync-video-stage-max: min(100%, 72vw);
		--sync-video-height-max: min(34dvh, 34vh, 310px);
		--sync-video-height-cap: 310px;
	}

	.hero-logo {
		padding-inline: clamp(12px, 4vw, 18px);
	}

	.hero-tagline {
		letter-spacing: 0.08em;
	}
}

@media (min-width: 400px) and (max-width: 899px) {
	:root {
		--sync-hero-title: clamp(1.4rem, 5vw, 2.1rem);
		--sync-video-stage-max: min(100%, clamp(220px, 68vw, 320px));
		--sync-video-height-max: min(38dvh, 38vh, 380px);
		--sync-video-height-cap: 380px;
	}
}

@media (min-width: 900px) {
	:root {
		--sync-hero-title: clamp(1.55rem, 2.6vw, 2.45rem);
		--sync-hero-tagline: clamp(0.58rem, 1vw, 0.74rem);
		--sync-video-stage-max: min(100%, clamp(280px, 52%, 400px));
		--sync-video-height-max: min(46dvh, 46vh, 460px);
		--sync-video-height-cap: 460px;
		--sync-hero-gap: clamp(0px, 0.6vw, 8px);
		--sync-hero-bottom: 14px;
		--sync-contact-pad-y: 22px;
		--sync-section-gap: 24px;
		--sync-social-gap: 28px;
		--sync-video-object-x: 56%;
		--sync-hero-seam-x: 14px;
		--sync-logo-align: end;
		--sync-video-align: end;
	}

	.hero-logo {
		justify-self: end;
		align-self: var(--design-logo-align, var(--sync-logo-align, end));
		margin-inline: 0;
		padding: clamp(14px, 2vw, 22px) clamp(16px, 2.4vw, 28px);
	}

	.hero-line {
		width: min(72%, 9rem);
	}
}

@media (min-width: 1100px) {
	:root {
		--sync-hero-title: clamp(1.65rem, 2.4vw, 2.55rem);
		--sync-hero-tagline: clamp(0.6rem, 0.95vw, 0.78rem);
		--sync-video-stage-max: min(100%, clamp(300px, 56%, 440px));
		--sync-video-height-max: min(48dvh, 48vh, 500px);
		--sync-video-height-cap: 500px;
		--sync-hero-gap: clamp(0px, 0.5vw, 6px);
		--sync-hero-bottom: 18px;
		--sync-contact-pad-y: 26px;
		--sync-section-gap: 28px;
		--sync-social-gap: 32px;
		--sync-video-object-x: 56%;
		--sync-hero-seam-x: 14px;
	}

	.hero-logo {
		padding: clamp(14px, 2.2vw, 24px) clamp(18px, 2.8vw, 30px);
	}
}

@media (max-width: 900px) {
	.social-section {
		margin-top: 12px;
	}
}

@media (max-width: 640px) {
	.main-nav {
		gap: 4px;
		font-size: 0.72rem;
		padding: 6px 8px;
	}

	.main-nav .nav-link {
		padding: 5px 10px;
	}

	.hero-logo {
		padding-bottom: 0;
	}
}

/* Mono: anula cyan base del link Portafolio */
body.mood-mono .main-nav .nav-link--portafolio {
	color: rgba(168, 172, 180, 0.9);
	border: none;
	background: transparent;
	box-shadow: none;
}

body.mood-mono[data-page='home'] .main-nav .nav-cursor-hint {
	animation: nav-cursor-invite 2.6s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

body.mood-mono[data-page='home'] .main-nav .nav-link--portafolio:hover .nav-cursor-hint,
body.mood-mono[data-page='home'] .main-nav .nav-link--portafolio:focus-visible .nav-cursor-hint {
	animation: nav-cursor-invite 1.1s cubic-bezier(0.45, 0, 0.55, 1) infinite;
	filter:
		drop-shadow(0 0 5px rgba(255, 255, 255, 0.32))
		drop-shadow(1px 2px 0 rgba(0, 0, 0, 0.5));
}

/* ── Hero slim: texto + avatar, CTAs gris/plata ── */
body[data-page='home'] .home-hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(10px, 1.6vw, 14px);
	margin-top: clamp(18px, 2.6vw, 26px);
	width: 100%;
}

body[data-page='home'] .home-hero-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0.62rem 1.15rem;
	border-radius: 999px;
	font-family: var(--font-label);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	transition:
		transform 0.22s ease,
		box-shadow 0.25s ease,
		border-color 0.2s ease,
		background 0.2s ease;
}

body[data-page='home'] .home-hero-btn--primary {
	background: linear-gradient(165deg, #d8d8e0 0%, #c4c4ce 48%, #b8b8c4 100%);
	color: #0a0e14;
	border: 1px solid rgba(255, 255, 255, 0.42);
	box-shadow:
		0 4px 14px -4px rgba(0, 0, 0, 0.55),
		inset 0 1px 0 rgba(255, 255, 255, 0.55),
		inset 0 -1px 0 rgba(0, 0, 0, 0.18);
}

body[data-page='home'] .home-hero-btn--primary:hover,
body[data-page='home'] .home-hero-btn--primary:focus-visible {
	transform: translateY(-2px);
	box-shadow:
		0 8px 22px -6px rgba(0, 0, 0, 0.62),
		inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

body[data-page='home'] .home-hero-btn--ghost {
	background: transparent;
	color: rgba(210, 216, 226, 0.92);
	border: 1px solid rgba(168, 176, 192, 0.38);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body[data-page='home'] .home-hero-btn--ghost:hover,
body[data-page='home'] .home-hero-btn--ghost:focus-visible {
	border-color: rgba(192, 200, 214, 0.55);
	background: rgba(148, 156, 172, 0.08);
	transform: translateY(-1px);
}

@media (max-width: 1023px) {
	body[data-page='home'] .home-hero-actions {
		justify-content: center;
		max-width: min(100%, 340px);
		margin-inline: auto;
	}

	body[data-page='home'] .home-hero-btn {
		flex: 1 1 auto;
		min-width: min(100%, 9.5rem);
	}

	body[data-page='home'] .home-hero-btn--primary {
		flex: 1 1 100%;
		width: 100%;
	}
}

@media (min-width: 1024px) {
	body[data-page='home'] .hero-unified-body--slim {
		flex-direction: column;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-stage {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-pair {
		display: grid;
		grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
		justify-content: stretch;
		justify-items: stretch;
		align-items: end;
		gap: clamp(1.5rem, 2.8vw, 2.5rem);
		width: 100%;
		max-width: 1200px;
		margin-inline: auto;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-logo--stage {
		align-items: flex-start;
		text-align: left;
		margin-inline: 0;
		width: 100%;
		max-width: 100%;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-line {
		margin-left: 0;
		margin-right: auto;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-tagline,
	body[data-page='home'] .hero-unified-body--slim .hero-byline {
		text-align: left;
		align-items: flex-start;
		margin-inline: 0;
	}

	body[data-page='home'] .hero-unified-body--slim .home-hero-actions {
		justify-content: flex-start;
		width: 100%;
		max-width: none;
		margin-inline: 0;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-stage {
		padding-inline: clamp(20px, 3vw, 36px);
	}

	body[data-page='home'] .hero-unified-body--slim .hero-logo-column {
		position: relative;
		justify-self: start;
		align-self: end;
		max-width: min(100%, 640px);
		overflow: visible;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-logo--stage {
		position: relative;
		z-index: 2;
		max-width: 100%;
		justify-self: stretch;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-visual {
		width: min(100%, clamp(360px, 46vw, 620px));
		max-width: min(100%, clamp(360px, 46vw, 620px));
		margin-inline-start: 0;
		justify-self: end;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-visual__frame img {
		max-height: min(78dvh, 740px);
		width: auto;
		max-width: 100%;
		height: auto;
		object-fit: contain;
		object-position: bottom center;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-wordmark-wrap {
		font-size: clamp(2.35rem, 4.6vw, 4.85rem);
		line-height: 1.12;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-wordmark {
		font-size: 1em;
		line-height: inherit;
		white-space: nowrap;
		text-wrap: nowrap;
		overflow-wrap: normal;
		word-break: keep-all;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-tagline {
		font-size: clamp(0.78rem, 1.25vw, 1.05rem);
		max-width: 42ch;
	}

	body[data-page='home'] .hero-unified-body--slim .hero-byline-services {
		font-size: clamp(0.9rem, 1.3vw, 1.05rem);
		line-height: 1.55;
		max-width: 38ch;
	}
}

@media (max-width: 1023px) {
	body[data-page='home'] .hero-unified-body--slim .hero-wordmark {
		white-space: normal;
	}
}

/* ── Panel único: hero + wordmark + contenido inferior ── */
body[data-page='home'] .hero-unified-panel .home-unified-content,
body[data-page='home'] .hero-unified-panel .home-below-hero {
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 0;
	padding:
		0
		var(--hero-panel-inset-x)
		var(--hero-panel-inset-bottom);
}

@media (max-width: 768px) {
	body[data-page='home'] .hero-unified-panel .home-unified-content,
	body[data-page='home'] .hero-unified-panel .home-below-hero {
		padding-inline: max(12px, env(safe-area-inset-left, 0px))
			max(12px, env(safe-area-inset-right, 0px));
	}

	body[data-page='home'] .hero-unified-panel .contact-section--closing {
		margin-top: clamp(28px, 7vw, 44px);
		padding-bottom: clamp(16px, 4vw, 24px);
	}

	body[data-page='home'] .hero-unified-panel .home-cta-actions--closing {
		max-width: 100%;
	}

	body[data-page='home'] .hero-unified-panel .home-cta-actions--closing .home-contact-btn {
		max-width: 100%;
		min-height: 48px;
	}
}

body[data-page='home'] .hero-unified-panel .home-unified-content::before,
body[data-page='home'] .hero-unified-panel .home-below-hero::before {
	display: none;
}

body[data-page='home'] .hero-unified-panel .home-reading-zone::before {
	display: none;
}

body[data-page='home'] .hero-unified-panel .home-featured {
	max-width: 100%;
	padding-inline: 0;
	margin-bottom: 0;
}

body[data-page='home'] .hero-unified-panel .home-below-hero .social-section {
	padding-top: clamp(18px, 3vw, 28px);
	margin-top: 0;
	border-top: none;
}

body[data-page='home'] .hero-unified-panel .contact-section--closing {
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	padding:
		clamp(22px, 3.5vw, 36px)
		0
		clamp(8px, 1.2vw, 12px);
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

@media (min-width: 1024px) {
	body[data-page='home'] .hero-unified-panel {
		max-width: min(100%, 1200px);
	}

	body[data-page='home'] .hero-showcase--unified {
		max-width: min(100%, 1200px);
	}
}
