:root {
    --primary-color: #3498db;
    --bg-dark: #0a0a0a;
    --text-white: #ffffff;
}

html { scroll-behavior: smooth; }

body {
    background-color: var(--bg-dark);
    color: var(--text-white);
    margin: 0;
    font-family: 'Poppins', sans-serif;
}

header {
    position: fixed;
    width: 100%;
    display: flex;
    justify-content: space-around;
    padding: 20px 0;
    z-index: 1000;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(10px);
}

.logo a { font-size: 30px; font-weight: 900; text-decoration: none; color: white; }
.logo a span { color: var(--primary-color); }

nav ul { display: flex; list-style: none; gap: 30px; }
nav ul li a { text-decoration: none; color: white; font-weight: 500; font-size: 14px; transition: 0.3s; }
nav ul li a.active { color: var(--primary-color); border-bottom: 2px solid var(--primary-color); }


.hero {
    height: 100vh;
    background: url('https://images.unsplash.com/photo-1555066931-4365d14bab8c?q=80&w=2070') no-repeat center center/cover;
    display: flex;
    align-items: center;
    padding-left: 10%;
    position: relative;
}

.hero-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to right, rgba(0,0,0,0.9), transparent);
}

.hero-content { position: relative; z-index: 2; max-width: 600px; }

.hero-content h1 { font-size: 85px; font-weight: 800; line-height: 1; margin: 0; }
.blue-text { color: var(--primary-color); }

.typing-style { font-size: 24px; color: #ddd; margin: 20px 0; border-right: 2px solid var(--primary-color); display: inline-block; padding-right: 10px; }

.hero-subtext { font-size: 16px; opacity: 0.7; margin-bottom: 30px; line-height: 1.6; }

.btn-main { background: var(--primary-color); color: white; padding: 12px 35px; text-decoration: none; border-radius: 50px; font-weight: bold; transition: 0.3s; }
.btn-sub { color: white; text-decoration: none; font-weight: bold; margin-left: 20px; }

.social-hero { margin-top: 50px; display: flex; gap: 20px; font-size: 20px; }
.social-hero a { color: white; opacity: 0.6; transition: 0.3s; }
.social-hero a:hover { opacity: 1; color: var(--primary-color); }


.section { padding: 100px 10%; min-height: 80vh; text-align: center; }
.dark-alt { background: #111; }
.section h2 { font-size: 40px; color: var(--primary-color); margin-bottom: 30px; }

@media screen and (max-width: 480px) {
    .hero-content {
        text-align: left !important;
        padding-left: 10% !important; 
        padding-right: 5% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important; 
        width: 100% !important;
        box-sizing: border-box !important;
    }

    h1 {
        font-size: 24px !important;
        margin-left: 0 !important;
        text-align: left !important;
        width: 100% !important;
        display: block !important;
    }

    .hero-content h2, .hero-content p {
        font-size: 16px !important;
        text-align: left !important;
        margin-left: 0 !important;
        width: 100% !important;
    }

    .hero-buttons {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 15px !important;
        width: 100% !important;
        margin-top: 20px !important;
    }

    .btn {
        margin: 0 !important;
        width: auto !important;
        min-width: 180px !important; 
        text-align: center !important;
    }
}