@charset "UTF-8";
/******************************************************************
Stylesheet: Main (custom site styles)

Compiled to /library/css/main.css and loaded after the Tailwind
stylesheet (style.css), so anything here overrides Tailwind.
******************************************************************/
/******************************************************************
Stylesheet: Variables
******************************************************************/
:root {
  --layout-mockup-opacity: 0.35; /* only applies when ABBY_LAYOUT_MOCKUP is true */
  --ink: rgb(26, 26, 26);
  --cream: rgb(255, 250, 241);
  --black: var(--ink);
  --white: var(--cream);
  --paper: #ffffff;
  --bright: #ffffff;
  --green: rgb(0, 255, 160);
  --on-green: var(--ink); /* text sitting on a green fill */
  --layout-max: 2120px;
  --layout-gutter: 1rem; /* matches #main px-4 */
  --layout-grid-gap: 0.5rem; /* matches md:gap-x-2 */
  --breakpoint-sm: 640px; /* tablet / compact desktop — blog preview & mid layout */
  --breakpoint-md: 1068px; /* matches tailwind md — full desktop layout */
  --breakpoint-wide: 2000px; /* matches tailwind wide — events column goes horizontal */
  --ruled-margin-inset: 5vw;
  --ruled-margin-width: max(
    var(--ruled-margin-inset),
    calc((100vw - min(var(--layout-max), 100vw)) / 2 + var(--ruled-margin-inset))
  );
  --ruled-line-height: calc(8px * 1.5);
  --layout-line: color-mix(in srgb, var(--black) 28%, transparent);
  --layout-line-inverted: color-mix(in srgb, var(--cream) 28%, transparent);
  --events-ticker-duration: 30s;
  --events-ticker-gap: 3rem;
  --events-ticker-padding: 0.4rem; /* inset perpendicular to scroll (block axis horizontal, inline axis vertical) */
  --events-ticker-bg: var(--paper);
  --events-ticker-column-width: calc(2 * var(--events-ticker-padding) + 1em);
  --events-ticker-extended-block-padding: 1.25rem;
  --events-ticker-extended-line-height: 1.15;
  --layout-dash-length: 125px;
  --layout-dash-gap: 125px;
  --layout-dash-start-offset: calc(var(--layout-dash-length) / 1.3);
  --layout-dash-thickness: 1px;
  --layout-dash-origin-x: calc(var(--ruled-margin-width) + var(--layout-gutter));
  --layout-section-padding: 2vw;
  --layout-section-padding-col-4: var(--layout-section-padding);
  /* Match left column inset: main gutter + section pad. */
  --layout-section-padding-col-4-left: calc(
    var(--layout-gutter) + var(--layout-section-padding)
  );
  --layout-section-dash-gap: 0;
  --layout-section-stack-gap: 3rem;
  --layout-section-title-gap: 2rem;
  --layout-release-gap: 2rem;
  --layout-release-half-thumb-ratio: 0.3125; /* half of 5fr lane in the 5fr + 3fr grid */
  --layout-release-featured-image-ratio: calc(var(--layout-release-half-thumb-ratio) * 2); /* 5fr of 5fr + 3fr */
  --currently-feature-image-width: 90%;
  --currently-feature-image-width-full: 100%;
  --currently-feature-image-width-landscape: 90%;
  --currently-feature-caption-margin-top: 1rem;
  --layout-section-more-margin-top: 2rem;
  --layout-section-more-margin-bottom-currently: 3rem;
  --layout-section-more-margin-bottom-compact: 1rem;
  --layout-section-line-inset-top: 0.5em;
  --layout-section-line-inset-bottom: 2em; /* space between title text and dashed line */
  --layout-section-rule-height: calc(1.4em + var(--layout-section-line-inset-top) + var(--layout-section-line-inset-bottom));
  --layout-section-line-snap: 0px;
  --layout-section-sticky-top: 0px;
  --layout-section-sticky-bottom: 0px;
  --layout-section-sticky-padding-top: 1rem;
  --layout-sidebar-circle-ratio: 0.60;
  --layout-sidebar-play-ratio: 0.6;
  --layout-sidebar-play-stroke: 1px;
  --layout-sidebar-circle-offset-top: 2rem;
  --layout-sidebar-play-offset-bottom: 2rem;
  --layout-sidebar-min: 6.75rem;
  --layout-sidebar-max: 120px;
  --layout-sidebar-width: clamp(var(--layout-sidebar-min), 7.5vw, var(--layout-sidebar-max));
  --layout-title-tracking: 1ch;
  --layout-grid-width: calc(100vw - var(--ruled-margin-width) - var(--layout-gutter));
  --layout-fr-columns-width: calc(
    var(--layout-grid-width) - var(--layout-sidebar-width) - var(--events-ticker-column-width) -
      4 * var(--layout-grid-gap)
  );
  --layout-col-4-width: calc(var(--layout-fr-columns-width) * 1.3 / 3.8);
  --layout-ticker-rail-width: calc(
    var(--layout-grid-gap) + var(--layout-col-4-width) + var(--layout-grid-gap) +
      var(--events-ticker-column-width)
  );
  --layout-fixed-rail-width: calc(var(--layout-sidebar-width) + var(--layout-ticker-rail-width));
  --font-size-xxl: 3.8rem;
  --line-height-xxl: 1.15;
  --font-italic-slant: -10deg;
  --releases-list-columns: minmax(0, 1.15fr) minmax(0, 1.35fr) minmax(0, 1fr) 3.5rem;
  --portfolio-list-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.85fr);
  --portfolio-list-margin-bottom: 4rem;
  --archive-image-tip-width: 14rem;
  --archive-image-tip-max-height: 18rem;
  --portfolio-module-gap: 3rem;
  --portfolio-module-content-gap: 1.5rem;
  --portfolio-module-caption-margin-top: 0.75rem;
  --highnote-player-height: 36rem;
  --portfolio-single-padding-bottom: 5rem;
  --releases-list-row-gap: 0.65rem;
  --releases-list-row-spacing: 2lh;
  --releases-list-cell-padding-top: 0.45rem;
  --releases-sort-icon-width: 0.55em;
  --releases-sort-icon-height: 0.32em;
  --pill-padding-x: 0.65rem;
  --pill-padding-y: 0.15rem;
  --pill-font-size: 0.88em;
  --blog-grid-gap: 0.5rem;
  --blog-grid-row-gap: 1.75rem;
  --blog-grid-caption-height: 1.6em;
  --blog-grid-caption-duration: 0.3s;
  --home-blog-reveal-bar-height: var(--ruled-line-height);
  --home-blog-reveal-hover-peek: 1.5rem;
  --home-blog-reveal-hit-pad: 2rem;
  --home-blog-reveal-padding: 1.5rem;
  --home-blog-reveal-bg: color-mix(in srgb, var(--green) 90%, transparent);
  --home-blog-reveal-handle-active-opacity: 0.9;
  --image-green-mono-filter: url("#abby-green-mono");
  --screensaver-bar-gradient: linear-gradient(
    to right,
    var(--layout-line),
    var(--green)
  );
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    color-scheme: dark;
    --black: var(--cream);
    --white: color-mix(in srgb, black 85%, white);
    --paper: color-mix(in srgb, black 80%, white);
    --on-green: color-mix(in srgb, black 85%, white);
  }
}
:root[data-theme=dark] {
  color-scheme: dark;
  --black: var(--cream);
  --white: color-mix(in srgb, black 85%, white);
  --paper: color-mix(in srgb, black 80%, white);
  --on-green: color-mix(in srgb, black 85%, white);
}

:root[data-theme=light] {
  color-scheme: light;
}

