.blog-page,.blog-post-page{max-width:1080px;margin:0 auto;color:color-mix(in srgb, var(--cms-color-surface-inverse) 22%, var(--cms-color-text-inverse))}.blog-hero,.blog-post-header{background:linear-gradient(135deg,color-mix(in srgb, var(--cms-color-surface-inverse-soft) 96%, transparent),color-mix(in srgb, var(--cms-color-surface-inverse) 98%, transparent));border:1px solid color-mix(in srgb, var(--cms-color-surface-inverse) 72%, var(--cms-color-text-inverse));border-radius:22px;padding:34px 36px;margin-bottom:22px;box-shadow:0 22px 70px color-mix(in srgb, var(--cms-color-surface-inverse) 22%, transparent)}.blog-hero h1,.blog-post-header h1{color:var(--cms-color-highlight);font-size:clamp(28px,3.4vw,40px);line-height:1.12;letter-spacing:-.025em;margin:0 0 16px;max-width:840px}.blog-hero p,.blog-post-header p{color:color-mix(in srgb, var(--cms-color-surface-inverse) 22%, var(--cms-color-text-inverse));font-size:18px;line-height:1.72;margin:0;max-width:880px}.blog-kicker{display:inline-flex;width:max-content;color:var(--cms-color-highlight);background:color-mix(in srgb, var(--cms-color-highlight) 8%, transparent);border:1px solid color-mix(in srgb, var(--cms-color-highlight) 25%, transparent);border-radius:999px;padding:7px 12px;margin-bottom:16px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.blog-category-filter{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--cms-color-surface-inverse-soft);border:1px solid color-mix(in srgb, var(--cms-color-surface-inverse) 72%, var(--cms-color-text-inverse));border-radius:18px;padding:18px 20px;margin-bottom:24px}.blog-category-filter-text{display:grid;gap:4px}.blog-category-filter-text strong{color:var(--cms-color-highlight);font-size:15px}.blog-category-filter-text span{color:var(--cms-color-text-muted);font-size:13px}.blog-category-select-wrap{position:relative;min-width:280px}.blog-category-select-wrap select{appearance:none;width:100%;background:var(--cms-color-surface-inverse);border:1px solid var(--cms-color-text-muted);border-radius:999px;color:var(--cms-color-text-inverse);font:inherit;font-weight:700;padding:12px 46px 12px 16px}.blog-category-select-wrap:after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2px solid var(--cms-color-highlight);border-bottom:2px solid var(--cms-color-highlight);transform:translateY(-68%) rotate(45deg);pointer-events:none}.blog-post-list{display:grid;gap:18px}.blog-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;background:var(--cms-color-surface-inverse-soft);border:1px solid color-mix(in srgb, var(--cms-color-surface-inverse) 72%, var(--cms-color-text-inverse));border-radius:18px;padding:18px;transition:border-color .2s,transform .2s}.blog-card:hover{border-color:color-mix(in srgb, var(--cms-color-highlight) 45%, transparent);transform:translateY(-1px)}.blog-card-image{display:block;overflow:hidden;border-radius:14px;border:1px solid color-mix(in srgb, var(--cms-color-surface-inverse) 72%, var(--cms-color-text-inverse));background:linear-gradient(135deg,var(--cms-color-surface-inverse),var(--cms-color-surface-inverse-soft));min-height:142px}.blog-card-image img{display:block;width:100%;height:100%;object-fit:cover}.blog-card-body{min-width:0}.blog-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--cms-color-text-muted);font-size:13px;margin-bottom:10px}.blog-meta a{color:var(--cms-color-highlight);font-weight:800;text-decoration:none}.blog-meta a:hover{text-decoration:underline}.blog-card h2{font-size:23px;line-height:1.25;margin:0 0 10px}.blog-card h2 a{color:var(--cms-color-text-inverse);text-decoration:none}.blog-card h2 a:hover{color:var(--cms-color-highlight)}.blog-card p{line-height:1.72;margin:0 0 14px}.blog-read-more{color:var(--cms-color-highlight);font-weight:800;text-decoration:none}.blog-read-more:hover{text-decoration:underline}.blog-empty{background:var(--cms-color-surface-inverse-soft);border:1px solid color-mix(in srgb, var(--cms-color-surface-inverse) 72%, var(--cms-color-text-inverse));border-radius:18px;padding:24px}.blog-pagination{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.blog-pagination a,.blog-pagination span{border:1px solid color-mix(in srgb, var(--cms-color-surface-inverse) 72%, var(--cms-color-text-inverse));border-radius:999px;padding:9px 14px;color:var(--cms-color-text-inverse);text-decoration:none}.blog-pagination a:hover,.blog-pagination .active{background:var(--cms-color-highlight);border-color:var(--cms-color-highlight);color:var(--cms-color-on-highlight)}.blog-post-page{max-width:940px}.blog-post-header{display:block!important;padding:42px 46px}.blog-post-header h1{font-size:clamp(24px,2.6vw,32px)}.blog-post-header .blog-meta{margin:0 0 18px}.blog-post-header .blog-meta span{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb, var(--cms-color-text-muted) 25%, transparent);border-radius:999px;padding:7px 11px;background:color-mix(in srgb, var(--cms-color-surface-inverse) 42%, transparent)}.blog-post-header .blog-meta a{color:var(--cms-color-highlight);text-decoration:none}.blog-featured-image{float:right;width:42%;max-width:360px;border:1px solid color-mix(in srgb, var(--cms-color-surface-inverse) 72%, var(--cms-color-text-inverse));border-radius:16px;overflow:hidden;background:var(--cms-color-surface-inverse);margin:0 0 22px 28px}.blog-featured-image a{display:block}.blog-featured-image img{display:block;width:100%;height:auto}.blog-article{display:flow-root;background:var(--cms-color-surface-inverse-soft);border:1px solid color-mix(in srgb, var(--cms-color-surface-inverse) 72%, var(--cms-color-text-inverse));border-radius:20px;padding:38px 42px;line-height:1.86;font-size:17px;box-shadow:0 18px 60px color-mix(in srgb, var(--cms-color-surface-inverse) 18%, transparent)}.blog-article h2,.blog-article h3,.blog-article h4{color:var(--cms-color-highlight);margin:28px 0 12px;line-height:1.25}.blog-article p{margin:0 0 20px}.blog-article a{color:var(--cms-color-highlight);font-weight:700;text-decoration:none}.blog-article a:hover{text-decoration:underline}.blog-article ul,.blog-article ol{margin:0 0 20px 24px}.blog-article blockquote{border-left:4px solid var(--cms-color-highlight);background:color-mix(in srgb, var(--cms-color-surface-inverse) 42%, transparent);margin:22px 0;padding:16px 18px;border-radius:0 12px 12px 0}.blog-article pre{background:var(--cms-color-surface-inverse);border:1px solid color-mix(in srgb, var(--cms-color-surface-inverse) 72%, var(--cms-color-text-inverse));border-radius:14px;overflow:auto;padding:16px}.blog-article code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.blog-downloads,.blog-related,.blog-adjacent{background:var(--cms-color-surface-inverse-soft);border:1px solid color-mix(in srgb, var(--cms-color-surface-inverse) 72%, var(--cms-color-text-inverse));border-radius:18px;margin-top:22px;padding:22px}.blog-downloads h2,.blog-related h2{color:var(--cms-color-highlight);font-size:20px;margin:0 0 14px}.blog-downloads ul,.blog-related ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.blog-downloads a,.blog-related a,.blog-adjacent a{color:var(--cms-color-highlight);font-weight:800;text-decoration:none}.blog-downloads a:hover,.blog-related a:hover,.blog-adjacent a:hover{text-decoration:underline}.blog-file-meta{color:var(--cms-color-text-muted);font-size:13px}.blog-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:14px}.blog-adjacent div:last-child{text-align:right}.blog-json-ld{display:none}@media(max-width:760px){.blog-category-filter{align-items:stretch;flex-direction:column}.blog-category-select-wrap{min-width:0;width:100%}.blog-card{grid-template-columns:180px minmax(0,1fr)}.blog-post-header{padding:32px 28px}.blog-featured-image{width:44%;max-width:300px;margin:0 0 18px 22px}.blog-article{padding:30px 28px}}@media(max-width:640px){.blog-hero,.blog-post-header{padding:24px}.blog-hero h1{font-size:31px}.blog-post-header h1{font-size:25px}.blog-card{grid-template-columns:1fr}.blog-card-image{min-height:190px}.blog-featured-image{float:none;width:100%;max-width:none;margin:0 0 22px}.blog-article{padding:22px}.blog-adjacent{grid-template-columns:1fr}.blog-adjacent div:last-child{text-align:left}}

