:root {
	--pngrc-olive: #959f08;
	--pngrc-olive-dark: #747c00;
	--pngrc-cyan: #22b0cf;
	--pngrc-teal: #0f5467;
	--pngrc-navy: #12242c;
	--pngrc-black: #020202;
	--pngrc-white: #ffffff;
	--pngrc-surface: #f4f8f9;
	--pngrc-border: #d8e3e6;
	--pngrc-muted: #53666d;
	--pngrc-shadow: 0 18px 50px rgba(15, 84, 103, 0.13);
	--pngrc-radius-sm: 8px;
	--pngrc-radius-md: 14px;
	--pngrc-radius-lg: 22px;
	--pngrc-shell: 1240px;
	--pngrc-header-height: 92px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--pngrc-white);
	color: var(--pngrc-navy);
	font-family: "Inter", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.68;
	-webkit-font-smoothing: antialiased;
}

body.menu-is-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--pngrc-teal);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

button,
input,
select,
textarea {
	font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	color: var(--pngrc-navy);
	font-family: "Manrope", Arial, sans-serif;
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.12;
}

p {
	margin-top: 0;
}

::selection {
	background: var(--pngrc-cyan);
	color: var(--pngrc-white);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	top: 12px;
	left: 12px;
	z-index: 99999;
	width: auto;
	height: auto;
	padding: 12px 18px;
	clip: auto;
	background: var(--pngrc-white);
	color: var(--pngrc-navy);
	box-shadow: var(--pngrc-shadow);
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	height: var(--pngrc-header-height);
	background: rgba(255, 255, 255, 0.98);
	border-bottom: 1px solid rgba(15, 84, 103, 0.08);
	transition: height 220ms ease, box-shadow 220ms ease;
}

.site-header.is-scrolled {
	height: 78px;
	box-shadow: 0 10px 35px rgba(15, 84, 103, 0.1);
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: 28px;
	width: min(calc(100% - 40px), var(--pngrc-shell));
	height: 100%;
	margin: 0 auto;
}

.site-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-width: 290px;
	color: var(--pngrc-navy);
	text-decoration: none;
}

.site-brand__mark {
	width: 64px;
	height: 64px;
	object-fit: contain;
	border-radius: 50%;
	transition: width 220ms ease, height 220ms ease;
}

.site-header.is-scrolled .site-brand__mark {
	width: 54px;
	height: 54px;
}

.site-brand__copy {
	display: flex;
	flex-direction: column;
	line-height: 1.12;
}

.site-brand__copy strong {
	font-family: "Manrope", Arial, sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.site-brand__copy small {
	margin-top: 5px;
	color: var(--pngrc-teal);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
}

.primary-navigation {
	margin-left: auto;
}

.primary-navigation .menu,
.footer-navigation .menu {
	display: flex;
	align-items: center;
	gap: 30px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.primary-navigation a {
	position: relative;
	color: var(--pngrc-navy);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.primary-navigation a::after {
	position: absolute;
	right: 0;
	bottom: -9px;
	left: 0;
	height: 2px;
	content: "";
	background: var(--pngrc-cyan);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 180ms ease;
}

.primary-navigation a:hover::after,
.primary-navigation .current-menu-item > a::after {
	transform: scaleX(1);
}

.header-quote,
.pngrc-button a.elementor-button,
.pngrc-button-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 13px 24px;
	border: 2px solid var(--pngrc-olive);
	border-radius: var(--pngrc-radius-sm);
	background: var(--pngrc-olive);
	color: var(--pngrc-white);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.header-quote:hover,
.pngrc-button a.elementor-button:hover,
.pngrc-button-link:hover {
	border-color: var(--pngrc-olive-dark);
	background: var(--pngrc-olive-dark);
	color: var(--pngrc-white);
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(149, 159, 8, 0.23);
}

.menu-toggle {
	display: none;
	width: 46px;
	height: 46px;
	padding: 10px;
	border: 0;
	border-radius: var(--pngrc-radius-sm);
	background: transparent;
	cursor: pointer;
}

.menu-toggle span {
	display: block;
	width: 25px;
	height: 2px;
	margin: 5px auto;
	background: var(--pngrc-navy);
	transition: transform 180ms ease, opacity 180ms ease;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}

.menu-toggle[aria-expanded="true"] span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.site-main {
	overflow: clip;
}

.elementor {
	color: var(--pngrc-navy);
}

.elementor-section-wrap,
.elementor-location-single {
	width: 100%;
}

.pngrc-section,
.pngrc-hero,
.pngrc-page-hero,
.pngrc-cta,
.pngrc-project-band {
	padding: 110px max(24px, calc((100vw - var(--pngrc-shell)) / 2));
}

.pngrc-section--compact {
	padding-top: 74px;
	padding-bottom: 74px;
}

.pngrc-section--surface {
	background: var(--pngrc-surface);
}

.pngrc-section--navy {
	background: var(--pngrc-navy);
	color: var(--pngrc-white);
}

.pngrc-section--navy h2,
.pngrc-section--navy h3,
.pngrc-section--navy p,
.pngrc-section--navy .elementor-icon {
	color: var(--pngrc-white);
}

.pngrc-section-heading {
	width: min(720px, 100%);
	margin-right: auto;
	margin-bottom: 52px;
	margin-left: auto;
	text-align: center;
}

.pngrc-section-heading .elementor-heading-title,
.pngrc-section-heading h2 {
	margin: 0;
	color: var(--pngrc-navy) !important;
	font-size: clamp(34px, 4.2vw, 54px);
}

.pngrc-section-heading .elementor-widget-text-editor {
	margin-top: 16px;
	color: var(--pngrc-muted);
	font-size: 17px;
}

.pngrc-section--navy .pngrc-section-heading .elementor-widget-text-editor {
	color: rgba(255, 255, 255, 0.74);
}

.pngrc-accent {
	color: var(--pngrc-cyan);
}

.pngrc-hero {
	display: grid !important;
	grid-template-columns: minmax(0, 0.86fr) minmax(480px, 1.14fr);
	align-items: center;
	gap: 64px;
	min-height: calc(100vh - var(--pngrc-header-height));
	padding-top: 74px;
	padding-bottom: 92px;
	background: var(--pngrc-white);
}

.pngrc-hero__copy {
	max-width: 620px;
}

.pngrc-hero__copy .elementor-heading-title {
	margin-bottom: 26px;
	color: var(--pngrc-navy) !important;
	font-size: clamp(48px, 5.45vw, 78px);
	line-height: 1.03;
}

.pngrc-accent {
	color: var(--pngrc-cyan) !important;
}

.pngrc-hero__copy .elementor-widget-text-editor {
	max-width: 560px;
	color: var(--pngrc-muted);
	font-size: clamp(17px, 1.35vw, 21px);
	line-height: 1.58;
}

.pngrc-hero__copy::after {
	display: block;
	width: 92px;
	height: 4px;
	margin-top: 24px;
	content: "";
	background: var(--pngrc-cyan);
}

.pngrc-actions {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 32px;
}

.pngrc-actions > .elementor-element {
	width: auto !important;
}

.pngrc-button--cyan a.elementor-button {
	border-color: var(--pngrc-cyan);
	background: var(--pngrc-cyan);
}

.pngrc-button--cyan a.elementor-button:hover {
	border-color: var(--pngrc-teal);
	background: var(--pngrc-teal);
	box-shadow: 0 12px 24px rgba(34, 176, 207, 0.22);
}

.pngrc-button--outline a.elementor-button {
	border-color: var(--pngrc-olive);
	background: transparent;
	color: var(--pngrc-olive-dark);
}

.pngrc-button--outline a.elementor-button:hover {
	background: var(--pngrc-olive);
	color: var(--pngrc-white);
}

.pngrc-hero__media {
	position: relative;
	min-height: 540px;
}

.pngrc-hero__media::before,
.pngrc-project-media::before {
	position: absolute;
	inset: 18px -18px -18px 18px;
	z-index: 0;
	content: "";
	background: linear-gradient(135deg, var(--pngrc-teal), var(--pngrc-cyan));
	clip-path: polygon(18% 0, 100% 0, 100% 100%, 8% 100%, 0 62%);
	opacity: 0.95;
}

.pngrc-hero__media .elementor-widget-image,
.pngrc-hero__media .elementor-widget-image .elementor-widget-container {
	height: 100%;
}

.pngrc-hero__media img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 540px;
	object-fit: cover;
	clip-path: polygon(18% 0, 100% 0, 100% 100%, 8% 100%, 0 62%);
	box-shadow: var(--pngrc-shadow);
}

.pngrc-service-grid,
.pngrc-design-grid,
.pngrc-value-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}

.pngrc-design-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pngrc-value-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pngrc-card {
	position: relative;
	height: 100%;
	padding: 34px 28px;
	overflow: hidden;
	border: 1px solid var(--pngrc-border);
	border-radius: var(--pngrc-radius-md);
	background: var(--pngrc-white);
	box-shadow: 0 12px 34px rgba(15, 84, 103, 0.06);
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.pngrc-card::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 4px;
	content: "";
	background: linear-gradient(90deg, var(--pngrc-cyan), var(--pngrc-olive));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 220ms ease;
}

.pngrc-card:hover {
	border-color: rgba(34, 176, 207, 0.55);
	transform: translateY(-8px);
	box-shadow: var(--pngrc-shadow);
}

.pngrc-card:hover::after {
	transform: scaleX(1);
}

.pngrc-card .elementor-icon,
.pngrc-card .elementor-icon-box-icon {
	color: var(--pngrc-cyan);
	font-size: 46px;
}

.pngrc-card .elementor-icon-box-title,
.pngrc-card .elementor-heading-title {
	margin-top: 18px;
	margin-bottom: 12px;
	color: var(--pngrc-navy) !important;
	font-size: 21px;
}

.pngrc-card .elementor-icon-box-description,
.pngrc-card .elementor-widget-text-editor {
	color: var(--pngrc-muted);
	font-size: 15px;
	line-height: 1.65;
}

.pngrc-proof-band {
	display: grid !important;
	grid-template-columns: 0.82fr 1.18fr;
	align-items: center;
	gap: 0;
	padding: 0 !important;
	background: var(--pngrc-navy);
	color: var(--pngrc-white);
}

.pngrc-proof-band__copy {
	padding: 64px max(42px, calc((100vw - var(--pngrc-shell)) / 2));
	padding-right: 60px;
}

.pngrc-proof-band__copy .elementor-heading-title {
	color: var(--pngrc-white) !important;
	font-size: clamp(32px, 4vw, 56px);
}

.pngrc-proof-band__copy .elementor-widget-text-editor {
	max-width: 540px;
	color: rgba(255, 255, 255, 0.74);
	font-size: 17px;
}

.pngrc-proof-band__media img {
	width: 100%;
	height: 420px;
	object-fit: cover;
	clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}

.pngrc-design-card {
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--pngrc-border);
	border-radius: var(--pngrc-radius-md);
	background: var(--pngrc-white);
	box-shadow: 0 12px 34px rgba(15, 84, 103, 0.07);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.pngrc-design-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--pngrc-shadow);
}

.pngrc-design-card .elementor-widget-image img {
	width: 100%;
	height: 285px;
	object-fit: cover;
	transition: transform 500ms ease;
}

.pngrc-design-card:hover .elementor-widget-image img {
	transform: scale(1.045);
}

.pngrc-design-card__body {
	padding: 28px;
}

.pngrc-design-card__body .elementor-heading-title {
	color: var(--pngrc-navy) !important;
	font-size: 24px;
}

.pngrc-design-card__body .elementor-widget-text-editor {
	color: var(--pngrc-muted);
}

.pngrc-design-card__body .elementor-widget-button {
	margin-top: 8px;
}

.pngrc-text-link a.elementor-button {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--pngrc-olive-dark);
	box-shadow: none;
}

.pngrc-text-link a.elementor-button:hover {
	background: transparent;
	color: var(--pngrc-teal);
	box-shadow: none;
	transform: translateX(4px);
}

.pngrc-project-band {
	background: var(--pngrc-navy);
	color: var(--pngrc-white);
}

.pngrc-project-band .pngrc-section-heading h2,
.pngrc-project-band .pngrc-section-heading .elementor-heading-title {
	color: var(--pngrc-white) !important;
}

.pngrc-project-feature {
	display: grid !important;
	grid-template-columns: 1.25fr 0.75fr;
	align-items: center;
	gap: 64px;
	margin-bottom: 70px;
}

.pngrc-project-feature--reverse {
	grid-template-columns: 0.75fr 1.25fr;
}

.pngrc-project-feature--reverse .pngrc-project-media {
	order: 2;
}

.pngrc-project-media {
	position: relative;
}

.pngrc-project-media img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 430px;
	object-fit: cover;
	clip-path: polygon(0 0, 92% 0, 100% 50%, 92% 100%, 0 100%);
}

.pngrc-project-feature--reverse .pngrc-project-media img,
.pngrc-project-feature--reverse .pngrc-project-media::before {
	clip-path: polygon(8% 0, 100% 0, 100% 100%, 8% 100%, 0 50%);
}

.pngrc-project-copy .elementor-heading-title {
	color: var(--pngrc-cyan) !important;
	font-size: clamp(30px, 3.1vw, 46px);
}

.pngrc-project-copy .elementor-widget-text-editor {
	color: rgba(255, 255, 255, 0.76);
	font-size: 17px;
}

.pngrc-project-copy .pngrc-button a.elementor-button {
	margin-top: 12px;
}

.pngrc-about-split {
	display: grid !important;
	grid-template-columns: 0.9fr 1.1fr;
	align-items: center;
	gap: 72px;
}

.pngrc-about-split__copy .elementor-heading-title {
	color: var(--pngrc-navy) !important;
	font-size: clamp(38px, 4.6vw, 62px);
}

.pngrc-about-split__copy .elementor-widget-text-editor {
	color: var(--pngrc-muted);
	font-size: 17px;
}

.pngrc-about-split__media img {
	width: 100%;
	height: 540px;
	object-fit: cover;
	border-radius: var(--pngrc-radius-lg);
	box-shadow: var(--pngrc-shadow);
}

.pngrc-value {
	padding: 30px 24px;
	text-align: center;
}

.pngrc-value .elementor-icon {
	color: var(--pngrc-cyan);
	font-size: 44px;
}

.pngrc-value .elementor-heading-title {
	margin-top: 15px;
	margin-bottom: 8px;
	color: var(--pngrc-navy) !important;
	font-size: 19px;
}

.pngrc-value .elementor-widget-text-editor {
	color: var(--pngrc-muted);
	font-size: 14px;
}

.pngrc-cta {
	display: grid !important;
	grid-template-columns: 0.72fr 1.28fr;
	gap: 0;
	padding-top: 0;
	padding-bottom: 0;
	background: var(--pngrc-white);
}

.pngrc-cta__copy {
	position: relative;
	padding: 70px;
	background: var(--pngrc-olive);
	color: var(--pngrc-white);
}

.pngrc-cta__copy::after {
	position: absolute;
	top: 50%;
	right: -38px;
	width: 76px;
	height: 76px;
	content: "";
	background: var(--pngrc-olive);
	transform: translateY(-50%) rotate(45deg);
}

.pngrc-cta__copy .elementor-heading-title,
.pngrc-cta__copy .elementor-widget-text-editor {
	position: relative;
	z-index: 1;
	color: var(--pngrc-white) !important;
}

.pngrc-cta__copy .elementor-heading-title {
	font-size: clamp(38px, 4.8vw, 62px);
}

.pngrc-cta__copy .elementor-widget-text-editor {
	max-width: 420px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 17px;
}

.pngrc-cta__form {
	padding: 70px 64px 70px 90px;
}

.pngrc-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.pngrc-form__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pngrc-form__field--full,
.pngrc-form__status,
.pngrc-form__actions {
	grid-column: 1 / -1;
}

.pngrc-form label {
	color: var(--pngrc-navy);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 13px;
	font-weight: 800;
}

