/**
 * West Coast Placer — Hybrid design system
 * Approved direction translated into shared, durable theme foundations.
 * Page-family composition remains in style.css and the relevant templates.
 */

:root {
	--wcp-ink: #10252c;
	--wcp-ink-deep: #081c22;
	--wcp-ink-soft: #29444a;
	--wcp-paper: #f3f1e9;
	--wcp-paper-bright: #fbfaf5;
	--wcp-mist: #e2e9e5;
	--wcp-line: #a9bdb8;
	--wcp-aqua: #53d1cf;
	--wcp-aqua-dark: #087b75;
	--wcp-red: #e7443f;
	--wcp-white: #fff;
	--wcp-text: #26383c;
	--wcp-muted: #5a6e6d;
	--wcp-font-display: "Poppins", "Arial Narrow", Arial, sans-serif;
	--wcp-font-body: "Vollkorn", Georgia, serif;
	--wcp-font-ui: "Poppins", Arial, sans-serif;
	--wcp-step--1: clamp(.78rem, .74rem + .12vw, .88rem);
	--wcp-step-0: clamp(1rem, .95rem + .2vw, 1.13rem);
	--wcp-step-1: clamp(1.25rem, 1.14rem + .45vw, 1.55rem);
	--wcp-step-2: clamp(1.65rem, 1.38rem + 1vw, 2.35rem);
	--wcp-step-3: clamp(2.25rem, 1.75rem + 2vw, 3.75rem);
	--wcp-step-4: clamp(3rem, 2.05rem + 4.2vw, 6.5rem);
	--wcp-space-1: clamp(.5rem, .4rem + .3vw, .75rem);
	--wcp-space-2: clamp(.85rem, .7rem + .5vw, 1.25rem);
	--wcp-space-3: clamp(1.25rem, 1rem + 1vw, 2rem);
	--wcp-space-4: clamp(2rem, 1.5rem + 2vw, 3.5rem);
	--wcp-space-5: clamp(3.5rem, 2.5rem + 4vw, 7rem);
	--wcp-shell: 1240px;
	--wcp-reading: 720px;
	--wcp-edge: clamp(20px, 5vw, 72px);
	--wcp-fast: 160ms;
	--wcp-ease: cubic-bezier(.2, .7, .2, 1);
}

html {
	overflow-x: clip;
	scroll-behavior: smooth;
}

body,
button,
input,
select,
textarea {
	color: var(--wcp-text);
	font-family: var(--wcp-font-body);
	font-size: var(--wcp-step-0);
	font-weight: 400;
	line-height: 1.65;
}

body { background: var(--wcp-paper); }

/*
 * Default WordPress pages still inherit Freedom's boxed-site mode from the
 * Customizer. Release that outer shell as well as the inner main canvas so
 * service, document and recovery pages use the same full-width foundation as
 * the custom templates. Components continue to own their readable inner
 * measures through --wcp-shell and --wcp-reading.
 */
body.custom-background.wp-theme-freedom {
	padding-top: 0;
	padding-bottom: 0;
	background: var(--wcp-paper) !important;
}

body.wp-theme-freedom #page.site {
	width: 100%;
	max-width: none;
	margin: 0;
}

@media (min-width: 993px) {
	body.wp-theme-freedom #navbarNavDropdown {
		margin-right: 0;
		margin-left: 0;
	}
}

/* Freedom's legacy #primary rule uses an ID selector. Match that specificity
 * for service pages rendered by page.php so their dossier and content canvas
 * cannot fall back to the old two-column/sidebar width. */
#primary.wcp-crop-primary,
#primary.wcp-drone-primary {
	float: none;
	width: 100%;
	padding: 0;
}

:is(.wcp-bedrock-hero, .wcp-drilling-hero, .wcp-tenure-hero, .wcp-staking-hero, .wcp-magnetic-hero, .wcp-archaeology-hero) #landing-wrapper .inner h1 {
	margin: 0;
	color: #fff;
	font-family: var(--wcp-font-display);
	font-size: clamp(44px, 6vw, 76px);
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: .98;
	text-transform: none;
}

/* Optimized equivalent of the legacy 3648px Drone hero (2.2 MB JPEG). */
.wcp-drone-hero {
	background:
		linear-gradient(90deg, rgba(8, 31, 39, .9) 0%, rgba(8, 31, 39, .42) 58%, rgba(8, 31, 39, .12) 100%),
		url('/wp-content/uploads/2016/04/wcp-drone-hero-1920.webp') center 48% / cover no-repeat;
}

/*
 * The Freedom theme's original content wrapper capped every page canvas at
 * 1000px. Hybrid components own their inner gutters and readable measures, so
 * only the main canvas is released here; header and footer shells stay bounded.
 */
#main > .inner-wrap {
	width: 100%;
	max-width: none;
}

:where(h1, h2, h3, h4, h5, h6) {
	color: var(--wcp-ink);
	font-family: var(--wcp-font-display);
	font-weight: 800;
	letter-spacing: -.04em;
	text-wrap: balance;
}

