/* css/case-study.css */

.cs-page #nav {
  border-bottom: 1px solid var(--color-border-dark);
  background: rgba(10,10,10,0.95);
}

.cs-page .nav__logo {
  color: var(--color-text-on-dark);
}

.nav__back {
  font-size: var(--text-sm);
  color: var(--color-text-muted-dark);
  transition: color var(--ease-fast);
}
.nav__back:hover { color: var(--color-cobalt); }

/* ── Case study header ── */
.cs-header {
  background: var(--color-bg-dark);
  padding-block: clamp(4rem, 8vw, 7rem);
}

.cs-header__eyebrow {
  margin-bottom: var(--sp-4);
}

.cs-header__title {
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--color-text-on-dark);
  line-height: 1.1;
  margin-bottom: var(--sp-6);
  max-width: 800px;
}

.cs-header__summary {
  font-size: var(--text-xl);
  color: var(--color-text-muted-dark);
  max-width: 640px;
  line-height: 1.55;
  margin-bottom: var(--sp-8);
}

.cs-header__meta {
  display: flex;
  gap: var(--sp-12);
  flex-wrap: wrap;
}

.cs-header__meta dt {
  margin-bottom: var(--sp-1);
}

.cs-header__meta dd {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text-on-dark);
}

/* ── Case study body ── */
.cs-body {
  padding-block: var(--section-py);
  background: var(--color-bg-light);
}

.cs-content {
  max-width: 720px;
}

.cs-section {
  margin-bottom: var(--sp-16);
}

.cs-section__title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--color-text-on-light);
  margin-bottom: var(--sp-4);
  padding-bottom: var(--sp-3);
  border-bottom: 2px solid var(--color-cobalt);
  display: inline-block;
}

.cs-section p,
.cs-section ul,
.cs-section ol {
  font-size: var(--text-base);
  color: var(--color-text-on-light);
  line-height: 1.75;
  margin-bottom: var(--sp-4);
}

.cs-section ul,
.cs-section ol {
  padding-left: var(--sp-6);
}

.cs-section ul li { list-style: disc; }
.cs-section ol li { list-style: decimal; }

/* ── Sub-headings within sections ── */
.cs-section h3 {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--color-text-on-light);
  margin-top: var(--sp-8);
  margin-bottom: var(--sp-3);
}

/* ── Data table ── */
.cs-table-wrapper {
  overflow-x: auto;
  margin-block: var(--sp-6);
}

.cs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}

.cs-table th,
.cs-table td {
  text-align: left;
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--color-border-light);
  color: var(--color-text-on-light);
}

.cs-table th {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-muted-light);
  background: rgba(0,0,0,0.03);
}

.cs-table tbody tr:hover {
  background: rgba(26, 79, 214, 0.04);
}

/* ── Footer nav ── */
.cs-nav-footer {
  background: var(--color-bg-white);
  border-top: 1px solid var(--color-border-light);
  padding-block: var(--sp-8);
}

.cs-nav-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cs-nav-footer__back,
.cs-nav-footer__next {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-muted-light);
  transition: color var(--ease-fast);
}

.cs-nav-footer__back:hover,
.cs-nav-footer__next:hover { color: var(--color-cobalt); }

/* ── Screenshot grid ── */
.cs-screenshots {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-4);
  margin-block: var(--sp-6);
}

@media (max-width: 560px) {
  .cs-screenshots { grid-template-columns: 1fr; }
}

.cs-screenshot {
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  cursor: zoom-in;
  transition: opacity var(--ease-fast);
}

.cs-screenshot:hover { opacity: 0.9; }

.cs-screenshot img {
  width: 100%;
  display: block;
}

.cs-screenshot figcaption {
  padding: var(--sp-2) var(--sp-3);
  font-size: var(--text-sm);
  color: var(--color-text-muted-light);
  font-family: var(--font-mono);
  background: rgba(0,0,0,0.03);
  border-top: 1px solid var(--color-border-light);
}

/* ── Screenshot overlay ── */
.cs-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.88);
  z-index: 1000;
  cursor: zoom-out;
  align-items: center;
  justify-content: center;
}

.cs-overlay--open {
  display: flex;
}

.cs-overlay__img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
  border-radius: var(--radius-md);
  box-shadow: 0 24px 80px rgba(0,0,0,0.6);
}
