*,:after,:before{box-sizing:border-box}body,figure,h1,h2,h3,h4,html,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}img,picture{display:block;max-width:100%}button,input,select,textarea{font:inherit}body,html{min-height:100%}body{color:#111;background:#fff;font-family:sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button{cursor:pointer}.l-main{padding:24px 16px}@media(min-width:768px){.l-main{padding:32px 24px}}@media(min-width:1024px){.l-main{padding:40px}}.works-gallery{margin:0 auto;max-width:1440px;width:100%}.works-gallery__client>.works-filter{margin-bottom:20px}.works-gallery__result{align-items:center;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;margin-bottom:20px}.works-gallery__result-count{color:#777;font-size:14px;margin:0}.works-gallery__reset{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:13px;padding:6px 12px;transition:background-color .15s ease}.works-gallery__reset:hover{background:#f5f5f5}.works-gallery__reset:active{background:#ececec}.works-gallery__reset:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.works-gallery__sentinel{height:1px;margin-top:40px}.works-filter{position:relative}.works-filter__bar{display:flex;flex-direction:column;gap:12px}@media(min-width:768px){.works-filter__bar{align-items:center;flex-direction:row;justify-content:space-between}}.works-filter__buttons{display:flex;flex-wrap:wrap;gap:8px}.works-filter__button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;display:inline-flex;font-size:14px;gap:6px;padding:8px 14px;transition:background-color .15s ease,border-color .15s ease}.works-filter__button:hover{background:#f5f5f5}.works-filter__button:active{background:#ececec}.works-filter__button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.works-filter__button.is-active{border-color:#000;color:#000}.works-filter__button-caret{border-left:4px solid rgba(0,0,0,0);border-right:4px solid rgba(0,0,0,0);border-top:5px solid #777;display:inline-block;height:0;width:0}.works-filter__search{width:100%}@media(min-width:768px){.works-filter__search{flex-shrink:0;max-width:280px;width:280px}}.works-filter__search-input{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.works-filter__search-input:focus-visible{border:1px solid #000;outline:none}.works-filter__panel{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,.08);display:none;left:0;margin-top:8px;max-height:360px;overflow-y:auto;padding:16px 20px;position:absolute;right:0;top:100%;z-index:200}.works-filter__panel.is-open{display:block}.works-filter__options{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;margin:0;padding:0}.works-filter__option{display:inline-flex}.works-filter__option-button{background:rgba(0,0,0,0);border:0;border-radius:4px;color:#111;font-size:14px;padding:4px 6px;text-align:left;transition:color .15s ease}.works-filter__option-button:hover{font-weight:700}.works-filter__option-button:focus-visible{outline:2px solid #000;outline-offset:2px}.works-filter__option-button.is-selected{font-weight:700;text-decoration:underline}.works-filter__button-count{color:#000;font-size:13px}.works-filter__bookmark-toggle{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;display:inline-flex;font-size:14px;gap:6px;padding:8px 14px;transition:background-color .15s ease,border-color .15s ease}.works-filter__bookmark-toggle:hover{background:#f5f5f5}.works-filter__bookmark-toggle.is-active{border-color:#2563eb;color:#2563eb}.works-active-filters{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 20px;padding:0}.works-active-filters__item{align-items:center;background:#fff;border:1px solid #ddd;border-radius:999px;display:inline-flex;font-size:13px;gap:6px;padding:4px 6px 4px 12px}.works-active-filters__remove{align-items:center;background:rgba(0,0,0,0);border:0;border-radius:999px;color:#777;display:inline-flex;font-size:14px;height:20px;justify-content:center;line-height:1;padding:0;transition:background-color .15s ease,color .15s ease;width:20px}.works-active-filters__remove:hover{background:#f0f0f0;color:#111}.works-active-filters__remove:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.works-grid{display:grid;grid-gap:20px;gap:20px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}@media(min-width:768px){.works-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.works-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1440px){.works-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@keyframes works-grid-item-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translate(0)}}.works-grid__item{display:flex;animation-name:works-grid-item-fade-in;animation-duration:.4s;animation-timing-function:ease-out;animation-fill-mode:both;animation-delay:min(var(--works-grid-item-index,0)*.04s,.4s)}@media(prefers-reduced-motion:reduce){.works-grid__item{animation:none}}.work-card{display:flex;flex-direction:column;position:relative;transition:opacity .15s ease;width:100%}.work-card__link{color:inherit;display:block;text-decoration:none}.work-card__thumb{aspect-ratio:4/3;border:1px solid #ddd;border-radius:4px;cursor:pointer;overflow:hidden;position:relative;width:100%}.work-card__thumb-image{display:block;height:100%;object-fit:cover;width:100%}.work-card__overlay{background:rgba(0,0,0,.9);color:#fff;inset:0;opacity:0;padding:12px;pointer-events:none;position:absolute;transition:opacity .2s ease}.work-card__overlay-text{display:-webkit-box;font-size:12px;line-height:1.6;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}@media(hover:hover)and (pointer:fine){.work-card__thumb:hover .work-card__overlay{opacity:1}}.work-card__link:focus-visible .work-card__overlay{opacity:1}.work-card__body{padding:10px 2px 0}.work-card__name{font-size:14px;font-weight:600;margin:0}.work-card__date{color:#777;font-size:12px;margin:4px 0 0}.work-card__bookmark{bottom:0;position:absolute;right:0;z-index:1}.bookmark-button{align-items:center;background:rgba(0,0,0,0);border:0;color:#111;display:inline-flex;gap:4px;padding:6px}.bookmark-button:focus-visible{outline:2px solid #000;outline-offset:2px}.bookmark-button__icon{height:20px;width:20px}