/* ==========================================================================
   Reset

   WordPress sets border-box on its own block elements but not universally, so
   any element of ours combining a percentage width with padding overflowed by
   exactly the padding. The hero inner ran 48px past the viewport on mobile
   because of it.
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* ==========================================================================
   BCRC components
   Everything here reads its colour and spacing from theme.json tokens.
   Nothing hard-codes a hex value except the focus ring fallback.
   ========================================================================== */

:root {
	--bcrc-ease: cubic-bezier(.2, .7, .3, 1);
	--bcrc-card-radius: var(--wp--custom--radius--md, 8px);
}

/* --------------------------------------------------------------------------
   Accessibility scaffolding
   -------------------------------------------------------------------------- */

.bcrc-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	padding: .85rem 1.25rem;
	background: var(--wp--preset--color--deep);
	color: #fff;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-decoration: none;
}
.bcrc-skip-link:focus {
	left: 1rem;
	top: 1rem;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--brand, #FF6026);
	outline-offset: 2px;
	border-radius: 3px;
}

/* --------------------------------------------------------------------------
   Site header
   -------------------------------------------------------------------------- */

.bcrc-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--base);
	position: relative;
	z-index: 50;
}

.bcrc-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--30);
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: .9rem var(--wp--preset--spacing--30);
}

.bcrc-brand {
	display: inline-flex;
	align-items: center;
	flex: none;
	text-decoration: none;
	line-height: 0;
}
.bcrc-brand img,
.bcrc-brand svg {
	display: block;
	width: clamp(150px, 20vw, 210px);
	height: auto;
}

/* --------------------------------------------------------------------------
   Navigation
   -------------------------------------------------------------------------- */

.bcrc-nav {
	display: flex;
	align-items: center;
	gap: clamp(.35rem, 1.4vw, 1.1rem);
}

.bcrc-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(.15rem, 1vw, .6rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bcrc-nav__link {
	display: inline-block;
	font-family: var(--wp--preset--font-family--display);
	font-size: .95rem;
	font-weight: 600;
	letter-spacing: -.005em;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	padding: .55rem .7rem;
	border-radius: var(--wp--custom--radius--sm);
	white-space: nowrap;
	transition: background-color .16s var(--bcrc-ease), color .16s var(--bcrc-ease);
}
.bcrc-nav__link:hover {
	background: var(--wp--preset--color--base-2);
	color: var(--wp--preset--color--brand-ink);
}
.bcrc-nav__link[aria-current="page"] {
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--brand);
}

/* Primary call to action in the bar. Dark text on orange, 6.95:1. */
.bcrc-btn,
.bcrc-nav__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: .9375rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	padding: .8rem 1.25rem;
	border-radius: var(--wp--custom--radius--md);
	border: 2px solid var(--wp--preset--color--brand);
	background: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--contrast);
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .16s var(--bcrc-ease), border-color .16s var(--bcrc-ease), color .16s var(--bcrc-ease);
}
.bcrc-btn:hover,
.bcrc-nav__cta:hover {
	background: var(--wp--preset--color--brand-ink);
	border-color: var(--wp--preset--color--brand-ink);
	color: #fff;
}

.bcrc-btn--ghost {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
}
.bcrc-btn--ghost:hover {
	background: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	color: #fff;
}

.bcrc-btn--onDark {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, .55);
}
.bcrc-btn--onDark:hover {
	background: #fff;
	border-color: #fff;
	color: var(--wp--preset--color--deep);
}

/* Mobile toggle */
.bcrc-burger {
	display: none;
	align-items: center;
	gap: .5rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: .875rem;
	font-weight: 700;
	background: transparent;
	border: 2px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--md);
	padding: .6rem .85rem;
	cursor: pointer;
	color: var(--wp--preset--color--contrast);
}
.bcrc-burger__bars {
	display: block;
	width: 18px;
	height: 2px;
	background: currentColor;
	position: relative;
}
.bcrc-burger__bars::before,
.bcrc-burger__bars::after {
	content: "";
	position: absolute;
	left: 0;
	width: 18px;
	height: 2px;
	background: currentColor;
	transition: transform .2s var(--bcrc-ease);
}
.bcrc-burger__bars::before { top: -6px; }
.bcrc-burger__bars::after  { top: 6px; }
.bcrc-burger[aria-expanded="true"] .bcrc-burger__bars { background: transparent; }
.bcrc-burger[aria-expanded="true"] .bcrc-burger__bars::before { transform: translateY(6px) rotate(45deg); }
.bcrc-burger[aria-expanded="true"] .bcrc-burger__bars::after  { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1000px) {
	.bcrc-burger { display: inline-flex; }

	.bcrc-nav {
		position: absolute;
		inset: 100% 0 auto 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: var(--wp--preset--color--base);
		border-bottom: 1px solid var(--wp--preset--color--line);
		box-shadow: var(--wp--preset--shadow--lift);
		padding: var(--wp--preset--spacing--20);
		max-height: calc(100vh - 100%);
		overflow-y: auto;
	}
	.bcrc-nav[hidden] { display: none; }

	.bcrc-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	.bcrc-nav__link {
		padding: .95rem .6rem;
		font-size: 1.05rem;
		border-bottom: 1px solid var(--wp--preset--color--line);
		border-radius: 0;
	}
	/* The two actions the strategy wants pinned near the top on mobile. */
	.bcrc-nav__actions {
		display: flex;
		flex-direction: column;
		gap: .6rem;
		order: -1;
		padding-bottom: var(--wp--preset--spacing--20);
		margin-bottom: var(--wp--preset--spacing--10);
		border-bottom: 1px solid var(--wp--preset--color--line);
	}
	.bcrc-nav__cta { width: 100%; }
}

