.vh-portfolio-hero{max-width:1280px!important}.vh-portfolio-hero h1{font-size:clamp(40px,5vw,68px);line-height:1.08}.vh-portfolio-hero p{max-width:600px}.vh-portfolio-filters{display:flex;gap:24px;overflow-x:auto;white-space:nowrap;margin-bottom:32px}.vh-portfolio-filters button{min-height:44px;border:0;background:transparent;padding:0;color:#6b6b6b;font:12px/1.5 Inter,sans-serif;letter-spacing:.06em;cursor:pointer}.vh-portfolio-filters button[aria-current="true"]{color:#111;text-decoration:underline;text-underline-offset:8px}.vh-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.vh-portfolio-item{margin:0;min-width:0;transition:opacity 180ms ease,transform 180ms ease}.vh-portfolio-item[hidden]{display:none}.vh-portfolio-photo{display:block;width:100%;padding:0;border:0;background:#eee;cursor:zoom-in}.vh-portfolio-photo img{display:block;width:100%;height:auto;max-height:720px;object-fit:cover}.vh-portfolio-empty{color:#6b6b6b}.vh-portfolio-more,.vh-portfolio-contact a{display:inline-block;margin-top:28px;font:13px/1.5 Inter,sans-serif;letter-spacing:.04em;color:#111}.vh-portfolio-contact{border-top:1px solid #ddd}.vh-portfolio-contact p{margin-bottom:0}.vh-portfolio-lightbox{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:64px 80px 52px;border:0;background:#111;color:#eee;overflow:auto}.vh-portfolio-lightbox[open]{display:flex;align-items:center;justify-content:center}.vh-portfolio-lightbox::backdrop{background:rgba(17,17,17,.96)}.vh-portfolio-lightbox img{max-width:min(100%,1120px);max-height:78dvh;width:auto;height:auto;object-fit:contain}.vh-portfolio-lightbox button{position:absolute;min-width:44px;min-height:44px;border:0;background:transparent;color:#eee;font-size:26px;cursor:pointer}.vh-portfolio-close{right:16px;top:12px}.vh-portfolio-prev{left:16px;top:calc(50% - 22px)}.vh-portfolio-next{right:16px;top:calc(50% - 22px)}.vh-portfolio-counter{position:absolute;bottom:16px;margin:0;font:13px/1.5 Inter,sans-serif;color:#bbb}.vh-portfolio-lightbox button:focus-visible,.vh-portfolio-photo:focus-visible{outline:2px solid currentColor;outline-offset:5px}@media(max-width:1024px){.vh-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}@media(max-width:767px){.vh-portfolio-section,.vh-portfolio-preview{padding-inline:20px!important}.vh-portfolio-grid{grid-template-columns:1fr;gap:28px}.vh-portfolio-preview .vh-portfolio-item:nth-child(n+5){display:none}.vh-portfolio-filters{gap:20px;margin-inline:-20px;padding-inline:20px}.vh-portfolio-lightbox{padding:64px 20px 96px}.vh-portfolio-lightbox img{max-width:100%;max-height:68dvh}.vh-portfolio-prev,.vh-portfolio-next{top:auto!important;bottom:18px}.vh-portfolio-prev{left:20px}.vh-portfolio-next{right:20px}.vh-portfolio-hero{padding-top:64px!important}}@media(prefers-reduced-motion:reduce){.vh-portfolio-item{transition:none}}
.vh-portfolio-photo{aspect-ratio:4/5!important;overflow:hidden}.vh-portfolio-photo img{height:100%!important;max-height:none!important;object-fit:cover}
.vh-portfolio-home-carousel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}@media(min-width:1025px){.vh-portfolio-section .vh-portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:767px){.vh-portfolio-preview .vh-portfolio-home-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:8px}.vh-portfolio-preview .vh-portfolio-item{flex:0 0 84%;scroll-snap-align:start}.vh-portfolio-preview .vh-portfolio-item:nth-child(n+5){display:block}.vh-portfolio-section .vh-portfolio-grid{grid-template-columns:1fr}}
.vh-portfolio-filters a{display:inline-flex;align-items:center;min-height:44px;color:#6b6b6b;font:12px/1.5 Inter,sans-serif;letter-spacing:.06em;text-decoration:none}.vh-portfolio-filters a[aria-current=page]{color:#111;text-decoration:underline;text-underline-offset:8px}@media(min-width:768px) and (max-width:1024px){.vh-portfolio-section .vh-portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:600px) and (max-width:767px){.vh-portfolio-section .vh-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
