/* Editorial pages use the same quiet, text-first system as the public hubs. */
.reading-progress{
  position:absolute; left:0; bottom:-1px; z-index:2;
  width:0; height:2px; background:var(--gold);
}
.post-hero{
  padding:76px 24px 68px;
  background:var(--deep-navy);
  color:#fff;
}
.post-wrap{ max-width:780px; margin:0 auto; }
.post-kicker{
  color:var(--gold); font:500 11px/1.4 "Lexend",sans-serif;
  letter-spacing:.1em; text-transform:uppercase;
}
.post-hero h1{
  max-width:18ch; margin:18px 0 20px; color:#fff;
  font-size:clamp(40px,6vw,66px); line-height:1.05; letter-spacing:-.03em;
}
.post-dek{
  max-width:62ch; margin:0;
  color:#d3dde8; font:300 18px/1.65 "Lexend",sans-serif;
}
.post-meta{
  margin-top:24px; color:#aebdcd;
  font:400 12px/1.5 "Lexend",sans-serif;
}
.post-body{ padding:72px 24px 104px; background:#fff; }
.post-back{
  display:inline-block; margin-bottom:44px;
  color:var(--blue); font-size:13px; font-weight:500;
}
.post-body section{ margin:0 0 48px; }
.post-body section + section{ padding-top:44px; border-top:1px solid var(--line); }
.post-body h2{
  margin:0 0 18px; color:var(--deep-navy);
  font-size:clamp(26px,3vw,35px); line-height:1.2;
}
.post-body p,.post-body li{
  color:#3f4e61; font:350 16px/1.82 "Lexend",sans-serif;
}
.post-body p{ margin:0 0 18px; }
.post-body ul{ margin:8px 0 24px; padding-left:22px; }
.post-body li{ margin:0 0 8px; padding-left:5px; }
.post-body li::marker{ color:var(--gold); }
.post-callout{
  margin-top:64px; padding:32px;
  border:1px solid var(--line); border-radius:14px; background:var(--paper);
  color:#3f4e61; font-size:15px; line-height:1.7;
}
.post-callout strong{ display:block; margin-bottom:8px; color:var(--deep-navy); font-size:20px; }
.post-callout p{ margin:0 0 18px; font-size:14.5px; }

.case-hero .case-shell{ max-width:1020px; }
.case-shell{ max-width:1020px; margin:0 auto; }
.case-summary{
  display:grid; grid-template-columns:repeat(3,1fr);
  max-width:780px; margin-top:38px; border-top:1px solid rgba(255,255,255,.2);
}
.case-summary div{ padding:20px 24px 0 0; }
.case-summary span,.case-summary strong{ display:block; }
.case-summary span{
  margin-bottom:6px; color:#9fb0c3;
  font-size:10px; letter-spacing:.1em; text-transform:uppercase;
}
.case-summary strong{ color:#fff; font-size:14px; font-weight:500; }
.case-body{ padding:78px 24px 104px; }
.case-body > section,.case-body > figure{ margin:0 0 82px; }
.case-body > section + section{ padding-top:72px; border-top:1px solid var(--line); }
.case-body h2{
  max-width:21ch; margin:0 0 26px; color:var(--deep-navy);
  font-size:clamp(30px,4vw,45px); line-height:1.15;
}
.case-body h3{ margin:0 0 10px; color:var(--deep-navy); font-size:19px; }
.case-body p,.case-body li{ color:#465568; font:350 15px/1.8 "Lexend",sans-serif; }
.section-label{
  margin:0 0 14px!important; color:var(--blue)!important;
  font-size:10px!important; font-weight:600!important; letter-spacing:.12em; text-transform:uppercase;
}
.case-lede{ max-width:780px; font-size:18px!important; line-height:1.75!important; }
.case-metrics{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:28px; margin-top:38px; padding-top:30px; border-top:1px solid var(--line);
}
.case-metric{ padding:0; }
.case-metric strong{ display:block; color:var(--deep-navy); font-size:20px; font-weight:500; }
.case-metric span{ display:block; margin-top:7px; color:var(--slate); font-size:13px; line-height:1.55; }
.case-copy-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:38px 64px; }
.case-copy-grid p{ margin:0 0 14px; }
.case-flow{ margin-top:28px; }
.case-phase{
  display:grid; grid-template-columns:44px 1fr; gap:20px;
  padding:26px 0; border-top:1px solid var(--line);
}
.case-phase:last-child{ border-bottom:1px solid var(--line); }
.case-phase > span{ color:var(--gold); font:600 12px/1.6 "Lexend",sans-serif; }
.case-phase p{ margin:0; }
.case-quote{
  margin:0; padding:38px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.case-quote blockquote{
  max-width:900px; margin:0;
  color:var(--deep-navy); font:300 clamp(25px,3.5vw,38px)/1.4 "Lexend",sans-serif;
}
.case-attribution{ margin-top:22px; color:var(--slate); font-style:normal; font-size:13px; }
.case-attribution span{ display:block; margin-top:4px; }
.case-cta{
  display:flex; align-items:center; justify-content:space-between; gap:48px;
  margin-bottom:0!important; padding:42px!important; border:0!important;
  border-radius:16px; background:var(--deep-navy);
}
.case-cta h2{ margin-bottom:10px; color:#fff; font-size:clamp(27px,3vw,36px); }
.case-cta p:not(.section-label){ max-width:620px; margin:0; color:#becbd8; }
.case-cta .btn{ flex:0 0 auto; }

@media(max-width:760px){
  .post-hero{ padding:58px 22px 52px; }
  .post-body{ padding:52px 22px 76px; }
  .case-summary,.case-metrics,.case-copy-grid{ grid-template-columns:1fr; }
  .case-summary{ gap:18px; }
  .case-summary div{ padding-top:14px; }
  .case-body{ padding:56px 22px 80px; }
  .case-body > section,.case-body > figure{ margin-bottom:62px; }
  .case-body > section + section{ padding-top:54px; }
  .case-cta{ display:block; padding:32px 24px!important; }
  .case-cta .btn{ margin-top:22px; }
  .post-hero h1{ font-size:clamp(34px,11vw,48px); overflow-wrap:anywhere; }
  .post-dek{ font-size:16px; }
  .post-body p,.post-body li{ font-size:15px; }
  .case-quote blockquote{ overflow-wrap:anywhere; }
}

@media(prefers-color-scheme:dark){
  .post-body,.case-body{ background:#111923; }
  .post-body h2,.case-body h2,.case-body h3,.case-metric strong,.case-quote blockquote,.post-callout strong{ color:#f1f5f9; }
  .post-body p,.post-body li,.case-body p,.case-body li{ color:#c7d2df; }
  .post-callout{ background:#182231; border-color:var(--line); }
  .post-callout p{ color:#c7d2df; }
  .post-back{ color:#86c7f2; }
}
