.kap-site{--kap-navy:#1B2B73;--kap-blue:#3351D6;--kap-orange:#519CE8;--kap-ice:#F4F7FD;color:var(--kap-navy);background:#fff;font-family:Alexandria,sans-serif;line-height:1.8;direction:rtl;text-align:right;overflow-wrap:anywhere}
.kap-site *{box-sizing:border-box}.kap-site a{color:inherit;text-decoration:none}.kap-site button{font:inherit;cursor:pointer}.kap-site [hidden]{display:none!important}.kap-site bdi[lang=en],.kap-count bdi,.kap-pagination,.kap-lb-counter{font-family:Montserrat,Alexandria,sans-serif}.kap-wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.kap-hero{background:var(--kap-ice);padding:78px 0 68px}.kap-eyebrow{display:block;color:var(--kap-blue);font-size:13px;font-weight:600;margin-bottom:16px}.kap-site h1{font-size:clamp(32px,4vw,58px);font-weight:700;line-height:1.4;letter-spacing:-1px;margin:0 0 20px;color:var(--kap-navy)}.kap-hero p{color:#2D3748;font-size:18px;max-width:740px;margin:0}.kap-back{display:inline-flex;margin-top:24px;font-size:14px;font-weight:600;color:var(--kap-blue)!important}.kap-archive{padding-top:38px;padding-bottom:80px}.kap-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:56px;align-items:center}.kap-filter{padding:10px 17px;border:1px solid #DFE8F9;border-radius:100px;background:#fff;color:var(--kap-navy);font-size:13px;line-height:1.6;transition:background .2s,color .2s,border .2s}.kap-filter:hover,.kap-filter.is-active{background:var(--kap-navy);border-color:var(--kap-navy);color:#fff}.kap-work-section{scroll-margin-top:105px;margin-bottom:62px}.kap-section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.kap-section-head h2{font-size:26px;font-weight:600;line-height:1.5;margin:0}.kap-count{font-size:13px;color:var(--kap-blue);border:1px solid #DFE8F9;border-radius:50px;padding:5px 13px;white-space:nowrap}.kap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.kap-card{border:1px solid #E3EBF5;border-radius:20px;overflow:hidden;min-width:0;background:#fff;box-shadow:0 8px 30px rgba(27,43,115,.04);transition:transform .23s,box-shadow .23s,border-color .23s}.kap-card:hover{transform:translateY(-5px);border-color:var(--kap-orange);box-shadow:0 18px 40px rgba(27,43,115,.09)}.kap-card-media,.kap-video-stage{display:block;position:relative;background:var(--kap-ice);aspect-ratio:1/1;overflow:hidden}.kap-grid-full .kap-card-media,.kap-grid-video .kap-video-stage{aspect-ratio:4/3}.kap-card-media img,.kap-video-play img{width:100%;height:100%;object-fit:contain;display:block;margin:0}.kap-card-hint{position:absolute;bottom:14px;left:14px;background:rgba(27,43,115,.9);color:#fff;font-size:11px;padding:6px 12px;border-radius:50px;opacity:0;translate:0 4px;transition:opacity .2s,translate .2s}.kap-card-media:hover .kap-card-hint,.kap-card-media:focus-visible .kap-card-hint{opacity:1;translate:0}.kap-card-copy{padding:20px 22px 24px}.kap-card-copy h3{font-size:16px;font-weight:600;line-height:1.65;margin:0;color:var(--kap-navy)}.kap-card-meta{font-size:12px;color:#2D3748;margin:7px 0 0}.kap-section-link{display:inline-flex;border-bottom:1px solid #519CE8;color:var(--kap-blue)!important;font-size:14px;font-weight:600;margin-top:25px;padding:5px 0;gap:8px}.kap-empty{border:1px dashed #DFE8F9;background:var(--kap-ice);padding:35px 25px;border-radius:18px;color:#2D3748;font-size:14px}.kap-empty p{margin:0}.kap-pagination{display:flex;justify-content:center;gap:10px;margin-top:36px}.kap-pagination a{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #DFE8F9;border-radius:10px}.kap-pagination a[aria-current=page]{background:var(--kap-navy);color:#fff;border-color:var(--kap-navy)}.kap-video-stage iframe,.kap-video-stage video{width:100%;height:100%;border:0;display:block;background:#1B2B73}.kap-video-play{position:relative;display:block;width:100%;height:100%;background:none;border:0;padding:0}.kap-play-icon{position:absolute;top:50%;left:50%;translate:-50% -50%;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--kap-orange);box-shadow:0 4px 30px #1B2B7333;font-size:23px;direction:ltr;padding-left:4px}.kap-programs,.kap-services{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;margin-bottom:22px}.kap-program{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--kap-blue)}.kap-program-icon{font-family:Montserrat,sans-serif;background:var(--software-bg);color:var(--software-fg);font-weight:600;line-height:1;width:31px;height:31px;display:grid;place-items:center;border-radius:8px;direction:ltr}.kap-services span{font-size:12px;padding:7px 13px;border-radius:50px;background:var(--kap-ice);border:1px solid #DFE8F9;color:var(--kap-blue)}.kap-project{padding-top:42px;padding-bottom:75px}.kap-project .kap-wrap{max-width:1100px}.kap-breadcrumbs{display:flex;gap:11px;align-items:center;flex-wrap:wrap;font-size:12px;color:#2D3748;margin-bottom:34px}.kap-project-head{margin-bottom:30px}.kap-brief{font-size:17px;color:#2D3748;max-width:800px}.kap-brief p{margin:0 0 12px}.kap-meta{display:flex;flex-wrap:wrap;gap:30px 60px;border-top:1px solid #E3EBF5;border-bottom:1px solid #E3EBF5;margin:30px 0;padding:22px 0}.kap-meta dt{font-size:12px;color:#2D3748}.kap-meta dd{font-size:15px;font-weight:500;margin:6px 0 0}.kap-project-hero,.kap-project-gallery a{display:block;position:relative;margin-top:30px;background:var(--kap-ice);border-radius:22px;overflow:hidden;border:1px solid #E3EBF5}.kap-project-hero img,.kap-project-gallery img{display:block;width:100%;height:auto;margin:0}.kap-project-gallery{display:grid;gap:24px;margin-top:26px}.kap-project-gallery a{margin:0}.kap-image-zoom{position:absolute;bottom:16px;left:16px;border-radius:50px;background:#1B2B73E8;color:#fff;font-size:12px;padding:8px 16px}.kap-lightbox{position:fixed;inset:0;margin:0;max-width:none;max-height:none;width:100vw;height:100dvh;border:0;padding:0;background:#1B2B73F5;color:#fff;z-index:9999999;overflow:hidden;font-family:Alexandria,sans-serif}.kap-lightbox::backdrop{background:#1B2B73EF}.kap-lightbox[open]{display:grid;grid-template-rows:68px minmax(0,1fr) 76px}.kap-lb-toolbar,.kap-lb-bottom{display:flex;align-items:center;padding:10px 25px;gap:14px;min-height:0}.kap-lb-counter{margin-inline-start:auto;font-size:13px}.kap-lightbox button{border:1px solid #ffffff44;background:#ffffff12;color:#fff;min-width:44px;min-height:44px;border-radius:50%;padding:5px;font-size:22px;line-height:1;cursor:pointer}.kap-lightbox button:hover{background:var(--kap-orange)}.kap-lb-stage{display:flex;align-items:center;justify-content:center;overflow:auto;min-height:0;touch-action:pan-y pinch-zoom;padding:10px 25px}.kap-lb-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none}.kap-lb-stage.is-zoomed{display:block;touch-action:pan-x pan-y pinch-zoom}.kap-lb-stage.is-zoomed img{max-width:none;max-height:none;width:180%;height:auto;margin:auto}.kap-lb-bottom{justify-content:space-between}.kap-lb-caption{margin:0;font-size:14px;text-align:center;line-height:1.6}.kap-site a:focus-visible,.kap-site button:focus-visible{outline:3px solid var(--kap-orange);outline-offset:4px}.kap-video-error{padding:25px;font-size:14px}
@media(max-width:1023px){.kap-wrap{width:calc(100% - 56px)}.kap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kap-hero{padding:58px 0}.kap-section-head h2{font-size:23px}}
@media(max-width:600px){.kap-wrap{width:calc(100% - 40px)}.kap-hero{padding:42px 0}.kap-hero p{font-size:15px}.kap-site h1{letter-spacing:0}.kap-archive{padding-top:27px;padding-bottom:40px}.kap-filters{gap:8px;margin-bottom:34px}.kap-filter{padding:9px 13px;font-size:11px}.kap-grid{grid-template-columns:minmax(0,1fr);gap:18px}.kap-card-copy{padding:17px 20px}.kap-card-copy h3{font-size:16px}.kap-section-head h2{font-size:20px}.kap-work-section{margin-bottom:38px}.kap-section-link{font-size:12px}.kap-count{font-size:11px;padding:5px 10px}.kap-project{padding-top:27px}.kap-meta{gap:22px 35px}.kap-project-hero,.kap-project-gallery a{border-radius:15px}.kap-project-gallery{gap:18px}.kap-image-zoom{font-size:11px;padding:7px 12px;bottom:12px;left:12px}.kap-lb-toolbar,.kap-lb-bottom{padding-inline:15px}.kap-lb-stage{padding-inline:10px}.kap-lb-caption{font-size:12px}.kap-brief{font-size:15px}}
@media(prefers-reduced-motion:reduce){.kap-site *, .kap-native-dropdown *{transition:none!important;scroll-behavior:auto!important;animation:none!important}}

/* Editorial UI 3.1.0. These rules never target the site header or footer. */
.kap-site.kap-portfolio-index .kap-hero {
  background: #FFFFFF;
  padding-bottom: 32px;
  text-align: center;
}
.kap-site.kap-portfolio-index .kap-hero p { max-width: 680px; margin-inline: auto; }
.kap-site.kap-portfolio-index .kap-archive { padding-top: 0; }
.kap-site .kap-filters {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  max-width: 100%;
  margin: 0 auto 48px;
  padding: 4px;
}
.kap-site .kap-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid rgba(27, 43, 115, 0.08);
  border-radius: 36px;
  background: #FFFFFF;
  color: #1B2B73;
  font-family: Alexandria, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  white-space: nowrap;
  transition: background-color .3s, color .3s, border-color .3s, transform .3s, box-shadow .3s;
}
.kap-site .kap-filter:hover {
  background: #EAF3FD;
  color: #1B2B73;
  border-color: #519CE8;
  transform: translateY(-2px);
  box-shadow: 0 5px 14px rgba(81, 156, 232, .12);
}
.kap-site .kap-filter.is-active {
  background: #1B2B73;
  border-color: #1B2B73;
  color: #FFFFFF;
  box-shadow: 0 5px 16px rgba(27, 43, 115, .10);
}
.kap-site.kap-project { padding-block: 48px 72px; }
.kap-site.kap-project .kap-wrap { width: calc(100% - 40px); max-width: 1000px; }
.kap-project .kap-project-head {
  width: 100%;
  max-width: 840px;
  margin: 0 auto 40px;
  text-align: center;
}
.kap-project .kap-breadcrumbs {
  justify-content: center;
  margin: 0 0 22px;
  font-size: 14px;
  color: rgba(27, 43, 115, .68);
}
.kap-project .kap-breadcrumbs a { transition: color .3s; }
.kap-project .kap-breadcrumbs a:hover { color: #519CE8; }
.kap-project .kap-project-head h1 {
  max-width: 840px;
  margin: 0;
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
}
.kap-project .kap-brief {
  max-width: 680px;
  margin: 18px auto 0;
  color: #4A5568;
  font-size: 16px;
  line-height: 1.8;
}
.kap-project .kap-brief p { margin: 0 0 12px; }
.kap-project .kap-brief p:last-child { margin-bottom: 0; }
.kap-project .kap-project-meta {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin-top: 22px;
}
.kap-project .kap-meta,
.kap-project .kap-programs {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
}
.kap-project .kap-meta-item { max-width: 100%; }
.kap-project .kap-meta dd {
  margin: 0;
  padding: 6px 12px;
  border: 1px solid rgba(51, 81, 214, .12);
  border-radius: 28px;
  background: #F4F7FD;
  color: #3351D6;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8;
}
.kap-project .kap-meta-year dd { padding-inline: 4px; border: 0; background: none; color: #1B2B73; }
.kap-project .kap-year { font-family: Montserrat, sans-serif; font-size: 13px; font-weight: 500; }
.kap-project .kap-program { max-width: 100%; }
.kap-project .kap-program-icon { flex-shrink: 0; width: 28px; height: 28px; border-radius: 7px; }
.kap-project .kap-services { justify-content: center; gap: 10px; margin: 16px 0 0; }
.kap-project .kap-services span { max-width: 100%; }
.kap-project .kap-project-media { display: grid; gap: 28px; width: 100%; max-width: 1000px; margin-inline: auto; }
.kap-project .kap-project-hero,
.kap-project .kap-project-gallery a {
  display: block;
  position: relative;
  margin: 0;
  border: 1px solid rgba(27, 43, 115, .08);
  border-radius: 14px;
  background: #F4F7FD;
  box-shadow: 0 8px 24px rgba(27, 43, 115, .05);
  overflow: hidden;
}
.kap-project .kap-project-gallery { display: grid; gap: 28px; margin: 0; }
.kap-project .kap-project-media img { display: block; width: 100%; height: auto; margin: 0; }
.kap-project .kap-back { display: flex; width: fit-content; margin: 32px auto 0; }
.kap-site .kap-card-video { aspect-ratio: 16 / 9; border-radius: 12px; margin-top: 18px; }
.kap-grid-video .kap-card-media { aspect-ratio: 4 / 3; }
.kap-project .kap-project-video { aspect-ratio: 16 / 9; border-radius: 14px; border: 1px solid rgba(27,43,115,.08); box-shadow: 0 8px 24px rgba(27,43,115,.05); }
.kap-project .kap-project-video img { height: 100%; object-fit: contain; }
.kap-card-gallery,.kap-card-details { margin-top: 16px; border-top: 1px solid #E3EBF5; padding-top: 12px; }
.kap-card-gallery summary,.kap-card-details summary { cursor: pointer; font-size: 12px; font-weight: 500; color: #3351D6; line-height: 1.8; }
.kap-card-details > p { font-size: 13px; line-height: 1.8; color: #4A5568; overflow-wrap: anywhere; }
.kap-card-thumbs { display: grid; grid-template-columns: repeat(auto-fit,minmax(70px,1fr)); gap: 8px; margin-top: 12px; }
.kap-card-thumbs a { border: 1px solid #E3EBF5; border-radius: 8px; overflow: hidden; background: #F4F7FD; aspect-ratio: 1 / 1; }
.kap-card-thumbs img { display: block; width: 100%; height: 100%; object-fit: contain; }
.kap-site .kap-resource-link { display: inline-flex; align-items: center; justify-content: center; gap: 7px; max-width: 100%; min-height: 44px; border: 1px solid rgba(51,81,214,.16); border-radius: 24px; padding: 8px 16px; margin-top: 16px; background: #F4F7FD; color: #3351D6; font-size: 13px; overflow-wrap: anywhere; transition: border-color .2s,background .2s; }
.kap-site .kap-resource-link:hover { border-color: #519CE8; background: #FFF3E8; }
.kap-project-resource { text-align: center; }
.kap-project-resource .kap-resource-link { margin-top: 0; }
.kap-site .kap-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 767px) {
  .kap-site .kap-filters {
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-padding-inline: 4px;
    padding: 6px 4px;
    margin-bottom: 34px;
  }
  .kap-site .kap-filters::-webkit-scrollbar { display: none; }
  .kap-site .kap-filter { font-size: 14px; padding-inline: 16px; }
  .kap-site.kap-project { padding-block: 30px 48px; }
  .kap-project .kap-project-head { margin-bottom: 30px; }
  .kap-project .kap-project-head h1 { font-size: 28px; line-height: 1.55; }
  .kap-project .kap-brief { font-size: 15px; }
  .kap-project .kap-project-meta { gap: 12px; margin-top: 20px; }
  .kap-project .kap-project-media,
  .kap-project .kap-project-gallery { gap: 24px; }
}
@media (max-width: 359px) { .kap-project .kap-project-head h1 { font-size: 24px; } }
@media (prefers-reduced-motion: reduce) { .kap-site .kap-filter:hover { transform: none; } }
.kap-site .kap-program-custom { background: #FFFFFF; }
.kap-site .kap-program-custom img { display: block; width: 28px; height: 28px; max-width: 28px; object-fit: contain; border-radius: 4px; }

/* One contact link at the end of each portfolio/category/project view. */
.kap-site .kap-contact-cta {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 1000px;
  margin: 40px auto 0;
}
.kap-site a.kap-contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 208px;
  max-width: 100%;
  min-height: 54px;
  padding: 13px 26px;
  border: 1px solid var(--kap-contact-bg, #519CE8);
  border-radius: 36px;
  background: var(--kap-contact-bg, #519CE8);
  color: var(--kap-contact-fg, #1B2B73);
  font-family: Alexandria, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 6px 18px rgba(81, 156, 232, .18);
  transition: transform .25s, box-shadow .25s;
}
.kap-site .kap-contact-button svg { flex-shrink: 0; }
.kap-site .kap-contact-button:hover {
  color: var(--kap-contact-fg, #1B2B73);
  transform: translateY(-2px);
  box-shadow: 0 9px 24px rgba(81, 156, 232, .26);
}
.kap-site .kap-contact-button:focus-visible {
  outline: 3px solid #3351D6;
  outline-offset: 4px;
}
.kap-site .kap-contact-button:active { transform: none; }
/* A separate end-of-view area: category filtering never owns this element. */
.kap-site > .kap-contact-cta { width: min(1000px, calc(100% - 40px)); }
.kap-site.kap-with-contact .kap-archive { padding-bottom: 0; }
.kap-portfolio-index > .kap-contact-cta,
.kap-category-index > .kap-contact-cta { padding-bottom: 80px; }
@media (max-width: 600px) {
  .kap-portfolio-index > .kap-contact-cta,
  .kap-category-index > .kap-contact-cta { padding-bottom: 40px; }
}
@media (max-width: 767px) {
  .kap-site .kap-contact-cta { margin-top: 32px; }
  .kap-site a.kap-contact-button { width: min(100%, 280px); }
}
@media (prefers-reduced-motion: reduce) {
  .kap-site .kap-contact-button { transition: none; }
  .kap-site .kap-contact-button:hover { transform: none; }
}
