@font-face {
	font-family: "system-ui";
	src: url("/assets/fonts/system-font-bold.otf") format("opentype");
	font-style: normal;
	font-weight: normal;
	font-display: swap;
}

@font-face {
	font-family: "sans";
	src: url("/assets/fonts/sans-21.ttf") format("truetype");
	font-style: normal;
	font-weight: normal;
	font-display: swap;
}

:root {
	--pp-production-font: "system-ui", Helvetica, Arial, sans-serif;
	--pp-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--pp-motion-duration: 720ms;
	--pp-layout-max: 1560px;
	--pp-layout-gutter: max(12px, 3vw);
}

html,
body,
body
	:where(
		:not(.ri):not(.swiper-icons):not(.pp-language-globe):not([class^="ri-"]):not(
				[class*=" ri-"]
			)
	) {
	font-family: var(--pp-production-font) !important;
}

body :where(.ri, [class^="ri-"], [class*=" ri-"]) {
	font-family: remixicon !important;
}

.pp-scroll-progress {
	position: fixed;
	inset: 0 0 auto;
	z-index: 9999;
	height: 3px;
	transform: scaleX(0);
	transform-origin: left center;
	background: linear-gradient(90deg, #0f3b36 0%, #b48a4a 100%);
	pointer-events: none;
}

[dir="rtl"] .pp-scroll-progress {
	transform-origin: right center;
}

.framework-header {
	transition:
		background-color 240ms ease,
		box-shadow 240ms ease,
		backdrop-filter 240ms ease;
}

.framework-header.pp-header-scrolled {
	background-color: rgb(250 248 243 / 94%);
	box-shadow: 0 12px 34px rgb(18 48 66 / 9%);
	backdrop-filter: blur(14px);
}

.framework-footer .framework-footer-links .pp-footer-products-link,
.framework-footer .framework-footer-links .pp-footer-blog-link {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 3px 11px;
	border-radius: 999px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition:
		background-color 180ms ease,
		box-shadow 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.framework-footer .framework-footer-links .pp-footer-products-link {
	background: #d9bd7a;
	color: #102d39;
	box-shadow: 0 4px 14px rgb(0 0 0 / 16%);
}

.framework-footer .framework-footer-links .pp-footer-blog-link {
	background: #2f7755;
	color: #fff;
	box-shadow: 0 4px 14px rgb(0 0 0 / 16%);
}

.framework-footer .framework-footer-links .pp-footer-products-link:hover,
.framework-footer .framework-footer-links .pp-footer-products-link:focus-visible {
	background: #f0d28c;
	color: #102d39;
	transform: translateY(-1px);
}

.framework-footer .framework-footer-links .pp-footer-blog-link:hover,
.framework-footer .framework-footer-links .pp-footer-blog-link:focus-visible {
	background: #3d946c;
	color: #fff;
	transform: translateY(-1px);
}

.pp-premium-nav .framework-header,
.pp-premium-nav .framework-header.pp-header-scrolled {
	background-color: #092b2a !important;
	border-bottom-color: #496153;
	box-shadow: 0 6px 20px rgb(0 30 25 / 8%);
}

.pp-premium-nav .framework-nav summary,
.pp-premium-nav .framework-nav > a {
	color: #f5f1e5;
	font-size: 12px;
	font-weight: 600;
}

.pp-premium-nav .framework-nav summary::after {
	color: #cdbb93;
}

.pp-premium-nav .framework-quote {
	min-height: 36px;
	padding: 0 13px;
	border: 1px solid rgb(255 255 255 / 40%);
	border-radius: 2px;
	background: transparent;
	color: #f8f4e9;
	font-size: 11px;
	font-weight: 600;
}

.pp-premium-nav .framework-quote:hover,
.pp-premium-nav .framework-quote:focus-visible {
	border-color: #cdbb93;
	background: rgb(205 187 147 / 10%);
	color: #f8f4e9;
	outline: none;
}

#pp-primary-nav .framework-mega > .mega-column > .mega-heading {
	font-weight: 600;
}

.pp-motion-ready .pp-reveal {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
	transition:
		opacity var(--pp-motion-duration) var(--pp-motion-ease),
		transform var(--pp-motion-duration) var(--pp-motion-ease);
}

.pp-motion-ready .pp-reveal.pp-reveal-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.pp-motion-ready .pp-image-reveal {
	opacity: 0;
	transform: scale(1.025);
	filter: saturate(0.88);
	transition:
		opacity 900ms var(--pp-motion-ease),
		transform 1000ms var(--pp-motion-ease),
		filter 900ms var(--pp-motion-ease);
}

.pp-motion-ready .pp-image-reveal.pp-reveal-visible,
.pp-motion-ready img.pp-image-loaded {
	opacity: 1;
	transform: scale(1);
	filter: saturate(1);
}

.framework-nav details[open] > div,
.framework-nav details[open] > section,
.framework-nav details[open] > ul {
	animation: pp-menu-in 260ms var(--pp-motion-ease) both;
	transform-origin: top center;
}

@keyframes pp-menu-in {
	from {
		opacity: 0;
		transform: translateY(-7px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.pp-language-switcher {
	position: relative;
	z-index: 80;
	flex: 0 0 auto;
}

.pp-language-trigger {
	display: inline-flex;
	width: 34px;
	min-width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 50%;
	background: transparent;
	color: #f8f4e9;
	cursor: pointer;
	transition:
		border-color 180ms ease,
		background-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms var(--pp-motion-ease);
}

.pp-language-trigger::after {
	display: none;
}

.pp-language-globe {
	display: block;
	font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
	font-size: 19px;
	line-height: 1;
	transform: rotate(0);
	transition: transform 320ms var(--pp-motion-ease);
}

.pp-language-trigger:hover,
.pp-language-trigger:focus-visible,
.pp-language-switcher.is-open .pp-language-trigger {
	border-color: #d6c9a7;
	background: rgb(205 187 147 / 12%);
	box-shadow: none;
	outline: none;
	transform: translateY(-1px);
}

.pp-language-trigger:hover .pp-language-globe,
.pp-language-trigger:focus-visible .pp-language-globe,
.pp-language-switcher.is-open .pp-language-globe {
	transform: rotate(18deg);
}

.pp-language-switcher.is-open .pp-language-trigger::after {
	display: none;
}

.pp-language-options {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	display: grid;
	width: 190px;
	padding: 6px;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-6px);
	border: 1px solid rgb(18 59 54 / 12%);
	border-radius: 4px;
	background: #fffdf8;
	box-shadow: 0 20px 48px rgb(18 48 66 / 16%);
	transition:
		opacity 180ms ease,
		transform 180ms var(--pp-motion-ease),
		visibility 180ms ease;
}

[dir="rtl"] .pp-language-options {
	right: auto;
	left: 0;
}

.pp-language-switcher.is-open .pp-language-options {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.pp-language-options a {
	display: flex;
	min-height: 38px;
	align-items: center;
	justify-content: space-between;
	padding: 8px 10px;
	border-radius: 2px;
	color: #163e39;
	font: 500 13px/1.25 Arial, sans-serif;
	text-decoration: none;
}

.pp-language-options a::after {
	color: #9b7843;
	font-size: 10px;
	content: attr(data-code);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pp-language-options a:hover,
.pp-language-options a:focus-visible,
.pp-language-options a[aria-current="true"] {
	background: #edf2ed;
	color: #0d302c;
	outline: none;
}

:where(.pp-arch-card, .detail-product-card, .pp-document-card, .framework-mega a) {
	transition:
		transform 260ms var(--pp-motion-ease),
		box-shadow 260ms ease,
		border-color 260ms ease;
}

:where(.pp-arch-card, .detail-product-card, .pp-document-card):hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 34px rgb(18 48 66 / 9%);
}

:where(.pp-arch-card, .detail-product-card, .pp-document-card) .pp-card-arrow,
:where(.pp-arch-card, .detail-product-card, .pp-document-card) [aria-hidden="true"] {
	transition: transform 220ms var(--pp-motion-ease);
}

:where(.pp-arch-card, .detail-product-card, .pp-document-card):hover .pp-card-arrow {
	transform: translate(3px, -3px);
}

.quick-enquiry-panel {
	animation: pp-dialog-in 320ms var(--pp-motion-ease) both;
}

.framework-quote[data-quick-enquiry-trigger] {
	cursor: pointer;
	transition:
		background-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms var(--pp-motion-ease);
}

.framework-quote[data-quick-enquiry-trigger]:hover,
.framework-quote[data-quick-enquiry-trigger]:focus-visible {
	box-shadow: 0 8px 20px rgb(0 0 0 / 14%);
	outline: none;
	transform: translateY(-1px);
}

.pp-quote-dialog {
	align-items: center;
	padding: 28px;
}

.pp-quote-dialog .quick-enquiry-backdrop {
	background: rgb(3 13 17 / 56%);
	backdrop-filter: none;
}

body.quick-enquiry-open {
	overflow: hidden;
	width: calc(100% - var(--quick-enquiry-scrollbar-width, 0px));
}

.pp-quote-dialog .quick-enquiry-panel {
	position: relative;
	width: min(100%, 540px);
	max-height: min(900px, calc(100dvh - 56px));
	padding: 30px 32px 27px;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	border-radius: 0;
	background: #fff;
	color: #111;
	box-shadow: 0 26px 90px rgb(0 0 0 / 28%);
	scrollbar-color: #9b9b9b transparent;
	animation: none;
}

.pp-quote-dialog.is-open .quick-enquiry-panel {
	animation: pp-quote-dialog-in 360ms var(--pp-motion-ease) both;
}

.pp-quote-dialog .quick-enquiry-panel::before {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 0;
	width: 78px;
	height: 78px;
	border-radius: 50%;
	background: #b8ef75;
	content: "";
	pointer-events: none;
	transform-origin: center;
}

.pp-quote-dialog.is-open .quick-enquiry-panel::before {
	animation: pp-quote-accent-in 520ms var(--pp-motion-ease) both;
}

.pp-floating-contact {
	position: fixed;
	right: 32px;
	bottom: 64px;
	z-index: 79;
	width: 50px;
	height: 178px;
	pointer-events: none;
}

.pp-floating-contact > * {
	position: absolute;
	right: 0;
	pointer-events: auto;
}

.pp-floating-contact__avatar {
	top: 0;
	width: 50px;
	height: 50px;
	padding: 0;
	overflow: hidden;
	border: 1px solid #d8d8d8;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 8px 22px rgb(0 0 0 / 16%);
	cursor: pointer;
	animation: pp-contact-avatar-float 3.4s ease-in-out infinite;
	transition:
		scale 180ms ease,
		box-shadow 180ms ease;
}

.pp-floating-contact__avatar:hover,
.pp-floating-contact__avatar:focus-visible {
	scale: 1.05;
	box-shadow: 0 12px 28px rgb(0 0 0 / 20%);
	outline: 2px solid #cdbb93;
	outline-offset: 3px;
}

.pp-floating-contact__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pp-floating-contact__whatsapp {
	top: 60px;
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 12px;
	box-shadow: 0 9px 22px rgb(8 111 47 / 18%);
	transition:
		translate 180ms var(--pp-motion-ease),
		box-shadow 180ms ease;
}

.pp-floating-contact__whatsapp:hover,
.pp-floating-contact__whatsapp:focus-visible {
	translate: 0 -4px;
	box-shadow: 0 13px 26px rgb(8 111 47 / 24%);
	outline: 2px solid #20c65a;
	outline-offset: 3px;
}

.pp-floating-contact__whatsapp img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pp-floating-contact__top {
	right: 1px;
	bottom: 0;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	background: #fff;
	color: #111;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition:
		opacity 220ms ease,
		visibility 220ms ease,
		transform 220ms var(--pp-motion-ease);
}

.pp-floating-contact__top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.pp-floating-contact__top:focus-visible {
	outline: 2px solid #111;
	outline-offset: 3px;
}

.pp-floating-contact__top .pp-floating-contact__top-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	transform: translate(-50%, -43%);
	transition: transform 180ms var(--pp-motion-ease);
}

.pp-floating-contact__top:hover .pp-floating-contact__top-icon {
	transform: translate(-50%, -63%);
}

.pp-floating-contact__edge {
	position: absolute;
	background: #111;
}

.pp-floating-contact__edge--top {
	top: 0;
	left: 0;
	width: var(--pp-contact-top-width, 0%);
	height: 1.5px;
}

.pp-floating-contact__edge--right {
	top: 0;
	right: 0;
	width: 1.5px;
	height: var(--pp-contact-right-height, 0%);
}

.pp-floating-contact__edge--bottom {
	right: 0;
	bottom: 0;
	width: var(--pp-contact-bottom-width, 0%);
	height: 1.5px;
}

.pp-floating-contact__edge--left {
	bottom: 0;
	left: 0;
	width: 1.5px;
	height: var(--pp-contact-left-height, 0%);
}

@keyframes pp-contact-avatar-float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-7px);
	}
}

