/* Local LeadCRM Journal reader overrides. Loaded after all inherited theme styles. */
body.single-post .lc-article { isolation:isolate; overflow-x:clip; padding-top:112px !important; }

/* Wide-screen CRM margin language. Inline SVG is CSS-only: no asset fetch,
   no DOM nodes, no accessibility noise, and no mobile/tablet rendering. */
@media (min-width:1600px) {
  body.single-post .lc-article::before,
  body.single-post .lc-article::after {
    content:'';
    position:absolute;
    top:520px;
    bottom:520px;
    width:146px;
    pointer-events:none;
    z-index:-1;
    opacity:.62;
    background-repeat:repeat-y;
    background-position:center top;
    background-size:146px 470px;
    mask-image:linear-gradient(to bottom,transparent 0,black 4%,black 94%,transparent 100%);
  }
  /* Contact record + activity timeline: profile, conversation, logged action. */
  body.single-post .lc-article::before {
    left:calc(50% - 872px);
    background-image:url("data:image/svg+xml,%3Csvg width='146' height='470' viewBox='0 0 146 470' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%23137F70' stroke-opacity='.17' stroke-width='1'%3E%3Cpath d='M30 36V404'/%3E%3Cpath d='M30 78H108M30 196H96M30 315H112'/%3E%3Crect x='74.5' y='62.5' width='42' height='31' rx='7.5'/%3E%3Crect x='62.5' y='180.5' width='42' height='31' rx='7.5'/%3E%3Crect x='80.5' y='299.5' width='42' height='31' rx='7.5'/%3E%3Cpath d='M84 75H106M72 193H94M90 312H112' stroke-opacity='.24'/%3E%3C/g%3E%3Cg fill='%23137F70'%3E%3Ccircle cx='30' cy='78' r='3' fill-opacity='.4'/%3E%3Ccircle cx='30' cy='196' r='3' fill-opacity='.3'/%3E%3Ccircle cx='30' cy='315' r='3' fill-opacity='.23'/%3E%3C/g%3E%3C/svg%3E");
  }
  /* Automation route: trigger flows through condition and CRM action nodes. */
  body.single-post .lc-article::after {
    right:calc(50% - 872px);
    background-image:url("data:image/svg+xml,%3Csvg width='146' height='470' viewBox='0 0 146 470' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%23137F70' stroke-opacity='.17' stroke-width='1'%3E%3Cpath d='M116 42V402'/%3E%3Cpath d='M38 86H116M52 202H116M30 322H116'/%3E%3Crect x='23.5' y='70.5' width='42' height='31' rx='7.5'/%3E%3Cpath d='M72.5 186.5L88 202L72.5 217.5L57 202L72.5 186.5Z'/%3E%3Crect x='15.5' y='306.5' width='42' height='31' rx='7.5'/%3E%3Cpath d='M32 83H54M25 319H47' stroke-opacity='.24'/%3E%3C/g%3E%3Cg fill='%23137F70'%3E%3Ccircle cx='116' cy='86' r='3' fill-opacity='.4'/%3E%3Ccircle cx='116' cy='202' r='3' fill-opacity='.3'/%3E%3Ccircle cx='116' cy='322' r='3' fill-opacity='.23'/%3E%3C/g%3E%3C/svg%3E");
  }
}

