html{scroll-padding-top:0}
.case-page{min-width:0;background:var(--paper);color:var(--ink)}
.case-page :where(h1,h2,h3,p,dl,dd,ol){margin-top:0}
.case-page :where(.case-kicker,.case-index,.case-route__title,.case-flow__label,.case-status,.case-toc){font-family:var(--mono)}
.case-page .header-inner{min-height:88px}
.case-page .wordmark--brand{padding:.75rem 0}
.case-page .desktop-nav a{min-height:88px}
.case-page :is(.case-section,.case-system,.case-next){scroll-margin-top:calc(88px + 48px + 1rem)}

.case-hero{padding:clamp(3.5rem,7vw,7rem) 0 0}
.case-hero__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start}
.case-page main .case-kicker{grid-column:4/-1;display:flex;align-items:center;gap:.7rem;margin:0 0 1.1rem;color:var(--muted);font:500 .76rem/1.4 var(--mono)}
.case-kicker::before{width:2.8rem;height:3px;background:var(--orange);content:""}
.case-hero__story{grid-column:4/-1;min-width:0}
.case-hero h1{max-width:17ch;margin:0;font:650 clamp(3.25rem,5.6vw,5.8rem)/.96 var(--display);letter-spacing:-.058em;text-wrap:balance}
.case-page main .case-hero .case-lead{max-width:55ch;margin:2rem 0 0;color:var(--ink);font:400 clamp(1.15rem,1.06rem + .25vw,1.32rem)/1.55 var(--body);text-wrap:pretty}
.case-role-line{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1rem;max-width:58ch;margin:1.5rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font:500 1rem/1.45 var(--body);text-wrap:pretty}
.case-role-line>.case-role-label{position:relative;display:inline-block;width:max-content;align-self:start;padding:.18rem 0 .7rem;color:var(--muted);font:500 .7rem/1.3 var(--mono);letter-spacing:.025em;text-transform:uppercase}
.case-role-line>.case-role-label::after{position:absolute;bottom:0;left:0;width:3.5rem;height:3px;background:var(--orange);content:""}
.case-role-copy{color:var(--ink);font:500 1.02rem/1.5 var(--body)}
.case-role-copy p{margin:0}
.case-role-copy p+p{margin-top:.85rem}
.case-role-copy strong{display:block;margin-bottom:.25rem;font:650 1.15rem/1.32 var(--display);letter-spacing:-.02em}
.case-hero__actions{display:flex;align-items:center;gap:1.25rem;margin-top:2rem;margin-left:6.5rem}
.case-live-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;min-height:52px;padding:0 1rem;border:1px solid var(--ink);background:var(--lime);font:500 .76rem/1 var(--mono);text-decoration:none;transition:background .16s,color .16s,transform .16s}
.case-live-link:hover{background:var(--ink);color:var(--white);transform:translateY(-2px)}
.case-facts{margin-top:clamp(3.5rem,6vw,5.5rem)}
.case-facts dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.case-facts dl>div{padding:1.2rem 1.4rem 1.35rem 0}
.case-facts dl>div+div{padding-left:1.4rem;border-left:1px solid var(--line)}
.case-facts dt{color:var(--muted);font:500 .68rem/1.35 var(--mono);letter-spacing:.025em;text-transform:uppercase}
.case-facts dd{margin:.5rem 0 0;font:600 1.04rem/1.28 var(--display);letter-spacing:-.018em}

