/* ==========================================================================
   Prudence Golden Engineering — design v3, "the plant" (Eloti Designs).

   One drawing of an industrial site holds the nine services as points to
   select (inc/v2-site.php puts it on the front page and beside inner page
   titles). Around it the page stays quiet and large, in the manner of the big
   engineering brands: Mona Sans in one family, navy type on white and ice,
   brand blue for actions, full-width navy and blue bands, square photos,
   pill buttons with no arrows, lists divided by hairlines rather than boxes.

   1 Tokens  2 Type and buttons  3 Header  4 Opener and the drawing
   5 Front page sections  6 Sections on inner pages  7 Page headers
   8 Pages with a sidebar, prose  9 News  10 Contact  11 Closing band
   12 Footer  13 Tablets  14 Phones
   ========================================================================== */

/* 1. Tokens --------------------------------------------------------------- */
.v2 {
	--pg-navy: #02335d;
	--pg-deep: #01264a;
	--pg-blue: #006bc3;
	--pg-blue-hover: #0059a3;
	--pg-char: #212121;
	--pg-ice: #eef4fa;
	--pg-ice-2: #e3ecf5;
	--pg-steel: #56677a;
	--pg-rule: #d7e2ed;
	--pg-sky: #8cc4f5;
	--pg-wide: 80rem;
	--pg-pad: clamp(1.25rem, 5.5vw, 5rem);
	--w-wide: var(--pg-wide);
	--wp--style--global--wide-size: var(--pg-wide);
	--gutter: var(--pg-pad);
	--space-section: clamp(4rem, 2.2rem + 5vw, 7rem);
	--c-ink: var(--pg-char);
	--c-link: var(--pg-blue);
	--c-tint: var(--pg-ice);
	--c-rule: var(--pg-rule);
	--c-dark: var(--pg-navy);
	--display-weight: 660;
	--display-tracking: -0.026em;
	--display-stretch: 110%;
	--display-leading: 1.04;
	--fs-body: 1.0625rem;
	--fs-h1: clamp(2.25rem, 1.5rem + 2.6vw, 3.5rem);
	--fs-h2: clamp(2.125rem, 1.4rem + 2.4vw, 3.625rem);
	--r-xs: 2px;
	--r-sm: 4px;
	--r-md: 4px;
	--r-lg: 6px;
	--r-btn: 999px;
	--header-h: 88px;
}

/* 2. Type and buttons ---------------------------------------------------- */
.v2 body,
body.v2 {
	font-family: var(--font-body);
	font-stretch: 100%;
	font-weight: 420;
	color: var(--pg-char);
	background: #fff;
}

.v2 :where(h1, h2, h3, h4, .sk-section__title, .page-header__title, .sk-cta__title, .cta-band__title) {
	font-family: var(--font-display);
	font-stretch: var(--display-stretch);
	font-weight: var(--display-weight);
	letter-spacing: var(--display-tracking);
	color: var(--pg-navy);
}

.v2 .sk-section--dark :is(h2, h3, h4) {
	color: #fff;
}

.v2 :where(h3, h4) {
	font-stretch: 106%;
	font-weight: 620;
	letter-spacing: -0.014em;
}

.v2 .sk-section__title {
	font-size: var(--fs-h2);
	line-height: 1.02;
}

.v2 .sk-section__intro,
.v2 .is-style-lead {
	color: var(--pg-steel);
}

.v2 :focus-visible {
	outline: 3px solid var(--pg-blue);
	outline-offset: 3px;
}

/* Buttons: pills, blue or navy outline; no arrows. */
.v2 :is(.button, .wp-block-button__link) {
	min-height: 3.375rem;
	padding: 0.85rem 1.85rem;
	border: 1.5px solid transparent;
	border-radius: 999px;
	background: var(--pg-blue);
	color: #fff;
	font-family: var(--font-body);
	font-size: 1rem;
	font-stretch: 106%;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	box-shadow: none;
}

.v2 :is(.button, .wp-block-button__link):hover {
	background: var(--pg-blue-hover);
	color: #fff;
}

.v2 .wp-block-button.is-style-outline > .wp-block-button__link,
.v2 .button--outline,
.v2 .button--ghost {
	border-color: var(--pg-navy);
	background: transparent;
	color: var(--pg-navy);
}

.v2 .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.v2 .button--outline:hover,
.v2 .button--ghost:hover {
	background: var(--pg-navy);
	color: #fff;
}

.v2 .sk-section--dark .wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: rgb(255 255 255 / 0.6);
	color: #fff;
}

.v2 .sk-section--dark .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: #fff;
	color: var(--pg-navy);
}

.v2 :is(.sk-hero, .sk-cta, .cta-band) .wp-block-button:not(.is-style-outline) .wp-block-button__link::after,
.v2 .cta-band .button--on-dark::after {
	content: none;
}

.v2 .wp-block-buttons {
	gap: 0.75rem;
}

/* 3. Header -------------------------------------------------------------- */
.v2 .topbar {
	display: none;
}

.v2 .site-header {
	border-bottom: 1px solid var(--pg-rule);
	background: #fff;
	box-shadow: none;
}

.v2 .site-header__inner {
	max-width: calc(var(--pg-wide) + 2 * var(--pg-pad));
	min-height: var(--header-h);
	padding-inline: var(--pg-pad);
}

.v2 .site-header .brand-logo__img {
	width: auto;
	height: 46px;
}

.v2 .site-header__contact {
	display: none;
}

.v2 .header-cta {
	min-height: 3rem;
	padding: 0.7rem 1.5rem;
}

@media (min-width: 1220px) { /* nav-bp */
	.v2 .primary-nav .menu {
		gap: 0.5rem;
	}

	.v2 .top-item > .menu-link {
		color: var(--pg-char);
		font-size: 1rem;
		font-stretch: 102%;
		font-weight: 520;
	}

	.v2 .top-item > .menu-link:hover,
	.v2 .top-item.is-current > .menu-link {
		color: var(--pg-navy);
	}

	.v2 .top-item > .menu-link::after {
		left: 0.85rem;
		right: 0.85rem;
		bottom: 0.3rem;
		height: 2px;
		border-radius: 2px;
		background: var(--pg-blue);
	}

	.v2 .sub-menu {
		border: 1px solid var(--pg-rule);
		border-radius: 10px;
		box-shadow: 0 24px 50px -24px rgb(2 51 93 / 0.35);
	}

	.v2 .sub-item > .menu-link {
		border-radius: 6px;
		font-size: 0.95rem;
	}

	.v2 .sub-item > .menu-link:hover {
		background: var(--pg-ice);
		color: var(--pg-navy);
	}
}

.v2 .nav-toggle {
	border: 1.5px solid var(--pg-navy);
	border-radius: 999px;
	color: var(--pg-navy);
}

