:root{--bg-color: #0a0a0a;--text-primary: #ededed;--text-secondary: #a1a1a1;--text-tertiary: #737373;--border-subtle: rgba(255, 255, 255, .1);--accent-color: #ffffff}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}body,html{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-primary);font-family:Google Sans Flex,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar,html::-webkit-scrollbar{display:none}*:focus{outline:none}*:focus-visible{outline:2px solid var(--border-subtle);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.portfolio-container{max-width:650px;margin:0 auto;padding:4rem 1.5rem;width:100%;box-sizing:border-box;animation:fadeIn .8s ease-out forwards}section{opacity:0;animation:slideUp .8s ease-out forwards}section:nth-child(2){animation-delay:.1s}section:nth-child(3){animation-delay:.2s}section:nth-child(4){animation-delay:.3s}section:nth-child(5){animation-delay:.4s}.portfolio-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:5rem;gap:1.5rem;position:relative}.nav-indicator{position:absolute;left:0;top:50%;transform:translateY(-50%);transition:transform .5s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:1;display:flex;align-items:center}.nav-dot{width:6px;height:6px;background-color:var(--text-primary);border-radius:50%;transform:translateY(0)}@keyframes bounceOver{0%{transform:translateY(0) scaleX(1.1)}30%{transform:translateY(-15px) scaleX(.9)}70%{transform:translateY(-15px) scaleX(.9)}to{transform:translateY(0) scaleX(1.1)}}.animate-bounce{animation:bounceOver .5s ease-in-out}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:color .3s ease,transform .3s ease;display:inline-block;padding:.5rem .75rem .5rem 1.25rem;position:relative;z-index:2}@media(hover:hover)and (pointer:fine){.nav-link:hover{color:var(--text-primary);transform:translateY(-1px)}}.nav-link:active{color:var(--text-primary);transform:translateY(1px)}.nav-link.active{color:var(--text-primary)}h1,h2,h3,p{margin:0;font-weight:400}.hero-text{font-size:1.5rem;font-weight:500;color:var(--text-primary);line-height:1.4;margin-bottom:2rem;letter-spacing:-.02em}.hero-subtext{font-size:1.05rem;color:var(--text-secondary);margin-bottom:.3rem}.section-title{font-size:1.5rem;font-weight:500;color:var(--text-primary);margin-bottom:2rem;margin-top:4rem;letter-spacing:-.02em}.inline-link{color:var(--text-primary);text-decoration:none;padding-bottom:2px;transition:color .3s ease;display:inline-flex;align-items:center;gap:.3rem;position:relative}.inline-link:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--border-subtle)}.inline-link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--text-primary);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.86,0,.07,1)}@media(hover:hover)and (pointer:fine){.inline-link:hover:after{transform:scaleX(1);transform-origin:left}.inline-link:hover svg{transform:translate(2px,-2px);opacity:1}}.inline-link:active{color:var(--text-primary)}.inline-link:active:after{transform:scaleX(1);transform-origin:left}.inline-link:active svg{transform:translate(1px,-1px);opacity:1}.inline-link svg{width:14px;height:14px;opacity:.7;transition:transform .3s ease,opacity .3s ease}.connect-links{display:flex;gap:1.5rem;margin-top:3rem;margin-bottom:5rem}.list-item{display:flex;margin-bottom:2.5rem;transition:transform .3s ease}@media(hover:hover)and (pointer:fine){.list-item:hover{transform:translate(4px)}.list-item:hover .list-title{color:var(--accent-color)}}.list-item:active{transform:scale(.98)}.list-item:active .list-title{color:var(--accent-color)}@media(max-width:500px){.list-item{flex-direction:column;gap:.5rem}}.list-date{width:140px;flex-shrink:0;color:var(--text-tertiary);font-size:.95rem}.list-content{flex-grow:1}.list-title{font-size:1.05rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:flex-start;transition:color .3s ease}.list-company{color:var(--text-secondary);font-size:.95rem;font-weight:400}.list-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.cds--link{color:var(--text-primary);text-decoration-color:var(--border-subtle);font-family:inherit}.cds--link:focus{color:var(--text-primary);text-decoration-color:var(--text-primary)}@media(hover:hover)and (pointer:fine){.cds--link:hover{color:var(--text-primary);text-decoration-color:var(--text-primary)}}.cds--link:active{color:var(--text-primary);text-decoration-color:var(--text-primary);opacity:.8}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem;animation:slideUp .6s ease-out forwards}.project-card{display:flex;flex-direction:column;padding:1.5rem;background-color:#ffffff05;border:1px solid var(--border-subtle);border-radius:6px;text-decoration:none;transition:transform .3s ease,background-color .3s ease,border-color .3s ease;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;width:2px;height:100%;background-color:var(--text-primary);transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.86,0,.07,1)}@media(hover:hover)and (pointer:fine){.project-card:hover{transform:translateY(-4px);background-color:#ffffff0a;border-color:#ffffff26}.project-card:hover:before{transform:scaleY(1);transform-origin:top}.project-card:hover .project-icon{transform:translate(2px,-2px);opacity:1}.project-card:hover .project-title{color:var(--accent-color)}}.project-card:active{transform:scale(.98);background-color:#ffffff0a;border-color:#ffffff26}.project-card:active:before{transform:scaleY(1);transform-origin:top}.project-card:active .project-title{color:var(--accent-color)}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.project-title{font-size:1.1rem;font-weight:500;color:var(--text-primary);margin:0;transition:color .3s ease}.project-icon{width:18px;height:18px;color:var(--text-primary);opacity:.6;transition:transform .3s ease,opacity .3s ease}.project-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6;flex-grow:1;margin-bottom:1.5rem}.project-meta{display:flex;align-items:center;margin-top:auto}.project-year{font-size:.85rem;color:var(--text-tertiary);font-family:inherit;padding:.2rem .6rem;background-color:#ffffff0d;border-radius:4px;display:inline-flex;align-items:center;gap:.4rem}@keyframes livePulse{0%,to{opacity:1;box-shadow:0 0 #4ade8080}50%{opacity:.6;box-shadow:0 0 0 4px #4ade8000}}.live-dot{width:7px;height:7px;background-color:#4ade80;border-radius:50%;flex-shrink:0;animation:livePulse 2s ease-in-out infinite}.status-live{color:#4ade80;font-size:.78rem}.live-badge{display:inline-flex;align-items:center;gap:.35rem;background-color:#4ade8014;border:1px solid rgba(74,222,128,.2);border-radius:20px;padding:.15rem .55rem .15rem .45rem;vertical-align:middle;line-height:1}.carousel-wrapper{position:relative;margin-top:1rem;margin-bottom:4rem;width:100%;animation:slideUp .6s ease-out forwards}.carousel-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background-color:#0a0a0acc;border:1px solid var(--border-subtle);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;transition:background-color .2s ease,border-color .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(hover:hover)and (pointer:fine){.carousel-nav-btn:hover{background-color:var(--bg-color);border-color:#ffffff4d}}.carousel-nav-btn:active{transform:translateY(-50%) scale(.92);background-color:var(--bg-color)}.carousel-nav-btn.left{left:-55px}.carousel-nav-btn.right{right:-55px}.carousel-container{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1.5rem;scrollbar-width:none}.carousel-container::-webkit-scrollbar{display:none}.carousel-card{scroll-snap-align:start;flex:0 0 300px;display:flex;flex-direction:column;background-color:#ffffff05;border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden;transition:transform .3s ease,border-color .3s ease;position:relative}@media(hover:hover)and (pointer:fine){.carousel-card:hover{border-color:#ffffff26}.carousel-card:hover .carousel-video-embed{opacity:1;transform:scale(1.03)}.carousel-card:hover .carousel-title{color:var(--accent-color)}}.carousel-card:active{transform:scale(.98);border-color:#ffffff26}.carousel-card:active .carousel-video-embed{opacity:1}.carousel-card:active .carousel-title{color:var(--accent-color)}.carousel-video-wrapper{width:100%;height:180px;background-color:#000;position:relative;overflow:hidden;border-bottom:1px solid var(--border-subtle)}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.gooey-loader-overlay{position:absolute;inset:0;background:#0a0a0a;display:flex;align-items:center;justify-content:center;z-index:2}.gooey-spinner{animation:rotate 2s linear infinite;width:44px;height:44px}.gooey-spinner .path-track{stroke:#ffffff1a}.gooey-spinner .path{stroke:var(--text-primary);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}.carousel-video-embed{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease,transform .5s ease;z-index:1}.carousel-video-embed.loaded{opacity:.85}.carousel-card-body{padding:1.25rem;display:flex;flex-direction:column;flex-grow:1}.carousel-card-header{margin-bottom:.75rem}.carousel-title{font-size:1.05rem;font-weight:500;color:var(--text-primary);margin:0;transition:color .3s ease}.carousel-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1.25rem;flex-grow:1}.carousel-meta{display:flex}.carousel-year{font-size:.8rem;color:var(--text-tertiary);font-family:inherit;padding:.2rem .5rem;background-color:#ffffff0d;border-radius:4px}.footer{margin-top:6rem;padding-top:2rem;border-top:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:.85rem;display:flex;justify-content:space-between}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes fadeOutModal{0%{opacity:1}to{opacity:0}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDownModal{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.98)}}.contact-modal-overlay{position:fixed;inset:0;background-color:#000000d9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeInModal .3s cubic-bezier(.16,1,.3,1) forwards}.contact-modal-overlay.closing{animation:fadeOutModal .4s cubic-bezier(.16,1,.3,1) forwards}.contact-modal-content{background-color:var(--bg-color);border:1px solid var(--border-subtle);box-shadow:0 24px 40px #0006;border-radius:12px;padding:2rem;width:90%;max-width:400px;animation:slideUpModal .4s cubic-bezier(.16,1,.3,1) forwards}.contact-modal-content.closing{animation:slideDownModal .4s cubic-bezier(.16,1,.3,1) forwards}.timeline{position:relative;margin-top:1.5rem}.timeline-item{position:relative;margin-bottom:3rem;padding-left:2rem}.timeline-item:before{content:"";position:absolute;top:24px;bottom:-2rem;left:4px;width:2px;background-color:#ffffff1a;z-index:1}.timeline-item:after{content:"";position:absolute;top:24px;bottom:-2rem;left:4px;width:2px;background-color:var(--text-primary);z-index:1;transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.86,0,.07,1)}.timeline-item:last-child:before,.timeline-item:last-child:after{display:none}.timeline-item:last-child{margin-bottom:0}@media(hover:hover)and (pointer:fine){.timeline-item:hover:after{transform:scaleY(1)}.timeline-item:hover .timeline-node{background-color:var(--text-primary);box-shadow:0 0 10px #ffffff4d;transform:scale(1.3)}.timeline-item:hover .list-title{color:var(--text-primary)}}.timeline-node{position:absolute;top:6px;left:0;width:10px;height:10px;border-radius:50%;background-color:var(--text-secondary);transition:all .25s ease;z-index:2}.timeline-content h3{transition:color .25s ease}.contact-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.contact-modal-header h3{margin:0;font-size:1.25rem;font-weight:500;color:var(--text-primary);letter-spacing:-.01em}.contact-modal-header .close-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.05);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;padding:0;transition:all .2s ease}@media(hover:hover)and (pointer:fine){.contact-modal-header .close-btn:hover{color:var(--text-primary);background:#ffffff1a;transform:scale(1.05)}}.contact-modal-header .close-btn:active{color:var(--text-primary);transform:scale(.95)}.contact-modal-links{display:flex;flex-direction:column;gap:1rem}.contact-modal-link{display:flex;flex-direction:column;padding:1.25rem;background-color:#ffffff05;border:1px solid var(--border-subtle);border-radius:8px;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}@media(hover:hover)and (pointer:fine){.contact-modal-link:hover{background-color:#ffffff0d;border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.contact-modal-link:hover .contact-value{color:var(--text-primary)}}.contact-modal-link:active{transform:scale(.98);background-color:#ffffff0f;border-color:#fff3}.contact-modal-link:active .contact-value{color:var(--text-primary)}.contact-modal-link .contact-method{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.4rem;font-weight:500}.contact-modal-link .contact-value{font-size:1rem;color:var(--text-secondary);transition:color .3s ease}.expertise-list{display:flex;flex-direction:column;margin-top:.5rem}.expertise-row{position:relative;display:flex;align-items:center;padding:.75rem 1.5rem;margin:0 -1.5rem;border-radius:8px;transition:all .25s cubic-bezier(.4,0,.2,1);gap:1.5rem}@media(hover:hover)and (pointer:fine){.expertise-row:hover{transform:translate(6px)}.expertise-row:hover .expertise-icon{color:var(--text-primary)}}.expertise-meta{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.5rem;color:var(--text-secondary);min-width:48px;width:48px}.expertise-icon{display:flex;align-items:center;justify-content:flex-start;color:var(--text-primary);width:100%}.expertise-content{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:200px}.expertise-title{font-size:1.1rem;font-weight:500;margin:0;color:var(--text-primary)}.expertise-desc-wrapper{flex:2;display:flex;align-items:center}.expertise-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0}@media(max-width:768px){.expertise-row{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem 0;margin:0}.expertise-meta{flex-direction:row;width:100%;justify-content:flex-start;align-items:center;gap:.75rem}.expertise-icon{justify-content:flex-start}.expertise-content,.expertise-desc-wrapper{width:100%}}
