/* ============================================================
   Reliant — custom styles for layouts block markup can't express.
   Scoped under .reliant-* classes to avoid colliding with TT5.
   ============================================================ */

:root {
	--reliant-rule: 1px solid var(--wp--preset--color--muted);
	--reliant-rule-dark: 1px solid rgba(255, 255, 255, 0.12);
	/* Body text on white. Brand --secondary (#6F7072) is ~4.55:1 on #F5F5F5
	   which is below most internal contrast targets; #4A4A4A clears AAA. */
	--reliant-text-body: #4A4A4A;
}

/* Sit full-bleed sections flush under the site header — WP's default block-gap
   inserts 1.2rem above <main> because the header is its previous sibling.
   Mirror it for the footer, which gets the same treatment for following <main>. */
.wp-site-blocks > main,
.wp-site-blocks > footer {
	margin-block-start: 0 !important;
}

/* Close the same 1.2rem block-gap between adjacent full-bleed sections inside
   post content — every .reliant-* section owns its own internal padding and is
   meant to sit flush against the next one. */
.entry-content > .alignfull {
	margin-block-start: 0 !important;
}

/* ---- Section frame ---- */
.reliant-section {
	padding-top: clamp(4rem, 8vw, 6rem);
	padding-bottom: clamp(4rem, 8vw, 6rem);
	padding-left: clamp(1.5rem, 5vw, 4rem);
	padding-right: clamp(1.5rem, 5vw, 4rem);
}
.reliant-section--tight {
	padding-top: clamp(2.5rem, 5vw, 4rem);
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.reliant-section--flush {
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}
.reliant-section--dark {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}
.reliant-section--surface {
	background: var(--wp--preset--color--surface);
}
.reliant-section__inner {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.reliant-section__inner--narrow {
	max-width: 880px;
}

/* ---- Editorial eyebrow with hairline ---- */
.reliant-eyebrow {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	color: var(--reliant-text-body) !important;
	margin: 0 0 1.25rem !important;
}
.reliant-eyebrow::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--wp--preset--color--primary);
}
.reliant-eyebrow--inverse::after {
	background: rgba(255, 255, 255, 0.15);
}
.reliant-eyebrow--standalone::after {
	display: none;
}

/* ---- HEADER (logo + nav + phone + CTA) ---- */
/* Comfortable tap targets and a little more breathing room around each link. */
.reliant-nav .wp-block-navigation-item__content,
.reliant-nav .wp-block-navigation-submenu__toggle {
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
}
.reliant-header-phone a {
	color: var(--wp--preset--color--base) !important;
	font-size: 1.0625rem;
	font-weight: 500;
	text-decoration: none !important;
	letter-spacing: 0.01em;
	transition: color 0.2s ease;
}
.reliant-header-phone a:hover {
	color: var(--wp--preset--color--primary) !important;
}
.reliant-header-cta {
	display: inline-flex;
	align-items: center;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast) !important;
	font-weight: 600;
	font-size: 0.9375rem;
	letter-spacing: 0.01em;
	padding: 0.65rem 1.15rem;
	border-radius: 2px;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease;
	white-space: nowrap;
}
.reliant-header-cta:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast) !important;
}
@media (max-width: 880px) {
	/* Phone hides on mobile; the CTA button stays visible alongside the hamburger.
	   Mobile users can still tap the button to reach the contact page. */
	.reliant-header-phone { display: none; }
	.reliant-header-cta {
		font-size: 0.875rem;
		padding: 0.55rem 0.95rem;
	}
	/* Shrink logo on mobile so the right side has room without wrapping. */
	.wp-block-site-logo img {
		width: 140px !important;
		height: auto !important;
	}
	/* The right-side group inherits 2rem block-gap from the desktop nav style.
	   Tighten it on mobile so hamburger + CTA fit on one row. */
	header .wp-block-group:has(> .reliant-header-cta) {
		gap: 0.75rem !important;
		flex-wrap: nowrap !important;
	}
}

/* ---- HERO ---- */
.reliant-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: min(82vh, 760px);
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	overflow: hidden;
}
.reliant-hero__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(3rem, 7vw, 5.5rem) clamp(1.5rem, 5vw, 4rem);
}
.reliant-hero__copy {
	max-width: 600px;
}
.reliant-hero__eyebrow {
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin: 0 0 2rem;
	display: flex;
	align-items: center;
	gap: 0.875rem;
}
.reliant-hero__eyebrow::before {
	content: "";
	width: 2.5rem;
	height: 1px;
	background: var(--wp--preset--color--primary);
	display: inline-block;
}
.reliant-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.75rem) !important;
	font-weight: 600 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.025em !important;
	margin: 0 0 1.5rem !important;
}
.reliant-hero__subtitle {
	font-size: 1.125rem !important;
	line-height: 1.55 !important;
	color: rgba(255, 255, 255, 0.78) !important;
	margin: 0 0 2.5rem !important;
	max-width: 32rem;
}
/* Josh asked for the paragraph under the hero headline to come off before launch
   (2026-08-21 call). With it gone the buttons follow the headline directly, so this
   restores the gap the paragraph used to carry. */