/* 4. Opener and the drawing ---------------------------------------------- */
.v2 .sk-flow > .pg-hero {
	position: relative;
	overflow: hidden;
	margin-top: 0;
	background: linear-gradient(180deg, #fff 0%, var(--pg-ice) 100%);
}

.v2 .pg-hero__in {
	display: grid;
	grid-template-columns: minmax(0, 34rem) minmax(0, 1fr);
	gap: 2.5rem;
	align-items: center;
	width: min(var(--pg-wide), 100% - 2 * var(--pg-pad));
	min-height: 43.75rem;
	margin-inline: auto;
	padding-block: 2.75rem 3.25rem;
}

.v2 .pg-hero__title {
	margin: 0;
	font-size: clamp(2.375rem, 1.2rem + 2.6vw, 3.5rem);
	font-stretch: 100%;
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.032em;
	text-wrap: wrap;
}

.v2 .pg-hero .sk-hero__text {
	max-width: 30rem;
	margin: 1.6rem 0 0;
	color: var(--pg-steel);
	font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
	line-height: 1.6;
}

.v2 .pg-hero .wp-block-buttons {
	margin-top: 2.1rem;
}

.v2 .pg-hint {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 2.5rem 0 0;
	color: var(--pg-steel);
	font-size: 0.9375rem;
}

.v2 .pg-hint__dot {
	flex: none;
	width: 1.1rem;
	height: 1.1rem;
	border: 1.5px solid rgb(0 107 195 / 0.45);
	border-radius: 50%;
	background: radial-gradient(circle, var(--pg-blue) 0 3.5px, transparent 4px);
}

.v2 .pg-hero__stage {
	position: relative;
	margin-right: calc(-1 * var(--pg-pad) - 5rem);
	margin-left: -3.75rem;
}

.v2 .pg-plant {
	position: relative;
}

.v2 .pg-plant__zoom {
	position: relative;
}

.v2 .pg-plant__img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
}

.v2 .pg-plant.is-crop {
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.v2 .pg-plant.is-crop .pg-plant__zoom {
	position: absolute;
}

/* The nine points: a blue disc with the service's icon; its name shows on
   hover, focus or tap, and one is shown from the start. */
.v2 .pg-spot {
	position: absolute;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	margin: -1.125rem 0 0 -1.125rem;
	border: 2.5px solid #fff;
	border-radius: 50%;
	background: var(--pg-blue);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 8px 18px -8px rgb(2 51 93 / 0.8);
	transition: background-color 0.2s;
}

.v2 .pg-spot::before {
	content: "";
	position: absolute;
	inset: -9px;
	border: 2px solid var(--pg-blue);
	border-radius: 50%;
	opacity: 0;
	animation: pg-ping 2.8s ease-out infinite;
}

.v2 .pg-spot:nth-of-type(3n + 2)::before {
	animation-delay: 0.9s;
}

.v2 .pg-spot:nth-of-type(3n)::before {
	animation-delay: 1.8s;
}

@keyframes pg-ping {
	0% {
		transform: scale(0.6);
		opacity: 0.55;
	}

	100% {
		transform: scale(1.35);
		opacity: 0;
	}
}

.v2 .pg-spot > .sk-icon {
	width: 1.05rem;
	height: 1.05rem;
}

.v2 .pg-spot__tip {
	position: absolute;
	top: 50%;
	left: calc(100% + 0.75rem);
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.65rem 0.9rem 0.65rem 1rem;
	border-radius: 10px;
	background: var(--pg-navy);
	color: #fff;
	font-size: 0.9375rem;
	font-stretch: 104%;
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
	box-shadow: 0 16px 30px -14px rgb(2 51 93 / 0.7);
	opacity: 0;
	transform: translate(-6px, -50%);
	transition: opacity 0.2s, transform 0.2s;
	pointer-events: none;
}

.v2 .pg-spot__tip::after {
	content: "";
	flex: none;
	width: 1rem;
	height: 1rem;
	background: currentColor;
	opacity: 0.8;
	-webkit-mask: var(--pg-chevron) center / contain no-repeat;
	mask: var(--pg-chevron) center / contain no-repeat;
}

.v2 .pg-spot.is-left .pg-spot__tip {
	right: calc(100% + 0.75rem);
	left: auto;
	transform: translate(6px, -50%);
}

.v2 .pg-spot:is(:hover, :focus-visible, .is-open) .pg-spot__tip {
	opacity: 1;
	transform: translate(0, -50%);
}

.v2 .pg-spot:is(:hover, :focus-visible, .is-open) {
	z-index: 2;
	background: var(--pg-navy);
}

.v2 .pg-plant:has(.pg-spot:is(:hover, :focus-visible)) .pg-spot.is-open:not(:hover, :focus-visible) .pg-spot__tip {
	opacity: 0;
}

.v2 .pg-plant:has(.pg-spot:is(:hover, :focus-visible)) .pg-spot.is-open:not(:hover, :focus-visible) {
	z-index: 1;
	background: var(--pg-blue);
}

/* Zoomed in on one service: its place marked. */
.v2 .pg-mark {
	position: absolute;
	width: 1.25rem;
	height: 1.25rem;
	margin: -0.625rem 0 0 -0.625rem;
	border: 2.5px solid #fff;
	border-radius: 50%;
	background: var(--pg-blue);
	box-shadow: 0 0 0 7px rgb(0 107 195 / 0.22), 0 8px 16px -6px rgb(2 51 93 / 0.7);
}

.v2 .pg-mark::before {
	content: "";
	position: absolute;
	inset: -12px;
	border: 2px solid var(--pg-blue);
	border-radius: 50%;
	animation: pg-ping 2.8s ease-out infinite;
}

.v2 {
	--pg-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}

/* 5. Front page sections ------------------------------------------------- */
/* Every section's contents line up on the wide column's left edge; running
   text keeps a readable measure. */
.v2 .sk-section > :not(.alignfull) {
	max-width: var(--w-wide);
}

.v2 .sk-section > :is(p, ul, ol, blockquote) {
	padding-right: max(0px, min(100%, var(--w-wide)) - 46rem);
}

.v2 :is(.sk-section__title, .sk-section__intro, .sk-block-head) {
	text-align: left;
}

.v2 .sk-flow > .pg-hero + .sk-section,
.v2 .sk-flow > .sk-section + .sk-section {
	margin-top: 0;
}

/* Section heads: the title beside its introduction, or beside a button. */
.v2 .pg-head {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 1.5rem 2.5rem;
	align-items: end;
}

.v2 .pg-head > * {
	margin: 0;
}

.v2 .pg-head .sk-section__intro {
	max-width: 40rem;
	font-size: 1.0625rem;
	line-height: 1.7;
}

.v2 .pg-head--row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: end;
}

.v2 .pg-head--row .wp-block-buttons {
	margin: 0;
}

/* Services: an index in two columns, divided by hairlines. */
.v2 .sk-section.pg-svc,
.v2 .sk-section:has(> .sk-services--compact) {
	background: #fff;
}

.v2 .sk-services--compact {
	max-width: var(--pg-wide);
}

.v2 .pg-svc .sk-services--compact {
	margin-top: 3.5rem;
}

.v2 .sk-services__compact {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 3.5rem;
	margin: 0;
	padding: 0;
	border-top: 1.5px solid var(--pg-navy);
	list-style: none;
}

.v2 .sk-service-chip {
	position: relative;
	display: grid;
	grid-template-columns: 1.75rem minmax(0, 1fr) 1.25rem;
	gap: 1.25rem;
	align-items: center;
	min-height: 6rem;
	margin: 0;
	padding: 1.25rem 0;
	border: 0;
	border-bottom: 1px solid var(--pg-rule);
	border-radius: 0;
	background: none;
	box-shadow: none;
	transform: none;
}

.v2 .sk-service-chip:hover {
	background: none;
	box-shadow: none;
	transform: none;
}

.v2 .sk-service-chip__icon {
	display: grid;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--pg-blue);
}

.v2 .sk-service-chip__icon .sk-icon {
	width: 1.625rem;
	height: 1.625rem;
}

