/**
 * EXIT10X theme styles.
 * Tokens (colours, type scale, spacing) come from theme.json; this file covers
 * component layout and states that theme.json cannot express.
 */

/* ---------- Base ---------- */

:root {
	--x10-gold-metal: linear-gradient(135deg, #e9d196 0%, #c9a257 48%, #a07a35 100%);
	--x10-rule: #d9d1c2;
	--x10-focus: var(--wp--preset--color--gold-deep);
	--x10-ease: cubic-bezier(.2, .7, .2, 1);
}

html {
	scroll-padding-top: 6rem;
	-webkit-text-size-adjust: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-optical-sizing: auto;
}

/* Template parts and <main> sit flush; sections own their spacing. */
.wp-site-blocks > * + *,
.x10-main > * + *,
.x10-landing-content > .alignfull + .alignfull,
.x10-landing-content > .alignfull + * {
	margin-block-start: 0;
}

.x10-main,
.x10-landing-content {
	margin-block: 0;
}

::selection {
	background: var(--wp--preset--color--gold-light);
	color: var(--wp--preset--color--black);
}

:where(h1, h2, h3, h4) {
	text-wrap: balance;
}

:where(p, li) {
	text-wrap: pretty;
}

a {
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
	transition: color .15s var(--x10-ease), text-decoration-color .15s var(--x10-ease);
}

/* Dark surfaces: text colours and link colours. */
.has-black-background-color,
.has-charcoal-background-color,
.has-graphite-background-color,
.x10-hero-cover,
.x10-cta-band {
	--x10-focus: var(--wp--preset--color--gold-light);
	--x10-rule: var(--wp--preset--color--rule-dark);
}

:where(.has-black-background-color, .has-charcoal-background-color, .has-graphite-background-color, .x10-hero-cover, .x10-cta-band) a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--gold-light);
}

:where(.has-black-background-color, .has-charcoal-background-color, .has-graphite-background-color, .x10-hero-cover, .x10-cta-band) a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--white);
}

/* ---------- Focus ---------- */

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--x10-focus);
	outline-offset: 3px;
	border-radius: 1px;
}

.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--x10-focus);
	outline-offset: 3px;
}

/* ---------- Header ---------- */

header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
}

@media (max-width: 600px) {
	.admin-bar header.wp-block-template-part {
		top: 0;
	}
}

.x10-header {
	--x10-focus: var(--wp--preset--color--gold-light);
	border-bottom: 1px solid var(--wp--preset--color--rule-dark);
}

.x10-header__inner {
	min-height: 3rem;
	gap: var(--wp--preset--spacing--30);
}

.x10-header .x10-header__actions {
	flex: 1 1 auto;
	justify-content: flex-end;
}

/* Wordmark: proposed vector logo (assets/brand), rendered from the site title. */
.x10-wordmark {
	margin: 0;
	line-height: 1;
	white-space: nowrap;
}

.x10-wordmark a {
	display: inline-block;
	color: var(--wp--preset--color--ivory);
	text-decoration: none;
}

.x10-wordmark__img {
	display: block;
	height: 1.5rem;
	width: auto;
}

.x10-footer .x10-wordmark__img {
	height: 2.1rem;
}

@supports (-webkit-background-clip: text) or (background-clip: text) {
	.x10-gold-text {
		background: var(--x10-gold-metal);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}
}

@media (forced-colors: active) {
	.x10-gold-text {
		background: none;
		color: CanvasText;
	}
}

/* Navigation */
.x10-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ivory);
	text-decoration: none;
	padding-block: .5rem;
}

.x10-nav .wp-block-navigation-item__content:hover,
.x10-nav .current-menu-item > .wp-block-navigation-item__content,
.x10-nav .x10-section-current > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--gold-light);
}

.x10-nav .current-menu-item > .wp-block-navigation-item__content,
.x10-nav .x10-section-current > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--gold);
	text-underline-offset: .45em;
	text-decoration-thickness: 2px;
}

.x10-nav .wp-block-navigation__submenu-icon {
	color: var(--wp--preset--color--gold);
}

.x10-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--charcoal) !important;
	color: var(--wp--preset--color--ivory) !important;
	border: 1px solid var(--wp--preset--color--rule-dark) !important;
	border-top: 2px solid var(--wp--preset--color--gold) !important;
	padding-block: .5rem;
	min-width: 15.5rem !important;
}

