/* =============================================================
   Invariant Engineering — front-end + editor stylesheet.

   theme.json carries the design tokens (colors, type, spacing,
   element styles). This file only carries what theme.json cannot
   express: media queries, :hover/:focus, ::before/::after,
   sticky chrome, and a handful of component layouts that core
   blocks do not produce on their own.

   Every value is a theme.json preset variable — no hex literals,
   no font-family literals.
   ============================================================= */

/* ---- Accessibility: visually-hidden helper -------------------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	position: absolute !important;
	word-wrap: normal !important;
}

/* ---- Accessibility: skip link --------------------------------- */
.skip-link.screen-reader-text {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
}
.skip-link.screen-reader-text:focus {
	left: var(--wp--preset--spacing--4);
	top: var(--wp--preset--spacing--4);
	width: auto;
	height: auto;
	padding: 10px 16px;
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--md);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	box-shadow: var(--wp--custom--shadow--lg);
}

/* ---- Accessibility: visible focus ----------------------------- */
:where(.wp-site-blocks a:focus-visible),
:where(.wp-site-blocks button:focus-visible),
:where(.wp-site-blocks input:focus-visible),
:where(.wp-site-blocks textarea:focus-visible),
:where(.wp-site-blocks select:focus-visible),
:where(.wp-site-blocks summary:focus-visible) {
	outline: 2px solid var(--wp--preset--color--navy-500);
	outline-offset: 2px;
	border-radius: var(--wp--custom--radius--xs);
}

/* ---- Link underline polish ------------------------------------ */
a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

/* ============================================================
   SITE HEADER — parts/header.html
   ============================================================ */
.b-header {
	position: sticky;
	top: 0;
	z-index: 30;
	background: rgba(255, 255, 255, 0.85);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}
.b-brand-divider {
	display: inline-block;
	width: 1px;
	height: 14px;
	background: var(--wp--preset--color--slate-300);
}
.b-brand-label {
	color: var(--wp--preset--color--slate-600);
	font-weight: 500;
}
.b-nav .wp-block-navigation-item__content {
	padding: 8px 12px;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--slate-600);
	transition: color var(--wp--custom--motion--duration-fast) var(--wp--custom--motion--ease-standard),
		background var(--wp--custom--motion--duration-fast) var(--wp--custom--motion--ease-standard);
}
.b-nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--navy-900);
	background: var(--wp--preset--color--slate-100);
}
.b-nav .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
	color: var(--wp--preset--color--navy-900);
}
/* Search styled as a compact "trigger" pill */
.b-search .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--slate-200);
	background: var(--wp--preset--color--slate-050);
	border-radius: var(--wp--custom--radius--md);
	padding: 3px 3px 3px 12px;
}
.b-search .wp-block-search__input {
	background: transparent;
	border: 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--slate-900);
	min-width: 180px;
}
.b-search .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--slate-500);
}

/* ============================================================
   PAGE / ARCHIVE / SEARCH HEADERS
   ============================================================ */
.b-page-head {
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}
.b-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: var(--wp--preset--font-size--2xs);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--slate-600);
}
.b-eyebrow::before {
	content: "";
	width: 24px;
	height: 1px;
	background: currentColor;
	opacity: 0.5;
}
.b-lead {
	font-size: var(--wp--preset--font-size--md);
	line-height: var(--wp--custom--leading--relaxed);
	color: var(--wp--preset--color--slate-600);
	max-width: 640px;
}
.b-page-head h1,
.b-page-head .wp-block-query-title {
	text-wrap: balance;
	max-width: 880px;
}

/* Page-head meta dl */
.b-pagehead-meta {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--slate-500);
	font-variant-numeric: tabular-nums;
}
.b-pagehead-meta .b-meta-label {
	font-size: var(--wp--preset--font-size--2xs);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--slate-500);
}
.b-pagehead-meta .b-meta-value {
	color: var(--wp--preset--color--navy-900);
	font-weight: 500;
}

