From cb4097a76abcc6d620f1db8123ce7caad69a6b32 Mon Sep 17 00:00:00 2001 From: erikgh Date: Wed, 22 Jul 2026 10:39:58 -0600 Subject: [PATCH] feat: BenditaRed-inspired concepts adapted to creeer tokens MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Hero: subtle ink grid texture (radial-masked) + gold glow blob - Hero kicker: small gold dot before the eyebrow - Header: desktop anchor nav (Método/Disciplinas/La estratega) with scroll-elevation shadow; mobile keeps wordmark + CTA only - Sections gain ids + scroll-mt-24 as anchor targets - CTA: subtle hover lift, gated with motion-reduce Concepts studied from ~/dev/BenditaRed (grid+glow hero background, kicker-with-dot, scrolled navbar state, pill hover lift). Animated stats were skipped — no real metrics from the owner to show. Co-Authored-By: Claude Fable 5 --- components/layout/Header.tsx | 34 +++++++++++++++++++++++++++-- components/primitives/CTA.tsx | 2 +- components/sections/Disciplinas.tsx | 2 +- components/sections/Estratega.tsx | 2 +- components/sections/Hero.tsx | 21 ++++++++++++++++-- components/sections/Mecanismo.tsx | 2 +- lib/content.ts | 5 +++++ 7 files changed, 60 insertions(+), 8 deletions(-) diff --git a/components/layout/Header.tsx b/components/layout/Header.tsx index 1703f39..59c3ad3 100644 --- a/components/layout/Header.tsx +++ b/components/layout/Header.tsx @@ -1,16 +1,46 @@ +'use client'; + +import { useEffect, useState } from 'react'; import { Wordmark } from '@/components/primitives/Wordmark'; import { CTA } from '@/components/primitives/CTA'; import { Container } from '@/components/primitives/Container'; import { header } from '@/lib/content'; export function Header() { + // Sombra sutil cuando la página deja de estar arriba (concepto BenditaRed) + const [scrolled, setScrolled] = useState(false); + + useEffect(() => { + const onScroll = () => setScrolled(window.scrollY > 12); + onScroll(); + window.addEventListener('scroll', onScroll, { passive: true }); + return () => window.removeEventListener('scroll', onScroll); + }, []); + return ( -
+
+ {/* #top: fragmento especial del navegador — scrollea al inicio sin necesitar un id */} -