/* Capa premium v2 del holding (2026-10-17) — efectos visibles. Motion Primitives (TextEffect, InView, Spotlight,
   Magnetic, Tilt, InfiniteSlider, counters), Watermelon UI (bordes cónicos, rejilla, cristal) y Haikei (aurora,
   blobs, ondas). Acento por marca vía --pm-accent (lo fija premium.js). No toca textos ni layout. */
:root{--pm-accent:#c9a063;--pm-accent-rgb:201,160,99;--pm-ease:cubic-bezier(.22,1,.36,1)}
@property --pm-ang{syntax:"<angle>";initial-value:0deg;inherits:false}

/* ---------- Grano + cursor luminoso global ---------- */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:2147483000;opacity:.06;mix-blend-mode:overlay;
 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='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.pm-cursor{position:fixed;left:0;top:0;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;pointer-events:none;z-index:2147482990;
 background:radial-gradient(circle,rgba(var(--pm-accent-rgb),.20),rgba(var(--pm-accent-rgb),.06) 45%,transparent 70%);mix-blend-mode:screen;opacity:0;transition:opacity .5s;will-change:transform}
.pm-cursor.on{opacity:1}
.pm-light .pm-cursor{mix-blend-mode:multiply;background:radial-gradient(circle,rgba(var(--pm-accent-rgb),.16),transparent 65%)}

/* ---------- Aurora Haikei: blobs animados + rejilla + partículas ---------- */
.pm-host{position:relative;isolation:isolate}
.pm-aurora{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.pm-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;mix-blend-mode:screen;will-change:transform}
.pm-blob.a{width:48vmax;height:48vmax;left:-12vmax;top:-18vmax;background:radial-gradient(circle,rgba(var(--pm-accent-rgb),.85),transparent 68%);animation:pm-f1 18s ease-in-out infinite alternate}
.pm-blob.b{width:40vmax;height:40vmax;right:-14vmax;top:8%;background:radial-gradient(circle,rgba(var(--pm-accent2-rgb,120,150,230),.7),transparent 68%);animation:pm-f2 23s ease-in-out infinite alternate}
.pm-blob.c{width:34vmax;height:34vmax;left:30%;bottom:-20vmax;background:radial-gradient(circle,rgba(var(--pm-accent-rgb),.6),transparent 68%);animation:pm-f3 27s ease-in-out infinite alternate}
@keyframes pm-f1{to{transform:translate3d(14vmax,10vmax,0) scale(1.18)}}
@keyframes pm-f2{to{transform:translate3d(-16vmax,12vmax,0) scale(.88)}}
@keyframes pm-f3{to{transform:translate3d(-10vmax,-9vmax,0) scale(1.2)}}
.pm-grid{position:absolute;inset:0;opacity:.5;
 background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:56px 56px;
 -webkit-mask:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%);mask:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%)}
.pm-canvas{position:absolute;inset:0;width:100%;height:100%}
.pm-light .pm-blob{mix-blend-mode:multiply;opacity:.28}.pm-light .pm-grid{background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px)}

/* ---------- Ondas Haikei entre secciones (flotan) ---------- */
.pm-wave{display:block;width:100%;height:clamp(50px,9vw,120px);margin:-1px 0;position:relative;z-index:1;pointer-events:none}
.pm-wave path:first-child{animation:pm-wv 9s ease-in-out infinite alternate}
@keyframes pm-wv{to{transform:translateX(-40px) scaleY(1.15)}}

/* ---------- Entradas ---------- */
.pm-w{display:inline-block;opacity:0;filter:blur(12px);transform:translateY(.7em) rotate(2deg);
 transition:opacity .9s var(--pm-ease),filter .9s var(--pm-ease),transform .9s var(--pm-ease);transition-delay:calc(var(--i)*70ms)}