.pp-quote-dialog .quick-enquiry-close {
	top: 18px;
	right: 18px;
	z-index: 3;
	width: 36px;
	height: 36px;
	border: 2px solid #111;
	border-radius: 50%;
	color: #111;
	transition:
		background-color 180ms ease,
		color 180ms ease,
		transform 180ms var(--pp-motion-ease);
}

.pp-quote-dialog .quick-enquiry-close::before,
.pp-quote-dialog .quick-enquiry-close::after {
	width: 16px;
	height: 2px;
	background: currentColor;
}

.pp-quote-dialog .quick-enquiry-close:hover,
.pp-quote-dialog .quick-enquiry-close:focus-visible {
	background: #111;
	color: #fff;
	outline: none;
	transform: rotate(90deg);
}

.pp-quote-dialog .quick-enquiry-panel > h2 {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: 70px;
	align-items: center;
	margin: 0 46px 22px 0;
	color: #111;
	font-family: Arial, "Helvetica Neue", sans-serif;
	font-size: 34px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
}

.pp-quote-dialog .quick-enquiry-panel > p:not(.application-label) {
	display: none;
}

.pp-quote-dialog .quick-enquiry-panel form {
	padding: 0;
	border: 0;
	background: transparent;
}

.pp-quote-dialog .quick-enquiry-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
}

.pp-quote-dialog .quick-enquiry-panel label {
	display: block;
	margin: 0;
	color: #111;
	font: 700 15px/1.25 Arial, "Helvetica Neue", sans-serif;
}

.pp-quote-dialog .quick-enquiry-panel label b {
	margin-left: 5px;
	color: #ec2540;
	font-weight: 700;
}

.pp-quote-dialog .quick-enquiry-panel input,
.pp-quote-dialog .quick-enquiry-panel textarea,
.pp-quote-dialog .quick-enquiry-panel select {
	box-sizing: border-box;
	width: 100%;
	margin-top: 9px;
	padding: 10px 12px;
	border: 1px solid #cfcfcf;
	border-radius: 0;
	background: #fff;
	color: #111;
	font: 400 16px/1.35 Arial, "Helvetica Neue", sans-serif;
	outline: none;
	transition:
		border-color 160ms ease,
		box-shadow 160ms ease;
}

.pp-quote-dialog .quick-enquiry-panel input,
.pp-quote-dialog .quick-enquiry-panel select {
	min-height: 47px;
}

.pp-quote-dialog .quick-enquiry-panel textarea {
	min-height: 170px;
	line-height: 1.45;
	resize: vertical;
}

.pp-quote-dialog .quick-enquiry-panel input::placeholder,
.pp-quote-dialog .quick-enquiry-panel textarea::placeholder {
	color: #b8b8b8;
	opacity: 1;
}

.pp-quote-dialog .quick-enquiry-panel input:focus,
.pp-quote-dialog .quick-enquiry-panel textarea:focus,
.pp-quote-dialog .quick-enquiry-panel select:focus {
	border-color: #111;
	box-shadow: 0 0 0 1px #111;
}

.pp-quote-dialog .pp-phone-field {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	margin-top: 9px;
	border: 1px solid #cfcfcf;
	background: #fff;
	transition:
		border-color 160ms ease,
		box-shadow 160ms ease;
}

.pp-quote-dialog .pp-phone-field:focus-within {
	border-color: #111;
	box-shadow: 0 0 0 1px #111;
}

.pp-quote-dialog .pp-phone-field select,
.pp-quote-dialog .pp-phone-field input {
	min-height: 45px;
	margin: 0;
	border: 0;
	box-shadow: none;
}

.pp-quote-dialog .pp-phone-field select {
	padding: 8px 6px;
	border-right: 1px solid #cfcfcf;
	background: #fff;
	font-size: 14px;
}

.pp-quote-dialog .pp-phone-field input:focus,
.pp-quote-dialog .pp-phone-field select:focus {
	box-shadow: none;
}

.pp-quote-dialog .quick-enquiry-requirement {
	margin-top: 18px;
}

.pp-quote-dialog .quick-enquiry-consent {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
}

.pp-quote-dialog .quick-enquiry-panel button[type="submit"] {
	width: 100%;
	min-height: 54px;
	margin-top: 18px;
	padding: 13px 20px;
	border: 1px solid #050505;
	border-radius: 0;
	background: #050505;
	color: #fff;
	font: 700 17px/1 Arial, "Helvetica Neue", sans-serif;
	cursor: pointer;
	transition:
		background-color 180ms ease,
		transform 180ms var(--pp-motion-ease);
}

.pp-quote-dialog .quick-enquiry-panel button[type="submit"]:hover,
.pp-quote-dialog .quick-enquiry-panel button[type="submit"]:focus-visible {
	border-color: #282828;
	background: #282828;
	outline: none;
	transform: translateY(-1px);
}

.pp-quote-dialog .quick-enquiry-panel button[type="submit"]:disabled {
	cursor: wait;
	opacity: 0.65;
	transform: none;
}

.pp-quote-dialog .quick-enquiry-status {
	margin: 12px 0 0;
	color: #176246;
	font-size: 13px;
	line-height: 1.5;
}

.pp-quote-dialog .quick-enquiry-status:empty {
	display: none;
}

.pp-quote-dialog .quick-enquiry-panel form > small {
	display: none;
}

.pp-quote-dialog .pp-form-privacy {
	margin: 12px 0 0;
	color: #666;
	font-size: 11px;
	line-height: 1.5;
}

.pp-quote-dialog .pp-form-privacy a {
	color: #222;
}

