:root{color-scheme:light;--blue:#2357db;--ink:#24272d;--muted:#7c828c}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;place-items:center;padding:48px 28px;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.card{width:100%;max-width:620px}.signature{display:flex;align-items:center;font-size:24px;font-weight:750;letter-spacing:-1.4px;line-height:1;margin-bottom:48px}.signature>span:first-child{color:var(--blue)}.rule{height:1px;background:#e9ebef;flex:1;margin-left:22px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin:0 0 15px}h1{font-size:48px;line-height:1.18;letter-spacing:-2px;font-weight:650;margin:0 0 23px}h1>span{color:var(--blue)}p{margin:0}.intro{font-size:21px;line-height:1.6;letter-spacing:-.35px}.intro strong{font-weight:550}.about{font-size:16px;line-height:1.8;color:#6c737e;margin-top:14px;max-width:500px}.experience{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 13px;font-size:11px;line-height:1.7;margin-top:28px;color:#717985}.experience>span{color:#9a9fa8;font-size:10px}nav{display:flex;align-items:center;gap:28px;margin-top:31px;padding-top:25px;border-top:1px solid #e9ebef}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.email{font-size:16px;color:var(--blue);letter-spacing:-.2px}.email span{margin-left:10px}.linkedin{font-size:12px;color:var(--muted)}.linkedin span{margin-left:4px}a:hover{text-decoration:underline;text-underline-offset:5px}.availability{font-size:10px;color:#969ca6;margin-top:18px;line-height:1.6}::selection{background:#e5edff;color:#173e99}@media(max-width:600px){body{padding:32px 26px}.signature{margin-bottom:35px;font-size:23px}h1{font-size:clamp(30px,8.4vw,42px);letter-spacing:-1.4px;margin-bottom:21px}.eyebrow{font-size:8px;letter-spacing:1.2px}.intro{font-size:19px;line-height:1.65}.about{font-size:14px;line-height:1.8;margin-top:12px}.desktop{display:none}.experience{margin-top:23px;font-size:10px;gap:3px 10px}nav{align-items:start;flex-direction:column;gap:17px;margin-top:24px;padding-top:22px}.email{font-size:16px}.linkedin{font-size:12px}.availability{margin-top:18px;font-size:9px}}@media(max-height:600px) and (min-width:601px){body{padding-block:24px}.signature{margin-bottom:25px}h1{font-size:42px;margin-bottom:16px}.experience{margin-top:18px}nav{margin-top:20px;padding-top:18px}}

/* A small, text-only writing shelf. */
.writing{margin-top:40px;border-top:1px solid #e9ebef;padding-top:24px}.writing-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:6px}.writing-heading h2{font-size:12px;font-weight:500;margin:0;color:var(--ink)}.writing-heading>span{font-size:10px;color:#999fa9}.post-list{list-style:none;padding:0;margin:0}.post-list li+li{border-top:1px solid #f0f1f3}.post-list a{display:block;padding:15px 0;text-decoration:none}.post-title{display:flex;justify-content:space-between;gap:15px;font-size:15px;font-weight:500;line-height:1.5;letter-spacing:-.2px}.post-arrow{font-size:14px;color:#9ca4b2;font-weight:400}.post-list a:hover .post-title,.post-list a:hover .post-arrow{color:var(--blue)}.post-meta{display:block;font-size:10px;color:#959ca7;margin-top:5px;line-height:1.6}.post-meta>span{margin:0 5px}.article-page{display:block;padding-block:65px}.article{margin:auto;max-width:620px}.back-link{font-size:12px;color:var(--muted)}.article-label{font-size:9px;color:var(--blue);letter-spacing:.8px;margin:48px 0 18px;line-height:1.8}.article h1{font-size:38px;line-height:1.25;letter-spacing:-1.2px;max-width:570px;margin-bottom:15px}.sample-note{font-size:11px;color:#9199a6;padding-bottom:25px;margin-bottom:28px;border-bottom:1px solid #e9ebef}.article-body p{font-size:16px;color:#606a79;line-height:1.9;margin-bottom:20px}.article-body h2{font-size:19px;font-weight:550;letter-spacing:-.3px;margin:31px 0 13px}.article-footer{border-top:1px solid #e9ebef;margin-top:35px;padding-top:22px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--blue)}
@media(max-width:600px){.writing{margin-top:32px;padding-top:22px}.post-title{font-size:14px}.post-list a{padding:15px 0}.post-meta{font-size:9px}.writing-heading h2{font-size:11px}.writing-heading>span{font-size:9px}.article-page{padding-top:30px}.article-label{font-size:8px;margin-top:36px}.article h1{font-size:31px}.article-body p{font-size:15px}.article-body h2{font-size:18px}}

/* Experience supports the person, rather than defining the introduction. */
.intro{max-width:570px;font-size:23px;line-height:1.5}.about{max-width:550px;font-size:15px;line-height:1.85}.experience{display:block;margin-top:29px}.experience-label{font-size:10px;color:#979da7;margin-bottom:17px}.company-logos{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:570px;min-height:34px}.company-logos img{display:block;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.43;max-width:100%;flex-shrink:0}.logo-ey{width:30px;height:33px}.logo-allegro{width:78px;height:29px}.logo-capgemini{width:106px;height:24px}.logo-codebrainers{width:105px;height:16px}
@media(max-width:600px){.intro{font-size:20px;line-height:1.6}.about{font-size:14px}.experience{margin-top:25px}.experience-label{font-size:9px;margin-bottom:17px}.company-logos{flex-wrap:wrap;justify-content:flex-start;gap:22px 26px}.logo-allegro{width:72px;height:26px}.logo-ey{width:25px;height:28px}.logo-capgemini{width:95px;height:22px}.logo-codebrainers{width:100px;height:15px}}

/* A little color and motion, without adding another layer of content. */

.rule{background:linear-gradient(90deg,#2357db55 0%,#ec8b5838 28%,#e9ebef 60%)}
h1>span{color:var(--blue)}

.email,.linkedin{transition:color .2s}.email>span,.linkedin>span,.post-arrow{display:inline-block;transition:transform .2s,color .2s}
.email:hover>span,.email:focus-visible>span,.linkedin:hover>span,.linkedin:focus-visible>span{transform:translate(2px,-2px)}
.post-list a{position:relative;border-radius:5px;transition:background-color .2s,padding .2s}
.post-list a:hover,.post-list a:focus-visible{background:#f5f7fd;padding-left:10px;padding-right:10px}
.post-list a:hover .post-arrow,.post-list a:focus-visible .post-arrow{transform:translate(2px,-2px);color:#d47749}
.writing-heading h2:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#e7804e;vertical-align:middle;margin-right:8px}
@media(prefers-reduced-motion:no-preference){
  .card:not(.article)>*{animation:arrive .6s cubic-bezier(.2,.65,.3,1) both}
  .card:not(.article)>.eyebrow{animation-delay:.04s}
  .card:not(.article)>h1{animation-delay:.08s}
  .card:not(.article)>.intro{animation-delay:.12s}
  .card:not(.article)>.about{animation-delay:.16s}
  .card:not(.article)>.experience{animation-delay:.2s}
  .card:not(.article)>nav{animation-delay:.24s}
  .card:not(.article)>.availability{animation-delay:.26s}
  .card:not(.article)>.writing{animation-delay:.3s}
}
@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}




/* Fixed-width rotating words keep the sentence steady. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.word-rotator{display:inline-grid;vertical-align:baseline;color:#000;font-weight:700}
.rotating-word{grid-area:1/1;text-align:center;white-space:nowrap;opacity:0;will-change:transform,opacity}
.word-software{opacity:1}
@media(prefers-reduced-motion:no-preference){
  .rotating-word{animation:rotate-word 9s ease-in-out infinite}
  .word-data{animation-delay:-6s}
  .word-people{animation-delay:-3s}
}
@keyframes rotate-word{
  0%,26%{opacity:1;transform:translateY(0)}
  32%{opacity:0;transform:translateY(-.3em)}
  33%,94%{opacity:0;transform:translateY(.3em)}
  100%{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .word-rotator{display:inline;font-weight:700}
  .rotating-word{display:inline;opacity:1;will-change:auto}
  .word-software:after{content:', '}
  .word-data:after{content:', and '}
}


.about-link{display:inline-block;font-size:12px;line-height:1.7;color:var(--blue);margin-top:14px;scroll-margin-top:30px}
.about-link>span{display:inline-block;margin-left:5px;transition:transform .2s}
.about-link:hover>span{transform:translateX(3px)}
.about-page h1{margin-bottom:30px}
@media(max-width:600px){.about-link{font-size:11px}.about-page h1{margin-bottom:25px}}

/* A clear next step, with a small and welcoming form. */
.contact-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:44px;padding:12px 20px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:5px;font:600 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;transition:background .2s,transform .2s}
.contact-cta:hover{background:#1746bc;color:#fff;text-decoration:none;transform:translateY(-1px)}
.contact-cta:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.contact-cta>span{display:inline-block;font-size:18px;line-height:1;transition:transform .2s}.contact-cta:hover>span{transform:translate(2px,-2px)}
.contact-page h1{margin-bottom:18px}.contact-intro{font-size:16px;line-height:1.8;color:#6c737e;max-width:550px}
.contact-form{margin-top:31px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:21px}
.form-field label{font-size:12px;line-height:1.6;font-weight:500;color:#414853}
.form-field input,.form-field textarea{width:100%;padding:13px 14px;border:1px solid #dce1e9;border-radius:5px;background:#fff;color:var(--ink);font:400 14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:47px}
.form-field textarea{resize:vertical;min-height:150px}.form-field input::placeholder,.form-field textarea::placeholder{color:#969da8;font-size:12px}
.form-field input:focus,.form-field textarea:focus{border-color:var(--blue);outline:2px solid #2357db15;outline-offset:1px}
.form-note{font-size:10px;line-height:1.8;color:#9299a5;margin-top:15px;max-width:480px}.form-note a{text-decoration:underline;text-underline-offset:3px}
.contact-alternatives{margin-top:30px;padding-top:23px;border-top:1px solid #e9ebef;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:11px;color:var(--blue)}.contact-alternatives>p{width:100%;color:#959ca8;font-size:10px}
@media(max-width:600px){nav[aria-label="Contact Mikołaj"]{flex-direction:row;align-items:center;gap:25px}.contact-intro{font-size:14px}.form-pair{grid-template-columns:1fr;gap:0}.contact-form{margin-top:26px}.contact-page h1{font-size:31px}.form-field{margin-bottom:18px}.contact-cta{padding:12px 18px;font-size:12px}}

@media(max-width:600px){.form-field input,.form-field textarea{font-size:16px}}

/* A quiet language switch, in the same place on every page. */
.card{position:relative}.signature{padding-right:90px}
nav.language-switch{position:absolute;z-index:2;top:0;right:0;display:inline-flex;flex-direction:row;align-items:center;gap:8px;margin:0;padding:0;min-height:24px;border:0;font-size:10px;line-height:1.5;color:#8b929f;letter-spacing:.4px}
main.card>nav.language-switch{animation:none}.language-switch [aria-current="page"]{color:var(--ink);font-weight:650}.language-divider{color:#d1d6df}.language-switch a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
html[lang="pl"] .word-rotator{font-weight:700}
@media(max-width:600px){nav.language-switch{font-size:10px;gap:7px}.signature{padding-right:78px}html[lang="pl"] .eyebrow{font-size:7px;letter-spacing:1px}}

@media(prefers-reduced-motion:reduce){html[lang="pl"] .word-data:after{content:' i '}}

@media(max-width:600px){.card>nav:not(.language-switch){flex-direction:row;align-items:center;gap:25px}}

/* A portrait beside the story, stacked above it on smaller screens. */
.about-page .article-body{display:flow-root}
.about-portrait{float:right;width:180px;margin:4px 0 20px 28px}
.about-portrait img{display:block;width:100%;height:auto;border-radius:7px}
@media(max-width:600px){.about-portrait{float:none;width:180px;max-width:100%;margin:0 0 25px}}