.pngrc-form input,
.pngrc-form select,
.pngrc-form textarea {
	width: 100%;
	border: 1px solid var(--pngrc-border);
	border-radius: var(--pngrc-radius-sm);
	background: var(--pngrc-white);
	color: var(--pngrc-navy);
	outline: none;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.pngrc-form input,
.pngrc-form select {
	height: 52px;
	padding: 0 15px;
}

.pngrc-form textarea {
	min-height: 150px;
	padding: 14px 15px;
	resize: vertical;
}

.pngrc-form input:focus,
.pngrc-form select:focus,
.pngrc-form textarea:focus {
	border-color: var(--pngrc-cyan);
	box-shadow: 0 0 0 4px rgba(34, 176, 207, 0.13);
}

.pngrc-form button {
	width: 100%;
	min-height: 54px;
	padding: 13px 24px;
	border: 0;
	border-radius: var(--pngrc-radius-sm);
	background: var(--pngrc-olive);
	color: var(--pngrc-white);
	font-family: "Manrope", Arial, sans-serif;
	font-weight: 800;
	cursor: pointer;
	transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.pngrc-form button:hover {
	background: var(--pngrc-olive-dark);
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(149, 159, 8, 0.23);
}

.pngrc-form__status {
	padding: 13px 15px;
	border-radius: var(--pngrc-radius-sm);
	background: var(--pngrc-surface);
	color: var(--pngrc-teal);
	font-size: 14px;
}

.pngrc-page-hero {
	display: grid !important;
	grid-template-columns: 0.82fr 1.18fr;
	align-items: center;
	gap: 64px;
	min-height: 540px;
	background: var(--pngrc-surface);
}

.pngrc-page-hero h1,
.pngrc-page-hero .elementor-heading-title {
	font-size: clamp(48px, 5.6vw, 76px);
}

.pngrc-page-hero .elementor-widget-text-editor {
	max-width: 620px;
	color: var(--pngrc-muted);
	font-size: 19px;
}

.pngrc-page-hero__media img {
	width: 100%;
	height: 430px;
	object-fit: cover;
	border-radius: var(--pngrc-radius-lg);
	box-shadow: var(--pngrc-shadow);
}

.pngrc-content-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}

.pngrc-content-card {
	padding: 38px;
	border: 1px solid var(--pngrc-border);
	border-radius: var(--pngrc-radius-md);
	background: var(--pngrc-white);
}

.pngrc-content-card .elementor-heading-title {
	font-size: 28px;
}

.pngrc-content-card .elementor-widget-text-editor {
	color: var(--pngrc-muted);
}

.pngrc-rich-text {
	width: min(860px, 100%);
	margin: 0 auto;
}

.pngrc-rich-text h2 {
	margin-top: 44px;
	font-size: 34px;
}

.pngrc-rich-text h3 {
	margin-top: 32px;
	font-size: 24px;
}

.pngrc-rich-text p,
.pngrc-rich-text li {
	color: var(--pngrc-muted);
}

.pngrc-rich-text li + li {
	margin-top: 8px;
}

.pngrc-archive,
.pngrc-error-page {
	min-height: 65vh;
	padding: 110px 24px;
}

.pngrc-shell {
	width: min(100%, var(--pngrc-shell));
	margin: 0 auto;
}

.pngrc-error-page .pngrc-shell {
	max-width: 720px;
	text-align: center;
}

.pngrc-section-label {
	color: var(--pngrc-cyan);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.site-footer {
	padding: 58px 24px 34px;
	background: var(--pngrc-navy);
	color: rgba(255, 255, 255, 0.72);
}

.site-footer__inner {
	display: grid;
	grid-template-columns: 1.1fr 1fr 1fr;
	align-items: center;
	gap: 48px;
	width: min(100%, var(--pngrc-shell));
	margin: 0 auto;
}

.site-footer__brand {
	display: flex;
	align-items: center;
	gap: 16px;
}

.site-footer__brand img {
	width: 76px;
	height: 76px;
	object-fit: contain;
	border-radius: 50%;
}

.site-footer__brand p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
}

.site-footer__brand strong {
	color: var(--pngrc-white);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 14px;
}

.footer-navigation .menu {
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 22px;
}

.footer-navigation a {
	color: rgba(255, 255, 255, 0.82);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.footer-navigation a:hover {
	color: var(--pngrc-cyan);
}

.site-footer__meta {
	padding-left: 36px;
	border-left: 1px solid rgba(255, 255, 255, 0.16);
	font-size: 12px;
}

.site-footer__meta p {
	margin-bottom: 8px;
}

.site-footer__meta a {
	color: var(--pngrc-cyan);
	font-weight: 700;
	text-decoration: none;
}

.pngrc-reveal,
.pngrc-stagger > .elementor-element {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 620ms ease var(--reveal-delay, 0ms), transform 620ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
}

.pngrc-reveal.is-visible,
.pngrc-stagger > .elementor-element.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 1180px) {
	.site-brand {
		min-width: 230px;
	}

	.site-brand__copy strong {
		font-size: 13px;
	}

	.primary-navigation .menu {
		gap: 19px;
	}

	.header-quote {
		padding-right: 17px;
		padding-left: 17px;
	}

	.pngrc-hero {
		grid-template-columns: minmax(0, 0.94fr) minmax(420px, 1.06fr);
		gap: 42px;
	}

	.pngrc-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	:root {
		--pngrc-header-height: 80px;
	}

	.site-header,
	.site-header.is-scrolled {
		height: var(--pngrc-header-height);
	}

	.site-brand {
		min-width: 0;
		margin-right: auto;
	}

	.site-brand__mark,
	.site-header.is-scrolled .site-brand__mark {
		width: 55px;
		height: 55px;
	}

	.header-quote {
		margin-left: auto;
	}

	.menu-toggle {
		display: block;
	}

	.primary-navigation {
		position: fixed;
		top: var(--pngrc-header-height);
		right: 0;
		bottom: 0;
		left: 0;
		display: none;
		padding: 24px;
		background: rgba(18, 36, 44, 0.98);
	}

	.primary-navigation.is-open {
		display: block;
	}

	.primary-navigation .menu {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		max-width: 620px;
		margin: 20px auto;
	}

	.primary-navigation a {
		display: block;
		padding: 17px 4px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
		color: var(--pngrc-white);
		font-size: 19px;
	}

	.primary-navigation a::after {
		display: none;
	}

	.pngrc-hero,
	.pngrc-page-hero,
	.pngrc-about-split {
		grid-template-columns: 1fr;
	}

	.pngrc-hero {
		min-height: auto;
		padding-top: 70px;
	}

	.pngrc-hero__copy {
		max-width: 720px;
	}

	.pngrc-hero__media {
		min-height: 480px;
	}

	.pngrc-hero__media img {
		height: 480px;
	}

	.pngrc-proof-band {
		grid-template-columns: 1fr;
	}

	.pngrc-proof-band__media img {
		clip-path: none;
	}

	.pngrc-design-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pngrc-project-feature,
	.pngrc-project-feature--reverse {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.pngrc-project-feature--reverse .pngrc-project-media {
		order: initial;
	}

	.pngrc-cta {
		grid-template-columns: 1fr;
	}

	.pngrc-cta__copy::after {
		top: auto;
		right: 50%;
		bottom: -30px;
		width: 60px;
		height: 60px;
		transform: translateX(50%) rotate(45deg);
	}

	.pngrc-cta__form {
		padding: 70px 42px 64px;
	}

	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__meta {
		grid-column: 1 / -1;
		padding-top: 24px;
		padding-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
		border-left: 0;
	}
}

@media (max-width: 680px) {
	:root {
		--pngrc-header-height: 72px;
	}

	.site-header__inner {
		gap: 10px;
		width: min(calc(100% - 24px), var(--pngrc-shell));
	}

	.site-brand__mark,
	.site-header.is-scrolled .site-brand__mark {
		width: 48px;
		height: 48px;
	}

	.site-brand__copy {
		display: none;
	}

	.header-quote {
		min-height: 42px;
		padding: 10px 13px;
		font-size: 12px;
	}

	.menu-toggle {
		width: 42px;
		height: 42px;
	}

	.pngrc-section,
	.pngrc-hero,
	.pngrc-page-hero,
	.pngrc-cta,
	.pngrc-project-band {
		padding-right: 20px;
		padding-left: 20px;
	}

	.pngrc-section,
	.pngrc-project-band {
		padding-top: 76px;
		padding-bottom: 76px;
	}

	.pngrc-hero {
		gap: 38px;
		padding-top: 54px;
		padding-bottom: 76px;
	}

	.pngrc-hero__copy .elementor-heading-title {
		font-size: clamp(40px, 12vw, 57px);
	}

	.pngrc-hero__copy .elementor-widget-text-editor {
		font-size: 17px;
	}

	.pngrc-actions {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.pngrc-actions > .elementor-element,
	.pngrc-actions .elementor-button-wrapper,
	.pngrc-actions a.elementor-button {
		width: 100% !important;
	}

	.pngrc-hero__media {
		min-height: 315px;
	}

	.pngrc-hero__media img {
		height: 315px;
		clip-path: polygon(16% 0, 100% 0, 100% 100%, 7% 100%, 0 64%);
	}

	.pngrc-hero__media::before {
		inset: 11px -10px -10px 10px;
		clip-path: polygon(16% 0, 100% 0, 100% 100%, 7% 100%, 0 64%);
	}

	.pngrc-section-heading {
		margin-bottom: 36px;
	}

	.pngrc-section-heading .elementor-heading-title,
	.pngrc-section-heading h2 {
		font-size: 36px;
	}

	.pngrc-service-grid,
	.pngrc-design-grid,
	.pngrc-value-grid,
	.pngrc-content-grid {
		grid-template-columns: 1fr;
	}

	.pngrc-card {
		padding: 27px 24px;
	}

	.pngrc-design-card .elementor-widget-image img {
		height: 250px;
	}

	.pngrc-proof-band__copy {
		padding: 52px 24px;
	}

	.pngrc-proof-band__media img {
		height: 300px;
	}

	.pngrc-project-feature {
		margin-bottom: 56px;
	}

	.pngrc-project-media img {
		height: 290px;
	}

	.pngrc-about-split {
		gap: 40px;
	}

	.pngrc-about-split__media img,
	.pngrc-page-hero__media img {
		height: 330px;
	}

	.pngrc-cta {
		padding-right: 0;
		padding-left: 0;
	}

	.pngrc-cta__copy,
	.pngrc-cta__form {
		padding: 54px 20px;
	}

	.pngrc-form {
		grid-template-columns: 1fr;
	}

	.pngrc-form__field--full,
	.pngrc-form__status,
	.pngrc-form__actions {
		grid-column: auto;
	}

	.pngrc-page-hero {
		gap: 36px;
		min-height: auto;
		padding-top: 62px;
		padding-bottom: 72px;
	}

	.pngrc-page-hero h1,
	.pngrc-page-hero .elementor-heading-title {
		font-size: 46px;
	}

	.site-footer {
		padding: 48px 20px 30px;
	}

	.site-footer__inner {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.site-footer__brand {
		align-items: flex-start;
	}

	.footer-navigation .menu {
		justify-content: flex-start;
	}

	.site-footer__meta {
		grid-column: auto;
	}
}

/* Elementor frontend loads after the theme; lock the intended canvas geometry. */
.site-main .pngrc-hero,
.site-main .pngrc-section,
.site-main .pngrc-page-hero,
.site-main .pngrc-proof-band,
.site-main .pngrc-metrics,
.site-main .pngrc-project-band,
.site-main .pngrc-cta {
	width: min(calc(100% - 64px), var(--pngrc-canvas)) !important;
	max-width: var(--pngrc-canvas) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.site-main .pngrc-hero {
	box-sizing: border-box !important;
	min-height: 650px !important;
	margin-top: 0 !important;
	margin-bottom: 24px !important;
	padding: clamp(44px, 5.2vw, 72px) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 38px !important;
	background:
		linear-gradient(115deg, rgba(45, 191, 208, 0.12), transparent 40%),
		linear-gradient(145deg, #092f3d 0%, #0b4354 58%, #0d5365 100%) !important;
}

.site-main .pngrc-section {
	margin-top: 24px !important;
	margin-bottom: 24px !important;
	padding: clamp(76px, 7vw, 108px) clamp(34px, 5.2vw, 68px) !important;
	border: 1px solid rgba(15, 84, 103, 0.09) !important;
	border-radius: 34px !important;
	background: rgba(255, 255, 255, 0.94) !important;
}

.site-main .pngrc-section--surface {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(238, 246, 244, 0.98)) !important;
}

.site-main .pngrc-page-hero {
	margin-top: 0 !important;
	margin-bottom: 24px !important;
	padding: clamp(54px, 6vw, 82px) !important;
	border: 1px solid rgba(15, 84, 103, 0.09) !important;
	border-radius: 34px !important;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(238, 246, 244, 0.96)) !important;
}

.site-main .pngrc-proof-band,
.site-main .pngrc-metrics,
.site-main .pngrc-project-band,
.site-main .pngrc-cta {
	margin-top: 24px !important;
	margin-bottom: 24px !important;
	border-radius: 34px !important;
}

.site-main .pngrc-proof-band,
.site-main .pngrc-metrics {
	padding: 0 !important;
}

.site-main .pngrc-project-band {
	padding-top: clamp(88px, 8vw, 118px) !important;
	padding-right: clamp(26px, 4vw, 56px) !important;
	padding-bottom: clamp(88px, 8vw, 118px) !important;
	padding-left: clamp(26px, 4vw, 56px) !important;
	background:
		linear-gradient(120deg, rgba(6, 35, 46, 0.94), rgba(10, 57, 72, 0.91)),
		url("../images/project-blueprint-texture.jpg") center / cover !important;
}

.site-main .pngrc-cta {
	margin-bottom: 0 !important;
	padding: 0 !important;
}

.site-main .pngrc-hero,
.site-main .pngrc-proof-band,
.site-main .pngrc-metrics,
.site-main .pngrc-project-band,
.site-main .pngrc-cta {
	overflow: hidden !important;
}

.site-main .pngrc-hero__copy {
	padding: 0 !important;
}

.site-main .pngrc-hero__copy .pngrc-actions {
	gap: 14px !important;
	margin-top: 0 !important;
	padding: 0 !important;
}

.site-main .pngrc-card,
.site-main .pngrc-content-card,
.site-main .pngrc-value,
.site-main .pngrc-design-card,
.site-main .pngrc-project-feature {
	overflow: hidden !important;
	border-radius: var(--pngrc-radius-card) !important;
}

.site-main .pngrc-card {
	padding: 34px 28px !important;
}

.site-main .pngrc-content-card {
	padding: clamp(28px, 3vw, 38px) !important;
}

.site-main .pngrc-value {
	padding: clamp(28px, 3vw, 38px) 24px !important;
}

.site-main .pngrc-design-card {
	padding: 0 !important;
}

.site-main .pngrc-project-feature {
	gap: clamp(32px, 5.3vw, 72px) !important;
	margin-bottom: clamp(28px, 4vw, 48px) !important;
	padding: clamp(22px, 3vw, 34px) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: var(--pngrc-radius-panel) !important;
}

.site-main .pngrc-project-feature:last-child {
	margin-bottom: 0 !important;
}

.site-main .pngrc-cta__copy,
.site-main .pngrc-cta__form {
	padding: clamp(48px, 5vw, 68px) !important;
}

@media (min-width: 961px) {
	.site-main .pngrc-hero {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 40px !important;
		padding: 52px !important;
	}

	.site-main .pngrc-hero__copy .elementor-heading-title {
		font-size: clamp(52px, 5vw, 64px) !important;
	}
}

@media (max-width: 960px) {
	.site-main .pngrc-hero,
	.site-main .pngrc-section,
	.site-main .pngrc-page-hero,
	.site-main .pngrc-proof-band,
	.site-main .pngrc-metrics,
	.site-main .pngrc-project-band,
	.site-main .pngrc-cta {
		width: min(calc(100% - 40px), var(--pngrc-canvas)) !important;
	}

	.site-main .pngrc-hero {
		min-height: auto !important;
		padding: clamp(40px, 7vw, 62px) !important;
	}

	.site-main .pngrc-project-band {
		padding-top: 80px !important;
		padding-bottom: 80px !important;
	}
}

@media (max-width: 680px) {
	.site-main .pngrc-hero,
	.site-main .pngrc-section,
	.site-main .pngrc-page-hero,
	.site-main .pngrc-proof-band,
	.site-main .pngrc-metrics,
	.site-main .pngrc-project-band,
	.site-main .pngrc-cta {
		width: min(calc(100% - 24px), var(--pngrc-canvas)) !important;
		border-radius: 26px !important;
	}

	.site-main .pngrc-section {
		margin-top: 14px !important;
		margin-bottom: 14px !important;
		padding: 68px 22px !important;
	}

	.site-main .pngrc-hero {
		margin-bottom: 14px !important;
		padding: 36px 22px 22px !important;
	}

	.site-main .pngrc-card {
		padding: 28px 24px !important;
	}

	.site-main .pngrc-project-feature {
		gap: 22px !important;
		padding: 14px !important;
		border-radius: 24px !important;
	}

	.site-main .pngrc-cta__copy,
	.site-main .pngrc-cta__form {
		padding: 44px 24px !important;
	}

	.site-main .pngrc-page-hero,
	.site-main .pngrc-proof-band,
	.site-main .pngrc-metrics,
	.site-main .pngrc-project-band,
	.site-main .pngrc-cta {
		margin-top: 14px !important;
		margin-bottom: 14px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	.pngrc-reveal,
	.pngrc-stagger > .elementor-element {
		opacity: 1;
		transform: none;
	}
}

/* Elementor canvas lock: match the final system at the higher legacy specificity. */
.site-main .pngrc-hero,
.site-main .pngrc-section,
.site-main .pngrc-page-hero,
.site-main .pngrc-proof-band,
.site-main .pngrc-metrics,
.site-main .pngrc-project-band,
.site-main .pngrc-cta {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.site-main .pngrc-section {
	padding: clamp(88px, 9vw, 132px) max(24px, calc((100vw - var(--pngrc-shell)) / 2)) !important;
}

.site-main .pngrc-hero {
	grid-template-columns: minmax(0, 0.84fr) minmax(520px, 1.16fr) !important;
	gap: clamp(42px, 5vw, 76px) !important;
	min-height: calc(100svh - var(--pngrc-header-height)) !important;
	padding: clamp(64px, 7vw, 104px) max(24px, calc((100vw - var(--pngrc-shell)) / 2)) clamp(76px, 8vw, 118px) !important;
	background:
		linear-gradient(105deg, rgba(7, 31, 41, 0.99) 0%, rgba(8, 47, 60, 0.98) 58%, rgba(9, 55, 68, 0.98) 100%) !important;
}

.site-main .pngrc-hero__copy .pngrc-actions {
	margin-top: 34px !important;
}

.site-main .pngrc-page-hero,
.site-main .pngrc-proof-band,
.site-main .pngrc-about-split {
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
	gap: clamp(52px, 7vw, 104px) !important;
	padding: clamp(90px, 9vw, 132px) max(24px, calc((100vw - var(--pngrc-shell)) / 2)) !important;
}

.site-main .pngrc-page-hero {
	background: var(--pngrc-deep) !important;
}

.site-main .pngrc-proof-band {
	background: var(--pngrc-paper) !important;
}

.site-main .pngrc-metrics {
	padding: 0 max(24px, calc((100vw - var(--pngrc-shell)) / 2)) !important;
	background:
		linear-gradient(90deg, rgba(30, 254, 254, 0.04), transparent 28%),
		var(--pngrc-deep) !important;
}

.site-main .pngrc-project-band {
	padding: clamp(92px, 9vw, 132px) max(24px, calc((100vw - var(--pngrc-shell)) / 2)) !important;
	background:
		linear-gradient(135deg, #061f2a 0%, #082f3c 56%, #0a3d4a 100%) !important;
}

.site-main .pngrc-project-feature,
.site-main .pngrc-project-feature:last-child {
	gap: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid rgba(30, 254, 254, 0.22) !important;
	border-radius: 0 !important;
	background: rgba(5, 28, 37, 0.78) !important;
}

.site-main .pngrc-project-feature {
	margin-bottom: 32px !important;
}

.site-main .pngrc-project-feature:last-child {
	margin-bottom: 0 !important;
}

.site-main .pngrc-content-card,
.site-main .pngrc-process-grid > .elementor-element {
	padding: 34px 30px !important;
	border: 0 !important;
	border-top: 3px solid var(--pngrc-cyan-blue) !important;
	border-radius: 0 !important;
	background: var(--pngrc-paper) !important;
	box-shadow: none !important;
}

.site-main .pngrc-cta {
	grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr) !important;
	padding: 0 max(24px, calc((100vw - var(--pngrc-shell)) / 2)) !important;
	background:
		linear-gradient(111deg, var(--pngrc-cyan) 0%, #1bdde9 42%, var(--pngrc-deep) 42.1%, var(--pngrc-deep) 100%) !important;
}

.site-main .pngrc-cta__copy {
	padding: clamp(60px, 7vw, 94px) clamp(42px, 6vw, 82px) clamp(60px, 7vw, 94px) 0 !important;
}

.site-main .pngrc-cta__form {
	padding: clamp(60px, 7vw, 94px) 0 clamp(60px, 7vw, 94px) clamp(52px, 6vw, 92px) !important;
}

@media (max-width: 1100px) {
	.site-main .pngrc-hero {
		grid-template-columns: minmax(0, 0.9fr) minmax(430px, 1.1fr) !important;
	}
}

@media (max-width: 960px) {
	.site-main .pngrc-hero {
		grid-template-columns: 1fr !important;
		gap: 48px !important;
		min-height: auto !important;
		padding-top: 76px !important;
	}

	.site-main .pngrc-page-hero,
	.site-main .pngrc-proof-band,
	.site-main .pngrc-about-split {
		grid-template-columns: 1fr !important;
		gap: 48px !important;
	}

	.site-main .pngrc-project-feature,
	.site-main .pngrc-project-feature:last-child {
		grid-template-columns: 1fr !important;
	}

	.site-main .pngrc-cta {
		grid-template-columns: 1fr !important;
		background: linear-gradient(180deg, var(--pngrc-cyan) 0 43%, var(--pngrc-deep) 43.1% 100%) !important;
	}

	.site-main .pngrc-cta__copy {
		padding: 76px 0 110px !important;
	}

	.site-main .pngrc-cta__form {
		padding: 84px 0 76px !important;
	}
}

@media (max-width: 680px) {
	.site-main .pngrc-section,
	.site-main .pngrc-proof-band,
	.site-main .pngrc-about-split,
	.site-main .pngrc-page-hero,
	.site-main .pngrc-project-band {
		padding: 76px 20px !important;
	}

	.site-main .pngrc-hero {
		gap: 38px !important;
		padding: 56px 20px 64px !important;
	}

	.site-main .pngrc-metrics {
		padding: 0 20px !important;
	}

	.site-main .pngrc-cta {
		padding: 0 20px !important;
		background: linear-gradient(180deg, var(--pngrc-cyan) 0 38%, var(--pngrc-deep) 38.1% 100%) !important;
	}

	.site-main .pngrc-cta__copy {
		padding: 66px 0 86px !important;
	}

	.site-main .pngrc-cta__form {
		padding: 72px 0 !important;
	}
}

.site-main .pngrc-service-grid .pngrc-card::before {
	right: auto !important;
	bottom: auto !important;
	width: auto !important;
	height: auto !important;
	background: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	transform: none !important;
	transition: color 280ms ease !important;
}

.site-main .pngrc-service-grid .pngrc-card::after {
	right: auto !important;
	bottom: auto !important;
	width: 2px !important;
	height: calc(100% - 82px) !important;
}

@media (max-width: 960px) {
	.primary-navigation {
		position: absolute !important;
		top: 100% !important;
		right: 0 !important;
		bottom: auto !important;
		left: 0 !important;
		width: 100vw !important;
		height: calc(100dvh - var(--pngrc-header-height) - var(--wp-admin--admin-bar--height, 0px)) !important;
		min-height: 520px;
	}
}

@media (max-width: 680px) {
	.site-brand__copy {
		display: flex !important;
	}

	.site-brand__copy strong {
		font-size: 9px !important;
	}

	.site-brand__copy small {
		font-size: 7px !important;
	}
}

@media (min-width: 961px) {
	.site-main .pngrc-hero {
		padding-top: clamp(56px, 5vw, 72px) !important;
		padding-bottom: clamp(62px, 5.5vw, 78px) !important;
	}

	.site-main .pngrc-hero__media {
		min-height: 520px !important;
	}
}

/* ==========================================================================
   PNGRC interactive design system v2
   ========================================================================== */

:root {
	--pngrc-radius-card: 24px;
	--pngrc-radius-panel: 32px;
	--pngrc-shadow-soft: 0 18px 50px rgba(8, 48, 62, 0.1);
	--pngrc-shadow-lift: 0 28px 76px rgba(8, 48, 62, 0.18);
	--pngrc-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: clip;
	background:
		linear-gradient(rgba(15, 84, 103, 0.018) 1px, transparent 1px),
		linear-gradient(90deg, rgba(15, 84, 103, 0.018) 1px, transparent 1px),
		#fff;
	background-size: 48px 48px;
}

.site-header {
	isolation: isolate;
}

.site-progress {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 3px;
	overflow: hidden;
	pointer-events: none;
}

.site-progress span {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, var(--pngrc-cyan), #7dd9e5, var(--pngrc-olive));
	box-shadow: 0 0 16px rgba(45, 191, 208, 0.55);
	transform: scaleX(0);
	transform-origin: left center;
	will-change: transform;
}

.pngrc-section {
	padding-top: clamp(86px, 8vw, 126px);
	padding-bottom: clamp(86px, 8vw, 126px);
}

.pngrc-section-heading {
	margin-bottom: clamp(42px, 5vw, 66px);
}

.pngrc-section-heading .elementor-heading-title {
	text-wrap: balance;
}

.pngrc-section-heading .elementor-widget-text-editor {
	max-width: 700px;
}

.pngrc-service-grid,
.pngrc-design-grid,
.pngrc-value-grid,
.pngrc-content-grid {
	gap: clamp(18px, 2.1vw, 30px);
	align-items: stretch;
}

.pngrc-card,
.pngrc-content-card,
.pngrc-value,
.pngrc-design-card {
	--spot-x: 50%;
	--spot-y: 50%;
	--tilt-x: 0deg;
	--tilt-y: 0deg;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border: 1px solid rgba(15, 84, 103, 0.13);
	border-radius: var(--pngrc-radius-card);
	background:
		radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(45, 191, 208, 0.13), transparent 38%),
		linear-gradient(145deg, #fff 0%, #fbfdfd 100%);
	box-shadow: 0 14px 38px rgba(8, 48, 62, 0.075);
	transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(0);
	transform-style: preserve-3d;
	transition:
		transform 420ms var(--pngrc-ease-out),
		border-color 320ms ease,
		box-shadow 420ms var(--pngrc-ease-out);
	will-change: transform;
}

.pngrc-card::before,
.pngrc-content-card::before,
.pngrc-value::before {
	position: absolute;
	top: 0;
	right: 24px;
	left: 24px;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--pngrc-cyan), transparent);
	content: "";
	opacity: 0;
	transform: scaleX(0.25);
	transition: opacity 280ms ease, transform 420ms var(--pngrc-ease-out);
}

.pngrc-card:hover,
.pngrc-content-card:hover,
.pngrc-value:hover,
.pngrc-design-card:hover {
	border-color: rgba(45, 191, 208, 0.42);
	box-shadow: var(--pngrc-shadow-lift);
	transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-9px);
}

.pngrc-card:hover::before,
.pngrc-content-card:hover::before,
.pngrc-value:hover::before {
	opacity: 1;
	transform: scaleX(1);
}

.pngrc-card .elementor-icon-box-icon,
.pngrc-value .elementor-widget-icon {
	transform: translateZ(26px);
}

.pngrc-card .elementor-icon {
	display: inline-grid;
	width: 58px;
	height: 58px;
	place-items: center;
	border: 1px solid rgba(45, 191, 208, 0.26);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(45, 191, 208, 0.14), rgba(15, 84, 103, 0.04));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.pngrc-card .elementor-icon-box-title,
.pngrc-content-card .elementor-heading-title,
.pngrc-value .elementor-heading-title {
	text-wrap: balance;
}

.pngrc-content-card {
	min-height: 100%;
	padding: clamp(28px, 3vw, 38px);
}

.pngrc-value {
	min-height: 100%;
	padding: clamp(28px, 3vw, 38px) 24px;
}

.pngrc-design-card .elementor-widget-image {
	overflow: hidden;
}

.pngrc-design-card .elementor-widget-image img {
	transform: scale(1.015);
	transition: transform 750ms var(--pngrc-ease-out), filter 520ms ease;
}

.pngrc-design-card:hover .elementor-widget-image img {
	filter: saturate(1.08) contrast(1.03);
	transform: scale(1.075);
}

.pngrc-design-card__body {
	padding: clamp(26px, 3vw, 36px);
}

.pngrc-proof-band {
	width: min(calc(100% - 48px), var(--pngrc-shell));
	margin: clamp(30px, 5vw, 70px) auto;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--pngrc-radius-panel);
	box-shadow: var(--pngrc-shadow-lift);
}

.pngrc-proof-band__copy {
	padding: clamp(46px, 6vw, 82px);
}

.pngrc-proof-band__media {
	align-self: stretch;
	overflow: hidden;
}

.pngrc-proof-band__media img {
	height: 100%;
	min-height: 470px;
	clip-path: none;
	transform: translateY(var(--media-shift, 0)) scale(1.08);
	transition: transform 180ms linear;
}

.pngrc-metrics {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: min(calc(100% - 48px), var(--pngrc-shell));
	margin: 0 auto clamp(52px, 7vw, 96px);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--pngrc-radius-panel);
	background:
		linear-gradient(115deg, rgba(45, 191, 208, 0.11), transparent 42%),
		var(--pngrc-navy);
	box-shadow: var(--pngrc-shadow-lift);
	color: #fff;
}

.pngrc-metric {
	position: relative;
	display: grid !important;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0 20px;
	min-width: 0;
	padding: clamp(32px, 4.3vw, 52px);
}

.pngrc-metric:not(:last-child)::after {
	position: absolute;
	top: 26%;
	right: 0;
	width: 1px;
	height: 48%;
	background: linear-gradient(transparent, rgba(255, 255, 255, 0.22), transparent);
	content: "";
}

.pngrc-metric .elementor-widget-icon {
	grid-row: 1 / 3;
}

.pngrc-metric .elementor-icon {
	display: inline-grid;
	width: 58px;
	height: 58px;
	place-items: center;
	border: 1px solid rgba(45, 191, 208, 0.4);
	border-radius: 18px;
	background: rgba(45, 191, 208, 0.1);
	color: var(--pngrc-cyan);
	font-size: 24px;
}

.pngrc-metric__value .elementor-heading-title {
	margin: 0;
	color: #fff !important;
	font-size: clamp(38px, 4.3vw, 62px);
	line-height: 0.95;
	letter-spacing: -0.04em;
}

.pngrc-metric__label,
.pngrc-metric__label p {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 13px;
	line-height: 1.45;
}

.pngrc-project-band {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-top: clamp(92px, 9vw, 136px);
	padding-bottom: clamp(92px, 9vw, 136px);
	background:
		linear-gradient(120deg, rgba(6, 35, 46, 0.94), rgba(10, 57, 72, 0.91)),
		url("../images/project-blueprint-texture.jpg") center / cover;
}

.pngrc-project-band::before {
	position: absolute;
	z-index: -1;
	top: -220px;
	right: -180px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(45, 191, 208, 0.18);
	border-radius: 50%;
	box-shadow:
		0 0 0 72px rgba(45, 191, 208, 0.025),
		0 0 0 144px rgba(45, 191, 208, 0.018);
	content: "";
}

.pngrc-project-band > .elementor-element {
	position: relative;
	z-index: 1;
}

.pngrc-project-feature {
	--spot-x: 50%;
	--spot-y: 50%;
	--tilt-x: 0deg;
	--tilt-y: 0deg;
	position: relative;
	isolation: isolate;
	gap: clamp(32px, 5.3vw, 72px);
	margin-bottom: clamp(28px, 4vw, 48px);
	padding: clamp(22px, 3vw, 34px);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--pngrc-radius-panel);
	background:
		radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(45, 191, 208, 0.14), transparent 36%),
		rgba(255, 255, 255, 0.055);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.19);
	transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
	transition: transform 500ms var(--pngrc-ease-out), border-color 320ms ease, background-color 320ms ease;
}