.reliant-hero__title + .reliant-hero__actions {
	margin-top: 1rem;
}
.reliant-hero__actions {
	display: flex;
	align-items: center;
	gap: 2rem;
	flex-wrap: wrap;
}
.reliant-hero__actions .wp-block-button__link {
	background: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--contrast) !important;
	border-radius: 2px !important;
	padding: 0.95rem 1.75rem !important;
	font-weight: 600 !important;
	transition: background 0.2s ease;
}
.reliant-hero__actions .wp-block-button__link:hover {
	background: var(--wp--preset--color--base) !important;
}
.reliant-hero__textlink {
	color: var(--wp--preset--color--base) !important;
	font-weight: 500;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	padding-bottom: 2px;
	transition: border-color 0.2s ease, color 0.2s ease;
}
.reliant-hero__textlink:hover {
	border-bottom-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary) !important;
}
.reliant-hero__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: 70% center;
	background-repeat: no-repeat;
}
.reliant-hero__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(17, 17, 17, 0.95) 0%, rgba(17, 17, 17, 0.86) 28%, rgba(17, 17, 17, 0.62) 50%, rgba(17, 17, 17, 0.2) 66%, rgba(17, 17, 17, 0) 86%);
	pointer-events: none;
}
@media (max-width: 880px) {
	.reliant-hero {
		min-height: 64vh;
	}
	.reliant-hero__image {
		background-position: 64% center;
	}
	.reliant-hero__image::after {
		background: linear-gradient(to top, rgba(17, 17, 17, 0.92) 0%, rgba(17, 17, 17, 0.8) 55%, rgba(17, 17, 17, 0.68) 84%, rgba(17, 17, 17, 0.22) 100%);
	}
	.reliant-hero__copy {
		max-width: 100%;
	}
}
/* Home closing CTA carries the B&W team + fleet photo as a background texture
   (home only; other pages keep the solid black band). The overlay stays heavy so
   the band still reads black and the centered copy keeps full contrast. */
/* ---- POSITIONING PILLARS ---- */
.reliant-pillars {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(2rem, 5vw, 4rem);
}
/* Two-card variant. Used where a row carries two pillars instead of three, so the
   pair fills the width instead of sitting left with a hole on the right. */
.reliant-pillars--two {
	grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 880px) {
	.reliant-pillars {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}
.reliant-pillar__num {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	color: var(--reliant-text-body) !important;
	margin: 0 0 1rem !important;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--primary);
	display: inline-block;
}
.reliant-pillar__title {
	font-size: 1.375rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 0.75rem !important;
}
.reliant-pillar__body {
	font-size: 1rem !important;
	line-height: 1.6 !important;
	color: var(--reliant-text-body) !important;
	margin: 0 !important;
}

/* ---- SERVICE GRID ---- */
.reliant-services {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: var(--reliant-rule);
}
.reliant-service {
	border-right: var(--reliant-rule);
	border-bottom: var(--reliant-rule);
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--base);
	transition: background-color 0.25s ease;
	position: relative;
	overflow: hidden;
}
.reliant-service__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--wp--preset--color--muted);
}
.reliant-service__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.reliant-service:hover .reliant-service__media img {
	transform: scale(1.04);
}
.reliant-service__content {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	flex: 1;
}
.reliant-service:hover {
	background: #FAFAFA;
}
.reliant-service:nth-child(3n) {
	border-right: none;
}
.reliant-service__num {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	color: var(--reliant-text-body) !important;
	margin: 0 0 0.5rem !important;
}
.reliant-service__title {
	font-size: 1.375rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 0.625rem !important;
}
.reliant-service__title a {
	color: inherit;
	text-decoration: none;
}
.reliant-service__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.reliant-service__desc {
	font-size: 0.95rem !important;
	color: var(--reliant-text-body) !important;
	line-height: 1.55 !important;
	margin: 0 !important;
	flex: 1;
}
.reliant-service__cta {
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 1.5rem 0 0 !important;
	color: var(--wp--preset--color--contrast) !important;
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	transition: color 0.2s ease;
}
.reliant-service__cta::after {
	content: "→";
	font-weight: 400;
	font-size: 1rem;
	transition: transform 0.25s ease, color 0.25s ease;
	color: var(--wp--preset--color--primary);
}
.reliant-service:hover .reliant-service__cta::after {
	transform: translateX(5px);
}
@media (max-width: 880px) {
	.reliant-services {
		grid-template-columns: 1fr;
	}
	.reliant-service {
		border-right: none;
	}
}
@media (max-width: 1100px) and (min-width: 881px) {
	.reliant-services {
		grid-template-columns: repeat(2, 1fr);
	}
	.reliant-service:nth-child(3n) {
		border-right: var(--reliant-rule);
	}
	.reliant-service:nth-child(2n) {
		border-right: none;
	}
}

/* ---- SERVICE INDEX — editorial numbered list (home) ---- */
/* Replaces the home service-card grid: full-width rows, hierarchy via a lead
   row, scales to any number of services with no orphan-tile problem. The card
   styles above are kept because the Services overview page still uses them. */
