@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&display=swap');

html{
    font-size: 10px;
    scroll-behavior: smooth;
}
html, body{
    font-family: 'Quicksand', sans-serif;
}
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Quicksand', sans-serif;
}

body.menu-open{
    overflow: hidden;
}

/* ===== NAVBAR ===== */
nav{
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 122px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
    z-index: 100;
    transition: transform .35s ease, box-shadow .3s ease;
}
nav.nav-hidden{
    transform: translateY(-100%);
}


.nav-container{
    max-width: 1400px;
    height: 100%;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 60px);
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.logo a{
    text-decoration: none;
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}
.logo-big{
    font-size: 3.3rem;
    font-weight: 700; 
    color: #243082;
}
.navy{ 
    color: #243082; 
}
.orange{ 
    color: #EF870D; 
}
.logo-small{
    font-size: 1.3rem;
    font-weight: 500;
    color: #243082;
    margin-top: 2px;
    letter-spacing: .3px;
}


.buttons{ 
    display:flex; 
    align-items:center; 
    gap:40px; 
}
.buttons ol{ 
    display:flex; 
    gap:8px; 
    list-style:none; 
}
.buttons ol li a{
    position: relative;
    color:#8ba0c3; 
    text-decoration:none;
    font-size:1.5rem; 
    font-weight:500; 
    text-transform:uppercase;
    padding:1rem .5rem; 
    display:inline-block;
    transition:color .3s ease;
}
.buttons ol li a::after{
    content:''; 
    position:absolute; 
    bottom:0; left:50%;
    width:0; height:2px; 
    background:#EF870D;
    transition:width .3s ease; 
    transform:translateX(-50%);
}
.buttons ol li a:hover{ 
    color:#EF870D; 
}
.buttons ol li a:hover::after{ 
    width:70%; 
}

.btn{
    border:2px solid #EF870D; 
    color:#EF870D;
    padding:12px 26px;
    border-radius:8px;
    text-decoration:none;
    font-size: 2rem; 
    font-weight:500; 
    transition:.3s;
    background-color: #fff;
}
.btn:hover{ 
    background:#EF870D; 
    color:#fff; 
}


.burger{
    color:#EF870D; 
    font-size:3.2rem; 
    padding:.9rem 1rem;
    position:fixed; 
    right:2rem; 
    top:1.6rem; 
    cursor:pointer;
    display:none; 
    z-index:101; 
    background:#fff; 
    border-radius:8px;
    box-shadow:0 2px 10px rgba(0,0,0,.08); 
    transition:transform .3s ease;
}
.burger:hover{ 
    transform:scale(1.08); 
}

.nakladka{
    background-color: rgba(130, 165, 195, 0.94);
    position:fixed; 
    top:0; 
    right:0; 
    height:100%; 
    width:0;
    overflow:hidden; 
    z-index:200;
    display:flex; 
    align-items:center; 
    justify-content:center;
    transition: width .4s cubic-bezier(0.4,0,0.2,1);
}
.nakladka.open{ 
    width:100%; 
}

.nakladka ol{ 
    width:100%; list-style:none; 
}

.nakladka ol a{
    display:block; 
    margin-bottom:2vh; 
    padding:3vh; 
    text-align:center;
    color:#fff; 
    text-decoration:none; 
    font-size:2.2rem; 
    font-weight:600;
    text-transform:uppercase;
}
.nakladka ol a:hover{ 
    background-color:#fff; 
    color:#111; 
}

.zamknijX{
    border-radius:100px; 
    background-color:#fff; 
    color:#000;
    position:absolute; 
    top:2rem; 
    right:2rem; 
    font-size:4rem;
    padding:.3rem 1.2rem; 
    line-height:1; 
    text-decoration:none;
    cursor:pointer; 
    transition:transform .3s ease;
}
.zamknijX:hover{ 
    transform:rotate(90deg); 
}







.container{
    width: 100%;
    max-width: 1400px; 
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 60px);
}