/* Topic filter chips (rendered from a core/categories list) */
.b-filters .wp-block-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.b-filters .wp-block-categories li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 32px;
	padding: 0 12px;
	margin: 0;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: var(--wp--custom--radius--pill);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 500;
	color: var(--wp--preset--color--slate-600);
	font-variant-numeric: tabular-nums;
	transition: border-color var(--wp--custom--motion--duration-fast) var(--wp--custom--motion--ease-standard),
		color var(--wp--custom--motion--duration-fast) var(--wp--custom--motion--ease-standard);
}
.b-filters .wp-block-categories li:hover {
	border-color: var(--wp--preset--color--slate-300);
	color: var(--wp--preset--color--navy-900);
}
.b-filters .wp-block-categories a {
	text-decoration: none;
	color: inherit;
}

/* ============================================================
   POST-CARD GRID  (core/query + core/post-template grid layout)
   ============================================================ */
.b-card {
	gap: 16px;
}
/* Image / placeholder frame */
.b-card-image {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--lg);
	border: 1px solid var(--wp--preset--color--slate-200);
	background: linear-gradient(135deg, var(--wp--preset--color--navy-900) 0%, var(--wp--preset--color--navy-700) 100%);
}
.b-card-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("../images/ieg-mark-white.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 36% auto;
	opacity: 0.06;
	pointer-events: none;
}
.b-card-image .wp-block-post-featured-image,
.b-card-image figure {
	position: absolute;
	inset: 0;
	margin: 0;
	height: 100%;
}
.b-card-image .wp-block-post-featured-image a {
	display: block;
	height: 100%;
}
.b-card-image .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}
/* When an image is present, hide the watermark */
.b-card-image:has(img)::after {
	display: none;
}
.b-card-cat,
.b-search-result .b-card-cat {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--2xs);
	letter-spacing: var(--wp--custom--tracking--wide);
	text-transform: uppercase;
	color: var(--wp--preset--color--navy-700);
	font-weight: 600;
}
.b-card-cat a {
	text-decoration: none;
}
.b-card-title {
	letter-spacing: var(--wp--custom--tracking--snug);
	text-wrap: balance;
}
.b-card-title a {
	text-decoration: none;
	transition: color var(--wp--custom--motion--duration-fast) var(--wp--custom--motion--ease-standard);
}
.b-card-title a:hover {
	color: var(--wp--preset--color--navy-700);
}
/* Cap card titles at ~3 lines so long titles don't blow out height */
.b-card-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}
.b-card-excerpt {
	font-size: var(--wp--preset--font-size--sm);
	line-height: var(--wp--custom--leading--relaxed);
	color: var(--wp--preset--color--slate-600);
	text-wrap: pretty;
}
.b-card-excerpt p {
	margin: 0;
}
.b-card-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--slate-500);
	font-variant-numeric: tabular-nums;
}
.b-card-meta > * {
	margin: 0;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--slate-500);
}
/* Dot separator between meta items */
.b-card-meta > * + *::before {
	content: "";
	display: inline-block;
	width: 2px;
	height: 2px;
	margin-right: 10px;
	border-radius: var(--wp--custom--radius--pill);
	background: currentColor;
	opacity: 0.6;
	vertical-align: middle;
}
/* No "read more" link inside card excerpts */
.b-card-excerpt .wp-block-post-excerpt__more-link {
	display: none;
}

/* Featured / lead card */
.b-card-feature {
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}
.b-card-feature .b-card-image {
	aspect-ratio: 5 / 3;
	border-radius: var(--wp--custom--radius--xl);
}
.b-card-feature .b-card-title {
	font-size: var(--wp--preset--font-size--3xl);
	letter-spacing: var(--wp--custom--tracking--tight);
	-webkit-line-clamp: 4;
	line-clamp: 4;
}
.b-card-feature .b-card-excerpt {
	font-size: var(--wp--preset--font-size--md);
}

/* ============================================================
   PAGINATION  (core/query-pagination)
   ============================================================ */
