/* ─────────────────────────────────────────
   CASE STUDY PAGE — core-by-chloe-ting
───────────────────────────────────────── */

/* Body reset for case study */
.case-study-page {
  font-family: 'Gt America Standard', Arial, sans-serif;
  color: #333;
  background: #fff;
  margin: 0;
  padding: 0;
}

/* ── FIXED BACK BUTTON ── */
.cs-back-btn {
  position: fixed;
  top: 82px;
  left: 47px;
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 14px;
  color: #333;
  text-decoration: none;
  z-index: 100;
  letter-spacing: 0.01em;
}
.cs-back-btn:hover { opacity: 0.6; }

/* ── FIXED RIGHT SIDEBAR ── */
.cs-toc {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  right: 40px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 100;
  width: 140px;
}
.cs-toc-label {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #333;
  margin: 0 0 6px;
}
.cs-toc-link {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 12px;
  color: #999;
  text-decoration: none;
  line-height: 1.6;
  transition: color 0.2s;
}
.cs-toc-link:hover,
.cs-toc-link.active { color: #333; }

/* ── MAIN CONTENT COLUMN ── */
.cs-main {
  max-width: 760px;
  margin: 0 auto;
  padding: 80px 0 80px;
}

/* ── HERO ── */
.cs-project-label {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #333;
  margin: 0 0 16px;
}

.cs-hero-body {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}

.cs-hero-left {
  flex: 1;
}

.cs-hero-title {
  font-family: 'Quarto', serif;
  font-size: 64px;
  font-weight: 300;
  line-height: 1.1;
  color: #333;
  margin: 0 0 24px;
}

.cs-hero-subtitle {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #333;
  line-height: 1.6;
  margin: 0 0 20px;
}

.cs-hero-desc {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 14px;
  color: #555;
  line-height: 1.7;
  margin: 0;
}

/* Results card */
.cs-hero-right { flex: 0 0 210px; }

.cs-results-card {
  background: #f2f2f0;
  padding: 28px 24px;
  border-radius: 4px;
}

.cs-results-label {
  font-family: 'Biennale', Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #333;
  margin: 0 0 20px;
}

.cs-stat {
  margin-bottom: 20px;
}
.cs-stat:last-child { margin-bottom: 0; }

.cs-stat-num {
  display: block;
  font-family: 'Biennale', Arial, sans-serif;
  font-size: 32px;
  font-weight: 600;
  color: #333;
  line-height: 1.1;
}

.cs-stat-desc {
  display: block;
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 13px;
  color: #555;
  line-height: 1.4;
  margin-top: 4px;
}

/* ── HERO VIDEO ── */
.cs-hero-video {
  margin: 48px 0;
  border-radius: 8px;
  overflow: hidden;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.cs-hero-video video {
  width: 100%;
  display: block;
}

/* ── PLATFORM & ROLE ── */
.cs-meta-row {
  max-width: 760px;
  margin: 0 auto 64px;
  display: flex;
  gap: 48px;
}

.cs-meta-label {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 12px;
}

.cs-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cs-pill {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 13px;
  color: #333;
  border: 1.5px solid #333;
  border-radius: 100px;
  padding: 6px 16px;
  white-space: nowrap;
}

/* ── SECTION SHARED ── */
.cs-section {
  max-width: 760px;
  margin: 0 auto 80px;
}

.cs-section--no-top { margin-top: 0; }
.cs-section--top-pad { margin-top: 48px; }

.cs-section-heading {
  font-family: 'Quarto', serif;
  font-size: 48px;
  font-weight: 300;
  color: #333;
  margin: 0 0 16px;
}

.cs-section-subheading {
  font-family: 'Quarto', serif;
  font-size: 30px;
  font-weight: 300;
  color: #333;
  line-height: 1.3;
  margin: 0 0 40px;
}

/* ── TWO-COL FEATURE ROW (Final Designs) ── */
.cs-feature-row {
  display: flex;
  gap: 40px;
  align-items: center;
  margin-bottom: 96px;
}
.cs-feature-row--reverse { flex-direction: row-reverse; }

.cs-feature-imgs { flex: 1; }
.cs-feature-imgs img { width: 100%; border-radius: 4px; }

.cs-feature-text { flex: 0 0 260px; }

.cs-feature-subtitle {
  font-family: 'Quarto', serif;
  font-size: 24px;
  font-weight: 300;
  color: #333;
  line-height: 1.3;
  margin: 0 0 12px;
}

.cs-feature-body {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 14px;
  color: #555;
  line-height: 1.7;
  margin: 0;
}

/* ── FINAL DESIGNS: text row + full-width image blocks ── */
.cs-fd-text-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin: 72px 0 24px;
  align-items: start;
}
.cs-fd-fullimg {
  margin-bottom: 80px;
}
.cs-fd-fullimg img {
  width: 100%;
  display: block;
  border-radius: 4px;
}

/* ── TWO-COL LAYOUT ── */
.cs-two-col-layout {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}

.cs-col-left { flex: 1; }
.cs-col-right { flex: 1; }

.cs-bullet-label {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #333;
  margin: 0 0 12px;
}

.cs-body-text {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 14px;
  color: #555;
  line-height: 1.7;
  margin: 0 0 16px;
}

/* ── TWO-COL TEXT (overview) ── */
.cs-two-col-text {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.cs-two-col-text p {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 14px;
  color: #555;
  line-height: 1.7;
  margin: 0;
}

/* ── ISSUE CARDS ── */
.cs-issue-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: #f5f5f3;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 14px;
  color: #333;
  line-height: 1.6;
}

.cs-issue-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  margin-top: 2px;
}