.v2 .sk-service-chip__title {
	margin: 0;
	color: var(--pg-navy);
	font-family: var(--font-display);
	font-size: clamp(1.125rem, 1rem + 0.4vw, 1.3125rem);
	font-stretch: 106%;
	font-weight: 580;
	letter-spacing: -0.01em;
	line-height: 1.25;
}

.v2 .sk-service-chip__title a {
	color: inherit;
	text-decoration: none;
}

.v2 .sk-service-chip__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.v2 .sk-service-chip__go {
	display: block;
	width: 1.125rem;
	height: 1.125rem;
	border: 0;
	background: var(--pg-steel);
	-webkit-mask: var(--pg-chevron) center / contain no-repeat;
	mask: var(--pg-chevron) center / contain no-repeat;
	transition: transform 0.25s var(--v2-ease), background-color 0.25s;
}

.v2 .sk-service-chip__go svg {
	display: none;
}

.v2 .sk-service-chip:hover .sk-service-chip__title {
	color: var(--pg-blue);
}

.v2 .sk-service-chip:hover .sk-service-chip__go {
	background: var(--pg-blue);
	transform: translateX(4px);
}

.v2 .pg-all .sk-service-chip__title {
	color: var(--pg-blue);
}

.v2 .pg-all .sk-service-chip__icon .sk-icon {
	--sk-icon: var(--pg-chevron);
	width: 1.375rem;
	height: 1.375rem;
}

/* Surveying and geospatial: on ice, the survey drawing (land, river, town
   and sky, with the six surveying services as points) bleeding off the left
   edge beside the services as a one-column index. Mirrors the opener, whose
   drawing bleeds off the right. */
