html{scroll-behavior:smooth}.hero-element img{transform-origin:center;will-change:transform}body{margin:0;font-family:Roboto,sans-serif;background-color:#000;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.scroll-indicator{animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.project-card-container{perspective:1000px}.project-card{transform-style:preserve-3d;transition:transform .1s ease-out,box-shadow .3s ease,border-color .3s ease}.coming-soon-modal{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.char{display:inline-block;transform-origin:center}.tech-stack-item{transform-origin:center}.scroll-indicator{animation:float 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.typing-char{display:inline-block;opacity:0}.waves{position:absolute;top:0;left:0;margin:0;padding:0;width:100%;height:100%;overflow:hidden}.waves:before{content:"";position:absolute;top:0;left:0;width:.5rem;height:.5rem;background:#160000;border-radius:50%;transform:translate3d(calc(var(--x, 0px) - 50%),calc(var(--y, 0px) - 50%),0);will-change:transform}.waves-canvas{display:block;width:100%;height:100%}.glass-morphism{background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px}.custom-cursor{pointer-events:none;mix-blend-mode:difference}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse-animation{animation:pulse 2s ease-in-out infinite}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.loading{opacity:.7;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-shadow-lg{text-shadow:0 10px 30px rgba(0,0,0,.8)}.glitch-text{position:relative;animation:glitch 2s infinite}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch-text:before{animation:glitch-1 .5s infinite;color:red;z-index:-1}.glitch-text:after{animation:glitch-2 .5s infinite;color:#0ff;z-index:-2}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes glitch-1{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes glitch-2{0%,to{transform:translate(0)}20%{transform:translate(2px,-2px)}40%{transform:translate(2px,2px)}60%{transform:translate(-2px,-2px)}80%{transform:translate(-2px,2px)}}.text-reveal{overflow:hidden}.text-reveal .char{display:inline-block;transform-origin:center;will-change:transform,opacity}.section-divider{transform-origin:left;will-change:transform}.particle-system{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.cinematic-overlay{background:linear-gradient(45deg,#000000e6,#000000b3);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.project-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 30px 60px #000c}.project-card img:hover{transform:scale(1.1);transition:transform .6s cubic-bezier(.25,.46,.45,.94)}@keyframes dramaticEntrance{0%{opacity:0;transform:translateY(100px) rotateX(45deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}.dramatic-entrance{animation:dramaticEntrance 2s cubic-bezier(.25,.46,.45,.94)}@keyframes cinematicScale{0%{transform:scale(.8) rotate(5deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.cinematic-scale{animation:cinematicScale 2.5s cubic-bezier(.68,-.55,.265,1.55)}.hero-title{text-shadow:0 0 10px rgba(255,255,255,.5),0 0 20px rgba(255,255,255,.3),0 0 30px rgba(255,255,255,.1)}@keyframes dramaticRotation{0%{transform:rotate(360deg) scale(.5);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.dramatic-rotation{animation:dramaticRotation 2.5s cubic-bezier(.25,.46,.45,.94)}.backdrop-blur-cinematic{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0000004d}.cinematic-border{border:1px solid;border-image:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent) 1}.smooth-scroll{scroll-behavior:smooth;scroll-padding-top:100px}.project-card:focus-within{outline:2px solid rgba(255,255,255,.5);outline-offset:4px;transform:scale(1.05)}.cinematic-loading{position:relative;overflow:hidden}.cinematic-loading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:cinematicShimmer 2s infinite}@keyframes cinematicShimmer{0%{left:-100%}to{left:100%}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple-effect{animation:ripple .6s linear}.morphing-logo{transform-origin:center;will-change:transform,box-shadow}.scene-transition{transform-origin:left;will-change:transform}.custom-cursor-glow{filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}.color-flash{animation:colorFlash .2s ease-out}@keyframes colorFlash{0%{background-color:#000}50%{background-color:#1a1a1a}to{background-color:#000}}.sculpture-3d{transform-style:preserve-3d;perspective:1000px}.micro-hover{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.micro-hover:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000004d}.leitmotif-element{animation:leitmotifPulse 4s ease-in-out infinite}@keyframes leitmotifPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.narrative-cut{transition:all .8s cubic-bezier(.25,.46,.45,.94)}.jaw-dropper{animation:jawDrop 2s cubic-bezier(.68,-.55,.265,1.55)}@keyframes jawDrop{0%{transform:scale(.3) rotate(180deg);opacity:0}50%{transform:scale(1.2) rotate(90deg);opacity:.8}to{transform:scale(1) rotate(0);opacity:1}}.beams-container,.threads-container{position:relative;width:100%;height:100%}.bubble-menu{right:2em;top:2em;display:flex;align-items:center;justify-content:flex-end;pointer-events:none;z-index:99}.bubble-menu.fixed{position:fixed}.bubble-menu.absolute{position:absolute}.bubble-menu .bubble{--bubble-size: 48px;width:var(--bubble-size);height:var(--bubble-size);border-radius:50%;background:#fff;box-shadow:0 6px 20px #00000040;display:inline-flex;align-items:center;justify-content:center;pointer-events:auto}.bubble-menu .logo-bubble,.bubble-menu .toggle-bubble{will-change:transform}.bubble-menu .logo-bubble{width:auto;min-height:var(--bubble-size);height:var(--bubble-size);padding:0 16px;border-radius:calc(var(--bubble-size) / 2);gap:8px}.bubble-menu .toggle-bubble{width:var(--bubble-size);height:var(--bubble-size)}.bubble-menu .bubble-logo{max-height:60%;max-width:100%;object-fit:contain;display:block}.bubble-menu .logo-content{--logo-max-height: 60%;--logo-max-width: 100%;display:inline-flex;align-items:center;justify-content:center;width:120px;height:100%}.bubble-menu .logo-content>.bubble-logo,.bubble-menu .logo-content>img,.bubble-menu .logo-content>svg{max-height:var(--logo-max-height);max-width:var(--logo-max-width)}.bubble-menu .menu-btn{border:none;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0}.bubble-menu .menu-line{width:26px;height:2px;background:#111;border-radius:2px;display:block;margin:0 auto;transition:transform .3s ease,opacity .3s ease;transform-origin:center}.bubble-menu .menu-line+.menu-line{margin-top:6px}.bubble-menu .menu-btn.open .menu-line:first-child{transform:translateY(4px) rotate(45deg)}.bubble-menu .menu-btn.open .menu-line:last-child{transform:translateY(-4px) rotate(-45deg)}@media (min-width: 768px){.bubble-menu .bubble{--bubble-size: 56px}.bubble-menu .logo-bubble{padding:0 16px}}.bubble-menu-items{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:98}.bubble-menu-items.fixed{position:fixed}.bubble-menu-items.absolute{position:absolute}.bubble-menu-items .pill-list{list-style:none;padding:0 24px;display:flex;flex-wrap:wrap;gap:0;row-gap:4px;width:100%;max-width:1600px;margin:0 auto;pointer-events:auto;justify-content:stretch}.bubble-menu-items .pill-list .pill-spacer{width:100%;height:0;pointer-events:none}.bubble-menu-items .pill-list .pill-col{display:flex;justify-content:center;align-items:stretch;flex:0 0 calc(100% / 3);box-sizing:border-box}.bubble-menu-items .pill-list .pill-col:nth-child(4):nth-last-child(2){margin-left:calc(100% / 6)}.bubble-menu-items .pill-list .pill-col:nth-child(4):last-child{margin-left:calc(100% / 3)}.bubble-menu-items .pill-link{--pill-bg: #ffffff;--pill-color: #111;--pill-border: rgba(0, 0, 0, .12);--item-rot: 0deg;--pill-min-h: 160px;--hover-bg: #f3f4f6;--hover-color: #111;width:100%;min-height:var(--pill-min-h);padding:clamp(1.5rem,3vw,8rem) 0;font-size:clamp(1.5rem,4vw,4rem);font-weight:400;line-height:0;border-radius:999px;background:var(--pill-bg);color:var(--pill-color);text-decoration:none;box-shadow:0 8px 25px #0000004d;display:flex;align-items:center;justify-content:center;position:relative;transition:background .3s ease,color .3s ease;will-change:transform;box-sizing:border-box;white-space:nowrap;overflow:hidden;height:10px;border:none;cursor:pointer;font-family:inherit}@media (min-width: 900px){.bubble-menu-items .pill-link{transform:rotate(var(--item-rot))}.bubble-menu-items .pill-link:hover{transform:rotate(var(--item-rot)) scale(1.06);background:var(--hover-bg);color:var(--hover-color)}.bubble-menu-items .pill-link:active{transform:rotate(var(--item-rot)) scale(.94)}}.bubble-menu-items .pill-link .pill-label{display:inline-block;will-change:transform,opacity;height:1.2em;line-height:1.2}@media (max-width: 899px){.bubble-menu-items{align-items:flex-start;padding-top:120px}.bubble-menu-items .pill-list{row-gap:16px}.bubble-menu-items .pill-list .pill-col{flex:0 0 100%;margin-left:0!important;overflow:visible}.bubble-menu-items .pill-link{font-size:clamp(1.2rem,3vw,4rem);padding:clamp(1rem,2vw,2rem) 0;min-height:80px}.bubble-menu-items .pill-link:hover{transform:scale(1.06);background:var(--hover-bg);color:var(--hover-color)}.bubble-menu-items .pill-link:active{transform:scale(.94)}}.noscroll{height:100%;width:100%;overflow:hidden}.intro{width:100%;height:100vh;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.intro:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.8) 100%);pointer-events:none;z-index:4}.intro:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,rgba(0,0,0,.9) 0%,transparent 15%,transparent 85%,rgba(0,0,0,.9) 100%);pointer-events:none;z-index:5}.gridMotion-container{gap:1rem;flex:none;position:relative;width:150vw;height:150vh;display:grid;grid-template-rows:repeat(4,1fr);grid-template-columns:100%;transform:rotate(-15deg);transform-origin:center center;z-index:2}@media (max-width: 768px){.gridMotion-container{width:100vw;height:100vh;gap:.5rem;transform:rotate(-3deg)}.row__item-inner{font-size:.75rem;padding:.5rem;border-radius:8px;aspect-ratio:1}.row__item-content{padding:.5rem;font-size:.625rem;line-height:1.2}}@media (max-width: 480px){.gridMotion-container{width:100vw;height:100vh;gap:.25rem;transform:rotate(-2deg)}.row__item-inner{font-size:.625rem;padding:.25rem;border-radius:6px;aspect-ratio:1}.row__item-content{padding:.25rem;font-size:.5rem;line-height:1.1}}.row{display:grid;gap:1rem;grid-template-columns:repeat(7,1fr);will-change:transform,filter}@media (max-width: 768px){.row{grid-template-columns:repeat(4,1fr);gap:.5rem}}@media (max-width: 480px){.row{grid-template-columns:repeat(3,1fr);gap:.25rem}}.row__item{position:relative}.row__item-inner{position:relative;width:100%;height:100%;overflow:hidden;border-radius:10px;background-color:#111;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-family:Roboto,sans-serif;aspect-ratio:1}.row__item-img{width:100%;height:100%;background-size:cover;background-position:50% 50%;position:absolute;top:0;left:0}.row__item-content{padding:1rem;text-align:center;z-index:1;font-family:Roboto,sans-serif;font-weight:300;line-height:1.4}.fullview{position:relative;width:100%;height:100%;top:0;left:0;pointer-events:none}.fullview .row__item-inner{border-radius:0}.curved-loop-jacket{min-height:60vh;display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}.curved-loop-text{-webkit-user-select:none;user-select:none;font-size:6rem;color:#fff;font-weight:700;text-transform:uppercase;line-height:1;white-space:nowrap;will-change:transform}@media (max-width: 768px){.curved-loop-text{font-size:3rem}}@media (max-width: 480px){.curved-loop-text{font-size:2rem}}.shiny-text{color:#b5b5b5a4;background:linear-gradient(120deg,#fff0 40%,#fffc,#fff0 60%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;display:inline-block;animation:shine 5s linear infinite}@keyframes shine{0%{background-position:100%}to{background-position:-100%}}.shiny-text.disabled{animation:none}
