/* Alternative first view: full-bleed generated champagne-light artwork. */
.fv-image-variant .hero {
  isolation: isolate;
  background: #fff url("../images/hero-champagne-light-alt.jpg") center center / cover no-repeat;
}

.fv-image-variant .hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  border-radius: 0;
  clip-path: none;
  transform: none;
  background: linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.56) 34%,rgba(255,255,255,.06) 60%,rgba(255,255,255,0) 100%);
  opacity: 1;
}

.fv-image-variant .hero-lines,
.fv-image-variant .hero-copy::before { display: none; }

.fv-image-variant .hero::after {
  color: rgba(74,52,37,.026);
  text-shadow: 0 0 20px rgba(255,255,255,.72);
}

.fv-image-variant .hero-candidate-name,
.fv-image-variant .hero-slogan,
.fv-image-variant .hero-main-message {
  text-shadow: 0 1px 0 rgba(255,255,255,.98),0 0 10px rgba(255,255,255,.86);
}

.hero-slogan {
  margin: 0 0 12px;
  color: #4a3425;
  font-size: clamp(17px,1.35vw,22px);
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: .08em;
}

.hero .hero-main-message {
  margin: 0;
  color: var(--navy-deep);
  font-size: clamp(46px,4.55vw,72px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -.035em;
  font-family: "Noto Serif JP",serif;
}

.hero-main-message span,
.hero-main-message em {
  display: block;
}

.hero .hero-main-message em {
  width: max-content;
  color: var(--wine);
  font-size: 1.24em;
  line-height: 1.08;
}

.hero .hero-main-message em::after {
  height: 10px;
  right: -10%;
  bottom: 4px;
  background: linear-gradient(100deg,rgba(200,157,64,.35),#f3d67d 24%,#fff7ca 43%,#c8942e 62%,#f4df9d 82%,rgba(200,157,64,.38));
  box-shadow: 0 0 9px rgba(218,171,64,.72),0 0 2px #fff inset;
}

@media (max-width: 620px) {
  .fv-image-variant .hero {
    background-position: 60% center;
    min-height: 0;
  }

  .fv-image-variant .hero::before {
    display: block;
    inset: 0;
    background:
      linear-gradient(90deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.42) 48%,rgba(255,255,255,.02) 78%),
      linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 66%,rgba(255,255,255,.18) 100%);
  }

  .fv-image-variant .hero-copy {
    padding-bottom: 24px;
  }

  .fv-image-variant .hero-mobile-portrait {
    right: -38px;
  }

  .hero-slogan {
    width: 64%;
    margin-bottom: 7px;
    position: relative;
    z-index: 8;
    font-size: 14px;
    text-shadow: 0 1px 0 #fff,0 0 7px #fff;
  }

  .hero .hero-main-message {
    width: 78%;
    position: relative;
    z-index: 8;
    font-size: clamp(33px,9vw,40px);
    line-height: 1.12;
    text-shadow: 0 1px 0 #fff,0 0 8px rgba(255,255,255,.95);
  }

  .hero-main-message span,
  .hero-main-message em {
    white-space: nowrap;
  }

  .hero .hero-main-message em::after {
    height: 7px;
    bottom: 2px;
  }
}

@media (min-width: 901px) {
  .fv-image-variant .hero-candidate-name strong {
    -webkit-text-stroke: 0;
    text-shadow: 0 2px 0 rgba(255,255,255,.98),0 7px 20px rgba(56,37,22,.16);
  }

  .fv-image-variant .hero-portrait > img {
    height: 100%;
    max-height: 100%;
    max-width: none;
  }
}
