.case-study-page {
  min-width: 0;
}

.case-site-header,
.case-site-footer,
.case-container {
  width: min(1280px, calc(100% - 3rem));
  margin: 0 auto;
}

.case-site-header {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.case-brand,
.case-back-link,
.case-breadcrumb a,
.case-next a,
.case-facts a,
.case-links a,
.case-contextual-evidence a,
.case-not-found a {
  color: #a5b4fc;
  text-decoration: none;
}

.case-brand {
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--text-primary);
}

.case-back-link,
.case-next a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
}

.case-breadcrumb a:hover,
.case-next a:hover,
.case-facts a:hover,
.case-links a:hover,
.case-contextual-evidence a:hover,
.case-not-found a:hover {
  color: #fff;
  text-decoration: underline;
}

.case-container {
  padding-bottom: 5rem;
}

.case-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
  color: var(--text-muted);
  font-size: .85rem;
  min-height: 40px;
  border-top: 1px solid var(--border-color);
  padding: 1.1rem 0;
}

.case-breadcrumb a:last-child {
  margin-left: auto;
}

.case-hero {
  max-width: 940px;
  padding: 3rem 0 3.5rem;
}

.case-label,
.case-section-heading > span {
  display: block;
  color: var(--accent-cyan);
  font: 600 .75rem/1.3 var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.case-hero h1 {
  max-width: 880px;
  margin: .6rem 0 1rem;
  font-size: clamp(2.25rem, 5vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -.055em;
}

.case-summary {
  max-width: 760px;
  margin-bottom: 2rem;
  color: var(--text-secondary);
  font-size: clamp(1rem, 2vw, 1.2rem);
}

.case-video {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  background: #000;
}

.case-video iframe,
.case-media-item img,
.case-hero-image img {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  object-fit: cover;
}

.case-hero-image {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-color);
  background: var(--bg-surface);
}

.case-media-item figcaption {
  padding-top: .75rem;
  color: var(--text-secondary);
  font-size: .88rem;
}

.case-metrics {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.case-metrics--1 { grid-template-columns: minmax(0, 18rem); }
.case-metrics--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.case-metrics--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.case-metrics > div {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  background: rgba(17, 24, 39, .58);
}

.case-metrics dt { font-size: 1.25rem; font-weight: 700; }
.case-metrics dd { color: var(--text-secondary); font-size: .8rem; }

.case-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  grid-template-areas: 'narrative facts';
  align-items: start;
  gap: clamp(2rem, 5vw, 5rem);
}

.case-narrative { grid-area: narrative; min-width: 0; }
.case-facts { grid-area: facts; }
.case-section-heading { margin-bottom: 1.5rem; }
.case-section-heading h2,
.case-facts h2 { margin-top: .35rem; font-size: 1.5rem; }

.case-story {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 1rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--border-color);
}

.case-story-number {
  color: var(--accent-cyan);
  font: 600 .8rem var(--font-mono);
  padding-top: .35rem;
}

.case-story h3 { margin-bottom: 1rem; font-size: 1.2rem; }
.case-story-section + .case-story-section { margin-top: 1rem; }
.case-story h4 { margin-bottom: .3rem; color: var(--text-secondary); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.case-story p { color: var(--text-secondary); }

.case-inset,
.case-contextual-evidence {
  margin-top: 1rem;
  padding: .9rem 1rem;
  border-left: 2px solid rgba(99, 102, 241, .75);
  background: rgba(17, 24, 39, .68);
}

.case-contextual-evidence > span {
  display: block;
  margin-bottom: .5rem;
  color: var(--text-muted);
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
}

.case-contextual-evidence div { display: flex; flex-wrap: wrap; gap: .75rem; font-size: .88rem; }

.case-facts {
  padding: 1.25rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  background: rgba(17, 24, 39, .55);
}

.case-facts dl { margin-top: 1.1rem; }
.case-facts dl > div { padding: .65rem 0; border-top: 1px solid var(--border-color); }
.case-facts dt { color: var(--text-muted); font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.case-facts dd { margin-top: .15rem; color: var(--text-secondary); font-size: .92rem; }
.case-facts section { margin-top: 1.3rem; }
.case-facts h3 { margin-bottom: .55rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.case-tech-list, .case-fact-links, .case-links ul { list-style: none; }
.case-tech-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.case-tech-list li { padding: .28rem .5rem; border-radius: 999px; background: rgba(99, 102, 241, .13); color: #c7d2fe; font-size: .75rem; }
.case-fact-links li + li { margin-top: .5rem; }

.case-media,
.case-links,
.case-next {
  max-width: 940px;
  margin-top: 4rem;
}

.case-media-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.case-links ul { display: grid; gap: .7rem; }
.case-links li { display: flex; justify-content: space-between; gap: 1rem; min-height: 40px; align-items: center; padding: .8rem 0; border-top: 1px solid var(--border-color); }
.case-links li span { color: var(--text-muted); font: .75rem var(--font-mono); text-transform: uppercase; }
.case-next { padding-top: 1.25rem; border-top: 1px solid var(--border-color); }
.case-site-footer { border-top: 1px solid var(--border-color); padding: 2rem 0; color: var(--text-muted); font-size: .82rem; }
.case-not-found { min-height: calc(100vh - 152px); padding-top: 5rem; }
.case-not-found p { margin-top: 1rem; color: var(--text-secondary); }
.case-not-found p:last-child { display: flex; gap: 1.25rem; }

@media (min-width: 769px) and (min-height: 700px) {
  .case-facts { position: sticky; top: 1.5rem; }
}

@media (max-width: 768px) {
  .case-site-header,
  .case-site-footer,
  .case-container { width: min(100% - 2rem, 1280px); }
  .case-site-header { min-height: 64px; }
  .case-breadcrumb a:last-child { margin-left: 0; }
  .case-hero { padding: 2rem 0 2.5rem; }
  .case-layout { grid-template-columns: 1fr; grid-template-areas: 'facts' 'narrative'; gap: 2.5rem; }
  .case-facts { position: static; }
  .case-metrics--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-media-grid { grid-template-columns: 1fr; }
  .case-media, .case-links, .case-next { margin-top: 3rem; }
  .case-study-page a { display: inline-flex; align-items: center; min-width: 40px; min-height: 40px; }
}

@media (max-width: 460px) {
  .case-site-header { align-items: flex-start; padding: 1rem 0; }
  .case-metrics { grid-template-columns: 1fr; }
  .case-links li { align-items: flex-start; flex-direction: column; }
}
