:root {
  --mass-archive-blue: #162340;
  --mass-archive-teal: #009189;
  --mass-archive-ease: cubic-bezier(.16, 1, .3, 1);
}

body.mass-archive-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

/* The original theme modal only supports full-screen flat images. */
.archive-fullscreen.mass-live-archive {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: hidden !important;
  background: #fff !important;
  transition: opacity 260ms var(--mass-archive-ease), visibility 0s !important;
}

.archive-fullscreen.mass-live-archive > img,
.archive-fullscreen.mass-live-archive #archiveFullPlain,
.archive-fullscreen.mass-live-archive #archiveFullStrip {
  display: none !important;
}

.mass-archive-shell {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  background: #fff;
}

.mass-archive-scroll {
  position: absolute;
  inset: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  scrollbar-gutter: stable;
  background: #fff;
}

.mass-archive-document {
  width: 100%;
  max-width: 1920px;
  min-height: 100%;
  margin: 0 auto;
  background: #fff;
}

.mass-pdf-band {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.mass-pdf-band.mass-pdf-hero {
  grid-template-columns: minmax(0, 1fr);
}

.mass-pdf-panel {
  position: relative;
  width: 100%;
  aspect-ratio: var(--mass-slice-width) / var(--mass-slice-height);
  overflow: hidden;
  isolation: isolate;
  background: var(--mass-block-colour, var(--mass-archive-teal));
}

.mass-pdf-band:nth-child(3n + 2) .mass-pdf-panel:first-child,
.mass-pdf-band:nth-child(3n + 3) .mass-pdf-panel:last-child {
  --mass-block-colour: var(--mass-archive-blue);
}

.mass-pdf-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(105deg, transparent 35%, rgba(255,255,255,.17) 50%, transparent 65%),
    var(--mass-block-colour, var(--mass-archive-teal));
  background-size: 220% 100%, auto;
  animation: massBlockLoading 1.35s ease-in-out infinite;
  transition: opacity 420ms ease;
}

.mass-pdf-panel canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: translate3d(var(--mass-reveal-x, 0), 14px, 0) scale(1.006);
  clip-path: inset(0 0 100% 0);
  transition:
    opacity 520ms var(--mass-archive-ease),
    transform 820ms var(--mass-archive-ease),
    clip-path 820ms var(--mass-archive-ease);
}

.mass-pdf-panel[data-side="left"] canvas {
  --mass-reveal-x: -14px;
  clip-path: inset(0 100% 0 0);
}

.mass-pdf-panel[data-side="right"] canvas {
  --mass-reveal-x: 14px;
  clip-path: inset(0 0 0 100%);
}

.mass-pdf-panel.is-rendered::before {
  opacity: 0;
  animation: none;
}

.mass-pdf-band.is-visible .mass-pdf-panel.is-rendered canvas {
  opacity: 1;
  transform: none;
  clip-path: inset(0);
}

.mass-pdf-band.is-visible .mass-pdf-panel:nth-child(2) canvas {
  transition-delay: 110ms;
}

.mass-archive-state {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 80px 24px;
  background: var(--mass-archive-blue);
  color: #fff;
  text-align: center;
  font: 300 clamp(20px, 3vw, 42px)/1.1 Helvetica, Arial, sans-serif;
}

.mass-archive-state span {
  display: block;
  max-width: 720px;
}

.mass-archive-state.is-error {
  background: #fff;
  color: var(--mass-archive-blue);
}

.archive-fullscreen.mass-live-archive #archiveClose {
  position: fixed !important;
  z-index: 50 !important;
  top: max(14px, env(safe-area-inset-top)) !important;
  right: max(14px, env(safe-area-inset-right)) !important;
  display: grid !important;
  width: 46px !important;
  height: 46px !important;
  place-items: center;
  border: 1px solid rgba(255,255,255,.75) !important;
  border-radius: 0 !important;
  background: rgba(22,35,64,.82) !important;
  color: #fff !important;
  font-size: 28px !important;
  line-height: 1 !important;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

@keyframes massBlockLoading {
  from { background-position: 170% 0, 0 0; }
  to { background-position: -70% 0, 0 0; }
}

/* Replace the fake full-page white wipe with reveals of the real content blocks. */
.selected-work-v13 .page-shell::after {
  display: none !important;
  content: none !important;
}

.selected-work-v13 .page-shell .art-region {
  opacity: 0 !important;
  filter: none !important;
  transform: translate3d(var(--mass-block-x, 0), var(--mass-block-y, 0), 0) scale(1.008) !important;
  transition:
    opacity 520ms var(--mass-archive-ease),
    transform 860ms var(--mass-archive-ease),
    clip-path 860ms var(--mass-archive-ease) !important;
  transition-delay: var(--mass-block-delay, 0ms) !important;
}

