﻿/* ==========================================================================
   Alloway Mockups - BOLD variant styles.

   Enqueued by functions.php only where the Bold page renders, with
   'alloway-theme' as a stylesheet dependency, so it cascades AFTER theme.css
   and overrides the shared base at equal specificity. Versioned by filemtime.
   */

/* Vars live on body (not :root) so WordPress's editor-style transform carries
   them into the canvas — :root declarations are dropped there. Front-end
   cascade is identical. */
body {
	--bold-display:
		"Big Shoulders Display", "Roboto Condensed", system-ui, sans-serif;
	--bold-cond: "Roboto Condensed", system-ui, sans-serif;
	--bold-gold: var(--wp--preset--color--primary);
	--bold-gold-deep: var(--wp--preset--color--secondary);
	--bold-dark: var(--wp--preset--color--dark);
	--bold-ink: var(--wp--preset--color--contrast);
	--bold-radius: 12px; /* Bold rounds corners (DESIGN.md) */
	--bold-radius-sm: 8px;
	--bold-ease: var(--alloway-ease, cubic-bezier(0.2, 0, 0, 1));
	--bold-line-dim: rgb(255 255 255 / 14%);
}

/* Anchor-jump clearance under the taller Bold header (overrides theme.css 88px). */
html {
	scroll-padding-top: 150px;
}

/* Microtype marker: a tractor icon (CSS mask) instead of the dash. The per-band
   fill colour comes from the existing .bold-slab--* / promo / portal overrides
   below, which set only `background`, so the mask shape persists and recolours. */
.alloway-eyebrow::before {
	width: 1.85rem;
	height: 1.4rem;
	background-color: var(--wp--preset--color--accent);
	-webkit-mask: url("data:image/png;base64,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")
		center / contain no-repeat;
	mask: url("data:image/png;base64,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")
		center / contain no-repeat;
}

/* ---------- Display typography (overrides theme.json heading family) ---------- */
:is(.variant-bold, .wp-block-post-content) :is(h1, h2, h3),
.bold-header :is(h2, h3),
.alloway-footer-bold .alloway-wordmark,
.bold-display {
	font-family: var(--bold-display);
	font-weight: 800;
	letter-spacing: 0.005em;
}

/* Loud, caps section headings - Big Shoulders shines in caps. */
:is(.variant-bold, .wp-block-post-content) .bold-slab > * h2,
:is(.variant-bold, .wp-block-post-content) .bold-heading {
	font-weight: 900;
	font-size: clamp(2.1rem, 4.6vw, 3.4rem);
	line-height: 0.98;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	margin: 0 0 var(--wp--preset--spacing--30);
}

:is(.variant-bold, .wp-block-post-content) h3 {
	font-weight: 800;
}

/* Body measure / readability stays Material-safe (Roboto). */
:is(.variant-bold, .wp-block-post-content) .bold-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	max-width: 54ch;
	margin: 0 0 var(--wp--preset--spacing--40);
}

/* Reusable big display sub-heading (colour inherits from the slab band). */
.bold-bigh3 {
	font-family: var(--bold-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(1.7rem, 3.4vw, 2.4rem);
	line-height: 1;
	margin: 0 0 0.6rem;
}

.bold-tl__note {
	text-align: center;
	color: #9d9a93;
	margin-top: 2rem;
	font-size: 0.85rem;
}

/* ==========================================================================
   FULL-BLEED SLAB SYSTEM
   Each section is an alignfull constrained group; the band colour spans the
   viewport, content re-constrains to 1200px with mobile side padding.
   ========================================================================== */
.variant-bold {
	overflow-x: clip;
}

.bold-slab {
	padding-block: clamp(3.75rem, 7.5vw, 7.5rem);
	padding-inline: clamp(1.1rem, 4vw, 2rem);
}

.bold-slab--dark {
	background: var(--bold-dark);
	color: #e9e7e2;
}

.bold-slab--gold {
	background: var(--bold-gold);
	color: var(--bold-ink);
}

.bold-slab--light {
	background: var(--wp--preset--color--base);
	color: var(--bold-ink);
}

.bold-slab--surface {
	background: var(--wp--preset--color--surface);
	color: var(--bold-ink);
}

/* Heading + eyebrow colour per band */
.bold-slab--dark :is(h1, h2, h3, h4) {
	color: #fff;
}

.bold-slab--dark .alloway-eyebrow {
	color: #fff;
}

.bold-slab--dark .alloway-eyebrow::before {
	background: var(--bold-gold);
}

.bold-slab--dark .bold-lead {
	color: #c9c6bf;
}

.bold-slab--gold :is(h1, h2, h3, h4) {
	color: var(--bold-ink);
}

.bold-slab--gold .alloway-eyebrow {
	color: var(--bold-ink);
}

.bold-slab--gold .alloway-eyebrow::before {
	background: var(--bold-dark);
}

.bold-slab--gold .bold-lead {
	color: #2f2906;
}

.bold-slab--light .bold-lead,
.bold-slab--surface .bold-lead {
	color: var(--wp--preset--color--muted);
}

/* Section header block (eyebrow + heading + intro) */
.bold-sechead {
	max-width: 64ch;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.bold-sechead--center {
	margin-inline: auto;
	text-align: center;
}

.bold-sechead--center .alloway-eyebrow {
	justify-content: center;
}

/* ---------- Bold buttons: rounded corners, same heights as base ---------- */
:is(.variant-bold, .wp-block-post-content) .wp-block-button__link,
.bold-btn,
.is-style-bold .wp-block-button__link,
.is-style-bold-ghost .wp-block-button__link {
	border-radius: var(--bold-radius);
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

:is(.variant-bold, .wp-block-post-content)
	.is-style-outline
	.wp-block-button__link {
	padding: 12px 26px;
}

/* Inline anchor-style "bold" CTA used in raw-HTML sections; the
   .is-style-* selectors map the same styles onto native core/button markup
   (block styles registered in functions.php) so converted sections stay
   client-editable without hand-classed anchors. */
.bold-btn,
.is-style-bold .wp-block-button__link,
.is-style-bold-ghost .wp-block-button__link {
	--bold-btn-wipe: #fff;

	display: inline-block;
	padding: 14px 28px;
	background: var(--bold-gold);
	color: var(--bold-ink) !important;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition:
		background var(--alloway-transition),
		transform var(--alloway-transition),
		box-shadow var(--alloway-transition);
}

.bold-btn:hover,
.bold-btn:focus-visible,
.is-style-bold .wp-block-button__link:hover,
.is-style-bold .wp-block-button__link:focus-visible,
.is-style-bold-ghost .wp-block-button__link:hover,
.is-style-bold-ghost .wp-block-button__link:focus-visible {
	background: var(--bold-gold-deep);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgb(19 17 17 / 22%);
}

.bold-btn--ghost,
.is-style-bold-ghost .wp-block-button__link {
	--bold-btn-wipe: var(--bold-gold);

	background: transparent;
	border: 2px solid currentcolor;
	color: inherit !important;
}

.bold-slab--dark .bold-btn--ghost:hover,
.bold-slab--dark .is-style-bold-ghost .wp-block-button__link:hover {
	background: #fff;
	color: var(--bold-ink) !important;
	border-color: #fff;
}

.bold-slab--gold .bold-btn--ghost:hover,
.bold-slab--gold .is-style-bold-ghost .wp-block-button__link:hover {
	background: var(--bold-dark);
	color: #fff !important;
	border-color: var(--bold-dark);
}

/* Dark-fill variant of the standard button (for use on the gold footer panel). */
.bold-btn--dark {
	background: var(--bold-dark);
	color: #fff !important;
}

.bold-btn--dark:hover,
.bold-btn--dark:focus-visible {
	background: #2a2624;

	/* White wipe covers the dark fill on hover; the text flips to ink
	   (Jack, 2026-08-20). */
	color: var(--bold-ink) !important;
}

/* ==========================================================================
   HERO (refine the existing gold-duotone vhero-b)
   ========================================================================== */
:is(.variant-bold, .wp-block-post-content) .vhero h1 {
	font-family: var(--bold-display);
	font-weight: 900;
	font-size: clamp(2.9rem, 7.2vw, 5.6rem);
	line-height: 0.94;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}

:is(.variant-bold, .wp-block-post-content) .vhero .alloway-hero__lead {
	font-size: var(--wp--preset--font-size--large);
}

/* Brighter hero centre: lighten the inherited dark scrim pool (video filter untouched). */
:is(.variant-bold, .wp-block-post-content) .vhero-b::after {
	background: radial-gradient(
		ellipse 56% 64% at 50% 50%,
		rgb(19 17 17 / 22%) 0%,
		rgb(19 17 17 / 8%) 56%,
		rgb(19 17 17 / 0%) 82%
	);
}

/* Show the tractor marker on the hero eyebrow too (theme hides the dash there). */
:is(.variant-bold, .wp-block-post-content) .vhero .alloway-eyebrow::before {
	display: block;
}

/* Scroll cue under the hero CTAs */
.bold-scrollcue {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: var(--wp--preset--spacing--40);
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 0.72rem;
	color: #fff;
}

.bold-scrollcue__dot-wrap {
	position: relative;
	flex: none;
	display: inline-block;
	width: 18px;
	height: 28px;
	border: 2px solid rgb(255 255 255 / 70%);
	border-radius: 12px;
}

.bold-scrollcue__dot {
	position: absolute;
	left: 50%;
	top: 6px;
	transform: translateX(-50%);
	width: 4px;
	height: 7px;
	border-radius: 2px;
	background: var(--bold-gold);
	animation: bold-scrollcue 1.6s var(--bold-ease) infinite;
}

@keyframes bold-scrollcue {
	0%,
	100% {
		transform: translateX(-50%) translateY(0);
		opacity: 1;
	}

	60% {
		transform: translateX(-50%) translateY(7px);
		opacity: 0.2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bold-scrollcue__dot {
		animation: none;
	}
}

/* ==========================================================================
   PROOF STRIP (GOLD) - big Big-Shoulders numerals, black on gold
   ========================================================================== */
.bold-proof__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.bold-proof__item {
	position: relative;
	padding-left: clamp(1rem, 2vw, 1.6rem);
}

.bold-proof__item + .bold-proof__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.25rem;
	bottom: 0.25rem;
	width: 3px;
	background: var(--bold-dark);
}

.bold-proof__num {
	font-family: var(--bold-display);
	font-weight: 900;
	font-size: clamp(3rem, 7vw, 5rem);
	line-height: 0.85;
	color: var(--bold-ink);
	margin: 0;
}

.bold-proof__label {
	margin: 0.6rem 0 0;
	color: #2f2906;
	max-width: 22ch;
	font-size: 0.95rem;
	line-height: 1.4;
}

@media (max-width: 905px) {
	.bold-proof__grid {
		grid-template-columns: repeat(2, 1fr);
		row-gap: clamp(1.75rem, 5vw, 2.5rem);
	}

	/* No divider on the row-leading (left) item once reflowed to 2 columns. */
	.bold-proof__item:nth-child(odd)::before {
		display: none;
	}
}

/* ==========================================================================
   CATEGORY GRID (Nelson Green) - LIGHT band, big tiles, hover zoom
   ========================================================================== */
.bold-cats {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: clamp(0.9rem, 1.8vw, 1.5rem);
}

/* Five tiles across two visual rows: 3 + 2, the pair wider (gallery rhythm). */
.bold-cat:nth-child(4),
.bold-cat:nth-child(5) {
	grid-column: span 3;
}

.bold-cat {
	grid-column: span 2; /* default tile width; rows of 3 (the :nth-child pair above widens to span 3) */
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--bold-radius);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	text-decoration: none;
	color: var(--bold-ink);
	aspect-ratio: 4 / 3;
	transition:
		transform var(--alloway-transition),
		box-shadow var(--alloway-transition);
}

.bold-cat:hover,
.bold-cat:focus-visible {
	transform: translateY(-4px);
	box-shadow: 0 18px 38px rgb(19 17 17 / 16%);
}

.bold-cat__img {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(1.25rem, 3vw, 2.5rem) clamp(1.25rem, 3vw, 2.5rem)
		clamp(3.5rem, 7vw, 5rem);
}

.bold-cat__img img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 360ms var(--bold-ease);
}

.bold-cat:hover .bold-cat__img img {
	transform: scale(1.06);
}

.bold-cat__bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: clamp(0.9rem, 2vw, 1.25rem) clamp(1.1rem, 2.4vw, 1.6rem);
	background: linear-gradient(0deg, rgb(19 17 17 / 92%), rgb(19 17 17 / 0%));
}

.bold-cat__name {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(1.15rem, 2.2vw, 1.6rem);
	line-height: 1;
	color: #fff;
	margin: 0;
}

.bold-cat__go {
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--bold-gold);
	color: var(--bold-ink);
	display: grid;
	place-items: center;
	transition: transform var(--alloway-transition);
}

.bold-cat:hover .bold-cat__go {
	transform: translateX(3px);
}

.bold-cat__go svg {
	width: 16px;
	height: 16px;
}

/* Native-converted category cards (.bold-cats--native): the whole card is
   made clickable by stretching the name link over it, and the arrow chip is
   generated CSS (native blocks cannot carry a raw svg span). */

/* Whole-card click (review finding): the template's absolute __bar would
   become the stretched pseudo's containing block, shrinking the click surface
   to the bar. Native cards therefore run the bar in-flow (flex-end) and sink
   the absolute image behind it (z-index -1 inside an isolated context), so
   inset:0 on the link's pseudo resolves against .bold-cat = the full card. */
.bold-cats--native .bold-cat {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	isolation: isolate;
}

.bold-cats--native .bold-cat__img {
	z-index: -1;
}

.bold-cats--native .bold-cat__bar {
	position: static;
}

.bold-cats--native .bold-cat__name a {
	color: inherit;
	text-decoration: none;
}

.bold-cats--native .bold-cat__name a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
}

.bold-cats--native .bold-cat__bar::after {
	content: "";
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-color: var(--bold-gold);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' stroke='%23131111' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	transition: transform var(--alloway-transition);
}

.bold-cats--native .bold-cat:hover .bold-cat__bar::after,
.bold-cats--native .bold-cat:focus-within .bold-cat__bar::after {
	transform: translateX(3px);
}

.bold-cats--native .bold-cat:focus-within {
	transform: translateY(-4px);
	box-shadow: 0 18px 38px rgb(19 17 17 / 16%);
}

.bold-cats--native .bold-cat:hover .bold-cat__img img,
.bold-cats--native .bold-cat:focus-within .bold-cat__img img {
	transform: scale(1.06);
}

.bold-cats__note {
	margin-top: var(--wp--preset--spacing--40);
	font-size: 0.85rem;
	color: var(--wp--preset--color--muted);
}

@media (max-width: 905px) {
	/* Jack: two across on mobile, not three. */
	.bold-cats {
		grid-template-columns: repeat(2, 1fr);
	}

	.bold-cat,
	.bold-cat:nth-child(4),
	.bold-cat:nth-child(5) {
		grid-column: span 1;
	}

	.bold-cat:nth-child(5) {
		grid-column: 1 / -1;
		aspect-ratio: 16 / 9;
	}
}

/* Native buttons inside the actions flex row: WP wraps each button in a div,
   so the inner link must stretch to match its ghost sibling's bordered height
   (the template's raw anchors equalized via flex align-stretch). */
.bold-feature__actions .wp-block-button {
	display: flex;
}

.bold-feature__actions .wp-block-button__link {
	display: inline-flex;
	align-items: center;
}

