.p4 {
font-family: 'Poppins', sans-serif;
color: #3d3f4a;
font-size: 16px;
line-height: 1.7;
background: #ffffff;
color-scheme: only light !important;
-webkit-font-smoothing: antialiased;
}
.p4 *, .p4 *::before, .p4 *::after { box-sizing: border-box; margin: 0; padding: 0; }
.p4 a { text-decoration: none; }
.p4 img { max-width: 100%; display: block; }
.p4 .wrap { max-width: 1140px; margin: 0 auto; padding: 0 48px; }
.p4 .wrap--narrow { max-width: 860px; margin: 0 auto; padding: 0 48px; }
.p4 section.full {
position: relative;
overflow: hidden;
width: 100%;
}
.p4 .hero {
background: #1e2636;
padding: 96px 0 80px;
position: relative;
overflow: hidden;
}
.p4 .hero::before {
content: 'SR';
position: absolute;
right: -40px; top: -60px;
font-family: 'Raleway', sans-serif;
font-size: 320px;
font-weight: 800;
color: rgba(255,255,255,0.025);
line-height: 1;
pointer-events: none;
user-select: none;
}
.p4 .hero__inner {
display: grid;
grid-template-columns: 1fr 420px;
gap: 60px;
align-items: center;
}
.p4 .hero__eyebrow {
font-size: 11px;
font-weight: 600;
letter-spacing: .18em;
text-transform: uppercase;
color: #4ECDC4;
margin-bottom: 20px;
display: flex;
align-items: center;
gap: 10px;
}
.p4 .hero__eyebrow::before {
content: '';
display: block;
width: 28px; height: 2px;
background: #4ECDC4;
}
.p4 .hero__h1 {
font-family: 'Raleway', sans-serif;
font-size: clamp(36px, 4.5vw, 60px);
font-weight: 800;
line-height: 1.08;
color: #ffffff;
margin-bottom: 24px;
letter-spacing: -0.02em;
}
.p4 .hero__h1 em {
font-style: italic;
font-weight: 400;
color: #4ECDC4;
}
.p4 .hero__lead {
font-size: 17px;
font-weight: 300;
color: rgba(255,255,255,0.72);
line-height: 1.8;
margin-bottom: 40px;
max-width: 520px;
}
.p4 .hero__cta {
display: flex;
gap: 16px;
flex-wrap: wrap;
}
.p4 .btn-red {
display: inline-flex;
align-items: center;
gap: 8px;
background: #FF0000;
color: #ffffff;
font-family: 'Poppins', sans-serif;
font-size: 14px;
font-weight: 600;
padding: 14px 28px;
border-radius: 4px;
border: 2px solid #FF0000;
cursor: pointer;
transition: background .2s, transform .15s;
letter-spacing: .03em;
}
.p4 .btn-red:hover { background: #cc0000; border-color: #cc0000; transform: translateY(-1px); }
.p4 .btn-outline-dark {
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
color: #ffffff;
font-family: 'Poppins', sans-serif;
font-size: 14px;
font-weight: 500;
padding: 14px 28px;
border-radius: 4px;
border: 2px solid rgba(255,255,255,0.35);
cursor: pointer;
transition: border-color .2s, background .2s;
letter-spacing: .03em;
}
.p4 .btn-outline-dark:hover { border-color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.06); }
.p4 .hero__visual { position: relative; }
.p4 .hero-timeline {
background: rgba(255,255,255,0.06);
border: 1px solid rgba(255,255,255,0.1);
border-radius: 12px;
padding: 28px 24px;
backdrop-filter: blur(8px);
}
.p4 .hero-timeline__label {
font-size: 10px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
color: #4ECDC4;
margin-bottom: 20px;
}
.p4 .htl-step {
display: flex;
gap: 14px;
align-items: flex-start;
margin-bottom: 6px;
}
.p4 .htl-step:last-child { margin-bottom: 0; }
.p4 .htl-step__track {
display: flex;
flex-direction: column;
align-items: center;
flex-shrink: 0;
padding-top: 2px;
}
.p4 .htl-step__dot {
width: 28px; height: 28px;
border-radius: 50%;
background: #1e2636;
border: 2px solid #4ECDC4;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Raleway', sans-serif;
font-size: 11px;
font-weight: 800;
color: #4ECDC4;
flex-shrink: 0;
position: relative;
z-index: 1;
}
.p4 .htl-step__line {
width: 2px;
flex: 1;
min-height: 18px;
background: rgba(78,205,196,0.25);
margin: 3px 0;
}
.p4 .htl-step:last-child .htl-step__line { display: none; }
.p4 .htl-step__body { flex: 1; padding-bottom: 14px; }
.p4 .htl-step:last-child .htl-step__body { padding-bottom: 0; }
.p4 .htl-step__name {
font-size: 13px;
font-weight: 600;
color: #ffffff;
line-height: 1.3;
margin-bottom: 4px;
}
.p4 .htl-step__meta {
display: flex;
gap: 8px;
flex-wrap: wrap;
}
.p4 .htl-step__time {
font-size: 11px;
font-weight: 500;
color: #4ECDC4;
background: rgba(78,205,196,0.12);
padding: 2px 8px;
border-radius: 20px;
}
.p4 .htl-step__note {
font-size: 11px;
color: rgba(255,255,255,0.45);
padding: 2px 0;
}
.p4 .hero-timeline__footer {
margin-top: 18px;
padding-top: 16px;
border-top: 1px solid rgba(255,255,255,0.08);
display: flex;
justify-content: space-between;
align-items: center;
}
.p4 .hero-timeline__total {
font-family: 'Raleway', sans-serif;
font-size: 28px;
font-weight: 800;
color: #ffffff;
}
.p4 .hero-timeline__total-label {
font-size: 11px;
color: rgba(255,255,255,0.45);
margin-top: 2px;
}
.p4 .hero-timeline__avg { text-align: right; }
.p4 .hero-timeline__avg-num {
font-family: 'Raleway', sans-serif;
font-size: 22px;
font-weight: 800;
color: #FF0000;
}
.p4 .hero-timeline__avg-label {
font-size: 11px;
color: rgba(255,255,255,0.45);
margin-top: 2px;
}
.p4 .statband {
background: #1e2636;
padding: 0 0 60px;
}
.p4 .statband__inner {
border: 2px solid #FF0000;
border-radius: 8px;
display: grid;
grid-template-columns: repeat(3, 1fr);
overflow: hidden;
}
.p4 .stat {
padding: 40px 36px;
text-align: center;
position: relative;
}
.p4 .stat + .stat::before {
content: '';
position: absolute;
left: 0; top: 20%; bottom: 20%;
width: 1px;
background: rgba(255,0,0,0.25);
}
.p4 .stat__num {
font-family: 'Raleway', sans-serif;
font-size: clamp(44px, 5vw, 68px);
font-weight: 800;
color: #FF0000;
line-height: 1;
margin-bottom: 10px;
display: block;
}
.p4 .stat__desc {
font-size: 14px;
font-weight: 400;
color: rgba(255,255,255,0.65);
line-height: 1.5;
max-width: 200px;
margin: 0 auto;
}
.p4 .stat__desc strong { color: #ffffff; font-weight: 600; }
.p4 .intro { background: #ffffff; padding: 88px 0; }
.p4 .intro__quote {
border-left: 4px solid #FF0000;
padding: 20px 0 20px 32px;
margin-bottom: 36px;
max-width: 720px;
}
.p4 .intro__quote p {
font-family: 'Raleway', sans-serif;
font-size: clamp(19px, 2.2vw, 26px);
font-weight: 700;
color: #0f1117;
line-height: 1.45;
margin-bottom: 0;
}
.p4 .intro__quote p span { color: #FF0000; font-weight: 800; }
.p4 .intro__body { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.p4 .intro__body p { font-size: 16px; color: #3d3f4a; line-height: 1.8; }
.p4 .intro__body p + p { margin-top: 16px; }
.p4 .articles { background: #1e2636; padding: 88px 0; }
.p4 .sec-label-dark {
font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
color: #4ECDC4; margin-bottom: 12px; display: flex; align-items: center; gap: 10px;
}
.p4 .sec-label-dark::before { content: ''; display: block; width: 20px; height: 2px; background: #4ECDC4; flex-shrink: 0; }
.p4 .sec-label-lite {
font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
color: #FF0000; margin-bottom: 12px; display: flex; align-items: center; gap: 10px;
}
.p4 .sec-label-lite::before { content: ''; display: block; width: 20px; height: 2px; background: #FF0000; flex-shrink: 0; }
.p4 .p4-h2-dark {
font-family: 'Raleway', sans-serif; font-size: clamp(26px, 3vw, 38px); font-weight: 800;
color: #ffffff !important; line-height: 1.15; margin-bottom: 48px; letter-spacing: -0.01em;
}
.p4 .p4-h2-lite {
font-family: 'Raleway', sans-serif; font-size: clamp(26px, 3vw, 38px); font-weight: 800;
color: #0f1117 !important; line-height: 1.15; margin-bottom: 48px; letter-spacing: -0.01em;
}
.p4 .art-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 32px; }
.p4 .art {
background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
border-radius: 8px; overflow: hidden; display: flex; flex-direction: column;
transition: border-color .2s, transform .2s;
}
.p4 .art:hover { border-color: rgba(78,205,196,0.5); transform: translateY(-3px); }
.p4 .art__img { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #2a3347; }
.p4 .art__img img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .3s; }
.p4 .art:hover .art__img img { opacity: 1; }
.p4 .art__cat {
position: absolute; top: 12px; left: 12px; background: #4ECDC4; color: #1e2636;
font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
padding: 3px 10px; border-radius: 20px;
}
.p4 .art__body { padding: 22px 22px 18px; flex: 1; display: flex; flex-direction: column; }
.p4 .art__title { font-size: 15px; font-weight: 600; color: #ffffff; line-height: 1.4; margin-bottom: 8px; }
.p4 .art__exc { font-size: 13px; font-weight: 300; color: rgba(255,255,255,0.55); line-height: 1.6; flex: 1; margin-bottom: 16px; }
.p4 .art__footer { display: flex; justify-content: space-between; align-items: center; }
.p4 .art__read { font-size: 12px; font-weight: 600; color: #4ECDC4; letter-spacing: .04em; }
.p4 .art__date { font-size: 11px; color: rgba(255,255,255,0.3); }
.p4 .art--soon { border-style: dashed; border-color: rgba(255,255,255,0.15); background: rgba(255,255,255,0.02); cursor: default; }
.p4 .art--soon:hover { transform: none; border-color: rgba(255,255,255,0.15); }
.p4 .art--soon .art__img { background: #242d40; }
.p4 .art--soon .art__img::after {
content: 'WKRÓTCE'; position: absolute; inset: 0; display: flex; align-items: center;
justify-content: center; font-size: 11px; font-weight: 700; letter-spacing: .18em; color: rgba(255,255,255,0.25);
}
.p4 .art--soon .art__title { color: rgba(255,255,255,0.4); }
.p4 .art--soon .art__exc { color: rgba(255,255,255,0.2); }
.p4 .coming-label {
font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
color: rgba(255,255,255,0.35); margin-bottom: 16px; margin-top: 16px;
}
.p4 .coming-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.p4 .coming-item { background: rgba(255,255,255,0.03); border: 1px dashed rgba(255,255,255,0.1); border-radius: 6px; padding: 16px 18px; }
.p4 .coming-item__title { font-size: 13px; font-weight: 500; color: rgba(255,255,255,0.35); line-height: 1.4; margin-bottom: 8px; }
.p4 .coming-item__badge {
font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
color: rgba(255,255,255,0.2); background: rgba(255,255,255,0.05); padding: 2px 8px; border-radius: 20px; display: inline-block;
}
.p4 .mec1 { background: #151c2b; padding: 88px 0; }
.p4 .mec1__intro { max-width: 680px; margin-bottom: 56px; }
.p4 .mec1__intro p { font-size: 16px; color: rgba(255,255,255,0.6); line-height: 1.8; margin-top: 0; }
.p4 .stages-grid {
display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; margin-bottom: 64px;
background: rgba(255,255,255,0.08); border-radius: 8px; overflow: hidden;
}
.p4 .stage { background: #1e2636; padding: 32px 24px; position: relative; }
.p4 .stage__num {
font-family: 'Raleway', sans-serif; font-size: 48px; font-weight: 800;
color: rgba(78,205,196,0.15); line-height: 1; margin-bottom: 20px; display: block;
}
.p4 .stage__name { font-size: 15px; font-weight: 700; color: #ffffff; margin-bottom: 8px; line-height: 1.3; }
.p4 .stage__tasks { list-style: none; display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
.p4 .stage__tasks li { font-size: 12px; font-weight: 400; color: rgba(255,255,255,0.5); padding-left: 14px; position: relative; line-height: 1.4; }
.p4 .stage__tasks li::before { content: '›'; position: absolute; left: 0; color: #4ECDC4; font-weight: 700; }
.p4 .stage__kpi { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.07); font-size: 11px; color: #4ECDC4; font-weight: 500; }
.p4 .stage__kpi span { font-family: 'Raleway', sans-serif; font-weight: 800; font-size: 18px; display: block; margin-bottom: 2px; }
.p4 .mity-label {
font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
color: #4ECDC4; margin-bottom: 28px; display: flex; align-items: center; gap: 10px;
}
.p4 .mity-label::before { content: ''; display: block; width: 20px; height: 2px; background: #4ECDC4; flex-shrink: 0; }
.p4 .myth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.p4 .myth { background: rgba(255,255,255,0.04); border-radius: 8px; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; }
.p4 .myth__false { padding: 24px 22px; border-right: 1px solid rgba(255,255,255,0.06); }
.p4 .myth__true { padding: 24px 22px; background: rgba(78,205,196,0.05); }
.p4 .myth__tag { font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; display: inline-block; margin-bottom: 10px; }
.p4 .myth__tag--false { background: rgba(255,0,0,0.15); color: #ff6666; }
.p4 .myth__tag--true { background: rgba(78,205,196,0.15); color: #4ECDC4; }
.p4 .myth__text { font-size: 13px; line-height: 1.55; }
.p4 .myth__false .myth__text { color: rgba(255,255,255,0.45); }
.p4 .myth__true .myth__text { color: rgba(255,255,255,0.78); font-weight: 500; }
.p4 .myth__data { font-size: 11px; color: #4ECDC4; margin-top: 8px; font-weight: 600; }
.p4 .mec2 { background: #F4F5F7; padding: 88px 0; }
.p4 .mec2__intro { max-width: 100%; margin-bottom: 52px; }
.p4 .mec2__intro p { font-size: 16px; color: #3d3f4a; line-height: 1.8; }
.p4 .bottleneck-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 60px; }
.p4 .bn { background: #ffffff; border-radius: 8px; padding: 28px 24px; border-top: 3px solid transparent; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: box-shadow .2s; }
.p4 .bn:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.1); }
.p4 .bn--critical { border-top-color: #FF0000; }
.p4 .bn--warn { border-top-color: #e8a020; }
.p4 .bn--ok { border-top-color: #4ECDC4; }
.p4 .bn__icon { display: block; width: 28px; height: 28px; margin-bottom: 14px; flex-shrink: 0; }
.p4 .bn__name { font-size: 15px; font-weight: 700; color: #0f1117; margin-bottom: 6px; }
.p4 .bn__stat { font-family: 'Raleway', sans-serif; font-size: 32px; font-weight: 800; color: #1e2636; margin-bottom: 4px; display: block; }
.p4 .bn__desc { font-size: 13px; color: #7a7d8a; line-height: 1.5; margin-bottom: 12px; }
.p4 .bn__fix { font-size: 12px; font-weight: 600; color: #0f1117; padding-top: 12px; border-top: 1px solid #e2e0db; }
.p4 .bn__fix-label { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: #7a7d8a; margin-bottom: 4px; display: block; }
.p4 .bn__severity { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 2px 8px; border-radius: 20px; display: inline-block; margin-bottom: 12px; }
.p4 .bn--critical .bn__severity { background: #fff0f0; color: #FF0000; }
.p4 .bn--warn .bn__severity { background: #faeeda; color: #854F0B; }
.p4 .bn--ok .bn__severity { background: #e8f5f4; color: #2d8077; }
.p4 .tools-label {
font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
color: #FF0000; margin-bottom: 28px; display: flex; align-items: center; gap: 10px;
}
.p4 .tools-label::before { content: ''; display: block; width: 20px; height: 2px; background: #FF0000; flex-shrink: 0; }
.p4 .tools-heading { font-family: 'Raleway', sans-serif; font-size: clamp(22px, 2.5vw, 30px); font-weight: 800; color: #0f1117; margin-bottom: 32px; letter-spacing: -0.01em; }
.p4 .tools-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.p4 .tools-table th { background: #1e2636; color: #ffffff; padding: 12px 16px; text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.p4 .tools-table td { padding: 14px 16px; border-bottom: 1px solid #e2e0db; color: #3d3f4a; vertical-align: top; }
.p4 .tools-table tr:nth-child(even) td { background: #F4F5F7; }
.p4 .tools-table tr:hover td { background: #e8f0f8; }
.p4 .tools-table .td-name { font-weight: 700; color: #0f1117; }
.p4 .tools-table .td-fit { font-size: 11px; font-weight: 700; padding: 2px 10px; border-radius: 20px; white-space: nowrap; display: inline-block; }
.p4 .fit-high { background: #e8f5f4; color: #2d8077; }
.p4 .fit-med { background: #faeeda; color: #854F0B; }
.p4 .fit-low { background: #fff0f0; color: #cc0000; }
.p4 .mec3 { background: #1e2636; padding: 88px 0; }
.p4 .mec3__grid { display: block; }
.p4 .calc-box { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 36px 32px; }
.p4 .calc-box__title { font-family: 'Raleway', sans-serif; font-size: 20px; font-weight: 800; color: #ffffff; margin-bottom: 6px; }
.p4 .calc-box__sub { font-size: 13px; color: rgba(255,255,255,0.45); margin-bottom: 28px; line-height: 1.5; }
.p4 .calc-field { margin-bottom: 18px; }
.p4 .calc-field label { display: block; font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.6); letter-spacing: .04em; margin-bottom: 6px; }
.p4 .calc-field input { width: 100%; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.15); border-radius: 5px; padding: 10px 14px; font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 500; color: #ffffff; outline: none; transition: border-color .2s; }
.p4 .calc-field input:focus { border-color: #4ECDC4; }
.p4 .calc-field input::placeholder { color: rgba(255,255,255,0.2); }
.p4 .calc-btn { width: 100%; background: #FF0000; border: none; border-radius: 5px; padding: 13px; font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 700; color: #ffffff; cursor: pointer; margin-top: 6px; transition: background .2s; letter-spacing: .03em; }
.p4 .calc-btn:hover { background: #cc0000; }
.p4 .calc-result { margin-top: 24px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.08); display: none; }
.p4 .calc-result.visible { display: block; }
.p4 .calc-result__label { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-bottom: 8px; }
.p4 .calc-result__num { font-family: 'Raleway', sans-serif; font-size: 44px; font-weight: 800; color: #4ECDC4; line-height: 1; margin-bottom: 8px; }
.p4 .calc-result__breakdown { font-size: 12px; color: rgba(255,255,255,0.45); line-height: 1.7; }
.p4 .checklist-box { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 36px 32px; }
.p4 .checklist-groups-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 48px; }
.p4 .checklist-box__title { font-family: 'Raleway', sans-serif; font-size: 20px; font-weight: 800; color: #ffffff; margin-bottom: 6px; }
.p4 .checklist-box__sub { font-size: 13px; color: rgba(255,255,255,0.45); margin-bottom: 28px; line-height: 1.5; }
.p4 .checklist-group { margin-bottom: 22px; }
.p4 .checklist-group__name { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #4ECDC4; margin-bottom: 10px; }
.p4 .chk-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 8px; cursor: pointer; }
.p4 .chk-item:last-child { margin-bottom: 0; }
.p4 .chk-item input[type="checkbox"] { display: none; }
.p4 .chk-box { width: 18px; height: 18px; border: 2px solid rgba(255,255,255,0.2); border-radius: 3px; flex-shrink: 0; margin-top: 2px; transition: all .15s; display: flex; align-items: center; justify-content: center; font-size: 11px; color: transparent; }
.p4 .chk-item.checked .chk-box { background: #4ECDC4; border-color: #4ECDC4; color: #1e2636; }
.p4 .chk-text { font-size: 13px; color: rgba(255,255,255,0.6); line-height: 1.4; transition: color .15s; }
.p4 .chk-item.checked .chk-text { color: rgba(255,255,255,0.35); text-decoration: line-through; }
.p4 .checklist-progress { margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.06); }
.p4 .checklist-progress__bar-wrap { background: rgba(255,255,255,0.08); border-radius: 20px; height: 6px; overflow: hidden; margin-bottom: 8px; }
.p4 .checklist-progress__bar { height: 100%; background: #4ECDC4; border-radius: 20px; transition: width .3s; width: 0%; }
.p4 .checklist-progress__label { font-size: 12px; color: rgba(255,255,255,0.4); }
.p4 .checklist-progress__label strong { color: #4ECDC4; font-weight: 700; }
.p4 .steps { background: #ffffff; padding: 88px 0; }
.p4 .steps__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-bottom: 48px; }
.p4 .step { position: relative; }
.p4 .step__connector { position: absolute; top: 22px; left: calc(100% - 16px); right: calc(-100% + 16px); height: 2px; background: linear-gradient(90deg, #4ECDC4, rgba(78,205,196,0.2)); z-index: 0; }
.p4 .step:last-child .step__connector { display: none; }
.p4 .step__num { width: 44px; height: 44px; border-radius: 50%; background: #1e2636; display: flex; align-items: center; justify-content: center; font-family: 'Raleway', sans-serif; font-size: 18px; font-weight: 800; color: #4ECDC4; margin-bottom: 18px; position: relative; z-index: 1; }
.p4 .step__name { font-size: 15px; font-weight: 700; color: #0f1117; margin-bottom: 8px; line-height: 1.3; }
.p4 .step__desc { font-size: 13px; color: #7a7d8a; line-height: 1.6; }
.p4 .step__time { display: inline-flex; align-items: center; gap: 5px; margin-top: 12px; font-size: 11px; font-weight: 600; color: #1e2636; background: #F4F5F7; padding: 4px 10px; border-radius: 20px; }
.p4 .inline-art { background: #F4F5F7; border-radius: 8px; padding: 24px 28px; display: flex; align-items: center; gap: 24px; border-left: 4px solid #4ECDC4; transition: background .2s; }
.p4 .inline-art:hover { background: #eaebee; }
.p4 .inline-art__badge { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #4ECDC4; background: rgba(78,205,196,0.12); padding: 3px 10px; border-radius: 20px; flex-shrink: 0; }
.p4 .inline-art__title { font-size: 15px; font-weight: 700; color: #0f1117; margin-bottom: 4px; }
.p4 .inline-art__desc { font-size: 13px; color: #7a7d8a; line-height: 1.5; }
.p4 .inline-art__arrow { font-size: 20px; color: #1e2636; margin-left: auto; flex-shrink: 0; font-weight: 700; }
.p4 .final { background: #F4F5F7; padding: 88px 0 80px; }
.p4 .final__label { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #FF0000; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.p4 .final__label::before { content: ''; display: block; width: 24px; height: 2px; background: #FF0000; }
.p4 .final__title { font-family: 'Raleway', sans-serif; font-size: clamp(30px, 4vw, 48px); font-weight: 800; line-height: 1.1; color: #0f1117 !important; margin-bottom: 20px; }
.p4 .final__body { font-size: 17px; color: #3d3f4a !important; max-width: 480px; margin-bottom: 40px; font-weight: 300; line-height: 1.7; }
.p4 .final__note { font-size: 12px; color: #7a7d8a; margin-top: 18px; }
@media (prefers-color-scheme: dark) {
.p4 .intro { background: #ffffff !important; }
.p4 .intro__quote p { color: #0f1117 !important; }
.p4 .intro__body p { color: #3d3f4a !important; }
.p4 .mec2 { background: #F4F5F7 !important; }
.p4 .mec2__intro p { color: #3d3f4a !important; }
.p4 .bn { background: #ffffff !important; }
.p4 .bn__name { color: #0f1117 !important; }
.p4 .bn__stat { color: #1e2636 !important; }
.p4 .bn__desc { color: #7a7d8a !important; }
.p4 .tools-heading { color: #0f1117 !important; }
.p4 .tools-table td { color: #3d3f4a !important; }
.p4 .tools-table .td-name { color: #0f1117 !important; }
.p4 .steps { background: #ffffff !important; }
.p4 .step__name { color: #0f1117 !important; }
.p4 .step__desc { color: #7a7d8a !important; }
.p4 .step__time { color: #1e2636 !important; background: #F4F5F7 !important; }
.p4 .inline-art { background: #F4F5F7 !important; }
.p4 .inline-art:hover { background: #eaebee !important; }
.p4 .inline-art__title { color: #0f1117 !important; }
.p4 .inline-art__desc { color: #7a7d8a !important; }
.p4 .inline-art__arrow { color: #1e2636 !important; }
.p4 .final { background: #F4F5F7 !important; }
.p4 .final__title { color: #0f1117 !important; }
.p4 .final__body { color: #3d3f4a !important; }
.p4 .final__note { color: #7a7d8a !important; }
}
@media (max-width: 1024px) {
.p4 .hero__inner { grid-template-columns: 1fr; gap: 48px; }
.p4 .hero__visual { max-width: 480px; }
.p4 .stages-grid { grid-template-columns: repeat(2, 1fr); }
.p4 .myth-grid { grid-template-columns: 1fr; }
.p4 .mec3__grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
.p4 .hero { padding: 72px 0 60px; }
.p4 .wrap, .p4 .wrap--narrow { padding: 0 24px; }
.p4 .art-grid { grid-template-columns: 1fr; }
.p4 .coming-grid { grid-template-columns: repeat(2, 1fr); }
.p4 .statband__inner { grid-template-columns: 1fr; }
.p4 .stat + .stat::before { display: none; }
.p4 .stat { padding: 30px 24px; border-top: 1px solid rgba(255,0,0,0.15); }
.p4 .stat:first-child { border-top: none; }
.p4 .intro__body { grid-template-columns: 1fr; gap: 0; }
.p4 .bottleneck-grid { grid-template-columns: 1fr; }
.p4 .steps__grid { grid-template-columns: 1fr 1fr; gap: 24px; }
.p4 .step__connector { display: none; }
.p4 .stages-grid { grid-template-columns: 1fr; }
.p4 .myth { grid-template-columns: 1fr; }
.p4 .myth__false { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); }
.p4 .final-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) {
.p4 .coming-grid { grid-template-columns: 1fr; }
.p4 .steps__grid { grid-template-columns: 1fr; }
.p4 .hero__cta { flex-direction: column; }
.p4 .btn-red, .p4 .btn-outline-dark { text-align: center; justify-content: center; }
}
HRscore · Baza Wiedzy
Strategia rekrutacji,nie improwizacja.
Kiedy nie masz procesu, płacisz dwa razy: raz za złe zatrudnienie, drugi raz za zastąpienie go. Ten przewodnik pokazuje, jak zbudować rekrutację opartą na danych — od pierwszego briefu do podpisanej umowy.
Typowy czas procesu rekrutacyjnego
Brief stanowiska
1–3 dni często pomijany
Sourcing kandydatów
7–14 dni główny bottleneck
Screening & selekcja
5–10 dni
Rozmowy kwalifikacyjne
7–21 dni 2–4 rundy
Onboarding
30–90 dni do pełnej produktywności
58% polskich firm nie ma udokumentowanego procesu rekrutacyjnego — każdy hiring manager robi to inaczej
3,4× tyle razy droższe jest złe zatrudnienie niż dłuższy, ustrukturyzowany proces rekrutacji (SHRM 2023)
27 dni o tyle dłużej trwa rekrutacja bez briefu stanowiska — kandydat B jest zatrudniany zamiast kandydata A
Większość firm nie ma problemu z rekrutacją — ma problem z procesem rekrutacji. Bez ustrukturyzowanego pipeline'u każda rekrutacja zaczyna się od zera, kosztuje więcej i kończy się gorzej.
Strategia rekrutacji to nie ogłoszenie na LinkedIn i czekanie. To zaprojektowanie każdego etapu: od zdefiniowania profilu kandydata przez wybór kanałów sourcingowych, po strukturę rozmów i kryteria decyzji. Firmy z udokumentowanym procesem obsadzają stanowiska o 40% szybciej i z dwukrotnie wyższym wskaźnikiem retencji po 12 miesiącach.
Z perspektywy CEO to kwestia P&L — każdy dzień wakatu na stanowisku key-account managera to realny koszt utraconych przychodów. Z perspektywy HR Managera to kwestia skalowalności: proces działa niezależnie od tego, kto akurat prowadzi rekrutację.
Na tej stronie zebraliśmy wszystko, co wiemy o budowaniu strategii rekrutacji opartej na danych: artykuły z klastra, cztery etapy procesu, najczęstsze bottlenecki i narzędzia, które rzeczywiście pomagają — bez marketingowych haseł.
Jedna zasada, którą stosujemy w każdej rekrutacji: jeśli nie możesz opisać swojego procesu w 10 punktach, nie masz procesu. Masz intuicję. A intuicja jest kosztowna, gdy rynek kandydatów jest ciasny i nie ma miejsca na błędy.
Klaster artykułów
Baza wiedzy: Strategia rekrutacji
Kolejne artykuły w przygotowaniu
Employer Value Proposition a skuteczność sourcingu: co kandydaci sprawdzają przed aplikacją
Wkrótce
Rekrutacja masowa vs. executive search — jak dostosować strategię do stanowiska
Wkrótce
Jak zbudować pulę talentów i skrócić czas przyszłej rekrutacji o połowę
Wkrótce
Negocjacje oferty: co robi różnicę między accept a decline — analiza procesów
Wkrótce
Anatomia procesu
4 etapy skutecznej rekrutacji
Każdy skuteczny proces rekrutacyjny przechodzi przez cztery fazy. Firmy bez dokumentacji pomijają fazę pierwszą i trzecią — i płacą za to Time-to-Hire dłuższym o 3–4 tygodnie oraz wyższym odsetkiem złych zatrudnień.
01 Definicja & Brief
Profil kompetencji i zachowań Budżet i widełki wynagrodzenia Kryteria must-have vs. nice-to-have Harmonogram i deadline decyzji Panel oceniający i role w procesie 1–3 dni czas trwania
02 Sourcing & Screening
Wybór kanałów sourcingowych Konstrukcja ogłoszenia i outreach Screening CV według scorecarda Kwalifikacja telefoniczna (15 min) Aktualizacja pipeline w ATS 7–14 dni czas trwania
03 Ocena & Wywiady
Ustrukturyzowany wywiad kompetencyjny Zadanie / case study (opcjonalnie) Spotkanie z hiring managerem Ocena kulturowa i team fit Scorecard po każdej rundzie 10–21 dni czas trwania
04 Decyzja & Oferta
Debriefing i decyzja panelu Przygotowanie oferty (package) Negocjacje warunków Feedback dla odrzuconych kandydatów Pre-boarding do dnia startu 3–7 dni czas trwania
Mity vs. Fakty
Mit Więcej CV = lepsza rekrutacja. Szersze ogłoszenie przyciągnie lepszych kandydatów.
Fakt Zbyt szeroki profil zwiększa czas screeningu o 60% bez poprawy jakości zatrudnień. Precyzyjny brief skraca lejek i podnosi trafność decyzji.
Źródło: LinkedIn Talent Solutions 2024
Mit Dobry rekruter nie potrzebuje procesu — działa instynktem i doświadczeniem.
Fakt Ustrukturyzowany wywiad ma trafność predykcyjną 51% vs. 14% dla swobodnej rozmowy. Intuicja systematycznie przegrywa ze scorecardem.
Źródło: Schmidt & Hunter Meta-analysis
Mit Szybka rekrutacja to zawsze ryzyko. Dobra rekrutacja musi trwać długo.
Fakt Firmy z udokumentowanym procesem obsadzają stanowiska 40% szybciej — właśnie dlatego, że nie zaczynają za każdym razem od zera. Prędkość jest wynikiem procesu, nie jego wrogiem.
Źródło: SHRM Talent Acquisition Benchmarking 2023
Mit Małe firmy nie potrzebują formalnej strategii rekrutacji — wystarczy ogłoszenie i rozmowa.
Fakt MŚP ponoszą proporcjonalnie wyższy koszt złego zatrudnienia niż korporacje — jeden nieudany hire w 20-osobowej firmie to często 8–12% rocznego budżetu HR. Proces chroni właśnie wtedy, gdy zasoby są ograniczone.
Źródło: PARP Raport MŚP 2023
Diagnoza procesu
Gdzie twój pipeline traci kandydatów?
Bottleneck to miejsce w procesie, gdzie kandydaci czekają zbyt długo, wypadają bez powodu lub podejmują decyzję o rezygnacji. Badanie własnego pipeline'u zaczyna się od jednego pytania: ile czasu mija między każdym etapem — i dlaczego?
Krytyczny Czas odpowiedzi po aplikacji
5–14 dni
Rynek kandydatów IT i sprzedaży odpowiada na oferty równolegle. Jeśli kontaktujesz się po 2 tygodniach, najlepsi kandydaci są już w procesie u konkurencji.
Rozwiązanie Automatyczne potwierdzenie w <24h, kwalifikacja telefoniczna w 48–72h od aplikacji.
Krytyczny Brak decyzyjności hiring managera
+8 dni
Gdy hiring manager nie ma zablokowanych slotów w kalendarzu na wywiady, kandydaci czekają — i dostają ofertę gdzie indziej. Rekrutacja to projekt, nie zadanie między zadaniami.
Rozwiązanie SLA wewnętrzny: decyzja po każdym etapie max w 48h od ostatniej rozmowy.
Wysoki Zbyt wiele rund rozmów
4+ rundy
Firmy z 4+ rundami tracą 35% kandydatów między 3. a 4. rozmową. Każda dodatkowa runda powinna być uzasadniona konkretnym pytaniem, na które wcześniejsze etapy nie odpowiedziały.
Rozwiązanie Max 3 etapy z jasno zdefiniowanym celem każdego. Case study zamiast 4. rozmowy.
Wysoki Brak feedbacku dla kandydatów
72% firm
72% kandydatów nie otrzymuje feedbacku po odrzuceniu. To nie tylko kwestia kultury — to kwestia reputacji. Kandydat z feedbackiem poleca firmę mimo odrzucenia w 58% przypadków.
Rozwiązanie Szablon feedbacku oparty na scorecardzie. Wysyłka w 5 dni od decyzji.
Średni Niespójne kryteria oceny
61% firm
Gdy każdy hiring manager ocenia inaczej, decyzje są efektem negocjacji, nie danych. Wynik: zatrudnienia oparte na sympatiach, nie kompetencjach.
Rozwiązanie Wspólna scorecard z wagami kryteriów przed startem każdej rekrutacji.
Do optymalizacji Zbyt wąskie kanały sourcingu
1–2 kanały
Firmy opierające się tylko na LinkedIn tracą dostęp do kandydatów pasywnych (68% rynku), którzy są najwyższej jakości — ale nie szukają aktywnie ofert.
Rozwiązanie Mix: LinkedIn outreach + program poleceń + ATS z pulą talentów. Testuj i mierz CPH.
Polecany artykuł
Bottlenecks w rekrutacji – jak działa wąskie gardło procesu [CHECKLISTA]
Zdiagnozuj, gdzie twój proces traci kandydatów — z checklistą do samodzielnej diagnozy pipeline'u.
→
Narzędzia do użycia dziś
Policz koszt — zanim zaczniesz rekrutować
Checklist procesu rekrutacyjnego
Zaznacz elementy, które masz wdrożone. Wynik pokaże, gdzie twój proces ma luki.
Faza 1 — Brief
✓ Pisemny profil kandydata z kryteriami must-have / nice-to-have
✓ Zatwierdzony budżet wynagrodzenia przed startem rekrutacji
✓ Ustalony panel oceniający i role (kto decyduje)
Faza 2 — Sourcing
✓ Minimum 3 kanały sourcingowe przetestowane per stanowisko
✓ Odpowiedź do kandydata w ciągu 48h od aplikacji
Faza 3 — Ocena
✓ Wspólna scorecard wypełniana po każdej rozmowie
✓ Max 3 etapy rozmów z jasno zdefiniowanym celem każdego
Faza 4 — Decyzja
✓ SLA wewnętrzny: decyzja w max 48h po ostatnim etapie
✓ Pisemny feedback dla odrzuconych kandydatów (w 5 dni)
Zostań na bieżąco
Otrzymuj nowe artykuły i analizy HR wprost na skrzynkę.
Co dwa tygodnie — konkretna wiedza o rekrutacji, analityce HR i zarządzaniu ludźmi. Bez spamu.
@import url("https://assets.mlcdn.com/fonts.css?version=1779867");
.ml-form-embedSubmitLoad{display:inline-block;width:20px;height:20px;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}.ml-form-embedSubmitLoad:after{content:" ";display:block;width:11px;height:11px;margin:1px;border-radius:50%;border:4px solid #fff;border-color:#ffffff #ffffff #ffffff transparent;animation:ml-form-embedSubmitLoad 1.2s linear infinite;}@keyframes ml-form-embedSubmitLoad{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}#mlb2-41937932.ml-form-embedContainer{box-sizing:border-box;display:block;margin:0;position:static;width:100% !important;clear:both;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper{background-color:#f6f6f6;border-width:0px;border-color:transparent;border-radius:4px;border-style:solid;box-sizing:border-box;display:block !important;margin:0;padding:0;position:relative;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper.embedForm{max-width:400px;width:100%;clear:both;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody{padding:20px 0 20px;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow{margin:0 0 10px 0;width:100%;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow.ml-last-item{margin:0;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input{background-color:#ffffff !important;color:#333333 !important;border-color:#cccccc;border-radius:4px !important;border-style:solid !important;border-width:1px !important;font-family:'Poppins',sans-serif;font-size:14px !important;height:auto;line-height:21px !important;margin:0;padding:10px 10px !important;width:100% !important;box-sizing:border-box !important;max-width:100% !important;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit{margin:0 0 20px 0;float:none;clear:both;display:block;width:100%;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button{background-color:#0c0e1b !important;border:none !important;border-radius:4px !important;box-shadow:none !important;color:#ffffff !important;cursor:pointer;font-family:'Open Sans',Arial,Helvetica,sans-serif !important;font-size:14px !important;font-weight:700 !important;line-height:21px !important;height:auto;padding:10px !important;width:100% !important;box-sizing:border-box !important;text-align:center !important;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.loading{display:none;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button:hover{background-color:#333333 !important;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody{padding:20px 0 20px;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody .ml-form-successContent h4{color:#000000;font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:30px;font-weight:400;margin:0 0 10px 0;}#mlb2-41937932.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody .ml-form-successContent p{color:#000000;font-family:'Poppins',sans-serif;font-size:14px;font-weight:400;line-height:20px;margin:0 0 10px 0;}.ml-error input{border-color:red !important;}.ml-error label:first-child{color:#ff0000 !important;}@media only screen and (max-width:400px){.ml-form-embedWrapper.embedDefault,.ml-form-embedWrapper.embedPopup{width:100% !important;}}
function ml_webform_success_41937932(){var $=ml_jQuery||jQuery;$('.ml-subscribe-form-41937932 .row-success').show();$('.ml-subscribe-form-41937932 .row-form').hide();}
fetch("https://assets.mailerlite.com/jsonp/1443346/forms/188807374426867079/takel")
Chcesz porozmawiać o swojej rekrutacji? Umów bezpłatną sesję →
HRscore — Baza wiedzy
Obszary które eksplorujemy na blogu
Analityka i KPI
Mierzenie rekrutacji, dashboardy, raporty dla zarządu
Strategia rekrutacji Jesteś tutaj
Procesy, bottlenecki, onboarding, harmonogramy
Employer Branding i retencja
EVP, kultura, satysfakcja, rotacja
AI i narzędzia HR
Automatyzacja sourcingu, screening, nowe technologie
(function() {
function hrsBleed() {
var p4 = document.querySelector('.p4');
if (!p4) return;
var rect = p4.getBoundingClientRect();
var leftOffset = rect.left;
var rightOffset = window.innerWidth - rect.right;
var sections = p4.querySelectorAll('section.full');
sections.forEach(function(s) {
s.style.marginLeft = '-' + leftOffset + 'px';
s.style.marginRight = '-' + rightOffset + 'px';
s.style.width = 'calc(100% + ' + (leftOffset + rightOffset) + 'px)';
});
}
function hrsBleedInit() { hrsBleed(); window.addEventListener('resize', hrsBleed); }
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', hrsBleedInit); } else { hrsBleedInit(); }
window.addEventListener('load', hrsBleed);
window.hrsBleed = hrsBleed;
function covCalc() {
var rev = parseFloat(document.getElementById('hrs-cov-rev').value) || 0;
var sal = parseFloat(document.getElementById('hrs-cov-sal').value) || 0;
var days = parseFloat(document.getElementById('hrs-cov-days').value) || 0;
if (!rev || !sal || !days) return;
var lostRev = (rev / 22) * days;
var managerTime = sal * 0.15 * (days / 30);
var recCost = sal * 1.2;
var total = lostRev + managerTime + recCost;
var fmt = function(n) { return new Intl.NumberFormat('pl-PL', {style:'currency',currency:'PLN',maximumFractionDigits:0}).format(n); };
document.getElementById('hrs-cov-total').textContent = fmt(total);
document.getElementById('hrs-cov-breakdown').innerHTML = 'Utracony przychód: ' + fmt(lostRev) + '
Szacowany koszt rekrutacji: ' + fmt(recCost);
document.getElementById('hrs-cov-result').classList.add('visible');
}
function chkToggle(el) { el.classList.toggle('checked'); chkUpdate(); }
function chkUpdate() {
var total = document.querySelectorAll('.p4 .chk-item').length;
var checked = document.querySelectorAll('.p4 .chk-item.checked').length;
var pct = total ? Math.round(checked / total * 100) : 0;
var bar = document.getElementById('hrs-chk-bar');
var lbl = document.getElementById('hrs-chk-label');
if (bar) bar.style.width = pct + '%';
if (lbl) lbl.textContent = checked + ' / ' + total;
}
window.hrsCovCalc = covCalc;
window.hrsChkToggle = chkToggle;
document.addEventListener('DOMContentLoaded', chkUpdate);
if (document.readyState !== 'loading') chkUpdate();
})();