.podstrona-header{
    background: #dbe9fb;
    text-align: center;
    padding: 5rem 0;
    margin-top: 122px; 
    position: relative;
}


.podstrona-header::before,
.podstrona-header::after{
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent, #EF870D, transparent);
}
.podstrona-header::before{ top: 0; }
.podstrona-header::after{ bottom: 0; }

.podstrona-header span{
    font-size: 4rem;
    font-weight: 600;
    color: #1a1a2e;
}











.oferta-powitanie{
    position: relative;
    min-height: 55vh;
    display: flex;
    align-items: center;
    background: url(../img/att.ZKvQAOXhL5WRk__LGGAKaX2_4zL7g0qIAGH8JKgS4i8.jpg) no-repeat center / cover;
    overflow: hidden;
    isolation: isolate;
}

.powitanie-mozg{
    position: absolute;
    left: 0; 
    top: 50%;
    transform: translateY(-50%);
    height: 200%;
    width: auto;
    z-index: 1;
    pointer-events: none;
}

.oferta-powitanie .container{
    position: relative; 
    z-index: 2;
    display: flex;
    justify-content: flex-end;
    min-height: 300px; 
    align-items: center;
}

.powitanie-tekst{
    max-width: 480px;
    text-align: left;
}

.powitanie-tekst h1{
    font-size: 4rem;
    font-weight: 500;
    color: #020207;
    display: inline-block;
    padding-bottom: 1.2rem;
    position: relative;
    margin-bottom: 1.5rem;
}

.powitanie-tekst h1::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #EF870D, transparent);
}

.powitanie-tekst p{
    font-size: 1.5rem;
    color: #030101;
    line-height: 1.7;
}

.blur{
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.70); 
    z-index: 1;
}

.oferta-powitanie::after{
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent, #EF870D, transparent);
    z-index: 3; 
}

.oferta-powitanie::after{ 
    bottom: 0; 
}










.dla-kogo{
    padding: 5rem 0 6rem;
    position: relative;
}

.dla-kogo::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #EF870D;
}

.sekcja-tytul{
    text-align: center;
    font-size: 3rem;
    font-weight: 500;
    color: #06060a;
    margin: 4rem 0 0 0;
}

.sekcja-tytul::after{
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #EF870D, transparent);
    margin-top: 4rem;
}









.oferta-row{
    display: flex;
    align-items: center;
    gap: 15rem;
    margin: 6rem 0 6rem 0;
    padding-top: 5rem;
}
.oferta-row--reverse{
    flex-direction: row-reverse;
}

.oferta-tekst{
    flex: 1;
    min-width: 0;
}

.oferta-tekst h3{
    font-size: 3rem;
    font-weight: 500;
    color: #000000;
    display: inline-block;
    padding-bottom: .8rem;
    position: relative;
    margin-bottom: 1.8rem;
}
.oferta-tekst h3::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #EF870D, transparent);
}

.oferta-tekst h4{
    font-size: 2rem;
    font-weight: 500;
    color: #1a1a2e;
    margin-bottom: 1rem;
    line-height: 1.5;
}

.oferta-tekst p{
    font-size: 1.5rem;
    color: #000000;
    line-height: 1.7;
    margin-bottom: 3rem;
}


.oferta-tekst-h4-line{
    padding-bottom: 1rem;
    position: relative;
    margin-bottom: 1.5rem;
}
.oferta-tekst-h4-line::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60%;
    height: 2px;
    background: linear-gradient(90deg, #EF870D, transparent);
}

.oferta-tekst ul{
    list-style: none;
    padding: 0;
}
.oferta-tekst ul li{
    font-size: 1.5rem;
    color: #000000;
    line-height: 1.8;
    padding-left: 1.4rem;
    position: relative;
}
.oferta-tekst ul li::before{
    content: '•';
    color: #EF870D;
    position: absolute;
    left: 0;
    font-size: 1.6rem;
    line-height: 1.5;
}