.x10-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .55rem 1.1rem;
}

.x10-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--graphite);
}

/* The CTA nav item only appears inside the mobile overlay. */
.x10-nav .x10-nav-cta {
	display: none !important;
}

.x10-button-compact .wp-block-button__link {
	padding: .7rem 1.1rem;
	white-space: nowrap;
}

/* Collapse to the overlay menu below 1100px rather than core's 600px. */
.x10-nav .wp-block-navigation__responsive-container-open,
.x10-nav .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--ivory);
}

@media (max-width: 1099px) {
	.x10-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.x10-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.x10-nav .wp-block-navigation__responsive-container.is-menu-open {
		display: flex;
		position: fixed;
		inset: 0;
		z-index: 100000;
		padding: var(--wp--preset--spacing--30) clamp(1.25rem, 4vw, 2.5rem);
		background-color: var(--wp--preset--color--black) !important;
	}

	.x10-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		display: flex;
	}

	.x10-nav .is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: 4.5rem;
		align-items: flex-start;
	}

	.x10-nav .is-menu-open .wp-block-navigation__container {
		gap: .25rem !important;
		align-items: flex-start;
	}

	/* The desktop menu is right-justified; the overlay reads better left-aligned. */
	.x10-nav .is-menu-open .wp-block-navigation__responsive-container-content,
	.x10-nav .is-menu-open .wp-block-navigation__container,
	.x10-nav .is-menu-open .wp-block-navigation-item,
	.x10-nav .is-menu-open .wp-block-navigation__submenu-container {
		align-items: flex-start !important;
		justify-content: flex-start !important;
		text-align: left;
	}

	.x10-nav .is-menu-open .wp-block-navigation-item__content {
		font-size: var(--wp--preset--font-size--large);
		font-weight: 600;
		padding-block: .4rem;
	}

	.x10-nav .is-menu-open .wp-block-navigation__submenu-container {
		border: 0 !important;
		border-left: 2px solid var(--wp--preset--color--gold) !important;
		background: transparent !important;
		padding: 0 0 .5rem 1rem !important;
		min-width: 0 !important;
	}

	.x10-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 450;
		padding: .3rem 0;
		color: var(--wp--preset--color--muted-dark);
	}

	.x10-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
		background: none;
		color: var(--wp--preset--color--gold-light);
	}

	body:has(.x10-nav .is-menu-open) {
		overflow: hidden;
	}
}

@media (max-width: 599px) {
	.x10-header__cta {
		display: none !important;
	}

	.x10-nav .is-menu-open .x10-nav-cta {
		display: flex !important;
		margin-top: 1.5rem;
	}

	.x10-nav .is-menu-open .x10-nav-cta .wp-block-navigation-item__content {
		background: var(--x10-gold-metal);
		color: var(--wp--preset--color--black) !important;
		font-size: var(--wp--preset--font-size--small) !important;
		padding: .9rem 1.25rem !important;
		text-decoration: none !important;
	}
}

/* ---------- Typographic components ---------- */

.x10-eyebrow,
.x10-label,
.x10-stage__num {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 650;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.4;
}

.x10-eyebrow {
	display: flex;
	align-items: center;
	gap: .85rem;
	color: var(--wp--preset--color--gold-deep);
}

.x10-eyebrow::before {
	content: "";
	flex: 0 0 2.25rem;
	height: 1px;
	background: currentColor;
}

.x10-label {
	color: var(--wp--preset--color--gold-deep);
	letter-spacing: .12em;
}

:where(.has-black-background-color, .has-charcoal-background-color, .has-graphite-background-color, .x10-hero-cover, .x10-cta-band) :is(.x10-eyebrow, .x10-label) {
	color: var(--wp--preset--color--gold);
}

.x10-eyebrow a {
	color: inherit !important;
	text-decoration: none;
}

.x10-eyebrow a:hover {
	text-decoration: underline;
}

/* Category terms as eyebrow on single articles */
.x10-eyebrow--terms a {
	color: var(--wp--preset--color--gold-deep);
	text-decoration: none;
}

