/*
Theme Name: Phil Richmond Builders
Theme URI: https://philrichmondbuilders.co.nz
Author: webaddress
Author URI: https://webaddress.host
Description: Photo-led trade site for Phil Richmond Builders Ltd — experienced builders across Christchurch and Canterbury. Block theme, three surfaces: Home/About, Gallery, Contact.
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: phil-richmond-builders
Tags: block-theme, business, portfolio, one-column, full-width-template, custom-colors, custom-menu

Hanken Grotesk is licensed under the SIL Open Font License 1.1.
*/

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

body {
	text-wrap: pretty;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(to right, rgba(34, 86, 160, 0.09) 0 1px, transparent 1px 96px),
		repeating-linear-gradient(to bottom, rgba(34, 86, 160, 0.09) 0 1px, transparent 1px 96px),
		repeating-linear-gradient(to right, rgba(34, 86, 160, 0.045) 0 1px, transparent 1px 16px),
		repeating-linear-gradient(to bottom, rgba(34, 86, 160, 0.045) 0 1px, transparent 1px 16px);
	-webkit-mask-image: radial-gradient(130% 120% at 4% 40%, #000 0%, #000 30%, transparent 72%);
	mask-image: radial-gradient(130% 120% at 4% 40%, #000 0%, #000 30%, transparent 72%);
}

.wp-block-template-part {
	display: contents;
}

h1,
h2,
h3 {
	text-wrap: balance;
}

::selection {
	background: var(--wp--custom--selection);
}

:focus-visible {
	outline: 2px solid var(--wp--preset--color--orange);
	outline-offset: 2px;
}

img,
picture {
	max-width: 100%;
}

.prb-pic {
	display: block;
}

.prb-pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-button__link,
.wp-block-image img,
input,
select,
textarea {
	border-radius: 0;
}

.prb-shell {
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--70);
}

.prb-section {
	padding-block: var(--wp--preset--spacing--80);
}

.prb-eyebrow {
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 16px;
	color: var(--wp--preset--color--orange-ink);
}

.prb-eyebrow--on-navy {
	color: var(--wp--preset--color--cream);
	font-weight: 700;
	text-shadow: var(--wp--custom--eyebrow-shadow);
}

.prb-lede {
	color: var(--wp--preset--color--muted);
	max-width: var(--wp--custom--measure--body);
}

.prb-section-head {
	margin: 0 0 26px;
}

.prb-subhead {
	font-size: var(--wp--preset--font-size--subtitle);
}

.prb-mt-lg {
	margin-top: 26px;
}

.prb-measure-tight {
	max-width: 44ch;
}

.prb-btn {
	display: inline-block;
	font-weight: 700;
	font-size: 15.5px;
	line-height: 1.2;
	padding: 14px 26px;
	text-decoration: none;
	white-space: nowrap;
	border: 2px solid transparent;
	transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
}

.prb-btn--solid {
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--navy);
}

.prb-btn--solid:hover,
.prb-btn--solid:focus-visible {
	background: var(--wp--custom--orange-hover);
	color: var(--wp--preset--color--navy);
}

.prb-btn--ghost {
	border-color: color-mix(in srgb, var(--wp--preset--color--cream) 60%, transparent);
	color: var(--wp--preset--color--cream);
	padding: 12px 26px;
}

.prb-btn--ghost:hover,
.prb-btn--ghost:focus-visible {
	border-color: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--white);
}

.prb-btn--outline {
	border-color: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--navy);
	padding: 12px 26px;
}

.prb-btn--outline:hover,
.prb-btn--outline:focus-visible {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
}

.prb-btn-row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.prb-nav {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
	padding: 12px var(--wp--preset--spacing--70);
	background: var(--wp--preset--color--navy);
	position: sticky;
	top: 0;
	z-index: 20;
}

.prb-nav__logo {
	display: block;
	line-height: 0;
}

.prb-nav__logo img {
	height: 58px;
	width: auto;
	display: block;
}

.prb-nav__spacer {
	flex: 1;
}

.prb-nav__links {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
}

.prb-nav__link {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
	color: var(--wp--preset--color--cream-soft);
	padding: 13px 4px;
	line-height: 19px;
}

