:root {
  color-scheme: dark;
  --display: 'Avenir Next', 'Segoe UI', sans-serif;
  --body: 'Segoe UI', Arial, sans-serif;
  --bg: #101313;
  --surface: #101313;
  --text: #f0f2ec;
  --muted: #a1aaa5;
  --accent: #88ebc9;
  --line: #2b3330;
  --header-bg: #101313f2;
  --brand-border: #54645c;
  --nav-text: #b7beb9;
  --subtle-text: #78847c;
  --language-text: #9ba69f;
  --control-border: #56665c;
  --on-accent: #10221a;
  --accent-hover: #b4f9df;
  --accent-glow: #88ebc94a;
  --heading-muted: #89968e;
  --note-text: #a1afa6;
  --visual-glow: #1e3b2b44;
  --visual-caption: #9aaea3;
  --strip-label: #9aa79e;
  --technology-text: #b9c1bb;
  --card-hover: #19221c;
  --card-number: #8b9c90;
  --tag-text: #acbdb2;
  --process-bg: #141817;
  --process-line: #405248;
  --panel-start: #1a251e;
  --panel-end: #131715;
  --panel-caption: #b2c4b7;
  --panel-line: #304035;
  --stat-unit: #9eafa4;
  --stat-text: #b5bfb8;
  --panel-footer: #a4b4a8;
  --contact-border: #385746;
  --contact-glow: #214a32;
  --contact-middle: #17291f;
  --contact-base: #19221b;
  --contact-text: #b5c3b9;
  --contact-email: #c0cfc5;
  --contact-decoration: #88ebc908;
  --footer-text: #a3afa5;
  --svg-board-highlight: #244b44;
  --svg-board-shadow: #122823;
  --svg-glass: #72e4c2;
  --svg-grid: #7cb2a2;
  --svg-shadow: #71e7bf;
  --svg-guide: #6be4bd;
  --svg-board-edge: #10201c;
  --svg-board-outline: #417665;
  --svg-board-top-outline: #76d6b5;
  --svg-trace: #6dcca8;
  --svg-via: #83e6c1;
  --svg-chip-base: #101a17;
  --svg-chip-edge: #649d87;
  --svg-chip-top: #263c34;
  --svg-chip-outline: #9dd8bd;
  --svg-chip-accent: #73e1b9;
  --svg-component: #172d25;
  --svg-component-edge: #659c82;
  --svg-connector: #bfccaf;
  --svg-system-base: #17302a;
  --svg-system-edge: #5bad91;
  --svg-system-outline: #7de5bf;
  --svg-system-accent: #8ef0cd;
  --svg-system-check: #aaf8db;
  --svg-app-outline: #9beacf;
  --svg-app-guide: #86dabd;
  --svg-app-panel: #213b32;
  --svg-app-panel-edge: #79bca2;
  --svg-app-header: #88ecc7;
  --svg-app-trace: #8deac7;
  --svg-app-detail: #94e8c6;
  --svg-signal: #b0f6d9;
  --svg-leader: #73958a;
  --svg-label: #abc3b8;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f5f6f2;
  --surface: #ffffff;
  --text: #172c26;
  --muted: #50645b;
  --accent: #006b55;
  --line: #d1ddd4;
  --header-bg: #f5f6f2f2;
  --brand-border: #8ba99a;
  --nav-text: #425d50;
  --subtle-text: #586d61;
  --language-text: #53695d;
  --control-border: #8aa395;
  --on-accent: #ffffff;
  --accent-hover: #005642;
  --accent-glow: #006b5526;
  --heading-muted: #61786a;
  --note-text: #536b5e;
  --visual-glow: #8ecbb43d;
  --visual-caption: #4c6859;
  --strip-label: #51695a;
  --technology-text: #3d594a;
  --card-hover: #eaf2eb;
  --card-number: #597061;
  --tag-text: #496454;
  --process-bg: #edf1eb;
  --process-line: #98b2a0;
  --panel-start: #e5efe6;
  --panel-end: #f7faf4;
  --panel-caption: #44624f;
  --panel-line: #c1d4c5;
  --stat-unit: #4f6b59;
  --stat-text: #486250;
  --panel-footer: #4b6855;
  --contact-border: #abcbb7;
  --contact-glow: #d0e9d8;
  --contact-middle: #e3f0e5;
  --contact-base: #edf5eb;
  --contact-text: #46624e;
  --contact-email: #2d533e;
  --contact-decoration: #006b5509;
  --footer-text: #536c5c;
  --svg-board-highlight: #244b44;
  --svg-board-shadow: #122823;
  --svg-glass: #08735b;
  --svg-grid: #347a62;
  --svg-shadow: #71e7bf;
  --svg-guide: #28765c;
  --svg-board-edge: #10201c;
  --svg-board-outline: #417665;
  --svg-board-top-outline: #34795e;
  --svg-trace: #6dcca8;
  --svg-via: #83e6c1;
  --svg-chip-base: #101a17;
  --svg-chip-edge: #649d87;
  --svg-chip-top: #263c34;
  --svg-chip-outline: #9dd8bd;
  --svg-chip-accent: #73e1b9;
  --svg-component: #172d25;
  --svg-component-edge: #659c82;
  --svg-connector: #bfccaf;
  --svg-system-base: #17302a;
  --svg-system-edge: #5bad91;
  --svg-system-outline: #7de5bf;
  --svg-system-accent: #8ef0cd;
  --svg-system-check: #aaf8db;
  --svg-app-outline: #216e53;
  --svg-app-guide: #216e53;
  --svg-app-panel: #213b32;
  --svg-app-panel-edge: #79bca2;
  --svg-app-header: #88ecc7;
  --svg-app-trace: #8deac7;
  --svg-app-detail: #206b50;
  --svg-signal: #087356;
  --svg-leader: #527660;
  --svg-label: #385f48;
}

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--on-accent)}.shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:var(--header-bg);backdrop-filter:blur(16px)}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:-.8px}.brand-light{font-weight:400}.brand-mark{border:1px solid var(--brand-border);border-radius:7px;font-size:19px;width:39px;height:37px;display:flex;align-items:center;justify-content:center;color:var(--accent);letter-spacing:-2px}.nav-links{display:flex;gap:32px;color:var(--nav-text);font-size:13px}.nav a:hover,.text-link:hover{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:30px}.language{display:flex;gap:8px;font-size:11px;align-items:center;color:var(--subtle-text)}.language button{background:none;border:0;color:var(--language-text);padding:6px 0;font-size:11px}.language button[aria-pressed=true]{color:var(--text);font-weight:700}.nav-contact{font-size:13px;border:1px solid var(--control-border);border-radius:5px;padding:10px 18px;display:flex;gap:24px;align-items:center}.nav-contact span:last-child{color:var(--accent)}.menu-toggle{display:none}.skip-link{position:fixed;top:-100px;left:20px;background:var(--accent);color:var(--on-accent);padding:12px;z-index:20}.skip-link:focus{top:12px}.hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:16px;padding-block:88px 70px;min-height:720px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:10px;margin:0 0 26px;line-height:1.6}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent-glow);flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:500}h1{font-size:clamp(42px,4.8vw,70px);line-height:1.08;letter-spacing:-3.5px;margin-bottom:28px}.accent{color:var(--accent)}.muted{color:var(--heading-muted)}.hero-description{max-width:440px;font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:32px}.hero-buttons{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:5px;padding:15px 22px;font-weight:600;font-size:13px;transition:background .2s,transform .2s}.primary{background:var(--accent);color:var(--on-accent)}.primary:hover{background:var(--accent-hover);transform:translateY(-2px)}.button span:last-child{font-size:20px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:12px;font-weight:500;transition:color .2s}.hero-note{margin-top:42px;display:flex;gap:10px;color:var(--note-text);font-size:10px;letter-spacing:.3px}.tiny-cross{color:var(--accent)}.product-visual{position:relative;min-width:0;background:radial-gradient(ellipse at 50% 50%,var(--visual-glow),transparent 67%);padding:22px 0}.visual-top,.visual-bottom{display:flex;justify-content:space-between;gap:12px;font-family:monospace;font-size:8px;letter-spacing:1px;color:var(--visual-caption)}.visual-top{padding:0 20px}.visual-bottom{padding:0 20px}.visual-bottom>span:first-child{display:flex;align-items:center;gap:8px}.visual-bottom .status-dot{width:4px;height:4px}.product-svg{display:block;width:100%;height:auto;overflow:visible}.app-layer{animation:float 7s ease-in-out infinite}.system-layer{animation:float 7s ease-in-out -2s infinite}.signal{animation:pulse 3s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px)}}@keyframes pulse{50%{opacity:.3}}.technology-strip{border-block:1px solid var(--line)}.technology-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:36px}.strip-label{font-size:9px;letter-spacing:1.5px;color:var(--strip-label);max-width:145px}.technologies{display:flex;align-items:center;justify-content:space-between;gap:35px;flex:1;max-width:860px;flex-wrap:wrap;font-family:var(--display);color:var(--technology-text);font-size:17px;font-weight:500}.section{padding-block:110px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:18px}h2{font-size:clamp(30px,3.2vw,45px);line-height:1.2;letter-spacing:-1.8px;margin-bottom:0}.section-intro{max-width:365px;color:var(--muted);font-size:14px;margin:0;line-height:1.85}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.expertise-card{padding:32px;background:var(--surface);transition:background .25s}.expertise-card:hover{background:var(--card-hover)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px;color:var(--card-number);font-family:monospace;font-size:10px}.card-icon{font-size:29px;line-height:1;color:var(--accent)}.code-icon{font-size:22px}.expertise-card h3{font-size:19px;letter-spacing:-.6px;margin-bottom:14px}.expertise-card p{font-size:13px;color:var(--muted);line-height:1.85;margin-bottom:28px}.card-tags{font-family:monospace;font-size:9px;letter-spacing:.5px;color:var(--tag-text)}.process-section{border-block:1px solid var(--line);background:var(--process-bg)}.process-grid{padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin:60px 0 0}.process-grid li{position:relative;border-top:1px solid var(--process-line);padding-top:26px}.process-grid li:before{content:'';position:absolute;top:-3px;left:0;background:var(--accent);width:5px;height:5px;border-radius:50%}.step-number{font:12px monospace;color:var(--accent)}.process-grid h3{font-size:18px;margin:16px 0 12px}.process-grid p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.about-section{display:grid;grid-template-columns:1.2fr 1fr;gap:130px;align-items:center}.about-copy h2{margin-bottom:26px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9}.about-copy .text-link{margin-top:12px;color:var(--accent)}.experience-panel{border:1px solid var(--line);background:linear-gradient(120deg,var(--panel-start),var(--panel-end));padding:32px;border-radius:7px}.panel-caption{font-family:monospace;font-size:9px;letter-spacing:1.5px;color:var(--panel-caption);padding-bottom:6px}.stat{padding:24px 0;border-bottom:1px solid var(--panel-line)}.stat strong{font-family:var(--display);font-size:62px;font-weight:400;letter-spacing:-3px;line-height:1.2;color:var(--accent)}.stat strong span{font:12px var(--body);letter-spacing:0;color:var(--stat-unit)}.stat p{font-size:12px;color:var(--stat-text);margin:8px 0 0}.panel-footer{display:flex;gap:12px;font-size:11px;color:var(--panel-footer);padding-top:22px}.panel-footer>span:first-child{color:var(--accent)}.contact-section{padding-bottom:80px}.contact-box{position:relative;overflow:hidden;border:1px solid var(--contact-border);border-radius:9px;padding:60px;background:radial-gradient(ellipse at 100% 100%,var(--contact-glow) 0%,var(--contact-middle) 45%,var(--contact-base) 100%)}.contact-box .eyebrow{margin-bottom:22px}.contact-box h2{font-size:clamp(32px,3.6vw,50px);position:relative;max-width:800px}.contact-box>p:not(.eyebrow){color:var(--contact-text);max-width:490px;font-size:14px;margin:22px 0 28px}.contact-email{font-size:12px;color:var(--contact-email);margin-left:24px;display:inline-block}.contact-email:hover{text-decoration:underline}.contact-decoration{position:absolute;right:24px;top:24px;width:clamp(120px,28vw,320px);height:clamp(120px,28vw,320px);color:var(--contact-decoration);pointer-events:none}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0 40px;border-top:1px solid var(--line)}.footer .brand{font-size:16px}.footer .brand-mark{width:29px;height:29px;font-size:15px}.footer p,.footer-location{font-size:10px;color:var(--footer-text);margin:0}.back-top{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:4px;color:var(--accent)}
@media(min-width:1500px){.hero{min-height:790px}}@media(max-width:1100px){.shell{width:calc(100% - 64px)}.nav-links{gap:20px}.nav-actions{gap:20px}.nav{gap:20px}h1{letter-spacing:-2.5px}.hero{padding-block:65px;min-height:650px}.hero-buttons{gap:18px}.technologies{gap:22px;font-size:14px}.about-section{gap:65px}.expertise-card{padding:25px}.footer-location{max-width:190px}.process-grid{gap:20px}}
@media(max-width:800px){.shell{width:calc(100% - 40px)}.nav{height:auto;min-height:78px;flex-wrap:wrap;padding-block:18px;gap:16px}.brand{font-size:18px}.nav-actions{margin-left:auto}.nav-contact{padding:7px 12px;gap:15px}.nav-links{order:4;flex-basis:100%;justify-content:center;padding-top:12px;border-top:1px solid var(--line)}.js .menu-toggle{display:block;border:0;background:none;color:var(--text);font-size:12px;margin-left:auto;padding:5px}.js .nav-actions{margin-left:0}.js .nav-links{display:none}.js .nav-links.is-open{display:flex}.hero{grid-template-columns:1fr;padding-top:55px;gap:20px}.hero-copy{max-width:620px}h1{font-size:clamp(44px,7.8vw,66px)}.hero-description{max-width:490px}.product-visual{max-width:520px;width:100%;margin-inline:auto;padding-top:10px}.hero-note{margin-top:28px}.technology-inner{flex-direction:column;align-items:flex-start;gap:16px;padding-block:24px}.strip-label{max-width:none}.technologies{gap:18px 30px}.section{padding-block:70px}.section-heading{display:block;margin-bottom:30px}.section-intro{margin-top:22px;max-width:520px}.expertise-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(3,1fr);gap:35px 25px;margin-top:35px}.about-section{gap:40px;grid-template-columns:1fr 1fr}.about-copy .eyebrow{font-size:9px}.experience-panel{padding:22px}.stat strong{font-size:50px}.contact-box{padding:40px}.footer{flex-wrap:wrap}.footer-location{max-width:none}.contact-email{display:block;margin:20px 0 0}}
@media(max-width:520px){.nav{gap:10px}.brand{font-size:16px;gap:8px}.brand-mark{width:31px;height:31px;font-size:17px}.nav-actions{gap:12px}.nav-contact{display:none}.language{gap:6px}.hero{padding-block:45px 35px}h1{font-size:43px;letter-spacing:-2px}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero-description{font-size:14px}.hero-buttons{gap:23px}.hero-note{font-size:9px}.visual-top,.visual-bottom{font-size:7px;padding-inline:0;letter-spacing:.6px}.section{padding-block:55px}h2{font-size:32px;letter-spacing:-1px}.expertise-grid{grid-template-columns:1fr}.expertise-card{padding:26px}.card-top{margin-bottom:20px}.expertise-card p{margin-bottom:22px}.process-grid{grid-template-columns:1fr;gap:24px}.process-grid li{padding:18px 0 0 42px}.step-number{position:absolute;left:0;top:22px}.process-grid h3{margin:0 0 8px}.process-grid p{font-size:13px}.about-section{grid-template-columns:1fr;gap:30px}.contact-box{padding:30px 23px}.contact-box h2{font-size:33px}.contact-box .eyebrow{font-size:8px}.contact-section{padding-bottom:50px}.footer{gap:20px;padding-block:26px}.footer .brand{flex-basis:75%}.footer p{order:3}.footer-location{order:4;width:100%}.back-top{order:2}.contact-decoration{right:12px;top:12px}.technologies{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.hero-copy{animation:enter .65s ease-out both}.product-visual{animation:enter .9s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}html[lang=pl] h1{font-size:clamp(38px,4.25vw,62px)}@media(max-width:800px){html[lang=pl] h1{font-size:clamp(36px,7.5vw,60px)}}@media(prefers-reduced-motion:reduce){.hero-copy,.product-visual{animation:none}}

/* Theme controls remain hidden until their event handlers are ready. */
.theme-switch[hidden] { display: none; }
.theme-switch { display: flex; align-items: center; padding: 3px; border: 1px solid var(--control-border); border-radius: 6px; gap: 2px; }
.theme-switch button { border: 0; background: transparent; color: var(--muted); border-radius: 3px; padding: 7px 9px; font-size: 11px; line-height: 1.2; white-space: nowrap; }
.theme-switch button:hover { color: var(--accent); background: var(--card-hover); }
.theme-switch button[aria-pressed="true"] { background: var(--accent); color: var(--on-accent); }
.nav { gap: 20px; }
.nav-actions { gap: 18px; }
.nav-links { gap: 22px; }
@media (min-width: 801px) and (max-width: 1100px) {
  .nav { height: auto; min-height: 92px; flex-wrap: wrap; padding-block: 15px; }
  .nav-links { order: 4; flex-basis: 100%; justify-content: center; }
  html { scroll-padding-top: 140px; }
}
@media (max-width: 520px) {
  .nav-actions, .js .nav-actions { flex-basis: 100%; justify-content: space-between; margin-left: 0; }
  .nav-links { gap: 18px; }
  html { scroll-padding-top: 150px; }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Blog lists and shared article layout. */
.blog-page { min-height: 65vh; padding-top: 150px; }
.blog-page h1 { font: 600 clamp(2.3rem, 6vw, 4.5rem)/1.1 var(--display); margin: 0 0 2rem; overflow-wrap: anywhere; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 2rem 0; }
.blog-card { border: 1px solid var(--line); padding: 24px; border-radius: 12px; min-width: 0; }
.blog-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; margin-bottom: 1rem; }
.blog-card h2 { font-size: 1.5rem; line-height: 1.3; margin: 1rem 0; overflow-wrap: anywhere; }
.blog-page time, .blog-card p, .blog-fallback { color: var(--muted); }
.blog-page p { line-height: 1.7; }
.blog-page a { color: var(--accent); text-underline-offset: 4px; }
.blog-page a:hover { text-decoration: underline; }
.blog-article { max-width: 800px; margin: auto; }
.blog-content { margin-top: 2rem; overflow-wrap: anywhere; line-height: 1.7; }
.blog-content h2, .blog-content h3 { margin: 2rem 0 1rem; line-height: 1.3; }
.blog-content p, .blog-content ul, .blog-content ol, .blog-content figure { margin: 1rem 0; }
.blog-content ul, .blog-content ol { padding-left: 1.5rem; }
.blog-content img, .blog-content video { max-width: 100%; height: auto; }
.blog-content pre { overflow: auto; padding: 1rem; background: var(--process-bg); }
.blog-content blockquote { border-left: 3px solid var(--accent); padding-left: 1rem; }
.blog-content table { display: block; max-width: 100%; overflow: auto; }
.blog-page [hidden] { display: none !important; }
@media (max-width: 800px) {
  .blog-grid { grid-template-columns: 1fr; }
  .blog-page { padding-top: 110px; }
}

/* One vector shape for diagonal arrows, independent of system fonts. */
.arrow-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  vertical-align: -0.125em;
}
/* The complete mark is outlined to preserve its proportions on every platform. */
.brand-mark { flex-shrink: 0; }
.brand-logo { display: block; width: 100%; height: 100%; }
.text-link .arrow-icon { width: 16px; height: 16px; }
.contact-decoration .arrow-icon { display: block; width: 100%; height: 100%; }
