._page_n2eeo_1{--desktop-control-gap:clamp(18px, calc((var(--app-viewport-width) - 1050px) * .52), 108px);height:var(--app-viewport-height);background:var(--color-canvas);color:var(--color-ink);letter-spacing:var(--font-body-letter-spacing);text-transform:lowercase;font-size:16px;line-height:22px;overflow:hidden}._layout_n2eeo_13{width:912px;margin-left:calc(50vw - 456px + var(--wide-shift));grid-template-columns:328px 476px;gap:108px;margin-right:0;display:grid;position:relative;top:55px}._mobileHeader_n2eeo_28{display:none}._infoColumn_n2eeo_32{height:calc(var(--app-viewport-height) - 55px);gap:var(--space-lg);scrollbar-width:none;flex-direction:column;width:calc(100% + 17px);padding-bottom:55px;padding-right:17px;scroll-padding-bottom:55px;display:flex;overflow-y:auto}._infoColumn_n2eeo_32::-webkit-scrollbar{display:none}._caseStudyCopy_n2eeo_51{gap:var(--space-xl);flex-direction:column;display:flex}._overview_n2eeo_57{gap:var(--space-md);flex-direction:column;display:flex}._overview_n2eeo_57 p{}._compactOverviewContinuation_n2eeo_67{display:inline}._projectWebsite_n2eeo_71{--animated-underline-bottom:2px;color:var(--color-muted)}._projectWebsite_n2eeo_71:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:1px}._overview_n2eeo_57 h1,._overview_n2eeo_57 h2,._metadata_n2eeo_86 dt,._desktopBack_n2eeo_87,._mobileBack_n2eeo_88{color:var(--color-muted);font-family:var(--font-hand);font-size:16px;font-weight:400}._metadata_n2eeo_86{gap:var(--space-sm);flex-direction:column;margin:0;display:flex}._metadata_n2eeo_86>div{grid-template-columns:89px minmax(0,1fr);align-items:center;display:grid}._metadata_n2eeo_86 dd{letter-spacing:var(--font-body-letter-spacing);margin:0;font-size:16px}._mediaRail_n2eeo_114{--media-end-space:55px;--media-gap:18px;height:calc(var(--app-viewport-height) - 55px)}._desktopBack_n2eeo_87,._mobileBack_n2eeo_88{cursor:pointer;background:0 0;border:0;padding:0}._desktopBack_n2eeo_87{z-index:5;top:55px;right:calc(50% + 456px - var(--wide-shift) + var(--desktop-control-gap));position:fixed}._desktopBack_n2eeo_87:focus-visible,._mobileBack_n2eeo_88:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}._bubbleControl_n2eeo_142{top:59.25px;left:calc(50% + 456px + var(--wide-shift) + var(--desktop-control-gap));position:fixed}@media (hover:hover) and (pointer:fine){._desktopBack_n2eeo_87:hover,._mobileBack_n2eeo_88:hover{color:var(--color-ink)}}@media (max-width:1050px){._page_n2eeo_1{height:auto;min-height:var(--app-viewport-height);font-size:1rem;line-height:22px;overflow:visible}._layout_n2eeo_13{width:min(42rem,100% - 4.125rem);padding:59px 0 max(59px, env(safe-area-inset-bottom));flex-direction:column;gap:0;margin-inline:auto;display:flex;top:auto;transform:none}._desktopBack_n2eeo_87{position:absolute;top:62.25px;left:auto;right:calc(50% + min(42rem,100% - 4.125rem)/-2)}._bubbleControl_n2eeo_142{position:absolute;top:64.75px;left:auto;right:calc(50% + min(42rem,100% - 4.125rem)/-2)}._desktopBack_n2eeo_87{display:none}._mobileHeader_n2eeo_28{height:22px;margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;display:flex}._mobileBack_n2eeo_88,._overview_n2eeo_57 h1,._overview_n2eeo_57 h2,._metadata_n2eeo_86 dt,._metadata_n2eeo_86 dd{font-size:1rem}._infoColumn_n2eeo_32{display:contents}._overview_n2eeo_57{gap:var(--space-md)}._caseStudyCopy_n2eeo_51{gap:var(--space-lg)}._metadata_n2eeo_86{margin-top:var(--space-lg);gap:var(--space-sm)}._metadata_n2eeo_86>div{grid-template-columns:84px minmax(0,1fr)}._mediaRail_n2eeo_114{--media-end-space:0px;order:1;height:auto;margin-top:43px}._projectFooter_n2eeo_242{margin-top:var(--space-2xl);order:2}}@media (max-width:480px){._bubbleControl_n2eeo_142{right:max(20px,50% - 167.5px)}._layout_n2eeo_13{width:min(335px,100% - 40px)}}@media (min-width:641px){._page_n2eeo_1{font-size:var(--text-body-size);line-height:var(--text-body-line-height)}._overview_n2eeo_57 h1,._overview_n2eeo_57 h2,._metadata_n2eeo_86 dt,._metadata_n2eeo_86 dd,._desktopBack_n2eeo_87,._mobileBack_n2eeo_88{font-size:var(--text-body-size)}}@media (min-width:641px) and (max-width:1050px){._bubbleControl_n2eeo_142{top:64.75px}._overview_n2eeo_57 p{max-width:34rem}}@media (max-width:1050px){:root[data-theme=light] ._page_n2eeo_1{--color-muted:#969696}._page_n2eeo_1{letter-spacing:.02em;font-size:15px;line-height:20px}._mobileHeader_n2eeo_28{height:21px;margin-bottom:18px}._mobileBack_n2eeo_88{font-family:var(--font-body);letter-spacing:.01em;font-size:15px;line-height:20px}._caseStudyCopy_n2eeo_51,._overview_n2eeo_57{gap:18px}._overview_n2eeo_57 h1,._overview_n2eeo_57 h2,._overview_n2eeo_57 p,._metadata_n2eeo_86 dt,._metadata_n2eeo_86 dd{font-family:var(--font-body);font-size:15px;line-height:20px}._overview_n2eeo_57 h1,._overview_n2eeo_57 h2,._overview_n2eeo_57 p,._metadata_n2eeo_86 dt{letter-spacing:.02em}._metadata_n2eeo_86{gap:12px;margin-top:18px}._metadata_n2eeo_86>div{justify-content:space-between;display:flex}._metadata_n2eeo_86 dd{letter-spacing:.01em;text-align:right}._compactOverviewContinuation_n2eeo_67{margin-top:12px;display:block}._mediaRail_n2eeo_114{--media-gap:12px}._projectFooter_n2eeo_242{border-top:1px solid var(--color-hairline);letter-spacing:.02em;grid-template-rows:20px 20px;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:6px 10px;height:80px;padding-top:31px;font-size:15px;line-height:20px}._projectFooter_n2eeo_242 [data-footer-clock]{grid-area:1/1/auto/-1;justify-self:start}._projectFooter_n2eeo_242>div{grid-area:2/1;justify-content:flex-start;justify-self:start;width:100%}._projectFooter_n2eeo_242>button{grid-area:2/2;transform:none}}@media (max-width:480px){._page_n2eeo_1,._mobileBack_n2eeo_88,._overview_n2eeo_57 h1,._overview_n2eeo_57 h2,._overview_n2eeo_57 p,._metadata_n2eeo_86 dt,._metadata_n2eeo_86 dd,._projectFooter_n2eeo_242{font-size:var(--text-body-size);line-height:var(--text-body-line-height)}._mobileHeader_n2eeo_28{height:21px}._projectFooter_n2eeo_242{grid-template-rows:21px 21px}._mediaRail_n2eeo_114{margin-top:52px}}@media (min-width:1051px){._page_n2eeo_1{letter-spacing:var(--font-body-letter-spacing);font-size:15px;line-height:21px}._layout_n2eeo_13{width:calc(var(--app-viewport-width) - 189px);height:calc(var(--app-viewport-height) - 55px);grid-template-columns:400px minmax(0,1fr);gap:114px;margin-left:55px}._infoColumn_n2eeo_32{width:400px;height:calc(var(--app-viewport-height) - 55px);gap:36px;min-height:0;padding:57px 0 55px}._caseStudyCopy_n2eeo_51{gap:36px}._overview_n2eeo_57{gap:18px}._overview_n2eeo_57 h1,._overview_n2eeo_57 h2,._metadata_n2eeo_86 dt,._desktopBack_n2eeo_87,._mobileBack_n2eeo_88{font-family:var(--font-body);letter-spacing:var(--font-body-letter-spacing);font-size:15px;line-height:21px}._metadata_n2eeo_86{gap:12px}._metadata_n2eeo_86>div{justify-content:space-between;display:flex}._metadata_n2eeo_86 dd{letter-spacing:var(--font-body-letter-spacing);text-align:right;font-size:15px;line-height:21px}._mediaRail_n2eeo_114{height:calc(var(--app-viewport-height) - 55px);min-height:0}._desktopBack_n2eeo_87{top:55px;left:55px;right:auto}._bubbleControl_n2eeo_142{top:60.75px;left:auto;right:50px}._projectFooter_n2eeo_242{--site-footer-font-size:15px;--site-footer-letter-spacing:var(--font-body-letter-spacing);--site-footer-line-height:21px}._projectFooter_n2eeo_242 button[aria-label^=Switch\ to]{right:50px}}

/* Native scrolling: original site moved the rail with JS, which this dump does not include. */
@media (min-width: 1051px) {
  section._rail_1l93a_1._mediaRail_n2eeo_114 {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: none;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
  }
  section._rail_1l93a_1._mediaRail_n2eeo_114::-webkit-scrollbar {
    display: none;
  }
  ._mediaRail_n2eeo_114 [data-overflow-rail-track] {
    transform: none !important;
  }
}

/* Same staggered reveal as the homepage. */
._bubbleControl_n2eeo_142 {
  animation: 0.5s both _homepage-text-appear_1a9j7_1;
}
._mediaRail_n2eeo_114 [data-overflow-rail-track],
._mediaRail_n2eeo_114 [data-webgl-edge-warp] {
  animation: 0.5s 0.1s both _homepage-rail-appear_1a9j7_1;
}

@media (prefers-reduced-motion: reduce) {
  [data-text-appear],
  ._bubbleControl_n2eeo_142,
  ._mediaRail_n2eeo_114 [data-overflow-rail-track],
  ._mediaRail_n2eeo_114 [data-webgl-edge-warp] {
    animation: none !important;
  }
}

a._desktopBack_n2eeo_87,
a._mobileBack_n2eeo_88 {
  z-index: 100;
  pointer-events: auto;
  cursor: pointer;
}

html[data-prerender-route="other"] #root,
#root {
  visibility: visible;
}

@media (max-width: 1050px) {
  html, body {
    overflow-x: clip;
    overflow-y: auto;
    height: auto;
  }
  #root, ._page_n2eeo_1 {
    overflow: visible !important;
    height: auto;
    min-height: var(--app-viewport-height);
  }
}

