/* Project case studies */
.case-study-hero{padding:clamp(130px,16vh,200px) var(--pad-x) clamp(64px,10vh,140px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(40px,8vw,150px);align-items:end;border-bottom:1px solid var(--line)}
.case-study-kicker{display:block;margin-bottom:24px}
.case-study-title{font-family:var(--f-display);font-size:clamp(58px,10vw,150px);font-weight:300;line-height:.86;letter-spacing:-.055em;font-variation-settings:"opsz" 144}
.case-study-title em{font-style:italic;color:var(--signal)}
.case-study-intro{font-size:clamp(18px,1.45vw,23px);line-height:1.5;max-width:34ch;color:var(--mid);padding-bottom:8px}
.case-study-image{margin:0 var(--pad-x);aspect-ratio:16/9;overflow:hidden;background:var(--chalk)}
.case-study-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(.98)}
.case-study-overview{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,9vw,170px);padding:var(--pad-y) var(--pad-x);border-bottom:1px solid var(--line)}
.case-study-overview__lead{font-family:var(--f-display);font-size:clamp(30px,4vw,58px);font-weight:300;line-height:1.12;letter-spacing:-.035em;font-variation-settings:"opsz" 72;max-width:16ch}
.case-study-overview__lead em{font-style:italic;color:var(--signal)}
.case-study-details{border-top:1px solid var(--line)}
.case-study-detail{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}
.case-study-detail span:first-child{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mid)}
.case-study-detail span:last-child{font-size:15px;line-height:1.45}
.case-study-detail a{width:fit-content;border-bottom:1px solid var(--line-strong);transition:color .3s,border-color .3s}
.case-study-detail a:hover{color:var(--signal);border-color:var(--signal)}
.case-study-chapters{padding:var(--pad-y) var(--pad-x);display:flex;flex-direction:column;gap:clamp(68px,12vh,160px);border-bottom:1px solid var(--line)}
.case-study-chapter{display:grid;grid-template-columns:100px minmax(0,1fr);gap:clamp(24px,5vw,80px);max-width:1080px}
.case-study-chapter__number{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:var(--signal);padding-top:10px}
.case-study-chapter__content{max-width:720px}
.case-study-chapter h2{font-family:var(--f-display);font-size:clamp(34px,4vw,58px);font-weight:300;line-height:1;letter-spacing:-.035em;font-variation-settings:"opsz" 64;margin-bottom:22px}
.case-study-chapter h2 em{font-style:italic;color:var(--signal)}
.case-study-chapter p{font-size:clamp(16px,1.12vw,18px);line-height:1.68;color:var(--mid);max-width:58ch}
.case-study-chapter p+p{margin-top:16px}
.case-study-chapter a{color:var(--ink);border-bottom:1px solid var(--line-strong);transition:color .3s,border-color .3s}
.case-study-chapter a:hover{color:var(--signal);border-color:var(--signal)}
.case-study-outcome{background:var(--deep);color:var(--paper);padding:var(--pad-y) var(--pad-x);display:grid;grid-template-columns:1fr minmax(280px,.8fr);gap:clamp(40px,9vw,160px);align-items:end}
.case-study-outcome__label{font-family:var(--f-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(246,242,234,.5);margin-bottom:24px}
.case-study-outcome h2{font-family:var(--f-display);font-size:clamp(42px,6vw,88px);font-weight:300;line-height:.94;letter-spacing:-.04em;font-variation-settings:"opsz" 100;max-width:12ch}
.case-study-outcome h2 em{font-style:italic;color:var(--signal-bright)}
.case-study-outcome__copy{font-size:clamp(16px,1.15vw,19px);line-height:1.65;color:rgba(246,242,234,.73);max-width:40ch}
.case-study-outcome__copy p+p{margin-top:18px}
.case-study-outcome__copy a{display:inline-flex;margin-top:24px;color:var(--paper);font-family:var(--f-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid rgba(246,242,234,.45);padding-bottom:6px;transition:gap .3s,color .3s,border-color .3s}
.case-study-outcome__copy a:hover{gap:10px;color:var(--signal-bright);border-color:var(--signal-bright)}
.case-study-nav{display:flex;justify-content:space-between;gap:24px;padding:32px var(--pad-x);border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.case-study-nav a{border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.case-study-nav a:hover{color:var(--signal);border-color:var(--signal)}
.case-index-hero{padding:clamp(132px,17vh,210px) var(--pad-x) clamp(64px,10vh,128px);border-bottom:1px solid var(--line)}
.case-index-hero h1{font-family:var(--f-display);font-size:clamp(60px,11vw,164px);font-weight:300;line-height:.86;letter-spacing:-.055em;font-variation-settings:"opsz" 144;max-width:9ch;margin-top:22px}
.case-index-hero h1 em{font-style:italic;color:var(--signal)}
.case-index-hero p{max-width:42ch;font-size:clamp(17px,1.3vw,21px);line-height:1.6;color:var(--mid);margin-top:34px}
.case-index{padding:var(--pad-y) var(--pad-x)}
.case-index__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.case-index-card{display:grid;grid-template-columns:1fr minmax(180px,.82fr);gap:24px;min-height:300px;padding:clamp(28px,4vw,56px) 0;border-bottom:1px solid var(--line);align-items:end;transition:padding .45s var(--ease)}
.case-index-card:nth-child(odd){padding-right:clamp(24px,4vw,64px);border-right:1px solid var(--line)}
.case-index-card:nth-child(even){padding-left:clamp(24px,4vw,64px)}
.case-index-card:hover{padding-left:14px}
.case-index-card__text{align-self:end}
.case-index-card__meta{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin-bottom:14px}
.case-index-card h2{font-family:var(--f-display);font-size:clamp(32px,3.5vw,56px);font-weight:300;line-height:.94;letter-spacing:-.04em;font-variation-settings:"opsz" 72}
.case-index-card h2 em{font-style:italic;color:var(--signal)}
.case-index-card__arrow{display:block;margin-top:24px;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);transition:color .3s,transform .3s}
.case-index-card:hover .case-index-card__arrow{color:var(--signal);transform:translateX(8px)}
.case-index-card__image{width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--chalk)}
.case-index-card__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(.98);transition:transform .8s var(--ease-out)}
.case-index-card:hover .case-index-card__image img{transform:scale(1.05)}
@media (max-width:800px){.case-index__grid{grid-template-columns:1fr}.case-index-card,.case-index-card:nth-child(odd),.case-index-card:nth-child(even){grid-template-columns:1fr 38%;min-height:210px;padding:28px 0;border-right:0}.case-index-card h2{font-size:clamp(30px,8vw,48px)}.case-index-card__image{aspect-ratio:3/4}.case-index-card__arrow{margin-top:16px}}
@media (max-width:800px){.case-study-hero,.case-study-overview,.case-study-outcome{grid-template-columns:1fr;gap:32px}.case-study-hero{padding-top:120px}.case-study-title{font-size:clamp(52px,15vw,84px)}.case-study-image{margin:0 var(--pad-x);aspect-ratio:4/5}.case-study-overview__lead{max-width:20ch}.case-study-chapter{grid-template-columns:1fr;gap:10px}.case-study-chapter__number{padding-top:0}.case-study-nav{flex-direction:column;padding:24px var(--pad-x);gap:14px}}