.reliant-index {
	border-top: var(--reliant-rule);
}
.reliant-index__row {
	display: grid;
	grid-template-columns: auto minmax(11rem, 19rem) minmax(0, 1fr) auto;
	align-items: center;
	column-gap: clamp(1rem, 3vw, 3rem);
	row-gap: 0.35rem;
	padding: clamp(1.25rem, 2.4vw, 1.9rem) clamp(0.5rem, 1.5vw, 1.25rem);
	padding-left: 0;
	border-bottom: var(--reliant-rule);
	text-decoration: none;
	color: inherit;
	transition: background-color 0.25s ease, padding-left 0.25s ease;
}
.reliant-index__row:hover {
	background: #FAFAFA;
	padding-left: clamp(0.5rem, 1.5vw, 1.25rem);
}
.reliant-index__row:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: -2px;
}
.reliant-index__icon {
	flex: none;
	width: clamp(40px, 4.5vw, 52px);
	height: clamp(40px, 4.5vw, 52px);
	border-radius: 9px;
	background: rgba(235, 169, 0, 0.12);
	color: var(--wp--preset--color--contrast);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.25s ease, color 0.25s ease;
}
.reliant-index__icon svg {
	width: 56%;
	height: 56%;
	display: block;
}
.reliant-index__row:hover .reliant-index__icon {
	background: var(--wp--preset--color--primary);
	color: #fff;
}
.reliant-index__title {
	font-size: clamp(1.3rem, 2.1vw, 1.75rem);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--contrast);
}
.reliant-index__desc {
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--reliant-text-body);
}
.reliant-index__arrow {
	justify-self: end;
	font-size: 1.6rem;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	transition: transform 0.25s ease;
}
.reliant-index__row:hover .reliant-index__arrow,
.reliant-index__row:focus-visible .reliant-index__arrow {
	transform: translateX(8px);
}
/* Lead row (primary service) leads by sequence only, with no visual standout,
   to avoid being on the nose. The --lead class stays as a hook, intentionally
   unstyled. */
@media (max-width: 880px) {
	.reliant-index__row {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"ico title"
			"ico desc";
		column-gap: 1rem;
		align-items: start;
	}
	.reliant-index__icon { grid-area: ico; align-self: center; }
	.reliant-index__title { grid-area: title; }
	.reliant-index__desc { grid-area: desc; }
	.reliant-index__arrow { display: none; }
}

/* ---- BRAND GRID — full "brands we carry" wall (dealer page) ---- */
/* Column counts divide the tile count evenly at every breakpoint (6 / 3 / 2),
   so the grid never leaves a hanging border or a half-empty trailing row. When the
   real brand count is not a multiple of 6, pad with .reliant-brand--filler tiles.
   A client-supplied priority tier can be added as a second grid above this
   one (.reliant-brandgrid__grid--featured) without touching these rules. */
.reliant-brandgrid {
	margin-top: 1.75rem;
}
.reliant-brandgrid__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	border-top: var(--reliant-rule);
	border-left: var(--reliant-rule);
}
.reliant-brandgrid__grid + .reliant-brandgrid__grid {
	border-top: none;
}
.reliant-brand {
	border-right: var(--reliant-rule);
	border-bottom: var(--reliant-rule);
	aspect-ratio: 3 / 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: clamp(0.6rem, 1.4vw, 1rem);
	background: var(--wp--preset--color--base);
	text-align: center;
}
.reliant-brand img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.reliant-brand__name {
	font-size: clamp(0.8rem, 1.4vw, 0.95rem);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}
