.back{display:inline-flex;min-height:44px;align-items:center;margin:8px 0 24px}.intro{padding-bottom:32px}#event-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin:0 0 20px;padding:22px;background:#23251e;border:1px solid var(--line);border-radius:8px}#event-filters label{display:grid;gap:8px;color:var(--muted);font-size:14px}#event-filters select{width:100%;min-width:0;background:#141510;color:var(--paper);border:1px solid #787a68;border-radius:4px;padding:12px 8px;font:inherit;min-height:46px}.result-count{color:var(--muted);font-size:14px}.events-grid{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0 40px}.event-card{flex:0 0 calc(50% - 10px);border:1px solid var(--line);border-radius:8px;overflow:hidden;min-width:0;background:#1b1d17}.event-card>a{display:flex;flex-direction:column;height:100%;text-decoration:none}.event-card a:hover,.event-card a:focus-visible{background:#2a2d22}.event-date{padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#e7ddc6;color:#24241e}.event-date>span{font:600 30px/1.2 ui-serif,Georgia,serif}.event-date small{font-size:13px}.event-card-body{padding:24px;display:flex;flex-direction:column;flex:1}.event-card h2{font-size:clamp(22px,3vw,28px);line-height:1.45;margin:8px 0 14px}.event-card p{font-size:15px;line-height:1.8;margin:0 0 14px}.event-card .event-city{font-size:12px;color:var(--accent)}.card-action{margin-top:auto;padding-top:12px;font-size:14px;color:var(--accent)}.event-detail{max-width:820px;margin:0 auto 64px}.event-detail h1{font-size:clamp(30px,5vw,54px);line-height:1.35}.event-detail .detail-hook{font-size:20px;line-height:1.8}.event-state{font-size:14px;color:var(--accent)}.event-state.is-past{color:#d7b9a7}.event-facts{border-block:1px solid var(--line);margin:24px 0}.event-facts>div{display:grid;grid-template-columns:5em 1fr;gap:16px;padding:18px 0}.event-facts dt{color:var(--muted);font-size:14px}.event-facts dd{margin:0;font-size:16px;line-height:1.8}.event-context{margin:30px 0}.event-context h2,.event-connections h2{font-size:22px}.event-context p{font-size:17px;line-height:1.9}.checked{font-size:12px;line-height:1.8;color:var(--muted);margin:24px 0}.companion-note{padding:20px 0;border-top:1px solid var(--line)}.companion-note summary{cursor:pointer;min-height:44px;align-content:center}.companion-note small{color:var(--muted)}.event-connections{margin:40px 0}.connection{display:block;text-decoration:none;padding:24px;border:1px solid var(--line);margin:12px 0}.connection h3{font-size:20px}.connection small{color:var(--accent)}.connection p{font-size:15px;line-height:1.8}#event-empty{padding:30px;border:1px solid var(--line);margin:24px 0}#event-empty h2{font-size:22px}.empty-elsewhere{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:15px}.empty-routes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 24px}.empty-routes a{display:inline-flex;min-height:44px;align-items:center;font-size:15px;color:var(--accent)}[hidden]{display:none!important}a:focus-visible,select:focus-visible{outline:3px solid #edc269;outline-offset:4px}@media(max-width:600px){#event-filters{grid-template-columns:1fr 1fr;padding:16px;gap:12px}#event-filters label:first-child{grid-column:1/-1}.event-card{flex-basis:100%}.event-card-body{padding:20px}.event-facts>div{grid-template-columns:1fr;gap:8px}.event-detail .detail-hook{font-size:18px}.event-date{padding:14px 20px}.event-detail h1{font-size:30px}.events-grid{gap:16px}}

.intro h1{font-size:clamp(28px,4vw,54px);line-height:1.5}

