/* dev6.57. Component-scoped presentation only; no global typography/grid/menu overrides. */
.kbt-single-post-main .kbt-article-about [hidden],
.fxj-drawer [hidden], .fxj-tab[hidden], .fxj-placeholder[hidden] { display: none !important; }
.kbt-single-post-main .kbt-article-about .fxj-bio-preview { margin: 1rem 0 0; color: var(--kbt-slate); font-size: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
.kbt-single-post-main .fxj-biography-toggle { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem 0; border: 0; background: transparent; color: var(--kbt-brass-text, var(--kbt-ink)); font: inherit; font-size: .93rem; font-weight: 700; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.kbt-single-post-main .kbt-article-about__actions { gap: .75rem; margin-top: 1.1rem; }
.kbt-single-post-main .kbt-article-about__actions a.fxj-author-action { width: auto; min-height: var(--kbt-button-height, 48px); max-width: 100%; padding: .85rem 1.15rem; border: 1px solid transparent; border-radius: var(--kbt-button-radius, 14px); background: var(--kbt-navy); color: var(--kbt-white); font-size: .95rem; font-weight: 750; line-height: 1.4; text-decoration: none; justify-content: center; gap: .8rem; }
.kbt-single-post-main .kbt-article-about__actions a.fxj-author-action--secondary { border-color: var(--kbt-brass-text, var(--kbt-ink)); background: transparent; color: var(--kbt-brass-text, var(--kbt-ink)); box-shadow: none; }
.kbt-single-post-main .kbt-article-about__actions a.fxj-author-action:hover { background: var(--kbt-ink); color: var(--kbt-white); }
.kbt-single-post-main .kbt-article-about__actions a.fxj-author-action--secondary:hover { background: var(--kbt-white); color: var(--kbt-ink); border-color: var(--kbt-ink); }
.kbt-single-post-main .fxj-author-action > :first-child { min-width: 0; overflow-wrap: anywhere; }
.kbt-single-post-main .fxj-author-action > [aria-hidden] { flex: 0 0 auto; }
.kbt-single-post-main .fxj-biography-toggle:focus-visible, .fxj-tab:focus-visible, .fxj-drawer button:focus-visible, .fxj-drawer a:focus-visible { outline: 3px solid var(--kbt-brass-text, #846731); outline-offset: 4px; }

/* One action band followed by the two existing information functions. Content/settings unchanged. */
.kbt-single-post-main .kbt-article-outro > .kbt-shell { width: 100%; }
.kbt-single-post-main .kbt-article-outro { padding-inline: clamp(16px, 4vw, 48px); padding-top: clamp(1.75rem, 4vw, 3rem); padding-bottom: clamp(2rem, 4vw, 3.5rem); }
.kbt-single-post-main .fxj-article-closing { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 1.15rem; }
.kbt-single-post-main .fxj-article-closing > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; padding: clamp(16px, 2.4vw, 29px); box-sizing: border-box; }
.kbt-single-post-main .fxj-article-closing .fxj-closing-cta { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; border-color: var(--kbt-navy); background: var(--kbt-navy); color: var(--kbt-white); box-shadow: 0 12px 32px rgba(var(--kbt-brand-primary-rgb), .10); }
.kbt-single-post-main .fxj-closing-cta h2 { color: var(--kbt-white); margin: .25rem 0 .6rem; line-height: 1.25; }
.kbt-single-post-main .fxj-closing-cta p { color: rgba(var(--kbt-white-rgb), .88); max-width: 60ch; margin: 0; }
.kbt-single-post-main .fxj-article-closing .fxj-closing-eyebrow { margin: 0 0 .4rem; font-size: .72rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; color: var(--kbt-brass-text); }
.kbt-single-post-main .fxj-closing-cta .fxj-closing-eyebrow { color: var(--kbt-white); opacity: .82; }
.kbt-single-post-main .fxj-closing-cta .kbt-btn { flex: 0 1 auto; width: 100%; min-width: 0; max-width: 100%; min-height: var(--kbt-button-height, 48px); height: auto; margin: 0; white-space: normal; padding: 15px 19px; gap: .65rem; line-height: 1.45; box-sizing: border-box; background: var(--kbt-white); color: var(--kbt-navy); }
.kbt-single-post-main .fxj-closing-cta .kbt-btn > :first-child { min-width: 0; overflow-wrap: anywhere; }
.kbt-single-post-main .fxj-closing-cta .kbt-btn > [aria-hidden] { flex: 0 0 auto; }
.kbt-single-post-main .fxj-closing-cta__copy { min-width: 0; }
.kbt-single-post-main .fxj-closing-contact, .kbt-single-post-main .fxj-closing-practice { background: var(--kbt-white); border-top: 3px solid var(--kbt-brass); }
.kbt-single-post-main .fxj-contact-methods { margin: 0; display: grid; gap: .65rem; }
.kbt-single-post-main .fxj-contact-methods > div { min-width: 0; }
.kbt-single-post-main .fxj-contact-methods dt { font-size: .74rem; font-weight: 750; color: var(--kbt-slate); }
.kbt-single-post-main .fxj-contact-methods dd { margin: .15rem 0 0; font-size: .98rem; line-height: 1.55; overflow-wrap: anywhere; }
.kbt-single-post-main .fxj-contact-address { font-size: .9rem; line-height: 1.6; font-style: normal; color: var(--kbt-slate); margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--kbt-line); }
.kbt-single-post-main .fxj-closing-practice > p:not(.fxj-closing-eyebrow) { margin: 0; font-size: 1rem; line-height: 1.65; }
@media (min-width: 760px) {
  .kbt-single-post-main .fxj-article-closing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kbt-single-post-main .fxj-closing-cta { grid-column: 1 / -1; }
  .kbt-single-post-main .fxj-article-closing .fxj-closing-cta { flex-direction: row; align-items: center; justify-content: space-between; gap: 2rem; }
  .kbt-single-post-main .fxj-closing-cta .kbt-btn { width: auto; flex: 0 1 19rem; }
}
/* Both blog CTA instances stay readable/contained; no global button change. */
.kbt-single-post-main .kbt-side-cta, .fxj-drawer .kbt-side-cta { min-width: 0; max-width: 100%; box-sizing: border-box; background-color: var(--kbt-navy); overflow-wrap: anywhere; }
.kbt-single-post-main .kbt-side-cta h2, .fxj-drawer .kbt-side-cta h2 { color: var(--kbt-white); }
.kbt-single-post-main .kbt-side-cta__button, .fxj-drawer .kbt-side-cta__button { box-sizing: border-box; max-width: 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.45; text-align: center; }

/* dev6.64: article actions remain outside the article-body/TOC processing. */
.kbt-single-post-main .kbt-article-early-cta--mobile { margin-bottom: 1.6rem; padding: 1.25rem; }
.kbt-single-post-main .kbt-article-closing-cta { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; min-width: 0; max-width: 100%; margin-top: 2rem; padding: clamp(16px, 2.4vw, 29px); box-sizing: border-box; overflow-wrap: anywhere; border-color: var(--kbt-navy); background: var(--kbt-navy); color: var(--kbt-white); box-shadow: 0 12px 32px rgba(var(--kbt-brand-primary-rgb), .10); }
.kbt-single-post-main .kbt-article-closing-cta .fxj-closing-eyebrow { margin: 0 0 .4rem; font-size: .72rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.kbt-single-post-main .kbt-article-closing-cta .kbt-btn { flex: 0 0 auto; width: 100%; }
.kbt-single-post-main .kbt-article-early-cta a:focus-visible,
.kbt-single-post-main .kbt-article-closing-cta a:focus-visible { outline: 3px solid var(--kbt-white); outline-offset: 4px; }
@media screen and (min-width: 900px) {
  .kbt-single-post-main .kbt-article-early-cta--mobile { display: none; }
  .kbt-single-post-main .kbt-article-closing-cta .kbt-btn { width: auto; align-self: flex-start; }
}
@media screen and (max-width: 899.98px) {
  /* The main-column copy is available while the Journey drawer is closed.
     Hide its sidebar counterpart, including in the drawer and without JS. */
  .kbt-article-early-cta--sidebar { display: none; }
}

/* Desktop article column returns to the ordinary page scroll, even without JS. */
.kbt-single-post-main .kbt-article-sidebar { position: static; top: auto; max-height: none; overflow-y: visible; overscroll-behavior: auto; align-self: start; padding-right: 0; }
/* Tab is outside the content grid; dialog uses the native top layer instead of global z-index warfare. */
.fxj-tab { position: fixed; right: max(0px, env(safe-area-inset-right)); top: var(--fxj-tab-top, 48%); z-index: 90; border: 1px solid rgba(255,255,255,.28); border-right: 0; border-radius: 15px 0 0 15px; background: var(--kbt-navy, #0a1927); color: var(--kbt-white, white); padding: .8rem .55rem; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; gap: .65rem; writing-mode: vertical-rl; font: inherit; font-weight: 750; font-size: .82rem; line-height: 1.3; box-shadow: 0 8px 24px rgba(0,0,0,.15); cursor: pointer; }
.fxj-tab > [aria-hidden] { writing-mode: horizontal-tb; color: var(--kbt-brass, #b49a5e); }
.fxj-tab:hover { background: var(--kbt-ink, #111820); }
.fxj-tab.fxj-attention { animation: fxj-attention 850ms ease-out 1; }
@keyframes fxj-attention { 0%,100% { transform: translateX(0); } 45% { transform: translateX(-5px); } }
.fxj-placeholder { min-width: 0; }
dialog.fxj-drawer { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(28rem, 100%); max-width: 100%; height: 100%; height: 100dvh; max-height: 100%; padding: 0; border: 0; box-sizing: border-box; border-radius: 22px 0 0 22px; color: var(--kbt-ink, #111820); background: var(--kbt-paper, #fffdf8); box-shadow: -12px 0 50px rgba(0,0,0,.2); overflow: hidden; }
dialog.fxj-drawer[open] { display: flex; flex-direction: column; animation: fxj-enter 210ms ease-out; }
dialog.fxj-drawer::backdrop { background: rgba(5,16,27,.58); }
@keyframes fxj-enter { from { transform: translateX(100%); } to { transform: translateX(0); } }
.fxj-drawer__header { position: relative; flex: 0 0 auto; padding: max(22px, env(safe-area-inset-top)) 68px 18px 22px; max-height: 45dvh; overflow-y: auto; box-sizing: border-box; background: var(--kbt-navy, #0a1927); color: var(--kbt-white, white); }
.fxj-drawer__header h2 { margin: 0 0 .5rem; font-size: 1.32rem; line-height: 1.25; color: var(--kbt-white, white); }
.fxj-drawer__header p { margin: 0; font-size: .9rem; line-height: 1.55; color: var(--kbt-white, white); opacity: .9; }
.fxj-drawer__close { position: absolute; right: 1rem; top: 1rem; width: 44px; min-height: 44px; padding: 0; border-radius: 12px; border: 1px solid rgba(255,255,255,.4); background: transparent; color: var(--kbt-white, white); font-size: 1.55rem; cursor: pointer; }
.fxj-drawer__body { padding: clamp(12px, 4vw, 20px); padding-bottom: max(24px, env(safe-area-inset-bottom)); flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; min-height: 0; min-width: 0; scroll-behavior: auto; }
.fxj-drawer .fxj-sidebar { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 1rem; width: 100%; min-width: 0; position: static !important; top: auto !important; max-height: none !important; height: auto; overflow: visible !important; padding: 0; margin: 0; }
.fxj-drawer .kbt-toc--desktop { display: block; }
.fxj-drawer .kbt-toc--desktop[hidden] { display: none; }
.fxj-drawer .kbt-product-cta-slot.is-docked { min-height: 0 !important; }
.fxj-drawer .kbt-product-cta-slot .kbt-product-cta-content { position: static !important; transform: none !important; width: auto !important; }
.fxj-drawer .fxj-sidebar > *, .fxj-drawer .fxj-sidebar a, .fxj-drawer .fxj-sidebar input, .fxj-drawer .fxj-sidebar button { max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; }
.fxj-drawer .fxj-sidebar img, .fxj-drawer .fxj-sidebar iframe { max-width: 100%; }
/* JS marks only a successfully enhanced real sidebar. No-script output stays in normal flow. */
@media (max-width: 899.98px) {
  .fxj-ready > .fxj-sidebar { display: none !important; }
  .fxj-has-toc .kbt-toc--mobile { display: none; }
  .fxj-tab { font-size: .76rem; }
}
@media (max-width: 999.98px) {
  .kbt-product-layout.fxj-ready > .fxj-sidebar { display: none !important; }
}
/* dev6.63: readable desktop/tablet opener, including shorter landscape windows. */
@media screen and (min-width: 760px) {
  .fxj-tab { font-size: 1rem; line-height: 1.35; padding: 1rem .65rem; min-width: 50px; min-height: min(15rem, var(--fxj-tab-available, 60vh)); max-height: var(--fxj-tab-available, calc(100vh - 24px)); border-color: var(--kbt-brass, #b49a5e); box-sizing: border-box; justify-content: center; }
  .fxj-tab > span:not([aria-hidden]) { min-height: 0; overflow-wrap: anywhere; }
  .fxj-tab > [aria-hidden] { flex: 0 0 auto; }
}
/* Phone opener only: longer readable label, not a redesigned sidebar/drawer. */
@media screen and (max-width: 759px) {
  .fxj-tab { font-size: .94rem; line-height: 1.35; padding: .9rem .55rem; box-sizing: border-box; justify-content: center; min-height: min(13.5rem, var(--fxj-tab-available, 60vh)); max-height: var(--fxj-tab-available, calc(100vh - 24px)); }
  .fxj-tab > span:not([aria-hidden]) { min-height: 0; overflow-wrap: anywhere; }
  .fxj-tab > [aria-hidden] { flex: 0 0 auto; }
}
@media (max-width: 479px) {
  .kbt-single-post-main .kbt-article-about__actions a.fxj-author-action { width: 100%; }
  .kbt-single-post-main .kbt-article-about__actions { gap: .6rem; }
  dialog.fxj-drawer { border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .fxj-tab.fxj-attention, dialog.fxj-drawer[open] { animation: none; }
  .kbt-single-post-main .fxj-author-action, .fxj-tab { transition: none; transform: none; }
}
@media print {
  .kbt-article-early-cta, .kbt-article-closing-cta { display: none !important; }
  .fxj-tab, dialog.fxj-drawer, .fxj-placeholder, .fxj-biography-toggle, .fxj-bio-preview { display: none !important; }
  .kbt-single-post-main .kbt-article-about [data-fxj-biography][hidden] { display: block !important; }
  .fxj-ready > .fxj-sidebar { display: block !important; }
}
