@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Condensed&family=IBM+Plex+Sans&display=swap');

#pb-604{
  /* re:tokens v1 — base tokens below are patched deterministically on Save. Do not hand-edit. */

  /* BASE TOKENS */
  --color-primary: #6a4a9e;
  --color-secondary: #ee265a;
  --color-accent: #7bced7;
  --font-heading: "IBM Plex Sans Condensed", system-ui, sans-serif;
  --font-body: "IBM Plex Sans", system-ui, sans-serif;

  /* STATIC SHADE TOKENS — always present; fallback for browsers without relative-color */
  /* Ground is white; the default card surface is the purple primary with white text on it. */
  --color-primary-hover: #5b4087;
  --color-secondary-hover: #d91547;
  --color-bg: #ffffff;
  --color-surface: #6a4a9e;
  --color-surface-alt: #7bced7;
  --color-surface-dark: #2a173f;
  --color-border: #d8cfe6;
  --color-text: #ffffff;
  --color-text-muted: #ddd3ec;
  --color-text-inverse: #ffffff;
  --color-text-on-primary: #ffffff;
  --color-text-on-secondary: #ffffff;
  --color-text-on-surface-dark: #ffffff;
  --color-on-bg: #241631;

  /* Semantic */
  --color-success: #2f8f63;
  --color-error: #d91547;
  --color-focus-ring: rgba(106, 74, 158, 0.3);

  /* Spacing */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 3rem;
  --space-2xl: 5rem;

  /* Typography */
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --text-mega: clamp(3.2rem, 9.2cqi, 5.4rem);
  --text-display: clamp(2.8rem, 7.2cqi, 4.4rem);
  --text-h1: clamp(2.2rem, 5.8cqi, 3.3rem);
  --text-h2: clamp(1.95rem, 4.6cqi, 2.7rem);
  --text-h3: clamp(1.4rem, 3cqi, 1.8rem);
  --text-h4: clamp(1.15rem, 2.2cqi, 1.4rem);
  --text-lead: clamp(1.0625rem, 1.9cqi, 1.25rem);
  --text-body: 1rem;
  --text-small: 0.9375rem;
  --text-overline: 0.75rem;
  --font-weight-heading: 900;
  --line-height-body: 1.6;
  --tracking-display: -0.035em;
  --measure-display: none;
  --measure-heading: none;
  --measure-lead: none;
  --measure-body: 60ch;

  /* Radius */
  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 1.75rem;
  --radius-full: 999rem;

  /* Shadow */
  --shadow-sm: 0 0.25rem 0.75rem rgba(36, 22, 49, 0.08);
  --shadow-md: 0 0.5rem 1.5rem rgba(36, 22, 49, 0.1);
  --shadow-lg: 0 1rem 2.5rem rgba(36, 22, 49, 0.14);

  /* Motion */
  --transition-fast: 180ms ease;
  --transition-base: 280ms ease;

  /* Page frame */
  --page-max: 70rem;
  --bleed: 0;
  --section-pad: clamp(0.625rem, 1.5rem, 1rem);
  --gutter: clamp(1rem, 4%, 1.5rem);

  /* Optional machinery tokens */
  --band-bg: var(--color-bg);
  --divider-height: 0;
  --glass-blur: 0;
  --motion-duration: 280ms;
  --motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --media-tint: transparent;
  --media-blend: normal;
  --mask-shape: none;
  --frame-offset: 0;
  --text-numeral: var(--color-on-bg);
  --lift-y: -0.25rem;
  --lift-shadow: var(--shadow-lg);
  --bento-cols: 2;
  --overlap-amount: 0;
  --sticky-offset: 0;
}

@supports (color: hsl(from red h s l)) {
  #pb-604{
    --color-primary-hover: hsl(from var(--color-primary) h s calc(l - 6));
    --color-secondary-hover: hsl(from var(--color-secondary) h s calc(l - 6));
    --color-bg: hsl(from var(--color-primary) h 0 100%);
    --color-surface: hsl(from var(--color-primary) h s l);
    --color-surface-alt: hsl(from var(--color-accent) h s l);
    --color-border: hsl(from var(--color-primary) h calc(s - 16) 86%);
    --color-text: hsl(from var(--color-primary) h 0 100%);
    --color-text-muted: hsl(from var(--color-primary) h calc(s - 20) 88%);
    --color-text-inverse: hsl(from var(--color-primary) h 0 100%);
    --color-text-on-primary: hsl(from var(--color-primary) h 0 100%);
    --color-text-on-secondary: hsl(from var(--color-secondary) h 0 100%);
    --color-text-on-surface-dark: hsl(from var(--color-primary) h 0 100%);
    --color-on-bg: hsl(from var(--color-primary) h calc(s - 4) 14%);
  }
}

