/* WordPress / Gutenberg wrappers for the Lumen House design.
   Loaded after styles.css. */

body {
	--wp--style--block-gap: 0px;
}

.wp-site-blocks,
.wp-block-post-content,
main.wp-block-group {
	margin: 0;
	padding: 0;
}

.wp-block-group.alignfull {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.wp-block-group.is-layout-constrained > * {
	max-width: none;
}

.wp-block-group.container {
	width: 100%;
	max-width: var(--maxw);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

/* Template-part wrappers would trap the sticky header inside their own height. */
.wp-site-blocks > .wp-block-template-part {
	display: contents;
}

.wp-block-group.container.container--narrow {
	max-width: 880px;
}

.wp-block-image {
	margin: 0;
}

.wp-block-image img {
	vertical-align: middle;
}

/* Media frames: the image block's figure has to fill the frame. */
.arch-card__media .wp-block-image,
.tile__media .wp-block-image,
.rate-card__media .wp-block-image,
.maker__media .wp-block-image,
.page-hero__media .wp-block-image,
.spotlight-card__media .wp-block-image,
.gallery .wp-block-image,
.market__img .wp-block-image,
.space-pick__img .wp-block-image {
	height: 100%;
	margin: 0;
}

.arch-card__media .wp-block-image img,
.tile__media .wp-block-image img,
.rate-card__media .wp-block-image img,
.maker__media .wp-block-image img,
.page-hero__media .wp-block-image img,
.spotlight-card__media .wp-block-image img,
.gallery .wp-block-image img,
.market__img .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.feature__media .wp-block-image,
.quote-band__bg .wp-block-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.feature__media .wp-block-image img,
.quote-band__bg .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.quote-band__bg .wp-block-image img {
	opacity: .55;
}

figure.hero__slide {
	display: block;
}

.hero__slide figcaption {
	text-align: left;
}

.hero__slides.wp-block-group {
	min-height: 100%;
}

/* Whole-card click, from the title link. Turned off in the editor so text stays clickable. */
.arch-card__title a,
.tile__label a {
	color: inherit;
	text-decoration: none;
}

.arch-card__title a::after,
.tile__label a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

/* Buttons keep their arrow after the editor swaps the SVG for a span. */
span.arrow {
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'><path d='M0 5h12.5M8.5 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.2'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'><path d='M0 5h12.5M8.5 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.2'/></svg>") center / contain no-repeat;
}

.js .reveal.delay-1 { transition-delay: .1s; }
.js .reveal.delay-2 { transition-delay: .2s; }
.js .reveal.delay-3 { transition-delay: .3s; }

/* Definition lists are paragraphs so the prices stay editable. */
.facts .term,
.price-hero .term {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	opacity: .7;
}

.facts .def {
	margin-top: .25rem;
	font-size: var(--fs-md);
}

.price-hero .def {
	margin-top: .5rem;
	font-size: var(--fs-xl);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.05;
}

.price-hero .def small,
.contact-list .fs-base {
	display: block;
	margin-top: .4rem;
	font-size: var(--fs-sm);
	font-weight: 400;
	letter-spacing: 0;
}

.contact-list .fs-base {
	font-size: var(--fs-base);
	margin-top: 0;
}

.quote .wp-block-quote {
	margin: 0;
	padding: 0;
	border: 0;
}

.quote .quote-cap {
	margin-top: 1.5rem;
	font-size: var(--fs-sm);
	font-weight: 600;
}

ul.checklist.wp-block-list,
ol.breadcrumb.wp-block-list,
ul.market__makers.wp-block-list {
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.faq .wp-block-details {
	border-bottom: 1px solid var(--line);
}

.faq .wp-block-details:first-of-type {
	border-top: 1px solid var(--line);
}

.faq .wp-block-details summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
	padding: 1.35rem 0;
	cursor: pointer;
	list-style: none;
	font-size: var(--fs-md);
	font-weight: 600;
	letter-spacing: -0.01em;
}

.faq .wp-block-details summary::-webkit-details-marker {
	display: none;
}

.faq .wp-block-details summary::after {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	background: linear-gradient(currentColor, currentColor) center / 100% 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 100% no-repeat;
	transition: transform .3s var(--ease);
}

.faq .wp-block-details[open] summary::after {
	transform: rotate(45deg);
}

.faq .wp-block-details p {
	padding: 0 0 1.5rem;
	max-width: 68ch;
	color: var(--muted);
}

.faq .wp-block-details p + p {
	margin-top: .75rem;
	padding-top: 0;
}

.measure-36 { max-width: 36ch; }
.measure-40 { max-width: 40ch; }
.measure-42 { max-width: 42ch; }
.measure-44 { max-width: 44ch; }
.measure-46 { max-width: 46ch; }
.measure-48 { max-width: 48ch; }
.measure-52 { max-width: 52ch; }
.items-start { align-items: start; }
.gap-lg { gap: 2rem; }
.cols-1 { grid-template-columns: 1fr; }
.min-h-0 { min-height: 0; }
.pt-tight { padding-top: 2rem; }
.mt-0 { margin-top: 0 !important; }
.on-muted-light { color: var(--muted-light); }
.bd-light { border-color: var(--line-light); }
.table-narrow { max-width: 440px; }
.pull-lg { font-size: var(--fs-xl); line-height: 1.15; color: var(--ink); }
.values-auto { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.c-cream { color: var(--cream); }

.wp-block-table.rate-table,
.wp-block-table.table-narrow {
	margin: 0;
}

.wp-block-table.rate-table table,
.wp-block-table.table-narrow table {
	width: 100%;
	margin-top: 1.5rem;
	border-collapse: collapse;
	font-size: var(--fs-sm);
	font-variant-numeric: tabular-nums;
}

.wp-block-table.table-narrow {
	max-width: 440px;
}

.wp-block-table.rate-table th,
.wp-block-table.rate-table td,
.wp-block-table.table-narrow th,
.wp-block-table.table-narrow td {
	padding: .7rem 0;
	border-bottom: 1px solid var(--line);
	text-align: left;
}

.wp-block-table.rate-table thead th,
.wp-block-table.table-narrow thead th {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--muted);
}

.wp-block-table.rate-table td:not(:first-child),
.wp-block-table.rate-table th:not(:first-child),
.wp-block-table.table-narrow td:not(:first-child),
.wp-block-table.table-narrow th:not(:first-child) {
	text-align: right;
}

.wp-block-table.rate-table tbody td:first-child,
.wp-block-table.table-narrow tbody td:first-child {
	font-weight: 500;
}

.wp-block-table.rate-table figcaption,
.wp-block-table.table-narrow figcaption {
	text-align: left;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--muted);
	padding-bottom: .5rem;
	margin: 0;
}

.hp {
	position: absolute !important;
	left: -9999px;
	height: 0;
	overflow: hidden;
}
