/* Member Story */
.upside-story { display: grid; grid-template-columns: 1fr 1.05fr; gap: 50px; align-items: stretch; }
.upside-story-quote { align-self: center; }
.upside-story-art {
  background: var(--cream);
  border-radius: var(--r-lg);
  padding: 0;
  display: flex;
  min-height: 360px; position: relative; overflow: hidden;
}
body.theme-clinical .upside-story-art { background: #fff; box-shadow: 0 24px 60px -34px rgba(9, 76, 138, .22); }
/* Editorial warm: floating white art panel, hairline feel (v5_1). */
body.theme-warm .upside-story-art { background: #fff; box-shadow: 0 24px 60px -34px rgba(9, 76, 138, .28); }
/* Photo fills the rounded card edge-to-edge (no white frame). */
.upside-story-img { max-width: none; width: 100%; height: 100%; object-fit: cover; display: block; }
.upside-story-cap {
  position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%);
  font-size: 11px; font-weight: 600; color: var(--brand-primary);
  background: rgba(255, 255, 255, .85); padding: 4px 10px; border-radius: 999px; white-space: nowrap;
}
.upside-story blockquote { font-size: 26px; font-weight: 600; color: var(--dark); line-height: 1.3; margin: 16px 0 22px; }
.upside-story blockquote .accent { color: var(--brand-primary); }
.upside-story-support { font-size: 15.5px; max-width: 480px; }
.upside-story-attrib { font-size: 14px; color: var(--sec); margin-top: 18px; }

/* No story image (or it failed to load) → drop the empty art panel, quote fills width. */
.upside-story:not(:has(.upside-story-art img)) { grid-template-columns: 1fr; }
.upside-story-art:not(:has(img)) { display: none; }

@media (max-width: 900px) { .upside-story { grid-template-columns: 1fr; gap: 30px; } }
@media (max-width: 767px) { .upside-story blockquote { font-size: 22px; } }
