/**
 * PDK Civils & Construction
 * Global site stylesheet
 *
 * Version: 0.25.3
 *
 * Changelog:
 * - 0.25.2: Added a translucent frosted-glass treatment to the homepage Project Readiness card and restored the single-project hero container width so the title, status and location keep the same left gutter as the rest of the site.
 * - 0.25.1: Repaired single-project portfolio regressions from the design-system consolidation: removed the desktop overview minimum height, restored transparent/navy related-project card bodies, and aligned the project hero heading weight with the Georgia editorial system.
 * - 0.25.0: Integrated project-readiness controls, hero trust treatment,
 *   interactive capability selector, real-project gallery, rebar dividers,
 *   accessible modals and refined controlled-process styling.
 * - 0.24.0: Consolidated home.css into site.css; switched to the portfolio Georgia/Arial typography system; standardised internal hero headings and section spacing; created a light pre-footer CTA break; unified footer backgrounds; and added a subtle concrete card surface.
 * - Retains the established responsive layouts, project/service/About/Contact systems, Insights styling and existing component interactions.
 *
 * File:
 * /wp-content/themes/pdk-astra-child/assets/css/site.css
 */

:root {
	--pdk-blue: #2e3190;
	--pdk-gold: #bd982f;
	--pdk-white: #fefefe;
	--pdk-navy: #071b3b;
	--pdk-navy-soft: #0e2e59;
	--pdk-charcoal: #15171d;
	--pdk-dark: #0b0d12;
	--pdk-cream: #f4f0e6;
	--pdk-stone: #e7e3da;
	--pdk-concrete: #b7b5af;
	--pdk-grey: #6b7280;
	--pdk-light: #f5f3ee;
	--pdk-gold-soft: #d9b349;
	--pdk-gold-dark: #977319;
	--pdk-ink: #0b1b31;
	--pdk-line: rgba(8, 27, 59, 0.15);
	--pdk-line-dark: rgba(255, 255, 255, 0.14);
	--pdk-font-heading: "Manrope", Arial, sans-serif;
	--pdk-font-body: "Inter", Arial, sans-serif;
	--pdk-type-xs: clamp(0.72rem, 0.69rem + 0.12vw, 0.8rem);
	--pdk-type-sm: clamp(0.84rem, 0.8rem + 0.14vw, 0.94rem);
	--pdk-type-body: clamp(1rem, 0.96rem + 0.15vw, 1.08rem);
	--pdk-type-lg: clamp(1.12rem, 1.04rem + 0.25vw, 1.3rem);
	--pdk-type-xl: clamp(1.4rem, 1.2rem + 0.7vw, 1.85rem);
	--pdk-type-h3: clamp(2rem, 1.55rem + 1.6vw, 3.2rem);
	--pdk-type-h2: clamp(2.8rem, 1.85rem + 3.1vw, 5.2rem);
	--pdk-type-h1: clamp(3.4rem, 2.1rem + 5.2vw, 7.2rem);
	--pdk-container: 1460px;
	--pdk-content: 800px;
	--pdk-header-height: 88px;
	--pdk-space-1: 8px;
	--pdk-space-2: 16px;
	--pdk-space-3: 24px;
	--pdk-space-4: 32px;
	--pdk-space-5: 48px;
	--pdk-space-6: 64px;
	--pdk-space-7: 80px;
	--pdk-space-8: 96px;
	--pdk-space-9: 128px;
	--pdk-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--pdk-transition-fast: 180ms ease;
	--pdk-transition-base: 420ms var(--pdk-ease);
	--pdk-transition-slow: 760ms var(--pdk-ease);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--pdk-header-height) + 24px); }
body.pdk-site {
	margin: 0;
	background: var(--pdk-cream);
	color: var(--pdk-ink);
	font-family: var(--pdk-font-body);
	font-size: var(--pdk-type-body);
	font-weight: 400;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.pdk-menu-open,
body.pdk-modal-open { overflow: hidden; }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
img { height: auto; }
button, input, textarea, select { font: inherit; }
a { color: inherit; }
::selection { background: var(--pdk-gold); color: var(--pdk-dark); }

.pdk-site-shell { min-height: 100vh; overflow: clip; }
.pdk-container { width: min(90%, var(--pdk-container)); margin-inline: auto; }
.pdk-container--content { max-width: var(--pdk-content); }

h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	font-family: var(--pdk-font-heading);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.04em;
	text-wrap: balance;
}
h1 { font-size: var(--pdk-type-h1); }
h2 { font-size: var(--pdk-type-h2); }
h3 { font-size: var(--pdk-type-h3); }
p { margin-top: 0; }

.pdk-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: var(--pdk-gold-soft);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.pdk-eyebrow::before { content: ""; width: 34px; height: 2px; background: currentColor; }
.pdk-eyebrow--dark { color: var(--pdk-gold-dark); }

.pdk-text-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid currentColor;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	text-decoration: none;
}
.pdk-text-link::after { content: "↗"; color: var(--pdk-gold); transition: transform var(--pdk-transition-base); }
.pdk-text-link:hover::after { transform: translate(3px, -3px); }
.pdk-text-link--light { color: var(--pdk-white); }

.pdk-button {
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 15px 20px;
	border: 1px solid transparent;
	border-radius: 2px;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-decoration: none;
	transition: background-color var(--pdk-transition-base), color var(--pdk-transition-base), transform var(--pdk-transition-base);
}
.pdk-button--gold,
.pdk-button--header { background: var(--pdk-gold); color: var(--pdk-navy); }
.pdk-button--gold:hover,
.pdk-button--header:hover { background: var(--pdk-gold-soft); transform: translateY(-2px); }
.pdk-button__arrow { font-size: 1.05rem; }

/* Accessibility */
.screen-reader-text,
.pdk-skip-link {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
}
.screen-reader-text:focus,
.pdk-skip-link:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 100000;
	width: auto;
	height: auto;
	margin: 0;
	padding: 12px 16px;
	overflow: visible;
	clip: auto;
	clip-path: none;
	background: var(--pdk-white);
	color: var(--pdk-navy);
	border: 1px solid var(--pdk-gold);
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none;
	white-space: normal;
}

/* Header */
.pdk-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1000;
	height: var(--pdk-header-height);
	background: rgba(254, 254, 254, 0.98);
	border-bottom: 1px solid var(--pdk-line);
	transition: background-color var(--pdk-transition-base), border-color var(--pdk-transition-base), box-shadow var(--pdk-transition-base);
}
.admin-bar .pdk-header { top: 32px; }
.pdk-header.is-scrolled { background: rgba(254, 254, 254, 0.98); box-shadow: 0 12px 32px rgba(7, 27, 59, 0.06); }
body.has-overlay-hero .pdk-header:not(.is-scrolled) { background: transparent; border-bottom-color: rgba(255,255,255,.16); }
body.has-overlay-hero .pdk-header:not(.is-scrolled) .pdk-header__logo--dark { display: none; }
body.has-overlay-hero .pdk-header:not(.is-scrolled) .pdk-header__logo--light { display: block; }
body.has-overlay-hero .pdk-header:not(.is-scrolled) .pdk-primary-menu > li > a { color: var(--pdk-white); }
body.has-overlay-hero .pdk-header:not(.is-scrolled) .pdk-menu-toggle { color: var(--pdk-white); }

.pdk-header__inner {
	width: min(90%, var(--pdk-container));
	height: 100%;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}
.pdk-header__logo { width: 150px; max-height: 62px; object-fit: contain; object-position: left center; }
.pdk-header__logo--light { display: none; }
.pdk-header__nav { display: none; }
.pdk-header__actions { display: flex; align-items: center; gap: 16px; }

.pdk-primary-menu,
.pdk-mobile-menu,
.pdk-footer-menu { margin: 0; padding: 0; list-style: none; }
.pdk-primary-menu { display: flex; align-items: center; gap: 30px; }
.pdk-primary-menu > li { position: relative; }
.pdk-primary-menu > li > a {
	position: relative;
	display: block;
	padding: 31px 0;
	color: #324158;
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none;
	transition: color var(--pdk-transition-fast);
}
.pdk-primary-menu > li > a:hover { color: var(--pdk-gold-dark); }
.pdk-primary-menu > li > a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 21px;
	left: 0;
	height: 1px;
	background: var(--pdk-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--pdk-transition-base);
}
.pdk-primary-menu > li:hover > a::after,
.pdk-primary-menu > li:focus-within > a::after,
.pdk-primary-menu > .current-menu-item > a::after,
.pdk-primary-menu > .current-menu-ancestor > a::after { transform: scaleX(1); }
.pdk-primary-menu .sub-menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 50%;
	width: 310px;
	margin: 0;
	padding: 9px;
	list-style: none;
	background: var(--pdk-white);
	border: 1px solid var(--pdk-line);
	box-shadow: 0 22px 55px rgba(7, 27, 59, 0.12);
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%) translateY(-8px);
	transition: opacity var(--pdk-transition-fast), visibility var(--pdk-transition-fast), transform var(--pdk-transition-fast);
}
.pdk-primary-menu .sub-menu::before { content: ""; position: absolute; right: 0; bottom: 100%; left: 0; height: 12px; }
.pdk-primary-menu .sub-menu a { display: block; padding: 12px 14px; color: #506074; font-size: 0.75rem; font-weight: 600; text-decoration: none; }
.pdk-primary-menu .sub-menu a:hover { background: var(--pdk-light); color: var(--pdk-gold-dark); }
.pdk-primary-menu li:hover > .sub-menu,
.pdk-primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }

.pdk-menu-toggle {
	width: 48px;
	height: 48px;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 7px;
	border: 0;
	background: transparent;
	color: var(--pdk-ink);
	cursor: pointer;
}
.pdk-menu-toggle__line { width: 25px; height: 2px; background: currentColor; transition: transform var(--pdk-transition-base); }
.pdk-menu-open .pdk-menu-toggle__line:first-child { transform: translateY(4.5px) rotate(45deg); }
.pdk-menu-open .pdk-menu-toggle__line:last-child { transform: translateY(-4.5px) rotate(-45deg); }

.pdk-mobile-nav {
	position: fixed;
	inset: var(--pdk-header-height) 0 0;
	z-index: 990;
	background: var(--pdk-navy);
	color: var(--pdk-white);
	visibility: hidden;
	opacity: 0;
	transform: translateY(-10px);
	transition: opacity var(--pdk-transition-base), transform var(--pdk-transition-base), visibility var(--pdk-transition-base);
}
.pdk-menu-open .pdk-mobile-nav { visibility: visible; opacity: 1; transform: translateY(0); }
.pdk-mobile-nav__inner { height: 100%; padding: 48px 20px 32px; display: flex; flex-direction: column; justify-content: space-between; overflow-y: auto; }
.pdk-mobile-menu > li { border-bottom: 1px solid rgba(255,255,255,.14); }
.pdk-mobile-menu > li > a { display: block; padding: 17px 0; color: var(--pdk-white); font-family: var(--pdk-font-heading); font-size: 1.8rem; font-weight: 700; text-decoration: none; }
.pdk-mobile-menu .sub-menu { margin: 0 0 18px; padding: 0 0 0 18px; list-style: none; }
.pdk-mobile-menu .sub-menu a { display: block; padding: 9px 0; color: #b8c4d4; font-size: 0.85rem; text-decoration: none; }

/* Default pages */
.pdk-main { min-height: 60vh; }
.pdk-page-hero { padding: calc(var(--pdk-header-height) + 110px) 0 80px; background: var(--pdk-cream); }
.pdk-page-hero__title { max-width: 1100px; margin: 0; color: var(--pdk-navy); font-size: var(--pdk-type-h1); }
.pdk-page__content { padding: 100px 0; }

/* =========================================================
   SINGLE PROJECT CASE STUDY
   ========================================================= */

body.pdk-single-project main.pdk-project,
body.pdk-single-project article.pdk-project-case-study {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.pdk-project-hero {
	position: relative;
	width: 100%;
	height: 100svh;
	min-height: 720px;
	max-height: 960px;
	display: flex;
	align-items: center;
	background: var(--pdk-navy);
	color: var(--pdk-white);
	overflow: hidden;
}

.pdk-project-hero__media { position: absolute; inset: 0; }
.pdk-project-hero__media--empty { background: linear-gradient(135deg,var(--pdk-navy),var(--pdk-dark)); }
.pdk-project-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	filter: saturate(.86) contrast(1.02);
}
.pdk-project-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(7,27,59,.88) 0%, rgba(7,27,59,.48) 46%, rgba(7,27,59,.1) 80%),
		linear-gradient(to top, rgba(5,17,35,.72), transparent 62%);
}
.pdk-project-hero__grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to right, rgba(255,255,255,.045) 1px, transparent 1px);
	background-size: 25% 100%;
	pointer-events: none;
}
.pdk-project-hero__content {
	position: relative;
	z-index: 2;
	width: min(90%, var(--pdk-container));
	height: 100%;
	margin-inline: auto;
	padding: calc(var(--pdk-header-height) + 38px) 0 32px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.pdk-project-hero__back {
	align-self: flex-start;
	color: #c5cfdb;
	font-size: .59rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
}
.pdk-project-hero__back:hover { color: var(--pdk-gold-soft); }
.pdk-project-hero__copy {
	max-width: 1100px;
	margin: auto 0;
	padding: 2vh 0;
}
.pdk-project-hero__title {
	max-width: 1050px;
	margin: 24px 0 0;
	color: var(--pdk-white);
	font-size: clamp(3.8rem,6.4vw,7rem);
	font-weight: 700;
	line-height: .94;
}
.pdk-project-meta {
	max-width: 900px;
	margin-top: 42px;
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 28px;
}
.pdk-project-meta__item {
	padding-top: 13px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	border-top: 1px solid rgba(255,255,255,.28);
}
.pdk-project-meta__label { color: #aeb9c8; font-size: .61rem; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; }
.pdk-project-meta__value { color: var(--pdk-white); font-size: .9rem; font-weight: 600; }
.pdk-project-hero__rail {
	min-height: 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid rgba(255,255,255,.18);
	color: #aeb9c8;
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.pdk-project-record {
	padding: clamp(6rem,9vw,9rem) 0;
	background: var(--pdk-cream);
}
.pdk-project-record__grid {
	display: grid;
	grid-template-columns: minmax(0,1.1fr) minmax(320px,.62fr);
	gap: 8vw;
	align-items: start;
}
.pdk-project-record__number {
	display: block;
	margin-bottom: 19px;
	color: var(--pdk-gold-dark);
	font-size: .59rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}
.pdk-project-record__heading h2 {
	max-width: 830px;
	margin: 0;
	color: var(--pdk-navy);
	font-size: clamp(3rem,4.9vw,5.4rem);
	line-height: 1;
}
.pdk-project-record__lead {
	margin: 0 0 38px;
	color: var(--pdk-navy);
	font-family: var(--pdk-font-heading);
	font-size: clamp(1.35rem,2vw,1.85rem);
	font-weight: 600;
	line-height: 1.45;
}
.pdk-project-record__facts { margin: 0; border-top: 1px solid var(--pdk-line); }
.pdk-project-record__facts > div { padding: 15px 0; display: grid; grid-template-columns: 105px 1fr; gap: 18px; border-bottom: 1px solid var(--pdk-line); }
.pdk-project-record__facts dt { color: var(--pdk-grey); font-size: .58rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.pdk-project-record__facts dd { margin: 0; color: var(--pdk-navy); font-size: .82rem; font-weight: 600; }

.pdk-project-story {
	padding: clamp(6rem,9vw,9rem) 0;
	background: var(--pdk-light);
}
.pdk-project-story__grid {
	display: grid;
	grid-template-columns: minmax(260px,.48fr) minmax(0,1.1fr);
	gap: 8vw;
	align-items: start;
}
.pdk-project-story__heading { position: sticky; top: calc(var(--pdk-header-height) + 40px); }
.pdk-project-story__heading h2 { margin: 0; color: var(--pdk-navy); font-size: clamp(2.6rem,4vw,4.4rem); line-height: 1; }
.pdk-project-story__content { max-width: 860px; color: #526171; }
.pdk-project-story__content > *:first-child { margin-top: 0; }
.pdk-project-story__content p,
.pdk-project-story__content li { font-size: clamp(.98rem,1.05vw,1.08rem); line-height: 1.85; }
.pdk-project-story__content h2,
.pdk-project-story__content h3,
.pdk-project-story__content h4 { margin-top: 2.2em; color: var(--pdk-navy); }
.pdk-project-story__content img { width: 100%; margin: 45px 0; }
.pdk-project-story__content figure { margin: 45px 0; }
.pdk-project-story__content blockquote { margin: 45px 0; padding: 10px 0 10px 28px; border-left: 2px solid var(--pdk-gold); color: var(--pdk-navy); font-family: var(--pdk-font-heading); font-size: clamp(1.35rem,2vw,1.8rem); font-weight: 600; }

.pdk-project-related {
	padding: clamp(6rem,9vw,9rem) 0;
	background: var(--pdk-navy);
	color: var(--pdk-white);
}
.pdk-project-related__heading {
	margin-bottom: clamp(3rem,5vw,5rem);
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
}
.pdk-project-related__heading .pdk-project-record__number { color: var(--pdk-gold-soft); }
.pdk-project-related__heading h2 { max-width: 760px; margin: 0; color: var(--pdk-white); font-size: clamp(2.9rem,4.8vw,5rem); line-height: 1; }
.pdk-project-related__heading .pdk-text-link { color: var(--pdk-white); }
.pdk-project-related__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.pdk-project-related-card { min-width: 0; border: 1px solid rgba(255,255,255,.14); }
.pdk-project-related-card__link { height: 100%; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.pdk-project-related-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--pdk-dark); }
.pdk-project-related-card__image,
.pdk-project-related-card__placeholder { width: 100%; height: 100%; }
.pdk-project-related-card__image { object-fit: cover; transition: transform 850ms var(--pdk-ease); }
.pdk-project-related-card__placeholder { background: linear-gradient(135deg,var(--pdk-dark),var(--pdk-navy-soft)); }
.pdk-project-related-card__number { position: absolute; top: 14px; left: 14px; color: var(--pdk-white); font-size: .59rem; font-weight: 800; letter-spacing: .12em; }
.pdk-project-related-card__body { padding: 23px; flex: 1; display: flex; flex-direction: column; }
.pdk-project-related-card__meta { display: flex; justify-content: space-between; gap: 16px; color: var(--pdk-gold-soft); font-size: .54rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pdk-project-related-card h3 { margin: 17px 0 28px; color: var(--pdk-white); font-size: clamp(1.7rem,2.3vw,2.5rem); line-height: 1; }
.pdk-project-related-card__open { margin-top: auto; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.12); color: #aeb9c8; font-size: .57rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pdk-project-related-card:hover .pdk-project-related-card__image { transform: scale(1.035); }

.pdk-project-cta {
	position: relative;
	padding: clamp(6rem,9vw,9rem) 0;
	background: linear-gradient(120deg,var(--pdk-dark),var(--pdk-navy));
	color: var(--pdk-white);
	overflow: hidden;
}
.pdk-project-cta::after {
	content: "PDK";
	position: absolute;
	right: -2vw;
	bottom: -8vw;
	color: rgba(255,255,255,.03);
	font-family: var(--pdk-font-heading);
	font-size: clamp(13rem,28vw,32rem);
	font-weight: 800;
	line-height: .75;
	pointer-events: none;
}
.pdk-project-cta__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.55fr); gap: 7vw; align-items: end; }
.pdk-project-cta .pdk-project-record__number { color: var(--pdk-gold-soft); }
.pdk-project-cta h2 { max-width: 840px; margin: 0; color: var(--pdk-white); font-size: clamp(3rem,5vw,5.4rem); line-height: .98; }
.pdk-project-cta__action p { max-width: 430px; margin: 0 0 28px; color: #aeb9c8; font-size: .84rem; line-height: 1.75; }


/* =========================================================
   PROJECTS INDEX
   ========================================================= */

.pdk-projects-index-page {
	background: var(--pdk-light);
}

.pdk-projects-hero {
	position: relative;
	min-height: clamp(620px, 72svh, 820px);
	display: flex;
	align-items: flex-end;
	background: var(--pdk-navy);
	color: var(--pdk-white);
	overflow: hidden;
}

.pdk-projects-hero__media {
	position: absolute;
	inset: 0;
}

.pdk-projects-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(.78) contrast(1.03);
}

.pdk-projects-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(7,27,59,.95) 0%, rgba(7,27,59,.72) 46%, rgba(7,27,59,.18) 78%),
		linear-gradient(to top, rgba(7,27,59,.62), transparent 58%);
}

.pdk-projects-hero__grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to right, rgba(255,255,255,.045) 1px, transparent 1px);
	background-size: 25% 100%;
	pointer-events: none;
}

.pdk-projects-hero__inner {
	position: relative;
	z-index: 2;
	padding: calc(var(--pdk-header-height) + 90px) 0 62px;
	display: grid;
	grid-template-columns: minmax(0,1.2fr) minmax(260px,.55fr);
	gap: 7vw;
	align-items: end;
}

.pdk-projects-hero__copy h1 {
	max-width: 920px;
	margin: 25px 0 30px;
	color: var(--pdk-white);
	font-size: clamp(3.8rem,6.6vw,7.4rem);
	line-height: .94;
}

.pdk-projects-hero__copy h1 span {
	color: var(--pdk-gold-soft);
}

.pdk-projects-hero__copy p {
	max-width: 620px;
	margin: 0;
	color: #c7d0dc;
	font-size: .95rem;
	line-height: 1.75;
}

.pdk-projects-hero__summary {
	display: grid;
	border-top: 1px solid rgba(255,255,255,.24);
}

.pdk-projects-hero__summary > div {
	padding: 17px 0;
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 18px;
	border-bottom: 1px solid rgba(255,255,255,.14);
}

.pdk-projects-hero__summary span {
	color: #94a1b2;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.pdk-projects-hero__summary strong {
	color: var(--pdk-white);
	font-size: .78rem;
	font-weight: 600;
}

.pdk-projects-filter {
	background: var(--pdk-cream);
	border-bottom: 1px solid var(--pdk-line);
}

.pdk-projects-filter__inner {
	min-height: 76px;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: clamp(25px,4vw,68px);
}

.pdk-projects-filter__label {
	color: var(--pdk-gold-dark);
	font-size: .59rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	white-space: nowrap;
}

.pdk-projects-filter__nav {
	display: flex;
	align-items: center;
	gap: 6px;
	overflow-x: auto;
	scrollbar-width: none;
}

.pdk-projects-filter__nav::-webkit-scrollbar { display: none; }

.pdk-project-filter {
	min-height: 38px;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	color: #5f6c78;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color var(--pdk-transition-base), background-color var(--pdk-transition-base), color var(--pdk-transition-base);
}

.pdk-project-filter:hover {
	border-color: var(--pdk-line);
	color: var(--pdk-navy);
}

.pdk-project-filter.is-active {
	background: var(--pdk-navy);
	border-color: var(--pdk-navy);
	color: var(--pdk-white);
}

.pdk-projects-record {
	padding: clamp(6rem,9vw,9rem) 0;
	background: var(--pdk-light);
}

.pdk-projects-record__heading {
	margin-bottom: clamp(3rem,5vw,5rem);
	display: grid;
	grid-template-columns: minmax(0,1.2fr) minmax(280px,.5fr);
	gap: 7vw;
	align-items: end;
}

.pdk-projects-record__number {
	display: block;
	margin-bottom: 18px;
	color: var(--pdk-gold-dark);
	font-size: .6rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.pdk-projects-record__heading h2 {
	max-width: 760px;
	margin: 0;
	color: var(--pdk-navy);
	font-size: clamp(2.9rem,4.8vw,5.2rem);
	line-height: 1;
}

.pdk-projects-record__heading p {
	max-width: 430px;
	margin: 0 0 4px;
	color: var(--pdk-grey);
	font-size: .84rem;
	line-height: 1.75;
}

.pdk-projects-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 24px;
}

.pdk-project-record-card {
	min-width: 0;
	background: var(--pdk-white);
	border: 1px solid var(--pdk-line);
	transition: transform var(--pdk-transition-base), border-color var(--pdk-transition-base), box-shadow var(--pdk-transition-base);
}

.pdk-project-record-card__link {
	height: 100%;
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.pdk-project-record-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--pdk-charcoal);
	overflow: hidden;
}

.pdk-project-record-card__image,
.pdk-project-record-card__placeholder {
	width: 100%;
	height: 100%;
}

.pdk-project-record-card__image {
	object-fit: cover;
	transition: transform 900ms var(--pdk-ease), filter var(--pdk-transition-base);
}

.pdk-project-record-card__placeholder {
	background: linear-gradient(135deg,var(--pdk-navy),var(--pdk-charcoal));
}

.pdk-project-record-card__overlay {
	position: absolute;
	inset: 32% 0 0;
	background: linear-gradient(to bottom, transparent, rgba(4,15,27,.76));
	opacity: .5;
	transition: opacity var(--pdk-transition-base);
}

.pdk-project-record-card__index {
	position: absolute;
	left: 18px;
	top: 16px;
	z-index: 2;
	color: var(--pdk-white);
	font-size: .65rem;
	font-weight: 800;
	letter-spacing: .12em;
}

.pdk-project-record-card__open {
	position: absolute;
	right: 18px;
	bottom: 16px;
	z-index: 2;
	color: var(--pdk-white);
	font-size: .59rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity var(--pdk-transition-base), transform var(--pdk-transition-base);
}

