.case-page--never {
  --never-rose: #83739a;
  --never-plum: #786c90;
  --never-sage: #6f9185;
  --never-night: #0b1220;
}

.case-page--never .case-hero {
  width: 100vw;
  margin: -2rem calc((100vw - var(--shell)) / -2) 0;
  padding: clamp(3rem, 5vw, 5.5rem) calc((100vw - var(--shell)) / 2);
  background: linear-gradient(120deg, #e9e3f1, #e3ebe9 54%, #edf1e7);
}
.case-page--never .case-intro h1 { color: var(--never-rose); }
.case-page--never .case-facts { padding-top: 0; border-top: 0; }
.case-page--never .case-facts dt { color: #71897f; font-weight: 500; }
.case-page--never .case-play > img { object-fit: cover; }

.case-caption--link-only { justify-content: flex-end; }

.never-projection {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.65fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  margin: 1rem 0 clamp(3.5rem, 7vw, 7rem);
  padding-top: clamp(2.5rem, 5vw, 4.5rem);
}
.never-projection-copy h2,
.never-process-copy h2 {
  margin: 0 0 1.2rem;
  font: 300 clamp(2rem, 3.25vw, 3.5rem)/1 var(--serif);
  letter-spacing: -.035em;
}
.never-projection-copy p,
.never-process-copy > p:not(.eyebrow) {
  max-width: 49ch;
  margin: 0;
  color: var(--muted);
  font-size: .98rem;
  line-height: 1.8;
}
.never-projection-film { min-width: 0; }
.never-projection .case-film { aspect-ratio: 16 / 10; }

.never-origin {
  width: 100vw;
  margin: 0 calc((100vw - var(--shell)) / -2);
  padding: clamp(2.5rem, 5vw, 4.5rem) calc((100vw - var(--shell)) / 2);
  border: 0;
  background: linear-gradient(110deg, #e9e3f0, #e3ebe8 52%, #eef1e8);
}
.never-origin h2 { color: #77698d; }
.never-origin p { max-width: 76ch; }

.never-process { margin: 0; }
.never-process-row {
  display: grid;
  grid-template-columns: minmax(15rem, .58fr) minmax(0, 1.42fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
  min-height: 23rem;
  padding: clamp(2.75rem, 5vw, 5rem) 0;
  border-top: 1px solid var(--line);
}
.never-fantasy .eyebrow { color: var(--never-rose); }
.never-journey .eyebrow { color: var(--never-plum); }
.never-symbols .eyebrow { color: var(--never-sage); }
.never-architecture .eyebrow { color: #718d82; }

.never-portal-diagram,
.never-building-diagram {
  width: min(82%, 34rem);
  justify-self: center;
  color: #807493;
}
.never-portal-diagram path,
.never-portal-diagram circle,
.never-building-diagram path {
  stroke: currentColor;
  stroke-width: .9;
  vector-effect: non-scaling-stroke;
}
.never-stars circle { fill: rgba(120, 108, 144, .22); }
.never-stars path { fill: rgba(111, 145, 133, .22); }
.never-building-flow { stroke-width: 1.5 !important; }

.never-journey {
  width: 100vw;
  margin-inline: calc((100vw - var(--shell)) / -2);
  padding-inline: calc((100vw - var(--shell)) / 2);
  border-bottom: 0;
  background: linear-gradient(110deg, #e9e2ef, #e3ebe8 52%, #edf1e6);
}
.never-journey-map {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  position: relative;
  width: min(88%, 35rem);
  margin: 0;
  padding: 0;
  justify-self: center;
  list-style: none;
}
.never-journey-map::before {
  content: '';
  position: absolute;
  top: 2.2rem;
  right: 12.5%;
  left: 12.5%;
  border-top: 1px solid rgba(37, 35, 32, .2);
}
.never-journey-map li { display: grid; justify-items: center; gap: .8rem; position: relative; }
.never-journey-map li span { display: block; width: 4.4rem; aspect-ratio: 1; border: 1px solid rgba(37, 35, 32, .18); border-radius: 50%; background: rgba(247, 244, 238, .2); }
.never-journey-map li:nth-child(2) span { background: rgba(130, 115, 154, .18); }
.never-journey-map li:nth-child(3) span { background: rgba(111, 145, 133, .18); }
.never-journey-map li:nth-child(4) span { background: rgba(132, 161, 125, .18); }
.never-journey-map small { color: var(--muted); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }

.never-symbol-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(88%, 34rem);
  margin: 0;
  padding: 0;
  justify-self: center;
  list-style: none;
}
.never-symbol-list li { display: grid; justify-items: center; gap: .8rem; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
.never-symbol-list i { display: block; width: clamp(3rem, 5vw, 4.7rem); aspect-ratio: 1; border-radius: 50%; background: #778dc1; opacity: .72; }
.never-symbol-list li:nth-child(2) i { background: #bc6674; }
.never-symbol-list li:nth-child(3) i { background: #d1b652; }
.never-symbol-list li:nth-child(4) i { background: #d5a3b4; }

.never-building-diagram { width: min(90%, 39rem); }
.never-building-diagram .never-building-outline { stroke: url(#never-building-gradient); stroke-width: 1.25; }
.never-building-diagram .never-building-details { stroke: #8775a0; }
.never-building-diagram .never-building-grid { stroke: #76978b; }
.never-building-flow { stroke: #83a07d !important; }

.never-scenes-stage {
  width: 100vw;
  margin: 0 calc((100vw - var(--shell)) / -2) clamp(1.5rem, 3vw, 2.5rem);
  padding: clamp(2.75rem, 5vw, 4.5rem) calc((100vw - var(--shell)) / 2);
  background:
    radial-gradient(circle at 50% 100%, rgba(125, 82, 126, .2), transparent 42%),
    var(--never-night);
  color: #f7f4ee;
}
.never-scenes-stage > .eyebrow { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); color: #c4b5d2; }
.never-scenes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
  padding: 0;
  background: transparent;
  border-radius: 0;
}
.never-scenes a { border-radius: .2rem; background: #000; }
.never-scenes img { width: 100%; aspect-ratio: 3339 / 934; object-fit: contain; }
.never-scenes .case-study-caption { justify-content: center; gap: .5rem; padding-top: .65rem; text-align: center; }
.never-scenes .case-study-caption > span { color: #c4b5d2; }
.never-scenes li:nth-child(even) .case-study-caption > span { color: #9dbb9d; }
.never-scenes h3 { color: rgba(247, 244, 238, .78); font-weight: 400; }

.case-page--never .case-contribution { margin-bottom: 2rem; }
.never-takeaway {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 0;
  border-radius: .35rem;
  background: linear-gradient(110deg, #e9e2ef, #e4ece8 55%, #eef1e7);
}
.never-takeaway h2 { color: #77698d; }

@media (min-width: 801px) {
  .never-origin,
  .never-process-row,
  .never-takeaway {
    grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr);
    gap: clamp(3rem, 6vw, 6rem);
  }
  .never-process-row { padding-inline: clamp(2.5rem, 6vw, 6rem); }
  .never-origin,
  .never-journey { padding-inline: calc((100vw - var(--shell)) / 2 + clamp(2.5rem, 6vw, 6rem)); }
  .never-takeaway { padding-inline: clamp(2.5rem, 6vw, 6rem); }
}

@media (min-width: 801px) and (max-width: 1000px) {
  .never-projection { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 2rem; }
}

@media (max-width: 800px) {
  .case-page--never .case-intro h1 { font-size: clamp(2.35rem, 6vw, 2.9rem); }
  .case-page--never .case-lead { max-width: none; }
  .never-origin { grid-template-columns: 1fr; gap: .8rem; }
  .never-projection,
  .never-process-row { grid-template-columns: 1fr; gap: 1.75rem; min-height: 0; }
  .never-projection-copy,
  .never-process-copy { width: 100%; }
  .never-projection-copy h2,
  .never-process-copy h2 { font-size: clamp(1.55rem, 3.6vw, 1.75rem); }
  .never-projection-copy p,
  .never-process-copy > p:not(.eyebrow) { max-width: none; }
  .never-projection { margin-bottom: 3.5rem; }
  .never-portal-diagram,
  .never-building-diagram { max-height: 13rem; }
  .never-scenes { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .never-projection-copy h2,
  .never-process-copy h2 { font-size: 1.6rem; }
  .never-process-row,
  .never-origin { padding-block: 2.5rem; }
  .never-journey-map { width: 100%; }
  .never-journey-map li span { width: 3.1rem; }
  .never-journey-map::before { top: 1.55rem; }
  .never-journey-map small { font-size: .6rem; }
  .never-symbol-list { width: 100%; gap: .35rem; }
  .never-symbol-list li { font-size: .62rem; }
  .never-scenes-stage { padding-block: 2.5rem; }
}
