/*
Theme Name:   LakeBTC (Kadence Child)
Theme URI:    https://lakebtc.com/
Description:  Crypto-authority design system for lakebtc.com. Dark chrome (header, hero, footer) with a light, highly readable article surface. Built on Kadence hooks — no parent template overrides. Includes server-cached price ticker, article TOC, reading time, fact-check badge, related articles, mega footer, llms.txt endpoint and WCAG 2.2 AA groundwork.
Author:       BullSEO
Author URI:   https://bullseo.nl/
Template:     kadence
Version:      1.2.4
Requires at least: 6.4
Tested up to: 7.0.1
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  lakebtc-child
*/

/* ============================================================
   0. FONTS — self-hosted variable fonts (latin subset)
   Space Grotesk (display/headings) + Inter (body/UI).
   Licensed under the SIL Open Font License 1.1.
   ============================================================ */
@font-face {
	font-family: 'Space Grotesk';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url('assets/fonts/space-grotesk-var-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('assets/fonts/inter-var-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD;
}

/* ============================================================
   1. DESIGN TOKENS
   Chrome (header/hero/footer) is dark navy; the reading surface
   is light. Accents: LakeBTC blue #2563EB + bitcoin orange
   #F7931A — the exact colors already used by the rendered
   charts/diagrams (#0E1116 background family).
   ============================================================ */
:root {
	/* Dark chrome scale (matches chart render style) */
	--lb-navy-950: #0A0D12;
	--lb-navy-900: #0E1116;
	--lb-navy-800: #131A24;
	--lb-navy-700: #1E2430;
	--lb-navy-600: #2A3242;

	/* Accents */
	--lb-blue: #2563EB;
	--lb-blue-deep: #1D4ED8;
	--lb-blue-soft: #EBF1FE;
	--lb-orange: #F7931A;
	--lb-orange-deep: #DA7B06;

	/* Light reading surface */
	--lb-bg: #FFFFFF;
	--lb-surface: #F7F9FC;
	--lb-surface-2: #F2F6FB;
	--lb-line: #E0E4EA;
	--lb-line-soft: #EAEEF4;

	/* Ink (text on light) */
	--lb-ink-900: #10161F;
	--lb-ink-700: #1A2233;
	--lb-ink-600: #333B4A;
	--lb-ink-500: #5A6070;
	--lb-ink-400: #7A8090;

	/* Text on dark */
	--lb-dust-100: #E6E8EC;
	--lb-dust-300: #B6BEC9;
	--lb-dust-500: #8A8F98;

	/* Signals */
	--lb-up: #16A34A;
	--lb-up-dark: #4ADE80;   /* on dark chrome */
	--lb-down: #DC2626;
	--lb-down-dark: #F87171; /* on dark chrome */
	--lb-check-bg: #EAF7EF;
	--lb-check-ink: #14532D;

	/* Type */
	--lb-font-display: 'Space Grotesk', var(--lb-font-body);
	--lb-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--lb-font-mono: ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Consolas, monospace;

	/* Rhythm */
	--lb-radius: 10px;
	--lb-radius-sm: 7px;
	--lb-shadow: 0 8px 24px rgba(16, 22, 31, 0.08);
	--lb-shadow-lift: 0 12px 28px rgba(16, 22, 31, 0.12);
	--lb-header-h: 64px;
	--lb-gradient: linear-gradient(90deg, var(--lb-blue) 0%, var(--lb-orange) 100%);

	/* Map onto Kadence globals so parent CSS + blocks inherit */
	--global-palette1: var(--lb-blue);
	--global-palette2: var(--lb-blue-deep);
	--global-palette3: var(--lb-ink-900);
	--global-palette4: var(--lb-ink-700);
	--global-palette5: var(--lb-ink-600);
	--global-palette6: var(--lb-ink-500);
	--global-palette7: var(--lb-line);
	--global-palette8: var(--lb-surface);
	--global-palette9: var(--lb-bg);
	--global-body-font-family: var(--lb-font-body);
	--global-heading-font-family: var(--lb-font-display);
	--global-primary-nav-font-family: var(--lb-font-body);

	color-scheme: light;
	/* Anchor jumps must clear the sticky header (WCAG 2.4.11) */
	scroll-padding-top: calc(var(--lb-header-h) + 24px);
}

html {
	scroll-behavior: smooth;
}

/* ============================================================
   2. BASE TYPOGRAPHY & READING SURFACE
   ============================================================ */
body {
	font-family: var(--lb-font-body);
	font-size: 17px;
	line-height: 1.65;
	color: var(--lb-ink-600);
	background: var(--lb-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--lb-font-display);
	font-weight: 700;
	letter-spacing: -0.015em;
	color: var(--lb-ink-900);
	line-height: 1.2;
}
.entry-content a:not(.button):not(.wp-block-button__link) {
	color: var(--lb-blue);
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--lb-blue) 35%, transparent);
	text-underline-offset: 2px;
	transition: text-decoration-color 0.15s ease;
}
.entry-content a:not(.button):not(.wp-block-button__link):hover {
	text-decoration-color: var(--lb-blue);
}
::selection {
	background: rgba(37, 99, 235, 0.18);
}

/* Visible focus for keyboard users, both schemes (WCAG 2.4.7 / 2.4.13) */
:focus-visible {
	outline: 2px solid var(--lb-blue);
	outline-offset: 2px;
	border-radius: 3px;
}
.site-header :focus-visible,
.lb-footer :focus-visible,
.lb-hero :focus-visible {
	outline-color: var(--lb-orange);
}

/* ============================================================
   3. GRADIENT ACCENT BAR — brand signature, top of every page
   ============================================================ */
#wrapper::before {
	content: '';
	display: block;
	height: 3px;
	background: var(--lb-gradient);
}

/* ============================================================
   4. PRICE TICKER (server-rendered, fixed height = zero CLS)
   ============================================================ */
.lb-ticker {
	background: var(--lb-navy-950);
	border-bottom: 1px solid var(--lb-navy-700);
	height: 38px;
	overflow: hidden;
	font-family: var(--lb-font-mono);
	font-size: 12.5px;
}
.lb-ticker__inner {
	max-width: var(--lb-max, 1290px);
	margin: 0 auto;
	padding: 0 1.25rem;
	height: 100%;
	display: flex;
	align-items: center;
	gap: 1.1rem;
}
.lb-ticker__label {
	color: var(--lb-orange);
	font-family: var(--lb-font-body);
	font-weight: 700;
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	flex: none;
}
.lb-ticker__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 1.6rem;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.lb-ticker__list::-webkit-scrollbar { display: none; }
.lb-ticker__list li {
	display: flex;
	align-items: baseline;
	gap: 0.45rem;
	white-space: nowrap;
}
.lb-ticker__sym  { color: var(--lb-dust-500); font-weight: 700; }
.lb-ticker__price { color: var(--lb-dust-100); }
.lb-ticker__chg.is-up   { color: var(--lb-up-dark); }
.lb-ticker__chg.is-down { color: var(--lb-down-dark); }
.lb-ticker__src {
	margin-left: auto;
	color: var(--lb-dust-500);
	font-family: var(--lb-font-body);
	font-size: 11px;
	flex: none;
}
@media (max-width: 767px) {
	.lb-ticker__src { display: none; }
}

