.cs-hero {
  position: relative;
  background: var(--color-bg-dark);
  padding: 130px 0 70px;
  overflow: hidden;
}
.cs-hero .hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 30% 50%, rgba(26,110,245,.15) 0%, transparent 65%),
    radial-gradient(ellipse 40% 60% at 90% 80%, rgba(26,110,245,.08) 0%, transparent 60%);
}
.cs-hero-content { position: relative; z-index: 1; max-width: 700px; }
.cs-hero-content .eyebrow { color: rgba(100,160,255,.9); }
.cs-hero-content h1 { color: var(--color-white); margin-bottom: 1rem; }
.cs-hero-content p  { color: rgba(255,255,255,.65); font-size: 1.1rem; line-height: 1.7; }

/* Full case study layout */
.cs-full { scroll-margin-top: 80px; }

.cs-full-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 4rem;
  align-items: start;
}

.cs-meta {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1.2rem;
  flex-wrap: wrap;
}

.cs-client-badge {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-muted);
  padding: .25rem .75rem;
  border: 1px solid var(--color-border);
  border-radius: 20px;
}
.cs-client-badge.dark {
  color: rgba(255,255,255,.4);
  border-color: rgba(255,255,255,.15);
}

.cs-full-text h2 { margin-bottom: 1.8rem; }
.section-dark .cs-full-text h2 { color: var(--color-white); }

.cs-full-text h3 {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin: 1.8rem 0 .6rem;
}
.cs-full-text p {
  color: var(--color-muted);
  line-height: 1.75;
  margin: 0;
}
.section-dark .cs-full-text p { color: rgba(255,255,255,.6); }

.cs-quote {
  margin: 2rem 0 0;
  padding: 1.4rem 1.6rem;
  border-left: 3px solid var(--color-accent);
  background: rgba(26,110,245,.05);
  border-radius: 0 var(--radius) var(--radius) 0;
}
.cs-quote.dark {
  background: rgba(26,110,245,.08);
}
.cs-quote p {
  font-style: italic;
  font-size: 1rem;
  color: var(--color-text) !important;
  margin-bottom: .6rem !important;
}
.section-dark .cs-quote p { color: rgba(255,255,255,.8) !important; }
.cs-quote cite {
  font-size: .82rem;
  font-weight: 600;
  color: var(--color-muted);
  font-style: normal;
}
.section-dark .cs-quote cite { color: rgba(255,255,255,.4); }

/* Sidebar */
.cs-full-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  position: sticky;
  top: 100px;
}

.cs-sidebar-card {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: 1.4rem;
  box-shadow: var(--shadow-sm);
}
.cs-sidebar-card.dark {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.1);
  box-shadow: none;
}
.cs-sidebar-card h3 {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: 1rem;
}
.cs-sidebar-card.dark h3 { color: rgba(255,255,255,.4); }

.cs-results-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .9rem;
}
.cs-results-list li {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid var(--color-border);
}
.cs-results-list li:last-child { border-bottom: none; padding-bottom: 0; }
.cs-sidebar-card.dark .cs-results-list li { border-color: rgba(255,255,255,.07); }
.cs-result-num {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--color-accent);
  line-height: 1.2;
}
.cs-results-list li span:last-child {
  font-size: .82rem;
  color: var(--color-muted);
}
.cs-sidebar-card.dark .cs-results-list li span:last-child { color: rgba(255,255,255,.45); }

.cs-modules-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.cs-modules-list a {
  font-size: .88rem;
  font-weight: 600;
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--transition);
}
.cs-modules-list a:hover { color: var(--color-accent-h); }

@media (max-width: 900px) {
  .cs-full-layout { grid-template-columns: 1fr; }
  .cs-full-sidebar { position: static; }
}
