/* =========================================================================
   MIRVEXO QUELDARA — design system
   Two saturated blocks (deep fir green / amber) butted together with hard
   edges. Fraunces display over Archivo text. Hairlines, not rounded cards.
   ========================================================================= */

:root {
	--mq-ink: #131614;
	--mq-ink-soft: #3C433F;
	--mq-paper: #F2EDE4;
	--mq-paper-deep: #E7DFD2;
	--mq-fir: #0F4739;
	--mq-fir-deep: #0A3227;
	--mq-fir-tint: #1B6152;
	--mq-amber: #F0561B;
	--mq-amber-deep: #C93F0C;
	--mq-acid: #D8E23F;
	--mq-mist: #9CBAAE;
	--mq-rule: rgba(19, 22, 20, 0.14);
	--mq-rule-light: rgba(242, 237, 228, 0.22);
	--mq-radius: 4px;
	--mq-gutter: clamp(1.25rem, 4vw, 3.5rem);
	--mq-max: 1240px;

	/* Blocksy plumbing */
	--theme-font-family: Archivo, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--theme-font-weight: 400;
	--theme-font-size: 17px;
	--theme-line-height: 1.7;
	--theme-text-color: var(--mq-ink);
	--theme-link-initial-color: var(--mq-fir);
	--theme-link-hover-color: var(--mq-amber);
	--theme-button-background-initial-color: var(--mq-amber);
	--theme-button-background-hover-color: var(--mq-ink);
	--theme-button-text-initial-color: #FFFFFF;
	--theme-button-text-hover-color: var(--mq-paper);
	--theme-button-border-radius: var(--mq-radius);
	--theme-button-font-family: Archivo, sans-serif;
	--theme-button-font-weight: 600;
	--theme-button-letter-spacing: 0.01em;
	--theme-button-text-transform: none;
	--theme-button-min-height: 48px;
	--theme-button-padding: 0 24px;
	--theme-container-width: var(--mq-max);
	--theme-content-spacing: 0px;
	--theme-form-field-border-radius: var(--mq-radius);
	--theme-form-field-border-initial-color: var(--mq-rule);
	--theme-form-field-background-initial-color: #FFFFFF;
	--theme-form-field-border-focus-color: var(--mq-amber);
	--theme-form-field-height: 52px;
	--theme-border-radius: var(--mq-radius);
	--theme-box-shadow: none;
}

/* ---------------------------------------------------------------- base -- */

html {
	scroll-behavior: smooth;
}

body.mq-site {
	background-color: var(--mq-paper);
	color: var(--mq-ink);
	font-family: Archivo, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.mq-site h1,
.mq-site h2,
.mq-site h3,
.mq-site h4,
.mq-site h5,
.mq-site h6,
.mq-site .wp-block-post-title {
	font-family: Fraunces, "Iowan Old Style", Georgia, serif;
	font-optical-sizing: auto;
	font-variation-settings: "SOFT" 30, "WONK" 1;
	font-weight: 600;
	color: var(--mq-ink);
	letter-spacing: -0.022em;
	line-height: 1.05;
	text-wrap: balance;
	scroll-margin-top: 120px;
}

.mq-site h1 { font-size: clamp(2.6rem, 6vw, 4.5rem); font-weight: 700; }
.mq-site h2 { font-size: clamp(1.9rem, 3.9vw, 3rem); }
.mq-site h3 { font-size: clamp(1.3rem, 2.1vw, 1.7rem); }
.mq-site h4 { font-size: 1.15rem; letter-spacing: -0.01em; }

.mq-site p,
.mq-site li {
	line-height: 1.75;
}

.mq-site p {
	margin-block: 0 1.1em;
	max-width: 68ch;
}

.mq-site a {
	color: var(--mq-fir);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.mq-site a:hover,
.mq-site a:focus-visible {
	color: var(--mq-amber);
}

.mq-site :focus-visible {
	outline: 3px solid var(--mq-amber);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Section rhythm: hard-edged bands, generous air. */
.mq-site main > .entry-content > .wp-block-group,
.mq-site main > .entry-content > .wp-block-columns,
.mq-site main > .entry-content > .wp-block-cover {
	position: relative;
}

.mq-band {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.mq-band--tight {
	padding-block: clamp(2.25rem, 4vw, 3.5rem);
}

.mq-band--flush-top {
	padding-block-start: 0;
}

.mq-band--flush-bottom {
	padding-block-end: 0;
}

/* Dark bands: reset type colours. */
.mq-ink,
.mq-fir {
	color: var(--mq-paper);
}

.mq-ink h1, .mq-ink h2, .mq-ink h3, .mq-ink h4, .mq-ink h5,
.mq-fir h1, .mq-fir h2, .mq-fir h3, .mq-fir h4, .mq-fir h5 {
	color: var(--mq-paper);
}

.mq-ink p, .mq-ink li, .mq-fir p, .mq-fir li {
	color: rgba(242, 237, 228, 0.82);
}

.mq-ink a, .mq-fir a {
	color: var(--mq-paper);
}

.mq-ink a:hover, .mq-fir a:hover {
	color: var(--mq-acid);
}

.mq-ink {
	background-color: var(--mq-ink);
}

.mq-fir {
	background-color: var(--mq-fir);
}

.mq-paper {
	background-color: var(--mq-paper);
}

.mq-paper-deep {
	background-color: var(--mq-paper-deep);
}

.mq-amber {
	background-color: var(--mq-amber);
	color: var(--mq-ink);
}

.mq-amber h1, .mq-amber h2, .mq-amber h3, .mq-amber h4 {
	color: var(--mq-ink);
}

/* Hard edge between two bands, no gradient. */
.mq-edge-amber {
	border-block-start: 3px solid var(--mq-amber);
}

.mq-edge-ink {
	border-block-start: 3px solid var(--mq-ink);
}

/* ------------------------------------------------------- site chrome ---- */

.mq-site [data-header] {
	background-color: var(--mq-paper);
	border-block-end: 1px solid var(--mq-rule);
}

.mq-site [data-header] .ct-header-text,
.mq-site [data-header] .ct-header-cta {
	font-family: Archivo, sans-serif;
}

.mq-logo-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.mq-mark {
	height: 46px;
	width: auto;
	display: block;
}

.mq-site .ct-header [data-row] {
	min-height: 84px;
}

.mq-site .ct-header nav ul li a,
.mq-site .ct-header .menu > li > a {
	font-family: Archivo, sans-serif;
	font-weight: 500;
	font-size: 1rem;
	letter-spacing: 0.005em;
	color: var(--mq-ink);
}

.mq-site .ct-header nav ul li a:hover,
.mq-site .ct-header .menu > li > a:hover,
.mq-site .ct-header .current-menu-item > a {
	color: var(--mq-amber);
}

.mq-site .ct-header .ct-header-cta a,
.mq-site .ct-header .ct-header-cta .ct-button {
	background-color: var(--mq-amber);
	color: #FFFFFF;
	border-radius: var(--mq-radius);
	font-weight: 600;
	padding-inline: 20px;
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	transition: background-color 160ms ease, color 160ms ease;
}

.mq-site .ct-header .ct-header-cta a:hover,
.mq-site .ct-header .ct-header-cta .ct-button:hover {
	background-color: var(--mq-ink);
	color: var(--mq-paper);
}

/* Footer: dark fir block, hairline grid. */
.mq-site #footer {
	background-color: var(--mq-fir);
	color: rgba(242, 237, 228, 0.82);
	--theme-text-color: rgba(242, 237, 228, 0.82);
}

.mq-site #footer h1,
.mq-site #footer h2,
.mq-site #footer h3,
.mq-site #footer h4 {
	color: var(--mq-paper);
}

.mq-site #footer a {
	color: var(--mq-paper);
	text-decoration-color: rgba(242, 237, 228, 0.4);
}

.mq-site #footer a:hover {
	color: var(--mq-amber);
}

