/* ZYWIENIE ZBIOROWE V4.2 — visual QA repair; applied after V4.1.1 */
:root{--zz42-dark:#042c22;--zz42-gold:#f0c579}
.site-header.zz4-overlay-nav{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
.site-header .zz4-brand{min-width:230px!important;gap:12px!important}
.site-header .zz31-brand-mark{width:66px!important;height:72px!important;filter:drop-shadow(0 2px 6px #03211865)}
.site-header .zz31-brand-word{font-size:16px!important;letter-spacing:.045em;filter:drop-shadow(0 2px 5px #06251a99)}
.site-header .zz31-brand-word strong{font-size:19px!important}
.site-header .zz31-brand-word small{font-size:8px!important;color:#f5d188!important}
.site-footer .zz31-brand-mark{height:70px;width:64px;object-fit:contain}
.site-header .nav-links a{color:#fff!important;text-shadow:0 2px 8px #041f18cf}
.site-header .nav-links a:hover,.site-header .nav-links a.is-active{color:#f1c978!important}
/* Very deliberate foreground visual depth; not a box or an overlay across the whole view. */
.zz4-hero .hero-stage{overflow:visible}
.zz4-hero{overflow:visible}
.zz42-ambient{position:absolute;z-index:7;bottom:-112px;width:min(31vw,520px);height:min(23vw,380px);background-repeat:no-repeat;background-position:center bottom;background-size:100% 100%;pointer-events:none;will-change:transform;opacity:.98;filter:saturate(1.16) brightness(1.05);transform-origin:center bottom}
.zz42-ambient:before{content:'';position:absolute;inset:6% 6% 0;z-index:-1;border-radius:50%;background:radial-gradient(circle at 50% 65%,rgba(255,214,125,.22),rgba(255,214,125,0) 66%);filter:blur(30px)}
.zz42-ambient-left{left:max(-1vw,calc((100% - 1480px)/2 - 85px));background-image:url('blur-left.png')}
.zz42-ambient-right{right:max(-1vw,calc((100% - 1480px)/2 - 85px));width:min(30vw,500px);height:min(22vw,360px);background-image:url('blur-right.png')}
.zz4-hero:after{z-index:4}
.zz4-hero .hero-copy{z-index:9;max-width:min(800px,60vw);width:auto;box-sizing:border-box}
.zz4-hero .hero-copy h1{font-size:clamp(56px,4.95vw,76px);line-height:1.08;letter-spacing:-.06em;overflow-wrap:normal}
.zz4-hero .hero-copy h1 em{white-space:nowrap}
.zz4-hero .hero-gradient{background:linear-gradient(180deg,rgba(1,23,16,.7),rgba(1,23,16,.16) 25%,transparent 50%),linear-gradient(97deg,#031d16f5 0%,#04291fdd 28%,#06362680 50%,#082e1b18 83%),linear-gradient(0deg,#0622193d,transparent 33%)}
.zz4-hero .hero-index,.zz4-scroll-cue{z-index:9}
.zz4-hero .hero-actions{position:relative;z-index:10}
/* Distinct sector cards, flat linework and accessible labels as requested. */
.zz4-sectors{position:relative;z-index:8;padding-top:39px!important}
.zz4-sectors .section-top{margin-bottom:27px!important}
.zz4-sectors .sector-grid.zz42-sector-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:stretch}
.zz4-sectors .sector-tile.zz42-sector-tile{display:flex;align-items:center;gap:13px;min-height:98px;height:auto;border-radius:15px;background:rgba(255,255,255,.91);border:1px solid rgba(240,223,199,.9);box-shadow:0 14px 34px #22453514;padding:17px 13px;text-align:left;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;color:#11392e;overflow:hidden}
.zz4-sectors .sector-tile.zz42-sector-tile:hover,.zz4-sectors .sector-tile.zz42-sector-tile.is-selected{background:#fffdf8;border-color:#dbbb7a;box-shadow:0 17px 40px #18382925;transform:translateY(-4px)!important}
.zz42-sector-icon{flex:0 0 43px;width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#f0f6ef;color:#0b4333;line-height:1}
.zz42-sector-icon .icon{width:26px;height:26px;stroke-width:1.55px}
.zz42-sector-description{display:flex;flex-direction:column;gap:5px;min-width:0}
.zz42-sector-description strong{font-size:clamp(12px,.85vw,15px)!important;line-height:1.26;font-weight:800;letter-spacing:-.02em;white-space:normal;color:#11382e!important}
.zz42-sector-description small{font-size:11px;line-height:1.35;color:#667b70!important}
/* Interior banner: tinted across the nav + image, and always readable over bright laptop surfaces. */
.zz40-interior .subhero.site-shell{min-height:665px;padding-top:160px;padding-bottom:105px}
.zz40-interior .subhero-text{z-index:7;width:min(735px,60vw);isolation:isolate}
.zz40-interior .subhero-text h1{font-size:clamp(55px,4.8vw,78px);line-height:1.09;letter-spacing:-.06em;text-shadow:0 4px 18px #06271b96}
.zz40-interior .subhero-text h1 em{color:#f2c777;text-shadow:0 4px 18px #072a1caa}
.zz40-interior .subhero-text p{font-weight:600;max-width:640px;text-shadow:0 3px 12px #082316cc}
.zz40-interior .subhero-image>img{object-position:70% center;filter:saturate(1.02) contrast(1.04)}
.zz40-interior .subhero-image:after{background:linear-gradient(180deg,#041f19b8,transparent 39%),linear-gradient(95deg,#041f19f7 0%,#063025ee 32%,#092a228e 55%,#061e174b 100%),linear-gradient(0deg,#05231a77,transparent 38%)}
/* Jadlospis banner has very bright photo at left. Specifically and deliberately darken it. */
.zz42-apps .subhero-image.app-image{background:#0b3228!important}
.zz42-apps .subhero-image.app-image>img{object-position:68% 46%;filter:brightness(.76) saturate(.96)}
.zz42-apps .subhero-image.app-image:after{background:linear-gradient(180deg,#021b16c0,transparent 38%),linear-gradient(95deg,#021d17fc 0%,#042a21f9 37%,#092f2799 65%,#041c1544 100%)}
.zz42-apps .subhero-text h1{color:#fff!important}
.zz42-apps .subhero-text h1 em{color:#f2cc85!important}
.zz42-apps .subhero-text .eyebrow,.zz42-apps .subhero-text p{color:#fff9ee!important}
/* Interior image uniqueness: separate assets and per-page photo position. */
.zz42-projekty .subhero-image>img{object-position:68% 43%}
.zz42-materialy .subhero-image>img{object-position:70% 45%}
.zz42-wspolpraca .subhero-image>img{object-position:63% 45%}
.zz42-kontakt .subhero-image>img{object-position:72% 45%}
@media(max-width:1280px){.zz4-sectors .sector-grid.zz42-sector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.zz4-hero .hero-copy{max-width:72vw}.zz4-hero .hero-copy h1{font-size:clamp(48px,5.05vw,70px)}}
@media(max-width:900px){.zz42-ambient{opacity:.72;width:40vw;height:220px;bottom:-46px}.zz42-ambient-left{left:-10vw}.zz42-ambient-right{right:-10vw}.zz4-sectors .sector-grid.zz42-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zz40-interior .subhero-text{width:min(720px,78vw)}}
@media(max-width:720px){
.site-header .header-inner{min-height:82px!important}.site-header .zz4-brand{min-width:0!important;gap:6px!important}.site-header .zz31-brand-mark{width:43px!important;height:48px!important}.site-header .zz31-brand-word{font-size:12px!important}.site-header .zz31-brand-word strong{font-size:14px!important}.site-header .zz31-brand-word small{font-size:6.5px!important}
.zz4-hero .hero-stage{height:790px!important;min-height:790px!important}.zz4-hero .hero-copy{left:22px!important;right:22px!important;bottom:111px!important;top:auto!important;transform:none!important;width:calc(100% - 44px)!important;max-width:calc(100% - 44px)!important}
.zz4-hero .hero-copy h1{font-size:clamp(33px,8.7vw,48px)!important;line-height:1.13!important;letter-spacing:-.055em!important;overflow-wrap:normal!important;word-break:normal!important;max-width:100%!important}
.zz4-hero .hero-copy h1 em{white-space:normal!important;display:block!important;max-width:100%!important}
.zz4-hero .hero-copy p{font-size:15px;line-height:1.58}
.zz4-hero .hero-photo{object-position:65% top}
.zz42-ambient{width:58vw;height:190px;bottom:-32px;opacity:.58;filter:saturate(1.1) brightness(1.02)}
.zz42-ambient-left{left:-16vw}.zz42-ambient-right{right:-16vw}
.zz4-sectors .sector-grid.zz42-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.zz4-sectors .sector-tile.zz42-sector-tile{min-height:94px;padding:11px 9px;gap:7px;flex-direction:column;align-items:flex-start}
.zz42-sector-icon{width:35px;height:35px;flex:0 0 35px}.zz42-sector-icon .icon{width:22px;height:22px}
.zz42-sector-description strong{font-size:13px!important}.zz42-sector-description small{font-size:10px}
.zz40-interior .subhero.site-shell{min-height:680px;padding:175px 22px 82px;align-items:flex-end}
.zz40-interior .subhero-text{width:100%!important;max-width:100%!important}
.zz40-interior .subhero-text h1{font-size:clamp(35px,9.1vw,48px)!important;line-height:1.13!important;overflow-wrap:normal}
.zz40-interior .subhero-text h1 em{white-space:normal!important}
.zz40-interior .subhero-text p{font-size:15.5px!important;max-width:100%}
.zz40-interior .subhero-image>img{object-position:68% center}
.zz40-interior .subhero-image:after{background:linear-gradient(180deg,#041c16bf,transparent 35%),linear-gradient(0deg,#04251dfd 0%,#05281fea 52%,#092b2155 100%)}
.zz42-apps .subhero-image.app-image:after{background:linear-gradient(180deg,#041c16b9,transparent 35%),linear-gradient(0deg,#021e18ff 0%,#04251dfc 58%,#041e157c 100%)}
}
@media(prefers-reduced-motion:reduce){.zz42-ambient{transform:none!important;will-change:auto}.zz4-sectors .sector-tile.zz42-sector-tile{transition:none!important}}

/* V4.2.1: foreground depth is now inside the visible canvas, not mostly off-screen. */
@media(min-width:901px){
 .zz4-hero .zz42-ambient-left{left:-7.5vw;bottom:-14px;width:min(35vw,600px);height:min(48vw,670px);opacity:.94;filter:saturate(1.30) contrast(1.08)}
 .zz4-hero .zz42-ambient-right{right:-6.5vw;bottom:-16px;width:min(35vw,620px);height:min(48vw,680px);opacity:.96;filter:saturate(1.20) contrast(1.03)}
}
@media(min-width:721px) and (max-width:900px){
 .zz4-hero .zz42-ambient-left{left:-16vw;opacity:.8;width:50vw;height:500px}
 .zz4-hero .zz42-ambient-right{right:-15vw;opacity:.85;width:51vw;height:500px}
}
@media(max-width:720px){
 /* Do not obscure key text on phones. Keep visual depth near the bottom corners. */
 .zz4-hero .zz42-ambient-left{left:-32vw;bottom:0;opacity:.33}
 .zz4-hero .zz42-ambient-right{right:-35vw;bottom:0;opacity:.55}
}
