/* Shared case navigation; the catalog link docks into the next-case strip. */
.case-meta{align-items:center}
.case-pager{display:flex;align-items:center;gap:8px;flex-shrink:0}
.case-counter{display:flex;align-items:center;gap:8px;white-space:nowrap;margin-right:12px}
.case-current{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--lime);color:var(--ink);letter-spacing:0}
.case-arrow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--ink);font:400 22px/1 var(--mono);letter-spacing:0}
.case-arrow:hover{background:var(--lime);text-decoration:none}
.case-arrow:focus-visible{outline:3px solid #6153e3;outline-offset:3px}
@media(max-width:650px){
  .case-meta{flex-wrap:wrap;gap:16px}
  .case-meta>span:last-child{max-width:none;width:100%;text-align:left}
}
html:has(.case-floating-nav){scroll-padding-bottom:108px}
.case-floating-nav{
  position:fixed;
  z-index:10;
  right:max(28px,env(safe-area-inset-right,0px));
  bottom:calc(28px + env(safe-area-inset-bottom,0px));
  display:grid;
  grid-template-columns:132fr 168fr;
  gap:8px;
  width:308px;
  max-width:calc(100vw - 32px);
}
.case-floating-nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5ch;
  height:52px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 4px 16px rgba(0,0,0,.18);
  font:500 13px/20px var(--mono);
  letter-spacing:.3px;
  text-transform:uppercase;
  white-space:nowrap;
}
.case-floating-top{background:#000;color:var(--paper)}
.case-floating-all{background:var(--lime);color:var(--ink)}
.case-floating-nav.is-docked{width:132px;grid-template-columns:1fr}
.next-project-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.next-project-caption{display:flex;align-items:center;min-height:44px;white-space:nowrap}
.case-all-slot{flex-shrink:0;min-width:9ch;text-align:right}
.case-all-slot .case-floating-all{display:flex;align-items:center;justify-content:flex-end;min-height:44px;font:400 11px/1.4 var(--mono);letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap}
.case-all-slot a:focus-visible,.next-project a:focus-visible{outline:3px solid #6153e3;outline-offset:3px}
.case-floating-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.case-floating-nav a:focus-visible{outline:3px solid #6153e3;outline-offset:3px}
/* At the bottom of a case, keep contacts and footer links above the dock. */
.case>.footer{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
@media(max-width:650px){
  .case-floating-nav{right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}
}