.mq-footer-blurb {
	max-width: 40ch;
	font-size: 0.95rem;
}

.mq-footer-mark .mq-mark {
	height: 56px;
}

/* ---------------------------------------------------------- wide/side --- */

.mq-site main .entry-content > .alignwide,
.mq-site main .entry-content > .alignfull {
	width: 100%;
	max-width: none;
}

.mq-site .mq-wrap {
	max-width: var(--mq-max);
	margin-inline: auto;
	padding-inline: var(--mq-gutter);
}

.mq-site .alignfull > .mq-wrap {
	max-width: var(--mq-max);
}

/* ------------------------------------------------------------- hero ----- */

.mq-hero {
	background-color: var(--mq-fir);
	color: var(--mq-paper);
	overflow: hidden;
	position: relative;
}

.mq-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(var(--mq-rule-light) 1px, transparent 1px);
	background-size: 100% 96px;
	opacity: 0.35;
	pointer-events: none;
}

.mq-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: end;
	padding-block: clamp(3rem, 7vw, 6rem);
	min-height: min(78vh, 720px);
}

.mq-hero__copy {
	position: relative;
	z-index: 2;
}

.mq-hero__kicker {
	font-family: Archivo, sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mq-acid);
	margin: 0 0 1.75rem;
	max-width: none;
}

.mq-hero h1 {
	color: var(--mq-paper);
	font-size: clamp(2.5rem, 6.4vw, 5.25rem);
	line-height: 0.98;
	letter-spacing: -0.03em;
	margin: 0 0 1.5rem;
	max-width: 16ch;
}

.mq-hero__lede {
	font-size: clamp(1.02rem, 1.5vw, 1.2rem);
	color: rgba(242, 237, 228, 0.86);
	max-width: 46ch;
	margin: 0 0 2.25rem;
}

.mq-hero__art {
	position: relative;
	justify-self: end;
	width: 100%;
	max-width: 520px;
}

.mq-hero__art img,
.mq-hero__art svg {
	width: 100%;
	height: auto;
	display: block;
}

.mq-hero__art .mq-art,
.mq-art {
	display: inline-block;
	color: var(--mq-ink);
}

.mq-art svg {
	display: block;
	width: 100%;
	height: auto;
}

.mq-hero__art .mq-art {
	color: var(--mq-paper);
}

.mq-hero__tag {
	position: absolute;
	inset-block-end: -0.5rem;
	inset-inline-start: 0;
	background-color: var(--mq-amber);
	color: var(--mq-ink);
	font-family: Archivo, sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.5rem 0.85rem;
}

.mq-hero__stats {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border-block-start: 1px solid var(--mq-rule-light);
}

.mq-hero__stat {
	flex: 1 1 190px;
	padding: 1.4rem clamp(1rem, 2vw, 2rem) 1.5rem 0;
	border-inline-end: 1px solid var(--mq-rule-light);
}

