*{margin:0;padding:0;box-sizing:border-box;}
body{
    font-family:'Montserrat',sans-serif;
    background:#f0f7ff;
    color:#063970;
    scroll-behavior:smooth;
}

/* NAV */
nav{
    display:flex;justify-content:space-between;align-items:center;
    padding:20px 40px;
    background:#fff;position:sticky;top:0;z-index:1000;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
	max-height: 160px;
}
nav ul{display:flex;gap:25px;list-style:none;}
nav a{text-decoration:none;color:#0057b8;font-weight:600;font-size:18px;}
nav a:hover{color:#002d6b;}
.logo{height:160px;}

/* HERO */
.hero{
    display:flex;flex-direction:column;align-items:center;
    padding:80px 20px;text-align:center;
    background:linear-gradient(135deg,#b3d9ff,#e6f2ff);
}
.hero-img{
    width:450px;border-radius:15px;margin-top:25px;
    box-shadow:0 4px 12px rgba(0,0,0,.25);
}
h1{font-size:46px;margin-bottom:15px;color:#002d6b;}
h2{font-size:36px;margin:60px 0 25px;color:#003d99;text-align:center;}
p{font-size:21px;line-height:1.7;max-width:850px;margin:0 auto 25px;}

.section{
    padding:60px 20px;
    max-width:1000px;
    margin:auto;
    border-bottom:4px solid #d3e8ff;
}

/* Alternating backgrounds */
.light{background:#eaf4ff;}
.dark{background:#fdfefe;}

/* SERVICES */
.services{display:grid;gap:20px;grid-template-columns:1fr 1fr;}
.card{
    padding:25px;background:#fff;border-left:8px solid #0057b8;
    border-radius:10px;font-size:20px;font-weight:500;
    text-align:left;box-shadow:0 3px 10px rgba(0,0,0,.12);
    transition:.25s;
}
.card:hover{transform:translateY(-4px);background:#e6f2ff;}

/* BUTTON */
.btn{
    background:#0057b8;color:#fff;padding:15px 30px;border-radius:10px;
    font-size:20px;font-weight:600;display:inline-block;margin-top:15px;
}
.btn:hover{background:#003d99;}

/* CHAT */
.chat-box{
    background:#fff;padding:20px;border-radius:10px;
    display:flex;flex-direction:column;gap:12px;
    max-width:650px;margin:auto;
    box-shadow:0 3px 10px rgba(0,0,0,.15);
}
#chatMessages{
    height:250px;overflow-y:auto;padding:12px;background:#e6f2ff;
    border-radius:6px;display:flex;flex-direction:column;gap:8px;
}
#chatMessages .user{
    align-self:flex-end;background:#0057b8;color:#fff;
    padding:8px 12px;border-radius:10px;
}
#chatMessages .bot{
    align-self:flex-start;background:#b3d9ff;
    padding:8px 12px;border-radius:10px;
}
#chatInput{padding:12px;border-radius:8px;border:1px solid #99bfe6;font-size:18px;}
#sendBtn{padding:12px;background:#003d99;border:none;color:#fff;border-radius:8px;cursor:pointer;font-size:18px;}
#sendBtn:hover{opacity:.9;}

.avatar{
    width:260px;border-radius:50%;
    box-shadow:0 3px 10px rgba(0,0,0,.2);
    margin:25px auto;display:block;
}

/* TOP BTN */
#topBtn{
    position:fixed;bottom:25px;right:25px;padding:12px 18px;
    background:#0057b8;color:#fff;border:none;border-radius:10px;
    cursor:pointer;font-size:25px;display:none;
}

/* ANIMATIONS */
.fade-in{opacity:0;animation:fadeIn 1.5s forwards;}
.slide-in{opacity:0;animation:slideIn 1.5s forwards;}
@keyframes fadeIn{to{opacity:1;}}
@keyframes slideIn{from{transform:translateY(40px);opacity:0;}to{transform:none;opacity:1;}}

.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s ease-out,transform .6s;}
.reveal.visible{opacity:1;transform:none;}

/* RESPONSIVE */
@media(max-width:800px){
    .services{grid-template-columns:1fr;}
    .hero-img{width:330px;}
}
/* ========================= */
/* HAMBURGER MENU - POPRAWIONE */
/* ========================= */

.hamburger{
    display:none;
    font-size:34px;
    cursor:pointer;
    color:#0057b8;
    padding:8px 12px;
}

/* MOBILE */
@media(max-width:800px){

    /* zmniejszamy logo */
    .logo{
        height:80px;
    }

    nav{
        flex-wrap:wrap;
        padding:10px 20px;
    }

    .hamburger{
        display:block;
    }

    nav ul{
        display:none;
        width:100%;
        flex-direction:column;
        gap:18px;
        margin-top:10px;
        background:rgba(255,255,255,0.95);
        backdrop-filter: blur(8px);
        padding:20px 25px;
        border-radius:12px;
        box-shadow:0 6px 18px rgba(0,0,0,.15);
        animation:menuFade .25s ease;
    }

    nav ul.show{
        display:flex;
    }

    nav li{
        text-align:left;
    }

    nav a{
        font-size:22px;
        padding:10px 0;
        display:block;
    }
}

/* animacja */
@keyframes menuFade{
    from{opacity:0; transform:translateY(-10px);}
    to{opacity:1; transform:none;}
}