.x10-eyebrow--terms .wp-block-post-terms__separator {
	color: var(--wp--preset--color--muted-light);
}

.x10-display {
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -.03em;
}

.x10-lede {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.6;
	max-width: 36rem;
}

.x10-note {
	color: var(--wp--preset--color--muted-light);
	border-left: 2px solid var(--wp--preset--color--gold);
	padding-left: 1.1rem;
	max-width: 40rem;
}

.x10-note--dark {
	color: var(--wp--preset--color--muted-dark);
}

.x10-arrow-link {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: .01em;
}

.x10-arrow-link a {
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	border-bottom: 1px solid currentColor;
	padding-bottom: .15rem;
}

.x10-arrow-link a::after {
	content: "\2192";
	transition: transform .2s var(--x10-ease);
}

.x10-arrow-link a:hover::after {
	transform: translateX(.25rem);
}

/* ---------- Buttons ---------- */

.wp-block-button__link {
	transition: filter .15s var(--x10-ease), background .15s var(--x10-ease);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: currentColor;
	box-shadow: inset 0 0 0 1px currentColor;
}

/* ---------- Sections ---------- */

.x10-section__head {
	margin-bottom: var(--wp--preset--spacing--50);
}

.x10-section__head > * + * {
	margin-block-start: var(--wp--preset--spacing--30);
}

.x10-split {
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60) !important;
}

@media (min-width: 782px) {
	.x10-split__aside {
		position: sticky;
		top: 7rem;
		align-self: flex-start;
	}
}

.x10-prose-dark {
	color: var(--wp--preset--color--muted-dark);
}

.x10-prose-dark :is(h1, h2, h3, h4),
.x10-prose-dark strong {
	color: var(--wp--preset--color--ivory);
}

/* Page heroes */
.x10-hero__grid {
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--70) !important;
}

.x10-hero__actions {
	margin-top: var(--wp--preset--spacing--30) !important;
}

.x10-hero--page {
	border-bottom: 1px solid var(--wp--preset--color--rule-dark);
}

.x10-pillars-inline {
	font-family: var(--wp--preset--font-family--sans);
	text-transform: uppercase;
	letter-spacing: .12em;
	font-weight: 600;
	color: var(--wp--preset--color--gold);
}

.x10-pillars-inline span {
	color: var(--wp--preset--color--rule-dark);
	margin-inline: .4em;
}

/* Owner concerns: 2x2 numbered grid */
.x10-concerns {
	display: grid;
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	counter-reset: x10-concern;
}

@media (min-width: 700px) {
	.x10-concerns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.x10-concerns > * {
	margin: 0 !important;
}

.x10-concern {
	counter-increment: x10-concern;
	border-top: 2px solid var(--wp--preset--color--black);
	padding-top: var(--wp--preset--spacing--30);
}

.x10-concern::before {
	content: counter(x10-concern, decimal-leading-zero);
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: .12em;
	color: var(--wp--preset--color--gold-deep);
	margin-bottom: .6rem;
}

.x10-concern h3 {
	margin-bottom: .5rem;
}

.x10-concern p {
	margin-top: 0;
	color: var(--wp--preset--color--muted-light);
}

.x10-concerns + .x10-note {
	margin-top: var(--wp--preset--spacing--50);
}

/* Check list */
.x10-checks {
	list-style: none;
	padding: 0;
	margin-top: var(--wp--preset--spacing--40);
}

.x10-checks > li {
	position: relative;
	padding: .9rem 0 .9rem 2rem;
	border-top: 1px solid var(--x10-rule);
}

.x10-checks > li::before {
	content: "";
	position: absolute;
	left: .1rem;
	top: 1.35rem;
	width: .8rem;
	height: .45rem;
	border-left: 2px solid var(--wp--preset--color--gold);
	border-bottom: 2px solid var(--wp--preset--color--gold);
	transform: rotate(-45deg);
}

/* Dash list */
.x10-dash-list {
	list-style: none;
	padding: 0;
}

.x10-dash-list > li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: .45rem;
}

.x10-dash-list > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .8em;
	width: .8rem;
	height: 2px;
	background: var(--wp--preset--color--gold);
}