/* WP flow layout zeroes last-child end margins (:where, zero specificity);
   converted secheads must keep the template's natural UA rhythm. */
.wp-block-group.bold-sechead > :last-child {
	margin-block-end: revert;
}

/* Explicit UA-equivalent margin: WP flow zeroes it as a last child, and a
   blanket revert would clobber authored zero-margins on sibling columns. */
p.bold-dealers__note {
	/* !important per the kit's WP-layout gotcha: the generated last-child
	   margin-zeroing outranks authored class rules here. */
	margin-block-end: 1em !important;
}

/* Split-conversion utility classes: exact replacements for the template's
   inline styles, so converted sections carry no style attributes. */
.bold-sechead--tight {
	margin-bottom: 0;
}

.bold-lead--tight {
	margin-bottom: 0;
}

.bold-dealers__grid--portal {
	margin-top: clamp(3.5rem, 8vw, 6rem);
	align-items: center;
}

.alloway-eyebrow--ink {
	color: var(--wp--preset--color--contrast);
}

.bold-dealers__body {
	color: #2f2906;
	max-width: 42ch;
	margin: 0 0 1rem;
}

.bold-dealers__link {
	margin: 0;
}

/* Native core/image inside the feature grid: kill figure UA margins */
figure.bold-feature__media {
	margin: 0;
}

/* ==========================================================================
   HERITAGE SCROLL TIMELINE (Lime Sales) - DARK band, giant stroked years
   ========================================================================== */
.bold-timeline {
	position: relative;
	margin-top: clamp(1.5rem, 4vw, 3rem);
}

/* The spine */
.bold-timeline::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: clamp(0.55rem, 2vw, 0.7rem);
	width: 2px;
	background: var(--bold-line-dim);
}

@media (min-width: 906px) {
	.bold-timeline::before {
		left: 50%;
		transform: translateX(-50%);
	}
}

.bold-tl {
	position: relative;
	padding-left: clamp(2rem, 6vw, 2.75rem);
	padding-block: clamp(1.25rem, 3vw, 2.5rem);
}

.bold-tl__dot,
.bold-timeline--native .bold-tl::before {
	content: "";
	position: absolute;
	left: clamp(0.55rem, 2vw, 0.7rem);
	top: clamp(1.75rem, 4vw, 3rem);
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--bold-dark);
	border: 3px solid var(--bold-line-dim);
	transform: translateX(-50%);
	transition:
		border-color 360ms var(--bold-ease),
		background 360ms var(--bold-ease),
		transform 360ms var(--bold-ease);
}

.bold-tl.is-active .bold-tl__dot,
.bold-timeline--native .bold-tl.is-active::before {
	background: var(--bold-gold);
	border-color: var(--bold-gold);
	transform: translateX(-50%) scale(1.15);
}

.bold-sechead--center .bold-lead {
	margin-inline: auto;
}

.bold-tl__year {
	font-family: var(--bold-display);
	font-weight: 900;
	line-height: 0.95;
	font-size: clamp(3.5rem, 11vw, 7rem);
	color: transparent;
	-webkit-text-stroke: clamp(1.5px, 0.25vw, 2.5px) rgb(255 229 0 / 50%);
	margin: 0 0 0.7rem;
	letter-spacing: -0.01em;
	transition:
		color 420ms var(--bold-ease),
		-webkit-text-stroke-color 420ms var(--bold-ease);
}

.bold-tl.is-active .bold-tl__year {
	color: var(--bold-gold);
	-webkit-text-stroke-color: transparent;
}

.bold-tl__title {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 1.4rem;
	color: #fff;
	margin: 0 0 0.4rem;
}

.bold-tl__body {
	color: #c9c6bf;
	max-width: 46ch;
	margin: 0;
}

.bold-tl__ph {
	display: inline-block;
	margin-top: 0.4rem;
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.72rem;
	color: #8d8a83;
	border: 1px dashed rgb(255 255 255 / 25%);
	border-radius: var(--bold-radius-sm);
	padding: 0.3rem 0.65rem;
}

/* Desktop: alternate sides of the centre spine */
@media (min-width: 906px) {
	.bold-tl {
		width: 50%;

		/* border-box so the side padding lives INSIDE the 50% column and the
		   item's inner edge lands exactly on the centre spine — dots ON the
		   line. (The mockup's content-box let left-side items overshoot the
		   spine by the padding: dots floated off the line and dates touched
		   it. Faithfully preserved through Epic 2's pixel-parity gate, then
		   fixed as a design correction 2026-08-16 at Jack's call.) */
		box-sizing: border-box;
		padding-left: 0;
	}

	.bold-tl--l {
		left: 0;
		padding-right: clamp(2.5rem, 5vw, 4rem);
		text-align: right;
	}

	.bold-tl--r {
		left: 50%;
		padding-left: clamp(2.5rem, 5vw, 4rem);
	}

	.bold-tl--l .bold-tl__dot,
	.bold-timeline--native .bold-tl--l::before {
		left: auto;
		right: 0;
		transform: translateX(50%);
	}

	.bold-tl.is-active.bold-tl--l .bold-tl__dot,
	.bold-timeline--native .bold-tl.is-active.bold-tl--l::before {
		transform: translateX(50%) scale(1.15);
	}

	.bold-tl--l .bold-tl__body {
		margin-left: auto;
	}

	.bold-tl--r .bold-tl__dot,
	.bold-timeline--native .bold-tl--r::before {
		left: 0;
	}
}

/* ==========================================================================
   HERITAGE TIMELINE SCRUB (epic 11 item 2) - desktop scroll-driven ruler
   ========================================================================== */

/* Desktop-only, RESIZE-SAFE (re-verification finding 6): every scrub
   rule lives inside the breakpoint, so crossing below 906px makes the
   built UI inert and the stacked zigzag returns by CSS alone; the JS
   only decides WHEN to build. */
.bold-tlscrub {
	display: none;
}

@media (min-width: 906px) {
	.bold-tlscrub {
		display: block;
	}

	/* Scroll is the playhead: the slab grows to the scrub span, a sticky
	   pin rides inside it, and bold-timeline.js feeds TWO custom properties
	   from the scroll position - --tl-p (0..1 progress) and --tl-x (orb px).
	   Every moving part is transform/opacity consuming those properties;
	   no property here animates layout. These classes exist ONLY when the
	   JS enhancement runs (desktop, motion allowed), so no-JS, mobile and
	   reduced-motion keep the stacked zigzag above untouched. */
	.bold-slab--tlscrub {
		height: var(--tl-span, auto);
		padding-block: 0;
	}

	.bold-tlscrub__pin {
		position: sticky;
		top: 0;
		box-sizing: border-box;
		min-height: 100vh;
		display: flex;
		flex-direction: column;
		justify-content: center;

		/* Top padding clears the fixed header (the same 150px the sitewide
		   scroll-padding-top accounts for); centering happens inside it. */
		padding-block: clamp(9rem, 17vh, 9.5rem) clamp(1.5rem, 3vh, 2.5rem);
	}

	/* While scrubbing, the sechead lead hides: its copy (eighty years,
	   230+ dealers) is what the H2 and the Today panel already carry, and
	   dropping it is what lets the whole scrub fit one pinned viewport.
	   It stays rendered for the stacked fallback and stays editable. */
	.bold-slab--tlscrub .bold-sechead .bold-lead {
		display: none;
	}

	/* The stacked entries stay in the DOM as the editable source the
	   scrub reads from; only their rendering is replaced. */
	.bold-slab--tlscrub .bold-timeline--native .bold-tl {
		display: none;
	}

	.bold-slab--tlscrub .bold-timeline::before {
		display: none;
	}

	.bold-tlscrub__ruler {
		position: relative;
		margin-top: clamp(1.5rem, 3.5vh, 3rem);
	}

	.bold-tlscrub__years {
		display: flex;
		justify-content: space-between;
	}

	.bold-tlscrub__yr {
		font-family: var(--bold-cond);
		font-weight: 700;
		font-size: clamp(0.95rem, 1.5vw, 1.3rem);
		letter-spacing: 0.05em;
		color: #8d8a83;
		background: none;
		border: 0;
		padding: 0.4rem 0.2rem 1.5rem;
		cursor: pointer;

		/* No transition: the motion rule is transform/opacity only
		   (re-verification finding 6) — the year snaps to gold. */
	}

	.bold-tlscrub__yr:hover,
	.bold-tlscrub__yr:focus-visible {
		color: #fff;
	}

	.bold-tlscrub__yr.is-on {
		color: var(--bold-gold);
	}

	.bold-tlscrub__track {
		position: relative;
		height: 2px;
		background: var(--bold-line-dim);
	}

	.bold-tlscrub__fill {
		position: absolute;
		inset: 0;
		background: var(--bold-gold);
		transform: scaleX(var(--tl-p, 0));
		transform-origin: left center;
	}

	.bold-tlscrub__orb {
		position: absolute;
		top: 50%;
		left: 0;
		width: 16px;
		height: 16px;
		margin: -8px 0 0 -8px;
		border-radius: 50%;
		background: var(--bold-gold);
		box-shadow: 0 0 0 5px rgb(251 214 74 / 20%);
		transform: translateX(var(--tl-x, 0));
	}

	.bold-tlscrub__panel {
		max-width: 760px;
		margin: clamp(2rem, 4.5vh, 3.5rem) auto 0;
		text-align: center;
		min-height: 11rem;
	}

	/* Milestone swap: a quick drop-in (opacity + rise only). */
	.bold-tlscrub__panelin {
		transition:
			opacity 220ms var(--bold-ease),
			transform 220ms var(--bold-ease);
	}

	.bold-tlscrub__panelin.is-swap {
		opacity: 0;
		transform: translateY(10px);
	}

	.bold-tlscrub__py {
		font-family: var(--bold-display);
		font-weight: 900;
		font-size: clamp(3rem, 6vw, 4.6rem);
		line-height: 1;
		color: var(--bold-gold);
	}

	.bold-tlscrub__pt {
		font-family: var(--bold-display);
		font-weight: 800;
		text-transform: uppercase;
		font-size: 1.4rem;
		color: #fff;
		margin: 0.5rem 0 0.65rem;
	}

	.bold-tlscrub__pb {
		color: #c9c6bf; /* matches .bold-tl__body on the same dark slab */
		font-size: 1.08rem;
		line-height: 1.65;
		margin: 0;
	}

	.bold-slab--tlscrub .bold-tl__note {
		margin-top: clamp(1.5rem, 3vh, 2.5rem);
	}
}

/* ==========================================================================
   FEATURED EQUIPMENT + SPEC TABS (Bredal / Art's Way) - LIGHT band
   ========================================================================== */
.bold-feature {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
}

.bold-feature + .bold-feature {
	margin-top: clamp(2.5rem, 6vw, 5rem);
	padding-top: clamp(2.5rem, 6vw, 5rem);
	border-top: 1px solid var(--wp--preset--color--border);
}

@media (min-width: 906px) {
	.bold-feature {
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}

	.bold-feature--rev .bold-feature__media {
		order: 2;
	}
}

.bold-feature__media {
	background: var(--wp--preset--color--surface);
	border-radius: var(--bold-radius);
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(1.5rem, 4vw, 3rem);
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
}

.bold-feature__media img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.bold-feature__tag {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.74rem;
	font-weight: 700;
	color: var(--wp--preset--color--muted);
	margin: 0 0 0.4rem;
}

.bold-feature__name {
	font-family: var(--bold-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(1.9rem, 4vw, 2.9rem);
	line-height: 0.98;
	margin: 0 0 0.6rem;
}

.bold-feature__lead {
	color: var(--wp--preset--color--muted);
	margin: 0 0 var(--wp--preset--spacing--30);
	max-width: 48ch;
}

/* Tabs */
.bold-tabs__list {
	display: flex;
	gap: 0.4rem;
	margin-bottom: var(--wp--preset--spacing--30);
	flex-wrap: wrap;
}

.bold-tab {
	appearance: none;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.82rem;
	color: var(--wp--preset--color--muted);
	padding: 0.6rem 1.05rem;
	transition:
		color var(--alloway-transition),
		background var(--alloway-transition);
}

.bold-tab:hover {
	color: var(--bold-ink);
}

/* Selected tab = solid black rectangle, white text (Jack). */
.bold-tab[aria-selected="true"] {
	background: var(--bold-dark);
	color: #fff;
}

.bold-tab:focus-visible {
	outline: 2px solid var(--bold-gold);
	outline-offset: 2px;
}

.bold-tabpanel[hidden] {
	display: none;
}

.bold-tabpanel p {
	margin: 0 0 0.6rem;
	color: var(--wp--preset--color--muted);
}

.bold-tabpanel ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bold-tabpanel li {
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
	display: flex;
	gap: 0.75rem;
	align-items: baseline;
}

.bold-tabpanel li::before {
	content: "";
	flex: none;
	width: 0.55rem;
	height: 0.55rem;
	background: var(--bold-gold);
	border-radius: 2px;
	transform: translateY(0.1rem);
}

/* Spec table */
.bold-spec {
	width: 100%;
	border-collapse: collapse;
}

.bold-spec th,
.bold-spec td {
	text-align: left;
	padding: 0.7rem 0.5rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-size: 0.95rem;
}

.bold-spec th {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.74rem;
	color: var(--wp--preset--color--muted);
	font-weight: 700;
	width: 42%;
}

.bold-spec td {
	color: var(--bold-ink);
}

.bold-spec .bold-tbd {
	color: var(--wp--preset--color--muted);
	font-style: italic;
}

.bold-feature__actions {
	display: flex;
	flex-wrap: wrap;

	/* Explicit stretch: WP's :where flex-layout rule sets align-items:center,
	   which stops the filled button matching its bordered ghost sibling. */
	align-items: stretch;
	gap: 0.75rem;
	margin-top: var(--wp--preset--spacing--40);
}

/* ==========================================================================
   VIDEO TESTIMONIALS (Art's Way) - DARK band, YouTube facades
   ========================================================================== */
.bold-vids {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
}

@media (min-width: 906px) {
	.bold-vids {
		grid-template-columns: 1.7fr 1fr;
		align-items: stretch;
	}
}

.bold-vids__main {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.bold-vids__main .bold-video {
	aspect-ratio: 16 / 9;
}

/* Right rail: a vertical, scroll-snapping slider of video thumbnails. */
.bold-vids__rail {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	min-height: 0;
	overflow-y: auto;
	scroll-snap-type: y proximity;
	padding-right: 0.25rem;
	scrollbar-width: thin;
	scrollbar-color: rgb(255 229 0 / 50%) transparent;
}

@media (min-width: 906px) {
	.bold-vids__rail {
		max-height: 100%;
	}
}

.bold-vids__rail::-webkit-scrollbar {
	width: 6px;
}

.bold-vids__rail::-webkit-scrollbar-thumb {
	background: rgb(255 229 0 / 50%);
	border-radius: 999px;
}

.bold-vthumb {
	flex: none;
	display: grid;
	grid-template-columns: 104px 1fr;
	gap: 0.75rem;
	align-items: center;
	padding: 0.5rem;
	border-radius: var(--bold-radius-sm);
	cursor: pointer;
	text-align: left;
	background: transparent;
	border: 1px solid transparent;
	scroll-snap-align: start;
	transition:
		background var(--alloway-transition),
		border-color var(--alloway-transition);
}

.bold-vthumb:hover {
	background: rgb(255 255 255 / 5%);
}

.bold-vthumb.is-active {
	background: rgb(255 229 0 / 8%);
	border-color: rgb(255 229 0 / 45%);
}

.bold-vthumb:focus-visible {
	outline: 2px solid var(--bold-gold);
	outline-offset: 2px;
}

.bold-vthumb__thumb {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 6px;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgb(19 17 17 / 10%), rgb(19 17 17 / 55%)), #211e1c;
	display: grid;
	place-items: center;
}

.bold-vthumb__thumb .bold-video__play {
	width: 32px;
	height: 32px;
}

.bold-vthumb__thumb .bold-video__play::after {
	border-width: 6px 0 6px 10px;
}

.bold-vthumb__name {
	/* display: block — these two are spans; the meta's top margin
	   always intended a stack, which inline spans silently ignored
	   (latent since the island era, surfaced by real video names). */
	display: block;
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 0.92rem;
	color: #fff;
	margin: 0;
	line-height: 1.05;
}

.bold-vthumb__meta {
	display: block;
	color: #9d9a93;
	font-size: 0.72rem;
	margin: 0.15rem 0 0;
}

@media (max-width: 905px) {
	.bold-vids__rail {
		flex-direction: row;
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}

	.bold-vthumb {
		width: 240px;
	}
}

.bold-video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--bold-radius);
	background: #1a1817;
	cursor: pointer;
	border: 1px solid rgb(255 255 255 / 8%);
}

