From eedee5a099ccc771f7f6e055bdf6d33f3c9c8ede Mon Sep 17 00:00:00 2001 From: hobokenchicken Date: Wed, 11 Feb 2026 22:54:39 -0500 Subject: [PATCH] feat(ui): add hero section styles with coffee theme buttons and animations --- styles.css | 115 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 102 insertions(+), 13 deletions(-) diff --git a/styles.css b/styles.css index 1c3e4bc..c51c652 100644 --- a/styles.css +++ b/styles.css @@ -87,21 +87,54 @@ h2 { display: inline-block; } -/* Header */ -header { - background-color: var(--bg-body); - padding: 3rem 1rem; - margin-bottom: 2rem; - - h1 { - color: var(--color-coffee-medium) !important; /* Elegant coffee tone for main title */ +/* Header/Hero Section */ +.hero-section { + min-height: 100vh; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + text-align: center; + position: relative; + padding: 2rem 1rem; + z-index: 1; +} + +.hero-content { + max-width: 900px; + margin: 0 auto; +} + +.hero-title { + font-size: clamp(3rem, 8vw, 5.5rem); + line-height: 1.1; + margin-bottom: 1.5rem; + background: linear-gradient(135deg, var(--color-coffee-dark) 0%, var(--color-coffee-medium) 100%); + -webkit-background-clip: text; + background-clip: text; + -webkit-text-fill-color: transparent; + font-weight: 900; +} + +.hero-subtitle { + font-size: clamp(1.25rem, 3vw, 1.75rem); + margin-bottom: 2.5rem; + color: var(--color-coffee-dark); + font-weight: 500; + min-height: 1.5em; + opacity: 0.9; +} + +@media (prefers-color-scheme: dark) { + .hero-title { + background: linear-gradient(135deg, var(--color-cream) 0%, var(--color-gold) 100%); + -webkit-background-clip: text; + background-clip: text; + -webkit-text-fill-color: transparent; } - p { - font-size: 1.25rem; - opacity: 0.8; - max-width: 600px; - margin-inline: auto; + .hero-subtitle { + color: var(--color-cream); } } @@ -406,6 +439,58 @@ footer { transform: translateY(0); } +/* Custom Coffee Outline Button */ +.btn-outline-coffee { + color: var(--color-coffee-dark); + border: 2px solid var(--color-coffee-dark); + background: transparent; + font-weight: 700; + text-transform: uppercase; + font-size: 0.85rem; + letter-spacing: 0.05em; + padding: 0.6em 1.2em; + border-radius: 50px; + transition: all 0.3s ease; +} + +.btn-outline-coffee:hover, +.btn-outline-coffee:focus { + background-color: var(--color-coffee-dark); + color: var(--color-cream); + transform: translateY(-2px); + box-shadow: 0 4px 15px rgba(59, 47, 47, 0.2); +} + +@media (prefers-color-scheme: dark) { + .btn-outline-coffee { + color: var(--color-cream); + border-color: var(--color-cream); + } + + .btn-outline-coffee:hover { + background-color: var(--color-cream); + color: var(--color-coffee-dark); + } +} + +.btn-group-custom { + display: flex; + gap: 1rem; + justify-content: center; + flex-wrap: wrap; + margin-bottom: 2rem; +} + +/* Scroll Bounce Animation */ +@keyframes bounce { + 0%, 20%, 50%, 80%, 100% {transform: translateY(0);} + 40% {transform: translateY(-10px);} + 60% {transform: translateY(-5px);} +} +.animate-bounce { + animation: bounce 2s infinite; +} + /* ===== REDUCED MOTION SUPPORT ===== */ @media (prefers-reduced-motion: reduce) { *, @@ -424,4 +509,8 @@ footer { .skill-bar-fill::after { animation: none; } + + .animate-bounce { + animation: none; + } }