body.single-post .lc-article__hero {
  position:relative !important; inset:auto !important; z-index:0 !important;
  display:block !important; min-height:0 !important; overflow:visible !important;
  margin:0 !important; transform:none !important;
}
body.single-post .lc-article__hero-inner {
  position:relative !important; inset:auto !important; display:block !important;
  width:min(920px,calc(100% - 48px)) !important; max-width:920px !important;
  margin-inline:auto !important; transform:none !important;
}
body.single-post .lc-article__hero h1 {
  position:static !important; display:block !important; width:auto !important;
  max-width:900px !important; margin:0 !important; white-space:normal !important;
  overflow-wrap:anywhere !important; transform:none !important;
}
body.single-post .lc-article__dek, body.single-post .lc-article__meta {
  position:static !important; inset:auto !important; transform:none !important;
  width:auto !important; max-width:720px !important;
}
body.single-post .lc-article__meta { display:flex !important; }
body.single-post .lc-article__shell > .lc-article__cover {
  position:relative !important; z-index:0 !important; clear:both !important;
  display:block !important; width:min(1160px,calc(100% - 48px)) !important;
  max-width:1160px !important; aspect-ratio:16 / 9 !important;
  margin:48px auto 64px !important; overflow:hidden !important;
  border-radius:14px !important; background:#09283c !important; transform:none !important;
}
body.single-post .lc-article__cover img {
  display:block !important; width:100% !important; height:100% !important;
  max-height:none !important; object-fit:contain !important; object-position:center !important;
  background:#09283c !important;
}
body.single-post .lc-article__layout {
  display:grid !important;
  width:min(1320px,calc(100% - 48px)) !important;
  max-width:1320px !important;
  margin:0 auto !important;
  grid-template-columns:190px minmax(0,780px) 260px !important;
  gap:45px !important;
  align-items:start !important;
}
body.single-post .lc-article__rail,
body.single-post .lc-article__body,
body.single-post .lc-article__conversion { min-width:0 !important; width:auto !important; max-width:none !important; }
body.single-post .lc-article__conversion { display:block !important; grid-column:3 !important; grid-row:1 !important; }
body.single-post .lc-article__body { grid-column:2 !important; grid-row:1 !important; }
body.single-post .lc-article__rail { grid-column:1 !important; grid-row:1 !important; }
body.single-post .lc-article__body > *,
body.single-post .lc-article__body section,
body.single-post .lc-article__body div { max-width:100% !important; min-width:0 !important; }
/* Some legacy posts, including B2B Sales, contain a nested <article>.
   Keep it in normal flow so parent-theme positioning cannot displace body
   prose into the hero or outer page margins during scroll. */
body.single-post .lc-article__body > article {
  position:static !important;
  inset:auto !important;
  float:none !important;
  clear:both !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  overflow:visible !important;
}
/* TOC anchors must clear the fixed shared header when native hash navigation
   lands on a reader heading. */
body.single-post .lc-article__body h2[id],
body.single-post .lc-article__body h3[id],
body.single-post .lc-article__body h4[id] {
  scroll-margin-top:145px !important;
}
body.single-post .lc-article__body .ez-toc-section[id] {
  scroll-margin-top:145px !important;
}
body.single-post .lc-article__body .intr81-table-wrap {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:2.3em 0 2em !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch;
}
body.single-post .lc-article__body table.intr81-comparison-table {
  display:table !important;
  width:100% !important;
  min-width:1335px !important;
  margin:0 !important;
  table-layout:fixed !important;
}
body.single-post .lc-article__body table.intr81-comparison-table th:nth-child(1),
body.single-post .lc-article__body table.intr81-comparison-table td:nth-child(1) { width:140px !important; }
body.single-post .lc-article__body table.intr81-comparison-table th:nth-child(2),
body.single-post .lc-article__body table.intr81-comparison-table td:nth-child(2) { width:170px !important; }
body.single-post .lc-article__body table.intr81-comparison-table th:nth-child(3),
body.single-post .lc-article__body table.intr81-comparison-table td:nth-child(3) { width:130px !important; }
body.single-post .lc-article__body table.intr81-comparison-table th:nth-child(4),
body.single-post .lc-article__body table.intr81-comparison-table td:nth-child(4) { width:230px !important; }
body.single-post .lc-article__body table.intr81-comparison-table th:nth-child(5),
body.single-post .lc-article__body table.intr81-comparison-table td:nth-child(5) { width:190px !important; }
body.single-post .lc-article__body table.intr81-comparison-table th:nth-child(6),
body.single-post .lc-article__body table.intr81-comparison-table td:nth-child(6) { width:220px !important; }
body.single-post .lc-article__body table.intr81-comparison-table th:nth-child(7),
body.single-post .lc-article__body table.intr81-comparison-table td:nth-child(7) { width:115px !important; }
body.single-post .lc-article__body table.intr81-comparison-table th:nth-child(8),
body.single-post .lc-article__body table.intr81-comparison-table td:nth-child(8) { width:140px !important; }
body.single-post .lc-article__body .leadcrm-responsive-table { max-width:100% !important; overflow-x:auto !important; overflow-y:hidden !important; }
body.single-post .lc-article__body .leadcrm-responsive-table > table { min-width:680px !important; }
@media (max-width:1180px) {
  body.single-post .lc-article__layout { width:min(900px,calc(100% - 48px)) !important; grid-template-columns:180px minmax(0,1fr) !important; gap:32px !important; }
  body.single-post .lc-article__conversion { display:none !important; }
  body.single-post .lc-article__body { grid-column:2 !important; }
}
@media (max-width:900px) {
  body.single-post .lc-article__layout { display:block !important; width:min(740px,calc(100% - 32px)) !important; max-width:740px !important; margin:0 auto !important; }
  body.single-post .lc-article__rail { display:block !important; width:100% !important; max-width:none !important; margin:0 0 28px !important; }
  body.single-post .lc-article__body { display:block !important; width:100% !important; max-width:none !important; }
  body.single-post .lc-article__toc { position:static !important; width:auto !important; max-height:none !important; }
  body.single-post .lc-article__conversion { display:none !important; }
}

