/* PRISME 0.6 — continuous scenes driven by native scroll, no media/3D runtime. */
.hero__stage { position: relative; isolation: isolate; width: 100%; flex: 1; display: flex; flex-direction: column; overflow: clip; }
.hero__word { display: inline-block; transform-origin: left center; }
.synergy__frame > h3 { margin: 0 0 3rem; font-size: clamp(2.6rem,5vw,5rem); font-weight: 400; line-height: 1.05; letter-spacing: -.05em; }
.synergy__frame > h3 em { font-family: var(--serif); color: var(--gold); }

@media (prefers-reduced-motion:no-preference) {
 .motion-ready .hero .prism { transform-origin: 54% 50%; transform: perspective(1200px) translate3d(calc(var(--hero-phase,0) * -180px),0,0) rotateY(calc(var(--hero-phase,0) * -48deg)) rotateZ(calc(var(--hero-phase,0) * 24deg)) scale(calc(1 + var(--hero-phase,0) * .65)); }
 .motion-ready .hero__art { transform: translateY(calc(var(--hero-phase,0) * -45px)); }
 .motion-ready .hero .prism__rays { opacity: calc(.46 + var(--hero-phase,0) * .5); transform: scaleX(calc(1 + var(--hero-phase,0) * .8)); }
 .motion-ready .hero .prism__object { transform: rotate(calc(var(--hero-phase,0) * -18deg)); }
 .motion-ready .hero__content { transform: translateY(calc(var(--hero-phase,0) * -70px)); }
 .motion-ready .hero__word { transform: translate3d(calc(var(--hero-phase,0) * 18px),calc(var(--hero-phase,0) * 12px),0) scale(calc(1 + var(--hero-phase,0) * .18)); }
 .motion-ready .hero__premise, .motion-ready .hero__description { opacity: calc(1 - var(--hero-phase,0) * .2); }
 .motion-ready .hero:focus-within .hero__description { opacity: 1; }
 .motion-ready .hero .prism__object, .motion-ready .hero .prism__rays { transition: none; }
 .motion-ready .synergy__applications { perspective: 1600px; }
 /* Short screens keep the full composition in document flow. */
 .motion-ready .synergy .application--poster { transform: translate3d(0,calc((1 - var(--fan-poster,1)) * 60px),0) rotateZ(calc((1 - var(--fan-poster,1)) * -6deg)); }
 .motion-ready .synergy .application--web { transform: perspective(1200px) translateY(calc((1 - var(--fan-web,1)) * 75px)) rotateX(calc((1 - var(--fan-web,1)) * 8deg)); }
 .motion-ready .synergy .application--social { transform: translate3d(0,calc((1 - var(--fan-social,1)) * 55px),0) rotateZ(calc((1 - var(--fan-social,1)) * 6deg)); }
 .motion-ready .sector-scene__visual { clip-path: inset(0 var(--inset,0px) round 2px); }
 .motion-ready .vision-flow::before { transform: scaleX(var(--vision-line,1)); }
 .motion-ready .vision-flow__reality { transform: translate3d(calc((1 - var(--vision-a,1)) * -40px),calc((1 - var(--vision-a,1)) * 45px),0); }
 .motion-ready .vision-flow__prisme { transform: perspective(900px) translateY(calc((1 - var(--vision-b,1)) * 75px)) rotateY(calc((1 - var(--vision-b,1)) * -30deg)) scale(calc(.8 + var(--vision-b,1) * .2)); }
 .motion-ready .vision-flow__perception { transform: translate3d(calc((1 - var(--vision-c,1)) * 40px),calc((1 - var(--vision-c,1)) * 45px),0); }
}

