:root {
  --v2-black: #070b14;
  --v2-dark: #0e1320;
  --v2-mid: #131827;
  --v2-panel: #161b2a;
  --v2-text: #f2f2f8;
  --v2-text-soft: #c8c6d7;
  --v2-text-muted: #a9a5b9;
  --v2-violet: #7341d5;
  --v2-violet-mid: #7d55d8;
  --v2-border: rgba(123, 63, 242, 0.28);
  --v2-accent: #7341d5;
  --v2-line-subtle: rgba(155, 125, 234, 0.10);
  --v2-line-strong: rgba(138, 114, 202, 0.60);
  --v2-radius: 10px;
  --v2-radius-sm: 6px;
}

.v2-site {
  background: var(--v2-black);
  color: var(--v2-text);
  font-family: "ff-real-text-pro", sans-serif;
}

.v2-site .main-container {
  position: relative;
  z-index: 2;
}

.v2-site .banner {
  background-color: #6937cc;
}

.v2-site .banner a {
  color: #fff;
  text-decoration: none;
}

.v2-site .banner a:hover {
  text-decoration: underline;
}

.v2-site .v2-grain {
  position: fixed;
  inset: -50%;
  width: 200%;
  height: 200%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");
  opacity: 0.018;
  pointer-events: none;
  z-index: 1;
  animation: v2Grain 0.45s steps(3) infinite;
}

@keyframes v2Grain {
  0% {
    transform: translate(0, 0);
  }

  33% {
    transform: translate(-3%, -4%);
  }

  66% {
    transform: translate(4%, -2%);
  }

  100% {
    transform: translate(-1%, 3%);
  }
}

.v2-cinema {
  background: var(--v2-black);
  color: var(--v2-text);
}

.v2-cinema p,
.v2-cinema li,
.v2-cinema span {
  color: var(--v2-text-soft);
}

.v2-cinema h1,
.v2-cinema h2,
.v2-cinema h3,
.v2-cinema h4,
.v2-cinema h5,
.v2-cinema h6 {
  color: #fff;
}

.v2-site .btn {
  border-radius: var(--v2-radius-sm);
  padding: 0.82rem 1.25rem;
  letter-spacing: 0.08em;
  transition: transform 260ms cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 260ms cubic-bezier(0.22, 0.61, 0.36, 1),
    background-color 260ms ease, border-color 260ms ease;
}

.v2-site .btn .btn__text,
.v2-site .btn span {
  color: inherit;
}

.v2-site .btn--primary-1 {
  background: linear-gradient(120deg, #7341d5, #7d55d8);
  border-color: transparent;
  color: #f8f5ff;
  box-shadow: 0 10px 24px rgba(109, 48, 239, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.v2-site .btn--primary-1:hover {
  transform: translateY(-2px) scale(1.01);
  background: linear-gradient(120deg, #7d55d8, #7341d5);
}

.v2-site .btn--primary-1:active {
  transform: translateY(0) scale(0.985);
  box-shadow: 0 6px 14px rgba(105, 55, 204, 0.22), inset 0 2px 8px rgba(0, 0, 0, 0.18);
}

.v2-cinema #menu1,
.v2-cinema #menu1 .menu-horizontal>li>a,
.v2-cinema #menu1 .btn--white {
  color: #f2f2f8;
}

.v2-cinema .bar--mobile-sticky {
  background: rgba(7, 11, 20, 0.92);
  border-bottom: 1px solid var(--v2-border);
  backdrop-filter: blur(10px);
}

@media (max-width: 767px) {
  .v2-cinema .bar.bar--mobile-sticky[data-scroll-class*='fixed'].pos-fixed {
    background: rgba(7, 11, 20, 0.92) !important;
    border-bottom: 1px solid var(--v2-border) !important;
    backdrop-filter: blur(10px);
  }

  .v2-cinema #menu1 {
    position: fixed !important;
    top: var(--v2-mobile-menu-top, 68px);
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    box-shadow: none !important;
    backdrop-filter: none !important;
    z-index: 1000;
    background: rgba(7, 11, 20, 0.96) !important;
    border-bottom: 1px solid var(--v2-border);
  }

  .v2-cinema #menu1.pos-fixed,
  .v2-cinema #menu1.v2c-nav-scrolled {
    position: fixed !important;
    top: var(--v2-mobile-menu-top, 68px) !important;
    left: 0;
    right: 0;
  }

  .v2-cinema #menu1 .container {
    width: 100%;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .v2-cinema #menu1.bar {
    padding: 0.3em 0 0.45em !important;
  }

  .v2-cinema #menu1 .row {
    margin-left: 0;
    margin-right: 0;
  }

  .v2-cinema #menu1 .row>[class*='col-'] {
    float: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .v2-cinema #menu1 .menu-horizontal {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 100%;
    margin: 0;
  }

  .v2-cinema #menu1 .menu-horizontal>li {
    display: block;
    margin: 0 !important;
  }

  .v2-cinema #menu1 .menu-horizontal>li>a {
    display: block;
    padding: 10px 0;
    line-height: 1.3 !important;
    font-size: 1.14rem !important;
    letter-spacing: 0.07em;
  }

  .v2-cinema #menu1.bar-1 .menu-horizontal>li>a {
    font-size: 1.14rem !important;
  }

  .v2-cinema #menu1 .bar__module {
    margin-bottom: 0 !important;
  }

  .v2-cinema #menu1 .bar__module+.bar__module {
    margin-top: 0 !important;
  }

  .v2-cinema.v2-home #menu1,
  .v2-cinema.v2-home #menu1.pos-fixed,
  .v2-cinema.v2-home #menu1.v2c-nav-scrolled {
    background: rgba(7, 11, 20, 0.96) !important;
    border-bottom: 1px solid var(--v2-border) !important;
  }

  .v2-cinema .nav-container,
  .v2-cinema .main-container {
    overflow-x: clip;
  }
}