.v2 .sk-flow > .pg-survey {
	position: relative;
	overflow: hidden;
	margin-top: 0;
	padding-block: var(--space-section);
	background: linear-gradient(180deg, var(--pg-ice) 0%, #f7fafd 100%);
}

.v2 .pg-survey__in {
	width: min(var(--pg-wide), 100% - 2 * var(--pg-pad));
	margin-inline: auto;
}

.v2 .pg-survey .sk-section__title {
	margin: 0;
}

.v2 .pg-survey__body {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: 2rem 3rem;
	align-items: center;
	margin-top: 2.5rem;
}

.v2 .pg-survey__stage {
	margin-left: calc(-1 * var(--pg-pad) - 1.5rem);
}

.v2 .pg-survey__stage .pg-hint {
	margin: 0.75rem 0 0 calc(var(--pg-pad) + 1.5rem);
}

.v2 .pg-survey .sk-services--compact {
	margin: 0;
}

.v2 .pg-survey .sk-services__compact {
	grid-template-columns: minmax(0, 1fr);
}

.v2 .pg-survey .sk-service-chip {
	min-height: 4.75rem;
	padding: 0.95rem 0;
}

.v2 .pg-survey .sk-service-chip__title {
	font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
}

/* Content icons added with the surveying services (Lucide, ISC licence). */
.sk-icon--land-plot { --sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 8 6-3-6-3v10'/%3E%3Cpath d='m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12'/%3E%3Cpath d='m6.49 12.85 11.02 6.3'/%3E%3Cpath d='M17.51 12.85 6.5 19.15'/%3E%3C/svg%3E"); }
.sk-icon--drafting-compass { --sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12.99 6.74 1.93 3.44'/%3E%3Cpath d='M19.136 12a10 10 0 0 1-14.271 0'/%3E%3Cpath d='m21 21-2.16-3.84'/%3E%3Cpath d='m3 21 8.02-14.26'/%3E%3Ccircle cx='12' cy='5' r='2'/%3E%3C/svg%3E"); }
.sk-icon--ship { --sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 9.189V13'/%3E%3Cpath d='M19 12V6a2 2 0 00-2-2H7a2 2 0 00-2 2v6'/%3E%3Cpath d='M19.38 19A11.6 11.6 0 0021 13l-8.188-3.639a2 2 0 00-1.624 0L3 13.001a11.6 11.6 0 002.81 7.76'/%3E%3Cpath d='M2 20c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1'/%3E%3C/svg%3E"); }
.sk-icon--drone { --sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 10 7 7'/%3E%3Cpath d='m10 14-3 3'/%3E%3Cpath d='m14 10 3-3'/%3E%3Cpath d='m14 14 3 3'/%3E%3Cpath d='M14.205 4.139a4 4 0 1 1 5.439 5.863'/%3E%3Cpath d='M19.637 14a4 4 0 1 1-5.432 5.868'/%3E%3Cpath d='M4.367 10a4 4 0 1 1 5.438-5.862'/%3E%3Cpath d='M9.795 19.862a4 4 0 1 1-5.429-5.873'/%3E%3Crect x='10' y='8' width='4' height='8' rx='1'/%3E%3C/svg%3E"); }
.sk-icon--layers { --sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z'/%3E%3Cpath d='M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12'/%3E%3Cpath d='M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17'/%3E%3C/svg%3E"); }
.sk-icon--package { --sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z'/%3E%3Cpath d='M12 22V12'/%3E%3Cpolyline points='3.29 7 12 12 20.71 7'/%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3C/svg%3E"); }

/* Our work: the flagship project on a full-width photo, its story on a
   white panel, four more photos below. */
.v2 .sk-flow > .pg-work {
	margin-top: 0;
	padding-bottom: var(--space-section);
	background: #fff;
}

/* After the surveying band (ice), the work section starts its own space. */
.v2 .sk-flow > .pg-survey + .pg-work {
	padding-top: var(--space-section);
}

.v2 .pg-wrap {
	width: min(var(--pg-wide), 100% - 2 * var(--pg-pad));
	margin-inline: auto;
}

.v2 .pg-work__head h2 {
	margin: 0 0 3rem;
}

.v2 .pg-work__photo {
	height: clamp(22rem, 12rem + 28vw, 40rem);
	margin: 0;
	overflow: hidden;
	background: var(--pg-ice-2);
}

.v2 .pg-work__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 58%;
}

.v2 .pg-work__after {
	display: grid;
	grid-template-columns: minmax(0, 37.5rem) minmax(0, 1fr);
	gap: 3.5rem;
	align-items: end;
}

.v2 .pg-story {
	position: relative;
	margin-top: -12.5rem;
	padding: 3rem 3.25rem 3.25rem;
	background: #fff;
	box-shadow: 0 40px 80px -50px rgb(2 51 93 / 0.55);
}

.v2 .pg-story h3 {
	margin: 0;
	font-size: clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem);
	font-stretch: 110%;
	font-weight: 660;
	letter-spacing: -0.024em;
	line-height: 1.05;
}

.v2 .pg-story p {
	margin: 1.1rem 0 0;
	color: var(--pg-steel);
}

.v2 .pg-story .wp-block-buttons {
	margin-top: 1.9rem;
}

.v2 .pg-story .wp-block-button__link,
.v2 .pg-work__note .wp-block-button__link {
	border-color: var(--pg-navy);
	background: transparent;
	color: var(--pg-navy);
}

.v2 .pg-story .wp-block-button__link:hover,
.v2 .pg-work__note .wp-block-button__link:hover {
	background: var(--pg-navy);
	color: #fff;
}

.v2 .pg-work__note {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1rem 1.5rem;
	padding-bottom: 0.4rem;
}

.v2 .pg-work__note > * {
	margin: 0;
}

.v2 .pg-work__note .sk-section__intro {
	color: var(--pg-steel);
	font-size: 1.0625rem;
}

.v2 .pg-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 3.5rem;
}

.v2 .pg-strip--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v2 .pg-strip--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v2 .pg-strip__item {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--pg-ice-2);
}

.v2 .pg-strip__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Who we are: the lead paragraph as a statement. */
.v2 .sk-section.pg-who {
	border-top: 1px solid var(--pg-rule);
	background: #fff;
}

.v2 .pg-who__in > .sk-section__title {
	margin: 0;
	font-size: 1.5rem;
	font-stretch: 106%;
	letter-spacing: -0.01em;
}

.v2 .pg-say {
	max-width: 62rem;
	margin: 1.6rem 0 0;
	color: var(--pg-navy);
	font-family: var(--font-display);
	font-size: clamp(1.625rem, 1rem + 1.8vw, 2.75rem);
	font-stretch: 104%;
	font-weight: 520;
	line-height: 1.2;
	letter-spacing: -0.018em;
}

.v2 .pg-who__two {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem 3.5rem;
	max-width: 62rem;
	margin-top: 2.75rem;
	color: var(--pg-steel);
}

.v2 .pg-who__two p {
	margin: 0 0 1rem;
}

.v2 .pg-who__two .wp-block-buttons {
	margin-top: 1.6rem;
}

.v2 .pg-who__two .wp-block-button__link {
	border-color: var(--pg-navy);
	background: transparent;
	color: var(--pg-navy);
}

.v2 .pg-who__two .wp-block-button__link:hover {
	background: var(--pg-navy);
	color: #fff;
}

.v2 .pg-sectors {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 5rem 0 0;
	padding: 0;
	border-block: 1px solid var(--pg-rule);
	list-style: none;
}

.v2 .pg-sectors li {
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
	margin: 0;
	padding: 1.9rem 1.75rem;
	border-left: 1px solid var(--pg-rule);
	color: var(--pg-navy);
	font-size: 1.125rem;
	font-stretch: 106%;
	font-weight: 600;
}

.v2 .pg-sectors li:first-child {
	padding-left: 0;
	border-left: 0;
}

.v2 .pg-sectors li::before {
	content: none;
}

.v2 .pg-sector {
	width: 1.875rem;
	height: 1.875rem;
	color: var(--pg-blue);
}

.v2 .pg-sector--droplet {
	--sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z'/%3E%3C/svg%3E");
}

.v2 .pg-sector--utility-pole {
	--sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20'/%3E%3Cpath d='M2 5h20'/%3E%3Cpath d='M3 3v2'/%3E%3Cpath d='M7 3v2'/%3E%3Cpath d='M17 3v2'/%3E%3Cpath d='M21 3v2'/%3E%3Cpath d='m19 5-7 7-7-7'/%3E%3C/svg%3E");
}

.v2 .pg-sector--flask-conical {
	--sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2'/%3E%3Cpath d='M6.453 15h11.094'/%3E%3Cpath d='M8.5 2h7'/%3E%3C/svg%3E");
}

.v2 .pg-sector--factory {
	--sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16h.01'/%3E%3Cpath d='M16 16h.01'/%3E%3Cpath d='M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a.5.5 0 0 0-.769-.422l-4.462 2.844A.5.5 0 0 1 15 10.5v-2a.5.5 0 0 0-.769-.422L9.77 10.922A.5.5 0 0 1 9 10.5V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z'/%3E%3Cpath d='M8 16h.01'/%3E%3C/svg%3E");
}

.v2 .pg-sector--zap {
	--sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E");
}

.v2 .pg-sector--construction {
	--sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='20' height='8' rx='1'/%3E%3Cpath d='M17 14v7'/%3E%3Cpath d='M7 14v7'/%3E%3Cpath d='M17 3v3'/%3E%3Cpath d='M7 3v3'/%3E%3Cpath d='M10 14 2.3 6.3'/%3E%3Cpath d='m14 6 7.7 7.7'/%3E%3Cpath d='m8 6 8 8'/%3E%3C/svg%3E");
}

.v2 .pg-sector--house {
	--sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E");
}

.v2 .pg-sector--anchor {
	--sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6v16'/%3E%3Cpath d='m19 13 2-1a9 9 0 0 1-18 0l2 1'/%3E%3Cpath d='M9 11h6'/%3E%3Ccircle cx='12' cy='4' r='2'/%3E%3C/svg%3E");
}

.v2 .pg-sector--landmark {
	--sk-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 18v-7'/%3E%3Cpath d='M11.119 2.205a2 2 0 0 1 1.762 0l7.84 3.846A.5.5 0 0 1 20.5 7h-17a.5.5 0 0 1-.22-.949z'/%3E%3Cpath d='M14 18v-7'/%3E%3Cpath d='M18 18v-7'/%3E%3Cpath d='M3 22h18'/%3E%3Cpath d='M6 18v-7'/%3E%3C/svg%3E");
}

/* More than five sectors: a second row, ruled off from the first. */
@media (min-width: 1024px) {
	.v2 .pg-sectors li:nth-child(5n + 1) {
		padding-left: 0;
		border-left: 0;
	}

	.v2 .pg-sectors:has(> li:nth-child(6)) > li:nth-child(-n + 5) {
		border-bottom: 1px solid var(--pg-rule);
	}
}

/* Why work with us: navy, the title beside the reasons. */
.v2 .sk-section.pg-why {
	background: var(--pg-navy);
	color: #fff;
}

.v2 .pg-why__in {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: 2.5rem;
	align-items: start;
}

.v2 .pg-why__in > .sk-section__title {
	margin: 0;
	color: #fff;
}

.v2 .pg-why .sk-cards {
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	border-top: 1px solid rgb(255 255 255 / 0.18);
}

.v2 .pg-why .sk-card {
	position: relative;
	margin: 0;
	padding: 2.5rem 2.5rem 2.75rem 0;
	border: 0;
	border-bottom: 1px solid rgb(255 255 255 / 0.18);
	border-radius: 0;
	background: none;
	box-shadow: none;
}

.v2 .pg-why .sk-card:nth-child(2n) {
	padding: 2.5rem 0 2.75rem 2.5rem;
	border-left: 1px solid rgb(255 255 255 / 0.18);
}

.v2 .pg-why .sk-card.has-icon {
	padding-top: 5.5rem;
}

.v2 .pg-why .sk-card.has-icon::before {
	content: none;
}

.v2 .pg-why .sk-card.has-icon::after {
	top: 2.5rem;
	left: 0;
	width: 1.875rem;
	height: 1.875rem;
	background: var(--pg-sky);
}

.v2 .pg-why .sk-card.has-icon:nth-child(2n)::after {
	left: 2.5rem;
}

.v2 .pg-why .sk-card h3 {
	margin: 0;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.2;
}

.v2 .pg-why .sk-card p {
	margin: 0.75rem 0 0;
	color: rgb(255 255 255 / 0.72);
	font-size: 1.0625rem;
}

/* Certifications: each certificate beside its name. */
.v2 .sk-section.pg-certs {
	background: var(--pg-ice);
}

.v2 .pg-docs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3.25rem;
}

.v2 .pg-doc {
	display: grid;
	grid-template-columns: 9.5rem minmax(0, 1fr);
	gap: 2.25rem;
	align-items: center;
	padding: 2rem;
	background: #fff;
}

.v2 .pg-doc__figure {
	margin: 0;
}

.v2 .pg-doc__figure img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 7;
	object-fit: cover;
	object-position: top;
	border: 1px solid var(--pg-rule);
	box-shadow: 0 18px 30px -18px rgb(2 51 93 / 0.6);
}

.v2 .pg-doc__text h3 {
	margin: 0;
	font-size: clamp(1.625rem, 1.2rem + 1vw, 2.125rem);
	font-stretch: 110%;
	font-weight: 660;
	letter-spacing: -0.02em;
	line-height: 1.05;
}

.v2 .pg-doc__text p {
	margin: 0.75rem 0 0;
	color: var(--pg-steel);
}

.v2 .pg-certs .pg-head .wp-block-button__link {
	background: var(--pg-navy);
}

.v2 .pg-certs .pg-head .wp-block-button__link:hover {
	background: var(--pg-deep);
}

/* News: a list, not cards. */
.v2 .sk-section.pg-news {
	padding-top: var(--space-section);
	padding-bottom: 2.5rem;
	background: #fff;
}

.v2 .pg-news .sk-more {
	margin: 0;
}

.v2 .pg-news .sk-more__link,
.v2 .sk-more__link {
	gap: 0.4rem;
	border-bottom: 1.5px solid currentColor;
	color: var(--pg-blue);
	font-weight: 600;
	text-decoration: none;
}

.v2 .pg-news .sk-more__link svg {
	display: none;
}

.v2 .pg-news .sk-posts {
	margin-top: 2.75rem;
}

.v2 .pg-news .sk-posts__grid {
	display: block;
	margin: 0;
	padding: 0;
	border-top: 1.5px solid var(--pg-navy);
	list-style: none;
}

.v2 .pg-news .sk-posts__grid > li {
	margin: 0;
}

.v2 .pg-news .post-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
	grid-template-rows: auto 1fr;
	gap: 0 1.5rem;
	padding: 2.1rem 0;
	border: 0;
	border-bottom: 1px solid var(--pg-rule);
	border-radius: 0;
	background: none;
	box-shadow: none;
	transform: none;
}