@media (min-width: 1001px) {
	.bcrc-nav[hidden] { display: flex; }
	.bcrc-nav__actions { display: flex; gap: .6rem; align-items: center; }
}

/* --------------------------------------------------------------------------
   Section furniture
   -------------------------------------------------------------------------- */

.bcrc-sec { margin-block: var(--wp--preset--spacing--50); }

.bcrc-sec__head {
	max-width: 46rem;
	margin-bottom: var(--wp--preset--spacing--40);
}
.bcrc-sec__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xxxl);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: var(--wp--custom--tracking--tight);
	margin: 0 0 .6rem;
	text-wrap: balance;
}
.bcrc-sec__intro {
	font-size: var(--wp--preset--font-size--lg);
	color: var(--wp--preset--color--contrast-2);
	margin: 0;
	line-height: 1.5;
}

.bcrc-eyebrow {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--brand-ink);
	margin-bottom: .75rem;
}

.bcrc-empty {
	border: 1px dashed var(--wp--preset--color--line);
	border-radius: var(--bcrc-card-radius);
	padding: var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--contrast-2);
	font-size: var(--wp--preset--font-size--sm);
	margin: 0;
}

/* --------------------------------------------------------------------------
   Grids
   -------------------------------------------------------------------------- */

.bcrc-grid {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	list-style: none;
	margin: 0;
	padding: 0;
	grid-template-columns: 1fr;
}
@media (min-width: 620px) {
	.bcrc-grid[data-cols="2"],
	.bcrc-grid[data-cols="3"],
	.bcrc-grid[data-cols="4"] { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
	.bcrc-grid[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
	.bcrc-grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr); }
}

/* --------------------------------------------------------------------------
   Cards
   -------------------------------------------------------------------------- */

.bcrc-card {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--bcrc-card-radius);
	overflow: hidden;
	transition: border-color .18s var(--bcrc-ease), transform .18s var(--bcrc-ease);
}
.bcrc-card:hover { border-color: var(--wp--preset--color--contrast-2); }

.bcrc-card__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--wp--preset--color--base-2); }
.bcrc-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.bcrc-card__body {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	align-items: flex-start;
	padding: var(--wp--preset--spacing--30);
	flex: 1;
}
.bcrc-card__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: var(--wp--custom--tracking--tight);
	margin: 0;
	text-wrap: balance;
}
.bcrc-card__lede {
	margin: 0;
	color: var(--wp--preset--color--contrast-2);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.55;
}
.bcrc-card__join {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--contrast-2);
}

/* Definition rows: where / when / cost */
.bcrc-deets {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: .35rem;
	width: 100%;
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: .85rem;
}
.bcrc-deets__row {
	display: grid;
	grid-template-columns: 4.5rem 1fr;
	gap: .5rem;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.4;
}
.bcrc-deets dt {
	font-family: var(--wp--preset--font-family--display);
	font-size: .6875rem;
	font-weight: 700;
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-2);
	padding-top: .18rem;
}
.bcrc-deets dd { margin: 0; }

/* --------------------------------------------------------------------------
   People
   -------------------------------------------------------------------------- */

.bcrc-person { display: flex; flex-direction: column; gap: .9rem; }

.bcrc-person__photo {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--bcrc-card-radius);
	background: var(--wp--preset--color--base-2);
}
.bcrc-person__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.bcrc-person__photo--none {
	display: grid;
	place-items: center;
	background: var(--wp--preset--color--deep-wash);
}
.bcrc-person__photo--none span {
	font-family: var(--wp--preset--font-family--display);
	font-size: 3rem;
	font-weight: 700;
	color: var(--wp--preset--color--deep);
	opacity: .35;
}

.bcrc-person__body { display: flex; flex-direction: column; gap: .3rem; }
.bcrc-person__name {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	letter-spacing: var(--wp--custom--tracking--tight);
	margin: 0;
	line-height: 1.2;
}
.bcrc-person__role {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--brand-ink);
}
.bcrc-person__bio {
	margin: .35rem 0 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--contrast-2);
	line-height: 1.55;
}
.bcrc-person__mail { font-size: var(--wp--preset--font-size--sm); word-break: break-word; }

/* --------------------------------------------------------------------------
   Stories: the one place the serif earns its keep
   -------------------------------------------------------------------------- */

