/* Własny CSS, bez Joomla, Bootstrap i SP Page Builder */
:root{--navy:#0f365a;--blue:#2670b2;--gray:#6d6d6d;--light:#f7f7f7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;font-family:"Open Sans",Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7;color:#444}a{color:inherit}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.3}h2{font-size:36px}h3{font-size:20px}.wide{max-width:1320px;margin:auto;padding:0 15px}.section{position:relative}.site-header{position:relative;height:90px;background:#fff;box-shadow:0 3px 3px #0000000d;z-index:2}.header-inner{max-width:1170px;height:100%;margin:auto;display:flex;align-items:center;justify-content:center;padding:0 15px}.brand{height:100%;display:flex;align-items:center;justify-content:center}.brand img{max-height:80px;width:auto}.hero{background:#0f365a url('../img/images/2019/12/13/bgrnd_05.jpg') no-repeat center bottom;background-size:auto;padding:200px 0;text-align:center;color:#fff}.hero h1{font-size:72px;line-height:1;font-weight:700;margin:0}.features{padding:70px 0;text-align:center}.features h2{color:var(--navy);font-weight:700;word-spacing:35px;margin-bottom:52px}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.feature img{display:block;object-fit:contain;width:72px;height:63px;margin:0 auto 22px}.feature h3{font-size:19px;font-weight:600;margin:0;color:var(--navy)}.intro{background:var(--gray);color:#fff;padding:100px 0 80px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.prose p{text-align:justify;margin:0 0 24px}.services{padding:100px 0 50px}.services-photo{width:100%;display:block}.services h2{color:var(--navy);font-weight:700}.services h3{color:var(--navy);font-size:22px;font-weight:400;margin-bottom:28px}.clients{background:var(--light);padding:130px 0 70px;text-align:center}.clients h2{color:var(--navy);margin-bottom:56px}.contact{padding:100px 0;background:var(--navy);color:#fff}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:center}.contact h2{font-size:29px}.contact h3{font-size:18px}.contact p{font-size:16px}.contact-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;text-align:center}.contact-methods svg{height:36px;width:36px;fill:currentColor;margin-bottom:12px}.contact-methods h3{font-size:16px;margin-bottom:12px}.contact-methods a{overflow-wrap:anywhere;text-decoration:none}.contact-methods a:hover{text-decoration:underline}.site-footer{background:var(--blue);text-align:center;color:#fff;padding:20px 15px;font-size:14px}.site-footer a{text-decoration:underline}.footer-sep{margin:0 6px}.policy{padding:60px 0 90px}.policy-content{max-width:1170px;color:var(--navy)}.policy h2{font-size:30px}.policy p,.policy li{margin-bottom:14px}.policy ol,.policy ul{padding-left:28px}
@media(max-width:1199.98px){.hero h1{font-size:48px;line-height:1.17}}
@media(max-width:991.98px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.contact-grid{grid-template-columns:1fr}.services-photo{max-width:700px}.features h2{word-spacing:normal;font-size:30px}}
@media(max-width:767.98px){.hero{padding:100px 0}.features{padding:50px 0 30px}.intro{padding:50px 0}.services{padding:0 0 50px}.clients{padding:50px 0 30px}.contact{padding:40px 0 30px}.hero h1{font-size:42px}.policy{padding:35px 0 60px}}
@media(max-width:575.98px){.hero h1{font-size:34px;line-height:1.15}.features h2,.clients h2{font-size:27px}.feature-grid{gap:30px 12px}.feature h3{font-size:16px}.contact-methods{grid-template-columns:1fr}.site-footer{font-size:12px}.services h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Nagłówek — zachowanie zgodne z oryginalnym szablonem */
.site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    height: 90px;
    background: #0f365a;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.05);
}

.header-inner {
    height: 90px;
    display: flex;
    align-items: center;
}


/* Oryginalny odstęp pod nagłówkiem sekcji głównej */
.hero h1 {
    margin-bottom: 30px;
}


/* Sekcja Doradzamy / Zapobiegamy / Rozwiązujemy */
.features h2 {
    font-size: 36px;
    line-height: 42px;
    font-weight: 700;
    word-spacing: 50px;
    margin-bottom: 10px;
}

.features .feature h3 {
    font-size: 22px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 1px;
    margin-top: 45px;
    margin-bottom: 20px;
    color: #0f365a;
}

.features .feature img {
    margin-bottom: 0;
}

@media (max-width: 767.98px) {
    .features h2 {
        word-spacing: normal;
    }
}


/* Korekta drugiej sekcji — ikony i podpisy */
.features h2 {
    margin-bottom: 52px;
}

.features .feature h3 {
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 26px;
    letter-spacing: 1px;
    margin-top: 45px;
    margin-bottom: 20px;
}


/* Drobna korekta położenia ikon i podpisów */
.features h2 {
    margin-bottom: 47px;
}

.features .feature h3 {
    margin-top: 45px;
    line-height: 24px;
}


/* Druga sekcja — wyrównanie dolnej krawędzi z oryginałem */
@media (min-width: 768px) {
    .features {
        padding-bottom: 100px;
    }
}


/* Trzecia sekcja — typografia zgodna z oryginałem */
.intro p {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 26px;
}


/* Trzecia sekcja — oryginalny odstęp między akapitami */
.intro .two-col > div > p:not(:last-child) {
    margin-bottom: 40px;
}


/* Trzecia sekcja — wyrównanie wysokości z oryginałem */
@media (min-width: 768px) {
    .intro {
        padding-bottom: 96px;
    }
}


/* Czwarta sekcja — zgodność z oryginałem */
.services {
    padding: 100px 0 50px;
}

.services .services-photo {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto 30px;
    border-radius: 0;
}

.services .prose h2 {
    font-family: "Open Sans", sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 42px;
    letter-spacing: 0;
    color: #0f365a;
    text-align: center;
    margin: 0 0 10px;
}

.services .prose h3 {
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: 0;
    color: #0f365a;
    text-align: center;
    margin: 0 0 30px;
}

.services .prose p {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 26px;
    text-align: justify;
    margin: 0 0 30px;
}

.services .prose p:last-child {
    margin-bottom: 0;
}

@media (max-width: 991.98px) {
    .services {
        padding: 0 0 50px;
    }

    .services .prose h2 {
        font-size: 30px;
    }

    .services .prose h3 {
        font-size: 16px;
        line-height: 26px;
    }

    .services .services-photo {
        margin-bottom: 0;
    }

    .services .two-col {
        gap: 10px;
    }

    .services .prose p {
        margin-bottom: 20px;
    }
}


/* Piąta sekcja — Nasi główni Klienci */
.clients {
    background-color: #f7f7f7;
    padding: 130px 0 100px;
    text-align: center;
}

.clients h2 {
    font-family: "Open Sans", sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 42px;
    letter-spacing: 0;
    color: #0f365a;
    margin: 0 0 112px;
}

.clients .feature img {
    display: block;
    width: 72px;
    height: 63px;
    object-fit: contain;
    margin: 0 auto;
}

.clients .feature h3 {
    font-family: "Open Sans", sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: 1px;
    color: #0f365a;
    margin: 45px 0 20px;
}

@media (max-width: 767.98px) {
    .clients {
        padding: 50px 0 30px;
    }

    .clients h2 {
        font-size: 30px;
    }
}


/* Sekcja kontaktowa — odwzorowanie oryginalnego układu */
.contact {
    background-color: #0f365a;
    color: #fff;
    padding: 100px 0;
}

.contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    align-items: center;
}

