
  :root{
    --white:#FFFFFF;
    --navy:#09263D;
    --navy-2:#0F324E;
    --paper:#F3F0E8;
    --paper-2:#EAE5D6;
    --sky:#7DB1ED;
    --sky-2:#A9CCF2;
    --sky-3:#4E92DB;
    --sky-tint:#EAF2FC;
    --ink-2:#2A3E52;
    --dim:#5A6B7D;
    --line:rgba(9,38,61,.14);
  }
  /* Wix-embed resilience */
  html,body{margin:0!important;padding:0!important;width:100%;max-width:100%;color:var(--navy);
    font-family:'Instrument Sans',-apple-system,'Segoe UI',sans-serif;
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
  html{background:var(--navy);scrollbar-width:none;-ms-overflow-style:none}
  body{background:var(--white);display:flex;flex-direction:column;scrollbar-width:none;-ms-overflow-style:none}
  body > *{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box}
  html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}
  *,*::before,*::after{box-sizing:border-box}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}

  .kcs-wrap{width:min(1180px,92%);margin:0 auto}
  .kcs-kicker{display:inline-flex;align-items:center;gap:.7rem;font-size:.72rem;letter-spacing:.3em;
    text-transform:uppercase;font-weight:800;color:#2E63A6}
  .kcs-kicker::before{content:"";width:30px;height:2px;background:#2E63A6}
  .kcs-kicker.on-navy{color:var(--sky-2)}
  .kcs-kicker.on-navy::before{background:var(--sky-2)}
  em{font-style:italic}

  /* ============================================================
     HERO — navy case-study banner
     ============================================================ */
  .kcs-hero{position:relative;overflow:hidden;background:var(--navy);isolation:isolate;
    padding:clamp(3.5rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,3.5rem)}
  .kcs-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;
    background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 70%,var(--sky-3) 160%)}
  .kcs-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.5;display:block}
  /* Navy wash over the image so the headline stays readable (left-weighted) */
  .kcs-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(100deg,rgba(9,38,61,.9) 0%,rgba(9,38,61,.7) 50%,rgba(9,38,61,.45) 100%)}
  .kcs-hero::after{content:"";position:absolute;top:-12%;right:-6%;width:460px;height:460px;z-index:1;pointer-events:none;
    background:radial-gradient(circle,rgba(125,177,237,.2) 0%,transparent 60%)}
  .kcs-hero .kcs-wrap{position:relative;z-index:2}
  .kcs-hero h1{font-weight:800;font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.08;letter-spacing:-.025em;
    text-transform:uppercase;color:var(--white);margin:1.1rem 0 0;max-width:20ch}
  .kcs-hero h1 em{font-style:normal;color:var(--sky-2)}
  .kcs-hero-lede{margin-top:1.3rem;max-width:60ch;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.55;
    color:rgba(255,255,255,.9);font-weight:500}
  .kcs-hero-lede strong{color:var(--white);font-weight:700}

  /* ============================================================
     METRICS — 3 callouts
     ============================================================ */
  .kcs-metrics{background:var(--paper);padding:clamp(1.6rem,3vw,2.4rem) 0}
  .kcs-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem)}
  @media(max-width:640px){.kcs-metrics-grid{grid-template-columns:1fr}}
  .kcs-metric{background:var(--white);border:1px solid var(--line);border-radius:2px 20px 2px 20px;
    padding:1.3rem 1.4rem;box-shadow:-6px 6px 0 -1px rgba(125,177,237,.22),0 10px 24px -16px rgba(9,38,61,.4)}
  /* Delivery metrics (how the work was done) — kept quieter than the outcome figures */
  .kcs-metric b{display:block;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800;letter-spacing:-.03em;
    color:#2E63A6;line-height:1;margin-bottom:.35rem}
  .kcs-metric span{font-size:.8rem;letter-spacing:.04em;color:var(--ink-2);font-weight:600;line-height:1.35}

  /* ============================================================
     Generic section
     ============================================================ */
  .kcs-sec{padding:clamp(3rem,6vw,5rem) 0;position:relative}
  .kcs-sec--tint{background:var(--sky-tint)}
  .kcs-sec--paper{background:var(--paper)}
  .kcs-sec--white{background:var(--white)}
  .kcs-sec-head{max-width:720px}
  .kcs-big-label{font-weight:800;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.1;letter-spacing:-.02em;
    color:var(--navy);text-transform:uppercase;margin:.6rem 0 0}
  .kcs-big-label em{font-style:italic;color:#2E63A6}

  /* PROBLEM */
  .kcs-problem-intro{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.5;color:var(--ink-2);
    max-width:56ch;margin:1.1rem 0 2rem;font-weight:500}
  .kcs-problem-intro strong{color:var(--navy);font-weight:700}
  .kcs-pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.4rem)}
  @media(max-width:760px){.kcs-pcards{grid-template-columns:1fr}}
  .kcs-pcard{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--sky-3);
    border-radius:2px 18px 2px 18px;padding:1.2rem 1.25rem;font-size:.98rem;line-height:1.5;color:var(--ink-2)}
  .kcs-pcard strong{color:var(--navy);font-weight:600}

  /* OBJECTIVE — navy statement band */
  .kcs-objective{background:var(--navy);color:var(--white);text-align:center;position:relative;overflow:hidden;isolation:isolate}
  /* Background image (abstract glass-ring concept) — low opacity so white text stays readable */
  .kcs-objective::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:url('images/bc8b57c79336bd17.webp') center/cover no-repeat;opacity:.28}
  .kcs-objective::after{content:"";position:absolute;bottom:-20%;left:-6%;width:420px;height:420px;z-index:0;pointer-events:none;
    background:radial-gradient(circle,rgba(125,177,237,.16) 0%,transparent 60%)}
  .kcs-objective .kcs-wrap{position:relative;z-index:1;max-width:900px}
  .kcs-objective .kcs-kicker{justify-content:center}
  .kcs-objective p{font-weight:700;font-size:clamp(1.35rem,2.6vw,2.1rem);line-height:1.25;letter-spacing:-.015em;
    color:var(--white);margin:1rem auto 0;max-width:24ch}
  .kcs-objective p em{font-style:italic;color:var(--sky-2);font-weight:700}

  /* SOLUTION — 4 numbered cards */
  .kcs-sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.1rem,2vw,1.6rem);margin-top:2rem}
  @media(max-width:760px){.kcs-sol-grid{grid-template-columns:1fr}}
  .kcs-sol{position:relative;background:var(--white);border:1px solid var(--line);border-radius:2px 22px 2px 22px;
    padding:1.5rem 1.5rem 1.6rem;overflow:hidden;
    box-shadow:-6px 6px 0 -1px rgba(125,177,237,.22),0 14px 30px -20px rgba(9,38,61,.45)}
  /* Step tracker — a 4-dot progress indicator; the active step stretches into a sky pill */
  .kcs-sol-dots{display:flex;align-items:center;gap:.45rem;margin-bottom:1.1rem}
  .kcs-sol-dots i{width:8px;height:8px;border-radius:50%;background:var(--line);transition:all .3s}
  .kcs-sol-dots i.on{width:28px;border-radius:5px;background:linear-gradient(135deg,var(--sky-2),var(--sky-3))}
  .kcs-sol h3{font-weight:800;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.2;letter-spacing:-.015em;
    color:var(--navy);margin:0 0 .5rem}
  .kcs-sol h3 em{font-style:italic;color:#2E63A6;font-weight:700}
  .kcs-sol p{font-size:.96rem;line-height:1.55;color:var(--ink-2);margin:0}

  /* RESULT */
  .kcs-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,3vw,2.6rem);margin-top:1.8rem;align-items:start}
  @media(max-width:820px){.kcs-result-grid{grid-template-columns:1fr}}
  .kcs-result-sub{font-weight:700;font-style:italic;font-size:clamp(1.15rem,1.9vw,1.45rem);color:var(--navy);
    margin:0 0 1rem;letter-spacing:-.01em}
  .kcs-result-sub em{color:#2E63A6}
  .kcs-rlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
  .kcs-rlist li{position:relative;padding-left:1.4rem;font-size:1rem;line-height:1.45;color:var(--ink-2)}
  .kcs-rlist li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--sky-3)}
  .kcs-rlist.evidence li strong{color:var(--navy);font-weight:600}
  .kcs-rlist .fig{color:#2E63A6;font-weight:800}
  .kcs-snap-tag{display:inline-block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;
    color:#2E63A6;background:var(--sky-tint);border:1px solid var(--line);border-radius:2px 12px 2px 12px;
    padding:.3rem .7rem;margin-bottom:.9rem}
  .kcs-result-line{margin:2rem 0 0;font-weight:700;font-size:clamp(1.1rem,1.9vw,1.5rem);color:var(--navy);
    letter-spacing:-.015em;line-height:1.25}
  .kcs-result-line em{font-style:italic;color:#2E63A6}
  /* Outcome figures (validated activity) — given MORE prominence than delivery metrics */
  .kcs-snap-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:.9rem 0 1.1rem}
  .kcs-snap-stats > div{background:var(--navy);color:#fff;border-radius:2px 16px 2px 16px;padding:.9rem .6rem;text-align:center;
    box-shadow:-5px 5px 0 -1px rgba(125,177,237,.22)}
  .kcs-snap-stats b{display:block;font-size:clamp(1.9rem,4vw,2.7rem);font-weight:800;letter-spacing:-.03em;color:var(--sky-2);line-height:1}
  .kcs-snap-stats span{display:block;margin-top:.3rem;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.82);font-weight:700;line-height:1.3}
  .kcs-midcta{margin-top:1.8rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem 1.6rem}
  .kcs-download-link{font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#2E63A6;
    border-bottom:1px solid rgba(78,146,219,.4);transition:color .25s}
  .kcs-download-link:hover{color:var(--navy)}

  /* buttons */
  .kcs-btn{display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#2E63A6 0%,#1C4475 100%);color:var(--white);
    padding:.85rem 1.9rem;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
    border:0;outline:0;border-radius:3px 22px 3px 22px;white-space:nowrap;
    text-shadow:0 1px 2px rgba(9,38,61,.28);box-shadow:0 12px 24px -10px rgba(78,146,219,.55);
    transition:background .3s,transform .25s,box-shadow .3s,border-radius .3s}
  .kcs-btn:hover{background:linear-gradient(135deg,var(--white) 0%,var(--sky-2) 55%,var(--sky) 100%);color:var(--navy);
    border-radius:22px 3px 22px 3px;transform:translateY(-2px);box-shadow:0 18px 32px -10px rgba(78,146,219,.6);text-shadow:none}
  /* Mobile — the long button label can't fit on one line; let it wrap and stay within the screen */
  @media(max-width:520px){
    .kcs-btn{white-space:normal;text-align:center;line-height:1.3;max-width:100%;
      letter-spacing:.1em;padding:.8rem 1.35rem}
  }

  /* CLIENT PROOF — 3-card grid; mobile = scroll-snap, one testimonial at a time */
  .kcs-proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,1.5rem);margin-top:2rem}
  @media(max-width:820px){
    .kcs-proof-grid{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:88%;
      overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
      padding-bottom:.6rem;scrollbar-width:none}
    .kcs-proof-grid::-webkit-scrollbar{display:none}
    .kcs-quote{scroll-snap-align:center}
  }
  /* Same navy base as the image headers and About testimonials. */
  .kcs-quote{background:var(--site-section-background,#09263D);
    border:1px solid rgba(125,177,237,.3);border-top:3px solid var(--sky-2);border-radius:2px 20px 2px 20px;
    padding:1.5rem 1.5rem 1.4rem;display:flex;flex-direction:column;
    box-shadow:-5px 5px 0 -1px rgba(125,177,237,.28),0 16px 28px -18px rgba(9,38,61,.4)}
  .kcs-quote p::before{content:"\201C";font-family:Georgia,serif;font-size:1.7rem;line-height:0;vertical-align:-.38em;color:var(--sky-2);font-weight:800;margin-right:.05em}
  .kcs-quote p::after{content:"\201D";font-family:Georgia,serif;font-size:1.7rem;line-height:0;vertical-align:-.38em;color:var(--sky-2);font-weight:800;margin-left:-.12em}
  .kcs-quote p{font-size:.98rem;line-height:1.55;color:#fff;font-style:italic;margin:0 0 1rem}
  .kcs-quote-by{margin-top:auto;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.22)}
  .kcs-quote-by b{display:block;font-size:.92rem;font-weight:700;color:#fff}
  .kcs-quote-by span{font-size:.8rem;color:var(--sky-2);font-weight:500}

  /* FINAL CTA */
  .kcs-final{background:var(--navy);color:var(--white);text-align:center;position:relative;overflow:hidden;isolation:isolate}
  .kcs-final .kcs-wrap{position:relative;z-index:1;max-width:760px}
  .kcs-final h2{font-weight:800;font-size:clamp(1.35rem,2.6vw,2.1rem);line-height:1.2;letter-spacing:-.02em;
    text-transform:uppercase;color:var(--white);margin:1rem auto .9rem;max-width:24ch}
  .kcs-final h2 em{font-style:italic;color:var(--sky-2);font-weight:800;text-transform:none}
  .kcs-final p{font-size:clamp(.98rem,1.3vw,1.1rem);line-height:1.55;color:rgba(255,255,255,.9);
    margin:0 auto 1.6rem;max-width:56ch}
  /* Font caps at 700 — hairline stroke to make headings/labels/links/buttons read heavier */
  h1,h2,.kcs-kicker,.kcs-big-label,.kcs-sol h3,.kcs-snap-tag,.kcs-download-link{-webkit-text-stroke:.22px currentColor;text-stroke:.22px currentColor}