.prb-nav__link:hover,
.prb-nav__link:focus-visible {
	color: var(--wp--custom--orange-hover);
}

.prb-nav__link[aria-current="page"] {
	color: var(--wp--preset--color--orange);
}

.prb-nav .prb-btn {
	font-size: var(--wp--preset--font-size--small);
	padding: 11px 22px;
}

@media (max-width: 820px) {
	.prb-nav {
		gap: 0 14px;
		padding-inline: var(--wp--preset--spacing--30);
	}

	.prb-nav__spacer {
		flex: 1;
	}

	.prb-nav__links {
		flex: 1 1 100%;
		gap: 0 14px;
	}

	.prb-nav__logo img {
		height: 40px;
	}

	.prb-nav__link {
		padding: 13px 2px;
	}

	.prb-nav .prb-btn {
		margin-inline-start: auto;
		padding: 9px 12px;
		font-size: var(--wp--preset--font-size--meta);
	}
}

@media (max-width: 820px) {
	:root {
		--prb-nav-h: 109px;
	}
}

.prb-hero {
	position: relative;
}

.prb-hero__media,
.prb-hero__media img {
	width: 100%;
	height: var(--wp--custom--hero-height);
	object-fit: cover;
	display: block;
}

.prb-hero__media {
	overflow: hidden;
}

.prb-hero__scrim {
	position: absolute;
	inset: 0;
	background: var(--wp--custom--scrim);
	pointer-events: none;
}

.prb-hero__body {
	position: absolute;
	left: var(--wp--preset--spacing--70);
	right: var(--wp--preset--spacing--70);
	bottom: clamp(32px, 5vw, 52px);
	color: var(--wp--preset--color--cream);
	max-width: 1440px;
	margin-inline: auto;
}

.prb-hero__body h1 {
	color: var(--wp--preset--color--cream);
	margin: 0;
	max-width: var(--wp--custom--measure--headline);
	text-shadow: var(--wp--custom--hero-text-shadow);
}

.prb-hero .prb-btn-row {
	margin-top: 28px;
}

.prb-trust {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--wp--preset--color--hairline);
	border-bottom: 1px solid var(--wp--preset--color--hairline);
}

@media (max-width: 900px) {
	.prb-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.prb-trust {
		grid-template-columns: 1fr;
	}
}

.prb-trust__cell {
	background: var(--wp--preset--color--cream);
	padding: 22px 24px;
}

.prb-trust__cell:first-child {
	padding-inline-start: var(--wp--preset--spacing--70);
}

.prb-trust__cell:last-child {
	padding-inline-end: var(--wp--preset--spacing--70);
}

.prb-trust__lead {
	display: block;
	font-weight: 800;
	font-size: var(--wp--preset--font-size--stat);
	color: var(--wp--preset--color--navy);
	letter-spacing: -0.015em;
}

.prb-trust__sub {
	display: block;
	font-size: var(--wp--preset--font-size--eyebrow);
	color: var(--wp--preset--color--muted);
	margin-top: 2px;
}

.prb-split {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 36px clamp(32px, 5vw, 72px);
	align-items: center;
}

.prb-about {
	padding-block: var(--wp--preset--spacing--90);
}

.prb-about .prb-pic {
	aspect-ratio: 4 / 3;
}

.prb-band--white {
	background: var(--wp--preset--color--white);
	border-block: 1px solid var(--wp--preset--color--hairline);
}

.prb-services__head {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(280px, 1.2fr);
	gap: 18px clamp(32px, 6vw, 88px);
	align-items: end;
	margin-bottom: clamp(28px, 4vw, 48px);
}

.prb-services__head h2,
.prb-services__head p {
	margin: 0;
}

.prb-services__head p {
	max-width: var(--wp--custom--measure--blurb);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lead);
}

.prb-priority-services {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 40px);
}

.prb-priority-service {
	display: grid;
	grid-template-rows: auto 1fr;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--hairline-ui);
}

.prb-priority-service .prb-pic {
	width: 100%;
	aspect-ratio: 4 / 3;
}

.prb-priority-service__body {
	padding: clamp(24px, 3vw, 38px);
}

.prb-priority-service__number {
	margin: 0 0 12px;
	font-size: var(--wp--preset--font-size--pill);
	font-weight: 800;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--orange-ink);
}