@keyframes pp-quote-dialog-in {
	from {
		opacity: 0;
		transform: translateY(16px) scale(0.985);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes pp-quote-accent-in {
	from {
		opacity: 0;
		transform: scale(0.7);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes pp-dialog-in {
	from {
		opacity: 0;
		transform: translateY(20px) scale(0.985);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.pp-geo-authority,
.pp-geo-verification {
	box-sizing: border-box;
	color: #173b34;
	font-family: Arial, sans-serif;
}

.pp-geo-authority *,
.pp-geo-verification * {
	box-sizing: border-box;
}

.pp-geo-authority {
	display: grid;
	grid-template-columns: minmax(0, 1.28fr) minmax(330px, 0.72fr);
	gap: 56px;
	align-items: start;
	padding: 76px max(28px, calc((100% - 1240px) / 2));
	background: #fffdf7;
	border-top: 1px solid #dfe2d7;
}

.pp-geo-eyebrow {
	margin: 0 0 16px;
	color: #8b6935;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.5;
}

.pp-geo-authority h2,
.pp-geo-verification h2 {
	max-width: 760px;
	margin: 0 0 24px;
	color: #173b34;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 3.5vw, 50px);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.08;
}

.pp-geo-answer {
	max-width: 820px;
	margin: 0 0 20px;
	color: #2f5149;
	font-size: 18px;
	line-height: 1.75;
}

.pp-geo-answer strong {
	color: #102f2a;
	font-weight: 750;
}

.pp-geo-answer-detail {
	max-width: 820px;
	margin: -6px 0 20px;
	color: #2f5149;
	font-size: 16px;
	line-height: 1.7;
}

.pp-geo-byline {
	margin: 0 0 24px;
	color: #687770;
	font-size: 12px;
	line-height: 1.65;
}

.pp-geo-primary-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
}

.pp-geo-primary-links a {
	padding: 7px 0;
	border-bottom: 1px solid #8d9c8e;
	color: #173b34;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.pp-geo-primary-links a:hover,
.pp-geo-primary-links a:focus-visible {
	border-color: #9d783d;
	color: #8b6935;
	outline: none;
}

.pp-geo-fact-panel {
	padding: 28px;
	border: 1px solid #d7ddcf;
	border-radius: 4px;
	background: #f1f3ea;
}

.pp-geo-fact-panel > h3,
.pp-geo-sources > h3 {
	margin: 0 0 20px;
	color: #173b34;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 25px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.2;
}

.pp-geo-fact-panel dl {
	display: grid;
	gap: 0;
	margin: 0;
}

.pp-geo-fact-panel dl > div {
	display: grid;
	grid-template-columns: 125px minmax(0, 1fr);
	gap: 16px;
	padding: 14px 0;
	border-top: 1px solid #d2d9cc;
}

.pp-geo-fact-panel dt {
	color: #6a786f;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pp-geo-fact-panel dd,
.pp-geo-fact-panel address {
	margin: 0;
	color: #1f463d;
	font-size: 13px;
	font-style: normal;
	font-weight: 650;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.pp-geo-fact-panel dd a {
	color: inherit;
	text-decoration-color: #9a9f8c;
	text-underline-offset: 3px;
}

.pp-geo-verification {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
	gap: 64px;
	padding: 82px max(28px, calc((100% - 1240px) / 2));
	background: #123b34;
}

.pp-geo-verification h2,
.pp-geo-verification .pp-geo-eyebrow {
	color: #f5f0df;
}

.pp-geo-verification .pp-geo-eyebrow {
	color: #d6c18a;
}

.pp-geo-verification .pp-geo-answer {
	color: #d2dfd8;
}

.pp-geo-verification .pp-geo-answer strong {
	color: #fffaf0;
}

.pp-geo-verification .pp-geo-answer-detail {
	color: #d2dfd8;
}

.pp-geo-checklist {
	display: grid;
	gap: 0;
	margin: 34px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #527066;
}

.pp-geo-checklist li {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 18px;
	padding: 22px 0;
	border-bottom: 1px solid #527066;
}

.pp-geo-checklist li > span {
	color: #d2bd87;
	font: 400 18px/1.4 Georgia, "Times New Roman", serif;
}

.pp-geo-checklist h3 {
	margin: 0 0 7px;
	color: #fffaf0;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.35;
}

.pp-geo-checklist p {
	margin: 0;
	color: #bbcec5;
	font-size: 13px;
	line-height: 1.7;
}

.pp-geo-sources {
	padding: 30px;
	border-radius: 4px;
	background: #f8f5eb;
}

.pp-geo-sources .pp-geo-eyebrow {
	color: #8b6935;
}

.pp-geo-sources blockquote {
	margin: 0 0 24px;
	padding: 0 0 24px 20px;
	border-bottom: 1px solid #d6d9cd;
	border-left: 2px solid #ae8d51;
}

.pp-geo-sources blockquote p {
	margin: 0 0 12px;
	color: #2f4d45;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	line-height: 1.7;
}

.pp-geo-sources cite {
	color: #65746c;
	font-size: 11px;
	font-style: normal;
	line-height: 1.6;
}

.pp-geo-sources cite a,
.pp-geo-source-note a {
	color: #245648;
	text-underline-offset: 3px;
}

.pp-geo-source-note {
	margin: 16px 0 0;
	color: #5c6b63;
	font-size: 12px;
	line-height: 1.72;
}

.pp-global-trust-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 24px max(28px, calc((100% - 1240px) / 2));
	border-top: 1px solid #465f57;
	background: #0a2b27;
	color: #f5f0e2;
	font-family: Arial, sans-serif;
}

.pp-global-trust-nav p {
	margin: 0 0 4px;
	color: #c6b88f;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.pp-global-trust-nav strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 17px;
	font-weight: 400;
}

.pp-global-trust-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px 20px;
}

.pp-global-trust-links a {
	color: #dbe6df;
	font-size: 11px;
	line-height: 1.5;
	text-decoration: none;
}

.pp-global-trust-links a:hover,
.pp-global-trust-links a:focus-visible {
	color: #e6cd91;
	text-decoration: underline;
	text-underline-offset: 4px;
	outline: none;
}

.pp-legal-page {
	max-width: 900px;
	margin: 0 auto;
	padding: 84px 28px 96px;
	color: #24483f;
	font-family: Arial, sans-serif;
}

.pp-legal-page > header {
	padding-bottom: 34px;
	border-bottom: 1px solid #d5dacf;
}

.pp-legal-eyebrow {
	margin: 0 0 18px;
	color: #8a6a37;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.pp-legal-page h1 {
	margin: 0 0 20px;
	color: #123a32;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 6vw, 68px);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
}

.pp-legal-meta {
	max-width: 690px;
	margin: 0;
	color: #65756d;
	font-size: 13px;
	line-height: 1.7;
}

.pp-legal-page section {
	padding: 28px 0;
	border-bottom: 1px solid #e0e3da;
}

.pp-legal-page h2 {
	margin: 0 0 14px;
	color: #173c34;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 26px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.25;
}

.pp-legal-page section p,
.pp-legal-page address {
	margin: 0;
	color: #4b625a;
	font-size: 15px;
	font-style: normal;
	line-height: 1.85;
}

.pp-legal-page section a {
	color: #155c4c;
	text-underline-offset: 3px;
}

.pp-legal-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	margin-top: 38px;
}

.pp-legal-actions a {
	padding: 9px 0;
	border-bottom: 1px solid #9ba69a;
	color: #173c34;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 980px) {
	.pp-geo-authority,
	.pp-geo-verification {
		grid-template-columns: 1fr;
		gap: 34px;
		padding: 62px 28px;
	}

	.pp-global-trust-nav {
		align-items: flex-start;
		flex-direction: column;
	}

	.pp-global-trust-links {
		justify-content: flex-start;
	}

	.pp-language-switcher {
		margin-inline-start: auto;
		margin-inline-end: 8px;
	}

	.pp-language-trigger {
		min-width: 34px;
		height: 34px;
	}
}

@media (max-width: 480px) {
	.pp-legal-page {
		padding: 58px 20px 72px;
	}

	.pp-legal-page h1 {
		font-size: 42px;
	}

	.pp-legal-page h2 {
		font-size: 23px;
	}

	.pp-geo-authority,
	.pp-geo-verification {
		padding: 48px 20px;
	}

	.pp-geo-authority h2,
	.pp-geo-verification h2 {
		font-size: 34px;
	}

	.pp-geo-answer {
		font-size: 16px;
	}

	.pp-geo-fact-panel,
	.pp-geo-sources {
		padding: 22px 18px;
	}

	.pp-geo-fact-panel dl > div {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.pp-geo-checklist li {
		grid-template-columns: 30px minmax(0, 1fr);
		gap: 12px;
	}

	.pp-global-trust-nav {
		padding: 24px 20px;
	}

	.pp-language-options {
		position: fixed;
		top: 72px;
		right: 12px;
		left: 12px;
		width: auto;
	}
}

@media (max-width: 680px) {
	.pp-premium-nav .framework-bar {
		gap: 8px;
		padding: 10px 12px;
	}

	.pp-premium-nav .framework-brand {
		width: clamp(90px, 26vw, 112px);
	}

	.pp-navigation-toggle {
		width: 38px;
		min-width: 38px;
		min-height: 36px;
		justify-content: center;
		padding: 0;
		font-size: 0;
	}

	.pp-navigation-toggle span {
		font-size: 20px;
	}

	.pp-premium-nav .framework-quote {
		min-height: 32px;
		padding: 0 9px;
		font-size: 9px;
	}

	.pp-language-switcher {
		margin-inline-end: 0;
	}

	.pp-language-trigger {
		width: 32px;
		min-width: 32px;
		height: 32px;
	}

	.pp-language-globe {
		font-size: 18px;
	}

	.pp-quote-dialog {
		align-items: stretch;
		padding: 0;
	}

	.pp-quote-dialog .quick-enquiry-panel {
		width: 100%;
		max-width: none;
		max-height: 100dvh;
		min-height: 100dvh;
		padding: 22px 18px 24px;
	}

	.pp-quote-dialog .quick-enquiry-panel::before {
		top: 14px;
		left: 12px;
		width: 68px;
		height: 68px;
	}

	.pp-quote-dialog .quick-enquiry-close {
		top: 14px;
		right: 14px;
		width: 34px;
		height: 34px;
	}

	.pp-quote-dialog .quick-enquiry-panel > h2 {
		min-height: 62px;
		margin: 0 42px 16px 0;
		font-size: 30px;
	}

	.pp-quote-dialog .quick-enquiry-grid {
		gap: 16px;
	}

	.pp-quote-dialog .quick-enquiry-panel label {
		font-size: 15px;
	}

	.pp-quote-dialog .quick-enquiry-panel input,
	.pp-quote-dialog .quick-enquiry-panel select {
		min-height: 45px;
	}

	.pp-quote-dialog .quick-enquiry-panel textarea {
		min-height: 145px;
	}

	.pp-quote-dialog .pp-phone-field {
		grid-template-columns: 82px minmax(0, 1fr);
	}

	.pp-quote-dialog .quick-enquiry-panel button[type="submit"] {
		min-height: 50px;
		margin-top: 16px;
	}
}

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

	.pp-motion-ready .pp-reveal,
	.pp-motion-ready .pp-image-reveal {
		opacity: 1;
		transform: none;
		filter: none;
	}
}

/* Live backend blog archive */
.pp-live-blog,
.pp-live-catalog {
	max-width: 1280px;
	margin: 0 auto;
	padding: 84px 24px 92px;
	color: #183f38;
	font-family: Arial, sans-serif;
}

.pp-live-blog {
	border-bottom: 1px solid #d8e0d7;
}

.pp-live-blog-heading,
.pp-live-catalog-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
	gap: 50px;
	align-items: end;
	margin-bottom: 44px;
}

.pp-live-blog-heading h2,
.pp-live-catalog-heading h2 {
	max-width: 790px;
	margin: 8px 0 0;
	color: #103b35;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 4.2vw, 58px);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.04;
}

.pp-live-eyebrow {
	margin: 0;
	color: #8d6a39;
	font-size: 10px;
	font-weight: 750;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.pp-live-search {
	display: flex;
	min-height: 50px;
	border-bottom: 1px solid #82998d;
}

.pp-live-search label {
	flex: 1;
	min-width: 0;
}

.pp-live-search input {
	width: 100%;
	height: 100%;
	min-height: 50px;
	padding: 0 14px 0 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #173d37;
	font: 15px/1.4 Arial, sans-serif;
	outline: none;
}

.pp-live-search input::placeholder {
	color: #788b82;
	opacity: 1;
}

.pp-live-search:focus-within {
	border-bottom-color: #0e5c55;
	box-shadow: 0 1px 0 #0e5c55;
}

.pp-live-search button {
	flex: 0 0 auto;
	min-width: 92px;
	padding: 0 14px;
	border: 1px solid #123f38;
	border-radius: 0;
	background: #123f38;
	color: #f8f3e7;
	font: 700 12px/1 Arial, sans-serif;
	cursor: pointer;
	transition:
		background-color 180ms ease,
		border-color 180ms ease;
}

.pp-live-search button:hover,
.pp-live-search button:focus-visible {
	border-color: #9d7a43;
	background: #9d7a43;
	outline: none;
}

.pp-live-blog-layout,
.pp-live-catalog-layout {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	gap: 52px;
	align-items: start;
}

.pp-live-blog-layout {
	display: block;
}

.pp-live-blog-sidebar,
.pp-live-catalog-sidebar {
	position: sticky;
	top: 112px;
	max-height: calc(100vh - 138px);
	overflow: auto;
	padding-right: 12px;
	scrollbar-color: #aebbb2 transparent;
	scrollbar-width: thin;
}

.pp-live-blog-sidebar {
	position: static;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
	gap: 22px 28px;
	max-height: none;
	margin-bottom: 24px;
	padding: 18px 0 24px;
	overflow: visible;
	border-top: 1px solid #e2e7e1;
	border-bottom: 1px solid #d8e0d7;
}

.pp-live-blog-sidebar .pp-live-sidebar-block + .pp-live-sidebar-block {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.pp-live-category-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.pp-live-blog-sidebar .pp-live-filter {
	width: auto;
	min-height: 36px;
	gap: 9px;
	padding: 7px 10px;
	border: 1px solid #d4ddd6;
	border-radius: 3px;
	background: #fff;
}

.pp-live-blog-sidebar .pp-live-filter:hover,
.pp-live-blog-sidebar .pp-live-filter:focus-visible,
.pp-live-blog-sidebar .pp-live-filter.is-active {
	padding-left: 10px;
	border-color: #17675f;
	background: #edf4f1;
}

.pp-live-blog-sidebar .pp-live-filter.is-active {
	box-shadow: inset 0 0 0 1px #17675f;
}

.pp-live-blog-sidebar .pp-live-sidebar-note {
	display: none;
}

.pp-live-sidebar-block + .pp-live-sidebar-block {
	margin-top: 30px;
	padding-top: 28px;
	border-top: 1px solid #d9e1d9;
}

.pp-live-sidebar-title,
.pp-live-sidebar-heading p {
	margin: 0 0 12px;
	color: #6e7e76;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.pp-live-filter {
	display: flex;
	width: 100%;
	min-height: 42px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 0;
	border: 0;
	border-bottom: 1px solid #e2e7e1;
	border-radius: 0;
	background: transparent;
	color: #31534c;
	text-align: start;
	cursor: pointer;
	transition:
		color 160ms ease,
		padding 160ms ease;
}

.pp-live-filter > span {
	min-width: 0;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.35;
}

.pp-live-filter small {
	flex: 0 0 auto;
	color: #829087;
	font-size: 10px;
	font-variant-numeric: tabular-nums;
}

.pp-live-filter:hover,
.pp-live-filter:focus-visible,
.pp-live-filter.is-active {
	padding-left: 8px;
	color: #0a645c;
	outline: none;
}

.pp-live-filter.is-active {
	border-bottom-color: #0a645c;
	background: linear-gradient(90deg, rgb(14 92 85 / 8%), transparent);
}

.pp-live-filter.is-active > span {
	font-weight: 780;
}

.pp-live-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.pp-live-tags button {
	min-height: 32px;
	padding: 6px 9px;
	border: 1px solid #ced8d0;
	border-radius: 0;
	background: transparent;
	color: #406159;
	font: 11px/1.3 Arial, sans-serif;
	cursor: pointer;
}

.pp-live-tags button:hover,
.pp-live-tags button:focus-visible {
	border-color: #0a645c;
	background: #0a645c;
	color: #fff;
	outline: none;
}

.pp-live-sidebar-note {
	margin-top: 30px;
	padding: 22px 18px;
	background: #123f3a;
	color: #f2ede0;
}

.pp-live-sidebar-note .pp-live-eyebrow {
	color: #d7c18c;
}

.pp-live-sidebar-note strong {
	display: block;
	margin: 12px 0 20px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 21px;
	font-weight: 400;
	line-height: 1.28;
}

.pp-live-sidebar-note a {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	color: #f2ede0;
	font-size: 11px;
	font-weight: 800;
	text-decoration: none;
}

.pp-live-sidebar-note a:hover {
	color: #dec58b;
}

.pp-live-result-bar {
	display: flex;
	min-height: 35px;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #d8e0d7;
}

.pp-live-result-bar p {
	margin: 0 0 10px;
	color: #65776e;
	font-size: 11px;
}

.pp-live-result-bar strong {
	color: #183f38;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}

.pp-live-result-bar [data-blog-status],
.pp-live-result-bar [data-product-status] {
	min-height: 1em;
	color: #8d6a39;
	text-align: end;
}

.pp-live-blog-results {
	display: grid;
	gap: 34px;
}

.pp-live-blog-card {
	display: grid;
	grid-template-columns: minmax(220px, 0.84fr) minmax(0, 1fr);
	gap: 28px;
	padding-bottom: 32px;
	border-bottom: 1px solid #d8e0d7;
	animation: pp-live-content-in 420ms var(--pp-motion-ease) both;
}

.pp-live-blog-card-featured {
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
	gap: 0;
	padding-bottom: 40px;
}

.pp-live-blog-image {
	display: block;
	min-height: 210px;
	overflow: hidden;
	background: #e8ede6 url("/assets/media/keyword-images/packaging-design-development-concept.webp")
		center / cover no-repeat;
}

.pp-live-blog-card-featured .pp-live-blog-image {
	min-height: 390px;
}

.pp-live-blog-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 520ms var(--pp-motion-ease);
}

.pp-live-blog-card:hover .pp-live-blog-image img {
	transform: scale(1.035);
}

.pp-live-blog-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
}

.pp-live-blog-card-featured .pp-live-blog-copy {
	justify-content: center;
	padding: 38px;
	background: #133e3a;
}

.pp-live-blog-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	align-items: center;
	margin-bottom: 12px;
	color: #8d6a39;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.pp-live-blog-card-featured .pp-live-blog-meta {
	color: #d8c28e;
}

.pp-live-blog-meta time {
	color: #75857d;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.pp-live-blog-card-featured .pp-live-blog-meta time {
	color: #aebfba;
}

.pp-live-blog-card h3,
.pp-live-product-card h3 {
	margin: 0;
	color: #183f38;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 25px;
	font-weight: 400;
	line-height: 1.14;
}

.pp-live-blog .pp-live-blog-card-featured .pp-live-blog-copy h3,
.pp-live-blog .pp-live-blog-card-featured .pp-live-blog-copy h3 a {
	color: #fff9ed !important;
	font-size: clamp(32px, 3.3vw, 47px);
}

.pp-live-blog-card h3 a,
.pp-live-product-card h3 a,
.pp-live-card-link {
	color: inherit;
	text-decoration: none;
}

.pp-live-blog-card h3 a:hover,
.pp-live-product-card h3 a:hover {
	color: #0a7067;
}

.pp-live-blog-card-featured h3 a:hover {
	color: #e0cca0;
}

.pp-live-blog-card p {
	display: -webkit-box;
	max-width: 650px;
	margin: 13px 0 0;
	overflow: hidden;
	color: #60736a;
	font-size: 13px;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.pp-live-blog-card-featured p {
	color: #d8e2dc;
	font-size: 14px;
}

.pp-live-card-link {
	display: inline-flex;
	gap: 9px;
	align-items: center;
	margin-top: auto;
	padding-top: 20px;
	color: #0b695f;
	font-size: 11px;
	font-weight: 800;
}

.pp-live-blog-card-featured .pp-live-card-link {
	color: #e1cca0;
}

.pp-live-blog-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}

.pp-live-blog-list .pp-live-blog-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
	border: 1px solid #e8e8e8;
	border-radius: 20px;
	background: #f5f5f5;
}

.pp-live-blog-list .pp-live-blog-image {
	flex: 0 0 auto;
	aspect-ratio: 4 / 3;
	min-height: 0;
	margin-bottom: 0;
	border-radius: 19px 19px 0 0;
	background: #f0f0f0;
}

.pp-live-blog-list .pp-live-blog-image img {
	object-fit: contain;
	object-position: center;
}

.pp-live-blog-list .pp-live-blog-card:hover .pp-live-blog-image img {
	transform: none;
}

.pp-live-blog-list .pp-live-blog-card h3 a:hover {
	color: #171b19;
}

.pp-live-blog-list .pp-live-blog-copy {
	display: flex;
	flex: 1;
	padding: 24px 22px 28px;
}

.pp-live-blog-list .pp-live-blog-meta {
	margin-bottom: 16px;
	gap: 0;
}

.pp-live-blog-list .pp-live-blog-meta span {
	display: inline-flex;
	min-height: 24px;
	align-items: center;
	padding: 4px 8px;
	border: 1px solid #d4d4d4;
	background: #fff;
	color: #303633;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.pp-live-blog-list .pp-live-blog-meta time {
	display: none;
}

.pp-live-blog-list .pp-live-blog-card h3 {
	display: -webkit-box;
	min-height: 3.84em;
	overflow: hidden;
	color: #171b19;
	font-family: var(--pp-production-font);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.28;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.pp-live-blog-list .pp-live-blog-card p {
	display: -webkit-box;
	min-height: 6.6em;
	margin-top: 24px;
	overflow: hidden;
	color: #656b67;
	font-size: 14px;
	line-height: 1.65;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.pp-live-blog-list .pp-live-card-link {
	display: none;
}

.pp-live-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin-top: 38px;
}

.pp-live-pagination button {
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border: 1px solid #cad6ce;
	border-radius: 0;
	background: transparent;
	color: #244c44;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
}

.pp-live-pagination button:hover,
.pp-live-pagination button:focus-visible,
.pp-live-pagination button[aria-current="page"] {
	border-color: #0b685f;
	background: #0b685f;
	color: #fff;
	outline: none;
}

.pp-live-pagination button:disabled {
	cursor: default;
	opacity: 0.35;
}

.pp-page-gap {
	padding: 0 3px;
	color: #7f8f87;
}

/* Live backend product catalog */
.pp-live-catalog {
	border-top: 1px solid #d8e0d7;
	border-bottom: 1px solid #d8e0d7;
	background: #fbfaf6;
}

.pp-live-catalog-heading > div > p:not(.pp-live-eyebrow) {
	max-width: 780px;
	margin: 16px 0 0;
	color: #5b7067;
	font-size: 14px;
	line-height: 1.65;
}

.pp-live-catalog-layout {
	grid-template-columns: 245px minmax(0, 1fr);
	gap: 44px;
}

.pp-live-sidebar-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.pp-live-sidebar-heading p {
	margin: 0;
}

.pp-live-sidebar-heading button {
	padding: 0;
	border: 0;
	background: transparent;
	color: #8d6a39;
	font: 700 10px/1.2 Arial, sans-serif;
	cursor: pointer;
}

.pp-live-category-group {
	padding: 7px 0 8px;
	border-bottom: 1px solid #e2e7e1;
}

.pp-live-category-group .pp-live-filter {
	border-bottom: 0;
}

.pp-live-filter-parent > span {
	font-size: 12px;
	font-weight: 780;
}

.pp-live-subcategories {
	padding: 2px 0 5px 10px;
}

.pp-live-filter-child {
	min-height: 32px;
	padding: 5px 0;
	border-bottom: 0;
}

.pp-live-filter-child > span {
	color: #667870;
	font-size: 11px;
	font-weight: 550;
}

.pp-live-filter-child:hover,
.pp-live-filter-child.is-active {
	padding-left: 5px;
}

.pp-live-product-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.pp-live-product-card {
	display: flex;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	border: 1px solid #d9e1da;
	background: #fff;
	animation: pp-live-content-in 420ms var(--pp-motion-ease) both;
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		transform 200ms var(--pp-motion-ease);
}

.pp-live-product-card:hover {
	transform: translateY(-3px);
	border-color: #adc3b8;
	box-shadow: 0 16px 34px rgb(23 61 53 / 10%);
}

.pp-live-product-image {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-bottom: 1px solid #e3e8e2;
	background: #f4f5f1 url("/assets/media/keyword-images/premium-packaging-collection-concept.webp")
		center / 78% auto no-repeat;
}

.pp-live-product-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 480ms var(--pp-motion-ease);
}

.pp-live-product-card:hover .pp-live-product-image img {
	transform: scale(1.035);
}

.pp-live-product-image > span {
	position: absolute;
	inset: auto 10px 10px;
	padding: 8px 10px;
	background: rgb(16 59 53 / 92%);
	color: #f7f1e3;
	font-size: 10px;
	font-weight: 750;
	opacity: 0;
	transform: translateY(8px);
	transition:
		opacity 180ms ease,
		transform 180ms var(--pp-motion-ease);
}

.pp-live-product-card:hover .pp-live-product-image > span,
.pp-live-product-image:focus-visible > span {
	opacity: 1;
	transform: translateY(0);
}

.pp-live-product-copy {
	display: flex;
	flex: 1;
	min-width: 0;
	flex-direction: column;
	padding: 18px;
}

.pp-live-product-copy > p {
	margin: 0 0 8px;
	color: #8d6a39;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.pp-live-product-card h3 {
	font-size: 20px;
	line-height: 1.16;
}

.pp-live-product-copy > span {
	display: -webkit-box;
	margin-top: 11px;
	overflow: hidden;
	color: #63746c;
	font-size: 12px;
	line-height: 1.58;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.pp-live-product-copy .pp-live-card-link {
	padding-top: 17px;
}

.pp-live-load-wrap {
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

.pp-live-load-more {
	min-height: 46px;
	padding: 0 22px;
	border: 1px solid #123f38;
	border-radius: 0;
	background: transparent;
	color: #123f38;
	font: 750 11px/1 Arial, sans-serif;
	cursor: pointer;
}

.pp-live-load-more:hover,
.pp-live-load-more:focus-visible {
	background: #123f38;
	color: #fff;
	outline: none;
}

.pp-live-load-more[hidden] {
	display: none;
}

.pp-live-empty {
	grid-column: 1 / -1;
	padding: 60px 28px;
	border: 1px solid #d7e0d8;
	background: rgb(255 255 255 / 68%);
	text-align: center;
}

.pp-live-empty h3 {
	margin: 12px 0 8px;
	color: #173f38;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 29px;
	font-weight: 400;
}

.pp-live-empty > p:last-child {
	margin: 0;
	color: #687a71;
	font-size: 13px;
}

.pp-live-loading {
	pointer-events: none;
	opacity: 0.45;
}

.pp-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

@keyframes pp-live-content-in {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 1100px) {
	.pp-live-blog-layout,
	.pp-live-catalog-layout {
		grid-template-columns: 205px minmax(0, 1fr);
		gap: 30px;
	}

	.pp-live-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pp-live-blog-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.pp-live-blog,
	.pp-live-catalog {
		padding: 66px 20px 72px;
	}

	.pp-live-blog-heading,
	.pp-live-catalog-heading {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.pp-live-search {
		max-width: 540px;
	}

	.pp-live-blog-layout,
	.pp-live-catalog-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.pp-live-blog-sidebar,
	.pp-live-catalog-sidebar {
		position: static;
		max-height: none;
		padding: 0 0 18px;
		overflow: visible;
		border-bottom: 1px solid #d8e0d7;
	}

	.pp-live-blog-sidebar {
		display: grid;
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.pp-live-blog-sidebar .pp-live-sidebar-block + .pp-live-sidebar-block {
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
	}

	.pp-live-blog-sidebar .pp-live-sidebar-note {
		display: none;
	}

	.pp-live-catalog-sidebar {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 22px;
	}

	.pp-live-catalog-sidebar .pp-live-sidebar-heading,
	.pp-live-filter-all {
		grid-column: 1 / -1;
	}

	.pp-live-category-group {
		min-width: 0;
	}

	.pp-live-subcategories {
		display: none;
	}

	.pp-live-blog-card-featured {
		grid-template-columns: 1fr;
	}

	.pp-live-blog-card-featured .pp-live-blog-image {
		min-height: 340px;
	}
}

@media (max-width: 620px) {
	.pp-live-blog,
	.pp-live-catalog {
		padding: 54px 16px 62px;
	}

	.pp-live-blog-heading h2,
	.pp-live-catalog-heading h2 {
		font-size: 38px;
	}

	.pp-live-blog-sidebar {
		grid-template-columns: 1fr;
	}

	.pp-live-blog-sidebar .pp-live-sidebar-block:first-child {
		min-width: 0;
	}

	.pp-live-category-filters {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 5px;
		scrollbar-color: #aebbb2 transparent;
		scrollbar-width: thin;
	}

	.pp-live-category-filters .pp-live-filter {
		flex: 0 0 auto;
	}

	.pp-live-blog-card,
	.pp-live-blog-list {
		grid-template-columns: 1fr;
	}

	.pp-live-blog-card {
		gap: 19px;
	}

	.pp-live-blog-card-featured {
		gap: 0;
	}

	.pp-live-blog-card-featured .pp-live-blog-image {
		min-height: 250px;
	}

	.pp-live-blog-card-featured .pp-live-blog-copy {
		padding: 27px 22px;
	}

	.pp-live-blog-card-featured h3 {
		font-size: 31px;
	}

	.pp-live-blog-list {
		gap: 25px;
	}

	.pp-live-blog-list .pp-live-blog-card {
		padding-bottom: 0;
	}

	.pp-live-blog-image {
		min-height: 220px;
	}

	.pp-live-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.pp-live-product-copy {
		padding: 13px 12px 15px;
	}

	.pp-live-product-card h3 {
		font-size: 17px;
	}

	.pp-live-product-copy > span {
		display: none;
	}

	.pp-live-product-image > span {
		display: none;
	}

	.pp-live-product-copy .pp-live-card-link {
		margin-top: auto;
		padding-top: 14px;
		font-size: 10px;
	}

	.pp-live-catalog-sidebar {
		grid-template-columns: 1fr;
	}

	.pp-live-catalog-sidebar .pp-live-sidebar-heading,
	.pp-live-filter-all {
		grid-column: auto;
	}

	.pp-live-result-bar {
		align-items: flex-start;
	}

	.pp-live-result-bar [data-blog-status],
	.pp-live-result-bar [data-product-status] {
		max-width: 45%;
	}
}

@media (max-width: 390px) {
	.pp-live-product-grid {
		grid-template-columns: 1fr;
	}

	.pp-live-product-card {
		display: grid;
		grid-template-columns: 42% minmax(0, 1fr);
	}

	.pp-live-product-image {
		height: 100%;
		min-height: 165px;
		border-right: 1px solid #e3e8e2;
		border-bottom: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pp-live-blog-card,
	.pp-live-product-card {
		animation: none;
	}
}

/* Backend-driven article and product detail pages */
.pp-backend-detail-hero,
.pp-backend-product-detail,
.pp-backend-reading,
.pp-backend-product-story,
.pp-backend-detail-return {
	max-width: 1240px;
	margin: 0 auto;
	padding-right: 24px;
	padding-left: 24px;
}

.pp-backend-detail-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
	align-items: stretch;
	padding-top: 48px;
	padding-bottom: 76px;
}

.pp-backend-detail-hero figure {
	min-height: 470px;
	margin: 0;
	overflow: hidden;
	background: #e7ece6 url("/assets/media/keyword-images/packaging-design-development-concept.webp")
		center / cover no-repeat;
}

.pp-backend-detail-hero figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pp-backend-detail-hero > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 48px;
	background: #123f3a;
}

.pp-backend-detail-hero h1,
.pp-backend-product-copy h1 {
	margin: 14px 0 20px;
	color: #fff9ec;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(40px, 4.6vw, 66px);
	font-weight: 400;
	line-height: 1.03;
}

.pp-backend-detail-hero .pp-live-eyebrow {
	color: #dec58e;
}

.pp-backend-detail-summary {
	margin: 0;
	color: #d7e2dc;
	font-size: 15px;
	line-height: 1.72;
}

.pp-backend-detail-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin-top: 30px;
	padding-top: 18px;
	border-top: 1px solid rgb(255 255 255 / 18%);
	color: #b8c8c1;
	font-size: 11px;
}

.pp-backend-reading {
	display: grid;
	grid-template-columns: minmax(0, 760px) 260px;
	gap: 80px;
	align-items: start;
	padding-top: 78px;
	padding-bottom: 92px;
	border-top: 1px solid #d8e0d8;
}

.pp-backend-article-body {
	min-width: 0;
	color: #314f47;
	font-family: Arial, sans-serif;
	font-size: 16px;
	line-height: 1.82;
}

.pp-backend-article-body > :first-child {
	margin-top: 0;
}

.pp-backend-article-body h1,
.pp-backend-article-body h2,
.pp-backend-article-body h3,
.pp-backend-article-body h4 {
	margin: 1.55em 0 0.55em;
	color: #173f38;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	line-height: 1.16;
}

.pp-backend-article-body h1 {
	font-size: 42px;
}

.pp-backend-article-body h2 {
	font-size: 34px;
}

.pp-backend-article-body h3 {
	font-size: 27px;
}

.pp-backend-article-body p,
.pp-backend-article-body ul,
.pp-backend-article-body ol,
.pp-backend-article-body blockquote {
	margin: 0 0 1.25em;
}

.pp-backend-article-body a {
	color: #0a6a60;
	text-underline-offset: 3px;
}

.pp-backend-article-body img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 30px auto;
}

.pp-backend-article-body table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}

.pp-backend-article-body th,
.pp-backend-article-body td {
	padding: 10px 12px;
	border: 1px solid #d7dfd8;
	text-align: start;
	vertical-align: top;
}

.pp-backend-article-body blockquote {
	padding: 18px 24px;
	border-left: 3px solid #a2814d;
	background: #f5f2ea;
	color: #4e6059;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 22px;
}

.pp-backend-article-aside {
	position: sticky;
	top: 116px;
}

.pp-backend-article-aside .pp-live-tags span {
	padding: 7px 9px;
	border: 1px solid #ced8d0;
	color: #47645c;
	font-size: 10px;
}

/* Backend blog article: contained editorial layout with complete media. */
.pp-blog-detail-page {
	background: #fff;
	color: #183f38;
	font-family: var(--pp-production-font);
}

.pp-blog-detail-page *,
.pp-blog-detail-page *::before,
.pp-blog-detail-page *::after {
	box-sizing: border-box;
}

.pp-blog-detail-page .pp-reveal {
	opacity: 1;
	transform: none;
	filter: none;
	transition: none;
}

.pp-blog-detail-hero,
.pp-blog-detail-reading,
.pp-blog-detail-return {
	width: min(100%, 1240px);
	margin-inline: auto;
	padding-inline: 24px;
}

.pp-blog-detail-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.42fr) minmax(380px, 1fr);
	align-items: stretch;
	padding-top: 42px;
	padding-bottom: 76px;
}

.pp-blog-detail-hero-media {
	display: grid;
	min-width: 0;
	min-height: 410px;
	grid-template-rows: minmax(0, 1fr) auto;
	margin: 0;
	overflow: hidden;
	background: #111817;
}

.pp-blog-detail-hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: contain;
	object-position: center;
}

