/* =========================================================
   Customer Stories — front-end styles (scoped under .cs-page)
   ========================================================= */
.cs-page{
  --g:#1E5C3A;--gm:#2D7A52;--gl:#40A066;--gxl:#C8EDD6;--gp:#F0FAF3;
  --gd:#0F3322;--am:#D97706;--al:#FEF3C7;--e:#1C1F1A;--em:#2C312A;
  --el:#3D4339;--st:#6B7268;--cr:#FAFAF7;--wh:#FFFFFF;--bd:#E4E8E0;
  --fs:"DM Sans",sans-serif;--fd:"DM Serif Display",serif;--fm:"DM Mono",monospace;
  --r1:4px;--r2:10px;--r3:16px;
  --s1:0 1px 4px rgba(0,0,0,.06);--s2:0 4px 16px rgba(0,0,0,.09);--s3:0 12px 40px rgba(0,0,0,.14);
  font-family:var(--fs);color:var(--el);background:var(--wh);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.cs-page *{box-sizing:border-box}
.cs-page h1,.cs-page h2,.cs-page h3,.cs-page h4{font-family:var(--fd);color:var(--e);font-weight:400;margin:0}
.cs-page a{color:inherit;text-decoration:none;transition:color .18s}
.cs-wrap{max-width:1200px;margin:0 auto;padding:0 40px}

/* reading progress bar (single) */
.cs-prog{position:fixed;top:0;left:0;height:3px;background:var(--g);z-index:9999;width:0%}

/* ─── FEATURED HERO (archive) ─────────────────── */
.cs-featured{background:var(--cr);overflow:hidden}
.cs-featured-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:420px}
.cs-feat-text{padding:64px 56px 64px 40px;display:flex;flex-direction:column;justify-content:center}
.cs-feat-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--g);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.cs-feat-eyebrow::before{content:'';display:inline-block;width:20px;height:2px;background:var(--g)}
.cs-feat-text h1{font-size:40px;line-height:1.12;color:var(--e);margin-bottom:12px;letter-spacing:-.3px}
.cs-feat-date{font-size:13px;color:var(--st);margin-bottom:20px;font-weight:500}
.cs-feat-text p{font-size:15px;line-height:1.7;color:var(--st);max-width:440px;margin:0 0 28px}
.cs-feat-read-more{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--e);background:transparent;border:1px solid var(--e);padding:10px 20px;border-radius:var(--r1);cursor:pointer;transition:all .18s}
.cs-feat-read-more:hover{background:var(--e);color:var(--wh)}
.cs-feat-image{position:relative;overflow:hidden}
.cs-feat-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .6s}
.cs-feat-image:hover img{transform:scale(1.03)}

/* ─── FILTER BAR (archive) ────────────────────── */
.cs-filter-bar{border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);background:var(--wh)}
.cs-filter-inner{max-width:1200px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cs-filter-tabs{display:flex;gap:0}
.cs-filter-tab{background:none;border:none;font-family:var(--fs);font-size:14px;font-weight:500;color:var(--st);padding:16px 20px 14px;cursor:pointer;border-bottom:2px solid transparent;transition:all .18s}
.cs-filter-tab:hover{color:var(--e)}
.cs-filter-tab.active{color:var(--e);font-weight:700;border-bottom-color:var(--e)}
.cs-filter-dropdowns{display:flex;gap:12px;padding:8px 0}
.cs-filter-select{font-family:var(--fs);font-size:13px;color:var(--el);background:var(--wh);border:1px solid var(--bd);border-radius:var(--r1);padding:8px 32px 8px 12px;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7268' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .18s}
.cs-filter-select:hover,.cs-filter-select:focus{border-color:var(--g);outline:none}

/* ─── GRID (archive) ──────────────────────────── */
.cs-stories{padding:48px 0 32px}
.cs-stories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.cs-story-card{display:block;text-decoration:none;transition:all .2s}
.cs-story-card:hover .cs-sc-title{color:var(--g)}
.cs-story-card:hover .cs-sc-img img{transform:scale(1.04)}
.cs-sc-img{overflow:hidden;aspect-ratio:16/10;border-radius:var(--r1);margin-bottom:16px;background:var(--cr)}
.cs-sc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}
.cs-sc-date{font-size:12px;color:var(--st);margin-bottom:8px;display:block;font-weight:500}
.cs-sc-tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--g);margin-bottom:10px}
.cs-sc-title{font-family:var(--fd);font-size:20px;line-height:1.25;color:var(--e);margin-bottom:10px;display:block;transition:color .18s}
.cs-sc-excerpt{font-size:13px;line-height:1.65;color:var(--st);margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cs-sc-read-more{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--g)}
.cs-sc-read-more i{font-size:14px;transition:transform .18s}
.cs-story-card:hover .cs-sc-read-more i{transform:translateX(4px)}
.cs-story-card.hidden{display:none}
.cs-empty{padding:60px 0;text-align:center;color:var(--st);grid-column:1/-1}

