.case-page{
  min-height:100vh;
  background:var(--ink);
  color:var(--txt);
  font-family:"IBM Plex Sans",sans-serif;
}

.case-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(900px 520px at 95% 0%,
      color-mix(in srgb,var(--cyan) 8%,transparent),
      transparent 70%),
    radial-gradient(800px 500px at 0% 100%,
      color-mix(in srgb,var(--sky) 6%,transparent),
      transparent 70%);
}

.case-shell{
  width:min(1050px,calc(100% - 48px));
  margin:0 auto;
  padding:42px 0 110px;
}

.case-nav{
  position:sticky;
  top:16px;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 18px;
  margin-bottom:90px;
  border:1px solid var(--line);
  border-radius:14px;
}

.case-back{
  color:var(--txt);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
}

.case-back:hover{
  color:var(--cyan);
}

.case-theme{
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 13px;
  background:transparent;
  color:var(--txt);
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.2s ease;
}

.case-theme:hover{
  border-color:var(--cyan);
  color:var(--cyan);
  transform:translateY(-2px);
}

.case-kicker{
  color:var(--cyan);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-bottom:22px;
}

.case-page h1{
  max-width:920px;
  font-family:"Cabinet Grotesk",sans-serif;
  font-size:clamp(3rem,7vw,6.5rem);
  font-weight:800;
  line-height:.94;
  letter-spacing:-.035em;
  margin:0 0 34px;
}

.case-page .intro{
  max-width:760px;
  font-size:clamp(1.05rem,2vw,1.3rem);
  line-height:1.75;
  color:var(--muted);
}

.case-page .facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:60px 0 85px;
}

.case-page .fact{
  min-height:120px;
  padding:25px;
  border:1px solid var(--line);
  background:var(--card);
  border-radius:14px;
}

.case-page .fact strong{
  display:block;
  margin-bottom:8px;
  color:var(--cyan);
  font-family:"Cabinet Grotesk",sans-serif;
  font-size:1.7rem;
  font-weight:800;
}

.case-page h2{
  margin:70px 0 18px;
  padding-top:25px;
  border-top:1px solid var(--line);
  font-family:"Cabinet Grotesk",sans-serif;
  font-size:clamp(1.7rem,3vw,2.5rem);
  font-weight:700;
}

.case-page main > p:not(.case-kicker):not(.intro){
  max-width:790px;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.85;
}

.case-page a{
  color:inherit;
}

.case-page main > p a{
  color:var(--cyan);
}

.case-page footer{
  margin-top:100px;
  padding-top:30px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-family:"JetBrains Mono",monospace;
  font-size:11px;
  line-height:1.8;
  letter-spacing:.06em;
}

@media(max-width:800px){
  .case-shell{
    width:min(100% - 30px,1050px);
    padding-top:20px;
  }

  .case-nav{
    margin-bottom:60px;
  }

  .case-page .facts{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:480px){
  .case-page .facts{
    grid-template-columns:1fr;
  }
}