.b-pagination {
	border-top: 1px solid var(--wp--preset--color--slate-200);
	font-size: var(--wp--preset--font-size--sm);
}
.b-pagination .wp-block-query-pagination-numbers {
	display: flex;
	gap: 4px;
	font-family: var(--wp--preset--font-family--mono);
	font-variant-numeric: tabular-nums;
}
.b-pagination .page-numbers {
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--slate-600);
	border-radius: var(--wp--custom--radius--sm);
	text-decoration: none;
}
.b-pagination .page-numbers:hover {
	background: var(--wp--preset--color--slate-100);
	color: var(--wp--preset--color--navy-900);
}
.b-pagination .page-numbers.current {
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
}
.b-pagination .wp-block-query-pagination-previous,
.b-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 36px;
	padding: 0 14px;
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: var(--wp--custom--radius--md);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	color: var(--wp--preset--color--navy-900);
	text-decoration: none;
}
.b-pagination .wp-block-query-pagination-previous:hover,
.b-pagination .wp-block-query-pagination-next:hover {
	border-color: var(--wp--preset--color--slate-300);
	background: var(--wp--preset--color--slate-050);
}

/* ============================================================
   SINGLE POST — templates/single.html
   ============================================================ */
.b-dek {
	font-size: var(--wp--preset--font-size--lg);
	line-height: var(--wp--custom--leading--relaxed);
	color: var(--wp--preset--color--slate-600);
	text-wrap: pretty;
}
.b-article-meta {
	border-top: 1px solid var(--wp--preset--color--slate-200);
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--slate-600);
	font-variant-numeric: tabular-nums;
}
.b-article-meta .b-meta-author {
	color: var(--wp--preset--color--navy-900);
	font-weight: 500;
}
.b-article-meta .wp-block-post-author {
	margin: 0;
}
.b-article-meta .wp-block-post-author__name {
	color: var(--wp--preset--color--navy-900);
	font-weight: 500;
}
/* Dot separators between meta items */
.b-article-meta > * + *::before {
	content: "";
	display: inline-block;
	width: 2px;
	height: 2px;
	margin-right: 24px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--slate-400);
	vertical-align: middle;
}
@media (max-width: 781px) {
	.b-article-meta > * + *::before {
		display: none;
	}
}

/* Refine-search bar (search header) */
.b-search-bar {
	max-width: 620px;
}
.b-search-bar .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--slate-300);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--custom--shadow--sm);
	padding: 4px 4px 4px 14px;
}
.b-search-bar .wp-block-search__input {
	border: 0;
	background: transparent;
	font-size: var(--wp--preset--font-size--md);
	color: var(--wp--preset--color--navy-900);
}
.b-search-bar .wp-block-search__button {
	margin: 0;
	background: var(--wp--preset--color--navy-700);
	color: var(--wp--preset--color--white);
	border: 0;
	border-radius: var(--wp--custom--radius--sm);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	padding: 8px 16px;
}
.b-search-bar .wp-block-search__button:hover {
	background: var(--wp--preset--color--navy-800);
}
.b-article-meta img,
.b-article-meta .wp-block-avatar img {
	border-radius: var(--wp--custom--radius--pill);
}
.b-article-hero {
	position: relative;
	overflow: hidden;
	aspect-ratio: 21 / 9;
	border-radius: var(--wp--custom--radius--xl);
	border: 1px solid var(--wp--preset--color--slate-200);
	background: var(--wp--preset--gradient--navy-hero);
}
.b-article-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("../images/ieg-mark-white.png");
	background-repeat: no-repeat;
	background-position: 92% center;
	background-size: 20% auto;
	opacity: 0.07;
	pointer-events: none;
}
.b-article-hero .wp-block-post-featured-image,
.b-article-hero figure {
	position: absolute;
	inset: 0;
	margin: 0;
	height: 100%;
}
.b-article-hero .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}
.b-article-hero:has(img)::after {
	display: none;
}

