/* Case studies (/work/), 404 page, and the "Read the case study" link on homepage project cards.
   Builds on site.css; uses its tokens and classes. */
.svc-hero>.eyebrow{margin-bottom:-6px}
.case-shot{margin:44px 0 0;border:1px solid #d4ddca;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 12px 30px #122b2910}
.case-shot img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:top}
.case-shot--photo img{object-position:center 40%}
.case-shot figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:12px 18px;border-top:1px solid #dce2d4;font:12px monospace;color:#61735a}
.case-shot figcaption a{color:#527847;font-weight:700;text-underline-offset:4px}
.case-section{padding:60px 0}
.case-section+.case-section{padding-top:0}
.case-prose p{font-size:17px;margin:0 0 16px}
.case-prose p:first-child{color:var(--ink)}
.case-live{margin:26px 0 0;font-size:15px}
.case-live a{color:#527847;font-weight:700;text-underline-offset:5px}
.case-services{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-services .card .textlink.more{margin-top:auto;padding-top:18px}
.sectionhead p a{color:#527847;font-weight:700;text-underline-offset:4px}
.case-cta{padding:85px 0}
.case-hub+#process{padding-top:85px}
.case-cardlink{text-decoration:none}
.case-cardlink:hover{text-decoration:underline;text-underline-offset:5px}
.case-cardlink::after{content:" →";color:#527847}
.svc-cards .card{position:relative}
.svc-cards .case-cardlink::before{content:"";position:absolute;inset:0}
/* Homepage project cards: the card is an <article>; the live-site link covers the card,
   and "Read the case study" sits above it. */
.partner-card--split{position:relative}
.partner-card--split .partner-visit{text-decoration:none;color:inherit}
.partner-card--split .partner-visit::after{content:"";position:absolute;inset:0;z-index:1}
.partner-card--split .partner-visit:focus-visible{outline:none}
.partner-card--split:has(.partner-visit:focus-visible){outline:3px solid #527847;outline-offset:5px}
.partner-case{position:relative;z-index:2;align-self:flex-start;margin:0 0 18px;font-size:13px;font-weight:700;color:#527847;text-underline-offset:5px}
@media(max-width:700px){.case-shot{margin-top:32px}.case-shot figcaption{padding:10px 14px}.case-section{padding:45px 0}.case-services{grid-template-columns:1fr}.case-cta{padding:55px 0}.case-prose p{font-size:16px}}
/* Crowned by Cherry brand block (no logo file; wordmark only) */
.partner-brand--cherry{background:#f6ece1}
.cherry-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:25px;letter-spacing:.5px;color:#4a3426;text-align:center;line-height:1.2}
.cherry-wordmark small{display:block;font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#8a6a55;margin-top:6px}
@media(max-width:900px) and (min-width:701px){.cherry-wordmark{font-size:21px}}

/* Mobile-first homepage portfolio: phone defaults, then tablet and desktop. */
.partners .partner-cards{grid-template-columns:minmax(0,1fr);gap:16px}
.partners .sectionhead{display:block;margin-bottom:28px}
.partners .sectionhead p{margin-top:16px;max-width:38ch}
.partners .partner-brand{height:76px;padding:14px;gap:10px}
.partners .partner-brand--neuro img{width:46px;height:46px}
.partners .partner-brand--neuro>span{font-size:17px}
.partners .partner-brand--kip img{width:165px;max-height:50px}
.partners .partner-brand--boda img{width:165px}
.partners .closet-wordmark,.partners .cherry-wordmark{font-size:21px}
.partners .institute-mark{width:34px;height:34px;font-size:17px}
.partners .institute-wordmark{font-size:16px}
.partners .partner-preview{aspect-ratio:2.2/1}
.partners .partner-info{padding:18px}
.partners .partner-info h3{font-size:20px;line-height:1.3;margin:10px 0 8px}
.partners .partner-info p{font-size:14px;line-height:1.55;margin-bottom:14px}
.partners .partner-built{padding:10px 12px;margin-bottom:10px!important}
.partners .partner-case{display:inline-flex;align-items:center;min-height:44px;margin-bottom:4px;font-size:14px}
.partners .partner-visit{min-height:44px;padding-top:10px;font-size:13px;overflow-wrap:anywhere}
@media(min-width:701px){
 .partners .partner-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .partners .sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:36px}
 .partners .sectionhead p{margin:0;max-width:38ch}
 .partners .partner-brand{height:92px;padding:16px}
 .partners .partner-brand--neuro img{width:52px;height:52px}
 .partners .partner-brand--neuro>span{font-size:18px}
 .partners .partner-brand--kip img{width:180px;max-height:58px}
 .partners .partner-brand--boda img{width:175px}
 .partners .closet-wordmark,.partners .cherry-wordmark{font-size:22px}
 .partners .partner-preview{aspect-ratio:2.35/1}
 .partners .partner-info{padding:20px}
 .partners .partner-info h3{margin:12px 0 10px}
 .partners .partner-info p{font-size:13px;line-height:1.6;margin-bottom:16px}
 .partners .partner-built{margin-bottom:14px!important}
 .partners .partner-case{font-size:13px}
 .partners .partner-visit{font-size:12px;padding-top:12px}
}
@media(min-width:1100px){.partners .partner-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