.bcrc-story {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--bcrc-card-radius);
	overflow: hidden;
}
.bcrc-story__photo { aspect-ratio: 3 / 2; overflow: hidden; background: var(--wp--preset--color--base-2); }
.bcrc-story__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.bcrc-story__body {
	margin: 0;
	padding: var(--wp--preset--spacing--30);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	flex: 1;
}
.bcrc-story__quote { margin: 0; border: 0; padding: 0; }
.bcrc-story__quote p {
	font-family: var(--wp--preset--font-family--editorial);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.42;
	margin: 0;
	text-wrap: pretty;
}
.bcrc-story__quote p::before { content: "\201C"; }
.bcrc-story__quote p::after  { content: "\201D"; }

.bcrc-story__cite {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--20);
	border-top: 1px solid var(--wp--preset--color--line);
}
.bcrc-story__who {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--sm);
}
.bcrc-story__role {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--contrast-2);
}

/* --------------------------------------------------------------------------
   Impact figures
   -------------------------------------------------------------------------- */

.bcrc-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1px;
	list-style: none;
	margin: 0;
	padding: 0;
	background: var(--wp--preset--color--line);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--bcrc-card-radius);
	overflow: hidden;
}
.bcrc-stat {
	display: flex;
	flex-direction: column;
	gap: .3rem;
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--base);
}
.bcrc-stat__value {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.1rem, 4.5vw, 2.9rem);
	font-weight: 700;
	line-height: 1.24;
	letter-spacing: -.002em;
	color: var(--wp--preset--color--deep);
	font-variant-numeric: tabular-nums;
}
.bcrc-stat__label {
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.4;
	color: var(--wp--preset--color--contrast);
}
.bcrc-stat__source {
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--contrast-2);
	margin-top: .2rem;
}

/* On a deep band, invert the figures */
.has-deep-background-color .bcrc-stats,
.bcrc-band--deep .bcrc-stats {
	background: rgba(255, 255, 255, .18);
	border-color: rgba(255, 255, 255, .18);
}
.has-deep-background-color .bcrc-stat,
.bcrc-band--deep .bcrc-stat { background: var(--wp--preset--color--deep); }
.has-deep-background-color .bcrc-stat__value,
.bcrc-band--deep .bcrc-stat__value { color: var(--wp--preset--color--brand); }
.has-deep-background-color .bcrc-stat__label,
.bcrc-band--deep .bcrc-stat__label { color: #fff; }
.has-deep-background-color .bcrc-stat__source,
.bcrc-band--deep .bcrc-stat__source { color: rgba(255, 255, 255, .7); }

/* --------------------------------------------------------------------------
   Partner logos: continuous carousel

   Two identical tracks scroll side by side; when the first has travelled its
   full width the animation restarts, so the loop has no visible seam. The
   second track is aria-hidden, and the whole thing falls back to a static
   wrapped row when the visitor prefers reduced motion.
   -------------------------------------------------------------------------- */

.bcrc-marquee {
	position: relative;
	overflow: hidden;
	/* Fade the edges so logos enter and leave rather than being cut off. */
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.bcrc-marquee__viewport {
	display: flex;
	width: max-content;
}

.bcrc-marquee__track {
	display: flex;
	flex: none;
	align-items: center;
	gap: clamp(2.5rem, 5vw, 4.5rem);
	list-style: none;
	margin: 0;
	padding: 0 clamp(1.25rem, 2.5vw, 2.25rem) 0 0;
	animation: bcrc-marquee-scroll calc(var(--bcrc-marquee-count, 8) * 4.5s) linear infinite;
}

@keyframes bcrc-marquee-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-100%); }
}

/* Let people stop it to read a name. */
.bcrc-marquee:hover .bcrc-marquee__track,
.bcrc-marquee:focus-within .bcrc-marquee__track {
	animation-play-state: paused;
}

.bcrc-logos__item { flex: none; }

.bcrc-logos__item img {
	display: block;
	/* Every logo file is exported onto a canvas of identical height with the
	   mark optically area-normalised inside it, so one CSS height gives a
	   balanced strip across ratios from 0.9:1 to 5.4:1.
	   Full colour, not greyscale: funding agreements generally require
	   government and council logos in their official colours. */
	height: clamp(58px, 5.6vw, 80px);
	width: auto;
	object-fit: contain;
	opacity: .92;
	transition: opacity .2s var(--bcrc-ease);
}
.bcrc-logos__link:hover img,
.bcrc-logos__link:focus-visible img { opacity: 1; }

.bcrc-logos__text {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--contrast-2);
	white-space: nowrap;
}

/* No motion: a plain centred row that wraps. */
@media (prefers-reduced-motion: reduce) {
	.bcrc-marquee { -webkit-mask-image: none; mask-image: none; }
	.bcrc-marquee__viewport { width: 100%; flex-wrap: wrap; }
	.bcrc-marquee__track { animation: none; flex-wrap: wrap; width: 100%; justify-content: flex-start; }
	.bcrc-marquee__track[aria-hidden="true"] { display: none; }
}

