*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,#root{width:100%;min-height:100dvh;background:#09090b;color:#fafafa;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img,video{display:block;max-width:100%}.landing{max-width:920px;margin:0 auto;padding:28px 20px 64px}.site-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.site-title{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80}.site-description{font-size:14px;color:#ffffff4d;max-width:380px;line-height:1.55;margin-top:6px}.tag-filter{display:flex;gap:6px;margin-bottom:20px;position:sticky;top:0;z-index:20;background:linear-gradient(to bottom,#09090b 80%,transparent);padding:16px 0 36px;flex-wrap:wrap}.tag-pill{padding:6px 14px;border-radius:100px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#fff6;font-size:12.5px;font-weight:500;transition:all .2s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.tag-pill:hover{border-color:#ffffff40;color:#ffffffbf}.tag-pill.active{background:#ffffff14;border-color:#fff3;color:#fafafa}.tag-pill-all{font-weight:600}.project-grid{display:flex;flex-direction:column}.card-wrapper{display:grid;grid-template-rows:1fr;opacity:1;margin-bottom:12px;transition:grid-template-rows .4s cubic-bezier(.16,1,.3,1),opacity .3s ease,margin-bottom .4s cubic-bezier(.16,1,.3,1)}.card-wrapper.hidden{grid-template-rows:0fr;opacity:0;margin-bottom:0;pointer-events:none}.card-wrapper>*{overflow:hidden;min-height:0}.project-card{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;aspect-ratio:16 / 10;background:#18181b}.project-card img,.project-card video{width:100%;height:100%;object-fit:cover;transform:scale(var(--thumb-scale, 1));transition:transform .5s cubic-bezier(.16,1,.3,1)}.project-card:hover img,.project-card:hover video{transform:scale(calc(var(--thumb-scale, 1) * 1.03))}.card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.15) 40%,transparent 65%);display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:0;transition:opacity .3s ease}.project-card:hover .card-overlay{opacity:1}.card-title{font-size:20px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}.card-tags{display:flex;gap:5px;flex-wrap:wrap}.card-tag{font-size:11px;font-weight:500;padding:3px 9px;background:#ffffff1f;border-radius:100px;color:#ffffffb8}.about-card{display:block;position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16 / 6;min-height:160px;margin-top:16px}.about-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0f0c29,#1a0a3e,#302b63,#1e3a5f 36%,#0d4d4d 46%,#1a3a2a 54%,#3b1d8e,#6b21a8,#ec4899 90%,#f97316);background-size:300% 300%;animation:auroraShift 15s ease infinite}@keyframes auroraShift{0%,to{background-position:0% 50%}33%{background-position:100% 25%}66%{background-position:50% 100%}}.about-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:20px 24px}.about-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.about-status{display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;box-shadow:0 0 6px #4ade8099;animation:statusPulse 2.5s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{font-size:12px;font-weight:500;color:#ffffff8c;line-height:1.4}.about-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.about-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80;margin-bottom:4px}.about-name{font-size:20px;font-weight:600;letter-spacing:-.01em}.about-arrow{display:flex;align-items:center;justify-content:center;color:#ffffff73;transition:color .2s ease}.about-arrow:hover{color:#fffffff2}.about-links{display:flex;gap:12px;align-items:center}.about-links a{display:flex;align-items:center;color:#fff6;transition:color .2s ease}.about-links a:hover{color:#fffffff2}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000eb;display:flex;align-items:center;justify-content:center;flex-direction:column;animation:lbFadeIn .25s ease forwards;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lightbox-overlay.closing{animation:lbFadeOut .2s ease forwards}@keyframes lbFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lbFadeOut{0%{opacity:1}to{opacity:0}}.lightbox-close{position:fixed;top:16px;right:20px;background:none;border:none;color:#ffffff80;z-index:102;padding:8px;transition:color .2s ease;-webkit-tap-highlight-color:transparent}.lightbox-close:hover{color:#fff}.lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:88vh;gap:16px}.lightbox-media{display:flex;align-items:center;justify-content:center;flex:1;min-height:0}.lightbox-media img,.lightbox-media video{max-width:88vw;max-height:72vh;object-fit:contain;border-radius:6px;animation:lbMediaIn .3s ease forwards}@keyframes lbMediaIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.lightbox-info{text-align:center;max-width:500px}.lightbox-info h3{font-size:16px;font-weight:600;margin-bottom:4px}.lightbox-info p{font-size:13px;color:#ffffff73;line-height:1.5}.lightbox-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:7px 18px;border:1px solid rgba(255,255,255,.15);border-radius:100px;font-size:12.5px;font-weight:500;transition:all .2s ease}.lightbox-link:hover{background:#ffffff14;border-color:#ffffff4d}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);background:#ffffff14;border:1px solid rgba(255,255,255,.08);color:#ffffffb3;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:101;-webkit-tap-highlight-color:transparent}.lightbox-nav:hover{background:#ffffff26;color:#fff}.lightbox-nav.prev{left:16px}.lightbox-nav.next{right:16px}.lightbox-dots{display:flex;gap:7px;justify-content:center;padding:4px 0}.lightbox-dot{width:7px;height:7px;border-radius:50%;background:#ffffff40;border:none;padding:0;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.lightbox-dot.active{background:#fff;transform:scale(1.2)}.lightbox-dot:hover{background:#fff9}.case-study{max-width:1200px;margin:0 auto;padding:32px 20px 80px}.back-link{display:inline-flex;align-items:center;gap:6px;color:#ffffff73;font-size:13.5px;font-weight:500;margin-bottom:36px;transition:color .2s ease;-webkit-tap-highlight-color:transparent}.back-link:hover{color:#fff}.case-study-header{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;flex-wrap:wrap}.case-study-header h1{font-size:32px;font-weight:700;letter-spacing:-.025em}.case-study-year{font-size:14px;color:#ffffff4d;font-weight:500}.case-study-description{font-size:16px;color:#ffffff8c;line-height:1.65;margin-bottom:16px;max-width:640px}.case-study-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:40px}.case-study-body h2{font-size:22px;font-weight:600;letter-spacing:-.015em;margin:48px 0 16px}.case-study-body h2:first-child{margin-top:0}.case-study-body p{font-size:15.5px;color:#fff9;line-height:1.7;margin-bottom:20px;max-width:1000px}.case-study-body .case-study-bold{font-weight:600;color:#ffffffd9}.case-study-body figure{margin:20px 0}.case-study-body figure img{width:100%;border-radius:8px}.case-study-body figcaption{font-size:12.5px;color:#ffffff59;margin-top:8px;text-align:center}.case-study-body video{width:100%;border-radius:8px;margin:20px 0}.case-study-gallery img,.case-study-gallery video{width:100%;border-radius:8px;margin-bottom:16px}.case-study-link{display:inline-flex;align-items:center;gap:5px;margin-top:40px;padding:10px 24px;border:1px solid rgba(255,255,255,.15);border-radius:100px;font-size:14px;font-weight:500;transition:all .2s ease}.case-study-link:hover{background:#ffffff14;border-color:#ffffff4d}@media(max-width:768px){.landing{padding:20px 14px 48px}.site-header{flex-direction:column;gap:14px}.site-description{max-width:100%}.tag-filter{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:8px 0 14px;gap:5px}.tag-filter::-webkit-scrollbar{display:none}.tag-pill{flex-shrink:0}.project-card{aspect-ratio:4 / 3}.card-overlay{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,rgba(0,0,0,.1) 35%,transparent 55%)}.card-title{font-size:17px}.lightbox-nav{width:36px;height:36px}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.lightbox-media img,.lightbox-media video{max-width:95vw;max-height:65vh}.about-card{aspect-ratio:16 / 8}.about-bottom{flex-direction:column;align-items:flex-start;gap:12px}.case-study{padding:20px 14px 48px}.case-study-header h1{font-size:26px}}@media(max-width:480px){.landing{padding:16px 10px 40px}.tag-pill{padding:5px 11px;font-size:12px}.project-card{border-radius:10px;aspect-ratio:3 / 2.5}.card-overlay{padding:16px}.card-title{font-size:16px;margin-bottom:5px}.card-tag{font-size:10px;padding:2px 7px}.about-card{border-radius:10px;min-height:140px;aspect-ratio:auto}.about-content{padding:16px}.about-name{font-size:17px}.status-text{font-size:11px}.lightbox-content{gap:10px}.lightbox-info h3{font-size:14px}.lightbox-info p{font-size:12px}.card-wrapper{margin-bottom:8px}.case-study{padding:16px 10px 40px}.case-study-header h1{font-size:22px}.case-study-body h2{font-size:18px;margin:32px 0 12px}}
