/* ========================================RESET======================================== */

* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {
    background:#0A0A0A;
    color:#FFFFFF;
    font-family:'Noto Sans KR',sans-serif;
    min-height:100vh;
}

/* ========================================HEADER======================================== */

header {
    position:sticky;
    top:0;
    z-index:1000;
    height:80px;
    background:#000000;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 60px;
    border-bottom:1px solid #1A1A1A;
}

.logo img {
    height:48px;
    display:block;
}

nav {
    display:flex;
    gap:35px;
}

nav a {
    color:white;
    text-decoration:none;
    font-size:15px;
    transition:.3s;
}

nav a:hover {
    color:#0080FF;
}

/* ========================================HERO======================================== */

.hero {
    min-height:90vh;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:80px 30px;
    background:
    radial-gradient(
        circle at center,
        rgba(0,128,255,0.15),
        transparent 60%
    );
}

.hero-content {
    max-width:1000px;
}

.hero h1 {
    font-family:'Orbitron',sans-serif;
    font-size:110px;
    line-height:0.95;
    margin-bottom:25px;
}

.hero h3 {
    color:#0080FF;
    letter-spacing:4px;
    margin-bottom:30px;
    font-weight:500;
}

.hero p {
    color:#B0B0B0;
    font-size:20px;
    line-height:1.8;
    max-width:700px;
    margin:auto;
}

/* ========================================SECTION======================================== */

section {
    width:100%;
}

section h2 {
    text-align:center;
    font-family:'Orbitron';
    font-size:42px;
    margin-bottom:50px;
}

/* ========================================ABOUT======================================== */

.about {
    padding:120px 40px;
}

.about p {
    max-width:900px;
    margin:auto;
    text-align:center;
    line-height:2;
    color:#B0B0B0;
}

/* ========================================WHAT WE BUILD======================================== */

.build {
    padding:120px 40px;
}

.build-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:30px;
    max-width:1400px;
    margin:auto;
}

.build-card {
    background:#151515;
    border:1px solid #222;
    border-radius:18px;
    padding:40px;
    text-align:center;
    transition:.3s;
}

.build-card:hover {
    transform:translateY(-8px);
    border-color:#0080FF;
}

.build-card h3 {
    font-family:'Orbitron';
    margin-bottom:20px;
    color:#0080FF;
}

.build-card p {
    color:#B0B0B0;
    line-height:1.8;
}

/* ========================================PAGE HEADER======================================== */

.page-header {
    text-align:center;
    padding:120px 20px 80px;
}

.page-header h1 {
    font-family:'Orbitron';
    font-size:72px;
    margin-bottom:15px;
}

.page-header p {
    color:#999;
}

/* ========================================PRODUCTS======================================== */

.card-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:30px;
    padding:60px;
    max-width:1500px;
    margin:auto;
}

.card {
    background:#151515;
    border:1px solid #222;
    border-radius:20px;
    overflow:hidden;
    text-decoration:none;
    color:white;
    transition:.3s;
}

.card:hover {
    border-color:#0080FF;
    transform:translateY(-10px);
}

.card img {
    width:100%;
    height:220px;
    object-fit:cover;
}

.card-content {
    padding:25px;
}

.card-content h3 {
    margin-bottom:10px;
}

.card-content span {
    color:#0080FF;
    font-size:14px;
    display:block;
    margin-bottom:15px;
}

.card-content p {
    color:#B0B0B0;
    line-height:1.7;
}

/* ========================================TEAM======================================== */

.member-list {
    max-width:1200px;
    margin:auto;
    padding:40px;
    display:flex;
    flex-direction:column;
    gap:20px;
}

.member-item {
    display:flex;
    align-items:center;
    gap:25px;
    background:#151515;
    border:1px solid #222;
    border-radius:18px;
    padding:25px;
    cursor:pointer;
    transition:.3s;
}

.member-item:hover {
    border-color:#0080FF;
    transform:translateX(8px);
}

.member-avatar {
    width:80px;
    height:80px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #0080FF;
}

.member-info h3 {
    margin-bottom:8px;
}

.member-info span {
    color:#999;
}

/* ========================================MODAL======================================== */

.modal {
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.8);
    z-index:9999;
}

.modal-content {
    width:800px;
    max-width:90%;
    margin:80px auto;
    background:#151515;
    border:1px solid #333;
    border-radius:20px;
    padding:40px;
}

.close-btn {
    float:right;
    cursor:pointer;
    font-size:32px;
}

/* ========================================SKILLS======================================== */

.skill {
    display:inline-block;
    padding:8px 15px;
    margin:5px;
    border-radius:50px;
    background:#0080FF20;
    color:#0080FF;
}

/* ========================================FOOTER======================================== */

footer {
    margin-top:100px;
    border-top:1px solid #1A1A1A;
    padding:60px;
    text-align:center;
}

footer img {
    height:50px;
    margin-bottom:20px;
}

footer p {
    color:#B0B0B0;
    margin-bottom:10px;
}

footer span {
    color:#666;
}

/* ========================================MOBILE======================================== */

@media(max-width:900px) {
    .hero h1 {
        font-size:60px;
    }

    .hero h3 {
        font-size:16px;
    }

    .hero p {
        font-size:16px;
    }

    header {
        padding:0 20px;
    }

    nav {
        gap:15px;
    }

    .card-grid {
        padding:30px;
    }

    .member-item {
        flex-direction:column;
        text-align:center;
    }

}
