@layer biblioteka, content;



:root {
    --kolor-glowny: #1a3b2a;
    --kolor-glowny-hover: #285a41;
    --kolor-tekst: #1a1a1a;
    --kolor-tekst-jasny: #b7d9c4;
    --kolor-tlo: #ffffff;
    --font-bazowy: system-ui, -apple-system, sans-serif;
    --promien: 999px;
}

:root {
    --kolor-akcent: #a8e832;
    --kolor-akcent-hover: #bcf24d;
    --kolor-glowny: #14243f;
    --kolor-glowny-hover: #1f3a6d;
    --kolor-granat-jasny: #16294a;
    --kolor-granat-glebia: #0b1220;
    --kolor-ciemny: #0d1526;
    --kolor-czerwony: #d0342c;
    --kolor-sukces: #2f8f3e;
    --kolor-tekst: #16202c;
    --kolor-tekst-muted: #5b6675;
    --kolor-tekst-jasny: #d7dee8;
    --kolor-tlo: #ffffff;
    --kolor-tlo-alt: #f4f6f2;
    --kolor-linia: #e4e8ee;
    --font-naglowek: 'Barlow Condensed', 'Oswald', system-ui, sans-serif;
    --font-bazowy: 'Barlow', system-ui, -apple-system, sans-serif;
    --font-pisany: 'Caveat', cursive;
    --cien-md: 0 6px 18px rgba(13, 21, 38, 0.12);
    --cien-lg: 0 18px 44px rgba(13, 21, 38, 0.18);
    --cien-limonka: 0 14px 34px rgba(168, 232, 50, 0.36);
    --promien: 14px;
    --hero-foto: url(img/hero.jpg);
}

@layer biblioteka {


.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: transparent;
    transition: background 0.24s ease, box-shadow 0.24s ease, padding 0.24s ease;
    padding: 20px 0;
}

.site-header.is-stuck {
    background: var(--kolor-glowny, #12325f);
    box-shadow: var(--cien-md, 0 6px 18px rgba(8, 26, 52, 0.14));
    padding: 10px 0;
}

.site-header__inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    gap: 32px;
}