.prb-priority-service h3 {
	font-size: clamp(25px, 2.5vw, 34px);
	margin: 0 0 14px;
}

.prb-priority-service__body > p:not(.prb-priority-service__number) {
	color: var(--wp--preset--color--muted);
	margin: 0;
}

.prb-service-detail {
	display: grid;
	gap: 7px;
	margin: 22px 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--wp--preset--color--hairline);
	list-style: none;
}

.prb-service-detail li::before {
	content: "+";
	display: inline-block;
	width: 1.4em;
	font-weight: 800;
	color: var(--wp--preset--color--orange-ink);
}

.prb-text-link {
	color: var(--wp--preset--color--navy);
	font-weight: 800;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.prb-text-link:hover,
.prb-text-link:focus-visible {
	color: var(--wp--preset--color--orange-ink);
}

.prb-services__more {
	font-size: var(--wp--preset--font-size--stat);
	margin: clamp(34px, 5vw, 56px) 0 18px;
}

@media (max-width: 760px) {
	.prb-services__head,
	.prb-priority-services {
		grid-template-columns: 1fr;
	}
}

.prb-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--wp--preset--spacing--30);
}

.prb-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--hairline-ui);
	padding: 24px 22px;
	text-decoration: none;
	display: block;
	transition: background-color 120ms ease;
}

.prb-card:hover,
.prb-card:focus-visible {
	background: var(--wp--preset--color--tint);
}

.prb-card__rule {
	display: block;
	width: 26px;
	height: var(--wp--custom--rule--accent);
	background: var(--wp--preset--color--orange);
	margin-bottom: 14px;
}

.prb-card__title {
	display: block;
	font-weight: 800;
	font-size: 18px;
	margin-bottom: 8px;
	color: var(--wp--preset--color--navy);
	letter-spacing: -0.015em;
}

.prb-card__copy {
	display: block;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

.prb-band--navy {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--cream-soft);
}

.prb-band--navy h2,
.prb-band--navy h3 {
	color: var(--wp--preset--color--cream-soft);
}

.prb-band--navy p {
	color: color-mix(in srgb, var(--wp--preset--color--cream-soft) 78%, transparent);
}

.prb-oneoff {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	align-items: stretch;
	max-width: 1440px;
	margin-inline: auto;
}

.prb-oneoff .prb-pic,
.prb-oneoff .prb-pic img {
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

.prb-oneoff__body {
	padding: clamp(38px, 4.5vw, 60px) var(--wp--preset--spacing--70);
}

.prb-oneoff__body h2 {
	line-height: 1.2;
	max-width: 22ch;
	margin: 0;
}

.prb-oneoff__body p {
	max-width: 48ch;
}

.prb-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--wp--preset--spacing--50) clamp(28px, 4vw, 56px);
}

.prb-step {
	border-top: var(--wp--custom--rule--accent) solid var(--wp--preset--color--navy);
	padding-top: 16px;
}

.prb-step h3 {
	margin: 0 0 8px;
}

.prb-step p {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.65;
	color: var(--wp--preset--color--muted);
	margin: 0;
	max-width: var(--wp--custom--measure--tight);
}

.prb-proof {
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--cream-soft) 14%, transparent);
}

.prb-proof__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 32px clamp(32px, 5vw, 72px);
	align-items: start;
	padding-block: clamp(48px, 5.5vw, 70px);
}

.prb-proof__inner > h2 {
	grid-column: 1 / -1;
	margin: 0;
}

.prb-proof__support {
	display: grid;
	gap: 36px;
}

.prb-proof blockquote {
	margin: 0;
}

.prb-proof blockquote p {
	font-weight: 800;
	font-size: clamp(21px, 2vw, 26px);
	line-height: 1.4;
	letter-spacing: -0.015em;
	margin: 0;
	max-width: var(--wp--custom--measure--quote);
	color: var(--wp--preset--color--cream-soft);
}

.prb-proof blockquote footer {
	font-size: 15.5px;
	margin-top: 22px;
	color: var(--wp--preset--color--orange-lit);
}

.prb-proof .prb-proof__story p {
	font-size: 17px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: normal;
	max-width: 65ch;
}

