/* Customer marks follow the founder story on the public homepage. */
.home-proof { padding-block: 46px 52px; border-bottom: 1px solid var(--line); background: var(--surface); }
.home-proof h2 { text-align: center; font-size: 25px; line-height: 1.3; letter-spacing: -.025em; }
.home-proof-logos { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); align-items: center; gap: 24px; list-style: none; padding: 0; margin: 32px 0 0; }
.home-proof-logos li { display: flex; align-items: center; justify-content: center; min-width: 0; height: 62px; }
.home-proof-logos img { display: block; width: 100%; max-width: 112px; height: 44px; object-fit: contain; }
/* White source marks use their monochrome presentation on white. */
.home-proof-angrybeards img, .home-proof-denishenry img { filter: brightness(0); }
/* Match visible artwork, including sources with generous blank margins. */
.home-proof-erika img { width: 120px; max-width: none; height: 36px; flex: 0 0 auto; }
.home-proof-logos .home-proof-puravida { overflow: hidden; justify-content: flex-start; }
.home-proof-puravida img { width: 235%; max-width: none; height: auto; flex: 0 0 auto; }
.home-proof-ecopets img { height: 62px; }
.home-proof-divalavida img { width: 130px; max-width: none; height: 62px; flex: 0 0 auto; }
@media (max-width: 1050px) {
  .home-proof-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px 32px; }
}
@media (max-width: 560px) {
  .home-proof { padding-block: 34px 38px; }
  .home-proof h2 { font-size: 23px; }
  .home-proof-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 38px; row-gap: 16px; max-width: 320px; margin: 26px auto 0; }
  .home-proof-logos img { max-width: 120px; height: 42px; }
  .home-proof-erika img { width: 138px; max-width: none; height: 36px; }
  .home-proof-puravida { width: 120px; justify-self: center; }
  .home-proof-puravida img { max-width: none; height: auto; }
  .home-proof-ecopets img, .home-proof-divalavida img { height: 66px; }
  .home-proof-divalavida img { max-width: none; }
}

/* A customer quote shares the homepage palette and sits below the marks. */
.home-testimonial { display: grid; grid-template-columns: minmax(0, 1fr) 232px; align-items: center; gap: 40px; margin: 48px 0 0; }
.home-testimonial-bubble { position: relative; min-width: 0; padding: 28px 36px 30px; border-radius: 24px; background: var(--brand-soft); }
.home-testimonial-bubble::after { content: ""; position: absolute; top: 50%; right: -12px; width: 24px; height: 24px; background: var(--brand-soft); transform: translateY(-50%) rotate(45deg); border-radius: 3px; }
.home-testimonial-mark { display: block; height: 38px; color: var(--brand); font-size: 72px; font-weight: 800; line-height: 1; }
.home-testimonial blockquote { margin: 8px 0 0; font-size: 18px; line-height: 1.7; }
.home-testimonial blockquote p + p { margin-top: 16px; }
.home-testimonial blockquote strong { color: var(--ink); }
.home-testimonial figcaption { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin-top: 22px; font-size: 16px; }
.home-testimonial figcaption strong { color: var(--ink); }
.home-testimonial figcaption a { text-underline-offset: 3px; }
.home-testimonial-photo { display: block; width: 232px; height: 290px; object-fit: cover; object-position: 50% 35%; border-radius: 24px; }
@media (max-width: 820px) {
  .home-testimonial { grid-template-columns: minmax(0, 1fr) 180px; gap: 28px; }
  .home-testimonial-bubble { padding: 24px; }
  .home-testimonial-photo { width: 180px; height: 240px; }
}
@media (max-width: 560px) {
  .home-testimonial { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 34px; }
  .home-testimonial-bubble { padding: 24px; border-radius: 20px; }
  .home-testimonial-bubble::after { top: auto; right: 54px; bottom: -10px; width: 20px; height: 20px; transform: rotate(45deg); }
  .home-testimonial blockquote { font-size: 17px; line-height: 1.65; }
  .home-testimonial figcaption { display: grid; gap: 0; margin-top: 20px; }
  .home-testimonial-photo { justify-self: end; width: 128px; height: 152px; border-radius: 20px; }
}
