/* Nereida · Servicios en cristal (Core 1.5.0; escala de texto de cinco tamaños desde la 1.6.0) */
.n-cristal {
	--ng-a1: #A9E2CF;
	--ng-a2: #82D7FF;
	--ng-a3: #C6BEF4;
	--ng-ink: var(--color-ink, #070035);
	--ng-ease: cubic-bezier(.22, 1, .36, 1);
	position: relative; isolation: isolate; width: 100%;
}
.n-aurora { position: absolute; z-index: -1; inset: -120px -4% -150px; pointer-events: none;
	-webkit-mask-image: radial-gradient(72% 62% at 50% 50%, #000 40%, transparent 100%); mask-image: radial-gradient(72% 62% at 50% 50%, #000 40%, transparent 100%); }
.n-aurora i { position: absolute; width: 46%; aspect-ratio: 1.25; border-radius: 50%; will-change: transform; animation: n-aurora 26s ease-in-out infinite alternate; }
.n-aurora i:nth-child(1) { left: -2%; top: 10%; background: radial-gradient(closest-side, color-mix(in srgb, var(--ng-a1) 95%, transparent), transparent); }
.n-aurora i:nth-child(2) { left: 27%; top: 12%; background: radial-gradient(closest-side, color-mix(in srgb, var(--ng-a2) 85%, transparent), transparent); animation-duration: 32s; animation-delay: -8s; }
.n-aurora i:nth-child(3) { right: -2%; top: 6%; background: radial-gradient(closest-side, color-mix(in srgb, var(--ng-a3) 98%, transparent), transparent); animation-duration: 29s; animation-delay: -15s; }
@keyframes n-aurora { 0% { transform: translate3d(-6%, 4%, 0) scale(1); } 50% { transform: translate3d(7%, -6%, 0) scale(1.12); } 100% { transform: translate3d(-3%, 8%, 0) scale(.96); } }
.n-cristal-grid { display: grid; grid-template-columns: repeat(min(var(--n, 4), 4), minmax(0, 1fr)); gap: clamp(12px, 1.3vw, 20px); }
.n-cristal a.n-cristal-card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(280px, 25vw, 370px); border-radius: 28px; overflow: hidden; color: var(--ng-ink); font-family: inherit; text-decoration: none; isolation: isolate; background: rgba(255, 255, 255, .42); -webkit-backdrop-filter: blur(22px) saturate(150%); backdrop-filter: blur(22px) saturate(150%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .75), inset 0 1px 0 rgba(255, 255, 255, .95), 0 26px 60px -40px rgba(7, 0, 53, .3); transition: transform .6s var(--ng-ease), background .6s var(--ng-ease), box-shadow .6s var(--ng-ease); }
.n-cristal a.n-cristal-card:hover, .n-cristal a.n-cristal-card.is-act { transform: translateY(-6px); background: rgba(255, 255, 255, .8); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .9), inset 0 1px 0 #fff, 0 40px 70px -40px rgba(7, 0, 53, .38); }
.n-cristal-body { display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 2vw, 30px); }
.n-cristal .n-cristal-t { margin: 0; padding: 0; font-family: inherit; color: var(--ng-ink); font-size: clamp(20px, 1.6vw, 25px); font-weight: 560; letter-spacing: -.03em; line-height: 1.15; text-wrap: balance; }
.n-cristal-d { font-size: var(--font-body, 17px); line-height: 1.5; color: color-mix(in srgb, var(--ng-ink) 70%, transparent); max-width: 24em; }
.n-cristal-card > svg { position: absolute; top: 16px; right: 16px; z-index: 2; width: 36px; height: 36px; padding: 10px; border-radius: 50%; background: rgba(255, 255, 255, .8); color: var(--ng-ink); transition: transform .45s var(--ng-ease), background .5s, color .5s; }
.n-cristal-card:hover > svg, .n-cristal-card.is-act > svg { transform: translate(3px, -3px); background: var(--ng-ink); color: #fff; }

@media (max-width: 1180px) { .n-cristal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
	.n-aurora { inset: -70px -14% -70px; -webkit-mask-image: linear-gradient(to bottom, transparent, #000 9%, #000 91%, transparent); mask-image: linear-gradient(to bottom, transparent, #000 9%, #000 91%, transparent); }
	.n-aurora i { width: 118%; aspect-ratio: 1; }
	.n-aurora i:nth-child(1) { top: -4%; left: -30%; }
	.n-aurora i:nth-child(2) { top: 30%; left: 6%; }
	.n-aurora i:nth-child(3) { top: 62%; right: -34%; }
}
@media (max-width: 640px) {
	.n-cristal-grid { grid-template-columns: 1fr; }
	.n-cristal a.n-cristal-card { min-height: 250px; }
}
@media (prefers-reduced-motion: reduce) { .n-aurora i { animation: none; } }
