.contribuicoes-home {
  --contrib-acid: #d8ff55;
  --contrib-blue: #5b63ff;
  --contrib-coral: #ff735f;
  padding-block: clamp(5.4rem, 9vw, 9rem);
  color: #f4f0e7;
  background: #10120f;
  overflow: hidden;
}
.contribuicoes-heading { display: grid; grid-template-columns: .34fr 1fr; gap: clamp(2rem, 6vw, 7rem); align-items: end; margin-bottom: clamp(2.8rem, 6vw, 5.5rem); }
.contribuicoes-heading h2 { max-width: 980px; margin: .8rem 0 0; color: #f4f0e7; font-size: clamp(2.9rem, 6vw, 6.8rem); line-height: .9; letter-spacing: -.055em; }
.contribuicoes-heading > p { max-width: 560px; margin: 0; color: rgba(244,240,231,.72); font-size: clamp(1rem, 1.3vw, 1.18rem); }
.contribuicoes-home .eyebrow { color: var(--contrib-acid); }
.contribuicoes-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border: 1px solid rgba(244,240,231,.24); }
.contribuicao-card { position: relative; display: flex; min-width: 0; min-height: 680px; flex-direction: column; border-right: 1px solid rgba(244,240,231,.24); background: #151815; overflow: hidden; }
.contribuicao-card:last-child { border-right: 0; }
.contribuicao-visual { position: relative; aspect-ratio: 4 / 3; margin: 0; border-bottom: 1px solid rgba(244,240,231,.24); overflow: hidden; background: #0d0f0d; }
.contribuicao-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.contribuicao-card:hover .contribuicao-visual img { transform: scale(1.025); }
.contribuicao-index { position: absolute; z-index: 2; top: 18px; left: 18px; display: grid; width: 38px; height: 38px; place-items: center; color: #10120f; background: var(--contrib-acid); font-size: .67rem; font-weight: 800; }
.contribuicao-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: clamp(1.6rem, 3vw, 2.6rem); }
.contribuicao-label { margin: 0 0 1.4rem; color: var(--contrib-acid); font-size: .66rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.contribuicao-card h3 { margin: 0 0 1.25rem; color: #f4f0e7; font-size: clamp(2rem, 3.1vw, 3.55rem); line-height: .92; letter-spacing: -.045em; }
.contribuicao-pain { margin: 0 0 1rem; color: #f4f0e7; font-size: 1.08rem; font-weight: 680; line-height: 1.35; }
.contribuicao-copy { margin: 0 0 2rem; color: rgba(244,240,231,.7); font-size: .94rem; }
.contribuicao-cta { display: inline-flex; justify-content: space-between; gap: 2rem; min-width: min(100%, 250px); margin-top: auto; padding: .92rem 1rem; color: #10120f; background: var(--contrib-acid); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.contribuicao-cta:hover { color: #f4f0e7; background: var(--contrib-blue); }
.contribuicao-card[data-product="briefkeeper"] .contribuicao-label { color: #ffa05d; }
.contribuicao-card[data-product="briefkeeper"] .contribuicao-cta { color: #f4f0e7; background: var(--contrib-blue); }
.contribuicao-card[data-product="patientkeeper"] .contribuicao-label { color: #84e5d2; }
.contribuicao-card[data-product="patientkeeper"] .contribuicao-cta { color: #10120f; background: #84e5d2; }
.contribuicao-status { display: inline-flex; margin-bottom: 1.2rem; padding: .36rem .55rem; border: 1px solid rgba(244,240,231,.3); font-size: .57rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contribuicoes-note { display: flex; justify-content: space-between; gap: 2rem; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(244,240,231,.22); color: rgba(244,240,231,.58); font-size: .72rem; }
.contribuicoes-note strong { color: var(--contrib-acid); letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 980px) {
  .contribuicoes-heading { grid-template-columns: 1fr; }
  .contribuicoes-grid { grid-template-columns: 1fr; }
  .contribuicao-card { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(244,240,231,.24); }
  .contribuicao-card:last-child { border-bottom: 0; }
  .contribuicao-visual { aspect-ratio: 16 / 8.5; }
}
@media (max-width: 640px) {
  .contribuicoes-heading h2 { max-width: 100%; font-size: clamp(2.65rem, 13vw, 3.55rem); line-height: .93; overflow-wrap: normal; white-space: normal !important; }
  .contribuicao-visual { aspect-ratio: 4 / 3; }
  .contribuicoes-note { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .contribuicao-visual img { transition: none; }
}

/* R03: preserve the entire artwork at every breakpoint; no image zoom. */
.contribuicao-visual { aspect-ratio: 16 / 10; }
.contribuicao-visual img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.contribuicao-card:hover .contribuicao-visual img { transform:none; }
.contribuicao-index { display:none; }