/* ─── PAGINATION (archive) ────────────────────── */
.cs-pagination{padding:8px 0 56px}
.cs-pag-inner{max-width:1200px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}
.cs-pagination .page-numbers{min-width:36px;height:36px;border:1px solid var(--bd);border-radius:var(--r1);background:var(--wh);font-family:var(--fs);font-size:13px;color:var(--el);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;transition:all .18s}
.cs-pagination .page-numbers:hover{border-color:var(--g);color:var(--g)}
.cs-pagination .page-numbers.current{background:var(--g);color:var(--wh);border-color:var(--g)}
.cs-pagination .page-numbers.dots{border:none}

/* ─── BREADCRUMB (single) ─────────────────────── */
.cs-breadcrumb{padding:40px 0 0}
.cs-bc{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--st);flex-wrap:wrap}
.cs-bc a{color:var(--st);font-weight:500}
.cs-bc a:hover{color:var(--g)}
.cs-bc-sep{color:var(--bd)}

/* ─── HERO FOLD (single) ──────────────────────── */
.cs-hero-fold{padding:24px 0 0}
.cs-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:flex-start}
.cs-company-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--bd);border-radius:var(--r1);padding:7px 14px;margin-bottom:22px}
.cs-pill-logo{width:30px;height:30px;background:var(--em);border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:var(--fm);font-size:8px;font-weight:700;color:var(--gl);flex-shrink:0}
.cs-pill-name{font-size:13px;font-weight:600;color:var(--e)}
.cs-pill-tag{font-size:11px;color:var(--st);padding-left:10px;border-left:1px solid var(--bd);margin-left:6px;line-height:1.3}
.cs-hero-h1{font-size:44px;line-height:1.1;letter-spacing:-.4px;color:var(--e);margin-bottom:20px}
.cs-hero-lede{font-size:16px;line-height:1.75;color:var(--st);font-style:italic;margin:0}
.cs-hero-right{border-radius:var(--r3);overflow:hidden;height:370px}
.cs-hero-right img{width:100%;height:100%;object-fit:cover;display:block}

/* ─── KEY OUTCOMES (block + single) ───────────── */
.cs-outcomes{padding:36px 0 0}
.cs-outcomes-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--st);margin:0 0 14px}
.cs-outcomes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:var(--r2);overflow:hidden}
.cs-oc{background:var(--wh);padding:22px 26px}
.cs-oc-title{font-size:13px;font-weight:700;color:var(--e);margin-bottom:7px;line-height:1.35}
.cs-oc-body{font-size:12px;color:var(--st);line-height:1.55}

/* ─── ARTICLE LAYOUT (single) ─────────────────── */
.cs-article{padding:60px 0 96px}
.cs-article-layout{display:grid;grid-template-columns:200px 1fr;gap:64px;align-items:flex-start}
.cs-article-sidebar{position:sticky;top:80px}
.cs-sb-block{margin-bottom:28px}
.cs-sb-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--st);margin-bottom:6px;display:block}
.cs-sb-value{font-size:13px;font-weight:600;color:var(--e);line-height:1.5}
.cs-sb-value.light{font-weight:400;color:var(--st)}
.cs-sb-div{height:1px;background:var(--bd);margin:18px 0}
.cs-share-btns{display:flex;gap:8px;margin-top:8px}
.cs-sh-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--bd);background:var(--wh);display:flex;align-items:center;justify-content:center;color:var(--st);font-size:13px;cursor:pointer;transition:all .18s}
.cs-sh-btn:hover{background:var(--gp);border-color:var(--g);color:var(--g)}
.cs-article-body{min-width:0;max-width:720px}

/* article body typography (core blocks) */
.cs-article-body p{font-size:16px;line-height:1.8;color:var(--st);margin:0 0 1.3rem}
.cs-article-body h2{font-family:var(--fd);font-size:28px;line-height:1.2;color:var(--e);margin:0 0 18px}
.cs-article-body h3{font-family:var(--fd);font-size:22px;line-height:1.25;color:var(--e);margin:28px 0 12px}
.cs-article-body ul,.cs-article-body ol{margin:0 0 1.3rem;padding-left:1.2rem;color:var(--st);line-height:1.8}
.cs-article-body li{margin-bottom:.4rem}
.cs-article-body img{max-width:100%;height:auto;border-radius:var(--r2)}
.cs-article-body a{color:var(--g);text-decoration:underline}
.cs-article-body blockquote:not(.cs-pull-q){border-left:3px solid var(--bd);padding-left:20px;margin:24px 0;color:var(--e);font-style:italic}