#pb-604{
  background: var(--color-bg);
  color: var(--color-on-bg); /* white ground; dark purple text sits directly on it */
  font-family: var(--font-body);
}

#pb-604 :where(.runevents__section){
  color: inherit;
  margin-block: 0;
}

#pb-604 :where(.runevents__section h1, .runevents__section h2, .runevents__section h3, .runevents__section h4, .runevents__display){
  font-family: var(--font-heading);
  font-weight: var(--font-weight-heading);
  letter-spacing: var(--tracking-display);
  line-height: 0.94;
  margin: 0 0 var(--space-md);
  color: inherit;
  text-wrap: pretty;
}

#pb-604 .runevents__display,#pb-604 .runevents__display--xl{
  font-size: var(--text-display);
  font-weight: 900;
  max-width: var(--measure-display);
  color: inherit; /* dark on the white ground, white inside the hero scrim and on purple cards */
}

#pb-604 .runevents__display--breakout,#pb-604 .runevents__hero .runevents__display{
  font-size: var(--text-mega);
  font-weight: 900;
  max-width: none;
}

#pb-604 :where(.runevents__section h1){
  font-size: var(--text-h1);
  max-width: var(--measure-heading);
}

#pb-604 :where(.runevents__section h2){
  font-size: var(--text-h2);
  max-width: var(--measure-heading);
  margin-bottom: var(--space-md);
}

#pb-604 :where(.runevents__section h3){
  font-size: var(--text-h3);
}

#pb-604 :where(.runevents__section h4){
  font-size: var(--text-h4);
}

#pb-604 .runevents__lead{
  font-size: var(--text-lead);
  line-height: 1.55;
  max-width: var(--measure-lead);
  color: inherit;
  margin: 0 0 var(--space-md);
}

#pb-604 :where(.runevents__section p, .runevents__section li){
  font-size: var(--text-body);
  line-height: var(--line-height-body);
  max-width: var(--measure-body);
  margin: 0 0 var(--space-md);
}

#pb-604 :where(.runevents__section small){
  font-size: var(--text-small);
}

#pb-604 :where(.runevents__section a){
  color: inherit;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
  transition: color var(--transition-fast), opacity var(--transition-fast);
}

#pb-604 :where(.runevents__section a:hover){
  opacity: 0.8;
}

#pb-604 .runevents__eyebrow,#pb-604 .runevents__fact-label,#pb-604 .runevents__stat-label,#pb-604 .runevents__numeral-label,#pb-604 .runevents__time,#pb-604 .runevents__meta{
  font-size: var(--text-overline);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#pb-604 .runevents__eyebrow,#pb-604 .runevents__eyebrow--rule{
  color: inherit; /* follows the surface it sits on: dark on the ground, white on purple cards */
}

#pb-604 .runevents__skip-link{
  background: var(--color-surface);
  color: var(--color-text);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-md);
}

#pb-604 .runevents__skip-link:focus-visible,#pb-604 .runevents__btn:focus-visible,#pb-604 .runevents__input:focus-visible,#pb-604 .runevents__select:focus-visible,#pb-604 .runevents__textarea:focus-visible,#pb-604 .runevents__faq-question:focus-visible{
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--color-focus-ring);
}

#pb-604 .runevents__sr-only{
  position: absolute;
  width: 0.0625rem;
  height: 0.0625rem;
  padding: 0;
  margin: calc(-1 * 0.0625rem);
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#pb-604 .runevents__container{
  max-width: var(--page-max);
}

#pb-604 .runevents__section{
  --section-bg: transparent;
  --section-fg: var(--color-on-bg); /* sections are transparent on the white ground; text is dark purple */
  padding-block: var(--section-pad);
  color: var(--section-fg);
  background: var(--section-bg);
}

#pb-604 .runevents__section--flush,#pb-604 .runevents__section--flush-top,#pb-604 .runevents__section--flush-bottom{
  --section-pad: clamp(0.25rem, 0.8rem, 0.5rem);
}

#pb-604 .runevents__section-header{
  margin-bottom: var(--space-lg);
}