/* ============================================================
   5. HEADER — dark, sticky, authority
   ============================================================ */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	-webkit-backdrop-filter: saturate(140%) blur(10px);
	backdrop-filter: saturate(140%) blur(10px);
	border-bottom: 1px solid var(--lb-navy-700);
	box-shadow: 0 6px 20px rgba(6, 8, 12, 0.35);
}
/* Kadence paints the header white on #masthead (ID specificity) — repaint. */
#masthead,
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.site-header-row-container):not(.site-main-header-wrap),
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
	background: rgba(14, 17, 22, 0.94);
}
.site-header .site-header-row-container-inner,
.site-header .site-main-header-wrap,
.site-header .site-header-row,
.site-header .site-top-header-wrap,
.site-header .site-header-inner-wrap {
	background: transparent;
}
.site-main-header-inner-wrap {
	min-height: var(--lb-header-h);
}

/* Branding (custom SVG mark + wordmark rendered by the child theme) */
.lb-brand {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	text-decoration: none;
	min-height: 44px;
}
.lb-brand__mark { display: block; width: 34px; height: 34px; }
.lb-brand__name {
	font-family: var(--lb-font-display);
	font-weight: 700;
	font-size: 24px;
	letter-spacing: -0.02em;
	color: #FFFFFF;
	line-height: 1;
}
.lb-brand__name b { color: var(--lb-orange); font-weight: 700; }

/* Primary navigation (specificity matches Kadence's inline rules) */
.site-header .main-navigation .primary-menu-container > ul > li.menu-item > a {
	color: var(--lb-dust-300);
	font-weight: 600;
	font-size: 14.5px;
	padding: 0.65rem 0.7rem; /* ≥24px target (WCAG 2.5.8) */
	transition: color 0.15s ease;
}
.site-header .main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.site-header .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a {
	color: #FFFFFF;
}
.site-header .main-navigation .primary-menu-container > ul > li.menu-item > a::after {
	content: '';
	display: block;
	height: 2px;
	margin-top: 3px;
	background: var(--lb-gradient);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.18s ease;
}
.site-header .main-navigation .primary-menu-container > ul > li.menu-item > a:hover::after,
.site-header .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a::after {
	transform: scaleX(1);
}
/* Dropdowns on dark */
.site-header .primary-menu-container ul ul {
	background: var(--lb-navy-800);
	border: 1px solid var(--lb-navy-700);
	border-radius: var(--lb-radius-sm);
	box-shadow: var(--lb-shadow-lift);
}
.site-header .primary-menu-container ul ul li a { color: var(--lb-dust-300); }
.site-header .primary-menu-container ul ul li a:hover { color: #fff; background: var(--lb-navy-700); }

/* Mobile header + drawer */
.mobile-header-wrap, .site-mobile-header-wrap { background: transparent; }
.site-header .mobile-toggle-open-container .menu-toggle-open,
.site-header .menu-toggle-open,
.site-header .search-toggle-open {
	color: var(--lb-dust-100);
	min-width: 44px;
	min-height: 44px;
}
.mobile-navigation .menu-item a,
#mobile-drawer .drawer-inner .menu-item a { color: var(--lb-dust-100); }
#mobile-drawer .drawer-inner,
.popup-drawer .drawer-inner {
	background: var(--lb-navy-900);
}
#mobile-drawer .drawer-header .drawer-toggle { color: var(--lb-dust-100); }

/* Skip link stays visible & above chrome */
.skip-link:focus {
	z-index: 200;
	background: var(--lb-blue);
	color: #fff;
}

/* ============================================================
   6. READING PROGRESS BAR — CSS scroll-driven, zero JS
   ============================================================ */
.lb-progress {
	display: none;
}
@supports (animation-timeline: scroll()) {
	.single-post .lb-progress {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		height: 3px;
		z-index: 300;
		background: var(--lb-gradient);
		transform-origin: 0 50%;
		transform: scaleX(0);
		animation: lb-progress-grow linear both;
		animation-timeline: scroll(root);
	}
	@keyframes lb-progress-grow {
		from { transform: scaleX(0); }
		to   { transform: scaleX(1); }
	}
}

/* ============================================================
   7. HOMEPAGE — hero, trust strip, cards, topics, latest
   (classes come from the restructured page markup)
   ============================================================ */
.home .entry-header { display: none; } /* page title replaced by hero H1 */

/* Homepage container hardening: force a true full-width canvas no matter
   which Kadence layout state applies (boxed, narrow, or stale cached body
   classes). The hero/trust sections then span naturally — no vw tricks
   that get clipped by overflow on boxed containers. */
body.home .content-container.site-container,
body.home.content-width-narrow .content-container.site-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}
body.home .content-area {
	margin: 0;
	padding-top: 0;
}
body.home article.entry,
body.home .content-bg.entry {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	overflow: visible;
}
body.home .entry-content-wrap { padding: 0; }
body.home .entry-content { margin-top: 0; }
body.home .entry-content > *:first-child { margin-top: 0; }
.home .content-bg, .home .site { background: var(--lb-bg); }

/* Full-bleed helper for page sections */
.lb-bleed {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}
/* On the homepage the container itself is full-width — span it naturally */
body.home .lb-bleed {
	width: auto;
	margin-left: 0;
	margin-right: 0;
}