/* --------------------------------------------------------------------------
   Pathway cards: the four homepage journeys
   -------------------------------------------------------------------------- */

.bcrc-path {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--bcrc-card-radius);
	text-decoration: none;
	color: inherit;
	height: 100%;
	transition: border-color .18s var(--bcrc-ease), background-color .18s var(--bcrc-ease);
}
.bcrc-path:hover {
	border-color: var(--wp--preset--color--brand);
	background: var(--wp--preset--color--brand-wash);
}
.bcrc-path__kicker {
	font-family: var(--wp--preset--font-family--display);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--brand-ink);
}
.bcrc-path__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: var(--wp--custom--tracking--tight);
	margin: 0;
	text-wrap: balance;
}
.bcrc-path__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.55;
	color: var(--wp--preset--color--contrast-2);
}
.bcrc-path__go {
	margin-top: auto;
	padding-top: .6rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	color: var(--wp--preset--color--brand-ink);
}
.bcrc-path__go::after {
	content: " \2192";
	transition: transform .18s var(--bcrc-ease);
	display: inline-block;
}
.bcrc-path:hover .bcrc-path__go::after { transform: translateX(3px); }

/* --------------------------------------------------------------------------
   Numbered steps
   -------------------------------------------------------------------------- */

.bcrc-steps {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: bcrc-step;
}
@media (min-width: 800px) { .bcrc-steps { grid-template-columns: repeat(3, 1fr); } }

.bcrc-step { counter-increment: bcrc-step; display: flex; flex-direction: column; gap: .55rem; }
.bcrc-step::before {
	content: counter(bcrc-step);
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1.1rem;
	font-variant-numeric: tabular-nums;
}
.bcrc-step__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
	margin: 0;
	letter-spacing: var(--wp--custom--tracking--tight);
}
.bcrc-step__text { margin: 0; color: var(--wp--preset--color--contrast-2); line-height: 1.55; }

/* --------------------------------------------------------------------------
   Notice: "we do not provide migration or visa advice"
   -------------------------------------------------------------------------- */

.bcrc-notice {
	border: 1px solid var(--wp--preset--color--line);
	border-left: 4px solid var(--wp--preset--color--deep);
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--deep-wash);
	padding: var(--wp--preset--spacing--30);
}
.bcrc-notice > :last-child { margin-bottom: 0; }
.bcrc-notice__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 700;
	margin: 0 0 .35rem;
	color: var(--wp--preset--color--deep);
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.bcrc-footer {
	background: var(--wp--preset--color--deep);
	color: #fff;
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--60);
}
.bcrc-footer a { color: #fff; text-decoration-color: rgba(255, 255, 255, .45); }
.bcrc-footer a:hover { color: var(--wp--preset--color--brand); text-decoration-color: currentColor; }
.bcrc-footer__inner {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--30);
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: 1fr;
}
@media (min-width: 780px)  { .bcrc-footer__inner { grid-template-columns: 1.4fr 1fr 1fr; } }
@media (min-width: 1100px) { .bcrc-footer__inner { grid-template-columns: 1.6fr 1fr 1fr 1fr; } }

.bcrc-footer__logo { width: 210px; height: auto; margin-bottom: var(--wp--preset--spacing--20); }
.bcrc-footer__tag { color: rgba(255, 255, 255, .82); max-width: 30ch; line-height: 1.55; margin: 0 0 var(--wp--preset--spacing--20); }

.bcrc-footer__h {
	font-family: var(--wp--preset--font-family--display);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: var(--wp--custom--tracking--caps);
	text-transform: uppercase;
	color: var(--wp--preset--color--brand);
	margin: 0 0 .9rem;
}
.bcrc-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.bcrc-footer__list a { font-size: var(--wp--preset--font-size--sm); }

.bcrc-footer__base {
	max-width: var(--wp--style--global--wide-size);
	margin: var(--wp--preset--spacing--50) auto 0;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) 0;
	border-top: 1px solid rgba(255, 255, 255, .18);
	display: flex;
	flex-wrap: wrap;
	gap: .6rem var(--wp--preset--spacing--30);
	justify-content: space-between;
	font-size: var(--wp--preset--font-size--xs);
	color: rgba(255, 255, 255, .72);
}
.bcrc-ack {
	max-width: 62ch;
	line-height: 1.6;
	color: rgba(255, 255, 255, .82);
	font-size: var(--wp--preset--font-size--sm);
}

/* --------------------------------------------------------------------------
   Editorial bits
   -------------------------------------------------------------------------- */

.bcrc-lede {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.5;
	color: var(--wp--preset--color--contrast-2);
	max-width: 40rem;
}

