/* Stories-inspired frontend layout. Namespaced to coexist with GeneratePress. */
:root{--s2-bg:#f6f7fb;--s2-card:#fff;--s2-ink:#182037;--s2-soft:#69748b;--s2-border:#e7eaf1;--s2-accent:#4d5de6;--s2-width:1420px;--s2-shadow:0 8px 32px rgba(27,36,77,.035)}
html{scroll-behavior:smooth} body.s2-body{margin:0;background:var(--s2-bg);color:var(--s2-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.6}body.s2-body a{text-decoration:none;color:inherit}body.s2-body a:hover{color:var(--s2-accent)}body.s2-body button,body.s2-body input{font:inherit}body.s2-body button{cursor:pointer}body.s2-body button:focus-visible,body.s2-body a:focus-visible,body.s2-body input:focus-visible{outline:3px solid rgba(77,93,230,.35);outline-offset:3px}body.s2-body img{max-width:100%;height:auto} .s2-skip{position:absolute;left:14px;top:-100px;z-index:3000;background:#fff;padding:10px 16px}.s2-skip:focus{top:10px}.s2-shell{display:flex;min-height:100vh}.s2-workspace{margin-left:258px;min-width:0;width:calc(100% - 258px)}
/* Sidebar navigation / site header */
.s2-site-nav{position:fixed;left:0;top:0;bottom:0;width:258px;z-index:100;background:#fff;border-right:1px solid var(--s2-border);display:flex;flex-direction:column;padding:29px 17px 17px;overflow-y:auto;scrollbar-width:thin}.s2-logo{display:flex;align-items:center;gap:10px;padding:0 10px;margin-bottom:31px;font-size:22px;letter-spacing:-.9px;font-weight:850;color:#222841!important;line-height:1.25}.s2-logo-mark{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#646cf0,#4452cf);border-radius:12px;width:38px;height:38px;color:white;font-size:25px;font-weight:800;box-shadow:0 5px 13px rgba(77,93,230,.17)}.s2-nav-top{display:flex;justify-content:space-between;align-items:flex-start}.s2-nav-close{display:none}.s2-side-search{border-radius:11px;background:#f5f6fa;border:1px solid #e9ebf2;height:43px;display:flex;align-items:center;gap:10px;padding:0 13px;margin:0 7px 29px;color:#8490a5}.s2-side-search:focus-within{background:white;border-color:#9ba2f4;box-shadow:0 0 0 3px rgba(77,93,230,.07)}.s2-side-search input{min-width:0;flex:1;background:transparent;border:none!important;box-shadow:none!important;outline:none!important;padding:0!important;font-size:13px!important;color:#293149!important;height:100%}.s2-side-search input::placeholder{color:#a2a9bb}.s2-nav-links{display:flex;flex-direction:column;gap:5px}.s2-nav-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:11px 13px;border-radius:11px;font-weight:650;font-size:13.5px;color:#4d5970!important;line-height:1.35;transition:background .15s,color .15s}.s2-nav-link svg{flex-shrink:0;color:#98a1b2}.s2-nav-link:hover{background:#f3f4ff;color:var(--s2-accent)!important}.s2-nav-link.is-current{background:#eef0ff;color:#4352d3!important}.s2-nav-link.is-current svg{color:#4352d3}.s2-nav-bottom{margin-top:auto;padding:32px 10px 0}.s2-nav-policy,.s2-legal-menu{display:flex;flex-wrap:wrap;gap:7px 15px;list-style:none;padding:0;margin:0 0 13px}.s2-nav-policy a{color:#7c879b!important;font-size:11.5px}.s2-nav-bottom p{font-size:10.5px;color:#a3acbb;line-height:1.8;margin:0}.s2-mobile-topbar,.s2-overlay{display:none}
/* Site content and right widgets */
.s2-layout{width:min(calc(100% - 64px),var(--s2-width));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 298px;gap:33px;align-items:start;padding:34px 0 75px}.s2-main{min-width:0}.s2-page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.s2-page-heading h1{font-size:31px;font-weight:830;letter-spacing:-1.1px;line-height:1.15;margin:4px 0 0;color:#1d2940}.s2-eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10.5px;font-weight:800;color:var(--s2-accent)}.s2-section-heading{display:flex;align-items:center;gap:14px;margin:0 0 17px}.s2-section-heading h2{font-size:20px;font-weight:820;margin:0;letter-spacing:-.5px;line-height:1.2;color:#17213a}.s2-section-heading--line:after{content:"";display:block;height:1px;background:#e3e7ef;flex:1}.s2-section-heading--line h2:before{content:"";display:inline-block;width:5px;height:21px;margin-right:10px;background:var(--s2-accent);border-radius:3px;vertical-align:-4px}.s2-featured-section{margin-bottom:38px}.s2-featured-grid{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(155px,1fr));gap:15px;height:418px}.s2-featured-card{position:relative;overflow:hidden;border-radius:15px;background:#dce0eb;box-shadow:var(--s2-shadow)}.s2-featured-card--lead{grid-row:span 2}.s2-featured-link{display:block;position:relative;width:100%;height:100%;color:white!important;overflow:hidden}.s2-featured-link>img,.s2-featured-link>.s2-image-fallback{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.s2-featured-link:hover>img{transform:scale(1.045)}.s2-featured-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,16,31,.92),rgba(11,16,31,.20) 64%,rgba(12,18,33,.05))}.s2-featured-text{position:absolute;left:0;bottom:0;right:0;padding:20px 19px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.s2-featured-card--lead .s2-featured-text{padding:28px}.s2-featured-cat{background:#5264e6;color:white;font-size:10px;letter-spacing:.5px;font-weight:750;padding:4px 9px;border-radius:5px}.s2-featured-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:17px;font-weight:800;line-height:1.42;letter-spacing:-.3px;text-shadow:0 1px 5px rgba(0,0,0,.2)}.s2-featured-card--lead .s2-featured-title{font-size:27px;line-height:1.33;letter-spacing:-.6px;-webkit-line-clamp:4}.s2-featured-meta{font-size:12px;color:#e1e5f0}.s2-image-fallback{display:flex;align-items:center;justify-content:center;min-height:100%;background:linear-gradient(140deg,#7989c4,#a9bbdb 60%,#d4dce9);font-size:30px;font-weight:850;color:rgba(255,255,255,.82);letter-spacing:-1px}
/* Feed cards and archives */
.s2-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 20px}.s2-card{min-width:0;overflow:hidden;background:white;border:1px solid var(--s2-border);border-radius:13px;box-shadow:var(--s2-shadow);transition:transform .18s ease,box-shadow .18s ease}.s2-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(25,35,65,.10)}.s2-card__media{display:block;aspect-ratio:16/9;background:#edf0f8;overflow:hidden}.s2-card__media img,.s2-card__media .s2-image-fallback{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.s2-card:hover .s2-card__media img{transform:scale(1.04)}.s2-card__body{padding:17px 18px 18px}.s2-kicker{display:inline-flex;align-items:center;color:var(--s2-accent)!important;font-size:11px;font-weight:800;margin-bottom:8px}.s2-card__title{font-size:16px;line-height:1.48;font-weight:780;letter-spacing:-.25px;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.s2-card__title a{color:#1c2840!important}.s2-card__title a:hover{color:var(--s2-accent)!important}.s2-card__meta{display:flex;flex-wrap:wrap;gap:7px;color:#939caf;font-size:11px;line-height:1.4}.s2-load-wrap{text-align:center;padding:32px 0}.s2-load-more{display:inline-flex;align-items:center;gap:16px;justify-content:center;border:1px solid #dfe3ed;background:#fff;min-height:43px;padding:9px 22px;border-radius:11px;font-weight:750;color:#424e66;box-shadow:var(--s2-shadow)}.s2-load-more:hover{border-color:#9faaff;color:var(--s2-accent)}.s2-load-more:disabled{opacity:.65}.s2-empty{border:1px dashed #ced2dc;color:var(--s2-soft);border-radius:12px;padding:30px;background:white}.s2-archive-header{margin-bottom:24px}.s2-archive-header h1{font-size:29px;line-height:1.2;letter-spacing:-.8px;margin:5px 0 0}.s2-archive-desc{color:var(--s2-soft)}
/* Popular/visited right sidebar */
.s2-right-sidebar{position:sticky;top:26px;min-width:0;display:flex;flex-direction:column;gap:22px;padding-top:8px}.s2-widget{background:white;border:1px solid var(--s2-border);border-radius:14px;box-shadow:var(--s2-shadow);padding:19px 17px}.s2-widget-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f5;padding-bottom:15px;margin-bottom:7px}.s2-widget-heading h2{font-size:16px;font-weight:820;line-height:1.3;margin:0;letter-spacing:-.4px}.s2-widget-heading a{color:#8692aa;font-size:20px;line-height:1}.s2-popular-list{display:flex;flex-direction:column}.s2-popular-item{display:grid;grid-template-columns:22px 70px minmax(0,1fr);gap:9px;align-items:center;padding:13px 0;border-bottom:1px solid #f0f1f6}.s2-popular-item:last-child{border-bottom:none;padding-bottom:1px}.s2-popular-item__rank{color:#b0b7c6;font-size:12px;font-weight:850;align-self:start;padding-top:5px}.s2-popular-item__thumb{width:70px;height:64px;border-radius:8px;overflow:hidden;background:#e5e8f2}.s2-popular-item__thumb img,.s2-popular-item__thumb .s2-image-fallback{width:100%;height:100%;object-fit:cover;display:flex;font-size:13px}.s2-popular-item__title{color:#28334b;font-weight:720;font-size:11.5px;line-height:1.48;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.s2-recent-list{display:flex;flex-direction:column;gap:12px;padding-top:9px}.s2-recent-item{display:grid;grid-template-columns:49px 1fr;gap:11px;font-size:12px;line-height:1.45;font-weight:670;align-items:center}.s2-recent-item img{width:49px;height:48px;object-fit:cover;border-radius:7px}.s2-recent-placeholder{width:49px;height:48px;border-radius:7px;background:#e8eafb}.s2-empty-subtle{font-size:12px;color:#9ca6b8;margin:4px 0 3px}
/* Article and reading toolbar */
.s2-layout--article{padding-top:28px}.s2-story-breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:#8e99ac;margin-bottom:23px}.s2-story-breadcrumb a{color:#647189!important}.s2-reader{background:#fff;border:1px solid var(--s2-border);border-radius:16px;box-shadow:var(--s2-shadow);overflow:hidden;--s2-reading-font:24px}.s2-reader__header{padding:31px 40px 26px}.s2-reader__category{margin-bottom:12px}.s2-reader__category .s2-kicker{font-size:12px}.s2-reader__title{font-size:32px;line-height:1.33;letter-spacing:-.85px;font-weight:840;color:#1d2638;margin:0 0 14px;word-break:break-word}.s2-reader__meta{color:#8f9bb0;font-size:12px;display:flex;gap:12px;align-items:center}.s2-reader-tools{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 28px;background:#f9faff;border-block:1px solid var(--s2-border);flex-wrap:wrap}.s2-reader-position{display:flex;gap:10px;align-items:center;font-size:13px}.s2-reader-position .s2-chapter-label{font-weight:790;color:#34415d}.s2-reader-position strong{font-size:12px;background:#e9edff;color:#5263ca;border-radius:20px;padding:4px 10px}.s2-tool-groups{display:flex;gap:17px;align-items:center;flex-wrap:wrap}.s2-tool-group{display:flex;align-items:center;gap:5px;margin:0;padding:0;border:none;min-width:0}.s2-tool-group legend{font-size:11px;color:#7d89a0;font-weight:750;float:left;line-height:28px;margin-right:7px;padding:0}.s2-tool-group button{border:1px solid #e2e5ee;border-radius:7px;color:#56627a;background:white;height:29px;min-width:30px;font-size:12px;font-weight:750;padding:0 6px}.s2-tool-group button:hover{border-color:#7783e6}.s2-theme-dot.is-sepia{background:#f3e7d1;border-color:#e5d6b9;color:#6b5336}.s2-theme-dot.is-dark{background:#242833;border-color:#242833;color:#e8eaf1}.s2-theme-dot[aria-pressed="true"]{outline:2px solid var(--s2-accent);outline-offset:2px}.s2-tool-group output{min-width:40px;text-align:center;color:#68748b;font-size:12px}.s2-reader-progress{height:3px;background:#e9eafa}.s2-reader-progress>span{display:block;width:0;height:100%;background:var(--s2-accent);transition:width .12s linear}.s2-reader__page{background:var(--s2-reader-bg,#fff);color:var(--s2-reader-color,#263247);transition:background .2s,color .2s}.s2-chapter{padding:38px 47px 35px}.s2-chapter[hidden]{display:none!important}.s2-chapter__eyebrow{font-size:13px;letter-spacing:1.5px;color:var(--s2-accent);font-weight:850;margin-bottom:19px;text-transform:uppercase}.s2-chapter__content{font-family:Georgia,"Times New Roman",serif;font-size:var(--s2-reading-font);line-height:1.78;letter-spacing:.05px;overflow-wrap:break-word}.s2-chapter__content> :first-child{margin-top:0}.s2-chapter__content p{font-size:inherit;line-height:inherit;letter-spacing:inherit;margin:0 0 1.24em;color:inherit}.s2-chapter__content h2,.s2-chapter__content h3,.s2-chapter__content h4{color:inherit;line-height:1.35;letter-spacing:-.5px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-weight:820;margin:0 0 24px}.s2-chapter__content h2{font-size:1.35em}.s2-chapter__content h3{font-size:1.15em}.s2-chapter__content ul,.s2-chapter__content ol{padding-left:1.4em;margin-bottom:1.2em}.s2-chapter__content blockquote{font-size:.96em;border-left:4px solid var(--s2-accent);padding:4px 0 4px 22px;margin:1.2em 0;color:inherit}.s2-chapter__content img{height:auto;border-radius:9px}.s2-chapter__content a{color:var(--s2-accent)!important;text-decoration:underline}.s2-reader[data-s2-reader-theme="sepia"]{--s2-reader-bg:#fbf3e6;--s2-reader-color:#58432b}.s2-reader[data-s2-reader-theme="dark"]{--s2-reader-bg:#22252c;--s2-reader-color:#e0e2e6}.s2-reader[data-s2-reader-theme="dark"] .s2-chapter__eyebrow{color:#b3bcff}.s2-chapter-pagination{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:22px 35px;border-top:1px solid var(--s2-border);background:white}.s2-chapter-pagination a,.s2-chapter-pagination button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 17px;border-radius:9px;font-size:12px;font-weight:810;letter-spacing:.2px;border:1px solid #e5e7ef;color:#52607a;background:white}.s2-chapter-pagination .s2-chapter-next{background:#5363e6;color:white!important;border-color:#5363e6;min-width:108px}.s2-chapter-pagination .s2-chapter-next:hover{background:#3a4bc8}.s2-chapter-pagination [hidden]{display:none}.s2-chapter-pagination .s2-chapter-toc{color:var(--s2-accent)}.s2-article-bottom{display:flex;justify-content:flex-end;padding:10px 32px 18px}.s2-article-bottom .sp-report-trigger{font-size:12px}.s2-discussion{border-top:1px solid var(--s2-border);padding:23px 35px 30px}.s2-related{margin-top:34px}.s2-related .s2-news-grid{gap:16px}.s2-related .s2-card__media{aspect-ratio:16/9}
/* Chapters drawer and floating contents button */
.s2-toc-backdrop{position:fixed;inset:0;background:rgba(17,26,47,.4);z-index:160}.s2-toc-backdrop[hidden]{display:none}.s2-toc{position:fixed;top:0;right:0;bottom:0;width:min(425px,100vw);background:#fff;z-index:161;box-shadow:-22px 0 65px rgba(14,26,47,.2);transform:translateX(104%);transition:transform .24s ease;display:flex;flex-direction:column;visibility:hidden}.s2-toc.is-open{visibility:visible;transform:translateX(0)}.s2-toc__header{padding:23px 24px 15px;border-bottom:1px solid #e8ebf1;display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.s2-toc__small{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--s2-accent);font-weight:800}.s2-toc__header h2{margin:7px 0;font-size:17px;line-height:1.42;font-weight:810}.s2-toc__total{font-size:12px;color:#818da3}.s2-toc__header button{border:0;background:#f0f2f8;width:34px;height:34px;border-radius:8px;font-size:26px;line-height:1}.s2-toc__search{padding:17px 22px;border-bottom:1px solid #e8ebf1}.s2-toc__search input{padding:12px 15px;border:1px solid #e3e5ec;border-radius:9px;width:100%;font-size:13px}.s2-toc__list{overflow-y:auto;flex:1;padding:12px 17px 28px}.s2-toc__item{display:flex;align-items:center;gap:12px;padding:13px 14px;font-weight:700;font-size:13px;border-radius:9px;color:#404c63!important;margin-bottom:2px}.s2-toc__item>span{font-size:12px;color:#a1aabc}.s2-toc__item:hover,.s2-toc__item.is-current{background:#eef0ff;color:var(--s2-accent)!important}.s2-toc__item[hidden]{display:none}.s2-floating-toc{position:fixed;right:21px;bottom:22px;z-index:102;display:flex;gap:10px;align-items:center;border:0;color:white;background:#5263de;box-shadow:0 11px 26px rgba(63,82,207,.3);font-size:12px;font-weight:800;border-radius:99px;padding:12px 18px}.s2-floating-toc:hover{background:#3349c5}
/* Footer and the existing WordPress static-page/contact/comment forms */
.s2-footer{width:min(calc(100% - 64px),var(--s2-width));margin:0 auto;border-top:1px solid #e3e6ed;padding:25px 0 31px}.s2-footer__top{display:flex;align-items:center;justify-content:space-between;gap:16px}.s2-footer__brand{font-size:20px;letter-spacing:-.6px;font-weight:850}.s2-footer__links{display:flex;gap:19px;flex-wrap:wrap;color:#78849a;font-size:12px}.s2-footer__disclaimer{color:#929cb0;font-size:11.5px;line-height:1.7;max-width:850px;margin:12px 0}.s2-footer__copyright{font-size:11px;color:#a8afbe;margin:0}.sp-site-main.sp-page,.sp-site-main.sp-404-page,.sp-site-main.sp-contact-page{width:min(calc(100% - 64px),1000px);padding:40px 0 70px}.sp-page__article{background:#fff;border:1px solid var(--s2-border);border-radius:16px;padding:35px 45px}.sp-page__title{font-weight:830;letter-spacing:-.7px}.sp-page__content{font-size:16px;line-height:1.8}.sp-contact-form input,.sp-contact-form textarea{border:1px solid #dfe3ea;border-radius:8px;background:white}.sp-contact-form button{background:#5263df;color:#fff;border-radius:9px;border:0;padding:12px 22px}
/* End of reference layout */
@media(min-width:1800px){.s2-workspace{max-width:none}.s2-layout{grid-template-columns:minmax(0,1fr) 315px;gap:42px}.s2-featured-grid{height:460px}}
@media(max-width:1340px){.s2-workspace{margin-left:225px;width:calc(100% - 225px)}.s2-site-nav{width:225px;padding-inline:13px}.s2-layout{width:calc(100% - 44px);grid-template-columns:minmax(0,1fr) 265px;gap:22px}.s2-featured-grid{height:374px}.s2-featured-card--lead .s2-featured-title{font-size:22px}.s2-featured-title{font-size:15px}.s2-reader__header{padding:27px 30px}.s2-chapter{padding:33px 34px}.s2-footer{width:calc(100% - 44px)}}
@media(max-width:1130px){.s2-layout{grid-template-columns:minmax(0,1fr)}.s2-right-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:20px}.s2-featured-grid{height:440px}.s2-workspace{min-width:0}}
@media(max-width:860px){.s2-workspace{margin-left:0;width:100%}.s2-site-nav{z-index:251;width:min(305px,84vw);transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 40px rgba(20,30,60,.06)}.s2-site-nav.is-open{transform:translateX(0)}.s2-nav-close{display:block;border:0;background:transparent;font-size:26px;padding:0 10px;color:#758098}.s2-overlay{display:block;position:fixed;inset:0;background:rgba(15,25,45,.45);z-index:250}.s2-overlay[hidden]{display:none}.s2-mobile-topbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#fff;border-bottom:1px solid var(--s2-border);position:sticky;top:0;z-index:120}.s2-mobile-topbar button{border:0;background:transparent;padding:8px;color:#334058}.s2-mobile-brand{font-size:21px;font-weight:850;letter-spacing:-.8px}.s2-layout{padding-top:25px}.s2-right-sidebar{position:static}.s2-footer{margin-bottom:0}}
@media(max-width:650px){.s2-layout{width:calc(100% - 28px);padding:20px 0 45px;gap:23px}.s2-page-heading{margin-bottom:22px}.s2-page-heading h1{font-size:25px}.s2-section-heading h2{font-size:18px}.s2-featured-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:260px 155px;height:auto;gap:10px}.s2-featured-card--lead{grid-column:span 2;grid-row:span 1}.s2-featured-text{padding:12px}.s2-featured-card--lead .s2-featured-text{padding:20px}.s2-featured-card--lead .s2-featured-title{font-size:21px}.s2-featured-title{font-size:12.5px;line-height:1.37;-webkit-line-clamp:4}.s2-featured-cat{font-size:9px;padding:2px 6px}.s2-featured-meta{font-size:10px}.s2-news-grid{grid-template-columns:1fr 1fr;gap:11px}.s2-card{border-radius:10px}.s2-card__body{padding:11px 12px}.s2-card__title{font-size:13.5px;line-height:1.4}.s2-card__meta{font-size:10px}.s2-kicker{font-size:10px;margin-bottom:5px}.s2-right-sidebar{grid-template-columns:1fr}.s2-widget{padding:18px}.s2-popular-item{grid-template-columns:25px 77px 1fr}.s2-popular-item__thumb{width:77px;height:65px}.s2-popular-item__title{font-size:12px}.s2-layout--article{padding-top:20px}.s2-reader{border-radius:12px}.s2-reader__header{padding:23px 20px}.s2-reader__title{font-size:24px;line-height:1.36;letter-spacing:-.5px}.s2-reader-tools{padding:15px 15px;gap:11px}.s2-tool-groups{width:100%;gap:18px}.s2-tool-group legend{font-size:10px}.s2-chapter{padding:24px 20px 25px}.s2-chapter__content{font-size:var(--s2-reading-font);line-height:1.68}.s2-chapter-pagination{padding:15px 11px;gap:7px}.s2-chapter-pagination a,.s2-chapter-pagination button{padding:8px 11px;font-size:10px;min-height:40px}.s2-chapter-pagination .s2-chapter-next{min-width:75px}.s2-discussion{padding:20px 18px}.s2-article-bottom{padding:8px 18px 16px}.s2-footer{width:calc(100% - 28px);padding:21px 0 28px}.s2-footer__top{align-items:flex-start;flex-direction:column}.s2-footer__links{gap:12px}.s2-floating-toc{bottom:15px;right:12px;padding:10px 14px}.sp-site-main.sp-page,.sp-site-main.sp-404-page,.sp-site-main.sp-contact-page{width:calc(100% - 28px);padding:25px 0}.sp-page__article{padding:22px}}
@media(max-width:390px){.s2-news-grid{gap:9px}.s2-card__body{padding:9px 10px}.s2-card__title{font-size:12.5px}.s2-featured-grid{grid-template-rows:230px 145px}.s2-tool-groups{gap:10px}.s2-reader__title{font-size:22px}.s2-chapter-pagination .s2-chapter-toc{font-size:0}.s2-chapter-pagination .s2-chapter-toc:first-letter{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
.s2-inline-search{display:flex;gap:10px;margin:20px 0}.s2-inline-search input{flex:1;min-width:0;border:1px solid #dce0e9;border-radius:9px;background:white;padding:12px}.s2-inline-search button{border:0;border-radius:9px;padding:11px 20px;background:#5263e6;color:white;font-weight:750}.s2-index-pages{margin:35px 0}.s2-index-pages .nav-links{display:flex;gap:8px;justify-content:center}.s2-index-pages .page-numbers{border:1px solid #e0e4ed;padding:8px 13px;border-radius:7px;background:white}.s2-index-pages .page-numbers.current{background:#5263e6;color:white}
.s2-notfound{background:#fff;border:1px solid var(--s2-border);border-radius:16px;padding:55px 45px;text-align:center}.s2-notfound__number{font-size:92px;font-weight:900;letter-spacing:-7px;line-height:1.1;background:linear-gradient(90deg,#4353d5,#8da1f2);background-clip:text;-webkit-background-clip:text;color:transparent;margin-bottom:15px}.s2-notfound h1{font-size:29px;line-height:1.3;letter-spacing:-.8px;margin:8px 0 10px}.s2-notfound p{color:var(--s2-soft);max-width:480px;margin:0 auto 20px}.s2-notfound__home{background:#5263e6;color:white!important;border-radius:9px;font-weight:800;padding:12px 18px;display:inline-block}.s2-notfound .s2-inline-search{max-width:480px;margin:28px auto 0}@media(max-width:650px){.s2-notfound{padding:32px 18px}.s2-notfound__number{font-size:65px}.s2-notfound h1{font-size:23px}}


/* ===== Refined Stories home/page shell (October 2026 revision) ===== */
:root {
    --sh-bg: #f3f4f6;
    --sh-text: #14233f;
    --sh-muted: #6f7a8f;
    --sh-line: #e2e5ec;
    --sh-card: #ffffff;
    --sh-red: #ff1016;
    --sh-yellow: #f3c316;
    --sh-width: 1300px;
    --sh-radius: 19px;
    --sh-shadow: 0 6px 18px rgba(17, 31, 63, 0.05);
    --sh-title-font: 'Nunito Sans', 'Avenir Next', 'Segoe UI', Arial, sans-serif;
}
html.sh-lock, html.sh-lock body { overflow: hidden; }
body.sh-body { background: var(--sh-bg); color: var(--sh-text); font-family: var(--sh-title-font); }
body.sh-body a { text-decoration: none; }
body.sh-body img { display:block; width:100%; height:100%; object-fit:cover; }
.sh-header { position: sticky; top: 0; z-index: 90; background: #fff; border-bottom: 1px solid #e7e9ee; }
body.admin-bar .sh-header { top: 32px; }
@media (max-width:782px){ body.admin-bar .sh-header { top: 46px; } }
.sh-header__topline { height: 3px; width: min(25vw, 505px); background: #eab44c; }
.sh-header__inner { width: min(calc(100% - 40px), var(--sh-width)); margin: 0 auto; min-height: 42px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.sh-header__left { display:flex; align-items:center; gap: 7px; min-width:0; }
.sh-header__icon { border:0; background:transparent; color:#24314a; width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; cursor:pointer; }
.sh-header__brand { font-family: var(--sh-title-font); font-weight: 900; font-size: 30px; line-height:1; letter-spacing:-1.2px; color:#14233f; text-transform:uppercase; }
.sh-search-panel { border-top: 1px solid #f0f2f5; padding: 14px 0 16px; background:#fff; }
.sh-search-panel__inner { width: min(calc(100% - 40px), var(--sh-width)); margin: 0 auto; }
.sh-search-form { display:flex; gap:10px; align-items:center; }
.sh-search-form input { flex:1; min-width:0; height:42px; border:1px solid #d9dee7; border-radius:10px; padding:0 14px; font-size:14px; font-family:var(--sh-title-font); }
.sh-search-form button { height:42px; border:0; border-radius:10px; background:#1f2d4a; color:#fff; padding:0 16px; font-weight:800; cursor:pointer; }
.sh-drawer-backdrop { position:fixed; inset:0; background:rgba(17,25,44,.4); z-index:93; }
.sh-drawer-backdrop[hidden] { display:none; }
.sh-nav-drawer { position:fixed; top:0; left:0; bottom:0; width:min(320px, 86vw); background:#fff; z-index:94; transform:translateX(-104%); transition:transform .22s ease; box-shadow:14px 0 36px rgba(20,35,63,.12); padding:22px 24px 30px; overflow:auto; }
.sh-nav-drawer.is-open { transform:translateX(0); }
.sh-nav-drawer__header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.sh-nav-drawer__title { font-size:24px; font-weight:900; letter-spacing:-1px; }
.sh-nav-drawer__close { border:0; background:#f2f4f7; width:36px; height:36px; border-radius:10px; font-size:28px; line-height:1; color:#42506c; cursor:pointer; }
.sh-nav-drawer__nav { display:flex; flex-direction:column; gap:6px; }
.sh-nav-drawer__nav a { color:#20304d; font-weight:800; font-size:14px; padding:12px 14px; border-radius:12px; }
.sh-nav-drawer__nav a:hover, .sh-nav-drawer__nav a.is-current { background:#f1f4ff; color:#2c49d8; }
.sh-home-page { padding: 38px 0 0; }
.sh-home-shell { width: min(calc(100% - 40px), var(--sh-width)); margin: 0 auto; }
.sh-home-layout { display:grid; grid-template-columns: minmax(0, 1fr) 345px; gap: 36px; align-items:start; }
.sh-home-main { min-width: 0; }
.sh-section { margin-bottom: 32px; }
.sh-section-title { display:flex; align-items:center; gap:10px; margin: 0 0 17px; }
.sh-section-title__bar { width:10px; height:24px; background: var(--sh-red); border-radius:99px; flex:0 0 auto; }
.sh-section-title h2 { margin:0; color:#14233f; font-size: 19px; line-height:1; font-weight: 900; letter-spacing:-.4px; text-transform: uppercase; }
.sh-featured-grid { display:grid; grid-template-columns: minmax(0, 1.62fr) minmax(250px, .78fr); gap:20px; }
.sh-featured-stack { display:grid; gap:20px; }
.sh-featured-card { position:relative; min-width:0; }
.sh-featured-card__link { position:relative; display:block; overflow:hidden; border-radius: 21px; box-shadow: var(--sh-shadow); background:#e7e9ef; }
.sh-featured-card__link > img, .sh-featured-card__link .s2-image-fallback { width:100%; height:100%; aspect-ratio:16/9; }
.sh-featured-card--lead .sh-featured-card__link > img, .sh-featured-card--lead .sh-featured-card__link .s2-image-fallback { min-height: 329px; }
.sh-featured-card--small .sh-featured-card__link > img, .sh-featured-card--small .sh-featured-card__link .s2-image-fallback { min-height: 154px; }
.sh-featured-card__overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,20,35,0.05) 0%, rgba(12,18,33,.16) 40%, rgba(5,11,25,.78) 100%); }
.sh-featured-card__badge, .sh-news-card__badge { position:absolute; top:12px; right:12px; z-index:2; background: var(--sh-red); color:#fff; border-radius:8px; padding: 6px 12px; font-size: 11px; line-height:1; font-weight: 900; letter-spacing:.4px; text-transform: uppercase; }
.sh-featured-card__content { position:absolute; left:0; right:0; bottom:0; z-index:2; padding: 22px 24px 17px; color:#fff; display:flex; flex-direction:column; gap:10px; }
.sh-featured-card--small .sh-featured-card__content { padding: 16px 15px 14px; gap:0; }
.sh-featured-card__title { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size: 22px; line-height:1.28; font-weight: 900; letter-spacing:-.45px; }
.sh-featured-card--lead .sh-featured-card__title { font-size: 28px; line-height:1.3; -webkit-line-clamp:3; }
.sh-featured-card--small .sh-featured-card__title { font-size: 14px; line-height:1.38; -webkit-line-clamp:3; }
.sh-featured-card__meta { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:12px; font-weight:700; color:#ecf0f6; }
.sh-news-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:26px 22px; }
.sh-news-card { min-width:0; }
.sh-news-card__media { position:relative; display:block; overflow:hidden; border-radius:20px; background:#e7e9ef; box-shadow: var(--sh-shadow); }
.sh-news-card__media > img, .sh-news-card__media .s2-image-fallback { width:100%; aspect-ratio: 16 / 9; }
.sh-news-card__title { margin: 11px 0 8px; color:#13223f; font-size: 18px; line-height:1.35; font-weight: 900; letter-spacing:-.35px; }
.sh-news-card__title a { color:inherit; }
.sh-news-card__meta { display:flex; flex-wrap:wrap; gap:12px 18px; color:#6f7a8f; font-size: 12px; font-weight:700; }
.sh-sidebar { position: sticky; top: 66px; display:flex; flex-direction:column; gap:26px; }
body.admin-bar .sh-sidebar { top: 98px; }
.sh-widget { background:#fff; border:1px solid var(--sh-line); border-radius:18px; box-shadow: var(--sh-shadow); padding: 18px 20px 18px; }
.sh-widget__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom: 14px; border-bottom:1px solid #edf0f4; margin-bottom: 14px; }
.sh-widget__heading h2 { margin:0; font-size:16px; line-height:1.2; font-weight:900; letter-spacing:-.2px; color:#24314a; }
.sh-widget__heading a { color:#4160ed; font-size:17px; font-weight:900; }
.sh-popular-list, .sh-recent-list { display:flex; flex-direction:column; gap:14px; }
.sh-popular-item { display:grid; grid-template-columns: 20px 52px minmax(0, 1fr); gap:12px; align-items:start; }
.sh-popular-item__rank { color:#aeb6c6; font-size:22px; line-height:1; font-weight:900; padding-top:8px; }
.sh-popular-item__thumb { width:52px; height:52px; border-radius:10px; overflow:hidden; background:#e7e9ef; display:block; }
.sh-popular-item__thumb > img, .sh-popular-item__thumb .s2-image-fallback { width:100%; height:100%; }
.sh-popular-item__body { min-width:0; display:flex; flex-direction:column; gap:5px; }
.sh-popular-item__title { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; color:#1e2c49; font-size:14px; line-height:1.35; font-weight:800; }
.sh-popular-item__meta { color:#9aa3b5; font-size:11px; font-weight:700; }
.sh-empty-subtle { margin:0; color:#94a0b5; font-size:13px; line-height:1.6; }
.sh-recent-item { display:grid; grid-template-columns:52px minmax(0, 1fr); gap:12px; align-items:start; padding-bottom:14px; border-bottom:1px solid #edf0f4; }
.sh-recent-item:last-child { border-bottom:0; padding-bottom:0; }
.sh-recent-item__thumb { width:52px; height:52px; border-radius:10px; overflow:hidden; background:#e7e9ef; display:block; }
.sh-recent-item__thumb img, .sh-recent-item__placeholder { width:100%; height:100%; display:block; background:#e7e9ef; }
.sh-recent-item__body { min-width:0; display:flex; flex-direction:column; gap:6px; }
.sh-recent-item__title { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; color:#1e2c49; font-size:14px; line-height:1.35; font-weight:800; }
.sh-recent-item__meta { color:#7d879a; font-size:12px; font-weight:700; }
.sh-load-wrap { padding: 26px 0 6px; display:flex; justify-content:center; }
.sh-load-more { height:46px; border:0; border-radius:12px; padding:0 24px; background:#1f2d4a; color:#fff; font-size:14px; font-weight:900; font-family:var(--sh-title-font); cursor:pointer; box-shadow: 0 10px 20px rgba(31,45,74,.14); }
.sh-load-more:disabled { opacity:.72; cursor:wait; }
.sh-footer { margin-top: 52px; background:#f0f2f5; border-top:1px solid #e3e7ee; }
.sh-footer__inner { width:min(calc(100% - 40px), var(--sh-width)); margin:0 auto; padding: 32px 0 30px; text-align:center; }
.sh-footer__brand { display:inline-block; color:#14233f; font-size: 18px; font-weight: 900; line-height:1; letter-spacing:.3px; text-transform: uppercase; margin-bottom: 16px; }
.sh-footer__links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px; margin-bottom: 12px; }
.sh-footer__links a { color:#24314a; font-size: 13px; font-weight: 800; }
.sh-footer__disclaimer { margin:0 auto; max-width: 900px; color:#6d7890; font-size:13px; line-height:1.5; }
.sh-go-top { position:fixed; right: 28px; bottom: 26px; width: 40px; height: 40px; border:0; border-radius:12px; background: var(--sh-yellow); color:#fff; font-size: 27px; line-height:1; font-weight:900; box-shadow: 0 8px 18px rgba(227, 175, 15, .35); z-index: 85; cursor:pointer; }
.sh-go-top[hidden] { display:none; }
@media (max-width: 1200px) {
    .sh-home-layout { grid-template-columns: minmax(0,1fr) 310px; gap:26px; }
    .sh-featured-grid { grid-template-columns:minmax(0,1.58fr) minmax(220px,.8fr); gap:16px; }
}
@media (max-width: 1024px) {
    .sh-home-layout { grid-template-columns:1fr; }
    .sh-sidebar { position:static; top:auto; }
}
@media (max-width: 782px) {
    .sh-header__inner, .sh-home-shell, .sh-footer__inner, .sh-search-panel__inner { width: calc(100% - 28px); }
    .sh-header__brand { font-size: 25px; }
    .sh-home-page { padding-top: 24px; }
    .sh-featured-grid { grid-template-columns:1fr; }
    .sh-featured-stack { grid-template-columns:1fr 1fr; gap:14px; }
    .sh-featured-card--lead .sh-featured-card__link > img, .sh-featured-card--lead .sh-featured-card__link .s2-image-fallback { min-height: 260px; }
    .sh-news-grid { gap:18px 14px; }
}
@media (max-width: 580px) {
    .sh-header__topline { width: 40%; }
    .sh-header__inner { min-height: 44px; }
    .sh-header__brand { font-size: 24px; letter-spacing:-1px; }
    .sh-section-title h2 { font-size: 17px; }
    .sh-featured-stack { grid-template-columns:1fr; }
    .sh-featured-card--small .sh-featured-card__link > img, .sh-featured-card--small .sh-featured-card__link .s2-image-fallback { min-height: 170px; }
    .sh-featured-card__content { padding: 16px 16px 14px; }
    .sh-featured-card--lead .sh-featured-card__title { font-size: 21px; }
    .sh-featured-card--small .sh-featured-card__title { font-size: 15px; }
    .sh-news-grid { grid-template-columns:1fr; }
    .sh-news-card__title { font-size: 16px; }
    .sh-widget { padding:16px; }
    .sh-popular-item__rank { font-size:18px; }
    .sh-footer__links { gap:12px; }
    .sh-footer__disclaimer { font-size:12px; }
    .sh-go-top { right: 16px; bottom: 16px; width: 42px; height: 42px; border-radius: 12px; }
}


/* ===== Home revision 2.2: reference typography, palette, alignment and interactions ===== */
:root {
    --font-sans: "Lexend", sans-serif;
    --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

    --color-red-50: oklch(97.1% .013 17.38);
    --color-red-100: oklch(93.6% .032 17.717);
    --color-red-200: oklch(88.5% .062 18.334);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-red-800: oklch(44.4% .177 26.899);
    --color-orange-100: oklch(95.4% .038 75.164);
    --color-orange-400: oklch(75% .183 55.934);
    --color-orange-600: oklch(64.6% .222 41.116);
    --color-amber-50: oklch(98.7% .022 95.277);
    --color-amber-100: oklch(96.2% .059 95.617);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-400: oklch(82.8% .189 84.429);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-amber-700: oklch(55.5% .163 48.998);
    --color-amber-800: oklch(47.3% .137 46.201);
    --color-yellow-300: oklch(90.5% .182 98.111);
    --color-emerald-600: oklch(59.6% .145 163.225);
    --color-blue-50: oklch(97% .014 254.604);
    --color-blue-100: oklch(93.2% .032 255.585);
    --color-blue-200: oklch(88.2% .059 254.128);
    --color-blue-400: oklch(70.7% .165 254.624);
    --color-blue-500: oklch(62.3% .214 259.815);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-700: oklch(48.8% .243 264.376);
    --color-blue-800: oklch(42.4% .199 265.638);
    --color-blue-900: oklch(37.9% .146 265.522);
    --color-slate-50: oklch(98.4% .003 247.858);
    --color-slate-100: oklch(96.8% .007 247.896);
    --color-slate-200: oklch(92.9% .013 255.508);
    --color-slate-300: oklch(86.9% .022 252.894);
    --color-slate-400: oklch(70.4% .04 256.788);
    --color-slate-500: oklch(55.4% .046 257.417);
    --color-slate-600: oklch(44.6% .043 257.281);
    --color-slate-700: oklch(37.2% .044 257.287);
    --color-slate-800: oklch(27.9% .041 260.031);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-900: oklch(21% .034 264.665);

    --sh-text: var(--color-slate-900);
    --sh-muted: var(--color-slate-500);
    --sh-bg: var(--color-slate-50);
    --sh-card: #fff;
    --sh-line: var(--color-slate-200);
    --sh-red: var(--color-red-600);
    --sh-yellow: #ffbd00;
    --sh-title-font: var(--font-sans);
    --sh-sidebar-width: 345px;
    --sh-column-gap: 30px;
    --theme-body-font: var(--font-sans);
    --theme-heading-font: var(--font-sans);
}

body.sh-body,
body.sh-body button,
body.sh-body input,
body.sh-body textarea,
body.sh-body select { font-family: var(--font-sans); }
body.sh-body { background:var(--sh-bg); color:var(--sh-text); }
.sh-header__brand, .sh-footer__brand, .sh-section-title h2, .sh-widget__heading h2 { font-family:var(--font-sans); }
.sh-header__brand { font-weight:800; }
.sh-section-title h2 { font-weight:700; }
.sh-home-layout,
.sh-featured-grid {
    grid-template-columns: minmax(0, 1fr) var(--sh-sidebar-width);
    column-gap: var(--sh-column-gap);
}
.sh-home-layout { align-items:start; }
.sh-section--featured { margin-bottom:35px; }
.sh-featured-grid { height: 410px; align-items:stretch; }
.sh-featured-stack { grid-template-rows: repeat(2, minmax(0,1fr)); gap: 25px; min-height:0; }
.sh-featured-card { height:100%; min-height:0; overflow:hidden; border-radius:20px; }
.sh-featured-card__link { height:100%; overflow:hidden; border-radius:20px; }
.sh-featured-card__link > img,
.sh-featured-card__link .s2-image-fallback,
.sh-featured-card--lead .sh-featured-card__link > img,
.sh-featured-card--lead .sh-featured-card__link .s2-image-fallback,
.sh-featured-card--small .sh-featured-card__link > img,
.sh-featured-card--small .sh-featured-card__link .s2-image-fallback {
    display:block; width:100%; height:100%; min-height:0; aspect-ratio:auto; object-fit:cover;
    transition: transform .45s cubic-bezier(.4,0,.2,1);
}
.sh-featured-card__badge, .sh-news-card__badge {
    z-index:4;
    display:inline-flex; align-items:center; justify-content:center;
    width:auto; max-width:calc(100% - 20px); color:#fff;
    background:var(--color-red-600); font-weight:800;
    transition: background-color .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1);
}
.sh-featured-card__badge:hover,
.sh-featured-card__badge:focus-visible,
.sh-news-card__badge:hover,
.sh-news-card__badge:focus-visible { background:var(--color-red-800); color:#fff; transform:translateY(-1px); }
.sh-featured-card__title,
.sh-news-card__title a,
.sh-popular-item__title,
.sh-recent-item__title { transition:color .3s cubic-bezier(.4,0,.2,1); }
.sh-featured-card:hover .sh-featured-card__link > img,
.sh-featured-card:hover .sh-featured-card__link .s2-image-fallback,
.sh-news-card:hover .sh-news-card__media > img,
.sh-news-card:hover .sh-news-card__media .s2-image-fallback,
.sh-popular-item:hover .sh-popular-item__thumb > img,
.sh-recent-item:hover .sh-recent-item__thumb > img { transform:scale(1.07); }
.sh-featured-card:hover .sh-featured-card__title,
.sh-news-card:hover .sh-news-card__title a,
.sh-popular-item:hover .sh-popular-item__title,
.sh-recent-item:hover .sh-recent-item__title { color:var(--color-red-600); }
.sh-featured-card__title { font-weight:800; }
.sh-featured-card--lead .sh-featured-card__title { font-size:27px; line-height:1.32; }
.sh-featured-card--small .sh-featured-card__title { font-size:13px; font-weight:700; }
.sh-featured-card__content { pointer-events:none; }
.sh-featured-card__badge { top:12px; right:12px; }
.sh-news-card__visual { position:relative; min-width:0; }
.sh-news-card__media { display:block; aspect-ratio:16/10.6; overflow:hidden; }
.sh-news-card__media > img, .sh-news-card__media .s2-image-fallback {
    height:100%; width:100%; aspect-ratio:auto; object-fit:cover;
    transition:transform .45s cubic-bezier(.4,0,.2,1);
}
.sh-news-card__title { font-size:16px; line-height:1.55; font-weight:700; letter-spacing:-.3px; }
.sh-news-card__badge { top:12px; right:12px; }
.sh-news-card__meta { color:var(--color-slate-500); font-weight:400; font-size:11px; }
.sh-sidebar { position:static; top:auto; padding-top:0; gap:24px; }
.sh-home-layout > .sh-sidebar { padding-top:41px; }
.sh-widget { border-color:var(--color-gray-200); }
.sh-widget__heading h2 { font-weight:700; font-size:14px; }
.sh-popular-item__title, .sh-recent-item__title { font-weight:600; font-size:11px; line-height:1.45; }
.sh-popular-item__rank { color:var(--color-slate-400); font-size:14px; }
.sh-popular-item__thumb, .sh-recent-item__thumb { overflow:hidden; }
.sh-popular-item__thumb > img, .sh-recent-item__thumb > img { transition: transform .45s cubic-bezier(.4,0,.2,1); }
.sh-popular-item__meta { font-size:10px; }
.sh-footer__disclaimer { color:var(--color-slate-500); }
.sh-go-top {
    display:flex; opacity:1; z-index:999; bottom:32%; right:28px;
    align-items:center; justify-content:center;
    width:40px; height:40px; border-radius:11px; color:#fff;
    background:#ffbe00; box-shadow:0 4px 12px #0000001a;
    transition:all .3s cubic-bezier(.4,0,.2,1);
}
.sh-go-top svg { width:23px; height:23px; stroke:#fff; flex:0 0 auto; }
.sh-go-top:hover { background:#f2ac00; transform:translateY(-3px); box-shadow:0 6px 14px #00000025; }
.sh-go-top:focus-visible, .sh-news-card__badge:focus-visible,
.sh-featured-card__badge:focus-visible { outline:3px solid var(--color-blue-500); outline-offset:3px; }
.sh-go-top[hidden] { display:none; }
@media (max-width:1200px) {
    :root { --sh-sidebar-width: 310px; --sh-column-gap: 24px; }
    .sh-featured-grid { grid-template-columns:minmax(0,1fr) var(--sh-sidebar-width); gap:var(--sh-column-gap); }
    .sh-home-layout { grid-template-columns:minmax(0,1fr) var(--sh-sidebar-width); gap:var(--sh-column-gap); }
}
@media (max-width:1024px) {
    :root { --sh-sidebar-width: 275px; --sh-column-gap: 18px; }
    .sh-featured-grid { grid-template-columns:minmax(0,1fr) var(--sh-sidebar-width); gap:var(--sh-column-gap); }
    .sh-home-layout { grid-template-columns:minmax(0,1fr) var(--sh-sidebar-width); gap:var(--sh-column-gap); }
    .sh-home-layout > .sh-sidebar { padding-top:41px; }
}
@media (max-width:782px) {
    .sh-featured-grid { height:auto; grid-template-columns:1fr; gap:13px; }
    .sh-featured-card--lead { height:290px; }
    .sh-featured-stack { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:190px; gap:12px; }
    .sh-home-layout { grid-template-columns:1fr; }
    .sh-home-layout > .sh-sidebar { padding-top:0; }
    .sh-news-card__media { aspect-ratio:16/10; }
}
@media (max-width:580px) {
    .sh-featured-card--lead { height:265px; }
    .sh-featured-stack { grid-template-columns:1fr; grid-template-rows:repeat(2,170px); }
    .sh-featured-card--lead .sh-featured-card__title { font-size:20px; }
    .sh-featured-card--small .sh-featured-card__title { font-size:13px; }
    .sh-go-top { right:16px; bottom:32%; }
}
@media (prefers-reduced-motion:reduce) {
    .sh-featured-card__link > img, .sh-news-card__media > img, .sh-popular-item__thumb > img,
    .sh-recent-item__thumb > img, .sh-go-top, .sh-news-card__badge,
    .sh-featured-card__badge { transition:none; }
}


/* v2.2.1 — Featured Stories: darker photo-bottom overlay + reference hover */
:root { --sh-featured-hover: #ff6467; }
.sh-featured-card__link { isolation: isolate; }
.sh-featured-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, .97) 0%,
        rgba(0, 0, 0, .87) 9%,
        rgba(0, 0, 0, .66) 23%,
        rgba(0, 0, 0, .28) 47%,
        rgba(0, 0, 0, .10) 74%,
        rgba(0, 0, 0, .055) 100%
    );
    opacity: 1;
    transition: opacity .35s cubic-bezier(.4, 0, .2, 1);
}
.sh-featured-card--small .sh-featured-card__overlay {
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, .98) 0%,
        rgba(0, 0, 0, .85) 20%,
        rgba(0, 0, 0, .40) 49%,
        rgba(0, 0, 0, .09) 80%,
        rgba(0, 0, 0, .055) 100%
    );
}
.sh-featured-card__content {
    z-index: 2;
    color: #fff;
}
.sh-featured-card__title {
    color: #fff;
    text-shadow: 0 2px 7px rgba(0, 0, 0, .42);
    transition: color .3s cubic-bezier(.4, 0, .2, 1);
}
.sh-featured-card:hover .sh-featured-card__overlay,
.sh-featured-card:focus-within .sh-featured-card__overlay { opacity: .94; }
.sh-featured-card:hover .sh-featured-card__title,
.sh-featured-card:focus-within .sh-featured-card__title {
    color: var(--sh-featured-hover);
}
.sh-featured-card:hover .sh-featured-card__link > img,
.sh-featured-card:focus-within .sh-featured-card__link > img,
.sh-featured-card:hover .sh-featured-card__link .s2-image-fallback,
.sh-featured-card:focus-within .sh-featured-card__link .s2-image-fallback {
    transform: scale(1.06);
}
@media (prefers-reduced-motion: reduce) {
    .sh-featured-card__overlay,
    .sh-featured-card__title { transition: none; }
}


/* v2.2.2 — tighter 1140px reference home + two-line titles + compact widgets */
:root { --sh-width: 1140px; --sh-column-gap: 24px; --sh-sidebar-width: 320px; }
.sh-header__inner,
.sh-home-shell,
.sh-footer__inner,
.sh-search-panel__inner {
    max-width: 1140px !important;
    width: calc(100% - 40px);
}
.sh-home-page { padding-top: 39px; }
.sh-section-title { margin-bottom: 17px; }
.sh-section--featured { margin-bottom: 36px; }
.sh-featured-grid, .sh-home-layout {
    grid-template-columns: minmax(0, 1fr) var(--sh-sidebar-width);
    gap: var(--sh-column-gap);
}
/* Aspect ratio follows reference: prominent hero and two equally sized side cards. */
.sh-featured-grid { height: 410px; }
.sh-featured-stack { gap: 24px; }
.sh-section-title h2 { font-size: 19px; font-weight: 700; }
.sh-featured-card--lead .sh-featured-card__title { font-size: 25px; line-height: 1.32; }
.sh-featured-card--small .sh-featured-card__title { font-size: 13px; line-height: 1.38; }
/* Limit card titles everywhere to two lines, never cut single-article main headings. */
.sh-featured-card__title,
.sh-news-card__title,
.sh-popular-item__title,
.sh-recent-item__title,
.s2-card__title,
.s2-featured-title,
.s2-popular-item__title,
.s2-recent-item__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
    overflow: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
}
.sh-featured-card--lead .sh-featured-card__title,
.sh-featured-card--small .sh-featured-card__title { -webkit-line-clamp: 2 !important; }
.sh-news-card__media { aspect-ratio: 3 / 2; }
.sh-news-card__title { font-size: 15px; line-height: 1.46; font-weight: 650; margin: 10px 0 9px; }
.sh-news-grid { gap: 22px 20px; }
.sh-news-card__meta { font-size: 10px; gap: 10px; }
.sh-widget { border-radius: 16px; padding: 19px 19px 20px; }
.sh-home-layout > .sh-sidebar { padding-top: 40px; }
.sh-widget__heading { padding-bottom: 14px; margin-bottom: 15px; }
.sh-widget__heading h2 { font-size: 14px; font-weight: 650; }
.sh-popular-list { gap: 12px; }
.sh-popular-item { grid-template-columns: 20px 49px minmax(0,1fr); gap:10px; }
.sh-popular-item__rank { font-size: 13px; padding-top: 10px; }
.sh-popular-item__thumb { width:49px; height:49px; }
.sh-popular-item__title { font-size: 11.5px; line-height: 1.42; font-weight: 600; }
.sh-popular-item__meta { font-size: 10px; }
.sh-recent-list { gap: 0; }
.sh-recent-item { grid-template-columns: 52px minmax(0,1fr); gap:12px; align-items:center; padding: 12px 0; }
.sh-recent-item:first-child { padding-top: 0; }
.sh-recent-item__thumb { width:52px; height:52px; border-radius: 9px; }
.sh-recent-item__body { gap: 5px; }
.sh-recent-item__title { font-size: 12px; font-weight: 600; line-height: 1.4; color:var(--color-slate-900); }
.sh-recent-item__meta { font-size: 10px; line-height:1.4; color:var(--color-slate-500); font-weight:400; }
.sh-load-wrap { padding: 25px 0 8px; }
.sh-load-more {
    background: var(--color-red-600); color: white; border-radius: 12px;
    height: 47px; min-width: 176px; font-size: 13px; font-weight: 700;
    box-shadow: 0 4px 10px #00000014;
    transition:background .25s, transform .25s;
}
.sh-load-more:hover { background:var(--color-red-700); transform:translateY(-1px); }
.sh-header { border-bottom: 1px solid var(--color-slate-200); background:white; }
.sh-header__topline { height: 2px; width:100%; background: linear-gradient(to right, #f6b73c, #fa8753); }
.sh-header__inner { min-height: 42px; }
.sh-header__left { gap: 3px; }
.sh-header__brand { font-size: 26px; font-weight: 800; letter-spacing: -1px; color:var(--color-slate-900); }
.sh-header__menu { width:26px; height:33px; }
.sh-header__menu svg { width:20px; height:20px; }
.sh-header__search { width:34px; height:34px; }
.sh-header__icon:hover { background:var(--color-slate-100); }
.sh-footer { margin-top: 56px; background: #fff; border-top: 1px solid var(--color-slate-200); }
.sh-footer__inner { padding: 23px 0 15px; }
.sh-footer__brand { font-size: 16px; font-weight: 750; letter-spacing: 0; margin-bottom: 20px; }
.sh-footer__links { gap: 16px; margin-bottom: 10px; }
.sh-footer__links a { font-size: 11px; font-weight: 600; color:var(--color-slate-600); }
.sh-footer__disclaimer { max-width: 850px; font-size: 10px; line-height: 1.4; color:var(--color-slate-500); }
@media (max-width:1200px) {
    :root { --sh-column-gap: 22px; --sh-sidebar-width: 295px; }
    .sh-featured-grid, .sh-home-layout { grid-template-columns: minmax(0,1fr) var(--sh-sidebar-width); gap:var(--sh-column-gap); }
}
@media (max-width:1024px) {
    :root { --sh-column-gap: 18px; --sh-sidebar-width: 275px; }
    .sh-featured-grid, .sh-home-layout { grid-template-columns: minmax(0,1fr) var(--sh-sidebar-width); gap:var(--sh-column-gap); }
}
@media (max-width:782px) {
    .sh-header__inner, .sh-home-shell, .sh-footer__inner, .sh-search-panel__inner { width:calc(100% - 28px); }
    .sh-featured-grid { grid-template-columns: 1fr; height:auto; gap:13px; }
    .sh-featured-card--lead { height:290px; }
    .sh-featured-stack { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:190px; gap:12px; }
    .sh-home-layout { grid-template-columns: 1fr; }
    .sh-home-layout > .sh-sidebar { padding-top:0; }
}
@media (max-width:580px) {
    .sh-featured-card--lead { height:265px; }
    .sh-featured-stack { grid-template-columns:1fr; grid-template-rows:repeat(2,170px); }
    .sh-featured-card--lead .sh-featured-card__title { font-size: 20px; }
    .sh-featured-card--small .sh-featured-card__title { font-size:13px; }
    .sh-news-card__title { font-size:14px; }
    .sh-news-card__media { aspect-ratio: 3/2; }
    .sh-header__brand { font-size:24px; }
}


/* v2.2.3 — Header search pill + desktop featured 8:4 proportions */
.sh-header {
    overflow: visible;
    background: #fff;
}
.sh-header__topline { height:3px; background:#262626; }
.sh-header__inner {
    min-height:43px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    position:relative;
    gap:20px;
}
.sh-header__left { display:flex; flex:0 0 auto; align-items:center; gap:2px; }
.sh-header__menu { display:inline-flex !important; align-items:center; justify-content:center; padding:0; width:25px; min-width:25px; height:32px; color:var(--color-slate-900); }
.sh-header__menu svg { width:20px; height:20px; }
.sh-header__brand { display:inline-block; font-size:27px; font-weight:800; line-height:1.15; letter-spacing:-1px; }
.sh-header__right { position:relative; margin-left:auto; display:flex; align-items:center; justify-content:flex-end; flex:0 0 auto; width:270px; min-width:34px; height:44px; }
.sh-header__search { display:inline-flex !important; align-items:center; justify-content:center; padding:0; flex:0 0 34px; width:34px; height:34px; color:var(--color-slate-700); transition:opacity .22s ease, transform .25s ease; }
.sh-header__search svg { width:19px; height:19px; }
.sh-header__right:has(.sh-header-search.is-open) .sh-header__search { opacity:0; pointer-events:none; transform:scale(.85); }
.sh-header-search {
    position:absolute; z-index:3; top:50%; right:0; transform:translateY(-50%) translateX(10px) scale(.94);
    display:flex; align-items:center; gap:0;
    width:260px; max-width:calc(100vw - 100px); height:41px;
    padding:0 7px; margin:0;
    border:0; border-radius:999px;
    background:var(--color-gray-100, #f2f2f5);
    box-shadow:none;
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .26s cubic-bezier(.4,0,.2,1), transform .28s cubic-bezier(.4,0,.2,1), visibility .28s;
}
.sh-header-search.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(-50%) translateX(0) scale(1); }
.sh-header-search__submit, .sh-header-search__close {
    width:30px; height:32px; padding:0; border:0; border-radius:50%;
    background:transparent; color:var(--color-slate-800); cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
}
.sh-header-search__submit:hover, .sh-header-search__close:hover { background:#e5e7eb; }
.sh-header-search input[type="search"] {
    margin:0; padding:0 6px 0 8px; outline:0; box-shadow:none;
    background:transparent; border:0; border-radius:0;
    min-width:0; flex:1; height:100%; color:var(--color-slate-800);
    font:400 12px/1.4 var(--font-sans);
    -webkit-appearance:none; appearance:none;
}
.sh-header-search input[type="search"]::placeholder { color:var(--color-gray-400); opacity:1; }
.sh-header-search input[type="search"]::-webkit-search-cancel-button { display:none; }
.sh-header-search__close { margin-left:auto; }
.sh-header-search__close svg { width:16px; height:16px; }
.sh-header-search__submit:focus-visible, .sh-header-search__close:focus-visible, .sh-header__icon:focus-visible, .sh-header-search input:focus-visible { outline:2px solid var(--color-blue-500); outline-offset:2px; }
/* Desktop: Tailwind reference uses lg:col-span-8 / lg:col-span-4 and aspect-[16/9].
   The right stack inherits the lead card height and divides it into equal rows. */
@media (min-width:783px) {
    .sh-featured-grid, .sh-home-layout {
        grid-template-columns:minmax(0, 2fr) minmax(0, 1fr);
        column-gap:24px;
    }
    .sh-featured-grid { height:auto; align-items:stretch; }
    .sh-featured-card--lead { height:auto; aspect-ratio:16/9; }
    .sh-featured-stack { height:100%; min-height:0; grid-template-columns:minmax(0, 1fr); grid-template-rows:repeat(2, minmax(0, 1fr)); gap:24px; align-self:stretch; }
    .sh-featured-card--small { height:100%; min-height:0; }
    .sh-featured-card__link { height:100%; }
    .sh-featured-card--lead .sh-featured-card__link > img, .sh-featured-card--small .sh-featured-card__link > img,
    .sh-featured-card--lead .sh-featured-card__link .s2-image-fallback, .sh-featured-card--small .sh-featured-card__link .s2-image-fallback {
        width:100%; height:100%; min-height:0; object-fit:cover; aspect-ratio:auto;
    }
}
@media(max-width:782px) {
    .sh-featured-grid { grid-template-columns:1fr; height:auto; gap:13px; }
    .sh-featured-card--lead { height:auto; aspect-ratio:16/9; }
    .sh-featured-stack { height:auto; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; gap:12px; }
    .sh-featured-card--small { height:auto; aspect-ratio:16/9; }
    .sh-home-layout { grid-template-columns:1fr; }
    .sh-header__right { width:260px; }
}
@media(max-width:580px) {
    .sh-featured-stack { grid-template-columns:1fr; grid-template-rows:auto; }
    .sh-featured-card--small { aspect-ratio:16/9; }
    .sh-header__brand { font-size:24px; }
    .sh-header__right { width: min(260px, calc(100vw - 170px)); }
    .sh-header-search { width:min(260px, calc(100vw - 110px)); }
}
@media(prefers-reduced-motion:reduce) {
    .sh-header-search, .sh-header__search { transition:none; }
}


/* 2.2.4 Featured Stories hotfix: break percentage-height/intrinsic-image sizing cycle.
 * Image elements are positioned inside independent, explicitly sized card frames,
 * so original image dimensions and WordPress thumbnail dimensions cannot expand grid.
 */
.sh-home-page .sh-section--featured,
.sh-home-page .sh-featured-grid,
.sh-home-page .sh-featured-stack,
.sh-home-page .sh-featured-card { min-width:0; max-width:100%; }
.sh-home-page .sh-featured-grid {
    width:100%; height:auto;
    display:grid;
    grid-template-columns:minmax(0, 2fr) minmax(0, 1fr);
    grid-template-rows:auto;
    gap:24px;
    align-items:stretch;
}
.sh-home-page .sh-featured-card {
    position:relative;
    min-height:0;
    overflow:hidden;
    isolation:isolate;
    border-radius:20px;
}
.sh-home-page .sh-featured-card--lead {
    width:100%;
    height:auto;
    aspect-ratio:16 / 9;
}
.sh-home-page .sh-featured-stack {
    display:grid;
    height:100%;
    min-height:0;
    grid-template-columns:minmax(0, 1fr);
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:24px;
    align-self:stretch;
}
.sh-home-page .sh-featured-card--small { height:100%; min-height:0; }
.sh-home-page .sh-featured-card__link {
    position:absolute;
    display:block;
    inset:0;
    width:100%; height:100%;
    overflow:hidden;
    border-radius:inherit;
}
.sh-home-page .sh-featured-card__link > img,
.sh-home-page .sh-featured-card__link > .s2-image-fallback {
    position:absolute;
    display:block;
    inset:0;
    width:100%; height:100%;
    min-width:0; min-height:0;
    max-width:none; max-height:none;
    object-fit:cover;
    object-position:center center;
    aspect-ratio:auto;
    margin:0;
}
.sh-home-page .sh-featured-card__overlay { position:absolute; inset:0; }
@media (max-width:782px) {
    .sh-home-page .sh-featured-grid {
        grid-template-columns:minmax(0,1fr);
        gap:13px;
    }
    .sh-home-page .sh-featured-stack {
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-template-rows:auto;
        height:auto;
        gap:12px;
    }
    .sh-home-page .sh-featured-card--small {
        height:auto;
        aspect-ratio:16 / 9;
    }
}
@media (max-width:580px) {
    .sh-home-page .sh-featured-stack { grid-template-columns:minmax(0,1fr); }
}


/* v2.2.5 — Full-width click-only navigation panel and larger STORIES header. */
.sh-header__inner { min-height: 61px; }
.sh-header__brand { font-size:36px !important; line-height:1.05; font-weight:800; letter-spacing:-1.3px; }
.sh-header__left { gap:5px; }
.sh-header__menu { width:23px; height:34px; min-width:23px; }
.sh-header__icon:hover, .sh-header__icon:active { background: transparent !important; color:inherit; transform:none; }
.sh-header__menu:hover .sh-menu-glyph span, .sh-header__search:hover svg { color:inherit; }
.sh-menu-glyph { display:block; position:relative; width:20px; height:18px; }
.sh-menu-glyph > span {
    position:absolute; left:1px; width:18px; height:2px; border-radius:2px;
    display:block; background:currentColor;
    transition:transform .28s cubic-bezier(.4,0,.2,1), top .28s cubic-bezier(.4,0,.2,1), opacity .18s ease;
}
.sh-menu-glyph > span:nth-child(1) { top:3px; }
.sh-menu-glyph > span:nth-child(2) { top:8px; }
.sh-menu-glyph > span:nth-child(3) { top:13px; }
.sh-header__menu.is-open .sh-menu-glyph > span:nth-child(1) { top:8px; transform:rotate(45deg); }
.sh-header__menu.is-open .sh-menu-glyph > span:nth-child(2) { opacity:0; }
.sh-header__menu.is-open .sh-menu-glyph > span:nth-child(3) { top:8px; transform:rotate(-45deg); }
.sh-nav-drawer {
    position:fixed !important;
    z-index:89;
    inset: var(--sh-nav-top, 64px) 0 0 0 !important;
    width:100% !important;
    max-width:none !important;
    height:calc(100dvh - var(--sh-nav-top,64px)) !important;
    padding:0 !important;
    margin:0 !important;
    border:0;
    border-radius:0;
    background:#fff;
    box-shadow:none;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    transform:translateY(-12px) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .26s cubic-bezier(.4,0,.2,1), opacity .26s cubic-bezier(.4,0,.2,1), visibility .26s;
}
.sh-nav-drawer.is-open {
    transform:translateY(0) !important;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.sh-nav-drawer__nav {
    width:min(calc(100% - 40px),1140px);
    margin:0 auto;
    padding:25px 12px 32px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:25px 10px;
    flex:0 0 auto;
}
.sh-nav-drawer__nav a {
    font:600 12px/1.7 var(--font-sans,Lexend,sans-serif);
    display:block;
    text-align:left;
    color:var(--color-slate-900,#182132);
    background:transparent !important;
    padding:8px 4px !important;
    border:0;
    border-radius:0;
    transition:none !important;
}
.sh-nav-drawer__nav a:hover { color:inherit !important; background:transparent !important; }
.sh-nav-drawer__nav a:focus-visible { outline:2px solid var(--color-blue-500,#4b7cf6); outline-offset:2px; }
.sh-nav-drawer__bottom {
    margin-top:auto;
    width:100%;
    background:var(--color-slate-50,#f8fafc);
    border-top:1px solid var(--color-slate-100,#f1f5f9);
    padding:15px max(20px, calc((100vw - 1140px)/2));
    display:flex;
    flex-direction:column;
    gap:13px;
    min-height:75px;
}
.sh-nav-drawer__legal { display:flex; align-items:center; gap:15px; flex-wrap:wrap; }
.sh-nav-drawer__legal a { color:var(--color-slate-800,#263449); font-size:11px; font-weight:500; }
.sh-nav-drawer__bottom p { margin:0; color:var(--color-slate-400,#a8afbe); font-size:10px; }
@media(max-width:782px) {
    .sh-header__inner { min-height:58px; }
    .sh-nav-drawer__nav { grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:18px; }
    .sh-header__brand { font-size:36px !important; }
}
@media(max-width:420px) {
    .sh-header__brand { font-size:36px !important; }
    .sh-nav-drawer__nav { grid-template-columns:1fr; gap:8px; }
    .sh-nav-drawer__bottom { padding:18px; }
}
@media(prefers-reduced-motion:reduce) {
    .sh-menu-glyph > span, .sh-nav-drawer { transition:none !important; }
}
/* Keep the 36px wordmark and search button on one line on narrow devices. */
.sh-header__inner { gap:10px; }
.sh-header__left { flex:0 0 auto; min-width:0; }
.sh-header__right { flex:1 1 auto; width:auto !important; min-width:34px; }

/* v2.2.6 — compact archive pages, Trending sidebar, header and floating actions. */
/* Menu may cover page content, but never remove the scrollbar (or change page width). */
html.sh-lock, html.sh-lock body,
body.sh-body:has(.sh-nav-drawer.is-open) { overflow-y:auto !important; }

/* The Search icon is always transparent, including active/focus/hover states. */
body.sh-body .sh-header__search,
body.sh-body .sh-header__search:hover,
body.sh-body .sh-header__search:active,
body.sh-body .sh-header__search:focus,
body.sh-body .sh-header__search:focus-visible {
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

/* Align floating arrow to the right side of the content block, not the viewport edge. */
body.sh-body .sh-go-top {
    right:max(14px, calc((100vw - 1140px) / 2 - 60px));
    bottom:32%;
    z-index:999;
}
@media (max-width:1220px) {
    body.sh-body .sh-go-top { right:14px; }
}

.sh-widget__heading .sh-widget__title-link {
    display:inline; font-size:inherit; font-weight:inherit; color:inherit;
    transition:color .2s ease;
}
.sh-widget__heading .sh-widget__title-link:hover,
.sh-widget__heading .sh-widget__title-link:focus-visible { color:var(--color-red-600); }

/* Trending/category/tag archives share a full-width four-column reference layout. */
.sh-archive-page { min-height:calc(100vh - 260px); padding:34px 0 50px; }
.sh-archive-shell { width:min(calc(100% - 32px), 888px); margin:0 auto; }
.sh-archive-heading {
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
    gap:10px 18px; margin:0 0 20px;
}
.sh-archive-heading__left { display:flex; align-items:center; gap:10px; min-width:0; }
.sh-archive-heading__icon { display:flex; align-items:center; justify-content:center; background:#fff0dd; border-radius:9px; width:28px; height:28px; font-size:17px; }
.sh-archive-heading h1 { margin:0; color:var(--color-slate-900); font-family:var(--font-sans); font-size:21px; font-weight:750; line-height:1.35; letter-spacing:-.4px; }
.sh-archive-heading__count { white-space:nowrap; background:#f0f1f5; color:var(--color-slate-500); padding:5px 12px; border-radius:999px; font-size:11px; font-weight:600; }
.sh-archive-description { font-size:13px; color:var(--color-slate-500); margin:0 0 20px; }
.sh-archive-description p { margin:0; }
.sh-archive-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:20px; row-gap:23px; }
.sh-archive-card { min-width:0; }
.sh-archive-card__visual { position:relative; min-width:0; }
.sh-archive-card__image { display:block; width:100%; aspect-ratio:3/2; border-radius:13px; overflow:hidden; background:#eef0f2; }
.sh-archive-card__image img,
.sh-archive-card__image .s2-image-fallback { display:block; width:100%; height:100%; min-height:0; object-fit:cover; transition:transform .35s cubic-bezier(.4,0,.2,1); }
.sh-archive-card:hover .sh-archive-card__image img { transform:scale(1.06); }
.sh-archive-card .sh-news-card__badge { top:9px; right:9px; padding:5px 10px; font-size:10px; line-height:1; border-radius:5px; }
.sh-archive-card__title { margin:8px 0 8px; color:var(--color-slate-900); font-family:var(--font-sans); font-size:14px; line-height:1.55; font-weight:650; letter-spacing:-.25px; }
.sh-archive-card__title a { color:inherit; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; }
.sh-archive-card:hover .sh-archive-card__title a { color:var(--color-red-600); }
.sh-archive-card__meta { display:flex; align-items:center; gap:8px; flex-wrap:nowrap; min-width:0; white-space:nowrap; color:var(--color-slate-500); font-size:9px; font-weight:450; }
.sh-archive-card__meta span { flex:0 0 auto; }
.sh-archive-card__meta time { min-width:0; text-overflow:ellipsis; overflow:hidden; }
.sh-archive-card__views { color:#ed541b; font-weight:700; }
.sh-archive-card__views span { color:var(--color-slate-800); }
.sh-archive-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px; margin:32px auto 0; }
.sh-archive-pagination .page-numbers {
    display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:32px;
    padding:0 10px; border:1px solid #e1e5eb; background:#fff; border-radius:10px;
    color:var(--color-slate-800); font-size:11px; font-weight:650;
    box-shadow:0 1px 3px #0000000a;
}
.sh-archive-pagination .page-numbers.current,
.sh-archive-pagination .page-numbers[aria-current="page"] { background:var(--color-red-600); color:#fff; border-color:var(--color-red-600); }
.sh-archive-pagination a.page-numbers:hover { color:var(--color-red-600); border-color:var(--color-red-600); }
.sh-archive-pagination .prev,
.sh-archive-pagination .next { padding-inline:14px; }
.sh-archive-pagination .dots { border:0; box-shadow:none; background:transparent; }
@media(max-width:760px) {
    .sh-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 15px; }
    .sh-archive-page { padding-top:26px; }
}
@media(max-width:550px) {
    .sh-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
    .sh-archive-card__title { font-size:12px; }
    .sh-archive-card__meta { flex-wrap:wrap; gap:4px 8px; font-size:9px; }
    .sh-archive-heading__count { font-size:10px; }
}
@media(max-width:350px) {
    .sh-archive-card .sh-news-card__badge { top:6px; right:6px; padding:4px 5px; font-size:8px; }
    .sh-archive-heading h1 { font-size:17px; }
}


/* v2.2.7 — Category / Trending / Tag archive alignment to reference dimensions.
   The global theme container is 1140px; archive pages must not use the old 888px limit. */
:root { --sh-width:1140px; }
body.sh-body .sh-archive-shell {
    width:min(calc(100% - 32px), 1140px) !important;
    max-width:1140px !important;
}
body.sh-body .sh-archive-page { padding-top:35px; padding-bottom:65px; }
body.sh-body .sh-archive-heading { margin-bottom:24px; gap:12px 18px; }
body.sh-body .sh-archive-heading h1 {
    font-size:23px; font-weight:750; line-height:1.35;
}
body.sh-body .sh-archive-heading__icon { width:33px; height:33px; font-size:19px; border-radius:10px; }
body.sh-body .sh-archive-heading__count { font-size:12px; font-weight:550; padding:6px 14px; }
body.sh-body .sh-archive-grid {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
    column-gap:24px; row-gap:27px;
}
body.sh-body .sh-archive-card { min-width:0; }
body.sh-body .sh-archive-card__image { aspect-ratio:3 / 2; border-radius:14px; }
body.sh-body .sh-archive-card__image img,
body.sh-body .sh-archive-card__image .s2-image-fallback {
    object-fit:cover; width:100%; height:100%;
}
body.sh-body .sh-archive-card .sh-news-card__badge {
    font-size:11px; font-weight:800; line-height:1.1;
    padding:6px 11px; top:11px; right:11px; border-radius:6px;
}
body.sh-body .sh-archive-card__title {
    font-size:17px; line-height:1.48; font-weight:650;
    letter-spacing:-.25px; margin:10px 0 11px;
}
body.sh-body .sh-archive-card__title a {
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
    overflow:hidden; text-overflow:ellipsis;
}
body.sh-body .sh-archive-card__meta {
    font-size:10.5px; line-height:1.5; font-weight:450;
    gap:10px; min-width:0;
}
body.sh-body .sh-archive-pagination { margin-top:38px; }
body.sh-body .sh-archive-pagination .page-numbers {
    min-width:38px; height:35px; font-size:12px;
}
/* At tablet widths reduce columns rather than compressing cards and lettering. */
@media (max-width:950px) {
    body.sh-body .sh-archive-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        column-gap:19px; row-gap:25px;
    }
}
@media (max-width:640px) {
    body.sh-body .sh-archive-shell { width:calc(100% - 28px) !important; }
    body.sh-body .sh-archive-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:13px; row-gap:22px;
    }
    body.sh-body .sh-archive-card__title { font-size:13.5px; line-height:1.45; margin:8px 0; }
    body.sh-body .sh-archive-card__meta { font-size:9.5px; flex-wrap:wrap; gap:3px 9px; }
    body.sh-body .sh-archive-card .sh-news-card__badge { font-size:9px; padding:5px 7px; top:7px; right:7px; }
    body.sh-body .sh-archive-heading h1 { font-size:19px; }
    body.sh-body .sh-archive-heading__count { font-size:11px; }
}
@media (max-width:360px) {
    body.sh-body .sh-archive-card__title { font-size:12.5px; }
    body.sh-body .sh-archive-card .sh-news-card__badge { font-size:8px; padding:4px 5px; }
}
/* Search/magnifier and dismiss X keep the same solid foreground on hover, active and focus.
   No opacity animation on the glyphs and no pale grey hover circle. */
body.sh-body .sh-header__search,
body.sh-body .sh-header__search:hover,
body.sh-body .sh-header__search:focus,
body.sh-body .sh-header__search:active,
body.sh-body .sh-header-search__submit,
body.sh-body .sh-header-search__submit:hover,
body.sh-body .sh-header-search__submit:focus,
body.sh-body .sh-header-search__submit:active,
body.sh-body .sh-header-search__close,
body.sh-body .sh-header-search__close:hover,
body.sh-body .sh-header-search__close:focus,
body.sh-body .sh-header-search__close:active {
    color:#263449 !important;
    background:transparent !important;
    opacity:1 !important;
    filter:none !important;
    box-shadow:none !important;
    transform:none !important;
}
body.sh-body .sh-header__search svg,
body.sh-body .sh-header-search__submit svg,
body.sh-body .sh-header-search__close svg {
    stroke:currentColor !important;
    opacity:1 !important;
    filter:none !important;
}
/* With the expanded pill visible, conceal the original trigger immediately (do not fade it).
   The search submit icon inside the pill is still solid and fully visible. */
body.sh-body .sh-header__right:has(.sh-header-search.is-open) .sh-header__search {
    visibility:hidden !important;
    pointer-events:none !important;
    opacity:1 !important;
    transform:none !important;
}
body.sh-body .sh-header__search { transition:none !important; }
body.sh-body .sh-header-search.is-open { opacity:1 !important; }

/* StoryPress 2.2.8 — precise three-slot archive metadata + reference-inspired story reader.
   Keep all controls from the existing WordPress reader, report form and chapter JS. */
body.sh-body .sh-archive-card__meta {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    justify-content:stretch;
    width:100%;
    column-gap:7px;
    font-family:var(--font-sans, 'Lexend', sans-serif);
    font-size:11.5px;
    line-height:1.6;
    font-weight:500;
    white-space:nowrap;
}
body.sh-body .sh-archive-card__read { min-width:0; justify-self:start; overflow:hidden; text-overflow:ellipsis; }
body.sh-body .sh-archive-card__views { min-width:0; justify-self:center; white-space:nowrap; }
body.sh-body .sh-archive-card__meta time {
    display:block;
    min-width:0;
    max-width:100%;
    justify-self:end;
    text-align:right;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
@media (max-width:1050px) {
    body.sh-body .sh-archive-card__meta { font-size:10.2px; column-gap:4px; }
}
@media (max-width:640px) {
    body.sh-body .sh-archive-card__meta { font-size:9px; column-gap:3px; }
}

/* Post detail — use Lexend for every visible component including the reading text. */
body.sh-body.single-post,
body.sh-body.single-post .s2-layout,
body.sh-body.single-post .s2-layout button,
body.sh-body.single-post .s2-layout input,
body.sh-body.single-post .s2-layout textarea,
body.sh-body.single-post .s2-toc,
body.sh-body.single-post .s2-toc input {
    font-family:var(--font-sans, 'Lexend', sans-serif) !important;
}
body.sh-body.single-post .sh-story-layout {
    width:min(calc(100% - 32px),1140px) !important;
    max-width:1140px !important;
    margin-inline:auto;
    padding:27px 0 74px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 315px;
    align-items:start;
    gap:28px;
}
body.sh-body.single-post .sh-story-layout .s2-article-main { min-width:0; }
body.sh-body.single-post .sh-story-reader {
    --s2-accent:var(--color-red-600, #dc2626);
    --s2-reading-font:24px;
    background:#fff;
    border:1px solid var(--color-slate-200,#e5e7eb);
    border-radius:15px;
    box-shadow:0 3px 14px rgba(22,34,55,.035);
    overflow:hidden;
}
body.sh-body.single-post .sh-story-reader .s2-reader__header {
    padding:29px 33px 24px;
    background:#fff;
}
body.sh-body.single-post .sh-story-reader .s2-reader__category { margin:0 0 12px; }
body.sh-body.single-post .sh-story-reader .s2-reader__category .s2-kicker {
    color:var(--color-red-600,#dc2626) !important;
    font-family:var(--font-sans,'Lexend',sans-serif);
    font-size:13px;
    font-weight:650;
    line-height:1.5;
    text-transform:none;
    background:transparent;
    padding:0;
    margin:0;
    border:0;
}
body.sh-body.single-post .sh-story-reader .s2-reader__title {
    font-family:var(--font-sans,'Lexend',sans-serif);
    font-size:clamp(24px,2.4vw,30px);
    font-weight:740;
    line-height:1.36;
    letter-spacing:-.7px;
    color:var(--color-slate-900,#0f172a);
    overflow-wrap:break-word;
    margin:0;
}
body.sh-body.single-post .sh-story-reader .s2-reader-tools {
    background:#f9fafb;
    border-top:1px solid #e7eaf0;
    border-bottom:1px solid #e7eaf0;
    padding:15px 26px;
    display:flex;
    gap:16px 20px;
    align-items:center;
    justify-content:space-between;
}
body.sh-body.single-post .sh-story-reader .s2-reader-position {
    display:flex;
    align-items:center;
    gap:11px;
    flex-wrap:nowrap;
    white-space:nowrap;
    font-size:15px;
    line-height:1.4;
}
body.sh-body.single-post .sh-story-reader .s2-chapter-label {
    font-size:16px;
    font-weight:750;
    color:var(--color-slate-900,#0f172a);
}
body.sh-body.single-post .sh-story-reader [data-s2-chapter-count] {
    padding:5px 10px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:999px;
    color:#566275;
    font-size:12px;
    font-weight:650;
}
body.sh-body.single-post .sh-story-reader .s2-tool-groups {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:16px;
    flex-wrap:wrap;
}
body.sh-body.single-post .sh-story-reader .s2-tool-group {
    display:flex;
    align-items:center;
    gap:5px;
    padding:0;
    margin:0;
    border:0;
    min-width:0;
}
body.sh-body.single-post .sh-story-reader .s2-tool-group legend {
    float:left;
    padding:0;
    margin-right:7px;
    line-height:33px;
    font-family:var(--font-sans,'Lexend',sans-serif);
    font-size:12px;
    font-weight:550;
    color:#697386;
}
body.sh-body.single-post .sh-story-reader .s2-tool-group button {
    min-width:33px;
    height:33px;
    padding:0 8px;
    border-radius:8px;
    border:1px solid #dce2eb;
    background:#fff;
    color:#354158;
    opacity:1;
    font-family:var(--font-sans,'Lexend',sans-serif);
    font-size:12px;
    font-weight:650;
    cursor:pointer;
    transition:border-color .2s,box-shadow .2s,background-color .2s;
}
body.sh-body.single-post .sh-story-reader .s2-tool-group button:hover {
    border-color:var(--color-red-600,#dc2626);
    box-shadow:0 0 0 2px rgba(220,38,38,.05);
}
body.sh-body.single-post .sh-story-reader .s2-theme-dot.is-sepia { background:#f6ebda; color:#795b3a; border-color:#dfcaaa; }
body.sh-body.single-post .sh-story-reader .s2-theme-dot.is-dark { background:#262a34; color:#fff; border-color:#262a34; }
body.sh-body.single-post .sh-story-reader .s2-theme-dot[aria-pressed="true"] {
    outline:2px solid var(--color-red-600,#dc2626);
    outline-offset:1px;
}
body.sh-body.single-post .sh-story-reader .s2-tool-group output {
    display:inline-block;
    min-width:43px;
    text-align:center;
    font-family:var(--font-sans,'Lexend',sans-serif);
    font-size:12px;
    color:#475569;
    font-weight:600;
}
body.sh-body.single-post .sh-story-reader .s2-reader-progress { height:3px; background:#f0f1f4; }
body.sh-body.single-post .sh-story-reader .s2-reader-progress [data-s2-progress] { background:var(--color-red-600,#dc2626); }
body.sh-body.single-post .sh-story-reader .s2-reader__page {
    background:var(--s2-reader-bg,#fff);
    color:var(--s2-reader-color,#243148);
    transition:background-color .2s,color .2s;
}
body.sh-body.single-post .sh-story-reader .s2-chapter {
    padding:32px 37px 42px;
    min-width:0;
}
/* The toolbar displays Chapter X once, so don't duplicate it in the reading body. */
body.sh-body.single-post .sh-story-reader .s2-chapter__eyebrow { display:none; }
body.sh-body.single-post .sh-story-reader .s2-chapter__content,
body.sh-body.single-post .sh-story-reader .s2-chapter__content * {
    font-family:var(--font-sans,'Lexend',sans-serif) !important;
}
body.sh-body.single-post .sh-story-reader .s2-chapter__content {
    font-size:var(--s2-reading-font);
    font-weight:400;
    line-height:1.76;
    letter-spacing:0;
    overflow-wrap:break-word;
    color:inherit;
}
body.sh-body.single-post .sh-story-reader .s2-chapter__content p {
    font-size:inherit;
    line-height:inherit;
    letter-spacing:0;
    margin:0 0 1.18em;
    font-weight:400;
    color:inherit;
}
body.sh-body.single-post .sh-story-reader .s2-chapter__content :is(h1,h2,h3,h4) {
    line-height:1.36;
    margin:0 0 .85em;
    font-weight:750;
    letter-spacing:-.4px;
    color:inherit;
}
body.sh-body.single-post .sh-story-reader .s2-chapter__content h1 { font-size:1.4em; }
body.sh-body.single-post .sh-story-reader .s2-chapter__content h2 { font-size:1.2em; }
body.sh-body.single-post .sh-story-reader .s2-chapter__content h3 { font-size:1.05em; }
body.sh-body.single-post .sh-story-reader .s2-chapter__content :is(img,video,iframe) { max-width:100%; height:auto; }
body.sh-body.single-post .sh-story-reader .s2-chapter__content > :last-child { margin-bottom:0; }
body.sh-body.single-post .sh-story-reader .s2-chapter-pagination {
    background:#fff;
    border-top:1px solid #e7eaf0;
    padding:20px 30px;
    gap:8px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
body.sh-body.single-post .sh-story-reader .s2-chapter-pagination :is(button,a) {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:42px;
    padding:9px 15px;
    border:1px solid #e1e6ed;
    border-radius:9px;
    font-size:12px;
    line-height:1.3;
    font-weight:750;
    color:#344054;
    background:#fff;
    box-shadow:none;
}
body.sh-body.single-post .sh-story-reader .s2-chapter-pagination [hidden] { display:none!important; }
body.sh-body.single-post .sh-story-reader .s2-chapter-pagination .s2-chapter-next {
    background:var(--color-red-600,#dc2626);
    border-color:var(--color-red-600,#dc2626);
    color:#fff !important;
}
body.sh-body.single-post .sh-story-reader .s2-chapter-pagination .s2-chapter-next:hover { background:var(--color-red-700,#b91c1c); }
body.sh-body.single-post .sh-story-reader .s2-article-bottom {
    padding:12px 30px 16px;
    justify-content:flex-end;
}
body.sh-body.single-post .sh-story-reader .s2-discussion { padding:24px 32px 34px; }
body.sh-body.single-post .sh-story-related { margin-top:32px; }
body.sh-body.single-post .sh-story-related .sh-section-title h2 { text-transform:none; font-size:18px; }
body.sh-body.single-post .sh-story-related .sh-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body.sh-body.single-post .sh-story-related .sh-news-card__title { font-size:14px; line-height:1.45; }
body.sh-body.single-post .sh-story-layout .sh-sidebar { top:80px; padding-top:0; }
body.admin-bar.sh-body.single-post .sh-story-layout .sh-sidebar { top:112px; }
body.sh-body.single-post .s2-toc { font-family:var(--font-sans,'Lexend',sans-serif); }
body.sh-body.single-post .s2-toc__item { font-family:inherit; }
body.sh-body.single-post .s2-floating-toc {
    background:var(--color-red-600,#dc2626);
    box-shadow:0 5px 18px rgba(155,28,28,.20);
    font-family:var(--font-sans,'Lexend',sans-serif);
}
body.sh-body.single-post .s2-floating-toc:hover { background:var(--color-red-700,#b91c1c); }
body.sh-body.single-post .s2-floating-toc[hidden] { display:none!important; }
@media (max-width:950px) {
    body.sh-body.single-post .sh-story-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
    body.sh-body.single-post .sh-story-layout .sh-sidebar {
        position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;
    }
}
@media (max-width:680px) {
    body.sh-body.single-post .sh-story-layout { width:calc(100% - 26px)!important; padding:17px 0 40px; }
    body.sh-body.single-post .sh-story-reader .s2-reader__header { padding:22px 21px; }
    body.sh-body.single-post .sh-story-reader .s2-reader__title { font-size:23px; line-height:1.42; }
    body.sh-body.single-post .sh-story-reader .s2-reader-tools { padding:15px 18px; gap:14px; }
    body.sh-body.single-post .sh-story-reader .s2-tool-groups { width:100%; justify-content:flex-start; gap:14px; }
    body.sh-body.single-post .sh-story-reader .s2-chapter { padding:23px 21px 28px; }
    body.sh-body.single-post .sh-story-reader .s2-chapter__content { line-height:1.68; }
    body.sh-body.single-post .sh-story-reader .s2-chapter-pagination { padding:14px 10px; gap:6px; }
    body.sh-body.single-post .sh-story-reader .s2-chapter-pagination :is(button,a) { padding:7px 10px; font-size:10px; min-height:39px; }
    body.sh-body.single-post .sh-story-reader .s2-discussion { padding:18px; }
    body.sh-body.single-post .sh-story-layout .sh-sidebar { grid-template-columns:1fr; }
    body.sh-body.single-post .sh-story-related .sh-news-grid { gap:12px; }
    body.sh-body.single-post .sh-story-related .sh-news-card__title { font-size:12px; }
}
/* StoryPress Reader Series v2.2.9 — all rules scoped to single-post pages. */
body.sh-body.single-post .sh-header { position:sticky; }
body.sh-body.single-post .sh-header-reading-progress {
    position:absolute; z-index:4; inset:auto 0 0; height:4px;
    background:rgba(220,38,38,.11); pointer-events:none;
}
body.sh-body.single-post .sh-header-reading-progress > span {
    display:block; height:100%; width:0; max-width:100%;
    background:var(--color-red-600,#dc2626);
    transition:width .13s linear;
}
body.sh-body.single-post .sh-story-reader {
    overflow:visible; background:transparent; border:0; box-shadow:none;
    border-radius:0; --s2-reading-font:24px;
}
body.sh-body.single-post .sh-story-reader .s2-reader__header {
    padding:12px 8px 24px; background:transparent;
}
body.sh-body.single-post .sh-story-reader .s2-reader__title {
    font-size:clamp(26px,2.8vw,34px); line-height:1.32;
    margin-bottom:24px;
}
body.sh-body.single-post .sh-story-reader .sh-story-chapter-title {
    margin:0 0 14px; font-size:clamp(23px,2vw,28px);
    line-height:1.3; font-weight:750; color:var(--color-slate-900,#0f172a);
    display:flex; align-items:center; gap:12px;
}
body.sh-body.single-post .sh-story-reader .sh-chapter-count {
    font-size:12px; font-weight:600; color:#64748b; background:#fff;
    border:1px solid #e2e8f0; padding:5px 9px; border-radius:999px;
}
body.sh-body.single-post .sh-story-reader .s2-reader-tools {
    padding:11px 13px; margin:0; display:flex; align-items:center;
    justify-content:space-between; gap:12px 18px; flex-wrap:wrap;
    background:#f3f4f6; border:1px solid #e5e7eb; border-radius:18px;
    box-shadow:0 2px 4px rgba(15,23,42,.035);
}
body.sh-body.single-post .sh-story-reader .s2-tool-group {
    display:flex; align-items:center; gap:8px; border:0; min-width:0;
}
body.sh-body.single-post .sh-story-reader .s2-tool-group legend {
    float:none; display:contents; font-weight:650; font-size:12px;
    color:#64748b; margin:0; text-transform:uppercase;
}
body.sh-body.single-post .sh-story-reader .sh-theme-options,
body.sh-body.single-post .sh-story-reader .sh-size-options {
    display:inline-flex; align-items:center; gap:3px;
    padding:3px; border-radius:12px; background:#fff;
    border:1px solid #e2e8f0; box-shadow:0 1px 3px rgba(2,6,23,.04);
}
body.sh-body.single-post .sh-story-reader .s2-tool-group button {
    height:32px; min-width:31px; border-radius:8px; font-weight:750;
    font-size:12px; padding:0 7px; border-color:transparent;
}
body.sh-body.single-post .sh-story-reader .s2-tool-group .is-light {background:#fff;border-color:#e2e8f0;color:#0f172a;}
body.sh-body.single-post .sh-story-reader .s2-tool-group .is-sepia {background:#fef3c7;border-color:#fbbf24;color:#92400e;}
body.sh-body.single-post .sh-story-reader .s2-tool-group .is-dark {background:#1e293b;border-color:#1e293b;color:#fff;}
body.sh-body.single-post .sh-story-reader .s2-tool-group button[aria-pressed="true"] {
    outline:none; box-shadow:0 0 0 2px #e2e8f0;
}
body.sh-body.single-post .sh-story-reader .s2-tool-group .is-light[aria-pressed="true"] { border-color:#0f172a; }
body.sh-body.single-post .sh-story-reader .s2-tool-group .is-sepia[aria-pressed="true"] { border-color:#d97706; }
body.sh-body.single-post .sh-story-reader .s2-tool-group .is-dark[aria-pressed="true"] { border-color:#334155; box-shadow:0 0 0 2px #cbd5e1; }
body.sh-body.single-post .sh-story-reader .s2-tool-group output { font-size:12px; min-width:40px; font-weight:650; }
body.sh-body.single-post .sh-story-reader .sh-reading-surface {
    margin-top:0; border:0; border-radius:18px; overflow:hidden;
    background:var(--s2-reader-bg,#fff) !important;
    color:var(--s2-reader-color,#1e293b) !important;
    transition:background-color .22s ease,color .22s ease;
    box-shadow:0 1px 4px rgba(15,23,42,.035);
}
body.sh-body.single-post .sh-story-reader[data-s2-reader-theme="dark"] {
    --s2-reader-bg:#1e293b !important; --s2-reader-color:#e2e8f0 !important;
}
body.sh-body.single-post .sh-story-reader[data-s2-reader-theme="sepia"] {
    --s2-reader-bg:#fbf3e6 !important; --s2-reader-color:#58432b !important;
}
body.sh-body.single-post .sh-story-reader[data-s2-reader-theme="light"] {
    --s2-reader-bg:#fff !important; --s2-reader-color:#1e293b !important;
}
body.sh-body.single-post .sh-story-reader .s2-chapter { padding:27px 25px 34px; }
body.sh-body.single-post .sh-story-reader .s2-chapter__content {
    font-size:var(--s2-reading-font,24px); line-height:1.6 !important;
    font-weight:400; color:inherit !important; word-break:normal; overflow-wrap:anywhere;
}
body.sh-body.single-post .sh-story-reader .s2-chapter__content :is(p,li,blockquote) {
    font-size:inherit; line-height:inherit !important; color:inherit !important;
}
body.sh-body.single-post .sh-story-reader .s2-chapter__content :is(h1,h2,h3,h4,h5,h6) {
    color:inherit !important;
}
body.sh-body.single-post .sh-story-reader .s2-chapter__content p { margin:0 0 .9em; }
body.sh-body.single-post .sh-story-reader .sh-chapter-navigation {
    border:0; background:transparent; padding:24px 0 0;
    display:flex; gap:20px; justify-content:space-between;
}
body.sh-body.single-post .sh-story-reader .sh-chapter-navigation :is(a,span) {
    border:0; border-radius:999px; display:inline-flex; align-items:center; justify-content:center;
    gap:11px; min-height:48px; font-size:16px; font-weight:750;
    padding:11px 23px; box-shadow:0 2px 5px rgba(15,23,42,.12);
    transition:transform .2s,box-shadow .2s;
}
body.sh-body.single-post .sh-story-reader .sh-chapter-navigation .s2-chapter-prev {
    background:#e5e7eb; color:#334155 !important;
}
body.sh-body.single-post .sh-story-reader .sh-chapter-navigation .s2-chapter-next {
    background:#54b962; color:#fff !important; border-color:transparent;
}
body.sh-body.single-post .sh-story-reader .sh-chapter-navigation a:hover {
    transform:translateY(-2px); box-shadow:0 5px 12px rgba(15,23,42,.16);
}
body.sh-body.single-post .sh-story-reader .sh-chapter-navigation .is-disabled { opacity:.47; cursor:default; box-shadow:none; }
/* Contents first, Popular Posts second, Recently Viewed third. */
body.sh-body.single-post .sh-toc-widget { padding:17px 16px 14px; }
body.sh-body.single-post .sh-toc-heading { align-items:center; }
body.sh-body.single-post .sh-toc-heading h2 { font-size:15px; font-weight:850; letter-spacing:.05px; }
body.sh-body.single-post .sh-toc-total { font-size:11px; color:#64748b; white-space:nowrap; }
body.sh-body.single-post .sh-sidebar-toc { display:flex; flex-direction:column; max-height:470px; overflow-y:auto; gap:4px; }
body.sh-body.single-post .sh-sidebar-toc__item {
    display:grid; grid-template-columns:27px minmax(0,1fr) 12px;
    align-items:start; gap:9px; border-radius:10px; padding:10px 9px;
    color:#334155; font-size:13px; font-weight:650; line-height:1.45;
    transition:background .18s,color .18s;
}
body.sh-body.single-post .sh-sidebar-toc__label { overflow-wrap:anywhere; }
body.sh-body.single-post .sh-sidebar-toc__number { font-size:11px; color:#94a3b8; padding-top:2px; }
body.sh-body.single-post .sh-sidebar-toc__item:hover { background:#f8fafc; color:var(--color-red-600,#dc2626); }
body.sh-body.single-post .sh-sidebar-toc__item.is-current { background:#fff1f2; color:var(--color-red-700,#b91c1c); font-weight:800; }
body.sh-body.single-post .sh-sidebar-toc__item.is-current .sh-sidebar-toc__number { color:#dc2626; }
@media (max-width:680px) {
    body.sh-body.single-post .sh-story-reader .s2-reader__header {padding:18px 4px 18px;}
    body.sh-body.single-post .sh-story-reader .s2-reader__title {font-size:24px;}
    body.sh-body.single-post .sh-story-reader .sh-story-chapter-title {font-size:24px;}
    body.sh-body.single-post .sh-story-reader .s2-reader-tools {padding:10px;gap:8px;}
    body.sh-body.single-post .sh-story-reader .s2-tool-group legend {font-size:10px;}
    body.sh-body.single-post .sh-story-reader .s2-tool-group button {min-width:28px;height:30px;padding:0 5px;}
    body.sh-body.single-post .sh-story-reader .s2-chapter {padding:20px 17px 25px;}
    body.sh-body.single-post .sh-story-reader .s2-chapter__content {
        font-size:clamp(17px,calc(var(--s2-reading-font,24px) - 4px),30px);line-height:1.62 !important;
    }
    body.sh-body.single-post .sh-story-reader .sh-chapter-navigation {padding:17px 0 0;}
    body.sh-body.single-post .sh-story-reader .sh-chapter-navigation :is(a,span) {font-size:14px;min-height:44px;padding:10px 18px;}
}
@media (prefers-reduced-motion:reduce) {
    body.sh-body.single-post .sh-header-reading-progress>span,
    body.sh-body.single-post .sh-chapter-navigation a {transition:none!important;}
}

@media (max-width:950px) {
    body.sh-body.single-post .sh-story-layout .sh-sidebar {
        display:flex; flex-direction:column; gap:18px;
    }
}


/* v2.3.0 Search + temporary in-post chapters + sidebar adjustments */
body.sh-body .sh-search-page{width:100%;padding:36px 16px 70px;min-height:55vh;}
body.sh-body .sh-search-content{width:min(100%,720px);margin:0 auto;}
body.sh-body .sh-search-page__form{display:flex;align-items:center;gap:8px;width:100%;height:44px;border-radius:13px;border:1px solid #e2e8f0;background:white;box-shadow:0 2px 4px #0f172a0a;padding:0 13px;}
body.sh-body .sh-search-page__icon{display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#64748b;padding:0;width:21px;height:30px;cursor:pointer;flex:none;opacity:1;}
body.sh-body .sh-search-page__form input[type="search"]{flex:1;width:100%;height:100%;min-width:0;border:0!important;background:transparent!important;outline:none!important;box-shadow:none!important;color:#334155;font:500 13px Lexend,sans-serif;padding:0 3px;}
body.sh-body .sh-search-page__label{color:#64748b;font-size:11px;font-weight:600;margin:19px 0 18px;}
body.sh-body .sh-search-page__label strong{color:#1e293b;font-weight:800;}
body.sh-body .sh-search-result-list{display:flex;flex-direction:column;gap:18px;}
body.sh-body .sh-search-result-card{background:#fff;display:grid;grid-template-columns:154px minmax(0,1fr);align-items:stretch;gap:16px;min-height:130px;padding:12px;border:1px solid #e8ebf1;border-radius:14px;box-shadow:0 1px 2px #0f172a0d;}
body.sh-body .sh-search-result-card__image{width:154px;height:105px;overflow:hidden;border-radius:10px;background:#eef2f7;align-self:center;}
body.sh-body .sh-search-result-card__image img,body.sh-body .sh-search-result-card__image .s2-image-fallback{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s;}
body.sh-body .sh-search-result-card__image:hover img{transform:scale(1.06);}
body.sh-body .sh-search-result-card__main{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:1px 0 0;}
body.sh-body .sh-search-result-card__badge{font-size:9px;font-weight:800;line-height:1.3;padding:3px 7px;border-radius:4px;background:#fff1f2;color:var(--color-red-600,#dc2626);text-transform:uppercase;}
body.sh-body .sh-search-result-card__title{font-size:14px;font-weight:770;line-height:1.54;margin:7px 0 10px;color:#16243d;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
body.sh-body .sh-search-result-card__title a{color:inherit;}
body.sh-body .sh-search-result-card__title a:hover{color:var(--color-red-600,#dc2626);}
body.sh-body .sh-search-result-card__main time{margin-top:auto;color:#64748b;font-size:10px;line-height:1.4;}
body.sh-body .sh-search-more-wrap{display:flex;justify-content:center;padding-top:26px;}
body.sh-body .sh-search-more-button{border:0;background:var(--color-red-600,#dc2626);color:white;border-radius:12px;font-weight:800;font-size:14px;font-family:Lexend,sans-serif;min-height:44px;padding:10px 28px;cursor:pointer;transition:background .2s;}
body.sh-body .sh-search-more-button:hover{background:var(--color-red-700,#b91c1c);}
body.sh-body .sh-search-more-button:disabled{opacity:.65;cursor:wait;}
body.sh-body .sh-search-page__empty{background:white;border:1px solid #e2e8f0;padding:20px;border-radius:12px;font-size:14px;color:#64748b;}
body.sh-body.single-post .sh-sidebar-toc{max-height:550px;overflow-y:auto;overflow-x:hidden;gap:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b6c5de #f5f8fd;}
body.sh-body.single-post .sh-sidebar-toc__item{width:100%;min-height:55px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:11px;border:0;border-bottom:1px solid #f0f3f7;border-radius:0;padding:10px 9px;background:transparent;text-align:left;cursor:pointer;color:#334155;font:500 15px/1.45 Lexend,sans-serif;}
body.sh-body.single-post .sh-sidebar-toc__label{font-size:15px;line-height:1.45;font-weight:550;}
body.sh-body.single-post .sh-sidebar-toc__number{width:28px;height:28px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eff5ff;color:#2563eb;font-size:12px;font-weight:750;}
body.sh-body.single-post .sh-sidebar-toc__item.is-current{background:#f1f7ff;color:#2563eb;}
body.sh-body.single-post .sh-sidebar-toc__item.is-current .sh-sidebar-toc__number{background:#2563eb;color:white;}
body.sh-body.single-post .sh-toc-widget{overflow:hidden;}
body.sh-body .sh-popular-item__rank{font-size:17px!important;line-height:1.2;font-weight:850;}
body.sh-body.single-post [data-s2-chapter][hidden]{display:none!important;}
body.sh-body.single-post .sh-chapter-navigation button{border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:48px;font:750 16px Lexend,sans-serif;padding:11px 23px;box-shadow:0 2px 5px rgba(15,23,42,.12);transition:transform .2s,box-shadow .2s;cursor:pointer;}
body.sh-body.single-post .sh-chapter-navigation button.s2-chapter-prev{background:#e5e7eb;color:#334155;}
body.sh-body.single-post .sh-chapter-navigation button.s2-chapter-next{background:#54b962;color:white;}
body.sh-body.single-post .sh-chapter-navigation button:disabled{opacity:.45;cursor:default;box-shadow:none;}
body.sh-body.single-post .sh-chapter-navigation button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(15,23,42,.16);}
@media(max-width:600px){
    body.sh-body .sh-search-page{padding:22px 14px 48px;}
    body.sh-body .sh-search-result-card{grid-template-columns:112px minmax(0,1fr);min-height:118px;gap:11px;padding:10px;}
    body.sh-body .sh-search-result-card__image{width:112px;height:94px;}
    body.sh-body .sh-search-result-card__title{font-size:12px;line-height:1.4;margin:5px 0;}
    body.sh-body .sh-search-result-card__main time{font-size:9px;}
    body.sh-body .sh-search-result-card__badge{font-size:8px;}
    body.sh-body.single-post .sh-sidebar-toc__item{font-size:14px;min-height:53px;}
    body.sh-body.single-post .sh-chapter-navigation button{font-size:14px;min-height:44px;padding:10px 18px;}
}
@media(max-width:370px){body.sh-body .sh-search-result-card{grid-template-columns:93px minmax(0,1fr);}body.sh-body .sh-search-result-card__image{width:93px;height:91px;}}




/* v2.3.2: chapter controls remain as a visual mock-up only. No JS/URL navigation. */
body.sh-body.single-post .sh-continuous-article { display:block !important; }
body.sh-body.single-post .sh-demo-only,
body.sh-body.single-post .sh-toc-widget--demo,
body.sh-body.single-post .sh-chapter-navigation--demo { display:flex; }
body.sh-body.single-post .sh-story-chapter-title.sh-demo-only { display:flex; }
body.sh-body.single-post .sh-toc-widget--demo { display:block; }
body.sh-body.single-post .sh-demo-toc-item { cursor:default; user-select:none; }
body.sh-body.single-post .sh-demo-toc-item:hover { background:transparent; color:#334155; }
body.sh-body.single-post .sh-demo-toc-item.is-current,
body.sh-body.single-post .sh-demo-toc-item.is-current:hover { background:#f1f7ff; color:#2563eb; }
body.sh-body.single-post .sh-demo-nav-button { cursor:default; user-select:none; pointer-events:none; }
body.sh-body.single-post .sh-chapter-navigation--demo .sh-demo-nav-button { opacity:1; }
body.sh-body.single-post .sh-chapter-navigation--demo .s2-chapter-prev { background:#e5e7eb; color:#334155 !important; }
body.sh-body.single-post .sh-chapter-navigation--demo .s2-chapter-next { background:#54b962; color:#fff !important; }


/* v2.3.3 — persistent reader preferences across stories and browser sessions. */
html[data-storypress-reader-theme="dark"] body.sh-body.single-post .sh-story-reader {
    --s2-reader-bg:#1e293b !important;
    --s2-reader-color:#e2e8f0 !important;
}
html[data-storypress-reader-theme="sepia"] body.sh-body.single-post .sh-story-reader {
    --s2-reader-bg:#fbf3e6 !important;
    --s2-reader-color:#58432b !important;
}
html[data-storypress-reader-theme="light"] body.sh-body.single-post .sh-story-reader {
    --s2-reader-bg:#fff !important;
    --s2-reader-color:#1e293b !important;
}
body.sh-body.single-post .sh-story-reader {
    --s2-reading-font:var(--storypress-reader-font,24px);
}

/* v2.3.4 — real Series context from StoryPress Admin chapter posts. */
body.sh-body.single-post .sh-series-chapter-heading {
    margin:0 0 1.05em;
    color:inherit !important;
    font-family:var(--font-sans,'Lexend',sans-serif);
    font-size:clamp(22px,2vw,28px) !important;
    line-height:1.35 !important;
    font-weight:800;
    letter-spacing:-.02em;
    text-transform:uppercase;
    overflow-wrap:anywhere;
}
body.sh-body.single-post .sh-sidebar-toc__item {
    text-decoration:none;
}
body.sh-body.single-post .sh-sidebar-toc__item:focus-visible {
    outline:2px solid #2563eb;
    outline-offset:-2px;
}
@media(max-width:680px){
    body.sh-body.single-post .sh-series-chapter-heading {
        font-size:20px !important;
        line-height:1.42 !important;
        margin-bottom:.9em;
    }
}


/* v2.3.5 — Series reader polish, true chapter nav, 3-column related stories. */
body.sh-body.single-post .sh-story-reader .s2-reader__category {
    position:relative;
    display:flex;
    align-items:center;
    min-height:32px;
    padding-left:16px;
    margin:0 0 17px;
}
body.sh-body.single-post .sh-story-reader .s2-reader__category::before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    border-radius:999px;
    background:var(--color-red-600,#dc2626);
}
body.sh-body.single-post .sh-story-reader .s2-reader__category .s2-kicker {
    margin:0;
    padding:0;
    background:transparent !important;
    color:var(--color-red-600,#dc2626) !important;
    font:800 13px/1.2 var(--font-sans,'Lexend',sans-serif);
    letter-spacing:.02em;
    text-transform:uppercase;
}
/* Chapter title is already represented by the Chapter N header above the reader. */
body.sh-body.single-post .sh-series-chapter-heading { display:none !important; }
body.sh-body.single-post .sh-series-nav {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:18px;
    padding:30px 0 2px;
    background:var(--sh-bg,#f3f4f6);
}
body.sh-body.single-post .sh-series-nav__left { justify-self:start; }
body.sh-body.single-post .sh-series-nav__right { justify-self:end; }
body.sh-body.single-post .sh-series-nav__button {
    min-width:110px;
    min-height:50px;
    padding:11px 20px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    font:800 16px/1 var(--font-sans,'Lexend',sans-serif);
    box-shadow:0 3px 8px rgba(15,23,42,.12);
    transition:transform .18s ease,box-shadow .18s ease;
}
body.sh-body.single-post .sh-series-nav__button:hover { transform:translateY(-2px); box-shadow:0 7px 15px rgba(15,23,42,.16); }
body.sh-body.single-post .sh-series-nav__button--prev { background:#e5e7eb; color:#27354e !important; }
body.sh-body.single-post .sh-series-nav__button--next { background:#54b962; color:#fff !important; }
body.sh-body.single-post .sh-series-nav__button > span[aria-hidden="true"] { font-size:31px; line-height:.7; font-weight:500; }
body.sh-body.single-post .sh-story-related { margin-top:42px; }
body.sh-body.single-post .sh-story-related .sh-section-title { margin-bottom:18px; }
body.sh-body.single-post .sh-story-related .sh-section-title h2 {
    font-size:20px;
    line-height:1.15;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:-.25px;
}
body.sh-body.single-post .sh-story-related .sh-news-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px 22px;
}
body.sh-body.single-post .sh-story-related .sh-news-card__media { border-radius:14px; }
body.sh-body.single-post .sh-story-related .sh-news-card__title {
    font-size:15px;
    line-height:1.42;
    font-weight:800;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin-top:9px;
}
body.sh-body.single-post .sh-story-related .sh-news-card__meta {
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    font-size:10px;
}
@media(max-width:900px){
    body.sh-body.single-post .sh-story-related .sh-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:580px){
    body.sh-body.single-post .sh-story-reader .s2-reader__category { min-height:27px; padding-left:12px; }
    body.sh-body.single-post .sh-story-reader .s2-reader__category::before { width:3px; }
    body.sh-body.single-post .sh-story-reader .s2-reader__category .s2-kicker { font-size:11px; }
    body.sh-body.single-post .sh-series-nav { padding-top:22px; gap:10px; }
    body.sh-body.single-post .sh-series-nav__button { min-width:96px; min-height:46px; padding:9px 15px; font-size:14px; }
    body.sh-body.single-post .sh-story-related .sh-news-grid { grid-template-columns:1fr; gap:22px; }
    body.sh-body.single-post .sh-story-related .sh-news-card__title { font-size:14px; }
}


/* v2.3.6 — metadata alignment, Series history, search sizing and header polish. */
/* Series chapter title belongs inside the reading surface, directly above content. */
body.sh-body.single-post .sh-series-chapter-heading {
    display:block !important;
    margin:0 0 1.05em;
    color:inherit !important;
    font-family:var(--font-sans,'Lexend',sans-serif);
    font-size:clamp(22px,2vw,28px) !important;
    line-height:1.35 !important;
    font-weight:850;
    letter-spacing:-.02em;
    text-transform:uppercase;
    overflow-wrap:anywhere;
}

/* Every standard news card keeps read time left and publish time pinned right. */
body.sh-body .sh-news-card__meta {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center;
    gap:10px 16px !important;
    width:100%;
    font-size:12px !important;
    line-height:1.45;
}
body.sh-body .sh-news-card__read { min-width:0; justify-self:start; }
body.sh-body .sh-news-card__date { justify-self:end; text-align:right; white-space:nowrap; color:inherit; }
body.sh-body.single-post .sh-story-related .sh-news-card__meta { font-size:11px !important; }

/* Search uses the same 1140px content width as the rest of the site. */
body.sh-body .sh-search-page { padding:36px 20px 70px; }
body.sh-body .sh-search-content { width:min(100%,1140px) !important; margin:0 auto; }
body.sh-body .sh-search-page__form { min-height:50px; height:50px; border-radius:14px; padding:0 16px; }
body.sh-body .sh-search-page__form input[type="search"] { font-size:15px; }
body.sh-body .sh-search-page__label { font-size:13px; margin:20px 0 18px; }
body.sh-body .sh-search-result-list { gap:18px; }
body.sh-body .sh-search-result-card {
    grid-template-columns:220px minmax(0,1fr);
    gap:20px;
    min-height:164px;
    padding:14px;
    border-radius:16px;
}
body.sh-body .sh-search-result-card__image { width:220px; height:136px; border-radius:11px; }
body.sh-body .sh-search-result-card__badge { font-size:10px; padding:4px 8px; }
body.sh-body .sh-search-result-card__title { font-size:18px; line-height:1.45; margin:9px 0 12px; }
body.sh-body .sh-search-result-card__main time { font-size:12px; }

/* Larger menu glyph and a more comfortable wordmark gap. */
body.sh-body .sh-header__left { gap:10px !important; }
body.sh-body .sh-header__menu { width:28px !important; min-width:28px !important; height:36px !important; }
body.sh-body .sh-menu-glyph { width:24px !important; height:20px !important; }
body.sh-body .sh-menu-glyph > span { left:1px; width:22px !important; height:2px; }
body.sh-body .sh-menu-glyph > span:nth-child(1) { top:3px; }
body.sh-body .sh-menu-glyph > span:nth-child(2) { top:9px; }
body.sh-body .sh-menu-glyph > span:nth-child(3) { top:15px; }
body.sh-body .sh-header__menu.is-open .sh-menu-glyph > span:nth-child(1),
body.sh-body .sh-header__menu.is-open .sh-menu-glyph > span:nth-child(3) { top:9px; }

@media(max-width:680px){
    body.sh-body.single-post .sh-series-chapter-heading { font-size:20px !important; line-height:1.42 !important; }
    body.sh-body .sh-news-card__meta { font-size:11px !important; gap:8px !important; }
    body.sh-body .sh-search-page { padding:24px 14px 48px; }
    body.sh-body .sh-search-result-card { grid-template-columns:128px minmax(0,1fr); gap:12px; min-height:124px; padding:10px; }
    body.sh-body .sh-search-result-card__image { width:128px; height:100px; }
    body.sh-body .sh-search-result-card__title { font-size:14px; line-height:1.42; margin:6px 0; }
    body.sh-body .sh-search-result-card__main time { font-size:10px; }
    body.sh-body .sh-search-result-card__badge { font-size:8px; padding:3px 6px; }
    body.sh-body .sh-header__left { gap:8px !important; }
}
@media(max-width:390px){
    body.sh-body .sh-search-result-card { grid-template-columns:104px minmax(0,1fr); }
    body.sh-body .sh-search-result-card__image { width:104px; height:94px; }
}


/* v2.3.7 — Series/search filtering, stronger home typography and mobile readability. */
/* Home/feed post typography. */
body.sh-body .sh-news-card__title {
    font-size:18px !important;
    line-height:1.42 !important;
    font-weight:800 !important;
}
body.sh-body .sh-news-card__meta,
body.sh-body .sh-news-card__meta time {
    font-size:12px !important;
    font-weight:650 !important;
}
body.sh-body .sh-news-card__read,
body.sh-body .sh-news-card__date { font-weight:650 !important; }

/* The three Featured titles need to stay visually dominant. */
body.sh-body .sh-featured-card--lead .sh-featured-card__title {
    font-size:30px !important;
    line-height:1.28 !important;
    font-weight:850 !important;
}
body.sh-body .sh-featured-card--small .sh-featured-card__title {
    font-size:17px !important;
    line-height:1.36 !important;
    font-weight:800 !important;
}

/* Archive cards share the same readable title scale on desktop. */
body.sh-body .s2-card__title { font-size:18px !important; line-height:1.42 !important; font-weight:800 !important; }

/* Header/nav and footer typography. */
body.sh-body .sh-header__brand { font-size:38px !important; }
body.sh-body .sh-nav-drawer__nav a { font-size:16px !important; font-weight:700 !important; }
body.sh-body .sh-nav-drawer__legal a { font-size:13px !important; }
body.sh-body .sh-nav-drawer__bottom p { font-size:12px !important; }
body.sh-body .sh-footer__brand { font-size:19px !important; }
body.sh-body .sh-footer__links a { font-size:13px !important; line-height:1.5; }
body.sh-body .sh-footer__disclaimer { font-size:12px !important; line-height:1.55 !important; }

/* Search: large enough to match the rest of the 1140px site and easy to scan. */
body.sh-body .sh-search-result-card__title { font-size:18px !important; line-height:1.45 !important; }
body.sh-body .sh-search-result-card__main time { font-size:12px !important; }
body.sh-body .sh-search-result-card__badge { font-size:10px !important; }

/* Related cards use the same legible post title scale. */
body.sh-body.single-post .sh-story-related .sh-news-card__title { font-size:18px !important; }

@media(max-width:680px){
    body.sh-body .sh-header__brand { font-size:30px !important; }
    body.sh-body .sh-nav-drawer__nav a { font-size:15px !important; }
    body.sh-body .sh-news-card__title { font-size:16px !important; line-height:1.45 !important; }
    body.sh-body .sh-news-card__meta,
    body.sh-body .sh-news-card__meta time { font-size:11.5px !important; }
    body.sh-body .sh-featured-card--lead .sh-featured-card__title { font-size:24px !important; line-height:1.32 !important; }
    body.sh-body .sh-featured-card--small .sh-featured-card__title { font-size:16px !important; line-height:1.4 !important; }
    body.sh-body .s2-card__title { font-size:16px !important; }
    body.sh-body .sh-search-result-card__title { font-size:16px !important; line-height:1.42 !important; }
    body.sh-body .sh-search-result-card__main time { font-size:11px !important; }
    body.sh-body .sh-search-result-card__badge { font-size:9px !important; }
    body.sh-body.single-post .sh-story-related .sh-news-card__title { font-size:16px !important; }
    body.sh-body .sh-footer__brand { font-size:18px !important; }
    body.sh-body .sh-footer__links a { font-size:13px !important; }
    body.sh-body .sh-footer__disclaimer { font-size:12px !important; }
}
@media(max-width:390px){
    body.sh-body .sh-header__brand { font-size:28px !important; }
    body.sh-body .sh-news-card__title,
    body.sh-body .s2-card__title,
    body.sh-body .sh-search-result-card__title,
    body.sh-body.single-post .sh-story-related .sh-news-card__title { font-size:15.5px !important; }
    body.sh-body .sh-featured-card--lead .sh-featured-card__title { font-size:22px !important; }
    body.sh-body .sh-featured-card--small .sh-featured-card__title { font-size:15.5px !important; }
}


/* v2.3.8 mobile series contents, sidebar more icon, desktop footer sizing */
body.sh-body .sh-widget__more-link {
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    color:var(--color-blue-600,#2563eb) !important;
    background:var(--color-blue-50,#eff6ff);
    border:1px solid var(--color-blue-100,#dbeafe);
    transition:transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
body.sh-body .sh-widget__more-link:hover,
body.sh-body .sh-widget__more-link:focus-visible {
    color:#fff !important;
    background:var(--color-blue-600,#2563eb);
    border-color:var(--color-blue-600,#2563eb);
    transform:translateX(2px);
}
body.sh-body .sh-widget__more-link svg { display:block; }

body.sh-body .sh-mobile-toc-trigger,
body.sh-body .sh-mobile-toc { display:none; }

@media (min-width:951px) {
    body.sh-body .sh-footer__brand { font-size:21px !important; }
    body.sh-body .sh-footer__links a { font-size:15px !important; font-weight:650 !important; }
}

@media (max-width:950px) {
    body.sh-body.single-post .sh-toc-widget { display:none !important; }
    body.sh-body.single-post .sh-mobile-toc-trigger {
        position:fixed;
        right:16px;
        bottom:82px;
        z-index:997;
        width:46px;
        height:46px;
        padding:0;
        display:flex;
        align-items:center;
        justify-content:center;
        border:1px solid #dbe4ee;
        border-radius:13px;
        background:#fff;
        color:#0f9b68;
        box-shadow:0 6px 18px rgba(15,23,42,.14);
        cursor:pointer;
        transition:transform .18s ease, box-shadow .18s ease;
    }
    body.sh-body.single-post .sh-mobile-toc-trigger:hover,
    body.sh-body.single-post .sh-mobile-toc-trigger:focus-visible {
        color:#0f9b68;
        background:#fff;
        transform:translateY(-2px);
        box-shadow:0 9px 22px rgba(15,23,42,.18);
        outline:none;
    }
    body.sh-body.single-post .sh-mobile-toc {
        position:fixed;
        inset:0;
        z-index:1200;
        display:block;
        opacity:0;
        pointer-events:none;
        transition:opacity .18s ease;
    }
    body.sh-body.single-post .sh-mobile-toc[hidden] { display:none !important; }
    body.sh-body.single-post .sh-mobile-toc.is-open { opacity:1; pointer-events:auto; }
    body.sh-body.single-post .sh-mobile-toc__backdrop {
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        border:0;
        padding:0;
        background:rgba(15,23,42,.34);
        backdrop-filter:blur(2px);
        cursor:default;
    }
    body.sh-body.single-post .sh-mobile-toc__panel {
        position:absolute;
        left:12px;
        right:12px;
        bottom:12px;
        max-height:min(72vh,620px);
        display:flex;
        flex-direction:column;
        overflow:hidden;
        background:#fff;
        border:1px solid #e2e8f0;
        border-radius:20px;
        box-shadow:0 22px 60px rgba(15,23,42,.24);
        transform:translateY(18px);
        transition:transform .2s cubic-bezier(.4,0,.2,1);
    }
    body.sh-body.single-post .sh-mobile-toc.is-open .sh-mobile-toc__panel { transform:translateY(0); }
    body.sh-body.single-post .sh-mobile-toc__header {
        min-height:67px;
        padding:14px 15px 13px 18px;
        border-bottom:1px solid #e8edf4;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:14px;
    }
    body.sh-body.single-post .sh-mobile-toc__header h2 {
        margin:0 0 3px;
        color:#14233f;
        font:850 16px/1.25 Lexend,sans-serif;
        letter-spacing:.02em;
    }
    body.sh-body.single-post .sh-mobile-toc__header span {
        color:#8290a6;
        font:600 11px/1.3 Lexend,sans-serif;
    }
    body.sh-body.single-post .sh-mobile-toc__close {
        width:38px;
        height:38px;
        flex:0 0 38px;
        display:flex;
        align-items:center;
        justify-content:center;
        border:0;
        border-radius:11px;
        background:#f4f6f9;
        color:#334155;
        cursor:pointer;
    }
    body.sh-body.single-post .sh-mobile-toc__list {
        overflow-y:auto;
        overscroll-behavior:contain;
        padding:5px 0 8px;
        scrollbar-width:thin;
        scrollbar-color:#bac7d9 transparent;
    }
    body.sh-body.single-post .sh-mobile-toc__item {
        min-height:56px;
        padding:10px 18px;
        display:grid;
        grid-template-columns:32px minmax(0,1fr);
        align-items:center;
        gap:11px;
        border-bottom:1px solid #f0f3f7;
        color:#334155;
        font-family:Lexend,sans-serif;
    }
    body.sh-body.single-post .sh-mobile-toc__item > span {
        width:30px;
        height:30px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:999px;
        background:#eff6ff;
        color:#2563eb;
        font-size:12px;
        font-weight:800;
    }
    body.sh-body.single-post .sh-mobile-toc__item strong {
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:15px;
        line-height:1.35;
        font-weight:650;
    }
    body.sh-body.single-post .sh-mobile-toc__item.is-current {
        background:#f1f7ff;
        color:#2563eb;
    }
    body.sh-body.single-post .sh-mobile-toc__item.is-current > span { background:#2563eb; color:#fff; }
}

@media (max-width:390px) {
    body.sh-body.single-post .sh-mobile-toc-trigger { right:12px; bottom:76px; width:44px; height:44px; }
    body.sh-body.single-post .sh-mobile-toc__panel { left:8px; right:8px; bottom:8px; border-radius:18px; }
}

@media (prefers-reduced-motion:reduce) {
    body.sh-body .sh-widget__more-link,
    body.sh-body.single-post .sh-mobile-toc,
    body.sh-body.single-post .sh-mobile-toc__panel,
    body.sh-body.single-post .sh-mobile-toc-trigger { transition:none !important; }
}
