From 07165ee94eafa6885644db31c33af104655c3941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mauricio=20L=C3=B3pez=20Coria?= Date: Thu, 2 Jul 2026 01:55:07 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20redise=C3=B1o=203=20secciones?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DifferenceCards: fix align-items:start + clearProps GSAP ServicesSection: aplanar grupos, grid 2×3 sin subtítulos de categoría ServiceCard: 3D tilt on hover (rotateX/Y), translateZ icon+cta, sombra dinámica ProcessSteps: círculos horizontales asimétricos + SVG path orgánico que se dibuja al scroll, flotación sutil, mobile vertical --- src/components/DifferenceCards.astro | 2 + src/components/ProcessSteps.astro | 305 +++++++++++++++++++-------- src/components/ServiceCard.astro | 42 +++- src/components/ServicesSection.astro | 223 ++++++++++++-------- 4 files changed, 396 insertions(+), 176 deletions(-) diff --git a/src/components/DifferenceCards.astro b/src/components/DifferenceCards.astro index 8a43ba7..451d128 100644 --- a/src/components/DifferenceCards.astro +++ b/src/components/DifferenceCards.astro @@ -76,6 +76,7 @@ const items = [ duration: 0.7, stagger: 0.12, ease: 'power3.out', + clearProps: 'transform,opacity', }); } @@ -91,6 +92,7 @@ const items = [ .diff-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; + align-items: start; } } diff --git a/src/components/ProcessSteps.astro b/src/components/ProcessSteps.astro index 6e6702f..9a0d09a 100644 --- a/src/components/ProcessSteps.astro +++ b/src/components/ProcessSteps.astro @@ -1,12 +1,7 @@ --- -// "Cómo trabajamos" — Timeline with GSAP ScrollTrigger progress bar -// Phase 4 — Organic Fluidity Premium +// "Cómo trabajamos" — Horizontal asymmetric circles with organic SVG connecting line import SectionEyebrow from './SectionEyebrow.astro'; import type { TranslationKey } from '@/i18n/ui'; -import gsap from 'gsap'; -import { ScrollTrigger } from 'gsap/ScrollTrigger'; - -gsap.registerPlugin(ScrollTrigger); interface Props { t: (key: TranslationKey) => string; @@ -14,10 +9,10 @@ interface Props { const { t } = Astro.props; const steps = [ - { num: '01', titleKey: 'process.step1.title' as TranslationKey, bodyKey: 'process.step1.body' as TranslationKey }, - { num: '02', titleKey: 'process.step2.title' as TranslationKey, bodyKey: 'process.step2.body' as TranslationKey }, - { num: '03', titleKey: 'process.step3.title' as TranslationKey, bodyKey: 'process.step3.body' as TranslationKey }, - { num: '04', titleKey: 'process.step4.title' as TranslationKey, bodyKey: 'process.step4.body' as TranslationKey }, + { num: '01', titleKey: 'process.step1.title' as TranslationKey, bodyKey: 'process.step1.body' as TranslationKey, yPct: 35 }, + { num: '02', titleKey: 'process.step2.title' as TranslationKey, bodyKey: 'process.step2.body' as TranslationKey, yPct: 58 }, + { num: '03', titleKey: 'process.step3.title' as TranslationKey, bodyKey: 'process.step3.body' as TranslationKey, yPct: 28 }, + { num: '04', titleKey: 'process.step4.title' as TranslationKey, bodyKey: 'process.step4.body' as TranslationKey, yPct: 50 }, ]; ---
@@ -31,31 +26,61 @@ const steps = [ - -
- - + +
+ + + +