/* ══════════════════════════════════════════════════
   STOBOX — case-study-detail.css
   Styles for individual /case-studies/<slug> pages
   ══════════════════════════════════════════════════ */

/* ── Hero ── */
.csd-hero{
  padding:110px 80px 60px;
  background:var(--ink);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.csd-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 900px 500px at 25% 100%,rgba(37,99,235,.18) 0%,transparent 60%);
  pointer-events:none;
}
.csd-hero-inner{
  max-width:1200px;
  margin:0 auto;
  position:relative;
}
.csd-crumb{
  font-size:12px;
  color:rgba(255,255,255,.5);
  margin-bottom:28px;
}
.csd-crumb a{color:rgba(255,255,255,.7);text-decoration:none;}
.csd-crumb a:hover{color:var(--blue3);}
.csd-crumb span{margin:0 6px;color:rgba(255,255,255,.3);}
.csd-crumb [aria-current]{color:#fff;margin:0;}
.csd-eye{
  font-family:'DM Mono',monospace;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--blue3);
  margin-bottom:16px;
}
.csd-hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(38px,5vw,64px);
  font-weight:500;
  line-height:1.05;
  margin:0 0 22px;
  color:#fff;
}
.csd-outcome{
  font-size:17px;
  line-height:1.65;
  color:rgba(255,255,255,.72);
  max-width:780px;
  margin:0 0 36px;
}
.csd-meta{
  display:flex;
  gap:48px;
  flex-wrap:wrap;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.08);
}
.csd-meta-item{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.csd-meta-lbl{
  font-family:'DM Mono',monospace;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:rgba(255,255,255,.4);
}
.csd-meta-val{
  font-size:15px;
  color:#fff;
  font-weight:500;
}

/* ── Body ── */
.csd-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:64px;
  align-items:start;
}
.csd-col-main{min-width:0;}
.csd-block{margin-bottom:48px;}
.csd-block:last-child{margin-bottom:0;}
.csd-h2{
  font-family:'Playfair Display',serif;
  font-size:26px;
  font-weight:500;
  color:var(--ink);
  margin:0 0 18px;
  line-height:1.2;
}
.csd-block p{
  font-size:15.5px;
  line-height:1.75;
  color:var(--mid);
  margin:0 0 14px;
}
.csd-list{
  margin:14px 0 0;
  padding:0;
  list-style:none;
}
.csd-list li{
  position:relative;
  padding:10px 0 10px 26px;
  font-size:15px;
  color:var(--mid);
  border-bottom:1px solid var(--border);
  line-height:1.55;
}
.csd-list li:last-child{border-bottom:none;}
.csd-list li::before{
  content:'';
  position:absolute;
  left:0;
  top:18px;
  width:14px;
  height:2px;
  background:var(--blue);
}

/* ── Sidebar ── */
.csd-col-side{
  position:sticky;
  top:90px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.csd-card{
  background:#F8FAFC;
  border:1px solid var(--border);
  border-radius:10px;
  padding:24px;
}
.csd-card-label{
  font-family:'DM Mono',monospace;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--mid);
  margin-bottom:14px;
}
.csd-dl{margin:0;}
.csd-dl dt{
  font-size:11px;
  font-family:'DM Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--mid);
  margin-top:12px;
}
.csd-dl dt:first-child{margin-top:0;}
.csd-dl dd{
  margin:4px 0 0;
  font-size:14px;
  color:var(--ink);
  font-weight:500;
}
.csd-card-cta{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
.csd-card-cta .csd-card-label{color:var(--blue3);}
.csd-card-cta p{
  font-size:13.5px;
  line-height:1.6;
  color:rgba(255,255,255,.7);
  margin:0 0 16px;
}
.csd-card-cta .btn-p{
  display:inline-block;
  font-size:13px;
  padding:11px 20px;
}

/* ── Related ── */
.cs-rel-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:28px;
}
.cs-rel-card{
  display:block;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  padding:22px;
  text-decoration:none;
  color:inherit;
  transition:.2s;
}
.cs-rel-card:hover{
  border-color:var(--blue);
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(7,16,31,.08);
}
.cs-rel-top{
  display:flex;
  gap:8px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.cs-rel-card h4{
  font-family:'Playfair Display',serif;
  font-size:20px;
  font-weight:500;
  margin:0 0 8px;
  color:var(--ink);
}
.cs-rel-card .cs-card-country{
  font-size:12px;
  color:var(--mid);
  margin-bottom:10px;
}
.cs-rel-card .cs-card-outcome{
  font-size:13px;
  line-height:1.55;
  color:var(--mid);
}

/* ── Responsive ── */
@media(max-width:960px){
  .csd-hero{padding:90px 40px 50px;}
  .csd-body{grid-template-columns:1fr;gap:40px;}
  .csd-col-side{position:static;}
  .cs-rel-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .csd-hero{padding:70px 24px 40px;}
  .csd-hero h1{font-size:34px;}
  .csd-outcome{font-size:15px;}
  .csd-meta{gap:24px;}
  .cs-rel-grid{grid-template-columns:1fr;}
}