/* ---- Article body / prose ------------------------------------ */
.wp-block-post-content {
	font-size: var(--wp--preset--font-size--md);
	line-height: var(--wp--custom--leading--prose);
}
.wp-block-post-content :where(ul, ol) li::marker {
	color: var(--wp--preset--color--navy-500);
}
.wp-block-post-content :where(ol) li::marker {
	font-family: var(--wp--preset--font-family--mono);
}
.wp-block-post-content :where(p, li) a {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--navy-200);
	text-underline-offset: 3px;
	transition: text-decoration-color var(--wp--custom--motion--duration-fast) var(--wp--custom--motion--ease-standard);
}
.wp-block-post-content :where(p, li) a:hover {
	text-decoration-color: var(--wp--preset--color--navy-700);
}
.wp-block-post-content :where(strong) {
	color: var(--wp--preset--color--navy-900);
}
/* Inline code */
.wp-block-post-content :not(pre) > code {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.88em;
	background: var(--wp--preset--color--slate-100);
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: var(--wp--custom--radius--xs);
	padding: 1px 6px;
	color: var(--wp--preset--color--navy-900);
}
/* Centered short rule for separators */
.wp-block-post-content .wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	width: 64px;
	border-top-width: 1px;
	margin-block: 2.5em;
}
/* Quote citation */
.wp-block-post-content .wp-block-quote cite {
	display: block;
	margin-top: 12px;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0;
	color: var(--wp--preset--color--slate-600);
}
.wp-block-post-content .wp-block-quote cite::before {
	content: "— ";
	color: var(--wp--preset--color--slate-500);
}
/* Tables */
.wp-block-post-content .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-variant-numeric: tabular-nums;
}
.wp-block-post-content .wp-block-table :where(th, td) {
	padding: 12px 16px;
	text-align: left;
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}
.wp-block-post-content .wp-block-table th {
	font-size: var(--wp--preset--font-size--2xs);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--slate-600);
	background: var(--wp--preset--color--slate-050);
	border-bottom-color: var(--wp--preset--color--slate-300);
}
.wp-block-post-content .wp-block-table tr:last-child td {
	border-bottom: 0;
}
/* Figure captions */
.wp-block-post-content figcaption,
.wp-block-post-content .wp-element-caption {
	margin-top: 12px;
	padding-left: 16px;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--slate-500);
	font-family: var(--wp--preset--font-family--mono);
	border-left: 1px solid var(--wp--preset--color--slate-300);
}

/* ============================================================
   AUTHOR BIO  (core/post-author + group)
   Hidden entirely when there is no bio text.
   ============================================================ */
.b-author {
	background: var(--wp--preset--color--slate-050);
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: var(--wp--custom--radius--xl);
}
.b-author .wp-block-avatar img {
	border-radius: var(--wp--custom--radius--pill);
}
.b-author .wp-block-post-author__name {
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
}
.b-author .wp-block-post-author__bio {
	font-size: var(--wp--preset--font-size--sm);
	line-height: var(--wp--custom--leading--relaxed);
	color: var(--wp--preset--color--slate-600);
	margin: 0;
}
.b-author-role {
	font-size: var(--wp--preset--font-size--2xs);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--slate-600);
}

/* ============================================================
   RELATED POSTS / COMMENTS section rules
   ============================================================ */
.b-section-top {
	border-top: 1px solid var(--wp--preset--color--slate-200);
}
.b-comments-count {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--slate-500);
}
.wp-block-comments .wp-block-comment-author-name a {
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	text-decoration: none;
}
.wp-block-comments .wp-block-avatar img {
	border-radius: var(--wp--custom--radius--pill);
}
.wp-block-comments .wp-block-comment-content {
	font-size: var(--wp--preset--font-size--sm);
	line-height: var(--wp--custom--leading--relaxed);
}
.wp-block-comments :where(.wp-block-comment-date, .wp-block-comment-reply-link) {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--slate-500);
}
/* Comment form */
.wp-block-post-comments-form {
	background: var(--wp--preset--color--slate-050);
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: var(--wp--custom--radius--xl);
	padding: 28px;
}
.wp-block-post-comments-form :where(input[type="text"], input[type="email"], input[type="url"], textarea) {
	width: 100%;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--slate-900);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--slate-300);
	border-radius: var(--wp--custom--radius--md);
	padding: 12px 14px;
}
.wp-block-post-comments-form :where(input:focus, textarea:focus) {
	border-color: var(--wp--preset--color--navy-500);
	box-shadow: var(--wp--custom--focus--ring);
	outline: none;
}