/* block: section */
.cs-section-block{margin-bottom:56px}
.cs-sec-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--g);margin-bottom:10px;display:block}
.cs-sec-h2{font-family:var(--fd);font-size:28px;line-height:1.2;color:var(--e);margin-bottom:22px}

/* block: pull quote */
.cs-pull-q{border-left:3px solid var(--g);padding:4px 0 4px 24px;margin:28px 0}
.cs-pull-q p{font-size:17px;font-style:italic;color:var(--e);line-height:1.7;margin:0}
.cs-pull-q cite{font-size:12px;color:var(--st);display:block;margin-top:8px;font-style:normal}

/* block: callout */
.cs-callout{background:var(--gp);border-radius:var(--r2);padding:20px 24px;margin:24px 0;border:1px solid var(--gxl)}
.cs-callout p{font-size:14px;color:var(--el);margin:0;line-height:1.65}
.cs-callout strong{color:var(--e)}

/* block: checklist */
.cs-built-list{list-style:none;margin:20px 0 28px;padding:0}
.cs-built-list li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--bd);font-size:15px;color:var(--el);line-height:1.65}
.cs-built-list li:first-child{border-top:1px solid var(--bd)}
.cs-chk{width:20px;height:20px;background:var(--g);border-radius:50%;flex-shrink:0;margin-top:2px;display:grid;place-items:center;position:relative}
.cs-chk::after{content:'';width:12px;height:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E");background-size:12px;background-repeat:no-repeat;background-position:center}

/* block: results grid */
.cs-results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:28px 0}
.cs-rg{background:var(--cr);border:1px solid var(--bd);border-radius:var(--r2);padding:22px 26px}
.cs-rg-val{font-family:var(--fm);font-size:32px;font-weight:700;color:var(--g);display:block;margin-bottom:6px}
.cs-rg-lbl{font-size:13px;color:var(--st);line-height:1.45}

/* block: comparison strip */
.cs-heritage-strip{display:flex;gap:32px;margin:28px 0;padding:24px;background:var(--em);border-radius:var(--r2)}
.cs-hs-col{flex:1}
.cs-hs-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.45);margin-bottom:10px}
.cs-hs-col ul{list-style:none;margin:0;padding:0}
.cs-hs-col li{font-size:13px;color:rgba(255,255,255,.8);padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08);line-height:1.5}
.cs-hs-col li:last-child{border-bottom:none}
.cs-hs-col p{color:rgba(255,255,255,.8);font-size:13px;margin:0}

/* ─── RELATED (single) ────────────────────────── */
.cs-related{background:var(--cr);padding:64px 0}
.cs-rel-h{font-family:var(--fd);font-size:26px;color:var(--e);margin-bottom:28px}
.cs-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cs-rc{background:var(--wh);border:1px solid var(--bd);border-radius:var(--r2);overflow:hidden;display:block;transition:all .22s}
.cs-rc:hover{transform:translateY(-3px);box-shadow:var(--s3);border-color:var(--gxl)}
.cs-rc-img{height:150px;overflow:hidden;background:var(--cr)}
.cs-rc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cs-rc:hover .cs-rc-img img{transform:scale(1.05)}
.cs-rc-body{padding:18px}
.cs-rc-date{font-size:11px;color:var(--st);margin-bottom:6px;display:block}
.cs-rc-title{font-family:var(--fd);font-size:15px;line-height:1.3;color:var(--e);margin-bottom:10px}
.cs-rc-tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--g);background:var(--gp);padding:3px 8px;border-radius:3px}

/* ─── CTA BAND ────────────────────────────────── */
.cs-final-cta{background:var(--gd);padding:72px 0;text-align:center}
.cs-final-cta h2{font-family:var(--fd);font-size:40px;color:var(--wh);margin-bottom:24px;line-height:1.15}
.cs-cta-btn{display:inline-block;background:var(--wh);color:var(--g);padding:14px 32px;border:none;border-radius:var(--r2);font-family:var(--fs);font-size:14px;font-weight:700;cursor:pointer}
.cs-cta-btn:hover{background:var(--gp)}

