/* ALAPBEÁLLÍTÁSOK */
:root {
    --tz-turquise: #63d2d9;
    --tz-yellow: #ffda44;
    --tz-pink: #ff85c1;
    --tz-orange: #ffb347;
    --dark-bg: #1a1a1a;
    --light-bg: #ffffff;
}

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

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--light-bg);
    color: #333;
    scroll-behavior: smooth;
    line-height: 1.6;
}

/* HEADER & LOGÓ */
header {
    padding: 60px 5% 30px;
    text-align: center;
    background: white;
    border-bottom: 1px solid #eee;
}

.hero-logo {
    width: 450px;
    max-width: 90%;
    height: auto;
    margin-bottom: 40px;
}

/* NAVIGÁCIÓ */
.main-nav {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.nav-link {
    text-decoration: none;
    color: var(--dark-bg);
    font-weight: 700;
    font-size: 1.1rem;
    padding-bottom: 12px;
    position: relative;
    transition: 0.3s ease;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 6px;
    bottom: 0;
    left: 0;
    border-radius: 3px;
    transition: height 0.2s ease;
}

.line-turquise::after { background-color: var(--tz-turquise); }
.line-yellow::after { background-color: var(--tz-yellow); }
.line-pink::after { background-color: var(--tz-pink); }
.line-orange::after { background-color: var(--tz-orange); }

.nav-link:hover { transform: translateY(-3px); }
.nav-link:hover::after { height: 10px; }

/* HERO */
.hero {
    text-align: center;
    padding: 100px 10%;
    background: radial-gradient(circle, #ffffff 0%, #f4f7f6 100%);
}

.hero h1 {
    font-size: 3.5rem;
    margin-bottom: 20px;
    color: var(--dark-bg);
}

.hero p {
    font-size: 1.3rem;
    max-width: 800px;
    margin: 0 auto;
    color: #666;
}

/* MEGOLDÁSOK (Világos háttér, kártya stílus) */
.solutions {
    padding: 80px 10%;
    background: var(--light-bg);
    text-align: center;
}

.solutions h2 {
    font-size: 2.5rem;
    margin-bottom: 50px;
    color: var(--dark-bg);
}

.solutions-grid {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.sol-card {
    background: #ffffff;
    padding: 40px;
    border-radius: 15px;
    width: 280px;
    text-align: left;
    transition: 0.3s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    border-top: 8px solid;
}

.sol-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 45px rgba(0,0,0,0.15);
}

.sol-turquise { border-top-color: var(--tz-turquise); }
.sol-yellow { border-top-color: var(--tz-yellow); }
.sol-pink { border-top-color: var(--tz-pink); }
.sol-orange { border-top-color: var(--tz-orange); }

.sol-card h3 { margin-bottom: 15px; font-size: 1.3rem; font-weight: 700; }
.sol-card p { color: #555; font-size: 0.95rem; }

/* CSAPAT (Sötét háttér) */
.team-section {
    background: var(--dark-bg);
    color: white;
    padding: 100px 5%;
    text-align: center;
}

.leader-box { margin-bottom: 80px; }

.leader-box img {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    border: 8px solid var(--tz-turquise);
    object-fit: cover;
    filter: grayscale(100%);
    transition: 0.5s;
    margin-bottom: 20px;
}

.leader-box:hover img { filter: grayscale(0%); border-color: var(--tz-pink); }
.leader-box h2 { font-size: 2.5rem; margin: 10px 0; }
.leader-box .rank { color: var(--tz-orange); font-weight: 700; letter-spacing: 2px; }

.teams-container {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.team-card {
    background: rgba(255, 255, 255, 0.05);
    padding: 40px;
    border-radius: 15px;
    width: 350px;
    text-align: left;
    border-top: 8px solid var(--tz-yellow);
}

.team-card-2 { border-top-color: var(--tz-orange); }
.team-card h3 { color: var(--tz-turquise); margin-bottom: 15px; }
.team-card ul { list-style: none; }
.team-card li { margin-bottom: 10px; padding-left: 20px; position: relative; }
.team-card li::before { content: "•"; color: var(--tz-pink); position: absolute; left: 0; }

/* FOOTER */
footer {
    background: #111;
    color: white;
    padding: 60px 10% 30px;
    text-align: center;
}

.contact-info { margin: 30px 0; }
.contact-info p { margin: 10px 0; color: #ccc; }
.footer-bottom {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #333;
    font-size: 0.8rem;
    color: #666;
}

/* MOBIL NÉZET */
@media (max-width: 768px) {
    .hero h1 { font-size: 2.5rem; }
    .hero-logo { width: 300px; }
    .main-nav { gap: 15px; }
    .sol-card, .team-card { width: 100%; }
}