/* Motion inside the five approved hero illustrations. Outer page layout lives in desktop.css. */
.page-hero-art { position:relative; width:100%; aspect-ratio:1; isolation:isolate; pointer-events:none; user-select:none; }
.page-hero-art__scene { position:relative; width:100%; height:100%; transform-origin:50% 50%; }
/* Reclaim empty alpha canvas in layout; artwork and overlays keep their original coordinates. */
.page-hero-art[data-hero-mode="animated"],.page-hero-art[data-hero-mode="static"] { --phv-frame:.84; --phv-scene-lift:-48%; aspect-ratio:1 / var(--phv-frame); overflow:visible; }
.page-hero-art[data-page-hero="advantages"] { --phv-frame:1; --phv-scene-lift:-50%; }
.page-hero-art[data-page-hero="news"] { --phv-frame:.88; --phv-scene-lift:-45.5%; }
.page-hero-art[data-page-hero="activities"] { --phv-frame:.70; }
.page-hero-art[data-page-hero="about"] { --phv-frame:.72; }
.page-hero-art[data-hero-mode="animated"] > .page-hero-art__scene,.page-hero-art[data-hero-mode="static"] > .page-hero-art__scene { position:absolute; left:0; top:50%; width:100%; height:auto; aspect-ratio:1; translate:0 var(--phv-scene-lift); }

