.case-page{--project-accent:var(--blue)}
.case-hero{padding-top:35px;padding-bottom:0}
.case-topline{display:flex;justify-content:space-between;gap:25px;font-size:9px;line-height:1.5}
.case-topline>a{border-bottom:1px solid var(--ink);padding-bottom:4px}
.case-topline>span{letter-spacing:.05em;text-align:right}
.case-intro{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:70px;margin:65px 0 28px}
.case-intro h1{font-size:clamp(60px,8.3vw,130px);line-height:.95;letter-spacing:-.075em;font-weight:700}
.case-intro>p{font-size:16px;line-height:1.7;max-width:450px}
.case-actions{display:flex;align-items:center;gap:20px;margin-bottom:45px}
.case-live{background:var(--ink);color:var(--paper);padding:12px 17px;font-size:11px;line-height:1.5}
.case-live:hover{background:var(--project-accent)}
.case-actions>span{font-size:10px;color:var(--muted)}
.case-figure{margin:0;min-width:0}
.case-zoom{display:block;position:relative;width:100%;padding:0;background:#e2dfd6;border:1px solid var(--ink);cursor:zoom-in;overflow:hidden}
.case-zoom>img{width:100%;height:auto;max-width:none}
.case-cover .case-zoom>img{aspect-ratio:16/9;object-fit:cover;object-position:top}
.case-zoom>span{position:absolute;bottom:15px;right:15px;background:var(--paper);color:var(--ink);padding:9px 13px;font-size:9px;border:1px solid var(--ink);opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.case-zoom:hover>span,.case-zoom:focus-visible>span{opacity:1;transform:none}
.case-figure figcaption{display:flex;align-items:start;gap:25px;padding-top:13px;font-size:9px;line-height:1.6;color:var(--muted)}
.case-figure figcaption>span:first-child{min-width:42px;color:var(--ink)}
.case-data-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:19px;max-width:650px}
.case-overview{display:grid;grid-template-columns:1.4fr 1fr;gap:100px;padding-top:80px;padding-bottom:85px}
.case-overview .eyebrow{font-size:8px}
.case-overview h2{font-size:40px;line-height:1.1;letter-spacing:-.055em;font-weight:400;max-width:540px;margin-top:23px}
.case-overview>div>p:last-child{font-size:15px;line-height:1.8;max-width:540px;margin-top:24px}
.case-overview dl{margin:0;padding-top:0}
.case-overview dl>div{border-top:1px solid var(--line);padding:17px 0;display:grid;grid-template-columns:100px 1fr;gap:25px}
.case-overview dt{font-size:9px;color:var(--muted);line-height:1.7}
.case-overview dd{font-size:12px;line-height:1.7;margin:0}
.case-chapters{padding-bottom:90px}
.case-chapter+.case-chapter{margin-top:80px}
.case-chapter-copy{display:grid;grid-template-columns:1fr 2.2fr;gap:50px;align-items:start;border-top:1px solid var(--ink);padding-top:28px;margin-bottom:34px}
.case-step{font-size:65px;line-height:1;letter-spacing:-.065em;color:var(--project-accent)}
.case-chapter-copy h2{font-size:35px;line-height:1.15;letter-spacing:-.05em;font-weight:400}
.case-chapter-copy p{font-size:14px;line-height:1.8;max-width:650px;margin-top:18px}
.case-chapter .case-zoom{max-height:1100px;overflow:hidden}
.case-next{border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:35px;align-items:end;padding-top:38px;padding-bottom:70px}
.case-next .eyebrow{font-size:8px}
.case-next>div>a{display:block;font-size:clamp(36px,5vw,76px);line-height:1.1;letter-spacing:-.065em;margin-top:18px}
.case-next>div>a:hover{color:var(--blue)}
.case-next-back{font-size:11px;border-bottom:1px solid var(--ink);padding-bottom:5px;white-space:nowrap}
.case-contact{background:var(--blue);color:var(--paper);padding-block:43px}
.case-contact p{font-size:11px;margin-bottom:15px}
.case-contact a{font-size:clamp(26px,3.6vw,49px);line-height:1.15;letter-spacing:-.045em;border-bottom:1px solid currentColor}
.case-page .site-footer{padding-top:0}
.case-page .footer-bottom{border:0;margin-top:0;padding-top:25px}
.image-dialog{width:calc(100vw - 32px);max-width:1540px;max-height:95dvh;padding:15px;background:#151513;color:var(--paper)}
.image-dialog::backdrop{background:#161613e6}
.image-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:12px;font-size:11px}
.image-dialog-bar>button{font-size:30px;line-height:1;padding:0 7px}
.image-dialog>img{max-width:100%;width:100%;height:auto}
.image-dialog-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:15px;font-size:10px}
.image-dialog-bottom>button{font-size:11px;border-bottom:1px solid currentColor;padding:4px 0}
.image-dialog-bottom>button:disabled{opacity:.3}
.portfolio-actions{display:flex;align-items:baseline;gap:23px}
.portfolio-live{font-size:9px;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}
.portfolio-app .portfolio-live{color:var(--paper)}
@media(max-width:1100px){.case-intro{gap:40px}.case-intro>p{font-size:14px}.case-overview{gap:50px}.case-overview h2{font-size:34px}.case-overview>div>p:last-child{font-size:14px}}
@media(max-width:760px){
  .case-hero{padding-top:25px}.case-topline{font-size:7px;gap:20px}.case-topline>span{max-width:155px}
  .case-intro{display:block;margin-top:43px;margin-bottom:25px}.case-intro h1{font-size:clamp(52px,11.8vw,85px)}.case-intro>p{font-size:14px;line-height:1.8;margin-top:25px;max-width:480px}
  .case-actions{gap:17px;margin-bottom:28px}.case-live{font-size:10px;padding:11px 13px}.case-actions>span{font-size:8px}
  .case-zoom>span{opacity:1;transform:none;bottom:9px;right:9px;padding:5px 8px;font-size:7px}
  .case-figure figcaption{font-size:8px;gap:13px;padding-top:11px}.case-figure figcaption>span:first-child{min-width:35px}.case-data-note{font-size:9px;margin-top:15px}
  .case-overview{display:block;padding-top:45px;padding-bottom:45px}.case-overview h2{font-size:30px;margin-top:20px}.case-overview>div>p:last-child{font-size:13px;line-height:1.8;margin-top:19px}.case-overview dl{margin-top:30px}.case-overview dl>div{padding:14px 0;grid-template-columns:80px 1fr;gap:20px}.case-overview dd{font-size:11px}
  .case-chapters{padding-bottom:50px}.case-chapter+.case-chapter{margin-top:43px}.case-chapter-copy{grid-template-columns:30px 1fr;gap:20px;padding-top:22px;margin-bottom:25px}.case-step{font-size:27px;line-height:1.1}.case-chapter-copy h2{font-size:25px}.case-chapter-copy p{font-size:12px;line-height:1.8;margin-top:14px}
  .case-next{padding-top:30px;padding-bottom:43px;display:block}.case-next>div>a{font-size:40px;margin-top:16px}.case-next-back{display:inline-block;margin-top:25px;font-size:10px}.case-contact{padding-block:33px}.case-contact a{font-size:29px}.case-contact p{font-size:10px}
  .image-dialog{width:calc(100vw - 16px);padding:10px}.image-dialog-bar{font-size:9px;gap:10px}.image-dialog-bottom{font-size:9px}.image-dialog-bottom>button{font-size:10px}
}