.case-toc{position:sticky;z-index:8;top:88px;overflow:visible;margin-top:3rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--ink);color:var(--white)}
.case-toc .shell{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;align-items:stretch}
.case-toc__links{margin:0;padding:0;list-style:none}
.case-toc__links--primary{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
.case-toc__links li{display:flex;min-width:0}
.case-toc a{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;width:100%;min-height:48px;padding:.45rem .8rem;border-left:0;color:var(--white);font:600 .78rem/1.2 var(--display);letter-spacing:-.01em;text-decoration:none;transition:background .16s ease,color .16s ease}
.case-toc__links--primary a{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.55rem;min-height:48px;padding:.45rem .8rem}
.case-toc__links--primary li:first-child a{border-left:0}
.case-toc__number{color:rgba(255,255,255,.62);font:500 .62rem/1 var(--mono);letter-spacing:.025em}
.case-toc a:hover{background:rgba(255,255,255,.08)}
.case-toc a.is-current{color:var(--orange)}
.case-toc a.is-current::after{position:absolute;bottom:0;left:.8rem;width:3.5rem;height:3px;background:var(--orange);content:""}
.case-toc a.is-current .case-toc__number{color:var(--orange)}
.case-toc a:active{background:rgba(255,255,255,.12)}
.case-toc a:focus-visible{position:relative;z-index:1;outline:3px solid var(--orange);outline-offset:-3px}

.case-section{padding:clamp(5rem,8vw,8rem) 0;border-bottom:1px solid var(--line)}
.case-section--soft{background:color-mix(in srgb,var(--white) 26%,var(--paper))}
.case-section__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start}
.case-section__heading{grid-column:1/6}
.case-section__grid--steps .case-section__heading{grid-column:1/5}
.case-section__heading h2{max-width:13ch;margin:1rem 0 0;font:630 clamp(2.5rem,3.8vw,4rem)/1.02 var(--display);letter-spacing:-.047em;text-wrap:balance}
.case-page main p.case-index{margin:0;color:var(--muted);font:400 .71rem/1.4 var(--mono);letter-spacing:.025em;text-transform:uppercase}
.case-section__heading .case-index,.case-system__heading .case-index,.case-next header .case-index{position:relative;display:inline-block;width:max-content;max-width:100%;padding-bottom:.7rem}
.case-section__heading .case-index::after,.case-system__heading .case-index::after,.case-next header .case-index::after{position:absolute;bottom:0;left:0;width:3.5rem;height:3px;background:var(--orange);content:""}
.case-prose{grid-column:7/-1;min-width:0}
.case-page main .case-prose>p{max-width:57ch;margin:0;color:var(--ink);font:400 1.08rem/1.62 var(--body);text-wrap:pretty}
.case-page main .case-prose>p+p{margin-top:1.25rem}
.case-prose .case-conclusion,.case-detail-list .case-conclusion{max-width:50ch;margin-top:2rem;padding:0;font:600 clamp(1.18rem,1.08rem + .28vw,1.4rem)/1.32 var(--display);letter-spacing:-.022em}

.case-detail-list{grid-column:7/-1;min-width:0;border-top:1px solid var(--ink)}
.case-section__grid--steps .case-detail-list{grid-column:5/-1}
.case-detail-list article{display:grid;grid-template-columns:minmax(8.5rem,2fr) minmax(0,3fr);gap:24px;padding:1.35rem 0;border-bottom:1px solid var(--line)}
.case-detail-list article>div{min-width:0}
.case-detail-list h3{margin:0;font:600 1.12rem/1.24 var(--display);letter-spacing:-.02em}
.case-page main .case-detail-list article p{max-width:43ch;margin:0;color:var(--ink);font:400 1rem/1.52 var(--body);text-wrap:pretty}
.case-page main .case-detail-list article p+p{margin-top:.8rem}
.case-page main .case-detail-list>.case-conclusion{margin:1.65rem 0 0;color:var(--ink)}