.bold-video__face {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1.25rem;
	background:
		linear-gradient(180deg, rgb(19 17 17 / 25%), rgb(19 17 17 / 70%)), #211e1c;
	transition: background var(--alloway-transition);
}

.bold-video:hover .bold-video__face {
	background:
		linear-gradient(180deg, rgb(19 17 17 / 15%), rgb(19 17 17 / 60%)), #262220;
}

.bold-video__play {
	position: relative;
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background: var(--bold-gold);
	flex: none;
	transition: transform var(--alloway-transition);
}

.bold-video:hover .bold-video__play {
	transform: scale(1.07);
}

.bold-video__play::after {
	content: "";
	position: absolute;
	left: 54%;
	top: 50%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 10px 0 10px 17px;
	border-color: transparent transparent transparent var(--bold-ink);
}

.bold-video__label {
	color: rgb(255 255 255 / 85%);
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	font-size: 0.78rem;
	max-width: 26ch;
}

.bold-video__ph {
	color: rgb(255 255 255 / 50%);
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.66rem;
}

.bold-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.bold-video__cap {
	margin: 0.7rem 0 0;
}

.bold-video__name {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	color: #fff;
	font-size: 1.05rem;
	margin: 0;
}

.bold-video__meta {
	color: #9d9a93;
	font-size: 0.85rem;
	margin: 0.1rem 0 0;
}

/* ==========================================================================
   DEALER NETWORK + MAP + PORTAL (GOLD band) - fixes locator + dead portal
   ========================================================================== */
.bold-dealers__grid {
	display: grid;
	gap: clamp(1.75rem, 4vw, 3rem);
	align-items: start;
}

@media (min-width: 906px) {
	.bold-dealers__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.bold-map {
	aspect-ratio: 4 / 3;
	border-radius: var(--bold-radius);
	overflow: hidden;
	border: 3px solid var(--bold-ink);
	box-shadow: 0 18px 40px rgb(19 17 17 / 22%);
	background: #ddd;
}

.bold-map iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	filter: grayscale(0.15);
}

/* Static snapshot of the live locator, click-through to /dealers/. */
.bold-map--static {
	display: block;
	position: relative;
}

.bold-map--static img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.bold-map--static:focus-visible {
	outline: 3px solid var(--bold-ink);
	outline-offset: 3px;
}

.bold-map__open {
	position: absolute;
	right: 0.9rem;
	bottom: 0.9rem;
	background: var(--bold-dark);
	color: #fff;
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.85rem;
	padding: 0.55rem 1rem;
	border-radius: var(--bold-radius);
	transition: background 0.15s;
}

.bold-map--static:hover .bold-map__open {
	background: #2a2624;
}

.bold-map__credit {
	font-size: 0.72rem;
	color: #4a3f0c;
	text-align: right;
	margin-top: 0.4rem;
}

.bold-zip {
	display: flex;
	max-width: 460px;
	margin-top: var(--wp--preset--spacing--30);
	border: 2px solid var(--bold-ink);
	border-radius: var(--bold-radius);
	overflow: hidden;
	background: #fff;
}

.bold-zip input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 0.9rem 1rem;
	font-size: 1rem;
	font-family: inherit;
	color: var(--bold-ink);
}

.bold-zip input:focus {
	outline: 2px solid var(--bold-dark);
	outline-offset: -2px;
}

.bold-zip button {
	border: 0;
	cursor: pointer;
	background: var(--bold-dark);
	color: #fff;
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0 1.5rem;
	white-space: nowrap;
	transition: background var(--alloway-transition);
}

.bold-zip button:hover {
	background: #2a2624;
}

.bold-dealers__note {
	font-size: 0.85rem;
	color: #4a3f0c;
	margin-top: 0.6rem;
}

/* Portal login card on the gold band */
.bold-portal {
	background: var(--bold-dark);
	color: #fff;
	border-radius: var(--bold-radius);
	padding: clamp(1.5rem, 3.5vw, 2.5rem);
	box-shadow: 0 18px 40px rgb(19 17 17 / 30%);
}

.bold-portal__eyebrow {
	color: var(--wp--preset--color--on-dark) !important;
}

.bold-portal__eyebrow::before {
	background: var(--bold-gold) !important;
}

.bold-portal h3 {
	color: #fff;
	margin: 0 0 0.4rem;
}

.bold-portal p {
	color: #c9c6bf;
	margin: 0 0 var(--wp--preset--spacing--30);
}

.bold-portal label {
	display: block;
	margin-bottom: 0.85rem;
	font-family: var(--bold-cond);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.74rem;
	color: #c9c6bf;
}

.bold-portal input {
	display: block;
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid rgb(255 255 255 / 20%);
	border-radius: var(--bold-radius-sm);
	font-size: 1rem;
	font-family: inherit;
	color: #fff;
	background: rgb(255 255 255 / 6%);
}

.bold-portal input::placeholder {
	color: #8d8a83;
}

.bold-portal input:focus {
	outline: 2px solid var(--bold-gold);
	outline-offset: -1px;
}

.bold-portal__submit {
	width: 100%;
	margin-top: 0.3rem;
	border: 0;
	cursor: pointer;
	padding: 0.85rem;
	border-radius: var(--bold-radius);
	background: var(--bold-gold);
	color: var(--bold-ink);
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	transition: background var(--alloway-transition);
}

.bold-portal__submit:hover {
	background: var(--bold-gold-deep);
}

.bold-portal__note {
	font-size: 0.78rem;
	color: #8d8a83;
	margin: 0.9rem 0 0;
}

.bold-portal__note a {
	color: var(--wp--preset--color--on-dark);
}

/* The portal card is a TEASER (Jack 2026-09-04): softly blurred and
   fully inert behind the coming-soon badge. The fields are decorative
   spans, never inputs — a live site must not show a working-looking
   login before the portal exists. */
.bold-portal-tease {
	position: relative;
}

.bold-portal-tease .bold-portal {
	filter: blur(4px);
	pointer-events: none;
	user-select: none;
}

.bold-portal p.bold-portal__mockh {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 1.4rem;
	color: #fff;
	margin: 0 0 0.9rem;
}

.bold-portal__mocklabel {
	display: block;
	margin-bottom: 0.85rem;
	font-family: var(--bold-cond);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.74rem;
	color: #c9c6bf;
}

.bold-portal__mockfield {
	display: block;
	height: 2.9rem;
	margin-top: 0.35rem;
	border: 1px solid rgb(255 255 255 / 20%);
	border-radius: var(--bold-radius-sm);
	background: rgb(255 255 255 / 6%);
}

.bold-portal__submit--mock {
	display: block;
	text-align: center;
	cursor: default;
}

.bold-portal-tease__badge {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	background: var(--bold-ink);
	color: #fff;
	border: 2px solid var(--bold-gold);
	border-radius: var(--bold-radius);
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: clamp(1rem, 2vw, 1.2rem);
	padding: 0.8rem 1.5rem;
	white-space: nowrap;
	box-shadow: 8px 8px 0 rgb(251 214 74 / 45%);
}

/* ==========================================================================
   BREADCRUMBS - interior pages (Home › Page), pairs with the
   BreadcrumbList schema emitted from functions.php
   ========================================================================== */
.bold-crumbs {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.75rem;
	color: var(--wp--preset--color--muted);
	margin-bottom: var(--wp--preset--spacing--30);
}

.bold-crumbs a {
	color: inherit;
	text-decoration: none;
}

.bold-crumbs a:hover {
	color: var(--bold-ink);
}

/* ==========================================================================
   MANUALS BY YEAR (Amity better-than) - LIGHT/SURFACE band, accordion
   ========================================================================== */
.bold-manuals__grid {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

@media (min-width: 906px) {
	.bold-manuals__grid {
		grid-template-columns: 0.85fr 1.15fr;
	}
}

.bold-acc {
	border-top: 2px solid var(--bold-ink);
}

.bold-acc__item {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.bold-acc__item > summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 1.1rem 2.5rem 1.1rem 0;
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 1.3rem;
	color: var(--bold-ink);
}

.bold-acc__item > summary::-webkit-details-marker {
	display: none;
}

.bold-acc__item > summary::after {
	content: "";
	position: absolute;
	right: 0.3rem;
	top: 50%;
	margin-top: -6px;
	width: 11px;
	height: 11px;
	border-right: 2px solid var(--bold-ink);
	border-bottom: 2px solid var(--bold-ink);
	transform: rotate(45deg);
	transition: transform var(--alloway-transition);
}

.bold-acc__item[open] > summary::after {
	transform: rotate(-135deg);
}

.bold-acc__body {
	padding: 0 0 1.2rem;
	display: grid;
	gap: 0.2rem;
}

/* display:flex would silently defeat the manuals filter's hidden
   attribute (author display beats the UA [hidden] rule — worklog
   pattern 33; Jack's dogfood catch 2026-08-28: filtered groups showed
   every row while the count said otherwise). */
.bold-manual[hidden] {
	display: none;
}

.bold-manual {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.7rem 0.85rem;
	border-radius: var(--bold-radius-sm);
	text-decoration: none;
	color: var(--bold-ink);
	transition: background var(--alloway-transition);
}

.bold-manual:hover {
	background: var(--wp--preset--color--surface);
}

.bold-manual__name {
	display: flex;
	align-items: center;
	gap: 0.7rem;
}

.bold-manual__icon {
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 6px;
	background: var(--bold-gold);
	color: var(--bold-ink);
	display: grid;
	place-items: center;
	font-family: var(--bold-cond);
	font-weight: 700;
	font-size: 0.6rem;
}

.bold-manual__dl {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.72rem;
	color: var(--wp--preset--color--muted);
}

/* p. prefix is load-bearing: the group's generated layout class
   (.wp-container-... > *) zeroes child margins from an inline sheet
   that loads AFTER this file — equal specificity would lose by order
   (recurring pattern: WP auto-margins). */
p.bold-manuals__note {
	font-size: 0.85rem;
	color: var(--wp--preset--color--muted);

	/* Breathing room on BOTH sides: the browse button follows directly
	   (Jack 2026-09-04: note and button sat too close at every width). */
	margin-top: var(--wp--preset--spacing--30);
	margin-bottom: var(--wp--preset--spacing--40);
}

/* ==========================================================================
   NEWS / INSIGHTS (Murray Nankivell) - DARK band, filter + newsletter
   ========================================================================== */
.bold-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: var(--wp--preset--spacing--40);
}

/* The homepage pills are real links (Epic 6): All into /insights/,
   the rest rendered LIVE from wp:categories (Jack's dogfood catch: a
   new category must appear here by itself). The __btn class still
   dresses the products/manuals filter BUTTONS (aria-pressed), so the
   base keeps serving both. */
.bold-filter p {
	margin: 0;
}

/* ONE flex line for every pill (Jack 2026-09-05: on phones the All
   pill sat on its own plane because the category LIST wrapped below
   it as a unit): display:contents lifts the wrapper paragraph, the
   list, and its items into .bold-filter's own flex row (flex-wrap +
   gap live on .bold-filter above), so pills wrap individually at
   every width. */
.bold-filter .bold-filter__all,
.bold-filter .wp-block-categories,
.bold-filter .wp-block-categories li {
	display: contents;
}

.bold-filter .wp-block-categories {
	list-style: none;
}

/* Mobile swipe rail (Jack 2026-09-05, round 2: wrapping still split
   the row on his phone): pills stop wrapping and swipe sideways.
   The context clue is the CLIPPED, FADING last pill at the right
   edge (mask), not arrows or hint text; rails.js lifts the fade at
   scroll end and drives the gold progress bar it injects after the
   row (the About walk-the-line idiom). Without JS the row still
   swipes natively; only the bar and the fade-lift are enhancements. */
@media (max-width: 905px) {
	/* div. prefix is load-bearing: WP's generated flex-layout container
	   class re-asserts flex-wrap:wrap from the late inline sheet at
	   equal specificity (gotcha row 9 in the kit). */
	div.bold-filter {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.bold-filter::-webkit-scrollbar {
		display: none;
	}

	.bold-filter a {
		flex: 0 0 auto;
	}

	.bold-filter.is-fade-end {
		-webkit-mask-image: linear-gradient(
			to right,
			#000 calc(100% - 56px),
			transparent
		);
		mask-image: linear-gradient(to right, #000 calc(100% - 56px), transparent);
	}
}

.bold-filter__scrollbar {
	display: none;
	position: relative;
	height: 3px;
	margin-top: 12px;
	border-radius: 2px;
	background: rgb(255 255 255 / 15%);
	overflow: hidden;
}

.bold-filter__scrollbar.is-active {
	display: block;
}

.bold-filter__scrollfill {
	display: block;
	height: 100%;
	width: 40%;
	border-radius: 2px;
	background: var(--bold-gold);
}

/* Homepage cap (Jack 2026-08-31): live categories, but at most five
   pills so a growing taxonomy never floods the band — the full list
   always lives on /insights/ (rail) and the category pages (tabs). */
#insights .bold-filter .wp-block-categories li:nth-child(n + 6) {
	display: none;
}

.bold-filter .wp-block-categories a,
.bold-filter__btn {
	display: inline-block;
	appearance: none;
	cursor: pointer;
	border: 1px solid rgb(255 255 255 / 22%);
	background: transparent;
	color: #e9e7e2;
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.76rem;
	padding: 0.55rem 1rem;
	border-radius: 999px;
	text-decoration: none;
	transition:
		background var(--alloway-transition),
		color var(--alloway-transition),
		border-color var(--alloway-transition);
}

.bold-filter .wp-block-categories a:hover,
.bold-filter__btn:hover {
	border-color: #fff;
	color: #fff;
}

.bold-filter__btn[aria-pressed="true"],
.bold-filter__btn--active {
	background: var(--bold-gold);
	border-color: var(--bold-gold);
	color: var(--bold-ink);
}

.bold-filter__btn[aria-pressed="true"]:hover,
.bold-filter__btn--active:hover {
	color: var(--bold-ink);
	border-color: var(--bold-gold);
}

.bold-filter__btn:focus-visible {
	outline: 2px solid var(--bold-gold);
	outline-offset: 2px;
}

/* The cards render from core/query (Epic 6): each post-template list
   item wears the newscard frame; the title link stretches over the
   card so the whole surface clicks. */
ul.bold-news__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (max-width: 905px) {
	ul.bold-news__grid {
		grid-template-columns: 1fr;
	}
}

.bold-news__grid > li {
	position: relative;
	margin: 0; /* WP flow layout would stagger the grid rows */
	display: flex;
	flex-direction: column;
	color: #fff;
	overflow: hidden;
	background: #1c1a18;
	border: 1px solid rgb(255 255 255 / 8%);
	border-radius: var(--bold-radius);
	transition:
		transform var(--alloway-transition),
		box-shadow var(--alloway-transition),
		border-color var(--alloway-transition);
}

.bold-news__grid > li:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 38px rgb(0 0 0 / 40%);
	border-color: rgb(255 229 0 / 30%);
}

