    /* Basic Reset */
    * { margin: 0; padding: 0; box-sizing: border-box;}
    html {
        scroll-snap-type: y proximity; /* Magnes na całym oknie */
        scroll-behavior: smooth;
        scrollbar-gutter: stable;
    }
    body{
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        margin: 0; padding: 0;
        width: 100%; min-height: 100vh; height: auto;
        background-color: #fdfcf8; /* Jasny, kremowy beż */
        color: #3d3d3d; /* Miękki grafit */
        font-family: 'Comfortaa', cursive; 
        /*font-family: 'Manrope', sans-serif;*/

        overflow-x: hidden;
    }
    .container {
        display: grid;
        grid-template-areas: 
            "logo" "rights" "main" "down";
        grid-template-columns: 1fr;
        width: 100%; height: auto;
    }
    .container::before {
        content: "";
        position: fixed;
        bottom: 2.5rem; right: 10px;

        margin-right: max(0px, calc((100vw - 950px) * 0.5));

        width: 30vw ; height: 35vh;
        min-width: 200px; min-height: 200px;
        
        background-image: url('img/text_background.jpg'); 
        background-size: contain;
        background-repeat: no-repeat;
        background-position: right bottom;
        
        opacity: 0.35;
        z-index: -1; 
        pointer-events: none;
    }

    [hidden]{ display: none !important;}
    .snap { scroll-snap-align: start; scroll-snap-stop: always;}

    p { line-height: 1.8; font-size: 1.1rem; }
    h0 {
        color: #5a3a41; /* Głęboki, bakłażanowy brąz */
        margin: 1rem 0 0 0;
        font-family: 'Allura', cursive;

        
        font-size: 6.1rem; /* Bardzo duży rozmiar */
        font-weight: 900; /* Maksymalne pogrubienie */
        
        display: inline-block;
        line-height: 1.1; /* Opcjonalnie: zmniejsza odstęp między liniami przy dużym froncie */
    }
    h1 { 
        color: #5a3a41; /* Głęboki, bakłażanowy brąz */
        margin-top: 0; margin-bottom: 2rem;
        border-bottom: 3px solid #a66f7d; /* Stonowany różowy fiolet */
        display: inline-block; }
    h2 {
        color: #a66f7d; /* Stonowany różowy fiolet */
        margin-bottom: 1rem; margin-top: 3rem;
        text-transform: uppercase;
        font-size: 1.5rem;}
    h3 {font-size: 1.2rem; margin-top: 1rem;}
    h2.K {font-size: 2.5rem;}
    p.K {margin: 0 0 3rem 5rem; color: inherit; text-decoration: none; line-height: 1.4;}
    h2.K.v2 {margin-left: 4rem;}
    p.K.v2  {margin-left: 9rem;}
    h2.K.v3 {margin-left: 8rem;}
    p.K.v3  {margin-left: 13rem;}
    .intro-lead { font-size: 1.2rem; line-height: 1.8; color: #444; }
    .news-pillars { padding-left: 1rem; border-left: 2px solid #eee; }
    .action-pillars p { margin-bottom: 1.5rem; padding-left: 1rem; border-left: 2px solid #869484; /* Szałwiowa zieleń */ }
    .action-pillars strong { color: #5a3a41; /* Głęboki, bakłażanowy brąz */ font-size: 1.1rem; }

    .logo-text h1 {
        color: rgb(242, 223, 235); border-bottom: none;
        font-size: 4rem; margin: 0;
        font-weight: 800; line-height: 0.9; }
    .logo-text h2 {
        text-transform: none;
        color: rgb(242, 223, 235);
        font-size: 4rem; margin: 0;
        font-weight: 800; line-height: 1.1;
        display: inline-block; transform-origin: left; transform: scale(1.06); width: max-content;}

    .news:last-child { border-bottom: none; /* Usuń linię po ostatniej wiadomości */}
    .news h2 { transition: color 0.2s ease; margin-top: 0.5rem;}
    .news h2:hover { color: #a66f7d; /* Stonowany różowy fiolet */ }
    .news.short h2 { font-size: 1.3rem; }
    .news p { font-size: 1rem; opacity: 1;}
    .news time { font-size: 0.8rem; opacity: 0.8; }
    .news ul { margin: 10px 0; padding-left: 20px;}
    .news li {
        margin-left: 20px;
        padding-left: 10px;
        margin-bottom: 6px;
        list-style-type: dot; /* lub własna ikona */ }
    .newslink:hover { color: #a66f7d; /* Stonowany różowy fiolet */ text-decoration: underline;}
    .newslink {color: inherit; text-decoration: none; transition: all 0.3s ease-in-out; }

    .main-section, 
    .news-section {
        background-color: transparent; /* Używa tła body */
        hyphens: auto;
    }
    .print-logo {display: none;}

    .stars-container {
        position: absolute;
        top: 0; left: 0;
        width: 100%; height: 15rem;
        /* Usunięto gradient tła, jest teraz w nakładce na zdjęciu w .logo-section */
        background: transparent;
        z-index: 1; /* Musi być nad ciemną nakładką tła */
    }
    .stars, .stars2 {
        backface-visibility: hidden;
        perspective: 1000px;
        position: absolute;
        top: 50%; left: 50%; transform: translate(-50%, -50%);
        width: 3px; height: 3px; border-radius: 50%;
        background: transparent; }
    .stars {
                    will-change: transform;
                    box-shadow: 
                        4vw -1vh #ffffff, 
                        0vw -20vh #fff, 0vw 20vh #fff, -20vw 0vh #fff, 20vw 0vh #ba0909,
                        0vw -40vh #fff, 0vw 40vh #fff, -40vw 0vh #fff, 40vw 0vh #fff,
                        -15vw -15vh #fff, 15vw 15vh #fff, -15vw 15vh #fff, 15vw -15vh #fff,
                        -30vw -30vh #fff, 30vw 30vh #fff, -30vw 30vh #fff, 30vw -30vh #fff,
                        -10vw -25vh #ddd, 10vw 25vh #ddd, -25vw 10vh #ddd, 25vw -10vh #ddd;                
                    animation: 
                        stars-rotate 71s infinite linear,
                        stars-twinkle 5s infinite ease-in-out; }
    .stars2 {
                    will-change: transform;
                    width: 2px; height: 2px;
                    box-shadow: 
                        0vw -4vh #ffffff, 0vw 2vh #fff, -1vw 0vh #fff, 6vw 0vh #e6c8cd, /* Jasny róż */
                        0vw -23vh #fff, 0vw 23vh #fff, -23vw 0vh #fff, 23vw 0vh #fff,
                        0vw -45vh #fff, 0vw 45vh #fff, -45vw 0vh #fff, 45vw 0vh #fff,
                        -15vw -12vh #fff, 15vw 12vh #fff, -12vw 15vh #fff, 12vw -15vh #fff,
                        -30vw -36vh #fff, 30vw 36vh #fff, -36vw 30vh #fff, 36vw -30vh #fff,
                        -10vw -22vh #ddd, 10vw 22vh #ddd, -22vw 10vh #ddd, 22vw -10vh #ddd,
                        /* NOWE GWIAZDY (Podwojenie) */
                        -5vw -45vh #eee, 5vw 45vh #eee, -45vw 5vh #eee, 45vw -5vh #eee,
                        -25vw -35vh #fff, 25vw 35vh #fff, -35vw 25vh #fff, 35vw -25vh #fff,
                        -12vw -12vh #ddd, 12vw 12vh #ddd, -12vw 12vh #ddd, 12vw -12vh #ddd,
                        -38vw -10vh #fff, 38vw 10vh #fff, -10vw 38vh #fff, 10vw -38vh #fff,
                        -20vw -45vh #ddd, 20vw 45vh #ddd, -45vw 20vh #ddd, 45vw -20vh #ddd;                
                    animation: 
                        stars-rotate 119s infinite linear,
                        stars2-twinkle 7s infinite ease-in-out; }
    /* ANIMACJE */
    @keyframes stars-rotate {
        from { transform: translate(-50%, -50%) rotate(0deg); }
        to { transform: translate(-50%, -50%) rotate(360deg); } }
    @keyframes stars-twinkle {
        0%, 100% { opacity: 1; }
        10% { opacity: 0.5; }
        20% { opacity: 0.3; }
        30% { opacity: 1; }
        40% { opacity: 0.6; }
        90% { opacity: 0.4; } }
    @keyframes stars2-twinkle {
        0%, 100% { opacity: 0.4; }
        10% { opacity: 1; }
        20% { opacity: 0.5; }
        80% { opacity: 0.4; }
        90% { opacity: 1; } }
    /* Układ Logo: Obrazek lewo | Tekst prawo (z zawijaniem) */
    .logo-section {
        grid-area: logo;
        height: 15rem;
        position: relative; overflow: hidden;
        display: flex; align-items: center; justify-content: center;
        color: white; 
        /* DODAŃO ZDJĘCIE W TLE */
        background-image: url('img/background.jpg');
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        /* Zmieniono kolor dolnej krawędzi, aby pasował do ciepłego tła */
        border-bottom: 3px solid #5a3a41;}

    /* Ciemna nakładka na zdjęcie w tle dla czytelności logo (zachowuje gradient z gwiazd) */
    .logo-section::after {
        content: '';
        position: absolute;
        top: 0; left: 0;
        width: 100%; height: 100%;
        background: radial-gradient(circle at center, rgba(152, 102, 110, 0.1) 0%, rgba(131, 78, 84, 0.2) 100%); /* Ciepły burgund z przezroczystością */
        z-index: 0; /* Musi być pod gwiazdami i logo */
    }

    .logo-content {
        z-index: 2; /* Najwyższa warstwa w sekcji logo */
        display: flex;
        flex-direction: row; /* Tekst obok obrazka */
        flex-wrap: wrap;    /* Zawijanie jeśli brak miejsca */
        align-items: center;
        justify-content: center;
        transform: translateX(-12%);
        gap: 2rem;
        max-width: 950px;
        width: 100%;
        padding: 1.5rem;      /* Odstęp od krawędzi na mobile */
        margin-left: 2rem; }
    .logo-img {
        max-width: 100%; height: 9rem; width: auto;
        filter: drop-shadow(0 0 15px rgba(131, 78, 84, 0.8));
        opacity: 0.85; }
    .logo-text { display: flex; flex-direction: column; text-align: left; 
                 font-family: 'Allura';

                text-shadow: 
                    1px  1px 3px rgb(131, 78, 84), 
                    -1px -1px 3px rgb(131, 78, 84), 
                    1px -1px 3px  rgb(131, 78, 84),
                    -1px  1px 3px rgb(131, 78, 84)}

    .rights-section { 
        grid-area: rights; 
        background: #f1ede4; /* Ciepły piasek */
        padding: 0.5rem; text-align: left; font-size: 0.8rem; color: #666; 
        display: flex; justify-content: center; }
    .rights-content { max-width: 950px; width: 100%; padding: 0 10px; 
        display: flex; align-items: center; justify-content: space-between; position: relative; }

    .nav {
        will-change: transform;
        cursor: pointer;
        color: #333;
        font-size: 1.4rem;
        margin-left: auto; /* Pcha ikonę do prawej */
        opacity: 0.7;
        transition: 0.3s;
        animation: bounce 2.5s infinite; }
    .nav:hover { opacity: 1; transform: scale(1.1); }
    @keyframes bounce {
        0% { transform: scale(1);}
        60% { transform: scale(1);}
        85% { transform: scale(1.2);}
        90% { transform: scale(0.9);}
        95% { transform: scale(1.05);}
        100% { transform: scale(1);} } 
    #nav_bar {
        position: absolute;
        top: 100%; right: 0rem;
        background-color: #f1ede4; /* Ciepły piasek */
        overflow: hidden;
        max-height: 0; width: auto;
        transition: max-height 0.4s ease-out;
        box-shadow: -6px 6px 10px rgba(90, 58, 65, 0.1); /* Subtelny cień */
        border-radius: 4px; 
        z-index: 1;}
    #nav_bar ul {
        list-style: none; margin: 0; padding: 0; 
        display: flex; flex-direction: column; }
    #nav_bar li { border-bottom: 1px solid #ddd; }
    #nav_bar li:last-child { border-bottom: none; }
    #nav_bar li a {
        display: block; color: #333; padding: 12px 20px;
        font-size: 0.9rem; text-decoration: none; text-align: right; 
        transition: 0.2s; }
    #nav_bar li a:hover { background: #a66f7d; /* Stonowany różowy fiolet */ color: white; font-weight: bold; }

    .main-section { 
        grid-area: main;  background: transparent;     
        width: 100%;  display: flex; 
        padding: 3rem 0; 
        justify-content: center; 
        align-items: flex-start;  }
    .main-content {     /* Dodatkowy div wewnątrz main w HTML */
        max-width: 950px;
        width: 100%;
        margin-bottom: max(35vh,200px);
        padding: 0 1.5rem;  /* Odstęp od krawędzi na mobile */ }

    .news-section {
        display: flex;
        flex-direction: column;
        padding-left: 20px;
        max-height: 85vh;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: #a66f7d transparent; /* Stonowany różowy fiolet */
        scroll-snap-type: y proximity;
        scroll-behavior: smooth;
        padding-bottom: calc(85vh - 10em);
        width: 100%;            
        max-width: 950px;       
        box-sizing: border-box;  }
    .news-content {display: none;}
    .news:first-of-type .news-content { display: block;}
    .news {
        position: relative; 
        padding-top: 1rem; 
        padding-bottom: 2rem; margin-bottom: 1rem; 
        border-bottom: 1px solid #aaaaaa;
        scroll-snap-align: start;
        width: 99%;            
        text-align: left; }

    .bio-section { margin-bottom: 60px; text-align: justify; }        
    .founder-photo-container {
        display: flex; justify-content: center;
        margin-top: 30px; margin-bottom: 20px; }
    .founder-circle {
        width: 350px; height: 350px;
        border-radius: 50%; overflow: hidden;
        border: 3px solid #f0f0f0; /* Subtelna ramka */
        box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
    .founder-circle img {
        width: 100%; height: 100%;
        object-fit: cover; /* Zapewnia poprawne wypełnienie koła */ }
    .founder-name {
         text-align: center; color: #2c2c2c; margin-top: 15px; }
    hr.divider {
        border: 0; height: 1px; margin: 40px 0;
        background: linear-gradient(to right, transparent, #ccc, transparent); }

    .down-section { 
        grid-area: down; background: #f1ede4; /* Ciepły piasek */
        padding: 0.5rem; text-align: left; font-size: 0.8rem; color: #666; 
        display: flex; justify-content: center; }
    .down-content {  max-width: 950px; width: 100%; padding: 0 10px; margin: 0 auto; }

    /* Media Query dla bardzo małych ekranów - wyśrodkowanie tekstu logo */
    @media (max-width: 550px) {
        .logo-content { flex-direction: column; align-items: flex-start; gap: 0.5rem; 
            transform: translateX(0); margin-left: 15%; }
        .logo-img { height: 5rem; }
        .logo-text { margin-left: 50px; }
        .logo-text h1 { font-size: 3.5rem; }
        .logo-text h2 { font-size: 3.5rem;  }
        p { line-height: 1.6; font-size: 1.1rem; }
        .action-pillars p { line-height: 1.6rem; }
        h1 {font-size: 1.8rem;}
        h2 {font-size: 1.4rem; }
        h3 {font-size: 1.2rem;}
        .intro-lead { font-size: 1.1rem; line-height: 1.6; }
        p.K  {margin-left: 2rem;}
        h2.K.v2 {margin-left: 1rem;}
        p.K.v2  {margin-left: 3rem;}
        h2.K.v3 {margin-left: 2rem;}
        p.K.v3  {margin-left: 4rem;}
        .founder-circle {width: 250px; height: 250px; }
        
    }


    @page {
        /* Standardowy margines na oprawę (lewa strona 2.5cm) */
        margin: 1.5cm 1.5cm 1.0cm 2.5cm;
        size: auto;
    }

    @media print {
        header, .down-content, .rights-section, #nav_bar, 
        .nav, .stars-container, .logo-section, .news:not(.printing-active) {
            display: none !important; }

        html, body {
            background: white !important;
            color: black !important;
            /* Zmiana na czcionkę szeryfową dla lepszej czytelności w druku */
            font-family: 'Manrope', sans-serif !important;
        }

        .container, .main-section, .main-content, .news.printing-active {
            display: block !important;
            width: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
            background: transparent !important;
            border: none !important;
            page-break-inside: auto !important; }
        .news.printing-active .news-content {
            display: block !important;
            height: auto !important;
            visibility: visible !important;}

        .main-content {
            text-align: justify;
            hyphens: auto;}
        .news-section {
            display: block !important;
            max-height: none !important; /* Usuwa 85vh */
            height: auto !important;
            overflow: visible !important; /* Usuwa scrollbar i ucinanie */
            margin: 0 !important;
            padding: 0 !important; }
        .print-logo {
            display: block !important;    /* Pokazujemy element ukryty w CSS głównym */
            visibility: visible !important;
            position: fixed !important;    /* Dzięki 'fixed' logo będzie na dole KAŻDEJ strony */
            bottom: 0cm !important; right: 0cm !important;
            width: 2.5cm !important; height: auto !important;
        }

        h1,h2,h3,p { 
            font-family: 'Comfortaa', cursive; 
            color: black !important;
            display: block !important;
            text-transform: none !important; }
        h0 {font-size: 56pt;}
        h1 { font-family: 'Allura', cursive;
            font-size: 30pt !important; margin-bottom: 24pt !important; padding-top: 14pt;
            border-bottom: 2pt solid #000 !important; /* Czarna linia zamiast czerwonej */ 
            -webkit-font-variant-ligatures: none; /* Wyłączenie ligatur pomaga w obliczeniach szerokości */
            font-variant-ligatures: none;}
        h2 { 
            font-size: 12pt !important; page-break-after: avoid; 
            margin-top: 18pt !important; margin-bottom: 8pt !important;
            text-transform: uppercase !important; }
        h3 { 
            font-size: 11pt !important; page-break-after: avoid;
            margin-top: 11pt !important; margin-bottom: 6pt !important; }
        p { 
            font-size: 10pt !important; line-height: 1.4 !important; 
            margin-bottom: 10pt !important; orphans: 3; widows: 3; }
        .intro-lead {  font-size: 12pt !important; font-weight: bold; color: #000 !important; }
        .action-pillars p { 
            padding-left: 15pt !important; 
            border-left: 1pt solid #ccc !important;
            margin-bottom: 12pt !important;
            page-break-inside: avoid; /* Nie rozrywa punktów między strony */ }
        .action-pillars strong {  font-size: 11pt !important;}
        .news-pillars { padding-left: 0; border-left: none; }

        /* Style dedykowane dla biogramów w druku */
        .bio-section {
            page-break-inside: avoid; /* Zapobiega rozrywaniu biogramu na dwie strony */
            margin-bottom: 20pt !important;
            padding-bottom: 10pt;
        }

        .founder-photo-container {
            display: block !important;
            text-align: center;
            margin-top: 40pt !important;
        }

        .founder-circle {
            display: inline-block;
            width: 200pt !important; /* Optymalny rozmiar zdjęcia w druku */
            height: 200pt !important;
            border: 1pt solid #eee !important;
            box-shadow: none !important; /* Drukarki źle interpretują cienie */
        }

        .founder-name {
            text-align: center !important;
            font-size: 16pt !important;
            margin-top: 0 !important;
            padding-top: 60pt;
        }

        hr.divider {
            display: block !important;
            height: 1pt !important;
            background: #ccc !important;
            margin: 15pt 0 !important;
        }

        /* Wyłączenie efektów graficznych i wymuszenie czerni */
        * { 
            text-shadow: none !important; 
            box-shadow: none !important; 
            background: white !important;
            color: black !important;
            -webkit-print-color-adjust: economy;
            print-color-adjust: economy; }
    }