/* Keep long technical content inside the blog article on narrow screens. */
.blog-page,
.blog-post-page,
.blog-post-page article,
.blog-article {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
}

.blog-post-page article,
.blog-article > * {
	min-width: 0;
}

.blog-article blockquote {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}

.blog-article blockquote > * {
	max-width: 100%;
}

.blog-article pre {
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
	display: block;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: pre;
	width: 100%;
}

.blog-article pre code {
	display: block;
	max-width: none;
	min-width: max-content;
	overflow-wrap: normal;
	white-space: inherit;
	word-break: normal;
}

.blog-article :not(pre) > code,
.blog-article a {
	overflow-wrap: anywhere;
	word-break: break-word;
}

@media(max-width: 640px) {
	.blog-post-page,
	.blog-post-page article,
	.blog-article,
	.blog-article blockquote,
	.blog-article pre {
		max-width: 100%;
		min-width: 0;
	}
}


.blog-post-labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}

.blog-post-labels .blog-kicker {
	margin-bottom: 0;
	text-decoration: none;
}

.blog-post-labels .blog-kicker:hover {
	border-color: color-mix(in srgb, var(--cms-color-highlight) 55%, transparent);
	background: color-mix(in srgb, var(--cms-color-highlight) 14%, transparent);
	text-decoration: none;
}

