From da0a534c83deee86fa80ca2f51cb098f67b740b6 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Mon, 16 Feb 2026 22:30:09 +0000 Subject: [PATCH] Refine color palette for professional-yet-irreverent look - Swap neon green (#39FF14) for refined emerald (#34D399) - Add warm amber accent (#FBBF24) for badges, highlights, fun-facts - Darken background to charcoal-brown (#141210) for more depth - Soften glow effects (less rave, more premium) - Reduce floating emoji count and opacity - Green-to-gold gradient on hero text - Subtler card hover effects with border transitions - Tone down animations (slower, less travel distance) Co-Authored-By: Claude Opus 4.6 --- app/globals.css | 81 +++++++++++++++++---------------- components/contact-section.tsx | 4 +- components/hero-section.tsx | 18 ++++---- components/impact-section.tsx | 2 +- components/packages-section.tsx | 2 +- components/ui/button.tsx | 4 +- components/ui/card.tsx | 2 +- 7 files changed, 57 insertions(+), 56 deletions(-) diff --git a/app/globals.css b/app/globals.css index cfcb5dc..2785b27 100644 --- a/app/globals.css +++ b/app/globals.css @@ -1,16 +1,18 @@ @import "tailwindcss"; @theme { - --color-bg-primary: #1A0E0A; - --color-bg-card: #2A1A12; - --color-bg-card-hover: #3A2A1A; - --color-neon: #39FF14; - --color-neon-dim: #2ECC10; - --color-cream: #FFF8E1; - --color-cream-dim: #E8DFC8; - --color-brown-light: #5C3D2E; - --color-brown-medium: #3E2518; - --color-brown-dark: #2A1A12; + --color-bg-primary: #141210; + --color-bg-card: #1E1C18; + --color-bg-card-hover: #2A2822; + --color-neon: #34D399; + --color-neon-dim: #2AB880; + --color-cream: #F5F1EA; + --color-cream-dim: #B8B0A0; + --color-brown-light: #4A4038; + --color-brown-medium: #302820; + --color-brown-dark: #1E1C18; + --color-accent: #FBBF24; + --color-accent-dim: #D99F1A; --font-space: "Space Grotesk", sans-serif; } @@ -49,17 +51,17 @@ } @keyframes float-slow { - 0%, 100% { transform: translateY(0) rotate(0deg); opacity: 0.7; } - 50% { transform: translateY(-30px) rotate(10deg); opacity: 1; } + 0%, 100% { transform: translateY(0) rotate(0deg); opacity: 0.5; } + 50% { transform: translateY(-25px) rotate(8deg); opacity: 0.8; } } @keyframes pulse-glow { - 0%, 100% { opacity: 0.4; transform: scale(1); } - 50% { opacity: 0.8; transform: scale(1.1); } + 0%, 100% { opacity: 0.2; transform: scale(1); } + 50% { opacity: 0.5; transform: scale(1.05); } } @keyframes fade-in-up { - from { opacity: 0; transform: translateY(30px); } + from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } } @@ -69,19 +71,19 @@ } @keyframes slide-in-left { - from { opacity: 0; transform: translateX(-40px); } + from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: translateX(0); } } @keyframes slide-in-right { - from { opacity: 0; transform: translateX(40px); } + from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } } @keyframes wiggle { 0%, 100% { transform: rotate(0deg); } - 25% { transform: rotate(-5deg); } - 75% { transform: rotate(5deg); } + 25% { transform: rotate(-3deg); } + 75% { transform: rotate(3deg); } } @keyframes dash-flow { @@ -98,34 +100,34 @@ } .animate-pulse-glow { - animation: pulse-glow 3s ease-in-out infinite; + animation: pulse-glow 4s ease-in-out infinite; } .animate-fade-in-up { - animation: fade-in-up 0.6s ease-out forwards; + animation: fade-in-up 0.7s ease-out forwards; } .animate-fade-in { - animation: fade-in 0.6s ease-out forwards; + animation: fade-in 0.7s ease-out forwards; } .animate-slide-in-left { - animation: slide-in-left 0.6s ease-out forwards; + animation: slide-in-left 0.7s ease-out forwards; } .animate-slide-in-right { - animation: slide-in-right 0.6s ease-out forwards; + animation: slide-in-right 0.7s ease-out forwards; } .animate-wiggle { - animation: wiggle 2s ease-in-out infinite; + animation: wiggle 2.5s ease-in-out infinite; } /* Scroll-triggered animation base state */ .reveal { opacity: 0; - transform: translateY(30px); - transition: opacity 0.6s ease-out, transform 0.6s ease-out; + transform: translateY(24px); + transition: opacity 0.7s ease-out, transform 0.7s ease-out; } .reveal.visible { @@ -133,23 +135,23 @@ transform: translateY(0); } -/* Neon glow effect */ +/* Glow effects — subtle, not rave */ .neon-text { - text-shadow: 0 0 10px var(--color-neon), 0 0 40px var(--color-neon), 0 0 80px rgba(57, 255, 20, 0.3); + text-shadow: 0 0 20px rgba(52, 211, 153, 0.4), 0 0 60px rgba(52, 211, 153, 0.15); } .neon-border { - box-shadow: 0 0 10px rgba(57, 255, 20, 0.3), inset 0 0 10px rgba(57, 255, 20, 0.1); + box-shadow: 0 0 8px rgba(52, 211, 153, 0.15), inset 0 0 8px rgba(52, 211, 153, 0.05); } .neon-glow-orb { - background: radial-gradient(circle, rgba(57, 255, 20, 0.3) 0%, transparent 70%); - filter: blur(40px); + background: radial-gradient(circle, rgba(52, 211, 153, 0.15) 0%, transparent 70%); + filter: blur(60px); } /* Gradient text */ .gradient-text { - background: linear-gradient(135deg, var(--color-neon) 0%, #7CFF5B 50%, var(--color-cream) 100%); + background: linear-gradient(135deg, var(--color-neon) 0%, var(--color-accent) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; @@ -157,17 +159,18 @@ /* Card hover effect */ .card-hover { - transition: transform 0.3s ease, box-shadow 0.3s ease; + transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; } .card-hover:hover { - transform: translateY(-4px); - box-shadow: 0 0 20px rgba(57, 255, 20, 0.15), 0 10px 40px rgba(0, 0, 0, 0.3); + transform: translateY(-3px); + box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3), 0 0 15px rgba(52, 211, 153, 0.08); + border-color: rgba(52, 211, 153, 0.3); } /* Scrollbar styling */ ::-webkit-scrollbar { - width: 8px; + width: 6px; } ::-webkit-scrollbar-track { @@ -176,9 +179,9 @@ ::-webkit-scrollbar-thumb { background: var(--color-brown-light); - border-radius: 4px; + border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { - background: var(--color-neon-dim); + background: var(--color-cream-dim); } diff --git a/components/contact-section.tsx b/components/contact-section.tsx index ecce090..11f8468 100644 --- a/components/contact-section.tsx +++ b/components/contact-section.tsx @@ -190,8 +190,8 @@ export function ContactSection() { -
-

+

+

Fun fact 💩⚡

diff --git a/components/hero-section.tsx b/components/hero-section.tsx index 50fcd4a..ccbb1da 100644 --- a/components/hero-section.tsx +++ b/components/hero-section.tsx @@ -4,14 +4,12 @@ import { Button } from "@/components/ui/button"; import { Zap, ArrowDown } from "lucide-react"; const floatingEmojis = [ - { emoji: "💩", top: "15%", left: "8%", delay: "0s", duration: "6s" }, - { emoji: "⚡", top: "25%", right: "12%", delay: "1s", duration: "7s" }, - { emoji: "💩", top: "60%", left: "5%", delay: "2s", duration: "8s" }, - { emoji: "🔋", top: "70%", right: "8%", delay: "0.5s", duration: "6.5s" }, - { emoji: "💩", top: "40%", right: "5%", delay: "3s", duration: "7s" }, - { emoji: "🌿", top: "80%", left: "15%", delay: "1.5s", duration: "9s" }, - { emoji: "⚡", top: "10%", left: "75%", delay: "2.5s", duration: "6s" }, - { emoji: "💩", top: "50%", left: "90%", delay: "0.8s", duration: "7.5s" }, + { emoji: "💩", top: "20%", left: "8%", delay: "0s", duration: "8s" }, + { emoji: "⚡", top: "30%", right: "10%", delay: "1.5s", duration: "9s" }, + { emoji: "🌿", top: "65%", left: "6%", delay: "3s", duration: "10s" }, + { emoji: "🔋", top: "75%", right: "8%", delay: "0.5s", duration: "8.5s" }, + { emoji: "💩", top: "45%", right: "4%", delay: "4s", duration: "9s" }, + { emoji: "⚡", top: "12%", left: "80%", delay: "2s", duration: "10s" }, ]; export function HeroSection() { @@ -28,7 +26,7 @@ export function HeroSection() { {floatingEmojis.map((item, i) => (

-
+
Your #2 Is Our #1 Priority
diff --git a/components/impact-section.tsx b/components/impact-section.tsx index 0d9b283..039e45b 100644 --- a/components/impact-section.tsx +++ b/components/impact-section.tsx @@ -54,7 +54,7 @@ function StatCard({
-
+
{count} {stat.suffix}
diff --git a/components/packages-section.tsx b/components/packages-section.tsx index df24996..f631ebe 100644 --- a/components/packages-section.tsx +++ b/components/packages-section.tsx @@ -93,7 +93,7 @@ export function PackagesSection() { style={{ animationDelay: `${0.2 + index * 0.1}s` }} > {pkg.featured && ( -
+
Most Popular
diff --git a/components/ui/button.tsx b/components/ui/button.tsx index 10d7729..b059b31 100644 --- a/components/ui/button.tsx +++ b/components/ui/button.tsx @@ -8,9 +8,9 @@ const buttonVariants = cva( variants: { variant: { default: - "bg-neon text-bg-primary hover:bg-neon-dim hover:shadow-[0_0_20px_rgba(57,255,20,0.4)]", + "bg-neon text-bg-primary hover:bg-neon-dim hover:shadow-[0_0_20px_rgba(52,211,153,0.25)]", outline: - "border-2 border-neon text-neon hover:bg-neon/10 hover:shadow-[0_0_15px_rgba(57,255,20,0.2)]", + "border-2 border-neon/60 text-neon hover:bg-neon/10 hover:border-neon", ghost: "text-cream hover:bg-cream/10", }, size: { diff --git a/components/ui/card.tsx b/components/ui/card.tsx index 501b079..32f6017 100644 --- a/components/ui/card.tsx +++ b/components/ui/card.tsx @@ -8,7 +8,7 @@ const Card = React.forwardRef<