@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;800&family=Noto+Sans+SC:wght@300;700;900&display=swap');

:root { 
    --tg-blue: #24A1DE; 
    --tg-gradient: linear-gradient(135deg, #24A1DE 0%, #00E5FF 100%);
    --text-main: #0F172A;
    --text-gray: #4d5156;
    --border-color: #ebebeb;
    --bg-light: #f8f9fa;
}

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

body { 
    font-family: 'Plus Jakarta Sans', 'Noto Sans SC', sans-serif; 
    color: var(--text-main);
    background-color: #fff;
    line-height: 1.6;
}

.page-header { 
    padding: 15px 5%; 
    display: flex; 
    align-items: center; 
    border-bottom: 1px solid var(--border-color); 
    background: #fff; 
}

.logo { 
    text-decoration: none; 
    color: var(--tg-blue); 
    font-weight: 900; 
    font-size: 22px; 
}

.header-divider { 
    margin: 0 15px; 
    color: var(--border-color); 
}

.page-title { 
    color: var(--text-gray); 
    font-weight: 600; 
    font-size: 18px; 
}

.f-links {
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-bottom: 15px;
}
.f-links a { text-decoration: none; color: inherit; }

.g-footer { 
    background: #f2f2f2; 
    border-top: 1px solid #dadce0; 
    color: #70757a; 
    font-size: 14px; 
    margin-top: 80px; 
    padding: 30px 5%; 
    text-align: center; 
}
.contact-container { 
    max-width: 1100px; 
    margin: 70px auto; 
    padding: 0 20px; 
    display: grid; 
    grid-template-columns: 1fr 1.5fr; 
    gap: 60px; 
}

.contact-info h1 { 
    font-size: 2.5rem; 
    font-weight: 800; 
    margin-bottom: 20px; 
}

.contact-info p { 
    color: var(--text-gray); 
    margin-bottom: 40px; 
    font-size: 1.1rem; 
}

.info-item { 
    display: flex; 
    align-items: flex-start; 
    gap: 20px; 
    margin-bottom: 30px; 
}

.icon-circle { 
    width: 50px; 
    height: 50px; 
    background: var(--tg-gradient); 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    color: white; 
    font-size: 20px; 
    flex-shrink: 0; 
}

.item-text h3 { 
    font-size: 1.1rem; 
    margin-bottom: 5px; 
}

.item-text p { 
    margin-bottom: 0; 
    font-size: 1rem; 
    color: var(--tg-blue); 
    font-weight: 600; 
}

.contact-form-card { 
    background: #fff; 
    padding: 40px; 
    border-radius: 24px; 
    border: 1px solid var(--border-color); 
    box-shadow: 0 20px 40px rgba(0,0,0,0.03); 
}

.form-group { 
    margin-bottom: 20px; 
}

.form-group label { 
    display: block; 
    margin-bottom: 8px; 
    font-weight: 600; 
    font-size: 0.9rem; 
    color: var(--text-main); 
}

.form-control { 
    width: 100%; 
    padding: 12px 18px; 
    border: 1px solid var(--border-color); 
    border-radius: 12px; 
    font-family: inherit; 
    font-size: 1rem; 
    outline: none; 
    transition: border-color 0.2s; 
}

.form-control:focus { 
    border-color: var(--tg-blue); 
}

textarea.form-control { 
    height: 150px; 
    resize: none; 
}

.btn-send { 
    width: 100%; 
    background: var(--text-main); 
    color: white; 
    border: none; 
    padding: 15px; 
    border-radius: 12px; 
    font-weight: 700; 
    font-size: 1rem; 
    cursor: pointer; 
    transition: transform 0.2s, opacity 0.2s; 
}

.btn-send:hover { 
    opacity: 0.9; 
    transform: translateY(-2px); 
}

@media (max-width: 900px) {
    .contact-container { 
        grid-template-columns: 1fr; 
        gap: 40px; 
    }
    .contact-info { 
        text-align: center; 
    }
    .info-item { 
        /*justify-content: center; */
        text-align: left; 
    }
}