
:root{--navy:#172e4e;--ink:#20354e;--muted:#617184;--cyan:#00a7df;--line:#dce4ec;--paper:#f4f7fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 Arial,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#087fae}img{display:block;max-width:100%;height:auto}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:650;line-height:1.16;letter-spacing:-.035em;color:var(--navy)}h1{font-size:clamp(38px,4.6vw,64px)}h2{font-size:clamp(30px,3vw,42px);margin-bottom:24px}h3{font-size:23px}p{margin-bottom:22px}.wrap{width:min(1280px,calc(100% - 80px));margin-inline:auto}.section{padding-block:85px}.eyebrow{font-size:10px;line-height:1.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:#586e86;margin-bottom:20px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cyan);vertical-align:middle;margin-right:9px}.topbar{background:var(--paper);border-bottom:1px solid var(--line);font-size:10px;color:#637489}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:31px;gap:20px}.topbar strong{margin-left:13px;color:var(--navy);font-weight:600}.top-divider{margin:0 10px;color:#9eaebb}.site-header{background:white;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.header-inner{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative}.brand,.custom-logo-link{display:block;width:185px;flex-shrink:0}.brand img,.custom-logo{width:100%;height:auto}#primary-nav{display:flex;align-items:center;gap:27px}.menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:25px;font-size:12px;font-weight:650}.menu>li{display:flex;align-items:center;gap:4px}.menu a{display:block;padding-block:25px;white-space:nowrap}.menu a:hover{color:#008abe}.submenu-toggle{border:0;background:transparent;color:var(--navy);padding:6px;font-size:16px;line-height:1}.submenu-toggle[aria-expanded=true]{color:#008abe}.sub-menu{list-style:none;padding:0;margin:0}.menu>li>.sub-menu{display:none;position:absolute;top:100%;left:0;right:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;background:white;border:1px solid var(--line);border-top:3px solid var(--cyan);padding:32px;box-shadow:0 24px 45px #1028441a;font-size:13px;max-height:calc(100vh - 150px);overflow:auto}.menu>.submenu-open>.sub-menu{display:grid}.menu>li>.sub-menu>li>a{font-size:13px;letter-spacing:.025em;font-weight:700;padding:0 0 15px;border-bottom:1px solid var(--line);white-space:normal}.menu .sub-menu .sub-menu{display:block;margin-top:10px}.menu .sub-menu .sub-menu a{padding:7px 0;font-weight:400;color:#617184;font-size:13px;white-space:normal}.menu .sub-menu .sub-menu a:hover{color:#087fae}.nav-call{background:var(--cyan);border:1px solid var(--cyan);color:#08233b;padding:13px 16px;font-size:11px;font-weight:700;white-space:nowrap;display:flex;gap:22px;align-items:center}.nav-call:hover{background:#058cbd;color:white}.menu-toggle{display:none}.skip{position:fixed;left:10px;top:-120px;z-index:100;background:var(--navy);color:#fff;padding:15px}.skip:focus{top:8px}:focus-visible{outline:3px solid #00a7df;outline-offset:5px}.engineering-hero{position:relative;overflow:hidden;background:var(--navy);color:white;padding:52px 0 28px}.engineering-hero .wrap{position:relative;z-index:1}.wave-motif{position:absolute;inset:0;pointer-events:none;opacity:.1}.wave-motif svg{width:100%;height:100%;fill:none;stroke:#60d3ef;stroke-width:.6}.hero-heading{text-align:center;margin-bottom:36px}.hero-heading .eyebrow{color:#a5c8df;margin-bottom:20px}.hero-heading h1{color:white;font-size:clamp(40px,4.6vw,62px);line-height:1.08;letter-spacing:-.035em;margin-bottom:24px}.hero-heading>p:not(.eyebrow){max-width:760px;margin:0 auto;font-size:15px;color:#cad8e5;line-height:1.8}.competence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.competence-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding:23px 15px 21px;min-height:157px;background:#233d5d;border:1px solid #3b5471;transition:background .18s,border-color .18s}.competence-card:hover{background:#2c4c70;border-color:#54c6ee;color:#fff}.line-icon{width:45px;height:45px;flex-shrink:0}.competence-card>.line-icon{color:#80d9f6;margin-bottom:15px}.competence-card h2{color:white;font-size:15px;letter-spacing:0;line-height:1.3;margin-bottom:5px}.competence-card p{font-size:10px;color:#b8cadb;line-height:1.6;margin:0}.tile-arrow{position:absolute;right:12px;top:9px;color:#81b3ce;font-size:15px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:25px;color:#acbfd2;font-size:11px}.hero-bottom>a{color:#d9edf8;border-bottom:1px solid #6a839d;padding-bottom:3px;display:flex;gap:24px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:36px}.section-head h2{margin-bottom:0}.section-head>p{max-width:330px;color:var(--muted);font-size:14px;margin:0}.text-link{display:inline-flex;gap:24px;align-items:center;font-size:12px;font-weight:650;border-bottom:1px solid #b9c9d6;padding-bottom:5px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--navy);color:white;border:1px solid var(--navy);padding:16px 21px;font-size:13px;font-weight:650;line-height:1.4}.button:hover{background:#2b4d74;color:white}.intro-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.intro-section h2{font-size:39px}.intro-section p:not(.eyebrow){font-size:14px;color:var(--muted)}.intro-section .intro-lead{font-size:20px!important;color:var(--navy)!important;line-height:1.55}.needs-section,.knowledge-section{background:var(--paper)}.needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.needs-grid>a{padding:31px;background:#fff;border-top:3px solid #00a7df;box-shadow:0 3px 20px #20344e06;display:flex;flex-direction:column;align-items:flex-start}.needs-grid>a:hover{color:inherit;box-shadow:0 8px 25px #20344e12}.mini-number{display:block;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.1em;color:#6a8095;margin-bottom:22px}.needs-grid h3{font-size:24px;margin-bottom:16px}.needs-grid p{font-size:14px;color:var(--muted);margin-bottom:28px}.needs-grid .text-link{margin-top:auto;color:#087fae}.hub-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:110px}.hub-copy>p:not(.eyebrow){font-size:15px;max-width:450px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 28px}.tags span{border:1px solid var(--line);font-size:10px;padding:5px 10px;color:#587189}.hub-copy .technical-note{font-size:10px!important;max-width:370px!important;margin:18px 0 0}.hub-diagram{background:var(--paper);padding:29px 38px;border:1px solid var(--line);position:relative}.diagram-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:#658299;margin-bottom:27px}.diagram-endpoint{background:#fff;border:1px solid #dae5ee;padding:17px 20px;display:flex;align-items:center;gap:20px}.diagram-endpoint .line-icon{color:#6294b0;width:35px;height:35px}.diagram-endpoint strong{display:block;font-size:14px}.diagram-endpoint small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.diagram-connector{height:48px;position:relative;display:flex;align-items:center;justify-content:center;font-size:9px;color:#658399}.diagram-connector:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#63b7d7}.diagram-connector span{position:relative;background:var(--paper);padding:1px 9px}.diagram-core{padding:20px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.diagram-core .line-icon{color:#72daf4;width:36px;height:36px}.diagram-core strong{font-size:18px}.diagram-core span{width:100%;text-align:center;font-size:10px;color:#afc3d8}.method-section{background:#eef3f7;border-block:1px solid var(--line)}.method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid #ccd9e5}.method-grid li{padding:26px 25px 0 0}.method-grid li+li{padding-left:25px;border-left:1px solid #d3dfe9}.method-grid span{display:block;font-size:11px;color:#0988b8;margin-bottom:19px}.method-grid h3{font-size:22px;margin-bottom:13px}.method-grid p{font-size:13px;color:var(--muted);margin:0}.editorial-list{border-top:1px solid var(--line)}.editorial-list>a{display:grid;grid-template-columns:50px 1fr 35px;gap:30px;padding:27px 0;border-bottom:1px solid var(--line);align-items:center}.editorial-list>a:hover{background:#f8fafb}.list-number{font-size:11px;color:#078bb9}.editorial-list h3{font-size:23px;margin:0 0 7px}.editorial-list p{font-size:13px;color:var(--muted);margin:0}.list-arrow{color:#087fae;font-size:24px}.text-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.text-news-grid article{border-top:2px solid var(--navy);padding-top:22px}.text-news-grid p:not(.eyebrow){font-size:14px;color:var(--muted)}.contact-strip{background:#e7f3f9;border-top:1px solid #d6e7f0;padding:70px 0}.contact-people{display:grid;grid-template-columns:1fr 1fr;gap:30px}.person-card{background:#fff;border:1px solid #d6e4ed;padding:28px 32px}.person-card h3{font-size:25px;margin-bottom:8px}.person-card p:not(.eyebrow){font-size:13px;color:var(--muted);margin-bottom:22px}.person-card .eyebrow{font-size:9px;color:#078bb9;margin-bottom:15px}.person-phone{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px;font-size:24px;font-weight:600}.person-phone span{color:#0a92c1;font-size:22px}.mail-link{display:block;font-size:13px;margin-top:10px;overflow-wrap:anywhere}.site-footer{padding:54px 0 20px;background:#fff}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr .65fr;gap:60px;font-size:12px;color:var(--muted)}.footer-grid .brand,.footer-grid .custom-logo-link{width:165px;margin-bottom:20px}.footer-grid strong{display:block;color:var(--navy);font-size:12px;margin-bottom:16px}.footer-grid p{margin-bottom:14px}.footer-grid>div:last-child a{display:block;margin:9px 0}.footer-bottom{border-top:1px solid var(--line);margin-top:37px;padding-top:20px;display:flex;justify-content:space-between;gap:40px;font-size:9px;color:#617184}.footer-bottom p:last-child{text-align:right}.page-hero{padding:40px 0 37px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:10px;color:var(--muted);margin-bottom:32px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.page-hero h1{font-size:clamp(36px,4vw,55px);max-width:1000px;margin-bottom:20px}.page-lead{font-size:19px;max-width:900px;color:var(--muted);margin-bottom:0}.page-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(230px,1fr);gap:70px;padding:55px 0 90px;align-items:start}.prose{font-size:16px;line-height:1.8;overflow-wrap:anywhere}.prose h2{font-size:31px;margin-top:39px}.prose h2:first-child{margin-top:0}.prose h3{font-size:24px;margin-top:29px}.prose ul,.prose ol{padding-left:24px}.prose li{margin-bottom:10px}.prose a{color:#087fae;text-decoration:underline;text-underline-offset:4px}.prose figure{margin:30px 0}.prose img{border:1px solid var(--line)}.prose figcaption{font-size:12px;color:var(--muted)}.prose table{width:100%;border-collapse:collapse;font-size:14px}.prose td,.prose th{padding:12px;border:1px solid var(--line);text-align:left}.page-aside{background:var(--paper);padding:28px;position:sticky;top:122px}.page-aside h3{font-size:23px;margin-bottom:17px}.page-aside p:not(.eyebrow){font-size:13px;color:var(--muted)}.page-aside .button{font-size:12px;padding:14px}.page-aside .mail-link{font-size:11px}.page-aside hr{border:0;border-top:1px solid var(--line);margin:25px 0}.article{max-width:870px;padding:45px 0 90px}.page-photo{width:100%;max-height:540px;object-fit:cover;margin-bottom:35px}.home-extra{padding:30px 0 60px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-card img{width:100%;aspect-ratio:1.35;object-fit:cover}.project-meta{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:19px 0 12px}.project-meta span{font-size:21px;color:#087fae}.project-card h3{font-size:23px;line-height:1.3;margin-bottom:13px}.project-card p{font-size:13px;color:var(--muted)}.card-placeholder{aspect-ratio:1.35;background:var(--paper);display:grid;place-items:center;font-size:11px;color:#63768b}.empty-state{grid-column:1/-1;padding:20px 0 50px}.pagination{margin-top:40px}.nav-links{display:flex;gap:15px}.page-numbers{padding:5px 12px;border:1px solid var(--line)}.wp-block-gallery{display:flex;flex-wrap:wrap;gap:16px}.wp-block-gallery .wp-block-image{flex:1;min-width:180px}.wp-block-gallery img{width:100%;height:auto}.prose .wp-block-button__link{border-radius:0;background:var(--navy);color:#fff;text-decoration:none}
@media(max-width:1200px){.wrap{width:calc(100% - 60px)}.menu{gap:15px}.brand,.custom-logo-link{width:170px}#primary-nav{gap:19px}.nav-call{padding:12px;font-size:10px;gap:15px}.intro-section,.hub-feature{gap:65px}}
@media(max-width:1100px){.header-inner{min-height:80px}.menu-toggle{display:flex;gap:14px;align-items:center;background:white;border:1px solid var(--line);padding:9px 14px;font-size:12px;color:var(--navy)}#primary-nav{display:none;position:absolute;top:100%;left:-30px;right:-30px;background:white;padding:20px 30px;box-shadow:0 20px 35px #162e4e15;max-height:calc(100dvh - 115px);overflow:auto;border-bottom:1px solid var(--line)}#primary-nav.is-open{display:block}.menu{display:block;font-size:15px}.menu>li{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line)}.menu a{padding:13px 0;white-space:normal}.submenu-toggle{padding:10px 13px}.menu>li>.sub-menu{position:static;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));border:0;box-shadow:none;padding:15px 0 20px;max-height:none;gap:24px}.menu>li>.sub-menu>li>a{font-size:12px}.nav-call{display:inline-flex;margin-top:20px;font-size:12px;padding:13px 20px}.hero-heading h1{font-size:54px}.competence-card h2{font-size:13px}.intro-section h2{font-size:34px}.needs-grid>a{padding:25px}.needs-grid h3{font-size:22px}.hub-feature{gap:55px}.page-layout{gap:35px}.page-aside{top:100px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.topbar{font-size:9px}.topbar .wrap>span{display:none}.topbar .wrap{justify-content:flex-end;min-height:29px}.topbar strong{margin-left:8px}.header-inner{min-height:76px}.brand,.custom-logo-link{width:158px}#primary-nav{left:-20px;right:-20px;padding:15px 20px}.menu>li>.sub-menu{grid-template-columns:1fr;gap:16px;padding:10px 10px 20px}.menu>li>.sub-menu>li>a{font-size:13px}.menu .sub-menu .sub-menu a{font-size:13px}.engineering-hero{padding:38px 0 25px}.hero-heading{text-align:left;margin-bottom:28px}.hero-heading .eyebrow{font-size:8px;margin-bottom:20px}.hero-heading h1{font-size:40px;line-height:1.12;margin-bottom:22px}.hero-heading>p:not(.eyebrow){font-size:13px;margin:0;line-height:1.8}.competence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.competence-card{padding:20px 13px;min-height:151px}.competence-card .line-icon{width:39px;height:39px}.competence-card h2{font-size:14px;line-height:1.3}.competence-card p{font-size:9px}.hero-bottom{align-items:flex-start;font-size:10px;gap:20px}.hero-bottom>span{max-width:170px}.hero-bottom>a{white-space:nowrap;gap:10px}.section{padding-block:60px}.section-head{display:block;margin-bottom:29px}.section-head>.text-link{margin-top:20px}.section-head>p{margin-top:20px;max-width:100%}.intro-section{grid-template-columns:1fr;gap:15px}.intro-section h2{font-size:33px}.intro-section .intro-lead{font-size:18px!important}.needs-grid{grid-template-columns:1fr;gap:17px}.needs-grid>a{padding:27px}.needs-grid h3{font-size:25px}.hub-feature{grid-template-columns:1fr;gap:35px}.hub-copy h2{font-size:35px}.hub-diagram{padding:23px}.diagram-core{gap:10px}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 0}.method-grid li{padding:25px 18px 0 0}.method-grid li+li{padding-left:18px}.method-grid li:nth-child(3){padding-left:0;border-left:none}.method-grid h3{font-size:20px}.method-grid p{font-size:12px}.editorial-list>a{grid-template-columns:22px 1fr 20px;gap:17px;padding:23px 0}.editorial-list h3{font-size:21px}.editorial-list p{font-size:12px}.text-news-grid{grid-template-columns:1fr}.contact-strip{padding:55px 0}.contact-strip h2{font-size:32px}.contact-people{grid-template-columns:1fr;gap:16px}.person-card{padding:25px}.person-card h3{font-size:24px}.person-phone{font-size:24px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom p:last-child{text-align:left}.page-hero{padding:30px 0}.breadcrumb{margin-bottom:27px;font-size:9px}.page-hero h1{font-size:36px}.page-lead{font-size:17px}.page-layout{grid-template-columns:1fr;padding:35px 0 60px;gap:30px}.page-aside{position:static}.prose h2{font-size:28px}.prose{font-size:15px}.project-grid{grid-template-columns:1fr;gap:30px}.project-card img{aspect-ratio:1.5}.article{padding-block:35px 60px}}
@media(max-width:440px){.hero-heading h1{font-size:34px}.competence-card h2{font-size:13px}.competence-card p{font-size:9px}.hero-bottom>span{max-width:145px}.hero-bottom>a{font-size:9px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.diagram-heading{font-size:8px}.diagram-endpoint{padding:14px;gap:13px}.diagram-endpoint small{font-size:9px}}
@media(max-width:360px){.hero-heading h1{font-size:30px}.competence-card{padding:18px 10px}.competence-card h2{font-size:12px}.competence-card p{font-size:8px}.hero-bottom{display:block}.hero-bottom>span{display:block;max-width:none;margin-bottom:15px}.hero-bottom>a{display:inline-flex}.person-phone{font-size:22px}.person-card{padding:22px}.page-hero h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:440px){.method-grid{grid-template-columns:1fr;gap:0}.method-grid li,.method-grid li+li{padding:22px 0;border-left:0;border-bottom:1px solid #d3dfe9}.method-grid span{margin-bottom:10px}.method-grid h3{font-size:23px}.method-grid p{font-size:13px}}

/* 1.2 — wspólna stylistyka podstron */
.subpage-hero{position:relative;isolation:isolate;overflow:hidden;background:#172e4e;color:#fff;min-height:330px}
.subpage-background{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1);opacity:.24}
.subpage-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(23,46,78,.76),rgba(23,46,78,.22),rgba(23,46,78,.76))}
.subpage-hero-inner{text-align:center;padding:26px 0 38px}.subpage-hero .breadcrumb{color:#c8d5e5;text-align:left;margin:0 0 24px;font-size:12px}.subpage-hero .breadcrumb a{color:#fff}.subpage-hero h1{color:#fff;font-size:clamp(28px,3.5vw,49px);line-height:1.15;margin:0 auto;max-width:1000px;letter-spacing:-.025em}
.subpage-rule{height:3px;width:52px;background:#00a7df;margin:20px auto}.subpage-symbol{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:auto;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);color:#00b9f3}.subpage-symbol svg{width:41px;height:41px}
.subpage-intro{max-width:1000px;padding-top:36px;padding-bottom:30px;border-bottom:1px solid #dce5ec}.subpage-intro .page-lead{max-width:840px;margin:0;font-size:21px;color:#52677c;line-height:1.65}
.page-layout{display:block;max-width:1000px;padding-top:38px;padding-bottom:72px}.page-layout .prose{max-width:none}.prose h2{color:#172e4e;font-size:28px;line-height:1.3;margin-top:42px;padding-left:18px;border-left:3px solid #00a7df}.prose h2:first-child{margin-top:0}.prose ul{background:#f4f7fa;border:1px solid #e0e8ee;border-radius:3px;padding:25px 30px 25px 50px}.prose li::marker{color:#00a7df}.prose a{color:#007da8}.prose p{color:#526174;line-height:1.8}.site-footer{margin-top:0}.topbar .wrap{gap:15px}
@media(max-width:700px){.subpage-hero{min-height:290px}.subpage-hero-inner{padding-top:20px;padding-bottom:28px}.subpage-hero h1{font-size:30px}.subpage-hero .breadcrumb{margin-bottom:26px;font-size:11px}.subpage-intro{padding-top:25px;padding-bottom:23px}.subpage-intro .page-lead{font-size:18px}.page-layout{padding-top:28px;padding-bottom:45px}.prose h2{font-size:24px}.topbar .wrap>span:last-child{display:none}}
