/* Scoped Gathering recap: full-width clay band, uncropped portrait grid. */
#gathering-recap.tbgr{position:relative;z-index:7;width:100%;max-width:none;margin:24px 0;padding:48px 0;background:#cba18a;color:#30251f;border-block:1px solid #ad8069}
#gathering-recap .tbgr__inner{max-width:1080px;margin:0 auto;padding:0 56px}
#gathering-recap .tb-section-label{color:#493c30}
#gathering-recap .tb-section-title{color:#30251f}
#gathering-recap .tbpf-recap-date{color:#493c30}
#gathering-recap .tb-section-copy{color:#493c30;max-width:760px}
#gathering-recap .tbgr__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:26px 0 0}
#gathering-recap .tbgr__grid li{min-width:0;margin:0;padding:0;list-style:none}
#gathering-recap .tbgr__photo{display:block;background:#30251f;border-radius:3px;overflow:hidden;cursor:zoom-in}
#gathering-recap .tbgr__photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
#gathering-recap .tbgr__photo:focus-visible{outline:3px solid #30251f;outline-offset:4px}
#gathering-recap .tbgr__hint{font:12px/1.5 system-ui,sans-serif;color:#493c30;margin:18px 0 0}
.tbgr__dialog{position:fixed;inset:0;margin:auto;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:18px;background:#171412;color:#fff;border:0;box-sizing:border-box}
.tbgr__dialog::backdrop{background:#171412f5}
.tbgr__bar{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.tbgr__caption{flex:1;margin:0;font:13px/1.5 system-ui,sans-serif}
.tbgr__dialog button{flex-shrink:0;background:transparent;color:#fff;border:1px solid #ffffff70;border-radius:30px;min-width:44px;min-height:44px;font:20px system-ui;cursor:pointer}
.tbgr__dialog button:focus-visible{outline:2px solid #edc68d;outline-offset:2px}
.tbgr__full{display:block;width:100%;height:calc(100dvh - 100px);object-fit:contain}
@media(max-width:600px){#gathering-recap.tbgr{padding:32px 0;margin:20px 0}#gathering-recap .tbgr__inner{padding:0 20px}#gathering-recap .tbgr__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.tbgr__dialog{padding:12px}.tbgr__bar{gap:7px}.tbgr__caption{font-size:11px}}
