.vee-portfolio-grid{--vee-col-gap:36px;--vee-row-gap:42px;--vee-zoom:1.04;--vee-transition:350ms;width:100%;font-family:inherit}
.vee-portfolio-grid *{box-sizing:border-box}
.vee-portfolio-grid__inner{max-width:1600px;width:100%;margin-inline:auto}
.vee-portfolio-grid__items{display:grid;grid-template-columns:repeat(var(--vee-cols,3),minmax(0,1fr));column-gap:var(--vee-col-gap);row-gap:var(--vee-row-gap);align-items:start}
.vee-portfolio-grid__item{min-width:0}
.vee-portfolio-grid__card{position:relative;min-width:0;background:#fff}
.vee-portfolio-grid__image-wrap{width:100%;aspect-ratio:var(--vee-ratio,3/2);overflow:hidden;background:#f2f2f2;line-height:0}
.vee-portfolio-grid__image-wrap:has(img[style*="height:auto"]){aspect-ratio:auto}
.vee-portfolio-grid__image-wrap>a{display:block;position:relative;width:100%;height:100%;overflow:hidden;text-decoration:none;line-height:0}
.vee-portfolio-grid__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--vee-transition) ease,filter var(--vee-transition) ease}
.vee-portfolio-grid__image-wrap:has(img[style*="height:auto"]) .vee-portfolio-grid__image{height:auto}

/* Hover treatment mirrors the Velotary portfolio cards: dimmed image and centered outlined arrow. */
.vee-portfolio-grid__hover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.44);opacity:0;transition:opacity var(--vee-transition) ease;z-index:2;pointer-events:none}
.vee-portfolio-grid__hover-icon{display:block;width:72px;height:72px;max-width:22%;max-height:22%;overflow:visible;transform:scale(.92);transition:transform var(--vee-transition) ease}
.vee-portfolio-grid__image-link:hover .vee-portfolio-grid__hover-overlay,.vee-portfolio-grid__image-link:focus-visible .vee-portfolio-grid__hover-overlay{opacity:1}
.vee-portfolio-grid__image-link:hover .vee-portfolio-grid__hover-icon,.vee-portfolio-grid__image-link:focus-visible .vee-portfolio-grid__hover-icon{transform:scale(1)}
.vee-portfolio-grid__image-link:focus-visible{outline:2px solid #ff1493;outline-offset:3px}

.vee-portfolio-grid--hover-zoom .vee-portfolio-grid__card:hover .vee-portfolio-grid__image{transform:scale(var(--vee-zoom))}
.vee-portfolio-grid--hover-grayscale .vee-portfolio-grid__image{filter:grayscale(1)}
.vee-portfolio-grid--hover-grayscale .vee-portfolio-grid__card:hover .vee-portfolio-grid__image{filter:grayscale(0)}
.vee-portfolio-grid__body{padding-top:14px}
.vee-portfolio-grid__categories{margin:0 0 8px;color:#69717b;font-size:18px;font-weight:400;line-height:1.35}
.vee-portfolio-grid__title{margin:8px 0 0;color:#071c32;font-size:30px;font-weight:500;line-height:1.25;letter-spacing:-.25px}
.vee-portfolio-grid__title a{color:inherit;text-decoration:none;transition:color .2s ease}
.vee-portfolio-grid__title a:hover{color:#ff6b35}
.vee-portfolio-grid__excerpt{margin-top:10px;color:#68717b;font-size:15px;line-height:1.6}
.vee-portfolio-grid__empty{text-align:center;color:#666;padding:28px 12px}
@media(max-width:1024px){.vee-portfolio-grid__items{grid-template-columns:repeat(var(--vee-cols-tablet,2),minmax(0,1fr))}.vee-portfolio-grid__categories{font-size:16px}.vee-portfolio-grid__title{font-size:26px}}
@media(max-width:767px){.vee-portfolio-grid__items{grid-template-columns:repeat(var(--vee-cols-mobile,1),minmax(0,1fr));row-gap:30px}.vee-portfolio-grid__categories{font-size:15px}.vee-portfolio-grid__title{font-size:24px}.vee-portfolio-grid__body{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.vee-portfolio-grid__image,.vee-portfolio-grid__hover-overlay,.vee-portfolio-grid__hover-icon{transition:none!important}}