.pngrc-project-feature:last-child {
	margin-bottom: 0;
}

.pngrc-project-feature:hover {
	border-color: rgba(45, 191, 208, 0.42);
	background-color: rgba(255, 255, 255, 0.075);
	transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-5px);
}

.pngrc-project-feature::after {
	position: absolute;
	z-index: -1;
	top: 20px;
	right: 30px;
	color: rgba(255, 255, 255, 0.055);
	content: "01";
	font-family: var(--pngrc-heading-font);
	font-size: clamp(86px, 10vw, 150px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.08em;
}

.pngrc-project-feature:nth-of-type(3)::after {
	content: "02";
}

.pngrc-project-media {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 22px;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}

.pngrc-project-media::before {
	display: none;
}

.pngrc-project-media img,
.pngrc-project-feature--reverse .pngrc-project-media img {
	height: clamp(360px, 36vw, 480px);
	clip-path: none;
	transform: translateY(var(--media-shift, 0)) scale(1.07);
	transition: transform 700ms var(--pngrc-ease-out), filter 500ms ease;
}

.pngrc-project-feature:hover .pngrc-project-media img {
	filter: saturate(1.08) contrast(1.03);
	transform: translateY(var(--media-shift, 0)) scale(1.12);
}

.pngrc-project-copy {
	position: relative;
	z-index: 2;
	padding: clamp(16px, 2vw, 28px) clamp(8px, 1vw, 18px);
}

.pngrc-project-copy .elementor-heading-title {
	text-wrap: balance;
}

.pngrc-project-copy .elementor-widget-button {
	margin-top: 14px;
}

.pngrc-about-split__media,
.pngrc-hero__media,
.pngrc-page-hero__media {
	overflow: hidden;
	border-radius: var(--pngrc-radius-panel);
	box-shadow: var(--pngrc-shadow-lift);
}

.pngrc-about-split__media img,
.pngrc-hero__media img,
.pngrc-page-hero__media img {
	clip-path: none;
	transform: translateY(var(--media-shift, 0)) scale(1.08);
	transition: transform 200ms linear, filter 500ms ease;
}

.pngrc-about-split__media:hover img,
.pngrc-hero__media:hover img,
.pngrc-page-hero__media:hover img {
	filter: saturate(1.06) contrast(1.02);
}

.pngrc-page-hero {
	gap: clamp(40px, 6vw, 82px);
	width: min(calc(100% - 48px), var(--pngrc-shell));
	margin: 0 auto;
	padding-right: 0;
	padding-left: 0;
}

.pngrc-page-hero__copy .elementor-heading-title {
	text-wrap: balance;
}

.pngrc-cta {
	display: grid !important;
	grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
	width: min(calc(100% - 48px), var(--pngrc-shell));
	margin: clamp(86px, 9vw, 132px) auto;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(15, 84, 103, 0.12);
	border-radius: var(--pngrc-radius-panel);
	background: #fff;
	box-shadow: var(--pngrc-shadow-lift);
}

.pngrc-cta__copy {
	min-width: 0;
	padding: clamp(48px, 5.4vw, 76px);
	background:
		radial-gradient(circle at 12% 10%, rgba(45, 191, 208, 0.22), transparent 34%),
		linear-gradient(145deg, var(--pngrc-olive), #67754c);
}

.pngrc-cta__copy::after {
	display: none;
}

.pngrc-cta__copy::before {
	position: absolute;
	right: -120px;
	bottom: -150px;
	width: 310px;
	height: 310px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 50%;
	box-shadow: 0 0 0 42px rgba(255, 255, 255, 0.025);
	content: "";
	pointer-events: none;
}

.pngrc-cta__copy .elementor-widget-icon .elementor-icon {
	display: inline-grid;
	width: 60px;
	height: 60px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 19px;
	background: rgba(255, 255, 255, 0.1);
}

.pngrc-cta__copy .elementor-heading-title {
	max-width: 540px;
	font-size: clamp(40px, 4.4vw, 60px);
	text-wrap: balance;
}

.pngrc-cta__form {
	min-width: 0;
	padding: clamp(48px, 5.4vw, 76px);
	background:
		linear-gradient(rgba(15, 84, 103, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(15, 84, 103, 0.025) 1px, transparent 1px),
		#fff;
	background-size: 32px 32px;
}

.pngrc-form input,
.pngrc-form select,
.pngrc-form textarea {
	border-radius: 13px;
	background-color: #f7fafb;
	transition: border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.pngrc-form input:hover,
.pngrc-form select:hover,
.pngrc-form textarea:hover {
	border-color: rgba(15, 84, 103, 0.34);
	background-color: #fff;
}

.pngrc-form input:focus,
.pngrc-form select:focus,
.pngrc-form textarea:focus {
	border-color: var(--pngrc-cyan);
	background-color: #fff;
	box-shadow: 0 0 0 4px rgba(45, 191, 208, 0.14);
	outline: 0;
}

a.elementor-button,
.header-quote,
.pngrc-form button {
	position: relative;
	overflow: hidden;
	border-radius: 999px;
	transform: translateZ(0);
	transition: transform 260ms var(--pngrc-ease-out), box-shadow 260ms ease, background-color 220ms ease, color 220ms ease;
}

a.elementor-button::after,
.header-quote::after,
.pngrc-form button::after {
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-left: 10px;
	background: currentColor;
	content: "";
	vertical-align: -2px;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M4 9h8.2L9.1 5.9 10.5 4.5 16 10l-5.5 5.5-1.4-1.4 3.1-3.1H4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M4 9h8.2L9.1 5.9 10.5 4.5 16 10l-5.5 5.5-1.4-1.4 3.1-3.1H4z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 260ms var(--pngrc-ease-out);
}

a.elementor-button:hover,
.header-quote:hover,
.pngrc-form button:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(6, 49, 63, 0.2);
}

a.elementor-button:hover::after,
.header-quote:hover::after,
.pngrc-form button:hover::after {
	transform: translateX(4px);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid rgba(45, 191, 208, 0.72);
	outline-offset: 4px;
}

.site-footer {
	position: relative;
	padding: clamp(60px, 7vw, 92px) 24px 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 12% 10%, rgba(45, 191, 208, 0.1), transparent 30%),
		var(--pngrc-navy);
}

.site-footer::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(45, 191, 208, 0.75), transparent);
	content: "";
}

.site-footer__inner {
	grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(44px, 6vw, 84px);
}

.footer-navigation .menu {
	justify-content: flex-end;
	row-gap: 12px;
}

.site-footer__meta {
	grid-column: 1 / -1;
	width: 100%;
	margin-top: 10px;
	padding: 28px 24px 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	border-left: 0;
	text-align: center;
}

.site-footer__meta p {
	display: inline;
	margin: 0;
}

.site-footer__meta p + p::before {
	margin: 0 10px;
	color: rgba(255, 255, 255, 0.28);
	content: "•";
}

.pngrc-reveal,
.pngrc-stagger > .elementor-element {
	transform: translate3d(calc(var(--reveal-direction, 0) * 22px), 32px, 0) scale(0.985);
	transition:
		opacity 720ms ease var(--reveal-delay, 0ms),
		transform 820ms var(--pngrc-ease-out) var(--reveal-delay, 0ms);
}

.pngrc-reveal.is-visible,
.pngrc-stagger > .elementor-element.is-visible {
	transform: translate3d(0, 0, 0) scale(1);
}

@media (min-width: 1181px) {
	.pngrc-process-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.pngrc-process-grid .pngrc-card {
		padding: 30px 22px;
	}

	.pngrc-process-grid .elementor-icon-box-title {
		font-size: 19px;
	}
}

@media (max-width: 1180px) {
	.pngrc-metric {
		padding: 34px 26px;
	}

	.pngrc-metric .elementor-icon {
		width: 50px;
		height: 50px;
		font-size: 21px;
	}

	.pngrc-metric__value .elementor-heading-title {
		font-size: clamp(34px, 4.5vw, 50px);
	}
}

