.mo-photo-gallery{background:#f7f7f4;padding:76px 0 88px;color:#111}
.mo-photo-gallery .wrap{max-width:1440px}
.mo-photo-heading{max-width:920px;margin-bottom:28px}
.mo-photo-heading>span{font:700 13px 'Asap Condensed',Arial,sans-serif;letter-spacing:.16em;color:#657000}
.mo-photo-heading h2{font:400 clamp(42px,5.2vw,78px)/1 'Sedgwick Ave Display',cursive;margin:10px 0 18px;text-transform:uppercase}
.mo-photo-heading h2 em{font-style:normal;white-space:nowrap;background:linear-gradient(transparent 46%,var(--lime,#c9ed00) 46%)}
.mo-photo-heading p{font-size:17px;line-height:1.5;max-width:690px}
.mo-photo-controls{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:35px 0 20px}
.mo-photo-groups{display:flex;flex-wrap:wrap;gap:8px}
.mo-photo-groups button{border:2px solid #111;background:#111;color:#fff;padding:9px 13px;font:700 14px 'Asap Condensed',Arial,sans-serif;text-transform:uppercase;cursor:pointer}
.mo-photo-groups button:hover,.mo-photo-groups button.is-active{background:var(--lime,#c9ed00);color:#111}
.mo-photo-controls label{font:700 13px 'Asap Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;min-width:230px}
.mo-photo-controls select{display:block;width:100%;margin-top:5px;padding:10px;border:2px solid #111;border-radius:0;background:#fff;color:#111;font:600 15px 'Asap Condensed',Arial,sans-serif}
.mo-photo-count{font:700 14px 'Asap Condensed',Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#4b4b4b;margin:0 0 14px}
.mo-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mo-photo-tile{position:relative;display:block;min-width:0;aspect-ratio:1;overflow:hidden;border:5px solid #111;background:#111;color:#fff;text-decoration:none}
.mo-photo-tile[hidden]{display:none!important}
.mo-photo-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.mo-photo-tile:hover img{transform:scale(1.055)}
.mo-photo-caption{position:absolute;inset:auto 0 0;display:flex;align-items:end;gap:7px;padding:32px 13px 12px;background:linear-gradient(transparent,#000d);font:700 16px/1.15 'Asap Condensed',Arial,sans-serif;text-transform:uppercase}
.mo-photo-caption strong{flex:1}
.mo-photo-caption small{font:500 10px/1.2 Arial,sans-serif;text-transform:none;color:#fff;max-width:90px}
.mo-photo-caption>span{display:grid;place-items:center;flex:none;width:28px;height:28px;background:var(--lime,#c9ed00);color:#111;font-size:20px}
.mo-photo-empty{padding:25px;border:2px solid #111;font-size:17px}
.mo-photo-tile:focus-visible,.mo-photo-groups button:focus-visible,.mo-photo-controls select:focus-visible{outline:3px solid #2062e0;outline-offset:3px}
@media(max-width:1080px){.mo-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mo-photo-controls{display:block}.mo-photo-controls label{display:block;max-width:330px;margin-top:15px}}
@media(max-width:700px){.mo-photo-gallery{padding:50px 0}.mo-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mo-photo-tile{border-width:3px}.mo-photo-caption{font-size:13px;padding:25px 7px 7px}.mo-photo-caption small{display:none}.mo-photo-groups{flex-wrap:nowrap;overflow:auto;padding-bottom:6px}.mo-photo-groups button{white-space:nowrap;flex:none}}
@media(max-width:420px){.mo-photo-grid{grid-template-columns:1fr 1fr}.mo-photo-caption{font-size:12px}.mo-photo-caption>span{width:22px;height:22px;font-size:16px}}
