/* ==========================================================================
   LogicIQ Blog — main stylesheet
   Design: teal + green finance aesthetic pulled from the LogicIQ Wealth Pro mark.
   Headlines: Space Grotesk / Body: IBM Plex Sans / Data: IBM Plex Mono
   ========================================================================== */

:root {
	--navy: #184A49;
	--navy-2: #377473;
	--green: #47966C;
	--green-light: #82BE98;
	--paper: #F6FAF8;
	--ink: #163331;
	--muted: #5E7470;
	--line: #DDE9E3;
	--line-dark: #2A625F;
	--white: #FFFFFF;

	--font-head: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
	--font-body: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
	--font-mono: 'IBM Plex Mono', 'Courier New', monospace;

	--container: 1480px;
	--radius: 3px;
	--gap: 32px;
}

/* ---- Reset ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--green); text-decoration: none; }
a:hover { color: var(--navy); }
ul { padding: 0; margin: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }
h1, h2, h3, h4, h5 { font-family: var(--font-head); color: var(--navy); font-weight: 600; line-height: 1.2; margin: 0 0 0.5em; }

.screen-reader-text {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0;
}
.lqb-skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 9999; background: var(--navy); color: var(--white); padding: 12px 20px;
}
.lqb-skip-link:focus { left: 12px; top: 12px; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }

.lqb-container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }

.lqb-btn {
	display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-head); font-weight: 600; font-size: 14.5px;
	padding: 12px 22px; border-radius: var(--radius); border: 1px solid transparent; transition: background .15s, color .15s, border-color .15s;
}
.lqb-btn--primary { background: var(--green); color: var(--white); }
.lqb-btn--primary:hover { background: var(--navy); color: var(--white); }
.lqb-btn--outline { border-color: var(--navy); color: var(--navy); }
.lqb-btn--outline:hover { background: var(--navy); color: var(--white); }

/* ---- Top bar ---- */
.lqb-topbar { background: var(--navy); color: #B9C4D0; font-family: var(--font-mono); font-size: 12.5px; }
.lqb-topbar__inner { display: flex; align-items: center; justify-content: space-between; height: 38px; gap: 16px; }
.lqb-topbar__tagline { letter-spacing: .02em; }
.lqb-topbar__right { display: flex; align-items: center; gap: 18px; }
.lqb-topbar__right a { color: #B9C4D0; }
.lqb-topbar__right a:hover { color: var(--green-light); }
.lqb-topbar__main-site { color: var(--green-light) !important; }
.lqb-topbar__menu { display: flex; gap: 16px; }

/* ---- Header ---- */
.lqb-header { background: var(--white); border-bottom: 1px solid var(--line); position: relative; z-index: 100; }
.lqb-sticky-header .lqb-header { position: sticky; top: 0; }
.lqb-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 84px; gap: 24px; }
.lqb-header__brand img { height: 52px; width: auto; }
.lqb-header__logo-fallback img { height: 52px; }
.custom-logo-link img { height: 52px; width: auto; }
.lqb-header__site-title a { font-family: var(--font-head); font-size: 22px; font-weight: 700; color: var(--navy); }
.lqb-header__tagline { display: block; font-size: 12px; color: var(--muted); font-family: var(--font-mono); }

.lqb-header__nav { display: flex; align-items: center; gap: 28px; }
.lqb-nav-menu { display: flex; align-items: center; gap: 26px; }
.lqb-nav-menu a { font-family: var(--font-head); font-weight: 500; font-size: 15px; color: var(--navy); position: relative; padding: 6px 0; }
.lqb-nav-menu a:hover { color: var(--green); }
.lqb-nav-menu li.current-menu-item > a { color: var(--green); }
.lqb-nav-menu li.current-menu-item > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--green); }
.lqb-nav-menu ul { position: absolute; background: var(--white); border: 1px solid var(--line); box-shadow: 0 12px 24px rgba(10,20,32,.08); min-width: 200px; padding: 8px 0; display: none; z-index: 200; }
.lqb-nav-menu li { position: relative; }
.lqb-nav-menu li:hover > ul { display: block; }
.lqb-nav-menu ul li a { display: block; padding: 9px 18px; }

.lqb-header__actions { display: flex; align-items: center; gap: 14px; }
.lqb-search-toggle { background: none; border: none; color: var(--navy); padding: 6px; display: flex; }
.lqb-search-toggle:hover { color: var(--green); }
.lqb-header__cta { white-space: nowrap; }

.lqb-menu-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; padding: 8px; }
.lqb-menu-toggle__bar { width: 22px; height: 2px; background: var(--navy); display: block; }

.lqb-search-panel { border-top: 1px solid var(--line); background: var(--paper); padding: 18px 0; }
.lqb-search-form { display: flex; max-width: 480px; border: 1px solid var(--line-dark); border-radius: var(--radius); overflow: hidden; }
.lqb-search-form__field { flex: 1; border: none; padding: 12px 16px; font-family: var(--font-body); font-size: 15px; background: var(--white); }
.lqb-search-form__field:focus { outline: none; }
.lqb-search-form__submit { background: var(--navy); color: var(--white); border: none; padding: 0 16px; }
.lqb-search-form__submit:hover { background: var(--green); }

/* Header layout variant: centered */
.lqb-header--logo-center .lqb-header__inner { flex-direction: column; }
.lqb-header--logo-center .lqb-header__brand { margin-bottom: 6px; }

/* ---- Breadcrumbs ---- */
.lqb-breadcrumbs { font-family: var(--font-mono); font-size: 12.5px; color: var(--muted); padding: 18px 0 0; }
.lqb-breadcrumbs a { color: var(--muted); }
.lqb-breadcrumbs a:hover { color: var(--green); }
.lqb-breadcrumbs .current { color: var(--ink); }
.lqb-breadcrumbs .sep { margin: 0 6px; }

/* ---- Layout ---- */
.lqb-layout { padding: 40px 24px 80px; display: grid; gap: var(--gap); }
.lqb-layout--full, .lqb-layout--article { grid-template-columns: 1fr; }
.lqb-layout--article { max-width: 800px; }
.lqb-layout--with-sidebar { grid-template-columns: 1fr 320px; align-items: start; }
@media (max-width: 900px) {
	.lqb-layout--with-sidebar { grid-template-columns: 1fr; }
}

/* ---- Featured post ---- */
.lqb-featured-post { display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; align-items: center; padding-bottom: 44px; margin-bottom: 44px; border-bottom: 1px solid var(--line); }
.lqb-featured-post__thumb { display: block; border-radius: var(--radius); overflow: hidden; aspect-ratio: 16/10; }
.lqb-featured-post__thumb img { width: 100%; height: 100%; object-fit: cover; }
.lqb-featured-post__title { font-size: clamp(26px, 3vw, 38px); margin: 12px 0 14px; }
.lqb-featured-post__title a { color: var(--navy); }
.lqb-featured-post__title a:hover { color: var(--green); }
.lqb-featured-post__excerpt { color: var(--muted); margin: 0 0 18px; }
.lqb-featured-post__meta { color: var(--muted); font-family: var(--font-mono); font-size: 13px; margin-bottom: 22px; align-items: center; }
.lqb-featured-post__meta img { border-radius: 50%; }
@media (max-width: 780px) {
	.lqb-featured-post { grid-template-columns: 1fr; }
}

/* ---- Tag / category badge ---- */
.lqb-tag { display: inline-block; font-family: var(--font-mono); font-size: 11.5px; font-weight: 500; letter-spacing: .04em; color: var(--white); background: var(--green); padding: 5px 10px; border-radius: 2px; }
.lqb-tag--featured { background: var(--navy); }
.lqb-tag--muted { background: transparent; color: var(--muted); border: 1px solid var(--line); }
.lqb-tag--muted:hover { border-color: var(--green); color: var(--green); }
a.lqb-tag:hover { color: var(--white); opacity: .9; }

