/*
Theme Name: LlamaBolt
Author: Barking Llama Designwerks
Description: A lightweight, reusable WordPress block theme for Content Weaver publications.
Requires at least: 7.0
Requires PHP: 8.2
Version: 0.1.49
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: llamabolt
*/

:where(a, button, input, select, summary, textarea):focus-visible {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: 4px;
}

body.wp-custom-logo .llamabolt-header-branding > .wp-block-site-title {
	display: none;
}

body.wp-custom-logo.llamabolt-lab-identity-display-title .llamabolt-header-branding > .wp-block-site-title {
	display: block;
}

body.llamabolt-lab-identity-display-title .llamabolt-site-header .llamabolt-header-branding > .wp-block-site-logo {
	display: none;
}

:root :where(.llamabolt-site-header, .llamabolt-site-footer) {
	--llamabolt-shell-rule: var(--wp--custom--color--shell-rule);
	--llamabolt-shell-text: var(--wp--custom--color--text-on-dark-soft);
	--llamabolt-shell-muted: var(--wp--custom--color--text-on-dark-muted);
}

/* Optional editable Image Masthead pattern. */
.llamabolt-image-masthead {
	box-sizing: border-box;
	color: var(--wp--preset--color--white);
	padding: var(--wp--preset--spacing--50) var(--wp--custom--gutter);
}

.llamabolt-image-masthead__inner {
	align-items: center;
	box-sizing: border-box;
	display: grid;
	gap: clamp(1.5rem, 4vw, 4rem);
	grid-template-columns: minmax(0, 1fr) minmax(0, auto);
	margin-left: auto;
	margin-right: auto;
	min-width: 0;
	width: 100%;
}

.llamabolt-image-masthead :where(.wp-block-group, .wp-block-site-title, .wp-block-site-tagline, .wp-block-navigation, .wp-block-social-links) {
	margin-block-start: 0;
}

.llamabolt-image-masthead__identity,
.llamabolt-image-masthead__identity-text,
.llamabolt-image-masthead__utilities,
.llamabolt-image-masthead__navigation {
	min-width: 0;
}

.llamabolt-image-masthead__identity {
	align-items: center;
	gap: var(--wp--preset--spacing--30);
}

.llamabolt-image-masthead__identity .wp-block-site-logo {
	display: block;
	flex: 0 0 auto;
	line-height: 0;
}

.llamabolt-image-masthead__identity .wp-block-site-logo img {
	height: auto;
	max-height: 96px;
	max-width: min(100%, 12rem);
	object-fit: contain;
	width: auto;
}

.llamabolt-image-masthead__identity-text :where(.wp-block-site-title, .wp-block-site-tagline) {
	color: inherit;
	max-width: 32rem;
	overflow-wrap: anywhere;
}

.llamabolt-image-masthead__identity-text .wp-block-site-title {
	font-family: var(--wp--preset--font-family--sans);
	font-size: clamp(1.6rem, 3vw, 2.5rem);
	font-weight: 800;
	line-height: 1;
}

.llamabolt-image-masthead__identity-text .wp-block-site-title a,
.llamabolt-image-masthead__identity-text .wp-block-site-title a:visited,
.llamabolt-image-masthead__navigation .wp-block-navigation-item__content,
.llamabolt-image-masthead__navigation .wp-block-navigation-item__content:visited {
	color: inherit;
}

.llamabolt-image-masthead__identity-text .wp-block-site-title a {
	text-decoration: none;
}

.llamabolt-image-masthead__identity-text .wp-block-site-tagline {
	font-size: var(--wp--preset--font-size--metadata);
	font-weight: 700;
	line-height: 1.4;
	margin-top: 0.35rem;
}

.llamabolt-image-masthead__identity-text .wp-block-site-tagline:empty {
	display: none;
}

.llamabolt-image-masthead__utilities {
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	justify-self: end;
	max-width: 100%;
}

.llamabolt-image-masthead__navigation {
	font-size: var(--wp--preset--font-size--metadata);
	font-weight: 700;
}

.llamabolt-image-masthead__navigation .wp-block-navigation__container,
.llamabolt-image-masthead__socials {
	flex-wrap: wrap;
}

.llamabolt-image-masthead__navigation .wp-block-navigation-item__label {
	overflow-wrap: anywhere;
}

.llamabolt-image-masthead__navigation .wp-block-navigation__responsive-container-open {
	color: inherit;
	min-height: 44px;
	min-width: 44px;
}

.llamabolt-image-masthead__socials {
	gap: 0.65rem;
}

.llamabolt-image-masthead__socials .wp-social-link a {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
}

@media (max-width: 900px) {
	.llamabolt-image-masthead__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-image-masthead__utilities {
		justify-self: stretch;
		justify-content: space-between;
	}
}

@media (max-width: 650px) {
	.llamabolt-image-masthead {
		min-height: min(82vw, 360px) !important;
		padding-bottom: var(--wp--preset--spacing--40);
		padding-top: var(--wp--preset--spacing--40);
	}

	.llamabolt-image-masthead__identity {
		align-items: flex-start;
	}

	.llamabolt-image-masthead__identity .wp-block-site-logo img {
		max-height: 72px;
		max-width: 6rem;
	}

	.llamabolt-image-masthead__utilities {
		align-items: flex-start;
		gap: var(--wp--preset--spacing--20);
	}
}

/* Optional editable Barking Llama Network Footer pattern. */
.llamabolt-network-footer {
	box-sizing: border-box;
	color: var(--wp--preset--color--white);
	padding: clamp(2rem, 5vw, 3.5rem) var(--wp--custom--gutter);
	text-align: center;
}

.llamabolt-network-footer__inner,
.llamabolt-network-footer__network,
.llamabolt-network-footer__links {
	box-sizing: border-box;
	min-width: 0;
}

.llamabolt-network-footer :where(.wp-block-group, .wp-block-image, .wp-block-navigation, p) {
	margin-block-start: 0;
}

.llamabolt-network-footer__brand {
	margin-bottom: var(--wp--preset--spacing--40);
	max-width: min(100%, 150px);
}

.llamabolt-network-footer__brand img {
	display: block;
	height: auto;
	max-width: 100%;
}

.llamabolt-network-footer__network {
	align-items: center;
	gap: 0.5rem 1rem;
	justify-content: center;
}

.llamabolt-network-footer__label {
	font-size: var(--wp--preset--font-size--metadata);
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}

.llamabolt-network-footer__links,
.llamabolt-network-footer__links .wp-block-navigation__container {
	gap: 0.35rem 1rem;
	justify-content: center;
	max-width: 100%;
}

.llamabolt-network-footer__links .wp-block-navigation-item {
	min-width: 0;
}

.llamabolt-network-footer__links .wp-block-navigation-item__content,
.llamabolt-network-footer__links .wp-block-navigation-item__content:visited {
	color: inherit;
	font-size: max(var(--wp--preset--font-size--metadata), 0.875rem);
	line-height: 1.4;
	overflow-wrap: anywhere;
	padding: 0.45rem 0;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.llamabolt-network-footer__links .wp-block-navigation-item__content:hover {
	text-decoration-thickness: 2px;
}

.llamabolt-network-footer :where(a, button):focus-visible {
	outline-color: var(--wp--preset--color--white);
	outline-offset: 3px;
}

@media (max-width: 650px) {
	.llamabolt-network-footer {
		padding-bottom: 2rem;
		padding-top: 2rem;
	}

	.llamabolt-network-footer__network {
		align-items: center;
		flex-direction: column;
	}

	.llamabolt-network-footer__links .wp-block-navigation__container {
		row-gap: 0.2rem;
	}

	.llamabolt-network-footer__links .wp-block-navigation-item__content {
		align-items: center;
		display: flex;
		min-height: 44px;
	}
}

.llamabolt-site-header > *,
.llamabolt-site-footer > * {
	margin-block-start: 0;
}

.llamabolt-dispatch {
	box-sizing: border-box;
	font-size: var(--wp--preset--font-size--metadata);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	min-height: 34px;
	padding: 0.55rem var(--wp--custom--gutter);
	text-align: center;
	text-transform: uppercase;
}

.llamabolt-dispatch:has(.wp-block-site-tagline:empty),
.llamabolt-dispatch:not(:has(.wp-block-site-tagline)) {
	display: none;
}

.llamabolt-site-header:has(.llamabolt-social-links) .llamabolt-dispatch {
	padding-bottom: 0.3rem;
}

.llamabolt-site-header .wp-block-group:has(> .llamabolt-social-links:only-child) {
	margin-block: 0;
	min-height: 0;
	padding-block: 0;
}

.llamabolt-site-header .llamabolt-social-links {
	box-sizing: border-box;
	margin-block: 0;
	padding: 0 var(--wp--custom--gutter);
}

.llamabolt-social-links__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 0.6rem;
	justify-content: center;
	list-style: none;
	margin: 0 auto;
	max-width: 100%;
	padding: 0;
}

.llamabolt-social-links__list > .wp-social-link {
	flex: 0 0 auto;
	line-height: 0;
	margin: 0;
}

.llamabolt-social-links__list > .wp-social-link > a {
	align-items: center;
	color: inherit;
	display: inline-flex;
	height: 30px;
	justify-content: center;
	width: 30px;
}

.llamabolt-social-links__list > .wp-social-link > a > svg {
	display: block;
	height: 24px;
	max-width: 24px;
	width: 24px;
}

.llamabolt-dispatch .wp-block-site-tagline,
.llamabolt-header-branding .wp-block-site-title,
.llamabolt-footer-brand .wp-block-site-title,
.llamabolt-footer-brand .wp-block-site-tagline,
.llamabolt-footer-note-copy,
.llamabolt-footer-meta .wp-block-site-title {
	margin: 0;
}

.llamabolt-header-main {
	align-items: center;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	min-height: 104px;
	padding: 1rem var(--wp--custom--gutter);
}

