/* EN360 Motion — capa inmersiva de la landing */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

body.en360-motion {
	background: #FFF6EC !important;
	color: #2A1712;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}
body.en360-motion ::selection { background: #E95699; color: #fff; }

/* Lienzo de fondo vivo */
.en360-bg {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	z-index: 0;
	pointer-events: none;
	display: block;
}
.en360-grain {
	position: fixed;
	inset: -50%;
	width: 200%;
	height: 200%;
	z-index: 1;
	pointer-events: none;
	opacity: 0.07;
	mix-blend-mode: multiply;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
	animation: en360-grain 1.2s steps(6) infinite;
}
@keyframes en360-grain {
	0% { transform: translate(0, 0); }
	20% { transform: translate(-3%, 2%); }
	40% { transform: translate(2%, -3%); }
	60% { transform: translate(-2%, -1%); }
	80% { transform: translate(3%, 3%); }
	100% { transform: translate(0, 0); }
}
body.en360-motion .elementor { position: relative; z-index: 2; }
body.en360-motion .en-nav { z-index: 60; }

/* Carga: cortina de marca */
html.en360-loading body.en360-motion .elementor { opacity: 0; }
.en360-curtain {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: grid;
	place-items: center;
	background: #FFF6EC;
	pointer-events: none;
}
.en360-curtain__disc {
	width: 22vmin;
	height: 22vmin;
	border-radius: 50%;
	background: conic-gradient(from 0deg, #E95699, #E95A28, #F59A0C, #E95699);
	filter: blur(0.5px);
}
.en360-curtain__label {
	position: absolute;
	font-family: "Fraunces", serif;
	font-weight: 300;
	font-size: clamp(1.4rem, 4vmin, 2.4rem);
	color: #fff;
	letter-spacing: -0.02em;
}

/* Títulos: acento degradado en itálica */
body.en360-motion em,
.elementor .en-display em,
.elementor .en-h2 em,
.elementor .en-words em,
.elementor .en-logo em {
	font-style: italic;
	font-weight: 400;
	background-image: linear-gradient(100deg, #E95699 0%, #E95A28 55%, #F59A0C 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	padding-right: 0.06em;
}
body.en360-motion .en-split em { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: inherit; }
body.en360-motion .en-split em .en-wi,
body.en360-motion .en-split .en-hl .en-wi {
	background-image: linear-gradient(100deg, #E95699 0%, #E95A28 55%, #F59A0C 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-style: italic;
	padding-right: 0.06em;
}
.elementor .en-takeover em,
body.en360-motion .en-takeover em .en-wi {
	background-image: linear-gradient(100deg, #FFFFFF 0%, #FFE7C2 100%) !important;
}

/* Palabras divididas */
.en-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.08em; margin-bottom: -0.08em; }
.en-wi { display: inline-block; will-change: transform; }
.en-words .en-w { overflow: visible; }

/* Formas orgánicas que respiran */
body.en360-motion .en-blob { animation: en360-morph 14s ease-in-out infinite alternate; }
body.en360-motion .en-blob:nth-child(2n) { animation-duration: 17s; animation-direction: alternate-reverse; }
@keyframes en360-morph {
	0% { border-radius: 48% 52% 45% 55% / 55% 45% 55% 45%; }
	33% { border-radius: 60% 40% 55% 45% / 45% 60% 40% 55%; }
	66% { border-radius: 40% 60% 42% 58% / 58% 42% 60% 40%; }
	100% { border-radius: 55% 45% 60% 40% / 40% 55% 45% 60%; }
}
body.en360-motion .en-blob img { transform-origin: 50% 50%; }

/* Sello 360 */
.en360-seal { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.en360-seal__ring { transform-origin: 50% 50%; animation: en360-spin 28s linear infinite; }
.en360-seal__ring--rev { animation-duration: 40s; animation-direction: reverse; }
.en360-seal__text { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; font-size: 9.5px; letter-spacing: 3.2px; fill: #2A1712; text-transform: uppercase; }
.en360-seal__num { font-family: "Fraunces", serif; font-weight: 300; font-size: 44px; fill: #fff; letter-spacing: -1.5px; }
.en360-seal__sub { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; font-size: 7px; letter-spacing: 2.4px; fill: rgba(255,255,255,0.92); }
.en360-seal__pulse { transform-origin: 50% 50%; animation: en360-pulse 4.5s ease-out infinite; }
.en360-seal__pulse:nth-of-type(2) { animation-delay: 1.5s; }
.en360-seal__pulse:nth-of-type(3) { animation-delay: 3s; }
@keyframes en360-spin { to { transform: rotate(360deg); } }
@keyframes en360-pulse {
	0% { transform: scale(0.7); opacity: 0.55; }
	100% { transform: scale(1.6); opacity: 0; }
}

/* Membresía: borde degradado vivo */
@property --en360-angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
body.en360-motion .en-tilt { position: relative; transform-style: preserve-3d; isolation: isolate; }
body.en360-motion .en-tilt::before {
	content: "";
	position: absolute;
	inset: -2px;
	border-radius: inherit;
	padding: 2px;
	background: conic-gradient(from var(--en360-angle), #E95699, #E95A28, #F59A0C, #FFF6EC, #E95699);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: en360-rotate-angle 6s linear infinite;
	z-index: -1;
	pointer-events: none;
}
body.en360-motion .en-tilt::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: radial-gradient(600px circle at var(--mx, 50%) var(--my, 0%), rgba(245,154,12,0.18), transparent 45%);
	z-index: -1;
	pointer-events: none;
}
@keyframes en360-rotate-angle { to { --en360-angle: 360deg; } }

/* Vidrio */
body.en360-motion .en-glass,
body.en360-motion .en-nav,
body.en360-motion .en-pill-card,
body.en360-motion .en-card,
body.en360-motion .en-chip {
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	backdrop-filter: blur(18px) saturate(140%);
}

/* Navegación */
body.en360-motion .en-nav { transition: transform 0.6s cubic-bezier(.2,.8,.2,1), background-color 0.4s, box-shadow 0.4s; }
body.en360-motion .en-nav.is-hidden { transform: translate3d(-50%, -140%, 0) !important; }
body.en360-motion .en-nav.is-solid { background-color: rgba(255,246,236,0.9); }
.en360-progress {
	position: absolute;
	left: 1.5rem;
	right: 1.5rem;
	bottom: 0;
	height: 2px;
	border-radius: 2px;
	transform-origin: 0 50%;
	transform: scaleX(0);
	background: linear-gradient(90deg, #E95699, #E95A28, #F59A0C);
	pointer-events: none;
}

/* Filas tipo streaming */
body.en360-motion .en-row { scroll-snap-type: x proximity; scrollbar-width: none; -ms-overflow-style: none; cursor: grab; }
body.en360-motion .en-row::-webkit-scrollbar { display: none; }
body.en360-motion .en-row.is-dragging { cursor: grabbing; scroll-snap-type: none; }
body.en360-motion .en-row.is-dragging * { pointer-events: none; }
body.en360-motion .en-card { scroll-snap-align: start; }
body.en360-motion .en-card img { transition: transform 0.9s cubic-bezier(.2,.8,.2,1); }
body.en360-motion .en-card:hover img { transform: scale(1.07); }
body.en360-motion .en-pin-track { scrollbar-width: none; }
body.en360-motion .en-pin-track::-webkit-scrollbar { display: none; }
body.en360-motion .en-pro img { transition: transform 1s cubic-bezier(.2,.8,.2,1); }
body.en360-motion .en-pro:hover img { transform: scale(1.06); }

/* Buscador */
body.en360-motion .en-search { transition: box-shadow 0.5s, transform 0.5s; }
body.en360-motion .en-search:focus-within { box-shadow: 0 40px 90px -30px rgba(233,86,153,0.55), 0 0 0 4px rgba(245,154,12,0.25); transform: translateY(-2px); }
body.en360-motion .en-search input { border: 0 !important; outline: none !important; box-shadow: none !important; background: transparent !important; }
body.en360-motion .en-search input::placeholder { color: #9A7B70; }
body.en360-motion .en-search [class*="success"],
body.en360-motion .en-search [class*="error"] { display: none !important; }

/* Cierre: anillos de agua */
body.en360-motion .en-takeover { isolation: isolate; }
.en360-ripples { position: absolute; inset: 0; z-index: 1; pointer-events: none; display: grid; place-items: center; }
.en360-ripples span {
	position: absolute;
	width: 40vmin;
	height: 40vmin;
	border-radius: 50%;
	border: 1.5px solid rgba(255,255,255,0.45);
	animation: en360-ripple 7s cubic-bezier(.2,.6,.3,1) infinite;
}
.en360-ripples span:nth-child(2) { animation-delay: 1.75s; }
.en360-ripples span:nth-child(3) { animation-delay: 3.5s; }
.en360-ripples span:nth-child(4) { animation-delay: 5.25s; }
@keyframes en360-ripple {
	0% { transform: scale(0.3); opacity: 0; }
	15% { opacity: 1; }
	100% { transform: scale(3.2); opacity: 0; }
}

/* Cursor de luz */
.en360-cursor {
	position: fixed;
	top: 0;
	left: 0;
	width: 34px;
	height: 34px;
	margin: -17px 0 0 -17px;
	border-radius: 50%;
	z-index: 90;
	pointer-events: none;
	background: radial-gradient(circle, rgba(233,86,153,0.55) 0%, rgba(233,90,40,0.25) 45%, transparent 70%);
	mix-blend-mode: multiply;
	transition: width 0.35s, height 0.35s, margin 0.35s, opacity 0.3s;
	opacity: 0;
}
.en360-cursor.is-on { opacity: 1; }
.en360-cursor.is-hover { width: 90px; height: 90px; margin: -45px 0 0 -45px; }
@media (hover: none), (pointer: coarse) { .en360-cursor { display: none; } }

@media (prefers-reduced-motion: reduce) {
	body.en360-motion .en-blob,
	.en360-seal__ring,
	.en360-seal__pulse,
	.en360-ripples span,
	.en360-grain,
	body.en360-motion .en-tilt::before { animation: none !important; }
}
