
/* RAPCO2 NEXT V6.8 — page-wide, accessible cinematic motion.
   Home's V6.7 animation stays untouched. Uses existing Inter + blue/black/red palette.
   No scroll hijacking, no duplicate images, no changes to scientific content. */
.app-page.pm-enhanced{--pm-blue:#3167e6;--pm-red:#e73646;--pm-red-bright:#ff5265;--pm-blue-bright:#5f99ff}
.app-page.pm-enhanced .pm-section{position:relative;--pm-p:0;--pm-image-drift:0px}
.app-page.pm-enhanced .pm-signal{position:absolute;left:max(24px,calc((100vw - 1240px)/2));top:0;z-index:3;display:block;width:min(210px,32vw);height:2px;pointer-events:none;opacity:0;transform:scaleX(.04);transform-origin:left center;background:linear-gradient(90deg,var(--pm-red),var(--pm-blue),transparent);box-shadow:0 0 15px rgba(231,54,70,.25);transition:opacity .85s ease,transform 1.05s cubic-bezier(.15,.8,.2,1)}
.app-page.pm-enhanced .pm-section.pm-inview>.pm-signal{opacity:.85;transform:scaleX(1)}
/* Page introduction: red accents are deliberately straight — no decorative italics. */
.app-page.pm-enhanced .pm-section :is(h1,h2){text-wrap:balance}
.app-page.pm-enhanced .pm-section.pm-inview .rap-accent{text-shadow:0 0 29px rgba(231,54,70,.13);transition:text-shadow .9s ease}
/* Sculpted panel edges: optical depth rather than bouncing every element. */
.app-page.pm-enhanced .pm-card{--pm-pointer-x:50%;--pm-pointer-y:38%;position:relative;isolation:isolate}
.app-page.pm-enhanced .pm-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0;box-shadow:inset 0 0 0 1px rgba(70,125,255,.28);background:radial-gradient(340px circle at var(--pm-pointer-x) var(--pm-pointer-y),rgba(56,112,231,.11),transparent 76%);transition:opacity .34s ease}
@media(hover:hover) and (pointer:fine){
 .app-page.pm-enhanced .pm-card:hover::before,.app-page.pm-enhanced .pm-card:focus-within::before{opacity:1}
 .app-page.pm-enhanced .pm-card:hover{translate:0 -3px;transition:translate .36s cubic-bezier(.2,.8,.2,1)}
}
/* A real image stays recognizable; motion is contained inside the photographic frame. */
.app-page.pm-enhanced .pm-camera{overflow:hidden;isolation:isolate}
.app-page.pm-enhanced .pm-camera>img{transform:translate3d(0,var(--pm-image-drift,0px),0) scale(1.075);transition:filter .4s ease;backface-visibility:hidden}
.app-page.pm-enhanced .pm-camera::after{content:"";position:absolute;z-index:3;bottom:0;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;pointer-events:none;background:linear-gradient(90deg,var(--pm-red),var(--pm-blue),transparent);opacity:.8;transition:transform 1.25s cubic-bezier(.17,.8,.23,1) .12s}
.app-page.pm-enhanced .pm-section.pm-inview .pm-camera::after{transform:scaleX(1)}
/* VISIONE: nodes/network visually connect, with existing stage buttons still in full control. */
.app-page[data-page="vision"].pm-enhanced .nv-hero__visual{overflow:hidden}
.app-page[data-page="vision"].pm-enhanced .nv-bridge__connector i{box-shadow:0 0 0 0 rgba(49,103,230,.24);animation:pm-vision-ping 3s ease-out infinite}
.app-page[data-page="vision"].pm-enhanced .nv-network.pm-inview .nv-network__hub circle:first-child{stroke:#5f99ff;stroke-dasharray:15 14;animation:pm-ring 22s linear infinite;transform-origin:500px 290px}
.app-page[data-page="vision"].pm-enhanced .nv-network.pm-inview .nv-network__hub-label{filter:drop-shadow(0 0 14px rgba(49,103,230,.34))}
@keyframes pm-vision-ping{0%,12%{box-shadow:0 0 0 0 rgba(49,103,230,.24)}65%,100%{box-shadow:0 0 0 16px rgba(49,103,230,0)}}
@keyframes pm-ring{to{transform:rotate(360deg)}}
/* DAC: timed signal across the real chemistry/process explanation, not fake data. */
.app-page[data-page="dac"].pm-enhanced .dac-revolution__flow span{transition:background .5s ease,box-shadow .5s ease}
.app-page[data-page="dac"].pm-enhanced .dac-signals.pm-inview .dac-revolution__flow span{animation:pm-dac-signal 5.6s ease-in-out infinite}
.app-page[data-page="dac"].pm-enhanced .dac-revolution__flow span:nth-of-type(2){animation-delay:.65s!important}
.app-page[data-page="dac"].pm-enhanced .dac-revolution__flow span:nth-of-type(3){animation-delay:1.3s!important}
.app-page[data-page="dac"].pm-enhanced .before-after.pm-inview .energy-bars i{transform-origin:bottom;animation:pm-energy-rise .75s cubic-bezier(.16,.85,.2,1) both;animation-delay:calc(var(--pm-order,0) * 80ms)}
@keyframes pm-dac-signal{0%,65%,100%{box-shadow:none}18%,33%{box-shadow:0 0 20px rgba(92,144,255,.25);background:rgba(92,144,255,.14)}}
@keyframes pm-energy-rise{from{transform:scaleY(.07);opacity:.3}to{transform:scaleY(1);opacity:1}}
/* PROCESSO: a narrow scanning signal across the stage photo, never hiding scientific labels. */
.app-page[data-page="process"].pm-enhanced .process-stage{isolation:isolate}
.app-page[data-page="process"].pm-enhanced .process-stage::after{content:"";position:absolute;z-index:5;pointer-events:none;top:0;left:0;width:100%;height:2px;opacity:0;background:linear-gradient(90deg,transparent,var(--pm-blue-bright),var(--pm-red-bright),transparent);box-shadow:0 0 19px rgba(49,103,230,.35);animation:pm-process-scan 7s linear infinite;animation-play-state:paused}
.app-page[data-page="process"].pm-enhanced .process-story.pm-inview .process-stage::after{opacity:.65;animation-play-state:running}
.app-page[data-page="process"].pm-enhanced .process-pilot-proof__frame{isolation:isolate}
@keyframes pm-process-scan{0%,10%{top:0;opacity:0}20%{opacity:.7}65%{top:100%;opacity:.36}72%,100%{top:100%;opacity:0}}
/* PRODOTTI: molecular halo and a readable staged conversion route. */
.app-page[data-page="chemicals"].pm-enhanced .molecule-primary{isolation:isolate}
.app-page[data-page="chemicals"].pm-enhanced .molecule-formula{position:relative;z-index:2;animation:pm-molecule-light 5.6s ease-in-out infinite alternate}
.app-page[data-page="chemicals"].pm-enhanced .chem-path article{transition:box-shadow .4s ease,border-color .4s ease}
.app-page[data-page="chemicals"].pm-enhanced .chemistry-path.pm-inview .chem-path article{animation:pm-chem-beat 8s ease-in-out infinite}
.app-page[data-page="chemicals"].pm-enhanced .chem-path article:nth-of-type(2){animation-delay:.7s!important}
.app-page[data-page="chemicals"].pm-enhanced .chem-path article:nth-of-type(3){animation-delay:1.4s!important}
.app-page[data-page="chemicals"].pm-enhanced .chem-path article:nth-of-type(4){animation-delay:2.1s!important}
.app-page[data-page="chemicals"].pm-enhanced .chem-path article:nth-of-type(5){animation-delay:2.8s!important}
@keyframes pm-molecule-light{from{filter:drop-shadow(0 0 0 transparent)}to{filter:drop-shadow(0 0 18px rgba(95,153,255,.27))}}
@keyframes pm-chem-beat{0%,58%,100%{box-shadow:none}14%,32%{box-shadow:0 0 24px rgba(49,103,230,.16);border-color:rgba(231,54,70,.36)}}
/* BLUELEAF: delicate ambient breathing, keeping existing user-driven 3-stage model unchanged. */
.app-page[data-page="blueleaf"].pm-enhanced .blueleaf-scene{isolation:isolate}
.app-page[data-page="blueleaf"].pm-enhanced .blueleaf-scene .pm-blueleaf-aura{position:absolute;inset:9% 12%;border-radius:50%;z-index:0;pointer-events:none;opacity:.33;filter:blur(38px);background:radial-gradient(ellipse at center,rgba(49,103,230,.28),rgba(231,54,70,.085) 42%,transparent 72%);animation:pm-breathe 6.5s ease-in-out infinite alternate}
.app-page[data-page="blueleaf"].pm-enhanced .blueleaf-focus.pm-inview .focus-orb{box-shadow:0 0 36px rgba(49,103,230,.14)}
@keyframes pm-breathe{to{opacity:.58;transform:scale(1.12)}}
/* TEAM: sophisticated portrait spotlight, not a generic gallery bounce. */
.app-page[data-page="team"].pm-enhanced .team-profile{overflow:hidden}
.app-page[data-page="team"].pm-enhanced .team-profile__media{isolation:isolate}
.app-page[data-page="team"].pm-enhanced .team-profile__media::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(140deg,transparent 48%,rgba(49,103,230,.09) 78%,rgba(231,54,70,.085));opacity:.5;transition:opacity .55s ease}
.app-page[data-page="team"].pm-enhanced .team-profile:hover .team-profile__media::after{opacity:.9}
.app-page[data-page="team"].pm-enhanced .team-showcase.pm-inview .team-profile__body h3{transition:color .35s ease}
.app-page[data-page="team"].pm-enhanced .team-profile:hover .team-profile__body h3{color:var(--pm-red)}
/* CONTACT / QUESTIONARIO: calm forms; focus feedback, no moving fields or text. */
.app-page[data-page="contact"].pm-enhanced .contact-signals article,.app-page[data-page="questionnaire"].pm-enhanced .survey-fieldset{transition:border-color .3s ease,box-shadow .3s ease}
.app-page[data-page="contact"].pm-enhanced .contact-signals article:hover{border-color:rgba(49,103,230,.3);box-shadow:0 14px 32px rgba(8,14,25,.07)}
.app-page.pm-enhanced :is(.lead-form,.survey-fieldset) :is(input:not([type=checkbox]),textarea,select):focus-visible{outline:2px solid var(--pm-blue);outline-offset:2px;box-shadow:0 0 0 5px rgba(49,103,230,.09)}
/* Power and accessibility: no animation is mandatory for understanding the content. */
@media(max-width:820px){
 .app-page.pm-enhanced .pm-camera>img{transform:none!important}
 .app-page.pm-enhanced .pm-card:hover{translate:none!important}
 .app-page[data-page="blueleaf"].pm-enhanced .blueleaf-scene .pm-blueleaf-aura{opacity:.16;animation:none}
 .app-page[data-page="process"].pm-enhanced .process-stage::after{display:none}
 .app-page.pm-enhanced .pm-signal{width:94px}
}
@media(prefers-reduced-motion:reduce){
 .app-page.pm-enhanced .pm-signal,.app-page.pm-enhanced .pm-camera>img,.app-page.pm-enhanced .pm-camera::after,.app-page.pm-enhanced .pm-card,.app-page.pm-enhanced .pm-card::before{transition:none!important;animation:none!important;transform:none!important;translate:none!important}
 .app-page.pm-enhanced .pm-signal{opacity:.7!important;transform:scaleX(1)!important}
 .app-page.pm-enhanced .pm-camera::after{transform:scaleX(1)!important}
 .app-page.pm-enhanced .nv-bridge__connector i,.app-page.pm-enhanced .nv-network__hub circle,.app-page.pm-enhanced .dac-revolution__flow span,.app-page.pm-enhanced .energy-bars i,.app-page.pm-enhanced .process-stage::after,.app-page.pm-enhanced .molecule-formula,.app-page.pm-enhanced .chem-path article,.app-page.pm-enhanced .pm-blueleaf-aura{animation:none!important}
 .app-page.pm-enhanced .pm-camera>img{transform:none!important}
}
