.hero { position: relative; display: flex; align-items: center; justify-content: center; height: 100vh; height: 100dvh; padding: var(--space-3xl) 0; overflow: hidden; } .backgroundContainer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; } .content { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; } .text { max-width: 800px; text-align: center; } .greeting { font-size: 1.125rem; font-weight: 500; color: var(--md-sys-color-primary); margin-bottom: var(--space-md); letter-spacing: 0.05em; text-transform: uppercase; } .title { font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 700; line-height: 1.1; margin-bottom: var(--space-lg); background: linear-gradient( 135deg, var(--md-sys-color-on-surface) 0%, var(--md-sys-color-primary) 50%, var(--md-sys-color-on-surface) 100% ); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: shimmer 3s ease-in-out infinite; } @keyframes shimmer { 0%, 100% { background-position: 0% center; } 50% { background-position: 100% center; } } .tagline { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.5em; font-size: clamp(1.25rem, 3vw, 2rem); color: var(--md-sys-color-on-surface); opacity: 0.9; margin-bottom: var(--space-2xl); } .typed { color: var(--md-sys-color-primary); font-weight: 600; min-width: 200px; text-align: left; } .cursor { display: inline-block; margin-left: 2px; animation: blink 1s step-end infinite; } @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } .cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-md); } .scrollIndicator { position: absolute; bottom: var(--space-2xl); left: 50%; transform: translateX(-50%); z-index: 1; display: flex; flex-direction: column; align-items: center; gap: var(--space-sm); } .scrollMouse { width: 26px; height: 42px; border: 2px solid var(--md-sys-color-outline); border-radius: 13px; display: flex; justify-content: center; padding-top: 8px; } .scrollWheel { width: 4px; height: 8px; background-color: var(--md-sys-color-primary); border-radius: 2px; } .scrollText { font-size: 0.75rem; font-weight: 500; color: var(--md-sys-color-on-surface); opacity: 0.4; text-transform: uppercase; letter-spacing: 0.1em; } @media (max-width: 768px) { .typed { min-width: auto; display: block; width: 100%; text-align: center; } .cta { flex-direction: column; } .cta a { width: 100%; } .cta button { width: 100%; } }