/* Hero */
.lb-hero {
	background:
		radial-gradient(1100px 420px at 18% -10%, rgba(37, 99, 235, 0.22), transparent 60%),
		radial-gradient(900px 380px at 88% 8%, rgba(247, 147, 26, 0.14), transparent 55%),
		var(--lb-navy-900);
	border-bottom: 1px solid var(--lb-navy-700);
	padding: clamp(3rem, 7vw, 5.5rem) 1.25rem clamp(2.6rem, 6vw, 4.5rem);
	position: relative;
	overflow: hidden;
}
.lb-hero::before {
	/* faint chart-grid texture */
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(230, 232, 236, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(230, 232, 236, 0.045) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: linear-gradient(180deg, rgba(0,0,0,0.9), transparent 82%);
	pointer-events: none;
}
.lb-hero__inner {
	position: relative;
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
}
.lb-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lb-orange);
	margin-bottom: 1.1rem;
}
.lb-hero__kicker::before,
.lb-hero__kicker::after {
	content: '';
	width: 26px;
	height: 1px;
	background: currentColor;
	opacity: 0.55;
}
.lb-hero h1 {
	color: #FFFFFF;
	font-size: clamp(2.1rem, 5vw, 3.4rem);
	line-height: 1.08;
	margin: 0 0 1.1rem;
	letter-spacing: -0.025em;
}
.lb-hero__lead {
	color: var(--lb-dust-300);
	font-size: clamp(1.02rem, 1.6vw, 1.16rem);
	line-height: 1.7;
	max-width: 720px;
	margin: 0 auto 1.8rem;
}
.lb-hero__lead a { color: var(--lb-dust-100); text-decoration: underline; text-underline-offset: 2px; }
.lb-hero__actions {
	display: flex;
	gap: 0.8rem;
	justify-content: center;
	flex-wrap: wrap;
}
/* beat the .entry-content link rule for buttons inside page content */
.entry-content .lb-hero__actions a.lb-btn { text-decoration: none; }
.entry-content .lb-hero__actions a.lb-btn--primary,
.entry-content .lb-hero__actions a.lb-btn--primary:hover { color: var(--lb-navy-950); }
.entry-content .lb-hero__actions a.lb-btn--ghost { color: var(--lb-dust-100); }
.entry-content .lb-hero__actions a.lb-btn--ghost:hover { color: #FFFFFF; }
.lb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-family: var(--lb-font-body);
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	padding: 0.95rem 1.5rem;
	border-radius: 8px;
	text-decoration: none;
	min-height: 48px;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.lb-btn--primary {
	background: var(--lb-orange);
	color: var(--lb-navy-950);
}
.lb-btn--primary:hover {
	background: #FFA83E;
	color: var(--lb-navy-950);
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(247, 147, 26, 0.32);
}
.lb-btn--ghost {
	background: transparent;
	color: var(--lb-dust-100);
	border: 1px solid var(--lb-navy-600);
}
.lb-btn--ghost:hover {
	border-color: var(--lb-dust-300);
	color: #fff;
	transform: translateY(-1px);
}

/* Trust strip */
.lb-trust {
	background: var(--lb-surface);
	border-bottom: 1px solid var(--lb-line);
	padding: 0.95rem 1.25rem;
}
.lb-trust__inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	gap: clamp(1.2rem, 4vw, 3.2rem);
	flex-wrap: wrap;
}
.lb-trust__item {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--lb-ink-500);
}
.lb-trust__item::before {
	content: '';
	flex: none;
	width: 17px;
	height: 17px;
	background-color: var(--lb-blue);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.2 14.4-4-4 1.7-1.7 2.3 2.3 4.9-5 1.7 1.7-6.6 6.7z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.2 14.4-4-4 1.7-1.7 2.3 2.3 4.9-5 1.7 1.7-6.6 6.7z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Section scaffolding on the homepage */
.lb-section {
	max-width: 1140px;
	margin: 0 auto;
	padding: clamp(2.4rem, 5vw, 3.6rem) 1.25rem 0;
}
.lb-section > h2, .lb-section > h3 {
	font-size: clamp(1.35rem, 2.6vw, 1.7rem);
	margin: 0 0 0.4rem;
	position: relative;
	padding-left: 0.9rem;
}
.lb-section > h2::before, .lb-section > h3::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.18em;
	bottom: 0.18em;
	width: 4px;
	border-radius: 2px;
	background: var(--lb-gradient);
}
.lb-section__intro {
	max-width: 780px;
	color: var(--lb-ink-500);
	margin: 0 0 1.6rem;
}
.lb-prose {
	max-width: 780px;
}
.lb-prose p { margin: 0 0 1rem; }

/* Card grids (Start here / guides) */
.lb-cards {
	list-style: none;
	margin: 1.4rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1rem;
}
.lb-card {
	position: relative;
	background: var(--lb-bg);
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius);
	padding: 1.25rem 1.25rem 1.15rem;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.lb-card:hover {
	transform: translateY(-2px);
	border-color: rgba(37, 99, 235, 0.45);
	box-shadow: var(--lb-shadow-lift);
}
.lb-card__num {
	font-family: var(--lb-font-mono);
	font-size: 12px;
	font-weight: 700;
	color: var(--lb-orange);
	display: block;
	margin-bottom: 0.55rem;
}
.lb-card h3, .lb-card strong.lb-card__title {
	display: block;
	font-family: var(--lb-font-display);
	font-size: 1.06rem;
	margin: 0 0 0.35rem;
	color: var(--lb-ink-900);
}
.lb-card a {
	color: inherit;
	text-decoration: none;
}
/* whole-card click without nesting interactives */
.lb-card a::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
.lb-card p {
	font-size: 0.92rem;
	color: var(--lb-ink-500);
	margin: 0;
	line-height: 1.55;
}
.lb-card__cta {
	display: inline-block;
	margin-top: 0.7rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--lb-blue);
}

/* Topic tiles */
.lb-topics {
	list-style: none;
	margin: 1.4rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 0.7rem;
}
.lb-topics a {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	background: var(--lb-surface);
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius-sm);
	padding: 0.85rem 1rem;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--lb-ink-700);
	text-decoration: none;
	min-height: 48px;
	transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.lb-topics a::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 2px;
	background: var(--lb-gradient);
	flex: none;
}
.lb-topics a:hover {
	background: #fff;
	border-color: rgba(37, 99, 235, 0.45);
	transform: translateY(-1px);
}

/* Latest posts grid (core latest-posts block) */
.lb-latest .wp-block-latest-posts__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.1rem;
	margin: 1.4rem 0 0;
	padding: 0;
}
.lb-latest .wp-block-latest-posts__list > li {
	margin: 0;
	background: var(--lb-bg);
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.lb-latest .wp-block-latest-posts__list > li:hover {
	transform: translateY(-2px);
	border-color: rgba(37, 99, 235, 0.45);
	box-shadow: var(--lb-shadow-lift);
}
.lb-latest .wp-block-latest-posts__featured-image { margin: 0; }
.lb-latest .wp-block-latest-posts__featured-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}
.lb-latest .wp-block-latest-posts__list > li > a {
	font-family: var(--lb-font-display);
	font-weight: 700;
	font-size: 1.02rem;
	line-height: 1.35;
	color: var(--lb-ink-900);
	text-decoration: none;
	padding: 0.95rem 1.1rem 0.2rem;
}
.lb-latest .wp-block-latest-posts__list > li > a:hover { color: var(--lb-blue); }
.lb-latest .wp-block-latest-posts__post-date {
	padding: 0 1.1rem 1rem;
	font-size: 0.82rem;
	color: var(--lb-ink-400);
	margin-top: auto;
}