#pb-604 .runevents__row{
  align-items: stretch;
  row-gap: 1.25rem;
}

#pb-604 .runevents__cell{
  display: flex;
}

/* The default card: purple surface, white text, big radius, no border, no shadow. */
#pb-604 .runevents__card,#pb-604 .runevents__fact,#pb-604 .runevents__tier,#pb-604 .runevents__stat-panel,#pb-604 .runevents__quote,#pb-604 .runevents__faq-item,#pb-604 .runevents__panel,#pb-604 .runevents__media-frame,#pb-604 .runevents__embed,#pb-604 .runevents__widget,#pb-604 .runevents__logo-frame{
  background: var(--color-surface);
  color: var(--color-text);
  border: 0;
  border-radius: var(--radius-lg);
  box-shadow: none;
}

#pb-604 .runevents__card,#pb-604 .runevents__fact,#pb-604 .runevents__tier,#pb-604 .runevents__stat-panel,#pb-604 .runevents__quote,#pb-604 .runevents__faq-item,#pb-604 .runevents__panel,#pb-604 .runevents__widget{
  padding: 2.25rem;
}

#pb-604 .runevents__card-body,#pb-604 .runevents__fact-body,#pb-604 .runevents__footer-col{
  display: grid;
  gap: var(--space-md);
}

#pb-604 .runevents__card-body > :last-child,#pb-604 .runevents__fact-body > :last-child,#pb-604 .runevents__footer-col > :last-child{
  margin-bottom: 0;
}

#pb-604 .runevents__card-media,#pb-604 .runevents__fact-media,#pb-604 .runevents__hero-media,#pb-604 .runevents__media-frame,#pb-604 .runevents__embed{
  border-radius: var(--radius-lg);
  overflow: hidden;
}

#pb-604 .runevents__media-frame,#pb-604 .runevents__embed,#pb-604 .runevents__logo-frame{
  background: var(--color-surface);
}

#pb-604 .runevents__media-frame--tint{
  --media-tint: color-mix(in srgb, var(--color-primary) 14%, transparent);
  --media-blend: multiply;
}

#pb-604 .runevents__hero,#pb-604 .runevents__hero--tall,#pb-604 .runevents__hero--compact,#pb-604 .runevents__overlap-panel,#pb-604 .runevents__panel--dark,#pb-604 .runevents__stat-panel--dark,#pb-604 .runevents__section--dark{
  --section-fg: var(--color-text-on-surface-dark);
  color: var(--color-text-on-surface-dark);
}

#pb-604 .runevents__hero{
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 0;
}

/* Hero image overlay: a flat dark-purple tint. Change only --hero-overlay-strength. */
#pb-604 .runevents__hero-overlay{
  --hero-overlay-strength: 80%;
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--color-surface-dark) var(--hero-overlay-strength), transparent);
}

#pb-604 .runevents__hero-inner{
  gap: var(--space-lg);
}

#pb-604 .runevents__section--primary{
  --section-bg: transparent;
  --section-fg: var(--color-on-bg);
  color: var(--color-on-bg);
}

/* Red cards: the secondary as a card surface, white text. */
#pb-604 .runevents__section--secondary,#pb-604 .runevents__panel--dark,#pb-604 .runevents__stat-panel--dark,#pb-604 .runevents__tier--featured{
  background: linear-gradient(135deg, var(--color-secondary), var(--color-secondary-hover));
  color: var(--color-text-on-secondary);
}

#pb-604 .runevents__section--dark{
  background: var(--color-surface-dark);
  color: var(--color-text-on-surface-dark);
}

/* Cyan cards: the accent as a card surface, dark purple text. */
#pb-604 .runevents__section--light,#pb-604 .runevents__card--glass,#pb-604 .runevents__panel--glass,#pb-604 .runevents__fact,#pb-604 .runevents__stat-panel,#pb-604 .runevents__logo-frame{
  background: var(--color-surface-alt);
  color: var(--color-on-bg);
}

#pb-604 .runevents__card:nth-child(3n),#pb-604 .runevents__widget:nth-child(3n){
  background: var(--color-surface-alt);
  color: var(--color-on-bg);
}

#pb-604 .runevents__card:nth-child(4n),#pb-604 .runevents__widget:nth-child(4n){
  background: linear-gradient(135deg, var(--color-secondary), var(--color-secondary-hover));
  color: var(--color-text-on-secondary);
}