.bold-news__grid .wp-block-post-featured-image {
	margin: 0;
}

.bold-news__grid .wp-block-post-featured-image img {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.bold-news__grid .bold-newscard__cat {
	position: absolute;
	left: 0.85rem;
	top: 0.85rem;
	margin: 0;
}

.bold-news__grid .bold-newscard__cat a {
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.66rem;
	background: var(--bold-gold);
	color: var(--bold-ink);
	padding: 0.3rem 0.6rem;
	border-radius: 5px;
	text-decoration: none;
}

.bold-newscard__body {
	padding: clamp(1.1rem, 2.4vw, 1.5rem);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
}

.bold-newscard__meta {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.7rem;
	color: #9d9a93;
	margin: 0;
}

.bold-newscard__title {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 1.3rem;
	line-height: 1.05;
	color: #fff;
	margin: 0;
}

.bold-newscard__title a {
	color: inherit;
	text-decoration: none;
}

.bold-newscard__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.bold-newscard__more {
	margin-top: auto;
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.76rem;
	color: var(--wp--preset--color--on-dark);
	padding-top: 0.3rem;
	text-decoration: none;
}

/* Newsletter signup with topic checkboxes */
.bold-newsletter {
	margin-top: clamp(2.5rem, 6vw, 4.5rem);
	padding-top: clamp(2rem, 5vw, 3.5rem);
	border-top: 1px solid rgb(255 255 255 / 12%);
}

.bold-newsletter__grid {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

@media (min-width: 906px) {
	.bold-newsletter__grid {
		grid-template-columns: 1fr 1.1fr;
	}
}

/* The topics render as plain pills: the signup form is withheld
   until a provider exists (nothing on the site pretends to submit),
   so there is nothing interactive here. */
.bold-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 0 0 var(--wp--preset--spacing--30);
	padding: 0;
	list-style: none;
}

.bold-topics li {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.9rem;
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: 999px;
	font-size: 0.85rem;
	margin: 0;
}

.bold-newsletter .bold-lead {
	margin-bottom: 0;
}

.bold-newsletter__note {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	color: #8d8a83;
	margin: 0;
}

/* ==========================================================================
   CLOSING CTA BAND (GOLD) - peak-end
   ========================================================================== */
.bold-cta {
	text-align: center;
}

:is(.variant-bold, .wp-block-post-content) .bold-cta h2 {
	font-size: clamp(2.4rem, 6vw, 4.25rem) !important;
	max-width: 18ch;
	margin-inline: auto;
	text-align: center;
}

.bold-cta__lead {
	color: #2f2906;
	max-width: 50ch;
	margin: 0 auto var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--large);
}

.bold-cta__row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	justify-content: center;
	align-items: center;
}

/* The About page runs the CTA on the dark slab; the gold-band ink fails there. */
.bold-slab--dark .bold-cta__lead {
	color: #c9c6bf;
}

/* ==========================================================================
   ABOUT / STORY PAGE (Epic 5)
   ========================================================================== */
.bold-story {
	max-width: 760px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 6vw, 4rem);
}

.bold-story__h {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(1.6rem, 3.2vw, 2.3rem);
	line-height: 1.05;
	margin: 0.5rem 0 0.8rem;
}

.bold-story__chapter p:not(.alloway-eyebrow) {
	max-width: 62ch;
}

/* Flat bordered grid on the gold band (the approved Assembly Line X look). */
.bold-values {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border: 2px solid var(--bold-ink);
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.bold-values__card {
	background: transparent;
	border-right: 2px solid var(--bold-ink);
	padding: 1.7rem;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: color 300ms var(--bold-ease);
}

.bold-values__card:last-child {
	border-right: 0;
}

:is(.variant-bold, .wp-block-post-content) .bold-values__card h3 {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 1.15rem;
	margin: 0 0 0.5rem;
}

.bold-values__card p {
	margin: 0;
	color: var(--wp--preset--color--muted);
}

@media (max-width: 905px) {
	.bold-values {
		grid-template-columns: 1fr;
	}

	.bold-values__card {
		border-right: 0;
		border-bottom: 2px solid var(--bold-ink);
	}

	.bold-values__card:last-child {
		border-bottom: 0;
	}
}

.bold-about-quote {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(1.5rem, 3.4vw, 2.4rem);
	line-height: 1.1;
	color: #fff;
	text-align: center;
	max-width: 24ch;
	margin-inline: auto;
}

.bold-about-quote-attr {
	color: var(--bold-gold);
	text-align: center;
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.85rem;
	margin-top: 0.8rem;
}

.is-style-bold-textlink .wp-block-button__link {
	background: transparent;
	padding: 0 0 2px;
	border-radius: 0;
}

.bold-cta__phone,
.is-style-bold-textlink .wp-block-button__link {
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--bold-ink);
	text-decoration: none;
	border-bottom: 2px solid var(--bold-dark);
	padding-bottom: 2px;
}

/* ==========================================================================
   BOLD HEADER + IMAGE MEGA-MENU
   ========================================================================== */
.bold-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: var(--bold-dark);
	color: #fff;
	border-bottom: 1px solid rgb(255 255 255 / 8%);
	transition:
		box-shadow var(--alloway-transition),
		background-color 240ms var(--bold-ease),
		border-color 240ms var(--bold-ease);
}

.bold-header.is-stuck {
	box-shadow: 0 6px 22px rgb(0 0 0 / 45%);
}

/* Inverted (light) header while a dark section is behind it: white bg, black logo/nav/login. */
.bold-header.is-light {
	background: #fff;
	border-bottom-color: var(--wp--preset--color--border);
}

.bold-header.is-light.is-stuck {
	box-shadow: 0 4px 18px rgb(19 17 17 / 12%);
}

.bold-header.is-light .bold-nav__link,
.bold-header.is-light .bold-login {
	color: var(--bold-ink);
}

.bold-header.is-light .bold-navtoggle__bar {
	background: var(--bold-ink);
}

/* The magnifier idles ink on the white header (Jack's dogfood catch:
   color:inherit picked up the dark header's white); hover keeps its
   gold, restated because the is-light rule outweighs the base hover. */
.bold-header.is-light .bold-search-toggle {
	color: var(--bold-ink);
}

.bold-header.is-light .bold-search-toggle:hover,
.bold-header.is-light .bold-search-toggle:focus-visible {
	color: var(--bold-gold);
}

/* Underline hover/active goes black on the light header. */
.bold-header.is-light .bold-nav__link::after {
	background: var(--bold-ink);
}

.bold-nav__link,
.bold-login {
	transition: color var(--alloway-transition);
}

.bold-header__logo .logo-dark {
	display: none;
}

.bold-header.is-light .bold-header__logo .logo-white {
	display: none;
}

.bold-header.is-light .bold-header__logo .logo-dark {
	display: block;
}

/* On the light header the whole mega dropdown inverts: beige panel, white cards + promo,
   black text, black promo CTA. Desktop only (mobile mega is an accordion in the dark overlay). */
@media (min-width: 1241px) {
	.bold-header.is-light .bold-mega {
		background: var(--wp--preset--color--surface);
		border-bottom-color: var(--wp--preset--color--border);
	}

	.bold-header.is-light .bold-mega__cat {
		background: #fff;
		border-color: var(--wp--preset--color--border);
		color: var(--bold-ink);
		box-shadow: 0 4px 14px rgb(19 17 17 / 6%);
	}

	.bold-header.is-light .bold-mega__catimg {
		background: var(--wp--preset--color--surface);
	}

	.bold-header.is-light .bold-mega__catname {
		color: var(--bold-ink);
	}

	.bold-header.is-light .bold-mega__catdesc {
		color: var(--bold-ink);
	}

	.bold-header.is-light .bold-mega__promo {
		background: #fff;
		border-color: var(--wp--preset--color--border);
	}

	.bold-header.is-light .bold-mega__promo .alloway-eyebrow,
	.bold-header.is-light .bold-mega__promo h3,
	.bold-header.is-light .bold-mega__promo p {
		color: var(--bold-ink);
	}

	.bold-header.is-light .bold-mega__promo .alloway-eyebrow::before {
		background: var(--bold-ink);
	}

	.bold-header.is-light .bold-mega__promo .bold-btn {
		background: var(--bold-dark);
		color: #fff !important;
	}

	.bold-header.is-light .bold-mega__promo .bold-btn:hover,
	.bold-header.is-light .bold-mega__promo .bold-btn:focus-visible {
		background: #2a2624;
	}

	/* Gold-on-beige is hard to read once the header goes light (Jack's
	   dogfood catch): the field door flips to ink text + ink outline,
	   keeping the gold hover fill (border melts into it, as on dark). */
	.bold-header.is-light .bold-mega__fieldrow {
		border-color: var(--bold-ink);
		color: var(--bold-ink);
	}

	.bold-header.is-light .bold-mega__fieldrow:hover,
	.bold-header.is-light .bold-mega__fieldrow:focus-visible {
		border-color: var(--bold-gold);
		background: var(--bold-gold);
	}
}

.bold-header__inner {
	max-width: 1300px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 0.85rem clamp(1.1rem, 4vw, 2rem);
}

.bold-header__logo {
	line-height: 0;
	flex: none;
}

.bold-header__logo img {
	height: 100px;
	width: auto;
	display: block;
}

.bold-nav {
	display: flex;
	align-items: center;
	gap: clamp(0.75rem, 1.8vw, 1.75rem);
}

.bold-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(0.5rem, 1.6vw, 1.5rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bold-nav__link {
	appearance: none;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: #fff;
	text-decoration: none;
	font-family: var(--bold-cond);
	font-weight: 600;
	font-size: 1.5rem;
	padding: 0.5rem 0;
	position: relative;
}

.bold-nav__link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: var(--bold-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--alloway-transition);
}

.bold-nav__link:hover::after,
.bold-nav__link:focus-visible::after,
.bold-nav__item.is-open .bold-nav__link::after {
	transform: scaleX(1);
}

.bold-nav__caret {
	width: 12px;
	height: 12px;
	transition: transform var(--alloway-transition);
}

.bold-nav__item.is-open .bold-nav__caret {
	transform: rotate(180deg);
}

.bold-header__actions {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.bold-login {
	color: var(--wp--preset--color--on-dark);
	text-decoration: none;
	font-family: var(--bold-cond);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.82rem;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.bold-login:hover {
	text-decoration: underline;
}

.bold-login svg {
	width: 15px;
	height: 15px;
}

.bold-header .bold-btn {
	padding: 10px 20px;
	font-size: 0.82rem;
}

/* Mega-menu panel */
.bold-nav__item {
	position: static;
}

/* Breakpoint-cross flash guard: while the window is actively resizing
   (bold.js toggles .is-resizing), all header transitions freeze — the
   desktop-mega to accordion style swap otherwise animates the panel
   through its open state for a frame (Jack's dogfood catch
   2026-08-28). */
.bold-header.is-resizing,
.bold-header.is-resizing *,
.bold-header.is-resizing *::before,
.bold-header.is-resizing *::after {
	transition: none !important;
}

.bold-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #1a1817;
	border-top: 3px solid var(--bold-gold);
	border-bottom: 1px solid rgb(255 255 255 / 8%);
	box-shadow: 0 24px 40px rgb(0 0 0 / 45%);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition:
		opacity 220ms var(--bold-ease),
		transform 220ms var(--bold-ease),
		visibility 0s linear 220ms;
	z-index: 199;
}

.bold-nav__item.is-open .bold-mega {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition:
		opacity 220ms var(--bold-ease),
		transform 220ms var(--bold-ease),
		visibility 0s;
}

.bold-mega__inner {
	max-width: 1300px;
	margin-inline: auto;
	padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.1rem, 4vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 2.6fr) minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
}

.bold-mega__cats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(0.75rem, 1.6vw, 1.25rem);
}

.bold-mega__cat {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: #fff;
	background: #232020;
	border: 1px solid rgb(255 255 255 / 8%);
	border-radius: var(--bold-radius);
	overflow: hidden;
	transition:
		transform var(--alloway-transition),
		border-color var(--alloway-transition);
}

.bold-mega__cat:hover,
.bold-mega__cat:focus-visible {
	transform: translateY(-3px);
	border-color: rgb(255 229 0 / 35%);
}

.bold-mega__catimg {
	aspect-ratio: 16 / 10;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.9rem;
	background: #2a2624;
}

.bold-mega__catimg img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform var(--alloway-transition);
}

.bold-mega__cat:hover .bold-mega__catimg img {
	transform: scale(1.05);
}

.bold-mega__catname {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 1.05rem;
	padding: 0.7rem 0.9rem 0.2rem;
}

.bold-mega__catdesc {
	font-size: 0.8rem;
	color: #9d9a93;
	padding: 0 0.9rem 0.9rem;
	margin: 0;
}