.case-route{margin-top:clamp(3.5rem,6vw,5rem);padding:clamp(1.5rem,3vw,2.5rem);background:var(--orange)}
.case-route__header{display:grid;grid-template-columns:3fr 9fr;gap:24px;align-items:start;margin-bottom:2rem}
.case-page main .case-route .case-route__title{display:inline-flex;width:max-content;max-width:100%;margin:0;padding:.42rem .58rem;background:var(--ink);color:var(--white);font:600 .69rem/1.25 var(--mono);text-transform:uppercase;letter-spacing:.035em}
.case-route__header h3{max-width:18ch;margin:0;font:630 clamp(1.8rem,2.9vw,3rem)/1.02 var(--display);letter-spacing:-.04em;text-wrap:balance}
.case-route ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);list-style:none}
.case-route li{position:relative;display:flex;flex-direction:column;min-height:126px;padding:1rem .9rem}
.case-route li+li{border-left:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.case-route li:not(:last-child)::after{position:absolute;z-index:1;top:50%;right:-.42rem;width:.7rem;height:.7rem;border-top:1px solid var(--ink);border-right:1px solid var(--ink);background:var(--orange);content:"";transform:translateY(-50%) rotate(45deg)}
.case-route span{color:var(--ink);font:500 .65rem/1 var(--mono)}
.case-route strong{margin-top:auto;font:600 1.02rem/1.15 var(--display);letter-spacing:-.018em}
.case-route small{margin-top:.35rem;color:var(--ink);font:500 .68rem/1.25 var(--mono)}

.case-system{padding:clamp(5rem,8vw,8rem) 0;background:var(--ink);color:var(--white)}
.case-system__intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start}
.case-system__heading{grid-column:1/6}
.case-page main .case-system__heading .case-index{color:rgba(255,255,255,.63)}
.case-system__heading h2{max-width:13ch;margin:1rem 0 0;font:630 clamp(2.7rem,4.25vw,4.5rem)/1 var(--display);letter-spacing:-.052em;text-wrap:balance}
.case-system__summary{grid-column:7/-1;border-top:1px solid rgba(255,255,255,.6)}
.case-page main .case-system__summary p{max-width:49ch;margin:0;padding:1.25rem 0;color:rgba(255,255,255,.8);font:400 1.05rem/1.56 var(--body);text-wrap:pretty}
.case-page main .case-system__summary p+p{border-top:1px solid rgba(255,255,255,.2)}
.case-flow-wrap{margin-top:clamp(3.5rem,6vw,5rem)}
.case-page .case-system p.case-flow__label{margin:0 0 .85rem;color:rgba(255,255,255,.63);font:400 .69rem/1.4 var(--mono);letter-spacing:.035em;text-transform:uppercase}
.case-flow{margin:0;padding:0;border-top:1px solid rgba(255,255,255,.6);list-style:none}
.case-page .case-flow li{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:24px;padding:1.3rem 0;border-bottom:1px solid rgba(255,255,255,.2);color:var(--white)}
.case-flow li>span{grid-column:1;color:var(--lime);font:500 .72rem/1.4 var(--mono)}
.case-flow li>div{grid-column:2;display:grid;grid-template-columns:minmax(10rem,2fr) minmax(0,3fr);gap:24px;align-items:start}
.case-flow__copy{min-width:0}
.case-flow h3{margin:0;font:600 clamp(1.25rem,1.12rem + .38vw,1.55rem)/1.18 var(--display);letter-spacing:-.022em}
.case-page main .case-flow p{max-width:48ch;margin:0;color:rgba(255,255,255,.77);font:400 1rem/1.5 var(--body)}
.case-page main .case-flow__copy p+p{margin-top:.8rem}
.case-system__link{display:flex;justify-content:flex-start;margin-top:1.8rem}
.case-system__link a{display:inline-flex;gap:.6rem;align-items:center;min-height:44px;color:var(--lime);font:500 .75rem/1 var(--mono);text-underline-offset:.25em}

.case-results{grid-column:7/-1;border-top:1px solid var(--ink)}
.case-results article{display:grid;grid-template-columns:2fr 3fr;gap:24px;padding:1.55rem 0;border-bottom:1px solid var(--line)}
.case-page main .case-results .case-result__value{position:relative;margin:0;padding-left:1rem;color:var(--ink);font:630 clamp(1.5rem,2.15vw,2.25rem)/1.03 var(--display);letter-spacing:-.037em}
.case-results .case-result__value::before{position:absolute;top:.08em;left:0;width:3px;height:2.25rem;background:var(--orange);content:""}
.case-results h3{margin:0;font:600 1.08rem/1.25 var(--display);letter-spacing:-.018em}
.case-page main .case-results article div p{max-width:36ch;margin:.6rem 0 0;color:var(--muted);font:400 .95rem/1.48 var(--body)}
.case-testimonial{grid-column:1/-1;display:grid;grid-template-columns:3fr 9fr;gap:24px;margin-top:clamp(3rem,5vw,4.5rem);padding:clamp(1.5rem,3vw,2.5rem);background:var(--ink);color:var(--white)}
.case-testimonial__meta{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}
.case-page main p.case-testimonial__label{margin:0;color:var(--lime);font:500 .69rem/1.4 var(--mono);letter-spacing:.035em;text-transform:uppercase}
.case-testimonial__status{display:inline-block;padding:.35rem .5rem;border:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.78);font:500 .65rem/1.2 var(--mono);letter-spacing:.025em;text-transform:uppercase}
.case-testimonial h3{max-width:22ch;margin:0;color:var(--white);font:630 clamp(1.9rem,3vw,3.15rem)/1.06 var(--display);letter-spacing:-.037em;text-wrap:balance}
.case-page main p.case-testimonial__guidance{max-width:54ch;margin:1.25rem 0 0;color:rgba(255,255,255,.8);font:400 1.02rem/1.55 var(--body);text-wrap:pretty}
.case-page main p.case-testimonial__attribution{max-width:54ch;margin:1.5rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.7);font:500 .7rem/1.4 var(--mono)}
.case-section--learning{background:var(--lime)}
.case-section--learning .case-index{color:var(--ink)}