.site-header__logo {
    display: flex;
    align-items: center;
    text-decoration: none;
    flex: none;
}
.site-header__logo img {
    display: block;
    height: 60px;
    width: auto;
    transition: height 0.24s ease;
}
.site-header.is-stuck .site-header__logo img { height: 44px; }
.site-header__logo-tekst {
    font-family: var(--font-naglowek, system-ui, sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 1.4rem;
    color: #fff;
}


.site-header__nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 36px;
}
.site-header__menu {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.site-header__menu a {
    position: relative;
    display: block;
    color: #fff;
    text-decoration: none;
    font-family: var(--font-naglowek, system-ui, sans-serif);
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
    padding: 6px 0;
    transition: color 0.2s ease;
}
.site-header__menu a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: var(--kolor-akcent, #b4e832);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.22s ease;
}
.site-header__menu a:hover { color: var(--kolor-akcent, #b4e832); }
.site-header__menu a:hover::after,
.site-header__menu a:focus-visible::after { transform: scaleX(1); }
.site-header__menu a:focus-visible {
    outline: 2px solid var(--kolor-akcent, #b4e832);
    outline-offset: 4px;
}


.site-header__menu-ext {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.site-header__ext-ikona {
    opacity: 0.7;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.site-header__menu-ext:hover .site-header__ext-ikona {
    opacity: 1;
    transform: translate(1px, -1px);
}


.site-header__cta {
    flex: none;
    background: var(--kolor-akcent, #b4e832);
    color: var(--kolor-ciemny, #081a34);
    font-family: var(--font-naglowek, system-ui, sans-serif);
    font-weight: 600;
    font-size: 0.94rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 12px 26px;
    border-radius: 999px;
    box-shadow: var(--cien-limonka, 0 12px 30px rgba(180, 232, 50, 0.34));
    transition: background 0.2s ease, transform 0.2s ease;
}
.site-header__cta:hover { background: var(--kolor-akcent-hover, #c8f74a); transform: translateY(-2px); }
.site-header__cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }


.site-header__burger {
    display: none;
    margin-left: auto;
    width: 46px;
    height: 46px;
    border: 0;
    background: transparent;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 10px;
}
.site-header__burger span {
    display: block;
    height: 3px;
    width: 100%;
    background: #fff;
    border-radius: 3px;
    transition: transform 0.22s ease, opacity 0.22s ease;
}


@media (max-width: 1024px) {
    .site-header {
        background: var(--kolor-glowny, #12325f);
        padding: 10px 0;
    }
    .site-header__logo img { height: 44px; }
    .site-header__burger { display: flex; }
    .site-header__nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin-left: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        background: var(--kolor-glowny, #12325f);
        box-shadow: var(--cien-lg, 0 16px 40px rgba(8, 26, 52, 0.14));
        padding: 8px 24px 24px;
        display: none;
    }
    .site-header__nav.is-open { display: flex; }
    .site-header__menu {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    .site-header__menu a { padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
    .site-header__menu a::after { display: none; }
    .site-header__cta { margin-top: 18px; text-align: center; }
    .site-header__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .site-header__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .site-header__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
}



.site-footer--pasek {
    background: var(--kolor-glowny);
    color: rgba(215, 222, 232, 0.72);
}

.site-footer__pasek {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px 28px;
    flex-wrap: wrap;
    font-size: 0.9rem;
}

.site-footer__copy {
    letter-spacing: 0.02em;
}

.site-footer__linki {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.site-footer__linki a {
    color: rgba(215, 222, 232, 0.72);
    text-decoration: none;
    letter-spacing: 0.03em;
    transition: color 0.16s ease;
}

.site-footer__linki a:hover {
    color: var(--kolor-akcent);
}

.site-footer__sep {
    opacity: 0.4;
}

@media (max-width: 640px) {
    .site-footer__pasek {
        justify-content: center;
        text-align: center;
        gap: 12px;
    }
}





.js-kin .kin-anim {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--kin-delay, 0ms);
    will-change: opacity, transform;
}
.js-kin [data-anim="left"].kin-anim  { transform: translateX(-48px); }
.js-kin [data-anim="right"].kin-anim { transform: translateX(48px); }
.js-kin [data-anim="zoom"].kin-anim  { transform: scale(0.92); }

.js-kin .kin-anim.kin-in {
    opacity: 1;
    transform: none;
}


.js-kin [data-parallax] {
    will-change: transform;
}


@media (prefers-reduced-motion: reduce) {
    .js-kin .kin-anim {
        opacity: 1;
        transform: none;
        transition: none;
    }
}



.scroll-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 900;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--kolor-ciemny);
    background: var(--kolor-akcent);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: var(--cien-limonka);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.25s ease, transform 0.25s ease, background 0.2s ease;
}


.scroll-to-top.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.scroll-to-top:hover {
    background: var(--kolor-akcent-hover);
}

@media (max-width: 640px) {
    .scroll-to-top {
        right: 16px;
        bottom: 16px;
        width: 44px;
        height: 44px;
    }
}


.content__hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

}

@layer content {



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

html {
    scroll-behavior: smooth;
    scroll-padding-top: 84px; 
}

body {
    margin: 0;
    font-family: var(--font-bazowy);
    color: var(--kolor-tekst);
    background: var(--kolor-tlo);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

main { overflow-x: clip; } 


:root {
    
    --tlo-granat: linear-gradient(140deg,
        var(--kolor-granat-jasny) 0%, var(--kolor-glowny) 55%, var(--kolor-ciemny) 100%);
    
    --tlo-granat-karta: linear-gradient(160deg,
        var(--kolor-granat-jasny) 0%, var(--kolor-glowny) 55%, var(--kolor-ciemny) 100%);
    
    --poswiata-limonka: radial-gradient(70% 60% at 30% 20%, rgba(168, 232, 50, 0.15), transparent 60%);
    
    --tlo-granat-hero: linear-gradient(120deg,
        var(--kolor-granat-glebia) 0%, var(--kolor-glowny) 56%, var(--kolor-glowny-hover) 100%);
}

.content__sekcja img,
.content__hero img { display: block; max-width: 100%; }


.site-header__logo {
    background: #fff;
    padding: 8px 15px;
    border-radius: 14px;
    box-shadow: var(--cien-md);
}

.site-header__logo img { height: 110px; }
.site-header.is-stuck .site-header__logo img { height: 64px; }
@media (max-width: 1024px) {
    .site-header__logo img { height: 56px; }
}


.content__kontener {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px;
}

.content__sekcja {
    padding: 108px 0;
}
.content__sekcja--alt { background: var(--kolor-tlo-alt); }


.content__nadtytul {
    display: inline-block;
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.9rem;
    color: var(--kolor-czerwony);
    margin: 0 0 14px;
}
.content__tytul {
    font-family: var(--font-naglowek);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    line-height: 0.98;
    font-size: clamp(2.4rem, 4.4vw, 3.9rem);
    margin: 0 0 22px;
    color: var(--kolor-glowny);
}
.content__lead {
    font-size: 1.12rem;
    color: var(--kolor-tekst-muted);
    max-width: 62ch;
    margin: 0;
}


.content__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 1rem;
    text-decoration: none;
    padding: 15px 30px;
    border-radius: 999px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.content__btn--limonka {
    background: var(--kolor-akcent);
    color: var(--kolor-ciemny);
    box-shadow: var(--cien-limonka);
}
.content__btn--limonka:hover { background: var(--kolor-akcent-hover); transform: translateY(-2px); }
.content__btn--ciemny {
    background: var(--kolor-glowny);
    color: #fff;
}
.content__btn--ciemny:hover { background: var(--kolor-glowny-hover); transform: translateY(-2px); }
.content__btn--kontur-jasny {
    background: transparent;
    color: var(--kolor-ciemny);
    border-color: rgba(13, 21, 38, 0.35);
}
.content__btn--kontur-jasny:hover { border-color: var(--kolor-ciemny); transform: translateY(-2px); }

.content__btn--kontur-na-ciemnym {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.65);
}
.content__btn--kontur-na-ciemnym:hover {
    background: #fff;
    color: var(--kolor-ciemny);
    border-color: #fff;
    transform: translateY(-2px);
}


.content__btn--odstep { margin-top: 32px; }


.content__hero {
    position: relative;
    min-height: 92vh;
    display: flex;
    align-items: flex-end;
    overflow: visible; 
    isolation: isolate;
}


.content__hero-tlo {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
}


.content__hero-media {
    position: absolute;
    inset: -8% 0;
    z-index: -2;
    background-image: var(--hero-foto, none),
        radial-gradient(60% 55% at 72% 24%, rgba(168, 232, 50, 0.20), transparent 60%),
        var(--tlo-granat-hero);
    background-size: cover, auto, auto;
    background-position: center, center, center;
}

.content__hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        repeating-linear-gradient(90deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 64px),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 64px);
    mask-image: linear-gradient(120deg, transparent 30%, #000 100%);
}

.content__hero-scrim {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(6, 12, 24, 0.82) 0%, rgba(6, 12, 24, 0.45) 42%, transparent 72%),
                linear-gradient(0deg, rgba(6, 12, 24, 0.72) 0%, transparent 46%);
}

.content__hero-inner {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
    padding: 0 32px 88px;
}

.content__hero-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--kolor-akcent);
    color: var(--kolor-ciemny);
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.82rem;
    padding: 8px 18px;
    border-radius: 999px;
    margin-bottom: 22px;
    box-shadow: var(--cien-limonka);
}

.content__hero-tytul {
    font-family: var(--font-naglowek);
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    line-height: 0.92;
    letter-spacing: 0.005em;
    font-size: clamp(3rem, 7.2vw, 6.6rem);
    margin: 0 0 22px;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.35);
}
.content__hero-tytul span { color: var(--kolor-akcent); }

.content__hero-lead {
    max-width: 46ch;
    color: var(--kolor-tekst-jasny);
    font-size: 1.18rem;
    line-height: 1.6;
    margin: 0;
}


.content__hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}
.content__hero-cta .content__btn--kontur-jasny {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.55);
}
.content__hero-cta .content__btn--kontur-jasny:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.1);
}


@media (max-width: 1024px) {
    .content__hero { min-height: 82vh; align-items: center; flex-direction: column; }
    .content__hero-inner { padding: 120px 24px 80px; }
}
@media (max-width: 560px) {
    .content__hero-cta { flex-direction: column; }
    .content__hero-cta .content__btn { width: 100%; }
}


.content__onas-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 72px;
    align-items: center;
}