/* Labeled placeholder for a brand whose official logo isn't in hand yet. */
.reliant-brand__flag {
	font-size: 0.5625rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--reliant-text-body);
	opacity: 0.5;
}
/* Featured priority-tier row, if/when the client supplies one. */
.reliant-brandgrid__grid--featured .reliant-brand {
	background: var(--wp--preset--color--surface);
}
@media (max-width: 1000px) {
	.reliant-brandgrid__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 600px) {
	.reliant-brandgrid__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ---- TESTIMONIALS ---- */
.reliant-testimonials {
	display: block;
}
.reliant-testimonial {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.reliant-testimonial__quote {
	font-size: 1.25rem !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	color: var(--wp--preset--color--contrast) !important;
	font-weight: 400;
}

/* Featured testimonial — pulled to the top, given real weight */
.reliant-testimonial--featured {
	border-top: 2px solid var(--wp--preset--color--primary);
	padding-top: clamp(1.75rem, 3vw, 2.5rem);
	margin-bottom: clamp(2.75rem, 5vw, 3.75rem);
}
.reliant-testimonial--featured .reliant-testimonial__quote {
	font-size: clamp(1.5rem, 2.8vw, 2.05rem) !important;
	line-height: 1.38 !important;
	letter-spacing: -0.01em;
	max-width: 56rem;
}

/* Attribution row with company logo */
.reliant-testimonial__attribution {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin-top: auto;
	padding-top: 1.25rem;
	border-top: var(--reliant-rule);
}
.reliant-testimonial--featured .reliant-testimonial__attribution {
	border-top: none;
	padding-top: 0.5rem;
}
.reliant-testimonial__logo {
	height: 42px;
	width: auto;
	max-width: 120px;
	object-fit: contain;
	flex: none;
}
.reliant-testimonial--featured .reliant-testimonial__logo {
	height: 54px;
	max-width: 150px;
}
.reliant-testimonial__cite {
	display: flex;
	flex-direction: column;
	font-size: 0.9rem;
	line-height: 1.5;
}
.reliant-testimonial__name {
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}
.reliant-testimonial__role {
	color: var(--wp--preset--color--secondary);
}

/* Supporting pair below the featured testimonial */
.reliant-testimonial-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2.5rem, 4vw, 3.5rem);
}
@media (max-width: 880px) {
	.reliant-testimonial-row {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

/* ---- PHOTO GALLERY ---- */
.reliant-gallery {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 0.625rem;
	height: clamp(420px, 64vh, 680px);
}
.reliant-gallery__item {
	position: relative;
	overflow: hidden;
	background-color: var(--wp--preset--color--muted);
}
.reliant-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
	display: block;
}
.reliant-gallery__item:hover img {
	transform: scale(1.035);
}
.reliant-gallery__item--feature {
	grid-row: 1 / span 2;
}
/* Full-width variant. The gallery breaks its 1200px container and runs edge to edge
   while the heading above it stays on the page grid. `overflow-x: clip` on the parent
   section is the guard: `50vw` counts the scrollbar, so without it a vertical
   scrollbar would push the page sideways. Taller than the contained version, because
   at full width the same height reads as a letterbox strip. */
.reliant-section--bleed {
	overflow-x: clip;
}
.reliant-gallery--bleed {
	margin-inline: calc(50% - 50vw);
	gap: 0.5rem;
	height: clamp(460px, 74vh, 820px);
}
@media (max-width: 880px) {
	.reliant-gallery,
	.reliant-gallery--bleed {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 240px 180px 180px;
		height: auto;
	}
	.reliant-gallery__item--feature {
		grid-column: 1 / -1;
		grid-row: auto;
	}
}

/* ---- CONTACT CTA BAND ---- */
.reliant-cta {
	/* B&W team photo behind every closing CTA band (sitewide since 2026-07-21);
	   solid contrast color is the fallback while the image loads. */
	background-color: var(--wp--preset--color--contrast);
	background-image:
		linear-gradient(rgba(17, 17, 17, 0.88), rgba(17, 17, 17, 0.88)),
		url('/wp-content/uploads/2026/07/reliant-team-group-bw.jpg');
	background-size: cover;
	background-position: center 38%;
	background-repeat: no-repeat;
	color: var(--wp--preset--color--base);
	padding: clamp(3.5rem, 8vw, 6rem) clamp(1.5rem, 5vw, 4rem);
	text-align: center;
	/* Full-bleed gold rule on the seam, matched to the footer's border-top. */
	border-top: 4px solid var(--wp--preset--color--primary);
}
.reliant-cta__inner {
	max-width: 720px;
	margin: 0 auto;
}
.reliant-cta__title {
	font-size: clamp(1.875rem, 4vw, 2.75rem) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 1.25rem !important;
}
.reliant-cta__body {
	font-size: 1.0625rem !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, 0.78) !important;
	margin: 0 0 2.5rem !important;
}
.reliant-cta__phone {
	font-size: clamp(2.25rem, 5vw, 3.25rem) !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none !important;
	display: inline-block;
	margin: 0 0 0.5rem !important;
	transition: color 0.2s ease;
}
.reliant-cta__phone:hover {
	color: var(--wp--preset--color--base) !important;
}
.reliant-cta__meta {
	font-size: 0.875rem !important;
	color: rgba(255, 255, 255, 0.55) !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 2rem !important;
}
.reliant-cta__button {
	display: inline-block;
	background: transparent !important;
	color: var(--wp--preset--color--base) !important;
	border: 1px solid rgba(255, 255, 255, 0.4) !important;
	border-radius: 2px !important;
	padding: 0.9rem 1.75rem !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.reliant-cta__button:hover {
	background: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--contrast) !important;
	border-color: var(--wp--preset--color--primary) !important;
}