.oferta-zdjecie-wrap{
    flex: 1;
    min-width: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zdjecie-mozg{
    position: absolute;
    left: 70%;
    transform: translateX(-50%); 
    width: clamp(1000px, 15vw, 220px);
    height: auto;
    opacity: 0.5;
    z-index: 0;         
    pointer-events: none;
}


.oferta-zdjecie{
    position: relative;
    z-index: 1;
    width: 100%;
    

}
.oferta-zdjecie img{
    width: 100%;
    object-fit: cover;
    display: block;
    border-radius: 20px;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}











.rodzice{
    background: linear-gradient(180deg, #B4D5F2 0%, #ffffff 100%);
    padding: 5rem 0 6rem;
    position: relative;
}



.rodzice-mozg{
    position: absolute;
    top: -14rem;
    left: -22rem;
    width: clamp(460px, 11vw, 390px);
    height: auto;
    opacity: .9;
    z-index: 0;
    pointer-events: none;
}



.rodzice .container{
    position: relative;
    z-index: 1; 
}

.rodzice::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #EF870D;
}














.mlodzi-dorosli{
    padding: 5rem 0 6rem;
    position: relative;

}


.mlodzi-mozg-mini{
    position: absolute;
    bottom: -170px;
    right: -170px; 
    width: clamp(400px, 10vw, 340px);
    height: auto;
    opacity: .7;
    z-index: -1;
    pointer-events: none;
}

.mlodzi-dorosli .container{
    position: relative;
    z-index: 2; 
}



.para-sekcji{
    position: relative; 
    isolation: isolate;
}

.rodzice,
.mlodzi-dorosli{
    position: relative;
}


.para-blob{
    position: absolute;
    top: 32%; 
    right: 0%;
    width: 40%;
    height: 25%;
    transform: translateY(-50%);
    z-index: 1;
    pointer-events: none;
}

.para-mozg{
    position: absolute;
    top: 55%;
    right: -1%;
    width: clamp(110px, 13vw, 200px);
    height: auto;
    opacity: .7;
    transform: translateY(-50%);
    z-index: 1;
    pointer-events: none;
}


.rodzice .container,
.mlodzi-dorosli .container{
    z-index: 2;
}










.belki{
    position: relative;
}

.belka-info{
    background: #CFE6FA;
    padding: 1rem 0;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    position: relative;
    z-index: 4;
}

.belka-flex{
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.belka-ikona {
    margin: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0; 
}

.belka-ikona img{
    width: 100px;
    height: 100px;
}

.belka-flex p{
    font-weight: 600;
    font-size: 1.5rem;
    color: #020202;
    line-height: 1.5;
}


.dodatkowe-naglowek{
    text-align: center;
    margin-top: -10px; 
    position: relative;
    z-index: 3; 
}

.dodatkowe-naglowek span{
    width: 30vw;
    display: inline-block;
    background: #82A5C3;
    color: #fff;
    font-weight: 700;
    font-size: 3rem;
    padding: 2rem 3rem;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}






.zaloba{
    padding: 10rem 0 10rem;
    position: relative;
    background-color: white;
}
.zaloba::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #EF870D;
}
.rozwoj-szkolne{
    padding: 10rem 0 15rem;
    position: relative;
    background-color: white;
}
.tekst-mozg-dol{
    position: absolute;
    top: 400px;
    right: 570px;
    width: 270px;
    height: 230px;
    z-index: 0; 
    pointer-events: none;
}

.oferta-zdjecie-wrap{
    flex: 1;
    min-width: 0;
    position: relative;
}

.zdjecie-mozg-lewy{
    position: absolute;
    top: 65%;
    left: -100px;
    transform: translateY(-50%);
    padding: 18px;
    z-index: 2;
    pointer-events: none;
}

.oferta-tekst{
    position: relative; 
}

.tekst-mozg-gora{
    position: absolute;
    top: -150px;
    right: -100px;
    width: 240px;
    height: 200px;
    z-index: 0; 
    pointer-events: none;
}


.oferta-tekst h3{
    position: relative;
    z-index: 1;
}


.granatowy-mozg{
    position: absolute;
    top: 50%;
    left: 46%;
    transform: translate(-50%, -50%);
    width: 1050px; 
    height: auto;
    z-index: 0;
    pointer-events: none;
}








.ksztalt-ciemny{
    position: absolute;
    top: -30rem;
    width: 30%;
    height: 1800px;
    z-index: 0;
    pointer-events: none;
}

.ksztalt-jasny{
    position: absolute;
    top: -10rem;
    width: 25%;
    height: 1500px;
    z-index: 6;
    pointer-events: none;
}


.linia-pomaranczowa{
    position: absolute;
    top: 0;
    left: 0;
    width: 20%;
    height: 1600px;
    z-index: 7;
    pointer-events: none;
}


.belki,
.zaloba .container,
.rozwoj-szkolne .container{
    position: relative;
    z-index: 3;
}


.rozwoj-szkolne::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #EF870D;
}








