/* ŻYWIENIE ZBIOROWE / STUDIO V4 – one coherent visual system. Not a generated picture. */
:root{--cream:#fbfaf6;--ink:#0b3028;--gold:#f3c978;--rich:#d49b46;--paper:#fffdf8}
body{background:var(--cream);font-family:'Manrope','DM Sans',sans-serif;overflow-x:clip}
.site-shell{width:min(calc(100% - 8vw),1480px)}
.section{padding-block:100px}
/* Navigation floats ON the picture. It is not its own rectangular bar. */
.site-header.zz4-overlay-nav{position:absolute!important;z-index:100;top:0;left:0;right:0;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
.site-header.zz4-overlay-nav:before,.site-header.zz4-overlay-nav:after{display:none!important}
.site-header .header-inner{max-width:1480px!important;width:calc(100% - 9vw)!important;min-height:114px!important;margin:auto!important;gap:28px}
.site-header .zz4-brand,.site-footer .zz4-brand{display:inline-flex;align-items:center;min-width:245px;gap:12px;color:#fff}
.site-header .zz31-brand-mark{width:60px;height:63px;object-fit:contain}
.site-header .zz31-brand-word,.site-footer .zz31-brand-word{color:#fff;font-size:16px;font-weight:800;line-height:1.1;letter-spacing:.06em;display:flex;flex-direction:column;white-space:nowrap}
.site-header .zz31-brand-word strong,.site-footer .zz31-brand-word strong{font-size:19px;line-height:1.11}
.site-header .zz31-brand-word small,.site-footer .zz31-brand-word small{font-size:8px;letter-spacing:.03em;color:#e4c27d;margin-top:4px}
.site-header .nav-links{display:flex;gap:clamp(19px,1.7vw,32px);align-items:center;justify-content:center}
.site-header .nav-links a{color:#fff;font-weight:700;font-size:14px;text-shadow:0 2px 12px #071f1780}
.site-header .nav-links a.is-active,.site-header .nav-links a:hover{color:#f9d58a}
.site-header .nav-links a:after{background:#f7d086}
.site-header .nav-cta{background:linear-gradient(115deg,#ffe4a2,#edbd69);color:#0a3026;border:0;padding:14px 25px;box-shadow:0 11px 35px #07191155;font-size:14px;min-height:53px}
.site-header .nav-cta:hover{background:#ffe6ac}
/* BIG hero: full bleed picture; the green/transparent overlay is part of the photo. */
.hero.hero-bleed.zz4-hero{margin:0!important;width:100%;max-width:none}
.zz4-hero .hero-stage{height:min(820px,100svh);min-height:710px;border:0;border-radius:0;isolation:isolate;overflow:hidden}
.zz4-hero .hero-photo{width:100%;height:calc(100% + 85px);top:-34px;object-fit:cover;object-position:center 42%;filter:saturate(1.10) contrast(1.03);will-change:transform}
.zz4-hero .hero-gradient{z-index:1;background:linear-gradient(180deg,rgba(1,21,15,.72) 0,rgba(2,25,18,.2) 23%,transparent 52%),linear-gradient(95deg,#021b15ed 0%,#082b21c7 30%,#10372964 52%,#102b1a05 82%),linear-gradient(0deg,#061d167d,transparent 35%)}
.zz4-hero .zz4-grain{position:absolute;z-index:1;inset:0;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.19' filter='url(%23n)'/%3E%3C/svg%3E")}
.zz4-hero .hero-copy{z-index:3;left:max(7.2vw,calc((100% - 1480px)/2));top:52%;transform:translateY(-42%);right:auto;padding:0;max-width:min(860px,66vw)}
.zz4-hero .hero-kicker{font-size:12px;letter-spacing:.30em;color:#f3ca79}
.zz4-hero h1{font-size:clamp(58px,5vw,78px);letter-spacing:-.065em;line-height:1.065;margin-top:24px;color:#fff;text-wrap:initial}
.zz4-hero h1 em{display:block;color:#f2c475;white-space:nowrap}
.zz4-hero .hero-copy p{max-width:540px;font-size:clamp(18px,1.22vw,21px);line-height:1.68;color:#fff;margin-top:24px;font-weight:500;text-shadow:0 2px 6px #031b1255}
.zz4-hero .hero-actions{margin-top:30px;gap:15px}
.zz4-hero .hero-actions .button{font-size:14px;min-height:61px;padding:16px 25px}
.zz4-hero .hero-actions .button-gold{color:#092b22;background:linear-gradient(105deg,#ffe6a5,#e9bd6e);box-shadow:0 14px 30px #0004}
.zz4-hero .hero-actions .button-white{background:#06291b40;color:white;border:1.2px solid #ffffffb8;backdrop-filter:blur(7px)}
.zz4-hero .hero-index{bottom:69px;left:max(7.2vw,calc((100vw - 1480px)/2));font-size:11px;color:#fff9}
.zz4-scroll-cue{position:absolute;bottom:58px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:12px;color:#fff;font-size:10px;letter-spacing:.18em;font-weight:800}
.zz4-scroll-ring{width:42px;height:42px;border:1px solid #ffffffae;border-radius:50%;display:grid;place-items:center;font-size:18px;animation:zz4-bob 2.5s ease-in-out infinite}
@keyframes zz4-bob{50%{transform:translateY(7px)}}
/* Organic lower edge, no giant white void after hero. */
.zz4-hero{position:relative}
.zz4-hero:after{content:'';position:absolute;left:-8%;bottom:-1px;z-index:5;width:116%;height:58px;border-radius:52% 46% 0 0 / 99% 85% 0 0;background:var(--cream);pointer-events:none}
.zz4-sectors{padding-top:65px!important}
.zz4-sectors .section-top{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:35px}
.zz4-sectors .section-top>div{width:100%}
.zz4-sectors .section-top .eyebrow{letter-spacing:.38em;font-size:11px;color:#a9762e}
.zz4-sectors .section-top h2{font-size:clamp(40px,3.9vw,63px);margin-top:12px;line-height:1.17}
.zz4-sectors .section-top h2 em{color:#c99847}
.zz4-sectors .section-top .section-lead{margin:12px auto 0;max-width:700px;font-size:16px;line-height:1.65}
.zz4-sectors .section-counter{display:none}
.zz4-sectors .sector-grid{gap:13px;grid-template-columns:repeat(6,minmax(0,1fr))}
.zz4-sectors .sector-tile{height:260px;border-radius:19px;box-shadow:0 8px 27px #173b2916;transform:none!important}
.zz4-sectors .sector-tile:hover,.zz4-sectors .sector-tile.is-selected{box-shadow:0 20px 30px #173b2925;transform:translateY(-5px)!important}
.zz4-sectors .sector-picture:after{background:linear-gradient(0deg,#06281eef 4%,#08292016 90%)}
.zz4-sectors .sector-over{padding:17px 15px 18px}
.zz4-sectors .sector-icon{width:42px;height:42px;border-radius:14px;margin-bottom:14px;background:#f7d187;color:#063223}
.zz4-sectors .sector-over strong{font-size:17px;line-height:1.25}
.zz4-sectors .sector-over small{font-size:11px}
.zz4-sectors .sector-detail{margin-top:17px;border-radius:17px;min-height:116px}
/* Make the following sections feel curated, not stock blocks. */
.feature-band{background:#073328;overflow:hidden}
.feature-card{border-radius:23px;box-shadow:0 25px 70px #0002}
.feature-photo{overflow:hidden}.feature-photo img{transition:transform .7s ease}.feature-card:hover .feature-photo img{transform:scale(1.045)}
.feature-head h2,.process-section h2,.ecosystem-copy h2,.closing-copy h2{font-size:clamp(42px,3.7vw,67px)}
.process-step{transition:transform .35s}.process-step:hover{transform:translateY(-8px)}
.ecosystem-section{background:#082a22}
/* Interior hero – truly unified, content overlays the photo, no opaque green header. */
.zz40-interior .subhero.site-shell{width:100%;max-width:none;position:relative;isolation:isolate;display:flex;align-items:center;min-height:690px;margin:0;overflow:hidden;padding:170px max(7.2vw,calc((100% - 1480px)/2)) 100px;color:#fff;background:#072c22}
.zz40-interior .subhero-text{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:min(720px,58vw);min-width:0;flex:none;padding:0;color:#fff}
.zz40-interior .subhero-text .eyebrow{font-size:12px;letter-spacing:.26em;color:#f5cd83}
.zz40-interior .subhero-text h1{color:#fff;font-size:clamp(57px,4.65vw,81px);letter-spacing:-.067em;line-height:1.12;margin:23px 0 0;max-width:800px;text-wrap:balance}
.zz40-interior .subhero-text h1 em{color:#eabf72}
.zz40-interior .subhero-text p{color:#f5faf5;font-size:clamp(18px,1.3vw,22px);line-height:1.65;max-width:600px;margin:25px 0 30px;text-shadow:0 2px 5px #001a1455}
.zz40-interior .subhero-text .button{border:0;background:linear-gradient(110deg,#ffe8ab,#edbd72);color:#0a2d22}
.zz40-interior .subhero-image{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:0;z-index:0;overflow:hidden;pointer-events:none;padding:0}
.zz40-interior .subhero-image>img{width:100%;height:calc(100% + 80px);top:-30px;inset:auto auto auto 0;position:absolute;object-fit:cover;object-position:center 46%;filter:saturate(1.07)}
.zz40-interior .subhero-image:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#06241bbf 0%,transparent 34%),linear-gradient(92deg,#031f19fa 0%,#082c22df 33%,#07302163 61%,#08282017 100%),linear-gradient(0deg,#041e1666,transparent 44%)}
.zz40-interior .subhero-image .image-stamp{display:none}
.zz40-interior .subhero-image.app-image{background:#173f32 url('hero-narzedzia.webp') center 40%/cover no-repeat}
.zz40-interior .subhero-image.app-image .dash-visual{display:none}
.zz40-interior .subhero:after{content:'';position:absolute;left:-9%;bottom:-2px;width:118%;height:51px;border-radius:50% 50% 0 0 / 90% 99% 0 0;background:var(--cream);z-index:5}
.zz40-interior .inner-section:first-of-type{padding-top:88px}
.editorial-card,.quiet-callout,.topic-grid>article,.contact-panel{box-shadow:0 18px 45px #26402b11}
.site-footer .zz4-brand,.site-footer .zz31-brand{color:#fff}
/* scroll motion driven by requestAnimationFrame */
.zz40-home [data-zz-reveal],.zz40-interior [data-zz-reveal]{opacity:0;transform:translate3d(0,26px,0);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.25,1)}
[data-zz-reveal].is-in{opacity:1;transform:none}
@media(min-width:1660px){.zz4-hero .hero-copy{left:max(8vw,calc((100% - 1480px)/2))}}
@media(max-width:1200px){.site-header .header-inner{width:calc(100% - 6vw)!important}.site-header .zz4-brand{min-width:200px}.site-header .nav-links{gap:12px}.site-header .nav-links a{font-size:12px}.zz4-hero h1{font-size:clamp(55px,5.2vw,72px)}.zz4-hero .hero-copy{max-width:72vw;left:6vw}.zz4-sectors .sector-grid{grid-template-columns:repeat(3,1fr)}.zz4-sectors .sector-tile{height:270px}}
@media(max-width:1090px){
.site-header .header-inner{min-height:89px!important}.site-header .nav-links{position:absolute;top:88px;left:0;right:0;background:#072e26f4;backdrop-filter:blur(18px);box-shadow:0 15px 36px #021c15a6;padding:13px 22px 24px;border-bottom:1px solid #d6ad6a44;display:none;flex-direction:column;align-items:stretch;gap:4px}.site-header .nav-links.is-open{display:flex}.site-header .nav-links a{color:#fff;font-size:16px}.site-header .menu-button{display:block;margin-left:auto}.site-header .menu-button span{background:white}.site-header .nav-cta{display:none}.zz40-interior .subhero-text{width:min(75vw,700px)}.zz40-interior .subhero.site-shell{min-height:725px}}
@media(max-width:720px){
.site-header .header-inner{width:calc(100% - 36px)!important;min-height:82px!important}.site-header .zz31-brand-mark{width:42px;height:46px}.site-header .zz4-brand{gap:7px;min-width:auto}.site-header .zz31-brand-word{font-size:13px}.site-header .zz31-brand-word strong{font-size:15px}.site-header .zz31-brand-word small{font-size:7px}.site-header .nav-links{top:82px}
.zz4-hero .hero-stage{height:780px;min-height:780px}.zz4-hero .hero-photo{width:100%;height:900px;object-position:64% top;top:-25px}.zz4-hero .hero-gradient{background:linear-gradient(180deg,#031c16a0,transparent 30%),linear-gradient(0deg,#041e19f8 0%,#05271fdc 39%,#092b2047 73%,transparent 100%)}.zz4-hero .hero-copy{left:22px;right:22px;top:auto;bottom:110px;transform:none;max-width:none}.zz4-hero .hero-kicker{font-size:9px;letter-spacing:.19em}.zz4-hero h1{font-size:clamp(42px,9.9vw,59px);line-height:1.09;letter-spacing:-.065em;margin-top:16px}.zz4-hero h1 em{white-space:normal}.zz4-hero .hero-copy p{font-size:16px;line-height:1.55;margin-top:16px}.zz4-hero .hero-actions{margin-top:21px;gap:10px}.zz4-hero .hero-actions .button{width:100%;min-height:50px;font-size:13px}.zz4-hero .hero-index{bottom:42px;left:24px;font-size:9px}.zz4-scroll-cue{display:none}.zz4-hero:after{height:34px}
.section{padding-block:67px}.zz4-sectors{padding-top:34px!important}.zz4-sectors .section-top h2{font-size:40px}.zz4-sectors .section-top .section-lead{font-size:15px}.zz4-sectors .sector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.zz4-sectors .sector-tile{height:242px;border-radius:14px}.zz4-sectors .sector-over{padding:12px}.zz4-sectors .sector-over strong{font-size:15px}.zz4-sectors .sector-over small{font-size:10px}.zz4-sectors .sector-icon{width:36px;height:36px}.zz4-sectors .sector-detail{padding:18px}.zz4-sectors .detail-hint{display:none}
.zz40-interior .subhero.site-shell{min-height:765px;align-items:flex-end;padding:215px 22px 87px}.zz40-interior .subhero-text{width:100%;max-width:580px}.zz40-interior .subhero-text h1{font-size:clamp(39px,9.2vw,56px);line-height:1.12}.zz40-interior .subhero-text p{font-size:16px;line-height:1.5}.zz40-interior .subhero-image>img{height:820px;object-position:63% center}.zz40-interior .subhero-image:after{background:linear-gradient(180deg,#041b13a0,transparent 35%),linear-gradient(0deg,#041f19fa 0%,#06291fe8 42%,#103a273a 82%)}.zz40-interior .subhero:after{height:32px}
}
@media(max-width:380px){.zz4-hero h1{font-size:39px}.zz4-sectors .sector-tile{height:210px}.zz4-sectors .sector-over strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.zz4-hero .hero-photo,.zz40-interior .subhero-image>img{transform:none!important;will-change:auto}.zz4-scroll-ring{animation:none}[data-zz-reveal]{transition:none!important;opacity:1!important;transform:none!important}}

/* Studio 4.1: deliberately built as real responsive HTML, not a rasterized mockup. */
.zz4-hero .hero-copy{max-width:min(860px,66vw)}
.zz4-hero h1{font-size:clamp(58px,5vw,78px);line-height:1.085;text-wrap:initial}
.zz4-hero h1 em{white-space:nowrap}
/* The whole photograph, including the navigation, has one uninterrupted tint. */
.site-header.zz4-overlay-nav{background:transparent!important}
.zz4-hero .hero-gradient{background:linear-gradient(180deg,rgba(0,26,20,.66),rgba(0,25,20,.08) 29%,transparent 51%),linear-gradient(97deg,#03251de8 0%,#04261ed5 28%,#0628208e 45%,#0b382b24 67%,transparent 85%),linear-gradient(0deg,#031b1533,transparent 35%)}
/* A genuine SVG curve, no hard rectangular line between sections. */
.zz4-hero:after{left:0;width:100%;height:100px;border-radius:0;background:url('wave-transition.svg') center bottom/100% 100% no-repeat}
.zz40-interior .subhero:after{left:0;width:100%;height:90px;border-radius:0;background:url('wave-transition.svg') center bottom/100% 100% no-repeat}
.zz4-sectors{padding-top:41px!important}
.zz4-sectors .sector-detail{border:1px solid #cfdfd540;box-shadow:0 15px 40px rgba(5,45,29,.07)}
.site-header .nav-links a,.site-header .zz31-brand-word{filter:drop-shadow(0 2px 3px rgba(1,20,15,.18))}
/* Ambient cinematic movement is subtle and respects reduced motion. */
.zz4-hero .hero-actions .button,.site-header .nav-cta{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.zz4-hero .hero-actions .button:hover,.site-header .nav-cta:hover{transform:translateY(-3px)}
@media(max-width:1200px){.zz4-hero .hero-copy{max-width:min(760px,72vw)}.zz4-hero h1{font-size:clamp(52px,5.1vw,68px)}}
@media(max-width:720px){.zz4-hero .hero-copy{max-width:none}.zz4-hero h1{font-size:clamp(39px,9.5vw,57px)}.zz4-hero h1 em{white-space:normal}.zz4-hero:after{height:42px}.zz40-interior .subhero:after{height:42px}.zz4-sectors{padding-top:30px!important}}
@media(prefers-reduced-motion:reduce){.zz4-hero .hero-actions .button,.site-header .nav-cta{transition:none!important}}
