/* Case study template (plan 2026-11-10). Reuses pg-stats, pg-steps, pg-quote, pg-faq, pg-related from pages.css; only the parts those lack live here. */

/* Tag chips under the hero headline */
.cs-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cs-chips li { padding: 7px 13px; border: 1px solid var(--border-light); border-radius: 999px; font-size: 13px; }

/* Summary box without the screenshot column */
.pg-summary-grid.no-shot { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
@media screen and (max-width: 767px) { .pg-summary-grid.no-shot { grid-template-columns: minmax(0, 1fr); } }

/* Context: heading left, prose right */
.cs-context { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.cs-context .pg-head { margin-bottom: 0; }
@media screen and (max-width: 991px) { .cs-context { grid-template-columns: minmax(0, 1fr); gap: 32px; } }

/* Step label (date or stage) above each pg-step heading */
.cs-when { font-family: var(--font--mono); font-size: var(--text--label); letter-spacing: var(--letter-spacing--2-0); text-transform: uppercase; }

/* Charts: drawn in HTML, values set with --v (0 to 100) */
.cs-chart { padding: 32px; border-radius: var(--radius--small); background-color: var(--light); border: 1px solid var(--border-dark); }
.cs-chart + .cs-chart { margin-top: 16px; }
.cs-chart-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px 24px; margin-bottom: 28px; }
.cs-chart-head h3 { margin: 0; font-family: var(--font--serif); font-weight: 400; font-size: 30px; line-height: 1.1; }
.cs-legend { display: flex; flex-wrap: wrap; gap: 16px; font-size: 13px; }
.cs-legend i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; background-color: var(--dark); }
.cs-legend i.was { background-color: #cfc8b6; }
.cs-chart-src { margin: 20px 0 0; font-size: 13px; line-height: 1.5; opacity: .7; }

.cs-pairs { display: flex; flex-direction: column; gap: 22px; }
.cs-pair { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 8px 20px; align-items: center; }
.cs-pair-label { display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.3; }
.cs-pair-label b { font-family: var(--font--serif); font-weight: 400; font-size: 28px; line-height: 1; }
.cs-bars { display: flex; flex-direction: column; gap: 6px; }
.cs-bar { box-sizing: border-box; width: calc(var(--v) * 1%); min-width: max-content; height: 28px; padding: 0 10px; border-radius: 4px; display: flex; align-items: center; background-color: var(--dark); color: var(--light); font-family: var(--font--mono); font-size: 12px; white-space: nowrap; }
.cs-bar.was { background-color: #cfc8b6; color: var(--dark); }
@media screen and (max-width: 767px) { .cs-chart { padding: 20px; } .cs-pair { grid-template-columns: minmax(0, 1fr); } }

.cs-cols { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 8px; align-items: end; }
.cs-col { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; }
.cs-col span { font-family: var(--font--mono); font-size: 12px; }
.cs-col i { display: block; width: 100%; height: calc(var(--v) * 2.4px); border-radius: 4px 4px 0 0; background-color: var(--dark); }
.cs-col.was i { background-color: #cfc8b6; }
.cs-col b { font-family: var(--font--mono); font-weight: 400; font-size: 11px; letter-spacing: var(--letter-spacing--2-0); text-transform: uppercase; opacity: .75; }
@media screen and (max-width: 479px) { .cs-cols { gap: 3px; } .cs-col span, .cs-col b { font-size: 10px; } .cs-cols { overflow-x: auto; } .cs-col i { height: calc(var(--v) * 1.6px); } }

/* Creative grouped by angle */
.cs-angles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: 56px 32px; }
.cs-angle { display: flex; flex-direction: column; gap: 14px; }
.cs-angle h3 { margin: 0; font-family: var(--font--serif); font-weight: 400; font-size: 28px; line-height: 1.1; }
.cs-angle p { margin: 0; line-height: 1.55; opacity: .85; }
.cs-angle-media { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cs-angle-media img, .cs-angle-media video { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius--xsmall); background-color: var(--bg); }
.cs-angle-media.sq img, .cs-angle-media.sq video { aspect-ratio: 1; }
.cs-angle .pg-stat-when { margin: 0; }

/* Second quotes under the pull quote */
.cs-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin: 48px 0 56px; }
.cs-quotes figure { margin: 0; padding: 24px; border-radius: var(--radius--small); background-color: var(--light); border: 1px solid var(--border-dark); display: flex; flex-direction: column; gap: 12px; }
.cs-quotes blockquote { margin: 0; padding: 0; border: 0; font-size: 18px; line-height: 1.45; }