/* ---- Section heading utility ---- */
.reliant-section__title {
	font-size: clamp(1.875rem, 3.5vw, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 1rem !important;
	max-width: 38rem;
}
.reliant-section__lead {
	font-size: 1.0625rem !important;
	line-height: 1.55 !important;
	color: var(--reliant-text-body) !important;
	margin: 0 0 3rem !important;
	max-width: 42rem;
}
.reliant-section__title--inverse {
	color: var(--wp--preset--color--base) !important;
}
.reliant-section__lead--inverse {
	color: rgba(255, 255, 255, 0.72) !important;
}

/* ---- FEATURE: text + image, two columns ---- */
.reliant-feature {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.reliant-feature__media {
	position: relative;
	overflow: hidden;
	margin: 0;
}
.reliant-feature__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	aspect-ratio: 4 / 3;
}
/* Photo credit under a feature image. Sits inside .reliant-feature__media, which is
   a <figure> wherever a caption is used, so the caption travels with the image when
   the two columns swap order. */
.reliant-feature__caption {
	margin: 0.75rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--wp--preset--color--secondary);
}
.reliant-feature__title {
	font-size: clamp(1.5rem, 2.6vw, 2rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em !important;
	margin: 0 0 1rem !important;
}
.reliant-feature__body p {
	font-size: 1.0625rem !important;
	line-height: 1.6 !important;
	color: var(--wp--preset--color--secondary) !important;
	margin: 0 0 1rem !important;
}
.reliant-feature__body p:last-child {
	margin-bottom: 0 !important;
}
@media (min-width: 881px) {
	.reliant-feature--reverse .reliant-feature__media {
		order: 2;
	}
}
@media (max-width: 880px) {
	.reliant-feature {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.reliant-feature__media {
		order: -1;
	}
	/* The ratio sits on the image rather than the box so a figcaption below it is not
	   squeezed into the frame and clipped by the box's overflow: hidden. */
	.reliant-feature__media img {
		aspect-ratio: 16 / 10;
	}
}

/* ---- SCOPE: spec / "what's included" list ---- */
.reliant-scope {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 clamp(1.5rem, 4vw, 3rem);
	border-top: var(--reliant-rule);
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}
.reliant-scope__item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.95rem 0;
	border-bottom: var(--reliant-rule);
	font-size: 1rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}
.reliant-scope__item::before {
	content: "";
	width: 0.45rem;
	height: 0.45rem;
	background: var(--wp--preset--color--primary);
	flex: none;
}
@media (max-width: 880px) {
	.reliant-scope {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 540px) {
	.reliant-scope {
		grid-template-columns: 1fr;
	}
}

/* ---- PARTNER LOGO WALL ---- */
.reliant-logos {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	margin-top: 1.5rem;
}
.reliant-logos img {
	width: 100%;
	max-height: 60px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.6;
	transition: filter 0.25s ease, opacity 0.25s ease;
}
.reliant-logos img:hover {
	filter: grayscale(0);
	opacity: 1;
}
@media (max-width: 880px) {
	.reliant-logos {
		grid-template-columns: repeat(3, 1fr);
		gap: 2rem;
	}
}
@media (max-width: 480px) {
	.reliant-logos {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ---- SOCIAL-PROOF STATS BAND (placeholder for comp) ---- */
.reliant-stats {
	background: var(--wp--preset--color--base);
	border-top: 1px solid var(--wp--preset--color--muted);
	border-bottom: 1px solid var(--wp--preset--color--muted);
}
.reliant-stats__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.5rem, 5vw, 4rem);
}
.reliant-stat {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding-left: 1rem;
	border-left: 2px solid var(--wp--preset--color--primary);
}
.reliant-stat__value {
	font-size: clamp(1.125rem, 1.6vw, 1.375rem);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--contrast);
}
.reliant-stat__label {
	font-size: 0.8125rem;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: var(--reliant-text-body);
}
@media (max-width: 880px) {
	.reliant-stats__inner {
		grid-template-columns: 1fr 1fr;
		row-gap: 1.5rem;
	}
}
@media (max-width: 480px) {
	.reliant-stats__inner {
		grid-template-columns: 1fr;
	}
}

/* ---- GALLERY CAPTIONS (placeholder for comp) ---- */
.reliant-gallery__caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: clamp(0.75rem, 1.5vw, 1.125rem) clamp(0.875rem, 1.75vw, 1.25rem);
	color: #fff;
	font-size: 0.8125rem;
	line-height: 1.45;
	background: linear-gradient(to top, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.4) 55%, rgba(0,0,0,0) 100%);
	pointer-events: none;
}

/* ---- RELATED SERVICES (service pages) ---- */
/* Compact link cards, purpose-built for 2–4 items. Unlike .reliant-services
   (designed for the six-item home grid), columns track the item count via
   auto-fit, and each card owns its padding and border. */
.reliant-related {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1.25rem;
	margin-top: 1.75rem;
}
.reliant-related__card {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	background: var(--wp--preset--color--base);
	border: var(--reliant-rule);
	border-top: 2px solid var(--wp--preset--color--primary);
	padding: clamp(1.25rem, 2vw, 1.75rem);
	text-decoration: none;
	color: inherit;
	transition: background 0.2s ease;
}
.reliant-related__card:hover {
	background: #FAFAFA;
}
.reliant-related__title {
	font-size: 1.1875rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
	margin: 0 !important;
	color: var(--wp--preset--color--contrast) !important;
}
.reliant-related__desc {
	font-size: 0.9375rem !important;
	line-height: 1.55 !important;
	color: var(--reliant-text-body) !important;
	margin: 0 !important;
	flex: 1;
}
.reliant-related__cta {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: 0.75rem;
}
.reliant-related__cta::after {
	content: "→";
	font-weight: 400;
	font-size: 1rem;
	color: var(--wp--preset--color--primary);
	transition: transform 0.25s ease;
}
.reliant-related__card:hover .reliant-related__cta::after {
	transform: translateX(5px);
}
@media (max-width: 640px) {
	.reliant-related {
		grid-template-columns: 1fr;
	}
}