.pp-blog-detail-hero-media figcaption {
	display: flex;
	min-height: 42px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 11px 17px;
	border-top: 1px solid rgb(255 255 255 / 12%);
	background: #111817;
	color: #b7c2bd;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.pp-blog-detail-hero-media figcaption span:first-child {
	color: #dcc38d;
}

.pp-blog-detail-hero-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: 38px 40px;
	background: #123f3a;
}

.pp-blog-detail-hero-copy h1 {
	max-width: 520px;
	margin: 14px 0 18px;
	color: #fff9ec;
	font-family: var(--pp-production-font);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.08;
	overflow-wrap: anywhere;
}

.pp-blog-detail-summary {
	max-width: 500px;
	margin: 0;
	color: #d7e2dc;
	font-size: 14px;
	line-height: 1.65;
}

.pp-blog-detail-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid rgb(255 255 255 / 18%);
	color: #b8c8c1;
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.pp-blog-detail-start-reading {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	gap: 9px;
	margin-top: 22px;
	color: #fff9ec;
	font-size: 11px;
	font-weight: 750;
	text-decoration: none;
}

.pp-blog-detail-start-reading span {
	color: #dec58e;
	transition: transform 220ms var(--pp-motion-ease);
}

.pp-blog-detail-start-reading:hover span {
	transform: translateY(3px);
}