.bcrc-band {
	padding-block: var(--wp--preset--spacing--60);
	margin-block: var(--wp--preset--spacing--60);
}
.bcrc-band--deep { background: var(--wp--preset--color--deep); color: #fff; }
.bcrc-band--deep .bcrc-sec__title { color: #fff; }
.bcrc-band--deep .bcrc-sec__intro { color: rgba(255, 255, 255, .82); }
.bcrc-band--wash { background: var(--wp--preset--color--base-2); }

/* Timeline for Our History */
.bcrc-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.bcrc-timeline::before {
	content: "";
	position: absolute;
	left: 7px;
	top: .6rem;
	bottom: .6rem;
	width: 2px;
	background: var(--wp--preset--color--line);
}
.bcrc-timeline__item { position: relative; padding: 0 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); }
.bcrc-timeline__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: .45rem;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	border: 3px solid var(--wp--preset--color--brand);
}
.bcrc-timeline__year {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	letter-spacing: var(--wp--custom--tracking--caps);
	color: var(--wp--preset--color--brand-ink);
	font-variant-numeric: tabular-nums;
	display: block;
	margin-bottom: .2rem;
}
.bcrc-timeline__title { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xl); font-weight: 700; margin: 0 0 .3rem; }
.bcrc-timeline__text { margin: 0; color: var(--wp--preset--color--contrast-2); line-height: 1.55; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.bcrc-hero__title {
	max-width: 18ch;
	text-wrap: balance;
}
.bcrc-hero--service .bcrc-hero__title { max-width: 22ch; }

.bcrc-hero__lede {
	max-width: 46ch;
	margin-top: var(--wp--preset--spacing--20);
}

.bcrc-hero__aside {
	margin-top: var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--contrast-2);
}
.bcrc-hero__aside a {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* The pathway columns should stack to a readable grid, not squash to four
   thin strips on a tablet. */
.bcrc-paths.wp-block-columns { flex-wrap: wrap !important; }
.bcrc-paths > .wp-block-column { flex-basis: 100% !important; }
@media (min-width: 620px)  { .bcrc-paths > .wp-block-column { flex-basis: calc(50% - var(--wp--preset--spacing--30) / 2) !important; } }
@media (min-width: 1040px) { .bcrc-paths > .wp-block-column { flex-basis: calc(25% - var(--wp--preset--spacing--30) * 3 / 4) !important; } }

.bcrc-path__go a { text-decoration: none; color: inherit; }
.bcrc-path__go a:hover { text-decoration: underline; }

.bcrc-muted { color: var(--wp--preset--color--contrast-2); font-size: var(--wp--preset--font-size--sm); }

/* --------------------------------------------------------------------------
   Questions and answers
   -------------------------------------------------------------------------- */

.bcrc-faq {
	border-top: 1px solid var(--wp--preset--color--line);
	max-width: 44rem;
}
.bcrc-faq__item { border-bottom: 1px solid var(--wp--preset--color--line); }

.bcrc-faq__q {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	list-style: none;
	cursor: pointer;
	padding: var(--wp--preset--spacing--30) 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: var(--wp--custom--tracking--tight);
}
.bcrc-faq__q::-webkit-details-marker { display: none; }
.bcrc-faq__q::after {
	content: "+";
	flex: none;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.24;
	color: var(--wp--preset--color--brand-ink);
	transition: transform .2s var(--bcrc-ease);
}
.bcrc-faq__item[open] .bcrc-faq__q::after { transform: rotate(45deg); }
.bcrc-faq__q:hover { color: var(--wp--preset--color--brand-ink); }

.bcrc-faq__a { padding: 0 0 var(--wp--preset--spacing--30); max-width: 40rem; }
.bcrc-faq__a > :last-child { margin-bottom: 0; }
.bcrc-faq__a p { color: var(--wp--preset--color--contrast-2); line-height: 1.6; margin: 0; }

/* --------------------------------------------------------------------------
   Core block overrides
   -------------------------------------------------------------------------- */

/* Navigation */
.wp-block-navigation {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
}
.wp-block-navigation .wp-block-navigation-item__content {
	text-decoration: none;
	padding: .5rem .6rem;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--contrast);
}
.wp-block-navigation .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--base-2);
	color: var(--wp--preset--color--brand-ink);
}
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--brand);
}
.wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--wp--custom--radius--md);
	padding: .4rem !important;
	min-width: 15rem;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6rem .7rem; }

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	gap: .2rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.15rem;
	padding: .8rem .4rem;
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--line);
	border-radius: 0;
}

/* Header layout */
.bcrc-header__inner {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-block: .9rem;
}
.bcrc-header__right { gap: clamp(.4rem, 1.6vw, 1.2rem); }

/* The header CTA stays visible at every width. Hiding it would bury the
   site's primary action behind the menu button on exactly the devices most
   visitors use. It shrinks instead. */
@media (max-width: 620px) {
	.bcrc-header .bcrc-header__cta .wp-block-button__link {
		font-size: .8125rem;
		padding: .7rem .85rem;
	}
	.bcrc-header__inner { gap: .5rem; padding-inline: var(--wp--preset--spacing--20); }
}
@media (max-width: 400px) {
	.bcrc-header .wp-block-site-logo img { width: 118px; }
	.bcrc-header .bcrc-header__cta .wp-block-button__link { font-size: .75rem; padding: .6rem .7rem; }
}

