/* Public website: one grid, readable service lists, and a clear enquiry flow. */
.public-site{
  --content-width:1360px;--gutter:48px;--surface:#fafaf7;
  --surface-edge:rgba(23,35,40,.12);
  --surface-shadow:0 2px 8px rgba(23,35,40,.025),0 16px 40px rgba(23,35,40,.045);
  -webkit-font-smoothing:antialiased
}
.public-site .wrap{max-width:var(--content-width);padding-left:var(--gutter);padding-right:var(--gutter)}
.public-site h1,.public-site h2,.public-site h3{letter-spacing:-.035em}
.public-site .site-header{
  position:sticky;top:0;z-index:30;max-width:none;margin:0;
  padding:14px max(var(--gutter),calc((100vw - var(--content-width))/2 + var(--gutter)));
  gap:24px;background:var(--paper);border-bottom:1px solid var(--line)
}
.public-site .brand-logo-frame{width:108px;height:54px}
.public-site .public-navigation{margin-left:auto;justify-content:flex-end;gap:28px}
.public-site .public-navigation nav{gap:28px}
.public-site .public-navigation nav a{font-size:14px;text-decoration:none}
.public-site .public-navigation nav a:hover{color:var(--accent)}
.public-site .public-navigation nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}
.public-site .public-navigation nav .nav-contact{
  min-height:44px;padding:0 16px;border:1px solid var(--ink);border-radius:4px
}
.public-site .public-navigation nav .nav-contact:hover{background:var(--ink);color:white}
.public-site .portal{padding-left:24px;font-size:12px;color:var(--muted)}
.public-site .language-switcher{gap:0;overflow:visible}
.public-site .language-switcher a{font:12px/1.2 Arial,sans-serif;min-width:44px;min-height:44px}
.public-site .language-switcher a:first-child{border-radius:4px 0 0 4px}
.public-site .language-switcher a:last-child{border-radius:0 4px 4px 0;border-left:0}
.public-site .language-switcher a[aria-current]{background:var(--ink);border-color:var(--ink);color:white}
.public-site .menu-toggle{border-color:#aeb8b8;border-radius:4px}
.public-site .button{min-height:50px;padding:13px 24px;border-radius:4px;font-size:15px;font-weight:600;line-height:1.4}
.public-site .button:hover{background:#123baa;border-color:#123baa}
.public-site .button:disabled{background:#e1e5e1;border-color:#b9c3c1;color:var(--muted)}
.public-site .hero{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:64px;padding-top:64px;padding-bottom:72px}
.public-site .hero-kicker{font-size:14px;margin-bottom:24px}
.public-site .hero h1,.public-site:lang(pl) .hero h1{
  font-size:clamp(42px,4.8vw,68px);font-weight:500;line-height:1.04;
  letter-spacing:-.045em;max-width:650px;margin-bottom:26px;text-wrap:balance
}
.public-site .hero h1 span{display:block}
.public-site:lang(pl) .hero h1{font-size:clamp(40px,4.25vw,62px)}
.public-site .hero-copy .intro{font-size:19px;line-height:1.65;max-width:47ch;margin-bottom:28px}
.public-site .hero .actions{flex-direction:row;align-items:center;gap:12px 24px}
.public-site .hero-secondary{font-size:15px;text-decoration-thickness:1px;text-decoration-color:#8d999d}
.public-site .hero-secondary:hover{color:var(--accent);text-decoration-color:var(--accent)}
.public-site .company-note{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;margin-top:32px;max-width:56ch;font-size:13px;line-height:1.7}
.public-site .company-note strong{display:flex;align-items:center;flex-wrap:wrap;gap:0 16px;color:var(--ink);font-size:14px;font-weight:600}
.public-site .company-note a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:400}
.public-site .hero-diagram{
  max-width:536px;margin:0;justify-self:end;background:var(--surface);
  border:1px solid var(--surface-edge);border-radius:4px;box-shadow:var(--surface-shadow);overflow:hidden
}
.public-site .architecture-visual{margin:12px;background:var(--surface)}
.public-site .architecture-visual img{mix-blend-mode:multiply}
.public-site .architecture-label{background:transparent}
.public-site .hero-diagram figcaption{border-top:1px solid var(--surface-edge);padding:16px 20px;margin:0;max-width:none;font-size:12px;line-height:1.6}
.public-site .architecture-label{font-size:12px}
.public-site .architecture-flow{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.public-site .flow-enhanced .architecture-flow{display:block}
.public-site .flow-packet circle{fill:#fff;stroke:var(--accent);stroke-width:1.5}
.public-site .hero-diagram figcaption>span{flex:1}
.public-site .flow-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid var(--surface-edge);border-radius:4px;background:transparent;color:var(--ink);cursor:pointer}
.public-site .flow-toggle:hover{background:#edf0ec;border-color:#839399}
.public-site .flow-toggle svg{width:16px;height:16px;fill:currentColor}
.public-site .flow-toggle .flow-play,.public-site .flow-toggle.is-paused .flow-pause{display:none}
.public-site .flow-toggle.is-paused .flow-play{display:block}
.public-site .flow-toggle[hidden]{display:none}
@media(prefers-reduced-motion:reduce){
  .public-site .flow-enhanced .architecture-flow,.public-site .flow-toggle{display:none}
}
.public-site .compute-feature{padding-top:64px;padding-bottom:72px;scroll-margin-top:110px}
.public-site .compute-feature-heading{gap:64px;margin-bottom:36px}
.public-site .compute-feature-heading h2{font-size:clamp(32px,3vw,42px);line-height:1.15;max-width:540px}
.public-site .compute-feature-heading p{font-size:18px;line-height:1.7;max-width:52ch}
.public-site .compute-figures{gap:32px}
.public-site .compute-figure{border:0}
.public-site .compute-figure img{border:1px solid var(--surface-edge);border-bottom:0;border-radius:4px 4px 0 0}
.public-site .compute-legend{border:1px solid var(--surface-edge);border-radius:0 0 4px 4px;font-size:13px;padding:12px 8px}
.public-site .compute-legend span+span{border-left:1px solid var(--surface-edge)}
.public-site .compute-figure h3{font-size:21px;font-weight:500;margin-top:22px}
.public-site .compute-figure p{font-size:15px;line-height:1.65;max-width:58ch}
.public-site .section{padding-top:64px;padding-bottom:72px}
.public-site .section-heading{margin-bottom:32px;align-items:center}
.public-site .section-heading h2{font-size:40px;line-height:1.15;margin:0}
.public-site .section-heading>a{font-size:15px}
.public-site .home-services{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2fr);gap:64px;align-items:start}
.public-site .home-services .section-heading{display:block;position:sticky;top:128px;margin:0}
.public-site .home-services .section-heading h2{font-size:36px;line-height:1.15}
.public-site .home-services .section-heading p{font-size:16px;line-height:1.75;color:var(--muted);margin:24px 0 16px;max-width:28ch}
.public-site .home-services .section-heading>a{display:inline-flex;align-items:center;min-height:44px}
.public-site .home-services .capabilities{display:block}
.public-site .home-services .capability{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;padding:24px 0}
.public-site .home-services .capability h3{font-size:21px;margin:0}
.public-site .home-services .capability>div{grid-column:auto;grid-row:auto}
.public-site .capability{padding:28px 0;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.public-site .capability h3{font-size:23px;line-height:1.3;margin:0 0 16px}
.public-site .capability h3 a{display:inline-flex;align-items:center;min-height:44px;margin:-8px 0;padding:8px 0;text-decoration:none}
.public-site .capability h3 a:hover{text-decoration:underline;text-underline-offset:6px}
.public-site .capability>div>p{font-size:16px;line-height:1.65;margin-bottom:18px;max-width:55ch}
.public-site .capability-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;list-style:none;padding:0;margin:0}
.public-site .capability-skills li{position:relative;padding-left:13px;font-size:14px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}
.public-site .capability-skills li::before{content:"";position:absolute;left:0;top:.67em;width:4px;height:4px;border-radius:50%;background:#839399}
.public-site .lab-band .lab-section{padding-top:80px;padding-bottom:80px;gap:72px;grid-template-columns:1fr 1.1fr}
.public-site .lab-band .lab-section h2{font-size:clamp(32px,3.1vw,43px);line-height:1.18;max-width:480px}
.public-site .lab-band .lab-section .section-label{font-size:15px;letter-spacing:.01em;margin-bottom:24px;color:#b2c6ce}
.public-site .lab-band .lab-section>div>p:not(.section-label){font-size:17px;line-height:1.8;max-width:60ch}
.public-site .lab-band .lab-section a{font-size:15px;font-weight:500;margin-top:6px}
.public-site .cta{padding-top:64px;padding-bottom:64px;gap:48px}
.public-site .cta h2{font-size:38px;line-height:1.15}
.public-site .cta p{font-size:16px;line-height:1.65;margin-top:14px}
.public-site .cta .button{min-width:176px;flex-shrink:0}
.public-site .site-footer{
  max-width:var(--content-width);padding:40px var(--gutter) max(40px,env(safe-area-inset-bottom));
  display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:40px;font-size:13px
}
.public-site .site-footer>p{font-size:14px;line-height:1.75;margin-top:8px;color:var(--muted)}
.public-site .site-footer>div:last-child{justify-self:end}
.public-site .site-footer a[href^="mailto:"]{font-size:18px;text-decoration-color:#9da9ad}
.public-site .site-footer .brand-logo-frame{width:100px;height:50px}
.public-site .site-footer .brand+p{color:var(--muted);font-size:13px;margin-top:14px}
.public-site .footer-resources{gap:24px;margin-top:8px}
.public-site .page-hero{padding-top:56px;padding-bottom:48px}
.public-site .page-hero h1{font-size:clamp(38px,4.2vw,60px);max-width:960px;line-height:1.1;margin-bottom:24px}
.public-site .page-hero .intro{font-size:19px;max-width:65ch;margin-bottom:0;line-height:1.7}
.public-site .contact-email{display:inline-flex;align-items:center;min-height:44px;margin-top:18px;font-size:18px;text-decoration-color:#8d999d}
.public-site .solution,.public-site .solution:first-child{padding:30px 0;gap:56px;grid-template-columns:1fr 1.2fr}
.public-site .solution h3{font-size:26px;line-height:1.25;text-decoration:underline;text-decoration-color:#9da8ac;text-decoration-thickness:1px;text-underline-offset:6px}
.public-site .solution:focus-visible h3{text-decoration-color:var(--accent)}
.public-site .solution p{font-size:17px;line-height:1.65}
.public-site .solution:hover h3{text-decoration:underline;text-underline-offset:7px}
.public-site .solution:hover p{color:var(--ink)}
.public-site .story-section{gap:64px;padding-top:64px;padding-bottom:64px}
.public-site .story-section h2{font-size:36px;line-height:1.2}
.public-site .process{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 64px}
.public-site .process article{padding-top:24px}
.public-site .process h3{font-size:24px;margin-bottom:14px}
.public-site .process p{font-size:16px;line-height:1.7;max-width:48ch}
.public-site .contact-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;padding-top:48px;padding-bottom:72px;align-items:start}
.public-site .contact-aside{padding-top:8px}
.public-site .contact-aside h2{font-size:32px;line-height:1.2;max-width:360px;margin-bottom:20px}
.public-site .contact-aside>p{font-size:16px;line-height:1.7;margin-bottom:32px}
.public-site .contact-aside .company-details{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.public-site .company-details p{font-size:15px;line-height:1.7;margin-bottom:20px}
.public-site .company-details p:last-child{margin:0}
.public-site .company-details strong{color:var(--ink);font-weight:600}
.public-site .contact-privacy{padding-top:24px;font-size:14px;line-height:1.7}
.public-site .contact-privacy p{font-size:14px;margin-bottom:14px}
.public-site .contact-privacy a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.public-site .contact-form{min-width:0;padding:32px;background:var(--surface);border:1px solid var(--surface-edge);border-radius:4px;box-shadow:var(--surface-shadow)}
.public-site .contact-form h2{font-size:26px;line-height:1.3;margin-bottom:8px}
.public-site #enquiry-form-note{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:28px}
.public-site .contact-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.public-site .contact-form .field{min-width:0;margin:0}
.public-site .field-message,.public-site .field-confirmation{grid-column:1/-1}
.public-site .field-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.public-site .business-form label{font-size:14px;line-height:1.5;font-weight:600}
.public-site .field-optional{font-size:12px;font-weight:400;color:var(--muted)}
.public-site .contact-form input,.public-site .contact-form textarea{padding:13px 14px;margin:8px 0 0;min-height:50px;background:#fff;border-color:#a5b1b4;border-radius:4px;font-size:16px;line-height:1.5}
.public-site .contact-form input:hover,.public-site .contact-form textarea:hover{border-color:#6e8087}
.public-site .contact-form input:focus,.public-site .contact-form textarea:focus{border-color:var(--accent)}
.public-site .contact-form textarea{min-height:176px}
.public-site .contact-form .field-error input,.public-site .contact-form .field-error textarea{border-color:#963b32}
.public-site .contact-form .errorlist{color:#963b32;font-size:14px;line-height:1.5;padding-left:18px;margin:10px 0 0}
.public-site .slider-confirmation{padding:20px;background:#edf0ec;border:1px solid #d0d8d4;border-radius:4px}
.public-site .slider-confirmation p{font-size:13px;line-height:1.6;margin:8px 0}
.public-site .slider-confirmation.is-confirmed{border-color:#688978}
.public-site .slider-confirmation.is-confirmed #slider-status{color:#315e47;font-weight:600}
.public-site .contact-form input[type=range]{appearance:none;-webkit-appearance:none;padding:0;border:0;background:transparent;min-height:48px;height:48px;margin:4px 0 0;cursor:ew-resize}
.public-site .contact-form input[type=range]::-webkit-slider-runnable-track{height:8px;background:#cbd5d2;border-radius:4px}
.public-site .contact-form input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border:3px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px #70859c}
.public-site .contact-form input[type=range]::-moz-range-track{height:8px;background:#cbd5d2;border-radius:4px}
.public-site .contact-form input[type=range]::-moz-range-thumb{width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px #70859c}
.public-site .contact-form>.button{width:100%;margin-top:24px;min-height:52px}
@media(min-width:1025px){html{scroll-padding-top:110px}}
@media(max-width:1200px){
  .public-site{--gutter:32px}
  .public-site .public-navigation,.public-site .public-navigation nav{gap:20px}
  .public-site .hero{gap:40px}
  .public-site .hero .actions{align-items:flex-start;flex-direction:column;gap:8px}
  .public-site .contact-grid{gap:48px}
}
@media(max-width:1024px){
  .public-site .site-header{position:relative;gap:12px;padding-top:12px;padding-bottom:12px}
  .public-site .site-header .brand{margin-right:auto}
  .public-site .public-navigation{margin:0;padding-top:12px;max-height:calc(100svh - 100px);overflow:auto}
  .public-site .public-navigation nav{gap:4px 16px}
  .public-site .public-navigation nav a{font-size:16px;padding:10px 8px;min-height:48px}
  .public-site .public-navigation nav .nav-contact{border:0;padding:10px 8px;min-height:48px;color:var(--accent)}
  .public-site .public-navigation nav .nav-contact:hover{background:transparent;color:var(--accent)}
  .public-site .public-navigation .portal{padding:12px 8px;font-size:14px}
  .public-site .compute-feature-heading,.public-site .home-services .capabilities{gap:32px}
  .public-site .home-services{display:block}
  .public-site .home-services .section-heading{position:static;display:flex;margin-bottom:32px}
  .public-site .home-services .section-heading p{max-width:36ch;margin:0;font-size:15px}
  .public-site .home-services .section-heading h2{font-size:32px}
  .public-site .lab-band .lab-section{gap:40px}
  .public-site .capability{gap:32px}
  .public-site .compute-feature{scroll-margin-top:24px}
}
@media(max-width:768px){
  .public-site{--gutter:24px}
  .public-site .site-header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .public-site .site-header .brand-logo-frame{width:96px;height:48px}
  .public-site .hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:48px;gap:32px}
  .public-site .hero h1,.public-site:lang(pl) .hero h1{font-size:clamp(38px,8.4vw,56px);line-height:1.08;letter-spacing:-.04em;margin-bottom:24px}
  .public-site .hero-kicker{font-size:13px;margin-bottom:20px}
  .public-site .hero-copy .intro{font-size:17px;line-height:1.7;margin-bottom:24px}
  .public-site .hero .actions{align-items:stretch;gap:8px}
  .public-site .hero-secondary{justify-content:center;font-size:14px}
  .public-site .company-note{margin-top:24px;font-size:13px}
  .public-site .hero-diagram{width:100%;max-width:420px;justify-self:center}
  .public-site .architecture-visual{margin:8px}
  .public-site .hero-diagram figcaption{padding:16px;font-size:12px}
  .public-site .compute-feature{padding-top:44px;padding-bottom:48px}
  .public-site .compute-feature-heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
  .public-site .compute-feature-heading h2{font-size:32px;line-height:1.15}
  .public-site .compute-feature-heading p{font-size:17px;line-height:1.7;margin-bottom:8px}
  .public-site .compute-figures{grid-template-columns:1fr;gap:32px}
  .public-site .compute-legend{font-size:13px;padding:10px 6px}
  .public-site .compute-figure h3{font-size:21px;margin-top:18px}
  .public-site .compute-figure p{font-size:15px}
  .public-site .section{padding-top:44px;padding-bottom:48px}
  .public-site .section-heading{display:flex;align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:24px}
  .public-site .section-heading h2{font-size:32px}
  .public-site .home-services .section-heading{margin-bottom:24px}
  .public-site .home-services .section-heading p{margin:4px 0;max-width:40ch}
  .public-site .section-heading>a{font-size:14px}
  .public-site .home-services .capabilities{display:block}
  .public-site .capability,.public-site .home-services .capability{display:block;padding:24px 0}
  .public-site .capability h3,.public-site .home-services .capability h3{font-size:23px;margin-bottom:16px}
  .public-site .capability-skills{gap:9px 18px}
  .public-site .capability-skills li{font-size:14px;line-height:1.6}
  .public-site .lab-band .lab-section{display:block;padding-top:48px;padding-bottom:48px}
  .public-site .lab-band .lab-section h2{font-size:32px;line-height:1.2;margin-bottom:28px}
  .public-site .lab-band .lab-section .section-label{margin-bottom:18px}
  .public-site .lab-band .lab-section>div>p:not(.section-label){font-size:16px;line-height:1.8}
  .public-site .cta{padding-top:48px;padding-bottom:48px;gap:24px}
  .public-site .cta h2{font-size:32px}
  .public-site .cta .button{width:100%}
  .public-site .site-footer{grid-template-columns:1fr 1fr;gap:24px 32px;padding-top:32px}
  .public-site .site-footer>div:last-child{grid-column:1/-1;justify-self:start}
  .public-site .site-footer>p{font-size:13px;max-width:24ch}
  .public-site .page-hero{padding-top:40px;padding-bottom:32px}
  .public-site .page-hero h1{font-size:clamp(34px,8vw,46px);line-height:1.13;margin-bottom:20px}
  .public-site .page-hero .intro{font-size:17px;line-height:1.7}
  .public-site .contact-email{font-size:17px;margin-top:12px}
  .public-site .solution,.public-site .solution:first-child{display:block;padding:26px 0}
  .public-site .solution h3{font-size:24px;margin-bottom:12px}
  .public-site .solution p{font-size:16px}
  .public-site .story-section{display:block;padding-top:40px;padding-bottom:40px}
  .public-site .story-section h2{font-size:32px;margin-bottom:24px}
  .public-site .process{display:block;margin-top:28px}
  .public-site .process article{padding:24px 0}
  .public-site .process h3{font-size:23px}
  .public-site .contact-grid{grid-template-columns:1fr;gap:40px;padding-top:36px;padding-bottom:48px}
  .public-site .contact-aside h2{font-size:29px;max-width:none}
  .public-site .contact-form h2{font-size:25px}
  .public-site .contact-form{padding:24px}
  .public-site #enquiry-form-note{margin-bottom:24px}
  .public-site .contact-privacy{padding-top:20px}
}
@media(max-width:480px){
  .public-site .contact-form-fields{grid-template-columns:1fr;gap:20px}
  .public-site .contact-form{padding:20px}
  .public-site .slider-confirmation{padding:18px}
  .public-site .site-footer{grid-template-columns:1fr;gap:18px}
  .public-site .site-footer>div:last-child{grid-column:auto}
  .public-site .site-footer>p{max-width:none;margin:0}
}
@media(max-width:374px){
  .public-site{--gutter:20px}
  .public-site .site-header{gap:8px;padding-left:16px;padding-right:16px}
  .public-site .site-header .brand-logo-frame{width:84px;height:42px}
  .public-site .hero h1,.public-site:lang(pl) .hero h1{font-size:36px}
  .public-site .language-switcher a{min-width:44px}
  .public-site .compute-legend{font-size:12px}
}