.pp-blog-detail-reading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	gap: 60px;
	align-items: start;
	padding-top: 68px;
	padding-bottom: 94px;
	border-top: 1px solid #d8e0d8;
}

.pp-blog-detail-main {
	min-width: 0;
}

.pp-blog-detail-intro {
	margin-bottom: 38px;
	padding: 24px 27px;
	border-left: 3px solid #b08a4c;
	background: #f5f4ed;
}

.pp-blog-detail-intro > p:last-child {
	margin: 10px 0 0;
	color: #405d55;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.55;
}

.pp-blog-detail-article-body {
	color: #334e47;
	font-family: var(--pp-production-font);
	font-size: 16px;
	line-height: 1.86;
}

.pp-blog-detail-article-body > :first-child {
	margin-top: 0;
}

.pp-blog-detail-article-body h2,
.pp-blog-detail-article-body h3,
.pp-blog-detail-article-body h4 {
	margin: 1.55em 0 0.6em;
	color: #153d36;
	font-family: var(--pp-production-font);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	scroll-margin-top: 140px;
}

.pp-blog-detail-article-body h2 {
	padding-top: 0.16em;
	font-size: 34px;
}

.pp-blog-detail-article-body h3 {
	font-size: 26px;
}

.pp-blog-detail-article-body h4 {
	font-size: 21px;
}

.pp-blog-detail-article-body p,
.pp-blog-detail-article-body ul,
.pp-blog-detail-article-body ol,
.pp-blog-detail-article-body blockquote {
	margin: 0 0 1.25em;
}

.pp-blog-detail-article-body ul,
.pp-blog-detail-article-body ol {
	padding-left: 1.35em;
}

.pp-blog-detail-article-body a {
	color: #0a665d;
	text-underline-offset: 3px;
}

.pp-blog-detail-article-body img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 30px auto;
}

.pp-blog-detail-article-body figure {
	margin: 34px 0;
	padding: 12px;
	border: 1px solid #dce3dc;
	background: #f6f7f3;
}

.pp-blog-detail-article-body figure img {
	width: 100%;
	margin: 0;
	object-fit: contain;
}

