  /* Companion case studies: a shared visual language with a distinct system diagram per story. */

.case-hero-grid {
  grid-template-columns: 1.08fr .92fr;
  gap: 8vw;
}

/* SIGNAL MAP */

/* CASE SUMMARY & GENERAL SECTIONS */

.summary-grid,
.split-heading {
  gap: 7vw;
}

.split-heading > p {
  margin: 0 0 18px 2vw;
}

/* PROBLEM STRIP */

/*.problem-strip article:nth-child(even):before {
  background: #10b7da;
}
*/

/* CASE MODEL */

.model-layout {
  margin-top: 110px;
}

.model-orbits {
  perspective: 400px;
}
.model-orbits::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-top: -10%;
  margin-left: 0%;
  background: url("../../assets/img/amber-wave.svg") center / contain no-repeat;
  transform: rotateX(50deg);
  transform-origin: center;
  opacity: .60;

}

.plate-container {
  perspective: 800px;
}

/* Add new stroked circles that mimic image perspective */
.model-orbits i:nth-child(4) {
  position: absolute;
  inset: 10%;
  border: 1.5px solid #ff00ff; /* Purple for SaaS */
  border-radius: 50%;
  transform: perspective(600px) rotateX(45deg); /* Match image tilt */
}

.model-orbits i:nth-child(5) {
  position: absolute;
  inset: 15%;
  border: 1.5px solid #ff00ff; /* Purple for SaaS */
  border-radius: 50%;
  transform: perspective(600px) rotateX(45deg); /* Match image tilt */
}

.model-orbits i:nth-child(6) {
  position: absolute;
  inset: 20%;
  border: 1.5px solid #ff00ff; /* Purple for SaaS */
  border-radius: 50%;
  transform: perspective(600px) rotateX(45deg); /* Match image tilt */
}

.model-orbits i:nth-child(7) {
  position: absolute;
  inset: 25%;
  border: 1.5px solid #ff00ff; /* Purple for SaaS */
  border-radius: 50%;
  transform: perspective(600px) rotateX(45deg); /* Match image tilt */
}

.model-orbits i:nth-child(8) {
  position: absolute;
  inset: 30%;
  border: 1.5px solid #ff00ff; /* Purple for SaaS */
  border-radius: 50%;
  transform: perspective(600px) rotateX(45deg); /* Match image tilt */
}

/*.model-orbits b {
  position: absolute;
  z-index: 1;
  top: 38%;
  left: 38%;
  display: grid;
  place-items: center;
  width: 24%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #5b00c2;
  background: #ffffff;
  background: linear-gradient(135deg, #5b00c2b3, #6900e0);
  box-shadow: 0 15px 45px rgba(148, 31, 221, .34);
  color: #fff;
  font-size: 10px;
  letter-spacing: .12em;
  text-align: center;
}*/
/*b::before*/
.model-orbits {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-top: -10%;
  /*margin-left: 0%;*/
  margin-left: 3.25%;
  background: url("../../assets/img/wireframe-globe.svg") center / contain no-repeat;
  /*transform: rotate(45deg);
  transform: rotateX(50deg);
  transform-origin: center;*/
}

.l-one {
  top: 7%;
  left: 78%;
}

.l-two {
  top: 7%;
  left: -2%;
  /*left: -9.5%;*/
}

.l-three {
  top: 83%;
  right: -11%;
}

.l-four {
  bottom: 5%;
  left: -1%;
}
.l-one small {white-space: nowrap;}
/*.case-model .model-label {
  position: absolute;
  color: #ffffff;
}
.case-model .model-label small {
  margin-top: 5px;
  color: #ff62c6;;
}*/

.principle-list {
  border-top: 1px solid #d8ccec;
}

.principle-list article {
  display: grid;
  grid-template-columns: 55px 1fr;
  gap: 17px;
  padding: 23px 0;
  border-bottom: 1px solid #d8ccec;
}

.principle-list span {
  color: #7c32de;
  font-size: 10px;
  letter-spacing: .15em;
}

.principle-list h3 {
  font-size: 23px;
}

.principle-list p {
  color: var(--case-muted);
  font-size: 15px;
  line-height: 1.5;
}

/* CASE PROCESS */

.process-track {
  margin-top: 61px;
}

.process-track article {
  padding: 31px 38px;
}

.process-track h3 {
  margin: 41px 0 11px;
  font-size: 27px;
}

.process-track p {
  max-width: 290px;
  margin: 0;
  color: rgba(255, 255, 255, .7);
}

/* CASE RESULTS */

/* CASE TAKEAWAY */

/* MEDIA QUERIES */
@media (max-width: 900px) {

/*  .case-container {
    width: min(380px, 70vw);
    margin: auto;
  }*/
}

@media (max-width: 640px) {

  .process-track article,
  .process-track article:first-child {
    min-height: 0;
    padding: 26px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(180, 229, 255, .2);
  }

/*  .problem-strip article:before {
    top: -14px;
    bottom: 7px;
    left: 9px;
    content: "";
    transform: skewX(-40deg);
  }*/

  .l-one {
    top: -8%;
    left: 68%;
  }

  .l-two {
    top: -8%;
    left: -2%;
    /*left: -9.5%;*/
  }

  .l-three {
    top: 95%;
    right: -11%;
  }

  .l-four {
    bottom: -9%;
    left: -1%;
  }
  .model-orbits {
    margin-top: -16%;
    margin-bottom: 40px;
  }

}

/* Keep SaaS case-study layouts readable on narrow screens. These rules are
   intentionally last so the page's desktop grid declarations cannot override
   the shared mobile layout rules loaded earlier. */
@media (max-width: 760px) {
  .case-hero--architecture .case-hero-grid,
  .case-summary .summary-grid,
  .case-model .split-heading,
  .case-model .model-layout,
  .case-process .process-track {
    grid-template-columns: minmax(0, 1fr);
  }

  .case-hero--architecture .case-hero-grid,
  .case-summary .summary-grid,
  .case-model .split-heading,
  .case-model .model-layout {
    gap: 32px;
  }

  .case-hero--architecture .case-hero-grid > *,
  .case-summary .summary-grid > *,
  .case-model .split-heading > *,
  .case-model .model-layout > * {
    min-width: 0;
  }

  .case-model .split-heading > p {
    margin-left: 0;
  }

  .case-process .process-track {
    border-top: 0;
  }

  .case-process .process-track article,
  .case-process .process-track article:first-child {
    min-height: 0;
    padding: 28px 0 24px 20px;
    border-right: 0;
    border-bottom: 0;
    border-top: 1px solid rgba(180, 229, 255, .2);
  }

  .case-process .process-track article:before {
    top: -5px !important;
    left: 0 !important;
  }

  .case-process .process-track article:last-child {
    border-top: 1px solid rgba(180, 229, 255, .2);
  }
}
