/* Home page: client feedback, Beyond the Work gallery, and page-only presentation */

/* Client feedback and recognition */
.kp-client-feedback-section{
  width:100%;
  padding:80px 24px 40px;
  background:transparent;
}
.kp-client-feedback-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:76px 46px 56px;
  overflow:hidden;
  border-radius:34px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 22px 60px rgba(17,17,17,.07);
}
.kp-client-feedback-header{
  max-width:760px;
  margin:0 auto 46px;
  text-align:center;
}
.kp-client-feedback-header span{
  display:inline-block;
  margin-bottom:16px;
  padding:6px 12px;
  border-radius:999px;
  background:#F7F4F1;
  border:1px solid rgba(17,17,17,.08);
  color:#2B2B2B;
  font-family:"Montserrat",sans-serif;
  font-size:.66rem;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.kp-client-feedback-header h2{
  margin:0 0 16px;
  color:#111111;
  font-family:"Cormorant Garamond",serif;
  font-weight:500;
  font-size:clamp(2.35rem,4.8vw,4rem);
  line-height:1.05;
}
.kp-client-feedback-header p{
  margin:0 auto;
  max-width:710px;
  color:#2B2B2B;
  font-family:"Montserrat",sans-serif;
  font-size:.96rem;
  line-height:1.85;
}
.kp-client-carousel{
  display:grid;
  grid-template-columns:minmax(0,640px);
  align-items:center;
  justify-content:center;
  gap:22px;
}
.kp-client-carousel-window{
  position:relative;
  min-height:430px;
}
.kp-client-slide{
  position:absolute;
  inset:0;
  padding:50px 44px;
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,244,241,.78));
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 16px 42px rgba(17,17,17,.06);
  text-align:center;
  opacity:0;
  transform:translateX(24px) scale(.985);
  pointer-events:none;
  transition:opacity .65s ease, transform .65s ease;
}
.kp-client-slide.is-active{
  opacity:1;
  transform:translateX(0) scale(1);
  pointer-events:auto;
}
.kp-client-photo{
  width:106px;
  height:106px;
  margin:0 auto 22px;
  border-radius:999px;
  background:#F7F4F1;
  border:1px solid rgba(17,17,17,.13);
  box-shadow:0 12px 26px rgba(17,17,17,.08);
  color:#111111;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Montserrat",sans-serif;
  font-size:1.15rem;
  font-weight:700;
}
.kp-client-slide h3{
  margin:0 0 6px;
  color:#111111;
  font-family:"Montserrat",sans-serif;
  font-size:1.1rem;
  font-weight:700;
}
.kp-client-role{
  margin:0 0 18px!important;
  color:#6d6661!important;
  font-family:"Montserrat",sans-serif;
  font-size:.84rem!important;
  line-height:1.4!important;
}
.kp-client-stars{
  margin-bottom:24px;
  color:#A32024;
  letter-spacing:4px;
  font-size:1rem;
}
.kp-client-slide blockquote{
  max-width:470px;
  margin:0 auto;
  color:#2B2B2B;
  font-family:"Montserrat",sans-serif;
  font-size:.98rem;
  line-height:2;
}

.kp-client-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:30px;
}
.kp-client-dots button{
  width:9px;
  height:9px;
  border:0;
  border-radius:999px;
  background:rgba(17,17,17,.22);
  padding:0;
  cursor:pointer;
  transition:width .25s ease, background .25s ease;
}
.kp-client-dots button.is-active{
  width:32px;
  background:#A32024;
}
@media(max-width:780px){
  .kp-client-feedback-section{padding:64px 16px 32px;}
  .kp-client-feedback-wrap{padding:52px 22px 42px;border-radius:28px;}
  .kp-client-carousel{display:block;}
  .kp-client-carousel-window{min-height:500px;}
  .kp-client-slide{padding:42px 26px;min-height:500px;}
  .kp-client-nav{display:none;}
}

.kp-client-photo-img{
  object-fit:cover;
  display:block;
}

/* Live Google Sheets testimonial overflow fix */
.kp-client-carousel-window{position:relative!important;min-height:0!important;overflow:hidden!important;}
.kp-client-slide{position:relative!important;inset:auto!important;display:none!important;min-height:auto!important;height:auto!important;max-width:100%!important;overflow:hidden!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;transform:translateY(10px) scale(.99)!important;}
.kp-client-slide.is-active{display:block!important;transform:translateY(0) scale(1)!important;}
.kp-client-sheet-fields,.kp-client-slide h3,.kp-client-role,.kp-client-slide blockquote{max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
.kp-client-slide blockquote{white-space:pre-wrap!important;overflow:visible!important;}
.kp-client-empty p{margin:0!important;color:#6d6661!important;font-family:"Montserrat",sans-serif!important;font-size:.9rem!important;line-height:1.7!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
@media(max-width:780px){.kp-client-carousel-window{min-height:0!important}.kp-client-slide{min-height:auto!important}}

/* Premium Client Feedback & Recognition motion + section divider */
.kp-client-feedback-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.kp-client-feedback-section::after {
  content: "";
  position: absolute;
  inset: 10% auto auto 50%;
  width: 340px;
  height: 340px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(163, 32, 36, .10), transparent 68%);
  filter: blur(18px);
  transform: translateX(-50%);
  animation: kpFeedbackAmbient 11s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: -1;
}

.kp-client-carousel {
  position: relative;
}

.kp-client-slide.is-active {
  animation: kpFeedbackSlideIn .72s ease both, kpFeedbackFloat 6.5s ease-in-out infinite !important;
}

.kp-client-slide.is-active::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(120deg, transparent 22%, rgba(255,255,255,.36), transparent 58%);
  opacity: 0;
  transform: translateX(-70%);
  animation: kpFeedbackSheen 7.5s ease-in-out infinite;
  pointer-events: none;
}

.kp-client-photo {
  animation: kpFeedbackAvatarPulse 3.8s ease-in-out infinite;
}

.kp-client-stars {
  animation: kpFeedbackStarGlow 3.4s ease-in-out infinite;
}

.kp-client-dots button {
  position: relative;
  overflow: hidden;
}

.kp-client-dots button.is-active::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(163, 32, 36, .25);
  animation: kpFeedbackDotFill 4.5s linear infinite;
  transform-origin: left center;
}

@keyframes kpFeedbackSlideIn {
  from {
    opacity: 0;
    transform: translateY(14px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes kpFeedbackFloat {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -7px;
  }
}

@keyframes kpFeedbackSheen {
  0%, 68% {
    opacity: 0;
    transform: translateX(-70%);
  }
  78% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(70%);
  }
}

@keyframes kpFeedbackAmbient {
  from {
    transform: translateX(-50%) translateY(0) scale(1);
    opacity: .55;
  }
  to {
    transform: translateX(-44%) translateY(24px) scale(1.08);
    opacity: .85;
  }
}

35%, 64% {
    opacity: 1;
  }
  84%, 100% {
    left: 100%;
    opacity: 0;
  }
}

@keyframes kpFeedbackAvatarPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(163, 32, 36, .18);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(163, 32, 36, 0);
  }
}

@keyframes kpFeedbackStarGlow {
  0%, 100% {
    opacity: .72;
    letter-spacing: .16em;
  }
  50% {
    opacity: 1;
    letter-spacing: .21em;
  }
}

@keyframes kpFeedbackDotFill {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .kp-client-feedback-section::after,
  
  .kp-client-slide.is-active,
  .kp-client-slide.is-active::after,
  .kp-client-photo,
  .kp-client-stars,
  .kp-client-dots button.is-active::after {
    animation: none !important;
  }
}

