.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--bg-color: #ffffff;--text-color: #000000;--text-color-rgb: 0, 0, 0;--card-bg: #f5f5f5;--nav-link-hover: rgba(0, 0, 0, .7);--button-bg: #000000;--button-text: #ffffff;--footer-bg: #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-scrolling iframe{pointer-events:none}[data-theme=dark]{--bg-color: #0f0f0f;--text-color: #e8e8e8;--text-color-rgb: 232, 232, 232;--card-bg: #1a1a1a;--nav-link-hover: rgba(232, 232, 232, .7);--button-bg: transparent;--button-text: #e8e8e8;--footer-bg: #0a0a0a}*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;user-drag:none}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-color);overflow-x:hidden;transition:background-color .15s ease,color .15s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::selection{background:transparent;color:inherit}::-moz-selection{background:transparent;color:inherit}img{-webkit-user-drag:none;user-drag:none}canvas{-webkit-user-select:none;-moz-user-select:none;user-select:none}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}.App{width:100%;position:relative;background-color:var(--bg-color);transition:background-color .15s ease}.main-content{position:relative;z-index:1;background-color:var(--bg-color);isolation:isolate}.section-home{height:100vh;width:100%;position:sticky;top:0;z-index:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-color);will-change:filter,opacity}.section-works{position:relative;z-index:2;min-height:100vh;width:100%;background-color:var(--bg-color);box-shadow:0 -20px 50px #0003;transition:background-color .15s ease}.footer-spacer{height:45vh;min-height:320px;max-height:400px;position:relative;z-index:1;background:transparent!important;pointer-events:none}::-webkit-scrollbar{width:0px}html{scroll-behavior:auto}@media (max-width: 768px){.footer-spacer{height:50vh;min-height:350px;max-height:450px}}.header{padding:.5rem 0;background-color:var(--bg-color);width:100%;box-sizing:border-box;overflow:hidden;transition:background-color .15s ease}.main-title{font-size:10.4vw;font-weight:900;letter-spacing:-.05em;color:var(--text-color);line-height:.8;margin:0;padding:0 1.5vw;font-family:Arial Black,Arial Bold,sans-serif;text-transform:uppercase;width:100%;text-align:justify;text-align-last:justify;white-space:nowrap;display:block;transition:color .15s ease}.header-bottom{display:flex;justify-content:space-between;align-items:baseline;margin-top:.2rem;padding:0 2vw;width:100%}.subtitle-container{display:flex;align-items:center}.subtitle{font-size:clamp(.7rem,1.2vw,1.1rem);font-weight:300;color:var(--text-color);margin:0;letter-spacing:.02em;font-family:Roboto Condensed,sans-serif;transition:color .15s ease}.header-nav{display:flex;gap:7rem;align-items:center}.nav-link{color:var(--text-color);text-decoration:none;font-size:clamp(.7rem,1.1vw,1rem);font-weight:400;letter-spacing:.05em;transition:opacity .3s ease,color .15s ease;font-family:Roboto Condensed,sans-serif;position:relative}.nav-link:hover{opacity:.7}.about-link{position:relative;display:inline-block;cursor:default;transition:all .3s ease}@media (max-width: 768px){.header{padding:1rem 5vw}.main-title{font-size:12vw;text-align-last:left;white-space:normal;line-height:1}.header-bottom{flex-direction:column;gap:1.5rem;align-items:flex-start}.subtitle-container{width:100%}.header-nav{width:100%;justify-content:space-between;gap:0}}.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;background-color:var(--bg-color);transition:background-color .15s ease;width:100%;overflow:hidden}.hero-content{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;justify-content:center}.image-container{position:relative;width:96vw;height:100%;max-height:calc(100vh - 8rem);display:flex;align-items:center;justify-content:center;background-color:transparent;margin:0 auto;overflow:hidden}.hero-image{width:100%;height:100%;display:block;border-radius:4px;position:relative;background-color:#f0f0f0;background-image:url(/img.png);background-size:cover;background-position:center}[data-theme=dark] .hero-image{background-color:#1a1a1a}.particles-active .hero-image{background-image:none;background-color:transparent}.hero-image canvas{width:100%!important;height:100%!important;border-radius:4px;object-fit:cover;position:absolute;top:0;left:0}.username-overlay{position:absolute;top:40%;right:32%;transform:translateY(-50%);font-family:Lavishly Yours,cursive;font-size:clamp(2.5rem,5vw,3rem);color:#fff;font-weight:400;z-index:100;pointer-events:none;text-shadow:2px 2px 8px rgba(0,0,0,.5)}@media (max-width: 768px){.image-container{width:92vw;max-height:calc(100vh - 10rem)}.username-overlay{right:8%;font-size:clamp(2rem,10vw,5rem);top:30%}}.footer{padding:1rem 3rem;background-color:var(--bg-color);width:100%;box-sizing:border-box;transition:background-color .15s ease}.footer-content{display:flex;justify-content:space-between;align-items:flex-end;width:100%}.footer-left{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}.footer-text{font-size:clamp(.7rem,1.2vw,1.1rem);color:var(--text-color);margin:0;font-weight:300;letter-spacing:.02em;font-family:Roboto Condensed,sans-serif;transition:color .15s ease}.footer-bottom-row{display:flex;align-items:center;gap:1rem}.footer-location{font-size:clamp(.65rem,1vw,.9rem);color:var(--text-color);margin:0;font-weight:400;letter-spacing:.03em;font-family:Roboto Condensed,sans-serif;transition:color .15s ease;opacity:.7}.footer-works{font-size:clamp(1.5rem,4vw,3.5rem);font-weight:900;letter-spacing:-.01em;color:var(--text-color);line-height:.9;margin:0;font-family:Arial Black,Arial Bold,sans-serif;text-transform:uppercase;transition:color .15s ease,opacity .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.footer-works:hover{opacity:.7}.footer-works .arrow-down{font-size:.7em;display:inline-block;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}60%{transform:translateY(-3px)}}@media (max-width: 768px){.footer{padding:1.2rem 1.5rem 1rem}.footer-content{flex-direction:column;align-items:flex-start;gap:1.5rem}.footer-left{width:100%}.footer-works{width:100%;text-align:right}}.theme-toggle{background:transparent;border:1px solid var(--text-color);color:var(--text-color);padding:.3rem .5rem;font-size:1.2rem;cursor:pointer;border-radius:50%;transition:all .15s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.theme-toggle:hover{background:var(--text-color);color:var(--bg-color);transform:scale(1.1)}.works-container{position:relative;will-change:auto}.works-section{min-height:100vh;width:100%;background-color:var(--bg-color);color:var(--text-color);display:flex;flex-direction:column;padding:2rem 6vw;position:relative;z-index:2;transition:background-color .15s ease,color .15s ease}.works-header{margin-bottom:2rem}.section-title{font-family:Lavishly Yours,cursive;font-size:clamp(1.8rem,3.5vw,3rem);font-weight:400;margin:0;color:var(--text-color);opacity:.9}.works-content{flex:1;display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;align-items:center;min-height:0;padding:0}.project-details{display:flex;flex-direction:column;height:100%;justify-content:center}.project-info{display:flex;flex-direction:column;gap:1rem}.project-description{font-family:Roboto Condensed,sans-serif;font-size:clamp(.85rem,1vw,.95rem);font-weight:400;line-height:1.7;color:var(--text-color);opacity:.85;margin:0;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.project-tags{font-family:Roboto Condensed,sans-serif;font-size:.85rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text-color);opacity:.6;margin:0;animation:fadeIn .5s ease-in-out .1s both}.view-project-link{font-family:Roboto Condensed,sans-serif;font-size:1rem;font-weight:600;color:var(--text-color);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:gap .3s ease;margin-top:.5rem;animation:fadeIn .5s ease-in-out .2s both}.view-project-link:hover{gap:.9rem}.view-project-link .arrow{font-size:1.2rem;transition:transform .3s ease}.view-project-link:hover .arrow{transform:translate(5px)}.projects-list{display:flex;flex-direction:column;gap:0;align-items:flex-start;justify-content:center;height:100%;position:relative}.project-item{display:flex;align-items:center;gap:1.5rem;cursor:pointer;transition:all .6s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible;padding:1.2rem 0;border-bottom:1px solid currentColor;border-bottom-color:#00000026}[data-theme=dark] .project-item{border-bottom-color:#ffffff26}.project-item:first-child{border-top:1px solid currentColor;border-top-color:#00000026}[data-theme=dark] .project-item:first-child{border-top-color:#ffffff26}.project-item:hover{gap:2rem}.project-number{font-family:Roboto Condensed,sans-serif;font-size:clamp(.7rem,.9vw,.85rem);font-weight:400;color:var(--text-color);opacity:.4;transition:all .4s cubic-bezier(.4,0,.2,1);flex-shrink:0}.project-name-wrapper{display:inline-flex;align-items:center;gap:0;overflow:visible;position:relative;flex-wrap:nowrap;margin:0;padding:0}.project-name-part{font-family:Arial Black,Arial Bold,sans-serif;font-size:clamp(1.5rem,2.8vw,2.8rem);font-weight:900;text-transform:lowercase;letter-spacing:-.02em;margin:0;color:var(--text-color);opacity:.2;transition:all .6s cubic-bezier(.4,0,.2,1);line-height:1;white-space:nowrap;will-change:transform,opacity}.project-name-first{transform:translate(0);padding-right:0}.project-name-second{transform:translate(0);padding-left:0}.project-image-inline{width:0;opacity:0;overflow:hidden;transition:width .6s cubic-bezier(.4,0,.2,1),opacity .6s cubic-bezier(.4,0,.2,1);margin:0;padding:0;display:inline-flex;align-items:center;height:auto;flex-shrink:0}.inline-project-image{width:0;height:2.2em;object-fit:cover;border-radius:6px;box-shadow:0 6px 20px #00000040;display:block;transition:all .6s cubic-bezier(.4,0,.2,1);opacity:0;vertical-align:middle;margin:0;padding:0;will-change:width,opacity}.project-item:hover .project-name-first{transform:translate(-25px)}.project-item:hover .project-name-second{transform:translate(25px)}.project-item:hover .project-image-inline{width:auto;opacity:1;margin:0;padding:0}.project-item:hover .inline-project-image{width:3.6em;opacity:1}.project-item.active .project-number{opacity:1;font-weight:600}.project-item.active .project-name-part{opacity:1;color:var(--text-color)}.project-item:not(.active):hover .project-name-part{opacity:.4}.works-footer{display:flex;justify-content:center;align-items:flex-end;padding-top:1rem;margin-top:auto}.quote-section{text-align:center}.quote-text{font-family:Roboto Condensed,sans-serif;font-size:clamp(.7rem,.9vw,.85rem);font-weight:300;font-style:italic;margin:0 0 .2rem;color:var(--text-color);opacity:.7}.quote-author{font-family:Lavishly Yours,cursive;font-size:clamp(1rem,1.5vw,1.4rem);margin:0;color:var(--text-color)}@media (max-width: 1024px){.works-content{grid-template-columns:1.2fr 1fr;gap:6vw}.project-item:hover{gap:1.8rem}.project-name-part{font-size:clamp(1.3rem,2.5vw,2.3rem)}.inline-project-image{height:2em}.project-item:hover .project-image-inline{width:auto;margin:0;padding:0}.project-item:hover .inline-project-image{width:3.2em}.project-item:hover .project-name-first{transform:translate(-20px)}.project-item:hover .project-name-second{transform:translate(20px)}}@media (max-width: 768px){.works-section{padding:0 6vw;height:100vh;min-height:100vh;display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;gap:0;overflow:hidden}.works-header{margin:0;text-align:center;width:100%;padding-top:2rem}.section-title{font-size:1.8rem}.works-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5.5rem;width:100%;margin:0;padding:0}.projects-list{order:1;width:100%;align-items:center;text-align:center;gap:.4rem;height:auto;justify-content:center}.project-item{padding:.5rem 0;gap:.8rem;justify-content:center;width:100%;border-bottom:1px solid rgba(var(--text-color-rgb),.1)}.project-item:first-child,.project-item{border-top:none}.project-item:last-child{border-bottom:none}.project-name-part{font-size:clamp(1.2rem,5.5vw,1.8rem);opacity:.3;text-align:center}.project-item.active .project-name-part{opacity:1}.project-number{display:none}.project-details{order:2;height:auto;min-height:auto;justify-content:center;text-align:center;width:100%;margin-top:0}.project-info{align-items:center;gap:1.2rem}.project-description{font-size:.85rem;line-height:1.4;max-width:95%;margin:0 auto}.project-tags{font-size:.75rem}.view-project-link{font-size:.9rem;margin-top:.3rem;justify-content:center}.project-item:hover .project-name-first,.project-item:hover .project-name-second{transform:translate(0)}.project-item:hover .project-image-inline{width:0;opacity:0}.works-footer{padding-bottom:2rem;margin:0;width:100%;text-align:center;border-top:none}.quote-section{width:100%}.quote-text{font-size:.7rem;max-width:90%;margin:0 auto .2rem}.quote-author{font-size:1rem}}@media (max-width: 480px){.works-section{padding:0 5vw}.section-title{font-size:1.6rem}.works-content{gap:2.5rem}.project-name-part{font-size:clamp(1.1rem,5vw,1.5rem)}.project-description{font-size:.8rem;line-height:1.35}.project-item{padding:.3rem 0}}.reveal-footer{position:fixed;bottom:0;left:0;right:0;height:45vh;min-height:320px;max-height:400px;background-color:var(--footer-bg);color:var(--text-color);z-index:0;display:flex;flex-direction:column;justify-content:flex-start;padding:2rem 6vw 1rem;transition:background-color .15s ease,color .15s ease}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;gap:3rem;margin-bottom:.5rem;flex:1}.footer-brand{flex:1;max-width:350px}.footer-name{font-family:Arial Black,Arial Bold,sans-serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;letter-spacing:-.02em;margin:0 0 .8rem;line-height:1}.footer-tagline{font-family:Roboto Condensed,sans-serif;font-size:clamp(.85rem,1.1vw,1rem);font-weight:300;opacity:.7;margin:0;line-height:1.5}.footer-links{display:flex;gap:3.5rem}.link-group{display:flex;flex-direction:column;gap:.6rem}.link-heading{font-family:Roboto Condensed,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin:0 0 .5rem;opacity:.5}.footer-link{font-family:Roboto Condensed,sans-serif;font-size:.95rem;font-weight:400;color:inherit;text-decoration:none;opacity:.8;transition:opacity .2s ease,transform .2s ease;display:inline-block}.footer-link:hover{opacity:1;transform:translate(4px)}.footer-cta{text-align:right}.cta-text{font-family:Roboto Condensed,sans-serif;font-size:.9rem;font-weight:300;opacity:.6;margin:0 0 1rem}.cta-button{display:inline-flex;align-items:center;gap:.8rem;font-family:Roboto Condensed,sans-serif;font-size:1.1rem;font-weight:600;color:var(--bg-color);background-color:var(--text-color);text-decoration:none;padding:1rem 2rem;border-radius:50px;transition:all .3s ease}.cta-button:hover{transform:scale(1.05);box-shadow:0 10px 30px #0003}.cta-button:hover .cta-arrow{transform:translate(5px)}.cta-arrow{font-size:1.2rem;transition:transform .3s ease}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:.6rem;border-top:1px solid currentColor;opacity:.4}.copyright,.footer-credit{font-family:Roboto Condensed,sans-serif;font-size:.8rem;font-weight:400;margin:0}@media (max-width: 1024px){.reveal-footer{padding:1.5rem 5vw 1rem}.footer-content{gap:2.5rem;margin-bottom:.5rem}.footer-links{gap:2.5rem}}@media (max-width: 768px){.reveal-footer{height:auto;min-height:400px;max-height:none;padding:1.5rem 6vw 1rem}.footer-content{flex-direction:column;align-items:center;text-align:center;gap:2rem;margin-bottom:.5rem}.footer-brand{max-width:100%}.footer-links{gap:3rem}.link-group{align-items:center}.footer-link:hover{transform:none}.footer-cta{text-align:center;width:100%}.cta-button{width:100%;max-width:280px;justify-content:center}.footer-bottom{flex-direction:column;gap:.5rem;text-align:center}}@media (max-width: 480px){.reveal-footer{padding:1.5rem 5vw 1rem}.footer-name{font-size:1.4rem}.footer-links{gap:2.5rem}.footer-link{font-size:.9rem}.cta-button{padding:.9rem 1.5rem;font-size:1rem}}@media (pointer: fine){*{cursor:none!important}}.sticky-cursor{display:none}.sticky-cursor-dot{position:fixed;top:0;left:0;width:12px;height:12px;background-color:var(--text-color);border-radius:50%;pointer-events:none;z-index:1000000;transform:translate(-50%,-50%);transition:width .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1),background-color .2s ease,opacity .2s ease;opacity:.8}.sticky-cursor.cursor-hover{display:none}.sticky-cursor-dot.cursor-dot-hover{width:20px;height:20px}[data-theme=light] .sticky-cursor-dot.cursor-dot-hover{opacity:.5}[data-theme=dark] .sticky-cursor-dot.cursor-dot-hover{opacity:.7}@media (pointer: coarse){.sticky-cursor,.sticky-cursor-dot{display:none}}[data-theme=light] .sticky-cursor-dot{background-color:#000;opacity:.6}[data-theme=dark] .sticky-cursor-dot{background-color:#fff;opacity:.8}@keyframes cursorFadeInLight{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:.6;transform:translate(-50%,-50%) scale(1)}}@keyframes cursorFadeInDark{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:.8;transform:translate(-50%,-50%) scale(1)}}[data-theme=light] .sticky-cursor-dot{animation:cursorFadeInLight .3s ease-out}[data-theme=dark] .sticky-cursor-dot{animation:cursorFadeInDark .3s ease-out}.cursor-trail-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:999999;background:transparent}@media (pointer: coarse){.cursor-trail-canvas{display:none}}