/* Outline button variant. Superseded by the button system further down. */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 2px solid var(--wp--preset--color--contrast);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--contrast);
}
.bcrc-band--deep .wp-block-button.is-style-outline > .wp-block-button__link {
	color: #fff;
	border-color: rgba(255, 255, 255, .6);
}
.bcrc-band--deep .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: #fff;
	color: var(--wp--preset--color--deep);
	border-color: #fff;
}

/* Search */
.wp-block-search__input {
	border: 2px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--md);
	padding: .8rem 1rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--md);
}
.wp-block-search__input:focus { border-color: var(--wp--preset--color--brand); }
.wp-block-search__button {
	background: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--contrast);
	border: 0;
	border-radius: var(--wp--custom--radius--sm);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	padding: .6rem 1rem;
}

/* Content rhythm: block themes leave prose a bit tight by default. */
.bcrc-content :where(p, ul, ol) { max-width: var(--wp--custom--measure); }
.bcrc-content :where(h2) { margin-top: var(--wp--preset--spacing--40); }
.bcrc-content :where(h3, h4) { margin-top: var(--wp--preset--spacing--30); }
.bcrc-content :where(.bcrc-sec__title) { margin-top: 0; }

/* External link cue set by app.js */
.bcrc-content a.is-external::after {
	content: "\2197";
	display: inline-block;
	margin-left: .15em;
	font-size: .85em;
	text-decoration: none;
}

/* Band edges: a band that sits directly on another band should not double up. */
.bcrc-band + .bcrc-band { margin-top: calc(var(--wp--preset--spacing--60) * -1); }

/* --------------------------------------------------------------------------
   Logo treatments
   -------------------------------------------------------------------------- */

.bcrc-header .wp-block-site-logo img { width: clamp(150px, 19vw, 200px); height: auto; }

/* The wordmark is dark-on-transparent. On the deep footer it needs the white
   variant from the logo suite. This produces exactly that, without shipping
   a second asset or hard-coding a media URL that breaks on deploy. */
.bcrc-footer .wp-block-site-logo img {
	width: 210px;
	height: auto;
	filter: brightness(0) invert(1);
}

/* --------------------------------------------------------------------------
   Fixes found in build review
   -------------------------------------------------------------------------- */

/* Full-bleed bands hold their inner content on the site grid with padding
   rather than per-child max-widths. Centring children with auto margins
   makes anything narrower than the column drift to the middle; a padded
   container lets every child simply start at the column edge. */