/* Why-trust panel + FAQ on home */
.lb-panel {
	background: var(--lb-surface);
	border: 1px solid var(--lb-line);
	border-left: 4px solid var(--lb-blue);
	border-radius: var(--lb-radius);
	padding: 1.5rem 1.6rem;
	max-width: 980px;
}
.lb-panel p { margin: 0; }
.lb-faq {
	max-width: 980px;
	margin-top: 0.4rem;
}
.lb-faq details {
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius-sm);
	background: var(--lb-bg);
	margin-top: 0.6rem;
}
.lb-faq summary {
	cursor: pointer;
	list-style: none;
	padding: 0.95rem 1.15rem;
	font-family: var(--lb-font-display);
	font-weight: 700;
	font-size: 1rem;
	color: var(--lb-ink-900);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	min-height: 48px;
}
.lb-faq summary::-webkit-details-marker { display: none; }
.lb-faq summary h3 { margin: 0; font-size: 1rem; display: inline; }
.lb-faq summary::after {
	content: '+';
	font-family: var(--lb-font-mono);
	color: var(--lb-blue);
	font-size: 1.2rem;
	flex: none;
}
.lb-faq details[open] summary::after { content: '\2212'; }
.lb-faq details > p { padding: 0 1.15rem 1rem; margin: 0; color: var(--lb-ink-500); }

.lb-finenote {
	max-width: 1140px;
	margin: 0 auto;
	padding: 2.2rem 1.25rem 2.8rem;
	color: var(--lb-ink-400);
	font-size: 0.88rem;
}

/* ============================================================
   8. SINGLE POST — meta, TOC, content components
   ============================================================ */
/* Narrow readable measure */
.single-post .content-container.site-container,
.single-post .entry-content-wrap { max-width: 100%; }
.single-post .entry-content-wrap > * { max-width: 100%; }
.single-post .content-area { margin-top: 2.4rem; }
.single-post .content-area article.single-entry {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	box-shadow: none;
}
/* Featured image inside the article column (position: below) */
.single-post .single-entry .post-thumbnail {
	display: block;
	margin: 0 0 1.7rem;
}
.single-post .single-entry .post-thumbnail img {
	width: 100%;
	height: auto;
	border-radius: var(--lb-radius);
}
.single-post .single-entry .entry-content { margin-top: 0; }
.single-post .entry-content {
	font-size: 17.5px;
}
.single-post .entry-content > p,
.single-post .entry-content > ul,
.single-post .entry-content > ol { max-width: 74ch; }

/* Breadcrumb (plain, no microdata — schema lives in the R2 JSON-LD graph) */
.lb-crumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	font-size: 0.82rem;
	color: var(--lb-ink-400);
	margin: 0 0 0.9rem;
}
.lb-crumbs a {
	color: var(--lb-ink-500);
	text-decoration: none;
	font-weight: 600;
	padding: 0.35rem 0; /* target size */
}
.lb-crumbs a:hover { color: var(--lb-blue); }
.lb-crumbs .sep { opacity: 0.55; }
.lb-crumbs [aria-current] {
	max-width: 34ch;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Category chips above title (Kadence element) */
.single-post .entry-taxonomies,
.single-post .entry-taxonomies .category-links {
	font-size: 0;
}
.single-post .entry-taxonomies a {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lb-blue);
	background: var(--lb-blue-soft);
	border-radius: 999px;
	padding: 0.4rem 0.85rem;
	margin: 0 0.4rem 0.5rem 0;
	text-decoration: none;
}
.single-post .entry-taxonomies a:hover { background: var(--lb-blue); color: #fff; }

.single-post h1.entry-title {
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
	margin-bottom: 0.4rem;
}

/* Hide Kadence's own meta line — replaced by .lb-postmeta below */
.single-post .entry-header .entry-meta { display: none; }

/* Post meta bar: byline · dates · reading time · fact-check badge */
.lb-postmeta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem 1.1rem;
	padding: 0.9rem 0;
	margin: 0.7rem 0 1.4rem;
	border-top: 1px solid var(--lb-line-soft);
	border-bottom: 1px solid var(--lb-line-soft);
	font-size: 0.86rem;
	color: var(--lb-ink-500);
}
.lb-postmeta__author {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-weight: 600;
	color: var(--lb-ink-700);
}
.lb-postmeta__avatar {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--lb-navy-900);
	color: var(--lb-orange);
	font-family: var(--lb-font-display);
	font-size: 11px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
}
.lb-postmeta time { white-space: nowrap; }
.lb-postmeta .lb-updated { color: var(--lb-ink-600); font-weight: 600; }
.lb-postmeta__read { white-space: nowrap; }
.lb-factcheck {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--lb-check-bg);
	color: var(--lb-check-ink);
	font-weight: 700;
	font-size: 0.8rem;
	border-radius: 999px;
	padding: 0.4rem 0.85rem;
	text-decoration: none;
	min-height: 28px;
}
.lb-factcheck:hover { background: #DBF0E3; color: var(--lb-check-ink); }
.lb-factcheck svg { flex: none; }

/* Table of contents */
.lb-toc {
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius);
	background: var(--lb-surface);
	margin: 1.8rem 0;
	max-width: 74ch;
}
.lb-toc summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.9rem 1.15rem;
	font-family: var(--lb-font-display);
	font-weight: 700;
	font-size: 0.98rem;
	color: var(--lb-ink-900);
	min-height: 48px;
}
.lb-toc summary::-webkit-details-marker { display: none; }
.lb-toc summary::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 2px;
	background: var(--lb-gradient);
}
.lb-toc summary::after {
	content: '';
	margin-left: auto;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--lb-ink-400);
	border-bottom: 2px solid var(--lb-ink-400);
	transform: rotate(45deg);
	transition: transform 0.15s ease;
}
.lb-toc[open] summary::after { transform: rotate(225deg); }
.lb-toc ol {
	margin: 0;
	padding: 0 1.25rem 1.05rem 2.4rem;
	columns: 2;
	column-gap: 2.2rem;
}
.lb-toc li {
	margin: 0.32rem 0;
	break-inside: avoid;
	font-size: 0.92rem;
}
.lb-toc a {
	color: var(--lb-ink-600);
	text-decoration: none;
	display: inline-block;
	padding: 0.15rem 0;
}
.lb-toc a:hover { color: var(--lb-blue); text-decoration: underline; text-underline-offset: 2px; }
.lb-toc a.is-current { color: var(--lb-blue); font-weight: 700; }
@media (max-width: 719px) {
	.lb-toc ol { columns: 1; }
}

