/* Force clean white site background (override theme gradient) */
.wp-site-blocks {
	background: #ffffff !important;
}

/* Remove the large page-title header on ALL pages */
.wp-block-post-title {
	display: none !important;
}

/* Widen the content area site-wide to use the wasted horizontal space */
main.wp-block-group {
	max-width: 1240px !important;
	width: 100% !important;
}

.entry-content {
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Align body prose to the SAME left edge as the hero text (left-aligned) */
.entry-content > p,
.entry-content > .wp-block-heading,
.entry-content > h2,
.entry-content > h3 {
	max-width: 880px;
	margin-left: 20px !important;
	margin-right: auto !important;
}

/* Pull the dark hero card text to the card's left edge (override centering) */
.hrplus-hero > .wp-block-group {
	max-width: 880px !important;
	margin-left: 0 !important;
	margin-right: auto !important;
}

/* Widen the hero text measure so it fills the hero (was a narrow ~620px column) */
.hrplus-hero > .wp-block-group > *,
.hrplus-hero .wp-block-group h1,
.hrplus-hero .wp-block-group h2,
.hrplus-hero .wp-block-group p,
.wp-block-cover__inner-container > * {
	max-width: 820px !important;
	margin-left: 0 !important;
	margin-right: auto !important;
}

/* Align CTA button rows to the content's left edge (stop them hanging/centered) */
.entry-content .wp-block-buttons,
.entry-content .wp-block-buttons.is-layout-flex {
	justify-content: flex-start !important;
	margin-left: 20px !important;
	max-width: 880px !important;
}

.hrplus-hero .wp-block-buttons {
	justify-content: flex-start !important;
	margin-left: 0 !important;
}

/* Highlight the active (current) navigation item */
.wp-block-navigation-item.current-menu-item > a,
.wp-block-navigation-item > a[aria-current="page"] {
	font-weight: 700;
	color: #161513;
	border-bottom: 3px solid #F2CA2C;
	padding-bottom: 2px;
}

/* ---- Reduce oversized fonts site-wide (a notch smaller) ---- */
.entry-content p {
	font-size: 1rem;
	line-height: 1.6;
}

h1, .wp-block-cover h1, .hrplus-hero h1 {
	font-size: clamp(1.85rem, 3.4vw, 2.6rem) !important;
	line-height: 1.12 !important;
}

h2 {
	font-size: clamp(1.45rem, 2.6vw, 1.95rem) !important;
	line-height: 1.2 !important;
}

h3 {
	font-size: clamp(1.15rem, 2vw, 1.45rem) !important;
	line-height: 1.25 !important;
}

.wp-block-cover p, .hrplus-hero p {
	font-size: 1.05rem !important;
	line-height: 1.5 !important;
}

/* ---- Reduce wasted vertical space ---- */
.entry-content > * {
	margin-top: 1.2rem;
	margin-bottom: 1.2rem;
}

.wp-block-cover {
	min-height: 380px !important;
}

/* ---- Reduce the gap between the top navigation and the hero ---- */
.wp-site-blocks > .wp-block-group:first-child {
	padding-top: 6px !important;
}

.wp-site-blocks > .wp-block-group.has-global-padding {
	margin-top: 0 !important;
}

main.wp-block-group {
	margin-top: 0 !important;
	padding-top: 4px !important;
}

.wp-block-group.alignwide {
	padding-top: 0 !important;
}

.entry-content > :first-child,
.wp-block-cover:first-child {
	margin-top: 0 !important;
}

/* Collapse the leading spacer block that sits between the nav and the
   hero (keeps a small breathing gap instead of a big empty band).
   Scoped to ONLY the first spacer so section spacers are untouched. */
.wp-site-blocks > .wp-block-group .wp-block-group.alignwide > .wp-block-group:first-child > .wp-block-spacer:first-child {
	height: 14px !important;
	min-height: 14px !important;
}

/* ============================================================
   AUDIT FIXES
   ============================================================ */
/* 1. Sticky-header overlap: offset anchor jumps and add a safe
   gap so headings/CTAs are never clipped under the fixed header */
html {
	scroll-padding-top: 96px;
}

:where(h1, h2, h3, .wp-block-heading) {
	scroll-margin-top: 96px;
}

/* 2. Cap the height of large stock photos so they aren't too tall/generic */
.entry-content .wp-block-image img,
.entry-content figure.wp-block-image img {
	max-height: 460px;
	width: 100%;
	object-fit: cover;
	border-radius: 12px;
}

/* 3. Balance card grids: when a row has a lone trailing card,
   let the columns wrap evenly and give the last lone card room */
.entry-content .wp-block-columns {
	flex-wrap: wrap !important;
	gap: 1.25rem;
}

.entry-content .wp-block-columns > .wp-block-column {
	flex-basis: calc(50% - 0.75rem) !important;
	min-width: 280px;
}

/* 4. Brand the Jetpack contact form (inputs + Send button) */
.wp-block-jetpack-contact-form input[type="text"],
.wp-block-jetpack-contact-form input[type="email"],
.wp-block-jetpack-contact-form input[type="url"],
.wp-block-jetpack-contact-form input[type="tel"],
.wp-block-jetpack-contact-form textarea,
.contact-form input.grunion-field,
.contact-form textarea.grunion-field {
	border: 1px solid #161513 !important;
	border-radius: 8px !important;
	padding: 12px 14px !important;
	background: #ffffff !important;
	font-size: 1rem !important;
}

.wp-block-jetpack-contact-form input:focus,
.wp-block-jetpack-contact-form textarea:focus,
.contact-form .grunion-field:focus {
	outline: none !important;
	border-color: #161513 !important;
	box-shadow: 0 0 0 3px #F2CA2C !important;
}

.contact-form .grunion-field-label,
.wp-block-jetpack-contact-form label {
	font-weight: 600 !important;
	color: #161513 !important;
}

.wp-block-jetpack-contact-form button.pushbutton-wide,
.wp-block-jetpack-contact-form button[type="submit"],
.contact-form button.pushbutton-wide,
.contact-form button[type="submit"] {
	background: #161513 !important;
	color: #ffffff !important;
	border: 2px solid #161513 !important;
	border-radius: 999px !important;
	padding: 14px 32px !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	cursor: pointer !important;
	transition: background .15s ease, color .15s ease;
}

.wp-block-jetpack-contact-form button.pushbutton-wide:hover,
.wp-block-jetpack-contact-form button[type="submit"]:hover,
.contact-form button.pushbutton-wide:hover,
.contact-form button[type="submit"]:hover {
	background: #F2CA2C !important;
	color: #161513 !important;
	border-color: #F2CA2C !important;
}

/* ============================================================
   STAT BAND (homepage "by the numbers" cards)
   Solid dark cards, brand-yellow numbers, readable captions.
   ============================================================ */
/* The 3-up row: keep the stat columns side-by-side, evenly spaced */
.wp-block-columns:has(.hrplus-stat) {
	flex-wrap: wrap !important;
	gap: 1.25rem !important;
	align-items: stretch !important;
	max-width: 1100px !important;
	margin-left: 20px !important;
	margin-right: auto !important;
}

.wp-block-columns:has(.hrplus-stat) > .wp-block-column {
	flex: 1 1 240px !important;
	min-width: 240px !important;
	display: flex !important;
}

/* The card itself: solid dark, rounded, subtle lift */
.hrplus-stat {
	background: #161513 !important;
	border: 1px solid #161513 !important;
	border-radius: 16px !important;
	padding: 2rem 1.75rem !important;
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	gap: .6rem !important;
	text-align: left !important;
	box-shadow: 0 6px 22px rgba(22, 21, 19, 0.10) !important;
	transition: transform .18s ease, box-shadow .18s ease !important;
}

.hrplus-stat:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 12px 30px rgba(22, 21, 19, 0.16) !important;
}