#pb-604 .runevents__card:nth-child(4n) :where(a, p, li, h1, h2, h3, h4),#pb-604 .runevents__widget:nth-child(4n) :where(a, p, li, h1, h2, h3, h4){
  color: inherit;
}

#pb-604 .runevents__fact-figure,#pb-604 .runevents__stat-figure,#pb-604 .runevents__numeral,#pb-604 .runevents__tier-price{
  font-family: var(--font-heading);
  font-weight: var(--font-weight-heading);
  letter-spacing: var(--tracking-display);
  line-height: 0.95;
}

#pb-604 .runevents__fact-figure,#pb-604 .runevents__stat-figure{
  font-size: var(--text-h2);
  color: var(--color-secondary);
}

#pb-604 .runevents__numeral,#pb-604 .runevents__numeral--accent{
  color: inherit;
}

#pb-604 .runevents__divider,#pb-604 .runevents__eyebrow--rule{
  color: inherit;
}

#pb-604 .runevents__divider{
  opacity: 1;
}

#pb-604 .runevents__badge{
  background: var(--color-secondary);
  color: var(--color-text-on-secondary);
  border-radius: var(--radius-full);
}

/* Buttons on the white ground: purple pill, white text. */
#pb-604 .runevents__btn{
  background: var(--color-surface);
  color: var(--color-text);
  border: 0;
  border-radius: var(--radius-full);
  box-shadow: none;
  font-family: var(--font-body);
  font-weight: 700;
  transition: background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast);
}

#pb-604 .runevents__btn:hover{
  background: var(--color-primary-hover);
  color: var(--color-text);
  transform: translateY(calc(-1 * 0.0625rem));
}

#pb-604 .runevents__btn--primary{
  background: var(--color-surface);
  color: var(--color-text);
}

/* Buttons inside a card, panel, hero, overlap panel or coloured section: white pill, dark purple text. */
#pb-604 .runevents__card .runevents__btn:not(.runevents__btn--outline),#pb-604 .runevents__panel .runevents__btn:not(.runevents__btn--outline),#pb-604 .runevents__fact .runevents__btn:not(.runevents__btn--outline),#pb-604 .runevents__tier .runevents__btn:not(.runevents__btn--outline),#pb-604 .runevents__stat-panel .runevents__btn:not(.runevents__btn--outline),#pb-604 .runevents__widget .runevents__btn:not(.runevents__btn--outline),#pb-604 .runevents__overlap-panel .runevents__btn:not(.runevents__btn--outline),#pb-604 .runevents__hero .runevents__btn:not(.runevents__btn--outline),#pb-604 .runevents__section--dark .runevents__btn:not(.runevents__btn--outline),#pb-604 .runevents__section--secondary .runevents__btn:not(.runevents__btn--outline),#pb-604 .runevents__section--light .runevents__btn:not(.runevents__btn--outline){
  background: var(--color-bg);
  color: var(--color-on-bg);
}

#pb-604 .runevents__card .runevents__btn:not(.runevents__btn--outline):hover,#pb-604 .runevents__panel .runevents__btn:not(.runevents__btn--outline):hover,#pb-604 .runevents__fact .runevents__btn:not(.runevents__btn--outline):hover,#pb-604 .runevents__tier .runevents__btn:not(.runevents__btn--outline):hover,#pb-604 .runevents__stat-panel .runevents__btn:not(.runevents__btn--outline):hover,#pb-604 .runevents__widget .runevents__btn:not(.runevents__btn--outline):hover,#pb-604 .runevents__overlap-panel .runevents__btn:not(.runevents__btn--outline):hover,#pb-604 .runevents__hero .runevents__btn:not(.runevents__btn--outline):hover,#pb-604 .runevents__section--dark .runevents__btn:not(.runevents__btn--outline):hover,#pb-604 .runevents__section--secondary .runevents__btn:not(.runevents__btn--outline):hover,#pb-604 .runevents__section--light .runevents__btn:not(.runevents__btn--outline):hover{
  background: color-mix(in srgb, var(--color-bg) 90%, var(--color-on-bg) 10%);
  color: var(--color-on-bg);
}

/* Outline buttons take the colour of whatever they sit on. */
#pb-604 .runevents__btn--outline{
  background: transparent;
  color: inherit;
  border: 0.125rem solid currentColor;
}

#pb-604 .runevents__btn--outline:hover{
  background: color-mix(in srgb, currentColor 12%, transparent);
  color: inherit;
}

