/* Custom performance, responsive, and interaction refinements */
:root{--gallery-gap:10px;--tap-size:44px}
html{scroll-behavior:smooth}
body{overflow-wrap:break-word}
img{max-width:100%;height:auto}
picture{display:block}
.hero-title-wrap h1{text-wrap:balance}
.project-gallery-grid{gap:var(--gallery-gap)}
.project-gallery-grid a,.grid-images .item{transition:transform .28s ease,opacity .28s ease;transform:translateZ(0)}
.project-gallery-grid a:hover,.grid-images .item:hover{transform:translateY(-2px)}
.project-gallery-grid a picture,.project-gallery-grid a img{display:block}
.project-gallery-grid a img{transition:transform .32s ease,opacity .32s ease}
.project-gallery-grid a:hover img{transform:scale(1.02);opacity:.98}
.hero-slide{background-color:#000;will-change:opacity}
.main-nav a{min-height:var(--tap-size);display:flex !important;align-items:center;justify-content:center;padding:.2rem .1rem}
.nav-toggle{min-width:var(--tap-size);min-height:var(--tap-size)}
.project-info-wrap a{color:inherit;text-decoration:underline;text-underline-offset:2px}.project-info-wrap a:hover{opacity:.7}
@media (max-width:991px){.hero-title-wrap{bottom:72px !important;width:min(92%,820px) !important}.hero-title-wrap h1{font-size:clamp(2.2rem,6vw,3.3rem) !important;line-height:1.02 !important}.hero-title-wrap p{font-size:clamp(1rem,2.4vw,1.1rem) !important}.project-info-wrap{gap:32px !important}}
@media (max-width:768px){:root{--gallery-gap:8px}.main-nav li{margin:0 6px !important}.main-nav li a{padding:.35rem .2rem !important}.project-gallery-grid{gap:8px !important}.grid-images .item,.grid-images .item-sizer{width:50% !important}}
@media (max-width:575px){.hero-title-wrap{bottom:54px !important}.hero-title-wrap h1{font-size:clamp(1.9rem,9vw,2.6rem) !important}.hero-title-wrap p{margin-top:10px !important;line-height:1.5 !important}.project-info-wrap{grid-template-columns:1fr !important;gap:24px !important}.project-gallery-grid{grid-template-columns:1fr !important}.grid-images .item,.grid-images .item-sizer{width:100% !important}}
