/* Homepage hero cleanup: remove extra sticker space and keep the cover preview central. */
.hero {
  padding-top: 28px;
}

.hero-copy {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: clamp(20px, 2.8vw, 34px);
  align-content: start;
}

.hero-copy .eyebrow,
.hero-copy .hero-slogan,
.hero-copy .fio-inline,
.hero-copy .hero-actions {
  margin: 0;
}

.hero-slogan {
  max-width: 720px;
  color: var(--navy);
  font-size: clamp(2.72rem, 7.1vw, 4.72rem);
  font-weight: 880;
  line-height: 1;
  letter-spacing: 0;
  text-wrap: balance;
}

.hero-slogan-accent {
  color: var(--turquoise);
  white-space: nowrap;
}

.hero-slogan-dot {
  color: var(--red);
}

.fio-inline {
  display: block;
  width: 100%;
  max-width: 610px;
  padding: 0 0 0 18px;
  border: 0;
  border-left: 3px solid rgba(41, 179, 165, 0.32);
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font-weight: 720;
  line-height: 1.7;
  white-space: normal;
}

.hero-actions {
  gap: 14px;
  padding-top: 2px;
}

.hero-preview {
  min-height: auto;
}

.hero-preview::before {
  inset: 24px 6px 30px;
}

.book-card {
  margin-top: 0;
}

.fio-hero,
.fio-speech {
  display: none;
}

@media (min-width: 900px) {
  .hero {
    align-items: start;
    min-height: auto;
    padding-top: 34px;
    padding-bottom: 74px;
  }

  .hero-copy {
    gap: 0;
    padding-top: clamp(24px, 4.4vw, 56px);
  }

  .hero-copy .eyebrow {
    margin-bottom: clamp(30px, 2.8vw, 40px);
  }

  .hero-copy .hero-slogan {
    margin-bottom: clamp(56px, 5vw, 76px);
  }

  .fio-inline {
    width: fit-content;
    max-width: 640px;
    margin-bottom: 0;
  }

  .hero-copy .hero-actions {
    margin-top: clamp(62px, 5.4vw, 84px);
  }

  .hero-preview {
    align-content: start;
  }
}

@media (max-width: 680px) {
  .hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-copy {
    max-width: 100%;
    gap: 22px;
  }

  .hero-slogan {
    max-width: 10.5ch;
    font-size: clamp(2.76rem, 12.8vw, 4.2rem);
    line-height: 1.01;
  }

  .fio-inline {
    max-width: 100%;
  }

  .hero-copy .hero-actions {
    width: 100%;
  }

  .hero-copy .button {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 520px) {
  .hero {
    padding-top: 26px;
  }

  .hero-copy {
    gap: 22px;
  }

  .hero-slogan {
    max-width: 9.8ch;
    font-size: clamp(2.62rem, 12.4vw, 3.48rem);
  }

  .fio-inline {
    padding-left: 14px;
  }

  .hero-preview {
    width: min(100%, calc(100vw - 64px));
  }

  .hero-preview::before {
    inset: 20px 0 22px;
  }
}
