.custom-cursor{width:32px;height:32px;border:1px solid hsla(0,0%,100%,.3);z-index:9999;-webkit-backdrop-filter:blur(8px) saturate(150%);backdrop-filter:blur(8px) saturate(150%);background:radial-gradient(circle,hsla(0,0%,100%,.1),transparent 70%);box-shadow:0 0 20px hsla(0,0%,100%,.1),inset 0 0 20px hsla(0,0%,100%,.05),0 0 40px rgba(59,130,246,.1);transition:all .4s cubic-bezier(.175,.885,.32,1.275);animation:fadeIn .3s ease-out forwards}.custom-cursor,.custom-cursor-dot{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:0}.custom-cursor-dot{width:4px;height:4px;background:linear-gradient(135deg,#fff,#e0e7ff);z-index:10000;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 0 10px hsla(0,0%,100%,.8),0 0 20px hsla(0,0%,100%,.4),0 0 30px rgba(59,130,246,.2);animation:fadeIn .3s ease-out .1s forwards}.custom-cursor.hovering{width:48px;height:48px;border:2px solid hsla(0,0%,100%,.6);background:radial-gradient(circle,hsla(0,0%,100%,.15),rgba(59,130,246,.1) 70%);box-shadow:0 0 30px hsla(0,0%,100%,.2),inset 0 0 30px hsla(0,0%,100%,.1),0 0 60px rgba(59,130,246,.2),0 0 100px rgba(59,130,246,.1);transform:translate(-50%,-50%) scale(1.05) rotate(5deg);-webkit-backdrop-filter:blur(12px) saturate(200%);backdrop-filter:blur(12px) saturate(200%)}.custom-cursor-dot.hovering{width:8px;height:8px;background:linear-gradient(135deg,#60a5fa,#3b82f6);transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 15px rgba(59,130,246,.8),0 0 30px rgba(59,130,246,.5),0 0 45px rgba(59,130,246,.3)}.custom-cursor.clicking{transform:translate(-50%,-50%) scale(.85) rotate(-3deg);border-color:hsla(0,0%,100%,.9);background:radial-gradient(circle,hsla(0,0%,100%,.25),rgba(59,130,246,.2) 70%);box-shadow:0 0 20px hsla(0,0%,100%,.4),inset 0 0 20px hsla(0,0%,100%,.2),0 0 40px rgba(59,130,246,.4)}.custom-cursor-dot.clicking{transform:translate(-50%,-50%) scale(.7);background:linear-gradient(135deg,#fff,#60a5fa);box-shadow:0 0 20px #fff,0 0 40px rgba(59,130,246,.8)}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes breathe{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.02)}}@keyframes sparkle{0%,to{box-shadow:0 0 10px hsla(0,0%,100%,.8),0 0 20px hsla(0,0%,100%,.4),0 0 30px rgba(59,130,246,.2)}50%{box-shadow:0 0 15px #fff,0 0 30px hsla(0,0%,100%,.6),0 0 45px rgba(59,130,246,.4),0 0 60px rgba(147,197,253,.2)}}.custom-cursor:not(.hovering):not(.clicking){animation:breathe 4s ease-in-out infinite}.custom-cursor-dot:not(.clicking){animation:sparkle 3s ease-in-out infinite}*{cursor:none!important}.custom-cursor.link-hover{border-color:rgba(59,130,246,.8);background:radial-gradient(circle,rgba(59,130,246,.2),rgba(147,197,253,.1) 70%);box-shadow:0 0 25px rgba(59,130,246,.3),inset 0 0 25px rgba(59,130,246,.1),0 0 50px rgba(59,130,246,.2),0 0 80px rgba(147,197,253,.15);transform:translate(-50%,-50%) scale(1.1) rotate(10deg)}.custom-cursor-dot.link-hover{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 0 15px #3b82f6,0 0 30px rgba(59,130,246,.7),0 0 45px rgba(59,130,246,.5)}.custom-cursor.button-hover{border-color:rgba(16,185,129,.8);background:radial-gradient(circle,rgba(16,185,129,.2),rgba(110,231,183,.1) 70%);box-shadow:0 0 25px rgba(16,185,129,.3),inset 0 0 25px rgba(16,185,129,.1),0 0 50px rgba(16,185,129,.2),0 0 80px rgba(110,231,183,.15);transform:translate(-50%,-50%) scale(1.15) rotate(-8deg)}.custom-cursor-dot.button-hover{background:linear-gradient(135deg,#10b981,#047857);box-shadow:0 0 15px #10b981,0 0 30px rgba(16,185,129,.7),0 0 45px rgba(16,185,129,.5)}::selection{background:rgba(59,130,246,.2);color:inherit}::-moz-selection{background:rgba(59,130,246,.2);color:inherit}@media (max-width:768px){.custom-cursor,.custom-cursor-dot{display:none!important}*{cursor:auto!important}}@media (prefers-contrast:high){.custom-cursor{border-color:#fff;background:rgba(0,0,0,.8)}.custom-cursor-dot{background:#fff}}@media (prefers-reduced-motion:reduce){.custom-cursor,.custom-cursor-dot{animation:none!important;transition:transform .1s ease-out,opacity .1s ease-out}}.menu{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;background-color:#161616;-webkit-clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%);clip-path:polygon(0 100%,100% 100%,100% 100%,0 100%);pointer-events:none;z-index:2}.menu .col{position:relative;height:100%;padding:10em 2em 2em;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.menu .col-1{flex:1 1}.menu .col-2{flex:1.35 1}.menu .link{margin-bottom:.25em;-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.menu .link-wrapper{position:relative;transform:translateY(60px);will-change:transform}.menu .socials{width:100%;display:flex;gap:2em}.menu .socials .sub-col{flex:1 1}.menu .socials .sub-col .line{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.menu .socials .sub-col .line p{color:var(--text-secondary);position:relative;transform:translateY(30px);will-change:transform}.menu .socials .sub-col .line p a{color:var(--text-secondary)}@media (max-width:900px){.menu{flex-direction:column-reverse}.menu .col-1{flex:1 1;align-items:flex-start}.menu .socials{width:100%;gap:4em}}.menu-bar{position:fixed;top:0;left:0;width:100vw;padding:2em;display:flex;align-items:center;justify-content:space-between;z-index:10}.menu-toggle-wrapper{flex:0 0 auto}.logo{position:absolute;left:50%;transform:translateX(-50%);justify-content:center}.logo,.portfolio-year{display:flex;align-items:center}.portfolio-year{flex:0 0 auto;justify-content:flex-end}.menu-toggle{padding:.25em 0;cursor:pointer}.menu-copy,.menu-toggle{position:relative;width:80px}.menu-copy{height:20px;-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.menu-copy p#menu-open{position:absolute;transform:translateY(0)}.menu-copy p#menu-text{position:absolute;transform:translateY(24px)}@media (max-width:900px){.menu-toggle{width:70px}}:root{--bg:#0f0f0f;--text:#fff;--text-secondary:#555;--text-darker:#2f2f2f}@font-face{font-family:PP Neue Montreal;font-weight:200;font-style:normal;src:url(/_next/static/media/PPNeueMontreal-Thin.ebb94db6.ttf) format("truetype")}@font-face{font-family:PP Neue Montreal;font-weight:300;font-style:normal;src:url(/_next/static/media/PPNeueMontreal-Light.ba7e3acc.ttf) format("truetype")}@font-face{font-family:PP Neue Montreal;font-weight:400;font-style:normal;src:url(/_next/static/media/PPNeueMontreal-Book.1c0849c6.ttf) format("truetype")}@font-face{font-family:PP Neue Montreal;font-weight:500;font-style:normal;src:url(/_next/static/media/PPNeueMontreal-Regular.98c8ac09.ttf) format("truetype")}@font-face{font-family:PP Neue Montreal;font-weight:600;font-style:normal;src:url(/_next/static/media/PPNeueMontreal-Medium.96208b3b.ttf) format("truetype")}@font-face{font-family:PP Neue Montreal;font-weight:700;font-style:normal;src:url(/_next/static/media/PPNeueMontreal-Bold.85daf946.ttf) format("truetype")}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:PP Neue Montreal}body,html{width:100%;height:100%;background-color:var(--bg);color:var(--text)}.container{padding:12em 2em 4em}img{width:100%;height:100%;object-fit:cover}h1{font-size:64px;font-weight:500;letter-spacing:-.02em}h1,h2{color:var(--text);line-height:110%}h2{font-size:42px;letter-spacing:-.01em}h2,h3{font-weight:600}h3{color:var(--text);font-size:28px;line-height:120%;letter-spacing:-.005em}p{color:var(--text-secondary)}a,p{font-size:16px;font-weight:600;line-height:125%;letter-spacing:-.0025em}a{color:var(--text);text-decoration:none}@media (max-width:900px){h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}a,p{font-size:14px}}