/* Spatial layer: a living system built on the approved visual foundation. */
.homepage{--glass:linear-gradient(130deg,#c0a8ff13,transparent 45%,#b2f4d811),linear-gradient(110deg,#22263191,#15221ea3);overflow-x:clip}.homepage .hero{overflow:visible;isolation:isolate;padding-top:66px;padding-bottom:45px}.hero-environment{position:absolute;inset:-110px -5vw 0;overflow:hidden;z-index:-2;pointer-events:none}.ambient-plane{position:absolute;width:660px;height:660px;border-radius:50%;filter:blur(75px);opacity:.22;will-change:transform}.plane-purple{background:radial-gradient(#7350a6,transparent 65%);left:4%;top:-150px;animation:ambient-drift 20s ease-in-out infinite alternate}.plane-mint{background:radial-gradient(#528878,transparent 67%);right:-8%;top:-70px;animation:ambient-drift 24s ease-in-out -10s infinite alternate-reverse}.environment-grid{position:absolute;inset:5% -10% -40%;background-image:linear-gradient(#bca8f00a 1px,transparent 1px),linear-gradient(90deg,#a0d8c40a 1px,transparent 1px);background-size:72px 72px;transform:perspective(800px) rotateX(45deg) translateY(30px);mask-image:radial-gradient(ellipse at 68% 40%,#0008,transparent 67%)}.homepage .nav-inner{background:linear-gradient(110deg,#3b2f4e23,#1c312625);backdrop-filter:blur(14px);border-color:#c1b0e61b;box-shadow:inset 0 1px #ffffff08;transition:background .45s,border-color .45s,box-shadow .45s,backdrop-filter .45s}.homepage.nav-scrolled .nav-inner{background:linear-gradient(110deg,#282232ce,#16251ed4);border-color:#bda5e43d;box-shadow:inset 0 1px #ffffff0e,0 15px 35px #0003;backdrop-filter:blur(23px)}.homepage .hero-grid{gap:56px;align-items:center}.homepage .hero-grid>div:first-child{position:relative;z-index:3}.portrait-scene{position:relative;height:590px;perspective:1100px;isolation:isolate;--hero-x:0;--hero-y:0;--hero-scroll:0;transform:translateY(calc(var(--hero-scroll)*-18px));min-width:0}.homepage .portrait{position:absolute;inset:-10px -32px 32px -15px;border:0;border-radius:0;aspect-ratio:auto;overflow:visible;background:transparent;box-shadow:none;isolation:auto;transform:translate3d(calc(var(--hero-x)*9px),calc(var(--hero-y)*6px),0) scale(calc(1 + var(--hero-scroll)*.018));transition:transform .18s ease-out;will-change:transform;z-index:2}.homepage .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 31%;border-radius:0;mask-image:linear-gradient(to bottom,#000 0%,#000 73%,transparent 99%),radial-gradient(ellipse 68% 78% at 50% 42%,#000 45%,transparent 80%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 73%,transparent 99%);filter:none}.homepage .portrait:after{display:none}.homepage .portrait-caption{bottom:0;left:30px;right:20px;padding:0 0 12px;border:0;background:none;backdrop-filter:none;transform:translateZ(20px)}.homepage .portrait-caption b{font-size:14px}.homepage .portrait-caption p{font-size:9px;color:#aebfb8}.homepage .portrait-trace{display:none}.portrait-stage{position:absolute;inset:68px -9px 85px 40px;border:1px solid #a792f53c;border-radius:28px;background:linear-gradient(145deg,#70529315,#2c6c5212);transform:translate3d(calc(var(--hero-x)*-12px),calc(var(--hero-y)*-8px),-30px) rotate(-7deg);box-shadow:inset 0 1px #d7baff13,20px 20px 70px #0002;z-index:0;backdrop-filter:blur(8px)}.portrait-stage span{position:absolute;bottom:20px;left:24px;letter-spacing:.12em;font-size:8px;color:#a998bd}.portrait-stage i{position:absolute;top:21px;right:23px;width:5px;height:5px;background:var(--mint);border-radius:50%;box-shadow:0 0 14px #a0d8c455}.portrait-orbit{position:absolute;border:1px solid #b5a4da29;pointer-events:none;border-radius:50%;width:112%;height:48%;left:-4%;top:32%;transform:rotate(-26deg) translate3d(calc(var(--hero-x)*-9px),calc(var(--hero-y)*-5px),0)}.orbit-back{border-right-color:transparent;border-bottom-color:#a0d8c445;z-index:0;filter:blur(.3px)}.orbit-front{border-left-color:transparent;border-top-color:transparent;top:42%;height:25%;width:96%;left:1%;transform:rotate(-21deg);z-index:3;opacity:.45}.telemetry{position:absolute;padding:15px 17px;border:1px solid #c7b6e13d;border-radius:9px;background:linear-gradient(125deg,#3a3146a9,#172c27b0);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px #f3e4ff15,0 18px 35px #0003;z-index:4;min-width:156px;transform:translate3d(calc(var(--hero-x)*var(--depth-x)),calc(var(--hero-y)*var(--depth-y)),0) rotate(var(--plane-angle,0deg));transition:transform .2s ease-out,border-color .3s;will-change:transform}.telemetry-inbound{--depth-x:-15px;--depth-y:-11px;--plane-angle:-4deg;top:50px;left:-20px}.telemetry-ai{--depth-x:20px;--depth-y:15px;--plane-angle:4deg;right:-17px;top:247px}.telemetry-crm{--depth-x:-9px;--depth-y:18px;--plane-angle:-3deg;bottom:47px;left:-25px;min-width:213px}.telemetry-label{display:flex;align-items:center;gap:7px;letter-spacing:.1em;font-size:7px;color:#aaa2bb}.telemetry-label>i{width:4px;height:4px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 3px #a0d8c409}.telemetry strong{display:block;font-family:'Space Grotesk';font-size:15px;font-weight:400;color:#e1dce9;margin-top:9px;line-height:1.4;letter-spacing:-.02em}.telemetry small{display:block;font-size:8px;color:#a4b0ae;margin-top:8px}.mini-track{display:block;height:1px;background:#a792f544;margin-top:13px;position:relative;overflow:visible}.mini-track i{position:absolute;width:4px;height:4px;top:-1.5px;border-radius:50%;background:var(--mint);animation:telemetry-signal 4.5s ease-in-out infinite}.telemetry-bars{display:flex;gap:5px;margin-top:11px;align-items:center;height:9px}.telemetry-bars i{height:3px;flex:1;background:#a792f561;animation:bar-signal 5s infinite}.telemetry-bars i:nth-child(2){animation-delay:.2s}.telemetry-bars i:nth-child(3){animation-delay:.4s}.telemetry-bars i:nth-child(4){animation-delay:.6s}.telemetry-bars i:nth-child(5){animation-delay:.8s;background:#a0d8c470}.telemetry-route{display:flex;gap:10px;align-items:center;margin-top:11px;font-size:9px;color:#bcb7c9}.telemetry-route i{width:18px;height:1px;background:#a0d8c455}.scene-caption{position:absolute;right:0;bottom:8px;font-size:7px;letter-spacing:.15em;color:#7f8d88;z-index:3}.homepage .project,.homepage .cap,.homepage .expertise-board,.homepage .contact-action{transform-style:preserve-3d;position:relative}.homepage .project{overflow:hidden;transform:perspective(1400px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--depth-shift,0px));transition:transform .3s ease-out,border-color .3s,box-shadow .3s;box-shadow:inset 0 1px #e6d7ff1a,0 25px 55px #0004}.homepage .project:after,.homepage .expertise-board:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(550px at var(--light-x,70%) var(--light-y,20%),#a792f515,transparent 70%);z-index:0}.homepage .project>*{position:relative;z-index:1}.homepage .cap{transform:perspective(800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:inset 0 1px #ffffff15,0 18px 30px #0003}.homepage .cap:hover{transform:perspective(800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px)}.homepage .cap small{transition:color .35s,text-shadow .35s;position:relative;padding-top:10px}.homepage .cap small:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;transform:scaleX(.12);transform-origin:left;background:linear-gradient(90deg,#a792f570,#a0d8c450,transparent);transition:transform .5s}.homepage .cap:hover small{color:var(--mint)}.homepage .cap:hover small:before{transform:scaleX(1)}.homepage .contact-action:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(170px at var(--light-x,50%) var(--light-y,50%),#a0d8c41b,transparent);transition:opacity .3s}.homepage .contact-action:hover:before{opacity:1}.homepage .contact-action:hover{transform:perspective(800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px);box-shadow:0 12px 25px #0004,inset 0 1px #ffffff17}.homepage .hero .btn.primary{transform:translate(var(--magnet-x,0px),var(--magnet-y,0px));transition:transform .2s ease-out,background .25s,box-shadow .25s}.homepage .interactive-system{padding:37px 28px;min-height:410px}.system-model-label{float:right;font-size:7px;color:#7e8b87;letter-spacing:.07em}.homepage .interactive-system .node{font:inherit;font-size:11px;color:#d1cadb;cursor:pointer;min-width:80px;padding:18px 12px;background:linear-gradient(135deg,#c3a4ff1a,#2a313327);transform:translateY(0);transition:transform .35s,background .35s,border-color .35s,box-shadow .35s}.homepage .interactive-system .node strong{font-family:'Space Grotesk';font-size:20px}.homepage .interactive-system .node[aria-pressed=true]{border-color:#a0d8c49a;background:linear-gradient(135deg,#a792f524,#a0d8c416);box-shadow:inset 0 1px #ffffff20,0 0 24px #a0d8c40a;transform:translateY(-5px)}.homepage .interactive-system.flow-active .node{animation:none}.homepage .interactive-system .connector{width:25px}.homepage .interactive-system .connector:after{animation:none!important;opacity:0;left:0}.homepage .interactive-system .connector.signal-active:after{animation:system-transfer 1.8s linear infinite!important}.workflow-context{position:relative;z-index:1;display:flex;gap:9px;align-items:center;min-height:53px;margin-top:25px;padding:10px 0;border-top:1px solid #b39ac62c;border-bottom:1px solid #b39ac62c;font-size:9px;color:#b9b2c7}.context-node{width:4px;height:4px;border-radius:50%;background:var(--mint);flex:0 0 auto}.context-copy{flex:1}.context-counter{font-size:8px;white-space:nowrap;color:#8b809b}.homepage .interactive-system .routes{margin-top:22px;flex-wrap:wrap}.homepage .about-evolution li:not(:last-child):before{transform:scaleY(var(--evolution-line,0));transform-origin:top;transition:transform 1s ease}.homepage .about-evolution li:nth-child(2):before{transition-delay:.4s}.homepage .about-evolution.sequence-active li:before{--evolution-line:1}.homepage .about-evolution .evolution-node{transition:background .6s,border-color .6s,box-shadow .6s}.homepage .about-evolution .step-lit .evolution-node{background:#a0d8c44d;border-color:var(--mint);box-shadow:0 0 0 5px #a0d8c40b}.homepage .expertise-panel{transition:background .3s}.homepage .core-skills li,.homepage .platform-groups>div{transition:color .25s,background .25s,box-shadow .25s}.homepage .core-skills li:hover{color:var(--mint);background:#a0d8c406}.homepage .platform-groups>div:hover{background:#a792f508;box-shadow:0 0 0 8px #a792f508}.homepage .certification-card:hover{transform:translateY(-3px);transition:transform .3s,background .3s,box-shadow .3s}.homepage main>.section{position:relative}.homepage main>.section:before{content:'';position:absolute;left:max(17px,calc((100vw - 1274px)/2));top:28px;bottom:28px;width:1px;background:linear-gradient(#a792f500,#a792f53a,#a0d8c43a,#a0d8c400);transform:scaleY(var(--section-progress,0));transform-origin:top;opacity:.5;pointer-events:none}.homepage main>.section:after{content:'';position:absolute;left:max(15px,calc((100vw - 1278px)/2));top:calc(28px + (100% - 56px)*var(--section-progress,0));width:5px;height:5px;border-radius:50%;background:var(--mint);opacity:calc(var(--section-progress,0)*.5);pointer-events:none}.homepage .section.depth-visible .section-heading{animation:heading-depth .85s both}.homepage .capabilities .reveal{transform:perspective(900px) translateY(20px) rotateX(3deg)}.homepage .capabilities .reveal.visible{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.homepage .capabilities .reveal.visible:hover{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px)}.homepage.environment-paused .ambient-plane,.homepage.environment-paused .telemetry *,.homepage.environment-paused .interactive-system *{animation-play-state:paused!important}
@keyframes ambient-drift{to{transform:translate3d(55px,35px,0) scale(1.1)}}@keyframes telemetry-signal{0%{left:0;opacity:0}20%,75%{opacity:1}100%{left:100%;opacity:0}}@keyframes bar-signal{0%,70%,100%{opacity:.4}30%,45%{opacity:1}}@keyframes system-transfer{0%{left:0;opacity:0}15%,85%{opacity:1}100%{left:100%;opacity:0}}@keyframes heading-depth{from{opacity:.4;transform:translateY(17px) scale(.986)}to{opacity:1;transform:none}}
@media(min-width:1400px){.portrait-scene{height:620px}.telemetry-ai{right:-25px;top:260px}}
@media(max-width:1050px){.homepage .hero-grid{gap:35px}.portrait-scene{height:540px}.telemetry{padding:13px;min-width:135px}.telemetry-inbound{top:55px;left:-13px}.telemetry-ai{right:-15px;top:240px}.telemetry-ai strong{font-size:12px}.telemetry-crm{left:-20px;bottom:39px;min-width:185px}.homepage .portrait{inset:0 -20px 25px -10px}.homepage .interactive-system{padding:30px 24px}.homepage .interactive-system .node{min-width:75px}}
@media(max-width:780px){.homepage .hero-grid{grid-template-columns:1fr 1fr;gap:22px}.portrait-scene{height:465px}.homepage .portrait{inset:20px -13px 20px -5px}.portrait-stage{inset:60px 5px 65px 24px}.telemetry-inbound{top:23px;left:3px}.telemetry-ai{right:-7px;top:235px;min-width:135px}.telemetry-crm{left:-8px;bottom:13px;min-width:175px}.telemetry-label{font-size:6px}.telemetry strong{font-size:12px}.telemetry small{font-size:7px}.telemetry{padding:11px}.scene-caption{display:none}.homepage .portrait-caption{bottom:30px;left:20px}.homepage .portrait-caption b{font-size:12px}.homepage .portrait-caption p{font-size:8px;max-width:130px}.homepage .portrait-caption .system-signal{display:none}.homepage .interactive-system{min-height:350px;padding:35px}.homepage main>.section:before,.homepage main>.section:after{display:none}.homepage .about-evolution li:not(:last-child):before{transform:scaleX(var(--evolution-line,0));transform-origin:left}}
@media(max-width:540px){.homepage .hero-grid{grid-template-columns:1fr;gap:20px}.portrait-scene{height:510px;margin:7px 0 0}.homepage .portrait{inset:0 -7px 29px -7px;transform:none;transition:none}.homepage .portrait img{object-position:50% 30%}.portrait-stage{inset:60px 22px 70px 34px}.telemetry-inbound{top:32px;left:0;min-width:135px}.telemetry-ai{right:-2px;top:255px;min-width:151px}.telemetry-crm{left:0;bottom:22px;min-width:188px}.telemetry{transform:rotate(var(--plane-angle));backdrop-filter:blur(13px)}.telemetry strong{font-size:14px}.telemetry-label{font-size:7px}.telemetry small{font-size:8px}.homepage .portrait-caption{bottom:31px;left:30px}.homepage .portrait-caption b{font-size:13px}.homepage .portrait-caption p{font-size:8px}.homepage .hero{padding-top:36px}.homepage .interactive-system{padding:30px 15px;min-height:340px}.homepage .interactive-system .node{min-width:61px;padding:15px 8px;font-size:10px}.homepage .interactive-system .connector{width:16px}.workflow-context{font-size:8px;gap:7px}.system-model-label{font-size:6px}.homepage .about-evolution li:not(:last-child):before{transform:scaleY(var(--evolution-line,0));transform-origin:top}.environment-grid{background-size:55px 55px;opacity:.6}.ambient-plane{width:460px;height:460px;filter:blur(55px)}.homepage .flow-strip{margin-top:22px}.homepage .cap,.homepage .project,.homepage .capabilities .reveal.visible{transform:none}.homepage .hero .btn.primary{transform:none}}
@media(prefers-reduced-motion:reduce){.homepage *,.homepage *:before,.homepage *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.homepage .portrait-scene,.homepage .portrait,.homepage .telemetry,.homepage .portrait-stage,.homepage .project,.homepage .cap,.homepage .capabilities .reveal.visible,.homepage .capabilities .reveal.visible:hover,.homepage .contact-action:hover,.homepage .hero .btn.primary{transform:none!important}.homepage .portrait-orbit{transform:rotate(-21deg)}.homepage .about-evolution li:before{--evolution-line:1}.homepage main>.section:before,.homepage main>.section:after{display:none}.homepage .interactive-system .node[aria-pressed=true]{transform:none}.homepage .ambient-plane{will-change:auto}.homepage .portrait,.homepage .telemetry{will-change:auto}}
.homepage.hero-outside .ambient-plane,.homepage.hero-outside .telemetry *{animation-play-state:paused!important}.homepage .interactive-system:not(.flow-in-view) .connector:after{animation-play-state:paused!important}.homepage .interactive-system .node:focus-visible{outline:2px solid var(--mint);outline-offset:4px}