/* Content headings & spacing — gradient section markers (posts + pages) */
.single-post .entry-content h2,
body.page:not(.home) .entry-content h2 {
	font-size: 1.5rem;
	margin-top: 2.7rem;
	padding-left: 0.85rem;
	position: relative;
}
.single-post .entry-content h2::before,
body.page:not(.home) .entry-content h2::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.16em;
	bottom: 0.16em;
	width: 4px;
	border-radius: 2px;
	background: var(--lb-gradient);
}
.single-post .entry-content h3 { font-size: 1.18rem; margin-top: 1.8rem; }

/* Editorial lead: first paragraph slightly larger, posts get a drop cap */
.single-post .entry-content > p:first-of-type,
body.page:not(.home) .entry-content > p:first-of-type {
	font-size: 1.12em;
	line-height: 1.7;
	color: var(--lb-ink-700);
}
.single-post .entry-content > p:first-of-type::first-letter {
	font-family: var(--lb-font-display);
	font-weight: 700;
	float: left;
	font-size: 3em;
	line-height: 0.85;
	padding: 0.06em 0.14em 0 0;
	color: var(--lb-navy-900);
}

/* Responsive table scroller (injected around content tables) */
.lb-table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 1.2rem 0;
	border-radius: var(--lb-radius-sm);
}
.lb-table-scroll > table { margin: 0 !important; min-width: 560px; }

/* Chart / diagram figures — dark render panels */
.entry-content figure.lakebtc-chart,
.entry-content figure.lakebtc-diagram {
	background: var(--lb-navy-900);
	border: 1px solid var(--lb-navy-700);
	border-radius: var(--lb-radius);
	padding: 0.9rem 0.9rem 0.65rem;
	margin: 1.8rem 0;
}
.entry-content figure.lakebtc-chart img,
.entry-content figure.lakebtc-diagram img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
}
.entry-content figure.lakebtc-chart figcaption,
.entry-content figure.lakebtc-diagram figcaption {
	color: var(--lb-dust-500);
	font-size: 0.82rem;
	text-align: center;
	padding-top: 0.6rem;
}

/* --- LakeBTC article components (absorbed from Customizer CSS, restyled) --- */
.lakebtc-disclaimer {
	margin: 1.6rem 0;
	padding: 0.95rem 1.25rem;
	border: 1px solid #D9E4F2;
	border-left: 4px solid var(--lb-blue);
	border-radius: var(--lb-radius-sm);
	background: var(--lb-surface-2);
	font-size: 0.93em;
	color: var(--lb-ink-500);
}
.lakebtc-disclaimer p { margin: 0; }
.lakebtc-risk {
	margin: 1.6rem 0;
	padding: 0.95rem 1.25rem;
	border: 1px solid #F0DCC0;
	border-left: 4px solid var(--lb-orange);
	border-radius: var(--lb-radius-sm);
	background: #FDF6EC;
	font-size: 0.93em;
	color: #6B5B45;
}
.lakebtc-risk p { margin: 0; }
.lakebtc-author {
	margin: 2.5rem 0 2rem;
	padding: 1.15rem 1.4rem;
	border: 1px solid var(--lb-line);
	border-left: 4px solid var(--lb-blue);
	border-radius: var(--lb-radius-sm);
	background: var(--lb-surface);
}
.lakebtc-author .byline {
	font-family: var(--lb-font-display);
	font-weight: 700;
	color: var(--lb-ink-700);
	margin: 0 0 0.45rem;
}
.lakebtc-author p:not(.byline) {
	font-size: 0.92em;
	color: var(--lb-ink-500);
	line-height: 1.55;
	margin: 0;
}
.lakebtc-verified-stamp {
	font-size: 0.85em;
	font-style: italic;
	color: var(--lb-ink-500);
	margin: 0.4rem 0 1.4rem;
}
.lakebtc-bottom-line {
	margin: 1.4rem 0;
	padding: 0.95rem 1.25rem;
	border: 1px solid var(--lb-line);
	border-left: 4px solid var(--lb-up);
	border-radius: var(--lb-radius-sm);
	background: var(--lb-surface);
}
.lakebtc-bottom-line p { margin: 0; }
/* Key-takeaways pattern (for future pipeline use) */
.lakebtc-takeaways {
	margin: 1.6rem 0;
	padding: 1.05rem 1.3rem;
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius);
	background: var(--lb-surface);
}
.lakebtc-takeaways > strong:first-child,
.lakebtc-takeaways > p:first-child strong {
	font-family: var(--lb-font-display);
	color: var(--lb-ink-900);
}
.lakebtc-takeaways ul { margin: 0.6rem 0 0; }

/* Post navigation (prev/next) */
.single-post .post-navigation {
	max-width: 820px;
	margin: 2rem auto;
}
.single-post .post-navigation .nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.9rem;
}
.single-post .post-navigation a {
	display: block;
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius);
	padding: 0.9rem 1.1rem;
	text-decoration: none;
	color: var(--lb-ink-900);
	font-family: var(--lb-font-display);
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.35;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.single-post .post-navigation a:hover {
	border-color: rgba(37, 99, 235, 0.45);
	box-shadow: var(--lb-shadow);
}
.single-post .post-navigation .post-navigation-sub {
	font-family: var(--lb-font-body);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lb-ink-400);
	margin-bottom: 0.3rem;
}
.single-post .post-navigation .nav-next { text-align: right; }
@media (max-width: 599px) {
	.single-post .post-navigation .nav-links { grid-template-columns: 1fr; }
}

