@layer biblioteka, content;


:root {
    
    --kolor-glowny: #14243f;
    --kolor-glowny-hover: #1f3a6d;

    
    --kolor-akcent: #2f80ff;
    --kolor-akcent-hover: #5599ff;

    
    --kolor-ciemny: #0d1526;

    
    --kolor-tekst: #16202c;
    --kolor-tekst-muted: #5b6675;
    --kolor-tekst-jasny: #d7dee8;

    
    --kolor-tlo: #ffffff;
    --kolor-tlo-alt: #f4f6f8;
    --kolor-linia: #e4e8ee;

    
    --font-bazowy: system-ui, -apple-system, sans-serif;
    --font-naglowek: system-ui, -apple-system, sans-serif;

    
    --cien-md: 0 6px 18px rgba(13, 21, 38, 0.12);
    --cien-lg: 0 18px 44px rgba(13, 21, 38, 0.18);
    
    --cien-mapa-przycisk: 0 6px 16px rgba(13, 21, 38, .18);
    
    --pismo-mapa-tytul: 16px;
    --pismo-mapa-tekst: 14px;
    --pismo-mapa-przycisk: 12px;
    
    --mapa-popup-logo-wys: 92px;
    --cien-akcent: 0 14px 34px rgba(47, 128, 255, 0.32);

    
    --promien: 14px;
}

:root {
    --kolor-glowny: #3c297c;
    --kolor-glowny-hover: #2e1f61;
    --kolor-akcent: #2eb9d6;
    --kolor-akcent-hover: #f3c404;
    --kolor-ciemny: #3c297c;
    --kolor-tekst: #8a8a8a;
    --kolor-tekst-muted: #7c7690;
    --kolor-tekst-jasny: #ffffff;
    --kolor-tlo: #ffffff;
    --kolor-tlo-alt: #fdf5f3;
    --kolor-linia: #cccccc;
    --font-bazowy: Dosis, sans-serif;
    --font-naglowek: Dosis, sans-serif;
    --promien: 25px;
}

@layer biblioteka {

}

@layer content {


*, *::before, *::after { box-sizing: border-box; }


@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
}

body {
    margin: 0;
    font-family: var(--font-bazowy);
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0.5px;
    color: var(--kolor-tekst);
    background: #fff;
    -webkit-font-smoothing: antialiased;
}
a { color: var(--kolor-akcent); text-decoration: none; transition: color .2s, background-color .3s; }
img { vertical-align: middle; border: 0; }
p { margin: 0 0 13px; }
h1, h2, h3, h4 { margin: 0; font-family: var(--font-naglowek); }
ul { margin: 0; }
main { display: block; }

.content__kontener {
    width: 1170px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}


.ikona {
    display: inline-block;
    box-sizing: content-box;
    width: auto;
    height: 1em;
    vertical-align: -0.143em;
    fill: currentColor;
}


.content__gora {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
}
.content__pasek {
    height: 40px;
    padding: 4px 0;
    font-family: Barlow, sans-serif;
    font-size: 14px;
    color: var(--kolor-glowny);
    text-transform: lowercase;
}
.content__pasek-wnetrze { display: flex; justify-content: space-between; }
.content__pasek-poz { display: inline-block; margin-right: 21px; }
.content__pasek-poz .ikona { padding-right: 10px; color: var(--kolor-akcent); }
.content__pasek-fb { font-size: 16px; line-height: 26px; color: var(--kolor-akcent); }

.content__belka {
    display: flex;
    justify-content: space-between;
    width: 1140px;
    max-width: 100%;
    height: 95px;
    margin: 0 auto;
    padding: 22px;
    background: #fff;
    border-radius: 5px;
}
.content__logo { display: block; margin-top: 8px; }
.content__logo img { display: block; width: 250px; height: auto; }

.content__menu { margin-right: 14px; }
.content__menu > ul { display: flex; list-style: none; margin: 0; padding: 0; }
.content__menu > ul > li { position: relative; margin: 0 15px; }
.content__menu > ul > li + li { margin-left: 18.5px; }
.content__menu > ul > li > a {
    display: block;
    text-transform: capitalize;
    padding: 13px 0 12px;
    font-size: 16px;
    font-weight: 600;
    line-height: 26px;
    color: var(--kolor-glowny);
    transition: color .35s;
}
.content__menu > ul > li > a:hover,
.content__menu-aktywna > a { color: var(--kolor-akcent) !important; }

