
/* RAPCO2 V7.5 | HOME MOTION: same visual signals and blue/red language as PageMotionStyles.
   Scoped only to the homepage. No modifications to the internal routes. */
.r7-home.r75-motion{--r75-blue:#3167e6;--r75-red:#e73646;--r75-glow:#5f99ff}
.r7-home.r75-motion .r75-section{position:relative;--r75-drift:0px}
.r7-home.r75-motion .r75-signal{position:absolute;z-index:6;left:max(28px,calc((100vw - 1240px)/2));top:0;width:min(210px,30vw);height:2px;pointer-events:none;background:linear-gradient(90deg,var(--r75-red),var(--r75-blue),transparent);transform-origin:left center;transform:scaleX(.05);opacity:0;transition:transform 1s cubic-bezier(.16,.82,.23,1),opacity .8s}
.r7-home.r75-motion .r75-section.r75-inview>.r75-signal{opacity:.92;transform:scaleX(1)}
/* Headlines and copy arrive in an editorial sequence. No invisible content until JS has armed the observer. */
.r7-home.r75-motion.r75-armed .r75-reveal{opacity:0;transform:translate3d(0,26px,0);transition:opacity .82s ease,transform .95s cubic-bezier(.18,.82,.22,1);transition-delay:var(--r75-delay,0ms)}
.r7-home.r75-motion.r75-armed .r75-reveal.r75-visible{opacity:1;transform:translate3d(0,0,0)}
.r7-home.r75-motion .r7-hero__copy{isolation:isolate}
.r7-home.r75-motion .r7-hero__orbit{animation:r75-orbit 26s ease-in-out infinite alternate;will-change:transform}
.r7-home.r75-motion .r7-hero__orbit--two{animation-duration:20s;animation-direction:alternate-reverse}
.r7-home.r75-motion .r7-hero__grid{animation:r75-grid 24s linear infinite}
.r7-home.r75-motion .r7-hero__proofline .r7-live-dot{animation:r75-ping 3.5s ease-out infinite}
.r7-home.r75-motion .r7-hero__bottom .r7-wrap>span:last-child{animation:r75-point 2.5s ease-in-out infinite}
@keyframes r75-orbit{to{transform:translate3d(-3%,4%,0) rotate(11deg) scale(1.045)}}
@keyframes r75-grid{to{background-position:78px 0,78px 0}}
@keyframes r75-ping{0%,100%{box-shadow:0 0 0 0 rgba(49,103,230,.24)}60%{box-shadow:0 0 0 13px rgba(49,103,230,0)}}
@keyframes r75-point{50%{transform:translateY(7px)}}
/* Process follows the existing three-stage scroll narrative; never overrides selection logic. */
.r7-home.r75-motion .r7-process__showcase{transition:border-color .5s,box-shadow .5s}
.r7-home.r75-motion .r7-process.r75-inview .r7-process__showcase{border-color:rgba(95,153,255,.66);box-shadow:0 26px 86px rgba(14,62,140,.2),inset 0 0 0 1px rgba(95,153,255,.11)}
.r7-home.r75-motion .r7-process__schematic.is-active .r7-process__node-symbol{animation:r75-node 4.5s ease-in-out infinite alternate}
.r7-home.r75-motion .r7-process__schematic.is-active .r7-process__node:nth-of-type(3) .r7-process__node-symbol{animation-delay:-2s}
@keyframes r75-node{to{box-shadow:inset 0 0 35px rgba(54,138,245,.2),0 0 35px rgba(49,103,230,.33)}}
/* Prototype photography: tasteful reveal, micro parallax and blue-to-red edge signal. */
.r7-home.r75-motion .r7-proof__item{position:relative;isolation:isolate;transition:transform .55s cubic-bezier(.18,.8,.2,1),box-shadow .55s}
.r7-home.r75-motion .r7-proof__item img{transition:transform .9s cubic-bezier(.18,.82,.2,1),filter .6s}
@media(hover:hover) and (pointer:fine){
 .r7-home.r75-motion .r7-proof__item:hover{transform:translateY(-7px);box-shadow:0 27px 55px rgba(20,74,150,.22)}
 .r7-home.r75-motion .r7-proof__item:hover img{transform:scale(1.045)}
}
/* Impact visual movement only; no claims/counters invented. */
.r7-home.r75-motion .r7-impact__panel{isolation:isolate;overflow:hidden}
.r7-home.r75-motion .r7-impact__panel img{transform:scale(1.06) translate3d(0,var(--r75-drift),0);transition:transform .2s linear}
.r7-home.r75-motion .r7-impact__panel::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(95,153,255,.10) 50%,transparent 70%);background-size:200% 100%;opacity:0}
.r7-home.r75-motion .r7-impact.r75-inview .r7-impact__panel::after{opacity:1;animation:r75-sheen 8s linear infinite}
@keyframes r75-sheen{to{background-position:-200% 0}}
/* Awards echo the interior page's cards and thin red/blue illuminated edges. */
.r7-home.r75-motion .r7-award{position:relative;isolation:isolate;transition:transform .48s cubic-bezier(.18,.82,.2,1),box-shadow .48s,border-color .4s}
@media(hover:hover) and (pointer:fine){.r7-home.r75-motion .r7-award:hover{transform:translateY(-7px);box-shadow:0 28px 52px rgba(49,103,230,.22);border-color:rgba(231,54,70,.44)}}
.r7-home.r75-motion .r7-award--featured{animation:r75-award 6.5s ease-in-out infinite alternate}
@keyframes r75-award{to{box-shadow:0 20px 48px rgba(49,103,230,.24)}}
/* Team photo portraits follow the same focus/spotlight cues as PageMotionStyles. */
.r7-home.r75-motion .r7-person figure{overflow:hidden;isolation:isolate}
.r7-home.r75-motion .r7-person figure img{transition:transform .9s cubic-bezier(.18,.82,.2,1),filter .7s}
.r7-home.r75-motion .r7-person figure::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,transparent 50%,rgba(49,103,230,.15) 80%,rgba(231,54,70,.1));opacity:.35;transition:opacity .5s}
@media(hover:hover) and (pointer:fine){.r7-home.r75-motion .r7-person:hover figure img{transform:scale(1.055)}.r7-home.r75-motion .r7-person:hover figure::after{opacity:1}}
/* Final call-to-action: restrained breathing halo, consistent with BlueLeaf's interior motion. */
.r7-home.r75-motion .r7-cta__halo{animation:r75-breathe 7s ease-in-out infinite alternate}
@keyframes r75-breathe{from{transform:translateX(-50%) scale(1)}to{transform:translateX(-50%) scale(1.065);opacity:.7}}
@media(max-width:850px){.r7-home.r75-motion .r75-signal{width:90px}.r7-home.r75-motion .r7-impact__panel img{transform:none!important}.r7-home.r75-motion .r7-hero__orbit{will-change:auto}}
@media(prefers-reduced-motion:reduce){
 .r7-home.r75-motion *, .r7-home.r75-motion *::before,.r7-home.r75-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
 .r7-home.r75-motion .r75-reveal{opacity:1!important;transform:none!important;transition:none!important}
 .r7-home.r75-motion .r75-signal{opacity:.8!important;transform:scaleX(1)!important;transition:none!important}
 .r7-home.r75-motion .r7-impact__panel img{transform:none!important}
}
