*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f7f6f3;--color-surface:#efede8;--color-ink:#181714;--color-muted:#7a7672;--color-border:#dddbd6;--color-accent:#c85c2d;--font-display:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-sans:"Inter", "Helvetica Neue", Arial, sans-serif;--header-h:56px;--ease-out:cubic-bezier(.22, 1, .36, 1);--u:24px}html,body{background:var(--color-bg);height:100%;color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:var(--color-accent);text-decoration:none}a:hover{opacity:.7}.site-header{height:var(--header-h);transition:background .25s var(--ease-out), border-color .25s var(--ease-out);z-index:100;background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:fixed;top:0;left:0;right:0}.site-header--solid{background:var(--color-bg);border-bottom-color:var(--color-border)}.site-name{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink);font-size:12px;font-weight:500;text-decoration:none}.site-nav{gap:28px;display:flex}.site-nav a{color:var(--color-ink);letter-spacing:.04em;opacity:.7;font-size:12px;text-decoration:none;transition:opacity .15s}.site-nav a:hover{opacity:1}.menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:4px;display:none}.menu-btn span{background:var(--color-ink);width:22px;height:1px;transition:transform .2s var(--ease-out), opacity .2s;transform-origin:50%;display:block}.menu-btn--open span:first-child{transform:translateY(6px)rotate(45deg)}.menu-btn--open span:nth-child(2){opacity:0}.menu-btn--open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media (width<=639px){.site-nav{display:none}.menu-btn{display:flex}}.mobile-menu{top:var(--header-h);background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:99;flex-direction:column;gap:0;padding:16px 24px 24px;display:flex;position:fixed;left:0;right:0}.mobile-menu.hidden{display:none}.mobile-menu a{color:var(--color-ink);letter-spacing:.04em;border-bottom:1px solid var(--color-border);padding:14px 0;font-size:13px;text-decoration:none;transition:opacity .15s}.mobile-menu a:last-child{border-bottom:none}.mobile-menu a:hover{opacity:.5}#main{margin-top:var(--header-h);min-height:calc(100vh - var(--header-h))}.grid{gap:calc(var(--u) * 2);padding:calc(var(--u) * 2) var(--u) calc(var(--u) * 4);grid-template-columns:1fr;grid-auto-flow:dense;max-width:1440px;margin:0 auto;display:grid}@media (width>=640px){.grid{gap:calc(var(--u) * 3) calc(var(--u) * 2);padding:calc(var(--u) * 3) calc(var(--u) * 2) calc(var(--u) * 5);grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid{gap:calc(var(--u) * 4) calc(var(--u) * 2);padding:calc(var(--u) * 4) calc(var(--u) * 3) calc(var(--u) * 6);grid-template-columns:repeat(3,1fr)}}@media (width>=1440px){.grid{padding:calc(var(--u) * 4) calc(var(--u) * 4) calc(var(--u) * 6)}}.card{background:var(--color-bg);cursor:pointer}.card__media{aspect-ratio:16/9;background:var(--color-surface);width:100%;position:relative;overflow:hidden}.card__media img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease-out);display:block}.card:hover .card__media img{transform:scale(1.04)}.card__video-wrap{z-index:1;pointer-events:none;position:absolute;inset:0}.card__video-wrap iframe{object-fit:cover;width:100%;height:100%}.card__hover{z-index:2;opacity:0;transition:opacity .3s var(--ease-out);background:#181714d1;flex-direction:column;justify-content:flex-end;padding:24px;display:flex;position:absolute;inset:0}.card:hover .card__hover{opacity:1}.card__client{color:#fff9;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:10px;display:block}.card__title{font-family:var(--font-sans);letter-spacing:.01em;color:#fff;font-size:16px;font-weight:400;line-height:1.25}.card__descriptor{color:#ffffff80;margin-top:4px;font-size:11px;line-height:1.4}.card__caption{display:none}.overlay{z-index:200;background:#18171499;justify-content:center;align-items:flex-start;padding:0;display:flex;position:fixed;inset:0;overflow-y:auto}@media (width>=640px){.overlay{padding:48px 24px 80px}}.overlay.hidden{display:none}.overlay-inner{background:var(--color-bg);width:100%;max-width:880px;position:relative}.overlay-close{cursor:pointer;color:var(--color-muted);z-index:1;background:0 0;border:none;font-size:16px;line-height:1;transition:color .15s;position:absolute;top:18px;right:18px}.overlay-close:hover{color:var(--color-ink)}.overlay-hero{aspect-ratio:16/9;background:var(--color-surface);width:100%;position:relative;overflow:hidden}.overlay-hero img,.overlay-hero iframe{object-fit:cover;width:100%;height:100%;display:block}.overlay-body{padding:24px 20px 40px}@media (width>=640px){.overlay-body{padding:36px 48px 56px}}.overlay-meta{color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:6px 24px;margin-bottom:20px;font-size:10px;display:flex}.overlay-body h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-ink);margin-bottom:20px;font-size:clamp(22px,5vw,36px);font-weight:300;line-height:1.1}.overlay-body>p{color:var(--color-muted);max-width:600px;font-size:14px;line-height:1.75}.case-section{margin-top:32px}.case-section h3{text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:10px;font-size:10px;font-weight:500}.case-section p{color:var(--color-ink);max-width:600px;font-size:14px;line-height:1.8}.project-link{color:var(--color-accent);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--color-accent);align-items:center;gap:6px;margin-top:28px;padding-bottom:2px;font-size:12px;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-flex}.project-link:hover{opacity:.7}.tags{flex-wrap:wrap;gap:6px;margin-top:28px;display:flex}.tag{border:1px solid var(--color-border);color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;background:var(--color-surface);padding:4px 10px;font-size:10px;font-weight:500}.about{max-width:680px;margin:0 auto;padding:80px 32px 120px}.about h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-ink);margin-bottom:40px;font-size:48px;font-weight:300;line-height:1.1}.about p{color:var(--color-muted);max-width:580px;margin-bottom:22px;font-size:15px;line-height:1.85}.about p em{color:var(--color-ink);font-style:normal}.about-links{gap:24px;margin-top:40px;display:flex}.about-links a{color:var(--color-ink);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--color-ink);padding-bottom:2px;font-size:12px;font-weight:500;text-decoration:none;transition:opacity .15s}.about-links a:hover{opacity:.5}.filter-bar{background:var(--color-bg);gap:4px;padding:32px 24px 24px;display:flex}@media (width>=640px){.filter-bar{padding:40px 40px 28px}}@media (width>=1024px){.filter-bar{padding:48px 48px 32px}}.filter-btn{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 14px;font-size:11px;font-weight:500;transition:all .15s}.filter-btn:hover{color:var(--color-ink);border-color:var(--color-border)}.filter-btn.active{color:var(--color-ink);border-color:var(--color-ink)}