.pdk-project-record-card__body {
	padding: 25px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.pdk-project-record-card__meta {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	color: var(--pdk-gold-dark);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.pdk-project-record-card h3 {
	margin: 18px 0 30px;
	color: var(--pdk-navy);
	font-size: clamp(2rem,3vw,3.2rem);
	line-height: 1;
}

.pdk-project-record-card__footer {
	margin-top: auto;
	padding-top: 16px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid var(--pdk-line);
	color: var(--pdk-grey);
	font-size: .58rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.pdk-project-record-card__footer strong {
	color: var(--pdk-navy);
	font-size: .9rem;
}

.pdk-project-record-card:hover {
	transform: translateY(-5px);
	border-color: rgba(189,152,47,.42);
	box-shadow: 0 24px 60px rgba(7,27,59,.12);
}

.pdk-project-record-card:hover .pdk-project-record-card__image {
	transform: scale(1.035);
}

.pdk-project-record-card:hover .pdk-project-record-card__overlay {
	opacity: 1;
}

.pdk-project-record-card:hover .pdk-project-record-card__open {
	opacity: 1;
	transform: none;
}

.pdk-projects-empty {
	padding: clamp(4rem,7vw,7rem);
	border: 1px solid var(--pdk-line);
	background: var(--pdk-white);
}

.pdk-projects-empty > span {
	color: var(--pdk-gold-dark);
	font-size: .6rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.pdk-projects-empty h2 {
	max-width: 700px;
	margin: 20px 0 30px;
	color: var(--pdk-navy);
}

.pdk-projects-cta {
	position: relative;
	padding: clamp(6rem,9vw,9rem) 0;
	background: linear-gradient(120deg,var(--pdk-navy),var(--pdk-dark));
	color: var(--pdk-white);
	overflow: hidden;
}

.pdk-projects-cta::after {
	content: "PDK";
	position: absolute;
	right: -2vw;
	bottom: -8vw;
	color: rgba(255,255,255,.03);
	font-family: var(--pdk-font-heading);
	font-size: clamp(13rem,28vw,32rem);
	font-weight: 800;
	line-height: .75;
	pointer-events: none;
}

.pdk-projects-cta__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0,1.25fr) minmax(280px,.55fr);
	gap: 7vw;
	align-items: end;
}

.pdk-projects-cta h2 {
	max-width: 760px;
	margin: 0;
	color: var(--pdk-white);
	font-size: clamp(3rem,5vw,5.5rem);
	line-height: .98;
}

.pdk-projects-cta p {
	max-width: 420px;
	margin: 0 0 28px;
	color: #aeb9c8;
	font-size: .84rem;
	line-height: 1.75;
}

/* Project quick-view modal */
.pdk-project-modal {
	position: fixed;
	inset: 0;
	z-index: 5000;
	display: grid;
	place-items: center;
	padding: clamp(16px, 3vw, 42px);
	background: rgba(2,9,19,.88);
	backdrop-filter: blur(10px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 240ms ease, visibility 240ms ease;
}
.pdk-project-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.pdk-project-modal__dialog { position: relative; width: min(1120px,100%); max-height: min(88vh,820px); display: grid; grid-template-columns: minmax(0,1.2fr) minmax(340px,.8fr); background: var(--pdk-white); overflow: auto; box-shadow: 0 32px 100px rgba(0,0,0,.44); transform: translateY(18px) scale(.985); transition: transform 360ms var(--pdk-ease); }
.pdk-project-modal.is-open .pdk-project-modal__dialog { transform: none; }
.pdk-project-modal__media { position: relative; min-height: 560px; background: var(--pdk-dark); overflow: hidden; }
.pdk-project-modal__image { width: 100%; height: 100%; object-fit: cover; }
.pdk-project-modal__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(5,16,29,.38), transparent 42%); pointer-events: none; }
.pdk-project-modal__copy { padding: clamp(36px, 5vw, 68px); display: flex; flex-direction: column; justify-content: center; color: var(--pdk-ink); }
.pdk-project-modal__kicker { display: block; margin-bottom: 20px; color: var(--pdk-gold-dark); font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.pdk-project-modal__title { margin: 0 0 30px; color: var(--pdk-navy); font-family: var(--pdk-font-heading); font-size: clamp(2.4rem,4vw,4.3rem); font-weight: 700; line-height: .98; letter-spacing: -.045em; }
.pdk-project-modal__meta { margin: 0 0 34px; border-top: 1px solid var(--pdk-line); }
.pdk-project-modal__meta-row { padding: 14px 0; display: grid; grid-template-columns: 100px 1fr; gap: 18px; border-bottom: 1px solid var(--pdk-line); }
.pdk-project-modal__meta-row span { color: var(--pdk-grey); font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.pdk-project-modal__meta-row strong { color: var(--pdk-navy); font-size: .78rem; font-weight: 600; }
.pdk-project-modal__cta { min-height: 52px; display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 18px; background: var(--pdk-gold); color: var(--pdk-navy); font-size: .67rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; text-decoration: none; }
.pdk-project-modal__cta::after { content: "↗"; font-size: 1rem; }
.pdk-project-modal__close { position: absolute; top: 16px; right: 16px; z-index: 5; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; background: var(--pdk-light); color: var(--pdk-navy); font-size: 1.1rem; cursor: pointer; }

/* Footer */
.pdk-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: #04152e;
	background-image:
		linear-gradient(
			90deg,
			rgba(4,21,46,.97) 0%,
			rgba(4,21,46,.91) 48%,
			rgba(4,21,46,.88) 100%
		),
		linear-gradient(
			180deg,
			rgba(7,27,59,.36),
			rgba(2,12,27,.78)
		),
		url("https://pdkon.co.za/wp-content/uploads/2026/08/Footer.png");
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-position: center, center, center;
	background-size: cover, cover, cover;
	color: var(--pdk-white);
}
.pdk-footer__main { width: min(90%, var(--pdk-container)); margin-inline: auto; padding: 100px 0 80px; display: grid; gap: 60px; border-bottom: 1px solid rgba(255,255,255,.13); }
.pdk-footer__logo { width: 170px; }
.pdk-footer__summary { max-width: 360px; margin-top: 30px; color: #aeb9c8; font-size: .82rem; line-height: 1.75; }
.pdk-footer__heading { margin: 0 0 22px; color: var(--pdk-gold-soft); font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.pdk-footer-menu li + li { margin-top: 12px; }
.pdk-footer-menu a,
.pdk-footer__contact a { color: var(--pdk-white); font-size: .82rem; text-decoration: none; }
.pdk-footer__contact { display: flex; flex-direction: column; gap: 12px; color: #aeb9c8; font-size: .82rem; font-style: normal; }
.pdk-footer__bottom {
	position: relative;
	z-index: 6;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 20px max(5%, calc((100% - var(--pdk-container)) / 2));
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	border-top: 1px solid rgba(255,255,255,.18);
	background: rgba(2,10,23,.18);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	opacity: 1;
	visibility: visible;
	transform: none;
}
.pdk-footer__legal { display: flex; flex-wrap: wrap; gap: 24px; color: rgba(255,255,255,.67); font-size: .68rem; }
.pdk-footer__legal a { color: rgba(255,255,255,.82); text-decoration: none; }
.pdk-footer__growthcraft { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.68); font-size: .68rem; }
.pdk-footer__growthcraft img { width: 118px; max-width: 118px; max-height: 34px; object-fit: contain; display: block; filter: none; opacity: 1; }

/* Reveal system */
.pdk-motion-ready [data-pdk-reveal]:not([data-pdk-reveal="none"]) { opacity: 0; transform: translateY(28px); transition: opacity var(--pdk-transition-slow), transform var(--pdk-transition-slow); }
.pdk-motion-ready [data-pdk-reveal="none"] { opacity: 1; visibility: visible; transform: none; transition: none; }
.pdk-motion-ready [data-pdk-reveal="left"] { transform: translateX(-30px); }
.pdk-motion-ready [data-pdk-reveal="right"] { transform: translateX(30px); }
.pdk-motion-ready [data-pdk-reveal="scale"] { transform: scale(.975); }
.pdk-motion-ready [data-pdk-reveal].is-visible { opacity: 1; transform: none; }
[data-pdk-delay="1"] { transition-delay: 80ms; }
[data-pdk-delay="2"] { transition-delay: 160ms; }
[data-pdk-delay="3"] { transition-delay: 240ms; }

@media (min-width: 1024px) {
	.pdk-header__nav { display: block; margin-left: auto; }
	.pdk-button--header { display: inline-flex; }
	.pdk-menu-toggle { display: none; }
	.pdk-mobile-nav { display: none; }
	.pdk-footer__main { grid-template-columns: minmax(280px,1.4fr) repeat(3,minmax(170px,1fr)); }
}

@media (max-width: 767px) {
	:root { --pdk-header-height: 76px; }
	.pdk-container,
	.pdk-header__inner { width: calc(100% - 32px); }
	.pdk-header__logo { width: 138px; }
	.pdk-project-hero { height: 88svh; min-height: 650px; }
	.pdk-project-hero__content { width: calc(100% - 32px); padding: calc(var(--pdk-header-height) + 20px) 0 20px; }
	.pdk-project-hero__copy { padding: 20px 0; }
	.pdk-project-hero__title { font-size: clamp(3rem,14vw,4.8rem); }
	.pdk-project-meta { grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
	.pdk-project-hero__rail { align-items: flex-start; flex-direction: column; justify-content: center; gap: 5px; padding: 12px 0; }
	.pdk-project-record__grid,
	.pdk-project-story__grid,
	.pdk-project-cta__inner { grid-template-columns: 1fr; gap: 36px; }
	.pdk-project-story__heading { position: static; }
	.pdk-project-related__heading { align-items: flex-start; flex-direction: column; }
	.pdk-project-related__grid { grid-template-columns: 1fr; }

	.pdk-projects-hero { min-height: 640px; }
	.pdk-projects-hero__inner { padding: calc(var(--pdk-header-height) + 70px) 0 38px; grid-template-columns: 1fr; gap: 35px; }
	.pdk-projects-hero__copy h1 { font-size: clamp(3.2rem,14vw,5rem); }
	.pdk-projects-hero__summary > div { grid-template-columns: 100px 1fr; }
	.pdk-projects-filter__inner { min-height: 68px; grid-template-columns: 1fr; gap: 8px; padding: 12px 0; }
	.pdk-projects-filter__label { display: none; }
	.pdk-projects-filter__nav { width: calc(100vw - 16px); margin-right: calc(50% - 50vw); padding-right: 16px; }
	.pdk-projects-record__heading { grid-template-columns: 1fr; gap: 26px; }
	.pdk-projects-grid { grid-template-columns: 1fr; gap: 18px; }
	.pdk-project-record-card:hover { transform: none; box-shadow: none; }
	.pdk-project-record-card__open { opacity: 1; transform: none; }
	.pdk-projects-cta__inner { grid-template-columns: 1fr; gap: 38px; }
	.pdk-project-modal { padding: 10px; place-items: end center; }
	.pdk-project-modal__dialog { width: 100%; max-height: 94svh; grid-template-columns: 1fr; transform: translateY(35px); }
	.pdk-project-modal__media { min-height: 0; height: min(38svh,320px); }
	.pdk-project-modal__copy { padding: 30px 20px 28px; }
	.pdk-project-modal__title { margin-bottom: 24px; font-size: clamp(2.3rem,11vw,3.6rem); }
	.pdk-project-modal__close { top: 10px; right: 10px; background: rgba(254,254,254,.92); }
	.pdk-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 782px) {
	.admin-bar .pdk-header { top: 46px; }
	.admin-bar .pdk-mobile-nav { top: calc(var(--pdk-header-height) + 46px); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms; animation-iteration-count: 1; transition-duration: .01ms; transition-delay: 0ms; }
	.pdk-motion-ready [data-pdk-reveal] { opacity: 1; transform: none; }
}

/* =========================================================
   STAGE 6C — PROJECT MEDIA
   Version: 0.11.0
   ========================================================= */

.pdk-project-media-heading {
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, .45fr);
	gap: 6vw;
	align-items: end;
}

.pdk-project-media-heading h2 {
	max-width: 760px;
	margin: 18px 0 0;
	color: var(--pdk-navy);
	font-size: clamp(2.8rem, 4.6vw, 5rem);
	line-height: 1;
}

.pdk-project-media-heading > p {
	max-width: 390px;
	margin: 0 0 4px;
	color: var(--pdk-grey);
	font-size: .82rem;
	line-height: 1.75;
}

/* Project film */
.pdk-project-film {
	padding: clamp(6rem, 9vw, 9rem) 0;
	background: var(--pdk-light);
}

.pdk-project-film__frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: var(--pdk-dark);
	border: 1px solid var(--pdk-line);
	overflow: hidden;
}

.pdk-project-film__video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #000;
}

/* Project gallery */
.pdk-project-gallery {
	padding: clamp(6rem, 9vw, 9rem) 0;
	background: var(--pdk-cream);
}

.pdk-project-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(14px, 1.7vw, 26px);
}

.pdk-project-gallery__item {
	min-width: 0;
	margin: 0;
}

.pdk-project-gallery__item--wide {
	grid-column: 1 / -1;
}

.pdk-project-gallery__image-link {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	background: var(--pdk-charcoal);
	text-decoration: none;
}

.pdk-project-gallery__item--wide .pdk-project-gallery__image-link {
	aspect-ratio: 16 / 8.5;
}

.pdk-project-gallery__item--half .pdk-project-gallery__image-link {
	aspect-ratio: 4 / 3;
}

.pdk-project-gallery__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 900ms var(--pdk-ease), filter var(--pdk-transition-base);
}

.pdk-project-gallery__image-link::after {
	content: "";
	position: absolute;
	inset: 50% 0 0;
	background: linear-gradient(to top, rgba(4, 15, 27, .58), transparent);
	opacity: .45;
	transition: opacity var(--pdk-transition-base);
	pointer-events: none;
}

.pdk-project-gallery__open {
	position: absolute;
	right: 18px;
	bottom: 16px;
	z-index: 2;
	color: var(--pdk-white);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(7px);
	transition: opacity var(--pdk-transition-base), transform var(--pdk-transition-base);
}

.pdk-project-gallery__image-link:hover .pdk-project-gallery__image {
	transform: scale(1.025);
	filter: saturate(.9);
}

.pdk-project-gallery__image-link:hover::after {
	opacity: 1;
}

.pdk-project-gallery__image-link:hover .pdk-project-gallery__open,
.pdk-project-gallery__image-link:focus-visible .pdk-project-gallery__open {
	opacity: 1;
	transform: none;
}

.pdk-project-gallery figcaption {
	padding: 11px 2px 0;
	color: var(--pdk-grey);
	font-size: .64rem;
	line-height: 1.55;
}

/* Previous / next project */
.pdk-project-pagination {
	background: var(--pdk-white);
	border-top: 1px solid var(--pdk-line);
}

.pdk-project-pagination__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pdk-project-pagination__item {
	min-height: 180px;
	padding: 34px 36px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
	color: var(--pdk-navy);
	text-decoration: none;
	transition: background-color var(--pdk-transition-base), color var(--pdk-transition-base);
}

.pdk-project-pagination__item:first-child {
	border-right: 1px solid var(--pdk-line);
}

.pdk-project-pagination__item--next {
	align-items: flex-end;
	text-align: right;
}

.pdk-project-pagination__item span {
	color: var(--pdk-gold-dark);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.pdk-project-pagination__item strong {
	max-width: 520px;
	font-family: var(--pdk-font-heading);
	font-size: clamp(1.6rem, 2.4vw, 2.7rem);
	font-weight: 700;
	line-height: 1.05;
}

.pdk-project-pagination__item[href]:hover {
	background: var(--pdk-navy);
	color: var(--pdk-white);
}

.pdk-project-pagination__item[href]:hover span {
	color: var(--pdk-gold-soft);
}

@media (max-width: 767px) {
	.pdk-project-media-heading {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.pdk-project-film__frame {
		aspect-ratio: 16 / 10;
	}

	.pdk-project-gallery__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.pdk-project-gallery__item--wide,
	.pdk-project-gallery__item--half {
		grid-column: auto;
	}

	.pdk-project-gallery__item--wide .pdk-project-gallery__image-link,
	.pdk-project-gallery__item--half .pdk-project-gallery__image-link {
		aspect-ratio: 4 / 3;
	}

	.pdk-project-gallery__open {
		opacity: 1;
		transform: none;
	}

	.pdk-project-pagination__grid {
		grid-template-columns: 1fr;
	}

	.pdk-project-pagination__item {
		min-height: 135px;
		padding: 28px 20px;
	}

	.pdk-project-pagination__item:first-child {
		border-right: 0;
		border-bottom: 1px solid var(--pdk-line);
	}
}


/* =========================================================
   PROJECT CASE STUDY — STRUCTURED COPY
   Version 0.12.0
   ========================================================= */

.pdk-project-detail-section {
	padding: clamp(5rem, 8vw, 8rem) 0;
	background: var(--pdk-white);
}

.pdk-project-detail-section--light {
	background: var(--pdk-light);
}

.pdk-project-detail-section__grid {
	display: grid;
	grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
	gap: clamp(48px, 8vw, 120px);
	align-items: start;
}

.pdk-project-detail-section__heading {
	position: sticky;
	top: calc(var(--pdk-header-height) + 36px);
}

.pdk-project-detail-section__heading h2,
.pdk-project-challenge__heading h2 {
	max-width: 520px;
	margin: 14px 0 0;
	color: var(--pdk-navy);
	font-size: clamp(2.5rem, 4vw, 4.2rem);
	line-height: 1;
	letter-spacing: -.045em;
}

.pdk-project-detail-section__copy {
	max-width: 850px;
	color: #526171;
}

.pdk-project-detail-section__copy p {
	margin: 0;
	font-size: clamp(.95rem, 1vw, 1.04rem);
	line-height: 1.85;
}

.pdk-project-challenge {
	padding: clamp(5rem, 8vw, 8rem) 0;
	background: #071b3b;
	color: var(--pdk-white);
}

.pdk-project-challenge__heading {
	margin-bottom: clamp(36px, 5vw, 64px);
}

.pdk-project-challenge__heading .pdk-project-record__number {
	color: var(--pdk-gold-soft);
}

.pdk-project-challenge__heading h2 {
	color: var(--pdk-white);
}

.pdk-project-challenge__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255,255,255,.15);
	border-bottom: 1px solid rgba(255,255,255,.15);
}

.pdk-project-challenge__card {
	min-height: 280px;
	padding: clamp(30px, 4vw, 54px);
	border-right: 1px solid rgba(255,255,255,.15);
}

.pdk-project-challenge__card:last-child {
	border-right: 0;
}

