.hero-visual.hero-slideshow {
  overflow: hidden;
  background: #061018;
  isolation: isolate;
}

.hero-slideshow .hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 430px;
  opacity: 0;
  transform: scale(1.08);
  filter: saturate(1.12) contrast(1.12) brightness(.82);
  transition: opacity 1050ms ease, transform 6200ms cubic-bezier(.2, .65, .2, 1), filter 1000ms ease;
  will-change: opacity, transform;
}

.hero-slideshow .hero-slide.is-active {
  opacity: 1;
  transform: scale(1);
  filter: saturate(1.12) contrast(1.12) brightness(.9);
}

.hero-slideshow .hero-slide.is-leaving {
  opacity: 0;
  transform: scale(1.025);
}

.hero-visual.hero-slideshow::after {
  z-index: 5;
  pointer-events: none;
}

.hero-slideshow::before {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 82% 18%, rgba(57, 122, 255, .45), transparent 27%),
    radial-gradient(circle at 20% 88%, rgba(214, 195, 158, .25), transparent 36%);
  mix-blend-mode: screen;
  animation: hero-atmosphere 12s ease-in-out infinite alternate;
}

@keyframes hero-atmosphere {
  from { transform: translate3d(-2%, -2%, 0) scale(1); opacity: .58; }
  to { transform: translate3d(3%, 2%, 0) scale(1.08); opacity: .9; }
}

.hero-halo {
  position: absolute;
  inset: 8%;
  z-index: 2;
  border: 1px solid rgba(216, 236, 255, .35);
  border-radius: 50%;
  opacity: .45;
  pointer-events: none;
  mix-blend-mode: screen;
  animation: hero-halo 8s ease-in-out infinite alternate;
}

@keyframes hero-halo {
  from { transform: scale(.82); opacity: .18; }
  to { transform: scale(1.24); opacity: .53; }
}

.hero-sweep {
  position: absolute;
  inset: -30%;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 43%, rgba(214, 195, 158, .30) 50%, transparent 57%);
  transform: translateX(-58%);
  animation: hero-sweep 8s 1.6s ease-in-out infinite;
}

.hero-flash {
  position: absolute;
  inset: -15%;
  z-index: 6;
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 38%, rgba(230, 246, 255, .06) 44%, rgba(176, 217, 255, .86) 50%, rgba(255, 245, 225, .42) 54%, transparent 61%);
  transform: translateX(-120%) skewX(-10deg);
  mix-blend-mode: screen;
}

.hero-slideshow.is-opening .hero-flash,
.hero-slideshow.is-switching .hero-flash {
  animation: hero-luxe-flash 1.18s cubic-bezier(.2, .75, .1, 1);
}

@keyframes hero-luxe-flash {
  0% { opacity: 0; transform: translateX(-120%) skewX(-10deg); }
  14% { opacity: .95; }
  62% { opacity: .55; }
  100% { opacity: 0; transform: translateX(120%) skewX(-10deg); }
}

.hero-frame-corner {
  position: absolute;
  z-index: 6;
  width: 46px;
  height: 46px;
  opacity: .8;
  pointer-events: none;
}

.hero-frame-corner--one {
  top: 23px;
  left: 23px;
  border-top: 2px solid rgba(225, 239, 245, .78);
  border-left: 2px solid rgba(225, 239, 245, .78);
}

.hero-frame-corner--two {
  right: 23px;
  bottom: 23px;
  border-right: 2px solid rgba(225, 239, 245, .78);
  border-bottom: 2px solid rgba(225, 239, 245, .78);
}

@keyframes hero-sweep {
  0%, 25% { transform: translateX(-58%); }
  55%, 100% { transform: translateX(58%); }
}

.hero-slide-caption {
  z-index: 7;
}

.hero-slide-caption .hero-count {
  color: var(--sand);
  margin-right: 12px;
}

.hero-slide-caption .hero-caption-text {
  color: #b9c4c4;
  margin-right: 0;
}

