.kpf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:1240px;margin:40px auto;padding:0 24px}.kpf-card{border:1px solid #dce4ef;border-radius:20px;overflow:hidden;background:#fff}.kpf-card>a{display:block;text-decoration:none;color:#092348;height:100%}.kpf-card img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;display:block}.kpf-card>a>div{padding:28px}.kpf-card h2{font-size:28px;line-height:1.2;margin:0 0 15px}.kpf-card p{font-size:17px;line-height:1.6;color:#475569}.kpf-card span{font-weight:700}.kpf-card a:hover h2{color:#0057ff}.kpf-single{max-width:1240px;margin:auto;padding:60px 24px 80px}.kpf-case-content{max-width:1000px;margin:auto}.kpf-case-row{padding:0!important;margin:0 0 25px!important}.kpf-case-row>.pagelayer-row-holder{max-width:100%!important}.kpf-case-row .pagelayer-col-holder{padding:0!important}.kpf-case-row h1{font-size:clamp(36px,5vw,64px);line-height:1.1}.kpf-case-row h2{font-size:32px;line-height:1.2;margin-top:25px}.kpf-case-row p,.kpf-case-row li{font-size:18px;line-height:1.7}.kpf-case-image img{width:100%;height:auto;border-radius:18px;border:1px solid #dce4ef}.kpf-case-btn .pagelayer-btn-holder,.kpf-case-cta>a{display:inline-block;padding:16px 26px;border-radius:10px;background:#092348;color:#fff;text-decoration:none}.kpf-case-cta{max-width:1000px;margin:60px auto 0;padding:32px;background:#f4f7fa;border-radius:18px}.kpf-case-cta h2{font-size:30px}.kpf-back{max-width:1000px;margin:0 auto 35px}.kc-canva-page .cvm-project-image img{object-fit:cover;object-position:top}.kpf-project-overlay{position:absolute;inset:0;z-index:4;border-radius:inherit}.kpf-project-overlay:focus-visible{outline:3px solid #0057ff;outline-offset:-5px}.kpf-project-overlay:hover{box-shadow:inset 0 0 0 3px #0057ff}.kpf-home-link{position:relative}@media(max-width:767px){.kpf-grid{grid-template-columns:1fr;gap:24px}.kpf-card h2{font-size:25px}.kpf-single{padding:35px 22px 55px}.kpf-case-row h1{font-size:36px}.kpf-case-row h2{font-size:28px}.kpf-case-row p,.kpf-case-row li{font-size:16px}}
/* Scoped rules also defeat PageLayer's global desktop h1/h2 rules. */
@media(max-width:767px){
  body .kpf-grid{padding-inline:0;margin:24px 0;width:100%;max-width:100%}
  body .kpf-card>a>div{padding:20px}
  body .kpf-grid .kpf-card h2,body .kpf-grid .kpf-card h2 *{
    font-size:24px!important;line-height:1.25!important;
    word-break:normal;overflow-wrap:normal;
  }
  body .kpf-single .kpf-case-content h1,
  body .kpf-single .kpf-case-content h1 *{
    font-size:36px!important;line-height:1.15!important;
    word-break:normal;overflow-wrap:normal;
  }
  body .kpf-single .kpf-case-content h2,
  body .kpf-single .kpf-case-content h2 *,
  body .kpf-single .kpf-case-cta h2{
    font-size:28px!important;line-height:1.25!important;
  }
  body .kpf-single .pagelayer-col{min-width:0;max-width:100%}
}