.mq-hero__stat:last-child {
	border-inline-end: 0;
}

.mq-hero__stat b {
	display: block;
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	font-weight: 700;
	color: var(--mq-paper);
	line-height: 1;
	margin-block-end: 0.4rem;
}

.mq-hero__stat span {
	font-size: 0.86rem;
	color: var(--mq-mist);
	line-height: 1.4;
	display: block;
}

/* ---------------------------------------------------------- ticker ------ */

.mq-ticker {
	background-color: var(--mq-amber);
	color: var(--mq-ink);
	overflow: hidden;
	border: 0;
	padding: 0;
}

.mq-ticker__track {
	display: flex;
	width: max-content;
	animation: mq-marquee 46s linear infinite;
}

.mq-ticker__row {
	display: flex;
	align-items: center;
	gap: 2.25rem;
	padding: 0.85rem 1.125rem 0.85rem 1.125rem;
	font-family: Archivo, sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
}

.mq-ticker__row span {
	display: inline-flex;
	align-items: center;
	gap: 2.25rem;
}

.mq-ticker__row span::after {
	content: "";
	width: 7px;
	height: 7px;
	background-color: var(--mq-ink);
	transform: rotate(45deg);
	flex: none;
}

@keyframes mq-marquee {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-50%, 0, 0); }
}

/* ------------------------------------------------------------- bands ---- */

.mq-lede {
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-size: clamp(1.35rem, 2.5vw, 1.95rem) !important;
	line-height: 1.35 !important;
	letter-spacing: -0.015em;
	max-width: 44ch;
	margin: 0;
	color: var(--mq-ink);
}

.mq-ink .mq-lede,
.mq-fir .mq-lede {
	color: var(--mq-paper);
}

/* Section heading + supporting column, hairline separated. */
.mq-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.28fr);
	gap: clamp(1.5rem, 4vw, 4.5rem);
	align-items: start;
}

.mq-split + .mq-split {
	margin-block-start: clamp(2rem, 4vw, 3.5rem);
}

.mq-head {
	margin: 0;
}

.mq-head--rule {
	padding-block-start: 1.4rem;
	border-block-start: 2px solid var(--mq-ink);
}

.mq-ink .mq-head--rule,
.mq-fir .mq-head--rule {
	border-block-start-color: var(--mq-amber);
}

/* -------------------------------------------------------- service rows -- */

.mq-rowset {
	border-block-start: 1px solid var(--mq-rule);
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-ink .mq-rowset,
.mq-fir .mq-rowset {
	border-block-start-color: var(--mq-rule-light);
}

.mq-row {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr) minmax(0, 1.4fr);
	gap: clamp(1rem, 3vw, 3rem);
	align-items: start;
	padding-block: clamp(1.5rem, 3vw, 2.4rem);
	border-block-end: 1px solid var(--mq-rule);
}

.mq-ink .mq-row,
.mq-fir .mq-row {
	border-block-end-color: var(--mq-rule-light);
}

.mq-row__num {
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--mq-amber);
	line-height: 1;
	padding-block-start: 0.35rem;
}

.mq-fir .mq-row__num,
.mq-ink .mq-row__num {
	color: var(--mq-acid);
}

.mq-row__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
}

.mq-row__body p {
	margin: 0 0 0.75rem;
	max-width: 62ch;
}

.mq-row__meta {
	font-size: 0.9rem;
	color: var(--mq-ink-soft);
	margin: 0;
}

.mq-ink .mq-row__meta,
.mq-fir .mq-row__meta {
	color: var(--mq-mist);
}

/* ------------------------------------------------------------ pieces ---- */

.mq-pieces {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 0;
	border-block-start: 1px solid var(--mq-rule-light);
	border-inline-start: 1px solid var(--mq-rule-light);
}

.mq-piece {
	border-inline-end: 1px solid var(--mq-rule-light);
	border-block-end: 1px solid var(--mq-rule-light);
	padding: clamp(1.25rem, 2vw, 1.75rem);
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}

.mq-piece__frame {
	background-color: rgba(242, 237, 228, 0.06);
	border: 1px solid var(--mq-rule-light);
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8%;
	overflow: hidden;
	color: var(--mq-paper);
}

.mq-piece__frame .mq-art,
.mq-piece__frame svg {
	width: 100%;
	height: auto;
	max-height: 100%;
	display: block;
}

.mq-piece__no {
	font-family: Archivo, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--mq-acid);
	margin: 0;
}

.mq-piece__name {
	margin: 0;
	font-size: 1.2rem;
}

.mq-piece__spec {
	margin: 0;
	font-size: 0.88rem;
	color: var(--mq-mist);
	line-height: 1.55;
}

.mq-paper .mq-pieces,
.mq-paper-deep .mq-pieces {
	border-block-start-color: var(--mq-rule);
	border-inline-start-color: var(--mq-rule);
}

.mq-paper .mq-piece,
.mq-paper-deep .mq-piece {
	border-inline-end-color: var(--mq-rule);
	border-block-end-color: var(--mq-rule);
}

.mq-paper .mq-piece__frame,
.mq-paper-deep .mq-piece__frame {
	background-color: rgba(15, 71, 57, 0.05);
	border-color: var(--mq-rule);
}

.mq-paper .mq-piece__no,
.mq-paper-deep .mq-piece__no {
	color: var(--mq-fir);
}

.mq-paper .mq-piece__spec,
.mq-paper-deep .mq-piece__spec {
	color: var(--mq-ink-soft);
}

