/* Case Studies page — scoped under .case-studies-page to avoid clashing with assets/css/style.css */
.case-studies-page {
  --container: 1120px;
  --gutter: max(24px, calc((100% - var(--container)) / 2));
  --green: #0f8a4f;
  --green-2: #12a05c;
  --green-dark: #0a6b3c;
  --ink: #0f1f2e;
  --text: #3b4a55;
  --muted: #5b6a73;
  --mint: #eef7f2;
  --mint-2: #e3f3ea;
  --line: #e3e9e6;
  --forest: #0b4a37;

  display: block;
  margin: 0;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  color: var(--ink);
  background: #fbfdfc;
  -webkit-font-smoothing: antialiased;
}
.case-studies-page * { box-sizing: border-box; }
.case-studies-page a { color: var(--green); text-decoration: none; }
.case-studies-page a:hover { color: var(--green-dark); }
.case-studies-page h1, .case-studies-page h2, .case-studies-page h3, .case-studies-page p { margin: 0; }
.case-studies-page h1, .case-studies-page h2, .case-studies-page h3 { font-family: inherit; letter-spacing: normal; }
.case-studies-page svg { display: block; flex: none; }
.case-studies-page button { font-family: inherit; }
.case-studies-page > section { padding-top: 0; padding-bottom: 0; }

.case-studies-page .score-note { margin-top: 18px; font-size: 13px; line-height: 1.55; color: var(--muted); }