.content__onas-dokumenty {
    list-style: none;
    margin: 34px 0 30px;
    padding: 0;
    display: grid;
    gap: 12px;
}
.content__dokument {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 18px 14px 16px;
    border-left: 3px solid var(--kolor-akcent);
    border-radius: 0 var(--promien) var(--promien) 0;
    background: rgba(20, 36, 63, 0.04);
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}
a.content__dokument:hover {
    background: rgba(168, 232, 50, 0.16);
    transform: translateX(3px);
}
.content__dokument-tresc {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.content__dokument-label {
    font-family: var(--font-naglowek);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.78rem;
    color: var(--kolor-tekst-muted);
}
.content__dokument-tytul {
    font-family: var(--font-naglowek);
    font-weight: 600;
    font-size: 1.28rem;
    color: var(--kolor-glowny);
    line-height: 1.1;
}
.content__dokument-akcja {
    flex-shrink: 0;
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.78rem;
    color: var(--kolor-glowny);
}
a.content__dokument .content__dokument-akcja::after {
    content: " \2193";           
    font-weight: 700;
}
.content__dokument--brak {
    opacity: 0.55;
    border-left-color: rgba(20, 36, 63, 0.25);
}


.content__foto {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--poswiata-limonka), var(--tlo-granat);
    border-radius: var(--promien);
    box-shadow: var(--cien-lg);
    overflow: hidden;
    background-size: cover;
    background-position: center;
}
.content__foto--onas { aspect-ratio: 4 / 5; }