.v2 .pg-news .post-card__media {
	display: none;
}

.v2 .pg-news .post-card__body {
	display: contents;
}

.v2 .pg-news .post-card__meta {
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	text-align: left;
	margin: 0;
	color: var(--pg-steel);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.v2 .pg-news .post-card__meta time {
	color: var(--pg-steel);
	font-size: 0.9375rem;
	font-weight: 420;
	letter-spacing: 0;
	text-transform: none;
}

.v2 .pg-news .post-label {
	padding: 0;
	border: 0;
	background: none;
	color: var(--pg-navy);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.v2 .pg-news .post-card__title {
	grid-column: 2;
	margin: 0;
	font-size: clamp(1.25rem, 1rem + 0.7vw, 1.625rem);
	line-height: 1.2;
}

.v2 .pg-news .post-card__title a {
	color: var(--pg-navy);
	text-decoration: none;
}

.v2 .pg-news .post-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.v2 .pg-news .post-card:hover .post-card__title a {
	color: var(--pg-blue);
}

.v2 .pg-news .post-card__excerpt {
	grid-column: 2;
	max-width: 46rem;
	margin: 0.6rem 0 0;
	color: var(--pg-steel);
	font-size: 1rem;
}

.v2 .pg-news .post-card__more {
	display: none;
}

/* Clients: the title beside the logos. */
.v2 .sk-section.pg-clients {
	padding-block: 4.5rem 7rem;
	background: #fff;
}

.v2 .pg-clients__in {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
	gap: 1.5rem;
	align-items: center;
}

.v2 .pg-clients__in > .sk-section__title {
	margin: 0;
	font-size: 1.625rem;
	font-stretch: 106%;
}

.v2 .sk-section > .sk-logos.wp-block-gallery {
	margin-top: 2.5rem;
}

.v2 .sk-logos.wp-block-gallery {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
	gap: 0 !important;
	margin: 0;
	border-left: 1px solid var(--pg-rule);
}

.v2 .sk-logos.wp-block-gallery > .wp-block-image:not(#individual-image) {
	display: grid;
	place-items: center;
	width: auto !important;
	height: 6rem;
	margin: 0;
	padding: 1rem 1.5rem;
	border-right: 1px solid var(--pg-rule);
}

.v2 .sk-logos.wp-block-gallery > .wp-block-image img {
	width: auto !important;
	max-width: 100%;
	height: auto !important;
	max-height: 3.25rem;
	object-fit: contain !important;
	filter: grayscale(1);
	opacity: 0.7;
	transition: filter 0.3s, opacity 0.3s;
}

.v2 .sk-logos.wp-block-gallery > .wp-block-image:hover img {
	filter: none;
	opacity: 1;
}

/* 6. Sections on inner pages ----------------------------------------------- */
.v2 .sk-section--tint {
	background: var(--pg-ice);
}

.v2 .sk-section--dark {
	background: var(--pg-navy);
}

.v2 .sk-section--dark :is(.sk-section__intro, p) {
	color: rgb(255 255 255 / 0.75);
}

/* Figures (the about page's numbers): large and quiet, divided by rules. */
.v2 .sk-stats {
	gap: 0;
	border-top: 1px solid rgb(255 255 255 / 0.2);
}

.v2 .sk-stat {
	padding: 2rem 1.75rem 0 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	text-align: left;
}

.v2 .sk-stat + .sk-stat {
	padding-left: 1.75rem;
	border-left: 1px solid rgb(255 255 255 / 0.2);
}

.v2 .sk-stat__value {
	color: #fff;
	font-variant-numeric: normal;
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 1.6rem + 2.6vw, 4rem);
	font-stretch: 110%;
	font-weight: 680;
	letter-spacing: -0.03em;
}

.v2 .sk-stat__label {
	color: rgb(255 255 255 / 0.72);
	font-size: 1rem;
	letter-spacing: 0;
	text-transform: none;
}

/* Cards in sections: no boxes; an icon, the title, the words, a rule. */
.v2 .sk-card {
	border: 0;
	border-top: 1.5px solid var(--pg-navy);
	border-radius: 0;
	background: none;
	box-shadow: none;
	padding: 1.75rem 0 0;
}

.v2 .sk-card.has-icon {
	padding-top: 4.75rem;
}

.v2 .sk-card.has-icon::before {
	content: none;
}

.v2 .sk-card.has-icon::after {
	top: 1.75rem;
	left: 0;
	width: 1.75rem;
	height: 1.75rem;
	background: var(--pg-blue);
}

.v2 .sk-section--dark .sk-card {
	border-top-color: rgb(255 255 255 / 0.3);
}

.v2 .sk-section--dark .sk-card.has-icon::after {
	background: var(--pg-sky);
}

.v2 .sk-card h3 {
	font-size: 1.375rem;
	line-height: 1.2;
}

.v2 .sk-card p {
	color: var(--pg-steel);
}

.v2 .sk-section--dark .sk-card p {
	color: rgb(255 255 255 / 0.72);
}

/* The services page: each service as a column under a navy rule (the
   drawing above is the picture). */
.v2 .sk-services--cards {
	max-width: var(--w-wide);
	margin-top: 3.5rem;
}

.v2 .sk-services__grid {
	gap: 0 2.5rem;
}

.v2 .sk-service {
	position: relative;
	padding: 0 0 2.75rem;
	border: 0;
	border-top: 1.5px solid var(--pg-navy);
	border-radius: 0;
	background: none;
	box-shadow: none;
}

.v2 .sk-service:hover {
	box-shadow: none;
	transform: none;
}

.v2 .sk-service__media {
	position: static;
	height: auto;
	margin: 0;
	overflow: visible;
	aspect-ratio: auto;
	border-radius: 0;
	background: none;
}

.v2 .sk-service__media img {
	display: none;
}

.v2 .sk-service__body {
	padding: 1.1rem 0 0;
}

.v2 :is(.sk-service__badge, .sk-service__tile) {
	position: static;
	display: grid;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	margin: 1.75rem 0 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--pg-blue);
	transform: none;
}