.contact-grid > div:first-child {
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
}

.contact-grid > div:first-child h2,
.contact-grid > div:first-child h3,
.contact-grid > div:first-child p {
    color: #fff;
}

.contact-methods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    text-align: left;
    align-items: start;
}

.contact-methods > div {
    min-width: 0;
    font-family: "Poppins", sans-serif;
    color: #fff;
}

.contact-methods svg {
    display: block;
    width: 24px;
    height: 24px;
    fill: currentColor;
    margin: 0 0 5px;
}

.contact-methods h3 {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 32px;
    letter-spacing: 0;
    color: #fff;
    margin: 0 0 5px;
}

.contact-methods a {
    display: block;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 32px;
    color: #fff;
    text-decoration: none;
    overflow-wrap: normal;
}

.contact-methods a:hover {
    color: #fff;
    text-decoration: underline;
}

@media (max-width: 991.98px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .contact {
        padding: 40px 0 30px;
    }

    .contact-grid > div:first-child {
        font-size: 18px;
        line-height: 30px;
    }
}

@media (max-width: 575.98px) {
    .contact-methods {
        grid-template-columns: 1fr;
    }
}


/* Kontakt — korekta według pomiarów oryginału */
.contact-grid > div:first-child {
    font-family: "Open Sans", sans-serif;
    font-weight: 300;
}