.content__onas-media { position: relative; }
.content__plakietka {
    position: absolute;
    right: -18px;
    bottom: -22px;
    background: var(--kolor-akcent);
    color: var(--kolor-ciemny);
    padding: 16px 22px;
    border-radius: var(--promien);
    box-shadow: var(--cien-limonka);
    display: flex;
    flex-direction: column;
    line-height: 1;
}
.content__plakietka-liczba {
    font-family: var(--font-naglowek);
    font-weight: 700;
    font-size: 2.4rem;
}
.content__plakietka-opis {
    font-size: 0.82rem;
    font-weight: 600;
    max-width: 15ch;
    margin-top: 4px;
}

@media (max-width: 1024px) {
    .content__onas-grid { grid-template-columns: 1fr; gap: 48px; }
    .content__plakietka { right: 16px; bottom: -18px; }
}


.content__naglowek-blok { margin-bottom: 54px; }
.content__naglowek-blok--srodek {
    text-align: center;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
.content__lead--srodek { margin-left: auto; margin-right: auto; }
.content__nadtytul--jasny { color: var(--kolor-akcent); }
.content__tytul--jasny { color: #fff; }
.content__lead--jasny { color: var(--kolor-tekst-jasny); }


.content__wartosci {
    background: var(--kolor-akcent);
    padding: 22px 0;
    overflow: hidden;
}
.content__marquee { display: flex; }
.content__marquee-tor {
    display: flex;
    flex-wrap: nowrap;
    animation: content-marquee 26s linear infinite;
}
.content__marquee-grupa {
    display: flex;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
}
.content__marquee-grupa li {
    font-family: var(--font-naglowek);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    color: var(--kolor-ciemny);
    padding: 0 26px;
    display: flex;
    align-items: center;
    white-space: nowrap;
}
.content__marquee-grupa li::after {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-left: 52px;
    border-radius: 50%;
    background: var(--kolor-ciemny);
}
@keyframes content-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .content__marquee-tor { animation: none; }
}



.content__karty {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 26px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.content__karta {
    background: var(--kolor-tlo);
    border: 1px solid var(--kolor-linia);
    border-radius: var(--promien);
    padding: 32px 28px 28px;
    box-shadow: var(--cien-md);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.content__karta:hover {
    transform: translateY(-6px);
    box-shadow: var(--cien-lg);
    border-color: transparent;
}
.content__karta-nr {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--kolor-akcent);
    color: var(--kolor-ciemny);
    font-family: var(--font-naglowek);
    font-weight: 700;
    font-size: 1.35rem;
    line-height: 1;
    margin-bottom: 18px;
    box-shadow: var(--cien-limonka);
}
.content__karta-tytul {
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 1.32rem;
    color: var(--kolor-glowny);
    margin: 0 0 10px;
}
.content__karta-opis {
    font-size: 0.98rem;
    color: var(--kolor-tekst-muted);
    margin: 0;
}


.content__dyscypliny-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
}
.content__dyscyplina {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 30px 14px;
    border: 1px solid var(--kolor-linia);
    border-radius: var(--promien);
    text-align: center;
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.content__dyscyplina:hover {
    transform: translateY(-5px);
    border-color: var(--kolor-akcent);
    background: var(--kolor-tlo-alt);
}
.content__dyscyplina-ikona {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: var(--kolor-glowny);
    color: var(--kolor-akcent);
}
.content__dyscyplina-nazwa {
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.92rem;
    color: var(--kolor-glowny);
}


.content__community {
    background:
        radial-gradient(60% 70% at 85% 15%, rgba(168, 232, 50, 0.10), transparent 60%),
        var(--kolor-ciemny);
}

.content__community,
.content__wesprzyj,

.content__partner-hero,     
.content__profil-hero {     
    position: relative;
    overflow: hidden;
}
.content__smugi {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.content__community::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 140px;
    background: linear-gradient(to bottom, transparent, var(--kolor-glowny));
    z-index: 0;
    pointer-events: none;
}
.content__community > .content__kontener,
.content__wesprzyj > .content__kontener,
.content__partner-hero > .content__kontener,
.content__profil-hero > .content__kontener {
    position: relative;
    z-index: 1;
}

.content__community-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.content__community-galeria {
    position: relative;
    min-height: 500px;
}
.content__community-foto {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--promien);
    box-shadow: var(--cien-lg);
    background: var(--poswiata-limonka), var(--tlo-granat);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.content__community-foto--1 {
    width: 54%; aspect-ratio: 4 / 5;
    top: 0; left: 0;
    transform: rotate(-4deg);
    z-index: 2;
}
.content__community-foto--2 {
    width: 50%; aspect-ratio: 1 / 1;
    bottom: 0; right: 0;
    transform: rotate(4deg);
    z-index: 3;
}



.content__staty {
    background: var(--kolor-glowny);
    padding: 56px 0;
}
.content__staty-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    text-align: center;
}
.content__stat {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}
.content__stat:first-child { border-left: none; }
.content__stat-liczba {
    font-family: var(--font-naglowek);
    font-weight: 700;
    font-size: clamp(2.8rem, 5vw, 4.2rem);
    line-height: 1;
    color: var(--kolor-akcent);
}
.content__stat-opis {
    font-size: 0.98rem;
    color: var(--kolor-tekst-jasny);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-family: var(--font-naglowek);
    font-weight: 500;
}


.content__scrapbook {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 30px;
    justify-items: center;
}
.content__polaroid {
    margin: 0;
    background: #fff;
    padding: 14px 14px 0;
    border-radius: 4px;
    box-shadow: var(--cien-lg);
    transform: rotate(var(--rot, 0deg));
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    max-width: 320px;
    width: 100%;
}
.content__polaroid:hover {
    transform: rotate(0deg) translateY(-8px) scale(1.03);
    box-shadow: 0 26px 60px rgba(13, 21, 38, 0.28);
    z-index: 4;
}
.content__polaroid-foto {
    aspect-ratio: 4 / 5;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--poswiata-limonka), var(--tlo-granat);
    background-size: cover;
    background-position: center;
    border-radius: 2px;
}