.pdk-project-challenge__label {
	display: block;
	margin-bottom: 22px;
	color: var(--pdk-gold-soft);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.pdk-project-challenge__card p {
	max-width: 720px;
	margin: 0;
	color: #c8d2df;
	font-size: clamp(.95rem, 1vw, 1.04rem);
	line-height: 1.82;
}

.pdk-project-challenge__card--solution {
	background: rgba(255,255,255,.025);
}

@media (max-width: 767px) {
	.pdk-project-detail-section__grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.pdk-project-detail-section__heading {
		position: static;
	}

	.pdk-project-challenge__grid {
		grid-template-columns: 1fr;
	}

	.pdk-project-challenge__card {
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid rgba(255,255,255,.15);
	}

	.pdk-project-challenge__card:last-child {
		border-bottom: 0;
	}
}


/* =========================================================
   PROJECT RECORD — EDITORIAL LAYOUT
   Version 0.12.1
   ========================================================= */

.pdk-project-record {
	padding: clamp(4.75rem, 7vw, 7.5rem) 0;
	background: #f4f0e6;
	color: var(--pdk-navy);
}

.pdk-project-record__top {
	display: grid;
	grid-template-columns: minmax(0, .88fr) minmax(360px, 1.12fr);
	gap: clamp(50px, 8vw, 130px);
	align-items: start;
	padding-bottom: clamp(42px, 5vw, 64px);
}

.pdk-project-record__identity,
.pdk-project-record__summary {
	min-width: 0;
}

.pdk-project-record__number {
	display: block;
	margin-bottom: 18px;
	color: var(--pdk-gold-dark);
	font-size: .58rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.pdk-project-record__identity h2 {
	max-width: 620px;
	margin: 0 0 18px;
	color: var(--pdk-navy);
	font-size: clamp(2.7rem, 4.4vw, 4.8rem);
	font-weight: 700;
	line-height: .98;
	letter-spacing: -.055em;
}

.pdk-project-record__scope {
	max-width: 520px;
	margin: 0;
	color: #65717d;
	font-size: .68rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.pdk-project-record__lead {
	max-width: 760px;
	margin: 0;
	color: var(--pdk-navy);
	font-family: var(--pdk-font-heading);
	font-size: clamp(1.45rem, 2.15vw, 2.35rem);
	font-weight: 600;
	line-height: 1.36;
	letter-spacing: -.03em;
}

.pdk-project-record__facts {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid rgba(7, 27, 59, .18);
	border-left: 1px solid rgba(7, 27, 59, .18);
}

.pdk-project-record__fact {
	min-width: 0;
	min-height: 112px;
	padding: 20px 22px 22px;
	border-right: 1px solid rgba(7, 27, 59, .18);
	border-bottom: 1px solid rgba(7, 27, 59, .18);
}

.pdk-project-record__fact dt {
	margin: 0 0 12px;
	color: #7d8790;
	font-size: .52rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.pdk-project-record__fact dd {
	margin: 0;
	color: var(--pdk-navy);
	font-size: .8rem;
	font-weight: 650;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
	.pdk-project-record__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.pdk-project-record {
		padding: 4.5rem 0;
	}

	.pdk-project-record__top {
		grid-template-columns: 1fr;
		gap: 30px;
		padding-bottom: 38px;
	}

	.pdk-project-record__identity h2 {
		font-size: clamp(2.6rem, 12vw, 4rem);
	}

	.pdk-project-record__lead {
		font-size: clamp(1.3rem, 6vw, 1.75rem);
	}

	.pdk-project-record__facts {
		grid-template-columns: 1fr 1fr;
	}

	.pdk-project-record__fact {
		min-height: 100px;
		padding: 18px 16px 20px;
	}
}

@media (max-width: 480px) {
	.pdk-project-record__facts {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   SINGLE PROJECT — INTERACTIVE PORTFOLIO
   Version 0.13.0
   ========================================================= */

.pdk-single-project .pdk-project-portfolio {
	background: var(--pdk-cream);
}

.pdk-project-portfolio__article {
	background: var(--pdk-cream);
}


/* =========================================================
   PORTFOLIO HERO
   ========================================================= */

.pdk-project-portfolio-hero {
	position: relative;
	min-height: clamp(390px, 35vw, 560px);
	display: flex;
	align-items: flex-end;
	background: var(--pdk-navy);
	color: var(--pdk-white);
	overflow: hidden;
}

.pdk-project-portfolio-hero__media,
.pdk-project-portfolio-hero__shade {
	position: absolute;
	inset: 0;
}

.pdk-project-portfolio-hero__media {
	z-index: 0;
	background: var(--pdk-navy);
}

.pdk-project-portfolio-hero__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

.pdk-project-portfolio-hero__media--empty {
	background:
		linear-gradient(
			135deg,
			#071b3b,
			#0e2e59
		);
}

.pdk-project-portfolio-hero__shade {
	z-index: 1;
	background:
		linear-gradient(
			90deg,
			rgba(4, 18, 39, .92) 0%,
			rgba(4, 18, 39, .72) 37%,
			rgba(4, 18, 39, .32) 67%,
			rgba(4, 18, 39, .18) 100%
		),
		linear-gradient(
			to top,
			rgba(4, 18, 39, .48),
			transparent 58%
		);
}

.pdk-project-portfolio-hero__inner {
	position: relative;
	z-index: 2;
	width: min(90%, var(--pdk-container));
	margin-inline: auto;
	padding-top: calc(var(--pdk-header-height) + 80px);
	padding-bottom: clamp(38px, 4vw, 58px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(40px, 6vw, 90px);
	align-items: end;
}

.pdk-project-portfolio-hero__identity {
	max-width: 760px;
}

.pdk-project-portfolio-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 18px;
	color: var(--pdk-gold-soft);
	font-size: .58rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.pdk-project-portfolio-hero__eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: var(--pdk-gold);
}

.pdk-project-portfolio-hero h1 {
	max-width: 760px;
	margin: 0;
	color: var(--pdk-white);
	font-size: clamp(3.2rem, 5vw, 5.8rem);
	font-weight: 400;
	line-height: .96;
	letter-spacing: -.055em;
}

.pdk-project-portfolio-hero__identity > p {
	margin: 15px 0 0;
	color: rgba(255,255,255,.9);
	font-size: .78rem;
	line-height: 1.4;
}

.pdk-project-portfolio-hero__stats {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(120px, auto));
	border-top: 1px solid rgba(255,255,255,.22);
}

.pdk-project-portfolio-hero__stats > div {
	padding: 14px 20px 0;
	border-left: 1px solid rgba(255,255,255,.18);
}

.pdk-project-portfolio-hero__stats dt {
	margin: 0 0 7px;
	color: rgba(255,255,255,.58);
	font-size: .48rem;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.pdk-project-portfolio-hero__stats dd {
	margin: 0;
	color: var(--pdk-gold-soft);
	font-family: var(--pdk-font-heading);
	font-size: clamp(.9rem, 1.2vw, 1.15rem);
	font-weight: 600;
	line-height: 1.3;
}

.pdk-project-portfolio-hero__back {
	position: absolute;
	top: calc(var(--pdk-header-height) + 18px);
	right: max(20px, 4vw);
	z-index: 4;
	min-height: 44px;
	padding: 0 14px 0 16px;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	background: var(--pdk-white);
	color: var(--pdk-navy);
	font-size: .54rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
}

.pdk-project-portfolio-hero__back span:last-child {
	font-size: 1rem;
	line-height: 1;
}


/* =========================================================
   PROJECT TABS
   ========================================================= */

.pdk-project-tabs {
	position: sticky;
	top: var(--pdk-header-height);
	z-index: 45;
	background: rgba(254,254,254,.97);
	border-bottom: 1px solid var(--pdk-line);
	backdrop-filter: blur(10px);
}

.pdk-project-tabs__inner {
	display: flex;
	align-items: stretch;
	gap: clamp(16px, 2.5vw, 34px);
	overflow-x: auto;
	scrollbar-width: none;
}

.pdk-project-tabs__inner::-webkit-scrollbar {
	display: none;
}

.pdk-project-tab {
	position: relative;
	flex: 0 0 auto;
	min-height: 54px;
	padding: 0 2px;
	border: 0;
	background: transparent;
	color: #687482;
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}

.pdk-project-tab::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	background: var(--pdk-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease;
}

.pdk-project-tab:hover,
.pdk-project-tab.is-active {
	color: var(--pdk-navy);
}

.pdk-project-tab.is-active::after {
	transform: scaleX(1);
}


/* =========================================================
   PANELS
   ========================================================= */

.pdk-project-panel {
	background: var(--pdk-cream);
}

.pdk-project-panel[hidden] {
	display: none !important;
}

.pdk-project-panel.is-active {
	display: block;
}


/* =========================================================
   OVERVIEW
   ========================================================= */

.pdk-project-overview {
	min-height: 0;
	padding-top: clamp(46px, 5vw, 78px);
	padding-bottom: clamp(58px, 7vw, 100px);
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(300px, .7fr);
	gap: clamp(60px, 10vw, 150px);
	align-items: start;
}

.pdk-project-overview__brief {
	max-width: 720px;
}

.pdk-project-overview__label,
.pdk-project-results__label {
	display: block;
	margin-bottom: 15px;
	color: var(--pdk-gold-dark);
	font-size: .54rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.pdk-project-overview__brief h2 {
	max-width: 680px;
	margin: 0 0 22px;
	color: var(--pdk-navy);
	font-size: clamp(2.4rem, 3.7vw, 4.25rem);
	font-weight: 650;
	line-height: 1.02;
	letter-spacing: -.05em;
}

.pdk-project-overview__lead {
	max-width: 680px;
	margin: 0 0 22px;
	color: #536474;
	font-size: .88rem;
	line-height: 1.75;
}

.pdk-project-overview__copy {
	max-width: 690px;
	color: #65717e;
	font-size: .82rem;
	line-height: 1.78;
}

.pdk-project-overview__copy p {
	margin: 0 0 1em;
}

.pdk-project-overview__facts {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(7,27,59,.2);
}

.pdk-project-overview__facts > div {
	padding: 13px 0;
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 16px;
	border-bottom: 1px solid rgba(7,27,59,.18);
}

.pdk-project-overview__facts dt {
	color: #8a949e;
	font-size: .5rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pdk-project-overview__facts dd {
	margin: 0;
	color: var(--pdk-navy);
	font-size: .77rem;
	font-weight: 600;
	line-height: 1.5;
}


/* =========================================================
   CATEGORY MEDIA VIEWER
   ========================================================= */

.pdk-project-media-viewer-wrap,
.pdk-project-video-panel,
.pdk-project-results {
	padding-top: clamp(36px, 4vw, 58px);
	padding-bottom: clamp(56px, 6vw, 88px);
}

.pdk-project-media-viewer {
	max-width: 1120px;
	margin: 0 auto;
}

.pdk-project-media-viewer__stage {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--pdk-navy);
	overflow: hidden;
	box-shadow: 0 18px 55px rgba(7,27,59,.08);
}

.pdk-project-media-slide {
	position: absolute;
	inset: 0;
	margin: 0;
	background: var(--pdk-navy);
}

.pdk-project-media-slide[hidden] {
	display: none !important;
}

.pdk-project-media-slide__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.pdk-project-media-slide figcaption {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 68px;
	z-index: 3;
	max-width: 600px;
	color: rgba(255,255,255,.84);
	font-size: .66rem;
	line-height: 1.5;
	text-shadow: 0 1px 4px rgba(0,0,0,.35);
}

.pdk-project-media-viewer__stage::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	z-index: 1;
	height: 34%;
	background: linear-gradient(to top, rgba(5,18,39,.8), transparent);
	pointer-events: none;
}

.pdk-project-media-viewer__arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	width: 46px;
	height: 46px;
	border: 0;
	background: rgba(254,254,254,.94);
	color: var(--pdk-navy);
	font-size: 1rem;
	cursor: pointer;
	transform: translateY(-50%);
	transition:
		background-color 180ms ease,
		transform 180ms ease;
}

.pdk-project-media-viewer__arrow:hover {
	background: var(--pdk-gold);
}

.pdk-project-media-viewer__arrow--prev {
	left: 16px;
}

.pdk-project-media-viewer__arrow--next {
	right: 16px;
}

.pdk-project-media-viewer__caption {
	position: absolute;
	right: 20px;
	bottom: 18px;
	left: 20px;
	z-index: 4;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	color: var(--pdk-white);
	pointer-events: none;
}

.pdk-project-media-viewer__caption > div:first-child {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.pdk-project-media-viewer__caption strong {
	font-family: var(--pdk-font-heading);
	font-size: 1.08rem;
	font-weight: 650;
}

.pdk-project-media-viewer__caption span {
	font-size: .5rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pdk-project-media-viewer__counter {
	display: flex;
	align-items: baseline;
	gap: 3px;
	font-family: var(--pdk-font-heading);
}

.pdk-project-media-viewer__counter span:first-child {
	color: var(--pdk-gold-soft);
	font-size: 1rem;
}

.pdk-project-media-viewer__counter span:last-child {
	font-size: .72rem;
}

.pdk-project-media-viewer__footer {
	max-width: 1280px;
	margin: 18px auto 0;
	padding-top: 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-top: 1px solid rgba(7,27,59,.18);
	color: #8a949e;
	font-size: .5rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.pdk-project-media-viewer__footer a {
	color: var(--pdk-gold-dark);
	text-decoration: none;
}


/* =========================================================
   VIDEO
   ========================================================= */

.pdk-project-video-panel__frame {
	max-width: 1120px;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	background: var(--pdk-navy);
	overflow: hidden;
}

.pdk-project-video-panel video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
	background: #000;
}


/* =========================================================
   SCOPE & RESULTS
   ========================================================= */

.pdk-project-results {
	min-height: clamp(390px, 36vw, 580px);
}

.pdk-project-results__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(30px, 4vw, 54px);
}

.pdk-project-results__column {
	padding-top: 18px;
	border-top: 1px solid rgba(7,27,59,.62);
}

.pdk-project-results__copy {
	color: var(--pdk-navy);
	font-family: var(--pdk-font-heading);
	font-size: clamp(.95rem, 1.25vw, 1.2rem);
	line-height: 1.55;
}

.pdk-project-results__copy p {
	margin: 0 0 1em;
}

.pdk-project-results__additional {
	margin-top: clamp(42px, 5vw, 70px);
	padding-top: 28px;
	border-top: 1px solid rgba(7,27,59,.18);
}

.pdk-project-results__editor-content {
	max-width: 860px;
	color: #5e6b78;
	font-size: .84rem;
	line-height: 1.8;
}


/* =========================================================
   PROJECT CASE NAV
   ========================================================= */

.pdk-project-case-nav {
	background: var(--pdk-navy);
	color: var(--pdk-white);
}

.pdk-project-case-nav__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.pdk-project-case-nav__item {
	min-height: 128px;
	padding: 28px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 7px;
	color: var(--pdk-white);
	text-decoration: none;
	border-right: 1px solid rgba(255,255,255,.14);
}

.pdk-project-case-nav__item--next {
	padding-left: clamp(25px, 5vw, 70px);
	text-align: right;
	border-right: 0;
}

.pdk-project-case-nav__item span {
	color: var(--pdk-gold-soft);
	font-size: .52rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.pdk-project-case-nav__item strong {
	font-family: var(--pdk-font-heading);
	font-size: clamp(1rem, 1.6vw, 1.35rem);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1023px) {
	.pdk-project-portfolio-hero__inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.pdk-project-portfolio-hero__stats {
		width: min(100%, 620px);
	}

	.pdk-project-overview {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.pdk-project-overview__facts {
		max-width: 720px;
	}

	.pdk-project-results__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.pdk-project-portfolio-hero {
		min-height: 500px;
	}

	.pdk-project-portfolio-hero__inner {
		width: calc(100% - 32px);
		margin-inline: auto;
		padding-top: calc(var(--pdk-header-height) + 96px);
		padding-bottom: 30px;
	}

	.pdk-project-portfolio-hero h1 {
		font-size: clamp(2.9rem, 13vw, 4.6rem);
	}

	.pdk-project-portfolio-hero__back {
		top: calc(var(--pdk-header-height) + 12px);
		right: 16px;
		min-height: 40px;
	}

	.pdk-project-portfolio-hero__stats {
		grid-template-columns: repeat(3, 1fr);
	}

	.pdk-project-portfolio-hero__stats > div {
		padding: 12px 10px 0;
	}

	.pdk-project-tabs {
		top: var(--pdk-header-height);
	}

	.pdk-project-tabs__inner {
		width: 100%;
		padding-inline: 16px;
	}

	.pdk-project-tab {
		min-height: 50px;
	}

	.pdk-project-overview {
		min-height: 0;
		padding-top: 42px;
		padding-bottom: 56px;
	}

	.pdk-project-overview__brief h2 {
		font-size: clamp(2.35rem, 11vw, 3.7rem);
	}

	.pdk-project-media-viewer-wrap,
	.pdk-project-video-panel,
	.pdk-project-results {
		width: 100%;
		padding: 20px 16px 48px;
	}

	.pdk-project-media-viewer__stage,
	.pdk-project-video-panel__frame {
		aspect-ratio: 4 / 3;
	}

	.pdk-project-media-viewer__arrow {
		width: 40px;
		height: 40px;
	}

	.pdk-project-media-viewer__arrow--prev {
		left: 10px;
	}

	.pdk-project-media-viewer__arrow--next {
		right: 10px;
	}

	.pdk-project-media-viewer__footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.pdk-project-results__grid {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.pdk-project-case-nav__inner {
		grid-template-columns: 1fr;
	}

	.pdk-project-case-nav__item,
	.pdk-project-case-nav__item--next {
		min-height: 105px;
		padding: 24px 0;
		text-align: left;
		border-right: 0;
		border-bottom: 1px solid rgba(255,255,255,.14);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pdk-project-tab::after,
	.pdk-project-media-viewer__arrow {
		transition: none;
	}
}


/* =========================================================
   SERVICES INDEX — STAGE 7A
   Version 0.14.0
   ========================================================= */

.pdk-services-index {
	background: var(--pdk-cream);
}


/* =========================================================
   SERVICES HERO
   ========================================================= */

.pdk-services-hero {
	position: relative;
	min-height: clamp(560px, 58vw, 860px);
	display: flex;
	align-items: flex-end;
	background: var(--pdk-navy);
	color: var(--pdk-white);
	overflow: hidden;
}

.pdk-services-hero__media,
.pdk-services-hero__shade {
	position: absolute;
	inset: 0;
}

.pdk-services-hero__media {
	z-index: 0;
	background:
		linear-gradient(
			135deg,
			#071b3b,
			#0e2e59
		);
}

.pdk-services-hero__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

.pdk-services-hero__media--empty {
	background:
		linear-gradient(
			135deg,
			#071b3b,
			#0e2e59
		);
}

.pdk-services-hero__shade {
	z-index: 1;
	background:
		linear-gradient(
			90deg,
			rgba(4,18,39,.93) 0%,
			rgba(4,18,39,.78) 42%,
			rgba(4,18,39,.34) 73%,
			rgba(4,18,39,.2) 100%
		),
		linear-gradient(
			to top,
			rgba(4,18,39,.7),
			transparent 55%
		);
}

.pdk-services-hero__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-top: calc(var(--pdk-header-height) + 110px);
	padding-bottom: clamp(48px, 6vw, 78px);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, .55fr);
	gap: clamp(50px, 8vw, 120px);
	align-items: end;
}

.pdk-services-hero__copy {
	max-width: 880px;
}

.pdk-services-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
	color: var(--pdk-gold-soft);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.pdk-services-hero__eyebrow::before {
	content: "";
	width: 30px;
	height: 2px;
	background: var(--pdk-gold);
}

.pdk-services-hero h1 {
	max-width: 900px;
	margin: 0;
	color: var(--pdk-white);
	font-size: clamp(3.8rem, 6.5vw, 7.2rem);
	font-weight: 650;
	line-height: .95;
	letter-spacing: -.06em;
}

.pdk-services-hero h1 span {
	display: block;
	color: var(--pdk-gold-soft);
}

.pdk-services-hero__copy > p {
	max-width: 650px;
	margin: 26px 0 0;
	color: #d4dce6;
	font-size: clamp(.9rem, 1.05vw, 1rem);
	line-height: 1.8;
}

.pdk-services-hero__record {
	border-top: 1px solid rgba(255,255,255,.22);
}

.pdk-services-hero__record > div {
	padding: 15px 0;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 20px;
	border-bottom: 1px solid rgba(255,255,255,.15);
}

.pdk-services-hero__record span {
	color: #9eacbc;
	font-size: .52rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.pdk-services-hero__record strong {
	color: var(--pdk-white);
	font-size: .8rem;
	font-weight: 600;
}


/* =========================================================
   SERVICES DIRECTORY
   ========================================================= */

.pdk-services-directory {
	padding: clamp(5.5rem, 8vw, 9rem) 0;
	background: var(--pdk-cream);
}

.pdk-services-directory__heading {
	margin-bottom: clamp(44px, 6vw, 78px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, .55fr);
	gap: clamp(50px, 8vw, 120px);
	align-items: end;
}

.pdk-services-section-number {
	display: block;
	margin-bottom: 16px;
	color: var(--pdk-gold-dark);
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.pdk-services-directory__heading h2,
.pdk-services-capability__heading h2,
.pdk-services-proof h2,
.pdk-services-cta h2 {
	max-width: 760px;
	margin: 0;
	color: var(--pdk-navy);
	font-size: clamp(2.8rem, 4.8vw, 5.2rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.055em;
}

.pdk-services-directory__heading > p {
	max-width: 470px;
	margin: 0;
	color: #65717e;
	font-size: .84rem;
	line-height: 1.8;
}

.pdk-services-directory__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(7,27,59,.18);
	border-left: 1px solid rgba(7,27,59,.18);
}

.pdk-service-index-card {
	min-width: 0;
	border-right: 1px solid rgba(7,27,59,.18);
	border-bottom: 1px solid rgba(7,27,59,.18);
	background: var(--pdk-white);
}

.pdk-service-index-card__link {
	height: 100%;
	display: grid;
	grid-template-rows: auto 1fr;
	color: inherit;
	text-decoration: none;
}

.pdk-service-index-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--pdk-navy);
}

.pdk-service-index-card__image,
.pdk-service-index-card__placeholder {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.pdk-service-index-card__placeholder {
	background:
		linear-gradient(
			135deg,
			#0e2e59,
			#071b3b
		);
}

.pdk-service-index-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			to top,
			rgba(4,18,39,.62),
			transparent 48%
		);
	opacity: .68;
	transition: opacity 240ms ease;
}

.pdk-service-index-card__image {
	transition: transform 750ms var(--pdk-ease);
}

.pdk-service-index-card__number {
	position: absolute;
	left: 20px;
	bottom: 17px;
	z-index: 2;
	color: var(--pdk-white);
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .12em;
}

.pdk-service-index-card__arrow {
	position: absolute;
	right: 18px;
	bottom: 15px;
	z-index: 2;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	background: var(--pdk-gold);
	color: var(--pdk-navy);
	font-size: 1rem;
}

.pdk-service-index-card__body {
	padding: clamp(25px, 3vw, 38px);
}

.pdk-service-index-card__body h3 {
	margin: 0;
	color: var(--pdk-navy);
	font-size: clamp(1.7rem, 2.6vw, 2.7rem);
	font-weight: 650;
	line-height: 1.05;
	letter-spacing: -.045em;
}

.pdk-service-index-card__body p {
	max-width: 590px;
	margin: 18px 0 0;
	color: #66727f;
	font-size: .8rem;
	line-height: 1.75;
}

.pdk-service-index-card__cta {
	display: inline-block;
	margin-top: 24px;
	padding-bottom: 5px;
	border-bottom: 1px solid rgba(7,27,59,.28);
	color: var(--pdk-navy);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.pdk-service-index-card:hover .pdk-service-index-card__image {
	transform: scale(1.025);
}

.pdk-service-index-card:hover .pdk-service-index-card__media::after {
	opacity: 1;
}


/* =========================================================
   CAPABILITY STRIP
   ========================================================= */

.pdk-services-capability {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: var(--pdk-navy);
	color: var(--pdk-white);
}

.pdk-services-capability__inner {
	display: grid;
	grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
	gap: clamp(60px, 9vw, 130px);
}

.pdk-services-capability__heading h2 {
	color: var(--pdk-white);
}

.pdk-services-capability__heading h2 span {
	display: block;
	color: var(--pdk-gold-soft);
}

.pdk-services-capability__heading .pdk-services-section-number {
	color: var(--pdk-gold-soft);
}

.pdk-services-capability__items {
	border-top: 1px solid rgba(255,255,255,.16);
}

.pdk-services-capability__items > div {
	min-height: 76px;
	display: grid;
	grid-template-columns: 48px 1fr;
	align-items: center;
	gap: 16px;
	border-bottom: 1px solid rgba(255,255,255,.13);
}

.pdk-services-capability__items span {
	color: var(--pdk-gold-soft);
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .12em;
}

.pdk-services-capability__items strong {
	color: var(--pdk-white);
	font-family: var(--pdk-font-heading);
	font-size: clamp(.95rem, 1.35vw, 1.2rem);
	font-weight: 600;
}


/* =========================================================
   PROJECT PROOF
   ========================================================= */

.pdk-services-proof {
	padding: clamp(5.5rem, 8vw, 8rem) 0;
	background: var(--pdk-light);
}

.pdk-services-proof__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 50px;
	align-items: end;
}

.pdk-services-proof h2 span {
	display: block;
	color: var(--pdk-gold-dark);
}

.pdk-services-proof__copy > p {
	max-width: 650px;
	margin: 22px 0 0;
	color: #65717e;
	font-size: .84rem;
	line-height: 1.8;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.pdk-services-cta {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background:
		linear-gradient(
			135deg,
			#071b3b,
			#05162c
		);
	color: var(--pdk-white);
}

.pdk-services-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, .55fr);
	gap: clamp(50px, 8vw, 120px);
	align-items: end;
}

.pdk-services-cta .pdk-services-section-number {
	color: var(--pdk-gold-soft);
}

.pdk-services-cta h2 {
	color: var(--pdk-white);
}

.pdk-services-cta h2 span {
	display: block;
	color: var(--pdk-gold-soft);
}

.pdk-services-cta__action > p {
	max-width: 460px;
	margin: 0 0 28px;
	color: #b9c5d3;
	font-size: .84rem;
	line-height: 1.8;
}

.pdk-services-cta__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
}


/* =========================================================
   SERVICES RESPONSIVE
   ========================================================= */

@media (max-width: 1023px) {
	.pdk-services-hero__inner,
	.pdk-services-directory__heading,
	.pdk-services-capability__inner,
	.pdk-services-cta__inner {
		grid-template-columns: 1fr;
	}

	.pdk-services-hero__record {
		max-width: 620px;
	}

	.pdk-services-proof__inner {
		grid-template-columns: 1fr;
		align-items: start;
	}
}

@media (max-width: 767px) {
	.pdk-services-hero {
		min-height: 620px;
	}

	.pdk-services-hero__inner {
		padding-top: calc(var(--pdk-header-height) + 90px);
		padding-bottom: 36px;
		gap: 34px;
	}

	.pdk-services-hero h1 {
		font-size: clamp(3.15rem, 14vw, 5rem);
	}

	.pdk-services-directory,
	.pdk-services-capability,
	.pdk-services-proof,
	.pdk-services-cta {
		padding: 4.75rem 0;
	}

	.pdk-services-directory__heading {
		gap: 28px;
		margin-bottom: 38px;
	}

	.pdk-services-directory__grid {
		grid-template-columns: 1fr;
	}

	.pdk-service-index-card__media {
		aspect-ratio: 4 / 3;
	}

	.pdk-services-capability__inner {
		gap: 40px;
	}

	.pdk-services-capability__items > div {
		min-height: 68px;
	}

	.pdk-services-proof__inner,
	.pdk-services-cta__inner {
		gap: 38px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pdk-service-index-card__image,
	.pdk-service-index-card__media::after {
		transition: none;
	}
}


/* =========================================================
   SERVICES ARCHIVE REFINEMENT
   Version 0.14.1
   ========================================================= */

/* Hero proportion correction */

.pdk-services-hero {
	min-height: clamp(520px, 48vw, 720px);
	align-items: center;
}

.pdk-services-hero__inner {
	padding-top: calc(var(--pdk-header-height) + 56px);
	padding-bottom: 54px;
	align-items: end;
}

.pdk-services-hero h1 {
	max-width: 820px;
	font-size: clamp(3.6rem, 5.6vw, 6.3rem);
}

.pdk-services-hero__copy > p {
	margin-top: 22px;
}

.pdk-services-hero__record {
	margin-bottom: 2px;
}


/* Interactive Delivery */

.pdk-services-delivery {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: var(--pdk-navy);
	color: var(--pdk-white);
	overflow: hidden;
}

.pdk-services-delivery__heading {
	margin-bottom: clamp(42px, 6vw, 72px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, .55fr);
	gap: clamp(50px, 8vw, 110px);
	align-items: end;
}

.pdk-services-delivery__heading h2 {
	max-width: 760px;
	margin: 0;
	color: var(--pdk-white);
	font-size: clamp(2.8rem, 4.8vw, 5rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.055em;
}

.pdk-services-delivery__heading h2 span {
	display: block;
	color: var(--pdk-gold-soft);
}

.pdk-services-delivery__heading .pdk-services-section-number {
	color: var(--pdk-gold-soft);
}

.pdk-services-delivery__heading > p {
	max-width: 440px;
	margin: 0;
	color: #aeb9c7;
	font-size: .82rem;
	line-height: 1.8;
}

.pdk-services-delivery__layout {
	display: grid;
	grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
	gap: 18px;
}

.pdk-services-delivery__tabs {
	border: 1px solid rgba(255,255,255,.14);
}

.pdk-services-delivery-tab {
	position: relative;
	width: 100%;
	min-height: 76px;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 34px 1fr 20px;
	align-items: center;
	gap: 12px;
	border: 0;
	border-bottom: 1px solid rgba(255,255,255,.12);
	background: rgba(255,255,255,.02);
	color: #8998aa;
	text-align: left;
	cursor: pointer;
}

.pdk-services-delivery-tab:last-child {
	border-bottom: 0;
}

.pdk-services-delivery-tab > span:first-child {
	color: var(--pdk-gold-soft);
	font-size: .54rem;
	font-weight: 800;
	letter-spacing: .1em;
}

.pdk-services-delivery-tab strong {
	color: #dce3eb;
	font-family: var(--pdk-font-heading);
	font-size: .94rem;
	font-weight: 600;
}

.pdk-services-delivery-tab > span:last-child {
	text-align: right;
}

.pdk-services-delivery-tab.is-active {
	background: var(--pdk-gold);
	color: var(--pdk-navy);
}

.pdk-services-delivery-tab.is-active::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 5px;
	background:
		repeating-linear-gradient(
			135deg,
			#071b3b 0 3px,
			#0e2e59 3px 6px
		);
}

.pdk-services-delivery-tab.is-active > span:first-child,
.pdk-services-delivery-tab.is-active strong {
	color: var(--pdk-navy);
}

.pdk-services-delivery__panel {
	position: relative;
	min-height: 400px;
	padding: clamp(42px, 6vw, 78px);
	display: flex;
	align-items: center;
	background: #f4f0e6;
	color: var(--pdk-navy);
	overflow: hidden;
}

.pdk-services-delivery__ghost {
	position: absolute;
	right: -20px;
	bottom: -70px;
	color: rgba(7,27,59,.05);
	font-family: var(--pdk-font-heading);
	font-size: clamp(11rem, 17vw, 17rem);
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
}

.pdk-services-delivery__panel-content {
	position: relative;
	z-index: 2;
	max-width: 690px;
	transition:
		opacity 150ms ease,
		transform 150ms ease;
}

.pdk-services-delivery__panel-content.is-changing {
	opacity: 0;
	transform: translateY(7px);
}

.pdk-services-delivery__step {
	display: block;
	margin-bottom: 14px;
	color: var(--pdk-gold-dark);
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.pdk-services-delivery__panel h3 {
	margin: 0 0 20px;
	color: var(--pdk-navy);
	font-size: clamp(2.4rem, 4vw, 4rem);
	font-weight: 650;
	line-height: 1;
	letter-spacing: -.05em;
}

.pdk-services-delivery__panel p {
	max-width: 650px;
	margin: 0;
	color: #61707d;
	font-size: .86rem;
	line-height: 1.82;
}

.pdk-services-delivery__controls {
	margin-top: 34px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.pdk-services-delivery__controls button {
	min-height: 43px;
	padding: 0 15px;
	border: 1px solid rgba(7,27,59,.23);
	background: transparent;
	color: var(--pdk-navy);
	font-size: .6rem;
	font-weight: 800;
	cursor: pointer;
}

.pdk-services-delivery__controls button:last-child {
	background: var(--pdk-navy);
	border-color: var(--pdk-navy);
	color: var(--pdk-white);
}

.pdk-services-delivery__controls button:disabled {
	opacity: .3;
	cursor: not-allowed;
}

@media (max-width: 1023px) {
	.pdk-services-delivery__heading,
	.pdk-services-delivery__layout {
		grid-template-columns: 1fr;
	}

	.pdk-services-delivery__heading {
		gap: 28px;
	}
}

@media (max-width: 767px) {
	.pdk-services-hero {
		min-height: 560px;
	}

	.pdk-services-hero__inner {
		padding-top: calc(var(--pdk-header-height) + 42px);
		padding-bottom: 34px;
	}

	.pdk-services-hero h1 {
		font-size: clamp(3rem, 13vw, 4.6rem);
	}

	.pdk-services-delivery {
		padding: 4.75rem 0;
	}

	.pdk-services-delivery__tabs {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.pdk-services-delivery__tabs::-webkit-scrollbar {
		display: none;
	}

	.pdk-services-delivery-tab {
		min-width: 180px;
		min-height: 98px;
		padding: 14px;
		grid-template-columns: 30px 1fr;
		grid-template-rows: auto 1fr;
		scroll-snap-align: start;
		border-bottom: 0;
		border-right: 1px solid rgba(255,255,255,.12);
	}

	.pdk-services-delivery-tab > span:last-child {
		display: none;
	}

	.pdk-services-delivery-tab strong {
		grid-column: 1 / -1;
		align-self: end;
	}

	.pdk-services-delivery-tab.is-active::before {
		top: auto;
		right: 0;
		bottom: 0;
		width: auto;
		height: 5px;
	}

	.pdk-services-delivery__panel {
		min-height: 370px;
		padding: 34px 20px;
	}
}


/* =========================================================
   SERVICES HERO CONSISTENCY FIX
   Version 0.14.2
   ========================================================= */

/*
 * Match the Projects archive container exactly.
 * The previous Services rule set width: 100% on an element that also had
 * .pdk-container, which overrode the site's 90% / 1460px gutter system and
 * pushed the hero copy flush against the viewport.
 */
.pdk-services-hero__inner.pdk-container {
	width: min(90%, var(--pdk-container));
	margin-inline: auto;
}

/*
 * Use the same vertical rhythm as the Projects archive hero.
 * Header height is accounted for once; the content then gets a controlled
 * amount of breathing room above and below.
 */
.pdk-services-hero__inner {
	padding:
		calc(var(--pdk-header-height) + 72px)
		0
		52px;
}

/*
 * Keep the Services hero content line length aligned with Projects.
 */
.pdk-services-hero__copy {
	max-width: 860px;
}

.pdk-services-hero__copy > p {
	max-width: 620px;
}

/*
 * Admin bar is already handled globally by .pdk-header.
 * No Services-specific header offset is required.
 */

@media (max-width: 767px) {
	.pdk-services-hero__inner.pdk-container {
		width: calc(100% - 32px);
	}

	.pdk-services-hero__inner {
		padding:
			calc(var(--pdk-header-height) + 54px)
			0
			36px;
	}
}


/* =========================================================
   INDIVIDUAL SERVICE PAGES — CONSOLIDATED v0.16.1
   ========================================================= */

.pdk-single-service {
	background: #f4f0e6;
}

.pdk-single-service-kicker {
	display: block;
	margin-bottom: 16px;
	color: #9a7621;
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.pdk-single-service h2,
.pdk-single-service h3 {
	font-family: var(--pdk-font-heading);
}


/* =========================================================
   HERO
   ========================================================= */

.pdk-single-service-hero {
	position: relative;
	min-height: clamp(620px, 72vh, 820px);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #071b3b;
	color: #fefefe;
}

.pdk-single-service-hero__media,
.pdk-single-service-hero__shade {
	position: absolute;
	inset: 0;
}

.pdk-single-service-hero__media {
	z-index: 0;
	background:
		linear-gradient(
			135deg,
			#071b3b,
			#0e2e59
		);
}

.pdk-single-service-hero__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
	animation: pdk-service-hero-drift 18s ease-out both;
}

@keyframes pdk-service-hero-drift {
	from { transform: scale(1.03); }
	to { transform: scale(1); }
}

.pdk-single-service-hero__shade {
	z-index: 1;
	background:
		linear-gradient(
			90deg,
			rgba(4,18,39,.92) 0%,
			rgba(4,18,39,.75) 42%,
			rgba(4,18,39,.32) 78%,
			rgba(4,18,39,.18) 100%
		),
		linear-gradient(
			to top,
			rgba(4,18,39,.54),
			transparent 55%
		);
}

.pdk-single-service-hero__inner.pdk-container {
	position: relative;
	z-index: 2;
	width: min(90%, var(--pdk-container));
	margin-inline: auto;
	padding:
		calc(var(--pdk-header-height) + 46px)
		0
		42px;
}

.pdk-single-service-hero__content {
	max-width: 880px;
}

.pdk-single-service-hero__back {
	display: inline-block;
	margin-bottom: 30px;
	color: #c9d2dc;
	font-size: .55rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-decoration: none;
	text-transform: uppercase;
}

.pdk-single-service-hero__identity {
	margin-bottom: 17px;
	display: flex;
	align-items: center;
	gap: 14px;
	color: #d4b657;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.pdk-single-service-hero__identity span:first-child {
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(212,182,87,.6);
}

.pdk-single-service-hero h1 {
	max-width: 960px;
	margin: 0;
	color: #fefefe;
	font-size: clamp(3.7rem, 6.6vw, 7rem);
	font-weight: 650;
	line-height: .92;
	letter-spacing: -.065em;
}

.pdk-single-service-hero__content > p {
	max-width: 690px;
	margin: 25px 0 0;
	color: #d4dde7;
	font-size: clamp(.9rem, 1.05vw, 1rem);
	line-height: 1.82;
}

.pdk-single-service-hero__actions {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
}

.pdk-single-service-hero__text-link {
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(255,255,255,.42);
	color: #fefefe;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.pdk-single-service-hero__scroll {
	position: absolute;
	z-index: 2;
	right: 5%;
	bottom: 38px;
	display: flex;
	align-items: center;
	gap: 10px;
	color: rgba(255,255,255,.64);
	font-size: .5rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
	transform: rotate(90deg);
	transform-origin: right bottom;
}

.pdk-single-service-hero__scroll span {
	width: 34px;
	height: 1px;
	background: rgba(255,255,255,.45);
}


/* =========================================================
   SHARED HEADINGS
   ========================================================= */

.pdk-single-service-section-heading {
	margin-bottom: clamp(40px, 5vw, 66px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr);
	gap: clamp(40px, 7vw, 100px);
	align-items: end;
}

.pdk-single-service-section-heading h2 {
	max-width: 760px;
	margin: 0;
	color: #071b3b;
	font-size: clamp(2.8rem, 4.8vw, 5.1rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.055em;
}

.pdk-single-service-section-heading > p {
	max-width: 440px;
	margin: 0;
	color: #697681;
	font-size: .82rem;
	line-height: 1.8;
}

.pdk-single-service-section-heading--light h2 {
	color: #fefefe;
}

.pdk-single-service-section-heading--light > p {
	color: #aeb9c7;
}

.pdk-single-service-section-heading--light .pdk-single-service-kicker {
	color: #d4b657;
}


/* =========================================================
   OVERVIEW
   ========================================================= */

.pdk-single-service-overview {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: #f4f0e6;
}

.pdk-single-service-overview__grid {
	display: grid;
	grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
	gap: clamp(60px, 9vw, 140px);
	align-items: start;
}

.pdk-single-service-overview header {
	position: sticky;
	top: calc(var(--pdk-header-height) + 34px);
}

.pdk-single-service-overview h2 {
	max-width: 600px;
	margin: 0;
	color: #071b3b;
	font-size: clamp(2.9rem, 4.8vw, 5.2rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.055em;
}

.pdk-single-service-overview__copy > p {
	max-width: 790px;
	margin: 0 0 1.35em;
	color: #546473;
	font-size: clamp(.96rem, 1.15vw, 1.08rem);
	line-height: 1.9;
}

.pdk-single-service-overview__copy > p:first-child {
	color: #071b3b;
	font-size: clamp(1.22rem, 1.75vw, 1.58rem);
	line-height: 1.58;
}

.pdk-single-service-overview__record {
	margin-top: 42px;
	border-top: 1px solid rgba(7,27,59,.18);
}

.pdk-single-service-overview__record > div {
	padding: 14px 0;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 20px;
	border-bottom: 1px solid rgba(7,27,59,.14);
}

.pdk-single-service-overview__record span {
	color: #8a939b;
	font-size: .52rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.pdk-single-service-overview__record strong {
	color: #071b3b;
	font-size: .78rem;
	font-weight: 650;
}


/* =========================================================
   TYPES OF WORK
   ========================================================= */

.pdk-single-service-types {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: #fefefe;
}

.pdk-single-service-types__layout {
	display: grid;
	grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
	gap: 18px;
}

.pdk-single-service-types__tabs {
	border: 1px solid rgba(7,27,59,.16);
}

.pdk-single-service-type-tab {
	position: relative;
	width: 100%;
	min-height: 82px;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 34px 1fr 20px;
	align-items: center;
	gap: 12px;
	border: 0;
	border-bottom: 1px solid rgba(7,27,59,.13);
	background: #f4f0e6;
	color: #667581;
	text-align: left;
	cursor: pointer;
}

.pdk-single-service-type-tab:last-child {
	border-bottom: 0;
}

.pdk-single-service-type-tab > span:first-child {
	color: #9a7621;
	font-size: .54rem;
	font-weight: 800;
	letter-spacing: .1em;
}

.pdk-single-service-type-tab strong {
	color: #071b3b;
	font-size: .95rem;
	font-weight: 650;
}

.pdk-single-service-type-tab > span:last-child {
	text-align: right;
}

.pdk-single-service-type-tab.is-active {
	background: #bd982f;
	color: #071b3b;
}

.pdk-single-service-type-tab.is-active::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 5px;
	background: #071b3b;
}

.pdk-single-service-types__panel {
	position: relative;
	min-height: 410px;
	padding: clamp(42px, 6vw, 78px);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #071b3b;
	color: #fefefe;
}

.pdk-single-service-types__ghost {
	position: absolute;
	right: -25px;
	bottom: -72px;
	color: rgba(255,255,255,.045);
	font-size: clamp(11rem, 17vw, 17rem);
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
}

.pdk-single-service-types__panel-inner {
	position: relative;
	z-index: 2;
	max-width: 690px;
	transition: opacity 150ms ease, transform 150ms ease;
}

.pdk-single-service-types__panel-inner.is-changing {
	opacity: 0;
	transform: translateY(8px);
}

.pdk-single-service-types__label {
	display: block;
	margin-bottom: 14px;
	color: #d4b657;
	font-size: .55rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.pdk-single-service-types__panel h3 {
	margin: 0 0 20px;
	color: #fefefe;
	font-size: clamp(2.4rem, 4vw, 4.3rem);
	font-weight: 650;
	line-height: 1;
	letter-spacing: -.05em;
}

.pdk-single-service-types__panel p {
	max-width: 650px;
	margin: 0;
	color: #b9c6d4;
	font-size: .88rem;
	line-height: 1.85;
}


/* =========================================================
   PROCESS
   ========================================================= */

.pdk-single-service-process {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	overflow: hidden;
	background: #071b3b;
	color: #fefefe;
}

.pdk-single-service-process__track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	border-top: 1px solid rgba(255,255,255,.16);
	border-bottom: 1px solid rgba(255,255,255,.16);
}

.pdk-single-service-process-step {
	position: relative;
	min-height: 126px;
	padding: 22px 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 25px;
	border: 0;
	border-right: 1px solid rgba(255,255,255,.13);
	background: transparent;
	color: #8d9baa;
	text-align: left;
	cursor: pointer;
}

.pdk-single-service-process-step:last-child {
	border-right: 0;
}

.pdk-single-service-process-step span {
	color: #d4b657;
	font-size: .52rem;
	font-weight: 800;
	letter-spacing: .1em;
}

.pdk-single-service-process-step strong {
	color: #b4c0cd;
	font-size: .82rem;
	font-weight: 650;
}

.pdk-single-service-process-step.is-active {
	background: rgba(189,152,47,.13);
}

.pdk-single-service-process-step.is-active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 4px;
	background: #bd982f;
}

.pdk-single-service-process-step.is-active strong {
	color: #fefefe;
}

.pdk-single-service-process__detail {
	min-height: 310px;
	padding-top: clamp(38px, 5vw, 64px);
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr) auto;
	gap: clamp(28px, 5vw, 70px);
	align-items: start;
}

.pdk-single-service-process__counter {
	display: flex;
	gap: 6px;
	color: #d4b657;
	font-size: .64rem;
	font-weight: 800;
	letter-spacing: .09em;
}

.pdk-single-service-process__copy {
	max-width: 780px;
	transition: opacity 150ms ease, transform 150ms ease;
}

.pdk-single-service-process__copy.is-changing {
	opacity: 0;
	transform: translateY(7px);
}

.pdk-single-service-process__copy h3 {
	margin: 0 0 16px;
	color: #fefefe;
	font-size: clamp(2.4rem, 4vw, 4.1rem);
	font-weight: 650;
	line-height: 1;
	letter-spacing: -.05em;
}

.pdk-single-service-process__copy p {
	max-width: 680px;
	margin: 0;
	color: #aebbc9;
	font-size: .88rem;
	line-height: 1.85;
}

.pdk-single-service-process__controls {
	display: flex;
	gap: 8px;
}

.pdk-single-service-process__controls button {
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid rgba(255,255,255,.22);
	background: transparent;
	color: #fefefe;
	font-size: .56rem;
	font-weight: 800;
	cursor: pointer;
}

.pdk-single-service-process__controls button:disabled {
	opacity: .25;
	cursor: not-allowed;
}


/* =========================================================
   RELATED PROJECTS
   ========================================================= */

.pdk-single-service-projects {
	padding: clamp(5.5rem, 8vw, 8rem) 0;
	background: #f4f0e6;
}

.pdk-single-service-text-link {
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(7,27,59,.3);
	color: #071b3b;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.pdk-single-service-projects__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(7,27,59,.17);
	border-left: 1px solid rgba(7,27,59,.17);
}

.pdk-single-service-project {
	border-right: 1px solid rgba(7,27,59,.17);
	border-bottom: 1px solid rgba(7,27,59,.17);
}

.pdk-single-service-project > a {
	height: 100%;
	display: grid;
	grid-template-rows: auto 1fr;
	color: inherit;
	text-decoration: none;
}

.pdk-single-service-project__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #071b3b;
}

.pdk-single-service-project__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform 750ms ease;
}

.pdk-single-service-project__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			to top,
			rgba(4,18,39,.62),
			transparent 50%
		);
}

.pdk-single-service-project__number,
.pdk-single-service-project__arrow {
	position: absolute;
	z-index: 2;
	bottom: 16px;
}

.pdk-single-service-project__number {
	left: 19px;
	color: #fefefe;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .1em;
}

.pdk-single-service-project__arrow {
	right: 17px;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	background: #bd982f;
	color: #071b3b;
}

.pdk-single-service-project__body {
	padding: clamp(22px, 3vw, 34px);
}

.pdk-single-service-project__meta {
	margin-bottom: 12px;
	display: flex;
	justify-content: space-between;
	gap: 15px;
	color: #78858f;
	font-size: .5rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pdk-single-service-project h3 {
	margin: 0;
	color: #071b3b;
	font-size: clamp(1.7rem, 2.4vw, 2.5rem);
	font-weight: 650;
	line-height: 1.05;
	letter-spacing: -.045em;
}

.pdk-single-service-project:hover .pdk-single-service-project__image {
	transform: scale(1.03);
}


/* =========================================================
   GALLERY
   ========================================================= */

.pdk-single-service-gallery {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: #071b3b;
	color: #fefefe;
}

.pdk-single-service-gallery__counter {
	display: flex;
	align-items: center;
	gap: 7px;
	color: #d4b657;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .09em;
}

.pdk-single-service-gallery__viewer {
	position: relative;
	aspect-ratio: 16 / 8.5;
	overflow: hidden;
	background: #041227;
}

.pdk-single-service-gallery__slide {
	position: absolute;
	inset: 0;
	margin: 0;
}

.pdk-single-service-gallery__slide[hidden] {
	display: none;
}

.pdk-single-service-gallery__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.pdk-single-service-gallery__arrow {
	position: absolute;
	z-index: 3;
	top: 50%;
	width: 48px;
	height: 48px;
	display: grid;
	place-items: center;
	border: 0;
	background: #f4f0e6;
	color: #071b3b;
	cursor: pointer;
	transform: translateY(-50%);
}

.pdk-single-service-gallery__arrow--prev {
	left: 16px;
}

.pdk-single-service-gallery__arrow--next {
	right: 16px;
}


/* =========================================================
   FAQ
   ========================================================= */

.pdk-single-service-faq {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: #fefefe;
}

.pdk-single-service-faq__grid {
	display: grid;
	grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
	gap: clamp(60px, 9vw, 140px);
	align-items: start;
}

.pdk-single-service-faq header {
	position: sticky;
	top: calc(var(--pdk-header-height) + 34px);
}

.pdk-single-service-faq h2 {
	max-width: 570px;
	margin: 0;
	color: #071b3b;
	font-size: clamp(2.8rem, 4.5vw, 4.8rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.055em;
}

.pdk-single-service-faq__list {
	border-top: 1px solid rgba(7,27,59,.17);
}

.pdk-single-service-faq__item {
	border-bottom: 1px solid rgba(7,27,59,.17);
}

.pdk-single-service-faq__item summary {
	min-height: 78px;
	display: grid;
	grid-template-columns: 40px 1fr 24px;
	align-items: center;
	gap: 14px;
	color: #071b3b;
	cursor: pointer;
	list-style: none;
}

.pdk-single-service-faq__item summary::-webkit-details-marker {
	display: none;
}

.pdk-single-service-faq__item summary > span:first-child {
	color: #9a7621;
	font-size: .52rem;
	font-weight: 800;
}

.pdk-single-service-faq__item summary strong {
	font-size: clamp(.9rem, 1.2vw, 1.05rem);
	font-weight: 650;
}

.pdk-single-service-faq__item summary > span:last-child {
	font-size: 1.15rem;
	transition: transform 180ms ease;
}

.pdk-single-service-faq__item[open] summary > span:last-child {
	transform: rotate(45deg);
}

.pdk-single-service-faq__item > div {
	padding: 0 30px 24px 54px;
}

.pdk-single-service-faq__item p {
	max-width: 700px;
	margin: 0;
	color: #64717c;
	font-size: .84rem;
	line-height: 1.82;
}


/* =========================================================
   PROJECT BRIEF
   ========================================================= */

.pdk-single-service-quote {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: #ece8de;
}

.pdk-single-service-quote__heading {
	margin-bottom: clamp(38px, 5vw, 60px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr);
	gap: clamp(40px, 7vw, 100px);
	align-items: end;
}

.pdk-single-service-quote__heading h2 {
	max-width: 750px;
	margin: 0;
	color: #071b3b;
	font-size: clamp(2.8rem, 4.8vw, 5rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.055em;
}

.pdk-single-service-quote__heading > p {
	max-width: 440px;
	margin: 0;
	color: #697681;
	font-size: .82rem;
	line-height: 1.8;
}

.pdk-single-service-quote__form {
	border: 1px solid rgba(7,27,59,.16);
	background: #fefefe;
}

.pdk-single-service-quote__progress {
	padding: 20px clamp(20px, 4vw, 46px) 0;
}

.pdk-single-service-quote__progress-meta {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	color: #65717d;
	font-size: .54rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.pdk-single-service-quote__progress-line {
	height: 3px;
	margin-top: 14px;
	background: #e3ded4;
}

.pdk-single-service-quote__progress-line span {
	width: 25%;
	height: 100%;
	display: block;
	background: #bd982f;
	transition: width 220ms ease;
}

.pdk-single-service-quote__steps {
	min-height: 360px;
	padding: clamp(38px, 6vw, 72px);
}

.pdk-single-service-quote__step {
	margin: 0;
	padding: 0;
	border: 0;
}

.pdk-single-service-quote__step[hidden] {
	display: none;
}

.pdk-single-service-quote__step legend {
	max-width: 760px;
	margin-bottom: 28px;
	padding: 0;
	color: #071b3b;
	font-family: var(--pdk-font-heading);
	font-size: clamp(2rem, 3.6vw, 3.6rem);
	font-weight: 650;
	line-height: 1;
	letter-spacing: -.05em;
}

.pdk-single-service-quote__choices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	max-width: 900px;
}

.pdk-single-service-quote__choices label {
	position: relative;
	cursor: pointer;
}

.pdk-single-service-quote__choices input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.pdk-single-service-quote__choices label > span {
	min-height: 58px;
	padding: 14px 16px;
	display: flex;
	align-items: center;
	border: 1px solid rgba(7,27,59,.18);
	color: #071b3b;
	font-size: .8rem;
	font-weight: 650;
	transition: border-color 160ms ease, background 160ms ease;
}

.pdk-single-service-quote__choices input:checked + span {
	border-color: #bd982f;
	background: rgba(189,152,47,.12);
}

.pdk-single-service-quote__choices input:focus-visible + span {
	outline: 2px solid #071b3b;
	outline-offset: 2px;
}

.pdk-single-service-field {
	max-width: 760px;
	display: block;
}

.pdk-single-service-field > span {
	display: block;
	margin-bottom: 9px;
	color: #65717d;
	font-size: .54rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pdk-single-service-field input,
.pdk-single-service-field textarea {
	width: 100%;
	padding: 14px 0;
	border: 0;
	border-bottom: 1px solid rgba(7,27,59,.3);
	border-radius: 0;
	background: transparent;
	color: #071b3b;
	font: inherit;
	outline: none;
}

.pdk-single-service-field textarea {
	resize: vertical;
}

.pdk-single-service-field input:focus,
.pdk-single-service-field textarea:focus {
	border-bottom-color: #bd982f;
}

.pdk-single-service-quote__note {
	max-width: 760px;
	margin: 20px 0 0;
	color: #77828b;
	font-size: .72rem;
	line-height: 1.7;
}

.pdk-single-service-quote__controls {
	min-height: 72px;
	padding: 14px clamp(20px, 4vw, 46px);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	border-top: 1px solid rgba(7,27,59,.14);
}

.pdk-single-service-quote__controls button {
	min-height: 42px;
	padding: 0 15px;
	border: 1px solid rgba(7,27,59,.24);
	background: transparent;
	color: #071b3b;
	font-size: .57rem;
	font-weight: 800;
	cursor: pointer;
}

.pdk-single-service-quote__controls button:disabled {
	opacity: .3;
	cursor: not-allowed;
}

.pdk-single-service-quote__next,
.pdk-single-service-quote__submit {
	margin-left: auto;
	background: #071b3b !important;
	border-color: #071b3b !important;
	color: #fefefe !important;
}


/* =========================================================
   CTA
   ========================================================= */

.pdk-single-service-cta {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background:
		linear-gradient(
			135deg,
			#071b3b,
			#05162c
		);
	color: #fefefe;
}

.pdk-single-service-cta__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .55fr);
	gap: clamp(50px, 8vw, 120px);
	align-items: end;
}

.pdk-single-service-cta .pdk-single-service-kicker {
	color: #d4b657;
}

.pdk-single-service-cta h2 {
	max-width: 850px;
	margin: 0;
	color: #fefefe;
	font-size: clamp(2.8rem, 4.8vw, 5rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.055em;
}

.pdk-single-service-cta h2 span {
	display: block;
	color: #d4b657;
}

.pdk-single-service-cta__action > p {
	max-width: 470px;
	margin: 0 0 28px;
	color: #b9c5d3;
	font-size: .84rem;
	line-height: 1.8;
}

.pdk-single-service-cta__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
}

.pdk-single-service-phone {
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(255,255,255,.35);
	color: #fefefe;
	font-size: .66rem;
	font-weight: 700;
	text-decoration: none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1023px) {
	.pdk-single-service-section-heading,
	.pdk-single-service-overview__grid,
	.pdk-single-service-types__layout,
	.pdk-single-service-faq__grid,
	.pdk-single-service-quote__heading,
	.pdk-single-service-cta__grid {
		grid-template-columns: 1fr;
	}

	.pdk-single-service-overview header,
	.pdk-single-service-faq header {
		position: static;
	}

	.pdk-single-service-process__detail {
		grid-template-columns: 80px minmax(0, 1fr);
	}

	.pdk-single-service-process__controls {
		grid-column: 2;
	}
}

@media (max-width: 767px) {
	.pdk-single-service-hero {
		min-height: 670px;
	}

	.pdk-single-service-hero__inner.pdk-container {
		width: calc(100% - 32px);
		padding:
			calc(var(--pdk-header-height) + 30px)
			0
			30px;
	}

	.pdk-single-service-hero h1 {
		font-size: clamp(3rem, 13vw, 4.8rem);
	}

	.pdk-single-service-hero__scroll {
		display: none;
	}

	.pdk-single-service-overview,
	.pdk-single-service-types,
	.pdk-single-service-process,
	.pdk-single-service-projects,
	.pdk-single-service-gallery,
	.pdk-single-service-faq,
	.pdk-single-service-quote,
	.pdk-single-service-cta {
		padding: 4.75rem 0;
	}

	.pdk-single-service-section-heading,
	.pdk-single-service-overview__grid,
	.pdk-single-service-faq__grid,
	.pdk-single-service-quote__heading,
	.pdk-single-service-cta__grid {
		gap: 28px;
	}

	.pdk-single-service-types__tabs {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.pdk-single-service-types__tabs::-webkit-scrollbar {
		display: none;
	}

	.pdk-single-service-type-tab {
		min-width: 190px;
		min-height: 104px;
		padding: 14px;
		grid-template-columns: 30px 1fr;
		grid-template-rows: auto 1fr;
		scroll-snap-align: start;
		border-bottom: 0;
		border-right: 1px solid rgba(7,27,59,.13);
	}

	.pdk-single-service-type-tab strong {
		grid-column: 1 / -1;
		align-self: end;
	}

	.pdk-single-service-type-tab > span:last-child {
		display: none;
	}

	.pdk-single-service-type-tab.is-active::before {
		top: auto;
		right: 0;
		bottom: 0;
		width: auto;
		height: 5px;
	}

	.pdk-single-service-types__panel {
		min-height: 370px;
		padding: 34px 20px;
	}

	.pdk-single-service-process__track {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.pdk-single-service-process__track::-webkit-scrollbar {
		display: none;
	}

	.pdk-single-service-process-step {
		min-width: 155px;
		scroll-snap-align: start;
	}

	.pdk-single-service-process__detail {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.pdk-single-service-process__controls {
		grid-column: auto;
	}

	.pdk-single-service-projects__grid {
		grid-template-columns: 1fr;
	}

	.pdk-single-service-project__media {
		aspect-ratio: 4 / 3;
	}

	.pdk-single-service-gallery__viewer {
		aspect-ratio: 4 / 3;
	}

	.pdk-single-service-gallery__arrow {
		width: 42px;
		height: 42px;
	}

	.pdk-single-service-faq__item summary {
		grid-template-columns: 30px 1fr 20px;
	}

	.pdk-single-service-faq__item > div {
		padding-left: 44px;
	}

	.pdk-single-service-quote__steps {
		min-height: 420px;
		padding: 34px 20px;
	}

	.pdk-single-service-quote__choices {
		grid-template-columns: 1fr;
	}

	.pdk-single-service-quote__progress-meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pdk-single-service-hero__image {
		animation: none;
	}

	.pdk-single-service-project__image,
	.pdk-single-service-types__panel-inner,
	.pdk-single-service-process__copy,
	.pdk-single-service-quote__progress-line span {
		transition: none;
	}
}


/* =========================================================
   PDK CONSTRUCTION MOTION SYSTEM
   Version 0.17.0
   ========================================================= */

/*
 * Motion is deliberately restrained: sections assemble into place,
 * datum lines draw across the page and imagery moves only on direct
 * interaction. Nothing bounces or flies across the viewport.
 */

.pdk-motion-ready [data-pdk-reveal] {
	transition-delay: var(--pdk-reveal-delay, 0ms);
}

.pdk-motion-ready [data-pdk-reveal="up"] {
	opacity: 0;
	transform: translate3d(0, 34px, 0);
}

.pdk-motion-ready [data-pdk-reveal="up"].is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.pdk-construction-section {
	position: relative;
	isolation: isolate;
}

.pdk-construction-section::before {
	content: "";
	position: absolute;
	z-index: 3;
	top: 0;
	left: 5%;
	width: 90%;
	height: 1px;
	background:
		linear-gradient(
			90deg,
			var(--pdk-gold) 0 64px,
			rgba(7, 27, 59, .16) 64px 100%
		);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 1050ms var(--pdk-ease);
	pointer-events: none;
}

.pdk-construction-section.is-section-visible::before {
	transform: scaleX(1);
}

/* Dark sections need a lighter construction datum line. */
.pdk-services-delivery.pdk-construction-section::before,
.pdk-services-capability.pdk-construction-section::before,
.pdk-services-cta.pdk-construction-section::before,
.pdk-single-service-process.pdk-construction-section::before,
.pdk-single-service-gallery.pdk-construction-section::before,
.pdk-single-service-cta.pdk-construction-section::before,
.pdk-footer.pdk-construction-section::before {
	background:
		linear-gradient(
			90deg,
			var(--pdk-gold) 0 64px,
			rgba(255, 255, 255, .18) 64px 100%
		);
}


/* =========================================================
   SERVICES — CONSTRUCTION DETAIL POLISH
   ========================================================= */

.pdk-services-directory__heading,
.pdk-single-service-section-heading {
	position: relative;
}

.pdk-services-directory__heading::after,
.pdk-single-service-section-heading::after {
	content: "";
	position: absolute;
	top: -22px;
	left: 0;
	width: 44px;
	height: 7px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	color: rgba(7, 27, 59, .28);
}

.pdk-service-index-card__media::before,
.pdk-single-service-project__media::before {
	content: "";
	position: absolute;
	z-index: 3;
	top: 16px;
	left: 16px;
	width: 44px;
	height: 44px;
	border-top: 1px solid rgba(255,255,255,.58);
	border-left: 1px solid rgba(255,255,255,.58);
	opacity: .65;
	transition:
		width 420ms var(--pdk-ease),
		height 420ms var(--pdk-ease),
		opacity 420ms var(--pdk-ease);
	pointer-events: none;
}

.pdk-service-index-card:hover .pdk-service-index-card__media::before,
.pdk-single-service-project:hover .pdk-single-service-project__media::before {
	width: 72px;
	height: 72px;
	opacity: 1;
}

.pdk-service-index-card__body,
.pdk-single-service-project__body {
	position: relative;
}

.pdk-service-index-card__body::before,
.pdk-single-service-project__body::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--pdk-gold);
	transition: width 520ms var(--pdk-ease);
}

.pdk-service-index-card:hover .pdk-service-index-card__body::before,
.pdk-single-service-project:hover .pdk-single-service-project__body::before {
	width: 100%;
}

.pdk-services-delivery__panel,
.pdk-single-service-types__panel {
	background-image:
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 34px 34px;
}

.pdk-services-delivery-tab,
.pdk-single-service-type-tab,
.pdk-single-service-process-step {
	transition:
		background-color 260ms var(--pdk-ease),
		color 260ms var(--pdk-ease),
		transform 260ms var(--pdk-ease);
}

.pdk-services-delivery-tab:not(.is-active):hover,
.pdk-single-service-type-tab:not(.is-active):hover {
	transform: translateX(5px);
}

.pdk-single-service-process-step:not(.is-active):hover {
	background: rgba(255,255,255,.035);
}

.pdk-single-service-overview__record > div,
.pdk-services-hero__record > div {
	position: relative;
	overflow: hidden;
}

.pdk-single-service-overview__record > div::after,
.pdk-services-hero__record > div::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	width: 30px;
	height: 1px;
	background: var(--pdk-gold);
	transition: width 420ms var(--pdk-ease);
}

.pdk-single-service-overview__record > div:hover::after,
.pdk-services-hero__record > div:hover::after {
	width: 100%;
}


/* =========================================================
   FOOTER — BLUEPRINT / CONSTRUCTION PLAN
   ========================================================= */

/* Restore the construction datum above both footer background layers. */
.pdk-footer.pdk-construction-section::before {
	z-index: 3;
	inset: 0 auto auto 5%;
	width: 90%;
	height: 1px;
	background:
		linear-gradient(
			90deg,
			var(--pdk-gold) 0 64px,
			rgba(255,255,255,.18) 64px 100%
		);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 1050ms var(--pdk-ease);
}

.pdk-footer.pdk-construction-section.is-section-visible::before {
	transform: scaleX(1);
}

.pdk-footer__main {
	position: relative;
	padding-top: clamp(5.5rem, 8vw, 8rem);
	padding-bottom: clamp(4rem, 6vw, 6rem);
}

.pdk-footer__main::after {
	content: "PDK / 2005";
	position: absolute;
	right: 0;
	bottom: 16px;
	color: rgba(255,255,255,.055);
	font-family: var(--pdk-font-heading);
	font-size: clamp(4rem, 10vw, 10rem);
	font-weight: 800;
	line-height: .8;
	letter-spacing: -.08em;
	pointer-events: none;
	white-space: nowrap;
}

.pdk-footer__brand,
.pdk-footer__column {
	position: relative;
	z-index: 2;
}

.pdk-footer__brand::before {
	content: "";
	display: block;
	width: 52px;
	height: 2px;
	margin-bottom: 24px;
	background: var(--pdk-gold);
}

.pdk-footer__summary {
	max-width: 360px;
	color: rgba(255,255,255,.7);
}

.pdk-footer__heading {
	color: var(--pdk-gold-soft);
	letter-spacing: .14em;
}

.pdk-footer-menu a,
.pdk-footer__contact a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	transition:
		color 220ms ease,
		transform 220ms var(--pdk-ease);
}

.pdk-footer-menu a::after,
.pdk-footer__contact a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -3px;
	left: 0;
	height: 1px;
	background: var(--pdk-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 320ms var(--pdk-ease);
}

.pdk-footer-menu a:hover,
.pdk-footer__contact a:hover {
	color: var(--pdk-gold-soft);
	transform: translateX(3px);
}

.pdk-footer-menu a:hover::after,
.pdk-footer__contact a:hover::after {
	transform: scaleX(1);
}

/* =========================================================
   REDUCED MOTION + MOBILE
   ========================================================= */

@media (max-width: 767px) {
	.pdk-construction-section::before {
		left: 16px;
		width: calc(100% - 32px);
	}

	.pdk-services-directory__heading::after,
	.pdk-single-service-section-heading::after {
		top: -17px;
	}

	.pdk-service-index-card__media::before,
	.pdk-single-service-project__media::before {
		width: 34px;
		height: 34px;
	}

	.pdk-footer__main::after {
		right: -12px;
		bottom: 10px;
		font-size: 4.8rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pdk-motion-ready [data-pdk-reveal],
	.pdk-construction-section::before,
	.pdk-footer.pdk-construction-section::before,
	.pdk-service-index-card__media::before,
	.pdk-single-service-project__media::before,
	.pdk-service-index-card__body::before,
	.pdk-single-service-project__body::before {
		transition: none !important;
	}

	.pdk-construction-section::before,
	.pdk-footer.pdk-construction-section::before {
		transform: none;
	}
}


/* =========================================================
   SERVICE CONSTRUCTION-TAPE + FOOTER LOWER BAR FIX
   Version 0.17.1
   ========================================================= */

/*
 * Match the diagonal construction-tape language already used by
 * the homepage PDK Method instead of using a flat block of gold.
 */
.pdk-services-delivery-tab.is-active,
.pdk-single-service-type-tab.is-active {
	position: relative;
	overflow: hidden;
	background: var(--pdk-gold);
}

.pdk-services-delivery-tab.is-active::after,
.pdk-single-service-type-tab.is-active::after {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 0;
	background:
		repeating-linear-gradient(
			135deg,
			rgba(255,255,255,.00) 0 14px,
			rgba(7,27,59,.12) 14px 22px
		);
	pointer-events: none;
}

.pdk-services-delivery-tab.is-active > *,
.pdk-single-service-type-tab.is-active > * {
	position: relative;
	z-index: 2;
}

/* Stronger striped edge, matching the homepage Method marker. */
.pdk-services-delivery-tab.is-active::before,
.pdk-single-service-type-tab.is-active::before {
	content: "";
	position: absolute;
	z-index: 3;
	top: 0;
	bottom: 0;
	left: 0;
	width: 7px;
	background:
		repeating-linear-gradient(
			135deg,
			var(--pdk-gold-soft) 0 3px,
			#6c4f13 4px 6px
		);
}

/*
 * Process stage: keep the dark industrial panel but replace the flat
 * yellow underline with a construction-tape strip.
 */
.pdk-single-service-process-step.is-active {
	background:
		linear-gradient(
			90deg,
			rgba(189,152,47,.16),
			rgba(189,152,47,.07)
		);
}

.pdk-single-service-process-step.is-active::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 7px;
	background:
		repeating-linear-gradient(
			135deg,
			var(--pdk-gold-soft) 0 4px,
			#6c4f13 5px 8px
		);
}

@media (max-width: 767px) {
	.pdk-services-delivery-tab.is-active::before,
	.pdk-single-service-type-tab.is-active::before {
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		width: auto;
		height: 7px;
	}

	.pdk-footer__bottom {
		padding: 20px 16px;
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.pdk-footer__growthcraft {
		flex-wrap: wrap;
	}
}

/* =========================================================
   ABOUT PAGE — STAGE 8 REDESIGN
   Version 0.19.0

   Changelog:
   - Rebuilt Company Story as a split editorial section.
   - Rebuilt The PDK Method as a blueprint-style interactive journey.
   - Removed all construction-tape styling from About.
   - Preserved the established About hero, capability, team,
     affiliations, project evidence, areas and CTA styling.
   ========================================================= */

.pdk-about {
	background: var(--pdk-cream);
}

.pdk-about-kicker {
	display: block;
	margin-bottom: 16px;
	color: var(--pdk-gold-dark);
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.pdk-about h2,
.pdk-about h3 {
	font-family: var(--pdk-font-heading);
}


/* =========================================================
   ABOUT HERO
   ========================================================= */

.pdk-about-hero {
	position: relative;
	min-height: clamp(660px, 78vh, 880px);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--pdk-navy);
	color: var(--pdk-white);
}

.pdk-about-hero__media,
.pdk-about-hero__shade {
	position: absolute;
	inset: 0;
}

.pdk-about-hero__media {
	z-index: 0;
	background: linear-gradient(135deg, var(--pdk-navy), var(--pdk-navy-soft));
}

.pdk-about-hero__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
	animation: pdk-about-hero-drift 18s ease-out both;
}

@keyframes pdk-about-hero-drift {
	from { transform: scale(1.035); }
	to { transform: scale(1); }
}

.pdk-about-hero__shade {
	z-index: 1;
	background:
		linear-gradient(
			90deg,
			rgba(4,18,39,.94) 0%,
			rgba(4,18,39,.76) 43%,
			rgba(4,18,39,.34) 76%,
			rgba(4,18,39,.19) 100%
		),
		linear-gradient(
			to top,
			rgba(4,18,39,.54),
			transparent 57%
		);
}

.pdk-about-hero__inner.pdk-container {
	position: relative;
	z-index: 2;
	width: min(90%, var(--pdk-container));
	margin-inline: auto;
	padding:
		calc(var(--pdk-header-height) + 48px)
		0
		46px;
}

.pdk-about-hero__content {
	max-width: 940px;
}

.pdk-about-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	color: var(--pdk-gold-soft);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.pdk-about-hero__eyebrow::before {
	content: "";
	width: 30px;
	height: 2px;
	background: var(--pdk-gold);
}

.pdk-about-hero h1 {
	max-width: 1030px;
	margin: 0;
	color: var(--pdk-white);
	font-size: clamp(4rem, 7vw, 7.6rem);
	font-weight: 650;
	line-height: .91;
	letter-spacing: -.068em;
}

.pdk-about-hero h1 span {
	display: block;
	color: var(--pdk-gold-soft);
}

.pdk-about-hero__content > p {
	max-width: 700px;
	margin: 26px 0 0;
	color: #d4dde7;
	font-size: clamp(.92rem, 1.08vw, 1.02rem);
	line-height: 1.83;
}

.pdk-about-hero__actions {
	margin-top: 31px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
}

.pdk-about-hero__text-link {
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(255,255,255,.4);
	color: var(--pdk-white);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.pdk-about-hero__record {
	position: absolute;
	z-index: 3;
	right: 5%;
	bottom: 42px;
	width: min(390px, 32vw);
	border-top: 1px solid rgba(255,255,255,.22);
}

.pdk-about-hero__record > div {
	padding: 13px 0;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 20px;
	border-bottom: 1px solid rgba(255,255,255,.15);
}

.pdk-about-hero__record span {
	color: #9eacbc;
	font-size: .49rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.pdk-about-hero__record strong {
	color: var(--pdk-white);
	font-size: .76rem;
	font-weight: 650;
}


/* =========================================================
   SHARED ABOUT HEADINGS
   ========================================================= */

.pdk-about-section-heading {
	margin-bottom: clamp(42px, 6vw, 76px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, .52fr);
	gap: clamp(50px, 8vw, 120px);
	align-items: end;
}

.pdk-about-section-heading h2 {
	max-width: 820px;
	margin: 0;
	color: var(--pdk-navy);
	font-size: clamp(2.9rem, 4.9vw, 5.3rem);
	font-weight: 650;
	line-height: .97;
	letter-spacing: -.058em;
}

.pdk-about-section-heading h2 span {
	display: block;
	color: var(--pdk-gold-dark);
}

.pdk-about-section-heading > p {
	max-width: 470px;
	margin: 0;
	color: #65727e;
	font-size: .84rem;
	line-height: 1.82;
}

.pdk-about-section-heading--light h2 {
	color: var(--pdk-white);
}

.pdk-about-section-heading--light h2 span {
	color: var(--pdk-gold-soft);
}

.pdk-about-section-heading--light .pdk-about-kicker {
	color: var(--pdk-gold-soft);
}

.pdk-about-section-heading--light > p {
	color: #aebbc9;
}


/* =========================================================
   01 / COMPANY STORY — SPLIT
   ========================================================= */

.pdk-about-story {
	padding: clamp(6rem, 9vw, 9.5rem) 0;
	background: var(--pdk-cream);
}

.pdk-about-story-split {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(360px, .85fr);
	gap: clamp(60px, 10vw, 160px);
	align-items: start;
}

.pdk-about-story-split__heading h2 {
	max-width: 790px;
	margin: 0;
	color: var(--pdk-navy);
	font-size: clamp(3rem, 5vw, 5.6rem);
	font-weight: 650;
	line-height: .96;
	letter-spacing: -.06em;
}

.pdk-about-story-split__heading h2 span {
	display: block;
	color: var(--pdk-gold-dark);
}

.pdk-about-story-split__copy {
	padding-top: 34px;
	border-top: 1px solid rgba(7,27,59,.22);
}

.pdk-about-story-split__copy p {
	max-width: 680px;
	margin: 0 0 1.4em;
	color: #62707d;
	font-size: .88rem;
	line-height: 1.88;
}

.pdk-about-story-split__copy .pdk-about-story-split__lead {
	color: var(--pdk-navy);
	font-family: var(--pdk-font-heading);
	font-size: clamp(1.25rem, 1.7vw, 1.65rem);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: -.02em;
}

.pdk-about-story-stats {
	margin-top: clamp(54px, 7vw, 92px);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid rgba(7,27,59,.18);
	border-left: 1px solid rgba(7,27,59,.18);
}

.pdk-about-story-stats > div {
	position: relative;
	min-height: 118px;
	padding: 21px 22px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 22px;
	border-right: 1px solid rgba(7,27,59,.18);
	border-bottom: 1px solid rgba(7,27,59,.18);
	background: rgba(255,255,255,.28);
	overflow: hidden;
}

.pdk-about-story-stats > div::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 34px;
	height: 2px;
	background: var(--pdk-gold);
	transition: width 420ms var(--pdk-ease);
}

.pdk-about-story-stats > div:hover::after {
	width: 100%;
}

.pdk-about-story-stats span {
	color: #828d97;
	font-size: .52rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.pdk-about-story-stats strong {
	color: var(--pdk-navy);
	font-family: var(--pdk-font-heading);
	font-size: clamp(1rem, 1.45vw, 1.3rem);
	font-weight: 650;
	line-height: 1.3;
}




/* =========================================================
   ABOUT — PDK METHOD
   Homepage layout reused intentionally
   Version 0.19.1
   ========================================================= */

.pdk-about .pdk-method {
	position: relative;
	padding: clamp(6rem,9vw,9rem) 0;
	background-color: #f1eee7;
	background-image:
		linear-gradient(rgba(7,21,36,.025) 1px,transparent 1px),
		linear-gradient(90deg,rgba(7,21,36,.025) 1px,transparent 1px);
	background-size: 42px 42px;
	color: var(--pdk-ink);
	overflow: hidden;
}

.pdk-about .pdk-method__heading {
	margin-bottom: clamp(3rem,6vw,5rem);
	display: grid;
	grid-template-columns: minmax(0,1.3fr) minmax(280px,.55fr);
	gap: 7vw;
	align-items: end;
}

.pdk-about .pdk-method__heading h2 {
	max-width: 850px;
	margin: 20px 0 0;
	color: var(--pdk-navy);
	font-size: clamp(3rem,5vw,5.5rem);
	line-height: .98;
}

.pdk-about .pdk-method__heading h2 span {
	display: block;
	color: var(--pdk-gold-dark);
}

.pdk-about .pdk-method__heading > p {
	max-width: 450px;
	margin: 0 0 5px;
	color: #64727c;
	font-size: .86rem;
	line-height: 1.75;
}

.pdk-about .pdk-method__layout {
	display: grid;
	grid-template-columns: minmax(320px,.85fr) minmax(0,1.15fr);
	gap: 20px;
}

.pdk-about .pdk-method__tabs {
	border: 1px solid #d7dcd9;
	background: var(--pdk-white);
}

.pdk-about .pdk-method-tab {
	position: relative;
	width: 100%;
	min-height: 82px;
	padding: 0 22px;
	display: grid;
	grid-template-columns: 34px 38px 1fr 20px;
	align-items: center;
	gap: 14px;
	border: 0;
	border-bottom: 1px solid #dfe2e1;
	background: var(--pdk-white);
	color: #72808a;
	text-align: left;
	cursor: pointer;
	transition:
		background-color 220ms ease,
		color 220ms ease,
		transform 220ms var(--pdk-ease);
}

.pdk-about .pdk-method-tab:last-child {
	border-bottom: 0;
}

.pdk-about .pdk-method-tab__number {
	color: #9da6ac;
	font-size: .6rem;
	font-weight: 700;
}

.pdk-about .pdk-method-tab__icon {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border: 1px solid #bfc7cb;
	border-radius: 50%;
	font-size: .52rem;
	font-weight: 800;
}

.pdk-about .pdk-method-tab strong {
	color: var(--pdk-navy);
	font-family: var(--pdk-font-heading);
	font-size: 1rem;
	font-weight: 600;
}

.pdk-about .pdk-method-tab__arrow {
	font-size: 1.2rem;
	text-align: right;
}

.pdk-about .pdk-method-tab:not(.is-active):hover {
	background: #f7f5f0;
	transform: translateX(3px);
}

.pdk-about .pdk-method-tab.is-active {
	background: var(--pdk-navy);
	color: var(--pdk-gold-soft);
}

/*
 * Deliberate About-page difference:
 * same homepage component, but no construction-tape stripe.
 */
.pdk-about .pdk-method-tab.is-active::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 3px;
	background: var(--pdk-gold);
}

.pdk-about .pdk-method-tab.is-active::after {
	display: none;
}

.pdk-about .pdk-method-tab.is-active strong {
	color: var(--pdk-white);
}

.pdk-about .pdk-method-tab.is-active .pdk-method-tab__icon {
	border-color: var(--pdk-gold);
	background: var(--pdk-gold);
	color: var(--pdk-navy);
}

.pdk-about .pdk-method-panel {
	position: relative;
	min-height: 430px;
	padding: clamp(2.5rem,5vw,5rem);
	display: flex;
	align-items: center;
	background: #eae6de;
	overflow: hidden;
}

.pdk-about .pdk-method-panel__ghost {
	position: absolute;
	right: -15px;
	bottom: -75px;
	color: rgba(7,21,36,.035);
	font-family: var(--pdk-font-heading);
	font-size: clamp(11rem,17vw,18rem);
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
}

.pdk-about .pdk-method-panel__content {
	position: relative;
	z-index: 2;
	max-width: 700px;
	transition: opacity 180ms ease,transform 180ms ease;
}

.pdk-about .pdk-method-panel__content.is-changing {
	opacity: 0;
	transform: translateY(8px);
}

.pdk-about .pdk-method-panel__icon {
	width: 62px;
	height: 62px;
	margin-bottom: 30px;
	display: grid;
	place-items: center;
	background: var(--pdk-gold);
	color: var(--pdk-navy);
	font-size: .72rem;
	font-weight: 800;
}

.pdk-about .pdk-method-panel__step {
	color: var(--pdk-gold-dark);
	font-size: .6rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .13em;
}

.pdk-about .pdk-method-panel h3 {
	margin: 12px 0 20px;
	color: var(--pdk-navy);
	font-size: clamp(2.5rem,4vw,4rem);
	line-height: 1;
}

.pdk-about .pdk-method-panel p {
	max-width: 680px;
	margin: 0;
	color: #64727c;
	font-size: .86rem;
	line-height: 1.75;
}

.pdk-about .pdk-method-panel__controls {
	margin-top: 36px;
	display: flex;
	gap: 10px;
}

.pdk-about .pdk-method-panel__controls button {
	min-height: 44px;
	padding: 0 16px;
	display: inline-flex;
	align-items: center;
	border: 1px solid #bcc3c6;
	background: transparent;
	color: #3d4c56;
	font-size: .67rem;
	font-weight: 700;
	cursor: pointer;
}

.pdk-about .pdk-method-panel__controls .pdk-method-panel__next {
	background: var(--pdk-navy);
	border-color: var(--pdk-navy);
	color: var(--pdk-white);
}

.pdk-about .pdk-method-panel__controls button:disabled {
	opacity: .28;
	cursor: not-allowed;
}

@media (max-width: 1100px) {
	.pdk-about .pdk-method__layout {
		grid-template-columns: minmax(250px,.75fr) minmax(0,1.25fr);
	}
}

@media (max-width: 767px) {
	.pdk-about .pdk-method__heading {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.pdk-about .pdk-method__layout {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.pdk-about .pdk-method__tabs {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.pdk-about .pdk-method__tabs::-webkit-scrollbar {
		display: none;
	}

	.pdk-about .pdk-method-tab {
		min-width: 150px;
		min-height: 105px;
		padding: 14px 16px;
		grid-template-columns: 28px 1fr;
		grid-template-rows: auto auto;
		scroll-snap-align: start;
		border-bottom: 0;
		border-right: 1px solid #dfe2e1;
	}

	.pdk-about .pdk-method-tab__number {
		grid-column: 1;
		grid-row: 1;
	}

	.pdk-about .pdk-method-tab__icon {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
	}

	.pdk-about .pdk-method-tab strong {
		grid-column: 1 / -1;
		grid-row: 2;
		font-size: .9rem;
	}

	.pdk-about .pdk-method-tab__arrow {
		display: none;
	}

	.pdk-about .pdk-method-tab.is-active::before {
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		width: auto;
		height: 3px;
	}

	.pdk-about .pdk-method-panel {
		min-height: 400px;
		padding: 36px 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pdk-about .pdk-method-tab,
	.pdk-about .pdk-method-panel__content {
		transition: none;
	}
}


/* =========================================================
   03 / CAPABILITY
   ========================================================= */

.pdk-about-capability {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: var(--pdk-cream);
	color: var(--pdk-navy);
}

.pdk-about-capability__grid {
	display: grid;
	grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
	gap: clamp(60px, 9vw, 135px);
	align-items: start;
}

.pdk-about-capability__statement {
	position: sticky;
	top: calc(var(--pdk-header-height) + 34px);
}

.pdk-about-capability__statement .pdk-about-kicker {
	color: var(--pdk-gold-dark);
}

.pdk-about-capability h2 {
	max-width: 650px;
	margin: 0;
	color: var(--pdk-navy);
	font-size: clamp(2.9rem, 4.7vw, 5rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.056em;
}

.pdk-about-capability h2 span {
	display: block;
	color: var(--pdk-gold-dark);
}

.pdk-about-capability__statement > p {
	max-width: 570px;
	margin: 24px 0 0;
	color: #65727e;
	font-size: .86rem;
	line-height: 1.83;
}

.pdk-about-text-link {
	display: inline-block;
	margin-top: 26px;
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(7,27,59,.3);
	color: var(--pdk-navy);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.pdk-about-text-link--light {
	border-bottom-color: rgba(255,255,255,.35);
	color: var(--pdk-white);
}

.pdk-about-capability__sectors {
	border-top: 1px solid rgba(7,27,59,.18);
}

.pdk-about-capability__sectors a {
	min-height: 90px;
	padding: 0 7px;
	display: grid;
	grid-template-columns: 45px minmax(170px, .75fr) 1fr;
	align-items: center;
	gap: 18px;
	border-bottom: 1px solid rgba(7,27,59,.15);
	color: var(--pdk-navy);
	text-decoration: none;
	transition:
		padding-left 250ms var(--pdk-ease),
		background-color 250ms ease;
}

.pdk-about-capability__sectors a:hover {
	padding-left: 15px;
	background: rgba(189,152,47,.1);
}

.pdk-about-capability__sectors a > span:first-child {
	color: var(--pdk-gold-dark);
	font-size: .53rem;
	font-weight: 800;
}

.pdk-about-capability__sectors strong {
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	font-weight: 650;
}

.pdk-about-capability__sectors a > span:last-child {
	color: #6d7984;
	font-size: .72rem;
}


/* =========================================================
   04 / TEAM
   ========================================================= */

.pdk-about-team {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: var(--pdk-light);
}

.pdk-about-team__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(7,27,59,.17);
	border-left: 1px solid rgba(7,27,59,.17);
}

.pdk-about-team-card {
	position: relative;
	min-height: 310px;
	padding: clamp(28px, 4vw, 48px);
	border-right: 1px solid rgba(7,27,59,.17);
	border-bottom: 1px solid rgba(7,27,59,.17);
	background: var(--pdk-white);
	overflow: hidden;
}

.pdk-about-team-card::after {
	content: "";
	position: absolute;
	right: -18px;
	bottom: -30px;
	width: 120px;
	height: 120px;
	border: 1px solid rgba(7,27,59,.07);
	transform: rotate(45deg);
}

.pdk-about-team-card__top {
	margin-bottom: 38px;
	display: flex;
	justify-content: space-between;
	gap: 20px;
	color: #8b949c;
	font-size: .52rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pdk-about-team-card__top span:first-child {
	color: var(--pdk-gold-dark);
}

.pdk-about-team-card h3 {
	max-width: 620px;
	margin: 0;
	color: var(--pdk-navy);
	font-size: clamp(1.7rem, 2.7vw, 2.8rem);
	font-weight: 650;
	line-height: 1.05;
	letter-spacing: -.046em;
}

.pdk-about-team-card p {
	max-width: 620px;
	margin: 18px 0 0;
	color: #64717d;
	font-size: .82rem;
	line-height: 1.8;
}


/* =========================================================
   05 / AFFILIATIONS
   ========================================================= */

.pdk-about-affiliations {
	padding: clamp(5.5rem, 8vw, 8rem) 0;
	background: #ece8de;
}

.pdk-about-affiliations__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(7,27,59,.17);
	border-left: 1px solid rgba(7,27,59,.17);
}

.pdk-about-affiliation {
	min-height: 150px;
	padding: 24px;
	display: grid;
	grid-template-columns: 105px 1fr 24px;
	align-items: center;
	gap: 24px;
	border-right: 1px solid rgba(7,27,59,.17);
	border-bottom: 1px solid rgba(7,27,59,.17);
	background: rgba(255,255,255,.42);
	color: var(--pdk-navy);
	text-decoration: none;
	transition:
		background-color 240ms ease,
		transform 240ms var(--pdk-ease);
}

.pdk-about-affiliation:hover {
	background: var(--pdk-white);
	transform: translateY(-3px);
}

.pdk-about-affiliation__logo {
	height: 74px;
	display: grid;
	place-items: center;
}

.pdk-about-affiliation__logo img {
	max-width: 100%;
	max-height: 72px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .78;
	transition:
		filter 240ms ease,
		opacity 240ms ease;
}

.pdk-about-affiliation:hover .pdk-about-affiliation__logo img {
	filter: none;
	opacity: 1;
}

.pdk-about-affiliation strong {
	display: block;
	margin-bottom: 6px;
	font-size: .94rem;
	font-weight: 700;
}

.pdk-about-affiliation div > span {
	display: block;
	color: #697681;
	font-size: .69rem;
	line-height: 1.55;
}


/* =========================================================
   06 / PROJECT EVIDENCE
   ========================================================= */

.pdk-about-projects {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: var(--pdk-navy);
	color: var(--pdk-white);
}

.pdk-about-projects__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(255,255,255,.15);
	border-left: 1px solid rgba(255,255,255,.15);
}

.pdk-about-project {
	border-right: 1px solid rgba(255,255,255,.15);
	border-bottom: 1px solid rgba(255,255,255,.15);
	background: rgba(255,255,255,.02);
}

.pdk-about-project > a {
	height: 100%;
	display: grid;
	grid-template-rows: auto 1fr;
	color: inherit;
	text-decoration: none;
}

.pdk-about-project__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #041227;
}

.pdk-about-project__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform 760ms var(--pdk-ease);
}

.pdk-about-project__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(4,18,39,.65), transparent 52%);
}

.pdk-about-project__number,
.pdk-about-project__arrow {
	position: absolute;
	z-index: 2;
	bottom: 16px;
}

.pdk-about-project__number {
	left: 19px;
	color: var(--pdk-white);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .1em;
}

.pdk-about-project__arrow {
	right: 17px;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	background: var(--pdk-gold);
	color: var(--pdk-navy);
}

.pdk-about-project__body {
	padding: clamp(22px, 3vw, 34px);
}

.pdk-about-project__meta {
	margin-bottom: 12px;
	display: flex;
	justify-content: space-between;
	gap: 15px;
	color: #8f9ead;
	font-size: .5rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pdk-about-project h3 {
	margin: 0;
	color: var(--pdk-white);
	font-size: clamp(1.7rem, 2.4vw, 2.5rem);
	font-weight: 650;
	line-height: 1.05;
	letter-spacing: -.045em;
}

.pdk-about-project:hover .pdk-about-project__image {
	transform: scale(1.03);
}


/* =========================================================
   07 / AREAS
   ========================================================= */

.pdk-about-areas {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: var(--pdk-cream);
}

.pdk-about-areas__grid {
	display: grid;
	grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
	gap: clamp(60px, 9vw, 135px);
}

.pdk-about-areas h2 {
	max-width: 680px;
	margin: 0;
	color: var(--pdk-navy);
	font-size: clamp(2.9rem, 4.7vw, 5rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.056em;
}

.pdk-about-areas h2 span {
	display: block;
	color: var(--pdk-gold-dark);
}

.pdk-about-areas p {
	max-width: 610px;
	margin: 24px 0 0;
	color: #65727e;
	font-size: .86rem;
	line-height: 1.83;
}

.pdk-about-areas__list {
	border-top: 1px solid rgba(7,27,59,.17);
}

.pdk-about-areas__list > div {
	min-height: 72px;
	display: grid;
	grid-template-columns: 48px 1fr;
	align-items: center;
	gap: 16px;
	border-bottom: 1px solid rgba(7,27,59,.17);
}

.pdk-about-areas__list span {
	color: var(--pdk-gold-dark);
	font-size: .53rem;
	font-weight: 800;
}

.pdk-about-areas__list strong {
	color: var(--pdk-navy);
	font-size: clamp(.95rem, 1.3vw, 1.15rem);
	font-weight: 650;
}


/* =========================================================
   ABOUT CTA
   ========================================================= */

.pdk-about-cta {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: linear-gradient(135deg, var(--pdk-navy), #05162c);
	color: var(--pdk-white);
}

.pdk-about-cta__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .55fr);
	gap: clamp(50px, 8vw, 120px);
	align-items: end;
}

.pdk-about-cta .pdk-about-kicker {
	color: var(--pdk-gold-soft);
}

.pdk-about-cta h2 {
	max-width: 850px;
	margin: 0;
	color: var(--pdk-white);
	font-size: clamp(2.8rem, 4.8vw, 5rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.055em;
}

.pdk-about-cta h2 span {
	display: block;
	color: var(--pdk-gold-soft);
}

.pdk-about-cta__action > p {
	max-width: 470px;
	margin: 0 0 28px;
	color: #b9c5d3;
	font-size: .84rem;
	line-height: 1.8;
}

.pdk-about-cta__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
}

.pdk-about-phone {
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(255,255,255,.35);
	color: var(--pdk-white);
	font-size: .66rem;
	font-weight: 700;
	text-decoration: none;
}


/* =========================================================
   ABOUT — NO CONSTRUCTION TAPE
   ========================================================= */

/*
 * About uses clean architectural/blueprint details.
 * Intentionally no repeating stripe / tape patterns.
 */
.pdk-about .pdk-about-method-step.is-active,
.pdk-about .pdk-about-story-stats > div {
	background-image: none;
}

.pdk-about .pdk-about-method-step::before,
.pdk-about .pdk-about-method-step::after {
	background-image: none;
}


/* =========================================================
   ABOUT RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {
	.pdk-about-hero__record {
		display: none;
	}

	.pdk-about-section-heading,
	.pdk-about-story-split,
	.pdk-about-method__heading,
	.pdk-about-capability__grid,
	.pdk-about-areas__grid,
	.pdk-about-cta__grid {
		grid-template-columns: 1fr;
	}

	.pdk-about-story-split {
		gap: 42px;
	}

	.pdk-about-capability__statement {
		position: static;
	}

	.pdk-about-story-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pdk-about-method__detail {
		grid-template-columns: 80px minmax(0, 1fr);
	}

	.pdk-about-method__controls {
		grid-column: 2;
	}
}

@media (max-width: 767px) {
	.pdk-about-hero {
		min-height: 690px;
	}

	.pdk-about-hero__inner.pdk-container {
		width: calc(100% - 32px);
		padding:
			calc(var(--pdk-header-height) + 30px)
			0
			32px;
	}

	.pdk-about-hero h1 {
		font-size: clamp(3.2rem, 14vw, 5rem);
	}

	.pdk-about-story,
	.pdk-about-method,
	.pdk-about-capability,
	.pdk-about-team,
	.pdk-about-affiliations,
	.pdk-about-projects,
	.pdk-about-areas,
	.pdk-about-cta {
		padding: 4.75rem 0;
	}

	.pdk-about-section-heading {
		gap: 28px;
	}

	.pdk-about-story-split {
		gap: 34px;
	}

	.pdk-about-story-split__copy {
		padding-top: 26px;
	}

	.pdk-about-story-stats {
		grid-template-columns: 1fr 1fr;
		margin-top: 48px;
	}

	.pdk-about-story-stats > div {
		min-height: 105px;
		padding: 17px 15px;
	}

	.pdk-about-method__heading {
		gap: 28px;
		margin-bottom: 48px;
	}

	.pdk-about-method__journey {
		width: calc(100vw - 16px);
		margin-right: calc(50% - 50vw);
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.pdk-about-method__journey::-webkit-scrollbar {
		display: none;
	}

	.pdk-about-method__rail {
		display: none;
	}

	.pdk-about-method-step {
		min-width: 155px;
		min-height: 138px;
		scroll-snap-align: start;
	}

	.pdk-about-method__detail {
		grid-template-columns: 1fr;
		gap: 22px;
		padding-top: 34px;
	}

	.pdk-about-method__detail-number {
		font-size: 3.8rem;
	}

	.pdk-about-method__controls {
		grid-column: auto;
	}

	.pdk-about-capability__sectors a {
		grid-template-columns: 40px 1fr;
		padding: 16px 4px;
	}

	.pdk-about-capability__sectors a > span:last-child {
		grid-column: 2;
	}

	.pdk-about-team__grid,
	.pdk-about-affiliations__grid,
	.pdk-about-projects__grid {
		grid-template-columns: 1fr;
	}

	.pdk-about-affiliation {
		grid-template-columns: 82px 1fr 20px;
		padding: 19px;
	}

	.pdk-about-project__media {
		aspect-ratio: 4 / 3;
	}

	.pdk-about-cta__grid {
		gap: 38px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pdk-about-hero__image,
	.pdk-about-method__rail span,
	.pdk-about-method__detail-copy,
	.pdk-about-project__image,
	.pdk-about-story-stats > div::after {
		animation: none;
		transition: none;
	}
}


/* =========================================================
   ABOUT PHASE 8B REFINEMENT
   Version 0.19.2
   ========================================================= */

/* Keep the About hero aligned with the same central content rhythm used
   across Projects and Services, without changing its established markup. */
.pdk-about-hero__inner.pdk-container {
	padding-top: calc(var(--pdk-header-height) + 34px);
	padding-bottom: 34px;
}

.pdk-about-hero__content {
	max-width: 900px;
}

.pdk-about-hero h1 {
	max-width: 960px;
}

.pdk-about-hero__content > p {
	max-width: 650px;
}

/* Company Story: slightly tighter editorial balance so the first About
   section does not feel like two unrelated columns floating apart. */
.pdk-about-story-split {
	grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
	gap: clamp(52px, 8vw, 128px);
}

.pdk-about-story-split__heading {
	padding-right: clamp(0px, 2vw, 30px);
}

.pdk-about-story-split__copy {
	padding-top: 22px;
}

.pdk-about-story-split__lead {
	max-width: 640px;
}

.pdk-about-story-stats {
	margin-top: clamp(48px, 6vw, 78px);
}

/* Home-style Method: retain the same visual language, but make the entire
   block sit more naturally within the About page rhythm. */
.pdk-about .pdk-method {
	padding-top: clamp(5.5rem, 8vw, 8rem);
	padding-bottom: clamp(5.5rem, 8vw, 8rem);
}

.pdk-about .pdk-method__heading {
	margin-bottom: clamp(2.8rem, 5vw, 4.4rem);
}

.pdk-about .pdk-method__layout {
	gap: 18px;
}

/* Capability section deliberately returns to cream so the sequence becomes:
   cream story -> light method -> cream capability -> white team. */
.pdk-about-capability {
	background: #f4f0e6;
}

.pdk-about-capability__grid {
	align-items: start;
}

.pdk-about-capability__statement {
	padding-right: clamp(0px, 2vw, 28px);
}

.pdk-about-capability__sectors a {
	min-height: 86px;
}

.pdk-about-capability__sectors strong {
	letter-spacing: -.015em;
}

@media (max-width: 767px) {
	.pdk-about-hero__inner.pdk-container {
		padding-top: calc(var(--pdk-header-height) + 24px);
		padding-bottom: 26px;
	}

	.pdk-about-story-split {
		gap: 28px;
	}

	.pdk-about-story-split__copy {
		padding-top: 20px;
	}
}


/* =========================================================
   ABOUT TEAM ROSTER + HOMEPAGE COMPONENT REUSE
   Version 0.19.3
   ========================================================= */

/*
 * The Method and affiliation strip intentionally use home.css on About.
 * This keeps those components literally consistent with the homepage.
 */

/* About keeps the homepage PDK Method structure but drops the tape stripe. */
.pdk-about .pdk-method-tab.is-active::before {
	width: 3px;
	background: var(--pdk-gold);
}

/* Confirmed staff roster. Image block simply does not render when image is empty. */
.pdk-about-team-roster {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid rgba(7,27,59,.17);
	border-left: 1px solid rgba(7,27,59,.17);
}

.pdk-about-team-member {
	min-width: 0;
	border-right: 1px solid rgba(7,27,59,.17);
	border-bottom: 1px solid rgba(7,27,59,.17);
	background: var(--pdk-white);
}

.pdk-about-team-member__media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #e8e5de;
}

.pdk-about-team-member__media img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	filter: saturate(.9);
	transition:
		transform 650ms var(--pdk-ease),
		filter 320ms ease;
}

.pdk-about-team-member:hover .pdk-about-team-member__media img {
	transform: scale(1.025);
	filter: saturate(1);
}

.pdk-about-team-member__body {
	min-height: 124px;
	padding: 22px 19px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.pdk-about-team-member h3 {
	margin: 0;
	color: var(--pdk-navy);
	font-size: clamp(1.08rem, 1.45vw, 1.35rem);
	font-weight: 650;
	line-height: 1.08;
	letter-spacing: -.035em;
}

.pdk-about-team-member p {
	margin: 8px 0 0;
	color: var(--pdk-gold-dark);
	font-size: .58rem;
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.pdk-about-team-mobile {
	display: none;
}

.pdk-about-trust-strip {
	border-top: 1px solid var(--pdk-line);
	border-bottom: 1px solid var(--pdk-line);
}

@media (max-width: 1100px) and (min-width: 768px) {
	.pdk-about-team-roster {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	/* User requested the full 11/12-person roster not consume the mobile page. */
	.pdk-about-team-roster {
		display: none;
	}

	.pdk-about-team-mobile {
		padding: 24px 0 4px;
		display: block;
		border-top: 1px solid rgba(7,27,59,.17);
	}

	.pdk-about-team-mobile strong {
		display: block;
		color: var(--pdk-navy);
		font-family: var(--pdk-font-heading);
		font-size: 1.25rem;
	}

	.pdk-about-team-mobile p {
		max-width: 480px;
		margin: 8px 0 0;
		color: #65727e;
		font-size: .78rem;
		line-height: 1.65;
	}
}


/* =========================================================
   CONTACT + THANK YOU — STAGE 9
   Version 0.20.0
   ========================================================= */

.pdk-contact,
.pdk-thank-you {
	background: var(--pdk-cream, #f4f0e6);
}

.pdk-contact-kicker {
	display: block;
	margin-bottom: 16px;
	color: var(--pdk-gold-dark, #9a7621);
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.pdk-contact-hero {
	padding: clamp(7.5rem, 11vw, 11rem) 0 clamp(5rem, 8vw, 8rem);
	background: #071b3b;
	color: #fefefe;
}

.pdk-contact-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .55fr);
	gap: clamp(55px, 9vw, 135px);
	align-items: end;
}

.pdk-contact-hero .pdk-contact-kicker {
	color: #d4b657;
}

.pdk-contact-hero h1 {
	max-width: 920px;
	margin: 0;
	color: #fefefe;
	font-family: var(--pdk-font-heading);
	font-size: clamp(3.8rem, 6.6vw, 7rem);
	font-weight: 650;
	line-height: .94;
	letter-spacing: -.064em;
}

.pdk-contact-hero h1 span {
	display: block;
	color: #d4b657;
}

.pdk-contact-hero__copy > p {
	max-width: 690px;
	margin: 28px 0 0;
	color: #b8c4d1;
	font-size: .9rem;
	line-height: 1.84;
}

.pdk-contact-hero__record {
	border-top: 1px solid rgba(255,255,255,.2);
}

.pdk-contact-hero__record > div {
	padding: 17px 0;
	display: grid;
	grid-template-columns: 95px 1fr;
	gap: 20px;
	border-bottom: 1px solid rgba(255,255,255,.14);
}

.pdk-contact-hero__record span {
	color: #8fa0b1;
	font-size: .51rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pdk-contact-hero__record a,
.pdk-contact-hero__record strong {
	color: #fefefe;
	font-size: .78rem;
	font-weight: 650;
	text-decoration: none;
}

.pdk-contact-main {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
}

.pdk-contact-main__grid {
	display: grid;
	grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr);
	gap: clamp(60px, 9vw, 135px);
	align-items: start;
}

.pdk-contact-main__intro {
	position: sticky;
	top: calc(var(--pdk-header-height) + 32px);
}

.pdk-contact-main h2,
.pdk-contact-office h2 {
	margin: 0;
	color: #071b3b;
	font-family: var(--pdk-font-heading);
	font-size: clamp(2.9rem, 4.8vw, 5rem);
	font-weight: 650;
	line-height: .98;
	letter-spacing: -.056em;
}

.pdk-contact-main h2 span,
.pdk-contact-office h2 span {
	display: block;
	color: #9a7621;
}

.pdk-contact-main__intro > p {
	max-width: 570px;
	margin: 24px 0 0;
	color: #65727e;
	font-size: .85rem;
	line-height: 1.82;
}

.pdk-contact-main__details {
	margin-top: 34px;
	border-top: 1px solid rgba(7,27,59,.18);
}

.pdk-contact-main__details > div {
	padding: 15px 0;
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 18px;
	border-bottom: 1px solid rgba(7,27,59,.14);
}

.pdk-contact-main__details span {
	color: #8a949d;
	font-size: .51rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.pdk-contact-main__details a,
.pdk-contact-main__details strong {
	color: #071b3b;
	font-size: .75rem;
	font-weight: 650;
	text-decoration: none;
}

.pdk-contact-form-wrap {
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid rgba(7,27,59,.16);
	background: #fefefe;
}

.pdk-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 22px 18px;
}

.pdk-contact-field {
	display: block;
}

.pdk-contact-field--full {
	grid-column: 1 / -1;
}

.pdk-contact-field > span {
	display: block;
	margin-bottom: 8px;
	color: #071b3b;
	font-size: .59rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.pdk-contact-field em {
	color: #9a7621;
	font-style: normal;
}

.pdk-contact-field input,
.pdk-contact-field select,
.pdk-contact-field textarea {
	width: 100%;
	border: 1px solid #cfd5d6;
	border-radius: 0;
	background: #faf9f6;
	color: #071b3b;
	font: inherit;
	font-size: .84rem;
	outline: none;
	transition: border-color 180ms ease, background-color 180ms ease;
}

.pdk-contact-field input,
.pdk-contact-field select {
	height: 52px;
	padding: 0 14px;
}

.pdk-contact-field textarea {
	min-height: 180px;
	padding: 14px;
	resize: vertical;
	line-height: 1.65;
}

.pdk-contact-field input:focus,
.pdk-contact-field select:focus,
.pdk-contact-field textarea:focus {
	border-color: #bd982f;
	background: #fff;
}

.pdk-contact-field .has-error {
	border-color: #a33434;
}

.pdk-contact-form__footer {
	margin-top: 26px;
	padding-top: 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	border-top: 1px solid rgba(7,27,59,.13);
}

.pdk-contact-form__footer p {
	margin: 0;
	color: #7b858d;
	font-size: .68rem;
}

.pdk-contact-form button:disabled {
	opacity: .6;
	cursor: wait;
}

.pdk-contact-honeypot {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.pdk-contact-form-message {
	margin-bottom: 22px;
	padding: 16px 18px;
	border-left: 3px solid #9a7621;
	background: #f4f0e6;
	color: #071b3b;
}

.pdk-contact-form-message strong {
	display: block;
	margin-bottom: 4px;
}

.pdk-contact-form-message p {
	margin: 0;
	font-size: .78rem;
	line-height: 1.6;
}

.pdk-contact-form-message--error {
	border-left-color: #a33434;
}

.pdk-contact-office {
	padding: clamp(4.5rem, 7vw, 7rem) 0;
	background: #ece8de;
}

.pdk-contact-office__grid {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(280px,.5fr);
	gap: clamp(50px,8vw,120px);
	align-items: end;
}

.pdk-contact-office address {
	margin: 0;
	padding-left: 24px;
	border-left: 2px solid #bd982f;
	color: #65727e;
	font-style: normal;
	font-size: .86rem;
	line-height: 1.8;
}

.pdk-contact-office address strong {
	color: #071b3b;
}

.pdk-thank-you__section {
	min-height: 72vh;
	padding: clamp(9rem, 14vw, 13rem) 0 clamp(6rem, 10vw, 10rem);
	display: flex;
	align-items: center;
	background: #071b3b;
	color: #fefefe;
}

.pdk-thank-you__inner {
	max-width: 1000px;
}

.pdk-thank-you h1 {
	max-width: 900px;
	margin: 0;
	color: #fefefe;
	font-family: var(--pdk-font-heading);
	font-size: clamp(3.6rem,6vw,6.5rem);
	font-weight: 650;
	line-height: .95;
	letter-spacing: -.06em;
}

.pdk-thank-you h1 span {
	display: block;
	color: #d4b657;
}

.pdk-thank-you p {
	max-width: 680px;
	margin: 26px 0 0;
	color: #b8c4d1;
	font-size: .9rem;
	line-height: 1.8;
}

.pdk-thank-you__actions {
	margin-top: 30px;
	display: flex;
	align-items: center;
	gap: 24px;
}

.pdk-thank-you__actions > a:not(.pdk-button) {
	color: #fefefe;
	font-size: .7rem;
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 1000px) {
	.pdk-contact-hero__grid,
	.pdk-contact-main__grid,
	.pdk-contact-office__grid {
		grid-template-columns: 1fr;
	}

	.pdk-contact-main__intro {
		position: static;
	}
}

@media (max-width: 767px) {
	.pdk-contact-hero {
		padding: calc(var(--pdk-header-height) + 54px) 0 4.5rem;
	}

	.pdk-contact-hero h1 {
		font-size: clamp(3.1rem, 14vw, 4.8rem);
	}

	.pdk-contact-main,
	.pdk-contact-office {
		padding: 4.5rem 0;
	}

	.pdk-contact-form-wrap {
		padding: 22px 16px;
	}

	.pdk-contact-form__grid {
		grid-template-columns: 1fr;
	}

	.pdk-contact-field--full {
		grid-column: auto;
	}

	.pdk-contact-form__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.pdk-contact-form__footer .pdk-button {
		width: 100%;
		justify-content: space-between;
	}

	.pdk-thank-you__actions {
		align-items: flex-start;
		flex-direction: column;
	}
}


/* =========================================================
   CONTACT HERO FEATURED IMAGE
   Version 0.20.3
   ========================================================= */

.pdk-contact-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.pdk-contact-hero__media {
	position: absolute;
	inset: 0;
	z-index: -2;
	background-position: center 38%;
	background-repeat: no-repeat;
	background-size: cover;
}

.pdk-contact-hero.has-image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(
			90deg,
			rgba(7,27,59,.98) 0%,
			rgba(7,27,59,.92) 45%,
			rgba(7,27,59,.78) 72%,
			rgba(7,27,59,.72) 100%
		);
	pointer-events: none;
}

.pdk-contact-hero.has-image .pdk-contact-hero__record {
	padding: 22px 24px;
	border: 1px solid rgba(255,255,255,.17);
	background: rgba(7,27,59,.34);
	backdrop-filter: blur(5px);
}

@media (max-width: 1000px) {
	.pdk-contact-hero__media {
		background-position: center 32%;
	}

	.pdk-contact-hero.has-image::after {
		background:
			linear-gradient(
				180deg,
				rgba(7,27,59,.90) 0%,
				rgba(7,27,59,.94) 72%,
				rgba(7,27,59,.98) 100%
			);
	}
}

@media (max-width: 767px) {
	.pdk-contact-hero__media {
		background-position: 58% center;
	}
}


@media (max-width: 767px) {
	.pdk-footer__bottom {
		padding: 20px 16px;
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.pdk-footer__growthcraft {
		flex-wrap: wrap;
	}
}


/* =========================================================
   STAGE 10 — FOOTER VISIBILITY SAFETY
   Version 0.21.0
   ========================================================= */

.pdk-footer__bottom,
.pdk-motion-ready .pdk-footer__bottom,
.pdk-footer__bottom[data-pdk-reveal],
.pdk-footer__bottom[data-pdk-reveal="none"] {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	transition: none !important;
}


/* =========================================================
   STAGE 11 — CONTINUOUS FOOTER BACKGROUND
   ========================================================= */

.pdk-footer__bottom {
	background: rgba(2,10,23,.18);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}


/* =========================================================
   STAGE 11.1 — INTERACTIVE TESTIMONIALS
   Restores the approved homepage testimonial language on About.
   ========================================================= */

.pdk-testimonials {
	padding: clamp(5rem, 7vw, 7rem) 0;
	background: var(--pdk-navy);
	color: var(--pdk-white);
	overflow: hidden;
}

.pdk-testimonials__heading {
	margin-bottom: clamp(2.5rem, 4vw, 3.8rem);
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
}

.pdk-testimonials__heading h2 {
	max-width: 850px;
	margin: 20px 0 0;
	color: var(--pdk-white);
	font-size: clamp(3rem, 5vw, 5.25rem);
	line-height: .98;
}

.pdk-testimonials__heading h2 span {
	display: block;
	color: var(--pdk-gold-soft);
}

.pdk-testimonials__review-summary {
	min-width: 230px;
	padding-left: 20px;
	border-left: 1px solid rgba(255,255,255,.18);
}

.pdk-testimonials__review-summary-label {
	display: block;
	margin-bottom: 8px;
	color: var(--pdk-gold-soft);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.pdk-testimonials__review-summary-row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.pdk-testimonials__review-summary-row strong {
	font-family: var(--pdk-font-heading);
	font-size: 2rem;
	line-height: 1;
}

.pdk-testimonials__review-summary-row span {
	color: var(--pdk-gold-soft);
	font-size: .67rem;
	letter-spacing: .06em;
}

.pdk-testimonials__review-summary small {
	display: block;
	margin-top: 5px;
	color: #8d9aad;
	font-size: .6rem;
}

.pdk-testimonials__review-summary a {
	display: inline-block;
	margin-top: 10px;
	color: var(--pdk-white);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
}

.pdk-testimonials__stage {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
	border-top: 1px solid rgba(255,255,255,.15);
	border-bottom: 1px solid rgba(255,255,255,.15);
}

.pdk-testimonials__quote {
	position: relative;
	min-height: 420px;
	padding: clamp(2.8rem, 5vw, 5rem);
	display: flex;
	align-items: center;
	border-right: 1px solid rgba(255,255,255,.15);
	overflow: hidden;
}

.pdk-testimonials__mark {
	position: absolute;
	top: -80px;
	left: 18px;
	color: rgba(255,255,255,.035);
	font-family: Georgia, serif;
	font-size: 24rem;
	line-height: 1;
	pointer-events: none;
}

.pdk-testimonials blockquote {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 900px;
	margin: 0;
	transition: opacity 180ms ease, transform 180ms ease;
}

.pdk-testimonials blockquote.is-changing {
	opacity: 0;
	transform: translateY(8px);
}

.pdk-testimonials__quote-meta {
	margin-bottom: 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.pdk-testimonials__quote-meta > span:first-child {
	color: var(--pdk-gold-soft);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.pdk-testimonials__stars {
	color: var(--pdk-gold-soft);
	font-size: .72rem;
	letter-spacing: .08em;
}

.pdk-testimonials blockquote p {
	margin: 0 0 34px;
	color: var(--pdk-white);
	font-family: var(--pdk-font-heading);
	font-size: clamp(1.45rem, 2.35vw, 2.45rem);
	font-weight: 600;
	line-height: 1.34;
	letter-spacing: -.025em;
}

.pdk-testimonials blockquote footer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
}

.pdk-testimonials blockquote footer strong {
	color: var(--pdk-gold-soft);
	font-size: .8rem;
}

.pdk-testimonials blockquote footer span {
	color: #8491a2;
	font-size: .6rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
}

.pdk-testimonials__source-link {
	margin-top: 10px;
	color: var(--pdk-white);
	font-size: .56rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
}

.pdk-testimonials__selectors {
	max-height: 420px;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: rgba(217,179,73,.6) rgba(255,255,255,.04);
}

.pdk-testimonial-selector {
	min-height: 82px;
	padding: 0 22px;
	display: grid;
	grid-template-columns: 32px 1fr 20px;
	align-items: center;
	gap: 13px;
	border: 0;
	border-bottom: 1px solid rgba(255,255,255,.12);
	background: transparent;
	color: #8793a4;
	text-align: left;
	cursor: pointer;
	transition: background-color var(--pdk-transition-base), color var(--pdk-transition-base), padding var(--pdk-transition-base);
}

.pdk-testimonial-selector:last-child {
	border-bottom: 0;
}

.pdk-testimonial-selector > span:first-child {
	font-size: .58rem;
	font-weight: 800;
}

.pdk-testimonial-selector__copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.pdk-testimonial-selector strong {
	font-family: var(--pdk-font-heading);
	font-size: .93rem;
	font-weight: 600;
}

.pdk-testimonial-selector small {
	color: currentColor;
	font-size: .52rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .72;
}

.pdk-testimonial-selector.is-active {
	padding-left: 28px;
	background: var(--pdk-gold);
	color: var(--pdk-navy);
}

.pdk-testimonial-selector:hover:not(.is-active) {
	background: rgba(255,255,255,.04);
	color: var(--pdk-white);
}

.pdk-testimonials__footer {
	min-height: 62px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	color: #6e7d91;
	font-size: .58rem;
}

.pdk-testimonials__footer p {
	max-width: 560px;
	margin: 0;
	text-align: right;
}

.pdk-testimonials__counter {
	display: flex;
	gap: 7px;
	color: #8491a2;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .12em;
}

.pdk-testimonials__counter span:first-child {
	color: var(--pdk-gold-soft);
}


@media (max-width: 900px) {
	.pdk-testimonials__heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.pdk-testimonials__review-summary {
		min-width: 0;
		padding-left: 0;
		border-left: 0;
	}

	.pdk-testimonials__stage {
		grid-template-columns: 1fr;
	}

	.pdk-testimonials__quote {
		min-height: 360px;
		border-right: 0;
		border-bottom: 1px solid rgba(255,255,255,.15);
	}

	.pdk-testimonials__selectors {
		max-height: none;
		flex-direction: row;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x proximity;
	}

	.pdk-testimonial-selector {
		min-width: min(280px, 78vw);
		scroll-snap-align: start;
		border-right: 1px solid rgba(255,255,255,.12);
		border-bottom: 0;
	}

	.pdk-testimonials__footer {
		padding-top: 18px;
		align-items: flex-start;
		flex-direction: column;
	}

	.pdk-testimonials__footer p {
		text-align: left;
	}
}

@media (max-width: 767px) {
	.pdk-testimonials {
		padding: 4.25rem 0;
	}

	.pdk-testimonials__heading h2 {
		font-size: clamp(2.7rem, 12vw, 4rem);
	}

	.pdk-testimonials__quote {
		min-height: 340px;
		padding: 34px 22px;
	}

	.pdk-testimonials blockquote p {
		font-size: clamp(1.3rem, 6vw, 1.75rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pdk-motion-ready [data-pdk-reveal="text"],
	.pdk-motion-ready [data-pdk-reveal="media"],
	[data-pdk-hero-motion],
	.pdk-home-hero__image,
	.pdk-projects-hero__image,
	.pdk-project-portfolio-hero__image,
	.pdk-single-service-hero__image {
		animation: none !important;
		opacity: 1 !important;
		clip-path: none !important;
		transform: none !important;
		transition: none !important;
	}

	.pdk-testimonials blockquote {
		transition: none;
	}
}


/* =========================================================
   v0.22.4 — MOTION ROLLBACK / VISIBILITY SAFETY
   ========================================================= */

/*
 * Stage 11.1 introduced automatic text-mask/media reveals across all
 * pages. Those broad automatic reveals are removed. Existing template
 * reveals remain available, but content is visible by default.
 */
.pdk-motion-ready [data-pdk-reveal]:not([data-pdk-reveal="none"]) {
	opacity: 1;
	visibility: visible;
	clip-path: none;
	transform: none;
}

/*
 * Only an element that site.js has explicitly enrolled is temporarily
 * hidden. If JavaScript fails before enrolment, the page remains readable.
 */
.pdk-motion-ready .pdk-reveal-pending[data-pdk-reveal="up"],
.pdk-motion-ready .pdk-reveal-pending[data-pdk-reveal]:not(
	[data-pdk-reveal="left"]
):not(
	[data-pdk-reveal="right"]
):not(
	[data-pdk-reveal="scale"]
) {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
}

.pdk-motion-ready .pdk-reveal-pending[data-pdk-reveal="left"] {
	opacity: 0;
	transform: translate3d(-28px, 0, 0);
}

.pdk-motion-ready .pdk-reveal-pending[data-pdk-reveal="right"] {
	opacity: 0;
	transform: translate3d(28px, 0, 0);
}

.pdk-motion-ready .pdk-reveal-pending[data-pdk-reveal="scale"] {
	opacity: 0;
	transform: scale(.98);
}

.pdk-motion-ready [data-pdk-reveal].is-visible {
	opacity: 1;
	visibility: visible;
	clip-path: none;
	transform: none;
}

/*
 * The footer lower strip must never participate in scroll reveal.
 */
.pdk-footer__bottom,
.pdk-motion-ready .pdk-footer__bottom,
.pdk-footer__bottom[data-pdk-reveal] {
	opacity: 1 !important;
	visibility: visible !important;
	clip-path: none !important;
	transform: none !important;
}

/* =========================================================
   v0.22.4 — ABOUT HERO FULL-WIDTH REPAIR
   ========================================================= */

.pdk-about,
.pdk-about-hero {
	width: 100%;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}

.pdk-about-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(660px, 78vh, 880px);
	background: var(--pdk-navy);
	overflow: hidden;
}

.pdk-about-hero__media,
.pdk-about-hero__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.pdk-about-hero__media {
	max-width: none;
}

.pdk-about-hero__image {
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}

/*
 * Reduced-motion users always receive the final visible state.
 */
@media (prefers-reduced-motion: reduce) {
	.pdk-motion-ready [data-pdk-reveal],
	.pdk-motion-ready .pdk-reveal-pending[data-pdk-reveal] {
		animation: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		clip-path: none !important;
		transform: none !important;
		transition: none !important;
	}
}


/* === MERGED HOMEPAGE / SHARED COMPONENT STYLES === */
/* Shared homepage labels */
.pdk-home-section-number,
.pdk-section-kicker {
	display: block;
	color: var(--pdk-gold);
	font-size: .65rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .15em;
}

/* Hero */
.pdk-home-hero {
	position: relative;
	min-height: max(720px,94svh);
	background: var(--pdk-dark);
	color: var(--pdk-white);
	overflow: hidden;
}
.pdk-home-hero__media { position: absolute; inset: 0; }
.pdk-home-hero__media--empty { background: var(--pdk-navy); }
.pdk-home-hero__image { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; filter: saturate(.9) contrast(1.03); }
.pdk-home-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,27,59,.82) 0%,rgba(7,27,59,.58) 42%,rgba(7,27,59,.10) 78%), linear-gradient(to top,rgba(7,27,59,.28),transparent 48%); }
.pdk-home-hero__grid { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right,rgba(255,255,255,.055) 1px,transparent 1px); background-size: 25% 100%; }
.pdk-home-hero__content { position: relative; z-index: 2; width: min(90%,var(--pdk-container)); min-height: max(720px,94svh); margin-inline: auto; padding: calc(var(--pdk-header-height) + 8vh) 0 0; display: flex; flex-direction: column; justify-content: space-between; }
.pdk-home-hero__copy { max-width: 900px; padding-bottom: 7vh; }
.pdk-home-hero__title { max-width: 900px; margin: 28px 0 var(--pdk-space-4); color: var(--pdk-white); font-size: clamp(3.8rem,6.5vw,7.5rem); font-weight: 700; line-height: .94; letter-spacing: -.055em; }
.pdk-home-hero__title span { color: var(--pdk-gold-soft); }
.pdk-home-hero__intro { max-width: 620px; margin: 0 0 38px; color: #d3dae4; font-size: clamp(1rem,1.35vw,1.18rem); line-height: 1.7; }
.pdk-home-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; }
.pdk-home-hero__rail { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.18); color: #c8d0dc; font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; }

/* Text-only trust strip BELOW hero */
.pdk-trust-strip { padding: 0; background: var(--pdk-light); border-bottom: 1px solid var(--pdk-line); color: var(--pdk-ink); }
.pdk-trust-strip__inner { min-height: 86px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: clamp(28px,4vw,70px); }
.pdk-trust-strip__label { color: var(--pdk-gold-dark); font-size: .58rem; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; white-space: nowrap; }
.pdk-trust-strip__links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-left: 1px solid var(--pdk-line); }
.pdk-trust-strip__links a { min-height: 86px; padding: 0 clamp(14px,2vw,26px); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; border-right: 1px solid var(--pdk-line); color: var(--pdk-navy); text-decoration: none; transition: background-color var(--pdk-transition-base), color var(--pdk-transition-base); }
.pdk-trust-strip__short { color: var(--pdk-gold-dark); font-size: .61rem; font-weight: 800; letter-spacing: .08em; }
.pdk-trust-strip__name { font-size: .68rem; font-weight: 600; line-height: 1.35; }
.pdk-trust-strip__links a > span:last-child { color: var(--pdk-gold-dark); font-size: .8rem; transition: transform var(--pdk-transition-base); }
.pdk-trust-strip__links a:hover { background: var(--pdk-cream); }
.pdk-trust-strip__links a:hover > span:last-child { transform: translate(3px,-3px); }

/* Company split */
.pdk-company-feature { position: relative; min-height: clamp(700px,55vw,900px); display: grid; grid-template-columns: minmax(0,56%) minmax(0,44%); background: var(--pdk-navy); color: var(--pdk-white); overflow: hidden; }
.pdk-company-feature__media { position: relative; min-width: 0; min-height: inherit; overflow: hidden; background: #101821; }
.pdk-company-feature__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 1300ms var(--pdk-ease); }
.pdk-company-feature:hover .pdk-company-feature__image { transform: scale(1.018); }
.pdk-company-feature__image-shade { position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg,rgba(5,20,40,0) 0%,rgba(5,20,40,0) 64%,rgba(5,20,40,.38) 82%,rgba(5,20,40,.98) 100%); pointer-events: none; }
.pdk-company-feature__since { position: absolute; right: 0; bottom: 0; z-index: 5; width: clamp(125px,10vw,165px); aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--pdk-gold); color: var(--pdk-navy); text-align: center; }
.pdk-company-feature__since span { margin-bottom: 10px; font-size: .55rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.pdk-company-feature__since strong { font-family: var(--pdk-font-heading); font-size: clamp(2.2rem,3vw,3.4rem); font-weight: 600; line-height: 1; }
.pdk-company-feature__content { position: relative; display: flex; align-items: center; background: linear-gradient(135deg,#061a35 0%,#071b3b 58%,#05162c 100%); }
.pdk-company-feature__content::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size: 42px 42px; pointer-events: none; }
.pdk-company-feature__inner { position: relative; z-index: 2; width: 100%; max-width: 820px; padding: clamp(55px,6vw,100px) clamp(45px,5vw,82px); }
.pdk-company-feature h2 { max-width: 760px; margin: 20px 0 24px; color: var(--pdk-white); font-size: clamp(3rem,4.35vw,5rem); font-weight: 600; line-height: .99; letter-spacing: -.055em; }
.pdk-company-feature__intro { max-width: 720px; margin: 0 0 34px; color: #bec9d7; font-size: clamp(.84rem,1vw,.96rem); line-height: 1.78; }
.pdk-company-feature__quote { position: relative; max-width: 720px; margin: 0 0 28px; padding: 24px 28px; border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.025); }
.pdk-company-feature__quote::after { content: "“"; position: absolute; top: 8px; right: 16px; color: var(--pdk-gold); font-family: Georgia,serif; font-size: 2.5rem; line-height: 1; }
.pdk-company-feature__quote p { max-width: 625px; margin: 0 0 18px; color: var(--pdk-white); font-family: var(--pdk-font-heading); font-size: clamp(1rem,1.32vw,1.25rem); font-weight: 600; line-height: 1.48; }
.pdk-company-feature__quote footer { color: #8496ac; font-size: .56rem; line-height: 1.4; }
.pdk-company-feature__values { max-width: 720px; margin: 0 0 29px; display: flex; flex-wrap: wrap; gap: 9px; }
.pdk-company-feature__values span { min-height: 35px; padding: 0 13px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(255,255,255,.16); color: #d5dde7; font-size: .54rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; transition: background-color var(--pdk-transition-base),border-color var(--pdk-transition-base),transform var(--pdk-transition-base); }
.pdk-company-feature__values b { color: var(--pdk-gold); }
.pdk-company-feature__values span:hover { border-color: rgba(189,152,47,.58); background: rgba(189,152,47,.08); transform: translateY(-2px); }

/* Shared section heads */
.pdk-home-section-head,
.pdk-home-projects__head { margin-bottom: 48px; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.pdk-home-section-head h2,
.pdk-home-projects__head h2,
.pdk-home-timeline h2 { max-width: 800px; margin: 20px 0 0; font-size: clamp(3rem,4.8vw,5.4rem); line-height: 1; }

/* Services */
.pdk-home-services { padding: clamp(6rem,9vw,8.5rem) 0; background: var(--pdk-navy); color: var(--pdk-white); }
.pdk-home-services h2 { color: var(--pdk-white); }
.pdk-home-services__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.15); border-left: 1px solid rgba(255,255,255,.15); }
.pdk-home-service { min-width: 0; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.pdk-home-service__link { height: 100%; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.pdk-home-service__media { aspect-ratio: 4/3; overflow: hidden; background: var(--pdk-dark); }
.pdk-home-service__image,
.pdk-home-service__placeholder { width: 100%; height: 100%; }
.pdk-home-service__image { object-fit: cover; filter: saturate(.78) contrast(1.03); transition: transform 850ms var(--pdk-ease),filter var(--pdk-transition-base); }
.pdk-home-service__placeholder { background: var(--pdk-charcoal); }
.pdk-home-service__body { position: relative; min-height: 260px; padding: 32px 30px 38px; flex: 1; }
.pdk-home-service__number { display: block; margin-bottom: 40px; color: var(--pdk-gold-soft); font-size: .72rem; font-weight: 800; letter-spacing: .14em; }
.pdk-home-service h3 { max-width: 320px; margin: 0 0 18px; color: var(--pdk-white); font-size: clamp(2rem,2.8vw,3rem); line-height: 1; }
.pdk-home-service p { max-width: 370px; margin: 0; color: #b8c4d4; font-size: .8rem; line-height: 1.7; }
.pdk-home-service__arrow { position: absolute; right: 28px; bottom: 26px; color: var(--pdk-gold-soft); font-size: 1.15rem; transition: transform var(--pdk-transition-base); }
.pdk-home-service:hover .pdk-home-service__image { transform: scale(1.035); }
.pdk-home-service:hover .pdk-home-service__arrow { transform: translate(4px,-4px); }

/* Iris timeline */
.pdk-home-timeline { position: relative; padding: clamp(6rem,9vw,9rem) 0; background: linear-gradient(180deg,#071524 0%,#09111c 100%); color: var(--pdk-white); overflow: hidden; }
.pdk-home-timeline::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(130,193,224,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(130,193,224,.035) 1px,transparent 1px); background-size: 38px 38px; pointer-events: none; }
.pdk-home-timeline > .pdk-container { position: relative; z-index: 2; }
.pdk-home-timeline__header { margin-bottom: clamp(2.8rem,5vw,4.8rem); display: grid; grid-template-columns: minmax(0,1.4fr) minmax(260px,.45fr); gap: 6vw; align-items: end; }
.pdk-home-timeline__header .pdk-eyebrow { margin-top: 20px; }
.pdk-home-timeline h2 { color: var(--pdk-white); }
.pdk-home-timeline h2 span { display: block; color: var(--pdk-gold-soft); }
.pdk-home-timeline__intro { max-width: 390px; padding-left: 22px; border-left: 1px solid rgba(226,169,40,.4); }
.pdk-home-timeline__intro-label { display: block; margin-bottom: 13px; color: var(--pdk-gold-soft); font-size: .62rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pdk-home-timeline__intro p { margin: 0; color: #aeb9c8; font-size: .84rem; line-height: 1.75; }
.pdk-home-timeline__experience { display: grid; grid-template-columns: minmax(0,7fr) minmax(300px,3fr); gap: clamp(28px,4vw,64px); align-items: stretch; }
.pdk-home-timeline__video-column { min-width: 0; }
.pdk-home-timeline__media { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #02070d; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.pdk-home-timeline__media-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(130,193,224,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(130,193,224,.08) 1px,transparent 1px); background-size: 36px 36px; pointer-events: none; }
.pdk-home-timeline__video { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; background: #02070d; }
.pdk-home-timeline__project-stamp { position: absolute; top: 18px; left: 18px; z-index: 4; padding: 11px 14px; display: flex; flex-direction: column; gap: 3px; background: rgba(7,21,36,.8); border: 1px solid rgba(226,169,40,.34); backdrop-filter: blur(10px); }
.pdk-home-timeline__project-stamp span { color: var(--pdk-gold-soft); font-size: .52rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.pdk-home-timeline__project-stamp strong { color: var(--pdk-white); font-size: .72rem; font-weight: 600; }
.pdk-home-timeline__play { position: absolute; top: 50%; left: 50%; z-index: 5; width: 76px; height: 76px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(7,21,36,.72); color: var(--pdk-white); backdrop-filter: blur(10px); cursor: pointer; transform: translate(-50%,-50%); transition: opacity var(--pdk-transition-base),transform var(--pdk-transition-base),background-color var(--pdk-transition-base); }
.pdk-home-timeline__play:hover { background: var(--pdk-gold); color: var(--pdk-navy); transform: translate(-50%,-50%) scale(1.05); }
.pdk-home-timeline.is-playing .pdk-home-timeline__play { opacity: 0; pointer-events: none; }
.pdk-home-timeline__video-caption { position: absolute; right: 0; bottom: 0; left: 0; z-index: 4; padding: 42px 22px 18px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; background: linear-gradient(to top,rgba(2,7,13,.92),rgba(2,7,13,0)); pointer-events: none; }
.pdk-home-timeline__video-caption > div { display: flex; flex-direction: column; gap: 3px; }
.pdk-home-timeline__video-caption span { color: #9ca9b9; font-size: .52rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.pdk-home-timeline__video-caption strong { color: var(--pdk-white); font-size: .72rem; font-weight: 600; }
.pdk-home-timeline__transport { min-height: 58px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; border-bottom: 1px solid rgba(255,255,255,.13); }
.pdk-home-timeline__transport-button { padding: 0; border: 0; background: transparent; color: var(--pdk-gold-soft); font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; cursor: pointer; }
.pdk-home-timeline__scrub-track { position: relative; height: 2px; background: rgba(255,255,255,.15); overflow: hidden; }
.pdk-home-timeline__scrub-fill { position: absolute; top: 0; left: 0; width: 0; height: 100%; background: linear-gradient(90deg,var(--pdk-gold),var(--pdk-gold-soft)); transition: width 100ms linear; }
.pdk-home-timeline__time { display: flex; gap: 5px; color: #8491a2; font-size: .58rem; font-variant-numeric: tabular-nums; }
.pdk-build-progress { min-width: 0; padding-top: 24px; display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,.16); }
.pdk-build-progress__heading { padding-bottom: 24px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
.pdk-build-progress__heading > div { display: flex; flex-direction: column; gap: 4px; }
.pdk-build-progress__heading span { color: #aeb9c8; font-size: .59rem; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.pdk-build-progress__heading small { color: #667386; font-size: .57rem; }
.pdk-build-progress__heading strong { color: var(--pdk-gold-soft); font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.pdk-build-progress__stages { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: space-between; padding: 28px 0; }
.pdk-build-progress__rail { position: absolute; top: 46px; bottom: 46px; left: 5px; width: 1px; background: rgba(255,255,255,.15); }
.pdk-build-progress__rail-fill { position: absolute; top: 0; left: 0; width: 1px; height: 0; background: var(--pdk-gold); transition: height 150ms linear; }
.pdk-build-stage { position: relative; z-index: 2; width: 100%; min-height: 60px; padding: 0 0 0 28px; display: grid; grid-template-columns: 34px 1fr; gap: 8px; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.pdk-build-stage__dot { position: absolute; top: 5px; left: 0; width: 11px; height: 11px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: #071524; transition: background-color var(--pdk-transition-base),box-shadow var(--pdk-transition-base),transform var(--pdk-transition-base); }
.pdk-build-stage__number { padding-top: 1px; color: #667386; font-size: .59rem; font-weight: 800; letter-spacing: .12em; }
.pdk-build-stage__copy { display: flex; flex-direction: column; gap: 5px; }
.pdk-build-stage__copy strong { color: #8895a6; font-family: var(--pdk-font-heading); font-size: clamp(1rem,1.25vw,1.25rem); font-weight: 700; line-height: 1; transition: color var(--pdk-transition-base),transform var(--pdk-transition-base); }
.pdk-build-stage__copy small { color: #5d6979; font-size: .6rem; }
.pdk-build-stage.is-complete .pdk-build-stage__dot,
.pdk-build-stage.is-active .pdk-build-stage__dot { background: var(--pdk-gold); border-color: var(--pdk-gold); }
.pdk-build-stage.is-active .pdk-build-stage__dot { box-shadow: 0 0 0 6px rgba(226,169,40,.12),0 0 18px rgba(226,169,40,.38); transform: scale(1.08); }
.pdk-build-stage.is-active .pdk-build-stage__number { color: var(--pdk-gold-soft); }
.pdk-build-stage.is-active .pdk-build-stage__copy strong { color: var(--pdk-white); transform: translateX(3px); }
.pdk-build-progress__footer { padding: 20px 0; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); color: #657285; font-size: .54rem; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }

/* Featured projects */
.pdk-home-projects { padding: clamp(6rem,9vw,9rem) 0; background: var(--pdk-light); color: var(--pdk-ink); }
.pdk-home-projects__head h2 span { color: var(--pdk-gold-dark); }
.pdk-home-projects__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.pdk-home-project { position: relative; min-width: 0; border: 1px solid var(--pdk-line); background: var(--pdk-white); transition: transform var(--pdk-transition-base),border-color var(--pdk-transition-base),box-shadow var(--pdk-transition-base); }
.pdk-home-project__link { height: 100%; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.pdk-home-project__media { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--pdk-charcoal); }
.pdk-home-project__media::after { content: ""; position: absolute; inset: 24% 0 0; z-index: 1; background: linear-gradient(to bottom,transparent,rgba(4,15,27,.16) 30%,rgba(4,15,27,.84) 100%); opacity: .4; pointer-events: none; transition: opacity var(--pdk-transition-base); }
.pdk-home-project__image,
.pdk-home-project__placeholder { width: 100%; height: 100%; }
.pdk-home-project__image { object-fit: cover; transition: transform 800ms var(--pdk-ease); }
.pdk-home-project__placeholder { background: var(--pdk-charcoal); }
.pdk-home-project__number { position: absolute; right: 18px; bottom: 12px; z-index: 3; color: var(--pdk-white); font-family: var(--pdk-font-heading); font-size: 2rem; font-weight: 600; text-shadow: 0 4px 22px rgba(0,0,0,.5); }
.pdk-home-project__body { padding: 26px; flex: 1; display: flex; flex-direction: column; }
.pdk-home-project__meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--pdk-gold-dark); font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.pdk-home-project h3 { margin: 18px 0 28px; color: var(--pdk-navy); font-size: clamp(2rem,3.1vw,3.2rem); line-height: 1; }
.pdk-home-project__foot { margin-top: auto; padding-top: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; border-top: 1px solid var(--pdk-line); color: var(--pdk-grey); font-size: .64rem; text-transform: uppercase; letter-spacing: .09em; }
.pdk-home-project__foot span:first-child { display: flex; flex-direction: column; gap: 4px; }
.pdk-home-project__foot strong { color: var(--pdk-navy); font-size: 1rem; font-weight: 700; }
.pdk-home-project__open { color: var(--pdk-gold-dark); font-weight: 800; }
.pdk-home-project:hover { border-color: rgba(189,152,47,.45); transform: translateY(-5px); box-shadow: 0 22px 60px rgba(7,27,59,.12); }
.pdk-home-project:hover .pdk-home-project__media::after { opacity: 1; }
.pdk-home-project:hover .pdk-home-project__image { transform: scale(1.025); }
.pdk-project-quickview { position: absolute; right: 18px; top: 18px; z-index: 6; min-height: 42px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid rgba(255,255,255,.52); background: rgba(5,16,29,.72); color: var(--pdk-white); backdrop-filter: blur(10px); font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; opacity: 0; transform: translateY(-7px); transition: opacity var(--pdk-transition-base),transform var(--pdk-transition-base),background-color var(--pdk-transition-base); }
.pdk-project-quickview::after { content: "↗"; color: var(--pdk-gold-soft); }
.pdk-home-project:hover .pdk-project-quickview,
.pdk-project-quickview:focus-visible { opacity: 1; transform: none; }

/* How PDK Works */
.pdk-method { position: relative; padding: clamp(6rem,9vw,9rem) 0; background-color: #f1eee7; background-image: linear-gradient(rgba(7,21,36,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(7,21,36,.025) 1px,transparent 1px); background-size: 42px 42px; color: var(--pdk-ink); overflow: hidden; }
.pdk-method__heading { margin-bottom: clamp(3rem,6vw,5rem); display: grid; grid-template-columns: minmax(0,1.3fr) minmax(280px,.55fr); gap: 7vw; align-items: end; }
.pdk-method__heading h2 { max-width: 850px; margin: 20px 0 0; color: var(--pdk-navy); font-size: clamp(3rem,5vw,5.5rem); line-height: .98; }
.pdk-method__heading h2 span { display: block; color: var(--pdk-gold-dark); }
.pdk-method__heading > p { max-width: 450px; margin: 0 0 5px; color: #64727c; font-size: .86rem; line-height: 1.75; }
.pdk-method__layout { display: grid; grid-template-columns: minmax(320px,.85fr) minmax(0,1.15fr); gap: 20px; }
.pdk-method__tabs { border: 1px solid #d7dcd9; background: var(--pdk-white); }
.pdk-method-tab { position: relative; width: 100%; min-height: 82px; padding: 0 22px; display: grid; grid-template-columns: 34px 38px 1fr 20px; align-items: center; gap: 14px; border: 0; border-bottom: 1px solid #dfe2e1; background: var(--pdk-white); color: #72808a; text-align: left; cursor: pointer; }
.pdk-method-tab:last-child { border-bottom: 0; }
.pdk-method-tab__number { color: #9da6ac; font-size: .6rem; font-weight: 700; }
.pdk-method-tab__icon { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #bfc7cb; border-radius: 50%; font-size: .52rem; font-weight: 800; }
.pdk-method-tab strong { color: var(--pdk-navy); font-family: var(--pdk-font-heading); font-size: 1rem; font-weight: 600; }
.pdk-method-tab__arrow { font-size: 1.2rem; text-align: right; }
.pdk-method-tab.is-active { background: var(--pdk-navy); color: var(--pdk-gold-soft); }
.pdk-method-tab.is-active::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 7px; background: repeating-linear-gradient(135deg,var(--pdk-gold-soft) 0 3px,#6c4f13 4px 6px); }
.pdk-method-tab.is-active strong { color: var(--pdk-white); }
.pdk-method-tab.is-active .pdk-method-tab__icon { border-color: var(--pdk-gold); background: var(--pdk-gold); color: var(--pdk-navy); }
.pdk-method-panel { position: relative; min-height: 430px; padding: clamp(2.5rem,5vw,5rem); display: flex; align-items: center; background: #eae6de; overflow: hidden; }
.pdk-method-panel__ghost { position: absolute; right: -15px; bottom: -75px; color: rgba(7,21,36,.035); font-family: var(--pdk-font-heading); font-size: clamp(11rem,17vw,18rem); font-weight: 800; line-height: 1; pointer-events: none; }
.pdk-method-panel__content { position: relative; z-index: 2; max-width: 700px; transition: opacity 180ms ease,transform 180ms ease; }
.pdk-method-panel__content.is-changing { opacity: 0; transform: translateY(8px); }
.pdk-method-panel__icon { width: 62px; height: 62px; margin-bottom: 30px; display: grid; place-items: center; background: var(--pdk-gold); color: var(--pdk-navy); font-size: .72rem; font-weight: 800; }
.pdk-method-panel__step { color: var(--pdk-gold-dark); font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.pdk-method-panel h3 { margin: 12px 0 20px; color: var(--pdk-navy); font-size: clamp(2.5rem,4vw,4rem); line-height: 1; }
.pdk-method-panel p { max-width: 680px; margin: 0; color: #64727c; font-size: .86rem; line-height: 1.75; }
.pdk-method-panel__controls { margin-top: 36px; display: flex; gap: 10px; }
.pdk-method-panel__controls button { min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; border: 1px solid #bcc3c6; background: transparent; color: #3d4c56; font-size: .67rem; font-weight: 700; cursor: pointer; }
.pdk-method-panel__controls .pdk-method-panel__next { background: var(--pdk-navy); border-color: var(--pdk-navy); color: var(--pdk-white); }
.pdk-method-panel__controls button:disabled { opacity: .28; cursor: not-allowed; }

/* Final CTA */
.pdk-home-final-cta { position: relative; padding: clamp(6rem,9vw,9rem) 0; background: linear-gradient(120deg,#071b3b,#0b1626); color: var(--pdk-white); overflow: hidden; }
.pdk-home-final-cta::after { content: "PDK"; position: absolute; right: -2vw; bottom: -9vw; color: rgba(255,255,255,.035); font-family: var(--pdk-font-heading); font-size: clamp(14rem,28vw,34rem); font-weight: 800; line-height: .75; pointer-events: none; }
.pdk-home-final-cta__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.5fr); gap: 7vw; align-items: end; }
.pdk-home-final-cta h2 { max-width: 900px; margin: 20px 0 0; color: var(--pdk-white); font-size: clamp(3.2rem,5.5vw,6rem); line-height: .96; }
.pdk-home-final-cta h2 span { display: block; color: var(--pdk-gold-soft); }
.pdk-home-final-cta__action p { max-width: 420px; margin: 0 0 30px; color: #aeb9c8; font-size: .86rem; line-height: 1.75; }

@media (max-width: 1100px) {
	.pdk-trust-strip__name { display: none; }
	.pdk-trust-strip__links a { grid-template-columns: 1fr auto; }
	.pdk-company-feature { grid-template-columns: minmax(0,52%) minmax(0,48%); }
	.pdk-company-feature__inner { padding: 55px 42px; }
}

@media (max-width: 1023px) {
	.pdk-home-timeline__experience { grid-template-columns: minmax(0,1.65fr) minmax(250px,.75fr); gap: 30px; }
	.pdk-method__layout { grid-template-columns: minmax(250px,.75fr) minmax(0,1.25fr); }
}

@media (max-width: 767px) {
	.pdk-home-hero__content { width: calc(100% - 32px); }
	.pdk-home-hero__title { font-size: clamp(3.2rem,15vw,5rem); }
	.pdk-home-hero__actions { align-items: flex-start; flex-direction: column; }
	.pdk-home-hero__rail { align-items: flex-start; flex-direction: column; padding: 14px 0; }

	.pdk-trust-strip__inner { min-height: 66px; width: 100%; display: block; }
	.pdk-trust-strip__label { display: none; }
	.pdk-trust-strip__links { display: flex; overflow-x: auto; border-left: 0; scrollbar-width: none; scroll-snap-type: x proximity; }
	.pdk-trust-strip__links::-webkit-scrollbar { display: none; }
	.pdk-trust-strip__links a { min-width: 140px; min-height: 66px; flex: 0 0 140px; grid-template-columns: 1fr auto; scroll-snap-align: start; }
	.pdk-trust-strip__short { font-size: .64rem; }

	.pdk-company-feature { min-height: 0; grid-template-columns: 1fr; }
	.pdk-company-feature__media { min-height: clamp(420px,68svh,620px); }
	.pdk-company-feature__image-shade { background: linear-gradient(to bottom,rgba(5,20,40,0) 0%,rgba(5,20,40,0) 65%,rgba(5,20,40,.7) 100%); }
	.pdk-company-feature__since { width: 112px; }
	.pdk-company-feature__inner { padding: 56px 20px 64px; }
	.pdk-company-feature h2 { font-size: clamp(2.7rem,12.5vw,4rem); line-height: 1; }
	.pdk-company-feature__quote { padding: 22px 20px; }

	.pdk-home-section-head,
	.pdk-home-projects__head { align-items: flex-start; flex-direction: column; }
	.pdk-home-services__grid { width: calc(100vw - 16px); margin-right: calc(50% - 50vw); grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(84vw,390px); gap: 14px; padding-right: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border: 0; }
	.pdk-home-services__grid::-webkit-scrollbar { display: none; }
	.pdk-home-service { scroll-snap-align: start; border: 1px solid rgba(255,255,255,.15); }
	.pdk-home-service__body { min-height: 210px; padding: 25px 22px 30px; }

	.pdk-home-timeline__header { grid-template-columns: 1fr; gap: 28px; }
	.pdk-home-timeline__experience { grid-template-columns: 1fr; gap: 44px; }
	.pdk-home-timeline__media { aspect-ratio: 16/10; }
	.pdk-home-timeline__video-caption { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
	.pdk-home-timeline__video-caption div:last-child { display: none; }
	.pdk-home-timeline__transport { grid-template-columns: auto 1fr; gap: 15px; }
	.pdk-home-timeline__time { grid-column: 1/-1; padding-bottom: 12px; }
	.pdk-build-progress { min-height: 480px; }
	.pdk-build-progress__stages { min-height: 370px; }

	.pdk-home-projects__grid { grid-template-columns: 1fr; }
	.pdk-home-project:hover { transform: none; box-shadow: none; }
	.pdk-project-quickview { top: 12px; right: 12px; opacity: 1; transform: none; }

	.pdk-method__heading { grid-template-columns: 1fr; gap: 28px; }
	.pdk-method__layout { grid-template-columns: 1fr; gap: 18px; }
	.pdk-method__tabs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.pdk-method__tabs::-webkit-scrollbar { display: none; }
	.pdk-method-tab { min-width: 150px; min-height: 105px; padding: 14px 16px; grid-template-columns: 28px 1fr; grid-template-rows: auto auto; scroll-snap-align: start; border-bottom: 0; border-right: 1px solid #dfe2e1; }
	.pdk-method-tab__number { grid-column: 1; grid-row: 1; }
	.pdk-method-tab__icon { grid-column: 2; grid-row: 1; justify-self: end; }
	.pdk-method-tab strong { grid-column: 1/-1; grid-row: 2; font-size: .9rem; }
	.pdk-method-tab__arrow { display: none; }
	.pdk-method-panel { min-height: 400px; padding: 36px 22px; }


	.pdk-home-final-cta__inner { grid-template-columns: 1fr; gap: 45px; }
}

@media (prefers-reduced-motion: reduce) {
	.pdk-company-feature__image,
	.pdk-company-feature__values span,
	.pdk-home-project,
	.pdk-project-quickview { transition: none; }
}


/* =========================================================
   STAGE 11 — COMPACT HOMEPAGE
   ========================================================= */

body.pdk-page-home .pdk-home-hero {
	min-height: max(610px, 80svh);
}

body.pdk-page-home .pdk-home-hero__content {
	min-height: max(610px, 80svh);
	padding-top: calc(var(--pdk-header-height) + 5vh);
}

body.pdk-page-home .pdk-home-hero__copy {
	padding-bottom: 4vh;
}

body.pdk-page-home .pdk-home-hero__title {
	margin-top: 20px;
	font-size: clamp(3.5rem, 6vw, 6.8rem);
}

body.pdk-page-home .pdk-home-hero__intro {
	max-width: 690px;
	margin-bottom: 28px;
	line-height: 1.6;
}

body.pdk-page-home .pdk-trust-strip__inner,
body.pdk-page-home .pdk-trust-strip__links a {
	min-height: 72px;
}

body.pdk-page-home .pdk-company-feature {
	min-height: clamp(500px, 44vw, 650px);
}

body.pdk-page-home .pdk-company-feature__inner {
	padding-top: clamp(42px, 4.5vw, 70px);
	padding-bottom: clamp(42px, 4.5vw, 70px);
}

body.pdk-page-home .pdk-company-feature h2 {
	margin-bottom: 20px;
	font-size: clamp(2.7rem, 3.7vw, 4.25rem);
}

body.pdk-page-home .pdk-company-feature__intro {
	margin-bottom: 24px;
}

body.pdk-page-home .pdk-home-services,
body.pdk-page-home .pdk-home-timeline,
body.pdk-page-home .pdk-home-projects,
body.pdk-page-home .pdk-method,
body.pdk-page-home .pdk-home-final-cta {
	padding-top: clamp(4.2rem, 6.5vw, 6.3rem);
	padding-bottom: clamp(4.2rem, 6.5vw, 6.3rem);
}

body.pdk-page-home .pdk-home-section-head,
body.pdk-page-home .pdk-home-projects__head {
	margin-bottom: 34px;
}

body.pdk-page-home .pdk-home-service__body {
	min-height: 220px;
	padding-top: 26px;
	padding-bottom: 30px;
}

body.pdk-page-home .pdk-home-service__number {
	margin-bottom: 24px;
}

body.pdk-page-home .pdk-home-timeline__header {
	margin-bottom: clamp(2rem, 3.5vw, 3.2rem);
}

body.pdk-page-home .pdk-home-projects__grid {
	gap: 18px;
}

body.pdk-page-home .pdk-home-project__body {
	padding: 22px;
}

body.pdk-page-home .pdk-home-project h3 {
	margin-top: 14px;
	margin-bottom: 22px;
}

body.pdk-page-home .pdk-method__heading {
	margin-bottom: clamp(2.2rem, 4vw, 3.4rem);
}

body.pdk-page-home .pdk-method-tab {
	min-height: 70px;
}

body.pdk-page-home .pdk-method-panel {
	min-height: 350px;
	padding: clamp(2rem, 4vw, 3.5rem);
}

body.pdk-page-home .pdk-method-panel__icon {
	width: 52px;
	height: 52px;
	margin-bottom: 22px;
}

body.pdk-page-home .pdk-method-panel__controls {
	margin-top: 26px;
}

body.pdk-page-home .pdk-home-final-cta h2 {
	font-size: clamp(2.8rem, 4.8vw, 5rem);
}

@media (max-width: 767px) {
	body.pdk-page-home .pdk-home-hero,
	body.pdk-page-home .pdk-home-hero__content {
		min-height: max(620px, 82svh);
	}

	body.pdk-page-home .pdk-company-feature__media {
		min-height: clamp(330px, 52svh, 470px);
	}

	body.pdk-page-home .pdk-company-feature__inner {
		padding-top: 44px;
		padding-bottom: 48px;
	}

	body.pdk-page-home .pdk-home-services,
	body.pdk-page-home .pdk-home-timeline,
	body.pdk-page-home .pdk-home-projects,
	body.pdk-page-home .pdk-method,
	body.pdk-page-home .pdk-home-final-cta {
		padding-top: 4.25rem;
		padding-bottom: 4.25rem;
	}

	body.pdk-page-home .pdk-method-panel {
		min-height: 340px;
	}
}


/* =========================================================
   STAGE 12 — INSIGHTS (retained in consolidated stylesheet)
   ========================================================= */
.pdk-insights,.pdk-insight-single{background:var(--pdk-cream);color:var(--pdk-ink)}
.pdk-insights-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(7rem,10vw,10rem) 0 clamp(4.5rem,7vw,7rem);background:var(--pdk-navy);color:var(--pdk-white)}
.pdk-insights-hero__media,.pdk-insights-hero__shade{position:absolute;inset:0}.pdk-insights-hero__media{z-index:-2;background:var(--pdk-navy)}.pdk-insights-hero__image{width:100%;height:100%;object-fit:cover}.pdk-insights-hero__shade{z-index:-1;background:linear-gradient(90deg,rgba(7,27,59,.96),rgba(7,27,59,.82) 44%,rgba(7,27,59,.42)),linear-gradient(to top,rgba(7,27,59,.55),transparent 62%)}
.pdk-insights-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:end;gap:clamp(3rem,8vw,8rem)}
.pdk-insights-hero h1{max-width:900px;margin:20px 0 0;color:var(--pdk-white)}.pdk-insights-hero h1 span{display:block;color:var(--pdk-gold-soft)}.pdk-insights-hero__copy{padding-bottom:8px}.pdk-insights-hero__copy p{max-width:520px;margin:0;color:#bdc7d5;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.75}
.pdk-insights-index{padding:var(--pdk-section-y) 0}.pdk-insights-filter{margin-bottom:34px;display:flex;flex-wrap:wrap;gap:8px}.pdk-insights-filter a{min-height:38px;padding:0 14px;display:inline-flex;align-items:center;border:1px solid var(--pdk-line);background:rgba(255,255,255,.55);color:var(--pdk-navy);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.pdk-insights-filter a:hover,.pdk-insights-filter a.is-active{border-color:var(--pdk-gold);background:var(--pdk-gold);color:var(--pdk-navy)}
.pdk-insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pdk-insight-card{min-width:0;border:1px solid var(--pdk-line);background:var(--pdk-card-surface)}.pdk-insight-card--featured{grid-column:1/-1}.pdk-insight-card>a{height:100%;display:grid;color:inherit;text-decoration:none}.pdk-insight-card--featured>a{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}.pdk-insight-card__media{min-height:320px;overflow:hidden;background:#d9dde1}.pdk-insight-card--featured .pdk-insight-card__media{min-height:480px}.pdk-insight-card__image{width:100%;height:100%;object-fit:cover;transition:transform 650ms var(--pdk-ease)}.pdk-insight-card:hover .pdk-insight-card__image{transform:scale(1.025)}.pdk-insight-card__body{min-height:360px;padding:clamp(1.6rem,3vw,2.5rem);display:flex;flex-direction:column}.pdk-insight-card--featured .pdk-insight-card__body{min-height:480px;justify-content:center}.pdk-insight-card__meta{margin-bottom:22px;display:flex;justify-content:space-between;gap:18px;color:var(--pdk-gold-dark);font-size:.56rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.pdk-insight-card h2{max-width:720px;margin:0 0 18px;color:var(--pdk-navy);font-size:clamp(1.75rem,2.8vw,3.4rem);line-height:1.04}.pdk-insight-card:not(.pdk-insight-card--featured) h2{font-size:clamp(1.55rem,2vw,2.25rem)}.pdk-insight-card__body>p{max-width:650px;margin:0 0 28px;color:var(--pdk-grey);line-height:1.7}.pdk-insight-card__footer{margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--pdk-line);color:#7d8997;font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.pdk-insight-card__footer span:last-child{color:var(--pdk-navy)}
.pdk-insights-pagination{margin-top:42px}.pdk-insights-pagination ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.pdk-insights-pagination a,.pdk-insights-pagination span{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--pdk-line);background:var(--pdk-white);color:var(--pdk-navy);font-size:.7rem;font-weight:800;text-decoration:none}.pdk-insights-pagination .current{border-color:var(--pdk-gold);background:var(--pdk-gold)}
.pdk-insights-empty{padding:clamp(3rem,6vw,6rem);border:1px solid var(--pdk-line);background:var(--pdk-card-surface)}.pdk-insights-empty h2{margin:18px 0;color:var(--pdk-navy)}.pdk-insights-empty p{max-width:700px;margin:0;color:var(--pdk-grey);line-height:1.7}
.pdk-insights-cta{padding:var(--pdk-section-y) 0;background:var(--pdk-cream);color:var(--pdk-navy);border-top:1px solid var(--pdk-line)}.pdk-insights-cta__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(3rem,8vw,8rem);align-items:end}.pdk-insights-cta h2{margin:18px 0 0;color:var(--pdk-navy)}.pdk-insights-cta h2 span{display:block;color:var(--pdk-gold-dark)}.pdk-insights-cta__grid>div:last-child p{max-width:520px;margin:0 0 24px;color:var(--pdk-grey);line-height:1.7}
.pdk-insight-single__meta{margin-bottom:20px;display:flex;gap:18px;color:var(--pdk-gold-soft);font-size:.58rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.pdk-insight-single__standfirst{max-width:830px;margin:28px 0 0;color:#bdc7d5;font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.7}.pdk-insight-single__byline{margin-top:32px;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid rgba(255,255,255,.15);color:#8491a2;font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.pdk-insight-single__layout{padding-top:var(--pdk-section-y);padding-bottom:var(--pdk-section-y);display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(3rem,7vw,7rem);align-items:start}.pdk-insight-single__content{max-width:820px}.pdk-insight-single__content p{margin:0 0 1.55em;color:#45586c;font-size:clamp(1rem,1.12vw,1.12rem);line-height:1.85}.pdk-insight-single__content h2{margin:2.25em 0 .7em;color:var(--pdk-navy);font-size:clamp(2rem,3vw,3.2rem);line-height:1.06}.pdk-insight-single__content h3{margin:2em 0 .6em;color:var(--pdk-navy);font-size:clamp(1.45rem,2vw,2rem)}.pdk-insight-single__content ul,.pdk-insight-single__content ol{margin:0 0 1.7em;padding-left:1.35em;color:#45586c;line-height:1.8}.pdk-insight-single__content blockquote{margin:2.5rem 0;padding:1.6rem 0 1.6rem 24px;border-left:3px solid var(--pdk-gold);color:var(--pdk-navy);font-family:var(--pdk-font-heading);font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.5}.pdk-insight-single__aside{position:sticky;top:calc(var(--pdk-header-height) + 28px)}.pdk-insight-single__aside-card{padding:28px;border:1px solid var(--pdk-line);background:var(--pdk-card-surface)}.pdk-insight-single__aside-card>span{color:var(--pdk-gold-dark);font-size:.56rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.pdk-insight-single__aside-card h2{margin:16px 0;color:var(--pdk-navy);font-size:2rem}.pdk-insight-single__aside-card p{margin:0 0 24px;color:var(--pdk-grey);font-size:.85rem;line-height:1.7}.pdk-insight-related{padding:var(--pdk-section-y) 0;background:var(--pdk-white);border-top:1px solid var(--pdk-line)}.pdk-insight-related__heading{margin-bottom:32px}.pdk-insight-related__heading h2{margin:18px 0 0;color:var(--pdk-navy)}.pdk-insight-related__heading h2 span{color:var(--pdk-gold-dark)}.pdk-insight-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pdk-insight-related__card{border:1px solid var(--pdk-line);background:var(--pdk-card-surface)}.pdk-insight-related__card>a{display:block;height:100%;color:inherit;text-decoration:none}.pdk-insight-related__media{aspect-ratio:16/10;overflow:hidden}.pdk-insight-related__image{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--pdk-ease)}.pdk-insight-related__card:hover .pdk-insight-related__image{transform:scale(1.025)}.pdk-insight-related__body{padding:22px}.pdk-insight-related__body>span{color:var(--pdk-gold-dark);font-size:.54rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.pdk-insight-related__body h3{margin:14px 0 24px;color:var(--pdk-navy);font-size:1.35rem;line-height:1.16}.pdk-insight-related__body strong{color:var(--pdk-navy);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}


/* =========================================================
   v0.24.0 — UNIFIED PDK DESIGN SYSTEM
   ========================================================= */
:root{
  --pdk-font-heading: Georgia,"Times New Roman",serif;
  --pdk-font-body: Arial,Helvetica,sans-serif;
  --pdk-type-h1: clamp(3.25rem,5.4vw,6.2rem);
  --pdk-type-h2: clamp(2.65rem,4.25vw,4.65rem);
  --pdk-type-h3: clamp(1.75rem,2.5vw,2.75rem);
  --pdk-home-h1: clamp(3.7rem,6.6vw,7.2rem);
  --pdk-section-y: clamp(4.75rem,7vw,7rem);
  --pdk-section-y-home: clamp(5.75rem,8.5vw,8.5rem);
  --pdk-inner-gap: clamp(1.75rem,3vw,3.25rem);
  --pdk-card-surface:#f8f6f0;
  --pdk-footer-bg:#04152e;
}
body.pdk-site{font-family:var(--pdk-font-body)}
h1,h2,h3,h4,h5,h6{font-family:var(--pdk-font-heading);font-weight:400;letter-spacing:-.04em}
h1{font-size:var(--pdk-type-h1);line-height:.94}h2{font-size:var(--pdk-type-h2);line-height:1.02}h3{font-size:var(--pdk-type-h3);line-height:1.08}
.pdk-home-hero__title{font-family:var(--pdk-font-heading);font-size:var(--pdk-home-h1);font-weight:400;line-height:.91;letter-spacing:-.055em}
/* Internal hero headings share one scale. */
.pdk-about-hero h1,.pdk-services-hero h1,.pdk-projects-hero__copy h1,.pdk-contact-hero h1,.pdk-insights-hero h1,.pdk-single-service-hero h1,.pdk-project-hero__title{font-family:var(--pdk-font-heading);font-size:var(--pdk-type-h1);font-weight:400;line-height:.94;letter-spacing:-.05em}
/* Section rhythm: standard internal sections. */
.pdk-project-story,.pdk-project-cta,.pdk-projects-record,.pdk-projects-cta,.pdk-services-directory,.pdk-services-capability,.pdk-services-proof,.pdk-services-cta,.pdk-services-delivery,.pdk-single-service-overview,.pdk-single-service-types,.pdk-single-service-process,.pdk-single-service-projects,.pdk-single-service-gallery,.pdk-single-service-faq,.pdk-single-service-quote,.pdk-single-service-cta,.pdk-about-story,.pdk-about-capability,.pdk-about-team,.pdk-about-affiliations,.pdk-about-projects,.pdk-about-areas,.pdk-about-cta,.pdk-testimonials,.pdk-contact-main,.pdk-contact-office{padding-top:var(--pdk-section-y);padding-bottom:var(--pdk-section-y)}
/* Homepage is deliberately a touch roomier. */
.pdk-home-services,.pdk-home-timeline,.pdk-home-projects,.pdk-home-method,.pdk-about .pdk-method{padding-top:var(--pdk-section-y-home);padding-bottom:var(--pdk-section-y-home)}
/* Interactive panels: remove excessive internal whitespace. */
.pdk-services-delivery__panel,.pdk-single-service-types__panel,.pdk-about .pdk-method-panel{min-height:360px;padding:clamp(2rem,4vw,4rem)}
.pdk-single-service-process__detail{min-height:250px;padding-top:clamp(2rem,4vw,3.5rem)}
/* Gold/yellow blocks: consistent internal-page scale. */
.pdk-portfolio-note,.pdk-home-portfolio-note,.pdk-gold-section{padding-top:var(--pdk-section-y);padding-bottom:var(--pdk-section-y)}
.pdk-page-home .pdk-portfolio-note,.pdk-page-home .pdk-home-portfolio-note{padding-top:var(--pdk-section-y-home);padding-bottom:var(--pdk-section-y-home)}
/* Light pre-footer CTA break. */
.pdk-project-cta,.pdk-projects-cta,.pdk-services-cta,.pdk-single-service-cta,.pdk-about-cta,.pdk-insights-cta{background:#ece8df;color:var(--pdk-navy);border-top:1px solid var(--pdk-line)}
.pdk-project-cta::after,.pdk-projects-cta::after{color:rgba(7,27,59,.035)}
.pdk-project-cta h2,.pdk-projects-cta h2,.pdk-services-cta h2,.pdk-single-service-cta h2,.pdk-about-cta h2,.pdk-insights-cta h2{color:var(--pdk-navy)}
.pdk-services-cta h2 span,.pdk-single-service-cta h2 span,.pdk-about-cta h2 span,.pdk-insights-cta h2 span{color:var(--pdk-gold-dark)}
.pdk-project-cta__action p,.pdk-services-cta__action>p,.pdk-single-service-cta__action>p,.pdk-about-cta__action>p,.pdk-insights-cta__grid>div:last-child p{color:#65717e}
.pdk-single-service-phone,.pdk-about-phone{color:var(--pdk-navy);border-bottom-color:rgba(7,27,59,.3)}
/* One continuous footer colour including the lower legal strip. */
.pdk-footer,.pdk-footer__bottom{background-color:var(--pdk-footer-bg)}
.pdk-footer__bottom{background:transparent;border-top:1px solid rgba(255,255,255,.15)}
/* Subtle stamped-concrete surface on text/card bodies. */
.pdk-project-record-card,.pdk-service-index-card,.pdk-about-team-card,.pdk-about-team-member,.pdk-about-affiliation,.pdk-insight-card,.pdk-insight-related__card,.pdk-contact-form-wrap,.pdk-insight-single__aside-card,.pdk-home-project{
 background-color:var(--pdk-card-surface);
 background-image:radial-gradient(circle at 15% 25%,rgba(7,27,59,.025) 0 1px,transparent 1.3px),radial-gradient(circle at 72% 68%,rgba(7,27,59,.018) 0 1px,transparent 1.4px),linear-gradient(115deg,rgba(255,255,255,.34),rgba(7,27,59,.012));
 background-size:19px 19px,27px 27px,100% 100%;
}
/* Preserve image-led media without texture. */
.pdk-project-record-card__media,.pdk-service-index-card__media,.pdk-insight-card__media,.pdk-home-project__media,.pdk-about-project__media{background-image:none}
/* About full-width contract retained. */
.pdk-site-shell>main.pdk-about--full-width,main.pdk-about--full-width{box-sizing:border-box;display:block;width:100%;min-width:100%;max-width:none;margin:0;padding:0;float:none;clear:both;flex:0 0 100%;align-self:stretch;grid-column:1/-1;position:relative;transform:none}.pdk-about--full-width>section{width:100%;max-width:none;margin-inline:0}
@media(max-width:767px){
 :root{--pdk-type-h1:clamp(3rem,13vw,4.55rem);--pdk-type-h2:clamp(2.35rem,10vw,3.55rem);--pdk-section-y:4.5rem;--pdk-section-y-home:5rem}
 .pdk-container,.pdk-header__inner{width:calc(100% - 32px)}
 .pdk-home-hero__title{font-size:clamp(3.2rem,14vw,5rem)}
 .pdk-services-delivery__panel,.pdk-single-service-types__panel,.pdk-about .pdk-method-panel{min-height:0;padding:2rem 1.25rem}
 .pdk-insights-hero__grid,.pdk-insights-cta__grid,.pdk-insight-card--featured>a,.pdk-insight-single__layout{grid-template-columns:1fr}
 .pdk-insights-grid,.pdk-insight-related__grid{grid-template-columns:1fr}.pdk-insight-card--featured{grid-column:auto}.pdk-insight-card__media,.pdk-insight-card--featured .pdk-insight-card__media{min-height:300px}.pdk-insight-card__body,.pdk-insight-card--featured .pdk-insight-card__body{min-height:0}.pdk-insight-single__aside{position:static}
}
@media(prefers-reduced-motion:reduce){.pdk-insight-card__image,.pdk-insight-related__image{transition:none}}

/* v0.24.0 — homepage final CTA also uses the light pre-footer break. */
.pdk-home-final-cta {
	padding-top: var(--pdk-section-y-home);
	padding-bottom: var(--pdk-section-y-home);
	background: #ece8df;
	color: var(--pdk-navy);
	border-top: 1px solid var(--pdk-line);
}
.pdk-home-final-cta h2 { color: var(--pdk-navy); }
.pdk-home-final-cta h2 span { color: var(--pdk-gold-dark); }
.pdk-home-final-cta__action p { color: #65717e; }
.pdk-project-cta .pdk-text-link--light,
.pdk-projects-cta .pdk-text-link--light,
.pdk-services-cta .pdk-text-link--light,
.pdk-single-service-cta .pdk-text-link--light,
.pdk-about-cta .pdk-text-link--light,
.pdk-insights-cta .pdk-text-link--light,
.pdk-home-final-cta .pdk-text-link--light {
	color: var(--pdk-navy);
}

/* =========================================================
   v0.25.0 — REUSABLE FEATURE KIT INTEGRATION
   =========================================================

   Integrated into the existing PDK design system rather than loading the
   demonstration stylesheet as a second CSS layer. All selectors use the
   PDK feature prefix and existing colour/type variables.
*/

.pdk-feature-button {
	position: relative;
	min-height: 52px;
	padding: 0 22px;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	border: 1px solid transparent;
	border-radius: 2px;
	font-family: var(--pdk-font-body);
	font-size: .7rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .075em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.pdk-feature-button:hover {
	transform: translateY(-2px);
}

.pdk-feature-button:active {
	transform: translateY(1px);
}

.pdk-feature-button:focus-visible,
.pdk-feature-service-tab:focus-visible,
.pdk-feature-gallery__filters button:focus-visible,
.pdk-feature-project-card:focus-visible,
.pdk-feature-choice:focus-visible,
.pdk-feature-modal__close:focus-visible,
.pdk-feature-back:focus-visible,
.pdk-feature-service-discuss:focus-visible,
.pdk-feature-service-link:focus-visible,
.pdk-feature-project-link:focus-visible {
	outline: 3px solid #54a9ff;
	outline-offset: 3px;
}

.pdk-feature-button--gold {
	background: var(--pdk-gold);
	color: var(--pdk-navy);
	box-shadow: 0 5px 0 #856813, 0 13px 22px rgba(0,0,0,.24);
}

.pdk-feature-button--gold:hover {
	background: var(--pdk-gold-soft);
}

.pdk-feature-button--concrete,
.pdk-feature-button--dark-concrete {
	background-color: #aaa69d;
	background-image:
		radial-gradient(circle at 18% 30%, rgba(255,255,255,.28) 0 .8px, transparent 1.5px),
		radial-gradient(circle at 74% 61%, rgba(18,24,28,.18) 0 .8px, transparent 1.5px),
		linear-gradient(165deg,#c9c5bb,#aaa69d 47%,#8d8981);
	background-size: 19px 19px, 27px 27px, 100% 100%;
	border-color: rgba(255,255,255,.42);
	color: #101820;
	text-shadow: 0 1px rgba(255,255,255,.58);
	box-shadow: inset 0 1px rgba(255,255,255,.55), inset 0 -4px rgba(47,45,42,.36), 0 6px 0 #615f5a, 0 14px 26px rgba(0,0,0,.28);
}

.pdk-feature-button--concrete::before,
.pdk-feature-button--dark-concrete::before {
	content: "";
	position: absolute;
	inset: 5px;
	border: 1px solid rgba(32,35,36,.18);
	pointer-events: none;
}

.pdk-feature-button--dark-concrete {
	background-color: #30383d;
	background-image:
		radial-gradient(circle at 20% 25%, rgba(255,255,255,.12) 0 .8px, transparent 1.5px),
		radial-gradient(circle at 78% 67%, rgba(0,0,0,.33) 0 .9px, transparent 1.6px),
		linear-gradient(160deg,#4e565a,#2e363b 52%,#191f23);
	border-color: #6d7478;
	color: var(--pdk-white);
	text-shadow: 0 -1px rgba(0,0,0,.8);
	box-shadow: inset 0 1px rgba(255,255,255,.16), inset 0 -4px rgba(0,0,0,.42), 0 6px 0 #11171b, 0 14px 26px rgba(0,0,0,.28);
}

.pdk-feature-button--full {
	width: 100%;
}

/* Homepage hero feature group */
.pdk-feature-hero-actions {
	gap: 16px;
}

.pdk-feature-trust {
	margin-top: 28px;
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--pdk-white);
}

.pdk-feature-trust p {
	margin: 2px 0 0;
	color: #d3dae4;
	font-size: .72rem;
	line-height: 1.45;
}

.pdk-feature-trust__icons {
	display: flex;
}

.pdk-feature-trust__icons span {
	width: 32px;
	height: 32px;
	margin-left: -4px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255,255,255,.86);
	border-radius: 50%;
	background: #0b2841;
	color: var(--pdk-white);
	font-size: .6rem;
	font-weight: 800;
}

.pdk-feature-trust__icons span:first-child {
	margin-left: 0;
	background: var(--pdk-gold);
	color: var(--pdk-navy);
}

.pdk-feature-trust__stars {
	color: var(--pdk-gold-soft);
	font-size: .76rem;
	letter-spacing: .12em;
}

.pdk-feature-readiness-card {
	position: absolute;
	top: calc(var(--pdk-header-height) + 13vh);
	right: 0;
	z-index: 3;
	width: min(340px, 27vw);
	padding: 26px;
	background:
		linear-gradient(145deg, rgba(255,255,255,.34), rgba(244,240,230,.18)),
		radial-gradient(circle at 20% 25%, rgba(7,27,59,.07) 0 .8px, transparent 1.4px),
		rgba(244,240,230,.28);
	background-size: auto, 24px 24px, auto;
	border: 1px solid rgba(255,255,255,.52);
	-webkit-backdrop-filter: blur(26px) saturate(125%) brightness(1.04);
	backdrop-filter: blur(26px) saturate(125%) brightness(1.04);
	box-shadow:
		0 24px 70px rgba(2,15,34,.24),
		inset 0 1px 0 rgba(255,255,255,.66),
		inset 0 -1px 0 rgba(7,27,59,.06);
	color: var(--pdk-navy);
}

.pdk-feature-readiness-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	color: var(--pdk-gold-dark);
	font-size: .57rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.pdk-feature-readiness-card h2 {
	margin: 18px 0 12px;
	color: var(--pdk-navy);
	font-size: clamp(1.8rem, 2.25vw, 2.4rem);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -.035em;
}

.pdk-feature-readiness-card p {
	margin: 0 0 22px;
	color: #63717d;
	font-size: .78rem;
	line-height: 1.65;
}

.pdk-feature-readiness-card small {
	display: block;
	margin-top: 15px;
	color: #737f89;
	font-size: .65rem;
	text-align: center;
}

.pdk-feature-readiness-card small span {
	color: #257850;
}

@media (min-width: 1300px) {
	body.pdk-page-home .pdk-home-hero__copy {
		max-width: 760px;
	}
}

/* Shared feature heading */
.pdk-feature-heading {
	margin-bottom: clamp(2.7rem, 4.5vw, 4.2rem);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .7fr);
	gap: clamp(38px, 7vw, 100px);
	align-items: end;
}

.pdk-feature-heading h2 {
	max-width: 830px;
	margin: 18px 0 0;
	color: inherit;
	font-size: clamp(2.9rem, 4.7vw, 5.2rem);
	font-weight: 400;
	line-height: .99;
	letter-spacing: -.045em;
}

.pdk-feature-heading h2 span {
	display: block;
	color: var(--pdk-gold-soft);
}

.pdk-feature-heading > div:last-child > p {
	max-width: 500px;
	margin: 0 0 22px;
	color: #aebbc9;
	font-size: .84rem;
	line-height: 1.75;
}

/* What we build */
.pdk-feature-services {
	background: var(--pdk-navy);
	color: var(--pdk-white);
}

.pdk-feature-service-tabs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid rgba(255,255,255,.16);
	border-left: 1px solid rgba(255,255,255,.16);
}

.pdk-feature-service-tab {
	position: relative;
	min-width: 0;
	min-height: 275px;
	padding: 26px 22px 58px;
	border: 0;
	border-right: 1px solid rgba(255,255,255,.16);
	border-bottom: 1px solid rgba(255,255,255,.16);
	background: rgba(255,255,255,.015);
	color: var(--pdk-white);
	text-align: left;
	cursor: pointer;
	transition: background-color 220ms ease, transform 220ms var(--pdk-ease);
}

.pdk-feature-service-tab:hover {
	background: rgba(255,255,255,.045);
}

.pdk-feature-service-tab[aria-selected="true"] {
	background: rgba(189,152,47,.11);
	box-shadow: inset 0 -4px var(--pdk-gold);
}

.pdk-feature-service-tab__number {
	display: block;
	color: var(--pdk-gold-soft);
	font-size: .6rem;
	font-weight: 800;
	letter-spacing: .12em;
}

.pdk-feature-service-tab__icon {
	width: 46px;
	height: 46px;
	margin: 27px 0 20px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255,255,255,.27);
	color: var(--pdk-gold-soft);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
}

.pdk-feature-service-tab h3 {
	max-width: 250px;
	margin: 0 0 12px;
	color: var(--pdk-white);
	font-size: clamp(1.4rem, 1.8vw, 1.8rem);
	font-weight: 400;
	line-height: 1.08;
}

.pdk-feature-service-tab p {
	margin: 0;
	color: #aebbc9;
	font-size: .72rem;
	line-height: 1.62;
}

.pdk-feature-service-tab__arrow {
	position: absolute;
	right: 18px;
	bottom: 18px;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255,255,255,.24);
	color: var(--pdk-gold-soft);
}

.pdk-feature-service-tab[aria-selected="true"] .pdk-feature-service-tab__arrow {
	background: var(--pdk-gold);
	border-color: var(--pdk-gold);
	color: var(--pdk-navy);
}

.pdk-feature-service-panel {
	padding: clamp(34px, 5vw, 58px);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	gap: clamp(35px, 6vw, 80px);
	background:
		linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
		linear-gradient(90deg,rgba(255,255,255,.02) 1px, transparent 1px),
		#05162c;
	background-size: 34px 34px;
	color: var(--pdk-white);
}

.pdk-feature-service-panel__label {
	color: var(--pdk-gold-soft);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.pdk-feature-service-panel h3 {
	max-width: 720px;
	margin: 14px 0 18px;
	color: var(--pdk-white);
	font-size: clamp(2.5rem, 4vw, 4.1rem);
	font-weight: 400;
	line-height: 1;
}

.pdk-feature-service-panel p {
	max-width: 650px;
	margin: 0;
	color: #b9c5d3;
	font-size: .84rem;
	line-height: 1.78;
}

.pdk-feature-service-panel ul {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	list-style: none;
	align-content: start;
}

.pdk-feature-service-panel li {
	min-height: 64px;
	padding: 14px;
	display: flex;
	align-items: center;
	gap: 9px;
	border: 1px solid rgba(255,255,255,.15);
	color: #d7dfe8;
	font-size: .72rem;
}

.pdk-feature-service-panel li span {
	color: var(--pdk-gold-soft);
}

.pdk-feature-service-panel__actions {
	margin-top: 26px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
}

.pdk-feature-service-discuss,
.pdk-feature-service-link,
.pdk-feature-project-link,
.pdk-feature-email-link {
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	background: transparent;
	color: var(--pdk-white);
	font: inherit;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
}

.pdk-feature-service-link {
	color: #9eacbc;
}

/* Rebar dividers */
.pdk-feature-rebar {
	position: relative;
	height: 52px;
	display: grid;
	place-items: center;
	overflow: hidden;
	border-block: 1px solid rgba(7,27,59,.16);
	background: #d8d5ce;
}

.pdk-feature-rebar::before,
.pdk-feature-rebar::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 48%;
	height: 13px;
	transform: translateY(-50%);
	background:
		repeating-linear-gradient(115deg, transparent 0 6px, rgba(255,255,255,.18) 7px 8px, transparent 9px 13px),
		linear-gradient(#2f373b,#687076 34%,#262e32 36% 64%,#727a7f 66%,#2b3337);
	box-shadow: 0 3px 6px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.28);
	animation: pdk-feature-rebar-glint 8s linear infinite;
}

.pdk-feature-rebar::before { right: 52%; }
.pdk-feature-rebar::after { left: 52%; background-position: 11px 0, 0 0; }

.pdk-feature-rebar span {
	position: relative;
	z-index: 2;
	padding: 9px 16px;
	border: 1px solid rgba(7,27,59,.14);
	background: #d8d5ce;
	color: #5d5d58;
	font-size: .55rem;
	font-weight: 800;
	letter-spacing: .17em;
	text-transform: uppercase;
}

.pdk-feature-rebar--dark {
	border-color: rgba(217,179,73,.22);
	background: var(--pdk-navy);
}

.pdk-feature-rebar--dark span {
	border-color: rgba(217,179,73,.25);
	background: var(--pdk-navy);
	color: var(--pdk-gold-soft);
}

@keyframes pdk-feature-rebar-glint {
	to { background-position: 180px 0, 0 0; }
}

/* Capability gallery */
.pdk-feature-gallery {
	background:
		repeating-radial-gradient(ellipse at 15% 30%, transparent 0 28px, rgba(7,27,59,.025) 29px 30px, transparent 31px 48px),
		radial-gradient(circle at 70% 12%, rgba(255,255,255,.42), transparent 34%),
		linear-gradient(118deg,#e8e5de,#d7d4cc);
	color: var(--pdk-navy);
}

.pdk-feature-heading--gallery h2 {
	color: var(--pdk-navy);
}

.pdk-feature-heading--gallery h2 span {
	color: var(--pdk-gold-dark);
}

.pdk-feature-heading--gallery > div:last-child {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 18px;
}

.pdk-feature-gallery__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 7px;
}

.pdk-feature-gallery__filters button {
	min-height: 38px;
	padding: 0 13px;
	border: 1px solid #bec5c7;
	background: transparent;
	color: #56636d;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	cursor: pointer;
}

.pdk-feature-gallery__filters button[aria-pressed="true"] {
	border-color: var(--pdk-navy);
	background: var(--pdk-navy);
	color: var(--pdk-white);
}

.pdk-feature-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.pdk-feature-project-card {
	position: relative;
	min-width: 0;
	aspect-ratio: 16 / 9;
	padding: 0;
	border: 0;
	background: var(--pdk-dark);
	color: var(--pdk-white);
	text-align: left;
	overflow: hidden;
	cursor: pointer;
}

.pdk-feature-project-card[hidden] {
	display: none !important;
}

.pdk-feature-project-card img,
.pdk-feature-project-card__placeholder {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform 620ms var(--pdk-ease), filter 300ms ease;
}

.pdk-feature-project-card__placeholder {
	background: linear-gradient(135deg,var(--pdk-navy),var(--pdk-charcoal));
}

.pdk-feature-project-card__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(transparent 42%, rgba(3,17,30,.88));
}

.pdk-feature-project-card:hover img {
	transform: scale(1.035);
	filter: saturate(.9);
}

.pdk-feature-project-card__copy {
	position: absolute;
	z-index: 2;
	left: 24px;
	right: 24px;
	bottom: 22px;
}

.pdk-feature-project-card__copy small {
	color: var(--pdk-gold-soft);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.pdk-feature-project-card__copy strong {
	max-width: calc(100% - 60px);
	margin-top: 8px;
	display: block;
	color: var(--pdk-white);
	font-family: var(--pdk-font-heading);
	font-size: clamp(1.5rem, 2.5vw, 2.8rem);
	font-weight: 400;
	line-height: 1.05;
}

.pdk-feature-project-card__copy > span {
	margin-top: 7px;
	display: block;
	color: #c6d0dc;
	font-size: .67rem;
}

.pdk-feature-project-card__copy i {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255,255,255,.48);
	background: linear-gradient(#c9c5bb,#77736b);
	color: var(--pdk-navy);
	font-style: normal;
}

/* Shared modals */
.pdk-feature-modal-backdrop {
	position: fixed;
	inset: 0;
	z-index: 99999;
	padding: 20px;
	display: grid;
	place-items: center;
	background: rgba(2,9,19,.9);
	backdrop-filter: blur(8px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 240ms ease, visibility 240ms ease;
}

.pdk-feature-modal-backdrop.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.pdk-feature-modal,
.pdk-feature-project-modal {
	position: relative;
	width: min(760px, 100%);
	max-height: 94svh;
	overflow: auto;
	background: var(--pdk-white);
	color: var(--pdk-navy);
	box-shadow: 0 30px 80px rgba(0,0,0,.44);
}

.pdk-feature-modal {
	padding: clamp(30px, 5vw, 54px);
}

.pdk-feature-project-modal {
	width: min(1050px, 100%);
}

.pdk-feature-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 6;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border: 1px solid #cdd2d4;
	background: var(--pdk-white);
	color: var(--pdk-navy);
	font-size: 1.7rem;
	line-height: 1;
	cursor: pointer;
}

.pdk-feature-modal__kicker {
	color: var(--pdk-gold-dark);
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.pdk-feature-modal h2,
.pdk-feature-project-modal h2 {
	margin: 22px 0 12px;
	color: var(--pdk-navy);
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: -.04em;
}

.pdk-feature-modal p,
.pdk-feature-project-modal p {
	color: #63717d;
	font-size: .86rem;
	line-height: 1.72;
}

.pdk-feature-progress {
	margin: 18px 54px 28px 0;
	display: flex;
	gap: 7px;
}

.pdk-feature-progress i {
	width: 42px;
	height: 4px;
	background: #d8ddde;
}

.pdk-feature-progress i.is-active {
	background: var(--pdk-gold);
}

.pdk-feature-choice-grid {
	margin-top: 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.pdk-feature-choice {
	min-height: 68px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid #d2d7d8;
	background: var(--pdk-white);
	color: var(--pdk-navy);
	text-align: left;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease;
}

.pdk-feature-choice:hover {
	border-color: var(--pdk-gold);
	background: #fffaf0;
}

.pdk-feature-choice strong {
	flex: 1;
	font-size: .82rem;
	font-weight: 700;
}

.pdk-feature-choice > span:first-child:not(:last-child) {
	color: var(--pdk-gold-dark);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
}

.pdk-feature-back {
	margin-top: 20px;
	padding: 8px 0;
	border: 0;
	background: transparent;
	color: #52616a;
	font-size: .72rem;
	text-decoration: underline;
	cursor: pointer;
}

.pdk-feature-result-icon {
	width: 64px;
	height: 64px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #dff6e9;
	color: #1a7e50;
	font-size: 1.75rem;
}

.pdk-feature-result-summary {
	margin: 24px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: 1px solid #d7dcdd;
	border-left: 1px solid #d7dcdd;
}

.pdk-feature-result-summary span {
	padding: 14px;
	border-right: 1px solid #d7dcdd;
	border-bottom: 1px solid #d7dcdd;
}

.pdk-feature-result-summary small {
	display: block;
	color: #78858d;
	font-size: .55rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pdk-feature-result-summary strong {
	margin-top: 4px;
	display: block;
	font-size: .78rem;
}

.pdk-feature-email-link {
	margin-top: 16px;
	display: inline-block;
	color: var(--pdk-navy);
}

.pdk-feature-project-modal [data-pdk-project-content] {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
}

.pdk-feature-project-modal__media {
	min-height: 560px;
	background: var(--pdk-dark);
}

.pdk-feature-project-modal__media img,
.pdk-feature-project-modal__media .pdk-feature-project-card__placeholder {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.pdk-feature-project-modal__copy {
	padding: clamp(36px, 5vw, 56px);
	align-self: center;
}

.pdk-feature-project-modal__location {
	margin: -3px 0 22px;
	color: var(--pdk-gold-dark) !important;
	font-size: .63rem !important;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.pdk-feature-project-modal__actions {
	margin-top: 28px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.pdk-feature-project-link {
	color: var(--pdk-navy);
}

/* Existing controlled PDK Method: use the feature-kit visual treatment. */
body.pdk-page-home .pdk-method {
	background:
		linear-gradient(rgba(7,27,59,.025) 1px, transparent 1px),
		linear-gradient(90deg,rgba(7,27,59,.025) 1px, transparent 1px),
		#ece8df;
	background-size: 42px 42px;
}

body.pdk-page-home .pdk-method-tab.is-active {
	box-shadow: inset 7px 0 var(--pdk-gold);
}

body.pdk-page-home .pdk-method-tab__icon {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1rem;
}

body.pdk-page-home .pdk-method-panel {
	background: #f5f2eb;
}

body.pdk-page-home .pdk-method-panel__icon {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.2rem;
}

@media (max-width: 1199px) {
	.pdk-feature-readiness-card {
		position: static;
		width: min(100%, 560px);
		margin-top: 28px;
	}

	body.pdk-page-home .pdk-home-hero,
	body.pdk-page-home .pdk-home-hero__content {
		min-height: max(760px, 92svh);
	}
}

@media (max-width: 900px) {
	.pdk-feature-heading,
	.pdk-feature-service-panel {
		grid-template-columns: 1fr;
	}

	.pdk-feature-service-tabs {
		grid-template-columns: 1fr 1fr;
	}

	.pdk-feature-heading--gallery > div:last-child {
		align-items: flex-start;
	}

	.pdk-feature-gallery__filters {
		justify-content: flex-start;
	}

	.pdk-feature-project-modal [data-pdk-project-content] {
		grid-template-columns: 1fr;
	}

	.pdk-feature-project-modal__media {
		min-height: 0;
		height: min(42svh, 360px);
	}
}

@media (max-width: 767px) {
	.pdk-feature-hero-actions {
		width: 100%;
		display: grid;
		gap: 14px;
	}

	.pdk-feature-button {
		width: 100%;
		font-size: .65rem;
	}

	.pdk-feature-trust {
		align-items: flex-start;
	}

	.pdk-feature-readiness-card {
		padding: 22px 18px;
	}

	body.pdk-page-home .pdk-home-hero,
	body.pdk-page-home .pdk-home-hero__content {
		min-height: auto;
	}

	body.pdk-page-home .pdk-home-hero__content {
		padding-top: calc(var(--pdk-header-height) + 38px);
	}

	body.pdk-page-home .pdk-home-hero__copy {
		padding-bottom: 36px;
	}

	.pdk-feature-service-tabs {
		width: calc(100vw - 16px);
		margin-right: calc(50% - 50vw);
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		border: 0;
	}

	.pdk-feature-service-tabs::-webkit-scrollbar {
		display: none;
	}

	.pdk-feature-service-tab {
		min-width: min(82vw, 310px);
		min-height: 245px;
		scroll-snap-align: start;
		border: 1px solid rgba(255,255,255,.16);
	}

	.pdk-feature-service-panel {
		padding: 28px 18px;
	}

	.pdk-feature-service-panel ul {
		grid-template-columns: 1fr;
	}

	.pdk-feature-gallery__grid {
		grid-template-columns: 1fr;
	}

	.pdk-feature-project-card {
		aspect-ratio: 4 / 3;
	}

	.pdk-feature-gallery__filters {
		width: calc(100vw - 32px);
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 4px;
		scrollbar-width: none;
	}

	.pdk-feature-gallery__filters::-webkit-scrollbar {
		display: none;
	}

	.pdk-feature-gallery__filters button {
		flex: 0 0 auto;
	}

	.pdk-feature-modal-backdrop {
		padding: 8px;
	}

	.pdk-feature-modal {
		padding: 36px 18px 28px;
	}

	.pdk-feature-choice-grid,
	.pdk-feature-result-summary {
		grid-template-columns: 1fr;
	}

	.pdk-feature-project-modal__copy {
		padding: 30px 18px;
	}

	.pdk-feature-rebar span {
		max-width: 68%;
		font-size: .48rem;
		text-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pdk-feature-button,
	.pdk-feature-service-tab,
	.pdk-feature-project-card img,
	.pdk-feature-modal-backdrop,
	.pdk-feature-rebar::before,
	.pdk-feature-rebar::after {
		animation: none !important;
		transition: none !important;
	}
}


/* =========================================================
   v0.26.0 — MAIN PAGE CONSISTENCY + VISUAL QA
   =========================================================
   Changelog:
   - Makes the homepage readiness card visibly frosted rather than opaque.
   - Reduces both feature-kit and legacy PDK button sizing.
   - Restores the dark testimonial quote panel so white copy remains readable.
   - Matches About Project Evidence cards to the homepage project-card language.
   - Applies shared hero actions/trust proof and rebar rhythm to main pages.
*/

/* Compact buttons throughout the PDK frontend. */
.pdk-feature-button {
	min-height: 44px;
	padding: 0 16px;
	gap: 18px;
	font-size: .61rem;
	letter-spacing: .07em;
}

.pdk-button {
	min-height: 44px;
	padding: 11px 16px;
	gap: 18px;
	font-size: .64rem;
}

/* Real hero glass: transparent enough for the photograph to read through it. */
.pdk-feature-readiness-card {
	background: rgba(7, 27, 59, .24);
	background-image:
		linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.045)),
		radial-gradient(circle at 18% 28%, rgba(255,255,255,.13) 0 .7px, transparent 1.35px),
		radial-gradient(circle at 73% 66%, rgba(0,0,0,.14) 0 .8px, transparent 1.45px);
	background-size: auto, 21px 21px, 29px 29px;
	border: 1px solid rgba(255,255,255,.34);
	-webkit-backdrop-filter: blur(24px) saturate(132%);
	backdrop-filter: blur(24px) saturate(132%);
	box-shadow:
		0 24px 70px rgba(2,15,34,.28),
		inset 0 1px rgba(255,255,255,.28);
	color: var(--pdk-white);
}

.pdk-feature-readiness-card__top,
.pdk-feature-readiness-card h2,
.pdk-feature-readiness-card p,
.pdk-feature-readiness-card small {
	color: var(--pdk-white);
}

.pdk-feature-readiness-card__top {
	color: var(--pdk-gold-soft);
}

.pdk-feature-readiness-card p,
.pdk-feature-readiness-card small {
	color: rgba(255,255,255,.78);
}

.pdk-feature-readiness-card small span {
	color: #8ed8b6;
}

/* Internal-page hero component placement. */
.pdk-feature-hero-actions--internal {
	margin-top: 28px;
	display: flex;
	flex-wrap: wrap;
}

.pdk-feature-trust--internal {
	margin-top: 20px;
}

.pdk-services-hero__copy .pdk-feature-trust p,
.pdk-projects-hero__copy .pdk-feature-trust p,
.pdk-about-hero__content .pdk-feature-trust p,
.pdk-contact-hero__copy .pdk-feature-trust p,
.pdk-insights-hero .pdk-feature-trust p {
	color: rgba(255,255,255,.78);
}

/* Reusable rebar divider on main pages. */
.pdk-feature-rebar {
	height: 50px;
	position: relative;
	overflow: hidden;
	display: grid;
	place-items: center;
	background: #d8d4ca;
	border-block: 1px solid rgba(7,27,59,.15);
}

.pdk-feature-rebar::before,
.pdk-feature-rebar::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 49%;
	height: 12px;
	transform: translateY(-50%);
	background:
		repeating-linear-gradient(115deg, transparent 0 6px, rgba(255,255,255,.18) 7px 8px, transparent 9px 13px),
		linear-gradient(#2f373b,#687076 34%,#262e32 36% 64%,#727a7f 66%,#2b3337);
	box-shadow: 0 3px 6px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.24);
	animation: pdk-rebar-glint 8s linear infinite;
}

.pdk-feature-rebar::before { right: 51%; }
.pdk-feature-rebar::after { left: 51%; background-position: 11px 0, 0 0; }

.pdk-feature-rebar > span {
	position: relative;
	z-index: 2;
	padding: 8px 16px;
	background: #d8d4ca;
	border: 1px solid rgba(7,27,59,.13);
	color: #68655e;
	font-size: .5rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.pdk-feature-rebar--dark {
	background: var(--pdk-navy);
	border-color: rgba(217,179,73,.2);
}

.pdk-feature-rebar--dark > span {
	background: var(--pdk-navy);
	border-color: rgba(217,179,73,.24);
	color: var(--pdk-gold-soft);
}

@keyframes pdk-rebar-glint {
	to { background-position: 180px 0, 0 0; }
}

/* Testimonial visibility regression: quote panel must remain dark. */
.pdk-testimonials__quote {
	background: transparent;
	background-image: none;
	color: var(--pdk-white);
}

.pdk-testimonials blockquote,
.pdk-testimonials blockquote p,
.pdk-testimonials blockquote footer,
.pdk-testimonials blockquote footer span,
.pdk-testimonials__source-link {
	color: var(--pdk-white);
}

.pdk-testimonials blockquote footer strong,
.pdk-testimonials__quote-meta > span:first-child,
.pdk-testimonials__stars {
	color: var(--pdk-gold-soft);
}

/* About Project Evidence now uses the homepage card markup. */
.pdk-about-projects {
	background: var(--pdk-light);
	color: var(--pdk-ink);
}

.pdk-about-projects .pdk-about-section-heading--light h2 {
	color: var(--pdk-navy);
}

.pdk-about-projects .pdk-about-section-heading--light h2 span {
	color: var(--pdk-gold-dark);
}

.pdk-about-projects .pdk-about-text-link--light {
	color: var(--pdk-navy);
}

.pdk-about-projects__grid {
	border: 0;
}

.pdk-about-project {
	border: 1px solid var(--pdk-line);
	background: var(--pdk-white);
}

.pdk-about-project h3 {
	color: var(--pdk-navy);
	font-weight: 400;
}

@media (max-width: 767px) {
	.pdk-feature-button,
	.pdk-button {
		min-height: 42px;
		padding-inline: 14px;
		font-size: .59rem;
	}

	.pdk-feature-hero-actions--internal {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.pdk-feature-hero-actions--internal .pdk-feature-button {
		width: 100%;
	}

	.pdk-feature-trust--internal {
		margin-top: 16px;
	}

	.pdk-feature-rebar > span {
		max-width: 68%;
		text-align: center;
		font-size: .46rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pdk-feature-rebar::before,
	.pdk-feature-rebar::after {
		animation: none;
	}
}
