.navbar{align-items:center;background:#0000;display:flex;font-family:var(--mono);justify-content:space-between;left:0;padding:1.75rem 6vw 1.25rem;position:fixed;right:0;top:0;transition:border-color .3s ease;z-index:10}.navbar--scrolled{border-bottom:1px solid var(--border)}.navbar__brand{font-size:16px;letter-spacing:.2em;line-height:24px;text-transform:uppercase}.navbar__links{display:flex;gap:2rem}.navbar__links a{font-size:14px;letter-spacing:.2em;line-height:22px;position:relative;text-transform:uppercase}.navbar__links a:after{background:var(--accent);bottom:-6px;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.76,0,.24,1);width:0}.navbar__links a:hover:after{transform:scaleX(1)}.navbar__links a:hover{letter-spacing:.26em}@media screen and (max-width:900px){.navbar__links{display:none}}.social{bottom:7vw;display:flex;flex-direction:column;gap:.8rem;left:1.8vw;position:fixed;z-index:10}.social a{border:1px solid var(--border);border-radius:8px;display:grid;height:34px;place-items:center;transition:background .3s ease,color .3s ease,border-color .3s ease;width:34px}.social a:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}@media screen and (max-width:900px){.social{bottom:2rem;left:1.5rem}}.marquee{background:var(--bg);border-bottom:1px solid var(--border);border-top:1px solid var(--border);color:var(--accent);overflow:hidden}.marquee--inverted{background:var(--bg);color:var(--text)}.marquee__track{animation:marquee 20s linear infinite;display:flex;font-family:var(--mono);gap:2rem;letter-spacing:.2em;padding:1.5rem 0;text-transform:uppercase;width:max-content}.marquee__track span{white-space:nowrap}.fx3d-root{height:100%;overflow:hidden;position:relative;width:100%}.fx3d-canvas{display:block;height:100%;width:100%}@font-face{font-display:swap;font-family:HK Grotesk Wide;font-style:normal;font-weight:400;src:url(/static/media/HKGroteskWide-Regular.271cfe3c29941945e3d1.otf) format("opentype")}@font-face{font-display:swap;font-family:HK Grotesk Wide;font-style:normal;font-weight:800;src:url(/static/media/HKGroteskWide-ExtraBold.a8a66d549dae7b1e3188.otf) format("opentype")}:root{--bg:#000;--text:#fff;--accent:#fff;--muted:#fff9;--border:#ffffff1f;--mono:"Helvetica Now Display",-apple-system,BlinkMacSystemFont,"avenir next",avenir,"segoe ui","helvetica neue",helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;--serif:"Helvetica Now Display",-apple-system,BlinkMacSystemFont,"avenir next",avenir,"segoe ui","helvetica neue",helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{min-height:100%}#root,body{background:#000;background:var(--bg);color:#fff;color:var(--text)}body{cursor:none;font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--mono);letter-spacing:.01em}@media (hover:none){body{cursor:auto}.cursor{display:none}}.cursor{border:1.5px solid;height:12px;transform:translate3d(-100px,-100px,0) translate(-50%,-50%) scale(1);transition:transform .14s cubic-bezier(.22,1,.36,1);width:12px}.cursor,.cursor-dot{border-radius:50%;left:0;mix-blend-mode:difference;pointer-events:none;position:fixed;top:0;will-change:transform;z-index:9999}.cursor-dot{background:currentColor;height:4px;transform:translate3d(-100px,-100px,0) translate(-50%,-50%);width:4px}.cursor--active{transform:translate(-50%,-50%) scale(2.5)}a{color:inherit;text-decoration:none}.app{background:#000;background:var(--bg);color:#fff;color:var(--text);min-height:100vh}.section{padding:clamp(4.5rem,10vw,9rem) 6vw;position:relative}.section__header{align-items:center;display:flex;gap:1.5rem;margin-bottom:2.5rem}.section__header:after{background:#ffffff1f;background:var(--border);content:"";flex:1 1;height:1px}.section__number{color:#fff9;color:var(--muted);font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--mono);font-size:16px;line-height:24px}.section-title{font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--serif);font-size:clamp(2rem,4vw,4rem);font-weight:400;letter-spacing:0}.ripple-text{display:inline-block;line-height:1;position:relative}.ripple-text__canvas{inset:0;pointer-events:none;position:absolute}.soft-text{opacity:.85}.skills{background:#000;background:var(--bg);padding:clamp(4.5rem,10vw,9rem) 6vw}.skills__grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.skills__card{border:1px solid #ffffff1f;border:1px solid var(--border);display:flex;flex-direction:column;gap:.6rem;min-height:140px;padding:1.5rem;transition:background .3s ease,color .3s ease,border-color .3s ease}.skills__card:hover{background:#fff;background:var(--accent);border-color:#fff;border-color:var(--accent);color:#000;color:var(--bg)}.skills__card:hover .skills__title{transform:translateX(8px)}.skills__title{font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--serif);font-size:1.4rem;font-weight:400;transition:transform .3s ease}.skills__meta{color:#fff9;color:var(--muted);font-size:.9rem}.skills__card:hover .skills__meta{color:#0a0a0ab3}.experience{padding:clamp(4.5rem,10vw,9rem) 6vw}.experience__rows{grid-gap:2rem;display:grid;gap:2rem}.experience__row{cursor:pointer;padding-left:40px;transition:background .3s cubic-bezier(.76,0,.24,1)}.experience__rule{background:#ffffff1f;background:var(--border);height:1px;width:100%}.experience__grid{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(60px,90px) minmax(0,1fr) minmax(200px,280px) minmax(140px,180px);padding:2rem 0}.experience__num{color:#fff9;color:var(--muted);font-size:16px;line-height:24px}.experience__title{grid-gap:1rem;display:grid;gap:1rem}.experience__heading{font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--serif);font-size:clamp(2rem,4vw,46px);font-weight:400;line-height:.95;transition:transform .3s ease}.experience__row:hover .experience__heading{transform:translateY(-4px)}.experience__desc{font-size:.9rem;letter-spacing:.18em}.experience__desc,.experience__meta{color:#fff9;color:var(--muted);text-transform:uppercase}.experience__meta{grid-gap:.5rem;display:grid;font-size:.8rem;gap:.5rem;letter-spacing:.16em}.experience__company{color:#fff;color:var(--accent)}.experience__location{color:#fff9;color:var(--muted)}.experience__year{align-items:center;color:#fff;color:var(--accent);display:flex;font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--mono);font-size:.9rem;gap:.5rem;justify-content:flex-end;text-align:right}.experience__arrow{opacity:0;transform:translateX(-8px);transition:all .3s cubic-bezier(.76,0,.24,1)}.experience__row:hover{background:#ffffff0a}.experience__row:hover .experience__arrow{opacity:1;transform:translateX(0)}.about{padding-left:8vw;padding-right:8vw}.about__grid{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:minmax(120px,200px) 1fr}.about__badge{color:#ffffff1f;font-size:4rem}.about__badge,.about__text{font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--serif)}.about__text{font-size:clamp(1.2rem,2.5vw,2rem);line-height:1.4;margin-bottom:1.5rem}.about__skills{color:#fff9;color:var(--muted);font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--mono);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}.contact{justify-content:center;min-height:100vh;overflow-x:hidden;padding-top:6rem;text-align:center}.contact,.contact__content{align-items:center;display:flex}.contact__content{flex-direction:column;gap:1.5rem}.contact__title{font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--serif);font-size:clamp(2.08rem,6vw,6.8rem);margin-bottom:2rem}.contact__email{display:inline-block;font-size:clamp(1rem,2vw,2rem);margin-bottom:1rem}.contact__email,.contact__links{font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase}.contact__links{display:flex;font-size:.8rem;gap:2rem;justify-content:center}.testimonials{padding:clamp(4.5rem,10vw,9rem) 8vw}.testimonials__grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.testimonial-card{background:#ffffff05;border:1px solid #ffffff1f;border:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;min-height:200px;padding:1.5rem;transition:transform .3s ease,border-color .3s ease}.testimonial-card:hover{border-color:#fff;border-color:var(--accent);transform:translateY(-6px)}.testimonial-card__quote{color:#fff;color:var(--accent);font-size:.95rem;line-height:1.6}.testimonial-card__author{color:#fff9;color:var(--muted);font-size:.85rem;margin-top:auto}.creative{padding:clamp(4.5rem,10vw,9rem) 6vw}.creative__grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.creative__card{border:1px solid #ffffff1f;border:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;justify-content:space-between;min-height:160px;padding:1.75rem;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease}.creative__card:hover{background:#fff;background:var(--accent);border-color:#fff;border-color:var(--accent);color:#000;color:var(--bg);transform:translateY(-6px)}.creative__item{font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--serif);font-size:1.6rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase}.creative__meta{color:#fff9;color:var(--muted);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase}.creative__card:hover .creative__meta{color:#0a0a0ab3}.gallery-section{background:#000;padding:8rem 4rem}.gallery-header{align-items:baseline;border-top:1px solid #ffffff1f;gap:2rem;margin-bottom:4rem;padding-top:2rem}.gallery-header:after{display:none}.gallery-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.gallery-card{cursor:crosshair;overflow:hidden;position:relative}.gallery-card-inner{aspect-ratio:4/3;background:#111;border:1px solid #ffffff14;overflow:hidden;width:100%}.gallery-card-label{color:#ffffff80;font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--mono);font-size:.75rem;left:1rem;letter-spacing:.1em;position:absolute;top:1rem;z-index:2}.gallery-image-fallback{display:block;height:100%;object-fit:cover;width:100%}.gallery-card:hover .gallery-card-inner{border-color:#ffffff40;transition:border-color .3s ease}.footer{align-items:center;border-top:1px solid #ffffff1f;border-top:1px solid var(--border);color:#fff9;color:var(--muted);display:flex;font-family:Helvetica Now Display,-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;font-family:var(--mono);font-size:.75rem;justify-content:space-between;letter-spacing:.2em;padding:1.5rem 6vw 3rem;text-transform:uppercase}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.76,0,.24,1),transform .8s cubic-bezier(.76,0,.24,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-line{transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.76,0,.24,1)}.reveal-line.is-visible{transform:scaleX(1)}@keyframes letterShake{0%{transform:translate(0) rotate(0deg)}15%{transform:translate(-4px,2px) rotate(-3deg)}30%{transform:translate(4px,-2px) rotate(3deg)}45%{transform:translate(-3px,3px) rotate(-2deg)}60%{transform:translate(3px,-1px) rotate(2deg)}75%{transform:translate(-2px,2px) rotate(-1deg)}90%{transform:translate(2px,-1px) rotate(1deg)}to{transform:translate(0) rotate(0deg)}}.letter-shake{animation:letterShake .5s cubic-bezier(.36,.07,.19,.97);display:inline-block}.hero-name-letter{color:#fff}.hero-name-letter--water{-webkit-text-stroke:1.8px #fffffff2;text-stroke:1.8px #fffffff2;--fill:0;color:#0000;contain:paint;isolation:isolate;position:relative}.hero-name-letter--water:before{color:#fff;transition:clip-path .52s cubic-bezier(.18,.74,.24,1);will-change:clip-path}.hero-name-letter--water:after,.hero-name-letter--water:before{clip-path:inset(calc((1 - var(--fill))*100%) 0 0 0);content:attr(data-char);inset:0;position:absolute}.hero-name-letter--water:after{background:linear-gradient(95deg,#ffffff1a,#fffffff2 35%,#fff3 52%,#ffffffd9 70%,#ffffff14);-webkit-background-clip:text;background-clip:text;background-position:0 50%;background-size:180% 100%;color:#0000;opacity:0;pointer-events:none;transform:none;will-change:background-position,opacity,clip-path}.hero-name-letter--water.letter-shake:after{opacity:.9}.hero-name-letter--water[data-flow=fill].letter-shake:after{animation:heroLiquidFillPulse .56s cubic-bezier(.16,.82,.22,1) 1}.hero-name-letter--water[data-flow=drain].letter-shake:after{animation:heroLiquidDrainPulse .56s cubic-bezier(.16,.82,.22,1) 1}.hero-name-letter--outline{-webkit-text-stroke:1.8px #fffffff2;text-stroke:1.8px #fffffff2;color:#0000}@keyframes heroLiquidFillPulse{0%{background-position:0 50%;opacity:.2}28%{background-position:70% 50%;opacity:.95}56%{background-position:35% 50%;opacity:.75}to{background-position:100% 50%;opacity:0}}@keyframes heroLiquidDrainPulse{0%{background-position:100% 50%;opacity:.2}28%{background-position:30% 50%;opacity:.95}56%{background-position:65% 50%;opacity:.75}to{background-position:0 50%;opacity:0}}@media (max-width:768px){.hero-name-letter--water:after{display:none}.hero-name-letter--water:before{transition-duration:.28s}}.no-select{user-select:none;-webkit-user-select:none}.widget-card{transition:box-shadow .2s ease}.widget-card:active{box-shadow:0 30px 80px #000000e6;cursor:grabbing}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.terminal-cursor{animation:blink 1s step-end infinite;background:#00ff41;display:inline-block;height:14px;margin-left:1px;vertical-align:text-bottom;width:8px}.terminal-body::-webkit-scrollbar{width:3px}.terminal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}@media screen and (max-width:900px){.about__grid,.experience__grid,.skills__grid{grid-template-columns:1fr}.experience__year{text-align:left}.footer{flex-direction:column;gap:1rem;text-align:center}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:600px){.experience__grid{grid-template-columns:1fr}.experience__year{text-align:left}.creative__grid,.gallery-grid{grid-template-columns:1fr}.gallery-section{padding:4rem 1.5rem}}@media (max-width:768px){.widget-card{max-width:calc(100vw - 24px)}}
/*# sourceMappingURL=main.2af2edea.css.map*/