/* ------------------------------------------------------------ values ---- */

.mq-values {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 3rem);
}

.mq-value {
	padding-block-start: 1.25rem;
	border-block-start: 2px solid var(--mq-amber);
}

.mq-value h3 {
	margin: 0 0 0.6rem;
	font-size: 1.2rem;
}

.mq-value p {
	margin: 0;
	font-size: 0.95rem;
	max-width: 46ch;
}

/* --------------------------------------------------------- testimonial -- */

.mq-quote {
	max-width: 26ch;
	margin: 0;
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-size: clamp(1.6rem, 3.4vw, 2.6rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--mq-ink);
}

.mq-quote__attr {
	margin: 1.5rem 0 0;
	font-family: Archivo, sans-serif;
	font-size: 0.92rem;
	letter-spacing: 0.02em;
	color: var(--mq-ink-soft);
}

/* --------------------------------------------------------------- CTA ---- */

.mq-cta {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: center;
}

.mq-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.25rem;
	align-items: center;
	margin-block-start: 1.75rem;
}

.mq-cta__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}

.mq-cta__list li {
	display: grid;
	gap: 0.15rem;
	padding-block-end: 1rem;
	border-block-end: 1px solid var(--mq-rule-light);
	font-family: Archivo, sans-serif;
	font-size: 1.02rem;
}

.mq-cta__list b {
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-size: 1.3rem;
	letter-spacing: -0.01em;
}

/* ------------------------------------------------------------ buttons --- */

.mq-btn,
.mq-site .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-family: Archivo, sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1;
	padding: 1.05rem 1.6rem;
	min-height: 52px;
	border-radius: var(--mq-radius);
	border: 0;
	background-color: var(--mq-amber);
	color: #FFFFFF;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.mq-btn:hover,
.mq-btn:focus-visible,
.mq-site .wp-block-button__link:hover,
.mq-site .wp-block-button__link:focus-visible {
	background-color: var(--mq-ink);
	color: var(--mq-paper);
	transform: translateY(-2px);
}

.mq-fir .mq-btn:hover,
.mq-fir .mq-btn:focus-visible {
	background-color: var(--mq-paper);
	color: var(--mq-ink);
}

.mq-btn--ghost,
.mq-site .is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: var(--mq-ink);
	box-shadow: inset 0 0 0 2px var(--mq-ink);
}

.mq-btn--ghost:hover,
.mq-btn--ghost:focus-visible,
.mq-site .is-style-outline .wp-block-button__link:hover {
	background-color: var(--mq-ink);
	color: var(--mq-paper);
}

.mq-fir .mq-btn--ghost,
.mq-ink .mq-btn--ghost,
.mq-fir .is-style-outline .wp-block-button__link,
.mq-ink .is-style-outline .wp-block-button__link {
	color: var(--mq-paper);
	box-shadow: inset 0 0 0 2px rgba(242, 237, 228, 0.65);
}

.mq-fir .mq-btn--ghost:hover,
.mq-ink .mq-btn--ghost:hover {
	background-color: var(--mq-paper);
	color: var(--mq-ink);
}

.mq-link {
	font-family: Archivo, sans-serif;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-decoration-color: var(--mq-amber);
	text-underline-offset: 5px;
	color: inherit;
}

.mq-link:hover {
	color: var(--mq-amber);
}

/* ------------------------------------------------------------- facts ---- */

.mq-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.5rem);
}

.mq-fact {
	padding-block-start: 1.1rem;
	border-block-start: 1px solid var(--mq-rule);
}

.mq-fact b {
	display: block;
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	line-height: 1;
	margin-block-end: 0.4rem;
	color: var(--mq-fir);
}

.mq-fact span {
	font-size: 0.9rem;
	color: var(--mq-ink-soft);
}

.mq-fir .mq-fact,
.mq-ink .mq-fact {
	border-block-start-color: var(--mq-rule-light);
}

.mq-fir .mq-fact b,
.mq-ink .mq-fact b {
	color: var(--mq-acid);
}

.mq-fir .mq-fact span,
.mq-ink .mq-fact span {
	color: var(--mq-mist);
}

/* ------------------------------------------------------------ process --- */

.mq-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
	counter-reset: mq-step;
}

.mq-step {
	border-block-start: 2px solid var(--mq-ink);
	padding-block-start: 1.1rem;
}

.mq-fir .mq-step,
.mq-ink .mq-step {
	border-block-start-color: var(--mq-acid);
}

.mq-step__no {
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-size: 1.4rem;
	color: var(--mq-amber);
	display: block;
	margin-block-end: 0.5rem;
}

.mq-step h3 {
	font-size: 1.15rem;
	margin: 0 0 0.5rem;
}

.mq-step p {
	font-size: 0.94rem;
	margin: 0;
	color: var(--mq-ink-soft);
}

.mq-fir .mq-step p,
.mq-ink .mq-step p {
	color: var(--mq-mist);
}

/* ------------------------------------------------------------ contact --- */

.mq-contact {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
}

.mq-contact__details {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.mq-contact__details li {
	padding-block: 1.1rem;
	border-block-end: 1px solid var(--mq-rule-light);
}

.mq-contact__details span {
	display: block;
	font-family: Archivo, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mq-acid);
	margin-block-end: 0.35rem;
}

.mq-contact__details b,
.mq-contact__details a {
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	letter-spacing: -0.01em;
	color: var(--mq-paper);
	text-decoration: none;
	line-height: 1.35;
}