.kp-client-feedback-section {
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.kp-client-feedback-section:hover {
  transform: translateY(-4px);
}

.kp-client-feedback-section:hover::before {
  background: linear-gradient(90deg, transparent, rgba(163, 32, 36, .58), rgba(17, 17, 17, .14), transparent);
}

.kp-client-feedback-section:hover::after {
  opacity: 1;
  filter: blur(16px);
}

.kp-client-feedback-section::after {
  transition: opacity .4s ease, filter .4s ease;
  opacity: .72;
}

/* Restored photo-style testimonial section only */
.kp-client-carousel-window {
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.kp-client-slide,
.kp-client-carousel-window .kp-client-slide {
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 42px 42px 54px !important;
  border: 1px solid rgba(163, 32, 36, 0.34) !important;
  border-radius: 34px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  text-align: center !important;
  overflow: hidden !important;
}





.kp-client-photo,
.kp-client-photo-img {
  width: 118px !important;
  height: 118px !important;
  margin: 0 auto 20px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  display: block !important;
}

.kp-client-sheet-fields,
.kp-client-slide h3,
.kp-client-role,
.kp-client-stars,
.kp-client-slide blockquote {
  text-align: center !important;
}

.kp-client-slide h3 {
  margin: 0 0 8px !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #111111 !important;
}

.kp-client-role {
  margin: 0 0 18px !important;
  font-size: 1.08rem !important;
  color: rgba(17,17,17,.58) !important;
}

.kp-client-stars {
  margin: 0 0 28px !important;
  color: #A32024 !important;
  font-size: 1.4rem !important;
  letter-spacing: .22em !important;
  justify-content: center !important;
}

.kp-client-slide blockquote {
  margin: 0 auto !important;
  max-width: 820px !important;
  font-size: 1.32rem !important;
  line-height: 1.95 !important;
  color: #2B2B2B !important;
  white-space: pre-wrap !important;
  overflow-wrap: break-word !important;
}

.kp-client-dots {
  margin-top: 24px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 14px !important;
}

.kp-client-dots button {
  width: 12px !important;
  height: 12px !important;
  border-radius: 999px !important;
  background: rgba(17,17,17,.18) !important;
  border: none !important;
}





/* Live-only Apps Script testimonial format and fit */
.kp-client-carousel-window {
  position: relative !important;
  max-width: 1180px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

.kp-client-slide,
.kp-client-carousel-window .kp-client-slide {
  position: relative !important;
  inset: auto !important;
  display: none !important;
  width: 100% !important;
  max-width: 1000px !important;
  min-height: auto !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: clamp(30px, 5vw, 54px) clamp(22px, 5vw, 58px) !important;
  border: 1px solid rgba(163, 32, 36, 0.34) !important;
  border-radius: 34px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  text-align: center !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transform: translateY(10px) !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.kp-client-slide.is-active {
  display: block !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.kp-client-slide::before,
.kp-client-carousel-window .kp-client-slide::before {
  content: "" !important;
  position: absolute !important;
  inset: 10px !important;
  border: 1px solid rgba(163, 32, 36, 0.12) !important;
  border-radius: 28px !important;
  pointer-events: none !important;
}

.kp-client-slide::after,
.kp-client-carousel-window .kp-client-slide::after {
  display: none !important;
}

.kp-client-photo,
.kp-client-photo-img {
  display: grid !important;
  place-items: center !important;
  width: clamp(82px, 10vw, 118px) !important;
  height: clamp(82px, 10vw, 118px) !important;
  margin: 0 auto 20px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  color: #ffffff !important;
  background: #A32024 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  overflow: hidden !important;
}

.kp-client-sheet-fields {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.kp-client-slide h3 {
  max-width: 100% !important;
  margin: 0 0 8px !important;
  color: #111111 !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(1.35rem, 3vw, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  text-align: center !important;
  overflow-wrap: break-word !important;
}

.kp-client-role {
  max-width: 100% !important;
  margin: 0 0 18px !important;
  color: rgba(17,17,17,.58) !important;
  font-size: clamp(.92rem, 1.8vw, 1.08rem) !important;
  line-height: 1.5 !important;
  text-align: center !important;
  overflow-wrap: break-word !important;
}

.kp-client-stars {
  display: flex !important;
  justify-content: center !important;
  margin: 0 0 28px !important;
  color: #A32024 !important;
  font-size: clamp(1.05rem, 2.4vw, 1.4rem) !important;
  letter-spacing: .22em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.kp-client-slide blockquote {
  display: block !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  color: #2B2B2B !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(1rem, 2.2vw, 1.32rem) !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  text-align: center !important;
  white-space: pre-wrap !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.kp-client-empty p {
  margin: 0 !important;
  color: rgba(43,43,43,.62) !important;
  font-size: .92rem !important;
  line-height: 1.7 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.kp-client-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.kp-client-dots button {
  width: 12px !important;
  height: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(17,17,17,.18) !important;
  cursor: pointer !important;
  transition: width .28s ease, background .28s ease !important;
}

.kp-client-dots button.is-active {
  width: 42px !important;
  background: #A32024 !important;
}

.kp-client-dots button::after {
  display: none !important;
}

@media (max-width: 720px) {
  .kp-client-slide,
  .kp-client-carousel-window .kp-client-slide {
    border-radius: 26px !important;
  }

  .kp-client-slide::before,
  .kp-client-carousel-window .kp-client-slide::before {
    inset: 8px !important;
    border-radius: 20px !important;
  }

  .kp-client-slide blockquote {
    line-height: 1.8 !important;
  }
}

/* Minimalist testimonial sizing refinement */
.kp-client-slide,
.kp-client-carousel-window .kp-client-slide {
  max-width: 760px !important;
  padding: clamp(24px, 4vw, 38px) clamp(20px, 4vw, 42px) !important;
  border-radius: 28px !important;
}

.kp-client-slide::before,
.kp-client-carousel-window .kp-client-slide::before {
  inset: 9px !important;
  border-radius: 22px !important;
}

.kp-client-photo,
.kp-client-photo-img {
  width: clamp(68px, 8vw, 88px) !important;
  height: clamp(68px, 8vw, 88px) !important;
  margin-bottom: 14px !important;
}

.kp-client-slide h3 {
  margin-bottom: 5px !important;
  font-size: clamp(1.05rem, 2vw, 1.32rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

.kp-client-role {
  margin-bottom: 12px !important;
  font-size: clamp(.78rem, 1.4vw, .92rem) !important;
  line-height: 1.45 !important;
}

.kp-client-stars {
  margin-bottom: 18px !important;
  font-size: clamp(.82rem, 1.6vw, 1rem) !important;
  letter-spacing: .16em !important;
}

.kp-client-slide blockquote {
  max-width: 620px !important;
  font-size: clamp(.9rem, 1.55vw, 1.02rem) !important;
  line-height: 1.85 !important;
  letter-spacing: 0.01em !important;
}

.kp-client-dots {
  margin-top: 18px !important;
  gap: 10px !important;
}

.kp-client-dots button {
  width: 8px !important;
  height: 8px !important;
}

.kp-client-dots button.is-active {
  width: 28px !important;
}

@media (max-width: 720px) {
  .kp-client-slide,
  .kp-client-carousel-window .kp-client-slide {
    max-width: 100% !important;
    padding: 24px 18px 28px !important;
    border-radius: 22px !important;
  }

  .kp-client-slide::before,
  .kp-client-carousel-window .kp-client-slide::before {
    border-radius: 17px !important;
  }

  .kp-client-slide blockquote {
    font-size: .88rem !important;
    line-height: 1.75 !important;
  }
}

/* Further reduced testimonial content sizing */
.kp-client-slide,
.kp-client-carousel-window .kp-client-slide {
  max-width: 700px !important;
  padding: clamp(22px, 3.5vw, 32px) clamp(18px, 3.5vw, 34px) !important;
}

.kp-client-photo,
.kp-client-photo-img {
  width: clamp(62px, 7vw, 78px) !important;
  height: clamp(62px, 7vw, 78px) !important;
  margin-bottom: 12px !important;
}

.kp-client-slide h3 {
  font-size: clamp(.98rem, 1.8vw, 1.18rem) !important;
  margin-bottom: 4px !important;
}

.kp-client-role {
  font-size: clamp(.72rem, 1.2vw, .84rem) !important;
  margin-bottom: 10px !important;
}

.kp-client-stars {
  font-size: clamp(.74rem, 1.3vw, .88rem) !important;
  margin-bottom: 14px !important;
  letter-spacing: .13em !important;
}

.kp-client-slide blockquote {
  max-width: 560px !important;
  font-size: clamp(.82rem, 1.35vw, .94rem) !important;
  line-height: 1.72 !important;
  letter-spacing: 0 !important;
}

.kp-client-dots {
  margin-top: 14px !important;
}



/* Unified card hover styling for Client Feedback & Recognition */
.kp-client-slide,
.kp-client-carousel-window .kp-client-slide {
  box-shadow: none !important;
}

.kp-client-slide:hover,
.kp-client-feedback-section:hover .kp-client-slide.is-active,
.kp-client-carousel-window .kp-client-slide:hover {
  box-shadow: inherit !important;
}

/* Remove all residual grey shadows from Client Feedback & Recognition */
.kp-client-feedback-section,
.kp-client-feedback-section *,
.kp-client-carousel,
.kp-client-carousel-window,
.kp-client-slide,
.kp-client-carousel-window .kp-client-slide {
  box-shadow: none !important;
  filter: none !important;
}

.kp-client-feedback-section:hover,
.kp-client-carousel:hover,
.kp-client-slide:hover,
.kp-client-feedback-section:hover .kp-client-slide.is-active {
  filter: none !important;
}

/* Keep only standard site card behavior */
.kp-client-feedback-section .section-card,
.kp-client-feedback-section .card {
  box-shadow: inherit !important;
}

/* Client Feedback & Recognition update */
.kp-client-feedback-section .kp-client-eyebrow,
.kp-client-feedback-section .eyebrow,
.kp-client-feedback-section .section-eyebrow,
.kp-client-feedback-section .section-label {
  text-transform: uppercase !important;
}

.kp-card-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px !important;
  padding: 5px 10px !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  border-radius: 999px !important;
  color: rgba(17,17,17,.58) !important;
  background: rgba(247,244,241,.72) !important;
  font-size: .56rem !important;
  font-weight: 600 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.kp-recognition-card {
  border-color: rgba(17, 17, 17, 0.14) !important;
}

.kp-recognition-card::before {
  border-color: rgba(17, 17, 17, 0.08) !important;
}

.kp-recognition-title {
  max-width: 560px !important;
  margin: 0 auto 12px !important;
  color: #111111 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.18rem, 2.2vw, 1.55rem) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  text-align: center !important;
  overflow-wrap: break-word !important;
}

.kp-testimonial-card .kp-card-label {
  color: rgba(163,32,36,.72) !important;
  border-color: rgba(163,32,36,.12) !important;
}

.kp-recognition-card .kp-card-label {
  color: rgba(17,17,17,.58) !important;
  border-color: rgba(17,17,17,.10) !important;
}

.kp-client-slide blockquote {
  max-width: 560px !important;
  font-size: clamp(.82rem, 1.35vw, .94rem) !important;
  line-height: 1.72 !important;
}

/* Round portrait frame + smoother feedback carousel */
.kp-client-photo,
.kp-client-photo-img {
  width: 82px !important;
  height: 82px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto 14px !important;
  padding: 4px !important;
  background: #F7F4F1 !important;
  border: 1px solid rgba(163, 32, 36, 0.18) !important;
  outline: 1px solid rgba(17, 17, 17, 0.06) !important;
  outline-offset: 4px !important;
  color: #A32024 !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  transition: transform .32s ease, border-color .32s ease, outline-color .32s ease !important;
}

.kp-client-slide:hover .kp-client-photo,
.kp-client-slide:hover .kp-client-photo-img {
  transform: translateY(-2px) !important;
  border-color: rgba(163, 32, 36, 0.34) !important;
  outline-color: rgba(17, 17, 17, 0.10) !important;
}

.kp-client-carousel-window {
  position: relative !important;
  overflow: hidden !important;
  transition: min-height .45s ease !important;
}

.kp-client-slide,
.kp-client-carousel-window .kp-client-slide {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(12px) scale(.985) !important;
  transition:
    opacity .72s cubic-bezier(.22, 1, .36, 1),
    transform .72s cubic-bezier(.22, 1, .36, 1),
    visibility .72s ease !important;
  will-change: opacity, transform !important;
}

.kp-client-slide.is-active,
.kp-client-carousel-window .kp-client-slide.is-active {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) scale(1) !important;
  z-index: 2 !important;
}

.kp-client-slide.is-exiting {
  position: absolute !important;
  opacity: 0 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(-8px) scale(.99) !important;
  z-index: 1 !important;
}

.kp-client-dots button {
  transition: width .36s ease, background .36s ease, opacity .36s ease !important;
}

@media (prefers-reduced-motion: reduce) {
  .kp-client-slide,
  .kp-client-carousel-window .kp-client-slide,
  .kp-client-photo,
  .kp-client-photo-img,
  .kp-client-dots button {
    transition: none !important;
  }
}

/* Static carousel border: border stays visible while content transitions */
.kp-client-carousel-window {
  position: relative !important;
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: clamp(22px, 3.5vw, 32px) clamp(18px, 3.5vw, 34px) !important;
  border: 1px solid rgba(163, 32, 36, 0.34) !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: min-height .45s ease, border-color .32s ease !important;
}

.kp-client-carousel-window::before {
  content: "" !important;
  position: absolute !important;
  inset: 9px !important;
  border: 1px solid rgba(163, 32, 36, 0.12) !important;
  border-radius: 22px !important;
  pointer-events: none !important;
  z-index: 4 !important;
}

.kp-client-carousel-window:hover {
  border-color: rgba(163, 32, 36, 0.42) !important;
}

.kp-client-slide,
.kp-client-carousel-window .kp-client-slide {
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.kp-client-slide::before,
.kp-client-carousel-window .kp-client-slide::before,
.kp-client-slide::after,
.kp-client-carousel-window .kp-client-slide::after {
  display: none !important;
  content: none !important;
}

.kp-client-slide.is-active,
.kp-client-carousel-window .kp-client-slide.is-active {
  position: relative !important;
}

.kp-client-sheet-fields,
.kp-client-photo,
.kp-client-photo-img,
.kp-card-label {
  position: relative !important;
  z-index: 5 !important;
}

@media (max-width: 720px) {
  .kp-client-carousel-window {
    max-width: 100% !important;
    border-radius: 22px !important;
  }

  .kp-client-carousel-window::before {
    inset: 8px !important;
    border-radius: 17px !important;
  }
}

/* Wider Client Feedback & Recognition box */
.kp-client-carousel-window {
  max-width: 920px !important;
  padding: clamp(24px, 4vw, 36px) clamp(26px, 5vw, 54px) !important;
}

.kp-client-slide blockquote {
  max-width: 760px !important;
}

.kp-recognition-title {
  max-width: 760px !important;
}

@media (max-width: 720px) {
  .kp-client-carousel-window {
    max-width: 100% !important;
    padding: 24px 20px !important;
  }

  .kp-client-slide blockquote,
  .kp-recognition-title {
    max-width: 100% !important;
  }
}

/* Wider actual testimonial / recognition card frame */
.kp-client-carousel-window {
  max-width: 1120px !important;
  width: min(1120px, calc(100% - 24px)) !important;
  padding: clamp(26px, 4vw, 40px) clamp(34px, 6vw, 72px) !important;
}

.kp-client-carousel {
  max-width: 1120px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.kp-client-slide blockquote {
  max-width: 920px !important;
}

.kp-recognition-title {
  max-width: 920px !important;
}



@media (max-width: 980px) {
  .kp-client-carousel-window,
  .kp-client-carousel {
    max-width: 100% !important;
    width: 100% !important;
  }

  .kp-client-carousel-window {
    padding: 24px 22px !important;
  }

  .kp-client-slide blockquote,
  .kp-recognition-title,
  .kp-client-sheet-fields {
    max-width: 100% !important;
  }
}

/* Proportionate wider testimonial / recognition card */
.kp-client-carousel,
.kp-client-carousel-window {
  max-width: 1280px !important;
  width: min(1280px, calc(100% - 32px)) !important;
  margin: 0 auto !important;
}

.kp-client-carousel-window {
  padding: clamp(30px, 4vw, 46px) clamp(48px, 7vw, 110px) !important;
  border-radius: 32px !important;
}



.kp-client-sheet-fields {
  max-width: 1080px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.kp-client-slide blockquote {
  max-width: 1040px !important;
  width: 100% !important;
  margin: 0 auto !important;
  font-size: clamp(.96rem, 1.45vw, 1.14rem) !important;
  line-height: 1.95 !important;
  letter-spacing: .002em !important;
}

.kp-recognition-title {
  max-width: 1040px !important;
  font-size: clamp(1.28rem, 2vw, 1.72rem) !important;
}

.kp-client-slide h3 {
  font-size: clamp(1.08rem, 1.9vw, 1.34rem) !important;
}

.kp-client-role {
  font-size: clamp(.78rem, 1.2vw, .96rem) !important;
}

.kp-client-stars {
  font-size: clamp(.8rem, 1.3vw, .98rem) !important;
}

.kp-card-label {
  margin-bottom: 18px !important;
}

@media (max-width: 1100px) {
  .kp-client-carousel,
  .kp-client-carousel-window {
    max-width: 100% !important;
    width: 100% !important;
  }

  .kp-client-carousel-window {
    padding: 28px 28px !important;
  }

  .kp-client-slide blockquote,
  .kp-recognition-title,
  .kp-client-sheet-fields {
    max-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .kp-client-carousel-window {
    padding: 24px 20px !important;
    border-radius: 24px !important;
  }

  .kp-client-carousel-window::before {
    inset: 8px !important;
    border-radius: 18px !important;
  }

  .kp-client-slide blockquote {
    font-size: .9rem !important;
    line-height: 1.82 !important;
  }
}

/* Wide card with minimalist contents */
.kp-client-carousel,
.kp-client-carousel-window {
  max-width: 1180px !important;
  width: min(1180px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.kp-client-carousel-window {
  padding: 30px 72px !important;
  border-radius: 30px !important;
}

.kp-client-carousel-window::before {
  inset: 11px !important;
  border-radius: 23px !important;
}

.kp-client-photo,
.kp-client-photo-img {
  width: 70px !important;
  height: 70px !important;
  margin-bottom: 12px !important;
  padding: 3px !important;
}

.kp-card-label {
  margin-bottom: 14px !important;
  padding: 4px 9px !important;
  font-size: .52rem !important;
  letter-spacing: .12em !important;
}

.kp-client-sheet-fields {
  max-width: 980px !important;
  width: 100% !important;
}

.kp-client-slide h3 {
  margin-bottom: 4px !important;
  font-size: clamp(.98rem, 1.45vw, 1.16rem) !important;
  line-height: 1.2 !important;
}

.kp-client-role {
  margin-bottom: 10px !important;
  font-size: clamp(.72rem, 1vw, .84rem) !important;
  line-height: 1.4 !important;
}

.kp-client-stars {
  margin-bottom: 14px !important;
  font-size: clamp(.72rem, 1.1vw, .86rem) !important;
  letter-spacing: .13em !important;
}

.kp-client-slide blockquote {
  max-width: 900px !important;
  width: 100% !important;
  font-size: clamp(.82rem, 1.05vw, .92rem) !important;
  line-height: 1.72 !important;
  letter-spacing: 0 !important;
}

.kp-recognition-title {
  max-width: 900px !important;
  margin-bottom: 10px !important;
  font-size: clamp(1rem, 1.5vw, 1.22rem) !important;
  line-height: 1.2 !important;
}

.kp-client-dots {
  margin-top: 16px !important;
}

.kp-client-dots button {
  width: 7px !important;
  height: 7px !important;
}

.kp-client-dots button.is-active {
  width: 24px !important;
}

@media (max-width: 980px) {
  .kp-client-carousel,
  .kp-client-carousel-window {
    max-width: 100% !important;
    width: 100% !important;
  }

  .kp-client-carousel-window {
    padding: 26px 24px !important;
  }

  .kp-client-slide blockquote,
  .kp-recognition-title,
  .kp-client-sheet-fields {
    max-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .kp-client-carousel-window {
    padding: 24px 18px !important;
    border-radius: 24px !important;
  }

  .kp-client-carousel-window::before {
    inset: 8px !important;
    border-radius: 18px !important;
  }

  .kp-client-photo,
  .kp-client-photo-img {
    width: 62px !important;
    height: 62px !important;
  }

  .kp-client-slide blockquote {
    font-size: .82rem !important;
    line-height: 1.68 !important;
  }
}

/* Extended full testimonial / recognition card width */
.kp-client-carousel,
.kp-client-carousel-window {
  max-width: 1380px !important;
  width: min(1380px, calc(100% - 28px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.kp-client-carousel-window {
  padding: 32px 88px !important;
  border-radius: 32px !important;
}

.kp-client-carousel-window::before {
  inset: 12px !important;
  border-radius: 25px !important;
}

/* Keep minimalist centered content */
.kp-client-sheet-fields {
  max-width: 980px !important;
}

.kp-client-slide blockquote,
.kp-recognition-title {
  max-width: 900px !important;
}

@media (max-width: 1180px) {
  .kp-client-carousel,
  .kp-client-carousel-window {
    max-width: 100% !important;
    width: 100% !important;
  }

  .kp-client-carousel-window {
    padding: 28px 28px !important;
  }

  .kp-client-sheet-fields,
  .kp-client-slide blockquote,
  .kp-recognition-title {
    max-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .kp-client-carousel-window {
    padding: 24px 18px !important;
    border-radius: 24px !important;
  }

  .kp-client-carousel-window::before {
    inset: 8px !important;
    border-radius: 18px !important;
  }
}

/* FINAL WIDTH FIX — actual visible testimonial / recognition card */
.kp-client-feedback-section {
  width: 100% !important;
}

.kp-client-feedback-section .kp-client-carousel {
  width: min(96vw, 1440px) !important;
  max-width: 1440px !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
}

.kp-client-feedback-section .kp-client-carousel-window {
  width: 100% !important;
  max-width: 1440px !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 32px clamp(52px, 7vw, 110px) !important;
  box-sizing: border-box !important;
}

.kp-client-feedback-section .kp-client-sheet-fields {
  max-width: 1040px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.kp-client-feedback-section .kp-client-slide blockquote,
.kp-client-feedback-section .kp-recognition-title {
  max-width: 960px !important;
  width: 100% !important;
}

@media (max-width: 980px) {
  .kp-client-feedback-section .kp-client-carousel {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    transform: none !important;
  }

  .kp-client-feedback-section .kp-client-carousel-window {
    padding: 28px 24px !important;
  }
}

@media (max-width: 720px) {
  .kp-client-feedback-section .kp-client-carousel-window {
    padding: 24px 18px !important;
  }
}

/* Single-line testimonial basis width */
.kp-client-feedback-section .kp-client-carousel {
  width: min(98vw, 1680px) !important;
  max-width: 1680px !important;
}

.kp-client-feedback-section .kp-client-carousel-window {
  max-width: 1680px !important;
  padding: 30px clamp(58px, 8vw, 132px) !important;
}

/* Width tuned so standard testimonial sentences fit in one line on desktop */
.kp-client-feedback-section .kp-client-slide blockquote {
  max-width: 1280px !important;
  width: max-content !important;
  min-width: min(1280px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  white-space: nowrap !important;
  font-size: clamp(.8rem, 1vw, .9rem) !important;
  line-height: 1.65 !important;
}

/* Recognition title also proportionate */
.kp-client-feedback-section .kp-recognition-title {
  max-width: 1180px !important;
}

/* Keep client meta minimalist */
.kp-client-feedback-section .kp-client-sheet-fields {
  max-width: 1280px !important;
}

/* Responsive fallback */
@media (max-width: 1280px) {
  .kp-client-feedback-section .kp-client-slide blockquote {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  .kp-client-feedback-section .kp-client-carousel,
  .kp-client-feedback-section .kp-client-carousel-window {
    width: 100% !important;
    max-width: 100% !important;
  }

  .kp-client-feedback-section .kp-client-carousel-window {
    padding: 28px 24px !important;
  }
}

@media (max-width: 720px) {
  .kp-client-feedback-section .kp-client-slide blockquote {
    font-size: .82rem !important;
    line-height: 1.68 !important;
    white-space: normal !important;
  }

  .kp-client-feedback-section .kp-client-carousel-window {
    padding: 24px 18px !important;
  }
}

/* Corrected width basis: normal wrapping, card sized for final sentence comfort */
.kp-client-feedback-section .kp-client-carousel {
  width: min(94vw, 1320px) !important;
  max-width: 1320px !important;
}

.kp-client-feedback-section .kp-client-carousel-window {
  width: 100% !important;
  max-width: 1320px !important;
  padding: 30px clamp(48px, 6vw, 86px) !important;
}

/* Testimonial wraps normally; card width is the basis, not forced no-wrap text */
.kp-client-feedback-section .kp-client-slide blockquote {
  max-width: 980px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  white-space: pre-wrap !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  font-size: clamp(.82rem, .95vw, .9rem) !important;
  line-height: 1.72 !important;
}

.kp-client-feedback-section .kp-client-sheet-fields {
  max-width: 1060px !important;
}

.kp-client-feedback-section .kp-recognition-title {
  max-width: 980px !important;
}

@media (max-width: 980px) {
  .kp-client-feedback-section .kp-client-carousel,
  .kp-client-feedback-section .kp-client-carousel-window {
    width: 100% !important;
    max-width: 100% !important;
  }

  .kp-client-feedback-section .kp-client-carousel-window {
    padding: 28px 24px !important;
  }

  .kp-client-feedback-section .kp-client-slide blockquote,
  .kp-client-feedback-section .kp-client-sheet-fields,
  .kp-client-feedback-section .kp-recognition-title {
    max-width: 100% !important;
  }
}



/* Final line-wrap correction ("arise" fix) */
.kp-client-feedback-section .kp-client-carousel {
  width: min(96vw, 1380px) !important;
  max-width: 1380px !important;
}

.kp-client-feedback-section .kp-client-carousel-window {
  max-width: 1380px !important;
  padding: 30px clamp(52px, 6.5vw, 96px) !important;
}

.kp-client-feedback-section .kp-client-slide blockquote {
  max-width: 1040px !important;
  font-size: clamp(.82rem, .94vw, .9rem) !important;
  line-height: 1.72 !important;
}

.kp-client-feedback-section .kp-client-sheet-fields {
  max-width: 1120px !important;
}

.kp-client-feedback-section .kp-recognition-title {
  max-width: 1040px !important;
}

@media (max-width: 1100px) {
  .kp-client-feedback-section .kp-client-carousel,
  .kp-client-feedback-section .kp-client-carousel-window {
    width: 100% !important;
    max-width: 100% !important;
  }

  .kp-client-feedback-section .kp-client-carousel-window {
    padding: 28px 24px !important;
  }

  .kp-client-feedback-section .kp-client-slide blockquote,
  .kp-client-feedback-section .kp-client-sheet-fields,
  .kp-client-feedback-section .kp-recognition-title {
    max-width: 100% !important;
  }
}

/* Corrected line balance: wide card, minimalist text, normal wrapping */
.kp-client-feedback-section .kp-client-carousel {
  width: min(98vw, 1480px) !important;
  max-width: 1480px !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
}

.kp-client-feedback-section .kp-client-carousel-window {
  width: 100% !important;
  max-width: 1480px !important;
  padding: 30px clamp(44px, 5vw, 78px) !important;
  box-sizing: border-box !important;
}

.kp-client-feedback-section .kp-client-sheet-fields {
  max-width: 1240px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.kp-client-feedback-section .kp-client-slide blockquote {
  max-width: 1180px !important;
  width: 100% !important;
  margin: 0 auto !important;
  white-space: pre-wrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-size: clamp(.78rem, .82vw, .84rem) !important;
  line-height: 1.72 !important;
  letter-spacing: 0 !important;
}

.kp-client-feedback-section .kp-recognition-title {
  max-width: 1180px !important;
  font-size: clamp(.98rem, 1.35vw, 1.18rem) !important;
}

/* Do not shrink too early on laptop widths */
@media (max-width: 900px) {
  .kp-client-feedback-section .kp-client-carousel {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    transform: none !important;
  }

  .kp-client-feedback-section .kp-client-carousel-window {
    padding: 26px 22px !important;
  }

  .kp-client-feedback-section .kp-client-slide blockquote,
  .kp-client-feedback-section .kp-client-sheet-fields,
  .kp-client-feedback-section .kp-recognition-title {
    max-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .kp-client-feedback-section .kp-client-slide blockquote {
    font-size: .82rem !important;
    line-height: 1.68 !important;
  }

  .kp-client-feedback-section .kp-client-carousel-window {
    padding: 24px 18px !important;
  }
}

/* Exact sentence-basis width:
   "Kim would be a welcome addition again should the opportunity arise."
   should fit on one line on desktop, but normal wrapping remains for all content.
*/
.kp-client-feedback-section .kp-client-carousel {
  width: min(96vw, 1500px) !important;
  max-width: 1500px !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
}

.kp-client-feedback-section .kp-client-carousel-window {
  width: 100% !important;
  max-width: 1500px !important;
  padding: 30px clamp(48px, 5vw, 84px) !important;
  box-sizing: border-box !important;
}

.kp-client-feedback-section .kp-client-sheet-fields {
  max-width: 1320px !important;
  width: 100% !important;
}

/* Key basis */
.kp-client-feedback-section .kp-client-slide blockquote {
  max-width: 1240px !important;
  width: 100% !important;
  margin: 0 auto !important;
  white-space: pre-wrap !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  font-size: .82rem !important;
  line-height: 1.72 !important;
  letter-spacing: 0 !important;
}

.kp-client-feedback-section .kp-recognition-title {
  max-width: 1240px !important;
}

/* Keep this width longer before responsive collapse */
@media (max-width: 1024px) {
  .kp-client-feedback-section .kp-client-carousel {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    transform: none !important;
  }

  .kp-client-feedback-section .kp-client-carousel-window {
    padding: 28px 24px !important;
  }

  .kp-client-feedback-section .kp-client-slide blockquote,
  .kp-client-feedback-section .kp-client-sheet-fields,
  .kp-client-feedback-section .kp-recognition-title {
    max-width: 100% !important;
  }
}

@media (max-width: 720px) {
  .kp-client-feedback-section .kp-client-carousel-window {
    padding: 24px 18px !important;
  }

  .kp-client-feedback-section .kp-client-slide blockquote {
    font-size: .82rem !important;
    line-height: 1.68 !important;
  }
}

/* True alternating carousel + smoother transition */
.kp-client-carousel-window {
  overflow: hidden !important;
  transition: min-height .72s cubic-bezier(.22, 1, .36, 1) !important;
}

.kp-client-carousel-window .kp-client-slide {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(14px) scale(.992) !important;
  transition:
    opacity .9s cubic-bezier(.22, 1, .36, 1),
    transform .9s cubic-bezier(.22, 1, .36, 1),
    visibility .9s step-end !important;
  will-change: opacity, transform !important;
}

.kp-client-carousel-window .kp-client-slide.is-preparing {
  visibility: visible !important;
  opacity: 0 !important;
  transform: translateX(-50%) translateY(16px) scale(.992) !important;
}

.kp-client-carousel-window .kp-client-slide.is-active {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) scale(1) !important;
  z-index: 2 !important;
  transition:
    opacity .9s cubic-bezier(.22, 1, .36, 1),
    transform .9s cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear !important;
}

.kp-client-carousel-window .kp-client-slide.is-leaving {
  position: absolute !important;
  opacity: 0 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(-10px) scale(.996) !important;
  z-index: 1 !important;
  transition:
    opacity .78s cubic-bezier(.22, 1, .36, 1),
    transform .78s cubic-bezier(.22, 1, .36, 1) !important;
}

.kp-client-dots button {
  transition: width .42s cubic-bezier(.22, 1, .36, 1), background .42s ease, opacity .42s ease !important;
}



/* Premium seamless carousel transition */
.kp-client-carousel-window {
  overflow: hidden !important;
  transition: min-height 1.05s cubic-bezier(.19, 1, .22, 1) !important;
}

.kp-client-carousel-window .kp-client-slide {
  display: block !important;
  position: absolute !important;
  inset: 0 auto auto 50% !important;
  width: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(8px) scale(.998) !important;
  transition:
    opacity 1.08s cubic-bezier(.19, 1, .22, 1),
    transform 1.08s cubic-bezier(.19, 1, .22, 1),
    visibility 0s linear 1.08s !important;
  backface-visibility: hidden !important;
  will-change: opacity, transform !important;
}

.kp-client-carousel-window .kp-client-slide.is-preparing {
  visibility: visible !important;
  opacity: 0 !important;
  transform: translateX(-50%) translateY(10px) scale(.998) !important;
  transition:
    opacity 1.08s cubic-bezier(.19, 1, .22, 1),
    transform 1.08s cubic-bezier(.19, 1, .22, 1),
    visibility 0s linear 0s !important;
}

.kp-client-carousel-window .kp-client-slide.is-active {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) scale(1) !important;
  z-index: 3 !important;
  transition:
    opacity 1.12s cubic-bezier(.19, 1, .22, 1),
    transform 1.12s cubic-bezier(.19, 1, .22, 1),
    visibility 0s linear 0s !important;
}

.kp-client-carousel-window .kp-client-slide.is-leaving {
  position: absolute !important;
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(-6px) scale(.999) !important;
  z-index: 2 !important;
  transition:
    opacity .96s cubic-bezier(.19, 1, .22, 1),
    transform .96s cubic-bezier(.19, 1, .22, 1),
    visibility 0s linear .96s !important;
}

/* Prevent abrupt style shifts */
.kp-client-carousel-window .kp-client-slide,
.kp-client-carousel-window .kp-client-slide blockquote,
.kp-client-carousel-window .kp-client-sheet-fields,
.kp-client-carousel-window .kp-client-photo,
.kp-client-carousel-window .kp-client-photo-img {
  will-change: opacity, transform !important;
}

/* Premium dots */
.kp-client-dots button {
  transition:
    width .55s cubic-bezier(.19, 1, .22, 1),
    opacity .55s ease,
    transform .55s ease !important;
}

.kp-client-dots button:hover {
  transform: scale(1.08) !important;
}



/* Clean smooth card transition - stable border, soft content fade */
.kp-client-carousel-window {
  overflow: hidden !important;
  transition: min-height .55s cubic-bezier(.22, 1, .36, 1) !important;
}

.kp-client-carousel-window .kp-client-slide {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(8px) !important;
  transition:
    opacity .62s cubic-bezier(.22, 1, .36, 1),
    transform .62s cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear .62s !important;
  will-change: opacity, transform !important;
}

.kp-client-carousel-window .kp-client-slide.is-ready {
  visibility: visible !important;
  opacity: 0 !important;
  transform: translateX(-50%) translateY(8px) !important;
  transition: none !important;
}

.kp-client-carousel-window .kp-client-slide.is-active {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
  z-index: 2 !important;
  transition:
    opacity .62s cubic-bezier(.22, 1, .36, 1),
    transform .62s cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear 0s !important;
}

.kp-client-carousel-window .kp-client-slide.is-leaving {
  position: absolute !important;
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(-6px) !important;
  z-index: 1 !important;
  transition:
    opacity .52s cubic-bezier(.22, 1, .36, 1),
    transform .52s cubic-bezier(.22, 1, .36, 1),
    visibility 0s linear .52s !important;
}

.kp-client-dots button {
  transition:
    width .35s cubic-bezier(.22, 1, .36, 1),
    background .35s ease,
    opacity .35s ease !important;
}

@media (prefers-reduced-motion: reduce) {
  .kp-client-carousel-window,
  .kp-client-carousel-window .kp-client-slide,
  .kp-client-dots button {
    transition: none !important;
  }
}

/* Fast-loading skeleton + cached testimonial state */
.kp-client-loading {
  min-height: 210px !important;
  display: block !important;
}

.kp-skeleton-photo,
.kp-skeleton-line {
  background: linear-gradient(
    90deg,
    rgba(216, 209, 203, 0.28),
    rgba(247, 244, 241, 0.82),
    rgba(216, 209, 203, 0.28)
  ) !important;
  background-size: 220% 100% !important;
  animation: kpSkeletonShimmer 1.4s ease-in-out infinite !important;
}

.kp-skeleton-photo {
  width: 70px !important;
  height: 70px !important;
  margin: 0 auto 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(163, 32, 36, 0.10) !important;
}

.kp-skeleton-line {
  height: 10px !important;
  margin: 10px auto !important;
  border-radius: 999px !important;
}

.kp-skeleton-name {
  width: min(210px, 52%) !important;
}

.kp-skeleton-role {
  width: min(160px, 42%) !important;
  opacity: .72 !important;
}

.kp-skeleton-quote {
  width: min(760px, 82%) !important;
  margin-top: 22px !important;
}

.kp-skeleton-quote.short {
  width: min(520px, 58%) !important;
  margin-top: 12px !important;
}

@keyframes kpSkeletonShimmer {
  0% { background-position: 120% 0; }
  100% { background-position: -120% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .kp-skeleton-photo,
  .kp-skeleton-line {
    animation: none !important;
  }
}
/* Final mobile repair: stable Client Feedback card. */
@media (max-width: 780px) {
  html body.page-home .kp-client-feedback-section {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 52px 14px 32px !important;
    margin: 0 !important;
    overflow: visible !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  html body.page-home .kp-client-feedback-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 34px 16px 28px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body.page-home .kp-client-feedback-header {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 28px !important;
    overflow: visible !important;
    text-align: center !important;
  }

  html body.page-home .kp-client-feedback-header span {
    max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.25 !important;
    letter-spacing: .13em !important;
  }

  html body.page-home .kp-client-feedback-header h2 {
    width: 100% !important;
    max-width: 18.5rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: #111111 !important;
    font-size: clamp(2rem, 10.4vw, 2.62rem) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-align: center !important;
    text-wrap: balance !important;
  }

  html body.page-home .kp-client-feedback-header p {
    width: 100% !important;
    max-width: 18.75rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: .9rem !important;
    line-height: 1.62 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel-window {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel-window::before,
  html body.page-home .kp-client-feedback-section .kp-client-slide::before,
  html body.page-home .kp-client-feedback-section .kp-client-slide::after {
    content: none !important;
    display: none !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide {
    display: none !important;
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 30px 18px 32px !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
    transition: opacity .42s ease !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.is-active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.is-ready,
  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.is-leaving {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: none !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-photo {
    width: 76px !important;
    height: 76px !important;
    margin-bottom: 16px !important;
  }

  html body.page-home .kp-client-feedback-section .kp-card-label,
  html body.page-home .kp-client-feedback-section .kp-client-sheet-fields,
  html body.page-home .kp-client-feedback-section .kp-recognition-title,
  html body.page-home .kp-client-feedback-section .kp-client-slide blockquote,
  html body.page-home .kp-client-feedback-section .kp-client-slide h3,
  html body.page-home .kp-client-feedback-section .kp-client-role {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-align: center !important;
  }

  html body.page-home .kp-client-feedback-section .kp-recognition-title {
    font-size: 1rem !important;
    line-height: 1.38 !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-slide blockquote {
    font-size: .82rem !important;
    line-height: 1.62 !important;
  }
}

/* Final mobile repair: Client Feedback viewport pin. */
@media (max-width: 780px) {
  html body.page-home .kp-client-feedback-section {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    margin-left: calc(50% - 50vw + 16px) !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body.page-home .kp-client-feedback-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  html body.page-home .kp-client-feedback-header h2 {
    max-width: 16.75rem !important;
    font-size: clamp(1.96rem, 9.8vw, 2.46rem) !important;
  }

  html body.page-home .kp-client-feedback-header p {
    max-width: 15.95rem !important;
    font-size: .88rem !important;
    line-height: 1.58 !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Final mobile repair: Client slide inset. */
@media (max-width: 780px) {
  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide {
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Production mobile repair: live testimonial content formatting. */
@media (max-width: 780px) {
  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.kp-testimonial-card.is-active {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
    padding-top: 28px !important;
    padding-bottom: 30px !important;
    overflow: visible !important;
  }

  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-card-label {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    margin-bottom: 22px !important;
    color: rgba(163, 32, 36, .82) !important;
    font-size: .7rem !important;
    line-height: 1.15 !important;
  }

  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-client-photo {
    width: 72px !important;
    height: 72px !important;
    margin-bottom: 16px !important;
  }

  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-client-sheet-fields {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-client-sheet-fields h3 {
    margin-bottom: 6px !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }

  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-client-role {
    margin-bottom: 12px !important;
    font-size: .82rem !important;
    line-height: 1.35 !important;
  }

  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-client-stars {
    margin-bottom: 16px !important;
    font-size: 1rem !important;
    letter-spacing: .16em !important;
    line-height: 1 !important;
  }

  html body.page-home .kp-client-feedback-section .kp-testimonial-card blockquote {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 16px 2px 0 !important;
    border-top: 1px solid rgba(163, 32, 36, .12) !important;
    color: #2B2B2B !important;
    font-family: var(--kp-font-body) !important;
    font-size: clamp(.88rem, 3.75vw, .96rem) !important;
    font-weight: 500 !important;
    line-height: 1.62 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: pre-wrap !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

@media (max-width: 430px) {
  html body.page-home .kp-client-feedback-section .kp-testimonial-card blockquote {
    font-size: .88rem !important;
    line-height: 1.58 !important;
  }
}

/* Animation-only fix: remove horizontal motion from Client Feedback & Recognition carousel.
   Formatting, sizing, spacing, borders, and responsive layout are unchanged. */
.kp-client-feedback-section .kp-client-carousel-window .kp-client-slide,
.kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.is-ready,
.kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.is-preparing {
  left: 0 !important;
  transform: translateY(8px) !important;
}

.kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.is-active {
  left: 0 !important;
  transform: translateY(0) !important;
}

.kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.is-leaving,
.kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.is-exiting {
  left: 0 !important;
  transform: translateY(-6px) !important;
}

/* FINAL MOBILE FIX — compact centered testimonial / recognition carousel */
@media (max-width: 780px) {
  html body.page-home .kp-client-feedback-section {
    padding-top: 54px !important;
    padding-bottom: 26px !important;
  }

  html body.page-home .kp-client-feedback-wrap {
    padding: 42px 14px 34px !important;
    border-radius: 28px !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel,
  html body.page-home .kp-client-feedback-section .kp-client-carousel-window {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel-window {
    padding: 14px 0 !important;
    border-radius: 22px !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide,
  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.kp-testimonial-card.is-active,
  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.kp-recognition-card.is-active {
    width: calc(100% - 24px) !important;
    max-width: 500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 22px 18px 24px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    overflow: hidden !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.is-active {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  html body.page-home .kp-client-feedback-section .kp-card-label,
  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-card-label,
  html body.page-home .kp-client-feedback-section .kp-recognition-card .kp-card-label {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    margin: 0 auto 16px !important;
    padding: 5px 10px !important;
    font-size: .62rem !important;
    line-height: 1.1 !important;
    letter-spacing: .18em !important;
    text-align: center !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-photo,
  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-client-photo {
    width: 58px !important;
    height: 58px !important;
    margin: 0 auto 12px !important;
    padding: 3px !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-sheet-fields,
  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-client-sheet-fields {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-slide h3,
  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-client-sheet-fields h3 {
    width: 100% !important;
    margin: 0 auto 4px !important;
    font-size: .98rem !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-role,
  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-client-role {
    width: 100% !important;
    margin: 0 auto 10px !important;
    font-size: .76rem !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-stars,
  html body.page-home .kp-client-feedback-section .kp-testimonial-card .kp-client-stars {
    width: 100% !important;
    margin: 0 auto 12px !important;
    font-size: .88rem !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    text-align: center !important;
  }

  html body.page-home .kp-client-feedback-section .kp-recognition-title,
  html body.page-home .kp-client-feedback-section .kp-recognition-card .kp-recognition-title {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 10px !important;
    font-size: .92rem !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-slide blockquote,
  html body.page-home .kp-client-feedback-section .kp-testimonial-card blockquote,
  html body.page-home .kp-client-feedback-section .kp-recognition-card blockquote {
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(42vh, 310px) !important;
    margin: 0 auto !important;
    padding: 12px 2px 0 !important;
    border-top: 1px solid rgba(163, 32, 36, .12) !important;
    color: #2B2B2B !important;
    font-family: var(--kp-font-body) !important;
    font-size: .78rem !important;
    font-weight: 500 !important;
    line-height: 1.52 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: pre-wrap !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-dots {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    margin-top: 12px !important;
    line-height: 0 !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-dots button,
  html body.page-home .kp-client-feedback-section .kp-client-dots button:not(.is-active) {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    flex: 0 0 6px !important;
    width: 6px !important;
    min-width: 6px !important;
    max-width: 6px !important;
    height: 6px !important;
    min-height: 6px !important;
    max-height: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    line-height: 0 !important;
    background: rgba(17, 17, 17, .18) !important;
    transform: none !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-dots button.is-active {
    flex-basis: 20px !important;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 6px !important;
    min-height: 6px !important;
    max-height: 6px !important;
    background: #A32024 !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-dots button::after {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 430px) {
  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide,
  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.kp-testimonial-card.is-active,
  html body.page-home .kp-client-feedback-section .kp-client-carousel-window .kp-client-slide.kp-recognition-card.is-active {
    width: calc(100% - 18px) !important;
    padding: 20px 16px 22px !important;
  }

  html body.page-home .kp-client-feedback-section .kp-client-slide blockquote,
  html body.page-home .kp-client-feedback-section .kp-testimonial-card blockquote,
  html body.page-home .kp-client-feedback-section .kp-recognition-card blockquote {
    max-height: min(40vh, 285px) !important;
    font-size: .76rem !important;
    line-height: 1.5 !important;
  }
}

/* Beyond the Work gallery */
/* Beyond the Work — 62 strategically arranged photos in opposite marquees */

.page-home .kp-home-section-separator {
  width: 100%;
  padding: 0;
}

.page-home .kp-home-section-separator .kp-container {
  position: relative;
  height: 1px;
  background: rgba(17, 17, 17, 0.12);
}

.page-home .kp-home-section-separator span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 72px;
  height: 3px;
  border-radius: 999px;
  background: #a32024;
  transform: translate(-50%, -50%);
}

.page-home .kp-beyond-work-section {
  width: 100%;
  max-width: none;
  padding: 72px 0;
  margin: 0;
  overflow: hidden;
}

.page-home .kp-beyond-work-container {
  position: relative;
  z-index: 2;
}

.page-home .kp-beyond-work-header {
  max-width: 860px;
  margin: 0 auto 38px;
  text-align: center;
}

.page-home .kp-beyond-work-header .kp-heading-2 {
  margin-bottom: 14px;
}

.page-home .kp-beyond-work-header .kp-text {
  max-width: 760px;
  margin: 0 auto;
}

/*
  The section is now a direct child of main rather than a child of the
  centered Home .kp-container. The viewport also explicitly breaks to 100vw
  so its first visible pixel is the browser's far-left edge.
*/
.page-home .kp-beyond-work-viewport {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  padding: 0;
  overflow: hidden;
}

.page-home .kp-beyond-work-rows {
  --kp-beyond-tile-size: clamp(114px, 8.75vw, 139px);
  display: grid;
  gap: 10px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.page-home .kp-beyond-work-row {
  display: flex;
  width: max-content;
  min-width: 100%;
  gap: 0;
  margin: 0;
  padding: 0;
  will-change: transform;
}

.page-home .kp-beyond-work-marquee-group {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  padding: 0 10px 0 0;
  margin: 0;
}

.page-home .kp-beyond-work-photo {
  position: relative;
  flex: 0 0 var(--kp-beyond-tile-size);
  width: var(--kp-beyond-tile-size);
  aspect-ratio: 1 / 1;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.09);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.78);
  isolation: isolate;
  cursor: default;
  outline: none;
}

.page-home .kp-beyond-work-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background:
    linear-gradient(
      180deg,
      rgba(17, 17, 17, 0.02),
      rgba(17, 17, 17, 0.12)
    );
  opacity: 0.42;
  transition: opacity 520ms ease;
  pointer-events: none;
}

.page-home .kp-beyond-work-photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  filter: grayscale(1) saturate(0.65) contrast(1.04);
  transform:
    scale(1.13)
    translate(var(--pan-x, 0), var(--pan-y, 0));
  transform-origin:
    var(--origin-x, 50%)
    var(--origin-y, 50%);
  transition:
    transform 760ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 560ms ease;
  will-change: transform, filter;
}

.page-home .kp-beyond-work-row--left {
  animation: kpBeyondMarqueeLeft 112s linear infinite;
}

.page-home .kp-beyond-work-row--right {
  animation: kpBeyondMarqueeRight 108s linear infinite;
  transform: translateX(-50%);
}

@keyframes kpBeyondMarqueeLeft {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@keyframes kpBeyondMarqueeRight {
  from {
    transform: translateX(-50%);
  }

  to {
    transform: translateX(0);
  }
}

@media (hover: hover) and (pointer: fine) {
  .page-home .kp-beyond-work-row:hover {
    animation-play-state: paused;
  }

  .page-home .kp-beyond-work-photo:hover img {
    filter: grayscale(0) saturate(1) contrast(1);
    transform: scale(1) translate(0, 0);
  }

  .page-home .kp-beyond-work-photo:hover::after {
    opacity: 0;
  }
}

.page-home .kp-beyond-work-photo:focus-visible img {
  filter: grayscale(0) saturate(1) contrast(1);
  transform: scale(1) translate(0, 0);
}

.page-home .kp-beyond-work-photo:focus-visible::after {
  opacity: 0;
}

@media (max-width: 900px) {
  .page-home .kp-beyond-work-rows {
    --kp-beyond-tile-size: clamp(100px, 31vw, 125px);
    gap: 8px;
  }

  .page-home .kp-beyond-work-marquee-group {
    gap: 8px;
    padding-right: 8px;
  }

  .page-home .kp-beyond-work-photo {
    border-radius: 8px;
  }

  .page-home .kp-beyond-work-row--left {
    animation-duration: 96s;
  }

  .page-home .kp-beyond-work-row--right {
    animation-duration: 92s;
  }
}

@media (max-width: 700px) {
  .page-home .kp-beyond-work-section {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .page-home .kp-beyond-work-header {
    margin-bottom: 28px;
  }

  .page-home .kp-home-section-separator .kp-container {
    width: calc(100% - 36px);
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .kp-beyond-work-row {
    animation: none !important;
    transform: none !important;
  }

  .page-home .kp-beyond-work-photo img,
  .page-home .kp-beyond-work-photo::after {
    transition: none;
  }

  .page-home .kp-beyond-work-photo img {
    transform: none;
  }
}

/* Pause marquee processing while the gallery is outside the viewport. */
.page-home .kp-beyond-work-section.kp-marquee-managed:not(.is-marquee-active)
  .kp-beyond-work-row {
  animation-play-state: paused;
}

.page-home .kp-beyond-work-section.kp-marquee-managed.is-marquee-active
  .kp-beyond-work-row {
  animation-play-state: running;
}

@media (hover: hover) and (pointer: fine) {
  .page-home .kp-beyond-work-section .kp-beyond-work-row:hover {
    animation-play-state: paused !important;
  }
}
