.collection-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px; margin-bottom:28px; }
.collection-toolbar .search-field { flex:1; min-width:220px; max-width:400px; }
.collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-bottom:30px; }
.collection-card { display:block; border:1px solid var(--border); border-radius:16px; overflow:hidden; background:var(--card-bg,#fff); transition:transform .2s,box-shadow .2s; }
.collection-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px #00000012; }
.collection-card>img { display:block; width:100%; height:210px; object-fit:cover; }
.collection-card>div { padding:25px; }
.collection-card h2 { font-size:calc(23px * var(--text-scale,1)); line-height:1.35; margin:15px 0 12px; }
.collection-card p { color:var(--muted); font-size:calc(13px * var(--text-scale,1)); line-height:1.75; margin-bottom:16px; }
.collection-meta { font-size:calc(11px * var(--text-scale,1)); color:var(--muted); }
.collection-note { color:var(--muted); font-size:calc(12px * var(--text-scale,1)); line-height:1.7; margin:20px 0; }
.photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:28px 0 40px; }
.photo-grid figure { margin:0; min-width:0; }
.photo-grid a { display:block; border-radius:14px; overflow:hidden; }
.photo-grid img { display:block; width:100%; height:250px; object-fit:cover; transition:transform .2s; }
.photo-grid a:hover img { transform:scale(1.03); }
.photo-grid figcaption { color:var(--muted); font-size:calc(12px * var(--text-scale,1)); margin-top:12px; }
.photo-dialog { width:min(960px,calc(100% - 32px)); background:var(--card-bg,#fff); }
.photo-dialog h2 { font-size:calc(23px * var(--text-scale,1)); padding-right:25px; }
.photo-dialog figure { margin:15px 0; }
.photo-dialog img { display:block; max-width:100%; max-height:60dvh; margin:auto; object-fit:contain; }
.photo-dialog figcaption { text-align:center; color:var(--muted); font-size:calc(13px * var(--text-scale,1)); margin-top:14px; }
.photo-controls { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.photo-controls .button { padding:10px 14px; font-size:calc(12px * var(--text-scale,1)); }
.photo-controls span { font-size:calc(12px * var(--text-scale,1)); white-space:nowrap; }
.event-detail { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr); gap:35px; margin-bottom:40px; }
.event-cover { display:block; width:100%; max-height:400px; object-fit:cover; border-radius:16px; margin-bottom:25px; }
.event-detail h1 { font-size:clamp(calc(29px * var(--text-scale,1)),calc(4vw * var(--text-scale,1)),calc(42px * var(--text-scale,1))); margin:18px 0; }
.event-detail p { color:var(--muted); line-height:1.8; }
.event-info { align-self:start; border:1px solid var(--border); border-radius:16px; padding:30px; background:var(--surface); }
.event-info h2 { margin:15px 0 22px; font-size:calc(25px * var(--text-scale,1)); }
.event-info dt { font-size:calc(11px * var(--text-scale,1)); color:var(--muted); margin-top:17px; }
.event-info dd { font-size:calc(14px * var(--text-scale,1)); font-weight:700; margin:5px 0 0; overflow-wrap:anywhere; }
.event-info .button { margin-top:24px; font-size:calc(12px * var(--text-scale,1)); }
.event-time { color:var(--primary-dark)!important; font-weight:800; }
.nav-more { position:relative; }
.nav-more summary { display:flex; align-items:center; gap:7px; padding:11px 10px; cursor:pointer; list-style:none; font-size:calc(12px * var(--text-scale,1)); font-weight:700; text-transform:uppercase; border-radius:11px; }
.nav-more summary::-webkit-details-marker { display:none; }
.nav-more summary .icon { width:17px; height:17px; }
.nav-more summary:hover,.nav-more[open] summary { color:var(--primary-dark); background:var(--accent-surface,#ffe5e8); }
.nav-more>div { position:absolute; right:0; top:calc(100% + 10px); z-index:60; min-width:210px; background:var(--card-bg,#fff); border:1px solid var(--border); border-radius:12px; padding:7px; box-shadow:0 14px 30px #0002; }
.nav-more a { justify-content:flex-start; }
.nav-more:has(a[aria-current=page]) summary { color:var(--primary-dark); }
@media(max-width:1280px) { .nav-more { grid-column:1/-1; } .nav-more summary { padding:13px 12px; font-size:calc(13px * var(--text-scale,1)); } .nav-more>div { position:static; min-width:0; box-shadow:none; margin-top:5px; display:grid; grid-template-columns:1fr 1fr; gap:7px; } }
@media(max-width:950px) { .collection-grid,.photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .collection-grid,.photo-grid,.event-detail { grid-template-columns:1fr; } .collection-toolbar .search-field { max-width:none; min-width:0; width:100%; flex-basis:100%; } .photo-grid img { height:230px; } .event-info { padding:24px; } .photo-dialog { padding:25px 18px; } }

@media(min-width:1281px) {
  .site-navigation { gap:2px; }
  .site-navigation a { padding:11px 8px; font-size:calc(11px * var(--text-scale,1)); gap:6px; }
  .nav-more summary { padding:11px 8px; font-size:calc(11px * var(--text-scale,1)); gap:6px; }
}

.event-detail>div,.event-info,.event-card>div{min-width:0;overflow-wrap:anywhere}.event-detail .event-info .button{width:100%;white-space:normal}.event-detail>div>p{white-space:normal}.retro-event>div{min-width:0;overflow-wrap:anywhere}

.event-cover{aspect-ratio:16/9;height:auto;object-fit:cover}

.photo-grid figure,.photo-grid figcaption{min-width:0;overflow-wrap:anywhere}.page-heading>h1,.page-heading>p,#photo-caption,#photo-title{overflow-wrap:anywhere}.photo-dialog-content{min-width:0}

.filter-buttons button{white-space:normal;overflow-wrap:anywhere;max-width:100%}

.page-heading>.eyebrow{max-width:100%;white-space:normal;overflow-wrap:anywhere}

.photo-dialog .dialog-close{color:var(--ink)}.photo-dialog .dialog-close:hover{color:var(--primary-dark);background:var(--surface)}