.doradztwo{
    padding: 10rem 0 10rem;
    position: relative;
    background-color: #E7F3FD;
}


.doradztwo-mozg{
    position: absolute;
    top: 50%;
    left: -255px; 
    transform: translateY(-50%);
    width: 480px;
    height: auto;
    z-index: 0;
    opacity: .9;
    pointer-events: none;
}

.doradztwo .oferta-zdjecie{
    position: relative;
    z-index: 1; 
}


.doradztwo::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #EF870D;
}











.diagnoza{
    background: #243082;
    padding: 10rem 0 10rem;
    position: relative;
}

.diagnoza .oferta-tekst h3,
.diagnoza .oferta-tekst h4{
    color: #fff;
}
.diagnoza .oferta-tekst p{
    color: #dbe3f5; 
}
.diagnoza .oferta-tekst ul li{
    color: #dbe3f5;
}
.diagnoza .oferta-tekst ul li::before{
    color: #EF870D; 
}
.diagnoza .oferta-tekst h3::after,
.diagnoza .oferta-tekst-h4-line::after{
    background: linear-gradient(90deg, #EF870D, transparent);
}


.diagnoza-mozg{
    position: absolute;
    top: 50%;
    right: -180px;
    transform: translateY(-50%);
    width: 460px;
    height: auto;
    z-index: 0;
    pointer-events: none;
}
.diagnoza .oferta-zdjecie{
    position: relative;
    z-index: 1;
}

.diagnoza::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #EF870D;
}






.warsztaty{
    padding: 10rem 0 10rem;
    position: relative;
}

.warsztaty .oferta-tekst{
    position: relative;
}
.warsztaty-mozg{
    position: absolute;
    top: -200px;
    right: -500px;
    width: auto;
    height: 800px;
    z-index: 0;
    pointer-events: none;
    transform: scaleX(-1);
    opacity: 0.5;
}
.warsztaty .oferta-tekst h3,
.warsztaty .oferta-tekst h4,
.warsztaty .oferta-tekst p,
.warsztaty .oferta-tekst ul{
    position: relative;
    z-index: 1;
}






.stopka{
    background: #1a2b6d;
    padding: 5rem 0 0;
}

.stopka-grid{
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
    gap: 3rem;
}

.stopka-brand .logo-big{ 
    font-size: 2.4rem; 
}
.stopka-brand .navy{ 
    color: #fff; 
}

.stopka-brand p{
    color: #c9d3ec;
    font-size: 1.3rem;
    line-height: 1.6;
    margin-top: 1.2rem;
}

.stopka-firma{
    margin-top: 1.5rem;
    font-size: 1.2rem;
    color: #8b9bd1;
}

.stopka-col h4{
    color: #EF870D;
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 1.4rem;
}

.stopka-col ul{
    list-style: none;
}

.stopka-col ul li{
    margin-bottom: .9rem;
}

.stopka-col ul li a{
    color: #c9d3ec;
    text-decoration: none;
    font-size: 1.3rem;
    transition: color .3s ease;
}
.stopka-col ul li a:hover{
    color: #EF870D;
}

