:root {
  --hsp-cream: #fcf7f0;
  --hsp-panel: #fffaf3;
  --hsp-green: #376b4c;
  --hsp-sage: #7f9278;
  --hsp-plum: #673b91;
  --hsp-body: #5d554d;
  --hsp-border: rgba(151, 119, 82, 0.34);
}

body.hs-poem-site {
  margin: 0;
  overflow-x: hidden;
  color: var(--hsp-body);
  background-color: var(--hsp-cream);
  background-image:
    linear-gradient(rgba(252, 247, 240, 0.7), rgba(252, 247, 240, 0.7)),
    url("../images/Home%20Page/Home-Parchment.png");
  background-repeat: repeat;
}

body.hs-poem-site .header {
  position: relative;
  z-index: 20;
  background: #fdfaf4 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.hs-poem-site .header::after {
  display: none !important;
  content: none !important;
}

body.hs-poem-site .header__logo {
  position: relative;
  display: inline-block;
  line-height: 0;
}

body.hs-poem-site .header__logo img {
  display: block;
  width: auto;
  height: auto;
  opacity: 0;
}

body.hs-poem-site .header__logo::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #3d6b4d;
  -webkit-mask: url("../images/Logos/CORNER-LOGO-transparent.png") left center / contain no-repeat;
  mask: url("../images/Logos/CORNER-LOGO-transparent.png") left center / contain no-repeat;
  pointer-events: none;
}

body.hs-poem-site .menu__link {
  color: #355f45 !important;
}

body.hs-poem-site .menu__link:hover,
body.hs-poem-site .menu__link:focus-visible {
  color: var(--hsp-plum) !important;
}

body.hs-poem-site .actions-header__button {
  color: #355f45 !important;
  border-color: rgba(53, 95, 69, 0.45) !important;
  background: rgba(255, 253, 248, 0.68) !important;
}

body.hs-poem-site .icon-menu span,
body.hs-poem-site .icon-menu::before,
body.hs-poem-site .icon-menu::after {
  background-color: #355f45 !important;
}

main.hs-poem-page {
  padding: 0 0 clamp(3rem, 7vw, 6rem) !important;
}

.hs-poem-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(20rem, 34vw, 30rem);
  padding: clamp(4.5rem, 8vw, 7rem) 1.5rem clamp(3rem, 6vw, 5rem);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden;
  text-align: center;
  background-color: rgba(253, 250, 244, 0.82);
}

.hs-poem-hero::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(rgba(253, 250, 244, 0.25), rgba(253, 250, 244, 0.58)),
    url("../images/Heaven%20Sent/Beloved_Lite.png") center 40% / cover no-repeat;
  opacity: 0.78;
}

.hs-poem-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 7rem;
  background: linear-gradient(to bottom, transparent, var(--hsp-cream));
  pointer-events: none;
}

.hs-poem-hero__eyebrow {
  margin: 0 0 0.65rem;
  color: var(--hsp-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hs-poem-hero h1 {
  max-width: 56rem;
  margin: 0;
  color: var(--hsp-green);
  font-family: "Cormorant Garamond", Baskerville, Georgia, serif;
  font-size: clamp(2.35rem, 5vw, 4.6rem);
  font-weight: 500;
  line-height: 1.06;
}

.hs-poem-hero__intro {
  max-width: 48rem;
  margin: 1.25rem auto 0;
  color: var(--hsp-plum);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-style: italic;
  line-height: 1.7;
}

.hs-poem-divider {
  display: flex;
  width: min(12rem, 60vw);
  margin: 1.25rem auto 0;
  align-items: center;
  gap: 0.75rem;
  color: var(--hsp-sage);
}

.hs-poem-divider span {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, currentColor);
}

.hs-poem-divider span:last-child {
  background: linear-gradient(90deg, currentColor, transparent);
}

.hs-poem-divider b {
  font-size: 1rem;
  line-height: 1;
}

.hs-poem-card {
  position: relative;
  width: min(760px, calc(100vw - 48px));
  margin: clamp(2rem, 5vw, 4rem) auto 0;
  padding: clamp(2.25rem, 6vw, 4.5rem) clamp(1.5rem, 6vw, 4.5rem);
  box-sizing: border-box;
  text-align: center;
  background-color: var(--hsp-panel);
  background-image:
    linear-gradient(rgba(255, 250, 243, 0.82), rgba(255, 250, 243, 0.82)),
    url("../images/Home%20Page/Home-Parchment.png");
  border: 1px solid var(--hsp-border);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(101, 76, 51, 0.13);
}

.hs-poem-card::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(151, 119, 82, 0.18);
  border-radius: 12px;
  pointer-events: none;
}