.v2-cinema .bar--mobile-sticky .stack-menu {
  color: #f2f2f8;
}

@media (max-width: 767px) {

  .v2-cinema .bar.bar--mobile-sticky .logo,
  .v2-cinema .bar.bar--xs.visible-xs .logo {
    margin-top: 0 !important;
    margin-bottom: 3px !important;
    top: 0 !important;
  }
}

.v2-cinema.v2-home #menu1 {
  background: transparent !important;
  border-bottom: 1px solid transparent;
}

.v2-cinema.v2-home .nav-container,
.v2-cinema.v2-home .nav-container>div {
  background: transparent !important;
}

.v2-cinema.v2-home #menu1:not(.v2c-nav-scrolled):not(.pos-fixed) {
  background: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.v2-cinema.v2-home #menu1.v2c-nav-scrolled,
.v2-cinema.v2-home #menu1.pos-fixed {
  background: rgba(7, 11, 20, 0.92) !important;
  border-bottom-color: var(--v2-border) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(10px) !important;
}

.v2-cinema:not(.v2-home) #menu1 {
  background: rgba(7, 11, 20, 0.92) !important;
  border-bottom: 1px solid var(--v2-border);
  backdrop-filter: blur(10px);
}

.v2-cinema #menu1 .logo-dark,
.v2-cinema .bar--mobile-sticky .logo-dark {
  display: none !important;
}

.v2-cinema #menu1 .logo-light,
.v2-cinema .bar--mobile-sticky .logo-light {
  display: inline-block !important;
}

.v2-cinema #menu1 .bar__module .logo,
.v2-cinema .bar--mobile-sticky .logo {
  opacity: 1 !important;
  filter: none !important;
  transition: none !important;
}

.v2-cinema #menu1 .bar__module .logo:hover,
.v2-cinema #menu1 .bar__module .logo:focus,
.v2-cinema .bar--mobile-sticky .logo:hover,
.v2-cinema .bar--mobile-sticky .logo:focus {
  opacity: 1 !important;
  filter: none !important;
}

.v2-cinema .v2c-hero {
  min-height: 100vh;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}

.v2-cinema .v2c-hero::before,
.v2-cinema .v2c-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: clamp(24px, 6vh, 66px);
  background: var(--v2-black);
  z-index: 4;
}

.v2-cinema .v2c-hero::before {
  top: 0;
}

.v2-cinema .v2c-hero::after {
  bottom: 0;
}

.v2-cinema.v2-home .v2c-hero::before,
.v2-cinema.v2-home .v2c-hero::after {
  display: none;
}

.v2-cinema.v2-home .v2c-hero {
  background: var(--v2-black);
}

.v2-cinema .v2c-hero-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.v2-cinema.v2-home .v2c-hero-video {
  opacity: 0;
  transition: opacity 520ms ease;
}

.v2-cinema.v2-home .v2c-hero.is-video-ready .v2c-hero-video {
  opacity: 1;
}

.v2-cinema .v2c-hero-video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh;
  min-width: 100%;
  height: 56.25vw;
  min-height: 100%;
  border: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.v2-cinema .v2c-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 60% 40%, rgba(115, 65, 213, 0.17) 0%, transparent 70%),
    radial-gradient(ellipse 50% 70% at 20% 80%, rgba(115, 65, 213, 0.14) 0%, transparent 60%),
    rgba(7, 11, 20, 0.5);
  z-index: 1;
}

.v2-cinema.v2-home .v2c-hero-bg {
  background:
    linear-gradient(to top, rgba(7, 11, 20, 0.5) 0%, rgba(7, 11, 20, 0.2) 40%, rgba(7, 11, 20, 0.08) 100%),
    rgba(7, 11, 20, 0.16);
}

.v2-cinema.v2-home .v2c-hero-video iframe {
  filter: saturate(0.9) contrast(1.04) brightness(0.92);
}

.v2-cinema .v2c-hero-photo {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.v2-cinema.v2-home .v2c-hero-photo {
  display: none;
}

.v2-cinema.v2-home .v2c-hero-photo {
  opacity: 1;
  transition: opacity 420ms ease;
}

.v2-cinema.v2-home .v2c-hero.is-video-ready .v2c-hero-photo {
  opacity: 0;
}

.v2-cinema .v2c-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  filter: grayscale(0.2) contrast(1.03);
}

.v2-cinema .v2c-hero-content {
  position: relative;
  z-index: 5;
  text-align: center;
  padding: 0 24px;
  max-width: 920px;
}

.v2-cinema .v2c-eyebrow,
.v2-cinema .v2c-section-label {
  font-size: 0.72rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #7341d5;
  margin-bottom: 24px;
  font-weight: 600;
}

.v2-cinema .v2c-eyebrow .v2c-eyebrow-year {
  color: inherit;
}

.v2-cinema .v2c-title {
  font-size: clamp(2.8rem, 9vw, 7rem);
  line-height: 0.92;
  letter-spacing: -0.02em;
  color: #fff;
  font-weight: 600;
}

.v2-cinema .v2c-title em {
  font-style: italic;
  color: #7d55d8;
  display: block;
}

.v2-cinema.v2-home h2 {
  font-size: clamp(2.05rem, 4.4vw, 3.85rem);
  line-height: 1.02;
  letter-spacing: -0.015em;
}

.v2-cinema .v2c-sub {
  margin: 36px auto 0;
  font-size: 1.03rem;
  color: #c8c6d7;
  letter-spacing: 0.02em;
  max-width: 560px;
  line-height: 1.8;
}

