@import"https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap";html,body,#root{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar,#root::-webkit-scrollbar{display:none}:root{width:100%;height:100%;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}main.content-blurred{filter:blur(5px) brightness(.7);transform:scale(.98);pointer-events:none;-webkit-user-select:none;user-select:none;transition:all .8s cubic-bezier(.76,0,.24,1)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{--color-bg: #121212;--color-text: #f5f5f5;--color-dark: #1a1a1a;--transition-speed: .5s;--font-primary: "Space Mono", monospace;--font-size-massive: clamp(10rem, 20vw, 30rem)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);overflow:hidden}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--color-bg);font-family:var(--font-primary);font-weight:700;letter-spacing:-.02em;isolation:isolate;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.pixel-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;isolation:isolate}.pixel-row,.pixel-column{position:absolute;background:var(--color-text);opacity:.1;-webkit-transform:translateZ(0);transform:translateZ(0)}.pixel-row{height:1px;width:0%}.pixel-column{width:1px;height:0%}#top-row{top:20%}#bottom-row{bottom:20%}#left-column{left:20%}#right-column{right:20%}.block-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;isolation:isolate}.block{position:absolute;background:var(--color-dark);border:1px solid rgba(245,245,245,.1);transform-origin:center;opacity:0;will-change:transform,opacity}#block-1{top:10%;left:10%;width:15vw;height:15vw}#block-2{top:10%;right:10%;width:20vw;height:20vw}#block-3{bottom:10%;left:10%;width:20vw;height:20vw}#block-4{bottom:10%;right:10%;width:15vw;height:15vw}.counter-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:5;width:100%;isolation:isolate;-webkit-transform:translate(-50%,-50%);-webkit-backface-visibility:hidden;backface-visibility:hidden}.counter,.counter-outline{font-size:var(--font-size-massive);line-height:.8;transform:translateZ(0)}.counter{color:var(--color-text);position:relative;z-index:2}.counter-outline{color:transparent;-webkit-text-stroke:1px rgba(245,245,245,.1);position:absolute;top:6px;left:6px;width:100%;z-index:1}.text-container{position:absolute;top:2rem;left:2rem;z-index:10;isolation:isolate}.loading-text{font-size:2rem;margin-bottom:1rem;opacity:.9;transform:translateZ(0)}.system-messages{font-size:1rem;height:1.5em;overflow:hidden;opacity:.6;transform:translateZ(0)}.message{display:none}.message.active{display:block}.loading-bar-container{position:absolute;left:2rem;right:2rem;bottom:3rem;z-index:10;isolation:isolate}.loading-bar{height:3px;background:#f5f5f51a;position:relative;transform:translateZ(0)}.progress{height:100%;width:0%;background:var(--color-text);transform:translateZ(0);will-change:width}.loading-bar-markers{display:flex;justify-content:space-between;font-size:.8rem;opacity:.6;padding-top:8px;transform:translateZ(0)}.marker{position:relative;transform:translateZ(0)}.marker:before{content:"";position:absolute;top:-12px;left:50%;transform:translate(-50%);-webkit-transform:translateX(-50%);width:1px;height:5px;background:var(--color-text)}.connector-lines{position:absolute;top:0;width:100%;transform:translateZ(0)}.connector-line{position:absolute;top:-12px;height:1px;background:var(--color-text);transform-origin:left;transform:scaleX(0);transition:transform var(--transition-speed) cubic-bezier(.23,1,.32,1);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}#line-0-25{left:0%;width:25%}#line-25-50{left:25%;width:25%}#line-50-75{left:50%;width:25%}#line-75-100{left:75%;width:25%}@media (max-width: 768px){.text-container{top:1rem;left:1rem}.loading-bar-container{left:1rem;right:1rem;bottom:2rem}.loading-text{font-size:1.5rem}.system-messages{font-size:.8rem}#block-1,#block-2,#block-3,#block-4{width:25vw;height:25vw}}html,body,#root,.App{width:100%;height:100%;margin:0}.opening-wrap{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;overflow:hidden;font-family:Times New Roman,serif;color:#fff;background-color:#0c0c0c}.bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.center-text{position:relative;z-index:2;font-family:Times New Roman,serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;text-transform:uppercase;letter-spacing:.08em;line-height:1.2;text-align:center;display:grid;place-items:center}.phrase-item{grid-area:1 / 1;opacity:0}.split-half,.split-half.top,.split-half.bottom,.split-half .bg-clone,.split-half.top .bg-clone,.split-half.bottom .bg-clone{display:none}.photo-preloader-container{--color-text-primary: #f0f0f0;--color-grid-overlay: rgba(240, 240, 240, .05);--spacing-lg: 2rem;--grid-columns: 12;--grid-gap: 1rem;--z-index-overlay: 2;--z-index-preloader: 9999;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;font-family:General Sans,sans-serif;font-weight:500;letter-spacing:-.02em}.grid-container{position:fixed;width:100%;height:100%;top:0;left:0;padding:0 var(--spacing-lg);display:grid;grid-template-columns:repeat(var(--grid-columns),1fr);grid-column-gap:var(--grid-gap);pointer-events:none;z-index:var(--z-index-overlay)}.grid-column{height:0;background-color:var(--color-grid-overlay);pointer-events:none}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:transparent;display:flex;justify-content:center;align-items:center;z-index:var(--z-index-preloader);flex-direction:column}.preloader__content{position:relative;width:clamp(320px,40vw,700px);aspect-ratio:450 / 280;overflow:hidden;will-change:transform,filter}.preloader__text-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:.5rem;z-index:var(--z-index-preloader);color:#fff;font-size:2rem;font-weight:500;filter:blur(0px);will-change:transform,filter}@media (max-width: 900px){.preloader__text-container{top:0;left:0;width:100%;height:100%;transform:none;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40vh 0}}.preloader__text-cosmic,.preloader__text-reflections{will-change:transform,color}.preloader__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(.05);transform-origin:center center}.preloader__content{will-change:transform,filter}.preloader__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#2c3e504d;z-index:2}:root{--color-bg1: rgb(0, 0, 0);--color-bg2: rgb(0, 0, 0);--color1: 220, 220, 230;--color2: 20, 40, 70;--color3: 180, 180, 190;--color4: 30, 60, 100;--color5: 200, 200, 210;--color-interactive: 200, 200, 255;--circle-size: 60%;--blending: screen}@keyframes moveInCircle{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}@keyframes moveVertical{0%{transform:translateY(-50%)}50%{transform:translateY(50%)}to{transform:translateY(-50%)}}@keyframes moveHorizontal{0%{transform:translate(-50%) translateY(-10%)}50%{transform:translate(50%) translateY(10%)}to{transform:translate(-50%) translateY(-10%)}}.gradient-bg{width:100%;height:100%;position:absolute;overflow:hidden;background:linear-gradient(40deg,var(--color-bg1),var(--color-bg2));top:0;left:0}.gradient-bg svg{display:none}.gradient-bg .gradients-container{filter:url(#goo) blur(40px);width:100%;height:100%}.gradient-bg .g1,.g2,.g3,.g4,.g5,.interactive{position:absolute;mix-blend-mode:var(--blending);opacity:1}.g1{background:radial-gradient(circle at center,rgba(var(--color1),.8) 0,rgba(var(--color1),0) 50%) no-repeat;width:var(--circle-size);height:var(--circle-size);top:calc(50% - var(--circle-size) / 2);left:calc(50% - var(--circle-size) / 2);transform-origin:center center;animation:moveVertical 30s ease infinite}.g2{background:radial-gradient(circle at center,rgba(var(--color2),.8) 0,rgba(var(--color2),0) 50%) no-repeat;width:var(--circle-size);height:var(--circle-size);top:calc(50% - var(--circle-size) / 2);left:calc(50% - var(--circle-size) / 2);transform-origin:calc(50% - 400px);animation:moveInCircle 20s reverse infinite}.g3{background:radial-gradient(circle at center,rgba(var(--color3),.8) 0,rgba(var(--color3),0) 50%) no-repeat;width:var(--circle-size);height:var(--circle-size);top:calc(50% - var(--circle-size) / 2 + 200px);left:calc(50% - var(--circle-size) / 2 - 500px);transform-origin:calc(50% + 400px);animation:moveInCircle 40s linear infinite}.g4{background:radial-gradient(circle at center,rgba(var(--color4),.8) 0,rgba(var(--color4),0) 50%) no-repeat;width:calc(var(--circle-size));height:var(--circle-size);top:calc(50% - var(--circle-size) / 2);left:calc(50% - var(--circle-size) / 2);transform-origin:calc(50% - 200px);animation:moveHorizontal 40s ease infinite;opacity:.7}.g5{background:radial-gradient(circle at center,rgba(var(--color5),.8) 0,rgba(var(--color5),0) 50%) no-repeat;width:calc(var(--circle-size) * 2);height:calc(var(--circle-size) * 2);top:calc(50% - var(--circle-size));left:calc(50% - var(--circle-size));transform-origin:calc(50% - 800px) calc(50% + 200px);animation:moveInCircle 20s ease infinite}.interactive{background:radial-gradient(circle at center,rgba(var(--color-interactive),.8) 0,rgba(var(--color-interactive),0) 50%) no-repeat;width:100%;height:100%;top:-50%;left:-50%;opacity:.7}#glcanvas-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-100000000;display:block;pointer-events:none}body.cursor-hidden{cursor:none!important}body.cursor-hidden *:not(.cursor-blob):not(.cursor-blob *){cursor:none!important}.cursor-blob{position:fixed;top:0;left:0;width:40px;height:40px;border-radius:50%;background-color:#fff;pointer-events:none;will-change:transform;z-index:9999;mix-blend-mode:difference;isolation:isolate;transform:translateZ(0);-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.cursor-blob:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background-color:#000;mix-blend-mode:normal;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.scroll-indicator{--color-glass-bg: rgba(10, 20, 35, .6);--color-glow-bright: rgb(180, 220, 255);--color-glow-dim: rgba(180, 220, 255, .3);--font-secondary: "IBM Plex Mono", monospace;--marker-active: var(--color-glow-bright);--marker-inactive: var(--color-glow-dim);--marker-size: 8px;--track-height: 1px;position:fixed;z-index:1000;display:flex;opacity:0;transition:opacity .5s ease}.scroll-indicator--vertical{width:40px;height:75vh;top:50%;left:10px;transform:translateY(-50%)}.scroll-indicator__track{position:relative;background-color:var(--marker-inactive);width:var(--track-height);height:100%;margin-left:5px}.scroll-indicator__tooltip{position:absolute;background-color:var(--color-glass-bg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--color-glow-dim);color:var(--color-glow-bright);font-size:.75rem;border-radius:4px;padding:.3rem .5rem;font-family:var(--font-secondary);z-index:10;left:100%;top:0;transform:translateY(-50%);transition:top .1s ease-out,opacity .2s ease;margin-left:15px;pointer-events:none}.scroll-indicator__tooltip:before{content:"";position:absolute;width:.5rem;height:.5rem;background-color:inherit;border-bottom:1px solid var(--color-glow-dim);border-left:1px solid var(--color-glow-dim);top:50%;left:-.3rem;transform:translateY(-50%) rotate(45deg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.scroll-indicator__thumb{position:absolute;width:var(--marker-size);height:var(--marker-size);background-color:var(--marker-active);border-radius:50%;cursor:pointer;z-index:10;left:50%;top:0;transform:translate(-50%,-50%);transition:top .1s ease-out;box-shadow:0 0 8px var(--marker-active),0 0 16px #c8dcff80}.scroll-indicator__progress{position:absolute;background-color:var(--marker-active);top:0;left:0;width:100%;height:0;transition:height .1s ease-out;box-shadow:0 0 8px var(--marker-active)}.scroll-indicator__scale{position:absolute;width:100%;height:100%;left:0;top:0}.scroll-indicator__marker{position:absolute;background:var(--marker-inactive);transition:all .3s ease-out;height:1px;left:0;width:8px;border-radius:1px}.scroll-indicator__marker--major{width:15px}.scroll-indicator__marker--clickable{cursor:pointer}.scroll-indicator__marker--clickable:hover{background-color:var(--marker-active);box-shadow:0 0 8px var(--marker-active);width:25px}.scroll-indicator__marker--filled{background-color:var(--marker-active);box-shadow:0 0 5px var(--marker-active)}.scroll-indicator__percentage{position:absolute;left:100%;top:50%;padding-left:10px;color:var(--marker-inactive);font-family:var(--font-secondary);font-size:.7rem;white-space:nowrap;opacity:0;transform:translateY(-50%) scale(.8);transition:opacity .3s ease-out,transform .3s ease-out,color .3s ease-out}.scroll-indicator__marker--filled .scroll-indicator__percentage{color:var(--marker-active)}.scroll-indicator__percentage--visible{opacity:1;transform:translateY(-50%) scale(1)}@media (min-width: 1200px){.scroll-indicator--vertical{width:80px;left:20px}.scroll-indicator__track{margin-left:10px}.scroll-indicator__marker{width:12px}.scroll-indicator__marker--major{width:25px}.scroll-indicator__marker--clickable:hover{width:35px}.scroll-indicator__percentage{font-size:.8rem;padding-left:15px}}@media (max-width: 767px){.scroll-indicator{--marker-size: 6px}.scroll-indicator--vertical{width:30px;left:5px}.scroll-indicator__track{margin-left:3px}.scroll-indicator__tooltip{margin-left:12px}.scroll-indicator__marker{width:6px}.scroll-indicator__marker--major{width:12px}.scroll-indicator__marker--clickable:hover{width:20px}.scroll-indicator__percentage{padding-left:8px;font-size:.65rem}}.nav-menu-container{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#020617b2;z-index:5000;color:#f8fafc;display:flex;align-items:center;justify-content:center}.nav-menu-wrapper{display:flex;gap:5rem;align-items:center;justify-content:space-between;width:100%;max-width:1200px;padding:2rem}.nav-links ul{list-style:none;display:flex;flex-direction:column;gap:1rem}.nav-links li{cursor:pointer;font-family:Times New Roman,serif;font-size:clamp(3rem,7vw,5rem);font-weight:500;overflow:hidden;line-height:1.1}.nav-links li:hover{color:#d1c4e9;transition:color .3s ease}.link-title-mask span{display:inline-block}.nav-image-preview{width:960px;height:540px;position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16 / 9}.nav-image-preview img{position:absolute;width:100%;height:100%;object-fit:cover}.nav-menu-close{position:fixed;top:.8rem;right:1.5rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:background-color .3s ease;z-index:5003;pointer-events:auto}.nav-menu-close:hover{background-color:#d1c4e933}.nav-menu-close .hamburger-wrapper{width:24px;height:16px;position:relative}.nav-menu-close .hamburger-line{position:absolute;left:0;top:50%;width:100%;height:2px;background-color:#f8fafc;border-radius:2px}.nav-menu-close .hamburger-line:first-child{transform:translateY(-50%) rotate(45deg)}.nav-menu-close .hamburger-line:nth-child(2){opacity:0}.nav-menu-close .hamburger-line:last-child{transform:translateY(-50%) rotate(-45deg)}@media (max-width: 900px){.nav-menu-wrapper{flex-direction:column;justify-content:center}.nav-links{text-align:center}.nav-image-preview{display:none}}@media (min-width: 768px){.nav-menu-close{top:1rem;right:2.5rem}}@media (max-width: 767px){.nav-menu-close{top:.8rem;right:1rem}}:root{--linear-ease: linear( 0, .068, .19 2.7%, .804 8.1%, 1.037, 1.199 13.2%, 1.245, 1.27 15.8%, 1.274, 1.272 17.4%, 1.249 19.1%, .996 28%, .949, .928 33.3%, .926, .933 36.8%, 1.001 45.6%, 1.013, 1.019 50.8%, 1.018 54.4%, 1 63.1%, .995 68%, 1.001 85%, 1 )}.main-header{position:fixed;top:0;left:0;width:100%;padding:.8rem 1.5rem;box-sizing:border-box;z-index:2000;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.main-header>div,.main-header li{pointer-events:auto}.main-header ul{display:flex;align-items:center;gap:1.2em;list-style:none;padding:0;margin:0}.main-header li{padding:.6em 1.2em;border-radius:100vw;position:relative;color:#d1c4e9;cursor:pointer;white-space:nowrap;transition:all .4s ease;text-shadow:0 1px 2px rgba(0,0,0,.4);font-family:Times New Roman,serif;letter-spacing:.05em;font-size:.8rem}.main-header .header-left li{padding:0}.main-header a{color:inherit;text-decoration:none;display:block}.main-header li.active{color:#311b92;text-shadow:none;transition:color 1.8s var(--linear-ease) .2s;font-family:Times New Roman,serif;letter-spacing:.05em}.header__title{color:inherit;padding:.6em 1.2em}.main-header .effect{position:fixed;left:0;top:0;width:0px;height:0px;opacity:1;pointer-events:none;display:grid;place-items:center;z-index:1}.effect.text,.effect.text.active{color:#311b92;z-index:3;transition:color 1.8s var(--linear-ease) .2s;font-size:.8rem}.effect.text.hidden{opacity:0}.effect.filter{filter:blur(7px) contrast(20);mix-blend-mode:lighten;z-index:2}.effect.filter:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#d1c4e9;scale:0;opacity:0;z-index:-1;border-radius:100vw}.effect.filter.active:after{animation:pill 2s var(--linear-ease) .2s both}.particle,.point{display:block;opacity:0;border-radius:100%;transform-origin:center}.particle{width:20px;height:20px;position:absolute;top:calc(50% - 10px);left:calc(50% - 10px);animation:particle calc(var(--time)) ease 1 -.35s}.point{width:100%;height:100%;background:var(--color);opacity:1;animation:point calc(var(--time)) ease 1 -.35s}.menu-toggle{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:background-color .3s ease;z-index:6000;position:relative;pointer-events:auto;background-color:#0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-toggle:hover{background-color:#d1c4e933}.hamburger-wrapper{width:24px;height:16px;position:relative}.hamburger-line{position:absolute;left:0;width:100%;height:2px;background-color:#d1c4e9;border-radius:2px;transition:transform .3s ease-in-out,top .3s ease-in-out,opacity .3s ease-in-out}.hamburger-line:first-child{top:0}.hamburger-line:nth-child(2){top:50%;transform:translateY(-50%)}.hamburger-line:last-child{top:100%;transform:translateY(-100%)}.menu-toggle.is-open .hamburger-line:first-child{top:50%;transform:translateY(-50%) rotate(45deg)}.menu-toggle.is-open .hamburger-line:nth-child(2){opacity:0}.menu-toggle.is-open .hamburger-line:last-child{top:50%;transform:translateY(-50%) rotate(-45deg)}@keyframes particle{0%{transform:rotate(0) translate(var(--start-x),var(--start-y));opacity:1;animation-timing-function:cubic-bezier(.55,.055,.675,.19)}70%{transform:rotate(calc(var(--rotate) * .5)) translate(calc(var(--end-x) * 1.2),calc(var(--end-y) * 1.2));opacity:1;animation-timing-function:ease}85%{transform:rotate(calc(var(--rotate) * .66)) translate(calc(var(--end-x) * 1),calc(var(--end-y) * 1));opacity:1}to{transform:rotate(calc(var(--rotate) * 1.2)) translate(calc(var(--end-x) * .5),calc(var(--end-y) * .5));opacity:1}}@keyframes point{0%{scale:0;opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45)}25%{scale:calc(var(--scale) * .25)}38%{opacity:1}65%{scale:var(--scale);opacity:1;animation-timing-function:ease}85%{scale:var(--scale);opacity:1}to{scale:0;opacity:0}}@keyframes pill{to{scale:1;opacity:1}}@media (max-width: 767px){.main-header .header-right{display:none}.menu-toggle{display:flex}}@media (min-width: 768px){.main-header .header-left{min-width:20rem;text-align:left}.main-header{padding:1rem 6rem 1rem 2.5rem}.main-header li,.effect.text,.effect.text.active{font-size:1.05rem}.main-header{padding:1rem 2.5rem}.main-header ul{gap:1.8em}.main-header li{font-size:1.05rem}.menu-toggle{display:none}}@media (min-width: 900px){.menu-toggle{display:flex}}@media (min-width: 1200px){.main-header li,.effect.text,.effect.text.active{font-size:1.15rem}}.hero-container{display:flex;justify-content:center;align-items:center;height:100vh;text-align:center;overflow:hidden;padding:0 1rem}.hero-content{z-index:10;position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(1.5rem,4vh,3rem)}.hero-title{font-family:Times New Roman,serif;font-size:clamp(2.5rem,8vw,7rem);font-weight:500;letter-spacing:.05em;margin:0;text-shadow:0 0 15px rgba(200,180,255,.4),0 0 30px rgba(200,180,255,.3)}.hero-subtitle{font-family:Times New Roman,serif;font-size:clamp(.9rem,4vw,1.75rem);font-weight:400;letter-spacing:.05em;margin:0;margin-top:1rem;opacity:.9;text-shadow:0 0 10px rgba(200,180,255,.3);max-width:90%}@media (max-width: 480px){.hero-title{font-size:clamp(2rem,15vw,3rem);letter-spacing:.02em}.hero-subtitle{font-size:clamp(.8rem,4.5vw,1rem);max-width:100%}}@property --hero-purple-x{syntax: "<percentage>"; initial-value: 50%; inherits: false;}@property --hero-purple-y{syntax: "<percentage>"; initial-value: 50%; inherits: false;}@property --hero-red-x{syntax: "<percentage>"; initial-value: 50%; inherits: false;}@property --hero-red-y{syntax: "<percentage>"; initial-value: 50%; inherits: false;}@property --hero-orange-x{syntax: "<percentage>"; initial-value: 50%; inherits: false;}@property --hero-orange-y{syntax: "<percentage>"; initial-value: 50%; inherits: false;}@property --hero-green-x{syntax: "<percentage>"; initial-value: 50%; inherits: false;}@property --hero-green-y{syntax: "<percentage>"; initial-value: 50%; inherits: false;}@property --hero-yellow-x{syntax: "<percentage>"; initial-value: 50%; inherits: false;}@property --hero-yellow-y{syntax: "<percentage>"; initial-value: 50%; inherits: false;}@property --hero-angle-1{syntax: "<angle>"; inherits: false; initial-value: -75deg;}@property --hero-angle-2{syntax: "<angle>"; inherits: false; initial-value: -45deg;}.hero-links-container{display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative;margin-top:3rem;isolation:isolate;z-index:10}.hero-links-row{display:flex;gap:.75rem}.btn-resume{padding:.8rem 2rem;font-size:1rem;font-family:Times New Roman,serif;border:none;border-radius:999px;position:relative;color:#fff;background:#000;isolation:isolate;overflow:clip;z-index:0;display:flex;align-items:center;gap:.5rem;transition:transform .2s ease;-webkit-transform:translateZ(0);transform:translateZ(0)}.btn-resume:hover{--after-opacity: 1;transform:scale(1.05) translateZ(0);-webkit-transform:scale(1.05) translateZ(0)}.btn-resume:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;border-radius:inherit;background-image:radial-gradient(circle at var(--hero-blue-x, 50%) var(--hero-blue-y, 50%),#18346d 5%,transparent 30%),radial-gradient(circle at var(--hero-purple-x, 50%) var(--hero-purple-y, 50%),purple 5%,transparent 30%),radial-gradient(circle at var(--hero-red-x, 50%) var(--hero-red-y, 50%),red 5%,transparent 30%),radial-gradient(circle at var(--hero-orange-x, 50%) var(--hero-orange-y, 50%),orange 5%,transparent 30%),radial-gradient(circle at var(--hero-green-x, 50%) var(--hero-green-y, 50%),green 5%,transparent 30%),radial-gradient(circle at var(--hero-yellow-x, 50%) var(--hero-yellow-y, 50%),yellow 5%,transparent 30%);background-size:200% 200%;background-repeat:no-repeat;animation:moveGradients 10s linear infinite}.btn-resume:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:inherit;background:#000;z-index:-1;backdrop-filter:blur(var(--after-blur, 3px));-webkit-backdrop-filter:blur(var(--after-blur, 3px));transition:opacity .5s ease-in-out;opacity:var(--after-opacity, 0)}.button-wrap{position:relative;z-index:2;border-radius:12px;background:transparent;pointer-events:none;transition:all .4s cubic-bezier(.25,1,.5,1);isolation:isolate}.button-wrap:has(button:active),.button-wrap:has(a:active){transform:rotateX(15deg);-webkit-transform:rotate3d(1,0,0,15deg)}.btn-icon{--border-width: 1px;all:unset;cursor:pointer;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0);pointer-events:auto;z-index:3;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(-75deg,#ffffff0d,#fff3,#ffffff0d);border-radius:12px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:all .4s cubic-bezier(.25,1,.5,1);box-shadow:inset 0 .125em .125em #0000000d,inset 0 -.125em .125em #ffffff80,0 .25em .125em -.125em #0003,0 0 .1em .25em inset #fff3,0 0 #fff;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform}.btn-icon:hover{transform:scale(.975) translateZ(0);-webkit-transform:scale(.975) translateZ(0);box-shadow:inset 0 .125em .125em #0000000d,inset 0 -.125em .125em #ffffff80,0 .15em .05em -.1em #00000040,0 0 .05em .1em inset #ffffff80,0 0 #fff}.btn-icon span{font-family:Times New Roman,serif;font-size:.8rem;font-weight:500;color:#e6e6e6;text-shadow:0em .25em .05em rgba(0,0,0,.1)}.btn-icon>svg{width:20px;height:20px;color:#e6e6e6}.btn-icon:after{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;border-radius:12px;width:calc(100% + var(--border-width));height:calc(100% + var(--border-width));top:calc(0% - var(--border-width) / 2);left:calc(0% - var(--border-width) / 2);padding:var(--border-width);box-sizing:border-box;background:conic-gradient(from var(--hero-angle-1) at 50% 50%,rgba(0,0,0,.5),rgba(0,0,0,0) 5% 40%,rgba(0,0,0,.5) 50%,rgba(0,0,0,0) 60% 95%,rgba(0,0,0,.5)),linear-gradient(180deg,#ffffff80,#ffffff80);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask-composite:xor;transition:all .4s cubic-bezier(.25,1,.5,1),--hero-angle-1 .5s ease;box-shadow:inset 0 0 0 calc(var(--border-width) / 2) #ffffff80}.btn-icon:hover:after{--hero-angle-1: -125deg}.btn-contact-me{width:auto;padding-left:1.2rem;padding-right:1.2rem;white-space:nowrap}@keyframes moveGradients{0%,to{--hero-blue-x: -40%;--hero-blue-y: 35%;--hero-purple-x: 35%;--hero-purple-y: -10%;--hero-red-x: -10%;--hero-red-y: -80%;--hero-orange-x: 50%;--hero-orange-y: 145%;--hero-green-x: 0%;--hero-green-y: 80%;--hero-yellow-x: 35%;--hero-yellow-y: 95%}25%{--hero-blue-x: 30%;--hero-blue-y: -25%;--hero-purple-x: 5%;--hero-purple-y: 40%;--hero-red-x: 45%;--hero-red-y: 150%;--hero-orange-x: -15%;--hero-orange-y: 30%;--hero-green-x: 45%;--hero-green-y: 15%;--hero-yellow-x: -20%;--hero-yellow-y: -40%}50%{--hero-blue-x: 70%;--hero-blue-y: 50%;--hero-purple-x: 50%;--hero-purple-y: 120%;--hero-red-x: 35%;--hero-red-y: -80%;--hero-orange-x: 75%;--hero-orange-y: -75%;--hero-green-x: 85%;--hero-green-y: 100%;--hero-yellow-x: 50%;--hero-yellow-y: -20%}75%{--hero-blue-x: -25%;--hero-blue-y: 10%;--hero-purple-x: 35%;--hero-purple-y: -45%;--hero-red-x: -10%;--hero-red-y: 30%;--hero-orange-x: 20%;--hero-orange-y: -40%;--hero-green-x: -15%;--hero-green-y: 50%;--hero-yellow-x: 45%;--hero-yellow-y: -15%}}@media (min-width: 768px){.hero-links-container{margin-top:5rem;gap:1.25rem}.hero-links-row{gap:1rem}.btn-resume{padding:1rem 2.5rem;font-size:1.1rem}.btn-icon{width:50px;height:50px}.btn-icon span{font-size:.9rem}.btn-icon>svg{width:24px;height:24px}.btn-contact-me{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1200px){.hero-links-container{margin-top:6rem}}.about-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:5rem 1rem;color:#e0e0e0;box-sizing:border-box}.about-container h2{font-family:Times New Roman,serif;font-size:clamp(2rem,10vw,5rem);text-shadow:0 0 15px rgba(200,180,255,.4);margin-bottom:2rem}.about-content{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;width:90%}.about-description{font-family:Times New Roman,serif;font-size:clamp(1rem,3.5vw,1.5rem);line-height:1.6;text-align:center;margin:0;opacity:.9}@media (max-width: 480px){.about-container{padding:4rem 1rem}.about-container h2{font-size:clamp(2rem,12vw,2.5rem)}.about-description{font-size:clamp(.9rem,4vw,1rem)}}.timeline-section-container{display:block;width:100%;min-height:100vh;padding:5rem 2rem;position:relative;color:#f8f5f2}.timeline-content-wrapper{width:100%;max-width:1000px;margin:0 auto;position:relative;z-index:10}#background-image-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}#background-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.timeline-container{width:100%;position:relative;z-index:10;max-height:80vh;max-width:80vw;margin:0 auto;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.timeline-container::-webkit-scrollbar{display:none}.timeline-item{position:relative;display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid rgba(248,245,242,.1);cursor:pointer;color:#f8f5f2;text-transform:uppercase;letter-spacing:-.03em}.timeline-title,.timeline-year{font-family:Times New Roman,serif;font-size:clamp(1.2rem,5vw,2.5rem);font-weight:500;position:relative;z-index:2;mix-blend-mode:exclusion}.timeline-item:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:0;background-color:#f8f5f2;z-index:1;pointer-events:none;transition:height .3s cubic-bezier(.445,.05,.55,.95)}.timeline-item:hover:before{height:100%}@media (max-width: 768px){.timeline-container{max-width:60vw}.timeline-title,.timeline-year{font-size:1rem}}@media (max-width: 480px){.timeline-item{gap:.4rem}}.skills-section-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;width:100%;padding:5rem 2rem;box-sizing:border-box;color:#f8f5f2;overflow:hidden}.skills-main-title{font-family:Times New Roman,serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#f8f5f2;margin-bottom:3rem;text-align:center;text-shadow:0 0 15px rgba(255,255,255,.2)}.skills-content-wrapper{display:flex;flex-direction:column;align-items:center;gap:0rem;width:100%;max-width:1600px}.skill-description-display{width:100%;min-height:180px;padding:1.5rem 2rem;border-radius:16px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.skill-description-display:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;opacity:.5;animation:scanline 20s linear infinite}@keyframes scanline{0%{background-position-y:0}to{background-position-y:100px}}.description-content{width:100%}.skill-title{font-family:Times New Roman,serif;font-size:clamp(1.2rem,3vw,2rem);font-weight:600;color:#f8cb38;margin:0 0 .75rem;text-transform:uppercase}.skill-text{font-family:Times New Roman,serif;font-size:clamp(.9rem,2vw,1.25rem);line-height:1.7;color:#f8f5f2d9;max-width:60ch;margin:0 auto}.skill-prompt{font-family:Times New Roman,serif;font-size:clamp(.9rem,2vw,1.25rem);color:#f8f5f299;font-style:italic}.skills-spline-container{width:100%;max-width:1400px;aspect-ratio:16 / 9;border-radius:20px;overflow:hidden;background:transparent;cursor:grab}.skills-spline-container:active{cursor:grabbing}.skills-text-content,.skill-category{display:none}@media (max-width: 768px){.skills-main-title{font-size:clamp(2rem,8vw,2.5rem);margin-bottom:1rem}.skills-content-wrapper{gap:0rem}.skills-spline-container{max-width:800px;aspect-ratio:4 / 3}.skill-description-display{min-height:140px;padding:1.25rem}}.projects-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:5rem 2rem;color:#fff;box-sizing:border-box;position:relative;font-family:time new roman,serif}.projects-container.modal-active{z-index:2000}.projects-container:root,.projects-container{--gap: 8px;--base: clamp(2rem, 8cqi, 80px);--easing: linear( 0 0%, .1538 4.09%, .2926 8.29%, .4173 12.63%, .5282 17.12%, .6255 21.77%, .7099 26.61%, .782 31.67%, .8425 37%, .8887 42.23%, .9257 47.79%, .9543 53.78%, .9752 60.32%, .9883 67.11%, .9961 75%, 1 100% );--speed: .6s;--neon-white: rgba(255, 255, 255, .8);--neon-light-grey: rgba(209, 213, 219, .8);--neon-dark-grey: rgba(156, 163, 175, .8)}.projects-container article h3,.projects-container article p{opacity:0;transition:opacity calc(var(--speed, .6s) * .8) var(--easing, ease)}.projects-container article svg{opacity:.6;transition:opacity calc(var(--speed, .6s) * 1.2) var(--easing, ease);z-index:25}.projects-container article img{position:absolute;pointer-events:none;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;mask:radial-gradient(100% 100% at 100% 0,#fff,#0000);z-index:2;filter:grayscale(1) brightness(.4);scale:1.1;opacity:0;transition:filter calc(var(--speed, .6s) * 1.2) var(--easing, ease),scale calc(var(--speed, .6s) * 1.2) var(--easing, ease),opacity calc(var(--speed, .6s) * 1.2) var(--easing, ease)}.projects-container [data-active=true] :is(p,h3,svg){opacity:1}.projects-container [data-active=true] :is(p,h3){transition-delay:calc(var(--speed, .3s))}.projects-container [data-active=true] article img{filter:grayscale(0) brightness(.8);scale:1;opacity:1;transition-delay:calc(var(--speed, .3s))}.projects-container article{width:calc(var(--article-width, 80) * 1px);height:100%;position:absolute;top:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;gap:1rem;padding-inline:calc(var(--base, 2rem) * .5 - 9px);padding-bottom:1rem;overflow:hidden;background:#0a0a0a99;z-index:10}.projects-container article h3{position:absolute;top:1rem;left:calc(var(--base, 2rem) * .5);transform-origin:0 50%;rotate:90deg;font-size:1rem;font-weight:300;text-transform:uppercase;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.5);z-index:30;font-family:times new roman,serif;white-space:nowrap;margin:0}.projects-container article svg{width:18px;fill:none;stroke:#fff;filter:drop-shadow(0 0 5px rgba(255,255,255,.3));position:relative}.projects-container article p{font-size:clamp(.7rem,1.2vw,1rem);text-wrap:balance;line-height:1.25;color:#e5e7eb;font-weight:300;z-index:25;padding:.5rem;border-radius:4px}.projects-container li:not([data-active=true]) article{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:0}.projects-container li:not([data-active=true]) article svg{width:24px;height:24px;position:static}.projects-container li:not([data-active=true]) .view-project-btn,.projects-container li:not([data-active=true]) .edit-btn,.projects-container li:not([data-active=true]) .progress-info,.projects-container li:not([data-active=true]) .coming-soon-overlay{opacity:0;pointer-events:none}.view-project-btn{color:#f9fafb;background:#1f2937e6;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 10px #ffffff1a;position:absolute;top:1rem;right:1rem;height:auto;line-height:1;border-radius:4px;writing-mode:vertical-rl;text-orientation:mixed;font-family:times new roman,serif;font-size:14px;font-weight:500;letter-spacing:1px;text-transform:uppercase;padding:8px 4px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease;cursor:pointer;z-index:35}.view-project-btn:hover{background:#ffffff1a;border-color:#fff9;box-shadow:0 0 15px #fff3;transform:scale(1.05)}.edit-btn{background:#6b728033;border:1px solid rgba(156,163,175,.4);position:absolute;top:1rem;right:3rem;width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:35}.edit-btn svg{width:16px;height:16px;stroke:#d1d5db}.edit-btn:hover{background:#9ca3af4d;border-color:#d1d5dbcc;box-shadow:0 0 15px #d1d5db33;transform:scale(1.05)}.progress-info{background:#0009;position:absolute;bottom:1rem;right:1rem;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;z-index:30;padding:.5rem;border-radius:4px}.progress-info .phase{font-size:clamp(.6rem,.8vw,.7rem);color:#e5e7ebcc;font-weight:500;letter-spacing:1px;text-transform:uppercase}.progress-info .percentage{font-size:clamp(1rem,1.5vw,1.2rem);color:#fff;font-weight:600;text-shadow:0 0 10px rgba(255,255,255,.5)}.projects-container [data-active=true] :is(.view-project-btn,.edit-btn,.progress-info){opacity:1;transition-delay:calc(var(--speed, .3s))}.coming-soon-overlay{background:#0f172af2;border:1px solid rgba(156,163,175,.3);color:#9ca3afcc;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:8px;padding:1rem 2rem;font-size:clamp(.9rem,1.2vw,1rem);text-transform:uppercase;letter-spacing:2px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:40;font-family:times new roman,serif}.projects-container li.coming-soon{opacity:.6;cursor:not-allowed}.projects-container li.coming-soon:hover{border-color:#9ca3af4d;box-shadow:none;transform:none}.progress-overlay{background:#0a0a0afa;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.21,.61,.35,1);z-index:50;border-radius:8px}.progress-overlay.active{opacity:1;visibility:visible}.progress-title{font-family:times new roman,serif;font-size:2rem;color:#f3f4f6;margin-bottom:2rem;text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px rgba(255,255,255,.3)}.progress-container{width:80%;max-width:640px;height:6px;background:#ffffff26;border-radius:2px;overflow:hidden;position:relative;margin-bottom:1.25rem}.progress-bar{height:100%;background:linear-gradient(90deg,var(--neon-white),var(--neon-light-grey));border-radius:2px;width:0%;position:relative}.progress-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:progressShimmer 1.5s infinite}@keyframes progressShimmer{0%{transform:translate(-20px)}to{transform:translate(200px)}}.progress-text{font-family:times new roman,monospace;font-size:clamp(.8rem,1vw,1.25rem);color:#f1f5f9cc;text-align:center;font-weight:300}.progress-stats{display:flex;justify-content:space-between;width:80%;max-width:480px;margin-top:1rem;font-size:clamp(.6rem,.8vw,1rem);color:#f1f5f999;font-family:times new roman,serif}.progress-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 4px);pointer-events:none;opacity:.5}.projects-container ul{display:grid;container-type:inline-size;grid-template-columns:10fr 1fr 1fr;gap:var(--gap, 8px);list-style-type:none;justify-content:center;padding:0;height:600px;margin:0 auto;width:1200px;max-width:calc(100% - 4rem);transition:grid-template-columns var(--speed, .6s) var(--easing, ease)}.projects-container li{background:#111827cc;position:relative;overflow:hidden;min-width:var(--base, 2rem);border-radius:8px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .6s cubic-bezier(.21,.61,.35,1);cursor:pointer;z-index:5}.projects-container li:hover{border-color:#ffffff4d;box-shadow:0 0 20px #ffffff1a;transform:translateY(-2px)}.projects-container li[data-active=true]{border-color:#fff6;box-shadow:0 0 30px #ffffff26}.projects-container li:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:linear-gradient(45deg,transparent 0%,var(--neon-white) 25%,var(--neon-light-grey) 50%,var(--neon-dark-grey) 75%,transparent 100%);z-index:-1;border-radius:9px;filter:blur(4px);opacity:0;transition:opacity .5s ease;background-size:300% 300%;animation:borderGlow 6s linear infinite}@keyframes borderGlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.projects-container li[data-active=true]:before{opacity:.3}@media (max-width: 1200px){.projects-container ul{width:100%;height:clamp(400px,40dvh,600px)}}@media (max-width: 768px){.projects-container{padding:3rem 1rem}.projects-container ul{width:100%;max-width:calc(100% - 2rem);height:clamp(300px,45dvh,400px);grid-template-columns:8fr 1fr 1fr}.projects-container article h3{font-size:.8rem;left:calc(var(--base, 2rem) * .3)}.projects-container article p{font-size:11px}.view-project-btn{font-size:12px;padding:6px 3px;top:.5rem;right:.5rem}.edit-btn{top:.5rem;right:2.5rem;width:28px;height:28px}.projects-container .progress-overlay .progress-title{font-size:.85rem;margin-bottom:1.5rem;padding:0 1rem;text-align:center}.projects-container .progress-overlay .progress-container{width:80%;max-width:280px;height:4px;margin-bottom:1rem}.projects-container .progress-overlay .progress-text{font-size:.75rem;color:#f1f5f9b3}.projects-container .progress-overlay .progress-stats{width:80%;max-width:280px;font-size:.6rem;margin-top:.75rem}.projects-container li[data-active=true] article p{max-width:70%}.projects-container li:not([data-active=true]) article svg{width:14px;height:14px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .4s cubic-bezier(.4,0,.2,1);padding:1rem}.modal-backdrop.visible{opacity:1}.modal-container{background:#0a0a0a;border:1px solid rgba(255,255,255,.08);border-radius:20px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #000c,0 0 0 1px #ffffff0d;transform:scale(.92) translateY(20px);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.modal-container.visible{transform:scale(1) translateY(0);opacity:1}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{display:flex;align-items:center;gap:.75rem}.modal-title-label{font-family:Inter,sans-serif;color:#ffffffb3;font-size:.875rem;font-weight:500;letter-spacing:.02em}.header-icons{display:flex;align-items:center}.close-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fff9;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;width:36px;height:36px}.close-btn:hover{color:#ffffffe6;background:#ffffff0d}.modal-body{flex:1;overflow-y:auto;padding:0}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.modal-body::-webkit-scrollbar-thumb:hover{background:#fff3}.hero-section{display:flex;gap:2rem;align-items:center;padding:2rem 2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.hero-content{flex:1}.project-title{font-family:Space Mono,monospace;font-size:2rem;font-weight:700;color:#fff;margin:0 0 1rem;line-height:1.2;background:linear-gradient(135deg,#fff,#e0e0e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-description{font-family:Inter,sans-serif;font-size:.95rem;color:#fffc;line-height:1.6;margin-bottom:1.5rem;font-weight:400}.action-buttons{display:flex;gap:.75rem}.action-btn{display:flex;align-items:center;gap:.5rem;font-family:Inter,sans-serif;padding:.75rem 1.25rem;border-radius:10px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent;text-decoration:none}.action-btn.primary{background:#fff;color:#0a0a0a;border-color:#fff}.action-btn.primary:hover{background:#ffffffe6;transform:translateY(-1px);box-shadow:0 8px 25px #ffffff26}.action-btn.secondary{background:#ffffff0d;color:#ffffffe6;border-color:#ffffff1a}.action-btn.secondary:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.hero-image{flex-basis:40%;position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/10}.hero-image img{width:100%;height:100%;object-fit:cover}.image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#0000001a);border:1px solid rgba(255,255,255,.1);border-radius:16px}.tech-section{padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.06)}.section-title{font-family:Space Mono,monospace;font-size:1.125rem;font-weight:600;color:#fff;margin:0 0 1rem;text-align:center}.tech-dock{display:flex;justify-content:center;align-items:end;gap:.5rem;padding:1rem 0;background:#ffffff05;border-radius:20px;border:1px solid rgba(255,255,255,.05);margin:0 auto;max-width:fit-content;padding:1rem 1.5rem}.tech-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center bottom}.tech-icon:hover{background:#ffffff1a;border-color:#fff3}.tech-icon img{width:24px;height:24px;transition:all .3s ease}.content-grid{display:grid;gap:1.5rem;padding:2rem;grid-template-columns:1fr}.content-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:1.5rem;transition:all .3s ease}.content-card:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translateY(-2px)}.content-card h3{font-family:Space Mono,monospace;font-size:1rem;font-weight:600;color:#fff;margin:0 0 1rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.content-card p{font-family:Inter,sans-serif;color:#fffc;line-height:1.6;font-size:.9rem;margin:0}.findings-list{display:flex;flex-direction:column;gap:.75rem}.finding-item{display:flex;align-items:flex-start;gap:.75rem;font-family:Inter,sans-serif;color:#fffc;font-size:.9rem;line-height:1.5}.finding-icon{color:#fff;font-weight:600;margin-top:.1rem;flex-shrink:0}.features-section{padding:1.5rem 2rem 2rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-top:1rem}.feature-card{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;transition:all .3s ease}.feature-card:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translate(4px)}.feature-icon{display:flex;align-items:center;justify-content:center;width:8px;height:8px;flex-shrink:0}.icon-dot{width:6px;height:6px;background:#fff;border-radius:50%}.feature-text{font-family:Inter,sans-serif;color:#ffffffd9;font-size:.85rem;line-height:1.4;font-weight:400}@media (max-width: 768px){.modal-backdrop{padding:.5rem}.modal-container{max-height:90vh;max-width:90vw;border-radius:16px}.modal-header{padding:1rem 1.25rem}.hero-section{flex-direction:column;padding:1.5rem;gap:1.5rem}.hero-image{flex-basis:auto;width:100%;aspect-ratio:16/9}.project-title{font-size:1.5rem}.project-description{font-size:.9rem}.action-buttons{flex-direction:column;gap:.5rem}.action-btn{justify-content:center;width:100%}.tech-section{padding:1.25rem}.tech-dock{gap:.375rem;padding:.75rem 1rem}.tech-icon{width:40px;height:40px}.tech-icon img{width:20px;height:20px}.content-grid{grid-template-columns:1fr;padding:1.5rem;gap:1rem}.content-card{padding:1.25rem}.content-card h3{font-size:1rem}.content-card p{font-size:.8rem}.features-section{padding:1.25rem}.features-grid{grid-template-columns:1fr;gap:.5rem}.feature-card{padding:.75rem}.feature-text{font-size:.8rem}}@media (max-width: 480px){.modal-backdrop{padding:.25rem}.modal-container{max-height:90vh;border-radius:12px}.hero-section{padding:1rem}.project-title{font-size:1.25rem}.tech-section,.content-grid,.features-section{padding:1rem}}@property --x{syntax: "<number>"; inherits: true; initial-value: 0;}@property --y{syntax: "<number>"; inherits: true; initial-value: 0;}@property --start{syntax: "<number>"; inherits: true; initial-value: 0;}:root{--color: hsl(240 18% 80%);--border: hsl(280 10% 50% / 1);--border-width: 2px;--border-radius: 12px}.contact-section-container{min-height:100vh;width:100%;box-sizing:border-box;color:var(--color);font-family:Geist Sans,Times New Roman,sans-serif;display:flex;align-items:center;justify-content:center;padding:4rem 1rem;overflow-x:hidden}.contact-wrapper{position:relative;width:100%;max-width:90vw;display:grid;grid-template-columns:1fr;gap:5rem;align-items:center}.contact-card{--active: 0;--spread: 60;width:100%;position:relative;padding:2rem;border-radius:var(--border-radius);border:var(--border-width) solid transparent;background-color:#26262640;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.glows{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;filter:blur(20px)}.glows:after,.glows:before{--alpha: 0;content:"";background:conic-gradient(from calc((var(--start) - (var(--spread) * .5)) * 1deg),#0000,#fff,#0000 calc(var(--spread) * 1deg));background-attachment:fixed;position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:10px solid transparent;border-radius:var(--border-radius);mask:linear-gradient(#0000,#0000),conic-gradient(from calc((var(--start) - (var(--spread) * .5)) * 1deg),#000 0deg,#fff,#0000 calc(var(--spread) * 1deg));-webkit-mask-composite:source-in;mask-composite:intersect;mask-clip:padding-box,border-box;opacity:var(--active);transition:opacity 1s}.contact-card:before{position:absolute;top:0;right:0;bottom:0;left:0;border:var(--border-width) solid transparent;content:"";border-radius:var(--border-radius);pointer-events:none;background:var(--border);background-attachment:fixed;mask:linear-gradient(#0000,#0000),conic-gradient(from calc(((var(--start) + (var(--spread) * .25)) - (var(--spread) * 1.5)) * 1deg),hsl(0 0% 100% / .15) 0deg,white,hsl(0 0% 100% / .15) calc(var(--spread) * 2.5deg));mask-clip:padding-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect;opacity:var(--active);transition:opacity 1s}.contact-form h2{font-weight:200;font-size:1.8rem;margin-bottom:.5rem;color:#fff}.form-description{font-weight:60;font-size:.9rem;color:#ccc;margin-bottom:2rem}.form-description-link{color:#a0c4ff;text-decoration:none;border-bottom:1px dotted #a0c4ff}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:100;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:.85rem;border:1px solid hsl(280 10% 50% / .5);background-color:#10112380;color:#fff;font-family:inherit;font-size:1rem;transition:all .3s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:8px}.form-group textarea{resize:vertical;min-height:120px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#a0c4ff;box-shadow:0 0 0 3px #99ccff4d}.btn-glitch{font-size:1.1rem;all:unset;box-sizing:border-box;width:100%;background-color:#040a1a;background-image:url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='20' height='40' patternTransform='scale(2) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='hsla(224, 73%, 6%, 1)'/><path d='M0 30h20L10 50zm-10-20h20L0 30zm20 0h20L20 30zM0-10h20L10 10z'  stroke-width='2' stroke='hsla(224, 59%, 18%, 0.6)' fill='none'/></pattern></defs><rect width='800%' height='800%' transform='translate(0,0)' fill='url(%23a)'/></svg>");border:4px solid #252e45;border-radius:10px;color:#fff;cursor:pointer;font-family:Geist Sans,sans-serif;font-weight:700;padding:.75rem 1.5rem;text-transform:uppercase;transform:skew(-15deg);text-align:center}.photo-display-container{perspective:2500px;display:flex;justify-content:center;align-items:center;min-height:400px}.carousel-container{position:relative;width:250px;height:400px;transform-style:preserve-3d;cursor:grab;transform:scale(.9)}.carousel-container:active{cursor:grabbing}.carousel-stage{width:100%;height:100%;position:absolute;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.77,0,.175,1)}.carousel-item{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0000004d;background:#333;border:2px solid rgba(255,255,255,.1);-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.carousel-item.portrait{width:200px;height:300px;left:25px;top:50px}.carousel-item.landscape{width:300px;height:200px;left:-25px;top:100px}.carousel-item img{width:100%;height:100%;object-fit:cover;pointer-events:none}.carousel-nav{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);display:flex;gap:1.5rem}.nav-btn{all:unset;box-sizing:border-box;width:50px;height:50px;border-radius:50%;background:#23232d66;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0000004d;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.nav-btn svg{width:28px;height:28px;fill:#ffffffb3;transition:fill .3s ease}.nav-btn:hover:not(:disabled){background:#37374199;border-color:#fff3;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 30px #0006}.nav-btn:hover:not(:disabled) svg{fill:#fff}.nav-btn:active:not(:disabled){transform:translateY(0) scale(1);box-shadow:0 4px 20px #0000004d}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.image-compare-slider{position:relative;width:100%;height:100%;overflow:hidden;cursor:ew-resize;-webkit-user-select:none;user-select:none}.compare-image-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.compare-image-wrapper img{width:100%;height:100%;object-fit:cover;pointer-events:none}.compare-image-wrapper.before img{filter:grayscale(1)}.compare-image-wrapper.after{filter:none}.compare-slider-handle{position:absolute;top:0;bottom:0;width:3px;background:#ffffffb3;transform:translate(-50%);pointer-events:none;box-shadow:0 0 8px #00000080}@media (min-width: 768px){.carousel-container{transform:scale(1.1)}.photo-display-container{min-height:500px}}@media (min-width: 1024px){.contact-wrapper{grid-template-columns:1.5fr 1fr;max-width:90vw;gap:4rem}.photo-display-container{min-height:600px}.carousel-container{transform:scale(1.4)}}.svg-filters{position:fixed;top:100vh;width:0;height:0;pointer-events:none}.footer-container{position:relative;width:100%;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(102,126,234,.2);color:#f8f5f2;font-family:Times New Roman,serif;overflow:hidden;min-height:280px}.bubbles-layer{position:absolute;top:0;left:0;right:0;height:120%;filter:url(#blob);z-index:1}.bubble{position:absolute;left:var(--position, 50%);background:linear-gradient(135deg,#667eea,#764ba2);border-radius:100%;animation:bubble-size var(--time, 4s) ease-in-out infinite var(--delay, 0s),bubble-move var(--time, 4s) ease-in-out infinite var(--delay, 0s)}@keyframes bubble-size{0%,70%{width:var(--size, 2rem);height:var(--size, 2rem);opacity:.8}to{width:0;height:0;opacity:0}}@keyframes bubble-move{0%{bottom:-2rem}to{bottom:var(--distance, 12rem)}}.footer-content{position:relative;z-index:2;padding:2.5rem 2rem 1.5rem;max-width:1200px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;align-items:start;margin-bottom:2rem}.footer-left{display:flex;flex-direction:column}.footer-brand h3{font-size:1.8rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.footer-brand p{color:#f8f5f2b3;font-size:.95rem;margin:0;font-weight:400}.footer-center h4{font-size:1.1rem;font-weight:600;margin:0 0 1.2rem;color:#f8f5f2}.quick-links{display:flex;flex-direction:column;gap:.8rem}.quick-link{color:#f8f5f2b3;text-decoration:none;font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;padding-left:0}.quick-link:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:0;height:1px;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease}.quick-link:hover{color:#667eea;transform:translate(8px)}.quick-link:hover:before{width:8px}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:1.5rem}.social-links{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:flex-end}.social-link{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:#f8f5f20f;color:#f8f5f2b3;text-decoration:none;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(248,245,242,.08);font-size:1.1rem;position:relative;overflow:hidden}.social-link:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea,#764ba2);opacity:0;transition:opacity .3s ease;z-index:-1}.social-link:hover:before{opacity:1}.social-link:hover{color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #667eea40;border-color:transparent}.interaction-stats{display:flex;flex-direction:column;align-items:flex-end;gap:1.5rem;text-align:right}.stat-group{display:flex;gap:2rem}.stat-item{display:flex;flex-direction:column;align-items:flex-end}.stat-label{font-size:.7rem;color:#f8f5f280;margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.8px;font-weight:500}.stat-value{font-size:1.6rem;font-weight:700;color:#667eea;line-height:1;min-height:1.6rem;display:flex;align-items:center;justify-content:flex-end}.loading-animation{display:flex;gap:3px;align-items:center;justify-content:flex-end}.loading-animation span{width:4px;height:4px;background:#667eea;border-radius:50%;animation:loading-pulse 1.5s infinite ease-in-out}.loading-animation span:nth-child(1){animation-delay:-.32s}.loading-animation span:nth-child(2){animation-delay:-.16s}.loading-animation span:nth-child(3){animation-delay:0s}@keyframes loading-pulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.like-feature{flex-direction:row;align-items:center;gap:.8rem;margin-top:1rem}.new-like-animation{--size: 30px;--color-primary: #e18a6d;--color-secondary: rgba(248, 245, 242, .7);--color-hearth: var(--color-secondary);--color-drop: var(--color-primary);--color-circle: rgba(248, 245, 242, .15);--size-hearth: var(--size);--size-drop: var(--size);--size-circle: calc(var(--size) * 1.33);--size-lines: calc(var(--size) * 2.66);--ratio-hearth: 1;--ratio-hearth-scale: 1;--ratio-scale: 1;--ratio-rotate: 1;--ratio-offset-drop: 1;--offset-drop: calc(var(--size) * .5);--line-length: 5;--line-offset: 35;--opacity-circle: .15;--opacity-drop: 0;--opacity-lines: 0;position:relative;width:var(--size);height:var(--size);cursor:pointer;-webkit-tap-highlight-color:transparent}.new-like-animation.liked{cursor:not-allowed;pointer-events:none}.new-like-animation .hearth,.new-like-animation .drop,.new-like-animation .circle,.new-like-animation .lines,.new-like-animation .plus-one{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.new-like-animation .hearth{width:calc(var(--size-hearth) * var(--ratio-hearth));height:calc(var(--size-hearth) / var(--ratio-hearth));transform:translate(-50%,-50%) scaleX(var(--ratio-rotate)) scale(var(--ratio-hearth-scale))}.new-like-animation .hearth path{fill:var(--color-hearth)}.new-like-animation .drop{width:var(--size-drop);height:var(--size-drop);transform:translate(-50%,calc(-50% + var(--offset-drop) * -1 * var(--ratio-offset-drop))) scaleX(var(--ratio-rotate)) scale(var(--ratio-hearth-scale));opacity:var(--opacity-drop)}.new-like-animation .drop path{fill:var(--color-drop)}.new-like-animation .circle{width:var(--size-circle);height:var(--size-circle);border-radius:9999px;background-color:var(--color-circle);opacity:var(--opacity-circle)}.new-like-animation .lines{width:var(--size-lines);height:var(--size-lines);opacity:var(--opacity-lines)}.new-like-animation .lines line{stroke-dasharray:var(--line-length) 30;stroke-dashoffset:var(--line-offset);stroke:var(--color-drop);stroke-width:2px;stroke-linecap:round}.new-like-animation .plus-one{--ratio-offset-y: 0;--ratio-offset-x: 0;--ratio-scale: 0;background-color:var(--color-primary);position:absolute;top:50%;left:50%;border-radius:9999px;transform:translate(-50%,-70%) translate(calc(var(--size) * var(--ratio-offset-x)),calc(var(--size) * -2 * var(--ratio-offset-y))) rotate(calc(-20deg * var(--ratio-offset-x))) scale(var(--ratio-scale))}.new-like-animation .plus-one:after{content:"+1";color:var(--color-secondary);font-family:Varela Round,sans-serif;font-size:calc(var(--size) * .5);padding:.25em .5em;display:block}.footer-bottom{border-top:1px solid rgba(248,245,242,.08);padding-top:1.5rem}.copyright-info{text-align:center}.copyright-info p{margin:.3rem 0;font-size:.85rem;color:#f8f5f280}.copyright-info p:first-child{color:#f8f5f2b3;font-weight:500}@media (max-width: 1024px){.footer-grid,.stat-group{gap:1.5rem}}@media (max-width: 768px){.footer-container{min-height:240px}.footer-content{padding:2rem 1.5rem 1.5rem}.footer-grid{grid-template-columns:1fr;gap:1.8rem;text-align:center}.footer-right{align-items:center}.social-links{justify-content:center;gap:1rem}.interaction-stats{align-items:center}.stat-group{justify-content:center;gap:2.5rem}.stat-item{align-items:center}.like-feature{flex-direction:column;gap:.2rem}.like-feature .stat-label{text-align:center}.quick-link:before{display:none}.quick-link:hover{transform:none}}@media (max-width: 480px){.footer-content{padding:1.5rem 1rem 1rem}.footer-grid{gap:1.5rem}.footer-brand h3{font-size:1.5rem}.social-links{gap:.8rem}.social-link{width:38px;height:38px;font-size:1rem}.stat-group{gap:2rem}.stat-value{font-size:1.4rem}.stat-label{font-size:.65rem}}