@media (max-width: 960px) {
	.pngrc-page-hero {
		width: min(calc(100% - 40px), var(--pngrc-shell));
	}

	.pngrc-metrics {
		width: min(calc(100% - 40px), var(--pngrc-shell));
	}

	.pngrc-cta {
		grid-template-columns: 1fr;
		width: min(calc(100% - 40px), var(--pngrc-shell));
	}

	.pngrc-cta__copy,
	.pngrc-cta__form {
		padding: clamp(44px, 8vw, 70px);
	}

	.pngrc-project-feature,
	.pngrc-project-feature--reverse {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.pngrc-project-feature--reverse .pngrc-project-media {
		order: initial;
	}

	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 760px) {
	.pngrc-proof-band,
	.pngrc-metrics,
	.pngrc-page-hero,
	.pngrc-cta {
		width: min(calc(100% - 32px), var(--pngrc-shell));
	}

	.pngrc-metrics {
		grid-template-columns: 1fr;
	}

	.pngrc-metric {
		grid-template-columns: 52px 1fr;
		padding: 28px;
	}

	.pngrc-metric:not(:last-child)::after {
		top: auto;
		right: 28px;
		bottom: 0;
		left: 28px;
		width: auto;
		height: 1px;
		background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	}

	.pngrc-project-band {
		padding-right: 16px;
		padding-left: 16px;
	}

	.pngrc-project-feature {
		padding: 14px;
		border-radius: 26px;
	}

	.pngrc-project-media {
		border-radius: 18px;
	}

	.pngrc-project-media img,
	.pngrc-project-feature--reverse .pngrc-project-media img {
		height: 300px;
	}

	.pngrc-project-copy {
		padding: 20px 10px 24px;
	}

	.pngrc-cta {
		padding: 0;
	}

	.pngrc-cta__copy,
	.pngrc-cta__form {
		padding: 44px 24px;
	}

	.pngrc-cta__copy .elementor-heading-title {
		font-size: clamp(36px, 11vw, 48px);
	}

	.site-footer {
		padding: 54px 20px 0;
	}

	.site-footer__inner {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.footer-navigation .menu {
		justify-content: flex-start;
	}

	.site-footer__meta {
		grid-column: 1;
		padding: 24px 12px 28px;
		line-height: 1.8;
	}

	.site-footer__meta p {
		display: block;
	}

	.site-footer__meta p + p::before {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.site-progress span,
	.pngrc-card,
	.pngrc-content-card,
	.pngrc-value,
	.pngrc-design-card,
	.pngrc-project-feature,
	.pngrc-project-media img,
	.pngrc-design-card .elementor-widget-image img {
		transition-duration: 0.01ms !important;
		transform: none !important;
	}
}

/* ==========================================================================
   Interaction and alignment refinement — 2.1.0
   ========================================================================== */

.site-main .pngrc-actions {
	justify-content: center !important;
}

.site-main .pngrc-button {
	display: flex !important;
	justify-content: center !important;
	text-align: center !important;
}

.header-quote,
.site-main .pngrc-button a.elementor-button,
.site-main .pngrc-form button {
	overflow: hidden;
	box-shadow: 0 12px 34px rgba(8, 47, 60, 0.14);
}

.header-quote::before,
.site-main .pngrc-button a.elementor-button::before,
.site-main .pngrc-form button::before {
	position: absolute;
	z-index: 0;
	inset: -40% -65%;
	content: "";
	background: linear-gradient(110deg, transparent 38%, rgba(255, 255, 255, 0.48) 49%, transparent 60%);
	transform: translateX(-58%) rotate(4deg);
	transition: transform 650ms cubic-bezier(.2,.8,.2,1);
	pointer-events: none;
}

.header-quote:hover::before,
.site-main .pngrc-button a.elementor-button:hover::before,
.site-main .pngrc-form button:hover::before {
	transform: translateX(58%) rotate(4deg);
}

.header-quote > *,
.site-main .pngrc-button a.elementor-button .elementor-button-content-wrapper,
.site-main .pngrc-form button > * {
	position: relative;
	z-index: 2;
}

.header-quote::after,
.site-main .pngrc-button a.elementor-button::after,
.site-main .pngrc-form button::after {
	position: relative;
	z-index: 2;
}

.site-main .pngrc-proof-band__copy .pngrc-button,
.site-main .pngrc-about-split__copy > .pngrc-button,
.site-main .pngrc-project-copy .pngrc-button {
	width: 100% !important;
}

.site-main .pngrc-card .elementor-icon-box-icon {
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
	margin: 0 auto 26px !important;
	text-align: center !important;
}

.site-main .pngrc-card .elementor-icon-box-icon .elementor-icon {
	margin-inline: auto !important;
}

.site-main .pngrc-metric .elementor-widget-icon,
.site-main .pngrc-value .elementor-widget-icon,
.site-main .pngrc-content-card .elementor-widget-icon,
.site-main .pngrc-process-grid .elementor-icon-box-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

.site-main .pngrc-design-grid {
	grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.91fr) minmax(0, 0.91fr) !important;
	gap: 16px !important;
	align-items: stretch !important;
}

.site-main .pngrc-design-card {
	grid-template-rows: 292px minmax(250px, 1fr) !important;
	min-height: 542px !important;
	border-radius: 0 !important;
	background: linear-gradient(155deg, #082d39 0%, #061f2a 100%) !important;
	clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%) !important;
	transform: translateY(0) !important;
	transform-style: flat !important;
}

.site-main .pngrc-design-card:first-child {
	grid-template-rows: 324px minmax(218px, 1fr) !important;
}

.site-main .pngrc-design-card:hover {
	transform: translateY(-10px) !important;
	box-shadow: 0 28px 60px rgba(0, 0, 0, 0.24) !important;
}

.site-main .pngrc-design-card::before,
.site-main .pngrc-design-card__body::before {
	pointer-events: none !important;
}

.site-main .pngrc-design-card > .elementor-widget-image {
	position: relative;
	z-index: 1;
}

.site-main .pngrc-design-card__body {
	display: grid !important;
	z-index: 2;
	grid-template-rows: auto 1fr auto !important;
	align-content: stretch !important;
	gap: 12px !important;
	padding: 28px 24px 24px !important;
}

.site-main .pngrc-design-card__body .elementor-widget-text-editor,
.site-main .pngrc-design-card__body p {
	margin-bottom: 0 !important;
}

.site-main .pngrc-design-card .pngrc-text-link {
	position: relative;
	z-index: 6;
	align-self: end !important;
	width: 100% !important;
	margin-top: 10px !important;
}

.site-main .pngrc-design-card .pngrc-text-link a.elementor-button {
	position: relative;
	z-index: 7;
	width: min(100%, 220px) !important;
	min-height: 50px !important;
	padding: 12px 18px !important;
	border: 1px solid rgba(30, 254, 254, 0.48) !important;
	background: rgba(30, 254, 254, 0.06) !important;
	color: var(--pngrc-cyan) !important;
	clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%) !important;
	box-shadow: inset 0 0 0 1px rgba(30, 254, 254, 0.02);
	pointer-events: auto !important;
	transform: none !important;
}

.site-main .pngrc-design-card .pngrc-text-link a.elementor-button:hover,
.site-main .pngrc-design-card .pngrc-text-link a.elementor-button:focus-visible {
	border-color: var(--pngrc-cyan) !important;
	background: var(--pngrc-cyan) !important;
	color: var(--pngrc-ink) !important;
	filter: drop-shadow(0 14px 24px rgba(30, 254, 254, 0.22)) !important;
	transform: translateY(-3px) !important;
}

.site-main .pngrc-design-card[id] {
	scroll-margin-top: calc(var(--pngrc-header-height) + 34px);
}

@media (max-width: 960px) {
	.site-main .pngrc-design-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 18px !important;
	}

	.site-main .pngrc-design-card,
	.site-main .pngrc-design-card:first-child {
		grid-template-rows: 280px minmax(240px, 1fr) !important;
		min-height: 520px !important;
	}

	.site-main .pngrc-design-card:last-child {
		grid-column: 1 / -1 !important;
		width: min(100%, 580px) !important;
		justify-self: center !important;
	}
}

@media (max-width: 680px) {
	.site-main .pngrc-actions {
		justify-content: stretch !important;
	}

	.site-main .pngrc-design-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.site-main .pngrc-design-card,
	.site-main .pngrc-design-card:first-child,
	.site-main .pngrc-design-card:last-child {
		grid-column: auto !important;
		grid-template-rows: 252px minmax(236px, 1fr) !important;
		width: 100% !important;
		min-height: 488px !important;
	}

	.site-main .pngrc-design-card__body {
		padding: 26px 20px 22px !important;
	}
}

/* Elementor container compatibility: keep visual media flush and fully covered. */
.pngrc-hero__media,
.pngrc-page-hero__media,
.pngrc-about-split__media,
.pngrc-proof-band__media,
.pngrc-project-media {
	overflow: hidden !important;
	border-radius: var(--pngrc-radius-panel) !important;
}

.pngrc-project-media {
	border-radius: 22px !important;
}

.pngrc-hero__media > .elementor-widget-image,
.pngrc-page-hero__media > .elementor-widget-image,
.pngrc-about-split__media > .elementor-widget-image,
.pngrc-proof-band__media > .elementor-widget-image,
.pngrc-hero__media .elementor-widget-container,
.pngrc-page-hero__media .elementor-widget-container,
.pngrc-about-split__media .elementor-widget-container,
.pngrc-proof-band__media .elementor-widget-container {
	width: 100%;
	height: 100%;
	min-height: inherit;
}

.pngrc-hero__media img,
.pngrc-page-hero__media img,
.pngrc-about-split__media img,
.pngrc-proof-band__media img {
	display: block;
	width: 100%;
	height: 100% !important;
	min-height: inherit;
	object-fit: cover;
}

@media (max-width: 760px) {
	.pngrc-project-media {
		border-radius: 18px !important;
	}
}

/* ==========================================================================
   Contained desktop canvas and signature hero
   ========================================================================== */

:root {
	--pngrc-canvas: 1180px;
}

.site-main {
	padding: 28px 0 56px;
	background:
		radial-gradient(circle at 5% 4%, rgba(45, 191, 208, 0.08), transparent 25%),
		radial-gradient(circle at 96% 38%, rgba(147, 160, 0, 0.075), transparent 23%),
		#f2f6f5;
}

.pngrc-section,
.pngrc-page-hero,
.pngrc-proof-band,
.pngrc-metrics,
.pngrc-project-band,
.pngrc-cta {
	width: min(calc(100% - 64px), var(--pngrc-canvas));
	margin-right: auto;
	margin-left: auto;
}

.pngrc-section {
	margin-top: 24px;
	margin-bottom: 24px;
	padding: clamp(76px, 7vw, 108px) clamp(34px, 5.2vw, 68px);
	border: 1px solid rgba(15, 84, 103, 0.09);
	border-radius: 34px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 22px 60px rgba(8, 48, 62, 0.065);
}

.pngrc-section--surface {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(238, 246, 244, 0.96));
}

.pngrc-section--compact {
	padding-top: clamp(64px, 6vw, 86px);
	padding-bottom: clamp(64px, 6vw, 86px);
}

.pngrc-hero {
	position: relative;
	isolation: isolate;
	display: grid !important;
	grid-template-columns: minmax(0, 0.92fr) minmax(480px, 1.08fr);
	align-items: stretch;
	gap: clamp(38px, 5vw, 68px);
	width: min(calc(100% - 64px), var(--pngrc-canvas));
	min-height: 650px;
	margin: 0 auto 24px;
	padding: clamp(44px, 5.2vw, 72px);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 38px;
	background:
		linear-gradient(115deg, rgba(45, 191, 208, 0.12), transparent 40%),
		linear-gradient(145deg, #092f3d 0%, #0b4354 58%, #0d5365 100%);
	box-shadow: 0 34px 90px rgba(7, 42, 54, 0.24);
}

.pngrc-hero::before {
	position: absolute;
	z-index: -1;
	top: -220px;
	left: -210px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(45, 191, 208, 0.18);
	border-radius: 50%;
	box-shadow:
		0 0 0 72px rgba(45, 191, 208, 0.025),
		0 0 0 144px rgba(45, 191, 208, 0.016);
	content: "";
}

.pngrc-hero::after {
	position: absolute;
	z-index: -1;
	right: 38%;
	bottom: 0;
	width: 180px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(45, 191, 208, 0.7), transparent);
	box-shadow: 0 -94px 0 rgba(45, 191, 208, 0.08), 0 -188px 0 rgba(45, 191, 208, 0.05);
	content: "";
	transform: rotate(62deg);
}

.pngrc-hero__copy {
	position: relative;
	z-index: 2;
	align-self: center;
	min-width: 0;
	padding: 10px 0;
}

.pngrc-eyebrow {
	margin-bottom: 24px;
}

.pngrc-eyebrow p {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 9px 14px;
	border: 1px solid rgba(45, 191, 208, 0.34);
	border-radius: 999px;
	background: rgba(45, 191, 208, 0.08);
	color: #83dce6;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.pngrc-hero__copy .elementor-heading-title {
	max-width: 560px;
	color: #fff !important;
	font-size: clamp(50px, 5.25vw, 72px);
	line-height: 0.98;
	letter-spacing: -0.055em;
	text-wrap: balance;
}

.pngrc-hero__copy .pngrc-accent {
	color: var(--pngrc-cyan) !important;
}

.pngrc-hero__copy .elementor-widget-text-editor {
	max-width: 520px;
	color: rgba(255, 255, 255, 0.73);
	font-size: clamp(16px, 1.5vw, 19px);
	line-height: 1.7;
}

.pngrc-hero__copy .pngrc-actions {
	margin-top: 34px;
}

.pngrc-hero__copy .pngrc-button--outline a.elementor-button {
	border-color: rgba(255, 255, 255, 0.45);
	color: #fff;
}

.pngrc-hero__copy .pngrc-button--outline a.elementor-button:hover {
	border-color: #fff;
	background: #fff;
	color: var(--pngrc-navy);
}

.pngrc-hero__media {
	position: relative;
	display: block !important;
	align-self: stretch;
	min-height: 520px !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 28px !important;
	background: #0b3442;
	box-shadow: 0 28px 72px rgba(0, 0, 0, 0.31);
}

.pngrc-hero__media > .elementor-widget-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.pngrc-hero__media img {
	height: 100% !important;
	transform: translateY(var(--media-shift, 0)) scale(1.07);
	filter: saturate(1.03) contrast(1.03);
}

.pngrc-hero__media::before {
	position: absolute;
	z-index: 1;
	inset: 0;
	background:
		linear-gradient(180deg, transparent 52%, rgba(4, 29, 38, 0.58) 100%),
		linear-gradient(90deg, rgba(4, 29, 38, 0.12), transparent 34%);
	content: "";
	pointer-events: none;
}

.pngrc-hero-badge {
	position: absolute !important;
	z-index: 3;
	right: 24px;
	bottom: 24px;
	left: 24px;
	display: grid !important;
	grid-template-columns: auto auto minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	width: auto;
	padding: 15px 18px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 18px;
	background: rgba(7, 45, 57, 0.76);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.pngrc-hero-badge .elementor-icon {
	display: inline-grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 13px;
	background: rgba(45, 191, 208, 0.15);
	color: var(--pngrc-cyan);
	font-size: 19px;
}

.pngrc-hero-badge .elementor-heading-title {
	margin: 0;
	color: #fff !important;
	font-size: 18px;
	white-space: nowrap;
}

.pngrc-hero-badge .elementor-widget-text-editor,
.pngrc-hero-badge p {
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 12px;
}

.pngrc-page-hero {
	margin-top: 0;
	margin-bottom: 24px;
	padding: clamp(54px, 6vw, 82px);
	border: 1px solid rgba(15, 84, 103, 0.09);
	border-radius: 34px;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(238, 246, 244, 0.96));
	box-shadow: 0 22px 60px rgba(8, 48, 62, 0.075);
}

.pngrc-proof-band,
.pngrc-metrics,
.pngrc-project-band,
.pngrc-cta {
	margin-top: 24px;
	margin-bottom: 24px;
}

.pngrc-project-band {
	padding-right: clamp(26px, 4vw, 56px);
	padding-left: clamp(26px, 4vw, 56px);
	border-radius: 36px;
	box-shadow: 0 30px 84px rgba(7, 42, 54, 0.2);
}

.pngrc-cta {
	margin-top: 24px;
	margin-bottom: 0;
}

@media (max-width: 1100px) {
	.pngrc-hero {
		grid-template-columns: minmax(0, 0.88fr) minmax(400px, 1.12fr);
		padding: 48px;
	}

	.pngrc-hero__copy .elementor-heading-title {
		font-size: clamp(46px, 5.8vw, 62px);
	}
}

@media (max-width: 960px) {
	.site-main {
		padding-top: 20px;
	}

	.pngrc-section,
	.pngrc-page-hero,
	.pngrc-proof-band,
	.pngrc-metrics,
	.pngrc-project-band,
	.pngrc-cta,
	.pngrc-hero {
		width: min(calc(100% - 40px), var(--pngrc-canvas));
	}

	.pngrc-hero {
		grid-template-columns: 1fr;
		min-height: auto;
		padding: clamp(40px, 7vw, 62px);
	}

	.pngrc-hero__copy {
		padding: 0;
	}

	.pngrc-hero__media {
		min-height: 500px !important;
	}
}

@media (max-width: 680px) {
	.site-main {
		padding: 12px 0 34px;
	}

	.pngrc-section,
	.pngrc-page-hero,
	.pngrc-proof-band,
	.pngrc-metrics,
	.pngrc-project-band,
	.pngrc-cta,
	.pngrc-hero {
		width: min(calc(100% - 24px), var(--pngrc-canvas));
		border-radius: 26px;
	}

	.pngrc-section {
		margin-top: 14px;
		margin-bottom: 14px;
		padding: 68px 22px;
	}

	.pngrc-hero {
		gap: 34px;
		margin-bottom: 14px;
		padding: 36px 22px 22px;
	}

	.pngrc-eyebrow {
		margin-bottom: 20px;
	}

	.pngrc-eyebrow p {
		font-size: 9px;
		letter-spacing: 0.08em;
	}

	.pngrc-hero__copy .elementor-heading-title {
		font-size: clamp(42px, 12.2vw, 58px);
	}

	.pngrc-hero__media {
		min-height: 360px !important;
		border-radius: 20px !important;
	}

	.pngrc-hero-badge {
		right: 14px;
		bottom: 14px;
		left: 14px;
		grid-template-columns: auto 1fr;
		gap: 10px 12px;
		padding: 13px;
		border-radius: 15px;
	}

	.pngrc-hero-badge .elementor-widget-text-editor {
		grid-column: 2;
	}

	.pngrc-hero-badge .elementor-icon {
		grid-row: 1 / 3;
	}

	.pngrc-hero-badge .elementor-heading-title {
		font-size: 16px;
	}

	.pngrc-page-hero,
	.pngrc-proof-band,
	.pngrc-metrics,
	.pngrc-project-band,
	.pngrc-cta {
		margin-top: 14px;
		margin-bottom: 14px;
	}
}

/* ==========================================================================
   PNGRC architectural design system 2.0
   The final layer intentionally supersedes earlier design experiments.
   ========================================================================== */

:root {
	--pngrc-ink: #071f29;
	--pngrc-deep: #082f3c;
	--pngrc-navy: #11232d;
	--pngrc-teal: #0f5467;
	--pngrc-cyan: #1efefe;
	--pngrc-cyan-blue: #17aff8;
	--pngrc-cyan-mid: #2bcdda;
	--pngrc-lime: #e6f20d;
	--pngrc-white: #ffffff;
	--pngrc-paper: #f4f8f8;
	--pngrc-muted: #62747a;
	--pngrc-line: rgba(23, 175, 248, 0.26);
	--pngrc-shell: 1180px;
	--pngrc-canvas: 1180px;
	--pngrc-header-height: 92px;
	--pngrc-cut: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 24px 100%, 0 calc(100% - 24px));
	--pngrc-cut-media: polygon(13% 0, 100% 0, 100% 88%, 89% 100%, 0 100%, 0 18%);
}

html {
	scroll-padding-top: calc(var(--pngrc-header-height) + 20px);
}

body.pngrc-site {
	overflow-x: hidden;
	background: var(--pngrc-white) !important;
	color: var(--pngrc-navy);
	font-family: "Inter", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.7;
}

body.pngrc-site::before {
	position: fixed;
	z-index: 9998;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	content: "";
	background: linear-gradient(90deg, var(--pngrc-cyan), var(--pngrc-cyan-blue), var(--pngrc-lime));
	transform: scaleX(0);
	transform-origin: left center;
	pointer-events: none;
}

.site-progress {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.08);
}

.site-progress span {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, var(--pngrc-cyan), var(--pngrc-cyan-blue), var(--pngrc-lime));
	transform: scaleX(0);
	transform-origin: left center;
}

