feat(process): equal-height cards with hover scale effect

Equalizes all six process cards to the tallest card's height via a
resize-aware script. Adds scale(1.05) hover transition matching the
live site. Adjusts card padding and icon sizing; shortens two step
labels for better card balance.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-09 14:47:36 -07:00
parent ce5e53c71f
commit 1bc0224f76
3 changed files with 16 additions and 4 deletions
+11
View File
@@ -16,3 +16,14 @@ const { section } = Astro.props;
</div> </div>
</div> </div>
</section> </section>
<script>
function equalizeProcessCards() {
const cards = [...document.querySelectorAll('.process-grid > div')] as HTMLElement[];
cards.forEach(c => (c.style.height = ''));
const max = Math.max(...cards.map(c => c.offsetHeight));
if (max > 0) cards.forEach(c => (c.style.height = `${max}px`));
}
equalizeProcessCards();
window.addEventListener('resize', equalizeProcessCards);
</script>
+2 -2
View File
@@ -115,9 +115,9 @@ sections:
- icon: learner-journey-step-2.svg - icon: learner-journey-step-2.svg
label: Speak with a Client Advocate label: Speak with a Client Advocate
- icon: learner-journey-step-3.svg - icon: learner-journey-step-3.svg
label: Fill and Sign a Client Intake Packet label: Fill and Sign an Intake Packet
- icon: learner-journey-step-4.svg - icon: learner-journey-step-4.svg
label: Verify Billing and Insurance Information and Benefits label: Verify Billing and Insurance
- icon: learner-journey-step-5.svg - icon: learner-journey-step-5.svg
label: Schedule an Assessment label: Schedule an Assessment
- icon: learner-journey-step-6.svg - icon: learner-journey-step-6.svg
+3 -2
View File
@@ -128,8 +128,9 @@
.esa-grid img { max-height: 170px; justify-self: center; } .esa-grid img { max-height: 170px; justify-self: center; }
.process-section h2, .testimonial-section h2 { text-align: center; } .process-section h2, .testimonial-section h2 { text-align: center; }
.process-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin-top: 2.5rem; } .process-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin-top: 2.5rem; }
.process-grid div { background: white; min-height: 190px; padding: 2rem 1rem; text-align: center; } .process-grid div { background: white; min-height: 190px; padding: 3.2rem 1rem; position: relative; text-align: center; transition: transform .3s ease-in-out; }
.process-grid img { margin: 0 auto 1rem; width: 72px; } .process-grid div:hover { transform: scale(1.05); z-index: 1; }
.process-grid img { margin: 0 auto 1rem; width: 42%; }
.director-card { align-items: center; display: flex; gap: 1.5rem; } .director-card { align-items: center; display: flex; gap: 1.5rem; }
.director-card img { max-height: 260px; width: auto; } .director-card img { max-height: 260px; width: auto; }
.signature { max-width: 270px; } .signature { max-width: 270px; }