*,: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__link:focus-visible{outline:2px solid #111;outline-offset:2px}.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;transition:transform .3s ease;width:100%}.work-card__body{min-height:54px;padding:10px 60px 0 2px}.work-card__name{font-size:14px;font-weight:600;margin:0;overflow-wrap:anywhere}.work-card__date{color:#777;font-size:12px;margin:4px 0 0}.work-card__actions{align-items:center;display:flex;gap:2px;margin-top:calc(75% + 6px);position:absolute;right:0;top: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}.work-card__bookmark,.work-card__detail-link{align-items:center;color:#111;display:inline-flex;justify-content:center}.work-card__bookmark:focus-visible,.work-card__detail-link:focus-visible{outline:2px solid #111;outline-offset:2px}.work-card__detail-icon{height:20px;width:20px}.work-card__bookmark .bookmark-button__icon path,.work-card__detail-icon circle,.work-card__detail-icon path{transition:fill .2s ease,stroke .2s ease}@media(hover:hover)and (pointer:fine){.work-card:hover .work-card__thumb-image{transform:scale(1.025)}.work-card__bookmark:hover .bookmark-button__icon path,.work-card__detail-link:hover circle:first-child{fill:currentColor}.work-card__detail-link:hover path{stroke:#fff}.work-card__detail-link:hover circle:last-child{fill:#fff}}@media(prefers-reduced-motion:reduce){.work-card:hover .work-card__thumb-image{transform:none}.work-card__bookmark .bookmark-button__icon path,.work-card__detail-icon circle,.work-card__detail-icon path,.work-card__thumb-image{transition:none}}.work-detail-page{padding-top:80px}@media(min-width:1024px){.work-detail-page{padding-top:96px}}.work-detail{display:grid;grid-gap:28px;gap:28px;margin:0 auto;max-width:1800px;width:100%}@media(min-width:1024px){.work-detail{align-items:start;gap:clamp(40px,5vw,96px);grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}.work-detail a:focus-visible{outline:2px solid #111;outline-offset:4px}.work-detail__visual{border:1px solid #ddd;min-width:0;overflow:hidden}.work-detail__visual a{display:block}.work-detail__image{height:auto;transition:transform .3s ease;width:100%}.work-detail__content{min-width:0}.work-detail__title{color:#2563eb;font-size:20px;font-weight:700;line-height:1.4;margin:0;overflow-wrap:anywhere}@media(min-width:1024px){.work-detail__title{font-size:34px}}.work-detail__title a{display:inline-block;position:relative}.work-detail__title a:after{background:currentColor;bottom:0;content:"";height:1px;left:0;pointer-events:none;position:absolute;transform:scaleX(0);transform-origin:left center;transition:transform .3s ease;width:100%}.work-detail__title a:focus-visible:after{transform:scaleX(1)}.work-detail__external-icon{display:inline-block;height:.7em;margin-left:.2em;vertical-align:baseline;width:.7em}.work-detail__description{font-size:14px;line-height:1.8;margin-top:28px;overflow-wrap:anywhere;white-space:pre-line}@media(min-width:1024px){.work-detail__description{font-size:16px}}.work-detail__description>*+*{margin-top:.8em}.work-detail__description ol,.work-detail__description ul{padding-left:1.5em}.work-detail__description ul{list-style:disc}.work-detail__description ol{list-style:decimal}.work-detail__description h1,.work-detail__description h2,.work-detail__description h3,.work-detail__description h4,.work-detail__description h5,.work-detail__description h6{font-size:1.1em;line-height:1.5}.work-detail__actions{align-items:center;display:flex;gap:10px;margin-top:30px}.work-detail__back,.work-detail__bookmark{align-items:center;background:#fff;border:1px solid #111;border-radius:999px;color:#111;display:inline-flex;height:44px;justify-content:center;transition:background-color .2s ease,color .2s ease}.work-detail__back:focus-visible,.work-detail__bookmark:focus-visible{outline:2px solid #111;outline-offset:3px}.work-detail__close{align-items:center;background:rgba(0,0,0,0);border:0;color:#000;display:flex;height:44px;justify-content:center;padding:2px;position:fixed;right:16px;top:16px;transition:transform .2s ease;width:72px;z-index:100}@media(min-width:1024px){.work-detail__close{right:24px;top:24px;width:104px}}.work-detail__close:focus-visible{outline:2px solid #111;outline-offset:3px}.work-detail__close-line{background:currentColor;height:1px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(21deg);width:103%}.work-detail__close-line:last-child{transform:translate(-50%,-50%) rotate(-21deg)}.work-detail__actions,.work-detail__description,.work-detail__title,.work-detail__visual{animation:work-detail-enter .45s ease-out both}@keyframes work-detail-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.work-detail__bookmark{padding:0;width:44px}.work-detail__back{gap:8px;padding:0 20px}@media(hover:hover)and (pointer:fine){.work-detail__visual:hover .work-detail__image{transform:scale(1.025)}.work-detail__title a:hover:after{transform:scaleX(1)}.work-detail__back:hover,.work-detail__bookmark:hover{background:#111;color:#fff}.work-detail__close:hover{transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){.work-detail__close:hover,.work-detail__visual:hover .work-detail__image{transform:none}.work-detail__actions,.work-detail__description,.work-detail__title,.work-detail__visual{animation:none}.work-detail__back,.work-detail__bookmark,.work-detail__close,.work-detail__image,.work-detail__title a:after{transition:none}}