
.kjh-path-section{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  margin:0!important;
  padding:118px 0 82px!important;
  background:#fbfaf8!important;
  overflow:hidden!important;
}

.kjh-path-section *{
  box-sizing:border-box!important;
}

.kjh-path-shell{
  width:min(1660px,calc(100% - 80px))!important;
  margin:0 auto!important;
}

.kjh-path-kicker{
  margin:0 0 17px!important;
  color:#8c817b!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:500!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}

.kjh-path-title{
  margin:0 0 46px!important;
  color:#111!important;
  font-family:"Bodoni Moda",Didot,"Times New Roman",serif!important;
  font-size:clamp(54px,4.25vw,74px)!important;
  line-height:.96!important;
  font-weight:400!important;
  letter-spacing:-.045em!important;
}

.kjh-path-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}

.kjh-path-card{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:clamp(500px,30vw,540px)!important;
  min-height:500px!important;
  max-height:540px!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid rgba(123,79,70,.22)!important;
  border-radius:12px!important;
  background:#f7f1ec!important;
  color:#111!important;
  text-decoration:none!important;
  isolation:isolate!important;
}

.kjh-path-card::after{
  content:""!important;
  position:absolute!important;
  top:-12%!important;
  left:-12%!important;
  width:124%!important;
  height:124%!important;
  z-index:0!important;
  display:block!important;
  background-image:var(--kjh-path-img)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center center!important;
  transform-origin:center center!important;
  transform:translate(var(--kjh-photo-x,0%),var(--kjh-photo-y,0%)) scale(var(--kjh-photo-zoom,1))!important;
  transition:transform .45s cubic-bezier(.2,.65,.25,1),filter .45s ease!important;
}

.kjh-path-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  background:linear-gradient(
    90deg,
    rgba(251,248,245,.995) 0%,
    rgba(251,248,245,.98) 28%,
    rgba(251,248,245,.86) 40%,
    rgba(251,248,245,.48) 55%,
    rgba(251,248,245,.06) 73%,
    rgba(251,248,245,0) 82%
  )!important;
  pointer-events:none!important;
}

.kjh-path-card:hover::after{
  transform:translateX(0) scale(1.022)!important;
  filter:saturate(.98) contrast(1.01)!important;
}

.kjh-path-content{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  width:48%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:40px 34px 112px!important;
  color:#111!important;
}

.kjh-path-number-row{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  margin:0 0 29px!important;
  color:#9a6559!important;
}

.kjh-path-number{
  display:block!important;
  font-family:"Bodoni Moda",Didot,serif!important;
  font-size:21px!important;
  line-height:1!important;
  font-weight:400!important;
}

.kjh-path-line{
  display:block!important;
  width:62px!important;
  height:1px!important;
  background:#b98b82!important;
}

.kjh-path-card h3{
  margin:0 0 18px!important;
  max-width:350px!important;
  color:#111!important;
  font-family:"Bodoni Moda",Didot,"Times New Roman",serif!important;
  font-size:clamp(37px,2.55vw,49px)!important;
  line-height:1.02!important;
  font-weight:400!important;
  letter-spacing:-.035em!important;
}

.kjh-path-card p{
  margin:0!important;
  max-width:360px!important;
  color:#706b69!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:15.2px!important;
  line-height:1.52!important;
  font-weight:400!important;
}