body.single-post .lc-article__body > .post-meta,
body.single-post .lc-article__body > h1:first-of-type { display:none !important; }

body.single-post .lc-article__category {
  position:static !important;
  inset:auto !important;
  float:none !important;
  clear:both !important;
  display:block !important;
  width:max-content !important;
  margin:0 0 15px !important;
  color:var(--lc-teal-deep) !important;
  text-align:left !important;
  text-decoration:none !important;
  transform:none !important;
}
body.single-post .lc-article__category:hover,
body.single-post .lc-article__category:focus-visible {
  text-decoration:underline !important;
  text-underline-offset:4px !important;
}
@media (max-width:900px) {
  body.single-post .lc-article__layout { grid-template-columns:1fr !important; gap:28px !important; }
  body.single-post .lc-article__rail { width:100% !important; max-width:740px !important; margin:auto !important; }
  body.single-post .lc-article__toc { position:static !important; width:auto !important; max-height:none !important; }
  body.single-post .lc-article__conversion { display:none !important; }
}
/* Universal mobile table rule: preserve authored table semantics and headers. */
/* Final universal table reset: never reinterpret authored columns as B2B/B2C cards. */
body.single-post .lc-article__body .lc-table-scroll,
body.single-post .lc-article__body .leadcrm-responsive-table {
  display:block !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
}
body.single-post .lc-article__body .lc-table-scroll table,
body.single-post .lc-article__body .leadcrm-responsive-table table,
body.single-post .lc-article__body table {
  display:table !important;
  width:100% !important;
  min-width:680px !important;
  margin:0 !important;
  border-collapse:collapse !important;
}
body.single-post .lc-article__body table thead { display:table-header-group !important; }
body.single-post .lc-article__body table tbody { display:table-row-group !important; }
body.single-post .lc-article__body table tr { display:table-row !important; padding:0 !important; }
body.single-post .lc-article__body table th,
body.single-post .lc-article__body table td {
  display:table-cell !important;
  width:auto !important;
  padding:15px 14px !important;
  vertical-align:top !important;
  position:static !important;
  margin:0 !important;
}
body.single-post .lc-article__body table td::before { content:none !important; }

/* Final related-reading layout: preserve complete text-bearing artwork. */
body.single-post .lc-related {
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin:84px auto 0 !important;
}
body.single-post .lc-related__grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  width:100% !important;
}
body.single-post .lc-related__card { min-width:0 !important; width:auto !important; }
body.single-post .lc-related__image {
  display:block !important;
  width:100% !important;
  aspect-ratio:16 / 9 !important;
  overflow:hidden !important;
  background:#eaf4f1 !important;
}
body.single-post .lc-related__image img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
}
@media (max-width:900px) {
  body.single-post .lc-related { width:min(740px,calc(100% - 32px)) !important; }
  body.single-post .lc-related__grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:600px) {
  body.single-post .lc-related { width:calc(100% - 32px) !important; margin-top:58px !important; }
  body.single-post .lc-related__grid { grid-template-columns:1fr !important; gap:16px !important; }
}


