/* Theme-aware scientific artwork and progressive motion. */
.hero-refined{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:5%;padding:64px 5% 100px;min-height:650px}
.hero-refined .hero-content{grid-column:1;grid-row:1;max-width:100%;min-width:0}
.hero-refined h1{font-size:clamp(66px,6.8vw,98px);letter-spacing:-1.8px}
.hero-refined .hero-content>p{max-width:440px}.hero-refined .desktop{display:none}
.hero-refined .text-link{margin:20px 0 0;display:flex;width:max-content}
.hero-scene{--scene-bg:#e6f4fb;--scene-edge:#aed9ed;--scene-text:#174961;--scene-glow:#58c3ed55;position:relative;grid-column:2;grid-row:1;margin:0;min-width:0;aspect-ratio:1/1.08;border:1px solid var(--scene-edge);border-radius:26px;overflow:hidden;background:radial-gradient(ellipse at 65% 32%,#fff9,transparent 65%),var(--scene-bg);color:var(--scene-text);isolation:isolate;box-shadow:0 24px 70px #1e6e9410}
[data-theme=dark] .hero-scene{--scene-bg:#142835;--scene-edge:#305467;--scene-text:#b2dff1;--scene-glow:#2caae133;background:radial-gradient(ellipse at 65% 32%,#22506688,transparent 65%),var(--scene-bg);box-shadow:0 24px 70px #0003}
.science-art{position:absolute;inset:0;overflow:hidden}.scene-grid{position:absolute;inset:0;background-image:linear-gradient(var(--scene-edge) 1px,transparent 1px),linear-gradient(90deg,var(--scene-edge) 1px,transparent 1px);background-size:44px 44px;opacity:.23;mask-image:radial-gradient(ellipse,#000,transparent 75%)}
.scene-halo{position:absolute;inset:10% 5% 18%;border-radius:50%;background:radial-gradient(ellipse,var(--scene-glow),transparent 68%);animation:halo-breathe 8s ease-in-out infinite}
.scene-topline{position:absolute;top:27px;left:28px;display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:2px;font-weight:600}.scene-dot{width:6px;height:6px;border-radius:50%;background:#269fcf;box-shadow:0 0 0 5px #2caae114}
.hero-scene figcaption{position:absolute;bottom:30px;left:28px;right:28px;display:flex;align-items:flex-end;justify-content:space-between;font-size:15px;line-height:1.6}.hero-scene figcaption strong{font-weight:600}.scene-index{font-size:9px;letter-spacing:2px}
.capsule-float{position:absolute;inset:28% 13% 29%;animation:capsule-drift 9s ease-in-out infinite}
.science-capsule{position:absolute;inset:10% 0;transform:rotate(-37deg);border-radius:200px;filter:drop-shadow(-14px 28px 19px #052b4838)}
.capsule-white,.capsule-blue{position:absolute;top:0;bottom:0;width:50%;overflow:hidden}.capsule-white{left:0;border-radius:200px 0 0 200px;background:linear-gradient(180deg,#fff 0%,#f9fcff 24%,#d4e6f0 72%,#9dbdd0 100%);box-shadow:inset 0 2px 3px #fff,inset 0 -5px 12px #718fa433}.capsule-blue{right:0;border-radius:0 200px 200px 0;background:linear-gradient(180deg,#79dcff 0%,#39b9ec 30%,#148bbb 70%,#08668e 100%);box-shadow:inset 0 2px 3px #c0efff,inset 0 -5px 12px #06435b44}.capsule-seam{position:absolute;left:49.6%;top:1%;height:98%;width:2px;background:#fff8;box-shadow:2px 0 2px #073a5b55}.capsule-shine{position:absolute;left:13%;right:13%;top:15%;height:16%;border-radius:50%;background:linear-gradient(90deg,transparent,#fff9,transparent);filter:blur(3px)}
.orbital{position:absolute;left:7%;top:22%;width:86%;height:48%;border:1px solid var(--scene-edge);border-radius:50%;transform:rotate(-35deg)}.orbital-two{left:16%;top:16%;width:68%;height:59%;transform:rotate(40deg);border-style:dashed;opacity:.7}.orbital-one::after{content:'';position:absolute;left:18%;top:4%;width:10px;height:10px;border-radius:50%;background:#49bdec;box-shadow:0 0 18px #49bdec77}
.science-sphere{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff,#8bcee988 30%,#3685a533 62%,#25698788);border:1px solid #89cdeaaa;box-shadow:inset -5px -5px 10px #17628b33,0 12px 25px #0b51771a;animation:sphere-drift 8s ease-in-out infinite}.sphere-one{width:17%;aspect-ratio:1;right:11%;top:15%;animation-delay:-3s}.sphere-two{width:11%;aspect-ratio:1;left:10%;bottom:24%;animation-delay:-5s}.sphere-three{width:5%;aspect-ratio:1;right:22%;bottom:24%;animation-delay:-1s}
.molecule{position:absolute;width:25%;height:25%;left:7%;top:13%;color:#479fc1;opacity:.42;animation:molecule-drift 14s ease-in-out infinite}.scene-cross{position:absolute;color:#369bc1;font-size:24px;font-weight:300}.cross-one{right:12%;bottom:27%}.cross-two{left:21%;top:48%;font-size:15px}
.motion-control{position:fixed;bottom:18px;right:18px;z-index:20;min-height:42px;display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:30px;color:var(--ink);background:var(--paper);font:500 11px var(--body);box-shadow:0 4px 20px #0001;cursor:pointer}.motion-control:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:var(--accent);z-index:100;transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-enabled .motion-item{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms)}.motion-enabled .motion-item.in-view{opacity:1;transform:translateY(0)}
.motion-enabled .hero-content>*{animation:hero-enter .8s both}.motion-enabled .hero-content>:nth-child(2){animation-delay:.1s}.motion-enabled .hero-content>:nth-child(3){animation-delay:.2s}.motion-enabled .hero-content>:nth-child(n+4){animation-delay:.3s}
.button span,.text-link span,.product-icon{transition:transform .3s ease}.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}.product-grid article:hover .product-icon{transform:translateY(-3px) rotate(8deg)}
.business-grid article,.enquiry-grid article,.partner-capabilities article{transition:border-color .25s,box-shadow .25s}.business-grid article:hover,.enquiry-grid article:hover,.partner-capabilities article:hover{border-color:var(--accent);box-shadow:0 12px 30px #2388b412}
html[data-motion=paused] *,html[data-motion=paused] *::before,html[data-motion=paused] *::after{animation-play-state:paused!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=paused] .motion-item{opacity:1!important;transform:none!important}html[data-motion=paused] .hero-content>*{animation:none!important}
@keyframes capsule-drift{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-13px) rotate(3deg)}}
@keyframes sphere-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(14px)}}
@keyframes molecule-drift{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-9px)}}
@keyframes halo-breathe{0%,100%{opacity:.65;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}
@keyframes hero-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:1000px) and (min-width:761px){.hero-refined{gap:3%;padding-top:45px;min-height:590px}.hero-refined h1{font-size:68px}.hero-scene{aspect-ratio:1/1.3}.scene-topline{left:20px;font-size:8px;letter-spacing:1px}.hero-scene figcaption{left:20px;right:20px;font-size:13px}.scene-index{display:none}}
@media(max-width:760px){.hero-refined{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding:40px 6% 76px;min-height:0}.hero-refined .hero-content{order:0}.hero-scene{order:1;aspect-ratio:1.18;border-radius:20px}.hero-refined h1{font-size:clamp(54px,13.7vw,90px);letter-spacing:-1px}.hero-refined .text-link{margin-top:18px}.scene-topline{top:20px;left:22px;font-size:8px}.hero-scene figcaption{bottom:20px;left:22px;right:22px;font-size:13px}.hero-bottom{bottom:20px}.hero-bottom>span{max-width:45%;font-size:7px}.hero-bottom a{font-size:10px}.motion-control{bottom:12px;right:12px;padding:8px 11px;font-size:10px}.capsule-float{inset:27% 17% 28%}}
@media(prefers-reduced-motion:reduce){.motion-enabled .motion-item{opacity:1;transform:none}.hero-content>*{animation:none!important}.reading-progress{display:none}}
