.project-card{cursor:pointer}.project-card:focus-visible{outline:2px solid var(--red2);outline-offset:6px}.project-open{display:inline-block;margin-top:16px;color:var(--red2);font-size:9px;text-transform:uppercase;letter-spacing:.14em;opacity:0;transform:translateY(7px);transition:.3s}.project-card:hover .project-open,.project-card:focus-visible .project-open{opacity:1;transform:none}
.case-modal{position:fixed;z-index:5000;inset:0;display:grid;grid-template-columns:1.15fr .85fr;background:#0b0c0e;color:#fff;visibility:hidden;opacity:0;transform:scale(.98);transition:opacity .45s,transform .45s,visibility .45s;overflow:auto}.case-modal.open{visibility:visible;opacity:1;transform:none}.case-close{position:absolute;z-index:4;right:28px;top:28px;width:54px;height:54px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(10,11,13,.4);color:#fff;font-size:30px;display:grid;place-items:center}.case-visual{position:relative;min-height:100vh;overflow:hidden;background:#222}.case-image{position:absolute;inset:0;background-position:center;background-size:cover;transform:scale(1.07);transition:transform 1s cubic-bezier(.2,.8,.2,1)}.case-modal.open .case-image{transform:scale(1)}.case-number{position:absolute;left:var(--pad);bottom:35px;font:500 clamp(70px,11vw,180px) Unbounded;color:rgba(255,255,255,.22)}.case-content{padding:15vh var(--pad) 70px;display:flex;flex-direction:column;justify-content:center}.case-category{color:var(--red2);font-size:10px;text-transform:uppercase;letter-spacing:.15em}.case-content h2{font:500 clamp(36px,4.7vw,76px)/1 Unbounded;margin:28px 0;letter-spacing:-.05em}.case-description{max-width:600px;color:#aaa;line-height:1.8}.case-specs{display:flex;flex-wrap:wrap;gap:8px;margin:36px 0}.case-specs span{padding:10px 13px;border:1px solid #3b3c3e;font-size:10px}.case-cta{margin-top:auto;min-height:70px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.case-cta b{font-size:22px}body.case-open{overflow:hidden}
@media(max-width:980px){.case-modal{grid-template-columns:1fr}.case-visual{min-height:55vh}.case-content{min-height:45vh;padding-top:60px}}
@media(max-width:640px){.project-open{opacity:1;transform:none}.project-info{min-height:192px}.case-modal{display:block}.case-close{right:15px;top:15px;width:48px;height:48px}.case-visual{min-height:48vh}.case-content{padding:45px 22px 55px}.case-content h2{font-size:34px}.case-cta{margin-top:30px}}
@media(hover:none),(pointer:coarse){.project-open{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.case-image{transform:none}}