.v2-cinema .v2c-hero-actions {
  margin-top: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.v2-cinema .v2c-hero-actions .btn {
  font-size: 0.8rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  padding: 13px 24px;
}

.v2-cinema .v2c-link-ghost {
  color: #f2f2f8;
  font-size: 0.82rem;
  letter-spacing: 0.11em;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: var(--v2-radius-sm);
  padding: 12px 20px;
  line-height: 1;
  transition: transform 220ms ease, color 220ms ease, border-color 220ms ease, background-color 220ms ease;
}

.v2-cinema .v2c-link-ghost:hover {
  color: #fff;
  border-color: #fff;
  background: rgba(255, 255, 255, 0.06);
  transform: translateY(-1px);
}

.v2-cinema .v2c-scroll {
  position: absolute;
  bottom: 10vh;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.v2-cinema .v2c-scroll span {
  font-size: 0.62rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #b9b5c9;
}

.v2-cinema .v2c-scroll-line {
  width: 1px;
  height: 50px;
  background: linear-gradient(to bottom, #7253c4, transparent);
  animation: v2cPulse 2s ease-in-out infinite;
}

@keyframes v2cPulse {

  0%,
  100% {
    transform: scaleY(1);
    opacity: 1;
  }

  50% {
    transform: scaleY(0.62);
    opacity: 0.4;
  }
}

@keyframes v2cFadeUp {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.v2-cinema .v2c-hero-content .v2c-eyebrow {
  animation: v2cFadeUp 600ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.v2-cinema .v2c-hero-content .v2c-title {
  animation: v2cFadeUp 700ms cubic-bezier(0.22, 0.61, 0.36, 1) 110ms both;
}

.v2-cinema .v2c-hero-content .v2c-sub {
  animation: v2cFadeUp 700ms cubic-bezier(0.22, 0.61, 0.36, 1) 230ms both;
}

.v2-cinema .v2c-hero-content .v2c-hero-actions {
  animation: v2cFadeUp 700ms cubic-bezier(0.22, 0.61, 0.36, 1) 360ms both;
}

.v2-cinema .v2c-section {
  padding: clamp(56px, 6.5vw, 80px) clamp(24px, 6vw, 80px) clamp(48px, 6.5vw, 72px) !important;
}

.v2-cinema .v2c-section+.v2c-section {
  border-top: 1px solid rgba(155, 125, 234, 0.1);
}

.v2-cinema .v2c-intro,
.v2-cinema .v2c-process-inner,
.v2-cinema .v2c-testimonials-inner,
.v2-cinema .v2c-region-inner,
.v2-cinema .v2c-contact-inner,
.v2-cinema .v2c-portfolio-header,
.v2-cinema .v2c-portfolio-grid {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.v2-cinema .v2c-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
}

.v2-cinema .v2c-intro-right p {
  font-size: 1rem;
  line-height: 1.9;
  color: #c8c6d7;
}

.v2-cinema .v2c-intro-right p+p {
  margin-top: 16px;
}

.v2-cinema .v2c-stats {
  margin-top: 44px;
  display: flex;
  gap: 34px;
  flex-wrap: wrap;
}

.v2-cinema .v2c-stats--row {
  max-width: 1120px;
  margin: 52px auto 0;
  padding-top: 44px;
  border-top: 1px solid var(--v2-line-subtle);
  justify-content: center;
  gap: 64px;
}

.v2-cinema .v2c-stat-num {
  font-size: 2.5rem;
  color: #7253c4;
  line-height: 1;
  font-weight: 300;
}

.v2-cinema .v2c-stat-label {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #aba7bc;
  margin-top: 6px;
}

.v2-cinema .v2c-portfolio {
  background: var(--v2-dark);
}

.v2-cinema .v2c-portfolio-header {
  margin-bottom: 64px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
}

.v2-cinema .v2c-portfolio-header a {
  color: #7253c4;
  text-decoration: none;
  font-size: 0.82rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(155, 125, 234, 0.4);
  align-self: flex-end;
  margin-bottom: 0.2rem;
}

.v2-cinema .v2c-portfolio-header>div h2 {
  margin: 0;
}

.v2-cinema .v2c-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: 340px 290px;
  gap: 3px;
}

.v2-cinema .v2c-item {
  position: relative;
  overflow: hidden;
  min-height: 200px;
  background: #161b2a;
}

.v2-cinema .v2c-item:nth-child(1) {
  grid-column: span 5;
}

.v2-cinema .v2c-item:nth-child(2) {
  grid-column: span 4;
}

.v2-cinema .v2c-item:nth-child(3) {
  grid-column: span 3;
}

.v2-cinema .v2c-item:nth-child(4) {
  grid-column: span 3;
}

.v2-cinema .v2c-item:nth-child(5) {
  grid-column: span 4;
}

.v2-cinema .v2c-item:nth-child(6) {
  grid-column: span 5;
}

.v2-cinema .v2c-item .modal-trigger,
.v2-cinema .v2c-item .video-preview {
  display: block;
  height: 100%;
  text-decoration: none;
}

.v2-cinema .v2c-portfolio-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.72);
  transition: transform 0.7s ease, filter 0.4s ease;
}

.v2-cinema .v2c-item:hover .v2c-portfolio-img {
  transform: scale(1.06);
  filter: brightness(0.5);
}

.v2-cinema .v2c-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
  background: linear-gradient(to top, rgba(7, 11, 20, 0.9) 0%, transparent 60%);
  opacity: 1;
}

.v2-cinema .v2c-tag {
  font-size: 0.58rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #8a72ca;
  margin-bottom: 8px;
  font-weight: 600;
}

.v2-cinema .v2c-item-title {
  font-size: 1.45rem;
  color: #fff;
  line-height: 1.25;
  font-weight: 600;
}

.v2-cinema .v2c-item-desc {
  margin-top: 8px;
  color: #c8c6d7;
  font-size: 0.82rem;
}

.v2-cinema .v2c-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  pointer-events: none;
  z-index: 2;
  opacity: 0.65;
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.v2-cinema .v2c-item:hover .v2c-play-btn {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.75);
}

