.ll-home-hero {
  --ll-hero-overlay: 44%;
  --ll-hero-position-desktop: center center;
  --ll-hero-position-mobile: center center;
  position: relative;
  width: 100%;
  min-height: min(900px, 92svh);
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 70% 30%, rgba(255,255,255,.05), transparent 38%),
    #263739;
  color: #fff;
}

.ll-home-hero__media,
.ll-home-hero__shade {
  position: absolute;
  inset: 0;
}

.ll-home-hero__media {
  z-index: -3;
  margin: 0;
}

.ll-home-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--ll-hero-position-desktop);
  transform: scale(1.002);
}

.ll-home-hero__shade {
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(10,18,20,.08) 0%, rgba(10,18,20,.12) 42%, rgba(10,18,20,.56) 100%),
    rgba(10,18,20,var(--ll-hero-overlay));
}

.ll-home-hero__inner {
  width: min(1180px, calc(100% - 64px));
  min-height: inherit;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  padding: 0 0 clamp(88px, 11vh, 138px);
  box-sizing: border-box;
}

.ll-home-hero__copy {
  margin: 0;
  max-width: 760px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(34px, 4.35vw, 68px);
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: .035em;
  text-wrap: balance;
  text-shadow: 0 1px 18px rgba(0,0,0,.18);
}

.ll-home-hero__scroll {
  position: absolute;
  left: 50%;
  bottom: 22px;
  width: 1px;
  height: 42px;
  overflow: hidden;
  background: rgba(255,255,255,.18);
}

.ll-home-hero__scroll span {
  display: block;
  width: 1px;
  height: 20px;
  background: rgba(255,255,255,.72);
  animation: llHeroScroll 2.8s ease-in-out infinite;
}

@keyframes llHeroScroll {
  0% { transform: translateY(-24px); opacity: 0; }
  22% { opacity: 1; }
  72% { opacity: 1; }
  100% { transform: translateY(46px); opacity: 0; }
}

@media (max-width: 767px) {
  .ll-home-hero {
    min-height: 84svh;
  }

  .ll-home-hero__media img {
    object-position: var(--ll-hero-position-mobile);
  }

  .ll-home-hero__shade {
    background:
      linear-gradient(180deg, rgba(10,18,20,.06) 0%, rgba(10,18,20,.12) 45%, rgba(10,18,20,.62) 100%),
      rgba(10,18,20,var(--ll-hero-overlay));
  }

  .ll-home-hero__inner {
    width: calc(100% - 40px);
    padding-bottom: 84px;
  }

  .ll-home-hero__copy {
    max-width: 11.5em;
    font-size: clamp(31px, 9.2vw, 46px);
    line-height: 1.48;
    letter-spacing: .025em;
  }

  .ll-home-hero__scroll {
    bottom: 18px;
    height: 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ll-home-hero__scroll span {
    animation: none;
    opacity: .65;
  }
}

/* v0.1.1: SWELL front-page integration
   Keep the LL hero flush with the site header and let it break out of
   SWELL's article container without changing other fixed pages. */
body.home #content,
body.home .l-content {
  padding-top: 0 !important;
}

body.home .l-mainContent__inner > .post_content {
  margin-top: 0 !important;
}

body.home .post_content > .wp-block-shortcode:first-child {
  margin-top: 0 !important;
}

body.home .ll-home-hero {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