/* ─── RESPONSIVE ──────────────────────────────── */
@media(max-width:1024px){
  .cs-featured-inner{grid-template-columns:1fr;min-height:auto}
  .cs-feat-image{height:280px}
  .cs-stories-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .cs-hero-grid{grid-template-columns:1fr;gap:32px}
  .cs-hero-right{height:260px}
  .cs-hero-h1{font-size:34px}
  
  .cs-article-layout{grid-template-columns:1fr;gap:36px}
  .cs-article-sidebar{position:static}
  .cs-rel-grid{grid-template-columns:1fr 1fr}
  .cs-heritage-strip{flex-direction:column}
}
@media(max-width:768px){
  .cs-wrap{padding:0 20px}
  .cs-featured-inner{margin:0}
  .cs-feat-text{padding:40px 20px}
  .cs-feat-text h1{font-size:28px}
  .cs-filter-inner{padding:0 20px}
  .cs-stories-grid{grid-template-columns:1fr;gap:32px}
  .cs-pag-inner{padding:0 20px}
  .cs-hero-h1{font-size:28px}
  .cs-outcomes-grid{grid-template-columns:1fr}
  .cs-results-grid{grid-template-columns:1fr}
  .cs-rel-grid{grid-template-columns:1fr}
  .cs-final-cta h2{font-size:28px}
}

/* ─── KEY OUTCOMES full-width section (single) ── */
.cs-outcomes-section .cs-outcomes{padding-top:36px}

/* ─── NEWSLETTER / CTA row band (archive) ─────── */
.cs-newsletter{background:var(--gd);padding:40px 0}
.cs-newsletter-inner{max-width:1200px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.cs-newsletter-text h3{font-family:var(--fd);font-size:26px;color:var(--wh);line-height:1.2;max-width:480px}
.cs-newsletter-btn{background:var(--wh);color:var(--g);font-family:var(--fs);font-size:13px;font-weight:700;padding:13px 28px;border:none;border-radius:var(--r2);cursor:pointer;white-space:nowrap;transition:background .18s;flex-shrink:0;display:inline-block}
.cs-newsletter-btn:hover{background:var(--gp)}

@media(max-width:768px){
  .cs-newsletter-inner{padding:0 20px;flex-direction:column;gap:20px;text-align:center}
  .cs-newsletter-text h3{max-width:100%;font-size:22px}
}

/* block: stat cards (2x2 large stat cards) */
.cs-stat-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:28px 0}
.cs-stat{background:var(--cr);border:1px solid var(--bd);border-radius:var(--r3);padding:30px 34px}
.cs-stat-val{font-family:var(--fm);font-weight:700;font-size:46px;line-height:1;color:var(--g);display:block;margin-bottom:16px;letter-spacing:-1px}
.cs-stat-desc{font-size:15px;color:var(--st);line-height:1.7}
.cs-stat-desc strong{color:var(--g);font-weight:600}
.cs-stat-desc a{color:var(--g)}
@media(max-width:768px){.cs-stat-cards{grid-template-columns:1fr}.cs-stat-val{font-size:40px}}

/* block: origin (dark story panel) */
.cs-origin{position:relative;background:var(--em);border-radius:var(--r3);padding:42px 48px;margin:28px 0;overflow:hidden}
.cs-origin::after{content:'\201D';position:absolute;top:-6px;right:30px;font-family:var(--fd);font-size:120px;line-height:1;color:rgba(255,255,255,.10);pointer-events:none}
.cs-origin-label{display:block;position:relative;z-index:1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:rgba(200,237,214,.55);margin-bottom:18px}
.cs-origin-body{position:relative;z-index:1;font-size:16px;line-height:1.85;color:rgba(255,255,255,.80)}
.cs-origin-body p{color:rgba(255,255,255,.80);margin:0 0 1rem}
.cs-origin-body p:last-child{margin-bottom:0}
.cs-origin-body strong{color:#fff;font-weight:700}
.cs-origin-body em{font-style:italic}
.cs-origin-body a{color:var(--gxl);text-decoration:underline}
@media(max-width:768px){.cs-origin{padding:32px 26px}.cs-origin-body{font-size:15px}}

/* block: timeline */
.cs-timeline{position:relative;margin:28px 0}
.cs-timeline::before{content:'';position:absolute;left:8px;top:7px;bottom:7px;width:2px;background:var(--gxl)}
.cs-tl-item{position:relative;padding-left:34px;padding-bottom:26px}
.cs-tl-item:last-child{padding-bottom:0}
.cs-tl-dot{position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:var(--wh);border:2px solid var(--g);display:grid;place-items:center;z-index:1}
.cs-tl-dot::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--g)}
.cs-tl-year{font-family:var(--fm);font-weight:700;font-size:13px;color:var(--g);letter-spacing:.4px;margin-bottom:6px}
.cs-tl-body{font-size:15px;color:var(--st);line-height:1.7}
.cs-tl-body p{margin:0 0 .6rem}
.cs-tl-body p:last-child{margin-bottom:0}
.cs-tl-body strong{color:var(--e)}