/* ---- CONTACT PAGE: form + details two-column ---- */
.reliant-contact {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2.5rem, 5vw, 4.5rem);
	align-items: start;
}
.reliant-contact__heading {
	font-size: 1.375rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 1.5rem !important;
}
.reliant-contact__aside {
	background: var(--wp--preset--color--surface);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border-top: 2px solid var(--wp--preset--color--primary);
}
.reliant-contact__item {
	padding: 1rem 0;
	border-bottom: var(--reliant-rule);
}
.reliant-contact__item:last-of-type {
	border-bottom: none;
	padding-bottom: 1.5rem;
}
.reliant-contact__label {
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	color: var(--reliant-text-body) !important;
	margin: 0 0 0.25rem !important;
}
.reliant-contact__value {
	font-size: 1.0625rem !important;
	font-weight: 500;
	line-height: 1.5 !important;
	color: var(--wp--preset--color--contrast) !important;
	margin: 0 !important;
}
.reliant-contact__value a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}
.reliant-contact__value a:hover {
	color: var(--wp--preset--color--primary);
}
@media (max-width: 880px) {
	.reliant-contact {
		grid-template-columns: 1fr;
	}
}

/* ---- FORM (Contact Form 7, scoped so a future GHL embed can reuse it) ---- */
.reliant-form__grid {
	display: grid;
	/* minmax(0,…) lets columns shrink below the inputs' intrinsic size=40
	   width — plain 1fr would overflow and overlap at narrower viewports. */
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}
.reliant-form__field {
	min-width: 0;
}
.reliant-form__field--full {
	grid-column: 1 / -1;
}
.reliant-form__field label {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--reliant-text-body);
	margin-bottom: 0.5rem;
}
.reliant-form__field .wpcf7-form-control-wrap {
	display: block;
}
/* Defensive: kill margins on any stray <p> a plugin wraps around fields. */
.reliant-form__field p {
	margin: 0 !important;
}
.reliant-form__field input,
.reliant-form__field select,
.reliant-form__field textarea {
	/* TT5's border-box reset doesn't reach form controls; without this,
	   width:100% + padding overflows the grid cell. */
	box-sizing: border-box;
	width: 100%;
	padding: 0.75rem 0.875rem;
	/* --muted (#E5E5E5) is invisible on white; fields need a real edge. */
	border: 1px solid #B9BABB;
	border-radius: 2px;
	background: #FCFCFC;
	font: inherit;
	font-size: 1rem;
	color: var(--wp--preset--color--contrast);
	transition: border-color 0.2s ease, background 0.2s ease;
}
.reliant-form__field input:hover,
.reliant-form__field select:hover,
.reliant-form__field textarea:hover {
	border-color: var(--reliant-text-body);
}
.reliant-form__field input:focus,
.reliant-form__field select:focus,
.reliant-form__field textarea:focus {
	outline: none;
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 2px rgba(235, 169, 0, 0.25);
}
.reliant-form__field textarea {
	resize: vertical;
	min-height: 9rem;
}
.reliant-form__submit {
	display: inline-block;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
	border: none;
	border-radius: 2px;
	padding: 0.95rem 1.75rem;
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	cursor: pointer;
	margin-top: 1.5rem;
	transition: background 0.2s ease;
}
.reliant-form__submit:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}
/* CF7 validation + response messaging, matched to the brand palette. */
.reliant-form .wpcf7-not-valid-tip {
	font-size: 0.8125rem;
	color: #B3261E;
	margin-top: 0.35rem;
}
.reliant-form .wpcf7 form .wpcf7-response-output {
	margin: 1.5rem 0 0;
	padding: 0.875rem 1rem;
	border: 1px solid var(--wp--preset--color--muted);
	border-left: 3px solid var(--wp--preset--color--primary);
	font-size: 0.9375rem;
}
.reliant-form .wpcf7 form.sent .wpcf7-response-output {
	border-left-color: #2E7D32;
}
.reliant-form .wpcf7 form.invalid .wpcf7-response-output,
.reliant-form .wpcf7 form.failed .wpcf7-response-output {
	border-left-color: #B3261E;
}
@media (max-width: 600px) {
	.reliant-form__grid {
		grid-template-columns: 1fr;
	}
}

/* ---- Two-column section intro: heading left, lead right ---- */
/* Fills the row width while keeping each text block at a readable measure,
   instead of a constrained heading+lead stacked on the left with empty space. */
.reliant-intro {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
	margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}