.content__polaroid-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.content__polaroid-link:focus-visible {
    outline: 3px solid var(--kolor-akcent);
    outline-offset: 4px;
}
.content__polaroid-podpis {
    font-family: var(--font-pisany);
    font-size: 1.7rem;
    line-height: 1;
    color: var(--kolor-glowny);
    text-align: center;
    padding: 14px 6px 18px;
}

.content__polaroid-wiecej {
    display: block;
    margin-top: 8px;
    font-family: var(--font-naglowek);
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--kolor-tekst-muted);
    opacity: 0;
    transition: opacity 0.25s ease;
}
.content__polaroid:hover .content__polaroid-wiecej,
.content__polaroid-link:focus-visible .content__polaroid-wiecej { opacity: 1; }


.content__wesprzyj {
    background:
        radial-gradient(50% 60% at 12% 20%, rgba(168, 232, 50, 0.12), transparent 60%),
        var(--kolor-glowny);
}
.content__wesprzyj-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.content__wesprzyj-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}
.content__wesprzyj-karty {
    display: grid;
    gap: 20px;
}
.content__wesprzyj-karta {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--promien);
    padding: 28px 30px;
}
.content__wesprzyj-karta--opp { border-color: rgba(168, 232, 50, 0.35); }
.content__wesprzyj-karta-tytul {
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 1.5rem;
    color: #fff;
    margin: 0 0 8px;
}
.content__wesprzyj-karta-opis {
    font-size: 1rem;
    color: var(--kolor-tekst-jasny);
    margin: 0 0 14px;
}
.content__wesprzyj-znacznik {
    display: inline-block;
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--kolor-tekst-jasny);
}
.content__wesprzyj-znacznik--wip {
    background: var(--kolor-akcent);
    color: var(--kolor-ciemny);
}

.content__wesprzyj-znacznik--konto {
    font-size: 1rem;
    letter-spacing: 0.04em;
    padding: 8px 16px;
}



.content__partnerzy-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 260px));
    justify-content: center;
    gap: 18px;
}
.content__partner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 116px;
    padding: 18px 22px;
    border: 1px solid var(--kolor-linia);
    border-radius: var(--promien);
    background: var(--kolor-tlo);
    text-decoration: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
a.content__partner:hover {
    border-color: var(--kolor-akcent);
    box-shadow: var(--cien-md);
    transform: translateY(-2px);
}

.content__partner-logo {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    object-fit: contain;
    filter: grayscale(1);
    opacity: 0.8;
    transition: filter 0.25s ease, opacity 0.25s ease;
}
a.content__partner:hover .content__partner-logo { filter: none; opacity: 1; }