.hs-poem-card h2 {
  position: relative;
  margin: 0 0 2rem;
  color: var(--hsp-plum);
  font-family: "Cormorant Garamond", Baskerville, Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.35rem);
  font-weight: 500;
}

.hs-poem-verses {
  position: relative;
  color: var(--hsp-body);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.78;
}

.hs-poem-verses p {
  margin: 0 0 1.45rem;
}

.hs-poem-signature {
  position: relative;
  margin: 2rem 0 2.25rem;
  color: var(--hsp-plum);
  font-family: "Cormorant Garamond", Baskerville, Georgia, serif;
  font-size: 1.3rem;
  font-style: italic;
}

.hs-poem-return {
  position: relative;
  display: inline-flex;
  min-height: 2.8rem;
  padding: 0.7rem 1.35rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--hsp-green);
  border-radius: 999px;
  color: #fffdf8;
  background: var(--hsp-green);
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s ease, background 0.2s ease;
}

.hs-poem-return:hover {
  transform: translateY(-1px);
  background: #2e5b40;
}

body.hs-poem-site .footer.hs-poem-footer {
  margin-top: 0;
  padding: 1.35rem 0 1.45rem !important;
  border-top: 0;
  background: linear-gradient(180deg, #456f52 0%, #31583f 100%) !important;
}

body.hs-poem-site .footer.hs-poem-footer::before {
  display: none !important;
  content: none !important;
}

body.hs-poem-site .footer.hs-poem-footer .gh-home-footer__container {
  width: min(100% - 2.5rem, 72rem);
  margin-inline: auto;
}

body.hs-poem-site .footer.hs-poem-footer .gh-home-footer__logo img {
  width: auto;
  max-height: 2.95rem;
  opacity: 0.94;
  filter: brightness(0) invert(1);
}

body.hs-poem-site .footer.hs-poem-footer .gh-home-footer__legal a,
body.hs-poem-site .footer.hs-poem-footer .gh-home-footer__legal-sep,
body.hs-poem-site .footer.hs-poem-footer .gh-home-footer__tagline,
body.hs-poem-site .footer.hs-poem-footer .gh-home-footer__copyright {
  color: rgba(255, 250, 242, 0.9) !important;
}

body.hs-poem-site .footer.hs-poem-footer .gh-site-support-btn--sent {
  color: #31583f !important;
  border: 1px solid rgba(255, 250, 242, 0.82) !important;
  background: rgba(255, 250, 242, 0.96) !important;
  box-shadow: none !important;
}

body.hs-poem-site .footer.hs-poem-footer .gh-site-support-btn--harbor {
  color: rgba(255, 250, 242, 0.96) !important;
  border: 1px solid rgba(255, 250, 242, 0.58) !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .hs-poem-hero {
    min-height: auto;
    padding: 4.5rem 1.2rem 3.5rem;
  }

  .hs-poem-hero::before {
    background-size: auto 100%;
  }

  .hs-poem-card {
    width: min(100% - 24px, 760px);
    border-radius: 14px;
  }

  .hs-poem-card::before {
    inset: 6px;
    border-radius: 9px;
  }

  .hs-poem-verses {
    font-size: 0.98rem;
    line-height: 1.7;
  }
}