.pp-blog-detail-article-body figcaption {
	padding: 11px 3px 1px;
	color: #697a73;
	font-size: 12px;
	line-height: 1.5;
}

.pp-blog-detail-article-body table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
	font-size: 14px;
}

.pp-blog-detail-article-body th,
.pp-blog-detail-article-body td {
	min-width: 120px;
	padding: 11px 13px;
	border: 1px solid #d7dfd8;
	text-align: start;
	vertical-align: top;
}

.pp-blog-detail-article-body th {
	background: #edf2ec;
	color: #183f38;
	font-size: 12px;
}

.pp-blog-detail-article-body blockquote {
	padding: 20px 24px;
	border-left: 3px solid #a2814d;
	background: #f5f2ea;
	color: #465d55;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.5;
}

.pp-blog-detail-sidebar {
	position: sticky;
	top: 112px;
	max-height: calc(100vh - 134px);
	overflow-x: hidden;
	overflow-y: auto;
	padding-right: 7px;
	scrollbar-color: #aebbb2 transparent;
	scrollbar-width: thin;
}

.pp-blog-detail-side-card {
	padding: 21px 20px;
	border: 1px solid #d8e0d8;
	background: #f8f8f4;
	transition:
		border-color 180ms ease,
		background-color 180ms ease;
}

.pp-blog-detail-side-card + .pp-blog-detail-side-card {
	margin-top: 15px;
}

.pp-blog-detail-side-card:hover {
	border-color: #b7c8be;
}

.pp-blog-detail-side-title,
.pp-blog-detail-side-heading {
	margin: 0;
	color: #677a72;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.pp-blog-detail-side-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.pp-blog-detail-page .pp-blog-detail-toc {
	display: block;
}

.pp-blog-detail-side-heading a {
	color: #0b665d;
	font-size: 9px;
	letter-spacing: 0.06em;
	text-decoration: none;
}

.pp-blog-detail-toc > div,
.pp-blog-detail-category-links {
	display: grid;
	margin-top: 14px;
	border-top: 1px solid #dce3dc;
}

.pp-blog-detail-toc a,
.pp-blog-detail-category-links a {
	display: grid;
	min-width: 0;
	align-items: center;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid #e2e7e2;
	color: #3e5a53;
	font-size: 11px;
	line-height: 1.4;
	text-decoration: none;
	transition:
		padding 160ms ease,
		color 160ms ease,
		background-color 160ms ease;
}

.pp-blog-detail-toc a {
	grid-template-columns: 4px minmax(0, 1fr);
}

.pp-blog-detail-toc a::before {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #b6c3bb;
	content: "";
}

.pp-blog-detail-toc a.is-subsection {
	padding-left: 14px;
	font-size: 10px;
}

.pp-blog-detail-toc a:hover,
.pp-blog-detail-toc a:focus-visible,
.pp-blog-detail-toc a.is-active {
	padding-left: 7px;
	color: #0b665d;
	outline: none;
}

.pp-blog-detail-toc a:hover::before,
.pp-blog-detail-toc a:focus-visible::before,
.pp-blog-detail-toc a.is-active::before {
	background: #b08a4c;
}

.pp-blog-detail-category-links a {
	grid-template-columns: minmax(0, 1fr) auto;
}

.pp-blog-detail-category-links a small {
	color: #819088;
	font-size: 9px;
	font-variant-numeric: tabular-nums;
}

.pp-blog-detail-category-links a:hover,
.pp-blog-detail-category-links a:focus-visible,
.pp-blog-detail-category-links a.is-current {
	padding-left: 7px;
	color: #0b665d;
	outline: none;
}

.pp-blog-detail-category-links a.is-current {
	font-weight: 750;
}

.pp-blog-detail-tag-links {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 14px;
}

.pp-blog-detail-tag-links a {
	display: inline-flex;
	min-height: 29px;
	align-items: center;
	padding: 5px 8px;
	border: 1px solid #ced8d0;
	color: #466159;
	font-size: 10px;
	line-height: 1.3;
	text-decoration: none;
	transition:
		border-color 160ms ease,
		background-color 160ms ease,
		color 160ms ease;
}

.pp-blog-detail-tag-links a:hover,
.pp-blog-detail-tag-links a:focus-visible,
.pp-blog-detail-tag-links a.is-current {
	border-color: #0b665d;
	background: #0b665d;
	color: #fff;
	outline: none;
}

.pp-blog-detail-recent {
	display: grid;
	gap: 0;
	margin: 13px 0 0;
	padding: 0;
	list-style: none;
}

.pp-blog-detail-recent li + li {
	border-top: 1px solid #e0e5e0;
}

.pp-blog-detail-recent a {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	gap: 11px;
	align-items: center;
	padding: 11px 0;
	color: #274840;
	text-decoration: none;
}

.pp-blog-detail-recent img {
	display: block;
	width: 68px;
	height: 51px;
	border: 1px solid #d9e0da;
	background: #e9ede8;
	object-fit: contain;
}

.pp-blog-detail-recent span {
	display: grid;
	min-width: 0;
	gap: 6px;
}

.pp-blog-detail-recent strong {
	display: -webkit-box;
	overflow: hidden;
	font-size: 11px;
	font-weight: 650;
	line-height: 1.4;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.pp-blog-detail-recent small {
	color: #7b8b84;
	font-size: 9px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.pp-blog-detail-recent a:hover strong {
	color: #0b665d;
}

.pp-blog-detail-empty {
	margin: 12px 0 0;
	color: #71827a;
	font-size: 11px;
	line-height: 1.5;
}

.pp-blog-detail-enquiry {
	border-color: #123f3a;
	background: #123f3a;
	color: #f2ede0;
}

.pp-blog-detail-enquiry:hover {
	border-color: #123f3a;
}

.pp-blog-detail-enquiry .pp-live-eyebrow {
	color: #d7c18c;
}

.pp-blog-detail-enquiry strong {
	display: block;
	margin: 12px 0 10px;
	font-size: 20px;
	font-weight: 650;
	line-height: 1.32;
}

.pp-blog-detail-enquiry p:not(.pp-live-eyebrow) {
	margin: 0 0 18px;
	color: #c9d6d0;
	font-size: 11px;
	line-height: 1.6;
}

.pp-blog-detail-enquiry > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff9ec;
	font-size: 10px;
	font-weight: 800;
	text-decoration: none;
}

.pp-blog-detail-enquiry > a:hover {
	color: #dec58b;
}

.pp-blog-detail-return {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 24px;
	padding-bottom: 64px;
	border-top: 1px solid #d8e0d8;
}

.pp-blog-detail-return a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #0b665d;
	font-size: 11px;
	font-weight: 750;
	text-decoration: none;
}

.pp-blog-detail-return a:hover {
	color: #9a7439;
}

@media (max-width: 1050px) {
	.pp-blog-detail-hero {
		grid-template-columns: minmax(0, 1.3fr) minmax(340px, 1fr);
	}

	.pp-blog-detail-hero-copy {
		padding: 32px;
	}

	.pp-blog-detail-hero-copy h1 {
		font-size: 37px;
	}

	.pp-blog-detail-reading {
		grid-template-columns: minmax(0, 1fr) 280px;
		gap: 34px;
	}
}

@media (max-width: 860px) {
	.pp-blog-detail-hero {
		grid-template-columns: 1fr;
		padding-top: 28px;
		padding-bottom: 58px;
	}

	.pp-blog-detail-hero-media {
		min-height: 0;
		aspect-ratio: 1200 / 628;
		grid-template-rows: minmax(0, 1fr) auto;
	}

	.pp-blog-detail-hero-copy {
		padding: 32px;
	}

	.pp-blog-detail-hero-copy h1 {
		max-width: 680px;
		font-size: 38px;
	}

	.pp-blog-detail-reading {
		grid-template-columns: 1fr;
		gap: 46px;
		padding-top: 54px;
		padding-bottom: 70px;
	}

	.pp-blog-detail-sidebar {
		position: static;
		display: grid;
		max-height: none;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 15px;
		overflow: visible;
		padding-right: 0;
	}

	.pp-blog-detail-side-card + .pp-blog-detail-side-card {
		margin-top: 0;
	}

	.pp-blog-detail-toc {
		grid-row: span 2;
	}
}

@media (max-width: 620px) {
	.pp-blog-detail-hero,
	.pp-blog-detail-reading,
	.pp-blog-detail-return {
		padding-right: 16px;
		padding-left: 16px;
	}

	.pp-blog-detail-hero {
		padding-top: 18px;
		padding-bottom: 46px;
	}

	.pp-blog-detail-hero-media {
		aspect-ratio: auto;
		grid-template-rows: auto auto;
	}

	.pp-blog-detail-hero-media img {
		height: auto;
		aspect-ratio: 1200 / 628;
	}

	.pp-blog-detail-hero-media figcaption {
		min-height: 38px;
		padding: 9px 12px;
		font-size: 8px;
	}

	.pp-blog-detail-hero-copy {
		padding: 27px 22px 29px;
	}

	.pp-blog-detail-hero-copy h1 {
		margin-top: 11px;
		font-size: 31px;
		line-height: 1.12;
	}

	.pp-blog-detail-summary {
		font-size: 13px;
	}

	.pp-blog-detail-reading {
		gap: 38px;
		padding-top: 43px;
		padding-bottom: 55px;
	}

	.pp-blog-detail-intro {
		margin-bottom: 29px;
		padding: 19px 19px;
	}

	.pp-blog-detail-intro > p:last-child {
		font-size: 16px;
	}

	.pp-blog-detail-article-body {
		font-size: 15px;
		line-height: 1.8;
	}

	.pp-blog-detail-article-body h2 {
		font-size: 28px;
	}

	.pp-blog-detail-article-body h3 {
		font-size: 23px;
	}

	.pp-blog-detail-article-body figure {
		margin-right: -5px;
		margin-left: -5px;
		padding: 7px;
	}

	.pp-blog-detail-sidebar {
		grid-template-columns: 1fr;
	}

	.pp-blog-detail-toc {
		grid-row: auto;
	}

	.pp-blog-detail-return {
		align-items: flex-start;
		flex-direction: column;
		padding-bottom: 48px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pp-blog-detail-start-reading span,
	.pp-blog-detail-toc a,
	.pp-blog-detail-category-links a,
	.pp-blog-detail-tag-links a,
	.pp-blog-detail-side-card {
		transition: none;
	}
}

.pp-backend-product-detail {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
	gap: 64px;
	padding-top: 48px;
	padding-bottom: 76px;
}

.pp-backend-product-gallery {
	min-width: 0;
}

.pp-backend-product-gallery > figure {
	aspect-ratio: 1 / 1;
	margin: 0;
	overflow: hidden;
	border: 1px solid #d7e0d8;
	background: #f7f7f3 url("/assets/media/keyword-images/premium-packaging-collection-concept.webp")
		center / 72% auto no-repeat;
}

.pp-backend-product-gallery > figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pp-backend-product-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 82px);
	gap: 10px;
	margin-top: 12px;
}

.pp-backend-product-thumbs button {
	aspect-ratio: 1 / 1;
	padding: 0;
	overflow: hidden;
	border: 1px solid #d1dbd3;
	border-radius: 0;
	background: #f7f7f3;
	cursor: pointer;
}

.pp-backend-product-thumbs button:hover,
.pp-backend-product-thumbs button:focus-visible,
.pp-backend-product-thumbs button.is-active {
	border-color: #0b685f;
	outline: none;
}

.pp-backend-product-thumbs img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pp-backend-product-copy {
	align-self: center;
	padding: 28px 0;
}

.pp-backend-product-copy h1 {
	margin-top: 12px;
	color: #173f38;
	font-size: clamp(40px, 4vw, 60px);
}

