:root{--kpr-orange:#e65912;--kpr-navy:#07182b}.kpr-projects,.kpr-single{font-family:Barlow,Arial,sans-serif;color:var(--kpr-navy)}.kpr-projects *,.kpr-single *{box-sizing:border-box}.kpr-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.kpr-filter-toggle{width:335px;height:62px;border:0;background:#f3f3f3;padding:0 18px 0 28px;display:flex;align-items:center;justify-content:space-between;color:var(--kpr-navy);font:500 18px Barlow;cursor:pointer}.kpr-plus{width:36px;height:36px;border-radius:50%;background:#fff;position:relative}.kpr-plus:before,.kpr-plus:after{content:"";position:absolute;top:17px;width:10px;height:2px;background:var(--kpr-orange)}.kpr-plus:before{left:9px;transform:rotate(45deg)}.kpr-plus:after{right:9px;transform:rotate(-45deg)}.kpr-filter-toggle[aria-expanded=true] .kpr-plus:before{transform:rotate(-45deg)}.kpr-filter-toggle[aria-expanded=true] .kpr-plus:after{transform:rotate(45deg)}.kpr-result-count{font-size:17px}.kpr-filter-panel{background:#f3f3f3;padding:25px 24px}.kpr-filter-heading{font-size:18px;margin-bottom:12px}.kpr-accordion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 12px}.kpr-filter-group{position:relative;border-bottom:1px solid #d4d6d8}.kpr-category-toggle{width:100%;min-height:58px;border:0;background:transparent;padding:0 8px 0 30px;display:flex;justify-content:space-between;align-items:center;text-align:left;color:var(--kpr-navy);font:500 14px Barlow;cursor:pointer}.kpr-category-toggle i{width:14px;height:14px;position:relative}.kpr-category-toggle i:before,.kpr-category-toggle i:after{content:"";position:absolute;left:0;top:6px;width:14px;height:1.5px;background:var(--kpr-navy)}.kpr-category-toggle i:after{transform:rotate(90deg)}.kpr-category-toggle[aria-expanded=true] i:after{transform:none}.kpr-category-check{position:absolute;left:3px;top:20px;z-index:2}.kpr-category-check input{opacity:0;position:absolute}.kpr-category-check span{display:block;width:16px;height:16px;border:1px solid var(--kpr-navy)}.kpr-category-check input:checked+span{background:var(--kpr-orange);border-color:var(--kpr-orange);box-shadow:inset 0 0 0 3px #f3f3f3}.kpr-tag-panel{padding:10px 0 12px 30px;display:flex;gap:6px;flex-wrap:wrap}.kpr-tag-chip input{position:absolute;opacity:0}.kpr-tag-chip span{display:inline-flex;min-height:36px;align-items:center;padding:7px 13px;border:1px solid var(--kpr-navy);font-size:11px;cursor:pointer}.kpr-tag-chip input:checked+span{background:var(--kpr-orange);border-color:var(--kpr-orange);color:#fff}.kpr-filter-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px}.kpr-filter-actions button{height:46px;padding:0 20px;border:1px solid var(--kpr-navy);text-transform:uppercase;letter-spacing:.14em;font-weight:700;cursor:pointer}.kpr-clear{background:transparent}.kpr-submit{background:var(--kpr-navy);color:#fff}.kpr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.kpr-projects.is-loading .kpr-grid{opacity:.35}.kpr-card-link{display:block;text-decoration:none}.kpr-image-wrap{height:490px;overflow:hidden;position:relative;background:#eee}.kpr-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.kpr-hover{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);width:82px;height:82px;border-radius:50%;background:var(--kpr-orange);color:#fff;display:flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:11px;font-weight:700;opacity:0;transition:.2s}.kpr-card-link:hover .kpr-hover{opacity:1;transform:translate(-50%,-50%) scale(1)}.kpr-card-link:hover img{transform:scale(1.025)}.kpr-card-copy{position:relative;width:min(76%,330px);margin:-182px 0 16px 14px;padding:34px 32px 28px;min-height:170px;background:#fff}.kpr-card-copy h2{margin:0 0 8px;font-size:28px;line-height:1.04;color:var(--kpr-navy)}.kpr-card-copy p{margin:0 0 17px;color:#485665}.kpr-card-copy i{display:block;width:27px;height:6px;border-radius:5px;background:var(--kpr-orange)}
.kpr-hero{min-height:68vh;background-position:center;background-size:cover;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}.kpr-hero-inner{width:100%;overflow:hidden}.kpr-hero-category{font-size:32px;margin-bottom:18px}.kpr-hero h1{margin:0;color:#fff!important;line-height:.96;text-transform:uppercase;white-space:nowrap}.kpr-hero-title{width:100%;overflow:hidden;font-size:clamp(48px,5.15vw,79px);font-weight:500;letter-spacing:-.025em}.kpr-hero-marquee{display:flex;width:max-content;will-change:transform;animation:kprHeroMarquee var(--kpr-marquee-duration,24s) linear infinite}.kpr-hero-marquee-set{display:flex;align-items:center;flex:none;width:max-content}.kpr-hero-marquee-group{display:flex;align-items:center;flex:none;gap:.42em;padding-right:.42em}.kpr-hero-dot{font-size:.68em;line-height:1}.kpr-hero:hover .kpr-hero-marquee{animation-play-state:running}@keyframes kprHeroMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--kpr-marquee-shift,-50%),0,0)}}.kpr-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1240px;margin:auto;padding:58px 30px}.kpr-facts strong{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:12px;margin-bottom:8px}.kpr-facts span{font-size:14px}.kpr-story{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.kpr-story-text{padding:9vw 6vw;display:flex;flex-direction:column;justify-content:center}.kpr-story-text h2{font-size:clamp(38px,4vw,64px);line-height:1.05;font-weight:400;margin:0 0 55px}.kpr-story-image img{width:100%;height:100%;object-fit:cover;display:block}.kpr-richtext{font-size:15px;line-height:1.55}.kpr-gallery{padding:90px 6vw}.kpr-gallery h2{font-size:60px;font-weight:400}.kpr-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpr-gallery-item{height:490px;position:relative;display:block;border:0!important;outline:0!important;background:transparent!important}.kpr-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;border:0!important}.kpr-gallery-item span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:var(--kpr-orange);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0}.kpr-gallery-item:hover span{opacity:1}.kpr-related{padding:75px 0 90px;background:#fff;text-align:center;overflow:hidden}.kpr-related>h2{font-size:56px;font-weight:400}.kpr-related>h2:after{content:"";display:block;width:6px;height:24px;background:var(--kpr-orange);margin:24px auto}.kpr-related-slider{display:flex;gap:28px;transition:transform .45s;padding:30px 12vw;text-align:left}.kpr-related-slider a{flex:0 0 58%;position:relative;color:#fff;text-decoration:none;background:var(--kpr-navy)}.kpr-related-slider img{width:100%;height:440px;object-fit:cover;display:block}.kpr-related-slider span{display:block;font-size:32px;padding:18px}.kpr-related-slider i{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) scale(.7);width:82px;height:82px;border-radius:50%;background:var(--kpr-orange);display:flex;align-items:center;justify-content:center;font-style:normal;text-transform:uppercase;font-size:11px;opacity:0}.kpr-related-slider a:hover i{opacity:1;transform:translate(-50%,-50%) scale(1)}.kpr-related-arrows{display:flex;justify-content:center;gap:12px}.kpr-related-arrows button{width:58px;height:58px;border:0;border-radius:50%;background:var(--kpr-orange);color:#fff;font-size:34px;cursor:pointer}.kpr-lightbox{position:fixed;z-index:999999;inset:0;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center}.kpr-lightbox[hidden]{display:none}.kpr-lightbox img{max-width:78vw;max-height:78vh}.kpr-lightbox button{position:absolute;border:0;border-radius:50%;background:var(--kpr-orange);color:#fff;width:54px;height:54px;font-size:30px}.kpr-lightbox .close{right:8%;top:8%;background:#fff;color:var(--kpr-navy)}.kpr-lightbox .lb-prev{left:8%;bottom:10%}.kpr-lightbox .lb-next{right:8%;bottom:10%}
@media(max-width:900px){.kpr-accordion-grid{grid-template-columns:repeat(2,1fr)}.kpr-image-wrap{height:390px}.kpr-facts{grid-template-columns:repeat(2,1fr)}.kpr-story{grid-template-columns:1fr}.kpr-story-b .kpr-story-image{order:2}.kpr-gallery-grid{grid-template-columns:repeat(2,1fr)}.kpr-gallery-item{height:420px}}
@media(max-width:767px){.kpr-filter-toggle{width:100%}.kpr-toolbar{gap:15px}.kpr-accordion-grid,.kpr-grid{grid-template-columns:1fr}.kpr-image-wrap{height:330px}.kpr-card-copy{margin-top:-122px}.kpr-hero-title{font-size:clamp(38px,10vw,56px)}.kpr-hero-category{font-size:24px}.kpr-facts{grid-template-columns:1fr}.kpr-gallery-grid{grid-template-columns:1fr}.kpr-gallery-item{height:440px}.kpr-related-slider a{flex-basis:82%}.kpr-related-slider img{height:330px}}
/* v3.3.1 – wymuszenie palety KARMAR i uproszczony filtr */
.kpr-projects{--kpr-orange:#e65912!important;--kpr-navy:#07182b!important}
.kpr-projects .kpr-filter-toggle{
  background:#f3f3f3!important;color:#07182b!important;border:0!important;
  box-shadow:none!important;outline:0!important;border-radius:0!important;
}
.kpr-projects .kpr-filter-toggle:hover,.kpr-projects .kpr-filter-toggle:focus{
  background:#f3f3f3!important;color:#07182b!important;border-color:transparent!important;
}
.kpr-projects .kpr-plus:before,.kpr-projects .kpr-plus:after{background:#e65912!important}
.kpr-projects .kpr-filter-panel{background:#f3f3f3!important}
.kpr-projects .kpr-category-toggle{
  padding-left:0!important;background:transparent!important;color:#07182b!important;
  border:0!important;box-shadow:none!important;outline:0!important;border-radius:0!important;
}
.kpr-projects .kpr-category-toggle:hover,.kpr-projects .kpr-category-toggle:focus{
  background:transparent!important;color:#07182b!important;border-color:transparent!important;
}
.kpr-projects .kpr-category-toggle i:before,.kpr-projects .kpr-category-toggle i:after{background:#07182b!important}
.kpr-projects .kpr-tag-panel{padding-left:0!important}
.kpr-projects .kpr-tag-chip span{background:transparent!important;color:#07182b!important;border-color:#07182b!important}
.kpr-projects .kpr-tag-chip input:checked+span{background:#e65912!important;border-color:#e65912!important;color:#fff!important}
.kpr-projects .kpr-submit{background:#07182b!important;color:#fff!important;border-color:#07182b!important}
.kpr-projects .kpr-clear{background:transparent!important;color:#07182b!important;border-color:#07182b!important}
.kpr-projects .kpr-card-copy i,.kpr-projects .kpr-hover{background:#e65912!important}

/* v3.3.2: link titles never inherit underlines from the theme or Elementor. */
.kpr-projects .kpr-card-link,
.kpr-projects .kpr-card-link:link,
.kpr-projects .kpr-card-link:visited,
.kpr-projects .kpr-card-link:hover,
.kpr-projects .kpr-card-link:focus,
.kpr-projects .kpr-card-link h2,
.kpr-projects .kpr-card-link p,
.kpr-projects .kpr-card-copy h2,
.kpr-projects .kpr-card-copy p {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* v3.3.3: no underlines on project card titles or links. */
.kpr-card-link,.kpr-card-link:hover,.kpr-card-link:focus,.kpr-card-link:active,.kpr-card-link h2,.kpr-card-link:hover h2,.kpr-card-link:focus h2,.kpr-related-slider a,.kpr-related-slider a:hover,.kpr-related-slider a:focus{text-decoration:none!important;}
/* v3.3.4 – czysta ikona galerii i puste dane projektu */
.kpr-gallery-item span{
  font-size:0!important;
  line-height:0!important;
  background:#e65912!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
}
.kpr-gallery-item span:before,
.kpr-gallery-item span:after{
  content:"";
  position:absolute;
  display:block;
}
.kpr-gallery-item span:before{
  width:14px;
  height:14px;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
  transform:translate(2px,-2px);
}
.kpr-gallery-item span:after{
  width:15px;
  height:2px;
  background:#fff;
  transform:rotate(-45deg);
}
.kpr-gallery-item:focus,
.kpr-gallery-item:focus-visible{
  outline:0!important;
  box-shadow:none!important;
}
.kpr-facts span:empty{min-height:1em;display:block}


/* v3.3.6 – nawigacja slidera: wyłącznie pomarańcz KARMAR i idealnie wycentrowane strzałki. */
.kpr-single .kpr-related .kpr-related-arrows{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:100%!important;
  margin:0 auto!important;
  padding:0!important;
}
.kpr-single .kpr-related .kpr-related-arrows button,
.kpr-single .kpr-related .kpr-related-arrows button.prev,
.kpr-single .kpr-related .kpr-related-arrows button.next,
.kpr-single .kpr-related .kpr-related-arrows button:hover,
.kpr-single .kpr-related .kpr-related-arrows button:focus,
.kpr-single .kpr-related .kpr-related-arrows button:active{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 58px!important;
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#e65912!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:none!important;
  outline:0!important;
  font-size:0!important;
  line-height:1!important;
  text-indent:0!important;
  transform:none!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.kpr-single .kpr-related .kpr-related-arrows button:hover{
  background:#cc4f10!important;
}
.kpr-single .kpr-related .kpr-related-arrows button:before{
  content:""!important;
  display:block!important;
  width:10px!important;
  height:10px!important;
  margin:0!important;
  padding:0!important;
  border-top:2px solid #fff!important;
  border-right:2px solid #fff!important;
  box-sizing:border-box!important;
  position:static!important;
  background:transparent!important;
}
.kpr-single .kpr-related .kpr-related-arrows button.prev:before{
  transform:rotate(-135deg)!important;
  margin-left:4px!important;
}
.kpr-single .kpr-related .kpr-related-arrows button.next:before{
  transform:rotate(45deg)!important;
  margin-right:4px!important;
}
.kpr-single .kpr-related .kpr-related-arrows button:after{
  content:none!important;
  display:none!important;
}


/* v3.3.9 – własne SVG, odporne na style Elementora i motywu */
.kpr-lightbox button{
  box-sizing:border-box!important;margin:0!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;
  line-height:0!important;font-size:0!important;text-indent:0!important;
  border:0!important;border-radius:50%!important;box-shadow:none!important;
  transform:none!important;background:#e65912!important;color:#fff!important;
  overflow:visible!important;
}
.kpr-lightbox .close{background:#fff!important;color:#07182b!important}
.kpr-lightbox button:before,.kpr-lightbox button:after{content:none!important;display:none!important}
.kpr-lightbox button svg{
  display:block!important;width:20px!important;height:20px!important;
  margin:0!important;padding:0!important;overflow:visible!important;
  fill:none!important;stroke:currentColor!important;stroke-width:2.2!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
  pointer-events:none!important;position:static!important;transform:none!important;
}
.kpr-lightbox .close svg{width:19px!important;height:19px!important}
.kpr-lightbox button:hover{background:#cf4e0d!important;color:#fff!important}
.kpr-lightbox .close:hover{background:#f2f2f2!important;color:#07182b!important}

/* v3.3.11: hero title marquee matched to Bouygues proportions. */
.kpr-single .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (prefers-reduced-motion:reduce){.kpr-hero-marquee{animation:none;transform:translateX(0)}}

/* v3.3.12: truly seamless, continuously repeated project-title marquee. */
.kpr-hero-marquee-set{flex-shrink:0}
.kpr-hero-marquee-group>span:last-child{display:block;white-space:nowrap}
.kpr-taxonomy-archive{max-width:1440px;margin:0 auto;padding:70px 30px 100px}.kpr-taxonomy-header{margin-bottom:45px}.kpr-taxonomy-header h1{margin:0;color:#07182b;font:400 clamp(42px,5vw,76px)/1.03 Barlow,Arial,sans-serif}.kpr-taxonomy-description{max-width:850px;margin-top:20px;font:400 16px/1.6 Barlow,Arial,sans-serif;color:#485665}@media(max-width:767px){.kpr-taxonomy-archive{padding:42px 16px 70px}.kpr-taxonomy-header{margin-bottom:28px}}

/* v4.1.2 — category accordions: tag lists stay hidden until + is clicked */
.kpr-projects .kpr-tag-panel[hidden]{display:none!important}
.kpr-projects .kpr-tag-panel:not([hidden]){display:flex!important}


/* v4.1.3 — powrót do listy realizacji */
.kpr-back-section{padding:34px 6vw 52px;background:#fff;text-align:center}
.kpr-back-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 28px;border:1px solid #07182b;background:#fff;color:#07182b!important;text-decoration:none!important;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;transition:background .2s,color .2s,border-color .2s}
.kpr-back-button:hover,.kpr-back-button:focus{background:#e65912;border-color:#e65912;color:#fff!important;text-decoration:none!important}
.kpr-back-button span{font-size:20px;line-height:1;transform:translateY(-1px)}