.case-next{padding:clamp(5rem,8vw,7.5rem) 0;border-bottom:1px solid var(--ink);background:var(--orange)}
.case-next__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start}
.case-next header{grid-column:1/6}
.case-page main .case-next p.case-index{color:var(--ink)}
.case-next header .case-index::after{background:var(--ink)}
.case-next h2{max-width:13ch;margin:1rem 0 0;font:630 clamp(2.45rem,3.75vw,3.9rem)/1.02 var(--display);letter-spacing:-.047em;text-wrap:balance}
.case-page .case-next .case-note{max-width:51ch;margin-top:1.8rem;padding:1rem;border:1px solid var(--ink);font-size:.94rem;line-height:1.45}
.case-role{background:var(--paper)}
.case-inline-link{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;margin-top:1.5rem;font:500 .75rem/1 var(--mono);text-decoration:none}
.case-inline-link__label{background:linear-gradient(to bottom,transparent 66%,var(--lime) 66%,var(--lime) 91%,transparent 91%);box-decoration-break:clone;-webkit-box-decoration-break:clone}

.case-contact{padding:clamp(5rem,8vw,8rem) 0;background:var(--paper)}
.case-contact__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start}
.case-contact__grid>.case-index{grid-column:1/4}
.case-contact__grid>div{grid-column:4/-1}
.case-contact h2{max-width:17ch;margin:0;font:630 clamp(2.75rem,4.5vw,4.8rem)/1 var(--display);letter-spacing:-.052em;text-wrap:balance}
.case-page main .case-contact p{max-width:49ch;margin:1.5rem 0 0;color:var(--ink);font:400 1.08rem/1.55 var(--body)}
.case-contact__link{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;min-width:270px;min-height:54px;margin-top:2rem;padding:0 1rem;border:1px solid var(--ink);background:var(--lime);font:500 .76rem/1 var(--mono);text-decoration:none;transition:background .16s,color .16s,transform .16s}
.case-contact__link:hover{background:var(--ink);color:var(--white);transform:translateY(-2px)}

.case-more{padding:clamp(2.5rem,4vw,3.75rem) 0;border-bottom:1px solid var(--ink);background:var(--paper)}
.case-more__inner{display:grid;grid-template-columns:3fr 9fr;gap:24px;align-items:start}
.case-page main .case-more__label{margin:0;color:var(--muted);font:500 .68rem/1.35 var(--mono);letter-spacing:.025em;text-transform:uppercase}
.case-more__link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;color:var(--ink);text-decoration:none}
.case-more__link strong{max-width:24ch;font:620 clamp(1.65rem,2.4vw,2.5rem)/1.06 var(--display);letter-spacing:-.035em;text-wrap:balance}
.case-more__link span{font:500 .75rem/1.2 var(--mono)}
.case-more__link:hover strong{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:.14em}
.case-more__link:focus-visible{outline:3px solid var(--orange);outline-offset:8px}

@media(max-width:960px){
  .case-page .desktop-nav{display:none!important}
  .case-page .mobile-menu{position:relative;display:block;font:500 .72rem var(--mono)}
  .case-page .mobile-menu summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 .8rem;border:1px solid var(--ink);cursor:pointer;list-style:none}
  .case-page .mobile-menu summary::-webkit-details-marker{display:none}
  .case-page .mobile-menu[open] summary{background:var(--ink);color:var(--white)}
  .case-page .mobile-menu nav{position:absolute;z-index:2;top:calc(100% + 1px);right:0;display:flex!important;flex-direction:column;width:220px;max-width:calc(100vw - 48px);border:1px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 var(--orange)}
  .case-page .mobile-menu nav a{display:flex!important;align-items:center;min-height:48px;padding:0 .9rem;border:0!important;border-bottom:1px solid var(--line);white-space:normal!important}
  .case-page .mobile-menu nav a:last-child{border-bottom:0!important}
  .case-page .mobile-menu nav a:hover{background:var(--ink);color:var(--white)}
  .case-hero__grid,.case-section__grid,.case-system__intro,.case-next__grid,.case-contact__grid{display:block}
  .case-more__inner{grid-template-columns:1fr 3fr}
  .case-page main .case-kicker{margin-bottom:1.15rem}
  .case-hero h1{max-width:16ch}
  .case-toc .shell{display:block;padding:0}
  .case-toc__links--primary{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:1rem;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .case-toc__links--primary::-webkit-scrollbar{display:none}
  .case-toc__links--primary li{flex:0 0 auto;scroll-snap-align:center}
  .case-toc__links--primary a{min-height:48px;padding:.45rem 1rem;border-right:1px solid rgba(255,255,255,.16);white-space:nowrap}
  .case-toc__links--primary li:last-child a{border-right:0}
  .case-toc__links--primary a.is-current::after{left:1rem}
  .case-section__heading h2,.case-next h2{max-width:15ch}
  .case-prose,.case-detail-list,.case-results{margin-top:2.75rem}
  .case-route__header{grid-template-columns:1fr 2fr}
  .case-route ol{grid-template-columns:repeat(3,1fr)}
  .case-route li:nth-child(4){border-left:0}
  .case-route li:nth-child(n+4){border-top:1px solid var(--line)}
  .case-route li:nth-child(3)::after{display:none}
  .case-system__heading h2{max-width:15ch}
  .case-system__summary{margin-top:2.75rem}
  .case-page .case-flow li{grid-template-columns:3rem 1fr}
  .case-flow li>div{grid-column:2;grid-template-columns:4fr 7fr}
  .case-next .case-prose{margin-top:2.75rem}
  .case-contact__grid>div{margin-top:1rem}
}

