.case-page main{padding-top:115px}.case-intro{max-width:1280px;margin:auto;padding:70px 8% 65px}.case-intro h1{max-width:980px}.case-lead{max-width:780px;margin-top:30px;font:clamp(23px,2.4vw,35px)/1.35 Georgia,serif;color:#f3efe8}.case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 34px;max-width:900px;margin:48px 0 0;padding-top:28px;border-top:1px solid #716760}.case-facts div{min-width:0}.case-facts dt{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#d69f86}.case-facts dd{margin:8px 0 0;font-size:14px;line-height:1.55;color:#f3efe8}.case-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:8%;background:#f3efe8;color:#292522;padding:75px max(8%,calc((100vw - 1280px)/2))}.case-story{max-width:760px}.case-story section+section{margin-top:52px;padding-top:44px;border-top:1px solid #b6aa9e}.case-story h2{font-size:clamp(30px,3vw,46px);margin-bottom:22px}.case-story p{font-size:16px;line-height:1.8}.case-story p strong{font-weight:700}.case-visuals{display:flex;flex-direction:column;gap:26px}.case-visuals figure{margin:0;background:#fff;padding:14px;border:1px solid #d8cec3}.case-visuals img{display:block;width:100%;height:auto;max-height:410px;object-fit:contain}.case-visuals figcaption{margin-top:12px;color:#625950;font-size:12px;line-height:1.6}.case-return{background:#f3efe8;color:#292522;padding:0 8% 80px}.case-return a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid currentColor;text-decoration:none}.case-return a:focus-visible{outline:3px solid #c52a2e;outline-offset:5px}@media(max-width:900px){.case-body{grid-template-columns:minmax(0,1fr);gap:45px}.case-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.case-page main{padding-top:82px}.case-intro{padding:45px 24px}.case-lead{font-size:24px}.case-facts{grid-template-columns:minmax(0,1fr);gap:14px}.case-body{padding:45px 24px}.case-visuals{grid-template-columns:minmax(0,1fr)}.case-return{padding:0 24px 55px}}

/* Project compositions: the image stays separate from editable, selectable HTML copy. */
.case-body{grid-template-columns:minmax(0,1fr);gap:64px}
.case-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1280px}
.case-composition{min-width:0;background:#fff;border:1px solid #d8cec3;display:flex;flex-direction:column}
.case-composition-media{position:relative;min-height:310px;aspect-ratio:16/10;padding:18px;background:#e9e3db;display:grid;place-items:center;overflow:hidden}
.case-composition-media>.case-image-open,.case-composition-media>.cow-logo-crop{width:100%;height:100%;min-height:0}
.case-composition-media .case-image-open{min-width:0;min-height:0;height:100%;display:grid;place-items:center;overflow:hidden}
.case-composition-media .case-image-open img{display:block;width:100%;height:100%;max-height:none;object-fit:contain}
.case-composition-copy{padding:23px 26px 26px;flex:1}
.case-composition-number{display:block;color:#a72d32;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.case-composition-copy h3{margin:12px 0 9px;font:clamp(22px,2vw,30px)/1.2 Georgia,serif;color:#292522}
.case-composition-copy p{margin:0;font:14px/1.6 Arial,sans-serif;color:#4c4540}
.case-composition-copy .case-composition-note{margin-top:14px;padding-top:12px;border-top:1px solid #d8cec3;font-size:12px;color:#655b54}
.case-media-pair,.case-media-triptych,.case-photo-four,.case-shirt-grid,.case-tile-grid{display:grid;width:100%;height:100%;min-height:0;gap:10px}
.case-media-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-media-triptych,.case-shirt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-photo-four,.case-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.case-photo-four .case-image-open img,.case-shirt-grid img,.case-art-grid img{object-fit:cover}
.case-shirt-grid>div{min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff}
.case-shirt-grid>div>.case-image-open{flex:1}
.case-shirt-grid span{padding:7px;text-align:center;font:700 11px/1.2 Arial,sans-serif;text-transform:uppercase;color:#292522}
.case-data-list{display:flex;flex-wrap:wrap;gap:8px;position:absolute;left:25px;right:25px;bottom:24px;justify-content:center;pointer-events:none}
.case-data-list span{background:#151311e8;color:#fff;padding:6px 9px;font:700 10px/1.3 Arial,sans-serif;letter-spacing:.02em}
.cow-logo-crop svg{display:block;width:100%;height:100%;background:#fff}
.case-flow,.case-status-map{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;color:#f3efe8}
.case-flow span,.case-status-map span{display:grid;place-items:center;min-height:88px;padding:15px;background:#0c2147;border-left:6px solid #b41731;font:700 clamp(15px,1.8vw,23px)/1.2 Arial,sans-serif;text-align:center}
.case-flow b{color:#b41731;font-size:36px}
.case-tile-grid span{display:grid;place-items:center;text-align:center;padding:12px;background:#0c2147;color:#fff;border-bottom:5px solid #b41731;font:700 clamp(14px,1.6vw,22px)/1.25 Arial,sans-serif}
.case-status-map span{min-height:74px;flex:1 1 130px}
.case-art-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}
.case-concept-desktop,.case-concept-mobile{display:grid;width:100%;height:100%;gap:12px}
.case-concept-desktop{grid-template-columns:1fr 1.2fr}.case-concept-mobile{grid-template-columns:1fr 1fr}
.case-concept-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px;padding:20px;background:#182f2b;color:#fff}
.case-concept-text span{font:700 10px Arial,sans-serif;letter-spacing:.14em}.case-concept-text strong{font:clamp(22px,2vw,32px)/1.15 Georgia,serif}
.case-blurred .case-composition-media .case-image-open img{filter:blur(4px) brightness(.82);transform:scale(1.05)}
@media(max-width:767px){.case-body{gap:42px}.case-visuals{grid-template-columns:1fr;gap:22px}.case-composition-media{min-height:260px}.case-composition-copy{padding:19px 21px 22px}}

@media(max-width:767px){.case-intro h1{font-size:clamp(38px,10vw,54px);overflow-wrap:anywhere}}
