.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:fadeIn .3s ease-out forwards,breathe 4s ease-in-out .3s infinite}.custom-cursor-dot:not(.clicking){animation:fadeIn .3s ease-out .1s forwards,sparkle 3s ease-in-out .4s 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:var(--z-menu)}.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-link{display:flex;align-items:baseline;gap:clamp(.75rem,2vw,1.5rem);width:-moz-fit-content;width:fit-content;color:var(--text)}.menu-link__index{font-size:var(--fs-micro);letter-spacing:.18em;color:var(--accent);opacity:0;transform:translateX(-.75rem);transition:opacity .4s var(--e-out),transform .4s var(--e-out)}.menu-link:focus-visible .menu-link__index,.menu-link:hover .menu-link__index{opacity:1;transform:translateX(0)}.menu-link__title{margin:0;line-height:1}.menu-link__label{display:flex;flex-wrap:wrap}.menu-link__char{position:relative;display:inline-block;overflow:hidden;vertical-align:top}.menu-link__char-in{display:block;transform:translateY(0);transition:transform .55s var(--e-out);transition-delay:calc(var(--i) * 22ms)}.menu-link__char-in--dup{position:absolute;inset:0;transform:translateY(100%);color:var(--accent)}.menu-link:focus-visible .menu-link__char-in,.menu-link:hover .menu-link__char-in{transform:translateY(-100%)}.menu-link:focus-visible .menu-link__char-in--dup,.menu-link:hover .menu-link__char-in--dup{transform:translateY(0)}.menu .links:hover .link:not(:hover) .menu-link{opacity:.35}.menu .links .link .menu-link{transition:opacity .45s var(--e-out)}@media (prefers-reduced-motion:reduce){.menu-link__char-in,.menu-link__index{transition:none}.menu-link:hover .menu-link__char-in{transform:none;color:var(--accent)}.menu-link:hover .menu-link__char-in--dup{display:none}}.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);position:relative;transition:color .35s var(--e-out)}.menu .socials .sub-col .line p a:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--e-out)}.menu .socials .sub-col .line p a:focus-visible,.menu .socials .sub-col .line p a:hover{color:var(--accent)}.menu .socials .sub-col .line p a:focus-visible:after,.menu .socials .sub-col .line p a:hover:after{transform:scaleX(1)}@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:var(--z-menubar)}.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:#0a0a0a;--bg-raise:#111;--bg-sink:#050505;--line:hsla(0,0%,100%,.12);--line-soft:hsla(0,0%,100%,.06);--text:#f4f2ee;--text-secondary:#8a8a85;--text-darker:#3a3a38;--cream:#f7e4cb;--accent:#d6f32f;--accent-dim:#a8c020;--accent-glow:rgba(214,243,47,.35);--fs-mega:clamp(3.5rem,15vw,15rem);--fs-display:clamp(2.75rem,9vw,8.5rem);--fs-h1:clamp(2.25rem,6vw,5rem);--fs-h2:clamp(1.75rem,4vw,3.25rem);--fs-h3:clamp(1.25rem,2.2vw,1.85rem);--fs-body:clamp(1rem,1.15vw,1.15rem);--fs-small:clamp(0.8rem,0.9vw,0.875rem);--fs-micro:clamp(0.65rem,0.75vw,0.75rem);--gutter:clamp(1.25rem,4vw,4rem);--section-y:clamp(6rem,14vh,12rem);--maxw:1600px;--e-out:cubic-bezier(0.16,1,0.3,1);--e-inout:cubic-bezier(0.76,0,0.24,1);--d-fast:0.4s;--d-base:0.8s;--d-slow:1.2s;--z-webgl:1;--z-content:2;--z-menu:900;--z-menubar:950;--z-cursor:9998;--z-preloader:9999}@font-face{font-family:PP Neue Montreal;font-weight:200;font-style:normal;font-display:swap;src:url(/_next/static/media/PPNeueMontreal-Thin.ebb94db6.ttf) format("truetype")}@font-face{font-family:PP Neue Montreal;font-weight:300;font-style:normal;font-display:swap;src:url(/_next/static/media/PPNeueMontreal-Light.ba7e3acc.ttf) format("truetype")}@font-face{font-family:PP Neue Montreal;font-weight:400;font-style:normal;font-display:swap;src:url(/_next/static/media/PPNeueMontreal-Book.1c0849c6.ttf) format("truetype")}@font-face{font-family:PP Neue Montreal;font-weight:500;font-style:normal;font-display:swap;src:url(/_next/static/media/PPNeueMontreal-Regular.98c8ac09.ttf) format("truetype")}@font-face{font-family:PP Neue Montreal;font-weight:600;font-style:normal;font-display:swap;src:url(/_next/static/media/PPNeueMontreal-Medium.96208b3b.ttf) format("truetype")}@font-face{font-family:PP Neue Montreal;font-weight:700;font-style:normal;font-display:swap;src:url(/_next/static/media/PPNeueMontreal-Bold.85daf946.ttf) format("truetype")}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:auto}body{width:100%;min-height:100%;background-color:var(--bg);color:var(--text);font-family:PP Neue Montreal,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--fs-body);font-weight:400;line-height:1.4;overflow-x:hidden;overscroll-behavior-y:none}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}canvas,img,picture,video{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ol,ul{list-style:none}::selection{background:var(--accent);color:#0a0a0a}h1,h2,h3,h4{color:var(--text);font-weight:500;line-height:.95;letter-spacing:-.03em;text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);letter-spacing:-.02em;line-height:1.1}p{color:var(--text-secondary);font-size:var(--fs-body);font-weight:400;line-height:1.5;letter-spacing:-.01em;text-wrap:pretty}a{color:var(--text);text-decoration:none;font-size:inherit}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.section{position:relative;z-index:var(--z-content);padding-block:var(--section-y)}.eyebrow{display:flex;align-items:center;gap:.75em;font-size:var(--fs-micro);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.line-mask{display:block;overflow:hidden}.hairline{width:100%;background:var(--line-soft)}.hairline,.sr-only{height:1px;border:0}.sr-only{position:absolute;width:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}