.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) {
	display: none;
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
}

.llamabolt-mobile-nav-row {
	display: none;
}

.llamabolt-header-branding {
	gap: 0.75rem;
	grid-column: 2;
	grid-row: 1;
	justify-self: center;
	max-width: min(52vw, 38rem);
	min-width: 0;
}

.llamabolt-header-branding .wp-block-site-logo,
.llamabolt-header-branding .wp-block-site-logo img {
	max-height: 72px;
	max-width: min(100%, 22rem);
	object-fit: contain;
	width: auto;
}

.llamabolt-header-branding .wp-block-site-title {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.65rem, 4vw, 3.4rem);
	font-weight: 700;
	letter-spacing: -0.055em;
	line-height: 0.92;
	overflow-wrap: anywhere;
	text-align: center;
}

.llamabolt-header-branding .wp-block-site-title a,
.llamabolt-footer-brand .wp-block-site-title a,
.llamabolt-footer-meta .wp-block-site-title a {
	color: inherit;
	text-decoration: none;
}

.llamabolt-header-search {
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
	margin: 0;
	max-width: 13rem;
}

.llamabolt-header-search .wp-block-search__inside-wrapper {
	border-color: var(--wp--preset--color--ink);
	border-radius: 0;
	min-height: 42px;
}

.llamabolt-header-search .wp-block-search__button {
	background: transparent;
	color: var(--wp--preset--color--ink);
	margin: 0;
	padding: 0.65rem;
}

.llamabolt-primary-nav-row {
	border-bottom: 1px solid var(--wp--preset--color--line);
	border-top: 1px solid var(--wp--preset--color--line);
	box-sizing: border-box;
	min-height: 45px;
	padding: 0.65rem var(--wp--custom--gutter);
}

.llamabolt-primary-navigation {
	font-size: var(--wp--preset--font-size--metadata);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.25;
	text-transform: uppercase;
}

.llamabolt-primary-navigation .wp-block-navigation-item__content {
	text-decoration: none;
}

.llamabolt-primary-navigation .current-menu-item > .wp-block-navigation-item__content,
.llamabolt-primary-navigation .current-menu-ancestor > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--orange);
	text-decoration-thickness: 3px;
	text-underline-offset: 0.3em;
}

.llamabolt-site-header .wp-block-navigation-item__label,
.llamabolt-site-footer .wp-block-navigation-item__label {
	overflow-wrap: anywhere;
}

.llamabolt-site-footer {
	box-sizing: border-box;
	color: var(--llamabolt-shell-text);
	padding: var(--wp--preset--spacing--80) var(--wp--custom--gutter) var(--wp--preset--spacing--50);
}

.llamabolt-footer-brand {
	border-bottom: 1px solid var(--llamabolt-shell-rule);
	padding-bottom: var(--wp--preset--spacing--60);
}

.llamabolt-footer-brand .wp-block-site-title {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.75rem, 8vw, 7rem);
	font-weight: 700;
	letter-spacing: -0.06em;
	line-height: 0.82;
	overflow-wrap: anywhere;
}

.llamabolt-footer-brand .wp-block-site-tagline {
	color: var(--llamabolt-shell-muted);
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1rem, 2vw, 1.4rem);
	font-style: italic;
	margin-top: 1.25rem;
}

.llamabolt-footer-grid {
	display: grid;
	gap: var(--wp--preset--spacing--60);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: var(--wp--preset--spacing--60) 0;
}

.llamabolt-footer-column,
.llamabolt-footer-note {
	min-width: 0;
}

.llamabolt-footer-column:has(.wp-block-navigation:empty),
.llamabolt-footer-column:has(.wp-block-navigation__container:empty),
.llamabolt-footer-column:not(:has(.wp-block-navigation)) {
	display: none;
}

.llamabolt-footer-column .wp-block-heading,
.llamabolt-footer-note .wp-block-heading {
	color: var(--wp--preset--color--lime);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--metadata);
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.llamabolt-site-footer .wp-block-navigation {
	color: inherit;
	gap: 0.7rem;
}

.llamabolt-site-footer .wp-block-navigation-item__content {
	color: inherit;
	text-decoration: none;
}

.llamabolt-footer-note-copy {
	color: var(--llamabolt-shell-muted);
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	margin: 0;
}

.llamabolt-footer-note:has(.llamabolt-footer-note-copy:empty),
.llamabolt-footer-note:not(:has(.llamabolt-footer-note-copy)) {
	display: none;
}

.llamabolt-footer-meta {
	border-top: 1px solid var(--llamabolt-shell-rule);
	color: var(--llamabolt-shell-muted);
	font-size: var(--wp--preset--font-size--metadata);
	gap: 1rem 2rem;
	padding-top: var(--wp--preset--spacing--50);
}

.llamabolt-footer-meta .wp-block-site-title {
	font-size: inherit;
	font-weight: 700;
}