.reliant-intro .reliant-section__title,
.reliant-intro .reliant-section__lead {
	max-width: none !important;
	margin: 0 !important;
}
.reliant-intro .reliant-section__lead {
	padding-top: 0.4rem;
}
@media (max-width: 880px) {
	.reliant-intro {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.reliant-intro .reliant-section__lead {
		padding-top: 0;
	}
}

/* ---- Team headshot grid (About page) ---- */
.reliant-team-heading {
	display: flex;
	align-items: center;
	gap: clamp(1.25rem, 3vw, 2rem);
	margin: clamp(3rem, 6vw, 4.5rem) 0 0 !important;
	font-size: clamp(1.5rem, 2.6vw, 2rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em !important;
	color: var(--wp--preset--color--contrast) !important;
}
.reliant-team-heading::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--wp--preset--color--muted);
}
.reliant-team-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: clamp(1.25rem, 3vw, 2.25rem);
	margin-top: clamp(2rem, 4vw, 3rem);
}
.reliant-team-member {
	display: flex;
	flex-direction: column;
}
.reliant-team-member__photo {
	aspect-ratio: 1 / 1;
	width: 100%;
	margin-bottom: 1rem;
	border-radius: 2px;
	overflow: hidden;
	background: var(--wp--preset--color--muted);
}
.reliant-team-member__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@media (max-width: 640px) {
	.reliant-team-member__photo {
		max-width: 280px;
	}
}
.reliant-team-member__name {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}
.reliant-team-member__title {
	margin: 0.15rem 0 0;
	font-size: 0.9rem;
	color: var(--wp--preset--color--secondary);
}
.reliant-team-member__bio {
	margin: 0.6rem 0 0;
	font-size: 0.9rem;
	line-height: 1.6;
}

/* ---- WORKPLACE LIFECYCLE — numbered stage chain (home + services) ---- */
/* Scott's 2026-08 positioning ask: show the seven services as one continuous
   process. Dark band is the page's bold color moment; each stage links to its
   service page. Stages are phases, not pages — warehousing and ongoing
   facilities support both land on /warehousing/. */
.reliant-eyebrow--inverse {
	color: rgba(255, 255, 255, 0.75) !important;
}
.reliant-lifecycle {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	column-gap: clamp(1rem, 2vw, 1.75rem);
	row-gap: 2.5rem;
}
/* Dashed connector through the chip centers; chips have a solid background
   so they read as nodes sitting on the line. */
.reliant-lifecycle::before {
	content: "";
	position: absolute;
	top: 24px;
	left: 0;
	right: 0;
	border-top: 1px dashed rgba(255, 255, 255, 0.22);
}
.reliant-lifecycle__item {
	margin: 0;
	padding: 0;
}
.reliant-lifecycle__stage {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	text-decoration: none;
	color: inherit;
}
.reliant-lifecycle__stage:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 4px;
}
.reliant-lifecycle__icon {
	width: 48px;
	height: 48px;
	border-radius: 9px;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 16%, var(--wp--preset--color--contrast));
	color: var(--wp--preset--color--primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.25s ease, color 0.25s ease;
}
.reliant-lifecycle__icon svg {
	width: 56%;
	height: 56%;
	display: block;
}
.reliant-lifecycle__stage:hover .reliant-lifecycle__icon,
.reliant-lifecycle__stage:focus-visible .reliant-lifecycle__icon {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
}
.reliant-lifecycle__num {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--primary);
	margin-top: 0.25rem;
}
.reliant-lifecycle__title {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.005em;
	color: var(--wp--preset--color--base);
}
.reliant-lifecycle__desc {
	font-size: 0.8125rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.65);
}
@media (max-width: 1100px) {
	.reliant-lifecycle {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.reliant-lifecycle::before {
		display: none;
	}
}
@media (max-width: 640px) {
	.reliant-lifecycle {
		grid-template-columns: 1fr;
		row-gap: 1.75rem;
	}
	/* Connector becomes a vertical rail behind the chip column. */
	.reliant-lifecycle::before {
		display: block;
		top: 0;
		bottom: 0;
		left: 24px;
		right: auto;
		border-top: none;
		border-left: 1px dashed rgba(255, 255, 255, 0.22);
	}
	.reliant-lifecycle__stage {
		display: grid;
		grid-template-columns: 48px minmax(0, 1fr);
		grid-template-areas:
			"ico num"
			"ico title"
			"ico desc";
		column-gap: 1rem;
		row-gap: 0.2rem;
		align-items: start;
	}
	.reliant-lifecycle__icon { grid-area: ico; }
	.reliant-lifecycle__num { grid-area: num; margin-top: 0; }
	.reliant-lifecycle__title { grid-area: title; }
	.reliant-lifecycle__desc { grid-area: desc; }
}

/* ---- BLOG (templates: home, index, single) ---- */
/* Narrow column shared by the single-post title band and the article body,
   so the headline and the prose sit on the same left edge. */
.reliant-section__inner--prose {
	max-width: 760px;
}

/* Date line inside the dark title band on single posts. */
.reliant-post-meta {
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary) !important;
	margin: 0 0 1rem !important;
}

