/* NOVARIS CLEAN: durchgehendes Foto, mittig geteilter Reveal. */
body.novaris-photo-lock { overflow: hidden !important; }
#novaris-photo-intro {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  color: #f6edd9;
  background: transparent;
}
#novaris-photo-intro .novaris-photo-half {
  position: absolute;
  inset: 0;
  background: #080806;
  transition: transform 1.7s cubic-bezier(.76, 0, .22, 1);
  will-change: transform;
  backface-visibility: hidden;
}
#novaris-photo-intro .novaris-photo-half.left { clip-path: inset(0 50% 0 0); }
#novaris-photo-intro .novaris-photo-half.right { clip-path: inset(0 0 0 50%); }
#novaris-photo-intro.is-opening .novaris-photo-half.left { transform: translateX(-50%); }
#novaris-photo-intro.is-opening .novaris-photo-half.right { transform: translateX(50%); }
#novaris-photo-intro .novaris-photo-rain { position:absolute; z-index:3; inset:0; overflow:hidden; pointer-events:none; opacity:.82; transition:opacity .75s ease; mix-blend-mode:screen; }
#novaris-photo-intro.is-opening .novaris-photo-rain { opacity:0; }
#novaris-photo-intro .novaris-photo-rain i { position:absolute; top:-8%; width:1.5px; border-radius:50%; background:linear-gradient(180deg,transparent,rgba(219,239,240,.64) 58%,rgba(255,255,255,.25)); filter:blur(.18px); animation:novaris-photo-rain-fall linear infinite; }
@keyframes novaris-photo-rain-fall { 0%{transform:translate3d(0,-12vh,0);opacity:0} 18%{opacity:.78} 82%{opacity:.42} 100%{transform:translate3d(-1.2vw,112vh,0);opacity:0} }
#novaris-photo-intro .novaris-photo-scene { position: absolute; inset: 0; display: block; }
#novaris-photo-intro .novaris-photo-scene img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
#novaris-photo-intro .novaris-photo-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,4,3,.52) 0%, transparent 18%, transparent 73%, rgba(4,4,3,.75) 100%);
  pointer-events: none;
}
#novaris-photo-intro .novaris-photo-brand {
  position: absolute;
  top: max(22px, env(safe-area-inset-top));
  left: 50%;
  width: clamp(200px, 21vw, 310px);
  transform: translateX(-50%);
  margin: 0;
}
#novaris-photo-intro .novaris-photo-brand img { display: block; width: 100%; height: auto; }
#novaris-photo-intro .novaris-photo-brand { display:none; }
#novaris-photo-intro .novaris-photo-caption {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: max(64px, calc(env(safe-area-inset-bottom) + 55px));
  margin: 0;
  text-align: center;
  text-shadow: 0 2px 14px #000;
}
#novaris-photo-intro .novaris-photo-caption strong {
  display: block;
  margin-bottom: 10px;
  font: 400 clamp(21px, 2.7vw, 35px)/1.15 Georgia, serif;
  color: #f5e5bd;
}
#novaris-photo-intro .novaris-photo-caption span {
  display: block;
  font: 600 clamp(9px, .85vw, 11px)/1.5 Raleway, Arial, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #eddbb0;
}
#novaris-photo-intro .novaris-photo-skip {
  position: absolute;
  z-index: 4;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  min-height: 44px;
  min-width: 132px;
  padding: 12px 16px;
  border: 1px solid rgba(225,195,123,.55);
  border-radius: 2px;
  background: rgba(5,5,4,.8);
  color: #f1e4c4;
  font: 600 10px/1.2 Raleway, Arial, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
  cursor: pointer;
}
#novaris-photo-intro .novaris-photo-skip:hover,
#novaris-photo-intro .novaris-photo-skip:focus-visible { outline: 2px solid #e2c779; outline-offset: 3px; color: #fff; }
@media (max-aspect-ratio: 4/5) {
  #novaris-photo-intro .novaris-photo-brand { width: min(58vw, 245px); top: max(18px, env(safe-area-inset-top)); }
  #novaris-photo-intro .novaris-photo-caption strong { font-size: clamp(21px, 5.3vw, 29px); margin-bottom: 8px; }
  #novaris-photo-intro .novaris-photo-caption span { font-size: 9px; letter-spacing: .12em; }
  #novaris-photo-intro .novaris-photo-skip { right: 14px; bottom: max(12px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { #novaris-photo-intro { display: none; } }
