.fw-portfolio-meta{margin:2rem 0}.fw-portfolio-meta__heading{font-size:1.1em;margin:0 0 1rem}.fw-portfolio-meta__list{display:grid;gap:.25rem;margin:0;padding:0}.fw-portfolio-meta__row{border-bottom:1px solid rgba(0,0,0,.08);display:grid;gap:1rem;grid-template-columns:minmax(120px,180px) 1fr;padding:.65rem 0}.fw-portfolio-meta__row:first-child{border-top:1px solid rgba(0,0,0,.08)}.fw-portfolio-meta__label{font-weight:600;margin:0;opacity:.7}.fw-portfolio-meta__value{margin:0}.fw-portfolio-meta__tags{display:inline-flex;flex-wrap:wrap;gap:.4rem}.fw-portfolio-meta__tag{background:rgba(0,0,0,.06);border-radius:999px;display:inline-block;font-size:.85em;line-height:1.6;padding:.15em .6em}@media (max-width:575px){.fw-portfolio-meta__row{gap:.15rem;grid-template-columns:1fr}}.fw-portfolio-card{margin:0}.fw-portfolio-card__link{color:inherit;display:block;text-decoration:none}.fw-portfolio-card__media{aspect-ratio:var(--fw-portfolio-ratio,4/3);background:#f2f2f2;border-radius:var(--fw-portfolio-radius,8px);display:block;overflow:hidden;position:relative}.fw-portfolio-grid--ratio-auto .fw-portfolio-card__media{aspect-ratio:auto}.fw-portfolio-grid--ratio-auto .fw-portfolio-card__media img{height:auto}.fw-portfolio-card__img,.fw-portfolio-card__media img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1);width:100%}.fw-portfolio-card__placeholder{background:repeating-linear-gradient(45deg,#ececec,#ececec 12px,#f4f4f4 0,#f4f4f4 24px);display:block;height:100%;width:100%}.fw-portfolio-card__link:focus-visible .fw-portfolio-card__img,.fw-portfolio-card__link:hover .fw-portfolio-card__img{transform:scale(1.05)}.fw-portfolio-card__badge{background:rgba(17,17,17,.82);border-radius:999px;color:#fff;font-size:.72em;font-weight:600;left:10px;letter-spacing:.02em;padding:.2em .7em;position:absolute;text-transform:uppercase;top:10px;z-index:2}.fw-portfolio-card__body{display:block;padding:.8rem .1rem 0}.fw-portfolio-card__cat{display:block;font-size:.75em;letter-spacing:.06em;margin-bottom:.25rem;opacity:.6;text-transform:uppercase}.fw-portfolio-card__title{display:block;font-weight:600;line-height:1.3}.fw-portfolio-card__excerpt{display:block;font-size:.9em;line-height:1.5;margin-top:.3rem;opacity:.75}.fw-portfolio-card__link:focus-visible{border-radius:4px;outline:2px solid #4a90d9;outline-offset:3px}.fw-portfolio-results{background:rgba(0,0,0,.04);border-radius:var(--fw-portfolio-radius,8px);display:flex;flex-wrap:wrap;gap:1.5rem;margin:2.5rem 0;padding:1.75rem 2rem}.fw-portfolio-results__item{flex:1 1 140px;text-align:center}.fw-portfolio-results__value{display:block;font-size:2em;font-weight:700;line-height:1.2}.fw-portfolio-results__label{display:block;font-size:.85em;margin-top:.2rem;opacity:.7}.fw-portfolio-testimonial{border-left:3px solid rgba(0,0,0,.15);margin:2.5rem 0;padding:0 0 0 1.5rem}.fw-portfolio-testimonial__quote{border:0;font-size:1.15em;font-style:italic;line-height:1.6;margin:0;padding:0}.fw-portfolio-testimonial__by{font-size:.9em;margin-top:.8rem}.fw-portfolio-testimonial__author{font-weight:600}.fw-portfolio-testimonial__company{opacity:.7}.fw-portfolio-testimonial__author+.fw-portfolio-testimonial__company:before{content:" — "}.fw-portfolio-related{border-top:1px solid rgba(0,0,0,.08);margin:3rem 0 1rem;padding-top:2rem}.fw-portfolio-related__heading{font-size:1.25em;margin:0 0 1.5rem}.fw-portfolio-related__grid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:767px){.fw-portfolio-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:479px){.fw-portfolio-related__grid{grid-template-columns:1fr}}.fw-portfolio-grid-wrap{margin:0 0 1.5rem}.fw-portfolio-filters{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1.5rem;padding:0}.fw-portfolio-filters li{margin:0}.fw-portfolio-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid rgba(0,0,0,.18);border-radius:999px;color:inherit;cursor:pointer;font:inherit;font-size:.9em;line-height:1.4;padding:.4em 1em;transition:background .2s ease,color .2s ease,border-color .2s ease}.fw-portfolio-filter:hover{border-color:rgba(0,0,0,.4)}.fw-portfolio-filter.is-active{background:#111;border-color:#111;color:#fff}.fw-portfolio-filter:focus-visible{outline:2px solid #4a90d9;outline-offset:2px}.fw-portfolio-filters--links ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}a.fw-portfolio-filter{display:inline-block;text-decoration:none}.fw-portfolio-archive{margin:0 0 2rem}.fw-portfolio-archive .fw-portfolio-grid{margin-bottom:2.5rem}.fw-portfolio-archive__empty{opacity:.7}.fw-portfolio-prevnext{align-items:center;border-top:1px solid rgba(0,0,0,.08);display:flex;gap:1.5rem;justify-content:space-between;margin:3rem 0 1rem;padding-top:2rem}.fw-portfolio-prevnext__link{align-items:center;color:inherit;display:flex;gap:.9rem;max-width:48%;text-decoration:none}.fw-portfolio-prevnext__link--next{flex-direction:row-reverse;margin-left:auto;text-align:right}.fw-portfolio-prevnext__thumb{border-radius:6px;flex:none;height:54px;-o-object-fit:cover;object-fit:cover;width:72px}.fw-portfolio-prevnext__label{display:block;font-size:.78em;letter-spacing:.05em;opacity:.6;text-transform:uppercase}.fw-portfolio-prevnext__title{display:block;font-weight:600;line-height:1.3}.fw-portfolio-prevnext__link:focus-visible .fw-portfolio-prevnext__title,.fw-portfolio-prevnext__link:hover .fw-portfolio-prevnext__title{text-decoration:underline}.fw-portfolio-prevnext__link:focus-visible{border-radius:4px;outline:2px solid #4a90d9;outline-offset:3px}@media (max-width:575px){.fw-portfolio-prevnext{align-items:stretch;flex-direction:column}.fw-portfolio-prevnext__link{max-width:none}.fw-portfolio-prevnext__link--next{flex-direction:row-reverse;margin-left:0}}.fw-portfolio-grid{display:grid;gap:var(--fw-portfolio-gap,24px);grid-template-columns:repeat(var(--fw-portfolio-cols,3),minmax(0,1fr))}@media (max-width:991px){.fw-portfolio-grid{grid-template-columns:repeat(min(var(--fw-portfolio-cols,3),2),minmax(0,1fr))}}@media (max-width:575px){.fw-portfolio-grid{grid-template-columns:1fr}}.fw-portfolio-grid--layout-masonry{-moz-column-count:var(--fw-portfolio-cols,3);column-count:var(--fw-portfolio-cols,3);-moz-column-gap:var(--fw-portfolio-gap,24px);column-gap:var(--fw-portfolio-gap,24px);display:block}.fw-portfolio-grid--layout-masonry .fw-portfolio-card{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:var(--fw-portfolio-gap,24px)}.fw-portfolio-grid--layout-masonry .fw-portfolio-card__media{aspect-ratio:auto}.fw-portfolio-grid--layout-masonry .fw-portfolio-card__media img{height:auto}@media (max-width:991px){.fw-portfolio-grid--layout-masonry{-moz-column-count:2;column-count:2}}@media (max-width:575px){.fw-portfolio-grid--layout-masonry{-moz-column-count:1;column-count:1}}.fw-portfolio-grid--layout-list{display:flex;flex-direction:column;gap:var(--fw-portfolio-gap,24px);grid-template-columns:none}.fw-portfolio-grid--layout-list .fw-portfolio-card__link{align-items:center;display:flex;gap:1.5rem}.fw-portfolio-grid--layout-list .fw-portfolio-card__media{flex:0 0 260px;max-width:260px}.fw-portfolio-grid--layout-list .fw-portfolio-card__body{flex:1;padding:0}.fw-portfolio-grid--layout-list .fw-portfolio-card__title{font-size:1.35em}.fw-portfolio-grid--layout-list.fw-portfolio-grid--hover-overlay .fw-portfolio-card__body{background:none;color:inherit;opacity:1;padding:0;position:static;transform:none}@media (max-width:575px){.fw-portfolio-grid--layout-list .fw-portfolio-card__link{align-items:stretch;flex-direction:column;gap:.8rem}.fw-portfolio-grid--layout-list .fw-portfolio-card__media{flex-basis:auto;max-width:none}}.fw-portfolio-grid.is-loading{opacity:.55;pointer-events:none;transition:opacity .2s ease}.fw-portfolio-loadmore{margin:1.75rem 0 0;text-align:center}.fw-portfolio-loadmore[hidden]{display:none}.fw-portfolio-loadmore__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid rgba(0,0,0,.25);border-radius:999px;color:inherit;cursor:pointer;font:inherit;font-weight:600;padding:.6em 1.6em;transition:background .2s ease,color .2s ease,border-color .2s ease}.fw-portfolio-loadmore__btn:hover:not(:disabled){background:#111;border-color:#111;color:#fff}.fw-portfolio-loadmore__btn:disabled{cursor:default;opacity:.6}.fw-portfolio-loadmore__btn:focus-visible{outline:2px solid #4a90d9;outline-offset:2px}.fw-portfolio-sr{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.fw-portfolio-grid .fw-pg__item{position:static}.fw-portfolio-grid--hover-none .fw-portfolio-card__link:focus-visible .fw-portfolio-card__img,.fw-portfolio-grid--hover-none .fw-portfolio-card__link:hover .fw-portfolio-card__img{transform:none}.fw-portfolio-grid--hover-grayscale .fw-portfolio-card__img{filter:grayscale(1);transition:filter .4s ease,transform .5s cubic-bezier(.2,.8,.2,1)}.fw-portfolio-grid--hover-grayscale .fw-portfolio-card__link:focus-visible .fw-portfolio-card__img,.fw-portfolio-grid--hover-grayscale .fw-portfolio-card__link:hover .fw-portfolio-card__img{filter:grayscale(0)}.fw-portfolio-grid--hover-overlay .fw-portfolio-card__link{position:relative}.fw-portfolio-grid--hover-overlay .fw-portfolio-card__body{background:linear-gradient(180deg,transparent,rgba(0,0,0,.72));border-radius:0 0 var(--fw-portfolio-radius,8px) var(--fw-portfolio-radius,8px);color:#fff;inset:auto 0 0 0;opacity:0;padding:2.4rem 1rem 1rem;position:absolute;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;z-index:2}.fw-portfolio-grid--hover-overlay .fw-portfolio-card__cat,.fw-portfolio-grid--hover-overlay .fw-portfolio-card__excerpt{opacity:.8}.fw-portfolio-grid--hover-overlay .fw-portfolio-card__link:focus-visible .fw-portfolio-card__body,.fw-portfolio-grid--hover-overlay .fw-portfolio-card__link:hover .fw-portfolio-card__body{opacity:1;transform:none}@media (hover:none){.fw-portfolio-grid--hover-overlay .fw-portfolio-card__body{opacity:1;transform:none}}.fw-portfolio-grid .fw-portfolio-card.is-hidden{display:none}.fw-portfolio-grid .fw-portfolio-card{transition:opacity .3s ease,transform .3s ease}.fw-portfolio-grid .fw-portfolio-card.is-entering{opacity:0;transform:translateY(8px)}@media (prefers-reduced-motion:reduce){.fw-portfolio-card__img,.fw-portfolio-filter,.fw-portfolio-grid .fw-portfolio-card,.fw-portfolio-grid--hover-overlay .fw-portfolio-card__body{transition:none}.fw-portfolio-grid--hover-overlay .fw-portfolio-card__body{opacity:1;transform:none}}