.pm-in .pm-w,.pm-in.pm-w{opacity:1;filter:none;transform:none}
.pm-rv{opacity:0;transform:translateY(46px) scale(.96);filter:blur(6px);transition:opacity 1s var(--pm-ease),transform 1s var(--pm-ease),filter 1s var(--pm-ease);transition-delay:calc(var(--d,0)*90ms)}
.pm-rv.pm-in{opacity:1;transform:none;filter:none}
.pm-rv.l{transform:translateX(-50px)}.pm-rv.r{transform:translateX(50px)}
.pm-rv.l.pm-in,.pm-rv.r.pm-in{transform:none}
.pm-hero-in>*{animation:pm-up 1.1s var(--pm-ease) both;animation-delay:calc(var(--k)*120ms + 250ms)}
@keyframes pm-up{from{opacity:0;transform:translateY(34px);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}

/* ---------- Titulares con brillo animado ---------- */
h1 em,h2 em,.pm-shine{background:linear-gradient(100deg,color-mix(in srgb,var(--pm-accent) 42%,#fff) 20%,#fff 45%,color-mix(in srgb,var(--pm-accent) 42%,#fff) 70%);background-size:250% 100%;
 -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:pm-shine 5s linear infinite}
@keyframes pm-shine{to{background-position:-250% 0}}
.sec-head h2,.sec h2,h1{letter-spacing:-.025em;text-wrap:balance}
.pm-line{display:block;height:2px;width:0;margin:0 0 1.2rem;background:linear-gradient(90deg,var(--pm-accent),transparent);transition:width 1.2s var(--pm-ease)}
.pm-in .pm-line,.pm-line.pm-in{width:96px}

/* ---------- Tarjetas: tilt 3D + brillo + borde cónico ---------- */
.pm-card{position:relative;transform-style:preserve-3d;transition:transform .45s var(--pm-ease),box-shadow .45s,border-color .4s;will-change:transform}
.pm-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;z-index:0;
 background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(var(--pm-accent-rgb),.22),transparent 62%)}
.pm-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;padding:1.5px;z-index:2;
 background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(var(--pm-accent-rgb),1),transparent 70%);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.pm-card:hover::before,.pm-card:hover::after{opacity:1}
.pm-card:hover{box-shadow:0 28px 70px -24px rgba(var(--pm-accent-rgb),.55),0 0 0 1px rgba(var(--pm-accent-rgb),.25)}
.pm-card>*{position:relative;z-index:1}
.pm-feat{position:relative}
.pm-feat::after{content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;padding:2px;z-index:3;opacity:1!important;
 background:conic-gradient(from var(--pm-ang),transparent 0 55%,rgba(var(--pm-accent-rgb),1) 78%,#fff 86%,transparent 92%);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:pm-spin 5s linear infinite}
@keyframes pm-spin{to{--pm-ang:360deg}}

/* ---------- Botones ---------- */
.btn-1,.btn-gold,.btn-primary{position:relative;overflow:hidden;will-change:transform}
.btn-1::after,.btn-gold::after,.btn-primary::after{content:"";position:absolute;inset:0;pointer-events:none;transform:translateX(-130%) skewX(-18deg);
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:pm-sweep 4.5s ease-in-out infinite}
@keyframes pm-sweep{0%,55%{transform:translateX(-130%) skewX(-18deg)}100%{transform:translateX(130%) skewX(-18deg)}}
.hero .btn-1,.hero .btn-gold,.hero .btn-primary{box-shadow:0 0 0 0 rgba(var(--pm-accent-rgb),.55);animation:pm-pulse 2.8s ease-out infinite}
@keyframes pm-pulse{70%{box-shadow:0 0 0 18px rgba(var(--pm-accent-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--pm-accent-rgb),0)}}

/* ---------- Enlaces de menú con subrayado que dibuja ---------- */
header nav a:not(.btn){background:linear-gradient(var(--pm-accent),var(--pm-accent)) 0 100%/0 1px no-repeat;transition:background-size .5s var(--pm-ease)}
header nav a:not(.btn):hover{background-size:100% 1px}

/* ---------- Cinta infinita + progreso + cristal ---------- */
.pm-slider{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pm-slider-track{display:flex;gap:2.5rem;width:max-content;animation:pm-slide 32s linear infinite}
.pm-slider:hover .pm-slider-track{animation-play-state:paused}
@keyframes pm-slide{to{transform:translateX(-50%)}}
.pm-prog{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--pm-accent),#fff 60%,var(--pm-accent));z-index:2147483001;pointer-events:none;box-shadow:0 0 12px var(--pm-accent)}
.pm-glass{backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px)}
.num,.importe,.cifra{font-variant-numeric:tabular-nums}

@media (hover:none){.pm-card::before,.pm-cursor{display:none}}
@media (max-width:760px){.pm-blob{filter:blur(50px)}.pm-grid{background-size:40px 40px}}
@media (prefers-reduced-motion:reduce){
 .pm-w,.pm-rv{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
 .pm-blob,.pm-slider-track,.pm-wave path,h1 em,h2 em,.pm-feat::after,.btn-1::after,.hero .btn-1,.pm-hero-in>*{animation:none!important}
 .pm-cursor,.pm-canvas{display:none}}
.no-js .pm-w,.no-js .pm-rv{opacity:1;filter:none;transform:none}
.rv-safety .pm-w,.rv-safety .pm-rv{opacity:1;filter:none;transform:none}

.pm-light h1 em,.pm-light h2 em,.pm-light .pm-shine{background-image:linear-gradient(100deg,color-mix(in srgb,var(--pm-accent) 80%,#000) 20%,var(--pm-accent) 45%,color-mix(in srgb,var(--pm-accent) 80%,#000) 70%)}