.case-masthead {
  gap: 6px;
  text-transform: none;
}
.case-masthead:has(.case-project-logo) {
  gap: 8px;
}
.case-project-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
  display: block;
  flex: 0 0 auto;
}

.case-masthead h1 {
  color: var(--color-ink);
  letter-spacing: var(--font-body-letter-spacing);
  text-transform: none;
  font-family: var(--font-body);
  font-size: inherit;
  font-weight: var(--font-body-weight);
  line-height: inherit;
}

.case-role,
.case-year {
  color: var(--color-ink);
}

.case-tagline {
  color: var(--color-ink);
}

.case-lead {
  color: var(--color-ink);
}

.case-availability {
  background-image: linear-gradient(90deg, #1d4ed8 0%, #db2777 52%, #dc2626 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: fit-content;
}

.case-study-link {
  background-image: linear-gradient(90deg, #1d4ed8 0%, #db2777 52%, #dc2626 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: fit-content;
}

:root[data-theme="dark"] .case-study-link {
  background-image: linear-gradient(90deg, #60a5fa 0%, #f472b6 52%, #f87171 100%);
}

.case-study-link span {
  display: inline-block;
  transition: transform .18s var(--ease-out-quint);
}

@media (hover: hover) and (pointer: fine) {
  .case-study-link:hover span {
    transform: translateX(4px);
  }
}

:root[data-theme="dark"] .case-availability {
  background-image: linear-gradient(90deg, #60a5fa 0%, #f472b6 52%, #f87171 100%);
}

.case-focus-list {
  gap: 16px;
  flex-direction: column;
  display: flex;
}

.case-focus-item {
  gap: 4px;
  flex-direction: column;
  display: flex;
}

.case-focus-item h3 {
  color: var(--color-ink);
  letter-spacing: var(--font-body-letter-spacing);
  font-family: var(--font-body);
  font-size: inherit;
  font-weight: var(--font-body-weight);
  line-height: inherit;
  margin: 0;
}

.case-focus-item p {
  color: var(--color-ink);
}

.case-outcome-stat p {
  color: var(--color-muted);
}

.case-outcome {
  gap: 10px;
}

.case-outcome-grid {
  grid-template-columns: 1fr 1fr;
  gap: 22px 16px;
  display: grid;
}

.case-outcome-stat {
  min-width: 0;
}

.case-outcome-stat strong {
  color: var(--color-ink);
  letter-spacing: var(--font-body-letter-spacing);
  font-family: var(--font-body);
  font-size: inherit;
  font-weight: var(--font-body-weight);
  line-height: inherit;
  display: block;
}

.case-outcome-stat p {
  margin-top: 6px;
  font-size: inherit;
  line-height: inherit;
}

@media (min-width: 1051px) {
  .case-masthead,
  .case-intro,
  .case-focus,
  .case-outcome {
    gap: 10px;
  }

  .case-masthead {
    gap: 6px;
  }
}

.case-intro,
.case-outcome {
  gap: 6px;
}

.case-study-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  padding-top: 22px;
  border-top: 1px solid var(--color-hairline);
}

.case-study-links p {
  margin: 0 0 4px;
  color: color-mix(in srgb, var(--color-ink) 62%, var(--color-canvas));
}

.case-study-links a {
  color: var(--color-ink);
}

@media (hover: hover) and (pointer: fine) {
  .case-study-links a:hover { color: var(--color-ink); }
}

.case-access-dialog {
  width: min(420px, calc(100vw - 40px));
  color: var(--color-ink);
  background: color-mix(in srgb, var(--color-canvas) 86%, transparent);
  border: 1px solid var(--color-hairline);
  padding: 0;
  box-shadow: 0 24px 80px #00000040;
  backdrop-filter: blur(18px);
}

.case-access-dialog::backdrop { background: #0000004d; backdrop-filter: blur(12px); }
.case-access-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 32px; }
.case-access-card h2, .case-access-card p { margin: 0; }
.case-access-card h2 { font-size: 18px; line-height: 24px; font-weight: 400; }
.case-access-card input { width: 100%; color: var(--color-ink); background: transparent; border: 0; border-bottom: 1px solid var(--color-hairline); border-radius: 0; padding: 7px 0; font: inherit; outline: 0; }
.case-access-card input:focus { border-color: var(--color-ink); }
.case-access-submit { width: fit-content; color: var(--color-ink); background: transparent; border: 0; padding: 0; font: inherit; cursor: pointer; }
.case-access-request { width: fit-content; color: var(--color-ink); font-size: 13px; }
.case-access-error { min-height: 18px; color: #c34d4d; font-size: 13px; }
.case-access-lock { width: 20px; height: 20px; color: var(--color-muted); display: block; }
.case-access-lock svg { display: block; width: 100%; height: 100%; }
.case-access-sr-only { clip: rect(0, 0, 0, 0); white-space: nowrap; position: absolute; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 480px) {
  .case-outcome-grid {
    gap: 18px 12px;
  }
}

/* Scroll-linked case-study reader. */
.case-reader-controls[hidden] { display: none; }

@media (min-width: 1051px) {
  ._infoColumn_n2eeo_32.case-reader-enabled { overflow-x: hidden; }
  .case-reader-enabled ._caseStudyCopy_n2eeo_51 {
    flex: 1 1 auto;
    min-height: 0;
    gap: 24px;
    position: relative;
  }
  .case-reader-fixed-copy {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 0 0 auto;
    transition: gap .34s var(--ease-out-quint);
  }
  .case-reader-fixed {
    flex: 0 0 auto;
    max-height: 220px;
    opacity: 1;
    overflow: hidden;
    transition: max-height .38s var(--ease-out-quint), opacity .2s ease, transform .38s var(--ease-out-quint);
  }
  .case-reader-scrolled .case-reader-fixed-copy { gap: 6px; }
  .case-reader-scrolled .case-reader-fixed:not(.case-masthead):not(.case-intro) {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-5px);
  }
  .case-reader-scrolled .case-masthead {
    flex-direction: row;
    align-items: baseline;
    gap: 10px;
    white-space: nowrap;
    animation: case-masthead-compact-in .46s var(--ease-out-quint) both;
  }
  .case-reader-scrolled .case-masthead:has(.case-project-logo) {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }
  .case-reader-enabled:not(.case-reader-scrolled) .case-masthead {
    animation: case-masthead-full-in .46s var(--ease-out-quint) both;
  }
  .case-reader-scrolled .case-masthead h1,
  .case-reader-scrolled .case-masthead .case-role {
    font-size: 13px;
    line-height: 18px;
  }
  .case-reader-scrolled .case-masthead .case-role { color: var(--color-muted); }
  .case-reader-scrolled .case-project-logo { width: 18px; height: 18px; }
  .case-masthead .case-year { transition: opacity .22s ease, max-width .38s var(--ease-out-quint); max-width: 48px; overflow: hidden; }
  .case-reader-scrolled .case-masthead .case-year { opacity: 0; max-width: 0; }
  .case-reader-scrolled .case-intro {
    max-height: 18px;
    gap: 0;
    opacity: 1;
  }
  .case-reader-scrolled .case-intro h2,
  .case-reader-scrolled .case-intro .case-lead { display: none; }
  .case-reader-scrolled .case-intro .case-tagline {
    color: var(--color-muted);
    max-width: 100%;
    font-size: 13px;
    line-height: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .case-reader-panel[hidden] { display: none !important; }
  .case-reader-panel.is-active { display:flex !important; flex-direction:column; margin-top:clamp(34px, 8vh, 96px); padding-bottom:24px; animation:case-reader-panel-in .52s var(--ease-out-quint) both; }
  .case-reader-panel.case-intro { max-height:none; gap:10px; opacity:1; }
  .case-reader-panel.case-intro h2, .case-reader-panel.case-intro .case-lead { display:block; }
  .case-reader-panel.case-intro .case-tagline { color:var(--color-ink); font-size:inherit; line-height:inherit; white-space:normal; overflow:visible; text-overflow:clip; }

  .case-reader-controls {
    flex: 0 0 auto;
    width: 58px;
    min-height: 66px;
    position: relative;
    z-index: 8;
  }
  .case-reader-progress {
    width: 58px;
    max-height: 66px;
    padding: 3px 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    scroll-behavior: smooth;
  }
  .case-reader-progress::-webkit-scrollbar { display: none; }
  .case-reader-step {
    appearance: none;
    width: 58px;
    height: 7px;
    flex: 0 0 7px;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 3px 0;
    position: relative;
  }
  .case-reader-tick {
    width: 22px;
    height: 1px;
    background: var(--color-muted);
    opacity: .38;
    display: block;
    transform-origin: left center;
    transition: width .28s var(--ease-out-quint), opacity .28s var(--ease-out-quint), background-color .28s var(--ease-out-quint);
  }
  .case-reader-step.is-read .case-reader-tick { width: 32px; opacity: .6; }
  .case-reader-step.is-active .case-reader-tick {
    width: 44px;
    height: 2px;
    background: var(--color-ink);
    opacity: 1;
  }
  .case-reader-preview {
    width: 290px;
    min-height: 112px;
    left: 58px;
    bottom: -20px;
    border: 1px solid var(--color-hairline);
    border-radius: 16px;
    background: color-mix(in srgb, var(--color-canvas) 94%, var(--color-ink));
    color: var(--color-ink);
    box-shadow: 0 18px 42px rgb(0 0 0 / .14);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: absolute;
    z-index: 20;
    opacity: 0;
    pointer-events: none;
    transform: translateY(7px) scale(.985);
    transform-origin: left bottom;
    transition: opacity .16s ease, transform .22s var(--ease-out-quint);
  }
  .case-reader-preview strong {
    font: inherit;
    color: var(--color-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .case-reader-preview > span {
    color: var(--color-muted);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
  .case-reader-controls.is-previewing .case-reader-preview {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  .case-reader-step:focus-visible { outline: none; }
  .case-reader-step:focus-visible .case-reader-tick { box-shadow: 0 0 0 2px var(--color-focus); }
}
@keyframes case-reader-panel-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes case-masthead-compact-in {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes case-masthead-full-in {
  from { opacity: 0; transform: translateY(-7px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .case-reader-panel.is-active, .case-reader-scrolled .case-masthead, .case-reader-enabled:not(.case-reader-scrolled) .case-masthead { animation: none; }
  .case-reader-tick, .case-reader-preview, .case-reader-fixed-copy, .case-reader-fixed { transition: none; }
  .case-reader-progress { scroll-behavior: auto; }
}

@media (max-width: 1050px) {
  .case-reader-fixed-copy { display: contents; }
}

/* Closing handoff: the final frame of every case study opens the next one. */
.case-next-project {
  color: var(--color-ink);
  border-top: 1px solid var(--color-hairline);
  background: transparent;
  min-height: 72px;
  padding: 14px 0 44px;
  margin-top: var(--media-gap, 18px);
  position: relative;
  display: grid;
  grid-template-columns: 0 minmax(0, 1fr);
  grid-template-areas: "icon kicker" "icon title";
  align-items: center;
  column-gap: 14px;
  transition: color .2s var(--ease-out-quint), grid-template-columns .24s var(--ease-out-quint);
}
.case-next-project-kicker { color: var(--color-muted); line-height: 1.15; }
.case-next-project-kicker { grid-area: kicker; font-size: 12px; transition: transform .24s var(--ease-out-quint); }
.case-next-project-title {
  grid-area: title;
  letter-spacing: -.035em;
  font-size: 19px;
  line-height: 1;
  transition: transform .24s var(--ease-out-quint);
}
.case-next-project-icon {
  grid-area: icon;
  color: var(--color-muted);
  width: 22px;
  overflow: hidden;
  line-height: 1;
  opacity: 0;
  transform: translateX(-8px);
  transition: color .24s var(--ease-out-quint), opacity .2s var(--ease-out-quint), transform .24s var(--ease-out-quint);
}
.case-next-project-icon svg { display: block; width: 22px; height: 22px; }
.case-next-project:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
  .case-next-project:hover {
    color: var(--color-ink);
    grid-template-columns: 28px minmax(0, 1fr);
  }
  .case-next-project:hover .case-next-project-icon {
    color: var(--color-ink);
    opacity: 1;
    transform: translateX(0);
  }
  .case-next-project:hover .case-next-project-kicker,
  .case-next-project:hover .case-next-project-title {
    transform: translateX(2px);
  }
}
@media (max-width: 1050px) {
  .case-next-project { min-height: 68px; padding: 13px 0 36px; margin-top: 12px; }
  .case-next-project-title { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .case-next-project, .case-next-project-icon, .case-next-project-kicker, .case-next-project-title { transition: none; }
}

/* Editorial labels turn the image rail into a readable case-study sequence. */
.case-visual-frame {
  position: relative;
}
.case-visual-frame:first-child {
  border-top: 1px solid var(--color-hairline);
  padding-top: 10px;
}
.case-visual-frame figcaption {
  color: var(--color-muted);
  letter-spacing: .02em;
  font-size: 12px;
  line-height: 1.2;
}
@media (hover: hover) and (pointer: fine) {
  .case-visual-frame img {
    transition: transform .5s var(--ease-out-quint), filter .5s var(--ease-out-quint);
  }
  .case-visual-frame:hover img {
    filter: saturate(1.04) contrast(1.02);
    transform: scale(1.012);
  }
}