.x10-dash-list--large > li {
	font-size: var(--wp--preset--font-size--medium);
	padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--30) 2.25rem;
	border-top: 1px solid var(--x10-rule);
	margin: 0;
}

.x10-dash-list--large > li::before {
	top: calc(var(--wp--preset--spacing--30) + .8em);
	width: 1.1rem;
}

/* FAQ */
.x10-faq > .wp-block-details:first-child {
	border-top: 1px solid var(--x10-rule);
}

.x10-faq__item {
	border-bottom-color: var(--x10-rule) !important;
	margin: 0 !important;
}

.x10-faq__item summary {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.35;
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 2.5rem;
}

.x10-faq__item summary::-webkit-details-marker {
	display: none;
}

.x10-faq__item summary::after {
	content: "";
	position: absolute;
	right: .25rem;
	top: .35em;
	width: .75rem;
	height: .75rem;
	border-right: 2px solid var(--wp--preset--color--gold-deep);
	border-bottom: 2px solid var(--wp--preset--color--gold-deep);
	transform: rotate(45deg);
	transition: transform .2s var(--x10-ease);
}

.x10-faq__item[open] summary::after {
	transform: rotate(-135deg) translate(-.25rem, -.25rem);
}

.x10-faq__item summary:hover {
	color: var(--wp--preset--color--gold-deep);
}

.x10-faq__item > p {
	color: var(--wp--preset--color--muted-light);
	max-width: 40rem;
	margin-top: .75rem;
}

/* Services overview rows */
.x10-service-row {
	border-top: 1px solid var(--x10-rule);
	padding-block: var(--wp--preset--spacing--50);
	margin: 0 !important;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--60) !important;
}

.x10-service-row h2 {
	margin-top: .5rem;
}

.x10-service-row .x10-label {
	margin-top: var(--wp--preset--spacing--40);
}

.x10-service-row .wp-block-column > .x10-label:first-child {
	margin-top: 0;
}

/* Definition grid */
.x10-defs {
	display: grid;
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
}

@media (min-width: 782px) {
	.x10-defs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.x10-defs > * {
	margin: 0 !important;
}

.x10-def {
	border-top: 2px solid var(--wp--preset--color--black);
	padding-top: var(--wp--preset--spacing--30);
}

.x10-def h3 {
	margin-bottom: .5rem;
}

.x10-def p {
	margin-top: 0;
	color: var(--wp--preset--color--muted-light);
}

/* Related service links */
.x10-related-links {
	list-style: none;
	padding: 0;
	margin-top: var(--wp--preset--spacing--30);
}

.x10-related-links > li {
	padding-block: var(--wp--preset--spacing--20);
	border-top: 1px solid rgba(11, 11, 12, .18);
	color: var(--wp--preset--color--muted-light);
}

.x10-related-links a {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 650;
	margin-right: .35rem;
}

.x10-related-links a:hover {
	color: var(--wp--preset--color--gold-deep);
}

/* Process stages */
.x10-stage {
	border-top: 1px solid var(--x10-rule);
	padding-block: var(--wp--preset--spacing--50);
	margin: 0 !important;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--60) !important;
}

.x10-stage__num {
	color: var(--wp--preset--color--gold-deep);
	margin-bottom: .5rem;
}

.x10-stage__output {
	background: var(--wp--preset--color--white);
	border-left: 2px solid var(--wp--preset--color--gold);
	padding: 1rem 1.25rem;
	font-size: var(--wp--preset--font-size--small);
}

.x10-stage__output strong {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 650;
	margin-right: .25rem;
}

/* Contact */
.x10-expect {
	list-style: none;
	counter-reset: x10-expect;
	padding: 0;
}

.x10-expect > li {
	counter-increment: x10-expect;
	position: relative;
	padding: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--20) 2.5rem;
	border-top: 1px solid var(--x10-rule);
}

.x10-expect > li::before {
	content: counter(x10-expect, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: calc(var(--wp--preset--spacing--20) + .2rem);
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: .1em;
	color: var(--wp--preset--color--gold-deep);
}

.x10-expect strong {
	font-family: var(--wp--preset--font-family--sans);
}

.x10-consult {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--x10-rule);
}

.x10-consult--pending {
	padding: var(--wp--preset--spacing--40);
	border-style: dashed;
	border-color: var(--wp--preset--color--muted-light);
}