.mq-contact__details a:hover {
	color: var(--mq-amber);
}

.mq-form {
	display: block;
	background-color: var(--mq-paper);
	color: var(--mq-ink);
	border: 1px solid var(--mq-rule);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.mq-form .mq-field {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	max-width: none;
}

.mq-form .mq-field + .mq-field,
.mq-form .mq-form-note + .mq-field,
.mq-form .mq-field + .mq-submit {
	margin-block-start: 1.25rem;
}

.mq-form label {
	font-family: Archivo, sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mq-ink-soft);
}

.mq-form .mq-opt {
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--mq-ink-soft);
	opacity: 0.7;
}

.mq-form input[type="text"],
.mq-form input[type="email"],
.mq-form input[type="tel"],
.mq-form select,
.mq-form textarea {
	width: 100%;
	font-family: Archivo, sans-serif;
	font-size: 1rem;
	color: var(--mq-ink);
	background-color: #FFFFFF;
	border: 1px solid var(--mq-rule);
	border-radius: var(--mq-radius);
	padding: 0.85rem 1rem;
	min-height: 52px;
	transition: border-color 140ms ease, box-shadow 140ms ease;
}

.mq-form textarea {
	min-height: 150px;
	resize: vertical;
}

.mq-form input:focus,
.mq-form select:focus,
.mq-form textarea:focus {
	outline: none;
	border-color: var(--mq-amber);
	box-shadow: 0 0 0 3px rgba(240, 86, 27, 0.22);
}

.mq-form .mq-submit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin: 0;
	max-width: none;
}

.mq-form-hint {
	font-size: 0.88rem;
	color: var(--mq-ink-soft);
}

.mq-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	margin: 0;
	max-width: none;
}

.mq-form-note {
	grid-column: 1 / -1;
	margin: 0;
	padding: 1rem 1.25rem;
	border-radius: var(--mq-radius);
	font-size: 0.98rem;
	max-width: none;
}

.mq-form-note--ok {
	background-color: rgba(216, 226, 63, 0.3);
	border-inline-start: 4px solid var(--mq-acid);
	color: var(--mq-ink);
}

.mq-form-note--bad {
	background-color: rgba(240, 86, 27, 0.12);
	border-inline-start: 4px solid var(--mq-amber);
	color: var(--mq-ink);
}

.mq-map {
	border: 1px solid var(--mq-rule-light);
}

.mq-map iframe {
	display: block;
	width: 100%;
	height: clamp(240px, 32vw, 360px);
	border: 0;
	filter: grayscale(1) contrast(1.05);
}

/* ------------------------------------------------------- post cards ----- */

.mq-postcards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border-block-start: 1px solid var(--mq-rule);
	border-inline-start: 1px solid var(--mq-rule);
	margin-block-start: clamp(1.75rem, 3.5vw, 3rem);
}

.mq-postcard {
	border-inline-end: 1px solid var(--mq-rule);
	border-block-end: 1px solid var(--mq-rule);
	padding: clamp(1.25rem, 2.4vw, 2rem);
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.mq-postcard > * {
	margin: 0;
}

.mq-postcard__no {
	font-family: Archivo, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mq-amber);
}

.mq-postcard h3 {
	font-size: clamp(1.1rem, 1.7vw, 1.35rem);
	margin: 0;
}

.mq-postcard h3 a {
	text-decoration: none;
	color: var(--mq-ink);
}

.mq-postcard h3 a:hover {
	color: var(--mq-amber);
}

.mq-postcard__meta {
	font-family: Archivo, sans-serif;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	color: var(--mq-ink-soft);
}

.mq-postcard > p:not([class]) {
	font-size: 0.95rem;
	color: var(--mq-ink-soft);
	line-height: 1.65;
}

@media (max-width: 860px) {
	.mq-postcards {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* --------------------------------------------------------- blog index --- */

/* Query Loop grid on the blog page. */
.mq-blog {
	margin-block-start: clamp(1.75rem, 3.5vw, 3rem);
}

.mq-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	border-block-start: 1px solid var(--mq-rule);
	border-inline-start: 1px solid var(--mq-rule);
}

.mq-blog__grid > li {
	border-inline-end: 1px solid var(--mq-rule);
	border-block-end: 1px solid var(--mq-rule);
	margin: 0;
	list-style: none;
}

.mq-blog__card {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: clamp(1.25rem, 2.4vw, 2rem);
	height: 100%;
}

.mq-blog__card > * {
	margin: 0;
}

.mq-blog__cat {
	font-family: Archivo, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mq-amber);
}

.mq-blog__cat a {
	color: inherit;
	text-decoration: none;
}

.mq-blog__title {
	font-size: clamp(1.1rem, 1.7vw, 1.35rem);
	margin: 0;
}

.mq-blog__title a {
	text-decoration: none;
	color: var(--mq-ink);
}

.mq-blog__title a:hover {
	color: var(--mq-amber);
}

.mq-blog__date {
	font-family: Archivo, sans-serif;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	color: var(--mq-ink-soft);
}

.mq-blog__excerpt,
.mq-blog__excerpt p {
	font-size: 0.95rem;
	color: var(--mq-ink-soft);
	line-height: 1.65;
	margin: 0;
}

.mq-blog .wp-block-post-excerpt__more-link {
	display: none;
}