.prb-proof .prb-proof__story p + p {
	margin-top: 1em;
}

.prb-proof .prb-cert {
	border-inline-start: 0;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--cream-soft) 22%, transparent);
	padding-inline-start: 0;
	padding-top: 28px;
}

@media (max-width: 760px) {
	.prb-proof__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.prb-proof__support {
		border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--cream-soft) 22%, transparent);
		padding-top: 32px;
	}
}

.prb-cert {
	display: flex;
	align-items: center;
	gap: 20px;
	padding-inline-start: clamp(0px, 2vw, 28px);
	border-inline-start: var(--wp--custom--rule--accent) solid color-mix(in srgb, var(--wp--preset--color--orange-lit) 50%, transparent);
}

.prb-cert p {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.65;
	margin: 0;
	max-width: var(--wp--custom--measure--quote);
}

.prb-cert__badge {
	flex: none;
	background: var(--wp--preset--color--white);
	padding: 10px 12px;
	line-height: 0;
}

.prb-cert--bare {
	border-inline-start: 0;
	padding-inline-start: 0;
}

.prb-cert--bare .prb-cert__badge {
	background: transparent;
	padding: 0;
}

.prb-cert--bare p {
	color: var(--wp--preset--color--muted);
}

.prb-cert__badge img {
	height: 96px;
	width: auto;
	display: block;
}

.prb-featured__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--wp--preset--spacing--30);
	flex-wrap: wrap;
	margin-bottom: 22px;
}

.prb-featured__head h2 {
	margin: 0;
}

.prb-morelink {
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--orange-ink);
	text-decoration: none;
}

.prb-morelink:hover,
.prb-morelink:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.prb-tiles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px var(--wp--preset--spacing--30);
}

@media (max-width: 900px) {
	.prb-tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 460px) {
	.prb-tiles {
		grid-template-columns: 1fr;
	}
}

.prb-tile .prb-pic {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.prb-tile {
	text-decoration: none;
	display: block;
}

.prb-tile__name {
	transition: color 120ms ease;
}

.prb-tile:hover .prb-tile__name,
.prb-tile:focus-visible .prb-tile__name {
	color: var(--wp--preset--color--orange-ink);
}

.prb-tile__name {
	display: block;
	font-weight: 700;
	font-size: 15.5px;
	margin-top: 10px;
	color: var(--wp--preset--color--navy);
}

.prb-tile__cat {
	display: block;
	font-size: var(--wp--preset--font-size--meta);
	color: var(--wp--preset--color--muted);
	margin-top: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.prb-tile__name,
	.prb-card,
	.prb-pill,
	.prb-btn {
		transition-duration: 1ms;
	}
}

.prb-cta {
	background: var(--wp--preset--color--white);
	border-top: 1px solid var(--wp--preset--color--hairline);
}

.prb-cta__inner {
	display: flex;
	align-items: center;
	gap: 20px 24px;
	padding-block: clamp(34px, 4vw, 46px);
	flex-wrap: wrap;
}

.prb-cta__copy {
	flex: 1;
	min-width: 280px;
}

.prb-cta__copy p:first-child {
	font-weight: 800;
	font-size: clamp(22px, 2.3vw, 28px);
	letter-spacing: -0.02em;
	margin: 0;
	color: var(--wp--preset--color--navy);
}

.prb-cta__copy p:last-child {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	margin: 6px 0 0;
}

.prb-footer {
	background: var(--wp--preset--color--navy);
	color: color-mix(in srgb, var(--wp--preset--color--cream-soft) 72%, transparent);
}

.prb-footer__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px 28px;
	flex-wrap: wrap;
	padding-block: 26px;
	font-size: var(--wp--preset--font-size--meta);
}

.prb-footer a {
	color: color-mix(in srgb, var(--wp--preset--color--cream-soft) 72%, transparent);
	text-decoration: none;
}

.prb-footer a:hover,
.prb-footer a:focus-visible {
	color: var(--wp--preset--color--cream);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.prb-footer__mark {
	height: 38px;
	width: auto;
	display: block;
}

.prb-gallery__head {
	padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--50);
}

.prb-gallery__head h1 {
	margin: 0;
	max-width: 24ch;
}