.stopka-kontakt li{
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    color: #c9d3ec;
    font-size: 1.5rem;
    line-height: 1.4;
}
.stopka-kontakt i{
    color: #EF870D;
    margin-top: .3rem;
    width: 16px;
}
.stopka-kontakt a{
    color: #c9d3ec;
    text-decoration: none;
}
.stopka-kontakt a:hover{
    color: #EF870D;
}

.stopka-copy{
    border-top: 1px solid #EF870D;
    margin-top: 3.5rem;
    padding: 1.6rem 0;
    text-align: center;
    color: #8b9bd1;
    font-size: 1.2rem;
}

.stopka-disclaimer{
    max-width: 900px;
    margin: 2rem auto 0;
    padding: 0 1.5rem;
    text-align: center;
}

.stopka-disclaimer p{
    color: #8b9bd1;
    font-size: 1rem;
    line-height: 1.5;
}



@media all and (max-width: 900px){
    .stopka-grid{
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }
    .stopka-brand{
        grid-column: 1 / -1; 
    }
}

@media all and (max-width: 700px){
    .stopka-disclaimer p{
        font-size: 1rem;
    }
}

@media all and (max-width: 600px){
    .stopka-grid{
        grid-template-columns: 1fr; 
    }
}











@media all and (max-width: 1150px){
    .burger{
        display: block;
    }
    nav{
        display: none;
    }

    .powitanie-mozg{
        display: none;
    }
    .oferta-powitanie .container{
        justify-content: center;
    }

    /* BLOBY I DEKORACJE — chowamy już na tablecie, brzydko się skalują */
    .para-blob,
    .ksztalt-ciemny,
    .ksztalt-jasny,
    .linia-pomaranczowa{
        display: none;
    }

    .granatowy-mozg,
    .tekst-mozg-dol,
    .tekst-mozg-gora,
    .zdjecie-mozg-lewy,
    .doradztwo-mozg,
    .diagnoza-mozg,
    .warsztaty-mozg,
    .rodzice-mozg,
    .mlodzi-mozg-mini,
    .zdjecie-mozg{
        display: none;
    }

    .oferta-row{
        gap: 6rem;
    }

    section{
        scroll-margin-top: 0;
    }
}



@media all and (max-width: 900px){

    .oferta-powitanie .container{
        justify-content: center;
    }
    .powitanie-tekst{
        text-align: center;
        max-width: 90%;
    }
    .powitanie-tekst h1::after{
        left: 50%;
        transform: translateX(-50%);
        width: 60%;
    }

    .oferta-row,
    .oferta-row--reverse{
        flex-direction: column;
        gap: 3rem;
        margin: 3rem 0;
        padding-top: 2rem;
    }
    .oferta-zdjecie{
        width: 100%;
    }

    .belka-flex{
        flex-direction: column;
        text-align: center;
    }
    .belka-flex p{
        font-size: 1.2rem;
    }

    .dodatkowe-naglowek span{
        width: 90vw;
        font-size: 2rem;
        padding: 1.5rem 2rem;
    }
}


@media all and (max-width: 600px){
    .burger{ display: block; }
    nav{ display: none; }
    section{
        scroll-margin-top: 0;
    }
    .powitanie-tekst h1{
        font-size: 3rem;
    }
    .oferta-powitanie{
        min-height: 40vh;
    }

    .sekcja-tytul{
        font-size: 2.2rem;
        margin: 2.5rem 1rem;
    }
    .sekcja-tytul::after{
        margin-top: 2rem;
        margin-bottom: 2rem;
    }

    .oferta-tekst h3{
        font-size: 1.9rem;
    }
    .oferta-tekst h4{
        font-size: 1.5rem;
    }
    .oferta-tekst p,
    .oferta-tekst ul li{
        font-size: 1.3rem;
    }
    .oferta-zdjecie img{
        height: 240px;
        object-fit: cover;
    }

    .zaloba,
    .rozwoj-szkolne,
    .doradztwo,
    .diagnoza,
    .warsztaty{
        padding: 4rem 0;
    }
}