.cs-issue-icon-emoji {
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  width: 28px;
  text-align: center;
}

/* ── GOAL CARDS ── */
.cs-goal-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: #f5f5f3;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
}
.cs-goal-card strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 4px;
}
.cs-goal-card p {
  font-size: 13px;
  color: #666;
  margin: 0;
  line-height: 1.5;
}
.cs-goal-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ── SOLUTION CARDS ── */
.cs-solution-card {
  background: #f5f5f3;
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 10px;
}
.cs-solution-card p {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 14px;
  color: #333;
  margin: 8px 0 0;
  line-height: 1.6;
}

.cs-badge {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 100px;
}
.cs-badge--backend { background: #dce8ff; color: #2255cc; }
.cs-badge--design  { background: #e8f5e9; color: #2e7d32; }

/* ── FULL WIDTH IMG ── */
.cs-full-img {
  margin: 40px 0;
  background: #f5f5f3;
  border-radius: 8px;
  overflow: hidden;
}
.cs-full-img img { width: 100%; display: block; }

/* ── BEFORE / AFTER ── */
.cs-before-after {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 40px;
}
.cs-ba-col img {
  width: 100%;
  border-radius: 4px;
  margin: 12px 0;
}
.cs-ba-label {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.cs-ba-list {
  font-family: 'Gt America Standard', Arial, sans-serif;
  font-size: 13px;
  color: #555;
  line-height: 1.7;
  padding-left: 18px;
  margin: 0;
}

/* ── USABILITY IMGS ── */
.cs-usability-imgs {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
}
.cs-usability-imgs img {
  width: calc(50% - 8px);
  border-radius: 4px;
}

/* ── INTERACTION ── */
.cs-interaction-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 32px;
}
.cs-interaction-item { text-align: center; }
.cs-ba-icon { width: 32px; height: 32px; margin-bottom: 6px; }
.cs-gif {
  width: 100%;
  border-radius: 12px;
  margin-top: 8px;
}

/* ── DESIGN SYSTEM ── */
.cs-ds-img { width: 100%; border-radius: 4px; }

/* ── RETROSPECTIVE ── */
.cs-retro-imgs {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.cs-retro-imgs img {
  width: 100%;
  border-radius: 8px;
}