/* Findings table and common journey */
.case-studies-page .findings, .case-studies-page .journey { margin: 56px 0 40px; }
.case-studies-page .findings__head { display: flex; flex-direction: column; gap: 10px; max-width: 720px; margin-bottom: 22px; }
.case-studies-page .findings__head h2 { font-size: clamp(24px,2.8vw,32px); line-height: 1.12; font-weight: 800; letter-spacing: -.03em; }
.case-studies-page .findings__head p { font-size: 15px; line-height: 1.6; color: var(--text); }
.case-studies-page .ftable-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.case-studies-page .ftable { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 620px; }
.case-studies-page .ftable th, .case-studies-page .ftable td { text-align: left; padding: 14px 18px; border-top: 1px solid #eef1f0; vertical-align: middle; }
.case-studies-page .ftable thead th { border-top: 0; background: #f6faf8; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.case-studies-page .ftable tbody th { font-weight: 700; color: var(--ink); }
.case-studies-page .ftable tbody th small { display: block; font-size: 12px; font-weight: 500; color: var(--muted); margin-top: 2px; }
.case-studies-page .ftable td { color: var(--text); }
.case-studies-page .ftable td:last-child { text-align: right; white-space: nowrap; font-weight: 700; }
.case-studies-page .jsteps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.case-studies-page .jsteps li { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 8px; }
.case-studies-page .jnum { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: var(--green); }
.case-studies-page .jsteps h3 { font-size: 15px; font-weight: 700; }
.case-studies-page .jsteps p { font-size: 13.5px; line-height: 1.55; color: var(--text); }
.case-studies-page .journey__disclosure { margin-top: 20px; font-size: 12.5px; line-height: 1.6; color: var(--muted); max-width: 900px; }
@media (max-width: 960px) { .case-studies-page .jsteps { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .case-studies-page .jsteps { grid-template-columns: 1fr; } .case-studies-page .findings, .case-studies-page .journey { margin: 40px 0 28px; } }
.case-studies-page .wrap { padding-left: var(--gutter); padding-right: var(--gutter); }
.case-studies-page .eyebrow { font-size: 11.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--green); display: flex; align-items: center; gap: 12px; }
.case-studies-page .eyebrow--line::after { content: ""; width: 44px; height: 1.5px; background: #7fcaa3; }
.case-studies-page .hl { color: var(--green-2); }
.case-studies-page .cs-card { background: #fff; border-radius: 12px; box-shadow: 0 18px 46px rgba(15,31,46,.10),0 1px 3px rgba(15,31,46,.04); }
.case-studies-page .chk { width: 22px; height: 22px; border-radius: 50%; background: var(--green); display: flex; align-items: center; justify-content: center; flex: none; }
.case-studies-page .chk--w { background: #fff; }
.case-studies-page .script { font: 700 24px/1.05 'Caveat',cursive; color: var(--ink); transform: rotate(-14deg); }
.case-studies-page .script::after { content: ""; display: block; width: 70%; height: 3px; background: var(--green); border-radius: 3px; margin: 8px 0 0 30%; transform: rotate(-6deg); }

/* Hero */
.case-studies-page .cs-hero { position: relative; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 32px; align-items: center; padding-top: 40px; padding-bottom: 36px; background: radial-gradient(40% 70% at 80% 30%,#e0f3e8 0%,rgba(224,243,232,0) 70%); overflow: hidden; }
.case-studies-page .cs-hero__text { display: flex; flex-direction: column; gap: 14px; position: relative; z-index: 2; }
.case-studies-page .cs-hero h1 { font-size: clamp(40px,5.6vw,62px); line-height: 1; font-weight: 800; letter-spacing: -.04em; }
.case-studies-page .cs-hero__text > p { font-size: clamp(15px,1.5vw,17px); line-height: 1.5; color: var(--text); max-width: 440px; }
.case-studies-page .trio { display: flex; flex-wrap: wrap; gap: 16px 24px; margin-top: 20px; }
.case-studies-page .trio__item { display: flex; align-items: center; gap: 12px; }
.case-studies-page .trio__ico { width: 42px; height: 42px; border-radius: 50%; background: var(--mint-2); display: flex; align-items: center; justify-content: center; flex: none; }
.case-studies-page .trio__item b { display: block; font-size: 12px; font-weight: 700; }
.case-studies-page .trio__item small { display: block; font-size: 10.5px; color: var(--muted); margin-top: 2px; }

.case-studies-page .cs-hero__visual { position: relative; min-height: 300px; display: flex; align-items: center; justify-content: center; }
.case-studies-page .blob { position: absolute; inset: 6% 0 0 6%; border-radius: 46% 54% 60% 40%/50% 46% 54% 50%; background: radial-gradient(circle at 40% 60%,#d4efe0,rgba(212,239,224,0) 70%); z-index: 0; }
.case-studies-page .dash-ring { position: absolute; left: 4%; top: -4%; width: 88%; aspect-ratio: 1.4; border: 1.5px dashed #6ccb9a; border-radius: 50%; transform: rotate(-18deg); opacity: .6; z-index: 0; }
.case-studies-page .improve { position: relative; z-index: 1; width: min(240px,52%); padding: 18px 18px 16px; transform: rotate(-6deg); margin-right: 20%; }
.case-studies-page .improve h3, .case-studies-page .potential h3, .case-studies-page .see h3 { font-size: 12.5px; font-weight: 700; }
.case-studies-page .jump { display: flex; align-items: center; gap: 10px; margin-top: 14px; }
.case-studies-page .jump b { font-size: 24px; font-weight: 700; }
.case-studies-page .jump .to { color: var(--green-2); font-weight: 800; }
.case-studies-page .plus { background: var(--mint-2); color: var(--green); font-size: 13px; font-weight: 700; padding: 4px 10px; border-radius: 7px; }
.case-studies-page .mini-bars { display: flex; align-items: flex-end; gap: 7px; height: 72px; margin-top: 16px; }
.case-studies-page .mini-bars i { flex: 1; border-radius: 2px; background: #bfe6d1; }
.case-studies-page .mini-bars i:nth-child(1), .case-studies-page .mini-bars i:nth-child(2) { background: #dde3e7; }
.case-studies-page .mini-bars i:nth-last-child(-n+2) { background: var(--green-2); }
.case-studies-page .mini-bars i:last-child { background: var(--green); }
.case-studies-page .checks { position: absolute; z-index: 2; right: 0; top: 30%; width: min(190px,40%); padding: 16px 18px; transform: rotate(4deg); }
.case-studies-page .checks ul, .case-studies-page .see ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.case-studies-page .checks li, .case-studies-page .see li { display: flex; align-items: center; gap: 12px; font-size: 11.5px; color: var(--text); }
.case-studies-page .checks .chk, .case-studies-page .see .chk { width: 20px; height: 20px; }
.case-studies-page .cs-hero .script { position: absolute; right: 0; top: -6px; z-index: 3; font-size: clamp(19px,2vw,24px); }

/* Filters */
.case-studies-page .filters { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 12px; padding-bottom: 22px; }
.case-studies-page .chip { border: 1px solid var(--line); background: #fff; color: var(--text); font-size: 12.5px; font-weight: 500; padding: 11px 22px; border-radius: 99px; cursor: pointer; transition: background .15s,color .15s,border-color .15s; }
.case-studies-page .chip:hover { border-color: #9fd5b8; color: var(--ink); }
.case-studies-page .chip.is-on { background: var(--green); border-color: var(--green); color: #fff; font-weight: 600; }

/* Stories: each card reads like a short case file (issue, headline, the report line, the customer's words) */
.case-studies-page .stories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding-bottom: 24px; }
.case-studies-page .story { --acc: #0f8a4f; --acc-soft: #e6f5ec; position: relative; background: #fff; border: 1px solid var(--line); border-radius: 12px; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 1px 2px rgba(15,31,46,.04); transition: box-shadow .2s, transform .2s; }
.case-studies-page .story:hover { box-shadow: 0 14px 34px rgba(15,31,46,.09); transform: translateY(-2px); }
.case-studies-page .story[hidden] { display: none; }
.case-studies-page .story--blue { --acc: #1d6fd1; --acc-soft: #e7f0fb; }
.case-studies-page .story--orange { --acc: #c4580a; --acc-soft: #fcefe3; }
.case-studies-page .story--purple { --acc: #7a4fd6; --acc-soft: #f0ebfc; }
.case-studies-page .story--red { --acc: #c0392b; --acc-soft: #fbe9e7; }
.case-studies-page .story--teal { --acc: #0f8a74; --acc-soft: #e2f4f1; }
.case-studies-page .story__main { padding: 20px 20px 4px; display: flex; flex-direction: column; gap: 12px; }
.case-studies-page .story__file { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.case-studies-page .story__issue { display: inline-flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 700; color: var(--acc); background: var(--acc-soft); padding: 5px 10px 5px 8px; border-radius: 6px; }
.case-studies-page .story__time { font-size: 11.5px; color: var(--muted); display: inline-flex; align-items: center; gap: 6px; }
.case-studies-page .story__time::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .5; }
.case-studies-page .story__title { font-size: 17px; line-height: 1.3; font-weight: 700; letter-spacing: -.01em; color: var(--ink); }
.case-studies-page .story__title a { color: inherit; }
.case-studies-page .story__title a:hover { color: var(--acc); }
.case-studies-page .story__excerpt { font-size: 13.5px; line-height: 1.6; color: var(--text); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.case-studies-page .story__line { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 2px 12px; padding: 10px 12px; border: 1px dashed #cfd8d4; border-radius: 6px; background: repeating-linear-gradient(0deg,#fbfcfb 0 22px,#f6f8f7 22px 23px); font: 500 12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; color: var(--ink); }
.case-studies-page .story__line-label { grid-column: 1 / -1; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.case-studies-page .story__line-item.is-struck { text-decoration: line-through; text-decoration-color: rgba(192,57,43,.7); text-decoration-thickness: 1.5px; color: #5b6870; }
.case-studies-page .stamp { justify-self: end; font: 800 10.5px/1 'Plus Jakarta Sans',system-ui,sans-serif; letter-spacing: .14em; text-transform: uppercase; padding: 5px 8px; border: 2px solid currentColor; border-radius: 4px; transform: rotate(-6deg); opacity: .85; }
.case-studies-page .stamp--removed { color: #0f8a4f; }
.case-studies-page .stamp--merged { color: #1d6fd1; }
.case-studies-page .stamp--disputed { color: #b7791f; }
.case-studies-page .story__side { padding: 14px 20px 18px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.case-studies-page .story__quote { margin: 0; padding-left: 14px; border-left: 3px solid var(--acc); display: flex; flex-direction: column; gap: 12px; }
.case-studies-page .story__quote p { font: italic 400 14.5px/1.55 Georgia,'Times New Roman',serif; color: #23323c; }
.case-studies-page .story__quote footer { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--muted); }
.case-studies-page .story__quote footer b { display: block; font-size: 13px; color: var(--ink); }
.case-studies-page .avatar { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex: none; background: var(--acc-soft); color: var(--acc); }
.case-studies-page .story__foot { margin-top: auto; padding-top: 14px; border-top: 1px solid #eef1f0; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px; }
.case-studies-page .story__score small { display: block; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 3px; }
.case-studies-page .story__score > span { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); }
.case-studies-page .story__score s { font-size: 15px; font-weight: 600; color: #8a979e; text-decoration: none; }
.case-studies-page .story__score b { font-size: 19px; font-weight: 800; color: var(--ink); }
.case-studies-page .story__score em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--green); background: var(--mint-2); padding: 3px 8px; border-radius: 99px; }
.case-studies-page .story__link { font-size: 12.5px; font-weight: 700; color: var(--acc); white-space: nowrap; }
.case-studies-page .story__link small { font-weight: 500; color: var(--muted); font-size: 12px; }
.case-studies-page .story__link:hover { text-decoration: underline; }
/* The first story leads the grid, laid out wider */
.case-studies-page .story--lead { grid-column: span 2; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); }
.case-studies-page .story--lead .story__main { padding: 26px 26px 24px; gap: 14px; }
.case-studies-page .story--lead .story__title { font-size: 22px; line-height: 1.25; }
.case-studies-page .story--lead .story__excerpt { font-size: 14.5px; -webkit-line-clamp: 5; }
.case-studies-page .story--lead .story__side { background: var(--acc-soft); padding: 26px 24px 22px; }
.case-studies-page .story--lead .story__quote { border-left: 0; padding-left: 0; }
.case-studies-page .story--lead .story__quote::before { content: "\201C"; font: 700 54px/.6 Georgia,serif; color: var(--acc); opacity: .5; height: 22px; }
.case-studies-page .story--lead .story__quote p { font-size: 17px; }
.case-studies-page .story--lead .story__foot { border-top-color: rgba(15,31,46,.08); }
.case-studies-page .story--lead .avatar { background: #fff; }.case-studies-page .empty { grid-column: 1 / -1; text-align: center; padding: 40px 0; color: var(--muted); font-size: 14px; }

/* Impact */
.case-studies-page .impact { margin-bottom: 16px; }
.case-studies-page .impact__inner { background: linear-gradient(90deg,#eef8f2,#f3faf6); border-radius: 12px; padding: 24px 28px; display: grid; grid-template-columns: minmax(0,1.1fr) repeat(3,minmax(0,1fr)); align-items: center; }
.case-studies-page .impact h2 { font-size: clamp(24px,2.6vw,28px); line-height: 1.1; font-weight: 800; letter-spacing: -.03em; margin-top: 8px; }
.case-studies-page .impact__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 4px 12px; border-left: 1px solid #d3e6db; }
.case-studies-page .impact__item .trio__ico { width: 46px; height: 46px; margin-bottom: 8px; }
.case-studies-page .impact__item b { font-size: 13.5px; font-weight: 700; }
.case-studies-page .impact__item small { font-size: 12px; color: var(--text); }

/* CTA */
.case-studies-page .cs-cta { margin-bottom: 56px; }
.case-studies-page .cs-cta__inner { position: relative; background: radial-gradient(60% 120% at 70% 60%,#16704f 0%,rgba(22,112,79,0) 70%),linear-gradient(135deg,#0b4a37,#0d5a41 60%,#0a4434); border-radius: 14px; padding: 32px 36px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 28px; align-items: center; color: #fff; overflow: hidden; }
.case-studies-page .cs-cta__text { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.case-studies-page .cs-cta .eyebrow { color: #d7efe2; }
.case-studies-page .cs-cta h2 { font-size: clamp(28px,3.6vw,40px); line-height: 1.08; font-weight: 800; letter-spacing: -.035em; color: #fff; }
.case-studies-page .cs-cta h2 span { color: #7be0a6; }
.case-studies-page .cs-cta p { font-size: 15px; line-height: 1.5; color: #e2efe9; max-width: 440px; }
.case-studies-page .cs-btn { margin-top: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; background: #fff; color: var(--ink); font-size: 15.5px; font-weight: 700; padding: 15px 26px; border-radius: 7px; transition: background .15s; }
.case-studies-page .cs-btn:hover { background: #eaf6ef; color: var(--ink); }
.case-studies-page .assure { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 10px; }
.case-studies-page .assure span { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #e2efe9; }
.case-studies-page .cs-cta__visual { position: relative; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 14px; align-items: start; }
.case-studies-page .potential { color: var(--ink); padding: 16px 18px; transform: rotate(-3deg); margin-top: 16px; }
.case-studies-page .potential small { display: block; font-size: 10px; color: var(--muted); margin-top: 12px; }
.case-studies-page .see { color: var(--ink); padding: 16px 18px; transform: rotate(3deg); }
.case-studies-page .see ul { margin-top: 12px; gap: 12px; }

/* Responsive */
@media (max-width: 1100px) {
  .case-studies-page .cs-hero { grid-template-columns: 1fr; gap: 24px; }
  .case-studies-page .cs-hero__text > p { max-width: 600px; }
  .case-studies-page .cs-hero__visual { max-width: 560px; width: 100%; margin: 0 auto; min-height: 320px; }
  .case-studies-page .cs-cta__inner { grid-template-columns: 1fr; }
  .case-studies-page .cs-cta__visual { max-width: 540px; }
}
@media (max-width: 1000px) {
  .case-studies-page .stories { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .case-studies-page .story--lead { grid-column: 1 / -1; }
  .case-studies-page .impact__inner { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 22px; }
  .case-studies-page .impact__head { grid-column: 1 / -1; }
  .case-studies-page .impact__item:nth-child(2) { border-left: 0; }
}
@media (max-width: 760px) {
  .case-studies-page .filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--gutter)); padding-right: var(--gutter); }
  .case-studies-page .filters::-webkit-scrollbar { display: none; }
  .case-studies-page .chip { flex: none; }
}
@media (max-width: 640px) {
  .case-studies-page .wrap { padding-left: 20px; padding-right: 20px; }
  .case-studies-page .filters { margin-right: -20px; padding-right: 20px; }
  .case-studies-page .cs-hero { padding-top: 32px; }
  .case-studies-page .cs-hero h1 br, .case-studies-page .cs-cta h2 br, .case-studies-page .impact h2 br { display: none; }
  .case-studies-page .trio { flex-direction: column; gap: 12px; }
  .case-studies-page .cs-hero__visual { min-height: 0; flex-direction: column; align-items: stretch; gap: 14px; }
  .case-studies-page .blob, .case-studies-page .dash-ring { display: none; }
  .case-studies-page .improve, .case-studies-page .checks { position: relative; right: auto; top: auto; width: 100%; margin: 0; transform: none; }
  .case-studies-page .cs-hero .script { position: relative; right: auto; top: auto; align-self: flex-end; margin: 0 10px 12px 0; font-size: 20px; order: -1; }
  .case-studies-page .stories { grid-template-columns: 1fr; gap: 14px; }
  .case-studies-page .story--lead { display: flex; }
  .case-studies-page .story--lead .story__main, .case-studies-page .story--lead .story__side { padding: 20px; }
  .case-studies-page .story--lead .story__title { font-size: 19px; }
  .case-studies-page .impact__inner { grid-template-columns: 1fr; padding: 22px 18px; }
  .case-studies-page .impact__item { flex-direction: row; text-align: left; gap: 14px; padding: 14px 0 0; border-left: 0; border-top: 1px solid #d3e6db; }
  .case-studies-page .impact__item .trio__ico { margin: 0; }
  .case-studies-page .impact__item:nth-child(2) { border-top: 0; padding-top: 0; }
  .case-studies-page .cs-cta__inner { padding: 28px 20px; }
  .case-studies-page .cs-btn { align-self: stretch; width: 100%; }
  .case-studies-page .assure { flex-direction: column; }
  .case-studies-page .cs-cta__visual { grid-template-columns: 1fr; }
  .case-studies-page .potential, .case-studies-page .see { transform: none; margin: 0; }
}
@media (max-width: 380px) {
  .case-studies-page .story__main, .case-studies-page .story__side, .case-studies-page .story--lead .story__main, .case-studies-page .story--lead .story__side { padding-left: 16px; padding-right: 16px; }
}

/* Neutral line that replaced the three benefit claims */
.case-studies-page .impact__note { grid-column: 2 / -1; padding-left: 28px; border-left: 1px solid #d3e6db; font-size: 15px; line-height: 1.6; color: var(--text); }
@media (max-width: 1000px) {
  .case-studies-page .impact__note { grid-column: 1 / -1; padding-left: 0; border-left: 0; }
}