.bold-mega__promo {
	background: linear-gradient(180deg, #2a2624, #1a1817);
	border: 1px solid rgb(255 229 0 / 25%);
	border-radius: var(--bold-radius);
	padding: clamp(1.1rem, 2vw, 1.5rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.bold-mega__promo .alloway-eyebrow {
	color: var(--wp--preset--color--on-dark);
	margin-bottom: 0.5rem;
}

.bold-mega__promo .alloway-eyebrow::before {
	background: var(--bold-gold);
}

.bold-mega__promo h3 {
	font-size: 1.4rem;
	color: #fff;
	margin: 0 0 0.4rem;
}

.bold-mega__promo p {
	color: #c9c6bf;
	font-size: 0.9rem;
	margin: 0 0 var(--wp--preset--spacing--20);
}

/* Hamburger toggle (hidden on desktop) */
.bold-navtoggle {
	display: none;
	position: relative;
	z-index: 1201;
	width: 44px;
	height: 44px;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.bold-navtoggle:focus-visible {
	outline: 2px solid var(--bold-gold);
	outline-offset: 2px;
}

.bold-navtoggle__bar {
	display: block;
	width: 26px;
	height: 2px;
	border-radius: 2px;
	background: #fff;
	transform-origin: center;
	transition:
		transform 240ms var(--bold-ease),
		opacity 160ms var(--bold-ease);
}

.bold-header.is-open .bold-navtoggle__bar:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}

.bold-header.is-open .bold-navtoggle__bar:nth-child(2) {
	opacity: 0;
	transform: scaleX(0.3);
}

.bold-header.is-open .bold-navtoggle__bar:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}

html.is-bold-nav-open,
html.is-bold-nav-open body {
	overflow: hidden;
}

/* ---------- Mobile / compact header (collapses at the 1240 Material breakpoint
   because the 3x logo + 1.5x nav need a wide row) ---------- */
@media (max-width: 1240px) {
	.bold-navtoggle {
		display: flex;
	}

	.bold-header__logo img {
		height: 48px;
	}

	html {
		scroll-padding-top: 92px;
	}

	/* Pin the logo + toggle to the viewport while the menu is open: the scroll-lock
	   (overflow:hidden) un-sticks the sticky header and would otherwise carry them
	   off-screen when the menu is opened while scrolled. They float white on the dark
	   overlay (z 1201 > the overlay's 1200). Also force them light over .is-light bands. */
	.bold-header.is-open .bold-header__logo {
		position: fixed;
		top: 0.85rem;
		left: clamp(1.1rem, 4vw, 2rem);
		z-index: 1201;
	}

	.bold-header.is-open .bold-navtoggle {
		position: fixed;
		top: 16px;
		right: clamp(1.1rem, 4vw, 2rem);
	}

	.bold-header.is-open .bold-navtoggle__bar {
		background: #fff;
	}

	.bold-header.is-open .bold-header__logo .logo-white {
		display: block;
	}

	.bold-header.is-open .bold-header__logo .logo-dark {
		display: none;
	}

	/* The overlay is always dark, so the nav links + login must read light even when the
	   header was inverted (.is-light) over a dark band, or they grey out into the overlay. */
	.bold-header.is-open .bold-nav__link {
		color: #fff;
	}

	.bold-header.is-open .bold-login {
		color: var(--wp--preset--color--on-dark);
	}

	.bold-nav {
		position: fixed;
		inset: 0;
		z-index: 1200;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		padding: calc(env(safe-area-inset-top) + 5.5rem) clamp(1.1rem, 6vw, 2rem)
			2.5rem;
		background: var(--bold-dark);
		overflow-y: auto;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity 240ms var(--bold-ease),
			visibility 0s linear 240ms;
	}

	.bold-header.is-open .bold-nav {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition:
			opacity 240ms var(--bold-ease),
			visibility 0s;
	}

	.bold-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.bold-nav__item {
		border-bottom: 1px solid rgb(255 255 255 / 10%);
	}

	.bold-nav__link {
		width: 100%;
		justify-content: space-between;
		font-family: var(--bold-display);
		font-weight: 800;
		text-transform: uppercase;
		font-size: 1.4rem;
		padding: 1rem 0;
	}

	.bold-nav__link::after {
		display: none;
	}

	/* Mega becomes an inline accordion under Equipment */
	.bold-mega {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: 0;
		background: transparent;
		display: grid;
		grid-template-rows: 0fr;
		overflow: hidden;
		transition: grid-template-rows 280ms var(--bold-ease);
	}

	.bold-nav__item.is-open .bold-mega {
		grid-template-rows: 1fr;
	}

	.bold-nav__item.is-open .bold-mega__inner {
		padding-bottom: 1rem;
	}

	.bold-mega__inner {
		min-height: 0;
		overflow: hidden;
		grid-template-columns: 1fr;
		padding: 0;
		gap: 0.75rem;
	}

	.bold-mega__cats {
		grid-template-columns: 1fr 1fr;
	}

	.bold-mega__promo {
		grid-column: 1 / -1;
	}

	.bold-header__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 0.75rem;
		margin-top: 1.5rem;
		width: 100%;
	}

	.bold-header .bold-btn {
		display: block;
		text-align: center;
		padding: 14px 20px;
		font-size: 1rem;
	}

	.bold-login {
		justify-content: center;
		font-size: 1rem;
		padding: 0.5rem;
	}

	/* Staggered entrance */
	.bold-header.is-open .bold-nav > * {
		animation: bold-navin 360ms var(--bold-ease) both;
	}

	.bold-header.is-open .bold-nav > *:nth-child(2) {
		animation-delay: 60ms;
	}

	.bold-header.is-open .bold-nav > *:nth-child(3) {
		animation-delay: 110ms;
	}
}

@keyframes bold-navin {
	from {
		opacity: 0;
		transform: translateY(14px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* ==========================================================================
   FOOTER (Bold treaded) - apply display face to wordmark
   ========================================================================== */
.alloway-footer-bold .alloway-wordmark {
	font-family: var(--bold-display);
	font-weight: 900;
	letter-spacing: 0.02em;
}

/* Social widgets */
.bold-social {
	display: flex;
	gap: 0.6rem;
	margin-top: var(--wp--preset--spacing--30);
}

.bold-social a {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgb(255 255 255 / 8%);
	color: #fff;
	transition:
		background var(--alloway-transition),
		color var(--alloway-transition),
		transform var(--alloway-transition);
}

.bold-social a:hover,
.bold-social a:focus-visible {
	background: var(--bold-gold);
	color: var(--bold-ink);
	transform: translateY(-2px);
}

.bold-social svg {
	width: 20px;
	height: 20px;
}

/* ---------- Full footer: dark brand + big slanted gold panel that houses the nav ---------- */
.bold-foot__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 2.4fr);
	gap: clamp(1.5rem, 2.5vw, 2.5rem);
	align-items: stretch;
}

.bold-foot__brand {
	align-self: center;
}

.bold-foot__logo {
	display: block;
	height: 46px;
	width: auto;
	margin: 0 0 1.1rem;
}

.bold-foot__tagline {
	color: #c9c6bf;
	margin: 0 0 1.25rem;
	max-width: 32ch;
	font-size: 0.95rem;
	line-height: 1.5;
}

/* Big slanted gold panel (retains the Bold angled signature; now holds the navigation). */
.bold-foot__panel {
	background: var(--bold-gold);
	color: var(--bold-ink);
	border-radius: var(--bold-radius);
	clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
	padding: clamp(1.75rem, 3vw, 2.75rem);
	padding-left: clamp(3rem, 11%, 6.5rem);
}

.bold-foot__panel-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
}

.bold-foot__h {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--bold-dark);
	margin: 0 0 0.9rem;
}

.bold-foot__col {
	display: flex;
	flex-direction: column;
}

.bold-foot__col a:not(.bold-btn) {
	color: #2f2906;
	text-decoration: none;
	font-size: 0.95rem;
	padding: 0.28rem 0;
	transition: color var(--alloway-transition);
}

.bold-foot__col a:not(.bold-btn):hover,
.bold-foot__col a:not(.bold-btn):focus-visible {
	color: var(--bold-ink);
	text-decoration: underline;
}

/* Contact column inside the gold panel */
.bold-foot__cphone {
	margin: 0 0 0.55rem;
}

.bold-foot__cphone a {
	font-family: var(--bold-display);
	font-weight: 900;
	font-size: clamp(1.2rem, 1.7vw, 1.5rem);
	color: var(--bold-ink);
	text-decoration: none;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

.bold-foot__cloc {
	margin: 0 0 0.55rem;
	color: var(--bold-ink);
	line-height: 1.5;
	font-size: 0.95rem;
}

.bold-foot__directions {
	color: var(--bold-ink);
	font-weight: 700;
}

.bold-foot__login {
	align-self: flex-start;
	margin-top: auto;
	font-size: 0.9rem;
	white-space: nowrap;
}

/* Legal sub-footer bar */
.bold-foot__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
	border-top: 1px solid rgb(255 255 255 / 12%);
}

.bold-foot__legal > p {
	margin: 0;
	color: #9d9a93;
	font-size: 0.82rem;
}

.bold-foot__legal-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1.35rem;
}

.bold-foot__legal-nav a {
	color: #c9c6bf;
	text-decoration: none;
	font-size: 0.82rem;
	transition: color var(--alloway-transition);
}

.bold-foot__legal-nav a:hover,
.bold-foot__legal-nav a:focus-visible {
	color: #fff;
}

.bold-foot__top {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--wp--preset--color--on-dark) !important;
	text-decoration: none;
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.78rem;
}

.bold-foot__top svg {
	width: 15px;
	height: 15px;
}

.bold-foot__top:hover {
	text-decoration: underline;
}

@media (max-width: 905px) {
	.bold-foot__grid {
		grid-template-columns: 1fr;
	}

	.bold-foot__brand {
		align-self: stretch;
	}

	.bold-foot__panel {
		clip-path: none;
		padding-left: clamp(1.5rem, 5vw, 2.75rem);
	}

	.bold-foot__panel-grid {
		grid-template-columns: 1fr 1fr;
	}

	.bold-foot__legal {
		justify-content: flex-start;
	}
}

/* The footer nav stays a 2x2 grid on phones (Jack 2026-09-04: the
   single-column stack read as a mile of links). The labels are short
   enough for two columns at 360px. */

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.bold-cat__img img,
	.bold-video__play,
	.bold-mega,
	.bold-nav,
	.bold-tl__year,
	.bold-tl__dot,
	.bold-timeline--native .bold-tl::before {
		transition: none !important;
		animation: none !important;
	}

	.bold-header.is-open .bold-nav > * {
		animation: none !important;
	}
}

/* ==========================================================================
   ABOUT PAGE (Epic 5 — Assembly Line X)
   Rails, badges, FAQ accordion, parallax hero. Content is native and
   locked contentOnly; everything here is the unbreakable chrome around it.
   ========================================================================== */

/* ---- Hero ---- */
.bold-abhero {
	padding-bottom: 0;
}

.bold-abhero__inner {
	max-width: 940px;
	margin-inline: auto;
}

:is(.variant-bold, .wp-block-post-content) .bold-abhero__h {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(3.2rem, 8vw, 6.5rem) !important;
	line-height: 0.98;
	color: #fff;
	max-width: 12ch;
	margin: 0.7rem 0 1.6rem;
}

.bold-ironword {
	font-style: normal;
	color: var(--bold-gold);
	position: relative;
	white-space: nowrap;
}

/* Underline draws in once the reveal system marks the hero visible. */
.bold-ironword::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0.02em;
	height: 0.08em;
	width: 100%;
	background: var(--bold-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 700ms var(--bold-ease) 350ms;
}

.alloway-reveal.is-visible .bold-ironword::after {
	transform: scaleX(1);
}

.bold-abhero__lead {
	font-size: 1.25rem;
	max-width: 62ch;
	color: #c9c6bf;
}

.bold-abhero__prod {
	max-width: 62ch;
	color: #9d9a93;
	margin-top: 1rem;
}

/* Parallax frame: the image is taller than the box; rails.js slides it
   slower than the page (transform-only). */
.bold-abhero__photo {
	margin: clamp(2.5rem, 6vw, 4rem) 0 0 !important;
	height: 60vh;
	min-height: 340px;
	overflow: hidden;
	position: relative;
}

.bold-abhero__photo img {
	width: 100%;
	height: 135% !important;
	object-fit: cover;
	will-change: transform;
}

.bold-abhero__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(19 17 17 / 55%), transparent 40%);
	pointer-events: none;
}

.bold-abhero__photo .wp-element-caption {
	position: absolute;
	bottom: 1rem;
	left: 50%;
	transform: translateX(-50%);
	width: min(1200px, 100%);
	padding-inline: clamp(1.1rem, 4vw, 2rem);
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.72rem;
	color: #c9c6bf;
	text-align: left;
	z-index: 1;
	margin: 0;
}

/* ---- Rail system (story chapters + leadership badges) ---- */
.bold-railhead {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1rem;
	flex-wrap: wrap;
	padding-bottom: 1.2rem;
}

:is(.variant-bold, .wp-block-post-content) .bold-railhead__h {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(1.9rem, 4vw, 2.8rem) !important;
	color: #fff;
	margin: 0;
}

/* An eyebrow above a railhead heading takes its own line, so the heading
   stays left beside the JS-injected tools. */
.bold-railhead .alloway-eyebrow {
	flex-basis: 100%;
	margin: 0 0 0.3rem;
}

.bold-rail-tools {
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.bold-rail-hint {
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.78rem;
	color: var(--bold-gold);
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

.bold-rail-hint__arr {
	display: inline-block;
	animation: bold-nudge 1.6s ease-in-out infinite;
}

@keyframes bold-nudge {
	0%,
	100% {
		transform: translateX(0);
	}

	50% {
		transform: translateX(7px);
	}
}

.bold-rail-btn {
	width: 44px;
	height: 44px;
	border: 2px solid var(--bold-gold);
	background: transparent;
	color: var(--bold-gold);
	cursor: pointer;
	font-family: var(--bold-display);
	font-size: 1.3rem;
	font-weight: 800;
	border-radius: var(--bold-radius-sm);
	transition:
		background 200ms var(--bold-ease),
		color 200ms var(--bold-ease),
		transform 150ms var(--bold-ease);
}

.bold-rail-btn:hover,
.bold-rail-btn:focus-visible {
	background: var(--bold-gold);
	color: var(--bold-ink);
}

.bold-rail-btn:active {
	transform: scale(0.92);
}

.bold-rail {
	display: flex;
	gap: 1.4rem;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	padding: 6px max(calc((100vw - 1200px) / 2 + 2rem), 1.1rem) 1.4rem;
	scroll-padding-inline: max(calc((100vw - 1200px) / 2 + 2rem), 1.1rem);
	cursor: grab;
	scrollbar-width: none;
	touch-action: pan-x pan-y;
}

.bold-rail::-webkit-scrollbar {
	display: none;
}

.bold-rail img {
	-webkit-user-drag: none;
	user-select: none;
}

.bold-rail.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	user-select: none;
}

/* Snap stays off while inertia runs, or it pins the glide to the nearest
   snap stop; it re-engages when the glide ends. */
.bold-rail.is-gliding {
	scroll-snap-type: none;
}

.bold-rail.is-dragging * {
	pointer-events: none;
}

/* Stagger the reveal of cars already in view. */
.bold-rail > .alloway-reveal:nth-child(2) {
	transition-delay: 60ms;
}

.bold-rail > .alloway-reveal:nth-child(3) {
	transition-delay: 120ms;
}

.bold-rail > .alloway-reveal:nth-child(4) {
	transition-delay: 180ms;
}

.bold-rail-track {
	height: 3px;
	background: #2a2624;
	margin: 0 max(calc((100vw - 1200px) / 2 + 2rem), 1.1rem);
}

.bold-rail-track i {
	display: block;
	height: 100%;
	width: 0;
	background: var(--bold-gold);
	transition: width 150ms linear;
}

.bold-railcar {
	scroll-snap-align: start;
	flex: 0 0 min(480px, 86vw);
	background: #1a1817;
	border-top: 4px solid var(--bold-gold);
	padding: 1.8rem;
	transition:
		transform 300ms var(--bold-ease),
		box-shadow 300ms var(--bold-ease),
		opacity 550ms var(--bold-ease);
}

.bold-railcar:hover {
	transform: translateY(-6px);
	box-shadow:
		0 18px 40px rgb(0 0 0 / 55%),
		0 0 0 1px rgb(251 214 74 / 35%);
}

.bold-railcar__era {
	font-family: var(--bold-cond);
	font-weight: 700;
	color: var(--bold-gold);
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 0.6rem;
}

.bold-railcar__era::before {
	content: "";
	width: 22px;
	height: 10px;
	background: var(--bold-gold);
	transition: width 300ms var(--bold-ease);
}

.bold-railcar:hover .bold-railcar__era::before {
	width: 44px;
}

:is(.variant-bold, .wp-block-post-content) .bold-railcar__h {
	font-size: clamp(1.7rem, 3vw, 2.3rem) !important;
	color: #fff;
	margin: 0 0 0.6rem;
}

.bold-railcar__body {
	color: #c9c6bf;
	font-size: 0.98rem;
	margin: 0;
}

figure.bold-railcar--img {
	padding: 0;
	border-top: 0;
	margin: 0;
	overflow: hidden;
}

figure.bold-railcar--img img {
	width: 100%;
	height: 100% !important;
	min-height: 380px;
	object-fit: cover;
	transition: transform 800ms var(--bold-ease);
}

figure.bold-railcar--img:hover img {
	transform: scale(1.05);
}

.bold-railnote {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.72rem;
	color: #8d8a83;
	margin-top: 1.2rem;
}

.bold-railnote--ink {
	color: #7a7568;
}

/* ---- Leadership badges ---- */
.bold-rail--badges .bold-badge {
	scroll-snap-align: start;
	flex: 0 0 min(750px, 88vw);
	background: var(--wp--preset--color--surface);
	color: var(--bold-ink);
	border-radius: 10px;
	position: relative;
	padding: 3.6rem 1.8rem 2.6rem;
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 0.15rem 1.8rem;
	align-items: center;
	align-content: center;
	transform: rotate(-1.1deg);
	transition:
		transform 300ms var(--bold-ease),
		box-shadow 300ms var(--bold-ease),
		opacity 550ms var(--bold-ease);
}

.bold-rail--badges .bold-badge:nth-child(even) {
	transform: rotate(1deg);
}

.bold-rail--badges .bold-badge:hover {
	transform: rotate(0deg) translateY(-8px);
	box-shadow:
		0 24px 50px rgb(0 0 0 / 45%),
		0 0 0 3px var(--bold-gold);
}

.bold-badge::before {
	content: "Alloway Standard \00b7 Fargo, ND";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: var(--bold-gold);
	color: var(--bold-ink);
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.95rem;
	letter-spacing: 0.14em;
	padding: 0.7rem 1.6rem;
	border-radius: 10px 10px 0 0;
}

.bold-badge::after {
	content: "";
	position: absolute;
	bottom: 1rem;
	left: 1.8rem;
	height: 14px;
	width: 60px;
	border-radius: 99px;
	background: var(--bold-ink);
	opacity: 0.15;
}

.bold-badge__avatar {
	grid-row: 1 / span 3;
	width: 180px;
	aspect-ratio: 1;
	background: linear-gradient(145deg, #2a2624, #4a4438);
	display: grid;
	place-items: center;
	font-family: var(--bold-display);
	font-weight: 800;
	font-size: 3.4rem;
	color: var(--bold-gold);
	border-radius: 6px;
	margin: 0;
}

/* Portrait variant of the badge chip (epic 11.5): Alloway supplied
   real photos, so the initials paragraph became a core/image figure
   carrying both classes — same 180px slot, photo clipped to the
   chip's own radius. */
.bold-badge__avatar--photo {
	background: none;
	overflow: hidden;
}

.bold-badge__avatar--photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
	display: block;
}

:is(.variant-bold, .wp-block-post-content) .bold-badge__name {
	grid-column: 2;
	font-family: var(--bold-cond);
	font-size: 1.6rem !important;
	line-height: 1.15;
	margin: 0;
	color: var(--bold-ink);
}

.bold-badge__role {
	grid-column: 2;
	font-family: var(--bold-cond);
	text-transform: uppercase;
	font-size: 1.02rem;
	color: #4a4a4a;
	margin: 0.3rem 0 0;
}

.bold-badge__mail {
	grid-column: 2;
	margin: 0.7rem 0 0;
}

.bold-badge__mail a {
	font-family: var(--bold-cond);
	font-size: 0.95rem;
	color: var(--bold-ink);
	text-decoration: none;
	border-bottom: 2px solid var(--bold-gold);
	transition:
		background 200ms var(--bold-ease),
		color 200ms var(--bold-ease);
}

.bold-badge__mail a:hover,
.bold-badge__mail a:focus-visible {
	background: var(--bold-gold);
}

/* ---- Values icons (CSS masks — same technique as the tractor eyebrow) ---- */
.bold-values__card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--bold-dark);
	transform: translateY(101%);
	transition: transform 350ms var(--bold-ease);
	z-index: -1;
}

