/* ファーストビュー：パソコンの専用寸法と配置。スマホの変更は../responsive.css。 */
:where([data-section="hero"][data-ui="nexa"]).hero {
  padding-block-end: var(--space-hero);
  background: var(--color-background);
}

/* 写真は右側に置き、左側の文字の下は暗くする */
:where([data-section="hero"][data-ui="nexa"]) .hero__media {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: var(--size-hero-photo);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--color-background), var(--color-transparent) 40%), linear-gradient(0deg, var(--color-background), var(--color-transparent) 30%);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__inner {
  display: flex;
  align-items: center;
  min-height: var(--size-hero-height);
  padding-block: var(--space-hero);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__copy {
  max-width: var(--size-hero-copy);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__eyebrow {
  color: var(--color-text-muted);
  font-size: var(--font-size-body);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__title {
  margin-block-start: var(--space-stack);
  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="nexa"]) .hero__accent {
  color: var(--color-primary);
}

:where([data-section="hero"][data-ui="nexa"]) .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="nexa"]) .hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-stack);
  margin-block-start: var(--space-card-gap);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__scroll {
  display: grid;
  width: fit-content;
  margin: var(--space-card-gap) auto 0;
  justify-items: center;
  gap: var(--space-small);
  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="nexa"]) .hero__scroll-line {
  --scroll-cue-x: 0%;
  --scroll-cue-y: 220%;
  position: relative;
  overflow: hidden;
  width: var(--size-line);
  height: var(--size-scroll-line);
  background: var(--color-line);
}

/* 線の中を光が上から下へ流れる */
:where([data-section="hero"][data-ui="nexa"]) .hero__scroll-line::after {
  content: "";
  position: absolute;
  inset: 0;
  background: currentColor;
  animation: nexa-scroll-cue var(--motion-scroll-cue) ease-in-out infinite;
}

@keyframes nexa-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));
  }
}

/* 実績の数字（4つ並び、間に縦線） */
:where([data-section="hero"][data-ui="nexa"]) .hero__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-block-start: var(--space-card-gap);
  border-block-start: var(--size-line) solid var(--color-line);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__stat {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: var(--space-stack);
  padding-inline: var(--space-stack);
  border-inline-start: var(--size-line) solid var(--color-line);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__stat:first-child {
  border-inline-start: 0;
}

:where([data-section="hero"][data-ui="nexa"]) .hero__stat .icon {
  grid-row: span 2;
  color: var(--color-primary);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__stat dt {
  color: var(--color-text-muted);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__stat dd {
  font-weight: var(--weight-title);
}

:where([data-section="hero"][data-ui="nexa"]) .hero__stat-number {
  margin-inline-end: var(--space-tiny);
  font-family: var(--font-latin);
  font-size: var(--font-size-number);
  font-weight: var(--weight-title);
  line-height: var(--line-tight);
}
