/* ═══════════════════════════════════════════════════════════════════
   CASE STUDY

   One case study, told as the work. Loads on top of pages.css, which carries
   .hero, .sec, .sec-head, .eyebrow, .lead and .btn.

   READABLE FIRST. Body copy at 15 to 16px, one idea per block, evidence in a
   single card beside the text rather than scattered chips. The LLM page hero
   taught that lesson: labels cutting a paragraph into pieces read like a form.

   Every class is prefixed cs-, modifiers included, so nothing here can collide
   with a bare class elsewhere in the theme. Nothing below 10px.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --cs-ink:#4A3BC4;
  --cs-soft:rgba(124,108,255,.09);
  --cs-line:rgba(124,108,255,.26);
  --cs-good:#0E7A5B;
  --cs-bad:#C2453F;
}

/* ══════════ HERO ══════════ */
.cs-hero{padding-bottom:clamp(28px,3.4vw,48px)}
.cs-hero-in{max-width:800px}
.cs-hero h1{margin:18px 0 18px;font-size:clamp(34px,4.6vw,56px);line-height:1.06;letter-spacing:-.025em}
.cs-note{
  font-size:14px;line-height:1.6;color:var(--ink-2);margin:16px 0 0;
  padding:12px 16px;border-left:3px solid var(--violet);background:var(--cs-soft);border-radius:0 10px 10px 0;
}
.cs-client{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-top:22px}
.cs-client-name{font-family:Unbounded,Inter,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.cs-client a{font-size:14px;font-weight:600;color:var(--cs-ink);border-bottom:1px solid var(--cs-line)}
.cs-client a:hover{border-bottom-color:var(--cs-ink)}
.cs-client-meta{font-size:13px;color:var(--ink-3)}

/* ══════════ AT A GLANCE ══════════ */
.cs-glance-sec{padding-top:0}
.cs-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cs-stat{
  background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:20px 22px;
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;
}
.cs-stat b{
  font-family:Unbounded,Inter,sans-serif;font-size:clamp(32px,3.6vw,44px);font-weight:700;
  letter-spacing:-.03em;line-height:1.05;color:var(--cs-ink);
}
.cs-stat-l{font-size:15px;font-weight:600;color:var(--ink);line-height:1.35}
.cs-stat-d{font-size:12.5px;color:var(--ink-3)}
.cs-asof{margin:12px 2px 0;font-size:12.5px;color:var(--ink-3)}

.cs-index{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cs-index a{
  display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--ink-2);
  background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 14px 6px 6px;
  transition:border-color .18s ease,color .18s ease;
}
.cs-index a b{
  font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;color:var(--cs-ink);
  background:var(--cs-soft);border-radius:99px;padding:3px 8px;
}
.cs-index a:hover{border-color:var(--cs-line);color:var(--cs-ink)}

/* ══════════ TIMELINE ══════════ */
.cs-time{list-style:none;margin:0;padding:0;max-width:860px;position:relative}
.cs-time::before{content:'';position:absolute;left:78px;top:6px;bottom:6px;width:2px;background:var(--cs-line)}
.cs-time li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:32px;padding:0 0 26px;position:relative}
.cs-time li:last-child{padding-bottom:0}
.cs-time li::after{
  content:'';position:absolute;left:73px;top:5px;width:12px;height:12px;border-radius:50%;
  background:#fff;border:2px solid var(--violet);
}
.cs-time li:last-child::after{background:var(--violet)}
.cs-time-d{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;color:var(--cs-ink);padding-top:2px;text-align:right}
.cs-time-b b{display:block;font-size:17px;font-weight:600;color:var(--ink);margin-bottom:4px}
.cs-time-b p{font-size:15px;line-height:1.6;color:var(--ink-2);margin:0}

/* ══════════ CHAPTERS ══════════ */
.cs-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.cs-num{
  display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;
  color:var(--cs-ink);background:var(--cs-soft);border:1px solid var(--cs-line);border-radius:8px;padding:3px 10px;
}
.cs-copy h2{margin:14px 0 16px}
.cs-copy p{font-size:16px;line-height:1.7;color:var(--ink-2);margin:0 0 14px}
.cs-copy p b{color:var(--ink);font-weight:600}
.cs-link{
  display:inline-flex;align-items:center;gap:7px;margin-top:6px;font-size:14px;font-weight:600;
  color:var(--cs-ink);border-bottom:1px solid var(--cs-line);padding-bottom:2px;
}
.cs-link:hover{border-bottom-color:var(--cs-ink)}
.cs-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.cs-links a{
  font-size:13px;font-weight:600;color:var(--cs-ink);padding:6px 13px;border-radius:99px;
  background:var(--cs-soft);border:1px solid var(--cs-line);transition:background .18s ease;
}
.cs-links a:hover{background:rgba(124,108,255,.16)}

