@import "https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;500;600&display=swap";:root{--background:#03030a;--foreground:#f4f2ff;--blue:#516bff;--purple:#9b5cff;--font-main:Arial, Helvetica, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-main);margin:0;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--purple);color:#fff}body{isolation:auto!important}.portfolio-atmosphere{z-index:0;pointer-events:none;isolation:isolate;background:#03030a;position:fixed;inset:0;overflow:hidden}#intro,#presentation{background:0 0!important}#presentation .presentation-atmosphere{display:none!important}.portfolio-atmosphere{z-index:-1;pointer-events:none;position:absolute;inset:0}.ambient{filter:blur(130px);opacity:.13;border-radius:50%;width:60vw;height:60vw;position:absolute}.ambient-blue{background:#365dff;top:-35%;left:-30%}.ambient-purple{background:#7d3cff;bottom:-45%;right:-25%}.grain{opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.25'/%3E%3C/svg%3E");position:absolute;inset:0}body{isolation:isolate;background-color:#03040c;position:relative}body:before{content:"";z-index:-2;pointer-events:none;filter:blur(28px);background:radial-gradient(42% 36% at 50% 53%,#32449136,#0000 75%),radial-gradient(34% 42% at 72% 43%,#5b2a9c26,#0000 78%),radial-gradient(38% 35% at 21% 65%,#165b9d21,#0000 76%);animation:24s ease-in-out infinite alternate observatory-atmosphere;position:fixed;inset:-20%}body:after{content:"";z-index:-1;pointer-events:none;border:1px solid #7393ff13;border-radius:50%;width:140vw;min-width:1200px;height:75vw;min-height:650px;animation:36s ease-in-out infinite alternate observatory-orbit;position:fixed;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-19deg)perspective(1000px)rotateX(66deg);box-shadow:0 0 18px #5277ff0f,inset 0 0 22px #6e42c80b,0 0 85px #1e398209}html{background-color:#03040c;background-image:radial-gradient(circle at 12% 21%,#aec1ff4d 0 .7px,#0000 1.2px),radial-gradient(circle at 81% 36%,#be9aff3b 0 .6px,#0000 1.2px),radial-gradient(circle at 43% 77%,#a6d8ff38 0 .7px,#0000 1.2px);background-size:270px 310px,390px 370px,470px 430px}@keyframes observatory-atmosphere{0%{opacity:.75;transform:translate(-2%)scale(1)}to{opacity:1;transform:translate(2%,-2%)scale(1.1)}}@keyframes observatory-orbit{0%{opacity:.45;transform:translate(-50%,-50%)rotate(-19deg)perspective(1000px)rotateX(66deg)}to{opacity:.85;transform:translate(-50%,-50%)rotate(-14deg)perspective(1000px)rotateX(63deg)}}@media (prefers-reduced-motion:reduce){body:before,body:after{animation:none}}html,body{background:#03040d!important}.portfolio-atmosphere{z-index:0!important;pointer-events:none!important;background:radial-gradient(65% 70% at 15% 25%,#234bbe3d,#0000 75%),radial-gradient(60% 75% at 85% 65%,#692db43b,#0000 75%),radial-gradient(45% 55% at 50% 45%,#232d6e2e,#0000 85%),#03040d!important;width:100%!important;height:100vh!important;position:fixed!important;inset:0!important;overflow:hidden!important}.portfolio-atmosphere:before{content:"";pointer-events:none;filter:blur(55px);background:radial-gradient(35% 45% at 28% 42%,#2f69ff30,#0000 78%);animation:24s ease-in-out infinite alternate global-blue-drift;position:absolute;inset:-20%}.portfolio-atmosphere:after{content:"";pointer-events:none;filter:blur(65px);background:radial-gradient(38% 48% at 72% 58%,#7e35e62e,#0000 78%);animation:30s ease-in-out infinite alternate global-purple-drift;position:absolute;inset:-20%}body>:not(.portfolio-atmosphere){z-index:1;position:relative}#intro,#presentation,#project-orbit{background-color:#0000!important;background-image:none!important}.project-orbit__viewport{background:0 0!important;position:sticky!important;top:0!important}@keyframes global-blue-drift{0%{opacity:.75;transform:translate(-3%,1%)scale(1)}to{opacity:1;transform:translate(3%,-2%)scale(1.12)}}@keyframes global-purple-drift{0%{opacity:.7;transform:translate(3%,-2%)scale(1)}to{opacity:1;transform:translate(-3%,2%)scale(1.14)}}@media (prefers-reduced-motion:reduce){.portfolio-atmosphere:before,.portfolio-atmosphere:after{animation:none}}