.site-header,
.site-header.is-scrolled {
	height: var(--pngrc-header-height) !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(30, 254, 254, 0.14) !important;
	background: rgba(8, 47, 60, 0.97) !important;
	box-shadow: none !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.site-header.is-scrolled {
	background: rgba(7, 31, 41, 0.96) !important;
	box-shadow: 0 16px 40px rgba(0, 16, 24, 0.22) !important;
}

.site-header__inner {
	gap: 28px !important;
	width: min(calc(100% - 48px), var(--pngrc-shell)) !important;
	max-width: var(--pngrc-shell) !important;
	padding: 0 !important;
}

.site-brand {
	gap: 13px !important;
	min-width: 292px !important;
	color: #fff !important;
}

.site-brand__mark,
.site-header.is-scrolled .site-brand__mark {
	width: 58px !important;
	height: 58px !important;
	border: 1px solid rgba(30, 254, 254, 0.42);
	border-radius: 50% !important;
	background: #fff;
	box-shadow: 0 0 0 6px rgba(30, 254, 254, 0.055);
	object-fit: cover;
}

.site-brand__copy strong {
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.015em;
}

.site-brand__copy small {
	margin-top: 4px;
	color: var(--pngrc-cyan);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.primary-navigation .menu {
	gap: clamp(18px, 2vw, 30px) !important;
}

.primary-navigation a {
	color: rgba(255, 255, 255, 0.86) !important;
	font-size: 13px !important;
	font-weight: 650 !important;
	letter-spacing: 0.01em;
}

.primary-navigation a::after {
	bottom: -12px !important;
	height: 2px !important;
	background: var(--pngrc-cyan) !important;
	transform-origin: left !important;
}

.primary-navigation a:hover,
.primary-navigation .current-menu-item > a {
	color: #fff !important;
}

.header-quote,
.pngrc-button a.elementor-button,
.pngrc-button-link,
.pngrc-form button {
	position: relative;
	isolation: isolate;
	min-height: 52px;
	padding: 14px 23px;
	border: 1px solid var(--pngrc-lime) !important;
	border-radius: 0 !important;
	background: var(--pngrc-lime) !important;
	color: var(--pngrc-ink) !important;
	clip-path: var(--pngrc-cut);
	box-shadow: none !important;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.015em;
	transition: color 220ms ease, background 220ms ease, border-color 220ms ease, transform 220ms ease, filter 220ms ease !important;
}

.header-quote::after,
.pngrc-button a.elementor-button::after,
.pngrc-form button::after {
	margin-left: 13px;
	content: "\2192";
	font-size: 17px;
	line-height: 1;
	transition: transform 220ms ease;
}

.header-quote:hover,
.pngrc-button a.elementor-button:hover,
.pngrc-form button:hover {
	border-color: var(--pngrc-cyan) !important;
	background: var(--pngrc-cyan) !important;
	color: var(--pngrc-ink) !important;
	filter: drop-shadow(0 12px 20px rgba(30, 254, 254, 0.2));
	transform: translateY(-3px) !important;
}

.header-quote:hover::after,
.pngrc-button a.elementor-button:hover::after,
.pngrc-form button:hover::after {
	transform: translateX(5px);
}

.site-main {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	overflow: clip;
	background: var(--pngrc-white);
}

.site-main > .elementor,
.site-main > .elementor > .elementor-element {
	width: 100% !important;
	max-width: none !important;
}

.pngrc-section,
.pngrc-page-hero,
.pngrc-proof-band,
.pngrc-metrics,
.pngrc-project-band,
.pngrc-cta,
.pngrc-hero {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.pngrc-section {
	padding: clamp(88px, 9vw, 132px) max(24px, calc((100vw - var(--pngrc-shell)) / 2)) !important;
	background: #fff;
}

.pngrc-section--compact {
	padding-top: clamp(68px, 7vw, 96px) !important;
	padding-bottom: clamp(68px, 7vw, 96px) !important;
}

.pngrc-section > .elementor-element,
.pngrc-project-band > .elementor-element {
	width: 100% !important;
	max-width: var(--pngrc-shell) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.pngrc-section-heading {
	position: relative;
	width: min(800px, 100%) !important;
	margin: 0 0 clamp(46px, 6vw, 72px) !important;
	padding-left: 74px;
	text-align: left !important;
}

.pngrc-section-heading::before {
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 50px;
	height: 2px;
	content: "";
	background: var(--pngrc-cyan-blue);
	box-shadow: 18px 9px 0 -0.5px rgba(23, 175, 248, 0.46);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 700ms cubic-bezier(.2,.8,.2,1) 160ms;
}

.pngrc-section-heading.is-visible::before,
.pngrc-section-heading:has(.is-visible)::before {
	transform: scaleX(1);
}

.pngrc-section-heading .elementor-heading-title,
.pngrc-section-heading h2 {
	margin: 0 !important;
	color: var(--pngrc-navy) !important;
	font-family: "Manrope", Arial, sans-serif !important;
	font-size: clamp(38px, 4.6vw, 66px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.055em !important;
	line-height: 1.02 !important;
	text-wrap: balance;
}

.pngrc-section-heading .elementor-widget-text-editor {
	max-width: 650px;
	margin-top: 20px !important;
	color: var(--pngrc-muted) !important;
	font-size: clamp(15px, 1.25vw, 18px) !important;
	line-height: 1.75;
}

.pngrc-accent {
	color: var(--pngrc-cyan-blue) !important;
}

/* Unified header + hero field */
.pngrc-hero {
	position: relative;
	isolation: isolate;
	display: grid !important;
	grid-template-columns: minmax(0, 0.84fr) minmax(520px, 1.16fr) !important;
	align-items: center !important;
	gap: clamp(42px, 5vw, 76px) !important;
	min-height: calc(100svh - var(--pngrc-header-height)) !important;
	padding: clamp(64px, 7vw, 104px) max(24px, calc((100vw - var(--pngrc-shell)) / 2)) clamp(76px, 8vw, 118px) !important;
	overflow: hidden !important;
	background:
		linear-gradient(105deg, rgba(7, 31, 41, 0.99) 0%, rgba(8, 47, 60, 0.98) 58%, rgba(9, 55, 68, 0.98) 100%) !important;
	color: #fff !important;
}

.pngrc-hero::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	content: "";
	background:
		linear-gradient(rgba(30, 254, 254, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(30, 254, 254, 0.055) 1px, transparent 1px);
	background-position: center;
	background-size: 48px 48px;
	-webkit-mask-image: linear-gradient(90deg, #000, transparent 58%);
	mask-image: linear-gradient(90deg, #000, transparent 58%);
}

.pngrc-hero::after {
	position: absolute;
	z-index: 3;
	top: 0;
	bottom: 0;
	left: 48.5%;
	width: 1px;
	content: "";
	background: linear-gradient(180deg, transparent, rgba(30, 254, 254, 0.78), transparent);
	box-shadow: 18px 0 0 rgba(30, 254, 254, 0.08), -18px 0 0 rgba(30, 254, 254, 0.08);
	pointer-events: none;
	transform: rotate(21deg) scaleY(1.35);
	transform-origin: center;
}

.pngrc-hero__copy {
	position: relative;
	z-index: 5;
	width: 100% !important;
	max-width: 570px !important;
	padding: 0 !important;
}

.pngrc-hero__copy::before {
	display: block;
	width: 64px;
	height: 4px;
	margin-bottom: 29px;
	content: "";
	background: var(--pngrc-cyan);
	box-shadow: 22px 10px 0 -1px rgba(30, 254, 254, 0.34);
	transform: scaleX(0);
	transform-origin: left;
	animation: pngrc-line-in 850ms cubic-bezier(.2,.8,.2,1) 250ms forwards;
}

.pngrc-hero__copy::after {
	position: absolute !important;
	top: -42px !important;
	right: auto !important;
	bottom: auto !important;
	left: -34px !important;
	width: 18px !important;
	height: 18px !important;
	border-top: 1px solid rgba(30, 254, 254, 0.58) !important;
	border-left: 1px solid rgba(30, 254, 254, 0.58) !important;
	border-radius: 0 !important;
	content: "" !important;
	background: transparent !important;
	animation: none !important;
}

.pngrc-hero__copy .elementor-heading-title {
	margin: 0 !important;
	color: #fff !important;
	font-family: "Manrope", Arial, sans-serif !important;
	font-size: clamp(50px, 5.35vw, 78px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.062em !important;
	line-height: 0.99 !important;
	text-wrap: balance;
}

.pngrc-hero__copy .pngrc-accent {
	color: var(--pngrc-cyan) !important;
}

.pngrc-hero__copy .elementor-widget-text-editor {
	max-width: 545px !important;
	margin-top: 28px !important;
	color: rgba(255, 255, 255, 0.75) !important;
	font-size: clamp(15px, 1.3vw, 18px) !important;
	line-height: 1.72 !important;
}

.pngrc-actions {
	display: flex !important;
	flex-flow: row wrap !important;
	gap: 14px !important;
	margin-top: 34px !important;
}

.pngrc-actions > .elementor-element {
	width: auto !important;
}

.pngrc-button--cyan a.elementor-button {
	border-color: var(--pngrc-cyan) !important;
	background: var(--pngrc-cyan) !important;
	color: var(--pngrc-ink) !important;
}

.pngrc-button--outline a.elementor-button {
	border-color: rgba(255, 255, 255, 0.48) !important;
	background: rgba(255, 255, 255, 0.02) !important;
	color: #fff !important;
}

.pngrc-button--outline a.elementor-button:hover {
	border-color: #fff !important;
	background: #fff !important;
	color: var(--pngrc-ink) !important;
}

.pngrc-hero__media {
	position: relative !important;
	z-index: 2;
	display: block !important;
	align-self: stretch !important;
	width: 100% !important;
	min-height: 570px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #0a3c49 !important;
	box-shadow: 0 34px 90px rgba(0, 12, 18, 0.34) !important;
	clip-path: var(--pngrc-cut-media);
}

.pngrc-hero__media > .elementor-widget-image,
.pngrc-hero__media > .elementor-widget-image > .elementor-widget-container {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.pngrc-hero__media img {
	width: 100% !important;
	height: calc(100% + 40px) !important;
	min-height: 100% !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	object-position: 57% center !important;
	filter: saturate(1.05) contrast(1.04) brightness(0.92);
	transform: translate3d(0, var(--media-shift, 0), 0) scale(1.055) !important;
	transition: filter 500ms ease, transform 900ms cubic-bezier(.2,.8,.2,1) !important;
}

.pngrc-hero__media::before {
	position: absolute !important;
	z-index: 2;
	inset: 0 !important;
	content: "";
	background:
		linear-gradient(180deg, transparent 55%, rgba(7, 31, 41, 0.42)),
		linear-gradient(90deg, rgba(7, 31, 41, 0.2), transparent 28%) !important;
	pointer-events: none;
}

.pngrc-hero__media::after {
	position: absolute;
	z-index: 3;
	top: -20%;
	bottom: -20%;
	left: -30%;
	width: 13%;
	content: "";
	background: linear-gradient(90deg, transparent, rgba(30, 254, 254, 0.14), transparent);
	filter: blur(2px);
	pointer-events: none;
	transform: skewX(-18deg);
	animation: pngrc-scan 8s ease-in-out 1.1s infinite;
}

.pngrc-hero__media:hover img {
	filter: saturate(1.12) contrast(1.05) brightness(0.98);
	transform: translate3d(0, var(--media-shift, 0), 0) scale(1.085) !important;
}

/* Services become editorial rails, not cards */
.pngrc-service-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 0 !important;
	width: 100% !important;
}

.pngrc-service-grid .pngrc-card {
	position: relative;
	display: block !important;
	min-height: 330px;
	padding: 72px 27px 30px !important;
	border: 0 !important;
	border-left: 1px solid rgba(8, 47, 60, 0.15) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transition: color 280ms ease, background 280ms ease, transform 280ms ease !important;
}

.pngrc-service-grid .pngrc-card:last-child {
	border-right: 1px solid rgba(8, 47, 60, 0.15) !important;
}

.pngrc-service-grid .pngrc-card::before {
	position: absolute;
	top: 0;
	left: 27px;
	color: var(--pngrc-deep);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 36px;
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 1;
}

.pngrc-service-grid .pngrc-card:nth-child(1)::before { content: "01"; }
.pngrc-service-grid .pngrc-card:nth-child(2)::before { content: "02"; }
.pngrc-service-grid .pngrc-card:nth-child(3)::before { content: "03"; }
.pngrc-service-grid .pngrc-card:nth-child(4)::before { content: "04"; }

.pngrc-service-grid .pngrc-card::after {
	position: absolute;
	top: 51px;
	bottom: 31px;
	left: 27px;
	width: 2px;
	content: "";
	background: linear-gradient(var(--pngrc-cyan-blue), rgba(23, 175, 248, 0.06));
	transform: scaleY(0.18);
	transform-origin: top;
	transition: transform 450ms cubic-bezier(.2,.8,.2,1);
}

.pngrc-service-grid .pngrc-card:hover {
	z-index: 2;
	background: var(--pngrc-deep) !important;
	color: #fff !important;
	transform: translateY(-9px) !important;
}

.pngrc-service-grid .pngrc-card:hover::before {
	color: var(--pngrc-cyan);
}

.pngrc-service-grid .pngrc-card:hover::after {
	transform: scaleY(1);
}

.pngrc-service-grid .elementor-icon-box-wrapper {
	text-align: left !important;
}

.pngrc-service-grid .elementor-icon-box-icon {
	margin: 0 0 26px 23px !important;
}

.pngrc-service-grid .elementor-icon {
	display: inline-grid;
	width: 62px;
	height: 62px;
	padding: 0 !important;
	border: 1px solid rgba(23, 175, 248, 0.38) !important;
	border-radius: 0 !important;
	place-items: center;
	background: rgba(23, 175, 248, 0.055) !important;
	color: var(--pngrc-cyan-blue) !important;
	font-size: 25px !important;
	clip-path: var(--pngrc-cut);
}

.pngrc-service-grid .elementor-icon-box-title {
	margin: 0 0 14px 23px !important;
	color: var(--pngrc-navy) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
}

.pngrc-service-grid .elementor-icon-box-title a {
	color: inherit !important;
	text-decoration: none;
}

.pngrc-service-grid .elementor-icon-box-description {
	margin: 0 0 0 23px !important;
	color: var(--pngrc-muted) !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
}

.pngrc-service-grid .pngrc-card:hover .elementor-icon-box-title,
.pngrc-service-grid .pngrc-card:hover .elementor-icon-box-description {
	color: #fff !important;
}

/* Metrics rail */
.pngrc-metrics {
	position: relative;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 0 !important;
	padding: 0 max(24px, calc((100vw - var(--pngrc-shell)) / 2)) !important;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(30, 254, 254, 0.04), transparent 28%),
		var(--pngrc-deep) !important;
	color: #fff;
}

.pngrc-metrics::before {
	position: absolute;
	inset: 0;
	content: "";
	background-image:
		linear-gradient(rgba(30, 254, 254, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(30, 254, 254, 0.045) 1px, transparent 1px);
	background-size: 36px 36px;
	-webkit-mask-image: linear-gradient(90deg, #000, transparent 42%);
	mask-image: linear-gradient(90deg, #000, transparent 42%);
	pointer-events: none;
}

.pngrc-metric {
	position: relative;
	z-index: 1;
	display: grid !important;
	grid-template-columns: 58px auto !important;
	align-content: center;
	min-height: 190px;
	padding: 36px clamp(22px, 3vw, 48px) !important;
	border-right: 1px solid rgba(30, 254, 254, 0.2) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.pngrc-metric:first-child {
	border-left: 1px solid rgba(30, 254, 254, 0.2) !important;
}

.pngrc-metric .elementor-widget-icon {
	grid-row: 1 / 3;
	align-self: center;
}

.pngrc-metric .elementor-icon {
	color: var(--pngrc-cyan) !important;
	font-size: 30px !important;
}

.pngrc-metric__value .elementor-heading-title {
	color: var(--pngrc-cyan) !important;
	font-size: clamp(38px, 4vw, 58px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.pngrc-metric__label,
.pngrc-metric__label p {
	margin: 7px 0 0 !important;
	color: rgba(255, 255, 255, 0.72) !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
}

/* Proof and about splits */
.pngrc-proof-band,
.pngrc-about-split,
.pngrc-page-hero {
	display: grid !important;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
	align-items: stretch !important;
	gap: clamp(52px, 7vw, 104px) !important;
	padding: clamp(90px, 9vw, 132px) max(24px, calc((100vw - var(--pngrc-shell)) / 2)) !important;
	background: var(--pngrc-paper) !important;
}

.pngrc-proof-band__copy,
.pngrc-about-split__copy,
.pngrc-page-hero__copy {
	align-self: center;
	width: 100% !important;
	padding: 0 !important;
}

.pngrc-proof-band__copy .elementor-heading-title,
.pngrc-about-split__copy .elementor-heading-title,
.pngrc-page-hero__copy .elementor-heading-title {
	margin: 0 !important;
	color: var(--pngrc-navy) !important;
	font-size: clamp(40px, 4.5vw, 64px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.055em !important;
	line-height: 1.03 !important;
	text-wrap: balance;
}

.pngrc-proof-band__copy .elementor-widget-text-editor,
.pngrc-about-split__copy > .elementor-widget-text-editor,
.pngrc-page-hero__copy .elementor-widget-text-editor {
	max-width: 600px;
	margin-top: 24px !important;
	color: var(--pngrc-muted) !important;
	font-size: clamp(15px, 1.25vw, 18px) !important;
	line-height: 1.78 !important;
}

.pngrc-proof-band__copy .pngrc-button,
.pngrc-about-split__copy > .pngrc-button {
	margin-top: 30px;
}

.pngrc-proof-band__copy .pngrc-button--outline a.elementor-button {
	border-color: var(--pngrc-deep) !important;
	color: var(--pngrc-deep) !important;
}

.pngrc-proof-band__copy .pngrc-button--outline a.elementor-button:hover {
	border-color: var(--pngrc-deep) !important;
	background: var(--pngrc-deep) !important;
	color: #fff !important;
}

.pngrc-proof-band__media,
.pngrc-about-split__media,
.pngrc-page-hero__media {
	position: relative !important;
	min-height: 520px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--pngrc-deep);
	clip-path: var(--pngrc-cut-media);
}

.pngrc-proof-band__media::after,
.pngrc-about-split__media::after,
.pngrc-page-hero__media::after {
	position: absolute;
	z-index: 3;
	right: 18px;
	bottom: 18px;
	width: 74px;
	height: 74px;
	border-right: 1px solid var(--pngrc-cyan);
	border-bottom: 1px solid var(--pngrc-cyan);
	content: "";
	pointer-events: none;
}

.pngrc-proof-band__media > .elementor-widget-image,
.pngrc-about-split__media > .elementor-widget-image,
.pngrc-page-hero__media > .elementor-widget-image,
.pngrc-proof-band__media .elementor-widget-container,
.pngrc-about-split__media .elementor-widget-container,
.pngrc-page-hero__media .elementor-widget-container {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.pngrc-proof-band__media img,
.pngrc-about-split__media img,
.pngrc-page-hero__media img {
	width: 100% !important;
	height: calc(100% + 36px) !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	transform: translate3d(0, var(--media-shift, 0), 0) scale(1.045) !important;
	transition: transform 900ms cubic-bezier(.2,.8,.2,1), filter 400ms ease !important;
}

.pngrc-page-hero {
	min-height: 590px;
	background: var(--pngrc-deep) !important;
	color: #fff;
}

.pngrc-page-hero::before {
	position: absolute;
	inset: 0;
	content: "";
	background-image:
		linear-gradient(rgba(30, 254, 254, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(30, 254, 254, 0.04) 1px, transparent 1px);
	background-size: 46px 46px;
	pointer-events: none;
}

.pngrc-page-hero__copy .elementor-heading-title {
	color: #fff !important;
}

.pngrc-page-hero__copy .elementor-widget-text-editor {
	color: rgba(255, 255, 255, 0.72) !important;
}

.pngrc-value-grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0 !important;
	margin-top: 32px !important;
	border-bottom: 1px solid rgba(8, 47, 60, 0.14);
}

.pngrc-value {
	display: grid !important;
	grid-template-columns: 42px 1fr !important;
	gap: 0 16px !important;
	padding: 20px 0 !important;
	border-top: 1px solid rgba(8, 47, 60, 0.14) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.pngrc-value .elementor-widget-icon {
	grid-row: 1 / 3;
}

.pngrc-value .elementor-icon {
	color: var(--pngrc-cyan-blue) !important;
	font-size: 22px !important;
}

.pngrc-value .elementor-heading-title {
	font-size: 16px !important;
	letter-spacing: -0.02em !important;
}

.pngrc-value .elementor-widget-text-editor,
.pngrc-value p {
	margin: 4px 0 0 !important;
	color: var(--pngrc-muted) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

/* House designs */
.pngrc-front-page .pngrc-section--surface {
	position: relative;
	overflow: hidden;
	background: var(--pngrc-navy) !important;
	color: #fff;
}

.pngrc-front-page .pngrc-section--surface::before,
.pngrc-project-band::before {
	position: absolute;
	inset: 0;
	content: "";
	background:
		linear-gradient(rgba(30, 254, 254, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(30, 254, 254, 0.045) 1px, transparent 1px);
	background-size: 40px 40px;
	-webkit-mask-image: linear-gradient(135deg, #000, transparent 76%);
	mask-image: linear-gradient(135deg, #000, transparent 76%);
	pointer-events: none;
}

.pngrc-front-page .pngrc-section--surface .pngrc-section-heading .elementor-heading-title {
	color: #fff !important;
}

.pngrc-front-page .pngrc-section--surface .pngrc-section-heading .elementor-widget-text-editor {
	color: rgba(255, 255, 255, 0.7) !important;
}

.pngrc-design-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 22px !important;
}

.pngrc-design-card {
	position: relative;
	display: grid !important;
	grid-template-rows: 290px auto;
	min-height: 470px;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid rgba(30, 254, 254, 0.24) !important;
	border-radius: 0 !important;
	background: rgba(7, 31, 41, 0.64) !important;
	box-shadow: none !important;
	clip-path: var(--pngrc-cut);
	transition: border-color 280ms ease, transform 320ms cubic-bezier(.2,.8,.2,1), background 280ms ease !important;
}

.pngrc-design-card::before {
	position: absolute;
	z-index: 4;
	top: 16px;
	left: 16px;
	color: var(--pngrc-cyan);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.16em;
}

.pngrc-design-card:nth-child(1)::before { content: "01 / RESIDENTIAL"; }
.pngrc-design-card:nth-child(2)::before { content: "02 / RESIDENTIAL"; }
.pngrc-design-card:nth-child(3)::before { content: "03 / RESIDENTIAL"; }

.pngrc-design-card:hover {
	border-color: var(--pngrc-cyan) !important;
	background: var(--pngrc-deep) !important;
	transform: translateY(-10px) !important;
}

.pngrc-design-card > .elementor-widget-image,
.pngrc-design-card > .elementor-widget-image .elementor-widget-container {
	width: 100% !important;
	height: 100% !important;
	overflow: hidden;
}

.pngrc-design-card img {
	width: 100% !important;
	height: 100% !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	filter: saturate(0.84) contrast(1.05);
	transition: transform 700ms cubic-bezier(.2,.8,.2,1), filter 400ms ease !important;
}

.pngrc-design-card:hover img {
	filter: saturate(1.08) contrast(1.03);
	transform: scale(1.06) !important;
}

.pngrc-design-card__body {
	position: relative;
	padding: 27px 26px 30px !important;
	border-top: 1px solid rgba(30, 254, 254, 0.22);
}

.pngrc-design-card__body::before {
	position: absolute;
	top: -1px;
	left: 0;
	width: 0;
	height: 2px;
	content: "";
	background: var(--pngrc-cyan);
	transition: width 500ms cubic-bezier(.2,.8,.2,1);
}

.pngrc-design-card:hover .pngrc-design-card__body::before {
	width: 100%;
}

.pngrc-design-card__body .elementor-heading-title {
	color: #fff !important;
	font-size: 25px !important;
}

.pngrc-design-card__body .elementor-widget-text-editor,
.pngrc-design-card__body p {
	color: rgba(255, 255, 255, 0.65) !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
}

.pngrc-text-link a.elementor-button {
	min-height: 40px !important;
	padding: 8px 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--pngrc-cyan) !important;
	clip-path: none !important;
	font-size: 12px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
}

.pngrc-text-link a.elementor-button:hover {
	background: transparent !important;
	color: #fff !important;
	filter: none !important;
	transform: translateX(5px) !important;
}

/* Projects */
.pngrc-project-band {
	position: relative;
	isolation: isolate;
	padding: clamp(92px, 9vw, 132px) max(24px, calc((100vw - var(--pngrc-shell)) / 2)) !important;
	overflow: hidden !important;
	background:
		linear-gradient(135deg, #061f2a 0%, #082f3c 56%, #0a3d4a 100%) !important;
	color: #fff !important;
}

.pngrc-project-band .pngrc-section-heading .elementor-heading-title {
	color: #fff !important;
}

.pngrc-project-feature {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(0, 1.18fr) minmax(330px, 0.82fr) !important;
	align-items: stretch !important;
	gap: 0 !important;
	min-height: 470px !important;
	margin: 0 auto 32px !important;
	overflow: hidden !important;
	border: 1px solid rgba(30, 254, 254, 0.22) !important;
	border-radius: 0 !important;
	background: rgba(5, 28, 37, 0.78) !important;
	box-shadow: none !important;
	clip-path: var(--pngrc-cut);
	transition: border-color 300ms ease, transform 380ms cubic-bezier(.2,.8,.2,1) !important;
}

.pngrc-project-feature:last-child {
	margin-bottom: 0 !important;
}

.pngrc-project-feature:hover {
	border-color: rgba(30, 254, 254, 0.72) !important;
	transform: translateY(-7px) !important;
}

.pngrc-project-feature::after {
	position: absolute;
	z-index: 5;
	top: 22px;
	left: 24px;
	padding: 6px 9px;
	border-left: 2px solid var(--pngrc-cyan);
	background: rgba(7, 31, 41, 0.76);
	color: var(--pngrc-cyan);
	content: "01 / ACTIVE PROJECT";
	font-family: "Manrope", Arial, sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.pngrc-project-feature:nth-of-type(3)::after {
	right: 24px;
	left: auto;
	content: "02 / ACTIVE PROJECT";
}

.pngrc-project-feature--reverse {
	grid-template-columns: minmax(330px, 0.82fr) minmax(0, 1.18fr) !important;
}

.pngrc-project-feature--reverse .pngrc-project-media {
	grid-column: 2 !important;
}

.pngrc-project-feature--reverse .pngrc-project-copy {
	grid-row: 1 !important;
	grid-column: 1 !important;
}

.pngrc-project-media {
	position: relative !important;
	min-height: 470px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 0 !important;
	clip-path: polygon(0 0, 100% 0, 91% 100%, 0 100%);
}

.pngrc-project-feature--reverse .pngrc-project-media {
	clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%);
}

.pngrc-project-media > .elementor-widget-image,
.pngrc-project-media > .elementor-widget-image .elementor-widget-container {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.pngrc-project-media img,
.pngrc-project-feature--reverse .pngrc-project-media img {
	width: 100% !important;
	height: calc(100% + 40px) !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	filter: saturate(0.84) contrast(1.06) brightness(0.88);
	transform: translate3d(0, var(--media-shift, 0), 0) scale(1.05) !important;
	transition: transform 900ms cubic-bezier(.2,.8,.2,1), filter 400ms ease !important;
}

.pngrc-project-feature:hover .pngrc-project-media img {
	filter: saturate(1.08) contrast(1.04) brightness(0.96);
	transform: translate3d(0, var(--media-shift, 0), 0) scale(1.085) !important;
}

.pngrc-project-copy {
	position: relative;
	z-index: 3;
	justify-content: center !important;
	padding: clamp(38px, 5vw, 72px) !important;
	background: transparent !important;
}

.pngrc-project-copy::before {
	width: 48px;
	height: 2px;
	margin-bottom: 24px;
	content: "";
	background: var(--pngrc-cyan);
}

.pngrc-project-copy .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(28px, 3vw, 43px) !important;
	line-height: 1.08 !important;
}

.pngrc-project-copy .elementor-widget-text-editor,
.pngrc-project-copy p {
	color: rgba(255, 255, 255, 0.68) !important;
	font-size: 14px !important;
	line-height: 1.75 !important;
}

.pngrc-project-copy .pngrc-button {
	margin-top: 24px;
}

/* Generic page content */
.pngrc-content-grid,
.pngrc-process-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 22px !important;
}

.pngrc-content-card,
.pngrc-process-grid > .elementor-element {
	position: relative;
	padding: 34px 30px !important;
	border: 0 !important;
	border-top: 3px solid var(--pngrc-cyan-blue) !important;
	border-radius: 0 !important;
	background: var(--pngrc-paper) !important;
	box-shadow: none !important;
	clip-path: var(--pngrc-cut);
	transition: background 280ms ease, color 280ms ease, transform 280ms ease !important;
}

.pngrc-content-card:hover,
.pngrc-process-grid > .elementor-element:hover {
	background: var(--pngrc-deep) !important;
	color: #fff !important;
	transform: translateY(-7px) !important;
}

.pngrc-content-card .elementor-heading-title,
.pngrc-process-grid .elementor-heading-title {
	font-size: clamp(21px, 2vw, 28px) !important;
}

.pngrc-content-card .elementor-widget-text-editor,
.pngrc-process-grid .elementor-widget-text-editor,
.pngrc-content-card p,
.pngrc-process-grid p {
	color: var(--pngrc-muted) !important;
	font-size: 14px !important;
}

.pngrc-content-card:hover .elementor-heading-title,
.pngrc-process-grid > .elementor-element:hover .elementor-heading-title,
.pngrc-content-card:hover .elementor-widget-text-editor,
.pngrc-process-grid > .elementor-element:hover .elementor-widget-text-editor,
.pngrc-content-card:hover p,
.pngrc-process-grid > .elementor-element:hover p {
	color: #fff !important;
}

.pngrc-rich-text {
	max-width: 850px;
	margin: 0 auto;
}

.pngrc-rich-text h2 {
	margin: 50px 0 16px;
	padding-top: 22px;
	border-top: 1px solid rgba(8, 47, 60, 0.15);
	font-size: clamp(27px, 3vw, 40px);
}

/* Contact callout and form */
.pngrc-cta {
	position: relative;
	isolation: isolate;
	display: grid !important;
	grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr) !important;
	align-items: stretch !important;
	gap: 0 !important;
	padding: 0 max(24px, calc((100vw - var(--pngrc-shell)) / 2)) !important;
	overflow: hidden !important;
	background:
		linear-gradient(111deg, var(--pngrc-cyan) 0%, #1bdde9 42%, var(--pngrc-deep) 42.1%, var(--pngrc-deep) 100%) !important;
}

.pngrc-cta__copy {
	position: relative;
	z-index: 2;
	justify-content: center !important;
	min-height: 610px;
	padding: clamp(60px, 7vw, 94px) clamp(42px, 6vw, 82px) clamp(60px, 7vw, 94px) 0 !important;
	overflow: visible !important;
	background: transparent !important;
	color: var(--pngrc-ink) !important;
}

.pngrc-cta__copy::before {
	position: absolute;
	top: 34px;
	left: 0;
	width: 88px;
	height: 88px;
	border-top: 1px solid rgba(7, 31, 41, 0.35);
	border-left: 1px solid rgba(7, 31, 41, 0.35);
	content: "";
	background: transparent !important;
}

.pngrc-cta__copy::after {
	display: none !important;
}

.pngrc-cta__copy .elementor-widget-icon {
	width: 58px !important;
	margin-bottom: 24px !important;
}

.pngrc-cta__copy .elementor-icon {
	color: var(--pngrc-ink) !important;
	font-size: 36px !important;
}

.pngrc-cta__copy .elementor-heading-title {
	max-width: 510px;
	margin: 0 !important;
	color: var(--pngrc-ink) !important;
	font-size: clamp(42px, 4.6vw, 66px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.058em !important;
	line-height: 1.02 !important;
	text-wrap: balance;
}

.pngrc-cta__copy .elementor-widget-text-editor {
	max-width: 470px;
	margin-top: 22px !important;
	color: rgba(7, 31, 41, 0.75) !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
}

.pngrc-cta__form {
	position: relative;
	z-index: 3;
	justify-content: center !important;
	min-width: 0 !important;
	padding: clamp(60px, 7vw, 94px) 0 clamp(60px, 7vw, 94px) clamp(52px, 6vw, 92px) !important;
	overflow: visible !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.pngrc-cta__form::before {
	position: absolute;
	top: 12%;
	bottom: 12%;
	left: 0;
	width: 1px;
	content: "";
	background: linear-gradient(transparent, rgba(30, 254, 254, 0.52), transparent);
}

.pngrc-form {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px !important;
	width: 100%;
	margin: 0 !important;
}

.pngrc-form__field {
	min-width: 0;
}

.pngrc-form__field--full,
.pngrc-form__actions,
.pngrc-form__status {
	grid-column: 1 / -1;
}

.pngrc-form label {
	display: block;
	margin-bottom: 8px;
	color: rgba(255, 255, 255, 0.78) !important;
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pngrc-form input,
.pngrc-form select,
.pngrc-form textarea {
	width: 100% !important;
	min-height: 54px !important;
	padding: 13px 15px !important;
	border: 1px solid rgba(30, 254, 254, 0.26) !important;
	border-radius: 0 !important;
	outline: 0;
	background: rgba(255, 255, 255, 0.055) !important;
	box-shadow: none !important;
	color: #fff !important;
	transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.pngrc-form select option {
	background: var(--pngrc-deep);
	color: #fff;
}

.pngrc-form textarea {
	min-height: 126px !important;
	resize: vertical;
}

.pngrc-form input::placeholder,
.pngrc-form textarea::placeholder {
	color: rgba(255, 255, 255, 0.42);
}

.pngrc-form input:focus,
.pngrc-form select:focus,
.pngrc-form textarea:focus {
	border-color: var(--pngrc-cyan) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	box-shadow: 0 0 0 3px rgba(30, 254, 254, 0.08) !important;
}

.pngrc-form button {
	width: 100%;
	max-width: 240px;
	cursor: pointer;
}

.pngrc-form__status {
	margin: 0;
	padding: 13px 15px;
	border-left: 3px solid var(--pngrc-cyan);
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
}

/* Footer */
.site-footer {
	position: relative;
	margin: 0 !important;
	padding: clamp(72px, 8vw, 110px) 0 0 !important;
	overflow: hidden;
	border: 0 !important;
	background: var(--pngrc-ink) !important;
	color: rgba(255, 255, 255, 0.7);
}

.site-footer::before {
	position: absolute;
	inset: 0;
	content: "";
	background:
		linear-gradient(rgba(30, 254, 254, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(30, 254, 254, 0.045) 1px, transparent 1px);
	background-size: 42px 42px;
	-webkit-mask-image: linear-gradient(90deg, transparent 45%, #000);
	mask-image: linear-gradient(90deg, transparent 45%, #000);
	pointer-events: none;
}

.site-footer__inner {
	position: relative;
	z-index: 2;
	display: grid !important;
	grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr) !important;
	gap: 56px !important;
	width: min(calc(100% - 48px), var(--pngrc-shell)) !important;
	max-width: var(--pngrc-shell) !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.site-footer__brand {
	display: grid !important;
	grid-template-columns: 82px 1fr !important;
	align-items: center !important;
	gap: 20px !important;
}

.site-footer__brand img {
	width: 82px !important;
	height: 82px !important;
	border: 1px solid rgba(30, 254, 254, 0.28);
	border-radius: 50% !important;
	background: #fff;
	object-fit: cover;
}

.site-footer__brand p,
.site-footer__brand strong {
	color: #fff !important;
}

.site-footer__brand p {
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
}

.footer-navigation {
	align-self: center;
}

.footer-navigation .menu {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px 26px !important;
}

.footer-navigation a {
	color: rgba(255, 255, 255, 0.68) !important;
	font-size: 13px;
	text-decoration: none;
	transition: color 180ms ease, transform 180ms ease;
}

.footer-navigation a:hover {
	color: var(--pngrc-cyan) !important;
}

.site-footer__meta {
	grid-column: 1 / -1;
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center !important;
	gap: 8px 24px !important;
	width: 100% !important;
	margin: 18px 0 0 !important;
	padding: 28px 20px 34px !important;
	border-top: 1px solid rgba(30, 254, 254, 0.16) !important;
	text-align: center !important;
}

.site-footer__meta p {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.56) !important;
	font-size: 12px !important;
}

.site-footer__meta p + p::before {
	display: none !important;
}

.site-footer__meta a {
	color: var(--pngrc-cyan) !important;
	font-weight: 700;
	text-decoration: none;
}

/* Motion system */
.pngrc-reveal,
.pngrc-stagger > .elementor-element {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
	transition:
		opacity 720ms cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms),
		transform 720ms cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms) !important;
}

.pngrc-reveal.is-visible,
.pngrc-stagger > .elementor-element.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.is-magnetic {
	will-change: transform;
}

@keyframes pngrc-line-in {
	to { transform: scaleX(1); }
}

@keyframes pngrc-scan {
	0%, 18% { left: -30%; opacity: 0; }
	28% { opacity: 1; }
	62% { left: 118%; opacity: 0.8; }
	72%, 100% { left: 118%; opacity: 0; }
}

@media (max-width: 1100px) {
	:root {
		--pngrc-header-height: 84px;
	}

	.site-brand {
		min-width: 246px !important;
	}

	.site-brand__copy strong {
		font-size: 12px;
	}

	.primary-navigation .menu {
		gap: 16px !important;
	}

	.primary-navigation a {
		font-size: 12px !important;
	}

	.header-quote {
		padding-right: 16px;
		padding-left: 16px;
		font-size: 12px;
	}

	.pngrc-hero {
		grid-template-columns: minmax(0, 0.9fr) minmax(430px, 1.1fr) !important;
	}

	.pngrc-hero__copy .elementor-heading-title {
		font-size: clamp(48px, 6.2vw, 68px) !important;
	}
}

@media (max-width: 960px) {
	.site-header__inner {
		width: min(calc(100% - 36px), var(--pngrc-shell)) !important;
	}

	.site-brand {
		min-width: 0 !important;
		margin-right: auto;
	}

	.header-quote {
		display: none !important;
	}

	.menu-toggle {
		display: grid !important;
		width: 48px !important;
		height: 48px !important;
		border: 1px solid rgba(30, 254, 254, 0.3) !important;
		border-radius: 0 !important;
		place-content: center;
		background: rgba(30, 254, 254, 0.04) !important;
		clip-path: var(--pngrc-cut);
	}

	.menu-toggle span {
		background: #fff !important;
	}

	.primary-navigation {
		position: fixed !important;
		z-index: 999;
		top: var(--pngrc-header-height) !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		display: grid !important;
		align-content: start;
		padding: 42px 24px !important;
		overflow-y: auto;
		background: rgba(7, 31, 41, 0.99) !important;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-18px);
		transition: opacity 220ms ease, transform 220ms ease !important;
	}

	.primary-navigation.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.primary-navigation .menu {
		display: grid !important;
		gap: 0 !important;
		width: min(100%, 620px);
		margin: 0 auto !important;
	}

	.primary-navigation li {
		border-bottom: 1px solid rgba(30, 254, 254, 0.14);
	}

	.primary-navigation a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 19px 2px;
		color: #fff !important;
		font-family: "Manrope", Arial, sans-serif;
		font-size: 22px !important;
	}

	.primary-navigation a::before {
		order: 2;
		color: var(--pngrc-cyan);
		content: "\2192";
	}

	.primary-navigation a::after {
		display: none;
	}

	.pngrc-hero {
		grid-template-columns: 1fr !important;
		gap: 48px !important;
		min-height: auto !important;
		padding-top: 76px !important;
	}

	.pngrc-hero::after {
		display: none;
	}

	.pngrc-hero__copy {
		max-width: 690px !important;
	}

	.pngrc-hero__media {
		min-height: 490px !important;
	}

	.pngrc-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.pngrc-service-grid .pngrc-card:nth-child(3) {
		border-top: 1px solid rgba(8, 47, 60, 0.15) !important;
	}

	.pngrc-service-grid .pngrc-card:nth-child(4) {
		border-top: 1px solid rgba(8, 47, 60, 0.15) !important;
		border-right: 1px solid rgba(8, 47, 60, 0.15) !important;
	}

	.pngrc-metrics {
		grid-template-columns: 1fr !important;
	}

	.pngrc-metric,
	.pngrc-metric:first-child {
		min-height: 150px;
		border-right: 1px solid rgba(30, 254, 254, 0.2) !important;
		border-bottom: 1px solid rgba(30, 254, 254, 0.2) !important;
		border-left: 1px solid rgba(30, 254, 254, 0.2) !important;
	}

	.pngrc-proof-band,
	.pngrc-about-split,
	.pngrc-page-hero {
		grid-template-columns: 1fr !important;
		gap: 48px !important;
	}

	.pngrc-design-grid,
	.pngrc-content-grid,
	.pngrc-process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.pngrc-design-card:last-child {
		grid-column: 1 / -1;
	}

	.pngrc-project-feature,
	.pngrc-project-feature--reverse {
		grid-template-columns: 1fr !important;
	}

	.pngrc-project-feature--reverse .pngrc-project-media,
	.pngrc-project-feature--reverse .pngrc-project-copy {
		grid-row: auto !important;
		grid-column: auto !important;
	}

	.pngrc-project-media,
	.pngrc-project-feature--reverse .pngrc-project-media {
		min-height: 420px !important;
		clip-path: polygon(0 0, 100% 0, 100% 90%, 92% 100%, 0 100%) !important;
	}

	.pngrc-project-feature:nth-of-type(3)::after {
		right: auto;
		left: 24px;
	}

	.pngrc-cta {
		grid-template-columns: 1fr !important;
		background: linear-gradient(180deg, var(--pngrc-cyan) 0 43%, var(--pngrc-deep) 43.1% 100%) !important;
	}

	.pngrc-cta__copy,
	.pngrc-cta__form {
		min-height: auto;
		padding: 76px 0 !important;
	}

	.pngrc-cta__copy {
		padding-bottom: 110px !important;
	}

	.pngrc-cta__form {
		padding-top: 84px !important;
	}

	.pngrc-cta__form::before {
		top: 0;
		right: 0;
		bottom: auto;
		width: auto;
		height: 1px;
	}
}

@media (max-width: 680px) {
	:root {
		--pngrc-header-height: 74px;
		--pngrc-cut: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
	}

	.site-header,
	.site-header.is-scrolled {
		height: var(--pngrc-header-height) !important;
	}

	.site-header__inner {
		width: calc(100% - 28px) !important;
	}

	.site-brand__mark,
	.site-header.is-scrolled .site-brand__mark {
		width: 46px !important;
		height: 46px !important;
		box-shadow: 0 0 0 4px rgba(30, 254, 254, 0.05);
	}

	.site-brand__copy strong {
		font-size: 10px;
	}

	.site-brand__copy small {
		font-size: 8px;
		letter-spacing: 0.08em;
	}

	.menu-toggle {
		width: 44px !important;
		height: 44px !important;
	}

	.pngrc-section,
	.pngrc-proof-band,
	.pngrc-about-split,
	.pngrc-page-hero,
	.pngrc-project-band {
		padding: 76px 20px !important;
	}

	.pngrc-section-heading {
		margin-bottom: 42px !important;
		padding-left: 0;
	}

	.pngrc-section-heading::before {
		position: static;
		display: block;
		margin-bottom: 22px;
	}

	.pngrc-section-heading .elementor-heading-title,
	.pngrc-section-heading h2 {
		font-size: clamp(34px, 10vw, 48px) !important;
	}

	.pngrc-section-heading .elementor-widget-text-editor {
		font-size: 15px !important;
	}

	.pngrc-hero {
		gap: 38px !important;
		padding: 56px 20px 64px !important;
	}

	.pngrc-hero__copy::before {
		width: 50px;
		margin-bottom: 24px;
	}

	.pngrc-hero__copy::after {
		display: none;
	}

	.pngrc-hero__copy .elementor-heading-title {
		font-size: clamp(42px, 12.8vw, 58px) !important;
		line-height: 0.98 !important;
	}

	.pngrc-hero__copy .elementor-widget-text-editor {
		margin-top: 23px !important;
		font-size: 15px !important;
		line-height: 1.65 !important;
	}

	.pngrc-actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 11px !important;
		margin-top: 28px !important;
	}

	.pngrc-actions > .elementor-element,
	.pngrc-actions a.elementor-button {
		width: 100% !important;
	}

	.pngrc-hero__media {
		min-height: 320px !important;
		clip-path: polygon(11% 0, 100% 0, 100% 86%, 88% 100%, 0 100%, 0 18%);
	}

	.pngrc-service-grid {
		grid-template-columns: 1fr !important;
	}

	.pngrc-service-grid .pngrc-card,
	.pngrc-service-grid .pngrc-card:nth-child(3),
	.pngrc-service-grid .pngrc-card:nth-child(4),
	.pngrc-service-grid .pngrc-card:last-child {
		min-height: 285px;
		padding: 66px 24px 28px !important;
		border-top: 1px solid rgba(8, 47, 60, 0.15) !important;
		border-right: 1px solid rgba(8, 47, 60, 0.15) !important;
		border-left: 1px solid rgba(8, 47, 60, 0.15) !important;
	}

	.pngrc-service-grid .pngrc-card:first-child {
		border-top: 0 !important;
	}

	.pngrc-service-grid .pngrc-card::before,
	.pngrc-service-grid .pngrc-card::after {
		left: 24px;
	}

	.pngrc-metrics {
		padding: 0 20px !important;
	}

	.pngrc-metric {
		grid-template-columns: 48px auto !important;
		min-height: 132px;
		padding: 28px 22px !important;
	}

	.pngrc-metric__value .elementor-heading-title {
		font-size: 41px !important;
	}

	.pngrc-proof-band__copy .elementor-heading-title,
	.pngrc-about-split__copy .elementor-heading-title,
	.pngrc-page-hero__copy .elementor-heading-title,
	.pngrc-cta__copy .elementor-heading-title {
		font-size: clamp(36px, 10.8vw, 50px) !important;
	}

	.pngrc-proof-band__media,
	.pngrc-about-split__media,
	.pngrc-page-hero__media {
		min-height: 350px !important;
	}

	.pngrc-design-grid,
	.pngrc-content-grid,
	.pngrc-process-grid {
		grid-template-columns: 1fr !important;
	}

	.pngrc-design-card,
	.pngrc-design-card:last-child {
		grid-row: auto;
		grid-column: auto;
		min-height: 450px;
	}

	.pngrc-project-feature {
		min-height: 0 !important;
	}

	.pngrc-project-media,
	.pngrc-project-feature--reverse .pngrc-project-media {
		min-height: 300px !important;
	}

	.pngrc-project-copy {
		padding: 38px 26px 44px !important;
	}

	.pngrc-cta {
		padding: 0 20px !important;
		background: linear-gradient(180deg, var(--pngrc-cyan) 0 38%, var(--pngrc-deep) 38.1% 100%) !important;
	}

	.pngrc-cta__copy {
		padding: 66px 0 86px !important;
	}

	.pngrc-cta__copy::before {
		top: 24px;
		width: 54px;
		height: 54px;
	}

	.pngrc-cta__form {
		padding: 72px 0 !important;
	}

	.pngrc-form {
		grid-template-columns: 1fr;
	}

	.pngrc-form__field,
	.pngrc-form__field--full,
	.pngrc-form__actions,
	.pngrc-form__status {
		grid-column: 1;
	}

	.pngrc-form button {
		max-width: none;
	}

	.site-footer {
		padding-top: 64px !important;
	}

	.site-footer__inner {
		grid-template-columns: 1fr !important;
		gap: 40px !important;
		width: calc(100% - 40px) !important;
	}

	.site-footer__brand {
		grid-template-columns: 68px 1fr !important;
	}

	.site-footer__brand img {
		width: 68px !important;
		height: 68px !important;
	}

	.footer-navigation .menu {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.site-footer__meta {
		display: grid !important;
		grid-column: 1;
		gap: 7px !important;
		margin-top: 4px !important;
		padding: 27px 12px 32px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.pngrc-reveal,
	.pngrc-stagger > .elementor-element {
		opacity: 1 !important;
		transform: none !important;
	}

	.header-quote::before,
	.site-main .pngrc-button a.elementor-button::before,
	.site-main .pngrc-form button::before {
		transition: none !important;
	}

	.site-main .pngrc-design-card,
	.site-main .pngrc-design-card:hover,
	.site-main .pngrc-design-card .pngrc-text-link a.elementor-button:hover {
		transform: none !important;
	}
}

/* ==========================================================================
   Clean geometry and interaction polish — v2.2
   Complete edges replace the previous clipped-corner motif.
   ========================================================================== */

:root {
	--pngrc-radius-control: 6px;
	--pngrc-radius-card: 8px;
	--pngrc-radius-media: 10px;
	--pngrc-cut: none;
	--pngrc-cut-media: none;
}

body.pngrc-site .site-main [class*="pngrc-"],
body.pngrc-site .site-header [class*="pngrc-"] {
	clip-path: none !important;
}

body.pngrc-site .site-main img,
.header-quote,
.menu-toggle {
	clip-path: none !important;
}

.header-quote,
.pngrc-button a.elementor-button,
.pngrc-button-link,
.pngrc-form button {
	overflow: hidden;
	border-radius: var(--pngrc-radius-control) !important;
	box-shadow: 0 12px 28px rgba(7, 31, 41, 0.16) !important;
}

.header-quote:focus-visible,
.pngrc-button a.elementor-button:focus-visible,
.pngrc-text-link a.elementor-button:focus-visible,
.pngrc-form button:focus-visible,
.menu-toggle:focus-visible {
	outline: 3px solid rgba(30, 254, 254, 0.48);
	outline-offset: 3px;
}

.header-quote:hover,
.pngrc-button a.elementor-button:hover,
.pngrc-form button:hover {
	box-shadow: 0 16px 36px rgba(30, 254, 254, 0.2) !important;
}

.pngrc-button .elementor-button-wrapper,
.pngrc-text-link .elementor-button-wrapper {
	width: 100%;
	text-align: center !important;
}

.pngrc-actions {
	justify-content: center !important;
}

.pngrc-form__actions {
	display: flex;
	justify-content: center;
}

.menu-toggle {
	border-radius: var(--pngrc-radius-control) !important;
}

/* Hero media keeps its cinematic treatment without cropped corners. */
.pngrc-hero__media {
	border: 1px solid rgba(30, 254, 254, 0.22) !important;
	border-radius: var(--pngrc-radius-media) !important;
	box-shadow:
		0 34px 90px rgba(0, 12, 18, 0.34),
		0 0 0 1px rgba(255, 255, 255, 0.03) inset !important;
}

.pngrc-hero__media img {
	border-radius: inherit !important;
}

.pngrc-hero::after {
	left: 50%;
	width: 1px;
	box-shadow: 14px 0 0 rgba(30, 254, 254, 0.06), -14px 0 0 rgba(30, 254, 254, 0.06);
	opacity: 0.7;
	transform: none;
}

/* Service grid: balanced cards, centered icons and complete edges. */
.site-main .pngrc-service-grid {
	gap: 18px !important;
}

.site-main .pngrc-service-grid .pngrc-card,
.site-main .pngrc-service-grid .pngrc-card:nth-child(3),
.site-main .pngrc-service-grid .pngrc-card:nth-child(4),
.site-main .pngrc-service-grid .pngrc-card:last-child {
	min-height: 330px;
	padding: 70px 28px 34px !important;
	overflow: hidden;
	border: 1px solid rgba(8, 47, 60, 0.14) !important;
	border-radius: var(--pngrc-radius-card) !important;
	background: #fff !important;
	box-shadow: 0 18px 48px rgba(7, 31, 41, 0.08) !important;
}

.site-main .pngrc-service-grid .pngrc-card:hover {
	border-color: rgba(30, 254, 254, 0.72) !important;
	background: var(--pngrc-deep) !important;
	box-shadow: 0 24px 60px rgba(7, 31, 41, 0.2) !important;
}

.site-main .pngrc-service-grid .elementor-icon-box-wrapper {
	text-align: center !important;
}

.site-main .pngrc-service-grid .elementor-icon-box-icon {
	margin: 0 auto 24px !important;
}

.site-main .pngrc-service-grid .elementor-icon {
	display: inline-grid;
	width: 64px;
	height: 64px;
	border-radius: var(--pngrc-radius-card) !important;
	place-items: center;
}

.site-main .pngrc-service-grid .elementor-icon-box-title,
.site-main .pngrc-service-grid .elementor-icon-box-description {
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* Media panels, design cards and content cards use a restrained radius. */
.pngrc-proof-band__media,
.pngrc-about-split__media,
.pngrc-page-hero__media {
	border: 1px solid rgba(8, 47, 60, 0.1) !important;
	border-radius: var(--pngrc-radius-media) !important;
	box-shadow: 0 24px 60px rgba(7, 31, 41, 0.13) !important;
}

.pngrc-proof-band__media img,
.pngrc-about-split__media img,
.pngrc-page-hero__media img {
	border-radius: inherit !important;
}

.site-main .pngrc-design-card {
	border-radius: var(--pngrc-radius-card) !important;
	box-shadow: 0 18px 48px rgba(0, 12, 18, 0.16) !important;
}

.site-main .pngrc-design-card:hover {
	box-shadow: 0 26px 64px rgba(0, 12, 18, 0.28) !important;
}

.site-main .pngrc-design-card img {
	border-radius: 0 !important;
}

.site-main .pngrc-design-card .pngrc-text-link a.elementor-button {
	width: min(100%, 220px) !important;
	min-height: 50px !important;
	padding: 12px 20px !important;
	border: 1px solid var(--pngrc-lime) !important;
	border-radius: var(--pngrc-radius-control) !important;
	background: var(--pngrc-lime) !important;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16) !important;
	color: var(--pngrc-ink) !important;
	clip-path: none !important;
	font-size: 12px !important;
	letter-spacing: 0.06em !important;
	transform: none !important;
}

.site-main .pngrc-design-card .pngrc-text-link a.elementor-button:hover,
.site-main .pngrc-design-card .pngrc-text-link a.elementor-button:focus-visible {
	border-color: var(--pngrc-cyan) !important;
	background: var(--pngrc-cyan) !important;
	color: var(--pngrc-ink) !important;
	box-shadow: 0 16px 34px rgba(30, 254, 254, 0.2) !important;
	transform: translateY(-3px) !important;
}

.pngrc-project-feature {
	border-radius: var(--pngrc-radius-media) !important;
	box-shadow: 0 22px 58px rgba(0, 12, 18, 0.22) !important;
}

.pngrc-project-feature:hover {
	box-shadow: 0 30px 72px rgba(0, 12, 18, 0.32) !important;
}

.pngrc-project-media {
	border-radius: var(--pngrc-radius-media) 0 0 var(--pngrc-radius-media) !important;
}

.pngrc-project-feature--reverse .pngrc-project-media {
	border-radius: 0 var(--pngrc-radius-media) var(--pngrc-radius-media) 0 !important;
}

.pngrc-content-card,
.pngrc-process-grid > .elementor-element {
	border-radius: var(--pngrc-radius-card) !important;
	box-shadow: 0 16px 42px rgba(7, 31, 41, 0.08) !important;
}

.pngrc-content-card:hover,
.pngrc-process-grid > .elementor-element:hover {
	box-shadow: 0 22px 54px rgba(7, 31, 41, 0.18) !important;
}

/* Forms are clean and tactile, with no clipped fields or buttons. */
.pngrc-form input,
.pngrc-form select,
.pngrc-form textarea {
	border-radius: var(--pngrc-radius-control) !important;
}

.site-footer__meta {
	min-height: 82px;
	padding: 30px 24px 36px !important;
	text-align: center !important;
}

.site-footer__meta p {
	text-align: center !important;
}

@media (min-width: 961px) {
	body.pngrc-site .site-main .pngrc-cta {
		background: linear-gradient(
			90deg,
			var(--pngrc-cyan) 0%,
			#1bdde9 42%,
			var(--pngrc-deep) 42%,
			var(--pngrc-deep) 100%
		) !important;
	}
}

@media (max-width: 960px) {
	.pngrc-project-media,
	.pngrc-project-feature--reverse .pngrc-project-media {
		border-radius: var(--pngrc-radius-media) var(--pngrc-radius-media) 0 0 !important;
	}

	body.pngrc-site .site-main .pngrc-cta {
		background: linear-gradient(
			180deg,
			var(--pngrc-cyan) 0%,
			#1bdde9 43%,
			var(--pngrc-deep) 43%,
			var(--pngrc-deep) 100%
		) !important;
	}
}

@media (max-width: 680px) {
	.pngrc-actions {
		justify-items: center;
	}

	.pngrc-actions > .elementor-element,
	.pngrc-actions a.elementor-button {
		width: min(100%, 320px) !important;
	}

	.pngrc-hero__media {
		border-radius: var(--pngrc-radius-card) !important;
	}

	.site-main .pngrc-service-grid {
		gap: 14px !important;
	}

	.site-main .pngrc-service-grid .pngrc-card,
	.site-main .pngrc-service-grid .pngrc-card:nth-child(3),
	.site-main .pngrc-service-grid .pngrc-card:nth-child(4),
	.site-main .pngrc-service-grid .pngrc-card:last-child {
		min-height: 300px;
		padding: 64px 24px 30px !important;
	}

	.pngrc-form button {
		width: min(100%, 320px);
	}

	.site-footer__meta {
		min-height: 0;
		padding: 30px 16px 38px !important;
	}
}

/* ==========================================================================
   Full-bleed hero, design plans and whole-site refinement — v2.3
   ========================================================================== */

html {
	scroll-padding-top: calc(var(--pngrc-header-height) + 24px);
}

body.pngrc-site .site-main {
	overflow: clip;
}

.site-header,
.site-header.is-scrolled {
	border-bottom-color: rgba(30, 254, 254, 0.12) !important;
	background: rgba(7, 31, 41, 0.96) !important;
	box-shadow: 0 14px 34px rgba(0, 12, 18, 0.14) !important;
	backdrop-filter: blur(14px) saturate(1.1);
}

/* The Elementor image stays editable, but becomes a real full-width backdrop. */
.pngrc-hero {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	min-height: calc(100svh - var(--pngrc-header-height)) !important;
	padding:
		clamp(86px, 9vw, 132px)
		max(24px, calc((100vw - var(--pngrc-shell)) / 2))
		clamp(94px, 10vw, 144px) !important;
	overflow: hidden !important;
	background: var(--pngrc-deep) !important;
}

.pngrc-hero::before {
	z-index: 2 !important;
	background:
		linear-gradient(rgba(30, 254, 254, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(30, 254, 254, 0.035) 1px, transparent 1px) !important;
	background-size: 56px 56px !important;
	opacity: 0.55;
	-webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0.72) 44%, transparent 86%) !important;
	mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0.72) 44%, transparent 86%) !important;
}

.pngrc-hero::after {
	z-index: 4 !important;
	top: auto !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 2px !important;
	background: linear-gradient(90deg, var(--pngrc-cyan), rgba(30, 254, 254, 0.08) 64%, transparent) !important;
	box-shadow: none !important;
	opacity: 0.8 !important;
	transform: none !important;
}

.pngrc-hero__copy {
	z-index: 5 !important;
	max-width: 650px !important;
	padding: 0 !important;
}

.pngrc-hero__copy::after {
	display: none !important;
}

.pngrc-hero__copy .elementor-heading-title {
	max-width: 760px;
	font-size: clamp(54px, 6.4vw, 92px) !important;
	line-height: 0.95 !important;
	text-shadow: 0 4px 30px rgba(0, 10, 16, 0.28);
}

.pngrc-hero__copy .elementor-widget-text-editor {
	max-width: 590px !important;
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: clamp(16px, 1.32vw, 19px) !important;
}

.pngrc-hero__media {
	position: absolute !important;
	z-index: 0 !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--pngrc-deep) !important;
	box-shadow: none !important;
	pointer-events: none;
}

.pngrc-hero__media > .elementor-widget-image,
.pngrc-hero__media > .elementor-widget-image > .elementor-widget-container {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.pngrc-hero__media img {
	width: 100% !important;
	height: calc(100% + 44px) !important;
	min-height: 100% !important;
	border-radius: 0 !important;
	opacity: 0.48;
	object-fit: cover !important;
	object-position: 58% center !important;
	filter: saturate(0.94) contrast(1.06) brightness(0.78) !important;
	transform: translate3d(0, var(--media-shift, 0), 0) scale(1.035) !important;
	transition: transform 1.2s cubic-bezier(.2,.8,.2,1) !important;
}

.pngrc-hero__media::before {
	z-index: 2 !important;
	background:
		linear-gradient(90deg, rgba(7, 31, 41, 0.99) 0%, rgba(7, 31, 41, 0.93) 35%, rgba(7, 31, 41, 0.64) 64%, rgba(7, 31, 41, 0.34) 100%),
		linear-gradient(180deg, rgba(7, 31, 41, 0.2), rgba(7, 31, 41, 0.36)) !important;
}

.pngrc-hero__media::after {
	display: none !important;
}

.pngrc-hero__media:hover img {
	filter: saturate(0.94) contrast(1.06) brightness(0.78) !important;
	transform: translate3d(0, var(--media-shift, 0), 0) scale(1.035) !important;
}

.pngrc-hero .pngrc-actions {
	justify-content: flex-start !important;
}

.pngrc-hero .pngrc-button a.elementor-button {
	min-width: 210px;
}

.pngrc-hero .pngrc-button--outline a.elementor-button {
	border-color: rgba(255, 255, 255, 0.7) !important;
	background: rgba(7, 31, 41, 0.46) !important;
	backdrop-filter: blur(8px);
}

/* Internal heroes use the same photographic backdrop system. */
.pngrc-page-hero {
	position: relative !important;
	isolation: isolate;
	display: flex !important;
	align-items: center !important;
	min-height: clamp(430px, 52vw, 610px) !important;
	padding:
		clamp(92px, 10vw, 138px)
		max(24px, calc((100vw - var(--pngrc-shell)) / 2))
		clamp(82px, 9vw, 124px) !important;
	overflow: hidden !important;
	background: var(--pngrc-deep) !important;
}

.pngrc-page-hero::before {
	position: absolute !important;
	z-index: 1 !important;
	inset: 0 !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	content: "" !important;
	background:
		linear-gradient(rgba(30, 254, 254, 0.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(30, 254, 254, 0.03) 1px, transparent 1px) !important;
	background-size: 52px 52px !important;
	opacity: 0.65;
	transform: none !important;
}

.pngrc-page-hero__copy {
	position: relative !important;
	z-index: 4 !important;
	width: min(100%, 800px) !important;
	max-width: 800px !important;
	padding: 0 !important;
}

.pngrc-page-hero__copy::before {
	display: block;
	width: 58px;
	height: 4px;
	margin-bottom: 26px;
	content: "";
	background: var(--pngrc-cyan);
}

.pngrc-page-hero__copy .elementor-heading-title {
	max-width: 780px !important;
	color: #fff !important;
	font-size: clamp(48px, 6vw, 82px) !important;
	line-height: 0.98 !important;
	text-shadow: 0 4px 30px rgba(0, 10, 16, 0.3);
}

.pngrc-page-hero__copy .elementor-widget-text-editor {
	max-width: 680px !important;
	color: rgba(255, 255, 255, 0.8) !important;
	font-size: clamp(16px, 1.35vw, 19px) !important;
	line-height: 1.72 !important;
}

.pngrc-page-hero__media {
	position: absolute !important;
	z-index: 0 !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--pngrc-deep) !important;
	box-shadow: none !important;
	pointer-events: none;
}

.pngrc-page-hero__media::after {
	z-index: 2 !important;
	inset: 0 !important;
	width: auto !important;
	height: auto !important;
	border: 0 !important;
	content: "" !important;
	background:
		linear-gradient(90deg, rgba(7, 31, 41, 0.98) 0%, rgba(7, 31, 41, 0.88) 42%, rgba(7, 31, 41, 0.5) 75%, rgba(7, 31, 41, 0.35) 100%),
		linear-gradient(180deg, rgba(7, 31, 41, 0.2), rgba(7, 31, 41, 0.38)) !important;
	opacity: 1 !important;
	transform: none !important;
}

.pngrc-page-hero__media > .elementor-widget-image,
.pngrc-page-hero__media > .elementor-widget-image > .elementor-widget-container {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.pngrc-page-hero__media img {
	width: 100% !important;
	height: calc(100% + 36px) !important;
	min-height: 100% !important;
	border-radius: 0 !important;
	opacity: 0.36;
	object-fit: cover !important;
	object-position: center !important;
	filter: saturate(0.92) contrast(1.06) brightness(0.8) !important;
	transform: translate3d(0, var(--media-shift, 0), 0) scale(1.035) !important;
}

/* Plans belong on the design page, where visitors compare and decide. */
.pngrc-design-showcase-list {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: clamp(30px, 4vw, 52px) !important;
	width: 100% !important;
}

.pngrc-design-showcase {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(0, 1.62fr) minmax(300px, 0.68fr) !important;
	gap: 0 !important;
	min-height: 600px;
	overflow: hidden;
	border: 1px solid rgba(8, 47, 60, 0.14) !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 26px 70px rgba(7, 31, 41, 0.12) !important;
	scroll-margin-top: calc(var(--pngrc-header-height) + 28px);
	transition: border-color 280ms ease, box-shadow 280ms ease, transform 280ms ease !important;
}

.pngrc-design-showcase:hover {
	border-color: rgba(30, 254, 254, 0.58) !important;
	box-shadow: 0 34px 88px rgba(7, 31, 41, 0.2) !important;
	transform: translateY(-4px) !important;
}

.pngrc-design-showcase__visuals {
	display: grid !important;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
	gap: 0 !important;
	min-width: 0;
	background: #f4f8f9;
}

.pngrc-design-showcase__media {
	position: relative;
	display: block !important;
	min-width: 0;
	min-height: 600px;
	overflow: hidden;
	background: #fff;
}

.pngrc-design-showcase__media > .elementor-widget-image,
.pngrc-design-showcase__media > .elementor-widget-image > .elementor-widget-container {
	width: 100% !important;
	height: 100% !important;
}

.pngrc-design-showcase__media img {
	width: 100% !important;
	height: 100% !important;
	min-height: 600px !important;
	border-radius: 0 !important;
	transition: transform 500ms cubic-bezier(.2,.8,.2,1), filter 400ms ease !important;
}

.pngrc-design-showcase__exterior img {
	object-fit: cover !important;
	object-position: center !important;
	filter: saturate(0.94) contrast(1.02);
}

.pngrc-design-showcase:hover .pngrc-design-showcase__exterior img {
	transform: scale(1.035);
}

.pngrc-design-showcase__plan {
	border-left: 1px solid rgba(8, 47, 60, 0.1);
	cursor: zoom-in;
}

.pngrc-design-showcase__plan img {
	padding: clamp(18px, 2vw, 30px) !important;
	object-fit: contain !important;
	background: #fff !important;
}

.pngrc-design-showcase__plan:hover img,
.pngrc-design-showcase__plan:focus-within img {
	transform: scale(1.025);
}

.pngrc-design-showcase__plan img:focus-visible {
	outline: 3px solid var(--pngrc-cyan);
	outline-offset: -3px;
}

.pngrc-media-label {
	position: absolute !important;
	z-index: 3;
	top: 18px;
	left: 18px;
	width: auto !important;
	margin: 0 !important;
	pointer-events: none;
}

.pngrc-media-label .elementor-widget-container,
.pngrc-media-label p {
	margin: 0 !important;
}

.pngrc-media-label p {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 8px 12px;
	border: 1px solid rgba(30, 254, 254, 0.32);
	border-radius: 4px;
	background: rgba(7, 31, 41, 0.9);
	color: #fff;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
}

.pngrc-design-showcase__plan .pngrc-media-label p {
	border-color: rgba(8, 47, 60, 0.16);
	background: rgba(255, 255, 255, 0.94);
	color: var(--pngrc-deep);
}

.pngrc-design-showcase__content {
	position: relative;
	z-index: 2;
	display: flex !important;
	justify-content: center !important;
	padding: clamp(38px, 4vw, 58px) !important;
	background:
		linear-gradient(rgba(30, 254, 254, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(30, 254, 254, 0.045) 1px, transparent 1px),
		var(--pngrc-deep) !important;
	background-size: 42px 42px !important;
	color: #fff;
}

.pngrc-design-showcase__content::before {
	display: block;
	width: 52px;
	height: 3px;
	margin-bottom: 24px;
	content: "";
	background: var(--pngrc-cyan);
}

.pngrc-design-showcase__content .elementor-heading-title {
	margin: 0 !important;
	color: #fff !important;
	font-family: "Manrope", Arial, sans-serif !important;
	font-size: clamp(34px, 3.2vw, 50px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.045em !important;
	line-height: 1.02 !important;
}

.pngrc-design-showcase__content .elementor-widget-text-editor {
	margin-top: 22px !important;
	color: rgba(255, 255, 255, 0.76) !important;
	font-size: 15px !important;
	line-height: 1.72 !important;
}

.pngrc-design-showcase__content .pngrc-button {
	margin-top: 30px !important;
}

.pngrc-design-showcase__content .pngrc-button a.elementor-button {
	width: min(100%, 270px) !important;
}

/* Give projects and forms a clearer visual rhythm without adding clutter. */
.pngrc-project-feature {
	border: 1px solid rgba(30, 254, 254, 0.12) !important;
}

.pngrc-project-copy {
	padding: clamp(44px, 5vw, 74px) !important;
}

.pngrc-form input,
.pngrc-form select,
.pngrc-form textarea {
	min-height: 52px;
	border-color: rgba(255, 255, 255, 0.2) !important;
	transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.pngrc-form textarea {
	min-height: 144px;
}

.pngrc-form input:focus,
.pngrc-form select:focus,
.pngrc-form textarea:focus {
	border-color: var(--pngrc-cyan) !important;
	box-shadow: 0 0 0 4px rgba(30, 254, 254, 0.12) !important;
}

/* Accessible floor-plan viewer. */
body.pngrc-lightbox-open {
	overflow: hidden;
}

.pngrc-plan-lightbox {
	position: fixed;
	z-index: 100000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: clamp(18px, 4vw, 54px);
	background: rgba(2, 15, 21, 0.92);
	opacity: 0;
	visibility: hidden;
	transition: opacity 220ms ease, visibility 220ms ease;
	backdrop-filter: blur(12px);
}

.pngrc-plan-lightbox.is-open {
	opacity: 1;
	visibility: visible;
}

.pngrc-plan-lightbox__dialog {
	position: relative;
	display: grid;
	width: min(100%, 1180px);
	max-height: calc(100svh - 48px);
	padding: clamp(12px, 2vw, 22px);
	border: 1px solid rgba(30, 254, 254, 0.28);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 34px 100px rgba(0, 0, 0, 0.46);
}

.pngrc-plan-lightbox__image {
	display: block;
	width: 100%;
	max-height: calc(100svh - 96px);
	margin: auto;
	object-fit: contain;
}

.pngrc-plan-lightbox__close {
	position: absolute;
	z-index: 2;
	top: 12px;
	right: 12px;
	display: grid;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid rgba(30, 254, 254, 0.34);
	border-radius: 6px;
	place-items: center;
	background: var(--pngrc-deep);
	color: #fff;
	font: 700 24px/1 "Manrope", Arial, sans-serif;
	cursor: pointer;
	box-shadow: 0 12px 30px rgba(0, 12, 18, 0.24);
}

.pngrc-plan-lightbox__close:hover,
.pngrc-plan-lightbox__close:focus-visible {
	background: var(--pngrc-cyan);
	color: var(--pngrc-ink);
}

@media (max-width: 1100px) {
	.pngrc-design-showcase {
		grid-template-columns: 1fr !important;
	}

	.pngrc-design-showcase__visuals {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.pngrc-design-showcase__media,
	.pngrc-design-showcase__media img {
		min-height: 500px !important;
	}

	.pngrc-design-showcase__content {
		min-height: 0;
	}
}

@media (max-width: 960px) {
	.pngrc-hero {
		min-height: 720px !important;
		padding-top: clamp(88px, 14vw, 120px) !important;
		padding-bottom: clamp(88px, 13vw, 116px) !important;
	}

	.pngrc-hero__copy {
		max-width: 640px !important;
	}

	.pngrc-hero__media {
		min-height: 0 !important;
	}

	.pngrc-hero__media img {
		object-position: 62% center !important;
		opacity: 0.42;
	}

	.pngrc-hero__media::before {
		background:
			linear-gradient(90deg, rgba(7, 31, 41, 0.98), rgba(7, 31, 41, 0.78)),
			linear-gradient(180deg, rgba(7, 31, 41, 0.12), rgba(7, 31, 41, 0.48)) !important;
	}

	.pngrc-page-hero {
		min-height: 500px !important;
	}

	.pngrc-page-hero__media {
		min-height: 0 !important;
	}
}

@media (max-width: 680px) {
	.pngrc-hero {
		display: flex !important;
		min-height: calc(100svh - var(--pngrc-header-height)) !important;
		gap: 0 !important;
		padding: 80px 20px 86px !important;
	}

	.pngrc-hero__copy {
		max-width: 100% !important;
	}

	.pngrc-hero__copy .elementor-heading-title {
		font-size: clamp(42px, 13.5vw, 60px) !important;
		line-height: 0.98 !important;
	}

	.pngrc-hero__copy .elementor-widget-text-editor {
		max-width: 34rem !important;
		color: rgba(255, 255, 255, 0.86) !important;
	}

	.pngrc-hero .pngrc-actions {
		justify-items: stretch !important;
	}

	.pngrc-hero .pngrc-actions > .elementor-element,
	.pngrc-hero .pngrc-actions a.elementor-button {
		width: 100% !important;
	}

	.pngrc-hero__media {
		min-height: 0 !important;
		border-radius: 0 !important;
	}

	.pngrc-hero__media img {
		object-position: 68% center !important;
		opacity: 0.38;
	}

	.pngrc-hero__media::before {
		background:
			linear-gradient(90deg, rgba(7, 31, 41, 0.96), rgba(7, 31, 41, 0.68)),
			linear-gradient(180deg, rgba(7, 31, 41, 0.18), rgba(7, 31, 41, 0.62)) !important;
	}

	.pngrc-page-hero {
		display: flex !important;
		min-height: 480px !important;
		padding: 92px 20px 82px !important;
	}

	.pngrc-page-hero__copy .elementor-heading-title {
		font-size: clamp(40px, 12vw, 56px) !important;
	}

	.pngrc-page-hero__media {
		min-height: 0 !important;
	}

	.pngrc-page-hero__media img {
		opacity: 0.3;
		object-position: 62% center !important;
	}

	.pngrc-page-hero__media::after {
		background:
			linear-gradient(90deg, rgba(7, 31, 41, 0.97), rgba(7, 31, 41, 0.68)),
			linear-gradient(180deg, rgba(7, 31, 41, 0.2), rgba(7, 31, 41, 0.58)) !important;
	}

	.pngrc-design-showcase-list {
		gap: 28px !important;
	}

	.pngrc-design-showcase {
		display: grid !important;
		min-height: 0;
		border-radius: 8px !important;
	}

	.pngrc-design-showcase:hover {
		transform: none !important;
	}

	.pngrc-design-showcase__visuals {
		grid-template-columns: 1fr !important;
	}

	.pngrc-design-showcase__media,
	.pngrc-design-showcase__media img {
		min-height: 320px !important;
	}

	.pngrc-design-showcase__exterior,
	.pngrc-design-showcase__exterior img {
		min-height: 280px !important;
	}

	.pngrc-design-showcase__plan {
		min-height: 390px !important;
		border-top: 1px solid rgba(8, 47, 60, 0.1);
		border-left: 0;
	}

	.pngrc-design-showcase__plan img {
		min-height: 390px !important;
		padding: 20px !important;
	}

	.pngrc-design-showcase__content {
		padding: 36px 26px 40px !important;
	}

	.pngrc-design-showcase__content .pngrc-button a.elementor-button {
		width: 100% !important;
	}

	.pngrc-media-label {
		top: 14px;
		left: 14px;
	}

	.pngrc-plan-lightbox {
		padding: 12px;
	}

	.pngrc-plan-lightbox__dialog {
		max-height: calc(100svh - 24px);
		padding: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pngrc-design-showcase,
	.pngrc-design-showcase img,
	.pngrc-plan-lightbox {
		transition: none !important;
	}
}

/* Match Elementor's generated selector weight so the final hero rules win. */
.site-main .pngrc-hero {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	min-height: calc(100svh - var(--pngrc-header-height)) !important;
	padding:
		clamp(86px, 9vw, 132px)
		max(24px, calc((100vw - var(--pngrc-shell)) / 2))
		clamp(94px, 10vw, 144px) !important;
	background: var(--pngrc-deep) !important;
}

.site-main .pngrc-page-hero {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	min-height: clamp(430px, 52vw, 610px) !important;
	padding:
		clamp(92px, 10vw, 138px)
		max(24px, calc((100vw - var(--pngrc-shell)) / 2))
		clamp(82px, 9vw, 124px) !important;
	background: var(--pngrc-deep) !important;
}

@media (max-width: 960px) {
	.site-main .pngrc-hero {
		min-height: 720px !important;
		padding-top: clamp(88px, 14vw, 120px) !important;
		padding-bottom: clamp(88px, 13vw, 116px) !important;
	}

	.site-main .pngrc-page-hero {
		min-height: 500px !important;
	}
}

@media (max-width: 680px) {
	.site-main .pngrc-hero {
		min-height: calc(100svh - var(--pngrc-header-height)) !important;
		padding: 80px 20px 86px !important;
	}

	.site-main .pngrc-page-hero {
		min-height: 480px !important;
		padding: 92px 20px 82px !important;
	}
}

/* v2.3.2: equal home-design cards and a padded contact feature grid. */
.pngrc-front-page .pngrc-design-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 22px !important;
	align-items: stretch !important;
}

.pngrc-front-page .pngrc-design-card,
.pngrc-front-page .pngrc-design-card:first-child,
.pngrc-front-page .pngrc-design-card:last-child {
	grid-row: auto !important;
	grid-column: auto !important;
	grid-template-rows: 250px minmax(264px, 1fr) !important;
	width: 100% !important;
	min-height: 514px !important;
}

.pngrc-front-page .pngrc-design-card > .elementor-widget-image,
.pngrc-front-page .pngrc-design-card > .elementor-widget-image > .elementor-widget-container {
	width: 100% !important;
	height: 250px !important;
}

.pngrc-front-page .pngrc-design-card img {
	width: 100% !important;
	height: 250px !important;
	aspect-ratio: 3 / 2;
	object-fit: cover !important;
	object-position: center !important;
}

.pngrc-front-page .pngrc-design-card__body {
	min-height: 264px;
}

.pngrc-front-page .pngrc-design-card::before {
	inset: auto auto auto auto;
	top: 16px;
	right: auto;
	bottom: auto;
	left: 16px;
	width: auto;
	height: auto;
	padding: 7px 9px;
	border: 1px solid rgba(30, 254, 254, 0.28);
	border-radius: 4px;
	background: rgba(7, 31, 41, 0.9);
	color: var(--pngrc-cyan);
	line-height: 1;
}

.pngrc-contact-types-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 18px !important;
	margin-top: 32px !important;
	padding: clamp(18px, 2.2vw, 28px) !important;
	border: 1px solid rgba(8, 47, 60, 0.12) !important;
	border-radius: 12px !important;
	background: linear-gradient(145deg, #f8fbfc 0%, #eef6f8 100%) !important;
	box-shadow: 0 18px 48px rgba(7, 31, 41, 0.07);
}

.pngrc-contact-types-grid .pngrc-value {
	display: grid !important;
	grid-template-columns: 1fr !important;
	align-content: start !important;
	gap: 12px !important;
	min-height: 100% !important;
	padding: clamp(28px, 3vw, 38px) 28px !important;
	border: 1px solid rgba(8, 47, 60, 0.1) !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 12px 32px rgba(7, 31, 41, 0.06) !important;
	text-align: center !important;
}

.pngrc-contact-types-grid .pngrc-value .elementor-widget-icon {
	display: flex !important;
	grid-row: auto !important;
	justify-content: center !important;
	margin-bottom: 4px !important;
}

.pngrc-contact-types-grid .pngrc-value .elementor-icon {
	display: inline-grid !important;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(30, 254, 254, 0.26);
	border-radius: 10px;
	place-items: center;
	background: rgba(30, 254, 254, 0.08);
	font-size: 24px !important;
}

.pngrc-contact-types-grid .pngrc-value .elementor-heading-title,
.pngrc-contact-types-grid .pngrc-value .elementor-widget-text-editor,
.pngrc-contact-types-grid .pngrc-value p {
	text-align: center !important;
}

@media (max-width: 900px) {
	.pngrc-front-page .pngrc-design-grid,
	.pngrc-contact-types-grid {
		grid-template-columns: 1fr !important;
	}

	.pngrc-front-page .pngrc-design-card,
	.pngrc-front-page .pngrc-design-card:first-child,
	.pngrc-front-page .pngrc-design-card:last-child {
		grid-template-rows: minmax(250px, 44vw) auto !important;
		min-height: 0 !important;
	}

	.pngrc-front-page .pngrc-design-card > .elementor-widget-image,
	.pngrc-front-page .pngrc-design-card > .elementor-widget-image > .elementor-widget-container,
	.pngrc-front-page .pngrc-design-card img {
		height: clamp(250px, 44vw, 430px) !important;
	}
}

@media (max-width: 680px) {
	.pngrc-contact-types-grid {
		gap: 14px !important;
		padding: 14px !important;
	}

	.pngrc-contact-types-grid .pngrc-value {
		padding: 30px 22px !important;
	}
}