.v2-cinema .v2c-project-link {
  position: absolute;
  bottom: 14px;
  right: 16px;
  z-index: 5;
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8a72ca;
  text-decoration: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.v2-cinema .v2c-item:hover .v2c-project-link {
  opacity: 1;
  pointer-events: auto;
}

.v2-cinema .v2c-process {
  background: var(--v2-black);
}

.v2-cinema .v2c-process-inner h2 {
  margin-top: 10px;
  margin-bottom: 68px;
  max-width: 560px;
}

.v2-cinema .v2c-process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.v2-cinema .v2c-step {
  background: var(--v2-panel);
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius);
  padding: 38px 30px;
  box-shadow: 0 8px 24px rgba(5, 8, 18, 0.22);
}

.v2-cinema .v2c-step-num {
  font-size: 2.6rem;
  color: rgba(155, 125, 234, 0.3);
  margin-bottom: 18px;
  line-height: 1;
}

.v2-cinema .v2c-step-title {
  font-size: 1.25rem;
  color: #fff;
  margin-bottom: 12px;
  font-weight: 400;
}

.v2-cinema .v2c-step p {
  color: #c8c6d7;
  line-height: 1.8;
  font-size: 0.84rem;
}

.v2-cinema .v2c-testimonials {
  background: var(--v2-mid);
}

.v2-cinema .v2c-testimonials-inner {
  text-align: center;
  max-width: 1000px;
}

.v2-cinema .v2c-testimonials h2 {
  margin-top: 10px;
  margin-bottom: 46px;
}

.v2-cinema .v2c-carousel {
  position: relative;
  min-height: 210px;
}

.v2-cinema .v2c-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.v2-cinema .v2c-slide.active {
  opacity: 1;
  position: relative;
}

.v2-cinema .v2c-quote {
  font-size: clamp(1.05rem, 2.2vw, 1.45rem);
  line-height: 1.7;
  color: #ecebff;
  max-width: 760px;
  margin: 0 auto;
}

.v2-cinema .v2c-author {
  margin-top: 26px;
  color: #7253c4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.74rem;
  font-weight: 600;
}

.v2-cinema .v2c-author span {
  display: block;
  color: #a9a5b9;
  letter-spacing: normal;
  text-transform: none;
  margin-top: 5px;
}

.v2-cinema .v2c-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 34px;
}

.v2-cinema .v2c-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: none;
  background: #7e7897;
  cursor: pointer !important;
}

.v2-cinema .v2c-dot.active {
  background: #7253c4;
  transform: scale(1.3);
}

.v2-cinema .v2c-region {
  background: var(--v2-dark);
}

.v2-cinema .v2c-region-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(40px, 6vw, 92px);
  align-items: end;
}

.v2-cinema .v2c-region-text p {
  color: #c8c6d7;
  line-height: 1.9;
  margin-bottom: 0;
}

.v2-cinema .v2c-region-text h2 {
  margin-top: 8px;
  margin-bottom: 20px;
}

.v2-cinema .v2c-region-lead {
  max-width: 56ch;
  font-size: 1.02rem;
  line-height: 1.7;
  color: #d6d2e5;
}

.v2-cinema .v2c-region-services-title {
  margin-top: 24px;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #bca7f4;
  font-weight: 600;
}

.v2-cinema .v2c-region-points {
  list-style: none;
  margin: 14px 0 0;
  padding: 0 0 0 20px;
  border-left: 1px solid rgba(158, 109, 255, 0.35);
  display: grid;
  gap: 14px;
}

.v2-cinema .v2c-region-points li {
  color: #cdc9db;
  font-size: 0.92rem;
  line-height: 1.65;
}

.v2-cinema .v2c-region-points strong {
  color: #f0edff;
  font-weight: 600;
}

.v2-cinema .v2c-region-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin-top: 24px;
}

.v2-cinema .v2c-region-meta span {
  border: 1px solid rgba(158, 109, 255, 0.34);
  border-radius: 6px;
  padding: 7px 12px;
  font-size: 0.66rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #bca7f4;
  background: rgba(15, 20, 34, 0.6);
}

.v2-cinema .v2c-region-card {
  border: 1px solid rgba(158, 109, 255, 0.22);
  border-radius: 10px;
  background: rgba(16, 22, 38, 0.72);
  box-shadow: 0 18px 40px rgba(4, 8, 17, 0.34);
  overflow: hidden;
}

.v2-cinema .v2c-region-visual {
  position: relative;
  aspect-ratio: 13/10;
  background: #131a2b;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.v2-cinema .v2c-region-visual::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 42%;
  background: linear-gradient(to top, rgba(7, 11, 20, 0.72) 0%, rgba(7, 11, 20, 0.16) 55%, rgba(7, 11, 20, 0) 100%);
  pointer-events: none;
}

.v2-cinema .v2c-region-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 24% 64%;
  filter: saturate(0.9) contrast(0.98) brightness(0.9);
}

.v2-cinema .v2c-region-label {
  position: absolute;
  bottom: 16px;
  left: 16px;
  color: #ecebff;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 10px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(7, 11, 20, 0.6);
  border-radius: 4px;
}

.v2-cinema .v2c-region-card-meta {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.v2-cinema .v2c-region-card-meta span:first-child {
  color: #ede8ff;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.v2-cinema .v2c-region-card-meta span:last-child {
  color: #a8a2b9;
  font-size: 0.74rem;
  letter-spacing: 0.04em;
}

.v2-cinema .v2c-contact {
  background: var(--v2-black);
  text-align: center;
}

.v2-cinema .v2c-contact-inner {
  max-width: 720px;
}

.v2-cinema .v2c-contact-pre {
  font-size: 0.65rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: #7253c4;
  margin-bottom: 22px;
  font-weight: 600;
}

.v2-cinema .v2c-contact-inner p {
  color: #c8c6d7;
  margin: 20px 0 38px;
}

.v2-cinema .v2c-contact-email {
  font-size: clamp(1.2rem, 2.6vw, 2rem);
  color: #ecebff;
  font-style: italic;
  border-bottom: 1px solid rgba(155, 125, 234, 0.5);
}

.v2-cinema .v2c-contact-email:hover {
  color: #8a72ca;
  border-color: #8a72ca;
}

.v2-cinema .v2c-quote-stars {
  position: relative;
  overflow: hidden;
  padding: clamp(96px, 11vw, 150px) clamp(24px, 6vw, 80px) clamp(54px, 6.6vw, 80px) !important;
  background: var(--v2-black);
  text-align: center;
}

.v2-cinema .v2c-stars-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.75;
}