.v2 :is(.sk-service__badge, .sk-service__tile) .sk-icon {
	width: 1.75rem;
	height: 1.75rem;
}

.v2 .sk-service__desc {
	color: var(--pg-steel);
}

.v2 .sk-service__title {
	color: var(--pg-navy);
	font-size: 1.375rem;
	line-height: 1.22;
}

.v2 .sk-service__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.v2 .sk-service:hover .sk-service__title a {
	color: var(--pg-blue);
}

.v2 .sk-service__title a {
	color: inherit;
}

.v2 .sk-service__excerpt,
.v2 .sk-service p {
	color: var(--pg-steel);
}

.v2 .sk-service__more {
	color: var(--pg-blue);
	font-weight: 600;
}

/* Photos in sections: square corners, close together. */
.v2 .sk-section .wp-block-gallery.sk-band {
	gap: 1rem !important;
}

.v2 .sk-section :is(.wp-block-image, .wp-block-gallery) img {
	border-radius: 0;
}

/* 7. Page headers ----------------------------------------------------------- */
.v2 .page-header {
	position: relative;
	border-bottom: 1px solid var(--pg-rule);
	background: linear-gradient(180deg, #fff 0%, var(--pg-ice) 100%);
	color: var(--pg-char);
	text-align: left;
}

.v2 .page-header::before,
.v2 .page-header::after {
	content: none;
}

.v2 .page-header__media {
	display: none;
}

.v2 .page-header__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-content: center;
	max-width: calc(var(--pg-wide) + 2 * var(--pg-pad));
	min-height: 0;
	padding: clamp(2.5rem, 1.5rem + 3vw, 4.5rem) var(--pg-pad) clamp(3rem, 2rem + 3vw, 5rem);
}

.v2 .page-header__inner > * {
	max-width: 46rem;
}

.v2 .page-header.has-art .page-header__inner {
	grid-template-columns: minmax(0, 1fr) minmax(0, 34rem);
	column-gap: clamp(2rem, 1rem + 3vw, 4rem);
	min-height: 26rem;
}

.v2 .page-header.has-art .page-header__inner > :not(.page-header__art) {
	grid-column: 1;
}

.v2 .page-header__art {
	grid-column: 2;
	grid-row: 1 / span 6;
	align-self: center;
	max-width: none;
}

.v2 .page-header__art .pg-plant.is-crop {
	border-radius: 4px;
	background: #f6f9fc;
	box-shadow: 0 0 0 1px var(--pg-rule);
}

.v2 .page-header__art .pg-plant.is-full {
	margin-right: calc(-1 * var(--pg-pad));
}

.v2 .breadcrumbs ol {
	gap: 0.35rem 0.6rem;
}

.v2 .breadcrumbs li {
	color: var(--pg-steel);
	font-family: var(--font-body);
	font-size: 0.875rem;
	letter-spacing: 0;
	text-transform: none;
}

.v2 .breadcrumbs a {
	color: var(--pg-steel);
	text-decoration: none;
}

.v2 .breadcrumbs a:hover {
	color: var(--pg-blue);
}

.v2 .breadcrumbs li + li::before {
	color: #9aabbb;
}

/* A long trail: the current page moves to its own line (cut short with an
   ellipsis only if it is longer than the line), rather than squeezing into a
   narrow column. */
.v2 .breadcrumbs ol {
	flex-wrap: wrap;
}

.v2 .breadcrumbs li:last-child:not(:first-child) {
	flex: 0 0 auto;
	max-width: 100%;
	white-space: nowrap;
}

.v2 .page-header__heading {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
	margin-top: 1.25rem;
}

.v2 .page-header__icon {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 0;
	border-radius: 50%;
	background: var(--pg-blue);
	color: #fff;
}

.v2 .page-header__icon .sk-icon {
	width: 1.375rem;
	height: 1.375rem;
}

.v2 .page-header__title {
	margin: 0;
	color: var(--pg-navy);
	font-size: var(--fs-h1);
	font-stretch: 108%;
	font-weight: 680;
	line-height: 1.02;
	letter-spacing: -0.03em;
}

.v2 .page-header__title::before {
	content: none;
}

.v2 .page-header__lead {
	margin-top: 1.25rem;
	color: var(--pg-steel);
	font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
	line-height: 1.6;
}

.v2 .page-header__eyebrow,
.v2 .page-header__eyebrow a,
.v2 .page-header__eyebrow .post-label {
	color: var(--pg-blue);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.v2 .page-header__eyebrow .post-label {
	padding: 0;
	border: 0;
	background: none;
}

.v2 .page-header__meta {
	margin-top: 1.1rem;
	color: var(--pg-steel);
	font-size: 0.9375rem;
}

/* 8. Pages with a sidebar, prose -------------------------------------------- */
.v2 .layout {
	max-width: calc(var(--pg-wide) + 2 * var(--pg-pad));
	padding-inline: var(--pg-pad);
}

.v2 .sk-prose {
	color: var(--pg-char);
}

.v2 .sk-prose > .is-style-lead {
	color: var(--pg-navy);
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.5rem);
	font-stretch: 104%;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.01em;
}

.v2 .sk-prose :is(h2, h3) {
	color: var(--pg-navy);
}

.v2 .sk-prose h2 {
	font-size: clamp(1.625rem, 1.3rem + 1vw, 2.125rem);
}

.v2 .sk-prose ul:not([class*="sk-"]) > li::before,
.v2 .sk-prose .wp-block-list > li::before {
	background: var(--pg-blue);
}