.bold-values__card:hover::after {
	transform: translateY(0);
}

.bold-values__card:hover {
	color: var(--wp--preset--color--surface);
}

.bold-values__card:hover h3 {
	color: var(--bold-gold);
}

.bold-values__card:hover p {
	color: #c9c6bf;
}

.bold-values__card::before {
	content: "";
	display: block;
	width: 42px;
	height: 42px;
	margin-bottom: 0.9rem;
	background-color: var(--bold-ink);
	-webkit-mask: var(--bold-value-icon) center / contain no-repeat;
	mask: var(--bold-value-icon) center / contain no-repeat;
	transition:
		background-color 300ms var(--bold-ease),
		transform 350ms var(--bold-ease);
}

.bold-values__card:hover::before {
	background-color: var(--bold-gold);
	transform: rotate(-8deg) scale(1.1);
}

.bold-values__card--nut {
	--bold-value-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 20.5 7 20.5 17 12 22 3.5 17 3.5 7'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E");
}

.bold-values__card--call {
	--bold-value-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.bold-values__card--award {
	--bold-value-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpolyline points='8.21 13.89 7 23 12 20 17 23 15.79 13.88'/%3E%3C/svg%3E");
}

/* ---- FAQ (progressive accordion: without JS everything shows open) ---- */
.bold-faq {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 3rem;
	align-items: start;
	margin-top: 1.4rem;
}

.bold-faq__item {
	border-bottom: 1px solid #d8d6d0;
	padding: 1.05rem 0 1.05rem 0.9rem;
	position: relative;
}

.bold-faq__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.15rem;
	bottom: 1.15rem;
	width: 3px;
	background: var(--bold-gold);
	transform: scaleY(0);
	transition: transform 250ms var(--bold-ease);
}

.bold-faq__item:hover::before,
.bold-faq__item.is-open::before {
	transform: scaleY(1);
}

:is(.variant-bold, .wp-block-post-content) .bold-faq__q {
	font-family: var(--bold-cond);
	font-weight: 700;
	font-size: 1.12rem !important;
	margin: 0;
	color: var(--bold-ink);
}

.bold-faq__q button {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	width: 100%;
	text-align: left;
}

.bold-faq__q button::after {
	content: "+";
	font-family: var(--bold-display);
	font-weight: 800;
	color: var(--bold-gold2, #e4c806);
	transition: transform 250ms var(--bold-ease);
	transform-origin: center;
}

.bold-faq__item.is-open .bold-faq__q button::after {
	transform: rotate(45deg);
}

.bold-faq__a {
	margin: 0.7rem 0 0;
	color: #4a4a4a;
	max-width: 60ch;
}

.bold-faq--js .bold-faq__a {
	display: none;
}

.bold-faq--js .bold-faq__item.is-open .bold-faq__a {
	display: block;
	animation: bold-faq-in 350ms var(--bold-ease);
}

@keyframes bold-faq-in {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* ---- CTA wipe (Epic 5 port: consistent button hover site-wide) ---- */
.bold-btn::before,
.is-style-bold .wp-block-button__link::before,
.is-style-bold-ghost .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--bold-btn-wipe);
	transform: translateX(-101%);
	transition: transform 300ms var(--bold-ease);
	z-index: -1;
}

.bold-btn:hover::before,
.bold-btn:focus-visible::before,
.is-style-bold .wp-block-button__link:hover::before,
.is-style-bold .wp-block-button__link:focus-visible::before,
.is-style-bold-ghost .wp-block-button__link:hover::before,
.is-style-bold-ghost .wp-block-button__link:focus-visible::before {
	transform: translateX(0);
}

.bold-btn--ghost:hover,
.bold-btn--ghost:focus-visible,
.is-style-bold-ghost .wp-block-button__link:hover,
.is-style-bold-ghost .wp-block-button__link:focus-visible {
	color: var(--bold-ink) !important;
	border-color: var(--bold-gold);
}

/* The light-header mega promo runs a dark button; wipe matches its intent. */
.bold-header.is-light .bold-mega__promo .bold-btn {
	--bold-btn-wipe: #2a2624;
}

/* ---- Per-context wipe map (Jack, 2026-08-20) ---- */

/* Hazard divider pinned to a slab's top edge (values band). */
.bold-slab--hazard-top {
	position: relative;
}

.bold-slab--hazard-top::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 14px;
	background: repeating-linear-gradient(
		135deg,
		var(--bold-dark) 0 14px,
		var(--bold-gold) 14px 28px
	);
}

/* Hero buttons are a plain core button + is-style-outline, so they need
   their own wipe wiring: primary wipes white, outline wipes dark with the
   text flipping white. */
.vhero .wp-block-button__link {
	--bold-btn-wipe: #fff;

	position: relative;

	/* clip-path, not overflow: an inline-block with overflow!=visible moves
	   its baseline to the bottom margin edge and grows the wrapper (review
	   finding 2026-08-20). 12px matches the button's computed radius. */
	clip-path: inset(0 round 12px);
	isolation: isolate;
}

.vhero .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--bold-btn-wipe);
	transform: translateX(-101%);
	transition: transform 300ms var(--bold-ease);
	z-index: -1;
}

.vhero .wp-block-button__link:hover::before,
.vhero .wp-block-button__link:focus-visible::before {
	transform: translateX(0);
}

.vhero .is-style-outline .wp-block-button__link {
	--bold-btn-wipe: var(--bold-dark);
}

.vhero .is-style-outline .wp-block-button__link:hover,
.vhero .is-style-outline .wp-block-button__link:focus-visible {
	color: #fff !important;
	background: transparent;
}

/* Spec tabs: the ghost Brochure button on the light band wipes dark. */
.bold-feature__actions .is-style-bold-ghost .wp-block-button__link {
	--bold-btn-wipe: var(--bold-dark);
}

.bold-feature__actions .is-style-bold-ghost .wp-block-button__link:hover,
.bold-feature__actions
	.is-style-bold-ghost
	.wp-block-button__link:focus-visible {
	color: #fff !important;
	border-color: var(--bold-dark);
}

/* Closing CTA on dark (About): the ghost wipes white, text flips to ink. */
.bold-slab--dark .bold-cta .is-style-bold-ghost .wp-block-button__link {
	--bold-btn-wipe: #fff;
}

.bold-slab--dark .bold-cta .is-style-bold-ghost .wp-block-button__link:hover,
.bold-slab--dark
	.bold-cta
	.is-style-bold-ghost
	.wp-block-button__link:focus-visible {
	color: var(--bold-ink) !important;
	border-color: #fff;
}

/* Closing CTA on gold: the ghost wipes white, text stays ink. */
.bold-slab--gold .bold-cta .is-style-bold-ghost .wp-block-button__link {
	--bold-btn-wipe: #fff;
}

.bold-slab--gold .bold-cta .is-style-bold-ghost .wp-block-button__link:hover,
.bold-slab--gold
	.bold-cta
	.is-style-bold-ghost
	.wp-block-button__link:focus-visible {
	color: var(--bold-ink) !important;
	border-color: var(--bold-ink);
}

/* Footer Dealer login text-flip lives with the .bold-btn--dark hover rule. */

/* ---- About reduced-motion ---- */
@media (prefers-reduced-motion: reduce) {
	.bold-ironword::after {
		transition: none !important;
		transform: scaleX(1);
	}

	.bold-abhero__photo img {
		transform: none !important;
		height: 100% !important;
	}

	.bold-rail-hint__arr {
		animation: none !important;
	}

	.bold-railcar,
	.bold-rail--badges .bold-badge,
	figure.bold-railcar--img img,
	.bold-values__card::before,
	.bold-values__card::after,
	.bold-faq__item::before,
	.bold-faq__q button::after,
	.bold-btn::before,
	.is-style-bold .wp-block-button__link::before,
	.is-style-bold-ghost .wp-block-button__link::before,
	.vhero .wp-block-button__link::before {
		transition: none !important;
	}

	.bold-faq--js .bold-faq__item.is-open .bold-faq__a {
		animation: none !important;
	}
}

/* ---- About mobile ---- */
@media (max-width: 905px) {
	.bold-rail--badges .bold-badge {
		grid-template-columns: 1fr;
		padding: 3.6rem 1.4rem 2.6rem;
	}

	.bold-badge__avatar {
		grid-row: auto;
		width: 120px;
		font-size: 2.4rem;
		margin-bottom: 0.6rem;
	}

	:is(.variant-bold, .wp-block-post-content) .bold-badge__name,
	.bold-badge__role,
	.bold-badge__mail {
		grid-column: 1;
	}

	.bold-faq {
		grid-template-columns: 1fr;
	}
}

/* ---------- Gold scrollbars, sitewide (Epic 3 template 06, Jack-approved):
   the page and every scroller wear the system palette at all viewports.
   scrollbar-color is FIREFOX-ONLY: Chrome 121+ would otherwise honor it
   and silently DISABLE the ::-webkit-scrollbar styling below, arrows
   included (worklog 2026-08-28). ---------- */

