/* Customer story composition built on the shared Case Study foundation. */
.checkmates-story .case-study-masthead__title { max-width: 21ch; }
.checkmates-customer { margin: 1.5rem 0 1rem; font-size: 1rem; font-weight: 600; }
.checkmates-customer span { color: var(--case-study-text-soft); font-weight: 400; }
.checkmates-story .case-study-case-file { gap: 0.75rem; border: 0; }
.checkmates-story .case-study-case-file__item { display: flex; flex-direction: column-reverse; gap: 0.75rem; padding: 1.5rem; border: 1px solid var(--case-study-primary-border); border-radius: 0.75rem; background: var(--case-study-primary-soft); }
.checkmates-story .case-study-case-file dd { margin: 0; color: var(--case-study-primary); font-size: clamp(1.8rem, 3.5vw, 2.8rem); line-height: 1.15; letter-spacing: -0.04em; }
.checkmates-story .case-study-case-file dt { font-size: 0.7rem; line-height: 1.6; }
.checkmates-story .checkmates-note { margin-top: 1.25rem; color: var(--case-study-text-soft); font-size: 0.85rem; line-height: 1.7; }
.checkmates-workflow { padding-block: 3rem; }
.checkmates-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 2rem 0 0; padding: 0; }
.checkmates-flow li { position: relative; padding: 1.5rem 1.5rem 1.5rem 0; border-top: 2px solid var(--case-study-primary-border); }
.checkmates-flow li:not(:nth-child(3n))::after { content: "→"; position: absolute; right: 1.5rem; top: -0.85rem; background: var(--case-study-surface-soft); padding-inline: 0.4rem; color: var(--case-study-primary); }
.checkmates-flow span { color: var(--case-study-primary); font-size: 0.8rem; font-weight: 700; }
.checkmates-flow h3 { margin: 0.65rem 0; font-size: 1.15rem; }
.checkmates-flow p { max-width: 32ch; color: var(--case-study-text-soft); line-height: 1.7; }
.checkmates-testimonial { margin-block: 4rem; padding: clamp(1.5rem, 5vw, 4rem); border-radius: 1rem; border-left: 0.35rem solid var(--case-study-secondary); background: var(--case-study-secondary-soft); }
.checkmates-testimonial blockquote { margin: 1.5rem 0; border: 0; padding: 0; }
.checkmates-testimonial blockquote p { margin: 0; max-width: 32ch; color: var(--case-study-text); font-size: clamp(1.6rem, 3.2vw, 2.7rem); line-height: 1.3; letter-spacing: -0.025em; }
.checkmates-testimonial figcaption { display: grid; gap: 0.6rem; }
.checkmates-testimonial figcaption span { max-width: 64ch; color: var(--case-study-text-soft); font-size: 0.85rem; line-height: 1.6; }
.checkmates-section { padding-block: clamp(3rem, 6vw, 5rem); border-bottom: 1px solid var(--case-study-border); }
.checkmates-prose { max-width: 780px; }
.checkmates-story h2 { margin-top: 0; font-size: clamp(1.8rem, 3.5vw, 2.8rem); line-height: 1.2; letter-spacing: -0.025em; text-wrap: balance; }
.checkmates-story .checkmates-section p { line-height: 1.8; }
.checkmates-story .checkmates-section h3 { font-size: 1.3rem; line-height: 1.4; }
.checkmates-evidence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; margin-top: 2rem; }
.checkmates-table-wrap { max-width: 100%; overflow-x: auto; margin: 1.5rem 0; border: 1px solid var(--case-study-border); border-radius: 0.75rem; }
.checkmates-table-wrap .case-study-table { margin: 0; width: 100%; min-width: 28rem; }
.checkmates-table-wrap caption { padding: 1rem; color: var(--case-study-text); text-align: left; font-weight: 600; }
.checkmates-editorial > h3 { margin-top: 1.5rem; }
.checkmates-alignment { margin-block: 2rem; border-top: 3px solid var(--case-study-secondary); padding: 1.5rem 2rem; background: var(--case-study-secondary-soft); border-radius: 0 0 0.75rem 0.75rem; }
.checkmates-alignment h3 { margin-top: 0; }
.checkmates-alignment dl { margin-bottom: 0; }
.checkmates-alignment dl > div { display: grid; grid-template-columns: 12rem 1fr; gap: 1.5rem; padding-block: 1rem; border-top: 1px solid var(--case-study-secondary-border); }
.checkmates-alignment dt { font-weight: 700; }
.checkmates-alignment dd { margin: 0; line-height: 1.7; }
.checkmates-caveat { padding: 1.5rem 2rem; border: 1px solid var(--role-caveat-border); border-radius: 0.75rem; background: var(--role-caveat-bg); }
.checkmates-caveat .case-study-zone__label { color: var(--role-caveat-text); }
.checkmates-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.checkmates-comparison h4 { margin-bottom: 0; }
.checkmates-calculation { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding: 0; margin-block: 2rem; list-style: none; }
.checkmates-calculation li { padding: 1.5rem; border-block: 1px solid var(--case-study-primary-border); background: var(--case-study-primary-soft); }
.checkmates-calculation span { display: block; margin-bottom: 0.75rem; color: var(--case-study-text-soft); font-size: 0.8rem; }
.checkmates-calculation strong { color: var(--case-study-primary); font-size: 1.15rem; }
.checkmates-story .checkmates-central > * { background: var(--case-study-primary-soft); color: var(--case-study-primary); }
.checkmates-faq { border-block: 1px solid var(--role-caveat-border); margin-top: 2rem; }
.checkmates-faq summary { cursor: pointer; padding: 1.4rem 0; font-size: 1.1rem; font-weight: 600; line-height: 1.5; }
.checkmates-faq summary:focus-visible, .checkmates-table-wrap:focus-visible { outline: 3px solid var(--signal-ring); outline-offset: 4px; }
.checkmates-footer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
@media (max-width: 900px) {
  .checkmates-story .case-study-case-file { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .checkmates-evidence-grid { grid-template-columns: 1fr; gap: 0; }
  .checkmates-calculation { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .checkmates-flow { grid-template-columns: 1fr; }
  .checkmates-flow li { padding-left: 1.25rem; border-top: 0; border-left: 2px solid var(--case-study-primary-border); }
  .checkmates-flow li:not(:nth-child(3n))::after { content: none; }
  .checkmates-story .case-study-case-file__item { padding: 1rem; }
  .checkmates-story .case-study-case-file dt { font-size: 0.68rem; }
  .checkmates-story .case-study-case-file dd { font-size: clamp(1.5rem, 5vw, 1.8rem); }
  .checkmates-alignment, .checkmates-caveat { padding: 1.25rem; }
  .checkmates-alignment dl > div, .checkmates-comparison { grid-template-columns: 1fr; gap: 0.65rem; }
}