@media (max-width: 799px) {
  :root {
    --layout-dash-length: 65px;
    --layout-dash-gap: 65px;
  }
}
@media (min-width: 1068px) {
  :root {
    --layout-section-dash-gap: 1.5rem;
  }
}
/******************************************************************
Stylesheet: Typography
******************************************************************/
@font-face {
  font-family: "Univers";
  src: url("../fonts/Univers.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Univers";
  src: url("../fonts/Univers-Oblique.otf") format("opentype");
  font-weight: normal;
  font-style: oblique;
}
@font-face {
  font-family: "Univers Mono";
  src: url("../fonts/LTUniversTypewriter-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "ABC ROM Wide";
  src: url("../fonts/ABCROMWideUnlicensedTrial-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}
.font-sans {
  font-family: "Univers", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-variant-ligatures: none;
}

.text-xxl {
  font-size: calc(var(--font-size-xxl) / 2);
  line-height: var(--line-height-xxl);
}
@media (min-width: 1068px) {
  .text-xxl {
    font-size: var(--font-size-xxl);
  }
}

.font-serif {
  font-family: "Times New Roman", Times, serif;
}

.font-mono {
  font-family: "Univers Mono", "Courier New", monospace;
}

body {
  font-family: "Univers Mono", "Courier New", monospace;
  font-size: 14px;
  line-height: 1.4;
  color: var(--black);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

i {
  font-style: normal;
  display: inline-block;
  transform: skewX(var(--font-italic-slant));
}

.arrow {
  font-family: "ABC ROM Wide", "Univers Mono", "Courier New", monospace;
  font-feature-settings: "smcp" 1;
}

/*********************
CUSTOM SITE STYLES
*********************/
html {
  height: 100%;
  overflow-x: clip; /* "hidden" would break position: sticky on the ticker/icons */
  color-scheme: light dark;
}

body {
  background-color: var(--white);
  overflow-x: clip;
}
@media (max-width: 1067px) {
  body.home-blog-reveal-open .layout-icons__circle {
    visibility: hidden;
    pointer-events: none;
  }
}
body.page-template-page-blog {
  background-color: var(--green);
}
body.page-template-page-blog .layout-bio-menu {
  background: var(--green);
}
@media (min-width: 1068px) {
  body.page-template-page-blog .layout-bio-menu {
    border-left: 1px solid var(--layout-line);
  }
}
body.page-template-page-blog .layout-bio-menu .layout-bio-menu__link:hover,
body.page-template-page-blog .layout-bio-menu .layout-bio-menu__link:focus-visible {
  color: var(--green);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme=light]) body.page-template-page-blog {
    background-color: var(--white);
    color: var(--green);
    --layout-line: var(--green);
  }
  html:not([data-theme=light]) body.page-template-page-blog .layout-bio-menu {
    background: var(--white);
  }
  html:not([data-theme=light]) body.page-template-page-blog .layout-bio-menu .layout-bio-menu__link:hover,
  html:not([data-theme=light]) body.page-template-page-blog .layout-bio-menu .layout-bio-menu__link:focus-visible {
    background-color: var(--green);
    color: var(--on-green);
  }
  html:not([data-theme=light]) body.page-template-page-blog .layout-icons__play:hover polygon,
  html:not([data-theme=light]) body.page-template-page-blog .layout-icons__play:focus-visible polygon {
    fill: var(--green);
  }
  html:not([data-theme=light]) body.page-template-page-blog .layout-icons:not(.is-menu-open) .layout-icons__circle:hover,
  html:not([data-theme=light]) body.page-template-page-blog .layout-icons:not(.is-menu-open) .layout-icons__circle:focus-visible {
    background-color: var(--green);
  }
}
html[data-theme=dark] body.page-template-page-blog {
  background-color: var(--white);
  color: var(--green);
  --layout-line: var(--green);
}
html[data-theme=dark] body.page-template-page-blog .layout-bio-menu {
  background: var(--white);
}
html[data-theme=dark] body.page-template-page-blog .layout-bio-menu .layout-bio-menu__link:hover,
html[data-theme=dark] body.page-template-page-blog .layout-bio-menu .layout-bio-menu__link:focus-visible {
  background-color: var(--green);
  color: var(--on-green);
}
html[data-theme=dark] body.page-template-page-blog .layout-icons__play:hover polygon,
html[data-theme=dark] body.page-template-page-blog .layout-icons__play:focus-visible polygon {
  fill: var(--green);
}
html[data-theme=dark] body.page-template-page-blog .layout-icons:not(.is-menu-open) .layout-icons__circle:hover,
html[data-theme=dark] body.page-template-page-blog .layout-icons:not(.is-menu-open) .layout-icons__circle:focus-visible {
  background-color: var(--green);
}

#inner-content {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 100vh;
  min-height: 100dvh;
}

#content {
  padding-left: var(--ruled-margin-width);
}

.layout-screensaver {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 45;
  background-color: var(--white);
  pointer-events: auto;
}
@media (min-width: 1068px) {
  .layout-screensaver {
    right: var(--layout-sidebar-width);
  }
}

@media (prefers-color-scheme: light) {
  html:not([data-theme=dark]) body.page-template-page-blog .layout-screensaver {
    background-color: var(--green);
  }
}
html[data-theme=light] body.page-template-page-blog .layout-screensaver {
  background-color: var(--green);
}

html.is-screensaver {
  overflow: hidden;
}
html.is-screensaver .layout-screensaver {
  display: block;
}
html.is-screensaver .layout-bio-menu {
  display: none !important;
}

html.is-screensaver body {
  overflow: hidden;
}

.layout-screensaver__eq {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.layout-screensaver__bar {
  position: absolute;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: transparent;
  background-image: var(--screensaver-bar-gradient);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
  will-change: transform;
}

.layout-ruled-margin {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: var(--ruled-margin-width);
  margin-left: calc(-1 * var(--ruled-margin-width));
  pointer-events: none;
  background-image: repeating-linear-gradient(to bottom, transparent, transparent calc(var(--ruled-line-height) - 1px), var(--layout-line) calc(var(--ruled-line-height) - 1px), var(--layout-line) var(--ruled-line-height));
}

#main {
  position: relative;
  z-index: 3;
  grid-column: 1;
  grid-row: 1;
}
@media (min-width: 1068px) {
  #main {
    width: calc(100vw - var(--ruled-margin-width));
    max-width: none;
    padding-right: 0;
  }
}

.layout-selected-press__download {
  display: grid;
  grid-template-rows: 1fr;
  margin-top: 0.5em;
  opacity: 1;
}
.layout-selected-press__download-inner {
  min-height: 0;
  overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
  .layout-selected-press__download {
    grid-template-rows: 0fr;
    margin-top: 0;
    opacity: 0;
    transition: grid-template-rows var(--blog-grid-caption-duration) ease, margin-top var(--blog-grid-caption-duration) ease, opacity var(--blog-grid-caption-duration) ease;
  }
  .layout-selected-press:hover .layout-selected-press__download, .layout-selected-press:focus-within .layout-selected-press__download {
    grid-template-rows: 1fr;
    margin-top: 0.5em;
    opacity: 1;
  }
}
.layout-selected-press a {
  color: inherit;
  text-decoration: none;
}

@media (min-width: 640px) and (max-width: 1067px) {
  .layout-selected-cols {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: var(--layout-section-stack-gap);
    align-items: start;
  }
}
.layout-selected-cols__col {
  min-width: 0;
}

.layout-site-title {
  text-align: left;
}
.layout-site-title__text {
  display: inline-flex;
  flex-wrap: wrap;
  column-gap: 3ch;
  row-gap: 0;
  color: inherit;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: var(--layout-title-tracking);
}
.layout-site-title__word {
  white-space: nowrap;
  margin-inline-end: calc(-1 * var(--layout-title-tracking));
}
@media (min-width: 640px) and (max-width: 1067px) {
  .layout-site-title {
    text-align: center;
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .layout-site-title {
    grid-column: 1/3;
  }
}
@media (min-width: 2000px) {
  .layout-site-title {
    grid-column: 1/-1;
    grid-row: 1;
    z-index: 10;
    text-align: center;
    padding-top: var(--layout-section-padding);
    padding-inline: 0;
    padding-bottom: 0;
  }
  .layout-site-title > .grid {
    display: flex;
    justify-content: center;
    height: auto;
    overflow: visible;
    width: 100vw;
    margin-left: calc(-1 * (var(--ruled-margin-width) + var(--layout-gutter)));
  }
  .layout-site-title__text {
    position: relative;
    z-index: 10;
    width: max-content;
  }
}

.layout-mockup {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: min(var(--layout-max), 100vw);
  margin-left: calc(-1 * var(--ruled-margin-width));
  pointer-events: none;
  opacity: var(--layout-mockup-opacity);
}
.layout-mockup img {
  display: block;
  width: 100%;
  height: auto;
}

.order-6 {
  order: 6;
}

@media (min-width: 1068px) and (max-width: 1999px) {
  .layout-main-grid {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) var(--events-ticker-column-width) minmax(0, 1.3fr) var(--layout-sidebar-width);
  }
}

@media (max-width: 1067px) {
  .layout-fixed-rail {
    display: contents;
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .layout-fixed-rail {
    position: fixed;
    top: 0;
    right: var(--layout-sidebar-width);
    width: var(--layout-ticker-rail-width);
    height: 100vh;
    height: 100dvh;
    z-index: 5;
    pointer-events: none;
  }
}
@media (min-width: 2000px) {
  .layout-fixed-rail {
    display: contents;
  }
}

@media (min-width: 1068px) and (max-width: 1999px) {
  .events-ticker {
    position: absolute;
    top: 0;
    left: 0;
    width: var(--events-ticker-column-width);
    height: 100%;
    overflow: hidden;
    background-color: var(--events-ticker-bg);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    white-space: nowrap;
    text-align: center;
    padding-inline: var(--events-ticker-padding);
    padding-block: 0;
    pointer-events: none;
    box-shadow: var(--layout-grid-gap) 0 0 0 var(--events-ticker-bg);
  }
}
@media (min-width: 2000px) {
  .events-ticker {
    display: contents;
  }
}

@media (max-width: 1067px) {
  .layout-inverted-stack {
    position: relative;
    z-index: 6;
    margin-left: calc(-1 * (var(--ruled-margin-width) + var(--layout-gutter)));
    width: 100vw;
    color: var(--cream);
    background-color: var(--ink);
  }
  .layout-inverted-stack::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--ruled-margin-width);
    background-image: repeating-linear-gradient(to bottom, transparent, transparent calc(var(--ruled-line-height) - 1px), var(--layout-line-inverted) calc(var(--ruled-line-height) - 1px), var(--layout-line-inverted) var(--ruled-line-height));
    background-position: 0 var(--layout-inverted-ruled-offset, 0px);
    pointer-events: none;
  }
}
@media (min-width: 1068px) {
  .layout-inverted-stack {
    display: contents;
  }
}

.layout-inverted-row {
  display: none;
}
@media (min-width: 1068px) {
  .layout-inverted-row {
    display: block;
    grid-column: 1/-1;
    align-self: stretch;
    min-height: 0;
    pointer-events: none;
    background-color: var(--ink);
    position: relative;
    z-index: 5;
  }
  .layout-inverted-row::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(-1 * (var(--layout-gutter) + var(--ruled-margin-width)));
    width: var(--ruled-margin-width);
    background-color: var(--ink);
    background-image: repeating-linear-gradient(to bottom, transparent, transparent calc(var(--ruled-line-height) - 1px), var(--layout-line-inverted) calc(var(--ruled-line-height) - 1px), var(--layout-line-inverted) var(--ruled-line-height));
    background-position: 0 var(--layout-inverted-ruled-offset, 0px);
  }
  .layout-inverted-row:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(-1 * var(--layout-gutter));
    width: var(--layout-gutter);
    background-color: var(--ink);
  }
}

