.case-study{--reveal-distance: var(--motion-distance-text);--reveal-stagger: var(--motion-stagger-tight);width:100%;max-width:var(--page-max);margin:0 auto;background-color:var(--color-paper);background-image:var(--texture-paper);background-size:var(--texture-size);border-inline:var(--border-thin)}.case-study__hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(24rem,1.05fr);min-width:0;border-block-end:var(--border-thin)}.case-study__hero-copy{display:grid;gap:var(--space-6);align-content:end;min-width:0;padding:clamp(var(--space-6),5vw,var(--space-9));border-inline-end:var(--border-thin)}.case-study h1,.case-study__chapter h2,.case-study-artifact h2{min-width:0;font-family:var(--font-display);font-weight:900;letter-spacing:0;overflow-wrap:break-word;text-transform:uppercase;word-break:normal}.case-study h1{font-size:clamp(3.8rem,6.7vw,6.6rem);line-height:.86;text-wrap:balance}.case-study__summary{max-width:44rem;color:var(--color-graphite);font-size:clamp(1.05rem,1.6vw,1.34rem);line-height:1.6}.case-study__facts{display:grid;border-block-start:var(--border-thin)}.case-study__facts>div{display:grid;grid-template-columns:minmax(7rem,.24fr) minmax(0,.76fr);gap:var(--space-3);min-width:0;padding-block:var(--space-3);border-block-end:var(--border-thin)}.case-study__facts dt,.case-study__chapter-index,.case-study__rail a span,.case-study__mobile-progress span,.case-study-artifact button span,.case-study-artifact article span,.case-study__pager span{color:var(--color-metadata);font-family:var(--font-mono);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.case-study__facts dd{min-width:0;color:var(--color-graphite);line-height:1.5;overflow-wrap:anywhere}.case-study__hero-media{display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;overflow:hidden;min-width:0;color:var(--color-paper);background:var(--color-graphite)}.case-study__hero-media picture{display:grid;min-width:0;width:100%;min-height:32rem;place-items:center;padding:var(--space-4)}.case-study__hero-media img{display:block;width:auto;max-width:100%;height:auto;max-height:min(52rem,70vh);object-fit:contain}.case-study__hero-media figcaption{display:grid;gap:var(--space-2);padding:var(--space-4);color:var(--color-ash);background:var(--color-graphite);font-size:.78rem;line-height:1.45}.case-study__hero-media figcaption span{color:var(--color-signal);font-family:var(--font-mono);font-size:.68rem;font-weight:800;text-transform:uppercase}.case-study__mobile-progress{display:none}.case-study__body{display:grid;grid-template-columns:minmax(14rem,.28fr) minmax(0,.72fr);min-width:0;border-block-end:var(--border-thin)}.case-study__rail{position:sticky;top:calc(var(--site-header-height) + var(--space-2));align-self:start;min-width:0;padding:var(--space-5);border-inline-end:var(--border-thin)}.case-study__rail nav{display:grid;gap:var(--space-1)}.case-study__rail a{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:var(--space-2);min-height:2.75rem;align-items:center;padding:var(--space-2);text-decoration:none;text-transform:uppercase}.case-study__rail a:hover,.case-study__rail a.is-active{background:var(--color-signal)}.case-study__rule{position:relative;height:1px;margin-block-start:var(--space-6);background:var(--color-ink)}.case-study__rule span{position:absolute;inset-block:-3px;inset-inline-start:0;width:var(--case-progress, 14.2%);background:var(--color-signal);border:var(--border-thin);transition:width var(--motion-duration-fast) ease}.case-study__chapters{display:grid;min-width:0}.case-study__chapter{--reveal-duration: var(--motion-duration-reveal);--reveal-distance: var(--motion-distance-text);display:grid;grid-template-columns:4.5rem minmax(0,1fr);min-width:0;border-block-end:var(--border-thin)}.case-study__chapter:last-child{border-block-end:0}.case-study__chapter-index{display:grid;place-items:start center;padding-block-start:clamp(var(--space-6),5vw,var(--space-9));background:var(--color-signal);border-inline-end:var(--border-thin);color:var(--color-ink)}.case-study__chapter-copy{display:grid;gap:var(--space-5);min-width:0;padding:clamp(var(--space-6),5vw,var(--space-9))}.case-study__chapter h2,.case-study-artifact h2{font-size:clamp(2.6rem,5vw,5rem);line-height:.94}.case-study__chapter p{max-width:48rem;color:var(--color-graphite);font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.7}.case-study-artifact{--reveal-distance: var(--motion-distance-block);display:grid;gap:var(--space-6);padding:clamp(var(--space-6),5vw,var(--space-9));color:var(--color-paper);background-color:var(--color-ink);background-image:var(--texture-graphite);background-size:var(--texture-size);border-block-end:var(--border-thin)}.case-study-artifact header{display:grid;gap:var(--space-5);min-width:0;max-width:56rem}.case-study-artifact header>p:last-child{min-width:0;color:var(--color-ash);line-height:1.6;overflow-wrap:anywhere}.case-study-artifact__workspace{display:grid;grid-template-columns:minmax(15rem,.38fr) minmax(0,.62fr);min-width:0;border:var(--border-paper)}.case-study-artifact__nodes{display:grid;border-inline-end:var(--border-paper)}.case-study-artifact button{display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:var(--space-3);align-items:center;min-width:0;min-height:4rem;padding:var(--space-3) var(--space-4);color:var(--color-paper);background:transparent;border:0;border-block-end:var(--border-paper);cursor:pointer;font-family:var(--font-mono);font-size:.76rem;font-weight:800;text-align:start;text-transform:uppercase}.case-study-artifact button:last-child{border-block-end:0}.case-study-artifact button:hover,.case-study-artifact button.is-active{color:var(--color-ink);background:var(--color-signal)}.case-study-artifact__panels{min-width:0}.case-study-artifact article{display:grid;gap:var(--space-5);align-content:center;min-height:22rem;min-width:0;padding:clamp(var(--space-5),4vw,var(--space-8))}.case-study-artifact[data-case-enhanced] article{display:none}.case-study-artifact[data-case-enhanced] article.is-active{display:grid}.case-study-artifact article p{display:grid;gap:var(--space-2);color:var(--color-ash);line-height:1.6}.case-study-artifact article span{color:var(--color-signal)}.case-study__pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.case-study__pager a,.case-study__pager>span{display:grid;gap:var(--space-2);min-height:9rem;align-content:center;padding:var(--space-5);border-inline-end:var(--border-thin);font-family:var(--font-display);font-size:clamp(1.8rem,3vw,3rem);font-weight:900;letter-spacing:0;line-height:.95;text-decoration:none;text-transform:uppercase}.case-study__pager a:last-child,.case-study__pager>span:last-child{border-inline-end:0}.case-study__pager a:hover{background:var(--color-signal)}.case-study__pager span{color:var(--color-metadata)}@media(max-width:980px){.case-study__hero,.case-study__body,.case-study-artifact__workspace{grid-template-columns:1fr}.case-study__hero-copy,.case-study__rail,.case-study-artifact__nodes{border-inline-end:0;border-block-end:var(--border-thin)}.case-study__rail{position:static}.case-study__rail nav{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.case-study__mobile-progress{position:sticky;top:var(--site-header-height);z-index:20;display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4);color:var(--color-paper);background:var(--color-ink);border-block-end:var(--border-thin)}.case-study__mobile-progress span,.case-study__mobile-progress strong{font-family:var(--font-mono);font-size:.68rem;font-weight:800;text-transform:uppercase}.case-study__mobile-progress span{color:var(--color-ash)}.case-study__mobile-progress strong{color:var(--color-paper)}.case-study__rail{display:none}.case-study__hero-copy,.case-study__chapter-copy,.case-study-artifact{padding:var(--space-7) var(--space-4)}.case-study h1{font-size:clamp(3.2rem,14.5vw,4.8rem)}.case-study__facts>div,.case-study__chapter,.case-study__pager{grid-template-columns:1fr}.case-study__chapter-index{place-items:center start;padding:var(--space-3) var(--space-4);border-inline-end:0;border-block-end:var(--border-thin)}.case-study-artifact__nodes{grid-template-columns:1fr}.case-study__pager a,.case-study__pager>span{min-height:6rem;border-inline-end:0;border-block-end:var(--border-thin)}}