.contact-grid > div:first-child h2 {
    font-family: "Open Sans", sans-serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 33px;
    margin: 20px 0 10px;
}

.contact-grid > div:first-child h3 {
    font-family: "Open Sans", sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 26.4px;
    margin: 20px 0 10px;
}

.contact-grid > div:first-child p {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 26.4px;
    margin: 20px 0 10px;
}

.contact-methods h3 {
    margin-top: 10px;
    margin-bottom: 5px;
}

.contact-methods {
    gap: 30px;
}



/* Oryginalne ikony Font Awesome 4.7.0 */
@font-face {
    font-family: "ContactFontAwesome";
    src: url("../fonts/fontawesome-webfont.woff2") format("woff2");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

.contact-methods .contact-fa {
    display: inline-block;
    font-family: "ContactFontAwesome";
    font-size: 24px;
    font-weight: normal;
    font-style: normal;
    line-height: 24px;
    width: 24px;
    height: 24px;
    margin-bottom: 5px;
    color: #fff;
}

.contact-fa-phone::before {
    content: "\f095";
}

.contact-fa-envelope::before {
    content: "\f0e0";
}

/* Kontakt — oryginalny rozmiar REGON / NIP / KRS */
.contact .contact-register span {
    font-size: 16px;
    font-weight: 400;
}


/* REGON / NIP / KRS — oryginalna wysokość linii */
.contact .contact-register span {
    line-height: 1.1;
}


/* Kontakt — końcowe wyrównanie zawartości */
.contact-grid {
    position: relative;
    top: 1px;
}


/* Układ ikon na telefonach — zgodny z oryginalnym SP Page Builder */
@media (max-width: 767.98px) {
    .features .feature-grid,
    .clients .feature-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* Trzecia sekcja — pogrubienia zgodne z oryginałem */
.intro strong {
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
}


/* Stopka oryginalna */
.site-footer {
    background: #2670b2;
    color: #fff;
    text-align: center;
    padding: 20px 0;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 24px;
}

/* Oryginalna czcionka panelu cookies */
@font-face {
    font-family: "OpenSansCookie";
    src: url("../fonts/opensans-cookie.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Panel cookies */
.panel_cookie {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    min-height: 53px;
    z-index: 100002;
    background: rgba(0, 0, 0, .8);
    box-shadow: 0 0 10px rgba(0, 0, 0, .8);
    padding: 0;
}

.panel_cookie[hidden] {
    display: none !important;
}

.panel_cookie .tresc {
    float: left;
    width: 75%;
    max-width: 75%;
    margin-left: 10%;
}

.panel_cookie p {
    font-family: "OpenSansCookie", "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #fff;
    text-align: center;
    margin: 2px 0 0;
}

.panel_cookie a {
    color: #f07241;
    text-decoration: underline;
}

.panel_cookie a:hover {
    text-decoration: none;
}

.panel_cookie button {
    display: block;
    float: right;
    width: 53px;
    height: 53px;
    min-height: 53px;
    border: 0;
    border-radius: 0;
    background: #060606 url("../img/close-st1.png") no-repeat center;
    color: transparent;
    font-size: 0;
    cursor: pointer;
}

.panel_cookie button:hover,
.panel_cookie button:focus-visible {
    background-color: #f07241;
}

@media (max-width: 1280px) {
    .panel_cookie p {
        font-size: 13px;
        line-height: 1.5;
        margin: 1.1em 0;
    }
}

@media (max-width: 767.98px) {
    .site-footer {
        font-size: 14px;
    }
}

/* Nagłówek hero — oryginalna typografia mobilna */
@media (max-width: 767.98px) {
    .hero h1 {
        font-size: 42px;
        line-height: 48px;
    }
}


/* Sekcja Doradzamy — wyrównanie wysokości mobilnej z oryginałem */
@media (max-width: 767.98px) {
    .features {
        padding-bottom: 61px;
    }
}


/* Mobilne dopasowanie sekcji Nasi główni Klienci */
@media (max-width: 767.98px) {
    .clients {
        padding-bottom: 60px;
    }

    .clients h2 {
        font-size: 36px;
        line-height: 42px;
    }
}