@media (min-height:700px) and (prefers-reduced-motion:no-preference) {
 .motion-ready .hero { display: block; height: 180svh; min-height: 0; overflow: visible; }
 .motion-ready .hero__stage { position: sticky; top: 0; height: 100svh; min-height: 0; justify-content: flex-start; }
 .motion-ready .hero__content { margin-block: 8svh 2.5rem; }
}
@media (min-width:1001px) and (min-height:760px) and (prefers-reduced-motion:no-preference) {
 /* One idea becomes a campaign: poster, web, social, then a still reading beat. */
 .motion-ready .synergy { padding-top: 0; height: 290svh; position: relative; margin-top: 6rem; }
 .motion-ready .synergy__frame { position: sticky; top: 0; height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-block: 2.5rem; gap: 2rem; overflow: clip; }
 .motion-ready .synergy__frame > h3 { position: relative; z-index: 5; margin: 0; font-size: clamp(3rem,4.6vw,4.8rem); transform-origin: left top; transform: translateY(calc((1 - var(--fan-title,1)) * 18svh)) scale(calc(1 + (1 - var(--fan-title,1)) * .18)); }
 .motion-ready .synergy__frame > h3 em { display: inline-block; opacity: var(--fan-title,1); transform: translateY(calc((1 - var(--fan-title,1)) * 24px)); }
 .motion-ready .synergy__applications { grid-template-columns: .9fr 1.7fr .7fr; align-items: center; gap: 2rem; padding: 1.5rem 1rem; min-height: 48svh; }
 .motion-ready .synergy .application { transform-origin: center; }
 .motion-ready .synergy .application--poster { position: relative; z-index: 3; width: min(100%,280px); justify-self: center; opacity: min(1,calc(var(--fan-poster,1) * 3)); transform: translate3d(calc((1 - var(--fan-spread,1)) * 33vw),calc((1 - var(--fan-poster,1)) * 120px),calc((1 - var(--fan-poster,1)) * -250px)) rotateY(calc((1 - var(--fan-poster,1)) * -35deg)) rotateZ(calc(var(--fan-spread,1) * -3deg)) scale(calc(1 + (1 - var(--fan-spread,1)) * .12)); }
 .motion-ready .synergy .application--web { position: relative; z-index: 2; opacity: min(1,calc(var(--fan-web,1) * 2)); transform: translate3d(0,calc((1 - var(--fan-web,1)) * 130px),calc((1 - var(--fan-web,1)) * -650px)) rotateX(calc((1 - var(--fan-web,1)) * 32deg)) rotateY(calc((1 - var(--fan-web,1)) * -12deg)); }
 .motion-ready .synergy .application--social { position: relative; z-index: 4; width: min(100%,210px); justify-self: center; opacity: min(1,calc(var(--fan-social,1) * 2)); transform: translate3d(calc((1 - var(--fan-social,1)) * -15vw),calc((1 - var(--fan-social,1)) * 110px),calc((1 - var(--fan-social,1)) * -450px)) rotateY(calc((1 - var(--fan-social,1)) * 40deg)) rotateZ(calc(3deg + (1 - var(--fan-social,1)) * 12deg)); }
 .motion-ready .synergy .application__web-content { height: clamp(250px,34svh,350px); }
 .motion-ready .synergy .application figcaption { margin-top: 1.5rem; opacity: var(--fan-labels,1); transform: translateY(calc((1 - var(--fan-labels,1)) * 8px)); }
 .motion-ready .projection { overflow: visible; padding-block: 0; height: 195svh; position: relative; }
 .motion-ready .projection__frame { position: sticky; top: 0; height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-block: 2rem; overflow: clip; }
 .motion-ready .projection h2 { font-size: clamp(3rem,4.8vw,5.2rem); }
 .motion-ready .vision-flow { margin-block: 3.8rem 4rem; }
 .motion-ready .vision-flow .micro-label { margin-bottom: 1rem; }
 .motion-ready .vision-flow ul li { font-size: clamp(1.2rem,1.8vw,1.8rem); }
 .motion-ready .projection__signature { padding-top: 1.5rem; font-size: clamp(1.4rem,2.1vw,2.3rem); }
}
@media (max-width:1000px) and (prefers-reduced-motion:no-preference) {
 .motion-ready .vision-flow__reality, .motion-ready .vision-flow__perception { transform: translateY(calc((1 - var(--vision-line,1)) * 45px)); }
 .motion-ready .vision-flow__prisme { transform: scale(calc(.94 + var(--vision-line,1) * .06)); }
}
@media (max-width:700px) {
 .synergy__frame > h3 { margin-bottom: 2rem; }
}
@media (max-width:700px) and (prefers-reduced-motion:no-preference) {
 .motion-ready .hero__art { width: 145%; right: -40%; opacity: .7; }
 .motion-ready .hero .prism { transform: perspective(900px) translateX(calc(var(--hero-phase,0) * -40px)) rotateY(calc(var(--hero-phase,0) * -34deg)) rotateZ(calc(var(--hero-phase,0) * 28deg)) scale(calc(1 + var(--hero-phase,0) * .5)); }
 .motion-ready .hero__word { transform: translateY(calc(var(--hero-phase,0) * 6px)) scale(calc(1 + var(--hero-phase,0) * .055)); }
 .motion-ready .hero__content { transform: translateY(calc(var(--hero-phase,0) * -30px)); }
 .motion-ready .sector-scene--building .sector-scene__visual > img { transform: translateY(calc(var(--shift,0px) * .35)) scale(1.035); }
}
@media (prefers-reduced-motion:reduce) {
 .hero__word, .prism__rays, .prism__object, .vision-flow > li { transform: none !important; }
 .hero__premise, .hero__description { opacity: 1 !important; }
}
