/* Scroll-linked cinematic scenes derived from the supplied motion references. */
.hero-scene{position:relative;z-index:2;min-height:115vh;overflow:clip;background:#171819;box-shadow:0 20px 34px -18px rgba(7,8,9,.95)}.hero-scene .hero{position:sticky;top:0;z-index:1;min-height:115vh;transform-origin:50% 20%;will-change:transform,filter}.hero-scene[data-motion-state="inset"] .hero{filter:saturate(.82)}
.orbit-scene{position:relative;min-height:150vh;overflow:clip;background:#171819;color:#eeeae4}.orbit-stage{position:sticky;top:0;height:100vh;min-height:620px;display:grid;place-items:center;overflow:clip}.orbit-bg-type{position:absolute;inset:auto -15vw 12%;white-space:nowrap;color:rgba(231,183,171,.16);font:600 clamp(5rem,17vw,15rem)/.8 Space, sans-serif;letter-spacing:-.09em;transform:translateX(var(--motion-type,0%));will-change:transform}.orbit-center{position:relative;z-index:4;width:min(530px,72vw);text-align:center}.orbit-object{width:170px;height:170px;margin:0 auto 24px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#fff7f0,#e7b7ab 18%,#31343b 47%,#121316 72%);box-shadow:0 0 90px rgba(231,183,171,.42);position:relative}.orbit-object span{position:absolute;inset:-34px;border:1px solid rgba(238,234,228,.32);border-radius:50%;transform:rotate(45deg)}.orbit-object span:nth-child(2){transform:rotate(-45deg) scaleY(.55)}.orbit-object span:nth-child(3){transform:rotate(90deg) scaleX(.55)}.orbit-center h2{font-size:clamp(2.8rem,6vw,6.4rem)}.orbit-center p:last-child{margin:22px auto 0;max-width:38ch;color:#b7b4b0;font-size:.8rem}.orbit-tile{position:absolute;left:50%;top:50%;width:clamp(86px,10vw,150px);aspect-ratio:1.35;border:1px solid rgba(238,234,228,.25);background:linear-gradient(135deg,#36383e,#e7b7ab22);overflow:hidden;transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--s));opacity:var(--o);will-change:transform}.orbit-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.08)}.orbit-scene-rail,.showcase-rail{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;font:600 .58rem Space,sans-serif;letter-spacing:.1em;color:#a8a9a5}.showcase-scene{position:relative;min-height:190vh;background:#171819;color:#eeeae4;overflow:clip}.showcase-stage{position:sticky;top:0;height:100vh;min-height:620px;display:grid;place-items:center;overflow:clip}.showcase-halo{position:absolute;width:55vw;aspect-ratio:1;background:radial-gradient(circle,rgba(231,183,171,.22),transparent 68%);filter:blur(25px)}.showcase-center{position:relative;z-index:5;width:min(600px,78vw);text-align:center}.showcase-center h2{font-size:clamp(2.8rem,6.5vw,7rem)}.showcase-center p:last-child{margin:22px auto 0;color:#b7b4b0}.showcase-panels{position:absolute;inset:0;z-index:2;pointer-events:none}.showcase-panel{position:absolute;left:50%!important;right:auto!important;top:50%;width:clamp(180px,24vw,380px);margin:0;opacity:var(--panel-opacity,0);transform:translate3d(var(--panel-x),var(--panel-y),0) rotate(var(--panel-r));will-change:transform,opacity}.showcase-panel img{display:block;width:100%;border:1px solid rgba(238,234,228,.28);background:#252629}.showcase-panel figcaption{font:600 .56rem Space,sans-serif;letter-spacing:.1em;color:#e7b7ab;padding-top:9px}.showcase-panel[data-side="left"]{left:8%}.showcase-panel[data-side="right"]{right:8%}.hero-line{display:block;overflow:clip}.hero-line>span{display:inline-block;transform:translateY(110%);animation:hero-line-in 1s cubic-bezier(.16,1,.3,1) forwards}.hero-line:nth-child(2)>span{animation-delay:.12s}@keyframes hero-line-in{to{transform:none}}@media(prefers-reduced-motion:reduce){.hero-scene{min-height:780px}.hero-scene .hero{position:relative}.orbit-scene,.showcase-scene{min-height:auto}.orbit-stage,.showcase-stage{position:relative;height:auto;padding:120px 22px}.orbit-tile,.showcase-panel{transform:none!important;opacity:1!important;position:relative;left:auto;right:auto;top:auto;margin:15px auto}.showcase-panels{position:relative;display:grid;gap:18px}.orbit-bg-type{display:none}}@media(max-width:720px){.hero-scene{min-height:920px}.orbit-scene{min-height:1200px}.orbit-stage{height:760px;min-height:0}.orbit-tile{width:82px}.showcase-scene{min-height:1450px}.showcase-stage{height:800px;min-height:0}.showcase-panel{width:150px}.showcase-panel[data-side="left"]{left:3%}.showcase-panel[data-side="right"]{right:3%}}

/* Cards orbit the copy without rotating their readable faces. */
.showcase-stage{height:max(100svh,1280px);min-height:1280px}
.showcase-panels{inset:0;z-index:2}
.showcase-panel[data-side]{left:0!important;right:auto!important;top:0;width:clamp(120px,14vw,210px);opacity:1;transform:none;offset-path:ellipse(calc(50% - 135px) calc(50% - 130px) at 50% 50%);offset-rotate:0deg;offset-anchor:50% 50%;animation:research-card-orbit 40s linear infinite;will-change:offset-distance}
.showcase-panel:nth-child(2){animation-delay:-10s;offset-distance:25%}
.showcase-panel:nth-child(3){animation-delay:-20s;offset-distance:50%}
.showcase-panel:nth-child(4){animation-delay:-30s;offset-distance:75%}
.showcase-panel img{height:auto;aspect-ratio:640/440;object-fit:cover;border-radius:8px}
.showcase-panel figcaption{line-height:1.5}
@keyframes research-card-orbit{from{offset-distance:0%}to{offset-distance:100%}}
@media(max-width:1100px){
 .showcase-stage{height:auto;min-height:0;display:flex;flex-direction:column;padding:90px 20px 70px;gap:35px;position:relative}
 .showcase-scene{min-height:0}
 .showcase-panels{position:relative;inset:auto;width:100%;height:440px;flex:none}
 .showcase-panel[data-side]{width:clamp(90px,18vw,160px);offset-path:ellipse(calc(50% - 90px) 130px at 50% 50%)}
 .showcase-rail{bottom:20px}
}
@media(prefers-reduced-motion:reduce){
 .showcase-panel[data-side]{animation:none;transform:none!important;position:relative;offset-path:none;left:auto!important;top:auto;width:min(210px,100%);margin:0}
 .showcase-panels{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:min(500px,100%);height:auto}
 .showcase-stage{height:auto;min-height:0;display:flex;flex-direction:column;gap:40px;padding:90px 22px}
 .showcase-scene{min-height:0}
}