/* ============================================================
   SEARCH RESULTS — list view
   ============================================================ */
.b-search-result {
	border-top: 1px solid var(--wp--preset--color--slate-200);
}
.b-search-result .b-card-image {
	aspect-ratio: 4 / 3;
	border-radius: var(--wp--custom--radius--md);
}
.b-search-result .b-card-title {
	font-size: var(--wp--preset--font-size--md);
	-webkit-line-clamp: 2;
	line-clamp: 2;
}
.b-search-result mark {
	background: var(--wp--preset--color--status-warn-bg);
	color: var(--wp--preset--color--navy-900);
	padding: 0 2px;
	border-radius: var(--wp--custom--radius--xs);
}

/* Empty search state */
.b-empty {
	border-top: 1px solid var(--wp--preset--color--slate-200);
	text-align: center;
}
.b-empty .b-card-title,
.b-empty h2 {
	color: var(--wp--preset--color--navy-900);
}
.b-empty-suggest {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--slate-500);
}

/* ============================================================
   404
   ============================================================ */
.b-404-code {
	font-family: var(--wp--preset--font-family--mono);
	font-size: clamp(72px, 14vw, 156px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.05em;
	color: var(--wp--preset--color--navy-900);
	font-variant-numeric: tabular-nums;
}
.b-404-status {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--2xs);
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--slate-600);
	display: flex;
	align-items: center;
	gap: 10px;
}
.b-404-status::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--status-err-fg);
}
.b-404-trace {
	background: var(--wp--preset--color--slate-950);
	color: var(--wp--preset--color--slate-300);
	border-radius: var(--wp--custom--radius--md);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.6;
}

/* ============================================================
   SITE FOOTER — parts/footer.html
   ============================================================ */
.b-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.b-footer .b-footer-col-h {
	font-size: var(--wp--preset--font-size--2xs);
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--slate-400);
}
.b-footer .wp-block-categories,
.b-footer .wp-block-page-list,
.b-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.b-footer .wp-block-categories .post-count {
	display: none;
}
.b-footer a {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--slate-300);
	text-decoration: none;
}
.b-footer a:hover {
	color: var(--wp--preset--color--white);
	text-decoration: underline;
}
.b-footer-legal {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--slate-500);
}
.b-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--slate-500);
}

/* ============================================================
   CUSTOM BLOCK STYLES (registered in functions.php)
   ============================================================ */
/* Button · Ghost (outline) */
.wp-block-button.is-style-ieg-ghost .wp-block-button__link {
	background-color: transparent;
	color: var(--wp--preset--color--navy-900);
	border: 1px solid var(--wp--preset--color--slate-300);
}
.wp-block-button.is-style-ieg-ghost .wp-block-button__link:hover,
.wp-block-button.is-style-ieg-ghost .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--slate-050);
	color: var(--wp--preset--color--navy-900);
	border-color: var(--wp--preset--color--slate-400);
}

/* Group · Hairline card */
.wp-block-group.is-style-ieg-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--custom--shadow--sm);
	padding: var(--wp--preset--spacing--7);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
	.b-card-feature {
		flex-direction: column;
	}
	.b-card-feature > .wp-block-column {
		width: 100% !important;
	}
}
@media (max-width: 781px) {
	.b-header-inner {
		flex-wrap: wrap;
	}
	.b-article-meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}
@media (max-width: 600px) {
	.b-404 {
		grid-template-columns: 1fr;
	}
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	* {
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