@media (max-width: 860px) {
	.mq-blog__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Blocksy's own archive cards, restyled into the hairline grid. */
.mq-site [data-prefix="blog"] .entries,
.mq-site [data-prefix="categories"] .entries,
.mq-site [data-prefix="search"] .entries,
.mq-site [data-prefix="author"] .entries,
.mq-site [data-prefix="archive"] .entries {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border-block-start: 1px solid var(--mq-rule);
	border-inline-start: 1px solid var(--mq-rule);
}

.mq-site .entry-card {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	background-color: transparent;
	box-shadow: none;
	border-inline-end: 1px solid var(--mq-rule);
	border-block-end: 1px solid var(--mq-rule);
	padding: clamp(1.25rem, 2.4vw, 2rem);
	margin: 0;
	border-radius: 0;
}

.mq-site .entry-card > * {
	order: 3;
	margin: 0;
}

.mq-site .entry-card .entry-meta[data-id="meta_1"] {
	order: 1;
}

.mq-site .entry-card .entry-title {
	order: 2;
	margin: 0;
}

.mq-site .entry-card .entry-meta[data-id="meta_2"] {
	order: 4;
}

.mq-site .entry-card .entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: Archivo, sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mq-ink-soft);
}

.mq-site .entry-card .entry-meta li {
	margin: 0;
	padding: 0;
}

.mq-site .entry-card .entry-meta[data-id="meta_1"] a {
	color: var(--mq-amber);
	text-decoration: none;
	font-weight: 600;
}

.mq-site .entry-card .entry-title {
	font-size: clamp(1.1rem, 1.7vw, 1.35rem);
	line-height: 1.15;
}

.mq-site .entry-card .entry-title a {
	color: var(--mq-ink);
	text-decoration: none;
}

.mq-site .entry-card .entry-title a:hover {
	color: var(--mq-amber);
}

.mq-site .entry-card .entry-excerpt {
	font-size: 0.95rem;
	color: var(--mq-ink-soft);
	line-height: 1.65;
}

.mq-site .entry-card .entry-excerpt p {
	margin: 0;
	font-size: inherit;
	color: inherit;
}

.mq-site .entry-card .entry-button,
.mq-site .entry-card .ct-divider,
.mq-site .entry-card .entry-meta[data-id="meta_2"] .meta-comments {
	display: none;
}