.x10-consult__label {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 650;
	color: var(--wp--preset--color--gold-deep);
}

.x10-consult__frame {
	display: block;
	width: 100%;
	border: 0;
}

.x10-consult__fallback {
	font-size: var(--wp--preset--font-size--x-small);
	padding: .75rem 1rem;
	margin: 0;
	border-top: 1px solid var(--x10-rule);
	color: var(--wp--preset--color--muted-light);
}

/* ---------- Homepage ---------- */

/* Hero: architectural photo, controlled overlay, live text anchored low-left. */
.x10-hero-cover {
	min-height: clamp(34rem, 88vh, 54rem) !important;
	background: var(--wp--preset--color--black);
}

.x10-hero-cover .wp-block-cover__background {
	opacity: 1 !important;
	background:
		linear-gradient(0deg, rgba(11, 11, 12, .95) 0%, rgba(11, 11, 12, .8) 28%, rgba(11, 11, 12, .2) 60%, rgba(11, 11, 12, .28) 100%),
		linear-gradient(90deg, rgba(11, 11, 12, .82) 0%, rgba(11, 11, 12, .5) 42%, rgba(11, 11, 12, .08) 72%, rgba(11, 11, 12, 0) 90%) !important;
}

/* Core shrinks the inner container for custom content positions; keep it full width
   so the content aligns to the site's wide grid. */
.x10-hero-cover .wp-block-cover__inner-container {
	width: 100% !important;
}

.x10-hero-cover::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 1px;
	background: linear-gradient(90deg, rgba(201, 162, 87, .9), rgba(201, 162, 87, .15) 70%, transparent);
	z-index: 2;
}

.x10-hero-cover .wp-block-cover__inner-container {
	color: var(--wp--preset--color--ivory);
}

.x10-hero-cover .x10-display {
	color: var(--wp--preset--color--white);
	margin-block: .25rem .5rem;
}

.x10-hero-cover .x10-lede {
	color: #E7E1D5;
	font-size: clamp(1.0625rem, 1rem + .35vw, 1.3125rem);
	max-width: 34rem;
}

.x10-hero-cover .x10-eyebrow {
	color: var(--wp--preset--color--gold-light);
	max-width: 27rem;
}

.x10-hero-cover .x10-hero__actions {
	margin-top: var(--wp--preset--spacing--30) !important;
}

@media (max-width: 781px) {
	.x10-hero-cover {
		min-height: clamp(36rem, 92svh, 48rem) !important;
	}

	.x10-hero-cover .wp-block-cover__image-background {
		object-position: 50% 20% !important;
	}

	.x10-hero-cover .wp-block-cover__background {
		background:
			linear-gradient(0deg, rgba(11, 11, 12, .97) 0%, rgba(11, 11, 12, .86) 42%, rgba(11, 11, 12, .25) 72%, rgba(11, 11, 12, .4) 100%) !important;
	}
}

/* Three priorities, directly under the hero */
.x10-pillars-band__head {
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	margin-bottom: var(--wp--preset--spacing--50);
}

.x10-pillars-band__title {
	max-width: 30rem;
	margin: 0;
}

.x10-pillars-band__head > .x10-arrow-link {
	margin: 0;
}

.x10-pillar-grid {
	display: grid;
	gap: var(--wp--preset--spacing--50) 0;
	border-top: 1px solid var(--x10-rule);
}

@media (min-width: 900px) {
	.x10-pillar-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
	}

	.x10-pillar + .x10-pillar {
		border-left: 1px solid var(--x10-rule);
		padding-left: var(--wp--preset--spacing--50);
	}

	.x10-pillar {
		padding-right: var(--wp--preset--spacing--50);
	}
}

.x10-pillar-grid > * {
	margin: 0 !important;
}

.x10-pillar {
	display: flex;
	flex-direction: column;
	padding-top: var(--wp--preset--spacing--40);
}

/* Links share a baseline across the three columns. */
.x10-pillar > .x10-arrow-link {
	margin-top: auto !important;
	padding-top: var(--wp--preset--spacing--20);
}

.x10-pillar__title {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 650;
	margin-bottom: .75rem;
}

