/* V4 additions; all V3 assets remain independent. */
.manufacturer-strip { padding-block: 28px 32px; background: var(--paper); border-bottom: 1px solid var(--line); }
.manufacturer-strip p { margin: 0 auto 20px; text-align: center; color: var(--muted); font-size: .9rem; max-width: 650px; }
.manufacturer-logos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 32px; max-width: 620px; margin: 0 auto; padding: 0; list-style: none; }
.manufacturer-logos li { display: flex; justify-content: center; align-items: center; height: 72px; }
.manufacturer-logos img { display: block; width: auto; height: auto; max-width: 148px; max-height: 68px; filter: grayscale(1); opacity: .65; }
.image-disclosure { color: var(--muted); font-size: .8rem; line-height: 1.5; margin-top: 2px; text-align: right; }
/* Keep image captions in place; disclosures sit beneath the image. */
.hero-visual { display: flex; flex-direction: column; }
.hero-visual .image-frame { position: relative; flex: 1; }
.hero-visual .image-caption { position: absolute; bottom: 0; inset-inline: 0; margin: 0; padding: 64px 28px 24px; background: linear-gradient(transparent, rgba(13,48,51,.85)); color: white; font-size: .94rem; }
.garden-photo .image-frame { position: relative; }
.garden-photo .image-caption { position: absolute; bottom: 0; inset-inline: 0; margin: 0; padding: 54px 28px 22px; background: linear-gradient(transparent, rgba(13,48,51,.8)); border-radius: 0 0 12px 12px; color: white; font-size: 1rem; }
.hero-visual figcaption.image-disclosure, .garden-photo figcaption.image-disclosure { position: static; padding: 0; background: none; border-radius: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; margin: 2px 0 0; }
.hero-visual figcaption.image-disclosure { padding-bottom: 8px; color: #c1cbc9; }
@media (min-width: 768px) { .garden-findings { position: absolute; inset: 0 0 21.2px; } }
.consultation-visual figcaption { margin-top: 0; }
.consultation-caption { display: block; margin-top: 10px; }
textarea { font: inherit; width: 100%; min-height: 100px; padding: 10px 14px; border: 1px solid #869795; border-radius: 5px; color: var(--ink); background: var(--paper); resize: vertical; }
textarea:focus-visible { outline: 3px solid var(--pine); outline-offset: 2px; }
textarea::placeholder { color: var(--muted); opacity: 1; }
.field-optional label span { color: var(--muted); font-weight: 400; }
.regional-map figcaption { color: var(--pine); font-size: .9rem; }
.map-disclaimer { display: block; margin-top: 10px; padding: 14px 16px; background: var(--paper); border-left: 3px solid var(--pine); border-radius: 0 5px 5px 0; font-size: 1rem; line-height: 1.55; }
.footer nav { flex-wrap: wrap; gap: 8px 24px; }
@media (max-width: 767px) {
  .hero-visual { height: auto; }
  .hero-visual .image-frame { flex: none; height: 270px; }
  .hero-visual .image-caption { padding: 48px 20px 16px; font-size: .85rem; }
  .garden-photo .image-caption { padding: 32px 14px 12px; font-size: .82rem; }
  .manufacturer-strip { padding-block: 24px; }
  .manufacturer-strip p { font-size: .85rem; }
  .manufacturer-logos { gap: 16px; }
  .manufacturer-logos li { height: 54px; }
  .manufacturer-logos img { max-width: 100%; max-height: 50px; }
  .garden-heading h2 { margin-bottom: 0; }
}