/* Related articles */
.lb-related {
	max-width: 1140px;
	margin: 1rem auto 0;
	padding: 2.2rem 1.25rem 1rem;
	border-top: 1px solid var(--lb-line-soft);
}
.lb-related > h2 {
	font-size: 1.35rem;
	margin: 0 0 1.2rem;
	position: relative;
	padding-left: 0.9rem;
}
.lb-related > h2::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.18em;
	bottom: 0.18em;
	width: 4px;
	border-radius: 2px;
	background: var(--lb-gradient);
}
.lb-related__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.lb-related__grid article {
	position: relative;
	background: var(--lb-bg);
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius);
	overflow: hidden;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.lb-related__grid article:hover {
	transform: translateY(-2px);
	border-color: rgba(37, 99, 235, 0.45);
	box-shadow: var(--lb-shadow-lift);
}
.lb-related__grid img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}
.lb-related__body { padding: 0.95rem 1.1rem 1.05rem; }
.lb-related__cat {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lb-blue);
}
.lb-related__body h3 {
	font-size: 1rem;
	line-height: 1.35;
	margin: 0.35rem 0 0.4rem;
}
.lb-related__body h3 a { color: var(--lb-ink-900); text-decoration: none; }
.lb-related__body h3 a::after { content: ''; position: absolute; inset: 0; }
.lb-related__body time { font-size: 0.8rem; color: var(--lb-ink-400); }

/* ============================================================
   9. ARCHIVES (category / search) — card grid
   ============================================================ */
.archive .content-area, .blog .content-area, .search .content-area {
	padding-top: 0;
	margin-top: 0;
}
.lb-archive-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-bottom: 2.6rem;
	background: var(--lb-navy-900);
	border-bottom: 1px solid var(--lb-navy-700);
	padding: 2.4rem 1.25rem;
}
.lb-archive-hero__inner { max-width: 1140px; margin: 0 auto; }
.lb-archive-hero .lb-archive-kicker {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lb-orange);
	display: block;
	margin-bottom: 0.5rem;
}
.lb-archive-hero h1 {
	color: #fff;
	font-size: clamp(1.7rem, 3.4vw, 2.3rem);
	margin: 0;
}
.lb-archive-hero p { color: var(--lb-dust-300); margin: 0.55rem 0 0; max-width: 720px; }
/* hide Kadence's own archive title (replaced by the hero above) */
.archive .kadence-hero-title-container, .archive .entry-hero { display: none; }

.archive .content-container .grid-cols,
.archive .posts-container { max-width: 1140px; margin: 0 auto; }
.archive article.loop-entry.entry,
.blog article.loop-entry.entry,
.search article.loop-entry.entry {
	background: var(--lb-bg);
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius);
	overflow: hidden;
	box-shadow: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.archive article.loop-entry.entry:hover,
.blog article.loop-entry.entry:hover,
.search article.loop-entry.entry:hover {
	transform: translateY(-2px);
	border-color: rgba(37, 99, 235, 0.45);
	box-shadow: var(--lb-shadow-lift);
}
article.loop-entry .post-thumbnail img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
}
article.loop-entry .entry-content-wrap { padding: 1.05rem 1.15rem 1.1rem; }
article.loop-entry .entry-taxonomies a {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lb-blue);
	text-decoration: none;
}
article.loop-entry h2.entry-title { font-size: 1.08rem; line-height: 1.35; }
article.loop-entry h2.entry-title a { color: var(--lb-ink-900); }
article.loop-entry h2.entry-title a:hover { color: var(--lb-blue); }
article.loop-entry .entry-meta { font-size: 0.8rem; color: var(--lb-ink-400); }
article.loop-entry .entry-summary { font-size: 0.92rem; color: var(--lb-ink-500); }

/* Pagination — crawlable links, generous targets */
.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	border: 1px solid var(--lb-line);
	border-radius: 8px;
	color: var(--lb-ink-600);
	font-weight: 600;
	text-decoration: none;
	background: var(--lb-bg);
}
.pagination .page-numbers.current {
	background: var(--lb-navy-900);
	border-color: var(--lb-navy-900);
	color: #fff;
}
.pagination a.page-numbers:hover { border-color: var(--lb-blue); color: var(--lb-blue); }

/* ============================================================
   10. FOOTER — dark mega footer (rendered by the child theme)
   ============================================================ */