.content__partnerzy--pod-mapa { padding-top: 0; }

.content__partnerzy-cta {
    text-align: center;
    margin: 40px 0 0;
    color: var(--kolor-tekst-muted);
    font-size: 1.05rem;
}
.content__partnerzy-cta a { color: var(--kolor-glowny); font-weight: 600; }


.content__kontakt-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: stretch;
}


.content__kontakt-form-kol { display: flex; flex-direction: column; }
.content__kontakt-tytul { margin: 6px 0 14px; }
.content__kontakt-lead { margin: 0 0 28px; }


.content__form { display: grid; gap: 20px; }
.content__form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.content__field { display: flex; flex-direction: column; gap: 7px; }
.content__label {
    font-family: var(--font-naglowek);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--kolor-tekst-muted);
}
.content__input,
.content__textarea {
    font-family: var(--font-bazowy);
    font-size: 1rem;
    color: var(--kolor-tekst);
    background: var(--kolor-tlo);
    border: 1px solid var(--kolor-linia);
    border-radius: 10px;
    padding: 13px 15px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.content__textarea { resize: vertical; min-height: 128px; }
.content__input:focus,
.content__textarea:focus {
    outline: none;
    border-color: var(--kolor-akcent);
    box-shadow: 0 0 0 3px rgba(168, 232, 50, 0.28);
}
.content__input:user-invalid,
.content__textarea:user-invalid { border-color: var(--kolor-czerwony); }


.content__hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}


.content__form-consent {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--kolor-tekst-muted);
    cursor: pointer;
}
.content__form-consent input {
    margin-top: 3px;
    width: 18px;
    height: 18px;
    accent-color: var(--kolor-akcent);
    flex-shrink: 0;
}
.content__form-consent a { color: var(--kolor-glowny); font-weight: 600; }

.content__form-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
.content__form-note {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--kolor-tekst-muted);
}
.content__form-note--ok { color: var(--kolor-sukces); }
.content__form-note--blad { color: var(--kolor-czerwony); }


.content__kontakt-form-foto {
    flex: 1 1 auto;
    min-height: 200px;
    margin-top: 28px;
    border-radius: var(--promien);
    background-size: cover;
    background-position: center;
    box-shadow: var(--cien-md);
}


.content__kontakt-karta {
    display: flex;
    flex-direction: column;
    background: var(--tlo-granat-karta);
    border-radius: var(--promien);
    box-shadow: var(--cien-lg);
    overflow: hidden;
    height: 100%;
}
.content__kontakt-karta-tresc { padding: 30px 32px 34px; }
.content__kontakt-nazwa {
    font-family: var(--font-naglowek);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 20px;
}

.content__kontakt-blok {
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.content__kontakt-sub {
    display: block;
    font-size: 0.85rem;
    color: rgba(215, 222, 232, 0.72);
    margin-top: 8px;
    line-height: 1.5;
}
.content__kontakt-dane {
    list-style: none;
    margin: 20px 0;
    padding: 0;
    display: grid;
    gap: 15px;
}
.content__kontakt-dane li {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(215, 222, 232, 0.14);
}
.content__kontakt-label {
    font-family: var(--font-naglowek);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.74rem;
    color: var(--kolor-akcent);
}
.content__kontakt-wartosc {
    font-size: 1.1rem;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}
a.content__kontakt-wartosc:hover { color: var(--kolor-akcent); }
.content__kontakt-osoby {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    display: grid;
    gap: 12px;
}
.content__kontakt-osoby li { display: flex; flex-direction: column; gap: 2px; }
.content__kontakt-osoba-rola {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(215, 222, 232, 0.6);
}
.content__kontakt-osoba-dane { font-size: 1.02rem; color: #fff; font-weight: 600; }
.content__kontakt-osoba-dane a { color: inherit; text-decoration: none; }
.content__kontakt-osoba-dane a:hover { color: var(--kolor-akcent); }
.content__kontakt-ig { margin-top: 22px; }



.content__profil-hero {
    padding: 170px 0 90px;
    color: #fff;
    background:
        radial-gradient(70% 80% at 78% 10%, rgba(168, 232, 50, 0.14), transparent 60%),
        var(--tlo-granat-hero);
}
.content__profil-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 64px;
    align-items: center;
}

.content__profil-foto {
    aspect-ratio: 4 / 5;
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.content__foto-etykieta {
    font-family: var(--font-naglowek);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.82rem;
    color: var(--kolor-tekst-jasny);
    opacity: 0.65;
}
.content__profil-znaczniki {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 24px;
}
.content__profil-znacznik {
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.8rem;
    padding: 7px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--kolor-tekst-jasny);
}
.content__profil-znacznik--akcent {
    background: var(--kolor-akcent);
    color: var(--kolor-ciemny);
}

.content__profil-cytat {
    margin: 0 0 30px;
    padding-left: 24px;
    border-left: 3px solid var(--kolor-akcent);
    font-size: 1.14rem;
    line-height: 1.65;
    color: var(--kolor-tekst-jasny);
}
.content__profil-cytat cite {
    display: block;
    margin-top: 12px;
    font-family: var(--font-pisany);
    font-style: normal;
    font-size: 1.3rem;
    color: #fff;
}
.content__profil-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}