.pp-backend-product-copy .pp-backend-detail-summary {
	color: #5b6f67;
	font-size: 16px;
}

.pp-backend-product-facts {
	margin: 30px 0 0;
	border-top: 1px solid #d5ded6;
}

.pp-backend-product-facts > div {
	display: grid;
	grid-template-columns: 145px minmax(0, 1fr);
	gap: 18px;
	padding: 12px 0;
	border-bottom: 1px solid #e0e6e0;
}

.pp-backend-product-facts dt {
	color: #7b8a82;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.pp-backend-product-facts dd {
	margin: 0;
	color: #2f5048;
	font-size: 13px;
}

.pp-backend-product-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	align-items: center;
	margin-top: 32px;
}

.pp-backend-product-actions a {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	padding: 0 18px;
	border: 1px solid #123f38;
	color: #123f38;
	font-size: 11px;
	font-weight: 800;
	text-decoration: none;
}

.pp-backend-product-actions a:first-child {
	background: #123f38;
	color: #fff8e9;
}

.pp-backend-product-actions a:hover,
.pp-backend-product-actions a:focus-visible {
	border-color: #a17d44;
	background: #a17d44;
	color: #fff;
	outline: none;
}

.pp-backend-product-story {
	display: grid;
	grid-template-columns: 330px minmax(0, 1fr);
	gap: 70px;
	padding-top: 70px;
	padding-bottom: 86px;
	border-top: 1px solid #d8e0d8;
}

.pp-backend-product-story h2 {
	margin: 12px 0 0;
	color: #173f38;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 38px;
	font-weight: 400;
	line-height: 1.1;
}

.pp-backend-product-description {
	color: #405e55;
	font-size: 15px;
	line-height: 1.82;
}

.pp-backend-product-description p {
	margin: 0 0 1em;
}

.pp-backend-detail-return {
	padding-top: 0;
	padding-bottom: 84px;
}

.pp-backend-detail-return a {
	color: #0b665d;
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
}

.pp-backend-detail-return a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

