/* Video Showcase Section */
.video-showcase {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.video-showcase__background {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 1;
  object-fit: cover;
  pointer-events: none;
  /* Prevents video from blocking interactions */
}

.video-showcase__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  /* Dark overlay for text readability */
  z-index: 2;
  pointer-events: none;
  /* Allows clicks to pass through */
}

.video-showcase__content {
  position: relative;
  z-index: 3;
}

.video-showcase__content h1,
.video-showcase__content p {
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

/* Responsive adjustments */

/* section:nth-child(2) {
  padding-top: 200px;
  border-top: none;
} */

.hero {
  height: 90vh;
  max-height: 800px;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;

  /* background-image: url("../images/spark-background.webp"); */
  background-color: rgba(0, 0, 0, .1);
  background-attachment: scroll;
  background-size: 200% 200%;
  background-position: left center;

  box-shadow: inset 0 64px 128px rgba(0, 0, 0, 1);

}

/* Background image layer for parallax with animated grid */
.hero::before {
  content: " ";
  position: absolute;
  top: -10%;
  left: -5%;
  width: 110%;
  height: 120%;

  /* Layer both backgrounds - grid on top of parallax image */
  background-image:
    url("../images/grid.svg");
  background-size: auto, cover;
  background-position: center, center bottom;
  background-repeat: repeat, no-repeat;

  /* Apply animated mask to the grid */
  -webkit-mask-image: url('../images/atlas-mask-hero.svg');
  mask-image: url('../images/atlas-mask-hero.svg');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-position: left top;
  mask-position: left top;

  z-index: 2;
  will-change: transform;
  transform: translateY(var(--parallax-offset, 0px));
  pointer-events: none;
  display: none;
}

/* Gradient overlay */
.hero::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    radial-gradient(circle, rgba(3, 3, 6, 0.4) 0%, rgba(3, 3, 6, .7) 100%),
    radial-gradient(circle at bottom left, #1a808d -100%, transparent 80%);
  content: " ";
  z-index: 1;
}

.hero .container {
  z-index: 2 !important;
  display: flex;
  flex-direction: column;
  height: 100%;

  padding-bottom: var(--space-2xl);
}

.dynamic-heading-container {
  flex: 1;
  /* Takes up all remaining space */
  display: flex;
  align-items: end;
  justify-content: start;
}

.hero-call-to-action {
  padding-bottom: var(--space-lg);
  /* Add some bottom spacing */
  flex-shrink: 0;
  /* Don't shrink */
}

.video-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.video-background video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Disable parallax on mobile for performance */

/* =============================================================
   STORY-ARC HERO
   Centred hero pattern used at the top of pages whose body is
   organised into .story-arc sections (marketplace, templates,
   etc.). The hero itself is theme-agnostic — drop it inside a
   .story-arc.theme-dark or .theme-light and the colors come from
   the variables defined on the arc.
   ============================================================= */

.story-hero {
  padding-top: var(--space-6xl);
  padding-bottom: var(--space-3xl);
  text-align: center;
}

/* Thin opening line + bold accent line — same rhythm as the homepage h2 patterns */
.story-hero .hero-title {
  font-size: clamp(2.5rem, 5.5vw, 4.25rem);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.03em;
  margin: 0 0 var(--space-lg);
  text-wrap: balance;
}

.story-hero .hero-title .thin {
  font-weight: 300;
  color: var(--color-text-secondary);
  display: block;
  margin-bottom: var(--space-xs);
}

.story-hero .lead {
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  color: var(--color-text-secondary);
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.65;
  font-weight: 400;
}
