Overview
This component is built with Astro and displays a centered header followed by a grid of service cards. Each card animates into view with a staggered delay for a polished presentation.Source Location
Props
This component does not accept any props. All content is hardcoded within the component.Usage
Basic Usage
Features
Staggered Card Animations
Each service card animates with an incremental delay:- Header: 0.2s delay
- Card 1: 0.3s delay
- Card 2: 0.4s delay
- Card 3: 0.5s delay
- Card 4: 0.6s delay
Service Cards
Four hardcoded service offerings:-
Cursos (Courses)
- Icon: Book/reading symbol
- Programming, web design, and digital tools
-
Talleres (Workshops)
- Icon: Wrench/tools symbol
- Short, practical sessions
-
Encuentros (Meetups)
- Icon: Users/people symbol
- Community connection events
-
Mentoría (Mentoring)
- Icon: Checkmark/success symbol
- Professional guidance
Layout Structure
Responsive Behavior
Grid Layout
- Mobile: Single column, flex direction vertical, 2rem gap
- Small (640px+): 2-column grid, 1.5rem gap
- Large (1024px+): 2-column grid, 2rem gap
- XL (1280px+): 4-column grid, 2rem gap
Styling Notes
Colors
- Background: Light gray (
#f9fafb) / Dark mode (#191919) - Card background: White (
#ffffff) / Dark mode (rgba(255, 255, 255, 0.04)) - Card border:
rgba(0, 0, 0, 0.08)/ Dark mode (rgba(255, 255, 255, 0.08)) - Icon wrapper: Orange tint (
rgba(185, 58, 5, 0.1)) - Icon color:
--color-orange
Card Hover Effects
Typography
- Badge:
--font-pop, 0.7rem, uppercase, green/orange - Title:
--font-montserrat, 700 weight, 1.75rem → 2.25rem (tablet+) - Subtitle:
--font-sans, 1rem, gray, max-width 560px - Card heading:
--font-montserrat, 600 weight, 1.05rem - Card text:
--font-sans, 0.875rem, 1.65 line-height
Icon Wrapper
- Size: 2.75rem × 2.75rem
- Border radius: 0.75rem
- Background: Orange tint with higher opacity in dark mode
- SVG size: 1.25rem × 1.25rem
Content Structure
Hardcoded Spanish content:- Badge: “Cómo lo haremos” (How we’ll do it)
- Title: “Formación real, no solo alfabetización”
- Subtitle: Explanation of training approach
- Cards: Four service offerings with titles and descriptions
Section Spacing
Dependencies
ScrollAnimation.jsx- Animation wrapper component- Framer Motion (via ScrollAnimation)
- CSS custom properties defined in global styles
- Inline SVG icons (Lucide-style stroke icons)
Accessibility
- Semantic HTML structure with proper headings
- SVG icons use proper stroke attributes
- Card structure allows keyboard navigation
- Text maintains readable contrast ratios