:root{--blue:#0b6edc;--blue2:#0e3f77;--ink:#16212c;--muted:#64707c;--line:#dce5ee;--soft:#eef6fd;--dark:#0e1b27;--radius:22px;--shadow:0 18px 50px rgba(17,59,96,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:white;line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,229,238,.9)}.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{height:54px;width:auto;max-width:220px;object-fit:contain;object-position:left center}.links{display:flex;gap:24px;align-items:center;font-size:14px;font-weight:700;color:#334252}.links a:hover{color:var(--blue)}.menu{display:none;border:0;background:none;font-size:25px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:999px;background:linear-gradient(135deg,var(--blue),#16498d);color:white!important;font-weight:800;box-shadow:0 12px 28px rgba(11,110,220,.18)}.ghost{background:white;color:var(--blue2)!important;border:1px solid var(--line);box-shadow:none}
.hero{padding:76px 0 68px;background:radial-gradient(circle at 82% 18%,rgba(18,126,232,.13),transparent 33%),linear-gradient(180deg,#fff,#f5f9fd)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:58px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:900;color:var(--blue)}h1{font-size:clamp(43px,6vw,72px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 22px}.lead{font-size:20px;color:var(--muted);max-width:720px}.actions{display:flex;gap:12px;margin:30px 0}.tags{display:flex;gap:9px;flex-wrap:wrap}.tags span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#536171;font-size:13px}.visual{padding:26px;background:linear-gradient(145deg,#fff,#f1f6fb);border:1px solid #e3ebf3;border-radius:32px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;overflow:hidden}.visual img{display:block;width:auto;height:auto;max-width:100%;max-height:520px;object-fit:contain;object-position:center;border-radius:22px;margin:0 auto}
section{padding:86px 0}.section-head{max-width:840px;margin-bottom:38px}.section-head h2,.split h2,.contact h2,.cta h2{font-size:clamp(31px,4vw,48px);line-height:1.08;letter-spacing:-.03em;margin:10px 0 15px}.section-head p,.split p,.contact p,.cta p{color:var(--muted);font-size:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:0 10px 30px rgba(25,55,85,.05)}.num{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#e9f3ff;color:var(--blue);font-weight:900}.card h3{font-size:22px;margin:12px 0 8px}.card p{margin:0;color:var(--muted)}
.dark{background:var(--dark);color:white}.dark p,.dark span{color:#b8c7d5}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.checks{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:11px}.checks li:before{content:"✓";color:#48b5ff;font-weight:900;margin-right:10px}.stack{display:grid;gap:12px}.stack div{display:flex;justify-content:space-between;gap:18px;padding:17px 19px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.stack strong{color:white}.stack span{font-size:14px;text-align:right}
.security-box{min-height:350px;border-radius:30px;background:linear-gradient(135deg,#eef6ff,#dcefff);display:grid;place-items:center;border:1px solid #d9e7f4}.shield{width:150px;height:170px;clip-path:polygon(50% 0,92% 18%,84% 72%,50% 100%,16% 72%,8% 18%);display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),#173b68);color:white;font-size:65px;font-weight:900}.mini{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.mini div,.features div{padding:16px;border:1px solid var(--line);border-radius:16px;background:white}.mini span,.features span{display:block;color:var(--muted);font-size:14px}.soft{background:var(--soft)}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ref{padding:24px;border:1px dashed #b9c9d9;border-radius:20px;background:#fbfdff}.ref small{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.ref strong{display:block;font-size:20px;margin:9px 0}.ref p{color:var(--muted);margin:0}.cta-section{background:linear-gradient(135deg,#102030,#193f67);color:white}.cta{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta p{color:#c4d1dc;max-width:760px}.contact{display:grid;grid-template-columns:1fr .7fr;gap:40px;align-items:center}.contact-card{padding:28px;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:var(--shadow);display:grid;gap:8px}.contact-card strong{font-size:24px}.contact-card span{color:var(--muted)}.contact-card a{color:var(--blue);font-weight:800}footer{padding:28px 0;background:#fbfdff;border-top:1px solid var(--line);color:#5f6a76}.footer{display:flex;justify-content:space-between;gap:20px}.footer strong,.footer span{display:block}
@media(max-width:900px){.visual img{max-height:440px}.menu{display:block}.links{display:none;position:absolute;top:74px;left:20px;right:20px;background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);flex-direction:column}.links.open{display:flex}.hero-grid,.split,.contact{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.features,.refs{grid-template-columns:1fr 1fr}}@media(max-width:620px){.brand img{height:44px;max-width:170px}.visual{padding:16px}.visual img{max-height:360px}.wrap{width:min(100% - 24px,1160px)}.cards,.features,.refs,.mini{grid-template-columns:1fr}.actions,.cta,.footer{flex-direction:column;align-items:flex-start}section{padding:62px 0}h1{font-size:42px}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.faq-list{display:grid;gap:12px;max-width:900px}.faq-list details{border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 20px}.faq-list summary{cursor:pointer;font-weight:800;padding:18px 0;color:var(--ink)}.faq-list details p{margin:0;padding:0 0 18px;color:var(--muted)}.faq-list summary::marker{color:var(--blue)}

/* ==========================================================
   Kordian & Beata IT Solutions - ochrona przed zwyklym kopiowaniem
   ========================================================== */

html,
body {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    -webkit-touch-callout: none;
}

/* Pola formularzy pozostaja normalnie edytowalne */
input,
textarea,
select,
option {
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
}

/* Utrudnienie przeciagania obrazow */
img {
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: auto;
}

/* KB_COPYRIGHT_TOAST_CSS
   Kordian & Beata IT Solutions - komunikat ochrony tresci
   ========================================================== */

.kb-copyright-toast {
    position: fixed;
    left: 50%;
    bottom: 34px;
    transform: translate(-50%, 25px);
    z-index: 999999;

    max-width: calc(100% - 32px);
    padding: 13px 20px;

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;

    background: rgba(15, 29, 41, 0.96);
    color: #ffffff;

    font-size: 14px;
    font-weight: 650;
    line-height: 1.45;
    text-align: center;

    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.26);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.22s ease,
        transform 0.22s ease,
        visibility 0.22s ease;

    pointer-events: none;
}

.kb-copyright-toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

@media (max-width: 600px) {
    .kb-copyright-toast {
        bottom: 22px;
        width: calc(100% - 28px);
        padding: 12px 15px;
        font-size: 13px;
    }
}


/* ==========================================================
   KB_CONTACT_FORM_CSS_V1
   Kordian & Beata IT Solutions - formularz kontaktowy
   ========================================================== */

.contact {
    grid-template-columns: .72fr 1.28fr;
    align-items: start;
}

.contact-intro .contact-card {
    margin-top: 28px;
}

.contact-form {
    position: relative;
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: var(--shadow);
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.form-full {
    grid-column: 1 / -1;
}

.form-field {
    display: grid;
    gap: 7px;
}

.form-field > span {
    color: var(--ink);
    font-size: 14px;
    font-weight: 800;
}

.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #cfdbe7;
    border-radius: 13px;
    outline: none;
    background: #ffffff;
    color: var(--ink);
    font: inherit;
    line-height: 1.4;
    padding: 13px 14px;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.form-field textarea {
    min-height: 165px;
    resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(11,110,220,.11);
    background: #ffffff;
}

.form-field input::placeholder,
.form-field textarea::placeholder {
    color: #8a96a3;
}

.consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.consent input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    flex: 0 0 auto;
    accent-color: var(--blue);
}

.form-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.form-actions button.btn {
    border: 0;
    cursor: pointer;
    font: inherit;
}

.form-actions small {
    color: var(--muted);
}

.form-status {
    display: none;
    padding: 13px 15px;
    border-radius: 13px;
    font-size: 14px;
    font-weight: 750;
}

.form-status.is-visible {
    display: block;
}

.form-status.success {
    color: #126235;
    background: #edf9f1;
    border: 1px solid #bce6c9;
}

.form-status.error {
    color: #8b2929;
    background: #fff3f3;
    border: 1px solid #efc4c4;
}

/* Honeypot - niewidoczny dla normalnego uzytkownika */
.hp-field {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

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

@media (max-width: 620px) {

    .contact-form {
        padding: 22px 18px;
    }

    .form-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .form-full {
        grid-column: auto;
    }
}


/* ==========================================================
   KB_CONTACT_FORM_TUNING_V2
   Kompaktowy i czytelny formularz
   ========================================================== */

.contact-form {
    padding: 26px 30px;
}

.form-grid {
    gap: 14px 18px;
}

.form-field {
    gap: 5px;
}

.form-field input,
.form-field select {
    padding: 11px 14px;
    min-height: 50px;
}

.form-field textarea {
    padding: 12px 14px;
    min-height: 135px;
    max-height: 260px;
}

.consent {
    margin-top: 1px;
}

.form-actions {
    margin-top: 0;
}

#kontakt {
    padding-top: 72px;
    padding-bottom: 72px;
}

@media (max-width: 620px) {
    .contact-form {
        padding: 20px 17px;
    }

    .form-field input,
    .form-field select {
        min-height: 48px;
    }

    .form-field textarea {
        min-height: 140px;
    }
}


/* KB_REFERENCJE_DOCUMENT_CSS */
.refs.refs-single{grid-template-columns:minmax(0,1fr);max-width:900px}
.ref-document{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:center;border-style:solid;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ref-document:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#9fc4e7}
.ref-document img{width:100%;height:auto;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 26px rgba(17,59,96,.10)}
.ref-copy{min-width:0}
.ref-link{display:inline-block;margin-top:14px;color:var(--blue);font-weight:800}
@media(max-width:620px){.ref-document{grid-template-columns:1fr}.ref-document img{max-width:320px;margin:0 auto}}
