/* =====================================================================
   PRUNK — main stylesheet
   Sizes are written in "design pixels" and multiplied by a unit:
   --lu = layout unit, --fu = font unit.
   Desktop design = 1920 px wide, mobile design = 360 px wide.
   ===================================================================== */

@font-face {
  font-family: "Inter";
  src: url("../fonts/InterVariable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Units scale smoothly with the window: no jumps between desktop, tablet and mobile */
  --lu: clamp(0.3px, calc(100vw / 1920), 1.6px);
  --fu: clamp(0.3px, calc(100vw / 1920), 1.6px);
  --ease: cubic-bezier(.25, .1, .25, 1);
}
@media (max-width: 1024px) {
  /* tablet = the desktop composition scaled down; tablet sizes use the same design pixels as desktop (same number = same look) */
  /* tablet: the desktop design at a fixed comfortable scale (= the desktop scale at 1024 px), so nothing jumps and nothing gets tiny */
  :root { --lu: 0.5333px; --fu: 0.5333px; }
}
@media (max-width: 599px) {
  /* mobile design (360 px); grows a little on larger phones, never balloons */
  :root { --lu: min(calc(100vw / 360), 1.25px); --fu: min(calc(100vw / 360), 1.25px); }
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--bg-color, #14181b); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: auto !important; }
/* The page itself must be the scroller (some plugins turn <body> into a scroll box, which breaks wheel scrolling) */
html:has(body.prunk-site) { height: auto !important; min-height: 100% !important; overflow-x: hidden !important; overflow-y: auto !important; }
html body.prunk-site { margin: 0 !important; padding: 0 !important; overflow: visible !important; position: static !important; height: auto !important; max-height: none !important; transform: none !important; background: transparent; font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; line-height: normal; }
body {
  margin: 0;
  min-height: 100%;
  background: transparent;
  color: #fff;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-feature-settings: "cv11" 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p, ul { margin: 0; padding: 0; }
ul { list-style: none; }
button { font: inherit; color: inherit; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }

/* Lenis */
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* ---------------------------------------------------------------------
   Typography tokens (values come from the Customizer)
   --------------------------------------------------------------------- */
html body [class*="t-"]:is(.t-nav, .t-kicker, .t-title, .t-herolink, .t-nextshow, .t-section, .t-month, .t-row, .t-tickets, .t-clabel, .t-cemail, .t-copy) {
  line-height: 1; text-transform: uppercase; font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; font-style: normal; text-decoration: none; text-shadow: none;
}
html body .t-nav      { font-size: calc(var(--fs-nav) * var(--fu));      color: var(--c-nav);      letter-spacing: var(--ls-nav);      font-weight: var(--fw-nav); }
html body .t-kicker   { font-size: calc(var(--fs-kicker) * var(--fu));   color: var(--c-kicker);   letter-spacing: var(--ls-kicker);   font-weight: var(--fw-kicker); }
html body .t-title    { font-size: calc(var(--fs-title) * var(--fu));    color: var(--c-title);    letter-spacing: var(--ls-title);    font-weight: var(--fw-title); }
html body .t-herolink { font-size: calc(var(--fs-herolink) * var(--fu)); color: var(--c-herolink); letter-spacing: var(--ls-herolink); font-weight: var(--fw-herolink); }
html body .t-nextshow { font-size: calc(var(--fs-nextshow) * var(--fu)); color: var(--c-nextshow); letter-spacing: var(--ls-nextshow); font-weight: var(--fw-nextshow); }
html body .t-section  { font-size: calc(var(--fs-section) * var(--fu));  color: var(--c-section);  letter-spacing: var(--ls-section);  font-weight: var(--fw-section); }
html body .t-month    { font-size: calc(var(--fs-month) * var(--fu));    color: var(--c-month);    letter-spacing: var(--ls-month);    font-weight: var(--fw-month); }
html body .t-row      { font-size: calc(var(--fs-row) * var(--fu));      color: var(--c-row);      letter-spacing: var(--ls-row);      font-weight: var(--fw-row); }
html body .t-tickets  { font-size: calc(var(--fs-tickets) * var(--fu));  color: var(--c-tickets);  letter-spacing: var(--ls-tickets);  font-weight: var(--fw-tickets); }
html body .t-clabel   { font-size: calc(var(--fs-clabel) * var(--fu));   color: var(--c-clabel);   letter-spacing: var(--ls-clabel);   font-weight: var(--fw-clabel); }
html body .t-cemail   { font-size: calc(var(--fs-cemail) * var(--fu));   color: var(--c-cemail);   letter-spacing: var(--ls-cemail);   font-weight: var(--fw-cemail); }
html body .t-copy     { font-size: calc(var(--fs-copy) * var(--fu));     color: var(--c-copy);     letter-spacing: var(--ls-copy);     font-weight: var(--fw-copy); }
html body html body .t-copy { text-transform: none; }

/* ---------------------------------------------------------------------
   Fixed background + person (the "stage")
   --------------------------------------------------------------------- */
.prunk-stage {
  position: fixed;
  left: 0; top: 0; width: 100%;
  height: 100vh; height: 100lvh;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: var(--bg-color, #14181b);
}
.prunk-stage__bg, .prunk-stage__fig {
  position: absolute; inset: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: var(--focus-d, 50%) 50%;
}
.prunk-stage__bg  { background-image: var(--bg-d); }
.prunk-stage__fig { background-image: var(--fig-d); opacity: var(--fig-o, 1); transform: translate3d(0, var(--fig-y, 0px), 0); will-change: opacity, transform; }
@media (max-width: 599px) {
  .prunk-stage__bg, .prunk-stage__fig { background-position: var(--focus-m, 72%) 50%; }
  .prunk-stage__bg  { background-image: var(--bg-m); }
  .prunk-stage__fig { background-image: var(--fig-m); }
}
/* Tablet: person anchored bottom-right like on desktop, smaller, with room above */
/* Tablet (any orientation): the desktop photo, same proportions as desktop — full width,
   anchored bottom-right, and at least X% of the screen height so it never ends up tiny on tall screens. */
@media (min-width: 600px) and (max-width: 1024px) {
  .prunk-stage__fig { background-size: auto var(--fig-th); background-position: right bottom; }
}
@media (min-width: 600px) and (max-width: 1024px) {
  :root { --fig-th: max(56.25vw, calc(var(--fig-tablet-h, 60) * 1vh)); }
  .prunk-hero .prunk-news { left: 19.53vw; }
}
/* portrait tablet: desktop photo, bigger and shifted right (face at ~72% of the width, back cut off),
   text placed like desktop: at 40% of the photo height, left of the face */
@media (min-width: 600px) and (max-width: 1024px) and (max-aspect-ratio: 899/1000) {
  :root {
    --fig-th: calc(var(--fig-tablet-hp, 70) * 1vh);
    --fig-tw: calc(var(--fig-th) * 1.7778);
    --face-x: calc(var(--fig-face, 72) * 1vw);
  }
  .prunk-stage__fig { background-position: calc(var(--face-x) - var(--fig-tw) * 0.74) bottom; }
  .prunk-hero .prunk-news {
    top: calc(100% - var(--fig-th) * 0.655);
    left: 6vw;
  }
}
/* landscape / square tablet windows: same relation as desktop — text sits at 40% of the photo height, next to the face */
@media (min-width: 600px) and (max-width: 1024px) and (min-aspect-ratio: 9/10) {
  .prunk-hero .prunk-news { top: calc(100% - var(--fig-th) * 0.602); }
}
/* Smooth fade-in once the images are loaded */
html.js .prunk-stage__bg, html.js .prunk-stage__fig { transition: opacity var(--fade-in, 900ms) var(--ease); }
html.js:not(.is-loaded) .prunk-stage__bg, html.js:not(.is-loaded) .prunk-stage__fig { opacity: 0; animation: prunk-reveal .9s ease 2.5s forwards; }
/* Failsafe: even if scripts are delayed or blocked (cache/optimisation plugins), the photo + background always appear */
@keyframes prunk-reveal { to { opacity: 1; } }
html.is-loaded .prunk-stage__fig { transition: none; }
html.is-loaded.is-fading .prunk-stage__fig { transition: opacity var(--fade-in, 900ms) var(--ease); }

.prunk-main { position: relative; z-index: 2; }

/* ---------------------------------------------------------------------
   Navigation — fixed pill with blur
   --------------------------------------------------------------------- */
.prunk-nav {
  position: fixed;
  z-index: 50;
  top: calc(52.5 * var(--lu));
  left: 50%;
  transform: translateX(-50%);
}
.prunk-nav__pill {
  display: flex;
  align-items: center;
  height: calc(68.2 * var(--lu));
  padding: 0 calc(34.5 * var(--lu)) 0 calc(33.8 * var(--lu));
  border: 1px solid rgba(255, 255, 255, var(--nav-border, .75));
  border-radius: 999px;
  background: rgba(16, 19, 22, var(--nav-bg, .12));
  -webkit-backdrop-filter: blur(var(--nav-blur, 14px)) saturate(115%);
  backdrop-filter: blur(var(--nav-blur, 14px)) saturate(115%);
  white-space: nowrap;
}
.prunk-nav__logo { display: block; width: calc(var(--logo-w, 121.5) * var(--fu)); color: #fff; line-height: 0; }
.prunk-nav__logo svg, .prunk-nav__logo img { width: 100%; height: auto; }
.prunk-nav__logo svg path, .prunk-nav__logo svg .st0 { fill: currentColor; }
.prunk-nav__links { display: flex; align-items: center; margin-left: calc(52 * var(--lu)); gap: calc(33.6 * var(--lu)); }
.prunk-nav__link { display: block; transition: opacity .25s var(--ease); }
.prunk-nav__link:hover, .prunk-nav__logo:hover { opacity: .6; }

/* ---------------------------------------------------------------------
   Hero
   --------------------------------------------------------------------- */
.prunk-hero {
  position: relative;
  height: 100vh;
  height: 100svh;
  min-height: calc(560 * var(--lu));
}
html.prunk-text-fade .prunk-news, html.prunk-text-fade .prunk-next { opacity: var(--hero-o, 1); visibility: var(--hero-vis, visible); will-change: opacity; }
.prunk-news {
  position: absolute;
  left: calc(375 * var(--lu));
  top: 39.8%;
}
.prunk-news__kicker { display: block; }
.prunk-news__title  { margin-top: calc(11.4 * var(--lu)); white-space: nowrap; }
.prunk-news__link   { display: inline-flex; align-items: center; margin-top: calc(14.5 * var(--lu)); transition: opacity .25s var(--ease); }
a.prunk-news__link:hover { opacity: .65; }
.prunk-arrow { width: .92em; height: .92em; margin-left: .62em; flex: 0 0 auto; }

.prunk-next {
  position: absolute;
  left: calc(34.5 * var(--lu));
  bottom: calc(35.4 * var(--lu));
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.prunk-next__line { display: block; width: calc(54.7 * var(--lu)); height: 1px; background: currentColor; margin: 0 calc(10 * var(--lu)) 0 calc(9.5 * var(--lu)); }
.prunk-next__flag { width: calc(20 * var(--lu)); height: calc(20 * var(--lu)); margin-left: calc(10 * var(--lu)); }

.prunk-flag { display: block; border-radius: 50%; background-size: cover; background-position: center; background-repeat: no-repeat; flex: 0 0 auto; }

/* ---------------------------------------------------------------------
   Sections
   --------------------------------------------------------------------- */
.prunk-section { position: relative; }
.prunk-h2 { text-align: center; }

/* Schedule */
.prunk-schedule { padding-top: calc(291.6 * var(--lu)); min-height: 100vh; min-height: 100svh; }
/* Content width = % of the screen (Customizer: Layout). Schedule table is 89.5% of that on desktop/tablet, like the design. */
.prunk-schedule__inner { width: calc(var(--content-w, 47.45) * 1vw * var(--sched-ratio, .8946)); margin: 0 auto; }
.prunk-month:first-child { margin-top: calc(75.3 * var(--lu)); }
.prunk-month + .prunk-month { margin-top: calc(51.9 * var(--lu)); }
.prunk-month__title { margin-bottom: calc(18.6 * var(--lu)); }
.prunk-schedule__empty { margin-top: calc(75 * var(--lu)); text-align: center; }
.prunk-show {
  display: grid;
  grid-template-columns: 13.64% 43.74% 25.08% 1fr calc(16 * var(--lu));
  align-items: center;
  height: calc(var(--fs-row) * var(--fu) * 1.983); /* row height follows the text size (34.1 px at 17.2 px text, as in the design) */
}
.prunk-show__info { display: contents; }
.prunk-show__event, .prunk-show__city, .prunk-show__date { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prunk-show__event { padding-right: calc(12 * var(--lu)); }
a.prunk-show__tickets { transition: color .25s var(--ease); }
a.prunk-show__tickets:hover { color: #fff; }
.prunk-show__flag { display: block; width: calc(16 * var(--lu)); height: calc(16 * var(--lu)); }
.prunk-show__flag .prunk-flag { width: 100%; height: 100%; }

/* Releases */
.prunk-releases { padding-top: calc(var(--gap-rel, 212.7) * var(--lu)); }
.prunk-schedule:has(+ .prunk-releases), .prunk-schedule:has(+ .prunk-media) { min-height: 0; }
/* Sliders (releases + media): N items visible, the rest slides */
.prunk-slider { position: relative; width: calc(var(--content-w, 47.45) * 1vw); margin: 0 auto; }
.prunk-slider__track {
  --per: 4; --gap: calc(15.67 * var(--lu));
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));
  gap: var(--gap);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  cursor: grab;
}
.prunk-slider__track::-webkit-scrollbar { display: none; }
.prunk-slider__track > li { scroll-snap-align: start; min-width: 0; }
.prunk-slider__track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.prunk-slider__track.is-dragging a, .prunk-slider__track.is-dragging button { pointer-events: none; }
.prunk-slider__track img { -webkit-user-drag: none; user-select: none; }
.prunk-slider__arrow {
  position: absolute; top: 50%; z-index: 3;
  width: calc(34 * var(--lu)); height: calc(60 * var(--lu));
  margin-top: calc(-30 * var(--lu));
  padding: 0 calc(10 * var(--lu)); border: 0; background: none; color: #fff; cursor: pointer;
  opacity: .75; transition: opacity .25s var(--ease);
}
.prunk-slider__arrow[hidden] { display: none; }
.prunk-slider__arrow:hover { opacity: 1; }
.prunk-slider__arrow:disabled { opacity: .15; cursor: default; }
.prunk-slider__arrow svg { width: 100%; height: auto; }
.prunk-slider__arrow--prev { left: calc(-54 * var(--lu)); }
.prunk-slider__arrow--next { right: calc(-54 * var(--lu)); }
.prunk-slider__dots { display: none; }
.prunk-releases .prunk-slider { margin-top: calc(79.3 * var(--lu)); }
.prunk-releases__grid { --per: var(--rel-per, 4); }
.prunk-releases__item a, .prunk-releases__item span { display: block; aspect-ratio: 1; overflow: hidden; background: rgba(255,255,255,.04); }
.prunk-releases__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease), opacity .3s var(--ease); }
.prunk-releases__item a:hover img { transform: scale(1.035); }

/* Media */
.prunk-media { padding-top: calc(var(--gap-med, 221.2) * var(--lu)); }
.prunk-media .prunk-slider { margin-top: calc(78.2 * var(--lu)); }
.prunk-media__grid { --per: var(--med-per, 3); --gap: calc(14.5 * var(--lu)); }
.prunk-media__btn {
  position: relative; display: block; width: 100%; aspect-ratio: 294 / 218;
  padding: 0; border: 0; background: #0d0f11; cursor: pointer; overflow: hidden;
}
.prunk-media__btn[disabled] { cursor: default; }
.prunk-media__btn img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  filter: blur(var(--media-blur, 9px)); transform: scale(1.12);
  transition: filter .5s var(--ease), transform .7s var(--ease);
}
.prunk-media__btn:not([disabled]):hover img, .prunk-media__btn:focus-visible img { filter: blur(0); transform: scale(1.03); }
.prunk-play {
  position: absolute; left: 50%; top: 50%;
  width: calc(32 * var(--lu)); height: auto;
  transform: translate(-42%, -50%);
  color: #fff;
  transition: transform .3s var(--ease);
}
.prunk-media__btn:hover .prunk-play { transform: translate(-42%, -50%) scale(1.1); }

/* Contact / footer */
.prunk-contact { position: relative; padding: calc(var(--gap-con, 224.1) * var(--lu)) 0 calc(57.5 * var(--lu)); text-align: center; }
.prunk-contact__list { display: flex; justify-content: center; gap: calc(99.5 * var(--lu)); }
.prunk-contact__label { display: block; }
.prunk-contact__email { display: inline-block; margin-top: calc(6.2 * var(--lu)); transition: opacity .25s var(--ease); }
.prunk-contact__email:hover { opacity: .6; }
.prunk-socials { display: flex; justify-content: center; align-items: center; gap: calc(21.8 * var(--lu)); margin-top: calc(83.6 * var(--lu)); }
.prunk-socials a { display: flex; align-items: center; height: calc(27.3 * var(--lu)); color: #fff; transition: opacity .25s var(--ease); }
.prunk-socials a:hover { opacity: .6; }
.prunk-socials svg, .prunk-socials img { height: 100%; width: auto; }
.prunk-socials__ra { font-weight: 800; font-size: calc(19 * var(--lu)); letter-spacing: -.04em; line-height: 1; }
.prunk-copy { margin-top: calc(51.6 * var(--lu)); }

/* Other pages */
.prunk-stage.is-static .prunk-stage__bg { opacity: 1 !important; }
.prunk-page__inner { width: min(calc(var(--content-w, 47.45) * 1vw), calc(100% - 40px)); margin: 0 auto; padding-top: calc(291.6 * var(--lu)); }
.prunk-page__body { margin-top: calc(60 * var(--lu)); font-size: calc(17 * var(--fu)); line-height: 1.6; }
.prunk-page__body a { text-decoration: underline; text-underline-offset: 3px; }
.prunk-page .prunk-contact { padding-top: calc(160 * var(--lu)); }

/* ---------------------------------------------------------------------
   Video popup
   --------------------------------------------------------------------- */
.prunk-modal { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; }
.prunk-modal[hidden] { display: none; }
.prunk-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(8, 10, 12, .62);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  opacity: 0; transition: opacity .35s var(--ease);
}
.prunk-modal__dialog {
  position: relative;
  width: min(1100px, 86vw, calc(78vh * 16 / 9));
  opacity: 0; transform: translateY(14px) scale(.985);
  transition: opacity .35s var(--ease), transform .45s var(--ease);
}
.prunk-modal.is-open .prunk-modal__backdrop { opacity: 1; }
.prunk-modal.is-open .prunk-modal__dialog { opacity: 1; transform: none; }
.prunk-modal__frame { position: relative; aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.prunk-modal__frame iframe, .prunk-modal__frame video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }
.prunk-modal__close {
  position: absolute; right: 0; top: -44px; width: 34px; height: 34px;
  border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: rgba(16,19,22,.3); cursor: pointer;
}
.prunk-modal__close span { position: absolute; left: 50%; top: 50%; width: 14px; height: 1px; background: #fff; }
.prunk-modal__close span:first-child { transform: translate(-50%, -50%) rotate(45deg); }
.prunk-modal__close span:last-child  { transform: translate(-50%, -50%) rotate(-45deg); }
.prunk-modal__close:hover { background: rgba(255,255,255,.12); }

/* ---------------------------------------------------------------------
   Tablet portrait: hero composition follows the mobile design
   --------------------------------------------------------------------- */
/* Tablet uses exactly the desktop composition (news text + next show positions), at the tablet scale. */

/* ---------------------------------------------------------------------
   Mobile (design: 360 px wide)
   --------------------------------------------------------------------- */
@media (max-width: 599px) {
  .prunk-nav { top: calc(20 * var(--lu)); }
  .prunk-nav__pill { height: calc(34.7 * var(--lu)); padding: 0 calc(17.3 * var(--lu)) 0 calc(17.4 * var(--lu)); }
  .prunk-nav__links { margin-left: calc(26.4 * var(--lu)); gap: calc(17.2 * var(--lu)); }

  .prunk-hero { min-height: calc(560 * var(--lu)); }
  .prunk-news { left: calc(16.7 * var(--lu)); top: 54.5%; }
  .prunk-news__title { margin-top: calc(5.4 * var(--lu)); }
  .prunk-news__link { margin-top: calc(7.3 * var(--lu)); }
  .prunk-next { left: calc(16.3 * var(--lu)); bottom: calc(16.5 * var(--lu)); }
  .prunk-next__line { width: calc(21.6 * var(--lu)); margin: 0 calc(4 * var(--lu)) 0 calc(3 * var(--lu)); }
  .prunk-next__flag { width: calc(8 * var(--lu)); height: calc(8 * var(--lu)); margin-left: calc(4.5 * var(--lu)); }

  .prunk-schedule { padding-top: calc(103 * var(--lu)); }
  .prunk-schedule__inner { --sched-ratio: 1; }
  .prunk-month:first-child { margin-top: calc(27.4 * var(--lu)); }
  .prunk-month + .prunk-month { margin-top: calc(10.5 * var(--lu)); }
  .prunk-month__title { margin-bottom: calc(12 * var(--lu)); }
  .prunk-show {
    grid-template-columns: calc(44.9 * var(--lu)) 1fr auto calc(7 * var(--lu));
    align-items: start;
    height: auto;
    padding-bottom: calc(9.7 * var(--lu));
    line-height: calc(8.1 * var(--lu));
  }
  .prunk-show > * { line-height: calc(8.1 * var(--lu)); }
  .prunk-show__info { display: flex; flex-direction: column; min-width: 0; }
  .prunk-show__info > span { line-height: calc(8.1 * var(--lu)); }
  .prunk-show__city { margin-top: calc(var(--city-gap, 3) * var(--lu)); }
  .prunk-show__event { padding-right: calc(8 * var(--lu)); }
  .prunk-show__tickets { margin-right: calc(13.8 * var(--lu)); }
  .prunk-show__flag { width: calc(7 * var(--lu)); height: calc(7 * var(--lu)); margin-top: calc(.55 * var(--lu)); }


  .prunk-slider__track { --gap: calc(10 * var(--lu)); }
  .prunk-slider__arrow { display: none !important; }
  .prunk-slider__dots { display: flex; justify-content: center; gap: calc(6 * var(--lu)); margin-top: calc(10 * var(--lu)); }
  .prunk-slider__dots[hidden] { display: none; }
  .prunk-slider__dots button { width: calc(4 * var(--lu)); height: calc(4 * var(--lu)); padding: 0; border: 0; border-radius: 50%; background: #fff; opacity: .3; transition: opacity .25s var(--ease); }
  .prunk-slider__dots button.is-active { opacity: 1; }
  .prunk-releases .prunk-slider { margin-top: calc(24 * var(--lu)); }

  .prunk-media .prunk-slider { margin-top: calc(24 * var(--lu)); }
  .prunk-media__btn { aspect-ratio: 322 / 181; }
  .prunk-play { width: calc(16 * var(--lu)); }

  .prunk-contact { padding-bottom: calc(26.3 * var(--lu)); }
  .prunk-contact__list { flex-direction: column; align-items: center; gap: calc(17.9 * var(--lu)); }
  .prunk-contact__email { margin-top: calc(2.9 * var(--lu)); }
  .prunk-socials { margin-top: calc(33.2 * var(--lu)); gap: calc(8.8 * var(--lu)); }
  .prunk-socials a { height: calc(12.7 * var(--lu)); }
  .prunk-socials__ra { font-size: calc(9 * var(--lu)); }
  .prunk-copy { margin-top: calc(22.9 * var(--lu)); }

  .prunk-page__inner { padding-top: calc(103 * var(--lu)); }
  .prunk-page__body { margin-top: calc(24 * var(--lu)); }
  .prunk-page .prunk-contact { padding-top: calc(60 * var(--lu)); }

  .prunk-modal__dialog { width: 94vw; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; }
}
