/* Native scrolling between independent, bookmarkable case-study pages. */
.case-study-page .case-next{position:relative;isolation:isolate;min-height:78svh;display:grid;align-content:center;gap:2rem;padding:clamp(3rem,7vw,7rem) max(24px,calc((100vw - 1320px)/2));background:var(--next-bg,#122e2a);color:var(--next-ink,#f4f1e9);border-top:1px solid #ffffff30;font-family:'IBM Plex Mono',monospace;overflow:hidden}
.case-study-page .case-next__eyebrow{font:400 .7rem/1.6 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.12em;margin:0;color:inherit}
.case-next__link{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:5%;align-items:center;color:inherit;text-decoration:none}
.case-study-page .case-next__title{font:400 clamp(2.6rem,6vw,6.2rem)/1.04 Georgia,serif;letter-spacing:-.055em;margin:0;color:inherit}
.case-next__link img{width:100%;height:auto;max-height:290px;object-fit:contain;border-radius:12px}
.case-next__meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid currentColor;padding-top:1.4rem}
.case-next__meta p{margin:0;font:.75rem/1.7 'IBM Plex Mono',monospace;max-width:50ch}
.case-next__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.case-next__actions a,.case-next__actions button{color:inherit;font:.72rem/1.5 'IBM Plex Mono',monospace;background:transparent;cursor:pointer;border:1px solid currentColor;border-radius:24px;padding:12px 18px;min-height:44px;text-decoration:none}
.case-next :is(a,button):focus-visible{outline:3px solid currentColor;outline-offset:6px}
.case-next__track{height:2px;background:#ffffff30;overflow:hidden}
.case-next__track i{display:block;height:100%;background:currentColor;transform-origin:left;transform:scaleX(var(--reader-progress,0))}
.case-reader-transition{position:fixed;inset:0;z-index:12000;display:grid;place-content:center;justify-items:center;text-align:center;gap:24px;padding:32px;background:var(--next-bg,#122e2a);color:var(--next-ink,#fff);animation:reader-cover .4s ease both}
.case-reader-transition p{font:.7rem/1.6 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;margin:0}
.case-reader-transition strong{font:400 clamp(2.5rem,7vw,6rem)/1.06 Georgia,serif;max-width:16ch;letter-spacing:-.05em}
.case-reader-transition img{width:min(340px,65vw);max-height:32svh;object-fit:contain;border-radius:10px}
.case-reader-transition button{background:transparent;color:inherit;border:1px solid currentColor;border-radius:24px;min-height:44px;padding:10px 20px;font:12px 'IBM Plex Mono',monospace;cursor:pointer}
.case-reader-arriving::after{content:'';position:fixed;inset:0;z-index:11999;pointer-events:none;background:var(--reader-arrival-bg,#071b24)}
.case-reader-arriving.case-reader-ready::after{animation:reader-arrive .6s ease both}
@keyframes reader-cover{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}
@keyframes reader-arrive{to{opacity:0}}
@media(max-width:800px){
 .case-study-page .case-next{min-height:82svh;padding:3.5rem 24px;gap:1.5rem}
 .case-next__link{grid-template-columns:1fr;gap:1.5rem}
 .case-next__link img{max-height:200px;object-position:left}
 .case-next__meta{align-items:start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.case-reader-transition{animation:none}.case-reader-arriving::after{display:none}.case-next__track{display:none}}