.content__daszek {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 3px solid #222;
    border-right: 3px solid transparent;
    border-left: 3px solid transparent;
    transition: border-color .35s;
}
.content__menu-rozwin > a:hover .content__daszek { border-top-color: currentColor; }
.content__menu-rozwin > ul {
    position: absolute;
    top: 101%;
    left: 0;
    min-width: 250px;
    margin: 0;
    padding: 0;
    border-top: 2px solid var(--kolor-akcent);
    list-style: none;
    background: #fff;
    border-radius: 0 0 7px 7px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, .176);
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all .4s ease-out;
}
.content__menu-rozwin:hover > ul,
.content__menu-rozwin:focus-within > ul { opacity: 1; visibility: visible; transform: none; }
.content__menu-rozwin li a {
    position: relative;
    display: block;
    padding: 14px 44px;
    font-size: 14px;
    line-height: 22.8px;
    color: var(--kolor-glowny);
    transition: all .2s linear;
}
.content__menu-rozwin li a:hover { color: #fff; background: var(--kolor-akcent); }
.content__menu-rozwin li a .ikona { position: absolute; left: 11%; top: 18px; }


.content__tytul-pas {
    height: 404px;
    margin-bottom: 119px;
    padding-top: 209px;
    text-align: center;
    color: #fff;
    background: var(--kolor-akcent-hover) url("../assets/img/tlo-gwiazdki.jpg") 50% 50% / cover no-repeat;
}
.content__tytul {
    position: relative;
    padding-bottom: 27px;
    font-size: 42px;
    font-weight: 700;
    line-height: 46.2px;
    letter-spacing: -1px;
    color: #fff;
}
.content__tytul::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 50px;
    height: 3px;
    margin: auto;
    background: var(--kolor-akcent);
}
.content__okruszki { margin: 20px 0 0; font-size: 16px; color: #fff; }
.content__okruszki a { color: #fff; }
.content__okruszki a:hover { color: var(--kolor-akcent); }


.content__h-sekcji {
    padding-bottom: 22px;
    font-size: 52px;
    font-weight: 600;
    line-height: 57.2px;
    letter-spacing: -1px;
    color: var(--kolor-glowny);
}
.content__h-sekcji--srodek { text-align: center; }
.content__h-sekcji--duzy { padding-bottom: 19px; font-size: 62px; line-height: 68.2px; }
.content__kreska {
    display: block;
    width: 50px;
    height: 3px;
    margin-top: 2px;
    border-top: 3px solid var(--kolor-akcent);
}
.content__kreska--srodek { margin-left: auto; margin-right: auto; }
.content__podtytul {
    margin: 0;
    padding-top: 5px;
    font-size: 22px;
    font-weight: 600;
    line-height: 26px;
    letter-spacing: 0;
    color: var(--kolor-akcent);
}
.content__wstep {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 32px;
    color: var(--kolor-tekst);
}
.content__btn {
    display: inline-block;
    padding: 10px 35px;
    border: 1px solid transparent;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    color: #fff;
    background: var(--kolor-akcent);
}
.content__btn:hover { color: #fff; background: var(--kolor-akcent-hover); }
.content__btn--zolty { padding: 10px 22px; border-radius: 21px; background: #f9c803; }
.content__btn--zolty:hover { background: #f9c803; color: #fff; }
.content__przyciski { margin: 0; font-size: 0; }
.content__przyciski .content__btn + .content__btn { margin-left: 9px; }


.content__lista {
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: Barlow, sans-serif;
}
.content__lista li { position: relative; padding-left: 30px; }
.content__lista li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 14px;
    height: 14px;
    border: 5px solid #f3c404;
    border-radius: 50%;
    background: #fff;
}


.content__hero {
    position: relative;
    overflow: hidden;
    background: #fff;
}
.content__hero-tlo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity .8s ease;
}
.content__hero-tlo--aktywne { opacity: 1; }
.content__hero-scena {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    aspect-ratio: 1920 / 950;
    container-type: inline-size;
}
.content__hero-scena * { --k: calc(100cqw / 1920); }
.content__hero-tytul {
    position: absolute;
    left: calc(235 * var(--k));
    top: calc(296 * var(--k));
    margin: 0;
    font-size: calc(72 * var(--k));
    font-weight: 700;
    line-height: calc(72 * var(--k));
    letter-spacing: 0;
    white-space: nowrap;
    color: var(--kolor-glowny);
}
.content__hero-tytul span {
    display: block;
    margin: calc(5 * var(--k)) 0 0 calc(1 * var(--k));
    color: #f9c803;
}
.content__hero-punkty { margin: 0; padding: 0; list-style: none; }
.content__hero-punkty li {
    position: absolute;
    left: calc(var(--x) * var(--k));
    top: calc(var(--y) * var(--k));
    font-size: calc(18 * var(--k));
    font-weight: 600;
    line-height: calc(32 * var(--k));
    letter-spacing: calc(2 * var(--k));
    white-space: nowrap;
    color: var(--kolor-tekst-muted);
}

.content__hero-punkty li::before {
    content: "";
    position: absolute;
    left: calc((236 - var(--x)) * var(--k));
    top: calc((var(--yk) - var(--y)) * var(--k));
    width: calc(14 * var(--k));
    height: calc(14 * var(--k));
    border: calc(4 * var(--k)) solid #f9c803;
    border-radius: 50%;
    background: rgba(255, 255, 255, .5);
}
.content__hero-btn {
    position: absolute;
    left: calc(241 * var(--k));
    top: calc(683 * var(--k));
    padding: calc(13 * var(--k)) calc(38 * var(--k));
    border-radius: calc(30 * var(--k));
    font-size: calc(18 * var(--k));
    font-weight: 600;
    line-height: calc(18 * var(--k));
    letter-spacing: 0;
    white-space: nowrap;
    color: #fff;
    background: var(--kolor-akcent);
}
.content__hero-btn:hover { color: #fff; background: #f9c803; }

.content__hero-strzalka {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 60px;
    height: 60px;
    margin-top: -30px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #aaa;
    background: #fff;
    cursor: pointer;
}
.content__hero-strzalka--lewo { left: 30px; }
.content__hero-strzalka--prawo { right: 30px; }
.content__hero-strzalka .ikona {
    position: relative;
    z-index: 2;
    font-size: 25px;
    vertical-align: middle;
    transition: color .3s;
}
.content__hero-strzalka:hover { color: #000; }
.content__hero-strzalka span {
    position: absolute;
    z-index: 1;
    top: 0;
    height: 60px;
    padding: 0 20px;
    font-family: var(--font-bazowy);
    font-size: 14px;
    line-height: 60px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    white-space: nowrap;
    color: #000;
    background: #fff;
    transform: scaleX(0);
    transition: transform .3s;
}
.content__hero-strzalka--lewo span { left: 30px; padding-left: 40px; border-radius: 0 30px 30px 0; transform-origin: 0 50%; }
.content__hero-strzalka--prawo span { right: 30px; padding-right: 40px; border-radius: 30px 0 0 30px; transform-origin: 100% 50%; }
.content__hero-strzalka:hover span { transform: scaleX(1); }
.content__hero-kreski {
    position: absolute;
    left: 50%;
    bottom: 50px;
    z-index: 5;
    display: flex;
    gap: 5px;
    margin-left: -12.5px;
}
.content__hero-kreska {
    width: 40px;
    height: 3px;
    padding: 0;
    border: 0;
    background: #fff;
    cursor: pointer;
}
.content__hero-kreska:hover,
.content__hero-kreska--aktywna { background: #f9c803; }


.content__atuty { padding-top: 150px; }
.content__atuty-siatka { display: flex; gap: 30px; }

.content__atut {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1 1 0;
    min-width: 0;
    margin-bottom: 30px;
    padding: 51px 84px;
    overflow: hidden;
    border-radius: 25px;
    text-align: center;
    box-shadow: 0 1px 24px rgba(0, 0, 0, .1);
    transition: all .4s ease-in-out;
}
.content__atut-ikona {
    flex: 0 0 auto;
    position: relative;
    width: 161px;
    height: 153px;
    overflow: hidden;
}
.content__atut-ikona img { position: absolute; left: 0; top: 0; }
.content__atut h4 {
    flex: 0 0 auto;
    padding-top: 43px;
    padding-bottom: 2px;   
    font-size: 24px;
    font-weight: 600;
    line-height: 26.4px;
    letter-spacing: -1px;
    color: var(--kolor-glowny);
    transition: all .4s ease-in-out;
}

.content__atut:hover { background: var(--kolor-glowny); }
.content__atut:hover h4 { color: #fff; }


.content__o-nas { padding-top: 144px; }
.content__o-nas-wiersz { display: flex; gap: 85px; }
.content__o-nas-tekst { flex: 0 0 500px; padding-top: 2px; }
.content__o-nas .content__h-sekcji { margin-bottom: 13px; padding-bottom: 18px; letter-spacing: -2px; }
.content__o-nas .content__kreska { margin-bottom: 51px; }
.content__wstep--o-nas { margin-bottom: 20px; }
.content__o-nas-opis { margin: 0 0 35px; }
.content__o-nas-foto img { display: block; width: 555px; height: auto; }
.content__galeria {
    display: flex;
    gap: 30px;
    padding-top: 53px;
    padding-bottom: 100px;
}

.content__galeria-kafel {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(60, 41, 124, .10);
    transition: box-shadow .3s, transform .3s;
}
.content__galeria-kafel img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    cursor: zoom-in;
    transition: transform .4s ease;
}
.content__galeria-kafel:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(60, 41, 124, .18); }
.content__galeria-kafel:hover img { transform: scale(1.05); }


.content__misja {
    height: 507px;
    padding-top: 127px;
    background: url("../assets/img/tlo-gwiazdki.jpg") 0 0;
}
.content__misja .content__h-sekcji { color: #fff; }
.content__misja .content__kreska { border-top-color: #fff; }
.content__misja-tekst {
    margin: 44px 0 0;
    font-size: 28px;
    font-weight: 400;
    line-height: 30.8px;
    letter-spacing: -1px;
    text-align: center;
    color: #fff;
}
.content__pas-zdjecie { display: block; width: 100%; height: 700px; object-fit: cover; }


.content__plan { padding-top: 90px; }
.content__plan .content__kreska { margin-bottom: 70px; }
.content__plan-kolumny { display: flex; gap: 30px; }
.content__plan-kolumna { flex: 1 1 0; }
.content__punkt {
    display: flex;
    align-items: center;
    min-height: 90px;
    margin-bottom: 10px;
}
.content__punkt img { flex: 0 0 auto; width: 90px; height: 90px; margin-right: 30px; }
.content__punkt h4 {
    font-size: 21px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: -1px;
    color: var(--kolor-glowny);
}
.content__punkt p {
    margin: 0;
    font-family: Barlow, sans-serif;
    line-height: 32px;
}
.content__kotwica-oplaty { height: 120px; }


.content__oplaty {
    padding: 127px 15px 173px 680px;
    border-radius: 25px;
    background: #fdf5f3 url("../assets/img/oplaty.jpg") center / cover no-repeat;
}
.content__oplaty .content__kreska { margin-bottom: 32px; }
.content__wstep--oplaty { margin-bottom: 41px; line-height: 29px; }
.content__oplaty .content__lista { margin-bottom: 38px; }
.content__oplaty-konto + .content__oplaty-konto { margin-bottom: 35px; }


.content__zapisy {
    height: 274px;
    margin-top: 67px;
    padding-top: 145px;
    background: var(--kolor-akcent);
}
.content__zapisy .content__h-sekcji { padding-bottom: 30px; line-height: 32px; color: #fff; }
.content__zapisy .content__kreska { border-top-color: #fff; }
.content__zapisy-tlo {
    height: 711px;
    margin-bottom: 80px;
    padding-top: 116px;
    background: url("../assets/img/zapisy.jpg") 0 0;
}
.content__zapisy-haslo {
    margin: 0 15px 49px;
    font-size: 52px;
    font-weight: 600;
    line-height: 62px;
    letter-spacing: -1px;
    text-align: center;
    color: #fff;
}
.content__zapisy-akcja { margin: 0; text-align: center; }


.content__oferta { display: flow-root; margin-bottom: 80px; padding-top: 22px; }
.content__oferta-metody .content__kreska { margin-bottom: 34px; }
.content__oferta-wiersz { display: flex; gap: 127px; }
.content__oferta-metody { flex: 0 0 458px; }
.content__h-sekcji--ciasny { padding-bottom: 22px; line-height: 61px; }
.content__wstep--metody { margin-bottom: 46px; line-height: 26px; }
.content__punkt--metoda { align-items: center; margin-bottom: 28px; }
.content__punkt--metoda img { width: 60px; height: 60px; }
.content__oferta-ilustracja { padding-top: 72px; }
.content__oferta-ilustracja img { display: block; width: 555px; height: auto; }
.content__h-sekcji--lista { margin-top: 76px; line-height: 60px; }
.content__wstep--lista { width: 1020px; margin-bottom: 41px; line-height: 29px; }
.content__lista--zajecia { margin-bottom: 38px; }


.content__kontakt { display: flex; gap: 30px; }
.content__kontakt-dane { flex: 0 0 360px; }
.content__kontakt-poz { display: flex; min-height: 100px; margin-bottom: 50px; }
.content__kontakt-poz img { flex: 0 0 90px; width: 90px; height: 90px; }
.content__kontakt-poz > div { padding: 5px 0 0 30px; }
.content__kontakt-poz h4 {
    margin-bottom: 13px;
    font-size: 24px;
    font-weight: 600;
    line-height: 26.4px;
    letter-spacing: -1px;
    color: var(--kolor-glowny);
}
.content__kontakt-poz p { font-family: Barlow, sans-serif; overflow-wrap: anywhere; }
.content__kontakt-formularz { flex: 1 1 auto; }
.content__kontakt-tytul {
    margin-bottom: 30px;
    font-size: 36px;
    font-weight: 500;
    line-height: 39.6px;
    letter-spacing: 0;
    color: var(--kolor-glowny);
}
.content__form-rzad { display: flex; gap: 30px; }
.content__pole {
    display: block;
    width: 100%;
    height: 50px;
    margin-bottom: 20px;
    padding: 9px 20px;
    border: 1px solid #ccc;
    border-radius: 0;
    font-family: var(--font-bazowy);
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0.5px;
    color: #555;
    background: #fff;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
.content__pole:focus { border-color: #66afe9; outline: 0; box-shadow: none; }
.content__pole::placeholder { color: #999; }
.content__pole--tresc { height: 280px; resize: vertical; }
.content__wyslij-wiersz { margin: 0; padding-right: 72px; text-align: center; }
.content__wyslij {
    padding: 13px 97px;
    border: 0;
    border-radius: 25px;
    font-family: var(--font-bazowy);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    letter-spacing: 1px;
    color: #fff;
    background: #f3c404;
    cursor: pointer;
}
.content__wyslij:hover { background: var(--kolor-akcent); }
.content__form-note { margin: 10px 0 0; text-align: center; }
.content__form-note:empty { display: none; }
#mapa { margin-top: 50px; }
.content__mapa { display: block; margin-bottom: 115px; }
.content__mapa img { display: block; width: 100%; height: 450px; border-radius: 15px; object-fit: cover; }


.content__kadra {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0 30px;
    padding-bottom: 140px;
}
.content__kadra-osoba {
    position: relative;
    flex: 0 0 262.5px;
    margin-bottom: 30px;
}
.content__kadra-foto { display: block; overflow: hidden; border-radius: 50px; }

.content__kadra-foto img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 408 / 520;
    object-fit: cover;
    object-position: 50% 20%;
}
.content__kadra-plansza {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: 50px;
    text-align: center;
    color: #fff;
    background: var(--kolor-akcent);
    transform: scale(0);
    transition: all .4s ease;
}
.content__kadra-plansza > div {
    position: absolute;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
}
.content__kadra-osoba:hover .content__kadra-plansza { transform: scale(1); }
.content__kadra-plansza h3 {
    margin-bottom: 3px;
    font-size: 23px;
    font-weight: 700;
    line-height: 25.3px;
    letter-spacing: -1px;
}
.content__kadra-plansza h3 a { color: #fff; }
.content__kadra-stanowisko {
    font-family: Barlow, sans-serif;
    font-size: 16px;
    text-transform: capitalize;
}
.content__kadra-plansza .content__kolko-fb { margin: 27px 0 0; box-shadow: none; }


.content__nauczyciel { margin-bottom: 224px; }
.content__nauczyciel:has(.content__nauczyciel-kursy) { margin-bottom: 210px; }
.content__nauczyciel-wiersz { display: flex; gap: 60px; }
.content__nauczyciel-foto { flex: 0 0 408px; margin-bottom: 20px; }

.content__nauczyciel-foto img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 408 / 520;
    object-fit: cover;
    object-position: 50% 20%;
    border-radius: 8px;
}
.content__nauczyciel-info { flex: 1 1 auto; min-width: 0; }
.content__nauczyciel-imie {
    margin-bottom: 2px;
    font-size: 32px;
    font-weight: 600;
    line-height: 35.2px;
    letter-spacing: -1px;
    color: var(--kolor-glowny);
}
.content__nauczyciel-stanowisko {
    position: relative;
    margin-bottom: 50px;
    padding-bottom: 22px;
    font-family: Barlow, sans-serif;
}
.content__nauczyciel-stanowisko::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50px;
    height: 3px;
    background: var(--kolor-akcent);
}
.content__nauczyciel-opis { font-family: Barlow, sans-serif; }
.content__nauczyciel-social { margin: 28px 0 52px; }
.content__kolko-fb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 3px 5px 0;
    border: 3px solid #fff;
    border-radius: 50%;
    color: #fff;
    background: #3fdbda;
    box-shadow: 0 0 30px rgba(0, 0, 0, .3);
}
.content__kolko-fb { font-size: 20px; }
.content__nauczyciel-kontakt { font-family: Barlow, sans-serif; }
.content__nauczyciel-kontakt > div { margin-bottom: 10px; letter-spacing: -1px; }
.content__nauczyciel-kontakt .ikona { padding-right: 11px; font-size: 22px; }
.content__ikona-tel { color: #f25a57; }
.content__ikona-mail { color: #f9c803; }
.content__ikona-www { color: #aad50a; }
.content__nauczyciel-email { color: var(--kolor-akcent); }
.content__nauczyciel-kontakt a { color: var(--kolor-tekst); }
.content__nauczyciel-kursy { margin-top: 64px; padding-bottom: 35px; }
.content__nauczyciel-kursy p:last-child { margin-bottom: 0; }
.content__nauczyciel-kursy h2 {
    margin-bottom: 25px;
    font-size: 32px;
    font-weight: 600;
    line-height: 35.2px;
    letter-spacing: -1px;
    color: var(--kolor-glowny);
}


.content__tekst { display: flow-root; margin-bottom: 80px; }
.content__tekst h5,
.content__tekst h6 {
    margin: 13px 0;
    font-family: var(--font-naglowek);
    font-weight: 700;
    letter-spacing: -1px;
    color: #000;
}
.content__tekst h5 { font-size: 16px; line-height: 17.6px; }
.content__tekst h6 { font-size: 14px; line-height: 15.4px; }
.content__tekst ul { margin: 0 0 13px; padding-left: 40px; }
.content__tekst a { color: var(--kolor-akcent); }


.content__stopka-kolumny {
    display: flex;
    gap: 30px;
    padding-top: 80px;
    padding-bottom: 35px;
}
.content__stopka-kol { flex: 1 1 0; min-width: 0; }
.content__stopka-logo { display: block; height: auto; margin-bottom: 32px; }
.content__stopka--v1 .content__stopka-logo { width: 300px; }
.content__stopka--default .content__stopka-logo { width: 360px; }
.content__stopka-cytat { margin: 0 0 51px; padding-right: 30px; font-size: 16px; }
.content__stopka-fb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 0 48px -5px;
    border: 3px solid #fff;
    border-radius: 50%;
    color: var(--kolor-akcent);
    background: #3fdbda;
    box-shadow: 0 0 30px rgba(0, 0, 0, .1);
}
.content__stopka-fb { font-size: 16px; }
.content__stopka-tytul {
    margin-bottom: 16px;
    font-size: 22px;
    font-weight: 600;
    line-height: 24.2px;
    letter-spacing: -1px;
    color: var(--kolor-glowny);
}
.content__stopka-tytul::after {
    content: "";
    display: block;
    width: 50px;
    height: 1px;
    margin-top: 16px;
    border-top: 3px solid var(--kolor-akcent);
}
.content__stopka-tytul { margin-bottom: 29px; }
.content__stopka--default .content__stopka-tytul { margin-bottom: 28px; }
.content__stopka-kontakt {
    padding: 0;
    list-style: none;
    font-family: Barlow, sans-serif;
    line-height: 32px;
}
.content__stopka-kontakt li { margin-bottom: 9px; }
.content__stopka-email { color: var(--kolor-akcent); }
.content__stopka-lubie { width: 300px; height: 25px; margin-bottom: 21.74px; }
.content__stopka-menu {
    margin: 0 0 60px;
    padding: 0;
    list-style: none;
    font-family: Barlow, sans-serif;
}
.content__stopka-menu li { padding: 2px 0; }
.content__stopka-menu a { font-size: 14px; line-height: 26px; color: var(--kolor-tekst); }
.content__stopka-menu a:hover { color: var(--kolor-akcent); }
.content__copyright {
    padding: 27px 0;
    font-family: Barlow, sans-serif;
    font-size: 16px;
    font-weight: 300;
    color: #fff;
    background: var(--kolor-glowny);
}

.content__do-gory,
.content__dostepnosc {
    position: fixed;
    right: 20px;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
    cursor: pointer;
}
.content__do-gory { bottom: 20px; font-size: 18px; background: #f9c803; }
.content__dostepnosc { bottom: 82px; background: var(--kolor-akcent); }


.content__hp { position: absolute; left: -9999px; }


.content__dostepnosc svg { width: 24px; height: 24px; fill: #fff; }
.content__dostepnosc:focus-visible { outline: 3px solid var(--kolor-glowny); outline-offset: 3px; }

html.dostepnosc body,
html.dostepnosc body *:not(.content__dostepnosc):not(.content__dostepnosc *):not(.content__do-gory):not(.content__do-gory *) {
    background-color: #000 !important;
    background-image: none !important;
    color: #ff0 !important;
    border-color: #fff !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
html.dostepnosc a { text-decoration: underline !important; }
html.dostepnosc a:hover,
html.dostepnosc a:focus { color: #000 !important; background-color: #ff0 !important; }
html.dostepnosc .ikona,
html.dostepnosc .content__lista li::before { fill: #ff0 !important; border-color: #ff0 !important; }
html.dostepnosc .content__do-gory .ikona { fill: #fff !important; }
html.dostepnosc .content__kreska,
html.dostepnosc .content__stopka-tytul::after,
html.dostepnosc .content__nauczyciel-stanowisko::after { border-top-color: #ff0 !important; background-color: #ff0 !important; }
html.dostepnosc .content__btn,
html.dostepnosc .content__hero-btn,
html.dostepnosc .content__wyslij,
html.dostepnosc .content__pole { border: 2px solid #ff0 !important; }

html.dostepnosc .content__kadra-plansza { display: none; }

html.dostepnosc .content__belka { height: auto; min-height: 95px; }
html.dostepnosc .content__misja,
html.dostepnosc .content__zapisy,
html.dostepnosc .content__zapisy-tlo,
html.dostepnosc .content__tytul-pas { height: auto; min-height: 0; padding-bottom: 60px; }
html.dostepnosc .content__hero-tlo { opacity: 0; }
html.dostepnosc .content__hero-tlo--aktywne { opacity: .35; }

@media (max-width: 767px) {
    .content__do-gory,
    .content__dostepnosc { right: 12px; width: 44px; height: 44px; }
    .content__do-gory { bottom: 12px; }
    .content__dostepnosc { bottom: 66px; }
    .content__dostepnosc svg { width: 22px; height: 22px; }
}


.content__burger { display: none; }

@media (max-width: 1199px) {
    .content__kontener { width: 100%; }
    .content__belka { width: calc(100% - 30px); }
    .content__menu > ul > li { margin: 0 10px; }
    .content__menu > ul > li + li { margin-left: 13px; }
    .content__menu { margin-right: 0; }

    .content__atut { padding-left: 20px; padding-right: 20px; }
    .content__o-nas-wiersz { gap: 40px; }
    .content__o-nas-tekst { flex: 1 1 50%; }
    .content__o-nas-foto { flex: 1 1 50%; }
    .content__o-nas-foto img { width: 100%; }
    .content__oplaty { padding-left: 55%; padding-right: 30px; }
    .content__oferta-wiersz { gap: 60px; }
    .content__oferta-metody { flex: 1 1 45%; }
    .content__oferta-ilustracja { flex: 1 1 55%; }
    .content__oferta-ilustracja img { width: 100%; }
    .content__wstep--lista { width: auto; }
    
    .content__hero-punkty li { font-size: max(12px, calc(18 * var(--k))); letter-spacing: calc(1 * var(--k)); }
    .content__hero-btn { font-size: max(14px, calc(18 * var(--k))); }
    .content__kadra-osoba { flex-basis: calc((100% - 90px) / 4); }
    .content__zapisy-tlo { height: auto; min-height: max(460px, 37.03vw); padding-top: 80px; background-position: center bottom; background-size: cover; }
    
    .content__menu-rozwin > ul { left: auto; right: 0; }
}

@media (max-width: 991px) {
    
    .content__gora { position: relative; background: #fff; }
    .content__pasek { height: auto; padding: 4px 0; }
    .content__pasek-poz:nth-child(2) { display: none; }
    .content__belka { position: relative; width: 100%; height: auto; min-height: 70px; padding: 15px; border-radius: 0; flex-wrap: wrap; align-items: center; }
    .content__logo { margin-top: 0; }
    .content__logo img { width: 210px; }
    .content__burger {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 44px;
        height: 40px;
        padding: 0 10px;
        border: 0;
        border-radius: 5px;
        background: var(--kolor-akcent);
        cursor: pointer;
    }
    .content__burger span { display: block; width: 100%; height: 3px; border-radius: 2px; background: #fff; transition: transform .3s, opacity .3s; }
    .content__belka--otwarta .content__burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .content__belka--otwarta .content__burger span:nth-child(2) { opacity: 0; }
    .content__belka--otwarta .content__burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
    .content__menu { display: none; flex: 0 0 100%; margin: 12px 0 0; }
    .content__belka--otwarta .content__menu { display: block; }
    .content__menu > ul { flex-direction: column; border-top: 2px solid var(--kolor-akcent); }
    .content__menu > ul > li,
    .content__menu > ul > li + li { margin: 0; border-bottom: 1px solid #eee; }
    .content__menu > ul > li > a { padding: 12px 5px; }
    .content__menu-rozwin > ul {
        position: static;
        display: none;
        min-width: 0;
        border-top: 0;
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        background: #f8f7fc;
    }
    .content__menu-rozwin:hover > ul { display: none; }
    .content__menu-otwarte > ul,
    .content__menu-otwarte:hover > ul { display: block; }
    .content__menu-rozwin li a { padding: 11px 15px 11px 40px; }
    .content__menu-rozwin li a .ikona { left: 22px; top: 15px; }

    
    .content__hero { display: flex; flex-direction: column; background: #fdf5f3; }
    .content__hero-tlo { position: relative; inset: auto; height: 380px; object-position: 72% center; }
    
    .content__hero-tlo:not(.content__hero-tlo--aktywne) { position: absolute; top: 0; left: 0; width: 100%; }
    .content__hero-scena { aspect-ratio: auto; padding: 30px 20px 40px; }
    .content__hero-scena * { --k: 1px; }
    .content__hero-tytul { position: static; font-size: 42px; line-height: 46px; white-space: normal; }
    .content__hero-tytul span { margin: 2px 0 0; }
    .content__hero-punkty { margin-top: 18px; }
    .content__hero-punkty li { position: relative; left: auto; top: auto; padding-left: 30px; font-size: 16px; line-height: 30px; letter-spacing: 1px; }
    .content__hero-punkty li::before { left: 0; top: 8px; }
    .content__hero-btn { position: static; display: inline-block; margin-top: 22px; font-size: 17px; }
    .content__hero-strzalka,
    .content__hero-kreski { display: none; }


    
    .content__tytul-pas { height: auto; margin-bottom: 60px; padding: 60px 0 45px; }
    .content__tytul { font-size: 38px; line-height: 42px; }

    
    .content__atuty { padding-top: 60px; }
    .content__atuty-siatka { flex-wrap: wrap; }
    .content__atut { flex: 0 0 calc(50% - 15px); }
    .content__o-nas { padding-top: 70px; }
    .content__o-nas-wiersz { flex-direction: column; }
    .content__o-nas-tekst { flex: none; }
    .content__o-nas-foto { flex: none; max-width: 555px; margin: 0 auto; }
    .content__galeria { display: grid; grid-template-columns: repeat(3, 1fr); padding-top: 40px; padding-bottom: 70px; }
    .content__misja { height: auto; padding: 70px 0 60px; background-position: center top; }
    .content__misja-tekst { margin-top: 35px; font-size: 24px; line-height: 30px; }
    .content__pas-zdjecie { height: auto; }
    .content__plan { padding-top: 60px; }
    .content__plan .content__kreska { margin-bottom: 45px; }
    .content__plan-kolumny { flex-direction: column; gap: 0; }
    .content__kotwica-oplaty { height: 60px; }
    .content__oplaty { padding: 60px 30px 60px 48%; }
    .content__zapisy { height: auto; margin-top: 50px; padding: 60px 0 45px; }
    .content__zapisy-haslo { font-size: 40px; line-height: 48px; }
    .content__h-sekcji { font-size: 44px; line-height: 50px; }
    .content__h-sekcji--duzy { font-size: 50px; line-height: 56px; }

    
    .content__oferta-wiersz { flex-direction: column; gap: 30px; }
    .content__oferta-metody,
    .content__oferta-ilustracja { flex: none; }
    .content__oferta-ilustracja { max-width: 555px; padding-top: 0; }
    .content__h-sekcji--lista { margin-top: 50px; }
    .content__kontakt { flex-direction: column; gap: 10px; }
    .content__kontakt-dane { display: grid; flex: none; grid-template-columns: 1fr 1fr; gap: 0 30px; }
    .content__kontakt-poz { margin-bottom: 30px; }
    .content__mapa { margin-bottom: 70px; }
    .content__kadra { padding-bottom: 70px; }
    .content__kadra-osoba { flex-basis: calc((100% - 60px) / 3); }
    
    .content__kadra-plansza { position: static; overflow: visible; color: var(--kolor-tekst); background: none; transform: none; border-radius: 0; }
    .content__kadra-plansza > div { position: static; padding-top: 12px; transform: none; }
    .content__kadra-plansza h3 a { color: var(--kolor-glowny); }
    .content__kadra-plansza .content__kolko-fb { display: none; }
    .content__nauczyciel,
    .content__nauczyciel:has(.content__nauczyciel-kursy) { margin-bottom: 80px; }
    .content__nauczyciel-wiersz { flex-direction: column; gap: 30px; }
    .content__nauczyciel-foto { flex: none; max-width: 408px; }

    
    .content__stopka-kolumny { flex-wrap: wrap; padding-top: 60px; padding-bottom: 20px; }
    .content__stopka-kol:first-child { flex: 0 0 100%; }
    .content__stopka-fb { margin-bottom: 30px; }
    .content__stopka-menu { margin-bottom: 20px; }
}

@media (max-width: 767px) {
    .content__pasek-poz:nth-child(3) { display: none; }
    .content__hero-tlo { height: 260px; }

    .content__h-sekcji { font-size: 36px; line-height: 42px; }
    .content__h-sekcji--duzy { font-size: 40px; line-height: 46px; }
    .content__podtytul { font-size: 19px; }
    .content__wstep { font-size: 18px; line-height: 28px; }
    .content__o-nas .content__kreska { margin-bottom: 30px; }
    .content__przyciski { display: flex; flex-wrap: wrap; gap: 10px; }
    .content__przyciski .content__btn + .content__btn { margin-left: 0; }
    .content__galeria { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .content__atuty-siatka { gap: 15px; }
    .content__atut { flex-basis: calc(50% - 7.5px); margin-bottom: 0; padding: 28px 8px 24px; border-radius: 20px; }
    .content__atut-ikona { width: 110px; height: 105px; }
    .content__atut-ikona img { width: 100%; height: auto; }
    .content__atut h4 { padding-top: 18px; font-size: 19px; line-height: 22px; }
    .content__misja-tekst { font-size: 20px; line-height: 26px; letter-spacing: -0.5px; }
    .content__pas-zdjecie { height: 240px; object-fit: cover; }
    .content__punkt img { width: 70px; height: 70px; margin-right: 20px; }
    .content__punkt h4 { font-size: 19px; line-height: 28px; }
    .content__punkt p { line-height: 26px; }
    
    .content__oplaty { padding: 45px 22px 50px; background-image: none; }
    .content__zapisy-tlo { min-height: 0; padding: 45px 0 270px; background-repeat: no-repeat; background-size: auto 250px; background-position: center bottom; background-color: #2eb9d6; }
    .content__zapisy-haslo { margin: 0 0 30px; font-size: 28px; line-height: 36px; }

    .content__tytul { font-size: 32px; line-height: 36px; }
    .content__kontakt-dane { display: block; }
    .content__form-rzad { flex-direction: column; gap: 0; }
    .content__wyslij-wiersz { padding-right: 0; }
    .content__wyslij { width: 100%; max-width: 320px; padding-left: 20px; padding-right: 20px; }
    .content__mapa img { height: 300px; }
    .content__kadra { gap: 0 20px; }
    .content__kadra-osoba { flex-basis: calc((100% - 20px) / 2); margin-bottom: 20px; }
    .content__kadra-foto { border-radius: 30px; }
    .content__kadra-plansza h3 { font-size: 19px; line-height: 22px; }
    .content__kadra-stanowisko { padding: 0 10px; font-size: 14px; line-height: 20px; }
    .content__nauczyciel-kursy h2 { font-size: 26px; line-height: 30px; }
    .content__tekst ul { padding-left: 22px; }
    .content__tekst { overflow-wrap: anywhere; }

    .content__stopka-kolumny { flex-direction: column; gap: 10px; }
    .content__stopka-logo { max-width: 100%; }
    .content__stopka-kontakt { overflow-wrap: anywhere; }
    .content__copyright { padding: 20px 0; font-size: 14px; line-height: 22px; }
}

@media (max-width: 479px) {
    .content__logo img { width: 180px; }
    .content__hero-tytul { font-size: 36px; line-height: 40px; }
}
}
