/* Portfolio v2 "Case file" layout (owner pick 2026-11-12). Loaded only on a case study that carries _lb_cs_case; every selector is
   scoped under .pfv2 .pfcs-* so nothing else is touched. Tokens follow portfolio-v2.css. */
.pfv2 .pfcs-top{padding-top:40px;padding-bottom:28px}
.pfv2 .pfcs-top .crumbs{font-size:13px;color:#6b7280}
.pfv2 .pfcs-kick{margin-top:22px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#08768f}
.pfv2 .pfcs-top h1{font-size:clamp(32px,4.6vw,56px);letter-spacing:-.035em;line-height:1.05;margin:10px 0 16px;max-width:21em;text-wrap:balance}
.pfv2 .pfcs-lede{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:#374151;max-width:44em}
.pfv2 .pfcs-meta{margin-top:14px;font-size:13px;color:#6b7280}
.pfv2 .pfcs-hero img{border-radius:20px;width:100%}
.pfv2 .pfcs-grid{display:block;padding-top:48px;padding-bottom:40px}
@media (min-width:1100px){.pfv2 .pfcs-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start}}
.pfv2 .pfcs-body{min-width:0;max-width:780px}
.pfv2 .pfcs-part{padding:0 0 40px;margin:0 0 40px;border-bottom:1px solid #e5e7eb}
.pfv2 .pfcs-n{margin:0 0 6px;font-size:13px;font-weight:800;letter-spacing:.08em;color:#08768f}
.pfv2 .pfcs-part h2,.pfv2 .pfcs-faq h2{font-size:clamp(24px,2.6vw,30px);letter-spacing:-.025em;line-height:1.15;margin:0 0 16px}
.pfv2 .pfcs-part h3{font-size:19px;letter-spacing:-.01em;line-height:1.3;margin:26px 0 8px}
.pfv2 .pfcs-part p{font-size:17px;line-height:1.75;color:#374151}
.pfv2 .pfcs-part p+p{margin-top:14px}
.pfv2 .pfcs-part h3+p{margin-top:0}
.pfv2 .pfcs-part .pfcs-note{font-size:14px;color:#6b7280;font-style:italic;margin:-6px 0 14px}
.pfv2 .pfcs-del{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:600px){.pfv2 .pfcs-del{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pfv2 .pfcs-del li{border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}
.pfv2 .pfcs-del li.wide{grid-column:1/-1}
.pfv2 .pfcs-del figure{margin:0}
.pfv2 .pfcs-del li.tall img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}
.pfv2 .pfcs-del li.wide img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}
.pfv2 .pfcs-del div{padding:14px 16px 16px}
.pfv2 .pfcs-del strong{display:block;font-size:15.5px;color:#0d0f14;margin-bottom:4px}
.pfv2 .pfcs-del span{display:block;font-size:14px;line-height:1.55;color:#4b5563}
.pfv2 .pfcs-rel{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:6px}
.pfv2 .pfcs-rel a{font-weight:700;color:#08768f;text-decoration:underline;text-underline-offset:3px}
.pfv2 .pfcs-faq{max-width:780px;margin:0 0 32px}
.pfv2 .pfcs-faq p{font-size:16px;line-height:1.7;color:#374151}
.pfv2 .pfcs-side{margin-top:32px}
@media (min-width:1100px){.pfv2 .pfcs-side{margin-top:0}.pfv2 .pfcs-side-in{position:sticky;top:calc(var(--pf-top) + 34px)}}
.pfv2 .pfcs-side-in{padding:22px;border:1px solid #e5e7eb;border-radius:18px;background:#f7f9fb}
.pfv2 .pfcs-side-k{margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6b7280}
.pfv2 .pfcs-facts{display:grid;gap:16px;margin-bottom:22px}
.pfv2 .pfcs-facts dt{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b7280}
.pfv2 .pfcs-facts dd{font-size:15px;margin-top:4px;color:#1f2937;overflow-wrap:anywhere}
.pfv2 .pfcs-side .btn{width:100%;justify-content:center;text-align:center}
.pfv2 .pfcs-body .offer{margin-top:8px}
@media (max-width:599px){.pfv2 .pfcs-top{padding-top:28px}.pfv2 .pfcs-grid{padding-top:32px}.pfv2 .pfcs-part{padding-bottom:28px;margin-bottom:28px}}
@media (min-width:600px){.pfv2 .pfcs-del:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
.pfv2 .pfcs-next source{display:none}
