@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.card-image{transition:transform .3s ease}.card:hover .card-image{transform:scale(1.02)}.btn,.btn-outline{transition:all .2s ease,transform .2s ease}.btn:hover,.btn-outline:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}:root{--color-bg: #ffffff;--color-text: #111111;--color-text-light: #666666;--color-accent: #000000;--color-border: #eaeaea;--color-hover: #f5f5f5;--color-status-online: #34c759;--color-status-offline: #ff9500;--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-base: 16px;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--container-width: 900px;--header-height: 60px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;cursor:auto}.custom-cursor{display:none;position:fixed;top:0;left:0;width:20px;height:20px;background-color:#fff;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,transform .1s ease-out;will-change:transform,width,height}.custom-cursor.hover{width:35px;height:35px}@media(hover:hover)and (pointer:fine){body,*{cursor:none!important}.custom-cursor{display:block}}a{text-decoration:none;color:inherit;transition:opacity .2s ease}a:hover{opacity:.7}img{max-width:100%;display:block;background-color:#f0f0f0}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-xl) 0}.text-center{text-align:center}.text-secondary{color:var(--color-text-light)}h1,h2,h3{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-sm)}.text-hero{font-size:var(--font-size-3xl);font-weight:700;letter-spacing:-.02em}.text-h2{font-size:var(--font-size-2xl)}.text-h3{font-size:var(--font-size-xl)}header{height:auto;position:sticky;top:0;background-color:#ffffffa6;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);z-index:100;border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 4px 30px #00000008;padding:0}.nav-container{width:100%;max-width:var(--container-width);margin:0 auto;padding:10px var(--spacing-md);display:flex;flex-direction:column;gap:10px}.nav-top{display:flex;justify-content:space-between;align-items:center;width:100%}.nav-bottom{display:flex;align-items:center;width:100%}.nav-tools{display:flex;align-items:center;margin-left:auto}.logo{font-weight:700;font-size:1.2rem;margin-right:0}.nav-link{margin-left:0;margin-right:var(--spacing-md);font-size:.95rem;color:var(--color-text-light)}.nav-link:last-child{margin-right:0}.nav-link:hover{color:var(--color-text);opacity:1}.status-indicator{display:inline-flex;align-items:center;margin-left:10px;font-size:.8rem;color:var(--color-text);font-weight:600;background-color:transparent;padding:0;border-radius:0;border:none;transition:all .2s ease}.status-indicator:hover{background-color:transparent;opacity:.7}.status-dot{width:6px;height:6px;border-radius:50%;margin-right:8px;background-color:var(--color-status-offline)}.status-dot.online{background-color:var(--color-status-online);box-shadow:0 0 5px var(--color-status-online)}.btn{display:inline-block;padding:10px 20px;background-color:var(--color-text);color:var(--color-bg);border-radius:4px;font-size:.9rem;font-weight:500}.btn:hover{opacity:.9}.btn-outline{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-text)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px;justify-content:flex-start}.filter-btn{padding:8px 16px;border:1px solid var(--color-border);border-radius:20px;background:transparent;color:var(--color-text-light);cursor:pointer;font-size:.9rem;transition:all .2s ease}.filter-btn:hover,.filter-btn.active{background-color:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.horizontal-scroll{display:flex;overflow-x:auto;gap:var(--spacing-md);padding-bottom:20px;padding-right:100px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,black calc(100% - 100px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 100px),transparent 100%);-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.horizontal-scroll::-webkit-scrollbar{display:none}.horizontal-scroll .card{width:360px;min-width:360px;flex:0 0 auto;scroll-snap-align:start}.mode-toggle{position:relative;display:inline-flex;background-color:#0000000d;border-radius:20px;padding:4px;margin-right:20px;border:1px solid rgba(0,0,0,.05);isolation:isolate}.toggle-slider{position:absolute;top:4px;left:0;height:calc(100% - 8px);background-color:#fff;border-radius:16px;transition:transform .4s cubic-bezier(.2,.8,.2,1),width .4s cubic-bezier(.2,.8,.2,1);box-shadow:0 2px 4px #0000001a;z-index:0;pointer-events:none;opacity:0}.toggle-btn{position:relative;padding:6px 16px;border-radius:16px;font-size:.8rem;font-weight:500;cursor:pointer;transition:color .3s ease;color:var(--color-text-light);text-decoration:none;z-index:1;background:transparent;border:none}.toggle-btn:first-child{font-family:var(--font-primary)}.toggle-btn:last-child{font-family:var(--font-primary)}.toggle-btn.active{color:var(--color-text);background-color:transparent;box-shadow:none}.toggle-btn:hover:not(.active){color:var(--color-text)}.card{display:block}.card-image{width:100%;aspect-ratio:4/3;background-color:#f5f5f5;border-radius:8px;margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-size:.9rem;overflow:hidden;position:relative}.card-content h3{font-size:1.25rem;margin-bottom:.25rem}.card-content p{color:var(--color-text-light);font-size:1rem}.store-badge{display:inline-flex;align-items:center;background-color:#000;color:#fff;border-radius:8px;padding:6px 16px;text-decoration:none;gap:12px;border:1px solid #333;transition:opacity .2s ease;min-width:160px}.store-badge:hover{opacity:.8;color:#fff}.store-badge svg{width:24px;height:24px;fill:currentColor}.store-badge-text{display:flex;flex-direction:column;line-height:1.2}.store-badge-text span:first-child{font-size:.65rem;font-weight:400;text-transform:uppercase}.store-badge-text span:last-child{font-size:1.1rem;font-weight:600;letter-spacing:.3px}.project-stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem 2rem;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding-top:2rem;padding-bottom:2rem;margin-top:3rem}.project-stat-group{display:flex;flex-direction:column}.project-stat-label{font-family:var(--font-primary);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-bottom:.35rem;opacity:.8}.project-stat-value{font-family:var(--font-primary);font-size:1rem;font-weight:500;color:var(--color-text);line-height:1.3}.project-stat-highlight{font-family:var(--font-primary);font-size:1.5rem;font-weight:600;color:var(--color-text);line-height:1.1;margin-bottom:.25rem;letter-spacing:-.02em}.project-stat-subtext{font-size:.9rem;color:var(--color-text-secondary);line-height:1.4}footer{padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border);margin-top:var(--spacing-xl);color:var(--color-text-light);font-size:.9rem}.mobile-text{display:none}.desktop-text{display:inline}.hamburger{display:none}@media(max-width:768px){:root{--spacing-md: 1.5rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--font-size-3xl: 2.5rem}.container{padding:0 var(--spacing-md)}.nav-container{padding:10px var(--spacing-md)}.nav-top{position:relative;z-index:102}.nav-bottom{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:2rem;transform:translateY(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:100}.nav-bottom.active{transform:translateY(0)}.nav-bottom nav{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.nav-link{margin-right:0;font-size:1.5rem;font-weight:600}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px;cursor:pointer;z-index:103;margin-left:1rem}.hamburger span{display:block;width:100%;height:2px;background-color:var(--color-text);transition:all .3s ease}.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.status-indicator{padding:8px;margin-left:0}.status-text{display:none}.status-dot{margin-right:0;width:8px;height:8px}.mode-toggle{margin-right:10px;padding:2px}.toggle-btn{padding:4px 8px;font-size:.7rem}.desktop-text{display:none}.mobile-text{display:inline;font-weight:700}.horizontal-scroll .card{width:280px;min-width:280px}}@media(min-width:769px){.nav-container{flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.nav-top,.nav-bottom{display:contents}.logo{order:1;margin-right:0;flex:0 0 auto}.nav-bottom nav{order:2;flex:1;display:flex;justify-content:center;align-items:center}.nav-tools{order:3;margin-left:0;flex:0 0 auto;justify-content:flex-end}}.pinterest-grid{column-count:3;column-gap:2rem;padding-bottom:2rem}.pinterest-grid .card{break-inside:avoid;margin-bottom:2rem;width:100%;display:inline-block}@media(max-width:1024px){.pinterest-grid{column-count:2}}@media(max-width:600px){.pinterest-grid{column-count:1}}.work-header-sticky{position:sticky;top:100px;background-color:var(--color-bg);z-index:90;padding-top:1rem;padding-bottom:.5rem}.work-header-sticky .filters{margin-bottom:0;padding-bottom:2rem}@media(max-width:768px){.filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-right:-1.5rem;padding-right:1.5rem}.filters::-webkit-scrollbar{display:none}.filter-btn{white-space:nowrap;flex:0 0 auto}}