.selected-work-v13 .page-shell .art-region.mass-block-left {
  --mass-block-x: -16px;
  clip-path: inset(0 100% 0 0) !important;
}

.selected-work-v13 .page-shell .art-region.mass-block-right {
  --mass-block-x: 16px;
  clip-path: inset(0 0 0 100%) !important;
}

.selected-work-v13 .page-shell .art-region.mass-block-up {
  --mass-block-y: -14px;
  clip-path: inset(100% 0 0 0) !important;
}

.selected-work-v13 .page-shell .art-region.mass-block-down {
  --mass-block-y: 14px;
  clip-path: inset(0 0 100% 0) !important;
}

.selected-work-v13 .page-shell.is-active .art-region {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  clip-path: inset(0) !important;
}

.selected-work-v13 .page-shell .text-pos {
  filter: none !important;
}

/* The theme contains the mobile-header CSS but omitted its mobile markup. */
.mass-mobile-brand,
.mass-menu-toggle {
  display: none;
}

.archive-grid.mass-managed .archive-tile {
  width: calc(100% / var(--mass-cols)) !important;
  height: calc(100% / var(--mass-rows)) !important;
  transform: translate3d(var(--mass-x), var(--mass-y), 0) !important;
}

@media (max-width: 900px) {
  :root {
    --strip-h: 64px;
  }

  .mass-strip {
    height: var(--strip-h) !important;
    overflow: visible !important;
    border-bottom: 1px solid rgba(255,255,255,.16);
  }

  .mass-strip > .mass-strip-art {
    display: none !important;
  }

  .mass-mobile-brand {
    position: absolute;
    left: 18px;
    top: 50%;
    z-index: 4;
    display: block;
    width: 118px;
    height: 48px;
    overflow: hidden;
    transform: translateY(-50%);
  }

  .mass-mobile-brand img {
    position: absolute;
    right: 0;
    top: 50%;
    width: auto !important;
    max-width: none !important;
    height: 34px !important;
    transform: translateY(-50%);
  }

  .mass-menu-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    z-index: 5;
    display: grid;
    width: 48px;
    height: 48px;
    padding: 13px 11px;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .mass-menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    margin: auto;
    background: #fff;
    transform-origin: center;
    transition: transform .25s var(--mass-archive-ease), opacity .2s ease;
  }

  .mass-strip.mass-nav-ready nav {
    display: flex !important;
  }

  .mass-strip.nav-open .mass-menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .mass-strip.nav-open .mass-menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  .mass-strip.nav-open .mass-menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .hero-section {
    padding-top: var(--strip-h) !important;
  }

  .hero-stage {
    height: clamp(420px, 62svh, 560px) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background: var(--mass-archive-blue) !important;
  }

  .hero-art,
  .hero-type,
  .hero-overlay-replacement {
    inset: 0 auto auto 50% !important;
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
    aspect-ratio: 16 / 9;
    object-fit: fill !important;
  }

  .hero-slide[data-index="0"] :is(.hero-art,.hero-type,.hero-overlay-replacement) { translate: -20% 0 !important; }
  .hero-slide[data-index="1"] :is(.hero-art,.hero-type,.hero-overlay-replacement) { translate: -24% 0 !important; }
  .hero-slide[data-index="2"] :is(.hero-art,.hero-type,.hero-overlay-replacement) { translate: -72% 0 !important; }
  .hero-slide[data-index="3"] :is(.hero-art,.hero-type,.hero-overlay-replacement) { translate: -50% 0 !important; }
  .hero-slide[data-index="4"] :is(.hero-art,.hero-type,.hero-overlay-replacement) { translate: -68% 0 !important; }

  .hero-edge {
    width: 22% !important;
  }

  .mass-pdf-band:not(.mass-pdf-hero) {
    grid-template-columns: minmax(0, 1fr);
  }

  .mass-archive-scroll {
    scrollbar-gutter: auto;
  }

  .archive-fullscreen.mass-live-archive #archiveClose {
    top: max(10px, env(safe-area-inset-top)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    width: 42px !important;
    height: 42px !important;
  }
}

@media (max-width: 900px) and (orientation: landscape) {
  :root { --strip-h: 52px; }
  .mass-mobile-brand { width: 104px; height: 40px; }
  .mass-mobile-brand img { height: 29px !important; }
  .hero-stage {
    height: calc(100svh - var(--strip-h)) !important;
    min-height: 300px !important;
    max-height: 520px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mass-pdf-panel::before {
    animation: none;
  }
  .mass-pdf-panel canvas,
  .selected-work-v13 .page-shell .art-region,
  .selected-work-v13 .page-shell .text-pos {
    transition: none !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    clip-path: inset(0) !important;
  }
}