.v2-cinema .v2c-quote-inner {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
}

.v2-cinema .v2c-quote-inner blockquote {
  margin: 0;
  color: #f2efff;
  font-size: clamp(1.45rem, 3vw, 2.55rem);
  line-height: 1.35;
  font-style: italic;
}

.v2-cinema .v2c-quote-inner .js-word-reveal {
  visibility: hidden;
}

.v2-cinema .v2c-quote-inner .js-word-reveal.is-reveal-ready {
  visibility: visible;
}

.v2-cinema .v2c-chunk-bit {
  opacity: 0;
  transition: opacity 420ms ease;
}

.v2-cinema .v2c-chunk-bit.is-visible {
  opacity: 1;
}

.v2-cinema .v2c-quote-author {
  margin: 18px 0 0;
  color: #c7bfde;
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.v2-cinema .v2c-footer {
  background: #0e1320;
  border-top: 1px solid rgba(155, 125, 234, 0.2);
  width: 100%;
  margin: 0;
  padding: 30px clamp(40px, 10vw, 170px) 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.v2-cinema .v2c-footer--stars {
  position: relative;
  margin-top: clamp(36px, 5vw, 52px);
  background: transparent;
  border-top: none;
  padding: 0;
}

.v2-cinema .v2c-footer-logo {
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8a72ca;
  display: block;
  font-size: 0.92rem;
  font-weight: 600;
}

.v2-cinema .v2c-footer-tagline {
  margin: 8px 0 0;
  color: #8a72ca;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.72rem;
}

.v2-cinema .v2c-footer-links {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.v2-cinema .v2c-footer-links a {
  color: #d4d4db;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
}

.v2-cinema .v2c-footer-links a:hover {
  color: #fff;
}

.v2-cinema .v2c-footer-links a[href$="#kontakt"] {
  background: #7341d5;
  border: 1px solid #7341d5;
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(73, 36, 147, 0.35);
  color: #fff;
  padding: 0.34rem 1.1rem;
  line-height: 1.1;
}

.v2-cinema .v2c-footer-links a[href$="#kontakt"]:hover {
  background: #6838c6;
  border-color: #6838c6;
}

.v2-cinema .v2c-footer-links .v2c-footer-legal {
  flex-basis: 100%;
  order: 10;
  margin-top: 1px;
  font-size: 0.61rem;
  letter-spacing: 0.11em;
  color: #9a9aa3;
}

.v2-cinema .v2c-footer-links .v2c-footer-legal:hover {
  color: #d0d0d8;
}

.v2-cinema .v2c-footer.v2c-footer--portfolio {
  padding-top: 46px !important;
}

.v2-cinema .v2p-hero {
  padding-top: clamp(116px, 12vw, 180px) !important;
  padding-bottom: clamp(40px, 5vw, 64px) !important;
}

.v2-cinema .v2p-title {
  font-size: clamp(2.4rem, 7vw, 5rem);
  color: #fff;
  margin: 8px 0 14px;
}

.v2-cinema .v2p-sub {
  color: #c8c6d7;
  max-width: 720px;
  margin: 0 auto;
}

.v2-cinema .v2p-sub-word {
  display: inline-block;
  color: #e9e4fb;
  transition: opacity 220ms ease;
}

.v2-cinema .v2p-sub-word.is-fading {
  opacity: 0;
}

.v2-cinema .v2p-filter-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 0 auto 30px;
}

.v2-cinema .v2p-filter {
  border: 1px solid rgba(114, 83, 196, 0.45);
  background: rgba(10, 14, 26, 0.34);
  color: #d7d1e9;
  border-radius: 4px;
  padding: 8px 13px;
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer !important;
}

.v2-cinema .v2p-filter.active,
.v2-cinema .v2p-filter:hover {
  background: rgba(105, 55, 204, 0.28);
  border-color: rgba(114, 83, 196, 0.84);
  color: #fff;
}

.v2-cinema .v2p-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.v2-cinema .v2p-card {
  border: 1px solid rgba(125, 115, 160, 0.25);
  background: rgba(11, 16, 29, 0.8);
  overflow: hidden;
  position: relative;
  border-radius: 9px;
  transition: transform 280ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 280ms ease, box-shadow 280ms ease;
}

.v2-cinema .v2p-card:hover {
  transform: translateY(-4px) scale(1.005);
  border-color: rgba(138, 114, 202, 0.6);
  box-shadow: 0 14px 32px rgba(5, 8, 15, 0.35);
}

.v2-cinema .v2p-card.v2p-card-hidden {
  display: none !important;
}

.v2-cinema .v2p-card.v2p-card-enter {
  animation: v2pCardIn 560ms cubic-bezier(0.19, 0.78, 0.24, 1) both;
}

.v2-cinema .v2p-card.v2p-card-leave {
  animation: v2pCardOut 340ms cubic-bezier(0.25, 0.1, 0.25, 1) both;
}

@keyframes v2pCardIn {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(0.975);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes v2pCardOut {
  0% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  100% {
    opacity: 0;
    transform: translateY(16px) scale(0.98);
  }
}

.v2-cinema .v2p-media {
  display: block;
  position: relative;
  aspect-ratio: 16 / 9.8;
  overflow: hidden;
  line-height: 0;
}

.v2-cinema .v2p-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: 14px;
  background:
    radial-gradient(circle at 0% 0%, rgba(2, 4, 9, 0.62) 0%, rgba(2, 4, 9, 0) 18%),
    radial-gradient(circle at 100% 0%, rgba(2, 4, 9, 0.62) 0%, rgba(2, 4, 9, 0) 18%),
    radial-gradient(circle at 0% 100%, rgba(2, 4, 9, 0.62) 0%, rgba(2, 4, 9, 0) 18%),
    radial-gradient(circle at 100% 100%, rgba(2, 4, 9, 0.62) 0%, rgba(2, 4, 9, 0) 18%),
    repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 0 1px, rgba(0, 0, 0, 0) 1px 3px);
  box-shadow: inset 0 0 0 0 rgba(2, 4, 8, 0), inset 0 0 0 rgba(2, 4, 8, 0);
  opacity: 0;
  pointer-events: none;
  transition: opacity 280ms ease, box-shadow 280ms ease;
}

.v2-cinema .v2p-media::after {
  content: "";
  position: absolute;
  inset: 8px;
  z-index: 2;
  border-radius: 14px;
  border: 1px solid rgba(66, 72, 84, 0.34);
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.012), rgba(0, 0, 0, 0.02));
  box-shadow:
    0 6px 14px rgba(6, 10, 17, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    inset 0 -1px 0 rgba(2, 4, 8, 0.28),
    inset 0 0 10px rgba(0, 0, 0, 0.14);
  opacity: 0;
  transform: scale(0.992);
  transition: opacity 260ms ease, transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
  pointer-events: none;
}

