.app{position:relative;min-height:100vh;background:#1a1a1a}.page-transition{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a;z-index:9999;pointer-events:none}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a;display:flex;align-items:center;justify-content:center;z-index:10000}.loading-text{font-family:Tangrandeur,Cormorant Garamond,serif;font-size:2rem;font-weight:400;letter-spacing:.4em;color:#fff9;text-transform:uppercase;animation:loadingPulse 1.5s ease-in-out infinite}@keyframes loadingPulse{0%,to{opacity:.4}50%{opacity:1}}.cursor-dot{position:fixed;width:8px;height:8px;background:#fff;border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:transform .15s ease,opacity .2s ease}.cursor-trail{position:fixed;width:40px;height:40px;border:1.5px solid rgba(255,255,255,.5);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);opacity:.6;overflow:hidden;transition:transform .2s ease,border-color .2s ease}.cursor-fill{position:absolute;top:50%;left:50%;width:100%;height:100%;background:#c4beab7c;border-radius:50%;transform:translate(-50%,-50%) scale(0);transition:transform 1s cubic-bezier(.16,1,.3,1)}.cursor-trail.cursor-hover{transform:translate(-50%,-50%) scale(1.2);border-color:#ffffff80}.cursor-trail.cursor-hover .cursor-fill{transform:translate(-50%,-50%) scale(1)}@media(hover:none){.cursor-dot,.cursor-trail{display:none}}@media(hover:hover){*{cursor:none!important}}@media(prefers-reduced-motion:reduce){.cursor-trail{display:none}}.footer-copyright{position:fixed;bottom:10px;left:10px;z-index:100;pointer-events:none}.footer-copyright span{font-size:10px;color:#ffffff3f;font-family:Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase;font-weight:400}@media(max-width:768px){.footer-copyright{bottom:20px;left:20px}.footer-copyright span{font-size:10px}}@media(max-width:545px){.footer-copyright{bottom:15px;left:15px}.footer-copyright span{font-size:9px}}.header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:25px 30px;z-index:1100;pointer-events:none}.header>*{pointer-events:auto}.header-left{display:flex;flex-direction:column;gap:2px}.header-name{font-family:Tangrandeur,sans-serif;font-size:14px;font-weight:600;letter-spacing:.6em;color:#fff;margin:0;text-transform:uppercase}.header-location{font-family:Inter,sans-serif;font-size:11px;font-weight:300;color:#ffffff80}.header-right{display:flex;align-items:center;gap:20px}.nav-link{font-family:Inter,sans-serif;font-size:11px;font-weight:400;letter-spacing:.1em;color:#fffc;text-decoration:none;transition:color .3s ease;position:relative;display:inline-block}.nav-link:after{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:#fff;transition:width .3s ease}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link.active,.nav-link:hover{color:#fff}.nav-icon{display:flex;align-items:center;justify-content:center;color:#fffc}.nav-icon svg{width:18px;height:auto}.nav-icon:hover{color:#fff}@media(max-width:768px){.header{padding:20px}.header-name{font-size:11px}.header-location{font-size:10px}}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:auto;overflow:hidden}.loading-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#1a1a1a}.loading-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;padding:0 24px}.loading-indicator{display:flex;flex-direction:column;align-items:center;gap:20px;animation:fadeIn .5s ease}.loading-dots{display:flex;gap:8px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:#fffc;animation:dotPulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.loading-text{font-family:Inter,sans-serif!important;font-size:.6rem!important;font-weight:500;letter-spacing:.2em;color:#ffffff80;text-transform:uppercase}.hello-text{font-family:TANGRANDEUR,sans-serif;font-size:clamp(4rem,15vw,12rem);font-weight:600;color:#fff;letter-spacing:.1em;text-transform:uppercase;min-height:1.2em;display:inline-flex;align-items:center;justify-content:center}.typing-cursor{display:inline-block;font-weight:300;animation:blink .8s ease-in-out infinite;margin-left:.05em}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.loading-screen.loading .loading-content{animation:fadeIn .5s ease}.loading-screen.hello .loading-indicator,.loading-screen.fading .loading-indicator{display:none}.loading-screen.fading{animation:fadeOut .8s ease forwards;pointer-events:none}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.typing-cursor{animation:none;opacity:1}.loading-dots span{animation:none;opacity:1;transform:scale(1)}.loading-screen.fading{animation:fadeOut .3s ease forwards}}.particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.particle{position:absolute;bottom:-10px;border-radius:50%;background:#5c4d3d99;box-shadow:0 0 6px 2px #5c4d3d4d;filter:blur(.5px);animation:float-up linear infinite;transition:background .3s ease,box-shadow .3s ease}[data-theme=dark] .particle{background:#d8d3ca99;box-shadow:0 0 6px 2px #e8e2d94d}@keyframes float-up{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:var(--particle-opacity, .3)}90%{opacity:var(--particle-opacity, .3)}to{transform:translateY(-100vh) translate(20px);opacity:0}}@media(prefers-reduced-motion:reduce){.particle{animation:none;opacity:0}}.carousel-container{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;perspective:1200px;perspective-origin:50% 50%;pointer-events:none;z-index:10}.carousel-container.loaded{pointer-events:auto}.carousel-track{position:absolute;top:0;left:0;width:100%;height:100%;transform-style:preserve-3d}.project-card{position:absolute;top:50%;left:50%;margin-left:calc(-1*clamp(140px,22.5vw,350px));margin-top:calc(-1*clamp(80px,12.5vw,200px));width:clamp(280px,45vw,700px);aspect-ratio:16 / 9.5;transform-style:preserve-3d;cursor:pointer;will-change:transform,opacity;overflow:hidden;border-radius:0!important;background:#1a1a1a}.project-card.loaded{opacity:1}.card-image-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#1a1a1a;border-radius:0}.card-image{width:100%;height:100%;object-fit:cover;transition:filter .4s cubic-bezier(.25,.1,.25,1)}.project-card:hover .card-image{filter:brightness(.75)}.card-overlay{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:transparent;opacity:1;z-index:10;pointer-events:none;overflow:visible;white-space:nowrap}.project-card:hover .card-overlay{opacity:1}.card-title{font-family:Cormorant Garamond,serif;font-size:clamp(1.2rem,2.5vw,2.8rem);font-weight:400;color:#fff;letter-spacing:.15em;text-align:center;margin:0;text-shadow:0 6px 30px rgba(0,0,0,.95),0 0 60px rgba(0,0,0,.8),0 0 100px rgba(0,0,0,.5);text-transform:uppercase}.project-card:hover .card-title{transform:translateY(0)}.card-cta{display:flex;align-items:center;gap:10px;margin-top:20px;font-family:Inter,sans-serif;font-size:11px;font-weight:100;letter-spacing:.15em;color:#fff;opacity:1;transform:translate(0);text-shadow:0px 1px 3px rgb(0,0,0);transition:transform .15s ease-out}.project-card:hover .card-cta{transform:translate(10px)}.cta-arrow-icon{font-size:18px;transition:transform .3s ease}.project-card:hover .cta-arrow-icon{transform:translate(5px)}.scroll-hint{position:fixed;bottom:70px;left:0;right:0;display:flex;justify-content:center;align-items:center;z-index:100;pointer-events:none;animation:bobUpDown 2s ease-in-out infinite}.scroll-hint span{font-family:Inter,sans-serif;font-size:10px;font-weight:400;letter-spacing:.15em;color:#ffffff59;text-transform:UPPERCASE}@keyframes bobUpDown{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.carousel-nav{position:fixed;bottom:30px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:30px;z-index:100}.nav-label{font-family:Inter,sans-serif;font-size:11px;font-weight:400;letter-spacing:.1em;color:#fffc;cursor:pointer;transition:color .3s ease;text-decoration:none;position:relative;display:inline-block}.nav-label:after{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:#fff;transition:width .3s ease}.nav-label:hover:after,.nav-label.active:after{width:100%}.nav-label.active,.nav-label:hover{color:#fff}.nav-label:hover:after{width:100%}.nav-playground{color:#fff6;cursor:pointer;transition:color .3s ease;position:relative;display:inline-block}.nav-playground:after{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:#fff;transition:width .3s ease}.nav-playground:hover{color:#fff}.nav-playground:hover:after{width:100%}.nav-link{color:#fff9}.project-card.active .card-overlay{opacity:1}.project-card.active .card-title{transform:translateY(0)}@media(max-width:768px){.project-card{width:clamp(250px,75vw,350px);margin-left:calc(-1*clamp(125px,37.5vw,175px));margin-top:calc(-1*clamp(70px,21vw,100px))}.carousel-nav{bottom:20px;gap:20px}.scroll-indicator{right:20px}.card-title{font-size:1rem}.card-cta{font-size:9px}}@media(max-width:545px){.project-card{width:clamp(200px,65vw,280px);margin-left:calc(-1*clamp(100px,32.5vw,140px));margin-top:calc(-1*clamp(55px,18vw,80px))}.carousel-nav{gap:15px}.nav-label{font-size:10px}.card-title{font-size:.85rem}.card-cta{font-size:8px;margin-top:10px}}.random-assets-section{padding:120px 0 0;background:transparent}.random-assets-grid{max-width:1200px;margin:0 auto;padding:0 40px;display:block;column-count:3;column-gap:24px}.random-asset-item{width:100%;overflow:hidden;border-radius:4px;background:#232323;box-shadow:0 2px 12px #0000001a;position:relative;break-inside:avoid;margin-bottom:24px}.random-asset-item img{width:100%;height:auto;display:block}.image-hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .3s ease}.wireframe-item:hover .image-hover-overlay,.random-asset-item:hover .image-hover-overlay{opacity:1}.image-description{font-family:Inter,sans-serif;font-size:10px;font-weight:400;color:#dbd7cce6;text-align:center;line-height:1.6;letter-spacing:.02em;text-transform:uppercase}.tags-section{padding:80px 0 150px;background:transparent;text-align:center}.tags-list{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:24px}.tag-item{display:inline-block;font-family:Inter,sans-serif;font-size:12px;font-weight:100;color:#fcf9ef;background:#dfdac714;border-radius:16px;padding:6px 18px;letter-spacing:.08em;text-transform:uppercase;transition:background .2s}.tag-item:hover{background:#ffffff2e}.detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a;z-index:1000}.detail-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;overflow-y:auto;overflow-x:hidden;background:#1a1a1a;scroll-behavior:smooth}.detail-close{position:fixed;top:50px;right:25px;z-index:1002;background:transparent;border:0px solid rgba(255,255,255,.3);width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s ease,border-color .3s ease}.detail-close:hover{background:#fff0;color:#fcf9ef}.close-icon{color:#ddd9ca;font-size:24px;font-weight:300;line-height:1}.scroll-down-hint{position:fixed;bottom:30px;right:30px;z-index:1002;font-family:Inter,sans-serif;font-size:10px;letter-spacing:.1em;color:#ffffff80}.detail-content{min-height:100vh;padding:0}.detail-hero{position:relative;width:100%;min-height:100vh;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:flex-end}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#0000004d,#0009,#000c)}.hero-info{position:relative;z-index:1;padding:60px 80px;max-width:500px;margin-right:20%}.detail-title{font-family:Cormorant Garamond,serif;font-size:clamp(3rem,6vw,5rem);font-weight:300;color:#fcf9ef;letter-spacing:.1em;line-height:1;margin:0 0 30px}.detail-description{font-family:Inter,sans-serif;font-size:14px;font-weight:300;line-height:1.8;color:#ffffffb3;margin-bottom:30px}.visit-link{display:inline-block;font-family:Inter,sans-serif;font-size:12px;font-weight:500;letter-spacing:.1em;color:#fcf9ef;text-decoration:none;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.3);margin-bottom:50px;transition:border-color .3s ease}.visit-link:hover{border-color:#fcf9ef}.detail-meta{display:flex;flex-direction:column;gap:20px}.meta-item{display:flex;flex-direction:column;gap:5px}.meta-label{font-family:Inter,sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;color:#fcf9ef}.meta-value{font-family:Inter,sans-serif;font-size:13px;font-weight:300;color:#fff9}.screenshots-section{padding:120px 0;background:transparent}.section-title-container{text-align:center;margin-bottom:60px}.section-title{font-family:Inter,sans-serif;font-size:11px;font-weight:400;letter-spacing:.2em;color:#ffffff80}.screenshots-grid{max-width:1000px;margin:0 auto;padding:0 40px;display:flex;flex-direction:column;gap:40px}.screenshots-grid.grid-layout{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1200px}.screenshot-item{overflow:hidden;border-radius:4px}.screenshot-item img,.screenshot-item video{width:100%;height:auto;display:block}.screenshot-item.video-item{position:relative}.wireframes-section{padding:120px 0;background:transparent}.wireframes-grid{max-width:1000px;margin:0 auto;padding:0 40px;display:flex;flex-direction:column;gap:40px}.wireframes-grid.grid-layout{display:block;column-count:3;column-gap:24px;max-width:1200px}.wireframes-grid.grid-layout .wireframe-item{break-inside:avoid;margin-bottom:24px}.wireframe-item{overflow:hidden;border-radius:4px;position:relative}.wireframe-item img{width:100%;height:auto;display:block}.banner-section{width:100vw;height:100vh;min-height:600px;overflow:hidden}.banner-image-container{width:100%;height:100%}.banner-image{width:100%;height:100%;object-fit:cover}.responsive-section{padding:120px 0;background:transparent}.mobile-screenshots-grid{max-width:1200px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;justify-items:center}.mobile-screenshot-item{width:100%;max-width:280px;overflow:hidden;border-radius:4px}.mobile-screenshot-item img{width:100%;height:auto;display:block}.mobile-screenshot-item video,.mobile-screenshot-item .mobile-video{width:100%;height:auto;display:block}.paragraph-section{padding:10px 0;background:transparent}.paragraph-content{max-width:1070px;margin:0 auto;padding:0 10px;text-align:left}.project-paragraph{font-family:Cormorant Garamond,serif;text-transform:none;font-size:18px;font-weight:400;line-height:2;color:#ffffffb3;margin:0 0 1em}.project-paragraph:last-child{margin-bottom:0}.next-project-section{width:100%;height:100vh}.next-project-bg{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.next-project-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.next-project-bg:hover .next-project-overlay{background:#000000b0}.next-project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;transition:background .4s ease}.next-project-content{position:relative;z-index:1;text-align:center;pointer-events:none}.next-label{font-family:Inter,sans-serif;font-size:11px;font-weight:400;letter-spacing:.2em;color:#ffffff80;display:block;margin-bottom:20px}.next-title{font-family:Cormorant Garamond,serif;font-size:clamp(3rem,8vw,7rem);font-weight:300;color:#fff;letter-spacing:.15em;margin:0 0 40px}.next-project-cta{font-family:Inter,sans-serif;font-size:12px;font-weight:500;letter-spacing:.1em;color:#fff;display:inline-flex;align-items:center;gap:10px;transition:transform .3s ease}.next-project-cta .cta-arrow-icon{font-size:18px;transition:transform .3s ease}.next-project-bg:hover .next-project-cta,.next-project-bg:hover .cta-arrow-icon{transform:translate(5px)}@media(max-width:1024px){.hero-info{max-width:400px;padding:40px;margin-right:3%}.screenshots-section,.responsive-section,.paragraph-section{padding:80px 0}.banner-section{height:70vh}.next-project-section{height:80vh}}@media(max-width:768px){.detail-close{top:35px;right:9px;width:40px;height:40px}.detail-hero{flex-direction:column;justify-content:flex-end;padding-bottom:40px;min-height:85vh}.hero-info{max-width:100%;padding:30px 20px;margin-right:0}.hero-overlay{background:linear-gradient(to top,#000000e6,#00000080,#0003)}.detail-title{font-size:clamp(2rem,8vw,3rem);margin-bottom:20px}.detail-description{font-size:13px;line-height:1.7;margin-bottom:24px}.visit-link{font-size:11px;margin-bottom:30px}.meta-label{font-size:10px}.meta-value{font-size:12px}.screenshots-section{padding:60px 0}.screenshots-grid{padding:0 20px;gap:20px}.section-title-container{margin-bottom:30px}.section-title{font-size:10px}.wireframes-section{padding:60px 0}.wireframes-grid{padding:0 20px;gap:20px}.wireframes-grid.grid-layout{column-count:2;column-gap:16px;padding:0 20px}.wireframes-grid.grid-layout .wireframe-item{margin-bottom:16px}.random-assets-section{padding:60px 0 0}.random-assets-grid{column-count:2;column-gap:16px;padding:0 20px}.random-asset-item{margin-bottom:16px}.responsive-section{padding:60px 0}.mobile-screenshots-grid{padding:0 20px;gap:15px;grid-template-columns:repeat(2,1fr)}.paragraph-section{padding:40px 0}.paragraph-content{padding:0 20px}.project-paragraph{font-size:14px;line-height:1.8}.banner-section{display:none}.next-project-section{height:60vh}.next-project-title{font-size:clamp(1.5rem,6vw,2.5rem)}.scroll-down-hint{bottom:20px;right:20px;font-size:9px}.metrics-section{padding:60px 0}.metrics-grid{padding:0 20px;gap:16px;grid-template-columns:repeat(2,1fr)}.metric-item{padding:24px 16px}.metric-value{font-size:1.6rem}.metric-label{font-size:9px}.embed-section{padding:60px 0}.embed-container{padding:0 20px}.future-work-section{padding:60px 0}.future-work-list{padding:0 20px}.future-work-item{padding:14px 0}.future-work-text{font-size:16px}.tags-section{padding:40px 0 80px}.tags-list{gap:10px;padding:0 20px;margin-top:16px}.tag-item{font-size:10px;padding:5px 14px}.image-description{font-size:9px;padding:12px}}.metrics-section{padding:120px 0;background:transparent}.metrics-grid{max-width:900px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px;justify-items:center}.metric-item{text-align:center;padding:30px 20px;background:#ffffff08;border-radius:4px;width:100%}.metric-value{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:400;color:#fff;margin-bottom:12px;letter-spacing:.02em}.metric-label{font-family:Inter,sans-serif;font-size:10px;font-weight:400;letter-spacing:.15em;color:#ffffff80;text-transform:uppercase}.embed-section{padding:120px 0;background:transparent}.embed-container{max-width:1000px;margin:0 auto;padding:0 40px}.embed-wrapper{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:4px;background:#232323}.embed-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.future-work-section{padding:120px 0;background:transparent}.future-work-list{max-width:800px;margin:0 auto;padding:0 40px;display:flex;flex-direction:column;gap:0}.future-work-item{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.06)}.future-work-item:last-child{border-bottom:none}.future-work-bullet{font-family:Inter,sans-serif;color:#ffffff4d;font-size:14px;line-height:1.8;flex-shrink:0}.future-work-text{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:400;color:#ffffffb3;line-height:1.8}.next-transition-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:1003;pointer-events:none}.about-page{min-height:100vh;background:#1a1a1a;color:#fff;padding-top:120px;overflow-x:hidden}.about-hero{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:0 10%}.hero-text-container{display:flex;flex-direction:column;align-items:flex-start;padding-top:25px}.hero-line{position:relative;overflow:visible;padding:0}.hero-text{font-family:Tangrandeur,Cormorant Garamond,serif;font-size:clamp(4rem,12vw,10rem);font-weight:300;letter-spacing:.02em;line-height:1.5;text-transform:uppercase;display:block}.text-cover{position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;background:#fff}.about-section{padding:50px 10%;display:flex;justify-content:center}.section-content{max-width:900px;width:100%;text-align:center}.section-title{font-family:Inter,sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:#ffffff80;margin-bottom:40px}.separator{width:100%;height:1px;background:#ffffff26;margin-bottom:50px}.bio-text{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:300;line-height:1.9;color:#ffffffd9;text-align:center;max-width:900px;margin:0 auto}.social-links{display:flex;gap:40px;justify-content:center}.social-link{font-family:Inter,sans-serif;font-size:.75rem;text-transform:uppercase;transition:color .2s ease;font-weight:500;color:#ffffffa1;margin-top:-30px;text-decoration:none;position:relative;display:inline-block}.social-link:after{content:"";position:absolute;left:0;top:25%;width:0;height:1px;background:#fff;transition:width .3s ease}.social-link:hover{color:#fff}.social-link:hover:after{width:100%}.projects-section{position:relative}.projects-section .section-content{text-align:left;max-width:100%}.projects-list{display:flex;flex-direction:column}.project-list-item-wrapper{position:relative}.project-list-item{display:flex;align-items:baseline;gap:30px;padding:25px 0;cursor:pointer}.project-number{font-family:Inter,sans-serif;font-size:.75rem;color:#fff6}.project-name{font-family:Tangrandeur,Cormorant Garamond,serif;font-size:clamp(1.5rem,4vw,3rem);font-weight:300;letter-spacing:.02em}.project-separator{width:100%;height:1px;background:#ffffff26}.hover-project-image{position:fixed;width:300px;height:200px;background-size:cover;background-position:center;pointer-events:none;z-index:100;transform:translate(20px,20px);border-radius:0}.banner-section{width:100%;height:50vh;overflow:hidden}.banner-image{width:100%;height:100%;background-size:cover;background-position:center}.contact-section .contact-text{font-family:Tangrandeur,serif;font-size:8rem;font-weight:300;text-transform:uppercase}.email-link{position:relative;display:inline-block;cursor:pointer;overflow:hidden;height:1.95em;vertical-align:bottom}.email-text-wrapper{display:inline-flex;flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1)}.email-text{color:#fff;text-underline-offset:4px}.email-text-hover{position:absolute;top:100%}.email-link:hover .email-text-wrapper{transform:translateY(-100%)}.about-footer{padding:40px 10% 60px}.footer-content{max-width:100%}.footer-separator{width:100%;height:1px;background:#ffffff26;margin-bottom:30px}.footer-row{display:flex;justify-content:space-between;align-items:center}.copyright{font-family:Inter,sans-serif;font-size:.85rem;color:#ffffff80}.footer-socials{display:flex;gap:30px}.footer-socials a{font-family:Inter,sans-serif;font-size:.85rem;color:#ffffff80;text-decoration:none;transition:color .2s ease}.footer-socials a:hover{color:#fff}@media(max-width:768px){.about-hero{min-height:40vh;padding:0 5%}.about-section{padding:60px 5%}.social-links{flex-wrap:wrap;gap:20px}.hover-project-image{display:none}.footer-row{flex-direction:column;gap:20px;text-align:center}}.random-page{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a;overflow:hidden;cursor:grab}.random-page:active{cursor:grabbing}.gallery-canvas{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none}.gallery-content{position:absolute;top:50%;left:50%}.gallery-image-wrapper{position:absolute;overflow:hidden;-webkit-user-select:none;user-select:none}.gallery-image{width:100%;height:100%;object-fit:cover;pointer-events:none;transition:filter .3s ease}.gallery-image-wrapper:hover .gallery-image{filter:brightness(.8)}.gallery-image-title{position:absolute;bottom:-30px;left:0;right:0;text-align:center;font-family:Cormorant Garamond,serif;font-size:.9rem;color:#ffffffb3;white-space:nowrap}.random-instructions{position:fixed;bottom:30px;left:50%;transform:translate(-50%);font-family:Inter,sans-serif;font-size:.7rem;letter-spacing:.15em;color:#ffffff4d;pointer-events:none}@media(max-width:768px){.random-instructions{bottom:20px}}@font-face{font-family:Tangrandeur;src:url(/fonts/TANGRANDEUR.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#1a1a1a;color:#fff;min-height:100vh;overflow-x:hidden;cursor:none}a,button,[role=button]{cursor:none}::selection{background:#fff3;color:#fff}html{scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{font-family:Cormorant Garamond,serif;font-weight:300}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#000}::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff6}#root{min-height:100vh}.app{min-height:100vh;position:relative}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:10000}.loading-text{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:300;letter-spacing:.3em;color:#fff9}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(hover:none)and (pointer:coarse){body,a,button,[role=button]{cursor:auto}}
