.stage2 { padding-block: clamp(2.5rem, 4.5vw, 4rem); background: var(--color-surface-subtle); border-block: 0.0625rem solid var(--color-border); }
.stage2-heading { margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.stage2-heading > p:last-child { font-size: var(--font-size-lead); }
.stage2-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.875rem; }
.feature-card { position: relative; isolation: isolate; min-height: 12rem; display: flex; align-items: center; justify-content: center; padding: clamp(1.25rem, 2.2vw, 2rem); overflow: hidden; border: 0.0625rem solid var(--color-border); border-radius: var(--radius-large); background: var(--color-surface); text-align: center; }
.feature-card::before { position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: radial-gradient(circle at var(--gradient-x, 15%) var(--gradient-y, 80%), rgba(255,0,0,.48), rgba(135,0,0,.18) 38%, transparent 72%); content: ""; opacity: 0; transform: scale(.88) translate3d(-8%,8%,0); transition: opacity 400ms ease, transform 700ms cubic-bezier(.22,1,.36,1); }
.feature-card:hover::before { opacity: 1; transform: scale(1.18) translate3d(8%,-6%,0); }
.feature-card:nth-child(2)::before { --gradient-x: 82%; --gradient-y: 18%; transform: scale(.88) translate3d(8%,-8%,0); }
.feature-card:nth-child(2):hover::before { transform: scale(1.18) translate3d(-8%,8%,0); }
.feature-card:nth-child(3)::before { --gradient-x: 50%; --gradient-y: 100%; }
.feature-card > div { width: 100%; }
.feature-card h3 { margin-bottom: 0.5rem; }
.feature-card p { max-width: 22rem; margin-inline: auto; color: var(--color-text-secondary); font-size: var(--font-size-small); }
@media (max-width: 900px) { .stage2-grid { grid-template-columns: 1fr; gap: 1.25rem; } .feature-card { min-height: 10rem; } }
@media (max-width: 768px) { .stage2 { padding-block: 3rem; } .feature-card { min-height: 9rem; align-items: center; justify-content: flex-start; padding: 1.5rem; text-align: left; } .feature-card p { margin-inline: 0; } }
@media (max-width: 280px) { .stage2 { display: none; } }
