/* Individual project pages; local city shell and typography remain authoritative. */
.case-main{--case-accent:currentColor;width:min(1320px,calc(100% - 96px));margin:0 auto;padding:150px 0 90px;line-height:1.55}
.case-main *{box-sizing:border-box}.case-main a{color:inherit}.case-back{display:inline-block;margin-bottom:42px;font-size:14px}.case-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:end;margin-bottom:54px}.case-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 20px}.case-main h1{font-size:clamp(52px,7vw,104px);line-height:1;letter-spacing:-.06em;margin:0 0 24px;max-width:900px}.case-subtitle{font-size:clamp(23px,2.4vw,36px);line-height:1.2;letter-spacing:-.035em;margin:0;max-width:700px}.case-summary p{font-size:18px;margin:0 0 24px;max-width:600px}.case-button{display:inline-flex;gap:30px;align-items:center;padding:16px 25px;border:1px solid currentColor;border-radius:50px;text-decoration:none;font-size:14px;font-weight:650;transition:background .2s,color .2s,transform .2s}.case-button:hover{transform:translateY(-3px)}.case-main a:focus-visible{outline:3px solid var(--case-accent);outline-offset:5px}.case-main figure{margin:0}.case-cover{border-radius:22px;overflow:hidden;background:#eae7e0}.case-main img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;transform:none!important}.case-main figcaption{padding:14px 0;font-size:12px;opacity:.7}.case-cover figcaption{padding:14px 22px;color:#333}.case-section{padding:90px 0;border-bottom:1px solid color-mix(in srgb,currentColor 20%,transparent)}.case-story{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.case-main h2{font-size:clamp(32px,4vw,58px);line-height:1.1;letter-spacing:-.045em;margin:0 0 28px}.case-copy{max-width:710px;font-size:18px}.case-copy p{margin:0 0 24px}.case-features{list-style:none;padding:0;margin:32px 0 0}.case-features li{padding:20px 0;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent)}.case-gallery{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:64px;padding:80px 0}.case-gallery figure:first-child img{border-radius:16px}.case-phone{padding:8px;background:#252525;border-radius:35px;box-shadow:0 24px 65px #0003}.case-phone img{border-radius:28px}.case-film-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.case-film-heading p{max-width:360px;font-size:14px}.case-video{width:100%;display:block;aspect-ratio:16/9;background:#141414;border-radius:18px}.case-stack{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px;padding:0;list-style:none}.case-stack li{padding:9px 16px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:40px;font-size:13px}.case-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px}.case-related a{text-decoration:none}.case-related img{border-radius:12px;margin-bottom:15px}.case-related strong{font-size:20px}.case-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:80px}.case-cta h2{max-width:650px;margin:0}.case-attribution{font-size:13px;opacity:.7;margin-top:24px}
@media(max-width:800px){.case-main{width:calc(100% - 40px);padding:110px 0 55px}.case-intro,.case-story{grid-template-columns:1fr;gap:28px}.case-main h1{font-size:clamp(46px,12vw,76px)}.case-main h2{font-size:36px}.case-back{margin-bottom:30px}.case-summary p,.case-copy{font-size:16px}.case-section{padding:55px 0}.case-gallery{grid-template-columns:1fr;gap:35px;padding:45px 0}.case-gallery figure:last-child{max-width:260px;margin:auto}.case-film-heading,.case-cta{display:block}.case-film-heading p{margin-bottom:25px}.case-related{grid-template-columns:1fr;gap:35px}.case-cta .case-button{margin-top:25px}.case-cover{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.case-button{transition:none}}

.case-main{color:#17273b;--case-accent:#f2672b}.case-cover{border:1px solid #17273b;border-radius:18px}.case-kicker{color:#b34012}.case-button{background:#f2672b;border-color:#f2672b;color:#17273b}.case-related img{border:1px solid #17273b}.case-cta{background:#17273b;color:#fff4dd;padding:45px;margin-top:65px;border-radius:24px}
@media(max-width:800px){.case-intro,.case-story{grid-template-columns:1fr}.case-gallery{padding:25px 0}.case-cta{padding:35px 20px}}
.case-main{padding-top:75px}
.case-main a.case-button{color:#17273b}