/* ---- Grid + cards ---- */
.lqb-grid { display: grid; grid-template-columns: repeat(var(--lqb-grid-cols, 3), 1fr); gap: 28px; }
.lqb-grid--related { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 980px) { .lqb-grid, .lqb-grid--related { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .lqb-grid, .lqb-grid--related { grid-template-columns: 1fr; } }

.lqb-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; transition: border-color .15s, transform .15s; }
.lqb-card:hover { border-color: var(--green); transform: translateY(-2px); }
.lqb-card__thumb { position: relative; display: block; aspect-ratio: 3/2; background: var(--navy); }
.lqb-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.lqb-card__thumb .lqb-tag { position: absolute; left: 12px; top: 12px; }
.lqb-card__thumb-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--navy), var(--navy-2)); }
.lqb-card__thumb-mark { font-family: var(--font-head); font-weight: 700; font-size: 34px; color: var(--green-light); border: 2px solid var(--green-light); border-radius: 50%; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; }
.lqb-card__thumb-logo { width: min(46%, 190px); max-height: 78%; object-fit: contain; filter: drop-shadow(0 10px 20px rgba(0,0,0,.18)); }
.lqb-card__thumb-logo--featured { width: min(42%, 250px); }
.lqb-card__body { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.lqb-card__meta { font-family: var(--font-mono); font-size: 12px; color: var(--muted); display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.lqb-card__dot { opacity: .6; }
.lqb-card__title { font-size: 19px; margin: 0 0 10px; }
.lqb-card__title a { color: var(--navy); }
.lqb-card__title a:hover { color: var(--green); }
.lqb-card__excerpt { color: var(--muted); font-size: 14.5px; margin: 0 0 16px; flex: 1; }
.lqb-card__more { font-family: var(--font-mono); font-size: 12.5px; font-weight: 500; color: var(--green); align-self: flex-start; border-bottom: 1px solid transparent; }
.lqb-card__more:hover { border-color: var(--green); }

/* ---- Pagination ---- */
.pagination, .navigation.pagination { margin-top: 48px; display: flex; justify-content: center; gap: 8px; font-family: var(--font-mono); font-size: 14px; }
.pagination .page-numbers, .navigation.pagination .page-numbers { padding: 9px 15px; border: 1px solid var(--line); border-radius: var(--radius); color: var(--navy); }
.pagination .page-numbers.current, .navigation.pagination .page-numbers.current { background: var(--navy); color: var(--white); border-color: var(--navy); }
.pagination .page-numbers:hover, .navigation.pagination .page-numbers:hover { border-color: var(--green); color: var(--green); }

/* ---- Archive header ---- */
.lqb-archive-header { padding-bottom: 24px; margin-bottom: 12px; border-bottom: 1px solid var(--line); }
.lqb-archive-header__title { font-size: clamp(24px, 3vw, 32px); }
.lqb-archive-header__desc { color: var(--muted); }

/* ---- Article ---- */
.lqb-article__header { text-align: left; margin-bottom: 24px; }
.lqb-article__title { font-size: clamp(28px, 4vw, 42px); margin: 14px 0 12px; }
.lqb-article__lede { font-size: 19px; color: var(--muted); margin: 0 0 20px; }
.lqb-article__meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lqb-article__author { display: flex; align-items: center; gap: 12px; color: var(--ink); }
.lqb-article__author img { border-radius: 50%; }
.lqb-article__author strong { display: block; font-family: var(--font-head); font-size: 15px; }
.lqb-article__meta-line { font-family: var(--font-mono); font-size: 12.5px; color: var(--muted); }
.lqb-article__thumb { margin: 28px 0; border-radius: var(--radius); overflow: hidden; }

.lqb-share { display: flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 12px; }
.lqb-share__label { color: var(--muted); }
.lqb-share a { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%; color: var(--navy); font-size: 11px; }
.lqb-share a:hover { border-color: var(--green); color: var(--green); }

.lqb-article__content { font-size: 18px; line-height: 1.8; color: var(--ink); }
.lqb-article__content > * + * { margin-top: 1.3em; }
.lqb-article__content h2 { font-size: 26px; margin-top: 2em; }
.lqb-article__content h3 { font-size: 21px; margin-top: 1.8em; }
.lqb-article__content a { text-decoration: underline; text-underline-offset: 3px; }
.lqb-article__content blockquote { border-left: 3px solid var(--green); padding: 4px 0 4px 22px; font-style: italic; color: var(--navy); font-size: 20px; margin-left: 0; }
.lqb-article__content img { border-radius: var(--radius); }
.lqb-article__content code { font-family: var(--font-mono); background: var(--paper); padding: 2px 6px; border-radius: 2px; font-size: 15px; }
.lqb-article__content pre { background: var(--navy); color: #E4EAF0; padding: 20px; border-radius: var(--radius); overflow-x: auto; }
.lqb-article__content pre code { background: none; color: inherit; padding: 0; }
.lqb-article__content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.lqb-article__content th, .lqb-article__content td { border: 1px solid var(--line); padding: 10px 14px; text-align: left; }
.lqb-article__content th { font-family: var(--font-mono); background: var(--paper); }
.lqb-page-links { font-family: var(--font-mono); font-size: 13px; margin-top: 24px; }

.lqb-article__footer { margin-top: 32px; }
.lqb-article__tags { display: flex; flex-wrap: wrap; gap: 8px; }

.lqb-author-box { display: flex; gap: 20px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; margin-top: 32px; }
.lqb-author-box img { border-radius: 50%; }
.lqb-author-box h3 { margin: 0 0 6px; font-size: 17px; }
.lqb-author-box p { color: var(--muted); margin: 0 0 10px; font-size: 14.5px; }
.lqb-author-box a { font-family: var(--font-mono); font-size: 13px; }

.lqb-related { margin-top: 56px; }
.lqb-section-title { font-size: 22px; margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }

/* ---- Page ---- */
.lqb-page__title { font-size: clamp(28px, 4vw, 40px); }
.lqb-page__thumb { margin: 20px 0; border-radius: var(--radius); overflow: hidden; }
.lqb-page__content { font-size: 18px; line-height: 1.8; }
.lqb-page__content > * + * { margin-top: 1.2em; }

/* ---- Sidebar ---- */
.lqb-sidebar .widget { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; margin-bottom: 24px; }
.lqb-sidebar .widget-title { font-size: 15px; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.lqb-sidebar ul li { padding: 7px 0; border-bottom: 1px dashed var(--line); font-size: 14.5px; }
.lqb-sidebar ul li:last-child { border-bottom: none; }

/* ---- Comments ---- */
.lqb-comments { margin-top: 56px; max-width: 800px; }
.lqb-comments__title { font-size: 22px; margin-bottom: 24px; }
.lqb-comment-list, .lqb-comment-list ul.children { list-style: none; padding: 0; }
.lqb-comment-list ul.children { margin-left: 40px; }
.lqb-comment-list article { display: flex; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.lqb-comment-list img { border-radius: 50%; }
.lqb-comment-list .comment-meta { font-family: var(--font-mono); font-size: 12px; color: var(--muted); margin-bottom: 6px; }
.lqb-comment-form input[type=text], .lqb-comment-form input[type=email], .lqb-comment-form input[type=url], .lqb-comment-form textarea {
	width: 100%; border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 14px; font-family: var(--font-body); font-size: 15px; margin-bottom: 14px; background: var(--white);
}
.lqb-comment-form textarea { min-height: 140px; }
.lqb-comment-form .form-submit input { background: var(--green); color: var(--white); border: none; padding: 12px 24px; border-radius: var(--radius); font-family: var(--font-head); font-weight: 600; }
.lqb-comment-form .form-submit input:hover { background: var(--navy); }

/* ---- Empty / 404 ---- */
.lqb-empty, .lqb-404 { text-align: center; padding: 70px 20px; max-width: 520px; margin: 0 auto; }
.lqb-empty__mark, .lqb-404__code { display: inline-block; font-family: var(--font-mono); font-weight: 600; color: var(--green); border: 2px solid var(--green); border-radius: 50%; width: 68px; height: 68px; line-height: 64px; margin-bottom: 20px; font-size: 20px; }
.lqb-404__code { border-radius: var(--radius); width: auto; height: auto; padding: 8px 18px; font-size: 22px; }
.lqb-empty p, .lqb-404 p { color: var(--muted); }
.lqb-empty form, .lqb-404 form { margin: 20px auto; max-width: 380px; }
.lqb-404 .lqb-btn { margin-top: 12px; }

/* ---- Footer ---- */
.lqb-footer { background: var(--navy); color: #B9C4D0; margin-top: 60px; }
.lqb-footer__newsletter { background: var(--navy-2); border-bottom: 1px solid var(--line-dark); }
.lqb-footer__newsletter-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding: 30px 0; }
.lqb-footer__newsletter-text { font-family: var(--font-head); font-size: 19px; color: var(--white); margin: 0; }
.lqb-newsletter-form { display: flex; gap: 10px; }
.lqb-newsletter-form input { padding: 12px 16px; border: 1px solid var(--line-dark); background: var(--navy); color: var(--white); border-radius: var(--radius); min-width: 240px; }
.lqb-newsletter-form input::placeholder { color: #7C8A9B; }

.lqb-footer__main { display: grid; grid-template-columns: 1.2fr 2fr; gap: 48px; padding: 52px 24px; }
.lqb-footer__logotype { font-family: var(--font-head); font-size: 22px; font-weight: 700; color: var(--white); display: block; }
.lqb-footer__logotype .accent { color: var(--green-light); }
.lqb-footer__logotype-sub { display: block; font-size: 13px; font-family: var(--font-mono); color: var(--green-light); font-weight: 400; margin-top: 2px; }
.lqb-footer__about { color: #97A5B5; font-size: 14.5px; margin: 16px 0 22px; max-width: 340px; }
.lqb-footer__social { display: flex; flex-wrap: wrap; gap: 10px; }
.lqb-footer__social a { font-family: var(--font-mono); font-size: 11.5px; border: 1px solid var(--line-dark); color: #B9C4D0; padding: 7px 12px; border-radius: 20px; }
.lqb-footer__social a:hover { border-color: var(--green-light); color: var(--green-light); }

.lqb-footer-columns { display: grid; grid-template-columns: repeat(var(--lqb-footer-cols, 3), 1fr); gap: 32px; }
.lqb-footer__col .widget-title { font-family: var(--font-head); font-size: 14px; color: var(--white); margin: 0 0 16px; text-transform: uppercase; letter-spacing: .06em; }
.lqb-footer__col a, .lqb-footer-menu a, .lqb-footer-recent a, .lqb-footer-contact a { color: #97A5B5; font-size: 14.5px; }
.lqb-footer__col a:hover, .lqb-footer-menu a:hover, .lqb-footer-recent a:hover, .lqb-footer-contact a:hover { color: var(--green-light); }
.lqb-footer-menu li, .lqb-footer-recent li, .lqb-footer-contact li { padding: 7px 0; }

.lqb-footer__bottom { border-top: 1px solid var(--line-dark); }
.lqb-footer__bottom-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding: 20px 24px; font-family: var(--font-mono); font-size: 12.5px; color: #7C8A9B; }
.lqb-legal-menu { display: flex; gap: 18px; }
.lqb-legal-menu a { color: #7C8A9B; }
.lqb-legal-menu a:hover { color: var(--green-light); }

.lqb-back-to-top { position: fixed; right: 24px; bottom: 24px; width: 44px; height: 44px; border-radius: 50%; background: var(--navy); color: var(--white); border: none; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(10,20,32,.25); z-index: 200; transition: opacity .2s, transform .2s; }
.lqb-back-to-top:hover { background: var(--green); }
.lqb-back-to-top[hidden] { display: none; }
.lqb-back-to-top.is-visible { opacity: 1; }

/* ---- Mobile ---- */
@media (max-width: 860px) {
	.lqb-menu-toggle { display: flex; }
	.lqb-header__nav {
		position: fixed; inset: 0 0 0 auto; width: 82%; max-width: 340px; background: var(--white);
		flex-direction: column; align-items: flex-start; padding: 90px 28px 28px; gap: 28px;
		transform: translateX(100%); transition: transform .25s ease; overflow-y: auto; box-shadow: -10px 0 30px rgba(0,0,0,.12);
	}
	.lqb-header__nav.is-open { transform: translateX(0); }
	.lqb-nav-menu { flex-direction: column; align-items: flex-start; gap: 4px; width: 100%; }
	.lqb-nav-menu a { padding: 10px 0; display: block; }
	.lqb-nav-menu ul { position: static; box-shadow: none; border: none; padding-left: 14px; display: none; }
	.lqb-nav-menu li.menu-item-has-children.is-open > ul { display: block; }
	.lqb-header__actions { flex-direction: column; align-items: flex-start; width: 100%; gap: 16px; margin-top: 10px; }
	.lqb-header__cta { width: 100%; justify-content: center; }
	.lqb-topbar__inner { flex-wrap: wrap; height: auto; padding: 8px 0; gap: 8px; }
	.lqb-footer__main { grid-template-columns: 1fr; }
	.lqb-footer-columns { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
	.lqb-footer-columns { grid-template-columns: 1fr; }
	.lqb-author-box { flex-direction: column; }
}

/* ==========================================================================
   v1.1 Brand refresh — supplied LogicIQ artwork + wide layout + live ticker
   ========================================================================== */

/* ---- Dynamic trending ticker ---- */
.lqb-trending {
	background: #000D1D;
	color: #D8E3E7;
	border-bottom: 1px solid color-mix(in srgb, var(--green-light) 28%, transparent);
	font-family: var(--font-mono);
	font-size: 12.5px;
	position: relative;
	z-index: 105;
}
.lqb-trending__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: stretch;
	min-height: 42px;
	padding-top: 0;
	padding-bottom: 0;
}
.lqb-trending__label {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 0 20px 0 0;
	margin-right: 22px;
	color: var(--white);
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .09em;
	text-transform: uppercase;
	white-space: nowrap;
	position: relative;
}
.lqb-trending__label::after {
	content: "";
	position: absolute;
	right: 0;
	top: 8px;
	bottom: 8px;
	width: 1px;
	background: rgba(255,255,255,.17);
}
.lqb-trending__pulse {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--green-light);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--green-light) 12%, transparent);
	animation: lqb-pulse 1.8s ease-in-out infinite;
}
.lqb-trending__viewport {
	overflow: hidden;
	min-width: 0;
	display: flex;
	align-items: center;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 25px, #000 calc(100% - 25px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 25px, #000 calc(100% - 25px), transparent 100%);
}
.lqb-trending__track {
	display: flex;
	align-items: center;
	width: max-content;
	will-change: transform;
	animation: lqb-ticker var(--lqb-ticker-duration, 34s) linear infinite;
}
.lqb-trending__track.is-loading { animation: none; width: 100%; }
.lqb-trending__viewport:hover .lqb-trending__track,
.lqb-trending__viewport:focus-within .lqb-trending__track { animation-play-state: paused; }
.lqb-trending__set { display: flex; align-items: center; flex: 0 0 auto; padding-right: 42px; }
.lqb-trending__item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #E6EEF1;
	white-space: nowrap;
	padding: 0 18px;
	transition: color .15s ease;
}
.lqb-trending__item:hover { color: var(--green-light); }
.lqb-trending__title { font-family: var(--font-body); font-weight: 500; }
.lqb-trending__views {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #92A9AE;
	font-size: 11px;
}
.lqb-trending__separator { color: var(--green); opacity: .8; }
.lqb-market-ticker__content {
	position: relative;
	min-width: 0;
	display: flex;
	align-items: center;
	min-height: 42px;
}
.lqb-market-ticker__content > .lqb-trending__viewport { width: 100%; }
.lqb-market-loading {
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 0 18px;
	color: #92A9AE;
	font-size: 11.5px;
	white-space: nowrap;
}
.lqb-market-item { gap: 9px; }
.lqb-market-item__type {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 20px;
	padding: 0 7px;
	border-radius: 999px;
	font-family: var(--font-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	border: 1px solid rgba(255,255,255,.16);
	background: rgba(255,255,255,.07);
	color: #C7D3D8;
}
.lqb-market-item--gainer .lqb-market-item__type {
	color: #B9F59B;
	border-color: color-mix(in srgb, var(--green-light) 32%, transparent);
	background: color-mix(in srgb, var(--green) 14%, transparent);
}
.lqb-market-item--loser .lqb-market-item__type {
	color: #FFB4B4;
	border-color: rgba(255,104,104,.32);
	background: rgba(218,61,61,.14);
}
.lqb-market-item--active .lqb-market-item__type {
	color: #FFD98B;
	border-color: rgba(255,190,75,.32);
	background: rgba(255,179,35,.12);
}
.lqb-market-item__price {
	color: #BFCBD0;
	font-family: var(--font-mono);
	font-size: 11.5px;
	font-variant-numeric: tabular-nums;
}
.lqb-market-item__change {
	font-family: var(--font-mono);
	font-size: 11.5px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: #D6E0E4;
}
.lqb-market-item__change.is-positive { color: #8CEB68; }
.lqb-market-item__change.is-negative { color: #FF8D8D; }
.lqb-market-fallback-wrap {
	position: absolute;
	inset: 0;
	width: 100%;
	min-width: 0;
	height: 42px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	transition: opacity .18s ease;
}
.lqb-market-fallback-wrap.is-active {
	position: relative;
	inset: auto;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.lqb-market-fallback,
.lqb-market-fallback .tradingview-widget-container__widget {
	width: 100%;
	height: 42px;
	min-height: 42px;
}
.lqb-market-unavailable {
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 0 18px;
	color: #92A9AE;
	font-size: 11.5px;
}
@keyframes lqb-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes lqb-pulse { 0%,100% { opacity: .65; transform: scale(.92); } 50% { opacity: 1; transform: scale(1.08); } }

/* ---- Header: teal gradient coordinated with the primary LogicIQ Wealth Pro logo ---- */
.lqb-header {
	background:
		radial-gradient(circle at 86% 45%, color-mix(in srgb, var(--green) 28%, transparent), transparent 34%),
		linear-gradient(112deg, var(--navy) 0%, var(--navy) 34%, var(--navy-2) 100%);
	border-bottom: 1px solid color-mix(in srgb, var(--green-light) 24%, transparent);
	box-shadow: 0 5px 18px rgba(0,15,35,.12);
}
.lqb-header__inner { min-height: 94px; gap: 32px; }
.lqb-header__brand { flex: 0 0 auto; }
.lqb-header__brand > a,
.lqb-header__brand .custom-logo-link {
	display: inline-flex;
	align-items: center;
	background: rgba(255,255,255,.97);
	border: 1px solid rgba(255,255,255,.76);
	border-radius: 9px;
	padding: 7px 11px;
	box-shadow: 0 7px 22px rgba(0,10,27,.18);
}
.lqb-header__brand img,
.lqb-header__logo-fallback img,
.custom-logo-link img {
	height: 58px;
	width: auto;
	max-width: 300px;
	object-fit: contain;
}
.lqb-header__nav { gap: 32px; }
.lqb-nav-menu { gap: 28px; }
.lqb-nav-menu a { color: #F5F9FA; font-weight: 600; }
.lqb-nav-menu a:hover,
.lqb-nav-menu li.current-menu-item > a { color: var(--green-light); }
.lqb-nav-menu li.current-menu-item > a::after { background: var(--green-light); }
.lqb-nav-menu ul {
	background: var(--white);
	border-color: color-mix(in srgb, var(--navy) 10%, transparent);
	box-shadow: 0 16px 36px color-mix(in srgb, var(--navy) 18%, transparent);
	border-radius: 6px;
	overflow: hidden;
}
.lqb-nav-menu ul li a { color: var(--navy); }
.lqb-nav-menu ul li a:hover { color: var(--green); background: #F4F8F6; }
.lqb-search-toggle { color: var(--white); }
.lqb-search-toggle:hover { color: var(--green-light); }
.lqb-menu-toggle__bar { background: var(--white); }
.lqb-header__cta {
	box-shadow: 0 7px 18px color-mix(in srgb, var(--green) 18%, transparent);
	border-color: rgba(255,255,255,.12);
}
.lqb-header__cta:hover { background: var(--white); color: var(--navy); }
.lqb-search-panel {
	border-top-color: rgba(255,255,255,.12);
	background: rgba(0,13,29,.93);
	backdrop-filter: blur(8px);
}
.lqb-search-form { border-color: rgba(255,255,255,.28); }

/* ---- Wider desktop rhythm ---- */
.lqb-container { padding-left: 28px; padding-right: 28px; }
.lqb-layout { padding-top: 46px; padding-bottom: 86px; }
.lqb-layout--article { max-width: 860px; }
.lqb-layout--with-sidebar { grid-template-columns: minmax(0, 1fr) 340px; }

/* ---- Footer uses the same LogicIQ teal brand background ---- */
.lqb-footer {
	background:
		radial-gradient(circle at 84% 28%, color-mix(in srgb, var(--green) 25%, transparent), transparent 36%),
		linear-gradient(112deg, var(--navy) 0%, var(--navy) 35%, var(--navy-2) 100%);
	color: #C6D3D7;
	border-top: 3px solid var(--green);
}
.lqb-footer__newsletter { background: rgba(0,10,26,.32); border-bottom-color: rgba(255,255,255,.12); }
.lqb-footer__main { grid-template-columns: minmax(260px,.95fr) 2.15fr; gap: 64px; padding-top: 58px; padding-bottom: 58px; }
.lqb-footer__logo {
	display: inline-flex;
	align-items: center;
	background: rgba(255,255,255,.96);
	border-radius: 9px;
	padding: 8px 12px;
	box-shadow: 0 8px 24px rgba(0,10,27,.2);
}
.lqb-footer__logo img { width: 250px; height: auto; max-height: 76px; object-fit: contain; }
.lqb-footer__about { color: #BCD0D3; max-width: 410px; }
.lqb-footer__social { gap: 9px; }
.lqb-footer__social a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	border-color: rgba(255,255,255,.18);
	color: #E1EBED;
	background: rgba(0,0,0,.08);
}
.lqb-footer__social a:hover { border-color: var(--green-light); color: var(--green-light); background: rgba(0,0,0,.18); }
.lqb-footer__social svg { width: 15px; height: 15px; flex: 0 0 auto; display: block; overflow: visible; }
.lqb-footer__col a,
.lqb-footer-menu a,
.lqb-footer-recent a,
.lqb-footer-contact a { color: #BCD0D3; }
.lqb-footer__bottom { border-top-color: rgba(255,255,255,.12); background: rgba(0,8,20,.18); }
.lqb-footer__bottom-inner { color: #A7BBC0; }
.lqb-legal-menu a { color: #A7BBC0; }

/* ---- Left-side sticky social rail ---- */
.lqb-floating-social {
	position: fixed;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 240;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.lqb-floating-social a {
	position: relative;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(145deg, var(--navy), var(--navy-2));
	color: var(--white);
	border: 1px solid color-mix(in srgb, var(--green-light) 38%, transparent);
	box-shadow: 0 8px 20px color-mix(in srgb, var(--navy) 22%, transparent);
	transition: transform .16s ease, background .16s ease, color .16s ease;
}
.lqb-floating-social a:hover { transform: translateX(3px); background: var(--green); color: var(--white); }
.lqb-floating-social svg { width: 20px; height: 20px; display: block; overflow: visible; }
.lqb-floating-social a > span {
	position: absolute;
	left: 52px;
	top: 50%;
	transform: translateY(-50%) translateX(-5px);
	background: var(--navy);
	color: var(--white);
	font-family: var(--font-head);
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	padding: 7px 10px;
	border-radius: 5px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .15s ease, transform .15s ease;
}
.lqb-floating-social a:hover > span,
.lqb-floating-social a:focus-visible > span { opacity: 1; transform: translateY(-50%) translateX(0); }

/* ---- Bottom-left Call + WhatsApp buttons ---- */
.lqb-floating-contact {
	position: fixed;
	left: 22px;
	bottom: 22px;
	z-index: 245;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.lqb-floating-contact__button {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 46px;
	padding: 10px 16px 10px 12px;
	border-radius: 999px;
	font-family: var(--font-head);
	font-size: 13px;
	font-weight: 700;
	color: var(--white);
	box-shadow: 0 9px 24px color-mix(in srgb, var(--navy) 24%, transparent);
	border: 1px solid rgba(255,255,255,.2);
	transition: transform .16s ease, filter .16s ease;
}
.lqb-floating-contact__button:hover { color: var(--white); transform: translateY(-2px); filter: brightness(1.05); }
.lqb-floating-contact__button svg { width: 22px; height: 22px; flex: 0 0 auto; }
.lqb-floating-contact__button--call { background: linear-gradient(135deg, #063D68, #075885); }
.lqb-floating-contact__button--whatsapp { background: linear-gradient(135deg, #128C4D, #25D366); }

/* Keep back-to-top visually consistent with the refreshed shell. */
.lqb-back-to-top { background: linear-gradient(145deg, var(--navy), var(--navy-2)); border: 1px solid color-mix(in srgb, var(--green-light) 30%, transparent); }
.lqb-back-to-top:hover { background: var(--green); }

/* On laptops where the wide container nearly fills the viewport, reserve a
   small left gutter so the requested sticky social rail never covers content. */
@media (min-width: 901px) and (max-width: 1600px) {
	.lqb-container { padding-left: 76px; }
	.lqb-footer__main, .lqb-footer__bottom-inner, .lqb-footer__newsletter-inner { padding-left: 76px; }
}

@media (max-width: 1040px) {
	.lqb-header__inner { min-height: 86px; }
	.lqb-header__brand img,
	.lqb-header__logo-fallback img,
	.custom-logo-link img { height: 50px; max-width: 245px; }
	.lqb-nav-menu { gap: 20px; }
	.lqb-header__nav { gap: 20px; }
}

@media (max-width: 900px) {
	.lqb-container { padding-left: 22px; padding-right: 22px; }
	.lqb-trending__inner { padding-left: 16px; padding-right: 16px; min-height: 40px; }
	.lqb-trending__label { margin-right: 13px; padding-right: 13px; }
	.lqb-trending__item { padding: 0 13px; }
	.lqb-header__nav {
		background:
			radial-gradient(circle at 80% 30%, color-mix(in srgb, var(--green) 22%, transparent), transparent 38%),
			linear-gradient(145deg, var(--navy), var(--navy-2));
		color: var(--white);
	}
	.lqb-nav-menu a { color: var(--white); }
	.lqb-nav-menu ul { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.12); }
	.lqb-nav-menu ul li a { color: var(--white); }
	.lqb-nav-menu ul li a:hover { background: rgba(255,255,255,.08); color: var(--green-light); }
	.lqb-search-toggle { color: var(--white); }
	.lqb-footer__main { grid-template-columns: 1fr; padding-left: 22px; }
	.lqb-footer__newsletter-inner, .lqb-footer__bottom-inner { padding-left: 22px; }
	.lqb-floating-social { display: none; }
}

@media (max-width: 620px) {
	.lqb-trending__label { font-size: 0; width: 28px; padding-right: 10px; margin-right: 8px; }
	.lqb-trending__label .lqb-trending__pulse { font-size: initial; }
	.lqb-header__brand > a,
	.lqb-header__brand .custom-logo-link { padding: 5px 8px; border-radius: 7px; }
	.lqb-header__brand img,
	.lqb-header__logo-fallback img,
	.custom-logo-link img { height: 44px; max-width: 210px; }
	.lqb-header__inner { min-height: 76px; }
	.lqb-floating-contact { left: 14px; bottom: 14px; gap: 8px; }
	.lqb-floating-contact__button { width: 46px; height: 46px; min-height: 46px; padding: 0; justify-content: center; }
	.lqb-floating-contact__button > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
	.lqb-back-to-top { right: 14px; bottom: 14px; }
	.lqb-newsletter-form { width: 100%; flex-direction: column; }
	.lqb-newsletter-form input { min-width: 0; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.lqb-trending__track { animation: none !important; }
	.lqb-trending__pulse { animation: none !important; }
}

/* ========================================================================== 
   v1.4 Single article templates — wide editorial + sticky H2 TOC
   ========================================================================== */

/* The single-post shell uses the wide site container, while paragraph text
   stays at a comfortable reading measure. */
.lqb-layout--single {
	display: block;
}
.lqb-main--single {
	width: 100%;
	min-width: 0;
}
.lqb-article--fullwidth,
.lqb-article--toc,
.lqb-related--single,
.lqb-comments {
	width: min(100%, 1400px);
	margin-left: auto;
	margin-right: auto;
}

.lqb-article__header--single {
	width: min(100%, 980px);
	margin: 0 auto 30px;
}
.lqb-article__header--single .lqb-article__title {
	font-size: clamp(34px, 4.25vw, 58px);
	letter-spacing: -0.035em;
	line-height: 1.08;
	margin-top: 16px;
	margin-bottom: 16px;
}
.lqb-article__header--single .lqb-article__lede {
	font-size: clamp(18px, 1.6vw, 21px);
	line-height: 1.6;
	max-width: 820px;
}

/* Featured image is deliberately wider than the text column. Its natural
   aspect ratio is retained so 1200x628, 16:9 and portrait images all work. */
.lqb-article__thumb--wide {
	width: 100%;
	margin: 32px 0 46px;
	border-radius: 10px;
	background: #EAF0EC;
	box-shadow: 0 16px 44px color-mix(in srgb, var(--navy) 8%, transparent);
}
.lqb-article__thumb--wide img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.lqb-article__reading--fullwidth {
	width: min(100%, 860px);
	margin: 0 auto;
}
.lqb-article__content--fullwidth,
.lqb-article__content--toc {
	font-size: 18px;
	line-height: 1.82;
}
.lqb-article__content--fullwidth > p:first-child,
.lqb-article__content--toc > p:first-child {
	font-size: 19px;
}
.lqb-article__content--fullwidth h2,
.lqb-article__content--toc h2 {
	scroll-margin-top: 118px;
	font-size: clamp(27px, 2.4vw, 34px);
	letter-spacing: -0.02em;
	margin-top: 2.15em;
	margin-bottom: .65em;
}
.lqb-article__content--fullwidth h3,
.lqb-article__content--toc h3 {
	font-size: clamp(22px, 1.8vw, 26px);
	margin-top: 1.85em;
}

/* Normal article template: Gutenberg media blocks and common Classic Editor
   full-size images break out from the 860px text measure to the wide article
   measure. This gives the requested full-width visual treatment without making
   paragraphs uncomfortably long. */
.lqb-article--fullwidth .lqb-article__content--fullwidth > .wp-block-image,
.lqb-article--fullwidth .lqb-article__content--fullwidth > .wp-block-gallery,
.lqb-article--fullwidth .lqb-article__content--fullwidth > .wp-block-cover,
.lqb-article--fullwidth .lqb-article__content--fullwidth > .wp-block-video,
.lqb-article--fullwidth .lqb-article__content--fullwidth > .wp-block-embed,
.lqb-article--fullwidth .lqb-article__content--fullwidth > figure.alignwide,
.lqb-article--fullwidth .lqb-article__content--fullwidth > figure.alignfull,
.lqb-article--fullwidth .lqb-article__content--fullwidth > img.aligncenter,
.lqb-article--fullwidth .lqb-article__content--fullwidth > img.alignnone,
.lqb-article--fullwidth .lqb-article__content--fullwidth > img.size-full {
	width: min(1400px, calc(var(--container) - 56px), calc(100vw - 56px));
	max-width: none;
	margin-left: 50%;
	margin-right: 0;
	transform: translateX(-50%);
}
@supports selector(p:has(> img)) {
	.lqb-article--fullwidth .lqb-article__content--fullwidth > p:has(> img:only-child) {
		width: min(1400px, calc(var(--container) - 56px), calc(100vw - 56px));
		max-width: none;
		margin-left: 50%;
		margin-right: 0;
		transform: translateX(-50%);
	}
	.lqb-article--fullwidth .lqb-article__content--fullwidth > p:has(> img:only-child) > img {
		width: 100%;
		height: auto;
	}
}
.lqb-article--fullwidth .lqb-article__content--fullwidth figure img,
.lqb-article--fullwidth .lqb-article__content--fullwidth .wp-block-image img {
	width: 100%;
	height: auto;
}
.lqb-article--fullwidth .lqb-article__content--fullwidth figcaption,
.lqb-article--toc .lqb-article__content--toc figcaption {
	font-size: 13px;
	line-height: 1.5;
	color: var(--muted);
	font-family: var(--font-mono);
	margin-top: 9px;
	text-align: center;
}

/* Table-of-contents template. */
.lqb-single-reading-grid {
	display: grid;
	grid-template-columns: 260px minmax(0, 900px);
	gap: 54px;
	justify-content: center;
	align-items: start;
}
.lqb-single-reading-grid--no-toc {
	grid-template-columns: minmax(0, 900px);
}
.lqb-single-reading-grid__toc {
	min-width: 0;
}
.lqb-article__reading--toc {
	min-width: 0;
}

.lqb-toc {
	position: sticky;
	top: 112px;
	background: linear-gradient(180deg, #FFFFFF 0%, #F7FAF7 100%);
	border: 1px solid var(--line);
	border-top: 3px solid var(--green);
	border-radius: 8px;
	box-shadow: 0 12px 32px color-mix(in srgb, var(--navy) 7%, transparent);
	overflow: hidden;
}
.admin-bar .lqb-toc { top: 144px; }
.lqb-toc__summary {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 17px 14px;
	font-family: var(--font-head);
	font-weight: 700;
	font-size: 15px;
	color: var(--navy);
	cursor: pointer;
	border-bottom: 1px solid var(--line);
}
.lqb-toc__summary::-webkit-details-marker { display: none; }
.lqb-toc__summary svg { transition: transform .18s ease; }
.lqb-toc:not([open]) .lqb-toc__summary svg { transform: rotate(-90deg); }
.lqb-toc__nav {
	max-height: min(58vh, 520px);
	overflow-y: auto;
	overflow-x: hidden;
	padding: 10px 10px 12px;
	scrollbar-width: thin;
}
.lqb-toc__list {
	counter-reset: lqb-toc;
	list-style: none;
	margin: 0;
	padding: 0;
}
.lqb-toc__item {
	counter-increment: lqb-toc;
	margin: 0;
}
.lqb-toc__link {
	position: relative;
	display: grid;
	grid-template-columns: 28px minmax(0,1fr);
	gap: 4px;
	padding: 9px 9px 9px 7px;
	border-radius: 5px;
	font-size: 13.5px;
	line-height: 1.42;
	color: #435365;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.lqb-toc__link::before {
	content: counter(lqb-toc, decimal-leading-zero);
	font-family: var(--font-mono);
	font-size: 10.5px;
	line-height: 1.8;
	color: #81909D;
}
.lqb-toc__link:hover {
	background: color-mix(in srgb, var(--green) 8%, transparent);
	color: var(--navy);
}
.lqb-toc__link.is-active,
.lqb-toc__link[aria-current="location"] {
	background: color-mix(in srgb, var(--green) 11%, transparent);
	color: var(--navy);
	font-weight: 600;
}
.lqb-toc__link.is-active::before,
.lqb-toc__link[aria-current="location"]::before {
	color: var(--green);
	font-weight: 700;
}

/* Content images in the TOC template fill the reading column cleanly. */
.lqb-article--toc .lqb-article__content--toc .wp-block-image,
.lqb-article--toc .lqb-article__content--toc .wp-block-gallery,
.lqb-article--toc .lqb-article__content--toc figure,
.lqb-article--toc .lqb-article__content--toc img.aligncenter,
.lqb-article--toc .lqb-article__content--toc img.alignnone,
.lqb-article--toc .lqb-article__content--toc img.size-full {
	max-width: 100%;
}
.lqb-article--toc .lqb-article__content--toc .wp-block-image img,
.lqb-article--toc .lqb-article__content--toc figure img {
	width: 100%;
	height: auto;
}

/* Finish the article with clearer separation before related content. */
.lqb-article__reading .lqb-article__footer {
	padding-top: 28px;
	margin-top: 42px;
	border-top: 1px solid var(--line);
}
.lqb-related--single {
	margin-top: 72px;
	padding-top: 38px;
	border-top: 1px solid var(--line);
}
.lqb-related__heading-row {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
}
.lqb-related__eyebrow {
	display: block;
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--green);
	margin-bottom: 5px;
}
.lqb-related--single .lqb-section-title { margin-bottom: 0; }

/* Comments follow the same readable measure as the normal article text. */
.lqb-main--single .lqb-comments,
.lqb-main--single #comments {
	width: min(100%, 860px);
	margin: 64px auto 0;
}

@media (max-width: 1180px) {
	.lqb-single-reading-grid {
		grid-template-columns: 230px minmax(0, 1fr);
		gap: 38px;
	}
}

@media (max-width: 900px) {
	.lqb-article--fullwidth,
	.lqb-article--toc,
	.lqb-related--single {
		width: 100%;
	}
	.lqb-article__header--single {
		width: 100%;
	}
	.lqb-article__thumb--wide {
		margin-top: 24px;
		margin-bottom: 34px;
		border-radius: 7px;
	}
	.lqb-single-reading-grid,
	.lqb-single-reading-grid--no-toc {
		grid-template-columns: 1fr;
		gap: 26px;
	}
	.lqb-toc,
	.admin-bar .lqb-toc {
		position: relative;
		top: auto;
	}
	.lqb-toc__nav { max-height: 360px; }
	.lqb-article__reading--fullwidth { width: 100%; }
	.lqb-article--fullwidth .lqb-article__content--fullwidth > .wp-block-image,
	.lqb-article--fullwidth .lqb-article__content--fullwidth > .wp-block-gallery,
	.lqb-article--fullwidth .lqb-article__content--fullwidth > .wp-block-cover,
	.lqb-article--fullwidth .lqb-article__content--fullwidth > .wp-block-video,
	.lqb-article--fullwidth .lqb-article__content--fullwidth > .wp-block-embed,
	.lqb-article--fullwidth .lqb-article__content--fullwidth > figure.alignwide,
	.lqb-article--fullwidth .lqb-article__content--fullwidth > figure.alignfull,
	.lqb-article--fullwidth .lqb-article__content--fullwidth > img.aligncenter,
	.lqb-article--fullwidth .lqb-article__content--fullwidth > img.alignnone,
	.lqb-article--fullwidth .lqb-article__content--fullwidth > img.size-full {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		transform: none;
	}
	@supports selector(p:has(> img)) {
		.lqb-article--fullwidth .lqb-article__content--fullwidth > p:has(> img:only-child) {
			width: 100%;
			max-width: 100%;
			margin-left: 0;
			transform: none;
		}
	}
}

@media (max-width: 620px) {
	.lqb-layout--single { padding-top: 30px; }
	.lqb-article__header--single .lqb-article__title {
		font-size: clamp(31px, 9vw, 42px);
	}
	.lqb-article__header--single .lqb-article__lede { font-size: 17.5px; }
	.lqb-article__header--single .lqb-article__meta {
		align-items: flex-start;
		padding: 14px 0;
	}
	.lqb-article__content--fullwidth,
	.lqb-article__content--toc {
		font-size: 17px;
		line-height: 1.76;
	}
	.lqb-toc__summary { padding: 14px 15px; }
	.lqb-toc__nav { padding: 8px; }
	.lqb-toc__link { font-size: 13px; }
	.lqb-related--single { margin-top: 56px; padding-top: 30px; }
}

/* v1.4 brand asset refinements */
.lqb-footer__logo--custom { padding: 0; background: transparent; box-shadow: none; }
.lqb-footer__logo--custom .custom-logo-link { display: inline-flex; align-items: center; background: rgba(255,255,255,.96); border-radius: 9px; padding: 8px 12px; box-shadow: 0 8px 24px rgba(0,10,27,.2); }
.lqb-footer__logo--custom .custom-logo-link img { width: 250px; height: auto; max-height: 76px; object-fit: contain; }

/* ==========================================================================
   v1.5 — card-first blog, AJAX pagination, refined single article
   ========================================================================== */

/* Card-first home/archive presentation. */
.lqb-posts-region { position: relative; min-height: 180px; }
.lqb-posts-region::after {
	content: "";
	position: absolute;
	inset: -10px;
	background: color-mix(in srgb, var(--paper) 82%, transparent);
	backdrop-filter: blur(2px);
	opacity: 0;
	visibility: hidden;
	transition: opacity .18s ease, visibility .18s ease;
	z-index: 8;
	border-radius: 14px;
	pointer-events: none;
}
.lqb-posts-region.is-loading::after { opacity: 1; visibility: visible; }

.lqb-grid {
	gap: clamp(22px, 2vw, 32px);
	align-items: stretch;
}
.lqb-card {
	border-radius: 12px;
	border-color: color-mix(in srgb, var(--line) 86%, var(--navy));
	box-shadow: 0 8px 28px color-mix(in srgb, var(--navy) 6%, transparent);
	background: var(--white);
	overflow: hidden;
	min-width: 0;
}
.lqb-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 40px color-mix(in srgb, var(--navy) 11%, transparent);
}
.lqb-card__thumb { aspect-ratio: 16 / 9; overflow: hidden; }
.lqb-card__thumb img { transition: transform .28s ease; }
.lqb-card:hover .lqb-card__thumb img { transform: scale(1.025); }
.lqb-card__thumb .lqb-tag {
	left: 14px;
	top: 14px;
	box-shadow: 0 5px 14px rgba(0,0,0,.12);
}
.lqb-card__body { padding: 22px 24px 25px; }
.lqb-card__meta { margin-bottom: 12px; font-size: 11.5px; }
.lqb-card__title {
	font-size: clamp(19px, 1.55vw, 23px);
	line-height: 1.28;
	letter-spacing: -.018em;
	margin-bottom: 11px;
}
.lqb-card__excerpt {
	font-size: 15px;
	line-height: 1.65;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 4.95em;
}
.lqb-card__more {
	margin-top: 2px;
	font-family: var(--font-head);
	font-size: 13px;
	font-weight: 700;
}

/* Pagination remains real HTML links for SEO/progressive enhancement. */
.lqb-pagination { margin-top: 52px; }
.lqb-pagination .navigation.pagination { margin-top: 0; }
.lqb-pagination .nav-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.lqb-pagination .page-numbers {
	min-width: 42px;
	height: 42px;
	padding: 0 13px !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px !important;
	background: var(--white);
	transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.lqb-pagination a.page-numbers:hover { transform: translateY(-1px); background: color-mix(in srgb, var(--green) 7%, var(--white)); }
.lqb-pagination .page-numbers.current { background: var(--navy); }

/* Single article: make the title/meta/featured-image area one intentional hero. */
.lqb-layout--single { padding-top: 30px; }
.lqb-article__hero {
	width: min(100%, 1320px);
	margin: 0 auto 52px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 18px 52px color-mix(in srgb, var(--navy) 7%, transparent);
}
.lqb-article__header--single {
	width: 100%;
	margin: 0;
	padding: clamp(28px, 4vw, 50px) clamp(24px, 4.4vw, 58px) clamp(24px, 3vw, 38px);
}
.lqb-article__header--single .lqb-tag { margin-bottom: 4px; }
.lqb-article__header--single .lqb-article__title {
	font-size: clamp(34px, 4.1vw, 56px);
	max-width: 1080px;
	margin-top: 14px;
	margin-bottom: 14px;
}
.lqb-article__header--single .lqb-article__lede {
	max-width: 900px;
	margin-bottom: 24px;
}
.lqb-article__header--single .lqb-article__meta {
	margin-top: 4px;
	padding: 16px 0 0;
	border-top: 1px solid var(--line);
	border-bottom: 0;
}
.lqb-article__thumb--wide {
	width: 100%;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
	background: #eef5f1;
	border-top: 1px solid var(--line);
}
.lqb-article__thumb--wide img {
	width: 100%;
	height: auto;
	max-height: 720px;
	object-fit: cover;
}

/* TOC layout gets a slightly wider/taller navigation and a clear reading surface. */
.lqb-single-reading-grid {
	grid-template-columns: 300px minmax(0, 900px);
	gap: 48px;
	align-items: start;
}
.lqb-toc {
	top: 108px;
	border-radius: 12px;
	box-shadow: 0 12px 34px color-mix(in srgb, var(--navy) 8%, transparent);
}
.admin-bar .lqb-toc { top: 140px; }
.lqb-toc__summary { padding: 18px 18px 16px; font-size: 16px; }
.lqb-toc__nav {
	max-height: min(72vh, 700px);
	padding: 12px 11px 15px;
}
.lqb-toc__link {
	grid-template-columns: 30px minmax(0,1fr);
	padding: 10px 9px 10px 8px;
	font-size: 13.75px;
	line-height: 1.45;
}
.lqb-article__reading--toc {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: clamp(26px, 3.5vw, 48px) clamp(22px, 4vw, 52px);
	box-shadow: 0 10px 34px color-mix(in srgb, var(--navy) 5%, transparent);
}

/* Article typography fixes: global navigation resets must not remove content lists. */
.lqb-article__content ul {
	list-style: disc;
	padding-left: 1.45em;
	margin-left: .15em;
}
.lqb-article__content ol {
	list-style: decimal;
	padding-left: 1.55em;
}
.lqb-article__content li { margin: .5em 0; padding-left: .18em; }
.lqb-article__content li::marker { color: var(--green); font-weight: 700; }
.lqb-article__content p { margin-bottom: 0; }
.lqb-article__content h2 {
	padding-bottom: .45em;
	border-bottom: 1px solid var(--line);
}
.lqb-article__content h2::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: .82em;
	background: var(--green);
	border-radius: 4px;
	margin-right: 11px;
	vertical-align: -.04em;
}
.lqb-article__content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 9px;
}
.lqb-article__content th { background: color-mix(in srgb, var(--green) 9%, var(--paper)); color: var(--navy); }
.lqb-article__content th,
.lqb-article__content td { min-width: 150px; border-width: 0 1px 1px 0; }
.lqb-article__content tr:last-child td { border-bottom: 0; }
.lqb-article__content tr > *:last-child { border-right: 0; }
.lqb-article__content blockquote {
	background: color-mix(in srgb, var(--green) 6%, var(--white));
	border-radius: 0 9px 9px 0;
	padding: 18px 22px;
}

@media (max-width: 1180px) {
	.lqb-single-reading-grid { grid-template-columns: 260px minmax(0,1fr); gap: 34px; }
	.lqb-toc__nav { max-height: min(66vh, 620px); }
}
@media (max-width: 900px) {
	.lqb-article__hero { margin-bottom: 36px; border-radius: 11px; }
	.lqb-single-reading-grid { grid-template-columns: 1fr; }
	.lqb-article__reading--toc { padding: 28px 24px; }
	.lqb-toc__nav { max-height: 430px; }
}
@media (max-width: 620px) {
	.lqb-card__body { padding: 19px 19px 22px; }
	.lqb-card__excerpt { min-height: 0; }
	.lqb-pagination .page-numbers { min-width: 38px; height: 38px; padding: 0 10px !important; }
	.lqb-article__hero { border-radius: 9px; margin-left: 0; margin-right: 0; }
	.lqb-article__header--single { padding: 24px 20px 22px; }
	.lqb-article__header--single .lqb-article__meta { gap: 16px; }
	.lqb-share { width: 100%; }
	.lqb-article__reading--toc { padding: 24px 18px; border-radius: 9px; }
	.lqb-article__content h2::before { width: 4px; margin-right: 8px; }
}

/* Compact blog landing heading: one clear H1 without recreating the old list hero. */
.lqb-blog-header {
	max-width: 900px;
	margin: 0 0 34px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--line);
}
.lqb-blog-header__eyebrow {
	display: block;
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--green);
	margin-bottom: 8px;
}
.lqb-blog-header__title {
	font-size: clamp(30px, 3.1vw, 44px);
	letter-spacing: -.025em;
	margin: 0 0 8px;
}
.lqb-blog-header__intro {
	max-width: 760px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--muted);
	margin: 0;
}


/* ========================================================================== 
   v1.7 Mobile navigation, footer timeline and central contact presentation
   ========================================================================== */
.lqb-menu-close {
	display: none;
	position: absolute;
	top: 18px;
	right: 18px;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255,255,255,.28);
	border-radius: 50%;
	background: rgba(0,0,0,.12);
	color: #fff;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	z-index: 3;
}
.lqb-menu-close span {
	position: absolute;
	width: 20px;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}
.lqb-menu-close span:first-child { transform: rotate(45deg); }
.lqb-menu-close span:last-child { transform: rotate(-45deg); }
.lqb-menu-close:hover,
.lqb-menu-close:focus-visible { background: var(--green); border-color: var(--green-light); }

/* Footer latest-article timeline based on the supplied reference. */
.lqb-footer__col--latest .widget-title {
	position: relative;
	text-transform: none;
	letter-spacing: 0;
	font-size: 15px;
	margin-bottom: 26px;
}
.lqb-footer__col--latest .widget-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -12px;
	width: 40px;
	height: 2px;
	background: rgba(255,255,255,.85);
}
.lqb-footer-recent {
	position: relative;
	margin: 0;
	padding: 0 0 0 18px;
	list-style: none;
}
.lqb-footer-recent::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 5px;
	bottom: 8px;
	width: 1px;
	background: rgba(255,255,255,.16);
}
.lqb-footer-recent li {
	position: relative;
	padding: 0 0 18px 0;
	margin: 0;
}
.lqb-footer-recent li:last-child { padding-bottom: 0; }
.lqb-footer-recent li::before {
	content: "";
	position: absolute;
	left: -18px;
	top: 3px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--navy);
	border: 2px solid rgba(255,255,255,.16);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--navy) 75%, transparent);
}
.lqb-footer-recent time {
	display: block;
	margin-bottom: 4px;
	font-family: var(--font-mono);
	font-size: 10px;
	line-height: 1.35;
	color: #A7BBC0;
}
.lqb-footer-recent a {
	display: block;
	font-family: var(--font-head);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
}
.lqb-footer-recent a:hover { color: var(--green-light); }

.lqb-footer-contact { margin: 0; padding: 0; list-style: none; }
.lqb-footer-contact__item {
	display: grid;
	grid-template-columns: 19px minmax(0,1fr);
	align-items: start;
	gap: 9px;
	padding: 7px 0;
	line-height: 1.5;
	color: #BCD0D3;
}
.lqb-footer-contact__item svg {
	width: 17px;
	height: 17px;
	margin-top: 2px;
	color: var(--green-light);
}
.lqb-footer-contact__item span,
.lqb-footer-contact__item a { overflow-wrap: anywhere; }

@media (max-width: 860px) {
	.lqb-menu-close { display: flex; }
	.lqb-header__nav { padding-top: 82px; }
	.lqb-header__nav.is-open { visibility: visible; }
}


/* ========================================================================== 
   v1.9 — pinned article TOC scrollspy + aligned comments
   ========================================================================== */

/* Desktop TOC: pin the whole left rail as soon as it reaches the viewport.
   The document itself remains the scroll surface; only the TOC list gets its
   own small internal scrollbar when it contains more items than fit on-screen. */
@media (min-width: 901px) {
	.lqb-single-reading-grid__toc {
		position: sticky;
		top: 108px;
		align-self: start;
		min-width: 0;
		z-index: 5;
	}
	.admin-bar .lqb-single-reading-grid__toc { top: 140px; }

	/* Sticky is owned by the aside, not by the <details> element. This is more
	   reliable in Chromium/Safari and avoids nested sticky positioning. */
	.lqb-single-reading-grid__toc .lqb-toc,
	.admin-bar .lqb-single-reading-grid__toc .lqb-toc {
		position: relative;
		top: auto;
		max-height: calc(100vh - 132px);
		overflow: hidden;
	}
	.admin-bar .lqb-single-reading-grid__toc .lqb-toc {
		max-height: calc(100vh - 164px);
	}
	.lqb-single-reading-grid__toc .lqb-toc[open] {
		display: flex;
		flex-direction: column;
	}
	.lqb-single-reading-grid__toc .lqb-toc__summary {
		flex: 0 0 auto;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav {
		flex: 1 1 auto;
		min-height: 0;
		max-height: none;
		overflow-y: auto;
		overscroll-behavior: contain;
		scroll-behavior: smooth;
	}
}

/* Make the current section unmistakable while scrolling. */
.lqb-toc__link.is-active,
.lqb-toc__link[aria-current="location"] {
	background: color-mix(in srgb, var(--green) 15%, var(--white));
	box-shadow: inset 3px 0 0 var(--green);
	color: var(--navy);
	font-weight: 700;
}
.lqb-toc__link:focus-visible {
	outline: 2px solid var(--green);
	outline-offset: 2px;
}

/* Comments should feel like a continuation of the article, not a narrow box
   floating in the middle of a very wide page. In TOC mode they align exactly
   with the right-hand reading column. */
.lqb-comments-shell {
	width: min(100%, 1400px);
	margin: 68px auto 0;
}
.lqb-comments-shell--fullwidth {
	width: min(100%, 960px);
}
.lqb-comments-shell--toc {
	display: grid;
	grid-template-columns: 300px minmax(0, 900px);
	gap: 48px;
	justify-content: center;
	align-items: start;
}
.lqb-comments-shell--toc > .lqb-comments {
	grid-column: 2;
}
.lqb-main--single .lqb-comments-shell .lqb-comments,
.lqb-main--single .lqb-comments-shell #comments {
	width: 100%;
	max-width: none;
	margin: 0;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: clamp(26px, 3.5vw, 44px);
	box-shadow: 0 10px 34px color-mix(in srgb, var(--navy) 5%, transparent);
}
.lqb-comments-shell .comment-reply-title,
.lqb-comments-shell .lqb-comments__title {
	text-align: left;
	margin-top: 0;
}
.lqb-comments-shell .comment-reply-title {
	font-size: clamp(24px, 2.2vw, 31px);
	line-height: 1.2;
	padding-bottom: 14px;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--line);
}
.lqb-comments-shell .comment-notes,
.lqb-comments-shell .logged-in-as {
	color: var(--muted);
	font-size: 14px;
	line-height: 1.6;
}
.lqb-comments-shell .lqb-comment-form textarea {
	min-height: 190px;
}
.lqb-comments-shell .lqb-comment-form .form-submit {
	margin-bottom: 0;
}

/* v1.16 desktop article rhythm: compact reading without sacrificing hierarchy.
   The requested 15px / 22px body measure is applied above. A 12px H2
   divider gap is intentionally used instead of 20px so section headings do
   not re-introduce the excessive vertical whitespace this pass removes. */
@media (min-width: 901px) {
	.lqb-article__content h2 {
		padding-bottom: 12px;
	}
}

@media (max-width: 1180px) and (min-width: 901px) {
	.lqb-comments-shell--toc {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 34px;
	}
}

@media (max-width: 900px) {
	.lqb-comments-shell,
	.lqb-comments-shell--toc {
		display: block;
		width: 100%;
		margin-top: 52px;
	}
	.lqb-main--single .lqb-comments-shell .lqb-comments,
	.lqb-main--single .lqb-comments-shell #comments {
		padding: 26px 24px;
	}
}

@media (max-width: 620px) {
	.lqb-main--single .lqb-comments-shell .lqb-comments,
	.lqb-main--single .lqb-comments-shell #comments {
		padding: 22px 18px;
		border-radius: 9px;
	}
	.lqb-comments-shell .comment-reply-title {
		font-size: 24px;
	}
}


/* ========================================================================== 
   v1.10 — TOC overflow polish for long article outlines
   ========================================================================== */
@media (min-width: 901px) {
	/* Give the TOC a predictable viewport-bound height. The heading stays fixed,
	   while only the list below it scrolls when an article has many H2 sections. */
	.lqb-single-reading-grid__toc .lqb-toc,
	.admin-bar .lqb-single-reading-grid__toc .lqb-toc {
		max-height: none;
		height: calc(100vh - 132px);
		min-height: 300px;
	}
	.admin-bar .lqb-single-reading-grid__toc .lqb-toc {
		height: calc(100vh - 164px);
	}

	.lqb-single-reading-grid__toc .lqb-toc__nav {
		position: relative;
		padding: 10px 8px 34px 10px;
		scroll-padding-block: 18px 42px;
		scrollbar-gutter: stable;
		scrollbar-width: thin;
		scrollbar-color: color-mix(in srgb, var(--green) 55%, #B8C9C8) transparent;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar {
		width: 7px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar-track {
		background: transparent;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar-thumb {
		background: color-mix(in srgb, var(--green) 52%, #B8C9C8);
		border-radius: 999px;
	}
	/* A real spacer below the final item guarantees that a highlighted last row
	   remains completely visible above the rounded bottom edge. */
	.lqb-single-reading-grid__toc .lqb-toc__list {
		padding-bottom: 18px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__item:last-child .lqb-toc__link {
		margin-bottom: 2px;
	}
}

/* On shorter laptop screens, preserve useful article space while keeping the
   TOC as an internal scroller rather than allowing rows to be clipped. */
@media (min-width: 901px) and (max-height: 700px) {
	.lqb-single-reading-grid__toc .lqb-toc,
	.admin-bar .lqb-single-reading-grid__toc .lqb-toc {
		min-height: 240px;
	}
}

/* ========================================================================== 
   v1.11 — stable desktop TOC card near the end of long articles
   ========================================================================== */
@media (min-width: 901px) {
	/* JS updates --lqb-toc-dynamic-height while scrolling. This lets the TOC
	   become shorter as the article grid approaches its end instead of allowing
	   CSS sticky containment to push the entire card (including its heading)
	   upward and out of the viewport. */
	.lqb-single-reading-grid__toc .lqb-toc,
	.admin-bar .lqb-single-reading-grid__toc .lqb-toc {
		height: var(--lqb-toc-dynamic-height, calc(100vh - 132px));
		max-height: calc(100vh - 132px);
		min-height: 0;
	}
	.admin-bar .lqb-single-reading-grid__toc .lqb-toc {
		max-height: calc(100vh - 164px);
	}

	/* Keep a little visual breathing room beneath the last navigation row. */
	.lqb-single-reading-grid__toc .lqb-toc__nav {
		padding-bottom: 26px;
		scroll-padding-block: 18px 34px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__list {
		padding-bottom: 10px;
	}
}


/* ==========================================================================
   v1.12 — complete card artwork + author/category identity
   ========================================================================== */

/* Keep designed featured artwork fully visible. The previous cropped thumbnail
   + object-fit:cover combination could trim title text and corner graphics. */
.lqb-card__thumb {
	aspect-ratio: 16 / 9;
	background: color-mix(in srgb, var(--navy) 96%, #fff);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.lqb-card__thumb > img:not(.lqb-card__thumb-logo) {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	transform: none !important;
}
.lqb-card:hover .lqb-card__thumb > img:not(.lqb-card__thumb-logo) {
	transform: none !important;
}

/* Category now sits in the content area instead of covering the artwork. */
.lqb-card__category {
	display: flex;
	align-items: center;
	min-height: 27px;
	margin: 0 0 13px;
}
.lqb-card__category .lqb-tag {
	position: static;
	box-shadow: none;
	text-decoration: none;
}

/* Author identity is visible on every article card and automatically uses the
   locally uploaded profile photo from the LogicIQ user-profile setting. */
.lqb-card__author-row {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: auto 0 15px;
	padding-top: 15px;
	border-top: 1px solid var(--line);
}
.lqb-card__author-avatar {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--paper);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--line) 82%, var(--green));
}
.lqb-card__author-avatar img {
	display: block;
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: 50%;
}
.lqb-card__author-copy {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.lqb-card__author-name {
	display: inline-block;
	max-width: 100%;
	font-family: var(--font-head);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.lqb-card__author-name:hover { color: var(--green); }
.lqb-card__author-row .lqb-card__meta {
	margin: 0;
	font-size: 11px;
	line-height: 1.35;
	flex-wrap: wrap;
}

/* Let the excerpt finish before the author block; author remains at the card
   bottom so 3-column rows line up cleanly. */
.lqb-card__excerpt { flex: 0 0 auto; }
.lqb-card__more { margin-top: 0; }

@media (max-width: 620px) {
	.lqb-card__author-row { margin-bottom: 14px; }
	.lqb-card__author-avatar,
	.lqb-card__author-avatar img { width: 38px; height: 38px; }
	.lqb-card__author-avatar { flex-basis: 38px; }
}

/* ==========================================================================
   v1.13 — floating contact alignment + compact card metadata
   ========================================================================== */

/* The default remains bottom-left, but site admins can move both floating
   contact actions to the bottom-right from LogicIQ Theme Options / Customizer. */
.lqb-floating-contact--left {
	left: 22px;
	right: auto;
	align-items: flex-start;
}
.lqb-floating-contact--right {
	left: auto;
	right: 22px;
	align-items: flex-end;
}

/* When the contact stack is on the right, keep the back-to-top control above
   it so the controls never overlap. */
.lqb-floating-contact--right + .lqb-back-to-top {
	right: 22px;
	bottom: 142px;
}

/* Compact article-card identity/meta area. The previous auto margin could
   create a large empty block between the excerpt and author information. */
.lqb-card__body {
	padding: 18px 20px 20px;
}
.lqb-card__category {
	min-height: 24px;
	margin-bottom: 9px;
}
.lqb-card__title {
	margin-bottom: 8px;
}
.lqb-card__excerpt {
	margin-bottom: 12px;
}
.lqb-card__author-row {
	margin: 0 0 10px;
	padding-top: 11px;
	gap: 8px;
	align-items: center;
}
.lqb-card__author-avatar {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
}
.lqb-card__author-avatar img {
	width: 32px;
	height: 32px;
}
.lqb-card__author-copy {
	flex: 1 1 auto;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 3px 7px;
}
.lqb-card__author-name {
	font-size: 12.5px;
	line-height: 1.2;
}
.lqb-card__author-row .lqb-card__meta {
	font-size: 10.5px;
	line-height: 1.25;
	gap: 5px;
	white-space: nowrap;
}
.lqb-card__author-row .lqb-card__meta::before {
	content: "•";
	opacity: .45;
	margin-right: 1px;
}
.lqb-card__more {
	margin-top: 0;
}

@media (max-width: 620px) {
	.lqb-floating-contact--left { left: 14px; right: auto; }
	.lqb-floating-contact--right { left: auto; right: 14px; }
	.lqb-floating-contact--right + .lqb-back-to-top {
		right: 14px;
		bottom: 128px;
	}
	.lqb-card__body { padding: 17px 18px 19px; }
	.lqb-card__author-row { margin-bottom: 9px; padding-top: 10px; }
	.lqb-card__author-avatar,
	.lqb-card__author-avatar img { width: 30px; height: 30px; }
	.lqb-card__author-avatar { flex-basis: 30px; }
	.lqb-card__author-copy { gap: 2px 6px; }
	.lqb-card__author-row .lqb-card__meta { white-space: normal; }
}


/* ========================================================================== 
   v1.14 — denser single-article typography for more content per viewport
   ========================================================================== */

/* Keep the article polished, but reduce oversized display/body typography and
   excess vertical whitespace so educational posts are easier to scan and more
   content fits naturally within a laptop viewport. */
.lqb-article__hero {
	margin-bottom: 32px;
}
.lqb-article__header--single {
	padding: clamp(24px, 3vw, 38px) clamp(22px, 3.6vw, 46px) clamp(20px, 2.5vw, 30px);
}
.lqb-article__header--single .lqb-article__title {
	font-size: clamp(30px, 3.1vw, 44px);
	line-height: 1.1;
	letter-spacing: -0.03em;
	margin-top: 11px;
	margin-bottom: 11px;
}
.lqb-article__header--single .lqb-article__lede {
	font-size: clamp(15.5px, 1.15vw, 17px);
	line-height: 1.5;
	margin-bottom: 15px;
}
.lqb-article__header--single .lqb-article__meta {
	padding-top: 12px;
	gap: 11px;
}
.lqb-article__thumb--wide img {
	max-height: 650px;
}

/* Slightly wider readable measure plus smaller type gives roughly one extra
   paragraph/section of useful content in a typical desktop viewport. */
.lqb-article__reading--fullwidth {
	width: min(100%, 920px);
}
.lqb-single-reading-grid {
	grid-template-columns: 300px minmax(0, 940px);
	gap: 42px;
}
.lqb-article__reading--toc {
	padding: clamp(22px, 2.4vw, 32px) clamp(20px, 2.7vw, 34px);
}
.lqb-article__content--fullwidth,
.lqb-article__content--toc {
	font-size: 15px;
	line-height: 22px;
}
.lqb-article__content--fullwidth > p:first-child,
.lqb-article__content--toc > p:first-child {
	font-size: 15px;
	line-height: 22px;
}
.lqb-article__content > * + * {
	margin-top: 10px;
}
.lqb-article__content--fullwidth h2,
.lqb-article__content--toc h2 {
	font-size: clamp(22px, 1.8vw, 28px);
	line-height: 1.25;
	margin-top: 30px;
	margin-bottom: 10px;
	padding-bottom: 12px;
}
.lqb-article__content--fullwidth h3,
.lqb-article__content--toc h3 {
	font-size: clamp(19px, 1.4vw, 22px);
	line-height: 1.3;
	margin-top: 13px;
	margin-bottom: 6px;
}
.lqb-article__content h4 {
	font-size: 17px;
	line-height: 1.35;
	margin-top: 12px;
	margin-bottom: 5px;
}
.lqb-article__content ul,
.lqb-article__content ol {
	margin-top: 7px;
	margin-bottom: 10px;
}
.lqb-article__content li {
	margin: 4px 0;
	line-height: 22px;
}
.lqb-article__content blockquote {
	font-size: 15px;
	line-height: 22px;
	padding: 12px 16px;
	margin-top: 12px;
	margin-bottom: 12px;
}
.lqb-article__content table {
	font-size: 13.5px;
	line-height: 20px;
	margin-top: 10px;
	margin-bottom: 14px;
}
.lqb-article__content th,
.lqb-article__content td {
	padding: 8px 10px;
}
.lqb-article__reading .lqb-article__footer {
	padding-top: 16px;
	margin-top: 24px;
}
.lqb-author-box {
	margin-top: 24px;
}
.lqb-related--single {
	margin-top: 42px;
	padding-top: 24px;
}

/* Keep comments visually connected while using the slightly wider reading
   measure introduced above. */
.lqb-comments-shell--fullwidth {
	width: min(100%, 960px);
}
.lqb-comments-shell--toc {
	grid-template-columns: 300px minmax(0, 940px);
	gap: 42px;
}
.lqb-main--single .lqb-comments-shell .lqb-comments,
.lqb-main--single .lqb-comments-shell #comments {
	padding: clamp(24px, 2.8vw, 34px);
}
.lqb-comments-shell .comment-reply-title {
	font-size: clamp(22px, 1.8vw, 27px);
	margin-bottom: 16px;
	padding-bottom: 11px;
}
.lqb-comments-shell .lqb-comment-form textarea {
	min-height: 160px;
}

@media (max-width: 1180px) and (min-width: 901px) {
	.lqb-single-reading-grid,
	.lqb-comments-shell--toc {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 30px;
	}
	.lqb-article__reading--toc {
		padding: 28px 30px;
	}
}

@media (max-width: 900px) {
	.lqb-article__hero { margin-bottom: 30px; }
	.lqb-article__header--single .lqb-article__title {
		font-size: clamp(29px, 6vw, 40px);
	}
	.lqb-article__content--fullwidth,
	.lqb-article__content--toc {
		font-size: 16px;
		line-height: 1.68;
	}
	.lqb-article__content--fullwidth > p:first-child,
	.lqb-article__content--toc > p:first-child {
		font-size: 16.5px;
	}
	.lqb-article__content--fullwidth h2,
	.lqb-article__content--toc h2 {
		font-size: clamp(22px, 4.8vw, 27px);
		margin-top: 1.5em;
	}
	.lqb-article__content--fullwidth h3,
	.lqb-article__content--toc h3 {
		font-size: clamp(18px, 4vw, 21px);
	}
}

@media (max-width: 620px) {
	.lqb-layout--single { padding-top: 20px; }
	.lqb-article__header--single { padding: 21px 18px 19px; }
	.lqb-article__header--single .lqb-article__title {
		font-size: clamp(27px, 8vw, 34px);
		line-height: 1.12;
	}
	.lqb-article__header--single .lqb-article__lede {
		font-size: 15.5px;
	}
	.lqb-article__reading--toc { padding: 21px 17px; }
	.lqb-article__content--fullwidth,
	.lqb-article__content--toc {
		font-size: 15.75px;
		line-height: 1.65;
	}
	.lqb-article__content--fullwidth > p:first-child,
	.lqb-article__content--toc > p:first-child { font-size: 16px; }
	.lqb-article__content li { margin: .26em 0; }
	.lqb-main--single .lqb-comments-shell .lqb-comments,
	.lqb-main--single .lqb-comments-shell #comments { padding: 21px 17px; }
}

/* ========================================================================== 
   v1.17 — mobile single-post hardening + menu close visibility
   ========================================================================== */

/* The ticker sits above the normal header in the page stack. While the mobile
   drawer is open, deliberately raise the header/drawer above the ticker so the
   close control can never be hidden behind the market strip. */
@media (max-width: 860px) {
	body.lqb-menu-open .lqb-header {
		z-index: 10000;
	}
	body.lqb-menu-open .lqb-trending {
		z-index: 90;
	}
	.lqb-header__nav {
		z-index: 10001;
		width: min(88vw, 360px);
		max-width: 360px;
		min-height: 100vh;
		min-height: 100dvh;
		padding: 78px 24px 28px;
		overscroll-behavior: contain;
	}
	.lqb-menu-close {
		display: flex;
		top: max(14px, env(safe-area-inset-top));
		right: max(14px, env(safe-area-inset-right));
		z-index: 10003;
		background: rgba(0, 0, 0, .24);
		border-color: rgba(255, 255, 255, .5);
		box-shadow: 0 5px 18px rgba(0, 0, 0, .22);
	}
	body.lqb-menu-open .lqb-menu-toggle {
		visibility: hidden;
	}
	body.lqb-menu-open .lqb-back-to-top {
		display: none !important;
	}
}

/* v1.14 introduced a wider desktop TOC grid after earlier responsive rules.
   These final overrides intentionally come last so that single posts always
   collapse to one true mobile column instead of retaining desktop track widths. */
@media (max-width: 900px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.lqb-layout--single {
		width: 100%;
		max-width: 100%;
		padding: 18px 14px 58px;
	}
	.lqb-main--single,
	.lqb-article--fullwidth,
	.lqb-article--toc,
	.lqb-article__hero,
	.lqb-single-reading-grid,
	.lqb-article__reading--fullwidth,
	.lqb-article__reading--toc,
	.lqb-comments-shell,
	.lqb-related--single {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.lqb-article__hero {
		margin: 0 0 20px;
		border-radius: 10px;
		box-shadow: 0 8px 24px color-mix(in srgb, var(--navy) 6%, transparent);
	}
	.lqb-article__header--single {
		width: 100%;
		padding: 20px 18px 18px;
	}
	.lqb-article__header--single .lqb-tag {
		margin-bottom: 3px;
	}
	.lqb-article__header--single .lqb-article__title {
		font-size: clamp(27px, 7.7vw, 34px);
		line-height: 1.13;
		letter-spacing: -0.025em;
		margin: 10px 0;
	}
	.lqb-article__header--single .lqb-article__lede {
		font-size: 15px;
		line-height: 1.55;
		margin-bottom: 13px;
	}
	.lqb-article__header--single .lqb-article__meta {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		justify-items: start;
		gap: 12px;
		padding-top: 12px;
	}
	.lqb-article__author {
		max-width: 100%;
		min-width: 0;
	}
	.lqb-article__author > span {
		min-width: 0;
	}
	.lqb-article__meta-line {
		display: flex;
		flex-wrap: wrap;
		gap: 3px 5px;
	}
	.lqb-share {
		width: auto;
		max-width: 100%;
		flex-wrap: wrap;
	}
	.lqb-article__thumb--wide {
		margin: 0;
		border-radius: 0;
	}
	.lqb-article__thumb--wide img {
		display: block;
		width: 100%;
		height: auto;
		max-height: none;
		object-fit: contain;
	}

	/* Mobile TOC is a normal collapsible block above the article. It must never
	   keep the 300px desktop column or sticky height calculations. */
	.lqb-single-reading-grid,
	.lqb-single-reading-grid--no-toc {
		display: block;
		grid-template-columns: none !important;
		gap: 0;
	}
	.lqb-single-reading-grid__toc {
		position: static !important;
		top: auto !important;
		width: 100%;
		max-width: 100%;
		margin: 0 0 14px;
		z-index: auto;
	}
	.admin-bar .lqb-single-reading-grid__toc {
		top: auto !important;
	}
	.lqb-single-reading-grid__toc .lqb-toc,
	.admin-bar .lqb-single-reading-grid__toc .lqb-toc,
	.lqb-toc {
		position: static !important;
		top: auto !important;
		width: 100%;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0;
		border-radius: 9px;
		overflow: hidden;
	}
	.lqb-toc__summary {
		padding: 13px 14px;
		font-size: 14px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav,
	.lqb-toc__nav {
		max-height: min(52vh, 390px) !important;
		overflow-y: auto;
		padding: 7px 8px 12px;
		scrollbar-gutter: auto;
	}
	.lqb-toc__link {
		grid-template-columns: 27px minmax(0, 1fr);
		font-size: 12.5px;
		line-height: 1.38;
		padding: 8px 7px;
	}

	.lqb-article__reading--toc,
	.lqb-article__reading--fullwidth {
		margin: 0;
		padding: 19px 16px;
		border-radius: 9px;
		box-sizing: border-box;
	}
	.lqb-article__reading--fullwidth {
		background: var(--white);
		border: 1px solid var(--line);
		box-shadow: 0 8px 24px color-mix(in srgb, var(--navy) 4%, transparent);
	}
	.lqb-article__content,
	.lqb-article__content--fullwidth,
	.lqb-article__content--toc {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		font-size: 15.5px;
		line-height: 1.62;
		overflow-wrap: anywhere;
		word-break: normal;
	}
	.lqb-article__content > * {
		max-width: 100%;
		box-sizing: border-box;
	}
	.lqb-article__content > * + * {
		margin-top: 10px;
	}
	.lqb-article__content--fullwidth > p:first-child,
	.lqb-article__content--toc > p:first-child {
		font-size: 15.5px;
		line-height: 1.62;
	}
	.lqb-article__content--fullwidth h2,
	.lqb-article__content--toc h2 {
		font-size: clamp(21px, 6vw, 25px);
		line-height: 1.25;
		margin-top: 25px;
		margin-bottom: 9px;
		padding-bottom: 10px;
		scroll-margin-top: 92px;
	}
	.lqb-article__content--fullwidth h3,
	.lqb-article__content--toc h3 {
		font-size: clamp(18px, 5vw, 21px);
		line-height: 1.3;
		margin-top: 14px;
		margin-bottom: 5px;
	}
	.lqb-article__content h4 {
		font-size: 17px;
	}
	.lqb-article__content ul,
	.lqb-article__content ol {
		padding-left: 1.25em;
		margin-left: 0;
	}
	.lqb-article__content img,
	.lqb-article__content figure,
	.lqb-article__content iframe,
	.lqb-article__content video,
	.lqb-article__content .wp-block-image,
	.lqb-article__content .wp-block-gallery,
	.lqb-article__content .wp-block-embed {
		max-width: 100% !important;
	}
	.lqb-article__content pre {
		max-width: 100%;
		overflow-x: auto;
		white-space: pre;
	}
	.lqb-article__content table {
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.lqb-article__content th,
	.lqb-article__content td {
		min-width: 125px;
		padding: 7px 8px;
	}
	.lqb-author-box {
		padding: 16px;
		gap: 12px;
	}
	.lqb-related--single {
		margin-top: 32px;
		padding-top: 20px;
	}
	.lqb-comments-shell,
	.lqb-comments-shell--toc,
	.lqb-comments-shell--fullwidth {
		display: block !important;
		width: 100%;
		max-width: 100%;
		margin-top: 34px;
	}
	.lqb-comments-shell--toc > .lqb-comments {
		grid-column: auto;
	}
	.lqb-main--single .lqb-comments-shell .lqb-comments,
	.lqb-main--single .lqb-comments-shell #comments {
		width: 100%;
		max-width: 100%;
		padding: 19px 16px;
	}
}

@media (max-width: 520px) {
	.lqb-container {
		padding-left: 14px;
		padding-right: 14px;
	}
	.lqb-layout--single {
		padding-left: 10px;
		padding-right: 10px;
	}
	.lqb-breadcrumbs {
		padding-top: 11px;
		font-size: 11px;
		line-height: 1.5;
	}
	.lqb-article__header--single {
		padding: 18px 15px 16px;
	}
	.lqb-article__header--single .lqb-article__title {
		font-size: clamp(25px, 8vw, 31px);
	}
	.lqb-article__reading--toc,
	.lqb-article__reading--fullwidth {
		padding: 17px 14px;
	}
	.lqb-article__content,
	.lqb-article__content--fullwidth,
	.lqb-article__content--toc {
		font-size: 15px;
		line-height: 1.6;
	}
	.lqb-article__content--fullwidth > p:first-child,
	.lqb-article__content--toc > p:first-child {
		font-size: 15px;
	}
}

/* ======================================================================
   v1.18 — Archive templates, branded 404 and enhanced search
   ====================================================================== */
.lqb-archive-hero,
.lqb-search-hero {
	background: linear-gradient(135deg, rgba(24,74,73,.06), rgba(71,150,108,.09));
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 30px 34px;
	margin: 0 0 30px;
}
.lqb-archive-hero__eyebrow,
.lqb-search-hero__eyebrow,
.lqb-404-hero__eyebrow {
	display: inline-block;
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--green);
	margin-bottom: 8px;
}
.lqb-archive-hero__title,
.lqb-search-hero__title {
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.12;
	margin: 0;
	color: var(--navy);
}
.lqb-archive-hero__desc,
.lqb-search-hero__intro {
	max-width: 820px;
	color: var(--muted);
	font-size: 15.5px;
	line-height: 1.65;
	margin: 10px 0 0;
}
.lqb-archive-hero__desc p { margin: 0; }
.lqb-archive-hero__count {
	font-family: var(--font-mono);
	font-size: 12px;
	color: var(--muted);
	margin: 12px 0 0;
}
.lqb-author-archive {
	display: flex;
	align-items: center;
	gap: 24px;
}
.lqb-author-archive__avatar { flex: 0 0 96px; }
.lqb-author-archive__avatar img {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 50%;
	border: 4px solid var(--white);
	box-shadow: 0 8px 24px rgba(15,60,59,.12);
}
.lqb-author-archive__content { min-width: 0; }

.lqb-search-hero__form { max-width: 760px; margin-top: 20px; }
.lqb-search-results-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 18px;
	font-family: var(--font-mono);
	font-size: 12px;
	color: var(--muted);
}
.lqb-search-form {
	position: relative;
	max-width: none;
	overflow: visible;
	border: 0;
	border-radius: 0;
}
.lqb-search-form__row {
	display: flex;
	border: 1px solid var(--line-dark);
	border-radius: 10px;
	overflow: hidden;
	background: var(--white);
}
.lqb-search-form__field {
	min-width: 0;
	min-height: 48px;
}
.lqb-search-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 118px;
	font-family: var(--font-head);
	font-weight: 600;
	background: var(--green);
}
.lqb-search-form__submit:hover { background: var(--navy); }
.lqb-live-search__results {
	position: absolute;
	z-index: 420;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 12px;
	box-shadow: 0 18px 44px rgba(12,53,52,.16);
	padding: 8px;
	max-height: 420px;
	overflow-y: auto;
}
.lqb-live-search__results[hidden] { display: none; }
.lqb-live-search__item {
	display: grid;
	grid-template-columns: 58px minmax(0,1fr);
	gap: 12px;
	align-items: center;
	padding: 9px;
	border-radius: 8px;
	color: var(--navy);
}
.lqb-live-search__item:hover,
.lqb-live-search__item:focus {
	background: var(--paper-2);
	outline: none;
}
.lqb-live-search__thumb {
	width: 58px;
	height: 44px;
	border-radius: 6px;
	object-fit: cover;
	background: var(--paper-2);
}
.lqb-live-search__copy { min-width: 0; }
.lqb-live-search__title {
	display: block;
	font-family: var(--font-head);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.35;
}
.lqb-live-search__meta {
	display: block;
	font-family: var(--font-mono);
	font-size: 10.5px;
	color: var(--muted);
	margin-top: 3px;
}
.lqb-live-search__message {
	padding: 14px;
	font-size: 13px;
	color: var(--muted);
}
.lqb-live-search__all {
	display: block;
	padding: 10px 12px;
	border-top: 1px solid var(--line);
	margin-top: 4px;
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 600;
	color: var(--green);
}
.lqb-search-empty {
	max-width: 850px;
	padding: 34px;
	border: 1px solid var(--line);
	border-radius: 16px;
	background: var(--white);
}
.lqb-search-empty h2 { margin: 0 0 8px; }
.lqb-search-empty p { color: var(--muted); margin: 0 0 20px; }
.lqb-topic-links { display: flex; flex-wrap: wrap; gap: 10px; }
.lqb-topic-links a {
	display: inline-flex;
	align-items: center;
	padding: 8px 13px;
	border: 1px solid var(--line);
	border-radius: 999px;
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--navy);
	background: var(--white);
}
.lqb-topic-links a:hover { border-color: var(--green); color: var(--green); }

.lqb-404-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(220px, .6fr);
	gap: 44px;
	align-items: center;
	padding: 48px;
	border-radius: 20px;
	background: linear-gradient(135deg, var(--navy), var(--navy-2));
	color: var(--white);
	margin-bottom: 34px;
	overflow: hidden;
}
.lqb-404-hero__copy { max-width: 760px; }
.lqb-404-hero__code {
	display: inline-block;
	font-family: var(--font-mono);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--green-light);
	margin-bottom: 10px;
}
.lqb-404-hero h1 {
	color: var(--white);
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.05;
	margin: 0 0 14px;
}
.lqb-404-hero p { color: rgba(255,255,255,.78); max-width: 650px; }
.lqb-404-hero .lqb-search-form { margin-top: 22px; }
.lqb-404-hero .lqb-search-form__row { border-color: rgba(255,255,255,.24); }
.lqb-404-hero__actions { margin-top: 18px; }
.lqb-404-hero__mark {
	aspect-ratio: 1;
	border: 2px solid rgba(255,255,255,.18);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: var(--green-light);
	background: rgba(255,255,255,.04);
}
.lqb-404-hero__mark span { font-family: var(--font-head); font-size: clamp(56px,7vw,96px); font-weight: 700; line-height: .9; }
.lqb-404-hero__mark small { font-family: var(--font-mono); font-size: 16px; margin-top: 12px; letter-spacing: .15em; }
.lqb-404-section { margin-top: 30px; }
.lqb-section-heading {
	font-family: var(--font-head);
	font-size: 18px;
	font-weight: 700;
	color: var(--navy);
	margin-bottom: 15px;
}
.lqb-section-heading span { display: inline-block; padding-bottom: 8px; border-bottom: 2px solid var(--green); }
.lqb-404-discovery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 28px;
	margin-top: 8px;
}
.lqb-compact-links {
	border: 1px solid var(--line);
	border-radius: 14px;
	background: var(--white);
	overflow: hidden;
}
.lqb-compact-links a {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 15px 17px;
	border-bottom: 1px solid var(--line);
	color: var(--navy);
}
.lqb-compact-links a:last-child { border-bottom: 0; }
.lqb-compact-links a:hover { background: var(--paper-2); }
.lqb-compact-links span { font-family: var(--font-head); font-size: 14px; font-weight: 600; line-height: 1.4; }
.lqb-compact-links small { flex: 0 0 auto; font-family: var(--font-mono); font-size: 10.5px; color: var(--muted); }

@media (max-width: 760px) {
	.lqb-archive-hero,
	.lqb-search-hero { padding: 24px 20px; border-radius: 14px; margin-bottom: 22px; }
	.lqb-author-archive { align-items: flex-start; }
	.lqb-author-archive__avatar { flex-basis: 72px; }
	.lqb-author-archive__avatar img { width: 72px; height: 72px; }
	.lqb-search-form__submit { min-width: 50px; padding: 0 14px; }
	.lqb-search-form__submit span { display: none; }
	.lqb-404-hero { grid-template-columns: 1fr; padding: 32px 22px; gap: 26px; }
	.lqb-404-hero__mark { display: none; }
	.lqb-404-discovery { grid-template-columns: 1fr; gap: 0; }
	.lqb-live-search__results { max-height: 360px; }
}
@media (max-width: 480px) {
	.lqb-author-archive { flex-direction: column; gap: 14px; }
	.lqb-archive-hero__title, .lqb-search-hero__title { font-size: 28px; }
	.lqb-live-search__item { grid-template-columns: 48px minmax(0,1fr); gap: 9px; }
	.lqb-live-search__thumb { width: 48px; height: 40px; }
}


/* ==========================================================================
   v1.19 — engagement navigation, reading progress, mobile contact/ticker controls
   ========================================================================== */
.lqb-reading-progress{position:fixed;left:0;right:0;top:0;height:3px;background:transparent;z-index:10020;pointer-events:none}.lqb-reading-progress>span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--green),var(--green-light));box-shadow:0 0 8px color-mix(in srgb,var(--green) 35%,transparent);will-change:transform}.admin-bar .lqb-reading-progress{top:32px}@media(max-width:782px){.admin-bar .lqb-reading-progress{top:46px}}

.lqb-post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1180px;margin:26px auto 0;padding:0 2px}.lqb-post-nav__item{display:flex;flex-direction:column;gap:7px;min-width:0;padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--navy);box-shadow:0 8px 24px rgba(15,61,59,.05)}.lqb-post-nav__item:hover{border-color:color-mix(in srgb,var(--green) 55%,var(--line));transform:translateY(-1px)}.lqb-post-nav__item--next{text-align:right}.lqb-post-nav__label{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}.lqb-post-nav__item strong{font-family:var(--font-head);font-size:14px;line-height:1.35}.lqb-post-nav__spacer{display:block}

.lqb-market-ticker--paused .lqb-trending__track{animation-play-state:paused!important}.lqb-market-ticker--paused .lqb-trending__pulse{animation-play-state:paused!important}

.lqb-floating-contact{bottom:var(--lqb-floating-bottom-offset,22px)}
@media(min-width:621px){.lqb-contact-hide-desktop{display:none!important}}
@media(max-width:620px){
  .lqb-market-ticker--hide-mobile{display:none!important}
  .lqb-market-ticker{min-height:var(--lqb-ticker-mobile-height,34px)}
  .lqb-market-ticker .lqb-trending__inner,.lqb-market-ticker .lqb-market-ticker__content,.lqb-market-ticker .lqb-market-loading{min-height:var(--lqb-ticker-mobile-height,34px);height:var(--lqb-ticker-mobile-height,34px)}
  .lqb-market-ticker .lqb-trending__item{padding:0 10px;font-size:11px}.lqb-market-ticker .lqb-market-item__type{height:18px;min-width:42px;font-size:8px}
  .lqb-floating-contact{bottom:var(--lqb-floating-bottom-offset,14px)}
  .lqb-floating-contact--left{left:14px}.lqb-floating-contact--right{right:14px}
  .lqb-floating-contact__button{width:var(--lqb-mobile-contact-size,46px);height:var(--lqb-mobile-contact-size,46px);min-height:var(--lqb-mobile-contact-size,46px)}
  .lqb-floating-contact__button svg{width:calc(var(--lqb-mobile-contact-size,46px) * .47);height:calc(var(--lqb-mobile-contact-size,46px) * .47)}
  .lqb-contact-hide-mobile{display:none!important}
  .lqb-floating-contact--mobile-icon-only .lqb-floating-contact__button{padding:0;justify-content:center}
  .lqb-floating-contact--mobile-icon-only .lqb-floating-contact__button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .lqb-floating-contact--mobile-labels .lqb-floating-contact__button{width:auto;height:var(--lqb-mobile-contact-size,46px);padding:0 14px 0 11px}.lqb-floating-contact--mobile-labels .lqb-floating-contact__button>span{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:nowrap}
  .lqb-floating-contact--right + .lqb-back-to-top{bottom:calc(var(--lqb-floating-bottom-offset,14px) + 116px)}
  .lqb-post-nav{grid-template-columns:1fr;gap:10px;margin-top:20px}.lqb-post-nav__item--next{text-align:left}.lqb-post-nav__spacer{display:none}
}


/* ========================================================================== 
   v1.20 — full featured artwork, smart long TOC, WordHTML/plain-HTML article styling
   ========================================================================== */

/* Single hero featured image: never crop designed artwork. Some educational
   featured graphics carry text close to the upper edge, so preserve the source
   aspect ratio and top edge exactly rather than applying a height cap/cover crop. */
.lqb-article__thumb--wide {
	line-height: 0;
	overflow: hidden;
	background: #eef5f1;
}
.lqb-article__thumb--wide img {
	display: block;
	width: 100%;
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center top !important;
	margin: 0;
}

/* WordHTML / Classic Editor compatibility.
   These rules deliberately target semantic HTML elements rather than Gutenberg
   classes so clean HTML pasted from WordHTML is styled exactly like block content. */
.lqb-article__content :where(p,div,section,aside,figure,table,blockquote,pre,ul,ol,dl,h1,h2,h3,h4,h5,h6) {
	max-width: 100%;
	box-sizing: border-box;
}
.lqb-article__content p:empty { display: none; }
.lqb-article__content p,
.lqb-article__content div {
	line-height: inherit;
}
.lqb-article__content h1 {
	font-family: var(--font-head);
	font-size: clamp(25px, 2.1vw, 31px);
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--navy);
	margin: 28px 0 10px;
}
.lqb-article__content h2,
.lqb-article__content h3,
.lqb-article__content h4,
.lqb-article__content h5,
.lqb-article__content h6 {
	font-family: var(--font-head);
	color: var(--navy);
}
.lqb-article__content h5 { font-size: 15px; line-height: 1.4; margin: 12px 0 5px; }
.lqb-article__content h6 { font-size: 14px; line-height: 1.4; margin: 10px 0 5px; }
.lqb-article__content strong,
.lqb-article__content b { font-weight: 700; color: inherit; }
.lqb-article__content em,
.lqb-article__content i { font-style: italic; }
.lqb-article__content a {
	color: var(--green-dark, var(--green));
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.lqb-article__content a:hover { color: var(--navy); }
.lqb-article__content hr {
	border: 0;
	border-top: 1px solid var(--line);
	margin: 22px 0;
}
.lqb-article__content img {
	display: block;
	max-width: 100% !important;
	height: auto !important;
}
.lqb-article__content p > img:only-child,
.lqb-article__content p > a:only-child > img:only-child {
	margin: 14px auto;
}
.lqb-article__content figure {
	margin-left: 0;
	margin-right: 0;
}
.lqb-article__content figcaption {
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--muted);
	text-align: center;
	margin-top: 7px;
}
.lqb-article__content ul,
.lqb-article__content ol {
	padding-left: 1.45em;
}
.lqb-article__content li > p { margin: 0; }
.lqb-article__content ul ul,
.lqb-article__content ol ol,
.lqb-article__content ul ol,
.lqb-article__content ol ul {
	margin-top: 4px;
	margin-bottom: 4px;
}
.lqb-article__content dl { margin: 10px 0; }
.lqb-article__content dt { font-weight: 700; color: var(--navy); margin-top: 8px; }
.lqb-article__content dd { margin: 3px 0 8px 18px; }
.lqb-article__content table {
	width: 100% !important;
	max-width: 100% !important;
}
.lqb-article__content thead th { font-weight: 700; }
.lqb-article__content caption {
	caption-side: bottom;
	padding-top: 7px;
	font-size: 12px;
	color: var(--muted);
}
.lqb-article__content iframe,
.lqb-article__content video,
.lqb-article__content object,
.lqb-article__content embed {
	max-width: 100% !important;
}
.lqb-article__content sup,
.lqb-article__content sub { line-height: 0; }
.lqb-article__content mark {
	background: color-mix(in srgb, var(--green-light) 30%, #fff);
	padding: 0 .15em;
}

@media (max-width: 900px) {
	/* Keep plain WordHTML media safe on mobile as well. */
	.lqb-article__content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.lqb-article__content h1 {
		font-size: clamp(22px, 6.5vw, 27px);
		margin-top: 22px;
	}
}


/* ========================================================================== 
   v1.21 — restore full TOC controls + cleaner WordHTML tables
   ========================================================================== */

/* User-requested section-heading treatment: keep the LogicIQ marker, but remove
   the divider and its extra bottom padding so imported HTML stays compact. */
.lqb-article__content h2 {
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Restore the original readable desktop TOC proportions. Long outlines remain
   fixed/sticky, while the navigation area itself gets a visible manual scrollbar.
   Scrollspy and active-heading auto-follow behavior remain intact. */
@media (min-width: 901px) {
	.lqb-single-reading-grid {
		grid-template-columns: 300px minmax(0, 900px);
		gap: 48px;
	}
	.lqb-toc__summary {
		padding: 18px 18px 16px;
		font-size: 16px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav,
	.lqb-toc__nav {
		padding: 10px 8px 26px 10px;
		scroll-padding-block: 18px 34px;
		scrollbar-gutter: stable;
		scrollbar-width: thin;
		scrollbar-color: color-mix(in srgb, var(--green) 55%, #B8C9C8) transparent;
		-ms-overflow-style: auto;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar,
	.lqb-toc__nav::-webkit-scrollbar {
		display: block;
		width: 7px;
		height: 7px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar-track,
	.lqb-toc__nav::-webkit-scrollbar-track {
		background: transparent;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar-thumb,
	.lqb-toc__nav::-webkit-scrollbar-thumb {
		background: color-mix(in srgb, var(--green) 52%, #B8C9C8);
		border-radius: 999px;
	}
	.lqb-toc__link {
		grid-template-columns: 30px minmax(0, 1fr);
		gap: 0;
		padding: 10px 9px 10px 8px;
		font-size: 13.75px;
		line-height: 1.45;
		border-radius: 6px;
	}
	.lqb-toc__link::before {
		font-size: 10px;
		line-height: 1.55;
	}
	.lqb-single-reading-grid__toc .lqb-toc__list {
		padding-bottom: 10px;
	}
}

@media (min-width: 901px) and (max-width: 1180px) {
	.lqb-single-reading-grid {
		grid-template-columns: 270px minmax(0, 1fr);
		gap: 28px;
	}
	.lqb-toc__link { font-size: 13px; }
}

/* WordHTML often writes fixed height/width styles into tables. Reset those
   dimensions and give every imported semantic table a consistent LogicIQ style. */
.lqb-article__content table {
	display: table !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	table-layout: auto;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	margin: 14px 0 18px !important;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 9px;
	overflow: hidden;
	font-size: 13.5px;
	line-height: 1.5;
}
.lqb-article__content table :where(thead,tbody,tfoot,tr,th,td) {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
}
.lqb-article__content table th,
.lqb-article__content table td {
	padding: 10px 12px !important;
	border: 0 !important;
	border-right: 1px solid var(--line) !important;
	border-bottom: 1px solid var(--line) !important;
	vertical-align: top;
	text-align: left;
	white-space: normal;
	overflow-wrap: anywhere;
}
.lqb-article__content table thead th,
.lqb-article__content table tr:first-child th {
	background: color-mix(in srgb, var(--green) 11%, var(--paper));
	color: var(--navy);
	font-family: var(--font-head);
	font-weight: 700;
}
.lqb-article__content table tbody tr:nth-child(even) td {
	background: color-mix(in srgb, var(--green-light) 7%, var(--white));
}
.lqb-article__content table tr:last-child > * {
	border-bottom: 0 !important;
}
.lqb-article__content table tr > *:last-child {
	border-right: 0 !important;
}
.lqb-article__content table th p,
.lqb-article__content table td p,
.lqb-article__content table th div,
.lqb-article__content table td div {
	margin: 0 !important;
	padding: 0 !important;
}

@media (max-width: 900px) {
	.lqb-article__content table {
		display: block !important;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		border-radius: 8px;
	}
	.lqb-article__content table th,
	.lqb-article__content table td {
		min-width: 135px;
	}
}

/* ========================================================================== 
   v1.23 — reliable long-TOC scrolling on desktop
   ========================================================================== */
@media (min-width: 901px) {
	/* Keep the whole TOC card pinned, but make the navigation itself the only
	   scrolling surface. `scroll` (rather than `auto`) keeps a real scrollbar
	   track available on desktop, so long outlines are visibly discoverable. */
	.lqb-single-reading-grid__toc .lqb-toc[open] {
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}
	.lqb-single-reading-grid__toc .lqb-toc__summary {
		flex: 0 0 auto;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav {
		flex: 1 1 0;
		min-height: 0;
		height: auto;
		max-height: none !important;
		overflow-y: scroll !important;
		overflow-x: hidden;
		overscroll-behavior: contain;
		scrollbar-gutter: stable;
		scrollbar-width: auto;
		scrollbar-color: var(--green) #e5eeeb;
		padding-right: 10px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar {
		width: 10px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar-track {
		background: #e5eeeb;
		border-radius: 999px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar-thumb {
		background: var(--green);
		border: 2px solid #e5eeeb;
		border-radius: 999px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar-thumb:hover {
		background: var(--green-dark, var(--green));
	}
}

/* ========================================================================== 
   v1.24 — deterministic desktop TOC scroll container
   ========================================================================== */
@media (min-width: 901px) {
	/* Keep sticky positioning on the left rail, but let the card size naturally.
	   Only the nav receives a viewport-bound height. This avoids the flex/details
	   clipping state where the card could hide later rows without giving the nav
	   any actual scroll range. */
	.lqb-single-reading-grid__toc .lqb-toc,
	.admin-bar .lqb-single-reading-grid__toc .lqb-toc,
	.lqb-single-reading-grid__toc .lqb-toc[open] {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: hidden !important;
	}

	.lqb-single-reading-grid__toc .lqb-toc__summary {
		display: flex !important;
	}

	.lqb-single-reading-grid__toc .lqb-toc__nav {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: calc(100vh - 222px) !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		overscroll-behavior: contain;
		scroll-behavior: auto;
		scrollbar-gutter: stable;
		scrollbar-width: auto;
		scrollbar-color: #07986f #dfeae6;
		padding: 10px 10px 24px 10px;
	}

	.admin-bar .lqb-single-reading-grid__toc .lqb-toc__nav {
		max-height: calc(100vh - 254px) !important;
	}

	/* Use a high-contrast native scrollbar so the thumb is clearly visible on
	   Chromium/Edge rather than showing only a pale empty track. */
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar {
		display: block !important;
		width: 11px !important;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar-track {
		background: #dfeae6 !important;
		border-radius: 999px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar-thumb {
		background: #07986f !important;
		border: 2px solid #dfeae6 !important;
		border-radius: 999px;
		min-height: 36px;
	}
	.lqb-single-reading-grid__toc .lqb-toc__nav::-webkit-scrollbar-thumb:hover {
		background: #056d55 !important;
	}

	/* Ensure the last TOC row can be scrolled comfortably above the rounded edge. */
	.lqb-single-reading-grid__toc .lqb-toc__list {
		padding-bottom: 18px !important;
	}
}

@media (min-width: 901px) and (max-height: 700px) {
	.lqb-single-reading-grid__toc .lqb-toc__nav {
		max-height: calc(100vh - 202px) !important;
	}
	.admin-bar .lqb-single-reading-grid__toc .lqb-toc__nav {
		max-height: calc(100vh - 234px) !important;
	}
}

/* =========================================================
   v1.25 — stronger branded table-header treatment
   ========================================================= */
/* WordHTML can add inline cell backgrounds, so use !important here to ensure
   semantic table headers always use the LogicIQ brand treatment on the front end. */
.lqb-article__content table thead > tr > *,
.lqb-article__content table tr > th,
.lqb-article__content table tr:has(> th) > * {
	background: linear-gradient(135deg, var(--navy), var(--teal, var(--green))) !important;
	color: #fff !important;
	font-family: var(--font-head);
	font-weight: 700;
	border-right-color: rgba(255,255,255,.18) !important;
	border-bottom-color: rgba(255,255,255,.18) !important;
}
.lqb-article__content table thead a,
.lqb-article__content table tr > th a,
.lqb-article__content table tr:has(> th) > * a {
	color: #fff !important;
}
