:root{--color-bg: #0a0a0a;--color-bg-alt: #111111;--color-text: #ffffff;--color-text-muted: #888888;--color-accent: #c8ff00;--color-accent-alt: #00ffd5;--color-border: #2a2a2a;--font-display: "Playfair Display", Georgia, serif;--font-body: "Space Grotesk", -apple-system, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem;--transition-fast: .2s ease;--transition-medium: .4s cubic-bezier(.4, 0, .2, 1);--transition-slow: .8s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}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}.grain-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9000;opacity:.08;background-image:url(/assets/noise.png);background-repeat:repeat;background-size:512px}img{max-width:100%;height:auto;display:block}::selection{background:var(--color-accent);color:var(--color-bg)}.skip-nav{position:fixed;top:-100%;left:50%;transform:translate(-50%);z-index:10002;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent);color:var(--color-bg);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;transition:top .3s ease}.skip-nav:focus{top:var(--spacing-sm)}.nav{position:fixed;top:0;left:0;right:0;z-index:10002;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);mix-blend-mode:difference}.nav-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:400;letter-spacing:.02em;color:#fff;transition:var(--transition-fast)}.nav-logo:hover,.logo-dot{color:var(--color-accent)}.nav-links{display:flex;align-items:center;gap:var(--spacing-lg)}.nav-links a{font-size:.875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;position:relative;color:#fff;transition:var(--transition-fast)}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--color-accent);transition:var(--transition-medium)}.nav-links a:hover:after{width:100%}.nav-links a.nav-cta{border:1px solid var(--color-accent);color:var(--color-accent);padding:.45em 1.2em;border-radius:100px;transition:background .3s ease,color .3s ease}.nav-links a.nav-cta:after{display:none}.nav-links a.nav-cta:hover{background:var(--color-accent);color:var(--color-bg)}.nav-dropdown-wrapper{position:relative;display:inline-block}.nav-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(10px);background:var(--color-bg);border:1px solid var(--color-border);min-width:200px;padding:.5rem;opacity:0;visibility:hidden;transition:all .25s ease;z-index:100;box-shadow:0 10px 30px #00000080}.nav-dropdown-wrapper:hover .nav-dropdown{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.nav-dropdown a{display:block!important;padding:.75rem 1rem!important;font-size:.8rem!important;text-align:center;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s ease,color .2s ease}.nav-dropdown a:after{display:none!important}.nav-dropdown a:last-child{border-bottom:none}.nav-dropdown a:hover{background:#ffffff08;color:var(--color-accent)!important}.nav-menu-btn{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:10px;position:relative;z-index:10003}.nav-menu-btn span{width:24px;height:2px;background:var(--color-text);transition:transform .3s ease,opacity .3s ease}.nav-menu-btn.active span:first-child{transform:translateY(4px) rotate(45deg)}.nav-menu-btn.active span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;background:var(--color-bg);display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:clamp(5rem,14vh,7rem) var(--spacing-md) max(2rem,env(safe-area-inset-bottom));gap:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;transition:var(--transition-medium);z-index:10001}.mobile-menu.active{opacity:1;visibility:visible}.mobile-menu a{font-family:var(--font-display);font-size:clamp(1.35rem,7.5vw,2.25rem);font-weight:400;color:var(--color-text);line-height:1.1;padding:.95rem 0;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;transition:var(--transition-fast)}.mobile-menu a:first-child{border-top:1px solid rgba(255,255,255,.08)}.mobile-menu a:after{content:"→";font-size:1.5rem;opacity:.3;transition:var(--transition-fast)}.mobile-menu a:hover{color:var(--color-accent)}.mobile-menu a:hover:after{opacity:1;color:var(--color-accent)}.mobile-menu a.sv-nav-dropdown-trigger{justify-content:flex-start;gap:.4rem}.mobile-menu a.sv-nav-dropdown-trigger span{display:inline-flex;align-items:center;line-height:1}.mobile-menu a.sv-nav-dropdown-trigger:after{margin-left:auto}.mobile-dropdown{display:none;flex-direction:column;padding-left:var(--spacing-md);margin-top:.5rem;gap:.75rem;border-left:1px solid rgba(255,255,255,.1)}.mobile-dropdown.open{display:flex}.mobile-dropdown a{font-family:var(--font-body)!important;font-size:1.25rem!important;color:#fff!important;padding:.5rem 0!important;border-bottom:none!important}.mobile-dropdown a:after{display:none!important}.mobile-dropdown a.active{color:#fff!important}.hero{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-video-grid{position:absolute;inset:-1px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:3px}.hero-cell{position:relative;overflow:hidden;background:var(--color-bg-alt)}.hero-cell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-cell-large{grid-column:span 2;grid-row:span 2}.hero-cell-tall{grid-row:span 2}.hero-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#000000b3,#00000073 60%,#0009);padding:var(--spacing-xl) var(--spacing-lg)}.hero-content{text-align:center;max-width:900px}.project-hover-video{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);object-fit:cover;opacity:0;transition:opacity .8s ease;z-index:1;background:transparent}.project-hover-video.playing{opacity:1}.project-row .project-image .project-overlay{z-index:2}.hero-title{font-family:var(--font-display);font-size:clamp(4rem,11vw,9rem);font-weight:400;line-height:.85;margin-bottom:var(--spacing-lg);letter-spacing:-.02em}.title-line{display:block}.title-line.accent{color:var(--color-accent);font-style:italic}.hero-info{margin-top:var(--spacing-md)}.hero-tagline{font-size:1.35rem;font-weight:400;line-height:1.5;margin-bottom:var(--spacing-md);color:#ffffffe6;text-shadow:0 2px 20px rgba(0,0,0,.6)}.hero-meta{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;text-shadow:0 1px 10px rgba(0,0,0,.5)}.separator{color:var(--color-accent)}.hero-scroll{position:absolute;bottom:var(--spacing-lg);left:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-muted)}.scroll-line{width:60px;height:1px;background:linear-gradient(90deg,var(--color-accent),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleX(.5)}50%{opacity:1;transform:scaleX(1)}}.worked-with{padding:var(--spacing-xl) var(--spacing-lg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:center}.ww-label{display:block;font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.25em;color:var(--color-accent);margin-bottom:var(--spacing-lg)}.ww-names{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;max-width:1200px;margin:0 auto}.ww-name{font-family:var(--font-display);font-size:clamp(1.3rem,2.8vw,2.2rem);font-weight:400;font-style:italic;color:#fffc;transition:color .3s ease;white-space:nowrap;line-height:1.8}.ww-name:after{content:"·";display:inline-block;margin:0 .6em;color:var(--color-accent);font-style:normal;font-size:1.4em;vertical-align:middle;line-height:1}.ww-name:last-child:after{display:none}.ww-name:hover{color:var(--color-accent)}.projects{padding:var(--spacing-xl) var(--spacing-lg);background:var(--color-bg-alt)}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:var(--spacing-lg)}.section-header-content{flex:1;min-width:300px}.section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,4rem);font-weight:400}.section-subtitle{font-size:.875rem;color:var(--color-text-muted);letter-spacing:.1em}.section-header-filters{display:flex;align-items:flex-end}.home-filter-tags{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.filter-tag-small{padding:6px 16px;background:transparent;border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-body);font-size:.75rem;letter-spacing:.05em;cursor:pointer;transition:var(--transition-fast);text-transform:capitalize;white-space:nowrap}.filter-tag-small:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-tag-small.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.projects-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.project-row{position:relative}.project-row .project-link{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:center;text-decoration:none}.project-row-reverse .project-link{direction:rtl}.project-row-reverse .project-link>*{direction:ltr}.project-image-wrapper{position:relative;overflow:hidden}.project-row .project-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--color-border);border:1px solid var(--color-border);transition:border-color .4s ease,transform .6s cubic-bezier(.16,1,.3,1)}.project-row:hover .project-image,.project-row.in-view .project-image{border-color:var(--color-accent)}.project-row .project-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;transition:transform .8s cubic-bezier(.16,1,.3,1)}.project-row:hover .project-image img,.project-row.in-view .project-image img{transform:scale(1.05)}.project-row .project-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#0d0d0d);transition:transform .8s cubic-bezier(.16,1,.3,1)}.project-row:hover .project-placeholder,.project-row.in-view .project-placeholder{transform:scale(1.1)}.project-row .placeholder-text{font-family:var(--font-display);font-size:clamp(5rem,10vw,10rem);font-style:italic;color:var(--color-border);transition:var(--transition-medium)}.project-row:hover .placeholder-text,.project-row.in-view .placeholder-text{color:var(--color-accent);text-shadow:0 0 80px rgba(200,255,0,.4)}.project-row .project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 50%);opacity:0;transition:var(--transition-medium)}.project-row:hover .project-overlay,.project-row.in-view .project-overlay{opacity:1}.project-content{padding:var(--spacing-lg) 0}.project-number{display:block;font-family:var(--font-display);font-size:.875rem;font-style:italic;color:var(--color-border);margin-bottom:var(--spacing-sm);transition:var(--transition-fast)}.project-row:hover .project-number,.project-row.in-view .project-number{color:var(--color-accent)}.project-category{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.project-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.1;margin-bottom:var(--spacing-md);transition:var(--transition-fast)}.project-row:hover .project-title,.project-row.in-view .project-title{color:var(--color-accent)}.project-summary{font-size:1rem;color:var(--color-text-muted);line-height:1.8;margin-bottom:var(--spacing-lg);max-width:500px}.project-meta{display:flex;align-items:center;gap:var(--spacing-lg)}.project-year{font-size:.875rem;color:var(--color-text-muted);letter-spacing:.05em}.project-cta{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text);display:flex;align-items:center;gap:var(--spacing-xs);transition:var(--transition-fast)}.project-cta .arrow{display:inline-block;transition:transform .3s ease}.project-row:hover .project-cta,.project-row.in-view .project-cta{color:var(--color-accent)}.project-row:hover .project-cta .arrow,.project-row.in-view .project-cta .arrow{transform:translate(8px)}.projects-cta{margin-top:var(--spacing-xl);text-align:center}.btn-view-all{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--color-text);font-size:.875rem;text-transform:uppercase;letter-spacing:.15em;transition:var(--transition-medium)}.btn-view-all:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.about{padding:var(--spacing-xl) var(--spacing-lg)}.about-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-xl);align-items:start}.about-image{position:sticky;top:var(--spacing-xl)}.about-polaroids,.about-collage,.about-contact-sheet{display:none}.about-image[data-mode=polaroids] .about-polaroids{display:block}.about-image[data-mode=collage] .about-collage{display:grid}.about-image[data-mode=contact] .about-contact-sheet{display:flex}.about-polaroids{position:relative;aspect-ratio:3/4}.polaroid{position:absolute;width:48%;background:#fff;padding:8px 8px 32px;box-shadow:0 4px 20px #0006;top:50%;left:50%;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transition:box-shadow .3s ease}.polaroid.dragging{cursor:grabbing;box-shadow:0 16px 50px #0009,0 0 0 1px #c8ff001a}.polaroid-drag-hint{position:absolute;bottom:-36px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;background:#c8ff0026;border:1px solid rgba(200,255,0,.3);color:var(--color-accent, #c8ff00);padding:5px 12px;border-radius:20px;font-size:.65rem;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10}.polaroid-drag-hint svg{width:14px;height:14px;opacity:.8}.polaroid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;pointer-events:none}.polaroid-label{display:block;font-family:var(--font-body);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#666;text-align:center;margin-top:8px}.polaroid:nth-child(1){z-index:1}.polaroid:nth-child(2){z-index:2}.polaroid:nth-child(3){z-index:3}.polaroid:nth-child(4){z-index:4}.polaroid:nth-child(5){z-index:5}.polaroid:nth-child(6){z-index:6}.polaroid:nth-child(7){z-index:7}.about-collage{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;aspect-ratio:3/4}.collage-item{overflow:hidden;position:relative}.collage-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.collage-item:hover img{transform:scale(1.05)}.collage-tall{grid-row:span 2}.collage-wide{grid-column:span 2}.about-contact-sheet{aspect-ratio:3/4;background:#f5f0e8;padding:6px 0;gap:0;align-items:stretch;border:1px solid #d4cfc4}.sprocket-strip{width:20px;flex-shrink:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 8px,#c4bfb4 8px,#c4bfb4 10px,transparent 10px,transparent 22px);position:relative}.sprocket-strip:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 10px,rgba(0,0,0,.06) 10px,rgba(0,0,0,.06) 12px,transparent 12px,transparent 24px)}.contact-frames{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px}.contact-frame{position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.1)}.contact-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05) saturate(.9)}.frame-num{position:absolute;bottom:3px;right:5px;font-family:Courier New,monospace;font-size:.55rem;color:#c85000;font-weight:700;text-shadow:0 0 2px rgba(255,255,255,.8)}.about-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.2;margin-bottom:var(--spacing-lg)}.title-small{display:block;font-family:var(--font-body);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.about-text{margin-bottom:var(--spacing-lg)}.about-text p{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md);line-height:1.8}.about-text p:last-child{margin-bottom:0}.about-stats{display:flex;gap:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.stat{display:flex;flex-direction:column}.stat-number{font-family:var(--font-display);font-size:3rem;font-weight:400;color:var(--color-accent);line-height:1}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-top:var(--spacing-xs)}.marquee{padding:var(--spacing-lg) 0;overflow:hidden;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.marquee-content{display:flex;gap:var(--spacing-lg);animation:marquee 20s linear infinite;white-space:nowrap}.marquee-content span{font-family:var(--font-display);font-size:4rem;font-weight:700;font-style:italic;color:transparent;-webkit-text-stroke:1px var(--color-text);text-transform:uppercase}.marquee-dot{width:8px;height:8px;background:var(--color-accent);border-radius:50%;display:inline-block;vertical-align:middle}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.contact{padding:var(--spacing-lg) var(--spacing-lg);display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);max-width:1100px;width:100%;align-items:center}.contact-content{text-align:left}.contact-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.5rem);font-weight:400;line-height:1;margin-bottom:var(--spacing-md)}.contact-title .title-line{display:block}.contact-title .accent{color:var(--color-accent)}.contact-title .italic{font-style:italic}.contact-desc{font-size:1rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md);max-width:400px}.contact-email{display:inline-block;font-family:var(--font-display);font-size:clamp(1rem,2.5vw,1.5rem);font-style:italic;padding-bottom:4px;border-bottom:2px solid var(--color-accent);transition:var(--transition-fast);margin-bottom:var(--spacing-md)}.contact-email:hover{color:var(--color-accent)}.contact-social{display:flex;gap:var(--spacing-lg)}.social-link{font-size:.875rem;text-transform:uppercase;letter-spacing:.15em;transition:var(--transition-fast);position:relative}.social-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--color-accent);transition:var(--transition-medium)}.social-link:hover{color:var(--color-accent)}.social-link:hover:after{width:100%}.contact-form-wrapper{background:#ffffff05;border:1px solid var(--color-border);padding:var(--spacing-md)}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted)}.form-input{background:transparent;border:1px solid var(--color-border);padding:.75rem var(--spacing-sm);font-family:var(--font-body);font-size:.9rem;color:var(--color-text);transition:var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-accent)}.form-input::placeholder{color:var(--color-text-muted);opacity:.5}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23666' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.form-select option{background:var(--color-bg);color:var(--color-text)}.form-textarea{resize:vertical;min-height:80px}.form-error{font-size:.75rem;color:#f44;min-height:1rem}.form-input.error{border-color:#f44}.form-submit{background:var(--color-accent);color:var(--color-bg);border:none;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-body);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:var(--transition-fast);position:relative;overflow:hidden;margin-top:var(--spacing-xs)}.form-submit:hover{background:var(--color-text)}.form-submit:disabled{opacity:.7;cursor:not-allowed}.submit-loading,.submit-success,.form-submit.loading .submit-text{display:none}.form-submit.loading .submit-loading{display:inline}.form-submit.success{background:#22c55e}.form-submit.success .submit-text{display:none}.form-submit.success .submit-success{display:inline}.form-status{min-height:1.2rem;margin-top:.35rem;font-size:.8rem;line-height:1.4;color:var(--color-text-muted)}.form-status.is-error{color:#f77}.form-status.is-success{color:#7fe29b}.fab-3d{position:fixed;bottom:2rem;right:2rem;z-index:900;display:flex;align-items:center;gap:.6rem;padding:.7rem 1.2rem .7rem .85rem;background:#0f0f0fd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(200,255,0,.3);border-radius:50px;color:var(--color-accent);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;cursor:pointer;transition:transform .35s,border-color .35s,box-shadow .35s,background .35s;box-shadow:0 0 15px #c8ff0014,0 4px 20px #0006;animation:fabPulse 3s ease-in-out infinite;transition:opacity .3s ease,transform .35s,border-color .35s,box-shadow .35s,background .35s}.fab-3d.fab-hidden{opacity:0!important;pointer-events:none}.fab-3d:hover{transform:translateY(-3px) scale(1.04);border-color:var(--color-accent);background:#c8ff001f;box-shadow:0 0 25px #c8ff0033,0 0 50px #c8ff0014,0 6px 30px #00000080;color:#fff}.fab-3d-icon{display:flex;width:20px;height:20px;flex-shrink:0}.fab-3d-icon svg{width:100%;height:100%}.fab-3d-label{white-space:nowrap;line-height:1}@keyframes fabPulse{0%,to{box-shadow:0 0 15px #c8ff0014,0 4px 20px #0006}50%{box-shadow:0 0 25px #c8ff002e,0 4px 20px #0006}}.fab-3d-enter{animation:fabEnter .6s 1.5s cubic-bezier(.34,1.56,.64,1) both,fabPulse 3s 2.1s ease-in-out infinite}@keyframes fabEnter{0%{opacity:0;transform:translateY(30px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.fab-3d{bottom:1.25rem;right:1.25rem;padding:.6rem 1rem .6rem .75rem;font-size:.7rem}.fab-3d-icon{width:17px;height:17px}}.footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}.footer-content{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.footer-insta{color:var(--color-text-muted);transition:color .3s ease;display:flex;align-items:center}.footer-insta:hover{color:var(--color-accent)}.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(max-width:1024px){:root{--spacing-lg: 3rem;--spacing-xl: 6rem}.project-row .project-link{gap:var(--spacing-lg)}.about-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.about-image{position:relative;top:0}.about-polaroids{aspect-ratio:4/3}}@media(max-width:768px){:root{--spacing-lg: 2rem;--spacing-xl: 4rem}.nav{padding:var(--spacing-sm) var(--spacing-md)}.nav-links{display:none}.nav-menu-btn{display:flex}.mobile-menu a{font-size:clamp(1.2rem,6.5vw,1.9rem);padding:.85rem 0}.hero-video-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:2px}.hero-cell:nth-child(1){grid-column:1 / 3;grid-row:1 / 3}.hero-cell:nth-child(2){grid-column:3;grid-row:1}.hero-cell:nth-child(3){grid-column:3;grid-row:2}.hero-cell:nth-child(4){grid-column:1;grid-row:3}.hero-cell:nth-child(5){grid-column:2 / 4;grid-row:3 / 5}.hero-cell:nth-child(6){grid-column:1;grid-row:4}.hero-cell:nth-child(n+7){display:none}.hero-cell-large{grid-column:1 / 3;grid-row:1 / 3}.hero-cell-tall{grid-column:2 / 4;grid-row:3 / 5}.hero-tagline{font-size:1.1rem}.ww-name{font-size:clamp(1rem,4vw,1.5rem);line-height:2}.ww-name:after{margin:0 .4em;font-size:1.2em}.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.section-header-content{min-width:100%}.section-header-filters{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.home-filter-tags{padding-bottom:var(--spacing-xs)}.filter-tag-small{font-size:.7rem;padding:5px 12px}.project-row .project-link{grid-template-columns:1fr;gap:var(--spacing-md)}.project-row-reverse .project-link{direction:ltr}.project-row .project-image{aspect-ratio:16/10}.project-content{padding:var(--spacing-md) 0}.project-title{font-size:clamp(1.75rem,6vw,2.5rem)}.project-summary{font-size:.9375rem;margin-bottom:var(--spacing-md)}.project-meta{gap:var(--spacing-md)}.marquee-content span{font-size:2.5rem}.about-grid{gap:var(--spacing-md)}.about-image{width:100%}.polaroid{width:45%}.about-title{font-size:clamp(1.75rem,6vw,2.5rem)}.about-text p{font-size:1rem}.about-stats{flex-wrap:wrap;gap:var(--spacing-lg)}.stat{flex:1;min-width:100px}.stat-number{font-size:2.25rem}.contact{padding:var(--spacing-lg) var(--spacing-md)}.contact-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.contact-content{text-align:center}.contact-desc{max-width:100%}.contact-social{justify-content:center}.contact-form-wrapper{padding:var(--spacing-sm)}.footer-content{flex-direction:column;gap:var(--spacing-sm);text-align:center}.loader-clap{width:clamp(200px,60vw,280px)}.clap-body{padding:.75rem 1rem;overflow:hidden}.clap-row{flex-wrap:wrap}.clap-label{font-size:.45rem;letter-spacing:.1em;flex-shrink:1}}@media(max-width:480px){:root{--spacing-lg: 1.25rem;--spacing-xl: 2.5rem}.nav{padding:var(--spacing-xs) var(--spacing-sm)}.nav-logo{font-size:1.25rem}.hero-meta{flex-direction:column;align-items:center;gap:var(--spacing-xs)}.separator{display:none}.hero-scroll{bottom:var(--spacing-md);left:var(--spacing-md)}.ww-name{font-size:1rem;line-height:2.2}.marquee-content span{font-size:1.75rem}.project-row .project-image{aspect-ratio:4/3}.about-stats{gap:var(--spacing-md)}.stat-number{font-size:2rem}.contact-email{font-size:1rem}.contact-social{flex-direction:column;gap:var(--spacing-sm)}}.fade-in{opacity:0;transform:translateY(30px);transition:var(--transition-slow)}.fade-in.visible{opacity:1;transform:translateY(0)}@media(hover:hover){.project-card{cursor:pointer}}.loader{position:fixed;inset:0;background:var(--color-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;gap:1.5rem}.loader.hidden{pointer-events:none}.loader-text{font-family:var(--font-display);font-size:clamp(1.2rem,4vw,3rem);font-style:italic;color:var(--color-text);opacity:0;position:relative;z-index:3;max-width:90vw;text-align:center;padding:0 1rem}.loader-curtain{position:absolute;top:0;width:50%;height:100%;background:#111;z-index:2;display:none}.loader-curtain-left{left:0;border-right:1px solid var(--color-border)}.loader-curtain-right{right:0;border-left:1px solid var(--color-border)}.loader[data-mode=curtain] .loader-curtain{display:block}.loader-clap{position:relative;z-index:3;width:clamp(240px,38vw,320px);display:none;flex-direction:column;align-items:stretch;opacity:0}.loader[data-mode=clap] .loader-clap{display:flex}.clap-top{width:100%;height:38px;background:repeating-linear-gradient(-45deg,var(--color-accent) 0px,var(--color-accent) 14px,var(--color-bg) 14px,var(--color-bg) 28px);transform-origin:bottom left;border-radius:3px 3px 0 0}.clap-body{width:100%;background:var(--color-bg-alt);border:2px solid rgba(255,255,255,.12);border-top:2px solid var(--color-accent);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.6rem}.clap-row{display:flex;align-items:baseline;gap:.6rem;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:.5rem;opacity:0}.clap-row:last-child{border-bottom:none;padding-bottom:0}.clap-row-inline{gap:1rem}.clap-label{font-family:var(--font-body);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff4d;flex-shrink:0}.clap-field{font-family:var(--font-display);font-size:1rem;font-style:italic;color:var(--color-text)}.clap-field-lg{font-size:1.3rem;color:var(--color-accent)}.loader-spotlight{position:absolute;inset:0;z-index:1;display:none;background:radial-gradient(circle 0px at 50% 50%,transparent 0%,var(--color-bg) 0%)}.loader[data-mode=spotlight] .loader-spotlight{display:block}.loader[data-mode=spotlight]{background:#1a1a1a}.loader-set-svg{width:clamp(280px,55vw,560px);color:var(--color-accent);position:relative;z-index:3;display:none;opacity:0;overflow:visible}.loader[data-mode=build] .loader-set-svg{display:block}.cursor-trailer{position:fixed;top:0;left:0;width:20px;height:20px;background-color:var(--color-accent);border-radius:50%;pointer-events:none;z-index:10000;mix-blend-mode:exclusion;transition:width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),background-color .3s,border-radius .3s;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center}.cursor-trailer.active{width:120px;height:120px;background-color:var(--color-text);border-radius:50%;mix-blend-mode:normal}.cursor-text{font-family:var(--font-body);font-size:1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-bg);opacity:0;transform:scale(.5);transition:opacity .3s,transform .3s}.cursor-trailer.active .cursor-text{opacity:1;transform:scale(1)}@media(hover:hover)and (pointer:fine){body,a,button,input,textarea{cursor:none}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:10001;background:#ffffff1a}.scroll-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-alt));transform:scaleX(0);transform-origin:left center}.hero-title,.section-title,.contact-title{perspective:1000px}.title-line,.char{will-change:transform,opacity;backface-visibility:hidden}.project-image{clip-path:inset(0% 0% 0% 0%)}.project-card,.about-placeholder,.stat-number{will-change:transform,opacity}.word{display:inline-block;overflow:hidden;vertical-align:top}.char{display:inline-block;will-change:transform}.project-card:hover .project-category{text-shadow:0 0 20px var(--color-accent)}.contact-title .accent{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-alt));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-view-all:hover{box-shadow:0 0 40px #c8ff004d}.stat-number{text-shadow:0 0 30px rgba(200,255,0,.2)}.project-image{overflow:hidden}.project-image>*{transition:transform .6s cubic-bezier(.16,1,.3,1)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #c8ff004d}50%{box-shadow:0 0 40px #c8ff0099}}.hero-scroll .scroll-line{animation:pulseGlow 2s ease-in-out infinite,scrollPulse 2s ease-in-out infinite}body:after{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.3) 100%);pointer-events:none;z-index:-1}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.form-input:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #c8ff0026}.filter-tag:focus-visible,.filter-tag-small:focus-visible{outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-cell video{animation:none}.grain-overlay{display:none}}.page-transition-overlay{position:fixed;inset:0;z-index:99999;background:var(--color-bg);pointer-events:none}