.x10-pillar__title::before {
	content: "";
	display: block;
	width: 2.25rem;
	height: 3px;
	margin-bottom: 1.1rem;
	background: var(--x10-gold-metal);
}

.x10-pillar p:not(.x10-arrow-link) {
	color: var(--wp--preset--color--muted-light);
	max-width: 22rem;
}

.x10-arrow-link--pair {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.5rem;
}

/* Owner concerns as a four-column row on wide screens */
@media (min-width: 1100px) {
	.x10-concerns--row {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.x10-section--dark .x10-concern {
	border-top: 1px solid var(--wp--preset--color--gold);
}

.x10-section--dark .x10-concern::before {
	color: var(--wp--preset--color--gold);
}

.x10-section--dark .x10-concern p {
	color: var(--wp--preset--color--muted-dark);
}

.x10-concerns--row + .x10-note {
	margin-top: var(--wp--preset--spacing--60);
}

/* Approach: photograph + statement */
.x10-approach__grid {
	gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70) !important;
}

.x10-approach__image {
	position: relative;
	margin: 0;
	isolation: isolate;
}

.x10-approach__image img {
	display: block;
	width: 100%;
	height: auto;
}

@media (min-width: 782px) {
	.x10-approach__image::after {
		content: "";
		position: absolute;
		inset: 1.5rem -1.5rem -1.5rem 1.5rem;
		border: 1px solid var(--wp--preset--color--gold);
		z-index: -1;
	}
}

.x10-statement {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 650;
	line-height: 1.12;
	max-width: 30rem;
}

.x10-approach__text > p:not(.x10-eyebrow) {
	color: var(--wp--preset--color--muted-light);
	max-width: 36rem;
}

/* Process timeline */
.x10-process-band .x10-pillars-band__head {
	margin-bottom: var(--wp--preset--spacing--60);
}

.x10-timeline {
	list-style: none;
	counter-reset: x10-step;
	padding: 0;
	margin: 0;
	display: grid;
	gap: var(--wp--preset--spacing--40);
	position: relative;
}

.x10-timeline > li {
	counter-increment: x10-step;
	position: relative;
	color: var(--wp--preset--color--muted-dark);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	padding-left: 2.75rem;
}

.x10-timeline > li::before {
	content: counter(x10-step, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 650;
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: .12em;
	color: var(--wp--preset--color--gold);
}

.x10-timeline strong {
	display: block;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 650;
	line-height: 1.25;
	color: var(--wp--preset--color--ivory);
	margin-bottom: .45rem;
}

@media (max-width: 1099px) {
	.x10-timeline::before {
		content: "";
		position: absolute;
		left: .6rem;
		top: 1.6rem;
		bottom: .5rem;
		width: 1px;
		background: var(--wp--preset--color--rule-dark);
	}

	.x10-timeline > li::before {
		background: var(--wp--preset--color--black);
		padding-bottom: .35rem;
	}
}

@media (min-width: 1100px) {
	.x10-timeline {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.x10-timeline::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: .45rem;
		height: 1px;
		background: linear-gradient(90deg, var(--wp--preset--color--gold), rgba(201, 162, 87, .25));
	}

	.x10-timeline > li {
		padding: 2.25rem 0 0;
	}

	.x10-timeline > li::before {
		top: 0;
		padding-right: .6rem;
		background: var(--wp--preset--color--black);
	}
}

/* Leadership (hidden by the theme until a real photo and name exist) */
.x10-person {
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--70) !important;
}

.x10-person__photo {
	margin: 0;
}

.x10-person__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.x10-person__name {
	margin-bottom: .25rem;
}

.x10-person__role {
	font-weight: 600;
	color: var(--wp--preset--color--gold-deep);
	margin-top: 0;
}

.x10-person__bio {
	color: var(--wp--preset--color--muted-light);
	max-width: 38rem;
}

/* FAQ band */
.x10-faq-band .x10-faq {
	margin-top: var(--wp--preset--spacing--40);
}

/* Consultation band over photography */
.x10-cta-band {
	background: var(--wp--preset--color--black);
}

.x10-cta-band .wp-block-cover__background {
	opacity: 1 !important;
	background: radial-gradient(ellipse 60% 85% at 50% 50%, rgba(11, 11, 12, .66), rgba(11, 11, 12, .9) 100%) !important;
}

.x10-cta-band .wp-block-cover__inner-container {
	color: var(--wp--preset--color--ivory);
}

.x10-cta-band h2 {
	color: var(--wp--preset--color--white);
	margin-top: var(--wp--preset--spacing--20);
}

.x10-cta-band__text {
	color: #E7E1D5;
	margin-inline: auto;
	max-width: 36rem;
}

.x10-cta-band .x10-eyebrow {
	color: var(--wp--preset--color--gold-light);
}

.x10-eyebrow--center {
	justify-content: center;
}

.x10-eyebrow--center::after {
	content: "";
	flex: 0 0 2.25rem;
	height: 1px;
	background: currentColor;
}

/* Cover images wrapped in <picture> for art direction */
.wp-block-cover .x10-picture {
	display: contents;
}

/* ---------- Footer ---------- */

.x10-footer {
	--x10-focus: var(--wp--preset--color--gold-light);
	font-size: var(--wp--preset--font-size--small);
}

.x10-footer__heading {
	font-weight: 650;
	text-transform: uppercase;
	letter-spacing: .14em;
	margin-bottom: 1rem;
}

.x10-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
	font-family: var(--wp--preset--font-family--sans);
}