@media (max-width: 999px) {
	.mq-site [data-prefix="blog"] .entries,
	.mq-site [data-prefix="categories"] .entries,
	.mq-site [data-prefix="search"] .entries,
	.mq-site [data-prefix="author"] .entries,
	.mq-site [data-prefix="archive"] .entries {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 689px) {
	.mq-site [data-prefix="blog"] .entries,
	.mq-site [data-prefix="categories"] .entries,
	.mq-site [data-prefix="search"] .entries,
	.mq-site [data-prefix="author"] .entries,
	.mq-site [data-prefix="archive"] .entries {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Closing prompt on single posts. */
.mq-post-cta {
	margin-block-start: clamp(2.5rem, 5vw, 4rem);
	padding-block-start: clamp(1.5rem, 3vw, 2.25rem);
	border-block-start: 2px solid var(--mq-ink);
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem 2.5rem;
	align-items: center;
	justify-content: space-between;
}

.mq-post-cta__text {
	margin: 0;
	max-width: 52ch;
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-size: 1.1rem;
	line-height: 1.5;
	color: var(--mq-ink);
}

.mq-post-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	align-items: center;
}

.mq-site .wp-block-post-template:not(.mq-blog__grid) {
	gap: 0;
}

.mq-site .wp-block-post-template:not(.mq-blog__grid) > li {
	border-block-end: 1px solid var(--mq-rule);
	padding-block: clamp(1.5rem, 3vw, 2.25rem);
}

.mq-site .wp-block-post-template:not(.mq-blog__grid) > li:first-child {
	border-block-start: 1px solid var(--mq-rule);
}

.mq-site .entry-meta,
.mq-site .wp-block-post-date {
	font-family: Archivo, sans-serif;
	font-size: 0.82rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mq-fir);
}

.mq-site .wp-block-post-title {
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	margin-block: 0.35rem 0.5rem;
}

.mq-site .wp-block-post-title a {
	text-decoration: none;
	color: var(--mq-ink);
}

.mq-site .wp-block-post-title a:hover {
	color: var(--mq-amber);
}

.mq-site .wp-block-post-excerpt__excerpt {
	color: var(--mq-ink-soft);
	max-width: 62ch;
	margin: 0;
}

.mq-site .wp-block-post-featured-image img {
	border-radius: 0;
}

/* Single post / page prose. */
.mq-site .entry-content > .wp-block-paragraph,
.mq-site .entry-content > .wp-block-list,
.mq-site .entry-content > .wp-block-quote {
	max-width: 68ch;
}

.mq-site .wp-block-quote {
	border-inline-start: 4px solid var(--mq-amber);
	padding-inline-start: 1.5rem;
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-size: 1.25rem;
	line-height: 1.45;
	color: var(--mq-ink);
}

.mq-site .wp-block-separator {
	border-color: var(--mq-rule);
	opacity: 1;
}

/* ------------------------------------------------------- page header ---- */

.mq-pagehead {
	background-color: var(--mq-paper-deep);
	border-block-end: 3px solid var(--mq-amber);
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.mq-pagehead__inner {
	max-width: var(--mq-max);
	margin-inline: auto;
	padding-inline: var(--mq-gutter);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: end;
}

.mq-pagehead h1 {
	margin: 0;
	font-size: clamp(2.4rem, 5.5vw, 4rem);
}

.mq-pagehead__note {
	margin: 0;
	max-width: 42ch;
	color: var(--mq-ink-soft);
	font-size: 1.02rem;
}

/* =========================================================================
   Spacing discipline.
   WordPress writes margin/gap values into the page markup for layout blocks;
   the design system takes those over so bands, rules and grids stay exact.
   ========================================================================= */

.mq-wrap,
.mq-hero__inner,
.mq-split,
.mq-cta,
.mq-contact,
.mq-pieces,
.mq-piece,
.mq-values,
.mq-facts,
.mq-steps,
.mq-step,
.mq-rowset,
.mq-row,
.mq-ticker,
.mq-ticker__track,
.mq-pagehead__inner,
.mq-pagehead,
.mq-band,
.mq-form,
.mq-form .mq-field,
.mq-form .mq-submit,
.mq-postcards,
.mq-postcard,
.mq-hero__stats,
.mq-contact__details,
.mq-cta__list,
.wp-block-buttons {
	gap: 0;
	margin-block-start: 0;
	margin-block-end: 0;
	margin-top: 0;
	margin-bottom: 0;
}

/* Buttons do need air between them. */
.wp-block-buttons {
	gap: 1rem 1.25rem;
}

.mq-wrap > * + *,
.mq-pagehead__inner > * + *,
.mq-hero__inner > * + * {
	margin-block-start: clamp(1.5rem, 3vw, 2.75rem);
}

.mq-band > .mq-band + .mq-band,
.mq-band > * + .mq-band {
	margin-block-start: 0;
}

.mq-split + *,
.mq-pieces + *,
.mq-steps + *,
.mq-rowset + * {
	margin-block-start: clamp(1.75rem, 3.5vw, 3rem);
}

.mq-lede {
	margin: 0 0 1.5rem;
}

.mq-head {
	margin: 0 0 1.25rem;
}

.mq-head--rule {
	margin-block-start: 0;
}

.mq-split > * > .mq-head:last-child,
.mq-split > .mq-head:last-child {
	margin-block-end: 0;
}

.mq-hero h1 {
	margin-block: 0 1.5rem;
}

.mq-hero__kicker {
	margin: 0 0 1.5rem;
}

.mq-hero__lede {
	margin: 0 0 2rem;
}

.mq-hero__tag {
	margin: 0;
}

.mq-hero__stat {
	margin: 0;
}

.mq-hero__stat b {
	margin: 0 0 0.35rem;
}

.mq-row__title {
	margin: 0 0 0.5rem;
}

.mq-row__body > * + * {
	margin-block-start: 0.75rem;
}

.mq-row__meta {
	margin: 0;
}

.mq-piece > * {
	margin: 0;
}

.mq-piece__name {
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-size: 1.2rem;
	letter-spacing: -0.015em;
	line-height: 1.2;
}

.mq-piece--wide {
	grid-column: 1 / -1;
}

.mq-value > * + * {
	margin-block-start: 0.6rem;
}

.mq-value h3 {
	margin: 0;
}

.mq-value p {
	margin: 0;
}

.mq-value__no {
	font-family: Archivo, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mq-amber);
	margin: 0 0 0.6rem;
}

.mq-step > * + * {
	margin-block-start: 0.5rem;
}

.mq-step__no {
	margin: 0;
}

.mq-step h3 {
	margin: 0;
}

.mq-step p {
	margin: 0;
}

.mq-fact b {
	margin: 0 0 0.4rem;
}

.mq-fact span {
	display: block;
}

.mq-fact {
	margin: 0;
}

.mq-quote {
	margin: 0;
}

.mq-quote__attr {
	margin: 1.5rem 0 0;
}

.mq-cta__list li > * + * {
	margin-block-start: 0.15rem;
}

.mq-cta__actions {
	margin-block-start: 1.75rem;
}

.mq-contact__details span {
	margin: 0 0 0.35rem;
}

.mq-contact__details li > * {
	margin: 0;
}

.mq-contact__details li > * + * {
	margin-block-start: 0.35rem;
}

.mq-contact__details + * {
	margin-block-start: 1.75rem;
}

.mq-form-note + .mq-field {
	margin-block-start: 0;
}

.mq-form .mq-submit > * {
	margin: 0;
}

.mq-site .entry-content > .mq-band + .mq-band,
.mq-site .entry-content > .wp-block-group + .wp-block-group.mq-band {
	margin-block-start: 0;
}

/* Lists inside prose keep their markers and indent. */
.mq-site .entry-content .wp-block-list:not([class*="mq-"]) {
	padding-inline-start: 1.25rem;
	margin-block: 0 1.25rem;
}

.mq-site .entry-content .wp-block-list:not([class*="mq-"]) li + li {
	margin-block-start: 0.5rem;
}

.mq-site .wp-block-list.mq-rowset,
.mq-site .wp-block-list.mq-cta__list,
.mq-site .wp-block-list.mq-contact__details {
	list-style: none;
	padding-inline-start: 0;
}

/* Utilities */
.mq-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	padding: 0;
	margin: 0;
}

/* Custom page headers replace the theme page title (page IDs set in PHP). */
.mq-hide-page-title .entry-header {
	display: none;
}

.mq-hide-page-title .entry-content > .mq-band:first-child,
.mq-hide-page-title .entry-content > .mq-pagehead:first-child {
	margin-block-start: 0;
}

