diff --git a/src/components/HeroSection.module.css b/src/components/HeroSection.module.css index 59fb907..b93d05a 100644 --- a/src/components/HeroSection.module.css +++ b/src/components/HeroSection.module.css @@ -19,7 +19,7 @@ z-index: 10; display: flex; align-items: center; - justify-content: space-between; + justify-content: flex-end; padding: clamp(1.125rem, 2.5vw, 2rem) var(--layout-page-gutter) 0; } @@ -31,11 +31,14 @@ width: var(--size-icon-button); height: var(--size-icon-button); padding: 0; - border: 0; - background: transparent; + border: 1px solid var(--border-default); + border-radius: var(--radius-pill); + background: color-mix(in srgb, var(--bg-raised) 82%, transparent); color: var(--color-blue-700); cursor: pointer; transition: + background-color var(--motion-duration-fast) ease, + border-color var(--motion-duration-fast) ease, color var(--motion-duration-fast) ease, transform var(--motion-duration-fast) var(--motion-ease-out); } @@ -71,7 +74,7 @@ margin: 0 auto; height: auto; min-height: 100%; - padding-top: clamp(4rem, 6.5vw, 6rem); + padding-top: clamp(4rem, 6vw, 5.5rem); padding-bottom: clamp(1.75rem, 3vw, 2.5rem); padding-left: 1.25rem; padding-right: 1.25rem; @@ -115,9 +118,22 @@ .heroTitle { margin-bottom: clamp(0.5rem, 1vw, 0.875rem); color: var(--text-primary); - font-size: clamp(2rem, 3.6vw, 3.375rem); - line-height: 1.15; + display: flex; + flex-direction: column; + font-size: clamp(2rem, 4vw, 3.5rem); + line-height: 1.02; text-shadow: none; + text-wrap: balance; +} + +.heroGreeting { + color: var(--text-secondary); + font-size: 0.42em; + line-height: 1.5; +} + +.heroName { + display: block; white-space: nowrap; } @@ -125,10 +141,11 @@ .heroSubtitle { margin-bottom: clamp(1.25rem, 2.8vw, 2.25rem); color: var(--text-primary); - font-size: clamp(0.6875rem, 1vw, 0.9375rem); - font-weight: 700; - letter-spacing: 0.18em; - text-transform: uppercase; + max-width: 34rem; + color: var(--text-secondary); + font-size: clamp(0.9375rem, 1.25vw, 1.125rem); + font-weight: 480; + letter-spacing: 0; } /* ── Action buttons ─────────────────────────────────────────── */ @@ -279,8 +296,8 @@ } .iconButton { - width: 2.5rem; - height: 2.5rem; + width: 2.75rem; + height: 2.75rem; } .heroContent { @@ -291,49 +308,36 @@ } .heroTitle { - font-size: clamp(1.625rem, 7.8vw, 2.25rem); - white-space: normal; - max-width: 17rem; - line-height: 1.15; + width: 100%; + max-width: 21rem; + font-size: clamp(1.875rem, 8vw, 2.25rem); + line-height: 1.04; } .heroSubtitle { - white-space: normal; - max-width: 15.625rem; - font-size: 0.6875rem; - letter-spacing: 0.12em; + max-width: 18rem; + font-size: 1rem; + line-height: 1.5; } .actionButtons { display: grid; - grid-template-columns: repeat(3, minmax(0, 1fr)); - width: 100%; - max-width: 17.25rem; - gap: 0.375rem; + grid-template-columns: repeat(2, clamp(5rem, 9vw, 7.5rem)); + width: fit-content; + max-width: none; + gap: 0.5rem; + } + + .heroButtonPrimary { + grid-column: 1 / -1; } .heroButton { min-width: 0; width: auto; - height: 2.375rem; + height: 2.75rem; padding: 0 0.375rem; - font-size: 0.75rem; - } - - .contactBar { - flex-direction: column; - gap: 0.3125rem; - white-space: normal; - font-size: 0.71875rem; - } - - .contactItem { - max-width: 100%; - overflow-wrap: anywhere; - } - - .contactDivider { - display: none; + font-size: 0.875rem; } } @@ -343,6 +347,8 @@ @media (hover: hover) and (pointer: fine) { .iconButton:hover { color: var(--color-blue-500); + border-color: var(--accent-default); + background: var(--bg-raised); transform: translateY(-1px); } diff --git a/src/components/HeroSection.tsx b/src/components/HeroSection.tsx index 3ed0e79..3152084 100644 --- a/src/components/HeroSection.tsx +++ b/src/components/HeroSection.tsx @@ -2,7 +2,7 @@ import React from 'react'; import Image from 'next/image'; -import { Moon, Sun, Languages, Phone } from 'lucide-react'; +import { Moon, Sun } from 'lucide-react'; import { useTheme } from '@/context/ThemeContext'; import styles from './HeroSection.module.css'; @@ -11,13 +11,14 @@ export const HeroSection: React.FC = () => { return (
- {/* Top Floating Controls */} + {/* Top utility control */}
- -
{/* Hero Central Content */} @@ -55,11 +48,12 @@ export const HeroSection: React.FC = () => { {/* Display Typography */}

- Hi, I'm Amirhossein Khalili + Hi, I'm + Amirhossein Khalili

- A PASSIONATE PRODUCT ENGINEER + Product engineer building useful, resilient software.

{/* Action Buttons */} @@ -75,51 +69,6 @@ export const HeroSection: React.FC = () => {
- {/* Contact Info Strip */} -
- - - amirhosseinkhalili901@gmail.com - - -
- - - - +98 9388263077 - - -
- -
- - Karaj, Alborz, Iran -
-
);