/* Service stories continue the shared pale blue / teal canvas. */
.case-stories {
  padding-top: 64px;
  padding-bottom: 58px;
}
.case-viewer {
  min-width: 0;
}
.case-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
  margin-bottom: 23px;
}
.case-tab {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 23px 25px 22px;
  border: 1px solid #c7dfe9;
  border-radius: 19px;
  background: #f7fcfecf;
  color: #436b83;
  text-align: left;
  box-shadow: 0 6px 18px #3d819509;
}
.case-tab-tag {
  color: #4b6f84;
  font-size: 13px;
  line-height: 1.75;
}
.case-tab strong {
  display: block;
  margin-top: 8px;
  color: #315c74;
  font-size: 22px;
  line-height: 1.65;
  font-weight: 500;
}
.case-tab small {
  display: block;
  margin-top: 5px;
  color: #4f7186;
  font-size: 15px;
  line-height: 1.8;
}
.case-tab:hover {
  background: #fafdff;
  border-color: #8fbacc;
}
.case-tab[aria-selected="true"] {
  background: linear-gradient(135deg, #fff, #eaf7f9);
  border-color: #78aebf;
  box-shadow: inset 0 -3px #4b9bae, 0 8px 21px #3d819510;
}
.case-tab[aria-selected="true"] strong {
  color: #206b85;
}
.case-tab[aria-selected="true"] .case-tab-tag {
  color: #316d85;
}
.case-tab:focus-visible {
  outline: 3px solid #226781;
  outline-offset: 5px;
}
.case-panel {
  position: relative;
  min-width: 0;
  padding: 36px 38px 29px;
  border: 1px solid #c4dfe8;
  border-radius: 24px;
  background: linear-gradient(140deg, #fff, #f8fdfe);
  box-shadow: 0 15px 34px #3c83970b;
  scroll-margin-top: 105px;
}
.case-panel::before,
.case-record-demo::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 13px;
  width: 14px;
  height: 14px;
  border-top: 1px solid #83b4c5;
  border-left: 1px solid #83b4c5;
  border-radius: 4px 0 0;
  pointer-events: none;
}
.case-panel[hidden] {
  display: none;
}
.case-panel:focus-visible {
  outline: 3px solid #226781;
  outline-offset: 5px;
}
.case-service-type {
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid #c8e1e9;
  border-radius: 11px;
  background: #edf7fb;
  color: #3e7189;
  font-size: 14px;
  line-height: 1.7;
}
#case-preparation .case-service-type {
  background: #f7f8ed;
  color: #646d40;
  border-color: #dde3c8;
}
.case-story-head h3 {
  margin-top: 19px;
  color: #2a536b;
  font-size: 31px;
  line-height: 1.65;
  font-weight: 500;
  letter-spacing: -.3px;
}
.case-story-head > p {
  max-width: 970px;
  margin-top: 12px;
  color: #4f7085;
  font-size: 18px;
  line-height: 1.95;
}
.case-context {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 21px;
  margin-top: 29px;
}
.case-context > div,
.case-context > aside {
  min-width: 0;
  padding: 25px 26px;
  border: 1px solid #d4e5ed;
  border-radius: 17px;
  background: #f1f8fc;
}
.case-context > aside {
  border-color: #d0e7df;
  background: #eff9f5;
}
.case-label {
  display: block;
  color: #4c7388;
  font-size: 14px;
  line-height: 1.8;
}
.case-context h4,
.case-context strong {
  display: block;
  margin: 9px 0 0;
  color: #315f75;
  font-size: 22px;
  line-height: 1.65;
  font-weight: 500;
}
.case-context > aside strong {
  color: #376e66;
}
.case-context p {
  margin-top: 10px;
  color: #4f7185;
  font-size: 17px;
  line-height: 1.95;
}
.case-work-title,
.case-change-title {
  margin-top: 34px;
  margin-bottom: 18px;
}
.case-work-title h4,
.case-change-title h4 {
  margin: 0;
  color: #315e76;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.65;
}
.case-workflow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.case-workflow > li {
  min-width: 0;
  padding: 23px 24px;
  border: 1px solid #d3e5ed;
  border-radius: 17px;
  background: #f9fcfe;
}
.case-step-number {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  margin-bottom: 17px;
  border: 1px solid #c9e1e9;
  border-radius: 13px;
  background: #edf7fb;
  color: #3a748c;
  font-size: 15px;
  line-height: 1.5;
}
.case-workflow h4 {
  margin: 0;
  color: #315f76;
  font-size: 19px;
  line-height: 1.75;
  font-weight: 500;
}
.case-workflow p {
  margin-top: 10px;
  color: #4f7186;
  font-size: 17px;
  line-height: 1.95;
}
.case-change-table,
.case-record-table {
  width: 100%;
  border-spacing: 0;
  border-collapse: separate;
  overflow: hidden;
  border: 1px solid #cbdfe9;
  border-radius: 17px;
  background: #fff;
  color: #4f7085;
  font-size: 17px;
  line-height: 1.95;
  table-layout: fixed;
}
.case-change-table caption,
.case-record-table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.case-change-table th,
.case-change-table td,
.case-record-table th,
.case-record-table td {
  padding: 19px 22px;
  vertical-align: top;
  text-align: left;
  overflow-wrap: anywhere;
}
.case-change-table th:first-child,
.case-record-table th:first-child {
  width: 19%;
}
.case-change-table th:nth-child(2),
.case-record-table th:nth-child(2) {
  width: 35%;
}
.case-change-table thead th,
.case-record-table thead th {
  border-bottom: 1px solid #cbdfe9;
  background: #edf7fc;
  color: #376f88;
  font-size: 16px;
  font-weight: 500;
}
.case-change-table tbody th,
.case-record-table tbody th {
  color: #426f85;
  font-size: 16px;
  font-weight: 500;
}
.case-change-table tbody tr + tr > *,
.case-record-table tbody tr + tr > * {
  border-top: 1px solid #dbe8ef;
}
.case-change-table tbody td:last-child {
  background: #f0faf7;
  color: #3b6f67;
}
.case-record-table tbody td:last-child {
  background: #f3fafe;
  color: #3e6e87;
}
.case-panel-note,
.case-demo-note {
  margin-top: 22px;
  color: #526f83;
  font-size: 14px;
  line-height: 1.95;
}
.case-value {
  padding-top: 38px;
  padding-bottom: 65px;
}
.case-value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 21px;
}
.case-value-grid > article {
  min-width: 0;
  padding: 29px 29px 28px;
  border: 1px solid #c7dfe9;
  border-radius: 21px;
  background: linear-gradient(140deg, #fff, #f0f9fc);
}
.case-value-grid > article:nth-child(2) {
  background: linear-gradient(140deg, #fff, #eff9f6);
}
.case-value-number {
  display: block;
  color: #4b748a;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 1px;
}
.case-value-grid h3 {
  margin-top: 17px;
  color: #315c74;
  font-size: 24px;
  line-height: 1.65;
  font-weight: 500;
}
.case-value-grid p {
  margin-top: 12px;
  color: #4c6f84;
  font-size: 17px;
  line-height: 1.95;
}
.case-record-demo {
  position: relative;
  margin-top: 31px;
  padding: 32px 35px 27px;
  border: 1px solid #c8dfe9;
  border-radius: 23px;
  background: linear-gradient(140deg, #fff, #f7fcff);
  box-shadow: 0 12px 28px #3b819b08;
}
.case-record-heading > span {
  display: block;
  color: #4b748a;
  font-size: 14px;
  line-height: 1.8;
}
.case-record-heading h3 {
  margin-top: 9px;
  color: #315e76;
  font-size: 27px;
  line-height: 1.65;
  font-weight: 500;
}
.case-record-heading p {
  max-width: 950px;
  margin-top: 11px;
  margin-bottom: 24px;
  color: #4c7085;
  font-size: 17px;
  line-height: 1.95;
}
@media (max-width: 1100px) {
  .case-panel { padding: 32px; }
  .case-tab { padding: 21px; }
  .case-tab strong { font-size: 21px; }
  .case-context { gap: 17px; }
  .case-context > div, .case-context > aside { padding: 23px; }
  .case-workflow { gap: 13px; }
  .case-workflow > li { padding: 22px 21px; }
  .case-change-table th, .case-change-table td,
  .case-record-table th, .case-record-table td { padding: 18px; }
  .case-value-grid { gap: 17px; }
  .case-value-grid > article { padding: 25px; }
}
@media (max-width: 850px) {
  .case-context { grid-template-columns: minmax(0, 1fr); }
  .case-workflow { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .case-workflow > li { display: grid; grid-template-columns: 39px minmax(0, 1fr); gap: 18px; }
  .case-step-number { margin: 2px 0 0; }
  .case-value-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .case-value-grid > article { padding: 27px 29px; }
  .case-value-grid h3 { margin-top: 12px; }
  .case-tab-tag { font-size: 12px; }
  .case-tab strong { font-size: 19px; }
  .case-tab small { font-size: 14px; }
}
@media (max-width: 680px) {
  .case-stories { padding-top: 44px; padding-bottom: 39px; }
  .case-tabs { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 20px; }
  .case-tab { padding: 18px 22px; border-radius: 17px; }
  .case-tab-tag { font-size: 12px; }
  .case-tab strong { margin-top: 5px; font-size: 20px; line-height: 1.6; }
  .case-tab small { margin-top: 3px; font-size: 14px; }
  .case-panel { padding: 29px 23px 24px; border-radius: 21px; scroll-margin-top: 92px; }
  .case-service-type { font-size: 13px; padding: 6px 10px; border-radius: 10px; }
  .case-story-head h3 { font-size: 26px; line-height: 1.7; margin-top: 17px; }
  .case-story-head > p { font-size: 17px; line-height: 1.95; margin-top: 11px; }
  .case-context { margin-top: 24px; gap: 15px; }
  .case-context > div, .case-context > aside { padding: 22px 20px; border-radius: 15px; }
  .case-label { font-size: 13px; }
  .case-context h4, .case-context strong { font-size: 21px; line-height: 1.7; }
  .case-context p { font-size: 17px; margin-top: 9px; }
  .case-work-title, .case-change-title { margin-top: 28px; margin-bottom: 16px; }
  .case-work-title h4, .case-change-title h4 { font-size: 21px; }
  .case-workflow > li { grid-template-columns: 33px minmax(0, 1fr); gap: 13px; padding: 21px 18px; border-radius: 15px; }
  .case-step-number { width: 33px; height: 35px; border-radius: 11px; font-size: 13px; }
  .case-workflow h4 { font-size: 18px; }
  .case-workflow p { font-size: 16px; line-height: 1.95; margin-top: 8px; }
  .case-change-table, .case-record-table { display: block; border-radius: 15px; font-size: 16px; }
  .case-change-table thead, .case-record-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .case-change-table tbody, .case-record-table tbody { display: block; }
  .case-change-table tr, .case-record-table tr { display: block; padding: 20px; }
  .case-change-table tbody tr + tr, .case-record-table tbody tr + tr { border-top: 1px solid #d3e5ed; }
  .case-change-table th, .case-change-table td,
  .case-record-table th, .case-record-table td { display: block; width: auto!important; padding: 0; border: 0!important; font-size: 16px; }
  .case-change-table tbody th, .case-record-table tbody th { margin-bottom: 14px; font-size: 18px; color: #386e87; }
  .case-change-table tbody td, .case-record-table tbody td { padding: 14px 15px; border-radius: 12px; background: #f2f8fc; }
  .case-change-table tbody td + td, .case-record-table tbody td + td { margin-top: 10px; }
  .case-change-table td[data-label]::before, .case-record-table td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 5px;
    color: #4c748a;
    font-size: 13px;
    line-height: 1.8;
  }
  .case-panel-note, .case-demo-note { font-size: 13px; line-height: 2; margin-top: 19px; }
  .case-value { padding-top: 31px; padding-bottom: 45px; }
  .case-value-grid > article { padding: 27px 25px; border-radius: 20px; }
  .case-value-number { font-size: 13px; }
  .case-value-grid h3 { font-size: 23px; line-height: 1.7; margin-top: 13px; }
  .case-value-grid p { font-size: 17px; line-height: 1.95; margin-top: 10px; }
  .case-record-demo { padding: 29px 23px 24px; margin-top: 23px; border-radius: 21px; }
  .case-record-heading > span { font-size: 13px; }
  .case-record-heading h3 { font-size: 25px; line-height: 1.7; }
  .case-record-heading p { font-size: 17px; line-height: 1.95; margin-bottom: 21px; }
}
@media (max-width: 370px) {
  .case-panel, .case-record-demo { padding-left: 19px; padding-right: 19px; }
  .case-story-head h3 { font-size: 24px; }
  .case-workflow > li { padding-left: 16px; padding-right: 16px; gap: 11px; }
  .case-change-table tr, .case-record-table tr { padding: 18px; }
  .case-tab { padding-left: 20px; padding-right: 20px; }
}

/* Case evidence has a stronger reading hierarchy without visual weight from dark fills. */
.case-tab strong,.case-story-head h3,.case-context h4,.case-context strong,.case-work-title h4,.case-change-title h4,.case-workflow h4,.case-value-grid h3,.case-record-heading h3{font-weight:600;letter-spacing:-.01em;color:var(--ui-heading)}.case-tab-tag,.case-service-type,.case-label,.case-value-number,.case-record-heading>span{font-size:14px;font-weight:500;color:var(--ui-muted)}.case-tab small{color:var(--ui-copy);font-size:15px}.case-story-head>p,.case-context p,.case-workflow p,.case-value-grid p,.case-record-heading p,.case-change-table,.case-record-table{color:var(--ui-copy)}.case-panel-note,.case-demo-note{font-size:14px;color:var(--ui-muted)}
.case-tab,.case-panel,.case-value-grid>article,.case-record-demo{border-color:var(--ui-border);box-shadow:0 9px 26px #315e7508}.case-tab[aria-selected="true"]{border-color:#7eaabb;box-shadow:inset 0 -3px #3b849c;background:linear-gradient(135deg,#fff,#eaf5f8)}.case-tab[aria-selected="true"] strong{color:#205c76}.case-tab[aria-selected="true"] .case-tab-tag{color:#345e75}.case-panel::before,.case-record-demo::before{width:11px;height:11px;border-color:#91b3c2;opacity:.7}.case-context>div,.case-context>aside,.case-workflow>li{border-color:#cbdde6}.case-change-table,.case-record-table{border-color:#bdd4e0}.case-change-table thead th,.case-record-table thead th{font-weight:600;color:#2c5d75;border-bottom-color:#c2d9e4}.case-change-table tbody th,.case-record-table tbody th{font-weight:600;color:#315c73}.case-change-table tbody tr+tr>*,.case-record-table tbody tr+tr>*{border-top-color:var(--ui-rule)}.case-step-number{font-family:inherit;font-weight:600;color:#376e85}.case-service-type{font-weight:500}
@media(max-width:680px){.case-tab-tag,.case-service-type,.case-label,.case-value-number,.case-record-heading>span,.case-panel-note,.case-demo-note{font-size:14px}.case-workflow p{font-size:17px}.case-change-table td[data-label]::before,.case-record-table td[data-label]::before{font-size:14px;color:#466c80}.case-step-number{font-size:14px}.case-change-table tbody tr+tr,.case-record-table tbody tr+tr{border-top-color:var(--ui-rule)}}
/* A clear continuation from service mechanisms to the full delivery scope. */
.case-inline-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:5px 0;color:#286a85;font-size:17px;font-weight:600;line-height:1.8;border-bottom:1px solid #9cbfce}
.case-inline-link:hover{color:#1d526c;border-bottom-color:#3b849c}

/* A single compact row keeps the selected case close to its controls on phones. */
@media(max-width:680px){
  .case-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px;align-items:stretch}
  .case-tab{align-items:center;justify-content:flex-start;min-height:0;padding:11px 7px 12px;border-radius:14px;text-align:center;box-shadow:none}
  .case-tab-tag{display:block;min-height:39px;max-width:100%;font-size:13px;font-weight:500;line-height:1.5;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
  .case-tab strong{display:flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;margin:5px 0 0;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
  .case-tab small{display:none}
  .case-tab[aria-selected="true"]{box-shadow:inset 0 -3px #3b849c}
}
@media(max-width:370px){.case-tabs{gap:7px}.case-tab{padding-left:6px;padding-right:6px}.case-tab-tag{font-size:12px;min-height:36px}}
