.event-gallery{padding:40px 0 65px;border-top:1px solid var(--line)}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px}.gallery-heading .eyebrow{margin-bottom:20px}.gallery-heading h2{margin:0;font-size:44px}.gallery-heading>p{font-size:15px;color:#64574e;margin:0;text-align:right}.photo-grid{display:grid;grid-template-columns:.85fr 1fr 1fr;gap:16px}.photo{position:relative;display:block;min-width:0;overflow:hidden;background:#e5decb;aspect-ratio:3/2}.photo.portrait{grid-row:span 2;aspect-ratio:auto}.photo img{display:block;width:100%;height:100%;object-fit:contain}.photo span{position:absolute;bottom:10px;right:10px;padding:3px 9px;color:#fff;background:#302825d9;font-size:12px}.photo:hover span,.photo:focus-visible span{background:var(--rust)}.gallery-hint{font-size:13px;color:#64574e;margin:18px 0 0}.photo-viewer{width:min(1200px,96vw);max-width:1200px;max-height:94vh;padding:54px 20px 15px;background:#211b18;color:var(--paper);overflow:auto}.photo-viewer::backdrop{background:#120e0de8}.photo-viewer>img{display:block;width:100%;height:calc(85vh - 140px);object-fit:contain}.viewer-close{position:absolute;top:10px;right:15px;border:0;background:transparent;color:var(--paper);padding:5px 10px;cursor:pointer;font-size:15px}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.viewer-bottom p{text-align:center;font-size:14px;line-height:1.5;margin:0;max-width:850px}.viewer-bottom button{flex:none;background:transparent;border:1px solid #807468;color:var(--paper);width:44px;height:44px;font-size:24px;cursor:pointer}.viewer-bottom button:hover{background:var(--rust)}@media(max-width:650px){.event-gallery{padding:30px 0 45px}.gallery-heading{display:block}.gallery-heading h2{font-size:36px}.gallery-heading>p{text-align:left;margin-top:18px}.photo-grid{grid-template-columns:1fr 1fr;gap:10px}.photo.portrait{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}.photo-viewer{padding-left:10px;padding-right:10px}.viewer-bottom{gap:8px}.viewer-bottom p{font-size:12px}.photo span{font-size:11px;bottom:6px;right:6px}}
.event-gallery{border-top:0;padding-top:0}.gallery-section-title{font:normal 28px/1.3 var(--serif);margin:0 0 26px;letter-spacing:normal}.gallery-heading h3{font:normal 22px/1.3 var(--serif);color:var(--rust);letter-spacing:normal;margin:0}.gallery-heading h3 em{font-weight:normal}@media(max-width:650px){.gallery-section-title{font-size:25px;margin-bottom:22px}.gallery-heading h3{font-size:21px}}
.gallery-event{margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}.fair-photo{max-width:900px}