.x10-footer__links li + li {
	margin-top: .5rem;
}

.x10-footer a {
	color: var(--wp--preset--color--ivory);
	text-decoration: none;
}

.x10-footer a:hover {
	color: var(--wp--preset--color--gold-light);
	text-decoration: underline;
}

.x10-footer__line {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
	margin-top: 1.25rem;
}

.x10-footer__legal p {
	margin: 0;
}

/* ---------- Page heroes for archive / post templates ---------- */

.x10-page-hero .wp-block-query-title,
.x10-page-hero .wp-block-post-title {
	margin-top: 0;
}

.x10-page-hero .wp-block-term-description p {
	margin: 0;
}

/* ---------- Article list ---------- */

.x10-topics {
	margin-bottom: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--x10-rule);
}

.x10-topics .x10-label {
	margin: 0;
}

.x10-topics__list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem 1.25rem;
	margin: 0;
	padding: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
}

.x10-topics__list a {
	color: var(--wp--preset--color--black);
	text-decoration: none;
}

.x10-topics__list a:hover,
.x10-topics__list .current-cat a {
	color: var(--wp--preset--color--gold-deep);
	text-decoration: underline;
}

.x10-entries {
	list-style: none;
	padding: 0;
}

.x10-entry {
	display: grid;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50);
	padding-block: var(--wp--preset--spacing--40);
	border-bottom: 1px solid var(--x10-rule);
}

.x10-entry > * {
	margin: 0 !important;
}

@media (min-width: 782px) {
	.x10-entry {
		grid-template-columns: 11rem minmax(0, 1fr) 15rem;
		align-items: start;
	}

	.x10-entry__body {
		grid-column: 2;
	}

	.x10-entry__image {
		grid-column: 3;
		grid-row: 1;
	}
}

.x10-entry__meta,
.x10-related__item .wp-block-post-date {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--muted-light);
}

.x10-entry__meta .wp-block-post-terms a {
	text-transform: uppercase;
	letter-spacing: .1em;
	font-weight: 600;
	color: var(--wp--preset--color--gold-deep);
	text-decoration: none;
}

.x10-entry .wp-block-post-title a,
.x10-search-result .wp-block-post-title a,
.x10-related__item .wp-block-post-title a {
	color: var(--wp--preset--color--black);
	text-decoration: none;
}

.x10-entry .wp-block-post-title a:hover,
.x10-search-result .wp-block-post-title a:hover,
.x10-related__item .wp-block-post-title a:hover {
	color: var(--wp--preset--color--gold-deep);
	text-decoration: underline;
}

.x10-entry .wp-block-post-excerpt__excerpt {
	color: var(--wp--preset--color--muted-light);
	margin: 0;
}

.x10-entry__image img {
	display: block;
}

/* Pagination */
.x10-pagination {
	margin-top: var(--wp--preset--spacing--50);
	font-weight: 600;
}

.x10-pagination a,
.x10-pagination .page-numbers {
	color: var(--wp--preset--color--black);
	text-decoration: none;
	padding: .35rem .6rem;
}

