/* New editorial sections; all rules are scoped to preserve the existing site. */
.content-expansion{padding-block:16px 32px}
.content-block{display:grid;gap:36px 64px;padding-block:80px;border-top:1px solid var(--line);min-width:0}
.content-block>*{min-width:0}
.cb-heading h2{font-size:clamp(34px,3.4vw,52px);line-height:1.08;letter-spacing:-.027em;text-wrap:balance;font-weight:400;max-width:920px}
.cb-lead{font-size:20px;line-height:1.5;margin-top:24px;max-width:900px;color:#52676f}
.cb-items{display:grid;gap:28px}
.cb-item{display:flex;gap:16px;align-items:flex-start;min-width:0}
.cb-item>div{min-width:0}
.cb-index{flex-shrink:0;color:#007c87;font-size:15px;line-height:1.5;padding-top:3px;font-variant-numeric:tabular-nums}
.cb-item h3{font-size:25px;line-height:1.2;letter-spacing:-.015em;margin-bottom:12px;text-wrap:balance}
.cb-item p{font-size:18px;line-height:1.55;color:#596970}
.cb-visual{align-self:center;min-width:0;margin:0}
.cb-image{background:#f1f7f8;border:1px solid #d9e7e9;border-radius:24px;overflow:hidden;isolation:isolate}
.cb-image img{display:block;width:100%;height:auto;aspect-ratio:3/2}
.cb-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:18px;align-items:baseline}
.cb-legend span{display:inline-flex;align-items:baseline;gap:8px;color:#2d535e;font-size:16px;line-height:1.4}
.cb-legend b{color:#007c87;font-size:14px;font-weight:500}
.cb-visual figcaption{font-size:15px;line-height:1.5;color:#62757c;margin-top:14px;max-width:650px}
.cb-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"heading visual" "items visual";row-gap:32px}
.cb-split .cb-heading{grid-area:heading}.cb-split .cb-items{grid-area:items}.cb-split .cb-visual{grid-area:visual}
.cb-spread{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"heading heading" "visual items";align-items:center}
.cb-spread .cb-heading{grid-area:heading}.cb-spread .cb-items{grid-area:items;padding-left:24px;border-left:1px solid var(--line)}.cb-spread .cb-visual{grid-area:visual}
.cb-rail{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"heading items" "visual items";row-gap:32px}
.cb-rail .cb-heading{grid-area:heading}.cb-rail .cb-items{grid-area:items;align-content:center;gap:0}.cb-rail .cb-item{padding-block:24px;border-bottom:1px solid var(--line)}.cb-rail .cb-item:first-child{padding-top:0}.cb-rail .cb-visual{grid-area:visual;max-width:500px}
.cb-compare{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"heading heading" "items visual";align-items:center}
.cb-compare .cb-heading{grid-area:heading}.cb-compare .cb-items{grid-area:items;gap:0}.cb-compare .cb-item{padding:28px 0;border-top:1px solid var(--line)}.cb-compare .cb-item:first-child{padding-top:0;border-top:0}.cb-compare .cb-index{display:none}.cb-compare .cb-visual{grid-area:visual}
.cb-note{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"heading visual" "items visual";padding:48px;border:1px solid #dce7e9;border-radius:28px;background:#f6f9f9;margin-block:24px 64px;row-gap:28px}
.cb-note .cb-heading{grid-area:heading}.cb-note .cb-items{grid-area:items}.cb-note .cb-visual{grid-area:visual}.cb-note .cb-heading h2{font-size:clamp(32px,3.1vw,46px)}.cb-note .cb-item h3{font-size:24px}
/* Progressive enhancement: nothing is hidden while JS or observers are absent. */
@media(prefers-reduced-motion:no-preference){
  .content-block.is-entering[data-motion=mask] .cb-image img{animation:cb-mask .72s cubic-bezier(.22,.61,.36,1) both}
  .content-block.is-entering[data-motion=trace] .cb-image img{animation:cb-trace .7s cubic-bezier(.25,.46,.45,.94) both}
  .content-block.is-entering[data-motion=slide] .cb-image img{animation:cb-slide .64s cubic-bezier(.2,.7,.25,1) both}
  .content-block.is-entering[data-motion=settle] .cb-image img{animation:cb-settle .66s cubic-bezier(.2,.65,.3,1) both}
  .content-block.is-entering .cb-item{animation:cb-copy .42s ease-out both}
  .content-block.is-entering .cb-item:nth-child(2){animation-delay:.08s}
  .content-block.is-entering .cb-item:nth-child(3){animation-delay:.16s}
}
@keyframes cb-mask{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes cb-trace{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes cb-slide{from{opacity:.25;transform:translateX(22px)}to{opacity:1;transform:none}}
@keyframes cb-settle{from{opacity:.65;transform:scale(.965)}to{opacity:1;transform:none}}
@keyframes cb-copy{from{opacity:.4}to{opacity:1}}
@media(max-width:1100px){.content-block{column-gap:40px}.cb-note{padding:36px}.cb-item h3{font-size:24px}.cb-item p{font-size:17px}.cb-lead{font-size:19px}}
@media(max-width:850px){
  .content-block{padding-block:56px;gap:28px;grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "visual" "items"}
  .cb-heading h2{font-size:40px;max-width:710px}.cb-lead{font-size:19px}.cb-visual{width:100%;max-width:600px;justify-self:center}
  .cb-spread .cb-items{padding-left:0;border-left:0}.cb-rail .cb-visual{max-width:600px}.cb-rail .cb-items{gap:0}.cb-rail .cb-item:first-child{padding-top:0}
  .cb-note{padding:32px;margin-block:16px 48px}.cb-note .cb-heading h2{font-size:38px}
}
@media(max-width:500px){
  .content-expansion{padding-block:8px 16px}.content-block{padding-block:44px;gap:26px}.cb-heading h2{font-size:34px;letter-spacing:-.025em}.cb-lead{font-size:18px;margin-top:20px}
  .cb-item{gap:12px}.cb-item h3{font-size:24px}.cb-item p{font-size:17px}.cb-items{gap:24px}.cb-index{font-size:14px}.cb-image{border-radius:20px}.cb-legend{gap:10px 14px;margin-top:14px}.cb-legend span{font-size:15px}.cb-visual figcaption{font-size:14px;margin-top:12px}
  .cb-note{padding:24px 20px;margin-block:12px 36px;border-radius:24px}.cb-note .cb-heading h2{font-size:32px}.cb-note .cb-index{display:none}
}
@media(max-width:350px){.cb-heading h2{font-size:30px}.cb-note .cb-heading h2{font-size:29px}.cb-lead{font-size:17px}.cb-item h3,.cb-note .cb-item h3{font-size:22px}.cb-note{padding:24px 16px}.cb-legend{column-gap:12px}.cb-legend span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.content-expansion *,.content-expansion *::before,.content-expansion *::after{animation:none!important;transition:none!important;transform:none!important;clip-path:none!important}}
