feat(ui): add hero section styles with coffee theme buttons and animations

This commit is contained in:
2026-02-11 22:54:39 -05:00
parent 9a98eb3d94
commit eedee5a099

View File

@@ -87,21 +87,54 @@ h2 {
display: inline-block; display: inline-block;
} }
/* Header */ /* Header/Hero Section */
header { .hero-section {
background-color: var(--bg-body); min-height: 100vh;
padding: 3rem 1rem; display: flex;
margin-bottom: 2rem; flex-direction: column;
justify-content: center;
h1 { align-items: center;
color: var(--color-coffee-medium) !important; /* Elegant coffee tone for main title */ 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 { .hero-subtitle {
font-size: 1.25rem; color: var(--color-cream);
opacity: 0.8;
max-width: 600px;
margin-inline: auto;
} }
} }
@@ -406,6 +439,58 @@ footer {
transform: translateY(0); 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 ===== */ /* ===== REDUCED MOTION SUPPORT ===== */
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
*, *,
@@ -424,4 +509,8 @@ footer {
.skill-bar-fill::after { .skill-bar-fill::after {
animation: none; animation: none;
} }
.animate-bounce {
animation: none;
}
} }