.x10-pagination a:hover {
	color: var(--wp--preset--color--gold-deep);
	text-decoration: underline;
}

.x10-pagination .page-numbers.current {
	border-bottom: 2px solid var(--wp--preset--color--gold);
}

/* Search */
.x10-search .wp-block-search__input {
	border: 1px solid var(--wp--preset--color--rule-dark);
	background: var(--wp--preset--color--graphite);
	color: var(--wp--preset--color--ivory);
	padding: .85rem 1rem;
	border-radius: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--base);
}

.x10-search .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--muted-dark);
	opacity: 1;
}

.x10-search--light .wp-block-search__input {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
	border-color: var(--wp--preset--color--muted-light);
}

.x10-search--light .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--muted-light);
}

.x10-search .wp-block-search__button {
	margin-left: 0;
	border-radius: 0;
}

.wp-block-search__label {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
}

.x10-search-result {
	padding-block: var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--x10-rule);
}

.x10-search-result .wp-block-post-excerpt__excerpt {
	color: var(--wp--preset--color--muted-light);
	margin: 0;
}

.x10-link-list {
	padding-left: 1.1rem;
}

.x10-link-list li {
	margin-bottom: .5rem;
}

.x10-link-list li::marker {
	color: var(--wp--preset--color--gold);
}

.x10-link-list a {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
}

/* ---------- Single article ---------- */

.x10-article__meta {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--muted-light);
}

.x10-article__meta > * {
	margin: 0;
}

.x10-meta-author::before {
	content: "By ";
}

.x10-meta-modified::before {
	content: "Updated ";
}

.x10-article__meta a {
	color: var(--wp--preset--color--black);
}

.x10-article__image img {
	display: block;
	width: 100%;
}

.x10-prose {
	font-size: var(--wp--preset--font-size--base);
}

.x10-article__body {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.7;
}

.x10-prose :where(h2) {
	font-size: var(--wp--preset--font-size--x-large);
	margin-top: 2.2em;
	margin-bottom: .6em;
}

.x10-prose :where(h3) {
	margin-top: 1.8em;
	margin-bottom: .5em;
}

.x10-prose :where(ul, ol) {
	padding-left: 1.3rem;
}

.x10-prose :where(li + li) {
	margin-top: .4rem;
}

.x10-prose :where(li)::marker {
	color: var(--wp--preset--color--gold-deep);
}

.x10-prose :where(img) {
	height: auto;
}

.x10-prose :where(figcaption) {
	font-family: var(--wp--preset--font-family--sans);
}

.x10-prose :where(table) {
	font-size: var(--wp--preset--font-size--small);
	font-family: var(--wp--preset--font-family--sans);
}

.x10-tags {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--muted-light);
}

.x10-author-box .wp-block-post-author-name {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 650;
}

.x10-author-box .wp-block-post-author-name a {
	color: var(--wp--preset--color--black);
	text-decoration: none;
}

.x10-author-box .wp-block-post-author-biography {
	color: var(--wp--preset--color--muted-light);
}

.x10-author-box .x10-label {
	margin: 0;
}

.x10-post-nav {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	gap: var(--wp--preset--spacing--30);
}

.x10-post-nav > * {
	max-width: 48%;
}

.x10-post-nav a {
	color: var(--wp--preset--color--black);
	font-weight: 600;
	text-decoration: none;
}

.x10-post-nav a:hover {
	color: var(--wp--preset--color--gold-deep);
	text-decoration: underline;
}

.x10-related {
	--x10-rule: rgba(11, 11, 12, .18);
}

.x10-related__list {
	margin-top: var(--wp--preset--spacing--30);
}

.x10-related__item {
	border-top: 2px solid var(--wp--preset--color--black);
	padding-top: var(--wp--preset--spacing--20);
}

.x10-related__item .wp-block-post-title {
	margin-top: .25rem;
}

/* Generic pages */
.x10-prose > :first-child {
	margin-top: 0;
}

/* ---------- Motion preferences ---------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- Print ---------- */

@media print {
	header.wp-block-template-part,
	footer.wp-block-template-part,
	.x10-cta-band,
	.x10-related {
		display: none;
	}
}
