.section-cover {
  min-height: 100vh;
  min-height: 100svh;
  padding-top: 24px;
  padding-bottom: 26px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.16), transparent 42%),
    var(--color-cream);
}

.cover-grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.1;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.32'/%3E%3C/svg%3E");
}

.cover-shadow {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(3px);
  opacity: 0.24;
  background:
    radial-gradient(ellipse at center, rgba(68, 81, 46, 0.55) 0 28%, transparent 31%),
    radial-gradient(ellipse at 30% 70%, rgba(68, 81, 46, 0.45) 0 22%, transparent 25%);
  transform: rotate(-24deg);
}

.cover-shadow--one {
  top: -8%;
  left: -22%;
  width: 62%;
  height: 42%;
}

.cover-shadow--two {
  right: -28%;
  bottom: 8%;
  width: 64%;
  height: 38%;
  opacity: 0.16;
  transform: rotate(32deg);
}

.cover-meta,
.cover-logo,
.cover-portrait,
.cover-copy,
.cover-index,
.cover-scroll {
  position: absolute;
  z-index: 3;
}

.cover-meta {
  top: 25px;
  color: var(--color-charcoal);
  font-size: 0.56rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.35;
  text-transform: uppercase;
}

.cover-meta--event {
  left: var(--page-padding);
  display: grid;
}

.cover-meta--event strong {
  font-size: 0.72rem;
  font-weight: 600;
}

.cover-meta--volume {
  right: var(--page-padding);
  writing-mode: vertical-rl;
}

.cover-logo {
  top: 78px;
  left: var(--page-padding);
  width: 72px;
  height: 72px;
  object-fit: contain;
  opacity: 0.9;
  mix-blend-mode: multiply;
}

.cover-portrait {
  top: 62px;
  right: -10%;
  width: 72%;
  height: 57%;
  overflow: hidden;
  border-radius: 46% 0 0 46%;
  box-shadow: 0 30px 70px rgba(36, 40, 28, 0.18);
}

.cover-portrait::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 54%, rgba(24, 27, 20, 0.42)),
    linear-gradient(90deg, rgba(235, 231, 218, 0.08), transparent 35%);
}

.cover-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% center;
  filter: saturate(0.76) contrast(0.98) brightness(0.98);
  transform: scale(1.02);
}

.cover-portrait figcaption {
  position: absolute;
  right: 20px;
  bottom: 22px;
  z-index: 2;
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--font-serif);
  font-size: clamp(1rem, 4vw, 1.3rem);
  font-style: italic;
  line-height: 1.02;
  text-align: right;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.34);
}

.cover-copy {
  left: var(--page-padding);
  right: var(--page-padding);
  bottom: 82px;
}

.cover-copy .eyebrow {
  margin-bottom: 13px;
}

.cover-copy h1 {
  display: grid;
  width: min-content;
  font-size: clamp(5.1rem, 23vw, 9.4rem);
  line-height: 0.64;
  letter-spacing: -0.075em;
}

.cover-copy h1 span,
.cover-copy h1 em {
  display: block;
}

.cover-copy h1 em {
  margin-left: 0.12em;
}

.cover-tagline {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 128px;
  font-family: var(--font-serif);
  font-size: clamp(1.08rem, 4.5vw, 1.38rem);
  font-style: italic;
  line-height: 1.02;
  text-align: right;
}

.cover-index {
  left: var(--page-padding);
  bottom: 29px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--color-olive);
  font-size: 0.54rem;
  font-weight: 600;
  letter-spacing: 0.18em;
}

.cover-index__line {
  width: 34px;
  height: 1px;
  background: currentColor;
}

.cover-scroll {
  right: var(--page-padding);
  bottom: 25px;
  display: flex;
  align-items: center;
  min-height: 44px;
  gap: 11px;
  color: var(--color-charcoal);
  font-size: 0.56rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.cover-scroll__line {
  position: relative;
  width: 38px;
  height: 1px;
  overflow: hidden;
  background: var(--color-line);
}

.cover-scroll__line::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--color-charcoal);
  transform: translateX(-100%);
  animation: cover-line-travel 2.2s ease-in-out infinite;
}

@keyframes cover-line-travel {
  0%, 18% {
    transform: translateX(-100%);
  }

  62%, 100% {
    transform: translateX(100%);
  }
}

@media (max-height: 700px) {
  .cover-portrait {
    height: 52%;
  }

  .cover-copy {
    bottom: 68px;
  }

  .cover-copy h1 {
    font-size: clamp(4.55rem, 21vw, 7.2rem);
  }
}

@media (max-width: 374px) {
  .cover-logo {
    width: 62px;
    height: 62px;
  }

  .cover-portrait {
    right: -13%;
    width: 74%;
  }

  .cover-tagline {
    max-width: 108px;
    font-size: 1rem;
  }
}

@media (min-width: 721px) {
  .section-cover {
    min-height: min(920px, calc(100vh - 56px));
  }

  .cover-portrait {
    right: -5%;
    width: 68%;
  }

  .cover-copy h1 {
    font-size: 9rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .cover-scroll:hover {
    color: var(--color-olive);
    transform: translateX(3px);
  }
}