/* Legacy Blocksy footer rows are replaced by the workshop footer above. */
.mq-site .ct-footer [data-row="bottom"] .ct-footer-copyright {
	display: none;
}



/* Full-bleed bands.
   Blocksy's main.min.css sets
     .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { width: var(--theme-block-width) }
   which pins every band to the theme's 1290px block width. Because it uses
   :where() its specificity is only 0,1,0, so source order lets it beat the
   responsive media queries below. The site's bands manage their own width via
   .mq-wrap, so this releases them. */
.mq-site .entry-content > .mq-band,
.mq-site .entry-content > .mq-pagehead,
.mq-site .entry-content > .mq-band.is-layout-constrained,
.mq-site .entry-content > .mq-pagehead.is-layout-constrained {
	width: auto;
	max-width: none;
	margin-inline: 0;
}

.mq-site .mq-band > .mq-wrap,
.mq-site .mq-pagehead > .mq-pagehead__inner {
	width: 100%;
}

/* ------------------------------------------------------------ footer ---- */

.mq-site .ct-footer {
	padding-block: clamp(2.5rem, 5vw, 4rem) 0;
}

/* --------------------------------------------------------- responsive --- */

@media (max-width: 1024px) {
	.mq-pieces {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.mq-row {
		grid-template-columns: 3.5rem minmax(0, 1fr);
	}

	.mq-row__body {
		grid-column: 2 / -1;
	}
}

@media (max-width: 860px) {
	.mq-hero__inner,
	.mq-split,
	.mq-cta,
	.mq-contact,
	.mq-pagehead__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.mq-hero__inner {
		min-height: 0;
		padding-block: 3.25rem 2.5rem;
	}

	.mq-hero__art {
		justify-self: stretch;
		max-width: 420px;
		margin-block-start: 1rem;
	}

	.mq-values,
	.mq-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mq-hero__stat {
		flex: 1 1 45%;
		border-inline-end: 0;
		border-block-end: 1px solid var(--mq-rule-light);
	}

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

@media (max-width: 560px) {
	.mq-pieces,
	.mq-steps,
	.mq-values,
	.mq-facts {
		grid-template-columns: minmax(0, 1fr);
	}

	.mq-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.75rem;
	}

	.mq-row__body {
		grid-column: auto;
	}

	.mq-lede {
		font-size: 1.3rem !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.mq-ticker__track {
		animation: none;
	}

	.mq-btn,
	.mq-site .wp-block-button__link {
		transition: none;
	}
}

.mq-footer {
	max-width: var(--mq-max);
	margin-inline: auto;
	padding: clamp(2.5rem, 5vw, 4.5rem) var(--mq-gutter) clamp(1.5rem, 3vw, 2.25rem);
}

.mq-footer__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
}

.mq-footer__mark {
	display: block;
}

.mq-footer__mark .mq-mark {
	display: block;
	width: auto;
	height: 52px;
	max-width: 100%;
	margin-block-end: 1.25rem;
}

.mq-footer__blurb {
	max-width: 38ch;
	font-size: 0.95rem;
	color: rgba(242, 237, 228, 0.75);
	margin: 0;
}

.mq-footer__legal {
	margin-block-start: clamp(2rem, 4vw, 3rem);
	padding-block-start: 1.25rem;
	border-block-start: 1px solid var(--mq-rule-light);
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
	justify-content: space-between;
}

.mq-footer__legal p {
	margin: 0;
	font-size: 0.85rem;
	letter-spacing: 0.01em;
	color: rgba(242, 237, 228, 0.62);
	max-width: none;
}

.mq-footer__col h3 {
	font-family: Archivo, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mq-acid);
	margin: 0 0 1rem;
}

.mq-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

.mq-footer__col li {
	font-family: Archivo, sans-serif;
	font-size: 0.94rem;
	line-height: 1.55;
	color: rgba(242, 237, 228, 0.78);
	margin: 0;
}

.mq-footer__col a {
	color: var(--mq-paper);
	text-decoration: none;
	border-block-end: 1px solid rgba(242, 237, 228, 0.35);
}

.mq-footer__col a:hover {
	color: var(--mq-amber);
	border-block-end-color: var(--mq-amber);
}

@media (max-width: 960px) {
	.mq-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.mq-footer__inner {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Site title used as the header brand mark when no image logo is set. */
.mq-site .ct-header .site-title {
	font-family: Fraunces, Georgia, serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-size: clamp(1.15rem, 2.2vw, 1.6rem);
	letter-spacing: -0.01em;
	line-height: 1;
}

.mq-site .ct-header .site-title a {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	text-decoration: none;
	color: var(--mq-ink);
}

.mq-site .ct-header .site-title a::before {
	content: "";
	width: 0.95em;
	height: 0.95em;
	background-color: var(--mq-amber);
	border-radius: 3px;
	flex: none;
}

.mq-site .ct-header .site-title .mq-title-suffix {
	font-family: Archivo, sans-serif;
	font-size: 0.42em;
	font-weight: 600;
	letter-spacing: 0.2em;
	color: var(--mq-ink-soft);
	align-self: flex-end;
	margin-block-end: 0.35em;
}

/* Secondary menu links kept visible on wider screens (no hamburger). */
.mq-site .ct-header .mq-nav-secondary {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (max-width: 999px) {
	.mq-site .ct-header .mq-nav-secondary {
		display: none;
	}
}
