:root {
  --color-white: #fff;
  --color-black: #000;
  --color-brand: #ee7620;
  --color-silver-gray: #d9d9d9;
  --color-spanish-gray: #9e9e9e;
  --color-granit-gray: #616161;
  --color-content-default: var(--color-black);
  --color-content-subtle: var(--color-granit-gray);
  --color-content-accent: var(--color-brand);
  --color-content-inverse: var(--color-white);
  --color-background-default: var(--color-white);
  --color-background-subtle: var(--color-silver-gray);
  --color-background-accent: var(--color-brand);
  --color-background-inverse: var(--color-black);
  --color-border-strong: var(--color-black);
  --color-border-subtle: var(--color-granit-gray);
  --color-border-accent: var(--color-brand);
  --color-border-inverse: var(--color-white);
  --color-content-utility-success: #198038;
  --color-content-utility-warning: #8f6b00;
  --color-content-utility-error: #dc1e27;
  --color-background-utility-success: #a8f0bb;
  --color-background-utility-warning: #fddd68;
  --color-background-utility-error: #ffd6d8;
  --focus-ring-color-outline: var(--color-content-accent);
  --font-display: "URW Grotesk Extra Narrow", sans-serif;
  --font-primary: "URW Grotesk", sans-serif;
  --font-secondary: "Trianon Text", serif;
  --size-0: clamp(1.25rem, 1.1875rem + .3125vw, 1.5rem);
  --size-1: clamp(1.4063rem, 1.3078rem + .4922vw, 1.8rem);
  --size-2: clamp(1.582rem, 1.4375rem + .7225vw, 2.16rem);
  --size-3: clamp(1.7798rem, 1.5767rem + 1.0153vw, 2.592rem);
  --size-4: clamp(2.0023rem, 1.7252rem + 1.3852vw, 3.1104rem);
  --size-5: clamp(2.2525rem, 1.8826rem + 1.8499vw, 3.7325rem);
  --size-6: clamp(2.5341rem, 2.0479rem + 2.4311vw, 4.479rem);
  --leading-tight: .9;
  --leading-snug: 1.25;
  --leading-normal: 1.375;
  --leading-relaxed: 1.5;
  --leading-loose: 1.625;
  --tracking-tighter: -.05em;
  --tracking-tight: -.025em;
  --tracking-normal: 0;
  --tracking-wide: .025em;
  --tracking-wider: .05em;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --space-3xs: clamp(.3125rem, .2969rem + .0781vw, .375rem);
  --space-2xs: clamp(.625rem, .5938rem + .1563vw, .75rem);
  --space-xs: clamp(.9375rem, .8906rem + .2344vw, 1.125rem);
  --space-sm: clamp(1.25rem, 1.1875rem + .3125vw, 1.5rem);
  --space-md: clamp(1.875rem, 1.7813rem + .4688vw, 2.25rem);
  --space-lg: clamp(2.1875rem, 2.0781rem + .5469vw, 2.625rem);
  --space-xl: clamp(2.5rem, 2.375rem + .625vw, 3rem);
  --space-2xl: clamp(3.125rem, 2.9688rem + .7813vw, 3.75rem);
  --space-3xl: clamp(3.75rem, 3.5625rem + .9375vw, 4.5rem);
  --space-4xl: clamp(5rem, 4.75rem + 1.25vw, 6rem);
  --space-5xl: clamp(6.25rem, 5.9375rem + 1.5625vw, 7.5rem);
  --space-6xl: clamp(7.5rem, 7.125rem + 1.875vw, 9rem);
  --space-md-3xl: clamp(1.875rem, 1.2188rem + 3.2813vw, 4.5rem);
  --space-md-6xl: clamp(1.875rem, .0938rem + 8.9063vw, 9rem)     /** 30px → 120px */;
  --ease-in: cubic-bezier(.5, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, .5, 1);
  --layer-base: 0;
  --layer-popover: 10;
  --layer-header: 20;
  --layer-top: 100;
  --shadow-color: 220 3% 15%;
  --shadow-strength: 2%;
  --shadow-1: 0 1px 2px -1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
  --shadow-2: 0 3px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
    0 7px 14px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%));
  --shadow-3: 0 -1px 3px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)),
    0 1px 2px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)),
    0 2px 5px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
    0 4px 12px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)),
    0 12px 15px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));
}

*, :before, :after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

body, h1, h2, h3, h4, p, li, dl, dd, blockquote, figure, figcaption, fieldset {
  margin: 0;
}

html {
  accent-color: var(--color-content-accent);
  scroll-behavior: smooth;
  interpolate-size: allow-keywords;
}

body {
  min-block-size: 100vb;
  font-family: var(--font-primary);
  font-size: var(--size-0);
  font-weight: var(--weight-light);
  line-height: var(--leading-normal);
}

hr {
  block-size: 0;
  inline-size: 100%;
  color: inherit;
  border-block-start-width: 1px;
  overflow: visible;
}

pre {
  white-space: pre-wrap;
}

address {
  font-style: normal;
}

h1, h2, h3, h4 {
  font-weight: var(--weight-regular);
  text-wrap: balance;
  overflow-wrap: break-word;
  font-size: 1em;
}

small {
  font-size: 1em;
}

b, strong {
  font-weight: var(--weight-medium);
}

ol, ul {
  margin-block: 0;
}

:where(ol[role="list"][class], ul[role="list"][class]) {
  padding-inline-start: 0;
  list-style: none;
}

sub, sup {
  --parent-size: calc(2 * (1em - 4px));
  --size: calc(.5em + 4px);
  --scale: .83;
  vertical-align: baseline;
  font-size: var(--size);
  position: relative;
  inset-block-start: calc(var(--offset) * var(--scale) * var(--parent-size));
}

sub {
  --offset: .25;
}

sup {
  --offset: -.5;
}

a, button {
  color: currentColor;
  text-decoration-line: none;
  -webkit-text-decoration-color: var(--underline-color, currentcolor);
  text-decoration-color: var(--underline-color, currentcolor);
  text-decoration-thickness: var(--underline-thickness, max(1px, .0625rem));
  -webkit-text-decoration-skip-ink: auto;
  text-decoration-skip-ink: auto;
  text-underline-offset: var(--underline-offset, .15em);
}

:focus-visible {
  --outline-thickness: max(2px, .125rem);
  --outline-color: var(--focus-ring-color-outline);
  outline: var(--outline-thickness) var(--outline-style, solid) var(--outline-color);
  outline-offset: var(--outline-offset, var(--outline-thickness));
}

:focus {
  scroll-margin-block-end: var(--scroll-margin-end, 5vh);
}

:target {
  scroll-margin-block-start: var(--scroll-margin-start, 5vh);
}

[hidden] {
  display: none !important;
}

[popover]:not(:popover-open, dialog[open]) {
  display: none !important;
}

img, svg, picture, canvas, audio, video {
  max-inline-size: 100%;
}

img, svg, canvas, video {
  block-size: auto;
}

picture {
  display: contents;
}

source {
  display: none;
}

img, svg {
  vertical-align: middle;
}

svg {
  fill: currentColor;
}

fieldset {
  border: 0;
  min-inline-size: 0;
  padding: 0;
}

legend {
  float: left;
  padding-inline: 0;
}

button, input, select, textarea {
  font: inherit;
}

textarea {
  field-sizing: content;
  resize: vertical;
  min-block-size: 3lh;
}

button {
  color: inherit;
  cursor: pointer;
  background-color: #0000;
  padding: 0;
}

label[for] {
  cursor: pointer;
}

::placeholder {
  color: var(--form-color-content);
  opacity: .38;
}

date-picker, focus-zone, floating-popover, responsive-nav {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    interpolate-size: numeric-only !important;
    scroll-behavior: auto !important;
    transition-behavior: normal !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: -1ms !important;
  }
}