/* Wider, shorter final learning callout before the footer. */
body.single-post .lc-article__more {
  --lc-more-ink:#123f39;
  --lc-more-accent:#137f70;
  --lc-more-line:rgba(19,127,112,.17);
  position:relative !important;
  isolation:isolate;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  width:min(1180px,100%) !important;
  max-width:1180px !important;
  min-height:0 !important;
  margin:54px auto 0 !important;
  padding:34px 48px 32px !important;
  border:1px solid var(--lc-more-line) !important;
  border-radius:2px !important;
  background:
    radial-gradient(circle at 9% 86%,rgba(60,180,151,.16) 0 2px,transparent 3px),
    radial-gradient(circle at 12% 78%,rgba(60,180,151,.14) 0 2px,transparent 3px),
    radial-gradient(circle at 16% 69%,rgba(60,180,151,.12) 0 2px,transparent 3px),
    linear-gradient(135deg,#eaf8f0 0%,#e3f5ec 55%,#d8f1e7 100%) !important;
}
body.single-post .lc-article__more::before,
body.single-post .lc-article__more::after {
  content:'';
  position:absolute;
  z-index:-1;
  pointer-events:none;
  border:1px solid rgba(19,127,112,.16);
  border-radius:50%;
}
body.single-post .lc-article__more::before {
  width:245px; height:245px; right:-112px; top:-136px;
  box-shadow:-34px 42px 0 -1px rgba(19,127,112,.08),-70px 88px 0 -1px rgba(19,127,112,.06);
}
body.single-post .lc-article__more::after {
  width:155px; height:155px; left:-70px; bottom:-94px;
  box-shadow:28px -28px 0 -1px rgba(19,127,112,.08);
}
body.single-post .lc-article__more h2 {
  position:relative; z-index:1;
  max-width:700px !important;
  margin:0 auto 18px !important;
  color:var(--lc-more-ink) !important;
  font-size:clamp(30px,3vw,40px) !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
  text-wrap:balance;
}
body.single-post .lc-article__more .lc-article__eyebrow {
  position:relative; z-index:1;
  display:flex !important; align-items:center; gap:9px;
  margin:0 0 10px !important;
  color:var(--lc-more-accent) !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase;
}
body.single-post .lc-article__more .lc-article__eyebrow::before,
body.single-post .lc-article__more .lc-article__eyebrow::after {
  content:''; display:block; width:18px; height:1px; background:currentColor; opacity:.62;
}
body.single-post .lc-article__more .lc-article__button {
  position:relative; z-index:1;
  display:inline-flex !important; align-items:center; justify-content:center; gap:10px;
  min-height:42px; padding:0 18px !important;
  border:1px solid var(--lc-more-accent) !important;
  border-radius:2px !important;
  background:var(--lc-more-accent) !important;
  color:#fff !important;
  font-size:13px !important; font-weight:700 !important;
  text-decoration:none !important;
  box-shadow:0 7px 14px rgba(18,84,72,.13);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
body.single-post .lc-article__more .lc-article__button::after { content:'↗'; font-size:15px; line-height:1; }
body.single-post .lc-article__more .lc-article__button:hover,
body.single-post .lc-article__more .lc-article__button:focus-visible {
  background:#0d675c !important; transform:translateY(-2px); box-shadow:0 10px 20px rgba(18,84,72,.2);
}
body.single-post .lc-article__more .lc-article__button:focus-visible { outline:3px solid rgba(19,127,112,.35); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) {
  body.single-post .lc-article__more .lc-article__button { transition:none; }
  body.single-post .lc-article__more .lc-article__button:hover { transform:none; }
}
@media (max-width:600px) {
  body.single-post .lc-article__more {
    width:100% !important; margin-top:42px !important; padding:28px 22px 26px !important;
  }
  body.single-post .lc-article__more h2 { margin-bottom:16px !important; font-size:30px !important; }
  body.single-post .lc-article__more::before { width:175px; height:175px; right:-100px; top:-102px; }
  body.single-post .lc-article__more::after { width:110px; height:110px; left:-62px; bottom:-70px; }
}

/* The Elementor mobile header remains sticky, but should not animate while
   the reader is being scrolled. This prevents fast top-of-page flicker
   without changing the header's position or layout. */
@media (max-width:900px) {
  body.single-post .elementor-location-header .elementor-element[data-settings*="sticky"],
  body.single-post .elementor-location-header .elementor-element[data-settings*="sticky"] * {
    animation:none !important;
    transition:none !important;
    will-change:auto !important;
  }
}

@media (max-width:900px) {
  body.single-post .lc-article,
  body.single-post .lc-article__shell,
  body.single-post .lc-article__hero,
  body.single-post .lc-article__hero-inner,
  body.single-post .lc-article__cover,
  body.single-post .lc-article__layout,
  body.single-post .lc-article__rail,
  body.single-post .lc-article__toc,
  body.single-post .lc-article__body {
    position:relative !important;
    inset:auto !important;
    float:none !important;
    clear:both !important;
    transform:none !important;
  }
  body.single-post .lc-article__hero,
  body.single-post .lc-article__hero-inner,
  body.single-post .lc-article__body { z-index:1 !important; }
  body.single-post .lc-article__cover,
  body.single-post .lc-article__cover img { z-index:0 !important; }
  body.single-post .lc-article__rail,
  body.single-post .lc-article__toc { z-index:2 !important; }
  body.single-post .lc-article__toc {
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 0 28px !important;
  }
  body.single-post .lc-article__cover { margin-bottom:64px !important; }
}

@media (max-width:900px) {
  /* Mobile reader: deliberately simple document flow. No clipped scrolling,
     fixed aspect-ratio frame, positioning layer, or sticky/fixed reader UI. */
  body.single-post .lc-article {
    overflow:visible !important;
    isolation:auto !important;
  }
  body.single-post .lc-article__hero,
  body.single-post .lc-article__hero-inner,
  body.single-post .lc-article__hero h1,
  body.single-post .lc-article__meta,
  body.single-post .lc-article__cover,
  body.single-post .lc-article__cover img,
  body.single-post .lc-article__layout,
  body.single-post .lc-article__rail,
  body.single-post .lc-article__toc,
  body.single-post .lc-article__body {
    position:static !important;
    inset:auto !important;
    float:none !important;
    clear:both !important;
    transform:none !important;
    isolation:auto !important;
    z-index:auto !important;
  }
  body.single-post .lc-article__cover {
    width:calc(100% - 48px) !important;
    max-width:none !important;
    height:auto !important;
    aspect-ratio:auto !important;
    margin:48px 24px 64px !important;
    overflow:hidden !important;
    border-radius:14px !important;
    background:#09283c !important;
  }
  body.single-post .lc-article__cover img {
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    object-fit:initial !important;
    object-position:initial !important;
  }
  body.single-post .lc-article__conversion,
  body.single-post .lc-article__conversion-card { display:none !important; }
  body.single-post .lc-article__toc {
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 0 28px !important;
  }
}

/* Mobile readers should remain visually stable while the page scrolls. Keep
   the shared header and normal layout intact, but remove inherited Elementor
   entrance/sticky/hover motion from reader content that can flash during a
   fast touch scroll. */
@media (max-width:900px) {
  body.single-post .lc-article,
  body.single-post .lc-article * {
    animation:none !important;
    transition:none !important;
    will-change:auto !important;
  }
}

/* Reader rails: navigation should use page scroll, never an inner scrollbar. */
body.single-post .lc-article__toc,
body.single-post .lc-article__toc .ez-toc-container,
body.single-post .lc-article__toc .ez-toc-list {
  max-height:none !important;
  overflow:visible !important;
  scrollbar-width:auto !important;
}
@media (min-width:901px) {
  body.single-post .lc-article__toc {
    position:sticky !important;
    top:112px !important;
    padding:4px 26px 4px 0 !important;
    border-right:1px solid var(--lc-line) !important;
  }
}
body.single-post .lc-article__toc a {
  display:block !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
body.single-post .lc-article__conversion-card {
  position:sticky !important;
  top:112px !important;
}
/* Quiet delayed polish for the wide-desktop conversion rail only. */
@media (min-width:1320px) and (prefers-reduced-motion:no-preference) {
  body.single-post .lc-article__conversion-card {
    animation:lc-reader-rail-settle .38s cubic-bezier(.22,1,.36,1) .55s both;
    will-change:transform,opacity;
  }
  @keyframes lc-reader-rail-settle {
    from { opacity:0; transform:translateY(10px); }
    to { opacity:1; transform:translateY(0); }
  }
}
/* The sticky item needs a rail as tall as the article row, not only the card. */
@media (min-width:1320px) {
  body.single-post .lc-article__conversion {
    align-self:stretch !important;
    height:auto !important;
  }
}

/* Wide desktop: useful TOC rail plus a wider uninterrupted reader.
   Conversion happens inside the article through the measured inline CTAs. */
@media (min-width:1320px) {
  body.single-post .lc-article__layout {
    width:min(1214px,calc(100% - 48px)) !important;
    max-width:1214px !important;
    grid-template-columns:250px minmax(0,920px) !important;
    gap:44px !important;
  }
  body.single-post .lc-article__rail { grid-column:1 !important; }
  body.single-post .lc-article__body { grid-column:2 !important; }
  body.single-post .lc-article__conversion { display:none !important; }
}

/* Medium desktop/tablet: retain a generous TOC and full reader width. */
@media (min-width:901px) and (max-width:1319px) {
  body.single-post .lc-article__layout {
    display:grid !important;
    width:min(1068px,calc(100% - 48px)) !important;
    max-width:1068px !important;
    grid-template-columns:230px minmax(0,780px) !important;
    gap:32px !important;
  }
  body.single-post .lc-article__rail { display:block !important; grid-column:1 !important; grid-row:1 !important; }
  body.single-post .lc-article__body { display:block !important; grid-column:2 !important; grid-row:1 !important; }
  body.single-post .lc-article__conversion { display:none !important; }
}

body.single-post .lc-article__hero h1 {
  max-width:820px !important;
  font-size:clamp(48px,3.8vw,58px) !important;
  line-height:1.04 !important;
  letter-spacing:-.025em !important;
}
body.single-post .lc-article__back { margin-bottom:24px !important; }
@media (min-width:1600px) {
  body.single-post .lc-article__hero-inner { position:relative !important; }
  body.single-post .lc-article__hero-inner::before,
  body.single-post .lc-article__hero-inner::after {
    content:'';
    position:absolute;
    top:34px;
    width:118px;
    height:226px;
    pointer-events:none;
    opacity:.58;
    background:
      radial-gradient(circle at 18px 30px,rgba(19,127,112,.34) 0 3px,transparent 4px),
      radial-gradient(circle at 18px 112px,rgba(19,127,112,.24) 0 3px,transparent 4px),
      radial-gradient(circle at 18px 194px,rgba(19,127,112,.18) 0 3px,transparent 4px),
      linear-gradient(rgba(19,127,112,.18),rgba(19,127,112,.18)) 18px 30px/1px 164px no-repeat,
      linear-gradient(90deg,rgba(19,127,112,.20),rgba(19,127,112,.20)) 18px 30px/52px 1px no-repeat,
      linear-gradient(90deg,rgba(19,127,112,.16),rgba(19,127,112,.16)) 18px 112px/74px 1px no-repeat,
      linear-gradient(90deg,rgba(19,127,112,.12),rgba(19,127,112,.12)) 18px 194px/48px 1px no-repeat;
  }
  body.single-post .lc-article__hero-inner::before {
    left:-192px;
    border-left:1px solid rgba(19,127,112,.14);
    border-radius:28px 0 0 28px;
  }
  body.single-post .lc-article__hero-inner::after {
    right:-192px;
    transform:scaleX(-1);
    border-left:1px solid rgba(19,127,112,.14);
    border-radius:28px 0 0 28px;
  }
}

/* Desktop TOC: sticky viewport panel. The page remains the primary scroll
   surface; only an unusually long navigation list scrolls inside its own rail. */
@media (min-width:901px) {
  body.single-post .lc-article__rail {
    position:sticky !important;
    top:calc(87px + 24px) !important;
    align-self:start !important;
    height:calc(100vh - 144px) !important;
    max-height:calc(100vh - 144px) !important;
    min-height:0 !important;
  }
  body.single-post .lc-article__toc {
    position:relative !important;
    top:auto !important;
    box-sizing:border-box !important;
    height:100% !important;
    max-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(19,127,112,.34) transparent;
    padding:4px 26px 18px 0 !important;
  }
  body.single-post .lc-article__toc::-webkit-scrollbar { width:5px; }
  body.single-post .lc-article__toc::-webkit-scrollbar-track { background:transparent; }
  body.single-post .lc-article__toc::-webkit-scrollbar-thumb { background:rgba(19,127,112,.28); border-radius:99px; }
}
@media (max-width:900px) {
  body.single-post .lc-article__rail {
    position:static !important;
    height:auto !important;
    max-height:none !important;
  }
  body.single-post .lc-article__toc {
    position:static !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}

/* Keep the sticky TOC's containing rail as tall as the article row. */
@media (min-width:901px) {
  body.single-post .lc-article__rail {
    position:static !important;
    align-self:stretch !important;
    height:auto !important;
    max-height:none !important;
  }
  body.single-post .lc-article__toc {
    position:sticky !important;
    top:calc(87px + 24px) !important;
    height:calc(100vh - 144px) !important;
    max-height:calc(100vh - 144px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }
}

/* Persistent floating TOC treatment: the article scrolls behind neither the
   navigation nor its scrollbar once the rail reaches the header offset. */
@media (min-width:901px) {
  body.single-post .lc-article__rail {
    z-index:10 !important;
  }
  body.single-post .lc-article__toc {
    z-index:10 !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:12px 0 24px -24px rgba(14,63,58,.35) !important;
  }
}

/* JS-positioned desktop TOC. The theme scrolls body, so fixed is deliberate. */
@media (min-width:901px) {
  body.single-post .lc-article__toc.lc-toc--floating {
    position:fixed !important;
    top:111px !important;
    z-index:30 !important;
    box-sizing:border-box !important;
    height:calc(100vh - 144px) !important;
    max-height:calc(100vh - 144px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:12px 0 24px -24px rgba(14,63,58,.35) !important;
  }
}
@media (max-width:900px) {
  body.single-post .lc-article__toc.lc-toc--floating {
    position:static !important;
    left:auto !important;
    width:auto !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}

/* Fade the floating rail out as soon as the author section enters view. */
@media (min-width:901px) {
  body.single-post .lc-article__toc.lc-toc--ending {
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity .65s ease, visibility 0s linear .65s !important;
  }
  body.single-post .lc-article__toc {
    transition:opacity .65s ease, visibility 0s linear 0s !important;
  }
}

/* Author credential below the byline name. */
body.single-post .lc-author .lc-author__title {
  margin:5px 0 0 !important;
  color:var(--lc-teal-deep) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
}

@media (min-width:901px) {
  body.single-post .lc-article__layout:not(:has(.lc-article__toc)) {
    grid-template-columns:minmax(0,920px) !important;
  }
  body.single-post .lc-article__layout:not(:has(.lc-article__toc)) .lc-article__rail {
    display:none !important;
  }
  body.single-post .lc-article__layout:not(:has(.lc-article__toc)) .lc-article__body {
    grid-column:1 !important;
    width:100% !important;
  }
}

/* Mobile must use plain document flow. Keep TOC sticky behavior desktop-only
   and prevent the hero image from becoming an overlapping layer. */
@media (max-width:900px) {
  body.single-post .lc-article__toc,
  body.single-post .lc-article__rail,
  body.single-post .lc-article__hero,
  body.single-post .lc-article__hero-inner,
  body.single-post .lc-article__cover,
  body.single-post .lc-article__cover img,
  body.single-post .lc-article__shell > .lc-article__cover,
  body.single-post .lc-article__shell > .lc-article__cover img {
    position:static !important;
    inset:auto !important;
    float:none !important;
    clear:none !important;
    transform:none !important;
    z-index:auto !important;
  }
  body.single-post .lc-article__shell > .lc-article__cover {
    height:auto !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }
  body.single-post .lc-article__cover img {
    display:block !important;
    width:100% !important;
    height:auto !important;
    object-fit:initial !important;
  }
}
