/*
Theme Name: Rand0M
Theme URI: https://rand0m.nl/
Author: Rand0M
Description: Clean, mobile-first block theme for Rand0M. White space, strong typography, Rand0M red and diagonal stripe details.
Version: 2.0.64
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: rand0m
*/

:root {
  --rand0m-red: #e31b23;
  --rand0m-ink: #111111;
  --rand0m-muted: #6c6c6c;
  --rand0m-line: #e9e9e9;
  --rand0m-soft: #f6f6f4;
  --rand0m-radius: 0.35rem;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

.wp-site-blocks { min-height: 100vh; }

/* Header */
.rand0m-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(0,0,0,.06);
  backdrop-filter: blur(14px);
}
.admin-bar .rand0m-header { top: 32px; }
.rand0m-brand { gap: .8rem; }
.rand0m-wordmark a { text-decoration: none; }
.rand0m-mini-stripes,
.rand0m-stripes,
.rand0m-stripe-accent {
  display: inline-block;
  flex: 0 0 auto;
  background: url("assets/rand0m-stripes.svg") center / contain no-repeat;
  background-repeat: no-repeat;
}

/* Allow legacy inner spans in header/footer markup, but hide them now that
   the accent itself comes from the shared SVG instead of CSS rectangles. */
.rand0m-mini-stripes span,
.rand0m-stripes span,
.rand0m-stripe-accent span {
  display: none !important;
}

.rand0m-mini-stripes {
  width: clamp(2rem, 2.2vw, 2.4rem);
  aspect-ratio: 820 / 360;
}

.rand0m-stripes {
  width: clamp(3.5rem, 4vw, 4.8rem);
  aspect-ratio: 820 / 360;
}

.rand0m-header .wp-block-navigation a { text-decoration: none; }
.rand0m-header .wp-block-navigation-item__content { padding-block: .25rem; }
.rand0m-header .wp-block-button__link { white-space: nowrap; }

/* The Page List includes the /boeken/ page automatically. On desktop we hide
   that duplicate and use the dedicated CTA button instead. On mobile the CTA
   is hidden, so the normal Boek Rand0M menu item remains available. */
@media (min-width: 782px) {
  .rand0m-header .wp-block-navigation li:has(> a[href*="/boeken"]) { display: none; }
}

/* Hero — full-bleed photography with art direction for portrait screens. */
.rand0m-photo-hero {
  position: relative;
  width: 100%;
  height: clamp(34rem, 65vw, 52rem);
  max-height: calc(100svh - 4rem);
  min-height: 34rem;
  margin: 0;
  overflow: hidden;
  background: #1b1b1b;
  isolation: isolate;
}

.rand0m-hero-media,
.rand0m-hero-media picture,
.rand0m-hero-media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.rand0m-hero-media { z-index: 0; }
.rand0m-hero-media img {
  object-fit: cover;
  object-position: 50% 50%;
}

.rand0m-hero-media-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 2rem;
  color: #222;
  background: radial-gradient(circle at 55% 35%, #f5f5f5 0 18%, #dddddd 48%, #b9b9b9 100%);
  text-align: center;
  font-weight: 700;
}

/* Darken only where text sits; keep the photograph itself dominant. */
.rand0m-photo-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.70) 0%, rgba(0,0,0,.38) 38%, rgba(0,0,0,.07) 68%, rgba(0,0,0,0) 100%),
    linear-gradient(0deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 45%);
  pointer-events: none;
}

/* Logo-faithful SVG accents sit over the photo. */
.rand0m-photo-hero::before {
  content: "";
  position: absolute;
  z-index: 3;
  right: clamp(-7rem, -5vw, -3rem);
  bottom: clamp(-2.5rem, -1vw, -.75rem);
  width: clamp(16rem, 30vw, 30rem);
  aspect-ratio: 820 / 360;
  background: url("assets/rand0m-stripes.svg") center / contain no-repeat;
  opacity: .72;
  pointer-events: none;
}

.rand0m-photo-hero-content {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: clamp(2rem, 5vw, 5rem) clamp(20px, 4vw, 48px);
  pointer-events: none;
}

.rand0m-photo-hero-content > * { pointer-events: auto; }
.rand0m-photo-hero-inner {
  width: min(100%, var(--wp--style--global--wide-size, 1240px));
  margin-inline: auto;
}
.rand0m-photo-hero-copywrap { max-width: 48rem; }
.rand0m-photo-hero .rand0m-eyebrow {
  margin: 0 0 .8rem;
  color: rgba(255,255,255,.88);
  letter-spacing: .09em;
  text-transform: uppercase;
  font-size: .82rem;
  font-weight: 800;
}
.rand0m-photo-hero-title {
  max-width: 10ch;
  margin: 0;
  color: #fff;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(3.5rem, 8vw, 8rem);
  line-height: .88;
  letter-spacing: -.045em;
  text-wrap: balance;
  text-shadow: 0 2px 28px rgba(0,0,0,.22);
}
.rand0m-photo-hero .rand0m-accent { color: #ff3a40; }
.rand0m-photo-hero-copy {
  max-width: 38rem;
  margin: 1.25rem 0 0;
  color: rgba(255,255,255,.92);
  font-size: clamp(1rem, 1.7vw, 1.25rem);
  line-height: 1.5;
}
.rand0m-photo-hero .wp-block-buttons { margin-top: 1.6rem; }
.rand0m-photo-hero .wp-block-button.is-style-outline > .wp-block-button__link {
  color: #fff;
  border-color: rgba(255,255,255,.82);
  background: rgba(0,0,0,.12);
  backdrop-filter: blur(6px);
}

/* Editor preview for the custom hero-media block. */
.rand0m-hero-media-editor {
  position: relative;
  min-height: 320px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #ececea;
}
.rand0m-hero-media-editor img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rand0m-hero-media-editor__controls {
  position: relative;
  z-index: 2;
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
  padding: .8rem;
  background: rgba(255,255,255,.9);
  box-shadow: 0 4px 24px rgba(0,0,0,.12);
}
.rand0m-hero-media-editor__meta {
  position: absolute;
  z-index: 2;
  left: .75rem;
  bottom: .75rem;
  padding: .4rem .55rem;
  background: rgba(255,255,255,.9);
  font-size: .75rem;
}

/* Portrait phone/tablet: use the dedicated portrait source and let the image
   remain the hero without cropping away an entire horizontal band line-up. */
@media (max-width: 820px) and (orientation: portrait) {
  .rand0m-photo-hero {
    height: min(78svh, 46rem);
    min-height: 36rem;
    max-height: none;
  }
  .rand0m-photo-hero::after {
    background:
      linear-gradient(0deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.42) 38%, rgba(0,0,0,.08) 68%, rgba(0,0,0,0) 100%);
  }
  .rand0m-photo-hero::before {
    right: -5.5rem;
    bottom: -.6rem;
    width: 15rem;
    opacity: .66;
  }
  .rand0m-photo-hero-content {
    padding: 1.6rem 20px 2rem;
  }
  .rand0m-photo-hero-title {
    max-width: 9ch;
    font-size: clamp(3.2rem, 15vw, 5.6rem);
  }
  .rand0m-photo-hero-copy {
    max-width: 31rem;
    font-size: 1rem;
  }
}

/* Landscape phones: use the wide/desktop photograph, but keep the hero shorter
   so the next section is still visible and the page does not feel trapped. */
@media (max-width: 950px) and (orientation: landscape) {
  .rand0m-photo-hero {
    height: 78svh;
    min-height: 20rem;
    max-height: 31rem;
  }
  .rand0m-photo-hero-content {
    padding: 1.35rem 28px 1.6rem;
  }
  .rand0m-photo-hero-title {
    max-width: 12ch;
    font-size: clamp(2.8rem, 8vw, 4.7rem);
  }
  .rand0m-photo-hero-copy {
    display: none;
  }
  .rand0m-photo-hero .wp-block-buttons { margin-top: 1rem; }
  .rand0m-photo-hero::before {
    width: 14rem;
    right: -4rem;
    bottom: -.8rem;
  }
}

/* Sections */
.rand0m-section { padding-block: clamp(4rem, 8vw, 7rem); }
.rand0m-section + .rand0m-section { border-top: 1px solid var(--rand0m-line); }
.rand0m-section-head { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.rand0m-section-title { margin-bottom: .35rem; }
.rand0m-section-kicker { color: var(--rand0m-red); text-transform: uppercase; letter-spacing: .08em; font-weight: 800; font-size: .78rem; }

/* Events — deliberately simple: date, show, venue/city/time, action/status. */
.rand0m-events { border-top: 1px solid var(--rand0m-line); }
.rand0m-event {
  display: grid;
  grid-template-columns: 6.25rem minmax(0,1fr) auto;
  gap: clamp(1rem, 3vw, 2.5rem);
  align-items: center;
  min-height: 6.25rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid var(--rand0m-line);
}
.rand0m-event-date {
  display: flex;
  align-items: baseline;
  gap: .48rem;
  white-space: nowrap;
}
.rand0m-event-day {
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(2.15rem, 5vw, 3.35rem);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.04em;
}
.rand0m-event-month {
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.rand0m-event-info { min-width: 0; }
.rand0m-event-title {
  margin: 0;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  line-height: 1.15;
}
.rand0m-event-title-link {
  color: inherit;
  text-decoration: none;
}
.rand0m-event-title-link:hover {
  color: var(--rand0m-red);
  text-decoration: none;
}
.rand0m-event-meta {
  margin-top: .28rem;
  color: var(--rand0m-muted);
  font-size: .93rem;
}
.rand0m-event-action {
  justify-self: end;
  text-align: right;
}
.rand0m-event-link {
  color: var(--rand0m-red);
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .055em;
  white-space: nowrap;
}
a.rand0m-event-link:hover { text-decoration: underline; }
.rand0m-event-link.is-muted { color: var(--rand0m-muted); }
.rand0m-event-link.is-urgent { color: var(--rand0m-red); }
.rand0m-events-empty {
  padding: 2rem 0;
  color: var(--rand0m-muted);
  border-bottom: 1px solid var(--rand0m-line);
}

/* Full agenda: past shows stay readable but sit visually behind upcoming shows. */
.rand0m-agenda-past {
  margin-top: clamp(4rem, 8vw, 7rem);
  padding-top: clamp(2.5rem, 5vw, 4rem);
  border-top: 1px solid var(--rand0m-line);
}
.rand0m-events--past .rand0m-event { opacity: .74; }
.rand0m-events--past .rand0m-event-day { color: var(--rand0m-muted); }

/* Media */
.rand0m-youtube {
  width: 100%;
  max-width: none;
  margin: 0;
}
.rand0m-youtube .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
  border-radius: var(--rand0m-radius);
}
.rand0m-youtube .wp-block-embed__wrapper::before {
  display: none !important;
}
.rand0m-youtube iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  border: 0;
}

/* CTA */
.rand0m-booking {
  position: relative;
  overflow: hidden;
}
.rand0m-booking::after {
  content:"";
  position:absolute;
  right:clamp(-3.2rem, -2vw, -1rem);
  top:clamp(-4.5rem, -3vw, -1rem);
  width:clamp(7rem, 16vw, 11rem);
  aspect-ratio: 820 / 360;
  background: url("assets/rand0m-stripes.svg") center / contain no-repeat;
  opacity:.82;
  pointer-events:none;
}
.rand0m-booking > * { position:relative; z-index:1; }

/* Footer */
.rand0m-footer { margin-top: 0; }
.rand0m-footer a { color: inherit; }

/* Buttons */
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) { background: white; }
.wp-block-button__link { transition: transform .15s ease, box-shadow .15s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); }

/* Mobile */
@media (max-width: 781px) {
  .admin-bar .rand0m-header { top: 46px; }
  .rand0m-header .wp-block-buttons { display: none; }

  /* WordPress mobile navigation: make the open menu a true viewport overlay.
     This prevents long menu labels or constrained header groups from pushing
     navigation items beyond the right edge of small screens. */
  .rand0m-header .wp-block-navigation {
    min-width: 0;
  }

  .rand0m-header .wp-block-navigation__responsive-container-open {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
  }

  .rand0m-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding:
      max(1.25rem, env(safe-area-inset-top))
      max(1.25rem, env(safe-area-inset-right))
      max(1.5rem, env(safe-area-inset-bottom))
      max(1.25rem, env(safe-area-inset-left)) !important;
    box-sizing: border-box;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #fff !important;
    color: var(--rand0m-ink) !important;
    z-index: 100000 !important;
  }

  .rand0m-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-close {
    position: fixed;
    top: max(1.25rem, env(safe-area-inset-top));
    right: max(1.25rem, env(safe-area-inset-right));
    z-index: 2;
  }

  .rand0m-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding-top: 4.5rem;
    align-items: stretch !important;
  }

  .rand0m-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .rand0m-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border-bottom: 1px solid var(--rand0m-line);
  }

  .rand0m-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: .95rem 0 !important;
    color: var(--rand0m-ink) !important;
    font-family: var(--wp--preset--font-family--display);
    font-size: clamp(1.45rem, 7vw, 2rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.025em;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .rand0m-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 1rem !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .rand0m-event {
    grid-template-columns: 4.8rem minmax(0,1fr);
    gap: .7rem 1rem;
    align-items: start;
    min-height: 0;
  }
  .rand0m-event-action {
    grid-column: 2;
    justify-self: start;
    text-align: left;
    margin-top: .15rem;
  }
  .rand0m-event-day { font-size: 2.45rem; }
  .rand0m-booking::after { opacity: .58; }
}

