/* css/grid.css */
.ds-grid__list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.ds-grid__item[hidden]{display:none!important}.ds-tile{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--paper);cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent}.ds-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity .25s ease-out,transform .6s var(--ease);-webkit-user-drag:none;backface-visibility:hidden;-webkit-backface-visibility:hidden}.ds-tile img.is-in{opacity:1;transform:scale(1)}.ds-tile:hover img.is-in,.ds-tile:focus-visible img.is-in{transform:scale(1.06)}.ds-tile:focus-visible{outline-offset:-4px}.ds-tile__cap{position:absolute;left:0;bottom:0;max-width:calc(100% - 14px);background:var(--ground);padding:6px 12px 6px 8px;font-family:var(--display);font-weight:var(--fw-regular);font-size:.9rem;line-height:1.15;color:var(--steel);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .6s var(--ease);pointer-events:none}.ds-tile:hover .ds-tile__cap,.ds-tile:focus-visible .ds-tile__cap{opacity:1;transform:none}.ds-grid__empty{padding:48px 0;color:var(--muted)}.ds-viewer{position:fixed;inset:0;z-index:var(--z-overlay)}.ds-viewer[hidden]{display:none!important}.ds-viewer__bg{position:absolute;inset:0;background:var(--ground);opacity:0}.ds-viewer__box{position:absolute;pointer-events:none;visibility:hidden}.ds-viewer__stage{position:fixed;left:0;top:0;overflow:hidden;background:var(--paper);will-change:transform}.ds-viewer__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ds-viewer__ui{position:absolute;inset:0;pointer-events:none;opacity:0}.ds-viewer__ui>*{pointer-events:auto}.ds-viewer__title{position:absolute;left:var(--pad);top:26px;font-family:var(--display);font-weight:var(--fw-light);font-size:clamp(1.3rem,2.4vw,2.2rem);line-height:1.1;letter-spacing:-.02em;color:var(--steel);max-width:calc(100% - 140px);pointer-events:none}.ds-viewer__btn{position:absolute;background:var(--ground)}.ds-viewer__close{right:var(--pad);top:20px}.ds-viewer__prev{right:calc(var(--pad) + 60px);bottom:20px}.ds-viewer__next{right:var(--pad);bottom:20px}@media(max-width:1359px){.ds-grid__list{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:999px){.ds-grid__list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:699px){.ds-grid__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.ds-viewer__title{top:20px;max-width:calc(100% - 120px)}}@media(hover:none){.ds-tile__cap{opacity:1;transform:none;font-size:.7rem;padding:3px 6px 3px 5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}@media(max-width:699px){.ds-tile__cap{font-size:.7rem;line-height:1.14;padding:3px 5px 3px 4px;max-width:calc(100% - 6px);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}.ds-grid-reserve{--n:52;--cols:6;--gap:8px;min-height:calc(var(--rowsn,9) * ((100vw - 2 * var(--pad) - (var(--cols) - 1) * var(--gap)) / var(--cols) * .75) + (var(--rowsn,9) - 1) * var(--gap))}@media(max-width:1359px){.ds-grid-reserve{--cols:5;--rowsn:11}}@media(max-width:999px){.ds-grid-reserve{--cols:4;--rowsn:13}}@media(max-width:699px){.ds-grid-reserve{--cols:3;--gap:5px;--rowsn:18}}
/* css/index-list.css */
.il{position:relative}.il-group{position:relative;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(16px,3vw,56px);padding-top:var(--space-block);border-top:1px solid var(--hair-strong)}.il-group+.il-group{margin-top:var(--space-block)}.il-group:after{content:"";position:absolute;left:-6px;right:-6px;top:-7px;height:var(--mark);background:var(--marks);pointer-events:none}.il-group__h{position:sticky;top:calc(var(--nav-h, 76px) + 22px);align-self:start;font-family:var(--display);font-weight:var(--fw-light);font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.02;letter-spacing:-.02em;color:var(--steel)}.il-list{border-bottom:1px solid var(--hair)}.il-group .il-list{border-bottom:0}.il-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,15rem) 28px;align-items:center;gap:1rem;padding:14px 10px 14px 0;border-top:1px solid var(--hair);text-decoration:none;color:var(--steel);transition:background-color .35s,padding .5s var(--ease)}.il-list>li:first-child .il-row{border-top:0}.il-group .il-list>li:first-child .il-row{border-top:0}.il-thumb{display:none}.il-title{font-family:var(--display);font-weight:var(--fw-light);font-size:clamp(1.4rem,2.5vw,2.5rem);line-height:1.08;letter-spacing:-.02em;transition:transform .6s var(--ease),color .3s}.il-sectors{font-family:var(--body);font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:var(--ls-label-dense);text-transform:uppercase;line-height:1.4;color:var(--muted);text-align:right}.il-arrow{justify-self:end;color:var(--steel);opacity:.55;transition:opacity .3s,transform .5s var(--ease),color .3s}.il-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:square}.il-row:hover,.il-row:focus-visible,.il-row.is-on{background:var(--paper);padding-left:16px}.il-row:hover .il-title,.il-row:focus-visible .il-title,.il-row.is-on .il-title{color:var(--teal);transform:translate(6px)}.il-row:hover .il-arrow,.il-row:focus-visible .il-arrow{opacity:1;color:var(--teal);transform:translate(3px,-3px)}.il-row:focus-visible{outline-offset:-3px}.il-preview{position:fixed;left:0;top:0;z-index:var(--z-preview);width:min(360px,28vw);aspect-ratio:3 / 2;padding:6px;background:var(--ground);box-shadow:0 30px 50px -28px #22303b80,0 0 0 1px var(--hair-strong);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s;will-change:transform}.il-preview.is-on{opacity:1;visibility:visible;transition:opacity .25s}.il-preview img{width:100%;height:100%;object-fit:cover;background:var(--paper)}@media(max-width:980px){.il-group{grid-template-columns:1fr;gap:8px}.il-group__h{position:static}}@media(hover:none),(pointer:coarse),(max-width:900px){.il-preview{display:none}.il-row{grid-template-columns:76px minmax(0,1fr) 24px;grid-template-areas:"t title arr" "t sect arr";gap:2px 14px;padding-block:10px}.il-thumb{display:block;grid-area:t;aspect-ratio:3 / 2;overflow:hidden;background:var(--paper)}.il-thumb img{width:100%;height:100%;object-fit:cover}.il-title{grid-area:title;font-size:1.3rem;align-self:end}.il-sectors{grid-area:sect;text-align:left;font-size:var(--fs-micro);align-self:start}.il-arrow{grid-area:arr}.il-row:hover,.il-row:focus-visible{padding-left:0}.il-row:hover .il-title{transform:none}}.il-empty{padding:48px 0;color:var(--muted)}
/* css/projects.css */
.pj-intro:empty{display:none}.pj-browse{padding-top:clamp(18px,2.2vw,30px)}.pj-bar{position:sticky;top:var(--nav-h);z-index:var(--z-bar);margin:0 calc(var(--pad) * -1);padding:10px var(--pad);background:var(--ground)}.pj-bar:after{content:"";position:absolute;left:calc(var(--pad) - 6px);right:calc(var(--pad) - 6px);bottom:-6px;height:var(--mark);background:var(--rule-marked);pointer-events:none}.pj-bar__in{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;min-height:48px}.pj-chips{position:relative;flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:5px;margin:-5px}.pj-chips::-webkit-scrollbar{display:none}.pj-chips .chip{flex:none;white-space:nowrap}.chip--client{background:var(--steel);border-color:var(--steel);color:var(--white);cursor:pointer}.chip--client:hover{background:var(--teal);border-color:var(--teal)}.chip--client .chip__x{margin-left:6px;font-size:.85em;opacity:.85}.chip--client:hover .chip__x{opacity:1}.pj-bar.is-scroll:not(.is-end) .pj-chips{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}.pj-toggle{flex:none}.pj-nowrow{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin:clamp(36px,5vw,72px) 0 clamp(20px,2.6vw,36px)}.pj-now{margin:0;min-width:0}@media(max-width:700px){.pj-nowrow{min-height:48px}}.pj-view[hidden]{display:none}.pj-noscript{padding:24px 0;max-width:var(--measure-lead)}.pj-fb__group{padding-top:24px;border-top:1px solid var(--hair-strong)}.pj-fb__group+.pj-fb__group{margin-top:32px}.pj-fb__h{font-family:var(--display);font-weight:var(--fw-light);font-size:clamp(1.5rem,2.6vw,2.4rem);color:var(--steel);margin-bottom:8px}.pj-fb a{display:block;padding:12px 0;border-top:1px solid var(--hair);font-family:var(--display);font-weight:var(--fw-light);font-size:clamp(1.15rem,2vw,1.6rem);color:var(--steel);text-decoration:none}.pj-fb a:hover{color:var(--teal)}@media(max-width:700px){.pj-toggle button{padding:0 16px}}
