/* Shared visual system: directory, detail pages, and planner chrome. */
.site-header nav,.category-pills,.section-nav ul{scrollbar-width:none}.site-header nav::-webkit-scrollbar,.category-pills::-webkit-scrollbar,.section-nav ul::-webkit-scrollbar{display:none}
.venue-layout{grid-template-columns:minmax(0,1fr)}.section-nav{min-width:0}
*,*::before,*::after{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0;background:var(--ground);color:var(--text);font:400 17px/1.5 var(--font-body,Barlow,Arial,sans-serif)}
[hidden]{display:none!important}img,svg{max-width:100%}img{height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a,button{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.55}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}section[id],article[id]{scroll-margin-top:100px}p{margin:0 0 16px;overflow-wrap:anywhere}h1,h2,h3,h4{margin:0 0 16px;line-height:1.05;text-wrap:balance;overflow-wrap:anywhere}h1,h2,h3{font-family:var(--font-display,'Barlow Condensed',Arial,sans-serif);font-weight:800}h1{font-size:clamp(2.9rem,8vw,4.6rem);line-height:.96}h2{font-size:1.9rem}h3{font-size:1.55rem}h1 em{font-style:normal}h4{font-size:1.125rem}ul{padding-left:24px}main{max-width:1280px;padding:24px 20px 56px;margin:auto}main>section,main>.venue-layout{margin-bottom:40px}main>section:last-child{margin-bottom:0}main>section>p{max-width:68ch}
.site-header,.site-footer{background:var(--chrome);color:var(--chrome-text);--focus:var(--marquee)}.site-header{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:8px max(20px,calc((100vw - 1200px)/2));min-height:64px}.brand{font-weight:700;font-size:20px;text-decoration:none;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;min-height:44px}.site-header nav{display:flex;align-items:center;gap:16px;min-width:0;overflow-x:auto;padding:3px}.site-header nav a{display:inline-flex;align-items:center;white-space:nowrap;min-height:44px;text-decoration:none;border-bottom:3px solid transparent;font-weight:600}.site-header nav [aria-current]{border-bottom-color:var(--marquee)}.theme-toggle{background:transparent;color:inherit;border:1px solid var(--panel-muted);border-radius:8px;font-size:14px;min-height:44px;min-width:76px;padding:6px 10px}.site-footer{padding:32px max(20px,calc((100vw - 1200px)/2)) 40px}.site-footer>strong{font-size:20px}.site-footer p{max-width:68ch;margin-top:12px}.site-footer nav{display:flex;gap:8px 24px;flex-wrap:wrap}.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.skip,.skip-link{position:fixed;left:16px;top:-100px;z-index:2000;background:var(--marquee);color:var(--night);padding:12px 20px;border-radius:8px}.skip:focus,.skip-link:focus{top:12px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.button,.ticket-option{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--marquee);border:2px solid var(--marquee);color:var(--night);padding:10px 16px;min-height:44px;border-radius:8px;text-decoration:none;font-weight:700;line-height:1.25}.button:hover,.ticket-option.primary:hover{background:var(--marquee-hover);border-color:var(--marquee-hover)}.button:active{transform:translateY(1px)}.button.secondary{background:transparent;color:var(--text);border-color:var(--text)}.button.secondary:hover{background:var(--soft)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.fine,.source-line,.disclosure{font-size:14px;color:var(--muted);line-height:1.5}.muted{color:var(--muted)}.eyebrow{font-size:15px;font-weight:600;color:var(--muted);margin-bottom:12px}.hero{padding:16px 0 24px}.hero>p{max-width:62ch}.hero h1{margin-bottom:24px}.hero.discovery{padding-block:24px 32px}.hero.discovery h1{max-width:16ch}.crumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:15px;margin-bottom:24px}.crumbs a{display:inline-flex;min-height:44px;align-items:center}.crumbs [aria-current]{overflow-wrap:anywhere}.empty{padding:24px;border:2px dashed var(--line-strong);border-radius:12px}.callout{background:var(--paper);padding:24px;border:1px solid var(--line);border-radius:12px}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:baseline;flex-wrap:wrap}.section-heading p{color:var(--muted)}
.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:var(--paper);padding:20px;border:1px solid var(--line);border-radius:12px;margin-bottom:16px}.filters label{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:600}.filters .search-field{grid-column:1/-1}.filters input,.filters select{min-height:44px;min-width:0;width:100%;padding:10px 12px;border:1.5px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--text)}.filters>a{display:inline-flex;align-items:center;min-height:44px}.date-range{grid-column:1/-1}.date-range summary,details>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.date-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.category-pills{display:flex;overflow-x:auto;gap:8px;padding:4px 4px 12px;margin-bottom:32px}.category-pills a{white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1.5px solid var(--line-strong);border-radius:100px;text-decoration:none;font-size:15px;font-weight:600}.category-pills [aria-current]{background:var(--text);color:var(--ground)}
[data-category]{--category:var(--cat-other)}[data-category="music"]{--category:var(--cat-music)}[data-category="sports"]{--category:var(--cat-sports)}[data-category="theatre"]{--category:var(--cat-other)}[data-category="comedy"]{--category:var(--cat-comedy)}[data-category="community"]{--category:var(--cat-community)}.category-badge{display:inline-flex;background:var(--category,var(--cat-other));color:var(--night);font-size:13px;font-weight:700;padding:2px 10px;border-radius:99px;line-height:1.5}.badge{display:inline-block;border:1px solid currentColor;border-radius:6px;padding:2px 8px;font-size:13px;font-weight:600}.visited{color:var(--go)}.status-badge{font-size:13px;border:1px solid currentColor;border-radius:6px;padding:2px 6px}
.cards{display:grid;grid-template-columns:1fr;gap:12px}.date-group{margin-top:32px}.date-group>h3{font-size:1.65rem}.event-card{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr);background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:clip}.card-body{padding:16px}.event-card h2{font-size:1.45rem;margin-bottom:8px}.event-card p{font-size:15px;margin-bottom:8px}.event-card .event-date{font-size:13px;color:var(--muted)}.card-link{text-decoration:none}.card-link::after{content:"";position:absolute;inset:0}.event-card:hover h2,.venue-card:hover h3{text-decoration:underline}.event-card:focus-within,.venue-card:focus-within{outline:3px solid var(--focus);outline-offset:3px}.event-card .card-link:focus-visible,.venue-card .card-link:focus-visible{outline:none}.event-card .stub{border-radius:0;background:var(--category);height:100%;justify-content:flex-start;padding-top:16px;min-width:0;color:var(--night)}.event-card .stub small{display:none}.event-card .stub strong{font-size:2.3rem}.event-card .stub:before,.event-card .stub:after{top:0;transform:translateY(-50%)}.event-card .category-badge{margin-top:6px}.stub{position:relative;display:flex;flex-direction:column;align-items:center;background:white;color:var(--night);border-radius:12px;padding:12px 0;width:100%;max-width:124px;flex-shrink:0;text-align:center;font-weight:600;line-height:1.2;overflow:hidden}.stub>span{font-size:15px}.stub>b{font:800 24px/1.2 var(--font-display)}.stub>strong{font:800 60px/1 var(--font-display);margin:2px 0 12px}.stub small{font-size:14px;border-top:2px dashed #a9b8b1;width:100%;padding:10px 4px 0}.stub::before,.stub::after{content:"";position:absolute;width:16px;height:16px;background:var(--category);border-radius:100%;bottom:34px;left:-8px}.stub::after{left:auto;right:-8px}
.venue-mark{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--night);color:var(--marquee);width:84px;height:84px;flex-shrink:0;font:800 40px/1 var(--font-display)}.venue-mark img{width:70%;height:70%;filter:brightness(0) saturate(100%) invert(83%) sepia(68%) saturate(1345%) hue-rotate(329deg) brightness(103%) contrast(101%)}.venue-cards{display:grid;gap:16px;grid-template-columns:1fr}.venue-card{display:flex;gap:20px;position:relative;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:12px;min-width:0}.venue-card>div{min-width:0}.venue-card h3{margin:0 0 6px;font-size:1.7rem}.venue-card p{font-size:15px;margin-bottom:12px}.venue-card .venue-count{font-weight:700;margin-top:20px;margin-bottom:0}.venue-region>h2{margin-bottom:24px}.venue-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.venue-hero>div{min-width:0;max-width:62ch}.venue-hero h1{font-size:clamp(2.9rem,7vw,4.6rem)}.venue-hero .venue-mark{width:84px;height:84px}
.event-hero{background:var(--category);color:var(--night);padding:0 20px 32px;margin:-24px -20px 40px;--focus:var(--night)}.event-hero .crumbs{margin:0 0 20px;padding-top:12px}.event-poster{display:grid;grid-template-columns:80px minmax(0,1fr);gap:20px;align-items:start}.event-poster h1{font-size:clamp(2.3rem,5vw,3.6rem);margin:12px 0}.event-poster p{margin-bottom:12px}.event-poster .fine{color:var(--night)}.event-poster .venue-mark{display:none}.event-poster .category-badge{background:var(--night);color:var(--category)}.arrival-jump{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.status{padding:20px;border:2px solid var(--line-strong);border-radius:12px;margin-bottom:32px}.status.cancelled{border-color:var(--stop);color:var(--stop)}.status.postponed{border-color:var(--caution);color:var(--caution)}.event-layout{display:grid;gap:40px}.event-main,.ticket-rail{min-width:0}.event-main>section,.ticket-rail>section{margin-bottom:40px}.ticket-option{width:100%;justify-content:space-between;margin-bottom:8px;min-height:64px;background:var(--paper);border:1px solid var(--line-strong);color:var(--text)}.ticket-option.primary{background:var(--marquee);color:var(--night);border-color:var(--marquee)}.ticket-plan-choice{margin-top:12px}.ticket-plan-choice a{display:block;min-height:44px;padding:8px 0}.rail-actions{display:flex;flex-direction:column;gap:12px}.rail-actions>a:last-child{padding:10px 0}.serve{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px}.serve h2{font:700 18px/1.25 var(--font-body)}.serve-row{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.serve-row p{font-size:15px;margin:8px 0}.serve-row .disclosure{font-size:14px}.official-info h2{font-size:1.5rem}.event-action-bar{position:sticky;bottom:0;display:flex;gap:12px;flex-wrap:wrap;padding:12px 20px calc(12px + env(safe-area-inset-bottom));margin:0 -20px -56px;background:var(--ground);border-top:1px solid var(--line-strong);z-index:20}.event-action-bar .button{flex:1;font-size:15px}.timeline{list-style:none;padding:0 0 0 40px;margin:24px 0}.timeline li{position:relative;display:flex;flex-direction:column;padding:0 0 28px 0;min-height:70px}.timeline li::before{content:"";position:absolute;left:-29px;top:16px;width:5px;height:100%;background:var(--category)}.timeline li:last-child::before{display:none}.timeline-stop{position:absolute;left:-41px;top:0;width:30px;height:30px;border:4px solid var(--text);background:var(--ground);border-radius:50%}.timeline .unconfirmed .timeline-stop{border-style:dashed;border-color:var(--muted)}.timeline strong{font-size:18px}.timeline time{font-family:var(--font-display);font-size:24px;font-weight:800}.timeline span:not(.timeline-stop){font-size:15px}
.quick-summary{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.quick-summary ul{padding:0;list-style:none;margin:16px 0 24px;display:grid;gap:20px}.quick-summary li{display:flex;align-items:flex-start;gap:14px;min-width:0}.quick-summary strong{font-size:16px}.quick-summary p{font-size:15px;margin:4px 0 0}.quick-summary .fine{font-size:14px}.pictogram{width:24px;height:24px;flex-shrink:0}.sign{background:var(--panel);color:var(--panel-text);--focus:var(--marquee)}.sign .fine{color:var(--panel-muted)}.sign .pictogram{filter:brightness(0) saturate(100%) invert(83%) sepia(68%) saturate(1345%) hue-rotate(329deg) brightness(103%) contrast(101%)}.venue-layout{display:grid;gap:32px;position:relative}.venue-main{min-width:0}.venue-main>section{margin-bottom:40px}.section-nav{position:sticky;top:0;z-index:10;margin:0 -20px;padding:8px 20px;background:var(--ground);border-bottom:1px solid var(--line)}.section-nav>strong{display:none}.section-nav ul{display:flex;overflow-x:auto;gap:8px;list-style:none;margin:0;padding:4px}.section-nav a{display:flex;align-items:center;min-height:44px;white-space:nowrap;padding:8px 14px;border:1px solid var(--line-strong);border-radius:99px;text-decoration:none;font-size:15px}.section-nav a[aria-current]{background:var(--text);color:var(--ground)}.firsthand{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.firsthand-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.firsthand h2{font:700 18px/1.25 var(--font-body);margin-bottom:4px}.firsthand .fine{margin:0}.firsthand .avatar{display:grid;place-items:center;width:50px;height:50px;background:var(--marquee);color:var(--night);border-radius:50%;font-weight:700}.firsthand .visited{margin-left:auto}.firsthand>p{font-size:20px}.guidance-answer{padding:24px 0;border-bottom:1px solid var(--line)}.guidance-answer h3{display:flex;gap:12px;align-items:center}.guidance-answer .source-line{margin:16px 0 0}.places{display:grid;gap:12px}.places article{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:20px}.places article .eyebrow{color:var(--go);font-weight:700}.venue-photo,.event-photo{margin:24px 0}.venue-photo img,.event-photo img{display:block;width:100%;height:auto;border-radius:12px}.venue-photo figcaption,.event-photo figcaption{font-size:14px;color:var(--muted);margin-top:12px}.event-photo{max-width:760px}
#guide-analytics-banner{background:var(--paper)!important;color:var(--text)!important;border-color:var(--line-strong)!important;font-family:var(--font-body)!important}#guide-analytics-banner button{background:var(--paper)!important;color:var(--text)!important;border-color:var(--text)!important}#guide-analytics-banner button[data-choice="yes"]{background:var(--marquee)!important;color:var(--night)!important;border-color:var(--marquee)!important}
@media(min-width:600px){main{padding:32px 32px 56px}.filters{grid-template-columns:repeat(4,minmax(0,1fr))}.filters .search-field{grid-column:span 2}.filters .date-range{grid-column:span 2}.venue-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.venue-card{padding:20px;gap:16px}.venue-card .venue-mark{width:64px;height:64px}.quick-summary ul{grid-template-columns:repeat(2,minmax(0,1fr))}.event-hero{margin:-32px -32px 40px;padding-inline:32px}.event-poster{grid-template-columns:124px minmax(0,1fr);gap:32px}.section-nav{margin-inline:-32px;padding-inline:32px}.event-action-bar{margin-inline:-32px;padding-inline:32px}.venue-hero .venue-mark{width:132px;height:132px}}
@media(min-width:1024px){html{scroll-padding-top:24px}main{padding:32px 40px 72px}main>section,main>.venue-layout{margin-bottom:56px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.venue-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.venue-card{flex-direction:column}.venue-card .venue-mark{width:84px;height:84px}.category-pills{flex-wrap:wrap}.event-hero{margin:-32px -40px 56px;padding:0 40px 40px}.event-poster{grid-template-columns:124px minmax(0,1fr) 132px;align-items:center}.event-poster .venue-mark{display:flex;width:132px;height:132px;background:transparent}.event-poster .venue-mark img{width:100%;height:100%;filter:none}.event-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:48px;align-items:start}.ticket-rail{grid-column:2;grid-row:1}.event-main{grid-column:1;grid-row:1}.event-main .cards{grid-template-columns:1fr}.event-action-bar{display:none}.venue-layout{grid-template-columns:minmax(0,760px) minmax(180px,260px);gap:56px;align-items:start}.venue-main{grid-column:1;grid-row:1}.section-nav{grid-column:2;grid-row:1;top:24px;margin:0;padding:0;border:0;max-height:calc(100dvh - 48px);overflow-y:auto}.section-nav>strong{display:block;font-family:var(--font-display);font-size:24px;margin-bottom:12px}.section-nav ul{display:block;overflow:visible;padding:4px}.section-nav a{white-space:normal;border:0;border-left:4px solid var(--line);border-radius:0;margin-bottom:4px}.section-nav a[aria-current]{background:transparent;color:var(--text);border-left-color:var(--indicator);font-weight:700}.venue-main .cards{grid-template-columns:1fr}section[id],article[id]{scroll-margin-top:24px}}
@media(min-width:1024px) and (min-height:760px){.ticket-rail[data-fits]{position:sticky;top:24px}}
@media(max-width:399px){.site-header{gap:12px;padding-inline:12px}.site-header nav{gap:12px}.site-header .brand{font-size:18px}.event-poster{gap:12px;grid-template-columns:64px minmax(0,1fr)}.event-poster h1{font-size:2.2rem}.stub strong{font-size:48px}.stub small{font-size:12px}.venue-hero{gap:12px}.venue-hero .venue-mark{width:56px;height:56px}.venue-card{padding:16px;gap:12px}.venue-card .venue-mark{width:64px;height:64px}}
@media(max-width:599px){.site-header{flex-wrap:wrap;gap:0}.site-header nav{flex-basis:100%;justify-content:space-between;overflow:visible;gap:8px}.theme-toggle{flex-shrink:0}}
@media(max-height:499px){.section-nav,.event-action-bar{position:static}}
html[data-theme="dark"] .pictogram{filter:invert(1)}html[data-theme="dark"] .sign .pictogram{filter:brightness(0) saturate(100%) invert(83%) sepia(68%) saturate(1345%) hue-rotate(329deg)}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.button,a{transition:background-color .15s,border-color .15s}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(forced-colors:active){.button,.stub,.venue-mark,.category-badge{border:1px solid ButtonText}.card-link:focus-visible{outline:3px solid Highlight}.pictogram,.venue-mark img{filter:none!important}.timeline-stop{background:Canvas}.timeline li::before{background:CanvasText}}
@media print{.site-header,.site-footer,.section-nav,.event-action-bar,.rail-actions,[data-share],#guide-analytics-banner{display:none!important}body{background:white;color:black}main{padding:0}.event-layout,.venue-layout{display:block}.ticket-rail{display:none}.firsthand details>*{display:block}}