#pb-604 .runevents__btn-row--center{
  justify-content: center;
}

#pb-604 .runevents__input,#pb-604 .runevents__select,#pb-604 .runevents__textarea{
  background: var(--color-bg);
  color: var(--color-on-bg);
  border: 0.125rem solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: none;
}

#pb-604 .runevents__label{
  color: inherit;
  font-weight: 700;
}

#pb-604 .runevents__field-hint{
  color: inherit;
  opacity: 0.75;
}

#pb-604 .runevents__field-error{
  color: var(--color-error);
}

#pb-604 .runevents__faq-question{
  color: inherit;
}

#pb-604 .runevents__footer{
  background: transparent;
  color: var(--color-on-bg);
}

#pb-604 .runevents__footer .runevents__card,#pb-604 .runevents__footer .runevents__panel,#pb-604 .runevents__footer .runevents__widget{
  background: var(--color-surface);
  color: var(--color-text);
}

#pb-604 .runevents__footer-legal,#pb-604 .runevents__text-muted,#pb-604 .runevents__meta,#pb-604 .runevents__quote-cite{
  color: inherit; /* small text follows its surface; slightly softened */
  opacity: 0.85;
}

#pb-604 .runevents__logo-strip--muted{
  opacity: 1;
}

#pb-604 .runevents__card--lift:hover,#pb-604 .runevents__tier--featured:hover,#pb-604 .runevents__stat-panel--lift:hover,#pb-604 .runevents__fact:hover,#pb-604 .runevents__media-frame:hover{
  transform: translateY(var(--lift-y));
  box-shadow: var(--lift-shadow);
}

#pb-604 .runevents__card--flush,#pb-604 .runevents__card-grid .runevents__card,#pb-604 .runevents__logo-row .runevents__logo-frame{
  box-shadow: none;
}

#pb-604 .runevents__header,#pb-604 .runevents__header-brand,#pb-604 .runevents__header-nav{
  color: var(--color-on-bg);
}

#pb-604 .runevents__time{
  color: inherit;
  font-family: var(--font-mono);
}

#pb-604 .runevents__reveal,#pb-604 .runevents__reveal--fade,#pb-604 .runevents__reveal--rise,#pb-604 .runevents__reveal--scale,#pb-604 .runevents__reveal--left,#pb-604 .runevents__reveal--right,#pb-604 .runevents__reveal--blur,#pb-604 .runevents__reveal--stagger{
  transition-duration: var(--motion-duration);
  transition-timing-function: var(--motion-ease);
}

@container (max-width: 48rem) {
  #pb-604{
    --text-display: clamp(2.35rem, 6.4cqi, 3.5rem);
    --text-h1: clamp(2rem, 5.4cqi, 2.8rem);
    --text-h2: clamp(1.7rem, 4.4cqi, 2.2rem);
    --page-max: 100%;
  }

  #pb-604 .runevents__section-header{
    margin-bottom: var(--space-md);
  }

  #pb-604 .runevents__card,#pb-604 .runevents__fact,#pb-604 .runevents__tier,#pb-604 .runevents__stat-panel,#pb-604 .runevents__quote,#pb-604 .runevents__faq-item,#pb-604 .runevents__panel,#pb-604 .runevents__widget{
    padding: 2rem;
  }
}

@container (max-width: 32rem) {
  #pb-604{
    --section-pad: clamp(0.4rem, 0.8rem, 0.6rem);
    --gutter: clamp(0.875rem, 4%, 1rem);
  }

  #pb-604 .runevents__btn-row{
    align-items: stretch;
  }

  #pb-604 .runevents__btn,#pb-604 .runevents__btn--small,#pb-604 .runevents__btn--lg{
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  #pb-604 .runevents__btn,#pb-604 .runevents__card--lift,#pb-604 .runevents__tier--featured,#pb-604 .runevents__stat-panel--lift,#pb-604 .runevents__fact,#pb-604 .runevents__media-frame,#pb-604 .runevents__reveal,#pb-604 .runevents__reveal--fade,#pb-604 .runevents__reveal--rise,#pb-604 .runevents__reveal--scale,#pb-604 .runevents__reveal--left,#pb-604 .runevents__reveal--right,#pb-604 .runevents__reveal--blur,#pb-604 .runevents__reveal--stagger{
    transition: none;
    transform: none;
  }
}