.kjh-path-cta{
  position:absolute!important;
  left:34px!important;
  bottom:30px!important;
  z-index:4!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0!important;
  color:#8e1730!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:11.5px!important;
  line-height:1.2!important;
  font-weight:500!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

.kjh-path-cta-label{
  display:block!important;
  padding:0 0 6px!important;
  border-bottom:1px solid rgba(142,23,48,.55)!important;
  white-space:nowrap!important;
}

.kjh-path-arrow{
  display:grid!important;
  place-items:center!important;
  flex:0 0 44px!important;
  width:44px!important;
  height:44px!important;
  border:1px solid #8e1730!important;
  border-radius:50%!important;
  font-size:22px!important;
  line-height:1!important;
  transition:transform .25s ease,background .25s ease,color .25s ease!important;
}

.kjh-path-card:hover .kjh-path-arrow{
  transform:translateX(3px)!important;
  background:#8e1730!important;
  color:#fff!important;
}

/* technical badges never belong on the public site */
body:not(.wp-admin) .kjh-hero-fix-debug,
body:not(.wp-admin) [data-kjh-hero-fix-debug],
body:not(.wp-admin) .kjh-debug-badge{
  display:none!important;
}

@media(max-width:1180px){
  .kjh-path-shell{
    width:calc(100% - 48px)!important;
  }
  .kjh-path-card{
    height:500px!important;
    min-height:500px!important;
  }
  .kjh-path-content{
    width:53%!important;
    padding-left:30px!important;
    padding-right:28px!important;
  }
  .kjh-path-cta{
    left:30px!important;
  }
}

@media(max-width:900px){
  .kjh-path-section{
    padding:94px 0 62px!important;
  }
  .kjh-path-shell{
    width:calc(100% - 28px)!important;
  }
  .kjh-path-title{
    margin-bottom:32px!important;
    font-size:clamp(46px,8vw,62px)!important;
  }
  .kjh-path-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .kjh-path-card{
    height:510px!important;
    min-height:510px!important;
    max-height:none!important;
  }
  .kjh-path-content{
    width:58%!important;
  }
}

@media(max-width:640px){
  .kjh-path-section{
    padding:76px 0 48px!important;
  }
  .kjh-path-kicker{
    font-size:12px!important;
  }
  .kjh-path-title{
    margin-bottom:26px!important;
    font-size:45px!important;
  }
  .kjh-path-card{
    height:560px!important;
    min-height:560px!important;
    border-radius:9px!important;
  }
  .kjh-path-card::before{
    background:linear-gradient(
      180deg,
      rgba(251,248,245,.985) 0%,
      rgba(251,248,245,.93) 34%,
      rgba(251,248,245,.70) 52%,
      rgba(251,248,245,.15) 75%,
      rgba(251,248,245,0) 100%
    )!important;
  }
  .kjh-path-card::after{
    background-position:62% 76%!important;
  }
  .kjh-path-card--work::after{
    background-position:70% 70%!important;
  }
  .kjh-path-content{
    width:100%!important;
    padding:28px 24px 100px!important;
  }
  .kjh-path-number-row{
    margin-bottom:24px!important;
  }
  .kjh-path-card h3{
    max-width:300px!important;
    font-size:38px!important;
  }
  .kjh-path-card p{
    max-width:325px!important;
    font-size:14.5px!important;
  }
  .kjh-path-cta{
    left:24px!important;
    bottom:24px!important;
  }
}






/* v1.1.1 — STAŁE OKNO KADRU
   Proporcje kafla nie zmieniają się wraz z szerokością strony.
   Kafel może się skalować, ale zawsze zachowuje dokładnie ten sam format. */
.kjh-path-card{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1.42 / 1!important;
}

.kjh-path-content{
  height:100%!important;
  min-height:0!important;
}

/* również na tabletach i mobile zachowujemy TEN SAM format okna */
@media(max-width:1180px){
  .kjh-path-card{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1.42 / 1!important;
  }
}

@media(max-width:900px){
  .kjh-path-card{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1.42 / 1!important;
  }
}

@media(max-width:640px){
  .kjh-path-card{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1.42 / 1!important;
  }
}

/* v1.1.2: prawidłowa wysokość kart na mobile. Desktop bez zmian. */
@media (max-width: 900px) {
  html body #page-container #et-main-area .et_pb_section.kjh-path-section,
  html body #page-container #et-main-area .et_pb_section.kjh-path-section::before,
  html body #page-container #et-main-area .et_pb_section.kjh-path-section::after {
    background: #fbfaf8 !important;
    background-color: #fbfaf8 !important;
    background-image: none !important;
  }
  .kjh-path-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .kjh-path-shell {
    width: calc(100% - 28px) !important;
    max-width: 620px !important;
  }
  .kjh-path-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }
  .kjh-path-card {
    width: 100% !important;
    height: 455px !important;
    min-height: 455px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
  }
  .kjh-path-content {
    width: 100% !important;
    height: 100% !important;
    padding: 28px 24px 104px !important;
  }
  .kjh-path-card h3 {
    max-width: 300px !important;
    font-size: clamp(36px, 10.5vw, 44px) !important;
    line-height: .98 !important;
  }
  .kjh-path-card p {
    max-width: 315px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  .kjh-path-cta {
    left: 24px !important;
    right: 20px !important;
    bottom: 24px !important;
    width: auto !important;
    justify-content: space-between !important;
  }
  .kjh-path-cta-label { white-space: normal !important; }
}
@media (max-width: 520px) {
  .kjh-path-card {
    height: 398px !important;
    min-height: 398px !important;
  }
  .kjh-path-section { padding: 48px 0 36px !important; }
  .kjh-path-shell { width: calc(100% - 24px) !important; }
  .kjh-path-kicker { margin-bottom: 10px !important; }
  .kjh-path-title { margin-bottom: 20px !important; font-size: clamp(36px,10.8vw,44px) !important; line-height: .94 !important; }
  .kjh-path-grid { gap: 14px !important; }
  .kjh-path-content { padding: 23px 20px 82px !important; }
  .kjh-path-number-row { margin-bottom: 16px !important; }
  .kjh-path-card h3 { max-width: 260px !important; font-size: clamp(31px,9.2vw,37px) !important; line-height: .98 !important; }
  .kjh-path-card p { max-width: 286px !important; margin-top: 15px !important; font-size: 13.5px !important; line-height: 1.43 !important; }
  .kjh-path-cta { left: 20px !important; right: 18px !important; bottom: 19px !important; }
  .kjh-path-arrow { width: 48px !important; height: 48px !important; }
}