@media(max-width:620px){
  .case-page .header-inner{min-height:60px}
  .case-page .wordmark--brand{padding:.35rem 0}
  .case-page .wordmark--brand .wordmark-tagline{display:none}
  .case-page :is(.case-section,.case-system,.case-next){scroll-margin-top:calc(60px + 48px + 1rem)}
  .case-hero{padding-top:3rem}
  .case-hero h1{max-width:14ch;font-size:clamp(2.65rem,11vw,3.5rem)}
  .case-page main .case-hero .case-lead{margin-top:1.5rem;font-size:1.07rem}
  .case-role-line{display:block}
  .case-role-line>.case-role-label{display:block;margin-bottom:.75rem}
  .case-role-copy__detail{display:none}
  .case-hero__actions{display:block;margin-left:0}
  .case-live-link{width:100%}
  .case-facts dl{grid-template-columns:1fr}
  .case-facts dl>div{padding:1.15rem 0 1.3rem}
  .case-facts dl>div+div{padding-left:0;border-top:1px solid var(--line);border-left:0}
  .case-toc{top:60px;margin-top:1rem}
  .case-section{padding:4.75rem 0}
  .case-section__heading h2,.case-system__heading h2,.case-next h2{max-width:none;font-size:clamp(2.25rem,9.5vw,3.1rem)}
  .case-prose{margin-top:2rem}
  .case-page main .case-prose>p{font-size:1.04rem;line-height:1.58}
  .case-detail-list{margin-top:2rem}
  .case-detail-list article{display:block;padding:1.25rem 0}
  .case-page main .case-detail-list article p{margin-top:.55rem}
  .case-route{padding:1.35rem}
  .case-route__header{display:block;margin-bottom:1.5rem}
  .case-route__header h3{margin-top:.65rem}
  .case-route ol{grid-template-columns:1fr 1fr}
  .case-route li{min-height:112px}
  .case-route li:nth-child(3){border-left:0}
  .case-route li:nth-child(4){border-left:1px solid var(--line)}
  .case-route li:nth-child(5){border-left:0}
  .case-route li:nth-child(n+3){border-top:1px solid var(--line)}
  .case-route li:nth-child(3)::after{display:block}
  .case-route li:nth-child(2n)::after{display:none}
  .case-system{padding:4.75rem 0}
  .case-page .case-flow li{grid-template-columns:2rem 1fr;gap:10px;padding:1.35rem 0}
  .case-flow li>div{display:block}
  .case-page main .case-flow p{margin-top:.55rem}
  .case-system__link{justify-content:flex-start}
  .case-results{margin-top:2.25rem}
  .case-results article{display:block}
  .case-results article div{margin-top:0}
  .case-results .case-result__value::before{top:.08em;bottom:auto;height:2.25rem}
  .case-results h3{position:relative;padding:.55rem 0 0 1rem}
  .case-results h3::before{display:none}
  .case-page main .case-results article div p{padding-left:1rem}
  .case-testimonial{display:block;margin-top:3rem;padding:1.4rem}
  .case-testimonial__meta{margin-bottom:1.5rem}
  .case-testimonial h3{max-width:none;font-size:clamp(1.75rem,8.5vw,2.35rem)}
  .case-next{padding:4.75rem 0}
  .case-more{padding:2.5rem 0}
  .case-more__inner{display:block}
  .case-more__link{margin-top:1rem}
  .case-more__link strong{max-width:18ch;font-size:1.8rem}
  .case-contact{padding:4.75rem 0}
  .case-contact h2{max-width:none;font-size:clamp(2.35rem,9.8vw,3.25rem)}
  .case-contact__link{width:100%;min-width:0}
}

@media(max-width:360px){
  .case-page h1,.case-page h2,.case-page h3{overflow-wrap:anywhere}
}

@media(prefers-reduced-motion:reduce){
  .case-live-link,.case-contact__link,.case-toc__toggle,.case-more__link{transition:none}
}
