.module-caption {
  --module: "caption";
}

.module-caption .animation {
  --animation-delay: 0.5s;
}

.module-caption .component-line {
  --_animation-duration: 0.5s;
}

.module-caption .caption-container {
  --rem: var(--_rem, 100px);
  --grid: var(--_grid, 100px);

  --color-font_: var(--_color-font_, 6, 16, 17);
  
  font-size: min( 6.25vw, calc( 1.20 * var(--rem) ) );
  padding-bottom: calc( 0.5 * var(--grid) );
  padding-top: calc( 0.5 * var(--grid) );
}

.module-caption .caption-big {
  font-size: min( 12vw, calc( 2.32 * var(--rem) ) );
  line-height: 0.88;
}

.module-caption .caption-link {
  color: rgb( var(--color-font_) );
  font-weight: 700;
  letter-spacing: -0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

.module-caption .caption-line sup {
  top: 0.5em;
  font-size: 0.5em;
  margin: 0 0.15em 0.5em 0.5em;
}

@media (max-width: 1000px) {
  .module-caption .caption-container {
    font-size: min( 13vw, calc( 0.96 * var(--rem) ) );
    padding-bottom: 0;
    padding-top: 0;
    text-align: center;
  }

  .module-caption .component-line .line {
    justify-content: center;
  }
}