.v2-cinema .v2p-card:hover .v2p-media::after {
  opacity: 0.6;
  transform: scale(1.002);
  border-color: rgba(78, 84, 99, 0.58);
  box-shadow:
    0 8px 16px rgba(6, 10, 17, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(2, 4, 8, 0.38),
    inset 0 0 16px rgba(0, 0, 0, 0.2);
}

.v2-cinema .v2p-card:hover .v2p-media::before {
  opacity: 1;
  box-shadow:
    inset 0 0 0 8px rgba(2, 4, 8, 0.88),
    inset 0 0 30px rgba(2, 4, 8, 0.76),
    inset 0 0 56px rgba(2, 4, 8, 0.4);
}

.v2-cinema .v2p-poster,
.v2-cinema .v2p-media .preview-anim {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.v2-cinema .v2p-media .preview-anim {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.005);
  transition: opacity 240ms ease, transform 360ms ease, filter 360ms ease;
}

.v2-cinema .v2p-media:hover .preview-anim {
  opacity: 1;
  transform: scale(1.015);
  filter: brightness(0.9);
}

.v2-cinema .v2p-body {
  position: absolute;
  inset: 0;
  z-index: 3;
  padding: 14px 16px;
  pointer-events: none;
  background:
    linear-gradient(to top, rgba(5, 8, 16, 0.94) 0%, rgba(6, 10, 18, 0.74) 28%, rgba(7, 11, 20, 0.28) 56%, rgba(7, 11, 20, 0) 76%);
}

.v2-cinema .v2p-body h4 {
  position: absolute;
  left: 16px;
  bottom: 62px;
  color: #fff;
  margin: 0;
  font-size: 1.34rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  max-width: calc(100% - 170px);
  line-height: 1.16;
  transition: bottom 240ms ease, transform 240ms ease;
}

.v2-cinema .v2p-body .v2p-desc {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 58px;
  margin: 0;
  color: rgba(249, 246, 255, 0.96);
  font-size: 0.99rem;
  line-height: 1.45;
  max-width: calc(100% - 32px);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-wrap: pretty;
  opacity: 0;
  transform: translateY(7px);
  transition: opacity 220ms ease, transform 240ms ease;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.v2-cinema .v2p-body .v2p-cat {
  position: absolute;
  left: 16px;
  bottom: 12px;
  margin: 0;
  color: rgba(115, 65, 213, 0.78);
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  max-width: calc(100% - 28px);
  padding: 3px 8px;
  border: 1px solid rgba(201, 187, 230, 0.32);
  border-radius: 6px;
  background: rgba(8, 12, 22, 0.68);
  backdrop-filter: blur(2px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: border-color 240ms ease, background-color 240ms ease;
}

.v2-cinema .v2p-card:hover .v2p-body h4,
.v2-cinema .v2p-card:focus-within .v2p-body h4 {
  bottom: 102px;
}

.v2-cinema .v2p-card:hover .v2p-body .v2p-desc,
.v2-cinema .v2p-card:focus-within .v2p-body .v2p-desc {
  opacity: 1;
  transform: translateY(0);
}

.v2-cinema .v2p-card:hover .v2p-body .v2p-cat,
.v2-cinema .v2p-card:focus-within .v2p-body .v2p-cat {
  border-color: rgba(206, 190, 242, 0.58);
  background: rgba(11, 16, 30, 0.78);
}

.v2-cinema .v2p-body a {
  display: none;
}

.v2-reveal {
  opacity: 1;
  transform: none;
}

.v2-has-js .v2-reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 700ms ease, transform 700ms cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--v2-reveal-delay, 0ms);
}

.v2-has-js .v2-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.v2-delay-1 {
  --v2-reveal-delay: 120ms;
}

.v2-delay-2 {
  --v2-reveal-delay: 220ms;
}

.v2-delay-3 {
  --v2-reveal-delay: 320ms;
}

@media (max-width: 900px) {
  .v2-cinema.v2-home .v2c-hero {
    min-height: 82svh;
  }

  .v2-cinema.v2-home .v2c-hero-content {
    max-width: 760px;
    padding: 0 20px;
  }

  .v2-cinema.v2-home .v2c-title {
    font-size: clamp(2.2rem, 10vw, 4.4rem);
    line-height: 0.95;
  }

  .v2-cinema.v2-home .v2c-sub {
    max-width: 34ch;
    font-size: 1.02rem;
  }

  .v2-cinema.v2-home .v2c-hero-actions {
    margin-top: 34px;
  }

  .v2-cinema.v2-home .v2c-scroll {
    bottom: clamp(14px, 3.5vh, 28px);
  }

  .v2-cinema .v2c-intro,
  .v2-cinema .v2c-region-inner {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .v2-cinema .v2c-process-steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .v2-cinema .v2c-portfolio-grid {
    grid-template-rows: auto;
  }

  .v2-cinema .v2c-item:nth-child(1) {
    grid-column: span 6;
    min-height: 250px;
  }

  .v2-cinema .v2c-item:nth-child(2),
  .v2-cinema .v2c-item:nth-child(3),
  .v2-cinema .v2c-item:nth-child(4),
  .v2-cinema .v2c-item:nth-child(5),
  .v2-cinema .v2c-item:nth-child(6) {
    grid-column: span 6;
  }

  .v2-cinema .v2p-grid {
    grid-template-columns: 1fr;
  }

  .v2-cinema .v2c-region-visual {
    aspect-ratio: 13/10;
  }

  .v2-cinema .v2c-region-visual img {
    object-position: 30% 62%;
  }

  .v2-cinema.v2-home .v2c-hero-video {
    display: block;
  }

  .v2-cinema.v2-home .v2c-hero-photo {
    display: block;
    z-index: 0;
  }
}

@media (max-width: 600px) {
  .v2-cinema .v2p-filter-wrap {
    gap: 6px 8px;
    margin: 0 auto 18px;
  }

  .v2-cinema .v2p-filter {
    padding: 7px 11px;
    font-size: 0.79rem;
  }

  .v2-cinema.v2-home .v2c-hero {
    min-height: 72svh;
  }

  .v2-cinema .v2c-process-steps {
    grid-template-columns: 1fr;
  }

  .v2-cinema .v2c-item:nth-child(1),
  .v2-cinema .v2c-item:nth-child(n+2) {
    grid-column: span 12;
  }

  .v2-cinema .v2c-hero-actions {
    flex-direction: column;
  }

  .v2-cinema.v2-home .v2c-hero-actions {
    margin-top: 26px;
  }

  .v2-cinema.v2-home .v2c-scroll {
    display: none;
  }

  .v2-cinema .v2c-hero-photo img {
    object-position: 50% 14%;
  }

  .v2-cinema.v2-home .v2c-eyebrow .v2c-eyebrow-year {
    display: block;
    margin-top: 6px;
  }

  .v2-site .v2-grain {
    display: none;
  }
}

/* ══════════════════════════════════════════════════
   SHARED COMPONENTS  (used across all pages)
   ══════════════════════════════════════════════════ */

/* ── Section background variants ─────────────────── */
.v2-cinema .v2c-section--dark {
  background: var(--v2-dark);
}

.v2-cinema .v2c-section--mid {
  background: var(--v2-mid);
}

/* ── Card ─────────────────────────────────────────── */
.v2-cinema .v2c-card {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius);
  background: var(--v2-panel);
  padding: 32px;
  box-shadow: 0 20px 50px rgba(5, 8, 18, 0.28);
}

.v2-cinema .v2c-card h3 {
  font-size: 1.05rem;
  color: #fff;
  margin: 0 0 12px;
  font-weight: 500;
}

.v2-cinema .v2c-card p {
  color: var(--v2-text-soft);
  line-height: 1.85;
  font-size: 0.88rem;
  margin: 0;
}

.v2-cinema .v2c-card--sticky {
  position: sticky;
  top: 100px;
}

/* ── Cards grid (3-col, separator-line style) ─────── */
.v2-cinema .v2c-cards-section {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.v2-cinema .v2c-cards-section .v2c-section-label {
  display: flex;
}

.v2-cinema .v2c-cards-section h2 {
  margin-top: 10px;
  margin-bottom: 0;
  max-width: 640px;
}

.v2-cinema .v2c-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 52px;
}

/* ── Profile list ─────────────────────────────────── */
.v2-cinema .v2c-list {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
}

.v2-cinema .v2c-list li {
  position: relative;
  padding: 11px 0 11px 20px;
  border-bottom: 1px solid var(--v2-line-subtle);
  color: var(--v2-text-soft);
  font-size: 0.87rem;
  line-height: 1.6;
}

.v2-cinema .v2c-list li:last-child {
  border-bottom: none;
}

.v2-cinema .v2c-list li::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--v2-accent);
  position: absolute;
  left: 0;
  top: 18px;
}