@media (max-width: 900px) {
	.llamabolt-header-search,
	.llamabolt-primary-nav-row {
		display: none;
	}

	.llamabolt-header-main {
		column-gap: 0;
		grid-template-columns: minmax(0, 1fr);
		margin-block: 0 !important;
		min-height: 0;
		padding-bottom: var(--wp--preset--spacing--20);
		padding-left: var(--wp--preset--spacing--30);
		padding-right: var(--wp--preset--spacing--30);
		padding-top: var(--wp--preset--spacing--20);
		row-gap: var(--wp--preset--spacing--20);
	}

	.llamabolt-header-main > .llamabolt-header-branding {
		grid-column: 1;
		grid-row: 1;
		justify-self: center;
		max-width: calc(100vw - (2 * var(--wp--preset--spacing--30)));
		width: 100%;
	}

	.llamabolt-header-main > .llamabolt-header-branding:has(> .llamabolt-menu-control) {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto 44px;
		justify-items: center;
		row-gap: 0;
	}

	.llamabolt-header-main > .llamabolt-header-branding:has(> .llamabolt-menu-control) > .llamabolt-menu-control {
		grid-column: 1;
		grid-row: 2;
		justify-self: center;
		min-height: 44px;
		width: 44px;
	}

	.llamabolt-header-main > .llamabolt-header-branding:has(> .llamabolt-menu-control) > .wp-block-site-logo,
	.llamabolt-header-main > .llamabolt-header-branding:has(> .llamabolt-menu-control) > .wp-block-site-title {
		grid-column: 1;
		grid-row: 1;
		justify-self: center;
	}

	body.llamabolt-lab-identity-display-both .llamabolt-header-main > .llamabolt-header-branding:has(> .llamabolt-menu-control) {
		grid-template-rows: auto auto 44px;
		row-gap: var(--wp--preset--spacing--20);
	}

	body.llamabolt-lab-identity-display-both .llamabolt-header-main > .llamabolt-header-branding:has(> .llamabolt-menu-control) > .wp-block-site-title {
		grid-row: 2;
	}

	body.llamabolt-lab-identity-display-both .llamabolt-header-main > .llamabolt-header-branding:has(> .llamabolt-menu-control) > .llamabolt-menu-control {
		grid-row: 3;
	}

	.llamabolt-header-main:has(> .llamabolt-menu-control) {
		grid-template-rows: auto auto;
	}

	.llamabolt-header-main > .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) {
		grid-column: 1;
		grid-row: 2;
		justify-self: center;
	}

	.llamabolt-site-header:has(.llamabolt-social-links) .llamabolt-header-main {
		padding-top: var(--wp--preset--spacing--30);
	}

	.llamabolt-header-main > * {
		align-self: center;
		margin-block: 0 !important;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) {
		display: flex;
		margin: 0;
		min-width: 0;
		width: auto;
	}

	.llamabolt-mobile-nav-row {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		margin-block: 0;
		min-height: 44px;
		padding: 0 var(--wp--preset--spacing--30);
	}

	.llamabolt-site-header .llamabolt-mobile-nav-row .llamabolt-menu-control {
		grid-column: auto;
		grid-row: auto;
		justify-self: center;
	}

	.llamabolt-mobile-nav-row .llamabolt-menu-control {
		align-items: center;
		justify-content: center;
		min-height: 44px;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) > .wp-block-navigation__responsive-container-open {
		align-items: center;
		background: transparent;
		border: 0;
		box-sizing: border-box;
		color: inherit;
		display: flex;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__responsive-container.is-menu-open {
		align-items: flex-start;
		background: color-mix(in srgb, var(--wp--preset--color--ink) 68%, transparent);
		box-sizing: border-box;
		color: var(--llamabolt-shell-text);
		display: flex;
		flex-direction: row;
		height: 100vh;
		height: 100dvh;
		inset: 0;
		left: 0;
		justify-content: flex-end;
		max-width: 100%;
		overflow: hidden;
		padding: 0;
		right: 0;
		top: 0;
		width: 100%;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__responsive-close,
	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__responsive-dialog,
	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__responsive-container-content,
	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__container,
	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-page-list {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__responsive-close {
		background: var(--wp--preset--color--ink);
		box-shadow: -0.75rem 0 1.5rem var(--wp--custom--color--overlay-shadow);
		border-left: 0;
		height: auto;
		margin-block: 0;
		margin-left: auto;
		margin-right: 0;
		max-height: 100vh;
		max-height: 100dvh;
		min-height: 0;
		overflow: hidden;
		padding: 0;
		width: min(85vw, 22.5rem);
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__responsive-dialog {
		align-content: start;
		display: grid;
		grid-template-areas: "heading close" "content content";
		grid-template-columns: minmax(0, 1fr) 44px;
		grid-template-rows: 44px auto;
		min-height: 0;
		padding: var(--wp--preset--spacing--20);
		width: 100%;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__responsive-dialog::before {
		align-self: center;
		color: var(--llamabolt-shell-text);
		content: "Menu";
		font-family: var(--wp--preset--font-family--sans);
		font-size: 1.125rem;
		font-weight: 600;
		grid-area: heading;
		line-height: 1.2;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__responsive-container-close {
		align-items: center;
		background: transparent;
		border: 0;
		box-sizing: border-box;
		color: var(--llamabolt-shell-text);
		display: flex;
		grid-area: close;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
		padding: 0;
		position: static;
		z-index: auto;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__responsive-container-content {
		align-items: stretch;
		grid-area: content;
		max-height: calc(100vh - 5rem);
		max-height: calc(100dvh - 5rem);
		min-height: 0;
		overscroll-behavior: contain;
		overflow-x: hidden;
		overflow-y: auto;
		padding: var(--wp--preset--spacing--20) 0 0;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__container,
	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-page-list {
		align-items: stretch;
		gap: 0;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation-item {
		align-items: stretch;
		border-top: 0;
		border-bottom: 1px solid color-mix(in srgb, var(--llamabolt-shell-rule) 35%, transparent);
		color: var(--llamabolt-shell-text);
		width: 100%;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation-item__content {
		align-items: center;
		box-sizing: border-box;
		color: var(--llamabolt-shell-text);
		display: flex;
		font-family: var(--wp--preset--font-family--sans);
		font-size: 1rem;
		font-weight: 500;
		letter-spacing: normal;
		line-height: 1.4;
		min-height: 48px;
		overflow-wrap: anywhere;
		padding: 0.65rem 0.35rem;
		text-transform: none;
		width: 100%;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation-item__content:visited {
		color: var(--llamabolt-shell-text);
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation-item__content:hover {
		background: color-mix(in srgb, var(--wp--preset--color--white) 9%, transparent);
		color: var(--llamabolt-shell-text);
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation-item__content:focus-visible {
		background: color-mix(in srgb, var(--wp--preset--color--white) 9%, transparent);
		color: var(--llamabolt-shell-text);
		outline-offset: -3px;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation-item__content:active {
		background: var(--wp--custom--color--accent-active);
		color: var(--wp--preset--color--white);
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation-item__label {
		color: inherit;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .current-menu-item > .wp-block-navigation-item__content,
	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .current-menu-ancestor > .wp-block-navigation-item__content {
		color: var(--llamabolt-shell-text);
		font-weight: 700;
		text-decoration: underline;
		text-decoration-color: var(--wp--custom--color--accent);
		text-decoration-thickness: 2px;
		text-underline-offset: 0.2em;
	}

	.llamabolt-site-header .llamabolt-menu-control:has(> .wp-block-navigation__responsive-container-open.always-shown) .wp-block-navigation__submenu-container {
		background: transparent;
		border: 0;
		box-sizing: border-box;
		color: inherit;
		max-width: 100%;
		min-width: 0;
		padding-left: var(--wp--preset--spacing--40);
		padding-right: 0;
		width: 100%;
	}

	.llamabolt-header-branding {
		align-items: center;
		justify-content: center;
	}

	.llamabolt-site-header .llamabolt-header-branding:has(> .wp-block-site-logo) {
		max-width: calc(100vw - (2 * var(--wp--preset--spacing--30))) !important;
	}

	.llamabolt-site-header .llamabolt-header-branding .wp-block-site-logo {
		display: block;
		flex: 0 1 auto;
		line-height: 0;
		max-height: none;
		max-width: 100% !important;
		margin-inline: auto;
		width: min(var(--llamabolt-lab-logo-width, clamp(15rem, 76vw, 18.75rem)), 100%) !important;
	}

	.llamabolt-site-header .llamabolt-header-branding .wp-block-site-logo a {
		display: block;
		max-width: 100%;
		width: 100%;
	}

	.llamabolt-site-header .llamabolt-header-branding .wp-block-site-logo img {
		display: block;
		height: auto !important;
		max-height: none;
		max-width: 100% !important;
		object-fit: contain;
		width: 100% !important;
	}

	.llamabolt-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 650px) {
	.llamabolt-site-header .llamabolt-header-branding .wp-block-site-title {
		font-size: clamp(1.5rem, 9vw, 2.6rem);
		text-align: center;
	}

	.llamabolt-footer-grid {
		grid-template-columns: 1fr;
	}

	.llamabolt-footer-note {
		border-top: 1px solid var(--llamabolt-shell-rule);
		padding-top: var(--wp--preset--spacing--50);
	}

	.llamabolt-footer-meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.llamabolt-footer-meta .wp-block-navigation {
		justify-content: flex-start;
	}
}

/* Native search results and no-results state. */
.llamabolt-search {
	box-sizing: border-box;
	padding: clamp(4rem, 9vw, 8rem) var(--wp--custom--gutter);
}

.llamabolt-search-inner {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 950px;
	min-width: 0;
}

.llamabolt-search :where(.wp-block-query-title, .wp-block-search, .wp-block-query, .wp-block-post-template, .wp-block-group, .wp-block-post-title, .wp-block-post-excerpt, .wp-block-post-terms, .wp-block-post-author-name, .wp-block-post-date, figure) {
	margin-block-start: 0;
}

.llamabolt-search-title {
	font-size: clamp(2.25rem, 4vw, 4rem);
	letter-spacing: -0.05em;
	line-height: 0.9;
	margin: 0 0 clamp(2.5rem, 6vw, 4rem);
	max-width: 100%;
	overflow-wrap: anywhere;
}

.llamabolt-search-form {
	margin-bottom: clamp(3rem, 7vw, 5rem);
	max-width: 690px;
}

.llamabolt-search-form .wp-block-search__label {
	display: block;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin-bottom: 0.5rem;
	text-transform: uppercase;
}

.llamabolt-search-form .wp-block-search__inside-wrapper {
	border: 0;
	padding: 0;
}

.llamabolt-search-form .wp-block-search__input {
	background: var(--wp--preset--color--white);
	border: 2px solid var(--wp--preset--color--ink);
	border-radius: 0;
	min-width: 0;
	padding: 0.9rem 1rem;
}

.llamabolt-search-form .wp-block-search__button {
	background: var(--wp--preset--color--orange);
	border: 2px solid var(--wp--preset--color--ink);
	border-radius: 0;
	color: var(--wp--preset--color--ink);
	font-weight: 800;
	margin: 0 0 0 -2px;
	padding: 0.9rem 1.5rem;
}

.llamabolt-search .llamabolt-search-result {
	grid-template-columns: 180px minmax(0, 1fr);
}

.llamabolt-search .llamabolt-search-result:not(:has(.llamabolt-search-result-image)) {
	grid-template-columns: minmax(0, 1fr);
}

.llamabolt-search-result-copy,
.llamabolt-search-result-title,
.llamabolt-search-result-excerpt {
	min-width: 0;
	overflow-wrap: anywhere;
}

.llamabolt-search-empty {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 690px;
	padding: clamp(3rem, 8vw, 5rem) var(--wp--custom--gutter);
	text-align: center;
}

.llamabolt-search-empty h2 {
	font-size: clamp(2rem, 4vw, 3rem);
	margin-top: 0;
}

.llamabolt-search-empty .llamabolt-search-form {
	margin: 2rem auto 0;
	text-align: left;
}

@media (max-width: 650px) {
	.llamabolt-search {
		padding-top: 4rem;
	}

	.llamabolt-search-title {
		font-size: clamp(2.1rem, 9vw, 2.75rem);
	}

	.llamabolt-search-form .wp-block-search__inside-wrapper {
		display: block;
	}

	.llamabolt-search-form .wp-block-search__button {
		margin: -2px 0 0;
		width: 100%;
	}

	.llamabolt-search .llamabolt-search-result {
		grid-template-columns: 105px minmax(0, 1fr);
		gap: 1rem;
	}

	.llamabolt-search .llamabolt-search-result:not(:has(.llamabolt-search-result-image)) {
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-search-result-title {
		font-size: clamp(1.2rem, 5.5vw, 1.45rem);
		line-height: 1.1;
	}

	.llamabolt-search-pagination {
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.llamabolt-site-header .wp-block-navigation__responsive-container {
		animation: none;
		scroll-behavior: auto;
		transition: none;
	}
}

/* Reusable editorial section patterns. */
.llamabolt-pattern-section {
	box-sizing: border-box;
	min-width: 0;
	padding-block: clamp(2rem, 6vw, 5rem);
}

.llamabolt-pattern-section > .wp-block-heading {
	border-top: var(--wp--custom--border--width--section) solid var(--wp--custom--color--foreground);
	margin-block: 0 clamp(1.5rem, 4vw, 3rem);
	overflow-wrap: anywhere;
	padding-top: 1rem;
}

.llamabolt-pattern-section :where(.wp-block-query, .wp-block-post-template, .wp-block-group, .wp-block-post-title, .wp-block-post-excerpt, .wp-block-post-terms, .wp-block-post-author-name, .wp-block-post-date, figure) {
	margin-block-start: 0;
}

.llamabolt-pattern-section .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}

.llamabolt-pattern-section :where(.wp-block-post-title, .wp-block-post-title a, .wp-block-post-excerpt, a) {
	overflow-wrap: anywhere;
	word-break: normal;
}

.llamabolt-pattern-section .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.llamabolt-pattern-section .wp-block-post-title a:hover {
	text-decoration: underline;
	text-decoration-color: var(--wp--custom--color--accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

.llamabolt-pattern-lead-grid {
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
	grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr);
}

.llamabolt-pattern-lead-grid:not(:has(.llamabolt-pattern-supporting-query .wp-block-post-template > *)) {
	grid-template-columns: minmax(0, 1fr);
}

.llamabolt-pattern-lead-card {
	background: var(--wp--custom--color--foreground);
	color: var(--wp--custom--color--text-on-dark);
	padding-bottom: clamp(1.25rem, 3vw, 2.5rem);
}

.llamabolt-pattern-lead-card > :not(.llamabolt-story-image) {
	margin-left: clamp(1.25rem, 3vw, 2.5rem);
	margin-right: clamp(1.25rem, 3vw, 2.5rem);
}

.llamabolt-pattern-lead-card .llamabolt-story-meta,
.llamabolt-pattern-lead-card .llamabolt-story-meta a {
	color: var(--wp--custom--color--text-on-dark-muted);
}

.llamabolt-pattern-lead-card .llamabolt-story-excerpt {
	color: var(--wp--custom--color--text-on-feature);
}

.llamabolt-pattern-card-grid {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
}

.llamabolt-pattern-page-card {
	border-bottom: var(--wp--custom--border--width--standard) solid var(--wp--custom--color--border);
	padding-bottom: 1.5rem;
}

.llamabolt-pattern-image-feature {
	box-sizing: border-box;
	padding: clamp(2rem, 6vw, 5rem) var(--wp--custom--gutter);
}

.llamabolt-pattern-image-feature-copy {
	min-width: 0;
}

.llamabolt-pattern-image-feature-copy :where(h2, p, .wp-block-buttons) {
	overflow-wrap: anywhere;
}

@media (max-width: 900px) {
	.llamabolt-pattern-lead-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-pattern-supporting-query .wp-block-post-template {
		display: grid;
		gap: 1rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.llamabolt-pattern-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 650px) {
	.llamabolt-pattern-section {
		padding-block: 2.5rem;
	}

	.llamabolt-pattern-supporting-query .wp-block-post-template,
	.llamabolt-pattern-card-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-pattern-list .llamabolt-posts-card,
	.llamabolt-pattern-list .llamabolt-posts-card:not(:has(.llamabolt-posts-card-image)) {
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-pattern-list .llamabolt-posts-card-image {
		width: 100%;
	}

	.llamabolt-pattern-image-feature {
		min-height: min(90vw, 420px) !important;
	}
}

/* Native not-found recovery page. */
.llamabolt-not-found {
	box-sizing: border-box;
	padding: clamp(4rem, 9vw, 8rem) var(--wp--custom--gutter);
}

.llamabolt-not-found :where(.wp-block-group, .wp-block-heading, .wp-block-search, .wp-block-navigation, p) {
	margin-block-start: 0;
}

.llamabolt-not-found-inner {
	align-items: start;
	box-sizing: border-box;
	display: grid;
	gap: clamp(2rem, 6vw, 5rem);
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	margin-left: auto;
	margin-right: auto;
	max-width: 1100px;
	min-width: 0;
}

.llamabolt-not-found-copy,
.llamabolt-not-found-actions {
	min-width: 0;
}

.llamabolt-not-found-title {
	font-size: clamp(2.25rem, 4vw, 4rem);
	letter-spacing: -0.05em;
	line-height: 0.9;
	margin: 0;
	overflow-wrap: break-word;
	word-break: normal;
}

.llamabolt-not-found-explanation {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.15rem, 2vw, 1.4rem);
	line-height: 1.5;
	margin: 1.5rem 0 0;
	max-width: 650px;
	overflow-wrap: anywhere;
}

.llamabolt-not-found-actions {
	border-top: 5px solid var(--wp--preset--color--orange);
	box-sizing: border-box;
	padding: clamp(2rem, 5vw, 3rem);
}

.llamabolt-not-found-search {
	margin-bottom: 2rem;
	max-width: none;
}

.llamabolt-not-found-home {
	margin: 0;
}

.llamabolt-not-found-home .wp-block-navigation-item {
	max-width: 100%;
	min-width: 0;
}

.llamabolt-not-found-home .wp-block-navigation-item__content,
.llamabolt-not-found-home .wp-block-navigation-item__content:visited {
	background: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--ink);
	box-sizing: border-box;
	color: var(--wp--preset--color--white);
	font-weight: 800;
	max-width: 100%;
	overflow-wrap: anywhere;
	padding: 0.9rem 1.5rem;
	text-decoration: none;
}

.llamabolt-not-found-home .wp-block-navigation-item__label {
	color: inherit;
}

.llamabolt-not-found-home .wp-block-navigation-item__content:hover,
.llamabolt-not-found-home .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--ink);
	text-decoration: underline;
	text-decoration-color: currentColor;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

.llamabolt-not-found-home .wp-block-navigation-item__content:active {
	background: var(--wp--preset--color--lime);
	color: var(--wp--preset--color--ink);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

@media (max-width: 900px) {
	.llamabolt-not-found-inner {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 650px) {
	.llamabolt-not-found {
		padding-top: 4rem;
	}

	.llamabolt-not-found-title {
		font-size: clamp(2.1rem, 9vw, 2.75rem);
	}

	.llamabolt-not-found-actions {
		padding: 2rem var(--wp--custom--gutter);
	}
}

/* Standard informational and legal pages. */
.llamabolt-page,
.llamabolt-page > * {
	margin-block-start: 0;
}

.llamabolt-page :where(.wp-block-post-title, .wp-block-post-featured-image, .wp-block-post-content) {
	margin-block-start: 0;
}

.llamabolt-page-header {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	padding: clamp(4rem, 9vw, 8rem) var(--wp--custom--gutter) 3rem;
}

.llamabolt-page-title {
	font-size: clamp(2.75rem, 5.5vw, 5.5rem);
	letter-spacing: -0.05em;
	line-height: 0.9;
	margin: 0;
	overflow-wrap: break-word;
	word-break: normal;
}

.llamabolt-page-featured-image {
	margin-left: auto;
	margin-right: auto;
	max-width: 1180px;
}

.llamabolt-page-featured-image img {
	background: var(--wp--custom--color--surface-image);
	display: block;
	height: auto;
	max-height: 720px;
	object-fit: cover;
	width: 100%;
}

.llamabolt-page-featured-image figcaption {
	color: var(--wp--preset--color--muted);
	font-size: 0.68rem;
	line-height: 1.45;
	padding: 0.6rem 0;
}

.llamabolt-page-content {
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.16rem;
	line-height: 1.75;
	margin: 4rem auto clamp(5rem, 10vw, 8rem);
	max-width: 690px;
	min-width: 0;
	overflow-wrap: anywhere;
	padding-left: var(--wp--custom--gutter);
	padding-right: var(--wp--custom--gutter);
}

.llamabolt-page-article:not(:has(.llamabolt-page-featured-image)) .llamabolt-page-content {
	margin-top: 1rem;
}

.llamabolt-page-content > :where(p, ul, ol, blockquote, pre, figure, .wp-block-embed, .wp-block-table, .wp-block-buttons, .wp-block-separator) {
	margin-bottom: 1.55em;
	margin-top: 0;
}

.llamabolt-page-content :where(h2, h3, h4) {
	overflow-wrap: break-word;
	word-break: normal;
}

.llamabolt-page-content h2 {
	font-size: 2.5rem;
	margin-bottom: 0.6em;
	margin-top: 2.2em;
}

.llamabolt-page-content h3 {
	font-size: 1.9rem;
	margin-bottom: 0.6em;
	margin-top: 1.9em;
}

.llamabolt-page-content h4 {
	font-size: 1.45rem;
	margin-bottom: 0.6em;
	margin-top: 1.7em;
}

.llamabolt-page-content :where(ul, ol) {
	padding-left: 1.4em;
}

.llamabolt-page-content li + li {
	margin-top: 0.45em;
}

.llamabolt-page-content blockquote,
.llamabolt-page-content .wp-block-pullquote {
	background: var(--wp--preset--color--white);
	border-left: 8px solid var(--wp--preset--color--orange);
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.2rem;
	font-style: italic;
	line-height: 1.2;
	padding: 2rem 3.5rem;
}

.llamabolt-page-content .wp-block-pullquote {
	border-bottom: 0;
	border-right: 0;
	border-top: 0;
	text-align: left;
}

.llamabolt-page-content :where(blockquote, .wp-block-pullquote) p,
.llamabolt-page-content :where(blockquote, .wp-block-pullquote) cite {
	font: inherit;
}

.llamabolt-page-content :where(figure, img, iframe, video) {
	max-width: 100%;
}

.llamabolt-page-content :where(.alignwide, .alignfull) {
	box-sizing: border-box;
	left: 50%;
	margin-left: 0;
	margin-right: 0;
	position: relative;
	transform: translateX(-50%);
	width: min(1000px, calc(100vw - (2 * var(--wp--custom--gutter))));
}

.llamabolt-page-content .alignfull {
	max-width: none;
	width: 100vw;
}

.llamabolt-page-content figcaption {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.68rem;
	line-height: 1.45;
}

.llamabolt-page-content :where(pre, code) {
	overflow-wrap: normal;
	tab-size: 4;
}

.llamabolt-page-content pre {
	box-sizing: border-box;
	font-size: 0.88rem;
	line-height: 1.6;
	max-width: 100%;
	overflow-x: auto;
	padding: 1rem;
	white-space: pre;
}

.llamabolt-page-content :where(.wp-block-table, .wp-block-embed__wrapper) {
	max-width: 100%;
	overflow-x: auto;
}

.llamabolt-page-content .wp-block-table table {
	min-width: 100%;
}

.llamabolt-page-content .wp-block-button__link {
	background: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--ink);
	border-radius: 0;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--sans);
}

@media (max-width: 650px) {
	.llamabolt-page-title {
		font-size: clamp(2.6rem, 12vw, 3.25rem);
	}

	.llamabolt-page-featured-image figcaption {
		padding-left: var(--wp--custom--gutter);
		padding-right: var(--wp--custom--gutter);
	}

	.llamabolt-page-content {
		font-size: 1.08rem;
		margin-top: 2rem;
	}

	.llamabolt-page-content h2 {
		font-size: 2rem;
	}

	.llamabolt-page-content blockquote,
	.llamabolt-page-content .wp-block-pullquote {
		font-size: 1.7rem;
		padding: 1.5rem;
	}

	.llamabolt-page-content :where(.alignwide, .alignfull) {
		width: calc(100vw - (2 * var(--wp--custom--gutter)));
	}

	.llamabolt-page-content .alignfull {
		width: 100vw;
	}
}

/* Individual editorial story. */
.llamabolt-single,
.llamabolt-single > * {
	margin-block-start: 0;
}

.llamabolt-article-header {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	padding: clamp(4rem, 9vw, 8rem) var(--wp--custom--gutter) 3rem;
	text-align: center;
}

.llamabolt-single :where(.wp-block-post-terms, .wp-block-post-title, .wp-block-post-excerpt, .wp-block-post-author-name, .wp-block-post-date, .wp-block-post-featured-image, .wp-block-post-content, .wp-block-post-navigation-link, .wp-block-post-author) {
	margin-block-start: 0;
}

.llamabolt-article-categories {
	color: var(--wp--preset--color--orange);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.llamabolt-article-categories a {
	color: inherit;
	text-underline-offset: 0.2em;
}

.llamabolt-article-title {
	font-size: clamp(2.75rem, 5.5vw, 5.5rem);
	letter-spacing: -0.05em;
	line-height: 0.94;
	margin: 1rem 0 1.5rem;
	overflow-wrap: break-word;
	word-break: normal;
}

.llamabolt-article-dek {
	color: var(--wp--custom--color--text-dek);
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.2rem, 2.2vw, 1.7rem);
	font-style: italic;
	line-height: 1.4;
	margin: 0 auto;
	max-width: 800px;
}

.llamabolt-article-dek:empty,
.llamabolt-article-dek:not(:has(p)),
.llamabolt-article-dek > p:empty {
	display: none;
}

.llamabolt-article-dek > p {
	margin: 0;
}

.llamabolt-article-meta {
	align-items: center;
	border-top: 1px solid var(--wp--preset--color--line);
	display: flex;
	font-size: 0.75rem;
	gap: 0.45rem 0.8rem;
	justify-content: center;
	margin: 2.2rem auto 0;
	max-width: 700px;
	padding-top: 1rem;
}

.llamabolt-article-meta .wp-block-post-author-name {
	font-weight: 700;
}

.llamabolt-article-meta .wp-block-post-date {
	color: var(--wp--preset--color--muted);
}

.llamabolt-article-meta .wp-block-post-date::before {
	content: "·";
	margin-right: 0.8rem;
}

.llamabolt-lab-show-author-off .llamabolt-article-meta .wp-block-post-date::before {
	content: none;
	margin-right: 0;
}

.llamabolt-article-share {
	margin-left: auto;
}

.llamabolt-email-share {
	font-size: 0.72rem;
	font-weight: 700;
	text-underline-offset: 0.2em;
}

.llamabolt-article-hero {
	margin-left: auto;
	margin-right: auto;
	max-width: 1180px;
}

.llamabolt-article-hero img {
	background: var(--wp--custom--color--surface-image);
	display: block;
	height: min(72vw, 720px);
	object-fit: cover;
	object-position: center 30%;
	width: 100%;
}

.llamabolt-article-hero figcaption {
	color: var(--wp--preset--color--muted);
	font-size: 0.68rem;
	line-height: 1.45;
	padding: 0.6rem 0;
}

.llamabolt-article-layout {
	box-sizing: border-box;
	display: grid;
	gap: clamp(2rem, 6vw, 5rem);
	grid-template-columns: 210px minmax(0, 690px);
	margin: 4rem auto 0;
	max-width: 1000px;
	min-width: 0;
	padding: 0 var(--wp--custom--gutter);
}

.llamabolt-article:not(:has(.llamabolt-article-hero)) .llamabolt-article-layout {
	margin-top: 1rem;
}

.llamabolt-article-layout:not(:has(.llamabolt-article-aside .wp-block-post-terms)) {
	grid-template-columns: minmax(0, 690px);
	justify-content: center;
}

.llamabolt-article-aside {
	font-size: 0.72rem;
	min-width: 0;
}

.llamabolt-article-aside:not(:has(.wp-block-post-terms)) {
	display: none;
}

.llamabolt-article-aside-label {
	border-top: 2px solid var(--wp--preset--color--ink);
	color: var(--wp--preset--color--orange);
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin: 0 0 0.6rem;
	padding-top: 1rem;
	text-transform: uppercase;
}

.llamabolt-article-aside .wp-block-post-terms a {
	display: inline-block;
	margin: 0.2rem 0;
}

.llamabolt-article-content {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.16rem;
	line-height: 1.75;
	max-width: 690px;
	min-width: 0;
	overflow-wrap: break-word;
}

.llamabolt-article-content > :where(p, ul, ol, blockquote, pre, figure, .wp-block-embed, .wp-block-table, .wp-block-buttons, .wp-block-separator) {
	margin-bottom: 1.55em;
	margin-top: 0;
}

.llamabolt-article-content :where(h2, h3, h4) {
	overflow-wrap: break-word;
	word-break: normal;
}

.llamabolt-article-content h2 {
	font-size: 2.5rem;
	margin-bottom: 0.6em;
	margin-top: 2.2em;
}

.llamabolt-article-content h3 {
	font-size: 1.9rem;
	margin-bottom: 0.6em;
	margin-top: 1.9em;
}

.llamabolt-article-content h4 {
	font-size: 1.45rem;
	margin-bottom: 0.6em;
	margin-top: 1.7em;
}

.llamabolt-article-content :where(ul, ol) {
	padding-left: 1.4em;
}

.llamabolt-article-content :where(li + li) {
	margin-top: 0.45em;
}

.llamabolt-article-content blockquote,
.llamabolt-article-content .wp-block-pullquote {
	background: var(--wp--preset--color--white);
	border-left: 8px solid var(--wp--preset--color--orange);
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.2rem;
	font-style: italic;
	line-height: 1.2;
	padding: 2rem 3.5rem;
}

.llamabolt-article-content .wp-block-pullquote {
	border-bottom: 0;
	border-right: 0;
	border-top: 0;
	text-align: left;
}

.llamabolt-article-content :where(blockquote, .wp-block-pullquote) p,
.llamabolt-article-content :where(blockquote, .wp-block-pullquote) cite {
	font: inherit;
}

.llamabolt-article-content :where(figure, img, iframe, video) {
	max-width: 100%;
}

.llamabolt-article-content :where(.alignwide, .alignfull) {
	box-sizing: border-box;
	left: 50%;
	margin-left: 0;
	margin-right: 0;
	position: relative;
	transform: translateX(-50%);
	width: min(1000px, calc(100vw - (2 * var(--wp--custom--gutter))));
}

.llamabolt-article-content .alignfull {
	max-width: none;
	width: 100vw;
}

.llamabolt-article-content figcaption {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.68rem;
	line-height: 1.45;
}

.llamabolt-article-content :where(pre, code) {
	overflow-wrap: normal;
	tab-size: 4;
}

.llamabolt-article-content pre {
	box-sizing: border-box;
	font-size: 0.88rem;
	line-height: 1.6;
	overflow-x: auto;
	padding: 1rem;
	white-space: pre;
}

.llamabolt-article-content :where(.wp-block-table, .wp-block-embed__wrapper) {
	max-width: 100%;
	overflow-x: auto;
}

.llamabolt-article-content .wp-block-table table {
	min-width: 100%;
}

.llamabolt-article-content .wp-block-button__link {
	background: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--ink);
	border-radius: 0;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--sans);
}

.llamabolt-article-footer {
	box-sizing: border-box;
	margin: 3rem auto 0;
	max-width: 690px;
	padding: 0 var(--wp--custom--gutter);
}

.llamabolt-article-footer:not(:has(> .llamabolt-article-tags a, > .llamabolt-article-author)) {
	margin-top: 0;
}

.llamabolt-article-tags {
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: 0.72rem;
	padding-top: 1.5rem;
}

.llamabolt-article-tags:not(:has(a)) {
	display: none;
}

.llamabolt-article-tags a {
	border: 1px solid var(--wp--preset--color--line);
	display: inline-block;
	margin: 0.25rem;
	padding: 0.4rem 0.65rem;
}

.llamabolt-article-author {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	margin-top: 3rem;
	padding: 2rem;
}

.llamabolt-article-author a {
	color: inherit;
}

.llamabolt-article-navigation {
	align-items: stretch;
	border-bottom: 1px solid var(--wp--preset--color--ink);
	border-top: 1px solid var(--wp--preset--color--ink);
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 6rem auto;
	max-width: 1000px;
}

.llamabolt-article-navigation:not(:has(a)) {
	display: none;
}

.llamabolt-article-navigation > .wp-block-post-navigation-link {
	align-self: stretch;
	box-sizing: border-box;
	display: flex;
	min-width: 0;
	padding: 0;
}

.llamabolt-article-navigation:not([class*="font-family"]):not([style*="font-family"]):not([style*="font:"]) > *:not([class*="font-family"]):not([style*="font-family"]):not([style*="font:"]) {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.4rem;
	line-height: 1.2;
}

.llamabolt-article-navigation:not([class*="font-weight"]):not([style*="font-weight"]):not([style*="font:"]) > *:not([class*="font-weight"]):not([style*="font-weight"]):not([style*="font:"]) {
	font-weight: 700;
}

.llamabolt-article-navigation .post-navigation-link-next {
	border-left: 1px solid var(--wp--preset--color--ink);
	text-align: right;
}

.llamabolt-article-navigation .post-navigation-link-next:first-child {
	border-left: 0;
	grid-column: 2;
}

.llamabolt-article-navigation > .wp-block-post-navigation-link:only-child {
	grid-column: 1 / -1;
}

.llamabolt-article-navigation > .wp-block-post-navigation-link > a {
	box-sizing: border-box;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.5rem;
	justify-content: flex-start;
	min-height: 44px;
	min-width: 0;
	padding: 2rem;
	text-decoration: none;
	width: 100%;
}

.llamabolt-article-navigation .post-navigation-link__label {
	display: block;
	flex: 0 0 auto;
}

.llamabolt-article-navigation .post-navigation-link__title {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
}

.llamabolt-article-navigation a:focus-visible {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: -3px;
}

.llamabolt-article-navigation a {
	overflow-wrap: break-word;
	word-break: normal;
}

@media (max-width: 900px) {
	.llamabolt-article-layout {
		gap: 2rem;
		grid-template-columns: 170px minmax(0, 690px);
	}
}

@media (max-width: 650px) {
	.llamabolt-article-header {
		padding-top: 4rem;
		text-align: left;
	}

	.llamabolt-article-title {
		font-size: clamp(2.6rem, 12vw, 3.25rem);
	}

	.llamabolt-article-meta {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.llamabolt-article-share {
		margin-left: auto;
	}

	.llamabolt-article-hero img {
		height: 90vw;
	}

	.llamabolt-article-hero figcaption {
		padding-left: var(--wp--custom--gutter);
		padding-right: var(--wp--custom--gutter);
	}

	.llamabolt-article-layout,
	.llamabolt-article-layout:not(:has(.llamabolt-article-aside .wp-block-post-terms)) {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 2rem;
	}

	.llamabolt-article-aside {
		order: 0;
	}

	.llamabolt-article-content {
		font-size: 1.08rem;
	}

	.llamabolt-article-content h2 {
		font-size: 2rem;
	}

	.llamabolt-article-content blockquote,
	.llamabolt-article-content .wp-block-pullquote {
		font-size: 1.7rem;
		padding: 1.5rem;
	}

	.llamabolt-article-content :where(.alignwide, .alignfull) {
		width: calc(100vw - (2 * var(--wp--custom--gutter)));
	}

	.llamabolt-article-content .alignfull {
		width: 100vw;
	}

	.llamabolt-article-navigation {
		grid-template-columns: minmax(0, 1fr);
		margin: 4rem var(--wp--custom--gutter);
	}

	.llamabolt-article-navigation .post-navigation-link-next {
		border-left: 0;
		border-top: 1px solid var(--wp--preset--color--ink);
		text-align: left;
	}

	.llamabolt-article-navigation .post-navigation-link-next:first-child {
		border-top: 0;
		grid-column: 1;
	}

	.llamabolt-article-navigation > .wp-block-post-navigation-link > a {
		padding: 1.5rem 1rem;
	}
}

.llamabolt-posts-index {
	box-sizing: border-box;
	padding: clamp(4rem, 9vw, 8rem) var(--wp--custom--gutter);
}

.llamabolt-posts-index-inner {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	min-width: 0;
}

.llamabolt-posts-index :where(.wp-block-query, .wp-block-post-template, .wp-block-group, .wp-block-post-title, .wp-block-post-excerpt, .wp-block-post-terms, .wp-block-post-author-name, .wp-block-post-date, figure) {
	margin-block-start: 0;
}

.llamabolt-posts-index-title {
	font-size: clamp(3.5rem, 8vw, 7rem);
	letter-spacing: -0.05em;
	line-height: 0.9;
	margin: 0 0 clamp(3rem, 7vw, 5rem);
	overflow-wrap: break-word;
	word-break: normal;
}

.llamabolt-posts-list {
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
}

.llamabolt-posts-list > li {
	display: flex;
	flex-direction: column;
	margin-block-start: 0;
}

.llamabolt-posts-list > li > .llamabolt-posts-card {
	flex: 1 1 auto;
}

.llamabolt-posts-card {
	border-bottom: 1px solid var(--wp--preset--color--line);
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	grid-template-columns: 220px minmax(0, 1fr);
	min-width: 0;
	padding: 1.5rem 0;
}

:where(.llamabolt-posts-list > li:first-child) .llamabolt-posts-card {
	border-top: 2px solid var(--wp--preset--color--ink);
}

.llamabolt-posts-card:not(:has(.llamabolt-posts-card-image)) {
	grid-template-columns: minmax(0, 1fr);
}

.llamabolt-posts-card-image {
	align-self: start;
	margin: 0;
	min-width: 0;
}

.llamabolt-posts-card-copy {
	align-self: center;
	margin-block-start: 0 !important;
	min-width: 0;
}

.llamabolt-posts-card-title {
	font-size: var(--wp--preset--font-size--card-heading);
	line-height: 1.05;
	margin: 0.4rem 0 0.65rem;
	overflow-wrap: break-word;
	word-break: normal;
}

.llamabolt-posts-card-title a {
	color: inherit;
	text-decoration: none;
}

.llamabolt-posts-card-title a:hover {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--orange);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

.llamabolt-posts-card:hover .llamabolt-posts-card-image img {
	transform: scale(1.02);
}

.llamabolt-posts-card-excerpt {
	color: var(--wp--custom--color--text-deck);
	margin: 0.5rem 0 1rem;
}

.llamabolt-posts-card-excerpt:empty,
.llamabolt-posts-card-excerpt > p:empty {
	display: none;
}

.llamabolt-posts-card-excerpt > p {
	margin: 0;
}

.llamabolt-posts-pagination {
	border-top: 2px solid var(--wp--preset--color--ink);
	gap: 0.5rem;
	margin-top: 3rem;
	padding-top: 1.5rem;
}

.llamabolt-posts-pagination :where(a, .current) {
	align-items: center;
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	min-height: 42px;
	min-width: 42px;
	padding: 0.55rem 0.75rem;
}

.llamabolt-posts-pagination .current {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.llamabolt-posts-empty {
	box-sizing: border-box;
	max-width: 690px;
	padding: clamp(3rem, 8vw, 5rem) var(--wp--custom--gutter);
	text-align: center;
}

.llamabolt-posts-empty h2 {
	font-size: clamp(2rem, 4vw, 3rem);
	margin-top: 0;
}

@media (max-width: 650px) {
	.llamabolt-posts-index {
		padding-top: 4rem;
	}

	.llamabolt-posts-index-title {
		font-size: clamp(3.25rem, 17vw, 5rem);
		line-height: 0.9;
		margin-bottom: 2.5rem;
	}

	.llamabolt-posts-card,
	.llamabolt-posts-card:not(:has(.llamabolt-posts-card-image)) {
		gap: 1rem;
		grid-template-columns: 105px minmax(0, 1fr);
	}

	.llamabolt-posts-card:not(:has(.llamabolt-posts-card-image)) {
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-posts-card-title {
		font-size: clamp(1.2rem, 5.5vw, 1.45rem);
		line-height: 1.1;
	}

	.llamabolt-posts-pagination {
		justify-content: center;
	}
}

@media (max-width: 430px) {
	.llamabolt-posts-card,
	.llamabolt-posts-card:not(:has(.llamabolt-posts-card-image)) {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Shared category, tag, author, and date archive. */
.llamabolt-archive {
	box-sizing: border-box;
	padding: clamp(4rem, 9vw, 8rem) var(--wp--custom--gutter);
}

.llamabolt-archive-inner {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	min-width: 0;
}

.llamabolt-archive :where(.wp-block-query-title, .wp-block-term-description, .wp-block-query, .wp-block-post-template, .wp-block-group, .wp-block-post-title, .wp-block-post-excerpt, .wp-block-post-terms, .wp-block-post-author-name, .wp-block-post-date, figure) {
	margin-block-start: 0;
}

.llamabolt-archive-title {
	font-size: clamp(5rem, 14vw, 11rem);
	letter-spacing: -0.07em;
	line-height: 0.8;
	margin: 0;
	max-width: 1000px;
	overflow-wrap: break-word;
	word-break: normal;
}

.llamabolt-archive-description {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.1rem, 2vw, 1.5rem);
	font-style: italic;
	line-height: 1.4;
	margin: 1.5rem 0 0;
	max-width: 100%;
	text-wrap: balance;
}

.llamabolt-archive-description:empty,
.llamabolt-archive-description:not(:has(p)) {
	display: none;
}

.llamabolt-archive-description p {
	margin: 0;
}

.llamabolt-archive-query {
	margin-top: clamp(4rem, 8vw, 6rem);
}

.llamabolt-archive-empty {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 690px;
	padding: clamp(3rem, 8vw, 5rem) var(--wp--custom--gutter);
	text-align: center;
}

.llamabolt-archive-empty h2 {
	font-size: clamp(2rem, 4vw, 3rem);
	margin-top: 0;
}

@media (max-width: 650px) {
	.llamabolt-archive {
		padding-top: 4rem;
	}

	.llamabolt-archive-title {
		font-size: 5rem;
		line-height: 0.8;
	}

	.llamabolt-archive-description {
		font-size: 1.1rem;
	}

	.llamabolt-archive-query {
		margin-top: 3rem;
	}

	.llamabolt-archive .llamabolt-posts-card,
	.llamabolt-archive .llamabolt-posts-card:has(.llamabolt-posts-card-image) {
		gap: 1rem;
		grid-template-columns: 105px minmax(0, 1fr);
		padding: 1.25rem 0;
	}

	.llamabolt-archive .llamabolt-posts-card:not(:has(.llamabolt-posts-card-image)) {
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-archive .llamabolt-posts-card-excerpt {
		display: none;
	}

	.llamabolt-archive .llamabolt-posts-card-meta {
		display: none !important;
	}

	.llamabolt-archive .llamabolt-posts-card-title {
		font-size: clamp(1.1rem, 4.8vw, 1.35rem);
		margin-bottom: 0;
	}
}

/* Provider-neutral newsletter presentation. */
.llamabolt-newsletter {
	box-sizing: border-box;
	margin: clamp(4rem, 8vw, 7rem) auto;
	max-width: 1260px;
	padding: 0 var(--wp--custom--gutter);
}

.llamabolt-newsletter-inner {
	background: var(--wp--preset--color--lime);
	border: 2px solid var(--wp--preset--color--ink);
	box-shadow: 10px 10px 0 var(--wp--preset--color--ink);
	box-sizing: border-box;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
	padding: clamp(2rem, 5vw, 4.5rem);
}

.llamabolt-newsletter-inner:not(:has(.llamabolt-newsletter-provider > *)) {
	grid-template-columns: minmax(0, 1fr);
}

.llamabolt-newsletter :where(h2, p) {
	margin-block-start: 0;
}

.llamabolt-newsletter h2 {
	font-size: clamp(2.5rem, 6vw, 5rem);
	line-height: 0.9;
	max-width: 10ch;
}

.llamabolt-newsletter-provider :where(label, input, button, .wp-block-button__link) {
	box-sizing: border-box;
	font: inherit;
}

.llamabolt-newsletter-provider label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.llamabolt-newsletter-provider :where(input:not([type="checkbox"]):not([type="radio"]), button, .wp-block-button__link) {
	border: 2px solid var(--wp--preset--color--ink);
	min-height: 46px;
}

.llamabolt-newsletter-provider input:not([type="checkbox"]):not([type="radio"]) {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	padding: 0.75rem;
}

.llamabolt-newsletter-provider :where(button, .wp-block-button__link) {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	cursor: pointer;
	font-weight: 700;
	padding: 0.75rem 1.25rem;
}

@media (max-width: 650px) {
	.llamabolt-newsletter-inner {
		box-shadow: 6px 6px 0 var(--wp--preset--color--ink);
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-newsletter h2 {
		font-size: 2.5rem;
	}

	.llamabolt-newsletter-provider :where(input:not([type="checkbox"]):not([type="radio"]), button, .wp-block-button__link) {
		width: 100%;
	}
}

/* Editorial front page. */
.llamabolt-front-page,
.llamabolt-front-page > * {
	margin-block-start: 0 !important;
}

.llamabolt-home-container {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1260px !important;
	min-width: 0;
	width: calc(100% - (2 * var(--wp--custom--gutter))) !important;
}

.llamabolt-front-page :where(.wp-block-query, .wp-block-post-template, .wp-block-group, .wp-block-post-title, .wp-block-post-excerpt, .wp-block-post-terms, .wp-block-post-author-name, .wp-block-post-date, figure) {
	margin-block-start: 0;
}

.llamabolt-front-page .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}

.llamabolt-front-page :where(.wp-block-post-title, .wp-block-post-title a) {
	overflow-wrap: anywhere;
}

.llamabolt-front-page .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.llamabolt-front-page .wp-block-post-title a:hover {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--orange);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.18em;
}

.llamabolt-eyebrow {
	color: var(--wp--preset--color--orange);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.llamabolt-eyebrow:empty,
.llamabolt-story-excerpt:empty,
.llamabolt-story-excerpt:has(.wp-block-post-excerpt__excerpt:empty) {
	display: none;
}

.llamabolt-story-meta {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--metadata);
	font-weight: 700;
	gap: 0.35rem 0.8rem;
	letter-spacing: 0.06em;
	line-height: 1.4;
	text-transform: uppercase;
}

.llamabolt-story-meta a {
	color: inherit;
}

.llamabolt-template-section-title {
	font-size: var(--wp--preset--font-size--section-heading);
}

.llamabolt-template-card-title {
	font-size: var(--wp--preset--font-size--card-heading);
}

.llamabolt-story-image {
	background: var(--wp--custom--color--surface-image);
	overflow: hidden;
}

.llamabolt-story-image,
.llamabolt-story-image a,
.llamabolt-story-image img {
	display: block;
	width: 100%;
}

.llamabolt-story-image img {
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transition: transform 0.25s ease;
}

.llamabolt-story-card:hover .llamabolt-story-image img,
.llamabolt-lead-story:hover .llamabolt-story-image img {
	transform: scale(1.02);
}

.llamabolt-lead-grid {
	box-sizing: border-box;
	display: grid;
	gap: var(--wp--custom--gutter);
	grid-template-columns: minmax(0, 2.15fr) minmax(260px, 0.85fr);
	padding-bottom: var(--wp--custom--gutter);
	padding-top: var(--wp--custom--gutter);
}

.llamabolt-lead-grid:not(:has(.llamabolt-supporting-query .wp-block-post-template > *)) {
	grid-template-columns: minmax(0, 1fr);
}

.llamabolt-lead-grid:not(:has(.llamabolt-lead-query .wp-block-post-template > *)),
.llamabolt-ticker:not(:has(.llamabolt-ticker-query .wp-block-post-template > *)),
.llamabolt-front-section:not(:has(.wp-block-post-template > *)),
.llamabolt-lead-side:not(:has(.llamabolt-supporting-query .wp-block-post-template > *)),
.llamabolt-front-page .wp-block-query:not(:has(.wp-block-post-template > *)) {
	display: none;
}

.llamabolt-lead-story {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	min-height: 590px;
}

.llamabolt-lead-story:not(:has(.llamabolt-lead-image)) {
	grid-template-columns: minmax(0, 1fr);
}

.llamabolt-lead-image {
	aspect-ratio: auto !important;
	height: 100%;
	margin: 0;
	min-height: 460px;
}

.llamabolt-lead-copy {
	align-self: stretch;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-width: 0;
	padding: clamp(1.75rem, 4vw, 3.5rem);
}

.llamabolt-lead-title {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.35rem, 4.1vw, 4.6rem);
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 1.02;
	margin: 0.65rem 0 1.25rem;
	overflow-wrap: break-word;
}

.llamabolt-lead-copy .llamabolt-lead-title {
	margin-block-end: clamp(0.75rem, 1.25vw, 1rem);
}

.llamabolt-lead-copy .llamabolt-story-excerpt {
	color: var(--wp--custom--color--text-on-feature);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.45;
	margin: 0 0 1.25rem;
	overflow-wrap: break-word;
}

.llamabolt-lead-copy .llamabolt-story-meta,
.llamabolt-lead-copy .llamabolt-story-meta a {
	color: var(--wp--custom--color--text-on-feature-muted);
}

.llamabolt-lead-side {
	align-self: start;
	border-top: 8px solid var(--wp--preset--color--orange);
	margin-block-start: 0 !important;
	min-width: 0;
}

.llamabolt-lead-side > h2 {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.4rem;
	font-style: italic;
	font-weight: 400;
	line-height: 1.2;
	margin: 1rem 0 2rem;
}

.llamabolt-supporting-query .wp-block-post-template {
	display: grid;
	row-gap: 1.5rem;
}

.llamabolt-supporting-query .wp-block-post-template > li {
	margin-block-start: 0;
}

.llamabolt-supporting-query .wp-block-post-template > li:has(.llamabolt-story-card) {
	display: flex;
	flex-direction: column;
}

.llamabolt-supporting-query .wp-block-post-template > li:has(.llamabolt-story-card) > .wp-block-group:has(.llamabolt-story-card) {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.llamabolt-supporting-query .wp-block-post-template > li .llamabolt-story-card {
	flex: 1 1 auto;
}

.llamabolt-supporting-query .wp-block-post-template > li .llamabolt-story-card-small {
	margin-block-end: 0;
}

.llamabolt-story-card-small {
	align-items: start;
	border-bottom: 1px solid var(--wp--preset--color--line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 92px minmax(0, 1fr);
	margin: 0 0 1.25rem;
	padding: 0 0 1.25rem;
}

.llamabolt-story-card-small:not(:has(.llamabolt-story-image)) {
	grid-template-columns: minmax(0, 1fr);
	padding-right: 1rem;
}

.llamabolt-story-card-small .llamabolt-story-image {
	align-self: start;
	margin: 0;
}

.llamabolt-story-card-small .llamabolt-story-copy {
	align-self: start;
	margin-block-start: 0 !important;
	min-width: 0;
}

.llamabolt-ticker {
	align-items: stretch;
	border: 1px solid var(--wp--preset--color--ink);
	box-sizing: border-box;
	font-size: 0.76rem;
	margin: 0 auto;
	padding: 0;
}

.llamabolt-ticker > h2 {
	align-items: center;
	background: var(--wp--preset--color--lime);
	border-right: 1px solid var(--wp--preset--color--ink);
	display: flex;
	flex: none;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.25;
	margin: 0;
	padding: 0.85rem 1.2rem;
	text-transform: uppercase;
}

.llamabolt-ticker-query,
.llamabolt-ticker-query .wp-block-post-template {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
}

.llamabolt-ticker-query .wp-block-post-template > li {
	border-right: 1px solid var(--wp--preset--color--ink);
	display: flex;
	flex: 1 1 0;
	min-width: 0;
}

.llamabolt-ticker-query .wp-block-post-template > li:last-child {
	border-right: 0;
}

.llamabolt-ticker .wp-block-post-title {
	display: flex;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.76rem;
	font-weight: 400;
	line-height: 1.35;
	margin: 0;
	width: 100%;
}

.llamabolt-ticker .wp-block-post-title a {
	align-items: center;
	display: flex;
	padding: 0.85rem 1.2rem;
	width: 100%;
}

.llamabolt-ticker .wp-block-post-title a:hover {
	background: var(--wp--preset--color--white);
}

.llamabolt-front-section {
	box-sizing: border-box;
	padding-bottom: clamp(3rem, 7vw, 6.5rem);
	padding-top: clamp(3rem, 7vw, 6.5rem);
}

.llamabolt-latest-section {
	margin-block-start: 0 !important;
	padding-top: clamp(2rem, 3vw, 3rem);
}

.llamabolt-section-heading {
	align-items: baseline;
	border-top: 2px solid var(--wp--preset--color--ink);
	gap: 1rem;
	padding: 1rem 0 2.2rem;
}

.llamabolt-section-heading > p {
	color: var(--wp--preset--color--orange);
	font-size: var(--wp--preset--font-size--metadata);
	font-weight: 800;
	margin: 0;
}

.llamabolt-section-heading > h2 {
	font-size: var(--wp--preset--font-size--section-heading);
	letter-spacing: -0.04em;
	line-height: 1;
	margin: 0;
	overflow-wrap: anywhere;
}

.llamabolt-latest-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.llamabolt-story-card {
	min-width: 0;
}

.llamabolt-front-page .wp-block-post-template.is-layout-grid > li:has(.llamabolt-story-card),
.llamabolt-pattern-section .wp-block-post-template.is-layout-grid > li:has(.llamabolt-story-card) {
	display: flex;
	flex-direction: column;
}

.llamabolt-front-page .wp-block-post-template.is-layout-grid > li > .wp-block-group:has(.llamabolt-story-card),
.llamabolt-pattern-section .wp-block-post-template.is-layout-grid > li > .wp-block-group:has(.llamabolt-story-card) {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.llamabolt-front-page .wp-block-post-template.is-layout-grid > li .llamabolt-story-card,
.llamabolt-pattern-section .wp-block-post-template.is-layout-grid > li .llamabolt-story-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin-block: 0;
	min-width: 0;
	flex: 1 1 auto;
}

.llamabolt-story-card .llamabolt-story-image {
	margin: 0 0 1rem;
}

.llamabolt-story-card .wp-block-post-title {
	font-size: var(--wp--preset--font-size--card-heading);
	line-height: 1.05;
	margin: 0.4rem 0 0.65rem;
}

.llamabolt-lead-side .llamabolt-story-card-small .wp-block-post-title {
	font-size: clamp(1.05rem, 0.85rem + 0.35vw, 1.25rem);
	letter-spacing: -0.015em;
	line-height: 1.12;
	margin: 0.35rem 0 0;
}

.llamabolt-latest-grid .wp-block-post-title {
	font-size: clamp(1.35rem, 1.1rem + 0.35vw, 1.6rem);
	letter-spacing: -0.025em;
	line-height: 1.08;
}

.llamabolt-story-card .llamabolt-story-excerpt {
	color: var(--wp--custom--color--text-deck);
	margin: 0.5rem 0 1rem;
}

.llamabolt-feature-section {
	background: var(--wp--custom--color--surface-section);
	padding-left: 0;
	padding-right: 0;
}

.llamabolt-split-feature {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 6vw, 5rem);
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
}

.llamabolt-split-feature:not(:has(.llamabolt-numbered-query .wp-block-post-template > *)) {
	grid-template-columns: minmax(0, 1fr);
}

.llamabolt-feature-card .llamabolt-story-image {
	margin-bottom: 1.25rem;
}

.llamabolt-feature-card .llamabolt-story-copy {
	max-width: none;
	min-width: 0;
	width: 100%;
}

.llamabolt-feature-card .wp-block-post-title {
	font-size: clamp(2.1rem, 3.4vw, 3.35rem);
	line-height: 0.98;
	max-width: none;
}

.llamabolt-feature-card .llamabolt-story-excerpt {
	max-width: 48ch;
}

.llamabolt-numbered-list {
	border-top: 2px solid var(--wp--preset--color--ink);
	counter-reset: story;
}

.llamabolt-numbered-list > li {
	counter-increment: story;
}

.llamabolt-numbered-list .llamabolt-story-card {
	border-bottom: 1px solid var(--wp--preset--color--ink);
	padding: 1.4rem 0 1.4rem 3.5rem;
	position: relative;
}

.llamabolt-numbered-list .llamabolt-story-card::before {
	color: var(--wp--preset--color--orange);
	content: "0" counter(story);
	font-size: 0.72rem;
	font-weight: 800;
	left: 0;
	position: absolute;
	top: 1.65rem;
}

.llamabolt-numbered-list .wp-block-post-title {
	font-size: clamp(1.35rem, 2vw, 2rem);
}

.llamabolt-mixed-grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr) minmax(0, 0.9fr);
}

.llamabolt-mixed-grid > .wp-block-query {
	min-width: 0;
}

.llamabolt-mixed-grid:has(.llamabolt-mixed-primary-query:not(:has(.wp-block-post-template > *))) {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.llamabolt-mixed-grid:has(.llamabolt-mixed-accent-query:not(:has(.wp-block-post-template > *))):has(.llamabolt-mixed-secondary-query:not(:has(.wp-block-post-template > *))) {
	grid-template-columns: minmax(0, 1fr);
}

.llamabolt-mixed-accent {
	background: var(--wp--preset--color--orange);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 100%;
	padding: 2rem;
}

.llamabolt-mixed-accent .llamabolt-eyebrow {
	color: var(--wp--preset--color--ink);
}

.llamabolt-mixed-accent .wp-block-post-title {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.5rem, 2.5vw, 2.2rem);
	font-style: italic;
	line-height: 1.2;
	margin: 1rem 0;
}

.llamabolt-mixed-accent .llamabolt-story-excerpt {
	font-family: var(--wp--preset--font-family--serif);
	margin-top: auto;
}

@media (max-width: 1000px) {
	.llamabolt-latest-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.llamabolt-lead-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-lead-side .wp-block-post-template {
		gap: 1rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.llamabolt-story-card-small,
	.llamabolt-story-card-small:not(:has(.llamabolt-story-image)) {
		display: block;
		padding-right: 0;
	}

	.llamabolt-story-card-small .llamabolt-story-image {
		aspect-ratio: 4 / 3 !important;
		margin-bottom: 1rem;
	}

	.llamabolt-mixed-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.llamabolt-mixed-primary-query {
		grid-column: 1 / -1;
	}
}

@media (max-width: 650px) {
	.llamabolt-lead-story {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.llamabolt-lead-image {
		aspect-ratio: auto !important;
		height: auto;
		min-height: 0;
	}

	.llamabolt-lead-image img {
		display: block;
		height: auto !important;
		object-fit: cover;
		width: 100%;
	}

	.llamabolt-lead-copy {
		padding: 1.75rem;
	}

	.llamabolt-lead-title {
		font-size: 2.7rem;
	}

	.llamabolt-lead-side .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.llamabolt-supporting-query .wp-block-post-template {
		row-gap: 1rem;
	}

	.llamabolt-lead-side .wp-block-post-template > li:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.llamabolt-lead-side .llamabolt-story-card-small {
		display: block;
		width: 100%;
	}

	.llamabolt-lead-side .llamabolt-story-card-small .llamabolt-story-image {
		aspect-ratio: 4 / 3 !important;
		margin-bottom: 1rem;
	}

	.llamabolt-lead-side .llamabolt-story-copy {
		align-self: start;
		margin-block-start: 0 !important;
		min-width: 0;
	}

	.llamabolt-ticker {
		align-items: stretch;
		display: block !important;
		overflow: visible;
	}

	.llamabolt-ticker > h2 {
		border-bottom: 1px solid var(--wp--preset--color--ink);
		border-right: 0;
		box-sizing: border-box;
		min-width: 0;
		width: 100%;
	}

	.llamabolt-ticker-query,
	.llamabolt-ticker-query .wp-block-post-template {
		display: block !important;
		min-width: 0;
		width: 100%;
	}

	.llamabolt-ticker-query .wp-block-post-template > li {
		border-bottom: 1px solid var(--wp--preset--color--ink);
		border-right: 0;
		min-width: 0;
		width: 100%;
	}

	.llamabolt-ticker-query .wp-block-post-template > li:last-child {
		border-bottom: 0;
	}

	.llamabolt-latest-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-front-page .llamabolt-split-feature,
	.llamabolt-front-page .llamabolt-mixed-grid {
		display: block !important;
		grid-template-columns: none !important;
		width: 100%;
	}

	.llamabolt-front-page .llamabolt-split-feature > .wp-block-query,
	.llamabolt-front-page .llamabolt-mixed-grid > .wp-block-query {
		float: none !important;
		grid-column: auto !important;
		grid-row: auto !important;
		max-width: none !important;
		min-width: 0;
		position: static !important;
		transform: none !important;
		width: 100% !important;
	}

	.llamabolt-front-page .llamabolt-split-feature > .wp-block-query + .wp-block-query,
	.llamabolt-front-page .llamabolt-mixed-grid > .wp-block-query + .wp-block-query {
		margin-block-start: clamp(2rem, 8vw, 3rem) !important;
	}

	.llamabolt-front-page :where(.llamabolt-split-feature, .llamabolt-mixed-grid) :where(.wp-block-post-template, .wp-block-post-template > li, article) {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
		width: 100% !important;
	}

	.llamabolt-front-page :where(.llamabolt-latest-grid, .llamabolt-lead-side, .llamabolt-split-feature, .llamabolt-mixed-grid) .wp-block-post-title {
		font-size: clamp(1.15rem, 1.1rem + 0.35vw, 1.3rem);
		line-height: 1.12;
		overflow-wrap: break-word;
		word-break: normal;
	}

	.llamabolt-feature-card .wp-block-post-title,
	.llamabolt-mixed-primary .wp-block-post-title {
		font-size: clamp(1.45rem, 1.35rem + 0.5vw, 1.6rem);
		line-height: 1.06;
	}

	.llamabolt-lead-side .llamabolt-story-card-small .wp-block-post-title {
		font-size: 1rem;
		line-height: 1.18;
	}

	.llamabolt-mixed-primary-query {
		grid-column: auto !important;
	}
}

@media (max-width: 355px) {
	.llamabolt-lead-side .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}

	.llamabolt-lead-side .wp-block-post-template > li:last-child:nth-child(odd) {
		grid-column: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.llamabolt-story-image img {
		transition: none;
	}

	.llamabolt-posts-card:hover .llamabolt-story-image img,
	.llamabolt-story-card:hover .llamabolt-story-image img,
	.llamabolt-lead-story:hover .llamabolt-story-image img {
		transform: none;
	}
}
