/* Case study pages — reuses site.css + landing.css tokens */
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:6px 0 26px;letter-spacing:.02em}
.breadcrumb a{color:var(--accent);border-bottom:1px dotted rgba(88,221,255,.45);padding-bottom:1px}
.breadcrumb a:hover{color:#fff;border-color:#fff}
.breadcrumb span{color:#ffffff52}

.cs-prose{max-width:72ch}
.cs-prose p{color:#c8d0e0;font-size:16px;line-height:1.75;margin:0 0 16px}
.cs-prose p:last-child{margin-bottom:0}
.cs-prose strong{color:#fff;font-weight:700}
.cs-prose a{color:var(--accent);border-bottom:1px dotted rgba(88,221,255,.45);padding-bottom:1px}
.cs-prose a:hover,.cs-prose a:focus-visible{color:#fff;border-color:#fff}
.cs-prose ul{margin:0 0 16px;padding:0 0 0 2px;list-style:none;display:grid;gap:8px}
.cs-prose ul li{color:#c8d0e0;font-size:16px;line-height:1.6;padding-left:22px;position:relative}
.cs-prose ul li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.75}

.cs-quote{margin:26px 0;padding:20px 24px;border-left:3px solid var(--accent);background:#ffffff06;border-radius:0 14px 14px 0;max-width:72ch}
.cs-quote p{margin:0;color:#eef1f7;font-size:18px;line-height:1.6;font-weight:600;font-style:italic}

.cs-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.cs-stat{padding:22px 20px;border:1px solid var(--line);border-radius:16px;background:#ffffff05}
.cs-stat .n{display:block;font-size:clamp(22px,2.4vw,30px);font-weight:800;letter-spacing:-.02em;color:#fff;margin-bottom:6px}
.cs-stat .l{display:block;font-size:13.5px;line-height:1.5;color:var(--muted)}

.cs-photo{margin:26px 0}
.cs-photo figcaption{margin-top:10px;font-size:13px;color:var(--muted)}
.cs-photo-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:3/2;width:100%;border:1px dashed rgba(255,255,255,.18);border-radius:18px;background:#ffffff04}
.cs-photo-slot.tall{aspect-ratio:4/3;max-width:640px}
.cs-photo-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.cs-photo-file{font-size:12.5px;color:#8d97a8;font-family:ui-monospace,monospace;word-break:break-all;padding:0 16px;text-align:center}
.cs-photo img{width:100%;height:auto;border-radius:18px;border:1px solid var(--line);display:block}
.cs-photo img.portrait{max-width:560px}
.lp-hero-visual .cs-photo img{max-width:400px;margin-inline:auto}
@media(max-width:900px){.lp-hero-visual .cs-photo img{max-width:min(88vw,420px)}}

.cs-testimonial{margin-top:24px;padding:28px;border:1px solid var(--line);border-radius:18px;background:#ffffff05;max-width:820px}
.cs-testimonial blockquote{margin:0 0 16px;color:#e8ecf4;font-size:17px;line-height:1.7}
.cs-testimonial .t-author{display:flex;flex-direction:column;gap:2px}
.cs-testimonial .t-name{color:#fff;font-weight:700;font-size:15px}
.cs-testimonial .t-role{color:var(--muted);font-size:13.5px}

.cs-links{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.cs-link-card{display:block;padding:22px;border:1px solid var(--line);border-radius:16px;background:#ffffff05;transition:border-color .25s ease,background .25s ease}
.cs-link-card:hover,.cs-link-card:focus-visible{border-color:#58ddff73;background:#58ddff0f}
.cs-link-card h3{margin:0 0 6px;font-size:17px;color:#fff}
.cs-link-card p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}

@media(max-width:900px){.cs-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .cs-stats{grid-template-columns:1fr 1fr;gap:10px}
  .cs-stat{padding:16px 14px}
  .cs-links{grid-template-columns:1fr}
  .cs-quote{padding:16px 18px}
  .cs-quote p{font-size:16px}
  .cs-testimonial{padding:20px}
}
@media(prefers-reduced-motion:reduce){.cs-link-card{transition:none}}