.cs-card{
  background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:22px 24px;
  box-shadow:var(--shadow-sm);
}
.cs-lab{
  display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;
}
.cs-card .cs-lab:not(:first-child){margin-top:22px}
.cs-card-foot{
  font-size:13.5px;line-height:1.55;color:var(--ink-3);margin:18px 0 0;padding-top:14px;
  border-top:1px dashed var(--line);
}

.cs-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.cs-tags li{
  font-size:13.5px;padding:5px 12px;border-radius:99px;
  background:var(--cs-soft);border:1px solid var(--cs-line);color:var(--ink);
}
.cs-tags-no li{background:#FFF1F4;border-color:#FFD2DE;color:var(--cs-bad)}

/* the blog, by format */
.cs-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cs-bars li{
  display:grid;grid-template-columns:92px minmax(0,1fr) 40px;gap:4px 12px;align-items:center;
}
.cs-bars-l{font-size:14px;font-weight:600;color:var(--ink)}
.cs-bars-t{display:block;height:10px;border-radius:99px;background:var(--paper-3);overflow:hidden}
.cs-bars-t u{display:block;height:100%;width:var(--w);border-radius:99px;text-decoration:none;background:linear-gradient(90deg,var(--violet),#9B8CFF)}
.cs-bars li:last-child .cs-bars-t u{background:#C9CFDD}
.cs-bars-n{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;color:var(--ink);text-align:right}
.cs-bars-g{grid-column:2 / -1;font-size:12.5px;color:var(--ink-3);margin-top:-2px}

.cs-qs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cs-qs li{display:flex;align-items:baseline;gap:10px;font-size:15px;line-height:1.45;color:var(--ink)}
.cs-fmt{
  flex:none;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.04em;
  padding:2px 8px;border-radius:99px;background:rgba(232,178,58,.14);border:1px solid rgba(232,178,58,.4);color:#8A6412;
}

/* playlists */
.cs-pl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cs-pl li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.cs-pl li:first-child{padding-top:0}
.cs-pl li:last-child{border-bottom:0}
.cs-pl-t b{display:block;font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.35}
.cs-pl-t em{display:block;font-style:normal;font-size:12.5px;color:var(--ink-3)}
.cs-pl-n{
  flex:none;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;color:var(--cs-ink);
  background:var(--cs-soft);border:1px solid var(--cs-line);border-radius:99px;padding:3px 10px;
}
.cs-quote{
  font-size:18px;font-weight:600;color:var(--ink);margin:0;padding:12px 16px;border-radius:12px;
  background:var(--paper-2);border:1px solid var(--line-2);
}

/* published posts */
.cs-posts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cs-posts li{border-bottom:1px solid var(--line-2)}
.cs-posts li:last-child{border-bottom:0}
.cs-posts a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;
  font-size:15px;font-weight:500;color:var(--ink);transition:color .18s ease;
}
.cs-posts a .ar{color:var(--cs-ink);font-size:14px;flex:none}
.cs-posts a:hover{color:var(--cs-ink)}

/* ══════════ STILL OPEN ══════════ */
.cs-open{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cs-open li{
  display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start;
  background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-sm);
}
.cs-open-n{
  font-family:Unbounded,Inter,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.02em;
  line-height:1.1;color:#8A6412;
}
.cs-open-dash{color:var(--ink-3)}
.cs-open-t{display:block;font-size:16px;font-weight:600;color:var(--ink);line-height:1.35;margin-bottom:4px}
.cs-open li p{font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:0}

/* ══════════ NEXT ══════════ */
.cs-next{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(22px,3vw,36px);
  box-shadow:var(--shadow-sm);
}
.cs-next > div{max-width:640px}
.cs-next h2{margin:12px 0 10px;font-size:clamp(24px,2.6vw,32px)}
.cs-next p{font-size:16px;line-height:1.65;color:var(--ink-2);margin:0}

/* ══════════ RESPONSIVE ══════════ */
@media (max-width:980px){
  .cs-two{grid-template-columns:minmax(0,1fr)}
  .cs-glance{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs-open{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .cs-glance{grid-template-columns:minmax(0,1fr)}
  .cs-stat{padding:16px 18px}
  .cs-time::before{left:6px}
  .cs-time li{grid-template-columns:minmax(0,1fr);gap:4px;padding-left:28px}
  .cs-time li::after{left:1px}
  .cs-time-d{text-align:left}
  .cs-bars li{grid-template-columns:90px minmax(0,1fr) 34px;gap:4px 10px}
  .cs-bars-l{font-size:13.5px}
  .cs-open li{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:16px}
  .cs-open-n{font-size:24px}
  .cs-card{padding:18px}
}