@media (max-width: 900px) {
	.pp-backend-detail-hero,
	.pp-backend-product-detail {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.pp-backend-detail-hero figure {
		min-height: 390px;
	}

	.pp-backend-detail-hero > div {
		padding: 38px 32px;
	}

	.pp-backend-reading {
		grid-template-columns: minmax(0, 1fr) 220px;
		gap: 40px;
	}

	.pp-backend-product-detail {
		gap: 38px;
	}

	.pp-backend-product-copy {
		padding: 0;
	}

	.pp-backend-product-story {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

@media (max-width: 650px) {
	.pp-backend-detail-hero,
	.pp-backend-product-detail,
	.pp-backend-reading,
	.pp-backend-product-story,
	.pp-backend-detail-return {
		padding-right: 16px;
		padding-left: 16px;
	}

	.pp-backend-detail-hero {
		padding-top: 28px;
		padding-bottom: 54px;
	}

	.pp-backend-detail-hero figure {
		min-height: 250px;
	}

	.pp-backend-detail-hero > div {
		padding: 27px 22px;
	}

	.pp-backend-detail-hero h1,
	.pp-backend-product-copy h1 {
		font-size: 38px;
	}

	.pp-backend-reading {
		grid-template-columns: 1fr;
		padding-top: 52px;
		padding-bottom: 62px;
	}

	.pp-backend-article-body {
		font-size: 15px;
		line-height: 1.75;
	}

	.pp-backend-article-body h2 {
		font-size: 29px;
	}

	.pp-backend-article-body h3 {
		font-size: 24px;
	}

	.pp-backend-article-aside {
		position: static;
	}

	.pp-backend-product-detail {
		padding-top: 28px;
		padding-bottom: 52px;
	}

	.pp-backend-product-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.pp-backend-product-facts > div {
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 12px;
	}

	.pp-backend-product-story {
		padding-top: 52px;
		padding-bottom: 60px;
	}

	.pp-backend-product-story h2 {
		font-size: 32px;
	}

	.pp-backend-detail-return {
		padding-bottom: 58px;
	}
}

/* Production product-detail layout driven by the live product catalogue. */
.pp-production-product {
	--pp-product-blue: #42558f;
	--pp-product-ink: #171c24;
	--pp-product-copy: #505968;
	--pp-product-line: #dfe4eb;
	--pp-product-soft: #f4f7fa;
	background: #fff;
	color: var(--pp-product-ink);
	font-family: var(--pp-production-font);
}

.pp-production-product *,
.pp-production-product *::before,
.pp-production-product *::after {
	box-sizing: border-box;
}

.pp-production-product__hero {
	background: #fff;
}

.pp-production-product__hero-inner {
	width: min(100%, 1560px);
	margin: 0 auto;
	padding: 48px var(--pp-layout-gutter) 88px;
}

.pp-production-product__heading {
	grid-area: heading;
}

.pp-production-product__heading > p {
	margin: 0 0 12px;
	color: #738092;
	font-size: 11px;
	font-weight: 750;
	line-height: 1.4;
	text-transform: uppercase;
}

.pp-production-product__heading h1 {
	max-width: 760px;
	margin: 0;
	color: var(--pp-product-ink);
	font-family: var(--pp-production-font);
	font-size: 40px;
	font-weight: 700;
	line-height: 1.18;
}

.pp-production-product__intro {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-areas:
		"gallery heading"
		"gallery copy";
	gap: 52px;
	row-gap: 22px;
	align-items: start;
	margin-top: 0;
}

.pp-production-product__gallery {
	grid-area: gallery;
	min-width: 0;
}

.pp-production-product .pp-production-product__gallery > figure {
	aspect-ratio: 1 / 1;
	margin: 0;
	border: 1px solid #e4e4e4;
	background: #fff;
}

.pp-production-product .pp-production-product__gallery > figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: scale 500ms var(--pp-motion-ease);
}

.pp-production-product .pp-production-product__gallery > figure:hover img {
	scale: 1.035;
}

.pp-production-product .pp-backend-product-thumbs {
	grid-template-columns: repeat(5, 76px);
	gap: 9px;
	margin-top: 10px;
}

.pp-production-product .pp-backend-product-thumbs button {
	border-color: #d8dde5;
	background: #fff;
}

.pp-production-product .pp-backend-product-thumbs button.is-active {
	border-color: var(--pp-product-blue);
	box-shadow: 0 0 0 1px var(--pp-product-blue);
}

.pp-production-product__copy {
	grid-area: copy;
	padding-top: 0;
}

.pp-production-product__feature {
	color: var(--pp-product-copy);
	font-size: 14px;
	line-height: 1.72;
}

.pp-production-product__feature p {
	margin: 0 0 13px;
}

.pp-production-product__feature p:first-child {
	color: var(--pp-product-ink);
	font-size: 19px;
	font-weight: 650;
	line-height: 1.55;
}

.pp-production-product__feature strong {
	color: var(--pp-product-ink);
}

.pp-production-product__moq {
	margin: 20px 0 18px;
	padding: 17px 20px;
	border-left: 4px solid var(--pp-product-blue);
	background: #f1f3f7;
}

.pp-production-product__moq strong {
	display: block;
	color: var(--pp-product-ink);
	font-size: 16px;
}

.pp-production-product__moq p {
	margin: 6px 0 0;
	color: #626c7a;
	font-size: 12px;
	line-height: 1.55;
}

.pp-production-product__custom {
	padding: 18px 20px 17px;
	background: #1769a9;
	color: #fff;
}

.pp-production-product__custom > strong {
	display: block;
	font-size: 16px;
}

.pp-production-product__custom > p {
	margin: 5px 0 14px;
	color: #d9ecfb;
	font-size: 12px;
	line-height: 1.5;
}

.pp-production-product__custom ul {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pp-production-product__custom li {
	padding: 9px 4px;
	border: 1px solid rgb(255 255 255 / 34%);
	font-size: 10px;
	font-weight: 700;
	text-align: center;
}

.pp-production-product__why {
	margin-top: 14px;
	border: 1px solid #d9dfe7;
	background: #fff;
}

.pp-production-product__why summary {
	position: relative;
	padding: 15px 44px 15px 18px;
	color: var(--pp-product-ink);
	font-size: 16px;
	font-weight: 750;
	cursor: pointer;
	list-style: none;
}

.pp-production-product__why summary::-webkit-details-marker {
	display: none;
}

.pp-production-product__why summary::after {
	position: absolute;
	top: 50%;
	right: 18px;
	width: 10px;
	height: 10px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	content: "";
	transform: translateY(-70%) rotate(45deg);
	transition: transform 180ms ease;
}

.pp-production-product__why[open] summary::after {
	transform: translateY(-25%) rotate(225deg);
}

.pp-production-product__why p {
	margin: 0;
	padding: 0 18px 17px;
	color: var(--pp-product-copy);
	font-size: 13px;
	line-height: 1.65;
}

.pp-production-product__actions,
.pp-production-product__closing > div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.pp-production-product__actions a,
.pp-production-product__closing a {
	display: inline-flex;
	min-height: 48px;
	flex: 1 1 160px;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	border: 1px solid #0ab4f2;
	background: #0ab4f2;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		transform 180ms var(--pp-motion-ease);
}

.pp-production-product__actions a + a,
.pp-production-product__closing a + a {
	border-color: var(--pp-product-blue);
	background: var(--pp-product-blue);
	color: #fff;
}

.pp-production-product__actions a:hover,
.pp-production-product__actions a:focus-visible,
.pp-production-product__closing a:hover,
.pp-production-product__closing a:focus-visible {
	border-color: #087eab;
	background: #087eab;
	color: #fff;
	outline: none;
	transform: translateY(-1px);
}

.pp-production-product__actions a + a:hover,
.pp-production-product__actions a + a:focus-visible,
.pp-production-product__closing a + a:hover,
.pp-production-product__closing a + a:focus-visible {
	border-color: #293a67;
	background: #293a67;
	color: #fff;
}

.pp-production-product__anchor-nav {
	display: flex;
	width: min(calc(100% - (var(--pp-layout-gutter) * 2)), 1220px);
	margin: 0 auto;
	background: #1b61a5;
}

.pp-production-product__anchor-nav a {
	display: inline-flex;
	min-height: 51px;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	padding: 10px 16px;
	border-right: 1px solid rgb(255 255 255 / 25%);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: background-color 160ms ease;
}

.pp-production-product__anchor-nav a:last-child {
	border-right: 0;
}

.pp-production-product__anchor-nav a:hover,
.pp-production-product__anchor-nav a:focus-visible {
	background: #124a80;
	color: #fff;
	outline: none;
}

.pp-production-product__section {
	width: min(calc(100% - (var(--pp-layout-gutter) * 2)), 1220px);
	margin: 0 auto;
	padding: 88px 0;
	scroll-margin-top: 105px;
}

.pp-production-product__section + .pp-production-product__section {
	border-top: 1px solid var(--pp-product-line);
}

.pp-production-product__section-heading {
	margin-bottom: 38px;
}

.pp-production-product__section-heading > p,
.pp-production-product__closing > p {
	margin: 0 0 9px;
	color: #748094;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.pp-production-product__section-heading h2 {
	max-width: 900px;
	margin: 0;
	color: var(--pp-product-ink);
	font-family: var(--pp-production-font);
	font-size: 31px;
	font-weight: 700;
	line-height: 1.25;
}

.pp-production-product__section-heading--center {
	max-width: 880px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.pp-production-product__section-heading--center h2 {
	margin-right: auto;
	margin-left: auto;
}

.pp-production-product__section-heading--center h2::after {
	display: block;
	width: 60px;
	height: 3px;
	margin: 20px auto 0;
	background: #ffc928;
	content: "";
}

.pp-production-product__section-heading h2 span {
	font-size: 0.72em;
	font-weight: 500;
}

.pp-production-product__spec-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 90px;
}

.pp-production-product__spec-grid > div {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid #eef1f4;
}

.pp-production-product__spec-grid > div > span {
	display: grid;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	place-items: center;
	color: #f4bd00;
}

.pp-production-product__spec-grid svg,
.pp-production-product__service-group svg {
	width: 100%;
	height: 100%;
}

.pp-production-product__spec-grid p {
	margin: 0;
	color: #303845;
	font-size: 15px;
	line-height: 1.45;
}

.pp-production-product__spec-grid strong {
	color: var(--pp-product-ink);
	font-weight: 750;
}

.pp-production-product__services {
	width: 100%;
	max-width: none;
	padding-right: max(var(--pp-layout-gutter), calc((100% - 1220px) / 2));
	padding-left: max(var(--pp-layout-gutter), calc((100% - 1220px) / 2));
	background: var(--pp-product-soft);
}

.pp-production-product__service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px;
}

.pp-production-product__service-group h3 {
	margin: 0 0 28px;
	color: var(--pp-product-ink);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
}

.pp-production-product__service-group > div {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	margin: 0 0 25px;
}

.pp-production-product__service-group > div > span {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 50%;
	background: #2463e8;
	color: #fff;
}

.pp-production-product__service-group strong {
	display: block;
	margin: 0 0 5px;
	color: var(--pp-product-ink);
	font-size: 17px;
	font-weight: 750;
	line-height: 1.35;
}

.pp-production-product__service-group p {
	margin: 0;
	color: var(--pp-product-copy);
	font-size: 13px;
	line-height: 1.62;
}

.pp-production-product__overview {
	max-width: 1040px;
	color: #3e4858;
	font-size: 15px;
	line-height: 1.82;
}

.pp-production-product__overview p {
	margin: 0 0 1.1em;
}

.pp-production-product__partners {
	width: 100%;
	max-width: none;
	padding-right: max(var(--pp-layout-gutter), calc((100% - 1220px) / 2));
	padding-left: max(var(--pp-layout-gutter), calc((100% - 1220px) / 2));
	background: #162b29;
}

.pp-production-product__partners .pp-production-product__section-heading > p {
	color: #b9c9c3;
}

.pp-production-product__partners .pp-production-product__section-heading h2 {
	color: #fff;
}

.pp-production-product__partner-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: rgb(255 255 255 / 17%);
}

.pp-production-product__partner-grid > div {
	min-height: 240px;
	padding: 34px 32px;
	background: #162b29;
	color: #fff;
}

.pp-production-product__partner-grid span {
	color: #ffc928;
	font-size: 12px;
	font-weight: 800;
}

.pp-production-product__partner-grid h3 {
	margin: 36px 0 16px;
	color: #fff !important;
	font-size: 23px;
	font-weight: 650;
	line-height: 1.3;
}

.pp-production-product__partner-grid p {
	margin: 0;
	color: #c3d0cb;
	font-size: 13px;
	line-height: 1.65;
}

.pp-production-product__faq-list {
	max-width: 1020px;
	border-top: 1px solid var(--pp-product-line);
}

.pp-production-product__faq details {
	border-bottom: 1px solid var(--pp-product-line);
}

.pp-production-product__faq summary {
	position: relative;
	padding: 21px 54px 21px 0;
	color: var(--pp-product-ink);
	font-size: 17px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.pp-production-product__faq summary::-webkit-details-marker {
	display: none;
}

.pp-production-product__faq summary::before,
.pp-production-product__faq summary::after {
	position: absolute;
	top: 50%;
	right: 8px;
	width: 17px;
	height: 1.5px;
	background: var(--pp-product-blue);
	content: "";
	transition: transform 180ms ease;
}

.pp-production-product__faq summary::after {
	transform: rotate(90deg);
}

.pp-production-product__faq details[open] summary::after {
	transform: rotate(0);
}

.pp-production-product__faq details p {
	max-width: 900px;
	margin: -5px 0 0;
	padding: 0 54px 22px 0;
	color: var(--pp-product-copy);
	font-size: 14px;
	line-height: 1.72;
}

.pp-production-product__closing {
	padding: 70px max(var(--pp-layout-gutter), calc((100% - 1220px) / 2));
	background: var(--pp-product-blue);
	color: #fff;
}

.pp-production-product__closing > p {
	color: #dae5ff;
}

.pp-production-product__closing h2 {
	max-width: 800px;
	margin: 0;
	color: #fff !important;
	font-family: var(--pp-production-font);
	font-size: 34px;
	font-weight: 650;
	line-height: 1.3;
}

.pp-production-product__closing > div {
	max-width: 470px;
}

.pp-production-product__closing a + a {
	border-color: #fff;
	background: transparent;
	color: #fff;
}

@media (max-width: 1020px) {
	.pp-production-product__hero-inner {
		padding-top: 40px;
	}

	.pp-production-product__heading h1 {
		font-size: 34px;
	}

	.pp-production-product__intro {
		gap: 32px;
		row-gap: 20px;
	}

	.pp-production-product__service-grid {
		gap: 30px;
	}

	.pp-production-product__service-group h3 {
		font-size: 21px;
	}

	.pp-production-product__spec-grid {
		column-gap: 42px;
	}
}

@media (max-width: 760px) {
	.pp-production-product__hero-inner {
		padding-right: 18px;
		padding-top: 30px;
		padding-bottom: 58px;
		padding-left: 18px;
	}

	.pp-production-product__heading > p {
		margin-bottom: 10px;
		font-size: 9px;
	}

	.pp-production-product__heading h1 {
		font-size: 28px;
		line-height: 1.22;
	}

	.pp-production-product__intro {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"heading"
			"gallery"
			"copy";
		gap: 34px;
		row-gap: 24px;
	}

	.pp-production-product .pp-production-product__gallery > figure {
		max-width: 520px;
		margin: 0 auto;
	}

	.pp-production-product__copy {
		padding-top: 0;
	}

	.pp-production-product__feature p:first-child {
		font-size: 17px;
	}

	.pp-production-product__custom ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pp-production-product__anchor-nav {
		width: 100%;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.pp-production-product__anchor-nav::-webkit-scrollbar {
		display: none;
	}

	.pp-production-product__anchor-nav a {
		min-width: 138px;
		flex: 0 0 auto;
	}

	.pp-production-product__section {
		width: 100%;
		padding: 64px 18px;
		scroll-margin-top: 80px;
	}

	.pp-production-product__section-heading {
		margin-bottom: 28px;
	}

	.pp-production-product__section-heading h2 {
		font-size: 26px;
	}

	.pp-production-product__spec-grid,
	.pp-production-product__service-grid,
	.pp-production-product__partner-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.pp-production-product__spec-grid {
		column-gap: 0;
	}

	.pp-production-product__services,
	.pp-production-product__partners {
		width: 100%;
		padding-right: 18px;
		padding-left: 18px;
	}

	.pp-production-product__service-grid {
		gap: 42px;
	}

	.pp-production-product__partner-grid {
		gap: 1px;
	}

	.pp-production-product__partner-grid > div {
		min-height: 0;
		padding: 28px 24px;
	}

	.pp-production-product__partner-grid h3 {
		margin-top: 20px;
	}

	.pp-production-product__faq summary {
		padding: 18px 42px 18px 0;
		font-size: 15px;
	}

	.pp-production-product__faq details p {
		padding-right: 30px;
		font-size: 13px;
	}

	.pp-production-product__closing {
		padding: 54px 18px;
	}

	.pp-production-product__closing h2 {
		font-size: 28px;
	}
}

@media (max-width: 430px) {
	.pp-production-product__actions,
	.pp-production-product__closing > div {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.pp-production-product__actions a,
	.pp-production-product__closing a {
		width: 100%;
	}

	.pp-production-product__custom {
		padding-right: 15px;
		padding-left: 15px;
	}
}

/* Keep standard content on the same visual grid as the unified header.
   Full-bleed backgrounds remain full width; only their content is inset. */
:where(
	.pp-inner-hero,
	.application-hero,
	.application-section,
	.application-cta,
	.framework-hub-hero,
	.keyword-reinforcement,
	.pp-breadcrumbs,
	.pt-about,
	.pt-roles,
	.pt-customers,
	.pp-geo-authority,
	.pp-geo-verification,
	.content-section,
	.rfq-section,
	.pp-one-stop,
	.pp-home-decision-wrap,
	.pt-customers,
	.page-specific-faq,
	.hub-directory,
	.section.soft,
	.pp-arch-section,
	.pp-real-factory-section,
	.pp-history,
	.corporate-scale,
	.pp-real-connections,
	.pp-live-blog,
	.pp-topic-hero,
	.pp-topic-section,
	.pp-review-related,
	.pp-customer-evidence,
	.paupack-blog-route,
	.pp-brand-details,
	.corporate-hero,
	.real-project-visual,
	.corporate-overview,
	.corporate-network,
	.corporate-proof,
	.simple-contact-layout,
	.contact-next-steps,
	.framework-footer .framework-footer-links,
	.framework-footer .footer-bottom,
	.home-footer .footer-grid,
	.home-footer .footer-bottom
) {
	padding-inline: max(
		var(--pp-layout-gutter),
		calc((100% - var(--pp-layout-max)) / 2 + var(--pp-layout-gutter))
	) !important;
}

:where(
	.pdf-home.home-premium-v2 .hero-customer-value .hero-inner,
	.pp-live-catalog,
	.pp-live-blog,
	.pp-one-stop-layout,
	.pp-home-decision-wrap > *,
	.pp-customer-connections,
	.pp-contact-strip,
	.pp-about-documents,
	.pp-live-catalog,
	.paupack-blog-feature,
	.paupack-blog-index,
	.paupack-related-articles,
	.paupack-article-intro,
	.paupack-reading-layout,
	.final-cta,
	.pp-legal-page,
	.pp-backend-detail-hero,
	.pp-backend-product-detail,
	.pp-backend-reading,
	.pp-backend-product-story,
	.pp-backend-detail-return,
	.framework-footer .framework-footer-links,
	.framework-footer .footer-bottom,
	.home-footer .footer-grid,
	.home-footer .footer-bottom
) {
	width: min(100%, var(--pp-layout-max)) !important;
	max-width: var(--pp-layout-max) !important;
	margin-inline: auto !important;
	padding-inline: var(--pp-layout-gutter) !important;
}

.pdf-home.home-premium-v2 .hero-customer-value .hero-inner,
.pp-live-catalog,
.pp-live-blog,
.paupack-blog-feature,
.paupack-blog-index,
.paupack-related-articles,
.paupack-article-intro,
.paupack-reading-layout,
.final-cta {
	box-sizing: border-box;
}

@media (max-width: 1100px) {
	:root {
		--pp-layout-gutter: 24px;
	}
}

.framework-footer > .framework-footer-links,
.framework-footer > .footer-bottom,
.home-footer > .footer-grid,
.home-footer > .footer-bottom {
	padding-inline: var(--pp-layout-gutter) !important;
}

@media (max-width: 680px) {
	.pp-floating-contact {
		right: 18px;
		bottom: 20px;
		width: 46px;
		height: 113px;
	}

	.pp-floating-contact__avatar {
		display: none;
	}

	.pp-floating-contact__whatsapp {
		top: 0;
		width: 46px;
		height: 46px;
	}

	.pp-floating-contact__top {
		right: 1px;
		width: 44px;
		height: 44px;
	}

	:root {
		--pp-layout-gutter: 12px;
	}
}