:where(h1, h2) { line-height: .98; }
:where(h3, h4, h5, h6) { line-height: 1.12; }

:where(p, li, dd, blockquote) { text-wrap: pretty; }

:where(a, button, input, select, textarea) {
	transition-duration: var(--wcp-fast);
	transition-property: color, background-color, border-color, opacity, transform;
	transition-timing-function: var(--wcp-ease);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wcp-red);
	outline-offset: 4px;
}

::selection { background: var(--wcp-aqua); color: var(--wcp-ink-deep); }

/* Indexed result navigation: one semantic, numbered pattern for journal,
 * archive and search pages, independent of optional pagination plugins. */
.wcp-index-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wcp-space-2);
	width: calc(100% - var(--wcp-edge) - var(--wcp-edge));
	max-width: var(--wcp-shell);
	margin: var(--wcp-space-4) auto var(--wcp-space-5);
	padding-top: var(--wcp-space-2);
	border-top: 1px solid var(--wcp-line);
}

.wcp-index-pagination__status {
	margin: 0;
	color: var(--wcp-muted);
	font-family: var(--wcp-font-ui);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.wcp-index-pagination .page-numbers {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wcp-index-pagination .page-numbers li { margin: 0; }

.wcp-index-pagination a,
.wcp-index-pagination .current,
.wcp-index-pagination .dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: .55rem .75rem;
	color: var(--wcp-ink);
	font-family: var(--wcp-font-ui);
	font-size: .78rem;
	font-weight: 800;
	text-decoration: none;
}

.wcp-index-pagination a:hover,
.wcp-index-pagination a:focus-visible { background: var(--wcp-mist); }
.wcp-index-pagination .current { background: var(--wcp-ink); color: var(--wcp-white); }
.wcp-index-pagination .dots { min-width: 28px; padding-inline: .25rem; color: var(--wcp-muted); }

@media (max-width: 600px) {
	.wcp-index-pagination { align-items: flex-start; flex-direction: column; }
	.wcp-index-pagination .nav-links { width: 100%; overflow-x: auto; }
}

/* Shared service-family wayfinding. The active route remains visible on mobile. */
.wcp-service-nav {
	position: relative;
	z-index: 10;
	border-bottom: 1px solid rgba(169, 189, 184, .65);
	background: var(--wcp-paper-bright);
}

.wcp-service-nav__inner {
	display: flex;
	align-items: stretch;
	width: calc(100% - var(--wcp-edge) - var(--wcp-edge));
	max-width: var(--wcp-shell);
	margin-inline: auto;
}

.wcp-service-nav__label {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	padding-right: var(--wcp-space-3);
	color: var(--wcp-muted);
	font-family: var(--wcp-font-ui);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.wcp-service-nav__links {
	display: flex;
	align-items: stretch;
	flex: 1 1 auto;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: thin;
}

.wcp-service-nav__links a {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	min-height: 58px;
	padding: 0 clamp(.65rem, 1.25vw, 1.1rem);
	border-bottom: 3px solid transparent;
	color: var(--wcp-ink-soft);
	font-family: var(--wcp-font-ui);
	font-size: clamp(.69rem, .63rem + .12vw, .78rem);
	font-weight: 700;
	letter-spacing: .015em;
	text-decoration: none;
}

.wcp-service-nav__links a:is(:hover, :focus-visible) { color: var(--wcp-aqua-dark); }

.wcp-service-nav__links a[aria-current="page"] {
	border-bottom-color: var(--wcp-red);
	color: var(--wcp-ink-deep);
}

/* Service dossiers turn critical scope into a consistent technical readout. */
.wcp-service-dossier {
	display: grid;
	grid-template-columns: minmax(150px, .45fr) minmax(0, 2fr);
	align-items: stretch;
	width: calc(100% - var(--wcp-edge) - var(--wcp-edge));
	max-width: var(--wcp-shell);
	margin: var(--wcp-space-4) auto 0;
	border-block: 1px solid var(--wcp-line);
	background: var(--wcp-paper-bright);
}

.wcp-service-dossier__eyebrow {
	display: flex;
	align-items: center;
	margin: 0;
	padding: var(--wcp-space-2) var(--wcp-space-3);
	border-right: 1px solid var(--wcp-line);
	color: var(--wcp-aqua);
	background: var(--wcp-ink-deep);
	font-family: var(--wcp-font-ui);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .13em;
	line-height: 1.4;
	text-transform: uppercase;
}

.wcp-service-dossier__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.wcp-service-dossier__fact {
	min-width: 0;
	padding: var(--wcp-space-2) var(--wcp-space-3);
	border-right: 1px solid var(--wcp-line);
}

.wcp-service-dossier__fact:last-child { border-right: 0; }

.wcp-service-dossier dt {
	margin-bottom: .3rem;
	color: var(--wcp-muted);
	font-family: var(--wcp-font-ui);
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.wcp-service-dossier dd {
	margin: 0;
	color: var(--wcp-ink);
	font-family: var(--wcp-font-ui);
	font-size: clamp(.82rem, .76rem + .18vw, .96rem);
	font-weight: 700;
	line-height: 1.35;
}

/* Shared service close: a durable handoff from technical content to enquiry. */
.wcp-service-cta {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) auto;
	align-items: end;
	gap: var(--wcp-space-5);
	width: 100vw;
	max-width: none;
	margin: var(--wcp-space-7) auto;
	margin-left: calc(50% - 50vw);
	padding: clamp(2rem, 4vw, 4rem);
	background: var(--wcp-ink-deep);
	color: var(--wcp-paper-bright);
}

.wcp-service-cta__copy { max-width: 800px; }
.wcp-service-cta__eyebrow {
	margin: 0 0 var(--wcp-space-2);
	color: var(--wcp-aqua);
	font-family: var(--wcp-font-ui);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.wcp-service-cta h2 {
	margin: 0;
	color: var(--wcp-paper-bright);
	font-family: var(--wcp-font-display);
	font-size: clamp(2rem, 4.2vw, 4.25rem);
	letter-spacing: -.045em;
	line-height: .98;
}
.wcp-service-cta__copy > p:last-child {
	max-width: 660px;
	margin: var(--wcp-space-3) 0 0;
	color: rgba(255, 255, 255, .72);
	font-size: var(--wcp-step-0);
	line-height: 1.65;
}
.wcp-service-cta__action {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wcp-space-3);
	min-width: 220px;
	min-height: 54px;
	padding: .9rem 1.1rem;
	border: 1px solid var(--wcp-aqua);
	color: var(--wcp-paper-bright);
	font-family: var(--wcp-font-ui);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}
.wcp-service-cta__action:is(:hover, :focus-visible) {
	background: var(--wcp-aqua);
	color: var(--wcp-ink-deep);
}

/* Shared square field controls. Existing page-family classes inherit this grammar. */
:where(
	.wcp-home-button,
	.wcp-claim-button,
	.wcp-equipment-button,
	.wpcf7-submit,
	button,
	input[type="button"],
	input[type="submit"]
) {
	min-height: 48px;
	border-radius: 0;
	font-family: var(--wcp-font-ui);
	font-size: var(--wcp-step--1);
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

:where(input:not([type="button"]):not([type="submit"]), textarea, select) {
	border: 1px solid var(--wcp-line);
	border-radius: 0;
	background: var(--wcp-paper-bright);
	color: var(--wcp-ink);
}

:where(input:not([type="button"]):not([type="submit"]), textarea, select):focus {
	border-color: var(--wcp-aqua-dark);
	box-shadow: 0 0 0 3px rgba(83, 209, 207, .2);
}

/* Technical records use rules and contrast, never ornamental shadows. */
:where(table, .wcp-claim-card, .wcp-equipment-card, .wcp-home-paths > a) {
	border-radius: 0;
	box-shadow: none;
}

table { color: var(--wcp-ink); }

th {
	background: var(--wcp-ink);
	color: var(--wcp-white);
	font-family: var(--wcp-font-ui);
	font-size: var(--wcp-step--1);
	letter-spacing: .07em;
	text-transform: uppercase;
}

th,
td { border-color: var(--wcp-line); padding: .75rem .9rem; }

tbody tr:nth-child(even) { background: rgba(226, 233, 229, .52); }

/* Claims inventory reads as live technical data rather than promotional copy. */
.wcp-tenure-directory__hero-note--inventory {
	display: block;
	min-width: min(100%, 340px);
	padding: var(--wcp-space-3) 0 var(--wcp-space-2) var(--wcp-space-3);
}

.wcp-tenure-directory__hero-note--inventory p,
.wcp-tenure-directory__hero-note--inventory span {
	margin: 0;
	font-family: var(--wcp-font-ui);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.wcp-tenure-directory__hero-note--inventory dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: var(--wcp-space-2) 0;
}

.wcp-tenure-directory__hero-note--inventory dl > div {
	display: flex;
	flex-direction: column-reverse;
	gap: .15rem;
	padding-right: var(--wcp-space-2);
}

.wcp-tenure-directory__hero-note--inventory dl > div + div {
	border-left: 1px solid rgba(255, 255, 255, .35);
	padding-left: var(--wcp-space-2);
}

.wcp-tenure-directory__hero-note--inventory dt {
	font-family: var(--wcp-font-ui);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.wcp-tenure-directory__hero-note--inventory dd {
	margin: 0;
	font-family: var(--wcp-font-display);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 700;
	line-height: .95;
}

/* Equipment uses the same live-inventory grammar while retaining its cinematic rail. */
.wcp-equipment-index-hero-rail--inventory {
	display: block;
	max-width: 420px;
}

.wcp-equipment-index-hero-rail--inventory p,
.wcp-equipment-index-hero-rail--inventory span {
	margin: 0;
	font-family: var(--wcp-font-ui);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.wcp-equipment-index-hero-rail--inventory dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: var(--wcp-space-2) 0;
}

.wcp-equipment-index-hero-rail--inventory dl > div {
	display: flex;
	flex-direction: column-reverse;
	gap: .15rem;
	padding-right: var(--wcp-space-2);
}

.wcp-equipment-index-hero-rail--inventory dl > div + div {
	border-left: 1px solid rgba(255, 255, 255, .35);
	padding-left: var(--wcp-space-2);
}

.wcp-equipment-index-hero-rail--inventory dt {
	font-family: var(--wcp-font-ui);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.wcp-equipment-index-hero-rail--inventory dd {
	margin: 0;
	color: var(--wcp-paper-bright);
	font-family: var(--wcp-font-display);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 700;
	line-height: .95;
}

/* Directory cards expose a concise, comparable subset of each record's field sheet. */
.wcp-equipment-card-specs {
	width: 100%;
	margin: var(--wcp-space-3) 0 0;
	border-top: 1px solid rgba(255, 255, 255, .24);
}

.wcp-equipment-card-specs > div {
	display: grid;
	grid-template-columns: minmax(7rem, .75fr) minmax(0, 1.25fr);
	gap: var(--wcp-space-2);
	padding: .7rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.wcp-equipment-card-specs dt {
	color: var(--wcp-aqua);
	font-family: var(--wcp-font-ui);
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .09em;
	line-height: 1.35;
	text-transform: uppercase;
}

.wcp-equipment-card-specs dd {
	margin: 0;
	color: var(--wcp-paper-bright);
	font-size: .86rem;
	font-weight: 650;
	line-height: 1.4;
}

@media (max-width: 540px) {
	.wcp-equipment-card-specs > div { grid-template-columns: 1fr; gap: .2rem; }
}

/* Shared record close: factual CMS state plus a deliberate availability check. */
.wcp-listing-assurance {
	display: grid;
	grid-template-columns: minmax(150px, .42fr) minmax(0, 1.5fr) auto;
	align-items: center;
	gap: var(--wcp-space-4);
	width: min(1180px, calc(100% - (2 * var(--wcp-edge))));
	margin: var(--wcp-space-7) auto;
	padding: var(--wcp-space-4);
	border-top: 7px solid var(--wcp-red);
	background: var(--wcp-ink-deep);
	color: var(--wcp-paper-bright);
}

.wcp-listing-assurance__status {
	align-self: stretch;
	padding-right: var(--wcp-space-4);
	border-right: 1px solid rgba(255, 255, 255, .18);
}

.wcp-listing-assurance__status span,
.wcp-listing-assurance__copy > span {
	display: block;
	margin-bottom: .6rem;
	color: var(--wcp-aqua);
	font-family: var(--wcp-font-ui);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .11em;
	line-height: 1.35;
	text-transform: uppercase;
}

.wcp-listing-assurance__status strong {
	display: flex;
	align-items: center;
	gap: .55rem;
	font-family: var(--wcp-font-ui);
	font-size: .88rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.wcp-listing-assurance__status i {
	width: .7rem;
	height: .7rem;
	background: var(--wcp-aqua);
	box-shadow: 0 0 0 4px rgba(82, 209, 196, .13);
}

.wcp-listing-assurance__copy h2 {
	margin: 0;
	color: var(--wcp-paper-bright);
	font-size: clamp(1.65rem, 2.8vw, 2.55rem);
	letter-spacing: -.035em;
	line-height: 1.02;
}

.wcp-listing-assurance__copy p {
	max-width: 700px;
	margin: .75rem 0 0;
	color: var(--wcp-paper-muted);
	font-size: .92rem;
	line-height: 1.55;
}

.wcp-listing-assurance__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: .85rem 1.15rem;
	border: 1px solid var(--wcp-red);
	background: var(--wcp-red);
	color: #fff;
	font-family: var(--wcp-font-ui);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-align: center;
	text-transform: uppercase;
}

.wcp-listing-assurance__action:hover,
.wcp-listing-assurance__action:focus {
	border-color: var(--wcp-aqua);
	background: transparent;
	color: var(--wcp-aqua);
}

/* Reusable editorial measurements for native WordPress content. */
.entry-content :where(p, ul, ol, blockquote) { max-width: var(--wcp-reading); }
.entry-content :where(h2, h3, h4) { max-width: 900px; }

.entry-content blockquote {
	border-left: 5px solid var(--wcp-aqua);
	background: var(--wcp-mist);
	color: var(--wcp-ink);
}

.entry-content :where(code, pre) {
	border-radius: 0;
	background: var(--wcp-ink-deep);
	color: var(--wcp-paper-bright);
}

@media (hover: hover) {
	:where(.wcp-home-button, .wcp-claim-button, .wcp-equipment-button, button, input[type="submit"]):hover {
		transform: translateY(-2px);
	}

	:where(.wcp-home-paths > a, .wcp-home-posts article, .wcp-journal-grid article):hover img {
		transform: scale(1.025);
	}
}

@media (max-width: 700px) {
	:root { --wcp-edge: 20px; --wcp-reading: 100%; }
	.wcp-service-nav {
		display: block;
		padding: 12px 0 14px;
	}
	.wcp-service-nav__inner {
		display: block;
		width: 100%;
	}
	.wcp-service-nav__label {
		display: block;
		padding: 0 20px 9px;
	}
	.wcp-service-nav__links {
		gap: 8px;
		padding: 0 20px 4px;
		scroll-padding-inline: 20px;
		scrollbar-width: none;
	}
	.wcp-service-nav__links::-webkit-scrollbar { display: none; }
	.wcp-service-nav__links a {
		min-height: 42px;
		padding: 0 14px;
		border: 1px solid var(--wcp-line);
		border-radius: 999px;
		background: var(--wcp-white);
	}
	.wcp-service-nav__links a[aria-current="page"] {
		border-color: var(--wcp-ink);
		background: var(--wcp-ink);
		color: var(--wcp-white);
	}
	.wcp-service-dossier {
		display: block;
		margin-top: var(--wcp-space-3);
	}
	.wcp-service-dossier__eyebrow { border-right: 0; }
	.wcp-service-dossier__facts { grid-template-columns: 1fr; }
	.wcp-service-dossier__fact {
		display: grid;
		grid-template-columns: minmax(92px, .7fr) 1.5fr;
		gap: var(--wcp-space-2);
		border-right: 0;
		border-bottom: 1px solid var(--wcp-line);
	}
	.wcp-service-dossier__fact:last-child { border-bottom: 0; }
	.wcp-service-dossier dt { margin: 0; }
	.wcp-service-cta {
		grid-template-columns: 1fr;
		gap: var(--wcp-space-4);
		margin-block: var(--wcp-space-6);
		padding: var(--wcp-space-4) var(--wcp-space-3);
	}
	.wcp-service-cta__action { width: 100%; min-width: 0; }
	.wcp-tenure-directory__hero-note--inventory {
		min-width: 0;
		padding: var(--wcp-space-3) 0 0;
	}
	.wcp-listing-assurance {
		grid-template-columns: 1fr;
		gap: var(--wcp-space-3);
		margin-block: var(--wcp-space-6);
		padding: var(--wcp-space-4) var(--wcp-space-3);
	}
	.wcp-listing-assurance__status {
		padding: 0 0 var(--wcp-space-3);
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .18);
	}
	.wcp-listing-assurance__action { width: 100%; }
	.entry-content :where(table) { font-size: .88rem; }
	:where(th, td) { padding: .65rem .55rem; }
}

/* Journal cards stay intentional even when an older post has no thumbnail. */
.wcp-journal-card-fallback {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	height: 270px;
	margin: 0 0 19px;
	padding: 24px;
	background:
		linear-gradient(135deg, rgba(83, 209, 207, .18), transparent 52%),
		var(--wcp-ink);
	color: var(--wcp-white);
}

.wcp-journal-card-fallback span {
	font-family: var(--wcp-font-ui);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.wcp-journal-card-fallback strong {
	color: var(--wcp-aqua);
	font-family: var(--wcp-font-display);
	font-size: clamp(2.5rem, 5vw, 5.5rem);
	line-height: .8;
}

.wcp-journal-index #content > article.post-box:nth-of-type(7n+1) .wcp-journal-card-fallback {
	height: 430px;
}

.wcp-journal-index #content > .wcp-index-pagination {
	grid-column: 1 / -1;
	width: 100%;
	max-width: none;
	margin-top: 0;
}

@media (max-width: 700px) {
	.wcp-journal-card-fallback,
	.wcp-journal-index #content > article.post-box:nth-of-type(7n+1) .wcp-journal-card-fallback {
		height: 245px;
	}
}

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

/* Field Journal cards use a legible record hierarchy instead of legacy icon metadata. */
.wcp-journal-card-record {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem 1rem;
	margin-bottom: .8rem;
	color: var(--wcp-slate);
	font-family: var(--wcp-font-ui);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .09em;
	line-height: 1.35;
	text-transform: uppercase;
}

.wcp-journal-card-record > * + * {
	position: relative;
}

.wcp-journal-card-record > * + *::before {
	content: '';
	position: absolute;
	top: .38em;
	left: -.58rem;
	width: 3px;
	height: 3px;
	background: var(--wcp-aqua);
}

.wcp-journal-card-record a { color: var(--wcp-teal); }

.wcp-journal-card-excerpt {
	display: -webkit-box;
	overflow: hidden;
	max-width: 58ch;
	margin: .75rem 0 1rem;
	color: var(--wcp-slate);
	font-size: .92rem;
	line-height: 1.6;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.wcp-journal-card-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: .7rem;
	border-top: 1px solid var(--wcp-line);
	color: var(--wcp-ink);
	font-family: var(--wcp-font-ui);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .07em;
	line-height: 1.3;
	text-transform: uppercase;
}

.wcp-journal-card-action span:last-child {
	color: var(--wcp-red);
	font-size: 1.15rem;
	transition: transform var(--wcp-motion-fast);
}

.wcp-journal-card-action:hover,
.wcp-journal-card-action:focus { color: var(--wcp-teal); }

.wcp-journal-card-action:hover span:last-child,
.wcp-journal-card-action:focus span:last-child { transform: translateX(4px); }

/* Article close: adjacent records and durable category-led discovery. */
.wcp-article-navigation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: var(--wcp-space-6) 0;
	background: var(--wcp-line);
	border: 1px solid var(--wcp-line);
}

.wcp-article-navigation > div {
	min-height: 118px;
	padding: var(--wcp-space-3);
	background: var(--wcp-paper-bright);
}

.wcp-article-navigation__next { text-align: right; }

.wcp-article-navigation > div > span {
	display: block;
	margin-bottom: .65rem;
	color: var(--wcp-slate);
	font-family: var(--wcp-font-ui);
	font-size: .65rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.wcp-article-navigation a {
	display: inline-flex;
	gap: .65rem;
	align-items: baseline;
	max-width: 34ch;
	color: var(--wcp-ink);
	font-family: var(--wcp-font-display);
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	font-weight: 750;
	line-height: 1.25;
}

.wcp-article-navigation a:hover,
.wcp-article-navigation a:focus { color: var(--wcp-teal); }

.wcp-article-related {
	margin-top: var(--wcp-space-7);
	padding-top: var(--wcp-space-4);
	border-top: 7px solid var(--wcp-ink-deep);
}

.wcp-article-related__header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: var(--wcp-space-4);
	margin-bottom: var(--wcp-space-4);
}

.wcp-article-related__header span,
.wcp-article-related__body > span {
	color: var(--wcp-teal);
	font-family: var(--wcp-font-ui);
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.wcp-article-related__header h2 {
	margin: .45rem 0 0;
	font-size: clamp(1.75rem, 3vw, 2.6rem);
	letter-spacing: -.035em;
}

.wcp-article-related__header > a {
	color: var(--wcp-ink);
	font-family: var(--wcp-font-ui);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.wcp-article-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wcp-space-3);
}

.wcp-article-related__grid article {
	border: 1px solid var(--wcp-line);
	background: var(--wcp-paper-bright);
}

.wcp-article-related__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--wcp-mist);
}