.lb-footer {
	background: var(--lb-navy-950);
	color: var(--lb-dust-300);
	border-top: 1px solid var(--lb-navy-700);
	position: relative;
}
.lb-footer::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--lb-gradient);
}
.lb-footer__grid {
	max-width: 1290px;
	margin: 0 auto;
	padding: 3rem 1.25rem 2.2rem;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: 2.4rem;
}
@media (max-width: 1023px) {
	.lb-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 599px) {
	.lb-footer__grid { grid-template-columns: 1fr; gap: 1.8rem; }
}
.lb-footer .lb-brand { margin-bottom: 0.9rem; }
.lb-footer__about { font-size: 0.9rem; line-height: 1.65; color: var(--lb-dust-500); max-width: 40ch; }
.lb-footer h2 {
	font-family: var(--lb-font-body);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lb-dust-500);
	margin: 0 0 0.9rem;
}
.lb-footer ul { list-style: none; margin: 0; padding: 0; }
.lb-footer ul li { margin: 0; }
.lb-footer ul a {
	display: inline-block;
	color: var(--lb-dust-300);
	text-decoration: none;
	font-size: 0.92rem;
	padding: 0.32rem 0; /* ≥24px targets */
	transition: color 0.15s ease;
}
.lb-footer ul a:hover { color: #fff; }
.lb-footer__bottom {
	border-top: 1px solid var(--lb-navy-700);
}
.lb-footer__bottom-inner {
	max-width: 1290px;
	margin: 0 auto;
	padding: 1.1rem 1.25rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	font-size: 0.8rem;
	color: var(--lb-dust-500);
}
.lb-footer__bottom-inner a {
	color: var(--lb-dust-500);
	text-decoration: none;
	padding: 0.32rem 0;
}
.lb-footer__bottom-inner a:hover { color: var(--lb-dust-300); }
.lb-footer__disclaimer {
	max-width: 1290px;
	margin: 0 auto;
	padding: 0 1.25rem 1.4rem;
	font-size: 0.78rem;
	line-height: 1.6;
	color: #6B717C;
}

/* ============================================================
   11. ACCESSIBILITY & MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
	.lb-progress { display: none !important; }
}

/* ============================================================
   12. WP CORE / KADENCE POLISH
   ============================================================ */
.entry-content blockquote {
	border-left: 4px solid var(--lb-orange);
	background: var(--lb-surface);
	border-radius: 0 var(--lb-radius-sm) var(--lb-radius-sm) 0;
	padding: 0.9rem 1.2rem;
	color: var(--lb-ink-600);
}
.entry-content code {
	font-family: var(--lb-font-mono);
	background: var(--lb-surface-2);
	border: 1px solid var(--lb-line);
	border-radius: 4px;
	padding: 0.1em 0.35em;
	font-size: 0.88em;
}
.entry-content hr {
	border: 0;
	height: 1px;
	background: var(--lb-line);
	margin: 2.2rem 0;
}
button, .button, input[type='submit'] { min-height: 44px; }
input[type='search'], input[type='text'], input[type='email'] {
	border: 1px solid var(--lb-line);
	border-radius: 8px;
}

/* ============================================================
   13. PAGES — dark hero band + readable measure (v1.1)
   ============================================================ */
body.page:not(.home) .entry-hero.page-hero-section {
	background:
		radial-gradient(900px 320px at 15% -20%, rgba(37, 99, 235, 0.2), transparent 60%),
		radial-gradient(700px 280px at 90% 0%, rgba(247, 147, 26, 0.12), transparent 55%),
		var(--lb-navy-900);
	border-bottom: 1px solid var(--lb-navy-700);
	position: relative;
	overflow: hidden;
}
body.page:not(.home) .entry-hero.page-hero-section::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(230, 232, 236, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(230, 232, 236, 0.05) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: linear-gradient(180deg, rgba(0,0,0,0.9), transparent 88%);
	pointer-events: none;
}
body.page:not(.home) .entry-hero .entry-hero-container-inner { background: transparent; position: relative; }
body.page:not(.home) .entry-hero .hero-section-overlay { background: transparent !important; }
body.page:not(.home) .entry-hero .entry-header.page-title {
	min-height: 170px;
	max-width: 1140px;
	margin: 0 auto;
	padding: 2.6rem 1.25rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
body.page:not(.home) .entry-hero h1.entry-title {
	color: #FFFFFF;
	font-size: clamp(1.7rem, 3.4vw, 2.3rem);
	letter-spacing: -0.02em;
	text-align: left;
	margin: 0;
}
body.page:not(.home) .entry-hero h1.entry-title::before {
	content: 'LakeBTC';
	display: block;
	font-family: var(--lb-font-body);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lb-orange);
	margin-bottom: 0.55rem;
}
body.page:not(.home) .content-area { margin-top: 2.6rem; }
body.page:not(.home) article.entry { box-shadow: none; }
body.page:not(.home) .entry-content > * {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}

/* ============================================================
   14. LONG-FORM EDITORIAL COMPONENTS (v1.1)
   Auto-styled from existing markup — no text changes.
   ============================================================ */
/* Pros & cons: lists directly after an <h3>Pros</h3> / <h3>Cons</h3>
   get classed server-side and render as check/cross cards */
ul.lb-pros, ul.lb-cons {
	list-style: none;
	padding: 0;
	margin: 1rem 0 1.5rem;
	display: grid;
	gap: 0.55rem;
}
ul.lb-pros li, ul.lb-cons li {
	position: relative;
	padding: 0.72rem 1rem 0.72rem 2.7rem;
	background: var(--lb-surface);
	border: 1px solid var(--lb-line);
	border-radius: 8px;
	font-size: 0.97em;
}
ul.lb-pros li::before, ul.lb-cons li::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 0.98rem;
	width: 17px;
	height: 17px;
	background-color: var(--lb-up);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.2 14.4-4-4 1.7-1.7 2.3 2.3 4.9-5 1.7 1.7-6.6 6.7z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.2 14.4-4-4 1.7-1.7 2.3 2.3 4.9-5 1.7 1.7-6.6 6.7z'/%3E%3C/svg%3E") center / contain no-repeat;
}
ul.lb-cons li::before {
	background-color: var(--lb-down);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zM16 13H8v-2h8v2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zM16 13H8v-2h8v2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
ul.lb-pros li strong, ul.lb-cons li strong { color: var(--lb-ink-900); }

/* FAQ sections: every H3 after the FAQ H2 becomes a question card */
.entry-content h2[id^='frequently-asked'] ~ h3,
.entry-content h2#faq ~ h3 {
	background: var(--lb-surface);
	border: 1px solid var(--lb-line);
	border-radius: 8px;
	padding: 0.82rem 1.1rem 0.82rem 2.8rem;
	font-size: 1.02rem;
	margin: 1.15rem 0 0.6rem;
	position: relative;
}
.entry-content h2[id^='frequently-asked'] ~ h3::before,
.entry-content h2#faq ~ h3::before {
	content: 'Q';
	position: absolute;
	left: 1.05rem;
	top: 0.86rem;
	font-family: var(--lb-font-mono);
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--lb-orange);
}
.entry-content h2[id^='frequently-asked'] ~ h3 + p,
.entry-content h2#faq ~ h3 + p {
	padding: 0 1.1rem 0 2.8rem;
	color: var(--lb-ink-500);
	margin-bottom: 1rem;
}

/* Pipeline "At a Glance" boxes carry inline light-grey styles —
   repaint them into the design system (scoped !important overrides) */
.entry-content div[style*='#f9f9f9'],
.entry-content div[style*='#f7f9fc'] {
	background: var(--lb-surface) !important;
	border: 1px solid var(--lb-line) !important;
	border-left: 4px solid var(--lb-orange) !important;
	border-radius: var(--lb-radius) !important;
	padding: 1.15rem 1.4rem !important;
}
.entry-content div[style*='#f9f9f9'] > strong,
.entry-content div[style*='#f7f9fc'] > strong {
	font-family: var(--lb-font-display);
	font-size: 1.05rem;
	color: var(--lb-ink-900);
}
/* Harmonize inline zebra rows + dark table headers */
.entry-content tr[style*='#f0f0f0'],
.entry-content tr[style*='#f5f5f5'] { background: var(--lb-surface-2) !important; }
.entry-content tr[style*='#1a1a2e'] { background: var(--lb-navy-900) !important; }
.entry-content tr[style*='#1a1a2e'] th { color: var(--lb-dust-100); }

/* Data tables (with header row) get a framed, rounded presentation */
.lb-table-scroll:has(> table > thead) {
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius-sm);
}

/* Soften all content imagery */
.entry-content img { border-radius: 8px; }

/* ============================================================
   15. AUTHORITY COMPONENTS (v1.2)
   ============================================================ */
