/* ROVNO motion: visual storytelling, fixed and aligned surfaces. */
body{font-weight:350}.hero-copy h1{font-weight:340;letter-spacing:-.065em}.section-heading h2,.card-story-copy h2,.control-copy h2,.end-section h2{font-weight:340;letter-spacing:-.055em}.feature-copy h3{font-weight:380}.scene-balance{font-weight:350;letter-spacing:-.055em}.review-result strong,.review-source strong{font-weight:350}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:50;pointer-events:none;background:linear-gradient(90deg,#6dd8a2 0 76%,#e53f38 76%);transform:scaleX(var(--page-progress,0));transform-origin:left}.site-hero .hero-photo{animation:editorialZoom 18s ease-in-out infinite alternate;transform-origin:58% 42%;will-change:transform}.hero-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 20%,#cfdfac0e 43%,transparent 65%);animation:heroLight 13s ease-in-out infinite alternate;mix-blend-mode:screen}.line-mask{display:block;overflow:clip;padding-bottom:.1em;margin-bottom:-.1em}.line-inner{display:block}.motion-reveal.is-revealed .line-inner{animation:lineArrive 1.05s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--line-index,0)*100ms)}.motion-reveal.is-revealed:not(:has(.line-inner)){animation:contentArrive .85s cubic-bezier(.16,1,.3,1) both}.motion-reveal:focus-within{animation:none!important}.scene.is-revealed .wallet-surface>.balance-label,.scene.is-revealed .scene-balance,.scene.is-revealed .scene-account{animation:contentArrive .8s cubic-bezier(.16,1,.3,1) both}.scene.is-revealed .scene-balance{animation-delay:.12s}.scene.is-revealed .scene-account{animation-delay:.24s}.wallet-light{position:absolute;inset:-25%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 30% 20%,#acdc772b,transparent 65%);animation:walletGlow 8s ease-in-out infinite alternate}.scene-top img{filter:drop-shadow(0 0 13px #b4e9ba30)}.scene-ledger>div{position:relative;isolation:isolate}.scene-ledger>div:before{content:'';position:absolute;inset:2px -10px;z-index:-1;background:linear-gradient(90deg,#a8d8a31c,transparent);opacity:0;animation:ledgerLight 7.5s ease-in-out infinite}.scene-ledger>div:nth-child(2):before{animation-delay:1.9s}.scene-ledger .flow-icon svg{animation:arrowTravel 7.5s ease-in-out infinite}.scene-ledger .flow-icon.in svg{animation-name:incomingTravel}.scene-ledger>div:nth-child(2) .flow-icon svg{animation-delay:1.9s}.scene-scan{animation-duration:6s}.scene-people .people-photo{animation:editorialZoom 16s ease-in-out infinite alternate;transform-origin:50% 34%}.recipient-panel{transition:border-color .4s,box-shadow .4s}.scene-people:hover .recipient-panel{border-color:#cee3b96b;box-shadow:0 18px 45px #0006}.transfer-route{display:flex;align-items:center;gap:12px;margin-top:18px;height:23px}.route-start,.route-finish{display:grid;place-items:center;height:23px;flex:0 0 26px}.route-start img{width:25px;height:17px}.route-finish{border:1px solid #aac59c44;color:#c3d2b7;font-size:11px;border-radius:2px;animation:arrivalPulse 6s ease-in-out infinite}.route-track{height:1px;flex:1;position:relative;background:#a6c68b28;overflow:visible}.route-track:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#7bba8f,#c9dcaa);transform:scaleX(0);transform-origin:left;animation:routeFill 6s ease-in-out infinite}.route-packet{position:absolute;left:0;top:-2px;width:23px;height:5px;border-radius:1px;background:#cce4b4;box-shadow:0 0 12px #bddda7b0;opacity:0;animation:moneyTravel 6s cubic-bezier(.45,0,.3,1) infinite;z-index:2}.route-packet.echo{animation-delay:.18s;width:8px;opacity:0;background:#81b88e}.recipient-confirm{margin-top:14px;border-top:0;padding-top:0;min-height:19px}.recipient-confirm svg path{stroke-dasharray:25;stroke-dashoffset:0;animation:checkDraw 6s ease-in-out infinite}.recipient-confirm>span:last-child{animation:confirmationGlow 6s ease-in-out infinite}.transfer-line{display:none}.card-sheen{animation-duration:6.5s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.card-edge{position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px #eaffb824;animation:cardEdge 6.5s ease-in-out infinite}.card-stage:before{content:'';position:absolute;inset:4% -15% 15%;z-index:-1;background:radial-gradient(ellipse at 50% 50%,#8ba95c26,transparent 66%);animation:stageGlow 8s ease-in-out infinite alternate;pointer-events:none}.contactless path{stroke-dasharray:28;stroke-dashoffset:0;animation:signalDraw 6.5s ease-in-out infinite}.review-flight{position:relative;height:25px;margin:0 0 5px;border-left:1px solid #aac69a30;margin-left:4px;overflow:hidden}.review-flight i{position:absolute;left:-1px;width:2px;height:7px;background:#c8dca9;box-shadow:0 0 8px #bddc9f;animation:reviewTravel 6.5s ease-in-out infinite}.review-flight i:nth-child(2){animation-delay:.18s}.review-flight i:nth-child(3){animation-delay:.36s}.review-confirm{animation:reviewReady 6.5s ease-in-out infinite}.review-confirm:after{animation-duration:6.5s}.review-result strong{display:block;animation:resultGlow 6.5s ease-in-out infinite}.site-button,.header-cta{position:relative;overflow:hidden;isolation:isolate}.site-button:after,.header-cta:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#fff9 50%,transparent 80%);transform:translateX(-140%);transition:transform .75s cubic-bezier(.2,.65,.3,1)}.site-button:hover:after,.header-cta:hover:after{transform:translateX(140%)}.site-button svg,.text-link svg,.header-cta svg{transition:transform .35s cubic-bezier(.16,1,.3,1)}.site-button:hover svg,.text-link:hover svg,.header-cta:hover svg{transform:translateX(5px)}.site-button:active,.header-cta:active{transform:scale(.98)}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:#bfd0b1;transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after{transform:scaleX(1)}.end-section{position:relative;isolation:isolate;overflow:hidden}.end-section:before{content:'';position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 40% 65%,#90b76c30,transparent 55%);animation:endLight 10s ease-in-out infinite alternate}.end-section>img{filter:drop-shadow(0 0 20px #b2d29b1c)}
@keyframes editorialZoom{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.075) translate3d(-.6%,-.5%,0)}}
@keyframes heroLight{from{transform:translateX(-12%);opacity:.3}to{transform:translateX(12%);opacity:1}}
@keyframes lineArrive{from{transform:translate3d(0,110%,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}
@keyframes contentArrive{from{transform:translate3d(0,16px,0);opacity:.2}to{transform:translate3d(0,0,0);opacity:1}}
@keyframes walletGlow{from{transform:translate(-5%,-4%);opacity:.3}to{transform:translate(7%,6%);opacity:1}}
@keyframes ledgerLight{0%,8%,65%,100%{opacity:0}23%,42%{opacity:1}}
@keyframes arrowTravel{0%,13%,52%,100%{transform:translateX(0);opacity:1}28%{transform:translateX(6px);opacity:0}29%{transform:translateX(-5px);opacity:0}43%{transform:translateX(0);opacity:1}}
@keyframes incomingTravel{0%,13%,52%,100%{transform:rotate(135deg) translateX(0);opacity:1}28%{transform:rotate(135deg) translateX(6px);opacity:0}29%{transform:rotate(135deg) translateX(-5px);opacity:0}43%{transform:rotate(135deg) translateX(0);opacity:1}}
@keyframes moneyTravel{0%,9%{left:0;opacity:0}15%{opacity:1}47%{left:calc(100% - 23px);opacity:1}54%,100%{left:calc(100% - 23px);opacity:0}}
@keyframes routeFill{0%,10%{transform:scaleX(0);opacity:.7}48%,70%{transform:scaleX(1);opacity:.7}88%,100%{transform:scaleX(1);opacity:0}}
@keyframes arrivalPulse{0%,40%,88%,100%{background:transparent;box-shadow:0 0 0 0 #c0dda200}50%,67%{background:#bbd19d22;box-shadow:0 0 18px 1px #a7d09b25}}
@keyframes checkDraw{0%,40%{stroke-dashoffset:25;opacity:.2}58%,94%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes confirmationGlow{0%,38%{color:#8a9b84}57%,74%{color:#ddedba}95%,100%{color:#b4d8a3}}
@keyframes cardEdge{0%,12%,64%,100%{opacity:.3}32%,43%{opacity:1;box-shadow:inset 0 1px 0 #eeffcfaa,inset 0 -1px 0 #e2fbd940}}
@keyframes stageGlow{from{transform:translateX(-3%);opacity:.3}to{transform:translateX(4%);opacity:1}}
@keyframes signalDraw{0%,10%{stroke-dashoffset:28;opacity:.4}35%,70%{stroke-dashoffset:0;opacity:1}90%,100%{stroke-dashoffset:0;opacity:.5}}
@keyframes reviewTravel{0%,10%{top:-10px;opacity:0}18%{opacity:1}49%{top:100%;opacity:1}55%,100%{top:100%;opacity:0}}
@keyframes reviewReady{0%,40%,90%,100%{box-shadow:0 0 0 #c0d69f00}55%,70%{box-shadow:0 0 24px #b6d49726}}
@keyframes resultGlow{0%,35%,90%,100%{color:#eef4e6}55%,70%{color:#d0efae}}
@keyframes endLight{from{transform:translateX(-8%);opacity:.45}to{transform:translateX(8%);opacity:1}}
@media(max-width:600px){.hero-copy h1{font-size:clamp(41px,11.5vw,60px);line-height:1.06;letter-spacing:-.065em}.hero-copy p{font-size:14px}.section-heading h2{font-size:37px}.recipient-panel{padding:17px}.recipient-heading>div strong{font-size:12px}.recipient-amount{font-size:25px}.transfer-route{margin-top:16px}.review-source strong{font-size:31px}.review-result strong{font-size:38px}.hero-copy .site-button{font-size:13px}.scene-ledger>div{font-size:10px}.card-story-copy h2{font-size:38px}}
@media(max-width:360px){.hero-copy h1{font-size:38px}.section-heading h2{font-size:32px}.recipient-panel{padding:13px}.recipient-amount{font-size:22px}.recipient-heading>div strong{font-size:11px}.card-story-copy h2{font-size:35px}.review-source strong{font-size:28px}.review-result strong{font-size:35px}}

@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}*,*:before,*:after{animation:none!important;transition:none!important}.motion-reveal,.line-inner{opacity:1!important;transform:none!important}.hero-photo,.people-photo{transform:none!important;will-change:auto}.route-track:after{transform:scaleX(1);opacity:.5}.route-packet,.review-flight i{display:none}.recipient-confirm svg path{stroke-dashoffset:0}.material-light{display:none}}
.card-section{overflow:clip}

@media(max-width:600px){html[lang=fr] .hero-copy h1{font-size:37px}}@media(max-width:360px){html[lang=fr] .hero-copy h1{font-size:32px}}