.prb-catnav {
	position: sticky;
	top: var(--prb-nav-h, 82px);
	z-index: 15;
	background: var(--wp--preset--color--cream);
	border-block: 1px solid var(--wp--preset--color--hairline);
}

.prb-catnav__inner {
	display: flex;
	gap: var(--wp--preset--spacing--10);
	padding-block: 12px;
	overflow-x: auto;
	scrollbar-width: none;
}

.prb-catnav__inner::-webkit-scrollbar {
	display: none;
}

@media (max-width: 620px) {
	.prb-catnav {
		position: relative;
	}

	.prb-catnav__inner {
		padding-inline-end: var(--wp--preset--spacing--60);
		scroll-snap-type: x proximity;
	}

	.prb-catnav__inner .prb-pill {
		scroll-snap-align: start;
	}

	.prb-catnav::after {
		content: "";
		position: absolute;
		inset-block: 0;
		inset-inline-end: 0;
		width: 44px;
		pointer-events: none;
		background: linear-gradient(
			to right,
			transparent,
			var(--wp--preset--color--cream) 78%
		);
	}
}

.prb-pill {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--hairline-ui);
	padding: 9px 17px;
	white-space: nowrap;
	cursor: pointer;
	font-family: inherit;
	font-weight: 600;
	font-size: 14.5px;
	text-decoration: none;
	transition: background-color 120ms ease, border-color 120ms ease;
}

.prb-pill:hover,
.prb-pill:focus-visible {
	background: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--ink);
}

.prb-pill[aria-current="true"] {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--navy);
}

.prb-project {
	border-top: var(--wp--custom--rule--accent) solid var(--wp--preset--color--navy);
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--80);
	scroll-margin-top: calc(var(--prb-nav-h, 82px) + var(--prb-catnav-h, 52px) + 8px);
}

.prb-project__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--wp--preset--spacing--30);
	flex-wrap: wrap;
}

.prb-project__head h2 {
	margin: 0;
}

.prb-project__cat {
	font-size: var(--wp--preset--font-size--pill);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--orange-ink);
	white-space: nowrap;
}

.prb-project__blurb {
	color: var(--wp--preset--color--muted);
	max-width: var(--wp--custom--measure--blurb);
	margin: 14px 0 22px;
}

.prb-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--wp--preset--spacing--30);
}

.prb-grid figure {
	margin: 0;
}

.prb-grid .prb-pic {
	width: 100%;
}

.prb-span-6 {
	grid-column: span 6;
}

.prb-span-3 {
	grid-column: span 3;
}

.prb-span-2 {
	grid-column: span 2;
}

@media (max-width: 760px) {
	.prb-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.prb-grid figure {
		grid-column: span 1 !important;
	}

	.prb-grid .prb-pic {
		aspect-ratio: 4 / 3 !important;
	}
}

@media (max-width: 460px) {
	.prb-grid {
		grid-template-columns: 1fr;
	}
}

.prb-contact {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 40px clamp(32px, 5vw, 72px);
	align-items: start;
	padding-block: var(--wp--preset--spacing--80);
}

.prb-phone {
	display: inline-block;
	font-size: var(--wp--preset--font-size--phone);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--orange-ink);
	text-decoration: none;
	line-height: 1.1;
}

.prb-phone:hover,
.prb-phone:focus-visible {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.prb-contact__email {
	display: inline-block;
	margin-top: 10px;
	font-size: var(--wp--preset--font-size--lead);
	color: var(--wp--preset--color--ink);
}

.prb-contact__note {
	margin-top: 14px;
}

.prb-contact__note--small {
	font-size: var(--wp--preset--font-size--small);
}

.prb-divider {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--hairline);
	margin-block: 28px;
}

.prb-areas {
	list-style: none;
	padding: 0;
	margin: 12px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.prb-form-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--hairline-ui);
	padding: clamp(22px, 3vw, 32px);
}

.prb-form-card h2 {
	margin-top: 0;
	font-size: var(--wp--preset--font-size--subtitle);
	margin-bottom: 20px;
}

.prb-field {
	margin-bottom: 16px;
}

.prb-field-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 0 var(--wp--preset--spacing--30);
}

