/* ── Seite: Case Studies overview (Kundenreferenzen) ─────────────────────────
   Hero as on the blog overview (centered, cyan .hl, small decor squares); cards like .bl-card with the
   logo badge of the case page hero (.cs-hero-logo). One case: wide card (photo left, text right);
   from two cases on remove 'is-wide' so the cards sit side by side. Facts neutral (ink), no product colours. */
.cr-hero{position:relative;padding:clamp(40px,6vw,88px) 0 clamp(26px,3.4vw,44px);background:var(--bg);overflow:hidden;text-align:center;}
.cr-hero .wrap{position:relative;z-index:1;}
.cr-hero h1{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.06;letter-spacing:-.035em;margin:0 auto;max-width:22ch;color:var(--ink);text-wrap:balance;}
.cr-hero h1 .hl{color:var(--cyan);}
.cr-lead{margin:18px auto 0;max-width:46ch;font-size:clamp(1.05rem,1.3vw,1.22rem);line-height:1.6;color:var(--text);font-weight:500;}
.cr-sq{position:absolute;z-index:0;border-radius:5px;box-shadow:0 8px 20px -8px rgba(20,30,15,.3);transform:rotate(var(--r,0deg));pointer-events:none;}
.cr-list{padding:clamp(20px,3vw,40px) 0 clamp(56px,7vw,104px);background:var(--bg);}
.cr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.2vw,28px);max-width:1200px;margin:0 auto;}
.cr-card{position:relative;display:flex;flex-direction:column;background:var(--surface,#fff);border:1px solid var(--line);border-radius:20px;overflow:hidden;
  box-shadow:0 14px 36px -18px rgba(0,0,0,.16);text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s;}
.cr-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px -20px rgba(0,0,0,.2);border-color:var(--line-2);}
.cr-media{position:relative;display:block;aspect-ratio:16/10;background:#eef2ea;overflow:hidden;}
.cr-media img.cr-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.cr-card:hover .cr-media img.cr-photo{transform:scale(1.03);}
.cr-logo{position:absolute;left:20px;bottom:20px;background:var(--ink);border-radius:14px;padding:12px 18px;box-shadow:var(--shadow-m);display:flex;align-items:center;}
.cr-logo img{height:22px;width:auto;display:block;}
.cr-logo img[src*="logo-sonnentor"]{filter:brightness(0) invert(1);}  /* black wordmark PNG on the dark badge */
.cr-body{padding:clamp(28px,3.4vw,52px);display:flex;flex-direction:column;justify-content:center;gap:18px;flex:1;}
.cr-meta{font-size:.95rem;font-weight:600;color:var(--muted);}
.cr-title{margin:0;font-family:var(--head);font-weight:700;font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.15;letter-spacing:-.025em;color:var(--ink);text-wrap:balance;}
.cr-title .hl{color:var(--cyan);}
.cr-quote{margin:0;padding:2px 0 2px 18px;border-left:3px solid var(--cyan);}
.cr-quote-text{display:block;font-family:var(--head);font-weight:600;font-size:clamp(1.02rem,1.2vw,1.12rem);line-height:1.5;color:var(--ink);text-wrap:pretty;}
.cr-quote-by{display:block;margin-top:8px;font-size:.9rem;font-weight:600;color:var(--muted);}
.cr-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:18px 0 0;border-top:1px solid var(--line);}
.cr-fact b{display:block;white-space:nowrap;font-family:var(--head);font-weight:700;font-size:clamp(1.3rem,1.8vw,1.6rem);letter-spacing:-.02em;line-height:1;color:var(--ink);}
.cr-fact span{display:block;margin-top:6px;font-size:.88rem;font-weight:600;line-height:1.35;color:var(--text);}
.cr-more{margin-top:6px;align-self:flex-start;}
.cr-card:hover .cr-more{background:var(--cyan-deep);}
.cr-card.is-wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);}
.cr-card.is-wide .cr-media{aspect-ratio:auto;min-height:460px;}
@media(max-width:900px){.cr-card.is-wide{grid-template-columns:1fr;}.cr-card.is-wide .cr-media{aspect-ratio:16/10;min-height:0;}.cr-body{justify-content:flex-start;}}
@media(max-width:640px){.cr-grid{grid-template-columns:1fr;}.cr-sq{display:none;}.cr-logo{left:14px;bottom:14px;padding:10px 14px;}.cr-logo img{height:18px;}
  .cr-facts{grid-template-columns:1fr;gap:0;padding-top:4px;}
  .cr-fact{display:grid;grid-template-columns:7.2rem minmax(0,1fr);align-items:baseline;gap:12px;padding:12px 0;border-top:1px solid var(--line);}
  .cr-fact:first-child{border-top:0;}.cr-fact span{margin-top:0;font-size:.92rem;}}
