@layer components{.portfolio-card{aspect-ratio:1;border-radius:var(--radius-card-sm);background-color:var(--color-surface-100);align-self:start;width:100%;display:block;position:relative;overflow:hidden}.portfolio-card-photo{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.portfolio-card-hit,.portfolio-card-photo{width:100%;height:100%;position:absolute;inset:0}.portfolio-card-hit{z-index:1;cursor:pointer;background:0 0;border:none;padding:0}.portfolio-card-hit:focus-visible{outline:2px solid var(--color-teal-600);outline-offset:-2px}.portfolio-card-overlay{z-index:2;pointer-events:none;background-image:linear-gradient(#0000,#00000047 45%,#0000009e);height:45%;max-height:220px;position:absolute;inset:auto 0 0}.portfolio-card-caption{z-index:3;pointer-events:none;flex-direction:column;gap:2px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}@media(min-width:48rem){.portfolio-card-caption{gap:4px;bottom:24px;left:22px;right:22px}}.portfolio-card-name{font-family:var(--font-sans);font-weight:var(--font-weight-medium);font-size:var(--text-eyebrow);line-height:var(--leading-eyebrow);letter-spacing:var(--tracking-heading-card)}@media(min-width:48rem){.portfolio-card-name{font-size:var(--text-heading-card);line-height:var(--leading-heading-card)}}.portfolio-card-meta{align-items:baseline;gap:12px;display:flex}.portfolio-card-status{font-family:var(--font-sans);font-weight:var(--font-weight-light);font-size:var(--text-eyebrow);line-height:var(--leading-eyebrow);letter-spacing:var(--tracking-body)}@media(min-width:48rem){.portfolio-card-status{font-size:var(--text-body);line-height:var(--leading-body)}}.portfolio-card-readmore{pointer-events:auto;font-family:var(--font-sans);font-weight:var(--font-weight-normal);font-size:var(--text-eyebrow);line-height:var(--leading-eyebrow);letter-spacing:var(--tracking-body);align-items:center;gap:5px;margin-left:auto;text-decoration:none;transition:opacity .2s;display:inline-flex}.portfolio-card-readmore:hover{opacity:.85;text-decoration:underline}.portfolio-card-readmore:focus-visible{outline:2px solid var(--color-white);outline-offset:2px;border-radius:2px}.portfolio-card-readmore__icon{flex-shrink:0;width:16px;height:16px}}@layer components{.portfolio-lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;background-color:#000000d9}.lightbox-figure{margin:0;max-width:min(1400px,92vw);max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:12px}.lightbox-img{max-width:100%;max-height:84vh;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-card-sm)}.lightbox-caption{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;font-family:var(--font-sans)}.lightbox-caption-info{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.lightbox-caption-name{font-size:var(--text-body);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-caption-status{font-size:var(--text-eyebrow);opacity:.85;white-space:nowrap}.lightbox-caption-link{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:var(--text-eyebrow);font-weight:var(--font-weight-normal);text-decoration:none;transition:opacity .2s}.lightbox-caption-link:hover{opacity:.85;text-decoration:underline}.lightbox-caption-link:focus-visible{outline:2px solid var(--color-white);outline-offset:2px;border-radius:2px}.lightbox-caption-link__icon{flex-shrink:0;width:16px;height:16px}.lightbox-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;font-size:28px;line-height:1;color:var(--color-white);background-color:#0006;border:none;border-radius:var(--radius-pill);cursor:pointer}.lightbox-btn:hover{background-color:#000000b3}.lightbox-btn:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}@media(prefers-reduced-motion:no-preference){.lightbox-btn{transition:background-color .2s}}.lightbox-close{position:absolute;top:16px;right:16px}.lightbox-next,.lightbox-prev{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:16px}.lightbox-next{right:16px}}