@supports not selector(::-webkit-scrollbar) {
	html {
		scrollbar-color: var(--bold-gold-deep, #e4c806) var(--bold-dark, #131111);
	}

	body * {
		scrollbar-color: var(--bold-gold-deep, #e4c806)
			var(--wp--preset--color--surface, #f5f4f1);
	}
}

::-webkit-scrollbar {
	width: 15px;
	height: 15px;
}

::-webkit-scrollbar-track {
	background: var(--wp--preset--color--surface, #f5f4f1);
}

html::-webkit-scrollbar-track {
	background: var(--bold-dark, #131111);
}

::-webkit-scrollbar-thumb {
	background: var(--bold-gold, #fbd64a);
	border: 2px solid var(--bold-dark, #131111);
	border-radius: 99px;
}

::-webkit-scrollbar-thumb:hover {
	background: var(--bold-gold-deep, #e4c806);
}

::-webkit-scrollbar-corner {
	background: var(--wp--preset--color--surface, #f5f4f1);
}

::-webkit-scrollbar-button:single-button {
	display: block;
	background-color: var(--bold-gold, #fbd64a);
	border: 2px solid var(--bold-dark, #131111);
	width: 15px;
	height: 15px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 7px 7px;
}

::-webkit-scrollbar-button:single-button:hover {
	background-color: var(--bold-gold-deep, #e4c806);
}

::-webkit-scrollbar-button:single-button:vertical:decrement {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 2 9 8H1z' fill='%23131111'/%3E%3C/svg%3E");
}

::-webkit-scrollbar-button:single-button:vertical:increment {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 8 1 2h8z' fill='%23131111'/%3E%3C/svg%3E");
}

::-webkit-scrollbar-button:single-button:horizontal:decrement {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5 8 1v8z' fill='%23131111'/%3E%3C/svg%3E");
}

::-webkit-scrollbar-button:single-button:horizontal:increment {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M8 5 2 9V1z' fill='%23131111'/%3E%3C/svg%3E");
}

/* ---------- Insights single post (Epic 6, the Jack-approved 06 post
   crossbreed 2026-08-29: 04's hero + 05's prose + 01's rail + 04's
   pathway look). The author touches none of this; the plain editor is
   the deliverable. ---------- */
.bold-post__head {
	padding-top: clamp(7rem, 11vw, 9rem);

	/* The dark section must END at the straddling image (the mockup's
	   .pmeta has no bottom padding); the slab default would paint a
	   dark band under the seam. */
	padding-bottom: 0;
	text-align: center;
}

.bold-post__chipline {
	gap: 0.7rem;
}

.bold-post__crumb,
.bold-post__crumb a {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
	color: #9d9a93;
	text-decoration: none;
}

.bold-post__crumb a:hover,
.bold-post__crumb a:focus-visible {
	color: #fff;
}

.bold-post__chip a {
	display: inline-block;
	background: var(--bold-gold);
	color: var(--bold-dark);
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.72rem;
	padding: 0.3rem 0.8rem;
	border-radius: 3px;
	text-decoration: none;
}

.bold-post__date {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
	color: #9d9a93;
}

.bold-post__title {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: clamp(2.4rem, 6vw, 4.4rem);
	color: #fff;
	max-width: 20ch;
	margin: 1rem auto 0;
	line-height: 0.98;
}

.bold-post__lead p {
	color: #9d9a93;
	max-width: 52ch;
	margin: 0.9rem auto 0;
}

/* The featured image straddles the dark/white seam (04's hero). */
.bold-post__imgwrap {
	margin-top: clamp(2rem, 4vw, 3rem);
	position: relative;
}

.bold-post__imgwrap::before {
	content: "";
	position: absolute;
	inset: 50% 0 0;
	background: #fff;
}

.bold-post__imgwrap img {
	position: relative;
	width: min(920px, 92%);
	margin-inline: auto;
	aspect-ratio: 21 / 10;
	height: auto;
	object-fit: cover;
	border: 2px solid var(--bold-dark);
	border-radius: 3px;
	box-shadow: 8px 8px 0 rgb(19 17 17 / 12%);
}

.bold-post__imgwrap figure {
	position: relative;
	margin: 0;
}

/* Blur-fill hero (Jack 2026-09-03): insights.js applies this when the
   photo's shape deviates from the 21:10 frame. The frame keeps its
   card chrome (moved from the img to the figure), the WHOLE photo
   renders contained, and a blurred copy of itself fills the bands.
   Ratio-matched art never gets the class and renders as before. */
.bold-post__imgwrap--fill figure {
	width: min(920px, 92%);
	margin-inline: auto;
	border: 2px solid var(--bold-dark);
	border-radius: 3px;
	box-shadow: 8px 8px 0 rgb(19 17 17 / 12%);
	overflow: hidden;
}

.bold-post__imgwrap--fill figure::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--bold-hero-fill) center / cover no-repeat;
	filter: blur(26px) saturate(0.9);
	transform: scale(1.15);
}

/* object-fit is NOT set here: the block prints an inline
   object-fit:cover on the img, so insights.js writes the contain inline
   where it applies the class. */
.bold-post__imgwrap--fill img {
	width: 100%;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.bold-post__bodywrap {
	background: #fff;
	padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(3.5rem, 7vw, 6rem);
}

/* 01's two-column body: prose + the sticky rail. */
.bold-post__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: clamp(2rem, 5vw, 3.5rem);
	align-items: start;
}

.bold-post__rail {
	position: sticky;
	top: 160px; /* clears the sticky Bold header (the binder-rail value) */
	display: grid;
	gap: 1.4rem;
}

/* 05's prose treatment. */
.bold-post__prose {
	font-size: 1.06rem;
	line-height: 1.8;
	max-width: 720px;
}

.bold-post__prose > * + * {
	margin-top: 1.15rem;
}

.bold-post__prose h2 {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: 1.65rem;
	margin-top: 2.2rem;
	width: fit-content;
	background: linear-gradient(transparent 65%, var(--bold-gold) 65%);
}

.bold-post__prose h3 {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: 1.2rem;
	margin-top: 1.8rem;
}

.bold-post__prose ul,
.bold-post__prose ol {
	padding-left: 1.3rem;
}

.bold-post__prose li {
	margin-top: 0.4rem;
}

/* A plain Quote block becomes 05's ink pull with the hazard edge —
   the author just uses the standard editor Quote. */
.bold-post__prose blockquote {
	background: var(--bold-dark);
	color: #e9e7e2;
	border-radius: 3px;
	padding: 1.8rem 2rem 1.8rem 2.6rem;
	position: relative;
	font-family: var(--bold-cond);
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.55;
	margin-block: 2.2rem;
	border: 0;
}

.bold-post__prose blockquote::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 14px;
	background: repeating-linear-gradient(
		135deg,
		var(--bold-dark) 0 14px,
		var(--bold-gold) 14px 28px
	);
	border-radius: 3px 0 0 3px;
}

/* The related-articles box (01's rail component). */
.bold-post__related {
	border: 2px solid var(--bold-dark);
	border-radius: 3px;
	padding: 1.2rem;
	background: #fff;
}

.bold-post__related h3 {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: 1.05rem;
	border-bottom: 2px solid var(--bold-dark);
	padding-bottom: 0.6rem;
	margin-bottom: 0.4rem;
}

.bold-post__related a {
	display: block;
	text-decoration: none;
	color: var(--bold-ink);
	font-size: 0.92rem;
	font-weight: 700;
	padding: 0.55rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border, #e5e5e5);
	transition: color 0.18s var(--bold-ease);
}

.bold-post__related a:last-child {
	border-bottom: 0;
}

.bold-post__related a:hover,
.bold-post__related a:focus-visible {
	color: var(--bold-gold-deep);
}

/* ---- Share row (Jack 2026-09-05): kin of the related box. ---- */
.bold-post__share {
	border: 2px solid var(--bold-dark);
	border-radius: 3px;
	padding: 1.2rem;
	background: #fff;
}

.bold-post__share h3 {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: 1.05rem;
	border-bottom: 2px solid var(--bold-dark);
	padding-bottom: 0.6rem;
	margin-bottom: 0.9rem;
}

.bold-share__row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.bold-share__row a,
.bold-share__copy {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	background: var(--bold-dark);
	color: #fff;
	border: 0;
	border-radius: 3px;
	cursor: pointer;
	transition:
		background 0.18s var(--bold-ease),
		color 0.18s var(--bold-ease);
}

.bold-share__row svg {
	width: 20px;
	height: 20px;
}

.bold-share__row a:hover,
.bold-share__row a:focus-visible,
.bold-share__copy:hover,
.bold-share__copy:focus-visible,
.bold-share__copy.is-copied {
	background: var(--bold-gold);
	color: var(--bold-ink);
}

/* The class display:grid outranks the UA [hidden] rule; restate it so
   progressive hiding (no clipboard API) actually hides. */
.bold-share__copy[hidden] {
	display: none;
}

.bold-share__copy.is-failed {
	background: var(--bold-dark);
	color: #fff;
	outline: 2px solid #b3462e;
	outline-offset: -2px;
}

.bold-share__live {
	align-self: center;
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.78rem;
	color: var(--bold-ink);
}

/* Text-message sharing is a phone gesture: hide the chip where a fine
   pointer says desktop (the link itself stays real everywhere). */
@media (hover: hover) and (pointer: fine) {
	.bold-share__sms {
		display: none;
	}
}

/* Blog-exclusive load-in stagger (the approved mockup motion). The
   transition rides is-in ONLY: with it on the base class, adding
   bold-postfx to a painted element starts a fade-OUT from 1, and
   is-in a frame later merely retargets it back — no visible stagger
   (caught by the rendered-stagger pin, 2026-08-31). */
.bold-postfx {
	opacity: 0;
	transform: translateY(26px);
}

.bold-postfx.is-in {
	opacity: 1;
	transform: none;
	transition:
		opacity 0.6s var(--bold-ease),
		transform 0.6s var(--bold-ease);
}

@media (prefers-reduced-motion: reduce) {
	.bold-postfx {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

@media (max-width: 905px) {
	.bold-post__grid {
		grid-template-columns: 1fr;
	}

	.bold-post__rail {
		position: static;
	}

	/* Mobile order (Jack 2026-09-05): share ABOVE the related box —
	   the rail is a grid, so order does it without touching markup. */
	.bold-post__rail .bold-post__share {
		order: 2;
	}

	.bold-post__rail .bold-post__related {
		order: 3;
	}
}

/* ---------- Insights listing + category archive (Epic 6, the
   Jack-approved picks 2026-08-30: listing = 01 Ledger verbatim,
   category = 02's ghost-type hero over 01's card grid). Everything
   renders from core/query — the cards ARE the posts. ---------- */

/* The shared meta row: CATEGORY — DATE (the Construcfy signature). */
.bold-card__meta {
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.74rem;
}

.bold-card__meta .wp-block-post-terms {
	display: flex;
	align-items: center;
	gap: 0.7rem;
}

.bold-card__meta .wp-block-post-terms a {
	color: var(--bold-gold-deep);
	text-decoration: none;
}

/* The dash between category and date (mockup .dash). */
.bold-card__meta .wp-block-post-terms::after {
	content: "";
	width: 26px;
	height: 1px;
	background: currentcolor;
	opacity: 0.4;
}

.bold-card__meta .wp-block-post-date {
	opacity: 0.75;
}

/* The whole card clicks like the mockup's single anchor: the title
   link stretches over the list item. */
.bold-feat li,
.bold-poprows li,
.bold-cards li {
	position: relative;

	/* WP's flow layout injects margin-block-start on li + li, which
	   staggers grid rows and pads flex lists; the mockup has none. */
	margin: 0;
}

.bold-feat .wp-block-post-title a::after,
.bold-poprows .wp-block-post-title a::after,
.bold-cards .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* The arrow chip (mockup .arr), painted per surface below. */
.bold-feat li::after,
.bold-poprows li::after,
.bold-cards .bold-card__meta::after {
	content: "\2197";
	width: 34px;
	height: 34px;
	border: 2px solid currentcolor;
	border-radius: 3px;
	display: grid;
	place-items: center;
	font-family: var(--bold-display);
	font-weight: 800;
	font-size: 1.05rem;
	transition:
		transform 0.18s var(--bold-ease),
		background 0.18s var(--bold-ease),
		color 0.18s var(--bold-ease);
}

.bold-feat li:hover::after,
.bold-poprows li:hover::after,
.bold-cards li:hover .bold-card__meta::after {
	transform: translate(3px, -3px);
	background: var(--bold-gold);
	color: var(--bold-ink);
	border-color: var(--bold-dark);
}

/* ---- Listing hero (dark, centered, featured overlay card). ---- */
.bold-ins__hero {
	/* The mockup's hero paddings (01's .hero + its spacer), minus the
	   theme's fixed 16px header-to-main gap so the visible headroom
	   matches the mockup exactly. */
	padding-top: clamp(3rem, 6.5vw, 4.8rem);
	padding-bottom: clamp(2rem, 5vw, 3.5rem);
	text-align: center;
}

.bold-ins__hero .alloway-eyebrow {
	display: inline-flex;
	justify-content: center;
}

.bold-ins__hero .alloway-eyebrow::after {
	content: "";
	width: 22px;
	height: 10px;
	background: var(--bold-gold);
}

.bold-ins__title {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: clamp(3rem, 8vw, 6rem);
	color: #fff;
	line-height: 0.98;
	margin-top: 0.6rem;
}

.bold-ins__lead {
	color: #9d9a93;
	max-width: 52ch;
	margin: 0.8rem auto 2.5rem;
}

.bold-feat ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bold-feat li {
	display: block;
	border: 2px solid var(--bold-dark);
	overflow: hidden;
	text-align: left;
	color: #fff;
}

.bold-feat .wp-block-post-featured-image {
	margin: 0;
}

.bold-feat .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 21 / 9;
	min-height: 480px;
	height: auto;
	object-fit: cover;
	filter: brightness(0.55);
	transition:
		filter 0.3s var(--bold-ease),
		transform 0.5s var(--bold-ease);
}

.bold-feat li:hover .wp-block-post-featured-image img {
	filter: brightness(0.7);
}

.bold-feat__in {
	position: absolute;
	inset: auto 0 0;
	padding: clamp(1.4rem, 3vw, 2.4rem);
	margin: 0;
}

:is(.variant-bold, .wp-block-post-content) .bold-feat h2.wp-block-post-title {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: clamp(1.9rem, 4.5vw, 3.4rem);
	line-height: 0.98;
	max-width: 18ch;
	margin: 0.6rem 0 0;
	color: #fff;
}

.bold-feat .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.bold-feat li::after {
	position: absolute;
	right: clamp(1.4rem, 3vw, 2.4rem);
	bottom: clamp(1.4rem, 3vw, 2.4rem);
}

/* ---- Popular rows + the gold newsletter box (white band). ---- */
.bold-ins__popgrid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

:is(.variant-bold, .wp-block-post-content) h2.bold-ins__pophead {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: clamp(1.7rem, 3.5vw, 2.4rem);
	border-bottom: 2px solid var(--bold-dark);
	padding-bottom: 0.8rem;
	margin: 0;
}

.bold-poprows ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bold-poprows li {
	display: flex;
	gap: 1rem;
	align-items: center;
	padding: 1rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border, #e5e5e5);
	color: var(--bold-ink);
}

.bold-poprows .wp-block-post-featured-image {
	flex: 0 0 96px;
	margin: 0;
}

.bold-poprows .wp-block-post-featured-image img {
	width: 96px;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	border: 2px solid var(--bold-dark);
	border-radius: 3px;
}

.bold-poprows .wp-block-post-title {
	font-family: var(--wp--preset--font-family--body);
	text-transform: none;
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.35;
	margin: 0;
}

.bold-poprows .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.bold-poprows .bold-card__meta {
	margin-top: 0.45rem;
}

.bold-poprows li::after {
	margin-left: auto;
	flex: 0 0 34px;
}

.bold-ins__newsbox {
	background: var(--bold-gold);
	border: 2px solid var(--bold-dark);
	border-radius: 3px;
	box-shadow: 8px 8px 0 var(--bold-dark);
	padding: 1.8rem;
	color: var(--bold-ink);
}

.bold-ins__newsbox .alloway-eyebrow::before {
	background: var(--bold-dark);
}

.bold-ins__newsbox h3 {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: 1.7rem;
	margin: 0.6rem 0 0.5rem;
	color: var(--bold-ink);
}

.bold-ins__newsbox p {
	font-size: 0.92rem;
	margin: 0;
}

.bold-ins__newsbox .bold-ins__newsnote {
	margin-top: 1rem;
	font-family: var(--bold-cond);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	color: rgb(19 17 17 / 60%);
}

/* ---- Latest posts: sticky category rail + the card grid. ---- */
.bold-ins__latest {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

.bold-ins__rail {
	position: sticky;
	top: 160px; /* clears the sticky Bold header (the binder-rail value) */
}

/* The loud slab-h2 rule (0-2-1) outranks a lone class: match its
   shape so the mockup's sizes hold (same fix on pophead + feat). */
:is(.variant-bold, .wp-block-post-content) h2.bold-ins__railhead {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: clamp(1.9rem, 4vw, 2.6rem);
	margin: 0 0 1.2rem;
}

.bold-ins__rail .bold-ins__railall,
.bold-ins__rail .wp-block-categories a {
	display: block;
	border-bottom: 1px solid var(--wp--preset--color--border, #e5e5e5);
	padding: 0.7rem 0;
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	margin: 0;
}

.bold-ins__rail .bold-ins__railall a {
	color: inherit;
	text-decoration: none;
}

/* "All" is the current view on the listing page. */
.bold-ins__rail .bold-ins__railall {
	color: var(--bold-ink);
	border-bottom: 2px solid var(--bold-gold);
}

.bold-ins__rail .wp-block-categories {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Hover highlight (Jack's dogfood ask 2026-08-31): the gold
   underline grows in from the left while the label inks up. */
.bold-ins__rail .wp-block-categories a {
	background: linear-gradient(var(--bold-gold), var(--bold-gold)) left bottom /
		0 2px no-repeat;
	transition:
		color 0.2s var(--bold-ease),
		background-size 0.25s var(--bold-ease);
}

.bold-ins__rail .wp-block-categories a:hover,
.bold-ins__rail .wp-block-categories a:focus-visible {
	color: var(--bold-ink);
	background-size: 100% 2px;
}

.bold-cards ul,
ul.bold-cards {
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.bold-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(1.5rem, 3vw, 2.4rem);
}

.bold-cards li {
	color: var(--bold-ink);
}

.bold-cards .wp-block-post-featured-image {
	margin: 0;
}

.bold-cards .wp-block-post-featured-image img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	width: 100%;
	height: auto;
	border: 2px solid var(--bold-dark);
	border-radius: 3px;
	transition: transform 0.25s var(--bold-ease);
}

.bold-cards li:hover .wp-block-post-featured-image img {
	transform: translateY(-4px);
}

.bold-cards .wp-block-post-title {
	font-family: var(--wp--preset--font-family--body);
	text-transform: none;
	font-weight: 700;
	font-size: 1.15rem;
	line-height: 1.35;
	margin: 0.9rem 0 0;
}

.bold-cards .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.bold-cards .bold-card__meta {
	margin-top: 0.6rem;
	width: 100%;
}

.bold-cards .bold-card__meta::after {
	margin-left: auto;
}

/* The category archive runs the same grid with 07's bigger
   condensed titles and wider gap. */
ul.bold-cards--big {
	gap: clamp(1.6rem, 4vw, 3rem);
}

.bold-cards--big .wp-block-post-title,
:is(.variant-bold, .wp-block-post-content)
	.bold-cards--big
	h2.wp-block-post-title {
	font-family: var(--bold-cond);
	text-transform: uppercase;
	font-weight: 700;
	font-size: clamp(1.3rem, 2.6vw, 1.8rem);
	line-height: 1.3;
	letter-spacing: normal;
	margin: 0.9rem 0 0;
}

/* The pager only paints when a second page exists. */
.bold-cards__pager {
	margin-top: clamp(2rem, 4vw, 3rem);
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.85rem;
}

.bold-cards__pager a {
	color: var(--bold-ink);
	text-decoration: none;
	border-bottom: 2px solid var(--bold-gold);
}

/* ---- Category hero (02's ghost type + gold underline tabs). ---- */
.bold-catpage__hero {
	/* The mockup's hero paddings (07's .cband + its spacer), minus the
	   theme's fixed 16px header-to-main gap (see .bold-ins__hero). */
	padding-top: clamp(2.5rem, 6vw, 4rem);
	padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.bold-catpage__ghost {
	font-family: var(--bold-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(3rem, 9vw, 6.5rem);
	line-height: 0.9;
	color: transparent;
	-webkit-text-stroke: 2px #3a3634;
	margin: 0;
}

.bold-catpage__title,
.bold-slab--dark .bold-catpage__title {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: clamp(3rem, 9vw, 6.5rem);
	line-height: 0.9;

	/* Doubled selector: outranks the slab's :is(h1..h4) white. */
	color: var(--bold-gold);
	margin: 0;
}

.bold-catpage__tabs {
	display: flex;
	gap: 1.6rem;
	margin-top: 2rem;
	border-bottom: 1px solid #2a2624;
}

.bold-catpage__tabs .wp-block-categories {
	display: flex;
	gap: 1.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bold-catpage__tabs a {
	display: block;
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.85rem;
	color: #9d9a93;
	text-decoration: none;
	padding: 0 0 0.9rem;
	border-bottom: 3px solid transparent;
	transition: color 0.18s var(--bold-ease);
}

.bold-catpage__tabs a:hover,
.bold-catpage__tabs a:focus-visible {
	color: #e9e7e2;
}

.bold-catpage__tabs .current-cat > a {
	color: var(--bold-gold);
	border-bottom-color: var(--bold-gold);
}

.bold-catpage__tabs p {
	margin: 0;
}

/* ---- The blog-to-blog page wipe (Construcfy's transition,
   Bold-ized; insights.js builds the overlay and drives it, and it
   exists on blog surfaces only). ---- */
#alloway-wipe {
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	display: none;
}

/* Arrival pre-paint: the head script stamps this class before first
   paint so the destination never flashes before insights.js builds
   the reveal overlay (the cover ends gold-side up). */
html.alloway-arriving::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 9999;

	/* Literal fallback: the --bold-* vars live on body, out of reach
	   of html::before (same constraint as the scrollbar styles). */
	background: var(--bold-gold, #fbd64a);
	pointer-events: none;
}

#alloway-wipe.is-cover,
#alloway-wipe.is-reveal {
	display: block;
}

#alloway-wipe .p {
	position: absolute;
	inset: 0;
	transform: translateX(-101%);
}

#alloway-wipe .p--gold {
	background: var(--bold-gold);
}

#alloway-wipe .p--ink {
	background: var(--bold-dark);
	border-right: 14px solid var(--bold-gold);
}

#alloway-wipe.is-cover .p {
	animation: alloway-wipe-in 0.38s var(--bold-ease) forwards;
}

#alloway-wipe.is-cover .p--ink {
	animation-delay: 0.07s;
}

#alloway-wipe.is-reveal .p {
	transform: translateX(0);
	animation: alloway-wipe-out 0.38s var(--bold-ease) forwards;
}

#alloway-wipe.is-reveal .p--ink {
	animation-delay: 0.07s;
}

@keyframes alloway-wipe-in {
	from {
		transform: translateX(-101%);
	}

	to {
		transform: translateX(0);
	}
}

@keyframes alloway-wipe-out {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(101%);
	}
}

@media (prefers-reduced-motion: reduce) {
	#alloway-wipe {
		display: none !important;
	}
}

@media (max-width: 905px) {
	.bold-ins__popgrid,
	.bold-ins__latest,
	ul.bold-cards {
		grid-template-columns: 1fr;
	}

	/* Mobile rail (Jack 2026-09-05: "All" sat on its own plane): the
	   vertical sidebar list flattens into ONE wrapping pill row —
	   display:contents on the wrappers lets All + every category share
	   the same flex line; the desktop underline dividers become chip
	   borders. */
	.bold-ins__rail {
		position: static;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
	}

	.bold-ins__rail nav,
	.bold-ins__rail .wp-block-categories,
	.bold-ins__rail .wp-block-categories li {
		display: contents;
	}

	.bold-ins__rail .bold-ins__railhead {
		flex-basis: 100%;
	}

	.bold-ins__rail .bold-ins__railall,
	.bold-ins__rail .wp-block-categories a {
		display: inline-block;
		border: 1px solid var(--wp--preset--color--border, #e5e5e5);
		border-radius: 3px;
		padding: 0.45rem 0.85rem;
	}

	.bold-ins__rail .bold-ins__railall {
		background: var(--bold-gold);
		border-color: var(--bold-gold);
		color: var(--bold-ink);
	}
}

/* ==========================================================================
   SITEWIDE SEARCH (engagement item, Jack 2026-08-31): the header
   magnifier, the full-screen overlay with live grouped results, and
   the /?s= results page. The overlay is a dark Bold surface; the
   magnifier itself is a real link so no-JS lands on the results page.
   ========================================================================== */
.bold-search-toggle {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	color: inherit;
	border-radius: 3px;
	transition: color var(--alloway-transition);
}

.bold-search-toggle svg {
	width: 22px;
	height: 22px;
}

.bold-search-toggle:hover,
.bold-search-toggle:focus-visible {
	color: var(--bold-gold);
}

/* The overlay: class + [hidden] toggled together (pattern 33). */
.bold-searchlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 12000;
}

.bold-searchlay.is-open {
	display: block;
	animation: bold-searchlay-in 0.18s var(--bold-ease);
}

@keyframes bold-searchlay-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

html.is-bold-search-open,
html.is-bold-search-open body {
	overflow: hidden;
}

.bold-searchlay__backdrop {
	position: absolute;
	inset: 0;
	background: rgb(19 17 17 / 97%);
}

.bold-searchlay__panel {
	position: relative;
	max-width: 780px;
	margin: 12vh auto 0;
	padding: 0 clamp(1.1rem, 4vw, 2rem);
	color: #e9e7e2;
	max-height: 82vh;
	overflow-y: auto;
}

.bold-searchlay__form {
	display: flex;
	gap: 0.8rem;
	align-items: center;
}

.bold-searchlay__input {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: 0;
	border-bottom: 3px solid var(--bold-gold);
	border-radius: 0;
	color: #fff;
	font-family: var(--bold-cond);
	font-weight: 700;
	font-size: clamp(1.2rem, 3vw, 1.7rem);
	padding: 0.6rem 0.2rem;
}

.bold-searchlay__input:focus {
	outline: none;
	border-bottom-color: #fff;
}

.bold-searchlay__input::-webkit-search-cancel-button {
	appearance: none;
}

.bold-searchlay__input::placeholder {
	color: #8d8a83;
	font-weight: 400;
}

.bold-searchlay__go {
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background: var(--bold-gold);
	color: var(--bold-ink);
	border: 2px solid var(--bold-dark);
	border-radius: 3px;
	padding: 0.65rem 1.3rem;
	cursor: pointer;
}

.bold-searchlay__close {
	background: transparent;
	border: 2px solid rgb(255 255 255 / 35%);
	border-radius: 3px;
	color: #fff;
	width: 44px;
	height: 44px;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color var(--alloway-transition);
}

.bold-searchlay__close:hover,
.bold-searchlay__close:focus-visible {
	border-color: var(--bold-gold);
}

.bold-searchlay__results {
	margin-top: 1.8rem;
	padding-bottom: 3rem;
}

.bold-searchlay__group h3 {
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.8rem;
	color: var(--bold-gold);
	margin: 1.4rem 0 0.3rem;
}

.bold-searchlay__group ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bold-searchlay__group a {
	display: block;
	color: #fff;
	text-decoration: none;
	padding: 0.5rem 0;
	border-bottom: 1px solid rgb(255 255 255 / 12%);
	transition: color var(--alloway-transition);
}

.bold-searchlay__group a:hover,
.bold-searchlay__group a:focus-visible {
	color: var(--bold-gold);
}

.bold-searchlay__chip,
.bold-search__chip {
	display: inline-block;
	font-family: var(--bold-cond);
	font-weight: 700;
	font-size: 0.62rem;
	letter-spacing: 0.08em;
	border: 1px solid currentcolor;
	border-radius: 3px;
	padding: 0.1rem 0.35rem;
	margin-right: 0.6rem;
	vertical-align: 2px;
}

.bold-searchlay__none {
	color: #8d8a83;
	margin-top: 1.4rem;
}

.bold-searchlay__all {
	margin-top: 1.6rem;
	background: transparent;
	border: 2px solid var(--bold-gold);
	border-radius: 3px;
	color: var(--bold-gold);
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.7rem 1.4rem;
	cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
	.bold-searchlay.is-open {
		animation: none;
	}
}

/* ---- The /?s= results page. ---- */
.bold-search__hero {
	padding-top: clamp(2.5rem, 6vw, 4rem);
	padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

/* Compound selector: as an h1 (the page's accessible heading, QA
   pass 2026-09-01) the ghost must outrank the dark slab's white
   heading rule or the outline-text effect fills solid (pattern 1's
   family: equal-ish specificity at the cascade). */
.bold-search__hero .bold-search__ghost {
	font-family: var(--bold-display);
	letter-spacing: normal; /* the p's computed value; the theme h1 rule adds .005em (pixel-neutrality, BLOCK 2026-09-01) */
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(3rem, 9vw, 6.5rem);
	line-height: 0.9;
	color: transparent;
	-webkit-text-stroke: 2px #3a3634;
	margin: 0 0 1.2rem;
}

.bold-search__form .wp-block-search__input {
	background: transparent;
	border: 0;
	border-bottom: 3px solid var(--bold-gold);
	border-radius: 0;
	color: #fff;
	font-family: var(--bold-cond);
	font-weight: 700;
	font-size: clamp(1.2rem, 3vw, 1.7rem);
	padding: 0.6rem 0.2rem;
}

.bold-search__form .wp-block-search__button {
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background: var(--bold-gold);
	color: var(--bold-ink);
	border: 2px solid var(--bold-dark);
	border-radius: 3px;
	padding: 0.65rem 1.3rem;
	cursor: pointer;
}

.bold-search__group {
	max-width: 820px;
}

.bold-search__label {
	font-family: var(--bold-display);
	text-transform: uppercase;
	font-weight: 800;
	font-size: 1.5rem;
	margin: 2.2rem 0 0.5rem;
}

.bold-search__count {
	color: var(--bold-gold-deep);
	font-size: 1.1rem;
}

.bold-search__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bold-search__list a {
	display: block;
	color: var(--bold-ink);
	text-decoration: none;
	font-weight: 700;
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border, #e5e5e5);
	transition: color 0.18s var(--bold-ease);
}

.bold-search__list a:hover,
.bold-search__list a:focus-visible {
	color: var(--bold-gold-deep);
}

.bold-search__more,
.bold-search__hint {
	color: var(--wp--preset--color--muted, #4a4a4a);
	font-size: 0.92rem;
	padding: 0.65rem 0;
}

/* In the Field door inside the Equipment mega (Epic 3.5, Jack's
   placement pick): a full-width row under the five categories. */
.bold-mega__fieldrow {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: 0.4rem;
	padding: 0.85rem 1rem;
	border: 2px solid var(--bold-gold);
	border-radius: 3px;
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.85rem;
	color: var(--bold-gold);
	text-decoration: none;
	transition:
		background var(--alloway-transition),
		color var(--alloway-transition);
}

.bold-mega__fieldrow span {
	margin-left: auto;
}

.bold-mega__fieldrow:hover,
.bold-mega__fieldrow:focus-visible {
	background: var(--bold-gold);
	color: var(--bold-ink);
}

/* ==========================================================================
   BLOG THUMB GOLD DUOTONE (Jack 2026-09-01): article card thumbnails
   on the homepage island and the insights surfaces take the homepage
   hero's gold wash on hover — the vhero-b recipe (grayscale under a
   gold multiply). The wash arrives by OPACITY (motion doctrine);
   reduced motion snaps it.
   ========================================================================== */
.bold-news__grid .wp-block-post-featured-image,
ul.bold-cards li .wp-block-post-featured-image,
.bold-poprows .wp-block-post-featured-image,
.bold-feat .wp-block-post-featured-image {
	position: relative;
}

.bold-news__grid .wp-block-post-featured-image::after,
ul.bold-cards li .wp-block-post-featured-image::after,
.bold-poprows .wp-block-post-featured-image::after,
.bold-feat .wp-block-post-featured-image::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: var(--bold-gold);
	mix-blend-mode: multiply;
	opacity: 0;
	transition: opacity var(--alloway-transition);
}

.bold-news__grid .wp-block-post:hover .wp-block-post-featured-image img,
ul.bold-cards li:hover .wp-block-post-featured-image img,
.bold-poprows .wp-block-post:hover .wp-block-post-featured-image img,
.bold-feat .wp-block-post:hover .wp-block-post-featured-image img {
	filter: grayscale(1) contrast(1.1) brightness(0.9);
}

.bold-news__grid .wp-block-post:hover .wp-block-post-featured-image::after,
ul.bold-cards li:hover .wp-block-post-featured-image::after,
.bold-poprows .wp-block-post:hover .wp-block-post-featured-image::after,
.bold-feat .wp-block-post:hover .wp-block-post-featured-image::after {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.bold-news__grid .wp-block-post-featured-image::after,
	ul.bold-cards li .wp-block-post-featured-image::after,
	.bold-poprows .wp-block-post-featured-image::after,
	.bold-feat .wp-block-post-featured-image::after {
		transition: none;
	}
}

/* ==========================================================================
   LEGAL PAGES (Epic 7): quiet long-form prose under a standard dark
   hero — readable measure, condensed-caps section headings.
   ========================================================================== */
.bold-legal h2 {
	font-family: var(--bold-cond);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 1.2rem;
	margin: 2.2em 0 0.5em;
}

.bold-legal p,
.bold-legal li {
	line-height: 1.75;
}

.bold-legal a {
	color: var(--bold-ink);
	font-weight: 700;
}
