/* Project gallery: original interface plates lead, detailed stories unfold in place. */
.projects-heading{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}
.projects-heading p{color:var(--muted);font-size:16px;max-width:32ch}
.case-gallery{display:grid;gap:40px 28px;align-items:start}
.case-card{min-width:0;border:0;scroll-margin-top:28px}
.case-card>summary{display:block;list-style:none;cursor:pointer;outline-offset:8px;border-radius:3px}
.case-card>summary::-webkit-details-marker{display:none}
.case-card>summary::marker{content:''}
.case-art{overflow:hidden;aspect-ratio:3/2;background:#f0f2f2;border:1px solid #e0e4e5;border-radius:5px}
.case-art img{width:100%;height:100%;object-fit:contain}
.case-summary{padding-top:18px;min-width:0}
.case-name{display:flex;justify-content:space-between;align-items:start;gap:14px}
.case-name h3{font-size:24px;font-weight:500;line-height:1.25;margin:5px 0 0;letter-spacing:-.025em}
.case-action{width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background-color .2s,color .2s,border-color .2s}
.case-action svg{width:20px;height:20px}
.case-summary>p{font-size:16px;color:var(--muted);margin-top:8px;line-height:1.65;max-width:38ch}
.case-state{display:block;font-size:13px;margin-top:18px;color:var(--muted)}
.case-read{display:block;font-size:14px;margin-top:10px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px}
.case-card>summary:hover .case-action{background:var(--blue);color:#fff;border-color:var(--blue)}
.case-card>summary:hover .case-read{text-decoration-color:var(--blue)}
.case-card[open]{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:8px}
.case-gallery[data-enhanced=true]:has(>.case-card[open])>.case-card:not([open]){display:none}
.case-card[open] .case-action{background:var(--ink);color:#fff;border-color:var(--ink)}
.case-card[open] .case-action svg{transform:rotate(45deg)}
.case-card[open] .case-read{display:none}
.case-story{padding-top:32px}
.case-context{display:grid;gap:24px;padding-bottom:32px}
.case-lead{font-size:19px;line-height:1.6;max-width:52ch;letter-spacing:-.012em}
.case-role>span{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
.case-role p{font-size:15px;max-width:30ch}
.case-facts{display:grid;margin:0;gap:0}
.case-fact{border-top:1px solid var(--line);padding-block:24px;display:grid;gap:10px}
.case-fact dt{font-size:18px;font-weight:500;line-height:1.45;letter-spacing:-.015em}
.case-fact dd{margin:0;font-size:16px;line-height:1.7;color:var(--muted);min-width:0}
.case-fact dd p{max-width:62ch}
.case-fact dd .case-measurement{margin-top:12px;font-size:14px;line-height:1.6}
.case-fact ul{padding-left:20px;margin:12px 0 0}
.case-fact--businessValue dt,.case-fact--savings dt{color:var(--blue)}
.case-evidence{font-size:13px;line-height:1.65;color:var(--muted);max-width:75ch;border-top:1px solid var(--line);padding-top:22px}
.case-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-bottom:16px}
.case-footer a,.case-close{display:inline-flex;gap:12px;align-items:center;min-height:48px;font-size:15px}
.case-close{background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.case-close[hidden]{display:none}
.case-footer svg{width:20px;height:20px}
.case-footer a{color:var(--blue)}
@media(min-width:700px){
 .projects-heading{flex-direction:row;align-items:baseline;justify-content:space-between;gap:40px;margin-bottom:40px}
 .case-gallery{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:52px}
 .case-card[open]>summary{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
 .case-card[open] .case-summary{padding-top:0}
 .case-card[open] .case-name h3{font-size:32px;margin-top:4px;max-width:14ch}
 .case-story{padding-top:40px}
 .case-context{grid-template-columns:1.5fr 1fr;gap:60px;padding-bottom:40px}
 .case-lead{font-size:22px}
 .case-role{padding-top:6px;justify-self:end;width:100%;max-width:260px}
 .case-fact{grid-template-columns:1fr 2fr;gap:40px;padding-block:28px}
 .case-fact dt{font-size:18px}
}
@media(min-width:1100px){
 .case-gallery{column-gap:40px;row-gap:60px}
 .case-summary{padding-top:20px}
 .case-name h3{font-size:26px}
 .case-card[open]>summary{grid-template-columns:1.25fr 1fr;gap:56px}
 .case-card[open] .case-name h3{font-size:36px}
 .case-fact{grid-template-columns:1fr 2fr;gap:56px}
 .case-fact dd{font-size:17px}
}
@media(max-width:350px){.case-name h3{font-size:22px}.case-summary>p{font-size:15px}.case-lead{font-size:18px}}
@media(prefers-reduced-motion:reduce){.case-action{transition:none}}
html[data-motion=off] .case-action{transition:none}