/* Keep the event flow, brighten the reading and filtering surfaces. */
#event-filters{background:#e9eee5}#event-filters select{background:#fffefa;color:var(--paper);color-scheme:light}
.event-card{background:#fffefa}.event-card a:hover,.event-card a:focus-visible{background:#f1f4ec}.event-date{background:#e5eadb;color:#303c2b}
.event-card .event-city,.checked{font-size:14px}.event-state.is-past{color:#785944}

/* Sep 8: a photograph and one direct official action on each card. */
.events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px}
.event-card{display:flex;flex-direction:column;border-radius:4px;overflow:hidden}
.event-card>a.event-official{height:auto;flex:1;display:flex;flex-direction:column}
.event-card .event-photo{margin:0;position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#dfe5d8}
.event-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.event-photo figcaption{position:absolute;right:10px;bottom:10px;max-width:calc(100% - 20px);padding:3px 7px;background:rgba(23,40,31,.83);color:#fffef7;font:11px/1.6 system-ui}
.event-date{padding:14px 22px;background:#f0eee3}
.event-date>span{font-size:26px}
.event-card-body{padding:20px 22px 22px}
.event-card h2{font-size:25px;line-height:1.5;margin:6px 0 12px}
.event-card .event-city{font-size:12px;line-height:1.7}
.event-card p{font-size:15px;line-height:1.85}
.event-card .card-action{align-self:flex-start;background:#2b5141;color:#fffef7;padding:12px 18px;border-radius:3px;margin-top:6px;font-size:15px}
.event-card .event-detail-link{display:flex;align-items:center;min-height:50px;box-sizing:border-box;padding:12px 22px;border-top:1px solid #d4d9cf;color:#53634f;font-size:14px;text-underline-offset:4px}
.event-visual{margin:28px 0}
.event-visual .event-photo{position:relative;margin:0;aspect-ratio:16/9;overflow:hidden;background:#dfe5d8}
.event-detail>.primary{margin:8px 0 4px;min-height:54px;font-size:16px}
.event-detail .event-artwork{margin:36px auto;max-width:540px}
.event-artwork h2{font-size:24px}
.event-artwork p{font-size:14px;line-height:1.8}
.event-artwork iframe{box-sizing:border-box;display:block;width:100%;height:780px;border:1px solid #d7ddd3;border-radius:4px;background:#fff}
/* Prefer the title's spaces over splitting Japanese phrases to balance a line. */
body main .event-detail h1{word-break:keep-all;overflow-wrap:anywhere;text-wrap:initial}
@media(max-width:600px){.events-grid{grid-template-columns:1fr;gap:24px}.event-card h2{font-size:24px}.event-card-body{padding:18px 20px 20px}.event-card .event-detail-link{padding-inline:20px}.event-detail h1{font-size:30px}.event-detail .event-visual{margin:24px 0}.event-artwork iframe{height:680px}.event-detail>.primary{display:flex;justify-content:center;box-sizing:border-box;width:100%;line-height:1.6;padding:14px 16px}}

/* Four independent filters: keep a balanced row on wide screens and two columns on phones. */
#event-filters{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:800px){#event-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#event-filters label:first-child{grid-column:auto}}
@media(max-width:359px){#event-filters{grid-template-columns:1fr}}

/* Content first: the event is identifiable before its contextual photograph. */
body.design-redesign .event-card-heading{padding:24px 22px 20px;border-top:2px solid var(--dr-accent)}
body.design-redesign.site-polished .event-card .event-card-heading h2{margin:8px 0 14px;font-size:clamp(24px,2.2vw,30px);line-height:1.55}
body.design-redesign .event-card .event-kind{margin:0;font-size:12px;letter-spacing:.08em;color:var(--dr-accent)}
body.design-redesign .event-card .event-city{margin:0;font-size:14px;color:var(--dr-muted);line-height:1.7}
body.design-redesign .event-card .event-date{display:grid;gap:5px;margin-top:16px;padding:0;background:none;border:0}
body.design-redesign .event-card .event-date>span{font:500 17px/1.65 var(--dr-display);font-variant-numeric:tabular-nums}
body.design-redesign .event-card .event-date small{font-size:12px;line-height:1.7;color:var(--dr-muted)}
body.design-redesign .event-card .event-photo{aspect-ratio:16/7}
body.design-redesign .event-card .event-card-body{padding:18px 22px 20px}
body.design-redesign .event-card .card-action{min-height:44px;box-sizing:border-box}
@media(max-width:600px){body.design-redesign .event-card-heading{padding:22px 20px 18px}body.design-redesign .event-card .event-card-body{padding:18px 20px 20px}}