.layout-inverted-row__fill {
  display: none;
  position: fixed;
  left: 0;
  width: 100vw;
  background-color: var(--ink);
  z-index: 6;
  pointer-events: none;
}
.layout-inverted-row__fill::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--ruled-margin-width);
  background-color: var(--ink);
  background-image: repeating-linear-gradient(to bottom, transparent, transparent calc(var(--ruled-line-height) - 1px), var(--layout-line-inverted) calc(var(--ruled-line-height) - 1px), var(--layout-line-inverted) var(--ruled-line-height));
  background-position: 0 var(--layout-inverted-ruled-offset, 0px);
}

.layout-inverted-line {
  display: none;
}
@media (min-width: 1068px) {
  .layout-inverted-line {
    display: block;
    align-self: stretch;
    justify-self: start;
    width: 0;
    border-left: var(--layout-dash-thickness) solid var(--layout-line-inverted);
    z-index: 7;
    pointer-events: none;
  }
}
@media (min-width: 1068px) {
  .layout-inverted-line--currently-end {
    justify-self: end;
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .layout-inverted-line--ticker, .layout-inverted-line--currently-end {
    display: none;
  }
}

@media (max-width: 1067px) {
  .layout-icons-spacer {
    display: none;
  }
}
@media (min-width: 1068px) {
  .layout-icons-spacer {
    pointer-events: none;
  }
}
@media (min-width: 1068px) {
  .layout-icons-spacer::before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    width: var(--layout-sidebar-width);
    height: 100vh;
    height: 100dvh;
    border-left: 1px solid var(--layout-line);
    z-index: 4;
    pointer-events: none;
  }
}

