/* Masonry layout for WordPress gallery blocks */
.wp-block-gallery{display:block!important;column-count:3;column-gap:10px;}
.wp-block-gallery figure,.wp-block-gallery .wp-block-image,.wp-block-gallery .blocks-gallery-item{width:100%!important;max-width:100%!important;margin:0 0 10px!important;break-inside:avoid;display:block!important;}
.wp-block-gallery img{width:100%!important;height:auto!important;display:block;}
@media (max-width:700px){.wp-block-gallery{column-count:2;}}
/* MM lightbox */
#mmlb{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:999999;cursor:zoom-out}
#mmlb.on{display:flex}
#mmlb img{max-width:94vw;max-height:92vh;object-fit:contain;box-shadow:0 0 30px rgba(0,0,0,.6)}
#mmlb button{position:absolute;background:none;border:0;color:#fff;font-size:44px;line-height:1;padding:16px;cursor:pointer;opacity:.8;font-family:Arial,sans-serif}
#mmlb button:hover{opacity:1}
#mmlb .x{top:6px;right:10px}#mmlb .p{left:6px;top:50%;transform:translateY(-50%)}#mmlb .n{right:6px;top:50%;transform:translateY(-50%)}
.mmlb-zoom{cursor:zoom-in}
/* Home slideshow: reserve space to stop layout shift (Oct 8, 2026; corrected) */
._68cae3f7-820d-4425-93b7-b02daf1b4f6c .ansel-slides-container.loading,
._68cae3f7-820d-4425-93b7-b02daf1b4f6c .ansel-slides-container.initializing{width:100%;aspect-ratio:3/2;max-height:100vh;min-height:0}
/* OPTIONAL (needs Matt's OK): home portfolio grid, reserve space on phones before it renders (Oct 8, 2026) */
@media (max-width:640px){._188bb874-c820-4e21-8081-ff90dc25348f .pp-grid-wrap{min-height:calc((90vw - 40px) * 4 / 3 + 270px)}}
