:root{--light: #fff;--dark: #0f0f0f}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif}img{width:100%;height:100%;object-fit:cover}a,p{text-decoration:none;text-transform:uppercase;font-family:DM Mono,mono;font-size:.9rem;font-weight:500;line-height:1.25;color:#000}nav{position:fixed;width:100%;padding:2rem;display:flex;justify-content:space-between;align-items:flex-start;z-index:5}.nav-items{display:flex;flex-direction:column;align-items:flex-end}.nav-items a.social-link{position:relative;display:inline-block;width:fit-content;line-height:1.2;z-index:1}.nav-items a.social-link:after{content:"";position:absolute;bottom:.12rem;left:0;width:100%;height:2px;background-color:#000;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.25,.46,.45,.94);z-index:-1}.nav-items a.social-link:hover:after{transform:scaleX(1);transform-origin:left}.nav-items a.social-link:not(:hover):after{transform-origin:right}.hero{position:relative;width:100%;height:100svh;overflow:hidden}.hero-overlay{position:absolute;width:100%;height:100svh;background-color:var(--dark);clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);will-change:clip-path;z-index:10}.hero-overlay .counter{position:absolute;right:2rem;bottom:2rem;color:var(--light)}.hero-overlay .counter h1{font-size:4rem;font-weight:500}.overlay-text-container{position:absolute;top:2rem;left:2rem;height:2rem;overflow:hidden}.overlay-text-container .overlay-text{display:flex;flex-direction:column;transform:translateY(2rem);will-change:transform}.overlay-text-container .overlay-text p{color:var(--light);height:2rem;display:flex;align-items:center}.hero-images{position:absolute;top:50%;transform:translateY(-50%);width:100%;padding:0 2rem;display:flex;justify-content:center;gap:10vw;will-change:gap;z-index:20}.hero-images .img{width:10vw;aspect-ratio:5/7;transform:translateY(50%) scale(.5);clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);opacity:0;will-change:opacity,transform,clip-path}.hero-header{position:absolute;bottom:.2rem;width:100%;z-index:-1;transform:translateY(100%);opacity:0;will-change:transform,opacity}.hero-header h1{text-transform:uppercase;text-align:center;font-size:19vw;font-weight:500;line-height:.75}.hero-header .mobile-name{display:none}@media(max-width:1000px){nav{padding:1rem}.hero-overlay .counter{right:1rem;bottom:1rem}.hero-images{padding:0 .5rem;gap:2.5vw}.hero-images .img{width:20vw}.hero-images .img.hero-img{width:45vw}.hero-header{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:15vh 0}.hero-header h1{font-size:18vw;line-height:1}.hero-header .desktop-name{display:none}.hero-header .mobile-name{display:block}.hero-header .mobile-top{order:1}.hero-header .mobile-bottom{order:2}}:root{--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-out-quint: cubic-bezier(.23, 1, .32, 1);--ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);--section-pad: clamp(2rem, 6vw, 5rem)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.about{position:relative;min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,4vw,4rem);padding:8rem var(--section-pad);background:var(--light);overflow:hidden}.about-content{max-width:620px;width:100%}.about-label{font-family:DM Mono,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#999;margin-bottom:3rem}.about-line-wrap{overflow:hidden;padding-bottom:.1em}.about-line{will-change:transform}.about-line h2{font-family:DM Sans,sans-serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:600;line-height:1.15;letter-spacing:-.02em;color:var(--dark);text-transform:none}.about-line h2 .accent{color:#999}.about-desc{margin-top:3rem;max-width:520px;font-family:DM Sans,sans-serif;font-size:clamp(.95rem,1.1vw,1.05rem);font-weight:400;line-height:1.75;color:#666;text-transform:none}.about-model{position:relative;width:100%;aspect-ratio:1;max-height:70vh;justify-self:center}.about-model-inner{width:100%;height:100%;opacity:0;transform:scale(.96);transition:opacity .8s var(--ease-out-expo),transform .8s var(--ease-out-expo)}.about-model-inner.is-loaded{opacity:1;transform:scale(1)}.about-model-inner spline-viewer{width:100%;height:100%;display:block;--poster-color: transparent}.projects{position:relative;background:var(--dark)}.projects-pin{position:relative;width:100%;height:100vh;overflow:hidden}.projects-pin-label{position:absolute;top:clamp(1.5rem,4vw,2.5rem);left:var(--section-pad);font-family:DM Mono,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#444;z-index:2}.project-slide{position:absolute;inset:0;display:flex;align-items:center;padding:0 var(--section-pad);visibility:hidden}.project-slide:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 65% 35%,var(--project-glow, transparent) 0%,transparent 65%);opacity:.07;pointer-events:none}.project-inner{width:100%;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,3vw,3rem);align-items:start}.project-num-wrap{overflow:hidden;padding-top:.4rem}.project-num{display:block;font-family:DM Mono,monospace;font-size:clamp(3.5rem,7vw,6rem);font-weight:300;color:#333;line-height:1}.project-body{display:flex;flex-direction:column;gap:1rem}.project-title{font-family:DM Sans,sans-serif;font-size:clamp(1.8rem,4vw,3.2rem);font-weight:600;line-height:1.08;letter-spacing:-.02em;color:var(--light);text-transform:none;clip-path:inset(0 0 100% 0);will-change:clip-path}.project-line{width:100%;height:1px;background:#333;transform:scaleX(0);transform-origin:left;will-change:transform}.project-tagline{font-family:DM Mono,monospace;font-size:clamp(.75rem,.9vw,.85rem);text-transform:uppercase;letter-spacing:.1em;color:var(--project-glow, #c8a97e)}.project-desc{font-family:DM Sans,sans-serif;font-size:clamp(.9rem,1vw,1rem);font-weight:400;line-height:1.75;color:#aaa;max-width:480px;text-transform:none}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.tech-tag{font-family:DM Mono,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.3rem .65rem;border:1px solid #333;border-radius:2px;color:#888}.project-cta{display:inline-flex;align-items:center;gap:.5rem;font-family:DM Mono,monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--project-glow, #c8a97e);margin-top:.5rem;transition:gap .4s var(--ease-out-expo)}@media(hover:hover)and (pointer:fine){.project-cta:hover{gap:1rem}}.projects-visual{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.project-slide{z-index:1}.visual-orb{position:absolute;width:45vw;height:45vw;border-radius:50%;background:#4a9eff;filter:blur(clamp(80px,12vw,140px));opacity:0;right:-10%;bottom:-15%;will-change:transform,opacity}.visual-bg-num{position:absolute;right:5%;top:50%;font-family:DM Sans,sans-serif;font-size:clamp(20rem,35vw,40vw);font-weight:700;line-height:.85;color:var(--light);opacity:0;transform:translateY(-50%);will-change:transform,opacity;user-select:none}.visual-corners{position:absolute;inset:12%;pointer-events:none}.visual-corner{position:absolute;width:28px;height:28px;opacity:0;will-change:transform,opacity}.visual-corner:before,.visual-corner:after{content:"";position:absolute;background:#333}.visual-corner--tl:before{width:100%;height:1px;top:0;left:0}.visual-corner--tl:after{width:1px;height:100%;top:0;left:0}.visual-corner--tr:before{width:100%;height:1px;top:0;right:0}.visual-corner--tr:after{width:1px;height:100%;top:0;right:0}.visual-corner--bl:before{width:100%;height:1px;bottom:0;left:0}.visual-corner--bl:after{width:1px;height:100%;bottom:0;left:0}.visual-corner--br:before{width:100%;height:1px;bottom:0;right:0}.visual-corner--br:after{width:1px;height:100%;bottom:0;right:0}.visual-corner--tl{top:0;left:0}.visual-corner--tr{top:0;right:0}.visual-corner--bl{bottom:0;left:0}.visual-corner--br{bottom:0;right:0}.visual-progress{position:absolute;right:clamp(1.2rem,3vw,2.5rem);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;z-index:2}.progress-tick{width:12px;height:1px;background:#333;transform-origin:right;will-change:transform,background-color;transition:width .6s var(--ease-out-expo),background-color .6s var(--ease-out-expo)}.progress-tick.is-active{width:28px;background:var(--tick-color, #fff)}.visual-hline{position:absolute;left:0;width:100%;height:1px;background:#1a1a1a;transform:scaleX(0);transform-origin:left;will-change:transform}.visual-cross{position:absolute;width:14px;height:14px;opacity:0;will-change:transform,opacity}.visual-cross:before,.visual-cross:after{content:"";position:absolute;background:#2a2a2a}.visual-cross:before{width:100%;height:1px;top:50%;transform:translateY(-50%)}.visual-cross:after{width:1px;height:100%;left:50%;transform:translate(-50%)}.skills{position:relative;padding:10rem var(--section-pad);background:var(--light)}.skills-inner{max-width:1100px;margin:0 auto}.skills-label{font-family:DM Mono,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#999;margin-bottom:4rem}.skill-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,3rem)}.skill-category h3{font-family:DM Mono,monospace;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--dark);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #ddd}.skill-list{display:flex;flex-direction:column;gap:.7rem}.skill-item{font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:400;color:#666;text-transform:none;transition:color .3s var(--ease-out-expo)}@media(hover:hover)and (pointer:fine){.skill-item:hover{color:var(--dark)}}.contact{position:relative;min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8rem var(--section-pad);background:var(--light)}.contact-label{font-family:DM Mono,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#999;margin-bottom:2rem}.contact-title-wrap{overflow:hidden;margin-bottom:2rem}.contact-title{font-family:DM Sans,sans-serif;font-size:clamp(3rem,10vw,8rem);font-weight:600;line-height:1;letter-spacing:-.03em;color:var(--dark);text-transform:none}.contact-email{font-family:DM Mono,monospace;font-size:clamp(.85rem,1.2vw,1.1rem);color:#666;letter-spacing:.02em;transition:color .3s var(--ease-out-expo)}@media(hover:hover)and (pointer:fine){.contact-email:hover{color:var(--dark)}}.contact-socials{display:flex;gap:2rem;margin-top:2.5rem}.contact-socials a{font-family:DM Mono,monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#999;position:relative}.contact-socials a:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease-out-expo)}@media(hover:hover)and (pointer:fine){.contact-socials a:hover:after{transform:scaleX(1);transform-origin:left}}.site-footer{padding:2rem var(--section-pad);display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;background:var(--light)}.site-footer p{font-size:.7rem;color:#bbb}@media(max-width:1000px){.project-inner{grid-template-columns:1fr;gap:1rem}.about{grid-template-columns:1fr;padding-top:6rem;padding-bottom:4rem}.about-model{aspect-ratio:4/3;max-height:50vh}.project-num-wrap{display:none}.visual-bg-num{font-size:45vw;right:-5%;opacity:0}.visual-orb{width:70vw;height:70vw}.visual-corners{inset:6%}.visual-progress{right:.8rem}.visual-cross{display:none}.skill-categories{grid-template-columns:repeat(2,1fr);gap:2rem}.site-footer{flex-direction:column;gap:.5rem;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