@media (max-width: 760px) {
  .hero-slideshow .hero-slide {
    min-height: 350px;
  }

  .hero-frame-corner {
    width: 34px;
    height: 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slideshow .hero-slide {
    transition: none;
    transform: none;
  }

  .hero-sweep {
    animation: none;
  }

  .hero-halo,
  .hero-slideshow::before {
    animation: none;
  }

  .hero-flash {
    display: none;
  }
}
/* Gallery viewer controls */
.lightbox{margin:auto;width:min(1120px,calc(100vw - 32px));max-width:none;padding:0;border:0;background:transparent;overflow:visible}.lightbox::backdrop{background:rgba(3,7,17,.92);backdrop-filter:blur(8px)}.lightbox-frame{position:relative;display:grid;place-items:center;min-height:min(800px,calc(100dvh - 48px))}.lightbox figure{display:grid;justify-items:center;gap:.8rem;max-width:100%;margin:0}.lightbox img{display:block;width:auto;max-width:min(100%,1120px);max-height:calc(100dvh - 112px);object-fit:contain;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.lightbox figcaption{max-width:760px;color:#d9e1e1;font:11px var(--mono);letter-spacing:.08em;text-align:center;text-transform:uppercase}.lightbox-close,.lightbox-nav{position:absolute;z-index:3;display:grid;place-items:center;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(9,16,19,.72);color:var(--paper);backdrop-filter:blur(12px);cursor:pointer;transition:transform .2s,background .2s,border-color .2s}.lightbox-close{top:12px;right:12px}.lightbox-nav{top:50%;transform:translateY(-50%)}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-close:hover,.lightbox-nav:hover{background:var(--sand);border-color:var(--sand);color:var(--ink)}.lightbox-close:hover{transform:rotate(90deg)}.lightbox-nav:hover{transform:translateY(-50%) scale(1.08)}.lightbox svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lightbox-counter{position:absolute;bottom:12px;left:50%;margin:0;padding:0!important;transform:translateX(-50%);color:var(--sand);font:10px var(--mono)!important;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}@media(max-width:640px){.lightbox{width:calc(100vw - 16px)}.lightbox-frame{min-height:calc(100dvh - 24px)}.lightbox img{max-height:calc(100dvh - 155px);border-radius:12px}.lightbox-close,.lightbox-nav{width:2.75rem;height:2.75rem}.lightbox-close{top:5px;right:5px}.lightbox-prev{left:3px}.lightbox-next{right:3px}.lightbox-counter{bottom:2px;font-size:9px!important}}
/* Nezávazná poptávka */
.inquiry-form{margin-top:24px}.inquiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.inquiry-fields label{display:grid;gap:7px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#dce8ff}.inquiry-fields label:last-child{grid-column:1/-1}.inquiry-fields input,.inquiry-fields textarea{width:100%;border:1px solid rgba(255,255,255,.42);background:rgba(10,19,40,.48);border-radius:0;color:#fff;padding:12px 13px;font:inherit;letter-spacing:normal;text-transform:none;resize:vertical}.inquiry-fields input:focus,.inquiry-fields textarea:focus{outline:2px solid #fff;outline-offset:2px;border-color:#fff}.inquiry-form .button{border:0;cursor:pointer;margin-top:16px;font-family:inherit}.inquiry-status{min-height:1.5em;margin:12px 0 0;font-size:13px;color:#e6efff}@media(max-width:760px){.inquiry-fields{grid-template-columns:1fr}.inquiry-fields label:last-child{grid-column:auto}.inquiry-form .button{width:100%;justify-content:space-between}}
.brand.brand-logo {
  flex: 0 0 154px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 154px !important;
  height: 58px !important;
  min-height: 0 !important;
  max-height: 58px !important;
  overflow: hidden;
  padding: 0 !important;
  gap: 0;
  background: transparent !important;
  border-radius: 0;
  box-shadow: none !important;
}

.brand.brand-logo img {
  display: block;
  width: 154px !important;
  height: 58px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 154px !important;
  max-height: 58px !important;
  object-fit: contain;
  object-position: center;
}

footer .brand.brand-logo {
  flex-basis: 130px !important;
  width: 130px !important;
  height: 50px !important;
  max-height: 50px !important;
}

footer .brand.brand-logo img {
  width: 130px !important;
  height: 50px !important;
  max-width: 130px !important;
  max-height: 50px !important;
}

.hero-slideshow .hero-slide--workshop.is-active {
filter: saturate(.82) contrast(1.14) brightness(.55) hue-rotate(3deg) !important;
}

@media (max-width: 600px) {
  .brand.brand-logo {
    flex-basis: 116px !important;
    width: 116px !important;
    height: 44px !important;
    max-height: 44px !important;
  }

  .brand.brand-logo img {
    width: 116px !important;
    height: 44px !important;
    max-width: 116px !important;
    max-height: 44px !important;
  }

  footer .brand.brand-logo {
    flex-basis: 104px !important;
    width: 104px !important;
    height: 40px !important;
    max-height: 40px !important;
  }

  footer .brand.brand-logo img {
    width: 104px !important;
    height: 40px !important;
    max-width: 104px !important;
    max-height: 40px !important;
  }
}
