/* RevPush360 V6 — branded motion layer. Everything stays readable without JS. */
:root{--rv6-cyan:#00aad4;--rv6-dark:#006680;--rv6-sky:#87cdde}
/* Only introduce delays after JS has opted in to motion. */
/* Do not hide actual copy or headings while off screen. Animate only upon entry. */
html.rv6-motion-ready .rv6-enter{opacity:1;transform:none}
html.rv6-motion-ready .rv6-enter.rv6-visible{animation:rv6SoftEnter .7s ease both}
@keyframes rv6SoftEnter{from{opacity:.75;transform:translateY(9px)}to{opacity:1;transform:none}}
html.rv6-motion-ready .rv6-step{opacity:1;transform:none}
html.rv6-motion-ready [data-motion-group].rv6-visible .rv6-step{animation:rv6SoftEnter .65s ease var(--rv6-delay,0ms) both}
html.rv6-motion-ready .rv6-signal{opacity:1;transform:none}
html.rv6-motion-ready [data-motion-group].rv6-visible .rv6-signal{animation:rv6SoftEnter .7s ease var(--rv6-delay,0ms) both}
/* Chart drawing: real existing vector paths, no fabricated performance metrics. */
html.rv6-motion-ready .rv6-main-line{stroke-dasharray:var(--rv6-path-length,900);stroke-dashoffset:var(--rv6-path-length,900);transition:stroke-dashoffset 2.55s cubic-bezier(.15,.65,.17,1) .16s}
html.rv6-motion-ready .rv6-plot.rv6-visible .rv6-main-line{stroke-dashoffset:0}
html.rv6-motion-ready .rv6-secondary-line{opacity:.15;transition:opacity 1.2s ease 1s}
html.rv6-motion-ready .rv6-plot.rv6-visible .rv6-secondary-line{opacity:.9}
html.rv6-motion-ready .rv6-chart-fill{opacity:0;transition:opacity 1.2s ease .9s}
html.rv6-motion-ready .rv6-plot.rv6-visible .rv6-chart-fill{opacity:1}
.rv6-cursor{filter:drop-shadow(0 1px 5px rgba(0,170,212,.56));pointer-events:none;opacity:0;transition:opacity .5s ease}
.rv6-plot.rv6-visible .rv6-cursor{opacity:1}
.rv6-chart-status{display:inline-flex;align-items:center;gap:7px;white-space:normal;font:700 9px/1.5 Manrope,Arial,sans-serif;letter-spacing:.015em;color:#518497;background:#edf9fc;padding:6px 9px;border-radius:100px}
.rv6-pulse-dot{display:inline-block;flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#00aad4;box-shadow:0 0 0 0 rgba(0,170,212,.5);animation:rv6pulse 3s ease-in-out infinite}
@keyframes rv6pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,170,212,.32)}55%{box-shadow:0 0 0 6px rgba(0,170,212,0)}}
.hero-tech .dash-title{flex-wrap:wrap;gap:12px}
.hero-tech .dash-title .rv6-chart-status{flex-basis:100%;max-width:max-content}
.intelligence-box-top{flex-wrap:wrap}
.intelligence-box-top .rv6-chart-status{flex-basis:100%;max-width:max-content;font-size:9px;text-transform:none;letter-spacing:0}
/* Chart distribution and opportunity heatmap enter progressively */
html.rv6-motion-ready .rv6-stack-segment{transform:scaleX(0);transform-origin:0% 50%;transition:transform 1.1s cubic-bezier(.14,.7,.24,1) var(--rv6-delay,0ms)}
html.rv6-motion-ready .intelligence-widget.rv6-visible .rv6-stack-segment{transform:scaleX(1)}
html.rv6-motion-ready .rv6-heat{opacity:.1;transform:scale(.83);transition:opacity .5s ease var(--rv6-heat-delay,0ms),transform .5s ease var(--rv6-heat-delay,0ms)}
html.rv6-motion-ready .intelligence-widget.rv6-visible .rv6-heat{opacity:1;transform:none}
.rv6-motion-toolbar{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;margin:-18px 0 21px}
.rv6-motion-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;background:#e8f6fb;border:1px solid #bee4ef;border-radius:10px;padding:9px 13px;color:#006680;font:800 12px Manrope,Arial,sans-serif;cursor:pointer;transition:background .2s ease}
.rv6-motion-button:hover{background:#d6f0f8}
.rv6-motion-button:focus-visible{outline:3px solid #00aad4;outline-offset:3px}
.rv6-motion-icon{font-weight:900;font-size:16px;line-height:1}
.rv6-motion-hint{font:400 11px/1.55 'DM Sans',Arial,sans-serif;color:#658694}
.rv6-career-proof{margin-top:-10px!important;color:#006680!important;font-weight:650!important;font-size:13px!important}
.rv6-career-link{font:800 12px/1.5 Manrope,Arial,sans-serif;color:#007d9f;text-decoration:none;display:inline-flex;margin:0 0 7px}
.rv6-career-link:hover{text-decoration:underline}
/* Pause controls also affect the continuously travelling logos, with keyboard accessibility. */
html.rv6-motion-paused .rv5-marquee-track, html.rv6-motion-paused .rv6-pulse-dot {animation-play-state:paused!important}
/* Accessibility: no animations and no hidden content when reduced motion is requested. */
@media(prefers-reduced-motion:reduce){
 html.rv6-motion-ready .rv6-enter,html.rv6-motion-ready .rv6-step,html.rv6-motion-ready .rv6-signal{opacity:1!important;transform:none!important;transition:none!important}
 html.rv6-motion-ready .rv6-main-line{stroke-dashoffset:0!important;transition:none!important}
 html.rv6-motion-ready .rv6-secondary-line,html.rv6-motion-ready .rv6-chart-fill,html.rv6-motion-ready .rv6-heat{opacity:1!important;transition:none!important;transform:none!important}
 html.rv6-motion-ready .rv6-stack-segment{transform:none!important;transition:none!important}
 .rv6-cursor{display:none!important}.rv6-pulse-dot{animation:none!important}
 .rv6-motion-button{display:none!important}
}
@media(max-width:690px){.rv6-motion-toolbar{margin:-6px 0 18px}.rv6-chart-status{font-size:8px!important}.rv6-motion-hint{max-width:100%}}

/* Improve anchor navigation, high contrast in the branded methodology section. */
#metodologia,#ecosistema,#equipo,#inteligencia,#clientes,#servicios,#contacto {scroll-margin-top:115px}
.rv5-strategy-section .rv5-kicker{color:#b7edfa!important}
.rv5-strategy-section .rv5-process-head h2,.rv5-strategy-section .rv5-marquee-intro h3{color:#fff!important;opacity:1}
.rv5-strategy-section .rv5-process-head>p,.rv5-strategy-section .rv5-marquee-intro>p{color:#d4e9ef!important;opacity:1}
.rv5-strategy-section .rv5-step{background:#0b4961;border-color:#338ca4}
.rv5-strategy-section .rv5-step h3{color:#fff!important}
.rv5-strategy-section .rv5-step p{color:#e5f1f5!important}
.rv5-strategy-section .rv5-process-rail::before{opacity:.8}
/* Keep story/brand content readable even when browser takes a full-page screenshot. */
@media(prefers-reduced-motion:reduce){html.rv6-motion-ready .rv6-enter.rv6-visible,html.rv6-motion-ready [data-motion-group].rv6-visible .rv6-step,html.rv6-motion-ready [data-motion-group].rv6-visible .rv6-signal{animation:none!important}}