.bcrc-band.alignfull,
.bcrc-hero.alignfull {
	/* Viewport-based, not container-based: inside the root-padded wrapper a
	   `100%` calc resolves 24px short and throws the block off the page grid. */
	padding-inline: var(--bcrc-gutter);
}
.bcrc-band.alignfull > *,
.bcrc-band.alignfull > .alignwide,
.bcrc-band.alignfull > .alignfull {
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Long single words in narrow card columns were breaking mid-word
   ("For organisat / ions"). Balance the wrap instead of hyphenating. */
.bcrc-path__title,
.bcrc-card__title,
.bcrc-person__name,
.bcrc-sec__title {
	overflow-wrap: break-word;
	hyphens: none;
	word-break: normal;
}

/* Four impact figures were leaving an orphan cell on a 3-up auto-fit grid. */
.bcrc-stats { grid-template-columns: 1fr; }
@media (min-width: 560px)  { .bcrc-stats { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .bcrc-stats { grid-template-columns: repeat(4, 1fr); } }
.bcrc-stats:has(.bcrc-stat:nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }

/* A figure with no number yet should read as "to be supplied", not as a dash
   floating in space. */
.bcrc-stat__value:not(:empty) { min-height: 1em; }

/* Section headings inside a band sit tighter to their band padding. */
.bcrc-band .bcrc-sec { margin-block: 0; }

/* --------------------------------------------------------------------------
   Hero with image
   -------------------------------------------------------------------------- */

.bcrc-hero {
	background: var(--wp--preset--color--base);
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.bcrc-hero__grid { align-items: center; gap: var(--wp--preset--spacing--50); }

.bcrc-hero__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg);
	display: block;
}

/* On small screens the photo goes below the words, and shrinks. The
   message matters more than the picture. */
@media (max-width: 781px) {
	.bcrc-hero__media img { aspect-ratio: 16 / 9; }
	.bcrc-hero__grid { gap: var(--wp--preset--spacing--40); }
}

.bcrc-hero__title { max-width: 16ch; margin-block: .35rem 0; }
.bcrc-hero__lede  { max-width: 44ch; }
.bcrc-hero__actions { margin-top: var(--wp--preset--spacing--30); gap: .7rem; }

/* Placeholder media is deliberately obvious. Remove this rule once real
   photography is in. It keys off the attachment title, nothing else. */
img[alt^="Placeholder photograph"] { outline: 2px dashed rgba(255, 96, 38, .55); outline-offset: -6px; }

/* --------------------------------------------------------------------------
   Prose measure: components opt out
   The readable-line-length cap belongs to running prose only. Component
   lists (grids, stat rows, logo strips) are layout, not text, and were
   being squeezed to the text measure.
   -------------------------------------------------------------------------- */

.bcrc-content :where(.bcrc-grid, .bcrc-stats, .bcrc-logos, .bcrc-steps,
	.bcrc-timeline, .bcrc-faq, .bcrc-deets, .wp-block-columns,
	.wp-block-buttons, .bcrc-sec, .wp-block-navigation__container) {
	max-width: none;
}

/* Card and component text sets its own width. */
.bcrc-card__lede, .bcrc-card__join, .bcrc-path__text,
.bcrc-person__bio, .bcrc-stat__label, .bcrc-stat__source,
.bcrc-step__text, .bcrc-timeline__text {
	max-width: none;
}

/* Keep the trailing arrow with its sentence. */
.bcrc-hero__aside a { text-wrap: pretty; }

.bcrc-hero__title { max-width: 19ch; }

/* Stat source lines are a note, not body copy. */
.bcrc-stat__source {
	font-size: .6875rem;
	line-height: 1.35;
	letter-spacing: .01em;
	opacity: .85;
}

/* --------------------------------------------------------------------------
   Prose alignment inside constrained layouts

   WordPress gives every constrained child `margin-inline: auto`. Combined
   with a max-width narrower than the column, that silently centres running
   text, so eyebrows and ledes drifted right of their own headings.

   These selectors need real specificity: the core layout rule is a single
   class, and it is printed after this file, so a :where() version loses.
   -------------------------------------------------------------------------- */

.bcrc-content p:not(.has-text-align-center):not(.has-text-align-right),
.bcrc-content ul:not(.has-text-align-center),
.bcrc-content ol:not(.has-text-align-center),
.bcrc-content dl:not(.has-text-align-center),
.bcrc-content blockquote:not(.has-text-align-center),
.bcrc-content .bcrc-eyebrow,
.bcrc-content .bcrc-lede,
.bcrc-content .bcrc-sec__intro,
.bcrc-content .bcrc-hero__aside {
	/* Core ships `margin-left: auto !important` on every constrained child,
	   so an !important of our own is the only way to left-align prose that
	   is narrower than its column. Specificity here beats core's single
	   class, so this is a targeted override, not an arms race. */
	margin-left: 0 !important;
	margin-right: auto !important;
}

/* Explicitly centred copy keeps its auto margins. */
.bcrc-content p.has-text-align-center,
.bcrc-content .aligncenter {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* --------------------------------------------------------------------------
   One column edge for the whole page

   Content and wide are now the same width, so every section, banded or not,
   starts at the same left edge and the page reads as one grid instead of a
   zigzag. Line length is controlled by max-width on the text itself, which is
   where it belongs, rather than by narrowing the column and centring it.
   -------------------------------------------------------------------------- */

.bcrc-content :is(h2, h3, h4) { max-width: 46rem; }
.bcrc-content h1 { max-width: 34rem; }
.bcrc-content .bcrc-sec__title { max-width: 46rem; }

/* Cards and grids set their own widths and must not inherit the heading cap. */
.bcrc-card :is(h2, h3, h4),
.bcrc-path :is(h2, h3, h4),
.bcrc-person :is(h2, h3, h4),
.bcrc-step :is(h2, h3, h4),
.bcrc-timeline :is(h2, h3, h4) { max-width: none; }

/* Headings need the same left-align treatment as prose: any heading with a
   max-width narrower than its column was being centred by core's
   `margin-left: auto !important` on constrained children. */
.bcrc-content :is(h1, h2, h3, h4, h5, h6):not(.has-text-align-center):not(.has-text-align-right) {
	margin-left: 0 !important;
	margin-right: auto !important;
}
.bcrc-content :is(h1, h2, h3, h4, h5, h6).has-text-align-center {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ==========================================================================
   Buttons: one geometry for every variant

   Core hard-codes `padding: .667em 1.333em` on the outline style, which does
   not match the fill style's padding from theme.json, so a primary and a
   secondary button sitting side by side were different heights. Both
   variants now share identical box metrics and only differ in colour.
   ========================================================================== */

.wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline,
.bcrc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	min-height: 3rem;
	padding: .8rem 1.5rem;
	border-width: 2px;
	border-style: solid;
	border-radius: var(--wp--custom--radius--md);
	font-family: var(--wp--preset--font-family--display);
	font-size: .9375rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .005em;
	text-decoration: none;
	text-align: center;
	transition:
		background-color .16s var(--bcrc-ease),
		border-color .16s var(--bcrc-ease),
		color .16s var(--bcrc-ease),
		box-shadow .16s var(--bcrc-ease),
		transform .16s var(--bcrc-ease);
}

/* Primary: orange with near-black text. White on orange is 3.02:1 and
   fails AA; near-black reaches 5.84:1. */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.bcrc-btn:not(.bcrc-btn--ghost):not(.bcrc-btn--onDark) {
	background-color: var(--wp--preset--color--brand);
	border-color: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--contrast);
	box-shadow: 0 1px 2px rgba(196, 61, 13, .18), 0 8px 18px -10px rgba(196, 61, 13, .45);
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
.bcrc-btn:not(.bcrc-btn--ghost):not(.bcrc-btn--onDark):hover {
	background-color: var(--wp--preset--color--brand-ink);
	border-color: var(--wp--preset--color--brand-ink);
	color: #fff;
	box-shadow: 0 2px 4px rgba(196, 61, 13, .22), 0 12px 24px -10px rgba(196, 61, 13, .55);
	transform: translateY(-1px);
}

/* Secondary: river teal rather than plain black. Reads as part of the
   brand instead of a default browser outline. */
.wp-block-button.is-style-outline > .wp-block-button__link,
.bcrc-btn--ghost {
	background-color: transparent;
	border-color: var(--wp--preset--color--deep);
	color: var(--wp--preset--color--deep);
	box-shadow: none;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.bcrc-btn--ghost:hover {
	background-color: var(--wp--preset--color--deep);
	border-color: var(--wp--preset--color--deep);
	color: #fff;
	transform: translateY(-1px);
}

/* On the deep band both variants invert. */
.bcrc-band--deep .wp-block-button.is-style-outline > .wp-block-button__link,
.bcrc-footer .wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: rgba(255, 255, 255, .62);
	color: #fff;
}
.bcrc-band--deep .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.bcrc-footer .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: #fff;
	border-color: #fff;
	color: var(--wp--preset--color--deep);
}

.wp-block-button__link:focus-visible,
.bcrc-btn:focus-visible {
	outline: 3px solid var(--wp--preset--color--brand);
	outline-offset: 3px;
}

/* Buttons sitting together should share a baseline and wrap cleanly. */
.wp-block-buttons { align-items: stretch; gap: .75rem; }
.wp-block-buttons > .wp-block-button { display: flex; }
.wp-block-buttons > .wp-block-button > .wp-block-button__link { width: 100%; }

@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link:hover, .bcrc-btn:hover { transform: none; }
}

