/* Customer story — single type system, one reading column */
.cst{--hair:rgba(11,14,20,.1);--hair-2:rgba(11,14,20,.06);--col:680px;color:var(--ink)}
.cst a:not(.btn){color:var(--ink);text-decoration:underline;text-decoration-color:var(--hair);text-underline-offset:3px}.cst a:not(.btn):hover{text-decoration-color:var(--ink)}
.cst .container{max-width:1200px}
.cst-label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.cst-hero{padding:clamp(132px,14vw,176px) 0 clamp(48px,6vw,72px);background:var(--page,#fff)}
.cst-crumb{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--slate)}
.cst-crumb a{color:var(--slate)!important;text-decoration:none!important}.cst-crumb a:hover{color:var(--ink)!important}
.cst-hero-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(220px,3fr);gap:clamp(40px,6vw,96px);align-items:end;margin-top:36px}
.cst-h1{font-family:var(--font-head);font-weight:600;font-size:clamp(40px,5.4vw,72px);line-height:1.02;letter-spacing:-.035em;margin:0;text-wrap:balance}
.cst-lede{margin:28px 0 0;font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--slate);max-width:56ch;text-wrap:pretty}
.cst-meta{margin:0;display:grid}
.cst-meta div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--hair);font-size:14.5px}
.cst-meta dt{color:var(--slate)}.cst-meta dd{margin:0;font-weight:500}
.cst-meta .logo{padding:0 0 28px;border:0;display:block}.cst-meta .logo+div{border-top:1px solid var(--hair)}.cst-meta .logo img{height:34px;width:auto;display:block}
.cst-video{padding:0 0 clamp(56px,7vw,88px)}
.cst-video .video-frame{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000}
.cst-video .video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cst-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.cst-stat{padding:28px 24px 32px;display:flex;flex-direction:column;gap:10px}
.cst-stat:first-child{padding-left:0}
.cst-stat+.cst-stat{border-left:1px solid var(--hair)}
.cst-stat b{font-family:var(--font-head);font-weight:600;font-size:clamp(32px,3.4vw,48px);line-height:1;letter-spacing:-.035em}
.cst-stat span{font-size:15px;line-height:1.45;color:var(--slate);max-width:22ch;text-wrap:pretty}
.cst-body{padding:clamp(72px,9vw,128px) 0 0}
.cst-layout{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,8fr);gap:clamp(40px,6vw,96px);align-items:start}
.cst-aside{position:sticky;top:112px;display:grid;gap:36px}
.cst-toc{display:grid;gap:2px;margin-top:14px}
.cst-toc a{display:block;padding:7px 0;font-size:15px;color:var(--slate)!important;text-decoration:none!important;transition:color .2s}
.cst-toc a:hover,.cst-toc a.is-on{color:var(--ink)!important}
.cst-people{display:grid;gap:14px;margin-top:14px}
.cst-person{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center}
.cst-person img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 28%;background:var(--off-white)}
.cst-person b{display:block;font-size:14.5px;font-weight:600;line-height:1.3}
.cst-person span{display:block;font-size:13.5px;color:var(--slate);line-height:1.35}
.cst-article{max-width:var(--col)}
.cst-ch{padding-bottom:clamp(56px,7vw,88px);scroll-margin-top:112px}
.cst-ch+.cst-ch,.cst-feature+.cst-ch{padding-top:clamp(56px,7vw,88px);border-top:1px solid var(--hair)}
.cst-h2{font-family:var(--font-head);font-weight:600;font-size:clamp(28px,2.8vw,38px);line-height:1.12;letter-spacing:-.025em;margin:14px 0 24px;text-wrap:balance}
.cst-article p{font-size:19px;line-height:1.65;color:#2b3140;margin:0 0 20px;text-wrap:pretty}
.cst-article p strong{color:var(--ink);font-weight:600}
.cst-list{list-style:none;padding:0;margin:4px 0 28px;border-top:1px solid var(--hair)}
.cst-list li{padding:14px 0 14px 28px;border-bottom:1px solid var(--hair);font-size:18px;line-height:1.45;position:relative}
.cst-list li::before{content:"";position:absolute;left:4px;top:50%;width:12px;border-top:1.5px solid var(--ink)}
.cst-q{margin:36px 0;padding:0 0 0 24px;border-left:2px solid var(--ink)}
.cst-q blockquote{margin:0;font-family:var(--font-head);font-weight:500;font-size:clamp(21px,2vw,25px);line-height:1.38;letter-spacing:-.015em;text-wrap:pretty}
.cst-q figcaption{margin-top:14px;font-size:14.5px;color:var(--slate)}
.cst-q figcaption b{color:var(--ink);font-weight:600}
.cst-shot{margin:40px 0;border:1px solid var(--hair);border-radius:14px;overflow:hidden;background:var(--off-white)}
.cst-shot img{display:block;width:100%;height:auto}
.cst-shot figcaption{padding:14px 18px;font-size:14.5px;color:var(--slate);border-top:1px solid var(--hair);background:#fff}
.cst-feature{margin:0 0 clamp(56px,7vw,88px);display:grid;gap:28px}
.cst-feature-img{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--off-white)}
.cst-feature-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.cst-feature blockquote{margin:0;font-family:var(--font-head);font-weight:600;font-size:clamp(26px,2.8vw,38px);line-height:1.18;letter-spacing:-.025em;text-wrap:pretty}
.cst-feature figcaption{margin-top:24px;display:grid;gap:2px;font-size:15px}
.cst-feature figcaption b{font-weight:600}.cst-feature figcaption span{color:var(--slate)}
.cst-cta{padding:clamp(88px,10vw,140px) 0;border-top:1px solid var(--hair);text-align:center}
.cst-cta h2{font-family:var(--font-head);font-weight:600;font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-.03em;margin:0 auto;max-width:18ch;text-wrap:balance}
.cst-cta p{margin:20px auto 0;color:var(--slate);font-size:18px;max-width:48ch}
.cst-cta .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}
@media (max-width:980px){.cst-hero-grid,.cst-layout{grid-template-columns:1fr}.cst-aside{position:static;grid-template-columns:1fr 1fr}.cst-toc-wrap{display:none}}
@media (max-width:760px){.cst-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cst-stat:nth-child(3){padding-left:0;border-left:0}.cst-stat:nth-child(n+3){border-top:1px solid var(--hair)}.cst-aside{grid-template-columns:1fr}}
@media (max-width:480px){.cst-stats{grid-template-columns:1fr}.cst-stat{padding-left:0!important;border-left:0!important}.cst-stat+.cst-stat{border-top:1px solid var(--hair)}}
.cst-ch:has(+.cst-feature){padding-bottom:clamp(40px,5vw,56px)}
