.jpa-article-shell{--jpa-sticky-top:120px;--jpa-ink:#04314d;--jpa-muted:#45677b;--jpa-soft:#eff9ff;--jpa-line:#d8e8f0;--jpa-blue:#009fe3;color:var(--jpa-ink)}
.jpa-article-shell .jpa-breadcrumb{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:8px 16px;border-radius:100px;background:#fffc;-webkit-backdrop-filter:saturate(150%) blur(24px);backdrop-filter:saturate(150%) blur(24px);font:500 14px/1.5 Inter,sans-serif;color:#04314d}
.jpa-article-shell .jpa-breadcrumb a{display:inline-flex;align-items:center;gap:9px;color:#04314d;text-decoration:none;transition:color .2s ease}
.jpa-article-shell .jpa-breadcrumb a:hover{color:#064d74;text-decoration:none}
.jpa-breadcrumb svg{display:block;width:16px;height:16px;flex:none;fill:currentColor}
.jpa-breadcrumb-separator{display:inline-flex;align-items:center;margin-right:5px;color:#04314d}
.jpa-article-shell .jpa-breadcrumb a:focus-visible{outline-offset:3px;border-radius:3px}

.jpa-article-shell .jpa-article-title h1{font:600 clamp(30px,3.3vw,48px)/1.16 Inter,sans-serif;letter-spacing:-.03em;color:#04314d;text-wrap:balance;margin:0}
.jpa-article-shell .jpa-article-intro{font:400 18px/1.7 Inter,sans-serif;color:#064d74;margin:0;max-width:56ch;text-wrap:pretty}
.jpa-article-shell .jpa-article-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font:400 13px/1.6 Inter,sans-serif;color:#45677b}
.jpa-article-shell .jpa-article-image{width:100%;min-width:0}.jpa-article-shell .jpa-article-image img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:0;border-radius:12px;display:block}
.jpa-article-shell .jpa-article-layout{display:block!important;max-width:100%!important;margin-inline:auto!important;width:100%!important}
.jpa-article-shell .jpa-article-layout.jpa-has-toc{display:grid!important;grid-template-columns:320px minmax(0,1fr);gap:clamp(32px,4vw,64px)!important;max-width:100%!important;align-items:start}
.jpa-article-shell .jpa-article-content{min-width:0;width:100%!important;max-width:900px;margin-inline:auto}
.jpa-article-shell .jpa-article-sidebar{display:none;width:100%!important;min-width:0}
.jpa-article-shell .jpa-has-toc .jpa-article-sidebar{display:block;position:sticky;top:var(--jpa-sticky-top);align-self:start}
.jpa-article-shell .jpa-article-content h2,.jpa-article-shell .jpa-article-content h3{scroll-margin-top:var(--jpa-sticky-top)}
.jpa-article-shell .jpa-article-content>.elementor-widget-container>p:first-child{font-size:1.1em;line-height:1.75}
.jpa-article-shell .jpa-toc[hidden],.jpa-article-shell .jpa-toc-panel[hidden]{display:none!important}
.jpa-toc{border:1px solid #d8e8f0;border-radius:12px;background:#f5fbff;padding:22px;font-family:Inter,sans-serif}
.jpa-article-shell .jpa-toc-toggle{border:0;border-radius:0;padding:0 0 16px;background:transparent!important;color:#04314d!important;display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;font:600 15px/1.5 Inter,sans-serif;text-align:left;cursor:pointer}
.jpa-toc-toggle svg{flex:none;transition:transform .25s cubic-bezier(.22,1,.36,1)}.jpa-toc-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.jpa-toc-nav{position:relative;max-height:calc(100dvh - var(--jpa-sticky-top) - 210px);overflow-x:hidden;overflow-y:auto;scrollbar-width:none;isolation:isolate}
.jpa-toc-list{list-style:none!important;padding:0!important;margin:0!important;position:relative}
.jpa-toc-list li{list-style:none;margin:3px 0;padding:0}
.jpa-article-shell .jpa-toc-list a{display:block;padding:10px 12px;border-radius:6px;color:#064d74;font:400 13px/1.5 Inter,sans-serif;text-decoration:none;overflow-wrap:anywhere;transition:color .25s ease,background-color .25s ease}
.jpa-article-shell .jpa-toc-list .jpa-toc-sub a{font-size:12px;padding-left:24px}
.jpa-article-shell .jpa-toc-list a:hover{color:#0077a3;background-color:#e6f5fd}
.jpa-article-shell .jpa-toc-list a[aria-current]{color:#04314d;font-weight:600}
.jpa-toc-marker{position:absolute;top:0;left:0;right:0;height:0;background:#dceffc;border-radius:7px;opacity:0;pointer-events:none;transition:transform .38s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1),opacity .2s ease}
.jpa-toc-progress{margin-top:18px;padding:14px 16px;border:0;background:#fff;border-radius:8px}.jpa-toc-progress>div:first-child{display:flex;justify-content:space-between;color:#45677b;font-size:12px}.jpa-toc-track{margin-top:10px;height:3px;border-radius:3px;background:#d0e3ed;overflow:hidden}.jpa-toc-track span{display:block;width:0;height:100%;background:#009fe3;transition:width .15s linear}
.jpa-article-shell a:focus-visible,.jpa-article-shell button:focus-visible{outline:2px solid #0077a3;outline-offset:3px}
.jpa-article-shell .jpa-article-ending{border-top:1px solid #d8e8f0;padding-top:28px;font:400 15px/1.7 Inter,sans-serif;width:100%;color:#45677b}.jpa-article-ending a{color:#0077a3;text-underline-offset:4px}
.jpa-article-shell.jpa-no-image .jpa-article-hero{grid-template-columns:minmax(0,800px)!important}.jpa-no-image .jpa-article-image{display:none}
@media(max-width:1024px){.jpa-article-shell .jpa-article-layout.jpa-has-toc{display:flex!important;flex-direction:column;gap:24px!important;max-width:100%!important}.jpa-article-shell .jpa-has-toc .jpa-article-sidebar{position:static}.jpa-toc{border:1px solid #d8e8f0;border-radius:12px;padding:18px;background:#f5fbff}.jpa-toc-toggle[aria-expanded=false]{padding-bottom:0}.jpa-toc-nav{max-height:55dvh}.jpa-toc-progress{display:none}.jpa-article-shell .jpa-article-image img{max-height:380px;aspect-ratio:1.6;object-position:center}.jpa-article-shell .jpa-article-title h1{font-size:clamp(30px,4.5vw,44px)}}
@media(max-width:767px){.jpa-article-shell .jpa-article-title h1{font-size:32px;letter-spacing:-.025em}.jpa-article-shell .jpa-article-intro{font-size:17px}.jpa-article-shell .jpa-article-image img{max-height:300px}.jpa-article-shell .jpa-article-meta{font-size:12px;gap:8px 14px}}
@media(prefers-reduced-motion:reduce){.jpa-article-shell .jpa-toc *{transition:none!important;scroll-behavior:auto!important}.jpa-article-shell .jpa-toc-list a:hover{transform:none}}
@media print{.jpa-article-shell .jpa-article-sidebar{display:none!important}.jpa-article-shell .jpa-article-layout.jpa-has-toc{display:block!important}}

/* Site grid and article sharing — 1.1.0 */
.jpa-article-shell .jpa-has-toc .jpa-article-content{max-width:none}
.jpa-toc-nav::-webkit-scrollbar{display:none}
.jpa-article-shell .jpa-toc-list a:focus-visible{outline-offset:-2px}
.jpa-article-meta-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.jpa-article-shell .jpa-linkedin-share{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;min-height:44px;border:0;border-radius:8px;background:#eff9ff;color:#064d74;text-decoration:none;font:600 13px/1.5 Inter,sans-serif;position:relative;isolation:isolate;overflow:hidden;transition:color .3s ease}
.jpa-article-shell .jpa-linkedin-share:hover,.jpa-article-shell .jpa-linkedin-share:focus-visible{color:#04314d}
.jpa-linkedin-share svg{width:20px;height:20px;flex:none}
@media(max-width:1024px){.jpa-article-shell .jpa-article-content{max-width:none}}
@media(prefers-reduced-motion:reduce){.jpa-article-shell .jpa-linkedin-share{transition:none}}
@media print{.jpa-linkedin-share{display:none!important}}

/* LinkedIn: horizontal fill — 1.1.4 */
.jpa-article-shell .jpa-linkedin-share::before{content:"";position:absolute;inset:0;background:#def2ff;transform:scaleX(0);transform-origin:left center;transition:transform .35s cubic-bezier(.22,1,.36,1);z-index:-1;pointer-events:none}
@media(hover:hover) and (pointer:fine){.jpa-article-shell .jpa-linkedin-share:hover::before{transform:scaleX(1)}}
.jpa-article-shell .jpa-linkedin-share:focus-visible::before{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.jpa-article-shell .jpa-linkedin-share::before{transition:none}}

/* Persistent reading navigation — 1.2.0 */
.jpa-toc-summary{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.jpa-toc-label{font:600 14px/1.5 Inter,sans-serif}
.jpa-toc-current{display:none;font:400 13px/1.5 Inter,sans-serif;color:#45677b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jpa-toc-is-closed .jpa-toc-current{display:block}
.jpa-article-shell .jpa-toc-is-closed .jpa-toc-toggle{padding-bottom:0}
.jpa-toc-progress{display:block}
.jpa-toc-percent{font-variant-numeric:tabular-nums}
@media(max-width:767px){
.jpa-docked .jpa-article-sidebar{display:none!important}
.jpa-mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:990;padding:0 12px calc(10px + env(safe-area-inset-bottom));pointer-events:none}
.jpa-mobile-dock .jpa-toc{pointer-events:auto;padding:14px 16px;background:#f5fbff;border:1px solid #d8e8f0;border-radius:12px;max-height:calc(100dvh - 120px);overflow-y:auto;box-sizing:border-box}
.jpa-mobile-dock .jpa-toc-current{display:block}
.jpa-mobile-dock .jpa-toc-toggle{min-height:44px;padding:0!important}
.jpa-mobile-dock .jpa-toc-toggle[aria-expanded=false] svg{transform:rotate(180deg)}
.jpa-mobile-dock .jpa-toc-toggle[aria-expanded=true] svg{transform:rotate(0deg)}
.jpa-mobile-dock .jpa-toc-panel{margin-top:12px}
.jpa-mobile-dock .jpa-toc-nav{max-height:min(42dvh,360px);overscroll-behavior:contain}
.jpa-mobile-dock .jpa-toc-list a{min-height:44px;display:flex;align-items:center;box-sizing:border-box;font-size:14px}
.jpa-mobile-dock .jpa-toc-list .jpa-toc-sub a{font-size:13px}
.jpa-mobile-dock .jpa-toc-progress{display:block;margin-top:10px;padding:8px 12px;background:#fff;border:0}
.jpa-mobile-dock .jpa-toc-track{margin-top:6px}
}
@media print{.jpa-mobile-dock{display:none!important}}

/* Mobile dock is only available inside the article body — 1.2.2 */
@media(max-width:767px){
.jpa-mobile-dock{opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
.jpa-mobile-dock.jpa-dock-visible{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}
}
@media(prefers-reduced-motion:reduce){.jpa-mobile-dock{transition:none;transform:none}}

/* Active section fills with reading progress — 1.2.3 */
.jpa-toc-marker{background:#edf6fb;overflow:hidden}
.jpa-toc-marker::before{content:"";position:absolute;inset:0;background:#bde3f7;transform-origin:left center;transform:scaleX(var(--jpa-section-progress,0));transition:transform .12s linear}
@media(prefers-reduced-motion:reduce){.jpa-toc-marker::before{transition:none}}