.content__naglowek-blok--profil { max-width: 860px; }


.content__profil-tresc {
    max-width: 680px;
    margin: 0 auto;
}
.content__profil-tresc .content__lead { max-width: none; }
.content__profil-tresc .content__lead + .content__lead { margin-top: 20px; }


body:has(.content__profil-hero) p:not(.content__profil-sponsor-nota):not(.content__profil-wideo) {
    text-align: justify;
    hyphens: none;
}


.content__profil-monolog::before { content: "\201E"; }
.content__profil-monolog::after  { content: "\201D"; }

.content__profil-monolog {
    margin: 0 0 26px;
    padding-left: 22px;
    border-left: 3px solid var(--kolor-akcent);
    font-size: 1.34rem;
    line-height: 1.6;
    font-style: italic;
    color: var(--kolor-glowny);
}


.content__lead--wprowadzenie {
    font-size: 1.34rem;
    line-height: 1.6;
    color: var(--kolor-glowny);
}


.content__profil-cel {
    margin-top: 40px;
    padding: 32px 34px;
    background: var(--tlo-granat-karta);
    border-radius: var(--promien);
    box-shadow: 0 20px 44px rgba(13, 21, 38, .22);
}
.content__profil-cel-tytul {
    font-family: var(--font-naglowek);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.34rem;
    color: #fff;
    margin: 8px 0 10px;
}
.content__profil-cel-opis {
    margin: 0;
    color: var(--kolor-tekst-jasny);
}

.content__profil-cel-opis + .content__profil-cel-opis {
    margin-top: 14px;
}


.content__profil-wideo {
    margin: 28px 0 0;
    text-align: left;
}
.content__profil-wideo .content__btn span {
    margin-left: 8px;
}


.content__profil-lista {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 860px;
    display: grid;
    gap: 16px;
}
.content__profil-lista li {
    position: relative;
    padding: 0 0 16px 30px;
    border-bottom: 1px solid var(--kolor-linia);
    font-size: 1.04rem;
    color: var(--kolor-tekst);
}
.content__profil-lista li:last-child { border-bottom: none; padding-bottom: 0; }
.content__profil-lista li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 16px;
    height: 3px;
    border-radius: 2px;
    background: var(--kolor-akcent);
}


.content__profil-sponsor {
    color: #fff;
    background: var(--poswiata-limonka), var(--tlo-granat);
}
.content__profil-korzysci {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}
.content__profil-korzysc {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--promien);
    padding: 26px 28px;
}
.content__profil-korzysc-tytul {
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 1.2rem;
    color: #fff;
    margin: 0 0 8px;
}
.content__profil-korzysc-opis {
    margin: 0;
    font-size: 0.98rem;
    color: var(--kolor-tekst-jasny);
}
.content__profil-sponsor-stopka {
    margin-top: 36px;
    text-align: center;
}
.content__profil-sponsor-nota {
    margin: 16px 0 0;
    font-size: 0.9rem;
    color: var(--kolor-tekst-jasny);
    opacity: 0.8;
}
.content__profil-sponsor-nota a {
    color: var(--kolor-akcent);
    text-decoration: underline;
    text-underline-offset: 3px;
}


@media (max-width: 1024px) {
    .content__sekcja { padding: 72px 0; }
    .content__karty { grid-template-columns: repeat(2, 1fr); }
    .content__dyscypliny-grid { grid-template-columns: repeat(3, 1fr); }
    .content__community-grid,
    .content__profil-hero-grid,
    .content__wesprzyj-grid,
    .content__kontakt-grid { grid-template-columns: 1fr; gap: 40px; }
    .content__ulga-grid { grid-template-columns: 1fr; gap: 32px; }
    .content__pakiety { grid-template-columns: 1fr; }
    .content__community-galeria { min-height: 420px; }
    .content__staty-grid { grid-template-columns: repeat(2, 1fr); }
    .content__stat:nth-child(odd) { border-left: none; }
    .content__scrapbook { grid-template-columns: repeat(2, 1fr); }
    .content__partnerzy-grid { grid-template-columns: repeat(3, 1fr); }
    .content__polaroid { transform: rotate(0deg); }
}
@media (max-width: 620px) {
    .content__karty,
    .content__dyscypliny-grid,
    .content__staty-grid,
    .content__scrapbook,
    .content__partnerzy-grid { grid-template-columns: 1fr; }
    .content__stat { border-left: none; }
}