/* The big number: brand yellow, large, tight */
.hrplus-stat .hrplus-stat-num {
	color: #F2CA2C !important;
	font-size: clamp(2rem, 3.6vw, 2.9rem) !important;
	line-height: 1.05 !important;
	font-weight: 800 !important;
	letter-spacing: -.01em !important;
	margin: 0 !important;
	text-align: left !important;
}

/* The caption: light, readable, left-aligned to match the number */
.hrplus-stat p {
	color: #f3f1ee !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	text-align: left !important;
	opacity: .92 !important;
}

/* Stack to one column on small screens */
@media (max-width: 600px) {
	.wp-block-columns:has(.hrplus-stat) > .wp-block-column {
		flex: 1 1 100% !important;
	}
}

/* ============================================================
   SECTION SEPARATORS + SECTION SUBTITLES
   Brand-accented start to each major section; tie any
   orphaned intro line to its heading as a real subtitle.
   ============================================================ */
/* Accent bar: a short brand-yellow rule above each top-level
   section heading, giving every section a clear, branded start */
.entry-content > h2.wp-block-heading {
	position: relative;
	padding-top: 1.6rem !important;
	margin-top: 3rem !important;
}

.entry-content > h2.wp-block-heading::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 56px;
	height: 4px;
	border-radius: 2px;
	background: #F2CA2C;
}

/* Don't double-space the very first section after the hero intro */
.entry-content > h2.wp-block-heading:first-of-type {
	margin-top: 2rem !important;
}

/* Fix floating section subtitle: a centered grey line right after
   a section heading should read as a left-aligned subtitle that
   sits tight under its heading (not float in the middle) */
.entry-content > h2.wp-block-heading + p.has-text-align-center {
	text-align: left !important;
	max-width: 880px !important;
	margin-left: 20px !important;
	margin-right: auto !important;
	margin-top: .4rem !important;
	font-size: 1.05rem !important;
	color: #56524d !important;
}