:root{--bg:#e8eef6;--bg-2:#f7fafd;--ink:#0c1e38;--muted:#5b6f8a;--line:#c5d3e6;--ticket:#e8873a;--ticket-ink:#fff8f1;--navy:#143a6b;--glow:#4ea3e0;--free:#2c7a3a;--ad:#8a6a48;--shadow:0 10px 28px #0c1e3817;--radius:16px;--font:"IBM Plex Sans", "Segoe UI", sans-serif;--display:"Outfit", "IBM Plex Sans", sans-serif}*{box-sizing:border-box}:focus{outline:none}:focus-visible{outline:2px solid var(--ticket);outline-offset:2px}.skip-link{z-index:200;background:var(--navy);color:#f4f8fd;border-radius:8px;padding:10px 16px;font-weight:600;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus,.skip-link:focus-visible{transform:none}html{overflow-anchor:none}html,body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font);margin:0}body{background-image:radial-gradient(900px 480px at 8% -12%,#c5d8f0 0%,#0000 58%),radial-gradient(720px 420px at 100% -8%,#f3d4b0 0%,#0000 52%),radial-gradient(640px 360px at 86% 108%,#b8cce8 0%,#0000 48%)}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{width:min(1180px,100% - 32px);margin:0 auto;padding:16px 0 64px}body.has-cookie-banner .page{padding-bottom:200px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.topbar__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.home-city-btn{border:1px solid var(--line);background:var(--bg-2);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:10px 16px;font-weight:600}.home-city-btn:hover{border-color:var(--navy)}.add-event-btn{background:var(--navy);color:#f4f8fd;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;padding:10px 16px;font-weight:600}.app-store-badge{flex-shrink:0;align-items:center;line-height:0;display:inline-flex}.app-store-badge img{width:auto;height:40px;display:block}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand__logo{filter:drop-shadow(0 10px 22px #08163047);flex-shrink:0;width:56px;height:auto}.brand__mark{max-width:18ch;font-family:var(--display);color:var(--ink);letter-spacing:-.03em;margin:0;font-size:clamp(18px,2.8vw,26px);font-weight:700;line-height:1.12}.search{gap:6px;padding:8px 4px 2px;display:grid}.search__label{color:var(--muted);font-size:13px}.search input{border:1px solid var(--line);background:var(--bg-2);width:100%;color:var(--ink);font:inherit;border-radius:14px;padding:14px 16px;font-size:16px;box-shadow:inset 0 1px #ffffff8c}.search input:focus-visible{border-color:#0000}.filters{z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-anchor:none;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:8px;margin:0 -4px 8px;padding:8px 0 12px;display:grid;position:relative;overflow:visible}.filters .search,.filters .filter-hint,.filters .listing-lead,.filters .sr-only{grid-column:1/-1}.view-bar{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin:0 4px;display:flex}.view-toggle{border:1px solid var(--line);background:var(--bg-2);border-radius:999px;gap:2px;padding:3px;display:flex}.view-toggle button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:650}.view-toggle button.is-active{background:var(--navy);color:#f4f8fd}.filters .filter-reset{margin:0}.filters .chip-menu{min-width:0;margin:0;position:relative}.filters .chip-menu__summary{justify-content:center}.filters .chip-menu .chips{z-index:21;background:var(--bg-2);border:1px solid var(--line);min-width:min(420px,100vw - 48px);box-shadow:var(--shadow);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:12px;max-height:min(50vh,320px);margin-top:6px;padding:8px;position:absolute;left:0;right:auto;overflow-y:auto}.filters .chip-menu:last-of-type .chips{left:auto;right:0}.filters--compact{z-index:20;background:color-mix(in srgb, var(--bg-2) 92%, #fff);border:1px solid color-mix(in srgb, var(--line) 75%, transparent);border-radius:0 0 var(--radius) var(--radius);border-top:0;margin:0 0 8px;padding:10px 10px 12px;position:sticky;top:0;box-shadow:0 10px 24px #0c1e3814}.filters--compact .filter-hint,.filters--compact .listing-lead{display:none}.filters--compact .search{padding:0 0 2px}.filters--compact .search__label{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.filters--compact .search input{border-radius:12px;padding:10px 14px}.chips{flex-wrap:wrap;gap:8px;padding:6px 4px;display:flex}.chip-menu{margin:6px 4px}.chip-menu__summary{cursor:pointer;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);border-radius:999px;align-items:center;gap:.3em;padding:8px 14px;font-size:14px;list-style:none;display:flex;box-shadow:inset 0 1px #fffc}.chip-menu__label:after{content:":"}.chip-menu__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chip-menu__summary::-webkit-details-marker{display:none}.chip-menu[open] .chip-menu__summary{background:var(--navy);color:#f4f8fd;border-color:var(--navy);box-shadow:none}.chip-menu .chips{margin-top:4px}.chip-menu:not([open]) .chips{display:none}@media (width<=720px){.filters{gap:6px}.filters--compact{padding:max(8px, env(safe-area-inset-top)) 4px 8px}.filters .chip-menu{position:static}.filters--compact .chip-menu__label{display:none}.filters .chip-menu__summary{padding:8px;font-size:12px}.filters .chip-menu .chips{min-width:0;max-height:min(40vh,240px);left:4px;right:4px}.chip-menu[open] .chips{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(38vh,220px);padding-bottom:8px;overflow-y:auto}}.chip{border:1px solid var(--line);background:var(--bg-2);color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;padding:8px 13px;font-size:14px;box-shadow:inset 0 1px #fffc}.chip:hover{border-color:color-mix(in srgb, var(--navy) 40%, var(--line))}.chip.is-active{background:var(--navy);color:#f4f8fd;border-color:var(--navy);box-shadow:none}.chip.is-hidden{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.type-chip{align-items:stretch;max-width:100%;display:inline-flex}.type-chip .chip{border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.type-chip__hide{border:1px solid var(--line);background:var(--bg-2);color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;border-radius:0 999px 999px 0;flex:none;margin:0;padding:8px 12px;font-size:13px;font-weight:600;box-shadow:inset 0 1px #fffc}.type-chip__hide:hover{color:var(--ink);border-color:color-mix(in srgb, var(--navy) 40%, var(--line))}.type-chip .chip.is-active+.type-chip__hide{border-color:var(--navy)}.type-chip__hide.is-active{background:color-mix(in srgb, var(--ink) 9%, var(--bg-2));color:var(--ink);border-color:var(--ink);box-shadow:none}.filter-hint{color:var(--muted);font-family:var(--font);margin:0 4px 4px;font-size:13px;font-weight:500;line-height:1.4}.listing-lead{max-width:62ch;color:var(--ink);margin:0 4px 10px;font-size:15px;line-height:1.45}.filter-reset{color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:13px;font-weight:650}.filter-reset:hover{text-underline-offset:3px;text-decoration:underline}.event-map{z-index:1;isolation:isolate;gap:8px;margin:4px 0 16px;display:grid;position:relative}.event-map__canvas{z-index:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);height:min(70dvh,680px);min-height:380px;position:relative;overflow:hidden}.event-map__canvas .leaflet-control-container{z-index:2}.event-map__note{color:var(--muted);margin:0 4px;font-size:13px}.map-event{z-index:30}.map-event .sources__panel{width:min(460px,100%)}.map-event__kicker{color:var(--muted);margin:0;font-size:13px;font-weight:650}.map-event__body{overscroll-behavior:contain;min-height:0;margin-top:12px;overflow-y:auto}.map-event__body h2{font-family:var(--display);letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(22px,3vw,28px);line-height:1.2}.map-event__image{object-fit:cover;background:#dbe6f2;border-radius:12px;width:100%;max-height:180px;margin-bottom:12px;display:block}.map-event__image.is-fallback{object-fit:contain;background:#08162c}.map-event .event-detail__cta{width:fit-content}.map-event__page{margin:12px 0 0;font-size:14px}.map-event__page a{color:var(--navy);text-underline-offset:3px}@media (width<=720px){.map-event{place-items:end center;padding:0}.map-event .sources__panel{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:min(78dvh,640px)}}.event-pin{background:0 0;border:0}.event-pin__dot{background:var(--ticket);border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:4px;display:block;box-shadow:0 1px 4px #0c1e3859}.event-cluster{background:#e8873a38;border-radius:50%;place-items:center;display:grid}.event-cluster span{background:var(--ticket);color:#fff;border-radius:50%;place-items:center;width:72%;height:72%;font-size:13px;font-weight:700;display:grid}.more-events{margin:20px 0 8px}.seo-fallback{max-width:68ch;padding:8px 4px 24px}.seo-fallback h1{font-family:var(--display);font-size:clamp(22px,3vw,32px);line-height:1.15}.seo-fallback ul{padding-left:1.2em}.layout{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:28px;display:grid}.layout--solo{grid-template-columns:minmax(0,1fr)}.layout__main{min-width:0}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin:28px 0 12px;display:flex}.section-head h2{font-family:var(--display);margin:0;font-size:32px}.section-head p{color:var(--muted);margin:0;font-size:14px}.day-block+.day-block{margin-top:18px}.day-block__title{font-family:var(--display);color:var(--navy);margin:0 0 10px;font-size:18px;font-weight:650}.featured-inlist{display:none}.ad-rail .featured .section-head{margin:0 0 10px}.ad-rail .featured .section-head h2{font-size:22px}.ad-rail .featured__grid{grid-template-columns:1fr}.ad-rail .featured-card{min-height:132px}.featured__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.featured-card{border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--line);min-height:180px;box-shadow:var(--shadow);align-content:end;gap:8px;padding:14px;text-decoration:none;display:grid;position:relative;overflow:hidden}.featured-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.featured-card img.is-fallback{object-position:center 40%;background:#08162c}.featured-card:has(img:not([hidden])):after{content:"";background:linear-gradient(#0814282e 0%,#081428d6 72%);position:absolute;inset:0}.featured-card:has(img:not([hidden])){color:#f4f8fd}:is(.featured-card:has(img:not([hidden])) strong,.featured-card:has(img:not([hidden])) span){text-shadow:0 1px 8px #0814288c}.featured-card strong,.featured-card span,.featured-card .pill{z-index:1;position:relative}.event-list{gap:10px;display:grid}.event-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;grid-template-columns:80px minmax(0,1fr);align-items:start;gap:12px;padding:10px;text-decoration:none;display:grid}.event-card.has-image{grid-template-columns:96px minmax(0,1fr)}.event-card:hover{border-color:color-mix(in srgb, var(--navy) 38%, var(--line))}.event-card__media{align-self:start;justify-items:center;gap:6px;display:grid}.event-card__image{object-fit:cover;background:#dbe6f2;border-radius:12px;width:96px;height:72px}.event-card__image.is-fallback{object-fit:contain;object-position:center;background:#08162c}.event-card__time{font-variant-numeric:tabular-nums;text-align:center;color:var(--navy);font-size:13px;font-weight:700;line-height:1.2}.event-card__dist{font-variant-numeric:tabular-nums;text-align:center;color:var(--muted);font-size:12px;line-height:1.2}.event-card__title{margin:0;font-size:16px;line-height:1.25}.event-card__place{color:var(--muted);margin:4px 0 0;font-size:13px}.event-card__excerpt{color:var(--ink);margin:6px 0 0;font-size:13px;line-height:1.4}.event-card__meta{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.pill{color:var(--navy);background:#dbe6f2;border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.pill--free{color:var(--free);background:#e4f4e6}.pill--ad{color:var(--ad);background:#efe4d2}.ad-rail{min-width:0}.ad-rail__inner{gap:16px;display:grid;position:sticky;top:16px}.ad-slot{gap:6px;display:grid}.ad-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.ad-box{isolation:isolate;border:1px solid var(--line);color:#f4f8fd;background:#0c1e38;border-radius:12px;width:100%;max-width:100%;text-decoration:none;display:block;position:relative;overflow:hidden}.ad-box:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#08142814 20%,#081428c7 100%);position:absolute;inset:0}.ad-box__art{object-fit:cover;width:100%;height:100%;display:block}.ad-box__copy{z-index:2;text-shadow:0 1px 10px #081428bf;gap:2px;display:grid;position:absolute;bottom:14px;left:14px;right:14px}.ad-box__copy strong{font-family:var(--display);font-size:20px;line-height:1.15}.ad-box__copy em{color:#ffd08a;font-size:14px;font-style:normal;font-weight:600}.ad-box__mail{color:#fffaf4;opacity:.92;font-size:13px;font-weight:500}.ad-slot--header .ad-box__copy{text-align:center;place-content:center;inset:0}.ad-slot--header .ad-box__copy strong{font-size:22px}.ad-box:hover .ad-box__copy em{text-underline-offset:3px;text-decoration:underline}.ad-box--adsense{background:var(--bg-2);justify-content:center;align-items:center;display:flex}.ad-box--adsense:after{display:none}.ad-slot--header .ad-box{height:90px}.ad-slot--sidebar .ad-box,.ad-slot--mid .ad-box,.ad-slot--feed .ad-box{height:250px}.ad-slot--mid,.ad-slot--feed{margin:16px 0}.ad-slot--inlist{display:none}.state{color:var(--muted);padding:28px 0}.state p{margin:0}.empty-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.state--error{color:#c43a1b}.footer{border-top:1px solid var(--line);color:var(--muted);max-width:72ch;margin-top:48px;padding-top:20px;font-size:13px}.footer__nav{flex-wrap:wrap;gap:8px 14px;margin:12px 0 0;display:flex}.footer__nav a{color:var(--ink);text-underline-offset:3px}.footer__nav--legal{margin-top:16px}.page--legal .brand{text-decoration:none}.legal{max-width:68ch}.legal h1{font-family:var(--display);letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(28px,4vw,40px)}.legal h2{margin:28px 0 8px;font-size:18px}.legal p,.legal li{color:var(--muted);line-height:1.55}.legal__lead{color:var(--ink);font-size:17px}.legal ul{padding-left:1.2em}.legal a{color:var(--navy);text-underline-offset:3px}.event-detail{max-width:68ch}.event-detail__image{object-fit:cover;border-radius:var(--radius);background:#dbe6f2;width:min(100%,640px);max-height:320px;margin-bottom:16px;display:block}.event-detail__image.is-fallback{object-fit:contain;background:#08162c}.event-detail__meta{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.event-detail h1{font-family:var(--display);letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(26px,4vw,40px);line-height:1.15}.event-detail__when,.event-detail__place{margin:0 0 8px;font-size:16px}.event-detail__place{color:var(--muted)}.event-detail__copy{margin:18px 0;font-size:16px;line-height:1.55}.event-detail__copy--muted{color:var(--muted)}.event-detail a{color:var(--navy);text-underline-offset:3px}.event-detail__cta{border:1px solid var(--line);background:var(--bg-2);color:inherit;border-radius:999px;align-items:center;gap:8px;margin:12px 0 0;padding:12px 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.event-detail__cta.is-tickets{background:var(--ticket);color:var(--ticket-ink);border-color:var(--ticket)}.event-detail__note,.event-detail__more{color:var(--muted);margin:10px 0 0;font-size:13px}.cookie-banner{z-index:40;pointer-events:none;position:fixed;bottom:16px;left:16px;right:16px}.cookie-banner__inner{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);width:min(920px,100%);box-shadow:var(--shadow);pointer-events:auto;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 auto;padding:16px 18px;display:flex}.cookie-banner__title{margin:0 0 6px;font-weight:600}.cookie-banner__text{max-width:62ch;color:var(--muted);margin:0;font-size:14px;line-height:1.45}.cookie-banner__text a{color:var(--navy)}.cookie-banner__actions{flex-wrap:wrap;gap:8px;display:flex}.cookie-banner__btn{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;padding:10px 14px;font-weight:600}.cookie-banner__btn--ok{border-color:var(--navy);background:var(--navy);color:#fff}.footer__link{color:var(--ink);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:0;padding:0;text-decoration:underline}.sources{z-index:20;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.sources__backdrop{cursor:pointer;background:#0814287a;border:0;position:absolute;inset:0}.sources__panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);flex-direction:column;width:min(480px,100%);min-height:0;max-height:calc(100dvh - 48px);padding:22px 22px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #08142838}.sources__head{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.sources__head h2{font-family:var(--display);margin:0;font-size:28px}.sources__close{border:1px solid var(--line);background:var(--bg-2);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px}.sources__lead{color:var(--muted);flex-shrink:0;margin:10px 0 16px;font-size:14px}.sources__list{overscroll-behavior:contain;gap:12px;min-height:0;margin:0;padding:0 4px 0 0;list-style:none;display:grid;overflow-y:auto}.sources__list li{gap:2px;display:grid}.sources__list a{font-weight:600;text-decoration:none}.sources__list a:hover{color:var(--ticket)}.sources__list span{color:var(--muted);font-size:13px}.inquire{overscroll-behavior:contain;gap:12px;min-height:0;display:grid;overflow-y:auto}.inquire label{gap:6px;font-size:13px;font-weight:600;display:grid}.inquire__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.inquire label.inquire__check{align-items:center;gap:8px;font-weight:600;display:flex}.inquire label.inquire__check input{width:auto}.hp{height:0;position:absolute;left:-9999px;overflow:hidden}.inquire input,.inquire select,.inquire textarea{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:12px;padding:10px 12px}.inquire textarea{resize:vertical;min-height:120px}.inquire__submit{background:var(--navy);color:#f4f8fd;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-self:start;padding:10px 18px;font-weight:600}.inquire__submit:disabled{opacity:.6;cursor:wait}.inquire__ok{color:var(--free);margin:8px 0 0;font-weight:600}.inquire__error{color:#c43a1b;margin:0;font-size:14px}.sources__lead a{color:var(--navy)}@media (width<=900px){.ad-slot--header{display:none}.layout{grid-template-columns:1fr}.ad-rail{display:none}.ad-slot--inlist{display:grid}.featured-inlist{display:block}.topbar{align-items:flex-start}.brand{gap:10px}.brand__logo{width:48px}.event-card,.event-card.has-image{grid-template-columns:72px minmax(0,1fr);align-items:start}.event-card__image{width:72px;height:72px;display:block}.event-card__time{font-size:12px}.event-card__excerpt{display:none}.featured__grid{grid-template-columns:1fr}}