.wcp-article-related__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--wcp-motion-slow);
}

.wcp-article-related__body { padding: var(--wcp-space-3); }

.wcp-article-related__body h3 {
	margin: .55rem 0 0;
	font-size: 1.1rem;
	line-height: 1.25;
}

.wcp-article-related__body h3 a { color: var(--wcp-ink); }
.wcp-article-related__body h3 a:hover,
.wcp-article-related__body h3 a:focus { color: var(--wcp-teal); }

@media (hover: hover) {
	.wcp-article-related__grid article:hover img { transform: scale(1.025); }
}

@media (max-width: 700px) {
	.wcp-article-navigation { grid-template-columns: 1fr; }
	.wcp-article-navigation > div { min-height: 0; }
	.wcp-article-related__header { display: block; }
	.wcp-article-related__header > a { display: inline-block; margin-top: var(--wcp-space-2); }
	.wcp-article-related__grid { grid-template-columns: 1fr; }
	.wcp-article-related__grid article { display: grid; grid-template-columns: 110px minmax(0, 1fr); }
	.wcp-article-related__media { height: 100%; aspect-ratio: auto; }
}

/* Contact is the shared handoff for service, claim and equipment records. */
.wcp-contact-claim-note a {
	margin-left: auto;
	color: #0a635f;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.wcp-contact-form-panel .wpcf7 form > p:not(:has(.wpcf7-form-control-wrap, .wpcf7-submit)) { margin-bottom: 5px; }
.wcp-contact-form-panel .wpcf7 form > p:has(.wpcf7-form-control-wrap) { margin-bottom: 20px; }
.wcp-contact-form-panel .wpcf7 .wpcf7-not-valid {
	border-color: #c9293b;
	background: #fff7f7;
}
.wcp-contact-form-panel .wpcf7-not-valid-tip {
	margin-top: 7px;
	color: #a51e30;
	font-size: 13px;
	font-weight: 700;
}
.wcp-contact-form-panel .wpcf7 form .wpcf7-response-output {
	margin: 22px 0 0;
	padding: 15px 18px;
	border: 0;
	border-left: 4px solid #2457d6;
	background: #eef4ff;
	color: #10252b;
	font-size: 15px;
	line-height: 1.5;
}
.wcp-contact-form-panel .wpcf7 form.sent .wpcf7-response-output {
	border-left-color: #0a7c68;
	background: #eaf7f3;
}
.wcp-contact-form-panel .wpcf7 form.invalid .wpcf7-response-output,
.wcp-contact-form-panel .wpcf7 form.failed .wpcf7-response-output {
	border-left-color: #c9293b;
	background: #fff0f1;
}
.wcp-contact-form-panel .wpcf7-spinner { margin: 0 0 0 14px; vertical-align: middle; }
@media (max-width: 560px) {
	.wcp-contact-claim-note a { width: 100%; margin: 5px 0 0; }
}

/* Search and journal archives expose their live WordPress query state. */
.wcp-index-readout {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: min(100%, 740px);
	margin: var(--wcp-space-3) 0 0;
	border-block: 1px solid rgba(169, 189, 184, .58);
}
.wcp-index-readout > div { padding: var(--wcp-space-2) var(--wcp-space-3) var(--wcp-space-2) 0; }
.wcp-index-readout > div + div { padding-left: var(--wcp-space-3); border-left: 1px solid rgba(169, 189, 184, .58); }
.wcp-index-readout dt {
	margin-bottom: .3rem;
	color: var(--wcp-aqua);
	font-family: var(--wcp-font-ui);
	font-size: .65rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.wcp-index-readout dd {
	margin: 0;
	color: var(--wcp-paper-bright);
	font-family: var(--wcp-font-ui);
	font-size: clamp(.9rem, .82rem + .2vw, 1.05rem);
	font-weight: 700;
	line-height: 1.3;
}
.wcp-journal-archive-header .wcp-index-readout { margin-top: var(--wcp-space-4); }
@media (max-width: 560px) {
	.wcp-index-readout > div { padding-right: var(--wcp-space-1); }
	.wcp-index-readout > div + div { padding-left: var(--wcp-space-2); }
}
/* Sample-letter references keep the exact authored copy while adding a clear,
 * keyboard-accessible handoff from the public field library to a draft. */
.wcp-letter-context {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wcp-space-2);
	width: min(860px, calc(100% - 64px));
	margin: var(--wcp-space-3) auto 0;
	height: auto;
	padding: 0;
	background: transparent;
	font-family: var(--wcp-font-ui);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.wcp-letter-context a { color: var(--wcp-aqua-dark); }
.wcp-letter-context a:hover,
.wcp-letter-context a:focus { color: var(--wcp-red); }
.wcp-letter-context > span { color: var(--wcp-muted); text-align: right; }
.wcp-field-document .wcp-letter-tools {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px 32px;
	align-items: center;
	width: min(860px, calc(100% - 64px));
	margin: 56px auto 0;
	padding: 24px 0;
	border-top: 1px solid #9eb9b3;
	border-bottom: 1px solid #9eb9b3;
}
.wcp-letter-tools__label {
	display: block;
	margin-bottom: 6px;
	color: #087b75;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.wcp-letter-tools p { margin: 0; color: #405754; font-size: 14px; line-height: 1.55; }
.wcp-letter-copy {
	min-height: 48px;
	padding: 12px 20px;
	border: 0;
	border-radius: 0;
	background: #d92738;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}
.wcp-letter-copy:hover { background: #10252b; }
.wcp-letter-copy:focus-visible { outline: 3px solid #47c9be; outline-offset: 3px; }
.wcp-letter-tools .wcp-letter-copy-status { grid-column: 1 / -1; min-height: 1.4em; color: #087b75; }
@media (max-width: 700px) {
	.wcp-letter-context { display: block; width: calc(100% - 40px); }
	.wcp-letter-context a,
	.wcp-letter-context > span { display: block; width: 100%; text-align: left; }
	.wcp-letter-context > span { margin-top: 8px; }
	.wcp-field-document .wcp-letter-tools { clear: both; grid-template-columns: 1fr; width: calc(100% - 40px); margin-top: 24px; }
	.wcp-letter-copy { width: 100%; }
}

/* The legacy Links page is a resource index, not a prose document. Keep the
 * authored destinations and descriptions, but expose them as scannable records
 * and suppress two empty, broken third-party logo embeds. */
.wcp-links-intro {
	display: grid;
	grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr);
	gap: var(--wcp-space-3);
	width: min(1160px, calc(100% - 64px));
	margin: var(--wcp-space-4) auto 0;
	padding-bottom: var(--wcp-space-3);
	border-bottom: 1px solid var(--wcp-line);
}
.wcp-links-intro span {
	color: var(--wcp-aqua-dark);
	font-family: var(--wcp-font-ui);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.wcp-links-intro p { max-width: 650px; margin: 0; color: var(--wcp-ink-soft); font-size: var(--wcp-step-1); line-height: 1.35; }
.wcp-links-document .entry-content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	width: min(1160px, calc(100% - 64px));
	padding-top: var(--wcp-space-3);
	background: var(--wcp-line);
}
.wcp-links-document .entry-content > :not(p) { display: none; }
.wcp-links-document .entry-content > p {
	min-height: 150px;
	margin: 0;
	padding: var(--wcp-space-3);
	background: var(--wcp-paper-bright);
	font-size: 1rem;
	line-height: 1.55;
}
.wcp-links-document .entry-content > p:has(> a > img[alt=""]) { display: none; }
.wcp-links-document .entry-content > p:empty { display: none; }
.wcp-links-document .entry-content > p > a:not(.twitter-follow-button) {
	display: block;
	margin-bottom: .55rem;
	color: var(--wcp-ink);
	font-family: var(--wcp-font-ui);
	font-size: var(--wcp-step-1);
	font-weight: 800;
	line-height: 1.15;
}
.wcp-links-document .entry-content > p > a:not(.twitter-follow-button)::after { content: " \2197"; color: var(--wcp-red); }
.wcp-links-document .entry-content > p:has(.twitter-follow-button),
.wcp-links-document .entry-content > p:has(script),
.wcp-links-document .entry-content > p:first-of-type { min-height: 0; grid-column: 1 / -1; }
@media (max-width: 700px) {
	.wcp-links-intro { grid-template-columns: 1fr; width: calc(100% - 40px); }
	.wcp-links-document .entry-content { grid-template-columns: 1fr; width: calc(100% - 40px); }
	.wcp-links-document .entry-content > p { min-height: 0; padding: 24px 20px; }
}

/* Advocacy hub: preserve the authored campaign details while separating
 * guidance, contacts and letter references into a scannable field document. */
.wcp-advocacy-intro {
	display: grid;
	grid-template-columns: minmax(150px, .42fr) minmax(0, 1fr);
	gap: var(--wcp-space-3);
	align-items: end;
	width: calc(100% - var(--wcp-edge) - var(--wcp-edge));
	max-width: 940px;
	margin: 0 auto var(--wcp-space-4);
	padding: var(--wcp-space-3);
	border: 1px solid var(--wcp-line);
	border-left: 5px solid var(--wcp-red);
	background: var(--wcp-mist);
}
.wcp-advocacy-intro span {
	color: var(--wcp-aqua-dark);
	font-family: var(--wcp-font-ui);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.wcp-advocacy-intro p { margin: 0; color: var(--wcp-ink); font-size: var(--wcp-step-1); line-height: 1.35; }
.wcp-advocacy-document .entry-content { max-width: 820px; }
.wcp-advocacy-document .entry-content > p:first-child { color: var(--wcp-ink); font-size: var(--wcp-step-1); line-height: 1.45; }
.wcp-advocacy-document .entry-content > ul {
	margin: var(--wcp-space-2) 0 var(--wcp-space-3);
	padding: var(--wcp-space-2) var(--wcp-space-3) var(--wcp-space-2) 2.8rem;
	border: 1px solid var(--wcp-line);
	background: var(--wcp-paper-bright);
}
.wcp-advocacy-document .entry-content > ul li { margin: .45rem 0; }
.wcp-advocacy-document .entry-content > hr { height: 1px; margin: var(--wcp-space-4) 0; border: 0; background: var(--wcp-line); }
.wcp-advocacy-document .entry-content > h1 { margin: var(--wcp-space-4) 0 var(--wcp-space-2); font-size: var(--wcp-step-2); }
.wcp-advocacy-document .entry-content > p:has(> a[href*="sample-letter"], > a[href*="minister-nathan"], > a[href*="less-sophisticated"]) {
	margin: 0 0 10px;
	padding: 18px 20px;
	border: 1px solid var(--wcp-line);
	background: var(--wcp-paper-bright);
}
.wcp-advocacy-document .entry-content > p:has(> a[href*="sample-letter"], > a[href*="minister-nathan"], > a[href*="less-sophisticated"]) a {
	display: inline-block;
	margin-top: 5px;
	font-family: var(--wcp-font-ui);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
@media (max-width: 700px) {
	.wcp-advocacy-intro { grid-template-columns: 1fr; width: calc(100% - 40px); }
	.wcp-advocacy-document .entry-content > ul { padding-left: 2.35rem; }
}

/* Mobile hero corrections: legacy ID rules were compressing the About hero,
 * while the homepage proof links were absolutely packed into a fixed canvas. */
#bedrock-header.wcp-about-hero {
	height: min(860px, 86vh);
	min-height: 760px;
	margin-top: 0;
	margin-bottom: 0;
}

@media (max-width: 700px) {
	#bedrock-header.wcp-about-hero {
		height: 660px;
		min-height: 660px;
	}
	.wcp-about-hero #landing-wrapper.vertical {
		height: 100%;
		padding: 0;
	}
	.wcp-about-hero #landing-wrapper .inner h1 {
		font-size: clamp(48px, 13.5vw, 56px);
		line-height: .92;
	}
	.wcp-about-hero .wcp-about-hero-data { display: none; }

	.wcp-home-hero {
		display: block;
		min-height: 0;
	}

	.wcp-home-hero__content {
		display: flex;
		min-height: 720px;
		padding-top: 88px;
		padding-bottom: 48px;
		flex-direction: column;
		justify-content: center;
	}

	.wcp-home-hero__proof {
		position: relative;
		right: auto;
		bottom: auto;
		left: auto;
		grid-template-columns: 1fr;
		justify-content: stretch;
		justify-items: stretch;
		width: 100%;
		height: auto !important;
		margin: 0;
		padding: 0 !important;
		box-shadow: none;
		box-sizing: border-box;
	}

	.wcp-home-hero__proof a {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 5px 18px;
		align-items: center;
		width: 100%;
		max-width: none;
		min-height: 88px;
		margin: 0;
		padding: 17px 20px;
	}

	.wcp-home-hero__proof a span,
	.wcp-home-hero__proof a strong { grid-column: 1; }
	.wcp-home-hero__proof a em {
		display: block;
		grid-column: 2;
		grid-row: 1 / span 2;
		margin: 0;
		font-size: 0;
	}
	.wcp-home-hero__proof a em::after {
		content: "\2192";
		font-size: 18px;
	}
}