.prb-field label {
	display: block;
	font-size: var(--wp--preset--font-size--eyebrow);
	font-weight: 600;
	color: var(--wp--preset--color--navy);
	margin-bottom: 6px;
}

.prb-field input,
.prb-field select,
.prb-field textarea {
	width: 100%;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--base);
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--hairline-ui);
	padding: 11px 13px;
	line-height: 1.4;
}

.prb-field input:focus-visible,
.prb-field select:focus-visible,
.prb-field textarea:focus-visible {
	border-color: var(--wp--preset--color--orange);
}

.prb-field textarea {
	resize: vertical;
	min-height: 120px;
}

.prb-form button {
	margin-top: 8px;
	border: 0;
	cursor: pointer;
	font-family: inherit;
}

.wpcf7-form-control-wrap {
	display: block;
}

.wpcf7 .prb-field p,
.wpcf7 .prb-field-row p {
	margin: 0;
}

.wpcf7 .prb-field br {
	display: none;
}

.prb-field label .prb-hint {
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	color: var(--wp--preset--color--muted);
}

.prb-form__required {
	margin: 0 0 20px;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--base);
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--hairline-ui);
	padding: 11px 13px;
	line-height: 1.4;
	border-radius: 0;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 textarea,
.wpcf7 input[type="submit"] {
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
}

.wpcf7 textarea {
	resize: vertical;
	min-height: 120px;
}

.wpcf7 input[type="submit"] {
	border: 0;
	cursor: pointer;
	font-family: inherit;
	margin-top: 8px;
	transition: background-color 120ms ease, opacity 120ms ease;
}

.wpcf7-response-output {
	display: none !important;
}

.wpcf7-form.submitting input[type="submit"] {
	opacity: 0.65;
	pointer-events: none;
}

.wpcf7-spinner {
	display: none !important;
}

.prb-form-sent {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--cream);
	padding: clamp(22px, 3vw, 30px);
}

.prb-form-sent:focus-visible {
	outline: 2px solid var(--wp--preset--color--orange);
	outline-offset: 2px;
}

.prb-form-sent__lead {
	font-weight: 800;
	font-size: 22px;
	line-height: 1.25;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--cream);
	margin: 0;
}

.prb-form-sent__note {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.65;
	color: color-mix(in srgb, var(--wp--preset--color--cream-soft) 78%, transparent);
	margin: 12px 0 0;
}

.prb-form-sent__note a {
	color: var(--wp--preset--color--orange-lit);
	font-weight: 700;
}

.wpcf7 .wpcf7-form-control.wpcf7-not-valid {
	border: 2px solid var(--wp--preset--color--orange-ink);
}

.wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	font-size: var(--wp--preset--font-size--meta);
	font-weight: 600;
	color: var(--wp--preset--color--orange-ink);
}

.prb-form-failed {
	background: var(--wp--preset--color--tint);
	border-inline-start: 3px solid var(--wp--preset--color--orange-ink);
	padding: 14px 16px;
	margin: 20px 0 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	color: var(--wp--preset--color--ink);
}

.prb-form-failed a {
	color: var(--wp--preset--color--orange-ink);
	font-weight: 700;
}

.prb-hp {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.prb-callbar {
	display: none;
}

@media (max-width: 759px) {
	.prb-callbar {
		display: block;
		position: fixed;
		left: 16px;
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom, 0px));
		z-index: 30;
		background: var(--wp--preset--color--orange);
		color: var(--wp--preset--color--navy);
		font-weight: 800;
		font-size: 16px;
		padding: 16px;
		text-align: center;
		text-decoration: none;
		box-shadow: var(--wp--custom--call-bar-shadow);
	}

	.prb-callbar:hover,
	.prb-callbar:focus-visible {
		background: var(--wp--custom--orange-hover);
		color: var(--wp--preset--color--navy);
	}

	body.page-template-page-contact {
		padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px));
	}
}

@media (max-width: 820px) {
	body.page-template-page-contact .prb-nav .prb-btn {
		display: none;
	}
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link:focus {
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--navy);
	clip-path: none;
	height: auto;
	left: 8px;
	padding: 12px 20px;
	top: 8px;
	width: auto;
	z-index: 100000;
	font-weight: 700;
}
