body.home {
  height: 100vh;
  overflow: hidden;
}

.home-slideshow {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: #fff;
  overflow: hidden;
  cursor: none;
  user-select: none;
  -webkit-user-select: none;
}

.home-slideshow * {
  user-select: none;
  -webkit-user-select: none;
}

.home-slideshow__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  opacity: 0;
  transition: opacity var(--fade) linear;
  will-change: opacity;
  -webkit-user-drag: none;
  pointer-events: none;
}

.home-slideshow__image.is-active {
  opacity: 1;
  z-index: 2;
}

.home-slideshow__image.no-fade {
  transition: none;
}

.slide-meta {
  position: fixed;
  left: var(--page-pad);
  bottom: var(--bottom-pad);
  z-index: 30;
  width: calc((100vw - 2 * var(--page-pad)) / 2);
  color: #fff;
  mix-blend-mode: difference;
  pointer-events: none;
}

.slide-meta__credits {
  margin-bottom: 1.15em;
  white-space: pre-line;
  font-family: "__jpba_mono", "Courier New", monospace;
  font-size: var(--mono-small-size);
  line-height: 1.2;
}

.slide-meta__title {
  font-family: "__jpba_text", Arial, sans-serif;
  font-size: 1em;
  line-height: 1.15;
  pointer-events: auto;
}

.slide-counter {
  position: fixed;
  right: var(--page-pad);
  bottom: var(--bottom-pad);
  z-index: 30;
  color: #fff;
  mix-blend-mode: difference;
  pointer-events: none;
}

.cursor-circle {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  mix-blend-mode: difference;
  pointer-events: none;
  opacity: 0;
}

.home-slideshow:hover .cursor-circle {
  opacity: 1;
}

@media (max-width: 760px) {
  .slide-meta {
    width: calc(100vw - 2 * var(--page-pad));
    bottom: 3.5rem;
  }

  .slide-counter {
    left: auto;
    right: var(--page-pad);
    text-align: right;
  }
}

/* 2026-05-06 mobile home: align project title baseline with counter */
@media (max-width: 620px) {
  .slide-meta {
    bottom: var(--bottom-pad);
    width: calc(100vw - (2 * var(--page-pad)) - 5em);
  }

  .slide-counter {
    bottom: var(--bottom-pad);
    right: var(--page-pad);
    left: auto;
    text-align: right;
  }
}

/* Home footer: keep project title and counter on one bottom line */
.slide-meta {
  width: calc(100vw - (2 * var(--page-pad)) - 5.5em);
  bottom: var(--bottom-pad);
}
.slide-meta__title {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.slide-counter {
  bottom: var(--bottom-pad);
  min-width: 5em;
  text-align: right;
}
@media (max-width: 760px) {
  .slide-meta {
    bottom: var(--bottom-pad);
  }
}

/* 2026-06 home text color switch: default is inverted, toggled state is fixed white. */
.home-text-toggle {
  position: fixed;
  left: var(--page-pad);
  top: 50%;
  z-index: 40;
  transform: translateY(-50%);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  line-height: inherit;
  cursor: pointer;
  mix-blend-mode: difference;
}

.home-text-toggle:hover,
.home-text-toggle:focus-visible {
  filter: blur(3px);
  outline: none;
}

body.home.home-text-white .site-frame,
body.home.home-text-white .slide-meta,
body.home.home-text-white .slide-counter,
body.home.home-text-white .home-text-toggle {
  color: #fff;
  mix-blend-mode: normal;
}


/* Startseite: Schrift immer weiß */
body.home .site-frame, body.home .slide-meta, body.home .slide-counter {color:#fff; mix-blend-mode:normal;}


/* 2026-06 Startseite: Meta-Reihenfolge Credit / Data / Foto / Titel */
.slide-meta {
  display: grid;
  gap: 0;
}

.slide-meta__line {
  white-space: pre-line;
  font-family: "__jpba_mono", "Courier New", monospace;
  font-size: var(--mono-small-size);
  line-height: 1.2;
}

.slide-meta__line:empty {
  display: none;
}

.slide-meta__line--photo {
  margin-bottom: 1.15em;
}

.slide-meta__credits {
  display: none;
}

.slide-meta__title {
  font-family: "__jpba_text", Arial, sans-serif;
  font-size: 1em;
  line-height: 1.15;
}


/* 2026-06 Anpassung: Startseiten-Projekttitel nicht verlinken. */
.slide-meta__title {
  pointer-events: none;
  text-decoration: none;
}


/* Startseite: beim initialen Bild-Preload wird hier 0–100% angezeigt.
   Nach abgeschlossenem Preload nutzt dasselbe Element wieder den Bildzähler. */
.slide-counter.is-loading {
  min-width: 3em;
}

/* 2026-06 mobile/tablet: no custom cursor. */
@media (max-width: 1020px), (hover: none), (pointer: coarse) {
  .cursor-circle {
    display: none !important;
  }

  .home-slideshow,
  .project-card img,
  .project-card video,
  .detail-slideshow {
    cursor: auto !important;
  }
}

/* DE/EN switch is intentionally not shown on the home page. */


.home-click-hint{position:fixed;left:50%;top:50%;z-index:55;transform:translate(-50%,-50%);pointer-events:none;font-family:"__jpba_text",Arial,sans-serif;font-size:inherit;font-weight:400;line-height:inherit;color:#fff;mix-blend-mode:normal;opacity:1}
.home-click-hint.fade-out{opacity:0;transition:opacity 1.5s linear}
.mobile-nav-hint{position:fixed;inset:0;z-index:50;pointer-events:none;font-family:"__jpba_text",Arial,sans-serif;font-size:inherit;font-weight:400;line-height:inherit;color:#fff;mix-blend-mode:normal;opacity:1}
.mobile-nav-hint .left,.mobile-nav-hint .right{position:absolute;top:50%;transform:translateY(-50%);font-size:inherit}
.mobile-nav-hint .left{left:1rem}
.mobile-nav-hint .right{right:1rem}
.mobile-nav-hint.fade-out{opacity:0;transition:opacity 1.5s linear}
.cursor-circle.arrow-cursor{width:auto;height:auto;border-radius:0;background:none;color:#fff;mix-blend-mode:normal;font-size:inherit;line-height:inherit}
@media (min-width:1021px){.home-slideshow{cursor:none}}
@media (min-width:1021px){.mobile-nav-hint{display:none}}

@media (max-width:1020px), (hover:none), (pointer:coarse){.home-click-hint{display:none}}
