/* Saturated HPC violet with localized cyan reflections. */
body{background:#180a2b}.ambient{background:radial-gradient(ellipse at 83% 20%,#653487 0,transparent 51%),radial-gradient(ellipse at 10% 70%,#3f1c63 0,transparent 55%),#170b29}.light-pearl{display:none}.light-violet{background:radial-gradient(ellipse,#b451de38,transparent 65%);width:45vw;height:50vh;filter:blur(55px)}.light-blue{background:radial-gradient(ellipse,#00d9ff22,#08b9d80d 40%,transparent 68%);width:42vw;height:46vh;filter:blur(60px);left:-10%;top:55%}.glass-ribbon{box-shadow:inset 0 12px 26px #ba75db0a,0 -8px 25px #00d9ff07;border-color:#a995e00d}.cursor-glow{width:100px;height:100px;margin:-50px 0 0 -50px;background:#25133e0a;mix-blend-mode:normal;filter:blur(5px);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);mask-image:radial-gradient(circle,#000 0,transparent 65%)}
.glass,.craft-icon,.network-node{background:linear-gradient(135deg,#e7bfff0c,#9454c205 65%,#00d9ff04);backdrop-filter:blur(25px);border:1px solid #dbb5ef2b;box-shadow:inset 0 1px 0 #ffffff18,inset 0 -1px 0 #72d5f008,0 16px 45px #10031f25;position:relative;isolation:isolate}
.glass::before,.craft-icon::before,.network-node::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from var(--border-angle),transparent 0deg,#c984f299 65deg,transparent 125deg,transparent 205deg,#55d8ec77 260deg,transparent 310deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;opacity:.7;animation:border-flow 9s linear infinite}.service:hover::before{animation-duration:3s;opacity:1}.service:nth-child(even)::before,.craft-video::before{animation-delay:-4s}.brand-card.glass{border:0;background:none;box-shadow:none;backdrop-filter:none}.brand-card.glass::before{display:none}
.years-stat{display:flex;align-items:center}.stats .years-range{font-size:clamp(1.6rem,3.1vw,2.8rem);letter-spacing:-.055em;white-space:nowrap}
.brand-network{height:400px}.orbit-guide{position:absolute;inset:4% 1%;border:1px solid #ce9fea16;border-radius:50%}.creative-core{position:absolute;left:50%;top:50%;width:220px;height:170px;transform:translate(-50%,-50%)}.craft-icon{position:absolute;width:110px;height:110px;border-radius:22px;display:grid;place-items:center;color:#e5c5ff;background:linear-gradient(145deg,#623a8580,#35185390)}.craft-icon svg{width:65px;height:65px}.craft-sound{left:0;top:7px;transform:rotate(-10deg);z-index:2}.craft-video{right:0;top:35px;transform:rotate(12deg);color:#9addf0;z-index:3}.craft-stage{left:66px;top:-42px;transform:rotate(2deg);z-index:1;width:96px;height:96px}.audio-spectrum{position:absolute;left:34px;bottom:0;display:flex;align-items:center;gap:7px;height:38px}.audio-spectrum i{width:3px;height:15px;border-radius:4px;background:#ce9ded;animation:audio-level 2.4s ease-in-out infinite alternate}.audio-spectrum i:nth-child(2n){height:29px;animation-delay:-.8s}.audio-spectrum i:nth-child(3n){height:36px;background:#69cfdf;animation-delay:-1.5s}@keyframes audio-level{to{transform:scaleY(.35);opacity:.55}}
.network-node{position:absolute;left:50%;top:50%;right:auto;bottom:auto;animation:none;will-change:transform;font-size:.7rem;padding:8px 12px;transition:background .3s;transform:translate(-50%,-50%)}
#contact{padding-block:38px 35px}.contact-compact{border-radius:16px;padding:25px 30px;display:grid;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:30px}.contact-compact h2{font-size:1.15rem;line-height:1.5}.contact-direct{display:flex;gap:35px}.contact-direct a{font-size:1rem;white-space:nowrap;line-height:1.7}.contact-direct a span{display:block;font-size:.75rem;color:#bfa5d3}.contact-direct a:hover{color:#d7aeff}.social-icons{display:flex;gap:15px;align-items:center}.social-icon{display:flex;width:21px;height:21px;color:#dbc5e9}.social-icon svg{width:100%;height:100%}.footer{justify-content:space-between;padding-block:23px}.footer p{order:0;width:auto}.terms-trigger{padding:6px 0;border:0;background:none;color:#c5afd4;font:inherit;font-size:.75rem;cursor:pointer}.terms-trigger:hover{color:#f1dfff}.terms-trigger:focus-visible{outline:2px solid #b8e7f3;outline-offset:5px}.terms-dialog{color:#f3eafa;background:#241137;border:1px solid #9d71bd77;border-radius:18px;padding:0;width:min(760px,calc(100% - 32px));max-height:85vh;box-shadow:0 30px 100px #080311aa}.terms-dialog::backdrop{background:#0b0318a8;backdrop-filter:blur(8px)}.terms-top{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;background:#241137;border-bottom:1px solid #bc8ddd25}.terms-top h2{font-size:1.1rem;line-height:1.7;margin:0}.terms-close{border:1px solid #c398df50;color:#ebd3ff;background:#c89dea09;border-radius:8px;width:36px;height:36px;flex-shrink:0;font-size:1.5rem;cursor:pointer}.terms-body{padding:8px 28px 28px}.terms-body h3{font-size:.9rem;line-height:1.7;margin-top:24px}.terms-body p{font-size:.94rem;line-height:1.9;color:#d0bfdc}.terms-body .terms-date{font-size:.75rem;color:#b9a0ce}.terms-body a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.contact-compact{grid-template-columns:1fr 2fr;gap:20px}.social-icons{grid-column:2}.brand-network{height:350px}.creative-core{transform:translate(-50%,-50%) scale(.85)}}
@media(max-width:800px){.brand-network{height:300px}.creative-core{transform:translate(-50%,-50%) scale(.7)}.network-node{font-size:.65rem;padding:6px 9px}.contact-compact{padding:24px;gap:18px}.contact-direct{gap:25px}.light-blue{width:80vw}.stats .years-range{font-size:1.55rem}}
@media(max-width:600px){.contact-compact{display:flex;flex-direction:column;align-items:flex-start}.contact-direct{width:100%;justify-content:space-between;gap:15px}.social-icons{gap:23px;margin-top:5px}.social-icon{width:20px;height:20px}.contact-direct a{font-size:.94rem}.footer{align-items:flex-start;gap:12px}.footer p{font-size:.625rem;max-width:190px}.terms-trigger{font-size:.7rem;padding:0}.stats .years-range{font-size:1.22rem}.network-node{font-size:.6rem}.brand-network{height:280px}.terms-top{padding:20px}.terms-body{padding:5px 20px 22px}.terms-top h2{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.glass::before,.craft-icon::before,.network-node::before,.audio-spectrum i{animation:none!important}.network-node{will-change:auto}}
.reveal-pending{transform:translate3d(0,var(--reveal-y,28px),0)}.reveal-pending.is-revealed{transform:none}@media(prefers-reduced-motion:reduce){.reveal-pending{transform:none}}
.global-crop img{filter:grayscale(1) invert(1)}
@font-face{font-family:'HPC Mongolian';src:url('assets/hpc-mongolian-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+04AE-04AF,U+04E8-04E9}
h1,h2,h3,.brand-card h3{font-family:'HPC Mongolian',Unbounded,Arial,sans-serif!important}

/* Localized travelling light, without washing out the violet foundation. */
.light-blue{left:50%;top:50%;width:65vw;height:75vh;background:radial-gradient(ellipse,#00d5e83d 0,#00baca1a 33%,transparent 68%);filter:blur(65px);animation:cyan-wander 38s ease-in-out infinite;transform:translate(-50%,-50%)}
@keyframes cyan-wander{0%,100%{transform:translate(-50%,-50%) scale(.85)}25%{transform:translate(-100%,-85%) scale(1.1)}50%{transform:translate(-10%,-30%) scale(.9)}75%{transform:translate(-65%,0%) scale(1.2)}}
.hero h1 span{color:#b993ef;background:linear-gradient(110deg,#bd83ec 10%,#a978e3 35%,#55d1e4 50%,#bd83ec 70%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:title-current 12s linear infinite}
@keyframes title-current{to{background-position:250% 0}}
.glass,.craft-icon,.network-node{background:linear-gradient(135deg,#ecdaff12,#ad72cf08 42%,#63dbea06);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);border-color:#e6caff35;box-shadow:inset 0 1px 1px #ffffff35,inset 0 -1px 1px #7bdbea12,0 15px 40px #0d021d30}
.glass::before,.craft-icon::before,.network-node::before{inset:0;z-index:4;padding:1.5px;opacity:.95;background:conic-gradient(from var(--border-angle),transparent 0deg,#d9a5ff 60deg,transparent 115deg,transparent 205deg,#65d9e9 260deg,transparent 310deg);animation:border-flow 8s linear infinite}
.mission.glass::before{display:block;animation:border-flow 7s linear infinite;opacity:1}
.service-timeline{display:flex;flex-direction:column;gap:30px;position:relative;padding-left:52px}
.service-timeline::before{content:'';position:absolute;left:10px;top:44px;bottom:44px;width:2px;background:linear-gradient(#e4c7f98c,#ae81d657)}
.service-timeline::after{content:'';position:absolute;left:10px;top:44px;bottom:44px;width:2px;background:linear-gradient(180deg,transparent 30%,#b6eef7 48%,#dfb4ff 52%,transparent 70%);background-size:100% 350px;animation:timeline-current 7s linear infinite;pointer-events:none}
@keyframes timeline-current{to{background-position:0 700px}}
.service-step{position:relative;min-width:0}
.timeline-dot{position:absolute;left:-51px;top:35px;width:20px;height:20px;border-radius:50%;background:#f3eaff;box-shadow:0 0 18px #b986dc40;z-index:2}
.timeline-dot::after{content:'';position:absolute;inset:-6px;border:1px solid #b9e9ee80;border-radius:50%;animation:dot-wave 4s ease-out infinite}
.service-step:nth-child(2) .timeline-dot::after{animation-delay:-1s}.service-step:nth-child(3) .timeline-dot::after{animation-delay:-2s}.service-step:nth-child(4) .timeline-dot::after{animation-delay:-3s}
@keyframes dot-wave{0%{transform:scale(.65);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.service-timeline .service{overflow:hidden;min-height:230px;padding:34px 40px;border-radius:22px;transition:border-color .3s}
.service-content{position:relative;z-index:2;max-width:850px}.service-content h3{font-size:clamp(1.05rem,2vw,1.45rem);margin:8px 0 14px}.service-content p{max-width:800px;font-size:.98rem;line-height:1.85;color:#d7c8e4}.service-number{display:block;margin:0;color:#b497ca;font-size:.7rem;letter-spacing:.18em}
.service-scene{position:absolute;inset:0;opacity:.05;pointer-events:none;overflow:hidden;color:#c9f4ff;z-index:0;mask-image:linear-gradient(90deg,#0003,#000 50%)}
.service-scene svg,.service-scene img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.service-scene img{object-position:50% 45%;animation:scene-pan 24s ease-in-out infinite alternate}.scene-drift{transform-origin:70% 50%;animation:scene-pan 20s ease-in-out infinite alternate}.light-sweep{transform-origin:65% 5%;animation:beam-sweep 12s ease-in-out infinite alternate}.fader{animation:fader-slide 6s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.7s)}
@keyframes scene-pan{to{transform:translate(-2%,2%) scale(1.08)}}@keyframes beam-sweep{to{transform:skewX(12deg);opacity:.3}}@keyframes fader-slide{to{transform:translateY(-25px)}}
@media(max-width:600px){.service-timeline{padding-left:28px;gap:22px}.service-timeline::before,.service-timeline::after{left:6px;top:35px;bottom:35px}.timeline-dot{left:-28px;top:29px;width:14px;height:14px}.service-timeline .service{padding:24px 22px;min-height:245px;border-radius:18px}.service-content p{font-size:.9rem}.service-scene svg{width:180%;left:-65%}.light-blue{width:110vw;height:65vh;filter:blur(45px)}}
@media(prefers-reduced-motion:reduce){.light-blue,.hero h1 span,.service-timeline::after,.timeline-dot::after,.scene-drift,.light-sweep,.fader,.service-scene img{animation:none!important}.light-blue{transform:translate(-50%,-50%)}.hero h1 span{background-position:50% 0}}

/* Video, optical edges and independent hover/scroll transforms. */
.service-scene{opacity:.1;mask-image:none}
.service-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75);pointer-events:none}
.service-1 .service-video{object-position:50% 48%}.service-3 .service-video{object-position:50% 60%}
.service,.mission,.stageflow-product,.contact-compact{scale:1;transition:scale .65s cubic-bezier(.2,.75,.2,1),box-shadow .65s,border-color .65s;transform-origin:center;box-shadow:inset 0 1px 1px #fff6,inset 1px 0 1px #e5d9ff25,inset 0 -1px 1px #a5e9f333,0 16px 48px #0a021e33;backdrop-filter:blur(32px) saturate(155%);-webkit-backdrop-filter:blur(32px) saturate(155%);background:linear-gradient(120deg,#efdcff1a,#d4b1ed05 38%,#99dae40a 78%,#e9d4fa12)}
.service::after,.mission::after,.stageflow-product::after,.contact-compact::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(130deg,#fff1,transparent 22%,transparent 77%,#a8e8f00b);box-shadow:inset 0 2px 4px #ffffff10;z-index:3}
.service.reveal-pending,.mission.reveal-pending,.stageflow-product.reveal-pending,.contact-compact.reveal-pending{transition:opacity .8s ease,transform .85s cubic-bezier(.2,.65,.25,1),scale .65s cubic-bezier(.2,.75,.2,1),box-shadow .65s,border-color .65s}
.service-step.reveal-pending{transition:opacity .8s ease,transform .85s cubic-bezier(.2,.65,.25,1)}
@media(hover:hover) and (pointer:fine){.service:hover,.mission:hover,.stageflow-product:hover,.contact-compact:hover{scale:1.018;border-color:#ebd4ff66;box-shadow:inset 0 1px 2px #ffffff7a,inset 0 -1px 2px #91e6f340,0 22px 60px #0b031c4d}}
.light-cyan-right{left:72%;top:8%;width:58vw;height:65vh;background:radial-gradient(ellipse,#00bdd72b,#00aac30f 42%,transparent 70%);filter:blur(70px);animation:cyan-right-wander 43s ease-in-out -11s infinite alternate}
.light-cyan-low{left:-20%;top:67%;width:70vw;height:60vh;background:radial-gradient(ellipse,#45ced727,#0ab8ce0d 42%,transparent 70%);filter:blur(75px);animation:cyan-low-wander 49s ease-in-out -24s infinite alternate}
.light-blue{background:radial-gradient(ellipse,#00d5e82c,#00baca12 33%,transparent 68%)}
@keyframes cyan-right-wander{0%{transform:translate(0,0) scale(.8)}50%{transform:translate(-48vw,34vh) scale(1.1)}100%{transform:translate(-17vw,65vh) scale(.95)}}
@keyframes cyan-low-wander{0%{transform:translate(-10vw,10vh) scale(1)}50%{transform:translate(45vw,-25vh) scale(.8)}100%{transform:translate(8vw,-75vh) scale(1.12)}}
.tech-atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.05;contain:strict}
.tech-circuit{position:absolute;width:clamp(260px,34vw,560px);color:#94e6f4;translate:0 0;transition:translate 1.1s cubic-bezier(.2,.7,.25,1);will-change:translate}
.tech-circuit svg{width:100%;height:auto;animation:circuit-drift 24s ease-in-out infinite alternate;transform-origin:center}
.circuit-0{left:-6%;top:9%}.circuit-1{right:-9%;top:40%;color:#d1a1f6}.circuit-1 svg{animation-delay:-13s;rotate:180deg}.circuit-2{left:28%;bottom:-9%;width:30vw}.circuit-2 svg{animation-delay:-7s;rotate:25deg}.circuit-3{right:16%;top:-15%;width:28vw}.circuit-3 svg{animation-delay:-18s;rotate:-25deg}
.circuit-signal{stroke:#fff;stroke-width:2.5;stroke-dasharray:12 210;animation:trace-current 14s linear infinite}
@keyframes trace-current{to{stroke-dashoffset:-444}}
@keyframes circuit-drift{0%{transform:translate(-12px,-15px);opacity:.25}50%{opacity:1}100%{transform:translate(24px,32px);opacity:.4}}
.service-step.reveal-pending:not(.is-revealed) .service-video{visibility:hidden}
@media(max-width:600px){.tech-circuit{width:70vw}.circuit-2,.circuit-3{width:60vw}.light-cyan-right,.light-cyan-low{width:95vw;filter:blur(50px)}}
@media(prefers-reduced-motion:reduce){.service,.mission,.stageflow-product,.contact-compact{scale:1!important}.tech-circuit{translate:0 0!important;will-change:auto}.tech-circuit svg,.circuit-signal,.light-cyan-right,.light-cyan-low{animation:none!important}}
