/*
 * First Commons Bank — site styles.
 *
 * Decisions (see DESIGN.md): palette from Kadence global colors (1 moss, 2 leaf, 3 elm,
 * 4 ink, 5 slate, 6 line, 7 fog, 8 mist, 9 white); Libre Franklin for headings and UI,
 * Source Serif 4 for prose; the "commons line" (leaf-green wave from the logo) marks the
 * edge of every title band and the rail of tiered accounts — nowhere else.
 * Breakpoints: 544 / 768 / 1024 / 1200. Prefix: x-.
 */

/* ---------- Tokens ---------- */
:root {
	--x-moss: var(--global-palette1, #2f6b3a);
	--x-leaf: var(--global-palette2, #86bc45);
	--x-elm: var(--global-palette3, #173f2a);
	--x-ink: var(--global-palette4, #1f2a24);
	--x-slate: var(--global-palette5, #56635b);
	--x-line: var(--global-palette6, #cfd9cc);
	--x-fog: var(--global-palette7, #e9efe5);
	--x-mist: var(--global-palette8, #f5f8f2);
	--x-white: var(--global-palette9, #fff);
	--x-sans: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
	--x-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
	--x-wrap: var(--global-content-width, 1240px);
	--x-pad: var(--global-content-edge-padding, 1.5rem);
	--x-measure: 46rem;
	--x-band: clamp(3.5rem, 7vw, 6rem);
	--x-gap: clamp(1.5rem, 3vw, 2.75rem);
}

/* ---------- Base ---------- */
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
	letter-spacing: -0.012em;
	text-wrap: balance;
}

.entry-content a:not(.wp-block-button__link) {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.entry-content a:not(.wp-block-button__link):hover {
	text-decoration-thickness: 2px;
	color: var(--x-elm);
}

a[href^="tel:"] {
	white-space: nowrap;
}

:where(a, button, summary, input):focus-visible {
	outline: 3px solid var(--x-leaf);
	outline-offset: 2px;
	border-radius: 2px;
}

.entry-content sup {
	font-size: 0.6em;
}

/* Prose keeps a readable measure; wide components span the container. */
.single-content > p,
.single-content > ul,
.single-content > ol,
.single-content > h2,
.single-content > h3 {
	max-width: var(--x-measure);
}

.single-content > h2 {
	margin-top: 2.6em;
}

.single-content > h2:first-child {
	margin-top: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-lead {
	font-size: clamp(1.18rem, 1.6vw, 1.36rem);
	line-height: 1.5;
	color: var(--x-elm);
}

:is(.entry-content, .editor-styles-wrapper) p.x-label {
	font-family: var(--x-sans);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--x-slate);
	margin: 0 0 0.6rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-note,
:is(.entry-content, .editor-styles-wrapper) .x-fineprint {
	font-size: 0.94rem;
	line-height: 1.55;
	color: var(--x-slate);
}

:is(.entry-content, .editor-styles-wrapper) .x-callout {
	background: var(--x-mist);
	border-left: 4px solid var(--x-leaf);
	padding: 1.1rem 1.4rem;
}

.single-content > .x-callout {
	max-width: var(--x-measure);
}

:is(.entry-content, .editor-styles-wrapper) .x-reach {
	font-family: var(--x-sans);
	font-size: 1.02rem;
}

/* Archive photographs (324px originals) sit beside the prose, never stretched. */
:is(.entry-content, .editor-styles-wrapper) .x-aside {
	margin: 1.5rem 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-aside img {
	width: 324px;
	max-width: 100%;
	height: auto;
	border-radius: 4px;
}

@media (min-width: 1025px) {
	:is(.entry-content, .editor-styles-wrapper) .x-aside {
		float: right;
		margin: 0.4rem 0 2rem 2.5rem;
	}
}

/* ---------- Header: top bar ---------- */
.site-top-header-wrap {
	font-family: var(--x-sans);
	font-size: 0.875rem;
	color: #dbe8d3;
}

.site-top-header-wrap .header-html p {
	margin: 0;
}

.x-topbar__item + .x-topbar__item {
	margin-left: 1.6rem;
}

.site-top-header-wrap a {
	color: var(--x-white);
	font-weight: 600;
	text-decoration: none;
}

.site-top-header-wrap a:hover {
	color: var(--x-leaf);
}

.site-top-header-wrap .secondary-navigation .menu > li > a {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	font-weight: 500;
}

/* ---------- Header: main ---------- */
.site-main-header-wrap .site-header-row-container-inner {
	border-bottom: 1px solid var(--x-fog);
}

.main-navigation .primary-menu-container > ul > li.menu-item > a {
	position: relative;
}

.main-navigation .primary-menu-container > ul > li.current-menu-item > a::after,
.main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a::after {
	content: "";
	position: absolute;
	left: calc(var(--global-header-nav-spacing, 1.4em) / 2);
	right: calc(var(--global-header-nav-spacing, 1.4em) / 2);
	bottom: 0.9em;
	height: 3px;
	background: var(--x-leaf);
	border-radius: 2px;
}

.header-navigation .header-menu-container ul ul.sub-menu {
	box-shadow: 0 14px 34px rgba(23, 63, 42, 0.14);
	border-top: 3px solid var(--x-leaf);
}

.header-navigation .header-menu-container ul ul li.menu-item > a {
	padding-top: 0.75em;
	padding-bottom: 0.75em;
}

/* The last dropdowns open leftwards so they never cross the right edge. */
.header-navigation .primary-menu-container > ul > li:nth-last-child(-n+3) > ul.sub-menu {
	left: auto;
	right: 0;
}

/* Mobile drawer */
#mobile-drawer .drawer-content {
	padding-top: 1rem;
}

.x-popup-contact {
	font-family: var(--x-sans);
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--x-slate);
	margin: 1.5rem 0 0;
}

.x-popup-contact a {
	color: var(--x-elm);
	font-weight: 600;
}

/* ---------- Title band (Kadence "above" hero with featured image) ---------- */
.entry-hero.page-hero-section .entry-hero-container-inner {
	position: relative;
	background-color: var(--x-elm);
	background-size: cover;
	background-position: 70% 50%;
	padding-bottom: 2.4rem;
}

.entry-hero.page-hero-section .hero-section-overlay {
	background: linear-gradient(90deg, rgba(23, 63, 42, 0.97) 0%, rgba(23, 63, 42, 0.94) 36%, rgba(23, 63, 42, 0.62) 60%, rgba(23, 63, 42, 0.12) 86%);
}

.entry-hero.page-hero-section .entry-hero-container-inner::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: clamp(26px, 3.4vw, 50px);
	background: url("../img/wave-edge.svg") center bottom / 100% 100% no-repeat;
	pointer-events: none;
}

.entry-hero .entry-header {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.entry-hero .entry-header .entry-title {
	max-width: 21ch;
	text-wrap: balance;
	letter-spacing: -0.02em;
}

.single-content h1,
.entry-hero h1.entry-title {
	font-size: clamp(2.1rem, 4.2vw, 3.4rem);
}

.entry-hero .kadence-breadcrumbs {
	font-family: var(--x-sans);
	margin-bottom: 0.9rem;
}

.entry-hero .kadence-breadcrumbs a {
	text-decoration: none;
}

.entry-hero .kadence-breadcrumbs a:hover {
	text-decoration: underline;
}

.entry-hero .kadence-breadcrumbs .bc-delimiter {
	padding: 0 0.45em;
	opacity: 0.6;
}

/* Section navigation (plugin) */
.x-sectionnav {
	background: var(--x-white);
	border-bottom: 1px solid var(--x-fog);
}

.x-sectionnav__inner {
	max-width: var(--x-wrap);
	margin: 0 auto;
	padding: 0 var(--x-pad);
}

.x-sectionnav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.9rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.x-sectionnav a {
	display: block;
	position: relative;
	padding: 0.95rem 0 0.85rem;
	font-family: var(--x-sans);
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--x-slate);
	text-decoration: none;
}

.x-sectionnav a:hover {
	color: var(--x-elm);
}

.x-sectionnav a[aria-current="page"] {
	color: var(--x-elm);
	font-weight: 700;
}

.x-sectionnav a[aria-current="page"]::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 3px;
	background: var(--x-leaf);
}

/* ---------- Lists ---------- */
/* Component lists (x-*) draw their own markers and indents. */
.single-content ul[class*="x-"],
.single-content ol[class*="x-"] {
	padding-left: 0;
}

.single-content ul.wp-block-list:not([class*="x-"]) {
	padding-left: 1.2em;
}

.single-content ul.wp-block-list:not([class*="x-"]) > li::marker {
	color: var(--x-moss);
}

.single-content li + li {
	margin-top: 0.35em;
}

:is(.entry-content, .editor-styles-wrapper) .x-checks {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
	gap: 0.9rem 2.2rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-checks li {
	position: relative;
	padding-left: 2.1rem;
	margin: 0 !important; /* overrides the generic li + li rhythm inside grids */
	font-family: var(--x-sans);
	font-size: 1.04rem;
	line-height: 1.45;
}

:is(.entry-content, .editor-styles-wrapper) .x-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.08em;
	width: 1.3rem;
	height: 1.3rem;
	background: url("../img/check.svg") center / contain no-repeat;
}

.single-content > .x-checks {
	max-width: none;
	margin: 2rem 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-terms {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0;
}

.single-content > .x-terms {
	max-width: var(--x-measure);
}

:is(.entry-content, .editor-styles-wrapper) .x-terms li {
	padding: 1rem 0;
	border-top: 1px solid var(--x-fog);
	margin: 0 !important; /* rows carry their own spacing */
}

:is(.entry-content, .editor-styles-wrapper) .x-terms li:last-child {
	border-bottom: 1px solid var(--x-fog);
}

:is(.entry-content, .editor-styles-wrapper) .x-terms strong:first-child {
	display: block;
	font-family: var(--x-sans);
	font-size: 1.06rem;
	color: var(--x-elm);
	margin-bottom: 0.2rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-jump {
	list-style: none;
	padding: 0;
	margin: 0 0 2.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.single-content > .x-jump {
	max-width: none;
}

:is(.entry-content, .editor-styles-wrapper) .x-jump li {
	margin: 0 !important; /* chips sit in a flex row */
}

:is(.entry-content, .editor-styles-wrapper) .x-jump a {
	display: inline-block;
	padding: 0.45rem 0.95rem;
	border: 1px solid var(--x-line);
	border-radius: 999px;
	font-family: var(--x-sans);
	font-size: 0.92rem;
	font-weight: 500;
	color: var(--x-elm);
	text-decoration: none !important; /* chips, not inline links */
	background: var(--x-white);
}

:is(.entry-content, .editor-styles-wrapper) .x-jump a:hover {
	border-color: var(--x-moss);
	background: var(--x-mist);
}

/* ---------- Product rows ---------- */
:is(.entry-content, .editor-styles-wrapper) .x-products {
	margin: 2.5rem 0 3rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-product.wp-block-columns {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.3fr) minmax(0, 1fr);
	gap: var(--x-gap);
	margin: 0;
	padding: 2.4rem 0;
	border-top: 1px solid var(--x-line);
}

:is(.entry-content, .editor-styles-wrapper) .x-product.wp-block-columns:last-child {
	border-bottom: 1px solid var(--x-line);
}

:is(.entry-content, .editor-styles-wrapper) .x-product > .wp-block-column {
	margin: 0;
	min-width: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-product__name {
	font-size: clamp(1.4rem, 2vw, 1.7rem);
	margin: 0 0 0.45rem;
}

:is(.entry-content, .editor-styles-wrapper) p.x-tagline {
	font-style: italic;
	color: var(--x-slate);
	margin: 0 0 0.9rem;
}

:is(.entry-content, .editor-styles-wrapper) p.x-ratelink {
	font-family: var(--x-sans);
	font-size: 0.98rem;
	font-weight: 600;
	margin: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-product ul.wp-block-list {
	margin: 0;
	padding-left: 1.15em !important; /* tighter than prose lists */
}

:is(.entry-content, .editor-styles-wrapper) .x-product li {
	line-height: 1.5;
}

:is(.entry-content, .editor-styles-wrapper) .x-product__reqs {
	background: var(--x-mist);
	padding: 1.2rem 1.4rem;
	border-radius: 4px;
	align-self: start;
}

:is(.entry-content, .editor-styles-wrapper) p.x-plus {
	font-family: var(--x-sans);
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--x-moss);
	margin: 0 0 0.4rem;
}

/* Tier ladder: Plus → Premier → Platinum, joined by the commons line */
:is(.entry-content, .editor-styles-wrapper) .x-products--ladder .x-product.wp-block-columns {
	position: relative;
	padding-left: 2.6rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-products--ladder .x-product::before {
	content: "";
	position: absolute;
	left: 0.55rem;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--x-leaf);
}

:is(.entry-content, .editor-styles-wrapper) .x-products--ladder .x-product:first-child::before {
	top: 3.1rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-products--ladder .x-product:last-child::before {
	bottom: auto;
	height: 3.1rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-products--ladder .x-product::after {
	content: "";
	position: absolute;
	left: 0;
	top: 2.55rem;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	background: var(--x-white);
	border: 3px solid var(--x-leaf);
	box-sizing: border-box;
}

:is(.entry-content, .editor-styles-wrapper) .x-products--ladder .x-product:last-child::after {
	background: var(--x-leaf);
}

/* ---------- Loans, services ---------- */
:is(.entry-content, .editor-styles-wrapper) .x-loans.wp-block-columns,
:is(.entry-content, .editor-styles-wrapper) .x-services {
	margin: 2.5rem 0;
	gap: var(--x-gap);
}

:is(.entry-content, .editor-styles-wrapper) .x-loans__col {
	border-top: 3px solid var(--x-leaf);
	padding-top: 1.2rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-loans__col h2,
:is(.entry-content, .editor-styles-wrapper) .x-service__title {
	font-size: 1.3rem;
	margin: 0 0 0.8rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-services > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-services.is-layout-flow {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
	gap: 2rem var(--x-gap);
}

:is(.entry-content, .editor-styles-wrapper) .x-service {
	border-top: 1px solid var(--x-line);
	padding-top: 1.2rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-service > .wp-block-group__inner-container > :last-child,
:is(.entry-content, .editor-styles-wrapper) .x-service > :last-child {
	margin-bottom: 0;
}

/* ---------- Tables ---------- */
.single-content .wp-block-table {
	margin: 1.5rem 0;
	overflow-x: auto;
}

.single-content .wp-block-table table {
	font-family: var(--x-sans);
	font-size: 0.98rem;
	font-variant-numeric: tabular-nums;
	border-collapse: collapse;
	width: 100%;
}

.single-content .wp-block-table th,
.single-content .wp-block-table td {
	border: 0;
	border-bottom: 1px solid var(--x-fog);
	padding: 0.8rem 1rem;
	text-align: left;
	vertical-align: top;
}

.single-content .wp-block-table thead th {
	border-bottom: 2px solid var(--x-elm);
	color: var(--x-elm);
	font-weight: 700;
	font-size: 0.9rem;
}

.single-content .wp-block-table thead {
	border-bottom: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-rates td:first-child {
	font-weight: 600;
	color: var(--x-elm);
}

.x-rates tbody tr:hover td {
	background: var(--x-mist);
}

/* Mortgage table: three rows per term; the repeated term is kept for screen readers but visually quiet. */
.x-rates--grouped tbody tr:nth-child(3n + 1) td {
	border-top: 1px solid var(--x-line);
}

.x-rates--grouped tbody tr:not(:nth-child(3n + 1)) td:first-child {
	color: transparent;
}

:is(.entry-content, .editor-styles-wrapper) .x-rates--pairs td:last-child {
	text-align: right;
}

:is(.entry-content, .editor-styles-wrapper) .x-hours table {
	font-size: 0.98rem;
	table-layout: auto;
}

:is(.entry-content, .editor-styles-wrapper) .x-hours td:last-child {
	white-space: nowrap;
}

:is(.entry-content, .editor-styles-wrapper) .x-hours td {
	padding: 0.45rem 0 !important; /* compact two-column list */
}

:is(.entry-content, .editor-styles-wrapper) .x-hours td:last-child {
	text-align: right;
}

/* ---------- Rates page ---------- */
:is(.entry-content, .editor-styles-wrapper) .x-rateblock {
	padding: 2.6rem 0 1rem;
	border-top: 1px solid var(--x-line);
	scroll-margin-top: 2rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-rateblock h2 {
	margin-top: 0;
	scroll-margin-top: 2rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-limits.wp-block-columns {
	gap: var(--x-gap);
	margin-top: 2rem;
	align-items: start;
}

:is(.entry-content, .editor-styles-wrapper) .x-limits__table {
	background: var(--x-mist);
	padding: 1.4rem 1.6rem 0.4rem;
	border-radius: 4px;
}

:is(.entry-content, .editor-styles-wrapper) .x-limits__table h3 {
	font-size: 1.1rem;
	margin: 0;
}

.single-content .x-facts {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0;
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid var(--x-line);
	border-left: 1px solid var(--x-line);
	max-width: none;
}

:is(.entry-content, .editor-styles-wrapper) .x-facts li {
	flex: 1 1 11.5rem;
	border-right: 1px solid var(--x-line);
	border-bottom: 1px solid var(--x-line);
	background: var(--x-white);
	padding: 1.1rem 1.2rem;
	margin: 0 !important; /* grid cells */
	font-family: var(--x-sans);
	font-size: 0.9rem;
	color: var(--x-slate);
}

:is(.entry-content, .editor-styles-wrapper) .x-facts strong {
	display: block;
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--x-elm);
	line-height: 1.25;
	margin-bottom: 0.25rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-notes {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	font-size: 0.94rem;
	color: var(--x-slate);
}

:is(.entry-content, .editor-styles-wrapper) .x-notes li + li {
	margin-top: 0.15em;
}

:is(.entry-content, .editor-styles-wrapper) .x-ratefoot {
	border-top: 1px solid var(--x-line);
	padding-top: 2rem;
	margin-top: 1.5rem;
	max-width: var(--x-measure);
}

/* ---------- People ---------- */
:is(.entry-content, .editor-styles-wrapper) .x-person > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-person.is-layout-flow {
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr);
	gap: 0 2rem;
	align-items: start;
}

:is(.entry-content, .editor-styles-wrapper) .x-person {
	padding: 2.2rem 0;
	border-top: 1px solid var(--x-line);
	max-width: 58rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-person:last-child {
	border-bottom: 1px solid var(--x-line);
}

:is(.entry-content, .editor-styles-wrapper) .x-person--text > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-person--text.is-layout-flow {
	grid-template-columns: minmax(0, 1fr);
}

:is(.entry-content, .editor-styles-wrapper) .x-person__photo {
	margin: 0.35rem 0 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-person__photo img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 50%;
	box-shadow: 0 0 0 3px var(--x-white), 0 0 0 5px var(--x-leaf);
}

:is(.entry-content, .editor-styles-wrapper) .x-person__name {
	font-size: 1.45rem;
	margin: 0 0 0.6rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-person__text p {
	margin: 0;
	max-width: var(--x-measure);
}

:is(.entry-content, .editor-styles-wrapper) .x-directory > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-directory.is-layout-flow {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
	gap: 1.6rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-directory {
	margin: 0 0 2.5rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-card {
	border-top: 3px solid var(--x-leaf);
	padding: 1.1rem 0 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-card__name {
	font-size: 1.2rem;
	margin: 0 0 0.35rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-card__role {
	font-family: var(--x-sans);
	font-size: 0.98rem;
	color: var(--x-slate);
	margin: 0;
}

/* Founders: accordions in two columns, an open bio takes the full row */
:is(.entry-content, .editor-styles-wrapper) .x-bios > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-bios.is-layout-flow {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 var(--x-gap);
}

:is(.entry-content, .editor-styles-wrapper) .x-bios {
	margin-top: 2rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-bio.wp-block-details {
	border-top: 1px solid var(--x-line);
	margin: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-bio[open] {
	grid-column: 1 / -1;
	background: var(--x-mist);
	padding: 0 1.4rem 1.2rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-bio summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 1rem 2.2rem 1rem 0;
	font-family: var(--x-sans);
	font-size: 1.08rem;
	font-weight: 600;
	color: var(--x-elm);
}

:is(.entry-content, .editor-styles-wrapper) .x-bio summary::-webkit-details-marker {
	display: none;
}

:is(.entry-content, .editor-styles-wrapper) .x-bio summary::after {
	content: "";
	position: absolute;
	right: 0.3rem;
	top: 50%;
	width: 0.6rem;
	height: 0.6rem;
	border-right: 2px solid var(--x-moss);
	border-bottom: 2px solid var(--x-moss);
	transform: translateY(-70%) rotate(45deg);
}

:is(.entry-content, .editor-styles-wrapper) .x-bio[open] summary::after {
	transform: translateY(-20%) rotate(-135deg);
}

:is(.entry-content, .editor-styles-wrapper) .x-bio summary:hover {
	color: var(--x-moss);
}

:is(.entry-content, .editor-styles-wrapper) .x-bio p {
	margin: 0;
	max-width: var(--x-measure);
}

/* ---------- About: mission prongs, name and logo ---------- */
:is(.entry-content, .editor-styles-wrapper) .x-prongs {
	list-style: none;
	counter-reset: prong;
	padding: 0;
	margin: 2rem 0 1rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: var(--x-line);
	border: 1px solid var(--x-line);
}

.single-content > .x-prongs {
	max-width: none;
}

:is(.entry-content, .editor-styles-wrapper) .x-prongs li {
	counter-increment: prong;
	background: var(--x-white);
	padding: 1.6rem 1.6rem 1.7rem;
	margin: 0 !important; /* grid cells */
	line-height: 1.55;
}

:is(.entry-content, .editor-styles-wrapper) .x-prongs li::before {
	content: counter(prong);
	display: block;
	font-family: var(--x-sans);
	font-size: 2.2rem;
	font-weight: 800;
	line-height: 1;
	color: var(--x-leaf);
	margin-bottom: 0.7rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-prongs strong {
	display: block;
	font-family: var(--x-sans);
	font-size: 1.1rem;
	color: var(--x-elm);
	margin-bottom: 0.3rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-name.wp-block-columns {
	margin-top: 2.5rem;
	padding: 2.4rem;
	background: var(--x-mist);
	gap: var(--x-gap);
	align-items: center;
}

:is(.entry-content, .editor-styles-wrapper) .x-name__text > :first-child {
	margin-top: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-name__text.wp-block-column {
	flex: 1 1 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-name__mark.wp-block-column {
	flex: 0 0 32%;
	display: flex;
	justify-content: center;
}

:is(.entry-content, .editor-styles-wrapper) .x-name__logo img {
	width: 100%;
	max-width: 320px;
	height: auto;
}

/* ---------- Privacy Q&A rows ---------- */
:is(.entry-content, .editor-styles-wrapper) .x-qa.wp-block-columns {
	gap: var(--x-gap);
	margin: 0;
	padding: 1.3rem 0;
	border-top: 1px solid var(--x-fog);
}

:is(.entry-content, .editor-styles-wrapper) .x-qa__q.wp-block-column {
	flex: 0 0 30%;
}

:is(.entry-content, .editor-styles-wrapper) .x-qa__a.wp-block-column {
	flex: 1 1 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-qa__q h3 {
	font-size: 1.08rem;
	margin: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-qa__a > :first-child {
	margin-top: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-qa__a > :last-child {
	margin-bottom: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-sharing td:not(:first-child) {
	white-space: nowrap;
	font-weight: 600;
	color: var(--x-elm);
}

:is(.entry-content, .editor-styles-wrapper) .x-sharing th:first-child {
	width: 52%;
}

/* ---------- Security page ---------- */
.single-content ol.x-toc {
	columns: 2 20rem;
	column-gap: var(--x-gap);
	padding-left: 1.4em;
	margin: 1.5rem 0 2rem;
	font-family: var(--x-sans);
}

.single-content > .x-toc {
	max-width: var(--x-measure);
}

:is(.entry-content, .editor-styles-wrapper) .x-toc li {
	break-inside: avoid;
	margin: 0 0 0.5rem !important; /* column flow */
}

:is(.entry-content, .editor-styles-wrapper) .x-tips > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-tips.is-layout-flow {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
	gap: 1.8rem var(--x-gap);
}

:is(.entry-content, .editor-styles-wrapper) .x-tips {
	margin: 1.5rem 0 1rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-tipgroup {
	border-top: 3px solid var(--x-leaf);
	padding-top: 1rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-tipgroup h3 {
	font-size: 1.1rem;
	margin: 0 0 0.6rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-tipgroup ul {
	font-size: 0.98rem;
	margin: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-panel {
	background: var(--x-mist);
	padding: 1.8rem 2rem;
	margin: 1.5rem 0;
	max-width: 52rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-panel h3 {
	font-size: 1.15rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-panel > .wp-block-group__inner-container > :first-child,
:is(.entry-content, .editor-styles-wrapper) .x-panel > :first-child {
	margin-top: 0;
}

.single-content h2[id],
.single-content h2[id] {
	scroll-margin-top: 2rem;
}

/* Sections 2-8: heading in the first third, text in the other two — the columns of the tips grid above. */
:is(.entry-content, .editor-styles-wrapper) .x-split {
	margin: 2.6em 0 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-split > .wp-block-group__inner-container > h2,
:is(.entry-content, .editor-styles-wrapper) .x-split.is-layout-flow > h2 {
	margin: 2.6em 0 0.6em;
}

:is(.entry-content, .editor-styles-wrapper) .x-split > .wp-block-group__inner-container > h2:first-child,
:is(.entry-content, .editor-styles-wrapper) .x-split.is-layout-flow > h2:first-child {
	margin-top: 0;
}

@media (min-width: 1025px) {
	:is(.entry-content, .editor-styles-wrapper) .x-split > .wp-block-group__inner-container,
	:is(.entry-content, .editor-styles-wrapper) .x-split.is-layout-flow {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: var(--x-gap);
	}

	:is(.entry-content, .editor-styles-wrapper) .x-split > .wp-block-group__inner-container > *,
	:is(.entry-content, .editor-styles-wrapper) .x-split.is-layout-flow > * {
		grid-column: 2 / span 2;
		margin: 0;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-split > .wp-block-group__inner-container > h2,
	:is(.entry-content, .editor-styles-wrapper) .x-split.is-layout-flow > h2 {
		grid-column: 1;
		font-size: clamp(1.45rem, 1.9vw, 1.8rem);
		line-height: 1.2;
		text-wrap: pretty;
	}

	/* A section row: heading and its first block start on one hairline. */
	:is(.entry-content, .editor-styles-wrapper) .x-split > .wp-block-group__inner-container > :is(h2, h2 + *),
	:is(.entry-content, .editor-styles-wrapper) .x-split.is-layout-flow > :is(h2, h2 + *) {
		margin-top: 3.5rem;
		padding-top: 1.4rem;
		border-top: 1px solid var(--x-line);
	}

	:is(.entry-content, .editor-styles-wrapper) .x-split > .wp-block-group__inner-container > :is(h2:first-child, h2:first-child + *),
	:is(.entry-content, .editor-styles-wrapper) .x-split.is-layout-flow > :is(h2:first-child, h2:first-child + *) {
		margin-top: 0;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-split > .wp-block-group__inner-container > .x-panel,
	:is(.entry-content, .editor-styles-wrapper) .x-split.is-layout-flow > .x-panel {
		margin-top: 1.8rem;
		max-width: none;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-split .x-terms li:first-child {
		border-top: 0;
		padding-top: 0;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-split .x-terms li:last-child {
		border-bottom: 0; /* the next section's hairline closes the list */
	}
}

/* ---------- News ---------- */
:is(.entry-content, .editor-styles-wrapper) .x-year {
	padding: 2rem 0 0.5rem;
	border-top: 1px solid var(--x-line);
}

:is(.entry-content, .editor-styles-wrapper) .x-year__title {
	font-size: 1.6rem;
	margin: 0 0 0.6rem;
	scroll-margin-top: 2rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-releases {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-releases li {
	display: grid;
	grid-template-columns: 8.5rem minmax(0, 1fr) auto;
	gap: 0.3rem 1.4rem;
	align-items: baseline;
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--x-fog);
	margin: 0 !important; /* rows */
}

:is(.entry-content, .editor-styles-wrapper) .x-releases time {
	font-family: var(--x-sans);
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--x-slate);
	font-variant-numeric: tabular-nums;
}

:is(.entry-content, .editor-styles-wrapper) .x-filetype {
	font-family: var(--x-sans);
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--x-moss);
	border: 1px solid var(--x-line);
	border-radius: 3px;
	padding: 0.1rem 0.4rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-releases--coverage li {
	grid-template-columns: 8.5rem 11rem minmax(0, 1fr);
}

:is(.entry-content, .editor-styles-wrapper) .x-outlet {
	font-family: var(--x-sans);
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--x-elm);
}

.single-content > .x-releases {
	max-width: none;
}

/* ---------- Contact ---------- */
:is(.entry-content, .editor-styles-wrapper) .x-branches.wp-block-columns,
:is(.entry-content, .editor-styles-wrapper) .x-contact.wp-block-columns {
	gap: var(--x-gap);
	margin-bottom: 2.5rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-branch {
	background: var(--x-mist);
	border-top: 3px solid var(--x-leaf);
	padding: 1.6rem 1.8rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-branch__name {
	font-size: 1.5rem;
	margin: 0 0 0.6rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-branch p {
	margin: 0 0 0.4rem;
	font-size: 1.1rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-branch__hint {
	font-size: 0.98rem !important; /* secondary line inside the card */
	color: var(--x-slate);
}

:is(.entry-content, .editor-styles-wrapper) .x-contact__col h2 {
	font-size: 1.3rem;
}

/* ---------- Home ---------- */
.home .entry-content.single-content > * {
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-hero,
:is(.entry-content, .editor-styles-wrapper) .x-letter,
:is(.entry-content, .editor-styles-wrapper) .x-offer,
:is(.entry-content, .editor-styles-wrapper) .x-doors,
:is(.entry-content, .editor-styles-wrapper) .x-visit {
	container-type: inline-size;
}

/* Hero: elm panel with the headline on the left, the commons photo on the right. */
:is(.entry-content, .editor-styles-wrapper) .x-hero > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-hero.is-layout-flow {
	display: grid;
	grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
	min-height: clamp(460px, 64vh, 680px);
}

:is(.entry-content, .editor-styles-wrapper) .x-hero {
	position: relative;
	background: var(--x-elm);
	color: var(--x-white);
}

:is(.entry-content, .editor-styles-wrapper) .x-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: clamp(30px, 4vw, 60px);
	background: url("../img/wave-edge.svg") center bottom / 100% 100% no-repeat;
	pointer-events: none;
	z-index: 2;
}

:is(.entry-content, .editor-styles-wrapper) .x-hero__media {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important; /* fills its grid cell */
	position: relative;
}

:is(.entry-content, .editor-styles-wrapper) .x-hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 45% 55%;
}

:is(.entry-content, .editor-styles-wrapper) .x-hero__text {
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	padding: 4rem 3rem 5.5rem max(var(--x-pad), calc((100cqw - var(--x-wrap)) / 2 + var(--x-pad)));
}

:is(.entry-content, .editor-styles-wrapper) .x-hero__title.wp-block-heading {
	color: var(--x-white);
	font-size: clamp(2.8rem, 6.4cqw, 5.4rem);
	line-height: 0.98;
	letter-spacing: -0.035em;
	margin: 0 0 1.4rem;
	max-width: 9ch;
}

:is(.entry-content, .editor-styles-wrapper) .x-hero__lead {
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.5;
	color: #dfeadb;
	max-width: 30rem;
	margin: 0 0 2rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-hero .wp-block-buttons {
	gap: 0.8rem;
}

/* .wp-block-button in the chain outranks Kadence's outline padding (.4em 1em) */
:is(.entry-content, .editor-styles-wrapper) .x-hero .wp-block-button .wp-block-button__link {
	background: var(--x-leaf);
	color: var(--x-elm);
	font-weight: 700;
	padding: 0.85rem 1.5rem;
	border: 2px solid var(--x-leaf);
}

:is(.entry-content, .editor-styles-wrapper) .x-hero .wp-block-button__link:hover {
	background: var(--x-white);
	border-color: var(--x-white);
	color: var(--x-elm);
}

:is(.entry-content, .editor-styles-wrapper) .x-hero .wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color) {
	background: transparent;
	color: var(--x-white);
	border-color: rgba(255, 255, 255, 0.7);
}

:is(.entry-content, .editor-styles-wrapper) .x-hero .wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color):hover {
	background: var(--x-white);
	color: var(--x-elm);
}

/* Shared section frame for home bands */
:is(.entry-content, .editor-styles-wrapper) .x-letter,
:is(.entry-content, .editor-styles-wrapper) .x-offer,
:is(.entry-content, .editor-styles-wrapper) .x-doors,
:is(.entry-content, .editor-styles-wrapper) .x-visit {
	padding-top: var(--x-band);
	padding-bottom: var(--x-band);
	padding-left: max(var(--x-pad), calc((100cqw - var(--x-wrap)) / 2 + var(--x-pad)));
	padding-right: max(var(--x-pad), calc((100cqw - var(--x-wrap)) / 2 + var(--x-pad)));
}

/* Welcome letter */
:is(.entry-content, .editor-styles-wrapper) .x-letter > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-letter.is-layout-flow {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.5fr);
	gap: var(--x-gap) clamp(2rem, 6vw, 6rem);
}

:is(.entry-content, .editor-styles-wrapper) .x-letter__title.wp-block-heading {
	font-size: clamp(1.9rem, 3.2vw, 2.7rem);
	line-height: 1.1;
	margin: 0;
}

.x-letter__body {
	font-size: clamp(1.08rem, 1.3vw, 1.2rem);
	line-height: 1.7;
	max-width: 40rem;
}

.x-letter__body p:first-child {
	margin-top: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-letter__signature {
	margin: 1.6rem 0 0.3rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-letter__signature img {
	width: 170px;
	height: auto;
}

:is(.entry-content, .editor-styles-wrapper) .x-letter__sign {
	font-family: var(--x-sans);
	font-size: 0.95rem;
	color: var(--x-slate);
	margin: 0;
}

/* Services we offer */
:is(.entry-content, .editor-styles-wrapper) .x-offer {
	background: var(--x-fog);
}

:is(.entry-content, .editor-styles-wrapper) .x-offer h2 {
	margin: 0 0 2rem;
	max-width: 24ch;
	font-size: clamp(1.7rem, 2.6vw, 2.25rem);
}

:is(.entry-content, .editor-styles-wrapper) .x-offer .x-checks li {
	font-size: 1.08rem;
}

/* Two doors */
:is(.entry-content, .editor-styles-wrapper) .x-doors.wp-block-columns {
	gap: var(--x-gap);
	margin: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-door__media {
	margin: 0 0 1.4rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-door__media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
	border-radius: 4px;
}

:is(.entry-content, .editor-styles-wrapper) .x-door h2 {
	font-size: clamp(1.5rem, 2.2vw, 1.9rem);
	margin: 0 0 0.6rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-linklist {
	list-style: none;
	padding: 0;
	margin: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-linklist li {
	margin: 0 !important; /* rows */
	border-bottom: 1px solid var(--x-line);
}

:is(.entry-content, .editor-styles-wrapper) .x-linklist a {
	display: block;
	padding: 0.85rem 0;
	font-family: var(--x-sans);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--x-elm);
	text-decoration: none !important; /* full-row links */
}

:is(.entry-content, .editor-styles-wrapper) .x-linklist a:hover {
	color: var(--x-moss);
	padding-left: 0.4rem;
}

/* Visit band */
:is(.entry-content, .editor-styles-wrapper) .x-visit {
	background: var(--x-mist);
	border-top: 1px solid var(--x-fog);
}

:is(.entry-content, .editor-styles-wrapper) .x-visit__grid.wp-block-columns {
	gap: var(--x-gap);
	margin: 0;
}

:is(.entry-content, .editor-styles-wrapper) .x-visit__col {
	border-top: 3px solid var(--x-leaf);
	padding-top: 1.1rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-visit__col h3 {
	font-size: 1.1rem;
	margin: 0 0 0.8rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-visit__col p {
	font-size: 1rem;
	line-height: 1.55;
	margin: 0 0 0.8rem;
}

:is(.entry-content, .editor-styles-wrapper) .x-visit__col p a {
	font-family: var(--x-sans);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--x-elm);
}

:is(.entry-content, .editor-styles-wrapper) .x-notice {
	margin: 2.4rem 0 0 !important; /* closes the band */
	font-family: var(--x-sans);
	font-size: 0.98rem;
	padding: 0.9rem 1.2rem;
	background: var(--x-white);
	border-left: 4px solid var(--x-leaf);
}

/* ---------- Footer ---------- */
.site-footer {
	font-family: var(--x-sans);
}

.site-middle-footer-wrap {
	color: #cfe0c6;
	font-size: 0.95rem;
	line-height: 1.6;
}

.site-middle-footer-wrap .site-footer-row-container-inner {
	padding-top: 1.5rem;
	padding-bottom: 1rem;
}

.site-footer .footer-widget-area a {
	color: var(--x-white);
	font-weight: 600;
	text-decoration: none;
}

.site-footer .footer-widget-area a:hover {
	color: var(--x-leaf);
}

.x-footer-title.wp-block-heading {
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--x-white);
	margin: 0 0 0.8rem;
	letter-spacing: 0;
}

.x-footer-logo {
	margin: 0 0 1.4rem !important; /* widget figure margins come from the theme */
}

.x-footer-logo img {
	width: 210px;
	height: auto;
}

.site-middle-footer-wrap p {
	margin: 0 0 0.7rem;
}

.site-bottom-footer-wrap {
	font-size: 0.85rem;
	color: #b4c9ab;
}

.site-bottom-footer-wrap .footer-navigation .menu {
	justify-content: flex-end;
}

@media (min-width: 1025px) {
	.footer-widget4 p {
		white-space: nowrap;
	}
}

/* ---------- Breakpoints ---------- */
@media (max-width: 1200px) {
	:is(.entry-content, .editor-styles-wrapper) .x-product.wp-block-columns {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	}

	:is(.entry-content, .editor-styles-wrapper) .x-product__reqs {
		grid-column: 2;
	}
}

@media (max-width: 1024px) {
	:is(.entry-content, .editor-styles-wrapper) .x-hero > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-hero.is-layout-flow {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-hero__media {
		grid-column: 1;
		grid-row: 1;
		aspect-ratio: 16 / 9;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-hero__text {
		grid-column: 1;
		grid-row: 2;
		padding: 2.6rem var(--x-pad) 4.5rem;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-hero__title.wp-block-heading {
		max-width: 12ch;
		font-size: clamp(2.6rem, 9cqw, 4.2rem);
	}

	:is(.entry-content, .editor-styles-wrapper) .x-letter > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-letter.is-layout-flow {
		grid-template-columns: minmax(0, 1fr);
	}

	:is(.entry-content, .editor-styles-wrapper) .x-visit__grid.wp-block-columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	:is(.entry-content, .editor-styles-wrapper) .x-name.wp-block-columns {
		flex-wrap: wrap !important; /* stack logo under text */
	}

	:is(.entry-content, .editor-styles-wrapper) .x-name__mark.wp-block-column {
		flex-basis: 100%;
		justify-content: flex-start;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-releases--coverage li {
		grid-template-columns: 8.5rem minmax(0, 1fr);
	}

	:is(.entry-content, .editor-styles-wrapper) .x-releases--coverage li > a,
:is(.entry-content, .editor-styles-wrapper) .x-releases--coverage li > .x-outlet + * {
		grid-column: 2;
	}
}

@media (max-width: 768px) {
	.entry-hero.page-hero-section .hero-section-overlay {
		background: linear-gradient(180deg, rgba(23, 63, 42, 0.86) 0%, rgba(23, 63, 42, 0.9) 100%);
	}

	:is(.entry-content, .editor-styles-wrapper) .x-product.wp-block-columns,
:is(.entry-content, .editor-styles-wrapper) .x-products--ladder .x-product.wp-block-columns {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.2rem;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-product__reqs {
		grid-column: 1;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-prongs,
:is(.entry-content, .editor-styles-wrapper) .x-bios > .wp-block-group__inner-container,
:is(.entry-content, .editor-styles-wrapper) .x-bios.is-layout-flow {
		grid-template-columns: minmax(0, 1fr);
	}

	

	:is(.entry-content, .editor-styles-wrapper) .x-qa.wp-block-columns {
		gap: 0.4rem;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-releases li,
:is(.entry-content, .editor-styles-wrapper) .x-releases--coverage li {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-releases time,
:is(.entry-content, .editor-styles-wrapper) .x-releases .x-outlet {
		grid-column: 1 / -1;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-releases--coverage li > a {
		grid-column: 1 / -1;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-name.wp-block-columns {
		padding: 1.6rem;
	}

	.site-bottom-footer-wrap .footer-navigation .menu {
		justify-content: flex-start;
	}
}

@media (max-width: 544px) {
	:is(.entry-content, .editor-styles-wrapper) .x-person > .wp-block-group__inner-container,
	:is(.entry-content, .editor-styles-wrapper) .x-person.is-layout-flow {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.9rem;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-person__photo img {
		width: 72px;
		height: 72px;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-visit__grid.wp-block-columns {
		grid-template-columns: minmax(0, 1fr);
	}

	.x-topbar__item + .x-topbar__item {
		margin-left: 0.9rem;
	}

	:is(.entry-content, .editor-styles-wrapper) .x-sharing td:not(:first-child) {
		white-space: normal;
	}
}

@media (prefers-reduced-motion: no-preference) {
	:is(.entry-content, .editor-styles-wrapper) .x-linklist a,
:is(.entry-content, .editor-styles-wrapper) .x-jump a,
.x-sectionnav a,
:is(.entry-content, .editor-styles-wrapper) .x-hero .wp-block-button__link {
		transition: color 0.15s ease, background-color 0.15s ease, padding 0.15s ease, border-color 0.15s ease;
	}
}
