/* Location ledger: solid colours, Georgia headings, system-ui body, ui-monospace postcodes, fine ledger rules; Index rows (.index-rows): number, city, count, districts, link; Neutral reporting, neutral passive constructions. */
:root{--canvas:#F0F5F3;--paper:#FFFFFF;--ink:#173C34;--muted:#465F57;--blue:#2F5E75;--line:#CBD8D2;--note:#E2ECE7;--note-muted:#39564B;--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s24:24px;--s32:32px;--s40:40px;--s64:64px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:var(--s24)}
body{margin:0;background-color:var(--canvas);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.6}
h1,h2,h3,p,li,th,td,address,summary,label,.brand{overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.2;margin:0 0 var(--s16)}
h1{font-size:2.45rem;letter-spacing:-.025em}
h2{font-size:1.8rem}
h3{font-size:1.3rem}
p{margin:0 0 var(--s16)}
p:last-child{margin-bottom:0}
a{color:var(--blue);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
button,input,textarea{font:inherit}
button{cursor:pointer}
button,.button{border:1px solid var(--ink);border-radius:6px;background-color:var(--ink);color:var(--paper);padding:var(--s8) var(--s16);min-height:44px}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600}
button:hover,.button:hover{background-color:var(--blue);color:var(--paper)}
.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--s16)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:0;clip-path:inset(50%);white-space:nowrap;overflow-wrap:normal}
.skip-link{position:absolute;left:var(--s16);top:var(--s8);transform:translateY(-160%);z-index:30;padding:var(--s8) var(--s16);background-color:var(--paper);color:var(--ink)}
.skip-link:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--line);background-color:var(--paper);color:var(--ink);position:relative;z-index:20}
.header-inner{height:52px;display:flex;align-items:center;justify-content:space-between;gap:var(--s16)}
.header-inner>*{min-width:0}
.brand{display:flex;align-items:center;gap:var(--s8);font-family:Georgia,serif;font-size:1.3rem;color:var(--ink);text-decoration:none;flex-shrink:1;min-width:0;overflow-wrap:anywhere}
.brand svg{width:24px;height:24px;flex-shrink:0;fill:currentColor}
.desktop-nav,.header-cta{display:none}
.menu-toggle{flex-shrink:0;background-color:var(--paper);color:var(--ink);font-size:.875rem;padding:var(--s8) var(--s12)}
.mobile-menu{position:fixed;inset:52px 0 0;background-color:var(--note);color:var(--ink);overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-start;padding:var(--s24) var(--s16)}
.mobile-menu nav{width:100%;max-width:1168px;margin-block:auto;margin-inline:auto}
.mobile-menu ul{list-style:none;padding:0;margin:0}
.mobile-menu li{border-bottom:1px solid var(--line)}
.mobile-menu a{display:block;padding:var(--s16) 0;color:var(--ink);overflow-wrap:anywhere;hyphens:auto}
.mobile-menu li:last-child{border:0;padding-top:var(--s24)}
.mobile-menu .button{background-color:var(--ink);color:var(--paper);padding:var(--s12) var(--s16)}
.site-footer :focus-visible{outline-color:var(--paper)}
.mobile-menu :focus-visible,.note :focus-visible,.facts :focus-visible{outline-color:var(--ink)}
main{padding-block:var(--s40) var(--s64)}
main>section,main>form{margin-top:var(--s64)}
.intro{max-width:850px}
.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:var(--s12)}
.lead{font-size:1.125rem;color:var(--muted)}
.facts{display:grid;grid-template-columns:1fr;gap:var(--s24);padding:var(--s24);margin-top:var(--s32);background-color:var(--note);color:var(--ink);border:1px solid var(--line);border-radius:2px}
.facts>*{min-width:0}
.facts dt{font-size:.875rem;color:var(--note-muted);margin-bottom:var(--s4)}
.facts dd{margin:0;font-weight:600}
.facts .figure{font:2.4rem Georgia,serif}
.section-heading{border-top:2px solid var(--ink);padding-top:var(--s24);margin-bottom:var(--s24)}
.index-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.index-rows>li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--s12) var(--s16);padding:var(--s24);background-color:var(--paper);color:var(--ink);border:1px solid var(--line);border-top:0;border-radius:2px}
.index-rows>li>*{min-width:0}
.index-rows h3{margin:0}
.index-rows .count,.index-rows .districts,.index-rows .city-link{grid-column:2}
.row-number{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);font-size:.875rem}
.districts{color:var(--muted)}
.count{font-weight:600}
.table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:2px;background-color:var(--paper);color:var(--ink)}
table{border-collapse:collapse;width:100%;text-align:left}
th,td{padding:var(--s12) var(--s16);border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:600}
thead,tfoot{background-color:var(--note);color:var(--ink)}
tr:last-child td,tr:last-child th{border-bottom:0}
tbody tr+tr{border-top:1px solid var(--line)}
caption{text-align:left;padding:var(--s16);font-weight:600}
.prose{max-width:820px}
.prose h2{margin-top:var(--s40)}
.prose h2:first-child{margin-top:0}
.prose p{margin-bottom:var(--s24)}
.note{background-color:var(--note);color:var(--ink);border-left:3px solid var(--ink);padding:var(--s24)}
.note p{color:var(--note-muted)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;padding:var(--s16) 0;font-weight:600}
details>p{padding:0 0 var(--s24)}
details[open]>summary{margin-bottom:var(--s8)}
.breadcrumb{margin-bottom:var(--s32);font-size:.875rem;color:var(--muted)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s8);margin:0;padding:0}
.breadcrumb li{min-width:0}
.jump-list{display:flex;flex-wrap:wrap;gap:var(--s12) var(--s24);padding:0;margin:var(--s24) 0 0;list-style:none}
.jump-list>*{min-width:0}
.jump-list a{display:inline-block;padding-block:var(--s8)}
.hours-note{color:var(--muted);margin-bottom:var(--s24)}
.column-labels{display:none}
.venue{background-color:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:2px;padding:var(--s24);scroll-margin-top:var(--s24)}
.venue+.venue{margin-top:var(--s16)}
.venue-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s24)}
.venue-grid>*{min-width:0}
.venue-heading{display:flex;gap:var(--s12);align-items:flex-start}
.venue-heading>*{min-width:0}
.venue-heading .row-number{width:24px;flex-shrink:0;padding-top:var(--s4)}
.venue h2{font-size:1.35rem;margin:0}
address{font-style:normal}
.postcode{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.field-label{display:block;font-size:.875rem;color:var(--muted);margin-bottom:var(--s4)}
.venue-actions{display:flex;flex-wrap:wrap;gap:var(--s12) var(--s24);margin-top:var(--s24)}
.venue-actions>*{min-width:0}
.venue details{margin-top:var(--s16);border-top:1px solid var(--line);border-bottom:0}
.venue details summary{font-size:.875rem}
.venue .table-wrap{max-width:540px;margin-bottom:var(--s8)}
.venue table{font-size:.9375rem}
.other-cities{display:flex;flex-wrap:wrap;gap:var(--s16) var(--s24);list-style:none;padding:0;margin:0}
.other-cities>*{min-width:0}
pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:var(--s24) 0;padding:var(--s24);border:1px solid var(--line);background-color:var(--paper);color:var(--ink);border-radius:2px}
.contact-form{max-width:820px;padding:var(--s24);border:1px solid var(--line);border-radius:2px;background-color:var(--paper);color:var(--ink)}
.form-field{margin-bottom:var(--s24)}
label{display:block;font-weight:600;margin-bottom:var(--s8)}
input,textarea{width:100%;min-width:0;min-height:44px;padding:var(--s12);border:1px solid var(--muted);border-radius:6px;background-color:var(--paper);color:var(--ink)}
textarea{resize:vertical}
.error{font-weight:600;margin-top:var(--s8);color:var(--ink)}
.form-note{color:var(--muted);font-size:.9375rem;margin-bottom:var(--s24)}
.site-footer{background-color:var(--ink);color:var(--paper);padding-block:var(--s40)}
.site-footer a{color:var(--paper)}
.footer-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s32)}
.footer-grid>*{min-width:0}
.site-footer p{font-size:.9375rem}
.footer-brand{font-family:Georgia,serif;font-size:1.3rem!important}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--s12) var(--s24);list-style:none;margin:0 0 var(--s24);padding:0}
.footer-links>*{min-width:0}
.footer-note{border-top:1px solid var(--muted);margin-top:var(--s32);padding-top:var(--s24)}
.footer-note p{max-width:900px}
@media(min-width:400px){h1{font-size:2.8rem}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:480px){.container{padding-inline:var(--s24)}.mobile-menu{padding-inline:var(--s24)}h1{font-size:3.1rem}}
@media(min-width:768px){main{padding-top:var(--s64)}h1{font-size:3.5rem}.facts{grid-template-columns:.7fr .7fr 1.6fr 1fr}.index-rows>li{grid-template-columns:32px 1.05fr .65fr 2fr auto;align-items:center;gap:var(--s16)}.index-rows .count,.index-rows .districts,.index-rows .city-link{grid-column:auto}.index-rows .city-link{font-size:.9375rem}.column-labels,.venue-grid{display:grid;grid-template-columns:1.25fr 1fr .7fr 1.25fr;gap:var(--s24)}.column-labels>*{min-width:0}.column-labels{padding:var(--s12) var(--s24);font-size:.875rem;color:var(--muted);border-bottom:1px solid var(--line)}.venue .field-label{display:none}.venue-actions{justify-content:flex-end}.footer-grid{grid-template-columns:1fr 1.3fr}}
@media(min-width:1024px){.header-inner{height:64px;gap:var(--s16)}.brand{flex-shrink:0;white-space:nowrap;font-size:1.3rem}.desktop-nav{display:block;flex:1 1 auto;min-width:0}.desktop-nav ul{display:flex;justify-content:center;gap:var(--s16);list-style:none;margin:0;padding:0}.desktop-nav li{min-width:0}.desktop-nav a{font-size:.875rem;white-space:nowrap;color:var(--ink)}.header-cta{display:inline-flex;flex-shrink:0;white-space:nowrap;font-size:.875rem}.menu-toggle{display:none}.mobile-menu{inset:64px 0 0}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}