/* ── Callout (left-border accent block) ───────────── */
.v2-cinema .v2c-callout {
  border-left: 2px solid var(--v2-accent);
  padding-left: 32px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* ══════════════════════════════════════════════════
   PAGE HERO  (inner pages — no video, left-aligned)
   ══════════════════════════════════════════════════ */
.v2-cinema .v2c-hero--page {
  min-height: 72vh;
}

.v2-cinema .v2c-hero--page .v2c-hero-photo {
  z-index: 0;
  /* visible — no video layer above it */
}

.v2-cinema .v2c-hero--page .v2c-hero-content {
  text-align: left;
  justify-self: start;
  max-width: 620px;
  padding: 0 clamp(24px, 6vw, 80px);
}

.v2-cinema .v2c-hero--page .v2c-title {
  font-size: clamp(2.2rem, 6vw, 5rem);
}

.v2-cinema .v2c-hero--page .v2c-hero-actions {
  justify-content: flex-start;
}

@media (max-width: 900px) {
  .v2-cinema .v2c-cards-grid {
    grid-template-columns: 1fr;
  }

  .v2-cinema .v2c-card--sticky {
    position: static;
  }
}

@media (max-width: 600px) {
  .v2-cinema .v2c-hero--page {
    min-height: 62vh;
  }

  .v2-cinema .v2c-hero--page .v2c-hero-content {
    max-width: 100%;
  }

  .v2-cinema .v2c-hero--page .v2c-hero-actions {
    flex-direction: column;
  }

  .v2-cinema .v2c-callout {
    padding-left: 22px;
  }
}

/* ══════════════════════════════════════════════════
   Portfolio Detail Readability Fixes
   ══════════════════════════════════════════════════ */
.v2-cinema .bar .bar__module>a.btn.btn--sm.type--uppercase[href$="#kontakt"] {
  background: #7341d5;
  border-color: #7341d5;
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(73, 36, 147, 0.35);
  padding: 0.34rem 1.1rem !important;
  margin-top: 5px;
  margin-bottom: 8px;
  min-height: 2.1rem;
  display: inline-flex;
  align-items: center;
}

.v2-cinema .bar .bar__module>a.btn.btn--sm.type--uppercase[href$="#kontakt"] .btn__text {
  color: #fff !important;
  letter-spacing: 0.03em;
  line-height: 1.1;
}

.v2-cinema .bar .bar__module>a.btn.btn--sm.type--uppercase[href$="#kontakt"]:hover {
  background: #6838c6;
  border-color: #6838c6;
  transform: translateY(-1px);
}

.v2-cinema .bar .bar__module>a.btn.btn--sm.type--uppercase[href$="#kontakt"]:focus-visible {
  outline: 2px solid rgba(196, 173, 255, 0.9);
  outline-offset: 2px;
}

/* Portfolio content links on dark sections: increase contrast (non-button links) */
.v2-cinema:not(.v2-home) .main-container a:not(.btn):not(.v2c-project-link):not(.back-to-top) {
  color: #d4d4db !important;
}

.v2-cinema:not(.v2-home) .main-container a:not(.btn):not(.v2c-project-link):not(.back-to-top):hover {
  color: #ffffff !important;
}

/* Legacy dark sections across portfolio pages */
.v2-cinema .bg--dark a:not(.btn),
.v2-cinema section.bg--dark a:not(.btn),
.v2-cinema .imagebg:not(.image--light) a:not(.btn),
.v2-cinema footer a:not(.btn) {
  color: #c9c9cf !important;
}

.v2-cinema .bg--dark a:not(.btn):hover,
.v2-cinema section.bg--dark a:not(.btn):hover,
.v2-cinema .imagebg:not(.image--light) a:not(.btn):hover,
.v2-cinema footer a:not(.btn):hover {
  color: #ffffff !important;
}

/* Keep running text neutral (not purple) on portfolio pages */
.v2-cinema:not(.v2-home) .main-container p,
.v2-cinema:not(.v2-home) .main-container li,
.v2-cinema:not(.v2-home) .main-container .lead,
.v2-cinema:not(.v2-home) .main-container .type--fine-print,
.v2-cinema:not(.v2-home) .main-container blockquote {
  color: #c3c3ca !important;
}

.v2-cinema footer .list-inline>li>a[href$="#kontakt"] {
  background: #7341d5;
  border: 1px solid #7341d5;
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(73, 36, 147, 0.35);
  color: #fff !important;
  padding: 0.34rem 1.1rem;
  margin-top: 5px;
  margin-bottom: 8px;
  min-height: 2.1rem;
  display: inline-flex;
  align-items: center;
}

.v2-cinema footer .list-inline>li>a[href$="#kontakt"] .h6,
.v2-cinema footer .list-inline>li>a[href$="#kontakt"] p {
  color: #fff !important;
  margin: 0;
  line-height: 1.1;
}

.v2-cinema footer .list-inline>li>a[href$="#kontakt"]:hover {
  background: #6838c6;
  border-color: #6838c6;
}

/* Portfolio detail footer cleanup: remove social icons and rebalance layout */
.v2-cinema footer.text-center-xs.space--xs .social-list {
  display: none !important;
}

.v2-cinema footer.text-center-xs.space--xs .row:first-child {
  justify-content: center;
}

.v2-cinema footer.text-center-xs.space--xs .row:first-child .col-sm-7 {
  flex: 0 0 100%;
  max-width: 100%;
  text-align: center !important;
}

.v2-cinema footer.text-center-xs.space--xs .row:first-child .list-inline {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.v2-cinema footer.text-center-xs.space--xs .row:first-child .list-inline li:not(:last-child) {
  margin-right: 0;
}

.v2-cinema footer.text-center-xs.space--xs .row:first-child .col-sm-5 {
  display: none !important;
}

.v2-cinema footer.text-center-xs.space--xs .row:nth-child(2) {
  justify-content: center;
  align-items: center;
  gap: 14px 22px;
  margin-top: 4px;
}

.v2-cinema footer.text-center-xs.space--xs .row:nth-child(2) .col-sm-7,
.v2-cinema footer.text-center-xs.space--xs .row:nth-child(2) .col-sm-5 {
  flex: 0 0 auto;
  max-width: none;
  text-align: center !important;
}

/* Improve link contrast across all portfolio footers on dark backgrounds */
.v2-cinema footer.text-center-xs.space--xs a:not(.btn) {
  color: #d2ccdf !important;
}

.v2-cinema footer.text-center-xs.space--xs a:not(.btn):hover {
  color: #fff !important;
}

.v2-cinema footer.text-center-xs.space--xs .type--fine-print {
  color: #b7b0c8 !important;
}

.v2-cinema .v2t-footer a,
.v2-cinema .v2t-footer span {
  color: #d2ccdf !important;
}

.v2-cinema .v2t-footer a:hover {
  color: #fff !important;
}

.v2-cinema section:not(.bg--dark) .testimonial.text-center {
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(27, 26, 28, 0.08);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(23, 22, 24, 0.08);
  padding: 20px 24px;
}

.v2-cinema section:not(.bg--dark) .testimonial.text-center blockquote {
  color: #1f1e21;
  font-weight: 400 !important;
  line-height: 1.55;
}

.v2-cinema section:not(.bg--dark) .testimonial.text-center h5,
.v2-cinema section:not(.bg--dark) .testimonial.text-center span {
  color: #2e2c31 !important;
}

/* About page spacing/layout hard overrides (loaded last) */