.content__partner-hero {
    padding: 190px 0 96px;
    color: #fff;
    background:
        radial-gradient(72% 82% at 80% 8%, rgba(168, 232, 50, 0.14), transparent 60%),
        var(--tlo-granat-hero);
}
.content__partner-hero-tresc { max-width: 780px; }


.content__ulga {
    color: #fff;
    background: var(--poswiata-limonka), var(--tlo-granat);
}
.content__ulga-grid {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 56px;
    align-items: center;
}
.content__ulga-liczba {
    text-align: center;
    padding: 30px 20px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--promien);
    background: rgba(255, 255, 255, 0.05);
}
.content__ulga-wartosc {
    display: block;
    font-family: var(--font-naglowek);
    font-weight: 700;
    font-size: 4.6rem;
    line-height: 1;
    color: var(--kolor-akcent);
}
.content__ulga-etykieta {
    display: block;
    margin-top: 8px;
    font-family: var(--font-naglowek);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.82rem;
    color: var(--kolor-tekst-jasny);
}

.content__ulga-nota {
    margin: 18px 0 0;
    font-size: 0.86rem;
    line-height: 1.6;
    color: var(--kolor-tekst-jasny);
    opacity: 0.78;
    max-width: 760px;
}


.content__pakiety {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
}
.content__pakiet {
    display: flex;
    flex-direction: column;
    background: var(--kolor-tlo);
    border: 1px solid var(--kolor-linia);
    border-top: 4px solid var(--kolor-akcent);
    border-radius: var(--promien);
    padding: 30px 32px 32px;
    box-shadow: var(--cien-md);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.content__pakiet:hover {
    transform: translateY(-6px);
    box-shadow: var(--cien-lg);
}

.content__pakiet--wyrozniony {
    border-color: var(--kolor-akcent);
    box-shadow: var(--cien-limonka);
}
.content__pakiet-etykieta {
    align-self: flex-start;
    font-family: var(--font-naglowek);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.76rem;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--kolor-tlo-alt);
    color: var(--kolor-tekst-muted);
}
.content__pakiet--wyrozniony .content__pakiet-etykieta {
    background: var(--kolor-akcent);
    color: var(--kolor-ciemny);
}
.content__pakiet-nazwa {
    font-family: var(--font-naglowek);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 1.62rem;
    color: var(--kolor-glowny);
    margin: 16px 0 6px;
}
.content__pakiet-cena {
    font-family: var(--font-naglowek);
    font-weight: 700;
    font-size: 2rem;
    color: var(--kolor-glowny);
    margin: 0 0 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--kolor-linia);
}
.content__pakiet-okres {
    font-family: var(--font-bazowy);
    font-weight: 400;
    font-size: 0.95rem;
    color: var(--kolor-tekst-muted);
}
.content__pakiet-lista {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}
.content__pakiet-lista li {
    position: relative;
    padding-left: 26px;
    font-size: 0.98rem;
    color: var(--kolor-tekst-muted);
}
.content__pakiet-lista li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.58em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--kolor-akcent);
}

.content__pakiet-lista li:first-child { color: var(--kolor-tekst); font-weight: 600; }
.content__pakiet:first-child .content__pakiet-lista li:first-child {
    color: var(--kolor-tekst-muted);
    font-weight: 400;
}
.content__pakiety-stopka {
    margin: 32px 0 0;
    text-align: center;
    color: var(--kolor-tekst-muted);
}
.content__pakiety-stopka a {
    color: var(--kolor-glowny);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.content__pakiety-stopka a:hover { color: var(--kolor-glowny-hover); }


.content__mapa {
    margin-top: 44px;
    border: 1px solid var(--kolor-linia);
    border-radius: var(--promien);
    overflow: hidden;
    box-shadow: var(--cien-lg);
}

.content__mapa-canvas {
    width: 100%;
    height: min(72vh, 760px);
}


.content__mapa .leaflet-tile-pane {
    filter: grayscale(1) contrast(0.94) brightness(1.04);
}


}
