.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;overflow:hidden;padding-bottom:35px}
.kinetic-core{min-width:0;position:relative;width:100%;align-self:center}
.core-scene{position:relative;width:100%;aspect-ratio:1;isolation:isolate}
.core-scene canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.core-fallback{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.core-ready .core-fallback{visibility:hidden}
.core-coordinate,.core-caption{position:absolute;left:0;right:0;text-align:center;font-size:9px;letter-spacing:2px;color:#a5613d;pointer-events:none}
.core-coordinate{top:5%}.core-caption{bottom:5%;font-size:8px;letter-spacing:1.5px}
.core-controls{display:flex;gap:5px;justify-content:center;margin-top:6px}
.core-controls button{border:1px solid #d9beaa;background:#fffaf2;border-radius:24px;color:#7c5239;font-size:11px;padding:12px 15px;transition:background .25s,color .25s;min-height:44px}
.core-controls button[aria-pressed=true]{background:#bb421b;color:white;border-color:#bb421b}
.hero h1{animation:title-arrival 1s cubic-bezier(.2,.7,.2,1) both}
.hero-copy>.eyebrow{animation:title-arrival .7s both}
.hero h1 em{background:linear-gradient(110deg,#9a2a0d 10%,#db692c 40%,#b43c14 70%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:amber-light 8s ease-in-out infinite}
.cinematic-reveal{transition:transform .85s cubic-bezier(.2,.7,.2,1),opacity .85s;transform:translateY(22px);opacity:.65}
.cinematic-reveal.arrived{transform:none;opacity:1}
.theatre-shell{position:relative;overflow:hidden;transform:perspective(1200px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .45s ease-out,box-shadow .45s}
.theatre-shell:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#d97534,transparent);background-size:200% 100%;animation:amber-light 5s linear infinite}
.theatre-image{box-shadow:inset 0 0 45px #edcead25}.conan-scene img{animation:conan-breathe 8s ease-in-out infinite}
.product-theatre .handoff span{box-shadow:0 3px 10px #ae653611}
.product-visual{position:relative}.product-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#ffffff80 48%,transparent 70%);transform:translateX(-130%);animation:surface-light 10s ease-in-out infinite}
.product:nth-child(2) .product-visual:after{animation-delay:2s}.product:nth-child(3) .product-visual:after{animation-delay:4s}
.visual-story figure{transform:perspective(1300px) rotateY(-3deg);transition:transform .8s}.visual-story figure:hover{transform:perspective(1300px) rotateY(0)}
.intro-art:has(img[src*="engine"]) img{animation:engine-drift 14s ease-in-out infinite}
.flow-node{animation:node-arrival 7s ease-in-out infinite}.flow-node:nth-of-type(2){animation-delay:2s}.flow-node:nth-of-type(3){animation-delay:4s}
.brand-current{overflow:hidden;display:flex;gap:55px;white-space:nowrap;border-block:1px solid #e8d5c4;padding:30px 0;margin-top:75px;background:linear-gradient(100deg,#faf2e8,#fffdfa);color:#b4562d}
.brand-current span{font-size:clamp(35px,6vw,95px);font-weight:500;letter-spacing:-3px;flex-shrink:0;animation:brand-travel 28s linear infinite}
.closing{margin-top:0}.closing .button{position:relative;overflow:hidden}
.read-progress{position:fixed;left:0;top:0;height:2px;background:#c14a21;z-index:150;width:100%;transform:scaleX(0);transform-origin:left;pointer-events:none}
.header .nav-cta:hover{border-color:#c04b21;box-shadow:0 3px 20px #c05b2120}
.expertise-row .row-arrow{transition:transform .3s,color .3s}.expertise-row:hover .row-arrow,.expertise-row:focus-visible .row-arrow{transform:translate(4px,-4px);color:#bf431c}
.service-list article,.orvexia-roles article{position:relative;background-image:linear-gradient(90deg,#bd552b,#e3b68f);background-repeat:no-repeat;background-size:0 2px;transition:background-size .7s,background-color .4s}
.service-list article:hover,.orvexia-roles article:hover{background-size:100% 2px;background-color:#f8eee344}
.lab-controls button{transition:background .25s,color .25s,box-shadow .25s}.lab-controls button[aria-pressed=true]{background:#b9421c;border-color:#b9421c;box-shadow:0 5px 18px #c2773520}
@keyframes title-arrival{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@keyframes amber-light{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes surface-light{0%,60%{transform:translateX(-130%)}90%,100%{transform:translateX(130%)}}
@keyframes conan-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes engine-drift{0%,100%{transform:translateY(0) rotate(-2deg) scale(.96)}50%{transform:translateY(-8px) rotate(2deg) scale(1)}}
@keyframes node-arrival{0%,100%{border-color:#ddd;box-shadow:0 9px 20px #3c271109}35%{border-color:#c47a45;box-shadow:0 9px 25px #c6794520}}
@keyframes brand-travel{to{transform:translateX(calc(-100% - 55px))}}
@media(max-width:650px){.hero{display:flex;gap:0}.kinetic-core{width:100%;margin-top:15px}.core-scene{aspect-ratio:1}.core-coordinate{font-size:8px;letter-spacing:1.4px}.core-caption{font-size:7px;letter-spacing:1px}.core-controls{gap:5px}.core-controls button{font-size:10px;padding:11px 12px}.brand-current{margin-top:45px;padding:20px 0;gap:35px}.brand-current span{font-size:40px;letter-spacing:-1.8px}.theatre-shell{transform:none!important}.cinematic-reveal{transform:translateY(12px)}.visual-story figure{transform:none}.identity-intro:has(.kinetic-core){padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.cinematic-reveal{opacity:1;transform:none}.theatre-shell{transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Stable first paint: the same orange core, never an unrelated photo. */
.core-ready .core-placeholder{display:none}