.v2 .sk-prose a:not(.wp-block-button__link):not(.button) {
	color: var(--pg-blue);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.v2 .item-figure img,
.v2 .article__figure img {
	border-radius: 0;
}

.v2 .aside-card {
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	padding: 0;
}

.v2 .aside-card + .aside-card {
	margin-top: 2.25rem;
}

.v2 .aside-card__title {
	margin-bottom: 0.5rem;
	padding-bottom: 0.85rem;
	border-bottom: 1.5px solid var(--pg-navy);
	color: var(--pg-navy);
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-stretch: 106%;
	font-weight: 640;
}

.v2 .aside-nav ul {
	margin: 0;
	padding: 0;
}

.v2 .aside-nav li {
	border-bottom: 1px solid var(--pg-rule);
}

.v2 .aside-nav a {
	display: grid;
	grid-template-columns: 1.25rem minmax(0, 1fr);
	gap: 0.85rem;
	align-items: center;
	padding: 0.85rem 0;
	border-radius: 0;
	color: var(--pg-navy);
	font-size: 0.975rem;
	font-weight: 520;
	line-height: 1.3;
	text-decoration: none;
}

.v2 .aside-nav a:hover {
	background: none;
	color: var(--pg-blue);
}

.v2 .aside-nav a[aria-current="page"] {
	background: none;
	color: var(--pg-blue);
	font-weight: 650;
	box-shadow: inset 3px 0 0 var(--pg-blue);
	padding-left: 0.85rem;
	grid-template-columns: 1.25rem minmax(0, 1fr);
}

.v2 .aside-nav a .sk-icon {
	width: 1.2rem;
	height: 1.2rem;
	color: var(--pg-blue);
}

.v2 .aside-cta {
	padding: 2rem 1.9rem;
	border-radius: 4px;
	background: var(--pg-blue);
	color: #fff;
}

.v2 .aside-cta::before,
.v2 .aside-cta::after {
	content: none;
}

.v2 .aside-cta__title {
	color: #fff;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-stretch: 108%;
	font-weight: 660;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

.v2 .aside-cta__text {
	color: rgb(255 255 255 / 0.85);
}

.v2 .aside-cta .button {
	width: 100%;
	background: #fff;
	color: var(--pg-navy);
}

.v2 .aside-cta .button:hover {
	background: var(--pg-ice);
	color: var(--pg-navy);
}

.v2 .aside-cta__phone {
	color: #fff;
}

.v2 .sk-contact__icon {
	border-radius: 50%;
	background: var(--pg-ice);
	color: var(--pg-blue);
}

/* Galleries on their own page: square photos, close together. */
.v2 .sk-prose .wp-block-gallery {
	gap: 0.75rem !important;
}

.v2 .sk-prose .wp-block-gallery :is(figure, img) {
	border-radius: 0;
}

/* 9. News ----------------------------------------------------------------- */
.v2 .chip-nav a {
	border: 1.5px solid var(--pg-rule);
	border-radius: 999px;
	background: #fff;
	color: var(--pg-navy);
	font-weight: 560;
}

.v2 .chip-nav a:hover,
.v2 .chip-nav [aria-current] {
	border-color: var(--pg-navy);
	background: var(--pg-navy);
	color: #fff;
}

.v2 .post-card {
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.v2 .post-card:hover {
	box-shadow: none;
	transform: none;
}

.v2 .post-card__media {
	border-radius: 0;
}

.v2 .post-card__title {
	font-size: 1.3125rem;
	line-height: 1.22;
}

.v2 .post-card__title a {
	color: var(--pg-navy);
}

.v2 .post-card:hover .post-card__title a {
	color: var(--pg-blue);
}

.v2 .post-card__excerpt {
	color: var(--pg-steel);
}

.v2 .post-card__meta time {
	letter-spacing: 0;
	text-transform: none;
}

.v2 .post-label {
	border: 0;
	border-radius: 0;
	background: none;
	padding: 0;
	color: var(--pg-blue);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.v2 .post-card__more {
	color: var(--pg-blue);
	font-weight: 600;
}

.v2 .post-card--featured {
	background: var(--pg-ice);
}

.v2 .pagination a,
.v2 .pagination span {
	border-radius: 999px;
}

.v2 .related {
	background: var(--pg-ice);
}

.v2 .related__title {
	color: var(--pg-navy);
}

.v2 .share__link {
	border-radius: 50%;
	color: var(--pg-navy);
}

/* 10. Contact ------------------------------------------------------------- */
.v2 .contact-layout {
	max-width: calc(var(--pg-wide) + 2 * var(--pg-pad));
	padding-inline: var(--pg-pad);
}

.v2 :is(.sk-form, .contact-layout__form) :is(input, select, textarea) {
	border-color: var(--pg-rule);
	border-radius: 4px;
}

.v2 :is(.sk-form, .contact-layout__form) :is(input, select, textarea):focus {
	border-color: var(--pg-blue);
	box-shadow: 0 0 0 3px rgb(0 107 195 / 0.15);
}

/* 11. Closing band ---------------------------------------------------------- */
/* "How can we serve you?": brand blue, the drawing in white line work. */
.v2 .sk-flow > .pg-close {
	margin-top: 0;
}

.v2 .pg-close,
.v2 .cta-band {
	position: relative;
	overflow: hidden;
	background: var(--pg-blue);
	color: #fff;
}

.v2 .pg-close::after,
.v2 .cta-band::after {
	content: "";
	position: absolute;
	right: -20.5rem;
	bottom: -16.5rem;
	width: 62.5rem;
	aspect-ratio: 1059 / 618;
	background: url("../img/plant-echo.svg") center / contain no-repeat;
	opacity: 0.38;
	pointer-events: none;
}

.v2 .pg-close > .sk-cta {
	position: relative;
	z-index: 1;
	width: min(var(--pg-wide), 100% - 2 * var(--pg-pad));
	max-width: none;
	margin: 0 auto;
	padding: clamp(4.5rem, 3rem + 5vw, 7rem) 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: #fff;
	text-align: left;
}

.v2 .pg-close > .sk-cta::before,
.v2 .pg-close > .sk-cta::after {
	content: none;
}

.v2 .pg-close > .sk-cta {
	display: block;
}

.v2 .pg-close .sk-cta__title,
.v2 .cta-band__title {
	max-width: none;
	margin: 0;
	color: #fff;
	font-size: clamp(2.5rem, 1.4rem + 3.6vw, 5rem);
	font-stretch: 108%;
	font-weight: 680;
	line-height: 1;
	letter-spacing: -0.034em;
}

.v2 .pg-close .sk-cta__text,
.v2 .cta-band__text {
	margin: 1rem 0 0;
	color: rgb(255 255 255 / 0.86);
	font-size: 1.25rem;
}

.v2 .pg-close .wp-block-buttons {
	justify-content: flex-start;
	margin-top: 2.5rem;
}

.v2 .pg-close .wp-block-button__link,
.v2 .cta-band .button--on-dark {
	min-height: 3.75rem;
	padding-inline: 2.1rem;
	border-color: #fff;
	background: #fff;
	color: var(--pg-navy);
	font-size: 1.0625rem;
}

.v2 .pg-close .wp-block-button__link:hover,
.v2 .cta-band .button--on-dark:hover {
	background: var(--pg-ice);
	color: var(--pg-navy);
}

.v2 .cta-band .button--ghost {
	border-color: rgb(255 255 255 / 0.6);
	color: #fff;
}

.v2 .cta-band .button--ghost:hover {
	background: #fff;
	color: var(--pg-navy);
}

.v2 .cta-band .wrap {
	position: relative;
	z-index: 1;
	max-width: calc(var(--pg-wide) + 2 * var(--pg-pad));
	padding-inline: var(--pg-pad);
}

.v2 .cta-band__panel {
	display: block;
	padding: clamp(4.5rem, 3rem + 5vw, 7rem) 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

.v2 .cta-band__panel::before,
.v2 .cta-band__panel::after {
	content: none;
}

.v2 .cta-band__actions {
	justify-content: flex-start;
	margin-top: 2.5rem;
}

.v2 .sk-flow + .cta-band,
.v2 .layout + .cta-band,
.v2 .cta-band {
	margin-top: 0;
	padding-block: 0;
}

/* 12. Footer -------------------------------------------------------------- */
.v2 .site-footer {
	background: var(--pg-navy);
	color: rgb(255 255 255 / 0.72);
}

.v2 .site-footer::before {
	content: none;
}

.v2 .site-footer .wrap {
	max-width: calc(var(--pg-wide) + 2 * var(--pg-pad));
	padding-inline: var(--pg-pad);
}

.v2 .site-footer__title {
	color: #fff;
	font-stretch: 106%;
	font-weight: 640;
}

.v2 .site-footer a {
	color: rgb(255 255 255 / 0.72);
}

.v2 .site-footer a:hover {
	color: #fff;
}

.v2 .site-footer .brand-logo__img {
	height: 46px;
	width: auto;
}

/* 13. Tablets ----------------------------------------------------------------- */
@media (max-width: 1219px) {
	.v2 .pg-hero__in {
		grid-template-columns: minmax(0, 27rem) minmax(0, 1fr);
		gap: 1.5rem;
		min-height: 36rem;
	}

	.v2 .pg-hero__stage {
		margin-left: -2rem;
	}
}

@media (max-width: 1023px) {
	.v2 .pg-hero__in {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
		min-height: 0;
		padding-block: 3rem 2.5rem;
	}

	.v2 .pg-hero__title {
		max-width: 16ch;
	}

	.v2 .pg-hero__stage {
		margin: 4rem calc(-1 * var(--pg-pad)) 0;
	}

	.v2 .pg-head {
		grid-template-columns: minmax(0, 1fr);
	}

	.v2 .pg-survey__body {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 1.5rem;
	}

	.v2 .pg-survey__stage {
		margin: 0 calc(-1 * var(--pg-pad));
	}

	.v2 .pg-survey__stage .pg-hint {
		margin: 0.75rem var(--pg-pad) 0;
	}

	.v2 .pg-why__in {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.5rem;
	}

	.v2 .pg-work__after {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
	}

	.v2 .pg-docs {
		grid-template-columns: minmax(0, 1fr);
	}

	.v2 .pg-sectors {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.v2 .pg-sectors li:nth-child(n) {
		padding: 1.6rem 1.25rem;
		border-left: 1px solid var(--pg-rule);
		border-top: 1px solid var(--pg-rule);
	}

	.v2 .pg-sectors li:nth-child(3n + 1) {
		padding-left: 0;
		border-left: 0;
	}

	.v2 .pg-sectors li:nth-child(-n + 3) {
		border-top: 0;
	}

	.v2 .pg-clients__in {
		grid-template-columns: minmax(0, 1fr);
	}

	.v2 .page-header.has-art .page-header__inner {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.v2 .page-header__art {
		grid-column: 1;
		grid-row: auto;
		max-width: 34rem;
		margin-top: 2.5rem;
	}

	.v2 .page-header__art .pg-plant.is-full {
		max-width: 40rem;
		margin-right: 0;
	}

	.v2 .pg-close::after,
	.v2 .cta-band::after {
		right: -14rem;
		bottom: -12rem;
		width: 48rem;
	}

	.v2 .pg-close > .sk-cta,
	.v2 .cta-band__panel {
		padding-bottom: 15rem;
	}
}

/* 14. Phones -------------------------------------------------------------------- */
@media (max-width: 760px) {
	.v2 {
		--header-h: 72px;
	}

	.v2 .site-header .brand-logo__img {
		height: 38px;
	}

	.v2 .pg-hero__in {
		padding-block: 2.5rem 1.75rem;
	}

	.v2 .pg-hero__title {
		font-size: clamp(2rem, 1.2rem + 3.6vw, 2.375rem);
	}

	.v2 .pg-hero .wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.v2 .pg-hero .wp-block-button,
	.v2 .pg-hero .wp-block-button__link {
		width: 100%;
	}

	.v2 .pg-hint {
		margin-top: 1.75rem;
	}

	.v2 .pg-hero__stage {
		margin: 4.5rem -16% 0 -12%;
	}

	.v2 .pg-survey__stage {
		margin: 3.5rem -14% 0 -14%;
	}

	.v2 .pg-survey__stage .pg-hint {
		margin: 0.5rem 14% 0;
	}

	.v2 .pg-spot {
		width: 1.75rem;
		height: 1.75rem;
		margin: -0.875rem 0 0 -0.875rem;
		border-width: 2px;
	}

	.v2 .pg-spot > .sk-icon {
		width: 0.8rem;
		height: 0.8rem;
	}

	.v2 .pg-spot__tip {
		top: auto;
		bottom: calc(100% + 0.6rem);
		left: 50%;
		width: max-content;
		max-width: 13rem;
		padding: 0.5rem 0.7rem;
		font-size: 0.8125rem;
		white-space: normal;
		transform: translate(-50%, 4px);
	}

	.v2 .pg-spot:is(:hover, :focus-visible, .is-open) .pg-spot__tip {
		transform: translate(-50%, 0);
	}

	.v2 .pg-spot.is-left .pg-spot__tip {
		right: -0.5rem;
		left: auto;
		transform: translate(0, 4px);
	}

	.v2 .pg-spot.is-left:is(:hover, :focus-visible, .is-open) .pg-spot__tip {
		transform: none;
	}

	.v2 .sk-services__compact {
		grid-template-columns: minmax(0, 1fr);
	}

	.v2 .sk-service-chip {
		min-height: 0;
		gap: 1rem;
		padding: 1.1rem 0;
	}

	.v2 .pg-work__head h2 {
		margin-bottom: 1.75rem;
	}

	.v2 .pg-work__photo {
		height: 18.75rem;
	}

	.v2 .pg-story {
		margin-top: -3rem;
		padding: 1.9rem 1.5rem 2rem;
	}

	.v2 .pg-work__note {
		flex-direction: column;
		align-items: flex-start;
	}

	.v2 .pg-strip,
	.v2 .pg-strip--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.625rem;
		margin-top: 2.5rem;
	}

	.v2 .pg-who__two {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.v2 .pg-sectors {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 3rem;
	}

	.v2 .pg-sectors li:nth-child(n) {
		padding: 1.4rem 1rem;
		border-top: 1px solid var(--pg-rule);
		border-left: 1px solid var(--pg-rule);
	}

	.v2 .pg-sectors li:nth-child(2n + 1) {
		padding-left: 0;
		border-left: 0;
	}

	.v2 .pg-sectors li:nth-child(-n + 2) {
		border-top: 0;
	}

	.v2 .pg-why .sk-cards {
		grid-template-columns: minmax(0, 1fr);
	}

	.v2 .pg-why .sk-card:nth-child(n) {
		padding: 4.75rem 0 2rem;
		border-left: 0;
	}

	.v2 .pg-why .sk-card.has-icon:nth-child(n)::after {
		top: 1.9rem;
		left: 0;
	}

	.v2 .pg-doc {
		grid-template-columns: 6rem minmax(0, 1fr);
		gap: 1.25rem;
		padding: 1.4rem;
	}

	.v2 .pg-news .post-card {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.5rem;
		padding: 1.6rem 0;
	}

	.v2 .pg-news .post-card__meta {
		grid-row: auto;
	}

	.v2 .pg-news .post-card__title,
	.v2 .pg-news .post-card__excerpt {
		grid-column: 1;
	}

	.v2 .sk-logos.wp-block-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-top: 1px solid var(--pg-rule);
	}

	.v2 .sk-logos.wp-block-gallery > .wp-block-image:not(#individual-image) {
		border-bottom: 1px solid var(--pg-rule);
	}

	.v2 .pg-close::after,
	.v2 .cta-band::after {
		right: -13rem;
		bottom: -9rem;
		width: 40rem;
	}

	.v2 .pg-close > .sk-cta,
	.v2 .cta-band__panel {
		padding-bottom: 13rem;
	}

	.v2 .sk-stat + .sk-stat {
		padding-left: 0;
		border-left: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.v2 .pg-spot::before,
	.v2 .pg-mark::before {
		animation: none;
	}
}
