/* Unlockers Cloud — capa visual v3 para subpáginas (activa con html.uc-v3; vista previa) */
html.uc-v3 .uc-hero { position: relative; isolation: isolate; overflow: hidden;
    background: radial-gradient(900px 520px at 78% 30%, #133159 0%, rgba(11,31,58,0) 70%), radial-gradient(700px 420px at 8% 110%, #0F3A2E 0%, rgba(11,31,58,0) 70%), #0B1F3A !important; }
html.uc-v3 .uc-net { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
html.uc-v3 .uc-beam { position: absolute; top: -30%; left: -40%; width: 45%; height: 160%; z-index: 0; pointer-events: none; opacity: 0;
    background: linear-gradient(100deg, transparent 0%, rgba(76,199,154,.06) 45%, rgba(142,168,255,.12) 50%, rgba(76,199,154,.06) 55%, transparent 100%); transform: rotate(14deg); }
html.uc-v3.motion .uc-beam { animation: ucbeam 9s ease-in-out 1.6s infinite; }
@keyframes ucbeam { 0% { left: -45%; opacity: 0 } 10% { opacity: 1 } 55% { opacity: 1 } 70% { left: 110%; opacity: 0 } 100% { left: 110%; opacity: 0 } }
html.uc-v3 .uc-hero > *:not(.uc-net):not(.uc-beam) { position: relative; z-index: 1; }
html.uc-v3 .uc-hero h1 { font-family: 'Archivo', Arial, sans-serif !important; font-stretch: 112%; font-weight: 700 !important; letter-spacing: -.015em; line-height: 1.06 !important; }
html.uc-v3 .uc-hero h1 .wd { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
html.uc-v3 .uc-hero h1 .wd > span { display: inline-block; will-change: transform; }
html.uc-v3 .uc-hero h1 span[class*="text-"], html.uc-v3 .uc-hero h1 .hero-accent { color: #4CC79A !important; }

/* Ticker */
html.uc-v3 .uc-ticker { background: #0A1524; border-block: 1px solid #1C3150; overflow: hidden; padding: 20px 0; position: relative; }
html.uc-v3 .uc-ticker::before, html.uc-v3 .uc-ticker::after { content: ""; position: absolute; top: 0; bottom: 0; width: 120px; z-index: 1; pointer-events: none; }
html.uc-v3 .uc-ticker::before { left: 0; background: linear-gradient(90deg, #0A1524, transparent); }
html.uc-v3 .uc-ticker::after { right: 0; background: linear-gradient(270deg, #0A1524, transparent); }
html.uc-v3 .uc-ticker__track { display: flex; align-items: center; gap: 34px; width: max-content; font-family: 'Archivo', Arial, sans-serif; font-stretch: 112%; font-size: clamp(20px, 2.4vw, 30px); font-weight: 700; color: #4CC79A; white-space: nowrap; }
html.uc-v3 .uc-ticker__track i { width: 9px; height: 9px; transform: rotate(45deg); background: #8EA8FF; flex: none; display: block; }
html.uc-v3 .uc-ticker__track span:nth-of-type(even) { color: transparent; -webkit-text-stroke: 1px rgba(232,238,234,.7); }

/* Tarjetas con luz que sigue el cursor */
html.uc-v3 .uc-tilt { --mx: 50%; --my: 50%; position: relative; transform-style: preserve-3d; }
html.uc-v3 .uc-tilt::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .3s ease;
    background: radial-gradient(420px circle at var(--mx) var(--my), rgba(76,199,154,.13), transparent 45%); z-index: 2; }
html.uc-v3 .uc-tilt:hover::after { opacity: 1; }
html.uc-v3 .uc-tilt:hover { border-color: #0B5A43 !important; }

/* Cursor */
html.uc-v3 .uc-cursor { position: fixed; left: 0; top: 0; width: 420px; height: 420px; margin: -210px 0 0 -210px; border-radius: 50%; pointer-events: none; z-index: 40;
    background: radial-gradient(circle, rgba(76,199,154,.16) 0%, rgba(142,168,255,.06) 40%, transparent 70%); opacity: 0; transition: opacity .4s ease; mix-blend-mode: screen; }

/* Secciones claras: fondo papel y titulares de la marca */
html.uc-v3 main section h2 { letter-spacing: -.005em; }
@media (max-width: 760px) { html.uc-v3 .uc-ticker { padding: 14px 0; } }
@media (prefers-reduced-motion: reduce) { html.uc-v3 .uc-beam { animation: none !important; } html.uc-v3 .uc-cursor { display: none !important; } }

/* Portada creada para páginas que no la tenían (contacto) */
html.uc-v3 .uc-hero--made { padding: 72px 0 64px; }
html.uc-v3 .uc-hero--made .uc-hero__in { max-width: 1024px; margin: 0 auto; padding: 0 24px; }
html.uc-v3 .uc-hero--made h1 { color: #F5F7F4 !important; font-size: clamp(40px, 5vw, 64px) !important; margin-bottom: 16px !important; }
html.uc-v3 .uc-hero--made p { color: #C9D2CE !important; max-width: 640px; margin: 0 !important; }