@media (max-width: 1067px) {
  .layout-icons {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 50;
    width: auto;
    height: auto;
    pointer-events: none;
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .layout-icons {
    position: fixed;
    top: 0;
    right: 0;
    width: var(--layout-sidebar-width);
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    z-index: 50;
    pointer-events: none;
  }
}
@media (min-width: 2000px) {
  .layout-icons {
    position: fixed;
    top: 0;
    right: 0;
    width: var(--layout-sidebar-width);
    height: 100vh;
    min-height: 0;
    z-index: 50;
    pointer-events: none;
  }
}
.layout-icons__circle {
  display: block;
  position: relative;
  width: calc(var(--layout-sidebar-min) * var(--layout-sidebar-circle-ratio) * 0.65);
  aspect-ratio: 1;
  margin: var(--layout-gutter) var(--layout-gutter) 0 auto;
  border-radius: 50%;
  border: 1px solid var(--layout-line);
  padding: 0;
  background: transparent;
  color: var(--layout-line);
  cursor: pointer;
  pointer-events: auto;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 0.15s ease;
}
@media (min-width: 1068px) {
  .layout-icons__circle {
    width: calc(100% * var(--layout-sidebar-circle-ratio));
    margin-inline: auto;
    margin-top: calc(var(--layout-gutter) + var(--layout-sidebar-circle-offset-top));
    margin-right: auto;
  }
}
.layout-icons:not(.is-menu-open) .layout-icons__circle:hover, .layout-icons:not(.is-menu-open) .layout-icons__circle:focus-visible {
  background-color: var(--black);
}
.layout-icons__circle--inverted {
  border-color: var(--layout-line-inverted);
  color: var(--layout-line-inverted);
}
.layout-icons:not(.is-menu-open) .layout-icons__circle--inverted:hover, .layout-icons:not(.is-menu-open) .layout-icons__circle--inverted:focus-visible {
  background-color: var(--cream);
}
.layout-icons__circle-line {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 0;
  border-top: 1px solid currentColor;
  transform: translate(-50%, -50%) rotate(45deg) scaleX(0);
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.layout-icons__circle-line:last-child {
  transform: translate(-50%, -50%) rotate(-45deg) scaleX(0);
}
.layout-icons.is-menu-open .layout-icons__circle {
  border-color: transparent;
  background-color: transparent;
}
.layout-icons.is-menu-open .layout-icons__circle-line {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(45deg) scaleX(1);
  transition-delay: 0.1s;
}
.layout-icons.is-menu-open .layout-icons__circle-line:last-child {
  transform: translate(-50%, -50%) rotate(-45deg) scaleX(1);
}
.layout-icons__play {
  display: none;
}
@media (min-width: 1068px) {
  .layout-icons__play {
    display: block;
    position: absolute;
    left: 50%;
    bottom: calc(var(--layout-gutter) + var(--layout-sidebar-play-offset-bottom));
    transform: translateX(-50%);
    z-index: 5;
    width: calc(100% * var(--layout-sidebar-play-ratio));
    color: var(--layout-line);
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    pointer-events: auto;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
  }
}
.layout-icons__play--inverted {
  color: var(--layout-line-inverted);
}
.layout-icons__play svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  aspect-ratio: 59/80;
}
.layout-icons__play polygon {
  fill: transparent;
  stroke: currentColor;
  stroke-width: var(--layout-sidebar-play-stroke);
  stroke-linejoin: miter;
  vector-effect: non-scaling-stroke;
  transition: fill 0.15s ease;
}
.layout-icons__play:hover polygon, .layout-icons__play:focus-visible polygon {
  fill: var(--black);
}
.layout-icons__play--inverted:hover polygon, .layout-icons__play--inverted:focus-visible polygon {
  fill: var(--cream);
}

@media (max-width: 1067px) {
  .events-ticker {
    overflow: hidden;
    width: 100vw;
    margin-left: calc(-1 * var(--ruled-margin-width) - var(--layout-gutter));
    padding-block: var(--events-ticker-padding);
    padding-inline: 0;
    background-color: var(--events-ticker-bg);
  }
}
.events-ticker__column-fill {
  display: none;
}
@media (min-width: 2000px) {
  .events-ticker__column-fill {
    display: block;
    grid-column: 3;
    grid-row: 1/5;
    align-self: stretch;
    background-color: var(--events-ticker-bg);
    box-shadow: var(--layout-grid-gap) 0 0 0 var(--events-ticker-bg);
    z-index: 1;
    pointer-events: none;
  }
}
.events-ticker__extended {
  display: none;
}
@media (min-width: 2000px) {
  .events-ticker__extended {
    display: block;
    grid-column: 3;
    grid-row: 2/5;
    align-self: start;
    position: sticky;
    top: var(--layout-section-sticky-top);
    z-index: 2;
    overflow: visible;
  }
}
@media (min-width: 2000px) {
  .events-ticker__track {
    display: none;
  }
}
@media (max-width: 1067px) {
  .events-ticker__track {
    display: inline-flex;
    width: max-content;
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .events-ticker__track {
    display: inline-block;
    will-change: transform;
    pointer-events: auto;
  }
}
.events-ticker__segment {
  flex-shrink: 0;
}
@media (max-width: 1067px) {
  .events-ticker__segment {
    display: inline-flex;
    white-space: nowrap;
    padding-right: var(--events-ticker-gap);
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .events-ticker__segment {
    display: inline;
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .events-ticker__segment + .events-ticker__segment {
    padding-inline-end: 0;
  }
}
@media (min-width: 2000px) {
  .events-ticker__segment + .events-ticker__segment {
    display: none;
  }
}
.events-ticker__item {
  white-space: nowrap;
  cursor: default;
}
.events-ticker__item a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
@media (max-width: 1067px) {
  .events-ticker__item:not(:last-child) {
    margin-inline-end: var(--events-ticker-gap);
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .events-ticker__item {
    margin-inline-end: var(--events-ticker-gap);
  }
}
.events-ticker__date {
  margin-inline-end: 0.35em;
}
.events-ticker__tickets {
  display: none;
}
.events-ticker__blocks {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 2000px) {
  .events-ticker__blocks {
    gap: 0;
  }
}
.events-ticker__block a {
  display: block;
  color: inherit;
  text-decoration: none;
}
@media (min-width: 2000px) {
  .events-ticker__block {
    line-height: var(--events-ticker-extended-line-height);
    padding-bottom: var(--events-ticker-extended-block-padding);
  }
  .events-ticker__block .events-ticker__date {
    display: block;
    margin-inline-end: 0;
  }
  .events-ticker__block .events-ticker__tickets {
    display: block;
    margin-top: 0.25em;
  }
  .events-ticker__block + .events-ticker__block {
    border-top: var(--layout-dash-thickness) solid var(--layout-line);
    margin-inline: calc(-1 * var(--layout-section-padding));
    padding-inline: var(--layout-section-padding);
    padding-top: var(--events-ticker-extended-block-padding);
  }
}

@keyframes events-ticker-scroll-x {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes events-ticker-scroll-y {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
@media (max-width: 1067px) {
  .events-ticker__track {
    animation: events-ticker-scroll-x var(--events-ticker-duration) linear infinite;
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .events-ticker__track {
    animation: events-ticker-scroll-y var(--events-ticker-duration) linear infinite;
  }
}

.events-ticker.is-js-ticker .events-ticker__track {
  animation: none;
}

.grayscale-hover-media {
  display: block;
  overflow: hidden;
  border-radius: 0;
  transform: translateZ(0);
  transition: border-radius 0.25s ease;
}
.group:hover .grayscale-hover-media, .group:focus-within .grayscale-hover-media, .grayscale-hover-media:hover, .grayscale-hover-media:focus-visible {
  border-radius: 12px;
}

.grayscale-hover-image {
  display: block;
  width: 100%;
  height: auto;
  filter: grayscale(100%);
  transition: filter 0.25s ease;
}
.group:hover .grayscale-hover-image, .group:focus-within .grayscale-hover-image, .grayscale-hover-media:hover .grayscale-hover-image, .grayscale-hover-media:focus-visible .grayscale-hover-image {
  filter: grayscale(0%);
}

.layout-mobile-rule {
  display: block;
  height: var(--layout-dash-thickness);
  margin-block: 1.5rem;
  pointer-events: none;
  box-sizing: border-box;
  width: calc(100vw - var(--ruled-margin-width));
  margin-left: calc(-1 * (var(--layout-gutter) + 0px));
  margin-right: 0;
  background-image: repeating-linear-gradient(to right, var(--layout-line) 0, var(--layout-line) var(--layout-dash-length), transparent var(--layout-dash-length), transparent calc(var(--layout-dash-length) + var(--layout-dash-gap)));
  background-size: calc(var(--layout-dash-length) + var(--layout-dash-gap)) var(--layout-dash-thickness);
  background-repeat: repeat-x;
  background-position: calc(-1 * var(--layout-dash-start-offset)) 100%;
}
.layout-mobile-rule:has(+ .layout-bio--menu-anchor) {
  display: none;
}
@media (min-width: 1068px) {
  .layout-mobile-rule {
    display: none;
  }
}

body.is-bio-menu-open .layout-mobile-rule {
  visibility: hidden;
}

.layout-bio--menu-anchor {
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  pointer-events: none;
}
@media (min-width: 1068px) {
  .layout-bio:not(.layout-bio--menu-anchor) {
    margin-bottom: 1lh;
  }
}
.layout-bio__more {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}
.layout-bio__more::before {
  content: " ";
}

.layout-currently a {
  color: inherit;
  text-decoration: none;
}
.layout-currently__dots {
  display: inline-block;
  letter-spacing: -0.4em;
}
.layout-currently__dots span {
  display: inline-block;
  animation: currently-dots 1.4s infinite;
  opacity: 0;
}
.layout-currently__dots span:nth-child(2) {
  animation-delay: 0.2s;
}
.layout-currently__dots span:nth-child(3) {
  animation-delay: 0.4s;
}
.layout-currently--spacer .layout-currently__dots span {
  animation: none;
  opacity: 1;
}

@media (max-width: 1067px) {
  body:not(.home) .layout-nav-column,
  body:not(.home) .events-ticker,
  body:not(.home) .layout-section--selected {
    display: none;
  }
}

@keyframes currently-dots {
  0%, 20% {
    opacity: 0;
  }
  40%, 100% {
    opacity: 1;
  }
}
.layout-header-nav__item {
  position: relative;
}
.layout-header-nav__marker {
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.65em;
  height: 0.65em;
  border: 1px solid currentColor;
  border-radius: 50%;
  background-color: transparent;
  box-sizing: border-box;
  transform: translate(calc(-100% - 0.55em), -50%);
}

.layout-bio-menu {
  position: fixed;
  z-index: 40;
  display: none;
  margin: 0;
  padding: 0;
  background: var(--white);
}
@media (max-width: 1067px) {
  .layout-bio-menu {
    top: 0;
    left: 0;
    width: 100vw;
  }
}
.layout-bio-menu:not([hidden]) {
  display: block;
}
.layout-bio-menu__link {
  display: block;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: var(--layout-title-tracking);
  padding-block: 1.5lh;
}
.layout-bio-menu__link + .layout-bio-menu__link {
  border-top: 1px solid var(--layout-line);
}
.layout-bio-menu__link:last-child {
  border-bottom: 1px solid var(--layout-line);
}
.layout-bio-menu__link:hover {
  background-color: var(--black);
  color: var(--white);
}
.layout-bio-menu__slash {
  letter-spacing: var(--layout-title-tracking);
  margin-inline: 0.35ch;
}

.layout-section-rule {
  display: none;
}
@media (min-width: 1068px) {
  .layout-section-rule {
    display: block;
    grid-column: 1/5;
    align-self: start;
    width: 100%;
    height: var(--layout-section-rule-height);
    position: relative;
    z-index: 4;
    pointer-events: none;
  }
  .layout-section-rule::before {
    content: "";
    position: absolute;
    left: calc(-1 * var(--layout-gutter));
    bottom: 0;
    width: var(--layout-gutter);
    height: var(--layout-dash-thickness);
    background-color: var(--layout-line);
  }
  .layout-section-rule::after {
    content: "";
    position: absolute;
    left: 0;
    right: calc(-1 * var(--layout-grid-gap));
    bottom: 0;
    height: var(--layout-dash-thickness);
    background-image: repeating-linear-gradient(to right, var(--layout-line) 0, var(--layout-line) var(--layout-dash-length), transparent var(--layout-dash-length), transparent calc(var(--layout-dash-length) + var(--layout-dash-gap)));
    background-size: calc(var(--layout-dash-length) + var(--layout-dash-gap)) var(--layout-dash-thickness);
    background-repeat: repeat-x;
    background-position: calc(-1 * var(--layout-dash-start-offset)) 100%;
  }
}
@media (min-width: 2000px) {
  .layout-section-rule {
    z-index: 5;
  }
}
@media (min-width: 1068px) {
  .layout-section-rule--exclude-selected {
    grid-column: 1/4;
  }
}
@media (min-width: 2000px) {
  .layout-section-rule--exclude-selected::after {
    right: 0;
  }
}
@media (min-width: 1068px) {
  .layout-section-rule--after-gap {
    margin-top: var(--layout-section-dash-gap);
  }
}
@media (min-width: 1068px) {
  .layout-section-rule--sticky-offset {
    height: calc(var(--layout-section-rule-height) + var(--layout-section-sticky-padding-top));
  }
}
@media (min-width: 1068px) {
  .layout-section-rule--inverted {
    position: relative;
    z-index: 7;
  }
  .layout-section-rule--inverted::before {
    background-color: var(--layout-line-inverted);
  }
  .layout-section-rule--inverted::after {
    background-image: repeating-linear-gradient(to right, var(--layout-line-inverted) 0, var(--layout-line-inverted) var(--layout-dash-length), transparent var(--layout-dash-length), transparent calc(var(--layout-dash-length) + var(--layout-dash-gap)));
    background-size: calc(var(--layout-dash-length) + var(--layout-dash-gap)) var(--layout-dash-thickness);
    background-repeat: repeat-x;
    background-position: calc(-1 * var(--layout-dash-start-offset)) 100%;
  }
}

@media (max-width: 1067px) {
  .layout-sticky-pair {
    display: contents;
  }
}
@media (min-width: 1068px) {
  .layout-sticky-pair {
    display: grid;
    grid-column: 1/5;
    grid-template-columns: subgrid;
    align-items: start;
    align-self: start;
  }
  .layout-sticky-pair > .layout-section:not(.layout-section--selected) {
    grid-column: 1/3;
  }
  .layout-sticky-pair > .layout-section--selected {
    grid-column: 4;
    padding-left: var(--layout-section-padding-col-4-left);
  }
  .layout-sticky-pair > .layout-section {
    padding-top: var(--layout-section-sticky-padding-top);
  }
}

@media (min-width: 2000px) {
  body.home .events-ticker__extended {
    padding-top: var(--layout-section-sticky-padding-top);
  }
}

@media (min-width: 1068px) {
  .layout-section {
    align-self: start;
    box-sizing: border-box;
  }
}
@media (min-width: 1068px) {
  .layout-section--sticky {
    position: sticky;
    top: var(--layout-section-sticky-top);
  }
}
@media (min-width: 1068px) {
  .layout-section--title-row .layout-section__title {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (min-width: 1068px) {
  .layout-section--top-rail {
    grid-row: 1/-1;
    position: sticky;
    top: var(--layout-section-sticky-top);
    align-self: start;
  }
  .layout-section--top-rail .layout-section__head {
    margin-bottom: calc(var(--layout-section-title-gap) * 1.5);
  }
}
.layout-section__head {
  margin-bottom: calc(var(--layout-section-title-gap) / 2);
}
@media (max-width: 1067px) {
  .layout-section__head::before {
    content: "";
    display: block;
    flex: 1 1 100%;
    height: var(--layout-dash-thickness);
    margin-top: var(--layout-mobile-dash-snap, 0px);
    margin-bottom: 1.5rem;
    pointer-events: none;
    box-sizing: border-box;
    width: calc(100vw - var(--ruled-margin-width));
    margin-left: calc(-1 * (var(--layout-gutter) + var(--layout-section-padding)));
    margin-right: 0;
    background-image: repeating-linear-gradient(to right, var(--layout-line) 0, var(--layout-line) var(--layout-dash-length), transparent var(--layout-dash-length), transparent calc(var(--layout-dash-length) + var(--layout-dash-gap)));
    background-size: calc(var(--layout-dash-length) + var(--layout-dash-gap)) var(--layout-dash-thickness);
    background-repeat: repeat-x;
    background-position: calc(-1 * var(--layout-dash-start-offset)) 100%;
  }
}
@media (min-width: 1068px) {
  .layout-section__head {
    margin-bottom: var(--layout-section-title-gap);
  }
}
.layout-section__head--with-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
@media (min-width: 1068px) {
  .layout-section__head--with-toolbar {
    gap: 1.5rem;
  }
}
@media (max-width: 1067px) {
  .layout-section__head--with-toolbar {
    position: relative;
    padding-top: calc(var(--layout-mobile-dash-snap, 0px) + var(--layout-dash-thickness) + 1.5rem);
  }
  .layout-section__head--with-toolbar::before {
    position: absolute;
    top: var(--layout-mobile-dash-snap, 0px);
    left: 0;
    flex: none;
    margin-top: 0;
    margin-bottom: 0;
  }
}
.layout-section__head--with-toolbar .layout-section__title {
  flex: 1 1 auto;
}
.layout-section__head--with-toolbar .releases-list__search {
  flex: 0 1 16rem;
  margin-left: auto;
}
@media (min-width: 1068px) {
  .layout-section__head--with-toolbar .releases-list__search {
    padding-top: var(--layout-section-line-inset-top);
    padding-bottom: var(--layout-section-line-inset-bottom);
  }
}
.layout-section__head--with-toolbar .releases-list__filters {
  flex: 1 1 100%;
}
.layout-section__title {
  display: block;
  margin: 0;
  line-height: 1.4;
  color: inherit;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: var(--layout-title-tracking);
}
@media (min-width: 1068px) {
  .layout-section__title {
    display: inline-block;
    padding-top: var(--layout-section-line-inset-top);
    padding-bottom: var(--layout-section-line-inset-bottom);
  }
}
@media (min-width: 1068px) {
  .layout-section--column-rule .layout-section__head {
    position: relative;
    min-height: var(--layout-section-rule-height);
    margin-bottom: var(--layout-section-title-gap);
  }
  .layout-section--column-rule .layout-section__head::after {
    content: "";
    position: absolute;
    left: calc(-1 * var(--layout-section-stack-padding-inline));
    width: calc(100% + 2 * var(--layout-section-stack-padding-inline));
    bottom: 0;
    height: var(--layout-dash-thickness);
    background-image: repeating-linear-gradient(to right, var(--layout-line) 0, var(--layout-line) var(--layout-dash-length), transparent var(--layout-dash-length), transparent calc(var(--layout-dash-length) + var(--layout-dash-gap)));
    background-size: calc(var(--layout-dash-length) + var(--layout-dash-gap)) var(--layout-dash-thickness);
    background-repeat: repeat-x;
    background-position: calc(-1 * var(--layout-dash-start-offset)) 100%;
  }
}
.layout-section__content > * + * {
  margin-top: 0.5rem;
}
.layout-section__content > .layout-section__more {
  margin-top: var(--layout-section-more-margin-top);
}
.layout-section__content--releases {
  display: flex;
  flex-direction: column;
  gap: var(--layout-release-gap);
}
.layout-section__content--releases > * + * {
  margin-top: 0;
}
.layout-section__content--releases .layout-section__more {
  margin-top: 0;
  margin-bottom: var(--layout-section-more-margin-bottom-compact);
}
.layout-section--after-gap {
  margin-top: var(--layout-section-dash-gap);
}
@media (max-width: 1067px) {
  .layout-section--no-mobile-rule .layout-section__head::before {
    content: none;
  }
}
.layout-section--inverted {
  position: relative;
  z-index: 6;
  color: var(--cream);
}
@media (max-width: 1067px) {
  .layout-section--inverted {
    margin-left: calc(-1 * (var(--ruled-margin-width) + var(--layout-gutter)));
    padding-left: calc(var(--ruled-margin-width) + var(--layout-gutter) + var(--layout-section-padding));
    padding-right: calc(var(--layout-gutter) + var(--layout-section-padding));
    width: 100vw;
  }
  .layout-section--inverted .layout-section__head::before {
    content: none;
  }
  .layout-section--inverted::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--ink);
    z-index: -1;
  }
  .layout-section--inverted::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--ruled-margin-width);
    background-image: repeating-linear-gradient(to bottom, transparent, transparent calc(var(--ruled-line-height) - 1px), var(--layout-line-inverted) calc(var(--ruled-line-height) - 1px), var(--layout-line-inverted) var(--ruled-line-height));
    background-position: 0 var(--layout-inverted-ruled-offset, 0px);
    z-index: -1;
  }
  .layout-inverted-stack .layout-section--inverted {
    margin-left: 0;
    width: auto;
    padding-left: calc(var(--ruled-margin-width) + var(--layout-gutter) + var(--layout-section-padding));
    padding-right: calc(var(--layout-gutter) + var(--layout-section-padding));
  }
  .layout-inverted-stack .layout-section--inverted::before, .layout-inverted-stack .layout-section--inverted::after {
    content: none;
  }
}

.layout-release-item--half .layout-release-item__body {
  grid-column: 1/-1;
  min-width: 0;
}
.layout-release-item--half .layout-release-item__thumb-link {
  width: calc(var(--layout-release-half-thumb-ratio) * 100%);
  display: block;
  overflow: hidden;
  border-radius: 0;
  transform: translateZ(0);
  transition: border-radius 0.25s ease;
}
.layout-release-item--half .layout-release-item__thumb {
  width: 100%;
  filter: grayscale(100%);
  transition: filter 0.25s ease;
}
.layout-release-item--half:hover .layout-release-item__thumb-link, .layout-release-item--half:focus-within .layout-release-item__thumb-link {
  border-radius: 12px;
}
.layout-release-item--half:hover .layout-release-item__thumb, .layout-release-item--half:focus-within .layout-release-item__thumb {
  filter: grayscale(0%);
}
.layout-release-item--half .layout-release-item__text {
  min-width: 0;
  flex: 1 1 auto;
}

.lcd-soundsystem-show {
  display: flex;
  flex-direction: column;
}

.currently-feature {
  display: block;
  color: inherit;
  text-decoration: none;
}
.currently-feature__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  transform: translateZ(0);
  transition: filter 0.25s ease, border-radius 0.25s ease;
  filter: grayscale(100%);
  transition: filter 0.25s ease;
}
@media (min-width: 640px) {
  .currently-feature__image {
    width: var(--currently-feature-image-width);
  }
}
.currently-feature:hover .currently-feature__image, .currently-feature:focus-within .currently-feature__image {
  border-radius: 12px;
  filter: grayscale(0%);
}
.currently-feature__text {
  margin-top: var(--currently-feature-caption-margin-top);
}
.currently-feature__text > * {
  margin: 0;
  padding: 0;
}
.currently-feature + .currently-feature {
  margin-top: var(--layout-release-gap);
}
.currently-feature--compact {
  display: flex;
  align-items: flex-start;
  gap: var(--layout-gutter);
}
.currently-feature--compact .currently-feature__image {
  width: calc(var(--currently-feature-image-width) / 2);
}
.currently-feature--compact .currently-feature__text {
  margin-top: 0;
  min-width: 0;
  flex: 1 1 auto;
}
.currently-feature--full .currently-feature__image {
  width: var(--currently-feature-image-width-full);
}

@media (min-width: 640px) {
  .layout-section--currently .currently-feature__image {
    max-width: calc(var(--layout-release-featured-image-ratio) * 100%);
  }
}
@media (min-width: 640px) {
  .layout-section--currently .currently-feature--landscape .currently-feature__image {
    width: var(--currently-feature-image-width-landscape);
    max-width: var(--currently-feature-image-width-landscape);
  }
}
.layout-section--currently .layout-section__more {
  margin-bottom: var(--layout-section-more-margin-bottom-currently);
}

body.home .layout-section--selected {
  padding-bottom: var(--layout-section-more-margin-bottom-compact);
}

@media (min-width: 1068px) {
  .layout-main-grid > .layout-bio:not(.layout-bio--menu-anchor),
  .layout-main-grid > .layout-section--selected,
  .layout-main-grid > .layout-section-stack,
  .layout-main-grid > .md\:col-start-4,
  .layout-sticky-pair > .layout-section--selected {
    padding-left: var(--layout-section-padding-col-4-left);
  }
  .layout-bio:not(.layout-bio--menu-anchor) > .layout-bio__content {
    padding-left: 0;
  }
}
.tickets-links > * {
  margin: 0;
  padding: 0;
}

.layout-section-stack {
  --layout-section-stack-padding-inline: var(--layout-section-padding);
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: var(--layout-section-stack-gap);
}
@media (min-width: 640px) and (max-width: 1067px) {
  .layout-section-stack {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: var(--layout-section-stack-gap);
    row-gap: var(--layout-section-stack-gap);
    padding-top: 0;
  }
  .layout-section-stack .layout-section:not(:first-child) .layout-section__head {
    padding-top: calc(var(--layout-mobile-dash-snap, 0px) + var(--layout-dash-thickness) + 1.5rem);
  }
  .layout-section-stack .layout-section:not(:first-child) .layout-section__head::before, .layout-section-stack .layout-section:not(:first-child) .layout-section__head::after {
    content: none;
  }
}
@media (min-width: 1068px) {
  .layout-section-stack {
    --layout-section-stack-padding-inline: var(--layout-section-padding-col-4);
  }
}
.layout-section-stack--after-gap {
  margin-top: var(--layout-section-dash-gap);
}

.layout-section--page-main .layout-section__content {
  margin-top: 0;
}
.layout-section--page-main .layout-section__content > p + p {
  margin-top: 1em;
}

.release-single {
  padding-bottom: var(--portfolio-single-padding-bottom);
}
.release-single__feature {
  align-items: start;
}
.release-single__meta a {
  color: inherit;
  text-decoration: none;
}
.release-single__text {
  margin-top: var(--layout-release-gap);
  max-width: 42rem;
}

.portfolio-single {
  padding-bottom: var(--portfolio-single-padding-bottom);
}
.portfolio-single__intro {
  max-width: 42rem;
}
.portfolio-single__intro a {
  color: inherit;
  text-decoration: none;
}
.portfolio-single__title {
  margin: 0 0 1em;
  font: inherit;
  font-style: italic;
}

.portfolio-builder {
  margin-top: var(--portfolio-module-gap);
}

@keyframes sc-player-loading {
  0% {
    transform: scaleX(0.08);
    opacity: 0.35;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scaleX(1);
    opacity: 0.35;
  }
}
.portfolio-module {
  margin: 0;
}
.portfolio-module + .portfolio-module {
  margin-top: var(--portfolio-module-gap);
}
.portfolio-module__image, .portfolio-module__video {
  display: block;
  width: 100%;
  height: auto;
}
.portfolio-module__caption {
  margin-top: var(--portfolio-module-caption-margin-top);
}
.portfolio-module__text {
  min-width: 0;
}
.portfolio-module__text > * {
  margin-block: 0;
}
.portfolio-module__text > * + * {
  margin-top: 1em;
}
.portfolio-module__text a {
  color: var(--on-green);
  text-decoration: none;
  background-color: var(--green);
  padding-block: 0.15em;
}
.portfolio-module--text {
  max-width: 42rem;
}
.portfolio-module--image-text {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--portfolio-module-content-gap);
  align-items: start;
}
@media (min-width: 640px) {
  .portfolio-module--image-text {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
  }
}
@media (min-width: 640px) {
  .portfolio-module--image-right {
    grid-template-columns: minmax(0, 3fr) minmax(0, 5fr);
  }
  .portfolio-module--image-right .portfolio-module__media {
    grid-column: 2;
    grid-row: 1;
  }
  .portfolio-module--image-right .portfolio-module__text {
    grid-column: 1;
    grid-row: 1;
  }
}
.portfolio-module__embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.portfolio-module__embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.portfolio-module--highnote .portfolio-module__embed {
  aspect-ratio: auto;
}
.portfolio-module--highnote .portfolio-module__embed iframe {
  position: static;
}
.portfolio-module--highnote .portfolio-module__embed iframe {
  height: var(--highnote-player-height);
}
.portfolio-module--soundcloud .sc-player {
  position: relative;
  max-width: 36rem;
}
.portfolio-module--soundcloud .sc-player__widget {
  position: absolute;
  inset: 0 auto auto 0;
  width: 400px;
  height: 166px;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.portfolio-module--soundcloud .sc-player__widget iframe {
  display: block;
  width: 400px;
  height: 166px;
  border: 0;
}
.portfolio-module--soundcloud .sc-player__heading {
  margin: 0 0 0.75rem;
  font-size: 0.875em;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.portfolio-module--soundcloud .sc-player__label {
  margin: 0 0 0.25rem;
}
.portfolio-module--soundcloud .sc-player__label a {
  color: inherit;
  text-decoration: none;
}
.portfolio-module--soundcloud .sc-player__label a:hover, .portfolio-module--soundcloud .sc-player__label a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.portfolio-module--soundcloud .sc-player__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.portfolio-module--soundcloud .sc-player__status {
  opacity: 0.55;
}
.portfolio-module--soundcloud .sc-player__track + .sc-player__track {
  margin-top: 0.5rem;
}
.portfolio-module--soundcloud .sc-player__track.is-active:not(.is-paused) .sc-player__icon--play {
  display: none;
}
.portfolio-module--soundcloud .sc-player__track.is-active:not(.is-paused) .sc-player__icon--pause {
  display: block;
}
.portfolio-module--soundcloud {
  /* Safari / iOS: ↘ load → (loading bar) → ▶ ready/play → ❚❚ pause */
}
.portfolio-module--soundcloud .sc-player--two-step .sc-player__icon--load {
  display: block;
}
.portfolio-module--soundcloud .sc-player--two-step .sc-player__icon--play {
  display: none;
}
.portfolio-module--soundcloud .sc-player--two-step .sc-player__track.is-loading-track .sc-player__icon--load {
  display: block;
}
.portfolio-module--soundcloud .sc-player--two-step .sc-player__track.is-loading-track .sc-player__icon--play,
.portfolio-module--soundcloud .sc-player--two-step .sc-player__track.is-loading-track .sc-player__icon--pause {
  display: none;
}
.portfolio-module--soundcloud .sc-player--two-step .sc-player__track.is-active.is-paused:not(.is-loading-track) .sc-player__icon--load {
  display: none;
}
.portfolio-module--soundcloud .sc-player--two-step .sc-player__track.is-active.is-paused:not(.is-loading-track) .sc-player__icon--play {
  display: block;
}
.portfolio-module--soundcloud .sc-player--two-step .sc-player__track.is-active.is-paused:not(.is-loading-track) .sc-player__icon--pause {
  display: none;
}
.portfolio-module--soundcloud .sc-player--two-step .sc-player__track.is-active:not(.is-paused) .sc-player__icon--load {
  display: none;
}
.portfolio-module--soundcloud .sc-player--two-step .sc-player__track.is-active:not(.is-paused) .sc-player__icon--play {
  display: none;
}
.portfolio-module--soundcloud .sc-player--two-step .sc-player__track.is-active:not(.is-paused) .sc-player__icon--pause {
  display: block;
}
.portfolio-module--soundcloud .sc-player__toggle {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.portfolio-module--soundcloud .sc-player__toggle:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}
.portfolio-module--soundcloud .sc-player__icons {
  position: relative;
  flex: 0 0 auto;
  width: 0.75rem;
  height: 1em;
  margin-top: 0.15em;
}
.portfolio-module--soundcloud .sc-player__icon {
  display: block;
  position: absolute;
  inset: 0;
  width: 0.75rem;
  height: 0.75rem;
}
.portfolio-module--soundcloud .sc-player__icon--play::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 0.35rem solid transparent;
  border-bottom: 0.35rem solid transparent;
  border-left: 0.55rem solid var(--black);
  margin-top: 0.05rem;
}
.portfolio-module--soundcloud .sc-player__icon--pause {
  display: none;
}
.portfolio-module--soundcloud .sc-player__icon--pause::before, .portfolio-module--soundcloud .sc-player__icon--pause::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.05rem;
  width: 0.15rem;
  height: 0.7rem;
  background: var(--black);
}
.portfolio-module--soundcloud .sc-player__icon--pause::before {
  left: 0.1rem;
}
.portfolio-module--soundcloud .sc-player__icon--pause::after {
  left: 0.4rem;
}
.portfolio-module--soundcloud .sc-player__icon {
  /* Same glyph treatment as external-link ↗, facing down-right */
}
.portfolio-module--soundcloud .sc-player__icon--load {
  display: none;
  width: auto;
  height: auto;
  inset: auto;
  top: 0;
  left: 0;
  font-size: 1em;
  line-height: 1;
  transform: none;
}
.portfolio-module--soundcloud .sc-player__title {
  min-width: 0;
  flex: 1 1 auto;
}
.portfolio-module--soundcloud .sc-player__controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.4rem;
  margin-left: 1.25rem;
  height: 1rem;
  font-variant-numeric: tabular-nums;
}
.portfolio-module--soundcloud .sc-player__controls[hidden] {
  display: none;
}
.portfolio-module--soundcloud .sc-player__controls.is-loading .sc-player__range {
  visibility: hidden;
}
.portfolio-module--soundcloud .sc-player__controls.is-loading .sc-player__loading {
  display: block;
}
.portfolio-module--soundcloud .sc-player__time {
  flex: 0 0 auto;
  min-width: 2.5em;
}
.portfolio-module--soundcloud .sc-player__seek {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
}
.portfolio-module--soundcloud .sc-player__loading {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  margin-top: -0.5px;
  background: var(--black);
  transform-origin: left center;
  animation: sc-player-loading 1.4s ease-out infinite;
  pointer-events: none;
}
.portfolio-module--soundcloud .sc-player__range {
  appearance: none;
  width: 100%;
  height: 1rem;
  margin: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.portfolio-module--soundcloud .sc-player__range:focus {
  outline: none;
}
.portfolio-module--soundcloud .sc-player__range:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}
.portfolio-module--soundcloud .sc-player__range::-webkit-slider-runnable-track {
  width: 100%;
  height: 1px;
  background: var(--black);
  border: none;
}
.portfolio-module--soundcloud .sc-player__range::-webkit-slider-thumb {
  appearance: none;
  width: 1px;
  height: 0.85rem;
  margin-top: -0.4rem;
  background: var(--black);
  border: none;
  border-radius: 0;
}
.portfolio-module--soundcloud .sc-player__range::-moz-range-track {
  width: 100%;
  height: 1px;
  background: var(--black);
  border: none;
}
.portfolio-module--soundcloud .sc-player__range::-moz-range-thumb {
  width: 1px;
  height: 0.85rem;
  background: var(--black);
  border: none;
  border-radius: 0;
}
.portfolio-module--carousel {
  --swiper-theme-color: var(--green);
  --swiper-navigation-color: var(--black);
  --swiper-navigation-size: 1.5rem;
  --swiper-pagination-bullet-inactive-color: var(--black);
  --swiper-pagination-bullet-inactive-opacity: 0.28;
  --swiper-pagination-color: var(--green);
}
.portfolio-module--carousel .swiper {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.portfolio-module--carousel .swiper-slide {
  height: auto;
}
.portfolio-module--carousel .portfolio-module__carousel-nav {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: var(--carousel-media-height, 50%);
  pointer-events: none;
  z-index: 2;
}
.portfolio-module--carousel .swiper.is-ready .portfolio-module__carousel-nav {
  transition: height 0.6s ease;
}
.portfolio-module--carousel .swiper-pagination {
  position: static;
  margin-top: 0.75rem;
}
.portfolio-module--carousel .swiper-slide img {
  user-select: none;
  -webkit-user-drag: none;
}
.portfolio-module--carousel .swiper-button-prev,
.portfolio-module--carousel .swiper-button-next {
  pointer-events: none;
  z-index: 2;
  width: 50%;
  height: 100%;
  margin: 0;
  top: 0;
  transform: none;
  background: transparent;
  border: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
  touch-action: pan-y;
}
@media (hover: hover) and (pointer: fine) {
  .portfolio-module--carousel .swiper-button-prev,
  .portfolio-module--carousel .swiper-button-next {
    pointer-events: auto;
  }
}
.portfolio-module--carousel .swiper-button-prev::after,
.portfolio-module--carousel .swiper-button-next::after {
  display: none;
}
.portfolio-module--carousel .swiper-button-prev:focus,
.portfolio-module--carousel .swiper-button-next:focus {
  outline: none;
}
.portfolio-module--carousel .swiper-pagination-bullet:focus {
  outline: none;
}
.portfolio-module--carousel .swiper-button-prev {
  left: 0;
  right: auto;
  cursor: w-resize;
}
.portfolio-module--carousel .swiper-button-next {
  right: 0;
  left: auto;
  cursor: e-resize;
}
.portfolio-module--spacer {
  height: var(--portfolio-spacer-size);
  margin-top: 0 !important;
}
.portfolio-module--spacer + .portfolio-module {
  margin-top: 0;
}

.pill {
  display: inline-block;
  border: var(--layout-dash-thickness) solid var(--layout-line);
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font-family: "Univers", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-variant-ligatures: none;
  font-size: var(--pill-font-size);
  line-height: 1.4;
  padding: var(--pill-padding-y) var(--pill-padding-x);
}

.contact-lists {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--portfolio-module-gap);
}
@media (min-width: 640px) {
  .contact-lists {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.contact-lists__heading {
  margin: 0 0 1.25em;
  font: inherit;
  text-transform: uppercase;
  letter-spacing: var(--layout-title-tracking);
}
.contact-lists__title {
  margin: 0;
  font: inherit;
  text-transform: uppercase;
  letter-spacing: var(--layout-title-tracking);
}
.contact-lists__intro {
  margin: 0.35em 0 1.25em;
}

.contact-form {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.contact-form__field {
  display: block;
  margin: 0;
}
.contact-form__label {
  display: block;
}
.contact-form input[type=text],
.contact-form input[type=email] {
  appearance: none;
  display: block;
  width: 100%;
  margin: 0.15em 0 0;
  padding: 0.15em 0 0.1em;
  border: 0;
  border-bottom: var(--layout-dash-thickness) solid var(--layout-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: inherit;
}
.contact-form input[type=text]:focus,
.contact-form input[type=email]:focus {
  outline: none;
}
.contact-form__honeypot {
  position: absolute;
  left: -5000px;
}
.contact-form__submit {
  align-self: start;
  cursor: pointer;
}
.contact-form__submit:hover, .contact-form__submit:focus-visible {
  background-color: var(--green);
  border-color: var(--green);
  color: var(--on-green);
}

.releases-list {
  container-type: inline-size;
  container-name: releases-list;
}
.releases-list--portfolio {
  --releases-list-columns: var(--portfolio-list-columns);
  --releases-list-row-spacing: 1.4lh;
  margin-bottom: var(--portfolio-list-margin-bottom);
}
.releases-list__filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.35rem;
}
.releases-list__search {
  display: block;
  width: 100%;
  max-width: 16rem;
  margin: 0;
}
.releases-list__search-input {
  appearance: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.15em 0 0.1em;
  border: 0;
  border-bottom: var(--layout-dash-thickness) solid var(--layout-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: inherit;
}
.releases-list__search-input::placeholder {
  color: inherit;
  opacity: 0.45;
}
.releases-list__search-input:focus {
  outline: none;
}
.releases-list__filter {
  appearance: none;
  cursor: pointer;
}
.releases-list__filter:hover:not(.is-active):not(.releases-list__filter--clear) {
  background-color: var(--paper);
}
.releases-list__filter.is-active:not(.releases-list__filter--clear) {
  background-color: var(--black);
  border-color: var(--black);
  color: var(--white);
}
.releases-list__filter--clear {
  background-color: var(--black);
  border-color: var(--black);
  color: var(--white);
}
.releases-list__filter--clear.is-hidden {
  display: none;
}
.releases-list__table {
  width: 100%;
}
.releases-list__head, .releases-list__row {
  display: grid;
  grid-template-columns: var(--releases-list-columns);
  column-gap: var(--releases-list-row-gap);
  align-items: start;
  position: relative;
}
.releases-list__head::after, .releases-list__row::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--layout-dash-thickness);
  background-color: var(--layout-line);
}
.releases-list__row {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.25s ease;
  min-height: calc(var(--releases-list-cell-padding-top) + 2lh + var(--releases-list-row-spacing));
}
.releases-list__row[hidden] {
  display: none;
}
.releases-list__row:hover {
  background-color: var(--green);
  color: var(--on-green);
  transition: background-color 0s;
}
.releases-list__row .releases-list__cell {
  padding-bottom: var(--releases-list-row-spacing);
}
.releases-list__row .releases-list__cell--title {
  max-height: 5lh;
  overflow: hidden;
}
.releases-list__sort, .releases-list__cell {
  min-width: 0;
  text-align: left;
}
.releases-list__sort {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: inherit;
  padding: 0.45rem 0;
  cursor: pointer;
  text-align: left;
}
.releases-list__sort.is-active .releases-list__sort-icon {
  opacity: 1;
}
.releases-list__sort[data-sort-dir=asc] .releases-list__sort-icon {
  transform: rotate(180deg);
}
.releases-list__sort-icon {
  display: inline-block;
  width: var(--releases-sort-icon-width);
  height: var(--releases-sort-icon-height);
  margin-left: 0.15em;
  opacity: 0.45;
  vertical-align: 0.1em;
  background-color: currentColor;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.releases-list__cell {
  padding: var(--releases-list-cell-padding-top) 0;
}
.releases-list__cell a {
  color: inherit;
  text-decoration: none;
}
.releases-list__empty {
  margin: 0;
  margin-top: 1lh;
  padding: 0;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: var(--layout-title-tracking);
  padding-inline-start: var(--layout-title-tracking);
}
.releases-list__empty[hidden] {
  display: none;
}
.releases-list__extended {
  display: none;
}

.archive-image-tip {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  will-change: transform;
}
.archive-image-tip.is-visible, .archive-image-tip.is-measuring {
  visibility: visible;
}
.archive-image-tip.is-visible {
  opacity: 1;
}
.archive-image-tip.is-measuring {
  opacity: 0;
}
.archive-image-tip img {
  display: block;
  width: var(--archive-image-tip-width);
  max-width: 40vw;
  height: auto;
  max-height: var(--archive-image-tip-max-height);
  object-fit: contain;
}
@media (hover: none), (pointer: coarse) {
  .archive-image-tip {
    display: none;
  }
}

@container releases-list (max-width: 549px) {
  .releases-list__head,
  .releases-list__row {
    --releases-list-columns: minmax(0, 1.15fr) minmax(0, 1.35fr) minmax(0, 1fr);
  }
  .releases-list--portfolio .releases-list__head,
  .releases-list--portfolio .releases-list__row {
    --releases-list-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 0.85fr);
  }
  .releases-list__cell--year,
  .releases-list:not(.releases-list--portfolio) .releases-list__cell--date {
    display: none;
  }
  .releases-list--portfolio .releases-list__cell--description {
    display: none;
  }
}
@media (min-width: 1068px) {
  .layout-section--blog-page .layout-section__content {
    padding-top: calc(var(--layout-section-rule-height) + var(--layout-section-title-gap));
  }
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--blog-grid-gap);
  row-gap: var(--blog-grid-row-gap);
}
@media (min-width: 700px) {
  .blog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1068px) {
  .blog-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 2000px) {
  .blog-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.blog-grid__item {
  display: block;
  color: inherit;
  text-decoration: none;
}
.blog-grid__media {
  position: relative;
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 0;
  transform: translateZ(0);
  transition: border-radius 0.25s ease;
}
.blog-grid__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: var(--image-green-mono-filter);
  transition: filter 0.25s ease;
}
.blog-grid__caption {
  display: grid;
  grid-template-rows: 1fr;
  margin-top: 0.35em;
  opacity: 1;
}
.blog-grid__caption-inner {
  min-height: 0;
  overflow: hidden;
}
.blog-grid__title {
  display: block;
}
.blog-grid__copy {
  display: block;
  margin-top: 0.35em;
  white-space: pre-line;
}
@media (max-width: 559px) {
  .blog-grid__copy {
    display: none;
  }
}
.blog-grid__item:hover .blog-grid__media, .blog-grid__item:focus-visible .blog-grid__media {
  border-radius: 12px;
}
.blog-grid__item:hover .blog-grid__image, .blog-grid__item:focus-visible .blog-grid__image {
  filter: none;
}
@media (hover: hover) and (pointer: fine) {
  .blog-grid__caption {
    grid-template-rows: 0fr;
    margin-top: 0;
    opacity: 0;
    transition: grid-template-rows var(--blog-grid-caption-duration) ease, margin-top var(--blog-grid-caption-duration) ease, opacity var(--blog-grid-caption-duration) ease;
  }
  .blog-grid__item:hover .blog-grid__caption, .blog-grid__item:focus-visible .blog-grid__caption {
    grid-template-rows: 1fr;
    margin-top: 0.35em;
    opacity: 1;
  }
}

.home-blog-reveal {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 52;
  display: flex;
  flex-direction: column;
  width: 100vw;
  max-height: 100vh;
  max-height: 100dvh;
  color: var(--ink);
  pointer-events: none;
  transform: translateY(calc(100% - var(--home-blog-reveal-bar-height)));
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.home-blog-reveal:not(.is-open) {
  transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
.home-blog-reveal:not(.is-open):not(.is-hover-locked):has(.home-blog-reveal__handle:hover) {
  transform: translateY(calc(100% - var(--home-blog-reveal-bar-height) - var(--home-blog-reveal-hover-peek)));
}
.home-blog-reveal.is-open {
  z-index: 55;
  pointer-events: auto;
  transform: translateY(0);
}
@media (max-width: 1067px) {
  .home-blog-reveal.is-open {
    height: 100vh;
    height: 100dvh;
  }
}
.home-blog-reveal__handle {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: var(--home-blog-reveal-bar-height);
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  cursor: pointer;
  pointer-events: auto;
  appearance: none;
  outline: none;
  box-shadow: none;
  opacity: 1;
  transition: opacity 0.2s ease;
  -webkit-tap-highlight-color: transparent;
  background-image: repeating-linear-gradient(to right, var(--green) 0, var(--green) var(--layout-dash-length), transparent var(--layout-dash-length), transparent calc(var(--layout-dash-length) + var(--layout-dash-gap)));
  background-size: calc(var(--layout-dash-length) + var(--layout-dash-gap)) var(--layout-dash-thickness);
  background-repeat: repeat-x;
  background-position: calc(-1 * var(--layout-dash-start-offset)) 100%;
  background-size: calc(var(--layout-dash-length) + var(--layout-dash-gap)) 100%;
  background-position: calc(var(--layout-dash-origin-x) - var(--layout-dash-start-offset)) 100%;
}
.home-blog-reveal__handle:focus, .home-blog-reveal__handle:focus-visible {
  outline: none;
  box-shadow: none;
}
.home-blog-reveal__handle::after {
  content: "";
  position: absolute;
  left: 0;
  top: calc(-1 * var(--home-blog-reveal-hit-pad));
  width: 100%;
  height: calc(100% + var(--home-blog-reveal-hit-pad) + var(--home-blog-reveal-hover-peek) + var(--home-blog-reveal-hit-pad));
}
.home-blog-reveal__handle:hover, .home-blog-reveal.is-open .home-blog-reveal__handle {
  opacity: var(--home-blog-reveal-handle-active-opacity);
}
@media (max-width: 639px) {
  .home-blog-reveal__handle:hover, .home-blog-reveal.is-open .home-blog-reveal__handle {
    opacity: 1;
  }
}
.home-blog-reveal__fill {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: clip;
  overflow-y: auto;
  background-color: var(--home-blog-reveal-bg);
  overscroll-behavior: contain;
}
.home-blog-reveal__panel {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: calc(100vw - var(--ruled-margin-width));
  max-width: none;
  margin-left: var(--ruled-margin-width);
  padding-top: var(--home-blog-reveal-padding);
  padding-bottom: var(--home-blog-reveal-padding);
  padding-left: var(--layout-gutter);
  padding-right: var(--layout-gutter);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
@media (min-width: 640px) and (max-width: 1067px) {
  .home-blog-reveal__panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: var(--layout-grid-gap);
    row-gap: 0;
    align-items: start;
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .home-blog-reveal__panel {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto minmax(0, 1.3fr) var(--layout-sidebar-width);
    column-gap: var(--layout-grid-gap);
    row-gap: 0;
    align-items: start;
  }
}
@media (min-width: 2000px) {
  .home-blog-reveal__panel {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) minmax(0, 3fr) minmax(0, 3fr) var(--layout-sidebar-width);
    column-gap: var(--layout-grid-gap);
    row-gap: 0;
    align-items: start;
  }
}
.home-blog-reveal__label {
  padding-inline: var(--layout-section-padding);
  margin-bottom: 1.5rem;
  text-transform: uppercase;
  letter-spacing: var(--layout-title-tracking);
}
@media (min-width: 640px) and (max-width: 1067px) {
  .home-blog-reveal__label {
    grid-column: 1/-1;
  }
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .home-blog-reveal__label {
    grid-column: 1/5;
  }
}
@media (min-width: 2000px) {
  .home-blog-reveal__label {
    grid-column: 1/5;
  }
}
.home-blog-reveal__primary {
  padding-inline: var(--layout-section-padding);
}
@media (min-width: 640px) and (max-width: 1067px) {
  .home-blog-reveal__primary {
    grid-column: 1;
    padding-bottom: 0;
  }
}
@media (min-width: 1068px) {
  .home-blog-reveal__primary {
    grid-column: 1/3;
    padding-bottom: 0;
  }
}
.home-blog-reveal__secondary {
  padding-inline: var(--layout-section-padding);
  margin-top: var(--layout-section-stack-gap);
}
@media (min-width: 640px) and (max-width: 1067px) {
  .home-blog-reveal__secondary {
    grid-column: 2;
    margin-top: 0;
  }
}
@media (min-width: 1068px) {
  .home-blog-reveal__secondary {
    grid-column: 4;
    margin-top: 0;
    padding-inline: var(--layout-section-padding-col-4);
  }
}
.home-blog-reveal__more {
  padding-inline: var(--layout-section-padding);
  margin-top: var(--layout-section-more-margin-top);
}
@media (max-width: 639px) {
  .home-blog-reveal__more {
    padding-bottom: 2rem;
  }
}
@media (min-width: 640px) and (max-width: 1067px) {
  .home-blog-reveal__more {
    grid-column: 1;
    margin-top: 0.75rem;
  }
}
@media (min-width: 1068px) {
  .home-blog-reveal__more {
    grid-column: 1/3;
    margin-top: 0.75rem;
  }
}
.home-blog-reveal__more a {
  color: inherit;
  text-decoration: none;
}
.home-blog-reveal__entry {
  display: block;
  color: inherit;
}
.home-blog-reveal__media {
  position: relative;
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 0;
  color: inherit;
  text-decoration: none;
  transform: translateZ(0);
  transition: border-radius 0.25s ease;
}
.home-blog-reveal__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: var(--image-green-mono-filter);
  transition: filter 0.25s ease;
}
.home-blog-reveal__media:hover, .home-blog-reveal__media:focus-visible {
  border-radius: 12px;
}
.home-blog-reveal__media:hover .home-blog-reveal__image, .home-blog-reveal__media:focus-visible .home-blog-reveal__image {
  filter: none;
}
.home-blog-reveal__text {
  display: block;
  margin-top: var(--currently-feature-caption-margin-top);
}
.home-blog-reveal__label, .home-blog-reveal__title, .home-blog-reveal__copy {
  display: block;
}
.home-blog-reveal__title {
  color: inherit;
  text-decoration: none;
}
.home-blog-reveal__copy {
  margin-top: 0;
  white-space: pre-line;
}
.home-blog-reveal__copy a {
  color: inherit;
}
@media (max-width: 1067px) {
  .home-blog-reveal__entry--featured .home-blog-reveal__text {
    margin-top: 1.5rem;
  }
}
@media (min-width: 1068px) {
  .home-blog-reveal__entry--featured {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
  }
}
.home-blog-reveal__entry--featured .home-blog-reveal__media {
  width: 100%;
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .home-blog-reveal__entry--featured .home-blog-reveal__media {
    width: calc(var(--layout-col-4-width) - 2 * var(--layout-section-padding-col-4));
    flex-shrink: 0;
  }
}
@media (min-width: 2000px) {
  .home-blog-reveal__entry--featured .home-blog-reveal__media {
    width: calc((var(--layout-grid-width) - var(--layout-sidebar-width) - 4 * var(--layout-grid-gap)) * 3 / 11 - 2 * var(--layout-section-padding-col-4));
    flex-shrink: 0;
  }
}
@media (min-width: 1068px) {
  .home-blog-reveal__entry--featured .home-blog-reveal__text {
    margin-top: 0;
    min-width: 0;
    flex: 1 1 auto;
  }
}
.home-blog-reveal__entry--featured .home-blog-reveal__copy {
  margin-top: 1em;
}
.home-blog-reveal__entry--aside .home-blog-reveal__media {
  width: 100%;
}
@media (min-width: 1068px) and (max-width: 1999px) {
  .home-blog-reveal__entry--aside .home-blog-reveal__media {
    width: calc(var(--layout-col-4-width) - 2 * var(--layout-section-padding-col-4));
  }
}
@media (min-width: 2000px) {
  .home-blog-reveal__entry--aside .home-blog-reveal__media {
    width: calc((var(--layout-grid-width) - var(--layout-sidebar-width) - 4 * var(--layout-grid-gap)) * 3 / 11 - 2 * var(--layout-section-padding-col-4));
  }
}
.home-blog-reveal__entry--aside .home-blog-reveal__text {
  min-height: var(--blog-grid-caption-height);
  margin-top: 1.5rem;
}
@media (max-width: 1067px) {
  .home-blog-reveal__entry--aside .home-blog-reveal__text {
    opacity: 1;
  }
}
@media (min-width: 1068px) {
  .home-blog-reveal__entry--aside .home-blog-reveal__text {
    margin-top: 0.35em;
    opacity: 0;
    transition: opacity 0.25s ease;
  }
}
.home-blog-reveal__entry--aside .home-blog-reveal__copy {
  margin-top: 1em;
}
@media (min-width: 1068px) {
  .home-blog-reveal__entry--aside .home-blog-reveal__copy {
    display: none;
  }
}
@media (min-width: 1068px) {
  .home-blog-reveal__entry--aside:hover .home-blog-reveal__text, .home-blog-reveal__entry--aside:focus-within .home-blog-reveal__text {
    opacity: 1;
    transition: opacity 0s;
  }
}
.home-blog-reveal__close {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: calc(var(--layout-sidebar-min) * var(--layout-sidebar-circle-ratio) * 0.65);
  aspect-ratio: 1;
  margin: var(--layout-gutter) var(--layout-gutter) 0 auto;
  border-radius: 50%;
  border: 1px solid transparent;
  padding: 0;
  background: transparent;
  color: color-mix(in srgb, var(--ink) 28%, transparent);
  cursor: pointer;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}
@media (max-width: 1067px) {
  .home-blog-reveal__close {
    top: calc(var(--layout-gutter) + 0.75rem);
    right: calc(var(--layout-gutter) + var(--layout-section-padding));
    margin: 0;
  }
}
@media (min-width: 1068px) {
  .home-blog-reveal__close {
    top: calc(var(--home-blog-reveal-bar-height) + var(--home-blog-reveal-padding));
    width: calc(var(--layout-sidebar-width) * var(--layout-sidebar-circle-ratio));
    margin-top: 0;
    margin-right: calc((var(--layout-sidebar-width) - var(--layout-sidebar-width) * var(--layout-sidebar-circle-ratio)) / 2);
    margin-left: 0;
  }
}
.home-blog-reveal__close:focus, .home-blog-reveal__close:focus-visible {
  outline: none;
}
.home-blog-reveal.is-open .home-blog-reveal__close {
  display: block;
}
.home-blog-reveal__close-line {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 0;
  border-top: 1px solid currentColor;
  transform: translate(-50%, -50%) rotate(45deg) scaleX(1);
  opacity: 1;
}
.home-blog-reveal__close-line:last-child {
  transform: translate(-50%, -50%) rotate(-45deg) scaleX(1);
}
