/* Capermint's shared single-post reading template. Menu offsets are scoped to single posts. */
.csb {
  --csb-ink: #151b20;
  --csb-copy: #37414a;
  --csb-muted: #64716d;
  --csb-line: #e1e8e4;
  --csb-paper: #fff;
  --csb-soft: #f4f8f5;
  --csb-mint: #92f5cd;
  --csb-link: #08734f;
  --csb-dark: #0a0e12;
  --csb-header-offset: 92px;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: var(--csb-paper);
  color: var(--csb-ink);
  font-family: "CMM Poppins", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.75;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: anywhere;
}
.csb *, .csb *::before, .csb *::after { box-sizing: border-box; }
.csb .csb-shell { width: 90%; max-width: 1612px; margin: 0 auto; }
.csb a { text-decoration: none; }
.csb a:focus-visible, .csb button:focus-visible, .csb summary:focus-visible,
.csb [tabindex="0"]:focus-visible { outline: 3px solid #148462; outline-offset: 5px; }
.csb .csb-progress { position: fixed; z-index: 20009; top: var(--csb-header-offset); left: 0; width: 100%; height: 3px; pointer-events: none; background: transparent; }
.csb .csb-progress > span { display: block; width: 100%; height: 100%; background: #36c98e; transform: scaleX(0); transform-origin: left center; }
.csb .csb-hero { background: var(--csb-dark); color: #fff; padding: 38px 0 62px; }
.csb .csb-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 40px; color: #aab8b0; font-size: 13px; line-height: 1.6; }
.csb .csb-breadcrumb a { color: #d1ddd5; }
.csb .csb-breadcrumb a:hover { color: var(--csb-mint); text-decoration: underline; text-underline-offset: 4px; }
.csb .csb-kicker { display: inline-block; margin: 0 0 18px; color: var(--csb-mint); font-size: 12px; font-weight: 600; line-height: 1.6; letter-spacing: .12em; text-transform: uppercase; }
.csb .csb-kicker a { color: inherit; }
.csb h1.csb-title { max-width: 1120px; margin: 0 0 24px; color: #fff; font-family: inherit; font-size: clamp(34px, 4.2vw, 64px); font-weight: 600; line-height: 1.17; letter-spacing: -.04em; text-transform: none; }
.csb .csb-deck { max-width: 900px; margin: 0 0 27px; color: #c6d1ca; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.75; font-weight: 400; }
.csb .csb-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 22px; color: #b9c9bf; font-size: 13px; line-height: 1.65; }
.csb .csb-meta a, .csb .csb-meta strong { color: #f0f6f2; font-weight: 500; }
.csb .csb-meta a:hover { color: var(--csb-mint); }
.csb .csb-featured { margin: 36px 0 0; padding: 0; }
.csb .csb-featured img { display: block; width: 100%; max-width: 100%; height: auto; max-height: none; margin: 0; border: 1px solid #26322c; border-radius: 16px; object-fit: contain; }
.csb .csb-featured figcaption { margin: 12px 0 0; color: #b9c9bf; font-size: 13px; line-height: 1.6; }
.csb .csb-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 48px; align-items: start; padding-top: 64px; padding-bottom: 64px; }
.csb .csb-main { min-width: 0; }
.csb .csb-content { display: flow-root; width: 100%; max-width: none; margin: 0 auto 0 0; padding: 0; color: var(--csb-copy); font-family: inherit; font-size: 16px; line-height: 1.75; background: transparent; }
.csb .csb-content .csb-retained-anchor { display: block !important; width: 0 !important; height: 0 !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; overflow: hidden; line-height: 0 !important; font-size: 0 !important; }
.csb .csb-content .csb-retained-anchor::before, .csb .csb-content .csb-retained-anchor::after { content: none !important; }

/* Legacy visual wrappers become part of one reading column, retaining their text. */
.csb .csb-content :where(.wrap, .hero, .art, .article, .article-body, .container, .container-fluid, .main-content) {
  display: block !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: inherit !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
  overflow: visible !important;
}
.csb .csb-content .hero::before, .csb .csb-content .hero::after { content: none !important; }
.csb .csb-content :where(p, li, dt, dd, blockquote, caption, figcaption) {
  font-family: inherit !important;
  color: var(--csb-copy) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.csb .csb-content p { margin: 0 0 1.4em !important; }
.csb .csb-content :where(p, li, td, th, blockquote, h1, h2, h3, h4, h5, h6) :where(span, a, em, strong) {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
  background: transparent !important;
}
.csb .csb-content :where(span[style], div[style]) { max-width: 100%; }
.csb .csb-content :where(h1, h2, h3, h4, h5, h6) {
  position: static;
  color: var(--csb-ink) !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
  scroll-margin-top: calc(var(--csb-header-offset) + 30px);
}
.csb .csb-content :is(h1, h2, h3, h4, h5, h6) span.box { display: inline !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; font: inherit !important; line-height: inherit !important; vertical-align: baseline !important; white-space: normal !important; }
.csb .csb-content h1, .csb .csb-content h2 { margin: 40px 0 .8em !important; font-size: clamp(26px, 2.4vw, 34px) !important; line-height: 1.32 !important; }
.csb .csb-content h3 { margin: 28px 0 .65em !important; font-size: clamp(22px, 1.8vw, 26px) !important; line-height: 1.4 !important; }
.csb .csb-content h4 { margin: 1.6em 0 .6em !important; font-size: 20px !important; line-height: 1.5 !important; }
.csb .csb-content h5, .csb .csb-content h6 { margin: 1.5em 0 .6em !important; font-size: 18px !important; line-height: 1.5 !important; }
.csb .csb-content > :first-child { margin-top: 0 !important; }
.csb .csb-content a:not(.csb-button) { color: var(--csb-link) !important; text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 4px; }
.csb .csb-content a:not(.csb-button):hover { color: #064b35 !important; text-decoration-thickness: 2px !important; }
.csb .csb-content strong, .csb .csb-content b { color: var(--csb-ink) !important; font-weight: 600 !important; }
.csb .csb-content :where(ul, ol) { margin: 1.1em 0 1.6em !important; padding: 0 0 0 1.35em !important; }
.csb .csb-content li { margin: .45em 0 !important; padding-left: .2em; }
.csb .csb-content li::marker { color: #08734f; font-weight: 600; }
.csb .csb-content .chk { padding: 0 !important; list-style: none; }
.csb .csb-content .chk li { display: block !important; position: relative; padding-left: 44px !important; overflow-wrap: break-word; word-break: normal; }
.csb .csb-content .chk li::before { position: absolute; left: 14px; top: calc(.65rem + .375em); margin: 0 !important; }
.csb .csb-content .chk li :is(strong, b, code, a) { display: inline !important; white-space: normal; }
.csb .csb-content li :where(ul, ol) { margin-top: .45em !important; margin-bottom: .7em !important; }
.csb .csb-content hr { height: 1px; margin: 2.6em 0 !important; padding: 0; border: 0; background: var(--csb-line); }
.csb .csb-content blockquote { margin: 2em 0 !important; padding: 20px 26px !important; border: 0 !important; border-left: 4px solid #53d8a1 !important; border-radius: 0 10px 10px 0; background: var(--csb-soft) !important; font-style: normal; }
.csb .csb-content blockquote p:last-child { margin-bottom: 0 !important; }
.csb .csb-content :where(img, video, canvas, svg) { max-width: 100%; }
.csb .csb-content img { height: auto !important; max-height: none; border-radius: 12px; object-fit: contain; }
.csb .csb-content img.alignnone { margin-right: 0 !important; }
.csb .csb-content figure { max-width: 100%; margin: 2em 0; }
.csb .csb-content figcaption, .csb .csb-content .wp-caption-text { margin: .8em 0 0 !important; color: var(--csb-muted) !important; font-size: 13px !important; line-height: 1.7 !important; }
.csb .csb-content .wp-caption { max-width: 100%; }
.csb .csb-content :where(iframe, embed, object) { max-width: 100%; }
.csb .csb-content iframe[src*="youtube"], .csb .csb-content iframe[src*="vimeo"] { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.csb .csb-content pre { max-width: 100%; margin: 1.8em 0; padding: 22px; overflow: auto; border: 1px solid var(--csb-line); border-radius: 10px; background: var(--csb-soft); color: var(--csb-ink); font-size: 14px; line-height: 1.7; }
.csb .csb-content code { padding: .1em .25em; background: var(--csb-soft); color: inherit; font-size: .9em; white-space: normal; overflow-wrap: anywhere; }
.csb .csb-content pre code { padding: 0; background: transparent; font-size: inherit; white-space: pre; overflow-wrap: normal; }
.csb .csb-content .csb-table-wrap { width: 100%; max-width: 100%; margin: 1.8em 0; overflow-x: auto; border: 1px solid var(--csb-line); border-radius: 12px; scrollbar-width: thin; scrollbar-color: #92b5a4 #f5f8f6; -webkit-overflow-scrolling: touch; }
.csb .csb-content table { display: block; width: 100% !important; max-width: 100%; margin: 1.8em 0 !important; overflow-x: auto; border-collapse: collapse !important; border-spacing: 0 !important; border: 1px solid var(--csb-line); background: #fff !important; font-family: inherit !important; font-size: 15px !important; line-height: 1.7 !important; }
.csb .csb-content .csb-table-wrap table { display: table; max-width: none; min-width: 100%; margin: 0 !important; border: 0 !important; overflow: visible; }
.csb .csb-content :where(th, td) { min-width: 130px; padding: 16px 20px !important; border: 0 !important; border-bottom: 1px solid var(--csb-line) !important; color: var(--csb-copy) !important; background: #fff !important; font-family: inherit !important; font-size: 15px !important; line-height: 1.7 !important; text-align: left !important; vertical-align: top !important; }
.csb .csb-content th { color: #183327 !important; background: #edf6f0 !important; font-weight: 600 !important; }
.csb .csb-content tr:nth-child(even) td { background: #f8faf8 !important; }
.csb .csb-content tbody tr:last-child td { border-bottom: 0 !important; }
.csb .csb-content caption { padding: 12px 16px; font-size: 14px !important; text-align: left; }
.csb .csb-content .alignleft { margin: 0 24px 20px 0; }
.csb .csb-content .alignright { margin: 0 0 20px 24px; }
.csb .csb-content .aligncenter { display: block; margin-left: auto; margin-right: auto; }

/* Legacy illustrations retain every label but no longer squeeze into narrow cards. */
.csb .csb-content :is(.flow-box, .infographic, .chart-card, .stat-card, .quick-answer, .eng-card, .why-card, .mon-card, .svc-card, .comp-card, .market-card, .lead-block) { min-width: 0; max-width: 100%; }
.csb .csb-content :is(.flow-box, .infographic, .chart-card, .stat-card, .quick-answer, .eng-card, .why-card, .mon-card, .svc-card, .comp-card, .market-card, .lead-block) :is(h2, h3, h4) { margin: 0 0 14px !important; }
.csb .csb-content :is(.flow-row, .phase-row) { min-width: 0; }
.csb .csb-content :is(.flow-step, .phase-step) { min-width: 0; height: auto; overflow-wrap: anywhere; }
.csb .csb-content :is(.stat-num, .tier-price, .cap-rib-num, .india-card-num, .rev-pct, .price-range, .market-card-num, .tier-vis-price) { min-width: 0; height: auto !important; line-height: 1.35 !important; }
.csb .csb-content :is(.ci, .callout-icon, .device-tab-ico) { line-height: 0 !important; }
.csb .csb-content :is(.ci, .callout-icon, .device-tab-ico) > svg { display: block; }
.csb .csb-content .flow-box > .flow-row + :is(div, p), .csb .csb-content .phase-box > .phase-row + div { margin-top: 24px !important; }
.csb .csb-content :is(.ss-pair, .dual-img-row, .game-ui-row) > *, .csb .csb-content :is(.stat-grid, .mat-grid, .ss-4grid, .tier-visual, .mon-grid, .eng-grid, .why-grid, .svc-grid, .comp-grid, .market-grid) > * { min-width: 0; }
.csb .csb-content :is(.lead-block, .svc-card) :is(h2, h3, h4) { color: #fff !important; }
.csb .csb-content :is(.lead-block, .svc-card) p { color: #e0e9e3 !important; }
.csb .csb-content :is(.lead-block, .svc-card) :is(h2, h3, h4, p) :is(strong, b, span) { color: inherit !important; }
.csb .csb-content .svc-card a.svc-link, .csb .csb-content a.store-btn { color: #fff !important; text-decoration: none !important; }
.csb .csb-content .svc-card a.svc-link:hover, .csb .csb-content a.store-btn:hover { color: #fff !important; text-decoration: none !important; }
.csb .csb-content .svc-card > * { min-width: 0; max-width: 100%; }
.csb .csb-content .svc-card a.svc-link { flex-shrink: 1; white-space: normal; text-align: center; }
.csb .csb-content .game-logo-wrap { flex-direction: column; height: auto !important; min-height: 72px; }
.csb .csb-content .game-logo-wrap > img { flex: none; width: 100%; }
.csb .csb-content .game-logo-wrap > .game-logo-fallback { width: 100%; min-width: 0; height: auto; font-size: 13px !important; line-height: 1.5 !important; text-align: center; white-space: normal; }
.csb .csb-content .screens { flex-wrap: wrap; overflow-x: visible; justify-content: center; }
.csb .csb-content .screens > .screen-item { flex: 0 1 180px; min-width: 0; max-width: 100%; }
.csb .csb-content .mockup-row { flex-wrap: wrap; overflow: visible; justify-content: center; }
.csb .csb-content .mockup-row > .mockup-frame { flex: 0 1 200px; min-width: 0; max-width: 100%; }
.csb .csb-content .flow-body { min-width: 0; }
.csb .csb-content .flow-body h4 { margin: 0 0 10px !important; }
.csb .csb-content .flow-body p:last-child { margin-bottom: 0 !important; }
.csb .csb-content a.store-btn :is(strong, b, span) { color: inherit !important; }
.csb .csb-content a.lead-btn { max-width: 100%; color: #25341a !important; text-align: center; text-decoration: none !important; white-space: normal; }
.csb .csb-content .blog-cta { flex-wrap: wrap !important; gap: 16px !important; }
.csb .csb-content .blog-cta > * { min-width: 0; max-width: 100%; }
.csb .csb-content a > button { min-height: 44px !important; max-width: 100% !important; height: auto !important; font-family: inherit; font-size: 14px; line-height: 1.6; white-space: normal; }
.csb .csb-content a > button :is(strong, b, span) { color: inherit !important; }
.csb .csb-content .csb-legacy-intro { margin: 0 0 34px; padding: 0 0 30px; border: 0; border-bottom: 1px solid var(--csb-line); background: transparent; color: var(--csb-copy); text-align: left; }
.csb .csb-content .csb-article-lead { margin: 0 0 22px !important; color: var(--csb-copy) !important; font-size: 17px !important; line-height: 1.8 !important; }
.csb .csb-content .csb-intro-label { display: inline-block; margin: 0 0 13px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--csb-link) !important; font-family: inherit !important; font-size: 12px !important; font-weight: 600; line-height: 1.6 !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
.csb .csb-content .csb-stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 16px; margin: 27px 0 0; padding: 0; border: 0; }
.csb .csb-content .csb-stat { min-width: 0; padding: 18px; border: 1px solid var(--csb-line); border-radius: 10px; background: var(--csb-soft); text-align: left; }
.csb .csb-content .csb-stat-value { display: block; margin: 0 0 8px; color: #126646 !important; font-family: inherit !important; font-size: 26px !important; font-weight: 600; line-height: 1.3 !important; }
.csb .csb-content .csb-stat-label { display: block; margin: 0; color: #5a6c61 !important; font-family: inherit !important; font-size: 12px !important; line-height: 1.7 !important; letter-spacing: normal !important; text-transform: none !important; }
.csb .csb-content .csb-content-cta { margin: 32px 0; padding: 28px; border: 1px solid #d7e8dd; border-radius: 12px; background: #f0f8f3; color: var(--csb-copy); text-align: left; }
.csb .csb-content .csb-content-cta :where(h2, h3) { margin: 0 0 14px !important; color: #1b3929 !important; font-size: 25px !important; line-height: 1.4 !important; }
.csb .csb-content .csb-content-cta p { margin: 0 0 19px !important; font-size: 16px !important; line-height: 1.85 !important; }
.csb .csb-content .csb-content-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 22px 0 0; padding: 0; }
.csb .csb-content a.csb-content-button, .csb .csb-content a.csb-button { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 9px; min-height: 48px !important; margin: 0; padding: 12px 19px !important; border: 1px solid transparent !important; border-radius: 9px !important; background: var(--csb-mint) !important; color: #0c291b !important; font-family: inherit !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.6 !important; text-align: center !important; text-decoration: none !important; box-shadow: none !important; }
.csb .csb-content a.csb-content-button:hover, .csb .csb-content a.csb-button:hover { background: #6ee9b7 !important; border-color: #36ba89 !important; color: #0c291b !important; text-decoration: none !important; }
.csb .csb-content a.csb-content-link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 15px; border: 1px solid #accbbb; border-radius: 9px; background: transparent !important; color: var(--csb-link) !important; font-size: 14px !important; font-weight: 500; line-height: 1.6 !important; text-decoration: none !important; }
.csb .csb-content a.csb-content-link:hover { background: #e9f5ee !important; text-decoration: none !important; }
.csb .csb-faq { margin: 3em 0 0; }
.csb .csb-faq-item { margin: 0 0 12px; padding: 0; border: 1px solid var(--csb-line); border-radius: 12px; background: #fff; }
.csb .csb-faq-item > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 56px; margin: 0; padding: 20px 23px; color: var(--csb-ink); font-family: inherit; font-size: 18px; font-weight: 500; line-height: 1.6; list-style: none; cursor: pointer; }
.csb .csb-faq-item > summary::-webkit-details-marker { display: none; }
.csb .csb-faq-item > summary::after { content: "+"; flex: 0 0 auto; color: #138761; font-size: 25px; font-weight: 400; line-height: 1; }
.csb .csb-faq-item[open] > summary::after { content: "−"; }
.csb .csb-faq-item[open] > summary { padding-bottom: 13px; }
.csb .csb-faq-item > div { margin: 0; padding: 0 23px 22px; color: var(--csb-copy); }
.csb .csb-faq-item > div > :last-child { margin-bottom: 0 !important; }

.csb .csb-rail { position: sticky; top: calc(var(--csb-header-offset) + 26px); min-width: 0; }
.csb .csb-toc { margin: 0 0 28px; border: 1px solid var(--csb-line); border-radius: 14px; background: #fff; }
.csb .csb-toc > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 22px; color: var(--csb-ink); font-size: 14px; font-weight: 600; line-height: 1.6; list-style: none; cursor: pointer; }
.csb .csb-toc > summary::-webkit-details-marker { display: none; }
.csb .csb-toc > summary > span[aria-hidden="true"] { display: none; }
.csb .csb-toc > summary::after { content: "+"; flex: 0 0 auto; font-size: 22px; font-weight: 400; line-height: 1; }
.csb .csb-toc[open] > summary::after { content: "−"; }
.csb .csb-toc nav { max-height: min(52vh, 470px, var(--csb-toc-max-height, 470px)); padding: 0 12px 16px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #b3cabd transparent; }
.csb .csb-toc ol { margin: 0; padding: 0; list-style: none; }
.csb .csb-toc li { margin: 0; padding: 0; }
.csb .csb-toc .csb-toc-link { display: block; padding: 9px 10px; border-left: 2px solid transparent; border-radius: 0 5px 5px 0; color: #57635c; font-size: 13px; font-weight: 400; line-height: 1.65; text-decoration: none; transition: color 140ms ease, background 140ms ease; }
.csb .csb-toc .csb-toc-link:hover { color: var(--csb-link); background: #f3f8f4; }
.csb .csb-toc .csb-toc-link[aria-current="location"] { color: #075d40; background: #edf8f0; border-left-color: #20b879; font-weight: 500; }
.csb .csb-toc .csb-toc-link[data-level="3"], .csb .csb-toc li.csb-toc-sub .csb-toc-link { padding-left: 22px; font-size: 12px; }
.csb .csb-rail-card { padding: 25px 22px; border: 1px solid #dce8e0; border-radius: 14px; background: #f1f8f3; }
.csb .csb-rail-card :where(h2, h3) { margin: 0 0 12px; color: #17271e; font-size: 21px; font-family: inherit; font-weight: 600; line-height: 1.4; letter-spacing: -.02em; }
.csb .csb-rail-card p { margin: 0 0 18px; color: #506258; font-size: 13px; line-height: 1.85; }
.csb .csb-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 20px; border: 1px solid transparent; border-radius: 9px; background: var(--csb-mint); color: #0c291b !important; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; text-align: center; text-decoration: none !important; cursor: pointer; transition: background 140ms ease, border-color 140ms ease; }
.csb .csb-button:hover { color: #0c291b !important; background: #6ee9b7; border-color: #36ba89; }
.csb .csb-rail-card .csb-button { width: 100%; }
.csb .csb-share { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; max-width: none; margin: 34px 0 0; padding-top: 26px; border-top: 1px solid var(--csb-line); }
.csb .csb-share > span { margin-right: 8px; color: var(--csb-muted); font-size: 13px; }
.csb .csb-share :where(button, a) { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 10px 15px; border: 1px solid var(--csb-line); border-radius: 8px; background: #fff; color: var(--csb-ink); font-family: inherit; font-size: 13px; font-weight: 500; line-height: 1.6; text-decoration: none; cursor: pointer; }
.csb .csb-share :where(button, a):hover { color: var(--csb-link); border-color: #adcbbb; background: var(--csb-soft); }
.csb .csb-copy-status { flex-basis: 100%; min-height: 0; margin: 0; color: #466454; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.csb .csb-copy-status:empty { display: none; }
.csb .csb-byline { max-width: none; margin: 36px 0 0; padding: 26px 0; border-top: 1px solid var(--csb-line); border-bottom: 1px solid var(--csb-line); }
.csb .csb-author { display: flex; align-items: flex-start; gap: 17px; margin: 0; padding: 0; }
.csb .csb-author-avatar { display: flex; align-items: center; justify-content: center; flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; overflow: hidden; background: #eff6f1; }
.csb .csb-author-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.csb .csb-author-copy { min-width: 0; }
.csb .csb-author-copy :where(h2, h3, strong, a) { margin: 0 0 6px; color: var(--csb-ink); font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.7; }
.csb .csb-author-copy p { margin: 5px 0 0; color: var(--csb-muted); font-size: 13px; line-height: 1.85; }
.csb .csb-end-cta { margin: 0 auto 64px; padding: clamp(28px, 4vw, 54px); border-radius: 18px; background: var(--csb-dark); color: #fff; }
.csb .csb-end-cta :where(h2, h3) { max-width: 780px; margin: 0 0 14px; color: #fff; font-family: inherit; font-size: clamp(26px, 2.6vw, 38px); font-weight: 600; line-height: 1.3; letter-spacing: -.03em; }
.csb .csb-end-cta p { max-width: 750px; margin: 0 0 24px; color: #c0cec5; font-size: 16px; line-height: 1.8; }
.csb .csb-end-cta .csb-kicker { margin: 0 0 16px; color: var(--csb-mint); font-size: 12px; font-weight: 600; }
.csb .csb-related { margin: 0 auto; padding: 0 0 72px; }
.csb .csb-related > .csb-kicker { color: var(--csb-link); }
.csb .csb-related > h2 { margin: 0 0 28px; color: var(--csb-ink); font-family: inherit; font-size: clamp(25px, 2.4vw, 34px); font-weight: 600; line-height: 1.35; letter-spacing: -.03em; }
.csb .csb-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.csb .csb-related-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--csb-line); border-radius: 14px; background: #fff; color: var(--csb-ink); transition: border-color 150ms ease, box-shadow 150ms ease; }
.csb .csb-related-card:hover { border-color: #97bcaa; box-shadow: 0 9px 28px rgb(20 60 35 / 6%); }
.csb .csb-related-image { display: block; width: 100%; margin: 0; padding: 0; background: #edf3ef; }
.csb .csb-related-image img { display: block; width: 100%; height: auto; margin: 0; object-fit: contain; }
.csb .csb-related-copy { flex: 1; padding: 23px; }
.csb .csb-related-copy :where(h3, h2) { margin: 0 0 13px; color: var(--csb-ink); font-family: inherit; font-size: 20px; font-weight: 600; line-height: 1.5; letter-spacing: -.02em; }
.csb .csb-related-copy :where(p, time, span) { margin: 0; color: var(--csb-muted); font-size: 12px; line-height: 1.7; }
body.csb-active.admin-bar .csb { --csb-header-offset: 124px; }
body.csb-active .progress-container-top { display: none !important; }
@supports (overflow: clip) {
  body.csb-active { overflow-x: clip !important; overflow-y: visible !important; }
}

@media (min-width: 981px) {
  .csb .csb-rail { max-height: calc(100vh - var(--csb-header-offset) - 52px); max-height: calc(100dvh - var(--csb-header-offset) - 52px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #b3cabd transparent; }
}
@media (min-width: 1101px) {
  .csb .csb-hero > .csb-shell:has(> .csb-featured) { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: 50px; row-gap: 0; align-items: start; }
  .csb .csb-hero > .csb-shell:has(> .csb-featured) > .csb-breadcrumb { grid-column: 1 / -1; grid-row: 1; }
  .csb .csb-hero > .csb-shell:has(> .csb-featured) > :where(.csb-kicker, .csb-title, .csb-deck, .csb-meta) { grid-column: 1; min-width: 0; }
  .csb .csb-hero > .csb-shell:has(> .csb-featured) > h1.csb-title { font-size: clamp(34px, 3.5vw, 56px); }
  .csb .csb-hero > .csb-shell:has(> .csb-featured) > .csb-featured { grid-column: 2; grid-row: 2 / span 4; align-self: center; width: 100%; min-width: 0; margin: 0; }
}
@media (min-width: 1600px) {
  .csb .csb-layout { grid-template-columns: minmax(0, 1fr) 310px; }
}
@media (max-width: 1100px) {
  .csb .csb-layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 40px; }
  .csb .csb-toc > summary { padding: 18px; }
  .csb .csb-rail-card { padding: 22px 18px; }
  .csb .csb-content :is(.flow-row, .phase-row) { flex-direction: column; align-items: stretch; gap: 8px; }
  .csb .csb-content :is(.flow-arrow, .phase-arrow) { justify-content: center; min-height: 20px; transform: none !important; }
  .csb .csb-content :is(.flow-arrow, .phase-arrow) svg { transform: rotate(90deg); }
  .csb .csb-content .mflow-row { display: flex !important; flex-direction: column; align-items: stretch; gap: 12px; overflow: visible; padding-bottom: 0; }
  .csb .csb-content .mflow-step { min-width: 0; width: 100%; height: auto; }
  .csb .csb-content .mflow-arrow { display: block !important; align-self: center; transform: rotate(90deg); }
}
@media (max-width: 980px) {
  .csb { --csb-header-offset: 78px; }
  body.csb-active.admin-bar .csb { --csb-header-offset: 110px; }
  .csb .csb-hero { padding: 28px 0 40px; }
  .csb .csb-breadcrumb { margin-bottom: 28px; }
  .csb .csb-title { max-width: 100%; }
  .csb .csb-layout { display: flex; flex-direction: column; gap: 0; padding-top: 30px; padding-bottom: 44px; }
  .csb .csb-main { order: 2; width: 100%; }
  .csb .csb-rail { position: static; order: 1; width: 100%; }
  .csb .csb-toc { max-width: none; margin: 0 0 32px; }
  .csb .csb-toc nav { max-height: 360px; }
  .csb .csb-rail-card { display: none; }
  .csb .csb-related-grid { gap: 18px; }
  .csb .csb-related-copy { padding: 18px; }
  .csb .csb-related-copy :where(h3, h2) { font-size: 17px; }
}
@media (max-width: 782px) {
  body.csb-active.admin-bar #capermint-dynamic-mega-menu.cmm { top: var(--csb-admin-mobile-top, 46px) !important; }
  body.csb-active.admin-bar .csb { --csb-header-offset: 124px; }
}
@media (max-width: 640px) {
  .csb { font-size: 15px; }
  .csb .csb-shell { width: calc(100% - 40px); }
  .csb .csb-hero { padding: 24px 0 32px; }
  .csb .csb-breadcrumb { gap: 8px; margin-bottom: 25px; font-size: 12px; }
  .csb .csb-kicker { margin-bottom: 13px; font-size: 11px; }
  .csb h1.csb-title { margin-bottom: 20px; font-size: clamp(30px, 7.5vw, 39px); line-height: 1.22; letter-spacing: -.035em; }
  .csb .csb-deck { margin-bottom: 22px; font-size: 15px; line-height: 1.8; }
  .csb .csb-meta { gap: 8px 15px; font-size: 12px; }
  .csb .csb-featured { margin-top: 27px; }
  .csb .csb-featured img { border-radius: 10px; }
  .csb .csb-layout { padding-top: 26px; }
  .csb .csb-content { font-size: 15px; }
  .csb .csb-content :where(p, li, dt, dd, blockquote, caption) { font-size: 15px !important; line-height: 1.75 !important; }
  .csb .csb-content h1, .csb .csb-content h2 { margin-top: 32px !important; font-size: 26px !important; line-height: 1.35 !important; }
  .csb .csb-content h3 { font-size: 22px !important; }
  .csb .csb-content h4 { font-size: 19px !important; }
  .csb .csb-content h5, .csb .csb-content h6 { font-size: 17px !important; }
  .csb .csb-content :where(th, td) { min-width: 125px; padding: 13px 15px !important; font-size: 14px !important; }
  .csb .csb-content blockquote { padding: 18px 20px !important; }
  .csb .csb-content .csb-article-lead { font-size: 16px !important; }
  .csb .csb-content .csb-stat-row { gap: 12px; }
  .csb .csb-content .csb-stat { padding: 16px; }
  .csb .csb-content .csb-stat-value { font-size: 23px !important; }
  .csb .csb-content .csb-content-cta { padding: 22px; }
  .csb .csb-content .csb-content-cta p { font-size: 15px !important; }
  .csb .csb-content .csb-content-cta :where(h2, h3) { font-size: 23px !important; }
  .csb .csb-faq-item > summary { gap: 14px; padding: 17px 18px; font-size: 17px; }
  .csb .csb-faq-item > div { padding-right: 18px; padding-bottom: 19px; padding-left: 18px; }
  .csb .csb-content .alignleft, .csb .csb-content .alignright { float: none; display: block; margin: 1.4em auto; }
  .csb .csb-content .cost-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; }
  .csb .csb-content .cost-item > :is(.cost-lbl, .cost-rng) { min-width: 0; max-width: 100%; }
  .csb .csb-content .cost-item > .cost-bar-w { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
  .csb .csb-toc { margin-bottom: 28px; border-radius: 10px; }
  .csb .csb-toc > summary { padding: 16px 18px; }
  .csb .csb-toc .csb-toc-link { min-height: 44px; padding: 11px 10px; font-size: 13px; }
  .csb .csb-share { gap: 9px; margin-top: 28px; }
  .csb .csb-share > span { flex-basis: 100%; margin: 0 0 2px; }
  .csb .csb-author { gap: 13px; }
  .csb .csb-author-avatar { flex-basis: 46px; width: 46px; height: 46px; }
  .csb .csb-end-cta { margin: 0 auto 42px; padding: 28px 24px; border-radius: 13px; }
  .csb .csb-end-cta p { font-size: 15px; }
  .csb .csb-related { padding-bottom: 46px; }
  .csb .csb-related-grid { grid-template-columns: 1fr; gap: 20px; }
  .csb .csb-related-copy { padding: 22px; }
  .csb .csb-related-copy :where(h3, h2) { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .csb *, .csb *::before, .csb *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media print {
  .csb .csb-hero { padding: 20px 0; background: #fff; color: #000; }
  .csb h1.csb-title, .csb .csb-deck, .csb .csb-meta, .csb .csb-meta a, .csb .csb-kicker { color: #000; }
  .csb .csb-shell { width: 100%; }
  .csb .csb-layout { display: block; padding: 25px 0; }
  .csb .csb-content { max-width: none; }
  .csb .csb-rail, .csb .csb-share, .csb .csb-progress, .csb .csb-end-cta, .csb .csb-related { display: none; }
  .csb .csb-content .csb-table-wrap, .csb .csb-content table { overflow: visible; }
  .csb .csb-content :where(h2, h3, h4) { break-after: avoid; }
  .csb .csb-content :where(img, table, blockquote) { break-inside: avoid; }
}