@media (max-width: 480px) {
  .rand0m-event { grid-template-columns: 4.4rem minmax(0,1fr); gap: .55rem .9rem; padding: 1.2rem 0; }
  .rand0m-event-date { gap: .35rem; }
  .rand0m-event-day { font-size: 2.2rem; }
  .rand0m-event-meta { font-size: .86rem; line-height: 1.45; }
  .rand0m-event-link { font-size: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .wp-block-button__link { transition: none; }
}

.rand0m-footer .wp-block-page-list { list-style: none; padding-left: 0; margin-left: 0; }
.rand0m-footer .wp-block-page-list li { margin-bottom: .35rem; }


/* ---------------------------------------------------------
   Posts: Nieuws / Aankondiging / Terugblik
   --------------------------------------------------------- */
.rand0m-post-page > .wp-block-shortcode {
  width: 100%;
  max-width: var(--wp--style--global--wide-size, 1240px);
}

.rand0m-post-header {
  width: 100%;
  margin: 0 auto clamp(2.75rem, 6vw, 5rem);
}

.rand0m-post-heading-wrap {
  max-width: 58rem;
}

.rand0m-post-kicker,
.rand0m-news-card-label {
  display: inline-block;
  color: var(--rand0m-red);
  text-transform: uppercase;
  letter-spacing: .085em;
  font-size: .76rem;
  line-height: 1;
  font-weight: 850;
}

.rand0m-post-context {
  margin-top: .75rem;
  color: var(--rand0m-muted);
  text-transform: uppercase;
  letter-spacing: .055em;
  font-size: .8rem;
  font-weight: 750;
}

.rand0m-post-title {
  max-width: 14ch;
  margin: .6rem 0 0;
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(3.1rem, 7vw, 6.8rem);
  line-height: .92;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.rand0m-post-lead {
  max-width: 46rem;
  margin: clamp(1.25rem, 2.5vw, 2rem) 0 0;
  color: #343434;
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  line-height: 1.5;
}

.rand0m-post-featured {
  position: relative;
  width: min(100%, 68.75rem);
  aspect-ratio: 4 / 3;
  margin: clamp(2.25rem, 5vw, 4.5rem) 0 0;
  overflow: hidden;
  background: var(--rand0m-soft);
  isolation: isolate;
}

.rand0m-post-featured-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* One restrained brand accent on editorial photography. */
.rand0m-post-featured::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: clamp(-5.5rem, -4vw, -2.5rem);
  top: clamp(-1.5rem, -1vw, -.4rem);
  width: clamp(11rem, 20vw, 20rem);
  aspect-ratio: 820 / 360;
  background: url("assets/rand0m-stripes.svg") center / contain no-repeat;
  opacity: .68;
  pointer-events: none;
}

/* Announcement: event information is functional and prominent. */
.rand0m-post-header--announcement .rand0m-post-title {
  max-width: 12ch;
}

.rand0m-post-event-panel {
  display: grid;
  grid-template-columns: minmax(10rem, .8fr) minmax(12rem, 1.4fr) auto;
  gap: clamp(1rem, 3vw, 2.75rem);
  align-items: center;
  width: min(100%, 68.75rem);
  margin-top: clamp(2rem, 4vw, 3.5rem);
  padding: 1.45rem 0;
  border-top: 1px solid var(--rand0m-line);
  border-bottom: 1px solid var(--rand0m-line);
}

.rand0m-post-event-date,
.rand0m-post-event-place {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}

.rand0m-post-event-date-label {
  color: var(--rand0m-muted);
  text-transform: uppercase;
  letter-spacing: .07em;
  font-size: .7rem;
  font-weight: 800;
}

.rand0m-post-event-date strong,
.rand0m-post-event-place strong {
  font-family: var(--wp--preset--font-family--display);
  font-size: clamp(1.2rem, 2.2vw, 1.65rem);
  line-height: 1;
}

.rand0m-post-event-place span {
  color: var(--rand0m-muted);
  font-size: .92rem;
}

.rand0m-post-event-cta {
  justify-self: end;
}

.rand0m-post-event-button {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .9rem 1.15rem;
  background: var(--rand0m-red);
  color: #fff !important;
  font-size: .82rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none !important;
}

.rand0m-post-event-button:hover {
  transform: translateY(-1px);
}

.rand0m-post-status {
  color: var(--rand0m-muted);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}

/* Recap: keep the event context but let the imagery/story lead. */
.rand0m-post-header--recap .rand0m-post-featured::after {
  left: auto;
  right: clamp(-5rem, -4vw, -2rem);
  top: auto;
  bottom: clamp(-1.5rem, -1vw, -.4rem);
}

.rand0m-post-recap-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .8rem;
  width: min(100%, 68.75rem);
  margin-top: 1rem;
  color: var(--rand0m-muted);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.rand0m-post-recap-meta strong {
  color: var(--rand0m-ink);
}

/* Editorial body: comfortable reading width, wide media can still opt out. */
.rand0m-post-content {
  width: 100%;
  max-width: 46rem !important;
  margin-inline: auto;
  font-size: clamp(1.03rem, 1.2vw, 1.12rem);
  line-height: 1.72;
}

.rand0m-post-content > :first-child {
  margin-top: 0;
}

.rand0m-post-content p {
  margin-block: 0 1.35em;
}

.rand0m-post-content h2,
.rand0m-post-content h3 {
  margin-top: 2.7em;
  margin-bottom: .7em;
  letter-spacing: -.025em;
}

.rand0m-post-content h2 {
  font-size: clamp(2rem, 4vw, 3.2rem);
}

.rand0m-post-content h3 {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.rand0m-post-content a:not(.wp-element-button) {
  color: var(--rand0m-red);
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .14em;
}

.rand0m-post-content .wp-block-image,
.rand0m-post-content .wp-block-embed,
.rand0m-post-content .wp-block-gallery {
  margin-block: clamp(2rem, 4vw, 3.5rem);
}

.rand0m-post-content .wp-block-embed-youtube .wp-block-embed__wrapper {
  aspect-ratio: 16 / 9;
}

.rand0m-post-back {
  width: 100%;
  max-width: 46rem;
  margin: clamp(3.5rem, 7vw, 6rem) auto 0;
  padding-top: 1.5rem;
  border-top: 1px solid var(--rand0m-line);
}

.rand0m-post-back a {
  color: var(--rand0m-red);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
  text-decoration: none;
}

/* News overview */
.rand0m-news-heading {
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.rand0m-news-heading h1 {
  max-width: 8ch;
  margin-top: .35rem;
  margin-bottom: 0;
}

.rand0m-news-grid {
  gap: clamp(2.5rem, 4vw, 4rem) clamp(1.5rem, 3vw, 2.5rem) !important;
}

.rand0m-news-card {
  align-content: start;
}

.rand0m-news-card-image {
  aspect-ratio: 4 / 3;
  margin: 0 0 1.2rem !important;
  overflow: hidden;
  background: var(--rand0m-soft);
}

.rand0m-news-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rand0m-news-card .wp-block-shortcode {
  margin: 0 0 .55rem;
}

.rand0m-news-card-date {
  margin: 0 0 .5rem;
  color: var(--rand0m-muted);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.rand0m-news-card-title {
  margin: 0;
  font-size: clamp(1.55rem, 2.6vw, 2.25rem);
  line-height: 1;
  letter-spacing: -.025em;
}

.rand0m-news-card-title a {
  text-decoration: none;
}

.rand0m-news-card-excerpt {
  margin-top: .8rem;
  color: var(--rand0m-muted);
  font-size: .94rem;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.rand0m-news-pagination {
  margin-top: clamp(3rem, 7vw, 6rem);
  padding-top: 1.5rem;
  border-top: 1px solid var(--rand0m-line);
}

@media (max-width: 900px) {
  .rand0m-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 781px) {
  .rand0m-post-title {
    max-width: 12ch;
    font-size: clamp(3rem, 14vw, 4.8rem);
  }

  .rand0m-post-event-panel {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .rand0m-post-event-cta {
    justify-self: start;
    margin-top: .25rem;
  }

  .rand0m-post-featured {
    margin-top: 2rem;
  }

  .rand0m-post-featured::after {
    width: 10rem;
    left: -4rem;
    top: -.3rem;
    opacity: .62;
  }

  .rand0m-post-header--recap .rand0m-post-featured::after {
    right: -4rem;
    bottom: -.3rem;
  }
}

@media (max-width: 600px) {
  .rand0m-news-grid {
    grid-template-columns: 1fr !important;
  }
}


/* ==========================================================
   RAND0M V2 — bold photographic band site
   ========================================================== */
:root {
  --rand0m-red: #ed1c24;
  --rand0m-black: #090b0d;
  --rand0m-paper: #f4f2ed;
}

body { background:#fff; }
.rand0m-v2-home { margin-top:0; }
.rand0m-v2-home h1,
.rand0m-v2-home h2,
.rand0m-v2-home h3,
.rand0m-header-v2,
.rand0m-footer,
.rand0m-event-day,
.rand0m-event-title,
.wp-block-button__link { font-family:'Oswald','Arial Narrow',Arial,sans-serif; }

/* Dark navigation bar, visually tied to the hero. */
.rand0m-header-v2 {
  position: sticky;
  top:0;
  z-index:1000;
  color:#fff;
  background:rgba(8,10,12,.94) !important;
  border-bottom:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
}
.rand0m-header-v2 .wp-block-site-title a,
.rand0m-header-v2 .wp-block-navigation-item__content,
.rand0m-header-v2 .wp-block-navigation__responsive-container-open { color:#fff !important; }
.rand0m-header-v2 .rand0m-wordmark { font-size:clamp(1.6rem,2.4vw,2.25rem); line-height:1; }
.rand0m-header-v2 .wp-block-button__link { border-radius:0; padding:.75rem 1.15rem; }
.rand0m-header-v2 .rand0m-mini-stripes { width:2.25rem; filter:saturate(1.1); }

/* Full bleed photographic hero. */
.rand0m-v2-hero {
  position:relative;
  min-height:clamp(34rem,68vw,56rem);
  height:calc(100svh - 68px);
  max-height:58rem;
  overflow:hidden;
  background:#090b0d;
  isolation:isolate;
}
.rand0m-v2-hero .rand0m-hero-media,
.rand0m-v2-hero .rand0m-hero-media picture,
.rand0m-v2-hero .rand0m-hero-media img { position:absolute; inset:0; width:100%; height:100%; }
.rand0m-v2-hero .rand0m-hero-media img { object-fit:cover; object-position:center center; }
.rand0m-v2-hero::before {
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(0deg,rgba(4,5,6,.88) 0%,rgba(4,5,6,.45) 30%,rgba(4,5,6,.08) 68%,rgba(4,5,6,.15) 100%);
}
.rand0m-v2-hero::after {
  content:""; position:absolute; right:-3rem; bottom:1.2rem; z-index:2;
  width:clamp(12rem,22vw,24rem); aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat; opacity:.84; pointer-events:none;
}
.rand0m-v2-hero-overlay { position:absolute; inset:0; z-index:3; display:flex; align-items:flex-end; padding:clamp(1.8rem,5vw,4.2rem) clamp(20px,4vw,48px); }
.rand0m-v2-hero-inner { width:min(100%,1240px); margin-inline:auto; color:#fff; }
.rand0m-v2-kicker { margin:0 0 .65rem; font:500 .86rem/1.2 'Oswald',sans-serif; letter-spacing:.32em; text-transform:uppercase; }
.rand0m-v2-hero-title { margin:0; color:#fff; font-size:clamp(4.6rem,12vw,10rem); line-height:.78; letter-spacing:-.055em; font-weight:700; text-transform:none; text-shadow:0 2px 24px rgba(0,0,0,.28); }
.rand0m-v2-hero-title span,
.rand0m-v2-mega span,
.rand0m-v2-final-cta h2 span { color:var(--rand0m-red); }
.rand0m-v2-tagline { margin:.65rem 0 1.35rem; color:#fff; font:400 clamp(1.25rem,2vw,1.8rem)/1 'Oswald',sans-serif; letter-spacing:.16em; }
.rand0m-v2-hero .wp-block-button__link { border-radius:0; padding:.9rem 1.45rem; }

/* Editorial white intro. */
.rand0m-v2-about { padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px); background:var(--rand0m-paper); }
.rand0m-v2-section-label { display:flex; align-items:center; gap:.7rem; margin:0 0 1rem; font:600 .76rem/1 'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.16em; }
.rand0m-v2-section-label::before { content:""; width:2.2rem; height:3px; background:var(--rand0m-red); }
.rand0m-v2-mega { margin:0; font-size:clamp(3rem,7vw,6rem); line-height:.9; letter-spacing:-.035em; text-transform:uppercase; }
.rand0m-v2-lead { max-width:31rem; font-size:clamp(1.05rem,1.5vw,1.25rem); line-height:1.55; }
.rand0m-v2-about .is-style-outline .wp-block-button__link { background:transparent; border-color:#111; color:#111; border-radius:0; }

/* Half photo / half black agenda panel. */
.rand0m-v2-shows { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(28rem,.85fr); background:var(--rand0m-black); color:#fff; }
.rand0m-v2-shows-image { min-height:42rem; overflow:hidden; background:url("assets/hero-wide.jpg") center center/cover no-repeat; }
.rand0m-v2-shows-panel { padding:clamp(3rem,5vw,5.5rem); align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.rand0m-v2-shows-panel h2 { margin:.25rem 0 1rem; color:#fff; font-size:clamp(3rem,5.5vw,5rem); line-height:.9; text-transform:uppercase; }
.rand0m-v2-shows-panel > p:not(.rand0m-v2-section-label):not(.rand0m-v2-panel-link) { color:rgba(255,255,255,.76); }
.rand0m-v2-shows-panel .rand0m-v2-section-label { color:#fff; }
.rand0m-v2-shows-panel .rand0m-events { margin-top:1.25rem; border-top:1px solid rgba(255,255,255,.18); }
.rand0m-v2-shows-panel .rand0m-event { grid-template-columns:4.5rem minmax(0,1fr) auto; min-height:0; padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.16); gap:.8rem; }
.rand0m-v2-shows-panel .rand0m-event-day { color:#fff; font-size:2.15rem; }
.rand0m-v2-shows-panel .rand0m-event-month,
.rand0m-v2-shows-panel .rand0m-event-title,
.rand0m-v2-shows-panel .rand0m-event-title a { color:#fff; }
.rand0m-v2-shows-panel .rand0m-event-meta { color:rgba(255,255,255,.62); }
.rand0m-v2-shows-panel .rand0m-event-link { color:#ff4249; }
.rand0m-v2-panel-link a { display:inline-block; margin-top:1.4rem; padding:.8rem 1rem; border:1px solid rgba(255,255,255,.8); color:#fff; font:500 .9rem 'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; }

/* Photographic strip. */
.rand0m-v2-media { padding:0; background:#111; }
.rand0m-v2-media-grid { display:grid; grid-template-columns:1fr 1fr 1fr; max-width:none !important; width:100%; }
.rand0m-v2-media-tile { min-height:18rem; background-image:url("assets/hero-wide.jpg"); background-size:cover; }
.rand0m-v2-media-tile--a { background-position:10% 70%; filter:saturate(.85) contrast(1.05); }
.rand0m-v2-media-tile--b { background-position:50% 35%; filter:grayscale(1) contrast(1.15); }
.rand0m-v2-media-tile--c { background-position:85% 70%; filter:saturate(.75) brightness(.8); }

/* Use cases. */
.rand0m-v2-uses { padding:2rem clamp(20px,4vw,48px); background:var(--rand0m-paper); }
.rand0m-v2-use-grid { display:grid; grid-template-columns:repeat(5,1fr); }
.rand0m-v2-use-grid > div { display:flex; min-height:7rem; flex-direction:column; justify-content:center; align-items:center; gap:.55rem; padding:1rem; text-align:center; border-right:1px solid #d8d5cf; }
.rand0m-v2-use-grid > div:last-child { border-right:0; }
.rand0m-v2-use-grid b { font-size:1.8rem; color:#111; }
.rand0m-v2-use-grid span { font:600 .78rem/1.15 'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; }

/* Video section keeps 16:9 by design. */
.rand0m-v2-video { padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px); background:#fff; }
.rand0m-v2-mega--white { color:#111; margin-bottom:2rem; }
.rand0m-v2-video .rand0m-youtube { max-width:1100px; }

/* Final booking splash. */
.rand0m-v2-final-cta { position:relative; overflow:hidden; padding:clamp(5rem,10vw,9rem) clamp(20px,4vw,48px); text-align:center; color:#fff; background:#090b0d url("assets/hero-wide.jpg") center 62%/cover no-repeat; isolation:isolate; }
.rand0m-v2-final-cta::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(5,7,9,.82); }
.rand0m-v2-final-cta h2 { margin:0; color:#fff; font-size:clamp(4rem,9vw,8rem); line-height:.8; letter-spacing:-.045em; }
.rand0m-v2-final-cta p { margin:.8rem 0 1.5rem; font:400 1.4rem 'Oswald',sans-serif; letter-spacing:.15em; }
.rand0m-v2-final-cta .wp-block-buttons { justify-content:center; }
.rand0m-v2-final-cta .wp-block-button__link { border-radius:0; }

/* Footer follows the new black treatment. */
.rand0m-footer { background:#07090b !important; border-top:1px solid rgba(255,255,255,.1); }
.rand0m-footer .wp-block-site-title a,
.rand0m-footer a { color:#fff; }

@media (max-width:900px) {
  .rand0m-v2-shows { grid-template-columns:1fr; }
  .rand0m-v2-shows-image { min-height:26rem; }
  .rand0m-v2-shows-panel { padding:3rem 24px; }
  .rand0m-v2-use-grid { grid-template-columns:repeat(3,1fr); }
  .rand0m-v2-use-grid > div:nth-child(3) { border-right:0; }
  .rand0m-v2-media-tile { min-height:13rem; }
}

@media (max-width:781px) and (orientation:portrait) {
  .rand0m-v2-hero { height:auto; min-height:0; aspect-ratio:1/1.15; max-height:none; }
  .rand0m-v2-hero .rand0m-hero-media img { object-position:center 45%; }
  .rand0m-v2-hero-overlay { padding:1.4rem 20px 1.8rem; }
  .rand0m-v2-hero-title { font-size:clamp(4rem,19vw,6.8rem); line-height:.8; }
  .rand0m-v2-kicker { font-size:.68rem; letter-spacing:.22em; }
  .rand0m-v2-tagline { font-size:1.15rem; }
  .rand0m-v2-hero::after { right:-4.5rem; bottom:.5rem; width:13rem; opacity:.7; }
  .rand0m-v2-about { padding:3.5rem 20px; }
  .rand0m-v2-about .wp-block-columns { gap:1.4rem; }
  .rand0m-v2-mega { font-size:clamp(3rem,14vw,4.8rem); }
  .rand0m-v2-shows-image { min-height:22rem; }
  .rand0m-v2-media-grid { grid-template-columns:1fr; }
  .rand0m-v2-media-tile { min-height:15rem; }
  .rand0m-v2-use-grid { grid-template-columns:repeat(2,1fr); }
  .rand0m-v2-use-grid > div { border-right:1px solid #d8d5cf; border-bottom:1px solid #d8d5cf; }
  .rand0m-v2-use-grid > div:nth-child(2n) { border-right:0; }
  .rand0m-v2-use-grid > div:last-child { grid-column:1/-1; border-right:0; border-bottom:0; }
}

@media (max-width:950px) and (orientation:landscape) {
  .rand0m-v2-hero { height:78svh; min-height:20rem; max-height:34rem; }
  .rand0m-v2-hero-title { font-size:clamp(3.5rem,10vw,6rem); }
  .rand0m-v2-tagline { margin-bottom:.8rem; }
}


/* v2.0.3 mobile hero refinement: the text sits in a black band above the photo,
   avoiding overlap with band members on portrait phones. Only the brand and
   tagline remain visible there. */
@media (max-width:781px) and (orientation:portrait) {
  .rand0m-v2-hero {
    height:min(82svh, 46rem);
    min-height:32rem;
    max-height:none;
    background:#090b0d;
  }
  .rand0m-v2-hero .rand0m-hero-media,
  .rand0m-v2-hero .rand0m-hero-media picture,
  .rand0m-v2-hero .rand0m-hero-media img {
    inset:auto 0 0 0;
    top:9.5rem;
    height:calc(100% - 9.5rem);
  }
  .rand0m-v2-hero .rand0m-hero-media img { object-position:center 40%; }
  .rand0m-v2-hero::before {
    inset:9.5rem 0 0 0;
    background:linear-gradient(0deg,rgba(4,5,6,.76) 0%,rgba(4,5,6,.34) 26%,rgba(4,5,6,.06) 68%,rgba(4,5,6,.18) 100%);
  }
  .rand0m-v2-hero-overlay {
    inset:0 0 auto 0;
    height:9.5rem;
    display:flex;
    align-items:flex-end;
    padding:1.2rem 20px 1rem;
    background:#090b0d;
  }
  .rand0m-v2-hero-inner { color:#fff; }
  .rand0m-v2-kicker,
  .rand0m-v2-hero-cta,
  .rand0m-v2-hero .wp-block-buttons { display:none !important; }
  .rand0m-v2-hero-title {
    max-width:none;
    font-size:clamp(3.35rem, 17vw, 5.35rem);
    line-height:.82;
    letter-spacing:-.045em;
    text-shadow:none;
  }
  .rand0m-v2-tagline {
    margin:.2rem 0 0;
    font-size:1rem;
    letter-spacing:.12em;
  }
  .rand0m-v2-hero::after {
    right:-4rem;
    bottom:.3rem;
    width:12rem;
    opacity:.72;
  }
}


/* v2.0.4 — align desktop hero with portrait mobile: brand + tagline only. */
@media (min-width:782px) {
  .rand0m-v2-hero-overlay {
    align-items:flex-start;
    padding-top:clamp(2rem,5vw,4.2rem);
  }
  .rand0m-v2-hero-inner { padding-top:clamp(.5rem,1vw,1.2rem); }
  .rand0m-v2-hero-title { max-width:none; }
  .rand0m-v2-tagline { margin:.35rem 0 0; }
}

/* Latest news provides a clean white bridge after the dark agenda section. */
.rand0m-v2-latest-news {
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px);
  background:#fff;
  color:#111;
}
.rand0m-v2-latest-news-inner {
  width:min(100%,1240px);
  margin-inline:auto;
}
.rand0m-v2-news-heading {
  margin:.2rem 0 clamp(2rem,4vw,3.4rem);
  color:#111;
  font-size:clamp(2.8rem,6vw,5rem);
  line-height:.9;
  text-transform:uppercase;
}
.rand0m-v2-news-link { margin:clamp(2rem,4vw,3rem) 0 0; }
.rand0m-v2-news-link a {
  display:inline-block;
  padding:.8rem 1rem;
  border:1px solid #111;
  color:#111;
  font:500 .9rem 'Oswald',sans-serif;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.rand0m-v2-news-link a:hover { background:#111; color:#fff; }


/* v2.0.5 — compact portrait hero: short black brand panel + photo crop focused
   on the band. This deliberately crops away most of the dark sky in the
   portrait source instead of letting it dominate the phone viewport. */
@media (max-width:781px) and (orientation:portrait) {
  .rand0m-v2-hero {
    display:grid;
    grid-template-rows:8.5rem minmax(19rem, 54svh);
    height:auto;
    min-height:0;
    max-height:none;
    aspect-ratio:auto;
    background:#090b0d;
  }
  .rand0m-v2-hero .rand0m-hero-media,
  .rand0m-v2-hero .rand0m-hero-media picture,
  .rand0m-v2-hero .rand0m-hero-media img {
    position:absolute;
    inset:8.5rem 0 auto 0;
    width:100%;
    height:calc(100% - 8.5rem);
  }
  .rand0m-v2-hero .rand0m-hero-media img {
    object-fit:cover;
    object-position:center 82%;
  }
  .rand0m-v2-hero::before {
    inset:8.5rem 0 0 0;
    background:linear-gradient(0deg,rgba(4,5,6,.28) 0%,rgba(4,5,6,.04) 42%,rgba(4,5,6,0) 100%);
  }
  .rand0m-v2-hero-overlay {
    position:absolute;
    inset:0 0 auto 0;
    height:8.5rem;
    display:flex;
    align-items:center;
    padding:1rem 20px;
    background:#090b0d;
  }
  .rand0m-v2-hero-title {
    margin:0;
    max-width:none;
    font-size:clamp(3.15rem,16vw,4.9rem);
    line-height:.82;
    letter-spacing:-.045em;
    text-shadow:none;
  }
  .rand0m-v2-tagline {
    margin:.22rem 0 0;
    font-size:.98rem;
    line-height:1;
    letter-spacing:.12em;
  }
  .rand0m-v2-hero::after {
    right:-3.8rem;
    bottom:.2rem;
    width:10.5rem;
    opacity:.68;
  }
}

/* The decorative use-case/icon strip was removed from the homepage in v2.0.5. */
.rand0m-v2-video .rand0m-youtube { width:100%; max-width:1100px; }
.rand0m-v2-video .rand0m-youtube iframe { display:block; }


/* v2.0.6 — fix portrait hero nesting. Only the outer media wrapper is offset
   below the compact black brand panel. Picture and img fill that wrapper. */
@media (max-width:781px) and (orientation:portrait) {
  .rand0m-v2-hero .rand0m-hero-media {
    position:absolute;
    left:0; right:0; bottom:0; top:9.5rem;
    width:100%;
    height:auto;
  }
  .rand0m-v2-hero .rand0m-hero-media picture,
  .rand0m-v2-hero .rand0m-hero-media img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }
  .rand0m-v2-hero .rand0m-hero-media img {
    object-fit:cover;
    object-position:center 52%;
  }
  .rand0m-v2-tagline {
    margin:.05rem 0 0;
    font-size:1rem;
    letter-spacing:.035em;
    line-height:1;
  }
}


/* v2.0.7 — keep desktop photography as bright as the successful portrait
   treatment. Only a restrained local veil supports the white brand at the
   upper left; the musicians themselves are no longer covered by a dark wash. */
@media (min-width:782px) {
  .rand0m-v2-hero::before {
    inset:0;
    background:
      radial-gradient(ellipse at 12% 12%, rgba(4,5,6,.34) 0%, rgba(4,5,6,.14) 25%, rgba(4,5,6,0) 53%),
      linear-gradient(180deg, rgba(4,5,6,.10) 0%, rgba(4,5,6,0) 34%);
  }
}

/* Give the mobile tagline a little breathing room without making it look like
   a separate block. */
@media (max-width:781px) and (orientation:portrait) {
  .rand0m-v2-tagline {
    margin:.42rem 0 0;
  }
}


/* v2.0.8 — editorial homepage news + split video treatment. */
.rand0m-v2-latest-news {
  background:var(--rand0m-paper, #f4f1eb);
}
.rand0m-v2-news-grid {
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(19rem,.65fr) !important;
  grid-template-rows:auto auto;
  gap:0 clamp(2rem,4vw,4rem) !important;
  align-items:start;
}
.rand0m-v2-news-grid > li {
  margin:0 !important;
}
.rand0m-v2-news-grid > li:first-child {
  grid-row:1 / span 2;
  padding-right:clamp(1.5rem,3vw,3rem);
  border-right:1px solid #d8d5cf;
}
.rand0m-v2-news-grid > li:first-child .rand0m-news-card-image {
  aspect-ratio:16 / 10;
  margin-bottom:1.4rem !important;
}
.rand0m-v2-news-grid > li:first-child .rand0m-news-card-title {
  max-width:14ch;
  font-size:clamp(2.4rem,4vw,4.3rem);
  line-height:.92;
}
.rand0m-v2-news-grid > li:nth-child(n+2) {
  padding:0 0 1.6rem;
  margin:0 0 1.6rem !important;
  border-bottom:1px solid #d8d5cf;
}
.rand0m-v2-news-grid > li:nth-child(n+2) .rand0m-news-card {
  display:grid;
  grid-template-columns:minmax(8rem,42%) minmax(0,1fr);
  column-gap:1.2rem;
  align-items:start;
}
.rand0m-v2-news-grid > li:nth-child(n+2) .rand0m-news-card-image {
  grid-column:1;
  grid-row:1 / span 5;
  aspect-ratio:4 / 3;
  margin:0 !important;
}
.rand0m-v2-news-grid > li:nth-child(n+2) .rand0m-news-card > *:not(.rand0m-news-card-image) {
  grid-column:2;
}
.rand0m-v2-news-grid > li:nth-child(n+2) .rand0m-news-card-title {
  font-size:clamp(1.5rem,2.2vw,2.25rem);
}
.rand0m-v2-news-grid > li:nth-child(n+2) .rand0m-news-card-excerpt {
  display:none;
}

.rand0m-v2-video {
  padding:0;
  color:#fff;
  background:#080a0c;
}
.rand0m-v2-video-inner {
  display:grid;
  grid-template-columns:minmax(22rem,.72fr) minmax(0,1.28fr);
  width:100%;
  max-width:none;
}
.rand0m-v2-video-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(3rem,6vw,6.5rem) clamp(24px,5vw,5.5rem);
}
.rand0m-v2-video-copy .rand0m-v2-section-label { color:#fff; }
.rand0m-v2-video-copy h2 {
  margin:.2rem 0 1rem;
  color:#fff;
  font-size:clamp(3rem,5vw,5.4rem);
  line-height:.88;
  text-transform:uppercase;
}
.rand0m-v2-video-copy > p:not(.rand0m-v2-section-label):not(.rand0m-v2-panel-link) {
  max-width:29rem;
  color:rgba(255,255,255,.72);
  line-height:1.55;
}
.rand0m-v2-video-media {
  display:flex;
  align-items:center;
  min-width:0;
  padding:clamp(2rem,4vw,4rem) clamp(20px,4vw,48px) clamp(2rem,4vw,4rem) 0;
}
.rand0m-v2-video .rand0m-youtube {
  width:100%;
  max-width:none;
  margin:0;
}
.rand0m-v2-video .rand0m-youtube .wp-block-embed__wrapper {
  border-radius:0;
}

@media (max-width:900px) {
  .rand0m-v2-news-grid {
    grid-template-columns:1fr !important;
    gap:2rem !important;
  }
  .rand0m-v2-news-grid > li:first-child {
    grid-row:auto;
    padding-right:0;
    padding-bottom:2rem;
    border-right:0;
    border-bottom:1px solid #d8d5cf;
  }
  .rand0m-v2-news-grid > li:nth-child(n+2) .rand0m-news-card {
    grid-template-columns:minmax(7rem,38%) minmax(0,1fr);
  }
  .rand0m-v2-video-inner {
    grid-template-columns:1fr;
  }
  .rand0m-v2-video-copy {
    padding:3rem 24px 2rem;
  }
  .rand0m-v2-video-media {
    padding:0 24px 3rem;
  }
}

@media (max-width:520px) {
  .rand0m-v2-news-grid > li:nth-child(n+2) .rand0m-news-card {
    grid-template-columns:1fr;
  }
  .rand0m-v2-news-grid > li:nth-child(n+2) .rand0m-news-card-image,
  .rand0m-v2-news-grid > li:nth-child(n+2) .rand0m-news-card > *:not(.rand0m-news-card-image) {
    grid-column:1;
    grid-row:auto;
  }
  .rand0m-v2-news-grid > li:nth-child(n+2) .rand0m-news-card-image {
    margin-bottom:1rem !important;
  }
}


/* v2.0.9 — simplify home news into an editorial list and give photography a
   proper Media section. Hero tagline moves above the wordmark. */
.rand0m-v2-hero-inner {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.rand0m-v2-tagline {
  order:0;
  margin:0 0 .5rem;
  letter-spacing:.055em;
  font-size:clamp(1rem,1.5vw,1.25rem);
}
.rand0m-v2-hero-title { order:1; }

.rand0m-v2-news-list-section {
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px);
  background:var(--rand0m-paper);
}
.rand0m-v2-news-list-layout {
  display:grid;
  grid-template-columns:minmax(15rem,.72fr) minmax(0,1.45fr);
  gap:clamp(2.5rem,7vw,7rem);
  align-items:start;
}
.rand0m-v2-news-list-intro { position:sticky; top:7rem; }
.rand0m-v2-news-list-section .rand0m-v2-news-heading {
  margin:0;
  font-size:clamp(3.3rem,6vw,5.8rem);
  line-height:.86;
  text-transform:uppercase;
  letter-spacing:-.035em;
}
.rand0m-v2-news-list-section .rand0m-v2-news-link { margin-top:1.8rem; }
.rand0m-v2-news-list-section .rand0m-v2-news-link a {
  display:inline-block;
  padding:.75rem 1rem;
  border:1px solid #111;
  color:#111;
  background:transparent;
  font:600 .78rem/1 'Oswald',sans-serif;
  text-transform:uppercase;
  letter-spacing:.055em;
  text-decoration:none;
}
.rand0m-v2-news-list { margin:0; padding:0; }
.rand0m-v2-news-list > li { list-style:none; margin:0; }
.rand0m-v2-news-list-item {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.65rem 1.5rem;
  align-items:center;
  padding:1.65rem 3rem 1.65rem 0;
  border-top:1px solid #cfcac1;
}
.rand0m-v2-news-list > li:last-child .rand0m-v2-news-list-item { border-bottom:1px solid #cfcac1; }
.rand0m-v2-news-list-meta {
  grid-column:1;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem .8rem;
  align-items:center;
  color:var(--rand0m-muted);
  font:500 .72rem/1 'Oswald',sans-serif;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.rand0m-v2-news-list-meta .rand0m-news-card-label { font-size:inherit; }
.rand0m-v2-news-list-meta .wp-block-post-date { margin:0; }
.rand0m-v2-news-list-title {
  grid-column:1;
  margin:0 !important;
  font-size:clamp(1.75rem,3vw,3rem) !important;
  line-height:.95 !important;
  letter-spacing:-.025em;
}
.rand0m-v2-news-list-title a { color:#111; text-decoration:none; }
.rand0m-v2-news-list-title a:hover { color:var(--rand0m-red); }
.rand0m-v2-news-list-arrow {
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  color:var(--rand0m-red);
  font:500 1.8rem/1 'Oswald',sans-serif;
}

.rand0m-v2-media-section {
  padding:clamp(3.5rem,7vw,6rem) clamp(20px,4vw,48px) clamp(4rem,8vw,7rem);
  background:#0b0d0f;
  color:#fff;
}
.rand0m-v2-media-head { margin-bottom:clamp(1.5rem,3vw,2.5rem); }
.rand0m-v2-media-head .rand0m-v2-section-label { color:#fff; }
.rand0m-v2-media-head h2 {
  margin:0;
  color:#fff;
  font-size:clamp(3rem,6vw,5.4rem);
  line-height:.88;
  text-transform:uppercase;
  letter-spacing:-.03em;
}
.rand0m-v2-media-section .rand0m-v2-media-grid {
  gap:clamp(.6rem,1.2vw,1rem);
}
.rand0m-v2-media-section .rand0m-v2-media-tile {
  min-height:clamp(14rem,22vw,22rem);
}

@media (max-width:781px) {
  .rand0m-v2-tagline {
    margin:0 0 .75rem;
    font-size:1rem;
    letter-spacing:.045em;
  }
  .rand0m-v2-news-list-layout { grid-template-columns:1fr; gap:2rem; }
  .rand0m-v2-news-list-intro { position:static; }
  .rand0m-v2-news-list-section .rand0m-v2-news-heading { font-size:clamp(3rem,14vw,4.8rem); }
  .rand0m-v2-news-list-item { padding:1.3rem 2.3rem 1.3rem 0; }
  .rand0m-v2-news-list-title { font-size:clamp(1.65rem,8vw,2.35rem) !important; }
  .rand0m-v2-media-section { padding-inline:20px; }
  .rand0m-v2-media-section .rand0m-v2-media-grid { grid-template-columns:1fr; }
  .rand0m-v2-media-section .rand0m-v2-media-tile { min-height:16rem; }
}


/* v2.0.10 — richer band introduction and a light video section to restore the
   black / paper rhythm used across the homepage. */
.rand0m-v2-about-copy {
  max-width:36rem;
}
.rand0m-v2-about-text {
  max-width:34rem;
  margin:1.1rem 0 1.6rem;
  color:#444;
  font-size:clamp(.98rem,1.15vw,1.08rem);
  line-height:1.65;
}

.rand0m-v2-video {
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px);
  color:#111;
  background:var(--rand0m-paper, #f4f1eb);
}
.rand0m-v2-video-inner {
  display:grid;
  grid-template-columns:minmax(19rem,.62fr) minmax(0,1.38fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
  width:min(100%,1240px);
  margin-inline:auto;
}
.rand0m-v2-video-copy {
  display:block;
  padding:0;
}
.rand0m-v2-video-copy .rand0m-v2-section-label { color:#111; }
.rand0m-v2-video-copy h2 {
  margin:.2rem 0 1rem;
  color:#111;
  font-size:clamp(3rem,5vw,5.4rem);
  line-height:.88;
  text-transform:uppercase;
}
.rand0m-v2-video-copy > p:not(.rand0m-v2-section-label):not(.rand0m-v2-panel-link) {
  max-width:29rem;
  color:#494949;
  line-height:1.6;
}
.rand0m-v2-video-copy .rand0m-v2-panel-link a {
  margin-top:1.25rem;
  border-color:#111;
  color:#111;
  background:transparent;
}
.rand0m-v2-video-copy .rand0m-v2-panel-link a:hover {
  background:#111;
  color:#fff;
}
.rand0m-v2-video-media {
  display:flex;
  align-items:center;
  min-width:0;
  padding:0;
}
.rand0m-v2-video .rand0m-youtube .wp-block-embed__wrapper {
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 12px 38px rgba(0,0,0,.08);
}

@media (max-width:900px) {
  .rand0m-v2-video { padding:3.5rem 20px 4rem; }
  .rand0m-v2-video-inner { grid-template-columns:1fr; gap:1.8rem; }
  .rand0m-v2-video-copy,
  .rand0m-v2-video-media { padding:0; }
}


/* ---------------------------------------------------------
   v2.0.11 — dedicated Over Rand0M page
   --------------------------------------------------------- */
.rand0m-about-page { margin-top:0; }
.rand0m-about-hero {
  position:relative;
  min-height:clamp(34rem, 62vw, 50rem);
  overflow:hidden;
  background:#090b0d;
  isolation:isolate;
}
.rand0m-about-hero-image {
  position:absolute;
  inset:0;
  background:url("assets/hero-wide.jpg") center 48% / cover no-repeat;
}
.rand0m-about-hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,6,7,.65) 0%,rgba(5,6,7,.18) 48%,rgba(5,6,7,.04) 76%), linear-gradient(0deg,rgba(5,6,7,.58),transparent 55%);
}
.rand0m-about-hero::after {
  content:"";
  position:absolute;
  z-index:1;
  right:clamp(-2.5rem,-2vw,-1rem);
  bottom:clamp(1.2rem,2.5vw,2.5rem);
  width:clamp(11rem,21vw,21rem);
  aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat;
  opacity:.82;
  pointer-events:none;
}
.rand0m-about-hero-copy {
  position:absolute;
  z-index:2;
  left:max(20px, calc((100% - 1240px)/2));
  top:clamp(3rem,6vw,5.5rem);
  bottom:auto;
  max-width:min(72%, 52rem);
  color:#fff;
}
.rand0m-about-hero-copy .rand0m-v2-section-label { color:#fff; }
.rand0m-about-hero-copy h1 {
  max-width:11ch;
  margin:0;
  color:#fff;
  font:700 clamp(4rem,8vw,8rem)/.86 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.rand0m-about-hero-copy h1 span { color:var(--rand0m-red); }
.rand0m-about-hero-copy > p:last-child { margin:.75rem 0 0; font:400 1.3rem/1 'Oswald',sans-serif; letter-spacing:.05em; }

.rand0m-about-story,
.rand0m-about-values { padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px); background:var(--rand0m-paper); }
.rand0m-about-big { margin:.25rem 0 0; font-size:clamp(3rem,6vw,5.6rem); line-height:.92; letter-spacing:-.035em; text-transform:uppercase; }
.rand0m-about-prose { max-width:44rem; }
.rand0m-about-lead { margin-top:0; font-size:clamp(1.2rem,2vw,1.55rem); line-height:1.5; }
.rand0m-about-prose p:not(.rand0m-about-lead) { font-size:1.05rem; line-height:1.72; }

.rand0m-about-split { display:grid; grid-template-columns:1.1fr .9fr; background:#080a0c; color:#fff; }
.rand0m-about-split-image { min-height:42rem; background:url("assets/hero-portrait.jpg") center 48%/cover no-repeat; }
.rand0m-about-split-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(3rem,6vw,6rem); }
.rand0m-about-split-copy .rand0m-v2-section-label { color:#fff; }
.rand0m-about-split-copy h2 { margin:.25rem 0 1.5rem; color:#fff; font-size:clamp(3rem,5.5vw,5.2rem); line-height:.9; text-transform:uppercase; }
.rand0m-about-split-copy p:not(.rand0m-v2-section-label) { max-width:34rem; color:rgba(255,255,255,.78); font-size:1.05rem; line-height:1.7; }

.rand0m-about-values { background:#fff; }
.rand0m-about-values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:clamp(2rem,4vw,3rem); border-top:1px solid #ddd; }
.rand0m-about-values-grid > div { padding:2rem 2rem 0 0; border-right:1px solid #ddd; }
.rand0m-about-values-grid > div + div { padding-left:2rem; }
.rand0m-about-values-grid > div:last-child { border-right:0; }
.rand0m-about-values-grid strong { font:700 clamp(2rem,3vw,3rem)/1 'Oswald',sans-serif; text-transform:uppercase; }
.rand0m-about-values-grid p { line-height:1.65; }

.rand0m-about-extra:has(.wp-block-post-content:empty),
.rand0m-about-extra:has(.wp-block-post-content > :first-child:last-child:empty) { display:none; }
.rand0m-about-extra { padding:3rem clamp(20px,4vw,48px); background:#fff; }

.rand0m-about-cta { padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px); background:#090b0d; color:#fff; }
.rand0m-about-cta .rand0m-v2-section-label { color:#fff; }
.rand0m-about-cta h2 { margin:.25rem 0 1.5rem; color:#fff; font-size:clamp(3.5rem,7vw,6.5rem); text-transform:uppercase; }
.rand0m-about-cta .is-style-outline .wp-block-button__link { color:#fff; border-color:#fff; background:transparent; }

@media (max-width:781px) {
  .rand0m-about-hero { min-height:36rem; }
  .rand0m-about-hero-image { background-image:url("assets/hero-portrait.jpg"); background-position:center 40%; }
  .rand0m-about-hero-shade { background:linear-gradient(0deg,rgba(5,6,7,.76),rgba(5,6,7,.05) 68%); }
  .rand0m-about-hero-copy {
    left:20px;
    right:20px;
    top:2.2rem;
    bottom:auto;
    max-width:calc(100% - 40px);
  }
  .rand0m-about-hero-copy h1 { max-width:9ch; font-size:clamp(3.35rem,14vw,5rem); }
  .rand0m-about-hero::after {
    right:-2.25rem;
    bottom:1.4rem;
    width:clamp(10rem,42vw,15rem);
  }
  .rand0m-about-split { grid-template-columns:1fr; }
  .rand0m-about-split-image { min-height:28rem; }
  .rand0m-about-split-copy { padding:3rem 20px; }
  .rand0m-about-values-grid { grid-template-columns:1fr; }
  .rand0m-about-values-grid > div,
  .rand0m-about-values-grid > div + div { padding:1.5rem 0; border-right:0; border-bottom:1px solid #ddd; }
  .rand0m-about-values-grid > div:last-child { border-bottom:0; }
}


/* ---------------------------------------------------------
   v2.0.12 — Media & Press / press kit
   --------------------------------------------------------- */
.rand0m-media-page { margin-top:0; }
.rand0m-media-hero {
  position:relative;
  min-height:clamp(30rem,55vw,44rem);
  overflow:hidden;
  background:#080a0c;
  color:#fff;
  isolation:isolate;
}
.rand0m-media-hero-image {
  position:absolute; inset:0;
  background:url("assets/hero-wide.jpg") center 48%/cover no-repeat;
}
.rand0m-media-hero::before {
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,rgba(5,6,7,.74) 0%,rgba(5,6,7,.30) 48%,rgba(5,6,7,.04) 78%);
}
.rand0m-media-hero::after {
  content:""; position:absolute; right:-3rem; bottom:1rem; z-index:2;
  width:clamp(12rem,24vw,24rem); aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat;
  opacity:.8;
}
.rand0m-media-hero-copy {
  position:absolute; z-index:3;
  left:max(20px,calc((100% - 1240px)/2));
  right:20px; bottom:clamp(2.4rem,6vw,5rem);
  max-width:52rem;
}
.rand0m-media-hero-copy .rand0m-v2-section-label { color:#fff; }
.rand0m-media-hero-copy h1 {
  margin:.25rem 0 .9rem; color:#fff;
  font:700 clamp(4rem,8vw,8rem)/.86 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:-.04em; text-transform:uppercase;
}
.rand0m-media-hero-copy p:last-child {
  max-width:38rem; margin:0; color:rgba(255,255,255,.84);
  font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.6;
}
.rand0m-media-intro,
.rand0m-media-press-photos,
.rand0m-media-kit,
.rand0m-media-extra {
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px);
}
.rand0m-media-intro { background:var(--rand0m-paper); }
.rand0m-media-intro-grid {
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(2rem,6vw,6rem); align-items:start;
  width:min(100%,1240px); margin-inline:auto;
}
.rand0m-media-intro h2,
.rand0m-media-press-photos h2,
.rand0m-media-kit h2 {
  margin:.25rem 0 0; font-size:clamp(3rem,6vw,5.8rem);
  line-height:.9; letter-spacing:-.035em; text-transform:uppercase;
}
.rand0m-media-intro-copy { max-width:42rem; font-size:1.05rem; line-height:1.72; }
.rand0m-media-press-photos { background:#fff; }
.rand0m-media-press-head,
.rand0m-media-kit-inner { width:min(100%,1240px); margin-inline:auto; }
.rand0m-media-press-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.75rem,1.5vw,1.25rem); margin-top:2.2rem;
}
.rand0m-media-press-card { min-width:0; }
.rand0m-media-press-card:first-child { grid-column:span 2; }
.rand0m-media-press-image {
  display:block; width:100%; aspect-ratio:4/3; overflow:hidden; background:#ddd;
}
.rand0m-media-press-image img { width:100%; height:100%; object-fit:cover; transition:transform .22s ease; }
.rand0m-media-press-card:hover img { transform:scale(1.015); }
.rand0m-media-press-card p { display:flex; justify-content:space-between; gap:1rem; margin:.7rem 0 0; }
.rand0m-media-press-card a { color:#111; font:600 .85rem/1 'Oswald',sans-serif; text-transform:uppercase; text-decoration:none; }
.rand0m-media-press-card a:hover { color:var(--rand0m-red); }
.rand0m-media-kit { background:#090b0d; color:#fff; }
.rand0m-media-kit .rand0m-v2-section-label { color:#fff; }
.rand0m-media-kit h2 { color:#fff; }
.rand0m-media-kit-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  margin-top:2.5rem; border-top:1px solid rgba(255,255,255,.16);
}
.rand0m-media-kit-card {
  min-height:17rem; padding:2rem 2.5rem 2rem 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.rand0m-media-kit-card:nth-child(odd) { border-right:1px solid rgba(255,255,255,.16); }
.rand0m-media-kit-card:nth-child(even) { padding-left:2.5rem; }
.rand0m-media-kit-card h3 { margin:0 0 .8rem; color:#fff; font-size:clamp(2rem,3.5vw,3.2rem); text-transform:uppercase; }
.rand0m-media-kit-card p { max-width:31rem; color:rgba(255,255,255,.72); line-height:1.65; }
.rand0m-media-kit-link,
.rand0m-rider-download {
  display:inline-block; margin-top:.9rem; padding:.8rem 1rem;
  border:1px solid rgba(255,255,255,.82); color:#fff !important;
  font:600 .82rem/1 'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.045em;
  text-decoration:none !important;
}
.rand0m-rider-download { background:var(--rand0m-red); border-color:var(--rand0m-red); }
.rand0m-rider-missing { color:rgba(255,255,255,.62); font-size:.92rem; }
.rand0m-media-extra { background:#fff; }
.rand0m-media-extra:has(.wp-block-post-content:empty) { display:none; }
.rand0m-v2-media-link { margin-top:1.25rem; }
.rand0m-v2-media-link a {
  display:inline-block; padding:.8rem 1rem; border:1px solid rgba(255,255,255,.78);
  color:#fff; font:600 .82rem/1 'Oswald',sans-serif; text-transform:uppercase;
  text-decoration:none;
}
.rand0m-v2-media-grid a.rand0m-v2-media-tile { display:block; }
.rand0m-v2-media-tile--b { background-image:url("assets/hero-portrait.jpg"); }
.rand0m-v2-media-tile--c { background-image:url("assets/press-photo-03.jpg"); }

@media (max-width:900px) {
  .rand0m-media-intro-grid { grid-template-columns:1fr; }
  .rand0m-media-press-grid { grid-template-columns:1fr 1fr; }
  .rand0m-media-press-card:first-child { grid-column:1/-1; }
}
@media (max-width:781px) {
  .rand0m-media-hero { min-height:36rem; }
  .rand0m-media-hero-image { background-image:url("assets/hero-portrait.jpg"); background-position:center 40%; }
  .rand0m-media-hero::before { background:linear-gradient(0deg,rgba(5,6,7,.75),rgba(5,6,7,.08) 68%); }
  .rand0m-media-hero-copy { left:20px; bottom:2rem; }
  .rand0m-media-hero-copy h1 { font-size:clamp(3.6rem,16vw,5.5rem); }
  .rand0m-media-press-grid { grid-template-columns:1fr; }
  .rand0m-media-press-card:first-child { grid-column:auto; }
  .rand0m-media-kit-grid { grid-template-columns:1fr; }
  .rand0m-media-kit-card,
  .rand0m-media-kit-card:nth-child(even) { padding:1.8rem 0; border-right:0; }
}


/* ---------------------------------------------------------
   v2.0.13 — Contact
   --------------------------------------------------------- */
.rand0m-contact-page { margin-top:0; background:var(--rand0m-paper,#f5f2ec); }
.rand0m-contact-hero {
  padding:clamp(4.5rem,9vw,8rem) clamp(20px,4vw,48px);
  background:#090b0d; color:#fff; position:relative; overflow:hidden;
}
.rand0m-contact-hero::after {
  content:""; position:absolute; right:-2rem; bottom:-1rem;
  width:clamp(13rem,25vw,25rem); aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat; opacity:.8;
}
.rand0m-contact-hero-inner { width:min(100%,1240px); margin-inline:auto; position:relative; z-index:1; }
.rand0m-contact-hero .rand0m-v2-section-label { color:#fff; }
.rand0m-contact-hero h1 {
  margin:.25rem 0 .9rem; color:#fff;
  font:700 clamp(4rem,8vw,8rem)/.88 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:-.04em; text-transform:uppercase;
}
.rand0m-contact-hero p:last-child { max-width:42rem; margin:0; color:rgba(255,255,255,.78); font-size:clamp(1.05rem,1.5vw,1.25rem); line-height:1.6; }
.rand0m-contact-main { padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px); }
.rand0m-contact-grid-page { width:min(100%,1240px); margin-inline:auto; display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(2.5rem,7vw,7rem); align-items:start; }
.rand0m-contact-copy h2 { margin:.25rem 0 1rem; font-size:clamp(3rem,6vw,5.8rem); line-height:.9; letter-spacing:-.035em; text-transform:uppercase; }
.rand0m-contact-copy p { max-width:33rem; line-height:1.7; }
.rand0m-contact-copy .rand0m-contact-booking-link { display:inline-block; margin-top:1rem; color:#111; font:600 .85rem/1 'Oswald',sans-serif; text-transform:uppercase; text-decoration:none; border-bottom:2px solid var(--rand0m-red); padding-bottom:.18rem; }
.rand0m-contact-form-content > :first-child { margin-top:0; }
@media (max-width:781px) {
  .rand0m-contact-grid-page { grid-template-columns:1fr; gap:2rem; }
  .rand0m-contact-hero { padding-top:4rem; padding-bottom:4rem; }
  .rand0m-contact-hero h1 { font-size:clamp(3.8rem,17vw,5.6rem); }
}

/* v2.0.15 — unlimited curated press-photo gallery */
.rand0m-media-press-empty { margin-top:2rem; color:#666; line-height:1.6; }

/* ---------------------------------------------------------
   v2.0.17 — consistent section typography + static news intro
   Keep the Rand0M hero as the one oversized brand statement; content
   headings use a calmer shared scale throughout the homepage.
   --------------------------------------------------------- */
.rand0m-v2-news-list-intro {
  position: static;
  top: auto;
}

/* Shared homepage display scale */
.rand0m-v2-mega,
.rand0m-v2-shows-panel h2,
.rand0m-v2-news-list-section .rand0m-v2-news-heading,
.rand0m-v2-media-head h2,
.rand0m-v2-video-copy h2 {
  font-size: clamp(2.65rem, 4.6vw, 4.45rem);
  line-height: .9;
  letter-spacing: -.03em;
}

@media (max-width: 781px) {
  .rand0m-v2-mega,
  .rand0m-v2-shows-panel h2,
  .rand0m-v2-news-list-section .rand0m-v2-news-heading,
  .rand0m-v2-media-head h2,
  .rand0m-v2-video-copy h2 {
    font-size: clamp(2.35rem, 10.5vw, 3.35rem);
    line-height: .92;
    letter-spacing: -.025em;
  }

  .rand0m-v2-news-list-title {
    font-size: clamp(1.45rem, 6.5vw, 2rem) !important;
    line-height: 1 !important;
  }
}


/* ---------------------------------------------------------
   v2.0.20 — align News + Booking with the homepage system
   --------------------------------------------------------- */
.rand0m-v2-news-list-section,
.rand0m-v2-news-list-section * {
  text-align:left;
}
.rand0m-v2-news-list-intro {
  justify-self:stretch;
  align-self:start;
}
.rand0m-v2-news-list-section .rand0m-v2-section-label,
.rand0m-v2-news-list-section .rand0m-v2-news-heading,
.rand0m-v2-news-list-section .rand0m-v2-news-link {
  text-align:left;
  justify-content:flex-start;
}
.rand0m-v2-news-list-meta .rand0m-post-date-nl {
  margin:0;
  color:inherit;
  font:inherit;
  text-transform:uppercase;
  letter-spacing:inherit;
}

/* Booking is a normal homepage section, not a separate oversized splash. */
.rand0m-v2-final-cta {
  position:relative;
  overflow:hidden;
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px);
  text-align:left;
  color:#fff;
  background:#090b0d;
  isolation:isolate;
}
.rand0m-v2-final-cta::before {
  content:"";
  position:absolute;
  inset:auto -4rem -3rem auto;
  width:clamp(15rem,28vw,28rem);
  aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat;
  opacity:.34;
  pointer-events:none;
  z-index:-1;
}
.rand0m-v2-final-cta .rand0m-v2-booking-inner {
  width:min(100%,1240px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);
  gap:clamp(2.5rem,7vw,7rem);
  align-items:end;
}
.rand0m-v2-final-cta .rand0m-v2-section-label { color:#fff; }
.rand0m-v2-final-cta h2 {
  margin:.25rem 0 0;
  color:#fff;
  font-size:clamp(2.65rem,4.6vw,4.45rem);
  line-height:.9;
  letter-spacing:-.03em;
  text-transform:uppercase;
}
.rand0m-v2-final-cta .rand0m-v2-booking-copy p {
  max-width:34rem;
  margin:0 0 1.35rem;
  color:rgba(255,255,255,.76);
  font:400 clamp(1.05rem,1.45vw,1.22rem)/1.55 Arial,sans-serif;
  letter-spacing:0;
}
.rand0m-v2-final-cta .wp-block-buttons { justify-content:flex-start; }
.rand0m-v2-final-cta .wp-block-button__link {
  border-radius:0;
  background:var(--rand0m-red);
  color:#fff;
  border:1px solid var(--rand0m-red);
}
@media (max-width:781px) {
  .rand0m-v2-final-cta .rand0m-v2-booking-inner {
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .rand0m-v2-final-cta h2 {
    font-size:clamp(2.35rem,10.5vw,3.35rem);
    line-height:.92;
  }
}

/* ---------------------------------------------------------
   v2.0.21 — News consistency
   --------------------------------------------------------- */
/* The homepage News heading follows the same left-aligned section-heading
   treatment as Over Rand0M, Optredens, Media and Video. */
.rand0m-v2-news-list-section .rand0m-v2-news-heading {
  margin:.15rem 0 0;
  text-align:left !important;
  max-width:none;
}

/* Dutch dynamic date block on the News archive/cards. */
.rand0m-news-page .rand0m-post-date-nl {
  display:block;
  margin:.55rem 0 0;
  color:var(--rand0m-muted);
  font:500 .76rem/1.2 'Oswald',sans-serif;
  letter-spacing:.06em;
  text-transform:none;
}


/* ---------------------------------------------------------
   v2.0.22 — structural homepage consistency + Dutch core dates
   --------------------------------------------------------- */
/* News uses the same content width and left edge as the other homepage sections.
   These rules deliberately target both the current template and older saved
   Site Editor markup, so a stale template customization does not re-centre it. */
.rand0m-v2-news-list-section {
  padding-inline:clamp(20px,4vw,48px);
}
.rand0m-v2-news-list-section > .rand0m-v2-news-list-layout,
.rand0m-v2-news-list-section .rand0m-v2-news-list-layout {
  width:min(100%,1240px);
  max-width:1240px;
  margin-inline:auto !important;
  box-sizing:border-box;
}
.rand0m-v2-news-list-intro,
.rand0m-v2-news-list-intro > * {
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.rand0m-v2-news-list-intro {
  position:static !important;
  top:auto !important;
  justify-self:start !important;
  width:100%;
}
.rand0m-v2-news-list-intro .rand0m-v2-section-label {
  justify-content:flex-start !important;
}
.rand0m-v2-news-list-intro h2,
.rand0m-v2-news-list-section .rand0m-v2-news-heading {
  display:block;
  width:100%;
  max-width:100%;
  margin:.15rem 0 0 !important;
  padding:0 !important;
  text-align:left !important;
  text-indent:0 !important;
  transform:none !important;
}

/* One display scale for all content-section headings on the front page. */
.rand0m-v2-about .rand0m-v2-mega,
.rand0m-v2-shows-panel h2,
.rand0m-v2-news-list-intro h2,
.rand0m-v2-media-head h2,
.rand0m-v2-video-copy h2,
.rand0m-v2-final-cta h2 {
  font-family:'Oswald','Arial Narrow',Arial,sans-serif;
  font-size:clamp(2.65rem,4.6vw,4.45rem);
  font-weight:600;
  line-height:.9;
  letter-spacing:-.03em;
  text-transform:uppercase;
}

/* Keep the booking block on the same 1240px grid and section rhythm. */
.rand0m-v2-final-cta .rand0m-v2-booking-inner {
  width:min(100%,1240px);
  max-width:1240px;
  margin-inline:auto;
}

/* Core Post Date fallback. The PHP render filter supplies Dutch text; this
   matches the dynamic Dutch-date block visually. */
.rand0m-news-page .wp-block-post-date,
.rand0m-v2-news-list-section .wp-block-post-date,
.rand0m-news-page .rand0m-post-date-nl,
.rand0m-v2-news-list-section .rand0m-post-date-nl {
  color:var(--rand0m-muted);
  font-family:'Oswald','Arial Narrow',Arial,sans-serif;
  font-size:.76rem;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.06em;
  text-transform:none;
}

@media (max-width:781px) {
  .rand0m-v2-news-list-section > .rand0m-v2-news-list-layout,
  .rand0m-v2-news-list-section .rand0m-v2-news-list-layout {
    width:100%;
  }
  .rand0m-v2-about .rand0m-v2-mega,
  .rand0m-v2-shows-panel h2,
  .rand0m-v2-news-list-intro h2,
  .rand0m-v2-media-head h2,
  .rand0m-v2-video-copy h2,
  .rand0m-v2-final-cta h2 {
    font-size:clamp(2.2rem,9.8vw,3.1rem);
    line-height:.94;
    letter-spacing:-.02em;
  }
}


/* ---------------------------------------------------------
   v2.0.23 — compact desktop footer
   --------------------------------------------------------- */
.rand0m-footer {
  border-top:0;
}
.rand0m-footer .wp-block-separator {
  display:none !important;
}
.rand0m-footer-top,
.rand0m-footer-meta {
  width:min(100%,1240px);
  max-width:1240px;
  margin-inline:auto;
}
.rand0m-footer-top {
  min-height:42px;
  gap:1.5rem 2.5rem;
  align-items:center;
}
.rand0m-footer .rand0m-brand {
  margin:0;
  flex-shrink:0;
}
.rand0m-footer .rand0m-wordmark {
  margin:0;
}
.rand0m-footer-nav {
  flex:1 1 auto;
  justify-content:center;
}
.rand0m-footer-nav .wp-block-navigation__container {
  gap:1.5rem;
}
.rand0m-footer-nav a {
  font-family:'Oswald','Arial Narrow',Arial,sans-serif;
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
}
.rand0m-footer-socials {
  margin:0;
  gap:.8rem;
  flex-shrink:0;
}
.rand0m-footer-meta {
  margin-top:1rem;
  padding-top:0;
  gap:.75rem 1.5rem;
  align-items:center;
}
.rand0m-footer-meta p {
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:.75rem !important;
  line-height:1.35;
}
.rand0m-footer-meta a {
  color:inherit;
  text-decoration:none;
}
.rand0m-footer-meta a:hover {
  color:#fff;
}

@media (max-width:781px) {
  .rand0m-footer {
    padding-top:32px !important;
    padding-bottom:28px !important;
  }
  .rand0m-footer-top {
    display:grid !important;
    grid-template-columns:1fr auto;
    gap:1.5rem;
    align-items:center;
  }
  .rand0m-footer-nav {
    grid-column:1 / -1;
    order:3;
    justify-content:flex-start;
  }
  .rand0m-footer-nav .wp-block-navigation__container {
    justify-content:flex-start;
    gap:.8rem 1.25rem;
  }
  .rand0m-footer-socials {
    justify-self:end;
  }
  .rand0m-footer-meta {
    margin-top:1.25rem;
    display:block !important;
  }
  .rand0m-footer-meta p + p {
    margin-top:.45rem;
  }
}

/* ---------------------------------------------------------
   v2.0.26 — mobile heading rhythm + About CTA consistency
   --------------------------------------------------------- */
/* Primary action in the About section should use the same red treatment as
   other important homepage actions, not a white outline button. */
.rand0m-v2-about .wp-block-button.is-style-outline .wp-block-button__link,
.rand0m-v2-about .wp-block-button__link {
  background:var(--rand0m-red) !important;
  color:#fff !important;
  border:1px solid var(--rand0m-red) !important;
  border-radius:0;
}
.rand0m-v2-about .wp-block-button__link:hover {
  filter:brightness(.94);
}

/* Let section headings form balanced lines rather than relying on fixed line
   breaks that only happen to work at one viewport width. */
.rand0m-v2-about .rand0m-v2-mega,
.rand0m-v2-shows-panel h2,
.rand0m-v2-news-list-intro h2,
.rand0m-v2-media-head h2,
.rand0m-v2-video-copy h2,
.rand0m-v2-final-cta h2 {
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}

@media (max-width:781px) {
  /* Fixed desktop line breaks create awkward 1–2 word lines on phones. */
  .rand0m-v2-about .rand0m-v2-mega br,
  .rand0m-v2-shows-panel h2 br,
  .rand0m-v2-video-copy h2 br {
    display:none;
  }

  /* One calmer mobile scale for every homepage content heading. */
  .rand0m-v2-about .rand0m-v2-mega,
  .rand0m-v2-shows-panel h2,
  .rand0m-v2-news-list-intro h2,
  .rand0m-v2-media-head h2,
  .rand0m-v2-video-copy h2,
  .rand0m-v2-final-cta h2 {
    font-size:clamp(2rem,8.4vw,2.65rem) !important;
    line-height:1 !important;
    letter-spacing:-.018em !important;
    max-width:100%;
  }

  .rand0m-v2-section-label {
    margin-bottom:.55rem;
  }

  /* News headlines are content titles, so keep them visibly below section H2s. */
  .rand0m-v2-news-list-title {
    font-size:clamp(1.3rem,5.8vw,1.75rem) !important;
    line-height:1.05 !important;
    text-wrap:balance;
  }
}


/* ---------------------------------------------------------
   v2.0.27 — About page CTA button contrast fix
   --------------------------------------------------------- */
/* The global outline-button rule gives outline buttons a white background.
   Inside the dark About CTA that combined with white text, creating an empty
   white-looking button. Keep Agenda clearly secondary but fully readable. */
.rand0m-about-cta .wp-block-button.is-style-outline > .wp-block-button__link,
.rand0m-about-cta .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.82) !important;
  border-radius: 0 !important;
}
.rand0m-about-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover {
  background: #fff !important;
  color: #090b0d !important;
}
.rand0m-about-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
  background: var(--rand0m-red) !important;
  color: #fff !important;
  border: 2px solid var(--rand0m-red) !important;
  border-radius: 0 !important;
}


/* v2.0.33 — Media & Press hero follows the shared page-hero system */
.rand0m-media-hero {
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.rand0m-media-hero-image { position:absolute; inset:0; z-index:0; }
.rand0m-media-hero-shade {
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,.46) 0%, rgba(0,0,0,.15) 55%, rgba(0,0,0,.38) 100%);
  pointer-events:none;
}
.rand0m-media-hero-copy {
  position:absolute;
  z-index:3;
  left:max(20px, calc((100% - 1240px)/2));
  top:clamp(3rem,6vw,5.5rem);
  right:auto;
  bottom:auto;
  max-width:min(72%, 54rem);
  color:#fff;
}
.rand0m-media-hero-copy h1 {
  margin:.15em 0 0;
  max-width:12ch;
}
.rand0m-media-hero::after {
  content:"";
  position:absolute;
  z-index:2;
  right:clamp(-2.5rem,-2vw,-1rem);
  bottom:clamp(1.2rem,2.5vw,2.5rem);
  width:clamp(11rem,21vw,21rem);
  aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat;
  opacity:.82;
  pointer-events:none;
}
@media (max-width: 782px) {
  .rand0m-media-hero-copy {
    left:20px;
    right:20px;
    top:2.2rem;
    bottom:auto;
    max-width:calc(100% - 40px);
  }
  .rand0m-media-hero-copy h1 {
    max-width:10ch;
    font-size:clamp(3.2rem,13vw,4.8rem);
  }
  .rand0m-media-hero::after {
    right:-2.25rem;
    bottom:1.4rem;
    width:clamp(10rem,42vw,15rem);
  }
}


/* v2.0.34 — booking page shares the Contact page header system */
.rand0m-booking-main {
  padding:clamp(3.5rem,7vw,6.5rem) clamp(20px,4vw,48px) clamp(4.5rem,8vw,7rem);
  background:#fff;
}
.rand0m-booking-main > .wp-block-post-content {
  width:min(100%,1240px);
  margin-inline:auto;
}


/* v2.0.38 — dynamic Releases page */
.rand0m-release-hero .rand0m-media-hero-image {
  background-position:center 44%;
}
.rand0m-releases-main {
  padding:0;
  background:var(--rand0m-paper);
}
.rand0m-releases-main > .wp-block-post-content {
  width:100%;
  max-width:none;
  margin:0;
}
.rand0m-releases {
  background:var(--rand0m-paper);
}
.rand0m-releases-section,
.rand0m-releases-empty {
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px);
}
.rand0m-releases-section + .rand0m-releases-section {
  border-top:1px solid var(--rand0m-line);
}
.rand0m-releases-heading,
.rand0m-releases-grid,
.rand0m-releases-empty {
  width:min(100%,1240px);
  margin-inline:auto;
}
.rand0m-releases-heading {
  margin-bottom:clamp(2rem,4vw,3.5rem);
}
.rand0m-releases-heading h2,
.rand0m-releases-empty h2 {
  margin:.2rem 0 0;
  max-width:12ch;
  font-size:clamp(3rem,6vw,5.8rem);
  line-height:.9;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.rand0m-releases-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.4rem,3vw,3rem);
}
.rand0m-release-card {
  display:grid;
  grid-template-columns:minmax(0,42%) minmax(0,58%);
  min-width:0;
  background:#fff;
  border:1px solid var(--rand0m-line);
  overflow:hidden;
}
.rand0m-release-art {
  position:relative;
  min-height:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#0b0d0f;
}
.rand0m-release-art img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.rand0m-release-art-placeholder {
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  min-height:16rem;
  background:#0b0d0f url("assets/rand0m-stripes.svg") 112% 92%/72% auto no-repeat;
  color:#fff;
}
.rand0m-release-art-placeholder > span {
  font:700 clamp(2.6rem,5vw,5rem)/1 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:-.04em;
}
.rand0m-release-art-placeholder .rand0m-zero {
  color:var(--rand0m-red);
}
.rand0m-release-coming {
  position:absolute;
  left:0;
  bottom:0;
  padding:.55rem .8rem;
  background:var(--rand0m-red);
  color:#fff;
  font:700 .82rem/1 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.rand0m-release-card-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(1.35rem,2.5vw,2.4rem);
}
.rand0m-release-meta {
  margin:0 0 .7rem;
  color:#666;
  font:600 .78rem/1.25 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.rand0m-release-meta span {
  color:var(--rand0m-red);
}
.rand0m-release-card h3 {
  margin:0 0 .9rem;
  font-size:clamp(2rem,3.2vw,3.4rem);
  line-height:.94;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.rand0m-release-description {
  color:#444;
  line-height:1.62;
}
.rand0m-release-description p:first-child { margin-top:0; }
.rand0m-release-description p:last-child { margin-bottom:0; }
.rand0m-release-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.35rem;
}
.rand0m-release-button {
  display:inline-block;
  padding:.75rem 1rem;
  background:var(--rand0m-red);
  border:1px solid var(--rand0m-red);
  color:#fff !important;
  font:700 .8rem/1 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:.035em;
  text-decoration:none;
  text-transform:uppercase;
}
.rand0m-release-button.is-outline {
  background:transparent;
  color:#111 !important;
  border-color:#111;
}
.rand0m-releases-upcoming {
  background:#fff;
}
.rand0m-releases-upcoming .rand0m-release-card {
  background:var(--rand0m-paper);
}
.rand0m-releases-empty {
  min-height:24rem;
}
.rand0m-releases-empty > p:last-child {
  max-width:42rem;
  font-size:1.08rem;
  line-height:1.65;
}

@media (max-width: 980px) {
  .rand0m-releases-grid {
    grid-template-columns:1fr;
  }
}
@media (max-width: 620px) {
  .rand0m-release-card {
    grid-template-columns:1fr;
  }
  .rand0m-release-art {
    aspect-ratio:1/1;
  }
  .rand0m-release-card-copy {
    padding:1.4rem;
  }
}


/* v2.0.39 — Releases hero is independent from Media hero */
.rand0m-release-hero {
  position:relative;
  min-height:clamp(30rem,55vw,44rem);
  overflow:hidden;
  isolation:isolate;
  background:#090b0d;
  color:#fff;
}
.rand0m-release-hero-image {
  position:absolute;
  inset:0;
  z-index:0;
  background:url("assets/hero-wide.jpg") center 44%/cover no-repeat;
}
.rand0m-release-hero-shade {
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(5,6,7,.70) 0%,rgba(5,6,7,.30) 48%,rgba(5,6,7,.05) 78%),
    linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.08) 55%,rgba(0,0,0,.25));
  pointer-events:none;
}
.rand0m-release-hero-copy {
  position:absolute;
  z-index:3;
  top:clamp(3rem,6vw,5.5rem);
  left:max(20px,calc((100% - 1240px)/2));
  right:20px;
  max-width:min(72%,54rem);
  color:#fff;
}
.rand0m-release-hero-copy .rand0m-v2-section-label {
  color:#fff;
}
.rand0m-release-hero-copy h1 {
  margin:.15em 0 0;
  max-width:12ch;
  color:#fff;
  font:700 clamp(4rem,8vw,8rem)/.86 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.rand0m-release-hero::after {
  content:"";
  position:absolute;
  z-index:2;
  right:clamp(-2.5rem,-2vw,-1rem);
  bottom:clamp(1.2rem,2.5vw,2.5rem);
  width:clamp(11rem,21vw,21rem);
  aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat;
  opacity:.82;
  pointer-events:none;
}
@media (max-width:900px) and (orientation:landscape) {
  .rand0m-release-hero {
    min-height:calc(100svh - 70px);
  }
  .rand0m-release-hero-copy {
    top:2rem;
    max-width:62%;
  }
  .rand0m-release-hero-copy h1 {
    font-size:clamp(3.1rem,8vw,5.2rem);
  }
  .rand0m-release-hero::after {
    width:clamp(9rem,22vw,14rem);
    bottom:1rem;
  }
}
@media (max-width:782px) {
  .rand0m-release-hero {
    min-height:36rem;
  }
  .rand0m-release-hero-image {
    background-image:url("assets/hero-portrait.jpg");
    background-position:center 40%;
  }
  .rand0m-release-hero-shade {
    background:linear-gradient(0deg,rgba(5,6,7,.72),rgba(5,6,7,.08) 70%);
  }
  .rand0m-release-hero-copy {
    left:20px;
    right:20px;
    top:2.2rem;
    max-width:calc(100% - 40px);
  }
  .rand0m-release-hero-copy h1 {
    max-width:10ch;
    font-size:clamp(3.2rem,13vw,4.8rem);
  }
  .rand0m-release-hero::after {
    right:-2.25rem;
    bottom:1.4rem;
    width:clamp(10rem,42vw,15rem);
  }
}




/* v2.0.42 — authoritative Releases card layout */
.rand0m-releases-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.4rem,3vw,3rem);
}

.rand0m-release-card {
  display:flex !important;
  flex-direction:row;
  align-items:flex-start;
  width:100%;
  max-width:1240px;
  min-width:0;
  overflow:visible;
  background:#fff;
  border:1px solid var(--rand0m-line);
}

.rand0m-release-art {
  position:relative;
  flex:0 0 38%;
  width:38%;
  min-width:0;
  min-height:0 !important;
  aspect-ratio:1 / 1;
  align-self:flex-start;
  overflow:hidden;
  background:#0b0d0f;
}

.rand0m-release-art img {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
}

.rand0m-release-card-copy {
  display:block !important;
  flex:1 1 auto;
  width:auto;
  min-width:0;
  padding:clamp(1.4rem,3vw,2.6rem);
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible;
}

.rand0m-release-card-copy > *:first-child {
  margin-top:0;
}

@media (min-width:1200px) {
  .rand0m-releases-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rand0m-release-card {
    max-width:none;
  }
  .rand0m-release-art {
    flex-basis:42%;
    width:42%;
  }
}

/* Only narrow portrait/mobile screens stack the card. */
@media (max-width:599px) {
  .rand0m-release-card {
    flex-direction:column;
  }
  .rand0m-release-art {
    flex:0 0 auto;
    width:100%;
  }
  .rand0m-release-card-copy {
    width:100%;
    box-sizing:border-box;
  }
}


/* v2.0.43 — compact release overview cards */
.rand0m-release-description {
  max-width:34rem;
  color:#444;
  line-height:1.6;
}
.rand0m-release-description p {
  margin:.2rem 0 0;
}
.rand0m-release-actions {
  margin-top:1.2rem;
}
.rand0m-release-card-copy {
  align-self:center;
}


/* v2.0.44 — dedicated News page */
.rand0m-news-hero {
  position:relative;
  min-height:clamp(28rem,50vw,40rem);
  overflow:hidden;
  isolation:isolate;
  background:#090b0d;
  color:#fff;
}
.rand0m-news-hero-image {
  position:absolute;
  inset:0;
  z-index:0;
  background:url("assets/hero-wide.jpg") center 46%/cover no-repeat;
}
.rand0m-news-hero-shade {
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(5,6,7,.72) 0%,rgba(5,6,7,.30) 48%,rgba(5,6,7,.04) 78%),
    linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.10) 55%,rgba(0,0,0,.26));
  pointer-events:none;
}
.rand0m-news-hero-copy {
  position:absolute;
  z-index:3;
  top:clamp(3rem,6vw,5.5rem);
  left:max(20px,calc((100% - 1240px)/2));
  right:20px;
  max-width:min(74%,56rem);
  color:#fff;
}
.rand0m-news-hero-copy .rand0m-v2-section-label {
  color:#fff;
}
.rand0m-news-hero-copy h1 {
  margin:.15em 0 0;
  max-width:12ch;
  color:#fff;
  font:700 clamp(4rem,8vw,8rem)/.86 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.rand0m-news-hero::after {
  content:"";
  position:absolute;
  z-index:2;
  right:clamp(-2.5rem,-2vw,-1rem);
  bottom:clamp(1.2rem,2.5vw,2.5rem);
  width:clamp(11rem,21vw,21rem);
  aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat;
  opacity:.82;
  pointer-events:none;
}

.rand0m-news-main {
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px);
  background:var(--rand0m-paper);
}
.rand0m-news-main > .wp-block-post-content {
  width:min(100%,1240px);
  max-width:none;
  margin-inline:auto;
}

.rand0m-news-index-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.2rem,2.4vw,2rem);
}
.rand0m-news-index-card {
  min-width:0;
  background:#fff;
  border:1px solid var(--rand0m-line);
}
.rand0m-news-index-image {
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#111;
}
.rand0m-news-index-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.rand0m-news-index-placeholder {
  display:block;
  width:100%;
  height:100%;
  background:#111 url("assets/rand0m-stripes.svg") 112% 92%/72% auto no-repeat;
}
.rand0m-news-index-copy {
  padding:1.35rem 1.35rem 1.45rem;
}
.rand0m-news-index-meta {
  margin:0 0 .65rem;
  color:#666;
  font:600 .78rem/1.25 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.rand0m-news-index-meta span {
  color:var(--rand0m-red);
}
.rand0m-news-index-card h2 {
  margin:0 0 .75rem;
  font-size:clamp(2rem,3vw,3rem);
  line-height:.95;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.rand0m-news-index-card h2 a {
  color:#111;
  text-decoration:none;
}
.rand0m-news-index-copy > p:not(.rand0m-news-index-meta):not(.rand0m-news-index-link) {
  color:#444;
  line-height:1.6;
}
.rand0m-news-index-link {
  margin:1rem 0 0;
}
.rand0m-news-index-link a {
  color:#111;
  font:700 .82rem/1 'Oswald','Arial Narrow',sans-serif;
  text-decoration:none;
  text-transform:uppercase;
  border-bottom:2px solid var(--rand0m-red);
  padding-bottom:.16rem;
}
.rand0m-news-index-empty {
  min-height:18rem;
}
.rand0m-news-index-empty h2 {
  margin:.2rem 0 0;
  font-size:clamp(3rem,6vw,5.8rem);
  line-height:.9;
  text-transform:uppercase;
}

@media (max-width:980px) {
  .rand0m-news-index-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:620px) {
  .rand0m-news-hero {
    min-height:34rem;
  }
  .rand0m-news-hero-image {
    background-image:url("assets/hero-portrait.jpg");
    background-position:center 40%;
  }
  .rand0m-news-hero-copy {
    left:20px;
    right:20px;
    top:2.2rem;
    max-width:calc(100% - 40px);
  }
  .rand0m-news-hero-copy h1 {
    max-width:10ch;
    font-size:clamp(3.2rem,13vw,4.8rem);
  }
  .rand0m-news-hero::after {
    right:-2.25rem;
    bottom:1.4rem;
    width:clamp(10rem,42vw,15rem);
  }
  .rand0m-news-index-grid {
    grid-template-columns:1fr;
  }
}


/* v2.0.45 — dedicated Agenda page + compact announcement dates */
.rand0m-agenda-hero {
  display:grid;
  grid-template-columns:minmax(0,57%) minmax(0,43%);
  min-height:clamp(30rem,46vw,43rem);
  background:#080a0c;
  color:#fff;
}
.rand0m-agenda-hero-image {
  min-height:100%;
  background:url("assets/hero-wide.jpg") center 48%/cover no-repeat;
}
.rand0m-agenda-hero-panel {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5rem);
  background:#080a0c;
}
.rand0m-agenda-hero-panel .rand0m-v2-section-label { color:#fff; }
.rand0m-agenda-hero-panel h1 {
  margin:.2rem 0 1.5rem;
  max-width:9ch;
  color:#fff;
  font:700 clamp(4rem,7vw,7rem)/.88 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.rand0m-agenda-hero-panel > p:last-child {
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:clamp(1.05rem,1.5vw,1.25rem);
}
.rand0m-agenda-list-section {
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px);
  background:var(--rand0m-paper);
}
.rand0m-agenda-past-section {
  background:#fff;
  border-top:1px solid var(--rand0m-line);
}
.rand0m-agenda-list-inner {
  width:min(100%,1240px);
  margin-inline:auto;
}
.rand0m-agenda-list-inner h2 {
  margin:.2rem 0 clamp(2rem,4vw,3rem);
  font-size:clamp(3rem,6vw,5.8rem);
  line-height:.9;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.rand0m-agenda-list-inner .rand0m-events {
  border-top:1px solid var(--rand0m-line);
}

/* Announcement event date: compact visual date block instead of a long sentence. */
.rand0m-post-event-date-compact {
  display:flex;
  align-items:baseline;
  gap:.55rem;
  white-space:nowrap;
}
.rand0m-post-event-date .rand0m-post-event-day {
  font-family:var(--wp--preset--font-family--display);
  font-size:clamp(2.6rem,4.2vw,4rem);
  font-weight:800;
  line-height:.82;
  letter-spacing:-.045em;
  color:var(--rand0m-ink);
}
.rand0m-post-event-monthyear {
  font:800 .8rem/1 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:.045em;
  text-transform:uppercase;
  color:var(--rand0m-ink);
}

@media (max-width:781px) {
  .rand0m-agenda-hero {
    grid-template-columns:1fr;
    min-height:0;
  }
  .rand0m-agenda-hero-image {
    min-height:24rem;
    background-image:url("assets/hero-portrait.jpg");
    background-position:center 40%;
  }
  .rand0m-agenda-hero-panel {
    padding:2.5rem 20px 3rem;
  }
  .rand0m-agenda-hero-panel h1 {
    font-size:clamp(3.5rem,15vw,5.3rem);
    margin-bottom:1rem;
  }
  .rand0m-post-event-date-compact {
    gap:.45rem;
  }
}


/* =========================================================
   v2.0.48 — desktop type scale + unified photographic heroes
   ========================================================= */

/* Desktop navigation: readable without becoming visually dominant. */
@media (min-width: 1000px) {
  .rand0m-header-v2 .wp-block-navigation-item__content {
    font-family:'Oswald','Arial Narrow',Arial,sans-serif;
    font-size:.96rem;
    font-weight:600;
    line-height:1;
    letter-spacing:.045em;
    text-transform:uppercase;
  }

  .rand0m-header-v2 .wp-block-navigation__container {
    gap:clamp(.9rem,1.4vw,1.45rem);
  }

  .rand0m-header-v2 .wp-block-button__link {
    font-size:.9rem;
    font-weight:650;
    padding:.82rem 1.25rem;
  }

  /* Homepage hierarchy. */
  .rand0m-v2-hero-title {
    font-size:clamp(5rem,8.2vw,7.7rem);
    line-height:.82;
  }

  .rand0m-v2-tagline {
    font-size:clamp(1.05rem,1.35vw,1.35rem);
  }

  .rand0m-v2-mega {
    font-size:clamp(3.25rem,4.5vw,4.9rem);
  }

  .rand0m-v2-shows-panel h2,
  .rand0m-v2-news-heading,
  .rand0m-v2-media-head h2,
  .rand0m-v2-video-copy h2 {
    font-size:clamp(3.1rem,4.2vw,4.55rem);
  }

  .rand0m-v2-final-cta h2 {
    font-size:clamp(3.1rem,4.3vw,4.7rem);
  }

  /* Page heroes: one consistent desktop scale. */
  .rand0m-about-hero-copy h1,
  .rand0m-media-hero-copy h1,
  .rand0m-release-hero-copy h1,
  .rand0m-news-hero-copy h1,
  .rand0m-contact-hero h1,
  .rand0m-agenda-hero-panel h1 {
    font-size:clamp(3.8rem,5.4vw,5.9rem);
    line-height:.88;
  }

  /* Major section headings on internal pages. */
  .rand0m-about-big,
  .rand0m-about-split-copy h2,
  .rand0m-media-intro h2,
  .rand0m-media-press-photos h2,
  .rand0m-media-kit h2,
  .rand0m-contact-copy h2,
  .rand0m-releases-heading h2,
  .rand0m-releases-empty h2,
  .rand0m-news-index-empty h2,
  .rand0m-agenda-list-inner h2 {
    font-size:clamp(3rem,4.25vw,4.75rem);
  }

  /* Cards and editorial pages should not compete with page heroes. */
  .rand0m-release-card h3 {
    font-size:clamp(2rem,2.45vw,2.8rem);
  }

  .rand0m-news-index-card h2 {
    font-size:clamp(1.9rem,2.15vw,2.45rem);
  }

  .rand0m-post-title {
    font-size:clamp(3.4rem,5vw,5.7rem);
  }
}

/* One restrained photographic treatment across all hero images.
   Text-specific gradients remain slightly stronger on the left, but the
   overall darkness is now intentionally the same family everywhere. */
.rand0m-v2-hero::before,
.rand0m-about-hero-shade,
.rand0m-media-hero-shade,
.rand0m-release-hero-shade,
.rand0m-news-hero-shade {
  background:
    linear-gradient(90deg,
      rgba(5,6,7,.38) 0%,
      rgba(5,6,7,.20) 42%,
      rgba(5,6,7,.10) 76%,
      rgba(5,6,7,.12) 100%),
    linear-gradient(180deg,
      rgba(5,6,7,.10) 0%,
      rgba(5,6,7,.06) 54%,
      rgba(5,6,7,.22) 100%) !important;
}

/* Media historically had an extra pseudo-element shade as well as its
   explicit shade element. Disable the duplicate layer. */
.rand0m-media-hero::before {
  background:none !important;
}

/* Agenda has a split hero: give its photo the same restrained treatment. */
.rand0m-agenda-hero-image {
  position:relative;
  overflow:hidden;
}
.rand0m-agenda-hero-image::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(5,6,7,.22) 0%,
      rgba(5,6,7,.10) 60%,
      rgba(5,6,7,.16) 100%),
    linear-gradient(180deg,
      rgba(5,6,7,.08) 0%,
      rgba(5,6,7,.16) 100%);
}

/* Keep mobile typography/art direction as designed; only normalize the photo
   darkness there so changing orientation does not change the brand feel. */
@media (max-width: 781px) {
  .rand0m-v2-hero::before,
  .rand0m-about-hero-shade,
  .rand0m-media-hero-shade,
  .rand0m-release-hero-shade,
  .rand0m-news-hero-shade {
    background:
      linear-gradient(180deg,
        rgba(5,6,7,.14) 0%,
        rgba(5,6,7,.08) 48%,
        rgba(5,6,7,.34) 100%) !important;
  }
}



/* =========================================================
   v2.0.50 — single hero system
   ========================================================= */

.rand0m-v2-home,
.rand0m-about-page,
.rand0m-agenda-page,
.rand0m-news-page,
.rand0m-release-page,
.rand0m-media-page,
.rand0m-contact-page,
.rand0m-booking-page {
  margin-block-start:0 !important;
  --wp--style--block-gap:0;
}
.rand0m-v2-home > *,
.rand0m-about-page > *,
.rand0m-agenda-page > *,
.rand0m-news-page > *,
.rand0m-release-page > *,
.rand0m-media-page > *,
.rand0m-contact-page > *,
.rand0m-booking-page > * { margin-block-start:0 !important; }

.rand0m-page-hero {
  position:relative !important;
  height:34rem !important;
  min-height:34rem !important;
  max-height:34rem !important;
  overflow:hidden !important;
  isolation:isolate;
  background:#090b0d;
  color:#fff;
}
.rand0m-page-hero-image {
  position:absolute !important;
  inset:0 !important;
  width:100%;
  height:100% !important;
  min-height:0 !important;
  background:url("assets/hero-wide.jpg") center 50%/cover no-repeat !important;
  z-index:0;
}
.rand0m-page-hero-shade {
  position:absolute !important;
  inset:0 !important;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(5,6,7,.46) 0%,rgba(5,6,7,.24) 35%,rgba(5,6,7,.09) 68%,rgba(5,6,7,.06) 100%),
    linear-gradient(180deg,rgba(5,6,7,.11) 0%,rgba(5,6,7,.03) 56%,rgba(5,6,7,.18) 100%) !important;
}
.rand0m-page-hero-copy {
  position:absolute !important;
  z-index:3 !important;
  top:2.15rem !important;
  bottom:auto !important;
  left:max(20px,calc((100% - 1240px)/2)) !important;
  right:20px !important;
  width:auto !important;
  max-width:min(58rem,68%) !important;
  color:#fff;
}
.rand0m-page-hero-copy .rand0m-v2-section-label { color:#fff; margin-bottom:.85rem; }
.rand0m-page-hero-copy h1 {
  margin:0 !important;
  max-width:11ch;
  color:#fff !important;
  font:700 clamp(3.9rem,5vw,5.55rem)/.87 'Oswald','Arial Narrow',sans-serif !important;
  letter-spacing:-.04em;
  text-transform:uppercase;
  text-wrap:balance;
}
.rand0m-about-hero-copy h1 span { color:var(--rand0m-red); }
.rand0m-page-hero::after {
  content:"";
  position:absolute;
  z-index:2;
  right:-2.5rem;
  bottom:1.1rem;
  width:clamp(12rem,20vw,20rem);
  aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat;
  opacity:.80;
  pointer-events:none;
}
.rand0m-about-hero::after,
.rand0m-media-hero::after,
.rand0m-release-hero::after,
.rand0m-news-hero::after { content:none !important; }
.rand0m-media-hero::before { content:none !important; }
.rand0m-agenda-hero { display:block !important; grid-template-columns:none !important; }
.rand0m-agenda-hero-image::after { content:none !important; }

.rand0m-v2-hero {
  position:relative;
  height:34rem !important;
  min-height:34rem !important;
  max-height:34rem !important;
  aspect-ratio:auto !important;
  overflow:hidden;
  isolation:isolate;
  background:#090b0d;
}
.rand0m-v2-hero .rand0m-hero-media,
.rand0m-v2-hero .rand0m-hero-media picture,
.rand0m-v2-hero .rand0m-hero-media img {
  position:absolute !important; inset:0 !important; top:0 !important;
  width:100% !important; height:100% !important;
}
.rand0m-v2-hero .rand0m-hero-media img { object-fit:cover !important; object-position:center 50% !important; }
.rand0m-v2-hero::before {
  content:""; position:absolute; inset:0 !important; z-index:1; pointer-events:none;
  background:
    linear-gradient(90deg,rgba(5,6,7,.46) 0%,rgba(5,6,7,.24) 35%,rgba(5,6,7,.09) 68%,rgba(5,6,7,.06) 100%),
    linear-gradient(180deg,rgba(5,6,7,.11) 0%,rgba(5,6,7,.03) 56%,rgba(5,6,7,.18) 100%) !important;
}
.rand0m-v2-hero-overlay {
  position:absolute !important; inset:0 !important; height:auto !important; z-index:3;
  display:block !important; padding:0 !important; background:transparent !important;
}
.rand0m-v2-hero-inner {
  position:absolute; top:2.15rem;
  left:max(20px,calc((100% - 1240px)/2)); right:20px;
  width:auto; max-width:min(58rem,68%); margin:0; color:#fff;
}
.rand0m-home-kicker { color:#fff !important; margin:0 0 .85rem !important; }
.rand0m-v2-hero-title {
  margin:0 !important; color:#fff;
  font-size:clamp(5rem,6.2vw,6.8rem) !important;
  line-height:.80 !important; letter-spacing:-.05em;
  text-shadow:0 2px 20px rgba(0,0,0,.24);
}
.rand0m-v2-hero::after {
  right:-2.5rem !important; bottom:1.1rem !important;
  width:clamp(12rem,20vw,20rem) !important; opacity:.80 !important;
}

.rand0m-solid-hero {
  position:relative;
  min-height:28rem !important; height:28rem !important; max-height:28rem !important;
  box-sizing:border-box; padding:0 !important; margin:0 !important;
  overflow:hidden; background:#090b0d !important; color:#fff;
}
.rand0m-solid-hero-inner {
  position:absolute !important; top:4rem;
  left:max(20px,calc((100% - 1240px)/2)); right:20px;
  width:auto !important; max-width:46rem; margin:0 !important; z-index:2;
}
.rand0m-solid-hero .rand0m-v2-section-label { color:#fff; margin-bottom:.85rem; }
.rand0m-solid-hero h1,
.rand0m-solid-hero .wp-block-post-title {
  margin:0 0 .8rem !important; color:#fff !important;
  font:700 clamp(3.9rem,5vw,5.55rem)/.87 'Oswald','Arial Narrow',sans-serif !important;
  letter-spacing:-.04em; text-transform:uppercase;
}
.rand0m-solid-hero-inner > p:last-child {
  max-width:42rem; margin:0; color:rgba(255,255,255,.76);
  font-size:clamp(1.05rem,1.3vw,1.2rem); line-height:1.55;
}
.rand0m-solid-hero::after {
  content:""; position:absolute; right:-2.5rem; bottom:-.6rem;
  width:clamp(14rem,25vw,24rem); aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat;
  opacity:.80; pointer-events:none;
}
.rand0m-contact-hero { padding:0 !important; }
.rand0m-contact-hero::after { right:-2.5rem !important; bottom:-.6rem !important; }

@media (min-width:1000px) {
  .rand0m-header-v2 .wp-block-navigation-item__content { font-size:1rem !important; }
  .rand0m-v2-mega,
  .rand0m-v2-shows-panel h2,
  .rand0m-v2-news-heading,
  .rand0m-v2-media-head h2,
  .rand0m-v2-video-copy h2,
  .rand0m-v2-final-cta h2,
  .rand0m-about-big,
  .rand0m-about-split-copy h2,
  .rand0m-media-intro h2,
  .rand0m-media-press-photos h2,
  .rand0m-media-kit h2,
  .rand0m-contact-copy h2,
  .rand0m-releases-heading h2,
  .rand0m-releases-empty h2,
  .rand0m-news-index-empty h2,
  .rand0m-agenda-list-inner h2 { font-size:clamp(3rem,4vw,4.5rem) !important; }
}

@media (max-width:781px) {
  .rand0m-page-hero { height:34rem !important; min-height:34rem !important; max-height:34rem !important; }
  .rand0m-page-hero-image { background-image:url("assets/hero-portrait.jpg") !important; background-position:center 40% !important; }
  .rand0m-page-hero-copy { top:2rem !important; left:20px !important; right:20px !important; max-width:calc(100% - 40px) !important; }
  .rand0m-page-hero-copy h1 { max-width:10ch; font-size:clamp(3.15rem,13vw,4.7rem) !important; }
  .rand0m-page-hero::after { right:-2.3rem; bottom:1rem; width:clamp(10rem,42vw,15rem); }

  .rand0m-v2-hero { height:auto !important; min-height:0 !important; max-height:none !important; }

  .rand0m-solid-hero { height:25rem !important; min-height:25rem !important; max-height:25rem !important; }
  .rand0m-solid-hero-inner { top:3rem; left:20px; right:20px; }
}


/* v2.0.51 — exact vertical alignment of homepage hero with page heroes */
@media (min-width:782px) {
  .rand0m-v2-hero-inner {
    top:2.15rem !important;
    padding-top:0 !important;
  }
}


/* =========================================================
   v2.0.52 — compact agenda layout on every screen
   ========================================================= */

/* Agenda is intentionally white now. The previous warm paper tone reduced
   contrast in the thin separators and made the list feel more spread out. */
.rand0m-agenda-list-section,
.rand0m-agenda-past-section {
  background:#fff !important;
}

/* Keep the agenda itself compact on wide screens instead of stretching event
   information and actions across the full 1240px content width. */
.rand0m-agenda-list-inner {
  width:min(100%, 980px) !important;
  margin-inline:auto;
}

/* Always use the compact two-column pattern:
   date | event details
          status/action */
.rand0m-agenda-list-inner .rand0m-event {
  display:grid !important;
  grid-template-columns:5.5rem minmax(0,1fr) !important;
  grid-template-rows:auto auto;
  column-gap:1.35rem !important;
  row-gap:.55rem !important;
  align-items:start !important;
  min-height:0 !important;
  padding:1.6rem 0 !important;
  border-bottom:1px solid #d9d9d9 !important;
}

.rand0m-agenda-list-inner .rand0m-events {
  border-top:1px solid #d9d9d9 !important;
}

.rand0m-agenda-list-inner .rand0m-event-date {
  grid-column:1;
  grid-row:1 / span 2;
  align-self:start;
}

.rand0m-agenda-list-inner .rand0m-event-info {
  grid-column:2;
  grid-row:1;
  min-width:0;
}

.rand0m-agenda-list-inner .rand0m-event-action {
  grid-column:2 !important;
  grid-row:2;
  justify-self:start !important;
  text-align:left !important;
  margin:0 !important;
}

.rand0m-agenda-list-inner .rand0m-event-title {
  font-size:clamp(1.25rem,1.8vw,1.55rem);
}

.rand0m-agenda-list-inner .rand0m-event-meta {
  margin-top:.25rem;
  font-size:1rem;
}

.rand0m-agenda-list-inner .rand0m-event-link {
  display:inline-block;
  margin-top:.15rem;
}

/* The archive should remain visually quieter without becoming washed out. */
.rand0m-agenda-list-inner .rand0m-events--past .rand0m-event {
  opacity:.72;
}

/* On very wide screens keep the compact composition left-aligned within the
   page rhythm rather than letting it feel like a narrow floating card. */
@media (min-width:1200px) {
  .rand0m-agenda-list-inner {
    margin-left:max(0px, calc((100% - 1240px) / 2));
    margin-right:auto;
  }
}

@media (max-width:781px) {
  .rand0m-agenda-list-inner {
    width:100% !important;
  }

  .rand0m-agenda-list-inner .rand0m-event {
    grid-template-columns:4.8rem minmax(0,1fr) !important;
    column-gap:1rem !important;
    padding:1.35rem 0 !important;
  }
}


/* =========================================================
   v2.0.53 — homepage News follows the compact Agenda rhythm
   ========================================================= */

.rand0m-v2-news-list-section {
  background:#fff !important;
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px) !important;
}

.rand0m-v2-news-list-layout {
  display:block !important;
  width:min(100%,980px) !important;
  max-width:980px !important;
  margin-inline:auto !important;
}

.rand0m-v2-news-list-intro {
  position:static !important;
  margin-bottom:clamp(2rem,4vw,3rem);
}

.rand0m-v2-news-list-section .rand0m-v2-news-heading {
  margin:.2rem 0 0 !important;
  font-size:clamp(3rem,4vw,4.5rem) !important;
  line-height:.9 !important;
  letter-spacing:-.035em;
}

.rand0m-v2-news-list-query {
  margin:0 !important;
}

.rand0m-v2-news-list {
  margin:0 !important;
  padding:0 !important;
  border-top:1px solid #d9d9d9;
}

.rand0m-v2-news-list-item {
  display:block !important;
  position:relative;
  padding:1.55rem 0 !important;
  border-top:0 !important;
  border-bottom:1px solid #d9d9d9 !important;
}

.rand0m-v2-news-list > li:last-child .rand0m-v2-news-list-item {
  border-bottom:1px solid #d9d9d9 !important;
}

.rand0m-v2-news-list-meta {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .7rem;
  align-items:center;
  margin:0 0 .55rem;
  color:#666;
  font:600 .74rem/1 'Oswald','Arial Narrow',sans-serif;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.rand0m-v2-news-list-title {
  margin:0 !important;
  font-size:clamp(1.55rem,2.25vw,2.15rem) !important;
  line-height:1 !important;
  letter-spacing:-.02em;
}

.rand0m-v2-news-list-title a {
  display:inline-block;
  color:#111;
  text-decoration:none;
}

.rand0m-v2-news-list-title a:hover,
.rand0m-v2-news-list-title a:focus-visible {
  color:var(--rand0m-red);
}

/* The old arrow looked clickable but wasn't. It is deliberately removed. */
.rand0m-v2-news-list-arrow {
  display:none !important;
}

.rand0m-v2-news-list-section .rand0m-v2-news-link {
  margin:1.6rem 0 0 !important;
}

.rand0m-v2-news-list-section .rand0m-v2-news-link a {
  display:inline-block;
  padding:.78rem 1rem;
  border:1px solid #111;
  color:#111;
  background:#fff;
  font:600 .8rem/1 'Oswald','Arial Narrow',sans-serif;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.rand0m-v2-news-list-section .rand0m-v2-news-link a:hover,
.rand0m-v2-news-list-section .rand0m-v2-news-link a:focus-visible {
  background:#111;
  color:#fff;
}

@media (max-width:781px) {
  .rand0m-v2-news-list-layout {
    width:100% !important;
  }
  .rand0m-v2-news-list-section .rand0m-v2-news-heading {
    font-size:clamp(3rem,14vw,4.8rem) !important;
  }
  .rand0m-v2-news-list-item {
    padding:1.35rem 0 !important;
  }
  .rand0m-v2-news-list-title {
    font-size:clamp(1.55rem,8vw,2.15rem) !important;
  }
}


/* =========================================================
   v2.0.54 — dates with context + Agenda-style homepage news
   ========================================================= */

/* Event dates: day on the left, month/year stacked subtly on the right. */
.rand0m-event-date {
  display:grid !important;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
  align-items:baseline;
  justify-content:start;
  column-gap:.48rem;
  row-gap:.12rem;
  white-space:nowrap;
}
.rand0m-event-day {
  grid-column:1;
  grid-row:1 / span 2;
}
.rand0m-event-month {
  grid-column:2;
  grid-row:1;
}
.rand0m-event-year {
  grid-column:2;
  grid-row:2;
  color:var(--rand0m-muted);
  font:600 .62rem/1 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:.04em;
}

/* In the black homepage Agenda panel the year stays deliberately quiet. */
.rand0m-v2-shows-panel .rand0m-event-year {
  color:rgba(255,255,255,.48);
}

/* Homepage news rows now use the same visual grammar as the Agenda. */
.rand0m-v2-news-list-item {
  display:grid !important;
  grid-template-columns:5.5rem minmax(0,1fr) !important;
  grid-template-rows:auto;
  column-gap:1.35rem !important;
  align-items:start !important;
  padding:1.55rem 0 !important;
}

.rand0m-post-date-compact {
  grid-column:1;
  display:grid;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
  align-items:baseline;
  justify-content:start;
  column-gap:.48rem;
  row-gap:.12rem;
  white-space:nowrap;
  color:#111;
}

.rand0m-post-date-day {
  grid-column:1;
  grid-row:1 / span 2;
  font:700 clamp(2.15rem,3vw,3rem)/.9 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:-.04em;
}

.rand0m-post-date-month {
  grid-column:2;
  grid-row:1;
  font:700 .76rem/1 'Oswald','Arial Narrow',sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.rand0m-post-date-year {
  grid-column:2;
  grid-row:2;
  color:#777;
  font:600 .62rem/1 'Oswald','Arial Narrow',sans-serif;
  letter-spacing:.04em;
}

.rand0m-v2-news-list-info {
  grid-column:2;
  min-width:0;
  margin:0 !important;
}

.rand0m-v2-news-list-title {
  margin:0 0 .45rem !important;
  font-size:clamp(1.35rem,2vw,1.8rem) !important;
  line-height:1.08 !important;
}

.rand0m-v2-news-list-info .rand0m-news-card-label {
  display:block;
  margin:0;
  color:var(--rand0m-red);
  font:700 .76rem/1 'Oswald','Arial Narrow',sans-serif;
  text-transform:uppercase;
  letter-spacing:.055em;
}

@media (max-width:781px) {
  .rand0m-v2-news-list-item {
    grid-template-columns:4.8rem minmax(0,1fr) !important;
    column-gap:1rem !important;
  }
  .rand0m-v2-news-list-title {
    font-size:clamp(1.3rem,6.3vw,1.75rem) !important;
  }
}


/* v2.0.55 — restore the shared Rand0M hero mark.
   Earlier hero cleanup disabled page-specific ::after layers with
   content:none!important, which also suppressed the shared hero mark on
   elements carrying both classes. This final rule deliberately wins. */
.rand0m-page-hero::after {
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  right:-2.5rem !important;
  bottom:1.1rem !important;
  width:clamp(12rem,20vw,20rem) !important;
  aspect-ratio:820/360;
  background:url("assets/rand0m-stripes.svg") center/contain no-repeat !important;
  opacity:.80 !important;
  pointer-events:none;
}

@media (max-width:781px) {
  .rand0m-page-hero::after {
    right:-2.3rem !important;
    bottom:1rem !important;
    width:clamp(10rem,42vw,15rem) !important;
  }
}


/* =========================================================
   v2.0.56 — unified list, navigation and intro typography
   ========================================================= */

/* Agenda and News use the same compact date scale. */
.rand0m-agenda-list-inner .rand0m-event-day,
.rand0m-post-date-day {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:clamp(2.15rem,3vw,3rem) !important;
  font-weight:700 !important;
  line-height:.9 !important;
  letter-spacing:-.04em !important;
}

.rand0m-agenda-list-inner .rand0m-event-month,
.rand0m-post-date-month {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:.76rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase;
}

.rand0m-agenda-list-inner .rand0m-event-year,
.rand0m-post-date-year {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:.62rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
}

/* One title size between the previous Agenda and News extremes. */
.rand0m-agenda-list-inner .rand0m-event-title,
.rand0m-v2-news-list-title {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:clamp(1.4rem,1.7vw,1.7rem) !important;
  font-weight:600 !important;
  line-height:1.08 !important;
  letter-spacing:-.015em !important;
}

.rand0m-v2-news-list-title a,
.rand0m-agenda-list-inner .rand0m-event-title a {
  font-weight:inherit !important;
}

/* Desktop navigation: substantially closer to the visual scale of the
   Rand0M wordmark while preserving enough room for the full menu. */
@media (min-width:1200px) {
  .rand0m-header-v2 .wp-block-navigation-item__content {
    font-family:'Oswald','Arial Narrow',sans-serif !important;
    font-size:1.22rem !important;
    font-weight:600 !important;
    line-height:1 !important;
    letter-spacing:.025em !important;
  }

  .rand0m-header-v2 .wp-block-navigation__container {
    gap:clamp(.75rem,1.05vw,1.1rem) !important;
  }

  .rand0m-header-v2 .wp-block-button__link {
    font-size:1.08rem !important;
    font-weight:600 !important;
  }
}

/* The two homepage intro texts are the same typographic voice. */
.rand0m-v2-lead,
.rand0m-v2-video-copy > p:not(.rand0m-v2-section-label):not(.rand0m-v2-panel-link) {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:clamp(1.15rem,1.35vw,1.35rem) !important;
  font-weight:400 !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
}

@media (max-width:781px) {
  .rand0m-agenda-list-inner .rand0m-event-title,
  .rand0m-v2-news-list-title {
    font-size:clamp(1.3rem,6.2vw,1.65rem) !important;
  }

  .rand0m-v2-lead,
  .rand0m-v2-video-copy > p:not(.rand0m-v2-section-label):not(.rand0m-v2-panel-link) {
    font-size:1.15rem !important;
  }
}


/* =========================================================
   v2.0.57 — editable prose + Oswald Regular body system
   ========================================================= */

:root {
  --rand0m-body-oswald-size: clamp(1.15rem,1.35vw,1.35rem);
  --rand0m-body-oswald-line: 1.45;
}

/* Over Rand0M is now ordinary editable WordPress page content. */
.rand0m-about-editorial {
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px);
  background:#fff;
}
.rand0m-about-editorial-inner {
  width:min(100%,980px);
  margin-inline:auto;
}
.rand0m-about-editorial .wp-block-post-content {
  max-width:46rem;
}
.rand0m-about-editorial .wp-block-post-content p {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:var(--rand0m-body-oswald-size) !important;
  font-weight:400 !important;
  font-style:normal !important;
  line-height:var(--rand0m-body-oswald-line) !important;
  letter-spacing:0 !important;
}
.rand0m-about-editorial .wp-block-post-content strong,
.rand0m-about-editorial .wp-block-post-content b,
.rand0m-about-editorial .wp-block-post-content em,
.rand0m-about-editorial .wp-block-post-content i {
  font-weight:400 !important;
  font-style:normal !important;
}
.rand0m-about-editorial .wp-block-post-content h2 {
  margin:2.2em 0 .65em;
  font-family:'Oswald','Arial Narrow',sans-serif;
  font-size:clamp(2.4rem,3.6vw,3.8rem);
  line-height:.95;
  text-transform:uppercase;
}
.rand0m-about-editorial .wp-block-post-content h2:first-child {
  margin-top:0;
}

/* The same regular Oswald voice for ordinary page copy. */
.rand0m-media-page .rand0m-media-intro-copy p,
.rand0m-media-page .rand0m-media-kit-card p,
.rand0m-media-page .rand0m-media-extra p,
.rand0m-release-page .rand0m-release-description,
.rand0m-release-page .rand0m-release-description p,
.rand0m-release-page .rand0m-releases-empty > p:last-child,
.rand0m-booking-page .rand0m-booking-main p,
.rand0m-booking-page .rand0m-booking-main li,
.rand0m-booking-page .rand0m-booking-main .description,
.rand0m-contact-page .rand0m-contact-copy p {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:var(--rand0m-body-oswald-size) !important;
  font-weight:400 !important;
  font-style:normal !important;
  line-height:var(--rand0m-body-oswald-line) !important;
  letter-spacing:0 !important;
}

/* No accidental bold/italic emphasis in normal prose on these pages. */
.rand0m-media-page p strong,
.rand0m-media-page p b,
.rand0m-media-page p em,
.rand0m-media-page p i,
.rand0m-release-page .rand0m-release-description strong,
.rand0m-release-page .rand0m-release-description b,
.rand0m-release-page .rand0m-release-description em,
.rand0m-release-page .rand0m-release-description i,
.rand0m-booking-page .rand0m-booking-main p strong,
.rand0m-booking-page .rand0m-booking-main p b,
.rand0m-booking-page .rand0m-booking-main p em,
.rand0m-booking-page .rand0m-booking-main p i,
.rand0m-contact-page .rand0m-contact-copy p strong,
.rand0m-contact-page .rand0m-contact-copy p b,
.rand0m-contact-page .rand0m-contact-copy p em,
.rand0m-contact-page .rand0m-contact-copy p i {
  font-weight:400 !important;
  font-style:normal !important;
}

/* News artwork is predominantly social/Instagram material: square crops are
   more natural and give the overview a calmer, repeatable rhythm. */
.rand0m-news-index-image {
  aspect-ratio:1 / 1 !important;
}

/* Do not let generic rules turn normal release copy back into a sans body. */
.rand0m-release-description {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-weight:400 !important;
}

/* Mobile keeps the same text size as the homepage intro copy. */
@media (max-width:781px) {
  :root {
    --rand0m-body-oswald-size: 1.15rem;
  }
}


/* =========================================================
   v2.0.58 — rich editable Over Rand0M block composition
   ========================================================= */

.rand0m-about-block-content {
  margin:0 !important;
}

/* First editorial section: same two-column composition as before, but all
   copy is ordinary Gutenberg content. */
.rand0m-about-block-content .rand0m-about-story {
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px) !important;
  background:#fff !important;
}

.rand0m-about-story-columns {
  gap:clamp(2.5rem,6vw,6rem) !important;
}

.rand0m-about-block-content .rand0m-about-prose p,
.rand0m-about-block-content .rand0m-about-split-copy p:not(.rand0m-v2-section-label),
.rand0m-about-block-content .rand0m-about-values-grid-block p {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:var(--rand0m-body-oswald-size) !important;
  font-weight:400 !important;
  font-style:normal !important;
  line-height:var(--rand0m-body-oswald-line) !important;
  letter-spacing:0 !important;
}

.rand0m-about-block-content p strong,
.rand0m-about-block-content p b,
.rand0m-about-block-content p em,
.rand0m-about-block-content p i {
  font-weight:400 !important;
  font-style:normal !important;
}

/* Editable image + black copy panel. */
.rand0m-about-split-block {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  gap:0 !important;
  background:#080a0c;
  color:#fff;
}

.rand0m-about-split-media {
  min-height:42rem;
  overflow:hidden;
}

.rand0m-about-editable-image {
  width:100%;
  height:100%;
  margin:0 !important;
}

.rand0m-about-editable-image img {
  display:block;
  width:100% !important;
  height:42rem !important;
  object-fit:cover;
  object-position:center 48%;
}

.rand0m-about-block-content .rand0m-about-split-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(3rem,6vw,6rem) !important;
  background:#080a0c;
}

.rand0m-about-block-content .rand0m-about-split-copy .rand0m-v2-section-label {
  color:#fff;
}

.rand0m-about-block-content .rand0m-about-split-copy h2 {
  margin:.25rem 0 1.5rem !important;
  max-width:13ch;
  color:#fff !important;
  font-family:'Oswald','Arial Narrow',sans-serif;
  font-size:clamp(3rem,5.1vw,5rem) !important;
  font-weight:700;
  line-height:.9;
  letter-spacing:-.03em;
  text-transform:uppercase;
}

.rand0m-about-block-content .rand0m-about-split-copy p:not(.rand0m-v2-section-label) {
  max-width:34rem;
  color:rgba(255,255,255,.82) !important;
}

/* Values section remains visually structured, but every title and paragraph
   is a normal editable block. */
.rand0m-about-block-content .rand0m-about-values {
  padding:clamp(4rem,8vw,7rem) clamp(20px,4vw,48px) !important;
  background:#fff !important;
}

.rand0m-about-values-grid-block {
  gap:0 !important;
  margin-top:clamp(2rem,4vw,3rem) !important;
  border-top:1px solid #ddd;
}

.rand0m-about-values-grid-block > .wp-block-column {
  padding:2rem 2rem 0 0;
  border-right:1px solid #ddd;
}

.rand0m-about-values-grid-block > .wp-block-column + .wp-block-column {
  padding-left:2rem;
}

.rand0m-about-values-grid-block > .wp-block-column:last-child {
  border-right:0;
}

.rand0m-about-values-grid-block h3 {
  margin:0 0 .75rem;
  font:700 clamp(2rem,3vw,3rem)/1 'Oswald','Arial Narrow',sans-serif !important;
  text-transform:uppercase;
}

/* The v2.0.57 plain editorial wrapper is obsolete. */
.rand0m-about-editorial {
  padding:0 !important;
}

@media (max-width:781px) {
  .rand0m-about-story-columns {
    gap:2rem !important;
  }

  .rand0m-about-split-block {
    display:block !important;
  }

  .rand0m-about-split-media {
    min-height:28rem;
  }

  .rand0m-about-editable-image img {
    height:28rem !important;
  }

  .rand0m-about-block-content .rand0m-about-split-copy {
    padding:3rem 20px !important;
  }

  .rand0m-about-values-grid-block {
    display:block !important;
  }

  .rand0m-about-values-grid-block > .wp-block-column,
  .rand0m-about-values-grid-block > .wp-block-column + .wp-block-column {
    padding:1.6rem 0 !important;
    border-right:0 !important;
    border-bottom:1px solid #ddd;
  }

  .rand0m-about-values-grid-block > .wp-block-column:last-child {
    border-bottom:0;
  }
}


/* =========================================================
   v2.0.59 — homepage Agenda + News use one exact type scale
   ========================================================= */

/* Section titles: "Hier moet je zijn!" and "Laatste nieuws" are peers. */
.rand0m-v2-shows-panel h2,
.rand0m-v2-news-list-section .rand0m-v2-news-heading {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:clamp(3.15rem,5vw,4.25rem) !important;
  font-weight:700 !important;
  line-height:.9 !important;
  letter-spacing:-.035em !important;
  text-transform:uppercase !important;
}

/* Home Agenda and Home News use exactly the same date treatment. */
.rand0m-v2-shows-panel .rand0m-event-day,
.rand0m-post-date-day {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:clamp(2.15rem,3vw,3rem) !important;
  font-weight:700 !important;
  line-height:.9 !important;
  letter-spacing:-.04em !important;
}

.rand0m-v2-shows-panel .rand0m-event-month,
.rand0m-post-date-month {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:.76rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

.rand0m-v2-shows-panel .rand0m-event-year,
.rand0m-post-date-year {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:.62rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
}

/* Same item-title scale: between the old small Agenda and heavy News. */
.rand0m-v2-shows-panel .rand0m-event-title,
.rand0m-v2-shows-panel .rand0m-event-title a,
.rand0m-v2-news-list-title,
.rand0m-v2-news-list-title a {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:clamp(1.4rem,1.7vw,1.7rem) !important;
  font-weight:600 !important;
  line-height:1.08 !important;
  letter-spacing:-.015em !important;
}

/* Secondary lines under the title also share a common visual scale. */
.rand0m-v2-shows-panel .rand0m-event-meta {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:1rem !important;
  font-weight:400 !important;
  line-height:1.35 !important;
  letter-spacing:0 !important;
}

.rand0m-v2-shows-panel .rand0m-event-link,
.rand0m-v2-news-list-info .rand0m-news-card-label {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:.82rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}

/* Remove older mobile-only inflation of News. */
@media (max-width:781px) {
  .rand0m-v2-shows-panel h2,
  .rand0m-v2-news-list-section .rand0m-v2-news-heading {
    font-size:clamp(3rem,11vw,4rem) !important;
  }

  .rand0m-v2-shows-panel .rand0m-event-day,
  .rand0m-post-date-day {
    font-size:clamp(2.15rem,9vw,2.75rem) !important;
  }

  .rand0m-v2-shows-panel .rand0m-event-title,
  .rand0m-v2-shows-panel .rand0m-event-title a,
  .rand0m-v2-news-list-title,
  .rand0m-v2-news-list-title a {
    font-size:clamp(1.35rem,5.6vw,1.6rem) !important;
  }
}


/* =========================================================
   v2.0.60 — one homepage heading scale + booking hierarchy
   ========================================================= */

/* These are all equal-level editorial headings on the homepage.
   Keep one authoritative rule so older section-specific rules cannot diverge. */
.rand0m-v2-about .rand0m-v2-mega,
.rand0m-v2-shows-panel h2,
.rand0m-v2-news-list-section .rand0m-v2-news-heading,
.rand0m-v2-media-head h2,
.rand0m-v2-video-copy h2,
.rand0m-v2-final-cta h2 {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:clamp(3.15rem,4.25vw,4.5rem) !important;
  font-weight:700 !important;
  line-height:.9 !important;
  letter-spacing:-.03em !important;
  text-transform:uppercase !important;
}

/* Booking on the homepage follows the same label -> title hierarchy. */
.rand0m-v2-final-cta .rand0m-v2-booking-heading {
  display:block !important;
}

.rand0m-v2-final-cta .rand0m-v2-booking-heading .rand0m-v2-section-label {
  display:flex !important;
  margin:0 0 .8rem !important;
  color:#fff !important;
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:.76rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.rand0m-v2-final-cta .rand0m-v2-booking-heading h2 {
  margin:0 !important;
}

/* Normal booking intro copy matches the site's Oswald Regular body voice. */
.rand0m-v2-final-cta .rand0m-v2-booking-copy p,
.rand0m-booking-hero .rand0m-solid-hero-inner > p:last-child {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:var(--rand0m-body-oswald-size, clamp(1.15rem,1.35vw,1.35rem)) !important;
  font-weight:400 !important;
  font-style:normal !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
}

/* Booking page: the same small kicker above the large page title. */
.rand0m-booking-hero .rand0m-v2-section-label {
  display:flex !important;
  margin:0 0 .85rem !important;
  color:#fff !important;
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:.76rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.rand0m-booking-hero .rand0m-v2-section-label::before {
  content:"" !important;
  width:2.2rem !important;
  height:3px !important;
  flex:0 0 2.2rem !important;
  background:var(--rand0m-red) !important;
}

.rand0m-booking-hero h1 {
  margin:0 0 .8rem !important;
}

/* Mobile: still one exact heading size across all homepage sections. */
@media (max-width:781px) {
  .rand0m-v2-about .rand0m-v2-mega,
  .rand0m-v2-shows-panel h2,
  .rand0m-v2-news-list-section .rand0m-v2-news-heading,
  .rand0m-v2-media-head h2,
  .rand0m-v2-video-copy h2,
  .rand0m-v2-final-cta h2 {
    font-size:clamp(2.8rem,11vw,3.8rem) !important;
    line-height:.91 !important;
  }
}


/* =========================================================
   v2.0.62 — Contact typography consistency
   ========================================================= */

/* Contact hero intro = the same Oswald Regular body voice used elsewhere. */
.rand0m-contact-hero .rand0m-solid-hero-inner > p:last-child {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:var(--rand0m-body-oswald-size, clamp(1.15rem,1.35vw,1.35rem)) !important;
  font-weight:400 !important;
  font-style:normal !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
}

/* "Stuur een bericht" is the same small kicker as "Rand0M" above Contact. */
.rand0m-contact-copy .rand0m-v2-section-label,
.rand0m-contact-hero .rand0m-v2-section-label {
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:.76rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.rand0m-contact-copy .rand0m-v2-section-label {
  margin-bottom:.85rem !important;
}


/* =========================================================
   v2.0.63 — Contact kicker specificity fix
   ========================================================= */

/* Both Contact kickers must be identical. This selector deliberately has
   higher specificity than the general Contact body-copy rule. */
.rand0m-contact-page .rand0m-contact-hero p.rand0m-v2-section-label,
.rand0m-contact-page .rand0m-contact-copy p.rand0m-v2-section-label {
  display:flex !important;
  align-items:center !important;
  gap:.7rem !important;
  margin:0 0 .85rem !important;
  color:inherit !important;
  font-family:'Oswald','Arial Narrow',sans-serif !important;
  font-size:.76rem !important;
  font-weight:600 !important;
  font-style:normal !important;
  line-height:1 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.rand0m-contact-page .rand0m-contact-hero p.rand0m-v2-section-label::before,
.rand0m-contact-page .rand0m-contact-copy p.rand0m-v2-section-label::before {
  content:"" !important;
  display:block !important;
  width:2.2rem !important;
  height:3px !important;
  flex:0 0 2.2rem !important;
  background:var(--rand0m-red) !important;
}