.blog-post-labels .blog-kicker-category {
	color: var(--cms-color-text-inverse);
	background: color-mix(in srgb, var(--cms-color-text-muted) 8%, transparent);
	border-color: color-mix(in srgb, var(--cms-color-text-muted) 25%, transparent);
}

.blog-post-labels .blog-kicker-category:hover {
	color: var(--cms-color-highlight);
}

.blog-post-header .blog-post-byline {
	color: var(--cms-color-text-inverse-muted);
	font-size: 14px;
	line-height: 1.5;
	margin: -6px 0 18px;
}

.blog-post-labels .blog-kicker-page {
	color: var(--cms-color-text-inverse-muted);
	background: color-mix(in srgb, var(--cms-color-surface-inverse) 42%, transparent);
	border-color: color-mix(in srgb, var(--cms-color-text-muted) 18%, transparent);
}

/* Featured media supports the article without dominating its text. */
.blog-featured-image {
	width: min(30%, 250px);
	max-width: 250px;
}

.blog-card-no-image {
	grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 640px) {
	.blog-featured-image {
		width: min(100%, 280px);
		max-width: 280px;
		margin-right: auto;
		margin-left: auto;
	}
}

/* Module-owned rules extracted from the preserved starter design. */
.blog-page,
.blog-post-page { width: min(calc(100% - 40px), 1080px); max-width: 1080px; margin: 34px auto 80px; color: var(--cms-color-text); }
.blog-hero,
.blog-post-header { margin-bottom: 24px; padding: clamp(28px, 5vw, 48px); border: 0; border-radius: 2px; background: var(--cms-color-surface-inverse); box-shadow: 0 18px 60px rgba(23,32,42,.14); }
.blog-hero h1,
.blog-post-header h1 { margin: 14px 0 12px; color: var(--cms-color-text-inverse); font-family: var(--cms-font-heading); font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.08; }
.blog-hero p,
.blog-post-header p { color: var(--cms-color-text-inverse-muted); }
.blog-hero :focus-visible,
.blog-post-header :focus-visible { outline-color: var(--cms-color-focus-inverse); }
.blog-hero .phpog-page-actions { display: none; }
.blog-kicker { border-color: rgba(227,161,59,.45); background: rgba(227,161,59,.1); color: var(--cms-color-highlight); }
.blog-category-filter,
.blog-card,
.blog-article,
.blog-downloads,
.blog-related,
.blog-adjacent,
.blog-empty { border: 1px solid var(--cms-color-border); border-radius: 2px; background: var(--cms-color-surface); color: var(--cms-color-text); box-shadow: none; }
.blog-category-filter-text strong,
.blog-card h2 a,
.blog-article h2,
.blog-article h3,
.blog-article h4 { color: var(--cms-color-text); }
.blog-category-filter-text span,
.blog-meta { color: var(--cms-color-text-muted); }
.blog-post-header .blog-meta { color: var(--cms-color-text-inverse-muted); }
.blog-category-select-wrap select { border-color: var(--cms-color-border); border-radius: 2px; background: var(--cms-color-surface); color: var(--cms-color-text); }
.blog-category-select-wrap::after { border-color: var(--cms-color-accent); }
.blog-card-image { border: 0; border-radius: 2px; background: #e4e1da; }
.blog-meta a,
.blog-read-more,
.blog-article a,
.blog-related a,
.blog-adjacent a { color: var(--cms-color-accent-strong); }
.blog-featured-image { width: min(30%, 250px); max-width: 250px; border: 0; border-radius: 2px; background: #e4e1da; }
.blog-article { display: flow-root; font-size: 1.03rem; line-height: 1.85; }
.blog-article blockquote { border-left-color: var(--cms-color-highlight); background: #f2efe8; }
@media (max-width: 680px) {
.blog-page,
.blog-post-page { width: calc(100% - 28px); margin-top: 20px; }
.blog-card { grid-template-columns: 1fr; }
.blog-featured-image { width: min(100%, 280px); max-width: 280px; margin: 0 auto 22px; float: none; }

}
.blog-article figure { max-width: 100%; margin: 1rem 0; }
.blog-article figure img { display: block; width: 100%; height: auto; }
.blog-article .rt-gallery-item img { height: 100%; object-fit: contain; object-position: center; }
.blog-article figcaption { margin-top: 0.35rem; color: var(--cms-color-text-muted); font-size: 0.82rem; }
