/* ace-charities */
/* Charities hub and profile. Server rendered, so it must look right before any JS. */
.ace-chy{max-width:1200px;margin:0 auto;padding:clamp(.8rem,1.6vw,1.35rem) 0 3rem}
.ace-chy__head h1{margin:0 0 .5rem;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;font-weight:800}
.ace-chy__lede{margin:0 0 1.6rem;max-width:62ch;line-height:1.55;color:var(--ace-muted,#b9b0a0)}








.ace-chy__count{margin:0 0 1rem;font-size:.9rem;color:var(--ace-muted,#b9b0a0)}
.ace-chy__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem;margin:0;padding:0;list-style:none}
.ace-chy__card{display:flex}
.ace-chy__link{display:flex;flex-direction:column;gap:.45rem;width:100%;padding:1rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:14px;background:var(--ace-surface,#1c1813);color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}
.ace-chy__link:hover{border-color:var(--ace-orange,#ff7a18);transform:translateY(-2px)}
.ace-chy__name{font-weight:700;line-height:1.25;text-wrap:balance}
.ace-chy__chips{display:flex;flex-wrap:wrap;gap:.3rem}
.ace-chy__chip{padding:.12rem .5rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ace-orange-2,#ff9a45)}
.ace-chy__blurb{font-size:.88rem;line-height:1.45;color:var(--ace-muted,#b9b0a0)}
.ace-chy__where{margin-top:auto;font-size:.8rem;color:var(--ace-muted,#b9b0a0);opacity:.85}
.ace-chy__empty{padding:2rem 0;color:var(--ace-muted,#b9b0a0)}
.ace-chy__pages ul{display:flex;flex-wrap:wrap;gap:.35rem;margin:1.6rem 0 0;padding:0;list-style:none}
.ace-chy__pages a,.ace-chy__pages span{display:inline-block;padding:.4rem .75rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:999px;text-decoration:none;font-size:.9rem}
.ace-chy__pages .current{background:var(--ace-orange,#ff7a18);color:#14120f;font-weight:700}
.ace-chy__credit{margin:2rem 0 0;font-size:.78rem;line-height:1.5;color:var(--ace-muted,#b9b0a0);opacity:.8}
.ace-chy-guide{margin:2rem 0 0;padding:clamp(1rem,2.5vw,1.35rem);border:1px solid color-mix(in srgb,var(--ace-orange-2,#ff9a45) 35%,transparent);border-radius:14px;background:color-mix(in srgb,var(--ace-orange-2,#ff9a45) 7%,var(--ace-surface,#1c1813))}
.ace-chy-guide h2{margin:0 0 .75rem;font-size:clamp(1.15rem,2.4vw,1.55rem)}
.ace-chy-guide ul{margin:.4rem 0 0;padding-left:1.2rem}.ace-chy-guide li+li{margin-top:.45rem}
.ace-chy-guide p,.ace-chy-guide li{line-height:1.5;color:var(--ace-muted,#b9b0a0)}
.ace-chy-guide a{color:var(--ace-orange-2,#ff9a45);text-underline-offset:.18em}
.ace-chy-guide__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:.75rem}
.ace-chy-guide__grid section{padding:.85rem;border-radius:10px;background:var(--ace-surface-2,#241f18)}
.ace-chy-guide__grid h3{margin:0 0 .4rem;font-size:.95rem}.ace-chy-guide__grid p{margin:0}
.ace-chy-guide__urgent{padding:.7rem .8rem;border-left:3px solid var(--ace-orange,#ff7a18);background:var(--ace-surface-2,#241f18)}
.ace-chy-guide__checked,.ace-help__source-date{font-size:.78rem;color:var(--ace-muted,#b9b0a0)}
.ace-help__source-date{margin:.25rem 0 .45rem;line-height:1.45}.ace-help__source-date a{color:var(--ace-orange-2,#ff9a45)}
@media(max-width:760px){.ace-chy-guide__grid{grid-template-columns:1fr}}
.ace-chy-profile{margin:2rem 0 0;padding:1.2rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:14px;background:var(--ace-surface,#1c1813)}
.ace-chy-profile h2{margin:0 0 .8rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ace-muted,#b9b0a0)}
.ace-chy-profile dl{display:grid;gap:.6rem;margin:0}
.ace-chy-profile dl>div{display:grid;grid-template-columns:minmax(9rem,12rem) 1fr;gap:.6rem}
.ace-chy-profile dt{color:var(--ace-muted,#b9b0a0);font-size:.88rem}
.ace-chy-profile dd{margin:0;overflow-wrap:anywhere}
@media(max-width:620px){.ace-chy-profile dl>div{grid-template-columns:1fr}.ace-chy-profile dt{font-size:.78rem}}

/* The hub fills the column it is given; the shell already pads it. */
/* The block editor's constrained layout caps direct children of the post content at
   the theme's content width, which left the hub at 645px on a wide screen. The hub is
   an app view, not an article, so it takes the column it is given. */
body.ace-section-page .entry-content>.ace-chy,
body.ace-section-page .wp-block-post-content>.ace-chy{max-width:none!important;width:100%;margin-inline:0!important}
.ace-chy{max-width:none}

/* Filters as the shell's left filter rail. The column only appears once the rail
   has been moved into it, so every other content page is untouched. */
.ace-shell.has-chy-rail{grid-template-columns:var(--shell-left) var(--shell-filter) minmax(0,1fr) var(--shell-right)}
.ace-shell.has-chy-rail>.ace-shell__filter{display:block;padding:0;overflow-y:auto}
@media(min-width:1101px){
  .ace-shell.has-chy-rail>.ace-shell__left{grid-column:1}
  .ace-shell.has-chy-rail>.ace-shell__filter{grid-column:2;grid-row:1}
  .ace-shell.has-chy-rail>.ace-shell__main{grid-column:3;grid-row:1}
  .ace-shell.has-chy-rail>.ace-shell__right{grid-column:4;grid-row:1}
}
.ace-chy__rail-root{display:block}
.ace-chy__filters.is-busy{opacity:.6;pointer-events:none}
/* The no-JavaScript fallback only ever shows inside <noscript>. */
.ace-chy__plainfilters{margin:0 0 1.4rem;padding:1rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:14px}
.ace-chy__plainfilters select{margin-right:.4rem}
/* -------------------------------------------------------------------------
   The filter rail as one design system.

   Every control in the rail belongs to the same family: one radius scale, one
   control height, one focus ring, one accent. Before this the selects were
   10px, the buttons were pills, the view tabs were pills inside a pill and the
   A to Z was a loose scatter of round keys, so the rail read as four different
   widgets stacked up rather than one panel.

   Radii: 10px for anything you type in or choose from, 8px for a key in the
   A to Z pad, and the pill reserved for one thing only - an applied filter,
   which is the only element that is a token rather than a control.
   ------------------------------------------------------------------------- */
.ace-chy__filters{
	--rail-r:10px;            /* inputs, selects, buttons, tab track */
	--rail-r-key:8px;         /* a key in the A to Z pad */
	--rail-h:38px;            /* every control is the same height */
	--rail-gap:.5rem;
	--rail-accent:var(--shell-accent,var(--ace-orange,#ff7a18));
	/* The accent is a bright orange in the dark theme and a dark brown in the
	   light one, so the ink that sits on it has to flip too: near-black on the
	   bright fill, white on the brown one. Stating it here is what takes the
	   primary button from 3.1:1 to better than 6:1 in the light theme. */
	--rail-accent-ink:var(--ace-orange-ink,#1a1108);
	--rail-line:var(--shell-line,var(--ace-line,rgba(255,255,255,.12)));
	--rail-face:var(--ace-surface-2,#241f18);
	--rail-quick:.16s;
	--rail-ease:cubic-bezier(.2,.7,.35,1);
	margin:0 0 1.4rem;
}
.ace-chy__filters .alm__group{padding:12px 12px 14px}
.ace-chy__filters .alm__group h3{margin:0;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}

/* The group heading is its own collapse control, so it has to look like one:
   full width, a hit area that matches the row, and a chevron that turns. */
.ace-chy__filters .alm__fold{
	display:flex;align-items:center;justify-content:space-between;gap:.5rem;
	width:100%;min-height:24px;margin:0 0 .55rem;padding:0;
	border:0;border-radius:6px;background:none;color:inherit;
	font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;
	transition:color var(--rail-quick) var(--rail-ease);
}
.ace-chy__filters .alm__fold:hover{color:var(--rail-accent)}
.ace-chy__filters .alm__group.is-folded .alm__fold{margin-bottom:0}
.ace-chy__filters .alm__fold::after{
	content:"";flex:none;width:.42rem;height:.42rem;margin-right:.1rem;
	border-right:2px solid currentColor;border-bottom:2px solid currentColor;
	transform:translateY(-2px) rotate(45deg);
	transition:transform .22s var(--rail-ease),opacity var(--rail-quick) linear;
	opacity:.7;
}
.ace-chy__filters .alm__fold:hover::after{opacity:1}
.ace-chy__filters .alm__group.is-folded .alm__fold::after{transform:translateY(1px) rotate(-45deg)}

/* The fold itself. The body stays in the tree so it can be animated; the row
   track is the one layout property that has to move, and everything inside it
   rides on transform and opacity. */
.ace-chy__filters .alm__foldwrap{
	display:grid;grid-template-rows:1fr;
	transition:grid-template-rows .24s var(--rail-ease);
}
.ace-chy__filters .alm__group.is-folded .alm__foldwrap{grid-template-rows:0fr}
.ace-chy__filters .alm__body{
	display:grid;gap:var(--rail-gap);min-height:0;overflow:hidden;
	transform:translateY(0);opacity:1;
	transition:opacity .18s var(--rail-ease),transform .24s var(--rail-ease);
}
.ace-chy__filters .alm__group.is-folded .alm__body{
	opacity:0;transform:translateY(-4px);
	transition-duration:.12s,.16s;
}

/* Inputs and selects. */
.ace-chy__filters .alm__sel{
	width:100%;height:var(--rail-h);box-sizing:border-box;
	padding:0 2rem 0 .7rem;
	border:1px solid var(--rail-line);border-radius:var(--rail-r);
	background:var(--rail-face);color:inherit;font:inherit;font-size:.85rem;
	-webkit-appearance:none;appearance:none;cursor:pointer;
	background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
	background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;
	background-size:5px 5px,5px 5px;background-repeat:no-repeat;
	transition:border-color var(--rail-quick) var(--rail-ease),background-color var(--rail-quick) var(--rail-ease);
}
.ace-chy__filters .alm__sel:hover{border-color:color-mix(in srgb,var(--rail-accent) 50%,var(--rail-line))}
.ace-chy__filters .ace-chy__field{display:block}

/* One focus ring for the whole rail. Two pixels of accent, two pixels of gap,
   and a one-pixel ring of the panel colour behind it so it reads on a light
   surface and a dark one alike. */
.ace-chy__filters :is(input,select,button,a):focus-visible,
.ace-chy__railtop .ace-chy__q:focus-visible,
.ace-railbar :is(input,button):focus-visible{
	outline:2px solid var(--rail-accent,var(--ace-orange,#ff7a18));
	outline-offset:2px;
	box-shadow:0 0 0 1px var(--shell-panel,var(--ace-bg,#14120f));
}

[data-ace-theme='light'] .ace-chy__filters,
[data-ace-theme='light'] .ace-chy__viewtabs{--rail-accent-ink:#fff}

/* Actions. Buttons join the family: same radius, same height, no stray pill. */
.ace-chy__filters .alm__actions{display:flex;flex-wrap:wrap;gap:var(--rail-gap)}
.ace-chy__filters .alm__btn{
	flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;
	height:var(--rail-h);padding:0 .9rem;
	border:1px solid var(--rail-line);border-radius:var(--rail-r);
	background:var(--rail-face);color:inherit;font:inherit;font-size:.85rem;font-weight:700;
	text-align:center;text-decoration:none;cursor:pointer;
	transition:border-color var(--rail-quick) var(--rail-ease),color var(--rail-quick) var(--rail-ease),background-color var(--rail-quick) var(--rail-ease),transform .1s var(--rail-ease);
}
.ace-chy__filters .alm__btn.is-primary{border-color:var(--rail-accent);background:var(--rail-accent);color:var(--rail-accent-ink)}
.ace-chy__filters .alm__btn:hover{border-color:var(--rail-accent);color:var(--rail-accent)}
.ace-chy__filters .alm__btn.is-primary:hover{background:color-mix(in srgb,var(--rail-accent) 86%,#fff);color:var(--rail-accent-ink)}
.ace-chy__filters .alm__btn:active{transform:translateY(1px)}
.ace-chy__filters .alm__group--do{border-bottom:0}

/* Applied filters, as removable tokens under the search band. The pill shape is
   theirs alone, so a token is never mistaken for a control. */
.ace-chy__applied{
	display:flex;flex-wrap:wrap;gap:.35rem;
	margin:0;padding:10px 12px;
	border-bottom:1px solid var(--rail-line);
	list-style:none;
}
.ace-chy__applied:empty{display:none;padding:0;border-bottom:0}
.ace-chy__applied li{display:flex;min-width:0;max-width:100%}
.ace-chy__pill{
	display:inline-flex;align-items:center;gap:.3rem;max-width:100%;
	height:26px;padding:0 .3rem 0 .6rem;
	border:1px solid color-mix(in srgb,var(--rail-accent) 40%,var(--rail-line));
	border-radius:999px;
	background:color-mix(in srgb,var(--rail-accent) 12%,transparent);
	color:inherit;font:inherit;font-size:.74rem;font-weight:700;line-height:1;cursor:pointer;
	animation:ace-pill-in .18s var(--rail-ease) both;
	transition:border-color var(--rail-quick) var(--rail-ease),background-color var(--rail-quick) var(--rail-ease);
}
.ace-chy__pill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ace-chy__pill::after{
	content:"\00d7";flex:none;display:grid;place-items:center;
	width:16px;height:16px;border-radius:50%;
	font-size:.85rem;font-weight:400;line-height:1;opacity:.65;
	transition:opacity var(--rail-quick) linear,background-color var(--rail-quick) linear;
}
.ace-chy__pill:hover{border-color:var(--rail-accent);background:color-mix(in srgb,var(--rail-accent) 20%,transparent)}
.ace-chy__pill:hover::after{opacity:1;background:color-mix(in srgb,var(--rail-accent) 30%,transparent)}
.ace-chy__pill.is-leaving{animation:ace-pill-out .16s var(--rail-ease) both;pointer-events:none}
@keyframes ace-pill-in{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
@keyframes ace-pill-out{from{opacity:1;transform:none}to{opacity:0;transform:scale(.86)}}

/* Working. The panel stays put and says so with one accent line rather than
   fading the whole rail out from under the pointer. */
.ace-chy__filters.is-busy{opacity:1}
.ace-chy__filters.is-busy .alm__group{opacity:.55;transition:opacity .18s linear}
.ace-chy__progress{
	position:relative;display:block;height:2px;overflow:hidden;
	background:color-mix(in srgb,var(--rail-accent) 18%,transparent);
}
.ace-chy__progress::before{
	content:"";position:absolute;inset:0;
	background:var(--rail-accent);
	transform:translateX(-100%);
	animation:ace-rail-progress 1.05s var(--rail-ease) infinite;
}
@keyframes ace-rail-progress{0%{transform:translateX(-100%)}60%{transform:translateX(35%)}100%{transform:translateX(100%)}}

/* In the rail the groups run edge to edge; inline (no JavaScript) they need a frame. */
.ace-chy:not(.is-railed) .ace-chy__filters{border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:14px;overflow:hidden}
@media(max-width:1100px){.ace-shell.has-chy-rail{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-right)}.ace-shell.has-chy-rail>.ace-shell__filter{display:none}}

/* Logo, or the charity's initial where there is no logo yet. */
.ace-chy__top{display:flex;gap:.6rem;align-items:flex-start}
.ace-chy__logo{flex:0 0 44px;width:44px;height:44px;border-radius:10px;object-fit:contain;background:#fff}
.ace-chy__logo--none{display:grid;place-items:center;background:var(--ace-surface-2,#241f18);border:1px solid var(--ace-line,rgba(255,255,255,.12));color:var(--ace-orange-2,#ff9a45);font-weight:800}

/* Tabs, shop map and related grid. */
.ace-chy__tabs ul{display:flex;gap:.4rem;margin:0 0 1.2rem;padding:0;list-style:none;border-bottom:1px solid var(--ace-line,rgba(255,255,255,.12))}
.ace-chy__tabs a{display:inline-block;padding:.55rem .9rem;border-bottom:2px solid transparent;color:var(--ace-muted,#b9b0a0);text-decoration:none;font-weight:600}
.ace-chy__tabs a.is-on,.ace-chy__tabs a:hover{color:var(--ace-ink,#f5f2ea);border-bottom-color:var(--ace-orange,#ff7a18)}
/* The shops tab is a map interface: the map takes the column, the list is in the rail. */
.ace-chy__map{height:min(62vh,560px);margin:0 0 1.4rem;border-radius:14px;overflow:hidden}
.ace-chy__shoplist{display:grid;gap:.4rem;margin:0;padding:0;list-style:none;max-height:none}
.ace-chy__shoplist li{padding:.5rem .6rem;border:1px solid var(--shell-line,rgba(255,255,255,.12));border-radius:10px;background:var(--ace-surface-2,#241f18)}
.ace-chy__shoplist li[hidden]{display:none}
.ace-chy__shoplist a,.ace-chy__shoplist strong{display:block;line-height:1.3;font-weight:700;text-decoration:none;color:inherit}
.ace-chy__shoplist a:hover{color:var(--ace-orange-2,#ff9a45)}
.ace-chy__shoplist span{display:block;margin-top:.2rem;font-size:.76rem;line-height:1.35;color:var(--ace-muted,#b9b0a0)}

/* The rail's fixed header IS the search field: it fills the band edge to edge, square
   and flush, the way the feed filter search does on TalkFuse. 52px is the height of the
   brand block in the navigation rail, so the two rails line up. */
.ace-chy__railtop{display:flex;align-items:stretch;height:52px;padding:0;border-bottom:1px solid var(--shell-line,rgba(255,255,255,.12))}
.ace-shell.has-chy-rail .ace-chy__railtop{position:sticky;top:0;z-index:3;background:var(--shell-panel,#1c1813)}
.ace-chy__search{position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0}
.ace-chy__search svg{position:absolute;left:12px;pointer-events:none;opacity:.55}
.ace-chy__q{width:100%;height:100%;box-sizing:border-box;margin:0;padding:0 12px 0 32px;border:0;border-radius:0;background:transparent;color:var(--shell-ink,var(--ace-ink,#f5f2ea));font:inherit;font-size:.86rem;-webkit-appearance:none;appearance:none}
.ace-chy__q::-webkit-search-cancel-button{-webkit-appearance:none}
.ace-chy__q:focus{outline:none;background:var(--ace-surface-2,#241f18)}
.ace-chy__q:focus+*,.ace-chy__search:focus-within svg{opacity:.9}

/* Collapsed rail: the filter icon and nothing else, the way the nav rail collapses. */
.ace-shell.has-chy-rail>.ace-shell__edge--filter{display:block}
.ace-shell.has-chy-rail[data-filter-closed="true"]>.ace-shell__filter{padding:0;overflow:hidden}
.ace-shell.has-chy-rail[data-filter-closed="true"] .ace-chy__railtop{justify-content:center;padding:0}
.ace-shell.has-chy-rail[data-filter-closed="true"] .ace-chy__search,
.ace-shell.has-chy-rail[data-filter-closed="true"] .alm__group{display:none}
.ace-chy__compact{display:none}
.ace-shell.has-chy-rail[data-filter-closed="true"] .ace-chy__compact{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px}
.ace-chy__compact button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--shell-line,rgba(255,255,255,.12));border-radius:12px;background:var(--ace-surface-2,#241f18);color:inherit;font:700 .82rem/1 'Space Grotesk',sans-serif;cursor:pointer}
.ace-chy__compact button:hover,.ace-chy__compact button:focus-visible,.ace-chy__compact button.is-on{border-color:var(--shell-accent,var(--ace-orange,#ff7a18));color:var(--shell-accent,var(--ace-orange-2,#ff9a45))}
.ace-chy__compact button.is-on{background:color-mix(in srgb,var(--shell-accent,var(--ace-orange,#ff7a18)) 14%,var(--ace-surface-2,#241f18))}
.ace-chy__compact svg{width:18px;height:18px}
.ace-chy-related{margin:2.5rem 0 0}
.ace-chy-related h2{margin:0 0 .9rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ace-muted,#b9b0a0)}

/* Help near you. Text first, big targets, nothing that needs a fast phone. */
.ace-help__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.9rem;margin:0;padding:0;list-style:none}
.ace-help__item{padding:1rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:14px;background:var(--ace-surface,#1c1813)}
.ace-help__kind{margin:0 0 .35rem;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ace-orange-2,#ff9a45)}
.ace-help__name{margin:0 0 .35rem;font-size:1.05rem;line-height:1.25}
.ace-help__name a{color:inherit;text-decoration:none}
.ace-help__name a:hover{color:var(--ace-orange-2,#ff9a45)}
.ace-help__where,.ace-help__hours,.ace-help__needs{margin:0 0 .35rem;font-size:.86rem;line-height:1.45;color:var(--ace-muted,#b9b0a0)}
.ace-help__needs{color:inherit}
.ace-help__acts{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0 0}
.ace-help__act{display:inline-block;padding:.5rem .9rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:999px;font-size:.85rem;font-weight:700;text-decoration:none;color:inherit}
.ace-help__act:hover{border-color:var(--ace-orange,#ff7a18);color:var(--ace-orange-2,#ff9a45)}

/* View tabs in the rail: a segmented track, same height and radius family as
   the selects, with the accent sliding across rather than a pill inside a pill. */
.ace-chy__viewtabs{
	display:flex;gap:2px;height:var(--rail-h,38px);padding:3px;
	border:1px solid var(--rail-line,var(--ace-line,rgba(255,255,255,.12)));
	border-radius:var(--rail-r,10px);
	background:var(--rail-face,var(--ace-surface-2,#241f18));
}
.ace-chy__viewtab{
	flex:1 1 auto;min-width:0;padding:0 .55rem;
	border:0;border-radius:calc(var(--rail-r,10px) - 3px);
	background:transparent;color:inherit;font:inherit;font-size:.8rem;font-weight:700;
	line-height:1;cursor:pointer;
	transition:background-color var(--rail-quick,.16s) var(--rail-ease,ease),color var(--rail-quick,.16s) var(--rail-ease,ease);
}
.ace-chy__viewtab.is-on{background:var(--rail-accent,var(--ace-orange,#ff7a18));color:var(--rail-accent-ink,#14120f)}
.ace-chy__viewtab:not(.is-on):hover{background:color-mix(in srgb,var(--rail-accent,var(--ace-orange,#ff7a18)) 14%,transparent);color:var(--rail-accent,var(--ace-orange-2,#ff9a45))}
.ace-chy__viewtab:active{transform:translateY(1px)}

.ace-help__item{position:relative}
.ace-help__logo{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:10px;object-fit:contain;background:#fff}
.ace-help__item:has(.ace-help__logo) .ace-help__name{padding-right:3rem}

/* Your council. */
.ace-cnc__ward{margin:0 0 1.8rem}
.ace-cnc__ward h2,.ace-cnc__month h2{margin:0 0 .7rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ace-muted,#b9b0a0)}
/* A ward heading is its own anchor, with the way into that part of Sheffield on the
   right of it. The Areas link stays on show rather than waiting for hover, because it
   is somewhere people go and a touch screen has no hover. */
.ace-cnc__wardhead{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.ace-cnc__wardname{color:inherit;text-decoration:none}
.ace-cnc__wardname:hover,.ace-cnc__wardname:focus-visible{color:var(--ace-orange-2,#ff9a45);text-decoration:underline;text-underline-offset:.18em}
.ace-cnc__area{display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto;padding:.1rem .45rem;border-radius:8px;color:var(--ace-muted,#b9b0a0);font-size:.72rem;letter-spacing:.04em;text-transform:none;text-decoration:none}
.ace-cnc__area:hover,.ace-cnc__area:focus-visible{color:var(--ace-orange-2,#ff9a45);background:var(--ace-surface-2,#241f18)}
.ace-cnc__area svg{flex:none}
.ace-cnc__map-directory h3.ace-cnc__wardhead{margin:0 0 .4rem}
.ace-cnc__people{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.7rem;margin:0;padding:0;list-style:none}
.ace-cnc__person{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:14px;background:var(--ace-surface,#1c1813)}
.ace-cnc__photo{flex:0 0 48px;width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--ace-surface-2,#241f18)}
.ace-cnc__photo--none{display:grid;place-items:center;color:var(--ace-orange-2,#ff9a45);font-weight:800}
.ace-cnc__who{display:grid;gap:.15rem;min-width:0}
.ace-cnc__who a{font-weight:700;text-decoration:none;color:inherit}
.ace-cnc__who a:hover{color:var(--ace-orange-2,#ff9a45)}
.ace-cnc__party,.ace-cnc__posts{font-size:.8rem;color:var(--ace-muted,#b9b0a0)}
.ace-cnc__meetings{margin:0;padding:0;list-style:none}
.ace-cnc__month{margin:1.4rem 0 .2rem}
.ace-cnc__meeting{display:flex;gap:.9rem;align-items:baseline;padding:.7rem .2rem;border-bottom:1px solid var(--ace-line,rgba(255,255,255,.12))}
.ace-cnc__when{flex:0 0 7.5rem;display:flex;gap:.5rem;align-items:baseline}
.ace-cnc__when span{font-size:.8rem;color:var(--ace-muted,#b9b0a0)}
.ace-cnc__what{display:grid;gap:.15rem;min-width:0}
.ace-cnc__what a{font-weight:600;text-decoration:none;color:inherit}
.ace-cnc__what a:hover{color:var(--ace-orange-2,#ff9a45)}
.ace-cnc__flags{font-size:.78rem;color:var(--ace-orange-2,#ff9a45)}
@media(max-width:600px){.ace-cnc__meeting{flex-direction:column;gap:.2rem}.ace-cnc__when{flex:none}}

/* A councillor in full. */
.ace-cnc__back{margin:0 0 1rem;font-size:.9rem}
.ace-cnc__back a{color:var(--ace-orange-2,#ff9a45)}
.ace-cnc__biohead{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:flex-start;margin:0 0 1.6rem}
.ace-cnc__biophoto{flex:0 0 140px;width:140px;height:auto;border-radius:14px;object-fit:cover;background:var(--ace-surface-2,#241f18)}
.ace-cnc__biohead h2{margin:0 0 .3rem;font-size:clamp(1.4rem,3vw,2rem);line-height:1.15}
.ace-cnc__bio h3{margin:1.8rem 0 .7rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ace-muted,#b9b0a0)}
.ace-cnc__acts{display:flex;flex-wrap:wrap;gap:.4rem;margin:.9rem 0 0}
.ace-cnc__map{height:min(50vh,420px);border-radius:14px;overflow:hidden}

/* A section map fills the panel it is in, with the filter rail still beside it and a
   key of its own. The main column stops scrolling so the map owns the space, the way
   the local map does. */
.ace-panelmap{position:relative;display:block;height:calc(100dvh - var(--wp-admin--admin-bar--height,0px) - 190px);min-height:420px;margin:0 0 1rem;border-radius:14px;overflow:hidden}
.ace-panelmap__map{width:100%;height:100%;margin:0;border-radius:14px}
.ace-mapkey{position:absolute;left:12px;bottom:12px;z-index:4;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:.45rem .55rem;list-style:none;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:10px;background:rgba(20,18,15,.86);backdrop-filter:blur(6px);font-size:.76rem}
.ace-mapkey li{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .3rem;color:var(--ace-ink,#f5f2ea)}
.ace-mapkey__pin{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.5);font-size:10px;line-height:1}
@media(max-width:900px){.ace-panelmap{height:60dvh}.ace-mapkey{left:8px;bottom:8px;font-size:.72rem}}

/* A map view is a panel, not a page: the column stops scrolling, the header keeps its
   place and the map takes whatever is left, with its key sitting on top of it. */
.ace-chy--mapview{display:flex;flex-direction:column;height:calc(100dvh - var(--wp-admin--admin-bar--height,0px) - 56px);padding-bottom:0}
.ace-chy--mapview .ace-chy__head{flex:none}
.ace-chy--mapview .ace-panelmap{flex:1 1 auto;height:auto;min-height:280px;margin-bottom:0}
.ace-chy--mapview .ace-panelmap__map,.ace-panelmap .ace-panelmap__map{height:100%!important;min-height:0}
.ace-chy--mapview .ace-chy__credit,.ace-chy--mapview .ace-chy__count{flex:none}
.ace-shell--content .ace-shell__main:has(.ace-chy--mapview){overflow:hidden}
/* The boosted strip and the footer belong under a list, not under a full-height map. */
.ace-chy--mapview~.ace-boosted,.ace-chy--mapview~.ace-explore,.ace-chy--mapview~.ace-explore-fold{display:none}
@media(max-width:900px){.ace-chy--mapview{height:auto}.ace-chy--mapview .ace-panelmap{height:60dvh}}
.ace-help__nhs{margin:0 0 1.25rem;padding:1rem 1.1rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:14px;background:var(--ace-surface,#1b211f)}
.ace-help__nhs h2{margin:0 0 .4rem;font-size:1.1rem}
.ace-help__nhs p{margin:0 0 .6rem;color:var(--ace-muted,#b9b0a0);line-height:1.5}
.ace-help__nhs-kinds{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.ace-help__nhs-kinds li{padding:.35rem .7rem;border-radius:999px;border:1px solid var(--ace-line,rgba(255,255,255,.12))}
.ace-help__nhs-kinds a{color:inherit;text-decoration:none}.ace-help__nhs-kinds a:hover{text-decoration:underline}
.ace-parl__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem;margin:1rem 0}
.ace-parl__card{padding:1rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:14px;background:var(--ace-surface,#1b211f)}
.ace-parl__head{display:flex;gap:.8rem;align-items:flex-start}.ace-parl__head h3{margin:0 0 .25rem;font-size:1.05rem}
.ace-parl__photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none}
.ace-parl__mp{margin:0 0 .2rem}.ace-parl__mp a{font-weight:600;color:inherit;text-decoration:none}.ace-parl__mp a:hover{text-decoration:underline}
.ace-parl__party{display:inline-block;margin-left:.4rem;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;background:var(--party,#888);color:#fff}
.ace-parl__since,.ace-parl__synopsis{margin:0 0 .5rem;color:var(--ace-muted,#b9b0a0);font-size:.9rem;line-height:1.45}
.ace-parl__activity{margin:.6rem 0 0}.ace-parl__activity summary{cursor:pointer;font-weight:600}.ace-parl__activity ul{margin:.5rem 0 0;padding-left:1.1rem}.ace-parl__activity li{margin:0 0 .35rem;line-height:1.4}.ace-parl__activity li span{display:block;font-size:.82rem;color:var(--ace-muted,#b9b0a0)}

/* =========================================================================
   Section covers - the introduction at the top of every section.

   A cover has one job: say what the section is, then get out of the way. The
   old sizes were tuned on a big monitor and read the viewport, but the column
   a cover actually lives in is the viewport minus the navigation rail minus
   the filter rail - about 860px on a 1400px laptop. A 5vw heading is 70px in
   a 500px column, which is how "Find your next favourite act" ended up one
   word per line and pushed every card below the fold.

   So the covers size themselves from their own column with container queries,
   with an upper bound that suits a wide monitor and a lower bound that stays
   readable on a phone. A height cap on a roomy screen is the backstop.
   ========================================================================= */
.ace-performers-index,
.ace-csection,
.ace-life,
.ace-sport {
	container-type: inline-size;
	container-name: acesec;
}

/* One scale, read by every cover below. cqi is 1% of the column, not the screen. */
.ace-performers-index,
.ace-csection,
.ace-life,
.ace-sport,
.ace-chy {
	--cover-title: clamp(1.55rem, 5cqi, 2.8rem);
	--cover-lede: clamp(.96rem, 1.7cqi, 1.12rem);
	--cover-kicker: clamp(.68rem, .95cqi, .76rem);
	--cover-gap: clamp(.55rem, 1.1cqi, .85rem);
	--cover-pad: clamp(1rem, 2.5cqi, 1.75rem);
}

.ace-performers-index .ace-performers-index__hero h1,
.ace-csection .ace-csection__hero h1,
.ace-life .ace-life__hero h1,
.ace-sport .ace-sport__hero h1 {
	margin: 0 0 var(--cover-gap);
	font-size: var(--cover-title);
	line-height: 1.06;
	letter-spacing: -.02em;
	text-wrap: balance;
}

.ace-performers-index .ace-performers-index__hero > div > p:last-child,
.ace-csection .ace-csection__hero > p:last-child,
.ace-life .ace-life__lede,
.ace-sport .ace-sport__hero > p:not(.ace-sport__kicker) {
	max-width: 62ch;
	margin: 0 0 var(--cover-gap);
	font-size: var(--cover-lede);
	line-height: 1.5;
}

.ace-performers-index .ace-performers-index__eyebrow,
.ace-csection .ace-csection__eyebrow,
.ace-life .ace-life__kicker,
.ace-sport .ace-sport__hero .ace-sport__kicker {
	margin: 0 0 .4rem;
	font-size: var(--cover-kicker);
}

/* The backstop. Only where there is room for a cover to misbehave: a phone is
   already one narrow column and clipping there would hide the lede. */
@media (min-width: 900px) and (min-height: 620px) {
	.ace-performers-index .ace-performers-index__hero,
	.ace-csection .ace-csection__hero,
	.ace-life .ace-life__hero,
	.ace-sport .ace-sport__hero {
		max-height: min(46dvh, 420px);
		overflow: clip;
	}
}

/* Performers: the stats sit beside the words where the column is wide enough,
   as a compact stack rather than three tall boxes that starve the heading. */
.ace-performers-index .ace-performers-index__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--cover-pad);
	align-items: center;
	padding: var(--cover-pad);
	border-radius: 16px;
}
.ace-performers-index .ace-performers-index__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .4rem;
}
.ace-performers-index .ace-performers-index__stats div {
	display: flex;
	align-items: baseline;
	gap: .4rem;
	min-width: 0;
	padding: .5rem .65rem;
	border-radius: 10px;
}
.ace-performers-index .ace-performers-index__stats dt {
	font-size: clamp(1.05rem, 1.8cqi, 1.45rem);
	line-height: 1.1;
}
.ace-performers-index .ace-performers-index__stats dd {
	margin: 0;
	font-size: .68rem;
	line-height: 1.2;
}
/* On a phone the three figures share one narrow row, so the number sits above
   its label rather than beside it. */
@container acesec (max-width: 430px) {
	.ace-performers-index .ace-performers-index__stats div {
		flex-direction: column;
		align-items: flex-start;
		gap: .1rem;
		padding: .45rem .5rem;
	}
	.ace-performers-index .ace-performers-index__stats dd { font-size: .62rem }
}

/* The query reads the container's content box, not the viewport. Keep the
   words and stats stacked until both columns can remain comfortably wide. */
@container acesec (min-width: 720px) {
	.ace-performers-index .ace-performers-index__hero {
		grid-template-columns: minmax(0, 1fr) minmax(9rem, 13rem);
	}
	.ace-performers-index .ace-performers-index__stats {
		grid-template-columns: minmax(0, 1fr);
		gap: .35rem;
	}
}

/* The featured strip is the first real content on performers, so it starts
   close to the cover rather than a screen below it, and its heading stops
   fighting the note beside it for the same line. */
.ace-performers-index .ace-performers-index__featured {
	margin: clamp(1.1rem, 2.4cqi, 1.9rem) 0;
}
.ace-performers-index .ace-performers-index__featured > header {
	align-items: baseline;
	gap: 1.25rem;
	margin: 0 0 .8rem;
}
.ace-performers-index .ace-performers-index__featured > header > div {
	min-width: 0;
}
.ace-performers-index .ace-performers-index__featured > header > p {
	flex: 0 1 34ch;
	font-size: .88rem;
}
/* Once the heading stacks, a character-based flex basis becomes vertical space:
   34ch was turning one sentence into a 327px-tall empty column at half-window and
   phone widths. In the single-column composition the copy should size from its
   actual lines. */
@container acesec (max-width: 719px) {
	.ace-performers-index .ace-performers-index__featured > header {
		align-items: flex-start;
		gap: .5rem;
	}
	.ace-performers-index .ace-performers-index__featured > header > p {
		flex: 0 1 auto;
		width: 100%;
	}
}
.ace-performers-index .ace-performers-index__featured h2 {
	font-size: clamp(1.2rem, 2.4cqi, 1.7rem);
	text-wrap: balance;
}

/* Charities, help, civic, story and the rest share one head. Same reasoning:
   the column is not the screen, so the heading stops reading the screen. */
.ace-chy .ace-chy__head h1 {
	font-size: clamp(1.55rem, 3.1vw, 2.35rem);
	line-height: 1.08;
	letter-spacing: -.015em;
}
.ace-chy .ace-chy__lede {
	margin: 0 0 1.1rem;
	font-size: clamp(.94rem, 1.05vw, 1rem);
}

/* Housing and students carry a notice and a row of buttons under the lede, so
   the heading has to be smaller still or nothing below it is ever on screen. */
.ace-life .ace-life__hero {
	padding-bottom: clamp(1rem, 2.2cqi, 1.5rem);
}
.ace-life .ace-life h1,
.ace-life .ace-life__hero h1 {
	max-width: 22ch;
}
.ace-life .ace-life__notice {
	margin: 0 0 .9rem;
	padding: .7rem .85rem;
	font-size: .92rem;
	line-height: 1.45;
}

/* Sport's cover ends in its own jump nav, which is the fastest route into the
   page: it must be visible, so the words above it give way first. */
.ace-sport .ace-sport__hero {
	padding-bottom: clamp(1rem, 2.2cqi, 1.5rem);
}

/* Performers index: the same opening as every covered page (see class-ace-performers.php). */
.ace-page-covered .ace-performers-index__hero{display:contents}
.ace-page-covered .ace-performers-index__copy{position:relative;z-index:2;box-sizing:content-box;width:min(calc(100% - 2 * var(--wp--style--root--padding-left,1.25rem)),980px);margin-inline:auto;padding:clamp(6rem,15vh,10rem) 0 clamp(.75rem,2vh,1.5rem)}
.ace-page-covered .ace-performers-index__copy h1{margin:0;font-size:clamp(2.35rem,5vw,4.8rem);line-height:.98;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.ace-page-covered .ace-performers-index__copy>p:last-child{max-width:700px;margin:1.1rem 0 0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.62;text-shadow:0 1px 12px rgba(0,0,0,.72)}
.ace-page-covered .ace-performers-index__stats{position:relative;z-index:2;width:min(calc(100% - 2 * var(--wp--style--root--padding-left,1.25rem)),980px);margin:1rem auto 0}
.ace-page-covered .ace-performers-index>*:not(.ace-performers-index__hero){position:relative;z-index:1}
.ace-page-covered .ace-performers-index .ace-cover__fade{background:linear-gradient(to bottom,color-mix(in srgb,var(--ace-bg,#121614) 4%,transparent) 0%,color-mix(in srgb,var(--ace-bg,#121614) 22%,transparent) 35%,color-mix(in srgb,var(--ace-bg,#121614) 70%,transparent) 68%,var(--ace-bg,#121614) 100%)}
@media(max-width:640px){.ace-page-covered .ace-performers-index__copy{padding-top:clamp(4.5rem,13vh,7rem)}.ace-page-covered .ace-performers-index__copy h1{font-size:clamp(2rem,10vw,3.2rem)}}


/* ace-directory */
/*
 * The Sheffield directory at /directory/.
 *
 * Server rendered, so it has to look finished before a single byte of JavaScript
 * arrives. Colours come from the shell's tokens, which the theme remaps for light
 * and dark, so nothing here hard-codes a palette beyond a last-resort fallback.
 */

/*
 * The shell's main column inherits a literal dark ink from the plugin's global
 * :root block, so in the light theme body text there comes out near-white. The
 * shell's own token is correct in both themes, so the directory states it rather
 * than inheriting whatever reached the main column.
 */
.ace-dir,.ace-archive-header{color:var(--shell-ink,var(--ace-ink,inherit))}
.ace-dir{max-width:1200px;margin:0 auto;padding:0 0 3rem}
.ace-archive-intro{max-width:70ch;color:var(--shell-muted,var(--ace-muted,inherit))}

/* --- the honest totals above the results ------------------------------- */
.ace-dir__stats{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin:0 0 1.1rem;padding:0}
.ace-dir__stats div{display:flex;align-items:baseline;gap:.35rem;padding:.35rem .7rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:999px;background:var(--ace-surface,#1c1813)}
.ace-dir__stats dt{margin:0;font-weight:800;font-size:.95rem}
.ace-dir__stats dd{margin:0;font-size:.75rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ace-muted,#b9b0a0)}

/* --- count, live region, and the removable filter chips ----------------- */
.ace-dir__count{margin:0 0 1rem}
.ace-dir__countline{margin:0;font-size:.95rem;font-weight:600}
.ace-dir__chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 0}
.ace-dir__chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:999px;font-size:.78rem;text-decoration:none;color:inherit;background:var(--ace-surface,#1c1813)}
.ace-dir__chip:hover,.ace-dir__chip:focus-visible{border-color:var(--ace-orange,#ff7a18);color:var(--ace-orange-2,#ff9a45)}

/* --- results ------------------------------------------------------------ */
.ace-dir__grid{display:grid;gap:.85rem;margin:0;padding:0;list-style:none}
.ace-dir__grid--cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.ace-dir__grid--list{grid-template-columns:1fr;gap:.5rem}
.ace-dir__item{display:flex;margin:0}

.ace-dir__card{display:flex;flex-direction:column;width:100%;overflow:hidden;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:14px;background:var(--ace-surface,#1c1813);transition:border-color .15s ease,transform .15s ease}
.ace-dir__card:hover{border-color:var(--ace-orange,#ff7a18);transform:translateY(-2px)}
.ace-dir__grid--list .ace-dir__card{flex-direction:row;align-items:flex-start;border-radius:10px}
.ace-dir__grid--list .ace-dir__card:hover{transform:none}

.ace-dir__media{position:relative;aspect-ratio:16/9;background:var(--ace-surface-2,#241f18);overflow:hidden}
.ace-dir__img{width:100%;height:100%;object-fit:cover;display:block}
.ace-dir__initial{flex:0 0 auto;display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:8px;background:color-mix(in srgb,var(--ace-orange-2,#ff9a45) 16%,transparent);color:var(--ace-orange-2,#ff9a45);font-size:.9rem;font-weight:800}

.ace-dir__body{display:flex;flex-direction:column;gap:.4rem;padding:.85rem .95rem 1rem;flex:1 1 auto;min-width:0}
.ace-dir__name{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.02rem;line-height:1.25;font-weight:700;text-wrap:balance}
.ace-dir__name a{color:inherit;text-decoration:none}
.ace-dir__name a:hover,.ace-dir__name a:focus-visible{text-decoration:underline}

.ace-dir__meta{display:flex;flex-wrap:wrap;gap:.3rem;margin:0}
.ace-dir__meta span{padding:.1rem .5rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ace-muted,#b9b0a0)}
.ace-dir__meta .ace-dir__cat{color:var(--ace-orange-2,#ff9a45);border-color:color-mix(in srgb,var(--ace-orange-2,#ff9a45) 45%,transparent)}

.ace-dir__blurb{margin:0;font-size:.86rem;line-height:1.45;color:var(--ace-muted,#b9b0a0);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.ace-dir__next{margin:0;font-size:.82rem;line-height:1.4}
.ace-dir__nextlabel{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;color:var(--ace-muted,#b9b0a0)}
.ace-dir__next a{color:inherit}
.ace-dir__next time{color:var(--ace-muted,#b9b0a0)}
.ace-dir__more{color:var(--ace-muted,#b9b0a0);opacity:.8}

.ace-dir__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin:auto 0 0;padding-top:.3rem}
.ace-dir__act{display:inline-block;padding:.22rem .6rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:8px;font-size:.76rem;font-weight:600;text-decoration:none;color:inherit}
.ace-dir__act:hover,.ace-dir__act:focus-visible{border-color:var(--ace-orange,#ff7a18);color:var(--ace-orange-2,#ff9a45)}
.ace-dir__hours{font-size:.74rem;color:var(--ace-muted,#b9b0a0);align-self:center}

/* --- empty, pager ------------------------------------------------------- */
.ace-dir__empty{padding:2.5rem 0;color:var(--ace-muted,#b9b0a0)}
.ace-dir__pages{margin:1.6rem 0 0}
.ace-dir__pages ul{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}
.ace-dir__pages a,.ace-dir__pages span{display:inline-block;padding:.35rem .7rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:999px;font-size:.88rem;text-decoration:none;color:inherit}
.ace-dir__pages .current{background:var(--ace-orange,#ff7a18);color:var(--ace-orange-ink,#1a1108);font-weight:700;border-color:transparent}
.ace-dir__gap span{border-color:transparent}
.ace-dir__next-page{display:inline-block;margin-top:.6rem}
/* The enhancement swaps the numbered links for one button; it keeps the same shape. */
.ace-dir__more-btn{display:block;width:100%;margin:1.4rem 0 0;padding:.7rem 1rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:999px;background:var(--ace-surface,#1c1813);color:inherit;font:inherit;font-weight:700;cursor:pointer}
.ace-dir__more-btn:hover:not([disabled]){border-color:var(--ace-orange,#ff7a18);color:var(--ace-orange-2,#ff9a45)}
.ace-dir__more-btn[disabled]{opacity:.6;cursor:default}
.ace-dir__near{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 .8rem;padding:.4rem .8rem;border:1px solid color-mix(in srgb,var(--ace-orange-2,#ff9a45) 45%,transparent);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}
.ace-dir__near:hover:not([disabled]){border-color:var(--ace-orange,#ff7a18);color:var(--ace-orange-2,#ff9a45)}

/* --- the optional map view --------------------------------------------- */
.ace-dir__map{margin:0}
.ace-dir__map .alm{border-radius:14px;overflow:hidden}
.ace-dir__maplist{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.2rem .9rem;margin:1.1rem 0 0;padding:0;list-style:none;font-size:.85rem}
.ace-dir__maplist a{color:inherit}
.ace-dir__maplist span{color:var(--ace-muted,#b9b0a0)}

/* --- the plain form, and the narrow-screen bar -------------------------- */
.ace-dir__form{display:grid;gap:.6rem;margin:0 0 1.2rem}
.ace-dir__form label{display:grid;gap:.25rem;font-size:.82rem}
.ace-dir__form input,.ace-dir__form select,.ace-dir__form button{padding:.45rem .6rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:8px;background:var(--ace-surface,#1c1813);color:inherit;font:inherit}

@media (max-width:640px){
	.ace-dir__grid--cards{grid-template-columns:1fr}
	.ace-dir__stats div{padding:.3rem .55rem}
}


/* ace-data-blocks */
/* Open-data connector blocks: the styling every includes/features/class-ace-*.php block used to
   print inline in its own <style> tag, gathered here so it is fetched once and cached.
   Tokens come from the theme shell (--ace-* map to --shell-* in both themes) and every fallback
   is the dark palette, so a block still reads correctly outside the workspace shell. */

/* ---------------------------------------------------------------- status system

   Connectors mark a state with one of these classes rather than an inline colour, so both themes
   can be kept right in one place. Colour is never the only signal: every status carries a word or
   a glyph beside it. Ratios below are against the darkest and lightest ground a block sits on
   (dark #14191b to #232a2c, light #ecefe6 to #fafbf5).

   Use .ace-stat with one of:
     is-good     something is fine, open, better, within guideline   dark 8.4:1   light 5.6:1
     is-warn     watch this: elevated, recent, similar, moderate     dark 8.0:1   light 6.0:1
     is-alert    something is wrong now: discharging, worse, closed  dark 6.6:1   light 5.8:1
     is-info     neutral fact worth picking out                      dark 8.0:1   light 6.3:1
     is-muted    no verdict available, offline, unknown              dark 6.6:1   light 5.2:1
     is-neutral  plain ink, for a state that needs no colour         dark 12.7:1  light 12.2:1

   The --ace-stat-*-pill tones are solid backgrounds that always carry white text
   (5.0:1 to 7.6:1), so they are the same in both themes. */
:root{
  --ace-stat-good:#5ddc93;--ace-stat-warn:#f2b544;--ace-stat-alert:#ff8f84;
  --ace-stat-info:#7cc7ff;--ace-stat-muted:#a7b1ad;--ace-stat-neutral:var(--ace-ink,#f5f2ea);
  --ace-stat-good-pill:#15803d;--ace-stat-warn-pill:#8a5a06;--ace-stat-amber-pill:#b4460a;
  --ace-stat-alert-pill:#a81c1c;--ace-stat-info-pill:#1d4ed8;--ace-stat-muted-pill:#4b5563;
}
[data-ace-theme=light]{
  --ace-stat-good:#146c35;--ace-stat-warn:#7a5205;--ace-stat-alert:#b3201c;
  --ace-stat-info:#1b4fb8;--ace-stat-muted:#5b655f;--ace-stat-neutral:var(--ace-ink,#252d29);
}
.ace-stat.is-good{color:var(--ace-stat-good)}
.ace-stat.is-warn{color:var(--ace-stat-warn)}
.ace-stat.is-alert{color:var(--ace-stat-alert)}
.ace-stat.is-info{color:var(--ace-stat-info)}
.ace-stat.is-muted{color:var(--ace-stat-muted)}
.ace-stat.is-neutral{color:var(--ace-stat-neutral)}
/* Pill form: a solid badge with white text, identical in both themes. */
.ace-stat--pill{display:inline-block;padding:0 .4em;border-radius:3px;color:#fff;font-size:.8em;margin-right:.3em}
.ace-stat--pill.is-good{background:var(--ace-stat-good-pill);color:#fff}
.ace-stat--pill.is-warn{background:var(--ace-stat-warn-pill);color:#fff}
.ace-stat--pill.is-amber{background:var(--ace-stat-amber-pill);color:#fff}
.ace-stat--pill.is-alert{background:var(--ace-stat-alert-pill);color:#fff}
.ace-stat--pill.is-info{background:var(--ace-stat-info-pill);color:#fff}
.ace-stat--pill.is-muted{background:var(--ace-stat-muted-pill);color:#fff}
/* Dot form: a background swatch with no text of its own. */
.ace-stat--dot{display:inline-block;width:.7em;height:.7em;border-radius:50%;margin-right:.4em;background:var(--ace-stat-muted-pill);vertical-align:baseline}
.ace-stat--dot.is-good{background:var(--ace-stat-good-pill)}
.ace-stat--dot.is-warn{background:var(--ace-stat-warn-pill)}
.ace-stat--dot.is-alert{background:var(--ace-stat-alert-pill)}
.ace-stat--dot.is-info{background:var(--ace-stat-info-pill)}
.ace-stat--dot.is-muted{background:var(--ace-stat-muted-pill)}

/* Shared shorthands the blocks lean on. */
.ace-data-block,.ace-citizen-air,.ace-collections,.ace-energy,.ace-fuel,.ace-geek,.ace-land,.ace-listed,
.ace-roads,.ace-sky,.ace-skywatch,.ace-wiki{margin:1.5rem 0}

/* ------------------------------------------------------------- citizen air */
.ace-citizen-air ul{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .9rem}
.ace-citizen-air li{margin:0}
.ace-citizen-air .ace-csection-card__meta{font-size:.85em;opacity:.8}

/* ------------------------------------------------------------- collections */
.ace-collections__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem;list-style:none;padding:0;margin:.8rem 0}
.ace-collections__card{display:flex;flex-direction:column;gap:.25rem;font-size:.9em}
.ace-collections__card img{width:100%;height:160px;object-fit:cover;border-radius:4px;background:var(--ace-surface-2,#222a27)}
.ace-collections__title{font-weight:600}
.ace-collections__meta,.ace-collections__credit{color:var(--ace-muted,#b9b0a0);font-size:.85em}

/* ------------------------------------------------------------ council more */
.ace-council-more__grid{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;list-style:none;margin:0 0 .75rem;padding:0}
.ace-council-more__grid li{margin:0}
.ace-council-more__grid strong{display:block;font-size:1.4em}
.ace-council-more .ace-csection-card__meta{font-size:.85em;opacity:.8}

/* ------------------------------------------------------------- data alerts */
.ace-dalerts{margin:1.5rem 0;padding:1rem 1.2rem;border:1px solid var(--ace-line,rgba(255,255,255,.14));border-radius:14px;background:var(--ace-surface,#1c1813)}
.ace-dalerts h3{margin:0 0 .35rem;font-size:1.05rem}
.ace-dalerts p{margin:0 0 .75rem;color:var(--ace-muted,#b9b0a0);font-size:.92rem}
.ace-dalerts__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}
.ace-dalerts__credit{margin:.6rem 0 0;font-size:.78rem;color:var(--ace-muted,#b9b0a0)}

/* ---------------------------------------------------------------- data mill */
.ace-data-mill ul{list-style:none;margin:0 0 .75rem;padding:0}
.ace-data-mill li{margin:0 0 .6rem}
.ace-data-mill small{display:block;opacity:.8}
.ace-data-mill .ace-csection-card__meta{font-size:.85em;opacity:.8}

/* ---------------------------------------------------------------- democracy */
.ace-democracy__list{list-style:none;margin:0 0 1rem;padding:0}
.ace-democracy__list li{padding:.45rem 0;border-top:1px solid var(--ace-line,rgba(255,255,255,.12))}
.ace-democracy__meta{display:block;font-size:.85em;opacity:.75}
.ace-democracy__num{font-variant-numeric:tabular-nums;font-weight:600;margin-right:.4em}
.ace-democracy__bar{display:block;height:4px;background:var(--ace-stat-info-pill);border-radius:2px;margin-top:.25rem;max-width:100%}
.ace-democracy__election{padding:.6rem .8rem;border-left:4px solid var(--ace-stat-info-pill);background:color-mix(in srgb,var(--ace-stat-info-pill) 8%,transparent);margin:0 0 .6rem}
.ace-democracy__candidates{margin:.3rem 0 0;padding-left:1.1rem;font-size:.9em}

/* -------------------------------------------------------------- deprivation */
.ace-imd__bars{display:grid;grid-template-columns:auto 1fr auto;gap:.2rem .6rem;align-items:center;margin:0 0 1rem;font-size:.9em}
.ace-imd__bar{height:12px;border-radius:2px;min-width:2px}
.ace-imd__facts{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1rem}
.ace-imd__facts strong{display:block;font-size:1.4em}
.ace-imd__meta{display:block;font-size:.85em;opacity:.75}

/* ------------------------------------------------------------------- energy */
.ace-energy__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}
.ace-energy__card{border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:.5rem;padding:1rem}
.ace-energy__card h3{margin:0 0 .25rem;font-size:1.05rem}
.ace-energy__big{font-size:1.5rem;font-weight:600;margin:.25rem 0}
.ace-energy__bar{display:flex;height:.6rem;border-radius:.3rem;overflow:hidden;margin:.5rem 0}
.ace-energy__bar span{display:block;height:100%}
.ace-energy ol,.ace-energy ul{margin:.5rem 0 0;padding-left:1.2rem}
.ace-energy__meta{font-size:.85rem;opacity:.8;margin:.5rem 0 0}
.ace-energy--idx-very-low,.ace-energy--idx-low{color:var(--ace-stat-good)}
.ace-energy--idx-moderate{color:var(--ace-stat-warn)}
.ace-energy--idx-high,.ace-energy--idx-very-high{color:var(--ace-stat-alert)}
.ace-energy__neg{color:var(--ace-stat-good);font-weight:600}

/* --------------------------------------------------------------------- fuel */
.ace-fuel__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}
.ace-fuel__card{border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:.5rem;padding:1rem}
.ace-fuel__card h3{margin:0 0 .5rem;font-size:1.05rem}
.ace-fuel ol{margin:0;padding-left:1.2rem}
.ace-fuel li{margin:.2rem 0}
.ace-fuel__price{font-weight:600}
.ace-fuel__meta{font-size:.85rem;opacity:.8;margin:.5rem 0 0}

/* --------------------------------------------------------------------- geek */
.ace-geek__list{padding-left:1.2rem}
.ace-geek__inline{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .9rem}
.ace-geek__meta,.ace-geek__credit{color:var(--ace-muted,#b9b0a0);font-size:.85em}
.ace-geek__state--open{color:var(--ace-stat-good)}
.ace-geek__state--closed{color:var(--ace-stat-alert)}
.ace-geek__state--unknown{color:var(--ace-stat-muted)}
.ace-geek__posts{list-style:none;padding:0;display:grid;gap:.8rem}
.ace-geek__post{border-left:3px solid var(--ace-line,rgba(255,255,255,.12));padding-left:.8rem}
.ace-geek__post p{margin:0 0 .2rem}
.ace-geek__post img{float:right;margin:0 0 .4rem .6rem;border-radius:4px;max-width:160px;height:auto}

/* ----------------------------------------------------------------- geograph */
.ace-geograph__gallery{list-style:none;margin:0 0 .75rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}
.ace-geograph__gallery li{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem}
.ace-geograph__gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;background:var(--ace-surface-2,#222a27)}
.ace-geograph__credit{opacity:.75}

/* ------------------------------------------------------------- health stats */
.ace-health__table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.95em}
.ace-health__table th,.ace-health__table td{text-align:left;padding:.4rem .5rem;border-top:1px solid var(--ace-line,rgba(255,255,255,.12));vertical-align:top}
.ace-health__table td.ace-health__n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ace-health__arrow{font-weight:700;margin-right:.25em}
.ace-health__meta{display:block;font-size:.85em;opacity:.75}
.ace-health__list{list-style:none;margin:0 0 1rem;padding:0}
.ace-health__list li{padding:.35rem 0;border-top:1px solid var(--ace-line,rgba(255,255,255,.12))}
.ace-health__bar{display:block;height:4px;background:#0f766e;border-radius:2px;margin-top:.25rem}

/* -------------------------------------------------------- internet archive */
.ace-ia__decade{margin:.75rem 0 .25rem}
.ace-ia__cards{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}
.ace-ia__cards li{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}
.ace-ia__cards img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;background:var(--ace-surface-2,#222a27)}
.ace-ia__meta,.ace-ia__credit{font-size:.78rem;opacity:.8}

/* ------------------------------------------------------------ land, listed, OSM amenities */
.ace-land ul,.ace-listed ul,.ace-osm-amenities ul{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .9rem}
.ace-land li,.ace-listed li,.ace-osm-amenities li{margin:0}
.ace-land .ace-csection-card__meta,.ace-listed .ace-csection-card__meta,.ace-osm-amenities .ace-csection-card__meta{font-size:.85em;opacity:.8}

/* -------------------------------------------------------------------- noise */
.ace-noise table{border-collapse:collapse;margin:0 0 .75rem}
.ace-noise td,.ace-noise th{padding:.2rem .7rem .2rem 0;text-align:left}
.ace-noise .ace-noise__swatch{display:inline-block;width:.8em;height:.8em;border-radius:2px;margin-right:.35em;vertical-align:middle}
.ace-noise .ace-csection-card__meta{font-size:.85em;opacity:.8}

/* ----------------------------------------------------------------- planning */
.ace-planning__list{list-style:none;margin:0 0 1rem;padding:0}
.ace-planning__list li{padding:.45rem 0;border-top:1px solid var(--ace-line,rgba(255,255,255,.12))}
.ace-planning__meta{display:block;font-size:.85em;opacity:.75}
.ace-planning__facts{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1rem}
.ace-planning__facts strong{display:block;font-size:1.4em}

/* ------------------------------------------------------------------- pollen */
.ace-pollen__grid{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;list-style:none;margin:0 0 .75rem;padding:0}
.ace-pollen__grid li{margin:0}
.ace-pollen__grid strong{display:block}
.ace-pollen .ace-csection-card__meta{font-size:.85em;opacity:.8}

/* -------------------------------------------------------------- public jobs */
.ace-public-jobs h3{margin:1em 0 .3em}
.ace-public-jobs ul{list-style:none;margin:0;padding:0}
.ace-public-jobs li{padding:.35em 0;border-top:1px solid var(--ace-line,rgba(255,255,255,.12))}
.ace-public-jobs small{display:block;opacity:.75}

/* ----------------------------------------------------------------- rainfall */
.ace-rainfall__rivers{list-style:none;margin:0 0 .75rem;padding:0}
.ace-rainfall__rivers li{margin:.25rem 0}
.ace-rainfall .ace-csection-card__meta{font-size:.85em;opacity:.8}

/* -------------------------------------------------------------------- roads */
.ace-roads ul{list-style:none;padding:0;margin:.5rem 0}
.ace-roads li{margin:.25rem 0}
.ace-roads__meta{font-size:.85em;opacity:.8}

/* --------------------------------------------------------------- scorecards */
.ace-scorecards{margin:2rem 0}
.ace-scorecards__finder{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:8px;margin:0 0 1rem}
.ace-scorecards__finder legend{font-weight:600;padding:0 .3rem}
.ace-scorecards__finder fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem .9rem}
.ace-scorecards__finder label{white-space:nowrap}
.ace-scorecards__finder select{max-width:16rem}
.ace-scorecards__count{font-size:.9em;opacity:.8;margin:0 0 .5rem}
.ace-scorecards table{width:100%;border-collapse:collapse;font-size:.92em}
.ace-scorecards th,.ace-scorecards td{padding:.35rem .5rem;text-align:left;border-bottom:1px solid var(--ace-line,rgba(255,255,255,.12))}
.ace-scorecards td.is-num,.ace-scorecards td.ace-score{text-align:right;font-variant-numeric:tabular-nums}
.ace-score{border-radius:4px}
.ace-score--hi{background:rgba(34,197,94,.18)}
.ace-score--mid{background:rgba(234,179,8,.16)}
.ace-score--lo{background:rgba(239,68,68,.14)}
.ace-score--na{opacity:.5}
.ace-scorecards__match{font-weight:700}
.ace-scorecards__radar{max-width:320px;width:100%;height:auto;display:block;margin:0 auto 1rem}
.ace-scorecards__dims{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.5rem;list-style:none;padding:0;margin:0 0 1rem}
.ace-scorecards__dims li{padding:.5rem .7rem;border-radius:6px;background:color-mix(in srgb,currentColor 6%,transparent)}
.ace-scorecards__dims strong{display:block;font-size:1.4em}
.ace-scorecards__dims small{opacity:.75}
.ace-scorecards details{margin:1rem 0}
.ace-scorecards details table{font-size:.85em}
.ace-scorecards__like{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.4rem .9rem}
.ace-scorecards__like span{opacity:.7;font-size:.9em}
.ace-scorecards__credit{font-size:.85em;opacity:.8}

/* ------------------------------------------------------------------- sewage */
.ace-sewage__list{list-style:none;margin:0 0 .75rem;padding:0}
.ace-sewage__list li{margin:.25rem 0}
.ace-sewage .ace-csection-card__meta{font-size:.85em;opacity:.8}

/* ---------------------------------------------------------------- sky watch */
.ace-skywatch ul{list-style:none;padding:0;margin:.5rem 0}
.ace-skywatch li{margin:.25rem 0}
.ace-skywatch__meta{font-size:.85em;opacity:.8}
.ace-skywatch--warnings{border-left:6px solid var(--ace-stat-warn-pill);padding:.5rem 1rem}
.ace-skywatch--amber{border-color:var(--ace-stat-amber-pill)}
.ace-skywatch--red{border-color:var(--ace-stat-alert-pill)}
/* The aurora level badge: a solid pill with white text, so one tone serves both themes. */
.ace-skywatch__level{display:inline-block;padding:.1em .6em;border-radius:1em;background:var(--ace-stat-good-pill);color:#fff}
.ace-skywatch--yellow .ace-skywatch__level{background:var(--ace-stat-warn-pill)}
.ace-skywatch--amber .ace-skywatch__level{background:var(--ace-stat-amber-pill)}
.ace-skywatch--red .ace-skywatch__level{background:var(--ace-stat-alert-pill)}

/* ---------------------------------------------------------------------- sky */
.ace-sky ul{list-style:none;padding:0;margin:.5rem 0}
.ace-sky li{margin:.25rem 0}
.ace-sky__meta{font-size:.85em;opacity:.8}

/* ------------------------------------------------------------ source health */
.ace-source-health__problems{list-style:none;margin:0 0 1rem;padding:0}
.ace-source-health__problems li{padding:.35rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent)}
.ace-source-health__err{display:block;font-size:.85em;opacity:.75}
.ace-source-health__dot{display:inline-block;width:.7em;height:.7em;border-radius:50%;margin-right:.4em;background:var(--ace-stat-muted-pill);vertical-align:baseline}
.ace-source-health__dot.is-ok{background:var(--ace-stat-good-pill)}
.ace-source-health__dot.is-stale{background:var(--ace-stat-warn-pill)}
.ace-source-health__dot.is-failing{background:var(--ace-stat-alert-pill)}
.ace-source-health__dot.is-blocked{background:#7d4bd6}
.ace-source-health__dot.is-off{background:var(--ace-stat-muted-pill)}
.ace-source-health__scroll{overflow-x:auto}
.ace-source-health__table{width:100%;border-collapse:collapse;font-size:.92em}
.ace-source-health__table th,.ace-source-health__table td{text-align:left;padding:.4rem .5rem;vertical-align:top;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.ace-source-health__table th.is-sortable{cursor:pointer;white-space:nowrap}
.ace-source-health__table th.is-sortable::after{content:" \2195";opacity:.5}
.ace-source-health__table th[aria-sort=ascending]::after{content:" \2191"}
.ace-source-health__table th[aria-sort=descending]::after{content:" \2193"}
.ace-source-health__error{max-width:22rem;word-break:break-word;font-size:.85em}
.ace-source-health__spark{color:currentColor;opacity:.8}
.ace-source-health__allgood{font-weight:600}

/* ----------------------------------------------------------------- vehicles */
.ace-vehicles__lines{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.ace-vehicles__lines li{border:1px solid currentColor;border-radius:1rem;padding:.1rem .6rem;font-size:.9em}
.ace-vehicles .ace-csection-card__meta{font-size:.85em;opacity:.8}

/* -------------------------------------------------------------- video feeds */
.ace-vfeeds__cards{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.ace-vfeeds__cards li{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}
.ace-vfeeds__cards img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:var(--ace-surface-2,#222a27)}
.ace-vfeeds__meta,.ace-vfeeds__credit{font-size:.8rem;opacity:.8}
.ace-vfeeds__pods{list-style:none;margin:0 0 1rem;padding:0}
.ace-vfeeds__pods li{display:grid;grid-template-columns:64px 1fr;gap:.75rem;align-items:start;padding:.6rem 0;border-top:1px solid var(--ace-line,rgba(255,255,255,.12))}
.ace-vfeeds__pods img{width:64px;height:64px;border-radius:6px;object-fit:cover}
.ace-vfeeds__pods audio{width:100%;max-width:420px;margin-top:.3rem}

/* ------------------------------------------------------------- wiki nearby */
.ace-wiki__list,.ace-wiki__movers{padding-left:1.2rem}
.ace-wiki__list p{margin:.1rem 0 .5rem;font-size:.92em}
.ace-wiki__meta{color:var(--ace-muted,#b9b0a0);font-size:.85em}
.ace-wiki__credit{color:var(--ace-muted,#b9b0a0);font-size:.8em}
.ace-wiki__gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;list-style:none;padding:0;margin:.8rem 0}
.ace-wiki__gallery img{width:100%;height:110px;object-fit:cover;border-radius:4px}
.ace-wiki__gallery .ace-wiki__credit{display:block}

/* --------------------------------------------------------- wikidata people */
.ace-wdpeople__cards{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}
.ace-wdpeople__cards li{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}
.ace-wdpeople__cards img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;background:var(--ace-surface-2,#222a27)}
.ace-wdpeople__meta,.ace-wdpeople__credit{font-size:.8rem;opacity:.8}
.ace-wdpeople__occ{columns:2;column-gap:2rem;font-size:.9rem}
.ace-wdpeople__occ li{break-inside:avoid;margin-bottom:.5rem}
.ace-wdpeople__day li{margin-bottom:.35rem}

/* Cheapest petrol, small enough for a sidebar and legible at a glance: the price
   is the thing being answered, so it is the thing that is big. */
.ace-fuel__best{margin:.75rem 0 0;padding:0;list-style:none;display:grid;gap:.6rem}
.ace-fuel__bestitem{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.15rem .6rem;padding:.6rem .75rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:.5rem}
.ace-fuel__bestfuel{grid-column:1;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.8}
.ace-fuel__bestprice{grid-column:2;justify-self:start;font-size:1.5rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.ace-fuel__bestwhere{grid-column:1/-1;font-size:.88rem;line-height:1.35}
.ace-fuel__bestsave{grid-column:1/-1;font-size:.78rem;line-height:1.3;opacity:.8}

/* ------------------------------------------------------------------ museums
   Sheffield museums and galleries. Colours come from the shared tokens so the
   block reads correctly in both themes; the light palette is set once at the
   top of this sheet under [data-ace-theme=light] and needs nothing extra here. */
.ace-museums__cards{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.ace-museums__cards li{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}
.ace-museums__cards img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:var(--ace-surface-2,#222a27)}
.ace-museums__name{font-weight:600;line-height:1.3}
.ace-museums__meta{font-size:.8rem;opacity:.85}
.ace-museums__hours{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--ace-muted,#b9b0a0)}
.ace-museums__more{margin:.25rem 0 .75rem}
.ace-museums__list li{margin-bottom:.35rem}

/* Compact follow control: the same .ace-follow button (same handler, same endpoint) shrunk to a
   chip for lists of areas. The label stays in the DOM, visually hidden, so the accessible name
   still names the area; aria-pressed carries the state, so it is not announced by colour alone. */
.ace-follow--mini{padding:.3rem .45rem;gap:0;line-height:1;border-radius:999px}
.ace-follow--mini .ace-follow__t{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.ace-follow--mini .dashicons{font-size:1rem;width:1rem;height:1rem}
.ace-follow--mini:focus-visible{outline:2px solid var(--ace-orange-2,#ff9a45);outline-offset:2px}
/* What the bell does, said once above the list. Muted token so both themes stay legible. */
.ace-nbhd-follow-note{margin:0 0 .8rem;font-size:.9rem;color:var(--ace-muted,#b9b0a0)}
/* The chip and its bell are one item, so the space between an area and its own bell must read as
   smaller than the space between two areas. ul.* to win over the base rule whatever the load order. */
/* The bell belongs to the area beside it, so the pair reads as one pill rather
   than a button floating between two areas. The border and background move onto
   the list item, the link and the bell sit inside it, and a hairline divides them. */
ul.ace-nbhd-list{gap:.5rem .6rem}
ul.ace-nbhd-list li:has(.ace-follow--mini){display:inline-flex;align-items:stretch;gap:0;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:999px;background:var(--ace-surface,#1b211f);overflow:hidden}
ul.ace-nbhd-list li:has(.ace-follow--mini):hover{border-color:var(--ace-orange-2,#efb665)}
ul.ace-nbhd-list li:has(.ace-follow--mini)>a{border:0;border-radius:0;background:none;padding-right:.6rem}
ul.ace-nbhd-list li:has(.ace-follow--mini)>a:hover{border:0}
ul.ace-nbhd-list li>.ace-follow--mini{border:0;border-radius:0;border-left:1px solid var(--ace-line,rgba(255,255,255,.12));background:none;padding:.4rem .55rem}
ul.ace-nbhd-list li>.ace-follow--mini:hover{background:color-mix(in srgb,var(--ace-orange-2,#efb665) 14%,transparent)}
ul.ace-nbhd-list li>.ace-follow--mini.is-on{background:var(--ace-orange-2,#efb665)}
/* Older browsers without :has keep the plain row, which still works. */
.ace-nbhd-list li{display:inline-flex;align-items:center;gap:.15rem}
.ace-place__follow{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .9rem}

/* Active Places Power: sports facilities. Tokens only, so both themes follow the container. */
.ace-sportsfacilities__types{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .6rem;font-size:.85rem}
.ace-sportsfacilities__types li{border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:999px;padding:.2rem .6rem;background:var(--ace-surface,#1b211f)}
.ace-sportsfacilities__venues{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}
.ace-sportsfacilities__venues li{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}
.ace-sportsfacilities__name{font-weight:600;line-height:1.3}
.ace-sportsfacilities__meta{font-size:.8rem;opacity:.85}
.ace-sportsfacilities__more{margin:.25rem 0 .75rem}
.ace-sportsfacilities__list li{margin-bottom:.35rem}
@media (max-width:700px){.ace-sportsfacilities__venues{grid-template-columns:1fr}}
/* One video's own page: click-to-play facade, its meta and the discussion below it. */
.ace-vfeeds__player{position:relative;max-width:640px;margin:0 0 .6rem;background:var(--ace-surface-2,#222a27);border-radius:8px;overflow:hidden}
.ace-vfeeds__player img,.ace-vfeeds__player iframe{display:block;width:100%;aspect-ratio:16/9;border:0;object-fit:cover}
.ace-vfeeds__play{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;position:relative}
.ace-vfeeds__play-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.ace-vfeeds__play:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.ace-vfeeds__watch,.ace-vfeeds__desc{margin:0 0 .8rem}
.ace-vfeeds__ytcomments{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.5rem;font-size:.9rem}
.ace-vfeeds__talk{margin:1.5rem 0;border-top:1px solid var(--ace-line,rgba(255,255,255,.12));padding-top:1rem}
.ace-vfeeds__thread{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.75rem}
.ace-vfeeds__thread time{font-size:.8rem;opacity:.7;margin-left:.4rem}
.ace-vfeeds__thread p{margin:.2rem 0 0}
.ace-vfeeds__talkform{display:grid;gap:.5rem;max-width:640px}
.ace-vfeeds__talkform textarea{width:100%}
.ace-vfeeds__talkform button{justify-self:start}
/* Paid links. An aside, outside the article, tinted so it never reads as editorial. The
   disclosure is body size on purpose: it is not small print. */
.ace-commercial{margin:2rem 0 0;padding:1rem 1.1rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:10px;background:var(--ace-surface-2,#222a27)}
.ace-commercial__title{margin:0 0 .6rem;font-size:1.15rem}
.ace-commercial__disclosure p{margin:0 0 .7rem;font-size:1rem;line-height:1.5}
.ace-commercial__list{list-style:none;margin:.9rem 0 .9rem;padding:0;display:grid;gap:.6rem}
.ace-commercial__item{display:block}
.ace-commercial__badge{display:inline-block;min-width:1.4em;text-align:center;border-radius:4px;padding:0 .25em;background:var(--ace-surface,#1a211f);font-weight:700}
.ace-commercial__blurb{display:block;font-size:.9rem;opacity:.85;margin-top:.15rem}
.ace-commercial__unmarked{margin:0;font-size:.95rem}
.ace-commercial-register{margin:1.5rem 0}
.ace-commercial-register__table{width:100%;border-collapse:collapse}
.ace-commercial-register__table th,.ace-commercial-register__table td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--ace-line,rgba(255,255,255,.12))}

/* ------------------------------------------------ fuel, electricity and gas hubs
   Mobile first: one column, the tables scroll inside their own box rather than
   taking the page sideways, and nothing here carries a colour of its own. */
.ace-fuelhub,.ace-energyhub{box-sizing:border-box;width:min(100%,60rem);margin-inline:auto}
.ace-fuelhub section,.ace-energyhub section{margin:1.75rem 0}
.ace-fuelhub h2,.ace-energyhub h2{font-size:1.15rem;margin:0 0 .4rem}
.ace-fuelhub__provenance,.ace-fuelhub__note,.ace-fuelhub__what,.ace-energyhub__note,.ace-energyhub__capmeta{font-size:.85rem;opacity:.8}
.ace-fuelhub__nearform{display:grid;gap:.4rem;margin:.6rem 0}
.ace-fuelhub__nearform input{padding:.55rem .65rem;border:1px solid var(--ace-line,rgba(255,255,255,.18));border-radius:.5rem;background:transparent;color:inherit;font:inherit;width:100%}
.ace-fuelhub__nearform button{padding:.55rem .9rem;border-radius:.5rem;border:1px solid var(--ace-line,rgba(255,255,255,.18));background:var(--ace-surface-2,rgba(255,255,255,.06));color:inherit;font:inherit;cursor:pointer;justify-self:start}
.ace-fuelhub__nearlist{margin:.6rem 0 0;padding-left:1.3rem}
.ace-fuelhub__nearlist li{margin:.25rem 0}
.ace-fuelhub__dist{font-size:.85rem;opacity:.75}
.ace-fuelhub__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ace-fuelhub__table{border-collapse:collapse;width:100%;min-width:34rem;font-size:.9rem}
.ace-fuelhub__table th,.ace-fuelhub__table td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--ace-line,rgba(255,255,255,.12));white-space:nowrap}
.ace-fuelhub__table td{font-variant-numeric:tabular-nums}
.ace-fuelhub__traffic-list{list-style:none;margin:.6rem 0 0;padding:0}
.ace-fuelhub__traffic-list li{margin:0 0 .6rem}
.ace-fuelhub__what{display:block}
.ace-fuelhub__gaps li,.ace-energyhub__gaps li{margin:.35rem 0}
.ace-energyhub__figure{font-size:1.5rem;font-weight:700;margin:.25rem 0;font-variant-numeric:tabular-nums}
.ace-energyhub__emergency{border:1px solid var(--ace-line,rgba(255,255,255,.18));border-radius:.6rem;padding:.9rem 1rem}
.ace-energyhub__emergency h2{font-size:1.25rem}
.ace-energyhub__calculator{padding:clamp(1rem,3vw,1.6rem);border:1px solid color-mix(in srgb,var(--ace-stat-warn,#ffb74d) 42%,var(--ace-line,rgba(255,255,255,.15)));border-radius:1rem;background:linear-gradient(145deg,color-mix(in srgb,var(--ace-stat-warn,#ffb74d) 9%,var(--ace-surface-2,#222a27)),var(--ace-surface-2,#222a27) 65%);box-shadow:0 18px 50px rgba(0,0,0,.12)}
.ace-energyhub__sectionhead{max-width:46rem}
.ace-energyhub__eyebrow{margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:750;color:var(--ace-stat-warn,#ffb74d)}
.ace-energyhub__sectionhead>p:last-child{margin:.35rem 0 0;opacity:.86}
.ace-energyhub__usagecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14.5rem),1fr));gap:.75rem;margin:1.15rem 0}
.ace-energyhub__usagecard{appearance:none;text-align:left;color:inherit;font:inherit;padding:1rem;border:1px solid var(--ace-line,rgba(255,255,255,.16));border-radius:.75rem;background:color-mix(in srgb,var(--ace-surface,#171b1a) 82%,transparent);cursor:pointer;display:grid;gap:.12rem;min-width:0;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.ace-energyhub__usagecard:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ace-stat-warn,#ffb74d) 58%,transparent)}
.ace-energyhub__usagecard:focus-visible{outline:3px solid var(--ace-stat-warn,#ffb74d);outline-offset:3px}
.ace-energyhub__usagecard.is-active{border-color:var(--ace-stat-warn,#ffb74d);background:color-mix(in srgb,var(--ace-stat-warn,#ffb74d) 11%,var(--ace-surface,#171b1a))}
.ace-energyhub__usage-title{font-weight:750}.ace-energyhub__usage-kwh{font-size:.82rem;opacity:.72}.ace-energyhub__usagecard strong{font-size:1.65rem;line-height:1.15;margin-top:.65rem;font-variant-numeric:tabular-nums}.ace-energyhub__usagecard strong+span{font-size:.82rem;opacity:.8}
.ace-energyhub__calcform{display:grid;gap:.75rem;align-items:end;margin-top:1.2rem}.ace-energyhub__calcform label>span:first-child{display:block;font-size:.85rem;font-weight:700;margin-bottom:.3rem}.ace-energyhub__input{display:flex;align-items:center;border:1px solid var(--ace-line,rgba(255,255,255,.22));border-radius:.6rem;background:var(--ace-surface,#171b1a);overflow:hidden}.ace-energyhub__input input{min-width:0;width:100%;padding:.72rem .8rem;border:0;background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums}.ace-energyhub__input input:focus{outline:none}.ace-energyhub__input:focus-within{outline:3px solid color-mix(in srgb,var(--ace-stat-warn,#ffb74d) 75%,transparent);outline-offset:2px}.ace-energyhub__input span{padding:0 .8rem;font-size:.85rem;opacity:.72}.ace-energyhub__calcform button{padding:.72rem 1rem;border:1px solid var(--ace-stat-warn,#ffb74d);border-radius:.6rem;background:var(--ace-stat-warn,#ffb74d);color:#19130b;font:inherit;font-weight:750;cursor:pointer;white-space:nowrap}.ace-energyhub__calcform button:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.ace-energyhub__result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.ace-energyhub__result>div{padding:.85rem 1rem;border-radius:.7rem;background:color-mix(in srgb,var(--ace-surface,#171b1a) 88%,transparent)}.ace-energyhub__result span{display:block;font-size:.78rem;opacity:.75}.ace-energyhub__result strong{display:block;font-size:clamp(1.35rem,4vw,2rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ace-energyhub__breakdown{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin:.75rem 0 0;font-size:.88rem}.ace-energyhub__breakdown strong{font-variant-numeric:tabular-nums}.ace-energyhub__privacy{margin:.8rem 0 0;font-size:.78rem;opacity:.72;max-width:50rem}
.ace-energyhub__tariffgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.8rem;margin-top:.85rem}.ace-energyhub__tariffgrid article{padding:1rem;border:1px solid var(--ace-line,rgba(255,255,255,.14));border-radius:.75rem;background:color-mix(in srgb,var(--ace-surface-2,#222a27) 72%,transparent)}.ace-energyhub__tariffgrid h3{margin:0 0 .35rem;font-size:1rem}.ace-energyhub__tariffgrid p{margin:0;opacity:.86}
@media (min-width:48rem){
  .ace-fuelhub__nearform{grid-template-columns:1fr auto;align-items:end}
  .ace-fuelhub__nearform label{grid-column:1/-1}
  .ace-energyhub__calcform{grid-template-columns:minmax(15rem,1fr) auto}
}
@media (min-width:32rem) and (max-width:47.99rem){.ace-energyhub__usagecard:last-child:nth-child(odd){grid-column:1/-1}}
@media (max-width:32rem){.ace-energyhub__result{grid-template-columns:1fr}.ace-energyhub__calcform button{width:100%}}


/* ace-venue-facts */
/* Venue facts (ACE_Venue_Facts): the depth strip on a directory card and the full panel
   on a venue page. Status colour comes from the shared .ace-stat classes in
   ace-data-blocks.css, so both themes are kept right in one place. */

/* NOTE on tokens. The shell's --ace-surface-2 / --ace-ink / --ace-line are defined on
   .ace-shell, NOT on :root. Aliasing them inside a :root block resolves them there, where
   they do not exist, and freezes the dark fallback - which is exactly how this block first
   shipped with dark cards under the light theme. So the shell tokens are aliased on the
   component root, inside the shell's scope, and only genuinely new colours live at :root. */
:root{--ace-vf-chip:rgba(255,255,255,.06)}
[data-ace-theme=light]{--ace-vf-chip:rgba(0,0,0,.05)}
.ace-vf,.ace-vf__strip{
  --ace-vf-line:var(--ace-line,rgba(255,255,255,.14));
  --ace-vf-ink:var(--ace-ink,var(--ace-text,#f5f2ea));
  --ace-vf-muted:var(--ace-muted,#b9b0a0);
  --ace-vf-surface:var(--ace-surface-2,var(--ace-surface,#232a2c));
}

/* --- the one-line strip under a directory card --------------------------- */
.ace-vf__strip{display:flex;flex-wrap:wrap;gap:.3rem;margin:.5rem 0 0;padding:0}
.ace-vf__chip{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--ace-vf-chip);border:1px solid var(--ace-vf-line);font-size:.72rem;line-height:1.5;white-space:nowrap}

/* --- the panel ----------------------------------------------------------- */
.ace-vf{color:var(--ace-vf-ink)}
.ace-vf__grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));margin:0 0 1rem}
.ace-vf__card{margin:0;padding:.9rem 1rem;border:1px solid var(--ace-vf-line);border-radius:12px;background:var(--ace-vf-surface)}
.ace-vf__card h3{margin:0 0 .5rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ace-vf-muted)}
.ace-vf__big{margin:0 0 .35rem;font-size:1.05rem;font-weight:600;line-height:1.3}
.ace-vf__meta{margin:.35rem 0 0;font-size:.78rem;line-height:1.45;color:var(--ace-vf-muted)}
.ace-vf__none{margin:0;font-size:.85rem;line-height:1.5}
.ace-vf__list{margin:.4rem 0 0;padding:0;list-style:none;font-size:.82rem;line-height:1.6}
.ace-vf__list li{display:flex;gap:.5rem;justify-content:space-between;align-items:baseline;padding:.15rem 0;border-bottom:1px solid var(--ace-vf-line)}
.ace-vf__list li:last-child{border-bottom:0}
.ace-vf__dist{flex:none;font-variant-numeric:tabular-nums;font-size:.72rem;color:var(--ace-vf-muted)}
.ace-vf__scroll{overflow-x:auto}
.ace-vf__credit{margin:.75rem 0 0;font-size:.72rem;line-height:1.55;color:var(--ace-vf-muted)}

@media (max-width:640px){
  .ace-vf__grid{grid-template-columns:1fr}
  .ace-vf__card{padding:.75rem .85rem}
  .ace-vf__chip{white-space:normal}
}

/* Light theme: the shell's own --ace-muted (#68736c) is 4.24:1 on the card ground (#ecefe6),
   just under WCAG AA for the small print these components use. This darkens only this
   component's muted ink to 5.06:1 rather than changing a shared token. */
[data-ace-theme=light] .ace-vf,.ace-vf__strip{--ace-vf-muted:#5d675f}


/* ace-charts */
/* Inline SVG charts drawn by ACE_Charts, and the generic data-table enhancer (.ace-table).
   Colours come from the workspace tokens. Two chart palettes, one per theme, each checked for
   at least 3:1 (WCAG 1.4.11) against the panel, card and white surfaces of its theme; text uses
   the theme ink and muted tokens, which pass 4.5:1 in both themes. */
:root,.ace-workspace-page{--ace-chart-line:var(--shell-line,var(--ace-line,rgba(255,255,255,.13)));--ace-chart-on:#14191b;
  --ace-chart-1:var(--ace-orange-2,#efb665);--ace-chart-2:#30a2e8;--ace-chart-3:#47d181;--ace-chart-4:#e36398;--ace-chart-5:#9b81e9;--ace-chart-6:#e56c61;--ace-chart-7:#dddd3c;--ace-chart-8:#36d4e2;--ace-chart-9:#81d147;--ace-chart-10:#d37750}
.ace-workspace-page[data-ace-theme=light],[data-ace-theme=light]{--ace-chart-line:var(--shell-line,#d0d5cb);--ace-chart-on:#ffffff;
  --ace-chart-1:var(--ace-orange-2,#915424);--ace-chart-2:#1788cf;--ace-chart-3:#259353;--ace-chart-4:#dd3c7f;--ace-chart-5:#643cdd;--ace-chart-6:#df473a;--ace-chart-7:#868618;--ace-chart-8:#168d98;--ace-chart-9:#508f24;--ace-chart-10:#cc6133}
.ace-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.ace-chart{position:relative;margin:.75rem 0 1.25rem;padding:.9rem .9rem .6rem;border:1px solid var(--ace-chart-line);border-radius:12px;background:var(--ace-surface,#1b211f);color:var(--ace-ink,var(--ace-text,#f7f3ea))}
.ace-chart__caption{margin:0 0 .6rem;color:var(--ace-muted,#b9b0a0);font-size:.85rem;line-height:1.4}
.ace-chart__scroll{overflow-x:auto;overflow-y:hidden;max-width:100%;-webkit-overflow-scrolling:touch}
.ace-chart__svg{display:block;width:100%;min-width:480px;height:auto;max-width:100%;overflow:visible;font-family:inherit}
.ace-chart__svg text{fill:currentColor;font-size:12px}
.ace-chart__label{font-size:12px}
.ace-chart__label--link{fill:var(--ace-orange-2,#efb665);text-decoration:underline;text-underline-offset:2px}
.ace-chart__svg a:focus-visible .ace-chart__label--link{outline:2px solid var(--ace-orange-2,#efb665)}
.ace-chart__value{font-size:11px;font-weight:700}
.ace-chart__value--muted{fill:var(--ace-muted,#b9b0a0);font-weight:500}
.ace-chart__value--on{fill:var(--ace-chart-on);font-weight:700}
.ace-chart__legend,.ace-chart__axis{font-size:11px;fill:var(--ace-muted,#b9b0a0)}
.ace-chart__axis--muted{fill:var(--ace-muted,#b9b0a0);opacity:.8}
.ace-chart__grid{stroke:var(--ace-chart-line);stroke-width:1}
.ace-chart__fill-local{fill:var(--ace-chart-1)}
.ace-chart__fill-city{fill:var(--ace-muted,#b9b0a0);opacity:.75}
.ace-chart__c1{fill:var(--ace-chart-1)}.ace-chart__c2{fill:var(--ace-chart-2)}.ace-chart__c3{fill:var(--ace-chart-3)}.ace-chart__c4{fill:var(--ace-chart-4)}.ace-chart__c5{fill:var(--ace-chart-5)}
.ace-chart__c6{fill:var(--ace-chart-6)}.ace-chart__c7{fill:var(--ace-chart-7)}.ace-chart__c8{fill:var(--ace-chart-8)}.ace-chart__c9{fill:var(--ace-chart-9)}.ace-chart__c10{fill:var(--ace-chart-10)}
.ace-chart__s1{stroke:var(--ace-chart-1)}.ace-chart__s2{stroke:var(--ace-chart-2)}.ace-chart__s3{stroke:var(--ace-chart-3)}.ace-chart__s4{stroke:var(--ace-chart-4)}.ace-chart__s5{stroke:var(--ace-chart-5)}
.ace-chart__s6{stroke:var(--ace-chart-6)}.ace-chart__s7{stroke:var(--ace-chart-7)}.ace-chart__s8{stroke:var(--ace-chart-8)}.ace-chart__s9{stroke:var(--ace-chart-9)}.ace-chart__s10{stroke:var(--ace-chart-10)}
.ace-chart__seg--1{fill:var(--ace-chart-1)}
.ace-chart__seg--2{fill:var(--ace-chart-2)}
.ace-chart__seg--3{fill:var(--ace-chart-3)}
.ace-chart__seg--4{fill:var(--ace-chart-4)}
.ace-chart__seg{stroke:var(--ace-surface,#1b211f);stroke-width:1}
.ace-chart__col{fill:var(--ace-muted,#b9b0a0);opacity:.45}
.ace-chart__line{fill:none;stroke:var(--ace-chart-1);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.ace-chart__path{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.ace-chart__dot{fill:var(--ace-surface,#1b211f);stroke:var(--ace-chart-1);stroke-width:2.5}
.ace-chart__median{stroke:var(--ace-ink,var(--ace-text,#f7f3ea));stroke-width:3;stroke-linecap:round}
.ace-chart__pts circle{r:3.5px;fill:var(--ace-muted,#b9b0a0);opacity:.55}
.ace-chart__pt--hl{fill:var(--ace-chart-1);opacity:1;stroke:var(--ace-ink,var(--ace-text,#f7f3ea));stroke-width:2}
.ace-chart__ring{fill:none;stroke-width:30}
.ace-chart [data-tip]{cursor:default;outline:none}
.ace-chart [data-tip].is-active,.ace-chart [data-tip]:focus-visible{filter:brightness(1.25);stroke:var(--ace-ink,var(--ace-text,#f7f3ea));stroke-width:1.5}
.ace-chart [data-series].is-off{opacity:.12}
.ace-chart__legend-item{cursor:pointer;outline:none}
.ace-chart__legend-item:focus-visible rect{stroke:var(--ace-ink,var(--ace-text,#f7f3ea));stroke-width:2}
.ace-chart__legend-item.is-off{opacity:.45}
.ace-chart__legend-item.is-off text{text-decoration:line-through}
.ace-chart__cross{stroke:var(--ace-muted,#b9b0a0);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}
.ace-chart__tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.35rem 0 0}
.ace-chart__toggle,.ace-table__btn{padding:.3rem .7rem;border:1px solid var(--ace-chart-line);border-radius:999px;background:transparent;color:var(--ace-muted,#b9b0a0);font:inherit;font-size:.75rem;line-height:1.3;cursor:pointer}
.ace-chart__toggle:hover,.ace-chart__toggle:focus-visible,.ace-table__btn:hover,.ace-table__btn:focus-visible{border-color:var(--ace-orange-2,#efb665);color:var(--ace-ink,var(--ace-text,#f7f3ea))}
.ace-chart__toggle[aria-pressed="false"]{text-decoration:line-through;opacity:.7}
.ace-chart__menu,.ace-table__menu{position:relative;display:inline-block}
.ace-chart__menu>summary,.ace-table__menu>summary{list-style:none;display:inline-block;padding:.3rem .7rem;border:1px solid var(--ace-chart-line);border-radius:999px;color:var(--ace-muted,#b9b0a0);font-size:.75rem;line-height:1.3;cursor:pointer;user-select:none}
.ace-chart__menu>summary::-webkit-details-marker,.ace-table__menu>summary::-webkit-details-marker{display:none}
.ace-chart__menu>summary:hover,.ace-chart__menu>summary:focus-visible,.ace-chart__menu[open]>summary,.ace-table__menu>summary:hover,.ace-table__menu>summary:focus-visible,.ace-table__menu[open]>summary{border-color:var(--ace-orange-2,#efb665);color:var(--ace-ink,var(--ace-text,#f7f3ea))}
.ace-chart__menu-list,.ace-table__menu-list{position:absolute;left:0;top:calc(100% + 4px);z-index:40;min-width:13rem;margin:0;padding:.3rem;list-style:none;border:1px solid var(--ace-chart-line);border-radius:10px;background:var(--ace-surface-2,var(--ace-surface,#232a2c));box-shadow:0 8px 24px rgba(0,0,0,.3)}
.ace-chart__menu-list li,.ace-table__menu-list li{margin:0}
.ace-chart__menu-list button,.ace-chart__menu-list a,.ace-table__menu-list button,.ace-table__menu-list a{display:block;width:100%;box-sizing:border-box;padding:.4rem .6rem;border:0;border-radius:6px;background:transparent;color:var(--ace-ink,var(--ace-text,#f7f3ea));font:inherit;font-size:.8rem;text-align:left;text-decoration:none;cursor:pointer}
.ace-chart__menu-list button:hover,.ace-chart__menu-list a:hover,.ace-chart__menu-list button:focus-visible,.ace-chart__menu-list a:focus-visible,.ace-table__menu-list button:hover,.ace-table__menu-list a:hover,.ace-table__menu-list button:focus-visible,.ace-table__menu-list a:focus-visible{background:var(--ace-rail-hover,rgba(127,127,127,.15));outline:none}
.ace-chart__menu-list a.ace-chart__menu-api{border-top:1px solid var(--ace-chart-line);margin-top:.2rem;padding-top:.5rem;color:var(--ace-orange-2,#efb665)}
.ace-chart__data.is-open{margin-top:.6rem;overflow-x:auto}
.ace-chart__table{width:100%;border-collapse:collapse;font-size:.8rem}
.ace-chart__table caption{text-align:left;padding:.2rem 0;color:var(--ace-muted,#b9b0a0)}
.ace-chart__table th,.ace-chart__table td{padding:.3rem .5rem;border-bottom:1px solid var(--ace-chart-line);text-align:left}
.ace-chart__table th[scope="row"]{font-weight:600}
.ace-chart__table a{color:var(--ace-orange-2,#efb665)}
.ace-chart__tip{position:absolute;z-index:60;max-width:18rem;padding:.4rem .6rem;border:1px solid var(--ace-chart-line);border-radius:8px;background:var(--ace-surface-2,var(--ace-surface,#232a2c));color:var(--ace-ink,var(--ace-text,#f7f3ea));font-size:.8rem;line-height:1.35;box-shadow:0 6px 18px rgba(0,0,0,.35);pointer-events:none}
.ace-chart__skip,.ace-chart__note{margin:.25rem 0 1rem;color:var(--ace-muted,#b9b0a0);font-size:.85rem;line-height:1.45}
.ace-chart__strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ace-chart__cell h4{margin:0 0 .35rem;font-size:1rem}
.ace-chart__reading{margin:0 0 .5rem;font-size:.85rem;line-height:1.5;color:var(--ace-muted,#b9b0a0)}
.ace-chart__reading strong{color:var(--ace-ink,var(--ace-text,#f7f3ea))}
.ace-chart__cell .ace-chart{margin-top:0}
.ace-source-panel--charts h3{margin:1.4rem 0 .4rem;font-size:1.05rem}
@media(max-width:820px){.ace-chart__strip{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){.ace-chart [data-tip]{transition:filter .12s ease,opacity .2s ease}.ace-chart [data-series]{transition:opacity .2s ease}}

/* Generic data tables: any <table class="ace-table"> gets sorting, filtering, paging, sticky headers and exports. */
.ace-table-wrap{position:relative;max-width:100%;overflow:auto;border:1px solid var(--ace-chart-line);border-radius:10px;background:var(--ace-surface,#1b211f);color:var(--ace-ink,var(--ace-text,#f7f3ea))}
.ace-table-wrap--tall{max-height:32rem}
.ace-table-wrap .ace-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem;margin:0}
.ace-table-wrap .ace-table caption{caption-side:top;text-align:left;padding:.45rem .6rem .2rem;color:var(--ace-muted,#b9b0a0);font-size:.8rem}
.ace-table-wrap .ace-table th,.ace-table-wrap .ace-table td{padding:.38rem .6rem;border-bottom:1px solid var(--ace-chart-line);text-align:left;vertical-align:top}
.ace-table-wrap .ace-table thead th{position:sticky;top:0;z-index:2;background:var(--ace-surface-2,var(--ace-surface,#232a2c));color:var(--ace-ink,var(--ace-text,#f7f3ea));font-weight:600;white-space:nowrap}
.ace-table-wrap .ace-table tbody tr:nth-child(even) td,.ace-table-wrap .ace-table tbody tr:nth-child(even) th{background:var(--ace-rail-hover,rgba(127,127,127,.07))}
.ace-table-wrap .ace-table tbody tr:hover td,.ace-table-wrap .ace-table tbody tr:hover th{background:rgba(127,127,127,.14)}
.ace-table-wrap .ace-table td.is-num,.ace-table-wrap .ace-table th.is-num{text-align:right;font-variant-numeric:tabular-nums}
.ace-shell .ace-table-wrap .ace-table thead th .ace-table__sort,.ace-table__sort{display:inline-flex;box-shadow:none;border-radius:0;min-height:0;align-items:center;gap:.3rem;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:inherit;cursor:pointer}
.ace-table__sort::after{content:"";display:inline-block;width:.5em;height:.5em;border:solid currentColor;border-width:0 1.5px 1.5px 0;opacity:.35;transform:translateY(-.15em) rotate(45deg)}
th[aria-sort="ascending"] .ace-table__sort::after{opacity:1;transform:translateY(.1em) rotate(-135deg)}
th[aria-sort="descending"] .ace-table__sort::after{opacity:1}
.ace-table__sort:focus-visible{outline:2px solid var(--ace-orange-2,#efb665);outline-offset:2px}
.ace-table__bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0}
.ace-table__search{flex:1 1 12rem;min-width:9rem;padding:.35rem .6rem;border:1px solid var(--ace-chart-line);border-radius:8px;background:var(--ace-surface-2,var(--ace-surface,#232a2c));color:var(--ace-ink,var(--ace-text,#f7f3ea));font:inherit;font-size:.8rem}
.ace-table__search:focus{outline:2px solid var(--ace-orange-2,#efb665);border-color:transparent}
.ace-table__count,.ace-table__pages{color:var(--ace-muted,#b9b0a0);font-size:.75rem}
.ace-table__pages{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto}
.ace-table__pages button[disabled]{opacity:.4;cursor:default}
.ace-table tr.is-hidden{display:none}

/* ---------------------------------------------------------------- drawing in */

/* A chart draws itself as you arrive at it, one mark after another, in the order the
   chart is meant to be read. The marks are server-rendered SVG: nothing is redrawn,
   each is given its place in the queue and how it should arrive - a bar grows from
   its baseline, a point appears, a line draws itself from its start. The step
   shortens as the count grows, so four bars feel deliberate and two hundred cells
   do not take ten seconds. */
.ace-chart.is-drawing .ace-mark--growx{transform:scaleX(0);transform-box:fill-box;transform-origin:left center}
.ace-chart.is-drawing .ace-mark--growy{transform:scaleY(0);transform-box:fill-box;transform-origin:center bottom}
.ace-chart.is-drawing .ace-mark--pop{transform:scale(0);transform-box:fill-box;transform-origin:center}
.ace-chart.is-drawing .ace-mark--draw{stroke-dasharray:var(--ace-line-len,2000);stroke-dashoffset:var(--ace-line-len,2000)}
.ace-chart.is-drawing .ace-mark--fade{opacity:0}

.ace-chart.is-drawn .ace-mark--growx,
.ace-chart.is-drawn .ace-mark--growy,
.ace-chart.is-drawn .ace-mark--pop{transform:none}
.ace-chart.is-drawn .ace-mark--draw{stroke-dashoffset:0}
.ace-chart.is-drawn .ace-mark--fade{opacity:1}

@media (prefers-reduced-motion:no-preference){
	.ace-chart.is-drawing .ace-mark{
		transition:transform .52s cubic-bezier(.22,.7,.3,1),opacity .34s ease,stroke-dashoffset .9s cubic-bezier(.3,.7,.35,1);
		transition-delay:calc(var(--ace-mark-i,0) * var(--ace-mark-step,42ms));
	}
}
/* Asked for less motion: the finished chart, with nothing skipped. */
@media (prefers-reduced-motion:reduce){
	.ace-chart.is-drawing .ace-mark{transform:none!important;opacity:1!important;stroke-dashoffset:0!important}
}


/* ace-section-sources */
.ace-source-panel{margin:clamp(2rem,5vw,3.5rem) 0 0;padding:clamp(1rem,2.5vw,1.4rem);border:1px solid var(--ace-line,rgba(255,255,255,.13));border-radius:14px;background:var(--ace-surface,#1b211f);color:var(--ace-text,#f7f3ea)}
.ace-source-panel__head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.ace-source-panel__head h2{margin:0;font-size:clamp(1.25rem,2.8vw,1.8rem)}
.ace-source-panel__head>p,.ace-source-panel__credit{color:var(--ace-muted,#b9b0a0);font-size:.8rem}
.ace-source-panel__eyebrow{margin:0 0 .35rem;color:var(--ace-orange-2,#efb665);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ace-source-panel__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:0}
.ace-source-panel__metrics div{padding:.8rem;border-radius:9px;background:var(--ace-surface-2,#222a27)}
.ace-source-panel__metrics dt{color:var(--ace-muted,#b9b0a0);font-size:.75rem}
.ace-source-panel__metrics dd{margin:.25rem 0 0;font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:800}
.ace-source-panel__dates,.ace-source-panel__alerts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0;padding:0;list-style:none}
.ace-source-panel__dates li{display:flex;align-items:center;gap:.8rem;padding:.75rem;border-radius:9px;background:var(--ace-surface-2,#222a27)}
.ace-source-panel__dates time{display:grid;min-width:3.5rem;text-align:center}.ace-source-panel__dates time strong{font-size:1.35rem}.ace-source-panel__dates time span,.ace-source-panel__dates small{display:block;color:var(--ace-muted,#b9b0a0);font-size:.72rem}
.ace-source-panel__dates--events a{color:inherit}.ace-source-panel__dates--events small+small{margin-top:.3rem}.ace-source-panel__dates--events small a{color:var(--ace-orange-2,#efb665)}
.ace-source-panel__intro{max-width:70ch;color:var(--ace-muted,#b9b0a0);line-height:1.55}.ace-source-panel>h3{margin:1.25rem 0 .65rem;font-size:1rem}.ace-source-panel--police a{color:inherit}.ace-source-panel__dates--police li{align-items:flex-start}.ace-source-panel__dates--police li>span>strong,.ace-source-panel__dates--police li>span>small{display:block}.ace-source-panel__dates--police li>span>small+small{margin-top:.3rem}
.ace-source-panel__alerts li{padding:.85rem;border-left:3px solid var(--ace-orange,#ff7a18);background:var(--ace-surface-2,#222a27)}
.ace-source-panel__alerts li>span{display:block;margin:.25rem 0}.ace-source-panel__alerts p{margin:.4rem 0 0;color:var(--ace-muted,#b9b0a0)}
.ace-source-panel__clear{padding:.9rem;border-radius:9px;background:color-mix(in srgb,#36b37e 12%,var(--ace-surface-2,#222a27));line-height:1.5}
.ace-source-panel__credit{margin:1rem 0 0;line-height:1.5}
@media(max-width:720px){.ace-source-panel__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ace-source-panel__dates,.ace-source-panel__alerts{grid-template-columns:1fr}.ace-source-panel__head{align-items:start;flex-direction:column}}
.ace-source-panel--prices .ace-source-panel__metrics dd small{display:block;font-size:.78rem;font-weight:400;color:var(--ace-muted,#b9b0a0)}
.ace-ppd__ranks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;margin:1rem 0}
.ace-ppd__rank h3{margin:0 0 .5rem;font-size:1rem}
.ace-ppd__rank ol{margin:0;padding-left:1.2rem}
.ace-ppd__rank li{margin:0 0 .35rem;line-height:1.4}
.ace-ppd__rank li>span{font-weight:600;margin-left:.3rem}
.ace-ppd__rank li small{color:var(--ace-muted,#b9b0a0);margin-left:.3rem}
.ace-source-panel--prices h3{margin:1rem 0 .5rem;font-size:1rem}
.ace-ppd__recent{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.4rem}
.ace-ppd__recent li{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;padding:.45rem .7rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:10px;background:var(--ace-surface,#1b211f)}
.ace-ppd__date{color:var(--ace-muted,#b9b0a0);min-width:5.5ch}
.ace-ppd__recent li>span:nth-of-type(2){color:var(--ace-muted,#b9b0a0);font-size:.9rem}
.ace-ppd__price{margin-left:auto;font-weight:600}
.ace-nbhd-prices{margin:0 0 1.5rem}
.ace-source-panel--census h3{margin:1rem 0 .4rem;font-size:1rem}
.ace-source-panel__metrics--shares{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.ace-source-panel__metrics--shares dd small{display:block;font-size:.76rem;font-weight:400;color:var(--ace-muted,#b9b0a0)}
.ace-census__rank{margin:0 0 1rem;padding-left:1.2rem}
.ace-census__rank li{margin:0 0 .35rem;line-height:1.4}
.ace-census__rank li>span{font-weight:600;margin-left:.3rem}
.ace-census__rank li small{color:var(--ace-muted,#b9b0a0);margin-left:.3rem}
.ace-nbhd-census{margin:0 0 1.5rem}
.ace-food-alerts{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.5rem}
.ace-food-alerts__item{padding:.55rem .8rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-left-width:4px;border-radius:10px;background:var(--ace-surface,#1b211f)}
.ace-food-alerts__item--aa{border-left-color:#f59e0b}.ace-food-alerts__item--prin{border-left-color:#ef4444}.ace-food-alerts__item--fafa{border-left-color:#3b82f6}
.ace-food-alerts__item a{color:inherit;font-weight:600;text-decoration:none}.ace-food-alerts__item a:hover{text-decoration:underline}
.ace-food-alerts__meta{display:block;margin-top:.2rem;font-size:.85rem;color:var(--ace-muted,#b9b0a0)}
.ace-source-panel--money h3{margin:1rem 0 .4rem;font-size:1rem}
.ace-money__list{list-style:none;margin:0 0 .8rem;padding:0;display:grid;gap:.45rem}
.ace-money__list li{padding:.5rem .75rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:10px;background:var(--ace-surface,#1b211f)}
.ace-money__list a{color:inherit;font-weight:600;text-decoration:none}.ace-money__list a:hover{text-decoration:underline}
.ace-money__amount{float:right;font-weight:600;margin-left:.6rem}
.ace-money__meta,.ace-money__desc{display:block;margin-top:.2rem;font-size:.85rem;color:var(--ace-muted,#b9b0a0)}


/* ace-section-blocks */
/* Grouped open-data blocks on section and area pages. Tokens come from the theme shell
   (--ace-* map to --shell-* in both themes); the fallbacks are the dark palette. */
.ace-blocks{--ab-line:var(--ace-line,rgba(255,255,255,.12));--ab-surface:var(--ace-surface,#1b211f);--ab-surface-2:var(--ace-surface-2,#222a27);--ab-muted:var(--ace-muted,#b9b0a0);--ab-accent:var(--ace-orange-2,#efb665);--ab-gap:clamp(.9rem,1.8vw,1.25rem);color:var(--ace-ink,#f5f2ea);margin:clamp(2rem,4vw,3rem) 0 0;min-width:0;max-width:100%}
.ace-blocks *,.ace-blocks *::before,.ace-blocks *::after{box-sizing:border-box}

/* Contents: a compact chip bar at the top of the blocks on small screens (and for
   no-JavaScript readers); wide screens carry the same list in the left rail. */
@media(min-width:761px){.ace-blocks__contents--bar{display:none}}
.ace-blocks__contents{margin:0 0 var(--ab-gap);padding:.8rem 1rem;border:1px solid var(--ab-line);border-radius:12px;background:var(--ab-surface)}
.ace-blocks__contents-title{margin:0 0 .45rem;color:var(--ab-accent);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ace-blocks__contents ol{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}
.ace-blocks__contents a{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--ab-line);border-radius:999px;background:var(--ab-surface-2);color:inherit;font-size:.86rem;line-height:1.2;text-decoration:none}
.ace-blocks__contents a:hover,.ace-blocks__contents a.is-current{border-color:var(--ab-accent)}
.ace-blocks__contents a.is-current{background:color-mix(in srgb,var(--ab-accent) 12%,var(--ab-surface-2))}
.ace-blocks__contents a:focus-visible,.ace-blocks__group summary:focus-visible,.ace-blocks a:focus-visible{outline:2px solid var(--ab-accent);outline-offset:2px}
.ace-blocks__count{display:inline-block;min-width:1.5em;padding:.05rem .45rem;border-radius:999px;background:var(--ab-accent);color:#1b1610;font-size:.72rem;font-weight:700;line-height:1.5;text-align:center;vertical-align:middle}
/* The same contents as the rail's nav part, beside the section's filters. */
.ace-blocks__nav .ace-blocks__navlist,.ace-chy__filters--list .ace-chy__shoplist{margin:0;padding:0;list-style:none;display:grid;gap:1px}
.ace-blocks__nav .ace-blocks__navlist li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0;padding:0;border:0;background:none}
.ace-blocks__nav .ace-blocks__navlist a{flex:1;min-width:0;display:block;padding:.45rem .55rem;border-radius:7px;color:inherit;font-size:.86rem;line-height:1.3;text-decoration:none;overflow-wrap:anywhere}
.ace-blocks__nav .ace-blocks__navlist li.is-block a,#ace-shell-filter .ace-chy__shoplist li.is-block a{padding-left:.5rem;font-size:.82rem;color:var(--ace-muted,#b9b0a0)}
/* Depth in the rail: a hairline runs down the items inside a group and a short tick joins each
   one to it, so the nesting reads at a glance without indenting the labels off the edge. */
.ace-blocks__nav .ace-blocks__navlist li.is-block,#ace-shell-filter .ace-chy__shoplist li.is-block{position:relative;padding-left:.95rem}
.ace-blocks__nav .ace-blocks__navlist li.is-block::before,#ace-shell-filter .ace-chy__shoplist li.is-block::before{content:"";position:absolute;left:.42rem;top:0;bottom:0;width:1px;background:var(--ace-line,rgba(255,255,255,.14))}
.ace-blocks__nav .ace-blocks__navlist li.is-block::after,#ace-shell-filter .ace-chy__shoplist li.is-block::after{content:"";position:absolute;left:.42rem;top:50%;width:.32rem;height:1px;background:var(--ace-line,rgba(255,255,255,.14))}
/* Close the line off at the end of a run so it does not trail past the last item. */
.ace-blocks__nav .ace-blocks__navlist li.is-block:last-child::before,#ace-shell-filter .ace-chy__shoplist li.is-block:last-child::before{bottom:50%}
.ace-blocks__nav .ace-blocks__navlist li.is-block:not(:has(+ li.is-block))::before,#ace-shell-filter .ace-chy__shoplist li.is-block:not(:has(+ li.is-block))::before{bottom:50%}
.ace-blocks__nav .ace-blocks__navlist li.is-block.is-current::before,.ace-blocks__nav .ace-blocks__navlist li.is-block,#ace-shell-filter .ace-chy__shoplist li.is-block.is-current::after,#ace-shell-filter .ace-chy__shoplist li.is-block.is-current::before,.ace-blocks__nav .ace-blocks__navlist li.is-block,#ace-shell-filter .ace-chy__shoplist li.is-block.is-current::after{background:var(--ab-accent)}
.ace-blocks__nav .ace-blocks__navlist li.is-group a,.ace-blocks__nav .ace-blocks__navlist li.is-section a,.ace-blocks__nav .ace-blocks__navlist li.is-title a{font-weight:700}
.ace-blocks__nav .ace-blocks__navlist li.is-group{margin-top:.35rem}
.ace-blocks__nav .ace-blocks__navlist li.is-group:first-child{margin-top:0}
.ace-blocks__nav .ace-blocks__navlist li>span{flex:0 0 auto;min-width:1.5em;padding:.05rem .45rem;border:1px solid var(--ace-line,rgba(255,255,255,.14));border-radius:999px;color:var(--ace-ink,#b9b0a0);font-size:.72rem;line-height:1.5;text-align:center}
.ace-blocks__nav .ace-blocks__navlist a:hover,.ace-chy__filters--list .ace-chy__shoplist a[href^="#"]:hover{background:color-mix(in srgb,var(--ace-orange-2,#efb665) 10%,transparent)}
.ace-blocks__nav .ace-blocks__navlist a.is-current,.ace-chy__filters--list .ace-chy__shoplist a[href^="#"].is-current{color:var(--ace-orange-2,#efb665);background:color-mix(in srgb,var(--ace-orange-2,#efb665) 12%,transparent)}
.ace-blocks__nav .ace-blocks__navlist li.is-block a.is-current,#ace-shell-filter .ace-chy__shoplist li.is-block a.is-current{color:var(--ace-orange-2,#efb665)}
.ace-blocks__navfind{display:block;margin:0 0 .5rem}
.ace-blocks__navfind input{width:100%;min-width:0;padding:.5rem .6rem;border:1px solid var(--ace-line,rgba(255,255,255,.14));border-radius:8px;background:var(--ace-bg,transparent);color:inherit;font-size:.86rem}
.ace-blocks__navempty{margin:.4rem .55rem 0;color:var(--ace-muted,#b9b0a0);font-size:.82rem}
/* A section without filters: the rail is the contents list itself, searchable. */
.ace-chy__filters--list .ace-chy__shoplist li:has(>a[href^="#"]){display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.ace-chy__filters--list .ace-chy__shoplist a[href^="#"]{flex:1;min-width:0;display:block;padding:.45rem .55rem;border-radius:7px;color:inherit;font-size:.86rem;line-height:1.3;text-decoration:none;overflow-wrap:anywhere}
.ace-chy__filters--list .ace-chy__shoplist a[href^="#"]{font-weight:400}
.ace-chy__filters--list .ace-chy__shoplist a[href^="#ace-group-"]{font-weight:700}
.ace-chy__filters--list .ace-chy__shoplist a[href^="#"]:hover{color:inherit}
.ace-chy__filters--list .ace-chy__shoplist li:has(>a[href^="#ace-group-"]){margin-top:.35rem}
.ace-chy__filters--list .ace-chy__shoplist li:has(>a[href^="#"])>span{flex:0 0 auto;padding:.05rem .45rem;border:1px solid var(--ace-line,rgba(255,255,255,.14));border-radius:999px;color:var(--ace-muted,#b9b0a0);font-size:.72rem;line-height:1.5}

/* Groups arrive closed; wide screens paint them open before the script runs. */
@media(min-width:761px){
  .ace-blocks:not(.is-js) .ace-blocks__group:not([open])::details-content{content-visibility:visible;display:block}
  .ace-blocks:not(.is-js) .ace-blocks__group:not([open]) summary::before{transform:translateY(-.11rem) rotate(45deg)}
}
.ace-blocks__group{margin:0 0 var(--ab-gap);border:0;border-top:1px solid var(--ab-line);padding:1.1rem 0 0;scroll-margin-top:calc(var(--ace-header-h,64px) + 1rem)}
.ace-blocks__group summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:.55rem}
.ace-blocks__group summary::-webkit-details-marker{display:none}
.ace-blocks__group summary::before{content:"";flex:0 0 auto;width:.5rem;height:.5rem;margin:.55rem .2rem 0 0;border-right:2px solid var(--ab-accent);border-bottom:2px solid var(--ab-accent);transform:translateY(-.11rem) rotate(45deg);transform-origin:50% 50%;transition:transform .15s ease}
.ace-blocks__group:not([open]) summary::before{transform:translateX(-.11rem) rotate(-45deg)}
.ace-blocks__title{margin:0;font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:800;letter-spacing:.01em;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.ace-blocks__title .ace-blocks__count{background:transparent;border:1px solid var(--ab-line);color:var(--ace-ink,#f5f2ea);opacity:.82;font-weight:600;padding:.1rem .55rem}
.ace-blocks__body{display:grid;gap:var(--ab-gap);margin-top:var(--ab-gap)}

/* Every block becomes the same card, whatever its own inline styles say. */
.ace-blocks .ace-blocks__item{min-width:0;max-width:100%}
.ace-blocks .ace-blocks__item>section,.ace-blocks .ace-blocks__item>div:not(.ace-blocks__scroll)>section{margin:0;padding:clamp(1rem,2.2vw,1.35rem);border:1px solid var(--ab-line);border-radius:14px;background:var(--ab-surface);color:inherit}
/* Neighbourhood blocks are a heading div followed by siblings: card them together. */
.ace-blocks .ace-blocks__item>.ace-csection__heading:first-child{margin:0 0 .75rem;padding:0;border:0}
.ace-blocks .ace-blocks__item:not(:has(>section)){padding:clamp(1rem,2.2vw,1.35rem);border:1px solid var(--ab-line);border-radius:14px;background:var(--ab-surface)}
.ace-blocks .ace-blocks__item>section .ace-source-panel,.ace-blocks .ace-blocks__item>div>section .ace-source-panel{margin:0;padding:0;border:0;background:transparent}
.ace-blocks .ace-blocks__item>section.ace-source-panel,.ace-blocks .ace-blocks__item>div>section.ace-source-panel{margin:0;padding:clamp(1rem,2.2vw,1.35rem);border:1px solid var(--ab-line);border-radius:14px;background:var(--ab-surface);color:inherit}
/* Blocks inherit the page's ink in both themes; a few carry the dark palette inline. */
.ace-blocks .ace-blocks__item dd,.ace-blocks .ace-blocks__item strong,.ace-blocks .ace-blocks__item [class*="__value"],.ace-blocks .ace-blocks__item [class*="__num"],.ace-blocks .ace-blocks__item [class*="__big"]{color:inherit}
.ace-blocks .ace-blocks__item>style:first-child+section{margin:0}
.ace-blocks .ace-blocks__item>section>section{margin:0}
.ace-blocks .ace-blocks__item .ace-csection__heading{margin:0 0 .75rem;padding:0;border-top:0}
.ace-blocks .ace-blocks__item .ace-csection__heading h2,.ace-blocks .ace-blocks__item>section>h2,.ace-blocks .ace-blocks__item .ace-source-panel__head h2,.ace-blocks .ace-blocks__item h2{margin:0 0 .55rem;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.25;text-wrap:balance}
.ace-blocks .ace-blocks__item h3{margin:1rem 0 .4rem;font-size:1rem;line-height:1.3}
.ace-blocks .ace-blocks__item .ace-source-panel__head{margin-bottom:.75rem}
.ace-blocks .ace-blocks__item .ace-source-panel__eyebrow,.ace-blocks .ace-blocks__item .ace-life__eyebrow{margin:0 0 .3rem;color:var(--ab-accent);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ace-blocks .ace-blocks__item p{margin:.35rem 0 0;line-height:1.55}
.ace-blocks .ace-blocks__item ul,.ace-blocks .ace-blocks__item ol{margin:.5rem 0 0}
.ace-blocks .ace-blocks__item img{max-width:100%;height:auto}
.ace-blocks .ace-blocks__item a{color:var(--ab-accent);text-underline-offset:.15em}
.ace-blocks .ace-blocks__item h2 a,.ace-blocks .ace-blocks__item h3 a{color:inherit;text-decoration:none}
.ace-blocks .ace-blocks__item h2 a:hover,.ace-blocks .ace-blocks__item h3 a:hover{text-decoration:underline}
@media(hover:none){}

/* One muted credit style for every source line. */
.ace-blocks .ace-blocks__item [class*="__credit"],.ace-blocks .ace-blocks__item .ace-source-panel__credit,.ace-blocks .ace-blocks__item>section>p.ace-csection-card__meta:last-child,.ace-blocks .ace-blocks__item>section>p[class*="__meta"]:last-child,.ace-blocks .ace-blocks__item>p.ace-csection-card__meta:last-child,.ace-blocks .ace-blocks__item>section>p:last-child:not([class]){margin-top:1rem;padding-top:.7rem;border-top:1px dashed var(--ab-line);color:var(--ab-muted);font-size:.8rem;line-height:1.5;opacity:1}
.ace-blocks .ace-blocks__item [class*="__credit"] a,.ace-blocks .ace-blocks__item .ace-source-panel__credit a,.ace-blocks .ace-blocks__item>section>p.ace-csection-card__meta:last-child a{color:inherit;text-decoration:underline}

/* Tables and charts fill their block; wide ones scroll inside it. */
.ace-blocks__scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.6rem 0 0}
.ace-blocks .ace-blocks__item table{width:100%;min-width:0;border-collapse:collapse;font-size:.9rem}
.ace-blocks .ace-blocks__item th,.ace-blocks .ace-blocks__item td{padding:.45rem .6rem;border-bottom:1px solid var(--ab-line);text-align:left;vertical-align:top}
.ace-blocks .ace-blocks__item th{color:var(--ab-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ace-blocks .ace-blocks__item td[align=right],.ace-blocks .ace-blocks__item th[align=right]{text-align:right}
.ace-blocks__charts{display:grid;gap:var(--ab-gap);min-width:0}
.ace-blocks .ace-chart,.ace-blocks .ace-section-charts .ace-chart{max-width:100%;margin:0;padding:clamp(1rem,2.2vw,1.35rem);border:1px solid var(--ab-line);border-radius:14px;background:var(--ab-surface)}
.ace-blocks .ace-chart__scroll{max-width:100%;overflow-x:auto}
.ace-blocks .ace-chart__svg{display:block;width:100%;height:auto;max-width:100%}
.ace-blocks .ace-blocks__item .ace-chart{border:0;padding:0;background:transparent}
.ace-blocks pre,.ace-blocks code{max-width:100%;overflow-x:auto;overflow-wrap:anywhere}
.ace-blocks .ace-blocks__item [class*="__grid"],.ace-blocks .ace-blocks__item [class*="__cards"]{min-width:0}

/* Deferred charts and tables: a quiet placeholder that keeps its height. */
.ace-blocks__lazy{display:grid;place-items:center;min-height:9rem;padding:1.2rem;border:1px dashed var(--ab-line);border-radius:14px;color:var(--ab-muted);text-align:center;background:color-mix(in srgb,var(--ab-surface) 60%,transparent)}
.ace-blocks__lazy p{margin:0}
.ace-blocks__lazy a{color:var(--ab-accent)}
/* This is a control people click, so it takes readable ink rather than the muted
   token, which sits just under AA on the light ground. */
.ace-blocks.is-js .ace-blocks__lazy:not(.is-failed) a{color:var(--ace-ink,#f5f2ea);opacity:.92;text-decoration:none;pointer-events:auto}
.ace-blocks__lazy[aria-busy=true]{background-image:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--ab-accent) 12%,transparent) 50%,transparent 100%);background-size:200% 100%;animation:ace-blocks-shimmer 1.2s linear infinite}
.ace-blocks__lazy.is-failed a::after{content:" (try again)"}
@keyframes ace-blocks-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.ace-blocks__lazy[aria-busy=true]{animation:none}}
.ace-blocks__more{margin:.8rem 0 0!important;padding-top:.6rem;border-top:1px solid var(--ab-line)}
.ace-blocks__more a{font-weight:700}
.ace-blocks__item.is-truncated>section{position:relative}

/* Small screens: groups fold to their summary, nothing may overflow sideways. */
@media(max-width:760px){
  .ace-blocks{--ab-gap:.85rem}
  .ace-blocks__group{padding-top:.85rem}
  .ace-blocks__group summary{padding:.2rem 0;min-height:44px}
  .ace-blocks .ace-blocks__item>section,.ace-blocks .ace-blocks__item:not(:has(>section)),.ace-blocks .ace-chart{padding:.9rem;border-radius:12px}
  .ace-blocks .ace-blocks__item [class*="__grid"],.ace-blocks .ace-blocks__item [class*="__occ"]{columns:1!important;grid-template-columns:1fr!important}
  .ace-blocks .ace-blocks__item [class*="__cards"]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important}
  .ace-blocks .ace-source-panel__metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ace-blocks .ace-blocks__item table{font-size:.84rem}
  .ace-blocks__contents{padding:.7rem .8rem}
  .ace-blocks__contents ol{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:thin}
  .ace-blocks__contents a{white-space:nowrap}
}

/* The accent reads well on the dark ground but not on cream, so the light theme gets a deeper tone.
   Status colours are not handled here any more: connectors mark status with the shared .ace-stat
   classes in ace-data-blocks.css, which carry their own light palette. */
[data-ace-theme=light] .ace-blocks .ace-csection-card__kind:not(.ace-stat),[data-ace-theme=light] .ace-blocks .ace-blocks__contents-title{color:#6b3c19}

/* Landing on an anchor: a brief ring so the reader sees where they arrived, then it fades. */
.ace-blocks .is-anchor-flash{border-radius:12px;box-shadow:0 0 0 2px var(--ab-accent);transition:box-shadow .5s ease .9s}
@media (prefers-reduced-motion: reduce){.ace-blocks .is-anchor-flash{transition:none}}

/* The heading is the link. The copy control sits beside it and only shows on hover or focus,
   so a heading reads as a heading until the reader wants the link to it. */
.ace-blocks h2:has(.ace-blocks__anchor){display:flex;align-items:baseline;gap:.4rem}
.ace-blocks .ace-blocks__anchor{color:inherit;text-decoration:none}
.ace-blocks .ace-blocks__anchor:hover,.ace-blocks .ace-blocks__anchor:focus-visible{text-decoration:underline;text-underline-offset:.18em}
.ace-blocks .ace-blocks__copy{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border:0;border-radius:8px;background:none;color:var(--ab-muted);cursor:pointer;opacity:0;transform:translateY(1px)}
.ace-blocks h2:hover .ace-blocks__copy,.ace-blocks .ace-blocks__copy:focus-visible,.ace-blocks .ace-blocks__copy.is-done{opacity:1}
.ace-blocks .ace-blocks__copy:hover{color:var(--ab-accent);background:var(--ab-surface-2)}
.ace-blocks .ace-blocks__copy.is-done{color:var(--ab-accent)}
@media (prefers-reduced-motion: no-preference){.ace-blocks .ace-blocks__copy{transition:opacity .16s ease,color .16s ease,background .16s ease}}
@media (hover: none){.ace-blocks .ace-blocks__copy{opacity:.55}}

/* Folding the rail's contents group. The filter groups get this from the rail styles;
   the contents list is placed outside them, so it needs the same look here. Any group
   the component leaves without a button folds from its heading instead. */
#ace-shell-filter .ace-blocks__nav .alm__fold,#ace-shell-filter .alm__group>h3.is-foldhead{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:24px;margin:0 0 .55rem;padding:0;border:0;border-radius:6px;background:none;color:inherit;font:inherit;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-align:left;cursor:pointer;transition:color .12s ease}
#ace-shell-filter .ace-blocks__nav .alm__fold:hover,#ace-shell-filter .alm__group>h3.is-foldhead:hover{color:var(--rail-accent,var(--ab-accent))}
#ace-shell-filter .alm__group.is-folded>.alm__fold,#ace-shell-filter .alm__group.is-folded>h3.is-foldhead,#ace-shell-filter .alm__group.is-folded>h3>.alm__fold{margin-bottom:0}
#ace-shell-filter .ace-blocks__nav .alm__fold::after,#ace-shell-filter .alm__group>h3.is-foldhead::after{content:"";flex:none;width:.42rem;height:.42rem;margin-right:.1rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .22s ease,opacity .12s linear;opacity:.7}
#ace-shell-filter .ace-blocks__nav .alm__fold:hover::after,#ace-shell-filter .alm__group>h3.is-foldhead:hover::after{opacity:1}
#ace-shell-filter .is-folded .alm__fold::after,#ace-shell-filter .alm__group.is-folded>h3.is-foldhead::after{transform:translateY(1px) rotate(-45deg)}
#ace-shell-filter .ace-blocks__nav h3{margin:0}
#ace-shell-filter .ace-blocks__nav .alm__foldwrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .24s ease}
#ace-shell-filter .ace-blocks__nav.is-folded .alm__foldwrap{grid-template-rows:0fr}
#ace-shell-filter .ace-blocks__nav .alm__body{min-height:0;overflow:hidden;opacity:1;transition:opacity .18s ease}
#ace-shell-filter .ace-blocks__nav.is-folded .alm__body{opacity:0;transition-duration:.12s}
/* A group folded from its heading has no animating wrapper, so its body simply goes. */
#ace-shell-filter .alm__group.is-folded>h3.is-foldhead~*{display:none}

/* A section's sub-routes sit above its search, because they change what the
   search is searching rather than narrowing what is already there. */
#ace-shell-filter .ace-chy__viewtabs--routes{margin:0 0 .75rem}

/* Find on this page. The match is marked where it sits, the one you are on is
   the loud one, and the rail lists them with enough sentence to choose by. */
/* The accent is a light orange in the dark theme and a dark brown in the light one,
   so the ink on top of it has to flip as well. A fixed dark ink read at 2.99:1 on
   the light theme, which is a highlight you cannot read. */
mark.ace-find{background:color-mix(in srgb,var(--ab-accent) 28%,transparent);color:inherit;border-radius:3px;padding:0 .08em;box-decoration-break:clone}
mark.ace-find.is-current{background:var(--ab-accent);color:var(--ab-accent-ink,#1b1610);box-shadow:0 0 0 2px color-mix(in srgb,var(--ab-accent) 45%,transparent)}
@media(prefers-reduced-motion:no-preference){mark.ace-find.is-current{transition:background .18s ease}}
#ace-shell-filter .ace-blocks__findnav{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin:0 0 .5rem}
#ace-shell-filter .ace-blocks__findat{font-size:.74rem;font-variant-numeric:tabular-nums;color:var(--ace-muted,#b9b0a0)}
#ace-shell-filter .ace-blocks__findlist{margin:0;padding:0;list-style:none;display:grid;gap:.2rem}
#ace-shell-filter .ace-blocks__findrow{display:block;width:100%;text-align:left;padding:.45rem .55rem;border:0;border-radius:7px;background:none;color:inherit;font:inherit;cursor:pointer}
#ace-shell-filter .ace-blocks__findrow:hover{background:color-mix(in srgb,var(--ab-accent) 10%,transparent)}
#ace-shell-filter .ace-blocks__findrow.is-current{background:color-mix(in srgb,var(--ab-accent) 18%,transparent)}
#ace-shell-filter .ace-blocks__findtext{display:block;font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}
#ace-shell-filter .ace-blocks__findwhere{display:block;margin-top:.12rem;font-size:.7rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ace-muted,#b9b0a0)}

/* Ink that sits on the accent. Dark by default, because the accent is light in the
   dark theme, and white where the accent itself is dark. */
.ace-blocks,#ace-shell-filter{--ab-accent-ink:#1b1610}
[data-ace-theme=light] .ace-blocks,[data-ace-theme=light] #ace-shell-filter,
body[data-ace-theme=light] .ace-blocks,body[data-ace-theme=light] #ace-shell-filter{--ab-accent-ink:#ffffff}

/* Anything that can be arrived at by anchor keeps clear of the sticky ticker.
   The offset is published by the script from the strip's real height, because the
   strip is not on every route and collapses to a sliver as you scroll; the fallback
   is its resting height plus the same padding. */
:where(.ace-shell__main) :is(h1,h2,h3,h4,[id]):target,
.ace-blocks__group,.ace-blocks__item,
.ace-chy__head,.ace-csection,
[data-ace-anchor]{
	scroll-margin-top:var(--ace-anchor-offset,70px);
}

/* The contents, for a rail that is shut.
   Forty pixels of width has no room for a heading, but it has room to say how many
   sections a page has, which one you are in, and roughly how far through you are.
   Drawn as an outline: a section is a notch with weight of its own, and everything
   under it hangs off its stem on an L. Where a heading opens with a year - which is
   what a timeline is made of - that year is shown, because four digits is the most
   useful thing that fits. It all sits under the search, where the contents sit when
   the rail is open. */
.ace-blocks__ticks{display:none}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-blocks__ticks{
	/* The rows take the whole width of the closed rail: half a column of marks reads
	   as something unfinished, and a wider row is a bigger thing to aim at. And the
	   list scrolls inside the rail, because a long page has more contents than a
	   column has height and the rest of them were simply unreachable. */
	display:flex;flex-direction:column;align-items:stretch;gap:7px;
	padding:16px 12px 14px 12px;
	flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
	scrollbar-width:thin;scrollbar-color:var(--ab-line,rgba(255,255,255,.22)) transparent;
}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-blocks__ticks::-webkit-scrollbar{width:6px}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-blocks__ticks::-webkit-scrollbar-thumb{
	background:var(--ab-line,rgba(255,255,255,.22));border-radius:3px;
}
/* The rail itself becomes the column the list scrolls inside. */
/* Only a rail with something in it. Every content route prints this aside empty
   and the theme hides it; forcing it to display on those routes put an empty
   column where the page should be and pushed the page itself into the account
   rail's column, for anyone who had ever collapsed the filter rail. */
.ace-shell[data-filter-closed="true"] #ace-shell-filter:not(:empty){
	/* Visible, not hidden: the closed rail's search row is wider than the rail on
	   purpose and leans out across the context strip, and hiding the overflow here
	   cut it off at the rail's own edge. The scrolling belongs to the list of marks,
	   which asks for it itself. */
	display:flex;flex-direction:column;min-height:0;overflow:visible;
}
.ace-blocks__tick{
	position:relative;display:flex;align-items:center;gap:5px;
	text-decoration:none;
	border-radius:2px;
	background:var(--ab-line,rgba(255,255,255,.24));
	transition:width .16s ease,height .16s ease,background .16s ease,opacity .16s ease,color .16s ease;
}
/* A plain mark still reads as a mark: the row is full width so it can be aimed at,
   and the bar inside it is drawn to the length that says what level this is. */
.ace-blocks__tick.is-section{min-height:8px;background:none}
.ace-blocks__tick.is-section::marker{content:none}
.ace-blocks__tick.is-section .ace-blocks__bar{flex:1 1 auto;width:auto;height:1px;border-radius:0}
/* A child sits in from the left on its bracket and stops short of the right, which
   is what says it is a child. It still runs most of the column: a twelve pixel dash
   in an eighty pixel rail reads as a rail half built rather than as a hierarchy. */
.ace-blocks__tick.is-block{min-height:6px;margin-left:8px;background:none;opacity:.8}
.ace-blocks__tick.is-block .ace-blocks__bar{flex:1 1 auto;width:auto;height:1px;border-radius:0}
/* The rule has to be seen to be doing the job of showing the width, so it is drawn
   from the ink colour rather than from the faintest line colour on the page. */
/* One weight of line for everything: the hierarchy is said by where a line starts
   and by the bracket it hangs off, not by how fat it is. */
.ace-blocks__bar{display:block;background:var(--ab-line,rgba(255,255,255,.22))}
.ace-blocks__tick.is-section .ace-blocks__bar{background:color-mix(in srgb,var(--ab-ink,#e8e4da) 30%,transparent)}
.ace-blocks__tick.is-current .ace-blocks__bar{background:var(--ab-accent,#f0b65e)}
.ace-blocks__tick.is-current .ace-blocks__bar{height:2px}

/* An icon stands in for anything that is not a date.
   The shell forces its own family onto every span inside it, which turns an icon
   into a blank box, so these have to ask for the icon font by name - exactly as the
   shell's own navigation icons already do. */
.ace-blocks__markicon.fa-solid,.ace-chy__viewicon.fa-solid{
	/* The shell ships its own subset of the icon font under its own name, and Font
	   Awesome's stylesheet is deferred on these pages, so asking for "Font Awesome 6
	   Free" gets a blank box. This is the family the shell's own navigation uses. */
	font-family:'Ace Workspace Icons','Font Awesome 6 Free'!important;
	font-weight:900!important;font-style:normal;
}

.ace-blocks__markicon{font-size:12px;line-height:1;color:var(--ab-muted,#9aa4a2)}
.ace-blocks__tick.is-section .ace-blocks__markicon{font-size:14px;color:var(--ab-ink,#e8e4da)}
.ace-blocks__tick.is-current .ace-blocks__markicon{color:var(--ab-accent,#f0b65e)}
.ace-blocks__tick.has-icon{background:none;height:auto;width:auto;min-height:12px}

/* A year rides beside its notch rather than inside it, so the notch keeps its shape
   and the digits stay legible at nine pixels. */
.ace-blocks__tick.has-stamp{background:none;height:auto;width:auto;min-height:12px}
.ace-blocks__tick.has-stamp::before,.ace-blocks__tick.has-stamp::after{opacity:.55}
/* The digits take the width they are given. A rail this narrow has room for four
   numerals at a readable size, and a year set at nine pixels in the corner of an
   eighty pixel column is a waste of the column. */
/* The year leads the row and the rule runs out behind it to the edge of the rail:
   with the rule first, the digits were pushed into the last thirty pixels of the
   column and the whole list read as a narrow strip of numbers. */
/* A dated row is the year, then its rule running out to the edge of the rail.
   The right of the column was empty while the years sat on their own in the left
   third, and an index reads far better as a set of lines of differing weight than
   as a list of numbers against a void. */
.ace-blocks__tick.has-stamp,.ace-blocks__tick.has-icon{align-items:center;gap:7px}
/* The rule is the left of the row and the year or the icon is the right of it, and
   what the rule is worth is its length: an era runs the width it is given, a single
   entry runs a shorter one, so the hierarchy can be read down the lines alone
   without reading a single digit. */
.ace-blocks__tick.has-stamp .ace-blocks__stamp,
.ace-blocks__tick.has-icon .ace-blocks__markicon{margin-left:auto;text-align:right}
/* Every date ends on the same edge, whatever level it is: a child indents on the
   left, where its bracket is, and never on the right. */
.ace-blocks__tick.is-block{margin-right:0}
/* The rule is written after the year in the markup, where a screen reader wants it;
   on screen it belongs first. */
.ace-blocks__bar{order:-1}
.ace-blocks__stamp{
	flex:0 0 auto;
	font:600 13px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
	/* No trailing letter-space: it is added after the last numeral as well, and at two
	   different sizes that put the eras and their entries on two different right
	   edges. Tabular figures so the columns of digits line up as well. */
	letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--ab-muted,#9aa4a2);
	white-space:nowrap;
}
.ace-blocks__tick.is-section.has-stamp .ace-blocks__stamp{
	font-size:15px;font-weight:700;color:var(--ab-ink,#e8e4da);
}
.ace-blocks__tick.has-stamp.is-current .ace-blocks__stamp{color:var(--ab-accent,#f0b65e)}

/* The bracket is drawn rather than typed, so it lines up whatever the row height
   works out to be, and the run carries down the left so consecutive children read as
   one group rather than a column of separate corners. */
.ace-blocks__tick.is-block::before{
	content:"";position:absolute;right:100%;top:-7px;bottom:0;width:7px;
	border-left:2px solid var(--ab-line,rgba(255,255,255,.18));
	border-bottom:2px solid var(--ab-line,rgba(255,255,255,.18));
	border-bottom-left-radius:4px;
}
.ace-blocks__tick.is-block:not(:last-child)::after{
	content:"";position:absolute;right:100%;top:0;height:calc(100% + 9px);width:2px;
	margin-right:5px;background:var(--ab-line,rgba(255,255,255,.18));
}
.ace-blocks__tick.is-block + .ace-blocks__tick.is-section{margin-top:12px}

.ace-blocks__tick{background:none}
.ace-blocks__tick:hover .ace-blocks__bar,.ace-blocks__tick:focus-visible .ace-blocks__bar{background:var(--ab-accent,#f0b65e)}
.ace-blocks__tick:hover .ace-blocks__markicon,.ace-blocks__tick:focus-visible .ace-blocks__markicon{color:var(--ab-accent,#f0b65e)}
.ace-blocks__tick:hover,.ace-blocks__tick:focus-visible{opacity:1}
.ace-blocks__tick.has-stamp:hover .ace-blocks__stamp,
.ace-blocks__tick.has-stamp:focus-visible .ace-blocks__stamp{color:var(--ab-accent,#f0b65e)}
/* Where you are, grown rather than merely coloured: it has to be findable at a
   glance from the other side of the screen. */
.ace-blocks__tick.is-current{opacity:1}
.ace-blocks__tick:focus-visible{outline:2px solid var(--ab-accent,#f0b65e);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.ace-blocks__tick{transition:none}}

/* The section's own routes, stacked, when the rail is shut: the icon is all there is
   room for, and it is the only thing in there you can still navigate with. */
.ace-chy__viewicon{display:inline-block;margin-right:.4rem;opacity:.85}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-chy__viewtabs--routes{
	/* nowrap matters as much as the direction: the group wraps by default, and a
	   wrapping column turns into a second column the moment the height is constrained,
	   which is how the second route ended up beside the first rather than under it. */
	flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:6px;
	/* and let it grow to whatever the stack needs: the open state gives this a single
	   row's height, which the second route then painted straight over. */
	height:auto;min-height:0;max-height:none;
	padding:10px 8px 4px;border:0;background:none;
}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-chy__viewtabs--routes .ace-chy__viewtab{
	display:grid;place-items:center;width:100%;min-height:36px;padding:0;border-radius:10px;
}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-chy__viewtabs--routes .ace-chy__viewword{display:none}
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-chy__viewicon{display:inline-block;font-size:15px}

/* Where you are: the line goes accent and ends in a dot, so the row reads as a
   position on a dial rather than merely as brighter text. */
.ace-blocks__tick.is-current .ace-blocks__stamp{color:var(--ab-accent,#f0b65e)}
.ace-blocks__tick.is-current .ace-blocks__bar{position:relative;overflow:visible}
.ace-blocks__tick.is-current .ace-blocks__bar::after{
	content:"";position:absolute;right:-1px;top:50%;
	width:5px;height:5px;margin-top:-2.5px;border-radius:50%;
	background:var(--ab-accent,#f0b65e);
}
/* An era is given air above it so the eye can find the groups without a heading. */
.ace-blocks__tick.is-section{margin-top:6px}
.ace-blocks__ticks>.ace-blocks__tick.is-section:first-child{margin-top:0}
/* Hover reads as the row coming forward, which is the same language as the wheel. */
.ace-blocks__tick:hover .ace-blocks__stamp,
.ace-blocks__tick:focus-visible .ace-blocks__stamp{color:var(--ab-ink,#e8e4da)}

/* The wheel. Rows away from where you are turn out of the light: a little smaller,
   a little softer, a little further back, so the rail reads as something coming
   round past the reader rather than as a flat list. The distance is published by
   the script as --away; nothing here needs to know how it was worked out. */
.ace-blocks__tick{
	transform-origin:center center;
	transform:scale(calc(1 - var(--away,0) * .022));
	filter:blur(calc(var(--away,0) * .22px));
	opacity:calc(1 - var(--away,0) * .075);
	transition:transform .28s ease,filter .28s ease,opacity .28s ease;
}
.ace-blocks__tick.is-current{transform:scale(1.1);filter:none;opacity:1}
.ace-blocks__tick:hover,.ace-blocks__tick:focus-visible{filter:none;opacity:1}
@media (prefers-reduced-motion:reduce){
	.ace-blocks__tick{transform:none;filter:none;opacity:1;transition:none}
	.ace-blocks__tick.is-current{transform:none}
}

/* The plain rail ("marks"), the default for any page that is not a timeline.
   A column of short, evenly spaced marks, the way an editor's minimap or a chat app's
   inline sidebar does it: a section mark is longer, a child mark shorter and set in,
   and the one you are at is the accent with a soft track behind it. The label is not
   drawn until you point at a mark, when it slides out beside it; nothing scales,
   blurs or turns. The dated "wheel" rail keeps all of that for timelines. */
/* Every mark fits without scrolling: the rows share the rail's height and shrink
   together on a long page, down to a floor you can still aim at. */
.ace-blocks__ticks.is-marks{gap:0;padding:14px 0 14px 0;align-items:stretch;justify-content:flex-start;overflow:visible}
.ace-blocks__ticks.is-marks .ace-blocks__tick{
	display:flex;align-items:center;justify-content:flex-start;
	flex:0 1 22px;min-height:9px;height:22px;margin:0;padding:0 0 0 22px;
	background:none;opacity:1;transform:none;filter:none;transition:none;border-radius:0;
}
.ace-blocks__ticks.is-marks .ace-blocks__tick::before,.ace-blocks__ticks.is-marks .ace-blocks__tick::after{content:none}
.ace-blocks__ticks.is-marks .ace-blocks__bar{
	flex:none;height:2px;border-radius:2px;
	width:18px;background:color-mix(in srgb,var(--ab-ink,#e8e4da) 34%,transparent);
	transition:width .16s ease,background .16s ease;
}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-block{margin-left:0;padding-left:30px}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-block .ace-blocks__bar{width:10px;background:color-mix(in srgb,var(--ab-ink,#e8e4da) 22%,transparent)}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-current .ace-blocks__bar,
.ace-blocks__ticks.is-marks .ace-blocks__tick:hover .ace-blocks__bar,
.ace-blocks__ticks.is-marks .ace-blocks__tick:focus-visible .ace-blocks__bar{background:var(--ab-accent,#f0b65e)}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-current .ace-blocks__bar{width:26px}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-block.is-current .ace-blocks__bar{width:16px}
/* A soft track marks the current row so it can be found from across the screen. */
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-current{background:color-mix(in srgb,var(--ab-accent,#f0b65e) 10%,transparent)}
/* The label: hidden until pointed at, then slides out beside the mark over the page. */
.ace-blocks__ticks.is-marks .ace-blocks__label{
	position:absolute;left:calc(100% + 6px);top:50%;translate:-6px -50%;z-index:30;
	max-width:260px;padding:5px 9px;border:1px solid var(--shell-line,rgba(255,255,255,.14));border-radius:8px;
	background:var(--shell-panel,var(--ab-surface,#1b211f));color:var(--ab-ink,#e8e4da);
	font:600 12px/1.3 inherit;font-family:inherit;white-space:nowrap;
	opacity:0;pointer-events:none;transition:opacity .12s ease,translate .12s ease;
	box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-block .ace-blocks__label{font-weight:500}
.ace-blocks__ticks.is-marks .ace-blocks__tick:hover .ace-blocks__label,
.ace-blocks__ticks.is-marks .ace-blocks__tick:focus-visible .ace-blocks__label{opacity:1;translate:0 -50%}
.ace-blocks__ticks.is-marks .ace-blocks__tick:focus-visible{outline:none}
.ace-blocks__ticks.is-marks .ace-blocks__tick:focus-visible .ace-blocks__bar{outline:2px solid var(--ab-accent,#f0b65e);outline-offset:3px}
/* A section starts a group: a touch of air above it, unless it is first. */
.ace-blocks__ticks.is-marks .ace-blocks__tick.is-section{margin-top:6px}
.ace-blocks__ticks.is-marks>.ace-blocks__tick.is-section:first-child{margin-top:0}
/* The rail itself must not clip the label. */
.ace-shell[data-filter-closed="true"] #ace-shell-filter .ace-blocks__ticks.is-marks{overflow:visible}
@media (prefers-reduced-motion:reduce){.ace-blocks__ticks.is-marks .ace-blocks__bar,.ace-blocks__ticks.is-marks .ace-blocks__label{transition:none}}


/* ace-rail-filters */
/* The narrow-screen twin of the section filter rail.
   The shell turns its columns into drawers at 900px, and the rail itself stops being
   laid out at 1100px (ace-charities.css), so 1100px is where the results actually
   lose their filters and where this has to appear. Above it the rail is on screen and
   this is hidden, so the two are never both there.
   Shape follows the TalkFuse feed toolbar: compact by default, and the toggle wears
   an accent-tinted border so it reads as the way in rather than another sort tab. */
.ace-railbar { display: none; }

/* The rail column is taken out of the layout below 1100px (ace-charities.css), which
   also took the shell's own drawer with it: the Filters button had nowhere to open on
   a phone. So the drawer is spelled out here for every width where the column is gone,
   not only for the band between the two breakpoints. */
@media (max-width: 1100px) {
	.ace-shell.has-chy-rail[data-drawer='filter'] > .ace-shell__filter {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: min(84vw, 320px);
		z-index: 100;
	}
	.ace-shell.has-chy-rail[data-drawer='filter'] > .ace-shell__scrim:not([hidden]) {
		display: block;
		position: absolute;
		inset: 0;
		border: 0;
		border-radius: 0;
		background: #0009;
		z-index: 90;
	}
}

@media (max-width: 1100px) {
	.ace-railbar { display: block; margin: 0 0 14px; }
	.ace-railbar__row { display: flex; align-items: center; gap: 8px; }
	.ace-railbar__search {
		flex: 1;
		min-width: 0;
		display: flex;
		align-items: center;
		gap: 7px;
		padding: 7px 11px;
		border: 1px solid var(--ace-line, #d0d5cb);
		border-radius: 8px;
		background: var(--ace-surface, #fafbf5);
		color: var(--ace-muted, #68736c);
	}
	.ace-railbar__q {
		flex: 1;
		min-width: 0;
		border: 0;
		background: none;
		color: var(--ace-ink, #252d29);
		font: inherit;
		font-size: 13px;
		padding: 0;
	}
	.ace-railbar__q:focus { outline: none; }
	.ace-railbar__search:focus-within { border-color: var(--ace-orange, #915424); }
	.ace-railbar__toggle {
		flex: none;
		display: inline-flex;
		align-items: center;
		gap: 6px;
		padding: 8px 13px;
		font: inherit;
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
		border-radius: 8px;
		background: transparent;
		color: var(--ace-orange, #915424);
		border: 1px solid color-mix(in srgb, var(--ace-orange, #915424) 55%, var(--ace-line, #d0d5cb));
	}
	.ace-railbar__toggle:hover,
	.ace-railbar__toggle:focus-visible { border-color: var(--ace-orange, #915424); }
	.ace-railbar noscript { display: block; margin-top: 10px; }
}

/* A group rendered as tabs rather than a dropdown - "View as", and the A to Z,
   whose keys have to wrap into a block rather than run off the side of a 232px
   rail. The A to Z is a keypad, not a scatter: an even grid of equal keys on
   the same radius family as the controls above it, so the rail reads as one
   panel rather than a strip of loose buttons. */
.ace-chy__filters .ace-chy__viewtabs { display: flex; flex-wrap: wrap; }

.ace-chy__filters .alm__group[data-fold='letter'] .ace-chy__viewtabs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(30px, 1fr));
	gap: 4px;
	height: auto;
	padding: 4px;
}
.ace-chy__filters .alm__group[data-fold='letter'] .ace-chy__viewtab {
	min-width: 0;
	height: 30px;
	padding: 0;
	border-radius: var(--rail-r-key, 8px);
	background: color-mix(in srgb, var(--rail-line, rgba(255, 255, 255, .12)) 55%, transparent);
	font-size: .78rem;
	font-variant-numeric: tabular-nums;
	transition:
		background-color var(--rail-quick, .16s) var(--rail-ease, ease),
		color var(--rail-quick, .16s) var(--rail-ease, ease),
		transform .12s var(--rail-ease, ease);
}
.ace-chy__filters .alm__group[data-fold='letter'] .ace-chy__viewtab:not(.is-on):hover {
	background: color-mix(in srgb, var(--rail-accent, #ff7a18) 22%, transparent);
	transform: translateY(-1px);
}
.ace-chy__filters .alm__group[data-fold='letter'] .ace-chy__viewtab.is-on {
	background: var(--rail-accent, #ff7a18);
	color: var(--rail-accent-ink, #14120f);
}

/* The drawer slides rather than appearing. Transform and opacity only, so the
   shell's grid is never relaid out mid-animation. */
@media (max-width: 1100px) {
	.ace-shell.has-chy-rail > .ace-shell__filter {
		transition: transform .22s cubic-bezier(.2, .7, .35, 1);
	}
	.ace-shell.has-chy-rail[data-drawer='filter'] > .ace-shell__filter {
		transform: translateX(0);
	}
	.ace-shell.has-chy-rail > .ace-shell__scrim:not([hidden]) {
		animation: ace-rail-scrim .22s ease both;
	}
	@keyframes ace-rail-scrim { from { opacity: 0 } to { opacity: 1 } }
}
@media (max-width: 1100px) {
	.ace-shell.has-chy-rail[data-drawer='filter'] > .ace-shell__filter {
		animation: ace-rail-drawer .22s cubic-bezier(.2, .7, .35, 1) both;
	}
	@keyframes ace-rail-drawer { from { transform: translateX(-100%) } to { transform: none } }
}

/* Restraint is the point, and someone who has asked for less movement gets none. */
@media (prefers-reduced-motion: reduce) {
	.ace-chy__filters *,
	.ace-chy__filters *::before,
	.ace-chy__filters *::after,
	.ace-railbar *,
	.ace-shell.has-chy-rail > .ace-shell__filter,
	.ace-shell.has-chy-rail > .ace-shell__scrim {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

/* Multiple-choice groups, as pills.
   Options that are not mutually exclusive - class types, venues - read better as
   things you switch on than as a list you pick one of. */
.ace-chy__filters .ace-chy__pills { display: flex; flex-wrap: wrap; gap: .35rem; }
.ace-chy__filters .ace-chy__pillbtn {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .3rem .6rem; border-radius: 999px; cursor: pointer;
	font: inherit; font-size: .82rem; line-height: 1.3;
	color: var(--ab-ink, inherit);
	background: var(--ab-soft, rgba(127, 127, 127, .12));
	border: 1px solid var(--ab-line, rgba(127, 127, 127, .3));
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.ace-chy__filters .ace-chy__pillbtn small { opacity: .6; font-size: .75em; }
.ace-chy__filters .ace-chy__pillbtn:hover { border-color: var(--ab-accent, currentColor); }
.ace-chy__filters .ace-chy__pillbtn.is-on {
	background: var(--ab-accent, #2f6f4f);
	border-color: var(--ab-accent, #2f6f4f);
	color: var(--ab-accent-ink, #fff);
}
.ace-chy__filters .ace-chy__pillbtn.is-on small { opacity: .8; }

/* A span of numbers, as two handles over one track. The inputs sit on top of each
   other so both handles share the same line; only the thumbs take pointer events,
   or the upper input would swallow every click meant for the lower one. */
.ace-chy__filters .ace-chy__range { position: relative; padding: .5rem .25rem 0; }
.ace-chy__filters .ace-chy__rangetrack {
	position: absolute; left: .25rem; right: .25rem; top: 1.05rem; height: 4px;
	border-radius: 999px; background: var(--ab-line, rgba(127, 127, 127, .35));
}
.ace-chy__filters .ace-chy__rangefill {
	position: absolute; top: 0; bottom: 0; left: var(--lo, 0%); right: calc(100% - var(--hi, 100%));
	border-radius: 999px; background: var(--ab-accent, #2f6f4f);
}
.ace-chy__filters .ace-chy__range input[type='range'] {
	-webkit-appearance: none; appearance: none;
	position: relative; display: block; width: 100%; height: 1.4rem; margin: 0;
	background: transparent; pointer-events: none;
}
.ace-chy__filters .ace-chy__range input[type='range'] + input[type='range'] { margin-top: -1.4rem; }
.ace-chy__filters .ace-chy__range input[type='range']::-webkit-slider-thumb {
	-webkit-appearance: none; appearance: none; pointer-events: auto; cursor: grab;
	width: 1rem; height: 1rem; border-radius: 50%;
	background: var(--ab-accent, #2f6f4f); border: 2px solid var(--ab-card, #fff);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .35);
}
.ace-chy__filters .ace-chy__range input[type='range']::-moz-range-thumb {
	pointer-events: auto; cursor: grab;
	width: 1rem; height: 1rem; border-radius: 50%;
	background: var(--ab-accent, #2f6f4f); border: 2px solid var(--ab-card, #fff);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .35);
}
.ace-chy__filters .ace-chy__range input[type='range']::-moz-range-track { background: transparent; }
.ace-chy__filters .ace-chy__rangeread { margin: .35rem 0 0; font-size: .8rem; opacity: .75; }

/* Venue names are not three words long, so where pills wrap by their own width the
   rail ends up a ragged puzzle. One venue per row reads as a list of places, which
   is what it is, and a long name truncates rather than pushing the rail wider. */
.ace-chy__filters .alm__group[data-fold='venue'] .ace-chy__pills { display: block; }
.ace-chy__filters .alm__group[data-fold='venue'] .ace-chy__pillbtn {
	display: flex; width: 100%; border-radius: .6rem;
	justify-content: space-between; text-align: left;
}
.ace-chy__filters .alm__group[data-fold='venue'] .ace-chy__pillbtn + .ace-chy__pillbtn { margin-top: .3rem; }
.ace-chy__filters .alm__group[data-fold='venue'] .ace-chy__pillbtn > span {
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;
}
/* An open group must not clip what is inside it: a slider thumb and a focus ring
   both sit proud of their box, and the fold's own overflow was cutting them in
   half. A folded one still hides its body, or the collapse would leak. */
.ace-chy__filters .alm__group:not(.is-folded) .alm__body { overflow: visible; }
.ace-chy__filters .alm__group:not(.is-folded) .alm__foldwrap { overflow: visible; }
.ace-chy__filters .alm__group.is-folded .alm__body,
.ace-chy__filters .alm__group.is-folded .alm__foldwrap { overflow: hidden; }
.ace-chy__filters .ace-chy__range { padding-inline: .6rem; }


/* ace-map-style */
.ace-site-map.leaflet-container{background:var(--ace-bg, #2c2c2e);color:var(--ace-ink, #f5f2ea);font:14px/1.4 "Space Grotesk",sans-serif;isolation:isolate}.ace-site-map.leaflet-container .leaflet-tile-pane{filter:brightness(0.78) contrast(1.28) saturate(0.7)}body[data-ace-theme=light] .ace-site-map.leaflet-container .leaflet-tile-pane{filter:none}.ace-site-map .ace-tiles--dark{filter:none}.ace-site-map .ace-map-labels{opacity:.75;pointer-events:none}.ace-site-map.leaflet-container .leaflet-bar{border:1px solid var(--ace-line, #48514e);box-shadow:0 4px 18px rgba(0,0,0,.2)}.ace-site-map.leaflet-container .leaflet-bar a{background:var(--ace-surface-2, #242b2a);color:var(--ace-ink, #f5f2ea);border-color:var(--ace-line, #48514e)}.ace-site-map.leaflet-container .leaflet-bar a:hover,.ace-site-map.leaflet-container .leaflet-bar a:focus{background:var(--ace-surface, #1d2323);color:var(--ace-orange-2, #efb665)}.ace-site-map.leaflet-container .leaflet-bar a.leaflet-disabled{color:var(--ace-muted, #abb5b1);opacity:.6}.ace-site-map.leaflet-container .leaflet-control a:focus-visible{outline:2px solid var(--ace-orange-2, #efb665);outline-offset:2px}.ace-site-map.leaflet-container .leaflet-control-attribution,.ace-site-map.leaflet-container .leaflet-control-layers{background:color-mix(in srgb, var(--ace-surface-2, #242b2a) 88%, transparent);color:var(--ace-muted, #abb5b1);font-family:inherit}.ace-site-map.leaflet-container .leaflet-control-attribution a{color:var(--ace-ink, #f5f2ea)}.ace-site-map.leaflet-container .leaflet-popup-content-wrapper,.ace-site-map.leaflet-container .leaflet-popup-tip,.ace-site-map.leaflet-container .leaflet-tooltip{background:var(--ace-surface-2, #242b2a);color:var(--ace-ink, #f5f2ea);border:1px solid var(--ace-line, #48514e);box-shadow:0 8px 30px rgba(0,0,0,.3333333333);font-family:inherit}.ace-site-map.leaflet-container .leaflet-popup-content a,.ace-site-map.leaflet-container .leaflet-popup-close-button{color:var(--ace-orange-2, #efb665)}.ace-site-map .marker-cluster{background:color-mix(in srgb, var(--ace-orange-2, #efb665) 30%, transparent)}.ace-site-map .marker-cluster div{background:var(--ace-surface-2, #242b2a);color:var(--ace-ink, #f5f2ea);border:1px solid var(--ace-orange-2, #efb665);font-family:inherit}.ace-site-map .ace-map-job-pin{display:grid;place-items:center;border:2px solid var(--ace-ink, #f5f2ea);border-radius:50%;background:var(--ace-orange-2, #efb665);color:var(--ace-bg, #14120f);box-shadow:0 2px 8px rgba(0,0,0,.4)}.ace-site-map:is(.is-satellite,.is-regular) .leaflet-tile-pane{filter:none}.ace-site-map .ace-map-job-pin svg{display:block;width:16px;height:16px;fill:currentColor}


/* ace-live-map */
﻿.alm{--alm-h: calc(100vh - var(--ace-header-h, 64px));--alm-bg: var(--ace-bg, #14120f);--alm-surface: rgba(28, 24, 19, 0.95);--alm-surface-2: rgba(36, 31, 24, 0.97);--alm-ink: var(--ace-ink, #f5f2ea);--alm-muted: var(--ace-muted, #b9b0a0);--alm-line: rgba(255, 255, 255, 0.12);--alm-orange: var(--ace-orange, #ff7a18);--alm-orange-2: var(--ace-orange-2, #ff9a45);--alm-teal: #12b3a6;--alm-blue: #4ea1ff;--alm-purple: #a06cff;--alm-red: #ff4d4f;--alm-amber: #ffb020;--alm-green: #3ecf8e;position:relative;width:100%;height:var(--alm-h);min-height:420px;background:var(--alm-bg);color:var(--alm-ink);overflow:hidden;font:14px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;margin-top:0;margin-bottom:0;max-width:none}.alm *{box-sizing:border-box}.alm{isolation:isolate;z-index:0}.alm__map{position:absolute;inset:0;background:#2c2c2e;z-index:1}.alm{width:100vw;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important}.alm__flags{position:absolute;inset:0;z-index:20;pointer-events:none;overflow:hidden}.alm__flags.is-moving{opacity:.35}.alm__flags .alm-card{position:absolute;left:0;top:0;pointer-events:auto;transform:scale(0.82);transform-origin:50% 50%;opacity:.8;will-change:transform;transition:opacity .2s,box-shadow .2s}.alm__flags .alm-card.is-near,.alm__flags .alm-card:hover{opacity:1;box-shadow:0 16px 40px rgba(0,0,0,.7);z-index:2}.alm__flags .alm-card::after{display:none}.alm__leaders{position:absolute;left:0;top:0;z-index:19;pointer-events:none}.alm__leaders line{stroke:rgba(255,154,69,.85);stroke-width:1.5}.alm__leaders circle{fill:#ff9a45}.alm .leaflet-marker-icon.alm-pinwrap,.alm .leaflet-marker-icon.alm-clusterwrap{opacity:.72;transition:opacity .15s}.alm .leaflet-marker-icon.alm-pinwrap:hover,.alm .leaflet-marker-icon.alm-clusterwrap:hover,.alm .leaflet-marker-icon.alm-pinwrap.is-hot,.alm .leaflet-marker-icon.is-lit{opacity:1}.alm-pin.is-hot .alm-pin__dot{background:#fff;box-shadow:0 0 0 3px rgba(255,122,24,.55),0 2px 6px rgba(0,0,0,.6)}.alm .leaflet-container{background:#2c2c2e;font:inherit}.alm .leaflet-tile-pane{filter:brightness(0.78) contrast(1.28) saturate(0.7)}.alm .ace-tiles--dark{filter:none}.alm .alm-labels{opacity:.75}.alm .leaflet-shadow-pane{z-index:430;pointer-events:none}.alm .leaflet-control-attribution{background:rgba(20,18,15,.75);color:var(--alm-muted);font-size:10px;max-width:min(92vw,720px)}.alm .leaflet-control-attribution a{color:var(--alm-ink)}.alm .leaflet-bar a{background:var(--alm-surface-2);color:var(--alm-ink);border-bottom-color:var(--alm-line)}.alm .leaflet-bar a:hover{background:#2f2921}.alm .leaflet-popup-content-wrapper,.alm .leaflet-popup-tip{background:var(--alm-surface-2);color:var(--alm-ink);box-shadow:0 8px 30px rgba(0,0,0,.5)}.alm .leaflet-popup-content{margin:10px 12px;font-size:13px;line-height:1.35}.alm .leaflet-popup-content a{color:var(--alm-orange-2)}.alm .leaflet-popup-close-button{color:var(--alm-muted)}.alm .alm-tile-wx{mix-blend-mode:screen}.alm .alm-tile-traffic{opacity:.85}.alm__nojs{padding:2rem;text-align:center}.alm__top{position:absolute;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:8px;padding:8px 10px;pointer-events:none}.alm__top>*{pointer-events:auto}.alm__brand{display:flex;align-items:center;gap:8px;background:var(--alm-surface);border:1px solid var(--alm-line);border-radius:999px;padding:6px 12px 6px 10px;font-weight:700;letter-spacing:.01em;white-space:nowrap}.alm__brand .alm__live{width:8px;height:8px;border-radius:50%;background:var(--alm-red)}@keyframes alm-pulse{0%{transform:scale(1);opacity:.8}70%{transform:scale(1.8);opacity:0}100%{transform:scale(1.8);opacity:0}}.alm__chips{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;background:var(--alm-surface);border:1px solid var(--alm-line);border-radius:999px;padding:4px}.alm__chips::-webkit-scrollbar{display:none}.alm__chip{border:0;background:rgba(0,0,0,0);color:var(--alm-muted);border-radius:999px;padding:5px 11px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.alm__chip:hover{color:var(--alm-ink)}.alm__chip.is-on{background:var(--alm-orange);color:#1a1108}.alm__now{margin-left:auto;display:flex;gap:6px;align-items:center}.alm__pill{display:inline-flex;align-items:center;gap:6px;background:var(--alm-surface);border:1px solid var(--alm-line);border-radius:999px;padding:6px 11px;font-weight:600;white-space:nowrap;color:var(--alm-ink);text-decoration:none}.alm__pill small{color:var(--alm-muted);font-weight:500}.alm__pill.is-warn-yellow{border-color:var(--alm-amber);color:var(--alm-amber)}.alm__pill.is-warn-amber{background:rgba(255,176,32,.2);border-color:var(--alm-amber);color:var(--alm-amber)}.alm__pill.is-warn-red{background:rgba(255,77,79,.25);border-color:var(--alm-red);color:#fff}.alm__layersbtn{display:none}.alm__banner{position:absolute;top:56px;left:50%;transform:translateX(-50%);z-index:41;max-width:min(92vw,720px);background:rgba(255,176,32,.16);border:1px solid var(--alm-amber);color:var(--alm-ink);border-radius:12px;padding:8px 12px;font-size:13px}.alm__banner.is-red{background:rgba(255,77,79,.22);border-color:var(--alm-red)}.alm__banner a{color:var(--alm-ink);font-weight:700}.alm__rail{position:absolute;top:56px;right:10px;bottom:52px;z-index:39;width:272px;display:flex;flex-direction:column;gap:8px;overflow:auto;scrollbar-width:thin;padding-bottom:8px}.alm__group{background:var(--alm-surface);border:1px solid var(--alm-line);border-radius:14px;padding:8px 8px 6px}.alm__group h3{margin:0 4px 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--alm-muted);font-weight:700;display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none;padding:2px 0}.alm__group h3::before{content:"▾";font-size:10px;transition:transform .15s;color:var(--alm-orange-2)}.alm__group.is-collapsed h3::before{transform:rotate(-90deg)}.alm__group.is-collapsed>*:not(h3){display:none !important}.alm__gcount{margin-left:auto;font-weight:600;color:var(--alm-muted);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none}.alm__group.is-collapsed{padding-bottom:4px}.alm__layer{display:flex;align-items:center;gap:8px;width:100%;border:0;background:rgba(0,0,0,0);color:var(--alm-ink);padding:6px 6px;border-radius:9px;font:inherit;cursor:pointer;text-align:left}.alm__layer:hover{background:hsla(0,0%,100%,.06)}.alm__layer .alm__ico{width:22px;text-align:center;font-size:15px;flex:0 0 22px}.alm__layer .alm__lbl{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.08rem;overflow:hidden;text-align:left}.alm__layer .alm__lbl{white-space:normal}.alm__note{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72em;font-weight:400;line-height:1.25;letter-spacing:.01em;color:var(--alm-muted);opacity:.85}.alm__layer.is-on .alm__note{opacity:.9}.alm__layer[disabled] .alm__note,.alm__layer.is-locked .alm__note{opacity:.55}.alm__layer .alm__cnt{font-size:11px;color:var(--alm-muted);font-variant-numeric:tabular-nums}.alm__layer .alm__sw{width:30px;height:16px;border-radius:999px;background:hsla(0,0%,100%,.14);position:relative;flex:0 0 30px;transition:background .2s}.alm__layer .alm__sw::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s}.alm__layer.is-on .alm__sw{background:var(--alm-orange)}.alm__layer.is-on .alm__sw::after{transform:translateX(14px)}.alm__layer.is-loading .alm__sw{background:var(--alm-orange-2);opacity:.6}.alm__layer.is-off .alm__lbl{color:var(--alm-muted)}.alm__layer.is-locked{opacity:.55}.alm__layer.is-locked .alm__cnt::before{content:"key "}.alm__legend{display:flex;flex-wrap:wrap;gap:4px 10px;padding:2px 6px 4px;font-size:11px;color:var(--alm-muted)}.alm__legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:-1px}.alm__radar{display:none;align-items:center;gap:8px;padding:4px 6px 2px;font-size:12px;color:var(--alm-muted)}.alm__radar.is-on{display:flex}.alm__radar input[type=range]{flex:1;accent-color:var(--alm-orange)}.alm__radar button{border:0;background:hsla(0,0%,100%,.1);color:var(--alm-ink);border-radius:8px;width:26px;height:26px;cursor:pointer}.alm__radar .alm__rt{min-width:44px;text-align:right;font-variant-numeric:tabular-nums;color:var(--alm-ink)}.alm__nowcard{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:4px 6px 6px;font-size:12px;color:var(--alm-muted)}.alm__nowcard b{color:var(--alm-ink);font-size:20px;line-height:1.1;font-weight:700}.alm__nowcard .alm__sym{font-size:26px;line-height:1;grid-row:span 2;align-self:center}.alm__hours{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:4px 4px 2px}.alm__hours::-webkit-scrollbar{display:none}.alm__hour{flex:0 0 38px;text-align:center;font-size:10px;color:var(--alm-muted);line-height:1.2}.alm__hour b{display:block;color:var(--alm-ink);font-size:12px}.alm__hour span{display:block;font-size:15px;line-height:1.3}.alm__hour.is-wet{color:var(--alm-blue)}.alm__ticker{position:absolute;left:10px;right:10px;bottom:10px;z-index:39;display:flex;align-items:center;gap:10px;background:var(--alm-surface);border:1px solid var(--alm-line);border-radius:12px;padding:6px 10px;height:36px;overflow:hidden;font-size:13px}.alm__ticker.is-empty{display:none}.alm__ticker .alm__tk{font-weight:700;color:var(--alm-orange-2);flex:0 0 auto;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.alm__ticker .alm__tkin{flex:1;min-width:0;overflow:hidden;white-space:nowrap;position:relative}.alm__ticker .alm__tkin::before,.alm__ticker .alm__tkin::after{content:"";position:absolute;top:0;bottom:0;width:22px;z-index:1;pointer-events:none}.alm__ticker .alm__tkin::before{left:0;background:linear-gradient(90deg, var(--alm-surface), transparent)}.alm__ticker .alm__tkin::after{right:0;background:linear-gradient(270deg, var(--alm-surface), transparent)}.alm__ticker.is-offscreen .alm__tktrack,.als__ticker.is-offscreen .als__tktrack{animation-play-state:paused}.alm__routes{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}.alm__route{display:inline-block;min-width:22px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:800;line-height:16px;text-align:center;color:var(--ri, #fff);background:var(--rc, #666);text-shadow:0 1px 1px rgba(0,0,0,.35)}.alm__route.is-more{background:hsla(0,0%,100%,.18)}.alm__ticker .alm__tktrack{display:inline-block;padding-left:100%;animation:alm-tick var(--alm-tk, 60s) linear infinite;will-change:transform}.alm__ticker:hover .alm__tktrack{animation-play-state:paused}.alm__ticker a{color:var(--alm-ink);text-decoration:none;margin-right:34px}.alm__ticker a small{color:var(--alm-muted);margin-left:6px}.alm__ticker a.is-warn{color:var(--alm-amber)}.alm__ticker a.is-road{color:var(--alm-red)}@keyframes alm-tick{to{transform:translateX(-100%)}}@media(prefers-reduced-motion: reduce){.alm__ticker .alm__tktrack{animation:none;padding-left:0}.alm-ico.is-alert::after{animation:none}}.alm__panel{position:absolute;top:56px;left:10px;bottom:52px;z-index:42;width:min(420px,100vw - 20px);background:var(--alm-surface-2);border:1px solid var(--alm-line);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5);display:none;flex-direction:column;overflow:hidden}.alm__panel.is-open{display:flex}.alm__panelhead{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--alm-line)}.alm__panelhead h2{margin:0;font-size:15px;line-height:1.25;flex:1;min-width:0}.alm__panelhead .alm__x{border:0;background:hsla(0,0%,100%,.08);color:var(--alm-ink);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:16px;flex:0 0 30px}.alm__panelbody{overflow:auto;padding:10px 12px 14px;scrollbar-width:thin}.alm__panelbody img{max-width:100%;height:auto;border-radius:10px}.alm__panelbody .ace-emodal__cover{margin:0 0 10px}.alm__panelbody .ace-emodal__coverimg{width:100%;border-radius:10px}.alm__meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.alm__meta span{background:hsla(0,0%,100%,.07);border-radius:999px;padding:3px 9px;font-size:12px}.alm__meta span.is-hot{background:var(--alm-orange);color:#1a1108;font-weight:700}.alm__actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.alm__btn{display:inline-flex;align-items:center;gap:6px;background:var(--alm-orange);color:#1a1108;border-radius:999px;padding:7px 13px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font:inherit}.alm__btn.is-ghost{background:hsla(0,0%,100%,.08);color:var(--alm-ink)}.alm__section{margin-top:12px;border-top:1px solid var(--alm-line);padding-top:8px}.alm__section h4{margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--alm-muted)}.alm__list{list-style:none;margin:0;padding:0;font-size:13px}.alm__list li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dashed hsla(0,0%,100%,.06)}.alm__list li span:last-child{color:var(--alm-muted);white-space:nowrap}.alm__list li b{font-weight:600}.alm__spark{width:100%;height:46px;display:block}.alm__gauge{display:flex;align-items:baseline;gap:8px}.alm__gauge b{font-size:26px}.alm__bar{height:8px;border-radius:4px;background:hsla(0,0%,100%,.1);position:relative;margin:6px 0 4px;overflow:hidden}.alm__bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--alm-blue)}.alm__bar.is-high i{background:var(--alm-amber)}.alm__bar.is-over i{background:var(--alm-red)}.alm__rating{display:inline-block;min-width:20px;text-align:center;border-radius:5px;background:var(--alm-green);color:#062;font-weight:800;font-size:11px;padding:1px 4px}.alm__rating.is-low{background:var(--alm-amber);color:#420}.alm-pin{position:relative}.alm-pin__dot{width:14px;height:14px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--alm-orange, #ff7a18);border:2px solid #1a1108;box-shadow:0 2px 6px rgba(0,0,0,.6)}.alm-pin.is-free .alm-pin__dot{background:var(--alm-teal, #12b3a6)}.alm-pin.is-cls .alm-pin__dot{background:#8f8a80}.alm-pin__wx{position:absolute;left:14px;top:-9px;background:rgba(20,18,15,.9);border:1px solid hsla(0,0%,100%,.14);border-radius:999px;padding:1px 6px 1px 4px;font-size:11px;white-space:nowrap;color:#f5f2ea;line-height:1.4;pointer-events:none}.alm-card{width:196px;height:150px;padding:0;text-align:left;text-decoration:none;font:inherit;color:inherit;background:rgba(28,24,19,.96);border:1px solid hsla(0,0%,100%,.16);border-radius:12px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.55);transform:translate(-50%, -100%);position:relative;cursor:pointer;transition:transform .15s}.alm-card:hover{transform:translate(-50%, -100%) scale(1.03)}.alm-card:focus-visible{outline:3px solid var(--alm-orange-2);outline-offset:3px;opacity:1 !important}.alm-card::after{content:"";position:absolute;left:50%;bottom:-8px;width:14px;height:14px;background:inherit;border-right:1px solid hsla(0,0%,100%,.16);border-bottom:1px solid hsla(0,0%,100%,.16);transform:translateX(-50%) rotate(45deg)}.alm-card__img{height:96px;background:#241f18 center/cover no-repeat}.alm-card__body{padding:7px 9px 8px;font-size:12px;line-height:1.3;color:#f5f2ea}.alm-card__body b{font-size:13px;margin-bottom:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.alm-card__body small{color:#b9b0a0}.alm-card__tag{position:absolute;top:6px;left:6px;background:var(--alm-orange, #ff7a18);color:#1a1108;font-weight:800;font-size:10px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 7px}.alm-card.is-super .alm-card__tag{background:#fff}.alm-card__wx{position:absolute;top:6px;right:6px;background:rgba(20,18,15,.85);border-radius:999px;padding:2px 7px;font-size:11px;color:#f5f2ea}.alm-cluster{background:rgba(255,122,24,.9);color:#1a1108;border:2px solid #1a1108;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;box-shadow:0 2px 8px rgba(0,0,0,.6)}.alm-bus{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.alm-bus__body{width:34px;height:18px;border-radius:5px 9px 9px 5px;background:var(--bus, #2e6bd6);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;position:relative}.alm-bus__body::after{content:"";position:absolute;right:-7px;top:50%;margin-top:-5px;border:5px solid rgba(0,0,0,0);border-left:6px solid #fff;border-right:0}.alm-bus__lbl{font-size:11px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);line-height:1;pointer-events:none}.alm-bus.is-stale{opacity:.45}.alm-ico{width:26px;height:26px;border-radius:50%;background:rgba(28,24,19,.95);border:2px solid var(--c, #fff);display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 2px 6px rgba(0,0,0,.6);color:#fff}.alm-ico.is-sm{width:20px;height:20px;font-size:11px}.alm-ico.is-alert{--c: var(--alm-red, #ff4d4f);position:relative}.alm-ico.is-alert::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid rgba(255,77,79,.7);animation:alm-pulse 1.6s infinite;pointer-events:none}.alm-news{width:22px;height:22px;border-radius:6px;background:#f5f2ea;color:#1a1108;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;border:2px solid #1a1108;box-shadow:0 2px 6px rgba(0,0,0,.6)}.alm-news.is-hot{background:var(--alm-orange, #ff7a18)}.alm-station{background:rgba(20,18,15,.9);border:1px solid hsla(0,0%,100%,.2);border-radius:8px;padding:2px 6px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap}.alm-tramstop{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #9b4dff}@media(max-width: 820px){.alm{--alm-h: calc(100vh - var(--ace-header-h, 56px))}.alm__top{flex-wrap:wrap;padding:6px}.alm__now{margin-left:0;order:3;width:100%;overflow-x:auto;scrollbar-width:none}.alm__brand{padding:5px 10px 5px 8px;font-size:13px}.alm__layersbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--alm-line);background:var(--alm-surface);color:var(--alm-ink);border-radius:999px;padding:6px 11px;font:inherit;font-weight:700;cursor:pointer;margin-left:auto}.alm__rail{top:auto;left:0;right:0;bottom:0;width:auto;max-height:52vh;background:var(--alm-surface-2);border-radius:16px 16px 0 0;border-top:1px solid var(--alm-line);padding:8px;transform:translateY(105%);transition:transform .25s;z-index:45}.alm__rail.is-open{transform:none}.alm__group{background:rgba(0,0,0,0);border:0;padding:4px 0}.alm__ticker{bottom:8px;left:8px;right:8px}.alm__panel{top:auto;left:0;right:0;bottom:0;width:auto;max-height:70vh;border-radius:16px 16px 0 0}.alm__banner{top:96px}.alm-card{width:160px}.alm-card__img{height:78px}}.alm .leaflet-bottom.leaflet-left{margin-bottom:54px}.alm .leaflet-marker-icon.alm-buswrap{transition:transform .9s linear}.alm .leaflet-zoom-anim .leaflet-marker-icon{transition:none !important}.alm .leaflet-marker-pane{will-change:transform}.alm .leaflet-marker-icon.alm-cardwrap,.alm .leaflet-marker-icon.alm-stationwrap{overflow:visible}.alm .leaflet-marker-icon.alm-councillor-wrap{overflow:visible;background:none;border:0}.alm-councillor-flag{position:relative;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:3px solid var(--alm-ink);border-radius:50% 50% 50% 8px;transform:rotate(-45deg);overflow:hidden;background:var(--alm-orange);color:#1a1108;font-weight:800;box-shadow:0 4px 16px rgba(0,0,0,.55)}.alm-councillor-flag>*{transform:rotate(45deg)}.alm-councillor-flag img{width:48px;height:48px;object-fit:cover;transform:rotate(45deg) scale(1.18)}.alm-councillor-photo{display:block;width:96px !important;height:112px !important;object-fit:cover;margin:0 auto 10px;border:2px solid var(--alm-orange)}body.ace-map-page{overflow:hidden}body.ace-map-page .ace-boosted,body.ace-map-page .ace-explore,body.ace-map-page .ace-explore-fold,body.ace-map-page footer.wp-block-template-part{display:none !important}body.ace-map-page main.wp-block-group{margin:0 !important;padding:0 !important}.alm__radio{padding:4px 6px 6px;font-size:12px;color:var(--alm-muted)}.alm__sel{width:100%;background:hsla(0,0%,100%,.07);color:var(--alm-ink);border:1px solid var(--alm-line);border-radius:8px;padding:6px;font:inherit;margin-bottom:6px}.alm__radiobtns{display:flex;gap:6px;margin-bottom:6px}.alm__radiobtns .alm__btn{padding:5px 10px;font-size:12px}.alm__radioout{line-height:1.35}.alm__radioout b{color:var(--alm-ink)}.als{margin:14px auto 6px;max-width:1240px;padding:0 10px}.als.alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important}.als--ticker,.als--both{margin:0 !important;padding:10px 32px 8px;position:relative;z-index:1;background:var(--ace-bg, #14120f);box-sizing:border-box}.als__inner{max-width:none;margin:0;display:flex;flex-direction:column;gap:8px}.als--ticker .als__ticker{border-radius:10px;background:rgba(28,24,19,.92)}.als--ticker .als__chips{margin:0;justify-content:center}.als__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.als__chip{display:inline-flex;align-items:center;gap:6px;background:rgba(28,24,19,.86);border:1px solid hsla(0,0%,100%,.12);border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px;color:var(--ace-ink, #f5f2ea);text-decoration:none}.als__chip small{color:var(--ace-muted, #b9b0a0);font-weight:500}.als__chip.is-warn{border-color:#ffb020;color:#ffb020}.als__ticker{display:flex;align-items:center;gap:10px;background:rgba(28,24,19,.86);border:1px solid hsla(0,0%,100%,.12);border-radius:12px;padding:6px 10px;height:36px;overflow:hidden;font-size:13px;color:var(--ace-ink, #f5f2ea)}.als__tk{font-weight:700;color:#ff9a45;font-size:11px;letter-spacing:.06em;text-transform:uppercase;flex:0 0 auto}.als__tkin{flex:1;min-width:0;overflow:hidden;white-space:nowrap;position:relative}.als__tkin::before,.als__tkin::after{content:"";position:absolute;top:0;bottom:0;width:22px;z-index:1;pointer-events:none}.als__tkin::before{left:0;background:linear-gradient(90deg, rgba(28, 24, 19, 0.92), transparent)}.als__tkin::after{right:0;background:linear-gradient(270deg, rgba(28, 24, 19, 0.92), transparent)}.als__tktrack{display:inline-block;padding-left:100%;animation:alm-tick var(--als-tk, 60s) linear infinite;will-change:transform}.als__ticker:hover .als__tktrack{animation-play-state:paused}.als__tktrack a{color:var(--ace-ink, #f5f2ea);text-decoration:none;margin-right:34px}.als__tktrack a small{color:var(--ace-muted, #b9b0a0);margin-left:6px}.als__tktrack a.is-warn{color:#ffb020}.aln{max-width:1240px;margin:24px auto;padding:0 10px}.aln.alignfull{max-width:none;width:100vw;margin:32px calc(50% - 50vw) 48px !important;padding:36px 32px 44px;box-sizing:border-box;background:hsla(0,0%,100%,.025)}.aln.alignfull{padding-left:0;padding-right:0}.aln.alignfull>*{max-width:min(1640px,96vw);margin-left:auto;margin-right:auto;padding-left:clamp(.8rem,3vw,1.8rem);padding-right:clamp(.8rem,3vw,1.8rem);box-sizing:border-box}@media(max-width: 820px){.aln.alignfull{padding:24px 0 32px}.als--ticker,.als--both{padding:8px 12px 6px}.als--ticker .als__chips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.als--ticker .als__chips::-webkit-scrollbar{display:none}.als--ticker .als__chip{flex:0 0 auto;white-space:nowrap}}.aln__grid{grid-template-columns:repeat(auto-fill, minmax(220px, 1fr))}.aln__list{columns:1}@media(min-width: 1100px){.aln__cols{grid-template-columns:5fr 3fr}}.aln__heading{font-size:1.6rem;margin:0 0 12px}.aln h3{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ace-muted, #b9b0a0);margin:0 0 10px}.aln__cols{display:grid;grid-template-columns:3fr 2fr;gap:24px}.aln__grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:12px}.aln__card{display:block;text-decoration:none;color:inherit;background:rgba(28,24,19,.86);border:1px solid hsla(0,0%,100%,.12);border-radius:12px;overflow:hidden}.aln__img{display:block;height:110px;background:#241f18 center/cover no-repeat}.aln__body{display:block;padding:8px 10px}.aln__body b{display:block;font-size:14px;line-height:1.3}.aln__body small{color:var(--ace-muted, #b9b0a0)}.aln__list{list-style:none;margin:0;padding:0}.aln__list li{padding:7px 0;border-bottom:1px dashed hsla(0,0%,100%,.1);line-height:1.35}.aln__list a{color:inherit;text-decoration:none;font-weight:600}.aln__list small{display:block;color:var(--ace-muted, #b9b0a0)}.aln__more a{color:#ff9a45;text-decoration:none;font-weight:700}@media(max-width: 820px){.aln__cols{grid-template-columns:1fr}}body.ace-map-page{overflow:auto}.alm__summary{max-width:900px;margin:18px auto 40px;padding:0 16px;color:var(--ace-muted, #b9b0a0);font-size:15px;line-height:1.55}.alm__summary h2{color:var(--ace-ink, #f5f2ea);font-size:1.3rem;margin:0 0 8px}.alm__summary a{color:#ff9a45}.alm__summary-stamp{font-size:12px;opacity:.7}.alm__radiostat{display:flex;gap:8px;align-items:baseline;margin:4px 0 6px}.alm__radiostat b{font-size:24px;color:var(--alm-ink)}.alm__radiolegend{display:flex;flex-wrap:wrap;gap:4px 10px;margin:4px 0 6px;font-size:11px}.alm__radiolegend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.alm__stations{padding:6px}.alm__stations .alm__btn{width:100%;justify-content:center}.arp{max-width:520px;margin:20px auto;padding:0 12px;color:var(--ace-ink, #f5f2ea)}.arp.is-pop{margin:0;padding:12px;max-width:none}.arp__now{background:rgba(28,24,19,.95);border:1px solid hsla(0,0%,100%,.14);border-radius:14px;padding:12px 14px;margin-bottom:12px}.arp__title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ace-muted, #b9b0a0)}.arp__station{font-size:18px;font-weight:700;margin:2px 0 8px}.arp__ctl{display:flex;align-items:center;gap:10px}.arp__play{width:44px;height:44px;border-radius:50%;border:0;background:#ff7a18;color:#1a1108;font-size:18px;cursor:pointer;flex:0 0 44px}.arp__vol{flex:1;accent-color:#ff7a18}.arp__pop{border:1px solid hsla(0,0%,100%,.16);background:rgba(0,0,0,0);color:inherit;border-radius:999px;padding:6px 10px;font:inherit;cursor:pointer}.arp__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.arp__st{display:block;width:100%;text-align:left;background:rgba(28,24,19,.86);border:1px solid hsla(0,0%,100%,.12);border-radius:10px;padding:9px 12px;color:inherit;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.arp__st small{display:block;font-weight:400;color:var(--ace-muted, #b9b0a0);font-size:12px}.arp__st.is-on{border-color:#ff7a18;background:rgba(255,122,24,.16)}.arp__st.is-ext::after{content:" ↗";color:var(--ace-muted, #b9b0a0)}.arp__note{font-size:12px;color:var(--ace-muted, #b9b0a0);margin-top:12px}.arp__note a{color:#ff9a45}.alm__bushead{display:flex;gap:12px;align-items:center;margin-bottom:6px}.alm-busmodel{width:120px;height:60px;flex:0 0 120px;filter:drop-shadow(0 6px 10px rgba(0, 0, 0, 0.5))}.alm__busline{display:inline-block;color:#fff;font-weight:800;border-radius:6px;padding:2px 8px;font-size:15px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.alm__busdest{font-weight:600;margin:4px 0 2px}.alm__share{background:var(--alm-surface);border:1px solid var(--alm-line);color:var(--alm-ink)}.alm-tram .alm-bus__body{width:28px;height:28px;border-radius:50%}.alm-tram .alm-bus__body::after{display:none}.alm-tram .alm-bus__lbl{font-size:14px}.alm__skipbands{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.alm__skipbands span{font-size:11px;border-radius:6px;padding:2px 6px;background:hsla(0,0%,100%,.08)}.alm__skipbands span b{font-weight:700;margin-right:3px}.alm__skipbands .is-good{background:rgba(62,207,142,.25)}.alm__skipbands .is-fair{background:rgba(255,176,32,.25)}.alm__skipbands .is-poor{background:rgba(255,77,79,.22)}.alm-plan{width:28px;height:28px;border-radius:50%;background:#ff9a45;color:#1a1108;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #1a1108;box-shadow:0 2px 8px rgba(0,0,0,.6)}body:has(#ace-live-map) .wp-block-template-part,body:has(#ace-live-map) header{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}.alm__tktrack,.als__tktrack{will-change:transform}.alm__ticker,.alm__group,.alm__panel,.alm__chips{contain:paint}.alm.is-following .leaflet-marker-icon:not(.is-followed){opacity:.18 !important;filter:saturate(0.4)}.alm.is-following .leaflet-marker-icon.is-followed{opacity:1 !important;z-index:9000 !important;filter:drop-shadow(0 0 10px rgba(255, 255, 255, 0.9))}.alm.is-following .leaflet-marker-icon.is-followed .alm-bus__body{transform-origin:50% 50%;box-shadow:0 0 0 4px hsla(0,0%,100%,.55),0 2px 10px rgba(0,0,0,.7)}.alm.is-following .leaflet-almLines-pane path:not(.alm-focus-route),.alm.is-following .leaflet-almPoly-pane path,.alm.is-following .leaflet-overlay-pane path:not(.alm-focus-route){opacity:.15 !important}.alm.is-following .leaflet-almLines-pane path.alm-focus-route{opacity:1 !important}.alm.is-following .alm__flags,.alm.is-following .alm__leaders{opacity:.15}.alm.is-following .alm-tile-wx,.alm.is-following .alm-tile-traffic{opacity:.25 !important}.alm.is-following .leaflet-marker-icon{transition:opacity .35s}body.ace-locked .wp-block-post-content>*:has(.ace-app){display:block !important}body.ace-locked .wp-block-post-content>.als{display:none !important}.ace-suggest{box-sizing:border-box;max-width:min(1640px,96vw);padding:0 clamp(.8rem,3vw,1.8rem);margin:24px auto 32px}.ace-suggest-band{padding:0}body:has(.als--ticker) .ace-app{margin-top:0 !important;margin-block-start:0 !important;padding-top:0}body:has(.als--ticker) .ace-app__map{-webkit-mask-image:linear-gradient(to bottom, #000 0, #000 72%, transparent 100%);mask-image:linear-gradient(to bottom, #000 0, #000 72%, transparent 100%)}body:has(.als--ticker) .ace-events-browser{margin-top:-7.5rem !important;padding-top:1rem;background:linear-gradient(180deg, transparent, var(--ace-bg, #14120f) 5rem);isolation:isolate}body:has(.als--ticker) .ace-app{isolation:isolate;z-index:0}body:has(.als--ticker) .ace-browser__head{margin-bottom:.35rem}body:has(.als--ticker) .ace-grid-heading{color:var(--ace-ink, #f5f2ea)}@media(max-width: 820px){.ace-suggest,.ace-suggest-band{padding:0 16px}}.alm__jobs-controls{padding:10px 12px;min-width:0;max-width:100%;font-size:12px;line-height:1.5}.alm__jobs-controls label{display:grid;gap:6px;font-weight:600}.alm__jobs-controls input{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid var(--shell-line, #44504e);border-radius:8px;background:var(--shell-card, #222b2a);color:var(--shell-ink, #f4f2e9);font:inherit}.alm__jobs-controls button{margin-top:8px;width:100%;white-space:normal}.alm__jobs-controls a{display:block;color:var(--shell-accent, #eeb659);overflow-wrap:anywhere}.alm__jobs-status,.alm__jobs-note{color:var(--shell-muted, #aeb8b5);font-size:12px;line-height:1.55}.alm__jobs-description{white-space:pre-wrap;overflow-wrap:anywhere;margin-block:16px;font-size:14px;line-height:1.65}.alm__food-controls{padding:10px 8px 6px;display:grid;gap:12px;min-width:0;max-width:100%;font-size:12px;line-height:1.45}.alm__food-controls fieldset{min-width:0;margin:0;padding:0;border:0}.alm__food-controls legend,.alm__food-controls label{display:grid;gap:6px;font-weight:700}.alm__food-controls .alm__sel{margin:0;min-width:0}.alm__food-status{margin:2px 0 0;color:var(--shell-muted, #aeb8b5);font-size:11px;line-height:1.45}.alm__filter-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.alm__filter-pills button{min-width:34px;padding:5px 9px;border:1px solid var(--alm-line);border-radius:999px;background:rgba(0,0,0,0);color:var(--alm-muted);font:inherit;font-weight:700;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}.alm__filter-pills button:hover{border-color:var(--alm-orange-2);color:var(--alm-ink);transform:translateY(-1px)}.alm__filter-pills button.is-on{border-color:var(--alm-orange);background:var(--alm-orange);color:#17130d}.alm-cluster.is-food{background:rgba(62,207,142,.92);color:#08251a}.alm-food-popup .alm__rating{margin:4px 0}.alm-food-popup a{display:inline-block;margin-top:5px;font-weight:700}.ace-map-results .alm__job-result{display:block;width:100%;text-align:left;white-space:normal}.alm__gall{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-left:auto;padding:2px;border:1px solid var(--alm-line);border-radius:999px;background:color-mix(in srgb, var(--alm-surface-2) 82%, transparent);font-size:8px;letter-spacing:.05em;text-transform:uppercase}.alm__gall button{min-width:34px;padding:4px 6px;border:0;border-radius:999px;background:rgba(0,0,0,0);color:var(--alm-muted);font:inherit;font-weight:800;text-transform:inherit;cursor:pointer;transition:background .2s cubic-bezier(0.2, 0.8, 0.2, 1),color .2s,transform .2s}.alm__gall button:hover{color:var(--alm-ink)}.alm__gall button[aria-pressed=true]{background:var(--alm-orange);color:#17130d;box-shadow:0 1px 5px rgba(0,0,0,.2)}.alm__gall button:active{transform:scale(0.94)}.alm__group h3{display:flex;align-items:center;gap:.4rem}.alm__llegend{padding:0 6px 6px 36px;gap:3px 9px}.alm__llegend span{white-space:nowrap}.alm__llegend em{font-style:normal;margin-right:3px}.alm__layer.is-sub{padding-left:26px;font-size:12.5px;color:var(--alm-muted)}.alm__layer.is-sub.is-on{color:var(--alm-ink)}.alm__layer.is-sub::before{content:"";width:8px;height:8px;margin-right:-4px;border-left:1px solid hsla(0,0%,100%,.22);border-bottom:1px solid hsla(0,0%,100%,.22);border-radius:0 0 0 4px;flex:0 0 8px;align-self:flex-start;margin-top:2px}.alm__src{color:var(--alm-muted);font-size:11px;margin:6px 0 0}.alm__meta span.is-src{background:hsla(0,0%,100%,.12)}.alm-cluster.is-layer{background:rgba(78,161,255,.9);color:#08192e}.alm-air-citizen{opacity:.85}.alm__busfleet{display:block;color:var(--alm-muted);margin:0 0 8px}.alm__week{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;font-size:11px;font-variant-numeric:tabular-nums}.alm__week span{flex:1 1 0;min-width:34px;text-align:center;padding:4px 2px;border-radius:6px;background:hsla(0,0%,100%,.05);color:var(--alm-muted)}.alm__week span b{display:block;font-size:10px;color:var(--alm-ink)}.alm__week span.is-high{background:rgba(78,161,255,.22);color:var(--alm-ink)}.alm__modes{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.alm__modes .alm__btn{padding:5px 10px;font-size:12px}.alm__xtra{margin-top:10px}.alm__xtra small{display:block;margin-top:4px;color:var(--alm-muted);font-size:11px}.alm__xtra li.is-amber b{color:#ffb020}.alm__xtra li.is-red b{color:#ff4d4f}.alm__xtra li.is-online b{color:#3ecf8e}.alm__xtra li span:last-child{white-space:normal;text-align:right}.alm__layer[data-layer=mysheffield]{border-left:3px solid #ffd166}.alm__layer[data-layer=mysheffield].is-on{background:rgba(255,209,102,.12)}.alm__layer[data-layer=mysheffield] .alm__lbl::after{content:"only you";display:inline-block;margin-inline-start:.5em;padding:0 .4em;border-radius:6px;font-size:.7em;letter-spacing:.02em;text-transform:uppercase;background:rgba(255,209,102,.18);color:#ffd166;vertical-align:middle}.ace-minimap--plate{border-radius:var(--ace-radius, 12px);overflow:hidden}.ace-minimap__more{margin:.4rem 0 0;font-size:.82rem}.ace-minimap__more a{color:var(--ace-muted, #b9b0a0);text-decoration:underline}.ace-minimap__more a:hover,.ace-minimap__more a:focus{color:var(--ace-orange, #ff7a18)}.alm-key{display:flex;flex-direction:column;gap:2px;padding:0 0 18px;color:var(--shell-ink, var(--alm-ink))}.alm-key__head{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;position:sticky;top:0;z-index:2;background:var(--shell-panel, var(--alm-surface))}.alm-key__head h2{flex:1;margin:0;font-size:15px;letter-spacing:.02em}.alm-key__x{border:0 !important;background:none !important;font-size:19px;line-height:1;padding:2px 6px !important;color:inherit}.alm-key__back{display:none;font-size:11px}.alm-key__status{margin:0;padding:0 16px 8px;font-size:11px;color:var(--shell-muted, var(--alm-muted))}.alm-key__layers{display:flex;flex-direction:column;gap:2px;padding:0 10px 6px}.alm-key__layer{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 8px !important;font-size:12px;border:0 !important;border-radius:8px !important;background:rgba(0,0,0,0) !important;color:inherit}.alm-key__layer:hover{background:color-mix(in srgb, var(--shell-accent, #ff7a18) 10%, transparent) !important}.alm-key__layer.is-focus{background:color-mix(in srgb, var(--shell-accent, #ff7a18) 16%, transparent) !important;box-shadow:inset 2px 0 0 var(--shell-accent, #ff7a18)}.alm-key__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alm-key__dot{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;line-height:1;background:color-mix(in srgb, var(--c, #ff7a18) 30%, transparent);box-shadow:inset 0 0 0 1px var(--c, #ff7a18)}.alm-key__cnt{flex:none;font-variant-numeric:tabular-nums;font-size:12px;color:var(--shell-ink, var(--alm-ink))}.alm-key__cnt small{opacity:.6;font-size:10px}.alm-key__cnt.is-none,.alm-key__cnt.is-wait{color:var(--shell-muted, var(--alm-muted));font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}.alm-key__legend{display:flex;flex-wrap:wrap;gap:4px 10px;padding:0 10px 8px 40px;font-size:10.5px;color:var(--shell-muted, var(--alm-muted))}.alm-key__legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-inline-end:4px;vertical-align:baseline}.alm-key__legend em{font-style:normal;margin-inline-end:4px}.alm-key__fhead{padding:12px 16px 4px;border-top:1px solid var(--shell-line, var(--alm-line))}.alm-key__fhead h3{margin:0;font-size:13px}.alm-key__sort{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 16px}.alm-key__sort label{font-size:11px;color:var(--shell-muted, var(--alm-muted))}.alm-key__sort select{flex:1;min-width:120px;font-size:11px;padding:7px;border-radius:7px;border:1px solid var(--shell-line, var(--alm-line));background:var(--shell-bg, var(--alm-surface-2));color:inherit}.alm-key__dir{font-size:11px;padding:6px 9px !important}.alm-key__where{padding:0 16px 8px}.alm-key__me{font-size:10.5px;padding:5px 8px !important;color:var(--shell-muted, var(--alm-muted))}.alm-key__me[aria-pressed=true]{color:var(--shell-accent, var(--alm-orange));border-color:currentcolor !important}.alm-key__list{list-style:none;margin:0;padding:0 10px;display:flex;flex-direction:column;gap:2px}.alm-key__item{display:flex;align-items:flex-start;gap:9px;width:100%;text-align:left;padding:9px 8px !important;border:0 !important;border-radius:8px !important;background:rgba(0,0,0,0) !important;color:inherit;font-size:12px}.alm-key__item:hover{background:color-mix(in srgb, var(--shell-accent, #ff7a18) 12%, transparent) !important}.alm-key__itxt{flex:1;min-width:0}.alm-key__ttl{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alm-key__itxt small{display:block;font-size:10.5px;color:var(--shell-muted, var(--alm-muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alm-key__val{flex:none;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.alm-key__val small{display:block;font-weight:400;font-size:10px;color:var(--shell-muted, var(--alm-muted))}.alm-key__empty,.alm-key__more{margin:0;padding:8px 16px;font-size:11px;color:var(--shell-muted, var(--alm-muted));list-style:none}.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__status,.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__layers,.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__focus{display:none}.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__head h2,.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__x{display:none}.ace-shell__contextual:has(.alm__panel.is-open) .alm-key__back{display:block}.alm-key__btn{position:absolute;top:64px;right:12px;z-index:26;display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:12px;border-radius:999px;border:1px solid var(--alm-line);background:var(--alm-surface);color:var(--alm-ink);box-shadow:0 8px 24px rgba(0,0,0,.35)}.alm-key__btncnt:not(:empty){padding:1px 7px;border-radius:999px;font-size:11px;font-variant-numeric:tabular-nums;background:var(--alm-orange);color:#1b1206}@media(max-width: 900px){.alm-key__btn{top:auto;bottom:18px;right:12px}}.ace-map-clear{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem 0}.ace-map-clear .alm-clear{flex:0 0 auto;padding:.4rem .8rem;border:1px solid var(--ace-line, rgba(255, 255, 255, 0.16));border-radius:999px;background:rgba(0,0,0,0);color:var(--ace-ink, #f5f2ea);font:inherit;font-size:.82rem;cursor:pointer}.ace-map-clear .alm-clear:hover{border-color:var(--ace-orange-2, #efb665);color:var(--ace-orange-2, #efb665)}.ace-map-clear .alm-clear__on{font-size:.78rem;color:var(--ace-muted, #b9b0a0)}.ace-map-scopes{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;padding:.1rem .75rem .5rem}.ace-map-scopes p{flex:0 0 100%;margin:0;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ace-muted, #b9b0a0)}.ace-map-scopes label{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem;cursor:pointer}@media(prefers-reduced-motion: no-preference){.ace-map-scopes{animation:alm-scopes .16s ease}@keyframes alm-scopes{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}}.alm__route[style*="--ri:#15120d"]{text-shadow:none}.alm-key__list li.is-lead .alm-key__item{border-color:var(--ace-orange-2, #efb665);background:color-mix(in srgb, var(--ace-orange-2, #efb665) 10%, transparent)}.alm-key__lead{display:block;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ace-orange-2, #efb665)}.alm-key__fold{display:flex;align-items:center;gap:.45rem;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.alm-key__fold h3{margin:0}.alm-key__caret{flex:0 0 auto;width:0;height:0;border-left:5px solid currentcolor;border-top:4px solid rgba(0,0,0,0);border-bottom:4px solid rgba(0,0,0,0);opacity:.75;transform:rotate(90deg)}.alm-key__fold[aria-expanded=false] .alm-key__caret{transform:none}@media(prefers-reduced-motion: no-preference){.alm-key__caret{transition:transform .16s ease}}.alm__layer.is-locked,.alm__layer[disabled]{cursor:not-allowed;opacity:.48}.alm__layer.is-locked:hover,.alm__layer[disabled]:hover{background:none}.alm__layer.is-locked .alm__sw{opacity:.35}.alm-indoor{position:absolute;inset:0;z-index:45;display:grid;grid-template-rows:auto auto 1fr auto;background:var(--alm-bg, #171b1b);color:var(--alm-ink, #f5f2ea)}.alm-indoor header{display:flex;align-items:center;gap:1rem;padding:.65rem .9rem;border-bottom:1px solid var(--alm-line);background:var(--alm-surface, #1d2323)}.alm-indoor header div{display:grid}.alm-indoor header small{color:var(--alm-muted)}.alm-indoor button,.alm-indoor a{font:inherit}.alm-indoor__back,.alm-indoor__levels button{border:1px solid var(--alm-line);border-radius:999px;background:rgba(0,0,0,0);color:inherit;padding:.45rem .75rem;cursor:pointer}.alm-indoor__levels{display:flex;gap:.45rem;padding:.55rem .9rem;overflow-x:auto;background:var(--alm-surface-2, #242b2a)}.alm-indoor__levels button[aria-pressed=true]{background:var(--alm-orange, #ff7a18);border-color:var(--alm-orange, #ff7a18);color:#1a1108}.alm-indoor__canvas{min-height:0;background:#252b2a}.alm-indoor__facts{padding:.65rem .9rem;border-top:1px solid var(--alm-line);background:var(--alm-surface, #1d2323)}.alm-indoor__facts p{margin:.15rem 0}.alm-indoor__facts .alm-indoor__notice{margin-block:.35rem .55rem;padding:.55rem .65rem;border-left:3px solid var(--alm-orange-2, #efb665);background:color-mix(in srgb, var(--alm-orange-2, #efb665) 10%, transparent);color:var(--alm-muted, #b9b0a0);font-size:.82rem}.alm-indoor__facts a{color:var(--alm-orange-2, #efb665)}@media(min-width: 821px){body.single-post.ace-workspace-page .ace-shell--content .ace-hub-route .entry-content>.alm:is([data-map-profile=ghosts],[data-map-profile=halloween]){--ace-ghost-map-bleed: clamp(1.5rem, 6vw, 6rem);float:right;clear:right;left:auto !important;box-sizing:border-box;width:calc(50% + var(--ace-ghost-map-bleed)) !important;max-width:none !important;margin:1rem calc(-1*var(--ace-ghost-map-bleed)) 1.5rem clamp(1.25rem,3vw,2.25rem) !important;border:1px solid var(--alm-line, rgba(255, 255, 255, 0.12));border-radius:18px;overflow:hidden}}@media(max-width: 820px){body.single-post.ace-workspace-page .ace-shell--content .ace-hub-route .entry-content>.alm:is([data-map-profile=ghosts],[data-map-profile=halloween]){float:none;left:auto !important;width:100% !important;max-width:100% !important;margin:1.25rem 0 !important;border-radius:14px;overflow:hidden}}body.postid-29332.ace-workspace-page .ace-shell--content .ace-hub-route .entry-content>.alm[data-map-profile=halloween]{float:none;clear:both;left:auto !important;box-sizing:border-box;width:100% !important;max-width:none !important;margin:1.5rem 0 !important;border:1px solid var(--alm-line, rgba(255, 255, 255, 0.12));border-radius:18px;overflow:hidden}body.postid-29332 .alm[data-map-profile=halloween] .alm__brand{position:relative;z-index:48;max-width:min(58vw,720px);padding:.7rem 1rem;border-color:hsla(0,0%,100%,.28);background:rgba(15,17,17,.94);color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.58);font-size:clamp(1rem,2vw,1.45rem);line-height:1.15;white-space:normal}@media(max-width: 820px){body.postid-29332 .alm[data-map-profile=halloween] .alm__brand{max-width:calc(100vw - 8rem);padding:.55rem .75rem;font-size:.95rem}}


/* ace-matchday */
/* Match day (issue #55): banner on single events, chip in the live strip, fixture list. */
.acemd{margin:0 0 22px;padding:14px 16px;background:var(--ace-surface,#1c1813);border:1px solid rgba(255,176,32,.45);border-left:4px solid #ffb020;border-radius:var(--ace-radius,12px);color:var(--ace-ink,#f5f2ea);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.acemd__row{display:flex;align-items:flex-start;gap:12px}
.acemd__row+.acemd__row{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.1)}
.acemd__icon{flex:0 0 auto;font-size:1.5rem;line-height:1}
.acemd__body{flex:1 1 auto;min-width:0}
.acemd__title{display:block;font-size:1.05rem;color:#ffb020}
.acemd__fix{font-weight:600}
.acemd__fix small{color:var(--ace-muted,#b9b0a0);font-weight:500}
.acemd__note{margin:6px 0 0;color:var(--ace-muted,#b9b0a0);font-size:.88rem;line-height:1.45}
.acemd__map{flex:0 0 auto;align-self:center;background:var(--ace-orange,#ff7a18);color:var(--ace-orange-ink,#1a1108);border-radius:999px;padding:7px 13px;font-weight:700;font-size:.82rem;text-decoration:none;white-space:nowrap}
.acemd__map:hover{background:var(--ace-orange-2,#ff9a45);color:var(--ace-orange-ink,#1a1108)}
.acemd__credit,.acemdl__credit{margin:10px 0 0;font-size:.72rem;color:var(--ace-muted,#b9b0a0)}
.acemd__credit a,.acemdl__credit a{color:inherit}
.als__chip.acemd-chip{border-color:#ffb020;color:#ffb020}
.acemdl{margin:28px 0;padding:18px 20px 16px;background:var(--ace-surface,#1c1813);border:1px solid rgba(255,255,255,.12);border-radius:var(--ace-radius,12px);color:var(--ace-ink,#f5f2ea)}
.acemdl__heading{margin:0 0 12px;font-size:1.25rem;line-height:1.2}
.acemdl__list{list-style:none;margin:0;padding:0}
.acemdl__item{display:grid;grid-template-columns:auto 92px 1fr auto;align-items:center;gap:12px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.08);font-size:.92rem}
.acemdl__item:last-child{border-bottom:0}
.acemdl__item.is-today{background:rgba(255,176,32,.08);margin:0 -10px;padding:9px 10px;border-radius:8px}
.acemdl__icon{font-size:1.3rem;line-height:1}
.acemdl__when b,.acemdl__what b{display:block}
.acemdl__when small,.acemdl__what small{display:block;color:var(--ace-muted,#b9b0a0);font-size:.8rem}
.acemdl__map{background:rgba(255,255,255,.08);color:var(--ace-ink,#f5f2ea);border-radius:999px;padding:5px 11px;font-weight:700;font-size:.78rem;text-decoration:none}
.acemdl__map:hover{background:var(--ace-orange,#ff7a18);color:var(--ace-orange-ink,#1a1108)}
.acemdl__empty{margin:0;color:var(--ace-muted,#b9b0a0)}
@media (max-width:520px){.acemdl__item{grid-template-columns:auto 1fr auto}.acemdl__when{display:none}.acemd__row{flex-wrap:wrap}.acemd__map{align-self:flex-start}}


/* ace-bus-disruptions */
/* Bus disruptions (issue #56): shortcode list, home-strip chip, map-ticker anchors. */
.acebd{margin:28px 0;padding:18px 20px 16px;background:var(--ace-surface,#1c1813);border:1px solid rgba(255,255,255,.12);border-left:4px solid #ffb020;border-radius:12px;color:var(--ace-ink,#f5f2ea)}
.acebd__heading{margin:0 0 12px;font-size:1.25rem;line-height:1.2}
.acebd__list{list-style:none;margin:0;padding:0}
.acebd__item{padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.1)}
.acebd__item:last-child{border-bottom:0}
.acebd__sum{display:block;color:#ffb020}
.acebd__meta{display:block;margin-top:3px;font-size:.82rem;color:var(--ace-muted,#b9b0a0)}
.acebd__text{margin:6px 0 0;font-size:.92rem;line-height:1.45;color:var(--ace-ink,#f5f2ea)}
.acebd__empty{margin:0;color:var(--ace-muted,#b9b0a0)}
.acebd__credit{margin:12px 0 0;font-size:.72rem;color:var(--ace-muted,#b9b0a0)}
.acebd__credit a{color:inherit}
.als__chip.acebd-chip{border-color:#ffb020;color:#ffb020}
.alm__ticker a.acebd-tk{color:var(--alm-amber,#ffb020)}


/* ace-event-weather */
/* Weather at start time (issue #60): forecast chip on single events and map-list cards. */
.aceew{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:18px 0 22px;padding:12px 16px;background:var(--ace-surface,#1c1813);border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:var(--ace-radius,12px);color:var(--ace-ink,#f5f2ea);font-size:.92rem}
.aceew__chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--ace-line,rgba(255,255,255,.12));font-weight:700;white-space:nowrap;line-height:1.2}
.aceew__icon{font-size:1.05em;line-height:1}
.aceew__dry{color:var(--ace-muted,#b9b0a0);font-weight:600}
.aceew__attr{flex-basis:100%;font-size:.7rem;line-height:1.3;color:var(--ace-muted,#b9b0a0);opacity:.8}
/* Card chip appended by event-weather.js under the date line. */
.aceew-card{display:inline-flex;align-items:center;gap:4px;margin:2px 0 4px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14);color:var(--ace-ink,#f5f2ea);font-size:.72rem;font-weight:700;line-height:1.3;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.aceew-card__icon{line-height:1}
@media (max-width:480px){.aceew{padding:10px 12px;font-size:.88rem}.aceew__chip{white-space:normal}}


/* ace-flood-power */
/* Flood watch and power-cut flags (issue #61). Prefix ace-fp. */
.ace-fp{margin:0 0 18px;display:grid;gap:10px}
.ace-fp__banner{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:var(--ace-surface,rgba(255,255,255,.06));color:var(--ace-ink,#f5f2ea);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.ace-fp__banner--amber{border-color:rgba(255,170,40,.55);background:linear-gradient(90deg,rgba(255,170,40,.18),var(--ace-surface,rgba(255,255,255,.06)) 70%)}
.ace-fp__banner--red{border-color:rgba(255,80,70,.65);background:linear-gradient(90deg,rgba(255,80,70,.22),var(--ace-surface,rgba(255,255,255,.06)) 70%)}
.ace-fp__icon{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:16px;line-height:1;background:rgba(255,170,40,.9);color:#1a1409}
.ace-fp__banner--red .ace-fp__icon{background:rgba(255,80,70,.95);color:#fff}
.ace-fp__text{display:grid;gap:3px;min-width:0}
.ace-fp__title{font-size:1rem;font-weight:800;letter-spacing:.2px}
.ace-fp__detail{font-size:.85rem;color:var(--ace-ink,#f5f2ea);opacity:.9}
.ace-fp__msg{font-size:.85rem;color:var(--ace-muted,#b9b0a0)}
.ace-fp__attr{font-size:.72rem;color:var(--ace-muted,#b9b0a0)}
.ace-fp__attr a{color:var(--ace-orange,#ff7a18);text-decoration:none}
.ace-fp__attr a:hover{text-decoration:underline}
/* Card badges appended by flood-power.js */
.ace-fp__badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.ace-fp__badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:700;line-height:1.5;white-space:nowrap;border:1px solid rgba(255,170,40,.6);background:rgba(255,170,40,.18);color:#ffd28a}
.ace-fp__badge--red{border-color:rgba(255,80,70,.7);background:rgba(255,80,70,.22);color:#ffb4ae}
.ace-fp__badge--power{border-color:rgba(255,170,40,.6);background:rgba(255,170,40,.18);color:#ffd28a}
@media (max-width:600px){.ace-fp__banner{padding:10px 12px}.ace-fp__icon{flex-basis:26px;width:26px;height:26px;font-size:13px}}


/* ace-context-chips */
/* Context chips (issue #63): bank holidays, term dates, council meetings, elections. */
.acectx{margin:12px 0}
.acectx__chips{display:flex;flex-wrap:wrap;gap:8px}
.acectx__credit{margin:8px 0 0;font-size:.72rem;color:var(--ace-muted,#b9b0a0)}
.als__chip.acectx-chip,.alm__now .acectx-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(28,24,19,.86);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px;color:var(--ace-ink,#f5f2ea);text-decoration:none;white-space:nowrap}
.acectx-chip small{color:var(--ace-muted,#b9b0a0);font-weight:500}
.acectx-chip--bank-holiday{border-color:var(--ace-orange,#ff7a18)}
.acectx-chip--election{border-color:#7fb3ff}
.acectx-chip--council{border-color:rgba(255,255,255,.28)}
.acectx-chip--term{border-color:#9be07a}
.alm__now .acectx-chip{padding:4px 10px;font-size:12px}
.alm__now .acectx-chip small{display:none}


/* ace-discovery-preferences */
.ace-discovery-watch,.ace-discovery-manager{box-sizing:border-box;min-width:0;padding:1rem;border-block:1px solid var(--shell-line,#394240);font:inherit;color:inherit}.ace-discovery-watch form{display:grid;gap:.65rem;margin-block:1rem}.ace-discovery-watch input[type=text]{box-sizing:border-box;display:block;width:100%;min-width:0;padding:.7rem;border:1px solid var(--shell-line,#68716e);border-radius:6px;background:var(--shell-card,var(--ace-surface,#fff));color:inherit}.ace-discovery-watch button,.ace-discovery-manager button{font:inherit;color:inherit;white-space:normal;text-align:start;padding:.6rem .7rem;max-width:100%;cursor:pointer}.ace-discovery-watch>button{width:100%;border:1px solid var(--shell-line,#68716e);background:transparent}.ace-discovery-watch p,.ace-discovery-manager p{font-size:.875rem;line-height:1.5;margin:.6rem 0}.ace-discovery-toggle{display:flex!important;gap:.5rem;align-items:center;font-size:.875rem}.ace-discovery-toggle input{width:1.1rem!important;height:1.1rem;flex:none;accent-color:#efb65d}.ace-discovery-list{list-style:none;padding:0;margin:.8rem 0}.ace-discovery-saved{border-block-end:1px solid var(--shell-line,#68716e);padding:.9rem 0;overflow-wrap:anywhere}.ace-discovery-saved-title{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.ace-discovery-saved-title>a{font-weight:650}.ace-discovery-saved-title>span{font-size:.75rem;opacity:.7}.ace-discovery-channels{display:flex;flex-wrap:wrap;gap:.6rem;margin:.6rem 0}.ace-discovery-remove{background:transparent;border:0;text-decoration:underline;font-size:.8rem!important;padding:.3rem 0!important}.ace-discovery-summary{opacity:.75}.ace-discovery-watch summary{cursor:pointer;padding-block:.7rem}.ace-discovery-watch a,.ace-discovery-manager a{color:inherit;text-decoration:underline}.ace-discovery-watch button:focus-visible,.ace-discovery-watch input:focus-visible,.ace-discovery-manager a:focus-visible{outline:2px solid #efb65d;outline-offset:3px}


/* ace-indoor-webgl */
.ace-indoor-3d__controls{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--shell-line, var(--ace-line, #35403f))}.ace-indoor-3d__status{margin:0;color:var(--shell-muted, var(--ace-muted, #a7b1ad));font-size:12px}.ace-indoor-3d__stage{position:relative;min-height:320px;background:var(--shell-bg, var(--ace-bg, #14191b));overflow:hidden}.ace-indoor-3d__stage canvas{display:block;width:100%;height:100%;min-height:320px;touch-action:none}.ace-indoor-3d__places{position:absolute;left:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px);margin:0;padding:0;list-style:none}.ace-indoor-3d__places button{padding:6px 9px;font-size:11px;background:var(--shell-panel, var(--ace-surface, #1c2224))}.ace-indoor-3d__places button[aria-pressed=true]{border-color:var(--shell-accent, var(--ace-orange, #efb665));color:var(--shell-accent, var(--ace-orange, #efb665))}.ace-indoor-3d__fallback{padding:18px;color:var(--shell-muted, var(--ace-muted, #a7b1ad))}@media(prefers-reduced-motion: reduce){.ace-indoor-3d__stage *{scroll-behavior:auto !important;transition:none !important;animation:none !important}}


/* contact-form-7 */
.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
	word-break: normal !important;
}

.wpcf7 .hidden-fields-container {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	color: #dc3232; /* Red */
	font-size: 1em;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #dc3232;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.wpcf7 [inert] {
	opacity: 0.5;
}

.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
	direction: ltr;
}

.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}

.wpcf7-reflection > output[hidden] {
	display: none;
}


/* iga-footer */
/*
 * Site footer. Loaded from inc/footer.php, deliberately not from workspace.css:
 * the footer appears on ordinary pages as well as inside the workspace shell,
 * so it carries its own tokens and does not depend on the shell being present.
 *
 * Dark is the default. Light is the [data-ace-theme=light] branch, set on the
 * body by the theme switcher.
 */

.ace-footer {
	--fo-bg: #14100c;
	--fo-ink: #f2efe7;
	--fo-muted: #a49c8d;
	--fo-line: color-mix(in srgb, #f5f2ea 14%, transparent);
	--fo-accent: #ff9a45;
	--fo-gap: clamp(28px, 4vw, 48px);
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: clamp(36px, 5vw, 64px) clamp(18px, 4vw, 56px) clamp(24px, 3vw, 36px);
	background: var(--fo-bg);
	color: var(--fo-ink);
	border-top: 1px solid var(--fo-line);
	font-size: 15px;
	line-height: 1.55;
	overflow-x: clip;
}

[data-ace-theme=light] .ace-footer {
	--fo-bg: #e4e2d8;
	--fo-ink: #23201b;
	--fo-muted: #5f5a51;
	--fo-line: color-mix(in srgb, #23201b 16%, transparent);
	--fo-accent: #a8500f;
}

.ace-footer * {
	box-sizing: border-box;
}

.ace-footer__inner {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: clamp(26px, 3.2vw, 38px) clamp(32px, 4vw, 72px);
}

/* ------------------------------------------------------------------ brand -- */

.ace-footer__brand {
	flex: 1 1 100%;
	max-width: 68ch;
	min-width: 0;
}

.ace-footer__mark {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	text-decoration: none;
	color: var(--fo-ink);
	font-family: 'Space Grotesk', 'DM Sans', system-ui, sans-serif;
	font-weight: 700;
	font-size: clamp(20px, 2.4vw, 25px);
	letter-spacing: -0.01em;
	line-height: 1.1;
}

.ace-footer__mark-pin {
	color: var(--fo-accent);
	flex: none;
}

.ace-footer__mark:hover .ace-footer__mark-name,
.ace-footer__mark:focus-visible .ace-footer__mark-name {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ace-footer__blurb {
	margin: 14px 0 0;
	color: var(--fo-muted);
	font-size: 14px;
	line-height: 1.6;
	text-wrap: pretty;
}

.ace-footer__why {
	margin: 12px 0 0;
	font-size: 14px;
}

.ace-footer__why a {
	color: var(--fo-accent);
	text-decoration: none;
	border-bottom: 1px solid color-mix(in srgb, currentColor 45%, transparent);
	padding-bottom: 1px;
}

.ace-footer__why a:hover,
.ace-footer__why a:focus-visible {
	border-bottom-color: currentColor;
}

.ace-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.ace-footer__social a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 13px;
	min-height: 32px;
	border: 1px solid var(--fo-line);
	border-radius: 999px;
	color: var(--fo-ink);
	text-decoration: none;
	font-size: 13px;
	line-height: 1.5;
	transition: border-color .15s, color .15s;
}

.ace-footer__social a:hover,
.ace-footer__social a:focus-visible {
	border-color: var(--fo-accent);
	color: var(--fo-accent);
}

/* -------------------------------------------------------------------- nav -- */

.ace-footer__nav {
	flex: 1 1 100%;
	width: 100%;
	padding-top: clamp(22px, 3vw, 34px);
	border-top: 1px solid var(--fo-line);
	display: grid;
	/* Sized against the space the footer actually has, not the viewport, so the
	   columns behave the same beside the workspace rails as on a plain page. */
	grid-template-columns: repeat(auto-fit, minmax(146px, 1fr));
	gap: clamp(22px, 3vw, 32px) clamp(16px, 2vw, 28px);
	min-width: 0;
}

.ace-footer__group {
	min-width: 0;
}

/* A column heading here is a heading like any other on the site: sentence case,
   the same weight, the same tight tracking. The small caps treatment made the
   footer read as something bolted on from another site. */
.ace-footer__title {
	margin: 0 0 10px;
	padding: 0 0 8px;
	border-bottom: 1px solid var(--fo-line);
	color: var(--fo-ink);
	font-family: 'Space Grotesk', 'DM Sans', system-ui, sans-serif;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: .01em;
	text-transform: none;
	line-height: 1.25;
	text-wrap: balance;
	/* A two-line heading must not drop its rule below its neighbours', so every
	   title reserves two lines and sits on the same baseline. */
	display: flex;
	align-items: flex-end;
	min-height: 2.5em;
}

.ace-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ace-footer__links a {
	display: block;
	padding: 5px 0;
	color: var(--fo-muted);
	text-decoration: none;
	font-size: 14px;
	line-height: 1.45;
	overflow-wrap: break-word;
	hyphens: none;
	transition: color .15s;
}

/* Hovering a footer link changes its colour and nothing else.
   The footer columns are a <nav>, and the theme's menu styling carries a blanket
   "nav li a { border-bottom: 2px solid }" with a hover state that drops it again.
   Every footer link was therefore 2px taller until the mouse crossed it, at which
   point it shrank and shuffled down. The border is pinned off in every state here;
   the underline is a decoration, which never affects layout. */
.ace-footer__links a,
.ace-footer__links a:hover,
.ace-footer__links a:focus-visible,
.ace-footer__links a:active {
	border: 0;
}

.ace-footer__links a:hover,
.ace-footer__links a:focus-visible {
	color: var(--fo-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ----------------------------------------------------------------- bottom -- */

.ace-footer__bottom {
	flex: 1 1 100%;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 28px;
	margin: 0;
	padding-top: clamp(18px, 2.4vw, 26px);
	border-top: 1px solid var(--fo-line);
}

.ace-footer__bottom p {
	margin: 0;
	color: var(--fo-muted);
	font-size: 13px;
	line-height: 1.5;
	min-width: 0;
}

.ace-footer__made {
	flex: 1 1 32ch;
}

.ace-footer__family {
	flex: 0 1 auto;
}

.ace-footer__bottom a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
}

.ace-footer__bottom a:hover,
.ace-footer__bottom a:focus-visible {
	color: var(--fo-accent);
	text-decoration-color: currentColor;
}

.ace-footer :is(a):focus-visible {
	outline: 2px solid var(--fo-accent);
	outline-offset: 3px;
	border-radius: 3px;
}

/* ------------------------------------------------------------ breakpoints -- */

@media (max-width: 479px) {
	.ace-footer__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ace-footer__title {
		min-height: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ace-footer *,
	.ace-footer *::before,
	.ace-footer *::after {
		transition: none !important;
	}
}

/* The mark beside each name. Font Awesome Free brand icons, CC BY 4.0, inlined so
   no icon font has to be subsetted for four glyphs. */
.ace-footer__social-icon {
	flex: none;
	width: 15px;
	height: 15px;
	opacity: .9;
}

.ace-footer__social a:hover .ace-footer__social-icon,
.ace-footer__social a:focus-visible .ace-footer__social-icon {
	opacity: 1;
}


/* dashicons */
@font-face{font-family:dashicons;src:url(data:font/woff2;base64,d09GMgABAAAAABKYAAsAAAAAI0wAABJIAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHCAGVgCDUgq8IKxQATYCJAOBAguBAAAEIAWBBAcgGzcaUZSyWl6AnwnGODcFHUKdIFFRF7n+0PCJvDNCktkfaJv/Dsk7QAXu8LCxmkN7CirGPHOgc7MWHLIucC5ctHXuR5pLXP25DPxp/NK1PyLggf+bf1sURk/TRAMOLMHE0tJJGlgcd9L6A56PwzUm2LSigMKAAovSDVTnE7TzwMrHFMrW+6Mx782ZP7N7k5KboUQLWKKFzyBpts+f235frvZVutpyoOVsyCWAwN/PlTY5zJ7KqlYRqNranZN1gMq9zf7t/r+UZDl3ZUhSSgqIrorAlf8eJsUU0V0Vo5JnRIG0RRtHuPLBNlbnYi9xdqHmWGSFZC9XAwgAlA8/SJ1HG0GICwBcLrhpkeh/ZAy8nCKOGIvk4w1+E2zbOgcvga6sMsYwH3Q/IZ4TgoaxMQJIBFERBEJsokAhZHJzoytfUw2gA56A2w0hHvgTSSxZ5DMdGhPVzGMxa1nPfjrokjBJkGRFlKcCJTVIQ5TSRNVrjhq0wKqNMatttRbnONdFLvcQj/ckz/m7wE9RLsXPqBMq8W16qZrNz52Xu5MVFgTbuJN+pHfp0V0ufSQdn/Zb6QiAdJdelb4qvSU9Lz2q5b8BACB5JCWJQkIc2kz8q/gmXvjBtwGwoykT1t3cFab4oCUAeqHP0W8AcbaWhno6yIYuMmSKaGF9AEk8Fm6zjAbFk7dgQdzxxUkmFCiNHE7BTygpHymiQVEWvEU5GORETRIb0osI8VKE2514CuEwCAhHQhJ5SLiLHAxpuHn4IIT7FUU6wpTrhtILcTE0onEtHiS1oxQoj6sUEx4+PhI+nxdKBDwBqeVLYqU4znetCry9uSKFWMxtAZVIMKmICEdGIsZIrYefWOrB5z86lFBwZR6KkMNYV7krvYQCgoCjvEQigoB62Muoii6JkCuUpeC0rW2lGAvCJGKxQugjDhQFoY7ODwzmoTyRp0zmK00A9wghUspjJQLBSAi4aQFETcYEMt1GjPNwdlSJcZLIhYQCSmQQto4fG51pPhqmLG5rR1ROTsznTx8vUFy9NmoSpY01VFYrfXLnhILlkKhFt83+wdiygk5gQOi8aDLFTRoljAFooC0iaxBnnCOklgXJmRe0LyHQnU7U7Zp+P+71/uGHV7IjhJenUnflyo4KWOaflcCOrhbRIT8kObAjEq5MW08iT5xT2xAz8goS75leeGQVv4rVHDR+fUo1WensQt/72Itpma/mp3blViP7InF0WcWzw9azXvXsyJO5slsfv9in0pLS0vJY4tm2Z52k/Lw7tOimdOTn090VV3I8KdAAL+tZvCMTuRlrrXBKr+c/EWRenwfYcGnbJb3jyo5hjC++5YGkb4UKhdykiEhtlWK/Et+RJJMji1qE8YMdWebbti5B5F66B0qnNkAR62f2i+lJdWm0uaIEQ4tDlzm/urMxMhIvOzLeFntm55W+171t7vYfhHygMMgxzg3ux9+eQZSaDDG2OpE0Zd9gYYCAIeeL4zg/EYgcwjMWFNPN/MpgV7HpdqNOR/d6cb+/7+2hN3lMSl1HKiXQiaiY91GIwYKBgQWTRwVRwCcXBFFTt2PVFRaFIgqFnU6mNavoN6F+keJXkqFMS44QRNmiEGMkaFzsx7jNCroJELV40eQqTRwhUyfRnvrlNwEHWZ+UrdkyV1IWFA1AdEdBjKlMZusLDmxaS1I3TMcr/5G2mJkFRRLn51CGwAcY8EGBjOaEnFcBh+9QzBGT+DsUBvkvDIgjJ4axn3GOdabfAQY8wJGrO6+a7Ze3D4GA4foVz0MaZAOEje2L2x8PXd4JtR31r56EXgmKJoWBKGEFbXEwziQyKCIDgdsGpcNuavKjR9q6KZLDrcFWPKR5gY5+0O9WypR8idWpzTLRdU8ducuNS+b2CpHUtEcXp62X0cvSu1vP9sfvfKGfbai/YE9mmt3u7OvQaueXK6zT+SRdCqd3zySl1qIfZvE/My+m+9TskK36mXFle3i0NXavw9hoNuSa/udZ1bcVIcxH4sjIiuvEVtW18II5kWmntXBU2l0FyOD7Ip4bW5WAJ+2AIhRQMI66n7Ic4zv6FkQtl0zL38rNJYFQAknKwEmPOFUec1tLby+tzlcn/Hz5We/dN2HeR+/0h/ijzzt7+zB+8Ea/uhfdfx2WoXTs1IaE6aAwGbU7oK2vmJfUvfaJ5dURyrLMb1y+fV6wzM8xXnZij73i1FYc6o61VOYuLi1D1FRYWM8uqyzPMipiAUHIP6NfiHHbDaEOoKjzRSPpbzgTT3pL3+i9+Uj1DuueTRPfO3HN0gnrWYYMakuaSyM3HTIQY+QkTHvWG91/nIscODYmsmpc8drmie3nrTPKOY44rToDPgA278oKqAThK+g0QiFnlJgjNS8p9GzmU7ltXEGtpaeXlJyk6XQEoCQbanvq4zSV+kWZ6C8/J3n/3Aj6g1d6hbe7Hcf0mL6qu4AcmTHQgEMIjEGGmyBgOnEl/YEm43xLhVG9Hcn8qjfuQokVTYIayxjGNo8dC05qKaK0v6EpmGZGJqE0lFZaq1yq1eptz3rT9SKv9ebavf7Hflfk8Qf9Lnpv9pvb0S19B2NfNbXF+K4ZI4s+iZNxkUaOzAMhpCCpSCk5ealEmoJhuhr7Ranxc4zGTj2qgoBIflBYvi+hPcXISZq6TZy2ExaEJLFn1/q5rzdOfTkTchBqv8kdDOpphwKdhe4LLx0PMc6tenvo1ROhVeaqji6isv2L3sDipjZsT08lIm0Mac0E218/LF11G2YSI8mMiiKYl6m1ta3MwUpD2AabR0wOYbT0hoM9/hTt7KbKNmxPafcVFXxUleduIMjbId0nmrwvjxrakaaPsD1n8Z6wl8J7LHtGR30xYyX2yofo7gte2QPj1bvHxvzQKhP68gfYniFvfe+I5caYcYS+pGsjrxfeHy8diuo4qiTaKzsqODZdMmSPV/WC/fQ7j8VJBGl6hRg1XRuxnBgbcVcyGoMbq/D72J6iofExY2cw2kp0hz7I7vdrinJVJzj+cptd0aZQtLbibERfSJuyI8l34KnLts2uKuOjlemmqlRLqpE4qs05RUzgZ/AJgrLZ7BS+aIANYfrfdreg/9o1s5nSsmFsJ6tlnVvsjB1uX8j98stcJnffOavVFWsA5YUfc1n37x8JaWlZq3RvWLNTMq4GR5Ld2Nu0eV//pbprcjffobrHQgynWYt+jxVHF6pVFWPfu3aRhnF6EjKUvwZdww/l5O7rbZupQk1CVQd4BmNyVYxKACO8cGVap02zbg4Axc3LTRP+oQ8tT348frysLnhTsaNJVmtQLy/Lr9sUHDLXUCtrCsnVU4+Tl5PNylDRNCu7tDZ4U0ljSUleyaFGtSsMNZxaStCPKR3PYKQp5XFQCBM7uOi3v3/V1Qdj/vbPxTgW8775Rd+4EfPXb4V4NskE2hLlubrisx3kuZzVScErwu9/LPvmm8gYc4mOM9i4MDnD4/roSkfZkTUT70aWSIoilhYFlh6ubUOr/26YNg5fTFwfAS6Z4rsHW2vjo01YVnEcZoiOr9168Tu53hDrW/6bT7k7XPHHjLsi1a3zHdH5g81sc65wRwjIuG3r4MHCOQ/2pXBp8AmcwSc2fJAe1E4iXp4qD+WPWCJX2R2SQpwr1FE6y20odyXTR44k09/kUcbQTObuSE+YX0PPyF1zZqiRyrPzmlpawu8HW7HiUm0pVmoBG1ts77IXkx6MP+NBMvh4UzqeBbPwdEZb2sFjUM3bgQHzlJbSMlpHLCXj9KIECkN5VXaSIrMak80acwY2uhi6igepM1MqcDlTapOSapcFgOKyxZDMRBoiIgxGBRWNQFPuVAfAikS63GuDrxa4OdSbddOV+qCUBKSUIGroGS/sewIaz6LQ7/HkOEZUuWWfaVUXPhE5EcUk8aOZmrFVdGwWn5miKedJ2s1HjVjAvN7c3BahxTm838d3n1lYXsso3X9gaN8B5tz+/UPdBC/2TnlUeljMjzsI+NNUpCz18yyMQS0KXFpX1iCDAkUyQyULGTWlMvR99qrdl/MZzGVnxMd+HBuPXdsnnw/sy8k6gaw6OPfQ3Pmer8TlgINl8AnCSUzgk3pOt6kytIhWC5INrTSF0TTQDooCozGM2am9uXgx1T8gmCqfTHjhGB6OKN2/n+o62qhxFasHSXJYwwzCx5qioUxRQUGsrGoXHqpfERCpjknKKswCei+1g88dM45x+Tso2+Cg2uj+3+Uu2DR2yk6zwzsDykb5B18LHz76uj2P31AOmrML/R491Jcfsl0sw7qkxklcIgzvi++7/Ej9ct+Ku+q7i8Njmmf6zjyyqNm3+ZF02pHBNy9aafSk/BdPChYov4cU+knYTx2Ht3neDXcsjqeras6/EoMeHIaY8bz+FtKPq8d96vlng6iD4Cq8j144uJ9rnF18iOTGxXHJQ8WzuSZN3QUULg6sUbZPvBJZABsK/QqfIeOX+tcKYFlLbv46L2LSA5uI1Rcod7tNX5TcqWLbvdrfSKu3tfxRH2pMyVCwp8seZy1L0yTe1FLXlwvN5sgheGHTdmlJM+qSuxTRIGqzrBkZ1i0PQHHLYsjsTCiPiyufq6DiXJgZR0uVM564R593absg4l2mMjp9d7dVFElRZs5CMnJnQJ/07fgiRqYyJRpUMt8/fKsepgDPmM8sff2MwC82US9RNs2UjVocHPUOuJx18LQigxP+u5dz7pl3Y6P3s3M59/5LKERWxo8oQh+sKaQKqEJNHZ6ADnpdlad6PQ97nuB9y2Z/7KfHiQl8Tjz3RMperoVfzLe4kXv9wZ7fkv3lRkvKl3sCNSuXJ16ueJp6Dnl2uVqrXHDD/Xvs2Zf3z/ss/va/gNmcFfzDrV5YxMqPyn9jTvlGxusS0DaGYoYphjKzjJYBTWCrdwZnCTnaJKNILTBaEylsEp/Eur58VFRidaExdcsQQ6KGjENR/V0B0uDWry8QpSTMj5+rJz5Ysvar857BfsHUj6F51f/987m3zq/12si64+yFjUdPfL1fpvYJq4BdA6qdOzxDLibXJSXVLQmwxCVgSNocXxYXV9agoGIDmMDpILHvMXpFmH2jKspO8VmyeNWGiQlcXYdPELBl1g1TTamelWtcdS7oXQTa1rRLzNLFTt2cISOzZdmy2ssxk82b8qutqfr6mR3tq+6Gffrks+dLl305c+yW06DT/eScXbc6+1luv1LxkKb7TnfmwpEjO70XmlxWNrC3TUWPMBRaLPTZEjhILcs+k2C2VQgHRGH/e9XIxtnkuGhbus7dKOwlVqqZRZsEyYKX2qMdiiPop2TkuJAVVIRwWcEc4RpKLl/Ob8ejhpIyHi1LzDeaBWnihUk4JPVBorm9O3ecx/5ZuyEHBO5NXW8MtZxorTKumiWGflmBLN+Ur7bCy2xRznSqiJoOK5wBTp3XBojCl6ZZs4ukX9/j4SIJKGddJsnCAbUaXC/ozk5Z4xqf3vvQAMEOGCpdn752jbRsFt68Nt1DgQJlxsqzlsIHAvL/dezXhwMCDqN0Fe0oNjtUAfSf9h4T3m7w+oWvEhvdpdbEW3Ejh8sqNb9xHWw2oGmnO/PX5p07t4wSLFgsiAdyHxx0uRyOIjMxETVYgauGLECSKqaIPDK/qaUNCpszTiTRVI5KXV90/sw1w5mNRTs+o2fQtpyHoqedVw0rFoeqG0Kn5r6kWmW+XEU7382RfN8T6C66MmUv8Z5XoDr8HsZI1JLh+HUYk68j5YzwooC4n58g7BcOCy7C833Rg2LdN67Wvyoq+ohrqD7s/V/29ITiG7wjaiStLLpRcztqPnUoEg1jwhRZw7+fnHzwBnC3mKKwhLxZSdXmanPGjg/Cvf/89fW+wd+nKpqWXTl8JN5lT8nl5/HZ1/Dpv+z6fLoL6zgwTXtLu2HjaFaLt3rX8S+mN6YgjTh9X5jPwW9S/3rX103+bJgCGiPJS4Hjiycb4hdx6lITGjiLJvPkdJF8VXpiht938au2U9H659bIqddlD757uSDJX7tGIOFVEGnvy/meoSZrQqh8Stu8fluSwpPSJWxrDSxp+46en6OuWOmvn9bcoYSNW5WtY2s6A25hZCkvoiNE9e4ZvwmTHNHgz5JkD0AbTj3g3QB4+6agEEWx/P9x4MHlEjlT4CZykF8pdBSXCzjEiCwLwJMz/WDmKwE3SCo6wcoQ3ZRDSja3m2xubmjKQwgI8YPdfJgDK6ERrDAPlsISMVeAGSywGhZNZQVUTkBk5RlhnCxAgljx/rOzYp4bAAA=) format("woff2");font-weight:400;font-style:normal;font-display:block}.dashicons,.dashicons-before:before{font-family:dashicons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:never;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:20px;height:20px;font-size:20px;vertical-align:top;text-align:center}.dashicons-admin-comments:before{content:"\f101"}.dashicons-admin-home:before{content:"\f102"}.dashicons-admin-links:before{content:"\f103"}.dashicons-admin-settings:before{content:"\f108"}.dashicons-admin-site:before{content:"\f319"}.dashicons-admin-site-alt3:before{content:"\f11f"}.dashicons-admin-users:before{content:"\f110"}.dashicons-arrow-down-alt2:before{content:"\f347"}.dashicons-arrow-left-alt2:before{content:"\f341"}.dashicons-arrow-right-alt2:before{content:"\f345"}.dashicons-arrow-up-alt2:before{content:"\f343"}.dashicons-bell:before{content:"\f16d"}.dashicons-businessperson:before{content:"\f12e"}.dashicons-calendar-alt:before{content:"\f508"}.dashicons-category:before{content:"\f318"}.dashicons-clock:before{content:"\f469"}.dashicons-dashboard:before{content:"\f226"}.dashicons-dismiss:before{content:"\f153"}.dashicons-edit:before{content:"\f464"}.dashicons-email:before{content:"\f465"}.dashicons-email-alt:before{content:"\f466"}.dashicons-embed-generic:before{content:"\f13f"}.dashicons-exit:before{content:"\f14a"}.dashicons-external:before{content:"\f504"}.dashicons-facebook-alt:before{content:"\f305"}.dashicons-filter:before{content:"\f536"}.dashicons-flag:before{content:"\f227"}.dashicons-grid-view:before{content:"\f509"}.dashicons-groups:before{content:"\f307"}.dashicons-heart:before{content:"\f487"}.dashicons-hidden:before{content:"\f530"}.dashicons-info:before{content:"\f348"}.dashicons-info-outline:before{content:"\f14c"}.dashicons-list-view:before{content:"\f163"}.dashicons-location:before{content:"\f230"}.dashicons-location-alt:before{content:"\f231"}.dashicons-marker:before{content:"\f159"}.dashicons-megaphone:before{content:"\f488"}.dashicons-menu:before{content:"\f333"}.dashicons-microphone:before{content:"\f482"}.dashicons-money-alt:before{content:"\f18e"}.dashicons-networking:before{content:"\f325"}.dashicons-no-alt:before{content:"\f335"}.dashicons-phone:before{content:"\f525"}.dashicons-plus-alt:before{content:"\f502"}.dashicons-plus-alt2:before{content:"\f543"}.dashicons-portfolio:before{content:"\f322"}.dashicons-search:before{content:"\f179"}.dashicons-share:before{content:"\f237"}.dashicons-star-empty:before{content:"\f154"}.dashicons-star-filled:before{content:"\f155"}.dashicons-star-half:before{content:"\f459"}.dashicons-store:before{content:"\f513"}.dashicons-superhero-alt:before{content:"\f197"}.dashicons-tag:before{content:"\f323"}.dashicons-tickets-alt:before{content:"\f524"}.dashicons-twitter:before{content:"\f301"}.dashicons-update:before{content:"\f463"}.dashicons-visibility:before{content:"\f177"}.dashicons-whatsapp:before{content:"\f19a"}.dashicons-yes:before{content:"\f147"}.dashicons-yes-alt:before{content:"\f12a"}

/* iga-workspace-fonts */
/* Self-hosted Google Fonts, DM Sans and Space Grotesk (SIL Open Font License). */
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://sheff.events/assets/themes/iga/assets/fonts/workspace/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* iga-stylesheet */
﻿article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:rgba(0,0,0,0)}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong,.strong{font-weight:bold}dfn,em,.em{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}p{-webkit-hyphens:auto;-epub-hyphens:auto;-moz-hyphens:auto;hyphens:auto}pre{margin:0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"“" "”" "‘" "’"}q:before,q:after{content:"";content:none}small,.small{font-size:75%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0}menu{padding:0 0 0 40px}ol,ul{padding:0;list-style-type:none}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-replacement,.ir{text-indent:100%;white-space:nowrap;overflow:hidden}.clearfix,.cf{zoom:1}.clearfix:before,.clearfix:after,.cf:before,.cf:after{content:"";display:table}.clearfix:after,.cf:after{clear:both}span.amp{font-family:Baskerville,"Goudy Old Style",Palatino,"Book Antiqua",serif !important;font-style:italic}body,*,h1{font-family:"Montserrat",sans-serif}h1{font-family:"Montserrat",sans-serif !important;font-weight:800 !important}@media(max-width: 580px){.m-all{position:relative;float:left;margin-left:2.762430939%;width:99.999999993%;padding-right:0;margin-left:0 !important}.m-1of2{position:relative;float:left;margin-left:2.762430939%;width:48.618784527%}.m-1of3{position:relative;float:left;margin-left:2.762430939%;width:31.491712705%}.m-2of3{position:relative;float:left;margin-left:2.762430939%;width:65.745856349%}.m-1of4{position:relative;float:left;margin-left:2.762430939%;width:22.928176794%}.m-3of4{position:relative;float:left;margin-left:2.762430939%;width:74.30939226%}}@media(min-width: 581px)and (max-width: 1029px){.t-all{position:relative;float:left;margin-left:2.762430939%;width:99.999999993%;padding-right:0}.t-1of2{position:relative;float:left;margin-left:2.762430939%;width:48.618784527%}.t-1of3{position:relative;float:left;margin-left:2.762430939%;width:31.491712705%}.t-2of3{position:relative;float:left;margin-left:2.762430939%;width:65.745856349%}.t-1of4{position:relative;float:left;margin-left:2.762430939%;width:22.928176794%}.t-3of4{position:relative;float:left;margin-left:2.762430939%;width:74.30939226%}.t-1of5{position:relative;float:left;margin-left:2.762430939%;width:17.79%}.t-2of5{position:relative;float:left;margin-left:2.762430939%;width:38.237569061%}.t-3of5{position:relative;float:left;margin-left:2.762430939%;width:58.237569061%}.t-4of5{position:relative;float:left;margin-left:2.762430939%;width:77.237569061%}.last-col{float:right}.first-col{margin-left:0}}@media(min-width: 1030px){.d-all{position:relative;float:left;margin-left:2.762430939%;width:99.999999993%;padding-right:0}.d-1of2{position:relative;float:left;margin-left:2.762430939%;width:48.618784527%}.d-1of3{position:relative;float:left;margin-left:2.762430939%;width:31.491712705%}.d-2of3{position:relative;float:left;margin-left:2.762430939%;width:65.745856349%}.d-1of4{position:relative;float:left;margin-left:2.762430939%;width:22.928176794%}.d-3of4{position:relative;float:left;margin-left:2.762430939%;width:74.30939226%}.d-1of5{position:relative;float:left;margin-left:2.762430939%;width:17.79%}.d-2of5{position:relative;float:left;margin-left:2.762430939%;width:38.237569061%}.d-3of5{position:relative;float:left;margin-left:2.762430939%;width:58.237569061%}.d-4of5{position:relative;float:left;margin-left:2.762430939%;width:77.237569061%}.d-1of6{position:relative;float:left;margin-left:2.762430939%;width:13.9042357277%}.d-1of7{position:relative;float:left;margin-left:2.762430939%;width:11.5232833467%}.d-2of7{position:relative;float:left;margin-left:2.762430939%;width:25.808997661%}.d-3of7{position:relative;float:left;margin-left:2.762430939%;width:40.094711961%}.d-4of7{position:relative;float:left;margin-left:2.762430939%;width:54.380426261%}.d-5of7{position:relative;float:left;margin-left:2.762430939%;width:71.36141%}.d-6of7{position:relative;float:left;margin-left:2.762430939%;width:82.951854761%}.d-1of8{position:relative;float:left;margin-left:2.762430939%;width:9.737569061%}.d-1of9{position:relative;float:left;margin-left:2.762430939%;width:8.3486801721%}.d-1of10{position:relative;float:left;margin-left:2.762430939%;width:7.237569061%}.d-1of11{position:relative;float:left;margin-left:2.762430939%;width:6.3284781519%}.d-1of12{position:relative;float:left;margin-left:2.762430939%;width:5.567569061%}.last-col{float:right}.first-col{margin-left:0 !important}}.centercol{margin-left:auto !important;margin-right:auto !important;float:none !important}a.button,.button,.tribe-checkout-backlink{border-radius:100px;background:var(--wp--preset--color--foreground);color:var(--wp--preset--color--background);text-decoration:none;padding:0px 1em;height:42px;font-size:16px;font-weight:500;line-height:36px;border:2px solid var(--wp--preset--color--foreground);transition:.25s linear all}a.button:hover,.button:hover,.tribe-checkout-backlink:hover{border:2px solid var(--wp--preset--color--background)}input[type=text][disabled],input[type=text].is-disabled,input[type=password][disabled],input[type=password].is-disabled,input[type=datetime][disabled],input[type=datetime].is-disabled,input[type=datetime-local][disabled],input[type=datetime-local].is-disabled,input[type=date][disabled],input[type=date].is-disabled,input[type=month][disabled],input[type=month].is-disabled,input[type=time][disabled],input[type=time].is-disabled,input[type=week][disabled],input[type=week].is-disabled,input[type=number][disabled],input[type=number].is-disabled,input[type=email][disabled],input[type=email].is-disabled,input[type=url][disabled],input[type=url].is-disabled,input[type=search][disabled],input[type=search].is-disabled,input[type=tel][disabled],input[type=tel].is-disabled,input[type=color][disabled],input[type=color].is-disabled,select[disabled],select.is-disabled,textarea[disabled],textarea.is-disabled,.field[disabled],.field.is-disabled{cursor:not-allowed;border-color:#cfcfcf;opacity:.6}input[type=text][disabled]:focus,input[type=text][disabled]:active,input[type=text].is-disabled:focus,input[type=text].is-disabled:active,input[type=password][disabled]:focus,input[type=password][disabled]:active,input[type=password].is-disabled:focus,input[type=password].is-disabled:active,input[type=datetime][disabled]:focus,input[type=datetime][disabled]:active,input[type=datetime].is-disabled:focus,input[type=datetime].is-disabled:active,input[type=datetime-local][disabled]:focus,input[type=datetime-local][disabled]:active,input[type=datetime-local].is-disabled:focus,input[type=datetime-local].is-disabled:active,input[type=date][disabled]:focus,input[type=date][disabled]:active,input[type=date].is-disabled:focus,input[type=date].is-disabled:active,input[type=month][disabled]:focus,input[type=month][disabled]:active,input[type=month].is-disabled:focus,input[type=month].is-disabled:active,input[type=time][disabled]:focus,input[type=time][disabled]:active,input[type=time].is-disabled:focus,input[type=time].is-disabled:active,input[type=week][disabled]:focus,input[type=week][disabled]:active,input[type=week].is-disabled:focus,input[type=week].is-disabled:active,input[type=number][disabled]:focus,input[type=number][disabled]:active,input[type=number].is-disabled:focus,input[type=number].is-disabled:active,input[type=email][disabled]:focus,input[type=email][disabled]:active,input[type=email].is-disabled:focus,input[type=email].is-disabled:active,input[type=url][disabled]:focus,input[type=url][disabled]:active,input[type=url].is-disabled:focus,input[type=url].is-disabled:active,input[type=search][disabled]:focus,input[type=search][disabled]:active,input[type=search].is-disabled:focus,input[type=search].is-disabled:active,input[type=tel][disabled]:focus,input[type=tel][disabled]:active,input[type=tel].is-disabled:focus,input[type=tel].is-disabled:active,input[type=color][disabled]:focus,input[type=color][disabled]:active,input[type=color].is-disabled:focus,input[type=color].is-disabled:active,select[disabled]:focus,select[disabled]:active,select.is-disabled:focus,select.is-disabled:active,textarea[disabled]:focus,textarea[disabled]:active,textarea.is-disabled:focus,textarea.is-disabled:active,.field[disabled]:focus,.field[disabled]:active,.field.is-disabled:focus,.field.is-disabled:active{background-color:#d5edf8}html{scroll-behavior:smooth;background:var(--wp--preset--color--foreground);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) rgba(0,0,0,0)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:10px;border:3px solid rgba(0,0,0,0);background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.38);background-clip:content-box}::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.ace-header-plans{display:inline-flex;align-items:center;gap:.35rem;color:var(--wp--preset--color--contrast, #f5f2ea);text-decoration:none;font-weight:700;padding:.35rem .8rem;border:1px solid rgba(245,242,234,.35);border-radius:100px;white-space:nowrap;line-height:1}.ace-header-plans:hover{background:var(--wp--preset--color--accent-1, #ff7a18);color:#1a1510;border-color:rgba(0,0,0,0)}.ace-header-plans .dashicons{font-size:1rem;width:1rem;height:1rem}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{padding-top:0;background:#14120f;color:var(--wp--preset--color--background)}body.page-template-page-home main{margin-top:0px}header.wp-block-template-part{z-index:500}header.wp-block-template-part .wp-block-social-links,header.wp-block-template-part .wp-block-search{display:none}.wp-site-blocks header.wp-block-template-part{width:100%;position:sticky;z-index:99;left:0px;top:0px;transition:all .3s linear}.wp-site-blocks header.wp-block-template-part.wp-block{position:relative !important}.wp-site-blocks header.wp-block-template-part>div.wp-block-group{transition:all .3s linear;box-shadow:0 1px 3px rgba(0,0,0,0),0 1px 2px rgba(0,0,0,0);position:relative}.wp-site-blocks header.wp-block-template-part.smallHead{height:50px;transition:all .3s cubic-bezier(0.25, 0.8, 0.25, 1)}.wp-site-blocks header.wp-block-template-part.smallHead>div.wp-block-group{padding-top:5px;transition:all .3s cubic-bezier(0.25, 0.8, 0.25, 1);box-shadow:0 -1px 10px 0 rgba(172,171,171,.3);padding-bottom:5px}.wp-site-blocks header.wp-block-template-part.smallHead>div.wp-block-group:after{transition:all .3s cubic-bezier(0.25, 0.8, 0.25, 1);opacity:.95}.wp-site-blocks header.wp-block-template-part .wp-block-site-title{display:none}form.wp-block-search .wp-block-search__inside-wrapper{height:42px;position:relative;background:var(--wp--preset--color--tertiary) !important;border:none !important}form.wp-block-search .wp-block-search__inside-wrapper input[type=search]{position:absolute;left:0px;top:0px;bottom:0px;right:0px;margin:0px;width:100%;height:100%;display:block;border:none !important;padding:0px 0px 0px 1em !important;box-sizing:border-box;background:rgba(0,0,0,0);transition:.25s linear all;color:var(--wp--preset--color--foreground) !important}form.wp-block-search .wp-block-search__inside-wrapper input[type=search]::placeholder{color:var(--wp--preset--color--foreground)}form.wp-block-search .wp-block-search__inside-wrapper input[type=search]:focus{background:var(--wp--preset--color--background)}form.wp-block-search .wp-block-search__inside-wrapper button{position:absolute;top:3px;width:36px;height:36px;right:3px;transition:.25s linear all;padding:0px !important;background:var(--wp--preset--color--secondary) !important}form.wp-block-search .wp-block-search__inside-wrapper button svg path{fill:var(--wp--preset--color--background) !important}form.wp-block-search .wp-block-search__inside-wrapper button:hover{background:var(--wp--preset--color--foreground) !important}form.wp-block-search input[type=search]{padding:0px 1em;height:38px;font-size:14px}body.admin-bar{padding-top:0}body.admin-bar .wp-site-blocks header.wp-block-template-part{top:32px}nav li.current-menu-item a{border-bottom:2px solid var(--wp--preset--color--background) !important}nav li a{border-bottom:2px solid rgba(0,0,0,0);text-decoration:none !important;transition:1s linear all}nav li a:hover{border-bottom:2px solid var(--wp--preset--color--background);transition:.25s linear all}body.page-template-default .wp-site-blocks .wp-block-cover:first-of-type:nth-child(2){margin-top:0px}.wp-block-jetpack-slideshow .wp-block-jetpack-slideshow_image{max-height:none}.wp-block-jetpack-tiled-gallery.alignfull{margin-left:0px !important;margin-right:0px !important}.wp-site-blocks>.entry-content{margin-top:0px}.wp-block-latest-posts__featured-image a{display:block}.wp-block-latest-posts__featured-image a img{display:block;width:100%;height:auto}a.wp-block-latest-posts__post-title{font-weight:700}.cli-bar-btn_container .cli-plugin-button{border-radius:50px}p{hyphens:none}p:first-child{margin-top:0px}body .wp-site-blocks header.wp-block-template-part>div.wp-block-group.has-background{margin-left:0px !important;margin-right:0px !important;padding-left:1em;padding-right:1em}body .wp-block-navigation__responsive-container-open:not(.always-shown){display:block !important}body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none !important}.wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--base, #100e0b) !important;color:var(--wp--preset--color--contrast, #f5f2ea) !important}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{color:inherit !important}.wp-block-navigation__responsive-container.is-menu-open a,.wp-block-navigation__responsive-container.is-menu-open button{color:inherit !important}.wp-block-navigation__responsive-container.is-menu-open svg{fill:currentColor}.wp-block-navigation button svg *{height:4px !important;border-radius:10px;display:block}@media(min-width: 1240px){body .wp-site-blocks header.wp-block-template-part>div.wp-block-group.has-background{margin-left:0px !important;margin-right:0px !important}body .wp-block-navigation__responsive-container-open:not(.always-shown){display:none !important}body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:block !important}}.wp-block-cover .wp-block-cover__background.has-background-dim+.wp-block-cover__inner-container .wp-block-jetpack-contact-info a{color:var(--wp--preset--color--background) !important;font-size:1.2em}h1 a,h2 a,h3 a,h4 a,h5 a{font-size:inherit}#cookie-law-info-again{border-radius:10px 10px 0px 0px !important;box-shadow:none;border:none !important;border-bottom:none}#cookie-law-info-again *{font-size:12px;font-weight:700;text-transform:none;color:var(--wp--preset--color--background)}footer.wp-block-template-part{margin-top:0px}footer.wp-block-template-part a{color:var(--wp--preset--color--background)}.wp-block-cover .wp-block-cover__inner-container textarea{background:rgba(0,0,0,0)}.wpcf7-form{position:relative}.wpcf7-form:after{content:"";display:table;clear:both}.wpcf7-form p,.wpcf7-form br{display:inline;margin:0px;padding:0px}.wpcf7-form label{display:block;float:left;width:49%;margin-left:2%;margin-bottom:1em;position:relative}.wpcf7-form label strong{position:absolute;left:0px;top:50%;transform:translateY(-50%);font-weight:600;transition:.25s linear all;width:100%;line-height:1;padding:0px 10px;pointer-events:none;opacity:1}.wpcf7-form label span:focus-within+strong,.wpcf7-form label span.label-toggled+strong{top:12px;left:2px;opacity:.5;font-size:10px}.wpcf7-form label input{max-width:100%;border-radius:6px;width:100%;line-height:1;padding:.75em 10px .25em}.wpcf7-form label textarea{max-width:100%;width:100%;height:160px;padding:30px 10px 10px;border-radius:6px 6px 26px 6px}.wpcf7-form label input,.wpcf7-form label textarea{border:2px solid var(--wp--preset--color--background) !important;background:rgba(0,0,0,.9) !important;color:var(--wp--preset--color--background);outline:0px solid #fff;transition:.1s linear all}.wpcf7-form label input:focus,.wpcf7-form label textarea:focus{outline:2px solid rgba(255,255,255,.25)}.wpcf7-form label:nth-child(2n+1){margin-left:0px}.wpcf7-form label:last-of-type{width:100%;margin-left:0px}.wpcf7-form label.message-area{margin-bottom:0px}.wpcf7-form label.message-area strong{top:10px;transform:none}.wpcf7-form input[type=submit]{position:absolute;right:10px;bottom:10px;background-color:var(--wp--preset--color--secondary);border:none;border-radius:50px;color:var(--wp--preset--color--background);font-weight:600;font-size:.8em;padding:.5em 1em}.wpcf7-form .wpcf7-spinner{position:absolute;bottom:10px;right:100px}p a{color:inherit}#user_stuff{position:relative}#user_stuff.on #user_menu{top:48px;box-shadow:0px 2px 25px -16px var(--wp--preset--color--foreground)}#user_stuff.on .fa-xmark{opacity:1}#user_stuff.on #user_avatar img,#user_stuff.on #user_avatar i{opacity:.25}#user_stuff .fa-xmark{opacity:0;position:absolute;display:block;z-index:10;left:50%;top:50%;transform:translate3d(-50%, -50%, 0);transition:.5s linear all;pointer-events:none;color:var(--wp--preset--color--background)}#user_avatar{width:42px;height:42px;box-sizing:border-box;border-radius:100px;border:2px solid var(--wp--preset--color--background);cursor:pointer;opacity:1;background:var(--wp--preset--color--secondary);transition:.25s linear all;position:relative}#user_avatar div{border-radius:100px;width:38px;height:38px;overflow:hidden;transition:.25s linear all}#user_avatar img{display:block;transition:.5s linear all;width:38px;height:38px}#user_avatar:hover{border:2px solid var(--wp--preset--color--foreground)}#user_avatar:hover i{top:60%}#user_avatar:hover span.cartSpeech{opacity:0}#user_avatar i{color:var(--wp--preset--color--background);position:relative;left:50%;top:70%;transform:translate3d(-50%, -50%, 0);transition:.25s linear all}div.cartSpeech{opacity:1;top:125%}#user_menu{position:absolute;top:-400px;right:0px;padding:.5em 1em 1em;background:var(--wp--preset--color--primary);z-index:-1;transition:.5s linear all;border-radius:0px 0px 10px 10px;color:var(--wp--preset--color--background);width:300px;box-shadow:0px 2px 0px -16px var(--wp--preset--color--foreground)}#user_menu nav{width:100%;display:block}#user_menu nav ul{padding:0px;margin:0px}#user_menu nav ul li{padding:0px;margin:0px 0px 1px}#user_menu nav ul li:last-child{margin-bottom:0px}#user_menu nav ul li:last-child a{border-radius:0px 0px 10px 10px}#user_menu nav ul li:first-child a{border-radius:10px 10px 0px 0px}#user_menu nav ul li.is-active a{background:rgba(255,255,255,.25);padding-left:1.5em}#user_menu nav ul li a{font-size:.8em;padding:.5em 1em;background:rgba(255,255,255,.1);border-radius:0px;display:block;color:var(--wp--preset--color--background);border:none !important;transition:.2s linear all}#user_menu nav ul li a:hover{border:none;background:rgba(255,255,255,.25);padding-left:1.5em}#user_menu h3{font-size:1em;margin:0px 0px .5em;padding:0px;line-height:1}#user_menu h4{font-size:.6em;font-weight:normal;margin:0px;padding:0px;line-height:1.4}#user_menu h4 a{color:var(--wp--preset--color--background);font-weight:bold}#user_menu form:after{content:"";display:table;clear:both}#user_menu form label{font-size:.8em;padding:0px 1em;display:none}#user_menu form input[type=text],#user_menu form input[type=password]{background:var(--wp--preset--color--background);color:var(--wp--preset--color--foreground);border:2px solid var(--wp--preset--color--foreground);border-radius:10px;padding:.5em 1em;transition:.5s linear all;display:block;width:100%;box-shadow:inset 0px 0px 0px 0px var(--wp--preset--color--foreground)}#user_menu form input[type=text]:focus,#user_menu form input[type=password]:focus{box-shadow:inset 0px 0px 0px 2px var(--wp--preset--color--foreground);outline:none}#user_menu form p{margin:.5em 0px 0px 0px;padding:0px}#user_menu form p.login-remember,#user_menu form p.login-submit{float:left;width:50%;line-height:28px}#user_menu form p.login-remember label,#user_menu form p.login-submit label{padding:0px;font-size:.6em;display:inline}#user_menu form input[type=submit]{width:100%;display:block;background:var(--wp--preset--color--foreground);border:none;border-radius:100px;height:42px;font-weight:bold;color:var(--wp--preset--color--background)}#user_menu .lost-password{text-align:left;display:block;color:#fff;font-size:.6em;float:left;margin-top:-18px;font-weight:bold}.woocommerce:after{content:"";display:table;clear:both}.tribe-events-c-small-cta__price{font-weight:bold;color:var(--wp--preset--color--primary)}.gcard,.gprofile,.grav-clone-a{display:none !important}.tribe-events-widget .tribe-events-widget-events-list__event-date-tag{margin-right:1em}.tribe-events-widget .tribe-events-widget-events-list__event-date-tag time.tribe-events-calendar-list__event-date-tag-datetime,.tribe-events-widget .tribe-events-widget-events-list__event-date-tag time.tribe-events-widget-events-list__event-date-tag-datetime{border-radius:10px;background-color:var(--wp--preset--color--primary);height:auto;padding:.5em 0px;color:var(--wp--preset--color--background)}.tribe-events-widget .tribe-events-widget-events-list__event-date-tag time.tribe-events-calendar-list__event-date-tag-datetime *,.tribe-events-widget .tribe-events-widget-events-list__event-date-tag time.tribe-events-widget-events-list__event-date-tag-datetime *{color:var(--wp--preset--color--background)}.tribe-events-widget .tribe-events-widget-events-list__event-date-tag time.tribe-events-calendar-list__event-date-tag-datetime .tribe-events-widget-events-list__event-date-tag-month,.tribe-events-widget .tribe-events-widget-events-list__event-date-tag time.tribe-events-calendar-list__event-date-tag-datetime .tribe-events-calendar-list__event-date-tag-weekday,.tribe-events-widget .tribe-events-widget-events-list__event-date-tag time.tribe-events-widget-events-list__event-date-tag-datetime .tribe-events-widget-events-list__event-date-tag-month,.tribe-events-widget .tribe-events-widget-events-list__event-date-tag time.tribe-events-widget-events-list__event-date-tag-datetime .tribe-events-calendar-list__event-date-tag-weekday{border-bottom:1px solid var(--wp--preset--color--background);margin:0px 1.5em;padding:0px 0px .35em;font-weight:900}.tribe-events-widget .tribe-events-widget-events-list__event-date-tag time.tribe-events-calendar-list__event-date-tag-datetime .tribe-events-widget-events-list__event-date-tag-daynum,.tribe-events-widget .tribe-events-widget-events-list__event-date-tag time.tribe-events-widget-events-list__event-date-tag-datetime .tribe-events-widget-events-list__event-date-tag-daynum{font-size:2em}time i{display:inline-block;margin-right:.5em}time i:nth-of-type(2){margin-left:2em}img.event-widget-image{width:100%;height:auto;display:block}header .alignfull,footer .alignfull{margin-left:0px !important;margin-right:0px !important}.helper{background:var(--wp--preset--color--secondary);color:var(--wp--preset--color--background);font-size:20px;line-height:120px;text-align:center;width:180px;float:left;font-size:.8em;height:auto;border-radius:10px;padding:1em;line-height:1;position:absolute;top:100%;z-index:999;right:0px;opacity:0;transition:.25s linear all;pointer-events:none;box-shadow:0px 4px 10px -4px var(--wp--preset--color--foreground)}.helper:after{content:"";position:absolute;display:block;width:0;z-index:1;border-style:solid;border-color:var(--wp--preset--color--secondary) rgba(0,0,0,0);border-width:0 6px 6px;top:-6px;right:15px;margin-left:-6px}#user_stuff:hover .helper{opacity:1;top:125%}#user_stuff.on .helper{opacity:0;top:100%}#user_stuff:hover .helper.cartSpeech{opacity:0;top:100%}nav ul>li.menu-button{position:relative;font-weight:inherit !important}nav ul>li.menu-button button{background:rgba(0,0,0,0) !important;position:absolute;right:1em;pointer-events:none}nav ul>li.menu-button:before{font-weight:900 !important;left:1em;position:absolute;transform:scale(1.2);z-index:99}nav ul>li.menu-button ul{font-weight:inherit !important}nav ul>li.menu-button ul *{font-weight:inherit}nav ul>li.menu-button>a{padding:0px 1.8em 0px 2.5em !important;border-radius:100px;background:var(--wp--preset--color--secondary);display:block;height:42px;line-height:40px;box-sizing:border-box;font-weight:inherit;border:none !important}nav ul>li.menu-button>a:hover{background:var(--wp--preset--color--foreground)}nav ul li button.wp-block-navigation__submenu-icon{color:var(--wp--preset--color--background) !important;z-index:20}.featured_slider{width:unset;margin-left:calc(-1*var(--wp--custom--spacing--outer)) !important;margin-right:calc(-1*var(--wp--custom--spacing--outer)) !important;padding:0px;margin-block-start:0 !important;margin-block-end:0 !important}#carousels{display:block;width:100%;position:relative;padding:0em !important;margin:0px auto !important;padding-bottom:1%}#carousels:after{content:"";display:table;clear:both}#carousels>div{float:left}#carousels #main-carousel{height:60vh;min-height:420px;max-height:900px;position:relative}#carousels #main-carousel .slide{height:60vh;max-height:900px;min-height:420px;position:relative;background-position:center center;background-repeat:no-repeat;background-size:cover;overflow:hidden}#carousels #main-carousel .slide .sub-sheath{position:absolute;top:50%;right:50%;width:40%;z-index:20;transform:translateY(-50%)}#carousels #main-carousel .slide .sub-sheath *{color:var(--wp--preset--color--background)}#carousels #main-carousel .slide .sub-sheath p{font-size:1em;margin:.5em 0px 0px}#carousels #main-carousel .slide .sub-sheath time{display:inline-block;margin-right:1em}#carousels #main-carousel .slide .sub-sheath .categories{display:inline-block}#carousels #main-carousel .slide .sub-sheath h2{font-weight:bold;font-size:clamp(22px,3vw,122px);padding:0px;margin:0px}#carousels #main-carousel .slide .sub-sheath a{text-decoration:none}#carousels #main-carousel .slide .sheath{padding:2em;text-align:center;position:absolute;bottom:calc(3em + 42px);width:100%;right:120%;left:initial;padding-left:20%;text-align:center;transform:skewX(-20deg);background:rgba(216,35,42,.9);text-align:left;height:100%;bottom:0px;top:0px}.sub-sheath *{color:var(--wp--preset--color--background)}.sub-sheath time,.sub-sheath div.categories{font-size:.8em}.sub-sheath div.categories{font-style:italic;font-weight:bold}.sub-sheath h2,.sub-sheath h3{line-height:1 !important;margin-bottom:20px !important;display:block}.sub-sheath p{margin-bottom:20px !important;display:block !important}.sub-sheath .button,.sub-sheath .tribe-checkout-backlink{padding:.5em 1em}.wp-site-blocks *:not(.entry-content) h2,.wp-site-blocks *:not(.entry-content) h2.tribe-common-h--alt{font-size:1.4em;line-height:1;font-weight:bold;margin-bottom:1em}.featured_slider{overflow:hidden;position:relative;background:var(--wp--preset--color--secondary)}.featured_slider #carousels>h2{padding:0px;color:var(--wp--preset--color--background);margin:0px 0px .75em;position:relative;z-index:20;font-weight:bold;display:block;width:50%;text-shadow:0px 1px 3px var(--wp--preset--color--foreground)}.featured_slider+.wp-block-cover{margin-block-start:0px;z-index:50}.owl-stage-outer{overflow:visible !important}#slider-background{filter:blur(30px);position:absolute;left:0px;top:-10%;right:0px;bottom:-10%;width:100%;height:120%;background-repeat:no-repeat;background-size:cover;background-position:center center;opacity:.9}.owl-item{opacity:.9;transition:.5s linear all;z-index:-1}.owl-item .slide{transition:.5s linear all;box-shadow:0px 0px 0px -15px var(--wp--preset--color--foreground)}.owl-item .slide .sub-sheath>*{opacity:0;transition:.5s linear all;transition-delay:.5s;transition-property:all;transform:translateX(-100px);position:relative;text-align:left}.owl-item .slide .sub-sheath>*:nth-child(2){transition-delay:.75s}.owl-item .slide .sub-sheath>*:nth-child(3){transition-delay:1s}.owl-item .slide .sub-sheath>*:nth-child(4){transition-delay:1.25s}.owl-item .slide .sub-sheath>*:nth-child(5){transition-delay:1.5s}.owl-item .slide .sheath{opacity:0;transition:.75s linear all;transition-delay:.25s;transition-property:all;left:-100%}.owl-item.active{opacity:1;z-index:9}.owl-item.active .slide .sub-sheath>*{opacity:1;transform:translateX(0px)}.owl-item.active .slide .sheath{opacity:1;right:30% !important}header>.alignwide{padding-left:20px !important;padding-right:20px !important}wp-site-blocks>header.wp-block-template-part{height:78px !important}.owl-dots{position:absolute;top:50%;right:1rem;z-index:100;vertical-align:middle;transform:translateY(-50%)}.owl-dots button{display:block;width:10px;height:22px;border-radius:50px;background:var(--wp--preset--color--foreground) !important;display:block;margin:.5rem 0px;transition:.25s linear all}.owl-dots button span{display:none}.owl-dots button.active,.owl-dots button:hover{background:var(--wp--preset--color--background) !important}.owl-nav{position:absolute;right:1rem;bottom:1rem}.owl-nav button{display:block;background:var(--wp--preset--color--foreground) !important;color:var(--wp--preset--color--background) !important;width:30px;height:30px;font-weight:800;border-radius:100px;padding:0px;text-align:center;line-height:30px;float:left;margin-left:.5rem}a#cookie_action_close_header{border-radius:100px;margin-right:2em}main .wp-block-group .wp-block-search{padding-bottom:2em !important}main .wp-block-group .wp-block-search .wp-block-search__inside-wrapper{border-radius:100px;overflow:hidden}main .wp-block-group .wp-block-search .wp-block-search__inside-wrapper input,main .wp-block-group .wp-block-search .wp-block-search__inside-wrapper button{border-radius:100px}main .wp-block-search__button-outside .wp-block-search__inside-wrapper{border-radius:100px;overflow:hidden}main .wp-block-search__button-outside .wp-block-search__inside-wrapper input,main .wp-block-search__button-outside .wp-block-search__inside-wrapper button{border-radius:100px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container{padding:0}.tribe-events .tribe-events-view-loader{background-color:var(--tec-container-background);opacity:.7}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-breadcrumbs__list,.tribe-events .datepicker .month,.tribe-events .datepicker .year,.tribe-events-schedule__all-day,.tribe-events-schedule__separator,.tribe-events-schedule__timezone,.tribe-events-meta-group .tribe-events-single-section-title,.tribe-common .tribe-common-b1,.tribe-common .tribe-common-b2,.tribe-common--breakpoint-medium.tribe-common .tribe-common-b2,.tribe-common--breakpoint-medium.tribe-common .tribe-common-b1--min-medium,.tribe-common--breakpoint-medium.tribe-common .tribe-common-b2--min-medium,.tribe-common--breakpoint-medium.tribe-common .tribe-common-b3--min-medium,.tribe-common--breakpoint-medium.tribe-common .tribe-common-h6--min-medium,.tribe-common .tribe-common-cta,.tribe-common .tribe-events-c-top-bar__datepicker-button.tribe-common-h3,.tribe-block__venue .tribe-block__venue__meta .tribe-block__venue__address,.tribe-block__venue .tribe-block__venue__meta .tribe-block__venue__phone,.tribe-block__venue .tribe-block__venue__meta .tribe-block__venue__website,.tribe-events-schedule__time,.tribe-events-schedule__date,.tribe-block__organizer__details p,.tribe-editor__subtitle .tribe-editor__btn--label,.tribe-editor__subtitle__headline-date,.tribe-editor__separator,.tribe-editor__venue__address,.tribe-editor__venue__phone,.tribe-editor__venue__website,div .tribe-editor__organizer__details p,.tribe-editor__event-website__label-text input{font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit}.tribe-events .datepicker .month,.tribe-events .datepicker .year,.tribe-common .tribe-common-form-control-checkbox__label,.tribe-common .tribe-common-form-control-radio__label,.tribe-common .tribe-common-form-control-slider__label,.tribe-common--breakpoint-medium.tribe-common .tribe-common-form-control-text__input,.tribe-common .tribe-common-form-control-text__input,#top .main_color .tribe-common .tribe-common-form-control-text__input,#top.tribe-theme-enfold .tribe-common .tribe-common-form-control-text__input,#top .main_color .tribe-common.tribe-common--breakpoint-medium .tribe-common-form-control-text__input,#top.tribe-theme-enfold .tribe-common.tribe-common--breakpoint-medium .tribe-common-form-control-text__input,.tribe-common .tribe-common-form-control-toggle__label,.tribe-common .tribe-common-cta,.tribe-common .tribe-common-b1,.tribe-common .tribe-common-b2,.tribe-common .tribe-common-b3,.tribe-events .tribe-events-calendar-month__calendar-event-datetime,.tribe-events .tribe-events-calendar-list__event-date-tag-weekday,.tribe-common .tribe-common-c-btn,.tribe-common a.tribe-common-c-btn,.tribe-common .tribe-common-c-btn-border-small,.tribe-common a.tribe-common-c-btn-border-small,.tribe-editor__venue__address,.tribe-editor__venue__phone,.tribe-editor__venue__website,div .tribe-editor__organizer__details p{font-family:inherit}h2.tribe-events-schedule__datetime,.tribe-common .tribe-common-h1,.tribe-common .tribe-common-h2,.tribe-common .tribe-common-h3,.tribe-common .tribe-common-h4,.tribe-common .tribe-common-h5,.tribe-common .tribe-common-h6,.tribe-common .tribe-common-h7,.tribe-common .tribe-common-h8,.tribe-events-calendar-latest-past__event-datetime,.tribe-events-calendar-list__event-datetime,.tribe-events-meta-group .tribe-events-single-section-title,.tribe-block__organizer__details h3,.tribe-block__venue .tribe-block__venue__meta .tribe-block__venue__name h3,.tribe-editor__venue .tribe-editor__venue__name h3.tribe-editor__venue__name-heading,.tribe-events-single-event-title,.tribe-events-content h2,.tribe-events-content h3,.tribe-events-content h4,.tribe-events-content h5,.tribe-events-content h6{font-family:var(--tec-heading-font);font-weight:var(--tec-heading-weight)}:root .tribe-common .tribe-common-h6--min-medium.tribe-events-calendar-list__month-separator-text{font-size:inherit;font-family:var(--tec-heading-font);font-weight:var(--tec-heading-weight)}:root .tribe-block__venue .tribe-block__venue__meta .tribe-block__venue__name h3,.tribe-block__organizer__details h3,.tribe-editor__venue .tribe-editor__venue__name h3.tribe-editor__venue__name-heading{font-size:var(--tec-heading-3-size)}.single-tribe_events .tribe-events-schedule{margin:0;padding:0;background-color:rgba(0,0,0,0);border:0}.tribe-common a,.tribe-common a:active,.tribe-common a:visited,#tribe-events-content a,#tribe-events-content a:active,#tribe-events-content a:visited,.tribe-common .tribe-common-c-svgicon,.tribe-common .tribe-common-c-svgicon:active,.tribe-common .tribe-common-c-svgicon:visited,.tribe-events-single-event-description a,.tribe-events-single-event-description a:active,.tribe-events-single-event-description a:visited,.tribe-events-single-event-description a:active,.tribe-events-single-event-description a:active:active,.tribe-events-single-event-description a:active:visited,.tribe-events-single-event-description a:focus,.tribe-events-single-event-description a:focus:active,.tribe-events-single-event-description a:focus:visited,.tribe-events-single-event-description a:hover,.tribe-events-single-event-description a:hover:active,.tribe-events-single-event-description a:hover:visited,.tribe-events-content blockquote,.tribe-events-content blockquote:active,.tribe-events-content blockquote:visited{color:var(--tec-link-color);text-decoration:underline}.tribe-common a:focus,.tribe-common a:hover,#tribe-events-content a:focus,#tribe-events-content a:hover,.tribe-common .tribe-common-c-svgicon:focus,.tribe-common .tribe-common-c-svgicon:hover,.tribe-events-single-event-description a:focus,.tribe-events-single-event-description a:hover,.tribe-events-single-event-description a:active:focus,.tribe-events-single-event-description a:active:hover,.tribe-events-single-event-description a:focus:focus,.tribe-events-single-event-description a:focus:hover,.tribe-events-single-event-description a:hover:focus,.tribe-events-single-event-description a:hover:hover,.tribe-events-content blockquote:focus,.tribe-events-content blockquote:hover{color:var(--tec-link-color-hover);text-decoration:none}.tribe-common .tribe-common-anchor-thin,.tribe-common .tribe-common-anchor-thin:hover,.tribe-common .tribe-common-anchor-thin:focus,.tribe-common .tribe-common-anchor-thin-alt,.tribe-common .tribe-common-anchor-thin-alt:hover,.tribe-common .tribe-common-anchor-thin-alt:focus,.tribe-events-single-event-description a,.tribe-events-single-event-description a:hover,.tribe-events-single-event-description a:focus,.tribe-events-single-event-description a:active,.tribe-events-single-event-description a:active:hover,.tribe-events-single-event-description a:active:focus,.tribe-events-single-event-description a:focus,.tribe-events-single-event-description a:focus:hover,.tribe-events-single-event-description a:focus:focus,.tribe-events-single-event-description a:hover,.tribe-events-single-event-description a:hover:hover,.tribe-events-single-event-description a:hover:focus,.tribe-events-content blockquote,.tribe-events-content blockquote:hover,.tribe-events-content blockquote:focus{border-bottom:0}.tribe-common.tribe-common.tribe-common .tribe-common-c-btn,.tribe-common.tribe-common.tribe-common a.tribe-common-c-btn{background-color:var(--wp--preset--color--primary);border-radius:50px;color:var(--wp--preset--color--background);transition:.25s linear all}.tribe-common.tribe-common.tribe-common .tribe-common-c-btn:hover,.tribe-common.tribe-common.tribe-common .tribe-common-c-btn:focus,.tribe-common.tribe-common.tribe-common a.tribe-common-c-btn:hover,.tribe-common.tribe-common.tribe-common a.tribe-common-c-btn:focus{background-color:var(--wp--preset--color--foreground);filter:brightness(1.2)}.tribe-events .tribe-events-c-ical__link{border-color:var(--tec-link-color);color:var(--tec-link-color);text-decoration:none}.tribe-events .tribe-events-c-ical__link:hover,.tribe-events .tribe-events-c-ical__link:focus{background-color:var(--tec-link-color);border:1px solid var(--tec-link-color)}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-datetime-featured-text{color:var(--tec-accent-color);font-family:var(--tec-heading-font);font-weight:var(--tec-heading-weight)}.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime::after{background-color:var(--tec-highlight-color)}.tribe-events-c-nav__list [disabled]{display:none}.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link{color:var(--tec-highlight-color)}.tribe-events .datepicker .day.active,.tribe-events .datepicker .day.active.focused,.tribe-events .datepicker .day.active:focus,.tribe-events .datepicker .day.active:hover,.tribe-events .datepicker .month.active,.tribe-events .datepicker .month.active.focused,.tribe-events .datepicker .month.active:focus,.tribe-events .datepicker .month.active:hover,.tribe-events .datepicker .year.active,.tribe-events .datepicker .year.active.focused,.tribe-events .datepicker .year.active:focus,.tribe-events .datepicker .year.active:hover{background-color:var(--tec-link-color)}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day:hover::after{background-color:var(--tec-highlight-color)}.tribe-events-c-subscribe-dropdown__content{position:absolute}.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button{border-color:var(--tec-link-color);color:var(--tec-link-color)}.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text{color:inherit !important}.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active,.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus,.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within,.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover,.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover,.tribe-events .tribe-events-c-subscribe-dropdown:focus .tribe-events-c-subscribe-dropdown__button-text,.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text:focus,.tribe-events .tribe-events-c-subscribe-dropdown:focus-within{border-color:var(--tec-link-color);background-color:var(--tec-link-color);color:#fff !important}#tribe-tickets__tickets-form{padding:0px;border-radius:10px;background:var(--wp--preset--color--primary);border:1px solid var(--wp--preset--color--foreground)}#tribe-tickets__tickets-form h2{padding:1em;color:var(--wp--preset--color--background);font-weight:bold;margin:0px 0px .5em;border-radius:8px 8px 0px 0px;background:var(--wp--preset--color--foreground)}#tribe-tickets__tickets-form>div{padding:1em;background:#fff;background:var(--wp--preset--color--tertiary);border-radius:10px;margin:0px .5em .5em;transition:.25s linear all;border-top-right-radius:10px}#tribe-tickets__tickets-form>div:hover{background:var(--wp--preset--color--background)}#tribe-tickets__tickets-form>div .tribe-tickets__tickets-item-content-title{font-weight:bold;font-size:1em}#tribe-tickets__tickets-form>div .tribe-tickets__tickets-item-details-content{font-size:.8em}#tribe-tickets__tickets-form .tribe-tickets__tickets-footer{background:var(--wp--preset--color--secondary) !important;color:var(--wp--preset--color--background);border:none !important;border-radius:0px 0px 8px 8px;font-size:.8em;margin:.6em 0px 0px}#tribe-tickets__tickets-form .tribe-tickets__tickets-footer *{color:var(--wp--preset--color--background)}.tribe-checkout-backlink{padding:.5em 1em;margin-right:1em;height:34px !important;display:inline-block !important;border:none !important}.tribe-checkout-backlink:last-child{background:var(--wp--preset--color--primary)}#billing_last_name_field{margin-top:0px}#submenu{margin:1px 0px 4em;padding:0px}#submenu ul{display:block;padding:0px;margin:0px}#submenu ul li{display:block;margin-bottom:1px}#submenu ul li a{display:block;padding:.5em 1em;font-size:1em;background:var(--wp--preset--color--tertiary);text-decoration:none;transition:.25s linear all}#submenu ul li a:hover{padding-left:1.5em}#submenu ul li:last-child a{border-radius:0px 0px 10px 10px}#submenu ul li.current_page_item a{box-shadow:inset 5px 0px 0px 0px var(--wp--preset--color--primary);padding-left:1.5em}.parent_page_link{display:block;border-radius:10px 10px 0px 0px;display:block;padding:.5em 1em;font-size:1.4em;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--background);text-decoration:none;transition:.25s linear all;font-weight:bold}.parent_page_link:hover{padding-left:1.5em}.parent_page_link.active{font-size:1em;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--background);pointer-events:none;padding:.5em 1em !important}.yoast-breadcrumbs{padding:.5em 0px;color:var(--wp--preset--color--background)}.yoast-breadcrumbs span>*{color:var(--wp--preset--color--background);font-size:12px}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-datetime-featured-text,.tribe-common .tribe-common-c-svgicon{color:var(--wp--preset--color--primary) !important}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-datetime-featured-text *,.tribe-common .tribe-common-c-svgicon *{color:var(--wp--preset--color--primary) !important}.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime::after{background:var(--wp--preset--color--primary) !important}.m0{margin-top:0;margin-bottom:0}body.page-template-wp-custom-template-page-sidebar-menu footer,body.page-template-page-sidebar footer{margin-top:4em}.tribe-events .tribe-events-c-small-cta>a:first-child{padding:1em 1.5em !important;text-decoration:none;background:var(--wp--preset--color--foreground);color:var(--wp--preset--color--background);border-radius:50px;transition:.25s linear all}.tribe-events .tribe-events-c-small-cta>a:first-child:hover{background:var(--wp--preset--color--primary) !important;color:var(--wp--preset--color--background) !important}h2.tribe-events-schedule__datetime{font-size:16px !important;margin:0px !important;padding:0px !important}.tribe-block__event-price{padding:0px;margin:0px}.tribe-block__event-price .tribe-block__event-price__cost{font-weight:bold;font-size:1.6em}.tribe-events-event-image img,.wp-block-latest-posts__featured-image a img{border-radius:10px}.wp-block-latest-posts__featured-image a img{margin-bottom:1em}.tribe-events-widget-events-list__view-more{text-align:center}.tribe-events-widget-events-list__view-more a{background:var(--wp--preset--color--foreground) !important;border:none !important;display:inline-block;border-radius:50px;height:50px;line-height:50px;font-weight:bold;padding:0px 1.5em !important;color:var(--wp--preset--color--background) !important;transition:.25s linear all;font-size:16px}.tribe-events-widget-events-list__view-more a:hover{background:var(--wp--preset--color--primary) !important}.tribe-events-widget-events-list__event-cost{font-weight:bold !important;color:var(--wp--preset--color--primary) !important;font-size:1.2em !important}.tribe-events-widget .tribe-events-widget-events-list__event-row--featured .tribe-events-widget-events-list__event-date-tag-datetime::after{display:none !important}.tribe-events-widget-events-list__event-details img{display:block;width:100%;height:auto;border-radius:10px}.event-widget-image-container{margin:0px 1em 0px 0px !important}h2.tribe-events-widget-events-list__header-title{text-align:center !important;margin-bottom:2em !important}body.single-post .wp-site-blocks>*+*{margin-block-start:0px !important}body.editor-styles-wrapper{padding-top:0px !important}.tribe-tickets__attendee-tickets-item{padding:0px 0px 1em !important;border:1px solid var(--wp--preset--color--primary) !important;border-radius:10px !important}.tribe-tickets__attendee-tickets-item>div{padding:10px 40px !important;margin:0px !important}.tribe-tickets__attendee-tickets-item>div.people_selector{padding:20px !important;display:block;background:var(--wp--preset--color--tertiary);margin-bottom:1em !important}.tribe-tickets__attendee-tickets-item>div.people_selector label{font-weight:bold !important;font-size:.8em !important}.tribe-tickets__attendee-tickets-item>div.people_selector label select{margin-top:.5em}.tribe-tickets__attendee-tickets-item>div.people_selector span{font-size:.8em}.tribe-tickets__attendee-tickets-item .tribe-tickets__attendee-tickets-item-header{font-size:1.4em !important;font-weight:bold !important;margin-bottom:0px !important;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--background) !important;border-radius:8px 8px 0px 0px !important}.tribe-tickets__attendee-tickets-item input:not([type=checkbox]):not([type=radio]){width:100% !important;display:block !important;max-width:100% !important}h1.tribe-tickets__registration-page-title{display:none}#tribe-tickets__mini-cart{margin-bottom:20px;border-radius:10px;padding:0px;background:var(--wp--preset--color--tertiary);border-radius:10px;border:1px solid var(--wp--preset--color--primary);overflow:hidden}#tribe-tickets__mini-cart h3{font-weight:bold !important;padding:20px;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--background)}#tribe-tickets__mini-cart .tribe-tickets__tickets-item{padding:10px 20px;margin:10px 10px;background:var(--wp--preset--color--background);border-radius:10px}#tribe-tickets__mini-cart .tribe-tickets__tickets-footer{padding:20px}#tribe-tickets__mini-cart div{font-size:16px}#tribe-tickets__mini-cart .tribe-tickets__tickets-item-content-subtitle{font-size:20px;font-weight:bold}#tribe-tickets__mini-cart .tribe-tickets__tickets-footer-total{font-size:1.4em;font-weight:bold}#tribe-tickets__mini-cart span{display:inline-block !important}#tribe-tickets__mini-cart .tribe-tickets__tickets-footer-back-link{padding:0px 1.5em !important;background:var(--wp--preset--color--foreground);color:var(--wp--preset--color--background) !important;height:40px !important;line-height:40px !important;border-radius:100px;text-decoration:none !important;display:inline-block;font-size:14px;margin-bottom:1em}#tribe-tickets__mini-cart .tribe-tickets__tickets-footer-back-link:hover{background:var(--wp--preset--color--primary)}#tribe-tickets__mini-cart .tribe-tickets__registration-submit{border:none !important;margin:0px 20px 20px;width:calc(100% - 40px)}.tribe-tickets__registration-footer{padding-bottom:4em !important}.tribe-tickets__registration-footer button{border:none !important}.tribe-tickets__attendee-tickets{position:relative}.tribe-tickets__attendee-tickets:after{content:"";display:table;clear:both}.tribe-tickets__registration-back-to-cart{padding:0px 1.5em !important;background:var(--wp--preset--color--foreground);color:var(--wp--preset--color--background) !important;height:40px !important;line-height:40px !important;border-radius:100px;text-decoration:none !important;display:none !important}h3.tribe-ticket__tickets-heading{font-weight:bold !important;font-size:2em !important;margin-bottom:10px}body{padding-top:0 !important}.wp-block-cover{margin-block-start:0 !important;margin-block-end:0 !important}.ticket-button strong{display:inline-block;vertical-align:middle;margin-left:1rem;font-size:1.6em;font-weight:800;line-height:1}time.feature-date span{display:inline-block;font-weight:800;margin-right:2rem;font-size:clamp(.8em,2.5vw,1.6em) !important}.blockyTitle,.wp-site-blocks :not(.entry-content) h2.tribe-common-h--alt:not(.tribe-tickets__tickets-title){display:none !important}.subCart{background:rgba(255,255,255,.25);padding:1em;margin-bottom:1em;border-radius:10px;font-size:16px}.subCart a{color:var(--wp--preset--color--foreground);border-radius:100px;display:block !important;margin-top:1rem;background:#fff;text-decoration:none;font-weight:400;padding:0px;height:32px;line-height:32px;text-align:center}.tribe-events-view{padding:0px 1rem}.tribe-events time{background-color:var(--wp--preset--color--foreground)}.tribe-events time *{color:var(--wp--preset--color--background)}.tribe-events time span:first-child{border-bottom:1px solid var(--wp--preset--color--background)}@media(max-width: 600px){#cookie-law-info-again{display:none !important}.tribe-events-widget-events-list__events{display:none !important}.wp-block-latest-posts.is-grid li{margin-right:0px !important}}@media(max-width: 600px){#carousels #main-carousel .owl-item .slide .sheath{top:100%;width:100%;height:100%;left:0px;right:0px;transform:skewY(10deg)}#carousels #main-carousel .owl-item .slide .sub-sheath{width:calc(100% - 4em);left:2em;right:2em;bottom:2em;top:initial;transform:none}#carousels #main-carousel .owl-item .slide .sub-sheath .ticket-button{margin-top:1rem !important}#carousels #main-carousel .owl-item .slide .sub-sheath .ticket-button strong{font-size:16px}#carousels #main-carousel .owl-item .slide .sub-sheath h2{margin-bottom:.5em !important}#carousels #main-carousel .owl-item .slide .sub-sheath p{font-size:12px}#carousels #main-carousel .owl-item.active .slide .sheath{top:50%}.owl-dots{top:1em;transform:none}.owl-dots>*:first-child{margin-top:0px}.owl-nav{top:1em;right:2em;transform:none}.wp-block-navigation__responsive-container .menu-button>a{display:block !important;width:100% !important}.wp-block-navigation__responsive-container li{line-height:30px}.wp-block-navigation__responsive-container li a{font-size:16px}.wp-block-navigation__responsive-container li ul{padding:0px 0px 0px .5em !important;border-left:2px solid var(--wp--preset--color--background) !important}.wp-block-navigation__responsive-container>ul>li>a{font-size:1.2em}}.entry .entry-content .event-tickets .tribe-tickets__attendee-tickets-item.tribe-tickets__form .tribe-tickets__form-field,.event-tickets .tribe-tickets__attendee-tickets-item.tribe-tickets__form .tribe-tickets__form-field{flex-flow:column nowrap}.entry .entry-content .event-tickets .tribe-tickets__attendee-tickets-item.tribe-tickets__form .tribe-tickets__form-field>label,.entry .entry-content .event-tickets .tribe-tickets__attendee-tickets-item.tribe-tickets__form .tribe-tickets__form-field .tribe-tickets__form-field-label,.event-tickets .tribe-tickets__attendee-tickets-item.tribe-tickets__form .tribe-tickets__form-field>label,.event-tickets .tribe-tickets__attendee-tickets-item.tribe-tickets__form .tribe-tickets__form-field .tribe-tickets__form-field-label{flex:none !important;margin-right:0px !important}.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container{padding:0px !important;max-width:100% !important}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar--border{border-radius:100px;border-color:var(--wp--preset--color--primary) !important}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-events-bar__search-container{border-radius:100px 0px 0px 100px}.tribe-common * .fa-solid,.tribe-common * .fas{font-family:"Font Awesome 6 Free" !important;font-weight:900 !important}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-date-tag{min-width:60px !important;width:10% !important;max-width:100px;padding:0px;box-sizing:content-box}.tribe-events .tribe-events-calendar-list__event-date-tag-datetime,.tribe-events-pro-photo__event-date-tag-datetime{background:var(--wp--preset--color--primary);color:var(--wp--preset--color--background);border-radius:10px;padding:1rem !important;height:auto !important;width:100%}.tribe-events .tribe-events-calendar-list__event-date-tag-datetime *,.tribe-events-pro-photo__event-date-tag-datetime *{color:var(--wp--preset--color--background) !important}.tribe-events .tribe-events-calendar-list__event-date-tag-datetime:after,.tribe-events-pro-photo__event-date-tag-datetime:after{display:none !important}.tribe-events .tribe-events-calendar-list__event-date-tag-datetime .tribe-events-calendar-list__event-date-tag-weekday,.tribe-events .tribe-events-calendar-list__event-date-tag-datetime .tribe-events-pro-photo__event-date-tag-month,.tribe-events-pro-photo__event-date-tag-datetime .tribe-events-calendar-list__event-date-tag-weekday,.tribe-events-pro-photo__event-date-tag-datetime .tribe-events-pro-photo__event-date-tag-month{font-weight:800 !important}.tribe-events .tribe-events-calendar-list__event-date-tag-datetime .tribe-events-calendar-list__event-date-tag-weekday:after,.tribe-events .tribe-events-calendar-list__event-date-tag-datetime .tribe-events-pro-photo__event-date-tag-month:after,.tribe-events-pro-photo__event-date-tag-datetime .tribe-events-calendar-list__event-date-tag-weekday:after,.tribe-events-pro-photo__event-date-tag-datetime .tribe-events-pro-photo__event-date-tag-month:after{content:"";height:1px;width:50px;background:var(--wp--preset--color--background);margin:.5rem auto;display:block}.tribe-events .tribe-events-calendar-list__event-date-tag-datetime .tribe-events-calendar-list__event-date-tag-daynum,.tribe-events-pro-photo__event-date-tag-datetime .tribe-events-calendar-list__event-date-tag-daynum{font-size:2rem !important}.tribe-events-pro .tribe-events-pro-photo__event-featured-image,.tribe-events-pro .tribe-events-pro-photo__event-featured-image-link,img.tribe-events-calendar-list__event-featured-image,img.tribe-events-calendar-month__calendar-event-featured-image{border-radius:10px}.tribe-events-pro .tribe-events-pro-photo__event-date-tag{width:80px !important}.tribe-common--breakpoint-medium.tribe-common .tribe-common-b3 .tribe-events-c-small-cta__price{font-size:1.6em;vertical-align:middle}.tribe-common-g-col h3{font-size:2rem !important;margin-bottom:0px !important}.tribe-events-pro .tribe-events-pro-photo__event-title{font-size:1.4rem !important;margin-bottom:10px !important}.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event::before,.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event--featured::after,.tribe-events .tribe-events-calendar-month__calendar-event--featured::before{display:none !important}.tribe-common--breakpoint-medium.tribe-events-pro .tribe-events-pro-photo__event-cost{margin-top:0px !important}.tribe-common--breakpoint-medium.tribe-common .tribe-common-b2 time{font-weight:800 !important;font-style:italic !important}.tribe-events-pro .tribe-events-pro-photo__event-datetime-featured-text,.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-datetime-featured-text,.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link{color:var(--wp--preset--color--primary) !important}.tribe-events .tribe-events-calendar-month__day-date-daynum{color:var(--wp--preset--color--secondary) !important}.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date .tribe-events-calendar-month__day-date-daynum{color:gray !important}h3.tribe-events-calendar-month__calendar-event-title{font-weight:800 !important;font-size:16px !important}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__next,.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__prev{padding:1rem !important;color:var(--wp--preset--color--background) !important;background:var(--wp--preset--color--primary) !important;border-radius:100px;font-weight:800}.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__next svg path,.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__prev svg path{fill:var(--wp--preset--color--background)}figure.wp-block-post-featured-image img{border-radius:10px}body.search .wp-block-post-date{margin:1rem 0px;font-weight:800 !important;text-decoration:none !important;border:none !important}body.search .wp-block-post-date a{text-decoration:none !important}a.wp-block-post-excerpt__more-link{padding:.5em .75em !important;text-decoration:none;background:var(--wp--preset--color--foreground);color:var(--wp--preset--color--background);border-radius:50px;font-size:14px !important;transition:.25s linear all}a.wp-block-post-excerpt__more-link:hover{background:var(--wp--preset--color--primary)}ul.wc_payment_methods{padding:0px !important;list-style-type:none !important}ul.wc_payment_methods li.wc_payment_method payment_method_stripe label{display:none !important}ul.wc_payment_methods .payment_method_stripe{padding:0px !important}p.woocommerce-SavedPaymentMethods-saveNew,p.woocommerce-SavedPaymentMethods-saveNew label{margin:0px !important;padding:0px !important;font-weight:400 !important}#wpadminbar{margin:0px !important}body.woocommerce-account .wp-block-cover{display:none !important}body.woocommerce-account .woocommerce{padding:2rem 0px}body.woocommerce-account .woocommerce #customer_login>div{padding:2rem;background:var(--wp--preset--color--tertiary);border-radius:10px}body.woocommerce-account .woocommerce #customer_login>div h2{margin:-2rem -2rem 1rem -2rem;border-radius:10px 10px 0px 0px;padding:1.5rem 2rem;color:var(--wp--preset--color--background);background:var(--wp--preset--color--primary)}body.woocommerce-account .woocommerce #customer_login input{border-radius:10px;border:2px solid var(--wp--preset--color--foreground) !important}body.woocommerce-account .woocommerce #customer_login button{padding:0px 2rem !important;height:40px !important;line-height:40px !important;border:none !important;font-weight:800 !important;font-size:16px !important}body.woocommerce-account .woocommerce #customer_login button.woocommerce-form-register__submit{background:var(--wp--preset--color--foreground) !important}.dropdown>a{padding-right:16px !important}.dropdown>a:after{font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:0px;top:4px;font-size:.8em;content:"";margin-left:8px}.sub-menu-holder>*{z-index:1;display:none;padding:0px 0px 1em}.sub-menu-holder>*.show-dropdown{display:block}.sub-menu-holder.wp-block>*{display:block}.sub-menu-holder.wp-block>*.show-dropdown{display:block}.dropdown.show-dropdown>a{border-bottom:2px solid var(--wp--preset--color--background)}.sub-menu-holder .is-layout-flow>*+*{margin-block-start:1rem !important}.sub-menu-holder .wp-block-latest-posts__list img{width:80px;height:80px;border-radius:10px !important;border:2px solid var(--wp--preset--color--background)}.sub-menu-holder .wp-block-latest-posts__list time{opacity:.75}.sub-menu-holder nav ul{display:block}.sub-menu-holder nav ul li{display:block;margin-bottom:.5rem;border:none !important}.sub-menu-holder nav ul li a{padding:.3rem .5rem !important;border:none !important;border-radius:6px;background:rgba(255,255,255,.2)}.sub-menu-holder nav ul li a:hover{background:rgba(255,255,255,.4);border:none !important}@media only screen and (min-width: 1030px){.featured_slider{display:block !important}.tribe-events-widget-events-list__events{display:flex;flex-wrap:wrap !important;display:flex;align-items:flex-start;gap:2em}.tribe-events-widget-events-list__events .tribe-common-g-row{flex-wrap:wrap !important;display:flex;align-items:flex-start;flex:1;margin:10px}.event-widget-image-container{width:100%;flex:1 0 100%;margin:0px 0px 1em !important}.tribe-common--breakpoint-medium.tribe-events-widget .tribe-events-widget-events-list__event-date-tag{flex:1}.tribe-events-widget-events-list__event-wrapper{flex-direction:column;flex:4}h1.tribe-tickets__registration-page-title{display:none}#tribe-tickets__mini-cart{float:right !important;width:30% !important;position:sticky;top:100px;z-index:50}.tribe-tickets__attendee-tickets-form{float:left;width:68%}img.event-widget-image{border-radius:10px}.tribe-events-widget-events-list__event-venue{display:none}.tribe-events-widget-events-list__event-datetime-wrapper{margin-top:10px !important}header.wp-block-template-part .wp-block-social-links,header.wp-block-template-part .wp-block-search{display:flex}header.wp-block-template-part .wp-block-social-links li.wp-social-link,header.wp-block-template-part .wp-block-search li.wp-social-link{display:flex}}@media only screen and (min-width: 1240px){nav.wp-block-navigation ul.wp-block-navigation__submenu-container{top:20px;background:var(--wp--preset--color--primary) !important;padding:40px 1em 1em;border:none !important;border-radius:0px 0px 10px 10px;width:300px !important;z-index:1}nav.wp-block-navigation ul.wp-block-navigation__submenu-container:before{position:absolute;left:0px;right:0px;width:100%;bottom:0px;top:50px;z-index:-1;box-shadow:0px 2px 25px -16px var(--wp--preset--color--foreground);content:"";border-radius:0px 0px 10px 10px}nav.wp-block-navigation ul.wp-block-navigation__submenu-container:after{position:absolute;left:0px;right:0px;width:100%;bottom:0px;top:0px;z-index:0;content:"";background:var(--wp--preset--color--primary);border-radius:0px 0px 10px 10px}nav.wp-block-navigation ul.wp-block-navigation__submenu-container li{margin-bottom:1px;background:rgba(0,0,0,0)}nav.wp-block-navigation ul.wp-block-navigation__submenu-container li button{color:var(--wp--preset--color--background)}nav.wp-block-navigation ul.wp-block-navigation__submenu-container li:last-child{margin-bottom:0px}nav.wp-block-navigation ul.wp-block-navigation__submenu-container li:last-child a{border-radius:0px 0px 10px 10px}nav.wp-block-navigation ul.wp-block-navigation__submenu-container li:first-child a{border-radius:10px 10px 0px 0px}nav.wp-block-navigation ul.wp-block-navigation__submenu-container li.is-active a{background:rgba(255,255,255,.25);padding-left:1.5em}nav.wp-block-navigation ul.wp-block-navigation__submenu-container li a{font-size:1em;padding:.5em 1em;background:rgba(255,255,255,.1);border-radius:0px;display:block;color:var(--wp--preset--color--background);border:none !important;transition:.2s linear all}nav.wp-block-navigation ul.wp-block-navigation__submenu-container li:hover>a{border:none;background:rgba(255,255,255,.25);padding-left:1.5em}nav.wp-block-navigation ul.wp-block-navigation__submenu-container li ul{padding:1em !important;border-radius:10px !important;top:50%;transform:translateY(-50%)}nav.wp-block-navigation ul.wp-block-navigation__submenu-container li ul li a{font-size:.8em}nav.wp-block-navigation a{z-index:10}nav.wp-block-navigation .menu-button ul.wp-block-navigation__submenu-container{top:26px}}@media print{*{background:rgba(0,0,0,0) !important;color:#000 !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important}a,a:visited{color:#444 !important;text-decoration:underline}a:after,a:visited:after{content:" (" attr(href) ")"}a abbr[title]:after,a:visited abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.sidebar,.page-navigation,.wp-prev-next,.respond-form,nav{display:none}}


/* iga-workspace */
/* Approved public workspace. Page-scoped: dashboard and single-page layouts keep their own styles. */
.ace-workspace-page{--shell-bg:#14191b;--shell-panel:#1c2224;--shell-card:#232a2c;--shell-ink:#eef0e9;--shell-muted:#a7b1ad;--shell-line:#35403f;--shell-accent:#efb665;--shell-accent-ink:#1a1108;--ace-bg:var(--shell-bg);--ace-surface:var(--shell-panel);--ace-ink:var(--shell-ink);--ace-muted:var(--shell-muted);--ace-orange:var(--shell-accent);--ace-orange-2:var(--shell-accent);background:var(--shell-bg);color:var(--shell-ink);font-family:'DM Sans',sans-serif}
.ace-workspace-page[data-ace-theme=light]{--shell-bg:#f4f3ec;--shell-panel:#fafbf5;--shell-card:#ecefe6;--shell-ink:#252d29;--shell-muted:#68736c;--shell-line:#d0d5cb;--shell-accent:#915424;--shell-accent-ink:#ffffff;color-scheme:light}
.ace-workspace-page:not([data-ace-theme=light]){color-scheme:dark}
.ace-workspace-page .wp-site-blocks{padding:0}.ace-workspace-page h1,.ace-workspace-page h2,.ace-workspace-page h3,.ace-shell__brand{font-family:'Space Grotesk',sans-serif}.ace-shell *{box-sizing:border-box}.ace-shell{--shell-left:244px;--shell-right:268px;--shell-filter:232px;display:grid;grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-right);height:calc(100dvh - var(--wp-admin--admin-bar--height,0px));overflow:hidden;position:relative;isolation:isolate;font-size:14px;line-height:1.5;margin:0!important}.ace-shell--map{grid-template-columns:var(--shell-left) var(--shell-filter) minmax(0,1fr) var(--shell-right)}.ace-shell__main{min-width:0;min-height:0;overflow:auto;background:var(--shell-bg);position:relative}.ace-shell__main>.entry-content{margin:0}.ace-shell__left,.ace-shell__right,.ace-shell__filter{min-width:0;overflow:auto;background:var(--shell-panel);border-right:1px solid var(--shell-line);margin:0!important}.ace-shell__right{border-right:0;border-left:1px solid var(--shell-line)}.ace-shell--home>.ace-shell__filter,.ace-shell--home>.ace-shell__edge--filter{display:none}.ace-shell__brand,.ace-shell__account-head{height:52px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--shell-line);position:sticky;top:0;background:var(--shell-panel);z-index:5}.ace-shell__brand>a{flex:1;font-size:17px;font-weight:700;text-decoration:none;color:var(--shell-ink)}.ace-shell button,.ace-shell input,.ace-shell select{font:inherit}.ace-shell button{cursor:pointer;background:var(--shell-card);color:var(--shell-ink);border:1px solid var(--shell-line);border-radius:8px;padding:8px 11px}.ace-shell button:hover,.ace-shell button:focus-visible,.ace-shell a:focus-visible{outline:2px solid var(--shell-accent);outline-offset:1px}.ace-shell__brand button,.ace-shell__account-head button{border:0;background:none;padding:5px}.ace-shell__account-head>span{flex:1}.ace-shell__left .wp-block-navigation{padding:12px 10px;display:block}.ace-shell__left .wp-block-navigation__container{display:flex;flex-direction:column;align-items:stretch;gap:3px}.ace-shell__left .wp-block-navigation-item{width:100%}.ace-shell__left .wp-block-navigation-item__content{padding:12px 10px;width:100%;font-size:13px;border-radius:8px;color:var(--shell-ink);text-decoration:none}.ace-shell__left .wp-block-navigation-item__label{display:flex;align-items:center;gap:14px}.ace-shell__icon{font-size:19px;width:23px;flex:none;text-align:center;color:var(--shell-muted)}.ace-shell__left .wp-block-navigation-item__content:hover,.ace-shell__left a[aria-current=page]{background:color-mix(in srgb,var(--shell-accent) 14%,transparent);color:var(--shell-accent)}.ace-shell__about,.ace-shell__personal,.ace-shell__account-content{padding:22px 18px}.ace-shell__about{border-top:1px solid var(--shell-line);color:var(--shell-muted);font-size:12px}.ace-shell__about small{font-size:10px;letter-spacing:.1em}.ace-shell__about button,.ace-shell__personal a{display:block;margin-top:16px}.ace-shell a{color:var(--shell-accent)}.ace-shell__personal{padding:20px 0}.ace-shell__personal h2{font-size:21px}.ace-shell__personal p{color:var(--shell-muted);font-size:13px}.ace-shell__account-tabs{display:flex;padding:10px;gap:5px;border-bottom:1px solid var(--shell-line)}.ace-shell__account-tabs button{flex:1;font-size:11px}.ace-shell__account-tabs button[aria-pressed=true]{border-color:var(--shell-accent);color:var(--shell-accent)}.ace-shell--home .ace-shell__account-tabs,.ace-shell--home #ace-shell-context{display:none}.ace-shell__empty{padding:22px;color:var(--shell-muted)}.ace-shell [hidden]{display:none!important}
/* Keep the visible rail layout while emitting the unique page content before
   repeated navigation and account widgets in the document source. */
.ace-shell>.ace-shell__main{grid-column:2;grid-row:1}
.ace-shell>.ace-shell__left{grid-column:1;grid-row:1}
.ace-shell>.ace-shell__right{grid-column:3;grid-row:1}
.ace-shell--map>.ace-shell__main{grid-column:3}
.ace-shell--map>.ace-shell__filter{grid-column:2;grid-row:1}
.ace-shell--map>.ace-shell__right{grid-column:4}
/* Hubs that move their filters into the shell's filter rail (jobs, market, charities) add a
   column after the nav. Every panel is placed explicitly: left alone, main kept its base
   column 2 and landed in the narrow filter track while the right rail took the wide one. */
@media(min-width:901px){
.ace-shell:is(.has-jobs-filters,.has-market-filters,.has-chy-rail)>.ace-shell__left{grid-column:1;grid-row:1}
.ace-shell:is(.has-jobs-filters,.has-market-filters,.has-chy-rail)>.ace-shell__filter{grid-column:2;grid-row:1}
.ace-shell:is(.has-jobs-filters,.has-market-filters,.has-chy-rail)>.ace-shell__main{grid-column:3;grid-row:1}
.ace-shell:is(.has-jobs-filters,.has-market-filters,.has-chy-rail)>.ace-shell__right{grid-column:4;grid-row:1}
.ace-shell:is(.has-jobs-filters,.has-market-filters).has-context-rail>.ace-shell__contextual{grid-column:4;grid-row:1}
.ace-shell:is(.has-jobs-filters,.has-market-filters).has-context-rail>.ace-shell__right{grid-column:5;grid-row:1}
}
/* Keep the existing real login/registration forms inline in the account rail. */
.ace-shell__account-content .ace-acct{display:block}.ace-shell__account-content .ace-acct--guest>.ace-acct__btn{display:none}.ace-shell__account-content .ace-acct--guest>.ace-acct__menu{position:static;display:block!important;width:auto;max-width:none;box-shadow:none;background:none;border:0;padding:0;color:var(--shell-ink)}.ace-shell__account-content .ace-loginform input:not([type=checkbox]){width:100%;background:var(--shell-bg);color:var(--shell-ink);border:1px solid var(--shell-line);border-radius:8px;padding:10px}.ace-shell__account-content .ace-loginform__submit{background:var(--shell-accent);color:var(--shell-bg)}
.ace-shell__edge{position:absolute!important;top:0;bottom:0;width:12px;padding:0!important;border:0!important;background:none!important;border-radius:0!important;cursor:col-resize!important;z-index:30;touch-action:none}.ace-shell__edge--left{left:calc(var(--shell-left) - 6px)}.ace-shell__edge--right{right:calc(var(--shell-right) - 6px)}.ace-shell__edge--filter{left:calc(var(--shell-left) + var(--shell-filter) - 6px)}.ace-shell__edge>span{position:absolute;top:39px;left:-7px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--shell-card);border:1px solid var(--shell-line);font-size:13px}.ace-shell__edge:hover>span{font-size:0;background:repeating-linear-gradient(90deg,var(--shell-card) 0 8px,var(--shell-muted) 8px 9px,var(--shell-card) 9px 11px);border-color:var(--shell-accent)}.ace-shell[data-left-closed=true] .ace-shell__label,.ace-shell[data-left-closed=true] .ace-shell__about,.ace-shell[data-left-closed=true] .ace-shell__brand>a{display:none}.ace-shell[data-left-closed=true] .ace-shell__brand{justify-content:center}.ace-shell[data-right-closed=true] .ace-shell__right>:not(.wp-block-template-part),.ace-shell[data-right-closed=true] .ace-shell__right .ace-shell__account-content,.ace-shell[data-right-closed=true] #ace-shell-context,.ace-shell[data-right-closed=true] .ace-shell__account-tabs{display:none}.ace-shell[data-right-closed=true] .ace-shell__account-head{height:auto;min-height:52px;flex-direction:column}.ace-shell__mobile,.ace-shell__mobile-tools,.ace-shell__scrim{display:none}
/* Map canvas and the relocated, unchanged layer and detail components. */
.ace-shell--map .ace-shell__main{overflow:hidden}.ace-shell--map .entry-content{height:100%}.ace-shell--map .alm{width:100%;height:100%;min-height:0;max-width:none;margin:0!important;--alm-bg:var(--shell-bg);--alm-surface:var(--shell-panel);--alm-surface-2:var(--shell-card);--alm-ink:var(--shell-ink);--alm-muted:var(--shell-muted);--alm-line:var(--shell-line);--alm-orange:var(--shell-accent);--alm-orange-2:var(--shell-accent);font-family:inherit}.ace-shell--map .alm__summary{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ace-shell--map .alm__top{display:none}.ace-shell--map .alm__ticker{top:0;bottom:auto;height:52px;border-bottom:1px solid var(--shell-line);border-radius:0;background:var(--shell-panel);left:0;right:0;max-width:none}.ace-shell--map .alm__banner{top:60px}.ace-shell__filter .alm__rail{position:static;transform:none;width:auto;max-height:none;overflow:visible;padding:0;display:block;inset:auto}.ace-shell__filter .alm__group{background:transparent;border:0;border-bottom:1px solid var(--shell-line);border-radius:0;padding:16px 10px;color:var(--shell-ink)}.ace-shell__filter .alm__layer{font-size:12px;width:100%;border:0;border-radius:7px;padding:10px 6px;background:transparent;color:var(--shell-ink)}.ace-shell__filter .alm__layer.is-on{background:color-mix(in srgb,var(--shell-accent) 10%,transparent)}.ace-shell__filter .alm__sw{border-color:var(--shell-muted)}.ace-shell__filter .alm__layer.is-on .alm__sw{background:var(--shell-accent)}.ace-shell__filter .alm__group h3{font-size:11px;color:var(--shell-accent)}.ace-map-search{height:52px;display:flex;align-items:center;border-bottom:1px solid var(--shell-line);padding:8px;gap:5px}.ace-map-search input{min-width:0;width:100%;border:0;background:none;color:var(--shell-ink);font-size:12px}.ace-map-search button{padding:5px;border:0;background:none}.ace-map-tabs{display:flex;gap:4px;padding:10px 8px;border-bottom:1px solid var(--shell-line)}.ace-map-tabs button{flex:1;padding:12px 4px;font-size:11px}.ace-map-tabs button[aria-pressed=true]{border-color:var(--shell-accent);color:var(--shell-accent)}.ace-map-tools,.ace-map-results{padding:12px}.ace-map-tools>button,.ace-map-results>button{display:block;width:100%;text-align:left;margin-bottom:8px}.ace-map-tools input{width:100%;min-width:0;padding:9px;background:var(--shell-bg);color:var(--shell-ink);border:1px solid var(--shell-line);border-radius:7px;margin:5px 0}.ace-map-tools h3{font-size:14px}.ace-map-layer-search{padding:10px}.ace-map-layer-search input{width:100%;min-width:0;background:var(--shell-bg);color:var(--shell-ink);border:1px solid var(--shell-line);border-radius:8px;padding:10px;font-size:11px}.ace-shell__filter .alm__chips{padding:10px;gap:4px;display:flex;flex-wrap:wrap}.ace-shell__filter .alm__chip{font-size:10px;padding:5px}.ace-shell__filter .alm__now{padding:10px;display:block}.ace-shell__filter .alm__legend,.ace-shell__filter .alm__radio small{color:var(--shell-muted)}:is(.ace-shell__right,.ace-shell__contextual) .alm__panel{position:static;display:none;transform:none;opacity:1;max-height:none;width:auto;max-width:none;border:0;box-shadow:none;padding:0;background:var(--shell-panel);color:var(--shell-ink)}:is(.ace-shell__right,.ace-shell__contextual) .alm__panel.is-open{display:block}:is(.ace-shell__right,.ace-shell__contextual) .alm__panelhead{background:var(--shell-panel);border-color:var(--shell-line);padding:18px}:is(.ace-shell__right,.ace-shell__contextual) .alm__panelhead h2{font-size:20px}:is(.ace-shell__right,.ace-shell__contextual) .alm__panelbody{padding:18px;max-height:none;color:var(--shell-ink)}:is(.ace-shell__right,.ace-shell__contextual) .alm__panelbody a:not(.alm__btn):not(.ace-btn):not([class*=btn]){color:var(--shell-accent)}.ace-shell[data-filter-closed=true] .ace-map-layers,.ace-shell[data-filter-closed=true] .ace-map-tools,.ace-shell[data-filter-closed=true] .ace-map-results,.ace-shell[data-filter-closed=true] .ace-map-search input{display:none!important}.ace-shell[data-filter-closed=true] .ace-map-tabs{flex-direction:column;padding:8px 3px}.ace-shell[data-filter-closed=true] .ace-map-tabs button{font-size:10px;padding:8px 2px}
/* Homepage content remains block-owned and uses its established pin/flag and browser engines. */
:is(.ace-shell--home,.ace-shell--events) .ace-app{width:100%;max-width:none;margin-left:0!important;margin-right:0!important}.ace-shell--home .als{width:auto;margin-left:0!important;margin-right:0!important}.ace-shell--home .als__ticker,.ace-shell--home .als__chips{background:var(--shell-panel)}:is(.ace-shell--home,.ace-shell--events) .ace-app__bar{background:var(--shell-panel);border-color:var(--shell-line);backdrop-filter:none;color:var(--shell-ink);border-radius:12px}:is(.ace-shell--home,.ace-shell--events) .ace-app__bar h1{font-size:clamp(27px,3vw,44px)}:is(.ace-shell--home,.ace-shell--events) .ace-app__bar p{color:var(--shell-muted)}:is(.ace-shell--home,.ace-shell--events) .ace-app input,:is(.ace-shell--home,.ace-shell--events) .ace-app select{background:var(--shell-bg);color:var(--shell-ink);border-color:var(--shell-line)}.ace-shell--home .wp-block-post-content>.wp-block-group,.ace-shell--home .ace-suggestions,.ace-shell--home .ace-boosted{padding-left:28px;padding-right:28px}.ace-shell--home .wp-block-post-content .alignwide{max-width:100%;margin-inline:auto}.ace-shell--home .wp-block-post-template{gap:20px}.ace-shell--home .wp-block-post-title{font-size:22px}.ace-shell--home .wp-block-post-featured-image img{border-radius:9px}.ace-home-layout{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;gap:10px}.ace-home-layout strong{font:600 22px 'Space Grotesk',sans-serif}.ace-home-layout button{font-size:12px}.ace-home-layout button[aria-pressed=true]{border-color:var(--shell-accent);color:var(--shell-accent)}
@media(max-width:900px){.ace-shell,.ace-shell--map{display:block;padding-top:54px}.ace-shell--map{padding-bottom:54px}.ace-shell__main{height:100%}.ace-shell__mobile{display:flex;align-items:center;justify-content:space-between;height:54px;position:absolute;top:0;left:0;right:0;padding:0 12px;background:var(--shell-panel);border-bottom:1px solid var(--shell-line)}.ace-shell__mobile a{font-weight:700;text-decoration:none;color:var(--shell-ink)}.ace-shell__left,.ace-shell__right,.ace-shell__filter{position:absolute;top:0;bottom:0;width:min(84vw,320px);z-index:100;transform:translateX(-110%)}.ace-shell__right{right:0;transform:translateX(110%)}.ace-shell[data-drawer=left] .ace-shell__left,.ace-shell[data-drawer=right] .ace-shell__right,.ace-shell[data-drawer=filter] .ace-shell__filter{transform:none}.ace-shell__scrim:not([hidden]){display:block;position:absolute;inset:0;border:0;border-radius:0;background:#0009;z-index:90}.ace-shell__edge{display:none}.ace-shell--map .ace-shell__mobile-tools{display:flex;position:absolute;bottom:0;left:0;right:0;height:54px;justify-content:space-around;align-items:center;background:var(--shell-panel);border-top:1px solid var(--shell-line)}.ace-shell__mobile-tools button{font-size:11px;border:0;background:none}.ace-shell[data-left-closed=true] .ace-shell__label,.ace-shell[data-left-closed=true] .ace-shell__about,.ace-shell[data-left-closed=true] .ace-shell__brand>a,.ace-shell[data-right-closed=true] .ace-shell__right .ace-shell__account-content{display:block}.ace-shell[data-right-closed=true] .ace-shell__account-tabs{display:flex}.ace-shell[data-right-closed=true] .ace-shell__account-head{height:52px;flex-direction:row}.ace-shell[data-filter-closed=true] .ace-map-tabs{flex-direction:row}.ace-shell[data-filter-closed=true] .ace-map-search input{display:block!important}.ace-shell[data-filter-closed=true] .ace-map-layers:not([hidden]),.ace-shell[data-filter-closed=true] .ace-map-tools:not([hidden]),.ace-shell[data-filter-closed=true] .ace-map-results:not([hidden]){display:block!important}.ace-home-layout{align-items:flex-start;flex-direction:column}.ace-shell--home .wp-block-post-content>.wp-block-group{padding-inline:16px}.ace-shell--map .alm__ticker{height:38px}}
.ace-shell,.ace-shell .ace-app,.ace-shell .ace-browser,.ace-shell .als,.ace-shell .ace-shell__filter,.ace-shell .ace-shell__right{--ace-bg:var(--shell-bg);--ace-surface:var(--shell-panel);--ace-surface-2:var(--shell-card);--ace-ink:var(--shell-ink);--ace-muted:var(--shell-muted);--ace-line:var(--shell-line);--ace-orange:var(--shell-accent);--ace-orange-2:var(--shell-accent);--alm-bg:var(--shell-bg);--alm-surface:var(--shell-panel);--alm-surface-2:var(--shell-card);--alm-ink:var(--shell-ink);--alm-muted:var(--shell-muted);--alm-line:var(--shell-line);--alm-orange:var(--shell-accent);--alm-orange-2:var(--shell-accent)}
.ace-workspace-page[data-ace-theme=light] .alm .leaflet-tile-pane{filter:none}.ace-workspace-page .ace-shell__filter .alm__rail .alm__group{backdrop-filter:none}.ace-shell--home .ace-home-days{padding:28px}.ace-shell--home .ace-home-days .ace-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.ace-workspace-page .ace-shell{font-family:'DM Sans',sans-serif;font-weight:400}.ace-shell :where(div,span,p,a,button,input,select,label,small,strong,b,li,ul,nav,section,aside,main,header,footer,form){font-family:inherit}.ace-workspace-page .ace-shell :is(h1,h2,h3){font-family:'Space Grotesk',sans-serif!important;font-weight:600!important;color:var(--shell-ink)}.ace-shell__left .wp-block-navigation-item__content{font-weight:500}.ace-shell__account-content .ace-acct--guest>.ace-acct__menu{min-width:0;backdrop-filter:none}.ace-shell__account-content .ace-loginform__field,.ace-shell__account-content .ace-loginform__row label,.ace-shell__account-content .ace-loginform__lost{color:var(--shell-muted);font-weight:400;text-transform:none;letter-spacing:normal}.ace-shell__account-content .ace-loginform__row{flex-wrap:wrap}.ace-shell__account-content .ace-loginform{min-width:0}.ace-shell__brand>a{color:var(--shell-ink)}
:is(.ace-shell--home,.ace-shell--events) .ace-app{--ace-header-offset:0px;--ace-edge:24px;--ace-overlap:0px;--ace-intro-shift:0px;margin:0!important;padding-top:0;height:680px;min-height:600px}:is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__bar{left:24px;width:min(400px,calc(100% - 48px));padding:24px;background:var(--shell-panel);border:1px solid var(--shell-line);border-radius:12px;text-align:left}:is(.ace-shell--home,.ace-shell--events) .ace-app__bar-glass,:is(.ace-shell--home,.ace-shell--events) .ace-app__bar::after{display:none}:is(.ace-shell--home,.ace-shell--events) .ace-app__lead{text-align:left}:is(.ace-shell--home,.ace-shell--events) .ace-app__lead h1,:is(.ace-shell--home,.ace-shell--events) .ace-app__lead h2{font-size:36px!important;line-height:1.12;text-align:left;margin:0 0 12px}:is(.ace-shell--home,.ace-shell--events) .ace-app__lead p{font-size:14px;line-height:1.6;color:var(--shell-muted);text-align:left;font-weight:400}.ace-shell--home .ace-dd__btn{background:var(--shell-card);color:var(--shell-ink);border-color:var(--shell-line)}:is(.ace-shell--home,.ace-shell--events) .ace-app__bar button[type=submit]{background:var(--shell-accent);color:var(--shell-bg)}:is(.ace-shell--home,.ace-shell--events) .ace-app.is-active .ace-app__bar{background:var(--shell-panel);backdrop-filter:none}:is(.ace-shell--home,.ace-shell--events) .ace-app__featured{top:25px;bottom:30px}:is(.ace-shell--home,.ace-shell--events) .ace-app__map::after{display:none}.ace-shell--home .als__chips{justify-content:flex-start}.ace-shell--home .ace-home-days{border-top:1px solid var(--shell-line)}
@media(max-width:900px){:is(.ace-shell--home,.ace-shell--events) .ace-app{height:650px;min-height:600px}:is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__bar{left:16px;width:calc(100% - 32px);padding:20px}:is(.ace-shell--home,.ace-shell--events) .ace-app__lead h1,:is(.ace-shell--home,.ace-shell--events) .ace-app__lead h2{font-size:30px!important}}
.ace-shell .dashicons{font-family:dashicons!important}.ace-shell__main .ace-app.is-intro .ace-app__bar .ace-btn--primary{background:var(--shell-accent);color:var(--shell-bg)}
.ace-workspace-page[data-ace-theme=light] :is(.ace-shell--home,.ace-shell--events) .ace-app .leaflet-tile-pane{filter:none}.ace-workspace-page[data-ace-theme=light] .ace-shell :is(.ace-dd__menu,.ace-loc-suggest,.ace-app__panel,.ace-app__results,.ace-detail){background:var(--shell-panel);color:var(--shell-ink);backdrop-filter:none}.ace-workspace-page[data-ace-theme=light] .ace-shell :is(.ace-dd__option,.ace-sug,.ace-card,.ace-card__body){color:var(--shell-ink);background:var(--shell-card)}
.ace-shell__left .ace-shell__label{color:var(--shell-ink)}.ace-shell--map #ace-shell-context:has(.alm__panel.is-open)>.ace-shell__empty{display:none}.ace-workspace-page[data-ace-theme=light] .ace-shell .als :is(.als__chip,.als-chip){background:var(--shell-card);color:var(--shell-ink)}.ace-workspace-page[data-ace-theme=light] .ace-shell .leaflet-control-attribution{background:var(--shell-panel);color:var(--shell-muted)}
@media(max-width:900px){.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro{height:650px!important;min-height:600px;pointer-events:auto}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__bar{display:flex!important;top:80px;transform:none!important;flex-direction:column;align-items:stretch;overflow:visible;backdrop-filter:none}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__lead{display:block!important}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__bar .ace-loc{flex:none;width:100%;height:46px}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:none;width:100%;max-width:none}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__map{display:block;mask-image:none;-webkit-mask-image:none}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro::after{display:none}}
.ace-workspace-page .ace-shell__left .wp-block-navigation :is(a,span){color:var(--shell-ink)!important}
.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-app__explore{display:block!important;width:100%;background:var(--shell-accent);color:var(--shell-bg);border-color:var(--shell-accent);padding:11px;border-radius:8px}.ace-workspace-page :is(.ace-shell--home,.ace-shell--events) .ace-app.is-intro .ace-loc-search{height:46px;border-radius:8px;background:var(--shell-bg);border:1px solid var(--shell-line);box-shadow:none}.ace-workspace-page .ace-shell--home .ace-loc{background:none;border-radius:8px}
/* Desktop nav rows follow TalkFuse: edge-to-edge, square-ended hit areas. */
.ace-shell__left .wp-block-navigation{padding:12px 0}.ace-shell__left .wp-block-navigation-item__content{border-radius:0;padding:12px 18px}.ace-shell__left .wp-block-navigation__container{gap:0}.ace-shell .ace-shell__icon.fa-solid{font-family:'Font Awesome 6 Free'!important;font-weight:900!important;font-size:17px}

/* Full-bleed map hero, with native live strip above its canvas. Content has its own wrapper. */
.ace-shell--home .wp-block-post-content>.ace-home-hero{position:relative;width:100%;max-width:none;margin:0!important;padding:0!important;height:min(820px,100dvh);min-height:640px;isolation:isolate}
.ace-workspace-page .ace-home-hero .ace-app{position:absolute;inset:0;width:100%;height:100%!important;min-height:0!important;margin:0!important;padding:0!important}
.ace-workspace-page .ace-home-hero .ace-app__map{inset:0!important;width:100%;height:100%!important;mask-image:none;-webkit-mask-image:none}
.ace-workspace-page .ace-home-hero>.als{position:absolute!important;top:0;left:0;right:0;width:100%;max-width:none;z-index:650;margin:0!important;padding:10px 16px;background:none;pointer-events:none}
.ace-workspace-page .ace-home-hero>.als .als__inner{width:100%;max-width:none;margin:0;padding:0}
.ace-workspace-page .ace-home-hero :is(.als__ticker,.als__chip,.als__pill){pointer-events:auto}
.ace-workspace-page .ace-home-hero .als__chips{background:none;gap:6px}
.ace-workspace-page .ace-home-hero .als__ticker{background:color-mix(in srgb,var(--shell-panel) 92%,transparent);backdrop-filter:blur(8px)}
.ace-shell--home .wp-block-post-content>.ace-home-content{width:100%;max-width:none;min-width:0;margin:0 auto!important;padding:0 28px 32px!important}
.ace-home-content>*{max-width:100%;min-width:0}.ace-home-content>.alignfull{width:100%;margin-inline:0!important}.ace-home-content .ace-home-layout{padding:28px 0}.ace-home-content .ace-home-days{padding:28px 0}.ace-home-content>.wp-block-group{margin-block:0!important}
.ace-home-content .wp-block-post-template{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
@media(max-width:900px){.ace-shell--home .wp-block-post-content>.ace-home-hero{height:740px;min-height:740px}.ace-workspace-page .ace-home-hero>.als{padding:8px}.ace-workspace-page .ace-home-hero .als__chips{flex-wrap:nowrap;overflow-x:auto;pointer-events:auto;scrollbar-width:thin}.ace-workspace-page .ace-home-hero .als__chips>*{flex:none}.ace-workspace-page .ace-home-hero .ace-app.is-intro .ace-app__bar{top:124px}.ace-shell--home .wp-block-post-content>.ace-home-content{padding:0 16px 24px!important}}

/* Keep workspace nav glyphs separate from plugins registering their own FA subsets.
   This is the complete FA 6.1.1 solid font; the old 2KB subset omitted controls
   which the workspace itself uses. The global FA stylesheet reuses this same URL. */
@font-face{font-family:"Ace Workspace Icons";font-style:normal;font-weight:900;font-display:swap;src:url(https://sheff.events/assets/themes/iga/assets/fonts/FontAwesome/webfonts/fa-solid-900.woff2?v=d76fb4e841) format("woff2")}
.ace-workspace-page .ace-shell__icon.fa-solid{font-family:"Ace Workspace Icons"!important;font-weight:900!important}
.ace-workspace-page .ace-shell__left .ace-shell__icon--performer{width:17px;height:19px;margin-inline:1px 2px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNOTYgOTZsMCAxNjBjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwYzAtNTMtNDMtOTYtOTYtOTZTOTYgNDMgOTYgOTZ6TTMyMCAyNDBsMCAxNmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOHMtMTI4LTU3LjMtMTI4LTEyOGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCA4OS4xIDY2LjIgMTYyLjcgMTUyIDE3NC40bDAgMzMuNi00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDAgNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTMzLjZjODUuOC0xMS43IDE1Mi04NS4zIDE1Mi0xNzQuNGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjR6Ii8+PC9zdmc+") center/contain no-repeat;mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNOTYgOTZsMCAxNjBjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwtODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwIDAtMzItODAgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw4MCAwYzAtNTMtNDMtOTYtOTYtOTZTOTYgNDMgOTYgOTZ6TTMyMCAyNDBsMCAxNmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOHMtMTI4LTU3LjMtMTI4LTEyOGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCA4OS4xIDY2LjIgMTYyLjcgMTUyIDE3NC40bDAgMzMuNi00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDAgNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTMzLjZjODUuOC0xMS43IDE1Mi04NS4zIDE1Mi0xNzQuNGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjR6Ii8+PC9zdmc+") center/contain no-repeat}

/* Same self-hosted typefaces and edge-knob affordance as the TalkFuse hub. */
.ace-shell__logo-link{display:flex;align-items:center;min-width:0;height:100%}.ace-shell__logo{display:block;width:auto;max-width:100%;max-height:38px;object-fit:contain}
.ace-shell__edge{top:39px;bottom:auto;width:26px;height:26px;border-radius:50%!important;cursor:pointer!important;z-index:10060;outline-offset:2px}
.ace-shell__edge--left{left:calc(var(--shell-left) - 13px)}.ace-shell__edge--filter{left:calc(var(--shell-left) + var(--shell-filter) - 13px)}.ace-shell__edge--right{right:calc(var(--shell-right) - 13px)}
.ace-shell__edge>span{inset:0;font-size:18px;color:var(--shell-muted);box-shadow:0 4px 14px -6px #0008;transition:color .12s,border-color .12s,transform .12s}
.ace-shell__edge:hover>span{background:var(--shell-card);color:transparent;font-size:18px;transform:scale(1.12);border-color:var(--shell-accent)}
.ace-shell__edge::after{content:'';position:absolute;top:50%;left:50%;width:11px;height:13px;transform:translate(-50%,-50%);opacity:0;transition:opacity .16s;pointer-events:none;background:repeating-linear-gradient(90deg,var(--shell-muted) 0 1.5px,transparent 1.5px 4px)}
.ace-shell__edge:hover::after{opacity:.8}.ace-shell__edge:active::after{opacity:1;background:repeating-linear-gradient(90deg,var(--shell-accent) 0 1.5px,transparent 1.5px 4px)}
.ace-map-view-switch{display:flex;flex-wrap:wrap;gap:6px;padding:16px;border-top:1px solid var(--shell-line)}.ace-map-view-switch a{padding:8px 10px;border:1px solid var(--shell-line);border-radius:8px;text-decoration:none;font-size:12px}.ace-map-view-switch a[aria-current=page]{color:var(--shell-accent);border-color:var(--shell-accent);background:var(--shell-card)}
.ace-shell.is-event-view .ace-shell__main{overflow:hidden}.ace-shell.is-event-view .ace-shell__main>.entry-content{height:100%}
.ace-shell.is-event-view .wp-block-post-content>.ace-home-hero{height:100%!important;min-height:0!important}
.ace-shell.is-event-view .ace-home-hero>.als,.ace-shell.is-event-view .ace-home-content,.ace-shell.is-event-view .ace-shell__main>footer{display:none!important}
.ace-shell--events{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-right)}
.ace-shell--events>.ace-shell__filter,.ace-shell--events>.ace-shell__edge--filter,.ace-shell--events>.ace-shell__mobile-tools{display:none!important}
.ace-workspace-page .ace-shell--events .ace-app{position:absolute;inset:0;width:100%;height:100%!important;min-height:0!important;margin:0!important;padding:0!important}
.ace-workspace-page .ace-shell.is-event-view .ace-app{--ace-header-offset:0px;--ace-edge:0px;--ace-overlap:0px;--ace-intro-shift:0px}
.ace-workspace-page .ace-shell.is-event-view .ace-app__map{inset:0!important;height:100%!important;mask-image:none;-webkit-mask-image:none}
.ace-workspace-page .ace-shell.is-event-view .ace-app__bar{top:0!important;left:0!important;right:0!important;width:100%!important;border-radius:0!important;margin:0;max-width:none}
@media(max-width:900px){.ace-shell--events{padding-bottom:0}.ace-shell__mobile .ace-shell__logo{max-width:180px;max-height:36px}}

/* The legacy city-map page rule hides siblings of its canvas; event mode owns this canvas instead. */
.ace-workspace-page .ace-shell--events .entry-content>.ace-app{display:block!important}

.ace-shell--events .ace-shell__account-tabs,.ace-shell--events #ace-shell-context{display:none}

/* The event engine's photo-card and glass defaults need explicit light workspace colours. */
.ace-workspace-page[data-ace-theme=light] .ace-shell .ace-app :is(.ace-dd__btn,.ace-dd__label,.ace-dd__caret,.ace-dd__opt,.ace-card__title,.ace-card__loc,.ace-card__date){color:var(--shell-ink)!important;text-shadow:none!important}
.ace-workspace-page[data-ace-theme=light] .ace-shell .ace-app :is(.ace-card__body,.ace-app__bar,.ace-dd__menu,.ace-loc-suggest){background:var(--shell-panel)!important;color:var(--shell-ink)!important}
.ace-workspace-page[data-ace-theme=light] .ace-shell .ace-app .ace-loc{background:var(--shell-card)!important}
.ace-workspace-page[data-ace-theme=light] .ace-shell .ace-loginform :is(label,.ace-loginform__field,.ace-loginform__row,.ace-loginform__lost){color:var(--shell-muted)!important}
.ace-workspace-page[data-ace-theme=light] .ace-shell__logo{background:#1c2224;padding:3px 6px}

.ace-workspace-page[data-ace-theme=light] .ace-shell--events .ace-app .leaflet-tile-pane{filter:none}

/* One input surface: the search and clear icons overlay it rather than taking flex space. */
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc{position:relative;display:block;height:46px;min-height:46px;padding:0;border:0;background:transparent!important;box-shadow:none}
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc-search{display:block;box-sizing:border-box;width:100%;max-width:100%;height:46px;min-height:46px;margin:0;padding:0 42px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-bg);color:var(--shell-ink);font-family:inherit;font-size:14px;line-height:normal;box-shadow:none}
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc-search::placeholder{color:var(--shell-muted);opacity:1}
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc-search:focus{outline:2px solid var(--shell-accent);outline-offset:-2px}
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc>.dashicons{position:absolute;left:14px;top:50%;bottom:auto;transform:translateY(-50%);width:20px;height:20px;display:grid;place-items:center;line-height:1;font-size:20px;z-index:2;pointer-events:none;color:var(--shell-accent)}
.ace-workspace-page .ace-shell .ace-app .ace-app__bar .ace-loc-clear{position:absolute;left:auto;right:7px;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0;border:0;background:transparent;color:var(--shell-muted);z-index:2}

/* The homepage tabs already separate the hero from its content; cancel the legacy overlap. */
.ace-workspace-page .ace-home-content .ace-events-browser{margin-top:0!important}

/* Centre-panel blocks must not escape to viewport width inside the workspace. */
.ace-home-content .alignfull{width:100%;max-width:100%;margin-inline:0!important}
.ace-shell__account-open{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-radius:0!important}
@media(min-width:901px){.ace-shell[data-right-closed=true] .ace-shell__account-open{flex-direction:column;gap:4px;padding:12px 2px;font-size:11px}}
.ace-home-content .ace-boosted{width:100%;max-width:100%;margin-inline:0!important}

/* Secondary context rail, matching the account/chat relationship in TalkFuse. */
.ace-shell.has-context-rail{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-context) 66px}.ace-shell--map.has-context-rail{grid-template-columns:var(--shell-left) var(--shell-filter) minmax(0,1fr) var(--shell-context) 66px}
.ace-shell.has-context-rail>.ace-shell__contextual{grid-column:3;grid-row:1}.ace-shell.has-context-rail>.ace-shell__right{grid-column:4;grid-row:1}.ace-shell--map.has-context-rail>.ace-shell__contextual{grid-column:4}.ace-shell--map.has-context-rail>.ace-shell__right{grid-column:5}.ace-shell.has-chy-rail.has-context-rail>.ace-shell__contextual{grid-column:4}.ace-shell.has-chy-rail.has-context-rail>.ace-shell__right{grid-column:5}
.ace-shell__contextual{min-width:0;min-height:0;overflow:auto;background:var(--shell-panel);border-left:1px solid var(--shell-line)}.ace-shell__contextual #ace-shell-context{display:block!important}.ace-shell__contextual .ace-shell__empty{display:none}
.ace-shell__edge--context{right:calc(66px + var(--shell-context) - 6px)}
@media(max-width:900px){.ace-shell__contextual{position:absolute;right:0;top:0;bottom:0;width:min(90vw,420px);z-index:100;transform:translateX(110%)}.ace-shell[data-drawer=context] .ace-shell__contextual{transform:none}}

@media(min-width:901px){.ace-shell--map.has-event-context{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-context) 66px}.ace-shell.has-event-context>.ace-shell__filter,.ace-shell.has-event-context>.ace-shell__edge--filter{display:none}.has-event-context .leaflet-marker-pane>:not(.alm-pinwrap){display:none!important}}
.has-event-context .leaflet-marker-pane>:not(.alm-pinwrap){display:none!important}
/* Rail navigation uses the heading face; date controls form an even, labelled grid. */
.ace-workspace-page .wp-block-navigation-item__content,.ace-shell :is(nav a,nav button,.ace-map-view-switch a,.ace-sidebar-menu a,.ace-sidebar-menu button,.ace-map-tabs button,.alm__chip){font-family:'Space Grotesk',sans-serif!important;font-weight:500}
.ace-shell__filter .alm__chips:has(> [data-when]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;margin:0;padding:14px 12px 16px;border:0;border-bottom:1px solid var(--shell-line);border-radius:0;background:transparent;box-shadow:none}
.ace-shell__filter .alm__chips:has(> [data-when])::before{content:'When';grid-column:1/-1;color:var(--shell-muted);font-family:'Space Grotesk',sans-serif!important;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}
.ace-shell__filter [data-when]{min-width:0;width:100%;min-height:40px;margin:0;padding:9px 6px;border:1px solid var(--shell-line);border-radius:6px;background:var(--shell-card);color:var(--shell-ink);font-size:13px;line-height:1.2;text-align:center;white-space:normal}
.ace-shell__filter [data-when]:last-child{grid-column:1/-1}
.ace-shell__filter [data-when].is-on{background:var(--shell-accent);border-color:var(--shell-accent);color:#171b1c;font-weight:600}
.ace-shell__filter [data-when]:not(.is-on):hover{border-color:var(--shell-accent);background:color-mix(in srgb,var(--shell-accent) 10%,var(--shell-card))}
.ace-workspace-page .wp-block-navigation-item__label,.ace-shell .ace-shell__label,.ace-shell .alm__lbl{font-family:'Space Grotesk',sans-serif!important}

/* The public shell owns the dashboard viewport and its account navigation. */
.ace-shell--content .ace-shell__main{padding:28px;}.ace-shell--content .ace-shell__main>.wp-block-post-content{max-width:1200px;margin-inline:auto}.ace-shell--content .ace-shell__main>.wp-block-post-title{max-width:1200px;margin:0 auto 20px}.ace-shell--content .alignfull{width:100%;max-width:100%;margin-inline:0!important}
#ace-shell-dashboard-nav:empty{display:none}.ace-shell:has(.ace-dashboard-sidebar) .ace-shell__account-content{padding:0}.ace-shell:has(.ace-dashboard-sidebar) .ace-shell__account-content>:not(.ace-shell__dashnav){display:none}
.ace-shell.is-management .ace-shell__main{overflow:hidden}.ace-shell.is-management .ace-shell__main>.wp-block-post-content,.ace-shell.is-management .ace-shell__main .ace-user-dashboard,.ace-shell.is-management .ace-shell__main .ace-dashboard-layout{height:100%;min-height:0;max-height:100%;margin:0;width:100%}
.ace-shell.is-management .ace-dashboard-layout>.ace-dashboard-content{flex:1;min-width:0;height:100%;min-height:0;max-height:100%;margin:0}.ace-shell #ace-shell-dashboard-nav{overflow:visible;background:var(--shell-panel)}
.ace-shell #ace-shell-dashboard-nav .ace-dashboard-sidebar{position:static;width:100%;min-width:0;height:auto;min-height:0;max-height:none;overflow:visible;border:0;background:var(--shell-panel);color:var(--shell-ink)}
.ace-shell .ace-shell__right .ace-sidebar-menu a,.ace-shell .ace-shell__right .ace-sidebar-menu button{width:100%;border-radius:0;padding:12px 18px}.ace-shell.is-management .ace-shell__right .ace-menu-label{color:var(--shell-ink)}
.ace-shell.is-management{--ace-bg:var(--shell-bg);--ace-surface:var(--shell-panel);--ace-surface-2:var(--shell-card);--ace-ink:var(--shell-ink);--ace-muted:var(--shell-muted);--ace-line:var(--shell-line);--ace-orange:var(--shell-accent);--ace-orange-2:var(--shell-accent)}
.ace-shell.is-management :is(.ace-panel-content,.ace-dashboard-content,.ace-user-posts-wrapper,.ace-user-posts-list,.ace-user-posts-header,.active-community-engagement-dashboard-view-header,.ace-no-posts-message){background:var(--shell-bg)!important;color:var(--shell-ink)!important}
.ace-shell.is-management :is(.ace-user-post-item,.ace-view-post,.ace-edit-post,.ace-add-edit-event,.view-panel,.ace-dashboard-editor-panel,.ace-dashboard-message-panel){background:var(--shell-panel)!important;color:var(--shell-ink)!important;border-color:var(--shell-line)!important}
.ace-shell.is-management :is(.ace-sidebar-heading,.ace-user-name,.ace-user-role,.ace-menu-label,.ace-post-content,.ace-post-content strong){color:var(--shell-ink)}.ace-workspace-login{padding:28px}
@media(max-width:900px){.ace-shell--content .ace-shell__main{padding:20px 16px}}
.ace-shell[data-right-closed=false] .ace-shell__account-open{display:none}@media(max-width:900px){.ace-shell__account-open{display:none}}

.ace-shell.is-management{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-right)}.ace-shell.is-management>.ace-shell__filter,.ace-shell.is-management>.ace-shell__edge--filter{display:none}.ace-shell.is-management .ace-shell__main>.ace-user-dashboard{height:100%;width:100%;margin:0;min-height:0;max-height:100%;overflow:hidden}
.ace-shell.is-management .ace-dashboard-editor-panel{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:100%!important}.ace-shell.is-management .ace-dashboard-editor-panel .ace-panel-content{height:100%;min-height:0;max-height:100%;overflow:auto}
.ace-profile-dialog{padding:0;border:1px solid var(--shell-line,#444);border-radius:14px;width:min(1060px,94vw);height:min(820px,90dvh);max-width:94vw;max-height:90dvh;background:#1c2223;color:#edf0ee;font-family:'DM Sans',sans-serif;overflow:hidden}.ace-profile-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.ace-profile-dialog__layout{display:grid;grid-template-columns:200px minmax(0,1fr);height:100%}.ace-profile-dialog nav{padding:24px 0;background:#171d1e;border-right:1px solid #ffffff18}.ace-profile-dialog nav h2{padding:0 20px;font:600 20px 'Space Grotesk',sans-serif}.ace-profile-dialog nav button{display:block;width:100%;padding:14px 20px;text-align:left;background:none;color:inherit;border:0;font:500 14px 'Space Grotesk',sans-serif;cursor:pointer}.ace-profile-dialog nav button[aria-current]{background:#f0b65e22;color:#f0b65e}.ace-profile-dialog__body{position:relative;padding:48px 24px 24px;min-width:0;overflow:auto}.ace-profile-dialog__close{position:absolute;right:14px;top:10px;width:36px;height:36px;border:1px solid #ffffff30;border-radius:50%;background:transparent;color:inherit;font-size:24px;cursor:pointer}.ace-profile-dialog :is(.ace-settings-panel,.ace-profile-panel,.ace-panel-content){background:transparent!important;color:inherit!important;max-height:none;height:auto;min-height:0}.ace-profile-dialog input,.ace-profile-dialog textarea,.ace-profile-dialog select{max-width:100%;box-sizing:border-box}.ace-profile-dialog button:focus-visible{outline:2px solid #f0b65e;outline-offset:-3px}body[data-ace-theme=light] .ace-profile-dialog{background:#fff;color:#172021}body[data-ace-theme=light] .ace-profile-dialog nav{background:#f1f3f0;border-color:#ccd4d2}
@media(max-width:900px){.ace-profile-dialog__layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.ace-profile-dialog nav{display:flex;padding:8px 40px 8px 8px;overflow:auto}.ace-profile-dialog nav h2{display:none}.ace-profile-dialog nav button{width:auto;white-space:nowrap;padding:10px}.ace-profile-dialog__body{padding:16px}.ace-profile-dialog__close{position:fixed;top:6dvh;right:5vw;z-index:3}}
.ace-shell.is-management .ace-dashboard-editor-panel:not(.active):not(.closing){visibility:hidden;pointer-events:none}.ace-shell #ace-shell-dashboard-nav .ace-user-avatar{width:80px;height:80px;margin:20px auto}.ace-shell.is-management .ace-user-profile{margin-bottom:20px}.ace-shell.is-management .ace-management-welcome{padding:28px}.ace-shell.is-management .ace-shell__left .ace-shell__label{font-family:"Space Grotesk",sans-serif!important}.ace-shell.is-management .ace-shell__left nav a{font-weight:500!important;text-shadow:none!important}.ace-profile-dialog .ace-settings-panel{min-width:0}
.ace-profile-dialog{--profile-line:#394344;--profile-field:#12191a;--profile-muted:#a7b3b1;color:#edf0ee!important}.ace-profile-dialog :is(h1,h2,h3,h4,label){color:inherit!important}.ace-profile-dialog :is(h1,h2,h3,h4){font-family:'Space Grotesk',sans-serif!important}.ace-profile-dialog .ace-settings-header{margin:0 0 24px}.ace-profile-dialog .ace-settings-header h2{font-size:24px;margin:0}.ace-profile-dialog .ace-settings-header>button{display:none}.ace-profile-dialog .ace-settings-section{padding:20px 0;border-top:1px solid var(--profile-line)}.ace-profile-dialog .ace-settings-section h3{font-size:18px;margin:0 0 18px}.ace-profile-dialog .ace-settings-field{margin-bottom:18px}.ace-profile-dialog .ace-settings-field>label{display:block;font-weight:500;margin-bottom:8px}.ace-profile-dialog input:not([type=checkbox]):not([type=radio]):not([type=file]),.ace-profile-dialog textarea,.ace-profile-dialog select{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--profile-line);border-radius:6px;background:var(--profile-field);color:inherit;font:inherit}.ace-profile-dialog textarea{min-height:100px}.ace-profile-dialog .field-description{font-size:13px;color:var(--profile-muted);margin-top:6px}.ace-profile-dialog input:focus,.ace-profile-dialog textarea:focus,.ace-profile-dialog select:focus{outline:2px solid #f0b65e;outline-offset:2px}.ace-profile-dialog .ace-settings-actions button{min-height:44px;padding:10px 18px;background:#f0b65e;color:#171d1e;border:0;border-radius:6px}.ace-profile-dialog input[type=checkbox],.ace-profile-dialog input[type=radio]{accent-color:#f0b65e;margin-right:8px}body[data-ace-theme=light] .ace-profile-dialog{--profile-line:#ccd4d2;--profile-field:#f7f9f6;--profile-muted:#586765;color:#172021!important}
.ace-profile-dialog{font-size:14px!important;line-height:1.5}.ace-profile-dialog .ace-settings-field>label{font-size:14px!important}.ace-profile-dialog :is(.ace-profile-header,.ace-settings-header)>button{display:none}.ace-profile-dialog :is(.ace-profile-content,.ace-user-profile-panel,.ace-user-settings-panel){font-size:14px;color:inherit;background:transparent}.ace-profile-dialog .ace-profile-content label{display:block;font-size:14px;margin:16px 0 8px}
.ace-shell.is-management .ace-dashboard-overlay{display:none!important}.ace-shell.is-management .ace-editor-content{background:var(--shell-panel)!important;color:var(--shell-ink)!important;padding:24px;min-height:100%;box-sizing:border-box}.ace-shell.is-management .ace-add-edit-event{padding:0}.ace-shell.is-management .ace-form-title{color:var(--shell-ink);font-family:'Space Grotesk',sans-serif!important}.ace-shell.is-management .ace-form-field{margin:20px 0}.ace-shell.is-management .ace-form-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.ace-shell.is-management .ace-form-field select,.ace-shell.is-management .ace-form-field textarea{background:var(--shell-bg);color:var(--shell-ink);border:1px solid var(--shell-line);min-height:44px;border-radius:6px;padding:10px 12px;box-sizing:border-box;max-width:100%}.ace-shell.is-management .ace-form-actions{display:flex;gap:10px;margin-top:24px}.ace-shell.is-management .ace-dashboard-editor-panel .block-editor-writing-flow{min-height:160px;padding:12px;background:var(--shell-bg);border:1px solid var(--shell-line);border-radius:6px}

.ace-shell #ace-shell-dashboard-nav :is(.ace-sidebar-heading,.ace-user-name,.ace-user-role,.ace-menu-label){color:var(--shell-ink)}
.ace-hub-public,.ace-hub-route{min-width:0;min-height:0;width:100%}.ace-shell--map .ace-hub-public,.ace-shell--map .ace-hub-route,.ace-shell.is-event-view .ace-hub-public,.ace-shell.is-event-view .ace-hub-route{height:100%}.ace-hub-status{position:fixed;left:50%;top:16px;transform:translateX(-50%);z-index:1200;padding:12px 18px;background:var(--shell-panel,#1c2223);color:var(--shell-ink,#edf0ee);border:1px solid var(--shell-line,#394344);border-radius:6px}.ace-hub-status[hidden]{display:none}.ace-shell--content .ace-hub-route>.alignfull{width:100%;margin-inline:0!important}
/* Public app views already own their inner gutter. Keep WordPress's global
   padding from stacking into a wide dead margin when the shell's main panel is
   narrow (for example, a half-screen browser or a resized pair of rails). */
.ace-shell--content .ace-hub-route{container:acehub/inline-size}
.ace-shell--content .ace-hub-route .entry-content.has-global-padding{padding-inline:clamp(0px,2cqi,24px)}
@container acehub (max-width:680px){.ace-shell--content .ace-hub-route .entry-content.has-global-padding{padding-inline:0}}
.ace-shell.is-event-view .ace-hub-route>.entry-content{height:100%;margin:0}.ace-shell.is-event-view .ace-hub-route>footer{display:none!important}
.ace-shell.is-event-view .ace-shell__main{padding:0}.ace-shell.is-event-view .ace-hub-route>.wp-block-group{height:100%;margin:0!important}
.ace-shell--content>.ace-shell__filter,.ace-shell--content>.ace-shell__edge--filter{display:none}
.ace-shell a.ace-btn--tickets{color:#171d1e!important}

/* Shared rail rhythm: full-width navigation with TalkFuse hover behaviour. */
.ace-shell .ace-shell__brand .ace-shell__wordmark,.ace-shell .ace-shell__mobile .ace-shell__wordmark{display:flex;align-items:center;gap:9px;font-family:'Space Grotesk',sans-serif!important;font-size:22px;font-weight:700;letter-spacing:-.6px;line-height:1.1;color:var(--shell-ink);text-decoration:none;white-space:nowrap}
.ace-shell__wordmark .fa-location-dot{color:var(--shell-accent);font-size:23px}
.ace-shell .ace-shell__brand{padding-inline:16px}
.ace-shell .ace-shell__left .wp-block-navigation{padding:16px 0}
.ace-shell .ace-shell__left .wp-block-navigation__container{gap:2px}
.ace-shell .ace-shell__left .wp-block-navigation-item__content,.ace-shell .ace-shell__right .ace-sidebar-menu :is(a,button){display:flex;align-items:center;gap:12px;min-height:44px;width:100%;margin:0;padding:12px 16px;border:0;border-radius:0!important;background:transparent;color:var(--shell-ink);font-family:'Space Grotesk',sans-serif!important;font-size:13px;font-weight:500;line-height:1.45;text-decoration:none;transition:background .12s,color .12s}
.ace-shell .ace-shell__left .wp-block-navigation-item__content:hover,.ace-shell .ace-shell__right .ace-sidebar-menu :is(a,button):hover{background:var(--shell-card);color:var(--shell-accent);outline:none}
.ace-shell .ace-shell__left .wp-block-navigation-item__content:focus-visible,.ace-shell .ace-shell__right .ace-sidebar-menu :is(a,button):focus-visible{outline:2px solid var(--shell-accent);outline-offset:-2px;background:var(--shell-card);color:var(--shell-accent)}
.ace-shell .ace-shell__left .ace-shell__icon{width:20px;flex:0 0 20px;font-size:17px;text-align:center}
.ace-shell .ace-shell__right .ace-sidebar-menu{padding:8px 0;margin:0;list-style:none}
.ace-shell .ace-shell__right .ace-sidebar-menu li{margin:0;padding:0}
.ace-shell .ace-shell__right .ace-sidebar-menu :is(a,button)[aria-current],.ace-shell .ace-shell__right .ace-sidebar-menu .active,.ace-shell .ace-shell__left .wp-block-navigation-item__content[aria-current=page]{background:color-mix(in srgb,var(--shell-accent) 14%,transparent);color:var(--shell-accent)}
.ace-shell .ace-shell__account-content{padding:20px 16px}
@media(min-width:901px){.ace-shell[data-left-closed=true] .ace-shell__left .wp-block-navigation-item__content{padding:12px 0;justify-content:center;gap:0}.ace-shell[data-left-closed=true] .ace-shell__brand{padding-inline:0}.ace-shell[data-left-closed=true] .ace-shell__wordmark{justify-content:center}.ace-shell[data-left-closed=true] .ace-shell__wordmark span{display:none}}
@media(min-width:901px){.ace-shell[data-left-closed=true] .ace-shell__left .wp-block-navigation-item__label{width:100%;justify-content:center}.ace-shell[data-left-closed=true] .ace-shell__left .ace-shell__icon{margin-inline:auto}}

.ace-shell .ace-shell__personal>a{display:flex;align-items:center;min-height:44px;width:calc(100% + 32px);margin:0 -16px;padding:12px 16px;border-radius:0;color:var(--shell-ink);font:500 13px 'Space Grotesk',sans-serif;text-decoration:none;transition:background .12s,color .12s}
.ace-shell .ace-shell__personal>a:hover,.ace-shell .ace-shell__personal>a:focus-visible{background:var(--shell-card);color:var(--shell-accent)}
.ace-shell .ace-shell__account-content .ace-loginform{border:0;background:transparent}
.ace-shell .ace-shell__account-content .ace-loginform__field{font-size:12px;text-transform:none;letter-spacing:0;margin-bottom:14px}

/* Map canvas extends beneath the desktop rails; only the rail surfaces blur. */
@media(min-width:901px){
.ace-shell--map .alm__map,.ace-shell.is-event-view .ace-app__map{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important}
.ace-shell--map .ace-shell__left,.ace-shell--map .ace-shell__right,.ace-shell--map .ace-shell__filter,.ace-shell.is-event-view .ace-shell__left,.ace-shell.is-event-view .ace-shell__right,.ace-shell.is-event-view .ace-shell__filter{position:relative;z-index:12;background:color-mix(in srgb,var(--shell-panel) 82%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ace-shell--map .ace-shell__brand,.ace-shell.is-event-view .ace-shell__brand{background:transparent}
}
.ace-rail-tooltip{position:fixed;z-index:100000;width:max-content;max-width:260px;padding:8px 11px;border:1px solid var(--shell-line,rgba(255,255,255,.15));border-radius:8px;background:var(--shell-panel,#17191b);color:var(--shell-ink,#f5f2ea);box-shadow:0 12px 32px rgba(0,0,0,.35);font:500 12px/1.35 'DM Sans',sans-serif;pointer-events:none}.ace-rail-tooltip[hidden]{display:none}.ace-shell [data-ace-tooltip]::after{display:none!important}
.ace-shell .ace-app .ace-app__bar{background:color-mix(in srgb,var(--shell-panel) 80%,transparent)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}

@media(min-width:901px){
/* The homepage scrollport spans the shell so its map can bleed beneath both rails. */
.ace-shell--home:not(.is-event-view)>.ace-shell__main{grid-area:1/1/2/-1;padding-inline:var(--shell-left) var(--shell-right);background:var(--shell-bg)}
.ace-shell--home:not(.is-event-view)>.ace-shell__left{grid-area:1/1/2/2}
.ace-shell--home:not(.is-event-view)>.ace-shell__right{grid-area:1/3/2/4}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro{left:calc(0px - var(--shell-left))!important;right:auto!important;width:calc(100% + var(--shell-left) + var(--shell-right))!important}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro .ace-app__map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro .ace-app__bar{left:calc(var(--shell-left) + 24px)!important;width:min(400px,calc(100% - var(--shell-left) - var(--shell-right) - 48px))}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro .ace-app__featured{left:calc(var(--shell-left) + var(--ace-edge) + var(--ace-intro-panel-w) + 2.75rem);right:calc(var(--shell-right) + var(--ace-edge))}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro .leaflet-left{left:var(--shell-left)}
.ace-shell--home:not(.is-event-view) .ace-app.is-intro .leaflet-right{right:var(--shell-right)}
.ace-shell--home .ace-shell__left,.ace-shell--home .ace-shell__right{position:relative;z-index:12;background:color-mix(in srgb,var(--shell-panel) 82%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ace-home-content{position:relative;z-index:1;background:var(--shell-bg)}
}
@media(prefers-reduced-transparency:reduce){.ace-shell .ace-shell__left,.ace-shell .ace-shell__right,.ace-shell .ace-shell__filter,.ace-shell .ace-app .ace-app__bar{background:var(--shell-panel)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}

@media(min-width:901px){.ace-shell--map .ace-shell__contextual{background:color-mix(in srgb,var(--shell-panel) 82%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}

/* The centre panel owns scrolling; maps alone may extend behind the rails. */
.ace-shell__main{overflow-x:hidden}
.ace-shell--home{--home-wrap:1340px}
.ace-shell--home .ace-home-content{container:home-content / inline-size;min-width:0;max-width:100%;--home-gutter:clamp(16px,3%,28px);padding-inline:var(--home-gutter)!important;overflow-wrap:anywhere}
.ace-shell--home .ace-home-content>:is(.wp-block-group,.ace-home-layout,.aln){width:100%;min-width:0;max-width:100%;margin-inline:auto!important;padding-inline:0!important}
.ace-shell--home .ace-home-content :is(.alignfull,.alignwide){width:100%;max-width:100%;min-width:0;margin-inline:0!important}
.ace-shell--home .ace-home-content :is(.wp-block-column,.wp-block-query,.wp-block-post-template,.ace-browser,.ace-boosted,.ace-suggestions){min-width:0;max-width:100%}
.ace-shell--home .ace-home-content :is(.ace-boosted,.ace-suggestions){padding-inline:0}
.ace-shell--home .ace-home-content :is(img,video,iframe){max-width:100%}
.ace-shell--home .ace-home-layout{flex-wrap:wrap}
.ace-shell--home .ace-home-layout>div{display:flex;gap:8px;flex-wrap:wrap}
/* Covers retain an edge-to-edge background, with their contents inside the same gutter. */
.ace-shell--home .ace-home-content>.wp-block-cover{width:calc(100% + 2 * var(--home-gutter));max-width:none;margin-inline:calc(-1 * var(--home-gutter))!important;padding-inline:var(--home-gutter)}
@container home-content (max-width:700px){
 .ace-home-content .wp-block-columns{flex-wrap:wrap!important}
 .ace-home-content .wp-block-columns>.wp-block-column{flex-basis:100%!important}
 .ace-home-content .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))!important}
 .ace-home-content .ace-home-layout{align-items:flex-start;flex-direction:column}
}

/* Full live attribution remains readable in the map filter rail. */
.ace-map-credits{margin-top:auto;padding:18px 14px;border-top:1px solid var(--shell-line);font-size:12px;color:var(--shell-muted)}
.ace-map-credits summary{cursor:pointer;color:var(--shell-ink);font-family:'Space Grotesk',sans-serif;line-height:1.5}
.ace-map-credits .leaflet-control-attribution{float:none;clear:none;margin:12px 0 0!important;padding:0;background:transparent;color:var(--shell-muted);font:inherit;overflow-wrap:anywhere}
.ace-map-credits a{color:var(--shell-accent)}
.alm-credits-link{padding:3px 7px;background:var(--shell-panel);color:var(--shell-muted);font:11px 'DM Sans',sans-serif;border-radius:4px}
.alm-credits-link button{font:inherit;padding:0;border:0;background:none;color:var(--shell-accent);text-decoration:underline}
@media(min-width:901px){.ace-shell[data-filter-closed=true] .ace-map-credits{display:none}}
.ace-hub-status:has(.ace-sheffield-loader){inset:var(--wp-admin--admin-bar--height,0px) 0 0;transform:none;display:grid;place-items:center;padding:22px 32px;max-width:none;border:0;border-radius:0;box-shadow:none;background:color-mix(in srgb,var(--shell-bg,#14191b) 82%,transparent);backdrop-filter:blur(5px);pointer-events:auto}
@media(min-width:901px){.ace-hub-status:has(.ace-sheffield-loader){left:var(--shell-left);right:var(--shell-right)}.ace-shell.has-context-rail .ace-hub-status:has(.ace-sheffield-loader){right:calc(var(--shell-context) + 66px)}}
.ace-hub-status:has(.ace-sheffield-loader) .ace-sheffield-loader{padding:24px 34px;border:1px solid var(--shell-line);border-radius:16px;background:var(--shell-panel);box-shadow:0 18px 55px #0006}
.ace-sheffield-loader{display:grid;justify-items:center;gap:8px;text-align:center;min-width:200px}
.ace-sheffield-loader strong{font:600 20px 'Space Grotesk',sans-serif}.ace-sheffield-loader span{font-size:12px;color:var(--shell-muted)}
.ace-sheffield-loader svg{color:var(--shell-accent);overflow:hidden}.ace-loader-hills{fill:none;stroke:currentColor;stroke-width:2;opacity:.35}.ace-loader-city{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}.ace-loader-track{stroke:currentColor;opacity:.35}.ace-loader-tram{fill:currentColor;animation:ace-tram-journey 2s ease-in-out infinite}.ace-loader-tram path{stroke:var(--shell-panel);stroke-width:2}

/* Load-more work stays inside a normally sized button. The public-app CSS gives
   these controls a card-like width, so use the shell's stronger selector here:
   the Sheffield animation becomes an exact button-sized overlay only while the
   request is busy and cannot leak into the idle state. */
.ace-load-more .ace-load-more__button{position:relative;isolation:isolate;width:auto;max-width:min(100%,26rem);min-height:46px;height:auto;padding:.65rem 1rem;overflow:hidden;flex-direction:column;border-radius:.5rem}
.ace-load-more .ace-load-more__loader{display:none!important;position:absolute;z-index:2;inset:0;width:100%;height:100%;place-items:center;color:var(--shell-ink,#f5f2ea);overflow:hidden;background:var(--shell-panel,#1b2224);border-radius:inherit;pointer-events:none}
.ace-load-more .ace-load-more__loader svg{display:block;width:100%;height:100%;margin:0;padding:.18rem clamp(.7rem,8%,1.5rem);overflow:hidden}
.ace-load-more .ace-load-more__button:is(:disabled,[aria-disabled="true"]) .ace-load-more__loader{display:grid!important}
.ace-load-more .ace-load-more__button:is(:disabled,[aria-disabled="true"]) :is(.ace-load-more__label,.ace-load-more__hint){visibility:hidden}
.ace-load-more .ace-load-more__button:is(:disabled,[aria-disabled="true"]){cursor:wait;opacity:1}
@keyframes ace-tram-journey{0%{transform:translateX(0)}100%{transform:translateX(140px)}}
@media(prefers-reduced-motion:reduce){.ace-loader-tram{animation:none;transform:translateX(70px)}}

/* Keep the homepage footer above the full-viewport map and within the scroll panel. */
.ace-shell--home:not(.is-event-view) .ace-hub-route>footer{position:relative;z-index:2;display:block;min-width:0;width:100%;max-width:100%;margin:0;background:var(--shell-bg);padding-bottom:0}
@media(max-width:900px){.ace-shell--home:not(.is-event-view) .ace-hub-route>footer{padding-bottom:36px}}
.ace-shell--home .ace-hub-route>footer :is(.alignwide,.alignfull){max-width:100%;margin-inline:auto}

/* Active event controls belong to the panel, not the former intro's animated offset. */
.ace-workspace-page .ace-shell.is-event-view .ace-app{position:absolute;inset:0;width:100%;height:100%!important;min-height:0!important;margin:0!important}
.ace-workspace-page .ace-shell.is-event-view .ace-app.is-active .ace-app__bar{transform:none!important;animation:none!important;transition:none!important;top:0!important;opacity:1;visibility:visible}

/* Font Awesome storefront for the Market navigation entry. */
.ace-shell .ace-shell__icon.fa-store::before{content:"\f54e";}

/* Reuse the account inbox bell in the rail header, including its unread badge. */
.ace-shell .ace-shell__notification-bell{flex-shrink:0;margin:0;line-height:1}
.ace-shell .ace-shell__notification-bell .ace-bell__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;min-height:40px;padding:8px;position:relative;border-radius:0;color:var(--shell-ink);font:500 12px 'Space Grotesk',sans-serif}
.ace-shell .ace-shell__notification-bell .ace-bell__btn:hover,.ace-shell .ace-shell__notification-bell .ace-bell__btn:focus-visible{background:var(--shell-card);color:var(--shell-accent)}
.ace-shell .ace-shell__notification-bell .ace-bell__count{background:var(--shell-accent);color:var(--shell-bg);font:700 10px/16px 'Space Grotesk',sans-serif;min-width:16px;height:16px}
.ace-shell .ace-shell__account-head.has-inbox{height:auto;min-height:52px;flex-wrap:wrap}

/* A quiet introduction and the same account rhythm as the TalkFuse hub. */
.ace-shell__intro{padding:20px 18px 18px;border-bottom:1px solid var(--shell-line);overflow-wrap:anywhere}
.ace-shell__intro strong{display:block;color:var(--shell-accent);font:600 14px/1.35 'Space Grotesk',sans-serif}
.ace-shell__intro p{margin:8px 0 0;color:var(--shell-muted);font-size:12px;line-height:1.65}
@media(min-width:901px){.ace-shell[data-left-closed=true] .ace-shell__intro{display:none}}
.ace-shell .ace-shell__account-content{padding:0}
.ace-shell__account-content .ace-acct--guest{padding:24px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--shell-accent) 7%,transparent),transparent);border-bottom:1px solid var(--shell-line)}
.ace-shell__welcome>span{font:600 10px/1.4 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--shell-accent)}
.ace-shell .ace-shell__welcome h2{font-size:22px;line-height:1.2;margin:8px 0}
.ace-shell__welcome p{color:var(--shell-muted);font-size:12px;line-height:1.65;margin:0 0 22px}
.ace-shell .ace-shell__account-content .ace-loginform{padding:0;margin:0;box-shadow:none}
.ace-shell .ace-shell__account-content .ace-loginform__field{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;font-weight:500}
.ace-shell .ace-shell__account-content .ace-loginform input:not([type=checkbox]):not([type=hidden]){min-width:0;min-height:44px;font-size:14px;border-radius:6px;padding:10px 12px}
.ace-shell .ace-loginform input:focus-visible{outline:2px solid var(--shell-accent);outline-offset:2px}
.ace-shell .ace-loginform__row{font-size:12px;gap:8px;align-items:center;margin-bottom:16px}
.ace-shell .ace-loginform__row p{margin:0}.ace-shell .ace-loginform input[type=checkbox]{accent-color:var(--shell-accent)}
.ace-shell .ace-loginform__submit{width:100%;min-height:44px;font-weight:600;border-radius:6px}
/* The in-place sign-in answer. It replaces the old full-page trip to wp-login.php, so it has to
   carry the whole message: progress, a refusal, or the prompt for an authentication code. */
.ace-shell .iga-login-status{margin:12px 0 0;font-size:12px;line-height:1.55;color:var(--shell-muted);min-height:1em}
.ace-shell .iga-login-status:empty{display:none}
.ace-shell .ace-loginform--login>label:not(.ace-loginform__field){display:flex;flex-direction:column;gap:7px;margin:0 0 4px;font-size:12px;font-weight:500;color:var(--shell-muted)}
.ace-shell .ace-shell__personal{padding:24px 18px}
.ace-shell .ace-shell__personal h2{font-size:17px;margin:0 0 8px}.ace-shell .ace-shell__personal p{margin:0 0 18px;font-size:12px;line-height:1.6}
.ace-shell .ace-shell__personal>a{width:calc(100% + 36px);margin-inline:-18px;padding:14px 18px;gap:12px}
.ace-shell__personal>a i{width:18px;text-align:center;color:var(--shell-muted)}.ace-shell__personal>a>span:last-child{margin-left:auto;color:var(--shell-muted)}
.ace-shell #ace-shell-dashboard-nav .ace-user-profile{margin:0;padding:24px 18px 20px;border-bottom:1px solid var(--shell-line);background:linear-gradient(180deg,color-mix(in srgb,var(--shell-accent) 7%,transparent),transparent)}
.ace-shell #ace-shell-dashboard-nav .ace-user-avatar{width:72px;height:72px;margin:0 auto 14px;border:2px solid var(--shell-line);border-radius:50%}
.ace-shell #ace-shell-dashboard-nav .ace-user-info{text-align:center;min-width:0;overflow-wrap:anywhere}
.ace-shell #ace-shell-dashboard-nav .ace-user-name{font-size:18px;line-height:1.3;margin:0 0 6px}
.ace-shell #ace-shell-dashboard-nav .ace-user-role{font-size:12px;color:var(--shell-muted);text-transform:capitalize}
.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section{padding:0;margin:0;border:0}
.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-toggle{width:100%;min-height:48px;margin:0;padding:11px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-top:1px solid var(--shell-line);border-bottom:1px solid var(--shell-line);border-radius:0;background:color-mix(in srgb,var(--shell-card) 82%,var(--shell-accent) 6%);color:var(--shell-muted);font:700 13px/1.35 'Space Grotesk',sans-serif;text-align:left;cursor:pointer}.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-toggle:hover,.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-toggle:focus-visible{background:color-mix(in srgb,var(--shell-card) 88%,var(--shell-accent) 12%);color:var(--shell-ink)}.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-toggle:focus-visible{outline:2px solid var(--shell-accent);outline-offset:-2px}.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-caret{width:11px;height:11px;flex:none;transition:transform .16s ease}.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section.is-open .ace-sidebar-section-caret{transform:rotate(90deg)}.ace-shell #ace-shell-dashboard-nav .ace-sidebar-section-content[hidden]{display:none}
.ace-shell .ace-shell__right .ace-sidebar-menu{padding:0}.ace-shell .ace-shell__right .ace-sidebar-menu :is(a,button){padding:13px 18px;gap:12px;overflow-wrap:anywhere}
.ace-shell .ace-shell__right .ace-sidebar-menu svg{flex:0 0 18px;width:18px;margin-right:0!important;color:var(--shell-muted)}
.ace-shell .ace-shell__right .ace-sidebar-menu .active svg{color:var(--shell-accent)}
.ace-shell .ace-shell__right .ace-menu-label{flex:1;min-width:0;padding-left:0}.ace-shell .ace-shell__right .ace-notification-count{margin-left:auto;flex-shrink:0;font-size:11px}
.ace-shell .ace-shell__personal-icon{width:18px;height:18px;flex:0 0 18px;fill:currentColor;color:var(--shell-muted)}
/* The older login block applies fixed translucent colours with !important. */
.ace-shell .ace-shell__account-content .ace-loginform input:not([type=checkbox]):not([type=hidden]){background:var(--shell-bg)!important;border:1px solid var(--shell-line)!important;color:var(--shell-ink)!important}
.ace-shell .ace-shell__account-content .ace-loginform input::placeholder{color:var(--shell-muted);opacity:1}
/* Application actions in the map context rail use explicit theme pairs. */
.ace-shell__contextual .alm__panel[data-kind=job] .alm__actions{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
.ace-shell__contextual .alm__panel[data-kind=job] .alm__actions a.alm__btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;padding:12px 16px;border:1px solid var(--shell-accent);border-radius:6px;background:var(--shell-accent);color:var(--shell-bg)!important;font-weight:600;line-height:1.5;text-decoration:none;white-space:normal}
.ace-shell__contextual .alm__panel[data-kind=job] .alm__actions a.is-ghost{background:var(--shell-card);color:var(--shell-ink)!important;border-color:var(--shell-line)}
.ace-shell__contextual .alm__panel[data-kind=job] .alm__actions a:focus-visible{outline:2px solid var(--shell-accent);outline-offset:3px}
.ace-shell.has-job-context .alm__panelbody{font-size:14px;line-height:1.65;overflow-wrap:anywhere}

/* Native management fields inherit the hub theme, including Gutenberg controls. */
.ace-shell.is-management .ace-add-edit-event :is(label,.components-base-control__label,.ace-fields-heading){color:var(--shell-ink)!important;font-family:'Space Grotesk',sans-serif!important}
.ace-shell.is-management .ace-add-edit-event :is(.components-base-control__help,.ace-form-hint){color:var(--shell-muted)!important}
.ace-shell.is-management .ace-add-edit-event :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){width:100%;min-height:44px;max-width:100%;padding:10px 12px;box-sizing:border-box;border:1px solid var(--shell-line);border-radius:6px;background:var(--shell-bg);color:var(--shell-ink);font:inherit}
.ace-shell.is-management .ace-add-edit-event .components-placeholder{background:var(--shell-card);color:var(--shell-ink);box-shadow:inset 0 0 0 1px var(--shell-line)}
.ace-shell.is-management .ace-add-edit-event .components-button.is-primary{background:var(--shell-accent);color:var(--shell-bg)}
.ace-shell.is-management .ace-add-edit-event .components-button.is-secondary{color:var(--shell-ink);box-shadow:inset 0 0 0 1px var(--shell-line)}

/* Keep programme filters at the scrollport edge, with page spacing inside it. */
.ace-shell--content .ace-shell__main:has(.ace-prog){padding-block:0}
.ace-shell--content .ace-shell__main:has(.ace-prog)>.ace-hub-public{padding-block:28px}
/* Inside the workspace there is no theme header to clear, but there IS a context
   ticker stuck to the top of the scroller, and a date that parks at zero parks
   underneath it. Its height is measured into --ace-strip-h, because the ticker is
   not on every route. */
.ace-shell--content .ace-prog{--prog-top:var(--ace-strip-h,0px)}
@media(max-width:900px){.ace-shell--content .ace-shell__main:has(.ace-prog)>.ace-hub-public{padding-block:20px}}
.ace-programme-detail{padding:24px;color:var(--shell-ink);overflow-wrap:anywhere}
.ace-programme-detail__label{margin:0 0 8px;color:var(--shell-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.ace-programme-detail h2{margin:0 0 20px;font-size:clamp(22px,2vw,32px);line-height:1.2}
.ace-programme-detail h2[tabindex="-1"]:focus{outline:none}
.ace-programme-detail__close{display:none}
@media(max-width:900px){.ace-programme-detail__close{display:block;margin:0 0 16px auto}}
.ace-programme-detail__body{line-height:1.65}
.ace-programme-detail__body img{max-width:100%;height:auto}
.ace-programme-detail .ace-event-detail{margin-block:24px;padding:20px;border:1px solid var(--shell-line);border-radius:12px;background:var(--shell-card);color:var(--shell-ink)}
.ace-programme-detail .ace-event-detail h2{font-size:20px}
.ace-shell .ace-programme-detail a.ace-btn--tickets{background:var(--shell-accent);color:var(--shell-bg)!important}
.ace-programme-detail__full{display:inline-flex;padding:10px 14px;border:1px solid var(--shell-line);border-radius:6px;background:var(--shell-card);color:var(--shell-ink)!important;font-weight:600;text-decoration:none}

/* A single pill track with a sliding, pill-shaped selected view. */
.ace-shell .ace-prog__views{position:relative;isolation:isolate;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:4px;border:1px solid var(--shell-line);border-radius:999px;background:var(--shell-card)}
.ace-shell .ace-prog__views::before{content:"";position:absolute;z-index:-1;inset-block:4px;left:4px;width:calc((100% - 8px)/2);border-radius:999px;background:var(--shell-ink);box-shadow:0 1px 4px #0002;transform:translateX(0);transition:transform 220ms cubic-bezier(.2,.8,.2,1),background-color 180ms ease}
.ace-shell .ace-prog__views:has([data-view="cal"].is-on)::before{transform:translateX(100%)}
.ace-shell .ace-prog__views .ace-prog__view{min-height:40px;padding:8px 18px;border:0;border-radius:999px;background:transparent;color:var(--shell-muted);opacity:1;transition:color 180ms ease,background-color 180ms ease}
.ace-shell .ace-prog__views .ace-prog__view:hover{color:var(--shell-ink);background:color-mix(in srgb,var(--shell-ink) 6%,transparent)}
.ace-shell .ace-prog__views .ace-prog__view.is-on{background:transparent;color:var(--shell-bg)}
@media(prefers-reduced-motion:reduce){.ace-shell .ace-prog__views::before,.ace-shell .ace-prog__views .ace-prog__view{transition:none}}

/* Classes are a deliberate opt-in alongside the existing event filters. */
.ace-shell .ace-include-classes,.ace-shell .ace-classes-toggle label{display:flex;align-items:center;gap:8px;padding:10px 12px;color:var(--shell-ink);background:var(--shell-card);border:1px solid var(--shell-line);border-radius:8px;font-size:13px;white-space:nowrap}
.ace-shell .ace-include-classes input,.ace-shell .ace-classes-toggle input[type=checkbox]{width:16px;height:16px;margin:0;flex:none;accent-color:var(--shell-accent)}
.ace-shell .ace-classes-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}

/* Catalogue counts align to the outside edge without changing the rail hit areas. */
.ace-shell__left .wp-block-navigation-item__label{width:100%;min-width:0}
.ace-shell__left .ace-shell__label{min-width:0;flex:1}
.ace-shell__nav-count{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:26px;height:26px;padding:0 6px;margin-left:auto;border-radius:999px;background:var(--shell-card);color:var(--shell-muted);border:1px solid var(--shell-line);font-size:11px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.ace-shell__left a:hover .ace-shell__nav-count,.ace-shell__left a[aria-current=page] .ace-shell__nav-count{background:var(--shell-accent);color:var(--shell-bg);border-color:var(--shell-accent)}
@media(min-width:901px){.ace-shell[data-left-closed=true] .ace-shell__nav-count{display:none}}
.ace-shell__left{container-type:inline-size;container-name:ace-nav}
.ace-shell__left .ace-shell__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ace-shell__nav-count{width:32px;height:32px;min-width:32px;color:var(--shell-muted)!important}
.ace-shell__left a:hover .ace-shell__nav-count,.ace-shell__left a[aria-current=page] .ace-shell__nav-count{color:var(--shell-bg)!important}
@container ace-nav (max-width:190px){.ace-shell__nav-count{display:none}}

.ace-shell__left .ace-community-nav{position:relative;display:block;width:100%}
.ace-shell__left .ace-community-nav>.wp-block-navigation-item__content{padding-right:42px}
.ace-community-nav__toggle{position:absolute;right:4px;top:8px;width:32px;height:36px;padding:0;border:0;background:transparent;color:var(--shell-ink);font-size:22px;cursor:pointer;transition:transform .18s}
.ace-community-nav__toggle[aria-expanded=true]{transform:rotate(180deg)}
.ace-community-nav__toggle:hover{background:var(--shell-card)}
.ace-community-nav__panel{padding:8px 16px 16px 28px;border-bottom:1px solid var(--shell-line);background:var(--shell-card)}
.ace-community-nav__panel[hidden]{display:none!important}
.ace-community-nav__panel p{font-size:12px;color:var(--shell-muted);margin:8px 0}
.ace-community-nav__panel ul{display:block;list-style:none;margin:0;padding:0}
.ace-community-nav__panel li{display:block;margin:0;padding:0}
.ace-shell__left .ace-community-nav__panel a{display:block;padding:9px 8px;font-size:13px;color:var(--shell-ink);text-decoration:none;overflow-wrap:anywhere}
.ace-shell__left .ace-community-nav__panel a:hover{background:var(--shell-bg);color:var(--shell-accent)}
@media(min-width:901px){.ace-shell[data-left-closed=true] .ace-community-nav__panel,.ace-shell[data-left-closed=true] .ace-community-nav__toggle{display:none}.ace-shell[data-left-closed=true] .ace-community-nav>.wp-block-navigation-item__content{padding-right:0}}
@media(prefers-reduced-motion:reduce){.ace-community-nav__toggle{transition:none}}

/* Rails are continuous sections; spacing belongs inside each section. */
.ace-shell__left>.wp-block-template-part,.ace-shell__right>.wp-block-template-part{gap:0;--wp--style--block-gap:0}
.ace-shell__left>.wp-block-template-part>*,.ace-shell__right>.wp-block-template-part>*{margin-block:0!important}
.ace-shell__left .wp-block-navigation{padding:0!important;margin:0!important}
.ace-shell__left .wp-block-navigation__container{gap:0!important}
.ace-shell__account-content{padding:0!important}
.ace-shell__account-content>.ace-shell__personal{margin:0;padding:18px 0 0;border-top:1px solid var(--shell-line)}
.ace-shell__personal>h2,.ace-shell__personal>p{padding-inline:18px}
.ace-shell__personal>a{margin-top:0!important;border-radius:0!important}
.ace-shell .ace-community-nav__toggle{display:flex;align-items:center;justify-content:center;padding:8px;border:0;border-radius:0;background:transparent}
.ace-community-nav__toggle svg{width:13px;height:16px;display:block}

/* Consistent rail dropdown affordances, without replacing native select behaviour. */
.ace-shell__filter select:not([multiple]):not([size]),.ace-shell__left select:not([multiple]):not([size]){
 appearance:none!important;-webkit-appearance:none!important;padding-right:34px!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='18' viewBox='0 0 12 18'%3E%3Cpath d='m3 6 3-3 3 3M3 12l3 3 3-3' fill='none' stroke='%23a7b3b1' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:12px 18px!important;
}
body[data-ace-theme=light] .ace-shell__filter select:not([multiple]):not([size]),body[data-ace-theme=light] .ace-shell__left select:not([multiple]):not([size]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='18' viewBox='0 0 12 18'%3E%3Cpath d='m3 6 3-3 3 3M3 12l3 3 3-3' fill='none' stroke='%23586765' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.ace-shell__filter details>summary{position:relative;list-style:none;padding-right:30px;cursor:pointer}
.ace-shell__filter details>summary::-webkit-details-marker{display:none}
.ace-shell__filter details>summary::after{content:'';position:absolute;right:12px;top:50%;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .18s ease}
.ace-shell__filter details[open]>summary::after{transform:translateY(-25%) rotate(225deg)}
@media(prefers-reduced-motion:reduce){.ace-shell__filter details>summary::after{transition:none}}

/* Boosted artwork gets a diamond only; retain the text for assistive technology. */
.ace-shell .ace-gcard__badge--super{display:block!important;position:absolute;top:14px;left:14px;width:24px;height:24px;min-width:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:0!important;line-height:0!important;mix-blend-mode:difference;pointer-events:none}
.ace-shell .ace-gcard__badge--super>*{display:none!important}
.ace-shell .ace-gcard__badge--super::before{content:'';display:block;width:24px;height:24px;background:#fff;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}

/* Shared shell identity and rail controls. The whole divider is draggable; the
   visible pill is the click/touch affordance used by both desktop rails. */
.ace-shell__brand{container-type:inline-size}
.ace-shell__brand>.ace-shell__brand-link{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;max-width:100%;height:100%;overflow:hidden;font-size:clamp(15px,10.5cqw,34px);font-weight:800;letter-spacing:clamp(-.8px,-.15cqw,-.25px);text-decoration:none!important;color:var(--shell-ink)!important}
.ace-shell__brand-full{display:inline-flex;align-items:center;max-width:100%;gap:clamp(6px,2cqw,12px);white-space:nowrap}.ace-shell__brand-pin{display:block;width:.78em;height:1em;flex:0 0 auto;color:var(--shell-accent)}.ace-shell__wordmark .ace-shell__brand-pin{width:.78em;height:1em}.ace-shell__brand-compact{display:none;position:relative;align-items:flex-end;letter-spacing:-.06em}.ace-shell__brand-dot{position:relative;color:var(--shell-accent);margin-inline:1px}.ace-shell__brand-dot>.ace-shell__brand-pin{position:absolute;left:50%;bottom:5px;translate:-50% 0;width:9px;height:12px}.ace-shell__left .ace-shell__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:0;background:transparent;transition:color .15s}.ace-shell__left .wp-block-navigation-item__content:hover .ace-shell__icon,.ace-shell__left a[aria-current=page] .ace-shell__icon{background:transparent;color:var(--shell-accent)}
.ace-shell__brand .ace-shell__wordmark{min-width:0;max-width:100%;overflow:hidden;font-size:clamp(15px,10.5cqw,34px)!important;letter-spacing:clamp(-.8px,-.15cqw,-.25px);white-space:nowrap}
.ace-shell__edge{top:0!important;bottom:0!important;width:14px!important;height:auto!important;border-radius:0!important;cursor:col-resize!important;z-index:1100}.ace-shell__edge--left{left:calc(var(--shell-left) - 7px)!important}.ace-shell__edge--filter{left:calc(var(--shell-left) + var(--shell-filter) - 7px)!important}.ace-shell__edge--right{right:calc(var(--shell-right) - 7px)!important}.ace-shell__edge--context{right:calc(var(--shell-right) + var(--shell-context,320px) - 7px)!important}.ace-shell__edge::before{content:'';position:absolute;inset:0 5px;background:transparent;transition:background .15s}.ace-shell__edge:hover::before,.ace-shell__edge:focus-visible::before{background:color-mix(in srgb,var(--shell-accent) 38%,transparent)}.ace-shell__edge::after{display:none!important}.ace-shell__edge>span{inset:auto!important;top:39px!important;left:-7px!important;width:28px!important;height:28px!important;border-radius:50%!important;display:grid;place-items:center;background:var(--shell-card)!important;color:var(--shell-muted)!important;border:1px solid var(--shell-line)!important;box-shadow:0 5px 16px #0005!important;transition:color .15s,border-color .15s,background .15s,transform .15s}.ace-shell__edge:hover>span,.ace-shell__edge:focus-visible>span{color:var(--shell-accent)!important;background:var(--shell-panel)!important;border-color:var(--shell-accent)!important;transform:none!important}
.ace-shell[data-left-closed=true] .ace-shell__brand-full{display:none}.ace-shell[data-left-closed=true] .ace-shell__brand-compact{display:inline-flex}.ace-shell[data-left-closed=true] .ace-shell__brand>a{display:flex}.ace-shell[data-left-closed=true] .ace-shell__brand{padding-inline:6px}.ace-shell[data-left-closed=true] .ace-shell__brand-link{font-size:16px}
.ace-shell[data-filter-closed=true] .ace-map-tabs{flex-direction:column;padding:8px 6px;gap:7px}.ace-shell[data-filter-closed=true] .ace-map-tabs button{position:relative;min-height:42px;padding:6px 2px;border-radius:10px;font-size:0}.ace-shell[data-filter-closed=true] .ace-map-tabs button::before{font-family:'Ace Workspace Icons';font-weight:900;font-size:16px}.ace-shell[data-filter-closed=true] .ace-map-tabs button[data-map-tab=layers]::before{content:'\f5fd'}.ace-shell[data-filter-closed=true] .ace-map-tabs button[data-map-tab=tools]::before{content:'\f7d9'}.ace-shell[data-filter-closed=true] .ace-map-tabs button[data-map-tab=results]::before{content:'\f03a'}.ace-shell[data-filter-closed=true] .ace-map-search{justify-content:center;padding-inline:5px}.ace-shell[data-filter-closed=true] .ace-map-search button{width:42px;height:42px;border-radius:10px}

/* TalkFuse parity: closing a filter rail makes the controls compact, but the
   search remains a real, full-width field in the shared 52px top band. The
   extra 154px occupies the start of the map ticker instead of covering it. */
@media(min-width:901px){
 .ace-shell[data-filter-closed=true]>.ace-shell__filter,.ace-shell.has-chy-rail[data-filter-closed=true]>.ace-shell__filter{position:relative;z-index:14;overflow:visible}
 .ace-shell[data-filter-closed=true] :is(.ace-map-search,.ace-chy__railtop){position:relative;z-index:4;width:238px;min-width:238px;height:52px;box-sizing:border-box;background:var(--shell-panel);border-right:1px solid var(--shell-line)}
 .ace-shell[data-filter-closed=true] .ace-map-search{justify-content:stretch;padding:8px}
 .ace-shell[data-filter-closed=true] .ace-map-search input{display:block!important;min-width:0}
 .ace-shell[data-filter-closed=true] .ace-map-search button{width:36px;height:36px;flex:0 0 36px}
 .ace-shell.has-chy-rail[data-filter-closed=true] .ace-chy__search{display:flex}
 .ace-shell.has-chy-rail[data-filter-closed=true] .ace-chy__railtop{justify-content:stretch}
 .ace-shell--map[data-filter-closed=true] .alm[data-map-profile="live"]>.alm__ticker{box-sizing:border-box;padding-left:calc(238px - var(--shell-filter,84px))}
}
.ace-shell .ace-gcard__badge--super::before{content:'\f219';display:grid;place-items:center;width:24px;height:24px;background:none;clip-path:none;color:#fff;font-family:'Ace Workspace Icons';font-weight:900;font-size:22px;line-height:1}
.ace-shell__right .ace-dashboard-sidebar{padding:0;background:transparent;border:0}.ace-shell__right .ace-user-profile{padding:18px;border-bottom:1px solid var(--shell-line)}.ace-shell__right .ace-sidebar-heading{margin:0;padding:16px 18px 9px;color:var(--shell-muted);font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase}.ace-shell__right .ace-sidebar-menu{margin:0;padding:0 10px 8px;list-style:none}.ace-shell__right .ace-sidebar-button{min-height:44px;padding:10px 9px;border-radius:8px;gap:13px}.ace-shell__right .ace-sidebar-footer{position:absolute;top:7px;right:8px;margin:0;padding:0;border:0}.ace-shell__right .ace-logout-button{width:38px;height:38px;min-width:38px;padding:0!important;display:grid!important;place-items:center;border-radius:50%!important}.ace-shell__right .ace-logout-button .ace-menu-label,.ace-shell__right .ace-logout-button>svg+span{display:none}.ace-shell__right .ace-logout-button svg{margin:0!important}

/* Like TalkFuse, rail utilities sit at the base when content leaves room. */
.ace-shell__right>.wp-block-template-part{display:flex;flex-direction:column;min-height:100%}
.ace-shell__right>.wp-block-template-part>*{flex-shrink:0}
.ace-shell__right>.wp-block-template-part>.ace-shell__rail-footer{margin-top:auto!important;padding:18px 12px;border-top:1px solid var(--shell-line);text-align:center}
.ace-shell .ace-shell__rail-footer button{background:transparent;border:0;color:var(--shell-muted);font-size:12px}
@media(min-width:901px){.ace-shell[data-right-closed=true] .ace-shell__rail-footer{display:none}}

.ace-members-hub{max-width:1100px;margin-inline:auto;padding:24px;color:var(--shell-ink)}
.ace-members-hub form{display:flex;gap:12px;align-items:end;margin:24px 0}.ace-members-hub label{flex:1}.ace-members-hub input{display:block;width:100%;margin-top:8px;padding:12px;background:var(--shell-card);color:var(--shell-ink);border:1px solid var(--shell-line);border-radius:6px}
.ace-members-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}.ace-members-grid a{display:flex;align-items:center;gap:14px;padding:18px;background:var(--shell-card);border:1px solid var(--shell-line);color:var(--shell-ink);text-decoration:none}.ace-members-grid img{border-radius:50%}.ace-members-hub nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.ace-members-account-link{display:block;padding:14px 18px;border-top:1px solid var(--shell-line);text-decoration:none}.ace-members-account-link:hover{background:var(--shell-card)}
@media(min-width:901px){.ace-shell[data-right-closed=true] .ace-members-account-link{display:none}}

.ace-radio-panel{max-width:1200px;margin:auto;padding:clamp(18px,3vw,36px);color:var(--shell-ink)}.ace-radio-panel h1{font-size:clamp(28px,4vw,46px);margin:8px 0}.ace-radio-panel__eyebrow{color:var(--shell-accent);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.ace-radio-panel>section{padding-block:28px;border-top:1px solid var(--shell-line)}.ace-radio-artist-list{display:flex;flex-wrap:wrap;gap:8px}.ace-radio-artist-list button[aria-pressed=true]{background:var(--shell-accent);color:var(--shell-bg)}.ace-radio-artist-search{display:flex;gap:12px;align-items:end;margin:24px 0}.ace-radio-artist-search label{flex:1}.ace-radio-artist-search input{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid var(--shell-line);background:var(--shell-card);color:var(--shell-ink);border-radius:6px}.ace-radio-tracks button{display:block;width:100%;padding:14px;text-align:left;margin-block:6px}.ace-radio-video{width:100%;aspect-ratio:16/9;border:0;display:block}.ace-radio-dock:has(.ace-radio-video){min-width:200px}
/* Consistent inner gutters for both account states; flush section boundaries. */
.ace-shell__right .ace-acct{padding:22px 18px!important;width:100%;box-sizing:border-box}.ace-shell__right .ace-loginform__field{margin:0 0 18px}.ace-shell__right .ace-loginform input:not([type=checkbox]):not([type=hidden]){width:100%;min-height:44px}.ace-shell__right .ace-loginform button[type=submit]{width:100%;min-height:44px;border-radius:6px}.ace-shell__personal>a{padding:14px 18px!important;gap:12px!important;min-width:0}.ace-shell__personal>a>span:last-child{margin-left:auto}.ace-shell__personal-icon{width:18px!important;height:18px!important;flex:none}.ace-shell__personal h2{font-size:18px;margin-block:0 6px}.ace-shell__personal p{margin-block:0 14px}.ace-shell__right .ace-acct__menu{max-width:100%;box-sizing:border-box}.ace-shell__rail-footer{padding-bottom:18px!important}

/* Keep rail rows inside their rail; older full-bleed margins assumed padded parents. */
.ace-shell .ace-shell__personal>a{width:100%;margin:0!important}
.ace-shell .ace-radio-artist-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.ace-shell .ace-radio-artist-search label{min-width:0;display:block}
.ace-shell .ace-radio-artist-search input{box-sizing:border-box;min-width:0;max-width:100%;height:48px}
.ace-shell .ace-radio-artist-search>button{height:48px;margin:0;white-space:nowrap}
.ace-radio-video{min-height:200px}
@media(max-width:600px){.ace-shell .ace-radio-panel{padding:18px 0}.ace-shell .ace-radio-artist-search{grid-template-columns:minmax(0,1fr)}.ace-shell .ace-radio-artist-search>button{width:100%}}

/* Match the signed-in navigation rhythm to the public rail. */
.ace-shell__right .ace-sidebar-section{margin:0!important;padding:0!important}
.ace-shell__right .ace-sidebar-heading{display:none!important}
.ace-shell__right .ace-sidebar-menu{margin:0!important;padding:0!important;gap:0!important}
.ace-shell__right .ace-sidebar-button{padding:13px 18px!important;gap:12px!important;min-height:46px;max-width:100%;border-radius:0!important}
.ace-shell__right .ace-sidebar-button .ace-menu-label{min-width:0;overflow-wrap:anywhere}
.ace-shell__right .ace-notification-count{color:var(--shell-muted)!important}
.ace-shell__right .ace-user-name{overflow-wrap:anywhere}
.ace-shell .ace-radio-launch{background:var(--shell-card)!important;color:var(--shell-ink)!important}
.ace-shell__left .fa-radio::before{content:"";display:block;width:19px;height:19px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M494.8%2047c12.7-3.7%2020-17.1%2016.3-29.8S494-2.8%20481.2%201L51.7%20126.9c-9.4%202.7-17.9%207.3-25.1%2013.2C10.5%20151.7%200%20170.6%200%20192l0%204L0%20304%200%20448c0%2035.3%2028.7%2064%2064%2064l384%200c35.3%200%2064-28.7%2064-64l0-256c0-35.3-28.7-64-64-64l-229.5%200L494.8%2047zM368%20240a80%2080%200%201%201%200%20160%2080%2080%200%201%201%200-160zM80%20256c0-8.8%207.2-16%2016-16l96%200c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016l-96%200c-8.8%200-16-7.2-16-16zM64%20320c0-8.8%207.2-16%2016-16l128%200c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016L80%20336c-8.8%200-16-7.2-16-16zm16%2064c0-8.8%207.2-16%2016-16l96%200c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016l-96%200c-8.8%200-16-7.2-16-16z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}

/* Context labels appear outside the rail, including when it is icon-only. */
@media(min-width:901px){
 .ace-shell__left .wp-block-navigation-item__content[data-ace-tooltip]{position:relative}
 .ace-shell__left .wp-block-navigation-item__content[data-ace-tooltip]::after{content:attr(data-ace-tooltip);position:absolute;left:calc(100% + 10px);top:50%;translate:0 -50%;z-index:1000;width:max-content;max-width:260px;padding:8px 11px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-panel);color:var(--shell-ink);box-shadow:0 12px 32px rgba(0,0,0,.35);font-size:12px;font-weight:500;line-height:1.35;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-6px);transition:opacity .14s,transform .14s,visibility .14s}
 .ace-shell__left .wp-block-navigation-item__content[data-ace-tooltip]:is(:hover,:focus-visible)::after{opacity:1;visibility:visible;transform:none}
}

/* The site footer belongs to the scrolling panel and meets all four edges. */
.ace-shell__main>footer.wp-block-template-part,.ace-hub-route>footer.wp-block-template-part{width:100%!important;max-width:none!important;margin:0!important}
.ace-shell__main>.ace-boosted,.ace-hub-route>.ace-boosted{box-sizing:border-box;width:100%!important;max-width:100%!important;min-width:0;margin-left:0!important;margin-right:0!important}
/* The explore links above the footer sit at the same capped, centred width on every page as on the homepage. */
.ace-shell__main>.ace-explore,.ace-hub-route>.ace-explore{box-sizing:border-box;width:100%;max-width:1340px;min-width:0;margin-inline:auto!important}
/* Viewport-width breakout sections predate the three-rail workspace. Inside a
   content route, the main panel - not the browser viewport - is their edge, so
   headings, maps and cover artwork can never sit underneath either sidebar. */
.ace-shell--content .ace-hub-route :is(.ace-perf-mapwrap,.ace-place-cover,.ace-fringe__hero--map,.alm,.als.alignfull,.aln.alignfull){box-sizing:border-box;width:100%!important;max-width:100%!important;left:auto!important;margin-left:0!important;margin-right:0!important}
/* Performer maps should meet the panel edges, while their heading keeps the
   readable grid inset. This bleeds through only the main panel's own gutter,
   never through either workspace rail. */
.ace-shell--content .ace-hub-route .ace-perf-mapwrap.ace-perf-mapwrap{width:calc(100% + 56px)!important;max-width:none!important;margin-left:-28px!important;margin-right:-28px!important}
@media(max-width:900px){.ace-shell--content .ace-hub-route .ace-perf-mapwrap.ace-perf-mapwrap{width:calc(100% + 32px)!important;margin-left:-16px!important;margin-right:-16px!important}}
/* Content shells pad the main column 28px (20px 16px on phones). The site footer must bleed through that padding, or it sits in a box with a gap on three sides. */
.ace-shell--content .ace-shell__main>footer.wp-block-template-part,.ace-shell--content .ace-hub-route>footer.wp-block-template-part{margin:0 -28px -28px!important;width:calc(100% + 56px)!important}
@media(max-width:900px){.ace-shell--content .ace-shell__main>footer.wp-block-template-part,.ace-shell--content .ace-hub-route>footer.wp-block-template-part{margin:0 -16px -20px!important;width:calc(100% + 32px)!important}}
.ace-shell__main>footer.wp-block-template-part>.wp-block-group:last-child,.ace-hub-route>footer.wp-block-template-part>.wp-block-group:last-child{margin-bottom:0!important}
.ace-shell--news>.ace-shell__filter,.ace-shell--articles>.ace-shell__filter,.ace-shell--reviews>.ace-shell__filter{display:none}.ace-shell--news,.ace-shell--articles,.ace-shell--reviews{grid-template-columns:var(--shell-left) minmax(0,1fr) var(--shell-right)}
.ace-workspace-page .ace-shell__left .ace-shell__icon--performer{background-color:currentColor!important}
.ace-shell__soon{margin-left:auto;padding:.1rem .45rem;border:1px solid var(--shell-line,rgba(255,255,255,.12));border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7;color:var(--shell-muted)}

/* A section map borrows the shared canvas, not the Local Map chrome. Its own
   section rail remains authoritative and live-data tickers stay on discovery. */
.ace-shell--map .alm[data-map-profile]:not([data-map-profile="live"]) .alm__ticker{display:none!important}
.ace-shell--map .alm--rail-section>.alm__rail{display:none!important}
.ace-map-profile-head{display:flex;align-items:center;min-height:52px;padding:10px 12px;border-bottom:1px solid var(--shell-line);color:var(--shell-accent);font-family:'Space Grotesk',sans-serif;font-size:13px}
.ace-shell__filter .alm__rail--profile>.alm__group:not([data-civic]){display:none!important}
.ace-shell--map .ace-chy--mapview,.ace-shell--map .ace-cnc__body--shared-map,.ace-shell--map .ace-help__body--shared-map,.ace-shell--map .ace-charity-shops__shared-map,.ace-shell--map .ace-csection--areas-map{height:100%;min-height:0;margin:0;padding:0;overflow:hidden}
.ace-shell--map .ace-chy--mapview>.ace-chy__head,.ace-shell--map .ace-chy--mapview>.ace-chy__credit,.ace-shell--map .ace-chy--mapview>.ace-chy__count,.ace-shell--map .ace-cnc__map-directory,.ace-shell--map .ace-charity-shops__shared-map>.ace-chy__credit,.ace-shell--map .ace-csection--areas-map>.ace-csection__hero{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* Native section blocks own their visible heading. The inherited page template
   still leaves its hidden title's spacer band above the block unless we remove
   that otherwise-empty wrapper. */
body.ace-section-page .ace-shell__main>.wp-block-group>.wp-block-group:first-child:has(+.wp-block-post-content),
body.ace-section-page .ace-shell__main>section.wp-block-group>.wp-block-group:first-child:has(~.wp-block-post-content){display:none}
body.ace-section-page .ace-shell__main .wp-block-post-content{margin-block-start:0}

/* Map tools are working controls, grouped by purpose rather than a loose list. */
.ace-map-tools{display:grid;gap:14px;padding:12px}
.ace-map-tool{display:grid;gap:10px;padding:13px;border:1px solid var(--shell-line);border-radius:12px;background:color-mix(in srgb,var(--shell-card) 72%,transparent)}
.ace-map-tool h3,.ace-map-tool p{margin:0}.ace-map-tool>a,.ace-map-tool-links>a{color:var(--shell-accent);font-size:12px;font-weight:700;text-decoration:none}
.ace-map-route{display:grid;gap:9px}.ace-map-route label{display:grid;gap:4px;color:var(--shell-muted);font-size:11px;font-weight:700}.ace-map-route input{box-sizing:border-box;margin:0}.ace-map-route button,.ace-map-tool-links button{min-height:38px;padding:8px 10px;border:1px solid var(--shell-line);border-radius:999px;background:transparent;color:var(--shell-ink);font:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:border-color .18s,color .18s,background .18s,transform .18s}.ace-map-route button{border-color:var(--shell-accent);background:var(--shell-accent);color:var(--shell-bg)}
.ace-map-tool-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ace-map-tool-links button:hover{border-color:var(--shell-accent);color:var(--shell-accent);transform:translateY(-1px)}.ace-map-tool-links>a{grid-column:1/-1;padding-top:3px}
.ace-shell__filter .alm__group{padding:13px 10px}.ace-shell__filter .alm__group h3{min-height:30px;margin-bottom:7px}.ace-shell__filter .alm__layer{min-height:40px;padding:8px 6px}.ace-shell__filter .alm__group+.alm__group{margin-top:0}

/* The context strip: the same 52px band the live NOW ticker occupies on the home
   page, present on every other route so the collapsed filter rail's search field
   (238px wide, 154px of it over the main column) lines up with it everywhere. It
   reuses the ticker's markup and stylesheet; this only pins it to the band. */
.ace-shell .als--context{position:sticky;top:0;z-index:12;box-sizing:border-box;width:100%;max-width:none;height:52px;margin:0!important;padding:8px 16px;background:var(--shell-panel);border-bottom:1px solid var(--shell-line)}
/* Sticky offsets measure the margin box, so the panel padding is cancelled with top as well as margin. */
/* The ticker is pulled up into the page's own padding so it runs full bleed, and it
   sticks flush to the top of the scroller. Those are two different numbers: the pull
   belongs to the margin, and the sticky offset is zero. Setting the offset to the
   pull as well made it scroll up by 28 of its 52 pixels and stop there, half hidden,
   on every page with a content route. */
/* The ticker runs full bleed and sticks flush to the top of the panel.
   Pulling it up with a negative margin got it drawn in the right place but could not
   make it STICK there: a sticky box is clamped inside its containing block, and the
   panel's own top padding put that block 28px down, so on every page except the one
   that has no padding the ticker parked 28px low. The padding is removed from the
   panel instead, and the ticker carries the bottom margin that replaces it. */
.ace-shell--content .ace-shell__main:has(.als--context){padding-top:0}
.ace-shell--content .ace-shell__main>.als--context,.ace-shell--content .ace-hub-route>.als--context{width:auto;margin:0 -28px 28px!important;top:0}
/* How much of the ticker is still on screen once it has stuck. Anything else that
   sticks to the top of the main column has to clear this, or it hides behind it. */
.ace-shell--content .ace-shell__main,.ace-shell--content .ace-hub-route{--ace-strip-rest:24px}
/* The classes page needed its own version of the rule above; it does not now. */
.ace-shell .als--context .als__inner{width:100%;max-width:none;margin:0;padding:0;gap:0}
.ace-shell .als--context .als__ticker{height:36px;border-radius:12px;background:var(--shell-card);border-color:var(--shell-line);color:var(--shell-ink)}
.ace-shell .als--context .als__tk{color:var(--shell-accent)}
.ace-shell .als--context .als__tkin::before{display:none}
.ace-shell .als--context .als__tkin::after{background:linear-gradient(270deg,var(--shell-card),transparent)}
.ace-shell .als--context .als__tktrack{display:flex;align-items:center;gap:0;padding-left:0;animation:none;will-change:auto;white-space:nowrap}
.ace-shell .als--context .als__fact{color:var(--shell-ink);text-decoration:none;margin-right:28px;flex:0 0 auto}
.ace-shell .als--context a.als__fact:hover{color:var(--shell-accent)}
.ace-shell .als--context .als__fact small{color:var(--shell-muted);margin-left:6px}
.ace-shell.is-event-view .als--context{display:none}
/* Contextual maps: the band overlays the top of the map exactly where the Local Map's own live ticker sits. */
.ace-shell--map .ace-shell__main>.als--context,.ace-shell--map .ace-hub-route>.als--context{position:absolute;top:0;left:0;right:0;z-index:39;margin:0!important}
@media(min-width:901px){.ace-shell.has-chy-rail[data-filter-closed=true] .als--context,.ace-shell--map[data-filter-closed=true] .als--context{padding-left:calc(254px - var(--shell-filter,84px))}}
@media(max-width:900px){.ace-shell .als--context,.ace-shell--content .ace-shell__main>.als--context,.ace-shell--content .ace-hub-route>.als--context,.ace-shell--map .ace-shell__main>.als--context,.ace-shell--map .ace-hub-route>.als--context{position:static;height:auto;padding:8px 12px;margin:0 0 16px!important;width:100%}}

/* GlossPress term highlights and tooltips on article posts: separate the popover from the dark ground. */
.glossary-highlight{--glossary-highlight-underline:var(--shell-accent,#efb665)}
.glossary-tooltip{--glossary-tooltip-bg:#2a2825;--glossary-tooltip-color:#f4f1ec;--glossary-tooltip-term-color:var(--shell-accent,#efb665);border:1px solid rgba(255,255,255,.12)}
[data-ace-theme=light] .glossary-tooltip{--glossary-tooltip-bg:#fffdf8;--glossary-tooltip-color:#2a2825;border-color:rgba(0,0,0,.12)}

/* Rail footer panels: the Sheffield fact and the local sport card under the navigation.
   Deliberately unlike the navigation above them - a tinted card, a smaller face and a
   quieter accent - so they read as an aside rather than another place to go. */
.ace-rail-panels{display:flex;flex-direction:column;gap:10px;padding:14px 12px 20px;margin-top:10px;border-top:1px solid var(--shell-line)}
.ace-shell[data-left-closed=true] .ace-rail-panels[data-rail=left],.ace-shell[data-right-closed=true] .ace-rail-panels[data-rail=right]{display:none}
.ace-rail-panel{background:color-mix(in srgb,var(--shell-accent) 7%,var(--shell-card));border:1px solid color-mix(in srgb,var(--shell-accent) 22%,var(--shell-line));border-radius:12px;padding:12px;font-size:12px;line-height:1.55;color:var(--shell-ink)}
.ace-rail-panel__head{display:flex;align-items:center;gap:7px;margin-bottom:8px}
.ace-rail-panel__glyph{width:15px;height:15px;flex:none;color:var(--shell-accent)}
.ace-rail-panel__title{flex:1;margin:0!important;font-size:10px!important;font-weight:700!important;letter-spacing:.11em;text-transform:uppercase;color:var(--shell-accent)!important}
.ace-shell .ace-rail-panel__grip,.ace-shell .ace-rail-panel__hide{flex:none;display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--shell-muted);line-height:1;font-size:14px}
.ace-shell .ace-rail-panel__grip{cursor:grab;touch-action:none}
.ace-shell .ace-rail-panel__grip:hover,.ace-shell .ace-rail-panel__hide:hover{background:color-mix(in srgb,var(--shell-accent) 18%,transparent);color:var(--shell-ink)}
.ace-rail-panel__fact{margin:0!important;font-size:12.5px;line-height:1.55}
.ace-rail-panel__note{margin:0 0 6px!important;color:var(--shell-muted);font-size:11px}
.ace-rail-panel__sub{margin:10px 0 5px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase;color:var(--shell-muted)!important}
.ace-rail-panel__sub:first-child{margin-top:0!important}
.ace-rail-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.ace-rail-panel__list a{display:block;padding:5px 6px;border-radius:7px;text-decoration:none;color:var(--shell-ink)}
.ace-rail-panel__list a:hover{background:color-mix(in srgb,var(--shell-accent) 14%,transparent)}
.ace-rail-panel__teams{display:block;font-size:11.5px;line-height:1.35}
.ace-rail-panel__score{display:block;margin-top:1px;font-weight:700;font-size:10.5px;letter-spacing:.03em;color:var(--shell-accent)}
.ace-rail-panel__credit{margin:8px 0 0!important;font-size:10.5px;color:var(--shell-muted)}
.ace-rail-panel__credit a{color:var(--shell-muted);text-decoration:underline;text-underline-offset:2px}
.ace-rail-panel__credit a:hover{color:var(--shell-accent)}
.ace-rail-panel.is-dragging{opacity:.4}
.ace-rail-panels__manage{margin-top:2px}
.ace-shell .ace-rail-panels__manage-btn{width:100%;padding:7px;border-radius:8px;background:transparent;border:1px dashed var(--shell-line);color:var(--shell-muted);font-size:11px}
.ace-rail-panels__menu{margin-top:6px;padding:9px;border:1px solid var(--shell-line);border-radius:9px;background:var(--shell-card)}
.ace-rail-panels__menu-title{margin:0 0 6px!important;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--shell-muted)}
.ace-rail-panels__menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
/* The picker styles its own controls; the old full-width menu rows are gone. */
.ace-shell .ace-rail-panels__menu button{width:auto;text-align:left}
.ace-rail-panels__live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ace-rail-ghost{position:fixed;top:0;left:0;z-index:10000;pointer-events:none;padding:6px 10px;border-radius:8px;background:var(--shell-accent,#efb665);color:#14191b;font:600 11px 'DM Sans',sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.ace-rail-dropline{height:3px;margin:2px 0;border-radius:3px;background:var(--shell-accent)}
body.ace-rail-dnd{cursor:grabbing;user-select:none}

/* The collapsed account rail reads as the member's own: avatar, name, unread. */
.ace-shell__me-ava{flex:none;width:30px;height:30px;border-radius:50%;background:var(--shell-card) center/cover no-repeat;border:1px solid var(--shell-line);display:grid;place-items:center;font-weight:700;font-size:12px;color:var(--shell-accent)}
.ace-shell__me-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ace-shell__account-open.is-member{position:relative}
.ace-shell__me-dot{position:absolute;top:8px;right:calc(50% - 21px);min-width:15px;height:15px;padding:0 3px;border-radius:9px;background:var(--shell-accent);color:var(--shell-bg);font-size:9px;font-weight:700;line-height:15px;text-align:center}
@media(min-width:901px){.ace-shell[data-right-closed=true] .ace-shell__account-open.is-member{padding:10px 2px}.ace-shell[data-right-closed=true] .ace-shell__me-name{max-width:100%;font-size:10px}}
@media(prefers-reduced-motion:reduce){.ace-rail-ghost,.ace-rail-dropline,.ace-rail-panel{transition:none!important;animation:none!important}}
.ace-rail-panels.is-dnd{min-height:54px;outline:1px dashed color-mix(in srgb,var(--shell-accent) 55%,transparent);outline-offset:-4px;border-radius:12px}
body.ace-rail-dnd .ace-rail-tooltip{display:none!important}

/* ------------------------------------------------------------ widget picker
   The Panels control opens a real dialog rather than a dropdown: it is a place to
   decide what the rails carry, so it gets room, groups and a scrim. */
.ace-rail-panels__scrim{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.5)}
.ace-shell .ace-rail-panels__menu{position:fixed;z-index:9999;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:min(78vh,720px);overflow:auto;margin:0;padding:18px;border:1px solid var(--shell-line);border-radius:16px;background:var(--shell-panel);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.ace-rail-panels__menu-head{display:flex;align-items:center;gap:12px}
.ace-shell .ace-rail-panels__menu-title{flex:1;margin:0!important;font-size:15px!important;font-weight:700;letter-spacing:.01em;text-transform:none;color:var(--shell-ink)}
.ace-shell .ace-rail-panels__menu-close{width:30px;height:30px;flex:none;padding:0;border:1px solid var(--shell-line);border-radius:8px;background:transparent;color:var(--shell-ink);font-size:16px;line-height:1}
.ace-rail-panels__menu-hint{margin:6px 0 14px!important;font-size:11.5px;color:var(--shell-muted)}
.ace-rail-panels__group{margin-bottom:16px}
.ace-rail-panels__group h3{margin:0 0 8px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.11em;text-transform:uppercase;color:var(--shell-accent)!important}
.ace-rail-panels__widget{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:start;padding:10px;border:1px solid var(--shell-line);border-radius:11px;background:var(--shell-card)}
.ace-rail-panels__widget+.ace-rail-panels__widget{margin-top:7px}
.ace-rail-panels__widget[data-state="left"],.ace-rail-panels__widget[data-state="right"]{border-color:color-mix(in srgb,var(--shell-accent) 45%,var(--shell-line))}
.ace-rail-panels__widget-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,var(--shell-accent) 14%,transparent);color:var(--shell-accent)}
.ace-rail-panels__widget-icon .ace-rail-panel__glyph{width:15px;height:15px}
.ace-rail-panels__widget-body{display:grid;gap:2px;min-width:0}
.ace-rail-panels__widget-body strong{font-size:12.5px;color:var(--shell-ink)}
.ace-rail-panels__widget-desc{font-size:11.5px;line-height:1.5;color:var(--shell-muted)}
.ace-rail-panels__widget-where{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--shell-accent)}
.ace-rail-panels__widget[data-state="off"] .ace-rail-panels__widget-where{color:var(--shell-muted)}
.ace-rail-panels__widget-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ace-shell .ace-rail-panels__widget-actions button{width:auto;padding:5px 11px;border:1px solid var(--shell-line);border-radius:999px;background:transparent;color:var(--shell-ink);font-size:11px;font-weight:600}
.ace-shell .ace-rail-panels__widget-actions button[aria-pressed=true]{border-color:var(--shell-accent);background:var(--shell-accent);color:var(--shell-bg)}
.ace-shell .ace-rail-panels__widget-actions button[disabled]{opacity:.45;cursor:not-allowed}
.ace-rail-panel__search{display:grid;gap:6px}
.ace-rail-panel__search input{width:100%;box-sizing:border-box;min-height:34px;padding:6px 9px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-bg);color:var(--shell-ink);font:inherit;font-size:12px}
.ace-shell .ace-rail-panel__search button{min-height:32px;padding:6px 10px;border:1px solid var(--shell-accent);border-radius:8px;background:var(--shell-accent);color:var(--shell-bg);font-size:11px;font-weight:700}

/* ------------------------------------------------ the collapsible dashboard links */
.ace-shell__dashnav{border-bottom:1px solid var(--shell-line)}
.ace-shell__dashnav-head{display:flex;align-items:center;gap:6px;padding:8px 12px 8px 14px}
.ace-shell .ace-shell__dashnav-toggle{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border:0;background:transparent;color:var(--shell-muted);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;text-align:left}
.ace-shell .ace-shell__dashnav-toggle:hover{color:var(--shell-ink)}
.iga-dashnav-fallback{margin:0;padding:4px 10px 10px;list-style:none}.iga-dashnav-fallback li{margin:0}.ace-shell .iga-dashnav-fallback a{display:block;min-height:40px;padding:10px 9px;border-radius:8px;color:var(--shell-ink);font-weight:600;font-size:14px;text-decoration:none}.ace-shell .iga-dashnav-fallback a:hover{background:var(--shell-hover,rgba(255,255,255,.06))}
/* Prose lists on content pages get their bullets back (normalize strips them site-wide), and the page ends with breathing room and its Last updated line. */.ace-shell__main .entry-content :is(ul,ol).wp-block-list,.ace-shell__main .entry-content .wp-block-list :is(ul,ol){padding-left:1.5em;margin:0 0 1.4em}.ace-shell__main .entry-content ul.wp-block-list,.ace-shell__main .entry-content .wp-block-list ul{list-style:disc}.ace-shell__main .entry-content ol.wp-block-list,.ace-shell__main .entry-content .wp-block-list ol{list-style:decimal}.ace-shell__main .entry-content .wp-block-list li{margin:0 0 .55em;padding-left:.2em;line-height:1.55}.ace-shell__main .entry-content .wp-block-list li::marker{color:var(--shell-accent);font-weight:700}.ace-shell__main .entry-content .wp-block-list :is(ul,ol){margin-top:.55em;margin-bottom:0}.ace-colophon{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin:56px 0 0;padding:22px 0 48px;border-top:1px solid var(--shell-line)}.ace-colophon__author{display:flex;align-items:center;gap:14px;min-width:0}.ace-colophon__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px var(--shell-panel),0 0 0 3px var(--shell-line)}.ace-colophon__who{display:flex;flex-direction:column;gap:2px;min-width:0}.ace-colophon__label{color:var(--shell-muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.ace-colophon__name{color:var(--shell-ink);font-size:15px;font-weight:700;font-family:'Space Grotesk',sans-serif}.ace-colophon__bio{color:var(--shell-muted);font-size:13px;line-height:1.45}.ace-colophon__updated{margin:4px 0 0;color:var(--shell-muted);font-size:13px}.ace-colophon__updated time{color:var(--shell-ink);font-size:inherit}.ace-colophon__share{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.ace-colophon__btns{display:flex;gap:6px;flex-wrap:wrap}.ace-shell .ace-colophon__btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:50%;border:1px solid var(--shell-line);background:var(--shell-card);color:var(--shell-ink);cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .15s}.ace-shell .ace-colophon__btn:hover{background:var(--shell-accent);color:var(--shell-accent-ink);border-color:var(--shell-accent);transform:translateY(-1px)}.ace-shell .ace-colophon__btn.is-done{background:#3aa66a;border-color:#3aa66a;color:#fff}@media(max-width:640px){.ace-colophon{flex-direction:column;align-items:flex-start}.ace-colophon__share{align-items:flex-start}}


.ace-shell__dashnav-caret{flex:none;transition:transform .18s}
.ace-shell__dashnav.is-closed .ace-shell__dashnav-caret{transform:rotate(-90deg)}
.ace-shell .ace-shell__dashnav-manage{flex:none;padding:5px 10px;border:1px solid var(--shell-line);border-radius:999px;background:transparent;color:var(--shell-ink);font-size:10.5px;font-weight:700}
.ace-shell .ace-shell__dashnav-manage:hover{border-color:var(--shell-accent);color:var(--shell-accent)}
.ace-shell[data-right-closed=true] .ace-shell__dashnav-head{display:none}
/* On a narrow screen the account rail is a drawer, so it reads as "closed" even while
   it is open over the page. The head must come back with the rest of its content. */
@media(max-width:900px){.ace-shell[data-right-closed=true] .ace-shell__dashnav-head{display:flex}}

/* ---------------------------------------------------------- management modal */
.ace-mm{position:fixed;inset:0;z-index:10001}
.ace-mm__scrim{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.ace-mm__box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(920px,calc(100vw - 24px));height:min(680px,calc(100vh - 48px));border:1px solid var(--shell-line);border-radius:18px;background:var(--shell-panel);box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden}
.ace-mm__head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--shell-line)}
.ace-shell .ace-mm__title{flex:1;margin:0!important;font-size:16px!important;color:var(--shell-ink)}
.ace-shell .ace-mm__close{width:32px;height:32px;padding:0;border:1px solid var(--shell-line);border-radius:9px;background:transparent;color:var(--shell-ink);font-size:18px;line-height:1}
.ace-mm__body{flex:1;min-height:0;display:grid;grid-template-columns:212px minmax(0,1fr)}
.ace-mm__tabs{display:flex;flex-direction:column;gap:2px;padding:12px;overflow:auto;border-right:1px solid var(--shell-line);background:var(--shell-bg)}
.ace-shell .ace-mm__tab{width:100%;text-align:left;padding:9px 11px;border:0;border-radius:9px;background:transparent;color:var(--shell-muted);font-size:12px;font-weight:600}
.ace-shell .ace-mm__tab:hover{color:var(--shell-ink);background:color-mix(in srgb,var(--shell-accent) 10%,transparent)}
.ace-shell .ace-mm__tab.is-current{background:color-mix(in srgb,var(--shell-accent) 18%,transparent);color:var(--shell-ink)}
.ace-mm__paneWrap{display:flex;flex-direction:column;min-width:0;min-height:0}
.ace-mm__pane{flex:1;min-height:0;overflow:auto;padding:18px;color:var(--shell-ink);font-size:13px;line-height:1.6}
.ace-mm__status{margin:0!important;padding:0 18px;font-size:11.5px;color:var(--shell-accent)}
.ace-mm__status:empty{display:none}
.ace-mm__status.is-bad{color:#e2725b}
.ace-mm__muted,.ace-mm__empty,.ace-mm__busy{color:var(--shell-muted);font-size:12px}
.ace-mm__form{display:grid;gap:14px;max-width:520px}
.ace-mm__who{display:flex;align-items:center;gap:12px}
.ace-mm__who span{display:block}
.ace-mm__avatar{border-radius:50%}
.ace-mm__field{display:grid;gap:5px}
.ace-mm__field-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--shell-muted)}
.ace-mm__field input,.ace-mm__field textarea{width:100%;box-sizing:border-box;min-height:40px;padding:9px 11px;border:1px solid var(--shell-line);border-radius:9px;background:var(--shell-bg);color:var(--shell-ink);font:inherit;font-size:13px}
.ace-mm__field small{font-size:11px;color:var(--shell-muted)}
.ace-mm__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ace-shell .ace-mm__primary{padding:9px 16px;border:1px solid var(--shell-accent);border-radius:999px;background:var(--shell-accent);color:var(--shell-bg);font-size:12px;font-weight:700}
.ace-shell .ace-mm__link{padding:0;border:0;background:transparent;color:var(--shell-accent);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px;width:auto}
.ace-shell .ace-mm__link--danger{color:#e2725b}
.ace-mm__group{margin:0 0 20px}
.ace-mm__group h3{display:flex;align-items:center;gap:8px;margin:0 0 8px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.11em;text-transform:uppercase;color:var(--shell-accent)!important}
.ace-mm__count{padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--shell-accent) 16%,transparent);color:var(--shell-accent);font-size:10px;font-weight:700}
.ace-mm__tag{margin-left:8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--shell-muted)}
.ace-mm__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ace-mm__list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid var(--shell-line);border-radius:10px;background:var(--shell-card)}
.ace-mm__list li a{color:var(--shell-ink)}
.ace-mm__rowActions{display:flex;align-items:center;gap:8px}
.ace-shell .ace-mm__rowActions button,.ace-shell .ace-mm__rowActions a{width:auto;padding:5px 11px;border:1px solid var(--shell-line);border-radius:999px;background:transparent;color:var(--shell-ink);font-size:11px;font-weight:600;text-decoration:none}
.ace-mm__switch{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--shell-ink)}
.ace-mm__switch small{display:block;color:var(--shell-muted);font-size:11px}
.ace-mm__switch--wide{padding:10px 12px;border:1px solid var(--shell-line);border-radius:10px;background:var(--shell-card);margin-bottom:16px}
.ace-mm__list--checks li{display:block}
@media(max-width:760px){
 .ace-mm__box{width:100vw;height:100vh;max-width:none;border-radius:0;border:0}
 .ace-mm__body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
 .ace-mm__tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--shell-line);padding:8px}
 .ace-shell .ace-mm__tab{width:auto;white-space:nowrap}
 .ace-shell .ace-rail-panels__menu{width:100vw;max-height:100vh;height:100vh;border-radius:0;border:0}
 .ace-rail-panels__widget-actions{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.ace-shell__dashnav-caret,.ace-mm__box,.ace-rail-panels__menu{transition:none!important;animation:none!important}}

/* One close control across every dialog on the site. A modal's close is the
   first thing a reader looks for when they want out, so it looks the same
   wherever it is and never becomes a full-width slab. */
.ace-shell .ace-mm__close,.ace-rail-panels__menu-close,.ace-profile-dialog__close,.ace-programme-detail__close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;min-width:34px;max-width:34px;padding:0;border:1px solid var(--shell-line,#ffffff28);border-radius:10px;background:transparent;color:var(--shell-ink,#edf0ee);font-size:19px;line-height:1;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .1s ease}
.ace-shell .ace-mm__close:hover,.ace-rail-panels__menu-close:hover,.ace-profile-dialog__close:hover,.ace-programme-detail__close:hover{border-color:var(--shell-accent,#f0b65e);color:var(--shell-accent,#f0b65e);background:color-mix(in srgb,var(--shell-accent,#f0b65e) 12%,transparent)}
.ace-shell .ace-mm__close:active,.ace-rail-panels__menu-close:active,.ace-profile-dialog__close:active,.ace-programme-detail__close:active{transform:translateY(1px)}
.ace-shell .ace-mm__close:focus-visible,.ace-rail-panels__menu-close:focus-visible,.ace-profile-dialog__close:focus-visible,.ace-programme-detail__close:focus-visible{outline:2px solid var(--shell-accent,#f0b65e);outline-offset:2px}

/* A widget added from the picker should be seen to arrive, so the reader knows
   where it went rather than having to hunt for it behind the dialog. */
@keyframes ace-panel-arrive{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}
[data-ace-rail-panel].is-arriving{animation:ace-panel-arrive .34s cubic-bezier(.2,.7,.35,1);outline:1px solid color-mix(in srgb,var(--shell-accent,#f0b65e) 55%,transparent);outline-offset:2px;border-radius:12px}
@media(prefers-reduced-motion:reduce){[data-ace-rail-panel].is-arriving{animation-duration:.01ms}}

/* While a panel is being dragged, a collapsed rail still has to be somewhere you
   can aim at, so both edges show a target band. */
body.ace-rail-dnd .ace-shell__left,body.ace-rail-dnd .ace-shell__right{outline:1px dashed color-mix(in srgb,var(--shell-accent,#f0b65e) 45%,transparent);outline-offset:-2px}
body.ace-rail-dnd .ace-shell__left::after,body.ace-rail-dnd .ace-shell__right::after{content:"";position:absolute;top:0;bottom:0;width:6px;background:color-mix(in srgb,var(--shell-accent,#f0b65e) 30%,transparent);pointer-events:none}
body.ace-rail-dnd .ace-shell__left::after{right:0}
body.ace-rail-dnd .ace-shell__right::after{left:0}

/* Data widgets in a rail. The plugin's own stylesheet is for the main column, so a
   sidebar copy needs its own sizing: one column, the price loud, everything else
   quiet, and nothing wide enough to push the rail out. */
[data-ace-rail-panel] .ace-fuel--widget{margin:0;padding:0;border:0;background:none;color:inherit;font-size:13px}
[data-ace-rail-panel] .ace-fuel__best{margin:0;padding:0;list-style:none;display:grid;gap:8px}
[data-ace-rail-panel] .ace-fuel__bestitem{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;padding:9px 10px;border:1px solid var(--shell-line,#ffffff1f);border-radius:10px;background:color-mix(in srgb,var(--shell-ink,#edf0ee) 4%,transparent)}
[data-ace-rail-panel] .ace-fuel__bestfuel{grid-column:1;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--shell-muted,#9aa4a2)}
[data-ace-rail-panel] .ace-fuel__bestprice{grid-column:2;grid-row:1;justify-self:end;font-size:19px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--shell-accent,#f0b65e)}
[data-ace-rail-panel] .ace-fuel__bestwhere{grid-column:1/-1;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
[data-ace-rail-panel] .ace-fuel__bestsave{grid-column:1/-1;font-size:11px;line-height:1.35;color:var(--shell-muted,#9aa4a2)}
[data-ace-rail-panel] .ace-fuel__meta{margin:8px 0 0;font-size:11px;line-height:1.4;color:var(--shell-muted,#9aa4a2)}
[data-ace-rail-panel] .ace-fuel__all{display:inline-block;font-size:12px;font-weight:600;color:var(--shell-accent,#f0b65e);text-decoration:none}
[data-ace-rail-panel] .ace-fuel__all:hover{text-decoration:underline}
[data-ace-rail-panel] .ace-fuel__credit{margin-top:6px;font-size:10px;opacity:.75}

/* A control with the accent behind it needs ink that is not the accent. The panel's
   link colour used to win on specificity and paint the label the same colour as the
   button it sat on, which is a button you cannot read. */
.ace-shell :is(.alm__btn,.ace-btn,.ace-chy__btn):not(.is-ghost):not(.is-quiet){color:var(--shell-accent-ink,#1a1108)}
.ace-shell :is(.alm__btn,.ace-btn,.ace-chy__btn).is-ghost{color:var(--shell-ink,#edf0ee)}
.ace-shell :is(.alm__panelbody,.ace-shell__panel,[data-ace-rail-panel]) a:is(.alm__btn,.ace-btn,.ace-chy__btn){color:var(--shell-accent-ink,#1a1108)}
.ace-shell :is(.alm__panelbody,.ace-shell__panel,[data-ace-rail-panel]) a:is(.alm__btn,.ace-btn,.ace-chy__btn).is-ghost{color:var(--shell-ink,#edf0ee)}

/* Copy control on a code block. It sits inside the block, top right, quiet until
   you are near it, and never covers the first line of the code. */
/* Room for a copy button that floats in the top right corner of a block. An inline
   endpoint strip keeps its button in the flow at the end of the line, so it needs no
   room made for it - that extra 2.35rem was the gap above every route. */
:is(pre,.ace-embed__code,[data-ace-code]):not(.ace-code).has-copycode{position:relative;padding-top:2.35rem}
.ace-code.has-copycode{position:relative}
.ace-copycode{position:absolute;top:.5rem;right:.5rem;display:inline-flex;align-items:center;gap:.3rem;height:26px;padding:0 .55rem;border:1px solid var(--shell-line,#ffffff28);border-radius:8px;background:var(--shell-panel,#1c2224);color:var(--shell-muted,#9aa4a2);font:600 11px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.02em;cursor:pointer;opacity:.75;transition:opacity .14s ease,color .14s ease,border-color .14s ease}
.has-copycode:hover .ace-copycode,.ace-copycode:focus-visible{opacity:1}
.ace-copycode:hover{color:var(--shell-accent,#f0b65e);border-color:var(--shell-accent,#f0b65e)}
.ace-copycode:focus-visible{outline:2px solid var(--shell-accent,#f0b65e);outline-offset:2px}
.ace-copycode.is-done{color:var(--shell-accent,#f0b65e);border-color:var(--shell-accent,#f0b65e);opacity:1}
@media (hover:none){.ace-copycode{opacity:1}}
@media (max-width:480px){.ace-copycode__t{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ace-copycode{padding:0 .4rem}}

/* The rail says "Sheffield News", "Sheffield Sport" and so on, because that is what
   each of them is. The rail is also draggable down to icon width, where the city
   name is both redundant - every page here is Sheffield - and the first thing to
   wrap. So it is a span, and a narrow rail simply stops showing it. */
.ace-shell__left{container-type:inline-size;container-name:acenav}
@container acenav (max-width:196px){.ace-shell__city{display:none}}
.ace-shell[data-left-closed=true] .ace-shell__city{display:none}

/* An endpoint is code, and code on this site is there to be taken away. Inline
   routes carry the same copy control as a block does, sized to sit on the line
   rather than float over it. */
.ace-code{position:relative;display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .4rem;border-radius:6px;background:color-mix(in srgb,var(--shell-ink,#edf0ee) 7%,transparent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;word-break:break-word}
.ace-code a{text-decoration:none;color:inherit;border-bottom:1px dotted currentColor}
.ace-code a:hover,.ace-code a:focus-visible{color:var(--shell-accent,#f0b65e)}
.ace-copycode--inline{position:static;height:20px;padding:0 .25rem;border-radius:5px;background:none;border:0;opacity:.45}
.ace-code:hover .ace-copycode--inline,.ace-copycode--inline:focus-visible{opacity:1}
/* A code block looks like one wherever it appears, not only on the API page whose
   stylesheet happens to be loaded. The developers page had the same markup and none
   of the styling, so the snippets rendered as bare text on the background. */
.ace-api__code,.ace-shell__main .entry-content pre{
	position:relative;box-sizing:border-box;max-width:100%;overflow-x:auto;
	margin:.8rem 0 1.2rem;padding:.9rem 2.6rem .9rem 1rem;
	border:1px solid var(--shell-line,#ffffff1f);border-radius:12px;
	background:color-mix(in srgb,var(--shell-ink,#edf0ee) 6%,transparent);
	color:var(--shell-ink,#edf0ee);
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	font-size:.86rem;line-height:1.55;tab-size:2;
}
.ace-api__code code,.ace-shell__main .entry-content pre code{
	display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:none;padding:0;
}
.ace-api__code:focus-visible{outline:2px solid var(--shell-accent,#f0b65e);outline-offset:2px}

/* Homepage editorial rhythm. The map is deliberately edge-to-edge above this
   wrapper; every section below it stays inside the shared home gutter. Distinct
   surfaces make the long page easier to scan without turning each feed into a
   different design language. */
.ace-shell--home .ace-home-content>.ace-home-featured,
.ace-shell--home .ace-home-content>.ace-home-categories,
.ace-shell--home .ace-home-content>.ace-home-contribute{
	box-sizing:border-box;width:100%;
	margin-block:clamp(1.5rem,4cqi,3.25rem)!important;
}
/* On wide screens, editorial content shares one readable line. Only the map,
   news band and featured band are allowed to meet the centre-panel edges. */
.ace-shell--home .ace-home-content>.ace-home-days{
	box-sizing:border-box;width:calc(100% + 2 * var(--home-gutter));max-width:none;
	margin-inline:calc(-1 * var(--home-gutter))!important;padding-inline:0!important;
}
.ace-shell--home .ace-home-days>.ace-home-days-title,
.ace-shell--home .ace-home-days>.wp-block-group>.ace-browser,
.ace-shell--home .ace-home-days>.wp-block-group>.ace-suggestions,
.ace-shell--home .ace-home-content>.ace-hl--home,
.ace-shell--home .ace-home-content>.ace-home-categories,
.ace-shell--home .ace-home-content>.ace-home-contribute,
.ace-shell--home .ace-home-content>.ace-community,
.ace-shell--home .ace-home-content>.ace-home-discovery{
	box-sizing:border-box;width:min(calc(100% - 2 * var(--home-gutter)),var(--home-wrap));max-width:var(--home-wrap);
	margin-inline:auto!important;
}
.ace-shell--home .ace-home-days>.ace-home-days-title{
	margin-top:0!important;margin-bottom:clamp(1rem,2cqi,1.5rem)!important;
	font-size:clamp(1.65rem,3cqi,2.4rem)!important;line-height:1.08;letter-spacing:-.03em;
}
.ace-shell--home .ace-home-days>.wp-block-group>.aln.alignfull{
	box-sizing:border-box;width:100%;max-width:none;margin-inline:0!important;
}
.ace-shell--home .ace-home-content>.ace-home-featured.ace-home-featured{
	--home-feature-gap:clamp(14px,1.25vw,20px);
	width:calc(100% + 2 * var(--home-gutter))!important;max-width:none!important;
	margin-inline:calc(-1 * var(--home-gutter))!important;
	padding:var(--home-feature-gap)!important;
	border-block:1px solid var(--shell-line);border-inline:0;border-radius:0;
	background:linear-gradient(145deg,color-mix(in srgb,var(--shell-card) 86%,transparent),color-mix(in srgb,var(--shell-bg) 94%,var(--shell-accent)));
	overflow:hidden;
}
.ace-shell--home .ace-home-featured .ace-boosted{box-sizing:border-box;width:min(100%,var(--home-wrap));max-width:var(--home-wrap);margin-inline:auto!important;margin-block:0!important;padding:0!important}
.ace-shell--home .ace-home-featured .ace-boosted__heading{margin:0 0 var(--home-feature-gap)}
.ace-shell--home .ace-home-featured .ace-boosted__grid{gap:var(--home-feature-gap)}
.ace-shell--home .ace-home-featured .ace-boosted__card{border:1px solid var(--shell-line);border-radius:18px}

.ace-shell--home .ace-home-content>.ace-home-categories.ace-home-categories{
	position:relative;isolation:isolate;overflow:hidden;
	padding-block:clamp(1.4rem,4cqi,3rem)!important;
	padding-inline:clamp(1.25rem,4cqi,3rem)!important;
	border:1px solid color-mix(in srgb,var(--shell-accent) 42%,var(--shell-line));
	border-radius:22px;
	background:radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--shell-accent) 23%,transparent),transparent 42%),linear-gradient(135deg,var(--shell-panel),var(--shell-card));
}
.ace-shell--home .ace-home-categories>*{position:relative;z-index:1}
.ace-shell--home .ace-home-content>.ace-home-categories.ace-home-categories>:is(.ace-home-category-intro,h2,.wp-block-buttons){
	margin-left:0!important;margin-right:0!important;
}
.ace-shell--home .ace-home-categories h2{
	width:min(100%,18ch);max-width:18ch;margin:0!important;text-align:left!important;
	font-size:clamp(1.7rem,4cqi,3rem)!important;line-height:1.02;letter-spacing:-.035em;
}
.ace-shell--home .ace-home-categories>.ace-home-category-intro{
	width:min(100%,58ch);max-width:58ch;margin:.75rem 0 1.25rem!important;color:var(--shell-muted);line-height:1.55;
}
.ace-shell--home .ace-home-categories .wp-block-buttons{justify-content:flex-start!important;gap:.55rem}
.ace-shell--home .ace-home-categories .wp-block-button__link{
	min-height:42px;padding:.6rem 1rem;border:1px solid var(--shell-line)!important;
	border-radius:999px;background:color-mix(in srgb,var(--shell-bg) 76%,transparent)!important;
	color:var(--shell-ink)!important;font-size:.86rem;font-weight:700;
}
.ace-shell--home .ace-home-categories .wp-block-button__link:is(:hover,:focus-visible){border-color:var(--shell-accent)!important;color:var(--shell-accent)!important}

.ace-shell--home .ace-home-contribute{padding:0!important;background:none!important}
.ace-shell--home .ace-home-contribute>.wp-block-columns{align-items:stretch;gap:clamp(.8rem,2cqi,1.25rem);margin:0}
.ace-shell--home .ace-home-contribute .wp-block-column{
	position:relative;overflow:hidden;box-sizing:border-box;padding:0;background:none;
}
.ace-shell--home .ace-home-contribute .wp-block-cover{
	box-sizing:border-box;min-height:clamp(330px,28vw,430px);height:100%;
	padding:clamp(1.35rem,3.4cqi,2.5rem);border:1px solid var(--shell-line);border-radius:18px;
	overflow:hidden;color:#fff;
}
.ace-shell--home .ace-home-contribute .wp-block-cover__background{opacity:.55!important}
.ace-shell--home .ace-home-contribute .wp-block-cover__inner-container{width:min(100%,38rem)}
.ace-shell--home .ace-home-contribute h3{margin-top:0;color:#fff!important;font-size:clamp(1.4rem,3cqi,2rem)!important;line-height:1.08;letter-spacing:-.025em;text-shadow:0 2px 16px rgba(0,0,0,.65)}
.ace-shell--home .ace-home-contribute p{color:#f5f2ea!important;line-height:1.6;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.ace-shell--home .ace-home-contribute .wp-block-button__link{border-radius:999px;font-size:.88rem;font-weight:750}
.ace-shell--home .ace-home-contribute .ace-home-photo-credit{margin:.9rem 0 0;font-size:.7rem;color:rgba(255,255,255,.76)}
.ace-shell--home .ace-home-contribute .ace-home-photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}

.ace-shell--home .ace-home-discovery{margin-top:clamp(1.5rem,4cqi,3.25rem)}
.ace-shell--home .ace-discovery-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ace-shell--home .ace-discovery-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--shell-accent) 55%,var(--shell-line));box-shadow:0 18px 36px rgba(0,0,0,.16)}
@media(prefers-reduced-motion:reduce){.ace-shell--home .ace-discovery-card{transition:none}.ace-shell--home .ace-discovery-card:hover{transform:none}}

@media(min-width:901px){
 .ace-shell--home:not(.is-event-view) .ace-app.is-intro .ace-app__bar{
	left:calc(var(--shell-left) + max(24px,(100% - var(--shell-left) - var(--shell-right) - var(--home-wrap))/2))!important;
 }
 .ace-shell--home:not(.is-event-view) .ace-app.is-intro .ace-app__featured{
	left:calc(var(--shell-left) + max(24px,(100% - var(--shell-left) - var(--shell-right) - var(--home-wrap))/2) + min(400px,calc(100% - var(--shell-left) - var(--shell-right) - 48px)) + 2.75rem);
 }
 .ace-shell--home :is(.ace-shell__main,.ace-hub-route)>.ace-explore{
	width:min(100%,var(--home-wrap));max-width:var(--home-wrap);margin-inline:auto!important;
 }
 .ace-shell--home .ace-home-days>.wp-block-group>.ace-events-browser,
 .ace-shell--home .ace-home-days>.wp-block-group>.ace-suggestions{
	box-sizing:border-box;width:min(calc(100% - 2 * var(--home-gutter)),var(--home-wrap));max-width:var(--home-wrap);margin-inline:auto!important;
 }
}


/* iga-home-discovery */
.ace-home-discovery{min-width:0;max-width:100%;width:100%;box-sizing:border-box;color:var(--shell-ink);background:var(--shell-bg)}
.ace-discovery-section{min-width:0;padding-block:32px;border-top:1px solid var(--shell-line)}
.ace-discovery-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px;flex-wrap:wrap}
.ace-discovery-heading>div{flex:1 1 260px;min-width:0}.ace-discovery-heading h2{margin:4px 0 8px;font:600 clamp(22px,2.3vw,30px)/1.2 'Space Grotesk',sans-serif;color:var(--shell-ink)}
.ace-discovery-heading p{margin:0;color:var(--shell-muted);font-size:14px;line-height:1.6}.ace-discovery-heading p.ace-discovery-eyebrow,.ace-discovery-eyebrow{font:600 11px/1.5 'Space Grotesk',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--shell-accent);margin:0}
.ace-discovery-more{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:12px;min-height:44px;max-width:100%;padding:10px 16px;box-sizing:border-box;border:1px solid var(--shell-line);border-radius:10px;background:var(--shell-card);color:var(--shell-accent);font:600 14px/1.4 'Space Grotesk',sans-serif;text-decoration:none;white-space:nowrap}
.ace-discovery-more:hover{border-color:var(--shell-accent)}.ace-discovery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px;min-width:0}
.ace-discovery-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px;box-sizing:border-box;border:1px solid var(--shell-line);border-radius:14px;background:var(--shell-panel);overflow-wrap:anywhere}
.ace-discovery-card h3{margin:0;font:600 18px/1.35 'Space Grotesk',sans-serif}.ace-discovery-card h3 a{color:var(--shell-ink);text-decoration:none}.ace-discovery-card h3 a:hover{color:var(--shell-accent);text-decoration:underline}
.ace-discovery-card p{margin:0;font-size:13px;line-height:1.5}.ace-discovery-card p.ace-discovery-price{font:600 16px/1.4 'Space Grotesk',sans-serif}.ace-discovery-card small{font-size:11px;line-height:1.5;color:var(--shell-muted)}
.ace-discovery-card a:not(h3 a){color:var(--shell-accent)}.ace-discovery-card .ace-discovery-source{margin-top:auto;padding-top:8px}.ace-discovery-image{display:block;aspect-ratio:3/2}.ace-discovery-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px}
.ace-discovery-empty{padding:24px;border:1px dashed var(--shell-line);border-radius:14px;background:var(--shell-panel);font-size:14px;line-height:1.6}.ace-discovery-empty p{color:var(--shell-muted)}.ace-discovery-empty a{color:var(--shell-accent)}
.ace-home-discovery a:focus-visible{outline:2px solid var(--shell-accent);outline-offset:4px}
@media(max-width:600px){.ace-discovery-section{padding-block:24px}.ace-discovery-card{padding:16px}.ace-discovery-empty{padding:18px}}


/* iga-radio-dock */
/* The deck stays in the shell while React changes the main panel. */
.ace-radio-host{display:contents}
.ace-radio-host svg{flex:none;width:16px;height:16px;vertical-align:middle}
.ace-radio-host>audio{display:none}
.ace-radio-directory .arp__now{display:none}
.ace-shell .ace-radio-launch{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;align-items:center;gap:8px;border-radius:999px;padding:10px 16px;background:var(--shell-panel);color:var(--shell-ink);box-shadow:0 4px 20px #0003}
.ace-radio-dock{position:fixed;right:16px;bottom:16px;z-index:91;width:340px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 64px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--shell-line);border-radius:16px;background:var(--shell-panel);color:var(--shell-ink);box-shadow:0 10px 36px #0004;font-size:13px;line-height:1.45}
.ace-radio-dock[style]{right:auto;bottom:auto}
.ace-radio-dock.is-docked{border-radius:12px 12px 0 0}
.ace-radio-dock__header{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--shell-line)}
.ace-radio-dock__header>strong{flex:1;font-family:'Space Grotesk',sans-serif}
.ace-shell .ace-radio-dock__header button{border:0;background:transparent;padding:8px}
.ace-radio-dock__grip{touch-action:none;cursor:grab!important}
.is-dragging .ace-radio-dock__grip{cursor:grabbing!important}
.ace-radio-dock__now{display:flex;align-items:center;gap:12px;padding:16px 14px 10px}
.ace-radio-dock__now>div{min-width:0}
.ace-radio-dock__now strong{display:block;overflow-wrap:anywhere;font-family:'Space Grotesk',sans-serif;font-size:15px}
.ace-radio-dock__now [role=status]{display:block;color:var(--shell-muted);font-size:12px;margin-top:4px}
.ace-shell .ace-radio-dock__play{border-radius:50%;width:42px;height:42px;flex:none;padding:0;background:var(--shell-accent);color:var(--shell-bg);border:0}
.ace-radio-dock__controls{display:flex;align-items:center;gap:8px;padding:8px 14px}
.ace-radio-dock__controls input{width:100%;min-width:32px;accent-color:var(--shell-accent)}
.ace-shell .ace-radio-dock__controls button{white-space:nowrap;font-size:12px;padding:7px 9px;border-radius:999px}
.ace-radio-dock__position{display:flex;align-items:center;gap:8px;padding:4px 14px 12px;color:var(--shell-muted);font-size:12px}
.ace-shell .ace-radio-dock__position select{min-width:0;flex:1;padding:6px 8px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-card);color:var(--shell-ink)}
.ace-radio-dock__stations{border-top:1px solid var(--shell-line);padding:12px}
.ace-shell .ace-radio-dock__stations input{display:block;box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid var(--shell-line);border-radius:999px;background:var(--shell-card);color:var(--shell-ink)}
.ace-radio-dock__stations ul{list-style:none;padding:0;margin:10px 0;max-height:230px;overflow:auto;overscroll-behavior:contain}
.ace-radio-dock__stations li{margin:0;padding:0}
.ace-shell .ace-radio-dock__stations li>button,.ace-shell .ace-radio-dock__stations li>a{display:block;width:100%;border:0;border-radius:0;padding:10px;text-align:left;background:transparent;color:var(--shell-ink);text-decoration:none;overflow-wrap:anywhere}
.ace-shell .ace-radio-dock__stations li>button:hover,.ace-shell .ace-radio-dock__stations li>a:hover,.ace-shell .ace-radio-dock__stations li>button[aria-pressed=true]{background:var(--shell-card);color:var(--shell-ink)}
.ace-shell .ace-radio-dock__stations li>button[aria-pressed=true]{box-shadow:inset 3px 0 var(--shell-accent);font-weight:600}
.ace-radio-dock__stations small{display:block;color:var(--shell-muted);font-size:11px;margin-top:3px}
.ace-radio-dock__credit{font-size:11px;line-height:1.5;margin:10px 0 0;color:var(--shell-muted)}
.ace-shell .has-radio-dock{padding-bottom:calc(var(--ace-radio-space,0px) + 16px)!important}
.ace-radio-zone{position:fixed;z-index:90;pointer-events:none;display:grid;place-items:center;padding:16px;text-align:center;background:color-mix(in srgb,var(--shell-accent) 18%,var(--shell-panel));border:2px dashed var(--shell-accent);border-radius:12px;color:var(--shell-ink)}
.ace-radio-zone.is-over{background:var(--shell-accent);color:var(--shell-bg)}
@media(prefers-reduced-motion:no-preference){.ace-radio-dock button{transition:background-color 150ms,color 150ms}.ace-radio-launch{transition:background-color 150ms}}


