/* ace-timeline */
/* The Sheffield timeline at /story/timeline/.

   Reading page first. One measure-limited column of prose, a rule down the left
   of each era, and a date that stays with its entry while you read it.

   Everything that changes with width is a CONTAINER query on .ace-tl, not a media
   query, because this page lives inside the workspace shell: the main panel is a
   long way narrower than the viewport, and how much room there is for a date
   column or a picture gutter is a fact about the panel, not about the screen.

   Three tiers:
     under 30rem of panel   - one column, date above the entry, pictures in flow
     30rem and over         - a date column, and the date sticks while its entry scrolls
     43rem and over         - a picture gutter on the right
     58rem and over         - a gutter on each side, pictures alternating between them

   Colours are the shared --ace-* tokens, which the theme swaps for its light
   palette, so nothing is hard-coded and both themes get the same contrast. */

.ace-tl{
  container-type:inline-size;
  container-name:acetl;
  /* A picture slides in from well off the side, so this cannot clip at its own edge -
     that cut the movement short and made an arrival look like a nudge. Nor can it
     stop clipping altogether: Leaflet parks an internal proxy element a quarter of a
     million pixels to the right, which then counted towards the panel's width, gave
     the page a sideways scrollbar and let a trackpad swallow an upward flick. So the
     clip is pushed out far enough for a picture and no further. */
  overflow-x:clip;
  overflow-clip-margin:540px;
  max-width:1180px;
  margin:0 auto;
  padding:clamp(.8rem,1.6vw,1.35rem) clamp(.85rem,2.5vw,2rem) 4.5rem;
  color:var(--ace-ink,var(--ace-text,#f7f3ea));
  --tl-gut:11.5rem;
  --tl-when:6.25rem;
  /* The prose measure, and the slightly wider one every rounded box takes. Both are
     centred on the panel, so a chart, a map and a card all share one centre line. */
  --tl-wrap:46rem;
  --tl-bleed:54rem;
}

/* ------------------------------------------------------------------- masthead */

.ace-tl__eyebrow{margin:0 0 .5rem;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ace-tl__eyebrow a{color:var(--ace-orange-2,#efb665);text-decoration:none}
.ace-tl__eyebrow a:hover,.ace-tl__eyebrow a:focus{text-decoration:underline}
.ace-tl h1{margin:0 0 .85rem;font-size:clamp(2rem,5vw,3.4rem);line-height:1.04;text-wrap:balance}
/* The opening paragraph is the one under the title, and it is the one that carries
   the whole argument, so it is a step larger than the paragraphs that follow it and
   shares their left edge and their measure - a narrower box centred in the wrap
   reads as an indent, which is what the 56ch cap here used to do. */
/* The section carries both classes, so this is written with both of them: the shared
   section stylesheet sets the same thing at the same weight and loads afterwards, so
   an evenly matched rule here quietly lost and the opening paragraph came out smaller
   than the ones under it. */
.ace-tl.ace-chy .ace-chy__lede{max-width:none;margin:0;color:var(--ace-muted,#b9b0a0);font-size:clamp(1.18rem,1.5vw,1.4rem);line-height:1.55}

/* The intro shares the masthead's measure exactly. It used to carry a 64ch cap of
   its own, and a narrower box centred inside the wrap reads as an indent: the lede
   started at the left edge and the paragraphs under it did not. */
.ace-tl__intro{margin:1.9rem 0 2.6rem}
.ace-tl__intro p{margin:0 0 1rem;color:var(--ace-muted,#b9b0a0);font-size:1.02rem;line-height:1.7}
.ace-tl__intro p:last-child{margin:0}

/* --------------------------------------------------- headings and their anchors */

/* The heading itself is the link to itself. The copy control sits beside it and
   fades in on hover or keyboard focus, the same behaviour the data blocks have;
   the handler is the shared one in ace-section-blocks.js, and the styling is here
   because that file's own rules are scoped to .ace-blocks. */
.ace-tl__anchor{color:inherit;text-decoration:none}
.ace-tl__anchor:hover,.ace-tl__anchor:focus-visible{text-decoration:underline;text-decoration-color:var(--ace-orange-2,#efb665);text-decoration-thickness:1px;text-underline-offset:.2em}
.ace-tl__copy{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:1.7rem;height:1.7rem;margin-left:.15rem;padding:0;
  border:0;border-radius:8px;background:none;
  color:var(--ace-muted,#b9b0a0);cursor:pointer;
  opacity:0;transform:translateY(1px);vertical-align:middle;
}
.ace-tl__era-title:hover .ace-tl__copy,
.ace-tl__title:hover .ace-tl__copy,
.ace-tl__chart-title:hover .ace-tl__copy,
.ace-tl__credit h2:hover .ace-tl__copy,
.ace-tl__copy:focus-visible,
.ace-tl__copy.is-done{opacity:1}
.ace-tl__copy:hover{color:var(--ace-orange-2,#efb665);background:color-mix(in srgb,var(--ace-orange-2,#efb665) 14%,transparent)}
.ace-tl__copy.is-done{color:var(--ace-orange-2,#efb665)}
@media (prefers-reduced-motion:no-preference){.ace-tl__copy{transition:opacity .16s ease,color .16s ease,background .16s ease}}
@media (hover:none){.ace-tl__copy{opacity:.55}}

/* ------------------------------------------------------------------------ eras */

.ace-tl__era{margin:0 0 4rem;scroll-margin-top:var(--ace-anchor-offset,70px)}
.ace-tl__era-title{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .35rem;
  margin:0 0 .9rem;padding-top:1.9rem;
  border-top:1px solid var(--ace-line,rgba(255,255,255,.14));
  font-size:clamp(1.4rem,3vw,2.05rem);line-height:1.15;scroll-margin-top:var(--ace-anchor-offset,70px);text-wrap:balance;
}
.ace-tl__era-title .ace-tl__anchor{display:block;flex:1 1 auto;min-width:0}
.ace-tl__era-range{display:block;margin-bottom:.2rem;color:var(--ace-ink,#f5f2ea);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ace-tl__era-label{display:block}
.ace-tl__context{max-width:64ch;margin:0 0 2.4rem;color:var(--ace-muted,#b9b0a0);font-size:1.02rem;line-height:1.75}

/* --------------------------------------------------------------------- entries */

.ace-tl__list{margin:0;padding:0;list-style:none}
.ace-tl__item{
  position:relative;
  margin:0 0 2.75rem;
  padding-left:1.6rem;
  border-left:2px solid var(--ace-line,rgba(255,255,255,.14));
  scroll-margin-top:var(--ace-anchor-offset,70px);
}
.ace-tl__item:last-child{margin-bottom:0}
.ace-tl__item::before{
  content:"";position:absolute;left:-.34rem;top:.5rem;
  width:.66rem;height:.66rem;border-radius:50%;
  background:var(--ace-orange-2,#efb665);
}
/* Once the date is sticky the marker has to travel with it, or the two drift apart
   as an entry scrolls: the dot stays at the top of the entry while the date rides
   down the page, and they stop meaning each other. Drawn on the date itself from
   there on, so there is only one thing to keep in place. */
.ace-tl__date time{position:relative}
/* Entries that come out of the open record rather than being written here get a
   hollow marker. That, and the source link saying Wikidata, is the whole label. */
.ace-tl__item.is-record::before{background:var(--ace-bg,#12100e);box-shadow:inset 0 0 0 2px var(--ace-line,rgba(255,255,255,.4))}

/* Dates read as dates, in the page's own ink. They were the same orange as every
   heading, which made a column of them compete with the headlines they sit beside. */
.ace-tl__date{margin:0 0 .3rem;color:var(--ace-ink,#f5f2ea);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ace-tl__body{max-width:66ch}
.ace-tl__title{display:flex;align-items:baseline;gap:.1rem;margin:0 0 .55rem;font-size:1.2rem;line-height:1.35;font-weight:700}
.ace-tl__title .ace-tl__anchor{flex:1 1 auto;min-width:0}
.ace-tl__what{margin:0 0 .75rem;line-height:1.65}
.ace-tl__why{margin:0 0 .75rem;padding-left:.95rem;border-left:3px solid color-mix(in srgb,var(--ace-orange-2,#efb665) 55%,transparent);color:var(--ace-muted,#b9b0a0);line-height:1.6}
.ace-tl__why span{display:block;margin-bottom:.15rem;color:var(--ace-orange-2,#efb665);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
/* Where a line came from, in the same faded grey a photograph's credit uses. It has
   to be there and it has to be checkable, but it is not what anybody came to read, so
   it sits back until you look for it. */
.ace-tl__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:0;font-size:.72rem;letter-spacing:.02em}
.ace-tl__meta .ace-tl__src,.ace-tl .ace-tl__src{color:var(--ace-muted,#b9b0a0);text-underline-offset:.18em;opacity:.42;transition:opacity .2s ease}
/* It fades up rather than changing colour: turning orange makes a credit look like
   the thing to click next, and it is the quietest thing on the entry by design. */
.ace-tl .ace-tl__src:hover,.ace-tl .ace-tl__src:focus-visible{opacity:.95;color:var(--ace-muted,#b9b0a0)}
.ace-tl__meta:hover .ace-tl__src{opacity:.8}

/* -------------------------------------------------------------------- pictures */

.ace-tl__pic{
  margin:1.1rem 0 0;
  max-width:100%;
}
.ace-tl__pic-link{display:block;border-radius:12px;overflow:hidden;background:var(--ace-surface,#1b211f)}
.ace-tl__pic img{
  display:block;width:100%;height:auto;max-width:100%;
  aspect-ratio:var(--tl-pic-ratio,4/3);object-fit:cover;
  border-radius:12px;
  border:1px solid var(--ace-line,rgba(255,255,255,.12));
}
/* A run of identical rectangles reads as a contact sheet. Where the gutter has the
   room, pictures take one of a few shapes and widths instead, cycling so that
   neighbours never match. Nothing here changes the column, only what sits in it. */
@container acetl (min-width:43rem){
  .ace-tl__item:nth-child(5n+1) .ace-tl__pic{--tl-pic-ratio:4/3;width:100%}
  .ace-tl__item:nth-child(5n+2) .ace-tl__pic{--tl-pic-ratio:1/1;width:86%}
  .ace-tl__item:nth-child(5n+3) .ace-tl__pic{--tl-pic-ratio:3/4;width:74%}
  .ace-tl__item:nth-child(5n+4) .ace-tl__pic{--tl-pic-ratio:16/10;width:100%}
  .ace-tl__item:nth-child(5n+5) .ace-tl__pic{--tl-pic-ratio:1/1;width:94%}
  .ace-tl__item:nth-child(even) .ace-tl__pic{margin-left:auto}
}
.ace-tl__pic figcaption{margin-top:.45rem;color:var(--ace-muted,#b9b0a0);font-size:.78rem;line-height:1.45}
.ace-tl__pic-credit{display:block;margin-top:.2rem;font-size:.7rem;letter-spacing:.02em;opacity:.85}
.ace-tl__pic-credit a{color:inherit}
.ace-tl__pic-link:hover img,.ace-tl__pic-link:focus-visible img{border-color:var(--ace-orange-2,#efb665)}

/* The reveal. The hidden state only exists once the script has marked the page,
   so with no JavaScript, or with reduced motion, every picture is simply there. */
.ace-tl.is-anim .ace-tl__pic,.ace-tl.is-anim .ace-tl__chart{opacity:0;transform:translate3d(0,14px,0)}
.ace-tl.is-anim .ace-tl__pic.is-in,.ace-tl.is-anim .ace-tl__chart.is-in{opacity:1;transform:none}
/* Three beats, in the order you read them: the photograph settles, the caption
   rises under it, then the credit fades in last. Hidden only once the script has
   marked the page, so with no JavaScript all three are simply there. */
.ace-tl.is-anim .ace-tl__pic figcaption{opacity:0;transform:translate3d(0,6px,0)}
.ace-tl.is-anim .ace-tl__pic.is-in figcaption{opacity:1;transform:none}
.ace-tl.is-anim .ace-tl__pic .ace-tl__pic-credit{opacity:0}
.ace-tl.is-anim .ace-tl__pic.is-in .ace-tl__pic-credit{opacity:.62}
/* The credit stays quieter than the caption until you go looking for it. */
.ace-tl__pic-credit{opacity:.62;transition:opacity .18s ease}
.ace-tl__pic:hover .ace-tl__pic-credit,.ace-tl__pic:focus-within .ace-tl__pic-credit{opacity:1}
.ace-tl.is-anim .ace-tl__pic.is-in:hover .ace-tl__pic-credit,.ace-tl.is-anim .ace-tl__pic.is-in:focus-within .ace-tl__pic-credit{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .ace-tl.is-anim .ace-tl__pic,.ace-tl.is-anim .ace-tl__chart{transition:opacity .5s ease,transform .5s cubic-bezier(.22,.61,.36,1)}
  .ace-tl.is-anim .ace-tl__pic figcaption{transition:opacity .34s ease .42s,transform .34s cubic-bezier(.22,.61,.36,1) .42s}
  .ace-tl.is-anim .ace-tl__pic .ace-tl__pic-credit{transition:opacity .3s ease .78s}
}
@media (prefers-reduced-motion:reduce){
  .ace-tl.is-anim .ace-tl__pic,.ace-tl.is-anim .ace-tl__chart{opacity:1;transform:none;transition:none}
  .ace-tl.is-anim .ace-tl__pic figcaption{opacity:1;transform:none;transition:none}
  .ace-tl.is-anim .ace-tl__pic .ace-tl__pic-credit{opacity:.62;transition:none}
}

/* ---------------------------------------------------------------------- charts */

.ace-tl__chart{margin:2.4rem 0;padding:1.15rem 1.2rem 1.25rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:16px;background:var(--ace-surface,#1b211f);scroll-margin-top:var(--ace-anchor-offset,70px)}
.ace-tl__chart-title{display:flex;align-items:baseline;gap:.1rem;margin:0 0 .35rem;font-size:1.05rem;line-height:1.35}
.ace-tl__chart-title .ace-tl__anchor{flex:1 1 auto;min-width:0}
.ace-tl__chart .ace-chart{margin:.4rem 0 .6rem}
/* Keep the plot a readable shape. Without a ceiling the bars grow with the panel
   and a wide screen turns a chart into a wall. */
/* The plot only. Every other svg in here is an icon, and a height cap on those
   collapses them. The viewBox keeps the aspect, so capping the height is enough. */
.ace-tl__chart .ace-chart__svg{max-height:min(46vh,340px)}
.ace-tl__chart .ace-tl__meta{margin-top:.5rem}

/* The map plate, and the list that is the same nine places without JavaScript.
   The list is always printed, so a reader with the plate gets both and a reader
   without it still gets every place, its date and its source link. */
.ace-tl__map{margin:.4rem 0 .8rem;border-radius:12px;overflow:hidden;min-height:260px}
/* Until the shared plate puts something inside it the box is not drawn at all, so a
   reader with no JavaScript gets the list of places and no empty rectangle. */
.ace-tl__map:empty{display:none}
.ace-tl__places{
  display:grid;gap:.4rem .9rem;margin:.6rem 0 0;padding:0;list-style:none;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));
  font-size:.88rem;line-height:1.45;
}
.ace-tl__places-year{display:inline-block;min-width:3rem;color:var(--ace-orange-2,#efb665);font-weight:700;font-size:.82rem}
.ace-tl__places a{color:inherit;text-underline-offset:.18em}
.ace-tl__places a:hover,.ace-tl__places a:focus-visible{color:var(--ace-orange-2,#efb665)}

/* ------------------------------------------------- the data strands under an era */

.ace-tl__strand{margin:2.4rem 0 0;padding:1.05rem 1.15rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:16px;background:var(--ace-surface,#1b211f)}
.ace-tl__strand h3{margin:0 0 .35rem;font-size:1rem}
.ace-tl__strand-note{margin:0 0 .95rem;max-width:64ch;color:var(--ace-muted,#b9b0a0);font-size:.85rem;line-height:1.55}
.ace-tl__people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:.9rem;margin:0;padding:0;list-style:none}
.ace-tl__person{display:flex;gap:.65rem;align-items:start;font-size:.9rem;line-height:1.35}
.ace-tl__portrait{position:relative;flex:0 0 auto;display:block;width:56px}
.ace-tl__portrait img{display:block;width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--ace-surface-2,#222a27)}
.ace-tl__portrait-credit{display:block;margin-top:.15rem;color:var(--ace-muted,#b9b0a0);font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;text-align:center}
.ace-tl__person-body a{color:inherit}
.ace-tl__person-years{color:var(--ace-muted,#b9b0a0);font-size:.82rem;white-space:nowrap}
.ace-tl__person-occ{display:block;color:var(--ace-muted,#b9b0a0);font-size:.8rem}
/* Archive items are cards, not a list of sentences.
   A cataloguer's title is often an abstract in disguise, so a run of them set as
   full-width orange paragraphs was a wall nobody could scan. Each one gets a card
   the width of a column, the year as a chip, and the first three lines of the
   title; the whole title is on the card and in the link for anyone who wants it. */
.ace-tl__archive{
	margin:0;padding:0;list-style:none;
	display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:.7rem;
}
.ace-tl__archive a{
	display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;height:100%;
	padding:.8rem .85rem;
	border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:12px;
	background:color-mix(in srgb,var(--ace-ink,#f5f2ea) 3%,transparent);
	color:var(--ace-ink,#f5f2ea);text-decoration:none;line-height:1.45;
	transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.ace-tl__archive a:hover,.ace-tl__archive a:focus-visible{
	border-color:var(--ace-orange-2,#efb665);
	background:color-mix(in srgb,var(--ace-orange-2,#efb665) 8%,transparent);
	transform:translateY(-1px);
}
.ace-tl__archive-year{
	display:inline-block;padding:.05rem .45rem;border-radius:999px;
	background:color-mix(in srgb,var(--ace-orange-2,#efb665) 18%,transparent);
	color:var(--ace-orange-2,#efb665);font-weight:700;font-size:.72rem;letter-spacing:.04em;
	font-variant-numeric:tabular-nums;
}
.ace-tl__archive-title{
	display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;
	overflow:hidden;font-size:.88rem;
}
.ace-tl__archive-go{
	margin-top:auto;padding-top:.25rem;
	color:var(--ace-muted,#b9b0a0);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
}
.ace-tl__archive a:hover .ace-tl__archive-go,.ace-tl__archive a:focus-visible .ace-tl__archive-go{color:var(--ace-orange-2,#efb665)}

/* ---------------------------------------------------------------------- credit */

.ace-tl__credit{max-width:68ch;margin:3rem 0 0;padding:1.2rem;border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:16px;background:var(--ace-surface,#1b211f)}
.ace-tl__credit h2{display:flex;align-items:baseline;gap:.1rem;margin:0 0 .5rem;font-size:1rem}
.ace-tl__credit h2 .ace-tl__anchor{flex:1 1 auto;min-width:0}
.ace-tl__credit p{margin:0 0 .7rem;color:var(--ace-muted,#b9b0a0);font-size:.88rem;line-height:1.65}
.ace-tl__credit p:last-child{margin:0}
.ace-tl__credit a{color:var(--ace-orange-2,#efb665)}

.ace-tl a:focus-visible,.ace-tl button:focus-visible{outline:2px solid var(--ace-orange-2,#efb665);outline-offset:2px}

/* ------------------------------------------------- 34rem: a sticky date column */

@container acetl (min-width:30rem){
  .ace-tl__item{
    display:grid;
    grid-template-columns:var(--tl-when) minmax(0,1fr);
    column-gap:1.25rem;
    padding-left:1.75rem;
  }
  /* The date is its own column and stays put while its entry scrolls past. The
     cell has to stretch to the full height of the row or there is nothing for the
     date to be sticky inside, which also means a date can never escape its own
     entry: it stops at the bottom of the row it belongs to. */
  /* The date cell stretches to the full height of its row so there is something
     for the date to be sticky INSIDE, and the date itself stops at the bottom of
     the entry it belongs to rather than running on into the next one.
     The sticky element has to be the time, not the cell. A box that is already the
     full height of its containing block has nowhere to travel, so making the cell
     itself sticky pinned nothing: it simply sat there looking like a date. */
  .ace-tl__date{
    grid-column:1;grid-row:1;
    align-self:stretch;
    position:static;
    margin:0;padding-top:.15rem;
    text-align:right;
    text-wrap:balance;
  }
  .ace-tl__date time{
    display:block;
    /* The context ticker sticks to the top of this column and leaves a sliver on
       screen, so a date has to start below it rather than behind it. */
    position:sticky;top:calc(var(--ace-strip-h,52px) + .9rem);
  }
  .ace-tl__body{grid-column:2;grid-row:1;align-self:start}
  .ace-tl__pic-slot{grid-column:2;grid-row:2;align-self:start}
}

/* --------------------------------------- 43rem: a picture gutter on the right */

@container acetl (min-width:43rem){
  .ace-tl__item.has-pic{grid-template-columns:var(--tl-when) minmax(0,1fr) var(--tl-gut)}
  .ace-tl__chart{margin-left:auto;margin-right:auto;width:min(100%,var(--tl-chart-w,52rem))}

  /* The picture floats in the gutter rather than sitting in the row. As a grid item
     it set the row's height, so a tall photograph stretched its entry and left a
     field of space beside two lines of text. The slot takes the whole grid so that
     right:0 means the edge of the entry, and it runs on past its own entry until
     something else needs the gutter - which is what gives the picture room to ride. */
  .ace-tl__item.has-pic .ace-tl__pic-slot{
    position:absolute;grid-area:1/1/-1/-1;
    right:0;left:auto;
    /* The height is written by the browser: the entry, plus however far the picture
       may ride before something else needs the gutter. Stretching the slot with top
       and bottom looked right and was not - an absolutely positioned child of a grid
       container is laid out against its grid area, which is only ever the height of
       the row, so the slot quietly stayed the height of the picture. */
    top:.15rem;bottom:auto;height:var(--tl-pic-slot-h,auto);
    width:var(--tl-gut);max-width:var(--tl-gut);margin:0;z-index:1;
  }
  /* One gutter and a squeezed measure: the picture sits in the gutter beside its
     entry and stays there. Riding is for the wider layout, where there is a column
     of its own to ride down; here it would only crowd what little room there is. */
  .ace-tl__item.has-pic .ace-tl__pic{
    position:static;
    max-width:100%;margin-left:auto;margin-right:0;
    margin-top:calc(-1 * var(--tl-pic-up,0px));
  }
  .ace-tl__pic figcaption{font-size:.72rem}
}

/* ------------------- 58rem: a gutter each side, pictures alternating between them */

/* The whole era is pushed in by one gutter and the list is pulled back out into
   it, so the left-hand pictures have somewhere to sit that is still inside the
   page's own padding. Nothing here can widen the page: both gutters are part of
   the container width, not added to it. */
@container acetl (min-width:58rem){
  /* Everything on the page moves in by one gutter so the masthead, the prose and
     the dates all line up on the same left edge, and the reclaimed strip on the
     left belongs to the pictures. */
  /* The era no longer indents its children with padding. Padding shifted the box
     they were centred in, so anything inside an era leaned right while the same
     thing outside one sat centred. Everything is centred on the panel instead,
     which is what makes the whole column line up. */
  .ace-tl__era{padding-left:0}
  .ace-tl__era > *{margin-inline:auto;width:min(100%,var(--tl-wrap))}
  /* A box earns a little more width than the prose, because numbers and pictures
     read better wide, and it is capped, because one that fills the screen is
     harder to read rather than easier. */
  .ace-tl__era > .ace-tl__chart,.ace-tl__era > .ace-tl__map,
  .ace-tl > .ace-tl__chart,.ace-tl > .ace-tl__map{width:min(100%,var(--tl-bleed));margin-inline:auto}
  /* The era heading carries the rule that separates one era from the next, so it
     takes the wider measure too: a divider narrower than the charts under it reads
     as a mistake. */
  .ace-tl__era > .ace-tl__era-title{width:min(100%,var(--tl-bleed))}
  .ace-tl > .ace-chy__head,.ace-tl__intro,.ace-tl__credit{margin-inline:auto;width:min(100%,var(--tl-wrap))}
  /* The list keeps its own full-width grid: its dates and pictures live in the
     gutters, so it must not be squeezed into the prose measure. */
  .ace-tl__era > .ace-tl__list{width:auto;margin-inline:0}
  .ace-tl__list{margin-left:0}
  .ace-tl__item{
    grid-template-columns:var(--tl-gut) var(--tl-when) minmax(0,1fr) var(--tl-gut);
    padding-left:0;
    border-left:0;
  }
  /* The timeline rule moves off the list item's own border and onto a line drawn
     down the left edge of the date column, so it still runs the full height of
     the entry with a gutter sitting outside it. */
  /* The line is solid through the middle of an entry and breaks into dots towards
     each end, so a long column reads as a run of stitches rather than one unbroken
     rule. Two layers: the solid one masked away at the ends, the dotted one masked
     in, which is the only way to get one to become the other. */
  .ace-tl__item::after{
    content:"";position:absolute;top:0;bottom:0;
    left:calc(var(--tl-gut) + 1.25rem);
    width:2px;
    background:
      linear-gradient(var(--ace-line,rgba(255,255,255,.14)) 0 100%) no-repeat,
      repeating-linear-gradient(to bottom,
        var(--ace-line,rgba(255,255,255,.14)) 0 2px,
        transparent 2px 6px);
    -webkit-mask-image:
      linear-gradient(to bottom, transparent 0, #000 34px, #000 calc(100% - 34px), transparent 100%),
      linear-gradient(to bottom, #000 0, transparent 34px, transparent calc(100% - 34px), #000 100%);
    mask-image:
      linear-gradient(to bottom, transparent 0, #000 34px, #000 calc(100% - 34px), transparent 100%),
      linear-gradient(to bottom, #000 0, transparent 34px, transparent calc(100% - 34px), #000 100%);
    -webkit-mask-composite:source-over;mask-composite:add;
  }
  /* The marker travels with its date rather than staying at the top of the entry. */
  .ace-tl__item::before{display:none}
  /* The marker sits centred on the rule and on top of it. The date cell is padded in
     by .9rem from the line, so half the dot's width back from that puts its middle on
     the line's middle - and it is drawn over, so a hollow marker reads as a ring
     rather than as a ring with a line through it. */
  .ace-tl__date time::before{
    content:"";position:absolute;
    left:calc(-.9rem - .33rem + 1px);top:50%;transform:translateY(-50%);
    width:.66rem;height:.66rem;border-radius:50%;
    background:var(--ace-orange-2,#efb665);
    z-index:2;
  }
  .ace-tl__item.is-record .ace-tl__date time::before{
    /* Filled with the page's own background so the rule cannot show through the
       middle of it, then ringed. */
    background:var(--ace-bg,#12100e);
    box-shadow:inset 0 0 0 2px var(--ace-line,rgba(255,255,255,.4));
  }
  .ace-tl__item::after{z-index:1}
  .ace-tl__date{grid-column:2;padding-left:.9rem}
  .ace-tl__body{grid-column:3}
  .ace-tl__item.has-pic{grid-template-columns:var(--tl-gut) var(--tl-when) minmax(0,1fr) var(--tl-gut)}
  /* The picture floats in the gutter rather than sitting in the row. As a grid
     item it set the row's height, so a tall photograph stretched its entry and
     left a field of space beside two lines of text. Taking it out of flow lets it
     run past the entry it belongs to, into the gutter, where there is nothing to
     push. The column is still declared, so the text never runs under it. */
  /* The grid placement has to be cleared as well as the position. An absolutely
     positioned child of a grid container is laid out against its GRID AREA, not
     against the item, so the column 3 it inherited from the single-gutter layout
     made left:0 mean "the left edge of the words". Spanning every column makes the
     item itself the containing block, which is what the sides were measured from. */
  /* Two gutters now, so a left-hand picture goes to the left one - and there is
     finally a column of its own for a picture to ride down, so this is where it
     becomes sticky. The slide it arrives with is the same at every width. */
  .ace-tl__item.is-figleft .ace-tl__pic-slot{left:0;right:auto}
  .ace-tl__item.is-figleft .ace-tl__pic{margin-right:auto;margin-left:0}
  .ace-tl__item.has-pic .ace-tl__pic{
    position:sticky;top:calc(var(--ace-strip-h,52px) + .9rem);
  }
  /* The side slide lives on the figure's own class, once, further down. Two rules
     for one movement meant the shorter distance quietly won. */
  .ace-tl.is-anim .ace-tl__pic.is-in{transform:none}
}
/* A container query cannot restyle its own container, so the wider gutter is set
   on the era rather than on .ace-tl itself. */
@container acetl (min-width:72rem){
  .ace-tl__era{--tl-gut:15.5rem}
}
@media (prefers-reduced-motion:reduce){
  .ace-tl.is-anim .ace-tl__pic--right,
  .ace-tl.is-anim .ace-tl__pic--left{transform:none}
}

/* ------------------------------------------------- the rail this page hands over */

/* The rail lists every era with its entries beneath it. The shared list styling
   does not know about section rows, so the era rows are given their weight back
   here; the hairlines under them are the shared .is-block rules and are left
   alone. Scoped by the id, which only exists in the workspace shell. */
#ace-shell-filter .ace-chy__shoplist li.is-section > a[href^="#"]{font-weight:700}
#ace-shell-filter .ace-chy__shoplist li.is-section{margin-top:.45rem}
#ace-shell-filter .ace-chy__shoplist li.is-section:first-child{margin-top:0}

/* --------------------------------------------------------- the story hub call-out */

.ace-tl-promo{max-width:64ch;margin:1.25rem 0 1.75rem;padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--ace-orange-2,#efb665) 38%,transparent);border-radius:14px;background:color-mix(in srgb,var(--ace-orange-2,#efb665) 7%,var(--ace-surface,#1b211f))}
.ace-tl-promo h2{margin:0 0 .5rem;font-size:1.15rem}
.ace-tl-promo p{margin:0 0 .75rem;color:var(--ace-muted,#b9b0a0);line-height:1.6}
.ace-tl-promo__go{display:inline-block;padding:.45rem .9rem;border:1px solid currentColor;border-radius:999px;color:var(--ace-orange-2,#efb665);font-weight:700;text-decoration:none}
.ace-tl-promo__go:hover,.ace-tl-promo__go:focus-visible{text-decoration:underline}

/* A picture in a gutter slides in from the side it lives on, wherever there is a
   gutter for it to live in. The distance has to be far enough to read as coming
   from the side: twenty pixels is a nudge nobody notices. */
/* Between 43rem and 58rem there is only ONE gutter, on the right, and every
   picture sits in it whichever side it was assigned. A left-hand picture sliding
   in from the left here slides across the words - and a picture whose entry never
   crosses the observer stays there, parked on top of the text. So at this width
   both sides come in from the right, which is where they actually are. */
@container acetl (min-width:43rem){
  .ace-tl.is-anim .ace-tl__pic--right,
  .ace-tl.is-anim .ace-tl__pic--left{transform:translate3d(min(42vw,420px),8px,0)}
  .ace-tl.is-anim .ace-tl__pic--right.is-in,.ace-tl.is-anim .ace-tl__pic--left.is-in{transform:none}
}
/* Two gutters: now a left-hand picture really is on the left, in a column of its
   own with nothing to slide over. */
@container acetl (min-width:58rem){
  .ace-tl.is-anim .ace-tl__pic--right{transform:translate3d(min(42vw,460px),8px,0)}
  .ace-tl.is-anim .ace-tl__pic--left{transform:translate3d(min(-42vw,-460px),8px,0)}
  .ace-tl.is-anim .ace-tl__pic--right.is-in,.ace-tl.is-anim .ace-tl__pic--left.is-in{transform:none}
}
/* A longer move wants a little longer to make it, and an ease that settles. */
@media (prefers-reduced-motion:no-preference){
  .ace-tl.is-anim .ace-tl__pic--right,.ace-tl.is-anim .ace-tl__pic--left{transition:opacity .45s ease,transform .68s cubic-bezier(.16,.84,.34,1)}
}

/* The picture opened up. A photograph of a place is worth seeing properly, and the
   caption and the credit belong with it rather than being left behind on the page. */
.ace-tl__lightbox{padding:0;border:0;max-width:min(94vw,1100px);max-height:92dvh;background:transparent;color:var(--ace-ink,#f5f2ea);overflow:visible}
.ace-tl__lightbox::backdrop{background:rgba(8,10,12,.82);backdrop-filter:blur(3px)}
.ace-tl__lightbox-inner{display:flex;flex-direction:column;gap:.85rem;max-height:92dvh;padding:1rem;border:1px solid var(--ace-line,rgba(255,255,255,.14));border-radius:16px;background:var(--ace-surface,#1b211f)}
.ace-tl__lightbox img{display:block;max-width:100%;max-height:70dvh;width:auto;height:auto;margin:0 auto;border-radius:10px;background:var(--ace-bg,#14110d)}
.ace-tl__lightbox-cap{margin:0;font-size:.92rem;line-height:1.5;max-width:70ch}
.ace-tl__lightbox-cap .ace-tl__pic-credit{display:block;margin-top:.35rem;font-size:.78rem;opacity:.7}
.ace-tl__lightbox-cap .ace-tl__pic-credit:hover{opacity:1}
.ace-tl__lightbox-shut{position:absolute;top:-.6rem;right:-.6rem;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--ace-line,rgba(255,255,255,.18));border-radius:999px;background:var(--ace-surface,#1b211f);color:inherit;font-size:19px;line-height:1;cursor:pointer}
.ace-tl__lightbox-shut:hover{border-color:var(--ace-orange-2,#efb665);color:var(--ace-orange-2,#efb665)}
.ace-tl__lightbox-shut:focus-visible{outline:2px solid var(--ace-orange-2,#efb665);outline-offset:2px}
.ace-tl__pic-link{cursor:zoom-in}
@media (max-width:600px){.ace-tl__lightbox-inner{padding:.75rem}.ace-tl__lightbox img{max-height:58dvh}}


/* 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-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-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-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 */
/* Sheffield Live Map (issue #51). Dark glass on the site's own tokens. */
.alm{--alm-h:calc(100vh - var(--ace-header-h,64px));--alm-bg:var(--ace-bg,#14120f);--alm-surface:rgba(28,24,19,.95);--alm-surface-2:rgba(36,31,24,.97);--alm-ink:var(--ace-ink,#f5f2ea);--alm-muted:var(--ace-muted,#b9b0a0);--alm-line:rgba(255,255,255,.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}
/* The map is its own stacking context, so Leaflet panes (z 400+) can never climb over the sticky right-now strip or the header. */
.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(.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(.78) contrast(1.28) saturate(.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}

/* top bar */
.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:transparent;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}

/* warning banner */
.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}

/* rail */
.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:transparent;color:var(--alm-ink);padding:6px 6px;border-radius:9px;font:inherit;cursor:pointer;text-align:left}
.alm__layer:hover{background:rgba(255,255,255,.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}
/* The row names the thing on the map; the note says what it brings with it. */
.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:rgba(255,255,255,.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}

/* radar scrubber */
.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:rgba(255,255,255,.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)}

/* now card */
.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)}

/* ticker */
.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:rgba(255,255,255,.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}}

/* panel */
.alm__panel{position:absolute;top:56px;left:10px;bottom:52px;z-index:42;width:min(420px,calc(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:rgba(255,255,255,.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:rgba(255,255,255,.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:rgba(255,255,255,.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 rgba(255,255,255,.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:rgba(255,255,255,.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}

/* markers */
.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 rgba(255,255,255,.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 rgba(255,255,255,.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 rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.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{display:block;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 transparent;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 rgba(255,255,255,.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}

/* mobile */
@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:transparent;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)}

/* app page: nothing but header + map */
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:rgba(255,255,255,.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)}

/* home page: right-now strip + news */
.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}
/* The right-now block: in the page flow under the navigation (ticker line, then the facts), scrolls away. */
.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 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}
.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 rgba(255,255,255,.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,.92),transparent)}
.als__tkin::after{right:0;background:linear-gradient(270deg,rgba(28,24,19,.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:rgba(255,255,255,.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 rgba(255,255,255,.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 rgba(255,255,255,.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}}

/* map summary (crawlable) */
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}

/* radio player */
.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 rgba(255,255,255,.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 rgba(255,255,255,.16);background:transparent;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 rgba(255,255,255,.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,.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:rgba(255,255,255,.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)}

/* Paint cost, not script, made the map page slow: blurred surfaces over a moving map are re-blurred every frame
   (Firefox especially), and the site header keeps a blur of its own on this page. None of it on a map page. */
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}

/* follow mode: everything but the followed vehicle and its route steps back */
.alm.is-following .leaflet-marker-icon:not(.is-followed){opacity:.18!important;filter:saturate(.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,.9))}
.alm.is-following .leaflet-marker-icon.is-followed .alm-bus__body{transform-origin:50% 50%;box-shadow:0 0 0 4px rgba(255,255,255,.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}
/* The map app's locked mode hides every content block but the first; the right-now rows now come first,
   so keep the block that holds the map visible and hide the rows instead. */
body.ace-locked .wp-block-post-content>*:has(.ace-app){display:block!important}
body.ace-locked .wp-block-post-content>.als{display:none!important}

/* suggested for you: same gutter as the What's On browser, breathing room either side */
.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}
/* Home page with the right-now rows in flow: the map no longer pulls up under a fixed strip, and the
   What's On browser starts after the map instead of over its faded tail. */
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}}

/* Optional jobs layer: same filter rail and contextual panel as other map tools. */
.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:transparent;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}
/* Compact, explicit All/None segmented switch for each layer group. */
.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:transparent;color:var(--alm-muted);font:inherit;font-weight:800;text-transform:inherit;cursor:pointer;transition:background .2s cubic-bezier(.2,.8,.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(.94)}
.alm__group h3{display:flex;align-items:center;gap:.4rem}
/* Merged toggles: colour key under a row while it is on, sub-options indented under their parent, source lines in popups. */
.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 rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.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:rgba(255,255,255,.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}
/* Gauge panel: the 7 day daily means as a small strip. */
.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:rgba(255,255,255,.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)}
/* Planner extras (what the caches know about the way): a few compact sections under the legs. */
.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}

/* My Sheffield: the signed-in member's own layer. Marked in the rail so it reads as
   personal, and never rendered at all for a guest (the row is not built). */
.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}

/* The light mount (ACE_Live_Map::mini): same tokens and credit line as the full plate. */
.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)}

/* ---------------------------------------------------------------- map key rail
   The contextual rail's key and result list. It renders inside the shell's own
   contextual rail (#ace-shell-context), so it inherits the shell tokens there and
   only needs its own layout; the floating button is the control that brings it
   back when the rail is tucked away on a narrower screen. */
.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:transparent!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:transparent!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}
/* While a detail panel is open the rail shows the detail, with one way back to the key. */
.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}
/* The control that reopens the rail: over the map, clear of the ticker and the attribution. */
.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}}

/* One search for the map. The scopes appear when the input is focused, so the box means one
   thing, and the clear control sits above it because it undoes everything below. */
.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,.16));border-radius:999px;background:transparent;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}}}

/* A number set in dark ink needs no shadow; the shadow is there to lift white off a mid tone. */
.alm__route[style*="--ri:#15120d"]{text-shadow:none}

/* The answer to the question the list was sorted by, named rather than left to position. */
.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)}
/* A key section folds away, and the caret says which way it is. */
.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 transparent;border-bottom:4px solid transparent;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}}

/* A layer that is not ready: readable, obviously inert, and silent about why. */
.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}


/* 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}


/* 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;
}


/* ace-covers */
/* A photograph behind the top of a section.
 *
 * Fixed, so the page slides over it rather than dragging it along. Clear at the top
 * and graded into the page's own background by the time the words begin, so no text
 * ever sits on a busy photograph. The blur rises as you scroll, set from the script,
 * so what is left below the fold is a hint of colour rather than a picture competing
 * with the reading.
 */
/* The cover belongs to the main panel, not to the window. It is sticky rather than
   fixed so it stays inside its own column: fixed was measured against the viewport
   and ran underneath the rails on both sides, which is somebody else's space. Being
   the first thing in the panel and pulled back out of the flow means everything after
   it scrolls over the top, which is the whole point of it. */
.ace-cover{
	position:sticky;top:0;
	/* Flush to the edges of the panel: a cover with a margin round it is a picture in a
	   box, not a cover. How much padding there is between here and the panel depends on
	   which wrappers a route happens to use, so the script measures it and writes it
	   here rather than this guessing. The negative bottom takes the cover out of the
	   flow, so the words that follow scroll over the top of it. */
	/* Sideways only. The gap above cannot be taken out here: a sticky box is held
	   inside its own containing block, so a negative top margin was given straight
	   back and the picture stayed below the band of empty panel. The picture itself
	   is positioned, so it can go up there instead. */
	/* WordPress's constrained-layout rule also targets direct children and otherwise
	   clamps this zero-height positioning layer back to the text measure. These three
	   values are the cover contract, so they deliberately win that generic rule. */
	margin:0 calc(-1 * var(--cover-bleed,0px))!important;
	width:calc(100% + var(--cover-bleed,0px) * 2)!important;
	max-width:none!important;
	/* No height of its own, and no negative margin to cancel one.
	   Pulling a full-height box back out of the flow with a negative bottom margin
	   worked in Chrome and quietly cost Firefox about seventeen hundred pixels of
	   scrollable height, so a page opened at an anchor could not be scrolled back up
	   to its own top. The picture inside is positioned instead, which takes no space
	   anywhere. */
	height:0;
	z-index:0;pointer-events:none;
	/* The clipping belongs to the picture, not to this. A box with no height that also
	   hides its overflow hides the picture inside it, which is exactly what happened
	   the moment the height came off. */
	overflow:visible;
	isolation:isolate;
	/* 0 at the top of the page, 1 once the cover has scrolled away. */
	--cover-scrolled:0;
}
.ace-cover__shot{
	position:absolute;left:0;right:0;
	/* Up past whatever sits above the cover in the panel, and taller by the same
	   amount so the bottom of the picture lands where it always did. */
	/* The lift only applies while the cover is still the thing you are looking at.
	   Once it has settled the panel has scrolled the strip away anyway, and holding
	   the lift there simply pushed the picture off the top of its own column. */
	top:calc(-1 * var(--cover-lift,var(--cover-bleed-top,0px)));
	height:calc(min(78vh,760px) + var(--cover-bleed-top,0px));
	overflow:hidden;
}
/* The picture itself. It fades right out as you read on, revealing the blurred copy
   behind the whole shell, and takes a little blur and scale on the way so the change
   reads as depth rather than as an image being switched off. */
.ace-cover__img{
	display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%;
	filter:blur(calc(var(--cover-settled) * 9px)) saturate(calc(1 + var(--cover-settled) * .35));
	transform:scale(calc(1 + var(--cover-settled) * .08));
	transform-origin:center 30%;
	/* Never all the way out: what is left is the hint of colour behind the reading. */
	opacity:calc(1 - var(--cover-settled) * .78);
	will-change:filter,transform,opacity;
}
/* The grade that carries the photograph into the page: nothing at the top, the page's
   own background by the bottom. Two stops rather than one, because a single linear
   fade reads as a grey wash over the middle of the picture. */
.ace-cover__fade{
	position:absolute;inset:0;
	background:linear-gradient(
		to bottom,
		color-mix(in srgb, var(--ace-bg,#121614) 14%, transparent) 0%,
		color-mix(in srgb, var(--ace-bg,#121614) 52%, transparent) 22%,
		color-mix(in srgb, var(--ace-bg,#121614) 88%, transparent) 40%,
		var(--ace-bg,#121614) 58%
	);
}
/* The credit rides in the top right of the picture, faded until you look at it: a
   photographer has to be named wherever their work is used, and a caption under a
   full-bleed cover is nowhere. It is the one part of a cover you can interact with,
   so it is the one part that takes pointer events. */
/* As the cover settles it takes a wash in the direction of the theme rather than
   simply going soft: dark pages darken it, light pages lighten it, so what is left
   under the words always reads as the page's own background with a memory of a
   photograph in it, rather than as a grey photograph. */
.ace-cover__wash{
	position:absolute;inset:0;pointer-events:none;
	background:var(--ace-bg,#121614);
	opacity:calc(var(--cover-settled,0) * .42);
}
[data-ace-theme=light] .ace-cover__wash{background:var(--ace-bg,#f6f4ef)}

.ace-cover__credit{
	/* 1rem in from the top-right corner of the main panel. The anchor this hangs from
	   starts below the headline runway, so it rides the same lift as the picture; once
	   the cover pins the lift is spent and it simply stays at the top. */
	/* --cover-strip is the sticky stats strip across the top of the panel, measured by the
	   script: the credit clears it rather than hiding underneath it. */
	position:absolute;top:calc(1rem + var(--cover-strip,3.25rem) - var(--cover-lift,var(--cover-bleed-top,0px)));right:1rem;z-index:2;
	margin:0;padding:.2rem .5rem;
	border-radius:999px;
	background:color-mix(in srgb, #000 42%, transparent);
	-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
	color:#fff;font-size:.68rem;letter-spacing:.03em;line-height:1.5;
	opacity:.4;pointer-events:auto;transition:opacity .2s ease;
}
.ace-cover__credit:hover,.ace-cover__credit:focus-within{opacity:.95}
.ace-cover__credit a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}

/* A written article uses the same opening composition as the timeline: the cover is
   the first thing in the hero, the headline sits in its darkened lower half, and the
   article itself then becomes the solid reading surface. */
:is(.single-post,.ace-page-covered) .ace-article-hero{
	/* The hero draws no box. A sticky cover is held inside its containing block, and
	   when that was the hero it needed a tall minimum height as a runway, which left a
	   band of nothing between a short headline and the article. With no box here the
	   containing block is <main>, which is as tall as the page, so the photograph stays
	   still for as long as it is visible and the words can follow the headline directly. */
	display:contents;
}
:is(.single-post,.ace-page-covered) .ace-article-hero .ace-cover{
	/* Match the hero's known first-paint padding before the measuring script runs.
	   Without this seed the photograph briefly begins below the empty headline runway,
	   then jumps to the panel top when JavaScript supplies the same distance. */
	--cover-lift:0px;
}
:is(.single-post,.ace-page-covered) .ace-article-hero .ace-cover__shot{
	/* The shared section cover adds the pre-cover gap to its height. An article
	   already supplies that gap with its headline composition, so adding it again
	   produces a photograph taller than both the viewport and its containing hero. */
	height:min(78vh,760px);
}
:is(.single-post,.ace-page-covered) .ace-article-hero .ace-cover__img{
	/* A zoom around a point above centre reads as vertical movement even when the
	   sticky layer itself is perfectly still. Articles fade and soften in place. */
	transform:none;will-change:filter,opacity;
}
:is(.single-post,.ace-page-covered) .ace-article-hero>.wp-block-group{
	position:relative;z-index:2;box-sizing:content-box;
	width:min(calc(100% - 2 * var(--wp--style--root--padding-left,1.25rem)),760px);margin-inline:auto;
	/* The headline sits on the clear upper part of the picture; the article starts close beneath it. */
	padding:clamp(6rem,15vh,10rem) 0 clamp(.75rem,2vh,1.5rem)!important;
}
:is(.single-post,.ace-page-covered) .ace-article-hero .wp-block-post-title{
	font-size:clamp(2.35rem,5vw,4.8rem)!important;line-height:.98;
	letter-spacing:-.045em;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.5);
}
:is(.single-post,.ace-page-covered) .wp-block-post-content{position:relative;z-index:1}
/* A page keeps its centred headline everywhere else; over a cover it sits left, like an article. */
.ace-page-covered .ace-article-hero .wp-block-post-title{text-align:left}

/* Inline article photographs borrow the timeline's rounded, deliberately cropped
   figure treatment and keep the photograph credit attached to its caption. */
.single-post .wp-block-post-content .ace-article-photo{
	box-sizing:border-box;width:min(100%,940px);max-width:940px;
	margin:clamp(2rem,6vw,4.5rem) auto;
}
.single-post .wp-block-post-content .ace-article-photo img{
	display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;
	border:1px solid var(--ace-line,rgba(255,255,255,.12));border-radius:14px;
	background:var(--ace-surface,#1b211f);
}
.single-post .wp-block-post-content .ace-article-photo figcaption{
	margin:.55rem .15rem 0;color:var(--ace-muted,#b9b0a0);font-size:.78rem;line-height:1.5;
}
@media(max-width:640px){
	:is(.single-post,.ace-page-covered) .ace-article-hero>.wp-block-group{padding-top:clamp(4.5rem,13vh,7rem)!important}
	:is(.single-post,.ace-page-covered) .ace-article-hero .wp-block-post-title{font-size:clamp(2rem,10vw,3.2rem)!important}
	.single-post .wp-block-post-content .ace-article-photo{margin-block:2rem}
}

/* An Unsplash photograph used inline keeps the same obligation, so it is credited as
   the source line under the picture, in the muted style the rest of the site uses for
   where something came from. */
.ace-credit{
	display:block;margin:.35rem 0 0;
	color:var(--ace-muted,#b9b0a0);font-size:.7rem;letter-spacing:.02em;
	opacity:.6;transition:opacity .18s ease;
}
.ace-credit:hover,.ace-credit:focus-within{opacity:1}
.ace-credit a{color:inherit}

/* Everything the section itself draws sits above the photograph and scrolls over it.
   The footer as well: it is a sibling of the section rather than part of it, and a
   static element paints before a positioned one, so the cover was drawn over the top
   of it and the footer appeared to vanish under the panel as it scrolled in. */
.ace-csection,.ace-chy,.ace-tl,.ace-community-hub__document{position:relative;z-index:1}
.ace-shell__main footer,.ace-shell__main .ace-footer,
.ace-shell__main .wp-block-template-part{position:relative;z-index:1}

/* There is no second copy of the photograph anywhere. The cover stays where it is and
   blurs into a wash of its own colour as you read past it, which is one painted layer
   inside one panel rather than a full-window backdrop the browser has to composite on
   every frame. */

/* A covered section needs its own top spacing, or the headline lands in the middle of
   the grade rather than on the clear part of the picture. */
[data-ace-covered]{padding-top:clamp(2rem,9vh,7rem)}

@media (prefers-reduced-motion:reduce){
	.ace-cover__img{transition:none;transform:none}
}
/* A photograph is decoration. If it cannot be loaded, nothing about the page changes. */
.ace-cover__img:not([src]){display:none}

/* A covered page starts further down: the photograph wants a clear run at the top
   before the words begin, or the headline lands in the middle of the grade rather
   than on the part of the picture worth looking at. */
[data-ace-covered]{padding-top:clamp(5rem,20vh,15rem)}
[data-ace-covered] .ace-cover{--cover-lift:clamp(5rem,20vh,15rem)}
@media (max-width:640px){[data-ace-covered]{padding-top:clamp(3.5rem,16vh,9rem)}[data-ace-covered] .ace-cover{--cover-lift:clamp(3.5rem,16vh,9rem)}}


@media (prefers-reduced-motion:reduce){
	.ace-cover__img{transition:none;transform:none}
}
/* A photograph is decoration. If it cannot be loaded, nothing about the page changes. */
.ace-cover__img:not([src]){display:none}

/* A listing with no picture: the shared cover layout, with the default header gradient. */
.ace-cover--plain .ace-cover__shot{background:radial-gradient(circle at 85% 0,rgba(255,122,24,.24),transparent 38%),linear-gradient(135deg,#15110d,#282019)}


/* ace-public */
﻿:root{--ace-bg:#14120f;--ace-surface:#1c1813;--ace-surface-2:#241f18;--ace-ink:#f5f2ea;--ace-muted:#b9b0a0;--ace-line:rgba(255,255,255,.12);--ace-orange:#ff7a18;--ace-orange-2:#ff9a45;--ace-orange-ink:#1a1108;--ace-rail:#191510;--ace-rail-hover:rgba(255,255,255,.05);--ace-danger:#ff6b6b;--ace-radius:12px}.ace-loc{position:relative;margin:0;height:46px}.ace-loc>.dashicons{position:absolute;left:.9rem;top:0;bottom:0;width:1.25rem;height:100%;display:flex;align-items:center;justify-content:center;transform:none;line-height:1;opacity:.65;pointer-events:none}.ace-loc-search{box-sizing:border-box;width:100%;padding:.8rem 2.6rem;border:1px solid var(--ace-line);border-radius:10px;background:var(--ace-surface-2);color:var(--ace-ink);font:inherit}.ace-loc-search::placeholder{color:var(--ace-muted)}.ace-loc-search:focus{outline:2px solid var(--ace-orange);border-color:rgba(0,0,0,0)}.ace-loc-clear{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);border:0;background:rgba(0,0,0,0);color:var(--ace-ink);font-size:1.4rem;line-height:1;cursor:pointer;opacity:.7}.ace-loc-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:700;min-width:280px;padding:.3rem;background:rgba(20,18,15,.72);-webkit-backdrop-filter:blur(13px) saturate(140%);backdrop-filter:blur(13px) saturate(140%);color:var(--ace-ink);border:1px solid hsla(0,0%,100%,.16);border-radius:12px;box-shadow:0 22px 54px rgba(0,0,0,.55);overflow:hidden;max-height:360px;overflow-y:auto}.ace-sug-group{padding:.55rem .7rem .25rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ace-muted)}.ace-sug{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;border:0;background:rgba(0,0,0,0);padding:.5rem .7rem;border-radius:8px;font:inherit;color:inherit;cursor:pointer}.ace-sug:hover,.ace-sug:focus{background:rgba(255,122,24,.16)}.ace-sug .dashicons{color:var(--ace-orange);flex:0 0 auto}.ace-sug__t{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ace-sug__m{flex:0 0 auto;font-size:.75rem;color:var(--ace-muted)}.ace-filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.ace-filters .ace-f-search,.ace-filters input[type=date]{padding:.55rem .7rem;border:1px solid var(--ace-line);border-radius:8px;background:var(--ace-surface-2);color:var(--ace-ink);font:inherit}.ace-dd{position:relative;font:inherit}.ace-dd__btn{display:flex;align-items:center;justify-content:space-between;gap:.4rem;width:100%;height:46px;padding:.4rem .7rem;border:1px solid var(--ace-line);border-radius:8px;background:var(--ace-surface-2);color:var(--ace-ink);font:inherit;cursor:pointer;white-space:nowrap;overflow:hidden}.ace-dd__label{overflow:hidden;text-overflow:ellipsis}.ace-dd__caret{font-size:1rem;opacity:.7;flex:0 0 auto;transition:transform .2s}.ace-dd.is-open .ace-dd__caret{transform:rotate(180deg)}.ace-dd.is-open .ace-dd__btn{border-color:var(--ace-orange)}.ace-dd.is-set .ace-dd__btn{border-color:rgba(255,122,24,.55);color:var(--ace-orange-2)}.ace-dd__menu{position:absolute;top:calc(100% + 6px);left:0;min-width:min(260px,80vw);max-width:340px;max-height:340px;overflow-y:auto;z-index:700;padding:.35rem;border-radius:12px;border:1px solid hsla(0,0%,100%,.16);background:rgba(15,13,10,.8);-webkit-backdrop-filter:blur(13px) saturate(140%);backdrop-filter:blur(13px) saturate(140%);box-shadow:0 22px 54px rgba(0,0,0,.55)}.ace-dd__menu[hidden]{display:none}.ace-dd__group{padding:.55rem .6rem .25rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ace-muted)}.ace-dd__opt{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--ace-ink)}.ace-dd__opt:hover{background:rgba(255,122,24,.16)}.ace-dd__opt input{width:16px;height:16px;accent-color:var(--ace-orange);flex:0 0 auto;margin:0}.ace-empty{color:var(--ace-muted);padding:2.5rem 1.5rem;text-align:center;border:1px dashed var(--ace-line);border-radius:14px;background:hsla(0,0%,100%,.02);font-size:1.02rem}.ace-map-nokey{display:flex;align-items:center;justify-content:center;height:100%;min-height:220px;padding:2rem;text-align:center;background:var(--ace-surface);color:var(--ace-muted)}.ace-card{position:relative;display:flex;gap:.85rem;padding:.6rem;border:1px solid var(--ace-line);border-radius:12px;background:var(--ace-surface);color:var(--ace-ink);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;margin-bottom:.75rem}.ace-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.4)}.ace-card.activeProperty{box-shadow:0 0 0 3px var(--ace-orange)}.ace-card__img{flex:0 0 88px;width:88px;height:88px;border-radius:8px;background-size:cover;background-position:center;background-color:#2a241c}.ace-card__body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.ace-card__date{font-size:.78rem;font-weight:700;color:var(--ace-orange);text-transform:uppercase;letter-spacing:.02em}.ace-card__title{font-size:1.05rem;line-height:1.25}.ace-card__loc{font-size:.85rem;color:var(--ace-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ace-card__subs{display:flex;flex-direction:column;gap:.2rem;margin-top:.4rem}.ace-card__sub{display:flex;gap:.4rem;align-items:baseline;font-size:.8rem;color:var(--ace-ink);text-decoration:none;padding:.2rem .4rem;border-radius:6px;background:hsla(0,0%,100%,.08)}.ace-card__sub:hover{background:rgba(255,122,24,.2)}.ace-card__sub-date{color:var(--ace-orange-2);font-weight:700;white-space:nowrap;font-size:.74rem}.ace-card__sub-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ace-card__dist{color:var(--ace-orange-2);font-weight:700}.ace-chip{display:inline-block;font-size:.7rem;padding:.1rem .5rem;border-radius:20px;background:hsla(0,0%,100%,.1);margin:.15rem .25rem 0 0}.ace-chip--free{background:#1e7f3a;color:#eafff0;font-weight:700}.ace-card__detail{display:none;margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--ace-line);font-size:.9rem}.ace-card__detail p{margin:0 0 .5rem}.ace-card.activeProperty .ace-card__detail{display:block}.ace-card__link,.ace-card__tickets{font-weight:700;color:var(--ace-orange);text-decoration:none}.ace-discover{position:relative;margin:-88px 0 1.5rem;margin-block-start:-88px !important;padding-top:88px;font-family:inherit;--ace-map-h:560px;color:var(--ace-ink)}.ace-discover__head{position:absolute;z-index:20;top:1rem;left:1rem;width:min(460px,50% - 1.5rem);display:flex;flex-direction:column;gap:.55rem;padding:.85rem;border-radius:12px;background:rgba(0,0,0,0);border:0;box-shadow:none;isolation:isolate}.ace-discover__head::before{content:"";position:absolute;z-index:0;inset:-18px;border-radius:inherit;background:linear-gradient(145deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0.12) 42%, rgba(255, 255, 255, 0.05)),linear-gradient(315deg, rgba(255, 122, 24, 0.14), rgba(255, 255, 255, 0) 48%);-webkit-backdrop-filter:blur(28px) saturate(180%) brightness(1.08);backdrop-filter:blur(28px) saturate(180%) brightness(1.08);filter:blur(2px);mix-blend-mode:screen;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.55),inset 0 -1px 0 hsla(0,0%,100%,.12),0 18px 46px rgba(0,0,0,.24);pointer-events:none}.ace-discover__head>*{position:relative;z-index:1}.ace-discover__head .ace-loc{width:100%;max-width:360px}.ace-discover__head .ace-loc-search{box-sizing:border-box !important;height:46px;padding:.45rem 2.25rem}.ace-discover__body{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width: 900px){.ace-discover__head{position:relative;top:auto;left:auto;width:auto;margin-bottom:1rem}.ace-discover__head .ace-loc{max-width:none}.ace-discover__body{grid-template-columns:1fr}}.ace-discover__map{height:var(--ace-map-h);border-radius:12px;overflow:hidden;background:var(--ace-bg)}.ace-discover__list{display:flex;flex-direction:column;gap:.75rem;max-height:var(--ace-map-h);overflow:auto;padding-right:.25rem}.ace-discover__list.is-loading{opacity:.5}.ace-app{box-sizing:border-box;position:relative;height:calc(100vh - var(--wp-admin--admin-bar--height, 0px));min-height:680px;margin:-88px 0 2.5rem;margin-block-start:-88px !important;padding-top:88px;overflow:hidden;background:var(--ace-bg);color:var(--ace-ink);font-family:inherit;--ace-header-offset:88px;--ace-bar-height:74px;--ace-overlap:160px;--ace-intro-shift:calc((var(--ace-header-offset) - var(--ace-overlap)) / 2);--ace-wide:1340px;--ace-edge:max(var(--wp--style--root--padding-left,clamp(30px,5vw,50px)), calc((100% - var(--ace-wide)) / 2))}.ace-app__map{position:absolute;inset:0;z-index:1}.ace-app__list.is-loading{opacity:.5}.ace-app__map .gm-bundled-control{transition:transform .35s ease}.ace-app.is-detail .ace-app__map .gm-bundled-control,.ace-app.is-routing .ace-app__map .gm-bundled-control{transform:translateX(-392px)}.ace-app__cover{position:absolute;inset:0;z-index:10;background:radial-gradient(130% 100% at 50% 40%, rgba(20, 18, 15, 0.12), rgba(10, 8, 6, 0.62)),radial-gradient(95% 60% at 50% 0%, rgba(255, 122, 24, 0.16), transparent 60%);opacity:1;transition:opacity .75s ease-in-out,visibility .75s}.ace-app.is-map-revealing .ace-app__cover{opacity:.92}.ace-app.is-map-toned .ace-app__cover{opacity:.78}.ace-app.is-active .ace-app__cover{opacity:0;visibility:hidden;pointer-events:none}.ace-app::after{content:"";position:absolute;left:0;right:0;bottom:0;height:230px;z-index:15;pointer-events:none;background:linear-gradient(to bottom, rgba(20, 18, 15, 0) 0%, rgba(20, 18, 15, 0.12) 48%, var(--ace-bg) 96%, var(--ace-bg) 100%);transition:opacity .4s ease}.ace-app.is-active::after{opacity:0}.ace-seq-next{opacity:0;transform:translateY(26px);transition:opacity .62s ease,transform .72s cubic-bezier(0.2, 0.8, 0.2, 1)}.ace-seq-next.is-revealed{opacity:1;transform:none}body.ace-locked{overflow:hidden}body.ace-locked .wp-block-post-content>*:not(:first-child),body.ace-locked .wp-site-blocks>footer{display:none}.ace-app__actions{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}.ace-app.is-intro .ace-app__actions{display:none}.ace-app[data-source=venues] .ace-app__lead{display:none}.ace-app__legend{display:none}.ace-app.is-active[data-source=venues] .ace-app__legend{display:flex;flex-direction:column;position:absolute;right:0;top:calc(var(--ace-header-offset) + var(--ace-bar-height));bottom:0;z-index:38;width:min(280px,82vw);padding:.9rem .75rem 1.4rem;overflow-y:auto;background:linear-gradient(180deg, rgba(18, 15, 11, 0.72), rgba(11, 9, 7, 0.66));-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);border-left:1px solid hsla(0,0%,100%,.12);color:#f4efe8;font-size:.84rem;box-shadow:-16px 0 44px rgba(0,0,0,.34)}.ace-app[data-source=venues].is-detail .ace-app__legend{display:none !important}.ace-legend__hd{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-weight:800;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;opacity:.72;margin:0 .3rem .5rem}.ace-legend__hint{font-weight:600;font-size:.62rem;letter-spacing:0;text-transform:none;opacity:.7}.ace-legend__sub{font-weight:800;font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;margin:.7rem .3rem .3rem;color:#9aa0a6;display:flex;align-items:center;gap:.4rem}.ace-legend__sub.is-res{color:#4fd6cc}.ace-legend__sub.is-res::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#12b3a6;flex:0 0 auto}.ace-legend__row{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.34rem .45rem;border:1px solid rgba(0,0,0,0);border-radius:9px;background:rgba(0,0,0,0);color:inherit;font:inherit;font-size:.82rem;line-height:1.2;cursor:pointer;transition:background .12s ease,color .12s ease}.ace-legend__row:hover{background:hsla(0,0%,100%,.09)}.ace-legend__row.is-active{background:var(--ace-orange);color:var(--ace-orange-ink);font-weight:700}.ace-legend__all{justify-content:center;margin-bottom:.15rem;background:hsla(0,0%,100%,.06);font-weight:700}.ace-legend__all.is-active{background:hsla(0,0%,100%,.16);color:#fff}.ace-legend__i{font-size:1.45rem;width:1.5em;text-align:center;flex:0 0 auto;line-height:1}.ace-legend__n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ace-dd__opt{display:flex;align-items:center;gap:.15rem}.ace-dd__ico{font-size:1.25rem;line-height:1;width:1.5em;text-align:center;flex:0 0 auto}@media(max-width: 900px){.ace-app.is-active[data-source=venues] .ace-app__legend{display:none}}.ace-chip--res{background:rgba(18,179,166,.16);border-color:rgba(18,179,166,.42);color:#7fe6dd}.ace-coach{position:fixed;z-index:1000;max-width:240px;display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .55rem .55rem .75rem;border-radius:12px;background:var(--ace-orange);color:var(--ace-orange-ink);font-size:.82rem;font-weight:600;line-height:1.3;box-shadow:0 14px 34px rgba(0,0,0,.32);opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease}.ace-coach.is-in{opacity:1;transform:none}.ace-coach::before{content:"";position:absolute;top:-5px;left:18px;width:11px;height:11px;background:var(--ace-orange);transform:rotate(45deg);border-radius:2px}.ace-coach__t{position:relative;z-index:1}.ace-coach__x{position:relative;z-index:1;flex:0 0 auto;background:rgba(0,0,0,.14);color:inherit;border:0;border-radius:50%;width:20px;height:20px;line-height:1;font-size:15px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.ace-coach__x:hover{background:rgba(0,0,0,.26)}.ace-map-style{display:inline-flex;align-items:center;gap:.18rem;height:42px;padding:.18rem;border:1px solid hsla(0,0%,100%,.14);border-radius:9px;background:rgba(20,18,15,.72);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);box-shadow:0 10px 28px rgba(0,0,0,.28)}.ace-map-style__btn{height:34px;padding:0 .65rem;border:0;border-radius:7px;background:rgba(0,0,0,0);color:hsla(0,0%,100%,.72);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap}.ace-map-style__btn:hover,.ace-map-style__btn.is-active{background:rgba(255,122,24,.9);color:var(--ace-orange-ink)}.ace-app__mapctrls{position:absolute;z-index:40;left:50%;bottom:1.3rem;transform:translateX(calc(-50% + var(--ace-map-cx, 0px))) translateY(8px);display:flex;gap:.5rem;align-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s,transform .45s ease}.ace-app.is-active .ace-app__mapctrls{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(calc(-50% + var(--ace-map-cx, 0px))) translateY(0)}.ace-app__viewtoggle{display:none;position:absolute;z-index:60;left:50%;bottom:calc(1.1rem + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);align-items:center;gap:.45rem;height:48px;padding:0 1.4rem;border:0;border-radius:24px;background:var(--ace-orange);color:var(--ace-orange-ink);font:inherit;font-weight:800;font-size:.95rem;line-height:1;cursor:pointer;box-shadow:0 12px 32px rgba(0,0,0,.55)}.ace-app__viewtoggle .dashicons{font-size:1.15rem;width:auto;height:auto}.ace-zoom{display:inline-flex;align-items:center;gap:.18rem;height:42px;padding:.18rem;border:1px solid hsla(0,0%,100%,.14);border-radius:9px;background:rgba(20,18,15,.72);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);box-shadow:0 10px 28px rgba(0,0,0,.28)}.ace-zoom__btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:rgba(0,0,0,0);color:hsla(0,0%,100%,.82);font:inherit;font-size:1.3rem;font-weight:700;line-height:1;cursor:pointer}.ace-zoom__btn:hover{background:rgba(255,122,24,.9);color:var(--ace-orange-ink)}.ace-app__route-btn{display:inline-flex;align-items:center;gap:.4rem;height:42px;padding:0 1rem;border:1px solid rgba(255,122,24,.5);border-radius:9px;background:rgba(20,18,15,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ace-ink);font:inherit;font-weight:700;cursor:pointer}.ace-app__route-btn--map{height:42px;padding:0 .8rem;gap:.35rem;background:rgba(20,18,15,.72);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);border:1px solid hsla(0,0%,100%,.14);color:hsla(0,0%,100%,.86);font-weight:700;box-shadow:0 10px 28px rgba(0,0,0,.28)}.ace-app__route-btn--map .ace-app__route-btn-t{font-size:.82rem;font-weight:700}.ace-app__route-btn--map .dashicons{color:var(--ace-orange);font-size:18px;width:18px;height:18px}.ace-app__route-btn--map:hover,.ace-app__route-btn--map.is-on{background:rgba(255,122,24,.92);color:var(--ace-orange-ink);border-color:rgba(0,0,0,0)}.ace-app__route-btn--map:hover .dashicons,.ace-app__route-btn--map.is-on .dashicons{color:var(--ace-orange-ink)}.ace-app__route-btn:hover{border-color:var(--ace-orange);color:var(--ace-orange-2)}.ace-app__route-btn .dashicons{color:var(--ace-orange)}.ace-app__close{width:42px;height:42px;border:1px solid var(--ace-line);border-radius:9px;background:rgba(20,18,15,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ace-ink);font-size:1.6rem;line-height:1;cursor:pointer}.ace-app__close:hover{background:var(--ace-orange);color:var(--ace-orange-ink);border-color:var(--ace-orange)}.ace-app__route{position:absolute;top:calc(var(--ace-header-offset) + var(--ace-bar-height));right:0;bottom:0;z-index:41;width:min(400px,92%);overflow-y:auto;padding:1.1rem;border-radius:0;border-left:1px solid var(--ace-line);background:linear-gradient(180deg, rgba(16, 13, 10, 0.97), rgba(11, 9, 7, 0.97));-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%);color:var(--ace-ink);box-shadow:-12px 0 44px rgba(0,0,0,.5)}.ace-app__route[hidden]{display:none}.ace-rp-stay{display:inline-flex;align-items:center;gap:.4rem;margin:.55rem 0 0;padding:.45rem .7rem;border-radius:9px;background:rgba(255,122,24,.14);border:1px solid rgba(255,122,24,.4);color:#ffb066;font-weight:700;font-size:.85rem;text-decoration:none}.ace-rp-stay:hover{background:rgba(255,122,24,.24);color:#fff}.ace-rp-stay .dashicons{font-size:16px;width:16px;height:16px}.ace-app__route-form{position:relative;display:flex;flex-direction:column;gap:.5rem}.ace-app__route-form>.dashicons{display:none}.ace-app__route-form input{height:44px;padding:.4rem .8rem;border:1px solid var(--ace-line);border-radius:8px;background:var(--ace-surface-2);color:var(--ace-ink);font:inherit}.ace-app__route-form input::placeholder{color:var(--ace-muted)}.ace-rp-go{height:44px;border:0;border-radius:8px;background:var(--ace-orange);color:var(--ace-orange-ink);font:inherit;font-weight:700;cursor:pointer}.ace-rp-go:hover{background:var(--ace-orange-2)}.ace-rp-close{position:absolute;top:-0.35rem;right:-0.35rem;width:30px;height:30px;border:0;border-radius:50%;background:hsla(0,0%,100%,.12);color:var(--ace-ink);cursor:pointer;font-size:1.1rem;line-height:1}.ace-rp-results{margin-top:.85rem;display:flex;flex-direction:column;gap:.5rem}.ace-rp-h{margin:.1rem 0 .3rem;font-size:.85rem;font-weight:700;color:var(--ace-orange-2)}.ace-rp-item{display:flex;gap:0;align-items:stretch;border:1px solid var(--ace-line);border-radius:8px;background:var(--ace-surface);overflow:hidden}.ace-rp-item:hover{border-color:var(--ace-orange)}.ace-rp-item__go{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.12rem;text-align:left;padding:.55rem .7rem;border:0;background:rgba(0,0,0,0);color:var(--ace-ink);cursor:pointer;font:inherit}.ace-rp-item__t{font-weight:700;line-height:1.2}.ace-rp-item__d{font-size:.76rem;color:var(--ace-muted)}.ace-rp-item.is-before .ace-rp-item__d{color:#7fc7ff}.ace-rp-item.is-after .ace-rp-item__d{color:#ffcf8a}.ace-rp-item__add{flex:0 0 auto;width:42px;border:0;border-left:1px solid var(--ace-line);background:rgba(255,122,24,.14);color:var(--ace-orange-2);font-size:1.15rem;font-weight:700;line-height:1;cursor:pointer}.ace-rp-item__add:hover{background:var(--ace-orange);color:var(--ace-orange-ink)}.ace-rp-summary{display:flex;flex-direction:column;gap:.5rem;padding:.6rem .7rem;border-radius:10px;background:rgba(255,122,24,.12);border:1px solid rgba(255,122,24,.35)}.ace-rp-eta{display:flex;align-items:center;gap:.4rem;font-weight:700}.ace-rp-eta .dashicons{color:var(--ace-orange)}.ace-rp-gmaps{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:42px;border-radius:9px;background:var(--ace-orange);color:var(--ace-orange-ink);font-weight:700;text-decoration:none}.ace-rp-gmaps:hover{background:var(--ace-orange-2)}.ace-rp-along{margin-top:.4rem}.ace-app__dayout-btn{display:inline-flex;align-items:center;gap:.4rem;height:42px;padding:0 1rem;border:1px solid rgba(255,122,24,.5);border-radius:9px;background:rgba(20,18,15,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ace-ink);font:inherit;font-weight:700;cursor:pointer}.ace-app__dayout-btn:hover{border-color:var(--ace-orange);color:var(--ace-orange-2)}.ace-app__dayout-btn .dashicons{color:var(--ace-orange)}.ace-app__dayout-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .35rem;border-radius:20px;background:var(--ace-orange);color:var(--ace-orange-ink);font-size:.72rem;font-weight:800}.ace-app__dayout-count[hidden]{display:none}.ace-app__dayout{position:absolute;top:calc(var(--ace-header-offset) + 3.6rem);right:.8rem;z-index:41;width:min(360px,92%);max-height:74vh;display:flex;flex-direction:column;border-radius:14px;border:1px solid var(--ace-line);background:rgba(16,14,11,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--ace-ink);box-shadow:0 20px 50px rgba(0,0,0,.5);overflow:hidden}.ace-app__dayout[hidden]{display:none}.ace-dayout__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1rem;border-bottom:1px solid var(--ace-line)}.ace-dayout__title{display:flex;align-items:center;gap:.45rem;margin:0;font-size:1rem}.ace-dayout__title .dashicons{color:var(--ace-orange)}.ace-dayout__close{width:32px;height:32px;border:0;border-radius:50%;background:hsla(0,0%,100%,.12);color:var(--ace-ink);cursor:pointer;font-size:1.2rem;line-height:1}.ace-dayout__list{flex:1 1 auto;overflow-y:auto;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.5rem}.ace-dayout__day{display:flex;flex-direction:column;gap:.4rem}.ace-dayout__day+.ace-dayout__day{margin-top:.7rem;padding-top:.7rem;border-top:1px dashed var(--ace-line)}.ace-dayout__dayhead{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ace-dayout__daylabel{font-weight:800;font-size:.82rem;letter-spacing:.02em;text-transform:uppercase;color:var(--ace-orange-2)}.ace-dayout__dayroute{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:700;color:var(--ace-orange-2);text-decoration:none;border:1px solid rgba(255,122,24,.4);border-radius:7px;padding:.2rem .5rem}.ace-dayout__dayroute:hover{background:var(--ace-orange);color:var(--ace-orange-ink)}.ace-dayout__dayroute .dashicons{font-size:.95rem;width:auto;height:auto}.ace-dayout-page__day{margin:0 0 2rem}.ace-dayout-page__dayhead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--ace-line)}.ace-dayout-page__dayhead h3{margin:0;font-size:1.2rem;color:var(--ace-ink)}.ace-dayout-page__dayhead .ace-grid-cta .dashicons{font-size:1rem;width:auto;height:auto;vertical-align:middle}.ace-dayout__item{display:flex;align-items:stretch;gap:0;border:1px solid var(--ace-line);border-radius:9px;background:var(--ace-surface);overflow:hidden}.ace-dayout__n{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:34px;background:rgba(255,176,86,.9);color:#1a1108;font-weight:800}.ace-dayout__go{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.12rem;text-align:left;padding:.5rem .7rem;border:0;background:rgba(0,0,0,0);color:var(--ace-ink);cursor:pointer;font:inherit}.ace-dayout__t{font-weight:700;line-height:1.2}.ace-dayout__a{font-size:.76rem;color:var(--ace-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ace-dayout__rm{flex:0 0 auto;width:38px;border:0;border-left:1px solid var(--ace-line);background:rgba(0,0,0,0);color:var(--ace-muted);font-size:1.2rem;line-height:1;cursor:pointer}.ace-dayout__rm:hover{background:rgba(255,80,80,.18);color:#ff8a8a}.ace-dayout__foot{flex:0 0 auto;padding:.8rem 1rem;border-top:1px solid var(--ace-line);display:flex;flex-direction:column;gap:.5rem}.ace-dayout__gmaps{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.ace-dayout__gmaps[hidden]{display:none}.ace-dayout__clear{align-self:flex-start;border:0;background:rgba(0,0,0,0);color:var(--ace-muted);font:inherit;text-decoration:underline;cursor:pointer;padding:0}.ace-dayout__clear[hidden]{display:none}.ace-dayout__hint{margin:0;font-size:.78rem;color:var(--ace-muted)}.ace-app__detail-day{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1rem;border:1px solid rgba(255,122,24,.55);border-radius:10px;background:rgba(0,0,0,0);color:var(--ace-orange-2);font:inherit;font-weight:700;cursor:pointer}.ace-app__detail-day:hover{background:var(--ace-orange);color:var(--ace-orange-ink);border-color:var(--ace-orange)}.ace-app__detail-day .dashicons{font-size:1.1rem}.ace-rp-dest{display:flex;align-items:center;gap:.4rem;margin:0 0 .6rem;padding:.5rem .7rem;border-radius:8px;background:rgba(255,122,24,.16);border:1px solid rgba(255,122,24,.4);color:var(--ace-orange-2);font-weight:700;font-size:.9rem}.ace-rp-dest[hidden]{display:none}.ace-rp-dest .dashicons{color:var(--ace-orange)}.ace-rp-h{margin:.1rem 0 .3rem;font-size:.85rem;font-weight:700;color:var(--ace-orange-2)}.ace-rp-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.ace-rp-item.is-pop{animation:ace-pop .4s ease}@keyframes ace-pop{from{opacity:0;transform:translateY(6px) scale(0.96)}to{opacity:1;transform:none}}.ace-app__detail-routebtn{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1rem;border:1px solid rgba(255,122,24,.55);border-radius:10px;background:rgba(0,0,0,0);color:var(--ace-orange-2);font:inherit;font-weight:700;cursor:pointer}.ace-app__detail-routebtn:hover{background:var(--ace-orange);color:var(--ace-orange-ink);border-color:var(--ace-orange)}.ace-app__detail-routebtn .dashicons{font-size:1.1rem}.ace-app__leaders{position:absolute;inset:0;z-index:16;pointer-events:none;overflow:visible;opacity:0;transition:opacity .55s ease}.ace-app__leaders.is-lit{opacity:1}.ace-leader{stroke:#ff7a18;stroke-width:2;stroke-dasharray:5 5;opacity:.8;animation:ace-leader-march 1s linear infinite}@keyframes ace-leader-march{to{stroke-dashoffset:-20}}.ace-leader-dot{fill:#ff7a18;stroke:#1a1108;stroke-width:1.5}.ace-leader-anchor{fill:#ff9a45}.ace-app{--ace-intro-panel-w:min(420px,calc(100% - 2rem))}.ace-app__featured{position:absolute;z-index:27;left:calc(var(--ace-edge) + var(--ace-intro-panel-w) + 2.75rem);right:var(--ace-edge);top:calc(var(--ace-header-offset) + 1.5rem);bottom:calc(var(--ace-overlap) + .5rem);pointer-events:none;opacity:0;visibility:hidden;overflow:visible;transition:opacity .45s ease .45s,visibility .45s}.ace-app__featured.is-shown{opacity:1;visibility:visible}.ace-fcard{position:absolute;width:210px;display:flex;gap:.6rem;align-items:stretch;text-align:left;text-decoration:none;cursor:pointer;pointer-events:auto;will-change:transform;border:1px solid rgba(255,122,24,.5);border-radius:12px;padding:.5rem;color:var(--ace-ink);background:rgba(20,18,15,.5);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);box-shadow:0 12px 30px rgba(0,0,0,.4);opacity:0;animation:ace-feature-in .64s cubic-bezier(0.22, 0.9, 0.3, 1) var(--ace-feature-delay, 0ms) both;transition:transform .18s ease,box-shadow .15s ease,border-color .15s ease,background .2s ease}.ace-fcard:hover{background:rgba(20,18,15,.82)}.ace-fcard.is-in{animation:none;opacity:1}@keyframes ace-feature-in{0%{opacity:0;transform:translateY(-46px) scale(0.85)}45%{opacity:1;transform:translateY(11px) scale(1.035)}66%{transform:translateY(-6px) scale(0.99)}83%{transform:translateY(3px) scale(1.006)}100%{opacity:1;transform:none}}.ace-map-tip{position:fixed;z-index:1400;pointer-events:none;transform:translate(-50%, calc(-100% - 14px));background:rgba(20,18,15,.94);color:var(--ace-ink, #f4efe8);border:1px solid rgba(255,122,24,.55);border-radius:9px;padding:.32rem .55rem;font-size:.72rem;line-height:1.25;max-width:190px;box-shadow:0 10px 26px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .12s ease}.ace-map-tip.is-on{opacity:1}.ace-map-tip strong{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:178px}.ace-map-tip span{display:block;color:#ffb071;font-size:.66rem;margin-top:1px}.ace-map-tip::after{content:"";position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);border:5px solid rgba(0,0,0,0);border-top-color:rgba(20,18,15,.94)}.ace-featchip{position:absolute;transform:translate(-50%, -150%);display:inline-flex;align-items:center;gap:.35rem;max-width:190px;padding:.28rem .6rem;border-radius:20px;border:1px solid rgba(255,122,24,.55);background:rgba(20,18,15,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;text-decoration:none;font:inherit;font-size:.78rem;font-weight:700;line-height:1.2;cursor:pointer;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.45);transition:background .15s ease,border-color .15s ease}.ace-featchip__star{color:var(--ace-orange);font-size:.9rem;width:auto;height:auto;flex:0 0 auto}.ace-featchip__t{overflow:hidden;text-overflow:ellipsis}.ace-featchip:hover{background:rgba(20,18,15,.86);border-color:var(--ace-orange)}.ace-card--featured::after{content:"★";position:absolute;top:.5rem;right:.6rem;z-index:3;font-size:.9rem;color:var(--ace-orange);text-shadow:0 1px 3px rgba(0,0,0,.7)}.ace-fcard:hover,.ace-fcard.is-hot{border-color:var(--ace-orange);box-shadow:0 0 0 2px rgba(255,122,24,.5),0 16px 38px rgba(0,0,0,.55)}.ace-fcard__star{position:absolute;top:-8px;left:-8px;z-index:2;width:22px;height:22px;font-size:15px;line-height:22px;text-align:center;border-radius:50%;background:var(--ace-orange);color:var(--ace-orange-ink)}.ace-fcard__img{flex:0 0 58px;width:58px;height:58px;border-radius:8px;background-size:cover;background-position:center;background-color:#2a241c}.ace-fcard__img--empty{display:flex;align-items:center;justify-content:center}.ace-fcard__img--empty .dashicons{color:rgba(255,122,24,.7)}.ace-fcard__body{display:flex;flex-direction:column;gap:.12rem;min-width:0;justify-content:center}.ace-fcard__title{font-weight:700;font-size:.92rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ace-fcard--lite{width:168px;padding:.4rem;border-color:hsla(0,0%,100%,.18);background:rgba(20,18,15,.42);box-shadow:0 8px 22px rgba(0,0,0,.3);opacity:.94}.ace-fcard--lite .ace-fcard__img{flex-basis:42px;width:42px;height:42px}.ace-fcard--lite .ace-fcard__title{font-size:.78rem;-webkit-line-clamp:1}.ace-fcard--lite .ace-card__date{font-size:.66rem;opacity:.85}.ace-fcard--lite .ace-card__loc{display:none}.ace-fcard--lite:hover{border-color:rgba(255,122,24,.5);opacity:1}.ace-leader--lite{stroke:hsla(0,0%,100%,.5);stroke-width:1.4;opacity:.5;animation:none}.ace-suggest{margin:1.5rem 0}.ace-suggest>h2{margin:0 0 .8rem}.ace-suggest--guest p{color:var(--ace-muted)}.ace-pref{margin:0 0 1.1rem;border:1px solid var(--ace-line);border-radius:12px;background:var(--ace-surface);padding:.5rem .9rem}.ace-pref>summary{cursor:pointer;font-weight:700;padding:.35rem 0;list-style:none}.ace-pref>summary::-webkit-details-marker{display:none}.ace-pref__hint{color:var(--ace-muted);font-size:.88rem;margin:.4rem 0 .7rem}.ace-pref__label{font-weight:800;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;opacity:.7;margin:.6rem 0 .35rem}.ace-pref__chips{display:flex;flex-wrap:wrap;gap:.4rem}.ace-pref-chip{padding:.3rem .7rem;border:1px solid var(--ace-line);border-radius:20px;background:rgba(0,0,0,0);color:var(--ace-ink);font:inherit;font-size:.84rem;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.ace-pref-chip:hover{border-color:rgba(255,122,24,.5)}.ace-pref-chip.is-on{background:var(--ace-orange);border-color:var(--ace-orange);color:var(--ace-orange-ink);font-weight:700}.ace-pref__save{margin-top:.9rem}.ace-pref__status{margin-left:.6rem;font-size:.85rem;color:var(--ace-muted)}.ace-suggest__grid .ace-grid{margin-top:.4rem}.ace-suggest-band{max-width:var(--wp--style--global--wide-size, 1200px);margin:1.5rem auto 2rem;padding:0 1rem;box-sizing:border-box}.ace-hotels__lead{color:var(--ace-muted);margin:.2rem 0 .7rem}.ace-hotels__list{list-style:none;margin:0 0 .8rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.ace-hotel{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;padding:.4rem .65rem;border:1px solid var(--ace-line);border-radius:8px;background:var(--ace-surface)}.ace-hotel__name{font-weight:600}.ace-hotel__dist{color:var(--ace-muted);font-size:.82rem;white-space:nowrap}.ace-hotels__search{margin-top:.2rem}.ace-detail-tags{display:flex;align-items:flex-start;gap:.5rem}.ace-detail-tags>.dashicons{flex:0 0 auto;margin-top:.2rem}.ace-metapills{display:inline-flex;flex-wrap:wrap;gap:.35rem;min-width:0}.ace-metapill{display:inline-block;white-space:nowrap;padding:.15rem .65rem;border-radius:20px;background:rgba(255,122,24,.14);border:1px solid rgba(255,122,24,.4);color:#ffb066;font-size:.82rem;line-height:1.55;text-decoration:none}a.ace-metapill:hover{background:rgba(255,122,24,.26);color:#fff}.ace-metapill--perf{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.2);color:var(--ace-ink)}.ace-greviews{margin-top:1.2rem;border-top:1px solid var(--ace-line);padding-top:1rem}.ace-greviews h3{margin:0 0 .5rem;font-size:1rem}.ace-greviews__top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.7rem}.ace-greviews__top strong{font-size:1.1rem}.ace-greviews__n{color:var(--ace-muted);font-size:.85rem}.ace-greviews__link{margin-left:auto;font-size:.85rem;color:var(--ace-orange-2, #ffb066)}.ace-gstars{color:#f5b301;white-space:nowrap;display:inline-flex}.ace-gstars .dashicons{font-size:16px;width:16px;height:16px}.ace-greview{padding:.55rem 0;border-top:1px solid hsla(0,0%,100%,.08)}.ace-greview__hd{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.82rem;margin-bottom:.25rem}.ace-greview__auth{font-weight:600}.ace-greview__when{color:var(--ace-muted)}.ace-greview p{margin:0;font-size:.88rem;opacity:.92;line-height:1.4}.ace-fcard--super{width:272px;padding:.6rem;border-color:var(--ace-orange);background:rgba(30,20,10,.66);box-shadow:0 0 0 2px rgba(255,122,24,.6),0 18px 46px rgba(0,0,0,.55),0 0 32px rgba(255,122,24,.4)}.ace-fcard--super .ace-fcard__img{flex:0 0 76px;width:76px;height:76px}.ace-fcard--super .ace-fcard__title{font-size:1.02rem}.ace-fcard--super .ace-fcard__star{width:26px;height:26px;font-size:17px;line-height:26px;background:linear-gradient(135deg, #ffc074, #ff7a18)}.ace-featchip--super{border-color:var(--ace-orange);background:rgba(255,122,24,.24);box-shadow:0 0 16px rgba(255,122,24,.5)}.ace-featchip--super .ace-featchip__star{color:#ffd7a8}.ace-onlinechip{position:absolute;z-index:28;transform:translate(-50%, -50%);border:0;padding:0;background:none;cursor:pointer;font:inherit;text-align:left;pointer-events:auto}.ace-onlinechip__x{display:inline-block;animation:aceOnlineX var(--ace-driftx-dur, 12s) ease-in-out var(--ace-drift-delay, 0s) infinite alternate}.ace-onlinechip .ace-fcard{position:relative;left:auto;top:auto;opacity:1;animation:aceOnlineY var(--ace-drifty-dur, 8s) ease-in-out var(--ace-drift-delay, 0s) infinite alternate;transition:box-shadow .15s ease,border-color .15s ease,background .2s ease}.ace-onlinechip:hover .ace-onlinechip__x,.ace-onlinechip:hover .ace-fcard,.ace-onlinechip:focus-visible .ace-onlinechip__x,.ace-onlinechip:focus-visible .ace-fcard{animation-play-state:paused}.ace-onlinechip:hover .ace-fcard{border-color:var(--ace-orange);background:rgba(20,18,15,.82)}@media(max-width: 640px){.ace-onlinechip .ace-fcard,.ace-onlinechip .ace-fcard--super{width:200px}}@keyframes aceOnlineX{from{transform:translateX(-30px)}to{transform:translateX(30px)}}@keyframes aceOnlineY{from{transform:translateY(-16px)}to{transform:translateY(18px)}}@media(prefers-reduced-motion: reduce){.ace-onlinechip__x,.ace-onlinechip .ace-fcard{animation:none}}.ace-pincard{position:absolute;z-index:5;transform:translate(20px, -50%);width:212px;display:flex;gap:.55rem;padding:.5rem;border-radius:12px;border:1px solid rgba(255,122,24,.42);background:rgba(16,14,11,.9);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);box-shadow:0 14px 34px rgba(0,0,0,.5);color:var(--ace-ink);cursor:pointer}.ace-pincard::before{content:"";position:absolute;left:-7px;top:50%;transform:translateY(-50%);border:7px solid rgba(0,0,0,0);border-right-color:rgba(16,14,11,.9)}.ace-pincard:hover{border-color:var(--ace-orange)}.ace-pincard__img{flex:0 0 54px;width:54px;height:54px;border-radius:8px;background-size:cover;background-position:center;background-color:#2a241c}.ace-pincard__body{display:flex;flex-direction:column;gap:.1rem;min-width:0;justify-content:center}.ace-pincard__title{font-weight:700;font-size:.9rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ace-app__bar{box-sizing:border-box;position:absolute;z-index:30;left:var(--ace-edge);top:calc(50% + var(--ace-intro-shift));transform:translateY(-50%);width:min(420px,100% - 2*var(--ace-edge));display:flex;flex-direction:column;gap:.65rem;align-items:flex-start;padding:1.05rem;border-radius:14px;background:rgba(0,0,0,0);border:0;box-shadow:none;isolation:isolate;--ace-control-h:48px;transition:top .55s ease-in-out .18s,left .55s ease-in-out .18s,transform .55s ease-in-out .18s,width .55s ease-in-out .18s,padding .45s ease .18s,border-radius .45s ease .18s,opacity .42s ease}.ace-app__bar::before{content:none}.ace-app__bar::after{content:"";position:absolute;z-index:0;left:-24px;right:-24px;top:calc((var(--ace-header-offset) + 24px)*-1);height:calc(var(--ace-header-offset) + 84px);background:linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.05) 48%, rgba(255, 255, 255, 0));-webkit-backdrop-filter:blur(8px) saturate(130%);backdrop-filter:blur(8px) saturate(130%);opacity:0;transform:translateY(-115%) scale(1.02);-webkit-mask-image:linear-gradient(180deg, transparent, #000 12%, rgba(0, 0, 0, 0.8) 70%, transparent 100%);mask-image:linear-gradient(180deg, transparent, #000 12%, rgba(0, 0, 0, 0.8) 70%, transparent 100%);transition:opacity .32s ease .18s,transform .55s ease}.ace-app__bar-glass{position:absolute !important;z-index:0 !important;inset:-30px;overflow:hidden;border-radius:30px;pointer-events:none;opacity:1;mix-blend-mode:normal;background:rgba(5,4,3,.24);-webkit-backdrop-filter:blur(10px) saturate(130%) brightness(0.82);backdrop-filter:blur(10px) saturate(130%) brightness(0.82);box-shadow:0 24px 70px rgba(0,0,0,.24);-webkit-mask-image:radial-gradient(122% 120% at 50% 50%, #000 50%, rgba(0, 0, 0, 0.8) 68%, rgba(0, 0, 0, 0.35) 84%, transparent 100%);mask-image:radial-gradient(122% 120% at 50% 50%, #000 50%, rgba(0, 0, 0, 0.8) 68%, rgba(0, 0, 0, 0.35) 84%, transparent 100%);transition:opacity .42s ease,filter .52s ease,transform .52s ease}.ace-app__bar-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(5,4,3,.32)}.ace-app__bar-glass::after{content:"";position:absolute;inset:-18px;border-radius:inherit;background:rgba(5,4,3,.2);filter:blur(14px);opacity:.6}.ace-app__bar>*:not(.ace-app__bar-glass){position:relative;z-index:2}.ace-app.is-intro.is-intro-sequencing:not(.is-controls-ready) .ace-app__bar{opacity:0;transform:translateY(calc(-50% + 18px)) scale(0.98);pointer-events:none}.ace-app.is-intro.is-intro-sequencing.is-controls-ready .ace-app__bar{opacity:1;transform:translateY(-50%) scale(1)}.ace-app.is-active .ace-app__bar{top:var(--ace-header-offset);left:0;right:0;transform:none;width:auto;min-height:0;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:0;background:linear-gradient(180deg, rgba(18, 16, 13, 0.8), rgba(18, 16, 13, 0.64));-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);box-shadow:0 6px 24px rgba(0,0,0,.4);--ace-control-h:44px;transition:none;animation:ace-bar-in .62s cubic-bezier(0.16, 1, 0.3, 1) both}.ace-app.is-active .ace-app__bar>*{min-width:0}.ace-app.is-active .ace-app__bar .ace-loc{flex:1 1 200px;min-width:120px}.ace-app.is-active .ace-app__bar .ace-dd{flex:0 1 auto;min-width:0}.ace-app.is-active .ace-app__bar .ace-filters{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;flex:0 1 auto;min-width:0;margin:0}@keyframes ace-bar-in{from{transform:translateY(calc(-100% - var(--ace-header-offset) - 24px));opacity:0}to{transform:translateY(0);opacity:1}}.ace-app.is-active .ace-app__bar-glass{opacity:0;filter:blur(24px);transform:scale(1.05)}.ace-app.is-active .ace-app__bar::after{opacity:0}.ace-app__bar .ace-loc{flex:0 0 auto;width:100%;max-width:440px;height:var(--ace-control-h);margin:0 auto}.ace-app.is-active .ace-app__bar .ace-loc{flex:1 1 200px;max-width:300px;width:auto;height:var(--ace-control-h);margin:0}.ace-app__bar .ace-loc{position:relative;display:flex;align-items:center;gap:.4rem;padding:0 .7rem;background:rgba(0,0,0,.38);border:1px solid hsla(0,0%,100%,.28);border-radius:9px;box-sizing:border-box}.ace-app__bar .ace-loc:focus-within{border-color:var(--ace-orange)}.ace-app__bar .ace-loc>.dashicons{position:static;transform:none;width:1.2rem;height:auto;flex:0 0 auto;opacity:.7;color:#fff}.ace-app__bar .ace-loc-search{flex:1 1 auto;min-width:0;width:auto;background:rgba(0,0,0,0);border:0;color:#fff;height:100%;padding:0;font-size:1rem;line-height:1.2}.ace-app__bar .ace-loc-search:focus{outline:0}.ace-app__bar .ace-loc-clear{position:static;transform:none;flex:0 0 auto;color:#fff}.ace-app.is-active .ace-app__bar .ace-loc-search{font-size:.95rem}.ace-app__bar .ace-loc>.dashicons{color:var(--ace-orange);opacity:1}.ace-app__bar .ace-filters{gap:.45rem;justify-content:center}.ace-app.is-intro .ace-app__bar{align-items:stretch;gap:.55rem;padding:1.1rem;--ace-control-h:42px}.ace-app.is-intro .ace-app__bar .ace-loc{max-width:none;margin:0}.ace-app.is-intro .ace-app__bar .ace-filters{box-sizing:border-box;display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:.45rem;width:100%;max-width:100%}.ace-app.is-intro .ace-app__bar .ace-filters .ace-dd{box-sizing:border-box;width:100%;min-width:0}.ace-app.is-intro .ace-app__bar .ace-filters input[type=date]{width:100%;box-sizing:border-box}.ace-app.is-intro .ace-app__explore{width:100%;height:var(--ace-control-h);margin-top:.1rem}.ace-app.is-active .ace-app__bar .ace-filters{flex:4 1 auto;width:auto;flex-wrap:nowrap;justify-content:stretch;align-items:center;gap:.5rem}.ace-app.is-active .ace-app__bar .ace-filters .ace-dd,.ace-app.is-active .ace-app__bar .ace-filters input[type=date]{flex:1 1 auto;min-width:0}.ace-app__bar .ace-dd__btn,.ace-app__bar .ace-f-search,.ace-app__bar input[type=date],.ace-app__bar .ace-loc,.ace-app__bar .ace-app__route-btn,.ace-app__bar .ace-app__close{box-sizing:border-box;height:var(--ace-control-h);min-height:var(--ace-control-h);max-width:100%}.ace-app__bar .ace-f-search,.ace-app__bar input[type=date]{padding:0 .7rem;border:1px solid var(--ace-line);background:hsla(0,0%,100%,.08);color:#fff;border-radius:8px;font-size:.9rem;line-height:1.2}.ace-app__bar .ace-dd__btn{background:hsla(0,0%,100%,.08);color:#fff;font-size:.9rem}.ace-app__bar .ace-app__close{width:var(--ace-control-h);padding:0;font-size:1.35rem;border-radius:8px;flex:0 0 auto}.ace-app__bar .ace-loc-search{font-size:.9rem}@media(max-width: 600px){.ace-app__route-btn--map .ace-app__route-btn-t{display:none}.ace-app__route-btn--map{width:42px;padding:0;justify-content:center}}.ace-app.is-intro .ace-app__bar .ace-dd__btn,.ace-app.is-intro .ace-app__bar .ace-f-search,.ace-app.is-intro .ace-app__bar input[type=date]{font-size:.82rem;padding:0 .55rem}.ace-app__bar .ace-dd__menu{background:rgba(14,12,9,.92)}.ace-app__bar .ace-dd.is-open{z-index:60}.ace-app__bar .ace-filters:has(.ace-dd.is-open){z-index:60}.ace-app__bar .ace-loc:has(.ace-loc-suggest:not([hidden])){z-index:60}.ace-app__bar .ace-f-search{flex:1 1 160px}.ace-app__bar .ace-f-search::placeholder{color:hsla(0,0%,100%,.7)}.ace-app__explore{height:50px;padding:0 1.2rem;border:0;border-radius:8px;background:var(--ace-orange);color:var(--ace-orange-ink);font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.ace-app__explore:hover{background:var(--ace-orange-2)}.ace-app.is-active .ace-app__explore{display:none}.ace-app__lead{text-align:center;transition:opacity .4s ease,max-height .55s ease,margin .55s ease;max-height:280px;overflow:hidden}.ace-app.is-active .ace-app__lead{display:none;opacity:0;max-height:0;margin:0;pointer-events:none}.ace-app__title{font-size:clamp(1.8rem,4.4vw,3rem);line-height:1.05;margin:0 0 .45rem;color:var(--ace-orange);font-weight:900}.ace-app__title strong{color:var(--ace-orange);font-weight:900}.ace-app__sub{font-size:1rem;line-height:1.35;color:var(--ace-ink);opacity:.9;margin:0 0 .4rem}.ace-app__hint{color:var(--ace-orange-2);font-size:.92rem;margin:.3rem 0 0}.ace-app__panel{position:absolute;top:calc(var(--ace-header-offset) + var(--ace-bar-height));bottom:0;left:0;z-index:25;width:min(380px,90%);background:rgba(0,0,0,0);border-right:0;box-shadow:none;transform:translateX(-106%);transition:transform .5s ease-in-out;overflow:hidden;isolation:isolate}.ace-app__panel::before{content:none}.ace-app.is-active .ace-app__panel{transform:translateX(0);transition-delay:.34s}.ace-app__list{position:absolute;z-index:1;inset:0;overflow-y:auto;padding:1rem}.ace-app__views{display:none;position:absolute;z-index:44;top:calc(var(--ace-header-offset) + var(--ace-bar-height) + .75rem);right:.85rem;align-items:center;gap:.5rem;padding:.3rem;border:1px solid hsla(0,0%,100%,.14);border-radius:12px;background:rgba(16,14,11,.88);-webkit-backdrop-filter:blur(16px) saturate(145%);backdrop-filter:blur(16px) saturate(145%);box-shadow:0 12px 34px rgba(0,0,0,.34)}.ace-app.is-active .ace-app__views{display:flex}.ace-app__viewset{display:flex;align-items:center;gap:.15rem}.ace-app__viewbtn,.ace-app__shareview{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:38px;padding:.45rem .7rem;border:0;border-radius:8px;background:rgba(0,0,0,0);color:hsla(0,0%,100%,.78);font:inherit;font-size:.82rem;font-weight:750;line-height:1;cursor:pointer;white-space:nowrap}.ace-app__viewbtn:hover,.ace-app__shareview:hover{background:hsla(0,0%,100%,.09);color:#fff}.ace-app__viewbtn.is-active{background:var(--ace-orange);color:var(--ace-orange-ink)}.ace-app__viewbtn .dashicons,.ace-app__shareview .dashicons{width:17px;height:17px;font-size:17px}.ace-app__shareview{border-left:1px solid hsla(0,0%,100%,.12);border-radius:0 8px 8px 0;color:var(--ace-orange-2)}.ace-app.is-active.is-view-list .ace-app__map{visibility:hidden}.ace-app.is-active.is-view-list .ace-app__panel{right:0;width:auto;background:radial-gradient(80% 70% at 85% 5%, rgba(255, 122, 24, 0.09), transparent 65%),var(--ace-bg)}.ace-app.is-active.is-view-list .ace-app__list{display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));align-content:start;gap:1rem;padding:4.75rem clamp(1rem,3vw,2.5rem) 2rem}.ace-app.is-active.is-view-list .ace-card--photo{margin:0}.ace-app__calendar{display:none;position:absolute;z-index:24;top:calc(var(--ace-header-offset) + var(--ace-bar-height));right:0;bottom:0;left:0;overflow:auto;padding:4.9rem clamp(1rem,3vw,2.5rem) 3rem;background:radial-gradient(70% 65% at 88% 0%, rgba(255, 122, 24, 0.1), transparent 66%),var(--ace-bg);color:var(--ace-ink)}.ace-app.is-active.is-view-calendar .ace-app__calendar{display:block}.ace-app.is-active.is-view-calendar .ace-app__map,.ace-app.is-active.is-view-calendar .ace-app__panel{visibility:hidden;pointer-events:none}.ace-calendar__month{max-width:1280px;margin:0 auto 2rem;padding:1rem;border:1px solid var(--ace-line);border-radius:16px;background:hsla(0,0%,100%,.025)}.ace-calendar__month h2{margin:0 0 .9rem;color:#fff;font-size:clamp(1.2rem,2.3vw,1.65rem)}.ace-calendar__weekdays,.ace-calendar__grid{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr))}.ace-calendar__weekdays{gap:1px;margin-bottom:.35rem;color:var(--ace-muted);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-align:center;text-transform:uppercase}.ace-calendar__grid{gap:1px;overflow:hidden;border:1px solid hsla(0,0%,100%,.1);border-radius:10px;background:hsla(0,0%,100%,.08)}.ace-calendar__day{min-height:116px;padding:.45rem;background:#17140f}.ace-calendar__day.is-empty{background:rgba(13,11,9,.55)}.ace-calendar__day>time{display:block;margin:0 0 .38rem;color:var(--ace-muted);font-size:.76rem;font-weight:800}.ace-calendar__day.has-events>time{color:var(--ace-orange-2)}.ace-calendar__event{display:block;overflow:hidden;margin:.22rem 0;padding:.3rem .38rem;border-radius:6px;background:rgba(255,122,24,.12);color:#f7f2ea;font-size:.72rem;font-weight:650;line-height:1.25;text-decoration:none;text-overflow:ellipsis}.ace-calendar__event:hover{background:var(--ace-orange);color:var(--ace-orange-ink)}.ace-calendar__event span{margin-right:.3rem;color:var(--ace-orange-2);font-size:.65rem;font-weight:800}.ace-calendar__event:hover span{color:inherit}.ace-calendar__more{display:block;margin:.3rem .35rem;color:var(--ace-muted);font-size:.68rem;font-weight:700}.ace-calendar__empty{max-width:720px;margin:2rem auto;padding:2rem;border:1px dashed var(--ace-line);border-radius:14px;text-align:center;color:var(--ace-muted)}.ace-app.is-active:not(.is-view-map) .ace-app__mapctrls{display:none}.ace-app__detail{position:absolute;top:calc(var(--ace-header-offset) + var(--ace-bar-height));right:0;bottom:0;z-index:28;width:min(400px,92%);background:linear-gradient(180deg, rgba(16, 13, 10, 0.6), rgba(9, 8, 6, 0.7));-webkit-backdrop-filter:blur(12px) saturate(135%);backdrop-filter:blur(12px) saturate(135%);border-left:1px solid hsla(0,0%,100%,.13);box-shadow:-10px 0 40px rgba(0,0,0,.5);color:var(--ace-ink);transform:translateX(106%);transition:transform .5s ease-in-out;overflow-y:auto;isolation:isolate}.ace-app__detail::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;box-shadow:inset 1px 0 0 hsla(0,0%,100%,.08)}.ace-app.is-detail .ace-app__detail{transform:translateX(0);transition-delay:.48s}.ace-app__detail-close{position:absolute;top:.7rem;right:.7rem;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.ace-app__detail-close:hover{background:var(--ace-orange);color:var(--ace-orange-ink)}.ace-app__flyer{position:relative;z-index:1;height:260px;background-size:cover;background-position:center;background-color:#2a241c}.ace-app__flyer--empty{display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 0%, rgba(255, 122, 24, 0.22), transparent 60%),#1c1813}.ace-app__flyer--empty .dashicons{font-size:3rem;width:auto;height:auto;color:rgba(255,122,24,.6)}.ace-app__detail-body{position:relative;z-index:1;padding:1.2rem 1.4rem 1.8rem;display:flex;flex-direction:column;gap:1.2rem}@media(min-width: 1200px){.ace-app__detail{width:min(600px,46vw)}.ace-app__flyer{height:340px}.ace-app__detail-body{padding:1.6rem 1.9rem 2.2rem}.ace-app__detail-title{font-size:1.7rem}.ace-app__detail-ex{font-size:1.02rem;line-height:1.6}}@media(min-width: 1500px){.ace-app__detail{width:min(980px,64vw)}.ace-app__flyer{height:360px}.ace-app__detail-body{display:grid;grid-template-columns:minmax(0, 1.12fr) minmax(0, 0.88fr);gap:1.4rem;align-items:start}.ace-app__detail-interact{background:hsla(0,0%,100%,.045);border:1px solid var(--ace-line);border-radius:14px;padding:1.2rem 1.3rem}}@media(min-width: 1920px){.ace-app__detail{width:min(1120px,60vw)}}@media(min-width: 2400px){.ace-app__detail{width:min(1240px,54vw)}}.ace-app__interact-h{margin:0 0 .85rem;font-size:1.05rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:.4rem}.ace-app__interact-h::before{content:"";width:3px;height:1.05em;border-radius:2px;background:var(--ace-orange)}@media(min-width: 1100px){.ace-app.is-detail .ace-app__panel,.ace-app.is-routing .ace-app__panel{overflow:visible;pointer-events:none;clip-path:inset(0 -100vw 0 0)}.ace-app.is-detail .ace-app__list,.ace-app.is-routing .ace-app__list{overflow:visible;padding:.85rem 0}.ace-app.is-detail .ace-app__list .ace-card,.ace-app.is-routing .ace-app__list .ace-card{pointer-events:auto;transform-origin:left center;transition:transform .12s ease-out;box-shadow:0 12px 34px rgba(0,0,0,.55)}}body.single-events main,body.single-locations main,body.post-type-archive-locations main{margin:0 !important;padding:0 !important}.ace-venues-below{padding:2.6rem clamp(1rem,4vw,2.5rem) 3.4rem}.ace-venues-below>h1{font-size:clamp(1.7rem,3.5vw,2.6rem);margin:0 0 .6rem;color:var(--wp--preset--color--contrast, #f5f2ea)}.ace-venues-below .ace-archive-intro{max-width:60ch;opacity:.9;margin:0 0 1.6rem}.ace-app.is-focus-load .ace-app__bar{animation:none !important}.ace-app.is-focus-load .ace-app__panel,.ace-app.is-focus-load .ace-app__detail{transition:none}.ace-app__scrollcue{position:absolute;z-index:42;left:50%;bottom:5.2rem;transform:translateX(-50%);display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border:1px solid rgba(255,122,24,.5);border-radius:22px;background:rgba(14,12,9,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ace-ink);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.45);animation:ace-cue-bob 1.8s ease-in-out infinite;transition:opacity .3s ease,visibility .3s}.ace-app__scrollcue .dashicons{color:var(--ace-orange);font-size:1.1rem;width:auto;height:auto}.ace-app__scrollcue:hover{border-color:var(--ace-orange);color:var(--ace-orange-2)}.ace-app__scrollcue.is-gone{opacity:0;visibility:hidden;pointer-events:none}@keyframes ace-cue-bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(5px)}}.ace-single-fallback{max-width:1340px;margin:0 auto;padding:2rem clamp(1rem,4vw,2.5rem) 3rem}.ace-single-fallback .wp-block-post-title{font-size:clamp(1.7rem,3.5vw,2.6rem);margin:0 0 1rem}.ace-app__detail-title{margin:.35rem 0 .6rem;font-size:1.5rem;line-height:1.2;color:#fff}.ace-app__detail-loc{display:flex;align-items:flex-start;gap:.4rem;color:var(--ace-muted);margin:0 0 .7rem}.ace-app__detail-loc .dashicons{color:var(--ace-orange);flex:0 0 auto;margin-top:.1rem}.ace-app__detail-cats{margin:0 0 .8rem}.ace-app__detail-ex{color:var(--ace-ink);opacity:.92;margin:0 0 1.2rem}.ace-app__detail-main{display:flex;flex-direction:column}.ace-app__detail-interact{min-width:0}.ace-app__detail-interact .ace-event-social{margin:0;padding:0;border:0;background:rgba(0,0,0,0)}.ace-app__detail-social:empty{display:none}.ace-app__detail-fullbody{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.1rem;min-width:0}.ace-app__detail-fullbody>.ace-empty{opacity:.7}.ace-app__detail-fullbody .ace-event-desc,.ace-b-modal__full .ace-event-desc{color:var(--ace-ink);opacity:.92;line-height:1.6}.ace-app__detail-fullbody .ace-event-desc p,.ace-b-modal__full .ace-event-desc p{margin:0 0 .8rem}.ace-app__detail-fullbody .ace-event-detail,.ace-b-modal__full .ace-event-detail{margin:0;padding:0;border:0;background:rgba(0,0,0,0)}.ace-app__detail-fullbody .ace-event-detail>h2,.ace-app__detail-fullbody .ace-event-more h2,.ace-b-modal__full .ace-event-detail>h2,.ace-b-modal__full .ace-event-more h2{font-size:1.05rem;margin:.2rem 0 .55rem;color:#fff}.ace-loc-tbc{opacity:.72;font-style:italic}.ace-app__detail-fullbody .ace-detail-list,.ace-b-modal__full .ace-detail-list{list-style:none;margin:0 0 .4rem;padding:0;display:flex;flex-direction:column;gap:.45rem}.ace-app__detail-fullbody .ace-detail-list li,.ace-b-modal__full .ace-detail-list li{display:flex;align-items:flex-start;gap:.45rem;color:var(--ace-ink)}.ace-app__detail-fullbody .ace-detail-list .dashicons,.ace-b-modal__full .ace-detail-list .dashicons{color:var(--ace-orange);flex:0 0 auto;margin-top:.1rem}.ace-app__detail-fullbody .ace-minimap,.ace-b-modal__full .ace-minimap{height:170px;border-radius:12px;margin-top:.2rem}.ace-app__detail-fullbody .ace-event-more,.ace-b-modal__full .ace-event-more{margin-top:.4rem}.ace-app__detail-fullbody .ace-event-more .ace-grid,.ace-b-modal__full .ace-event-more .ace-grid{grid-template-columns:1fr 1fr;gap:.7rem}.ace-app__detail-fullbody .ace-event-more:last-child,.ace-b-modal__full .ace-event-more:last-child{margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--ace-line);order:99}.ace-app__detail-fullbody .ace-event-more:last-child h2,.ace-b-modal__full .ace-event-more:last-child h2{font-size:.9rem;opacity:.8;text-transform:uppercase;letter-spacing:.03em}.ace-app__detail-fullbody .ace-event-more:last-child .ace-grid,.ace-b-modal__full .ace-event-more:last-child .ace-grid{grid-template-columns:1fr 1fr;gap:.6rem}.ace-app__detail-socrow{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.ace-app__detail-going{display:inline-flex;align-items:center;gap:.35rem;font-weight:700}.ace-app__detail-going .dashicons{color:var(--ace-orange);font-size:1.1rem;width:auto;height:auto}.ace-app__detail-rating{display:inline-flex;align-items:center;gap:.35rem;color:var(--ace-muted);font-size:.9rem}.ace-app__detail-rating .ace-star{color:hsla(0,0%,100%,.22)}.ace-app__detail-rating .ace-star.is-on{color:var(--ace-orange)}.ace-app__detail-attend{margin-left:auto;padding:.45rem 1rem;border:1px solid rgba(255,122,24,.55);border-radius:9px;background:rgba(0,0,0,0);color:var(--ace-orange-2);font:inherit;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.ace-app__detail-attend:hover{background:rgba(255,122,24,.16)}.ace-app__detail-attend.is-going{background:var(--ace-orange);border-color:var(--ace-orange);color:var(--ace-orange-ink)}.ace-app__detail-jump{margin-top:.6rem;width:100%;padding:.55rem;border:0;border-radius:8px;background:hsla(0,0%,100%,.07);color:var(--ace-orange-2);font:inherit;font-weight:700;cursor:pointer;transition:background .15s ease}.ace-app__detail-jump:hover{background:rgba(255,122,24,.16)}.ace-share{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.9rem 0}.ace-share__label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--ace-muted);margin-right:.15rem}.ace-share__btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--ace-line);background:var(--ace-surface-2);color:var(--ace-ink);cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.ace-share__btn:hover{background:var(--ace-orange);color:var(--ace-orange-ink);border-color:var(--ace-orange)}.ace-share__btn .dashicons{font-size:1.15rem;width:auto;height:auto}.ace-share__copy.is-copied{background:var(--ace-orange);color:var(--ace-orange-ink);border-color:var(--ace-orange)}.ace-share__copy.is-copied::after{content:"Copied";position:absolute;transform:translateY(-32px);font-size:.7rem;background:var(--ace-orange);color:var(--ace-orange-ink);padding:.1rem .4rem;border-radius:4px;white-space:nowrap}.ace-share__copy{position:relative}.ace-app__detail-actions{display:flex;flex-direction:column;gap:.6rem}.ace-app__detail-view{color:var(--ace-orange-2);font-weight:700;text-decoration:none}.ace-app__detail-view:hover{text-decoration:underline}.ace-app__teaser{position:absolute;z-index:26;right:clamp(1rem,3vw,2.5rem);top:calc(50% + var(--ace-intro-shift));transform:translateY(-50%);width:min(320px,40%);display:flex;flex-direction:column;gap:.6rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility .4s,transform .5s ease}.ace-app__teaser.is-shown{opacity:1;visibility:visible;pointer-events:auto}.ace-app.is-active .ace-app__teaser{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-50%) translateX(24px)}.ace-teaser-card{display:flex;gap:.65rem;align-items:stretch;width:100%;text-align:left;cursor:pointer;border:1px solid hsla(0,0%,100%,.18);border-radius:12px;padding:.5rem;color:var(--ace-ink);background:rgba(20,18,15,.55);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 12px 30px rgba(0,0,0,.35);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.ace-teaser-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.45);border-color:rgba(255,122,24,.5)}.ace-teaser-card__img{flex:0 0 64px;width:64px;height:64px;border-radius:8px;background-size:cover;background-position:center;background-color:#2a241c}.ace-teaser-card__img--empty{display:flex;align-items:center;justify-content:center}.ace-teaser-card__img--empty .dashicons{color:rgba(255,122,24,.7)}.ace-teaser-card__body{display:flex;flex-direction:column;gap:.15rem;min-width:0;justify-content:center}.ace-teaser-card__title{font-weight:700;font-size:.95rem;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ace-card--photo{display:block;position:relative;height:210px;border:1px solid var(--ace-line);border-radius:12px;overflow:hidden;background-size:cover;background-position:center;background-color:#2a241c;color:#fff;cursor:pointer;margin-bottom:1.1rem;box-shadow:0 14px 30px -10px rgba(0,0,0,.72);transition:box-shadow .2s,transform .2s,background-size .35s}.ace-card--photo:hover{box-shadow:0 20px 40px -10px rgba(0,0,0,.8);transform:translateY(-2px)}.ace-card--photo:hover{background-size:112%}.ace-card--photo.activeProperty{box-shadow:0 0 0 3px var(--ace-orange),0 0 0 6px rgba(255,122,24,.3)}.ace-card--photo .ace-card__grad{position:absolute;inset:0;background:linear-gradient(-180deg, rgba(20, 18, 15, 0.05) 25%, rgba(12, 10, 7, 0.92) 100%)}.ace-card--photo .ace-card__body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1rem;text-shadow:0 2px 6px rgba(0,0,0,.7)}.ace-card--photo .ace-card__date{color:var(--ace-orange-2)}.ace-card--photo .ace-card__title{color:#fff}.ace-card--photo .ace-card__loc{color:hsla(0,0%,100%,.85)}.ace-card--photo .ace-chip{background:hsla(0,0%,100%,.2)}.ace-card--photo .ace-card__detail{color:#fff;border-top-color:hsla(0,0%,100%,.25)}.ace-card--photo .ace-card__link,.ace-card--photo .ace-card__tickets{color:var(--ace-orange-2);border-bottom:1px solid rgba(255,154,69,.6)}.ace-iw{font:inherit;line-height:1.45;max-width:220px;color:#17130d}.ace-event-detail{margin:2rem 0;padding:1.4rem 1.5rem;border:1px solid var(--ace-line);border-radius:14px;background:var(--ace-surface);color:var(--ace-ink)}.ace-event-detail h2{margin:.2rem 0 1rem;font-size:1.3rem}.ace-event-flyer{margin:0 0 1.3rem}.ace-event-flyer__img{width:100%;height:auto;border-radius:12px;display:block}.ace-single-event{min-height:100%;color:var(--ace-ink);background:var(--ace-bg);padding-bottom:clamp(2rem,5vw,5rem)}.ace-single-event__cover{position:relative;overflow:hidden;padding:clamp(1.25rem,4vw,3.75rem) clamp(1rem,5vw,4.5rem);background:radial-gradient(circle at 85% 0, rgba(255, 122, 24, 0.24), transparent 38%),linear-gradient(135deg, #15110d, #282019);border-bottom:1px solid var(--ace-line)}.ace-single-event__backs{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1.1rem;margin-bottom:clamp(1.5rem,4vw,3.5rem)}.ace-single-event__back{display:inline-flex;align-items:center;gap:.4rem;color:var(--ace-orange-2);font-weight:800;text-decoration:none}.ace-single-event__back:hover{text-decoration:underline;text-underline-offset:.2em}.ace-single-event__date{margin:0 0 .55rem;color:var(--ace-orange-2);font-weight:800;text-transform:uppercase;letter-spacing:.045em}.ace-single-event__cover h1{max-width:18ch;margin:0;color:#fff;font-size:clamp(2.15rem,6vw,5rem);line-height:.98;letter-spacing:-0.045em}.ace-single-event{container:ace-event/inline-size}.ace-single-event__cover h1{font-size:clamp(1.9rem,7.2cqi,5rem);overflow-wrap:anywhere;text-wrap:balance}.ace-single-event--covered{position:relative;isolation:isolate}.ace-single-event--covered .ace-single-event__cover{z-index:1;overflow:visible;background:none;border-bottom:0;padding-bottom:clamp(1rem,2.5vh,1.75rem)}.ace-single-event--covered .ace-single-event__backs{margin-bottom:clamp(4rem,14vh,9rem)}.ace-single-event--covered .ace-single-event__back{padding:.28rem .7rem;border-radius:999px;background:color-mix(in srgb, #000 46%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ace-single-event--covered .ace-single-event__cover h1,.ace-single-event--covered .ace-single-event__date,.ace-single-event--covered .ace-single-event__place{text-shadow:0 2px 22px rgba(0,0,0,.55)}.ace-single-event--covered .ace-single-event__grid{position:relative;z-index:1}@media(max-width: 640px){.ace-single-event--covered .ace-single-event__backs{margin-bottom:clamp(3rem,11vh,6rem)}}@media(min-width: 901px){.ace-single-event--covered{--ev-pad:clamp(1rem,4vw,3.5rem);display:grid;grid-template-columns:[full-start] minmax(var(--ev-pad), 1fr) [left-start] minmax(0, 900px) [left-end right-start] clamp(340px,36%,480px) [right-end] minmax(var(--ev-pad), 1fr) [full-end];align-items:start;grid-template-rows:auto auto auto auto auto 1fr auto}.ace-single-event--covered>.ace-cover{grid-column:full}.ace-single-event--covered>*:not(.ace-cover){grid-column:left-start/right-end;position:relative;z-index:1}.ace-single-event--covered .ace-single-event__cover,.ace-single-event--covered .ace-single-event__grid{display:contents}.ace-single-event--covered .ace-single-event__backs{grid-column:left-start/right-end;grid-row:2;position:relative;z-index:1;margin-top:clamp(1.25rem,3vw,2.5rem)}.ace-single-event--covered .ace-single-event__date{grid-column:left;grid-row:3;position:relative;z-index:1}.ace-single-event--covered .ace-single-event__cover h1{grid-column:left;grid-row:4;position:relative;z-index:1;max-width:none;font-size:clamp(1.9rem,4.9cqi,4.1rem)}.ace-single-event--covered .ace-single-event__place{grid-column:left;grid-row:5;position:relative;z-index:1}.ace-single-event--covered .ace-single-event__story{grid-column:left;grid-row:6;position:relative;z-index:1;margin-top:clamp(1.5rem,4vw,3rem)}.ace-single-event--covered .ace-single-event__side{grid-column:right;grid-row:3/7;position:relative;z-index:1;padding-left:clamp(1.5rem,4vw,4rem)}.ace-single-event--covered .ace-single-event__more{grid-column:left-start/right-end;grid-row:7;position:relative;z-index:1;margin-top:clamp(1.5rem,4vw,3rem)}}.ace-single-event__place{display:flex;align-items:center;gap:.45rem;margin:1rem 0 0;color:hsla(0,0%,100%,.78);font-weight:650}.ace-single-event__place .dashicons{color:var(--ace-orange-2)}.ace-single-event__grid{display:grid;grid-template-columns:minmax(0, 1.45fr) minmax(320px, 0.75fr);gap:clamp(1.5rem,4vw,4rem);align-items:start;max-width:1440px;margin:0 auto;padding:clamp(1.2rem,4vw,3.5rem) clamp(1rem,4vw,3.5rem)}.ace-single-event__story{min-width:0}.ace-single-event__description{font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.72}.ace-single-event__description>:first-child{margin-top:0}.ace-single-event__side{min-width:0;align-self:stretch}.ace-single-event__side .ace-event-detail{position:sticky;top:1rem;margin:0;padding:0;border:0;background:rgba(0,0,0,0)}.ace-single-event__side .ace-event-flyer{margin:0 0 1.5rem;background:var(--ace-surface);border:1px solid var(--ace-line);border-radius:16px;overflow:hidden}.ace-single-event__side .ace-event-flyer__img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}.ace-single-event__more{grid-column:1/-1;min-width:0;padding-top:1rem;border-top:1px solid var(--ace-line)}.ace-single-event__more>.ace-event-more{margin-top:2.5rem}.ace-event-mapcard{position:relative;margin:1.3rem 0 0}.ace-event-mapcard h2{margin:0 0 .65rem}.ace-event-mapcard .ace-minimap{height:230px;margin:0;border:1px solid var(--ace-line);border-radius:14px;pointer-events:none;overflow:hidden}.ace-event-mapcard__link{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.55rem;padding:.65rem .8rem;border:1px solid var(--ace-line);border-radius:10px;color:var(--ace-orange-2);font-weight:750;text-decoration:none;background:var(--ace-surface-2)}.ace-event-mapcard__link:hover{border-color:var(--ace-orange)}@media(max-width: 900px){.ace-single-event__grid{grid-template-columns:1fr}.ace-single-event__side .ace-event-detail{position:static}.ace-single-event__more{grid-column:1}.ace-single-event__cover h1{max-width:22ch}}.ace-detail-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.55rem}.ace-detail-list li{display:flex;align-items:flex-start;gap:.6rem}.ace-detail-list .dashicons{color:var(--ace-orange);flex:0 0 auto;margin-top:.15rem}.ace-detail-list a{color:var(--ace-orange-2);text-decoration:none}.ace-detail-list a:hover{text-decoration:underline}.ace-wx{display:flex;align-items:center;gap:.6rem;margin:.1rem 0 1rem;padding:.55rem .75rem;border:1px solid var(--ace-line);border-radius:12px;background:var(--ace-surface-2)}.ace-wx__ico{font-size:1.5rem;line-height:1;flex:0 0 auto}.ace-wx__body{display:flex;flex-direction:column;line-height:1.15;min-width:0}.ace-wx__t{font-weight:700;font-size:1rem}.ace-wx__lo{opacity:.55;font-weight:400}.ace-wx__d{font-size:.78rem;opacity:.7}.ace-wx__src{margin-left:auto;align-self:flex-start;font-size:.68rem;opacity:.5;text-decoration:none;color:inherit;white-space:nowrap}.ace-wx__src:hover{opacity:.85;text-decoration:underline}.ace-app__detail-fullbody .ace-wx,.ace-b-modal__full .ace-wx{margin:.1rem 0 .7rem;background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.14);color:#fff}.ace-btn{display:inline-block;padding:.8rem 1.5rem;border-radius:10px;font-weight:700;text-decoration:none}.ace-btn--tickets{background:var(--ace-orange);color:var(--ace-orange-ink)}.ace-btn--tickets:hover{background:var(--ace-orange-2)}.ace-tickets{margin:.85rem 0 1.1rem}.ace-btn--hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;box-sizing:border-box;padding:1rem 1.1rem;border-radius:14px;font-size:1.08rem;letter-spacing:.01em;color:var(--ace-orange-ink) !important;background:linear-gradient(115deg, var(--ace-orange) 0%, var(--ace-orange-2) 55%, #ffd27a 100%);box-shadow:0 10px 26px -12px var(--ace-orange),inset 0 1px 0 hsla(0,0%,100%,.35);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.ace-btn--hero::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.45) 50%, transparent 65%);transform:translateX(-120%);transition:transform .6s ease;pointer-events:none}.ace-btn--hero:hover,.ace-btn--hero:focus-visible{transform:translateY(-2px);box-shadow:0 16px 32px -12px var(--ace-orange),inset 0 1px 0 hsla(0,0%,100%,.45);filter:saturate(1.08)}.ace-btn--hero:hover::after,.ace-btn--hero:focus-visible::after{transform:translateX(120%)}.ace-btn--hero:active{transform:translateY(0)}.ace-tickets button.ace-btn.ace-btn--checkin{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:1rem 1.1rem;border-radius:14px;font-size:1.08rem;font-weight:700;line-height:inherit;border:0;cursor:pointer;font-family:inherit;color:#fff !important;background:linear-gradient(115deg, #6d3bd1 0%, #9b5cf6 55%, #d08cff 100%);box-shadow:0 10px 26px -12px #8b4df0,inset 0 1px 0 hsla(0,0%,100%,.3)}.ace-tickets button.ace-btn.ace-btn--checkin:hover,.ace-tickets button.ace-btn.ace-btn--checkin:focus-visible{box-shadow:0 16px 32px -12px #8b4df0,inset 0 1px 0 hsla(0,0%,100%,.4)}.ace-tickets[hidden]{display:none !important}.ace-kit__share{display:flex;gap:.4rem;margin-top:.6rem}.ace-kit__share input{flex:1;min-width:0;padding:.5rem .65rem;border:1px solid var(--ace-line);border-radius:10px;background:var(--ace-surface-2);color:var(--ace-ink);font:inherit;font-size:.8rem;text-overflow:ellipsis;cursor:copy}.ace-kit__share input:focus-visible{outline:2px solid var(--ace-orange-2);outline-offset:1px}.ace-kit .ace-kit__share button{flex:none;padding:.5rem .8rem;border:1px solid var(--ace-line);border-radius:10px;background:var(--ace-surface-2);color:var(--ace-orange);font:inherit;font-size:.8rem;font-weight:750;cursor:pointer}.ace-kit .ace-kit__share button:hover{border-color:var(--ace-orange)}.ace-kit__copied{margin:.35rem 0 0;min-height:1.1em;color:var(--ace-orange);font-size:.76rem}.ace-btn__label{font-weight:800}.ace-btn__price{padding:.18rem .6rem;border-radius:999px;background:rgba(0,0,0,.16);font-size:.86rem;font-weight:750;white-space:nowrap}.ace-btn__arrow{font-weight:800;transition:transform .18s ease}.ace-btn--hero:hover .ace-btn__arrow,.ace-btn--hero:focus-visible .ace-btn__arrow{transform:translateX(4px)}@media(prefers-reduced-motion: reduce){.ace-btn--hero,.ace-btn--hero::after,.ace-btn__arrow{transition:none}.ace-btn--hero:hover,.ace-btn--hero:focus-visible{transform:none}.ace-btn--hero::after{display:none}}.ace-btn--cal,.ace-btn--kit{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;box-sizing:border-box;padding:.65rem .8rem;border:1px solid var(--ace-line);border-radius:10px;background:var(--ace-surface-2);color:var(--ace-orange-2) !important;font:inherit;font-weight:750;line-height:1.3;text-decoration:none;cursor:pointer}.ace-btn--cal:hover,.ace-btn--kit:hover{border-color:var(--ace-orange)}.ace-btn--kit:disabled{opacity:.7;cursor:progress}.ace-kit{margin:1rem 0 0;padding:1rem;border:1px solid var(--ace-line);border-radius:14px;background:var(--ace-surface)}.ace-kit h2{margin:0 0 .35rem;font-size:1.05rem}.ace-kit__hint{margin:0 0 .8rem;color:var(--ace-muted, #b9b0a0);font-size:.82rem;line-height:1.45}.ace-kit__toggle{position:relative;display:grid;grid-template-columns:repeat(3, 1fr);gap:0;margin:0 0 .7rem;padding:3px;border:1px solid var(--ace-line);border-radius:999px;background:var(--ace-surface-2)}.ace-kit__option{position:relative;margin:0;cursor:pointer}.ace-kit__option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.ace-kit__option span{display:block;padding:.45rem .3rem;border-radius:999px;color:var(--ace-muted, #b9b0a0);font-size:.8rem;font-weight:750;line-height:1.2;text-align:center;white-space:nowrap;transition:background .15s ease,color .15s ease}.ace-kit__option:hover span{color:var(--ace-ink)}.ace-kit__toggle::before{content:"";position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px)/3);border-radius:999px;background:var(--ace-orange);transition:transform .32s cubic-bezier(0.3, 1.35, 0.5, 1)}.ace-kit__toggle:has(.ace-kit__option:nth-child(2) input:checked)::before{transform:translateX(100%)}.ace-kit__toggle:has(.ace-kit__option:nth-child(3) input:checked)::before{transform:translateX(200%)}.ace-kit__option span{position:relative;z-index:1}.ace-kit__option input:checked+span{color:var(--ace-orange-ink)}@supports not selector(:has(*)){.ace-kit__toggle::before{display:none}.ace-kit__option input:checked+span{background:var(--ace-orange)}}@media(prefers-reduced-motion: reduce){.ace-kit__toggle::before{transition:none}}.ace-kit__option input:focus-visible+span{outline:2px solid var(--ace-orange-2);outline-offset:2px}.ace-btn--cal .dashicons{font-size:1.05rem;width:auto;height:auto}a.ace-metapill--perf:hover{border-color:var(--ace-orange);color:var(--ace-orange-2)}.ace-socials{display:flex;gap:.5rem;margin:.4rem 0 1rem}.ace-social{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--ace-surface-2);border:1px solid var(--ace-line);color:var(--ace-ink);transition:background .15s,color .15s}.ace-social:hover{background:var(--ace-orange);color:var(--ace-orange-ink)}.ace-series-dates{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.7rem 0}.ace-series-dates__label{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--ace-muted);margin-right:.15rem}.ace-datechip{display:inline-flex;align-items:center;padding:.3rem .65rem;border:1px solid var(--ace-line);border-radius:16px;background:rgba(0,0,0,0);color:var(--ace-ink);font:inherit;font-size:.78rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.ace-datechip:hover{border-color:var(--ace-orange);color:var(--ace-orange-2)}.ace-datechip.is-current{background:var(--ace-orange);border-color:var(--ace-orange);color:var(--ace-orange-ink);font-weight:700;cursor:default}.ace-minimap{height:280px;border-radius:12px;overflow:hidden;margin-top:1rem;background:#2c2c2e}.ace-minimap--large{height:clamp(320px,52vh,480px)}.ace-community{max-width:min(1640px,96vw);margin:2.5rem auto;padding:0 clamp(.8rem,3vw,1.8rem);color:var(--ace-ink)}.ace-community__head{margin:0 0 1.2rem}.ace-community__grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));gap:1.25rem}.ace-community__col{padding:1.2rem 1.3rem;border:1px solid var(--ace-line);border-radius:14px;background:var(--ace-surface)}.ace-community__col h3{margin:0 0 .9rem;font-size:1.05rem;color:var(--ace-orange-2)}.ace-community__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem}.ace-community__list li{display:flex;flex-direction:column;gap:.15rem}.ace-community__t{font-weight:700;color:var(--ace-ink);text-decoration:none;line-height:1.3}.ace-community__t:hover{color:var(--ace-orange-2)}.ace-community__meta{font-size:.82rem;color:var(--ace-muted)}.ace-community__members{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.ace-community__members a img{width:46px;height:46px;border-radius:50%;display:block}.ace-event-social{margin:2rem 0;padding:1.4rem 1.5rem;border:1px solid var(--ace-line);border-radius:14px;background:var(--ace-surface);color:var(--ace-ink)}.ace-attend{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid var(--ace-line)}.ace-attend__who{display:inline-flex}.ace-attend__who .ace-attend__avatar{width:30px;height:30px;border-radius:50%;border:2px solid var(--ace-surface);margin-left:-8px}.ace-attend__who .ace-attend__avatar:first-child{margin-left:0}.ace-attend__count{font-weight:700}.ace-attend__btn{margin-left:auto;padding:.55rem 1.1rem;border:1px solid rgba(255,122,24,.55);border-radius:10px;background:rgba(0,0,0,0);color:var(--ace-orange-2);font:inherit;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.ace-attend__btn:hover{background:rgba(255,122,24,.16)}.ace-attend__btn.is-going{background:var(--ace-orange);border-color:var(--ace-orange);color:var(--ace-orange-ink)}.ace-attend__login{margin-left:auto;color:var(--ace-orange-2);font-weight:600;text-decoration:none}.ace-attend__login:hover{text-decoration:underline}.ace-social-h{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1.3rem 0 .8rem;font-size:1.25rem}.ace-social-h--sub{font-size:1rem;margin-top:1.8rem;color:var(--ace-muted)}.ace-social-h__n{font-size:.85rem;font-weight:600;color:var(--ace-muted)}.ace-stars{display:inline-flex;gap:1px;line-height:1}.ace-star{color:hsla(0,0%,100%,.22);font-size:1.05rem}.ace-stars--sm .ace-star{font-size:.85rem}.ace-star.is-on{color:var(--ace-orange)}.ace-c-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.ace-c-item{display:flex;gap:.65rem;align-items:flex-start}.ace-c-item__avatar{width:40px;height:40px;border-radius:50%;flex:0 0 auto;box-shadow:0 2px 8px rgba(0,0,0,.35)}.ace-c-item__body{position:relative;min-width:0;flex:1 1 auto;background:var(--ace-surface-2, #241f1a);border:1px solid var(--ace-line);border-radius:16px;border-top-left-radius:4px;padding:.55rem .85rem .65rem}.ace-c-item__body::before{content:"";position:absolute;left:-7px;top:13px;width:0;height:0;border:7px solid rgba(0,0,0,0);border-right-color:var(--ace-line);border-left:0}.ace-c-item__body::after{content:"";position:absolute;left:-6px;top:14px;width:0;height:0;border:6px solid rgba(0,0,0,0);border-right-color:var(--ace-surface-2, #241f1a);border-left:0}.ace-c-item__head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.9rem}.ace-c-item__head strong{color:var(--ace-ink)}.ace-c-item__ago{color:var(--ace-muted);font-size:.78rem}.ace-c-item__evdate{color:var(--ace-orange-2);font-size:.78rem;font-weight:700;text-decoration:none}.ace-c-item__evdate:hover{text-decoration:underline}.ace-c-item__body p{margin:.25rem 0 0;font-size:.94rem;line-height:1.5}.ace-c-form{margin-top:1rem;display:flex;flex-direction:column;gap:.6rem}.ace-c-form textarea{width:100%;box-sizing:border-box;padding:.7rem .8rem;border:1px solid var(--ace-line);border-radius:10px;background:var(--ace-surface-2);color:var(--ace-ink);font:inherit;resize:vertical}.ace-c-form textarea:focus{border-color:var(--ace-orange);outline:none}.ace-c-form__stars{display:flex;gap:.15rem}.ace-star-pick{border:0;background:rgba(0,0,0,0);padding:.1rem;font-size:1.6rem;line-height:1;color:hsla(0,0%,100%,.25);cursor:pointer;transition:color .12s ease,transform .12s ease}.ace-star-pick:hover{transform:scale(1.15)}.ace-star-pick.is-on{color:var(--ace-orange)}.ace-c-form__foot{display:flex;align-items:center;gap:.8rem}.ace-c-form__foot .ace-btn{border:0;cursor:pointer}.ace-c-form__msg{font-size:.85rem;color:var(--ace-muted)}.ace-card__going{display:inline-flex;align-items:center;gap:.25rem;color:var(--ace-orange-2);font-weight:700}.ace-card__going .dashicons{font-size:1rem;width:auto;height:auto}.ace-event-more{margin:2.4rem 0}.ace-event-more>h2{margin:0 0 1rem;font-size:1.25rem}.ace-grid--related{grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:1rem}.ace-grid--related .ace-gcard{border-radius:12px}.ace-grid--related .ace-gcard__media{height:120px}.ace-place-events{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.ace-place-events li{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--ace-line)}.ace-place-events a{color:var(--ace-orange-2);text-decoration:none;font-weight:600}.ace-place-events span{color:var(--ace-muted);font-size:.85rem;white-space:nowrap}@media(max-width: 820px){.ace-app{min-height:0;margin-top:0 !important;margin-block-start:0 !important;padding-top:0;background:radial-gradient(130% 55% at 50% -8%, rgba(255, 122, 24, 0.14), transparent 62%),radial-gradient(90% 40% at 85% 108%, rgba(255, 122, 24, 0.07), transparent 60%),repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.028) 0 1px, transparent 1px 54px),repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.028) 0 1px, transparent 1px 54px),repeating-linear-gradient(63deg, rgba(255, 255, 255, 0.014) 0 1px, transparent 1px 130px),var(--ace-bg)}.ace-app__bar{left:var(--wp--style--root--padding-left, clamp(30px, 5vw, 50px));width:calc(100% - var(--wp--style--root--padding-left, clamp(30px, 5vw, 50px)) - var(--wp--style--root--padding-right, clamp(30px, 5vw, 50px)));padding:1rem 0}.ace-app__teaser,.ace-app__featured,.ace-app__leaders{display:none}.ace-app.is-active{display:flex;flex-direction:column;min-height:0}.ace-app.is-active .ace-app__cover{display:none}.ace-app.is-active .ace-app__bar{position:absolute;top:0;left:0;right:0;z-index:45;width:auto;min-height:0;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.4rem;padding:.5rem .65rem;border-radius:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:rgba(14,12,10,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ace-line);transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .28s ease}.ace-app.is-active .ace-app__bar::-webkit-scrollbar{display:none}.ace-app.is-active .ace-app__bar-glass{display:none}.ace-app.is-active .ace-app__lead,.ace-app.is-active .ace-app__explore{display:none}.ace-app.is-active.is-bar-hidden .ace-app__bar{transform:translateY(-108%)}.ace-app.is-active .ace-app__bar .ace-loc{flex:1 1 200px;min-width:170px;height:40px;margin:0}.ace-app.is-active .ace-app__bar .ace-loc-search{height:40px;padding:.4rem .7rem .4rem 2.3rem}.ace-app.is-active .ace-app__bar .ace-filters{flex:0 0 auto;flex-wrap:nowrap;gap:.4rem}.ace-app.is-active .ace-app__bar .ace-dd{flex:0 0 auto;min-width:0}.ace-app.is-active .ace-app__bar .ace-dd__btn{height:40px}.ace-app.is-active .ace-app__actions{flex:0 0 auto}.ace-app.is-active .ace-app__close{width:40px;height:40px;font-size:1.4rem}.ace-app.is-active .ace-dd__menu,.ace-app.is-active .ace-loc-suggest{position:fixed;left:0;right:0;bottom:0;top:auto;min-width:0;max-width:none;max-height:62vh;margin:0;border-radius:16px 16px 0 0;z-index:1200}.ace-app.is-active .ace-app__map,.ace-app.is-active .ace-app__panel{order:2;position:absolute;inset:0;flex:1 1 auto;min-height:0;width:auto;transform:none;box-shadow:none;border:0;display:none}.ace-app.is-active .ace-app__panel{background:rgba(0,0,0,0)}.ace-app.is-active.is-view-list .ace-app__panel{display:block}.ace-app.is-active.is-view-map .ace-app__map{display:block}.ace-app.is-active .ace-app__views{top:calc(var(--ace-bar-height, 56px) + .5rem);right:.55rem;left:.55rem;justify-content:space-between;overflow-x:auto}.ace-app__viewbtn,.ace-app__shareview{padding:.42rem .58rem}.ace-app.is-active.is-view-list .ace-app__list{padding:calc(var(--ace-bar-height, 56px) + 4.7rem) .85rem 2rem}.ace-app__calendar{top:0;padding:calc(var(--ace-bar-height, 56px) + 4.8rem) .65rem 2rem}.ace-calendar__month{padding:.65rem}.ace-calendar__day{min-height:86px;padding:.3rem}.ace-calendar__event{font-size:.66rem;padding:.25rem}.ace-calendar__event span{display:block;margin:0 0 .08rem}.ace-app.is-active .ace-app__list{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:none;padding:calc(var(--ace-bar-height, 56px) + .55rem) .85rem 5.5rem}.ace-app.is-active .ace-app__viewtoggle{display:inline-flex}.ace-app.is-detail .ace-app__viewtoggle{display:none}.ace-app.is-active .ace-app__mapctrls{display:none}.ace-app.is-active.is-view-map .ace-app__mapctrls{display:flex;top:auto;bottom:calc(4.6rem + env(safe-area-inset-bottom, 0px));flex-wrap:wrap;justify-content:center;max-width:calc(100% - 1.5rem)}.ace-app__detail{position:fixed;top:0;right:0;left:0;bottom:0;width:auto;z-index:1000}.ace-app__detail .ace-minimap:empty,.ace-minimap:empty{min-height:0;height:0;border:0}.ace-app__route{top:auto;bottom:0;left:0;right:0;width:auto;max-height:70vh;border-left:0;border-top:1px solid var(--ace-line);border-radius:16px 16px 0 0}.ace-app__dayout{left:.8rem;right:.8rem;width:auto}.ace-app--home.is-intro{height:280px !important;pointer-events:none;min-height:0}.ace-app--home.is-intro .ace-app__bar,.ace-app--home.is-intro .ace-app__panel,.ace-app--home.is-intro .ace-app__viewtoggle,.ace-app--home.is-intro .ace-app__views,.ace-app--home.is-intro .ace-app__calendar,.ace-app--home.is-intro .ace-app__mapctrls,.ace-app--home.is-intro .ace-app__teaser,.ace-app--home.is-intro .ace-app__featured,.ace-app--home.is-intro .ace-app__leaders,.ace-app--home.is-intro .ace-app__cover,.ace-app--home.is-intro .leaflet-control-container{display:none !important}.ace-app--home.is-intro .ace-app__map{-webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 38%, rgba(0, 0, 0, 0.35) 62%, transparent 82%);mask-image:linear-gradient(to bottom, #000 0%, #000 38%, rgba(0, 0, 0, 0.35) 62%, transparent 82%)}.ace-app--home.is-intro::after{height:210px;background:linear-gradient(to bottom, rgba(20, 18, 15, 0) 0%, rgba(20, 18, 15, 0.5) 40%, var(--ace-bg) 82%, var(--ace-bg) 100%)}.ace-app.is-intro{display:flex;flex-direction:column;min-height:0}.ace-app.is-intro .ace-app__lead,.ace-app.is-intro .ace-app__explore,.ace-app.is-intro .ace-app__map,.ace-app.is-intro .ace-app__cover,.ace-app.is-intro .ace-app__teaser,.ace-app.is-intro .ace-app__featured{display:none}.ace-app.is-intro .ace-app__bar{position:absolute;top:0;left:0;right:0;width:auto;min-height:0;z-index:45;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.4rem;padding:.5rem .65rem;border-radius:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:rgba(14,12,10,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ace-line)}.ace-app.is-intro .ace-app__bar::-webkit-scrollbar{display:none}.ace-app.is-intro .ace-app__bar .ace-loc{flex:1 1 200px;min-width:170px;height:40px;margin:0}.ace-app.is-intro .ace-app__bar .ace-filters{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:.4rem;grid-template-columns:none;width:auto;max-width:none}.ace-app.is-intro .ace-app__bar .ace-dd{flex:0 0 auto;min-width:0}.ace-app.is-intro .ace-app__panel{display:block;position:absolute;inset:0;width:auto;transform:none;box-shadow:none;border:0;background:rgba(0,0,0,0);z-index:20}.ace-app.is-intro .ace-app__list{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:none;padding:calc(var(--ace-bar-height, 64px) + .55rem) .85rem 5.5rem}.ace-app.is-osm-default.ace-app--home.is-intro .ace-app__viewtoggle{display:none !important}.ace-app.is-osm-default.is-intro.is-view-map .ace-app__map,.ace-app.is-osm-default.is-intro.is-view-map .ace-app__cover{display:block}.ace-app.is-osm-default.is-intro.is-view-map .ace-app__panel,.ace-app.is-osm-default.is-intro.is-view-map .ace-app__list{display:none}}@media(min-width: 821px)and (max-width: 1100px){.ace-app.is-active .ace-app__bar{flex-wrap:wrap}.ace-app.is-active .ace-app__bar .ace-filters{flex-wrap:wrap;flex:1 1 100%}.ace-app.is-active .ace-app__bar .ace-loc{flex:1 1 260px;max-width:none}.ace-app__panel{width:min(340px,42vw)}.ace-app__detail{width:min(440px,58vw)}}.ace-grid-wrap{max-width:1340px;margin:1.4rem auto 3rem;padding:0 clamp(1rem,4vw,2.5rem);color:var(--ace-ink)}.ace-grid-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 .6rem}.ace-grid-heading{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.1;margin:0;color:var(--ace-ink)}.ace-grid-count{font-size:.7em;font-weight:700;color:var(--ace-orange-2);white-space:nowrap}.ace-explore{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:1.4rem 2rem;max-width:1340px;margin:0 auto 2rem;padding:0 clamp(1rem,4vw,2rem)}.ace-explore__col h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin:0 0 .6rem}.ace-explore__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.ace-explore__col a{color:inherit;text-decoration:none;opacity:.9}.ace-explore__col a:hover{color:var(--ace-orange-2);opacity:1;text-decoration:underline}.ace-grid-intro{max-width:65ch;margin:.6rem 0 1.4rem;opacity:.9;line-height:1.6}.ace-grid-cta{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .85rem;font-size:.85rem;font-weight:700;color:var(--ace-ink);background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.16);border-radius:999px;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s}.ace-grid-cta:hover{text-decoration:none;background:var(--ace-orange);border-color:var(--ace-orange);color:#14120f}body:has(.als--ticker) .ace-events-browser{position:relative;z-index:5;margin-top:-5.5rem !important;padding-top:1.4rem;background:linear-gradient(180deg, transparent, var(--ace-bg, #14120f) 4rem)}.ace-browser__head{align-items:center;margin-bottom:.5rem}.ace-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill, minmax(min(100%, 260px), 1fr))}.ace-events-browser{min-height:640px}.ace-grid-wrap{container-type:inline-size}.is-layout-constrained>.ace-grid-wrap{max-width:var(--wp--style--global--wide-size, 72rem)}.ace-grid-wrap .ace-grid,.ace-archive .ace-grid,.ace-events-browser .ace-grid{grid-template-columns:1fr}@container (min-width:560px){.ace-grid-wrap .ace-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@container (min-width:860px){.ace-grid-wrap .ace-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}@container (min-width:1160px){.ace-grid-wrap .ace-grid{grid-template-columns:repeat(4, minmax(0, 1fr))}}@container (min-width:1290px){.ace-grid-wrap .ace-grid{grid-template-columns:repeat(5, minmax(0, 1fr))}}@media(min-width: 560px){.ace-archive .ace-grid,.ace-events-browser .ace-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 860px){.ace-archive .ace-grid,.ace-events-browser .ace-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1160px){.ace-archive .ace-grid,.ace-events-browser .ace-grid{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media(min-width: 1480px){.ace-archive .ace-grid,.ace-events-browser .ace-grid{grid-template-columns:repeat(5, minmax(0, 1fr))}}.ace-archive[data-when=upcoming]>.ace-grid:has(>:only-child){grid-template-columns:minmax(0, 1fr)}@container (min-width:560px){.ace-archive[data-when=upcoming]>.ace-grid:has(>:nth-child(2):last-child){grid-template-columns:repeat(2, minmax(0, 1fr))}}@container (min-width:720px){.ace-archive[data-when=upcoming]>.ace-grid:has(>:nth-child(3):last-child){grid-template-columns:repeat(3, minmax(0, 1fr))}}.ace-gcard{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:var(--ace-surface);border:1px solid var(--ace-line);color:var(--ace-ink);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.ace-gcard:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.45);border-color:rgba(255,122,24,.4)}.ace-gcard__media{position:relative;display:block;height:170px;background-size:cover;background-position:center;background-color:#2a241c}.ace-gcard__media--empty{display:flex;align-items:center;justify-content:center}.ace-gcard__media--empty .dashicons{font-size:2.6rem;width:auto;height:auto;color:rgba(255,122,24,.5)}.ace-save{display:inline-flex;align-items:center;gap:.35rem;margin-left:.5rem;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--ace-line);background:rgba(0,0,0,0);color:var(--ace-ink);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none}.ace-save:hover{border-color:var(--ace-orange)}.ace-save.is-on{background:rgba(255,122,24,.16);border-color:var(--ace-orange);color:var(--ace-orange-2)}.ace-save .dashicons{font-size:1.05em;width:auto;height:auto}.ace-gcard__grad{position:absolute;inset:0;background:linear-gradient(-180deg, transparent 55%, rgba(12, 10, 7, 0.5) 100%)}.ace-gcard__badge{position:absolute;top:.7rem;left:.7rem;z-index:1;display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;padding:.25rem .55rem;border-radius:20px;background:var(--ace-orange);color:var(--ace-orange-ink)}.ace-gcard__badge .dashicons{font-size:.9rem;width:auto;height:auto}.ace-gcard__body{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem 1.1rem}.ace-gcard__date{font-size:.78rem;font-weight:700;color:var(--ace-orange);text-transform:uppercase;letter-spacing:.02em}.ace-gcard__title{font-size:1.1rem;font-weight:700;line-height:1.25;color:var(--ace-ink)}.ace-gcard__meta{font-size:.88rem;color:var(--ace-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ace-gcard__cats{margin-top:.15rem}.ace-gcard.is-featured{border-color:rgba(255,122,24,.45)}.ace-pagination{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin:2rem 0 0}.ace-pagination a,.ace-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 .7rem;border-radius:8px;border:1px solid var(--ace-line);background:var(--ace-surface);color:var(--ace-ink);text-decoration:none}.ace-pagination a:hover{border-color:var(--ace-orange);color:var(--ace-orange-2)}.ace-pagination .current{background:var(--ace-orange);color:var(--ace-orange-ink);border-color:var(--ace-orange)}.ace-pagination .dots{border:0;background:rgba(0,0,0,0)}.ace-load-more{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:clamp(1.5rem,4vw,2.75rem) 0 0}.ace-load-more .ace-load-more__button{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;width:min(100%,26rem);min-height:58px;height:auto;padding:.75rem 1.4rem;border:1px solid var(--ace-orange);border-radius:12px;background:var(--ace-orange);color:var(--ace-orange-ink);font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.22)}.ace-load-more .ace-load-more__button:hover,.ace-load-more .ace-load-more__button:focus-visible{color:var(--ace-orange-ink);filter:brightness(1.07);transform:none}.ace-load-more .ace-load-more__button[aria-disabled=true]{cursor:wait;opacity:.72;pointer-events:none}.ace-load-more .ace-load-more__label,.ace-load-more .ace-load-more__hint{display:block;min-width:0;height:auto;padding:0;border:0;border-radius:0;background:rgba(0,0,0,0);color:inherit}.ace-load-more__hint{font-size:.75rem;font-weight:600;opacity:.72}.ace-archive.is-loading-more>.ace-grid{opacity:1;pointer-events:auto}.ace-archive{position:relative;transition:opacity .18s ease}.ace-archive.is-loading{opacity:.55;pointer-events:none}.ace-archive.is-loading::after{content:"";position:absolute;top:1rem;left:50%;width:30px;height:30px;margin-left:-15px;border-radius:50%;border:3px solid var(--ace-line);border-top-color:var(--ace-orange);animation:ace-spin .7s linear infinite;z-index:5}@keyframes ace-spin{to{transform:rotate(360deg)}}.ace-archive-header{max-width:1340px;margin:2.5rem auto 0;padding:0 clamp(1rem,4vw,2.5rem);color:var(--ace-ink)}.ace-archive-header .wp-block-query-title,.ace-archive-header h1{color:var(--ace-ink)}.ace-archive-header .ace-archive-intro{color:var(--ace-muted);margin:.4rem 0 0;max-width:60ch}.ace-events-browser{max-width:min(1640px,96vw);margin:1.4rem auto 2.4rem;padding:0 clamp(.8rem,3vw,1.8rem)}.ace-browser{color:var(--ace-ink)}.ace-browser__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 .7rem}.ace-browser__head .ace-grid-heading{font-size:clamp(1.3rem,2.4vw,1.8rem)}.ace-browser__filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:0 0 .5rem}.ace-browser__search{position:relative;flex:1 1 220px;max-width:380px;display:flex;align-items:center}.ace-browser__search .dashicons{position:absolute;left:.65rem;color:var(--ace-orange);pointer-events:none}.ace-browser__search input{width:100%;height:40px;padding:0 .8rem 0 2.2rem;border:1px solid var(--ace-line);border-radius:9px;background:var(--ace-surface-2);color:var(--ace-ink);font:inherit;font-size:.92rem}.ace-b-select{height:40px;padding:0 .6rem;border:1px solid var(--ace-line);border-radius:9px;background:var(--ace-surface-2);color:var(--ace-ink);font:inherit;font-size:.9rem}.ace-b-select option{color:#111}.ace-b-toggle{display:inline-flex;align-items:center;gap:.35rem;height:40px;padding:0 .8rem;border:1px solid var(--ace-line);border-radius:9px;background:var(--ace-surface-2);color:var(--ace-ink);font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap}.ace-b-toggle.is-on{border-color:var(--ace-orange);color:var(--ace-orange-2)}.ace-b-toggle input{accent-color:var(--ace-orange)}.ace-browser__periods,.ace-browser__cats{display:flex;gap:.4rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 0 .5rem;padding-bottom:.15rem;scroll-snap-type:x proximity}.ace-browser__filters .ace-browser__periods{margin:0;flex:1 1 240px;min-width:0}.ace-browser__periods::-webkit-scrollbar,.ace-browser__cats::-webkit-scrollbar{display:none}.ace-browser__periods .ace-b-chip,.ace-browser__cats .ace-b-chip{flex:0 0 auto;scroll-snap-align:start}.ace-browser__cats{margin-bottom:.9rem;flex-wrap:wrap;overflow-x:visible;row-gap:.4rem}.ace-b-chip{padding:.3rem .7rem;border:1px solid var(--ace-line);border-radius:20px;background:rgba(0,0,0,0);color:var(--ace-muted);font:inherit;font-size:.82rem;line-height:1.35;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.ace-b-chip:hover{border-color:rgba(255,122,24,.5);color:var(--ace-ink)}.ace-b-chip.is-on{background:var(--ace-orange);border-color:var(--ace-orange);color:var(--ace-orange-ink);font-weight:700}.ace-browser__loading{padding:3rem 1rem;text-align:center;color:var(--ace-muted)}.ace-results-progress{margin:1.1rem 0 0;text-align:center;color:var(--ace-muted);font-size:.85rem}.ace-browser__more{display:flex;justify-content:center;margin:1.8rem 0 0}.ace-browser__more .ace-btn{border:0;cursor:pointer}.ace-gcard{width:100%;padding:0;text-align:left;font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}.ace-gcard.is-super{border-color:var(--ace-orange);box-shadow:0 0 0 2px rgba(255,122,24,.5),0 14px 34px rgba(0,0,0,.45)}.ace-gcard__badge--super{background:linear-gradient(135deg, #ffb056, #ff7a18)}.ace-gcard__badge{white-space:nowrap}.ace-gcard.is-live{border-color:#34d27b;box-shadow:0 0 0 2px rgba(52,210,123,.55),0 0 22px rgba(52,210,123,.3);animation:ace-live-glow 2.6s ease-in-out infinite}.ace-gcard__badge--live{background:#1fbf6a;color:#04140a;gap:.4rem}.ace-gcard__live-dot{display:inline-block;width:.55em;height:.55em;border-radius:50%;background:currentColor;animation:ace-live-dot 1.3s ease-in-out infinite}@keyframes ace-live-glow{50%{box-shadow:0 0 0 2px rgba(52,210,123,.85),0 0 34px rgba(52,210,123,.5)}}@keyframes ace-live-dot{50%{opacity:.25}}@media(prefers-reduced-motion: reduce){.ace-gcard.is-live,.ace-gcard__live-dot{animation:none}}.ace-b-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(6,5,3,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:ace-pop .2s ease}.ace-b-modal__box{position:relative;width:min(560px,100%);max-height:88vh;overflow-y:auto;border-radius:16px;border:1px solid var(--ace-line);background:var(--ace-surface);box-shadow:0 30px 80px rgba(0,0,0,.6)}.ace-b-modal__close{position:absolute;top:.7rem;right:.7rem;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.ace-b-modal__close:hover{background:var(--ace-orange);color:var(--ace-orange-ink)}.ace-b-modal__media{height:260px;background-size:cover;background-position:center;background-color:#2a241c}.ace-b-modal__media--empty{display:flex;align-items:center;justify-content:center}.ace-b-modal__media--empty .dashicons{font-size:3rem;width:auto;height:auto;color:rgba(255,122,24,.6)}.ace-b-modal__body{padding:1.3rem 1.5rem 1.7rem}.ace-b-modal__title{margin:.35rem 0 .6rem;font-size:1.6rem;line-height:1.2;color:#fff}.ace-b-modal__loc{display:flex;align-items:flex-start;gap:.4rem;color:var(--ace-muted);margin:0 0 .8rem}.ace-b-modal__loc .dashicons{color:var(--ace-orange)}.ace-b-modal__ex{color:var(--ace-ink);opacity:.92;margin:.8rem 0 1.2rem}.ace-b-modal__actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.ace-b-modal__view{color:var(--ace-orange-2);font-weight:700;text-decoration:none}.ace-b-modal__view:hover{text-decoration:underline}@media(max-width: 640px){.ace-browser__filters{gap:.5rem}.ace-browser__search{flex:1 1 100%;max-width:none}.ace-b-select{flex:1 1 auto}.ace-browser__periods,.ace-browser__cats{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;margin-left:-0.2rem;padding:.15rem .2rem .5rem;scrollbar-width:none}.ace-browser__periods::-webkit-scrollbar,.ace-browser__cats::-webkit-scrollbar{display:none}.ace-browser__periods .ace-b-chip,.ace-browser__cats .ace-b-chip{flex:0 0 auto;scroll-snap-align:start}html.ace-js .ace-events-browser>.ace-grid-wrap{visibility:hidden;min-height:60vh}.ace-b-modal{align-items:flex-end;padding:0}.ace-b-modal__box{width:100%;max-height:92vh;border-radius:18px 18px 0 0}.ace-b-modal__media{height:200px}.ace-b-modal--full{top:var(--ace-modal-top, 64px);align-items:stretch;background:var(--ace-bg);-webkit-backdrop-filter:none;backdrop-filter:none}.ace-b-modal--full .ace-b-modal__box{height:100%;max-height:none;border-radius:0;border:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom, 0px)}.ace-b-modal--full .ace-b-modal__media{height:min(46vw,260px)}.ace-b-modal--full .ace-b-modal__close{position:sticky;top:.6rem;float:right;margin:.6rem .6rem -3rem 0}.ace-b-modal--full .ace-b-modal__body{padding-bottom:2.5rem}.ace-b-modal--full .ace-b-modal__actions{position:sticky;bottom:0;margin:1rem -1.5rem -1.7rem;padding:.8rem 1.5rem calc(.8rem + env(safe-area-inset-bottom, 0px));background:linear-gradient(to top, var(--ace-bg) 70%, transparent);z-index:2}.ace-b-modal__loading{color:var(--ace-muted);margin:.8rem 0 1.2rem}.ace-b-modal__full{margin:.6rem 0 1.2rem}.ace-b-modal__full .ace-minimap{height:200px}html.ace-modal-open,html.ace-modal-open body{overflow:hidden;height:100%;touch-action:none}html.ace-modal-open .ace-b-modal__box{touch-action:pan-y}.ace-b-modal__actions .ace-btn--tickets{flex:1 1 100%;text-align:center}.ace-event-detail{padding:1.1rem 1.1rem;margin:1.5rem 0}.ace-event-flyer{margin-bottom:1rem}.ace-minimap--large{height:clamp(240px,42vh,340px)}.ace-grid--related{grid-template-columns:repeat(auto-fill, minmax(min(100%, 150px), 1fr));gap:.7rem}.ace-grid--related .ace-gcard__media{height:96px}.ace-grid-wrap{margin:2rem auto}.ace-pagination a,.ace-pagination span{min-width:38px;height:38px}}.ace-embed-snippet{margin:1.6rem 0 0;border:1px solid var(--ace-line);border-radius:12px;background:var(--ace-surface-2);padding:.75rem 1rem}.ace-embed-snippet summary{cursor:pointer;font-weight:700;display:flex;align-items:center;gap:.45rem;color:var(--ace-ink)}.ace-embed-snippet summary .dashicons{color:var(--ace-orange)}.ace-embed-snippet p{color:var(--ace-muted);font-size:.88rem;margin:.7rem 0 .5rem}.ace-embed-snippet textarea{width:100%;box-sizing:border-box;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;background:rgba(0,0,0,.35);color:var(--ace-ink);border:1px solid var(--ace-line);border-radius:8px;padding:.6rem .7rem;resize:vertical}.ace-map-load{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;height:100%;border:0;background:linear-gradient(135deg, rgba(20, 18, 15, 0.88), rgba(36, 31, 24, 0.82));color:var(--ace-ink, #f5f2ea);font:inherit;font-weight:800;cursor:pointer}.ace-map-load:hover,.ace-map-load:focus{color:var(--ace-orange-2, #ff9a45);outline:2px solid var(--ace-orange, #ff7a18);outline-offset:-2px}.ace-map-load .dashicons{color:var(--ace-orange, #ff7a18)}.ace-map-load--mini{border-radius:14px}.alm .leaflet-tile-pane{filter:brightness(0.78) contrast(1.28) saturate(0.7)}.alm .leaflet-tile-pane .leaflet-tile{filter:none}.leaflet-tile-pane{transition:opacity .8s ease .15s}.ace-tiles-pending .leaflet-tile-pane{opacity:0;transition:none}.ace-leaflet-pin{background:rgba(0,0,0,0);border:0}.ace-leaflet-svgpin{position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 4px 12px rgba(0, 0, 0, 0.5))}.ace-leaflet-svgpin svg{display:block;width:100%;height:100%;overflow:visible}.ace-leaflet-svgpin__label{position:absolute;left:50%;top:35%;transform:translate(-50%, -50%);font-size:19px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.35);z-index:2}.ace-leaflet-pin__mark{position:relative;display:block;width:26px;height:30px;border-radius:15px 15px 13px 13px;background:var(--ace-orange, #ff7a18);border:2px solid #1a1108;box-shadow:0 4px 12px rgba(0,0,0,.45)}.ace-leaflet-pin__mark::before{content:"";position:absolute;left:50%;bottom:-9px;width:14px;height:14px;background:var(--ace-orange, #ff7a18);border-right:2px solid #1a1108;border-bottom:2px solid #1a1108;transform:translateX(-50%) rotate(45deg);border-radius:0 0 4px 0}.ace-leaflet-pin__mark::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#1a1108;opacity:.18}.ace-leaflet-pin--emoji{display:flex !important;align-items:flex-start;justify-content:center;width:46px !important;height:58px !important;background:rgba(0,0,0,0)}.ace-leaflet-pin__emoji{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:42px;border-radius:20px 20px 17px 17px;background:#ffb066;border:2px solid #1a1108;box-shadow:0 5px 16px rgba(0,0,0,.5);font-size:19px;line-height:1}.ace-leaflet-pin__emoji::after{content:"";position:absolute;left:50%;bottom:-10px;width:16px;height:16px;background:#ffb066;border-right:2px solid #1a1108;border-bottom:2px solid #1a1108;transform:translateX(-50%) rotate(45deg);border-radius:0 0 4px 0}.ace-leaflet-dot-wrap{background:rgba(0,0,0,0);border:0}.ace-leaflet-dot{display:block;width:26px;height:26px;border-radius:50%;background:#ffb056;border:2px solid #1a1108;box-shadow:0 0 0 4px rgba(255,122,24,.2),0 4px 12px rgba(0,0,0,.45)}.ace-leaflet-cluster-wrap{background:rgba(0,0,0,0);border:0}.ace-leaflet-cluster{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#ff7a18;color:#1a1108;font-weight:800;border:2px solid hsla(0,0%,100%,.42);box-shadow:0 0 0 5px rgba(20,18,15,.75),0 7px 20px rgba(0,0,0,.5)}.ace-leaflet-drop{animation:ace-leaflet-drop .62s cubic-bezier(0.18, 0.88, 0.28, 1) both}.ace-leaflet-bounce{animation:ace-leaflet-bounce .7s ease-in-out 2}@keyframes ace-leaflet-drop{0%{margin-top:-42px;opacity:0}70%{margin-top:4px;opacity:1}100%{margin-top:0;opacity:1}}@keyframes ace-leaflet-bounce{0%,100%{margin-top:0}50%{margin-top:-16px}}.leaflet-container{background:#2c2c2e;font:inherit}.leaflet-bar{border:1px solid var(--ace-line, rgba(255, 255, 255, 0.14));border-radius:10px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.45)}.leaflet-bar a,.leaflet-bar a:hover,.leaflet-bar a:focus{background:var(--ace-surface, #1c1813);color:var(--ace-ink, #f5f2ea);border-bottom:1px solid var(--ace-line, rgba(255, 255, 255, 0.14));width:34px;height:34px;line-height:34px;font-size:20px;font-weight:600}.leaflet-bar a:last-child{border-bottom:0}.leaflet-bar a:hover,.leaflet-bar a:focus{background:var(--ace-orange, #ff7a18);color:#1a1108}.leaflet-bar a.leaflet-disabled{background:var(--ace-surface, #1c1813);color:var(--ace-muted, #8f887b)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--ace-surface, #1c1813);color:var(--ace-ink, #f5f2ea)}.leaflet-popup-content a{color:var(--ace-orange-2, #ff9a45)}.ace-facets{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1.25rem}.ace-facet{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .85rem;border:1px solid var(--ace-line);border-radius:999px;background:var(--ace-surface);color:var(--ace-ink);font-size:.88rem;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.ace-facet:hover,.ace-facet:focus-visible{border-color:var(--ace-orange);color:var(--ace-orange-2);text-decoration:none}.ace-facet.is-on{background:var(--ace-orange);border-color:var(--ace-orange);color:var(--ace-orange-ink)}.ace-facet.is-on:hover{filter:brightness(1.07);color:var(--ace-orange-ink)}.ace-facet__n{display:inline-flex;align-items:center;justify-content:center;min-width:1.35em;padding:0 .35em;border-radius:999px;background:hsla(0,0%,100%,.11);color:var(--ace-muted);font-size:.76rem;font-weight:700;font-variant-numeric:tabular-nums}.ace-facet:hover .ace-facet__n{color:var(--ace-ink)}.ace-facet.is-on .ace-facet__n{background:rgba(0,0,0,.22);color:var(--ace-orange-ink)}.ace-facet-more{position:relative}.ace-facet-more__btn{height:auto;padding:.42rem .85rem;border-radius:999px;font-size:.88rem;font-weight:600}.ace-facet-more__menu{min-width:16rem;max-height:20rem;overflow-y:auto}.ace-facet-more__search{box-sizing:border-box;width:100%;margin:0 0 .4rem;padding:.5rem .6rem;border:1px solid var(--ace-line);border-radius:8px;background:var(--ace-surface-2);color:var(--ace-ink);font:inherit;font-size:.88rem}.ace-facet-more__search:focus{outline:2px solid var(--ace-orange);border-color:rgba(0,0,0,0)}.ace-facet-more__item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .55rem;border-radius:8px;color:var(--ace-ink);font-size:.9rem;text-decoration:none}.ace-facet-more__item:hover,.ace-facet-more__item:focus-visible{background:hsla(0,0%,100%,.07);color:var(--ace-orange-2)}.ace-facet-more__item[hidden]{display:none}@media(max-width: 640px){.ace-facets{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--ace-gutter, 1rem)*-1);padding-inline:var(--ace-gutter, 1rem)}.ace-facets::-webkit-scrollbar{display:none}.ace-facet{flex:0 0 auto}}.ace-archive-header{box-sizing:border-box;max-width:1340px;margin-inline:auto}.ace-archive-header.has-global-padding{padding-inline:clamp(1rem,4vw,2.5rem)}.ace-archive-header.is-layout-constrained>*,.ace-archive-header>*{max-width:none;margin-inline:0}.ace-archive-header .wp-block-query-title,.ace-archive-header>h1{margin:0 0 .5rem}.ace-archive-header .ace-archive-intro,.ace-archive-header .ace-archive-intro.wp-block-term-description{max-width:70ch;color:var(--ace-muted)}.ace-archive-header .ace-archive-intro p{margin:0 0 .6rem}.ace-archive-header+.ace-grid-wrap{margin-top:.9rem}.ace-emodal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:clamp(.5rem,3vw,2rem)}.ace-emodal[hidden]{display:none}.ace-emodal__backdrop{position:absolute;inset:0;background:rgba(8,7,5,.72);-webkit-backdrop-filter:blur(6px) saturate(0.9);backdrop-filter:blur(6px) saturate(0.9)}.ace-emodal__panel{position:relative;display:flex;flex-direction:column;width:min(100%,760px);max-height:min(88vh,900px);overflow:hidden;overscroll-behavior:contain;padding:clamp(1.1rem,3vw,1.9rem);border:1px solid var(--ace-line);border-radius:16px;background:var(--ace-surface);color:var(--ace-ink);box-shadow:0 30px 80px rgba(0,0,0,.6)}.ace-emodal__close{position:sticky;top:0;align-self:flex-end;flex:0 0 auto;width:38px;height:38px;margin:-0.35rem -0.35rem 0 0;border:1px solid var(--ace-line);border-radius:50%;background:var(--ace-surface-2);color:var(--ace-ink);font-size:1.5rem;line-height:1;cursor:pointer;z-index:2}.ace-emodal__close:hover,.ace-emodal__close:focus-visible{border-color:var(--ace-orange);color:var(--ace-orange)}.ace-emodal__title{margin:.2rem 0 1rem;padding-right:2.5rem;font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.15;color:var(--ace-ink)}.ace-emodal__body{min-height:4rem;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ace-emodal__cover{margin:0 0 1rem;border-radius:12px;overflow:hidden;line-height:0;background:var(--ace-surface-2)}.ace-emodal__coverimg{width:100%;height:clamp(140px,26vh,260px);object-fit:cover;display:block;border-radius:0}.ace-emodal__body .ace-event-detail--modal{margin:0;border:0;padding:0;background:none}.ace-emodal__body img{max-width:100%;height:auto;border-radius:10px}.ace-emodal__body .ace-event-detail{margin:0}.ace-emodal__body .ace-grid-wrap{max-width:none;margin:1.2rem 0 0;padding:0}.ace-emodal__foot{flex:0 0 auto;margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--ace-line)}.ace-emodal__full{display:inline-block;padding:.6rem 1.2rem;border-radius:999px;background:var(--ace-orange);color:var(--ace-orange-ink);font-weight:700;text-decoration:none}.ace-emodal__full:hover{filter:brightness(1.08);color:var(--ace-orange-ink)}html.ace-emodal-open,html.ace-emodal-open body{overflow:hidden}.ace-gcard.is-loading{opacity:.55;pointer-events:none}@media(max-width: 640px){.ace-emodal{padding:0}.ace-emodal__panel{width:100%;max-height:100vh;height:100vh;border:0;border-radius:0}}.ace-app.is-single-event .ace-app__panel,.ace-app.is-single-event .ace-fcard{display:none !important}@media(min-width: 901px){.ace-app.is-single-event .ace-app__detail{width:50vw !important;min-width:50vw;max-width:none}}.ace-browser .ace-browser__filters{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.ace-browser .ace-browser__search{position:relative;flex:1 1 280px;min-width:0;max-width:none}.ace-browser .ace-browser__search input[type=search]{box-sizing:border-box;display:block;width:100%;min-width:0;height:48px;margin:0;padding:0 1rem 0 2.8rem;border:1px solid var(--ace-line);border-radius:10px;background:var(--ace-surface-2);color:var(--ace-ink);font:inherit;line-height:1.4;appearance:none}.ace-browser .ace-browser__search>.dashicons{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;z-index:1;pointer-events:none;color:var(--ace-orange)}.ace-browser .ace-browser__search input::placeholder{color:var(--ace-muted);opacity:1}.ace-browser :is(input,select,button,summary):focus-visible{outline:2px solid var(--ace-orange);outline-offset:3px}.ace-browser .ace-b-select,.ace-browser .ace-b-toggle{box-sizing:border-box;height:48px;max-width:100%}.ace-browser .ace-browser__filters .ace-browser__periods{flex:1 0 100%;display:flex;flex-wrap:wrap;overflow:visible;gap:.45rem;padding:.25rem 0;margin:0}.ace-browser .ace-browser__categories{border:1px solid var(--ace-line);border-radius:10px;margin:.7rem 0 1rem;background:var(--ace-surface)}.ace-browser__categories summary{cursor:pointer;padding:.85rem 1rem;font-weight:600;color:var(--ace-ink)}.ace-browser__category-count{font-size:.85rem;font-weight:400;color:var(--ace-muted);margin-left:.75rem}.ace-browser__category-body{padding:0 1rem 1rem}.ace-browser__hint{color:var(--ace-muted);font-size:.85rem;margin:.75rem 0}.ace-browser .ace-browser__cats{display:flex;flex-wrap:wrap;overflow:auto;max-height:260px;margin:0;padding:.25rem;gap:.45rem;scrollbar-width:thin}.ace-browser .ace-browser__cats .ace-b-chip{white-space:normal;text-align:left;max-width:100%}.ace-browser .ace-browser__selected{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem}.ace-browser .ace-b-chip{min-height:38px}@media(max-width: 640px){.ace-browser .ace-browser__search{flex-basis:100%}.ace-browser .ace-b-select{flex:1;min-width:0}.ace-browser__category-count{display:inline-block}.ace-browser .ace-browser__cats{max-height:240px}}.ace-browser__categories summary::after{content:"+";float:right;color:var(--ace-orange);font-size:1.2rem;line-height:1}.ace-browser__categories[open] summary::after{content:"−"}.ace-attend__sources{flex-basis:100%;order:9;font-size:.75rem;color:var(--ace-muted, #b9b0a0)}.ace-attend__count[hidden]{display:none}.ace-explore{margin:1rem 0 0;padding:.8rem 1rem;border:1px solid var(--ace-line);border-radius:14px;background:var(--ace-surface);font-size:.82rem;line-height:1.7}.ace-explore ul{margin:0;padding:0;list-style:none}.ace-explore__label{color:var(--ace-muted, #b9b0a0);font-weight:700;margin-right:.25rem}.ace-explore a{color:var(--ace-orange);text-decoration:none}.ace-explore a:hover{text-decoration:underline}.ace-ssr-more{margin:1rem 0;font-size:.85rem}.ace-ssr-more h3{margin:0 0 .4rem;font-size:1rem}.ace-ssr-more ul{margin:0;padding:0;list-style:none;columns:2;column-gap:1.5rem}.ace-ssr-more li{break-inside:avoid;padding:.15rem 0}.ace-ssr-more time{color:var(--ace-muted, #b9b0a0);margin-left:.35rem}.ace-skel{display:none;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:1rem;padding:1rem 0}html.ace-js .ace-events-browser:not(.is-mounted) .ace-skel{display:grid}.ace-skel__card{border:1px solid var(--ace-line);border-radius:14px;overflow:hidden;background:var(--ace-surface)}.ace-skel__img,.ace-skel__line{background:linear-gradient(90deg, var(--ace-surface-2, rgba(255, 255, 255, 0.05)) 25%, rgba(255, 255, 255, 0.1) 50%, var(--ace-surface-2, rgba(255, 255, 255, 0.05)) 75%);background-size:200% 100%;animation:ace-skel 1.4s ease infinite}.ace-skel__img{aspect-ratio:16/10}.ace-skel__line{height:.9rem;margin:.8rem 1rem 0;border-radius:6px}.ace-skel__line--short{width:55%;margin-bottom:1rem}@keyframes ace-skel{0%{background-position:200% 0}100%{background-position:-200% 0}}@media(prefers-reduced-motion: reduce){.ace-skel__img,.ace-skel__line{animation:none}}.ace-place-practical{margin:1.25rem 0 0;padding:1rem 1.1rem;border:1px solid var(--ace-line);border-radius:14px;background:var(--ace-surface);font-size:.9rem}.ace-place-practical__title{margin:0 0 .6rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ace-muted, #b9b0a0)}.ace-place-practical dl{margin:0}.ace-place-practical dl>div{display:grid;grid-template-columns:7.5rem 1fr;gap:.25rem .75rem;padding:.45rem 0;border-top:1px solid var(--ace-line)}.ace-place-practical dl>div:first-child{border-top:0;padding-top:0}.ace-place-practical dt{margin:0;font-weight:600}.ace-place-practical dd{margin:0;min-width:0}.ace-place-practical a{color:var(--ace-orange);text-decoration:none}.ace-place-practical a:hover{text-decoration:underline}.ace-place-hours{margin:0;padding:0;list-style:none}.ace-place-hours li{display:flex;justify-content:space-between;gap:.75rem;padding:.1rem 0}.ace-place-hours li.is-today{font-weight:700;color:var(--ace-orange)}.ace-place-hours__note{margin:.4rem 0 0;color:var(--ace-muted, #b9b0a0)}@media(max-width: 480px){.ace-place-practical dl>div{grid-template-columns:1fr}}.ace-place-past-wrap h2{margin:0 0 .75rem}.ace-place-past{margin:0;padding:0;list-style:none}.ace-place-past li{display:grid;grid-template-columns:8.5rem 1fr auto;gap:.5rem 1rem;align-items:baseline;padding:.5rem 0;border-top:1px solid var(--ace-line)}.ace-place-past li:first-child{border-top:0}.ace-place-past time{color:var(--ace-muted, #b9b0a0);font-size:.85rem;white-space:nowrap}.ace-place-past__title{color:inherit;text-decoration:none;font-weight:600}.ace-place-past__title:hover{text-decoration:underline}.ace-place-past__cat{font-size:.8rem}.ace-place-past__cat a{color:var(--ace-orange);text-decoration:none}.ace-place-past__empty{color:var(--ace-muted, #b9b0a0)}@media(max-width: 600px){.ace-place-past li{grid-template-columns:1fr}.ace-place-past__cat{grid-column:1}}


/* 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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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__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}}