/* ==========================================================================
   Acknowledgement of Country

   The band is deliberately the darkest, quietest block on the page. It is
   read, not skimmed. The texture behind it is an arcade of bridge arches
   drawn from the logo mark: Albury and Wodonga sit either side of the Murray,
   and the bridge is the one form in this brand that means something. It runs
   at 5% so it registers as grain rather than decoration.
   ========================================================================== */

.bcrc-ack-band {
	background-color: #0A2C36;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='70' viewBox='0 0 150 70'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2' opacity='0.05'%3E%3Cpath d='M10 70V42a27 27 0 0 1 54 0v28'/%3E%3Cpath d='M85 70V42a27 27 0 0 1 54 0v28'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: repeat;
	background-position: center bottom;
	color: #fff;
	padding-block: clamp(2.25rem, 4.5vw, 3.25rem);
	/* Viewport-based, not container-based: inside the root-padded wrapper a
	   `100%` calc resolves 24px short and throws the block off the page grid. */
	padding-inline: var(--bcrc-gutter);
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.bcrc-ack-band__inner {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2.75rem);
	grid-template-columns: 1fr;
	align-items: start;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

@media (min-width: 900px) {
	.bcrc-ack-band__inner {
		grid-template-columns: minmax(11rem, 15rem) minmax(0, 1fr) auto;
		align-items: center;
	}
}

.bcrc-ack-band__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.25rem, 2.2vw, 1.6rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: var(--wp--custom--tracking--tight);
	color: #fff;
	text-wrap: balance;
}
/* One short orange rule ties the band back to the brand without colouring
   any of the text, which needs to stay high-contrast white. */
.bcrc-ack-band__title::after {
	content: "";
	display: block;
	width: 2.75rem;
	height: 3px;
	margin-top: .85rem;
	background: var(--wp--preset--color--brand);
	border-radius: 2px;
}

.bcrc-ack-band__text {
	margin: 0;
	max-width: 62ch;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.7;
	color: rgba(255, 255, 255, .86);
}

.bcrc-ack-band__flags {
	display: flex;
	align-items: center;
	gap: .75rem;
}
.bcrc-ack-band__flags img {
	display: block;
	width: 3.25rem;
	height: auto;
	aspect-ratio: 3 / 2;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .22);
}

/* The footer proper sits just below, one step lighter. */
.bcrc-footer { padding-top: 0; }
.bcrc-footer__inner { padding-top: var(--wp--preset--spacing--60); }

/* The partner band is a strip, not a section, so keep it shallow. */
.bcrc-sec--partners { margin-block: 0; }
.bcrc-sec--partners .bcrc-sec__head { margin-bottom: var(--wp--preset--spacing--30); }
.bcrc-band--wash:has(.bcrc-sec--partners) { padding-block: var(--wp--preset--spacing--50); }