@font-face {
  font-family: URW Grotesk;
  src: url("/assets/build/urw-grotesk-400.B2EVrn3W.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: URW Grotesk;
  src: url("/assets/build/urw-grotesk-300.BhNMXii9.woff2") format("woff2");
  font-style: normal;
  font-weight: 300;
  font-display: fallback;
}

@font-face {
  font-family: URW Grotesk;
  src: url("/assets/build/urw-grotesk-500.D7WBImjj.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: fallback;
}

@font-face {
  font-family: URW Grotesk Extra Narrow;
  src: url("/assets/build/urw-grotesk-extra-narrow-500.iU8K_gFV.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: Trianon Text;
  src: url("/assets/build/trianon-text-400.t3fZCjrx.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: color-emoji;
  src: local(Apple Color Emoji), local(Segoe UI Emoji), local(Segoe UI Symbol), local(Noto Color Emojo);
}

@property --scroll-indicator-start {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --scroll-indicator-end {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@keyframes scroll-indicator {
  0% {
    --scroll-indicator-start: 0;
    --scroll-indicator-end: var(--scroll-indicator-size, 1.5rem);
  }

  15% {
    --scroll-indicator-start: var(--scroll-indicator-size, 1.5rem);
  }

  85% {
    --scroll-indicator-end: var(--scroll-indicator-size, 1.5rem);
  }

  100% {
    --scroll-indicator-start: var(--scroll-indicator-size, 1.5rem);
    --scroll-indicator-end: 0;
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
}

@keyframes slide-in-up {
  from {
    translate: 0% 25%;
  }
}

@keyframes hide-tray {
  from {
    clip-path: inset(0%);
    translate: 0%;
  }

  to {
    clip-path: inset(100% 0% 0%);
    translate: 0% -100%;
  }
}

[data-theme="default"] {
  --theme-color-content: var(--color-content-default);
  --theme-color-background: var(--color-background-default);
  --button-color-content: var(--color-content-inverse);
  --button-color-content-hover: var(--color-content-default);
  --button-color-border: var(--color-background-inverse);
  --button-color-border-hover: var(--color-content-default);
  --button-color-background: var(--color-background-inverse);
  --button-color-background-hover: var(--color-background-default);
  --form-color-content: var(--color-content-default);
  --form-color-border: var(--color-border-subtle);
  --form-color-border-focus: var(--color-border-accent);
  --form-color-background: var(--color-background-default);
  --form-color-background-focus: var(--color-background-default);
  --scrollbar-color-thumb: var(--color-content-default);
  --scrollbar-color-track: var(--color-background-default);
  --shadow-strength: 2%;
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  accent-color: var(--color-content-accent);
  color: var(--theme-color-content);
  background-color: var(--theme-color-background);
}

[data-theme="inverse"] {
  --theme-color-content: var(--color-content-inverse);
  --theme-color-background: var(--color-background-inverse);
  --button-color-content: var(--color-content-default);
  --button-color-content-hover: var(--color-content-inverse);
  --button-color-border: var(--color-background-default);
  --button-color-border-hover: var(--color-border-accent);
  --button-color-background: var(--color-background-default);
  --button-color-background-hover: var(--color-background-accent);
  --form-color-content: var(--color-content-default);
  --form-color-border: var(--color-border-subtle);
  --form-color-border-focus: var(--color-border-accent);
  --form-color-background: var(--color-background-default);
  --form-color-background-focus: var(--color-background-default);
  --scrollbar-color-thumb: var(--color-content-inverse);
  --scrollbar-color-track: var(--color-background-inverse);
  --shadow-strength: 10%;
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  accent-color: var(--color-content-accent);
  color: var(--theme-color-content);
  background-color: var(--theme-color-background);
}

.container {
  --container-measure: 100rem;
  --container-gutter: var(--space-sm);
  inline-size: min(var(--container-measure), 100% - 2 * var(--container-gutter));
  margin-inline: auto;
}

.container--narrow {
  --container-measure: 64rem;
}

.container--wide {
  --container-measure: 100rem;
}

.cluster {
  --cluster-space: var(--space-sm);
  gap: var(--cluster-space);
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.stack {
  --stack-space: var(--space-sm);
  flex-direction: column;
  display: flex;
}

.stack > * {
  margin-block: 0;
}

.stack > * + * {
  margin-block-start: var(--stack-space);
}

.stack--2xs {
  --stack-space: var(--space-2xs);
}

.stack--xs {
  --stack-space: var(--space-xs);
}

.stack--sm {
  --stack-space: var(--space-sm);
}

.stack--md {
  --stack-space: var(--space-md);
}

.stack--lg {
  --stack-space: var(--space-lg);
}

.grid {
  --column-min-size: 16em;
  --column-max-size: 100%;
  --column-gap: var(--gap, var(--space-sm));
  --row-gap: var(--gap, var(--space-2xl));
  --track-size: min(var(--column-min-size), var(--column-max-size));
  grid-template-columns: repeat(var(--auto-repeat, auto-fill), minmax(var(--track-size), 1fr));
  gap: var(--row-gap) var(--column-gap);
  display: grid;
}

.grid[data-limit] {
  --column-gap-size: calc(var(--column-gap) * (var(--column-limit) - 1));
  --column-max-size: calc((100% - var(--column-gap-size)) / var(--column-limit));
  --track-size: min(max(var(--column-min-size), var(--column-max-size)), 100%);
}

.grid[data-auto-repeat="fit"] {
  --auto-repeat: auto-fit;
}

.grid[data-auto-repeat="fill"] {
  --auto-repeat: auto-fill;
}

.grid[data-limit="2"] {
  --column-limit: 2;
}

.grid[data-limit="3"] {
  --column-limit: 3;
}

.grid[data-limit="4"] {
  --column-limit: 4;
}

.layout {
  --columns: 12;
  --column-gap: var(--gap, var(--space-sm));
  --row-gap: var(--gap, var(--space-3xl));
  grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
  gap: var(--row-gap) var(--column-gap);
  display: grid;
}

.layout__column {
  grid-column: span var(--span, var(--columns));
}

.layout__column[data-width="1/1"] {
  --span: var(--columns);
}

.layout__column[data-width="1/2"] {
  --span: calc(var(--columns) / 2);
}

.layout__column[data-width="1/3"] {
  --span: calc(var(--columns) / 3);
}

.frame {
  aspect-ratio: var(--aspect-ratio, auto);
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

.frame :is(a, img, video, iframe) {
  object-fit: var(--resize-strategy, cover);
  block-size: 100%;
  inline-size: 100%;
}

.frame__caption {
  position: absolute;
  inset-block-end: var(--space-sm);
  inset-inline-start: var(--space-sm);
}

.icon {
  --icon-size: 1em;
  vertical-align: middle;
  block-size: .675em;
  inline-size: auto;
  font-size: var(--icon-size);
  fill: currentColor;
  flex-shrink: 0;
  display: inline-flex;
}

.icon--md {
  --icon-size: 1.25em;
}

.icon--lg {
  --icon-size: 1.5em;
}

.icon--xl {
  --icon-size: 2.5em;
}

.icon--xxl {
  --icon-size: 5em;
}

.content {
  --content-max-size: 64rem;
  --popout-max-size: 82rem;
  --content-margin: var(--space-sm);
  --content-size: min(var(--content-max-size), 100% - 2 * var(--content-margin));
  --popout-size: minmax(0, calc(.5 * (var(--popout-max-size) - var(--content-max-size))));
  --full-size: minmax(var(--content-margin), 1fr);
  grid-template-columns: [full-start] var(--full-size)
    [popout-start] var(--popout-size)
    [content-start] var(--content-size)
    [content-end] var(--popout-size)
    [popout-end] var(--full-size)
    [full-end];
  display: grid;
}

.content > * + * {
  margin-block-start: var(--content-space, var(--space-6xl));
}

.content .content > * + * {
  margin-block-start: var(--content-space, var(--space-lg));
}

.content > :not([data-measure="full"], [data-measure="popout"]) {
  grid-column: content;
}

.content > [data-measure="full"] {
  grid-column: full;
}

.content > [data-measure="popout"] {
  grid-column: popout;
}

.content--narrow {
  --content-max-size: 64rem;
  --popout-max-size: 100rem;
}

.content--wide {
  --content-max-size: 82rem;
  --popout-max-size: 100rem;
}

@media (width <= 100em) {
  .content > [data-measure="popout"][data-theme="inverse"] {
    margin-inline: calc(-1 * var(--content-margin));
  }
}

.site-header {
  z-index: var(--layer-header);
  justify-content: space-between;
  align-items: center;
  gap: var(--space-sm);
  padding-inline: var(--space-xl);
  padding-block: var(--space-xs);
  display: flex;
  position: sticky;
  inset-block-start: -1px;
}

.site-header__logo {
  inline-size: 36px;
  transition-property: inline-size;
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
  display: block;
  overflow: clip;
}

.site-header__logo svg {
  max-inline-size: none;
}

@media (40em <= width < 76em) or (width >= 92em) {
  .site-header__logo {
    inline-size: auto;
    inline-size: calc-size(fit-content, size);
  }
}

.site-header__tray {
  position: absolute;
  inset-block-start: 100%;
  inset-inline: 0;
}

@supports (animation-timeline: scroll()) {
  .site-header__tray {
    animation-name: hide-tray;
    animation-fill-mode: forwards;
    animation-timeline: scroll();
    animation-range: 10% 15%;
  }
}

.site-nav {
  display: block;
}

.site-nav :is(a, button) {
  --underline-color: #fff0;
  white-space: nowrap;
  inline-size: 100%;
  transition-property: color, text-decoration-color;
  transition-duration: .15s;
  transition-timing-function: var(--ease-out);
  border-radius: .125em;
  text-decoration-line: underline;
  display: block;
}

.site-nav__menu-link--primary, .site-nav__submenu-button {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
  text-box: trim-end cap alphabetic;
  font-size: 1.5rem;
}

.site-nav__menu-link--secondary {
  font-family: var(--font-secondary);
  font-weight: var(--weight-regular);
  text-box: trim-end cap alphabetic;
  font-size: 1.25rem;
}

responsive-nav[mode="dialog"] {
  flex: none;
}

responsive-nav[mode="dialog"] .site-nav :is(a, button) {
  --outline-offset: -.125em;
  text-align: center;
  text-overflow: ellipsis;
  overflow: clip;
}

responsive-nav[mode="dialog"] .site-nav :is(a, button):is(:hover, :focus, [aria-current]) {
  color: var(--color-content-accent);
}

responsive-nav[mode="dialog"] .site-nav__menu-container {
  z-index: var(--layer-popover);
  gap: var(--space-xl);
  padding-block: var(--space-xs) var(--space-md);
  color: var(--color-content-inverse);
  background-color: var(--color-background-inverse);
  transition-behavior: allow-discrete, normal;
  transition-property: display, clip-path;
  transition-duration: .5s;
  transition-timing-function: var(--ease-out);
  clip-path: circle(150vmax at 100% 0);
  flex-direction: column;
  display: flex;
  position: fixed;
  inset: 0;
}

@starting-style {
  responsive-nav[mode="dialog"] .site-nav__menu-container {
    clip-path: circle(0% at 100% 0);
  }
}

responsive-nav[mode="dialog"] .site-nav__menu-container[hidden] {
  clip-path: circle(0% at 100% 0);
  transition-duration: .25s;
  transition-timing-function: var(--ease-in);
}

responsive-nav[mode="dialog"] .site-nav__menu {
  margin-inline: var(--space-md);
  flex-direction: column;
  flex-grow: 1;
  display: flex;
}

responsive-nav[mode="dialog"] .site-nav__menu-item {
  animation-name: fade-in, slide-in-up;
  animation-fill-mode: backwards;
  animation-timing-function: var(--ease-out);
  animation-duration: .125s;
  animation-delay: calc(var(--i) * 75ms + .2s);
}

responsive-nav[mode="dialog"] .site-nav__menu-item--primary {
  border-block: 1px solid var(--color-border-inverse);
  margin-block-end: -1px;
}

responsive-nav[mode="dialog"] .site-nav__menu-logo {
  color: var(--color-content-accent);
}

responsive-nav[mode="dialog"] .site-nav__menu-button {
  padding: var(--space-2xs);
}

responsive-nav[mode="dialog"] .site-nav__menu-close {
  align-self: flex-end;
  margin-inline-end: var(--space-xl);
}

responsive-nav[mode="dialog"] .site-nav__menu-link--primary, responsive-nav[mode="dialog"] .site-nav__submenu-button {
  padding-block: var(--space-sm);
  font-size: var(--size-3);
}

responsive-nav[mode="dialog"] .site-nav__menu-link--secondary {
  font-size: var(--size-1);
}

responsive-nav[mode="dialog"] .site-nav__submenu-container {
  block-size: auto;
  transition-behavior: allow-discrete;
  transition-property: display, block-size, opacity;
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
  margin-block-end: var(--space-sm);
  overflow: clip;
}

@starting-style {
  responsive-nav[mode="dialog"] .site-nav__submenu-container {
    opacity: 0;
    block-size: 0;
  }
}

responsive-nav[mode="dialog"] .site-nav__submenu-container[hidden] {
  opacity: 0;
  block-size: 0;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
}

responsive-nav[mode="dialog"] .site-nav__submenu {
  flex-direction: column;
  display: flex;
}

responsive-nav[mode="dialog"] .site-nav__submenu-link {
  padding-block: var(--space-2xs);
  text-decoration-line: underline;
}

responsive-nav[mode="dialog"] .site-nav__submenu-link[aria-current="page"] {
  color: var(--color-content-accent);
}

responsive-nav[mode="dialog"] .site-nav__menu-item--secondary + .site-nav__menu-item--secondary {
  margin-block-start: var(--space-md);
}

responsive-nav[mode="dialog"] .site-nav__menu-item--primary + .site-nav__menu-item--secondary, responsive-nav[mode="dialog"] .site-nav__menu-item--secondary + .site-nav__menu-item--home {
  margin-block-start: var(--space-2xl);
}

responsive-nav[mode="menubar"] {
  flex: 1 0;
}

responsive-nav[mode="menubar"] .site-nav :is(a, button) {
  --outline-offset: .25em;
}

responsive-nav[mode="menubar"] .site-nav :is(a, button):is(:hover, :focus, [aria-current]) {
  --underline-color: var(--color-border-accent);
}

responsive-nav[mode="menubar"] .site-nav__menu {
  flex-direction: row;
  display: flex;
}

responsive-nav[mode="menubar"] .site-nav__menu-open, responsive-nav[mode="menubar"] .site-nav__menu-close {
  display: none;
}

responsive-nav[mode="menubar"] .site-nav__menu-item {
  align-items: center;
  display: inline-flex;
  position: relative;
}

responsive-nav[mode="menubar"] .site-nav__menu-item--home {
  display: none;
}

responsive-nav[mode="menubar"] .site-nav__menu-item--primary:first-child {
  margin-inline-start: auto;
}

responsive-nav[mode="menubar"] .site-nav__menu-link, responsive-nav[mode="menubar"] .site-nav__submenu-button {
  padding-block: var(--space-2xs);
}

responsive-nav[mode="menubar"] .site-nav__menu-link[aria-current="page"] {
  --underline-color: var(--color-border-accent);
}

responsive-nav[mode="menubar"] .site-nav__submenu-container {
  z-index: var(--layer-popover);
  padding-block: var(--space-sm);
  padding-inline: var(--space-md);
  color: var(--color-content-inverse);
  background-color: var(--color-background-inverse);
  box-shadow: var(--shadow-3);
  transition-behavior: allow-discrete;
  transition-property: display, opacity, scale, translate;
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
  margin-inline-start: calc(-1 * var(--space-md));
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 0;
}

@starting-style {
  responsive-nav[mode="menubar"] .site-nav__submenu-container {
    opacity: 0;
    translate: 0 5%;
  }
}

responsive-nav[mode="menubar"] .site-nav__submenu-container[hidden] {
  opacity: 0;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
  translate: 0 5%;
}

responsive-nav[mode="menubar"] .site-nav__menu-item--primary + .site-nav__menu-item--primary {
  margin-inline-start: clamp(var(--space-sm), 3%, var(--space-3xl));
}

responsive-nav[mode="menubar"] .site-nav__menu-item--primary + .site-nav__menu-item--secondary {
  margin-inline-start: auto;
  padding-inline-start: var(--space-sm);
}

responsive-nav[mode="menubar"] .site-nav__menu-item--secondary + .site-nav__menu-item--secondary:before {
  content: "";
  block-size: 1em;
  inline-size: 1px;
  margin-block-start: .25em;
  margin-inline: var(--space-2xs);
  background-color: currentColor;
}

.site-main > :first-child:not(.hero, .cover) {
  margin-block-start: var(--content-space, var(--space-6xl));
}

.site-footer {
  margin-block-start: var(--space-6xl);
  padding-block-start: var(--space-md-6xl);
}

.site-footer__grid {
  justify-content: space-between;
  gap: var(--space-2xl);
  flex-wrap: wrap;
  display: flex;
}

.site-footer__grid-item {
  flex-grow: 1;
}

.site-footer__grid-item:last-child {
  padding-block: var(--space-4xl) var(--space-2xl);
  flex-basis: 100%;
  justify-content: space-between;
}

.hero {
  grid-template-columns: repeat(var(--columns, 1), minmax(0, 1fr));
  display: grid;
}

.hero__content, .hero__media {
  inline-size: 100%;
}

.hero__media {
  max-block-size: calc(100dvh * var(--ratio, 1 / 1));
  order: -1;
  position: relative;
  overflow: clip;
}

.hero__content {
  padding-inline: var(--space-sm);
  padding-block: var(--space-md-3xl);
  place-self: end center;
}

.hero__content p {
  text-wrap: pretty;
}

.hero__actions .button .icon {
  color: var(--color-brand);
}

.hero__actions .button:is(:hover, :focus) .icon {
  color: currentColor;
}

.hero__title {
  margin-block-end: var(--space-sm);
}

.hero__eyebrow {
  margin-block-end: var(--space-xs);
}

.hero__actions {
  margin-block-start: var(--space-xl);
}

.hero__image, .hero__video, .hero__video > img {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
  display: block;
}

.hero__video {
  aspect-ratio: var(--ratio);
}

.hero__image-caption {
  position: absolute;
  inset-block-end: var(--space-sm);
  inset-inline-start: var(--space-sm);
}

@media (orientation: portrait) {
  .hero {
    --ratio: 2 / 3;
  }
}

@media (orientation: landscape) {
  .hero {
    --ratio: 4 / 5;
  }
}

@media (width >= 56em) {
  .hero {
    --columns: 2;
  }

  .hero__content {
    max-inline-size: 62ch;
    padding-inline: var(--space-md-3xl);
    padding-block: clamp(var(--space-md), 10%, var(--space-6xl));
    margin-inline: auto;
  }

  .hero--reverse > .hero__media {
    order: 1;
  }
}

.button, .icon-button, .toggle-button {
  font-family: var(--font-secondary);
  font-weight: var(--weight-regular);
  line-height: var(--leading-snug);
}

:is(.button, .toggle-button) > .icon {
  translate: 0 -.05em;
}

.button, .icon-button {
  vertical-align: middle;
  align-self: flex-start;
  align-items: center;
  gap: var(--space-xs);
  border-width: 1px;
  border-color: var(--button-color-border);
  min-block-size: 2.75rem;
  color: var(--button-color-content);
  background-color: var(--button-color-background);
  transition-property: color, border-color, background-color;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
  padding-block: .5rem .25rem;
  padding-inline: 2rem;
  display: inline-flex;
}

:is(.button, .icon-button):is(:hover, :focus) {
  border-color: var(--button-color-border-hover);
  color: var(--button-color-content-hover);
  background-color: var(--button-color-background-hover);
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
}

.button--accent {
  --button-color-content: var(--color-content-inverse);
  --button-color-border: var(--color-background-accent);
  --button-color-background: var(--color-background-accent);
}

.button:disabled, .icon-button:disabled, .button--disabled, .icon-button--disabled {
  --button-color-content: var(--color-content-subtle);
  --button-color-content-hover: var(--color-content-subtle);
  --button-color-border: var(--color-background-subtle);
  --button-color-border-hover: var(--color-background-subtle);
  --button-color-background: var(--color-background-subtle);
  --button-color-background-hover: var(--color-background-subtle);
}

.button--floating, .toggle-button--floating, .icon-button--floating {
  z-index: var(--layer-popover);
  box-shadow: var(--shadow-2);
  border-radius: 99900000em;
  position: fixed;
  inset-block-end: var(--space-md-3xl);
  inset-inline-end: var(--space-md-3xl);
}

.icon-button {
  aspect-ratio: 1;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  padding: .5rem;
}

.toggle-button {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-2xs);
  text-align: start;
  flex-direction: row;
  inline-size: 100%;
  display: flex;
}

.toggle-button > .icon {
  transition-property: rotate;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
}

.toggle-button[aria-expanded="true"] > .icon {
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
  rotate: .5turn;
}

.link {
  vertical-align: middle;
  align-items: baseline;
  gap: var(--space-3xs);
  transition-property: color, background-color;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
  text-decoration-line: underline;
  display: inline-flex;
}

.link:any-link:is(:hover, :focus) {
  color: var(--color-content-accent);
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
}

.skip-link {
  z-index: var(--layer-top);
  padding: var(--space-2xs);
  text-align: center;
  color: var(--color-content-inverse);
  background-color: var(--color-background-accent);
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
  position: absolute;
  inset-inline-start: 50%;
  transform: translate(-50%, -100%);
}

.skip-link:is(:focus, :active) {
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
  opacity: 1;
  transform: translate(-50%);
}

.notification {
  padding-block: var(--space-2xs);
  padding-inline: var(--space-xl);
  font-size: .75em;
  line-height: var(--leading-snug);
}

.notification__title, .notification__text {
  text-box: trim-end;
}

.notification__title {
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  margin-block-end: var(--space-3xs);
}

.notification__icon, .notification__dismiss {
  flex-shrink: 0;
}

@media (width < 40em) {
  .notification {
    flex-direction: column;
    display: flex;
    position: relative;
  }

  .notification__icon {
    position: absolute;
    inset-inline-start: calc(var(--space-xl) - var(--icon-size));
  }

  .notification__dismiss {
    position: absolute;
    inset-inline-end: var(--space-xl);
  }
}

@media (width >= 40em) {
  .notification {
    justify-content: start;
    align-items: start;
    gap: var(--space-xs);
    flex-direction: row;
    display: flex;
  }

  .notification__title {
    margin-inline-start: auto;
  }

  .notification__text {
    margin-inline-end: auto;
  }
}

.heading {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
  text-wrap: balance;
}

.heading time, .heading data {
  text-transform: none;
  font-variant-numeric: tabular-nums;
}

.heading + .rich-text {
  --content-space: var(--space-sm);
}

.heading--xs {
  font-size: var(--size-2);
  line-height: var(--leading-snug);
}

.heading--sm {
  font-size: var(--size-3);
  line-height: var(--leading-snug);
}

.heading--md {
  font-size: var(--size-4);
  line-height: var(--leading-tight);
}

.heading--lg {
  font-size: var(--size-6);
  line-height: var(--leading-tight);
}

@media (width < 28em) {
  [data-template="concert-calendar"] .heading--lg {
    font-size: var(--size-5);
  }
}

.badge {
  vertical-align: middle;
  align-items: center;
  gap: var(--space-2xs);
  padding-inline: var(--space-xs);
  padding-block: var(--space-3xs);
  font-size: .875em;
  line-height: var(--leading-snug);
  white-space: nowrap;
  transition-property: color;
  transition-duration: .1s;
  transition-timing-function: var(--ease-out);
  border-width: 1px;
  display: inline-flex;
}

.badge:any-link:is(:hover, :focus) {
  color: var(--color-content-accent);
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
}

.bookmark {
  --outline-thickness: max(2px, .125rem);
  --outline-color: var(--focus-ring-color-outline);
  cursor: pointer;
  position: relative;
}

.bookmark:before {
  content: "";
  inset: calc(-1 * var(--outline-offset, var(--outline-thickness)));
  border-radius: var(--outline-radius, 0);
  box-shadow: 0 0 0 var(--outline-thickness) var(--outline-color);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition-behavior: allow-discrete;
  transition-property: opacity, visibility, scale;
  transition-duration: .15s;
  transition-timing-function: var(--ease-out);
  position: absolute;
  scale: .95;
}

.bookmark a:not(.bookmark__link) {
  position: relative;
}

.bookmark a:not(.bookmark__link):before {
  content: "";
  position: absolute;
  inset: -1em;
}

.bookmark .bookmark__link:focus-visible {
  text-decoration-line: underline;
}

.bookmark:hover .bookmark__action {
  border-color: var(--button-color-border-hover);
  color: var(--button-color-content-hover);
  background-color: var(--button-color-background-hover);
}

.bookmark:has(:focus-visible):before {
  opacity: 1;
  visibility: visible;
  transition-duration: .3s;
  transition-timing-function: var(--ease-out);
  scale: 1;
}

.bookmark:has(:focus-visible) .bookmark__link {
  outline: 0;
  text-decoration-line: none;
}

.bookmark:has(:focus-visible) .bookmark__action {
  border-color: var(--button-color-border-hover);
  color: var(--button-color-content-hover);
  background-color: var(--button-color-background-hover);
}

.popover {
  --available-inline-size: calc(1px * infinity);
  --available-block-size: calc(1px * infinity);
  --max-line-length: 40ch;
  z-index: var(--layer-popover);
  inline-size: max-content;
  max-inline-size: min(var(--max-line-length), var(--available-inline-size));
  max-block-size: var(--available-block-size);
  padding: var(--space-md);
  box-shadow: var(--shadow-3);
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 0;
  overflow: auto;
}

.disclosure__content {
  transition-behavior: allow-discrete;
  transition-property: display, block-size, opacity;
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
  margin-block-start: var(--space-xs);
  overflow: hidden;
}

@starting-style {
  .disclosure__content {
    opacity: 0;
    block-size: 0;
  }
}

.disclosure__content[hidden] {
  opacity: 0;
  block-size: 0;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
}

.accordion {
  padding-block: var(--space-md-6xl);
  flex-direction: column;
  display: flex;
}

.accordion .disclosure {
  padding-block: var(--space-xs);
  border-block: 1px solid var(--color-border-inverse);
  margin-block-end: -1px;
}

.accordion__title {
  text-align: center;
  margin-block-end: var(--space-md-3xl);
}

.panel {
  gap: var(--space-xl);
  flex-direction: column;
  display: flex;
}

.panel__header {
  border-block-end: 1px solid var(--color-border-strong);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.panel__title {
  font-family: var(--font-secondary);
  font-weight: var(--weight-regular);
  font-size: var(--size-2);
  line-height: var(--leading-normal);
}

.item {
  --outline-offset: .5em;
  padding-block: var(--space-md);
  border-block-width: 1px;
  margin-block-start: -1px;
  position: relative;
}

.item__wrapper {
  flex-direction: column;
  display: flex;
}

.item__content {
  font-size: .875em;
}

.item__content p {
  text-wrap: pretty;
}

.item__media {
  order: -1;
  margin-block-end: var(--space-md);
}

.item__action {
  margin-block-start: var(--space-md);
}

.item__image {
  inline-size: 100%;
}

.item__title {
  margin-block-end: var(--space-2xs);
}

.item__eyebrow {
  gap: var(--space-2xs);
  align-items: start;
  margin-block-end: var(--space-2xs);
  display: flex;
}

.item__description {
  font-family: var(--font-primary);
  font-weight: var(--weight-regular);
  margin-block-start: var(--space-sm);
}

.item__badge {
  z-index: 1;
  aspect-ratio: 1;
  min-block-size: 12ch;
  padding: var(--space-2xs);
  font-family: var(--font-secondary);
  font-weight: var(--weight-regular);
  opacity: .95;
  color: var(--color-content-inverse);
  background-color: var(--color-background-accent);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  translate: 0% -50%;
  rotate: -15deg;
}

@media (width >= 56em) {
  .item {
    --wrapper-size: var(--content-max-size, 82rem);
    --content-size: minmax(0, 1fr);
    --media-size: max-content;
    --action-size: max-content;
    --column-gap: 5vw;
    --max-lines: 3;
    --grid-template-rows: "media content action";
    --grid-template-columns: var(--media-size) var(--content-size) var(--action-size);
    inline-size: 100%;
    display: block;
    position: relative;
  }

  .item:has(.item__image) {
    --wrapper-size: 100%;
  }

  .item:not(:has(.item__media)) {
    --grid-template-rows: "content action";
    --grid-template-columns: var(--content-size) var(--action-size);
  }

  .item[data-type="performance"] {
    --max-lines: 1;
  }

  .item[data-type="job"] {
    --max-lines: 2;
  }

  .item__wrapper {
    grid-template: var(--grid-template-rows) / var(--grid-template-columns);
    column-gap: var(--column-gap);
    inline-size: min(var(--wrapper-size), 100%);
    margin-inline: auto;
    display: grid;
  }

  .item__content {
    grid-area: content;
    align-self: center;
  }

  .item__media {
    grid-area: media;
    margin-block: 0;
  }

  .item__action {
    grid-area: action;
    place-self: center end;
    margin-block: 0;
  }

  .item__image {
    aspect-ratio: 1;
    object-fit: cover;
    inline-size: 16rem;
  }

  .item__description {
    -webkit-line-clamp: var(--max-lines);
    line-clamp: var(--max-lines);
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }
}

.pagination {
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-md);
  grid-template: "prev list next";
  display: grid;
}

:is(.collection, .grid) + .pagination {
  margin-block-start: var(--content-space, var(--space-md-3xl));
}

.pagination__list {
  flex-wrap: wrap;
  grid-area: list;
  gap: .125em;
  display: flex;
}

.pagination__prev {
  grid-area: prev;
}

.pagination__next {
  grid-area: next;
}

.pagination__link, .pagination__ellipsis {
  justify-content: center;
  align-items: baseline;
  gap: var(--space-xs);
  text-align: center;
  min-block-size: 2em;
  min-inline-size: 2em;
  padding: .25em .5em;
  display: inline-flex;
}

.pagination__link[aria-current="page"] {
  font-weight: var(--weight-medium);
  color: var(--color-content-inverse);
  background-color: var(--color-background-accent);
}

.pagination__link:any-link:is(:hover, :focus) {
  color: var(--color-content-inverse);
  background-color: var(--color-background-inverse);
}

.pagination__link:not(:any-link) {
  opacity: .5;
  cursor: not-allowed;
}

.pagination__ellipsis {
  font-weight: var(--weight-regular);
}

.pagination__icon {
  translate: 0 .125em;
}

@media (width < 28em) {
  .pagination {
    grid-template: "prev next";
  }

  .pagination__list, .pagination__text {
    display: none;
  }
}

@media (width >= 28em) {
  .pagination__list {
    display: none;
  }

  .pagination__text {
    display: block;
  }
}

@media (width >= 40em) {
  .pagination__list {
    display: flex;
  }

  .pagination__text {
    display: none;
  }
}

.empty-state {
  --content-space: var(--space-md);
  padding-block: var(--space-md-3xl);
  padding-inline: var(--space-sm);
  border-width: 1px;
  border-color: var(--color-border-strong);
  text-align: center;
  flex-direction: column;
  align-items: center;
  display: flex;
}

.empty-state > * {
  max-inline-size: 32em;
}

.empty-state__title {
  --stack-space: var(--space-md);
  font-family: var(--font-primary);
  font-weight: var(--weight-medium);
  font-size: var(--size-0);
  text-box: trim-end text alphabetic;
}

.drawer {
  z-index: var(--layer-top);
  gap: var(--space-xl);
  max-block-size: none;
  max-inline-size: none;
  padding-block: var(--space-xl);
  padding-inline: var(--space-md);
  transition-behavior: allow-discrete;
  transition-property: display, translate, visibility;
  transition-duration: .15s;
  transition-timing-function: var(--ease-in);
  box-shadow: var(--shadow-3);
  flex-direction: column;
  margin: 0;
  display: flex;
  position: fixed;
}

.drawer:not([open]) {
  display: none;
}

.drawer[open] {
  transition-duration: .3s;
  transition-timing-function: var(--ease-out);
  translate: 0;
}

.drawer__header {
  --cluster-space: var(--space-xl);
}

.drawer__content {
  flex-grow: 1;
}

.drawer__title {
  text-box-trim: trim-end;
}

.drawer--inline-end {
  block-size: 100%;
  inset-block: 0;
  inset-inline: auto 0;
  translate: 100%;
}

@starting-style {
  .drawer--inline-end[open] {
    translate: 100%;
  }
}

.drawer--block-end {
  inline-size: 100%;
  inset-block: auto 0;
  inset-inline: 0;
  translate: 0% 100%;
}

@starting-style {
  .drawer--block-end[open] {
    translate: 0% 100%;
  }
}

.gallery {
  gap: var(--space-xl);
  flex-direction: column;
  display: flex;
}

.gallery__list {
  gap: var(--space-xl);
  scroll-snap-type: x mandatory;
  grid-auto-flow: column;
  display: grid;
}

.gallery__list-item {
  scroll-snap-align: start;
}

.gallery__frame {
  position: relative;
}

.gallery__image {
  object-fit: cover;
  block-size: 62vh;
  max-block-size: none;
  inline-size: auto;
  max-inline-size: 90vw;
  display: block;
}

.gallery__image-caption {
  position: absolute;
  inset-block-end: var(--space-sm);
  inset-inline-start: var(--space-sm);
}

.featured-content {
  text-align: center;
  flex-direction: column;
  display: flex;
  position: relative;
}

.featured-content__media {
  order: -1;
  margin-block-end: var(--space-md);
}

.featured-content__actions {
  justify-content: center;
  column-gap: var(--space-xl);
  margin-block-start: var(--space-xl);
}

.featured-content__image, .featured-content__video, .featured-content__video > img {
  inline-size: 100%;
  display: block;
}

.featured-content__video {
  aspect-ratio: var(--ratio, 16 / 9);
}

.featured-content__video > img {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
}

.featured-content__eyebrow {
  margin-block-end: var(--space-2xs);
  font-size: .875em;
}

.featured-content__title {
  margin-block-end: var(--space-sm);
}

.media-text {
  grid-template-columns: repeat(var(--columns, 1), minmax(0, 1fr));
  display: grid;
}

.media-text:first-child {
  --content-space: var(--space-3xl);
}

.media-text__content, .media-text__media {
  inline-size: 100%;
}

.media-text__content {
  padding-inline: var(--space-sm);
  padding-block: var(--space-lg) var(--space-6xl);
  place-self: center;
}

.media-text__content p {
  text-wrap: pretty;
}

.media-text__media {
  aspect-ratio: var(--ratio, auto);
  order: -1;
  position: relative;
  overflow: clip;
}

.media-text__title {
  margin-block-end: var(--space-2xs);
}

.media-text__eyebrow {
  margin-block-end: var(--space-2xs);
  font-size: .875em;
  display: block;
}

.media-text__actions {
  margin-block-start: var(--space-xl);
}

.media-text__image, .media-text__video, .media-text__video > img {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
  display: block;
}

.media-text__image-caption {
  position: absolute;
  inset-block-end: var(--space-sm);
  inset-inline-start: var(--space-sm);
}

@media (width < 56em) {
  .media-text {
    --ratio: 3 / 2;
  }
}

@media (width >= 56em) {
  .media-text {
    --columns: 2;
  }

  .media-text__content {
    max-inline-size: 56ch;
    padding: var(--space-md-3xl);
    margin-inline: auto;
  }

  .media-text--reverse > .media-text__media {
    order: 1;
  }
}

.card-deck {
  --available-inline-size: calc(100% - (var(--column-count) - 1) * var(--column-gap));
  --column-count: 3;
  --column-gap: var(--space-sm);
  --column-size: calc(var(--available-inline-size) / var(--column-count));
  --scrollbar-offset: var(--space-xl);
  gap: var(--column-gap);
  scroll-snap-type: x mandatory;
  padding-block-end: var(--scrollbar-offset);
  display: flex;
}

.card-deck > .card {
  flex: 0 0 var(--column-size);
  min-inline-size: 16em;
  scroll-snap-align: start;
  scroll-margin-inline-start: var(--column-gap);
}

.card-deck--compact {
  --column-count: 4;
  --scrollbar-offset: var(--space-2xs);
}

.card-deck--compact .card {
  font-size: .875em;
}

.card-deck--compact .card__title {
  font-size: var(--size-3);
  line-height: var(--leading-tight);
}

.card-deck--compact .card__action {
  display: none;
}

@media (width < 100em) {
  .card-deck {
    margin-inline: calc(-1 * var(--content-margin));
    padding-inline: var(--content-margin);
  }
}

.card {
  --outline-offset: .5em;
  flex-direction: column;
  display: flex;
  position: relative;
}

.card p {
  text-wrap: pretty;
}

.card__media {
  order: -1;
  margin-block-end: var(--space-md);
  position: relative;
  overflow: clip;
}

.card__action {
  column-gap: var(--space-lg);
  margin-block-start: auto;
  padding-block-start: var(--space-lg);
}

.card__title {
  margin-block-end: var(--space-2xs);
}

.card__eyebrow {
  margin-block-end: var(--space-2xs);
  font-size: .875em;
  display: block;
}

.card__image {
  object-fit: cover;
  object-position: center;
  inline-size: 100%;
  transition-property: transform, filter;
  transition-duration: .2s;
  transition-timing-function: var(--ease-in);
  display: block;
}

.card--xs .card__image, .card--sm .card__image {
  aspect-ratio: 1;
}

.card--lg .card__image {
  aspect-ratio: 3 / 2;
}

.card:is(:hover, :focus-within) .card__image {
  filter: brightness(75%);
  transition-duration: .4s;
  transition-timing-function: var(--ease-out);
  transform: scale(1.02);
}

.card__badge {
  z-index: 1;
  aspect-ratio: 1;
  min-block-size: 12ch;
  padding: var(--space-2xs);
  font-family: var(--font-secondary);
  font-weight: var(--weight-regular);
  opacity: .95;
  color: var(--color-content-inverse);
  background-color: var(--color-background-accent);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  position: absolute;
  inset-block-start: var(--space-sm);
  inset-inline-end: var(--space-sm);
  rotate: -15deg;
}

.cardlet {
  align-items: center;
  gap: var(--space-sm);
  grid-template: "media content"
  / 6em minmax(0, 1fr);
  display: grid;
}

.cardlet__content {
  grid-area: content;
  font-size: .875em;
}

.cardlet__content p {
  opacity: .75;
}

.cardlet__media {
  aspect-ratio: 1;
  color: var(--color-content-inverse);
  background-color: var(--color-background-inverse);
  grid-area: media;
  justify-content: center;
  align-items: center;
  display: flex;
}

.cardlet__media img {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
  display: block;
}

.glossary {
  --content-space: var(--space-md);
  --row-gap: var(--space-2xs);
  --column-gap: var(--space-2xs);
}

.glossary__term, .glossary__description {
  vertical-align: baseline;
  border-radius: 4px;
  padding: .125em .25em;
  display: inline-block;
}

.glossary__term {
  width: fit-content;
  color: var(--color-content-inverse);
  background-color: var(--color-background-inverse);
  margin-block-start: var(--space-xs);
  margin-block-end: var(--row-gap);
  display: flex;
}

.glossary__description {
  color: var(--color-content-default);
  background-color: var(--color-background-subtle);
  margin-block-end: var(--row-gap);
  margin-inline-end: var(--column-gap);
}

.meta {
  grid-template-columns: max-content auto;
  column-gap: .75em;
  display: grid;
}

.meta__key {
  font-weight: var(--weight-regular);
}

.meta--inline {
  flex-flow: wrap;
  column-gap: 0;
  display: flex;
}

.meta--inline > .meta__value:not(:last-child):after {
  content: "—";
  margin-inline: .25em;
}

.message {
  --content-color: var(--color-content-default);
  --accent-color: var(--color-content-default);
  --background-color: var(--color-background-subtle);
  gap: var(--space-sm);
  min-inline-size: 16ch;
  padding-block: var(--space-2xs);
  padding-inline: var(--space-md);
  border-block-start-width: .25em;
  border-block-start-color: var(--accent-color);
  color: var(--content-color);
  background-color: var(--background-color);
  box-shadow: var(--shadow-3);
  transition-behavior: allow-discrete;
  transition-property: display, opacity, translate;
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
  flex-direction: row;
  margin-block-end: var(--space-md);
  margin-inline: auto;
  display: flex;
}

@starting-style {
  .message {
    opacity: 0;
    translate: 0 25%;
  }
}

.message[hidden] {
  opacity: 0;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
  translate: 0 5%;
}

.message__icon {
  --icon-size: 2em;
  fill: none;
  stroke: var(--accent-color);
  stroke-linecap: round;
  stroke-linejoin: round;
}

.message--success {
  --accent-color: var(--color-content-utility-success);
  --background-color: var(--color-background-utility-success);
}

.message--warning {
  --accent-color: var(--color-content-utility-warning);
  --background-color: var(--color-background-utility-warning);
}

.message--error {
  --accent-color: var(--color-content-utility-error);
  --background-color: var(--color-background-utility-error);
}

.fieldset, .fieldset__content {
  gap: var(--space-3xs);
  flex-direction: column;
  display: flex;
}

.fieldset:not([data-variant]) > .fieldset__legend {
  font-family: var(--font-primary);
  font-weight: var(--weight-regular);
  font-size: var(--size-1);
}

.fieldset[data-variant="popover"] > .fieldset__content {
  transition-behavior: allow-discrete;
  transition-property: display, opacity, scale, translate;
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
}

@starting-style {
  .fieldset[data-variant="popover"] > .fieldset__content {
    opacity: 0;
    translate: 0 5%;
  }
}

.fieldset[data-variant="popover"] > .fieldset__content[hidden] {
  opacity: 0;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
  translate: 0 5%;
}

.fieldset[data-variant="disclosure"] > .fieldset__content {
  transition-behavior: allow-discrete;
  transition-property: display, block-size, opacity;
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
  margin-block-start: var(--space-2xs);
  overflow: hidden;
}

@starting-style {
  .fieldset[data-variant="disclosure"] > .fieldset__content {
    opacity: 0;
    block-size: 0;
  }
}

.fieldset[data-variant="disclosure"] > .fieldset__content[hidden] {
  opacity: 0;
  block-size: 0;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
}

.field {
  flex-direction: column;
  display: flex;
}

.input {
  appearance: none;
  color: var(--form-color-content);
  border-width: 1px;
  border-color: var(--form-color-border);
  font-size: 1em;
  font-weight: var(--weight-light);
  line-height: var(--leading-snug);
  text-overflow: ellipsis;
  background-color: var(--form-color-background);
  padding-block: .375rem;
  padding-inline: .5rem;
  box-shadow: inset 0 .0625em .125em #00000029;
}

.input:is(:hover, :focus) {
  border-color: var(--form-color-border-focus);
}

.input:not(textarea) {
  min-block-size: 2.75rem;
}

.input[readonly] {
  opacity: .5;
  cursor: not-allowed;
}

.select {
  min-block-size: 2.75rem;
  inline-size: fit-content;
  min-inline-size: 16ch;
  max-inline-size: 100%;
  color: var(--form-color-content);
  border-width: 1px;
  border-color: var(--form-color-border);
  background-color: var(--form-color-background);
  cursor: pointer;
  grid-template-areas: "select";
  align-items: center;
  padding-block: .375rem;
  padding-inline: .5rem;
  display: grid;
  position: relative;
  box-shadow: inset 0 .0625em .125em #00000029;
}

.select:is(:hover, :focus-within) {
  border-color: var(--form-color-border-focus);
}

.select__input {
  appearance: none;
  inline-size: 100%;
  font: inherit;
  color: inherit;
  text-overflow: ellipsis;
  cursor: inherit;
  z-index: 1;
  background-color: #0000;
  border: none;
  outline: none;
  grid-area: select;
  margin: 0;
  padding: 0 1rem 0 0;
}

.select__caret {
  aspect-ratio: 1;
  grid-area: select;
  justify-self: end;
  inline-size: .375rem;
}

.switch {
  vertical-align: middle;
  justify-content: start;
  align-items: center;
  gap: var(--space-xs);
  cursor: pointer;
  flex-direction: row;
  display: inline-flex;
}

.switch__input {
  appearance: none;
  box-sizing: content-box;
  font-size: inherit;
  vertical-align: text-bottom;
  width: 2em;
  height: 1em;
  color: var(--theme-color-content);
  background-color: var(--theme-color-background);
  transition-property: color, background-color;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
  border-width: 1px;
  border-radius: 1em;
  margin: auto;
  position: relative;
}

.switch__input:active {
  opacity: .6;
}

.switch__input:before {
  content: "";
  box-sizing: border-box;
  width: .7em;
  height: .7em;
  transition-property: inset-inline-start;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
  background: currentColor;
  border: 1px solid;
  border-radius: 50%;
  margin: 0 .15em;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  transform: translate(0, -50%);
}

.switch__input:checked {
  color: var(--color-content-inverse);
  background-color: var(--color-background-inverse);
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
}

.switch__input:checked:before {
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
  inset-inline-start: 1em;
}

.switch__label {
  text-box-trim: trim-end;
  flex-grow: 1;
}

.filter .switch__label {
  font-family: var(--font-secondary);
  font-weight: var(--weight-regular);
}

.inline-error {
  gap: var(--space-2xs);
  color: var(--color-content-utility-error);
  margin-block-start: var(--space-2xs);
  scroll-margin-block-start: 5vh;
  font-size: .875em;
  display: flex;
}

.inline-error__icon {
  margin-block-start: .175em;
}

.webform {
  padding-block: var(--space-md-6xl);
  flex-direction: column;
  display: flex;
}

.webform .trojan-horse {
  display: none;
}

.webform__title {
  text-align: center;
  margin-block-end: var(--space-md-3xl);
}

.search {
  position: relative;
}

.search__form {
  align-items: center;
  gap: var(--space-sm);
  flex-flow: wrap;
  display: flex;
}

.search__field {
  align-items: center;
  gap: var(--space-sm);
  flex-flow: wrap;
  flex-grow: 3;
  display: flex;
}

.search__label {
  font-family: var(--font-secondary);
  font-weight: var(--weight-regular);
  line-height: var(--leading-snug);
}

.search__input {
  flex-grow: 1;
}

.search__button {
  flex-grow: 1;
  flex-basis: 0;
  justify-content: center;
}

.filter-bar {
  align-items: center;
  gap: var(--space-md);
  grid-template-columns: minmax(0, 1fr) max-content;
  grid-template-areas: "options actions";
  display: grid;
  position: relative;
}

.filter-bar + .filter-bar {
  --content-space: var(--space-md);
}

.filter-bar .filter {
  align-items: center;
  gap: var(--space-sm);
  flex-direction: row;
  display: flex;
}

.filter-bar__options, .filter-bar__actions {
  gap: var(--space-md);
  flex-direction: row;
  align-items: center;
  display: flex;
}

:is(.filter-bar__options, .filter-bar__actions) > * {
  flex-shrink: 0;
}

.filter-bar__options {
  grid-area: options;
  overflow-x: auto;
}

.filter-bar__actions {
  gap: var(--space-2xs);
  grid-area: actions;
  position: relative;
}

.filter-bar__actions .button, .filter-bar__actions .icon-button {
  border-radius: 0;
}

.filter-bar__actions:before {
  content: "";
  pointer-events: none;
  background-image: linear-gradient(to left, #fff, #fff0);
  block-size: 100%;
  inline-size: 3rem;
  display: block;
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: calc(100% + var(--space-md));
}

.filter-bar[data-state="enhanced"] [type="submit"] {
  display: none;
}

.filter-dialog .form {
  flex-direction: column;
  display: flex;
}

.filter-dialog .filter {
  padding-block: var(--space-2xs);
  border-block: 1px solid var(--color-border-inverse);
  margin-block-end: -1px;
}

.filter-dialog .label {
  margin-block-end: var(--space-2xs);
}

.filter-dialog .switch {
  order: 1;
}

:is(.filter-bar, .filter-dialog, .search-dialog) + .collection, :is(.filter-bar, .filter-dialog, .search-dialog) + .grid {
  --content-space: var(--space-lg);
}

.calendar {
  inline-size: 100%;
  display: block;
}

.calendar::part(button) {
  color: currentColor;
  font: inherit;
  background-color: #0000;
  border: none;
}

.calendar__button {
  min-block-size: 0;
  min-inline-size: 0;
}

.calendar__month {
  --color-accent: var(--color-background-accent);
  --color-text-on-accent: var(--color-content-inverse);
  inline-size: 100%;
}

.calendar__month::part(day) {
  font-variant-numeric: tabular-nums;
  text-box: trim-both cap alphabetic;
  border-radius: 50%;
}

.calendar__month::part(th) {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
}

.calendar__month::part(today) {
  border: 2px solid var(--color-accent);
}

.calendar-sheet {
  flex-direction: column;
  align-items: center;
  padding-block: .375em;
  display: flex;
}

.calendar-sheet > :first-child {
  text-box: trim-start;
  margin-block-end: var(--space-3xs);
}

.calendar-sheet > :last-child {
  text-box: trim-end;
  margin-block-start: var(--space-2xs);
}

.calendar-sheet__weekday, .calendar-sheet__month, .calendar-sheet__year {
  font-family: var(--font-primary);
  font-weight: var(--weight-regular);
  font-size: .875em;
}

.calendar-sheet__day {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
  font-variant-numeric: tabular-nums;
  font-size: var(--size-4);
  text-box: trim-both cap alphabetic;
}

.date-picker:defined :is(label, input[type="date"]) {
  display: none;
}

.date-picker:not(:defined) button {
  display: none;
}

.quicklinks__list {
  gap: var(--space-xl);
  flex-direction: row;
  display: flex;
}

.quicklinks__list-item {
  flex-shrink: 0;
}

.quicklinks__link {
  --underline-color: #fff0;
  --underline-thickness: max(2px, .15rem);
  font-family: var(--font-display);
  font-size: var(--size-2);
  font-weight: var(--weight-medium);
  line-height: var(--leading-normal);
  white-space: nowrap;
  text-transform: uppercase;
  text-wrap: balance;
  transition-property: color, text-decoration-color;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
  text-decoration-line: underline;
}

.quicklinks__link:is(:hover, :focus, [aria-current]) {
  --underline-color: var(--color-border-accent);
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
}

.brands {
  gap: var(--space-xl);
  flex-wrap: wrap;
  display: flex;
}

.brand {
  gap: var(--space-3xs);
  flex-direction: column;
  display: flex;
}

.brand__frame {
  justify-content: center;
  align-items: start;
  block-size: 100%;
  display: flex;
}

.brand__logo {
  object-fit: contain;
  block-size: 3em;
  inline-size: 10em;
  max-inline-size: 100%;
  display: block;
}

.brand__logo:is([src$=".jpg"], [src$=".png"]) {
  mix-blend-mode: multiply;
}

.featured-artists {
  --column-min-size: 12em;
}

.artist {
  position: relative;
}

.artist__name {
  transition-property: color, background-color;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
}

.artist__name:any-link:is(:hover, :focus) {
  color: var(--color-content-accent);
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
}

.artist__role {
  color: var(--color-content-subtle);
}

.composer {
  vertical-align: baseline;
  display: inline;
}

.composer__name {
  font-weight: var(--weight-regular);
}

.composer__lifespan {
  color: var(--color-content-subtle);
  font-weight: var(--weight-light);
  font-variant-numeric: tabular-nums;
}

.performer, .performer__details {
  gap: var(--space-3xs);
  flex-direction: column;
  display: flex;
}

.performer__details {
  font-size: .875em;
}

.performer__name {
  font-weight: var(--weight-light);
  transition-property: color, background-color;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
}

.performer__name:any-link:is(:hover, :focus) {
  color: var(--color-content-accent);
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
}

.performer__role {
  color: var(--color-content-subtle);
}

.performer__notes {
  color: var(--color-content-subtle);
  font-style: italic;
}

.performer--ensemble .performer__name {
  font-weight: var(--weight-regular);
}

.work {
  gap: var(--space-3xs);
  flex-direction: column;
  display: flex;
}

.work__details {
  font-size: .875em;
}

.work__title {
  font-weight: var(--weight-light);
}

.work__notes {
  color: var(--color-content-subtle);
  font-style: italic;
}

.work__year {
  color: var(--color-content-subtle);
  font-size: .875em;
  font-weight: var(--weight-light);
  font-variant-numeric: tabular-nums;
}

.rich-text > * + * {
  margin-block-start: var(--flow-space, var(--space-sm));
}

.rich-text > :is(h1, h2, h3, h4, h5, h6) {
  text-wrap: balance;
  hyphens: auto;
}

.rich-text > :is(h1, h2, h3) {
  --flow-space: var(--space-md-3xl);
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
}

.rich-text > :is(h4, h5, h6) {
  --flow-space: var(--space-md);
  font-family: var(--font-secondary);
  font-weight: var(--weight-regular);
  text-transform: none;
}

.rich-text > h1 {
  font-size: var(--size-6);
  line-height: var(--leading-tight);
}

.rich-text > h2 {
  font-size: var(--size-4);
  line-height: var(--leading-tight);
}

.rich-text > h3 {
  font-size: var(--size-3);
  line-height: var(--leading-normal);
}

.rich-text > h4 {
  font-size: var(--size-2);
  line-height: var(--leading-normal);
}

.rich-text > h5 {
  font-size: var(--size-1);
  line-height: var(--leading-normal);
}

.rich-text > h6 {
  font-size: var(--size-0);
  line-height: var(--leading-normal);
}

.rich-text a:not([class]) {
  vertical-align: middle;
  align-items: baseline;
  gap: var(--space-3xs);
  font-weight: var(--weight-regular);
  transition-property: color;
  transition-duration: .1s;
  transition-timing-function: var(--ease-in);
  text-decoration-line: underline;
  display: inline-flex;
}

.rich-text a:not([class]):is(:hover, :focus) {
  color: var(--color-content-accent);
  transition-duration: .2s;
  transition-timing-function: var(--ease-out);
}

.rich-text blockquote:not([class]) {
  padding-block: var(--space-3xs);
  border-inline-start-width: 5px;
  border-inline-start-color: var(--color-background-accent);
  padding-inline-start: var(--space-md);
  position: relative;
}

.rich-text blockquote:not([class]):not(:first-child) {
  margin-block-start: var(--space-xl);
}

.rich-text blockquote:not([class]):not(:last-child) {
  margin-block-end: var(--space-xl);
}

.rich-text > p:has( > .button):not(:has( > :not(.button))) {
  gap: var(--space-xs) var(--space-md);
  flex-flow: wrap;
  display: flex;
}

.rich-text > p:has( > .button):not(:has( > :not(.button))):last-child {
  --flow-space: var(--space-xl);
}

.font-display {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
}

.font-primary {
  font-family: var(--font-primary);
  font-weight: var(--weight-light);
}

.font-secondary {
  font-family: var(--font-secondary);
  font-weight: var(--weight-regular);
}

.text-lede {
  font-family: var(--font-primary);
  font-weight: var(--weight-regular);
  line-height: var(--leading-normal);
}

.text-start {
  text-align: start;
}

.text-center {
  text-align: center;
}

.text-end {
  text-align: end;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-meta {
  opacity: .75;
  font-size: .75em;
}

.text-ellipsis {
  white-space: nowrap;
  text-overflow: ellipsis;
  max-inline-size: 100%;
  overflow: clip;
}

.size-xs {
  font-size: .75em;
}

.size-sm {
  font-size: .875em;
}

.size-0 {
  font-size: var(--size-0);
}

.size-1 {
  font-size: var(--size-1);
}

.size-2 {
  font-size: var(--size-2);
}

.size-3 {
  font-size: var(--size-3);
}

.size-4 {
  font-size: var(--size-4);
}

.size-5 {
  font-size: var(--size-5);
}

.size-6 {
  font-size: var(--size-6);
}

.gap-none {
  gap: 0;
}

.gap-3xs {
  gap: var(--space-3xs);
}

.gap-2xs {
  gap: var(--space-2xs);
}

.gap-xs {
  gap: var(--space-xs);
}

.gap-sm {
  gap: var(--space-sm);
}

.gap-md {
  gap: var(--space-md);
}

.gap-lg {
  gap: var(--space-lg);
}

.gap-xl {
  gap: var(--space-xl);
}

.gap-2xl {
  gap: var(--space-2xl);
}

.gap-3xl {
  gap: var(--space-3xl);
}

.align-start {
  align-items: start;
}

.align-center {
  align-items: center;
}

.align-end {
  align-items: end;
}

.justify-start {
  justify-content: start;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: end;
}

[class*="show:"] {
  display: none;
}

@media (width >= 40em) {
  .show\:sm {
    display: var(--display-type, block);
  }

  .hide\:sm {
    display: none;
  }
}

@media (width >= 56em) {
  .show\:md {
    display: var(--display-type, block);
  }

  .hide\:md {
    display: none;
  }
}

@media (width >= 76em) {
  .show\:lg {
    display: var(--display-type, block);
  }

  .hide\:lg {
    display: none;
  }
}

@media (width >= 100em) {
  .show\:xl {
    display: var(--display-type, block);
  }

  .hide\:xl {
    display: none;
  }
}

.scrollable {
  scrollbar-width: auto;
  scrollbar-gutter: stable;
  scrollbar-color: var(--scrollbar-color-thumb) var(--scrollbar-color-track);
}

.scrollable[data-orientation="horizontal"] {
  overflow-x: auto;
}

.scrollable[data-orientation="vertical"] {
  overflow-y: auto;
}

@supports (animation-timeline: scroll()) {
  .scrollable {
    -webkit-mask-image: linear-gradient(var(--scroll-indicator-ange),
      #0003,
      #000 var(--scroll-indicator-start) calc(100% - var(--scroll-indicator-end)),
      #0003);
    mask-image: linear-gradient(var(--scroll-indicator-ange),
      #0003,
      #000 var(--scroll-indicator-start) calc(100% - var(--scroll-indicator-end)),
      #0003);
    scroll-timeline-name: --scroll-timeline;
    animation-name: scroll-indicator;
    animation-timeline: --scroll-timeline;
  }

  .scrollable[data-orientation="horizontal"] {
    --scroll-indicator-ange: 90deg;
    scroll-timeline-axis: inline;
  }

  .scrollable[data-orientation="vertical"] {
    --scroll-indicator-ange: 180deg;
    scroll-timeline-axis: block;
  }
}

.visually-hidden:not(:focus, :active) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  block-size: 1px;
  inline-size: 1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}
