/* Corcus Studio — homepage hero background-video treatment */
.cs-hero-video {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 48px 0 64px;
}

.cs-hero-video__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
  z-index: 0;
  background: var(--black);
}

.cs-hero-video__card {
  position: relative;
  z-index: 1;
  background: var(--white);
  border: 2.5px solid var(--black);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: clamp(28px, 4vw, 44px) clamp(24px, 4vw, 40px);
  max-width: 600px;
}

.cs-hero-video__kicker {
  pointer-events: none;
  user-select: none;
  margin: 0 0 18px;
  font-size: clamp(15px, 2.4vw, 18px);
  line-height: 1.35;
  font-weight: 600;
  color: var(--black);
  filter: blur(3px);
}

.cs-hero-video__type {
  margin: 0 0 26px;
  min-height: 84px;
  color: var(--black);
  font-family: "Poppins", "Inter", sans-serif;
  font-weight: 700;
  font-size: clamp(22px, 4vw, 34px);
  line-height: 1.3;
}

.cs-hero-video__cursor {
  display: inline-block;
  width: 3px;
  height: 1em;
  margin-left: 2px;
  vertical-align: middle;
  background: var(--black);
  animation: cs-hero-blink 1s step-end infinite;
}

.cs-hero-video__type.is-done .cs-hero-video__cursor {
  display: none;
}

@keyframes cs-hero-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

.cs-hero-video__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .4s ease, transform .4s ease;
}

.cs-hero-video__pills.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.cs-hero-video__copy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cs-hero-video__copy svg {
  flex: 0 0 auto;
}

.cs-hero-video__copy-icon-check {
  display: none;
}

.cs-hero-video__copy.is-copied .cs-hero-video__copy-icon-default { display: none; }
.cs-hero-video__copy.is-copied .cs-hero-video__copy-icon-check { display: inline-flex; }

@media (max-width: 640px) {
  .cs-hero-video { padding: 32px 0 48px; align-items: flex-end; }
  .cs-hero-video__card { max-width: 100%; }
}