/* Listing card (blog index and archives) */
.reliant-post-card {
	display: flex;
	flex-direction: column;
}
.reliant-post-card .wp-block-post-featured-image {
	margin: 0 0 1.1rem;
	overflow: hidden;
	background: var(--wp--preset--color--muted);
}
.reliant-post-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.reliant-post-card:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}
.reliant-post-card__date {
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	color: var(--reliant-text-body) !important;
	margin: 0 0 0.5rem !important;
}
.reliant-post-card__title {
	font-size: 1.375rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 0.625rem !important;
}
.reliant-post-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}
.reliant-post-card__title a:hover {
	color: var(--wp--preset--color--primary);
}
.reliant-post-card__excerpt {
	font-size: 0.95rem !important;
	line-height: 1.55 !important;
	color: var(--reliant-text-body) !important;
	margin: 0 !important;
}

/* Single-post article body */
.reliant-article__image {
	margin: 0 0 2.5rem;
}
.reliant-article__image img {
	border-radius: 2px;
}
.reliant-article-content p {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--reliant-text-body);
}
.reliant-article-content h2 {
	font-size: clamp(1.5rem, 2.6vw, 2rem) !important;
	margin-top: 2.5rem;
}
.reliant-article-content h3 {
	font-size: 1.375rem !important;
	margin-top: 2rem;
}
.reliant-article-content li {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--reliant-text-body);
}
.reliant-article-content img {
	border-radius: 2px;
}
.reliant-article__back {
	margin-top: 3rem !important;
	padding-top: 1.5rem;
	border-top: var(--reliant-rule);
}
.reliant-article__back a {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}
.reliant-article__back a::before {
	content: "←";
	font-weight: 400;
	font-size: 1rem;
	color: var(--wp--preset--color--primary);
	transition: transform 0.25s ease;
}
.reliant-article__back a:hover::before {
	transform: translateX(-5px);
}

/* Author box at the foot of a single post. Company byline for now; the name
   and bio pull from the post author's WP profile, so a future named author
   needs no template change. */
.reliant-author-box {
	background: var(--wp--preset--color--surface);
	border-top: 2px solid var(--wp--preset--color--primary);
	padding: clamp(1.5rem, 3vw, 2rem);
	margin-top: 3rem !important;
	display: flex;
	gap: 1.5rem;
	align-items: flex-start;
}
.reliant-author-box > * {
	margin-block-start: 0 !important;
}
/* The circle R/G mark ships on a baked-in dark square; the circle crop turns
   the tile into a coin so it sits cleanly on the surface panel. Empty alt is
   deliberate: the name beside it carries the same information. */
.reliant-author-box__mark {
	width: 60px;
	height: 60px;
	flex: none;
	border-radius: 50%;
}
.reliant-author-box__text {
	min-width: 0;
}
.reliant-author-box__label {
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	color: var(--reliant-text-body) !important;
	margin: 0 0 0.5rem !important;
}
.reliant-author-box__name {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 0.5rem;
}
.reliant-author-box__bio {
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--reliant-text-body);
	margin: 0;
}

/* Pagination under the listing grid */
.reliant-blog-pagination {
	margin-top: 3.5rem !important;
	font-weight: 500;
}
.reliant-blog-pagination a {
	text-decoration: none;
	transition: color 0.2s ease;
}
.reliant-blog-pagination a:hover {
	color: var(--wp--preset--color--primary);
}
.reliant-blog-pagination .wp-block-query-pagination-numbers .current {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

/* ---------------------------------------------------------------------------
   Touch targets
   Found in the pre-launch phone and tablet check, 2026-08-26. Both controls
   were the right size to look at and too small to hit reliably with a thumb.
   --------------------------------------------------------------------------- */

/* The open and close buttons ship as bare 24px icons with no padding, and on a
   phone they are the only route to any page other than this one. Both get padded
   out to 44px, Apple's minimum.

   The open button sits inline in the header with room around it, so a matching
   negative margin keeps the icon where it was and leaves the header height
   alone. The close button sits flush in the overlay's top right corner, where a
   negative margin would push a third of the new tap area off screen, so it grows
   inward instead and the icon moves 10px clear of the corner. */
.wp-block-navigation__responsive-container-open {
	padding: 10px;
	margin: -10px;
}

.wp-block-navigation__responsive-container-close {
	padding: 10px;
}

/* The open menu's top level items sat at x=390 on a 390px screen, touching the
   edge of the glass. Nothing was clipped, but the text ran into the rounded
   corner and the swipe area on most phones. This is the same 24px gutter the
   rest of the site uses. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-inline: 24px;
}

@media (max-width: 880px) {
	/* Each footer link is its own paragraph, so the anchor was an 18px inline
	   box with the gap between rows belonging to the paragraph rather than to
	   the link. Making the anchor a block and moving that spacing inside it
	   turns dead space between rows into part of the row above, which is what
	   a thumb aims at anyway. */
	.wp-site-blocks > footer .wp-block-column p > a {
		display: inline-block;
		padding-block: 0.6875rem;
	}

	.wp-site-blocks > footer .wp-block-column p:has(> a:only-child) {
		margin-block: -0.375rem;
	}
}
