.app-shell{padding:32px var(--gutter) 64px;max-width:640px;margin:0 auto}.app-shell.wide{max-width:var(--max)}.app-title{margin:0 0 8px;font-size:40px}@media (width>=900px){.app-title{font-size:56px}}.app-lede{color:var(--muted);margin:0 0 28px;font-size:16px;line-height:1.5}.tabs{border:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px;display:grid}.tab{font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;min-height:48px;color:var(--ink);background:0 0;border:0;padding:14px;font-size:14px}.tab[aria-selected=true]{background:var(--ink);color:var(--paper)}.form-stack{flex-direction:column;gap:20px;display:flex}.form-row{flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:15px;display:flex}.form-note{color:var(--muted);border-top:1px solid var(--line);margin:0;padding-top:16px;font-size:14px;line-height:1.55}.alert{color:var(--accent);border:1px solid var(--accent);padding:12px 14px;font-size:15px}.alert[role=status]{color:var(--ink);border-color:var(--line);background:var(--paper-2)}.state-panel{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;display:flex}.state-panel h2{margin:0;font-size:26px}.state-panel p{color:var(--muted);max-width:460px;margin:0;line-height:1.55}.events-index-header{padding:24px var(--gutter) 20px;flex-direction:column;gap:10px;display:flex}@media (width>=900px){.events-index-header{padding:40px var(--gutter-lg) 24px}}.events-grid{padding:0 var(--gutter) 48px;grid-template-columns:1fr;gap:28px;display:grid}@media (width>=640px){.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.events-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=900px){.events-grid{padding-inline:var(--gutter-lg)}}.event-card{flex-direction:column;gap:12px;min-height:44px;text-decoration:none;display:flex;overflow:hidden}.event-card .cover{aspect-ratio:3/2;background:var(--paper-2);object-fit:cover;width:100%;transition:transform var(--dur-med) var(--ease-out)}.event-card:hover .cover{transform:scale(1.03)}@media (prefers-reduced-motion:reduce){.event-card .cover{transition:none}}.event-card .card-title{font-family:var(--font-heading);color:var(--ink);font-size:22px;font-weight:600}.event-card .card-meta{color:var(--muted);justify-content:space-between;gap:10px;font-size:14px;display:flex}.event-header{padding:32px var(--gutter) 20px;flex-direction:column;gap:16px;display:flex}@media (width>=900px){.event-header{padding:48px var(--gutter-lg) 24px;flex-direction:row;justify-content:space-between;align-items:flex-end}}.event-header .crumb{letter-spacing:.1em;color:var(--muted);font-size:14px}.event-header h1{font-size:40px}@media (width>=900px){.event-header h1{font-size:60px}}.event-header .meta{color:var(--ph);flex-wrap:wrap;align-items:center;gap:16px;font-size:15px;display:flex}.expiry-chip{border:1px solid var(--ink);white-space:nowrap;align-items:center;gap:10px;padding:12px 16px;font-size:14px;display:inline-flex}.tabbar{padding:0 var(--gutter);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}@media (width>=900px){.tabbar{padding-inline:var(--gutter-lg)}}.tabbar .albums{gap:24px;display:flex}@media (width>=900px){.tabbar .albums{gap:40px}}.albums button{font:inherit;letter-spacing:.1em;text-transform:uppercase;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:18px 0;font-size:15px}.albums button[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink);font-weight:600}.tabbar .tools{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.photo-grid{padding:24px var(--gutter) 12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}@media (width>=640px){.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}}@media (width>=900px){.photo-grid{padding-inline:var(--gutter-lg);grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}}.photo-tile{aspect-ratio:1;background:var(--white);cursor:pointer;min-height:44px;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:0;padding:3px 3px 6px;display:block;overflow:hidden;box-shadow:0 3px 10px -6px #11111066}.photo-tile:hover,.photo-tile:focus-visible{z-index:1;transform:translateY(-3px)scale(1.035);box-shadow:0 10px 20px -10px #11111080}.photo-tile img{object-fit:cover;width:100%;height:100%;animation:photo-tile-in var(--dur-med) var(--ease-out);display:block}@keyframes photo-tile-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.photo-tile,.photo-tile img{transition:none;animation:none}}.video-list{padding:24px var(--gutter) 48px;gap:24px;display:grid}@media (width>=900px){.video-list{padding-inline:var(--gutter-lg);grid-template-columns:repeat(2,minmax(0,1fr))}}.video-card{flex-direction:column;gap:10px;display:flex}.video-card video{background:#000;width:100%}.lightbox-overlay{color:#fafaf7;z-index:50;background:#0b0b0a;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox-overlay a{color:#fafaf7}.lightbox-top{flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 8px 0 20px;display:flex}.lightbox-top .pos{letter-spacing:.1em;color:var(--dark-muted);font-size:14px}.lightbox-close{color:#fafaf7;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.lightbox-stage{flex-grow:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.lightbox-stage img{object-fit:contain;max-width:100%;max-height:100%;animation:lightbox-pop var(--dur-med) var(--ease-out)}@keyframes lightbox-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.lightbox-stage img{animation:none}}.lightbox-nav{flex-shrink:0;justify-content:space-between;align-items:center;padding:8px;display:flex}.lightbox-nav button{color:#fafaf7;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.lightbox-nav button[disabled]{opacity:.3;cursor:not-allowed}.lightbox-actions{flex-direction:column;flex-shrink:0;gap:8px;padding:12px 20px 32px;display:flex}.lightbox-actions .btn-primary{border:0}.lightbox-actions a{text-align:center;color:var(--dark-muted);justify-content:center;align-items:center;min-height:44px;padding:12px;font-size:14px;display:flex}.download-progress{color:var(--muted);font-size:14px}
