/* ファーストビュー：パソコンの専用寸法と配置。スマホの変更は../responsive.css。 */
:where([data-section="hero"][data-ui="brume"]).hero {
  min-height: var(--size-hero-height);
  background: var(--color-background);
}

/* 写真は右側に置き、左側の文字の下は暗くする */
:where([data-section="hero"][data-ui="brume"]) .hero__media {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: var(--size-hero-photo);
}

:where([data-section="hero"][data-ui="brume"]) .hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--color-background), var(--color-transparent) 30%);
}

:where([data-section="hero"][data-ui="brume"]) .hero__inner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: var(--size-hero-height);
  padding-block: var(--space-hero);
}

:where([data-section="hero"][data-ui="brume"]) .hero__copy {
  max-width: var(--size-hero-copy);
}

:where([data-section="hero"][data-ui="brume"]) .hero__brand {
  font-family: var(--font-latin);
  font-size: var(--font-size-wordmark);
  font-weight: var(--weight-title);
  line-height: var(--line-tight);
  letter-spacing: var(--track-brand);
}

:where([data-section="hero"][data-ui="brume"]) .hero__title {
  margin-block-start: var(--space-card-gap);
  font-family: var(--font-title);
  font-size: var(--font-size-hero-title);
  font-weight: var(--weight-title);
  line-height: var(--line-hero-title);
  letter-spacing: var(--track-heading);
}

:where([data-section="hero"][data-ui="brume"]) .hero__lead {
  margin-block-start: var(--space-stack);
  color: var(--color-text-muted);
  font-size: var(--font-size-lead);
}

:where([data-section="hero"][data-ui="brume"]) .hero__course {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-stack);
  margin-block: var(--space-stack) var(--space-card-gap);
  font-family: var(--font-title);
  font-weight: var(--weight-title);
  font-size: var(--font-size-lead);
}

:where([data-section="hero"][data-ui="brume"]) .hero__scroll {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 50%;
  display: grid;
  justify-items: center;
  gap: var(--space-small);
  transform: translateX(-50%);
  color: var(--color-primary);
  font-family: var(--font-latin);
  font-weight: var(--weight-title);
  font-size: var(--font-size-small);
  letter-spacing: var(--track-eyebrow);
  text-decoration: none;
}

:where([data-section="hero"][data-ui="brume"]) .hero__scroll-line {
  --scroll-cue-x: 0%;
  --scroll-cue-y: 220%;
  position: relative;
  order: -1;
  overflow: hidden;
  width: var(--size-line);
  height: var(--size-scroll-line);
  background: var(--color-line);
}

/* 線の中を光が上から下へ流れる */
:where([data-section="hero"][data-ui="brume"]) .hero__scroll-line::after {
  content: "";
  position: absolute;
  inset: 0;
  background: currentColor;
  animation: brume-scroll-cue var(--motion-scroll-cue) ease-in-out infinite;
}

@keyframes brume-scroll-cue {
  0% {
    transform: translate(calc(var(--scroll-cue-x) * -1), calc(var(--scroll-cue-y) * -1));
  }
  70%, 100% {
    transform: translate(var(--scroll-cue-x), var(--scroll-cue-y));
  }
}