.page-hero-art__image { display:block; width:100%; height:100%; object-fit:contain; }
.page-hero-art__signals { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.page-hero-art__glow { position:absolute; display:block; aspect-ratio:1; border-radius:50%; transform:translate(-50%,-50%); mix-blend-mode:screen; opacity:0; }
.phv-glow-violet { background:radial-gradient(circle,rgba(187,153,255,.33),rgba(123,89,213,.1) 40%,transparent 72%); }
.phv-glow-mint { background:radial-gradient(circle,rgba(125,246,227,.28),rgba(74,202,211,.08) 42%,transparent 73%); }
.phv-tone-mint { stroke:#b6fff0; filter:drop-shadow(0 0 3px rgba(88,242,218,.65)); }
.phv-tone-violet { stroke:#e1cbff; filter:drop-shadow(0 0 3px rgba(190,136,255,.65)); }
.phv-stream { stroke-width:2; stroke-linecap:round; stroke-dasharray:3 97; stroke-dashoffset:100; opacity:0; }
/* Bright, round travelling points remain legible in the narrow omics column. */
.page-hero-art--advantages .phv-stream { stroke-width:14; stroke-dasharray:.001 99.999; }
.page-hero-art--advantages .phv-stream.phv-tone-mint { stroke:#effff9; filter:drop-shadow(0 0 5px rgba(94,255,222,.95)) drop-shadow(0 0 14px rgba(67,242,208,.8)); }
.page-hero-art--advantages .phv-stream.phv-tone-violet { stroke:#fff5ff; filter:drop-shadow(0 0 5px rgba(224,190,255,.95)) drop-shadow(0 0 14px rgba(181,133,255,.8)); }
.phv-node-ripple { stroke-width:1.2; transform-box:fill-box; transform-origin:center; opacity:0; }
.phv-membrane { stroke:#b3a2fb; stroke-width:1.2; transform-origin:489px 478px; opacity:0; }
.phv-news-read { stroke:#c9fff2; stroke-width:3; stroke-linecap:round; opacity:0; filter:drop-shadow(0 0 5px rgba(118,238,224,.4)); }
.phv-news-dna-dot { stroke:#efffff; stroke-width:16; stroke-linecap:round; stroke-dasharray:.001 99.999; stroke-dashoffset:100; opacity:0; filter:drop-shadow(0 0 5px #67ffe1); }
.phv-news-dna-halo { stroke:#65f7dc; stroke-width:32; filter:blur(7px); }
.phv-platform { stroke:#a5fff0; stroke-width:1.7; transform-origin:496px 709px; opacity:0; filter:drop-shadow(0 0 4px rgba(121,233,229,.45)); }
.phv-exhibit-shimmer { stroke:#e3d2ff; stroke-width:1.5; stroke-dasharray:90 910; opacity:0; filter:drop-shadow(0 0 3px rgba(200,165,255,.45)); }
.page-hero-art[data-hero-mode="animated"] .page-hero-art__scene { animation:phv-scene-drift 16s ease-in-out infinite; }
.page-hero-art--advantages[data-hero-mode="animated"] .page-hero-art__scene { transform-origin:50% 51.2759%; animation:phv-omics-breath 19s ease-in-out infinite; }
.page-hero-art--news[data-hero-mode="animated"] .page-hero-art__scene { animation-duration:17s; }
.page-hero-art--activities[data-hero-mode="animated"] .page-hero-art__scene { animation-duration:20s; }
.page-hero-art--about[data-hero-mode="animated"] .page-hero-art__scene { animation-duration:18s; }
.page-hero-art[data-hero-mode="animated"] .page-hero-art__glow { animation:phv-local-glow 8s ease-in-out infinite; animation-delay:var(--phv-delay,0s); }
.page-hero-art[data-hero-mode="animated"] .phv-stream { animation:phv-signal 8s linear infinite; animation-delay:var(--phv-delay,0s); }
.page-hero-art--advantages[data-hero-mode="animated"] .phv-stream { animation:phv-omics-point 4.6s linear infinite; animation-delay:var(--phv-delay,0s); }
.page-hero-art[data-hero-mode="animated"] .phv-stream-reverse { animation-direction:reverse; }
.page-hero-art[data-hero-mode="animated"] .phv-node-ripple { animation:phv-node-response 6s ease-out infinite; animation-delay:var(--phv-delay,0s); }
.page-hero-art[data-hero-mode="animated"] .phv-membrane { animation:phv-cell-breath 11s ease-in-out infinite; }
.page-hero-art[data-hero-mode="animated"] .phv-news-read { animation:phv-readout-glow 9s ease-in-out infinite; }
.page-hero-art[data-hero-mode="animated"] .phv-news-dna-dot { animation:phv-dna-travel 4s linear infinite; }
.page-hero-art[data-hero-mode="animated"] .phv-platform { animation:phv-platform-glow 10s ease-in-out infinite; }
.page-hero-art[data-hero-mode="animated"] .phv-exhibit-shimmer { animation:phv-exhibit-glint 12s linear infinite; }
/* Start paused: motion is enabled only while visible, on screen and permitted. */
.page-hero-art[data-hero-mode="animated"] .phv-motion { animation-play-state:paused; }
.page-hero-art[data-hero-playing="true"] .phv-motion { animation-play-state:running; }
@keyframes phv-scene-drift { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-.45%) scale(1.006); } }
@keyframes phv-omics-breath { 0%,100% { transform:scale(1); } 50% { transform:scale(1.008); } }
@keyframes phv-omics-point { 0% { stroke-dashoffset:100; opacity:.55; } 8%,92% { opacity:1; } 100% { stroke-dashoffset:0; opacity:.55; } }
@keyframes phv-dna-travel { 0% { stroke-dashoffset:100; opacity:.25; } 8%,92% { opacity:1; } 100% { stroke-dashoffset:0; opacity:.25; } }
@keyframes phv-signal { 0% { stroke-dashoffset:100; opacity:0; } 10%,85% { opacity:.8; } 100% { stroke-dashoffset:0; opacity:0; } }
@keyframes phv-node-response { 0%,12% { transform:scale(.8); opacity:0; } 30% { opacity:.62; } 72%,100% { transform:scale(2.25); opacity:0; } }
@keyframes phv-local-glow { 0%,100% { opacity:.18; transform:translate(-50%,-50%) scale(.9); } 50% { opacity:.72; transform:translate(-50%,-50%) scale(1.08); } }
@keyframes phv-cell-breath { 0%,100% { opacity:.08; transform:scale(.997); } 50% { opacity:.4; transform:scale(1.006); } }
@keyframes phv-readout-glow { 0%,17%,100% { opacity:0; } 35%,48% { opacity:.3; } 70% { opacity:.07; } }
@keyframes phv-platform-glow { 0%,100% { opacity:.08; transform:scaleX(.997); } 50% { opacity:.45; transform:scaleX(1.005); } }
@keyframes phv-exhibit-glint { 0% { stroke-dashoffset:1000; opacity:0; } 15%,80% { opacity:.35; } 100% { stroke-dashoffset:0; opacity:0; } }
@media(prefers-reduced-motion:reduce) {
 .page-hero-art .phv-motion { animation:none !important; transform:none; }
 .page-hero-art__signals,.page-hero-art__glow { display:none; }
}