/* Review scorecard */
.lb-scorecard {
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius);
	background: linear-gradient(135deg, var(--lb-surface), #FFFFFF 65%);
	padding: 1.15rem 1.35rem;
	margin: 0 0 1.7rem;
	max-width: 74ch;
}
.lb-scorecard__main {
	display: flex;
	align-items: center;
	gap: 1.15rem;
}
.lb-scorecard__num {
	font-family: var(--lb-font-display);
	font-size: 2.7rem;
	font-weight: 700;
	line-height: 1;
	color: var(--lb-navy-900);
	flex: none;
}
.lb-scorecard__num small {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--lb-ink-400);
	margin-left: 0.1em;
}
.lb-scorecard__body {
	flex: 1;
	display: grid;
	gap: 0.4rem;
	min-width: 0;
}
.lb-scorecard__title {
	font-family: var(--lb-font-display);
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--lb-ink-900);
	letter-spacing: 0.01em;
}
.lb-scorecard__bar {
	display: block;
	height: 8px;
	border-radius: 999px;
	background: var(--lb-line-soft);
	overflow: hidden;
}
.lb-scorecard__bar > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--lb-gradient);
}
.lb-scorecard__note { font-size: 0.8rem; color: var(--lb-ink-400); }
.lb-scorecard__note a { color: var(--lb-blue); font-weight: 600; }
.lb-scorecard__dims {
	list-style: none;
	margin: 1.05rem 0 0;
	padding: 0.9rem 0 0;
	border-top: 1px solid var(--lb-line-soft);
	display: grid;
	gap: 0.45rem;
}
.lb-scorecard__dims li {
	display: grid;
	grid-template-columns: minmax(140px, 175px) 1fr 34px;
	align-items: center;
	gap: 0.75rem;
}
.lb-scorecard__dim-label { font-size: 0.82rem; font-weight: 600; color: var(--lb-ink-600); }
.lb-scorecard__dim-label em { font-style: normal; color: var(--lb-ink-400); font-weight: 400; }
.lb-scorecard__bar--sm { height: 6px; }
.lb-scorecard__dim-val {
	font-family: var(--lb-font-mono);
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--lb-ink-700);
	text-align: right;
}

/* Coin market snapshot */
.lb-snapshot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem 1.6rem;
	background: var(--lb-navy-900);
	border: 1px solid var(--lb-navy-700);
	border-radius: var(--lb-radius);
	padding: 0.85rem 1.2rem;
	margin: 0 0 1.6rem;
	font-family: var(--lb-font-mono);
	font-size: 0.85rem;
	max-width: 74ch;
}
.lb-snapshot__coin {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.8rem;
}
.lb-snapshot__name {
	font-weight: 700;
	color: var(--lb-orange);
}
.lb-snapshot__name em {
	font-style: normal;
	font-family: var(--lb-font-body);
	font-weight: 400;
	color: var(--lb-dust-500);
	margin-left: 0.35rem;
	font-size: 0.78rem;
}
.lb-snapshot__price { color: #FFFFFF; font-weight: 700; }
.lb-snapshot__stat { color: var(--lb-dust-300); }
.lb-snapshot__stat.is-up { color: var(--lb-up-dark); }
.lb-snapshot__stat.is-down { color: var(--lb-down-dark); }
.lb-snapshot__src {
	margin-left: auto;
	font-family: var(--lb-font-body);
	font-size: 0.72rem;
	color: var(--lb-dust-500);
}

/* Update history */
.lb-changelog {
	max-width: 820px;
	margin: 1.7rem auto 0;
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius-sm);
	background: var(--lb-surface);
}
.lb-changelog summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.85rem 1.15rem;
	font-family: var(--lb-font-display);
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--lb-ink-900);
	min-height: 44px;
}
.lb-changelog summary::-webkit-details-marker { display: none; }
.lb-changelog summary::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 2px;
	background: var(--lb-gradient);
}
.lb-changelog__count {
	background: var(--lb-blue-soft);
	color: var(--lb-blue);
	border-radius: 999px;
	font-family: var(--lb-font-mono);
	font-size: 0.75rem;
	padding: 0.1rem 0.55rem;
}
.lb-changelog ol {
	list-style: none;
	margin: 0;
	padding: 0.1rem 1.15rem 1rem;
}
.lb-changelog li {
	display: grid;
	grid-template-columns: 105px 1fr;
	gap: 0.9rem;
	padding: 0.4rem 0;
	font-size: 0.9rem;
	border-top: 1px solid var(--lb-line-soft);
}
.lb-changelog time {
	font-family: var(--lb-font-mono);
	font-size: 0.8rem;
	color: var(--lb-ink-400);
	white-space: nowrap;
}

/* Fee calculator */
.lb-feecalc {
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius);
	background: #FFFFFF;
	margin: 1.8rem 0;
	overflow: hidden;
}
.lb-feecalc__head {
	background: var(--lb-navy-900);
	color: var(--lb-dust-300);
	padding: 0.95rem 1.25rem;
	display: grid;
	gap: 0.15rem;
}
.lb-feecalc__head strong {
	color: #FFFFFF;
	font-family: var(--lb-font-display);
	font-size: 1.05rem;
}
.lb-feecalc__head span { font-size: 0.85rem; }
.lb-feecalc__controls {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	align-items: end;
	padding: 1.1rem 1.25rem 0.4rem;
}
.lb-feecalc__controls label {
	display: grid;
	gap: 0.3rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--lb-ink-600);
}
.lb-feecalc__controls input[type='number'] {
	width: 160px;
	min-height: 44px;
	padding: 0.4rem 0.7rem;
	font-family: var(--lb-font-mono);
	font-size: 1rem;
}
.lb-feecalc__controls fieldset {
	border: 0;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 1.1rem;
	min-height: 44px;
	align-items: center;
}
.lb-feecalc__controls fieldset label {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 600;
	font-size: 0.88rem;
	cursor: pointer;
}
.lb-feecalc table { width: 100%; border-collapse: collapse; margin: 0.6rem 0 0; }
.lb-feecalc th {
	text-align: left;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--lb-ink-400);
	padding: 0.55rem 1.25rem;
	border-bottom: 1px solid var(--lb-line);
}
.lb-feecalc td {
	padding: 0.65rem 1.25rem;
	border-bottom: 1px solid var(--lb-line-soft);
	font-size: 0.95rem;
}
.lb-feecalc td small {
	display: block;
	color: var(--lb-ink-400);
	font-size: 0.78rem;
}
.lb-feecalc td[data-lb-rate], .lb-feecalc td[data-lb-cost] { font-family: var(--lb-font-mono); }
.lb-feecalc tr.is-best td { background: #F1FAF4; }
.lb-feecalc tr.is-best td:first-child::after {
	content: 'lowest fee';
	display: inline-block;
	margin-left: 0.5rem;
	background: var(--lb-check-bg);
	color: var(--lb-check-ink);
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border-radius: 999px;
	padding: 0.15rem 0.5rem;
	vertical-align: middle;
}
.lb-feecalc__note {
	padding: 0.85rem 1.25rem 1.1rem;
	margin: 0;
	font-size: 0.8rem;
	color: var(--lb-ink-400);
}
